From b14d6de7aa63f8bc5957cacc53b57d7ff7ac51f6 Mon Sep 17 00:00:00 2001 From: matthieu Date: Sat, 24 Nov 2007 17:55:21 +0000 Subject: [PATCH] xserver 1.4 --- xserver/COPYING | 2717 +- xserver/ChangeLog | 28152 ++++++++++++++++ xserver/GL/Makefile.am | 12 +- xserver/GL/apple/Makefile.am | 15 + xserver/GL/apple/Makefile.in | 681 + xserver/GL/glx/Makefile.am | 5 +- xserver/GL/glx/glxbyteorder.h | 61 + xserver/GL/glx/glxcmds.c | 106 +- xserver/GL/glx/glxcontext.h | 3 - xserver/GL/glx/glxdrawable.h | 10 + xserver/GL/glx/glxdri.c | 308 +- xserver/GL/glx/glxext.c | 44 +- xserver/GL/glx/glxext.h | 5 +- xserver/GL/glx/glxglcore.c | 414 + xserver/GL/glx/glxscreens.h | 3 - xserver/GL/glx/glxserver.h | 10 +- xserver/GL/glx/glxutil.h | 2 - xserver/GL/glx/indirect_dispatch.c | 1 + xserver/GL/glx/indirect_dispatch.h | 4 +- xserver/GL/glx/indirect_dispatch_swap.c | 14 +- xserver/GL/glx/indirect_program.c | 15 +- xserver/GL/glx/indirect_reqsize.c | 764 +- xserver/GL/glx/indirect_reqsize.h | 18 +- xserver/GL/glx/indirect_size_get.c | 8 +- xserver/GL/glx/indirect_texture_compression.c | 15 +- xserver/GL/glx/indirect_util.c | 18 +- xserver/GL/glx/renderpix.c | 1 - xserver/GL/glx/renderpixswap.c | 1 - xserver/GL/glx/singlepix.c | 1 - xserver/GL/glx/singlesize.h | 1 - xserver/GL/glx/swap_interval.c | 15 +- xserver/GL/glx/xfont.c | 1 - xserver/GL/mesa/Makefile.am | 4 +- xserver/GL/mesa/X/Makefile.am | 10 +- xserver/GL/mesa/glapi/Makefile.am | 1 - xserver/GL/mesa/main/Makefile.am | 4 +- xserver/GL/mesa/math/Makefile.am | 1 - xserver/GL/mesa/shader/Makefile.am | 14 +- xserver/GL/mesa/shader/grammar/Makefile.am | 1 - xserver/GL/mesa/shader/slang/Makefile.am | 24 +- xserver/GL/mesa/swrast/Makefile.am | 4 +- xserver/GL/mesa/swrast_setup/Makefile.am | 1 - xserver/GL/mesa/tnl/Makefile.am | 19 +- xserver/GL/mesa/vbo/Makefile.am | 35 + xserver/GL/mesa/vbo/Makefile.in | 668 + xserver/GL/symlink-mesa.sh | 31 +- xserver/Makefile.am | 20 +- xserver/XTrap/xtrapdi.c | 4 +- xserver/XTrap/xtrapdiswp.c | 1 - xserver/XTrap/xtrapditbl.c | 1 - xserver/Xext/Makefile.am | 1 - xserver/Xext/appgroup.c | 71 +- xserver/Xext/appgroup.h | 22 - xserver/Xext/cup.c | 2 +- xserver/Xext/fontcache.c | 2 - xserver/Xext/mbuf.c | 41 +- xserver/Xext/panoramiX.c | 75 +- xserver/Xext/panoramiX.h | 13 - xserver/Xext/panoramiXh.h | 5 +- xserver/Xext/panoramiXprocs.c | 230 +- xserver/Xext/panoramiXsrv.h | 3 - xserver/Xext/sampleEVI.c | 1 - xserver/Xext/saver.c | 50 +- xserver/Xext/security.c | 41 +- xserver/Xext/securitysrv.h | 9 - xserver/Xext/shape.c | 84 +- xserver/Xext/shmint.h | 2 - xserver/Xext/sync.c | 158 +- xserver/Xext/xace.c | 10 +- xserver/Xext/xace.h | 36 +- xserver/Xext/xcalibrate.c | 2 - xserver/Xext/xevie.c | 4 +- xserver/Xext/xf86bigfont.c | 5 +- xserver/Xext/xprint.c | 38 +- xserver/Xext/xtest.c | 21 +- xserver/Xext/xvdisp.c | 81 +- xserver/Xext/xvdisp.h | 2 - xserver/Xext/xvmain.c | 8 +- xserver/Xext/xvmc.c | 2 +- xserver/Xi/allowev.c | 6 +- xserver/Xi/chgdctl.c | 152 +- xserver/Xi/chgfctl.c | 279 +- xserver/Xi/chgfctl.h | 42 - xserver/Xi/chgkbd.c | 108 +- xserver/Xi/chgkbd.h | 5 - xserver/Xi/chgkmap.c | 10 +- xserver/Xi/chgprop.c | 19 +- xserver/Xi/chgptr.c | 138 +- xserver/Xi/chgptr.h | 13 - xserver/Xi/closedev.c | 100 +- xserver/Xi/closedev.h | 10 - xserver/Xi/devbell.c | 6 +- xserver/Xi/exevents.c | 167 +- xserver/Xi/exglobals.h | 9 +- xserver/Xi/extinit.c | 464 +- xserver/Xi/getbmap.c | 8 +- xserver/Xi/getdctl.c | 267 +- xserver/Xi/getdctl.h | 6 - xserver/Xi/getfctl.c | 406 +- xserver/Xi/getfctl.h | 30 - xserver/Xi/getfocus.c | 6 +- xserver/Xi/getkmap.c | 8 +- xserver/Xi/getmmap.c | 6 +- xserver/Xi/getprop.c | 17 +- xserver/Xi/getselev.c | 16 +- xserver/Xi/getvers.c | 8 +- xserver/Xi/grabdev.c | 10 +- xserver/Xi/grabdevb.c | 8 +- xserver/Xi/grabdevk.c | 8 +- xserver/Xi/gtmotion.c | 8 +- xserver/Xi/listdev.c | 243 +- xserver/Xi/listdev.h | 38 - xserver/Xi/opendev.c | 12 +- xserver/Xi/queryst.c | 10 +- xserver/Xi/selectev.c | 72 +- xserver/Xi/sendexev.c | 10 +- xserver/Xi/setbmap.c | 8 +- xserver/Xi/setdval.c | 8 +- xserver/Xi/setfocus.c | 8 +- xserver/Xi/setmmap.c | 6 +- xserver/Xi/setmode.c | 8 +- xserver/Xi/stubs.c | 117 +- xserver/Xi/ungrdev.c | 6 +- xserver/Xi/ungrdevb.c | 11 +- xserver/Xi/ungrdevk.c | 11 +- xserver/acinclude.m4 | 33 + xserver/afb/afb.h | 124 - xserver/afb/afbbitblt.c | 148 +- xserver/afb/afbbres.c | 1 - xserver/afb/afbbresd.c | 1 - xserver/afb/afbbstore.c | 1 - xserver/afb/afbcmap.c | 18 - xserver/afb/afbfont.c | 1 - xserver/afb/afbgc.c | 266 +- xserver/afb/afbimage.c | 31 - xserver/afb/afbmisc.c | 1 - xserver/afb/afbpixmap.c | 14 +- xserver/afb/afbpntwin.c | 1 - xserver/afb/afbscrinit.c | 50 +- xserver/afb/afbsetsp.c | 18 +- xserver/autogen.sh | 12 + xserver/cfb/cfbcppl.c | 2 - xserver/cfb/cfbmskbits.h | 3 - xserver/cfb/cfbpixmap.c | 4 - xserver/cfb/cfbtab.h | 2 - xserver/cfb/cfbteblt8.c | 2 +- xserver/composite/compalloc.c | 92 +- xserver/composite/compext.c | 58 +- xserver/composite/compinit.c | 204 +- xserver/composite/compint.h | 20 +- xserver/composite/compwindow.c | 43 +- xserver/config/Makefile.am | 22 + xserver/config/Makefile.in | 665 + xserver/config/config-backends.h | 59 + xserver/config/config.c | 66 + xserver/config/dbus-core.c | 243 + xserver/config/dbus.c | 441 + xserver/config/hal.c | 370 + xserver/config/x11-input.fdi | 31 + xserver/config/xorg-server.conf | 13 + xserver/cpprules.in | 1 + xserver/damageext/damageext.c | 97 +- xserver/damageext/damageext.h | 2 - xserver/damageext/damageextint.h | 16 - xserver/dbe/dbestruct.h | 6 - xserver/dbe/midbe.c | 25 +- xserver/dbe/midbe.h | 3 - xserver/depcomp | 64 +- xserver/dix/Makefile.am | 28 +- xserver/dix/Xserver-dtrace.h.in | 100 + xserver/dix/Xserver.d | 59 + xserver/dix/atom.c | 14 +- xserver/dix/colormap.c | 60 +- xserver/dix/cursor.c | 34 +- xserver/dix/dispatch.c | 922 +- xserver/dix/dix.c | 0 xserver/dix/dixfonts.c | 84 +- xserver/dix/dixutils.c | 225 +- xserver/dix/events.c | 965 +- xserver/dix/ffs.c | 6 + xserver/dix/gc.c | 89 +- xserver/dix/getevents.c | 842 + xserver/dix/glyphcurs.c | 8 +- xserver/dix/grabs.c | 55 +- xserver/dix/initatoms.c | 2 +- xserver/dix/main.c | 46 +- xserver/dix/pixmap.c | 4 - xserver/dix/privates.c | 36 +- xserver/dix/property.c | 192 +- xserver/dix/resource.c | 144 +- xserver/dix/swaprep.c | 199 +- xserver/dix/swapreq.c | 276 +- xserver/dix/tables.c | 15 - xserver/dix/window.c | 409 +- xserver/dix/xpstubs.c | 1 - xserver/doc/Makefile.am | 16 +- xserver/doc/SecurityPolicy.man.pre | 258 + xserver/doc/Xserver.man.pre | 221 +- xserver/exa/exa.c | 168 +- xserver/exa/exa.h | 34 +- xserver/exa/exa_accel.c | 505 +- xserver/exa/exa_migration.c | 216 +- xserver/exa/exa_offscreen.c | 81 +- xserver/exa/exa_priv.h | 46 +- xserver/exa/exa_render.c | 342 +- xserver/exa/exa_unaccel.c | 41 +- xserver/fb/Makefile.am | 30 +- xserver/fb/fb.h | 163 +- xserver/fb/fb24_32.c | 74 +- xserver/fb/fb24_32.h | 2 - xserver/fb/fballpriv.c | 11 +- xserver/fb/fbarc.c | 3 +- xserver/fb/fbbits.c | 18 +- xserver/fb/fbbits.h | 37 +- xserver/fb/fbblt.c | 140 +- xserver/fb/fbbltone.c | 98 +- xserver/fb/fbbstore.c | 2 - xserver/fb/fbcmap.c | 91 +- xserver/fb/fbcmap_mi.c | 123 + xserver/fb/fbcopy.c | 37 +- xserver/fb/fbfill.c | 59 +- xserver/fb/fbfillrect.c | 2 - xserver/fb/fbfillsp.c | 2 - xserver/fb/fbgc.c | 15 +- xserver/fb/fbgetsp.c | 4 +- xserver/fb/fbglyph.c | 18 +- xserver/fb/fbimage.c | 8 +- xserver/fb/fbline.c | 2 - xserver/fb/fboverlay.c | 6 +- xserver/fb/fbpict.c | 1710 +- xserver/fb/fbpict.h | 280 +- xserver/fb/fbpixmap.c | 18 +- xserver/fb/fbpoint.c | 9 +- xserver/fb/fbpseudocolor.c | 6 +- xserver/fb/fbpush.c | 9 +- xserver/fb/fbrop.h | 2 - xserver/fb/fbscreen.c | 71 +- xserver/fb/fbseg.c | 30 +- xserver/fb/fbsetsp.c | 3 +- xserver/fb/fbsolid.c | 44 +- xserver/fb/fbstipple.c | 8 +- xserver/fb/fbtile.c | 18 +- xserver/fb/fbutil.c | 2 - xserver/fb/fbwindow.c | 51 +- xserver/fb/wfbrename.h | 201 + xserver/hw/Makefile.am | 13 +- xserver/hw/darwin/Makefile.am | 386 +- xserver/hw/darwin/apple/X11Application.m | 926 + xserver/hw/darwin/apple/X11Controller.m | 752 + .../hw/darwin/bundle/Dutch.lproj/Makefile.am | 35 + .../hw/darwin/bundle/Dutch.lproj/Makefile.in | 638 + .../darwin/bundle/English.lproj/Makefile.am | 35 + .../darwin/bundle/English.lproj/Makefile.in | 639 + .../hw/darwin/bundle/French.lproj/Makefile.am | 38 + .../hw/darwin/bundle/French.lproj/Makefile.in | 639 + .../hw/darwin/bundle/German.lproj/Makefile.am | 36 + .../hw/darwin/bundle/German.lproj/Makefile.in | 639 + xserver/hw/darwin/bundle/Info.plist | 66 + .../darwin/bundle/Japanese.lproj/Makefile.am | 37 + .../darwin/bundle/Japanese.lproj/Makefile.in | 641 + xserver/hw/darwin/bundle/Makefile.am | 38 + xserver/hw/darwin/bundle/Makefile.in | 827 + .../bundle/Portuguese.lproj/Makefile.am | 36 + .../bundle/Portuguese.lproj/Makefile.in | 641 + .../darwin/bundle/Spanish.lproj/Makefile.am | 36 + .../darwin/bundle/Spanish.lproj/Makefile.in | 639 + .../darwin/bundle/Swedish.lproj/Makefile.am | 36 + .../darwin/bundle/Swedish.lproj/Makefile.in | 639 + xserver/hw/darwin/bundle/ko.lproj/Makefile.am | 37 + xserver/hw/darwin/bundle/ko.lproj/Makefile.in | 638 + xserver/hw/darwin/darwin.c | 14 +- xserver/hw/darwin/darwin.h | 5 + xserver/hw/darwin/darwinEvents.c | 352 +- xserver/hw/darwin/darwinKeyboard.c | 4 +- xserver/hw/darwin/darwinKeyboard.h | 2 +- xserver/hw/darwin/iokit/Makefile.am | 17 + xserver/hw/darwin/iokit/Makefile.in | 630 + xserver/hw/darwin/iokit/xfIOKit.c | 5 + xserver/hw/darwin/iokit/xfIOKitCursor.c | 5 +- xserver/hw/darwin/iokit/xfIOKitStartup.c | 11 +- xserver/hw/darwin/quartz/Makefile.am | 54 + xserver/hw/darwin/quartz/Makefile.in | 801 + xserver/hw/darwin/quartz/Preferences.m | 6 +- xserver/hw/darwin/quartz/XApplication.h | 1 - .../quartz/XDarwin.pbproj/project.pbxproj | 2 +- xserver/hw/darwin/quartz/XDarwinStartup.c | 4 +- xserver/hw/darwin/quartz/XServer.m | 18 +- xserver/hw/darwin/quartz/applewm.c | 41 +- xserver/hw/darwin/quartz/cr/XView.m | 4 +- xserver/hw/darwin/quartz/cr/crAppleWM.m | 14 +- xserver/hw/darwin/quartz/cr/crFrame.m | 10 +- xserver/hw/darwin/quartz/cr/crScreen.m | 18 +- .../hw/darwin/quartz/fullscreen/fullscreen.c | 10 +- .../darwin/quartz/fullscreen/quartzCursor.c | 8 +- xserver/hw/darwin/quartz/keysym2ucs.c | 3 +- xserver/hw/darwin/quartz/keysym2ucs.h | 3 +- xserver/hw/darwin/quartz/pseudoramiX.c | 31 +- xserver/hw/darwin/quartz/quartz.c | 12 +- xserver/hw/darwin/quartz/quartzAudio.c | 5 +- xserver/hw/darwin/quartz/quartzCocoa.m | 3 + xserver/hw/darwin/quartz/quartzCursor.c | 5 + xserver/hw/darwin/quartz/quartzCursor.h | 1 + xserver/hw/darwin/quartz/quartzKeyboard.c | 6 +- xserver/hw/darwin/quartz/quartzPasteboard.c | 3 + xserver/hw/darwin/quartz/quartzStartup.c | 87 +- xserver/hw/darwin/quartz/xpr/appledri.c | 25 +- xserver/hw/darwin/quartz/xpr/dri.c | 3 + xserver/hw/darwin/quartz/xpr/x-hash.c | 5 +- xserver/hw/darwin/quartz/xpr/x-hash.h | 1 - xserver/hw/darwin/quartz/xpr/x-hook.c | 6 +- xserver/hw/darwin/quartz/xpr/x-list.c | 5 +- xserver/hw/darwin/quartz/xpr/x-list.h | 1 - xserver/hw/darwin/quartz/xpr/xprAppleWM.c | 7 +- xserver/hw/darwin/quartz/xpr/xprCursor.c | 6 +- xserver/hw/darwin/quartz/xpr/xprFrame.c | 6 +- xserver/hw/darwin/quartz/xpr/xprScreen.c | 27 +- xserver/hw/darwin/utils/Makefile.am | 11 + xserver/hw/darwin/utils/Makefile.in | 703 + xserver/hw/dmx/Makefile.am | 21 +- xserver/hw/dmx/config/Canvas.c | 1 - xserver/hw/dmx/config/Canvas.h | 1 - xserver/hw/dmx/config/CanvasP.h | 1 - xserver/hw/dmx/config/Makefile.am | 2 +- xserver/hw/dmx/config/dmxcompat.c | 1 - xserver/hw/dmx/config/dmxcompat.h | 1 - xserver/hw/dmx/config/dmxconfig.c | 1 - xserver/hw/dmx/config/dmxconfig.h | 1 - xserver/hw/dmx/config/dmxparse.c | 1 - xserver/hw/dmx/config/dmxparse.h | 1 - xserver/hw/dmx/config/dmxprint.c | 1 - xserver/hw/dmx/config/dmxprint.h | 1 - xserver/hw/dmx/config/dmxtodmx.c | 1 - xserver/hw/dmx/config/parser.c | 1360 +- xserver/hw/dmx/config/parser.h | 49 +- xserver/hw/dmx/config/scanner.c | 40 +- xserver/hw/dmx/config/vdltodmx.c | 1 - xserver/hw/dmx/config/xdmxconfig.c | 3 +- xserver/hw/dmx/dmx-config.h | 2 +- xserver/hw/dmx/dmx.c | 19 +- xserver/hw/dmx/dmx.h | 1 - xserver/hw/dmx/dmxcb.c | 1 - xserver/hw/dmx/dmxcb.h | 1 - xserver/hw/dmx/dmxclient.h | 5 +- xserver/hw/dmx/dmxcmap.c | 1 - xserver/hw/dmx/dmxcmap.h | 1 - xserver/hw/dmx/dmxcursor.c | 134 +- xserver/hw/dmx/dmxcursor.h | 1 - xserver/hw/dmx/dmxdpms.c | 1 - xserver/hw/dmx/dmxdpms.h | 1 - xserver/hw/dmx/dmxextension.c | 1 - xserver/hw/dmx/dmxextension.h | 1 - xserver/hw/dmx/dmxfont.c | 1 - xserver/hw/dmx/dmxfont.h | 1 - xserver/hw/dmx/dmxgc.c | 1 - xserver/hw/dmx/dmxgc.h | 1 - xserver/hw/dmx/dmxgcops.c | 1 - xserver/hw/dmx/dmxgcops.h | 1 - xserver/hw/dmx/dmxinit.c | 1 - xserver/hw/dmx/dmxinit.h | 1 - xserver/hw/dmx/dmxinput.c | 6 +- xserver/hw/dmx/dmxinput.h | 3 +- xserver/hw/dmx/dmxlog.c | 1 - xserver/hw/dmx/dmxlog.h | 1 - xserver/hw/dmx/dmxpict.c | 23 +- xserver/hw/dmx/dmxpict.h | 1 - xserver/hw/dmx/dmxpixmap.c | 5 - xserver/hw/dmx/dmxpixmap.h | 1 - xserver/hw/dmx/dmxprop.c | 1 - xserver/hw/dmx/dmxprop.h | 1 - xserver/hw/dmx/dmxscrinit.c | 7 - xserver/hw/dmx/dmxscrinit.h | 1 - xserver/hw/dmx/dmxshadow.c | 1 - xserver/hw/dmx/dmxshadow.h | 1 - xserver/hw/dmx/dmxstat.c | 1 - xserver/hw/dmx/dmxstat.h | 1 - xserver/hw/dmx/dmxsync.c | 1 - xserver/hw/dmx/dmxsync.h | 1 - xserver/hw/dmx/dmxvisual.c | 1 - xserver/hw/dmx/dmxvisual.h | 1 - xserver/hw/dmx/dmxwindow.c | 1 - xserver/hw/dmx/dmxwindow.h | 1 - xserver/hw/dmx/examples/dmxaddinput.c | 1 - xserver/hw/dmx/examples/dmxaddscreen.c | 1 - xserver/hw/dmx/examples/dmxreconfig.c | 1 - xserver/hw/dmx/examples/dmxresize.c | 1 - xserver/hw/dmx/examples/dmxrminput.c | 1 - xserver/hw/dmx/examples/dmxrmscreen.c | 1 - xserver/hw/dmx/examples/dmxwininfo.c | 1 - xserver/hw/dmx/examples/ev.c | 1 - xserver/hw/dmx/examples/evi.c | 1 - xserver/hw/dmx/examples/res.c | 1 - xserver/hw/dmx/examples/xbell.c | 1 - xserver/hw/dmx/examples/xdmx.c | 1 - xserver/hw/dmx/examples/xinput.c | 1 - xserver/hw/dmx/examples/xled.c | 1 - xserver/hw/dmx/examples/xtest.c | 1 - xserver/hw/dmx/glxProxy/Makefile.am | 2 +- xserver/hw/dmx/glxProxy/glxcmds.c | 112 +- xserver/hw/dmx/glxProxy/glxdrawable.h | 52 - xserver/hw/dmx/glxProxy/glxext.h | 2 +- xserver/hw/dmx/glxProxy/glxserver.h | 3 - xserver/hw/dmx/glxProxy/glxswap.c | 1 - xserver/hw/dmx/glxProxy/glxswap.h | 1 - xserver/hw/dmx/input/ChkNotMaskEv.c | 1 - xserver/hw/dmx/input/ChkNotMaskEv.h | 1 - xserver/hw/dmx/input/Makefile.am | 2 +- xserver/hw/dmx/input/dmxarg.c | 1 - xserver/hw/dmx/input/dmxarg.h | 1 - xserver/hw/dmx/input/dmxbackend.c | 21 +- xserver/hw/dmx/input/dmxbackend.h | 1 - xserver/hw/dmx/input/dmxcommon.c | 17 +- xserver/hw/dmx/input/dmxcommon.h | 1 - xserver/hw/dmx/input/dmxconsole.c | 10 +- xserver/hw/dmx/input/dmxconsole.h | 1 - xserver/hw/dmx/input/dmxdetach.c | 1 - xserver/hw/dmx/input/dmxdummy.c | 3 +- xserver/hw/dmx/input/dmxdummy.h | 1 - xserver/hw/dmx/input/dmxeq.c | 1 - xserver/hw/dmx/input/dmxeq.h | 1 - xserver/hw/dmx/input/dmxevents.c | 228 +- xserver/hw/dmx/input/dmxevents.h | 1 - xserver/hw/dmx/input/dmxinputinit.c | 103 +- xserver/hw/dmx/input/dmxinputinit.h | 1 - xserver/hw/dmx/input/dmxmap.c | 1 - xserver/hw/dmx/input/dmxmap.h | 1 - xserver/hw/dmx/input/dmxmotion.c | 1 - xserver/hw/dmx/input/dmxmotion.h | 1 - xserver/hw/dmx/input/dmxsigio.c | 1 - xserver/hw/dmx/input/dmxsigio.h | 1 - xserver/hw/dmx/input/dmxxinput.c | 7 +- xserver/hw/dmx/input/lnx-keyboard.c | 13 +- xserver/hw/dmx/input/lnx-keyboard.h | 1 - xserver/hw/dmx/input/lnx-ms.c | 1 - xserver/hw/dmx/input/lnx-ms.h | 1 - xserver/hw/dmx/input/lnx-ps2.c | 1 - xserver/hw/dmx/input/lnx-ps2.h | 1 - xserver/hw/dmx/input/usb-common.c | 1 - xserver/hw/dmx/input/usb-common.h | 1 - xserver/hw/dmx/input/usb-keyboard.c | 1 - xserver/hw/dmx/input/usb-keyboard.h | 1 - xserver/hw/dmx/input/usb-mouse.c | 1 - xserver/hw/dmx/input/usb-mouse.h | 1 - xserver/hw/dmx/input/usb-other.c | 1 - xserver/hw/dmx/input/usb-other.h | 1 - xserver/hw/dmx/input/usb-private.h | 1 - xserver/hw/kdrive/ati/Makefile.am | 16 +- xserver/hw/kdrive/ati/ati.c | 3 - xserver/hw/kdrive/ati/ati.h | 3 - xserver/hw/kdrive/ati/ati_cursor.c | 1 - xserver/hw/kdrive/ati/ati_dma.c | 5 +- xserver/hw/kdrive/ati/ati_dma.h | 1 - xserver/hw/kdrive/ati/ati_draw.c | 3 - xserver/hw/kdrive/ati/ati_draw.h | 1 - xserver/hw/kdrive/ati/ati_reg.h | 1 - xserver/hw/kdrive/ati/ati_stub.c | 13 +- xserver/hw/kdrive/ati/ati_video.c | 1 - xserver/hw/kdrive/ati/r128_composite.c | 1 - xserver/hw/kdrive/ati/radeon_composite.c | 3 - xserver/hw/kdrive/chips/Makefile.am | 9 +- xserver/hw/kdrive/chips/chips.c | 1 - xserver/hw/kdrive/chips/chips.h | 3 - xserver/hw/kdrive/chips/chipsdraw.c | 3 - xserver/hw/kdrive/chips/chipsstub.c | 6 +- xserver/hw/kdrive/ephyr/Makefile.am | 9 +- xserver/hw/kdrive/ephyr/ephyr.c | 178 +- xserver/hw/kdrive/ephyr/ephyr.h | 9 +- xserver/hw/kdrive/ephyr/ephyrinit.c | 34 +- xserver/hw/kdrive/ephyr/hostx.c | 34 +- xserver/hw/kdrive/ephyr/hostx.h | 17 +- xserver/hw/kdrive/ephyr/os.c | 30 +- xserver/hw/kdrive/epson/Makefile.am | 7 +- xserver/hw/kdrive/epson/epson13806.c | 1 - xserver/hw/kdrive/epson/epson13806.h | 1 - xserver/hw/kdrive/epson/epson13806draw.c | 1 - xserver/hw/kdrive/epson/epson13806draw.h | 1 - xserver/hw/kdrive/epson/epson13806reg.h | 1 - xserver/hw/kdrive/epson/epson13806stub.c | 7 +- xserver/hw/kdrive/fake/Makefile.am | 14 +- xserver/hw/kdrive/fake/fake.c | 8 +- xserver/hw/kdrive/fake/fake.h | 6 +- xserver/hw/kdrive/fake/fakeinit.c | 19 +- xserver/hw/kdrive/fake/kbd.c | 59 +- xserver/hw/kdrive/fake/mouse.c | 28 +- xserver/hw/kdrive/fake/os.c | 2 - xserver/hw/kdrive/fbdev/Makefile.am | 16 +- xserver/hw/kdrive/fbdev/fbdev.c | 9 +- xserver/hw/kdrive/fbdev/fbdev.h | 3 - xserver/hw/kdrive/fbdev/fbinit.c | 17 +- xserver/hw/kdrive/i810/Makefile.am | 7 +- xserver/hw/kdrive/i810/i810.c | 3 - xserver/hw/kdrive/i810/i810.h | 2 - xserver/hw/kdrive/i810/i810_cursor.c | 4 - xserver/hw/kdrive/i810/i810_reg.h | 1 - xserver/hw/kdrive/i810/i810stub.c | 4 +- xserver/hw/kdrive/linux/Makefile.am | 13 - xserver/hw/kdrive/linux/agp.c | 4 +- xserver/hw/kdrive/linux/bus.c | 77 +- xserver/hw/kdrive/linux/evdev.c | 643 +- xserver/hw/kdrive/linux/keyboard.c | 490 +- xserver/hw/kdrive/linux/klinux.h | 2 - xserver/hw/kdrive/linux/linux.c | 56 +- xserver/hw/kdrive/linux/mouse.c | 244 +- xserver/hw/kdrive/linux/ms.c | 62 +- xserver/hw/kdrive/linux/ps2.c | 84 +- xserver/hw/kdrive/linux/ts.c | 146 +- xserver/hw/kdrive/linux/tslib.c | 367 +- xserver/hw/kdrive/mach64/Makefile.am | 9 +- xserver/hw/kdrive/mach64/mach64.c | 1 - xserver/hw/kdrive/mach64/mach64.h | 3 - xserver/hw/kdrive/mach64/mach64draw.c | 3 - xserver/hw/kdrive/mach64/mach64draw.h | 3 - xserver/hw/kdrive/mach64/mach64stub.c | 6 +- xserver/hw/kdrive/mach64/mach64video.c | 1 - xserver/hw/kdrive/mga/Makefile.am | 14 +- xserver/hw/kdrive/mga/g400_common.h | 3 - xserver/hw/kdrive/mga/g400_composite.c | 7 +- xserver/hw/kdrive/mga/mga.c | 3 - xserver/hw/kdrive/mga/mga.h | 3 - xserver/hw/kdrive/mga/mgadraw.c | 3 - xserver/hw/kdrive/mga/mgastub.c | 6 +- xserver/hw/kdrive/neomagic/Makefile.am | 11 +- xserver/hw/kdrive/neomagic/neomagic.h | 8 +- xserver/hw/kdrive/neomagic/neomagicstub.c | 6 +- xserver/hw/kdrive/nvidia/Makefile.am | 11 +- xserver/hw/kdrive/nvidia/nvidia.c | 2 - xserver/hw/kdrive/nvidia/nvidia.h | 2 - xserver/hw/kdrive/nvidia/nvidiadraw.c | 2 - xserver/hw/kdrive/nvidia/nvidiadraw.h | 3 - xserver/hw/kdrive/nvidia/nvidiastub.c | 5 +- xserver/hw/kdrive/pm2/Makefile.am | 8 +- xserver/hw/kdrive/pm2/pm2stub.c | 3 +- xserver/hw/kdrive/r128/Makefile.am | 8 +- xserver/hw/kdrive/r128/r128.c | 3 - xserver/hw/kdrive/r128/r128.h | 3 - xserver/hw/kdrive/r128/r128draw.c | 3 - xserver/hw/kdrive/r128/r128stub.c | 6 +- xserver/hw/kdrive/sdl/Makefile.am | 10 +- xserver/hw/kdrive/sdl/sdl.c | 151 +- xserver/hw/kdrive/sis300/Makefile.am | 11 +- xserver/hw/kdrive/sis300/sis.c | 3 - xserver/hw/kdrive/sis300/sis.h | 3 - xserver/hw/kdrive/sis300/sis_draw.c | 3 - xserver/hw/kdrive/sis300/sis_stub.c | 6 +- xserver/hw/kdrive/smi/Makefile.am | 9 +- xserver/hw/kdrive/smi/smi.h | 2 - xserver/hw/kdrive/smi/smidraw.c | 2 - xserver/hw/kdrive/smi/smidraw.h | 2 - xserver/hw/kdrive/smi/smistub.c | 5 +- xserver/hw/kdrive/src/Makefile.am | 3 +- xserver/hw/kdrive/src/kaa.c | 2 - xserver/hw/kdrive/src/kaa.h | 2 - xserver/hw/kdrive/src/kaapict.c | 2 - xserver/hw/kdrive/src/kasync.c | 8 - xserver/hw/kdrive/src/kcmap.c | 3 - xserver/hw/kdrive/src/kcurscol.c | 2 - xserver/hw/kdrive/src/kdrive.c | 213 +- xserver/hw/kdrive/src/kinfo.c | 84 +- xserver/hw/kdrive/src/kinput.c | 1951 +- xserver/hw/kdrive/src/kkeymap.c | 189 + xserver/hw/kdrive/src/kmap.c | 3 - xserver/hw/kdrive/src/kmode.c | 2 - xserver/hw/kdrive/src/knoop.c | 3 - xserver/hw/kdrive/src/koffscreen.c | 2 - xserver/hw/kdrive/src/kshadow.c | 2 - xserver/hw/kdrive/src/ktest.c | 3 - xserver/hw/kdrive/src/kxv.c | 2 - xserver/hw/kdrive/src/kxv.h | 2 - xserver/hw/kdrive/src/vga.h | 3 - xserver/hw/kdrive/vesa/Makefile.am | 9 +- xserver/hw/kdrive/vesa/vbe.c | 3 +- xserver/hw/kdrive/vesa/vbe.h | 1 - xserver/hw/kdrive/vesa/vesa.c | 9 +- xserver/hw/kdrive/vesa/vesa.h | 1 - xserver/hw/kdrive/vesa/vesainit.c | 12 +- xserver/hw/kdrive/vesa/vga.c | 2 - xserver/hw/kdrive/vesa/vga.h | 2 - xserver/hw/kdrive/vesa/vm86.c | 33 +- xserver/hw/kdrive/vesa/vm86.h | 2 - xserver/hw/kdrive/via/Makefile.am | 14 +- xserver/hw/kdrive/via/viastub.c | 3 +- xserver/hw/vfb/InitInput.c | 13 +- xserver/hw/vfb/Makefile.am | 24 +- xserver/hw/vfb/Xvfb.man.pre | 13 +- xserver/hw/xfree86/Makefile.am | 29 +- xserver/hw/xfree86/common/Makefile.am | 15 +- xserver/hw/xfree86/common/atKeynames.h | 4 +- xserver/hw/xfree86/common/modeline2c.pl | 3 - xserver/hw/xfree86/common/xf86.h | 27 +- xserver/hw/xfree86/common/xf86Build.h.in | 1 + xserver/hw/xfree86/common/xf86Bus.c | 39 +- xserver/hw/xfree86/common/xf86Bus.h | 5 +- xserver/hw/xfree86/common/xf86Config.h | 20 +- xserver/hw/xfree86/common/xf86Cursor.c | 21 +- xserver/hw/xfree86/common/xf86DGA.c | 177 +- xserver/hw/xfree86/common/xf86Debug.c | 119 - xserver/hw/xfree86/common/xf86DefModes.c | 5 - xserver/hw/xfree86/common/xf86Globals.c | 40 - xserver/hw/xfree86/common/xf86Helper.c | 206 +- xserver/hw/xfree86/common/xf86InPriv.h | 3 + xserver/hw/xfree86/common/xf86MiscExt.c | 84 +- xserver/hw/xfree86/common/xf86Mode.c | 210 +- xserver/hw/xfree86/common/xf86Module.h | 9 +- xserver/hw/xfree86/common/xf86Option.c | 8 +- xserver/hw/xfree86/common/xf86PM.c | 4 - xserver/hw/xfree86/common/xf86PciInfo.h | 4 + xserver/hw/xfree86/common/xf86Priv.h | 22 +- xserver/hw/xfree86/common/xf86Privstr.h | 54 +- xserver/hw/xfree86/common/xf86Version.h | 3 - xserver/hw/xfree86/common/xf86Versions.c | 3 - xserver/hw/xfree86/common/xf86XKB.c | 3 +- xserver/hw/xfree86/common/xf86Xinput.h | 55 +- xserver/hw/xfree86/common/xf86fbman.c | 60 +- xserver/hw/xfree86/common/xf86pciBus.c | 30 +- xserver/hw/xfree86/common/xf86str.h | 2 +- xserver/hw/xfree86/common/xf86xv.c | 94 +- xserver/hw/xfree86/common/xf86xv.h | 3 + xserver/hw/xfree86/common/xf86xvpriv.h | 1 + xserver/hw/xfree86/common/xisb.c | 4 - xserver/hw/xfree86/common/xisb.h | 1 - xserver/hw/xfree86/ddc/Makefile.am | 11 +- xserver/hw/xfree86/ddc/ddcProperty.c | 402 +- xserver/hw/xfree86/ddc/edid.h | 4 +- xserver/hw/xfree86/ddc/interpret_edid.c | 12 +- xserver/hw/xfree86/ddc/xf86DDC.c | 90 +- xserver/hw/xfree86/ddc/xf86DDC.h | 8 +- xserver/hw/xfree86/dixmods/Makefile.am | 32 +- xserver/hw/xfree86/dixmods/afbmodule.c | 1 - xserver/hw/xfree86/dixmods/cfb32module.c | 3 - xserver/hw/xfree86/dixmods/cfbmodule.c | 3 - xserver/hw/xfree86/dixmods/extmod/Makefile.am | 2 +- xserver/hw/xfree86/dixmods/extmod/dgaproc.h | 5 +- .../hw/xfree86/dixmods/extmod/xf86dgaext.h | 2 - xserver/hw/xfree86/dixmods/fbmodule.c | 6 +- xserver/hw/xfree86/dixmods/glxmodule.c | 4 +- xserver/hw/xfree86/dixmods/xkbKillSrv.c | 2 +- xserver/hw/xfree86/dixmods/xkbPrivate.c | 2 +- xserver/hw/xfree86/dixmods/xkbVT.c | 2 +- xserver/hw/xfree86/doc/man/xorg.conf.man.pre | 1391 +- xserver/hw/xfree86/dri/Makefile.am | 2 +- xserver/hw/xfree86/dri/dri.c | 928 +- xserver/hw/xfree86/dri/dri.h | 42 +- xserver/hw/xfree86/dri/drimodule.c | 4 +- xserver/hw/xfree86/dri/dristruct.h | 29 +- xserver/hw/xfree86/dri/sarea.h | 5 + xserver/hw/xfree86/dri/xf86dri.c | 80 +- xserver/hw/xfree86/dummylib/fatalerror.c | 2 - xserver/hw/xfree86/dummylib/pcitestmulti.c | 2 - xserver/hw/xfree86/dummylib/verrorf.c | 2 - xserver/hw/xfree86/dummylib/xf86allocscripi.c | 2 - xserver/hw/xfree86/dummylib/xf86getpagesize.c | 2 - xserver/hw/xfree86/dummylib/xf86getverb.c | 2 - xserver/hw/xfree86/dummylib/xf86info.c | 2 - xserver/hw/xfree86/dummylib/xf86screens.c | 2 - xserver/hw/xfree86/dummylib/xf86servisinit.c | 2 - xserver/hw/xfree86/dummylib/xf86verbose.c | 2 - xserver/hw/xfree86/exa/Makefile.am | 2 +- xserver/hw/xfree86/exa/exa.man.pre | 2 +- xserver/hw/xfree86/fbdevhw/Makefile.am | 2 +- xserver/hw/xfree86/fbdevhw/fbdevhw.c | 158 +- xserver/hw/xfree86/i2c/Makefile.am | 7 +- xserver/hw/xfree86/i2c/uda1380.c | 2 - xserver/hw/xfree86/i2c/uda1380.h | 6 - xserver/hw/xfree86/i2c/uda1380_module.c | 2 +- xserver/hw/xfree86/int10/Makefile.am | 6 +- xserver/hw/xfree86/int10/generic.c | 62 +- xserver/hw/xfree86/int10/helper_exec.c | 123 +- xserver/hw/xfree86/int10/helper_mem.c | 125 +- xserver/hw/xfree86/int10/xf86int10.h | 20 +- xserver/hw/xfree86/loader/Makefile.am | 5 +- xserver/hw/xfree86/loader/loader.c | 116 - xserver/hw/xfree86/loader/loaderProcs.h | 4 - xserver/hw/xfree86/loader/loadmod.c | 130 +- xserver/hw/xfree86/loader/misym.c | 5 - xserver/hw/xfree86/loader/os.c | 2 - xserver/hw/xfree86/loader/xf86sym.c | 203 +- xserver/hw/xfree86/modes/Makefile.am | 29 + xserver/hw/xfree86/modes/Makefile.in | 683 + xserver/hw/xfree86/modes/xf86Crtc.c | 2264 ++ xserver/hw/xfree86/modes/xf86Crtc.h | 788 + xserver/hw/xfree86/modes/xf86Cursors.c | 646 + xserver/hw/xfree86/modes/xf86DiDGA.c | 286 + xserver/hw/xfree86/modes/xf86EdidModes.c | 491 + xserver/hw/xfree86/modes/xf86Modes.c | 661 + xserver/hw/xfree86/modes/xf86Modes.h | 98 + xserver/hw/xfree86/modes/xf86RandR12.c | 1129 + xserver/hw/xfree86/modes/xf86RandR12.h | 41 + xserver/hw/xfree86/modes/xf86Rename.h | 93 + xserver/hw/xfree86/modes/xf86Rotate.c | 660 + xserver/hw/xfree86/modes/xf86cvt.c | 308 + xserver/hw/xfree86/os-support/Makefile.am | 9 +- xserver/hw/xfree86/os-support/README.OS-lib | 1 - xserver/hw/xfree86/os-support/assyntax.h | 3 - xserver/hw/xfree86/os-support/bsd/bsd_VTsw.c | 1 - xserver/hw/xfree86/os-support/bsd/bsd_apm.c | 2 - xserver/hw/xfree86/os-support/bsd/bsd_bell.c | 86 + xserver/hw/xfree86/os-support/bsd/bsd_kmod.c | 2 - .../xfree86/os-support/bsd/bsd_kqueue_apm.c | 1 - .../hw/xfree86/os-support/bsd/libusb/data.c | 2 - .../hw/xfree86/os-support/bsd/libusb/descr.c | 2 - .../hw/xfree86/os-support/bsd/libusb/parse.c | 2 - .../hw/xfree86/os-support/bsd/libusb/usage.c | 2 - .../hw/xfree86/os-support/bsd/libusb/usb.h | 2 - .../hw/xfree86/os-support/bsd/libusb/usbvar.h | 2 - xserver/hw/xfree86/os-support/bsd/memrange.h | 3 - xserver/hw/xfree86/os-support/bus/Makefile.am | 2 +- xserver/hw/xfree86/os-support/bus/Pci.c | 16 +- xserver/hw/xfree86/os-support/bus/altixPCI.c | 142 +- xserver/hw/xfree86/os-support/bus/axpPci.c | 5 +- xserver/hw/xfree86/os-support/bus/linuxPci.c | 93 +- .../hw/xfree86/os-support/hurd/Makefile.am | 9 +- .../hw/xfree86/os-support/hurd/hurd_bell.c | 37 + .../hw/xfree86/os-support/hurd/hurd_init.c | 1 - .../hw/xfree86/os-support/hurd/hurd_mmap.c | 1 - .../hw/xfree86/os-support/hurd/hurd_mouse.c | 105 +- .../hw/xfree86/os-support/hurd/hurd_video.c | 45 +- .../hw/xfree86/os-support/linux/Makefile.am | 35 +- .../hw/xfree86/os-support/linux/int10/linux.c | 21 +- .../os-support/linux/int10/vm86/linux_vm86.c | 2 - xserver/hw/xfree86/os-support/linux/lnx.h | 1 - xserver/hw/xfree86/os-support/linux/lnx_axp.c | 4 +- .../hw/xfree86/os-support/linux/lnx_bell.c | 45 + .../hw/xfree86/os-support/linux/lnx_ev56.c | 2 +- .../hw/xfree86/os-support/linux/lnx_init.c | 15 +- .../hw/xfree86/os-support/linux/lnx_jstk.c | 2 - .../hw/xfree86/os-support/linux/lnx_video.c | 68 +- .../hw/xfree86/os-support/lynxos/Makefile.am | 1 - xserver/hw/xfree86/os-support/misc/Delay.c | 4 - xserver/hw/xfree86/os-support/misc/IODelay.c | 3 - .../hw/xfree86/os-support/misc/Makefile.am | 16 +- .../hw/xfree86/os-support/misc/SlowBcopy.c | 34 +- .../hw/xfree86/os-support/misc/xf86_IlHack.c | 2 - .../hw/xfree86/os-support/misc/xf86_Util.c | 1 - xserver/hw/xfree86/os-support/sco/Makefile.am | 4 - xserver/hw/xfree86/os-support/sco/VTsw_sco.c | 1 - xserver/hw/xfree86/os-support/sco/sco_init.c | 1 - xserver/hw/xfree86/os-support/sco/sco_iop.c | 2 - xserver/hw/xfree86/os-support/sco/sco_mouse.c | 2 - xserver/hw/xfree86/os-support/sco/sco_video.c | 1 - .../hw/xfree86/os-support/shared/VTsw_noop.c | 1 - .../hw/xfree86/os-support/shared/VTsw_usl.c | 1 - .../hw/xfree86/os-support/shared/agp_noop.c | 3 - .../xfree86/os-support/shared/bios_devmem.c | 1 - .../hw/xfree86/os-support/shared/bios_mmap.c | 1 - .../xfree86/os-support/shared/ioperm_noop.c | 1 - .../hw/xfree86/os-support/shared/sigiostubs.c | 3 - xserver/hw/xfree86/os-support/shared/stdPci.c | 3 - .../xfree86/os-support/shared/stdResource.c | 6 - xserver/hw/xfree86/os-support/shared/vidmem.c | 3 - .../hw/xfree86/os-support/shared/xf86Axp.h | 2 - .../hw/xfree86/os-support/solaris/Makefile.am | 22 +- .../hw/xfree86/os-support/solaris/sun_apm.c | 232 + .../hw/xfree86/os-support/solaris/sun_bell.c | 185 + .../hw/xfree86/os-support/solaris/sun_init.c | 31 - .../hw/xfree86/os-support/sysv/Makefile.am | 2 +- .../hw/xfree86/os-support/sysv/sysv_init.c | 1 - .../hw/xfree86/os-support/sysv/sysv_mouse.c | 3 - .../hw/xfree86/os-support/sysv/sysv_video.c | 1 - xserver/hw/xfree86/os-support/usl/Makefile.am | 8 +- xserver/hw/xfree86/os-support/usl/usl_init.c | 2 - xserver/hw/xfree86/os-support/usl/usl_iop.c | 1 - xserver/hw/xfree86/os-support/usl/usl_mouse.c | 7 +- xserver/hw/xfree86/os-support/usl/usl_video.c | 2 - xserver/hw/xfree86/os-support/usl/usl_vtsw.c | 2 - xserver/hw/xfree86/os-support/xf86_OSlib.h | 51 +- xserver/hw/xfree86/os-support/xf86_OSproc.h | 22 +- xserver/hw/xfree86/os-support/xf86_ansic.h | 18 +- xserver/hw/xfree86/os-support/xf86_libc.h | 2 +- xserver/hw/xfree86/parser/DRI.c | 31 +- xserver/hw/xfree86/parser/Files.c | 20 +- xserver/hw/xfree86/parser/Flags.c | 37 +- xserver/hw/xfree86/parser/Input.c | 5 +- xserver/hw/xfree86/parser/Layout.c | 38 +- xserver/hw/xfree86/parser/Makefile.am | 7 +- xserver/hw/xfree86/parser/Module.c | 19 +- xserver/hw/xfree86/parser/Monitor.c | 32 +- xserver/hw/xfree86/parser/Screen.c | 2 +- xserver/hw/xfree86/parser/Vendor.c | 15 +- xserver/hw/xfree86/parser/Video.c | 34 +- xserver/hw/xfree86/parser/configProcs.h | 18 - xserver/hw/xfree86/parser/read.c | 45 +- xserver/hw/xfree86/parser/scan.c | 39 +- xserver/hw/xfree86/parser/write.c | 21 +- xserver/hw/xfree86/parser/xf86Parser.h | 3 +- xserver/hw/xfree86/parser/xf86tokens.h | 1 + xserver/hw/xfree86/rac/Makefile.am | 2 +- xserver/hw/xfree86/ramdac/Makefile.am | 8 +- xserver/hw/xfree86/ramdac/xf86Cursor.c | 3 +- xserver/hw/xfree86/ramdac/xf86Cursor.h | 3 + xserver/hw/xfree86/scanpci/Makefile.am | 2 +- xserver/hw/xfree86/scanpci/extrapci.ids | 7 +- xserver/hw/xfree86/scanpci/pci.ids | 2084 +- xserver/hw/xfree86/scanpci/xf86PciIds.h | 14461 +++++++- xserver/hw/xfree86/scanpci/xf86PciStdIds.h | 14461 +++++++- xserver/hw/xfree86/shadowfb/Makefile.am | 2 +- xserver/hw/xfree86/utils/cvt/cvt.man.pre | 2 +- xserver/hw/xfree86/utils/gtf/gtf.man.pre | 2 +- .../hw/xfree86/utils/kbd_mode/bsd-kbd_mode.c | 5 - .../hw/xfree86/utils/kbd_mode/sun-kbd_mode.c | 1 - xserver/hw/xfree86/utils/xorgcfg/card-cfg.h | 1 - xserver/hw/xfree86/utils/xorgcfg/config.h | 27 - xserver/hw/xfree86/utils/xorgcfg/help.h | 2 - xserver/hw/xfree86/utils/xorgcfg/interface.c | 3 +- .../hw/xfree86/utils/xorgcfg/keyboard-cfg.c | 7 +- xserver/hw/xfree86/utils/xorgcfg/loadmod.c | 2 +- xserver/hw/xfree86/utils/xorgcfg/mouse-cfg.c | 6 - xserver/hw/xfree86/utils/xorgcfg/mouse-cfg.h | 2 - xserver/hw/xfree86/utils/xorgconfig/Cards | 5 + xserver/hw/xfree86/utils/xorgconfig/cards.c | 20 - xserver/hw/xfree86/utils/xorgconfig/cards.h | 7 - xserver/hw/xfree86/vbe/Makefile.am | 2 +- xserver/hw/xfree86/vbe/vbe.c | 70 + xserver/hw/xfree86/vbe/vbe.h | 16 + xserver/hw/xfree86/vgahw/Makefile.am | 2 +- xserver/hw/xfree86/vgahw/vgaCmap.c | 1 - xserver/hw/xfree86/x86emu/Makefile.am | 2 +- xserver/hw/xfree86/x86emu/debug.c | 2 + xserver/hw/xfree86/x86emu/ops2.c | 36 +- xserver/hw/xfree86/x86emu/prim_ops.c | 4 +- xserver/hw/xfree86/xaa/Makefile.am | 3 +- xserver/hw/xfree86/xaa/xaaDashLine.c | 2 +- xserver/hw/xfree86/xaa/xaaGC.c | 2 +- xserver/hw/xfree86/xaa/xaaGCmisc.c | 2 +- xserver/hw/xfree86/xaa/xaaInit.c | 19 +- xserver/hw/xfree86/xaa/xaaLineMisc.c | 2 +- xserver/hw/xfree86/xaa/xaaROP.c | 2 - xserver/hw/xfree86/xaa/xaaWideLine.c | 4 - xserver/hw/xfree86/xaa/xaaWrapper.c | 2 +- xserver/hw/xfree86/xaa/xaalocal.h | 3 - xserver/hw/xfree86/xaa/xaarop.h | 2 - xserver/hw/xfree86/xf1bpp/maskbits.c | 2 + xserver/hw/xfree86/xf1bpp/mfbbitblt.c | 2 + xserver/hw/xfree86/xf1bpp/mfbbltC.c | 1 + xserver/hw/xfree86/xf1bpp/mfbbltCI.c | 1 + xserver/hw/xfree86/xf1bpp/mfbbltG.c | 1 + xserver/hw/xfree86/xf1bpp/mfbbltO.c | 1 + xserver/hw/xfree86/xf1bpp/mfbbltX.c | 1 + xserver/hw/xfree86/xf1bpp/mfbbres.c | 2 + xserver/hw/xfree86/xf1bpp/mfbbresd.c | 2 + xserver/hw/xfree86/xf1bpp/mfbbstore.c | 2 + xserver/hw/xfree86/xf1bpp/mfbclip.c | 2 + xserver/hw/xfree86/xf1bpp/mfbcmap.c | 2 + xserver/hw/xfree86/xf1bpp/mfbfillarc.c | 2 + xserver/hw/xfree86/xf1bpp/mfbfillrct.c | 2 + xserver/hw/xfree86/xf1bpp/mfbfillsp.c | 2 + xserver/hw/xfree86/xf1bpp/mfbfont.c | 2 + xserver/hw/xfree86/xf1bpp/mfbgc.c | 2 + xserver/hw/xfree86/xf1bpp/mfbgetsp.c | 2 + xserver/hw/xfree86/xf1bpp/mfbhrzvert.c | 2 + xserver/hw/xfree86/xf1bpp/mfbigbblak.c | 1 + xserver/hw/xfree86/xf1bpp/mfbigbwht.c | 1 + xserver/hw/xfree86/xf1bpp/mfbimage.c | 2 + xserver/hw/xfree86/xf1bpp/mfbline.c | 2 + xserver/hw/xfree86/xf1bpp/mfbmisc.c | 2 + xserver/hw/xfree86/xf1bpp/mfbpablack.c | 1 + xserver/hw/xfree86/xf1bpp/mfbpainv.c | 1 + xserver/hw/xfree86/xf1bpp/mfbpawhite.c | 1 + xserver/hw/xfree86/xf1bpp/mfbpgbblak.c | 1 + xserver/hw/xfree86/xf1bpp/mfbpgbinv.c | 1 + xserver/hw/xfree86/xf1bpp/mfbpgbwht.c | 1 + xserver/hw/xfree86/xf1bpp/mfbpixmap.c | 2 + xserver/hw/xfree86/xf1bpp/mfbplyblack.c | 1 + xserver/hw/xfree86/xf1bpp/mfbplyinv.c | 1 + xserver/hw/xfree86/xf1bpp/mfbplywhite.c | 1 + xserver/hw/xfree86/xf1bpp/mfbpntwin.c | 2 + xserver/hw/xfree86/xf1bpp/mfbpolypnt.c | 2 + xserver/hw/xfree86/xf1bpp/mfbpushpxl.c | 2 + xserver/hw/xfree86/xf1bpp/mfbscrclse.c | 2 + xserver/hw/xfree86/xf1bpp/mfbscrinit.c | 2 + xserver/hw/xfree86/xf1bpp/mfbseg.c | 1 + xserver/hw/xfree86/xf1bpp/mfbsetsp.c | 2 + xserver/hw/xfree86/xf1bpp/mfbteblack.c | 1 + xserver/hw/xfree86/xf1bpp/mfbtewhite.c | 1 + xserver/hw/xfree86/xf1bpp/mfbtileC.c | 1 + xserver/hw/xfree86/xf1bpp/mfbtileG.c | 1 + xserver/hw/xfree86/xf1bpp/mfbwindow.c | 2 + xserver/hw/xfree86/xf1bpp/mfbzerarc.c | 2 + xserver/hw/xfree86/xf4bpp/Makefile.am | 5 +- xserver/hw/xfree86/xf4bpp/OScompiler.h | 1 - xserver/hw/xfree86/xf4bpp/emulOpStip.c | 1 - xserver/hw/xfree86/xf4bpp/emulRepAre.c | 1 - xserver/hw/xfree86/xf4bpp/emulTile.c | 1 - xserver/hw/xfree86/xf4bpp/ibmTrace.h | 8 - xserver/hw/xfree86/xf4bpp/mfbbres.c | 1 - xserver/hw/xfree86/xf4bpp/mfbbresd.c | 1 - xserver/hw/xfree86/xf4bpp/mfbfillarc.c | 2 - xserver/hw/xfree86/xf4bpp/mfbhrzvert.c | 1 - xserver/hw/xfree86/xf4bpp/mfbimggblt.c | 2 - xserver/hw/xfree86/xf4bpp/mfbline.c | 1 - xserver/hw/xfree86/xf4bpp/mfbzerarc.c | 3 - xserver/hw/xfree86/xf4bpp/offscreen.c | 20 - xserver/hw/xfree86/xf4bpp/ppcArea.c | 1 - xserver/hw/xfree86/xf4bpp/ppcBStore.c | 1 - xserver/hw/xfree86/xf4bpp/ppcCReduce.c | 2 - xserver/hw/xfree86/xf4bpp/ppcClip.c | 1 - xserver/hw/xfree86/xf4bpp/ppcCpArea.c | 2 - xserver/hw/xfree86/xf4bpp/ppcDepth.c | 2 - xserver/hw/xfree86/xf4bpp/ppcFillRct.c | 1 - xserver/hw/xfree86/xf4bpp/ppcGC.c | 11 +- xserver/hw/xfree86/xf4bpp/ppcGCstr.h | 23 - xserver/hw/xfree86/xf4bpp/ppcGetSp.c | 2 - xserver/hw/xfree86/xf4bpp/ppcIO.c | 1 - xserver/hw/xfree86/xf4bpp/ppcImg.c | 2 - xserver/hw/xfree86/xf4bpp/ppcPixFS.c | 1 - xserver/hw/xfree86/xf4bpp/ppcPixmap.c | 5 - xserver/hw/xfree86/xf4bpp/ppcPntWin.c | 1 - xserver/hw/xfree86/xf4bpp/ppcPolyPnt.c | 1 - xserver/hw/xfree86/xf4bpp/ppcQuery.c | 1 - xserver/hw/xfree86/xf4bpp/ppcRslvC.c | 2 - xserver/hw/xfree86/xf4bpp/ppcSetSp.c | 1 - xserver/hw/xfree86/xf4bpp/ppcSpMcro.h | 1 - xserver/hw/xfree86/xf4bpp/ppcWinFS.c | 1 - xserver/hw/xfree86/xf4bpp/ppcWindow.c | 1 - xserver/hw/xfree86/xf4bpp/vgaBitBlt.c | 4 - xserver/hw/xfree86/xf4bpp/vgaGC.c | 2 - xserver/hw/xfree86/xf4bpp/vgaImages.c | 1 - xserver/hw/xfree86/xf4bpp/vgaReg.h | 2 - xserver/hw/xfree86/xf4bpp/vgaSolid.c | 2 - xserver/hw/xfree86/xf4bpp/vgaStipple.c | 1 - xserver/hw/xfree86/xf4bpp/vgaVideo.h | 2 - xserver/hw/xfree86/xf4bpp/wm3.c | 7 - xserver/hw/xfree86/xf4bpp/wm3.h | 7 - xserver/hw/xfree86/xf4bpp/xf4bpp.h | 8 - xserver/hw/xfree86/xf8_16bpp/Makefile.am | 2 +- xserver/hw/xfree86/xf8_32bpp/Makefile.am | 2 +- xserver/hw/xfree86/xf8_32bpp/cfbcpyplane.c | 2 - xserver/hw/xfree86/xf8_32bpp/cfbgcmisc.c | 2 - xserver/hw/xfree86/xorgconf.cpp | 14 +- xserver/hw/xgl/Makefile.am | 2 +- xserver/hw/xgl/egl/Makefile.am | 2 +- xserver/hw/xgl/egl/evdev.c | 2 - xserver/hw/xgl/egl/kinput.c | 5 +- xserver/hw/xgl/egl/kkeymap.h | 3 - xserver/hw/xgl/egl/module/Makefile.am | 1 + xserver/hw/xgl/egl/module/xeglmodule.c | 2 +- xserver/hw/xgl/egl/xegl.c | 2 +- xserver/hw/xgl/egl/xegl.h | 2 +- xserver/hw/xgl/egl/xeglinit.c | 2 +- xserver/hw/xgl/glx/Makefile.am | 2 +- xserver/hw/xgl/glx/module/Makefile.am | 2 +- xserver/hw/xgl/glx/module/xglxmodule.c | 2 +- xserver/hw/xgl/glx/xglx.c | 4 +- xserver/hw/xgl/glx/xglx.h | 2 +- xserver/hw/xgl/glxext/Makefile.am | 2 +- xserver/hw/xgl/glxext/module/Makefile.am | 2 +- xserver/hw/xgl/xglcompose.c | 2 +- xserver/hw/xgl/xglinit.c | 2 +- xserver/hw/xnest/Args.c | 16 +- xserver/hw/xnest/Args.h | 1 - xserver/hw/xnest/Color.c | 1 - xserver/hw/xnest/Color.h | 1 - xserver/hw/xnest/Display.c | 4 +- xserver/hw/xnest/Drawable.h | 1 - xserver/hw/xnest/Events.c | 73 +- xserver/hw/xnest/Events.h | 1 - xserver/hw/xnest/GCOps.h | 1 - xserver/hw/xnest/Handlers.h | 1 - xserver/hw/xnest/Init.c | 9 +- xserver/hw/xnest/Keyboard.c | 10 +- xserver/hw/xnest/Keyboard.h | 1 - xserver/hw/xnest/Makefile.am | 25 +- xserver/hw/xnest/Pixmap.c | 6 - xserver/hw/xnest/Pointer.c | 5 +- xserver/hw/xnest/Pointer.h | 1 - xserver/hw/xnest/Screen.c | 6 +- xserver/hw/xnest/Screen.h | 1 - xserver/hw/xnest/Visual.c | 1 - xserver/hw/xnest/Visual.h | 1 - xserver/hw/xnest/XNFont.h | 2 - xserver/hw/xnest/XNGC.h | 1 - xserver/hw/xnest/XNPixmap.h | 7 - xserver/hw/xnest/Xnest.h | 1 - xserver/hw/xnest/Xnest.man.pre | 596 +- xserver/hw/xprint/ValTree.c | 1 - xserver/hw/xprint/attributes.c | 1 - .../models/CANONC3200-PS/fonts/Makefile.am | 10 +- .../models/HPLJ4050-PS/fonts/Makefile.am | 10 +- .../print/models/PSdefault/fonts/Makefile.am | 7 +- .../PSdefault/fonts/NewCentSchlbk-Bold.pmf | Bin 0 -> 6644 bytes .../fonts/NewCentSchlbk-BoldItal.pmf | Bin 0 -> 6656 bytes .../PSdefault/fonts/NewCentSchlbk-Ital.pmf | Bin 0 -> 6652 bytes .../PSdefault/fonts/NewCentSchlbk-Roman.pmf | Bin 0 -> 6648 bytes .../C/print/models/SPSPARC2/fonts/Makefile.am | 2 +- xserver/hw/xprint/ddxInit.c | 12 +- xserver/hw/xprint/pcl/PclFonts.c | 1 - xserver/hw/xprint/pcl/PclInit.c | 32 - xserver/hw/xprint/spooler.c | 1 - xserver/hw/xwin/InitInput.c | 3 +- xserver/hw/xwin/InitOutput.c | 3 +- xserver/hw/xwin/Makefile.am | 2 +- xserver/hw/xwin/ddraw.h | 2 - xserver/hw/xwin/winclipboardwrappers.c | 8 +- xserver/hw/xwin/winconfig.c | 2 +- xserver/hw/xwin/winconfig.h | 1 - xserver/hw/xwin/winkeybd.c | 2 +- xserver/hw/xwin/winkeymap.h | 1 - xserver/hw/xwin/winkeynames.h | 1 - xserver/hw/xwin/winmouse.c | 5 +- xserver/hw/xwin/winmsg.c | 1 - xserver/hw/xwin/winmsg.h | 2 - xserver/hw/xwin/winmultiwindowclass.c | 3 +- xserver/hw/xwin/winmultiwindowclass.h | 2 - xserver/hw/xwin/winmultiwindowwm.c | 5 +- xserver/hw/xwin/winmultiwindowwndproc.c | 9 +- xserver/hw/xwin/winprefs.c | 1 - xserver/hw/xwin/winprefs.h | 1 - xserver/hw/xwin/winprefslex.c | 41 +- xserver/hw/xwin/winprefsyacc.c | 1304 +- xserver/hw/xwin/winprefsyacc.h | 49 +- xserver/hw/xwin/winrop.c | 1 - xserver/hw/xwin/wintrayicon.c | 1 - xserver/hw/xwin/winwin32rootlesswndproc.c | 5 +- xserver/hw/xwin/winwindowswm.c | 21 +- xserver/hw/xwin/winwndproc.c | 5 +- xserver/include/Makefile.am | 2 + xserver/include/XIstubs.h | 12 - xserver/include/dix.h | 262 +- xserver/include/dixevents.h | 4 + xserver/include/dixstruct.h | 4 - xserver/include/exevents.h | 15 +- xserver/include/extinit.h | 113 - xserver/include/extnsionst.h | 35 - xserver/include/gc.h | 5 - xserver/include/globals.h | 4 - xserver/include/hotplug.h | 32 + xserver/include/input.h | 97 +- xserver/include/inputstr.h | 75 +- xserver/include/kdrive-config.h.in | 6 + xserver/include/misc.h | 2 +- xserver/include/miscstruct.h | 5 +- xserver/include/pixmap.h | 11 +- xserver/include/pixmapstr.h | 3 - xserver/include/regionstr.h | 18 +- xserver/include/resource.h | 9 +- xserver/include/screenint.h | 4 - xserver/include/scrnintstr.h | 2 - xserver/include/swaprep.h | 18 - xserver/include/window.h | 20 - xserver/include/windowstr.h | 35 +- xserver/include/xkbsrv.h | 1022 + xserver/install-sh | 342 +- xserver/mfb/mfbpixmap.c | 4 - xserver/mfb/mfbwindow.c | 1 - xserver/mi/Makefile.am | 10 +- xserver/mi/mi.h | 58 +- xserver/mi/miarc.c | 155 +- xserver/mi/mibitblt.c | 22 +- xserver/mi/mibstore.c | 62 +- xserver/mi/micmap.c | 22 +- xserver/mi/midash.c | 193 +- xserver/mi/mieq.c | 244 +- xserver/mi/miexpose.c | 32 +- xserver/mi/mifillarc.c | 70 +- xserver/mi/mifillarc.h | 24 - xserver/mi/mifillrct.c | 20 +- xserver/mi/mifpoly.h | 13 +- xserver/mi/mifpolycon.c | 12 +- xserver/mi/miglblt.c | 20 +- xserver/mi/miinitext.c | 37 +- xserver/mi/miline.h | 2 +- xserver/mi/mioverlay.c | 14 +- xserver/mi/mipointer.c | 256 +- xserver/mi/mipointer.h | 62 +- xserver/mi/mipointrst.h | 10 - xserver/mi/mipoly.c | 9 +- xserver/mi/mipoly.h | 8 - xserver/mi/mipolycon.c | 8 +- xserver/mi/mipolygen.c | 12 +- xserver/mi/mipolypnt.c | 2 +- xserver/mi/mipolytext.c | 51 - xserver/mi/mipolyutil.c | 52 +- xserver/mi/mipushpxl.c | 10 +- xserver/mi/miregion.c | 1023 +- xserver/mi/miscrinit.c | 14 +- xserver/mi/mispans.c | 82 +- xserver/mi/mispans.h | 16 - xserver/mi/misprite.c | 10 +- xserver/mi/mistruct.h | 1 - xserver/mi/mivalidate.h | 2 - xserver/mi/mivaltree.c | 61 +- xserver/mi/miwideline.c | 249 +- xserver/mi/miwideline.h | 42 - xserver/mi/miwindow.c | 48 +- xserver/mi/mizerarc.c | 32 +- xserver/mi/mizerarc.h | 6 - xserver/miext/Makefile.am | 3 + xserver/miext/cw/cw.c | 25 +- xserver/miext/cw/cw.h | 5 - xserver/miext/cw/cw_ops.c | 38 +- xserver/miext/cw/cw_render.c | 1 - xserver/miext/damage/damage.c | 180 +- xserver/miext/damage/damage.h | 5 +- xserver/miext/damage/damagestr.h | 11 +- xserver/miext/rootless/Makefile.am | 29 +- xserver/miext/rootless/accel/Makefile.am | 18 + xserver/miext/rootless/accel/Makefile.in | 640 + xserver/miext/rootless/accel/rlBlt.c | 1 + xserver/miext/rootless/rootlessCommon.c | 3 + xserver/miext/rootless/rootlessGC.c | 1 + xserver/miext/rootless/rootlessValTree.c | 1 + xserver/miext/rootless/rootlessWindow.c | 6 +- xserver/miext/rootless/safeAlpha/Makefile.am | 12 + xserver/miext/rootless/safeAlpha/Makefile.in | 627 + .../rootless/safeAlpha/safeAlphaPicture.c | 534 +- .../rootless/safeAlpha/safeAlphaWindow.c | 4 + xserver/miext/shadow/shadow.c | 2 - xserver/miext/shadow/shalloc.c | 2 - xserver/miext/shadow/shrot16pack.c | 2 - xserver/miext/shadow/shrot16pack_180.c | 2 - xserver/miext/shadow/shrot16pack_270.c | 2 - xserver/miext/shadow/shrot16pack_270YX.c | 2 - xserver/miext/shadow/shrot16pack_90.c | 2 - xserver/miext/shadow/shrot16pack_90YX.c | 2 - xserver/miext/shadow/shrot32pack.c | 2 - xserver/miext/shadow/shrot32pack_180.c | 2 - xserver/miext/shadow/shrot32pack_270.c | 2 - xserver/miext/shadow/shrot32pack_90.c | 2 - xserver/miext/shadow/shrot8pack.c | 2 - xserver/miext/shadow/shrot8pack_180.c | 2 - xserver/miext/shadow/shrot8pack_270.c | 2 - xserver/miext/shadow/shrot8pack_90.c | 2 - xserver/miext/shadow/shrotpackYX.h | 2 - xserver/missing | 61 +- xserver/os/WaitFor.c | 17 +- xserver/os/auth.c | 32 - xserver/os/io.c | 33 +- xserver/os/os.c | 0 xserver/os/osdep.h | 42 +- xserver/os/strlcat.c | 3 - xserver/os/strlcpy.c | 3 - xserver/randr/Makefile.am | 18 +- xserver/randr/mirandr.c | 187 +- xserver/randr/randr.c | 1333 +- xserver/randr/randrstr.h | 780 +- xserver/randr/rrcrtc.c | 951 + xserver/randr/rrdispatch.c | 214 + xserver/randr/rrinfo.c | 335 + xserver/randr/rrmode.c | 397 + xserver/randr/rroutput.c | 535 + xserver/randr/rrpointer.c | 145 + xserver/randr/rrproperty.c | 692 + xserver/randr/rrscreen.c | 982 + xserver/randr/rrsdispatch.c | 305 + xserver/randr/rrxinerama.c | 444 + xserver/record/set.c | 8 +- xserver/record/set.h | 2 - xserver/render/animcur.c | 4 +- xserver/render/filter.c | 2 - xserver/render/glyph.c | 10 +- xserver/render/glyphstr.h | 2 - xserver/render/mipict.c | 58 +- xserver/render/mipict.h | 6 + xserver/render/picture.c | 146 +- xserver/render/picture.h | 164 +- xserver/render/picturestr.h | 66 +- xserver/render/renderedge.h | 17 +- xserver/xfixes/cursor.c | 23 +- xserver/xfixes/region.c | 57 +- xserver/xfixes/saveset.c | 9 +- xserver/xfixes/select.c | 14 +- xserver/xfixes/xfixes.c | 8 +- xserver/xfixes/xfixes.h | 2 - xserver/xfixes/xfixesint.h | 5 - xserver/xkb/Makefile.am | 3 +- xserver/xkb/XKBAlloc.c | 162 +- xserver/xkb/XKBGAlloc.c | 2 +- xserver/xkb/XKBMAlloc.c | 82 +- xserver/xkb/XKBMisc.c | 183 +- xserver/xkb/ddxBeep.c | 34 +- xserver/xkb/ddxCtrls.c | 2 +- xserver/xkb/ddxDevBtn.c | 2 +- xserver/xkb/ddxFakeBtn.c | 3 +- xserver/xkb/ddxFakeMtn.c | 2 +- xserver/xkb/ddxInit.c | 3 +- xserver/xkb/ddxKeyClick.c | 3 +- xserver/xkb/ddxKillSrv.c | 2 +- xserver/xkb/ddxLEDs.c | 5 +- xserver/xkb/ddxList.c | 2 +- xserver/xkb/ddxLoad.c | 56 +- xserver/xkb/ddxPrivate.c | 2 +- xserver/xkb/ddxVT.c | 2 +- xserver/xkb/maprules.c | 2 +- xserver/xkb/xkb.c | 559 +- xserver/xkb/xkb.h | 45 +- xserver/xkb/xkbAccessX.c | 18 +- xserver/xkb/xkbActions.c | 12 +- xserver/xkb/xkbDflts.h | 37 - xserver/xkb/xkbEvents.c | 48 +- xserver/xkb/xkbInit.c | 28 +- xserver/xkb/xkbLEDs.c | 471 +- xserver/xkb/xkbPrKeyEv.c | 2 +- xserver/xkb/xkbSwap.c | 2 +- xserver/xkb/xkbUtils.c | 1242 +- xserver/xkb/xkberrs.c | 31 - xserver/xkb/xkbfmisc.c | 109 +- xserver/xkb/xkbout.c | 128 +- xserver/xkb/xkbtext.c | 98 +- xserver/xkb/xkmread.c | 14 +- xserver/xorg-server.pc.in | 2 +- xserver/ylwrap | 223 + 1199 files changed, 115035 insertions(+), 25311 deletions(-) create mode 100644 xserver/ChangeLog create mode 100644 xserver/GL/apple/Makefile.am create mode 100644 xserver/GL/apple/Makefile.in create mode 100644 xserver/GL/glx/glxbyteorder.h create mode 100644 xserver/GL/glx/glxglcore.c create mode 100644 xserver/GL/mesa/vbo/Makefile.am create mode 100644 xserver/GL/mesa/vbo/Makefile.in create mode 100644 xserver/autogen.sh create mode 100644 xserver/config/Makefile.am create mode 100644 xserver/config/Makefile.in create mode 100644 xserver/config/config-backends.h create mode 100644 xserver/config/config.c create mode 100644 xserver/config/dbus-core.c create mode 100644 xserver/config/dbus.c create mode 100644 xserver/config/hal.c create mode 100644 xserver/config/x11-input.fdi create mode 100644 xserver/config/xorg-server.conf create mode 100644 xserver/dix/Xserver-dtrace.h.in create mode 100644 xserver/dix/Xserver.d create mode 100644 xserver/dix/dix.c create mode 100644 xserver/dix/getevents.c create mode 100644 xserver/doc/SecurityPolicy.man.pre create mode 100644 xserver/fb/fbcmap_mi.c create mode 100644 xserver/fb/wfbrename.h create mode 100644 xserver/hw/darwin/apple/X11Application.m create mode 100644 xserver/hw/darwin/apple/X11Controller.m create mode 100644 xserver/hw/darwin/bundle/Dutch.lproj/Makefile.am create mode 100644 xserver/hw/darwin/bundle/Dutch.lproj/Makefile.in create mode 100644 xserver/hw/darwin/bundle/English.lproj/Makefile.am create mode 100644 xserver/hw/darwin/bundle/English.lproj/Makefile.in create mode 100644 xserver/hw/darwin/bundle/French.lproj/Makefile.am create mode 100644 xserver/hw/darwin/bundle/French.lproj/Makefile.in create mode 100644 xserver/hw/darwin/bundle/German.lproj/Makefile.am create mode 100644 xserver/hw/darwin/bundle/German.lproj/Makefile.in create mode 100644 xserver/hw/darwin/bundle/Info.plist create mode 100644 xserver/hw/darwin/bundle/Japanese.lproj/Makefile.am create mode 100644 xserver/hw/darwin/bundle/Japanese.lproj/Makefile.in create mode 100644 xserver/hw/darwin/bundle/Makefile.am create mode 100644 xserver/hw/darwin/bundle/Makefile.in create mode 100644 xserver/hw/darwin/bundle/Portuguese.lproj/Makefile.am create mode 100644 xserver/hw/darwin/bundle/Portuguese.lproj/Makefile.in create mode 100644 xserver/hw/darwin/bundle/Spanish.lproj/Makefile.am create mode 100644 xserver/hw/darwin/bundle/Spanish.lproj/Makefile.in create mode 100644 xserver/hw/darwin/bundle/Swedish.lproj/Makefile.am create mode 100644 xserver/hw/darwin/bundle/Swedish.lproj/Makefile.in create mode 100644 xserver/hw/darwin/bundle/ko.lproj/Makefile.am create mode 100644 xserver/hw/darwin/bundle/ko.lproj/Makefile.in create mode 100644 xserver/hw/darwin/iokit/Makefile.am create mode 100644 xserver/hw/darwin/iokit/Makefile.in create mode 100644 xserver/hw/darwin/quartz/Makefile.am create mode 100644 xserver/hw/darwin/quartz/Makefile.in create mode 100644 xserver/hw/darwin/utils/Makefile.am create mode 100644 xserver/hw/darwin/utils/Makefile.in create mode 100644 xserver/hw/kdrive/src/kkeymap.c create mode 100644 xserver/hw/xfree86/modes/Makefile.am create mode 100644 xserver/hw/xfree86/modes/Makefile.in create mode 100644 xserver/hw/xfree86/modes/xf86Crtc.c create mode 100644 xserver/hw/xfree86/modes/xf86Crtc.h create mode 100644 xserver/hw/xfree86/modes/xf86Cursors.c create mode 100644 xserver/hw/xfree86/modes/xf86DiDGA.c create mode 100644 xserver/hw/xfree86/modes/xf86EdidModes.c create mode 100644 xserver/hw/xfree86/modes/xf86Modes.c create mode 100644 xserver/hw/xfree86/modes/xf86Modes.h create mode 100644 xserver/hw/xfree86/modes/xf86RandR12.c create mode 100644 xserver/hw/xfree86/modes/xf86RandR12.h create mode 100644 xserver/hw/xfree86/modes/xf86Rename.h create mode 100644 xserver/hw/xfree86/modes/xf86Rotate.c create mode 100644 xserver/hw/xfree86/modes/xf86cvt.c create mode 100644 xserver/hw/xfree86/os-support/bsd/bsd_bell.c create mode 100644 xserver/hw/xfree86/os-support/hurd/hurd_bell.c create mode 100644 xserver/hw/xfree86/os-support/linux/lnx_bell.c create mode 100644 xserver/hw/xfree86/os-support/solaris/sun_apm.c create mode 100644 xserver/hw/xfree86/os-support/solaris/sun_bell.c create mode 100644 xserver/hw/xfree86/xf1bpp/maskbits.c create mode 100644 xserver/hw/xfree86/xf1bpp/mfbbitblt.c create mode 100644 xserver/hw/xfree86/xf1bpp/mfbbres.c create mode 100644 xserver/hw/xfree86/xf1bpp/mfbbresd.c create mode 100644 xserver/hw/xfree86/xf1bpp/mfbbstore.c create mode 100644 xserver/hw/xfree86/xf1bpp/mfbclip.c create mode 100644 xserver/hw/xfree86/xf1bpp/mfbcmap.c create mode 100644 xserver/hw/xfree86/xf1bpp/mfbfillarc.c create mode 100644 xserver/hw/xfree86/xf1bpp/mfbfillrct.c create mode 100644 xserver/hw/xfree86/xf1bpp/mfbfillsp.c create mode 100644 xserver/hw/xfree86/xf1bpp/mfbfont.c create mode 100644 xserver/hw/xfree86/xf1bpp/mfbgc.c create mode 100644 xserver/hw/xfree86/xf1bpp/mfbgetsp.c create mode 100644 xserver/hw/xfree86/xf1bpp/mfbhrzvert.c create mode 100644 xserver/hw/xfree86/xf1bpp/mfbimage.c create mode 100644 xserver/hw/xfree86/xf1bpp/mfbline.c create mode 100644 xserver/hw/xfree86/xf1bpp/mfbmisc.c create mode 100644 xserver/hw/xfree86/xf1bpp/mfbpixmap.c create mode 100644 xserver/hw/xfree86/xf1bpp/mfbpntwin.c create mode 100644 xserver/hw/xfree86/xf1bpp/mfbpolypnt.c create mode 100644 xserver/hw/xfree86/xf1bpp/mfbpushpxl.c create mode 100644 xserver/hw/xfree86/xf1bpp/mfbscrclse.c create mode 100644 xserver/hw/xfree86/xf1bpp/mfbscrinit.c create mode 100644 xserver/hw/xfree86/xf1bpp/mfbsetsp.c create mode 100644 xserver/hw/xfree86/xf1bpp/mfbwindow.c create mode 100644 xserver/hw/xfree86/xf1bpp/mfbzerarc.c create mode 100644 xserver/hw/xprint/config/C/print/models/PSdefault/fonts/NewCentSchlbk-Bold.pmf create mode 100644 xserver/hw/xprint/config/C/print/models/PSdefault/fonts/NewCentSchlbk-BoldItal.pmf create mode 100644 xserver/hw/xprint/config/C/print/models/PSdefault/fonts/NewCentSchlbk-Ital.pmf create mode 100644 xserver/hw/xprint/config/C/print/models/PSdefault/fonts/NewCentSchlbk-Roman.pmf create mode 100644 xserver/include/hotplug.h create mode 100644 xserver/include/xkbsrv.h create mode 100644 xserver/miext/rootless/accel/Makefile.am create mode 100644 xserver/miext/rootless/accel/Makefile.in create mode 100644 xserver/miext/rootless/safeAlpha/Makefile.am create mode 100644 xserver/miext/rootless/safeAlpha/Makefile.in create mode 100644 xserver/os/os.c create mode 100644 xserver/randr/rrcrtc.c create mode 100644 xserver/randr/rrdispatch.c create mode 100644 xserver/randr/rrinfo.c create mode 100644 xserver/randr/rrmode.c create mode 100644 xserver/randr/rroutput.c create mode 100644 xserver/randr/rrpointer.c create mode 100644 xserver/randr/rrproperty.c create mode 100644 xserver/randr/rrscreen.c create mode 100644 xserver/randr/rrsdispatch.c create mode 100644 xserver/randr/rrxinerama.c create mode 100644 xserver/ylwrap diff --git a/xserver/COPYING b/xserver/COPYING index 7f33cbfd2..097ef984f 100644 --- a/xserver/COPYING +++ b/xserver/COPYING @@ -1,12 +1,2713 @@ -This is a stub file. This package has not yet had its complete licensing -information compiled. Please see the individual source files for details on -your rights to use and modify this software. +Copyright (C) 1994-2003 The XFree86 Project, Inc. All Rights Reserved. -Please submit updated COPYING files to the Xorg bugzilla: +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: -https://bugs.freedesktop.org/enter_bug.cgi?product=xorg +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -All licensing questions regarding this software should be directed at the -Xorg mailing list: +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FIT- +NESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +XFREE86 PROJECT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of the XFree86 Project shall not +be used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from the XFree86 Project. + + +Copyright 1997-2003 by The XFree86 Project, Inc. + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the names of Orest Zborowski and David Wexelblat +not be used in advertising or publicity pertaining to distribution of +the software without specific, written prior permission. Orest Zborowski +and David Wexelblat make no representations about the suitability of this +software for any purpose. It is provided "as is" without express or +implied warranty. + +THE XFREE86 PROJECT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD +TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS, IN NO EVENT SHALL OREST ZBOROWSKI OR DAVID WEXELBLAT BE LIABLE +FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +Copyright 2005 Kean Johnston +Copyright 1999 by The XFree86 Project, Inc. + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the names of The XFree86 Project, Inc +and Kean Johnston not be used in advertising or publicity pertaining to +distribution of the software without specific, written prior permission. +The XFree86 Project, Inc and Kean Johnston make no representations +about the suitability of this software for any purpose. It is provided +"as is" without express or implied warranty. + +THE XFREE86 PROJECT, INC AND KEAN JOHNSTON DISCLAIM ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL THOMAS ROELL, DAVID WEXELBLAT +OR KEAN JOHNSTON BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL +DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR +PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS +ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. + + +Copyright 1985-1998, 2001 The Open Group +Copyright 2002 Red Hat Inc., Durham, North Carolina. + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + +Copyright (c) 1987, 1989-1990, 1992-1995 X Consortium + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of the X Consortium shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from the X Consortium. + + +Copyright © 1999-2000 SuSE, Inc. + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the name of SuSE not be used in advertising or +publicity pertaining to distribution of the software without specific, +written prior permission. SuSE makes no representations about the +suitability of this software for any purpose. It is provided "as is" +without express or implied warranty. + +SuSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SuSE +BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION +OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +Copyright © 2005 Novell, Inc. + +Permission to use, copy, modify, distribute, and sell this software +and its documentation for any purpose is hereby granted without +fee, provided that the above copyright notice appear in all copies +and that both that copyright notice and this permission notice +appear in supporting documentation, and that the name of +Novell, Inc. not be used in advertising or publicity pertaining to +distribution of the software without specific, written prior permission. +Novell, Inc. makes no representations about the suitability of this +software for any purpose. It is provided "as is" without express or +implied warranty. + +NOVELL, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN +NO EVENT SHALL NOVELL, INC. BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, +NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION +WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +Copyright 1987 by Sun Microsystems, Inc. Mountain View, CA. +All Rights Reserved + +Permission to use, copy, modify, and distribute this +software and its documentation for any purpose and without +fee is hereby granted, provided that the above copyright no- +tice appear in all copies and that both that copyright no- +tice and this permission notice appear in supporting docu- +mentation, and that the names of Sun or X Consortium +not be used in advertising or publicity pertaining to +distribution of the software without specific prior +written permission. Sun and X Consortium make no +representations about the suitability of this software for +any purpose. It is provided "as is" without any express or +implied warranty. + +SUN DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FIT- +NESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SUN BE LI- +ABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR +PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH +THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +Copyright 1987 by Sun Microsystems, Inc. Mountain View, CA. +All Rights Reserved + +Permission to use, copy, modify, and distribute this +software and its documentation for any purpose and without +fee is hereby granted, provided that the above copyright no- +tice appear in all copies and that both that copyright no- +tice and this permission notice appear in supporting docu- +mentation, and that the names of Sun or The Open Group +not be used in advertising or publicity pertaining to +distribution of the software without specific prior +written permission. Sun and The Open Group make no +representations about the suitability of this software for +any purpose. It is provided "as is" without any express or +implied warranty. + +SUN DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FIT- +NESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SUN BE LI- +ABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR +PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH +THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +Copyright © 2006 Sun Microsystems + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the name of Sun Microsystems not be used in +advertising or publicity pertaining to distribution of the software without +specific, written prior permission. Sun Microsystems makes no +representations about the suitability of this software for any purpose. It +is provided "as is" without express or implied warranty. + +SUN MICROSYSTEMS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +EVENT SHALL SUN MICROSYSTEMS BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + + +Copyright 1987-1991, 1993 by Digital Equipment Corporation, Maynard, Massachusetts. +Copyright 1991 Massachusetts Institute of Technology, Cambridge, Massachusetts. +Copyright 1991, 1993 Olivetti Research Limited, Cambridge, England. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + + +Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts, +Copyright 1994 Quarterdeck Office Systems. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the names of Digital and +Quarterdeck not be used in advertising or publicity pertaining to +distribution of the software without specific, written prior +permission. + +DIGITAL AND QUARTERDECK DISCLAIM ALL WARRANTIES WITH REGARD TO THIS +SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS, IN NO EVENT SHALL DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT +OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE +OR PERFORMANCE OF THIS SOFTWARE. + + +Copyright 1987-1992 by Digital Equipment Corp., Maynard, MA +X11R6 Changes Copyright (c) 1994 by Robert Chesler of Absol-Puter, Hudson, NH. + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL AND ABSOL-PUTER DISCLAIM ALL WARRANTIES WITH REGARD TO THIS +SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS, IN NO EVENT SHALL DIGITAL OR ABSOL-PUTER BE LIABLE FOR ANY +SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER +RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF +CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +Copyright 1997 Digital Equipment Corporation. +All rights reserved. + +This software is furnished under license and may be used and copied only in +accordance with the following terms and conditions. Subject to these +conditions, you may download, copy, install, use, modify and distribute +this software in source and/or binary form. No title or ownership is +transferred hereby. + +1) Any source code used, modified or distributed must reproduce and retain + this copyright notice and list of conditions as they appear in the + source file. + +2) No right is granted to use any trade name, trademark, or logo of Digital + Equipment Corporation. Neither the "Digital Equipment Corporation" + name nor any trademark or logo of Digital Equipment Corporation may be + used to endorse or promote products derived from this software without + the prior written permission of Digital Equipment Corporation. + +3) This software is provided "AS-IS" and any express or implied warranties, + including but not limited to, any implied warranties of merchantability, + fitness for a particular purpose, or non-infringement are disclaimed. + In no event shall DIGITAL be liable for any damages whatsoever, and in + particular, DIGITAL shall not be liable for special, indirect, + consequential, or incidental damages or damages for lost profits, loss + of revenue or loss of use, whether such damages arise in contract, + negligence, tort, under statute, in equity, at law or otherwise, even + if advised of the possibility of such damage. + + +Copyright (c) 1991, 1996-1997 Digital Equipment Corporation, Maynard, Massachusetts. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +DIGITAL EQUIPMENT CORPORATION BE LIABLE FOR ANY CLAIM, DAMAGES, INCLUDING, +BUT NOT LIMITED TO CONSEQUENTIAL OR INCIDENTAL DAMAGES, OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of Digital Equipment Corporation +shall not be used in advertising or otherwise to promote the sale, use or other +dealings in this Software without prior written authorization from Digital +Equipment Corporation. + + +Copyright (c) 1993-1997 by Silicon Graphics Computer Systems, Inc. + +Permission to use, copy, modify, and distribute this +software and its documentation for any purpose and without +fee is hereby granted, provided that the above copyright +notice appear in all copies and that both that copyright +notice and this permission notice appear in supporting +documentation, and that the name of Silicon Graphics not be +used in advertising or publicity pertaining to distribution +of the software without specific prior written permission. +Silicon Graphics makes no representation about the suitability +of this software for any purpose. It is provided "as is" +without any express or implied warranty. + +SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS +SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON +GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL +DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH +THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +License Applicability. Except to the extent portions of this file are +made subject to an alternative license as permitted in the SGI Free +Software License B, Version 1.1 (the "License"), the contents of this +file are subject only to the provisions of the License. You may not use +this file except in compliance with the License. You may obtain a copy +of the License at Silicon Graphics, Inc., attn: Legal Services, 1600 +Amphitheatre Parkway, Mountain View, CA 94043-1351, or at: + +http://oss.sgi.com/projects/FreeB + +Note that, as provided in the License, the Software is distributed on an +"AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS +DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND +CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A +PARTICULAR PURPOSE, AND NON-INFRINGEMENT. + +Original Code. The Original Code is: OpenGL Sample Implementation, +Version 1.2.1, released January 26, 2000, developed by Silicon Graphics, +Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc. +Copyright in any portions created by third parties is as indicated +elsewhere herein. All Rights Reserved. + +Additional Notice Provisions: The application programming interfaces +established by SGI in conjunction with the Original Code are The +OpenGL(R) Graphics System: A Specification (Version 1.2.1), released +April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version +1.3), released November 4, 1998; and OpenGL(R) Graphics with the X +Window System(R) (Version 1.3), released October 19, 1998. This software +was created using the OpenGL(R) version 1.2.1 Sample Implementation +published by SGI, but has not been independently verified as being +compliant with the OpenGL(R) version 1.2.1 Specification. + + +The contents of this file are subject to the GLX Public License Version 1.0 +(the "License"). You may not use this file except in compliance with the +License. You may obtain a copy of the License at Silicon Graphics, Inc., +attn: Legal Services, 2011 N. Shoreline Blvd., Mountain View, CA 94043 +or at http://www.sgi.com/software/opensource/glx/license.html. + +Software distributed under the License is distributed on an "AS IS" +basis. ALL WARRANTIES ARE DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY +IMPLIED WARRANTIES OF MERCHANTABILITY, OF FITNESS FOR A PARTICULAR +PURPOSE OR OF NON- INFRINGEMENT. See the License for the specific +language governing rights and limitations under the License. + +The Original Software is GLX version 1.2 source code, released February, +1999. The developer of the Original Software is Silicon Graphics, Inc. +Those portions of the Subject Software created by Silicon Graphics, Inc. +are Copyright (c) 1991-9 Silicon Graphics, Inc. All Rights Reserved. + + +Copyright (c) 1994, 1995 Hewlett-Packard Company + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL HEWLETT-PACKARD COMPANY BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR +THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of the Hewlett-Packard +Company shall not be used in advertising or otherwise to promote the +sale, use or other dealings in this Software without prior written +authorization from the Hewlett-Packard Company. + + +Copyright 1989 by Hewlett-Packard Company, Palo Alto, California. +All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Hewlett-Packard not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +HEWLETT-PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +HEWLETT-PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + + +Copyright 2001-2004 Red Hat Inc., Durham, North Carolina. +Copyright (c) 2003 by the XFree86 Project, Inc. +Copyright 2004-2005 Red Hat Inc., Raleigh, North Carolina. +All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation on the rights to use, copy, modify, merge, +publish, distribute, sublicense, and/or sell copies of the Software, +and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice (including the +next paragraph) shall be included in all copies or substantial +portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NON-INFRINGEMENT. IN NO EVENT SHALL RED HAT AND/OR THEIR SUPPLIERS +BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +Copyright 2005 Red Hat, Inc. + +Permission to use, copy, modify, distribute, and sell this software +and its documentation for any purpose is hereby granted without +fee, provided that the above copyright notice appear in all copies +and that both that copyright notice and this permission notice +appear in supporting documentation, and that the name of Red Hat +not be used in advertising or publicity pertaining to distribution +of the software without specific, written prior permission. Red +Hat makes no representations about the suitability of this software +for any purpose. It is provided "as is" without express or implied +warranty. + +RED HAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN +NO EVENT SHALL RED HAT BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, +NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +Copyright (c) 2006, Red Hat, Inc. + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +RED HAT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of Red Hat shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from Red Hat. + + +Copyright © 2006 Red Hat, Inc + +Permission to use, copy, modify, distribute, and sell this software +and its documentation for any purpose is hereby granted without +fee, provided that the above copyright notice appear in all copies +and that both that copyright notice and this permission notice +appear in supporting documentation, and that the name of Red Hat, +Inc not be used in advertising or publicity pertaining to +distribution of the software without specific, written prior +permission. Red Hat, Inc makes no representations about the +suitability of this software for any purpose. It is provided "as +is" without express or implied warranty. + +RED HAT, INC DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN +NO EVENT SHALL RED HAT, INC BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, +NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +Copyright © 2006 Red Hat, Inc. +(C) Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas. +All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sub license, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice (including the next +paragraph) shall be included in all copies or substantial portions of the +Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL +RED HAT, INC, OR PRECISION INSIGHT AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT +OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR +THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +Copyright (c) 1995 X Consortium +Copyright 2004 Red Hat Inc., Durham, North Carolina. +All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation on the rights to use, copy, modify, merge, +publish, distribute, sublicense, and/or sell copies of the Software, +and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NON-INFRINGEMENT. IN NO EVENT SHALL RED HAT, THE X CONSORTIUM, +AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of the X Consortium +shall not be used in advertising or otherwise to promote the sale, +use or other dealings in this Software without prior written +authorization from the X Consortium. + + +Copyright 1998-2000 Precision Insight, Inc., Cedar Park, Texas. +Copyright 2000 VA Linux Systems, Inc. +Copyright (c) 2002 Apple Computer, Inc. +Copyright (c) 2003-2004 Torrey T. Lyons. +All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sub license, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice (including the +next paragraph) shall be included in all copies or substantial portions +of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. +IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR +ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +Copyright IBM Corporation 1987,1988,1989 +All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of IBM not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + + +(C) Copyright IBM Corporation 2003 +All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +on the rights to use, copy, modify, merge, publish, distribute, sub +license, and/or sell copies of the Software, and to permit persons to whom +the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice (including the next +paragraph) shall be included in all copies or substantial portions of the +Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL +VA LINUX SYSTEM, IBM AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. + + +(C) Copyright IBM Corporation 2004-2005 +All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sub license, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice (including the next +paragraph) shall be included in all copies or substantial portions of the +Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL +IBM, +AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF +OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +Copyright (c) 1997 Metro Link Incorporated + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF +OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +Except as contained in this notice, the name of the Metro Link shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from Metro Link. + + +Copyright 1995-1998 by Metro Link, Inc. +Copyright (c) 1997 Matthieu Herrb + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the name of Metro Link, Inc. not be used in +advertising or publicity pertaining to distribution of the software without +specific, written prior permission. Metro Link, Inc. makes no +representations about the suitability of this software for any purpose. + It is provided "as is" without express or implied warranty. + +METRO LINK, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +EVENT SHALL METRO LINK, INC. BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + + +Copyright 1998 by Metro Link Incorporated + +Permission to use, copy, modify, distribute, and sell this software +and its documentation for any purpose is hereby granted without fee, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Metro Link +Incorporated not be used in advertising or publicity pertaining to +distribution of the software without specific, written prior +permission. Metro Link Incorporated makes no representations +about the suitability of this software for any purpose. It is +provided "as is" without express or implied warranty. + +METRO LINK INCORPORATED DISCLAIMS ALL WARRANTIES WITH REGARD +TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS, IN NO EVENT SHALL METRO LINK INCORPORATED BE +LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY +DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + + +Copyright (c) 2000 by Conectiva S.A. (http://www.conectiva.com) + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +CONECTIVA LINUX BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF +OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +Except as contained in this notice, the name of Conectiva Linux shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in this Software without prior written authorization from +Conectiva Linux. + + +Copyright (c) 2001, Andy Ritger aritger@nvidia.com +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +o Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +o Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. +o Neither the name of NVIDIA nor the names of its contributors + may be used to endorse or promote products derived from this + software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT +NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + + +Copyright 1992 Vrije Universiteit, The Netherlands + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, provided +that the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the name of the Vrije Universiteit not be used in +advertising or publicity pertaining to distribution of the software without +specific, written prior permission. The Vrije Universiteit makes no +representations about the suitability of this software for any purpose. +It is provided "as is" without express or implied warranty. + +The Vrije Universiteit DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +EVENT SHALL The Vrije Universiteit BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + + +Copyright 1998 by Concurrent Computer Corporation + +Permission to use, copy, modify, distribute, and sell this software +and its documentation for any purpose is hereby granted without fee, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Concurrent Computer +Corporation not be used in advertising or publicity pertaining to +distribution of the software without specific, written prior +permission. Concurrent Computer Corporation makes no representations +about the suitability of this software for any purpose. It is +provided "as is" without express or implied warranty. + +CONCURRENT COMPUTER CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD +TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS, IN NO EVENT SHALL CONCURRENT COMPUTER CORPORATION BE +LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY +DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + + +Copyright 2000 Intel Corporation. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sub license, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice (including the +next paragraph) shall be included in all copies or substantial portions +of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. +IN NO EVENT SHALL INTEL, AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR +THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +Copyright © 2004 Nokia + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the name of Nokia not be used in +advertising or publicity pertaining to distribution of the software without +specific, written prior permission. Nokia makes no +representations about the suitability of this software for any purpose. It +is provided "as is" without express or implied warranty. + +NOKIA DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +EVENT SHALL NOKIA BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + + +Copyright 1998-2003 VIA Technologies, Inc. +Copyright 2001-2003 S3 Graphics, Inc. +All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sub license, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice (including the +next paragraph) shall be included in all copies or substantial portions +of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL +VIA, S3 GRAPHICS, AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. + + +(c)Copyright 1988,1991 Adobe Systems Incorporated. +All rights reserved. + +Permission to use, copy, modify, distribute, and sublicense this software and its +documentation for any purpose and without fee is hereby granted, provided that +the above copyright notices appear in all copies and that both those copyright +notices and this permission notice appear in supporting documentation and that +the name of Adobe Systems Incorporated not be used in advertising or publicity +pertaining to distribution of the software without specific, written prior +permission. No trademark license to use the Adobe trademarks is hereby +granted. If the Adobe trademark "Display PostScript"(tm) is used to describe +this software, its functionality or for any other purpose, such use shall be +limited to a statement that this software works in conjunction with the Display +PostScript system. Proper trademark attribution to reflect Adobe's ownership +of the trademark shall be given whenever any such reference to the Display +PostScript system is made. + +ADOBE MAKES NO REPRESENTATIONS ABOUT THE SUITABILITY OF THE SOFTWARE FOR ANY +PURPOSE. IT IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY. ADOBE +DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON- +INFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL ADOBE BE LIABLE TO YOU +OR ANY OTHER PARTY FOR ANY SPECIAL, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY +DAMAGES WHATSOEVER WHETHER IN AN ACTION OF CONTRACT,NEGLIGENCE, STRICT +LIABILITY OR ANY OTHER ACTION ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. ADOBE WILL NOT PROVIDE ANY TRAINING OR OTHER +SUPPORT FOR THE SOFTWARE. + +Adobe, PostScript, and Display PostScript are trademarks of Adobe Systems +Incorporated which may be registered in certain jurisdictions. + + +Copyright 1989 Network Computing Devices, Inc., Mountain View, California. + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, provided +that the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the name of N.C.D. not be used in advertising or +publicity pertaining to distribution of the software without specific, +written prior permission. N.C.D. makes no representations about the +suitability of this software for any purpose. It is provided "as is" +without express or implied warranty. + + +Copyright (c) 1987 by the Regents of the University of California + +Permission to use, copy, modify, and distribute this +software and its documentation for any purpose and without +fee is hereby granted, provided that the above copyright +notice appear in all copies. The University of California +makes no representations about the suitability of this +software for any purpose. It is provided "as is" without +express or implied warranty. + + +Copyright 1992, 1993 Data General Corporation; +Copyright 1992, 1993 OMRON Corporation + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that the +above copyright notice appear in all copies and that both that copyright +notice and this permission notice appear in supporting documentation, and that +neither the name OMRON or DATA GENERAL be used in advertising or publicity +pertaining to distribution of the software without specific, written prior +permission of the party whose name is to be used. Neither OMRON or +DATA GENERAL make any representation about the suitability of this software +for any purpose. It is provided "as is" without express or implied warranty. + +OMRON AND DATA GENERAL EACH DISCLAIM ALL WARRANTIES WITH REGARD TO THIS +SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, +IN NO EVENT SHALL OMRON OR DATA GENERAL BE LIABLE FOR ANY SPECIAL, INDIRECT +OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE +OF THIS SOFTWARE. + + +Copyright © 1998-2004, 2006 Keith Packard +Copyright © 2000-2002 Keith Packard, member of The XFree86 Project, Inc. +Copyright (c) 2002 Apple Computer, Inc. +Copyright (c) 2003 Torrey T. Lyons. +All Rights Reserved. + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the name of Keith Packard not be used in +advertising or publicity pertaining to distribution of the software without +specific, written prior permission. Keith Packard makes no +representations about the suitability of this software for any purpose. It +is provided "as is" without express or implied warranty. + +KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + + +Copyright © 2003-2005 Keith Packard, Daniel Stone + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the names of Keith Packard and Daniel Stone not be +used in advertising or publicity pertaining to distribution of the software +without specific, written prior permission. Keith Packard and Daniel Stone +make no representations about the suitability of this software for any +purpose. It is provided "as is" without express or implied warranty. + +KEITH PACKARD AND DANIEL STONE DISCLAIM ALL WARRANTIES WITH REGARD TO THIS +SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, +IN NO EVENT SHALL KEITH PACKARD OR DANIEL STONE BE LIABLE FOR ANY SPECIAL, +INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + + +Copyright © 1999 Keith Packard +Copyright © 2000 Compaq Computer Corporation +Copyright © 2002 MontaVista Software Inc. +Copyright © 2005 OpenedHand Ltd. + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the name of Keith Packard or Compaq not be used in +advertising or publicity pertaining to distribution of the software without +specific, written prior permission. Keith Packard and Compaq makes no +representations about the suitability of this software for any purpose. It +is provided "as is" without express or implied warranty. + +KEITH PACKARD AND COMPAQ DISCLAIM ALL WARRANTIES WITH REGARD TO THIS +SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, +IN NO EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the name of Michael Taht or MontaVista not be used in +advertising or publicity pertaining to distribution of the software without +specific, written prior permission. Michael Taht and Montavista make no +representations about the suitability of this software for any purpose. It +is provided "as is" without express or implied warranty. + +MICHAEL TAHT AND MONTAVISTA DISCLAIM ALL WARRANTIES WITH REGARD TO THIS +SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, +IN NO EVENT SHALL EITHER BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the name of Matthew Allum or OpenedHand not be used in +advertising or publicity pertaining to distribution of the software without +specific, written prior permission. Matthew Allum and OpenedHand make no +representations about the suitability of this software for any purpose. It +is provided "as is" without express or implied warranty. + +MATTHEW ALLUM AND OPENEDHAND DISCLAIM ALL WARRANTIES WITH REGARD TO THIS +SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, +IN NO EVENT SHALL EITHER BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + + +Copyright 1993 by Davor Matic + +Permission to use, copy, modify, distribute, and sell this software +and its documentation for any purpose is hereby granted without fee, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation. Davor Matic makes no representations about +the suitability of this software for any purpose. It is provided "as +is" without express or implied warranty. + + +(c) Copyright 1996 by Sebastien Marineau + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +HOLGER VEIT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF +OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +Except as contained in this notice, the name of Sebastien Marineau shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from Sebastien Marineau. + + +Copyright (C) 2001-2004 Harold L Hunt II +All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL HAROLD L HUNT II BE LIABLE FOR +ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF +CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of Harold L Hunt II +shall not be used in advertising or otherwise to promote the sale, use +or other dealings in this Software without prior written authorization +from Harold L Hunt II. + + +Copyright 1990,91 by Thomas Roell, Dinkelscherben, Germany. + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the name of Thomas Roell not be used in +advertising or publicity pertaining to distribution of the software without +specific, written prior permission. Thomas Roell makes no representations +about the suitability of this software for any purpose. It is provided +"as is" without express or implied warranty. + +THOMAS ROELL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +EVENT SHALL THOMAS ROELL BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + + +Copyright 1990,91 by Thomas Roell, Dinkelscherben, Germany +Copyright 1993 by David Wexelblat + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the names of Thomas Roell and David Wexelblat +not be used in advertising or publicity pertaining to distribution of +the software without specific, written prior permission. Thomas Roell and +David Wexelblat makes no representations about the suitability of this +software for any purpose. It is provided "as is" without express or +implied warranty. + +THOMAS ROELL AND DAVID WEXELBLAT DISCLAIMS ALL WARRANTIES WITH REGARD TO +THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS, IN NO EVENT SHALL THOMAS ROELL OR DAVID WEXELBLAT BE LIABLE FOR +ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER +RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF +CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +Copyright 1990,91 by Thomas Roell, Dinkelscherben, Germany +Copyright 1993 by David Dawes + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the names of Thomas Roell and David Dawes +not be used in advertising or publicity pertaining to distribution of +the software without specific, written prior permission. Thomas Roell and +David Dawes makes no representations about the suitability of this +software for any purpose. It is provided "as is" without express or +implied warranty. + +THOMAS ROELL AND DAVID DAWES DISCLAIMS ALL WARRANTIES WITH REGARD TO +THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS, IN NO EVENT SHALL THOMAS ROELL OR DAVID DAWES BE LIABLE FOR +ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER +RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF +CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +Copyright 1990,91,92,93 by Thomas Roell, Germany. +Copyright 1991,92,93 by SGCS (Snitily Graphics Consulting Services), USA. + +Permission to use, copy, modify, distribute, and sell this software +and its documentation for any purpose is hereby granted without fee, +provided that the above copyright notice appear in all copies and +that both that copyright notice and this permission notice appear +in supporting documentation, and that the name of Thomas Roell nor +SGCS be used in advertising or publicity pertaining to distribution +of the software without specific, written prior permission. +Thomas Roell nor SGCS makes no representations about the suitability +of this software for any purpose. It is provided "as is" without +express or implied warranty. + +THOMAS ROELL AND SGCS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS +SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS, IN NO EVENT SHALL THOMAS ROELL OR SGCS BE LIABLE FOR ANY +SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER +RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF +CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +Copyright 2001-2005 by Kean Johnston +Copyright 1990,91 by Thomas Roell, Dinkelscherben, Germany +Copyright 1993 by David Wexelblat + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the names of Thomas Roell, David Wexelblat +and Kean Johnston not be used in advertising or publicity pertaining to +distribution of the software without specific, written prior permission. +Thomas Roell, David Wexelblat and Kean Johnston make no representations +about the suitability of this software for any purpose. It is provided +"as is" without express or implied warranty. + +THOMAS ROELL, DAVID WEXELBLAT AND KEAN JOHNSTON DISCLAIM ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL THOMAS ROELLm DAVID WEXELBLAT +OR KEAN JOHNSTON BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL +DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR +PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS +ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. + + +Copyright 2001-2005 by Kean Johnston +Copyright 1990,91 by Thomas Roell, Dinkelscherben, Germany +Copyright 1993 by David Dawes +Copyright 1993 by David Wexelblat + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the names of Thomas Roell, David Dawes +and Kean Johnston not be used in advertising or publicity pertaining to +distribution of the software without specific, written prior permission. +Thomas Roell, David Dawes and Kean Johnston make no representations +about the suitability of this software for any purpose. It is provided +"as is" without express or implied warranty. + +THOMAS ROELL, DAVID DAWES AND KEAN JOHNSTON DISCLAIM ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL THOMAS ROELLm DAVID WEXELBLAT +OR KEAN JOHNSTON BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL +DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR +PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS +ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. + + +Copyright (c) 2001-2003 Torrey T. Lyons. +All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +TORREY T. LYONS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF +OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +Except as contained in this notice, the name(s) of the above copyright +holders shall not be used in advertising or otherwise to promote the sale, +use or other dealings in this Software without prior written authorization. + + +Copyright © 2004 David Reveman + +Permission to use, copy, modify, distribute, and sell this software +and its documentation for any purpose is hereby granted without +fee, provided that the above copyright notice appear in all copies +and that both that copyright notice and this permission notice +appear in supporting documentation, and that the name of +David Reveman not be used in advertising or publicity pertaining to +distribution of the software without specific, written prior permission. +David Reveman makes no representations about the suitability of this +software for any purpose. It is provided "as is" without express or +implied warranty. + +DAVID REVEMAN DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN +NO EVENT SHALL DAVID REVEMAN BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, +NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION +WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +Copyright 1993 Gerrit Jan Akkerman + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Gerrit Jan Akkerman not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +GERRIT JAN AKKERMAN DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, +IN NO EVENT SHALL GERRIT JAN AKKERMAN BE LIABLE FOR ANY SPECIAL, INDIRECT +OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF +USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + + +Copyright 1998 by Alan Hourihane, Wigan, England. +Copyright 2000-2002 by Alan Hourihane, Flint Mountain, North Wales. + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the name of Alan Hourihane not be used in +advertising or publicity pertaining to distribution of the software without +specific, written prior permission. Alan Hourihane makes no representations +about the suitability of this software for any purpose. It is provided +"as is" without express or implied warranty. + +ALAN HOURIHANE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +EVENT SHALL ALAN HOURIHANE BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + + +Copyright 1995 Kaleb S. KEITHLEY + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL Kaleb S. KEITHLEY BE LIABLE FOR ANY CLAIM, DAMAGES +OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of Kaleb S. KEITHLEY +shall not be used in advertising or otherwise to promote the sale, use +or other dealings in this Software without prior written authorization +from Kaleb S. KEITHLEY + + +Copyright (c) 1997 Matthieu Herrb + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the name of Matthieu Herrb not be used in +advertising or publicity pertaining to distribution of the software without +specific, written prior permission. Matthieu Herrb makes no +representations about the suitability of this software for any purpose. + It is provided "as is" without express or implied warranty. + +MATTHIEU HERRB DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +EVENT SHALL MATTHIEU HERRB BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + + +Copyright 1993 by Thomas Mueller + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the name of Thomas Mueller not be used in +advertising or publicity pertaining to distribution of the software without +specific, written prior permission. Thomas Mueller makes no representations +about the suitability of this software for any purpose. It is provided +"as is" without express or implied warranty. + +THOMAS MUELLER DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +EVENT SHALL THOMAS MUELLER BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + + +Copyright 2004, Egbert Eich + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +EGBERT EICH BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CON- +NECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of Egbert Eich shall not +be used in advertising or otherwise to promote the sale, use or other deal- +ings in this Software without prior written authorization from Egbert Eich. + + +Copyright 1993 by David Wexelblat +Copyright 2005 by Kean Johnston +Copyright 1993 by David McCullough + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the name of David Wexelblat not be used in +advertising or publicity pertaining to distribution of the software without +specific, written prior permission. David Wexelblat makes no representations +about the suitability of this software for any purpose. It is provided +"as is" without express or implied warranty. + +DAVID WEXELBLAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +EVENT SHALL DAVID WEXELBLAT BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + + +Copyright 1992 by Orest Zborowski +Copyright 1993 by David Wexelblat + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the names of Orest Zborowski and David Wexelblat +not be used in advertising or publicity pertaining to distribution of +the software without specific, written prior permission. Orest Zborowski +and David Wexelblat make no representations about the suitability of this +software for any purpose. It is provided "as is" without express or +implied warranty. + +OREST ZBOROWSKI AND DAVID WEXELBLAT DISCLAIMS ALL WARRANTIES WITH REGARD +TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS, IN NO EVENT SHALL OREST ZBOROWSKI OR DAVID WEXELBLAT BE LIABLE +FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +Copyright 1992 by Orest Zborowski +Copyright 1993 by David Dawes + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the names of Orest Zborowski and David Dawes +not be used in advertising or publicity pertaining to distribution of +the software without specific, written prior permission. Orest Zborowski +and David Dawes make no representations about the suitability of this +software for any purpose. It is provided "as is" without express or +implied warranty. + +OREST ZBOROWSKI AND DAVID DAWES DISCLAIMS ALL WARRANTIES WITH REGARD +TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS, IN NO EVENT SHALL OREST ZBOROWSKI OR DAVID DAWES BE LIABLE +FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +Copyright 1995-1999 by Frederic Lepied, France. + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the name of Frederic Lepied not be used in +advertising or publicity pertaining to distribution of the software without +specific, written prior permission. Frederic Lepied makes no +representations about the suitability of this software for any purpose. It +is provided "as is" without express or implied warranty. + +FREDERIC LEPIED DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +EVENT SHALL FREDERIC LEPIED BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + + +Copyright (C) 1999 Jeff Hartmann +Copyright (C) 1999 Precision Insight, Inc. +Copyright (C) 1999 Xi Graphics, Inc. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +JEFF HARTMANN, OR ANY OTHER CONTRIBUTORS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE +OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +Copyright 2001,2005 by Kean Johnston + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the name Kean Johnston not be used in +advertising or publicity pertaining to distribution of the software without +specific, written prior permission. Kean Johnston makes no +representations about the suitability of this software for any purpose. +It is provided "as is" without express or implied warranty. + +KEAN JOHNSTON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +EVENT SHALL KEAN JOHNSTON BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF +USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + + +Copyright 1992 by Rich Murphey +Copyright 1993 by David Wexelblat + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the names of Rich Murphey and David Wexelblat +not be used in advertising or publicity pertaining to distribution of +the software without specific, written prior permission. Rich Murphey and +David Wexelblat make no representations about the suitability of this +software for any purpose. It is provided "as is" without express or +implied warranty. + +RICH MURPHEY AND DAVID WEXELBLAT DISCLAIM ALL WARRANTIES WITH REGARD TO +THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS, IN NO EVENT SHALL RICH MURPHEY OR DAVID WEXELBLAT BE LIABLE FOR +ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER +RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF +CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +Copyright 1992 by Rich Murphey +Copyright 1993 by David Dawes + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the names of Rich Murphey and David Dawes +not be used in advertising or publicity pertaining to distribution of +the software without specific, written prior permission. Rich Murphey and +David Dawes make no representations about the suitability of this +software for any purpose. It is provided "as is" without express or +implied warranty. + +RICH MURPHEY AND DAVID DAWES DISCLAIM ALL WARRANTIES WITH REGARD TO +THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS, IN NO EVENT SHALL RICH MURPHEY OR DAVID DAWES BE LIABLE FOR +ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER +RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF +CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +Copyright © 2004 Franco Catrin + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the name of Franco Catrin not be used in +advertising or publicity pertaining to distribution of the software without +specific, written prior permission. Franco Catrin makes no +representations about the suitability of this software for any purpose. It +is provided "as is" without express or implied warranty. + +FRANCO CATRIN DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +EVENT SHALL FRANCO CATRIN BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + + +Copyright © 2004 Ralph Thomas + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the name of Ralph Thomas not be used in +advertising or publicity pertaining to distribution of the software without +specific, written prior permission. Ralph Thomas makes no +representations about the suitability of this software for any purpose. It +is provided "as is" without express or implied warranty. + +RALPH THOMAS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +EVENT SHALL RALPH THOMAS BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + + +Copyright © 2004 Damien Ciabrini + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the name of Anders Carlsson not be used in +advertising or publicity pertaining to distribution of the software without +specific, written prior permission. Anders Carlsson makes no +representations about the suitability of this software for any purpose. It +is provided "as is" without express or implied warranty. + +DAMIEN CIABRINI DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +EVENT SHALL ANDERS CARLSSON BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + + +Copyright © 2003-2004 Anders Carlsson + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the name of Anders Carlsson not be used in +advertising or publicity pertaining to distribution of the software without +specific, written prior permission. Anders Carlsson makes no +representations about the suitability of this software for any purpose. It +is provided "as is" without express or implied warranty. + +ANDERS CARLSSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +EVENT SHALL ANDERS CARLSSON BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + + +Copyright (C) 2003 Anders Carlsson +Copyright © 2003-2004 Eric Anholt +Copyright © 2004 Keith Packard + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the name of Eric Anholt not be used in +advertising or publicity pertaining to distribution of the software without +specific, written prior permission. Eric Anholt makes no +representations about the suitability of this software for any purpose. It +is provided "as is" without express or implied warranty. + +ERIC ANHOLT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +EVENT SHALL ERIC ANHOLT BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + + +Copyright 2000 Silicon Integrated Systems Corp, Inc., HsinChu, Taiwan. +Copyright 2003 Eric Anholt +All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sub license, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice (including the +next paragraph) shall be included in all copies or substantial portions +of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL +ERIC ANHOLT OR SILICON INTEGRATED SYSTEMS CORP BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. + + +Copyright © 2004 PillowElephantBadgerBankPond + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the name of PillowElephantBadgerBankPond not be used in +advertising or publicity pertaining to distribution of the software without +specific, written prior permission. PillowElephantBadgerBankPond makes no +representations about the suitability of this software for any purpose. It +is provided "as is" without express or implied warranty. + +PillowElephantBadgerBankPond DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +EVENT SHALL PillowElephantBadgerBankPond BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + + +Copyright 2004 by Costas Stylianou +44(0)7850 394095 + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the name of Costas Sylianou not be used in +advertising or publicity pertaining to distribution of the software without +specific, written prior permission. Costas Stylianou makes no representations +about the suitability of this software for any purpose. It is provided +"as is" without express or implied warranty. + +COSTAS STYLIANOU DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +EVENT SHALL COSTAS STYLIANOU BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + + +Copyright (c) 1998 Todd C. Miller + +Permission to use, copy, modify, and distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND TODD C. MILLER DISCLAIMS ALL +WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES +OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL TODD C. MILLER BE LIABLE +FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION +OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +Copyright (C) 1995 Pascal Haible. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +PASCAL HAIBLE BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF +OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +Except as contained in this notice, the name of Pascal Haible shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in this Software without prior written authorization from +Pascal Haible. + + +Copyright © 2003-2004 Philip Blundell + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the name of Philip Blundell not be used in +advertising or publicity pertaining to distribution of the software without +specific, written prior permission. Philip Blundell makes no +representations about the suitability of this software for any purpose. It +is provided "as is" without express or implied warranty. + +PHILIP BLUNDELL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +EVENT SHALL PHILIP BLUNDELL BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + + + +Copyright (c) 1994-2003 by The XFree86 Project, Inc. +Copyright 1997 by Metro Link, Inc. +Copyright 2003 by David H. Dawes. +Copyright 2003 by X-Oz Technologies. +Copyright (c) 2004, X.Org Foundation + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of the copyright holder(s) +and author(s) shall not be used in advertising or otherwise to promote +the sale, use or other dealings in this Software without prior written +authorization from the copyright holder(s) and author(s). + + +Copyright 1990,91 by Thomas Roell, Dinkelscherben, Germany +Copyright 1993 by David Wexelblat +Copyright 1999 by David Holland +Copyright © 2000 Compaq Computer Corporation +Copyright © 2002 Hewlett-Packard Company +Copyright © 2004, 2005 Red Hat, Inc. +Copyright © 2004 Nicholas Miell +Copyright © 2005 Trolltech AS +Copyright © 2006 Intel Corporation + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the name of Red Hat not be used in advertising or +publicity pertaining to distribution of the software without specific, +written prior permission. Red Hat makes no representations about the +suitability of this software for any purpose. It is provided "as is" +without express or implied warranty. + +THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS +SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY +SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN +AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING +OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + + +Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc. + 2005 Lars Knoll & Zack Rusin, Trolltech + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the name of Keith Packard not be used in +advertising or publicity pertaining to distribution of the software without +specific, written prior permission. Keith Packard makes no +representations about the suitability of this software for any purpose. It +is provided "as is" without express or implied warranty. + +THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS +SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY +SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN +AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING +OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + + +Copyright 1987, 1998 The Open Group +Copyright © 1998-1999, 2001 The XFree86 Project, Inc. +Copyright © 2000 VA Linux Systems, Inc. +Copyright (c) 2000, 2001 Nokia Home Communications +Copyright 2003-2006 Sun Microsystems, Inc. +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, and/or sell copies of the Software, and to permit persons +to whom the Software is furnished to do so, provided that the above +copyright notice(s) and this permission notice appear in all copies of +the Software and that both the above copyright notice(s) and this +permission notice appear in supporting documentation. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL +INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING +FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, +NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION +WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +Except as contained in this notice, the name of a copyright holder +shall not be used in advertising or otherwise to promote the sale, use +or other dealings in this Software without prior written authorization +of the copyright holder. + + +Copyright (c) 1998-1999 Shunsuke Akiyama . +Copyright (c) 1998-1999 X-TrueType Server Project +Copyright (c) 1999 Lennart Augustsson +All rights reserved + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + + +Copyright 1996 by Thomas E. Dickey + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of the above listed +copyright holder(s) not be used in advertising or publicity pertaining +to distribution of the software without specific, written prior +permission. + +THE ABOVE LISTED COPYRIGHT HOLDER(S) DISCLAIM ALL WARRANTIES WITH REGARD +TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS, IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE +LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +(c) Copyright 1996 Hewlett-Packard Company +(c) Copyright 1996 International Business Machines Corp. +(c) Copyright 1996, 2004 Sun Microsystems, Inc. +(c) Copyright 1996 Novell, Inc. +(c) Copyright 1996 Digital Equipment Corp. +(c) Copyright 1996 Fujitsu Limited +(c) Copyright 1996 Hitachi, Ltd. +Copyright (c) 2003-2005 Roland Mainz + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the names of the copyright holders shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in this Software without prior written authorization from said +copyright holders. + + +Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas. +Copyright (c) 2001 Andreas Monitzer. +Copyright (c) 2001-2004 Greg Parker. +Copyright (c) 2001-2004 Torrey T. Lyons +Copyright (c) 2002-2003 Apple Computer, Inc. +Copyright (c) 2004-2005 Alexander Gottwald +Copyright (c) 2002-2007 Apple Inc. +All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name(s) of the above copyright +holders shall not be used in advertising or otherwise to promote the sale, +use or other dealings in this Software without prior written authorization. + + +Copyright (C) 1999,2000 by Eric Sunshine +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. The name of the author may not be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN +NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +Copyright (C) 2005 Bogdan D. bogdand@users.sourceforge.net + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of the author shall not be used in +advertising or otherwise to promote the sale, use or other dealings in this +Software without prior written authorization from the author. + + +Copyright © 2002 David Dawes + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF +OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +Except as contained in this notice, the name of the author(s) shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in this Software without prior written authorization from +the author(s). + + +Copyright (C) 1996-1999 SciTech Software, Inc. +Copyright (C) David Mosberger-Tang +Copyright (C) 1999 Egbert Eich + +Permission to use, copy, modify, distribute, and sell this software and +its documentation for any purpose is hereby granted without fee, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of the authors not be used +in advertising or publicity pertaining to distribution of the software +without specific, written prior permission. The authors makes no +representations about the suitability of this software for any purpose. +It is provided "as is" without express or implied warranty. + +THE AUTHORS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +EVENT SHALL THE AUTHORS BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF +USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + + +Copyright 2005-2006 Luc Verhaegen. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + + +Copyright 1995 by Robin Cutshaw +Copyright 2000 by Egbert Eich +Copyright 2002 by David Dawes + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the names of the above listed copyright holder(s) +not be used in advertising or publicity pertaining to distribution of +the software without specific, written prior permission. The above listed +copyright holder(s) make(s) no representations about the suitability of this +software for any purpose. It is provided "as is" without express or +implied warranty. + +THE ABOVE LISTED COPYRIGHT HOLDER(S) DISCLAIM(S) ALL WARRANTIES WITH REGARD +TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS, IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE +LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY +DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER +IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING +OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +Copyright 1997-2004 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that copyright +notice and this permission notice appear in supporting documentation, and +that the name of Marc Aurele La France not be used in advertising or +publicity pertaining to distribution of the software without specific, +written prior permission. Marc Aurele La France makes no representations +about the suitability of this software for any purpose. It is provided +"as-is" without express or implied warranty. + +MARC AURELE LA FRANCE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO +EVENT SHALL MARC AURELE LA FRANCE BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE +OF THIS SOFTWARE. + + +Copyright 1994 by Glenn G. Lai +All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyr notice and this permission notice appear in +supporting documentation, and that the name of Glenn G. Lai not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +Glenn G. Lai DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + + +Copyright (c) 1999 by Keith Packard +Copyright © 2006 Intel Corporation +Copyright 2006 Luc Verhaegen. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice (including the next +paragraph) shall be included in all copies or substantial portions of the +Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +Copyright (c) 2000-2001 by Juliusz Chroboczek +Copyright (c) 1999 by Keith Packard + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +Copyright 1990, 1991 by Thomas Roell, Dinkelscherben, Germany +Copyright 1992 by David Dawes +Copyright 1992 by Jim Tsillas +Copyright 1992 by Rich Murphey +Copyright 1992 by Robert Baron +Copyright 1992 by Orest Zborowski +Copyright 1993 by Vrije Universiteit, The Netherlands +Copyright 1993 by David Wexelblat +Copyright 1994, 1996 by Holger Veit +Copyright 1997 by Takis Psarogiannakopoulos +Copyright 1994-2003 by The XFree86 Project, Inc + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the names of the above listed copyright holders +not be used in advertising or publicity pertaining to distribution of +the software without specific, written prior permission. The above listed +copyright holders make no representations about the suitability of this +software for any purpose. It is provided "as is" without express or +implied warranty. + +THE ABOVE LISTED COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD +TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS, IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDERS BE +LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY +DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER +IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING +OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +Copyright 2001-2005 by J. Kean Johnston + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the name J. Kean Johnston not be used in +advertising or publicity pertaining to distribution of the software without +specific, written prior permission. J. Kean Johnston makes no +representations about the suitability of this software for any purpose. +It is provided "as is" without express or implied warranty. + +J. KEAN JOHNSTON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +EVENT SHALL J. KEAN JOHNSTON BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF +USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + + +Copyright (C) 2000 Jakub Jelinek (jakub@redhat.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +JAKUB JELINEK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +Copyright (C) 1996 David S. Miller (davem@redhat.com) +Copyright (C) 1999 Jakub Jelinek (jj@ultra.linux.cz) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +JAKUB JELINEK OR DAVID MILLER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. + + +Copyright 1997,1998 by UCHIYAMA Yasushi + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the name of UCHIYAMA Yasushi not be used in +advertising or publicity pertaining to distribution of the software without +specific, written prior permission. UCHIYAMA Yasushi makes no representations +about the suitability of this software for any purpose. It is provided +"as is" without express or implied warranty. + +UCHIYAMA YASUSHI DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +EVENT SHALL UCHIYAMA YASUSHI BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + + +Copyright (C) 2000 Keith Packard + 2004 Eric Anholt + 2005 Zack Rusin + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the name of copyright holders not be used in +advertising or publicity pertaining to distribution of the software without +specific, written prior permission. Copyright holders make no +representations about the suitability of this software for any purpose. It +is provided "as is" without express or implied warranty. + +THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS +SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY +SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN +AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING +OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + + +(C) Copyright IBM Corporation 2002-2007 +All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +on the rights to use, copy, modify, merge, publish, distribute, sub +license, and/or sell copies of the Software, and to permit persons to whom +the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice (including the next +paragraph) shall be included in all copies or substantial portions of the +Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL +THE COPYRIGHT HOLDERS AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. + + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +this permission notice appear in supporting documentation. This permission +notice shall be included in all copies or substantial portions of the +Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +Copyright © 2006-2007 Keith Packard + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that copyright +notice and this permission notice appear in supporting documentation, and +that the name of the copyright holders not be used in advertising or +publicity pertaining to distribution of the software without specific, +written prior permission. The copyright holders make no representations +about the suitability of this software for any purpose. It is provided "as +is" without express or implied warranty. + +THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE +OF THIS SOFTWARE. + + +Copyright 2006 Adam Jackson. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +on the rights to use, copy, modify, merge, publish, distribute, sub +license, and/or sell copies of the Software, and to permit persons to whom +the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice (including the next +paragraph) shall be included in all copies or substantial portions of the +Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL +THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +Copyright © 2006 Daniel Stone + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice (including the next +paragraph) shall be included in all copies or substantial portions of the +Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. + + +Copyright © 2006-2007 Daniel Stone + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice (including the next +paragraph) shall be included in all copies or substantial portions of the +Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. + + +Copyright © 2007 Daniel Stone + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice (including the next +paragraph) shall be included in all copies or substantial portions of the +Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. + + +Copyright © 1999 Keith Packard +Copyright © 2006 Nokia Corporation + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the name of the authors not be used in +advertising or publicity pertaining to distribution of the software without +specific, written prior permission. The authors make no +representations about the suitability of this software for any purpose. It +is provided "as is" without express or implied warranty. + +THE AUTHORS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +EVENT SHALL THE AUTHORS BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. -http://lists.freedesktop.org/mailman/listinfo/xorg diff --git a/xserver/ChangeLog b/xserver/ChangeLog new file mode 100644 index 000000000..ebd8bff36 --- /dev/null +++ b/xserver/ChangeLog @@ -0,0 +1,28152 @@ +commit 99dd8b9414d1eb7aabc682be0b9cfd7a27eb2a6b +Author: Eric Anholt +Date: Thu Sep 6 01:42:43 2007 -0700 + + Bump version to 1.4.0. + +commit f73fd98a8636c0df3133a8b9428f3f23ecc788b4 +Author: Daniel Stone +Date: Wed Sep 5 17:46:23 2007 -0700 + + Fix key repeats during VT switch. + + Add keyc->postdown, which represents the key state as of the last mieqEnqueue + call, and use it when we need to know the posted state, instead of the + processed state (keyc->down). Add small functions to getevents.c to query and + modify key state in postdown and use them all through, eliminating previously + broken uses. + (cherry picked from commit 81c28ffd2b13a83770eadcfd7829d35d319d637f) + +commit 3c5fe1ec377688ab2edc6137b74a7c04b3bc2e7e +Author: Keith Packard +Date: Wed Sep 5 14:19:19 2007 -0700 + + Deliver correct event when releasing keys on VT switch. + + In commit 41bb9fce47f6366cc3f7d45790f7883f74289b5a, the event delivery loop + for Xinput enabled keyboards was changed and accidentally used the wrong + index variable, causing random events to be delivered when returning from VT + switch. + + In addition, in commit aeba855b07832354f59678e20cc29a085e42bd99, + SIGIO was blocked during delivery of these events, but not for the entire + period the xf86Events array was being used. Block SIGIO for the whole loop + to avoid other event delivery from trashing the key release events. + (cherry picked from commit aa7ed1f5f35cd043bc38d985500aa0a32e857e84) + (cherry picked from commit accd71bda6f958ea6892ad3a10879232d345774c) + +commit 70ed110538413e96cefbf0a1c276b52dc62c5aae +Author: Eric Anholt +Date: Wed Sep 5 13:30:02 2007 -0700 + + Fix server version reporting to be the server package version. + + Previously, the server version reported by xdpyinfo and Xorg -version would + bear some vague resemblance to a X.Org katamari version, but in the presence + of modularization (and client-server relationships with different katamari + versions on each side) those numbers don't really make sense. Instead, just + report the package version. + + When branching a stable branch, master's version should be immediately updated + to the endpoint of the stable branch plus a snapshot of 1 (for example, + 1.4.0.1 after server-1.4-branch). The stable branch should then be changed to + RC0 at that time (1.3.99.0, for example). + + This scheme was partially attempted for server 1.3, but lacked the appropriate + master updates, thus why it had to be revisited now. While here, we can also + remove a lot of versioning complexity since everything is based on the package + version. + + (cherry picked from commit 47300ed2be59d0ba7ea9345b954bf3104877c095) + +commit b328d553723ecf8f893783e91ec00ee6054acb74 +Author: Alan Hourihane +Date: Thu Aug 30 21:57:41 2007 +0100 + + Allow yres_virtual to be greater for some kernel fbdev drivers. + + (temporary fix for older fbdev drivers) + (cherry picked from commit 87495fc7064d5e0a7575a0713b6895a4172df0fa) + +commit b69e6165136ff76ba4649bb9d11906fef27b78bc +Author: Keith Packard +Date: Sat Sep 1 21:14:22 2007 -0700 + + [COMPOSITE] Composite used for pixmap population on redirect. (Bug #7447) + + compNewPixmap copies bits from the parent window to the redirected child + pixmap to populate the pixmap with reasonable data. It cannot always use + CopyArea as that only works across matching depths. Use Composite when + the depths do not match. + (cherry picked from commit f98dfec79dadb70fa7bba84e7335f92b3a73dc02) + +commit 87f98178417718d8720566a2df04857a682a2d15 +Author: Adam Jackson +Date: Fri Aug 31 22:11:13 2007 -0700 + + [RANDR] Don't mark Xinerama as active if no crtcs are enabled. (bug #11504). + + Clients expect any Xinerama-enabled screen to report at least one + monitor, but with RandR, there may not be any enabled crtcs. In this case, + tell the client that Xinerama is not active. + (cherry picked from commit 1afdf8b0a92437dffe84fa98b6083b3d8fd55e27) + +commit 61460cf095a655d8711b79225080a8c2808dbbc4 +Author: Marius Gedminas +Date: Fri Aug 31 21:36:37 2007 -0700 + + [RANDR] Compare only milliseconds of config time. (Bug #6502) + + The timestamp transferred in the X protocol is a 32-bit number of + milliseconds. + + The timestamp stored in the server is a structure that contains two fields: + months (!) and milliseconds. + + When the server passes the config timestamp to the client, it discards the + months part and sends only the milliseconds part. + + When the server receives the config timestamp from the client, it tries to + guess the "months" part by looking at the current time and then maybe adding + or + subtracting one. The guess is wrong after the server has been running long + enough (several hours). + + I have added two ErrorF calls around the 'if' statement that returns + RRSetConfigInvalidConfigTimestamp in randr/randr.c and my Xorg.0.log has + this: + + randr request got good config time: 0:-2103495671 + + for the first few successful xrandr calls, and + + randr request failed with RRSetConfigInvalidConfigTime: client passed + 1:-2103495671, server has 0:-2103495671 + + when it fails. The server has been running for 8 and a half hours. + + The obvious fix would be to ignore the months field and only compare the + milliseconds. + (cherry picked from commit 0dc2bb6101704d0fd25f36e2c3df79687f119f5b) + +commit ec56c5e958248ea0161dda885fa59752b20f5d7c +Author: Eric Anholt +Date: Fri Aug 31 20:02:52 2007 -0700 + + Bump version to 1.3.99.2. + +commit 5efc4bd7d0e2020242127d8ed83efb8d2d76a151 +Author: Eric Anholt +Date: Fri Aug 31 18:27:41 2007 -0700 + + Remove backend.[ch] from neomagic to fix distcheck. + (cherry picked from commit 917e3bb83a48da7618fce463cf6283be36cd9084) + +commit 1a125b521434da7ba3a41b6398c7f094867908e0 +Author: Eric Anholt +Date: Fri Aug 31 15:16:01 2007 -0700 + + Bug #7364: Require renderproto 0.9.3 on 64-bit, and fix build with it. + + (cherry picked from commit 07630d897ef37cad8b79d073d9edc891d5a7bddd) + +commit f499c2ea0a90a69713daef8f9497463229384964 +Author: Eric Anholt +Date: Fri Aug 31 13:00:23 2007 -0700 + + Bug #7186: Fix an excessive request size limitation that broke big-requests. + + MAXBUFSIZE appears to be a leftover of some previous time. Instead, just + use maxBigRequestSize when bigreqs are available (limiting buffers to ~16MB). + When bigreqs are not available, needed won't be larger than the maximum + size of a non-bigreqs request (256kB). + (cherry picked from commit ca82d4bddf235c9b68d51d68636bab40eafb9889) + +commit 3e9ecdcb132bb223febc396626211aa2681e4c79 +Author: Matthieu Herrb +Date: Thu Aug 23 22:11:56 2007 +0200 + + Remove an extra cast. + + Thou should not apply patches manually without testing. + (cherry picked from commit a66c0f1dca2958835ff65a5b50579e3304ed316a) + +commit a964d541283e93b1096150275ba2d95594bf77ea +Author: Otto Moerbeek +Date: Thu Aug 23 21:59:25 2007 +0200 + + A high resolution device that's moving fast can potentially generate + an int overflow, making dx*dx+dy*dy negative. Now pow(negative, + non-integer) yields NaN, so you loose. Use fp math to avoid that. + (cherry picked from commit 12d27cf33c6d963eae77795c0d247175907162a5) + +commit bcd6708895e5c2fda423bb13fe42b078ef293b13 +Author: Egbert Eich +Date: Thu Aug 30 12:50:21 2007 +0200 + + Fixing a misleading comment which could suggest a GPL violation. + + The author of the int10 code looked at the VBIOS POSTing code + in DOSEMU to get some initial idea on how to POST a VBIOS. + To give credit to the DOSEMU Team for this inspiration a comment + was added to the code which could suggest that code from the + GPLed DOSEMU was directly incorporated into this code. + This patch should clearify the situation. + (cherry picked from commit 1d11e4bc4ccb169fb23fc18583f0b648f0a6a4e0) + +commit ed001ed363d11aff3df9a7de2f72075e0b2cfb7b +Author: Eric Anholt +Date: Wed Aug 29 15:54:32 2007 -0700 + + Bug #9629: Remove badly-licensed neomagic kdrive files. + + Licensing issues of these files include: + - They claim to be licensed under the GPL, yet we haven't allowed that in the + xserver repository in the past. + - They refer the user to the top of the tree for GPL license text, yet it isn't + there. + - They claim to be derived from the (MIT-licensed) ati kdrive code, yet don't + follow the licensing terms of those files. + (cherry picked from commit 87295b66a972a2bd194a79af6aa4f715018fcded) + +commit 5182fbf302beae93ea5b71a40a23528ee83fa1cc +Author: Alex Deucher +Date: Wed Aug 22 19:26:34 2007 -0400 + + Add _X_EXPORT to exported functions in hw/xfree86/modes/* + + Also add missing exports to hw/xfree86/loader/xf86sym.c + (cherry picked from commit 81f8b652d99ee0f7116c1e34aed0e585d23a91fb) + +commit 37954c019afd92edbe4aaa9d6deb6efaad7bf088 +Author: Brian Paul +Date: Thu Aug 23 19:38:53 2007 +0200 + + glx: fix crash when freeing visuals + + Don't set screen->num_vis to a value greater than the actual number of visuals. + + X.Org Bug #10809 + (cherry picked from commit ff089e6cae634ac3eb509abd448a250bcbb17275) + +commit d34b66402c9205aae38316c5855f3b492a7612c2 +Author: Dave Airlie +Date: Thu Aug 23 16:22:03 2007 +1000 + + randr: fixup crtc and output destroy + + if you are moving pointers, you want to move the pointers not just a byte + (cherry picked from commit 76bf3cd7b8c6189b6b08518cde00c8bd991bdfb7) + +commit efac9c9c2e7cfa974fb0e7737832f0e34d156f65 +Author: Keith Packard +Date: Sun Aug 19 20:28:05 2007 -0700 + + Ref count cursors used in hw/xfree86/modes code. + + The multi-crtc cursor code in hw/xfree86/modes holds a reference to the + current cursor. This reference must be correctly ref counted so the cursor + is not freed out from underneath this code. + (cherry picked from commit 7dc8531548cc9573e28bb04363dcbb3af5864c9a) + +commit 248b220b3e2bf8d999241543b69be3022a728b3a +Author: Alex Deucher +Date: Tue Aug 21 00:37:33 2007 -0400 + + add xf86_crtc_clip_video_helper to xf86sym.c + (cherry picked from commit 1f6ddae003ec65d6bc567831bf32bf75dfefdd6c) + +commit 242c05e326646cbe1ab6ced54504456fee327bce +Author: Alex Deucher +Date: Mon Aug 20 19:46:38 2007 -0400 + + move intel crtc xv clipping helper to the xserver + + The code is generic and can be used by any overlay-based card when + adding randr 1.2 support. Tested on radeon. + (cherry picked from commit 53c04351c462d2ae307684e50d5960debe1ee557) + +commit dd33e936b39d1c5229353d3f25c47e3b87de8498 +Author: Fredrik Höglund +Date: Sat Aug 18 19:02:18 2007 +0200 + + EXA: Fix a couple of logic errors in exaGetPixmapFirstPixel. + + The fb pointer would be left uninitialized when exaPixmapIsOffscreen + returned false. When it returned true and the pixmap was damaged, + fb would be initialized from the pixmap's devPrivate.ptr before the + exaDoMigration and exaPrepareAccess calls, at which point + devPrivate.ptr would still be pointing at offscreen memory. + (cherry picked from commit 3c448b0eb67337b56641e09a6d168aad6745e3ef) + +commit ec126e29e4a270577bba6337ed6f4ec8dbce46f9 +Author: Søren Sandmann Pedersen +Date: Tue Aug 21 14:26:14 2007 -0400 + + Require pixman 0.9.5; Use pixman_image_set_source_clipping() to fix + bug 11620 (reported by Jens Stroebel. + (cherry picked from commit 53941c8e68014619d3ded7f8bc0f07d9a38bb9b1) + +commit 71ddf917d7449b721582c910c5026faa457597fe +Author: Aaron Plattner +Date: Thu Aug 16 17:43:29 2007 -0700 + + stride is in FbBits-sized chunks, but xoff is not. + + Fixes corruption problems with composite rendering to redirected windows in + depth 16. + (cherry picked from commit 6a32a96d8df184c3ace4847beb48fdcb846d2286) + +commit 7cc53ae10adb7f8bb59f904b1362b7391b327f83 +Author: Aaron Plattner +Date: Thu Aug 16 14:57:18 2007 -0700 + + Bug #12015: Use the right offsets in the dst arguments of pixman_blt. + (cherry picked from commit 32666d77227fcd2c066de16bf3c07366f92b0457) + +commit 2bf6cb3074d9c0dcd706e8e083747c6d84b70e30 +Author: Julien Cristau +Date: Tue Aug 21 18:17:35 2007 +0200 + + config: fix default xkb model (pc105, not keyboard) + (cherry picked from commit 6ef4ecd82670c37a354243166750d76a97959c8b) + +commit fd4dc5a98e600b267ee22a3fb47c093c3e1b26d6 +Author: Julien Cristau +Date: Mon Aug 20 12:57:06 2007 +0200 + + xfree86: Fix build on Linux/alpha. + + A bunch of CFLAGS had gone missing, so the build failed with errors like: + ../../../../../hw/xfree86/os-support/linux/lnx_ev56.c:7:19: error: input.h: No such file or directory + ../../../../../hw/xfree86/os-support/linux/lnx_ev56.c:8:24: error: scrnintstr.h: No such file or directory + (cherry picked from commit a1fe36b772f7edc162ea97368f86588c0fb77148) + +commit 9a747b0b81d0bd9eea7d02601703df266d6c5eca +Author: Fredrik Höglund +Date: Wed Aug 15 19:19:11 2007 +0200 + + EXA: Wrap Trapezoids to prevent excessive migration of the alpha pixmap. + + miTrapezoids creates an alpha pixmap and initializes the contents + using PolyFillRect, which causes the pixmap to be moved in for + acceleration. The subsequent call to RasterizeTrapezoid won't be + accelerated by EXA, which causing the pixmap to be moved back out + again. + + By wrapping Trapezoids and using ExaCheckPolyFillRect instead of + PolyFillRect to initialize the pixmap, we avoid this roundtrip. + (cherry picked from commit daee59b1703ac07c2def9e9fecc479e59b93f761) + +commit d37edeff997219b1944a15cc0c9d7db64868ea70 +Author: Dave Jones +Date: Thu Aug 16 09:46:27 2007 +0200 + + Kdrive: fix nasty thinko in TslibEnable() + +commit 026534f945ae5652592a090a9d41375ca37ab618 +Author: Alan Coopersmith +Date: Wed Aug 15 16:47:53 2007 -0700 + + Update pci.ids to 2007-08-15 snapshot + + Remove nvidia ids in extrapci.ids that are now in pci.ids + +commit 6cef7b9611297cb1d93cefe3890b26b69c87bce2 +Author: Alan Coopersmith +Date: Wed Aug 15 16:44:49 2007 -0700 + + Correct XErrorDB path and make it configurable (used by DTrace support) + +commit 0f9e89b4e309e570d7d366489d250ca2143f0ad7 +Author: Fredrik Höglund +Date: Tue Aug 14 22:47:49 2007 +0200 + + Fix the value comparisons in the IDLETIME wakeup handler. + + LessThan/GreaterThan comparisons were used in the wakeup handler, + and LessOrEqual/GreaterOrEqual in the block handler. + + Change it to use LessOrEqual/GreaterOrEqual in both functions, + since this is what XSyncNegativeComparison and + XSyncPositiveComparison imply. + +commit 6a195e816b9d60f728d77cc1c23538e7af00a879 +Author: Kristian Høgsberg +Date: Mon Aug 13 10:43:48 2007 -0400 + + Revert "Implement damage tracking for AIGLX." + + This reverts commit 2243b30e54df07892f75e3d65b687abe5b183cf3. The existing + DRI interface doesn't let us get from a __DRIdrawable to the corresponding + X drawable, and thus, we can't implement AIGLX damage tracking with the + current interface. + +commit 03f9da672466b9ab9a9814d784b8c44f1030587e +Author: Samuel Thibault +Date: Sun Aug 12 03:07:04 2007 +0200 + + xfree86: Improve default mouse handling on the Hurd + + Make /dev/mouse the default device. This makes Xorg works with empty + or missing InputDevice sections. + +commit c5741438a3a171f493e9da32a6b39f73403f6993 +Author: Alan Coopersmith +Date: Fri Aug 10 16:13:55 2007 -0700 + + Only use evdev drivers in Xephyr #ifdef linux + +commit 59961e47df4ea621a6713a8c7d060555f8746c3a +Author: Alan Coopersmith +Date: Fri Aug 10 16:08:41 2007 -0700 + + xorgcfg needs PIXMAN_CFLAGS in order to build libc_wrapper.c + +commit 2243b30e54df07892f75e3d65b687abe5b183cf3 +Author: Kristian Høgsberg +Date: Fri Aug 10 15:53:05 2007 -0400 + + Implement damage tracking for AIGLX. + +commit ff4bd3addb48df3eacc4b121cc249a7f38eb981a +Author: Eric Anholt +Date: Wed Aug 8 14:24:42 2007 -0700 + + Fix the swapped decode of the EDID DTD h/v sync polarity fields. + + As a result, we can remove the quirks that existed to flip the bits back around + for us. This is not confirmed in all cases due to lack of bugs containing EDID + blocks associated with the quirks, but is likely true. + +commit 2926cf1da7e4ed63573bfaecdd7e19beb3057d9b +Author: Gustavo Pichorim Boiko +Date: Thu Aug 2 18:09:52 2007 -0300 + + [PATCH] Allocate the right number of entries for saving crtcs + +commit b2dcfbca2441ca8c561f86a78a76ab59ecbb40e4 +Author: Keith Packard +Date: Wed Aug 8 12:16:12 2007 -0700 + + RRScanOldConfig cannot use RRFirstOutput before output is configured. + + RRFirstOutput returns the first active output, which won't be set until + after RRScanOldConfig is finished running. Instead, just use the first + output (which is the only output present with an old driver, after all). + +commit ab3f601149e15789edfb7c9a0c33387070279582 +Author: Tiago Vignatti +Date: Tue Aug 7 23:17:32 2007 -0300 + + Updates some piece of the dead mouse evdev code under the new hotplug scheme. + I exported the evdev driver to Xephyr server. I'm running it using something + like: + $ ./hw/kdrive/ephyr/Xephyr :1 -mouse evdev,,device=/dev/input/event4 -keybd \ + evdev,,device=/dev/input/event1,xkbmodel=abnt2,xkblayout=br + + It also closes /#5668. + +commit 7d1a749b210ba5b9f8d0e5a1feb9a9ef9fa4d992 +Author: Tiago Vignatti +Date: Tue Aug 7 22:59:12 2007 -0300 + + Export device path key options to be called by the command line of server. + +commit aee3588a4a6829326770c84b860061f47f2cbcae +Author: Tiago Vignatti +Date: Tue Aug 7 22:49:07 2007 -0300 + + Update KdUseMsg() for completeness. + +commit 30259d5a4e95ff20b30807e5e207ab5995a3fdaf +Author: Daniel Stone +Date: Tue Aug 7 20:58:49 2007 +0300 + + Hotplug: HAL: Fix error handling + + Don't use our DBusError for property getting, because we simply don't care: + this fixes D-Bus error spew to stderr. Thanks Michel Dänzer for debugging + and testing. + +commit aef255425a3521d66c3405d34f7787628a22703e +Author: Daniel Stone +Date: Tue Aug 7 16:37:42 2007 +0300 + + Config: HAL: Use input.xkb namespace + + Use an explicit input.xkb.foo namespace, not input.xkb_foo. + +commit 838e59c02ec06446fc180fb9d86fa8793c7b9903 +Author: Daniel Stone +Date: Mon Aug 6 16:07:20 2007 +0300 + + configure.ac: Add $CONFIG_LIB to server libraries + + Make sure all DDXes get $CONFIG_LIB. Build-tested with Xvfb and Xdmx. + +commit b4193a2eee80895c5641e77488df0e72a73a3d99 +Author: Keith Packard +Date: Tue Aug 7 12:45:53 2007 -0700 + + RRScanOldConfig wasn't getting crtcs set correctly + + The output crtc is set by RRCrtcNotify, which is called at the end of + RRScanOldConfig. Several uses of output->crtc in this function were wrong. + +commit 2b93cbb5f8bac9b1b75f723baaa728430b5fefff +Author: Keith Packard +Date: Tue Aug 7 12:44:19 2007 -0700 + + Decrement mode count when removing RandR output mode. + + Removing an output mode without decrementing the mode count scrambles the + output mode array badly. + +commit fef4c7a6f1a1ef34233b36137bb66d9a657307fb +Author: Eric Anholt +Date: Tue Aug 7 09:01:14 2007 -0700 + + Fix driver build after pixman changes. + +commit 1339e57485db5a285cfbecbe0bba7154458680ad +Author: Tiago Vignatti +Date: Tue Aug 7 04:24:34 2007 -0300 + + Fix typo. + +commit d9ee5f3e3a3a814ebcd257736c305b41139cc354 +Author: Tiago Vignatti +Date: Tue Aug 7 04:22:26 2007 -0300 + + Clean a little bit the code. + +commit 7a5eb3e96b74daaaeb6babf46b13d698280aa3f6 +Author: Tiago Vignatti +Date: Tue Aug 7 02:16:44 2007 -0300 + + Let xkb options be passed through command line in kdrive servers. I start my + Xephyr using something like: + + ./hw/kdrive/ephyr/Xephyr :1 -fp /usr/share/fonts/X11/misc/ -mouse ephyr -keybd ephyr,,xkblayout=br,xkbmodel=abnt2 + +commit 955d5f6c0d14fae63bfe7c4ab39ee0a708919479 +Author: Tiago Vignatti +Date: Tue Aug 7 01:39:29 2007 -0300 + + When we call Xephyr with '-pointer' a new pointer is added inside the server + and the Xephyr virtual mouse keeps alive. With this patch the semantic changes + turning '-pointer' && 'Xephyr virtual mouse' always false. + + Now we can open a device pointer and pass its options in Xephyr's command line + without having other pointer unused. + +commit aa3c6aaaab213200591d29ddb2921adfb87ee5b4 +Author: Søren Sandmann Pedersen +Date: Mon Aug 6 19:00:59 2007 -0400 + + Require pixman-1 0.9.4, update pixman includes to new scheme + +commit 74feba4d77d74979a0ea478d666439ffc55001e5 +Author: Aaron Plattner +Date: Wed Aug 1 14:30:03 2007 -0700 + + Don't unwrap too early in libwfb for Composite. + + Don't call fbFinishWrap until the pixman_image_t that stores the pointer is + actually freed. This prevents corruption or crashes caused by accessing a + wrapped pointer after the wrapping is torn down. + +commit f6aa2200f2fb4f4d4bb51e67d68e86aabcac0c4b +Author: Roland "Test-tools" Bär +Date: Mon Aug 6 12:37:52 2007 -0700 + + Probable off by one buffer overflow in .../xorgconfig/xorgconfig.c + + X.Org Bug #11858 + Patch #11005 + +commit e717eb82dc2e55f852919312d04f5cfc8ee55bc8 +Author: Dave Airlie +Date: Thu Aug 2 10:50:01 2007 +1000 + + xserver: stop bcopy from going really slow + + The outport is most likely unnecessary on any currently used hardware, + the byte copy is necessary from what I know on IA64 and friends so leave it. + + Add a new API entry point which lets a driver select the old behaviour if + such a needs is ever found. + + This gives me ~20% speed up on startup on 945 hardware. + +commit 600ef07113caa7a901c7d486bc8ebd1ae47f885c +Author: Tiago Vignatti +Date: Fri Aug 3 15:33:41 2007 -0300 + + Fix kdrive command line parser. + +commit f3955c0a020b39021050cd33c20a17f14fc4b579 +Author: Arkadiusz Miskiewicz +Date: Wed Aug 1 21:04:22 2007 +0300 + + XFree86: xf1bpp: distclean generated files as well + + Make sure we clean up after ourselves: not sure why distcheck didn't flag + this one. + +commit a04c95f4446e5c169dea71019321d790ab4fa139 +Author: Julien Cristau +Date: Wed Aug 1 20:37:05 2007 +0300 + + configure.ac: Fix argument quoting for argv[] + + m4 quoting. Yar boo sux. + +commit 99a88826e5e8cfa25c5f8a88c12799d33114729c +Author: Daniel Stone +Date: Wed Aug 1 20:34:58 2007 +0300 + + configure.ac: Actually use -lrt in monotonic clock test + + If we need -lrt to use clock_gettime, then make sure we link with it. + +commit 1c80e04f876e9254b93ef87eadfcff71234340c6 +Author: Daniel Stone +Date: Wed Aug 1 20:08:31 2007 +0300 + + configure.ac: Disable D-Bus config API support by default + + This is problematic, so don't even bother with it unless someone wants it. + respeclaration is dead, long live HAL. + +commit c46663367329615bd2c9b63e93c9534036e5a2ae +Author: Michel Dänzer +Date: Wed Aug 1 18:32:09 2007 +0200 + + GLX/DRI: Remove some unused variables. + +commit 17cb4f64e3c39725e83b1e311c09422d7e1c0e52 +Author: Michel Dänzer +Date: Wed Aug 1 18:13:18 2007 +0200 + + GLX_EXT_texture_from_pixmap: Use client provided texture target when available. + + This prevents situations where the server doesn't use the target the + client thinks it does, usually resulting in the texture being sampled as all + white. + +commit a4197db9504adae6af005b2218eee36b8af0d98b +Author: Daniel Stone +Date: Wed Aug 1 14:04:51 2007 +0300 + + GL: GLX: Make sure glxbyteorder.h is distributed + +commit ad7421fc764e2b82e20d90f12225a03a1d636f18 +Author: Daniel Stone +Date: Wed Aug 1 08:30:00 2007 +0300 + + Bump version to 1.3.99.1 for development + + This is not actually .1, just bumping for a different devel version. + +commit 43e71a54502d9ab28ece7f6296d1416d60948dad +Author: Daniel Stone +Date: Wed Aug 1 08:16:35 2007 +0300 + + XFree86: xf1bpp: Fix previous build system commit + + Amateur error. + +commit 6d6bc93b0a13c5356544561e326d4aedf33e61c2 +Author: Daniel Stone +Date: Wed Aug 1 08:11:22 2007 +0300 + + Build system: Add missing files + + A couple of headers weren't added to the build. + +commit 505ec436af3a173e0ba32c6f14b4cf9837a553eb +Author: Daniel Stone +Date: Wed Aug 1 08:11:08 2007 +0300 + + XFree86: Properly clean up after ourselves + + CLEAN is not a useful variable. CLEANFILES/DISTCLEANFILES, on the other hand, + are useful variables. + +commit 1ace9770fed4a2ba354ff06a96189428beb36088 +Author: Daniel Stone +Date: Wed Aug 1 08:10:38 2007 +0300 + + Build system: Non-dtrace distcheck hacks + + automake 1.10 really wants foo.c for foo.O, so give it some dummy files to + deal with if it really needs them. + +commit cacbdf18ee771d43228c2e96e8ef9a32251ceb55 +Author: Daniel Drake +Date: Wed Aug 1 08:08:37 2007 +0300 + + Remove duplicated licenses + + Some files had two copies of the same license. + +commit bd49332e4772bd57ffb76c829f0e4770ab876057 +Author: Daniel Drake +Date: Wed Aug 1 08:07:08 2007 +0300 + + Add proper COPYING file + + I went through the entire xorg-server distribution and aggregated all + the licenses I could find (except the questionable GPL files, see my + last mail). + + There are many many permutations on essentially the same license terms, + but I have been pedantic and treated slight differences as separate + licenses. + + Here is a description of the process I used: + + tar xvjf /usr/portage/distfiles/xorg-server-1.1.1.tar.bz2 + + cd xorg-server-1.1.1 + find -name '*.c' -o -name '*.h' | xargs gvim + + egrep -Rli "permission|copyright" * | grep -v "\.[ch]" \ + | grep -v "\.in$" | xargs gvim + + cd .. + tar xvjf /usr/portage/distfiles/xorg-server-1.3.0.0.tar.bz2 + diff -urNp xorg-server-1.1.1 xorg-server-1.3.0.0 + + git clone git://anongit.freedesktop.org/git/xorg/xserver + cd xserver + git diff xorg-server-1.3.0.0.. + + For each file, licenses have been aggregated as follows: + + If 2 files have identical license text but different copyright notices, + the copyright notices are aggregated and the license text + is included only once. + + Note that by identical I mean really identical, i.e.: + 'AUTHOR(S)' is not the same as 'AUTHORS' + 'KEITH PACKARD DISCLAIMS' is not the same as 'KEITH PACKARD AND COMPAQ + DISCLAIM' + + Otherwise, licenses and accompanying copyright notices have been + stacked. + + When going through the changes from 1.1.1 to 1.3.0.0 then HEAD, licenses + have been added and removed (so I have reflected this since the original + version of my COPYING file). It's slightly concerning to see that even + between 1.3.0.0 and HEAD, new license permutations are being added. I'd + suggest that a primary license be chosen and this would be indicated at + the top of this COPYING file. + +commit 51b735394f0aa9f953f9c320617c7a56028ec458 +Author: Daniel Drake +Date: Mon Apr 30 11:37:46 2007 -0400 + + [PATCH] xserver: Add COPYING terms + + I went through the entire xorg-server distribution and aggregated all + the licenses I could find (except the questionable GPL files, see my + last mail). + + There are many many permutations on essentially the same license terms, + but I have been pedantic and treated slight differences as separate + licenses. + + Here is a description of the process I used: + + tar xvjf /usr/portage/distfiles/xorg-server-1.1.1.tar.bz2 + + cd xorg-server-1.1.1 + find -name '*.c' -o -name '*.h' | xargs gvim + + egrep -Rli "permission|copyright" * | grep -v "\.[ch]" \ + | grep -v "\.in$" | xargs gvim + + cd .. + tar xvjf /usr/portage/distfiles/xorg-server-1.3.0.0.tar.bz2 + +commit 7fa58385724fa7f441107a1793b601ba3dcb1f4c +Author: Arkadiusz Miskiewicz +Date: Wed Aug 1 08:01:28 2007 +0300 + + XFree86: xf1bpp: Fix parallel build + + One of the constructs wasn't parallel-build safe: fix that. + +commit 18ab4d559409d4b682aab99fb75f8d861122eab6 +Author: Daniel Stone +Date: Wed Aug 1 07:27:53 2007 +0300 + + Darwin: Remove missing file + + Xserver.m is missing and still hasn't been added, so just remove it for now. + +commit 0bd6fe7401b2524cf34793c0b0c642e3d32fae00 +Author: Daniel Stone +Date: Wed Aug 1 07:27:30 2007 +0300 + + Config: Add missing include + +commit 48b3034d13bbbb69072eb11f4579389cc32b0850 +Author: Daniel Stone +Date: Wed Aug 1 07:01:51 2007 +0300 + + Config: Add current FDI file + + Add the FDI file we're using at the moment, until it gets into upstream HAL. + +commit 82b720cf3e09d8a6adcd40b25c4d48b34ba1ae80 +Author: Daniel Stone +Date: Wed Aug 1 06:57:11 2007 +0300 + + Config: Fix merge detritus + +commit 6b055e5d9751e3679ff98065e43225ec8a960053 +Author: Daniel Stone +Date: Wed Aug 1 06:55:36 2007 +0300 + + Input: Fix stuck modifiers (bug #11683) + + Disclaimer: It's 6:51am. I'm trying to be as understandable as possible. + + What was happening previously was this: + * Press Alt + * Extended event generated and processed: state is now Alt down once + * Core event generated + - keyboard switched: inherited state is Alt down once + - event processed: Alt down twice + * Release Alt + * Extended event generated and processed: state is now null + * Core event generated and processed: Alt down once + + If we switch the order: + * Press Alt + * Core event generated: + - keyboard switched: inherited state is null + - event processed: Alt down once + * Extended event generated and processed: state is now Alt down once + * Release Alt + * Core event generated and processed: state is now null + * Extended event generated and processed: state is now null + + When we carry over the previous state, it needs to be the _previous_ state + (state and modifiersPerKey), assuming that we're going to catch now-core + events for any of these. For example, if Ctrl is held down as we pivot, we + need to carry Ctrl over with a count of one, for which an extended + core + release will then clear. Carrying over the union of the previous state _and + the state resulting from the immediate action_ was what broke things. + +commit 0e0174d45ecbeb7b6dddc4af53da9d6211038e0e +Author: Daniel Stone +Date: Wed Aug 1 03:30:07 2007 +0300 + + XFree86: Allow disabling of HAL + + If NoAutoAddDevices is given as a server flag, then no devices will be added + from HAL events at all. If NoAutoEnableDevices is given, then the devices will + be added (and the DevicePresenceNotify sent), but not enabled, thus leaving + policy up to the client. + +commit cd8e99e56ec5d02026e401cc15e0f8d75f2a4727 +Author: Daniel Stone +Date: Wed Aug 1 03:29:12 2007 +0300 + + Input: Don't enable devices when we open them + + Thanks to Xi's braindead design, it's otherwise impossible to query input + devices without enabling them. Hurrah. + +commit 0a31db14b7c7c21ef550dbcc73a9f649f3613cbe +Author: Daniel Stone +Date: Wed Aug 1 02:54:14 2007 +0300 + + Config: D-Bus core: Fix hook removal + + Make sure we properly initialise the entire hook when adding it, and + bust out when we're done removing. + +commit 89f628394f7d831f2ba1e45c5884c3983bef6031 +Author: Daniel Stone +Date: Wed Aug 1 02:08:02 2007 +0300 + + XFree86: Input: Fix whitespace + +commit aec0d06469a2fa7440fdd5ee03dc256a68704e77 +Author: Aaron Plattner +Date: Tue Jul 31 16:33:37 2007 -0700 + + Fix a crash when rotating the screen. + + Remember output->crtc before setting a NULL mode because RRCrtcNotify now sets + output->crtc to NULL. Use the saved crtc to set the new mode. + +commit a93033b0bc14ed0bb95c680ded26b63cfe5fd1d3 +Author: Daniel Stone +Date: Wed Aug 1 01:53:08 2007 +0300 + + XFree86: Module: Bump input version + + config_info changes the size (and ordering) of DeviceIntRec, so bump the + input major. + +commit 1150969b826e2bd6d8345fa245ed499f2e4cf101 +Author: Daniel Stone +Date: Wed Aug 1 01:52:20 2007 +0300 + + Convert all my license statements to the standard form + + Convert all my license statements to the standard, accepted form: + cf. <20070717142307.GD13478@fooishbar.org> + http://lists.freedesktop.org/archives/xorg/2007-July/026451.html + + keithp's license on configure.ac changed with his verbal permission. + +commit 8658f5d923a69fb55b4cd9e1e84c2d271679f6e2 +Author: Daniel Stone +Date: Wed Aug 1 01:10:50 2007 +0300 + + Hotplug: Add HAL support + + Add support for HAL-based hotplugging, in which we just get the list of + input devices and properties from HAL. Requires an FDI which is not yet + in mainline HAL. + +commit aa75b3481724834da2f855d8dd2ff36074bd5706 +Author: Daniel Stone +Date: Wed Aug 1 01:09:07 2007 +0300 + + Hotplug: D-Bus: Dispatch harder + + Dispatch until we've got nothing left to dispatch, since apparently + dispatching will only ever fire a single message ... + +commit 4d238c5c67461ed747aa6c021d1532734f4c63fe +Author: Daniel Stone +Date: Wed Aug 1 01:08:26 2007 +0300 + + Input: GetPointerEvents: Deny events from devices without valuators + + For some reason, my keyboard has 25 mouse buttons, but zero valuators. This + causes GPE to blow up spectacularly, trying to get (and set) co-ordinates from + devices without valuators. For now, just prevent this from ever happening, + and whack a dirty great FIXME in. + +commit 7c9e8fd56e1830f7a971187d14877ebbdf35c4b0 +Author: Daniel Stone +Date: Wed Aug 1 00:19:14 2007 +0300 + + Input: Allow enabling and disabling of devices + + Add DEVICE_ENABLE to KDrive and XFree86 to allow us to enable and disable + devices on the fly. + +commit 0afeb0241a83796575da827bd81375c99ff10af5 +Author: Daniel Stone +Date: Sun Jul 8 20:48:57 2007 +0300 + + DIX: Clean up null root cursor handling + + Move the null root cursor handling out of main() and into CreateRootCursor. + +commit 62ec6d09b3adaea82ff52c8672e6f611c15ec56d +Author: Daniel Stone +Date: Sun Jul 8 20:47:28 2007 +0300 + + dix.h: Remove duplicate ffs() prototype. + +commit 4d3379d418a781938358e511fd41deb4115a032c +Author: Daniel Stone +Date: Sun Jul 8 14:31:35 2007 +0300 + + Fonts: Fix builtin fonts + + Make sure the font path is always 'built-ins' when we use built-in fonts, + rather than having it as a fixed path for a while, then clobbering it + halfway through startup. + +commit 9ac7e8a559fe6008cafc95e8264680c50e72ba19 +Author: Daniel Stone +Date: Sun Jul 8 14:30:53 2007 +0300 + + Hotplug: D-Bus: API version 2 + + Use uint32s instead of int32s where practical, and add an API version + request. Also, try to return all devices added, not just the first, + and box device arguments. + +commit 1cdadc2f43d9069572814510d04b1a560c488fcb +Author: Daniel Stone +Date: Sun Jul 8 14:28:58 2007 +0300 + + Hotplug: Separate D-Bus into core and hotplug API components + + Break up D-Bus into two components: a D-Bus core that can be used by any + part of the server (for the moment, just the D-Bus hotplug API, and the + forthcoming HAL hotplug API), and the old D-Bus hotplug API. + +commit 8bfa41e1bf3f588780d7e9f6f900b1fde0570a7e +Author: Daniel Stone +Date: Sun Jul 8 04:29:43 2007 +0300 + + gitignore: Add automake lex/yacc wrapper + +commit 06dd2748da8b7af343f6cab409b9f351567de5f3 +Author: Daniel Stone +Date: Sun Jul 8 00:27:40 2007 +0300 + + configure.ac: Properly check XFree86 proto modules + + Not sure why these are conditionals, anyway. This one really needs + revisiting, but at least causes configure, rather than the compilation, + to bomb out. + +commit fd10312b4224197b937d9e696b53dc2a16c8912f +Author: Daniel Stone +Date: Sun Jul 8 00:26:26 2007 +0300 + + configure.ac: Fix KDrive VESA/fbdev conditionals + + Make sure we actually respect anything explicitly given on the configure + line, instead of just stomping it with what we detect. + +commit f37612c6f2375ca904411e6caa0be19fa24f032c +Author: Nicolas Trangez +Date: Sun Jul 8 00:23:57 2007 +0300 + + Hotplug: Remove unused function definition from hotplug.h + + configDispatch hasn't been used in a long time. + +commit 951c058e7800308f7c472e77178c14400f45c1b3 +Author: Aaron Plattner +Date: Tue Jul 31 14:23:58 2007 -0700 + + Don't fail compScreenInit if the driver added its own alternate visuals. + +commit 722d73a0ef54c2ebd8ef38c4a6afa0e7c5aa3e30 +Author: Dave Airlie +Date: Tue Jul 31 10:34:56 2007 +1000 + + Revert "Fix RandR 1.2 conversion of two colour to ARGB cursor on MSB first platforms." + + This reverts commit 0f057ebb272f0ee0b51b9ab37d4b07da0924fec4. + + This screws my cursor up just starting a bare X server on Intel, + I get the X more like <> than ><.. + +commit 57b5b97a0710fc043b8a1c01d756cdb73dfe4567 +Author: Adam Jackson +Date: Sun Jul 29 11:02:47 2007 -0400 + + ReduceCompositeOp returns a Render op, not a boolean. + +commit f62beb6f3609e8b6e61325ac89017590811bbd07 +Author: Adam Jackson +Date: Fri Jul 27 13:23:15 2007 -0400 + + Remove all trace of Option "BiosLocation". + + This code was deeply dangerous. If anyone actually had a use for this code, + we should find a better way of doing it. + +commit 486fd4145aed93093d1f1655de40c0a8582bb8b1 +Author: Adam Jackson +Date: Fri Jul 27 13:10:39 2007 -0400 + + exaGetPixmapFirstPixel: avoid framebuffer readbacks if possible. + + If the pixel in framebuffer memory isn't modified since we uploaded it, we + can just read from the system memory copy, wihch avoids both a readback and + an accelerator stall. + + In principle this function is still wrong, and all the framebuffer pixel + access should be going through (w)fb so we can get pixel layout corrections. + +commit 50cb6c7e4419e067c1f080d1de940811d21fc725 +Author: Kristian Høgsberg +Date: Fri Jun 15 15:29:00 2007 -0400 + + Don't map the front buffer in libdri if the ddx driver doesn't set the size. + + This lets drivers map the front buffer themselves + by setting dontMapFramebuffer. + +commit cec793ef7a6dac9fa2a6538683e363a72672cde9 +Author: Aaron Plattner +Date: Thu Jul 26 11:49:46 2007 -0700 + + Include picturestr.h in xf86Crtc.h to pick up definition of PictTransform. + +commit 27845fe197b74bf453d99f352e83513e201fdaae +Author: Adam Jackson +Date: Thu Jul 26 09:32:16 2007 -0400 + + libconfig shouldn't be an installed library. + +commit 276f8e2ca42eec982d16b86d67217d68ff98f81d +Author: Alan Coopersmith +Date: Wed Jul 25 17:42:23 2007 -0700 + + Include comment/copyright/license for AC_DEFINE_DIR in acinclude.m4 + +commit eba2be448bdd298ff2f7b8603bd9e976da1fdf72 +Author: Brice Goglin +Date: Wed Jul 25 20:53:45 2007 +0200 + + Minor fixes in cvt and gtf manpages + + Reported by "A. Costa" in + http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=432065 + +commit 8d230319040f0a7f72231da2bf5ec97dc3612e21 +Author: Gustavo Pichorim Boiko +Date: Tue Jul 24 16:19:19 2007 -0300 + + Fix the output->crtc initialization in the old randr setup + +commit 0f057ebb272f0ee0b51b9ab37d4b07da0924fec4 +Author: Michel Dänzer +Date: Wed Jul 25 17:04:04 2007 +0200 + + Fix RandR 1.2 conversion of two colour to ARGB cursor on MSB first platforms. + + Doesn't seem necessary to do anything here... + +commit 5b424b562eee863b11571de4cd0019cd9bc5b379 +Author: Gustavo Pichorim Boiko +Date: Mon Jul 23 18:27:41 2007 -0300 + + Set the crtc before the output change is notified + + Set the new randr crtc of the output before the output change notification is + delivered to the clients. + Remove RROutputSetCrtc as it is not really necessary. All we have to do is set + the output's crtc on RRCrtcNotify + +commit 7da38bb6a15247948c90e00a59230453fcf13cbd +Author: Adam Jackson +Date: Sat Jul 21 15:27:40 2007 -0400 + + Partial redundancy elimination in PropertyNotify generation. + +commit 0f91abd5c68eb044d09733d18ef0f6b8ed128200 +Author: Julien Cristau +Date: Thu Jul 19 20:37:26 2007 -0400 + + Fix alpha build failures + + Don't include in os-support/linux/lnx_axp.c, use "lnx.h" and + instead + +commit dc9c5196282ba61bd542e198dfe0d53d93181591 +Author: Keith Packard +Date: Thu Jul 19 13:28:00 2007 -0700 + + Make PreferredMode option in config file override EDID mode preferences. + + When the PreferredMode option is selected in the config file, remove the + M_T_PREFERRED bit from all other preferred modes to force the config file + mode to be selected. + +commit 73a93c5a6b68f7ba21f9e75f50b1032603a3b39e +Author: Keith Packard +Date: Thu Jul 19 13:26:36 2007 -0700 + + Query modes on disabled (but not ignored) outputs. + + Code that disabled mode detection on disabled outputs would confuse + applications by listing said outputs as connected but without any modes. + This makes the disabled state in the config file affect only the initial + configuration and not subsequent modifications by RandR. + +commit 9fc36a391c11170cde1a28f548a2cae5f6f20d5b +Author: Keith Packard +Date: Sat Jul 14 12:36:15 2007 -0700 + + Make pending property changes trigger mode setting. + + The DDX code was ignoring pending properties for computing when mode setting + was required. This meant that configurations differing only in property + values would not cause the mode to be set. + +commit aed6569309223ecc7e26fa84e4d430e422455607 +Author: Adam Jackson +Date: Sat Jul 14 15:21:46 2007 -0400 + + Refactor how Composite adds visuals to the screen. + + Besides being slightly simpler to read, it's now trivial to add a depth-16 + visual to a depth-24 screen just by adding a line for it in the alternate + visual list. Visuals for indexed depths are slightly tricky still. + +commit 21bbd7d64b5f74915afd7a312e589654442f3461 +Author: Adam Jackson +Date: Tue Feb 6 21:42:50 2007 -0500 + + Delete some pre-dlloader debugging scaffolding. + + If your loader is as bad as elfloader, then it makes sense for the + server to have some stubs for you to assign to / break on. However it + is no longer 1996. + +commit 1f71f0c0574bafb36da20fec669f9a1138c69a47 +Author: Adam Jackson +Date: Tue Feb 6 21:28:03 2007 -0500 + + Remove (long-)deprecated xf86EnablePciBusMaster. + +commit 0a63d874e9c2f4fe4b38839a744461f9d41040b2 +Author: Adam Jackson +Date: Tue Feb 6 21:22:49 2007 -0500 + + Always normalize the module name. + +commit 9a1c6afd12caf0143483f72bfbba0c4c3daaa6ff +Author: Adam Jackson +Date: Tue Feb 6 21:19:50 2007 -0500 + + Remove dead code for screen crossing. + +commit 8ca2fe8914af1a67bf597f99025e5cbe9b08da57 +Author: Adam Jackson +Date: Tue Feb 6 21:11:13 2007 -0500 + + Delete dead module test code. + +commit e2413cc7cae4e578b8e9b408ea85bef596b03ea3 +Author: Adam Jackson +Date: Tue Feb 6 21:07:37 2007 -0500 + + Remove MEMDEBUG + + This existed (but may not have worked) in the monolith, but is gone now. + +commit d1d65a84150dfbc3a4dbe108f237a85ab6e09bbb +Author: Adam Jackson +Date: Tue Feb 6 21:01:08 2007 -0500 + + Dead ifdefs for BITMAP_SCANLINE_UNIT == 64 + + This appears to be a legacy of cfb24 not being smart enough to deal with this + case. But since cfb24 unexists, die die die. + +commit cbe74394a5ed21ed80c0aab6eefd2716122cce11 +Author: Adam Jackson +Date: Tue Feb 6 20:44:34 2007 -0500 + + Nuke dead X -configure code. + +commit 5657fb065cc79ba3ca5a836f45637ba9894f9abf +Author: Dodji Seketeli +Date: Tue Jul 17 12:12:02 2007 +0200 + + exaDriverInit: Fail if pScreenInfo or a member of it is invalid. + + EXA may attempt to use the invalid value and crash otherwise. + +commit bbe7ce10fa93017374d7a4611427b70a22d7507a +Author: Alan Coopersmith +Date: Mon Jul 16 17:25:59 2007 -0700 + + Update pci.ids to 2007-07-16 snapshot + + Remove nvidia ids in extrapci.ids that are now in pci.ids + Add nvidia ids to extrapci.ids that are in xf86-video-nv but not pci.ids + +commit ac979c165128704116cd40086320b6edc79018e2 +Author: Keith Packard +Date: Sat Jul 14 12:13:17 2007 -0700 + + MakeAtom needs length without trailing NUL. sizeof("string") includes NUL. + + I made a mistake in some new code using MakeAtom, passing the size of the + string instead of the length of the string. Figuring there might be other + such mistakes, I reviewed the server code and found four bugs of the same + form. + +commit 393171034c15d8a1b82232b8f9455a358035e932 +Author: Keith Packard +Date: Sat Jul 14 09:03:40 2007 -0700 + + Add RandR reflection support. + + Replace the ad-hoc transformation mechanisms with matrices. + Prepares for more general transformation as well. + +commit 8773ad023eb28950eb0f802d2ca31a67f84adddc +Author: Keith Packard +Date: Sat Jul 14 08:47:50 2007 -0700 + + Screen size bounds check in ProcRRSetCrtcConfig not masking out reflections. + + When checking how to validate the selected mode and position against the + current screen size, the test against 90/270 rotation did not mask out + reflection, so that when reflection was specified, the 90/270 test would + never succeed. This caused incorrect bounds checking and would return + an error to the user instead of rotating the screen. + +commit 881a620b4d6ea7a54af14c8f8fbe6924c9aa9291 +Author: Keith Packard +Date: Sat Jul 14 08:45:10 2007 -0700 + + When sync'ing logfile, also flush it. + + When the logfile is set to sync, the actual sync occurs whenever the log + file is flushed. If the log file is not also set to flush, no syncing + occurs. + +commit 031b009ea678809bf1ddca883c2082b304c408c9 +Author: Alan Coopersmith +Date: Fri Jul 13 14:54:45 2007 -0700 + + Use %S instead of %s for strftime seconds when printing build time + +commit c0e91777a9874fe2cd9a7e9180263f512c1e8f8d +Author: Alan Coopersmith +Date: Thu Jul 12 16:37:11 2007 -0700 + + Add __SOL8__ to xorg-server.h.in since xf86-input-kbd needs it to build + +commit 6b4231e3b5b49b731c9a00930ae465fff8539831 +Author: Alan Coopersmith +Date: Thu Jul 12 16:36:27 2007 -0700 + + Use kbd driver when xorg.conf specifies "keyboard" or "Keyboard" (bug #11301) + + X.Org Bug #11301 + Sun Bug #6560332 + +commit 9fcb30ebf7b7b2137955f759e95c1d58c4f27a11 +Author: Alan Coopersmith +Date: Thu Jul 12 13:00:32 2007 -0700 + + Make SOLARIS_INOUT_ARCH substitutions work better with automake-1.10 + +commit 7c0ca27f6dd0a800dc27429a33dbc8e133f9a9c1 +Author: Alan Coopersmith +Date: Wed Jul 11 17:15:29 2007 -0700 + + "fbpict.c", line 215: void function cannot return value + +commit 0a4e9311158ed3ecda0722640f860ace2f87a97e +Author: Hanno Boeck +Date: Thu Jul 12 10:17:07 2007 +1000 + + xnest: fix linking since dbus + + Fixes bug 8955 + +commit b2f9ca6ac400d426d7a1ef0162f7e7ce28288dd1 +Author: Keith Packard +Date: Tue Jul 10 21:33:34 2007 -0700 + + Redirect fix: Manual + Automatic - Manual = Automatic + + A window with redirect manual *and* redirect automatic which loses the + manual redirecting client becomes redirect automatic. + +commit 561989f2f0fc31e3d3bf8df978a9cb3d4c85af59 +Author: Keith Packard +Date: Tue Jul 10 21:06:51 2007 -0700 + + Generate ChangeLog file for make dist. + + Copy Makefile.am snippet which generates a complete git change history to + the ChangeLog file during the distribution generation process. + +commit e316fa59fea8b7b18cdf3a227890351a9567ec65 +Author: Adam Jackson +Date: Tue Jul 10 14:20:55 2007 -0400 + + Add per-monitor config file option for maximum pixel clock. + +commit 161624a5a45808fd56141dc2c64be729944f03ed +Author: Michel Dänzer +Date: Tue Jul 10 09:02:40 2007 +0200 + + GLX: Only build code dealing with GLXPixmap damage field when DRI is enabled. + +commit 4abd00dab7e648dab8172f6009371e4e63d0c521 +Author: Michel Dänzer +Date: Tue Jul 10 09:02:08 2007 +0200 + + Make sure DRI drawables are cleaned up when client dies. + + The previous scheme didn't work when the client didn't create the core drawable, + e.g. the root or composite overlay window. Use refcounting via special client + resources to fix that. + +commit 5957aa6fdc580ccad4557eeefa0636ffad823f33 +Author: Michel Dänzer +Date: Mon Jul 9 08:47:05 2007 +0200 + + Fix regression from recent composite changes. + + One pWin->redirectDraw test was converted incorrectly, causing incorrect + rendering in some cases. + +commit bcb23527421578bd4c9397d4c2c19cbefa22fc59 +Author: Adam Jackson +Date: Thu Jul 5 15:56:25 2007 -0400 + + Clean up unused #ifdefs from fb. + +commit 9ff7ff2fda30f334515b16ef0867c1500c41bc0f +Author: Keith Packard +Date: Wed Jul 4 23:38:27 2007 -0700 + + Fix MEMORY SMASH in XkbCopyKeymap. + + XkbCopyKeymap reallocates the destination keymap when it is not large enough + to hold the source data. When reallocating the map->types data, it needs to + zero out the new entries. The computation for where to start bzero'ing was + accounting for the size of the data type twice, once implicitly in the + pointer arithmetic, and once explicitly with '* sizeof (XkbKeyTypeRec)'. + This would often lead to random memory corruption when the destination + keymap had existing map->types data. + +commit 9131d560a0d42067cc4e726e445e060216c9acdc +Author: Tiago Vignatti +Date: Thu Jul 5 02:47:34 2007 -0300 + + Postpone options variable assignment to fix segfault when we got a device but + its driver is incorrect. Also if (!ki && !pi) can never be true. + + This one also adds the device option field. + +commit 41b485d5507821e41c3281c3c565647ae7582101 +Author: Tiago Vignatti +Date: Thu Jul 5 02:40:07 2007 -0300 + + kdrive must to know that devices are unplugged. + +commit a92dc6b5295e4f352115fed2856169929819863f +Author: Tiago Vignatti +Date: Thu Jul 5 02:28:14 2007 -0300 + + Remove redundant linking in kdrive. Fix configure.ac variable name and clean + it up a little. + +commit 41b5155c8be75c4e171c0f64616cc09598b8ec54 +Author: Tiago Vignatti +Date: Thu Jul 5 01:57:41 2007 -0300 + + For each kdrive server put a dependencie on its own libraries. + +commit 16e429bcbf2f62cfc58162ab2857afb7376dda41 +Author: Jonathan Lim +Date: Wed Jul 4 20:08:49 2007 +0200 + + Bug 5000: Fix domain support for SGI Altix + +commit f106c04b627d9f57b38627971dc79c75129e66d6 +Author: Keith Packard +Date: Tue Jul 3 14:47:19 2007 -0700 + + Have Composite always report server version. + + It was reporting the lessor of the server and client versions, which doesn't + make sense with the 0.4 semantic change in clipping. + +commit 4f88d68bdb90cc7d12170355105b4fd020acd306 +Author: Keith Packard +Date: Tue Jul 3 14:43:17 2007 -0700 + + Force advertised Composite version to 0.4 instead of using header version. + + Installed protocol header version may be newer than the server code base. + Use internal version number for Composite extension to make sure the server + doesn't advertise capabilities it doesn't support. + +commit 866f092ca0160a366add01b48ad03438926c4d16 +Author: Keith Packard +Date: Tue Jul 3 14:29:11 2007 -0700 + + Make Composite manual redirect windows not clip their parent. + + This patch changes the semantics of manual redirect windows so that they no + longer affect the clip list of their parent. Doing this means the parent can + draw to the area covered by the child without using IncludeInferiors. More + importantly, this also means that the parent receives expose events when + that region is damaged by other actions. + +commit 2a75c774975b50dd4e71b7dbea7bd65ca2984a43 +Author: Dodji Seketeli +Date: Tue Jul 3 11:00:29 2007 +0200 + + ExaOffscreenMarkUsed: Don't crash when there's no offscreen memory. + +commit 0ede39a25cf5b0b6c2c89677f810c21ce42b95df +Author: Michel Dänzer +Date: Tue Jul 3 10:55:13 2007 +0200 + + Fix build when int10 doesn't use x86emu. + +commit 028a00bc518dc6908839e8ce7c50ab1837100945 +Author: Adam Jackson +Date: Mon Jul 2 18:41:55 2007 -0400 + + Make x86emu's I/O cycle tracing more useful. + + Print debug messages only when the appropriate debug bit is set in the + 8086 state vector, so you can focus in on the call you're actually + interested in. + +commit 00e8295b7e0c7c0ba97707903004272818e3d87d +Author: Gero Mudersbach +Date: Mon Jul 2 11:40:11 2007 -0700 + + Bug #10814: Add needed quirk for Samsung 225BW like the 226BW. + +commit 667e95f2e8389d9f23c50446d6d664eddd16d260 +Author: Eric Anholt +Date: Mon Jul 2 11:36:11 2007 -0700 + + Correct the xf86EdidModes.c file description. + +commit 3de1f0d03b329b01856f664651db23ffefb58646 +Author: Eric Anholt +Date: Tue May 29 10:08:58 2007 -0700 + + Fix documentation of association of outputs to monitor sections in xorg.conf(5) + +commit 4d76075dbb618a47ff9fc15c4be2e2d34210fa8d +Author: Adam Jackson +Date: Fri Jun 29 14:06:52 2007 -0400 + + Death to RCS tags. + +commit 2691c05fd647d9fa10f791ac397ecb9c423a076f +Author: Peter Hutterer +Date: Fri Jun 29 11:56:18 2007 +0930 + + Make sure window->optional is allocated before assigning it. + + DeletePassiveGrabFromList() may remove the window optional, so we need to + re-alloc it if it isn't there anymore. + + Thanks to Colin Harrison for spotting the bug. + +commit f7f3fe7fe7233a2ffc43106c48f44cbbd82b7c19 +Author: Adam Jackson +Date: Thu Jun 28 18:59:05 2007 -0400 + + Remove the remnants of OS/2 support. + + This has never worked in any modular server release, and as far as I know + was never tested in 6.7 through 6.9. + +commit 8a06ff9ffa4816d192e58e43e7fe569b97b4dd7c +Author: Adam Jackson +Date: Thu Jun 28 16:41:28 2007 -0400 + + Fix another usage of MAX_PCI_DEVICES. + + Fixes cases where the VGA device is above the 128th device on the system. + +commit 928836a5abd85466e920eb487fab9ccb295e0c5b +Author: Adam Jackson +Date: Thu Jun 28 16:29:28 2007 -0400 + + Bug #10770: "Inputdevs" isn't a valid config file keyword. + +commit 62f43d8b33f67d8f3d0bd65787ffae9e6b634d65 +Author: Tiago Vignatti +Date: Wed Jun 27 16:24:42 2007 -0300 + + Relink properly all kdrive servers when changes happen. + +commit 3860996d5666b76600b1537e2cbd58e36b086308 +Author: Tiago Vignatti +Date: Wed Jun 27 16:06:12 2007 -0300 + + Remove double-defined. + +commit 1e189ed1daab58c1de67d387306fde0a9e7984a4 +Author: Aaron Plattner +Date: Wed Jun 27 10:16:40 2007 -0700 + + Handle tileStride > 1 in fbEvenTile. + + Patch courtesy of James Jones. + +commit bf1ad1aa4270dccf1540943d97e80b317c0adb56 +Author: Adam Jackson +Date: Wed Jun 27 09:19:28 2007 -0400 + + Add VBE PanelID support. + + Originally found only in the i810 driver. + +commit d73835efda4995a310188537233a984f4b73628d +Author: Tiago Vignatti +Date: Wed Jun 27 03:34:13 2007 -0300 + + More janitor work. Remove 'defined but not used' warnings from kdrive and some minor cosmetic. + +commit 38f8e536684193c3f70b23be22d818053c676072 +Author: Tiago Vignatti +Date: Wed Jun 27 03:19:37 2007 -0300 + + Janitor work. Remove 'defined but not used' warnings from xorg and other cosmetic. + +commit 1340f34ec98c41781164018d43bd7bb858d8132b +Author: Tiago Vignatti +Date: Wed Jun 27 03:04:55 2007 -0300 + + Fix kdrive XKB. + +commit 9725516b4274ceaf9d6caf372c5439b4c9db2316 +Author: Alan Coopersmith +Date: Fri Jun 22 17:05:21 2007 -0700 + + Split checks for dtrace & getpeerucred() + +commit edb9ccf3ecb4e35a840aa13815979c5fbd73f32d +Author: Michel Dänzer +Date: Mon Jun 25 10:51:38 2007 +0200 + + Make sure DRIScreenPrivIndex is -1 when no DRI screen private is allocated. + + Fixes https://bugs.freedesktop.org/show_bug.cgi?id=11340 . + +commit 4c601b904ee6fb01da3343ff9ef00d36f1341fcb +Author: Peter Hutterer +Date: Mon Jun 25 10:53:05 2007 +0930 + + configFiles(): don't return anything when declared as void. + +commit bec4e47d128ec40b58a2c9aae475f6a6fc4323c3 +Author: Peter Hutterer +Date: Mon Jun 25 10:51:42 2007 +0930 + + NULL-terminate device list when synthesizing core devices. + + This fix is required for 93ca526892c0d22afa05cce6496198c652043a19 to work. + +commit 8e5102b9f01821048e72e7f068193a0b3e1816f9 +Author: Peter Hutterer +Date: Thu Jun 21 15:47:48 2007 +0930 + + Set the detail field for DeviceKeyEvents to the keycode. + + (cherry picked from commit 0c33dc152e372cdc8ae59d9a5696b0774bcd03b7) + +commit 87564543d92c1ee1f8cb6fb9716a15d693e08cf5 +Author: Peter Hutterer +Date: Tue Jun 19 18:20:05 2007 +0930 + + Only decrement buttonsDown when the button count is greater than 0. + + Device drivers flush their buttons on device init and cause a button down + event to be generated. If we unconditionally decrease the buttons, we won't be + able to ever get a passive device grab. + + Format documentation for CheckDeviceGrabs to make it readable. + (cherry picked from commit 3e894974cdd6a75683d4601f71622d1da7ec4395) + + Conflicts: + + Xi/exevents.c + +commit 24ee89fd60f489f2d3af0399e0d667057df74d02 +Author: Peter Hutterer +Date: Tue Jun 19 15:31:56 2007 +0930 + + Add a few comments to devices.c + +commit 93ca526892c0d22afa05cce6496198c652043a19 +Author: Peter Hutterer +Date: Wed Jun 13 15:28:15 2007 +0930 + + Split up memory for devices configured in the config file. + + If we're using a continuous block here, we segfault when a device removal + triggers an xfree call. + +commit b141b85c254afff3ce2221d899787fab3dc295bd +Author: Peter Hutterer +Date: Wed Jun 13 15:26:03 2007 +0930 + + Check for identical grabs when adding a new passive grab. If an identical grab + + exists, remove the old one and prepend the new one. + + X.org Bug 2738 + +commit 19cde59c41cf167cc609debfee75bfc015beac12 +Author: Søren Sandmann Pedersen +Date: Fri Jun 22 00:38:50 2007 -0400 + + In fbFill() make sure the drawable is validated when pixman_fill() succeeds. + + In fbSolidBoxClipped() don't return when pixman_fill() succeeds. + +commit d2177c80915f2fe2e8a5c948d4ba2fa51dbfbea2 +Author: Keith Packard +Date: Fri Jun 22 02:08:21 2007 +0100 + + Skip driver mode detection/configuration when !vtSema. + + When the server is not active, make sure the driver functions related to + mode setting are not called. + +commit e523859a952d49b20f3d10152cc0ef695d2c12a1 +Author: Alan Coopersmith +Date: Wed Jun 20 17:54:38 2007 -0700 + + Include module name in "already built-in" message + +commit 5138f710a1574fef6f553f3fe2fccac0620d2584 +Author: Arcady Goldmints-Orlov +Date: Wed Jun 20 16:31:55 2007 -0700 + + Fixed fbSolidBoxClipped() to fill the right place. + + Changed an X2 to a Y1. + + Signed-off-by: Aaron Plattner + +commit c9b79a355845c895aca8303a39798264d80b6212 +Author: Michel Dänzer +Date: Wed Jun 20 18:56:06 2007 +0200 + + exaPolyFillRect: Don't track damage explicitly. + + All callers should already do it. + + Also don't leak pReg. + +commit 87966c5d2889873cea6cbc16b7e4399490dfaec1 +Author: Michel Dänzer +Date: Wed Jun 20 18:42:00 2007 +0200 + + exaGetImage: Don't migrate or try to accelerate for 1x1. + + This is mainly to avoid wasting effort for XSync(), but just reading a single + pixel directly is probably faster than DownloadFromScreen anyway. Though in + light of the latter, even larger thresholds might be useful. + + Also move the swappedOut check before the migration checks because migration + can't actually occur when swapped out. + +commit 40f27a2df4906d9ceb1c78f6163a62c497321535 +Author: Michel Dänzer +Date: Tue Jun 19 09:11:16 2007 +0200 + + mieqEnqueue: Make local queue tail variables unsigned. + + So the modulo arithmetic actually works as intended... thanks to Peter Hutterer + for pointing out the problem. + +commit 2e7fef7d0837939e822c40b6ac77e7f0e66d57bd +Author: Adam Jackson +Date: Mon Jun 18 12:08:39 2007 -0400 + + Make xf86{En,Dis}ableInterrupts no-ops on Linux. + +commit 831d3b7f8d053aba649c8d04af3bef96376bdc3a +Author: Lennart Buytenhek +Date: Mon Jun 18 12:05:55 2007 -0400 + + Compile fixes for Linux ARM platforms. + +commit 562ca3f2f9005e7c5ed0a24b0759051ded2173e9 +Author: Zephaniah E. Hull +Date: Mon Jun 18 12:00:49 2007 -0400 + + In NewInputDeviceRequest, only call EnableDevice if xf86Screens[0]->vtSema is + true, preventing unwanted behavior in the case where a device is added while + the user is in a different VT. + +commit 42c2e14b254f6f882b3e79444360ab855db43e27 +Author: Matthieu Herrb +Date: Fri Jun 15 00:14:02 2007 +0200 + + swap xOrigin and yOrigin in SProcRenderSetPictureClipRectangles. + + Fixes Xrender clipping rectangles when X server and client are of + different endianness, shown by xterm 225 among others. + +commit 78179ae827bb5d19abb1340084362bc51ad5c1e5 +Author: Søren Sandmann Pedersen +Date: Mon Jun 11 22:46:42 2007 -0400 + + Remove fbmmx.[ch] files + +commit eb2d7fe02f9cbca57b462bba05498e2d59316fbc +Author: Søren Sandmann Pedersen +Date: Mon Jun 11 22:43:01 2007 -0400 + + Replace fbFillmmx() with pixman_fill() and remove fbmmx.[ch] + +commit f52ae237d3eec79ccd64cdd77271aeacc37af70c +Author: Søren Sandmann Pedersen +Date: Mon Jun 11 22:02:39 2007 -0400 + + Require pixman 0.9.2 + +commit d1d85c04e248f46b1cf1b1d25fdd56aa69b8f0ee +Author: Søren Sandmann Pedersen +Date: Mon Jun 11 21:25:42 2007 -0400 + + Delete fbBltmmx(). + +commit 3f9adb18f127318d054f30a57e3a77176e14c692 +Author: Søren Sandmann Pedersen +Date: Mon Jun 11 15:19:27 2007 -0400 + + Port a few forgotten fbSolidFillmmx()'es to fbFillmmx(). Use pixman_blt() instead of fbBltmmx() + in fbCopyNToN(). + +commit d06099b38e8445e6e31f5178ffefcc31a71080ef +Author: Søren Sandmann Pedersen +Date: Mon Jun 11 13:28:24 2007 -0400 + + Remove fbCopyAreammx() and fbSolidFillmmx() + +commit d4a034370c8ae71b2cc4fe824ceee58b19624f35 +Author: Søren Sandmann Pedersen +Date: Mon Jun 11 13:26:24 2007 -0400 + + Split fbSolidFillmmx() into a new FbFillmmx() function. Call that from fbFill(). + +commit 3210902a7334f3d8d6c18a34a3cb3f55803b0043 +Author: Søren Sandmann Pedersen +Date: Mon Jun 11 13:14:50 2007 -0400 + + Split fbCopyAreammx() into a new fbBltmmx() function; call this + + function from fbCopyNToN(). + +commit 8d5f4368eac1b259db3e61f877a4cc10f04efa2f +Author: Clark Rawlins +Date: Mon Jun 11 16:53:38 2007 +0200 + + Really make sure BUILD_TIME doesn't have a leading zero. + + date +'%k%M%S' still gives a leading zero in the hour after midnight... + + Add a leading 1 and remove it in xf86PrintBanner(). + +commit 54e023cec07aa7e392da36e11d0a4667b8341370 +Author: Søren Sandmann Pedersen +Date: Mon Jun 11 09:16:46 2007 -0400 + + Don't pass regions to pixman_image_composite() anymore. + +commit 5cbec267b6426960c90f6bcff1d051af5084538c +Author: Michel Dänzer +Date: Mon Jun 11 12:38:41 2007 +0200 + + Make sure BUILD_TIME doesn't have a leading zero. + + It causes the compiler to treat it as an octal constant instead of decimal as + intended, which could even cause a build failure in the cases of 08 and 09. + + Thanks to Clark Rawlins for pointing out the problem. + +commit 1aceec61ff203848576c47a1eab13f90a67d7176 +Author: Michel Dänzer +Date: Mon Jun 11 09:23:19 2007 +0200 + + DRI: Clip cliprects obtained from DRIGetDrawableInfo to screen dimensions. + + This is to avoid issues with redirected windows which are located partly or + fully outside of a screen edge, resulting in unusual cliprects which the 3D + drivers generally can't handle. The symptoms in such cases would be incorrect + rendering or even crashes or hangs. + +commit 5d896e43fd056d935935b4eb66562791edc247a1 +Author: Michel Dänzer +Date: Mon Jun 11 09:23:19 2007 +0200 + + DRITreeTraversal: Stop walking tree when we've seen all DRI windows. + +commit 0fb44c6f9a0415184818ba8357a21ff920e907dc +Author: Michel Dänzer +Date: Mon Jun 11 09:23:19 2007 +0200 + + DRI: Fix build warning. + +commit 644f7ddc0cb029e2ebca43742fd8a46a1a3f4c9f +Author: Michel Dänzer +Date: Mon Jun 11 09:23:18 2007 +0200 + + dixLookupClient: Use access parameter. + +commit 30a3297fed9af3a594aba0875a8f58a0a38b33fc +Author: Michel Dänzer +Date: Mon Jun 11 09:23:18 2007 +0200 + + mieq queue handling cleanups. + + In particular, fix handling of wraparounds in mieqEnqueue. + +commit c1a49a9269f14b6975a1a2c751bb179757373f11 +Author: Adam Jackson +Date: Sun Jun 10 22:14:57 2007 -0400 + + GNU is wrong and ` is not left-quote. + +commit 67a0a4da1a225ee3bd6bbd1846f8141fe333c884 +Author: Dave Airlie +Date: Mon Jun 11 11:55:11 2007 +1000 + + update xproto dependency to at least 7.0.9 + +commit c079cce9d884ab03f305b3fba4a4e1247c023480 +Author: Daniel Ciocea +Date: Fri Jun 8 18:12:21 2007 -0700 + + Fix sync polarity on Samsung SyncMaster 205BW monitor. + + need to use standard VESA sync polarity instead of the + EDID provided -hsync -vsync values. + +commit 9c47b86bd9a4633fda5fd305a09ac8623187efa0 +Author: Aaron Plattner +Date: Thu Jun 7 13:57:12 2007 -0700 + + Add new fb symbols to wfbrename.h. + + Avoids crashes when wfbComposite calls the wrong image_from_pict. + +commit 567b5bf765254a4ae9cc7711bb6acfa89a9fd61c +Author: Søren Sandmann Pedersen +Date: Tue Jun 5 20:26:49 2007 -0400 + + Delete fbCompositeCopyAreammx() + +commit 49ed31c0b323dd8c5887a803c199875e6f2330d8 +Author: Søren Sandmann Pedersen +Date: Tue Jun 5 17:44:21 2007 -0400 + + Remove most of the fast-path MMX operations from fbmmx. fbCopyAreammx + + and fbSolidFillmmx are still needed by other code. + +commit dfbe32b5b828cc4e3da36a0e2e6ad641164eaa5e +Author: Adam Jackson +Date: Mon Jun 4 18:07:00 2007 -0400 + + Remove the old Kerberos 5 authentication code. + + Before you complain, this code hasn't seen material change since at least + X11R6. It certainly does not build with any modern version of Kerberos. + Anybody wanting krb5 auth to their X server should probably be using + GSSAPI instead of internal krb5 API anyway. + +commit 75dece08fb72803d5116e6776e9f1534ff20e37b +Author: Zephaniah E. Hull +Date: Mon Jun 4 09:09:20 2007 -0400 + + xf86PostMotionEvents[P] calls xf86SendDragEvents, xf86SendDragEvents + unconditionally checks device->button->buttonsDown. + + Let's make it possible to have a device with motion, but no buttons. + + Without segfaulting. + +commit fbb9b203950e9d0e82574cde5b3e006b0e6b404f +Author: Zephaniah E. Hull +Date: Mon Jun 4 06:59:42 2007 -0400 + + Let's not do a calloc and a free on every call to xf86PostMotionEvents. + +commit 3f4295e643ca56c40f33af7966e8efd367ef8749 +Author: Zephaniah E. Hull +Date: Mon Jun 4 06:48:06 2007 -0400 + + Add xf86PostMotionEventP, takes a pointer instead of a variable number of + arguments. + + Bump input ABI to 1.1 since we export this. + +commit a4f3473c88370b8411e016ebab619cffd33e58f9 +Author: Zephaniah E. Hull +Date: Mon Jun 4 06:39:02 2007 -0400 + + Fully init the AbsoluteClassRec in InitAbsoluteClassDeviceStruct. + (Specificly, we were missing the screen field.) + +commit 0cbc3a4da2ddb6e4f30f60d2bc7f405d31aa554a +Author: Zephaniah E. Hull +Date: Mon Jun 4 02:03:44 2007 -0400 + + Print the build time as well as the date if we can. + +commit 9a7aaeb3f6ff79af60fde91cd0575a54ba0b9587 +Author: Daniel Stone +Date: Mon May 28 13:54:16 2007 +0300 + + XFree86: Input: Assume core events per default + + Assume that a device will be sending core events, unless explicitly + specified otherwise. + +commit 94361cbba7f866144691f6f5e9251a550e0e0cb8 +Author: Daniel Stone +Date: Mon May 28 13:54:47 2007 +0300 + + XFree86: Input: Perform case-insensitive comparisons on option names + +commit e5ce982381c4092252d6b55fcefcc9a3cd21e656 +Author: Benjamin Herrenschmidt +Date: Sun Jun 3 09:40:37 2007 +1000 + + Include pixman.h from fb.h or compile of some files will fail + + Signed-off-by: Benjamin Herrenschmidt + +commit 90eb22656c34d2d08a8dccaf05e6d081c56bd7f3 +Author: Adam Jackson +Date: Sat Jun 2 16:49:26 2007 -0400 + + Minor cleanup/robustification to config parsing. + +commit f6a983533bdc84752562ef0be25b320678bf08a1 +Author: Adam Jackson +Date: Sat Jun 2 16:37:39 2007 -0400 + + Don't warn about default behaviour when autoconfigging. + +commit 21e8f4eb02842f877336db08c332d8ee4a381ee0 +Author: Adam Jackson +Date: Sat Jun 2 16:13:01 2007 -0400 + + Don't print lack of DRI support as an error in AIGLX init. + +commit 0e1384d8318637f75d04d3d1b7600f7cad40117e +Author: Adam Jackson +Date: Sat Jun 2 16:07:20 2007 -0400 + + Delete VDIF support; it was never used anyway. + +commit 66702f3c1c6c884e83744c72da173cc32f22b2f4 +Author: Henry Zhao +Date: Fri Jun 1 23:55:40 2007 -0700 + + Need to use minPitch in miScanLineWidth() to get the shrinked + linePitch. + +commit fa877d7ff25c4ec45288e1fea70d4f5e1baf3ef3 +Author: Alan Hourihane +Date: Wed May 30 13:06:45 2007 +0100 + + Fix mode validation against the maximum X/Y values configured + at server startup, and not against the virtual X/Y parameters + as they can change. + + This fixes an issue when canGrow is TRUE and modes get dropped + when using the virtual X/Y parameters. + +commit 99eae8bea6724a24477375ad5b2d31cc4883cf6b +Author: Samuel Thibault +Date: Tue May 29 22:04:36 2007 -0400 + + I/O enable/disable update for the Hurd + +commit 3c6f1428489c1f71acd41066ea73ef4ae7c60f17 +Author: Julien Cristau +Date: Tue May 29 22:01:30 2007 -0400 + + Make sure that the ramdac symbols are present in the server + + The former ramdac module is now built into the server, so its symbols need to + be explicitly exported to drivers (Debian #423129). + +commit ee20c481eede0954f4a8bef5113979b101863c32 +Author: Matthieu Herrb +Date: Tue May 29 14:54:27 2007 -0600 + + Remove wscons keyboard handling stuff that doesn't belong there anymore. + +commit 60de6c7ef9bdcee043f63e8e0d493e6feba6a9d0 +Merge: 3a6549a... 2f13b7c... +Author: Matthieu Herrb +Date: Tue May 29 12:14:49 2007 -0600 + + Merge branch 'master' of ssh://herrb@git.freedesktop.org/git/xorg/xserver + +commit 3a6549a163aba26bf4ac58b050c493fba0df14c6 +Author: Matthieu Herrb +Date: Tue May 29 12:14:23 2007 -0600 + + Make this build on OpenBSD + +commit 2f13b7c113c17239e382dd3640e9c29201d8ab1f +Author: Drew Parsons +Date: Wed May 30 02:13:36 2007 +1000 + + Update Xprint build for pixman. + + Xprt links libfb, which now uses pixman. Update configure.ac to + require module $PIXMAN for XPRINT. + Also, use $(top_builddir) to reference libfb.la and other local + libraries, rather than using the relative reference ../.. + +commit ba0b7d47ab0c24d5a29228f8af583044060464bd +Author: David Nusinow +Date: Mon May 28 21:57:04 2007 -0400 + + Fix for GNU/kFreeBSD + +commit 2267bf48b385c93243e26c3bb84ebb04c7fdb39f +Author: Bastian Blank +Date: Mon May 28 21:55:05 2007 -0400 + + Fixes for s390 + +commit 857ddbb660a21cad1c16f4fb2dc8a904d6655304 +Author: Eugene Konev +Date: Mon May 28 21:53:02 2007 -0400 + + Allow configurable serverconfigdir for security policy location + Allow the location of the SERVERCONFIGdir variable to be defined at + compile-time. This allows us to specify where the security policy will be + located (Debian uses this to put it in /etc). The default is to the + previous location. + +commit 78d01d1008973899d931ef44b47d5f0b5f220b0d +Author: Gerhard Tonn +Date: Mon May 28 21:48:58 2007 -0400 + + Miscellaneous fixes for S/390. + +commit d98bd4bf908c2c51fcfd3a4c3230de17f2567244 +Author: Branden Robinson +Date: Mon May 28 21:44:59 2007 -0400 + + Overhaul xorg.conf manpage + + Major stylistic cleanups, greatly expanded cross-reference ("SEE ALSO") + section and some typo fixes. + + This patch by Branden Robinson. Forward-ported by Fabio M. Di Nitto. + +commit 6bf8d5019313ee2251a44dfb7ad3435a3c6db7eb +Author: David Nusinow +Date: Mon May 28 21:42:10 2007 -0400 + + Read ROM in chunks + This patch speeds up reads of the ROM by reading in large chunks rather + than one byte at a time. This patch was by Dann Frazier. + +commit 6fdd134a0c3e6fdde9b089100e8783705c9cc6ac +Author: David Nusinow +Date: Mon May 28 21:39:12 2007 -0400 + + Fix up xnest manpage + I believe this patch was originally by Branden Robinson + +commit 6a870992d81a6bacfa9d313c15784fdb281d474f +Author: Keith Packard +Date: Fri May 25 20:33:08 2007 -0700 + + xf86XVFillKeyHelper assumed root clip never changed. + + When the root window changed size, xf86XVFillKeyHelper would not revalidate + the GC, leaving the clip at the old size causing lossage (and possibly + memory corruption if the screen and frame buffer shrank). + + Fixed by just using a scratch GC; saving memory, eliminating bugs and + shrinking the code. + +commit 3c982bc1a49509dda7bc469b0eced44df02755b3 +Author: Luo Jie +Date: Thu May 24 11:13:03 2007 -0700 + + Reinstate an apparently mis-deleted ';' from a for loop with no body. + + Fixes an error returning "No core keyboard" with multiple keyboards. + +commit 4d7469f75fadfc4a59664e88e18eb304203670f4 +Author: Luo Jie +Date: Thu May 24 11:04:06 2007 -0700 + + Fix a typo in using memcpy in xwin. + +commit 0b988450462ddb005311e68502357baf272e6371 +Author: Luo Jie +Date: Thu May 24 11:02:28 2007 -0700 + + Fix os/utils.c compile with mingw. + +commit 1f48995d66c0072caa7e5ce2845be642221dd56d +Author: Luo Jie +Date: Thu May 24 11:01:15 2007 -0700 + + Fix build of composite, dix, and randr when Xinerama is disabled. + +commit 8f98be7db303bc3db650054efb86843c70114451 +Author: Eric Anholt +Date: Thu May 24 11:00:04 2007 -0700 + + Fix bswap detection on BSD (mis-added '_' in function names). + +commit 9616a042855399f0ee9c6489ea824621ea5fee18 +Author: Matthias Drochner +Date: Tue Apr 10 16:15:40 2007 -0700 + + Fix build on NetBSD/amd64. + +commit 649e7f82d8d4333443493056b81eb20d6cf022bc +Author: Michel Dänzer +Date: Thu May 24 12:10:05 2007 +0200 + + Consolidate portPriv->pDraw assignments into xf86XVEnlistPortInWindow. + + This avoids a crash in xf86XVReputVideo and also cleans up the code slightly. + +commit 047bf3349bb697c73c95729a8bbf15f72605901f +Author: Soren Sandmann Pedersen +Date: Wed May 23 16:56:05 2007 -0400 + + Delete trapezoid rendering code; replace with pixman calls + +commit 9d87ef4e0dff40ea39f1b209c67b90079fc79065 +Author: Soren Sandmann Pedersen +Date: Wed May 23 15:50:25 2007 -0400 + + - Make image_from_pict() non-static + - Delete fbedge.c and fbedgeimp.h + - Use pixman_rasterize_edges() in fbtrap.c + +commit 2a960c442bd7560630f52b55d82ec0517542ee5a +Author: Soren Sandmann Pedersen +Date: Wed May 23 13:08:26 2007 -0400 + + Port renderedge.c to pixman + +commit 3ba3ede9bbdfc6376b6f6e0b6ce8280a05e6584d +Author: Soren Sandmann Pedersen +Date: Wed May 23 12:56:04 2007 -0400 + + Add missing offsets for window coordinates - reported by Colin Harrison + +commit cc648e609d472472bac4a2e568eb3598b3690ba3 +Author: Michel Dänzer +Date: Tue May 22 10:51:56 2007 +0200 + + EXA: Export ExaOffscreenMarkUsed. + + Can be used to inform EXA that an offscreen area is used outside of EXA. + +commit e6a7198e7cd96f1fe0654cc6811a977821579258 +Author: Adam Jackson +Date: Tue May 22 10:51:55 2007 +0200 + + Bug #8991: Add glXGetDrawableAttributes dispatch; fix texture format therein. + + Adapted to master branch by Michel Dänzer . + +commit 6324bfc468f7a645d2fee59f1c921a4328a4639f +Author: Michel Dänzer +Date: Tue May 22 10:51:53 2007 +0200 + + AIGLX: Zero-copy texture-from-pixmap. + + When available, use the 2D driver texOffsetStart hook and the 3D driver + setTexOffset hook to save the overhead of passing the pixmap data to + glTex(Sub)Image. + + The basic idea is to update the driver specific 'offset' for bound pixmaps + before dispatching a GLX render request and to flush immediately afterwards + if there are any pixmaps bound. This should ensure that the 3D driver can + use pixmaps for texturing directly regardless of the X server moving them + around. + +commit 5006d08d7fc56d3d380cc6b75297f94e8594eb54 +Author: Michel Dänzer +Date: Tue May 22 10:51:52 2007 +0200 + + DRI: Add TexOffset driver hooks. + + To be used by AIGLX for GLX_EXT_texture_from_pixmap without several data copies. + + The texOffsetStart hook must make sure that the given pixmap is accessible by + the GPU for texturing and return an 'offset' that can be used by the 3D + driver for that purpose. + + The texOffsetFinish hook is called when the pixmap is no longer being used for + texturing. + +commit ff2eae86b6a8760befbbc5d605debebe7b024c05 +Author: David Nusinow +Date: Mon May 21 19:50:04 2007 -0400 + + Fix boolean thinko that prevented working without a server layout + +commit 56fd92715567cd32e4b725b3791de9ac4e3879aa +Author: Soren Sandmann Pedersen +Date: Mon May 21 20:00:25 2007 -0400 + + Remove fast path code from fbpict.c + + Remove the various fast path functions from fbpict, and instead use + pixman_image_composite(). + +commit 7e2c935920cafadbd87c351f1a3239932864fb90 +Author: Fredrik Höglund +Date: Fri May 18 20:06:14 2007 +0200 + + Add a new IDLETIME system sync counter. + + This counter exposes the time in milliseconds since the last + input event. Clients such as screen savers and power managers + can set an alarm on this counter to find out when the idle time + reaches a certain value, without having to poll the server. + +commit 756acea23a0cc56c470bcd77c6f5638d923ab3d1 +Author: Soren Sandmann Pedersen +Date: Fri May 18 13:39:12 2007 -0400 + + Use pixman_image_set_indexed() to make 8 bit work + +commit 7916419a0092b8bf9713c0840f9e969950d7aa85 +Author: Soren Sandmann Pedersen +Date: Fri May 18 11:58:24 2007 -0400 + + Comment out setup of general MMX code + +commit 998164bac648756e5b5254aa36e075ae360d3972 +Author: Soren Sandmann Pedersen +Date: Fri May 18 11:36:20 2007 -0400 + + Move fbCompositeGeneral() to fbpict.c and remove fbcompose.c + +commit a2e3614eb8f0fa198615df492b03ff36bc9c1121 +Author: Soren Sandmann Pedersen +Date: Fri May 18 11:33:11 2007 -0400 + + Break image_from_pict() into a few subfunctions. + +commit c5ef84c325440af5fbdf9f44c3781d99a0392df9 +Author: Soren Sandmann Pedersen +Date: Thu May 17 21:31:08 2007 -0400 + + Make the general compositing code create a pixman image and call + + pixman_image_composite(). Leave the general code commented out for now. + +commit 076d070e186afeb416976ae74fbfd50c86db10c5 +Author: Keith Packard +Date: Thu May 17 20:24:18 2007 -0700 + + Use Screen block handler for rotation to draw under DRI lock. + + DRI uses a non-screen block/wakeup handler which will be executed after the + screen block handler finishes. To ensure that the rotation block handler is + executed under the DRI lock, dynamically wrap the screen block handler for + rotation. + +commit 915563eba530c5e2fdc2456cf1c7c3cc09b3add0 +Author: Keith Packard +Date: Thu May 17 20:22:43 2007 -0700 + + Disable all outputs and crtcs at startup. + + Leaving devices enabled during server startup can cause problems during the + initial mode setting in the server, especially when they are used for + different purposes by the X server than by the BIOS. Disabling all of them + before any mode setting is attempted provides a stable base upon which the + remaining mode setting operations can be built. + +commit 0375009a97c2ab7f0e0f0265463d45c0580388c6 +Author: Soren Sandmann Pedersen +Date: Thu May 17 12:59:24 2007 -0400 + + Remove excessive unrolling in fbCompositeSrc_x888x8x8888() and fix bug where + the source alpha was used instead of 0xff. + +commit 546465ee6aa6584780aec6357f32d205c807ae71 +Author: Soren Sandmann Pedersen +Date: Wed May 16 17:42:04 2007 -0400 + + Make fbFetch_b8g8r8() actually write the read value to the buffer + +commit 0fcd17c9181901c419cc32bc24c07fe5a6934d81 +Author: Soren Sandmann Pedersen +Date: Tue May 15 17:59:13 2007 -0400 + + Use pixman short formats, revert the gradient_stop change + +commit f4c1d5fc28a5a7fe2592505350f9e2331f6049b7 +Author: Soren Sandmann Pedersen +Date: Tue May 15 17:12:22 2007 -0400 + + Use pixman types for transforms and vectors + +commit f2e30e7d0a1d075e7e83c5b5ceca9e4752951138 +Author: Soren Sandmann Pedersen +Date: Tue May 15 16:51:21 2007 -0400 + + Use the pixman fixed point types and macros + +commit 3da842bf930d7875599ca0c06cb4a09cfa987ac5 +Author: Soren Sandmann Pedersen +Date: Tue May 15 14:57:14 2007 -0400 + + Revert various fast path functions to their pre-pixman-merge state + since they fail rendercheck. Remove their associated macros. + + See bug 10903. + +commit 1568b6b6a0d7337f29c7b87cc46ae64b3b0f8fdf +Author: Soren Sandmann Pedersen +Date: Sat May 12 20:33:23 2007 -0400 + + Port large amounts of the region code to pixman + +commit dde0ceac4ea7639d0096bfd26f37c5851778854c +Author: Soren Sandmann Pedersen +Date: Sat May 12 17:41:47 2007 -0400 + + Add new InitRegions() function called from dix/main + +commit e037052ac522150786abf44d3a04c813cc490050 +Author: Soren Sandmann Pedersen +Date: Sat May 12 16:58:54 2007 -0400 + + Turn boxes and regions into typedefs for pixman types + +commit 8e56f5be4b70773c899f01b9ccd2e88d523327e4 +Author: Soren Sandmann Pedersen +Date: Fri May 11 11:45:37 2007 -0400 + + Add dependency on pixman 0.9.0 + +commit a277f04ab08514462b7f10b4dd92eb326af85501 +Author: Adam Jackson +Date: Wed May 9 22:03:12 2007 -0400 + + Remove mfb and cfb from include paths where they're not needed. + +commit 20c5250e487e032d392e2e4624021fccb1bfb72c +Author: Adam Jackson +Date: Wed May 9 21:49:44 2007 -0400 + + Use system copy of cbrt() if available. + + Also move the replacement inline into miarc.c, since that's the only user. + +commit 8dcc37520d5e8c8b52cee81faa67fd5205548377 +Author: Adam Jackson +Date: Wed May 9 18:57:05 2007 -0400 + + Use _X_INLINE instead of ad-hoc #defines. + +commit 6ff239cb4e67c0a2ea497a1714e5585c1d941af3 +Author: Adam Jackson +Date: Wed May 9 18:38:33 2007 -0400 + + Make the use of ICEIL slightly less ugly. + +commit 178d426311bb3c7160f72b5d95b0a137eda09ba9 +Author: Colin Harrison +Date: Fri May 11 10:08:42 2007 +0100 + + Missing piece from bug 9808 + +commit ebaa6c920c82401952a0ccc991b94574306449bd +Author: Matthias Hopf +Date: Thu May 10 15:25:31 2007 +0200 + + Disable Simba PCI bridge routing code (Bug #8020). + + The code in hw/xfree86/os-support/bus/sparcPci.c:simbaCheckBus() + is trying to mimmick VGA routing by disabling I/O space responses + behind the Simba PCI-PCI controller. + + Unfortunately, doing this also happens to disable access to the + IDE controller I/O space registers, thus crashing the system. The + granularity of the I/O disabling in the Simba controller is not + fine enough to disable VGA without also disabling the IDE controller + registers. + +commit 86c4941727f7c673ae6bb88c67443fa25935c7f5 +Author: Colin Harrison +Date: Wed May 9 16:55:27 2007 +0100 + + fix an occasional crash in GetWindowName() (bug: 9798) + +commit be44018a3c6172caf3e91c36ea321420d104e79f +Author: Colin Harrison +Date: Wed May 9 16:55:09 2007 +0100 + + Fix bad use of hwnd (bug: 9808) + +commit d3248b66a650c6c629cd66240e25004869217d2e +Author: Colin Harrison +Date: Wed May 9 16:54:46 2007 +0100 + + Migrate some code to the new mi apis + +commit 021e5df85d7c9373a2fed55512751d16e08128db +Author: David Nusinow +Date: Mon May 7 21:03:40 2007 -0400 + + Add more informative logging for module default loading + + When the modules section is parsed, if a module is set to be loaded by + default, this will be logged. If it is redundantly specified in xorg.conf, + this will also be noted. None of this logging will happen if the xorg.conf + lacks a modules section. + +commit 1b3a0508a7aee1c7b14cd62216b4727fcc9181d4 +Author: Jesse Barnes +Date: Sun May 6 01:30:59 2007 -0700 + + Fix documentation for Copy hook -- it can copy memory to the scanout + buffer too. + +commit 030a578391c634bc68add6ada3f251cf3f8c3069 +Author: David Nusinow +Date: Thu May 3 22:51:07 2007 -0400 + + Provide UseDefaultFontPath option + + This provides a new option, UseDefaultFontPath. This option is enabled by + default, and causes the X server to always append the default font path + (defined at compile time) to the font path for the server. This will allow + people to specify additional font paths if they want without breaking + their font path, thus hopefully avoiding ye olde "fixed front" problem. + + Because this option is a ServerFlag option, the ServerFlags need to be + processed before the files section of the config file, so swap the order + that they are processed. + +commit e91b9ddc7aa95abc2d4d314e8db204860771a099 +Author: David Nusinow +Date: Thu May 3 22:00:23 2007 -0400 + + Improve modules loading defaults + + Provide default modules that may be overrided easily. Previously the + server would load a set of default modules, but only if none were + specified in the xorg.conf, or if you didn't have a xorg.conf at all. This + patch provides a default set and you can add only the "Load" instructions + to xorg.conf that you want without losing the defaults. Similarly, if you + don't want to load a module that's loaded by default, you can add "Disable + modulename" to your xorg.conf (see man xorg.conf in this release for + details). This allows for a minimal "Modules" section, where the user only + need specify what they want to be different. See bug #10541 for more. + + The list of default modules is taken from the set loaded by default when + there was a xorg.conf containing no "Modules" section. + + A potential problem for some users is that some users disable a module, + most notably DRI, by commenting out the "Load" line in their xorg.conf. + This needs to be changed to an uncommented "Disable" line, as DRI is + loaded by default. + +commit d2f813f7db157fc83abc4b3726821c36ee7e40b1 +Author: Soren Sandmann Pedersen +Date: Wed May 2 19:10:22 2007 -0400 + + New fbWalkCompositeRegion() function + + This new function walks the composite region and calls a rectangle + compositing function on each compositing rectangle. Previously there + were buggy duplicates of this code in fbcompose.c and + miext/rootles/safealpha/safeAlphaPicture.c. + +commit e0959adcd8df2c61e98e76e708fceef9c7cd54eb +Author: Soren Sandmann Pedersen +Date: Tue May 1 13:41:48 2007 -0400 + + Add fbCompositeRect() as another special case in the switch of doom in fbpict.c + + This is phase one of getting the two region walkers in fbcompose.c and + fbpict.c merged together. + +commit c1e1d6b98a6708860e5b5f6e21d8d5b1d8ce9075 +Author: Brian +Date: Wed May 2 15:55:40 2007 -0600 + + In __glXCreateARGBConfig(), insert the new GL mode at the _end_ of the linked list. + + Previously, the new mode was added at the head of the list. This caused the + positional correspondence between modes and the XMesaVisuals array to be off + by one. The net result was GLX clients failing when they tried to use the + last GLX mode/visual. + + We still have the problem of DRI drivers not being able to use the extra + mode/visual introduced by __glXCreateARGBConfig(). glXCreateContext fails + with BadAlloc if it's attempted. This is also the source of the often- + seen warning "libGL warning: 3D driver claims to not support visual xxx" + Look into fixing that someday... + +commit bd0abb2844ef9faf28703e592cfebb886004234c +Author: Tilman Sauerbeck +Date: Wed May 2 17:20:48 2007 +0200 + + Bug #10823: Fixed default OSNAME value. + + We try to get OSNAME from uname by default now. + +commit 71fc5b3e9309182978ead676965d65ca93a4e3b9 +Author: Keith Packard +Date: Wed May 2 11:41:11 2007 +0200 + + Fix for a divide by zero that can be triggered by a malicious client. + + Problem reported by Derek Abdine of rapid7.com. Thanks. + +commit 873ef75b1e8c94d39670c981c4d830ab8bcc018b +Author: Colin Guthrie +Date: Mon Apr 30 10:33:12 2007 -0600 + + fix __glXErrorCallBack() proto + +commit 6b33459bf5aac23c3ecc7002d091c02f327d907a +Merge: 18252a5... 3c91a99... +Author: Brian +Date: Mon Apr 30 10:26:19 2007 -0600 + + Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/xorg/xserver + +commit 3c91a993e8c752002adf85c317216e1487c20780 +Author: Michel Dänzer +Date: Sun Apr 29 23:49:41 2007 +0200 + + EXA: Fix OffscreenValidate build with DEBUG_OFFSCREEN enabled. + +commit a261e1325057974d58440812b93c00c0caa4423a +Author: Michel Dänzer +Date: Sun Apr 29 23:49:35 2007 +0200 + + EXA: Remove DrawableDirty. + + Convert the remaining callers to PixmapDirty. + +commit b1b6674a919943a8ac37e54d02e8d0d23a642b1d +Author: Michel Dänzer +Date: Sun Apr 29 23:49:28 2007 +0200 + + EXA: FillSpans improvements. + + * Don't need to track damage. + * Always migrate for fallbacks. + +commit 584697a2231ac782f362a925e1489c15483a8791 +Author: Michel Dänzer +Date: Sun Apr 29 23:49:09 2007 +0200 + + EXA: SolidBoxClipped improvements. + + * Centralize handling of fallbacks and damage tracking. + * Always migrate for fallbacks. + +commit 982d7c2c0b948ba04c8eefa475d660981e6ed9f9 +Author: Michel Dänzer +Date: Sun Apr 29 23:48:59 2007 +0200 + + EXA: CopyNtoN improvements. + + * Centralize handling of fallbacks and damage tracking. + * Always migrate for fallbacks. + +commit d2245386eed200e77a8c84bdda36ab29e39fd593 +Author: Michel Dänzer +Date: Sun Apr 29 23:48:31 2007 +0200 + + EXA: GetImage improvements. + + Only migrate when appropriate. In particular, don't migrate to offscreen in the + no-fallback case as copying from system memory should usually be as fast if not + faster than DownloadFromScreen, in particular if the bits need to be uploaded + to offscreen first. + +commit 0880aaac9c83019fec2e3d32871f74c7a407f8b3 +Author: Michel Dänzer +Date: Sun Apr 29 23:48:19 2007 +0200 + + EXA: PutImage improvements. + + * Migrate for fallbacks when appropriate. + * Add damage tracking in ExaCheckPutImage. + +commit 7fca16901187ade48e83e6a2684ef464b1912357 +Author: Michel Dänzer +Date: Sun Apr 29 23:48:11 2007 +0200 + + EXA: ImageGlyphBlt improvements. + + * Don't waste effort on invisible glyphs. + * Only track damage for bounding box instead of each glyph separately. + * Always migrate for fallbacks. + +commit a8d6ebdf9338dc2f6ff9a532e6fec460a70d3b1e +Author: Michel Dänzer +Date: Sun Apr 29 23:47:53 2007 +0200 + + EXA: Defer to FillRegionTiled in Composite when possible. + + Committed separately as this case is hard to hit and has only been tested + lightly. + +commit 81b055605c34b5823f6c5f63cc0f92f43c6b7252 +Author: Michel Dänzer +Date: Sun Apr 29 23:47:43 2007 +0200 + + EXA: Composite improvements. + + * Defer to simpler hooks in more cases (inspired by XAA behaviour). + * Move damage tracking from lower to higher level functions. + * Always migrate for fallbacks. + +commit ce317a5b76c053f449122c46e1372bf8e067cb4c +Author: Michel Dänzer +Date: Sun Apr 29 23:47:16 2007 +0200 + + EXA: Glyphs improvements. + + * Don't waste effort on invisible glyphs. + * Add damage tracking where necessary. + * Always migrate for fallbacks. + +commit 0c8905ebc91cf654facef84ee52231a358deec5c +Author: Michel Dänzer +Date: Sun Apr 29 23:47:08 2007 +0200 + + EXA: PolyFillRect improvements. + + * Convert rects to region and use it for damage tracking. + * When possible, defer to exaFillRegion{Solid,Tiled} using converted region. + * Always migrate for fallbacks. + * Move damage tracking out of ExaCheckPolyFillRect. + +commit 567f18a09bfb05f448be40c7ebe0f210f955601c +Author: Michel Dänzer +Date: Sun Apr 29 23:46:49 2007 +0200 + + EXA: FillRegion{Solid,Tiled} improvements. + + * Support planemasks, different ALUs and arbitrary tile origin. + * Leave damage tracking and non-trivial fallbacks to callers. + * Always migrate for fallbacks. + + This is in preparation for using these from more other functions. + +commit e869573b52fac69fb88cea120daaeec59c7a3461 +Author: Michel Dänzer +Date: Sun Apr 29 23:45:48 2007 +0200 + + EXA: exaAssertNotDirty improvements. + + * Return early if the valid region is empty or the pixmap is pinned. + * Fix loop for several cliprects. + +commit d3f8667341bfe6dc7d0258c4ad69377f37d88d95 +Author: Michel Dänzer +Date: Sun Apr 29 23:44:27 2007 +0200 + + EXA: Fix exaEnableDisableFBAccess for nested disables and enables. + +commit 5e4b3232dafe3b0dec65bf639bebaba4774210b7 +Author: Michel Dänzer +Date: Sun Apr 29 23:38:22 2007 +0200 + + Fix fbCompositeTrans_0888xnx0888 build for wfb on big endian. + +commit 2866e0bac9b8dd3892c5e68abcfc6c97cebaf88a +Author: Michel Dänzer +Date: Sun Apr 29 23:38:13 2007 +0200 + + Fix a couple of picture repeat fields incorrectly compared to RepeatNormal. + +commit 78a20455356ccc310f73cfc65ad65a7677eee7e5 +Author: Soren Sandmann Pedersen +Date: Fri Apr 27 15:20:24 2007 -0400 + + Pixman merging + + More msvc++ porting + +commit 6c4f1826bf2c5f30f5fe6e489a02b6375478b380 +Author: Soren Sandmann Pedersen +Date: Fri Apr 27 08:13:08 2007 -0400 + + Bug fix in fbCompositeIn_nx8x8888 + + Make sure both halves of the dst word is set to zero when the masks + are both 0. + +commit ae04f2cb0a068cdc1e519627bf745de0c9e4a85a +Author: Adam Jackson +Date: Thu Apr 26 15:28:04 2007 -0400 + + Fix the 'relink' target for kdrive servers. + +commit 6c8152d6ee9eeb21a68a8bbfed1540939e5bcd1f +Author: Adam Jackson +Date: Thu Apr 26 14:59:04 2007 -0400 + + Remove old edid_modes.c, it lives in hw/xfree86/modes/ now. + +commit 2208c6087d6bffcb24a30891a56430e28735874c +Author: Soren Sandmann Pedersen +Date: Thu Apr 26 14:40:30 2007 -0400 + + Change expand_alpha_rev to expand_alpha in mmxSaturateU + +commit a300ef84cee26febfbe08c497d0d063588130bdd +Author: Soren Sandmann Pedersen +Date: Thu Apr 26 14:37:53 2007 -0400 + + Fix typo in previous commit + +commit 0ebe48be59368b55c618f60d4656300bd7f52ed9 +Author: Soren Sandmann Pedersen +Date: Thu Apr 26 14:36:32 2007 -0400 + + Pixman merge + + - Changes to support MS Visual C++ + + - use inline instead of __inline__ + + - Fix rounding errors (Billy Biggs, from xserver via pixman) + +commit 4fe918b38553133c27e5ae672e5c43984a9bbaea +Author: Soren Sandmann Pedersen +Date: Thu Apr 26 12:41:01 2007 -0400 + + Fix bug 8871 - scrolling corruption with a compositing manager + + Call miHandleExposures() in CopyArea/CopyPlane explicitly in cw to + generate GraphicsExposes correctly. + +commit 0ff7c94fcf6497ee8575f81cf97eeeb3a857739e +Author: Soren Sandmann Pedersen +Date: Thu Apr 26 10:56:02 2007 -0400 + + Pixman merge + + Make use of fbCompositeSrcAdd_8888x8x8mmx + +commit 701ccb4a22cfd646ccb7f19b7b3a476aeb5ce2da +Author: Soren Sandmann Pedersen +Date: Thu Apr 26 10:49:06 2007 -0400 + + Pixman merge + + - Remove stray default label + + - Integrate new MMX ops SolidMaskSrc_nx8x8888mmx, In_8x8mmx, and + In_nx8x8mmx + + - Formatting changes to reduce diff noise + +commit a54ef54db19dcd36ed86b33cff2bc369f9690a15 +Author: Soren Sandmann Pedersen +Date: Thu Apr 26 10:24:25 2007 -0400 + + Pixman merge + + Make sure fbCompositeSrc_x888x8x8888mmx and fbCompositeSrc_8888x8x8888mmx + are used when possible. + +commit 3571b8e65b0857322d12e291305cfe29ea497c3c +Author: Soren Sandmann Pedersen +Date: Thu Apr 26 09:45:11 2007 -0400 + + More pixman merging + + - Move some code around to minimize diff noise + + - Add mmx ops from pixman that never made it into X + + - Merge Jeff Muizelaar's bugfixes to fbCompositeSrc_8888x8x8888mmx and + fbCompositeSrc_x888x8x8888mmx. + +commit c0346e57e6d3857994f7af76060c502c2fdea294 +Author: Peter Hutterer +Date: Thu Apr 26 12:02:45 2007 +0930 + + Require inputproto 1.4.2. + + Requirement was introduced with c7e2ba0c9b9b1fc1aed8f91f86471c4c8e650b78. + +commit 67347739b0571b2978468e8088480b105f505ad2 +Author: Soren Sandmann Pedersen +Date: Wed Apr 25 14:19:39 2007 -0400 + + Don't treat convolution filters as transformations. + + Some rearrangement of code to get it closer to pixman. + +commit c056ce95d89ef1df57edf47149fc34cd3925496e +Author: Soren Sandmann Pedersen +Date: Wed Apr 25 13:21:47 2007 -0400 + + Port MSVC++ CPU detection code from pixman. (Vladimir Vukicevic). + +commit c19ece1d8c32dc81740a4036a642661f54064e75 +Author: Soren Sandmann Pedersen +Date: Wed Apr 25 12:34:19 2007 -0400 + + Integrate optimization from xserver from David Reveman where repeats + + get handled by fbFetchTransformed() rather than in the region walking + code. + +commit 48c73dfc369fdf8f6023436ebe82bb604f76bb80 +Author: Soren Sandmann Pedersen +Date: Wed Apr 25 12:09:22 2007 -0400 + + Add function fbCompositeSrcAdd_8888x8x8(), and fix a bug where + + srcRepeat = FALSE would be set in the wrong place. + +commit 66ba3d758a368bf83d75bab8b08bdb6b34925e40 +Author: Soren Sandmann Pedersen +Date: Wed Apr 25 10:31:38 2007 -0400 + + Various fixes from xserver via pixman (Billy Biggs) + +commit c09e68ce30dabd6b7068b163b9d2382d85d0d0bc +Author: Adam Jackson +Date: Wed Apr 25 16:46:26 2007 -0400 + + Paper over a crash at exit during GLX teardown. + +commit 9c80eda826448822328bb678a7d284cc43fffb17 +Author: Adam Jackson +Date: Wed Apr 25 16:35:04 2007 -0400 + + Disable RANDR's fake Xinerama protocol when there's more than one screen. + + ... in the protocol sense. Xinerama doesn't have any provision for more + than one protocol screen each with its own geometry. + + Red Hat bug #231257. + +commit d322608dc929d5f8cda07a53143a4f28423e0460 +Author: Adam Jackson +Date: Wed Apr 25 16:29:48 2007 -0400 + + Fix a buffer overrun on machines with excessively large PCI busses. + + Formerly we sized an array with a compile time constant, then initialized + its size to the same constant, but the Linux PCI init code would increase + that "constant". So if you happened to have more than 128 PCI devices, + you'd happily scribble into whatever variables happened to be in .bss + after that array. + + Only really fixed for Linux atm. Other OSes will simply (still) fail to + work on video devices above the 128th PCI device. + +commit 3ba1e8ab6d69566e1a3f8f0eb4605631aeffc8e5 +Author: Aaron Plattner +Date: Tue Apr 24 17:20:14 2007 -0700 + + Include xf86Rename.h in xf86RandR12.h. + +commit 0a2fe443d25b1ca25349aba3f748df986952e20f +Author: Soren Sandmann Pedersen +Date: Tue Apr 24 19:02:44 2007 -0400 + + Use READ/WRITE macros for new functions introduced in previous commits. + +commit 7e16da7b78c422f96387502b9cc29eaa1741543f +Author: Soren Sandmann Pedersen +Date: Tue Apr 24 18:15:34 2007 -0400 + + Remove #if 0'ed blocks + +commit 18252a515d4989b983a3b7389636045e06d0f246 +Author: Brian +Date: Tue Apr 24 14:10:09 2007 -0600 + + bump release date to reflect input code updates + +commit 2d9a7a768747ca39a800475f12c424c298018dc6 +Author: Soren Sandmann Pedersen +Date: Tue Apr 24 14:46:59 2007 -0400 + + From pixman (Jeff Muizelaar) + + Fix up the fast-path compositing operators; those are useful for + sources without alpha, but can't be used for sources with + alpha. Also, replaced fbCompositeSrcSrc_nxn with call to fbBlt as + this function must handle 1, 4, 8, 16, 24, 32 bpp objects. Would + be nice to optimize fbBlt for common cases involving 8, 16, 24 and + 32bpp. + + From Keith Packard. + +commit fde4a5adf02d3067a064ebf6bdd666aa5784cfe9 +Author: Soren Sandmann Pedersen +Date: Tue Apr 24 13:30:43 2007 -0400 + + From xserver via pixman (Jeff Muizelaar) + + Add some optimizations from jaymz. Also adds some compile + warnings that will hopefully go awa y as we continue merging. + +commit 13e1d5ea55b0a3b7729316c8e37d3d8fca2075b5 +Author: Soren Sandmann Pedersen +Date: Tue Apr 24 12:59:18 2007 -0400 + + Fix format vs formatCode in previous commit + +commit 077a5d4555676d5775e990468a697b6890c6d609 +Author: Soren Sandmann Pedersen +Date: Tue Apr 24 12:57:55 2007 -0400 + + Add functions fbCompositeSrcSrc_nxn() and fbCompositeTrans_0565xnx0565 + from xserver via pixman. Add READ/WRITE and fbFinishAccess as + appropriate. + +commit 09436fb7c38a9819bde770c4c21143591671c4d7 +Author: Peter Hutterer +Date: Tue Apr 24 22:52:33 2007 +0930 + + Disable devices before removing, remove unrecoverable devices. + +commit c7e2ba0c9b9b1fc1aed8f91f86471c4c8e650b78 +Author: Peter Hutterer +Date: Tue Apr 24 21:34:47 2007 +0930 + + Use DevicePresence events to tell the client about enabled/disabled devices. + + Include the device id in the event sent to the client. + +commit ce099a9b78195540ec251a6a3dbe26019c1a686d +Author: Brian +Date: Mon Apr 23 12:34:01 2007 -0600 + + fix bug in which maxKeysPerModifier wasn't getting set + +commit b5e1f7869b2f12a1c2baa7f699ae609fc9ad50aa +Author: Soren Sandmann Pedersen +Date: Mon Apr 23 14:16:30 2007 -0400 + + Remove #if 0'ed merge leftovers + +commit 84838268b34661d598f8e4856fab355f414930d9 +Author: Soren Sandmann Pedersen +Date: Mon Apr 23 13:19:54 2007 -0400 + + Gradient fixes + + * Port fix for bug 7685 from pixman. Patch by Carl Worth + + * Add projective version of radial gradient code. + + * Make sure that all Pict*Gradient types have PictGradient as prefix, + since code in various places relies on that. + +commit 38d14e858980a1b0c087344d24bf6aebf755663c +Author: Aaron Plattner +Date: Sun Apr 22 18:04:27 2007 -0700 + + Adjust the screen pixmap's dimensions in xf86RandR12ScreenSetSize. + +commit ca784df84e07227a4cc0a1add079884f557b7a00 +Author: Aaron Plattner +Date: Sun Apr 22 16:26:01 2007 -0700 + + Fix unbalanced fbGetDrawable added in commit 0a9239ec. + +commit 55bd8668e7d4100579bcd6c16a804d9f25267070 +Author: Soren Sandmann Pedersen +Date: Fri Apr 20 14:53:37 2007 -0400 + + Remove #if 0'ed leftovers from merge + +commit 41dd7ab067adde8f66cd9f74c5a6570c325518a5 +Author: Soren Sandmann Pedersen +Date: Fri Apr 20 14:51:40 2007 -0400 + + Fix gradient walker to not reset needlessly + + Previously the gradient walker was doing excessive resets, (such + as on every pixel in constant-colored regions or outside the + gradient with CAIRO_EXTEND_NONE). Don't do that. + + Carl Worth, from pixman + +commit c1b73f0f2acd56b423b91a04f1e1b3cdcad0069f +Author: Soren Sandmann Pedersen +Date: Fri Apr 20 14:34:13 2007 -0400 + + Fixing gradient repeat mode computations in previous patch. From David + + Turner. + +commit 38f718799c68995c2d9a1680355bd55fd925009e +Author: Soren Sandmann Pedersen +Date: Fri Apr 20 13:59:11 2007 -0400 + + Remove a few memory references in fbFetchTransformed + +commit 9c4b14d4f6a1fe018acd64789434216cd1560a4a +Author: Soren Sandmann Pedersen +Date: Fri Apr 20 13:23:58 2007 -0400 + + Integrate David Turner's gradient optimizations from pixman + +commit cd2c1714eb4946bf7b1fc194fe074f8024a2ec23 +Author: Brian +Date: Sat Apr 21 12:40:51 2007 -0600 + + add slang_mem.c + +commit 67545333ec0b08db783e94e9e3ec55873dea19a3 +Author: Brian +Date: Sat Apr 21 12:40:33 2007 -0600 + + replace occlude.c w/ queryobj.c + +commit 39bc8bb0fdc854dcf9bbc0857fec84d50fa4f3b2 +Author: Aaron Plattner +Date: Fri Apr 20 14:22:42 2007 -0700 + + Don't call xf86RandR12TellChanged if it doesn't exist. Add some exports to xf86Rename.h. + +commit 3daa5c1a991d659b1386a09e33b044470d489cb3 +Author: Soren Sandmann Pedersen +Date: Fri Apr 20 09:43:16 2007 -0400 + + Fix pixman bug 5777, patch by David Reveman + +commit 9c2e955f6792e80fb84f848ed9e6ebbfd79f7130 +Author: Brian +Date: Fri Apr 20 07:21:19 2007 -0600 + + regenerated to add GL_CLIENT_ATTRIB_STACK_DEPTH (bug 9823) + +commit 96ef0f78438b60436c3940817980a3ab4070c7e8 +Author: Keith Packard +Date: Thu Apr 19 17:39:51 2007 -0700 + + Disable SourceValidate in rotation to capture cursor. + + SourceValidate is used exclusively by the software cursor code to pull the + cursor off of the screen before using the screen as a source operand. This + eliminates the software cursor from the frame buffer while painting the + rotated image though. Disabling this function by temporarily setting the + screen function pointer to NULL causes the cursor image to be captured. + (cherry picked from commit 05e1c45ade9c558820685bfd2541617a2e8de816) + +commit 7ca4baffb5569ea12b578a4a3f69e93d272d6c6d +Author: Keith Packard +Date: Thu Apr 19 17:37:18 2007 -0700 + + Was accidentally disabling rotation updates in mode set. + + Setting a mode on an unrotated CRTC was causing all of the rotation updates + to be disabled; the loop looking for active rotation wasn't actually looking + at each crtc, it was looking at the modified crtc many times. + (cherry picked from commit 8b217dee3a6c46b13fc9571a4a9a95bc55686cdb) + +commit 806a537e644d8cc9e53f3ac52efb49453e5aa1fb +Author: Keith Packard +Date: Thu Apr 19 17:49:34 2007 -0700 + + Revert "Suppress software cursor removal during rotated shadow buffer drawing." + + This reverts commit 999b681cf3973af4191506e49cde06963b11a774. + Replacing this with simpler code that just disables SourceValidate + during rotation redisplay. + +commit 0a9239ec258828ec1da6c208634a55fc4053d7da +Author: Soren Sandmann Pedersen +Date: Thu Apr 19 18:19:34 2007 -0400 + + Merge David Reveman's gradient optimization patch from pixman + +commit d0e55774e0da641ba85c5173f27f68de27372747 +Author: Thomas Hellstrom +Date: Thu Apr 19 11:39:53 2007 +0200 + + libdri: Make sure the new DRIInfo keepFDOpen member is honoured. + +commit e1f0b3e70b696d7ea4cf9e6ed30d751e7fdbc577 +Author: Peter Hutterer +Date: Thu Apr 19 12:00:24 2007 +0930 + + config: Return errors as negative numbers, device ids as positive numbers. + Update dbus-api documentation. + +commit c6972c893359f8fa7631ae674330f3f4f7010ba0 +Author: Peter Hutterer +Date: Wed Apr 18 12:10:05 2007 +0930 + + Change dbus 'listDevices' call to not require an argument. + Update dbus-api documentation, plug memory leak on dbus reply error. + +commit 999b681cf3973af4191506e49cde06963b11a774 +Author: Eric Anholt +Date: Wed Apr 18 14:33:27 2007 -0700 + + Suppress software cursor removal during rotated shadow buffer drawing. + +commit 28bb34eec63bf3c98f38ba7fc044f6419aaa3307 +Author: Eric Anholt +Date: Wed Apr 18 13:48:28 2007 -0700 + + Belatedly bump XORG_VERSION for 7.2. + +commit 5d8e8a7f4b3226bffd9e4d6d9326688f475b0183 +Author: Eric Anholt +Date: Wed Apr 18 13:22:26 2007 -0700 + + Remove libminimi build. + + It appears to have been a leftover of a previous incarnation of the build + system that didn't handle miinitext.c well. + +commit 53fb42e65c2b2ff58a4a324b7f05cff8a587720a +Author: Erik Andrén +Date: Tue Apr 17 21:34:47 2007 -0700 + + Syncmaster 226 monitor needs 60Hz refresh (#10545). + + I've managed to solve my own bug (#10545) by applying the following + patch to the xserver. + + Please apply. + + + This monitor is "Vista Certified". I wonder if this is a pure coincidence... + + + With kind regards + Erik Andrén + (cherry picked from commit a63704f14a1d97b9a00fef6fa290e74e51b9732b) + +commit fc162c6cfa06f0b012743d6d79cef45cf0166229 +Author: Keith Packard +Date: Mon Apr 16 09:55:58 2007 -0700 + + Allow outputs to be explicitly enabled in config, overriding detect. + + Option "Enable" "True" will force the server to enable an output at startup + time, even if the output is not connected. This also causes the default + modes to be added for this output, allowing even sync ranges to be used to + pick out standard modes. + (cherry picked from commit a3d73ba2cb7e13a6d129cd88d6a7f7d756e2ced2) + +commit c41e3bd713206c0bbd8ab8cef4c83eb7ba7e1c3c +Author: Keith Packard +Date: Mon Apr 16 09:53:42 2007 -0700 + + Use default screen monitor for one of the outputs. + + By default, use the screen monitor section for output 0, however, a driver + can change which output gets the screen monitor by calling + xf86OutputUseScreenMonitor. + (cherry picked from commit f4a8e54caf6b9431711383a39f55a18e7fd654f4) + +commit 97a2c2579c56c304705c934f3b536473645747df +Author: Keith Packard +Date: Mon Apr 16 09:39:47 2007 -0700 + + Using wrong log level in extension to built-in message + + was: typo in built-in module log message + (cherry picked from commit 00cfd1f765895b4d1b2234f3203727a8871b64b0) + +commit deda7791dfa34d0563c8d7fa2a0660ac27e6858c +Author: Brian +Date: Mon Apr 16 11:35:22 2007 -0600 + + remove sources deleted in Mesa + +commit 02d42f344ce020c9b84723671cb9c68d5c064933 +Author: Thomas Hellstrom +Date: Mon Apr 16 17:24:53 2007 +0200 + + Changes for single-entity multi-screen DRI. + + The entity (device) has a locking SAREA and a master file descriptor + that optionally isn't closed between server generation. + + The locking SAREA contains the device hardware lock. + Each DRI screen creates an new SAREA containing the drawable lock, + drawable-and private info, the drawable SAREA. + + The first screen optionally shares its drawable SAREA with the + device SAREA. + + Default is to close the master descriptor between server generations, + and to share the drawable SAREA of the first screen with the device locking + SAREA. Thus we should (hopefully) have full backwards compatibility. + + Mesa changes to support single-device multiple screens are pending. + +commit b5823ea3e1ed5a0449d44da05165a46719dcf287 +Author: Keith Packard +Date: Sun Apr 15 22:59:19 2007 -0300 + + RandR 1.2 spec says CRTC info contains screen-relative geometry. + + Was reporting mode size instead of adjusting for rotation. + (cherry picked from commit e2e7c47a528447e90cff6cf10d2ce457742ef48d) + +commit cc4eb1c7ea1bace7ed69cfd80c99d22933282ae1 +Author: Keith Packard +Date: Fri Apr 13 15:04:29 2007 -0300 + + Add quirk for Acer AL1706 monitor to force 60hz refresh. + + This Acer monitor reports support for 75hz refresh via EDID, and yet when + that rate is delivered, the monitor does not sync and reports out of range. + Use the existing 60hz quirk for this monitor. + (cherry picked from commit 1328a288e9030a472a915077160f090d1afd4126) + +commit eba81a0a01f8a61151d8bf9f3d83bda85ca26e73 +Author: George Sapountzis +Date: Sat Apr 14 18:30:09 2007 +0300 + + glx: move __glXMesaProvider from GLcore module to glx module. + + This treats the GLcore provider similar to DRI provider, using a subset of + XMesa as the GLcore interface. + +commit 6b040b79f0e247b6f2da8f7d239443743e96de67 +Author: George Sapountzis +Date: Sat Apr 14 18:29:52 2007 +0300 + + glx: drop xmesaP.h include from xf86glx.c + + The declarations for the xfree86-specific XMesa functions were moved up to + xmesa.h, requires Mesa as of 2007-04-13. + +commit 2c833f60acb3dc358815a99cd295ef7fc695c45d +Author: George Sapountzis +Date: Sat Apr 14 18:29:25 2007 +0300 + + glx: drop stray CAPI define. + + SI imports/exports were dropped from Mesa. + +commit 7ccebc50b98ac175fdbdfaab081bcead62e60ee3 +Author: Peter Hutterer +Date: Fri Apr 13 13:08:44 2007 +0930 + + Documentation for events.c. + +commit 33a5d9605e3e282f6aa1921d7321a2a12ef02c42 +Author: Daniel Stone +Date: Wed Apr 11 18:28:57 2007 +0300 + + XFree86: DGA: Don't call ProcessInputEvents from CloseScreen + + By the time CloseScreen gets called, we can't call ProcessInputEvents, as + the event queue will get unhappy. So just unregister our hooks instantly, + and hope that they don't get called. + +commit 0910540e4322bba72a2fa0a907072eab2547a7b6 +Author: Remigiusz Marcinkiewicz +Date: Wed Apr 11 01:09:26 2007 +0300 + + Config: Extend D-BUS API + + Return device ID where available. + Add listDevices call, which does what it says on the box. + +commit aecbc712144dd1aaf462bd758821438b1d22d957 +Author: Remigiusz Marcinkiewicz +Date: Wed Apr 11 00:38:16 2007 +0300 + + Input: Allow a pointer to a device to be returned in NIDR + + Allow a pointer to the first device added to be returned, so we know which + device(s) were added by the NIDR call. + +commit 4f05f9591e5492c72f3856bd7a2ff13378f59f2b +Author: Magnus Vigerlöf +Date: Tue Apr 10 23:57:48 2007 +0300 + + Input: Always add devices with first available ID + + Scan the device list when adding a new device, and make sure we can use + the first available ID, instead of always incrementing. + +commit 20674dcbb2373a0af287883bc008fb6fb23d4466 +Author: Magnus Vigerlöf +Date: Tue Apr 10 23:55:36 2007 +0300 + + Config: Fix memory leaks + + Fix memory leaks that could occur along the error path. + +commit 82962bbae2b4fda274625d1712ef839ce1ab9dc8 +Author: Magnus Vigerlöf +Date: Tue Apr 10 23:54:32 2007 +0300 + + Input: Add DeleteInputDeviceRequest + + Add DIDR, which asks the DDX to remove a device, analogous to + NewInputDeviceRequest. Only implemented for XFree86 at the moment. + +commit 7b82a836c66ba88566255052caff63577e1a0384 +Author: Magnus Vigerlöf +Date: Tue Apr 10 23:52:08 2007 +0300 + + XFree86: Fix memory leaks, option parsing, in NewInputDeviceRequest + + Plugged some possible memory leaks, and added some more checks on the + options, particular for driver/identifier. Added an unwind. + +commit 4771fa8747791498e504d73afccfb5833499a38b +Author: Magnus Vigerlöf +Date: Tue Apr 10 23:48:00 2007 +0300 + + XFree86: Fix memory leak in option parsing + + Fix option parsing functions and callers thereof to not leak memory. + +commit 07c56abf84080c020a3e7b7703a447c7f996975c +Author: Magnus Vigerlöf +Date: Tue Apr 10 23:43:58 2007 +0300 + + Input: Plug memory leak in device free + + Remember to also free the motion history, if we're using the DIX-managed + history. + +commit e92743bc9839c36914a44f3e5bc8cd85773ac794 +Author: Daniel Stone +Date: Sun Apr 8 14:02:02 2007 +0300 + + getevents: Copy modifier state from extended to core devices + + Make core events carry the same modifier state as the extended events, so + that holding down Ctrl on keyboard A and pressing Q on keyboard B won't + cause your app to quit. + +commit e49f836d6fa2768cd6d2a6d0227b5dbf516013dc +Author: Daniel Stone +Date: Sun Apr 8 13:56:41 2007 +0300 + + mieq: Use larger default queue size + + Use a default queue size of 512 rather than 256, else Xephyr is too slow + without a host cursor, so events get stuck in the queue. + +commit 4aae2de74b9224bac2b2e2522637dac09abc3837 +Author: Jared D. McNeill +Date: Tue Apr 10 12:57:15 2007 -0700 + + Add a real xf86EnableIO/xf86DisableIO for NetBSD/PPC. + +commit f77a8ea849d171a8ca00b2b7334866ace1ffbf73 +Author: Keith Packard +Date: Mon Apr 9 14:29:46 2007 -0700 + + Rotate screen size as needed from RandR 1.1 change requests. + + Screen size must reflect rotated mode size when setting rotated mode using + RandR 1.1 SetScreenConfig request. + (cherry picked from commit efcec7dbd3c2736c7b421d29c4d37e231aa681d2) + +commit bcf17df69a232e5e84609abacdca36274316e170 +Author: Keith Packard +Date: Mon Apr 9 14:12:27 2007 -0700 + + Disable CRTC when SetSingleMode has no matching mode. Update RandR as well. + + xf86SetSingleMode tries to resize all crtcs to match the selected mode. When + a CRTC has no matching mode, it now disables the CRTC (instead of crashing). + + Also, poke the RandR extension when xf86SetSingleMode is done so that + appropriate events can be delivered, and so that future RandR queries return + correct information. + (cherry picked from commit dc6c4f6989f87149d8605604f4514f5cbf11de67) + +commit 67e1c98895a566f927e1ae2384d56cfca104f971 +Author: Adam Jackson +Date: Mon Apr 9 19:08:52 2007 -0400 + + Look for the PCI ROM file elsewhere in sysfs. + + /sys/devices reflects the bus topology, and we don't care that much. + Easier (and more reliable) to just look in /sys/bus/pci/devices, which + is a flat view. + +commit a08d5157f70567a0aa9583d4a15e62437340cf34 +Author: Adam Jackson +Date: Mon Apr 9 19:04:56 2007 -0400 + + VT activate or waitactive are fatal if they fail. + + Also, be sure to waitactive on the way down, to make sure we're off the VT + before exiting. + +commit 72b477f964c748a1ab668781643cc11877f19738 +Author: Adam Jackson +Date: Mon Apr 9 18:59:01 2007 -0400 + + Don't write out empty sections from the parser. + +commit 1f6741db19d4c91b1eacb497dff1814acb1bf0c3 +Author: Stefan Huehner +Date: Mon Apr 9 14:33:15 2007 -0700 + + Bug #10560: Code-Cleanup: function declarations () -> (void) + + X.Org Bugzilla #10560: + Patch #9511 + +commit f24391dbfd12a84253dfec794ee7884afd52e197 +Author: Keith Packard +Date: Mon Apr 9 12:30:31 2007 -0700 + + In AIGLX EnterVT processing, invoke driver EnterVT before resuming glx. + + As the driver EnterVT function generally re-enables the hardware and + prepares it for rendering, it must be called before any gl functions are + called which could touch the hardware. + +commit 4c2e28b0916b5f75cfefb6df9fa0a7a09675539a +Author: Keith Packard +Date: Mon Apr 9 12:28:53 2007 -0700 + + Add setrlimit call in -core option to make dumps occur. + + Default core size limit for most environments is 0, which disables core + dumps. Add code in the -core option processing path to set the core limit to + the maximum value. + +commit 4beeab8424774ea4c3142f29b90e33f1fc7cb154 +Author: Daniel Stone +Date: Sun Apr 8 13:39:06 2007 +0300 + + XFree86: Treat evdev and vmmouse as mouse drivers (bug #10512, #10559) + + When we see an evdev or vmmouse section, assume that it's a mouse, and + don't add a default mouse device. This will break users who have an + evdev keyboard section but no mouse, and want the mouse to get added + by default. + +commit 0a6ac992363343487dfe0a0fc985ea55bd448382 +Author: Brian +Date: Sat Apr 7 12:41:57 2007 -0600 + + regenerated to fix bug 10371 + +commit 7e385598613778de14c0feea0d32f17d7aa66a8e +Author: George Sapountzis +Date: Fri Apr 6 13:38:12 2007 +0300 + + GLcore: fix after moving xf86glx_util.[hc] to Mesa. + +commit 5a804f2e97ab59745482660a635b801ac2b9e769 +Author: George Sapountzis +Date: Thu Apr 5 19:14:31 2007 +0300 + + configure: minor cosmetic, move GLX extension options together. + +commit a4e2fc703484fffed8dd50c1b4b24c564be4d3cd +Author: George Sapountzis +Date: Thu Apr 5 19:13:47 2007 +0300 + + glx: Remove stray __GLinterface. + + __GLinterface was droped from glcore.h + +commit 38ca7d388c47c4800c74442172d6595a9b3dfcc7 +Author: George Sapountzis +Date: Thu Apr 5 19:13:14 2007 +0300 + + glx: fix symlink, glcontextmodes.c was moved to mesa/src/glx/ + +commit f8482967ae8080f49dd1bbb0b79cc65020df679f +Author: Thomas Hellstrom +Date: Wed Apr 4 12:28:48 2007 +0200 + + Add an EXA driver callback to determine whether a pixmap is + + "offscreen" in exa terms, which means accessible to the GPU. + Bump exa minor. The change is backwards-compatible. + +commit c10df5b967d4da4e11786520317e2917de5541fa +Author: Aaron Plattner +Date: Tue Apr 3 15:47:01 2007 -0700 + + Swap RRScreenChangeNotifyEvent dimensions when the screen has one crtc and it's rotated. + + RandR 1.1 clients expect the size fields in this event to be the unrotated + dimensions of the screen. This behavior is "weird", but that's the way the old + code worked so we need to be bug-compatible with it. + +commit e1dea151db6405e12d991feacba9446320739ee8 +Author: Brian +Date: Tue Apr 3 11:21:50 2007 -0600 + + Implement a minor hack in dmxCheckFunctionKeys() to detect special keys. + + Keep track of status of (left) alt/ctrl keys so that ctrl-alt-q to exit + can be detected. Not ideal, but works for now. + +commit 0ee40c935750e25a9e178cdd70f6b2c667e79344 +Author: Brian +Date: Tue Apr 3 09:31:00 2007 -0600 + + s/intead/instead/ + +commit 23974f20bf0e0c2786cc75af026af5484f6dc331 +Author: Brian +Date: Tue Apr 3 09:30:24 2007 -0600 + + add DDXRingBell() stub to solve link problem + +commit a240c039c47c0be22ea5e100692307b26d938747 +Author: Brian +Date: Tue Apr 3 09:27:57 2007 -0600 + + Split the xserver/fb/fbcmap.c file into two files. + + Now, fbcmap_mi.c contains the fb functions which just wrap mi functions. + Previously, these were in fbcmap.c and compiled when XFree86Server was defined. + Now, clients of fbcmap should either use fbcmap.c or fbcmap_mi.c and not worry + about setting the XFree86Server symbol. + +commit 1cc8db72816cd079f30255046e10043c350bf683 +Merge: 645d87c... a39f297... +Author: Matthieu Herrb +Date: Tue Apr 3 16:04:45 2007 +0200 + + Merge branch 'master' of ssh://herrb@git.freedesktop.org/git/xorg/xserver + +commit 645d87cf8ef724d4591614f9994cdc4d7549a7a8 +Author: Matthieu Herrb +Date: Tue Apr 3 15:47:18 2007 +0200 + + CVE-2007-1003: XC-MISC Extension ProcXCMiscGetXIDList() Memory Corruption + +commit a39f297ada4fa87c858395ae2aacefac5f8fba05 +Author: Keith Packard +Date: Mon Apr 2 14:15:36 2007 -0700 + + Don't erase current crtc for outputs on CloseScreen + + Erasing this variable causes some outputs (SDVO on intel) to fail + to be correctly reset at server reset time. + (cherry picked from commit 56262a4ee943f328d089a8eb4aa70b9a4bd5d135) + +commit 11797ffdcc22160317a5ebbc9291472570a51c6d +Author: Eric Anholt +Date: Mon Apr 2 18:21:58 2007 -0700 + + Move modes/ debugging output under Option "ModeDebug" in the Device section. + +commit e44f106ffc796c025abdfb66717c06db8b12b4e4 +Author: Brian +Date: Mon Apr 2 16:26:15 2007 -0600 + + clean-up, debug code + +commit 8d8bc8927760fad631bef83fa2841b455ff6d511 +Author: Brian +Date: Mon Apr 2 16:21:57 2007 -0600 + + fix formatting + +commit 3e482de7b145a5eed79b81c30c359fe43647824a +Author: Brian +Date: Mon Apr 2 15:38:15 2007 -0600 + + checkpoint: more clean-up + +commit 76a7a5ca1f068c27c9b5fbd49d5a1da80ed6f488 +Author: Brian +Date: Mon Apr 2 15:24:05 2007 -0600 + + formatting fixes + +commit 69baad321d35dae0bfa535be0c6ed2131fed1e60 +Author: Brian +Date: Mon Apr 2 15:21:22 2007 -0600 + + clean-up dmxCoreMotion() dmxCoreMotion2() + +commit 44eb15adeee3b299677070f39625daa53679bd13 +Author: Brian +Date: Mon Apr 2 15:12:04 2007 -0600 + + checkpoint clean-up + +commit 0f873a9d4f02b399c37b4058c6a9a2e21aa205e8 +Author: Brian +Date: Mon Apr 2 14:51:38 2007 -0600 + + remove some debug code + +commit 3a0ce1084a18e17a3c8a009d99c228652b8763a9 +Author: Brian +Date: Mon Apr 2 14:51:21 2007 -0600 + + for completeness, init dummy's min/maxval[1] values (vertical axis) + +commit 12016f20f7f5365f30cfbeb05568b3fb89759e5a +Author: Brian +Date: Mon Apr 2 14:50:48 2007 -0600 + + As for normal mouse device, init valuator maxval[] to real values, not zero. + +commit 0aaf28e5633a59563b89a2e42d19fabc84adc3ed +Author: Brian +Date: Mon Apr 2 12:41:30 2007 -0600 + + In dmxBackendMouGetInfo() initialize the info->minval[], maxval[] arrays to the size of the backend display. + + It seems that the changes to X input exposed a problem that wasn't detected + before. The axis clipping code in GetPointerEvents() uses those limits to + constrain the pointer's coordinate range. The max was zero so the pointer + couldn't move. + +commit 0013bf6ddb3867c9a504603434d8c2ec83f3f3bc +Author: Brian +Date: Mon Apr 2 12:39:04 2007 -0600 + + undo 1280 valuator hack + +commit 08a88d1803f672555141011e082fbc0edeedcf05 +Author: Brian +Date: Mon Apr 2 12:28:14 2007 -0600 + + Pass num_valuators=0 for ButtonPress/Release. This seems to fix the button coordinate problem + +commit 70683e338dacc48e3adf489d66ec33b29dfc3b77 +Author: Brian +Date: Mon Apr 2 12:26:27 2007 -0600 + + formatting fixes + +commit f2808005f4ee72c5fd7f5f3dcca181306485113e +Author: Alberto Mardegan +Date: Sat Mar 31 16:51:24 2007 +0200 + + Bug #6620: Fixed a missing 'else' in ATIPseudoDMAInit(). + + Before this, we'd write some registers twice on R200 hardware and also + possibly end up with a bad value in atis->cce_pri_size. + +commit 5257b32e492bd2082bef6a4cd0fea03ce093c0f8 +Author: Aaron Plattner +Date: Wed Mar 28 15:51:24 2007 -0700 + + Bump video driver ABI to 2.0 for cw change (commit 6ed08949af4f7ac09170d3d9581e4092b24a84ee). + +commit 73fdc16bc4f4e21ff604b3f9ded23b40398fb1b6 +Author: Brian +Date: Fri Mar 30 16:07:26 2007 -0600 + + formatting fixes + +commit ebdc8ce5c108dc3b6b0004e7c7939d1a5bef8676 +Author: Brian +Date: Fri Mar 30 16:05:46 2007 -0600 + + Checkpoint DMX updates: things are working much better now, but still not 100% right. + + Use new dmxCoreMotion2() function which enqueues motion events with + GetPointerEvents()/mieqEnqueue(). + The clipAxis() code in GetPointerEvents() is causing some grief. The + limits seem to have always been (0,0) according to the original calls + to InitValuatorAxisStruct() in dmxinputinit.c. + Terrible hack for now: Call InitValuatorAxisStruct() with hard-coded max + values of 1280 (my screen width). + +commit 3c7413e0c2f87e154aa8aa4a83bd585a6d1091e8 +Author: Brian +Date: Fri Mar 30 14:07:04 2007 -0600 + + Tweak some parameters, etc. Things seem a little better now, but still a ways to go. + +commit 7989dacdcb1449b10d7733dda11cd96e260e9fae +Author: Brian +Date: Fri Mar 30 13:44:24 2007 -0600 + + num_valuators=1 for GetPointerEvents(), hack ButtonPress/Release position + +commit 1ea842960fddbc6363cc6e7f914d70ba45525a6b +Author: Brian +Date: Fri Mar 30 13:43:15 2007 -0600 + + more debug + +commit 92e8cdbd32b0d86cabd4ad88e3240bf90c018b9a +Author: Brian +Date: Fri Mar 30 13:19:33 2007 -0600 + + Checkpoint fixes to DMX for X input changes. + + Xdmx builds and runs now. + Keyboard seems OK, and mouse pointer moves, but everything else is flakey. + Something is still seriously wrong. + +commit d92da3d5f309392ac398c0975ef17bb04312d5e2 +Author: Brian +Date: Fri Mar 30 12:56:34 2007 -0600 + + more formatting fixes + +commit 44acb2517d9fb07790d9d799aa9cc727d1b7d35c +Author: Brian +Date: Fri Mar 30 12:54:22 2007 -0600 + + Fix some bad formatting. + + Doing this: + if (something) stmt; + is evil if you're debugging and want to break on stmt! + +commit 9f24798af50896cc3262c1201f75c10a688f2a83 +Author: Brian +Date: Fri Mar 30 12:49:34 2007 -0600 + + ompile fbcmap.c w/ -DXFree86Server instead of linking libfbcmap.a. + + The former works, the later doesn't (DMX blows up on visuals/pixel formats). + This undos Daniel's patch, which undid my prev patch. Revisit someday. + +commit 76756f27561c6386cba0d338441e8ec7b98500ce +Author: George Sapountzis +Date: Thu Nov 30 04:20:32 2006 +0200 + + Make xf86glx.c unaware of Mesa internals + + Use newly added XMesaCopyContext() and drop the GlxSetRenderTables() call + for Xgl, as this is now done inside XMesaForceCurrent(). This leaves xmesaP.h + but only for the declarations of the three XMesa/XFree86 functions. Also, + GlxSetRenderTables() stays but is only used in hw/xgl/glxext/ . + + Also drop xf86glxint.h, no longer used. + + Depends on mesa commit 7439a36785b6a2783e80a40a96c09db8f56dc2bc of 2007-03-30. + +commit 307d2b57bbfcc281656011533627bea6ab98189e +Author: Peter Hutterer +Date: Thu Mar 29 15:23:41 2007 +0930 + + Xi: remove 'register' keywords. + +commit 82a8b99a6c46018885600011913267d8af9dfe13 +Author: Adam Jackson +Date: Wed Mar 28 15:17:02 2007 -0400 + + Move the XAA private indices to be static. + + Technically this is an ABI break, if you aren't smart enough to be using the + getter functions. Cope. + +commit 8c7f56d92d8471ee059c14d322af5f7f555dd5c6 +Author: Tomas Janousek +Date: Wed Mar 28 14:46:30 2007 -0400 + + Bug #10296: Fix timer rescheduling. + +commit 5ba4d9eedf1b4ce4795bf910cd184872e2d9b3fc +Author: Adam Jackson +Date: Wed Mar 28 12:03:19 2007 -0400 + + Refuse to create tiny modes from EDID detailed timing. + +commit 85220446359a75ea2c359b418b4051c04eea739c +Author: Daniel Stone +Date: Wed Mar 28 13:03:32 2007 +0300 + + GL: Update for Mesa changes + Added s_fragprog.c to fix the build. + +commit 1af2ef0b25fd8017a3271e624a5f1548f02b09f9 +Author: Eric Anholt +Date: Tue Mar 27 13:13:45 2007 -0700 + + Enable Composite by default now that it disables itself in the known bad cases. + +commit 0bfc3cc22db94ec6867596606fe93228e315c847 +Author: Eric Anholt +Date: Tue Mar 27 13:12:21 2007 -0700 + + Disable composite when Xinerama is active. + + It will likely take a decent bit of work to make that work right. + +commit 5e7936371c9e1ac48e19bf1e9e3f71f037fd9b5d +Author: Eric Anholt +Date: Mon Mar 26 20:18:18 2007 -0700 + + Disable Composite when the screen's visual is pseudocolor. + + Rendering fails badly in this case, and I don't care enough to fix it. + +commit 8afc7e2eb3ebec48d3879bf269143259c8bc18c8 +Author: Eric Anholt +Date: Mon Mar 26 15:55:38 2007 -0700 + + Refuse to initialize Composite if Render is not present. + + Composite relies on the presence of Render, in particular for the automatic + compositing. + +commit 6ed08949af4f7ac09170d3d9581e4092b24a84ee +Author: Eric Anholt +Date: Tue Mar 27 17:31:28 2007 -0700 + + Move libcw setup to the only renderer requiring it (XAA). + + Additionally, protect libcw setup behind checks for Render, to avoid + segfaulting if Render isn't available (xnest). + + The previous setup was an ABI-preserving dance, which is better nuked now. + Now, anything that needs libcw must explicitly initialize it, and + miDisableCompositeWrapper (previously only called by EXA and presumably binary + drivers) is gone. + +commit e76b6349516d5d1c8f7167d6f5419e0d06a546c3 +Author: Eric Anholt +Date: Mon Mar 26 16:04:50 2007 -0700 + + Fix indentation of fakexa help text. + +commit 6a0bed16e80a91891cee6c7033c90875bc2af193 +Author: Michel Dänzer +Date: Tue Mar 27 16:51:12 2007 +0200 + + Fix typo in GL/mesa/shader/slang/Makefile.am. + +commit b8f846a9dfc6697d59ad5482ba7c9d738875318e +Author: Dave Airlie +Date: Tue Mar 27 14:17:40 2007 +1000 + + gl: oops dodgy s appeared pointed out by jcristau on irc.. + +commit a63ee90bc2d490f6c5c1802c164391963cf6c1d9 +Author: Dave Airlie +Date: Tue Mar 27 11:05:52 2007 +1000 + + gl: update for latest mesa glsl-compiler merge + +commit d387a3ddf76716791e5e8b8f0954ca0df3c579d6 +Author: Dave Airlie +Date: Tue Mar 27 11:00:13 2007 +1000 + + fix loading of GLcore after recent loading changes + +commit 92ba435bd9aa7b6eca9aef8e5193576ef62fc9db +Author: Eric Anholt +Date: Mon Mar 26 12:44:58 2007 -0700 + + Update xorg.conf manpage for new RandR 1.2 monitor options. + +commit f7c5aa0dc0fa3569a2ee412c4f996960f936b6ed +Author: Eamon Walsh +Date: Mon Mar 26 10:21:44 2007 -0400 + + Remove dead NEED_DBE_BUF_BITS code. + +commit 2e3cc861f90415f200826bc71dab6298d759c42b +Author: Adam Jackson +Date: Sun Mar 25 22:01:34 2007 -0400 + + Since ddc, i2c, and ramdac are in core now, remove their ModuleData stubs. + +commit e88fa75c9b468b88bb7b87b1da235c6eb2fe8164 +Author: Adam Jackson +Date: Sun Mar 18 17:39:08 2007 -0400 + + Static cleanup on Xi/ + +commit 4b5802ddbd45271be3cadeae0a83a6742df2515b +Author: Adam Jackson +Date: Sun Mar 25 17:57:54 2007 -0400 + + General DIX static and dead code cleanup. + +commit 04b87d6dfae02e4ecdb5216d12c6cdafd1e8c2b4 +Author: Adam Jackson +Date: Sun Mar 25 17:57:22 2007 -0400 + + Static and dead code cleaup for Xext/ + +commit af769892a91c9af59de53ca3bcd77fc4967daffb +Author: Adam Jackson +Date: Sun Mar 25 17:56:32 2007 -0400 + + Static and dead code cleanup from mi/ + +commit 62224e39727fd6f1cf11a461983662f615a9fea1 +Author: Adam Jackson +Date: Sun Mar 25 17:55:15 2007 -0400 + + Static cleanup for xf86 ddx. + +commit e8bc1988d9ff10b65717574175f70df3c4d6334d +Author: Adam Jackson +Date: Sun Mar 25 15:13:05 2007 -0400 + + Un-staticise VTSwitchEnabled, since kbd wants it apparently. + +commit 70e493d223b1e943e652191150bd0b7e1a6ebcfb +Author: Adam Jackson +Date: Sun Mar 25 14:55:28 2007 -0400 + + Static and dead code cleanup over afb/ + +commit f36bf1a3e4ce9465ea4a6159c209924a3cafbe58 +Author: Adam Jackson +Date: Sun Mar 25 12:28:13 2007 -0400 + + Delete a dead file. + +commit 9a0f25de7ca3c68af867b38936103d17daa92ac6 +Author: Adam Jackson +Date: Sun Mar 25 12:27:01 2007 -0400 + + Static cleanups, dead code deletion. + +commit ac2356843e38b3400142bc54b65393c12976fc07 +Author: Peter Hutterer +Date: Sun Mar 25 09:41:33 2007 +0930 + + dix: Increase allocation size for core keyboard keymap to avoid buffer overrun when copying keymap from extension devices. + +commit 1072b88a8f352484e70bc749e300c936e5600480 +Author: Dave Airlie +Date: Sun Mar 25 10:06:00 2007 +1000 + + loader: fix already built-in message + +commit 804080a7096347d48c686f2c8fbfd06326bce400 +Author: Keith Packard +Date: Fri Mar 23 23:41:36 2007 -0700 + + Make pending properties force mode set. And, remove AttachScreen calls. + + Yes, two changes in one commit. Sorry 'bout that. + + The first change ensures that when pending property values have been + changed, a mode set to the current mode will actually do something, rather + than being identified as a no-op. In addition, the driver no longer needs to + manage the migration of pending to current values, that is handled both + within the xf86 mode setting code (to deal with non-RandR changes) as well + as within the RandR extension itself. + + The second change eliminates the two-call Create/AttachScreen stuff that was + done in a failed attempt to create RandR resources before the screen + structures were allocated. Merging these back into the Create function is + cleaner. + (cherry picked from commit 57e87e0d006cbf1f5b175fe02eeb981f741d92f0) + + Conflicts: + + randr/randrstr.h + randr/rrcrtc.c + + I think master and server-1.3-branch are more in sync now. + +commit 1f77120775dc05fc84a00dd55190af2fa50ae509 +Author: Keith Packard +Date: Fri Mar 23 14:39:10 2007 -0700 + + Ensure that crtc desired values track most recent mode. + + desiredX and desiredY were not recorded during xf86InitialConfiguration. + desiredX, desiredY and desiredRotation were not recorded during + xf86SetSingleMode. + (cherry picked from commit 36e5227215e0912ddf8a010db042467f00efe0fc) + +commit 476f2b5aefa518262b69e487555e6094818d857a +Author: Keith Packard +Date: Fri Mar 23 01:17:14 2007 -0700 + + Incorrect extra memory copy in RRChangeOutputProperty. + + Left over from previous version of the code, this memmove will break when + the mode is not Replace. + (cherry picked from commit 945aa0aa556429b50dea8e8ebc0008304b093eb7) + +commit 7093367c3976bef5b9d219d9f2a7dc7dd3eeb091 +Author: Keith Packard +Date: Fri Mar 23 01:05:55 2007 -0700 + + Fix Pending property API, adding RRPostPendingProperty. + + Pending Properties take effect when the driver says they do, so provide an + API to tell DIX when a property effect is made. Also, allow driver + to reject property values in RRChangeOutputProperty. + (cherry picked from commit 8eb288fbd69e2ffd02521d2c6a964c8180d08ec8) + +commit 86d76390eb182f271f5fa5dc19205e97a867f7e7 +Author: Keith Packard +Date: Fri Mar 23 01:03:40 2007 -0700 + + Make sure RandR events are delivered from RRCrtcSet. + + Some paths were skipping the event delivery stage. + (cherry picked from commit 9ca7ba5d6012295a77ed773c656e786440da973d) + +commit 510eaa346e68fd82c852c7b41fb0e2c5be12da78 +Author: Keith Packard +Date: Fri Mar 23 00:59:11 2007 -0700 + + Clean up xf86CrtcRec and xf86OutputRec objects at CloseScreen. + + Erase pointers to structures which are freed at server reset time. + (cherry picked from commit 492c768065f49306a2194a88edf96b85de0ff4ff) + +commit 479b2be4badab0a67b1f091feb83c1364e27d783 +Author: Keith Packard +Date: Fri Mar 23 00:57:18 2007 -0700 + + Clear allocated RandR screen private structure. + + Use xcalloc instead of xalloc when allocating this structure to ensure + consistent contents at startup. + (cherry picked from commit 16f4c0c1750824f2e5a001cef82a4122a7a2beb0) + +commit b63e0d2545bb75e14d9de019a88f31e20a2f7377 +Author: Keith Packard +Date: Tue Mar 20 07:17:27 2007 -0700 + + Clean up Rotate state on server reset. + + The rotation state is stored in the xf86_config structure which is not + re-initialized at server reset time. Clean it up at CloseScreen time. + (cherry picked from commit f8db7665dcd7af78ca4db2461e0bf787ec662cb1) + +commit 3e9f7a5504ab41d845e88f293d8498c963d8a7d8 +Author: Daniel Stone +Date: Wed Mar 21 02:35:31 2007 +0200 + + XFree86 DGA: Guard against NULL pointer dereferences. + Ass, u, me ... + +commit f292de2ef13dc994a38029cee9e2642576893332 +Author: Daniel Stone +Date: Wed Mar 21 02:04:12 2007 +0200 + + XKB: Fix size_syms calculation bug + + Apparently it needed to be nSyms*15/10, not *12/10; make it match the + other allocation code. + +commit f34b9a20b0181d3c2641c305e91180711afbd4b9 +Author: Daniel Stone +Date: Wed Mar 21 02:03:37 2007 +0200 + + XKB: Be a tiny bit more conservative with type allocation + + Make sure size_types will _always_ be 0 if we don't have any types. + +commit 021fc5cb2cb4a7972b4a6fcb570c1da92787d68d +Author: Adam Jackson +Date: Sun Mar 18 16:31:19 2007 -0400 + + Static markup and dead code cull over xkb/. + + The former has been pulled into the server now as + include/xkbsrv.h, and the world updated to look for it in the new place, + since it made no sense to define server API in an extension header. Any + further work along this line will need to do similar things with XKBgeom.h + and friends. + +commit 9398d62f27ee1b287e4458fd8b011c10f7b59efd +Author: Daniel Stone +Date: Wed Mar 21 00:18:24 2007 +0200 + + XFree86 input: Add backwards compatibility for motion history + Add the old motion history API back, as a shim around the new mi API. + +commit 0f75c47e0c5f4b2778930a6fabf894fc1dffd9d3 +Author: Daniel Stone +Date: Wed Mar 21 00:12:02 2007 +0200 + + xfree86 input: Re-enable DGA support + Re-enable DGA support for relative mouse motion. + +commit 80d29475b9a2ebbb303a8e324e09a15c528d5556 +Author: Daniel Stone +Date: Wed Mar 21 00:10:38 2007 +0200 + + mieq: Allow event handlers for arbitrary events to be set + Allow arbitrary events to use mieq by letting custom handlers be set. + +commit b8df961843a95b29258ae9c5d46ccfc620d8de1c +Author: Alan Coopersmith +Date: Mon Mar 19 18:03:26 2007 -0700 + + Define XF86PM on Solaris x86 builds now that we have sun_apm.c + +commit 720f302d241e88e6e9f2962207da1aa9a79728b7 +Author: Keith Packard +Date: Sat Mar 17 20:14:05 2007 -0700 + + Slow down DDC I2C bus using a RiseFallTime of 20us for old monitors. + + This time value makes the bus run slowly enough for even the least reliable + of monitors. Thanks to Pavel Troller for finding the necessary change. + +commit b5a8a71e64c76b8dd42962cbd7984215c6ce4aa8 +Author: Keith Packard +Date: Sat Mar 17 17:26:11 2007 -0700 + + Remove extra (and wrong) I2C ByteTimeout setting in DDC code. + + The DDC code sets the I2C timeouts to VESA standards, except that it had an + extra setting of the ByteTimeout value which was wrong (off by a factor of + 50). Removing this should help DDC work on many more monitors. Note that the + Intel driver duplicated these settings, along with the error. Yay for cult + and paste coding. + +commit 2489dae9f7def788910eee5733931392df83a0d6 +Author: Keith Packard +Date: Thu Mar 15 20:26:07 2007 -0700 + + Correct ref counting of RRMode structures + + RRModes are referenced by the resource db, RROutput and RRCrtc structures. + Ensure that the mode reference count is decremented each time a reference is + lost from one of these sources. The missing destroys were in + RRCrtcDestroyResource and RROutputDestroyResource, which only happen at + server reset time, so modes would be unavailable in subsequent server + generations. + +commit 9d0c3b52f25df89738fb1a62ccffda8c8cbb4689 +Author: Keith Packard +Date: Tue Feb 20 23:04:26 2007 -0800 + + Eliminate RRModeRec devPrivate field. + + The xf86 mode setting code was mis-using this field to try and store a + pointer to a DisplayModeRec, however, each output has its own copy of every + DisplayModeRec leaving the one in in the RRModeRec devPrivate field pointing + at a random DisplayModeRec. + + Instead of attempting to rectify this, eliminating the devPrivate entirely + turned out to be very easy; the DDX code now accepts an arbitrary RRModeRec + structure and set that to the hardware, converting it on the fly to a + DisplayModeRec as needed. + (cherry picked from commit 3506b9376c2b0db09bfff58d64e07af88a6e8195) + +commit 2c93083edd29a65e73bb2e8eff9d353e92845c9b +Author: Keith Packard +Date: Sun Feb 18 23:49:38 2007 -0800 + + Add support for user-defined modelines in RandR. + + The RandR protocol spec has several requests in support of user-defined + modes, but the implementation was stubbed out inside the X server. Fill out + the DIX portion and start on the xf86 DDX portion. It might be necessary to + add more code to the DDX to insert the user-defined modes into the output + mode list. + (cherry picked from commit 63cc2a51ef87130c632a874672a8c9167f14314e) + + Conflicts: + + randr/randrstr.h + + Updated code to work in master with recent security API changes. + +commit 3bffb281260476d2f74f0bf451d85d2f7cacd6c4 +Author: Keith Packard +Date: Thu Mar 15 16:16:16 2007 -0700 + + Don't wedge when rotating more than one CRTC. + + Rotation block handler was re-registering the rotation damage structure, + creating an infinite loop in the damage code. Track registration of the + damage structure to avoid this. + (cherry picked from commit b14f003b0ed1252766c9e3b1c086ea2809521047) + +commit 9562b6abe1da566cf73a08c4f4c4339fb67fbc71 +Author: Keith Packard +Date: Thu Mar 15 10:50:45 2007 -0700 + + Allow xf86_reload_cursors during server init. + + xf86_reload_cursors is supposed to be called from the crtc mode setting + commit hook; as that happens during server initialization, check for this + case. + (cherry picked from commit 5b77bf2d020b1ee56c1c5f2db089a8f7f64a76a6) + +commit 3b71b0f89f1db837da91650baa0ef4bb7ef2e98f +Author: Eric Anholt +Date: Thu Mar 15 13:21:00 2007 -0700 + + Set the RandR version returned, rather than just passing the proto's version. + +commit 2fe74ef339c3a4902ae8214f5a0454662895422c +Author: Matthias Hopf +Date: Thu Mar 15 16:56:01 2007 +0100 + + Fix calculations in x86 emulator for the long long case (Andreas Schwab). + +commit ae75019ccf1edac9e8be31b6a96293624f672ccb +Author: Keith Packard +Date: Wed Mar 14 23:59:29 2007 -0700 + + Create driver-independent CRTC-based cursor layer. + + This moves most of the cursor management code out of the intel driver and + into the general server code. Of course, the hope is that this code will be + useful for other driver writers as well. + + Check out xf86Crtc.h for the usage information, making sure you add the + needed hooks to the crtc funcs structure for your driver. + (cherry picked from commit 4d81c99a4660a0bf9014f789de55edabd185bd14) + +commit 4bf1b280f7cb676ec2b172f26dd2ad9bac2eb2ca +Author: Alan Hourihane +Date: Fri Mar 9 14:18:14 2007 +0000 + + Set pScreen on context + +commit c366b82bd50066019cf82b3464445d5bc27d6f9f +Author: Jay Estabrook +Date: Fri Mar 9 12:26:55 2007 +0000 + + Ensure domain is stripped from the bus ID. + +commit 405483496538f1c82cbd7fe1e76c5d94e1a90525 +Author: Peter Hutterer +Date: Fri Mar 9 14:16:23 2007 +1030 + + mi: remove 'register' keywords. + +commit 63169ce52d354b4345dcfc46b89f0ea88379718f +Author: Peter Hutterer +Date: Thu Mar 8 17:50:19 2007 +1030 + + dix: remove 'register' keyword for all variables. + +commit 40ae4f246d8818410490236ab183204a84765629 +Author: Keith Packard +Date: Wed Mar 7 20:52:31 2007 -0800 + + Remove stale monitor data when output becomes disconnected. + + Remove parsed EDID and EDID property from disconnected outputs. + (cherry picked from commit ae9d5aa479dd50cc81b755079fcf96a0d02f135a) + +commit b5fde366e2e21234ac0b81222fd5c42ca3e49cba +Author: Eamon Walsh +Date: Wed Mar 7 12:29:55 2007 -0500 + + Properly free device devPrivates - memory leak fix. + +commit a3d2c5d622d9ca36d6fa2966aff09524e3ea39ac +Author: Adam Jackson +Date: Wed Mar 7 11:02:47 2007 -0500 + + XORG_VERSION_CURRENT, not XF86_VERSION_CURRENT. + + If only this was the least wrong thing in this code. + +commit e9bfb2b3d7dfaafd90d2ad0fa3d0e1acced4380b +Author: Keith Packard +Date: Tue Mar 6 23:19:30 2007 -0800 + + Add hw/xfree86/docs/README.modes, documenting new mode setting APIs. + + This document covers both API and xorg.conf usage of the new mode setting + APIs. + (cherry picked from commit a59c31b0f7b94ed1f395c7586c37ef5fe7ba2a25) + +commit 72a23d88d73a8c72ed18847b004db05092d3e7be +Author: Keith Packard +Date: Tue Mar 6 23:15:34 2007 -0800 + + Add xf86CrtcScreenInit to share initialization across drivers. + + xf86CrtcScreenInit performs initialization that needs to happen at + ScreenInit time. + (cherry picked from commit 558a4f5588ad2ec11254e0b5d6ce9515b137369e) + +commit 81526232bc0119d2ec7b8590be4f78cf066ae359 +Author: Eamon Walsh +Date: Tue Mar 6 17:19:11 2007 -0500 + + remove PIXPRIV check as this flag is always set. + +commit a7cd53deb99957dec27a55ffd75e548b322ae0ce +Author: Eamon Walsh +Date: Tue Mar 6 15:32:13 2007 -0500 + + remove PIXPRIV checks as this flag is always set. + +commit 024bbc7cbb924daaf3e305ddfc8e74509acd1e15 +Author: Eric Anholt +Date: Tue Mar 6 16:18:59 2007 -0800 + + Bug #9931: Fix linear allocations with a non-1-byte granularity. + + This was introduced in 83080809f9a1c1d24b0318e54632f25f5940da25. Instead of + aligning the offset, it doubled it. Results were appropriately spectacular. + +commit 9d94c137596d3f9d9118ec70455b7a30b3582046 +Author: Ben Byer +Date: Tue Mar 6 11:09:30 2007 -0800 + + updated todo list + +commit 81d581e655fc989da3be4256b83849a63b8607b7 +Merge: a05ffca... d5aba03... +Author: Ben Byer +Date: Tue Mar 6 10:37:29 2007 -0800 + + Merge branch 'master' of git+ssh://bbyer@git.freedesktop.org/git/xorg/xserver + +commit a05ffca8dd0da9bdb5c1bf4c481028aeabf21e34 +Author: Ben Byer +Date: Tue Mar 6 10:36:51 2007 -0800 + + rewrote event handling, Xquartz now has working mouse and keyboard. use it\! + +commit d5aba03feff41722c72b4c6193f09d141cbf1678 +Author: Drew Parsons +Date: Tue Mar 6 23:53:23 2007 +1100 + + Xprint: shorten font filename to fit in tar length limit + + The length of the Xprint font file NewCenturySchlbk-BoldItalic.pmf + pushes the full path over the traditional 100 character limit for + tarballs (when module version number is included). Shorten it to + NewCentSchlbk-BoldItal.pmf to get back below the limit and rename + other font files in that family to match. + +commit 3206e9225897989638ad553e1f392b918ac4d21f +Author: Ben Byer +Date: Tue Mar 6 02:31:59 2007 -0800 + + moved new event-handling code from X11Application.m to darwinEvents.c in preparation for making all Darwin servers use it + +commit 0ccd1443fd6db397b42e5b99ce733ce1316c785e +Merge: ec1ef8a... 9b6bb06... +Author: Ben Byer +Date: Tue Mar 6 01:04:50 2007 -0800 + + Merge branch 'master' of git+ssh://bbyer@git.freedesktop.org/git/xorg/xserver + +commit ec1ef8a56d6217ca2b04899043874ce0bcad9784 +Author: Ben Byer +Date: Tue Mar 6 00:57:23 2007 -0800 + + Fixed Darwin's Makefile.am to fix a problem building X11.app + +commit 9b6bb06f13a71f6078f762b4a78fa516faccb638 +Author: Keith Packard +Date: Mon Mar 5 23:49:35 2007 -0800 + + Allow relative positions to use output names or monitor identifiers. + + Previous version used monitor identifiers if present, otherwise output + names. That caused existing working configurations to break when additional + information was added to the configuration file. + (cherry picked from commit 3f5cedf00a82f08a433c95ffbb7f8ac69dcf6a50) + +commit bed76caa6caaea6a6598755b82a54425a9d9f73e +Author: Keith Packard +Date: Mon Mar 5 23:36:00 2007 -0800 + + Use EDID data to set screen physical size at server startup. + + Screen physical size is set to a random value before the RandR code gets + control, override that and reset it to a value based on the compat_output + physical size (if available). If that output has no physical size, just use + 96dpi as the default resolution and set the physical size as appropriate. + (cherry picked from commit 843077f23a1b49bd712d931421753e3a09d4008c) + +commit 47f8361c3a64834587e54507653d8d5b258c2530 +Author: Keith Packard +Date: Mon Mar 5 22:07:01 2007 -0800 + + Add xf86SetDesiredModes to apply desired modes to crtcs. + + xf86SetDesiredModes applies the desired modes to each crtc (as selected by + xf86InitialConfiguration initially and modified by successful mode settings + afterwards). For crtcs without a desired mode, pScrn->currentMode is used to + select something workable. + (cherry picked from commit bcade98ccaa18298d844a606cb44271f0254c185) + +commit 33d2cf93fb50464941e74efe246b10aee212223a +Author: Keith Packard +Date: Sat Mar 3 23:10:31 2007 -0800 + + Move xf86SetSingleMode into X server from intel driver. + + This function applies a single mode to the screen (as from RandR 1.1, + XFree86-VidModeExtension or XFree86-DGA) using a policy that selects one + output to reconfigure to the requested mode and then makes all other outputs + fit within that size. + (cherry picked from commit 5a595c1f767a8d666348b845d18934aee0cfe38f) + +commit 689d52b6242434507a64a8fff27b01607628c393 +Author: Jens Granseuer +Date: Mon Mar 5 15:31:44 2007 -0800 + + Bugzilla #7145: fix build with gcc 2.95 + + Bugzilla #7145: + Patch #8987: + +commit fe7b8f4237874e3e45fe25a6bf06faddfa1ab8e1 +Author: Ben Byer +Date: Mon Mar 5 03:48:27 2007 -0800 + + began to factor out code to move to darwinEvents.c + +commit 537dc5ecde46d0525c503d1d2b39b6eb89a1298e +Author: Ben Byer +Date: Mon Mar 5 02:30:56 2007 -0800 + + started moving new input code into darwinEvents.c so that it may be shared by the three servers + +commit 8ba5e8d82014b774a52f3e050ddbbb8bde4e0933 +Author: Dave Airlie +Date: Mon Mar 5 13:46:41 2007 +1100 + + add a standard connector type and name for us as an output property + +commit 2e31872e05c2408d53ba0182bcddc5dabb3615fe +Author: Dave Airlie +Date: Mon Feb 26 09:40:00 2007 +1100 + + modes: add commit/prepare hooks + +commit 06b01186f6ae17aafdd1f628c306466ddea9e065 +Author: Keith Packard +Date: Sun Mar 4 17:15:24 2007 -0800 + + Remove debugging ErrorF from rotation code. + (cherry picked from commit e6af7569f201842b4754aec6e72b30dc2daefdfb) + +commit c14507b6837387d867792a24778786311b2b38d5 +Author: Keith Packard +Date: Sun Mar 4 17:06:37 2007 -0800 + + Handle non-zero origin rotated crtc. Damage crtc area on re-rotate. + + Box transformation from source to dest area was broken, leaving the wrong + areas painted when the crtc origin was non-zero. + + When rotating from left to right, the pixmap doesn't get reallocated, and so + no damage was left in the pixmap from xf86RotatePrepare. Separately damage + the whole crtc area when this occurs to repaint the area. + (cherry picked from commit 2a50ca2160bc05af1c24421ec079e902ff730277) + +commit 97978b515b7af5fbaaa32b1729e835f3bfb9f5c6 +Author: Drew Parsons +Date: Sun Mar 4 16:28:54 2007 +1100 + + Xprint: fix font symlinks + + Change symlinks to Xprint base fonts in model/PSdefault using local + relative links. This facilitates moving the Xprint config files, for + instance for FHS compliance placing data files in /usr/share rather + than /usr/lib. Also ensures NewCenturySchlbk-BoldItalic.pmf is + installed. + +commit 215e3691b76a63e6af19865790193b20b105ec5a +Author: Ben Byer +Date: Sat Mar 3 21:52:56 2007 -0800 + + stopped using XTrans internals in X11.app because they're apparently no longer public + +commit ea8dcc458ea8870126cf8d3e21cab9d63d094c5e +Author: Ben Byer +Date: Sat Mar 3 21:51:20 2007 -0800 + + Makefile fix for X11.app + +commit 18508212599bf0964c450c69b9790208e5d428be +Author: Ben Byer +Date: Sat Mar 3 21:41:33 2007 -0800 + + fixed X11.xcodeproj to get CFLAGS and LDFLAGS from autoconf script + +commit 7f2b9f3790456044d01bf8e6404f9a1239b41da6 +Author: Ben Byer +Date: Sat Mar 3 19:27:53 2007 -0800 + + autoconf fixes for XDarwin (created DARWIN_LIBS) + +commit ea1a72946d1aa4c256e6afb9d834c582ba4ac3a1 +Author: Aaron Plattner +Date: Wed Feb 28 14:26:47 2007 -0800 + + Add a canGrow argument to xf86InitialConfiguration. + + canGrow indicates to the DDX that the driver can enlarge the desktop via the + xf86_config->funcs->resize hook. If so, xf86InitialConfiguration will set + virtual[XY] to match the configuration it chooses and will leave the crtc config + size ranges alone. If FALSE, it will bloat the screen to fit the largest probed + mode and also set the crtc config max size to limit the desktop to the initial + virtual[XY] size. + +commit 04d15da95d608766c7832a7aa881be499c1395ba +Author: Aaron Plattner +Date: Wed Feb 28 13:36:58 2007 -0800 + + Add a screen resize hook to xf86CrtcConfigRec. + + This hook is called when the DDX needs to resize the screen. The driver is + responsible for changing virtualX and virtualY, along with any other related + screen properties (devPrivate.ptr, devKind, displayWidth, etc.). + + Use the size range from the crtc config instead of randrp->virtual[XY] when + reporting the min and max screen sizes to the DDX. + +commit b11dfac287d65de7b83f63749087cba4e8ddaf4a +Author: Matthias Hopf +Date: Fri Mar 2 12:30:26 2007 +0100 + + Legacy framebuffer support wasn't compiled if Xorg wasn't explicitly enabled. + +commit 2dafc46e3d814e02b25e5a2fa2e931f0257402a8 +Author: Ben Byer +Date: Thu Mar 1 17:44:39 2007 -0800 + + Fixed pointer events in Xquartz -- Keyboard events work, but + the keycodes are incorrect. + +commit 39ecd6fff4f946deebe310b4b26b171c842db223 +Author: Ben Byer +Date: Thu Mar 1 01:45:19 2007 -0800 + + Rewrote parts of the Xquartz event-handling code (thanks daniels and whot!) + It should still be considered a work in progress, but mouse events almost work. + +commit ed7ccc481ad1caaa518cafe944c2327a5d0b6c65 +Author: Ben Byer +Date: Thu Mar 1 00:51:10 2007 -0800 + + AIGLX support for Darwin -- works well enough to run + glxgears and glxinfo, but still needs more testing. + +commit 90ca76ba28fcd8bed945e33cf9674784fa2eb533 +Author: Jay Cotton +Date: Wed Feb 28 17:40:58 2007 -0800 + + Add sun_apm.c for Suspend-and-Resume support on Solaris + + + +commit 06c3021aec720837bef432656e88ae9b4e35101d +Author: Aaron Plattner +Date: Wed Feb 28 16:09:11 2007 -0800 + + Don't crash setting a NULL mode with a randr classic DDX. Also remember to update the screen size during modesets. + +commit 68c64ad7b1eea79c786b5a7f3459076780163a47 +Author: Peter Hutterer +Date: Thu Mar 1 09:51:20 2007 +1030 + + Xext: Update device's lastx/lasty when sending a motion event with XTest. + +commit 8b245758845523d5f8f017bb9d0e9aa57b616c28 +Author: Aaron Plattner +Date: Mon Feb 26 17:45:40 2007 -0800 + + Return BadMatch if a client tries to clone non-cloneable outputs. + +commit d9bcb22d199e8444b9762a35754e04d327dd5915 +Merge: 272d934... c16343a... +Author: Ben Byer +Date: Tue Feb 27 16:28:20 2007 -0800 + + Merge branch 'master' of git+ssh://bbyer@git.freedesktop.org/git/xorg/xserver + +commit 272d9341d0f7c3e9e0c9b9a8c0d4d8779cdcc5cf +Author: Ben Byer +Date: Tue Feb 27 16:27:26 2007 -0800 + + fix for hw/darwin/Makefile.am to properly use XSERVER_LIBS + +commit c16343ac2ca18391b21022b2edd02ad9f413d2b3 +Author: Eamon Walsh +Date: Tue Feb 27 14:14:47 2007 -0500 + + Make mfb, cfb, and afb support configurable at build-time. + +commit 5680efc0d2baf0a9451e82e490e3690fc23dda0f +Author: Alan Coopersmith +Date: Tue Feb 27 09:55:48 2007 -0800 + + Sun bug 6529003: Xorg should not be including on Solaris + + was removed from the latest Solaris Nevada build, but it's + been useless to Xorg for a long time (it only declared a couple of kernel + variables) + + +commit ab0fc8c1ad7ea2dc3389a4a4bb1c45bbded5e7ad +Author: Ben Byer +Date: Tue Feb 27 00:14:35 2007 -0800 + + verbiage corrected per daniels + +commit cdd4c84572cc3bdd004f8dca6d8b64e710344ac0 +Author: Ben Byer +Date: Mon Feb 26 23:57:02 2007 -0800 + + added hw/darwin/README.apple file with some todo items and props. + +commit 776d4d6587c57f94bca8732f915d07a0d4e137c8 +Author: Ben Byer +Date: Mon Feb 26 23:40:00 2007 -0800 + + X11.app now builds correctly + +commit 154d2c13f4ec22b7e6332808bbcd049d63784891 +Author: Ben Byer +Date: Mon Feb 26 19:39:26 2007 -0800 + + more changes for X11.app + +commit fa06e11f972e2a75c84b2f1586997ffc1239cbd9 +Author: Ben Byer +Date: Mon Feb 26 17:06:53 2007 -0800 + + added hw/darwin/apple directory, which contains source and data files to build + a version of the X11.app shipped with Mac OS X, using the X.org server. + +commit a16360733ea393ec1fc267e88fc604d9d7534484 +Author: Jay Estabrook +Date: Sun Feb 25 19:58:26 2007 +0000 + + Fix root bus/domain selection on alpha + +commit 566610680c4e1cab3e7fc7146adbeaba52fdd0ad +Author: Adam Jackson +Date: Fri Feb 23 15:20:35 2007 -0500 + + Don't install libi2c.a + +commit af550ea91c451cf4f831c2413266a19d1f211d0e +Author: Alan Coopersmith +Date: Thu Feb 22 14:38:40 2007 -0800 + + Move SecurityPolicy file format from Xserver(1) to it's own man page + + Don't make users looking for Xserver information page through pages of + details only interesting to the handful of people writing security policies. + +commit b1142cdbce76fed8cb22ba6d7ac027751dd56a76 +Author: Brice Goglin +Date: Thu Feb 22 12:26:04 2007 -0800 + + Bug #10034: 'man Xserver' typos: s/dqoute/dquote/ + + Bugzilla #10034: + Patch #8780: + +commit 3344a4eda704edc7dc30037f095de277a60a70bb +Author: Michel Dänzer +Date: Thu Feb 15 16:27:50 2007 +0100 + + DRI: Make sure number of DRI windows is accurate in driver ClipNotify hook. + + Always call DRI{De,In}creaseNumberVisible (which in turn calls + DRIDriverClipNotify) after updating pDRIPriv->nrWindows. + +commit 3c7a27dc77595ad018bb7c4f7cef6bc178268cb6 +Author: Michel Dänzer +Date: Wed Feb 14 16:17:18 2007 +0100 + + DRI: New ClipNotify driver hook. + + The hook is called whenever the clipList of any DRI window changes, be it via + DRIClipNotify, DRICreateDrawable or DRIDrawablePrivDelete. This allows the + driver to keep track of which DRI windows are visible where. + +commit eedf148e5a1273ebbf4dc8dcac9c435712fc00ea +Author: Michel Dänzer +Date: Fri Feb 2 18:27:40 2007 +0100 + + Track number of visible DRI windows separately for transitions. + + This allows e.g. doing page flipping with multiple DRI windows as long as + only one of them is visible. + +commit 8a42af6a935b1cf0e15102e986bb527f4fab31a8 +Author: Keith Packard +Date: Mon Feb 19 15:28:37 2007 -0800 + + Check for clientGone before sending events from XFixes (bug #1753). + + Freeing resources during client closedown can cause cursor changes which + attempt to send cursor events through the XFixes extension; a client in the + process of closing down has no file to send events to, causing a crash when + this path is hit. + +commit 4660eaaffb36f526f71d5847ae1309c10ee133c6 +Author: Ben Byer +Date: Sun Feb 18 14:09:51 2007 -0800 + + configure fixes for darwin + +commit 5631a67f648f5f151a849a918ee12871c71c32e9 +Author: Keith Packard +Date: Fri Feb 16 10:06:22 2007 -0800 + + Don't set subpixel order during startup; the screen won't be ready. + + in xf86CrtcSetMode, scrn->pScreen will be NULL during server startup time, + so don't try to set the subpixel order. subpixel order will be set in the + randr initialization anyways. + (cherry picked from commit 5f6f8616d862ce4a37f6d3df4bdbc44fd21cc82a) + +commit 096965ec9c7514f0c9fc0d17e5166f2d26781f87 +Author: Keith Packard +Date: Fri Feb 16 02:17:11 2007 -0800 + + Ensure drivers can use new modes header files. + + New modes header files required a few minor changes to be used by external + drivers, the most notable of which is the publication of the config file + parser header files. + +commit 55797dd252382d35ebab5d9e18a5e0e77872d775 +Author: Keith Packard +Date: Fri Feb 16 00:56:00 2007 -0800 + + Respect rotation in initial screen size computation. + +commit e4507825bf0328ea59673f2bbe652de3a9105c86 +Author: Keith Packard +Date: Fri Feb 16 00:41:29 2007 -0800 + + Enable startup-time rotation; change rotation pixmap creation API. + + Add monitor "Rotate" option taking one of "normal", "left", "inverted" or + "right". However, because initial mode selection is made before the screen + is completely initialized, we cannot create the shadow pixmap object at this + point. Pend the shadow pixmap creation until the block handler. + + Note that this code is not completely functional yet. + +commit 8606aeb9b2ab2dafc11e64436db4d3a7e67dbcc0 +Author: Keith Packard +Date: Thu Feb 15 22:23:16 2007 -0800 + + RRConfigureOutputProperty is a variable length request. + + Replace REQUEST_SIZE_MATCH with REQUEST_AT_LEAST_SIZE + +commit a88844eccb0e423e71d4fcb286866a026308babd +Author: Daniel Stone +Date: Sat Feb 17 20:35:07 2007 +0200 + + configure.ac: disable dmx per default + + Disable DMX until it gets ported to the new input API. + +commit e9a2cc7d9fcc73e16576be2522522cce675dc3f3 +Author: Daniel Stone +Date: Sat Feb 17 16:17:48 2007 +0200 + + config: error message cleanup + + Demote failure to connect from ErrorF to DebugF. + +commit 81876bc5ddc2f3eda5078fe4bd101917fb32e586 +Author: Ben Byer +Date: Sat Feb 17 04:07:11 2007 -0800 + + oops, missed a spot + +commit d287b76471f66c9aea54f969d050b35643cb2501 +Author: Ben Byer +Date: Sat Feb 17 03:47:42 2007 -0800 + + cleaned up some linking ugliness in hw/darwin/quartz + +commit 81444486be4f182dde778bac6f7edcbfc4368482 +Author: Ben Byer +Date: Sat Feb 17 02:23:11 2007 -0800 + + autoconf goodness for XDarwin, courtesy of pogma + +commit cf4994b0db2fef4c10ce8804adef766bc5118daf +Author: Ben Byer +Date: Sat Feb 17 01:21:43 2007 -0800 + + dix mods for Darwin + +commit cece0601571f6304e392a3a40505664544b249f3 +Author: Ben Byer +Date: Sat Feb 17 01:00:13 2007 -0800 + + build fix for configure.ac / BUILD_DARWIN, oops + +commit 00b0657b815b95964401c3e36eed54063afbd003 +Author: Ben Byer +Date: Sat Feb 17 00:55:32 2007 -0800 + + glx fixes for XDarwin + +commit 93777c7b96e560da087963040e372aecbfca7bbc +Author: Ben Byer +Date: Sat Feb 17 00:22:39 2007 -0800 + + more patches to make the Quartz part of XDarwin work again + (thanks Peter and Torrey!) + +commit 612144c811fdf06b7c03cf48a321388fe411acd4 +Author: Ben Byer +Date: Sat Feb 17 00:09:58 2007 -0800 + + More build fixes / updates for XDarwin: + quartz/cr: "Cocoa Rootless" support (deprecated in favor of xpr?) + quartz/fullscreen: Fullscreen support using Xplugin (not yet functional) + +commit 68d39d8571d8717d26cedc84015d537549520a14 +Author: Daniel Stone +Date: Fri Feb 16 23:02:13 2007 +0200 + + kdrive/ephyr: fix keysym type confusion once and for all + + Take keysyms in as an XID in hostx_load_keymap() and explicitly + convert them to CARD32 for loading into the server. Fixes Xephyr on + AMD64, wa-hey. + +commit 5507cb885d861e974be240120ada2ace2a980a72 +Author: Daniel Stone +Date: Fri Feb 16 23:01:27 2007 +0200 + + kdrive: delete input debugging, yet again ... + + I have no idea how this keeps on coming back. + +commit 84efe23ae834dd3a4d3f3e08832b69469c7382aa +Author: Ben Byer +Date: Fri Feb 16 04:37:38 2007 -0800 + + updated darwin/quartz/xpr (libXplugin interface for Mac OS X) support + +commit 5e7f7436a755a33e48ab91831cc6af710a8344ef +Author: Ben Byer +Date: Fri Feb 16 04:12:26 2007 -0800 + + merged in miext/rootless changes for XDarwin support + +commit f350909d1696fcfda87e8f12c729254d762313c9 +Author: Keith Packard +Date: Thu Feb 15 21:50:48 2007 -0800 + + Kludge around duplicate code added in hw/xfree86/modes. + + Code added in hw/xfree86/modes came from the server-1.3-branch. + Portions of this code had previously been integrated into xf86Mode.c + and edid_modes.c. + + To preserve hw/xfree86/modes as much as possible, the duplicate code from + the other files has been disabled; a more careful review would figure out + where that code actually belonged. + +commit 258beebc77510f84fbea66d6ebf29c5097bd11db +Author: Keith Packard +Date: Thu Feb 15 20:13:15 2007 -0800 + + Report correct RandR 1.0 sizeID. Report correct subpixel order. + + RandR 1.0 sizeID must be computed the same way every time, so when reporting + it in the ScreenChangeNotify event, just construct the usual 1.0 data block + and use that. + + subpixel geometry information can be computed by looking at the connected + outputs and finding any with subpixel geometry and using one of those for + the global screen subpixel geometry. This might be improved by reporting + None if more than one screen has information and they conflict. + +commit ef6b1235fd7d6dc422e8a150c089496a8e648067 +Author: Keith Packard +Date: Thu Feb 15 11:27:35 2007 -0800 + + Allow new modes code to build inside drivers as well as server. + + Use config.h for driver builds where xorg-config.h isn't available. + +commit 3dbe8f6b6ea32a9a137ad6e9235f74009b095bd8 +Author: Tilman Sauerbeck +Date: Thu Feb 15 17:51:01 2007 +0100 + + Distribute hw/xfree86/modes. + +commit d4eb4d065032112a38444e36f791cb468a5ca8f4 +Author: Keith Packard +Date: Thu Feb 15 20:36:20 2007 -0800 + + Merge crtc/output-based mode selection code. + + This code comes from the intel driver, so there's no history in this tree. + + As the crtc/output-based mode selection code uses ddc, the ddc and i2c + modules have been merged into the server. Attempts to load them are safely + ignored now. + +commit 37fe4c49dc3a5faf2d3d56112b6bd78453045f6a +Author: Peter Hutterer +Date: Fri Feb 16 09:57:57 2007 +1030 + + mi: Move WarpPointer event generation to miPointerMove to avoid duplicate + events, cache event array allocation. + +commit c2f3f705f1db8ca78292912544a7e416116175f3 +Author: Eamon Walsh +Date: Thu Feb 15 14:38:24 2007 -0500 + + Bug #6988: Change behavior of Security extension per user feature request. + +commit 811675733e97416c990e6dc9c19271b43d96248d +Author: Daniel Stone +Date: Thu Feb 15 19:09:00 2007 +0200 + + os: fix client privates leak + Minor leak here. Oops. + +commit 8f6961d385bda92703f18090cff551409d2710c9 +Author: Daniel Stone +Date: Thu Feb 15 19:08:46 2007 +0200 + + configure.ac: add xdarwin stubs + Add stub AM_CONDITIONALs to at least fix the build. + +commit a3b62623b8aac56b219633bdb2c2f6de19b0580b +Author: Daniel Stone +Date: Thu Feb 15 17:07:42 2007 +0200 + + change versioning for new server version scheme + See: + http://xorg.freedesktop.org/wiki/XDC2007Notes#head-2719037a1905516c45cf74f0e155c8703221e446 + +commit 0f6dd4aea6176507dbe1c90c950d332fecbcaacb +Author: Daniel Stone +Date: Thu Feb 15 16:14:57 2007 +0200 + + kdrive/ephyr: free screen struct + Free screen->driver on screenFini, instead of just leaking it. + +commit 9ecf79ca0111dd899ca88dd54156f71013220fcc +Author: Ben Byer +Date: Thu Feb 15 05:22:21 2007 -0800 + + Beginnings of an update Darwin driver + +commit 136bb4874aadf4a731d7eb8671e8bb641f9980a7 +Author: Ben Byer +Date: Thu Feb 15 05:14:38 2007 -0800 + + iokit support for XDarwin + +commit 3ead1afe78d2913f08c8144cb2d3813c6b159488 +Author: Ben Byer +Date: Thu Feb 15 05:09:29 2007 -0800 + + Beginning of patches to add XDarwin support to the modular tree; + special thanks to Torrey Lyons and Peter O'Gorman for making this possible. + + This is the automake framework for the XDarwin.app interface files. + +commit d570ff7c81858a3174686b46a088f67563b4a2d5 +Author: Peter Hutterer +Date: Wed Feb 14 17:09:33 2007 +1030 + + fix: WarpCursor needs to send MotionNotify. + +commit 81aa7f059d3cfd8d28420b7932b8ff7e06d67979 +Author: Eric Anholt +Date: Wed Feb 14 12:48:15 2007 -0800 + + Add missing dirty marking in a couple of fallback cases in the exaGlyphs path. + +commit a5f19c5150a7b3dc2ff3ad759ee1a6ab0ad8925c +Author: Eric Anholt +Date: Wed Feb 14 10:39:46 2007 -0800 + + Mark sync when UploadToScreen succeeds in exaGlyphs(). + +commit a492d494f51caf15a5cb979dc335387486c105d1 +Author: Alan Coopersmith +Date: Tue Feb 13 18:32:59 2007 -0800 + + Update Xvfb man page: remove monolith build instructions, use /var/tmp instead of /usr/tmp + +commit a23b0b069cac8a48e2b306b2095515d75f647705 +Author: Adam Jackson +Date: Mon Feb 12 17:50:00 2007 -0500 + + Typo fix. + +commit d21c95f80bdba2f29eedd57fb0b00e580391c08e +Author: Adam Jackson +Date: Mon Feb 12 17:22:39 2007 -0500 + + Hook up --with-builderstring for vendor build identification. + +commit 46784d24c11767455a4986449a8037295912dcee +Author: Adam Jackson +Date: Mon Feb 12 17:18:29 2007 -0500 + + Remove spurious LIBADD from xf4bpp + +commit c4b7e9d1c16797c3e4b1200b40aceab5696a7fb8 +Author: Aaron Plattner +Date: Tue Feb 6 14:57:22 2007 -0800 + + Add an RDTSC implementation to the x86 emulator. + + This instruction is being used in some debug VBIOSes. This implementation + doesn't even try to be accurate. Instead, it just increments the counter by a + fixed amount every time an rdtsc instruction in encountered, to avoid divides by + zero. + +commit 262b9b104a04e55969593ef96a16004e53ecd00a +Author: Soren Sandmann Pedersen +Date: Tue Feb 6 17:30:22 2007 -0500 + + Use the new 8888x0565mmx function in fbpict.c + +commit 876b806ec09d5ff0c6cd19df91006c4eefedfaa6 +Author: Soren Sandmann Pedersen +Date: Tue Feb 6 17:16:23 2007 -0500 + + Reapply patch to fix AMD CPU detection + +commit 13568d2aa43da4216bbcb46e1125ff28c323ac54 +Author: Soren Sandmann Pedersen +Date: Tue Feb 6 17:12:01 2007 -0500 + + Revert "Fix for AMD cpu detection. Bug 9614, Dan Williams." + + This reverts commit b2cd3b133748cc5aa541905a703a6fdb1cbbb1e6 since + unrelated changes in fbpict.c broke the build. + +commit 5a3334410367a2186b2c667fa1eb6cf0baf93e95 +Author: Soren Sandmann Pedersen +Date: Tue Feb 6 17:11:01 2007 -0500 + + Add new fbCompositeSrc_8888x0565mmx() function, based on patch by Dan + Williams. Bug 9682. + +commit b2cd3b133748cc5aa541905a703a6fdb1cbbb1e6 +Author: Soren Sandmann Pedersen +Date: Tue Feb 6 16:43:37 2007 -0500 + + Fix for AMD cpu detection. Bug 9614, Dan Williams. + + Credit for the fixes in this patch goes to: + + Marco Gritti + Jordan Crouse + +commit 760a38c4c7ab66ae653d3acb92f5cda4bd44edd6 +Author: Daniel Stone +Date: Mon Feb 5 03:39:36 2007 +0200 + + XkbCopyKeymap: fix copy-and-waste accident + + When we reallocated modmap, we accidentally clobbered syms with the + result, leaving syms definitely too small, and modmap also potentially too + small (as well as not actually allocated anymore). + +commit 17d85387d1e6851d35474b65929e268ca64ef65b +Author: Daniel Stone +Date: Thu Jan 18 15:23:57 2007 +1100 + + dmx, vfb, xnest: fix fbcmap compilation + + Don't always define XFree86Server, but only for damn fbcmap.c. + Split fbcmap.c into its own library to achieve this. + +commit 236f04b638e7d4d1656c6bedd8a6e8d7cec285ec +Author: Dave Airlie +Date: Mon Feb 5 09:09:12 2007 +1100 + + remove array_cache from everywhere + +commit eb228e8d1eaa78911541b2fec5d04a74c1299718 +Author: Alan Hourihane +Date: Sun Feb 4 22:06:59 2007 +0000 + + clean up more of the vbo fallout + +commit fb1bc1c65b88527b42a0e4abed23e5ddaae711b7 +Author: Dave Airlie +Date: Sun Feb 4 18:39:58 2007 +1100 + + add vbo to .gitignore + +commit d8e148ec841d340327e6813127b0e0ffc4db712d +Author: Dave Airlie +Date: Sun Feb 4 18:39:04 2007 +1100 + + update xserver for vbo code in mesa + +commit 5dcad9e9d7d9993d65f989219bee94a060bbf476 +Author: Alan Coopersmith +Date: Fri Feb 2 14:44:55 2007 -0800 + + Fix bus error on startup in 64-bit Xephyr + + hostx_get_visual_masks takes unsigned long * arguments, but was being + passed pointers to CARD32's. + +commit 170a55022ebc7b148bff93886eda152a0d5ce79a +Author: Alan Hourihane +Date: Fri Feb 2 20:56:12 2007 +0000 + + remove file + +commit e6a505be84f5f72349d6860dc5a5058367516019 +Author: Dan Nicholson +Date: Fri Feb 2 20:53:01 2007 +0000 + + The array_cache sources don't exist anymore in the Mesa tree, + so we shouldn't try to build them. + +commit af20485ec370801f2aabfaeae17bbd030a849bd1 +Author: Alan Hourihane +Date: Fri Feb 2 19:14:46 2007 +0000 + + Remove array_cache for recent Mesa changes + +commit cf5b29d75dad7c74543f49f010c817623a3df747 +Author: George Sapountzis +Date: Fri Feb 2 12:57:38 2007 +0200 + + dmx: drop leftover __GLXdrawablePrivateRec struct. + +commit 4f2f3233c808fd86bf9f6c09937feda9e0b367fd +Author: Eric Anholt +Date: Thu Feb 1 15:10:29 2007 -0800 + + Fix the size expectations of xRRSetCrtcGamma. + + It was using REQUEST_SIZE_MATCH (client request length must equal request size) + rather than REQUEST_AT_LEAST_SIZE (client request length must be at least + big enough for request size), and this request has data following the request + structure. + +commit 8274ea6aa97b06a56b7468c3908894c0ff72b687 +Author: Eric Anholt +Date: Thu Feb 1 12:15:54 2007 -0800 + + Set the Damage version supported in the server, instead of using damageproto. + + This was caught by distributions upgrading damageproto to 1.1, before the + server they had supported it. The server then advertised the new version + without supporting the protocol. + +commit 8bce182568f14edfb03911d8c5d791fd83bb6222 +Author: Eric Anholt +Date: Mon Jan 29 17:30:59 2007 -0800 + + Restore a few important lines killed in the previous commit. + + Typical results were failure to sync, and a black screen. + +commit 31f2d4a57e04f5ea635fbb50c508405c4fc37b65 +Author: Eric Anholt +Date: Mon Jan 29 09:39:33 2007 -0800 + + Bug #9680: Remove bogus blank length limiting in xf86SetModeCrtc(). + + Our modes typically come from EDID or default modes, and when the monitor + asks for a specific mode, deciding to tweak it usually results in incorrect + display. And if the user is specifying a mode by hand, tweaking it then is + still pretty rude. + + Reviewed by: ajax + +commit 1627af54497bee659ea30f2850b39cbbf576e22d +Author: Jonathan Lim +Date: Fri Jan 26 13:00:45 2007 +0100 + + Call linuxPciOpenFile() for r/w access if applicable. + + Currently, the call to linuxPciOpenFile() is always made for read + only access which causes the subsequent mmap call to fail when the + memory is mapped read/write. + + Xorg #9692 + +commit cf7ca9d09cba14d107152a5179de38e5ef7bd784 +Author: Alan Coopersmith +Date: Wed Jan 24 20:20:48 2007 -0800 + + Plug memory leak in doLoadModule() + +commit 5abd50e37ceda134897891ed32e05215db67e0b4 +Author: Alan Coopersmith +Date: Wed Jan 24 18:54:38 2007 -0800 + + Correct help lines for configure's --with-vendor-name flags + +commit b32a40817fc0e2ac2edf2fa22a8813087fce2e7b +Author: Alan Coopersmith +Date: Wed Jan 24 16:29:49 2007 -0800 + + Correct variable descriptions in comment for SecurityCheckResourceIDAccess + +commit a53586eebc166e35c1f48942205832810061daee +Author: Eric Anholt +Date: Wed Jan 24 13:36:25 2007 -0800 + + Warning fix for RRCrtcSetRotations(). + +commit 7a12952fd437b105ea0d013d680f9c3a775a183c +Author: Eric Anholt +Date: Wed Jan 24 13:34:29 2007 -0800 + + Bug #7639: Only swap out pixmaps (rather than everything) on VT switch in EXA. + + This is a new behavior for version 2.1 of EXA, and only takes effect if the + driver has requested that. Otherwise, the previous behavior remains the same. + +commit b6b855932109b4bc3454f07bef8cb079d79ca369 +Author: Keith Packard +Date: Thu Jan 25 00:29:20 2007 +0800 + + Make Xinearama screen information reflect CRTC rotation. + +commit 788cfce911793a26aed16f38f30678ecee82c873 +Author: Michel Dänzer +Date: Tue Jan 23 10:15:22 2007 +0100 + + Bump video driver ABI version to 1.2. + + This is necessary because server-1.2-branch bumped to 1.1 for xf86CVTMode and + we have xf86XVFillKeyHelperDrawable on top of that. + +commit 2dc866252c84ed0e7b3afa25e8a5312f448d405b +Author: Eric Anholt +Date: Mon Jan 22 08:41:50 2007 +0800 + + Really fix optimized render cases being hit when they shouldn't. + + I don't know how this define slipped in there. Fixes + 6fdfd9dad91d7b7aa292f8c4d268dd27c34de8d3. + +commit 0d6d373af95d0004d33b987d14ad7e04dd5d2003 +Author: Alan Coopersmith +Date: Fri Jan 19 14:52:23 2007 -0800 + + Update Xserver man page to match commit ed33c7c98ad0c542e9e2dd6caa3f84879c21dd61 + + Remove unused -xkbdb and -noloadxkb options. Rename -ar1 and -ar2 to + -ardelay and -arinterval, respectively. + +commit 14d6a9b327381a6bb2dac59c62728e5fd0f0bcfb +Author: Michel Dänzer +Date: Fri Jan 19 18:30:21 2007 +0100 + + fbdevhw: Only deal with RGB weight if default visual is True- or DirectColor. + +commit 27a01e100bff21ac0b70c6d72071d7226fc91264 +Author: Michel Dänzer +Date: Fri Jan 19 18:28:05 2007 +0100 + + fbdevhw: Consider mode set equal to mode requested if virtual width is larger. + +commit 65f4690ecb4576f60396fcccff8e5bd5d4b6645f +Author: Michel Dänzer +Date: Fri Jan 19 17:54:03 2007 +0100 + + __glXDRIscreenProbe: Use drmOpen/CloseOnce. + + Fixes https://bugs.freedesktop.org/show_bug.cgi?id=9275 . Based on patch from + Alan Swanson. + +commit 8b3a591cd39f2d51209dc71b641cac79663e1b16 +Author: Alan Coopersmith +Date: Thu Jan 18 16:03:30 2007 -0800 + + Update pci.ids to 2007-01-18 snapshot + + (includes a whole bunch of ATI device id updates) + +commit 0f0c321adf2850b3d7aafe281362bfe424cb0ca1 +Author: Alan Coopersmith +Date: Thu Jan 18 15:31:53 2007 -0800 + + Make xf1bpp build correctly with compilers that don't support -include + +commit a811e92104028ae60ba69f73e32ee1e0533b088c +Author: Eric Anholt +Date: Thu Jan 18 14:28:01 2007 -0800 + + Account for CRTC rotation in the cursor containment code. + +commit df147c10ce597c56c16cbca552e8a3e3ecb3cdaa +Author: Alan Coopersmith +Date: Wed Jan 17 16:47:07 2007 -0800 + + Xserver man page: remove bc, add -wr + +commit 2dfd1aab244a2c8da3b62b522b9a8434e474af17 +Author: Alan Coopersmith +Date: Wed Jan 17 14:39:28 2007 -0800 + + Always include compiler.h in cfbmskbits.h instead of checking #ifdef XFREE86 + +commit 42a48786acf54f83167de4f561526986d4e27033 +Author: Eric Anholt +Date: Wed Jan 17 14:34:42 2007 -0800 + + Add a setter for randr_crtc->rotations. + +commit cde17015dff1ced2aabb8b76c08f9110237821a5 +Author: Eric Anholt +Date: Tue Jan 16 13:01:03 2007 -0800 + + When changing a non-pending property, call the screen rrOutputSetProperty hook. + +commit e3add7c8ecbb2a0a662860f208f6ae7d1857c717 +Author: Eric Anholt +Date: Tue Jan 16 12:59:34 2007 -0800 + + Don't forget to add the property we configure to the properties list. + +commit 7fccec91c46baac4f8d2965180dc535b4eb7d65c +Author: Eric Anholt +Date: Wed Jan 10 13:10:43 2007 -0800 + + Bug #9555: Always define _GNU_SOURCE in glibc environments. + + This keeps us from having to define _POSIX_C_SOURCE, _BSD_SOURCE, and + _XOPEN_SORUCE to get the C environment we want in different places. It also + fixes the build on linux due to RTLD_DEFAULT having not been defined. + +commit 78f9592c112d4245f6119b98c244bbb4cae3e5aa +Author: Alan Hourihane +Date: Wed Jan 10 16:04:20 2007 +0000 + + lnx_ev56.c has to be built with -mcpu=ev56. Fix it. + +commit 6a2fb2928714ce77ee342cdc23a1178e5e766cf2 +Author: Eric Anholt +Date: Tue Jan 9 16:34:40 2007 -0800 + + Track rename of DamagePost -> DamageAdd. + +commit e3aa6ad201eb20862c11c000e76206e317a96dc9 +Author: Matthieu Herrb +Date: Tue Jan 9 14:14:19 2007 +0100 + + Multiple integer overflows in dbe and render extensions + CVE IDs: CVE-2006-6101 CVE-2006-6102 CVE-2006-6103 + +commit 359d20532bdcef6a540a551578d000afbb609c2d +Author: Michel Dänzer +Date: Tue Jan 9 09:53:45 2007 +0100 + + Require glproto >= 1.4.8 for GLX. + + It builds against 1.4.7 as well, but it hardcodes the GLX_EXT_tfp tokens that + were finalized in 1.4.8, so GLX_EXT_tfp breaks if the client side was built + against an older glproto. This will hopefully alert people to rebuild other + components (in particular Mesa) against the new glproto as well. + +commit 88740c4855babedbea420b5e1b35ae105d1f1026 +Author: Alan Coopersmith +Date: Mon Jan 8 17:36:07 2007 -0800 + + Use PKG_CHECK_EXISTS(libdrm) to determine if DRI should be enabled on Solaris + +commit 282a4dcaabc5f0cd6f7d3819aa648333b93b265e +Author: Michel Dänzer +Date: Mon Jan 8 19:22:41 2007 +0100 + + Attempt to fix drawable type checks in dixLookupDrawable(). + + Not sure this is 100% correct either, but it fixes at least one reproducible + crasher where it returned a pixmap to dixLookupWindow(). + +commit 0b73a7eb17fd848c6bdc6a65ba835aa2cbfc3cfd +Author: Eric Anholt +Date: Fri Jan 5 18:12:04 2007 -0800 + + Add support for the DamagePost (XDamage 1.1) request. + + This makes damageproto >= 1.1 a requirement to build. + +commit dfb2c10413e22afd8d486a982870f874326d5ef4 +Author: Ian Romanick +Date: Fri Jan 5 10:15:09 2007 -0800 + + Add missing #else from previous commits. + +commit f90c3e226b105bf77beb94723fc08bdff14834be +Author: Ian Romanick +Date: Thu Jan 4 15:38:16 2007 -0800 + + Re-regenerate from Mesa scripts. + + DO NOT HAND EDIT THESE FILES! For cryin' out loud, there's even a + comment to that effect in the file's header... + +commit b7ca5d14ce7ba410b0dab5c2289f6d7b75e763df +Author: Ian Romanick +Date: Thu Jan 4 15:37:33 2007 -0800 + + Incorporate new byte-order related configure changes. + +commit 8dd5771a1b91c331860b667fb18e484452000aad +Merge: 45aa26c... 7d2ec92... +Author: Ian Romanick +Date: Thu Jan 4 15:01:38 2007 -0800 + + Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver + + Conflicts: + + GL/glx/indirect_dispatch_swap.c + GL/glx/swap_interval.c + +commit 45aa26ccb4f61c2919ce2475d0907c6e1b177da2 +Author: Ian Romanick +Date: Thu Jan 4 14:55:51 2007 -0800 + + Regenerate from Mesa scripts. + + Regenerate source files from Mesa scripts. This causes the generated + files to use glxbyteorder.h. + +commit 6d603bb47ff9d238637adbf30c6e9697e6e7e6fa +Author: Ian Romanick +Date: Thu Jan 4 14:49:26 2007 -0800 + + Add new header file containing byte-order wrappers. + + Move the byte-order related wrappers out of the individual source + files into a dedicated header file. Modify the single hand-coded + source file that uses the byte-order wrappers to use the new header + file. + +commit 7d2ec92170ebbdfa10a05734cb7cfaac97d19d65 +Author: Eric Anholt +Date: Thu Jan 4 12:24:48 2007 -0800 + + Keep track of how many visuals we set up for GLcore, to avoid an invalid free. + + The proper fix would involve actually setting up the ARGB visual for GLcore, + but I just want the server to not crash at exit. + +commit aab2ca204279b638c7e5bb6b8427c58be9704c57 +Author: Eric Anholt +Date: Thu Dec 21 09:16:19 2006 -0800 + + Try dlsym(RTLD_DEFAULT) first when finding symbols. + + The previous mechanism failed when finding drm symbols now that libdrm has + moved to being linked by libdri instead of being linked into the server. + +commit 2fd4626fa6969b84d8e2f9db16d6e2d44c4bc499 +Author: Alan Coopersmith +Date: Wed Jan 3 15:44:55 2007 -0800 + + Make GLX byteswap macros more portable + + - Use autoconf tests instead of platform-specific #ifdef's to decide + which macros to use. + - Provide fallbacks for platforms like Solaris that don't provide any + of the existing known forms. + +commit 66fa87292ef26bd0f464481287f3af992cd5741c +Author: Aaron Plattner +Date: Wed Jan 3 10:27:07 2007 -0800 + + Fix BSF and BSR instructions in the x86 emulator. + + Patch courtesy of Michael Yaroslavtsev. + +commit 3b5b7ef5c2ab1d196806f6359e0972fd78d204dd +Author: Fredrik Höglund +Date: Wed Jan 3 21:05:35 2007 +0100 + + Move the code for resetting the DPMS mode in response to input events, + from WaitForSomething to mieqProcessInputEvents. + + mieqProcessInputEvents already handles resetting the screen saver. + +commit 953a9ef949b4c57d28daeec57031fe1ce368c27c +Author: Keith Packard +Date: Thu Dec 21 23:50:39 2006 -0800 + + Track physical screen size and send out updates when that changes. + + Events and internal data structures need to be updated whenever the physical + or pixel size of the screen changes. The code was ignoring the physical + size, so changing only that would not be registered anywhere. + (cherry picked from f42e3cea236fa0091ed398a818fc8e17b0e1b3df commit) + +commit e79602fca2f2cced66136729cdda4d356b0bdda0 +Author: Keith Packard +Date: Sat Dec 30 21:52:22 2006 -0800 + + Use RRScreenSetSizeRange in 1.0 compat. Check RRGetInfo for error. + + The RRScreenSizeSetRange function is used externally for 1.2 API drivers, + but can also be used in the 1.0 compatibility code. This also ensures that + the right changed bits are set so that clients are correctly notified when + the range changes. + + RRGetInfo can return an error, use that to return BadAlloc to clients + instead of blindly going on with various requests. + (cherry picked from f05dd384d38c76dd9662933a03625dfef5b1c81f commit) + +commit dc5eb4523298f966bd5fd9ae6672160034b5e82c +Author: Michel Dänzer +Date: Sun Dec 31 17:59:44 2006 +0100 + + fbdevhw: Override RGB offsets and masks after setting initial mode. + + This is a hack, but it should be a NOP for all the setups that worked before + and actually seems to fix some others... + + Based on a patch by Peter Teichmann from + http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=338241 . + +commit d077c0da470ab7291e8d838eaace57b066477d6f +Author: Michel Dänzer +Date: Sun Dec 31 17:23:31 2006 +0100 + + fbdevhw: Use displayWidth for fbdev virtual width when appropriate. + + The fbdev API doesn't allow setting the pitch explicitly, so we have to set + the virtual width to the pitch we're using for drawing. This fixes corruption + after changing the virtual width with RandR. + +commit c385bcf0bde38dd869f7065f859dd4b4126f5690 +Author: Michel Dänzer +Date: Sat Dec 30 16:44:31 2006 +0100 + + fbdevhw: Fix some issues with the previous commit. + + Fix a TRACE_ENTER typo and only update the internal fbdev mode state cache + after actually setting a mode. + +commit f6815cb68b0f6698497348fc6e4214dacef33b95 +Author: Michel Dänzer +Date: Sat Dec 30 10:18:28 2006 +0100 + + fbdevhw: Consolidate modeset ioctl calling, report failure if it modifies mode. + + The fbdev API allows the driver to 'accept' modes it doesn't really support by + modifying it to the nearest supported mode. Without this check, e.g. vesafb + would appear to accept all modes, even though it actually can't set any modes + other than the bootup mode at all. + +commit 083b790515faaf134a78abc4b0a7ef0d6ea5db75 +Author: Eric Anholt +Date: Thu Dec 28 13:21:25 2006 -0800 + + Switch the default migration heuristic for EXA to "always". + + This has been what has been used the most successfully post-damagetrack. + The current thinking is that: + 1) We should be able to accelerate basically everything. So we don't need to + try to migrate trees of pixmaps permanently out of framebuffer to speed + CPU drawing up. + 2) Migration is cheaper in the thrashing case, so we don't want to go to a lot + of effort to try (and fail badly) to find a working set. + +commit cfbc7379f0232bb336461f6d2a8496d3d0763e7e +Author: Eric Anholt +Date: Thu Dec 28 13:15:11 2006 -0800 + + Export exaMove{In,Out}Pixmap(). + +commit 683ca3f7afaf15fd3ca7918f6175b5a9e4a6f05b +Merge: 05f9150... 9563b2e... +Author: Eric Anholt +Date: Wed Dec 27 16:11:31 2006 -0800 + + Merge branch 'exa-damagetrack' + +commit 05f915050cad72d4fb39cbb886be57beeac18749 +Author: Peter Hutterer +Date: Wed Dec 27 16:38:06 2006 +0000 + + dix/events: take screen number, not pointer, in PostSyntheticMotion + Since we were using PostSyntheticMotion incorrectly anyway, update the + declared API to match. + +commit c1674660a7115ebf993dcde78f4e45f756e4c951 +Author: Daniel Stone +Date: Sun Dec 24 06:28:44 2006 +0200 + + os: test for userland, not kernel + + It doesn't matter which kernel we're running on, the relevant part when + dealing with includes is what our userland is. + +commit 83080809f9a1c1d24b0318e54632f25f5940da25 +Author: Marc Aurele La France +Date: Sun Dec 24 06:28:21 2006 +0200 + + xfree86: deal with pitch that isn't a multiple of the granularity + + When the pitch isn't a multiple of the granularity, allocate more space to + compensate. + +commit 329f6417275bb1201ba66c29b202028eeab3a355 +Author: Daniel Stone +Date: Sat Dec 9 22:51:59 2006 +0200 + + XkbCopyKeymap: make sure sym_interpret is always valid + + Make sure we're not copying sym_interpret across from an empty source. + +commit d9e079d2a385203fdd18d958cfc19d759cab4ba8 +Author: Eamon Walsh +Date: Fri Dec 22 13:07:09 2006 -0500 + + Zero out client devPrivates on allocation. + +commit e437f357b6850a6c87ca6696870b3abd40e5b8ed +Author: Alan Coopersmith +Date: Tue Dec 19 16:38:34 2006 -0800 + + xorg.conf man page should say "XFree86-DGA", not "Xorg-DGA" + +commit d442998e39611be6805ea261f2286a2fd00f49b1 +Author: Eric Anholt +Date: Fri Dec 8 13:35:36 2006 -0800 + + Only do the _POSIX_C_SOURCE hackery on linux where it's required. + + On other OSes, the nasty hack was resulting in prototypes being hidden, so just + don't do it. + +commit 228b9f77696190e47d4c96d6e0809bf645751557 +Author: Eric Anholt +Date: Fri Dec 8 13:32:22 2006 -0800 + + Include sys/select.h to get FD_ISSET. + +commit 9563b2eea2f61246b6a9e14e00c701f693efa4e1 +Author: Michel Dänzer +Date: Tue Dec 19 18:57:22 2006 +0100 + + EXA: Lots of damage tracking fixes. + + Mostly due to exaDrawableDirty() now calculating the backing pixmap coordinates + internally, for cases where they aren't trivially known. There's a new + exaPixmapDirty() function for the other cases. + +commit 467c00cf450826e0bf06fe94470ec193af625d68 +Author: George Sapountzis +Date: Tue Dec 19 18:45:25 2006 +0100 + + exaGlyphs: mark dirty for software path also. + + This affects drivers with no UploadToScreen or UploadToScreen failures. + +commit 4334860e69e7d5b156082bd05c7a86708e5bad4c +Merge: 7e47176... fdcc22c... +Author: Michel Dänzer +Date: Tue Dec 19 16:29:26 2006 +0100 + + Merge branch 'master' into exa-damagetrack + + Conflicts: + + exa/exa_accel.c + exa/exa_migration.c + +commit fdcc22ca1704d3519156c66804528c21b04fea65 +Author: Michel Dänzer +Date: Tue Dec 19 16:11:17 2006 +0100 + + exaCopyNtoN: Fix usage of 'dx' and 'dy' instead of 'reverse' and 'upsidedown'. + +commit 67c2a86e59e915d9a5681e9d233478cfea3e51ed +Author: Michel Dänzer +Date: Tue Dec 19 15:44:18 2006 +0100 + + EXA: Compare backing pixmaps instead of drawables against driver limits. + + The driver operations are always contained within the backing pixmaps, it + doesn't matter if the drawables are bigger. + +commit 6b1e354dbb6e8ed9f2c654bbe7f8bbf241843d1c +Author: Eric Anholt +Date: Tue Dec 19 15:24:19 2006 +0100 + + EXA: Disable SHM pixmaps. + + See https://bugs.freedesktop.org/show_bug.cgi?id=6772 . + +commit 1b029fd896b76096905c516925ce0214fe14632c +Author: Alan Coopersmith +Date: Mon Dec 18 14:51:04 2006 -0800 + + Xorg & Xserver man page updates for 1.2 release + + - Added -extension & +extension to Xserver man page + - Changed Xorg synopsis from X11R6 to X11R7 + - Clarified Xorg ancestry description + - Moved Solaris to free/Open Source OS list + - Removed references to MetroLink module loader & getconfig + - Converted (1) to (__appmansuffix__) in a few more places + - Replaced http://www.freedesktop.org/cvs/ with http://gitweb.freedesktop.org/ + +commit a5fcf1e5e7452c9be82f63b6c2be2a25c4109523 +Author: James Steven Supancic III +Date: Sat Dec 16 12:02:38 2006 -0500 + + Fix RENDER issues (bug #7555) and implement RENDER add/remove screen + support (bug #8485). + +commit c92f7bef54fa737766d65fe32c200f405f39228c +Author: Kevin E Martin +Date: Sat Dec 16 12:01:49 2006 -0500 + + For Xvfb, Xnest and Xprt, compile fbcmap.c with -DXFree86Server + +commit 012807356883128fde58bb2d4f91dd356d6418fc +Author: Eamon Walsh +Date: Fri Dec 15 18:27:16 2006 -0500 + + Add loud warnings to deprecated lookup functions. + Hopefully this will alert external driver maintainers. + +commit ab1d5b0c31a1cfce95ab6b1d06f209f2c44e19ac +Author: Eamon Walsh +Date: Fri Dec 15 17:26:58 2006 -0500 + + Convert callers of LookupClient() to dixLookupClient(). + +commit f11dafaafc68f5cff1a1538d9566907786d8ab72 +Author: Eamon Walsh +Date: Fri Dec 15 16:51:58 2006 -0500 + + Convert callers of SecurityLookupDrawable() to dixLookupDrawable(). + +commit 10aabb729d1586db344f9c1abdf1cf45e7ddaa7a +Author: Eamon Walsh +Date: Fri Dec 15 16:36:29 2006 -0500 + + Convert callers of LookupDrawable() to dixLookupDrawable(). + +commit 25d5e0a629f82d95bd71daf9a920a70e095b5188 +Author: Eamon Walsh +Date: Fri Dec 15 15:50:46 2006 -0500 + + Convert callers of SecurityLookupWindow() to dixLookupWindow(). + +commit 04c721854fbf1bd6379c165a53fab2bdc09961c0 +Author: Eamon Walsh +Date: Fri Dec 15 14:11:40 2006 -0500 + + Convert callers of LookupWindow() to dixLookupWindow(). + +commit 670bbb87310503fcc17203cecfa6f4f2f5db51d2 +Author: Keith Packard +Date: Wed Dec 13 01:21:32 2006 -0800 + + RandR 1.2 rotation code must adjust width/height. + + Mode lines reflect the monitor mode, not the projected size into the frame + buffer. Flip width/height around so that the dimensions are oriented + correctly. + (cherry picked from 612a8e61803da8db0e305cbb093696b8e4284572 commit) + +commit 6c6901434ab469dd03b79fc98cd4a2b64d339305 +Author: Keith Packard +Date: Wed Dec 13 00:58:54 2006 -0800 + + RandR 1.0 refresh rates unscrambled. SetScreenConfig uses RRCrtcSet right. + + RandR 1.0 refresh rates were scrambled when working with a 1.2 driver that + returned sizes in a mixed order. SetScreenConfig was treating RRCrtcSet as + returning an RandR status instead of a Bool. + (cherry picked from 6dc711833d7387372012fdff1ce1df3aefa2d234 commit) + +commit 628c7daeb12713d28e85e6b49fa037a7748dff83 +Author: Keith Packard +Date: Tue Dec 12 22:59:03 2006 -0800 + + RandR: config time updates when hardware config changes. + + The config time in the RandR protocol reflects when the hardware state has + changed. It was getting changed anytime the driver changed the usage + of the hardware as well. + (cherry picked from 98d18a6578130adb411ca4bcc776fcb7e07f189f commit) + +commit d742025f435f3eb7458cf8284d59300bc9a850aa +Author: Keith Packard +Date: Tue Dec 12 20:16:49 2006 -0800 + + RandR mode list needs both output and crtc modes. + + When an output no longer reports the current mode, it must still be included + in the list advertised by the X server. Walk the crtcs to ensure it is + included. + (cherry picked from 78689d0d6630afcbcd3ce5394d12c2564a489f45 commit) + +commit 9e32bf98bc9ab17a137664d01f59a8f426f7ff3b +Author: Eamon Walsh +Date: Thu Dec 14 19:31:58 2006 -0500 + + Remove now-unused macro definitions from dix.h. + +commit 00f0705b3bb444ac934fc902cd23130f1777eab2 +Author: Eamon Walsh +Date: Thu Dec 14 19:15:21 2006 -0500 + + Remove instances of macros SECURITY_VERIFY_GEOMETRABLE and SECURITY_VERIFY_GC. + +commit 5e334f06a1ef89891f9df2a371e4662340bec26b +Author: Eamon Walsh +Date: Thu Dec 14 18:27:09 2006 -0500 + + Remove instances of macros VERIFY_GEOMETRABLE and VERIFY_GC. + +commit 51b69ff499c05f59cb1e577c4e8abf6f7f283b3e +Author: Eamon Walsh +Date: Thu Dec 14 17:53:43 2006 -0500 + + Remove instances of macro SECURITY_VERIFY_DRAWABLE. + +commit 0cf75e74322e2b6a6efc7acf892e04365fde503b +Author: Eamon Walsh +Date: Thu Dec 14 17:27:12 2006 -0500 + + Remove instances of macros LOOKUP_DRAWABLE and VERIFY_DRAWABLE. + +commit ab1886df73b73360fa3bd7ce8e01affc074cbc8d +Author: Eamon Walsh +Date: Thu Dec 14 15:42:19 2006 -0500 + + Add new, combined dix lookup functions (tweak). + +commit 60cdc592fe042c03ceb5d4c3344acfbbf5d8ae28 +Author: Eamon Walsh +Date: Thu Dec 14 14:46:03 2006 -0500 + + Add new, combined dix lookup functions. + +commit 6c46645cfc1afda8aeabfe0ed4d9342673b702f1 +Author: Eamon Walsh +Date: Thu Dec 14 14:45:42 2006 -0500 + + Naming change: Security*Access -> Dix*Access + +commit b88ad820fac81d0dfd557a384bf0406e8893e7af +Author: Alan Hourihane +Date: Wed Dec 13 12:13:11 2006 +0000 + + Set Int10Current->Tag for the linux native int10 module + Fixes bug #9296 + (cherry picked from 731952c561a3972d09d1315f4fd31466e459ccb9 commit) + +commit 81281cb298a5825bc7a2e692375a86199293bbbe +Author: Alan Hourihane +Date: Tue Dec 12 11:28:24 2006 +0000 + + Fix bad commit + +commit 792e0f71c6a435b2e28f8a4cdcc790f3b982e62c +Author: Alan Hourihane +Date: Mon Dec 11 14:54:49 2006 +0000 + + Fix Xming fails to use xkb bug + bug #5049 (Colin Harrison) + +commit 27d4b84f268ac21601f7f52a7e257f70753396b3 +Author: Alan Hourihane +Date: Mon Dec 11 14:50:08 2006 +0000 + + Fix Tooltip from minimized clients + + Bug #3678 (Colin Harrison) + +commit fb8364bca30fe9268e807b0a9a3ebf875ee1fce2 +Author: Adam Jackson +Date: Sun Dec 10 11:24:05 2006 -0500 + + Accept EDID > 1.3 but < 2.0 if we find it, assume it's compatible. + +commit d56249a15ead51ad4d2117d5538ada24af05b693 +Merge: f1f8df1... ec84f72... +Author: Jeremy C. Reed +Date: Fri Dec 8 15:52:37 2006 -0600 + + Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver + +commit f1f8df1889ab656bb57596e2f85408f15f42cd5d +Author: Jeremy C. Reed +Date: Fri Dec 8 15:51:44 2006 -0600 + + For MANDEFS, also replace __mandir__ for $(mandir) which includes + the prefix. Noticed wrong path to man pages on both Ubuntu and on + NetBSD with pkgsrc. + +commit ec84f72d077eaf2e7768a1f5398f65a5e1714d08 +Author: Daniel Stone +Date: Fri Dec 8 21:31:47 2006 +0200 + + XkbCopyKeymap: always initialise map and preserve + + If we don't have map or preserve in the source map, make sure the + destination is initialised to NULL, and freed if it's a valid type. + +commit e59aeac1ff13ea53f44dba1ac7800f37f4532ca1 +Author: Daniel Stone +Date: Wed Dec 6 23:44:06 2006 +0200 + + xfree86: remove stray debug line + +commit 729fca33a417ae3dfb180caf0ea8946ef9eee1df +Author: Michel Dänzer +Date: Thu Dec 7 12:09:18 2006 +0100 + + Revert "xfree86 DDX: Delete DDX screens in ddxGiveUp()." + + This reverts commit a6381e69845f58d2b3282992b1f881015190f1bc. + + See https://bugs.freedesktop.org/show_bug.cgi?id=9224 . + +commit 4ea6dfb984063117eef5c2f931205b1c3eb3108b +Author: Daniel Stone +Date: Wed Dec 6 23:24:39 2006 +0200 + + whitespace police + +commit 4cba1a1ebfbdd7ab489b1b1ffb6656cbe88eb61e +Author: Daniel Stone +Date: Wed Dec 6 23:21:38 2006 +0200 + + config: bus reconnect support + + Add support for reconnecting to the bus when it restarts. + +commit 0c5dab5c8eaa174f28054b9d20244a709c015210 +Author: Daniel Stone +Date: Wed Dec 6 23:21:15 2006 +0200 + + config: move config.h to hotplug.h + + Also, move configInitialise to after OsInit, since the next commit will + make it use a timer. + +commit 72e7f2ac6cf0db474d0defa7918f2a3ba76c0e46 +Author: Daniel Stone +Date: Wed Dec 6 23:18:52 2006 +0200 + + GetPointerEvents: always send valuator events for MotionNotify + + Always chase a DeviceMotionNotify event with a DeviceValuator, which is + not required in the spec, but will silently break the lib if you don't + include. + +commit c458a70d650bd62b8f4706f022d1f3f347636db1 +Author: Daniel Stone +Date: Wed Dec 6 20:30:44 2006 +0200 + + GetPointerEvents: fix typo + + Fix typo that resulted in inverted axes when using an absolute positioning + device that didn't report y, and thus relied on the previous value. + +commit edabf45425f9ed79547f918cc0dfff4c268de386 +Author: Daniel Stone +Date: Sat Dec 2 16:37:19 2006 +0200 + + configure.ac: add CONFIG_LIB to Xvfb + +commit 8724af248cd6c93182fecd060fed09a556361080 +Author: Daniel Stone +Date: Sat Dec 2 16:20:34 2006 +0200 + + kdrive/mga: fix compiler warning + + Change a case that only made one test for an if, preventing the compiler + warning about all other PICT_* types being unsupported. + +commit 2f0a800ffdc881cdb3adf84f1ed97bbb63cba34c +Author: Daniel Stone +Date: Mon Nov 27 22:22:53 2006 +0200 + + config: move to block/wakeup handler + +commit 99378b58dbc63160382ad9c41f9cb0dd2a24e9d1 +Author: Daniel Stone +Date: Mon Nov 27 22:22:33 2006 +0200 + + kdrive/tslib: remove vendor-specific hacks + + Parts of the KDrive merge accidentally contained a bunch of + vendor-specific hacks; sorry. + +commit 8884a73a3f4efa8276c5e38b9573201574c4f1f6 +Author: Daniel Stone +Date: Mon Nov 27 22:39:56 2006 +0200 + + xfree86/input: re-add support for disabling drag events + +commit f2903c12bb4bb0b7c94b96c55af8fa55507f9d7d +Author: Daniel Stone +Date: Tue Nov 7 11:13:32 2006 +0200 + + SyntheticMotion: don't dereference sprite.screen when not using Xinerama + + (cherry picked from aa052e43c6c293e14f78837e00c6b7581f9713bb commit) + +commit d17ec01e8395a8f14b75a10c8bf082b3f5a4fb36 +Author: Daniel Stone +Date: Fri Dec 1 00:41:41 2006 +0200 + + remove CID support (bug #5553) + + Remove CID from all our fontpaths. + (cherry picked from 69820a10e33e4582c192360996e866007114639d commit) + +commit abe5e079af715713097ab0daad29a3e9f523c398 +Author: Alan Coopersmith +Date: Wed Dec 6 07:58:03 2006 -0800 + + Update pci.ids to 2006-12-06 from pciids.sf.net + +commit 724f9cb578086e8483a2d0636dd6eb05d664d31c +Author: Aaron Plattner +Date: Tue Dec 5 13:44:05 2006 -0800 + + Bug #9219: Use pWin->viewable instead of pWin->realized to catch InputOnly windows too. + +commit 3690de9b1b0902d395bc7d071fc05ebc8f75be2b +Author: Aaron Plattner +Date: Tue Dec 5 12:42:12 2006 -0800 + + Bug #9219: Return BadMatch when trying to name the backing pixmap of an unrealized window. + + Before this change, ProcCompositeNameWindowPixmap would name the screen pixmap + if !pWin->realized. + +commit f9f7d7f3be53c808abb5eaceb7a1abc55744a210 +Author: Alan Coopersmith +Date: Mon Dec 4 13:36:30 2006 -0800 + + Check for __sparc as well as __sparc__ for compatibility with Sun cc + + (gcc defines __sparc__, Sun cc defines __sparc) + +commit ac90ce58ba1da3ed605adf75f4d54c34b578c402 +Author: Eamon Walsh +Date: Fri Dec 1 21:12:21 2006 -0500 + + Naming change: Security*Operation -> Xace*Operation + +commit f44f14fe564d834568a0afefba944223a73ea0f5 +Author: Eamon Walsh +Date: Fri Dec 1 20:48:15 2006 -0500 + + Define calls away when not building XACE, allowing ifdef's to be removed. + +commit a5d6499d666fea4a9988118ddd3a5e4c9cfcc32c +Author: Alan Coopersmith +Date: Fri Dec 1 16:42:37 2006 -0800 + + Fix syntax error in configure check for SYSV_IPC that broke with Sun cc + +commit 89b2aa9be81613cb1a06bd535bf50ecf2a00208d +Author: Keith Packard +Date: Mon Nov 27 21:40:24 2006 -0800 + + Destroying RandR crtc or output overwrites memory. + + RRCrtcDestroyResource and RROutputDestroyResource had matching + bugs that would overwrite memory past the end of the storage + of the crtc or output arrays. Oops. + (cherry picked from 4202b23ed86405a4cebfdcf239df1b023c1d10ca commit) + +commit 23ba72323af785516db6cbcf6c1b2fa907a8232f +Author: Keith Packard +Date: Thu Nov 30 23:16:42 2006 -0800 + + RandR ListOutputProperties has nAtoms element, not nProperties + + Earlier RandR 1.2 encoding revisions used 8-bit nProperties field. + Final RandR 1.2 spec uses 16-bit nAtoms field instead. + (cherry picked from 66b6358a393972946f16394918db2401c51dc5ed commit) + +commit ccd804c6c01cdfffe938fa5336be9b5668a6f0c0 +Merge: 9423ac1... 82912ad... +Author: Drew Parsons +Date: Fri Dec 1 15:21:57 2006 +1100 + + Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver + +commit 9423ac134a2a9800787c4978d384827cc4e61fc8 +Author: Drew Parsons +Date: Fri Dec 1 15:21:05 2006 +1100 + + GNU/FreeBSD support in GLX: include byteswap.h for FreeBSD systems + defining __GLIBC__, as done already for Linux and Hurd (cf. bug #5613). + Also includes some more __GNU__ checks on top of those made in + commit ade4bf09076d13dbf3549c0a2d987a0afe76d5c1. + Thanks Petr Salinger (Debian bug #400869). + +commit 82912ad7709e8cf4a5f8a9fa6b47f789842a3fe9 +Author: Alan Coopersmith +Date: Thu Nov 30 20:13:52 2006 -0800 + + Make solaris version of xf86OSRingBell return void like other OS'es + +commit 8956f63a941bf0a5f157d47b33e6221601a75040 +Author: Alan Coopersmith +Date: Thu Nov 30 19:53:29 2006 -0800 + + Tell automake to STFU about the *.O files + + automake will not stop whining about the *.O files not being in normal library + name format, so just tell automake they are PROGRAMS so it builds them without + bitching. + +commit ee9bdd3f4a14a42fb0747acc420966f0f669129b +Author: Aaron Plattner +Date: Wed Nov 29 12:01:43 2006 -0800 + + Add DIX_CFLAGS to util builds. + + Fixes a build breakage when $(top_srcdir) != $(top_builddir) because + -I$(top_srcdir)/include is missing for the cvt, ioport, pcitweak, and scanpci + builds. + + Signed-off-by: Adam Jackson + +commit a6381e69845f58d2b3282992b1f881015190f1bc +Author: Michel Dänzer +Date: Wed Nov 29 19:25:09 2006 +0100 + + xfree86 DDX: Delete DDX screens in ddxGiveUp(). + + This allows video drivers to clean up in the FreeScreen hook things they set up + in the PreInit hook. + +commit b0c8558b9d9a9984c0067960392e28f5a7622b29 +Author: Keith Packard +Date: Sun Nov 26 19:31:48 2006 -0800 + + Ensure RandR resource types are registered before resources are created. + + Now that resources can be created during server initialization, make sure + the crtc, output and mode resource types are created before attempting to + create associated resources. + (cherry picked from commit ec83d674167e7045d5317b179c9998e3172a26dc) + +commit 6245e9dd4719c5dc15ff45d49cf626123794038b +Author: Keith Packard +Date: Tue Nov 21 16:52:28 2006 -0800 + + Allocate correct size for RRPropertyRec (oops). + + Neglected to change the allocation size from sizeof (PropertyRec) to + sizeof (RRPropertyRec). Lots of fun crashes this way. + (cherry picked from commit 0626eb8e5c9fa05de6bdc9aa0c654f5148bf7cff) + +commit 24abce8032940e96bb2ccf9e463a7fff6f36283a +Author: Keith Packard +Date: Tue Nov 21 01:15:26 2006 -0800 + + Change RandR property datatype to include pending/valid values. + + This patch tracks the protocol changes which introduce more complex + semantics for RandR output properties including pending and valid value + information. + (cherry picked from commit af55c65bea40669fdc038aa34c6a1ec9ecb33e87) + +commit f62ac3ec39c6593df476985c630e499864c19c72 +Author: Eric Anholt +Date: Tue Nov 28 10:31:40 2006 -0800 + + Separate DDC mode list creation from MonPtr creation. + + This will be used by the intel driver, and likely other RandR 1.2 drivers. + +commit fbd09443385c533416fa530399d54f130afaf985 +Author: Eric Anholt +Date: Tue Nov 28 10:15:51 2006 -0800 + + Replace bad mode name-setting code with xf86SetModeDefaultName(). + +commit 4ad0bde661be2af4a17771d66066d49736e85cbe +Author: Eric Anholt +Date: Tue Nov 28 10:12:02 2006 -0800 + + Clean up a bunch of long lines and trailing whitespace. + +commit 05778432dc6e688bc0beff0c20ffd7e27b74888e +Author: Eric Anholt +Date: Tue Nov 28 10:07:57 2006 -0800 + + Move code to get a mode list from EDID data from ddcProperty.c to edid_modes.c. + +commit 38ecc66cd9c61346a46697bbf1d8319f4f6f9800 +Author: Eric Anholt +Date: Tue Nov 28 10:06:15 2006 -0800 + + Typo that was missed in testing. + +commit 834e4b079866594b50be64ae79f3cb2a5baa2070 +Author: Matthias Hopf +Date: Tue Nov 28 18:57:13 2006 +0100 + + Fix potential NULL pointer access in timer code. + + https://bugzilla.novell.com/show_bug.cgi?id=223718 + +commit 5dbcd34a0a6c0d10dbfea8fdc9d7dfe7a0261b19 +Author: Eric Anholt +Date: Mon Nov 27 16:26:14 2006 -0800 + + Register dependency on new RandR protocol. + +commit 16f8f10dc2106bc6253b2d89a1f8efee8d80e2ba +Author: Eric Anholt +Date: Mon Nov 27 16:21:31 2006 -0800 + + Move mode handling helpers from ddcProperty.c to xf86Mode.c. + +commit b4b0d901d98371a8aa7b17d195e18e83e2a6a618 +Merge: 64de3ba... d6cd031... +Author: Eric Anholt +Date: Mon Nov 27 15:43:15 2006 -0800 + + Merge branch 'randr-1.2' + + Conflicts: + + dix/events.c + dix/getevents.c + hw/xfree86/common/xf86Mode.c + hw/xfree86/dri/Makefile.am + hw/xfree86/os-support/drm/xf86drm.c + hw/xfree86/os-support/xf86drm.h + +commit d6cd0313c7f23f32c9c7dda00ff739e772bf7db3 +Author: Eric Anholt +Date: Mon Nov 27 14:46:50 2006 -0800 + + Add some mode helper functions from the intel driver. + + This also removes static from some other functions that had been copied out + to at least the intel driver, but perhaps others that were doing mode list + handling. + +commit 64de3baf85f6df274f71f736016f0848567cd9f6 +Author: Aaron Plattner +Date: Wed Nov 22 14:46:51 2006 -0800 + + Add a -showDefaultLibPath option. + + A corollary to the previous change, this option prints $libdir. + +commit 0a2a6e4070718b90af7ca0e047f028e0cabdfb9d +Author: Aaron Plattner +Date: Fri Nov 17 18:27:23 2006 -0800 + + Add a -showDefaultModulePath option. + + As discussed on the mailing list, people would rather have an X command-line + option to print the module path so installers can know where to put modules, + rather than the installers using `pkg-config --variable=moduledir xorg-server`, + since some distros choose not to install xorg-server.pc. + +commit 61832cb94c8a4d62cddb92188caeed86519e9d62 +Author: Brian +Date: Wed Nov 22 09:16:43 2006 -0700 + + Regenerated from Mesa w/ latest gl_API.xml file + +commit 61863f09d22935406371e92bb75173d55ff9b29f +Author: Brian +Date: Wed Nov 22 09:16:17 2006 -0700 + + Regenerated from Mesa, fixes glMap* protocol problem (bug 8899) + +commit 33ff4cec5ff7533ec725f71d357c096dfb0acb79 +Author: Alan Hourihane +Date: Tue Nov 21 21:23:17 2006 +0000 + + Issue CloseDownDevices() in os/log.c and remove from dix/main.c. + + This ensures that all calls to FatalError() will shutdown the input devices. + +commit ca2874b273232d9f51881b1cd754ed6847bfaf47 +Merge: c9a5f9d... e2f6dac... +Author: Alan Hourihane +Date: Sat Nov 18 19:56:32 2006 +0000 + + Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver + +commit c9a5f9d3911c2e6a8f81b0721c9eb914fb7719b5 +Author: Alan Hourihane +Date: Sat Nov 18 19:55:42 2006 +0000 + + Shutdown input devices if FatalError occurs during startup. + Fixes Xdmx problems when the input device has been initialized + and the keyboard map has been destroyed. + +commit e2f6dacc736527790ed8e304698678afc17f71c6 +Author: Dave Airlie +Date: Sat Nov 18 11:26:55 2006 +1100 + + dri: setup libdrm hooks as early as possible. + + This is due to radeon doing drm stuff before DRI extension gets initialised + +commit ef47d9c3ba63e9a6243fe5c81ccc60c8246352b4 +Author: Keith Packard +Date: Thu Nov 16 13:50:48 2006 -0800 + + Reduce calls to RRGetInfo. + + RRGetInfo can be expensive. Don't invoke it when quering Xinerama + information or setting a new CRTC configuration. + (cherry picked from commit b5aa9eb8e6eda36856a075f4b008c33f6c706bad) + +commit 07b26e690cd9a4fc626132feed0702515cbe5a88 +Author: Keith Packard +Date: Thu Nov 16 09:48:33 2006 -0800 + + Remove RandR output options. + + RandR output options are now expected to be handled by properties instead. + (cherry picked from commit 8b2a7e94a1dc2776ab2cfaaebb309be02502602a) + +commit f17e3c34dfd1f1418440bdebf45764e4dbf550f0 +Author: George Sapountzis +Date: Thu Nov 16 02:18:03 2006 +0200 + + Fix GL context destruction with AIGLX. + + The logic for freeing GL contexts introduced by "Fix AIGLX VT switching." is + inverted. As it is now, GL context destruction is deferred for glxDRIEnterVT(). + +commit ae3c9ad4abe66784d7ee474455003d2745699286 +Author: Bjorn Helgaas +Date: Thu Nov 16 17:29:06 2006 +0100 + + Bug 9041: Check the return code in xf86MapDomainMemory(). + +commit 6ff7f2ad6a5e2e769244590578e6809974b5235d +Author: Eric Anholt +Date: Tue Nov 7 13:13:53 2006 -0800 + + Fix build on FreeBSD after input-hotplug. + (cherry picked from commit 4e6e4baead6c565363abbcd9e06cc685be121596) + +commit 2eab230d9bd3f73ffe1b5a42111f89e85904ee11 +Author: Jeremy C. Reed +Date: Tue Nov 14 16:37:18 2006 -0600 + + For NetBSD, define PCVT_SUPPORT (System has PCVT console). + + Noticed by Joerg Sonnenberger. This fixes problem with console + switching. + + This was in original imake NetBSD.cf. + +commit 26d2e45bdb0cf4d18ba7b0365425da49d60b3d5c +Author: Matthias Hopf +Date: Tue Nov 14 15:33:07 2006 +0100 + + Bug #9023: Only check mice for "mouse" or "void" if identifier is != NULL. + +commit a724b7f1302ba7a59f140b521f13d2ddf0fcf9bf +Merge: 6facd95... f80a8ae... +Author: Jeremy C. Reed +Date: Mon Nov 13 20:32:26 2006 -0600 + + Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver + +commit 6facd958c2e7098cb68eac2810a88b8cd40f19c0 +Author: Jeremy C. Reed +Date: Mon Nov 13 20:23:06 2006 -0600 + + On DragonFLy, default to /dev/sysmouse (just like on FreeBSD). + + TODO: use autoconf to handle this so the code is not platform + based but feature based. + +commit f80a8ae6e6820378ea70ac0849cee8bf3055e0e8 +Author: Adam Jackson +Date: Mon Nov 13 18:26:05 2006 -0500 + + Disable Xprt server build by default. + +commit 5bfe7f4dfc6ab51b6790d74faf11574385234423 +Author: George Sapountzis +Date: Mon Nov 13 01:54:32 2006 +0200 + + DRI: call drmSetServerInfo() before drmOpen(). + + Also, remove some libdrm remnants. + +commit acb5ff4c73ac4d52201d7c421f488e2ead5c8b9c +Author: Jurij Smakov +Date: Sat Nov 11 14:09:15 2006 +0200 + + ffs: handle 0 argument (bug #8968) + + Handle an argument of 0 in ffs(), instead of looping indefinitely. + Add an ffs prototype to dix.h, and add includes to ffs.c. + (cherry picked from 34164e551e4c3909322d50b09835ca4ac1d49d68 commit) + +commit ca094684196886a4a1c10273049fae0705a3edc2 +Author: Alan Coopersmith +Date: Fri Nov 10 18:02:05 2006 -0800 + + Correct symlink-mesa.sh usage message + +commit 28337cc1060bc08adef81c304dd9ed02d0a0e37b +Author: Eric Anholt +Date: Thu Nov 9 19:51:17 2006 -0800 + + Fix typo before the last commit. + +commit e1720b1089328af80ca0cb85e5289ced05263f95 +Author: Eric Anholt +Date: Thu Nov 9 18:53:37 2006 -0800 + + Bug #8868: Remove drm from SUBDIRS now that the directory is gone. + +commit 0dee48b8af3e054228aef0d15c1cb1c9e23790cc +Author: Keith Packard +Date: Wed Nov 8 23:17:55 2006 -0800 + + Add RRInit function to create resource types for RR objects. + + To allow RandR objects to be created before the screen object exists, + the resource types must be registered with the resource database. + A driver wishing to create RandR objects must call RRInit before doing so. + + Also, fix a segfault when setting Output data before it is associated with a + screen. + +commit ec77a95a02329a2ee3a94d7de9d2a234aecb9ca0 +Author: Keith Packard +Date: Wed Nov 8 21:36:35 2006 -0800 + + Allow RandR objects to be created before the associated ScreenRec. + + xf86 drivers need to create RandR object in the PreInit stage, + before the ScreenRec is allocated. Changing the RandR DIX code + to permit this required the addition of functions that later associate the + objects with the related screen. + + An additional change is that modes are now global, and no longer associated + with a specific screen. This change actually makes mode management cleaner + as there is no more per-screen list of modes to deal with. + + This changes the RandR 1.2 ABI/API for drivers. + +commit fd91630b73100e9d77ccb492c52807448bc772a5 +Author: Dave Airlie +Date: Thu Nov 9 09:30:33 2006 +1100 + + make X server use system libdrm - this requires libdrm >= 2.3.0 + + This patch blacklists the load "drm" line, moves some functions in dri module + links dri module against libdrm, and removes the X copy of libdrm + +commit 0409e1627a167db2efc1355f292d3c02a6989ffc +Author: Adam Jackson +Date: Wed Nov 8 16:17:20 2006 -0500 + + 'make dist' fixes. + +commit 7e0aeebb8f8a5dff3cb4d88756e535dd70edeec4 +Author: Adam Jackson +Date: Wed Nov 8 12:03:37 2006 -0500 + + Bug #6786: Use separate defines for server's Fixes support level. + +commit b5d09d4adb8088719ff494a4281a793717046576 +Author: Rich Coe +Date: Wed Nov 8 18:10:14 2006 +0200 + + CheckConnections: don't close down the server client (bug #7876) + When an appgroup is shutting down, the list of clients can change, so make + sure we're not trying to shut the server down. + +commit 0567a6337b84fa045b5732e98203f488274aa2a2 +Author: Bram Verweij +Date: Wed Nov 8 18:00:52 2006 +0200 + + xfree86/linux acpi: fix tokenising + Split on a space, rather on the 'video' string, as strtok takes a char, + not a string. + +commit e7900d68c3ee657158813f0650886d680c0a9a3c +Author: Daniel Stone +Date: Wed Nov 8 15:36:47 2006 +0200 + + remove trailing whitespace + Whitespace police in full effect. + +commit 2035f115b7db3c4b7deabeab0d814b3107d6ef30 +Author: Daniel Stone +Date: Wed Nov 8 15:28:10 2006 +0200 + + xfree86: remove xf86Keymap.h + +commit 809e2841aaa54662a42498aacec558bc813bba1c +Author: Daniel Stone +Date: Wed Nov 8 15:27:58 2006 +0200 + + xfree86: add general handler, port ACPI to it (bug #5665) + + Add 'general' handler registration, which will not trigger DPMS when an + event comes in. + Make ACPI use this. + +commit b5438f7fb2879e0226b578f60b22a490e73c3a83 +Author: Daniel Stone +Date: Wed Nov 8 15:24:58 2006 +0200 + + Get*Events: massive reorganisation + + Reorganise the code logically, and put more comments in. + Clip valuators in proximity calls. + +commit b0a7443ca8bd224994f98c1c1e25de88f2573224 +Author: Daniel Stone +Date: Wed Nov 8 15:23:52 2006 +0200 + + configure.ac: axe redundant SDL test + +commit 332f179db7c38310db1f752d45f51b6d8301fd30 +Author: Daniel Stone +Date: Wed Nov 8 15:23:35 2006 +0200 + + kdrive/sdl: fix compilation + +commit 988757a44197c91027109076e2e33ff6510ed71d +Author: Daniel Stone +Date: Wed Nov 8 14:06:51 2006 +0200 + + config: error messages non-fatal, and before we free them + + Move error messages before we free the error structure, and make them all + non-fatal. + +commit e2b78df5800fb4e3f0ed01b38a1974ba3577949c +Author: Daniel Stone +Date: Tue Nov 7 11:13:56 2006 +0200 + + xkb: warning fix + +commit b55007d8cc9d20baa23d5de67683e414c827d3e5 +Author: Daniel Stone +Date: Tue Nov 7 11:13:32 2006 +0200 + + SyntheticMotion: don't dereference sprite.screen when not using Xinerama + +commit f93d10ce9bb4a6de83b561f44fb7b046def16234 +Author: Daniel Stone +Date: Mon Nov 6 18:33:45 2006 +0200 + + dix: remove staggeringly broken vendor workarounds + + Dear SGI, + No. + + Scant regards, + Daniel + +commit 389275d240e4ba19d62fda0f138a45c7ecb245ff +Author: Daniel Stone +Date: Sun Nov 5 02:47:59 2006 +0200 + + XkbCopyKeymap: don't iterate broken types, or dereference null pointers + + Don't iterate invalid destination types (>= num_types) when coping key + types. + Don't free key_aliases if it's NULL (theoretical, but sure). + Make sure dst's label_font gets allocated if it's NULL. + (Thanks, Chris Lee.) + +commit d585b4189aff8d7952847f75b19b4f092ab3b88b +Author: Daniel Stone +Date: Sat Nov 4 21:47:55 2006 +0200 + + xkb: fix uninitialised warning + + Fix uninitialised warning with memset(); we never actually use it + uninitialised, but gcc doesn't know that. + +commit b6d7b537ed8975363ad0f7c4180a62822358e418 +Author: Daniel Stone +Date: Sat Nov 4 21:43:22 2006 +0200 + + os: fix sun extensions test + + 'else if' is not very valid, plus the logic is kind of broken, so just + move it outside the ifdef in the first place. + +commit 8ba0c7b62c78dead722b0c8aa414f37bac4414b7 +Author: Daniel Stone +Date: Sat Nov 4 21:41:03 2006 +0200 + + xace: avoid 'unused variable pScreen' + + Initialise pScreen explicitly, as REGION_* macros ignore pScreen. + +commit c3ea1f7db494365032526dc06a7283384bd0ecd1 +Author: Daniel Stone +Date: Sat Nov 4 21:38:31 2006 +0200 + + dix/mi: still more warning fixes + + Fix up prototypes for PrintChildren and PrintWindowTree in the dix. + Make miPrintRegion be unconditionally defined, and move the prototype into + regionstr.h. + Change a bunch of ScreenPtr pScreen = foo; to + ScreenPtr pScreen; pScreen = foo; in window.c, so we avoid unused variable + references (as inline REGION_* doesn't reference pScreen). + +commit 3a9b96425851b495503bd2eb0fd0d01c08f6a097 +Author: Daniel Stone +Date: Sat Nov 4 21:33:09 2006 +0200 + + dix: add missing prototypes + + Add missing prototype for ffs, and include headers from ffs.c. + Move PostSyntheticMotion prototype to input.h. + +commit 6716488fa256798070017232405b107d5c985479 +Author: Daniel Stone +Date: Sat Nov 4 21:30:23 2006 +0200 + + dix: remove unused debug code + +commit 51813d77bfb84609a58a98e678efe9b6c0bf5503 +Author: Daniel Stone +Date: Sat Nov 4 21:29:05 2006 +0200 + + dix: remove unused variable + +commit 844090a5b557705dd0adce2b7ed98813b5104d85 +Author: Daniel Stone +Date: Sat Nov 4 21:21:29 2006 +0200 + + xfree86/xf86misc: warning fixes + +commit 61b570d0c1eb448f0aa08b4598118f0d43bc7345 +Author: Daniel Stone +Date: Sat Nov 4 21:21:09 2006 +0200 + + xfree86/os-support: update prototype for OSRingBell + +commit c51fadc07d938f6a3edfd5620170fcb7d6486a11 +Author: Daniel Stone +Date: Sat Nov 4 21:20:45 2006 +0200 + + mieq: annotate with some more comments + +commit 578899139f133746634a7bf8845e25362b5dfca2 +Author: Daniel Stone +Date: Sat Nov 4 20:35:55 2006 +0200 + + RemoveGeneralSocket: don't touch EnabledDevices + + RemoveGeneralSocket. Harmless, but. + +commit ae58d349c1cf5d63ad3616c485baa858350978d5 +Author: Laurence Withers +Date: Sat Nov 4 19:34:37 2006 +0200 + + CreateColormap: fix return value (bug #7083) + + Return BadMatch when an unsupported visual type is given, not BadValue -- + this is correct according to the spec. + +commit 96f78e3886791b723ccd9ba40bea701603537b0c +Author: Erik Andren +Date: Sat Nov 4 19:29:49 2006 +0200 + + remove XFree86 changelogs (bug #7262) + + Without being able to tie these to specific commits, the text changelog is + useless, as well as being huge. + +commit 5a40448f2d0ac2c86c617bebe3fb649174bf0d7f +Author: Eric Anholt +Date: Tue Nov 7 15:48:05 2006 -0800 + + A couple more cases of error message before freeing strings. + +commit 05f1c302460a14c8fa9a943a12d69adcd3c30d58 +Merge: 3e7e0e3... 46af6d1... +Author: Adam Jackson +Date: Tue Nov 7 18:42:54 2006 -0500 + + Merge branch 'autoconfig-for-7.2' + +commit 3e7e0e35094d09e0e764818ed125314be75be01a +Author: Eric Anholt +Date: Tue Nov 7 14:13:23 2006 -0800 + + Report the error before freeing the error strings. + +commit 4e6e4baead6c565363abbcd9e06cc685be121596 +Author: Eric Anholt +Date: Tue Nov 7 13:13:53 2006 -0800 + + Fix build on FreeBSD after input-hotplug. + +commit 20e9144c0746943624ff77a61791b8596f3f8458 +Author: Keith Packard +Date: Tue Nov 7 12:49:28 2006 -0800 + + Add $(DIX_CFLAGS) to remaining Makefile.am files + +commit 5e946dd853a4ebc2722ae023429ce5797de3d7a6 +Author: Eamon Walsh +Date: Tue Nov 7 13:50:19 2006 -0500 + + Bug #8937: Extension setup functions not called on server resets + +commit 1dcda4f3c56214464c0b6123fea6daa69aae69fc +Author: Keith Packard +Date: Tue Nov 7 01:29:51 2006 -0800 + + Avoid dereferencing sprite.screen when Xinerama is not running. (#8925) + + With Xinerama support built into the X server but not in use, + sprite.screen is NULL and yet the SyntheticMotion + macro would dereference it. Avoid that by just passing sprite.screen + to PostSyntheticMotion which can then dereference it when Xinerama is + enabled. + + Also, define PostSyntheticMotion in dixevents.h and include dixevents.h in + getevents.c + +commit c20d3bf7533da0bf26beaf7d8c359d18edbd70e8 +Merge: 028bbdc... 3d39c02... +Author: Keith Packard +Date: Tue Nov 7 01:21:28 2006 -0800 + + Merge branch 'origin' into randr-1.2 + +commit 3d39c02fe6aaa602c52f1d4f0ea6cd3bd000cf9f +Author: Eamon Walsh +Date: Mon Nov 6 21:25:52 2006 -0500 + + More work on Bug #8875: revert previous fix and try using client argument + instead of serverClient. Also don't use totalClientSize as it is not + initialized until after the first call to InitClient. + +commit 75fe0670eb1f71144246f1c20759d58788bbee00 +Author: Eamon Walsh +Date: Mon Nov 6 15:30:25 2006 -0500 + + whitespace adjust + +commit 0539d9cf2423fc0bed6f5c413beba3080f8abd85 +Author: Eamon Walsh +Date: Mon Nov 6 15:29:17 2006 -0500 + + Bug #8875: Security extension causes Xorg to core dump on server reset + +commit aa0261a98e9d5b1349b33e2639bd83c556dd4000 +Author: Juliusz Chroboczek +Date: Mon Nov 6 02:29:49 2006 +0100 + + Improve vm86 error handling in Xvesa. + +commit 6b2c65fdd169037c6ede250d4a8fec3d29a080ae +Author: Juliusz Chroboczek +Date: Mon Nov 6 00:30:09 2006 +0100 + + Fix typo in Xvesa: incorrect reporting of DAC capabilities. + +commit 028bbdc0417173803695808ba9f48498519273a3 +Merge: 50504c6... 8deaaa3... +Author: Keith Packard +Date: Sat Nov 4 17:46:26 2006 -0800 + + Merge master back to randr-1.2 + +commit 50504c68e1d407232cf83465981b235e542ef31f +Merge: 8b87ce1... cde8806... +Author: Keith Packard +Date: Sat Nov 4 17:43:19 2006 -0800 + + Merge branch 'randr-1.2-origin' into randr-1.2 + +commit 8b87ce19741753eafbd99e7093bc3dea8f26e838 +Author: Keith Packard +Date: Sat Nov 4 17:41:25 2006 -0800 + + Allow X server to build against libdrm 2.1 + +commit 7ffbe9d232e3a4621a204448d67e434736465cbe +Author: Keith Packard +Date: Sat Nov 4 17:41:09 2006 -0800 + + Add DIX_CFLAGS to hw/vfb/Makefile.am + +commit 2db62bce0725ba2d88cbe40fc440b6bda45046f3 +Author: Keith Packard +Date: Sat Nov 4 17:40:34 2006 -0800 + + Define fbHasVisualTypes in fb.h as it is exported + +commit 8deaaa312ad7f9b492a2ae8ad17d74650112c25c +Author: Bernhard Rosenkraenzer +Date: Sat Nov 4 18:59:39 2006 +0200 + + automake: avoid use of reserved _SOURCES keyword (bug #8866) + Avoid using _SOURCES unless we're directly referencing a program or + library to be built; use _SRCS instead. Shuts automake 1.10 up. + +commit f72927d26cd112d321f7bf187df3c740b3129d22 +Author: Samuel Thibault +Date: Sat Nov 4 19:00:57 2006 +0200 + + xfree86/hurd: remove OsMouseProc (bug #5613) + Remove OsMouseProc, let the mouse driver deal with it. + +commit 0273610578485564c3c0be11b336b6554cc31b43 +Author: Samuel Thibault +Date: Sat Nov 4 19:02:04 2006 +0200 + + xfree86/hurd: add bell support, remove SERVER/LOADER defines (bug #5613) + Add no-op bell ringing support, and remove obsolete @SERVER_DEFINES@ and + @LOADER_DEFINES@ from CFLAGS. + +commit ade4bf09076d13dbf3549c0a2d987a0afe76d5c1 +Author: Samuel Thibault +Date: Sat Nov 4 19:03:13 2006 +0200 + + mesa/indirect: include byteswap.h on GNU userland (bug #5613) + Include byteswap.h on all GNU-userland systems (including with the Hurd + and FreeBSD kernels), not just Linux. + +commit 412e93349e1656c9650115328af4be0e59a66f74 +Author: Samuel Thibault +Date: Sat Nov 4 19:05:02 2006 +0200 + + kdrive: make building of Linux support conditional (bug #5613) + Only try to build Linux support on Linux. We should probably disable all + OS-dependent DDXes if we don't have a workable OS (and only build + Xephyr/Xfake), but that's future work. + +commit cde8806c2930788ba8076e94651d391e45f3ccdb +Author: Eric Anholt +Date: Fri Nov 3 16:36:34 2006 -0800 + + Don't bump the refcnt if the new mode is NULL. + +commit 97fd471a627be185bee8cda3f709cfccea3fa12d +Author: Aaron Plattner +Date: Fri Oct 27 12:36:56 2006 -0700 + + Fix standard VESA modes. + + The built-in mode timings were off slightly for the 640x480@60, 640x480@72, + and 1024x768@75 modes. + +commit 22ee2e4e1f1d9fd9ca9f25c9bf25370034b771d4 +Merge: 49a2668... bd0c829... +Author: Alan Coopersmith +Date: Fri Nov 3 12:54:56 2006 -0800 + + Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver + +commit 49a26681b2bdd95ed65c425f1fa1441d2f092a6e +Author: Alan Coopersmith +Date: Fri Nov 3 12:54:43 2006 -0800 + + Add DTrace probe points for X server <-> client communications + + See http://people.freedesktop.org/~alanc/dtrace/ for more details + +commit bd0c829654903ca45543dfa59cda967c4fafd8ac +Author: Bjorn Helgaas +Date: Fri Nov 3 18:54:06 2006 +0100 + + Do not map full 0-1MB legacy range + + If we're mapping something in the "legacy range" (0-1Mb), we shouldn't + expand the requested range to the entire 0-1Mb range. Typically this + is for mapping the VGA frame buffer, and some platforms support mmap of + the frame buffer but not the entire 0-1Mb range. + + For example, HP sx1000 and sx2000 ia64 platforms can have memory from + 0-0x9ffff, VGA frame buffer from 0xa0000-0xbffff, and memory from + 0xc0000-0xfffff. On these platforms, we can't map the entire 0-1Mb + range with the same attribute because the memory only supports WB, + while the frame buffer supports only UC. But an mmap of just the + frame buffer should work fine. + +commit c1828a8ff51c8db326c47e6710f4f42fab94fb6d +Author: Egbert Eich +Date: Fri Nov 3 18:32:48 2006 +0100 + + Fixing mach64 driver bailing out on ia64 + + Mach64 driver bails out on ia64 because it cannot map device + memory. It turns out that some bogus and unneeded code attempts + to find the root bridge of the device and fails to do so proberly + as there this host-to-pci bridge is not existant. This code has + been around for years although it completely unclear what it had + been intended for. Fixing this by eliminating the bogus code. + +commit d50fc413b39f52663b46084c28e81fc4933a7b49 +Author: Matthias Hopf +Date: Thu Nov 2 18:53:41 2006 +0100 + + Fix device path in altixPCI.c to be domain aware. + +commit 1d731fc54a2cf5d3f353d8ee1c7c4989df27f011 +Author: Matthias Hopf +Date: Thu Nov 2 18:50:15 2006 +0100 + + Add domain support to linuxPciOpenFile(). + + Loosely based on patch from David S. Miller + See also bug #2368. + +commit caaa113acf4144fd47a1ac93ca440d78d1983e54 +Author: Matthias Hopf +Date: Thu Nov 2 18:38:45 2006 +0100 + + Fixing domain support for ia64 + + ia64 specific functions + defines. + Still uses /proc interface for some scaning code. + Based on code from Egbert Eich . + +commit 16c5043fc0c84b14323cd211c2645106455ac320 +Author: Matthias Hopf +Date: Thu Nov 2 18:22:09 2006 +0100 + + Fix 2 warnings. + +commit 072c022e731c3aadf34096f16364e29df47280d2 +Author: Matthias Hopf +Date: Thu Nov 2 17:58:19 2006 +0100 + + Fix obviously wrong boundary checks + cleanup unused vars. + + Also disable compilation of code that is no longer used anywhere in the whole + Xserver tree. + +commit 5afc6c1a14fea2966017493b045fa7209faeb8eb +Author: Matthias Hopf +Date: Thu Nov 2 15:42:03 2006 +0100 + + Added linux 2.6 compatible domain aware device scanning code. + + Additional scanning code uses the /sys interface of 2.6 kernels. + Cleaned up the use of tags and already split domain/bus/dev/fn. + +commit 6319f7d713971f70f06166480f069eca3bcace36 +Author: Egbert Eich +Date: Thu Nov 2 12:50:52 2006 +0100 + + Make int10 fully domain aware. + +commit f4dd2665b0f9aa9c00a5152c73bc72cb7514eeb5 +Author: Matthias Hopf +Date: Thu Nov 2 12:36:12 2006 +0100 + + Added missing domain stripping in already domain aware code. + +commit 46901063e8edc82b67989f4e5eec39d17c67dc98 +Author: Matthias Hopf +Date: Thu Nov 2 12:25:03 2006 +0100 + + Build with -D_PC on ix86 only. + +commit 543b397277d1f03b8091e44812010abcd5d80102 +Merge: 4056e6e... 645d057... +Author: Keith Packard +Date: Thu Nov 2 19:00:35 2006 -0800 + + Merge branch 'origin' into randr-1.2 + +commit 037f23e6f8fbe6e6fc8e71ed21958fc553df72d0 +Author: Alan Coopersmith +Date: Thu Nov 2 18:30:58 2006 -0800 + + Convert Xprt DDX to new motion history api + +commit 7dc54a40e900cbea1e509620623b091d54a3c2d1 +Author: Alan Coopersmith +Date: Thu Nov 2 16:38:47 2006 -0800 + + Remove references to xf86Info.kbd* from solaris code + +commit e46f7f78b362e76f5a553184e3f5ec7e109aa39d +Author: Alan Coopersmith +Date: Thu Nov 2 16:38:12 2006 -0800 + + sun_bell.c needs to #include "xf86_OSlib.h" + +commit 58bf9a142d1957f4d77038ee4ce7b1116b1f7955 +Author: Alan Coopersmith +Date: Thu Nov 2 14:43:02 2006 -0800 + + PostSyntheticMotion needs to be extern, not static, since it's in getevents.c + +commit 1ecd45fb8e4250fb51daa2bdf1a960af0f8b53fb +Author: Daniel Stone +Date: Thu Nov 2 04:51:03 2006 +0200 + + Makefile.am: add config to DIST_SUBDIRS as well + +commit 01afa533aa872d1a101a41153f95d800e68fea3e +Author: Daniel Stone +Date: Thu Nov 2 04:32:37 2006 +0200 + + xfree86/os-support: axe more unused files + +commit 57c1409151cb1f6e0e528fb92ebda58f86f12c1a +Author: Daniel Stone +Date: Thu Nov 2 04:21:06 2006 +0200 + + xfree86/os-support: remove unused file from dist + +commit de5a4c63747a417cdece919f4fb5a4004a3ee7bb +Author: Daniel Stone +Date: Thu Nov 2 04:18:33 2006 +0200 + + xkb: note that we allow full xi interaction + We now allow maps to be set (etc) on different keyboards, so stop putting + XkbXI_KeyboardsMask in unsupported. + +commit 1d65429a9e03871969552d0c31b022546cc46b12 +Author: Daniel Stone +Date: Thu Nov 2 04:12:55 2006 +0200 + + xfree86: don't attempt to enable and disable non-DIX devices + Don't try to enable and disable devices with no entry in the DIX, such as + the evdev brain. + +commit 64139c1950ea825c0a0124abc5f88499e91f797f +Author: Daniel Stone +Date: Thu Nov 2 03:22:09 2006 +0200 + + bump to 1.2.99.0 + +commit 18c246a13b887b865de6a17e6cd1c259b9bc383d +Merge: 794f2e7... 4843d82... +Author: Daniel Stone +Date: Thu Nov 2 03:21:37 2006 +0200 + + Merge branch 'input-hotplug' + +commit 4843d823f4d38d8bd468ce3a8feddbff229ed416 +Merge: ba9f513... a7b944f... +Author: Daniel Stone +Date: Thu Nov 2 03:18:13 2006 +0200 + + Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver into input-hotplug + +commit ba9f5138fc32a7a7b97bcf941bc92751b7c6c2c0 +Author: Daniel Stone +Date: Thu Nov 2 03:16:10 2006 +0200 + + xfree86: allow starting with no input devices + Add a server flag (AllowEmptyInput), which will inhibit adding the + standard keyboard and mouse drivers, if there are no input devices in the + config file. + +commit be291a6d9764cf29a7d9a8114d47d9f41ce856e9 +Merge: a2d6242... 6fdfd9d... +Author: Daniel Stone +Date: Thu Nov 2 03:15:25 2006 +0200 + + Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver into input-hotplug + +commit a7b944f0d96c3e0e15e75378a04def1ac96089fb +Author: Alan Coopersmith +Date: Wed Nov 1 16:17:49 2006 -0800 + + If getpeerucred() is available, include pid & zoneid in audit messages too + +commit fbfb35189ef6666707097704b43e052cb2f919ae +Author: Alan Coopersmith +Date: Wed Nov 1 15:11:48 2006 -0800 + + Bug #1997: AUDIT messages should contain uid for local accesses + + + +commit a2d6242106bb3a440faa9cad157e0120dbfa7b6e +Author: Daniel Stone +Date: Thu Nov 2 00:46:33 2006 +0200 + + kdrive:remove Change{Keyboard,Pointer}Device + This was removed in the DIX, so just axe it. + +commit d9a5e3e964b6c91fbca88b50674fce9660b972a4 +Author: Daniel Stone +Date: Thu Nov 2 00:45:23 2006 +0200 + + XkbCopyKeymap: be more careful with levels, allocate compat/geom + Take various extra precautions with copying levels across (thanks Chris + Lee for a gdb session), including allocating when we don't already have a + coherent map. + Only free type components if they're present. + Allocate geometry and compat components if we don't already have them in + the dest map. + +commit 6fdfd9dad91d7b7aa292f8c4d268dd27c34de8d3 +Author: Eric Anholt +Date: Wed Nov 1 14:29:59 2006 -0800 + + Fix several cases where optimized paths were hit when they shouldn't be. + + This fixes a number of rendercheck cases. + +commit 40f84793bca40dcc6883d51aefa1bda44bd1ac61 +Author: Alan Coopersmith +Date: Wed Nov 1 14:34:46 2006 -0800 + + Propogate $LIBS for xtrans, clock_gettime, libm, etc. to libs used for each server + +commit d7d931abe01a8cf555b027f2bcfcccd5e9053e52 +Author: Daniel Stone +Date: Wed Nov 1 23:48:58 2006 +0200 + + configure.ac: remove check for rate/period + Keyboard stuff is now handled in the kbd driver. + +commit 81728558a044fdde0e1d63da7b6314755f77296e +Author: Daniel Stone +Date: Wed Nov 1 23:10:26 2006 +0200 + + input: add non-keyboard bell ringing function + Add a generic 'ring the bell' function (console bell on Linux and BSD, + /dev/audio on Solaris), and add DDX functions for this. Make this the + core keyboard's bell. + Port Xvfb and Xnest to this. + Port XFree86 to this, with OS-specific hooks for Linux, BSD, and Solaris + taken from foo_io.c in the old layer. + +commit 3df454719f9cbf6a046cb7458019ec621b3b42ee +Author: Daniel Stone +Date: Wed Nov 1 23:02:57 2006 +0200 + + kdrive: add KdRingBell prototype + +commit 4056e6e79a4e37101d298ae29139c83d3816368b +Author: Keith Packard +Date: Wed Nov 1 00:29:46 2006 -0800 + + Move physical size from mode to output. + + Modes can be shared across different sized monitors this way. + + Also caught some missing byteswapping and an incorrect return type. + +commit c03311a1e78daa291477a67b1bb7206772108c5d +Author: Alan Coopersmith +Date: Tue Oct 31 16:05:48 2006 -0800 + + Fix automake error: BUILT_SOURCES was defined multiple times on Solaris + +commit a2434ec5f3c9dc79d1f05c2d704a82a766718ed4 +Author: Alan Coopersmith +Date: Tue Oct 31 15:57:59 2006 -0800 + + Make _POSIX_C_SOURCE hack work with Solaris headers + + Solaris headers are very literal - if you ask for POSIX_C_SOURCE 199309L, + they limit to only the functions in that standard and no more, unless you + also specify __EXTENSIONS__ to allow functions beyond the standard base. + +commit 645d0576205532a3610ae351267d5b84d76236bd +Author: Matthieu Herrb +Date: Sun Oct 29 18:19:56 2006 +0100 + + Handle building in a separate objdir + +commit 59584c375f4e4b2670a92002ecb7a78a0bc50cce +Author: Matthieu Herrb +Date: Sun Oct 29 17:49:46 2006 +0100 + + kill GNU-make'ism. + +commit 0107320fac0913aae2cb169992e31c670b4bd2f7 +Merge: 06b6b97... a34446f... +Author: Thomas Hellstrom +Date: Sun Oct 29 15:23:35 2006 +0100 + + Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver + +commit 06b6b971d065226b983ba25da7ea8236ec37df04 +Author: Thomas Hellstrom +Date: Sun Oct 29 15:22:37 2006 +0100 + + Make sure we have 64-bit file-offsets in libdrm. + +commit 644ee2434a4e09f5baea00a486911f8c24b9a261 +Author: Daniel Stone +Date: Sun Oct 29 03:52:11 2006 +0300 + + kdrive: avoid null dereferences + Avoid jumping into NULL pointers for OS or card functions which do not + exist. + +commit 738d2e88171bcce8782d670a1cda9a1d941d7977 +Author: Daniel Stone +Date: Sun Oct 29 03:48:02 2006 +0300 + + kdrive: move bell ringing into an OS function + Move the bell into an OS function, and use that if it's declared; else, + fall back to using the driver's function. + Remove the Linux keyboard bell function; just move it into the OS layer. + Use named initialisers when converting the old structures, and eliminate + unused functions. + +commit 96e32805d12fc36f0fa0926dbfb0dd8a5cadb739 +Author: Daniel Stone +Date: Sun Oct 29 03:43:34 2006 +0300 + + Xi: disallow changing core keyboard and pointer + Just short-circuit the change core keyboard/pointer requests. + +commit 68f595ca6c7883e030947b7f95c50e92aa733f2b +Author: Daniel Stone +Date: Sun Oct 29 03:41:34 2006 +0300 + + GetTimeInMillis: use correct units for clock_gettime + Make sure we're treating the nanoseconds as a long, not an int, so we + don't overflow. + +commit 51a06b3c44509c72279b5cfcf2b52b9a35c461b0 +Author: Daniel Stone +Date: Sun Oct 29 03:40:57 2006 +0300 + + WaitForSomething: only rewind when delta is more than 250ms + Only rewind time when we're more than (original delta + 250ms) away from + executing the timer. + When we're walking the timer list, use a goto to iterate all of them from + the start again, since timers may drop out of the list. + Don't bother trying to be smart in TimerSet, we'll pick it up in + WaitForSomething anyway. + +commit a34446f5b3d90714969a90583c49cb1eae1c9651 +Author: Eamon Walsh +Date: Fri Oct 27 13:43:43 2006 -0400 + + Add missing file to list in Makefile.am + +commit 92d04e746bd9b8ad3ee217c165ace20468e079cf +Author: Thomas Hellstrom +Date: Fri Oct 27 18:26:30 2006 +0200 + + Import libdrm functions for the drm memory manager. + +commit 196c5836f463c28f633bbba847f59acd5935359d +Author: Daniel Stone +Date: Fri Oct 27 01:27:31 2006 +0300 + + CoreKeyboardProc: annotate with FIXME + Setting an empty keymap by default isn't wildly useful. + +commit f9a1e456f8a4eaa1a9c71fd0fe5231140975c22d +Author: Daniel Stone +Date: Fri Oct 27 01:25:39 2006 +0300 + + CoreKeyboardProc: don't leak keymap and modmap + SetKeySymsMap does a copy here, so try not to leak them. + +commit a5be65401769fabcb5001dc63035c69f9e4a2712 +Author: Daniel Stone +Date: Fri Oct 27 01:25:21 2006 +0300 + + mieqEnqueue: only compare DEVICE_BITS of deviceid + Only compare DEVICE_BITS of the two deviceids, so we don't decide that + a valuator event isn't for us, because (id | MORE_EVENTS) != id. + +commit 85212eb504f860b054eb0f0a5029fed86cb8d1c0 +Author: Daniel Stone +Date: Fri Oct 27 01:23:58 2006 +0300 + + getValuatorEvents: make sure we put MORE_EVENTS in the right places + Make sure we put MORE_EVENTS in with the device id if there are, in fact, + more valuator events coming. + +commit 794f2e7291ccb4e48f9fbfc8f08302e3aac0f79f +Author: Myron Stowe +Date: Thu Oct 26 20:38:58 2006 +0300 + + xfree86: re-enable chipset-specific drivers for Linux/ia64 + Re-enable chipset-specific support for Linux/ia64, by linking in + lnx_ia64.c. + +commit 8c0556e7cb1de8c387ddd886a03a8f8afff1fd0e +Merge: cdc8a4b... 004d00e... +Author: Daniel Stone +Date: Thu Oct 26 15:21:22 2006 +0300 + + Merge branch 'master' into input-hotplug + +commit 004d00e6689f452fc9fdf91f5ffc6d6aed697d54 +Author: Daniel Stone +Date: Thu Oct 26 01:10:08 2006 +0300 + + GetTimeInMillis: simplify monotonic test + We don't actually need to get the CPU clock ID, which means we don't need + the monotonic_usable test. Since there's now only one branch, the + compiler will treat that as likely, so we don't need xproto 7.0.9 anymore. + + The fallthrough to gettimeofday() is preserved. + +commit cdc8a4b7b2f099b8860a54c5c9f488e6f7c4913a +Merge: 3da918a... d285833... +Author: Daniel Stone +Date: Thu Oct 26 00:28:30 2006 +0300 + + Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver into input-hotplug + +commit d285833290316cb5dd1e7f1e52c96be3e9cf21cd +Author: Daniel Stone +Date: Wed Oct 25 23:57:00 2006 +0300 + + GetTimeInMillis: spuport monotonic clock + Add support for CLOCK_MONOTONIC from clock_gettime, and use that in + GetTimeInMillis() if available, falling back to the old gettimeofday() + implementation. + + This is _slightly_ faster on some 64-bit architectures, and _slightly_ + slower on others (though barely measurable). + +commit d3e57faffee63df1424a209d0418d3a712f91ae6 +Author: Daniel Stone +Date: Wed Oct 25 23:55:43 2006 +0300 + + WaitForSomething: allow time to rewind + If time rewinds dramatically, reset all the timers to fix their expiry. + +commit e21604914dccece6bc64c69b55512d1f1a969235 +Author: Keith Packard +Date: Wed Oct 25 09:48:23 2006 -0700 + + Merge master back in and clean up some unfinished code (closes 8745) + +commit becbda6d519a11c2c211afb8d46f9ea1a2676bc3 +Author: Michel Dänzer +Date: Wed Oct 25 11:39:27 2006 +0200 + + Fix test for Option "IgnoreABI". + + This option has plenty of potential for wasting the time of bug triagers + without pretending it's always on. + +commit 59511974db843fa7e11133894cfc10c20fdaf60f +Merge: 054f8cd... 598ac7a... +Author: Keith Packard +Date: Tue Oct 24 17:26:20 2006 -0700 + + Merge branch 'master' into randr-1.2 + +commit 598ac7a83698327b607084abaebcbd22f8d25fbb +Merge: 828c34e... 948a97b... +Author: Keith Packard +Date: Tue Oct 24 17:23:12 2006 -0700 + + Merge branch 'origin' + +commit 828c34e83ccdf3bcd2844d5af8b0cac4164b04ab +Author: Keith Packard +Date: Tue Oct 24 17:23:02 2006 -0700 + + Byte swap RRSelectInput enable flags. + +commit 3da918a16c8908fdfaf89f2a1bcaec19e01528a9 +Author: Daniel Stone +Date: Wed Oct 25 02:22:07 2006 +0300 + + mipointer: remember to update pointer location + Update pointer location so it doesn't get quickly reset by the next + pointer update. + +commit aabc087998e680c2fcf0ebc1c5022c1fe8f58f0c +Author: Daniel Stone +Date: Wed Oct 25 02:21:39 2006 +0300 + + GetPointerEvents: always ensure correct number of events + Ensure correct number of valuator events are returned, and that we always + increment events correctly. + +commit 65cd5aa4d754624566c2263015f1a018d137fce1 +Author: Daniel Stone +Date: Wed Oct 25 01:12:45 2006 +0300 + + kdrive/input: remove unnecessary #ifdef XINPUTs + Xi is now mandatory, so don't bother with the ifdefs. + +commit 0514d53e10b3521bb708a9cbde4bab525248eadb +Author: Daniel Stone +Date: Wed Oct 25 01:10:44 2006 +0300 + + xfree86: remove motion history handling + Remove motion history handling, as we now deal with this in the DIX. + +commit b1debebf8fe20ded20ba27e871fd1a6a9de029e3 +Author: Daniel Stone +Date: Wed Oct 25 01:10:20 2006 +0300 + + mi: remove mi motion history + This is now unneeded as we do motion history in the DIX. + +commit b9e180e632d04bf685ade9e32bd0b20882794486 +Author: Daniel Stone +Date: Wed Oct 25 01:09:19 2006 +0300 + + port all users to the new DIX motion history API + Port KDrive, Xvfb, and Xnest, as well as the virtual core devices, to the + new motion history API. Make GetPointerEvents also update the history. + +commit 5b38eb69cdaa154791c7f74e35dbe4d3256b19bd +Author: Daniel Stone +Date: Wed Oct 25 01:08:29 2006 +0300 + + dix: add motion history support + Add motion history support (sort of based on the XFree86 DDX's + implementation) to the DIX. + +commit 11fb58be77ac163844e494b2b0a260cf28a7ecd1 +Author: Daniel Stone +Date: Wed Oct 25 01:07:36 2006 +0300 + + miscellaneous warning fixes + Use the correct type for time, and fix the mi prototype of EnqueueEvent. + +commit 2a74b8a91da1a98669993078f7fe9081f2d743ce +Author: Daniel Stone +Date: Wed Oct 25 01:04:53 2006 +0300 + + xfree86: re-bump input abi to 1.0, yet again + +commit 37d1fffe79c35ada056ce9a56292c000014fe48a +Author: Daniel Stone +Date: Tue Oct 24 23:06:57 2006 +0300 + + inputstr: try to keep device structs the same size + Try to make sure DeviceIntRec and friends stay the same size, + regardless of whether or not XKB is enabled. + +commit 9f9ac01a819ee96fb5be5d7d346c91f461bf3979 +Author: Daniel Stone +Date: Tue Oct 24 23:01:05 2006 +0300 + + inputstr: fix indentation + +commit 0cd6a3d8efb5cc1ce4f85ab95bcdf4fb66c7245d +Author: Daniel Stone +Date: Mon Oct 23 06:56:07 2006 +0300 + + xfree86/input: add proximity support, free valuators + Re-add support for proximity events, and remember to both va_end our + varargs, and free our valuators. + +commit cccf7ae0ff24d0c84b5144c457f3f86bbbc36e12 +Author: Daniel Stone +Date: Mon Oct 23 06:55:21 2006 +0300 + + GetProximityEvents: add (untested) function + Add untested first guess at what GetProximityEvents should look like. + +commit 35fa4ac12b3da33f81e2a12bc9661ed075f323ed +Author: Daniel Stone +Date: Mon Oct 23 06:23:45 2006 +0300 + + GetPointerEvents: break into separate functions + Break out clipAxis, clipValuators, and getValuatorEvents, into + separate functions, to be used by the proximity event code. + +commit a7c2d9a15dc2ff253bb69c3b0738ad993521b9c7 +Author: Daniel Stone +Date: Mon Oct 23 06:08:27 2006 +0300 + + kdrive: numerous warning fixes + +commit c8f76fb3a473a022d497bd0acd6c84f58fc6efbe +Author: Daniel Stone +Date: Mon Oct 23 05:12:15 2006 +0300 + + xfree86/input: disallow pointer device changes, fix drag event calculation + Don't allow users to change the core pointer. + Fix xf86SendDragEvents to check the device button state, not the core + pointer's. + Remove unused xf86CheckButton. + +commit c5b5b046e86b159a9d32451308f38246cc4587f7 +Merge: fab1d37... 948a97b... +Author: Daniel Stone +Date: Mon Oct 23 02:58:30 2006 +0300 + + Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver into input-hotplug + +commit fab1d37ecbeee9777ad1485b0cc62b55042d5014 +Author: Daniel Stone +Date: Mon Oct 23 02:57:00 2006 +0300 + + xfree86/options: don't blindly dereference NULL pointers + Sure, conf_idev should be initialised, but if it's not, try to make the + best of a bad situation. + +commit 523fe64ba16cf7a40f4095432d81300726d83e8d +Author: Daniel Stone +Date: Mon Oct 23 02:56:28 2006 +0300 + + kdrive/lots of DDXes: make stubs use KdOsAddInputDrivers() + In theory, removing LinuxPciScan should make these drivers OS-independent. + +commit 57f98e2b72d5c7fea93a9f6da86228ffb4856bf3 +Author: Daniel Stone +Date: Mon Oct 23 02:55:41 2006 +0300 + + kdrive/tslib: port to new absolute API, remove debugging + Port to new absolute device (not touchscreen) API, and remove some + leftover debugging. + +commit a6dc629052f0ad509cfa30e98217043a63c09552 +Author: Daniel Stone +Date: Mon Oct 23 02:54:59 2006 +0300 + + kdrive/os: add KdOsAddInputDrivers + Add KdOsAddInputDrivers, which adds all relevant input drivers. + + Could possibly be refactored to KdAddInputDrivers, which called through + OsFuncs to a new function, if it existed. + +commit ac240b00ff6fc354c1aa641406ae8b49244c0b8b +Author: Daniel Stone +Date: Mon Oct 23 02:54:07 2006 +0300 + + kdrive/input: use Absolute instead of Touchscreen + Adjust to suit Zepheniah's new absolute device API. + +commit b1ba4b3e8ad427af1fa8618b0bd839f741ec2ce3 +Author: Daniel Stone +Date: Mon Oct 23 02:53:15 2006 +0300 + + kdrive/neomagic: include vesa.h, use DebugF + +commit 29f28dd1a8a7ed07e945a67946e3510f4b32d12a +Author: Daniel Stone +Date: Mon Oct 23 02:52:52 2006 +0300 + + configure.ac: add XSERVER_LIBS to XNEST_LIBS + +commit 2f33f4065d89ae2b6fdda43c7105d72f89920cae +Author: Daniel Stone +Date: Mon Oct 23 02:52:35 2006 +0300 + + Xnest: port to new input API + Port Xnest to Get{Pointer,Keyboard}Events, plus the new mieq API. + +commit 08928afb0500d46b0caa0a1d1244dee2ed80e6a0 +Author: Daniel Stone +Date: Mon Oct 23 02:51:52 2006 +0300 + + Xnest: disable XKB, reshuffle code + Disable XKB, as we can't yet use it; move Composite disabling to + ddxInitGlobals, along with XKB. + +commit cd3b16a57efaf89108054f18a94c91e2dd74fafa +Author: Daniel Stone +Date: Mon Oct 23 02:51:13 2006 +0300 + + Xvfb: port to new mieq API + +commit bf4df9b73f0c1a84093aaf9a2e2cbc56fb341c60 +Author: Daniel Stone +Date: Mon Oct 23 02:50:53 2006 +0300 + + include: move POINTER_* flags from inputstr.h to input.h + Given they're just numeric constants, they should be included in + input.h, not inputstr.h. + +commit 4dd91c45abea9fb561a5acb10290e29487df6722 +Author: Daniel Stone +Date: Mon Oct 23 02:50:03 2006 +0300 + + miinitext: Xi and XKB are not hardware-only extensions + Xi is now a required extension, and XKB can be used without hardware, + so include them both when NO_HW_ONLY_EXTS is defined. + +commit 562096a012f4bb8f44d5ec6320a32f4010c189e4 +Author: Daniel Stone +Date: Mon Oct 23 02:49:22 2006 +0300 + + XkbCopyKeymap: increment shapes and outlines when copying + Remember to increment the source and destination shapes when copying, + instead of just endlessly copying the first one. + +commit eec182259112fba240751f974f7e5ca09fce8b9d +Author: Daniel Stone +Date: Mon Oct 23 02:48:30 2006 +0300 + + dix/getevents: move SyntheticMotion to getevents.c + Mostly, this is just a cheesy hack to ensure that getevents.o gets + included when linking. Sigh. + +commit bc701a14292da5abfb601e3a040651a74f46df8f +Author: Daniel Stone +Date: Mon Oct 23 00:08:32 2006 +0300 + + dix/getevents: cosmetic cleanups, remove keymap copy from GKVE + Remove keymap copy from GetKeyboardValuatorEvents, as + SwitchCoreKeyboard now takes care of this for us. + Remove unused variable and function prototype. + Update comments to be as informative as possible. + +commit b03e2f7029506640a8fe5cb88818b329c23503ff +Author: Daniel Stone +Date: Sun Oct 22 19:56:49 2006 +0300 + + xi: fix NIDR return yet again + For a one-line function, it was pretty broken. + +commit 90de7ce25a84cfe6c6790f9af2bc2399d25b9b9c +Author: Daniel Stone +Date: Sun Oct 22 19:54:36 2006 +0300 + + xi: fix return type for NIDR + +commit f46dc272913ffb6b5b234a7ec6f4ba5cae44a831 +Author: Daniel Stone +Date: Sun Oct 22 19:51:35 2006 +0300 + + xi: add NewInputDeviceRequest to stubs + +commit 31a6307b7ba5adaa96deb8101ddfcda0262f537d +Author: Daniel Stone +Date: Sun Oct 22 19:49:31 2006 +0300 + + xi: change DEVICE_TOUCHSCREEN to ABS_{AREA_CALIB} for stubs + +commit eae6594d03a606ddf1f433b5897b5938aa940c1e +Author: Daniel Stone +Date: Sun Oct 22 16:39:44 2006 +0300 + + Xi: swap control in DevicePresenceNotify + +commit be21630164e865eca72ff2a686a38ae4e30fd79c +Author: Daniel Stone +Date: Sun Oct 22 16:33:02 2006 +0300 + + dix, Xi: make use of deviceid in DevicePresenceNotify + Use the deviceid and control fields in DevicePresenceNotify since + the last push to inputproto to send a DPN whenever a control changes + on a device. + +commit f08b6b2367705cb5b60e996e6328197430bf1919 +Author: Daniel Stone +Date: Sun Oct 22 12:30:02 2006 +0300 + + kdrive: change DEVICE_TOUCHSCREEN to DEVICE_ABS_{CALIB,AREA} + +commit 77e724585f6c53feb55475b94d8cfcb6acf1159b +Author: Daniel Stone +Date: Fri Oct 20 00:44:46 2006 +0300 + + minor formatting fixes + +commit 948a97b97e93cee05a23f1f1ae699c5e181bc8ce +Author: Drew Parsons +Date: Sat Oct 21 23:09:22 2006 +1000 + + Minor typo fix to xorg.conf man page. + +commit 04554a3adcddc32de5fdb0b3122da0bcdd4c24a9 +Author: Drew Parsons +Date: Sat Oct 21 22:06:43 2006 +1000 + + Minor typos in Xserver man page. + +commit e26a494f417c3c700636ee68892c3015b2e0f27a +Merge: 736b0d5... aeba855... +Author: Zephaniah E. Hull +Date: Sat Oct 21 04:26:14 2006 -0400 + + Merge branch 'input-hotplug' of git+ssh://git.freedesktop.org/git/xorg/xserver + +commit 736b0d5078597abbda80444deef852879260af90 +Author: Zephaniah E. Hull +Date: Sat Oct 21 04:24:49 2006 -0400 + + DEVICE_TOUCHSCREEN becomes DEVICE_ABS_CALIB. + + Update the DEVICE_ABS_CALIB stuff to include the new elements. + + New DEVICE_ABS_AREA support. + + dev->touchscreen becomes dev->absolute, with _CALIB and _AREA stuff in it. + + Update xfree86 to compile with this, kdrive needs an update too. + +commit edd5f1745461f995670969cb736d1569ca94643f +Author: Carl Switzky +Date: Thu Oct 19 17:30:54 2006 -0700 + + Add ast driver/device info to Xorg server & config utilities + +commit aeba855b07832354f59678e20cc29a085e42bd99 +Author: Daniel Stone +Date: Fri Oct 20 00:30:28 2006 +0300 + + move keymap copy to event processing, from enqueuing + + Move the keymap copying to event processing time (in + ProcessInputEvents), instead of being at event enqueuing time. + Break SetCore{Pointer,Keyboard} out into separate functions. + Change mieqEnqueue to take a device pointer, that asks for the + _original_ device associated with this event. + +commit a8d3dad9d9f2b9053843e655abe463a68ba8dcb7 +Author: Daniel Stone +Date: Fri Oct 20 00:28:40 2006 +0300 + + xi: add DEVICE_ENABLE control + + Add DEVICE_ENABLE control, which allows runtime enabling and disabling + of specific devices. + +commit b0780312d80ea4af0136227f90fdd7ada3db71c5 +Author: Alan Coopersmith +Date: Thu Oct 19 13:51:53 2006 -0700 + + Pre-release message should tell users to check git, not CVS, for updates + +commit c5dc997baf57ffa08025efadbbaf761296ce4bc4 +Author: Joshua Baergen +Date: Thu Oct 19 11:14:26 2006 -0700 + + Create xorg.conf.example (Gentoo bug #138623). + +commit d029c8f1b72019446a5c873f55ffa43504b03dfb +Author: Alan Coopersmith +Date: Wed Oct 18 18:11:06 2006 -0700 + + Use getisax() instead of asm code to determine available x86 ISA extensions on Solaris + +commit a8a0abdbea0573c861a5af9d58f3ce66790455ca +Author: Daniel Stone +Date: Wed Oct 18 10:59:07 2006 +0300 + + config/dbus: always unref the connection, not close + +commit 80642f37d40216035786eaf490952d16f6b5f597 +Author: Adam Jackson +Date: Tue Oct 17 14:53:28 2006 -0400 + + Stop building xorgcfg by default. + +commit 5e17cde27b064174584d478130b0f95dcef78deb +Author: Matthias Hopf +Date: Tue Oct 17 17:06:44 2006 +0200 + + StorePixels() macro could create invalid *x++=*x... code - fixed. + +commit 205c6788d7a34704e36b23f1a93d89e9b986266a +Author: Daniel Stone +Date: Mon Oct 16 23:48:09 2006 +0300 + + config/dbus: properly initialise vtable + + Properly initialise the vtable, so we don't end up with an unregister_function + pointing to god knows where. + +commit 85ac2f16abe9f6e88b4e71609da334d336a9a600 +Author: Alan Hourihane +Date: Mon Oct 16 12:39:05 2006 +0100 + + Small modification to blocking signals when switching modes. + +commit 0901eec87ee9f3a2a067695bdbd569ff42149879 +Author: Michel Dänzer +Date: Sun Oct 15 16:57:09 2006 +0200 + + Fix __glXDRIbindTexImage() for 32 bpp on big endian platforms. + +commit a232693c8c2a206aac47c07b133c071938204e0b +Author: Michel Dänzer +Date: Sun Oct 15 16:48:59 2006 +0200 + + Add per-drawable Xv colour key helper function. + + This allows overlay Xv adaptors to work slightly better with compositing + managers. + + Bump the video driver ABI minor so drivers only need to check for this at build + time. + +commit 5563861ab7e56ec891cfce6b34af43fec53ccee3 +Author: Alan Coopersmith +Date: Fri Oct 13 19:05:28 2006 -0700 + + Make sure xorgcfg files are included even when dist made with --disable-xorgcfg + +commit e1dd1904c6c7ce33f347d822272831d54a6497c8 +Author: Alan Coopersmith +Date: Thu Oct 19 13:51:53 2006 -0700 + + Pre-release message should tell users to check git, not CVS, for updates + +commit 62d24097932708fbbb62a23614fe63b4b7acf3bd +Author: Joshua Baergen +Date: Thu Oct 19 11:14:26 2006 -0700 + + Create xorg.conf.example (Gentoo bug #138623). + +commit 357b37b3826fa6e9878c0bd895164259c2ed3c0d +Author: Alan Coopersmith +Date: Wed Oct 18 18:11:06 2006 -0700 + + Use getisax() instead of asm code to determine available x86 ISA extensions on Solaris + +commit 1b1698af41b9038d9f9dbf521737d0baab5a2237 +Author: Zephaniah E. Hull +Date: Wed Oct 18 04:57:22 2006 -0400 + + Pass SetDeviceValuators down to the driver. + NOTE: This changes the LocalDeviceRec struct, which breaks input drivers. + +commit 5eca750fe2f3f243fb352271ad8da196af0cb16a +Author: Adam Jackson +Date: Tue Oct 17 14:53:28 2006 -0400 + + Stop building xorgcfg by default. + +commit df979b75c8cd8a7e0566aea58031bb9b8f5cd3d3 +Author: Matthias Hopf +Date: Tue Oct 17 17:06:44 2006 +0200 + + StorePixels() macro could create invalid *x++=*x... code - fixed. + +commit d430e76a161c963169067875c3654f5fd8f42b19 +Author: Alan Hourihane +Date: Mon Oct 16 12:39:05 2006 +0100 + + Small modification to blocking signals when switching modes. + +commit 6dd4fc4652f942724039dc2317c560ea7276ab59 +Author: Daniel Stone +Date: Mon Oct 16 00:22:00 2006 +0300 + + xkb: fix virtual modmap size computation + Compute virtual modmap size bounded by nVModMapKeys-1, rather than + nVModMapKeys. + + This is sort of a best guess. The other way seems a little more + logical, but also leads to segfaults pretty quickly if you hammer + GetMap hard enough. So let's try this one. + +commit a484ba15277e66e7ef9b21b238dcbf760695bc63 +Author: Daniel Stone +Date: Sun Oct 15 23:47:34 2006 +0300 + + XkbCopyKeymap: copy server vmods, and name atoms + Copy server->vmods, and all the atoms in names. + +commit ad355fecee3965be576596aeed5da54d776edf1d +Author: Daniel Stone +Date: Sun Oct 15 21:59:06 2006 +0300 + + xkb: make sure we set the map on the right device, not necessarily core + Forgot that all XKB requests took a device spec: the comparison of + 'if working on the core keyboard, does this device send core events; or, + is this device the core keyboard?' was broken. Instead, what we want is + 'if working on the core keyboard, does this device send core events; or, + is this device the one we're working on?'. + +commit 4ae7745a0dc86de6346409a69c1e396e0b954514 +Author: Daniel Stone +Date: Sun Oct 15 21:48:01 2006 +0300 + + xfree86 input: always open devices on NewInputDeviceRequest + +commit acd8419948003032056a56d46adbef7c35e7739c +Author: Daniel Stone +Date: Sun Oct 15 20:42:31 2006 +0300 + + config: unref connection, don't close it + Just unref the connection instead of explicitly closing it (thanks, Rob + McQueen). + Add a commented-out unregister_object_path call: unfortunately, when we + call it, libdbus segfaults. But if we don't unregister the path, we + can't register it again. So regenerations are broken either way, but a + little less violently like this. + +commit fc9b5f84b244ea08480b73bd15ac919b875800fb +Author: Daniel Stone +Date: Sun Oct 15 20:01:01 2006 +0300 + + dix/devices: add devices in proper forward order + Add devices in forward order with the normal linked list convention. + Previously, AddInputDevice would add all the devices in reverse order to + off_devices, before they were added again in reverse order to devices with + EnableDevice. + This just makes both work in forward order, which provides the ordering as + you'd expect when hotplugging devices (i.e. adds them to the head, not the + tail). + +commit ec35e7198debf938f1115f584e675ce5995743e3 +Author: Daniel Stone +Date: Sun Oct 15 19:44:49 2006 +0300 + + config: add replies and dbus api documentation + Add replies, which use standard X error values, to the two currently-supported + input configuration requests. + Document the D-BUS API we use. + Make sure we free everything when we encounter an error. + Add a _source option to all incoming requests, noting that it came from a + client. + Reject all requests to add a device where an option name contains an + underscore. + +commit 7e4717683d6c08d1e490a60b7493a94bbc57bf8d +Author: Michel Dänzer +Date: Sun Oct 15 18:12:28 2006 +0200 + + exaDrawableDirty: Fix initialization of BoxRec. + + This will hopefully fix the partial window corruption experienced by some + people. + +commit 3ad1642f1bbaa5f96558cdf3384b40f7122f8781 +Author: Michel Dänzer +Date: Sun Oct 15 16:57:09 2006 +0200 + + Fix __glXDRIbindTexImage() for 32 bpp on big endian platforms. + +commit f9bfee50981006a2c58d3f73e2b0d123bb2a41b7 +Author: Michel Dänzer +Date: Sun Oct 15 16:48:59 2006 +0200 + + Add per-drawable Xv colour key helper function. + + This allows overlay Xv adaptors to work slightly better with compositing + managers. + + Bump the video driver ABI minor so drivers only need to check for this at build + time. + +commit a05044cfc14a8bc6cc31236dcecada60bec09924 +Author: Daniel Stone +Date: Sat Oct 14 22:14:56 2006 +0300 + + xkb: better support of XkbDfltXIId + XKB.h specifies that XkbDfltXIId should be used where the client doesn't + care about the device identifier. We take this to mean core devices, + where practical. + +commit 4d8030076ed1a7680bdfcb7b89af1045bdc40304 +Author: Daniel Stone +Date: Sat Oct 14 22:14:07 2006 +0300 + + dix: move GetKeyboardEvents/GetPointerEvents to a new file, export symbols + Move GKE and GPE to a separate file, to help stem the events.c explosion. + Mark GKE/GKVE/GPE as _X_EXPORT. + +commit 6afc7c284690b1e2bb7544b5bc4f31a3f6a05519 +Author: Daniel Stone +Date: Sat Oct 14 15:54:35 2006 +0300 + + dix/devices: remove XACE merge debris + +commit 93302452e737bd91a893eb495592538d40d921e5 +Author: Daniel Stone +Date: Sat Oct 14 15:54:12 2006 +0300 + + XkbCopyKeymap: add geometry support + Add a first cut at geometry support, which seems to generally work. + +commit b9108a13fc126d97c0393f911a1d9292563444ce +Author: Alan Coopersmith +Date: Fri Oct 13 19:05:28 2006 -0700 + + Make sure xorgcfg files are included even when dist made with --disable-xorgcfg + +commit 054f8cd2675a80b14bc1ce266377fcfee2335cee +Author: Keith Packard +Date: Fri Oct 13 17:34:53 2006 -0700 + + Limit pointer to valid crtc areas. Add event swapping. Fix change tracking. + + Add function to keep pointer within valid crtc areas. + Finish event delivery and swapping code. + Separate configuration from layout changes to send correct events. + +commit 335b503c5e7041bb0c44611e496d1c46f554e630 +Merge: bd3d93b... cf948b7... +Author: Daniel Stone +Date: Fri Oct 13 18:10:45 2006 +0300 + + Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver into input-hotplug + +commit cf948b7b04dfeb61a294889027b9a54f6b9b478e +Author: Alan Hourihane +Date: Fri Oct 13 14:48:10 2006 +0100 + + Block IO on switchmode just as we do for VT switching + to avoid cursor movements signalling io. + +commit a6df780e4d3f90cc699b0b864bade03d6f15afd7 +Author: Ian Romanick +Date: Wed Oct 11 15:41:22 2006 -0700 + + Fix bug #8608. + + Regenerate files based on recent commits to Mesa (that fix Mesa bug + that return pixel data. + +commit 042d4a407d0eca9131d0420b0b9189559aac326d +Author: Aaron Plattner +Date: Mon Oct 9 16:32:11 2006 -0700 + + Bug #8459: Don't forget to include AM_CFLAGS in libfb_la_CFLAGS on non-MMX platforms. + + Reported by Edgar Toernig. + +commit 1b94c117e0f294ef2f89bf24d45ba7a8e45efe35 +Author: Matthias Hopf +Date: Tue Oct 10 19:37:22 2006 +0200 + + Fixing probably long-standing bug in domain support. + +commit 6776c0f0e9677a65ec36ceef9618ff701b99596c +Author: Alan Coopersmith +Date: Mon Oct 9 17:24:37 2006 -0700 + + Use bash on Solaris to run symlink-mesa.sh + + symlink-mesa.sh won't run with Solaris Bourne Shell (/bin/sh) so explicitly + run it with /usr/bin/bash instead + (cherry picked from cde68728860179dc84e615ccb378ce992513fd62 commit) + +commit bd3d93be82d91e4cf35ae317dfd658d1706257ea +Author: Daniel Stone +Date: Sun Oct 8 23:21:12 2006 +0300 + + xkb: remove random broken vendor workarounds + +commit 33406da096b4ae21134484113b280e07d0c8f0d9 +Author: Daniel Stone +Date: Sun Oct 8 23:20:56 2006 +0300 + + GetKeyboardEvents: add first_valuator argument to GKVE + +commit ef7e05e9de57b9c9c27ed3307eede6d8fc6c1af3 +Author: Daniel Stone +Date: Sun Oct 8 21:42:15 2006 +0300 + + xfree86/xinput: pass first_valuator params, don't clip to first screen bound + Pass first_valuator to GetPointerEvents/GetKeyboardValuatorEvents. + Don't clip axis bounds to that of screen 0 when initialising axes. + +commit 1546a398144619a14ff06aaf84ebc1bf293eac66 +Author: Daniel Stone +Date: Sun Oct 8 21:40:53 2006 +0300 + + GetKeyboardValuatorEvents: also take first_valuator param + Take a first_valuator parameter, which specifies the first valuator. + +commit b05a11478edc7e6d1e38ef7f8d6788c7bd917493 +Author: Daniel Stone +Date: Sun Oct 8 21:23:12 2006 +0300 + + doc/extensions: rename to c-extensions + The old name could be somewhat confusing. + +commit 41bb9fce47f6366cc3f7d45790f7883f74289b5a +Author: Daniel Stone +Date: Sun Oct 8 20:34:32 2006 +0300 + + mipointer: take device arguments, split miPointerAbsoluteCursor + Update mipointer API to take a device argument to (almost) all functions, + and split miPointerAbsoluteCursor into a couple of separate functions. + Remove miPointerAbsoluteCursor call from mieq, as we now deal with it in + GetPointerEvents. + Make miPointerSetPosition (successor of miPointerAbsoluteCursor) take + pointers to x and y, so it can return the clipped values. + Modify callers of miPointer*() functions to generally use the new + functions. + This should fix things with multi-head setups. + +commit be8dfafd1d58b27bbfd953fc1216311523353db1 +Author: Daniel Stone +Date: Sun Oct 8 20:32:16 2006 +0300 + + warning cleanups + Fix still more warnings. + +commit ca474e0920dd29ebe7ccf346cddc526732ad01ba +Author: Daniel Stone +Date: Sun Oct 8 20:30:49 2006 +0300 + + Xi: move SendEventToAllWindows and FindInterestedChildren to exevents + Move SendEventToAllWindows and FindInterestedChildren from chgptr to exevents, + so the DIX can more easily use it. + Clean up two warnings (type mismatch, unused variable) in exevents.c. + +commit c2fab469b66f2796c541e911202faa411d116b04 +Author: Daniel Stone +Date: Sun Oct 8 18:26:26 2006 +0300 + + dix/devices: clean up debugging + +commit 4493acb88c59721f7807093a3ed3c39396c2076d +Author: Daniel Stone +Date: Sun Oct 8 17:51:03 2006 +0300 + + xkb: add FIXMEs to procedures which need to act on all core devices + Add FIXME comments above request handlers which need to act on all core-sending + devices if called on the core keyboard. + +commit ef68273f5bdb27a492ec0b69548ec4fbede46c08 +Author: Daniel Stone +Date: Sun Oct 8 17:44:37 2006 +0300 + + mi/mipointer: deprecate functions which don't take a device + Deprecate all mi pointer functions which don't take a device argument, and + replace them with versions which do, in preparation for MPX. + +commit 6eab4c55890660089067da0e944256b1ed3a8c67 +Author: Daniel Stone +Date: Sun Oct 8 17:24:33 2006 +0300 + + doc/extensions: document C extension use in the X server + +commit 80cdd26581508dd17c5d0a5739cd540113996bbb +Author: Daniel Stone +Date: Sun Oct 8 17:23:54 2006 +0300 + + mi/pointer: mark public pointer functions as deprecated + Deprecate miPointer functions which don't take a device pointer. Pointer + movement should be handled through GetPointerEvents, and functions which + take a device as an argument (e.g. miPointerPosition) will be added. + +commit 97030b6c6b0fb6ff629ae31e483704d0a2207a53 +Author: Daniel Stone +Date: Sun Oct 8 17:07:05 2006 +0300 + + config: fix compilation + Accidentally built with --disable-config, didn't notice that the previous + commit to clean up the debugging broke things horribly. + +commit 14b157bdb1f2cd5feba03ba0815d7c5b2dd6633f +Author: Daniel Stone +Date: Sun Oct 8 17:04:12 2006 +0300 + + include: actually declare DebugF + DebugF is ErrorF when DEBUG is defined, else a no-op. + +commit 9e37de193f5d7412ffd8de76d5eed0158c0a3609 +Author: Daniel Stone +Date: Sun Oct 8 16:32:15 2006 +0300 + + configure.ac: reactivate warnings when building with gcc + We were inadvertently stomping XSERVER_CFLAGS after adding the warnings, so + move them after we do that. + +commit b559cbb1601f93cb03ea3dcfb2c5ca94ee6b73bb +Author: Daniel Stone +Date: Sun Oct 8 16:23:14 2006 +0300 + + dix/CoreProcessKeyboardEvent: remove debugging for every key event + Also change #ifdef DEBUG/ErrorF/#endif to DebugF in FixKeyState. + +commit 3ae4d250185e71a0a218c062426f92b9b1adbf05 +Author: Daniel Stone +Date: Sun Oct 8 16:20:42 2006 +0300 + + xfree86 Xinput: remove still more excessive debugging + There isn't any more debugging left for input events in the XFree86 DDX. + +commit 58314756aeecbb8fb04706c3e04d98e9ac531a02 +Author: Daniel Stone +Date: Sun Oct 8 16:18:05 2006 +0300 + + GetPointerEvents: add first_valuator parameter + Add a first_valuator parameter. Looks correct by inspection, but untested + with first_valuator != 0 as yet. + +commit 84f5d2291c1fe92fd8358e999e909bf3aab86c98 +Author: Daniel Stone +Date: Sun Oct 8 15:30:24 2006 +0300 + + GetPointerEvents: fix relatively harmless typo + Change !(cp->button || !cp->valuator) to (!cp->button || !cp->valuator). + +commit cfc3e9ede2dc83741bd38bf3df13f096ecb8adc0 +Author: Daniel Stone +Date: Sun Oct 8 15:27:52 2006 +0300 + + config: remove excessive debugging + +commit 8d8e7f8bae4099f9e90ef9aac687607dae1d32bf +Author: Daniel Stone +Date: Sun Oct 8 15:26:54 2006 +0300 + + kdrive/input: remove excessive debugging in NIDR + +commit 22a836fafd39a8ef413826dc2c94bc5f96990e2d +Author: Daniel Stone +Date: Sat Oct 7 14:16:51 2006 +0300 + + xfree86/loader: bump input major ABI version + Bump input major ABI version to 1.0, since we removed the OS keyboard + layer. + +commit 4c342246300e06bdf5c9c62cc1d2f6aa57a524db +Merge: 8382234... 49a70c8... +Author: Alan Coopersmith +Date: Fri Oct 6 18:01:13 2006 -0700 + + Merge branch 'XACE-modular' + +commit 3686cd0fbf56d883f2f3b3fda11ffba1058b74e4 +Author: Daniel Stone +Date: Fri Oct 6 17:20:42 2006 +0300 + + xkb: make XkbSetControls work on all core-sending devices + +commit 7b4dc171b036107cfba87a1a16bf692b982005a5 +Author: Daniel Stone +Date: Fri Oct 6 16:26:54 2006 +0300 + + xkb: remove unused #ifndef + +commit ab56f0c5b516269bb99ae8b5f479e49e61a3af76 +Author: Daniel Stone +Date: Fri Oct 6 16:12:36 2006 +0300 + + xkb: simplify core device loop in GetKeyboardByName + +commit 4b6e2f12f7296e17b2850f36b3adcf8156125cbe +Author: Daniel Stone +Date: Fri Oct 6 16:08:21 2006 +0300 + + xkb: make LatchLockGroup work on all core-sending devices + Apply the settings to all devices sending core events, if we're working on the + core keyboard. + +commit ebf9b3bbbb04acb78cdf8a84e47a96755fbfe854 +Author: Daniel Stone +Date: Fri Oct 6 14:17:59 2006 +0300 + + xkb: update all core-sending keyboards on GetKeyboardByName + Update the keymaps of all keyboards which send core events on + GetKeyboardByName; still a few other procedures which need this treatment. + +commit 1178796a4dff5ebf0bd9fb3cacb35be9709b41e5 +Author: Keith Packard +Date: Thu Oct 5 22:31:35 2006 -0700 + + Add preferred modes for each output. Round vrefresh. Deliver crtc events. + +commit de63a469dcd0a8ae98554bca540ac0106cccf2a5 +Merge: 9c7440b... 8382234... +Author: Daniel Stone +Date: Thu Oct 5 20:29:19 2006 +0300 + + Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver into input-hotplug + +commit b4659faf9b455b44ac8e691cc7a8fc00a967c80b +Merge: c4f30c6... 8382234... +Author: Keith Packard +Date: Wed Oct 4 14:46:04 2006 -0700 + + Merge branch 'master' into randr-1.2 + +commit c4f30c63538e1451f15ed1991439869127d9b148 +Author: Keith Packard +Date: Tue Oct 3 21:06:11 2006 -0700 + + Add mode origins and output options. Fix memmoves in resource free funcs. + + Output options and mode origins both affected driver ABI. memmove mistakes + were causing 'Freeing resource which isn't there' messages. + + Prune unused non-user defined modes from available list now. + +commit 8382234a7f318057de66490299d63807cefb5201 +Author: Alan Coopersmith +Date: Tue Oct 3 17:49:48 2006 -0700 + + Update pci.ids to Tue 2006-10-03 daily snapshot + +commit 96edf7b853c1045d12d957a2957a11879100a2de +Author: Alan Coopersmith +Date: Tue Oct 3 17:48:50 2006 -0700 + + Don't insert RCS tag into generated pci id header files + +commit df800d87e04ce984a8a9ab4252ac6478ab1e4426 +Author: Alan Coopersmith +Date: Mon Oct 2 11:28:47 2006 -0700 + + Add (void) casts to clear compiler errors about ?: results having type mismatch + +commit 9c7440bdf5a4ecd113e102004c804a2ba354c422 +Author: Daniel Stone +Date: Mon Oct 2 20:58:33 2006 +0300 + + xkb: remove the world's most staggeringly broken vendor workaround + Certain versions of LynxOS needed to sleep up to five seconds for closing a + pipe to actually, y'know, be useful. + +commit d7c89c7c1c8c1e110345d9d8d300adbf5fe5804a +Author: Daniel Stone +Date: Mon Oct 2 02:15:36 2006 +0300 + + symlink-mesa.sh: expand *.{c,h} + +commit d6ea96b13e2ea01c51998c41ae2a3677bdedf61c +Author: Ivan Pascal +Date: Mon Oct 2 02:17:14 2006 +0300 + + xkb: fix wrapping when switching between groups + Use XkbCharToInt as that's what we're doing. + +commit 3c98cebb6e954855528794fec46830f456cbdec1 +Merge: fa1ac94... 2cf1098... +Author: Daniel Stone +Date: Mon Oct 2 02:18:17 2006 +0300 + + Merge branch 'input-hotplug' of git+ssh://git.freedesktop.org/git/xorg/xserver into input-hotplug + +commit fa1ac94178cf976d4c8dae9a4dc8703303a62d4b +Author: Ivan Pascal +Date: Mon Oct 2 02:17:14 2006 +0300 + + xkb: fix wrapping when switching between groups + Use XkbCharToInt as that's what we're doing. + +commit c31672e6aab168262bd7824a8082ecdf841fc3c0 +Author: Daniel Stone +Date: Mon Oct 2 02:15:36 2006 +0300 + + symlink-mesa.sh: expand *.{c,h} + +commit 2cf1098436d6b4382d9ed3f6b88214d37bdd8ddb +Author: Daniel Stone +Date: Sat Sep 30 17:05:46 2006 +0300 + + dix/events, mi/eq: remove utterly ridiculous debugging + Remove debugging which can cause long-lived Xorg logs to grow well above 1GB + if built with --enable-debug. + +commit 518db35ca3f569e7cb95dbddeddb93f3691de498 +Merge: 5d99e05... 84eb2c0... +Author: Daniel Stone +Date: Fri Sep 29 00:35:21 2006 +0300 + + Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver into input-hotplug + +commit 5d99e05f05a42a82a9f02844df9bfebaa673759d +Merge: ad631af... 5893375... +Author: Daniel Stone +Date: Fri Sep 29 00:35:07 2006 +0300 + + Merge branch 'input-hotplug' of git+ssh://git.freedesktop.org/git/xorg/xserver into input-hotplug + +commit ad631afcf3fbc74024cddaaacd05d38addc047a2 +Author: Daniel Stone +Date: Fri Sep 29 00:34:23 2006 +0300 + + make core keyboard/pointer map functions act on all core-sending devices + Make Set{Keyboard,Modifier,Pointer}Mapping act on all devices which send core + events. + Change LegalModifier to accept a DeviceIntPtr. + +commit 84eb2c0a06de60e88e14bb03fabe661d7cd8f1d3 +Author: Brian +Date: Thu Sep 28 15:09:40 2006 -0600 + + Replace hard-coded filesnames with loops (all .c and .h files). + Should fix problems with Mesa adding/removing source files, for the most part. + Patch by Dan Nicholson. + +commit 4bc5dc2854e33bf343cdea44a3c3b4c41f6f4145 +Merge: cf6e968... f9542e7... +Author: Aaron Plattner +Date: Thu Sep 28 13:27:13 2006 -0700 + + Merge branch 'wfb' + +commit f9542e749544c7a3084fd72ecc6642ca3262f7c7 +Author: Aaron Plattner +Date: Thu Sep 28 13:26:54 2006 -0700 + + Restore the global xx* symbols and add them to wfbrename.h. + + I don't think they're ever used, but it's best to just leave them alone for ABI + compatibility. + +commit cf6e9687ffcc52af0d64e9098186570719a575a2 +Author: Jeff Smith +Date: Thu Sep 28 15:34:17 2006 -0400 + + Bug #8449: Yet another Mesa symlink script resync. + +commit a5d639cd87f30f9b3d765352d27253940f33b2b7 +Author: Daniel Stone +Date: Wed Sep 27 16:15:27 2006 +0300 + + remove merge detritus + +commit 2206a92a97901977910a6e39b4174ca805f9f4a7 +Author: Michel Dänzer +Date: Wed Aug 30 19:15:55 2006 +0200 + + Push information about cliprects of DRI windows to the DRM. + +commit 54d371e7a4ebab79a0f616669e2f601d8370cef3 +Author: Michel Dänzer +Date: Wed Aug 30 19:12:17 2006 +0200 + + Add wrapper for new ioctl to update drawable information in the DRM. + +commit ad321fad4b9ab3a2c70cfff37ca6c8faaa5cce9c +Merge: 5e9d33f... f7c1d94... +Author: Daniel Stone +Date: Sun Sep 24 17:56:43 2006 +0300 + + Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver into input-hotplug + +commit f7c1d942416db8d0d4c5a21f5ece1ccacb926b69 +Author: Brian +Date: Sat Sep 23 10:38:10 2006 -0600 + + Check for visual==NULL in dmxBECreateColormap() before calling XCreateColormap() + to prevent potential segfault. + +commit 945b7c63946f5257d0f9b0dcf2f8f4882fb2c6f8 +Author: Brian +Date: Sat Sep 23 10:35:25 2006 -0600 + + The fbcmap.c file used by Xdmx _must_ be compiled with XFree86Server defined. + Otherwise, Xdmx generates a slew of protocol errors. + +commit 891e9c3e6cbd0869a57395b96c8e18ff522c2bb4 +Author: Brian +Date: Sat Sep 23 10:28:24 2006 -0600 + + Replace broken DMXDBG3() with DMXDBG2() + +commit a10039a100dfe5f87e29e9cc4fa656176e0890f9 +Author: David Nusinow +Date: Thu Sep 21 23:58:32 2006 -0400 + + Allow the xfree86 ddx utils to be optionally built. Patch by Eugene Konev. + +commit ce78b0cd2b1c35d60eb5683a1d00222aa4797c79 +Author: Adam Jackson +Date: Thu Sep 21 20:42:47 2006 -0400 + + Close with Pclose() that which we open with Popen(). + +commit c1655f0fd457f9bdf0857c5e0904639925bb01f1 +Author: Aaron Plattner +Date: Thu Sep 21 14:45:17 2006 -0700 + + Bug 8386: Grow parser buffers to fit an entire line if it's longer than CONFIG_BUF_LEN. + +commit b36fde9257263fa502147df37e8331184c323e14 +Author: Keith Packard +Date: Thu Sep 21 09:52:04 2006 -0700 + + When no mode is specified, don't validate mode-specific parameters. + +commit 8b4ed47c5d39f219866e3c72fa973c6fc4c70f18 +Author: Drew Parsons +Date: Thu Sep 21 22:19:44 2006 +1000 + + * Install Xprint's Xsession script to $(sysconfdir)/X11/Xsession.d + * Removing outdated references to CDE and dt, rename script to + 92xprint-xpserverlist. + +commit 219546fd76750f358ffb6738f17b9237c58c15a6 +Author: Keith Packard +Date: Wed Sep 20 22:43:05 2006 -0700 + + Steal Xinerama code from SiS driver. Add missing files. + + Provide a Xinerama implementation when DIX version isn't enabled. This + version exposes each crtc as a separate 'screen' and reports the size of + that patch. The extension also sends ConfigureNotify events to the root + window whenever crtcs change so that applications will re-fetch xinerama + information. This actually works for metacity. + +commit bde0a4c12cb393a6d7f1552b067624da1b0502ae +Author: Keith Packard +Date: Wed Sep 20 19:42:34 2006 -0700 + + RRSetCrtcConfig status fix. RRGetScreenResources timestamp fix. + + RRSetCrtcConfig was returning the wrong status values. + RRGetScreenResources was always returning currentTime. + +commit d812f486a01a6276aed7b4ebd3cd8eb8ddfe10d3 +Author: Donnie Berkholz +Date: Wed Sep 20 15:39:39 2006 -0700 + + Really fix sparc on 64-bit kernel/32-bit userland. + + Commit b3a3020fd018df8bc5a8193d36e1a1c7ae8af8ba used a sparc64 ifdef instead of + sparc. But for 32-bit userland, __sparc64__ is not defined so the wrong code is + used. + +commit 09f7499851bd2f2eba1e30460c61c7a82ed9e853 +Author: Keith Packard +Date: Wed Sep 20 13:15:20 2006 -0700 + + typo + +commit 9f870e0aa1ada238d6a0cd099996e8c47f6ba1d9 +Author: Keith Packard +Date: Wed Sep 20 13:14:53 2006 -0700 + + When setting output state, leave output unchanged when setting to current. + +commit d16e83413e7e06adebd629d04de57bbedd8c3765 +Author: Aaron Plattner +Date: Wed Sep 20 12:47:17 2006 -0700 + + Hide or rename more global symbols to avoid clashes with libfb. + + Rename composeFunctions, xxSetup, and xxPrintVisuals. Hide the other xx* + symbols by making them static. + +commit d08718d8fd31477e90f13b9e122504c515b46ee0 +Author: Keith Packard +Date: Wed Sep 20 12:05:52 2006 -0700 + + Avoid calling xalloc(0). Change rrScreenSizeSet to rrScreenSetSize. + +commit ef1f3248cb5fff0a02c0059f865c4d931eba23a6 +Author: Keith Packard +Date: Tue Sep 19 22:48:54 2006 -0700 + + Split out 1.0-style info and new property routines to their own files. + +commit 07112adb0802d28488de5a495aa61bb3cfc280b6 +Author: Keith Packard +Date: Tue Sep 19 00:46:27 2006 -0700 + + RRGetScreenResources and RRGetOutputInfo are working now. + + Removed separate id field in RRModeRec. + Pull screen subpixel order from Render extension. + Implement RGetScreenResources and RRGetOutputInfo + +commit afe5e9483b352ed06075ed68a6ffa50799194e2d +Author: Keith Packard +Date: Mon Sep 18 12:18:22 2006 -0700 + + RandR working with old clients and old API. + +commit 2be1ac15aee592782d7693b8de2c3815478a094e +Author: Keith Packard +Date: Mon Sep 18 12:11:18 2006 -0700 + + Remove smashing of CFLAGS from server build. + + CFLAGS is a user variable, extracted from the environment at configure time + and settable by the user at build time. We must not override this variable. + +commit bf07893947cfca945598e194ed416fda6162b11c +Author: Keith Packard +Date: Sun Sep 17 23:03:23 2006 -0700 + + Split out RandR dispatch code from randr.c to rr*dispatch.c. + + More disassembly to ease ongoing development. + +commit 3e745745fecef1cb59e53bde52ded311b51e1dac +Author: Keith Packard +Date: Sat Sep 16 23:21:37 2006 -0700 + + Split RandR implementation into separate files. + + RandR is getting too big to live in one file; split into one file per object + type (crtc, mode, screen), leaving the rest of the code in randr.c. + + Code is slowly approaching the point where it will drop-in as a replacement + for the old 1.0 implementation. + +commit d17fb9672e238a089e463ac74cc4cd3325b67e1f +Author: Keith Packard +Date: Sat Sep 16 21:44:42 2006 -0700 + + Start moving to new randr 1.2 definition + +commit 8dec74321d916f204f8182f1b93a65defbe50e78 +Author: Keith Packard +Date: Mon Jul 17 14:43:07 2006 -0400 + + Successful legacy RandR API/Protocol emulation for query. + + These changes clean up minor errors to make it possible to list the + available modes for a monitor using legacy APIs in both the X server DDX and + RandR protocol. Setting modes is untested, so it probably doesn't work. + +commit cab3a0145f2483fe43b5db5f5dd2076db9757fe5 +Author: Keith Packard +Date: Mon Jul 17 01:21:11 2006 -0400 + + RandR: New data structure, old API. At least it compiles now + +commit d95c758630f4aacec339a7ec80d2c4a9d7de1e4a +Author: Keith Packard +Date: Sat Jul 1 19:46:38 2006 -0700 + + Preliminary RandR 1.2 work + +commit f057de4f73fa593fa3fc5f05f65b89e76273b158 +Author: Adam Jackson +Date: Sat Sep 16 03:49:11 2006 -0400 + + Don't install librac.a. + + Thanks, automake. + +commit 49a70c8570b03aff8239324a2474918a6fbc52a0 +Merge: d1110c5... 05231e3... +Author: Eamon Walsh +Date: Fri Sep 15 15:26:57 2006 -0400 + + Merge branch 'master' into my-XACE-modular + +commit 46af6d1e953f1eefb6edbba3d29fb9700e42c2bb +Author: Adam Jackson +Date: Thu Sep 14 19:28:44 2006 -0400 + + Always believe the monitor when it reports a reduced-blanking mode. + + CVT reduced blanking modes are typically only seen on digital connections to + LCDs, but there are some monitors that report them as supported over the + VGA connector too, which is perfectly legitimate, electrically speaking. + +commit 63acf18b7e4ce3a9f7deab3a9088a1c41cab0191 +Author: Adam Jackson +Date: Thu Sep 14 19:26:37 2006 -0400 + + In xf86MatchPciInstances, fail gracefully when there's no PCI device at all. + + This allows the autoconfig logic to fall through sanely on non-PCI machines, + which importantly includes Xen virtual machines. + +commit a8f9936f55c5364bb02e8c3187507eb1f70e2ef2 +Author: Adam Jackson +Date: Thu Sep 14 19:24:41 2006 -0400 + + Prefer driver-provided modes when matching name strings to modelines. + + Well, kinda. Strictly we prefer M_T_BUILTIN strongest since those are modes + where the driver has said it absolutely can't do anything else (VBE). Then + we look for user-defined modes, ie, modelines from the config file. Then + we consider modes reported by the monitor via EDID. Finally if nothing has + matched yet we consider the default mode pool. + + Within each of the above-mentioned classes, modes with the M_T_PREFERRED bit + take priority over other modes in the same class. + + This logic ensures that the timings sent to the monitor exactly match the + timings it reported as supported, which occasionally don't match the numbers + you might get for that mode from CVT or GTF. + +commit 81ef1b6d6063c20db4963abf7b7848e235aa4ebb +Author: Adam Jackson +Date: Thu Sep 14 19:18:58 2006 -0400 + + Mark EDID modes as driver modes. Infer virtual size from driver modes. + + This allows the server to guess an appropriate initial virtual size and + resolution. The heuristic is to select the largest driver-reported mode + that matches the monitor's physical aspect ratio. We revalidate this + estimate after mode validation, since we may have filtered away all + modes that would fill that size. + + Also, the EDID preferred timing is now marked as M_T_PREFERRED as well. + +commit 43d9edd31e31b33b9da4a50d8ab05004881c8d5a +Author: Adam Jackson +Date: Thu Sep 14 19:09:02 2006 -0400 + + Attempt to add the 'mouse' driver in more situations. + + Always add a mouse driver instance configured to send core events, unless + a core pointer already exists using either the mouse or void drivers. This + handles the laptop case where the config file only specifies, say, + synaptics, which causes the touchpad to work but not the pointing stick. + We don't double-instantiate the mouse driver to avoid the mouse moving twice + as fast, and we skip this logic when the user asked for a void core pointer + since that probably means they want to run with no pointer at all. + +commit 739224d05eb4f356c9cab9dcb8a44a8d78287765 +Author: Adam Jackson +Date: Thu Sep 14 19:03:32 2006 -0400 + + Load the default module set when no Module section is given in the config. + + Also, synchronize that list with the list for the pseudoconfig file used + when starting with no config file. These really need to be better unified. + +commit beac2bf1e48e6b77dbf7d95f086abc5abcd90cf0 +Author: Adam Jackson +Date: Thu Sep 14 19:01:13 2006 -0400 + + Expand the default sync ranges to be large enough for 800x600@60. + +commit 71a15a7d5721073eccb3a275f353b3aa584c0d68 +Author: Adam Jackson +Date: Thu Sep 14 19:00:10 2006 -0400 + + Publish the raw EDID block as a property on the root window. + + This was removed in the patch for bug #5386, but is still useful. + +commit 7939c8dfb7c7bed4febcdc12922fb2e17619ea36 +Author: Adam Jackson +Date: Thu Sep 14 18:57:57 2006 -0400 + + Bump the default pixel depth to 24, and default bpp to 32. + +commit 72af975f9c8de0ff6796f1ce4b76dcf841d21e99 +Author: Adam Jackson +Date: Thu Sep 14 18:56:34 2006 -0400 + + Fix up EDID blocks where the max pixclock exceeds the preferred mode clock. + + Base EDID only lets you specify the maximum dotclock in tens of MHz, which + is too fuzzy for some monitors. 1600x1200@60 is just over 160MHz, but if + the monitor really can't handle any mode at 170MHz, then 160 is more + correct. Fix up the EDID block before the driver can see it in this case, + so we don't spuriously reject modes. + +commit d05e0a97bb704a4986cf638487205da759c4ce17 +Author: Adam Jackson +Date: Thu Sep 14 18:49:12 2006 -0400 + + Enable DPMS by default. + +commit 334f7db9f653113d5d46236911d7de2ec4173f28 +Author: Adam Jackson +Date: Thu Sep 14 18:46:10 2006 -0400 + + Allow hsync and vsync ranges to be overridden independently again. + +commit ced46e17777b635df9371c4cfaec3f8968b4dbcf +Author: Adam Jackson +Date: Thu Sep 14 18:41:59 2006 -0400 + + Record all standard timings from EDID as modes, instead of just the first five. + +commit d89fee68d0e49211871cd9eb3893ed55c1d478a6 +Author: Adam Jackson +Date: Thu Sep 14 18:41:15 2006 -0400 + + Record the maximum dot clock of the monitor, and filter by it. + +commit fa8ef7166839a7435e0017683f3e3c7f7904b285 +Author: Adam Jackson +Date: Thu Sep 14 18:33:00 2006 -0400 + + Don't translate monitor gamma to X gamma. + + The X gamma is used to set the output ramp of the card. Setting a 2.2 output + gamma going into a 2.2 monitor gives an effective gamma of 4.84, which is + very much not what you want. + +commit 511c60bc7399b07c267d686a969880e5ec92408a +Author: Luc Verhaegen +Date: Thu Sep 14 18:30:36 2006 -0400 + + Bug #5386: Synthesize modelines from EDID data. + +commit 05231e336db8f959c15dda518641976f061df1a6 +Author: Ian Romanick +Date: Thu Sep 14 14:13:39 2006 -0700 + + Use correct opcodes for GLX_EXT_texture_from_pixmap. + + Regenerate from glX_API.xml 1.3 from Mesa. The glproto package and libGL + (from Mesa) must also be updated. + +commit 0a62840e2ce25e5c2554e7e5ab4c9c5b96899e2d +Author: Bill Nottingham +Date: Wed Sep 13 15:40:23 2006 -0700 + + Bug 7641: fix comment written to Xorg.conf (s/VertSync/VertRefresh/) + + X.Org Bugzilla #7641 + Patch #6349 + +commit 182e5e0f4ba4c98a34bc52bdf4032ba315fe80ad +Author: Drew Parsons +Date: Tue Sep 12 14:30:46 2006 +1000 + + Xprint: revert installation of /etc/X11/Xsession.d/cde_xsessiond_xprint.sh + pending resolution of #8232. + +commit 594d4019c613b0f4bf8f48cc074ecc3c8366f1d7 +Author: Tilman Sauerbeck +Date: Tue Sep 12 01:15:40 2006 +0200 + + transformIsIdentity() now doesn't accept a zero matrix as the identity. + + Added a non-zero test for one of the diagonal values. + +commit fc30370d14125f86ee1192890a184881fa139546 +Author: Tilman Sauerbeck +Date: Mon Sep 11 19:43:09 2006 +0200 + + Bug #8226: Fixed SetPictureTransform()'s handling of the argument matrix. + + It now recognizes scaled variants of the identity matrix, too. + +commit 2b357e9a2f9038cf9cd07da908e3103a3d0965c9 +Author: Donnie Berkholz +Date: Sun Sep 10 22:17:20 2006 -0700 + + If we're installing libxf86config, install headers needed to build against it. + +commit 58933757862c458e2da39bd464e50d9c0e41b313 +Author: Zephaniah E. Hull +Date: Sun Sep 10 15:50:51 2006 -0400 + + Warning fix, and a syntax fix in a #if 0 section of code. + +commit 0a3740a0000191e3039fe183ae51b938d0548340 +Author: Zephaniah E. Hull +Date: Sun Sep 10 15:49:25 2006 -0400 + + Typo correction, 'i' is not a '1', so no longer crash on some Xi requests. + +commit 8d709f0280b458515b32c2b87938749428e5c149 +Author: Zephaniah E. Hull +Date: Sun Sep 10 15:48:35 2006 -0400 + + Remove a merge artifact so that we can compile. + +commit b3a3020fd018df8bc5a8193d36e1a1c7ae8af8ba +Author: Jesse Barnes +Date: Sun Sep 10 11:13:18 2006 -0700 + + the new PCI mapping routines are broken on sparc64 (in fact they look + broken for any 32 bit X server running on a 64 bit kernel) so #ifdef + them out for now. the PCI rework tree will make all this crap go away, + so I think we can tolerate the extra #ifdef for the next release. + +commit 60db190ecfce52cbfa888c0af3210634f9186bed +Merge: 5e9d33f... 6525610... +Author: Zephaniah E. Hull +Date: Sun Sep 10 03:49:17 2006 -0400 + + Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver + +commit 65256109bb8f5a26704ed960e1dd113981df5787 +Author: Drew Parsons +Date: Sun Sep 10 17:40:37 2006 +1000 + + * Define XPSERVERLIST with `/etc/init.d/xprint get_xpserverlist` + instead of `/bin/sh /etc/init.d/xprint get_xpserverlist` + - allows the initscript to set its own different shell under #! + - allows disabling of XPSERVERLIST by making the script non-executable + * Allow files to be installed by using dist_*_DATA instead of EXTRA_DIST. + Also, use dist_*_SCRIPTS to install scripts. + * Fix minor typos in man pages. + +commit d1110c5c83a7f439158f369ab2f3ae614fa9d2a5 +Author: Eamon Walsh +Date: Fri Sep 8 15:28:48 2006 -0400 + + Generalize the handling of configuration files that ship with extensions. + +commit 9deb579dc9366590203afe0576bf88643ab36c89 +Author: Eamon Walsh +Date: Fri Sep 8 15:25:17 2006 -0400 + + Zero out newly created ExtensionEntry structures, but only after the + devPrivates have been initialized. + +commit cec392656cda1c938d5462e1949e6eef489f9168 +Author: Eamon Walsh +Date: Fri Sep 8 15:24:23 2006 -0400 + + Zero out newly allocated ClientRec structures. + This is required to initialize the devPrivates to a known state. + +commit 0fba09cdfcc78161f5c92bef6cca53e5309656bd +Author: Eamon Walsh +Date: Fri Sep 8 15:23:06 2006 -0400 + + Include dix-config.h. + +commit c93877100eb98647c5b6b8556730d54677f730b6 +Author: Eamon Walsh +Date: Fri Sep 8 15:21:57 2006 -0400 + + Don't need to allocate memory now that devPrivates are being used. + +commit 86450998da616e3d00d4d6293acc35eccc2061e7 +Author: Kristian Høgsberg +Date: Thu Sep 7 15:35:16 2006 -0400 + + Fix AIGLX VT switching. + + See https://bugs.freedesktop.org/show_bug.cgi?id=7916 + + There may be a simpler, less intrusive fix that involves just rearranging + DRI locking between 2D and 3D drivers around VT switch. + +commit 5e9d33fe87f9d24e55c468d4b2bb761c9efdb26a +Merge: 629798c... 64479ff... +Author: Daniel Stone +Date: Thu Sep 7 15:43:31 2006 +0300 + + Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver into input-hotplug + +commit 629798c73ad76a77fa6a55bc6403fd9b95ade2bb +Author: Daniel Stone +Date: Thu Sep 7 15:17:04 2006 +0300 + + XkbCopyKeymap/SrvXkbCopyKeymap: free geom harder, add cheery comments + Unconditionally free geometry when copying the keymap (so we have none on + core, oh well), add a couple of heartening comments. + +commit 64479fffa22581cc7d753065c33eda5520b7db9a +Author: Ian Romanick +Date: Wed Sep 6 16:13:21 2006 -0700 + + Remove prototypes and externs for non-existant functions and variables. + +commit a0179281a6522ec59830e8f2549633741bc56e10 +Author: Ian Romanick +Date: Wed Sep 6 15:45:48 2006 -0700 + + Remove prototypes for non-existant functions. + +commit 8356be492c6b46abdffa08b13836571ed872e16f +Author: Michel Dänzer +Date: Wed Sep 6 15:20:55 2006 +0200 + + Make sure _XSERVER64 is defined when it should be and gets tested. + +commit f6ce0839ba5b73247097826d28f7388fe248ec0c +Author: Michel Dänzer +Date: Wed Sep 6 13:18:02 2006 +0200 + + Fix #include paths for fontcacheproto headers. + +commit f39fd4242902eaa862321d39337f429dd14ebacf +Author: Aaron Plattner +Date: Tue Sep 5 15:23:54 2006 -0700 + + (unsigned long)(1 << 31) = bad news on x86_64. + (cherry picked from 410e5b1d738ba47b36778e6cbed44023a27ce259 commit) + +commit 410e5b1d738ba47b36778e6cbed44023a27ce259 +Author: Aaron Plattner +Date: Tue Sep 5 15:23:54 2006 -0700 + + (unsigned long)(1 << 31) = bad news on x86_64. + +commit 0b81fccd2ee4e054e5cffb739de07460ff2c13f7 +Merge: 20c4ac6... c281351... +Author: Eamon Walsh +Date: Tue Sep 5 18:03:25 2006 -0400 + + Merge branch 'master' into my-XACE-modular + + Conflicts: + + configure.ac + +commit c2813514cf7b1a36caa848cbc2ceef99cf2eb769 +Author: Ian Romanick +Date: Thu Aug 31 15:36:13 2006 -0700 + + Add missing file from previous commit. + +commit 0f9cfb2f752a9010ff07f4b2bd891db0cc30b8e6 +Author: Ian Romanick +Date: Thu Aug 31 13:54:10 2006 -0700 + + Implement GLX_SGI_swap_control. + + Regenerate from glX_API.xml 1.2. Add infrastructure to support + GLX_SGI_swap_control for AIGLX when the DRI driver enables it. Tested + with R300. + +commit a9ef5862919313582f72fc0cfb5ab0af4df6507e +Author: Ian Romanick +Date: Thu Aug 31 13:47:50 2006 -0700 + + Fix problems with vertex program protocol + + There were two sets of bugs in the vertex program (ARB and NV) + protocol. First, several of the ARB functions were missing the + 'doubles_in_order="true"' annotation. Second, after the ARB decided + that glVertexAttrib*ARB functions must not alias fixed-function state + for GLSL, Nvidia re-assigned GLX protocol opcodes for + glVertexAttrib*NV (circa Septeber 2004). For some reason gl_API.xml + was never updated to reflect this, and the updated version of the + GL_NV_vertex_program spec never made into the registry. + + This is just a server-side regeneration from gl_API.xml version 1.68. + +commit 69d5becce4ca2cfc8f8de53672ed54a47de62164 +Author: Matthew Allum +Date: Thu Aug 31 17:30:24 2006 +0100 + + Fix previous commit breaking other kdrives pulling in fbdev.a + +commit fd609956f27d76ee76ac8623787f0fc8633a5546 +Author: Matthew Allum +Date: Thu Aug 31 17:18:57 2006 +0100 + + Add framebuffer device command line switch for Xfbdev + +commit 2fb7b8795a9a36cce61f6449f6ca26ffd1b071f0 +Author: Ian Romanick +Date: Tue Aug 29 16:35:32 2006 -0700 + + Minor extension tweaks. + + GLX_EXT_texture_from_pixmap should always be enabled. + GLX_SGI_video_sync is only for direct rendering and should never + appear in the server's string. + +commit 1c8851ad491dd02d1c79e620b46384956838ed42 +Merge: d59b52f... 5ddbf4b... +Author: Ian Romanick +Date: Tue Aug 29 16:34:04 2006 -0700 + + Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver + +commit d59b52fc08f2d80b38993e383e61c3eeb0bb0763 +Author: Ian Romanick +Date: Tue Aug 29 14:40:13 2006 -0700 + + Make sure unsupported extensions are disabled. + + GLX protocol isn't supported for GLX_SGI_swap_control or + GLX_SGI_video_sync. Remove them from the list of available extensions + until they are supported. + +commit db6d04d4b87fd9b6409a3ddf0479a88440c2eda1 +Author: Ian Romanick +Date: Tue Aug 29 14:35:08 2006 -0700 + + Add support for AIGLX drivers to enable GLX extensions that they support. + +commit 5ddbf4bcd46fe0d3d682668c2748c712fea410ae +Author: Matthew Allum +Date: Tue Aug 29 22:07:15 2006 +0100 + + Re-add support for tslib (1.0 release) and Xcalibrate extension. + +commit 4524a2bf6f22c871ed109b027a065f0262137dc5 +Author: Daniel Stone +Date: Tue Aug 29 23:49:26 2006 +0300 + + configure.ac: move tslib from KDRIVE_PURE_LIBS to KDRIVE_LIBS + Yeah. That was dumb. + +commit 942b4369990a255257f66835caf8671432c405a3 +Merge: 77d315b... 393dc0a... +Author: Ian Romanick +Date: Tue Aug 29 13:30:37 2006 -0700 + + Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver + +commit 77d315bd2fd2f9014c831d313efbe5821189177c +Author: Ian Romanick +Date: Tue Aug 29 13:30:20 2006 -0700 + + Remove __glXNoSuchRenderOpcode because it is no longer used. + +commit 260c3f32b69c98f8fc5360f860f69d32c19f04a7 +Author: Daniel Stone +Date: Tue Aug 29 23:18:12 2006 +0300 + + configure.ac: fix XSDL test + +commit 393dc0a3388d56186181b2bd9bcc1d267747e709 +Author: Daniel Stone +Date: Tue Aug 29 22:53:54 2006 +0300 + + kdrive: remove @KDRIVE_LIBS@ from Xfoo_DEPENDENCIES + +commit cff23616fe45e10c6786a303c8dcfc0a80463a53 +Author: Daniel Stone +Date: Tue Aug 29 22:44:09 2006 +0300 + + configure.ac: allow disabling of XSDL + +commit 89d272bb183e85715d8e6047929fb2d912033d82 +Author: Daniel Stone +Date: Tue Aug 29 15:05:31 2006 +0300 + + [PATCH] kdrive/linux keyboard: remove more debugging spew + +commit bd6f539ff9409aa7d9056fabe120b457b0a15997 +Author: Daniel Stone +Date: Tue Aug 29 13:21:58 2006 +0300 + + [PATCH] kdrive/linux keyboard: silence excessive debugging noise + +commit 5436fce09003e20744a388fa4ae49007c9cf8ede +Author: Daniel Stone +Date: Tue Aug 29 13:21:40 2006 +0300 + + [PATCH] GetKeyboardValutorEvents: be even more careful + + Don't accept devices without a keyboard feedback class. + +commit 0eb7299f445455a7bcacf2410e83227b23259675 +Author: Daniel Stone +Date: Tue Aug 29 13:19:12 2006 +0300 + + [PATCH] XkbCopyKeymap: still more range fixes + + Make sure we don't stomp preserve if it doesn't already exist, and fix a + couple of range-related thinkos in level name copying. + +commit 7fa3383e3c8eea7d1eb0e556393f2431cf8e6ed2 +Merge: 8d77d44... ebbdc13... +Author: Daniel Stone +Date: Tue Aug 29 15:16:01 2006 +0300 + + Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver into input-hotplug + +commit ebbdc1342a243b301723390696f742dc91f59764 +Author: Adam Jackson +Date: Mon Aug 28 18:17:32 2006 -0400 + + Remove calls to LoaderCheckUnresolved(), since it's now a stub. + +commit 8d77d44fda3aacbae62864a3620e09095b79e92d +Merge: d6f36bd... 2fde560... +Author: Daniel Stone +Date: Sun Aug 27 23:08:49 2006 +0300 + + Merge branch 'origin' into input-hotplug + +commit 20c4ac6e038607ebbf6c04639670514c016d8597 +Merge: 13c6713... 8d4f21a... +Author: Eamon Walsh +Date: Fri Aug 25 18:49:46 2006 -0400 + + Merge branch 'my-XACE-SELINUX' into my-XACE-modular + +commit 13c6713c82763a85c725c998b37ad02156d803ba +Author: Eamon Walsh +Date: Fri Aug 25 18:17:01 2006 -0400 + + Add four new XACE hooks: auditing, key event notification, window init + +commit 2fde560bbb9c1148f26fd969dc30c4e736672b7c +Author: Ian Romanick +Date: Fri Aug 25 13:01:51 2006 -0700 + + Enable GL_EXT_texture_filter_anisotropic and GL_EXT_blend_equation_separate. + + Re-generate from gl_API.xml 1.65. This provides the missing bits for + GL_EXT_texture_filter_anisotropic and GL_EXT_blend_equation_separate. + Enable those extensions. + +commit e2d529963ed40b5f113cf82c17809d241cd4aac1 +Author: Ian Romanick +Date: Fri Aug 25 12:05:16 2006 -0700 + + Enable vertex and fragment programs. + + Implement glGetProgramStringARB and glGetProgramStringNV. With these + functions implemented, GL_ARB_{vertex,fragment}_program, + GL_NV_{vertex,fragment}_program, and related extensions can be enabled. + +commit d6f36bd28009881ef7f7a20cdadb3808d808ed97 +Author: Daniel Stone +Date: Fri Aug 25 12:43:17 2006 +0300 + + xfree86/parser: use 'kbd' driver when 'keyboard' specified + Now that we've completely ditched the old driver, we should probably make a + best-effort attempt to keep configs working. + +commit 7c4167f0d6b33c9c602b04fcfd246fd3aeddd709 +Merge: 393f834... cd2da4e... +Author: Daniel Stone +Date: Fri Aug 25 11:15:33 2006 +0300 + + Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver into input-hotplug + +commit 393f8347edcccfc24d8902a86ea9def7ada2537b +Author: Daniel Stone +Date: Fri Aug 25 10:46:32 2006 +0300 + + xorgconf.cpp: kbd, not keyboard + +commit c33e39c86be2010b169ffbd8adbe53b93222dc5f +Author: Ian Romanick +Date: Thu Aug 24 20:33:57 2006 -0700 + + Finish support for GL_ARB_texture_compression. + + Fill in __glXDisp_GetCompressedTexImageARB and + __glXDispSwap_GetCompressedTexImageARB to finish support for + GL_ARB_texture_compression. With this extension (and the related + compression extensions), the server-side GLX supports all of the + protocol for GL 1.4. w00t! + + The bad news is that this has received only minimal testing, and Mesa + does not contain any good tests for GL_ARB_texture_compression. + +commit cd2da4e41eae233b50f8830d9a8f5d1d916a5a1b +Author: Ian Romanick +Date: Thu Aug 24 18:00:16 2006 -0700 + + Remove GL/glx/g_disptab.c, GL/glx/g_disptab_EXT.c, and + GL/glx/g_disptab_EXT.h. Unfortunately GL/glx/g_disptab.h has to be + kept around a bit longer. + +commit a29e6dd2d2d45c18c52737bb3b7945aafcea5032 +Author: Ian Romanick +Date: Thu Aug 24 17:58:52 2006 -0700 + + Add some missing bits of GL_SGI_color_table. + +commit ae608b2071d882966e9c7ede71f846b1ecec0b23 +Merge: 2c86527... b879356... +Author: Ian Romanick +Date: Thu Aug 24 14:56:33 2006 -0700 + + Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver + +commit 2c865277fe1d056981d1020e1af001d2319252c0 +Author: Ian Romanick +Date: Thu Aug 24 14:54:49 2006 -0700 + + Regenerate from gl_API.xml 1.63. Enable extensions. + + gl_API.xml 1.63 corrects some problems with GLX protocol for + GL_EXT_paletted_texture and GL_SGI_color_table. Regenerate from that + file, and enable those extensions and GL_EXT_shared_texture_palette. + +commit 7d5de5c6657304246473d7ddd5c29bb0c7a3bc34 +Author: Ian Romanick +Date: Thu Aug 24 14:49:46 2006 -0700 + + Regenerate from gl_API.xml 1.62. Functions move, no real changes. + +commit 3a36b0a24aa9e9e238faa7f00100f59800f5142b +Merge: db1ab1b... b879356... +Author: Daniel Stone +Date: Thu Aug 24 23:35:28 2006 +0300 + + Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver into input-hotplug + +commit db1ab1bdb2f79eca593fe247056309a16ebd29c6 +Author: Daniel Stone +Date: Thu Aug 24 23:33:59 2006 +0300 + + XkbCopyKeymap: fix various range issues + Fix a bunch of range issues caused by incorrect assumptions (e.g. that the + design was at least halfway sensible), and copy types by hand, instead of + just blindly memcpy()ing the lot, since it itself cleverly contains a ton + of allocated pointers. + +commit 5fb8d947bb88d715b9b236342885c445cb5a9387 +Author: Daniel Stone +Date: Thu Aug 24 23:16:43 2006 +0300 + + configure.ac: more thinkos + Fix auto tests for vidmode and xf86dga. I win at life. + +commit 4e37c07ba6e5d299d4f8922dc6cf054c814f7baf +Author: Daniel Stone +Date: Thu Aug 24 23:16:17 2006 +0300 + + config: clean up debugging messages, make failure to acquire name fatal + Bomb with FatalError when we can't acquire the bus and name. + Clean up a bunch of debugging ErrorFs to be hidden behind #ifdef DEBUG. + +commit b879356ce96929d02bcb75b9aa24b17ac7e28125 +Author: Adam Jackson +Date: Thu Aug 24 15:50:15 2006 -0400 + + More #ifdef USE_DEPRECATED_KEYBOARD_DRIVER. + +commit 4ed311cf1c29090c53e474a3001c5702ff8409df +Merge: 73e58ad... b29b236... +Author: Matthias Hopf +Date: Thu Aug 24 20:17:10 2006 +0200 + + Merge branch 'master' of git://anongit.freedesktop.org/git/xorg/xserver + +commit b29b236d88789fd45d823a55dbedb393bb134c5b +Author: Lukáš Turek <8an@centrum.cz> +Date: Thu Aug 24 15:57:09 2006 +0200 + + Adapt to Mesa header name change. + +commit ce4a0a4ddafd3833d7025f83ed3729915c8aba70 +Author: Alan Hourihane +Date: Thu Aug 24 13:56:22 2006 +0100 + + Apply patch in bug #7919, blit improvements in + multiwindow mode for Xming/CygwinX + +commit 866ca1f929c95689bac9f0a0b3478f7b4d77214b +Author: Daniel Stone +Date: Thu Aug 24 15:46:44 2006 +0300 + + configure.ac: fix XF86VidMode test + +commit 2b06c69c8feaf3bdc065635ee711efa45b3033b3 +Author: Daniel Stone +Date: Thu Aug 24 14:51:26 2006 +0300 + + GKVE: pass correct arguments to XkbCopyKeymap + Fix horrendous thinko. Indicators now work perfectly. + +commit 4adf9af313c9f63b6ad734e174efe1d36ddb5813 +Merge: 33af05d... 67bd672... +Author: Daniel Stone +Date: Thu Aug 24 10:59:33 2006 +0300 + + Merge branch 'master' into input-hotplug + +commit 67bd672c880869ef625ae0c0163c3ec1eba46abf +Author: Alan Hourihane +Date: Thu Aug 24 08:47:06 2006 +0100 + + Fix typo + +commit 733c4beb16c2c4ad9e9a4ea9a85b09fc5062a775 +Author: David Nusinow +Date: Wed Aug 23 22:39:42 2006 +0000 + + Add xorg.conf IgnoreABI option which does the same thing as -ignoreABI + +commit b983773d446cef6a0948ca264ed48126e404ae9a +Merge: 0623d36... d9a8656... +Author: Ian Romanick +Date: Wed Aug 23 17:16:50 2006 -0700 + + Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver + +commit 0623d3643fc28ebc514b2ca872c985d0cf0c753a +Author: Ian Romanick +Date: Wed Aug 23 17:16:02 2006 -0700 + + Fix the sorting of the extension string. Add a few extensions that + are supported by the new code. A few of these were actually supported + before but weren't advertised. + +commit 5d2caacff570dd68bb3fb05e776e02515b2a9da0 +Author: Ian Romanick +Date: Wed Aug 23 16:47:00 2006 -0700 + + Refector __glXDisp_Render and __glXDispSwap_Render to DoRender. + Refector __glXDisp_RenderLarge and __glXDispSwap_RenderLarge to + DoRenderLarge. + +commit 866bb3f34046045c9fa0744db1d76e035b3da9c7 +Author: Ian Romanick +Date: Wed Aug 23 16:41:53 2006 -0700 + + Memo to myself: Whenever a Makefile.am changes, autogen.sh must be + re-run. This is especially true if the change is to remove a source + file. + + Fix RenderLarge to actually use the new protocol decode tables. + +commit d9a86566c21afd7985673f3ed851b055d9dac46f +Author: Alan Coopersmith +Date: Wed Aug 23 16:15:19 2006 -0700 + + Add LOCALCONN to dix-config.h template for xtrans + +commit f6fd7d8f8393f93705e76b2b2777a0d9bcafa991 +Author: Ian Romanick +Date: Wed Aug 23 16:05:37 2006 -0700 + + Convert protocol decode tabels for Render and RenderLarge to use nice, + compact N-way search trees generated by scripts in Mesa. + +commit 7ae82b5fc8721be78b43a322bbf2c46aac08b8cf +Author: Ian Romanick +Date: Wed Aug 23 16:00:48 2006 -0700 + + Fix __glXDispatchInfo::dispatch_functions and + __glXDispatchInfo::size_table. dispatch_functions had the const in + the wrong place, and size_table was declared as an array of two + pointers to int_fast16_t instead of a pointer to an array of 2 + int_fast16_t. cdecl to the rescue! + +commit 39a620d17809dc71fb5ad61a955fe3c442f90a05 +Author: Ian Romanick +Date: Wed Aug 23 14:24:34 2006 -0700 + + Rename __glXDrawArraysSize to __glXDrawArraysReqSize. This makes its + name match the pattern of all the other functions in + __glXRenderSizeTable. + +commit 86406455f0e5fc977431948611e9bb5fda1e1d46 +Author: Ian Romanick +Date: Wed Aug 23 13:30:59 2006 -0700 + + Re-generated files after a fix to glX_API.xml (in Mesa). + +commit d7a7f12361d31001bbd9394a57de029ef0b934b8 +Author: Ian Romanick +Date: Wed Aug 23 13:30:13 2006 -0700 + + Convert protocol decode tables for Single, VendorPrivate, and + VendorPrivateWithReply message to use nice, compact N-way search trees + generated by scripts in Mesa. + + The Render protocol decode tables are next... + +commit bdec9680fa74dd23cf319d09af1940f8cf71a5b1 +Author: Adam Jackson +Date: Wed Aug 23 14:43:23 2006 -0400 + + Make sure Composite is never enabled for Xnest. + +commit 9f2a108051aad9b024ab737b45fc12290a113e37 +Author: Adam Jackson +Date: Wed Aug 23 14:38:34 2006 -0400 + + Make 'Xvfb -render' also disable Composite, lest we segfault on startup. + +commit 33af05d58f1f4f021036e9ce4b60fd76dbaebe73 +Author: Daniel Stone +Date: Wed Aug 23 19:05:50 2006 +0300 + + XkbCopyKeymap: use correct range for MapNotify + We haven't copied {min,max}_key_code by the time the notifies run, so use + src instead of dst to determine number of keys, et al. + +commit 6323a11d0db4d3cf0317af83f0362730142f5325 +Author: Daniel Stone +Date: Wed Aug 23 18:53:04 2006 +0300 + + XkbCopyKeymap: optionally send NewKeyboardNotify/MapNotify events + Optionally send a NewKeyboardNotify or MapNotify event when copying the + keymap; modify GetKeyboardValuatorEvents to make use of this. + +commit 728fbadd16a748b45c80bc2c65c46f82cf803578 +Author: Daniel Stone +Date: Wed Aug 23 14:33:59 2006 +0300 + + gitignore: ignore vi swap files + +commit 8f8487ff997670a4af0293fed77ff920cfc39fb1 +Author: Daniel Stone +Date: Wed Aug 23 14:33:41 2006 +0300 + + xkb/gkve: copy XKB map, not pointer-assign + Write a new function to copy an XKB map (does everything but geometry at + the moment), and use that instead of nasty pointer assignments. + +commit 52ba722e4c89c052609b4fc62e965d92778aa2dd +Merge: 9138d5a... 0554125... +Author: Eamon Walsh +Date: Mon Aug 21 18:49:31 2006 -0400 + + Merge branch 'XACE-modular' into my-XACE-modular + +commit 05541259bdb0dfaab015a01caa3722b7a1b782e2 +Merge: c2535f6... a1ac044... +Author: Alan Coopersmith +Date: Mon Aug 21 13:07:41 2006 -0700 + + Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver into XACE-modular + +commit a56b98bb047003a05e26ca9365c212a2da7ac200 +Author: Daniel Stone +Date: Fri Aug 18 18:03:41 2006 +0300 + + dix: enable null root cursor + + Enable a blank root cursor, selectable with --enable-null-root-cursor at + configure time. + +commit 0704bb298cc826cd117815898c6bc015a693c2c9 +Merge: c140369... a1ac044... +Author: Daniel Stone +Date: Fri Aug 18 17:30:14 2006 +0300 + + Merge branch 'master' into input-hotplug + +commit a1ac0440bba690368aa4226468ce571be1a09d95 +Author: Daniel Stone +Date: Fri Aug 18 17:30:00 2006 +0300 + + dix: fix whiteroot thinko + Note to self: run git update-index _after_ testing, not just before. + +commit c14036977fef7b8787c0b68f5262fa0b6a2834f5 +Author: Daniel Stone +Date: Fri Aug 18 17:24:34 2006 +0300 + + input.h: add InitCoreDevices prototype + +commit 1c2cb30cd88ba4453f9da339025f8ff39f7f5412 +Merge: 633b6a6... 70ddd0f... +Author: Daniel Stone +Date: Fri Aug 18 17:05:50 2006 +0300 + + Merge branch 'origin' into input-hotplug + +commit 19f673b7788d32c220e7e06734f1074b0e4a999c +Merge: cb0a565... 70ddd0f... +Author: Daniel Stone +Date: Fri Aug 18 17:05:41 2006 +0300 + + Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver + +commit cb0a565d2b2cf8823abbd77b4426cc2237731dc1 +Author: Daniel Stone +Date: Fri Aug 18 17:04:48 2006 +0300 + + dix: add whiteroot flag + Add a -wr option to use a white root window, and use a BackPixel rather + than BackPixmap for both white and black root windows. + +commit 70ddd0f39d5118db72a1a4e473cbfb502f1ed9ec +Author: Alan Hourihane +Date: Fri Aug 18 14:43:10 2006 +0100 + + Fix bug #5735, Serious flaw in CygwinX clipboard + integration prevents paste from X to Windows apps + (Brett Stahlman & Colin Harrison) + +commit 708b225689b5a4ba9ffe3372b584b715ef9eacdc +Merge: e1f4565... ee5e2cb... +Author: Alan Hourihane +Date: Fri Aug 18 09:13:52 2006 +0100 + + Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver + +commit e1f4565be5ce80be4655e81f77f4073fa3fbf8d0 +Author: Alan Hourihane +Date: Fri Aug 18 09:11:48 2006 +0100 + + Fix bug #7302, make Xn.hosts work from the + Microsoft Windows install directory on Xming. + (Colin Harrison) + +commit 1880defe4eaba02f9585b154d0883235eabc6d11 +Author: Alan Hourihane +Date: Fri Aug 18 09:09:53 2006 +0100 + + Fix bug #7281, clipboard viewer should not + call SetClipboard viewer when bogus in Xming/CygwinX + (Colin Harrison) + +commit a1a8e4f7f5917f537eb3dd51d3d6fa3e129236ce +Author: Alan Hourihane +Date: Fri Aug 18 09:08:12 2006 +0100 + + Fix bug #7280, round title corner background + should be transparent not black in Xming/CygwinX + (Colin Harrison) + +commit ee5e2cbd2bee610a95facc6b486c4a5070973099 +Author: Adam Jackson +Date: Thu Aug 17 17:29:32 2006 -0400 + + Un-cut-and-paste the mode rejection message. + +commit 43e42eef1f5a22703eb64fc9cffecde036ea38e0 +Author: Adam Jackson +Date: Thu Aug 17 16:22:07 2006 -0400 + + Fix default mouse device on Linux, again. + + It would be really nice if we only did this in one place instead of 40. + +commit 633b6a69f560c0a77dcff78fdef5fcf0041e2e04 +Merge: 95dbfcf... 7da5144... +Author: Daniel Stone +Date: Thu Aug 17 21:25:14 2006 +0300 + + Merge branch 'master' into input-hotplug + +commit 7da51447eaab34292e14077fb5a48e6b2e587781 +Author: Daniel Stone +Date: Thu Aug 17 21:24:07 2006 +0300 + + events.c: fix tiny XEvIE thinko + Make sure xeviehot gets updated after the ConfineToShape() call. + +commit 5d082f05632906c29296a44ef5c3a4962c0cbe62 +Author: Daniel Stone +Date: Thu Aug 17 21:18:18 2006 +0300 + + events.c: make XEvIE a little less verbose + Change a lot of: + #ifdef XEVIE + xeviehot.x = + #endif + sprite.hot.x = ... + #ifdef XEVIE + xeviehot.y = + #endif + sprite.hot.y = ... + to one single + #ifdef XEVIE + xeviehot.x = sprite.hot.x; + xeviehot.y = sprite.hot.y; + #endif + at the end of the functions. + +commit 95dbfcf8828c041c218145afc87d21a6c9c7bc02 +Author: Daniel Stone +Date: Thu Aug 17 21:18:18 2006 +0300 + + events.c: make XEvIE a little less verbose + Change a lot of: + #ifdef XEVIE + xeviehot.x = + #endif + sprite.hot.x = ... + #ifdef XEVIE + xeviehot.y = + #endif + sprite.hot.y = ... + to one single + #ifdef XEVIE + xeviehot.x = sprite.hot.x; + xeviehot.y = sprite.hot.y; + #endif + at the end of the functions. + +commit c6c39afde3e5f43b623ca6b52162b83c98a28d45 +Author: Daniel Stone +Date: Thu Aug 17 21:13:09 2006 +0300 + + dix/events.c: add YAFIXME + Add another FIXME to the cacaphony of XXX and FIXMEs in this file. + +commit f9624e0109cf12b6af43fb4235aaa0b54340a4bb +Author: Daniel Stone +Date: Thu Aug 17 16:09:51 2006 +0300 + + kdrive/input: verify SIGIO with --enable-debug + +commit 73e58adda96c1d1b5176d819107faa7697c3eb94 +Author: Matthias Hopf +Date: Wed Aug 16 18:17:58 2006 +0200 + + Fixed segfault w/ broken Xinerama configs. + +commit cd3f744b1f983f71476db99c050045d981c5f5b2 +Author: Daniel Stone +Date: Tue Aug 15 15:54:13 2006 +0300 + + fix missing brace, trim unused variables + +commit 5d073697adb3864133fa3221b82ab8d2f4a59758 +Author: Daniel Stone +Date: Tue Aug 15 15:37:10 2006 +0300 + + kdrive/input: minor warning cleanups + And also a compiler error fix when VERIFY_SIGIO is defined. + +commit 47c1c948e69cfba950ad37a3133fa2db0bd0ff2c +Author: Daniel Stone +Date: Tue Aug 15 15:25:16 2006 +0300 + + kdrive/input: only run special key behaviours on non-XKB + Only attempt to manually deal with special key behaviours (e.g. terminating + the server) when not using XKB, and leave locking behaviour up to GKVE. + +commit 34228d8b280ef105a0c60b8de5dacf70a5ce24b5 +Author: Daniel Stone +Date: Tue Aug 15 15:23:53 2006 +0300 + + GPE: fix absolute button events / GKVE: (non-XKB) don't repeat lock keys + Fix absolute button events in GPE, where we would previously send valuator + events without bumping numEvents accordingly, causing the core event to + go missing. + In the non-XKB path in GKVE, implement proper lock behaviour (one press to + enable, one press to disable, discard releases). + Fix debug_events prototype. + +commit d003bada3352ec7d734498c4c732904876a9d1e2 +Merge: d6433be... a815b9b... +Author: Daniel Stone +Date: Sat Aug 12 22:48:55 2006 +0300 + + Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver into input-hotplug + +commit a815b9b990e068f02d9cbba2b17f2cc3a30a9310 +Merge: 37943e2... 984babe... +Author: George Sapountzis +Date: Sat Aug 12 21:58:33 2006 +0300 + + Merge branch 'master' of git+ssh://gsap7@git.freedesktop.org/git/xorg/xserver + +commit d6433be3cca807dd78fbb1f45d9ba0212283083d +Merge: 2bf9e3d... 984babe... +Author: Daniel Stone +Date: Sat Aug 12 21:50:52 2006 +0300 + + Merge branch 'master' into input-hotplug + +commit 2bf9e3dc1ec5fd7bf84a4a96899e5663a721d4a4 +Author: Daniel Stone +Date: Sat Aug 12 21:50:39 2006 +0300 + + make DIX more tolerant of devices without a CtrlProc (Debian #269860) + Return BadDevice on client requests for devices without a CtrlProc, instead + of tanking horribly. + +commit 984babe86bf82002b4d6589b2750c7b5a5489bd5 +Author: Daniel Stone +Date: Sat Aug 12 21:43:38 2006 +0300 + + remove obsolete vendor defines + Remove random behaviour changes for SGI and MetroLink. + +commit 37943e2f1abc6709ff739000372b0394d5cd18c5 +Author: George Sapountzis +Date: Sat Aug 12 20:54:33 2006 +0300 + + Call exaTryComponentAlphaHelper() for solid src also. + + Also, rename to exaTryMagicTwoPassCompositeHelper() as it is now called for + non-component-alpha masks also, and add function description from + http://anholt.livejournal.com/32058.html. + +commit f7919c287936f55569c2301ebb1b5f52358e70fa +Author: Bastian Blank +Date: Sat Aug 12 20:43:25 2006 +0300 + + xfree86: don't do legacy IO on ARM or S/390 (Debian #362641) + Don't attempt to poke legacy IO ranges on ARM or S/390. + +commit 59dcc62906d8ee597cd43aa307f414cb47995cea +Author: Daniel Stone +Date: Sat Aug 12 20:39:08 2006 +0300 + + xfree86: remove Xqueue support completely + +commit e641000b98e7c2e92e3c801eaa42aa15d5c16ad0 +Author: Samuel Thibault +Date: Sat Aug 12 19:41:59 2006 +0300 + + xfree86: add Hurd support (#5613) + Add support for GNU/Hurd. + +commit 5a3488ccac8e5dabd9fc98bc41ef178ead1b2faf +Author: Daniel Stone +Date: Sat Aug 12 19:25:06 2006 +0300 + + configure.ac: fix execinfo.h test (Debian #363218) + Define HAVE_EXECINFO_H as well as HAVE_BACKTRACE, when we find execinfo.h. + +commit 26c3cd1c9e3f52548389817a6d89a377e20c4269 +Merge: 008aa7e... c4951e0... +Author: Daniel Stone +Date: Sat Aug 12 18:58:18 2006 +0300 + + Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver into input-hotplug + +commit 008aa7eb6ed090384e6c44f861410e317c78a1cd +Author: Daniel Stone +Date: Sat Aug 12 18:56:05 2006 +0300 + + completely remove OS keyboard layer + Completely axe the keyboard layer from os-support. + +commit c4951e0a6b6cf3eeee710cc5cda1d9bc929ee3d7 +Author: Adam Jackson +Date: Thu Aug 10 20:49:06 2006 -0400 + + Fix a mode sanity check to not break reduced-blanking setups (LCDs). + +commit e1921f014b102e3eecf3b41972f8672cf23264d6 +Author: Adam Jackson +Date: Thu Aug 10 20:43:15 2006 -0400 + + Rename some mode tokens to better reflect their use. + + Per #5386, M_T_EDID -> M_T_DRIVER, since it's really for any driver-detected + mode. Also add M_T_PREFERRED bit, to select a 'best' mode out of a set. + +commit c2535f67923bde0bfb0e72363467110806e2f40f +Merge: c0cb8d1... db82e12... +Author: Alan Coopersmith +Date: Thu Aug 10 10:37:59 2006 -0700 + + Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver into XACE-modular + +commit 9525c2709ea3245c6518d4c3b5a0a4afff37181d +Author: Daniel Stone +Date: Thu Aug 10 20:29:57 2006 +0300 + + configure.ac: fix xephyr conditionals + Fix Xephyr build conditions, allowing it to actually be disabled. + +commit 6d8d4abaaacf08140b673472d985117d448a62e7 +Author: Daniel Stone +Date: Thu Aug 10 20:28:06 2006 +0300 + + configure.ac: allow conditional building of XF86{DGA,Misc,VidMode} + Allow conditional building of the above three extensions, defaulting to + auto. + +commit cec284f2b3e948deb9e56a1a8519fddf693ab952 +Author: Daniel Stone +Date: Thu Aug 10 18:03:58 2006 +0300 + + kdrive: properly ifdef composite enabling + +commit 45bce556e8665412b9f6e89f88ed5bedb41de1ba +Author: Daniel Stone +Date: Thu Aug 10 18:02:47 2006 +0300 + + GetMaximumEventsNum: be more conservative + Be slightly more conservative in our maximum event count if we're using + XKB (and thus don't need to count the extra repeat events). + +commit 172d45b9b75f95c997d1e9358040eead496e2a06 +Merge: 3832a3d... db82e12... +Author: Daniel Stone +Date: Thu Aug 10 14:14:54 2006 +0300 + + Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver into input-hotplug + +commit 3832a3d7db0f3b5d7167e3b3b5ea6d6b3d96351a +Author: Daniel Stone +Date: Thu Aug 10 14:13:51 2006 +0300 + + GKVE: don't repeat modifiers when using XKB + Make sure we don't ever repeat modifiers (previously was repeating when + using XKB); only do explicit KP/KR repeats in the non-XKB case. XKB will + take care of repeating when we're using it. + +commit 9f188416bb6b4837d4c3f8773053d5eee0ff0ee1 +Author: Daniel Stone +Date: Thu Aug 10 14:00:34 2006 +0300 + + core devices: clear devicePrivates on close + +commit 539d1f33475484d35fb5a377efc76dba2d868e3f +Author: Daniel Stone +Date: Thu Aug 10 14:00:14 2006 +0300 + + GKVE/GPE: have DDX allocate events + Don't allocate events on every GKE/GKVE/GPE call, just have the DDX manage + it instead. Introduce GetMaximumEventsNum(), which is the maximum number + of events these functions will ever produce. + +commit db82e12fac5eaa16a39fc1bd0bc31ad95089dc95 +Author: Adam Jackson +Date: Wed Aug 9 14:55:17 2006 -0400 + + Remove TargetRefresh option from the autoconfig logic. + + The default target of 75Hz is almost always wrong for LCDs. + +commit fcd4167e8913f77bdf9e17a6955d0f2a9f4eeb10 +Author: Adam Jackson +Date: Wed Aug 9 14:48:51 2006 -0400 + + Remove the bc flag from the -help text, since it's gone. + +commit 767f372dd02232469f9fd804b811a17eaf762e1e +Merge: c4f5de6... 462bb61... +Author: Tilman Sauerbeck +Date: Wed Aug 9 20:23:30 2006 +0200 + + Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver + +commit c4f5de6cc3b935025829af971b0b8010c1ecfedb +Author: Tilman Sauerbeck +Date: Wed Aug 9 20:21:52 2006 +0200 + + Sanitized glxdri's Block/Wakeuphandler calling. + + __glXDRIleaveServer() and _enterServer() used to call DRIDoBlockHandler + (resp DRIDoWakeupHandler) directly. They are now calling DRIBlockHandler + (resp DRIWakeupHandler) to account for driver specific block/wakeup + hooks. + +commit 5506b4ad200745236f997c121e8200179c47b749 +Merge: 4be9abb... 462bb61... +Author: Daniel Stone +Date: Wed Aug 9 07:21:01 2006 +0300 + + Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver into input-hotplug + +commit 4be9abb8504b3761b5f3a01851e4eb3da86c76e2 +Author: Daniel Stone +Date: Wed Aug 9 07:20:16 2006 +0300 + + kdrive: remove ddx_DEPENDENCIES + Remove foo_DEPENDENCIES as they weren't guaranteed to just be libs, + and loader arguments (-lfoo, -Lfoo) might've crept in. + +commit 462bb61b0fe968fae1b99cf98ec6f7de09105dcd +Author: Aaron Plattner +Date: Tue Aug 8 18:07:22 2006 -0700 + + Add CompositeRegisterAlternateVisuals. + + This provides drivers the ability to add their own alternate visuals and then + register them with Composite for implicit redirection. + +commit fe351a711ef55c3ae1e784d4551147c080eda109 +Author: Daniel Stone +Date: Tue Aug 8 14:54:10 2006 +0300 + + GKVE: send XkbMapNotify, not XkbNewKeyboardNotify + Sending MapNotify is more correct in this case than NKN, so do that. + +commit 31089816317f27c668b12a15c74fdd226a8df9f7 +Merge: ab3ebfe... 12dbd8a... +Author: Daniel Stone +Date: Tue Aug 8 12:01:12 2006 +0300 + + Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver into input-hotplug + +commit ab3ebfefdb7d21aba72a5030f6f93bf4fafed709 +Author: Tiago Vignatti +Date: Tue Aug 8 12:00:34 2006 +0300 + + xorgcfg: fix compilation error + Add missing parentheses to IS_KBDDRIV macros. + +commit 12dbd8a02f797ad57a1be683a02a1fcb1ca35438 +Author: Daniel Stone +Date: Mon Aug 7 23:43:40 2006 +0300 + + remove optional R3 backwards compatibility + Remove the permitOldBugs flag, which enabled backwards compatbility with + broken R2/R3 era clients. + +commit 7721ee308fbbb6fc9c969f15fe04b3346c04f843 +Author: Daniel Stone +Date: Mon Aug 7 23:03:02 2006 +0300 + + config client: fix minor race with event queue + Fix a small race whereby you could remove a device while events from it + were still in the queue, by calling ProcessInputEvents immediately before + RemoveDevice, to (hopefully) flush the event queue. + +commit 458c63a84110f64c7fce397a531a3a779c2239a2 +Author: Daniel Stone +Date: Mon Aug 7 23:02:17 2006 +0300 + + enable adding devices after removal of a middle device + Allow new devices to be added after a device that _wasn't_ the last on the + list was removed, by ensuring inputInfo.numDevices always increases, and + never decreases. + +commit a31d11a7a8485cdc799f76c4d407d3b7f7c9b350 +Author: Daniel Stone +Date: Mon Aug 7 23:01:23 2006 +0300 + + GKVE: get rid of bogus double-release check + Get rid of a bogus double-release check which broke non-XKB servers. + +commit bedc4ecf23c7150e3156e0d24602ed3bc3977225 +Author: Daniel Stone +Date: Mon Aug 7 23:00:45 2006 +0300 + + xephyr: aid input debugging + 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. + +commit baf93b3abe1e88d82ee6a3d6939f50f96ded271a +Author: Daniel Stone +Date: Mon Aug 7 21:12:45 2006 +0300 + + kdrive: move map initialisation to KdNewPointer + Do a linear n -> n initialisation on the map up until KD_MAX_BUTTON in + KdNewPointer, moving it out of both KdParsePointer, and KdPointerProc. + Also remove dead pointer acceleration code. + +commit ccb53340b66a778abf10182fd88a7d699207fb84 +Author: Daniel Stone +Date: Mon Aug 7 21:12:00 2006 +0300 + + ephyr: cleanup + Remove extraneous KdAddPointerDriver call. + +commit d1c18af27e0aed73104743afb4bf4b8d3d1186cf +Author: Daniel Stone +Date: Mon Aug 7 21:11:38 2006 +0300 + + GPE: use button map for DBP/DBR, not just BP/BR + Make sure we use the button map for extended events, not just core. + +commit 9b7ecbd1dd8d092221897e29c85f3306c7367716 +Author: Daniel Stone +Date: Mon Aug 7 21:09:32 2006 +0300 + + kdrive: prevent overrun in map + We actually need n + 1 elements for the mouse button map, not n. + +commit eb6e8d4042252b13328dbb122e0e6186796a80ac +Author: Daniel Stone +Date: Mon Aug 7 21:05:37 2006 +0300 + + kdrive: increase maximum number of buttons + Increase KD_MAX_BUTTONS to 32. + +commit 1c72290cdf4d9b214e1b9c0526cb7cb8641051f3 +Author: Aaron Plattner +Date: Mon Aug 7 09:57:58 2006 -0700 + + Use DrawablePtrs instead of PixmapPtrs for Prepare/Finish access. + + Also, define some wfb functions even if FB_ACCESS_WRAPPER is not defined. This allows a client to use libfb and libwfb at the same time. + +commit afcad4ad99bbfc8bdcd0f4fdd70e072108410d30 +Author: Daniel Stone +Date: Mon Aug 7 18:11:05 2006 +0300 + + xfree86 ddx: always free GKE/GPE events + free() events we get passed back from GKE and GPE so we don't just, er, + leak them all. *cough*. + +commit 98fdf874eeadd5b37413922d8afba8415d0c56bb +Author: Daniel Stone +Date: Mon Aug 7 16:51:39 2006 +0300 + + move all autorepeat logic to DIX + Move core autorepeat logic for keyboards down to the DIX, remove it from + KDrive. + +commit 5c7001fef8ffc6e3d8585a37d3f79a9495be8ed0 +Author: Daniel Stone +Date: Mon Aug 7 16:51:09 2006 +0300 + + memcpy() events in + memcpy events into our event structure instead of doing pointer assignment. + +commit c85e64cba1d2d88f676ca7cf23b52a6f8219e90e +Merge: a406f6b... f54b71b... +Author: Daniel Stone +Date: Mon Aug 7 15:54:55 2006 +0300 + + Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver into input-hotplug + +commit f54b71b772a1f587394ae3968782b611e52f0e2d +Author: David Nusinow +Date: Sun Aug 6 18:11:00 2006 +0000 + + Document enable/disable flag for AIGLX in xorg.conf manpage. + +commit a406f6bfeaa46e3236f7ab46813fe6c30b936a35 +Author: Daniel Stone +Date: Fri Aug 4 12:40:19 2006 +0300 + + mieq: don't leak events + free all events posted through mieqEnqueue. + +commit 997ba45b192f21810099ed888792a45f1677a9ce +Author: Daniel Stone +Date: Fri Aug 4 11:18:16 2006 +0300 + + fix incorrect button test + Test for n (1..nButtons) being under nButtons, not button (1..(1< +Date: Thu Aug 3 18:24:04 2006 -0400 + + Make SecurityLookupIDBy* part of the base functionality. + +commit 45c229f526bf1dafb5e81b50d700449ba4e1613d +Author: Eamon Walsh +Date: Thu Aug 3 14:26:06 2006 -0400 + + Remove LBX code. + +commit 96e45626c43b7674b66e0258b0b1730d5ce71357 +Author: Eamon Walsh +Date: Wed Aug 2 20:29:59 2006 -0400 + + Rebase Security extension to use devPrivates for storing security state. + +commit 3c23dec5962b8b81ae838fe0ee2c7b0a789f5386 +Author: Eamon Walsh +Date: Wed Aug 2 13:39:49 2006 -0400 + + Call ClientStateCallback on serverClient devPrivates initialization. + +commit ee02e647882a4be29e1130bd79904ee79ed6b802 +Author: Aaron Plattner +Date: Tue Aug 1 13:45:43 2006 -0700 + + Wrap libwfb memory access. + + Use the READ and WRITE macros to wrap memory accesses that could be in video + memory. Add MEMCPY_WRAPPED and MEMSET_WRAPPED macros to wrap memcpy and + memset, respectively. + +commit 39169fd373b97f34923f6494d697d9429d0b8aa3 +Author: Matthew Allum +Date: Tue Aug 1 13:39:22 2006 +0100 + + Back out 'mystery' spurious host window hints. + +commit f737cc38baea6af8bf284c9e207e60a7d90eebe1 +Author: Eamon Walsh +Date: Mon Jul 31 19:58:42 2006 -0400 + + Adding devPrivates support to the ExtensionEntry structure. + +commit b04d64854712678701d5243aacf5cc93444cfadc +Author: Eamon Walsh +Date: Mon Jul 31 19:35:08 2006 -0400 + + Added devPrivates support to the ExtensionEntry structure. + +commit a69335dc299be6de8b82ed34de1cb30f1255feb4 +Author: Aaron Plattner +Date: Mon Jul 31 14:15:55 2006 -0700 + + Make ReadMemoryProcPtr take a const pointer. + + Fixes some warnings when using READ with a const pointer. + +commit b74c845a1233f78b841ff8840272c50873300c20 +Merge: 3112a6c... 02daa6b... +Author: Ian Romanick +Date: Mon Jul 31 10:26:06 2006 -0700 + + Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver + +commit 3112a6c4f26d5e9258b8def7ce4109b4bd408c67 +Author: Ian Romanick +Date: Mon Jul 31 10:25:31 2006 -0700 + + Noting uses libdummy.a, so don't build it. Only libdummy-nonserver.a + is actually used. + +commit 02daa6bb103e53e5a33db2bb6acbe57d0bf2c30e +Author: Matthew Allum +Date: Mon Jul 31 17:32:05 2006 +0100 + + Improve XRes to; + - Better estimate general pixmap memory usage. + - Account for pixmaps shared between clients. + - Account for window background and border pixmaps, + and GC stripple and tile pixmaps. + +commit 24051ef97406f28c102cf46a78223400b61fdae2 +Author: Daniel Stone +Date: Sun Jul 30 12:15:33 2006 +0300 + + remove filename that's too long for tar + +commit ecb7d43a76d507d04891ab7f189b23be5eccda51 +Author: Daniel Stone +Date: Sun Jul 30 11:52:41 2006 +0300 + + add sym.h to sources + +commit bf2d7499c84c94f228d03b21448f5688b3cda1a8 +Author: Daniel Stone +Date: Sun Jul 30 11:17:02 2006 +0300 + + add securitysrv.h + +commit e87e68634d8eb66ab783e2802e2d5d12ff1031be +Author: Daniel Stone +Date: Sun Jul 30 11:11:59 2006 +0300 + + remove .cvsignores from EXTRA_DIST + +commit ed0c807de9f07468385fcbd2e8a9c0737759a461 +Author: Daniel Stone +Date: Sun Jul 30 11:08:54 2006 +0300 + + bump to 1.1.99.3 + +commit a68dc013a33d867e65a7e76b3eec5947b862a5b4 +Author: Daniel Stone +Date: Sun Jul 30 11:08:47 2006 +0300 + + remove README (which doesn't exist) from EXTRA_DIST + +commit 87fe85f38b6f781bf0e2eb555526e3d77779f9fa +Merge: 3518e2d... 654619d... +Author: Daniel Stone +Date: Sun Jul 30 10:51:34 2006 +0300 + + Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver into input-hotplug + +commit 654619d76c779606f2315782fc01d1410399fa3b +Author: Kevin E Martin +Date: Fri Jul 28 17:16:32 2006 -0400 + + Revert xkb changes that broke XkbGetKeyboard() + +commit 79016d4036786b091a9b9d1133a6cdfedd6c277d +Author: Luc Verhaegen +Date: Fri Jul 28 16:02:02 2006 -0400 + + Bug #5386 (partial): Move CVT mode generator from cvt(1) to server core, and + export it from the X server to modules. + +commit e6ae1612be519ee6224d354244d076d85d44a750 +Author: Aaron Plattner +Date: Thu Jul 27 18:24:59 2006 -0700 + + Add fbHasVisualTypes and fbSetVisualTypesAndMasks to wfbrename.h and include -DXFree86Server. + +commit 2a4ceb09ed5a09dc5763754ab865ec23df91ac9f +Author: Adam Jackson +Date: Wed Jul 26 19:39:17 2006 -0400 + + Remove dead function prototypes. + +commit 990a4009057e068f41d20b95aa0c59357185650d +Author: Adam Jackson +Date: Wed Jul 26 19:03:39 2006 -0400 + + Remove getconfig horrorshow. Replace with a static built-in rule list for now. + +commit 377a581ddf5e428a368efb1b59fcb317666fecdd +Author: Aaron Plattner +Date: Tue Jul 25 15:27:31 2006 -0700 + + Switch to using void* pointers. + + Pass the size of the data pointed to by src or dst as an argument to + wfb{Read,Write}Memory. This allows one set of macros to be used with any size + pointer. Assumes that sizeof(FbBits) >= sizeof(FbStip). + +commit a4005c15fbb48231cb958c32b2c791a2d23a135a +Author: Aaron Plattner +Date: Mon Jul 10 18:58:09 2006 -0700 + + Add framebuffer access wrapper infrastructure. + + Create fbPrepareAccess macros to call into the driver to set up the + wfbReadMemory and wfbWriteWemory pointers. Call these from fbGetDrawable and + fbGetStipDrawable. + + Add the READ and WRITE macros, which expand to simple memory accesses for fb, + and calls through the function pointers for wfb. + + Add fbFinishAccess macro to give the driver an opportunity to clean up. Add + calls to this in the appropriate places. + +commit 319efac445cebda5a2ac1db67efebe54bc47ba9d +Author: Aaron Plattner +Date: Fri Jul 7 18:45:30 2006 -0700 + + Prefix all of the exported symbols in libwfb.so with "wfb". + + For now, just #define all of the exported symbols in wfbrename.h. Later, + we should add FBPREFIX() around the exported symbols and use -fvisiblity=hidden + to hide the rest. + +commit 7608a63ff7409f399c9a26962a304b84196a1868 +Author: Aaron Plattner +Date: Thu Jul 6 17:05:21 2006 -0700 + + Build infrastructure for libwfb.so. + + Builds fb/* twice, defining FB_ACCESS_WRAPPER for libwfb.la. Define a macro, + FBPREFIX(X) which expands to fbX for libfb.la and wfbX for libwfb.la. Use the + macro on [w]fbModuleData so the new module loads. + +commit 39158e98acb29e97a2682d4a37385f9141b484c4 +Author: Adam Jackson +Date: Wed Jul 26 18:39:28 2006 -0400 + + Remove another latent PowerMAX hunk. + + All your favorite running jokes of 2005, today! + +commit 3518e2d0debc97e2bacdefe604b280e7fdfdd216 +Merge: eb7733a... 3821f6a... +Author: Daniel Stone +Date: Wed Jul 26 11:29:21 2006 +0300 + + Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver into input-hotplug + +commit eb7733a48a92405660d5d2ab60913b62c30daaed +Author: Daniel Stone +Date: Wed Jul 26 11:28:45 2006 +0300 + + kdrive: drop excessive NewInputDeviceRequest debugging + +commit 3821f6aeaa714582ee0a631de96c6e7cfd96303e +Author: Kristian Høgsberg +Date: Wed Jul 26 01:56:02 2006 -0400 + + Unlibc-wrap DMX glxscreens.c and fix tag-removal typo. + +commit 4ea475924c557ad0819b796f5369e5e669465709 +Author: Daniel Stone +Date: Tue Jul 25 20:00:48 2006 +0300 + + re-add OpenedHand copyright + Ae-add OpenedHand copyright, accidentally dropped in KDrive new world + order patch. Sorry guys. + +commit ca3f4fc1b0c21a0620ab1eb35c199cd55d795095 +Author: Daniel Stone +Date: Sun Jul 23 19:02:12 2006 -0400 + + add fallback ChangeDeviceControl, allow XOpenDevice on closed device + Add a fallback ChangeDeviceControl, which allows the attributes we know about + so far. + Allow XOpenDevice on closed devices. + +commit e73e5e2a4d8f22889d840a7719479f9af686cb9c +Merge: a73cef1... 8977b07... +Author: Daniel Stone +Date: Sat Jul 22 13:56:30 2006 -0400 + + Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver into input-hotplug + +commit 8977b07434d75ca396d236dc1324f0c862b633c7 +Author: Dave Airlie +Date: Sun Jul 23 03:36:47 2006 +1000 + + glx: fix typo from tag removal + +commit a73cef1f005ca66db18e952e676ee5a21b829700 +Merge: 672ca15... 70869fc... +Author: Daniel Stone +Date: Sat Jul 22 12:07:22 2006 -0400 + + Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver into input-hotplug + +commit 70869fc6777f87cd05794446caa739e3d9a91ffe +Author: Adam Jackson +Date: Fri Jul 21 23:39:37 2006 -0400 + + Yet more dead code. + +commit 7c1b2ee7a8238c267bc97e78bbff204dc7723dd3 +Author: Adam Jackson +Date: Fri Jul 21 23:35:13 2006 -0400 + + static markup, more dead code. + +commit 1c4f90b1d05d4c49279f3224a6dd94850a6bd8d0 +Author: Adam Jackson +Date: Fri Jul 21 23:03:21 2006 -0400 + + Open-coded path checks make baby Jesus cry. + +commit 114264584ca43091a5e07282566a30a6378a1502 +Author: Adam Jackson +Date: Fri Jul 21 22:55:41 2006 -0400 + + Remove a useless open() of the module we're about to load. + +commit 985611d5cd079f97da700c7b8e898d33da004be0 +Author: Adam Jackson +Date: Fri Jul 21 22:37:59 2006 -0400 + + Delete some long-unused testing code. + +commit 672ca156bfb11440e6e234650bfba9d38e1edb52 +Merge: d14d91f... 6cf844a... +Author: Daniel Stone +Date: Fri Jul 21 19:58:42 2006 -0400 + + Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver into input-hotplug + +commit 6cf844ab69926b6d23619a12c97734af3881ba67 +Author: Daniel Stone +Date: Fri Jul 21 19:57:28 2006 -0400 + + loader: walk directory paths with readdir(), don't stat() everything + Walk the directories with readdir, and don't stat everything we can + find. Thanks to davej for the public humiliation reminding me to go back + and re-fix this one. + +commit d14d91f094c3897c889f6aafb66d738820dae0aa +Author: Daniel Stone +Date: Fri Jul 21 19:57:28 2006 -0400 + + loader: walk directory paths with readdir(), don't stat() everything + Walk the directories with readdir, and don't stat everything we can + find. Thanks to davej for the public humiliation reminding me to go back + and re-fix this one. + +commit 87a6346bf7f086b5f98b2b2ecd52f27efe864e56 +Merge: b73fb2a... 0486d39... +Author: Daniel Stone +Date: Fri Jul 21 19:36:25 2006 -0400 + + Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver into input-hotplug + +commit 0486d3966d2888ef86d36c19f31bdbc2a3e8c652 +Author: Daniel Stone +Date: Fri Jul 21 19:35:04 2006 -0400 + + fix kbproto dependency + Depend on kbproto >= 1.0.3, for unconditional definition of + XkbSA_XFree86Private. + +commit b73fb2ae35a82e0bdd48f01132e971fb84946ff1 +Merge: e7ac27a... aff404f... +Author: Daniel Stone +Date: Fri Jul 21 19:30:26 2006 -0400 + + Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver into input-hotplug + +commit e7ac27ad81efbea6128b3cec443ca98e228d14ad +Author: Daniel Stone +Date: Fri Jul 21 19:29:28 2006 -0400 + + revert accidental deletion of lnx_io.c; re-delete lnx_kbd.c + Thinko'd which file to remove after merging from master. + +commit 81913a12910e39d7ea6af8657c1c66cc6791cd65 +Author: Daniel Stone +Date: Fri Jul 21 19:10:26 2006 -0400 + + remove undead files from master + Remove dead files which worked their way back in when merging from master. + Ugh. + +commit 7465010d59ec435bd00b738f0cef766b352dc7eb +Merge: 1d31ed7... 0aaac95... +Author: Daniel Stone +Date: Fri Jul 21 19:05:41 2006 -0400 + + Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver into input-hotplug + +commit 1d31ed778284082e1060bff63317c94581d9eb9b +Author: Daniel Stone +Date: Fri Jul 21 19:02:52 2006 -0400 + + xephyr: load keysyms at init, not enable + Load keysyms at init time, not enable, so we don't get the wrong map width. + +commit 63dfaa1d5ba556e09314ec914936e5471aab94b0 +Author: Adam Jackson +Date: Fri Jul 21 18:47:18 2006 -0400 + + Delete internal usage of the symbol ref/req lists. + +commit bca9364f3f4a2376edbcf57a34f704ce28be21ba +Author: Adam Jackson +Date: Fri Jul 21 18:41:46 2006 -0400 + + Remove the loader's required and referenced symbol lists, dead code. + +commit aff404f293ed86a44a093a51a9f11e79e6c3f4f6 +Author: Adam Jackson +Date: Fri Jul 21 18:24:37 2006 -0400 + + Detach xf4bpp from cfb. + +commit 0aaac95b0d12089b256c97f6ff955c8c229ae095 +Author: Adam Jackson +Date: Fri Jul 21 17:56:00 2006 -0400 + + Remove RCS tags. Fix Xprint makefile braindamage. + +commit eeaad0e956640aac653d194a992df7792e4abcbb +Author: Aaron Plattner +Date: Thu Jul 20 18:19:07 2006 -0700 + + Fix the RandR failure path for rotated screens. + +commit 22db3fdb54d2f7f6b72638b46c186af6db04e214 +Merge: 2f98841... 93cd538... +Author: Ian Romanick +Date: Fri Jul 21 13:55:37 2006 -0700 + + Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver + +commit 3eeb62e8f587732e6b433c2b9c6879eb26a3f1b4 +Author: Kristian Høgsberg +Date: Fri Jul 21 16:33:28 2006 -0400 + + bug #890: completely remove deprecated keyboard driver + Remove all remnants of the old built-in keyboard driver. + +commit 60ea7b51fe2b8a19a08b63db48504971a7a50ee6 +Author: Daniel Stone +Date: Fri Jul 21 15:23:37 2006 -0400 + + xorg ddx: move to new input API, remove old keyboard driver + Remove most of the rest of the old keyboard driver. + Move to the new Get{Keyboard,Pointer}Events API, which is mostly + complete at this stage: just missing the proximity events. + +commit d32dc8bf19e1071fc30af2f0bc6a6699b351f39e +Author: Daniel Stone +Date: Thu Jul 20 18:40:47 2006 -0400 + + be more careful in IVAS + + Don't walk off the end of a NULL pointer in InitValuatorAxisStruct. + +commit 7711c56d2e2aeae4dcd6d9297bc144c1cb3cfab1 +Author: Daniel Stone +Date: Thu Jul 20 18:38:57 2006 -0400 + + xephyr: fix keymap, pointer; dix: fix multiple axes + + 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. + +commit f18c3122a57df9770087e5fc70ac488552222233 +Author: Daniel Stone +Date: Thu Jul 20 16:49:17 2006 -0400 + + sanitise debug output + + Don't spit out huge chunks of pointless ephemera, especially without + --enable-debug. + +commit 463e0fe35bec3c91b19be9aacf34babb146a88c9 +Author: Daniel Stone +Date: Thu Jul 20 16:45:15 2006 -0400 + + update KDrive to new input API + + Update KDrive to fit the new API (mieqInit and InitPointerDeviceStruct), and + include InitTouchscreenDeviceStruct in the DIX. + +commit 1987af8c498a1bf394a8951ca6d5b0b7f7a35188 +Author: Daniel Stone +Date: Thu Jul 20 16:39:54 2006 -0400 + + add virtual core devices to DIX + + Add virtual core devices, with proper keymaps etc, to the DIX. + +commit 737e6e4836a6af26fedc22cda8e7d366b52c8fa7 +Author: Kristian Høgsberg +Date: Wed Jul 19 20:10:48 2006 -0400 + + define SDevicePresenceNotifyEvent prototype + +commit 7f36cc533e7f6ae44e973c5f00f9bfec7c6b7b50 +Author: Daniel Stone +Date: Wed Jul 19 20:09:13 2006 -0400 + + distribute config.h + +commit e896195eab726a2b307200958308eda8c93dd3cd +Author: Daniel Stone +Date: Wed Jul 19 20:05:33 2006 -0400 + + remove extraneous font debugging code + + Some of it didn't compile, and some of it was just unnecessary. + +commit 99c57674c002c5e88c6db34488a27b05004c9197 +Author: Daniel Stone +Date: Wed Jul 19 19:59:11 2006 -0400 + + avoid using font servers with built-in fonts + +commit ecfad74c48f633916305bcc25baaaad74aa52b78 +Author: Daniel Stone +Date: Wed Jul 19 19:55:13 2006 -0400 + + add support for built-in fonts + + Use --enable-builtin-fonts to only use built-in fonts, and avoid loading + fonts. + +commit 0a2068d123520d35818c38a555ae3ba06d8ca7fb +Author: Daniel Stone +Date: Wed Jul 19 17:29:23 2006 -0400 + + Xi: add XExtension{Keyboard,Pointer} types + + Report XExtensionKeyboard for non-core keyboards, and XExtensionPointer for + non-core pointers/mice. + +commit c7577f9b88aac84d59404f29d994ee7af583d33b +Author: Kristian Høgsberg +Date: Wed Jul 19 17:27:58 2006 -0400 + + Xi: add DevicePresenceNotify + + Add support for DevicePresenceNotify events. + +commit 3a23e499017d5823157806029263edac53c663fd +Author: Daniel Stone +Date: Wed Jul 19 17:00:23 2006 -0400 + + make XInput mandatory + + Always build Xi, since GetPointerEvents/GetKeyboardEvents relies on it. + +commit 02d09105113fb9b560a770fe15f7bb041165831c +Author: Daniel Stone +Date: Wed Jul 19 16:51:04 2006 -0400 + + new KDrive input world order + + 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. + +commit a274e7296b1bdd6f6c921f28b087610cec9548e0 +Author: Daniel Stone +Date: Wed Jul 19 13:56:23 2006 -0400 + + add GetPointerEvents/GetKeyboardEvents framework + + Add GetPointerEvents (with XFree86 pointer acceleration) and GetKeyboardEvents + to the DIX. Extend the ValuatorClass structure to account for same. + +commit b308dbf273f8c26361b0fee7aca64aec3245f60b +Author: Daniel Stone +Date: Wed Jul 19 12:15:18 2006 -0400 + + add DEVICE_TOUCHSCREEN and DEVICE_CORE Xi controls (DeviceIntRec ABI break) + + Add DEVICE_TOUCHSCREEN and DEVICE_CORE controls to the Xi code, and the + TouchscreenClassRec and a coreEvents flag, to toggle propagation of core + events. + +commit c9a3d9baa81ceb940032ffe529d9eadf2d202ab2 +Author: Daniel Stone +Date: Wed Jul 19 11:41:16 2006 -0400 + + xorg DDX: implement NewInputDeviceRequest + + Implement NewInputDeviceRequest for Xorg, mainly written by Kristian Høgsberg. + Move MatchInput to xf86Helper.c, as xf86LookupInputDriver. + +commit 02a95311568e24e1055ea52c7df8cb7aa3f38ad0 +Author: Daniel Stone +Date: Wed Jul 19 10:05:12 2006 -0400 + + add basic D-BUS configuration mechanism + + Also move LookupDeviceIntRec into the DIX, and add InputOption type, and + NewInputDeviceRequest prototype (DIX requests DDX to add a device). Does not + link without an implemented NIDR. + +commit 93cd53860c3aca182a0a02543c41b5d71d65926b +Author: Daniel Stone +Date: Thu Jul 20 16:52:31 2006 -0400 + + kdrive: allow debugging + +commit cd0874dda1c30ef91a7d2b3cd455676422599ccf +Author: Daniel Stone +Date: Wed Jul 19 20:13:02 2006 -0400 + + never define MEMBUG + + Definining MEMBUG causes allocations to randomly fail. + +commit 093943d4d02f1dbc8935b8cf835866a6e3885193 +Author: Daniel Stone +Date: Wed Jul 19 20:09:55 2006 -0400 + + define DEBUG in DIX + + Which makes #ifdef DEBUG actually useful. Incredible. + +commit 68b0678254240a984db9adefefb0cf68e9bfd4e4 +Author: Daniel Stone +Date: Wed Jul 19 20:08:32 2006 -0400 + + exa: only disable cw when COMPOSITE is built + +commit 27df2eda795681c9f05e2907d74e2c102d3441e4 +Author: Daniel Stone +Date: Wed Jul 19 16:18:28 2006 -0400 + + fix KdXvCopyPackedData to actually work + + Remove extraneous bit shift in KdXvCopyPackedData, so it's actually + useful. + +commit 00b24f119f03da86fa98ffea545c5b041810ce53 +Author: Daniel Stone +Date: Wed Jul 19 17:01:20 2006 -0400 + + fix minor typo + +commit f8a7a1e40c14a85ebde11c5854c07a8d529d38b9 +Author: Daniel Stone +Date: Wed Jul 19 17:06:00 2006 -0400 + + fix XEvIE build without XKB + + Don't unconditionally play with XKB stuff in XEvIE. + +commit 2f98841fde6bad807967ed15e954291240714198 +Author: Ian Romanick +Date: Thu Jul 20 16:08:27 2006 -0700 + + Remove unused variable. + +commit 985c34bf06af70a7296db8307899a17347a25558 +Author: Adam Jackson +Date: Thu Jul 20 17:33:13 2006 -0400 + + Remove the DDXTIME conditional, for being unused. + +commit c69c00d6523a35232a32e54a533811fc2b37815a +Merge: 4636935... 84683f1... +Author: Ian Romanick +Date: Thu Jul 20 12:08:38 2006 -0700 + + Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver + +commit 84683f19b4d1c712281036bcabf8dc623e64b26a +Author: Daniel Stone +Date: Tue Jul 18 18:16:12 2006 -0400 + + get rid of XFree86LOADER, XFree86Server, XFree86Module, and IN_MODULE + Get rid of almost all uses of these definitions. They're still defined for + delinquent out-of-tree drivers, and also for the Mesa build. As well as + for miinitext.c. But largely gone. + +commit 881953813c7307f2aac4057b48d233e5f4a574cd +Author: Adam Jackson +Date: Mon Jul 17 13:50:38 2006 -0400 + + Fix the Linux ACPI reopen code to use a repeating timer, rather than a + one-shot sleep-and-reopen attempt. + +commit f029e9a32dcaa95b84e08ec173a0cc78fd92bdbf +Author: Kristian Høgsberg +Date: Sat Jul 15 22:05:38 2006 -0400 + + Un-glx-libcwrap DMX GLX proxy so it works without GL/include. + +commit 46369350d40819ecc2a9f37ed4aaa95866b80997 +Author: Ian Romanick +Date: Fri Jul 14 15:51:55 2006 -0700 + + Add some const qualifiers to serveral function parameters. + +commit 490fb304599b1f24b36439e5c1397781e7d2f612 +Author: Ian Romanick +Date: Fri Jul 14 15:26:56 2006 -0700 + + Rearrange code in xf86int10ParseBiosLocation to use strncasecmp. This + eliminates the need for the first use of xstrdup in this function. + The second use of xstrdup was *never* necessary and has also been + eliminated. + +commit d3ee49bcbafe4b4e6b308686020847e978473779 +Author: Ian Romanick +Date: Fri Jul 14 15:13:35 2006 -0700 + + Refactor common code from the generic.c and linux.c version of + xf86ExtendedInitInt10 to xf86int10GetBiosLocationType and + xf86int10GetBiosSegment. + + These changes were tested on MGA hardware on x86-64 with various + combinations of InitPrimary and BiosLocation. + +commit 8793c7fd4ba7d1b3e2eff3f2c18d042ee9bb3f62 +Author: Ian Romanick +Date: Fri Jul 14 09:11:39 2006 -0700 + + Refactor identical xf86InitInt10 function from generic.c and linux.c + to helper_exec.c. + +commit 1450fd596433f7adfe3d0798dc2ddceb9d0a9034 +Author: Ian Romanick +Date: Fri Jul 14 09:10:32 2006 -0700 + + Trivial refactor of libint10_la_SOURCES. + +commit 4c225a3a8b2e7e5e5510347d8473f1318bbac769 +Author: James Steven Supancic III +Date: Thu Jul 13 10:03:57 2006 -0400 + + Bug #7482: Fix Xdmx's Render code to match reality; fixes BadLength client + crashes. + +commit bb3aa94845a74d7718ba9539bb76203ec82957fc +Author: Drew Parsons +Date: Tue Jul 11 18:26:55 2006 -0700 + + Bug #7346: Disable Composite extension in Xprt + + Xorg Bug #7346 + Patch #6184 + +commit 10f3e32726d5b4981abd1a3a022e5b4f219fb41e +Author: Gustavo Pichorim Boiko +Date: Mon Jul 10 16:37:53 2006 -0700 + + Fix the configure check for the --{enable,disable}-dpms option + +commit 2194d99d9ca3c607e0f5ddd911ee3df536d77564 +Author: Matthieu Herrb +Date: Sun Jul 9 16:16:08 2006 +0200 + + Replace GNU make-ism. + +commit 90a9b82272446fdaebe71c966325fd7e670f75c6 +Author: Matthew Allum +Date: Sat Jul 8 21:57:07 2006 +0100 + + Fix crash in Xephyr when running on host X with keymap width < 4 ( i.e xvnc ) + +commit 21e3e3ca298dce22e5fad6ef38aa6fe9736a1d3b +Merge: e805621... 39b2f7b... +Author: Matthew Allum +Date: Sat Jul 8 21:13:52 2006 +0100 + + Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver + +commit e8056218944e873135c93039d1e9646d51364467 +Author: Matthew Allum +Date: Sat Jul 8 21:10:58 2006 +0100 + + Add support to Xephyr for simulating 8bit grayscale. + +commit 39b2f7b2182aedb1ab45415efb4c263012ace512 +Author: Tilman Sauerbeck +Date: Sat Jul 8 19:55:53 2006 +0200 + + Bug #3042: Use autoconf to get the correct name of a struct member. + + This allows us to remove the kernel version ifdefs from the code, which + are ugly and broken. + +commit 63f13e01ee6e7df1753f2113f4cff9538596be0a +Author: Tilman Sauerbeck +Date: Sat Jul 8 11:33:44 2006 +0200 + + Bug #7097: do case-insensitive comparison for some hotkeys. + + xkb's strcasecmp implementation has been moved to the dix so it's now + safe to just use strcasecmp(). + +commit 5416f90e9c939027005fc01fa3ce3df56919ae0d +Author: Kristian Høgsberg +Date: Thu Jul 6 21:22:34 2006 -0400 + + Implement GLX_MESA_copy_sub_buffer. + +commit b84374b2917a91a7732e780ffab6a29c807a3ecc +Author: Kristian Høgsberg +Date: Thu Jul 6 02:28:55 2006 -0400 + + Add GLX_MESA_copy_sub_buffer marshalling support. + +commit 2152e2d364bdd179cf218cde446c763d8c8bb833 +Author: Ed Catmur +Date: Thu Jul 6 17:45:36 2006 -0700 + + Remove hardcoded 'lib' in XPRINTDIR. + +commit 233c004641483a75985e09fea5416ab2c7a97fc4 +Author: Ed Catmur +Date: Thu Jul 6 17:41:53 2006 -0700 + + Generate xprint.pre from xprint.cpp. + +commit b3e4d1d1f4bcf900146d7b8cd19e008209294663 +Author: Adam Jackson +Date: Thu Jul 6 18:51:29 2006 -0400 + + PPC64 build fix. + +commit f847f3c0a956c0aec8ade8e32f770daae147f40b +Author: Keith Packard +Date: Thu Jul 6 15:33:31 2006 -0700 + + xorgcfg now needs libxkbui version 1.0.2 or better. + + Old versions of libxkbui use XkbStrCaseCmp which doesn't exist any longer; + the server fails to link with that version of the libkbui library, so + require the current version (1.0.2). + +commit 27ffd7e03c05dd2083a10e5acebd2b385d729eeb +Author: Keith Packard +Date: Thu Jul 6 14:43:10 2006 -0700 + + GL proto version 1.4.7 needed for texture-from-pixmap defines. + + GLX_TEXTURE_TARGET_EXT and GLX_TEXTURE_RECTANGLE_EXT are defined as a part + of the new texture from pixmap GL extension in gl proto version 1.4.7 and + are now used by the X server code. + +commit d7a96dd6f18e54c26fc5881772d033ac078db3a1 +Author: Adam Jackson +Date: Thu Jul 6 17:39:14 2006 -0400 + + Switch the default mouse device on Linux to /dev/input/mice. + +commit 8d07ee070ecf0d403d9d27c80764d343b80af6f0 +Author: Ian Romanick +Date: Thu Jul 6 12:48:51 2006 -0700 + + Refactor linuxGetIOSize and linuxGetSizes. Eliminate the unnecessary + optimization in the search loop. + +commit 704e645207d88a2d0a372cf69f6abd778ed4c30b +Author: Adam Jackson +Date: Thu Jul 6 14:22:33 2006 -0400 + + Remind dlloader that it needs to search the global scope as well as the + loaded modules. Fixes LoaderSymbol() on symbols provided by the server. + Spotted by Aaron Plattner. + +commit 28b95fd9d1c2f078aaaac75c310a27b17c74a6fc +Author: Kristian Høgsberg +Date: Thu Jul 6 03:25:38 2006 -0400 + + Drop unused GL/include subtree. + + Woo, less Makefile's to generate. + +commit fc1a55671dceae0e2a701e044ff8203fae5eb1ba +Author: Kristian Høgsberg +Date: Thu Jun 29 04:35:45 2006 -0400 + + Implement glXCreateWindow and glXDestroyWindow. + +commit ee012588d28b468bd41da8d216210f8cb2bf8cb5 +Author: Kristian Høgsberg +Date: Thu Jun 29 04:25:54 2006 -0400 + + Move __GLXdrawable lookup and creation into GetDrawableOrPixmap. + + Also refactors __glXSwapBuffers to use GetDrawableOrPixmap for + getting the __GLXdrawable. This patch paves the way for GLXWindows + with XIDs different from the X Windows they are created for, a + prerequisite for glXCreateWindow(). + +commit 8b5bc6a9ab487fdea754266b120c686d75d9e100 +Author: Kristian Høgsberg +Date: Thu Jun 29 00:05:01 2006 -0400 + + Drop global GLX error integer variables and use __glXError() instead. + + Also drop glxerror.h (__glXError is now declared in glxserver.h) + and global.c (last remaining globals are in glxext.c now). + + With this change we now support all GLX 1.3 error codes. + +commit 7cf3ec7b59223f15314a0629f122ecb796678421 +Author: Kristian Høgsberg +Date: Wed Jun 28 17:00:23 2006 -0400 + + Move createDrawable from __GLXcontext to __GLXscreen. + +commit eea8efe4516750b2505b52ebc9f769f5e8a6f94c +Author: Kristian Høgsberg +Date: Wed Jun 28 15:59:01 2006 -0400 + + Add marshalling for GLX 1.3 requests. + + Also, hook up glXGetDrawableAttributes and glXQueryContext to existing + DoGetDrawableAttributes and __glXQueryContextInfoEXT. + +commit eb35f812a5b65adcc5f6cbb91b31b69cae5d7f3d +Author: Greg Kroah-Hartman +Date: Wed Jul 5 13:27:26 2006 -0700 + + add another file to .gitignore + +commit 863f5cc31b747bc9f2fcd6a9e20c613a11733bf4 +Author: Greg Kroah-Hartman +Date: Wed Jul 5 13:26:34 2006 -0700 + + fix compiler warning in hw/xfree86/common/xf86Config.c + +commit f059b61ab3af25b03c704669eddb838d3ce4366c +Author: Greg Kroah-Hartman +Date: Wed Jul 5 11:47:25 2006 -0700 + + fix compiler warning about xnestRecolorCursor() not being defined + +commit cc3e99f747586f9d32622e5a682de39891b1fcba +Author: Greg Kroah-Hartman +Date: Wed Jul 5 10:13:19 2006 -0700 + + fix some more compiler warnings due to defines being declared differently + +commit 59836c0f2abee3339e1aa30dacadb82e477943d6 +Author: Greg Kroah-Hartman +Date: Wed Jul 5 09:30:48 2006 -0700 + + fix wrong function pointer type in hw/dmx/dmxcmap.c + +commit 12563db59dd613ecc926e3bed9534152ebc0a2fb +Author: Eric Anholt +Date: Mon Jul 3 12:52:27 2006 -0700 + + Revert "Optimize out computing a gradient pixel if the mask value is 0." + + This reverts cf46242e337481cd3b9b39d77dd621d2a63b11f9 commit. It wasn't meant + to be pushed to master yet, and doesn't work. + +commit 002e28c12c74aa63777f65cbfb382c2bfd0d6850 +Author: Eric Anholt +Date: Mon Jul 3 12:48:12 2006 -0700 + + Correct AGP memory deallocation argument on *BSD. + + This fixes leaks and eventual crashes with RandR resizing on Intel. + +commit cf46242e337481cd3b9b39d77dd621d2a63b11f9 +Author: Eric Anholt +Date: Wed Jun 28 18:35:59 2006 +0200 + + Optimize out computing a gradient pixel if the mask value is 0. + + Obtained from: kdrive CVS (DavidR XGL fb/ megapatch) + +commit a838fb70c52a829872680f6a2a2e7dd6d2dc9247 +Author: Eric Anholt +Date: Mon Jul 3 19:22:36 2006 +0200 + + Bump server version to 7.1.99.2 for gradient and repeat fixes. + +commit 25d871d98462f0481ee419295ddc94b8c79dc881 +Author: Eric Anholt +Date: Mon Jul 3 19:22:26 2006 +0200 + + Fix source picture filter check for multiple screens. + + Now, we only check for filter commonality if we're operating on a source + picture, and we compare the id (screen-independent index of the filter name) + rather than the pointer to the filter (per-screen state). + +commit 7106a77df37c06d2b5568eceeb9297096bff3137 +Author: Eric Anholt +Date: Sun Jul 2 12:41:35 2006 +0200 + + Fix bugs in support for new repeatTypes in XAA and EXA. + + EXA now won't pass pictures with new repeatTypes to drivers. We can add a flag + for them to support it at a later time. + +commit f5e92542a14f51029347b6476e4e4af69144930b +Author: Eric Anholt +Date: Fri Jun 30 12:03:47 2006 +0200 + + Bug #7366: Fix crashes when setting filters on source pictures. + + Now, filters may only be set on source pictures when the filter is common to + all screens. Also, like SetPictureTransform, ChangePictureFilter is now not + called on source pictures. + +commit 6ef457913955d4289081c7d07d528963ccf5272c +Author: Eric Anholt +Date: Fri Jun 30 03:01:14 2006 +0200 + + Bug #7366: Fix two crashes in operations on source pictures. + + A screen's ChangePictureTransform now isn't called when changing the transform, + as source pictures aren't associated with screens. Also, attempting to set + an AlphaMap to a source picture will fail with BadMatch just like a Window + would, preventing another crash. + +commit 50a3e1ad18c815a5adafee22beccdf970bae62d6 +Author: Rudo Thomas +Date: Sat Jul 1 12:34:36 2006 -0700 + + Missing close parenthesis in one of the setuid() fixes. + +commit 124a81eb389dfa510ac07ca93ee17c4c9d6e56ea +Merge: d3d6c5f... 179737d... +Author: Keith Packard +Date: Sat Jul 1 11:12:50 2006 -0700 + + Merge branch 'origin' + +commit d3d6c5f4d05e0ca5b566e19657e0fe2b3898482a +Author: Paul Mackerras +Date: Sat Jul 1 11:10:18 2006 -0700 + + Bug #7381: Coordinates get wrapped in accelerated line drawing on pixmap + + XAAPolylinesWideSolid was adding the drawable origin onto each element in the + pPts array. Since the values got stored back into the pPts array, they got + truncated to 16 bits, causing the overflow I saw. This patch avoids storing + the coords back into the pPts array (and actually reduces the size of the + code too :). Now the 32-bit sum of coords + origin doesn't get truncated to + 16 bits, and the problem is solved. + +commit 179737d4a07ed10a734fe017b5680f8e78ffda96 +Author: Jens Granseuer +Date: Wed Jun 7 01:46:00 2006 -0700 + + Bug 7145: fix build with gcc 2.95 & other c89 compilers + + Move variable declarations to start of blocks as required by c89 + +commit 6bd4c254396cb0f4e8ae21ff455ebb15cd9f4f10 +Author: Martin Bochnig +Date: Mon Jun 26 01:52:24 2006 +0200 + + Updated Solaris aperture driver to build on sun4v & amd64 kernels + Updated for Solaris 10 changes to DDI + +commit 54d9acd5113318274e291abab4554b8e678227df +Author: Kristian Høgsberg +Date: Tue Jun 27 19:44:52 2006 -0400 + + Add damage tracking to GLX_EXT_tfp implementation. + + - Only update when pixmap content actually change; + - Only update the regions that acutally changed. + + This is a worthwhile optimization, but it doesn't completely remove + the bottleneck, as mesa still uploads then entire texture whenever + it changes. + +commit adfe8e7437ff739f54d1d074008e8cc0e3bcb4d3 +Author: Eric Anholt +Date: Tue Jun 27 21:49:00 2006 +0200 + + Bump server release to 7.1.99.1. + + This will be important for a couple of cairo workaround tests. + +commit 63c169e3b1f7d6a7375a414fcd50cce32358a525 +Author: Eric Anholt +Date: Tue Jun 27 04:11:47 2006 +0200 + + Fix MMX Saturate implementation. + + The code was expanding the source blend factor from the wrong channel. Fixes + cairo's clip-operator test. + +commit ff6b59a0dbadbe61a53e48c23965d3073d95791b +Merge: b3c8693... 48c8715... +Author: Alan Coopersmith +Date: Mon Jun 26 13:02:33 2006 -0700 + + Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver + +commit b3c869304cd85af034aa9debaa874e29d14fcbe6 +Author: Peter Breitenlohner +Date: Mon Jun 26 10:48:44 2006 -0700 + + Free small, one-time memory leak in xdmcp -from handling + + Part of Patch #6046 + +commit 48c871564d493203d434d5da015903399287f619 +Author: Eric Anholt +Date: Mon Jun 26 15:57:32 2006 +0200 + + Move EXA_PM_IS_SOLID() to the public API, since drivers will want it frequently. + +commit afb84c2fca56887b3bfe7aa93f337c49b087acdc +Author: George Fufutos +Date: Sat Jun 24 15:23:14 2006 +0200 + + Bug #6911: Check return value of exaGetPixelFromRGBA(). + +commit 930b9a069a425818d4e9965f53be7df1f4d7d422 +Author: Michel Dänzer +Date: Sat Jun 24 15:21:17 2006 +0200 + + Bug #6818: Avoid infinite loop in exaLog2() with negative arguments. + +commit 36756fdb2ddc154b406f664a6af0f38d26e6973d +Author: Michel Dänzer +Date: Sat Jun 24 15:09:24 2006 +0200 + + Make sure is actually included when needed. + + configure only defines HAVE_BACKTRACE, not HAVE_EXECINFO_H. + + This could cause problems on platforms where the size of a pointer is greater + than that of an integer, see + http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=363218 . + +commit 4426215a6e99f84550aaac23ac9c2018668bfbc1 +Author: Michel Dänzer +Date: Sat Jun 24 15:02:56 2006 +0200 + + Bug #7213: Fix the XFree86-DRI extension for byte-swapped clients. + + These clients are by definition non-local and thus not direct rendering + capable, but they still need the QueryVersion and QueryDirectRenderingCapable + requests to find out cleanly. + +commit a195a3debca02572d9f7d7a9976b5bf67acc5d08 +Author: Michel Dänzer +Date: Sat Jun 24 14:54:52 2006 +0200 + + Fix byte swapping in some GLX requests. + +commit bc6cfde19887eff7a07dc739ffa29609fb55b83d +Author: Eric Anholt +Date: Fri Jun 23 20:07:34 2006 -0700 + + Use correct OSNAME setting so we can find os-specific modules like libdrm. + +commit c7ac485a59709572307b9a4a9abacc52c7021b65 +Author: Eric Anholt +Date: Wed Jun 21 09:34:55 2006 -0700 + + Remove the default case from fbcompose.c switches which should cover all cases. + + Instead, stick the NULL return default case afterwards, so that the compiler can + warn us when we've got unimplemented cases. Removes some unimplemented and + unused 8bpp, depth 4 picture format names. + +commit 2cf1f39ca974c81a2f52d2f7509aa3d098a87176 +Author: Eric Anholt +Date: Wed Jun 21 09:30:59 2006 -0700 + + Add a manpage for EXA. + +commit d67fd106968e371d8be3966ed5ecdd3c69f36e3a +Author: Adam Jackson +Date: Thu Jun 22 12:47:51 2006 -0400 + + Add kdrive servers to .gitignore + +commit bf17c6dede1c0cf1edee10f2cc7e1e619b944d3a +Author: Adam Jackson +Date: Thu Jun 22 12:24:09 2006 -0400 + + Drop libz from the server's link line, it was only needed for LBX. + +commit c0cb8d1fb80540e093da54da3ee2f55bdf139274 +Author: Alan Coopersmith +Date: Wed Jun 21 18:12:41 2006 -0700 + + Use XACE, not XCSECURITY to decide if SecurityLookup* are exported + +commit 3177dc498a955cd58cd6054a7c7e69724db4a59b +Merge: 3f19803... 91dcac5... +Author: Alan Coopersmith +Date: Wed Jun 21 18:06:06 2006 -0700 + + Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver + +commit 3f19803e0b1adc66e695f63f915b8dc85eb84215 +Author: Alan Coopersmith +Date: Wed Jun 21 18:05:51 2006 -0700 + + APPGROUP requires both X-ACE & XC-SECURITY now + +commit 91dcac5295486cc55a34ad91704bfa483bd31eeb +Merge: d8135eb... 77c947b... +Author: Adam Jackson +Date: Wed Jun 21 20:49:30 2006 -0400 + + Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver + +commit d8135eb9e414bf6957f64c5102ee0ef7c2404c6f +Author: Adam Jackson +Date: Wed Jun 21 20:49:21 2006 -0400 + + Unbreak unbreaking the loader. Re-add the symbol reference lists so that the + linker will include everything it's supposed to. This is a terrible solution, + but ld semantics don't let you do anything better. + +commit f83cee0338eca095ad601374a87775be823a2565 +Author: Eamon Walsh +Date: Wed May 5 20:07:37 2004 +0000 + + Modify XC-SECURITY and XC-APPGROUP extensions to work with XACE + +commit 15c9002d68a7eeb02a6db1f231af7a18a3cf7512 +Author: Alan Coopersmith +Date: Wed Jun 21 16:24:20 2006 -0700 + + Correct ifdef - should be XACE, not XSECURITY + +commit 90af38fa0c46c2081d2becac262a614c26ba6ef1 +Merge: 3e098ef... 77c947b... +Author: Alan Coopersmith +Date: Wed Jun 21 16:23:31 2006 -0700 + + Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver + + Conflicts: + + Xext/appgroup.c + +commit 3e098efa35ba70ad4d5699af3130a3b02e1cb06e +Author: Alan Coopersmith +Date: Wed Jun 21 16:21:03 2006 -0700 + + Correct ifdef - should be XACE, not XCSECURITY + +commit 77c947b900faf34f425eef1549d8210c475e093b +Author: Alan Coopersmith +Date: Wed Jun 21 16:18:41 2006 -0700 + + Move Xserver internal API for appgroup from Xagsrv.h to appgroup.h + + (Since all use is inside the xserver module, might as well keep the header + in the Xserver module instead of in proto/XExt to allow easier synchronization + of updates.) + +commit 40aafaf154ba8a2cba857689d1481be2d4a610c2 +Author: Greg Kroah-Hartman +Date: Wed Jun 21 14:36:09 2006 -0700 + + fix a number of compiler warnings in os/* + +commit 77aa701e898c6525322cc4029d95167dd9f6e618 +Author: Greg Kroah-Hartman +Date: Wed Jun 21 14:16:48 2006 -0700 + + add some function prototypes to hw/xprint/DiPrint.h as they are exported + +commit 865884d050e1778180f7677e15f9ee1625ea4bb2 +Author: Greg Kroah-Hartman +Date: Wed Jun 21 14:16:28 2006 -0700 + + fix compiler warning in dix/xpstubs.c when XPRINT is not defined + +commit ed18d776f02e2ab235954501ef64936af9f9d909 +Author: Kristian Høgsberg +Date: Wed Jun 21 16:22:14 2006 -0400 + + Fix #2488 for fb too: sample pixel center when transforming. + +commit ea5e0eabd1303a55d8fc10f44d21a3d371ce8919 +Author: Matthias Hopf +Date: Wed Jun 21 17:08:51 2006 +0200 + + Bug 4320: Fastpath corner case improvement for Composite. + +commit 9af315a9be19b48faa1249e0575cbe3d1e31dec5 +Author: Eamon Walsh +Date: Wed May 5 20:07:37 2004 +0000 + + Modify XC-SECURITY and XC-APPGROUP extensions to work with XACE + +commit f68ecfa482b2c2037f929710310c7b9ce6fe9291 +Author: Alan Coopersmith +Date: Tue Jun 20 19:01:34 2006 -0700 + + Add X-ACE to build system + + - Added --disable-xace to configure.ac and issue configure error if trying + to build XC-Security without X-ACE + - Added XACE #define to dix-config.h + - Added X-ACE sources to Xext/Makefile.am + +commit a46c06dab8392cf8012c7cc0b916de9a9e569671 +Merge: 49b368c... d44b2a0... +Author: Alan Coopersmith +Date: Tue Jun 20 18:40:18 2006 -0700 + + Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver + + Conflicts: + + Xext/appgroup.c + Xext/security.c + dix/devices.c + dix/dispatch.c + dix/dixutils.c + dix/events.c + dix/extension.c + dix/property.c + dix/window.c + os/access.c + +commit d44b2a0a57fb89741173c31676af0ccc822387dc +Author: Alan Coopersmith +Date: Tue Jun 20 18:22:51 2006 -0700 + + Move Xserver API for security extension to securitysrv.h + +commit a54435946544a039fc333bb5e3438501d0d1ffc6 +Author: Alan Coopersmith +Date: Tue Jun 20 18:14:27 2006 -0700 + + Move Xserver API for security extension to securitysrv.h + +commit 49b368c0bb04816c4a3579071c596b2398cae3ec +Merge: 63f6e6b... 481d401... +Author: Alan Coopersmith +Date: Tue Jun 20 16:22:39 2006 -0700 + + Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver + +commit 481d4012e74d9b0e98911f0ae02700ecf4cfc5ac +Author: Alan Coopersmith +Date: Tue Jun 20 16:16:19 2006 -0700 + + Don't add -ldl to XORG_LIBS if it's not needed for dlopen + +commit 63f6e6bbfd0d3677e29621af982c9392ead98dd7 +Merge: 88ede2c... 6df52fb... +Author: Alan Coopersmith +Date: Tue Jun 20 16:03:34 2006 -0700 + + Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver + +commit 6df52fb7745c185c0168060f69cc6b4f5315914e +Author: Alan Coopersmith +Date: Tue Jun 20 16:02:55 2006 -0700 + + Delete code that's been inside #if 0 since X11R6.7. + +commit 88ede2cec79281a43cecb43ee6dec65770f82530 +Merge: 227a319... 2b58685... +Author: Alan Coopersmith +Date: Tue Jun 20 15:29:55 2006 -0700 + + Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver + +commit 227a3193405147fbbee2971cc15bac92cc13285a +Author: Eamon Walsh +Date: Tue Jun 1 21:09:25 2004 +0000 + + Add XACE extension source files. + + (Copied from XACE-SELINUX branch in Xorg monolith CVS since these were never + imported to modular cvs or git trees.) + +commit 2b58685402e70f123e131fd8146e6083ff5214a4 +Author: Matthieu Herrb +Date: Tue Jun 20 21:07:53 2006 +0200 + + Check setuid() return value. Bugzilla #7116. + +commit 4365d16c8629e824973ee0c357efdfbfd28b672c +Author: Kristan Høgsberg +Date: Mon Jun 19 22:13:22 2006 -0400 + + Pull over convolution filter fixes from xgl-0-0-1 branch. + + Cherry-picking patches: + + 8a5ea68800b9d7dca90ff4e573ad8533852f1ea3 and + 4d755fe14274a7293748ce9aa666ab85df6297c5 + +commit f818e0ab60da3779ab2602c6e6d3ff261b50917e +Author: Eamon Walsh +Date: Wed May 5 20:07:37 2004 +0000 + + Modify XC-SECURITY and XC-APPGROUP extensions to work with XACE + (cherry picked from 0106715000196c7b349a0b4494b61545f0f5e138 commit) + +commit 0707eb33d6826e1300a905edea28c12134600b12 +Merge: 37f0ae0... 98d17bb... +Author: Alan Coopersmith +Date: Mon Jun 19 17:09:51 2006 -0700 + + Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver + +commit 37f0ae02457bd22b27f8f30a373e5cb19f2fbaea +Author: Eamon Walsh +Date: Wed May 5 20:04:52 2004 +0000 + + Replace XC-SECURITY code with XACE security hooks + (cherry picked from 8526cd6395490b03b279f1962df777fb0e4a9878 commit) + +commit 98d17bba716619e3402bd74c7c3e1c01d055ef6e +Author: Alan Coopersmith +Date: Mon Jun 19 17:07:59 2006 -0700 + + Tell git to ignore emacs *~ droppings and git .msg files + +commit 569c808a2375be71f835ee8693605487484bd22e +Author: Eric Anholt +Date: Mon Jun 19 16:42:09 2006 -0700 + + Fix crash when using PICT_x4a4 by supplying an appropriate fbFetchPixel_x4a4. + +commit 8d9ccc90a54c786ca4ba5620ab0a965e3f3bc8ea +Author: Eamon Walsh +Date: Wed May 5 20:15:41 2004 +0000 + + Add XACE extension + (partially cherry picked from 8d4f21ab53c44ca48501d6211ea6db0c0b8af916 commit) + +commit 55426650417df4ec22ea0e2a67f6074f0ac1d54e +Author: Eric Anholt +Date: Mon Jun 19 15:04:46 2006 -0700 + + Clean up gcc warnings from picture format CARD32 -> enum change. + +commit 520c80f4b807ae6419e70fe2b524532465b509ac +Author: Eric Anholt +Date: Mon Jun 19 14:40:27 2006 -0700 + + Don't forget to step the rows when verifying the equivalence of fb/sys areas. + + This is only used by fakexa, but we would have missed some errors without this + fix. + +commit e793f0eeee3e9c83b6a7b50d451fb6db12839087 +Author: Eric Anholt +Date: Mon Jun 19 14:06:02 2006 -0700 + + Correct component ordering when fetching [ax]4b4g4r4 pixels. + + Noticed by: rendercheck + +commit e1672a12eb70836a2ceec803d505294897ae8cd2 +Author: Eric Anholt +Date: Mon Jun 19 13:20:56 2006 -0700 + + Convert PICT_* names from #defines to an enum to aid in debugging. + +commit 9742d55c820a260a42a4537502295931d4529deb +Author: Greg Kroah-Hartman +Date: Mon Jun 19 14:40:14 2006 -0700 + + update .gitignore to handle Xprint move + +commit d97a21acb878bc4e5e6542912fbd820503bba312 +Author: Greg Kroah-Hartman +Date: Mon Jun 19 14:36:54 2006 -0700 + + fix compiler warnings in hw/xfree86/i2c/fi1236.c + +commit 29c78321e86956c4ce0c1c899d82557f927e04da +Author: Greg Kroah-Hartman +Date: Mon Jun 19 14:36:41 2006 -0700 + + fix compiler warning in hw/xfree86/i2c/tda9850.c + +commit 9f2793551f335e5fb08990fc8bb9e05e0ffb68d5 +Author: Greg Kroah-Hartman +Date: Mon Jun 19 11:50:47 2006 -0700 + + fix compiler warning in hw/vfb/InitOutput.c + +commit b20ae5ddb7682bafcee6f8bf0c8208a3f70b882b +Author: Greg Kroah-Hartman +Date: Mon Jun 19 11:38:52 2006 -0700 + + fix compiler warnings in hw/xfree86/xf4bpp/ppcGC.c + +commit 4d258f31967141e3c4a6e4abbef89ffa717e85aa +Author: Greg Kroah-Hartman +Date: Mon Jun 19 11:27:47 2006 -0700 + + fix compiler warnings in XTrap/xtrapdi.c + +commit 870cecb72c2cba44dc64cb202917453603c8f287 +Author: Greg Kroah-Hartman +Date: Mon Jun 19 11:22:42 2006 -0700 + + fix compiler warnings in XTrap/xtrapdiswp.c + +commit a28652f9c35fbc009245382a5cc2a022f42366fc +Author: Adam Jackson +Date: Mon Jun 19 00:57:18 2006 -0400 + + Another round of loader sense-beating. Remove the (unused) server export + lists, a really bad hash table, the last vestiges of the other backends, + and some miscellaneous cleanups. Good for dropping 300k from the size of + the built server on x86. + +commit 98a602fab1f307a07a96868d7dae12b6f8d7f405 +Author: Adam Jackson +Date: Sun Jun 18 23:54:04 2006 -0400 + + Don't bother building RAC as a module, that's just absurd. + +commit 76aaf7eae7409162c5ed2963f2e27d019cb30263 +Author: Eric Anholt +Date: Sun Jun 18 19:47:29 2006 -0700 + + Add a couple of (doxygen) comments I wrote while looking at modesetting. + +commit 6aaf0e5b581b06fc73e56f863a26cd9d684eb9c0 +Author: Eric Anholt +Date: Sun Jun 18 19:12:15 2006 -0700 + + Add options to disable EXA acceleration for Composite/UTS/DFS, and always print + + out how much memory EXA is managing for offscreen pixmaps. + +commit 21ef7e17ef6dca177461c9438b9df707a4d664a2 +Author: Eric Anholt +Date: Sun Jun 18 18:57:55 2006 -0700 + + Add some missing .gitignore stuff for Mesa symlinks and other generated files. + +commit 71fbda8049f64c7fefae8ab817fb5f37ee2ee134 +Author: Adam Jackson +Date: Sun Jun 18 21:07:28 2006 -0400 + + Xprint/ -> hw/xprint + XpConfig -> hw/xprint/config + +commit 868e2cab706e317618646e064b0559d4e68c7b32 +Author: Eric Anholt +Date: Fri Jun 16 10:17:51 2006 -0700 + + Add explicit dependencies (Xorg_DEPENDENCIES = ) on the internal libraries + (such as libcw.la) that we link into the server, causing it to be rebuild + automatically when they're updated. Some system libraries are included, but + don't appear to cause any harm. You would think this would be automatic... + +commit 53f74b6aa95fe57fda45fd8a051595e772f00402 +Author: Eric Anholt +Date: Fri Jun 16 10:14:30 2006 -0700 + + Bugzilla #5120, #7246: In CW's GC ops, validate the backing GC against the + backing drawable if the serial numbers differ. Fixes crash in XAA which + occurred when the DDX bumped the serial number on the backing drawable and + expected it to get re-validated, and we didn't because the wrapped drawable + hadn't been bumped. + +commit b90088321e6ef84970aa97d7c851af93f49bf4b7 +Author: Ian Romanick +Date: Mon Jun 12 15:22:31 2006 -0700 + + Add arrayobj.c to the Makefile as well. + +commit f9f33b72e34eaeccea2a20f4a3dd68c2dbefc90e +Author: Michel Dänzer +Date: Mon Jun 12 20:19:11 2006 +0200 + + Track per-drawable damage to minimize UTS and DFS transfers. + + Based on work by Eric Anholt. + +commit 6060b612de6b41f872d034c6130770c1d189d0a3 +Author: Eric Anholt +Date: Mon Jun 12 20:12:31 2006 +0200 + + Provide option to report damage after operation is complete. + +commit 041ef23192b193b87f6cfc3e74e2e77f9f47cd4b +Author: Ian Romanick +Date: Mon Jun 12 09:39:18 2006 -0700 + + Add new Mesa files arrayobj.c and arrayobj.h. + +commit caad8b724b97074e41de447fe77dda189f287a26 +Author: Greg Kroah-Hartman +Date: Fri Jun 9 11:24:57 2006 -0700 + + fix compiler warnings in record/set.c + + (note this only fixed up the function definitions for the static functions + which can not cause any abi incompatibility) + +commit 51489bb5ed86cb6aa07e26a13618765c29f913e4 +Author: Greg Kroah-Hartman +Date: Fri Jun 9 10:59:47 2006 -0700 + + more .gitignore updates + +commit c4d251bd3e88cf8dfd6872537dbe30c07344b196 +Author: Greg Kroah-Hartman +Date: Fri Jun 9 10:46:18 2006 -0700 + + updated .gitignore with more pre-generated files + +commit 9f31ef83be61a900c701fcbc9a43ffae40ca7005 +Author: Greg Kroah-Hartman +Date: Fri Jun 9 10:44:46 2006 -0700 + + fix compiler warning in hw/xfree86/loader/loaderProcs.h + +commit 490ffc205a7714145cac0c63efeb6374ea28141f +Author: Greg Kroah-Hartman +Date: Fri Jun 9 10:44:25 2006 -0700 + + fix compiler warning in hw/xfree86/loader/loadmod.c + +commit 6119845d1ff832ea2b7c9cbe7ed6c6637cdcf305 +Author: Greg Kroah-Hartman +Date: Fri Jun 9 10:14:08 2006 -0700 + + fix compiler warnings in hw/xnest/Keyboard.c + +commit 1a7335ff932baa59a3283c50dd6007d81989b7e3 +Author: Greg Kroah-Hartman +Date: Fri Jun 9 10:02:08 2006 -0700 + + remove unneeded externs from Xprint/ps/psout.c + +commit 9583859d538394e98ac1f38b8e6f0997e321621d +Author: Greg Kroah-Hartman +Date: Fri Jun 9 09:59:22 2006 -0700 + + remove unneeded "extern" in Xprint/ddxInit.c + +commit cb9e29c184474edd75645e3b52e22a097a242e40 +Author: Greg Kroah-Hartman +Date: Fri Jun 9 09:54:50 2006 -0700 + + removed unneeded extern in Xprint/ps/PsWindow.c + +commit 96c19a3ec1b7e43782d373b8015fa0ca24cb4f5b +Author: Greg Kroah-Hartman +Date: Fri Jun 9 09:51:28 2006 -0700 + + put function prototype for ShapeExtensionInit() in proper place + + based on FIXME in mi/miinitext.c + +commit 576e6fb1124a47493371210adf99d6f2076e72c5 +Author: Adam Jackson +Date: Thu Jun 8 17:49:02 2006 -0400 + + Bug #7120: Multimonitor (non-Xinerama) support for xwin servers. + (Tom Whittock) + +commit d42cf4a2a4980fdd29fb15c4fd8fddda67b36256 +Author: Adam Jackson +Date: Thu Jun 8 17:46:53 2006 -0400 + + Bug #7121: fix clipboard handling in Xming (Colin Harrison) + +commit 3930da3f6209312dd0f10aba0b16ef45996a07fe +Author: Greg Kroah-Hartman +Date: Thu Jun 8 11:27:29 2006 -0700 + + fix compiler warnings in Xprint/ps/psout.c + +commit c496a3b9c981dc079fcc6c0ac4db3aa912b3dcf1 +Author: Greg Kroah-Hartman +Date: Thu Jun 8 11:23:53 2006 -0700 + + fix compiler warning in Xprint/ps/PsImageUtil.c + +commit ea24b5a25c2544f3b3de6480da125edb23a6b3a9 +Author: Greg Kroah-Hartman +Date: Thu Jun 8 11:22:01 2006 -0700 + + add proper function prototypes for Xprint/ps/PsCache.c to Xprint/ps/Ps.h + +commit ee2bb4d1929e20436cf0e830ece02fe07db2d524 +Author: Greg Kroah-Hartman +Date: Thu Jun 8 11:15:34 2006 -0700 + + fix compiler warnings in Xprint/ps/PsArea.c + +commit 92303d534a91cb0ea30e4cd0f639efd70b9739b4 +Author: Greg Kroah-Hartman +Date: Thu Jun 8 11:12:16 2006 -0700 + + fix compiler warning in Xprint/ps/PsGC.c + +commit cf6169f9e99e6e8ab264f284cfa13cb379b36207 +Author: Greg Kroah-Hartman +Date: Thu Jun 8 11:09:56 2006 -0700 + + fix compiler warnings in Xprint/ps/PsFonts.c + +commit 1abc7f96edf37a1e2c766b9cdba7fc9b2cb06d19 +Author: Greg Kroah-Hartman +Date: Thu Jun 8 11:06:51 2006 -0700 + + fix compiler warnings in Xprint/ps/PsInit.c + +commit 2dc291384c550badf55542ae645240e166676848 +Author: Greg Kroah-Hartman +Date: Thu Jun 8 11:04:40 2006 -0700 + + fixed compiler warnings in Xprint/ps/PsPixmap.c + +commit aef092e0290143c2b8b1cb98fdf55c9630032aaf +Author: Greg Kroah-Hartman +Date: Thu Jun 8 10:53:17 2006 -0700 + + fix compiler warnings in Xprint/ps/PsPolygon.c + +commit 511b231ded61159ebd70cab020ca1ca003fd0784 +Author: Greg Kroah-Hartman +Date: Thu Jun 8 10:41:34 2006 -0700 + + fix compiler warnings in Xprint/ps/PsPrint.c + +commit 35fccb0068e8d73d1e6a16aefdc771506e620f83 +Author: Greg Kroah-Hartman +Date: Thu Jun 8 10:40:24 2006 -0700 + + remove some compiler warnings in Xprint/ps/PsText.c + + Note that one of the existing warnings is pointing out a + real bug (uninitialized use for fontPage in PsPolyText16()) + if anyone really cares about this code. + +commit 1ac30947f4a222ba78558eddf8e5f03cec31f613 +Author: Greg Kroah-Hartman +Date: Thu Jun 8 10:35:18 2006 -0700 + + fix compiler warnings in Xprint/ps/PsWindow.c + +commit 9fa73721f0c3df73e508da909a5665f47a54cb57 +Author: Greg Kroah-Hartman +Date: Thu Jun 8 10:27:28 2006 -0700 + + fix up EnableDisableExtension() and EnableDisableExtensionError() prototypes + +commit c405659626477f2009603d8c0e381b8b62277bb6 +Author: Greg Kroah-Hartman +Date: Thu Jun 8 10:19:24 2006 -0700 + + comment out QualifyName in Xprint/Init.c which is not used anymore + + If someone else wants to delete this function, that's fine with me too. + +commit a940b851faba569e36983f7885aefa72f7bf2ade +Author: Greg Kroah-Hartman +Date: Thu Jun 8 10:17:53 2006 -0700 + + fix function pointer warning in Xprint/Init.c + +commit 9e0c82386ae389bcc296a5ad44e996790b033ad3 +Author: Greg Kroah-Hartman +Date: Thu Jun 8 10:16:37 2006 -0700 + + fix already-defined warning in Xprint/Init.c + +commit 40fb7eecaf14a76f35ac2dc350ad2fffdaf6e0d0 +Author: Greg Kroah-Hartman +Date: Thu Jun 8 10:11:17 2006 -0700 + + fix noDamageExtension warning in Xprint/Init.c + + Also took out duplicate definition of this variable in mi/miinitext.c + +commit 494895e0fbbf0a71bc535c0a2358c9db54c95c5a +Author: Greg Kroah-Hartman +Date: Thu Jun 8 09:43:44 2006 -0700 + + Properly define dispatchExceptionAtReset to fix compiler warnings + +commit d90eecf40ea768b2bf6340f15bb0af9dab2f3cf3 +Author: Greg Kroah-Hartman +Date: Thu Jun 8 09:11:41 2006 -0700 + + add some missing function prototypes to Xprint/AttrValid.h to fix compiler warnings + +commit bccde1609153dee93f6fe5a138fc0c0f2fe08212 +Author: Greg Kroah-Hartman +Date: Thu Jun 8 09:01:59 2006 -0700 + + fix incompatible pointer warning in Xprint/ddxInit.c + +commit 60bd8893d50ed1da9b94f4b96a07ea432e23f467 +Author: Greg Kroah-Hartman +Date: Thu Jun 8 09:01:21 2006 -0700 + + Properly #ifdef out ddxBeforeReset() to fix compiler warning + +commit ac21e6a594eac69101aa8920d70a9d60412b57f6 +Author: Greg Kroah-Hartman +Date: Thu Jun 8 09:00:42 2006 -0700 + + remove unused variable warning in Xprint/ddxInit.c + +commit 71dd44b0ad617dd36ce4ed328f9e1e8c5ef713a5 +Author: Greg Kroah-Hartman +Date: Wed Jun 7 19:17:26 2006 -0700 + + Fixed up most "warning: function declaration isn't a prototype" warnings from Xprint/ + +commit 839305bac98856a2bb1d96691e4dcf49db229f90 +Author: Greg Kroah-Hartman +Date: Wed Jun 7 19:12:23 2006 -0700 + + Remove unused variables from Xprint/attributes.c + +commit 7a40ac2585028860730ffcd333eb3fe9de63680c +Author: Greg Kroah-Hartman +Date: Wed Jun 7 16:23:45 2006 -0700 + + remove a bunch of unused variables in Xprint/Init.c (fixing the compiler warnings) + +commit 163980138cc0bfc9124456781b3dc45a49e2a129 +Author: Greg Kroah-Hartman +Date: Wed Jun 7 16:11:20 2006 -0700 + + remove some unused local variables in Xprint/Oid.c + +commit 8e41640db884a4633b598d0a52b269e6547c8bf0 +Author: Greg Kroah-Hartman +Date: Wed Jun 7 15:56:43 2006 -0700 + + add bison generated files to .gitignore + +commit 78f4ab6b89fca3086b9c9471b40c11c23fbb6142 +Author: Greg Kroah-Hartman +Date: Wed Jun 7 14:12:40 2006 -0700 + + Fix compiler warning about undefined ReinitializeRootWindow function + +commit 757f40fca50a99377e437949ee77b983c8cd6087 +Author: Greg Kroah-Hartman +Date: Wed Jun 7 14:09:13 2006 -0700 + + updated the .gitignore file with more auto-generated files + +commit cc465800ddca5fb6c9ec09fdfa8f1f05359cf396 +Author: Greg Kroah-Hartman +Date: Wed Jun 7 14:03:35 2006 -0700 + + Fix compiler warnings about SetVendorRelease and SetVendorString + +commit 785c9789704ed142fe98cd17b5995e4a95b7141f +Merge: 21ebcfd... 36d786e... +Author: Greg Kroah-Hartman +Date: Wed Jun 7 13:20:21 2006 -0700 + + Merge ../xserver + +commit 36d786e9f051c5c95c1cc8c098c84e118ed3cc85 +Author: Greg Kroah-Hartman +Date: Wed Jun 7 12:47:50 2006 -0700 + + add more files to .gitignore + +commit 8f5aa38abf1158a789b5528df9d98826342e30cf +Author: Greg Kroah-Hartman +Date: Wed Jun 7 12:33:44 2006 -0700 + + fix compiler warning about XKB_IN_SERVER redefinition + +commit 101ae616962c355388722e05ab8413eb5f5c3402 +Author: Greg Kroah-Hartman +Date: Wed Jun 7 12:06:22 2006 -0700 + + Add PanoramiXExtensionDisabledHack to globals.h as it was missing. + +commit e5b72bd9c6fb06640a5de4031be0dc9b04b4b215 +Author: Greg Kroah-Hartman +Date: Wed Jun 7 12:05:39 2006 -0700 + + Remove 3 compiler warnings in the Xext/xevie.c file + +commit e3c11f66516521959127b9ab8fd88cc4c954f5bb +Author: Greg Kroah-Hartman +Date: Wed Jun 7 12:05:01 2006 -0700 + + Added first cut at a .gitignore file to make using git easier. + +commit 21ebcfd7027b2a6182d4065e56a2ef814f5181ae +Author: Adam Jackson +Date: Wed Jun 7 14:17:31 2006 -0400 + + Demolish now-unused loader functions. + +commit f90761b06eaa5fa44fe85289e54eed5f47eff3b9 +Author: Adam Jackson +Date: Wed Jun 7 13:58:24 2006 -0400 + + Add a token for EDID-supplied modes. + +commit d00aa6b8559d3e5f70c6558ce0abd12f7d758491 +Author: Adam Jackson +Date: Wed Jun 7 11:44:36 2006 -0400 + + Delete a (now misleading) message from the crash handler. + +commit f8535edec736cf19740bd41ed2adfe531f2c26ac +Author: Keith Packard +Date: Tue Jun 6 10:29:34 2006 -0700 + + Remove ChangeLog file. + +commit 8444bb77c91cf8a23d32b3cc9749e2a3d3f9f9eb +Author: Daniel Stone +Date: Mon Jun 5 20:22:06 2006 +0000 + + When we can, bound the maximum number of PCI devices to attempt to scan, by + the number found on the system. Only implemented for Linux right now. + +commit 11cf4d2fde9219e8d6ca427acae89a0c9f5d71b1 +Author: Keith Packard +Date: Mon Jun 5 07:15:23 2006 +0000 + + Update AC_DEFINE_DIR to version compatible with CVS autoconf which requires + double eval to avoid leaving ${prefix} in output + +commit 52fc7c8dc70226cc7f03454e9be86a627672295f +Author: Adam Jackson +Date: Mon Jun 5 03:00:24 2006 +0000 + + Ensure all *ModuleData symbols are marked _X_EXPORT. Start removing + XFree86LOADER ifdefs, non-loadable hasn't been supported for a while + now. Remove completely gratuitious REMOVE_LOADER_CHECK_MODULE_INFO + ifdefs surrounding a call to a function added in XFree86 4.1 (!). + Miscellaneous static markings. + +commit d22582dc5a070f72d4653e24d1e4ebe4a112276e +Author: Adam Jackson +Date: Sun Jun 4 16:13:26 2006 +0000 + + Remove a stray LBX reference. + +commit ddc6b99505e227f99585b8c2392da524022a73e6 +Author: Daniel Stone +Date: Sat Jun 3 11:24:33 2006 +0000 + + Bump to 1.1.99.2. + +commit 4fd668940f2155c4b06d24b6da8bcccd01f66f4c +Author: Daniel Stone +Date: Sat Jun 3 10:58:37 2006 +0000 + + Bug #6619: Fix disappearing hardware cursor. (Colin Harrison) + +commit ee71cb61f8da29bcf36ea4b199d629e34f89b119 +Author: Daniel Stone +Date: Sat Jun 3 10:54:38 2006 +0000 + + Bug #6956: Fix crash when removing session leader before its children. + (Rich Coe) + +commit cd384af3058fe15077c57eccdffed3b61e261e7f +Author: Daniel Stone +Date: Sat Jun 3 10:50:23 2006 +0000 + + Completely remove relocation pointer table. + +commit 8e8c6faecddbe014d8760822e1f705b43a00fa33 +Author: Daniel Stone +Date: Sat Jun 3 10:48:37 2006 +0000 + + Add support for kFreeBSD systems. (Robert Millan, Aurelien Jarno) + +commit 5b703f847d166176920077c1e6ba1d9559fc8481 +Author: Daniel Stone +Date: Fri Jun 2 12:05:32 2006 +0000 + + Fix type confusion. + +commit 56f21bda1ce95741c88c423b60bd709eef26eb12 +Author: Daniel Stone +Date: Thu Jun 1 22:30:52 2006 +0000 + + Bug #6583: Only open /proc/bus/pci/devices once. (Bill Nottingham) + +commit a9ed5a87902a839a5a135af03db78f113b18bd86 +Author: Daniel Stone +Date: Thu Jun 1 22:06:41 2006 +0000 + + Kill LBX, too. + +commit df6da66525836d515f408a82f1a13ca5251ff0f7 +Author: Daniel Stone +Date: Thu Jun 1 20:56:39 2006 +0000 + + Simplify the unsupported XI function list. + +commit 97203f1cf6e5b7c6389f69cbb1b75ac675d09531 +Author: Daniel Stone +Date: Thu Jun 1 20:41:21 2006 +0000 + + Clean up a warning, and remove excess multiple-suffix code. + +commit 6d594ebc667afd404556ec3e108c810946b20ac5 +Author: Daniel Stone +Date: Thu Jun 1 20:22:39 2006 +0000 + + Ditch more alternate-loader braindamage. + +commit c9468177486833d521ec62c7b0266b4be8200de7 +Author: Daniel Stone +Date: Thu Jun 1 20:18:30 2006 +0000 + + Kill a.out, COFF and ELF loaders with FIRE. + +commit a3a4221495dfe4cc0a3874a08dd5364ef45a7f2e +Author: Adam Jackson +Date: Thu Jun 1 19:53:06 2006 +0000 + + Add bitmap to the ignored module list. + +commit ee689c104287140db38bbd26959ab1b4847c168e +Author: Daniel Stone +Date: Thu Jun 1 19:49:55 2006 +0000 + + Ignore requests to load GLcore and speedo. + +commit 07c731a2bc21e6b98f28a2c0ebc42f01b67b824b +Author: Adam Jackson +Date: Thu Jun 1 19:37:53 2006 +0000 + + Bug #5089: Die, libbitmap, die! + +commit 32be08ba7242da74de5defd6a4dcb536a273f57a +Author: Daniel Stone +Date: Thu Jun 1 19:22:38 2006 +0000 + + Remove horrendously ugly DDX backward-compatibility. + +commit d81edb9e00680e3c0001f343fa1d0c310b86cb93 +Author: Daniel Stone +Date: Thu Jun 1 19:22:01 2006 +0000 + + Forgot to remove this one too. + +commit a73e0f8cdfec1c9199ffe696146ba7d677c4c10d +Author: Daniel Stone +Date: Thu Jun 1 18:47:47 2006 +0000 + + Die XTESTEXT1, die! + +commit fc5ca97284ef237a91f6adb433148ff57a673c08 +Author: Matthieu Herrb +Date: Tue May 30 22:56:36 2006 +0000 + + Powerpc machines also need ioperm_noop.c + +commit 07b168c8d8b2d79a4e7cf8dc5124eafc0f2bbcd0 +Author: Adam Jackson +Date: Tue May 30 16:10:59 2006 +0000 + + Properly document the DPMS, SyncOnGreen, and TargetRefresh options. + +commit 107defd920d9b1eb52b15e8ca8665bc48bb933d6 +Author: Kristian Høgsberg +Date: Mon May 29 19:53:18 2006 +0000 + + Remove superfluous definition of tfp tokens. + +commit fd8bde8bb0f9d796b3464973b53285c0a6d22a31 +Author: Daniel Stone +Date: Mon May 29 11:14:03 2006 +0000 + + Remove -xkbmap argument. + +commit db0680cf70b8367e1f8a7fff9c0f6ec414db0542 +Author: Daniel Stone +Date: Mon May 29 09:26:32 2006 +0000 + + Minor #include cleanups. + +commit c38aab293a06f43c04f14223f94f822d91d73396 +Author: Matthieu Herrb +Date: Sat May 27 23:15:05 2006 +0000 + + check buffersize before reading next char, fixes the "mouse stuck at left" + bug (bugzilla #3113) for BSD systems using wscons. (Dale Rahn). + +commit 2102fdd0a58e18aeaa842b2ec73b6071970fafb7 +Author: Jeremy C. Reed +Date: Fri May 26 00:12:18 2006 +0000 + + RGB color database and XErrorDB install to "share" not "lib" by default (by + app/rgb and libX11). + TODO: They are customizable, so maybe cpprules.in should be extended. + +commit 354086d7e8e13fc7acbcc6603ca2a03c8cc806ee +Author: Jeremy C. Reed +Date: Thu May 25 23:32:33 2006 +0000 + + Don't do fixup_video_driver_list if no drivers. (I had signal 11 and core + dump when drivers not installed yet.) + TODO: fix fixup_video_driver_list to handle NULL argument. + +commit c6b1cff43238deded11dc58945778aec3d844598 +Author: Matthieu Herrb +Date: Thu May 25 13:27:42 2006 +0000 + + update to build against Mesa CVS HEAD (Carlos Eduardo Rodrigues Diogenes). + +commit 99724c16c9c58eb3e20ba91c79464747b8ee3fcf +Author: Matthieu Herrb +Date: Thu May 25 10:14:39 2006 +0000 + + typo + +commit 5c7aef148de23f39027fda647bbb53bb5b992683 +Author: Matthieu Herrb +Date: Thu May 25 09:57:47 2006 +0000 + + Don't destroy a pixmap twice on server exit (bugzilla #4247). + +commit 693079442377daa2dc48bf318a0d7dd256cb2738 +Author: Jeremy C. Reed +Date: Wed May 24 22:58:03 2006 +0000 + + NetBSD also has curses.h instead of ncurses.h. (TODO: Maybe instead of + checking for SCO, UnixWare, Sun SVR4 and NetBSD, the curses.h versus + ncurses.h should be tested in configure.) + +commit 9477e5e0be04f4f6fa311de8b3693fbc8a082fbf +Author: Jeremy C. Reed +Date: Wed May 24 22:43:13 2006 +0000 + + On NetBSD, add -li386 for i386 and -lx86_64 for x86_64 to SYS_LIBS. (x86_64 + on NetBSD not tested.) + +commit b3031532ca96b22e81863202efb8bbcb9d701fac +Author: Jeremy C. Reed +Date: Wed May 24 20:11:38 2006 +0000 + + Remove tolower() which was missed in the _XkbStrCaseCmp/strcmp changes. + +commit eb696f72a0819edef550bce9ff55730c02f70452 +Author: Alan Coopersmith +Date: Tue May 23 16:17:09 2006 +0000 + + Add AC_SUBST([SOLARIS_ASM_CFLAGS]) that I forgot when splitting them out of + the XORG_CFLAGS. + +commit bc0c56c407117d1545e20d21f7d30eb3472d618b +Author: Adam Jackson +Date: Mon May 22 15:47:56 2006 +0000 + + Bug #6924: Restore the ABI for DrawableRec and ColormapRec to the state + they were in prior to the fix for #6438. Based on a patch from Andy + Ritger. + +commit cc3b882bd141218052cdde0144fc2a707ceee83d +Author: Alan Coopersmith +Date: Sat May 20 00:55:44 2006 +0000 + + Update to 2006-05-19 snapshot + Remove entries now present in pci.ids + Regenerate from updated pci.ids & extrapci.ids + +commit 0b2c2b6bba5b578d5f0ac2d709d5d2ce7cb32bef +Author: Adam Jackson +Date: Fri May 19 20:29:47 2006 +0000 + + Remove dead DPMS timer functions from the installed headers. (Fredrik + Höglund) + +commit deebf6bd51117c01a3217f134bd952481b9e41ab +Author: Adam Jackson +Date: Thu May 18 23:52:51 2006 +0000 + + Bug #4139: Fix a BAR remapping bug that could lead to IERR and system hang. + (Egbert Eich) + +commit 91239d83f4e27835cf871348b5ff6c892bd4f4f4 +Author: Adam Jackson +Date: Thu May 18 23:52:41 2006 +0000 + + file getemptypci.c was initially added on branch server-1_1-branch. + +commit c11cfcfaffc79be5686c666f881c4c08f69e1b86 +Author: Adam Jackson +Date: Thu May 18 23:48:57 2006 +0000 + + Bug #6377: Ignore disabled BARs, and allow matching BARs aligned to less + than 16 bytes. (Felix Kühling, ATI) + +commit fa9a49a92db52de968d7147c71c6b9a8fd480f1e +Author: Adam Jackson +Date: Thu May 18 18:18:41 2006 +0000 + + Bug #5877: Avoid burning CPU when acpid dies. Require acpid to be running + for ACPI support on Linux. Minor errno handling fixes. (Valery + Inozemtsev, Adam Jackson) + +commit 7893dadb2f6df218a4f4ea30a41c1aa9838da1f0 +Author: Adam Jackson +Date: Thu May 18 14:39:59 2006 +0000 + + Bug #6827: Fix texel fetch in fbFetchTransformed to avoid crashes. Still + not 100% correct, but better than 7.0. (Radek Doulik, Matthias Hopf) + +commit 2892dd6d2e34957650ef1630a94d471dfa71f888 +Author: Daniel Stone +Date: Wed May 17 16:20:03 2006 +0000 + + Make Xv symbols conditional. (Enrico Wiegelt) + +commit a317bf482257f0e1b612dec7961fdfa564f0b9f2 +Author: Daniel Stone +Date: Wed May 17 15:00:18 2006 +0000 + + Make DBE support conditional. (Enrico Wiegelt) + +commit 321dbed5f5a857a23525167ab85d4d7699429132 +Author: Adam Jackson +Date: Mon May 15 18:27:18 2006 +0000 + + Bug #5209: Fix APM/ACPI support, again. (Michel Dänzer, Valery Inozemtsev) + +commit dd38d3bd673cf830c2cd591fe1245909aa729892 +Author: Matthieu Herrb +Date: Sun May 14 16:22:24 2006 +0000 + + Don't use AM_CONDITIONAL inside shell conditionals. Bugzilla #6916. + +commit 6558ba4e62dba99f2a4d830f1c16f8d1c255b316 +Author: Søren Sandmann Pedersen +Date: Fri May 12 21:53:28 2006 +0000 + + Fri May 12 17:51:26 2006 Søren Sandmann + Keep track of the previous item and update its next pointer when deleting + from the linked list. + +commit 9e239a0df7ededb50de091e5271cbfddd2b683c3 +Author: Matthias Hopf +Date: Thu May 11 11:23:43 2006 +0000 + + Bug #5796: Wrong fastpath selection for repeating sources. + +commit 9db5d2dfc33e384ea4db1b7cbc377e0b05cfb3ff +Author: Matthias Hopf +Date: Thu May 11 10:18:08 2006 +0000 + + Bug #4320: Improved XAA Composite fastpath. + +commit 9a2a63ca3ff30d15e82a29e75a3720ba5b446978 +Author: Adam Jackson +Date: Wed May 10 15:44:27 2006 +0000 + + Bug #3561: Crash fix in the Record extension. (Paul Anderson) + +commit ab1a0249ba5e3174f18a1db212bc511fd7d74cb0 +Author: Adam Jackson +Date: Tue May 9 22:36:01 2006 +0000 + + Bug #6867: Yet another Render crash fix. (Michel Dänzer) + +commit 24310f827b71009c7510a674d2f92ced89847e37 +Author: Adam Jackson +Date: Tue May 9 18:12:50 2006 +0000 + + Revert accidental commit + +commit 86ffb46358965509aa3ee536f15cb5a4e5e04426 +Author: Adam Jackson +Date: Tue May 9 18:04:29 2006 +0000 + + Bug #5209: Re-enable building APM and ACPI support. (Michel Dänzer) + +commit b46d6a44fa97a3e66de828385026b7f84d9e59b8 +Author: Alan Coopersmith +Date: Wed May 3 23:45:16 2006 +0000 + + Make Xephyr build on Solaris: + Add #include on Solaris for FNONBLOCK/FASYNC definitions + hw/kdriver/linux/Makefile.am Move agp.c & agp.h to KDRIVE_HW_SOURCES since + they're not needed for Xephyr-only builds + Add -lrt to XEPHYR_LIBS if needed to get nanosleep(). + +commit fc91ca069dd55490b99b096f029e0864b049120c +Author: Adam Jackson +Date: Wed May 3 17:50:10 2006 +0000 + + Redact a few mentions of speedo font support. + +commit b9a9cf618566bdd796556b8a1f31949f66184352 +Author: Matthieu Herrb +Date: Tue May 2 14:09:30 2006 +0000 + + Typo in ALLLOCATE_LOCAL() arguments, causing mis-computation of the buffer. + Bugzilla #6642. + +commit 1e8a594957d84a37e66183e9c0cb9d42b62bdb24 +Author: Alan Coopersmith +Date: Tue May 2 01:37:25 2006 +0000 + + Fix Solaris build with Sun compilers to work when exa is built before + hw/xfree86/os-support/solaris (as it is by default now). + +commit 724dbc2f8bbe2f21bf16f20ca7b8bb555516626c +Author: Alan Coopersmith +Date: Tue May 2 01:30:37 2006 +0000 + + Use min() [defined in include/misc.h] instead of MIN() [not defined in any + Xorg header]. + +commit ad124742ae2a265a54a4a7ac91709ec6fd6ced34 +Author: Adam Jackson +Date: Sun Apr 30 20:33:27 2006 +0000 + + Remove stray mfb/cfb references. + +commit 291e89d4f2a4bb3177b2dfe6421680e23f120b8e +Author: Adam Jackson +Date: Sun Apr 30 19:16:14 2006 +0000 + + Remove NEED_LINEHELPER BC cruft for pre-R6 DDXes. + +commit fdcacc5a4bc1d6cb7347fc66041a9c686c5c74d1 +Author: Eric Anholt +Date: Fri Apr 28 03:27:12 2006 +0000 + + Add Polylines and PolyPoint acceleration as well. This is primarily to + clean up fallback debugging output, so I can focus on more imporant + cases. Performance is comparable but without hardware stalls, and + passes Xlib9. + +commit 005529a1c9c9e78f06565dff081f03b74988081e +Author: Eric Anholt +Date: Fri Apr 28 03:26:30 2006 +0000 + + Correct some bugs causing performance issues in the "Smart" scheme. + +commit 8738bc295bba229e36d064713e0c28aa8720c494 +Author: Eric Anholt +Date: Thu Apr 27 20:27:27 2006 +0000 + + Improve EXA fallback debugging output to include the locations of pixmaps. + This is being used in tracking down recent compositing performance + regressions. + +commit 83b061776a57025076fc26d6d01fe2e049c2243b +Author: Eric Anholt +Date: Thu Apr 27 19:17:34 2006 +0000 + + Add trivial PolySegment acceleration for 0-width horizontal/vertical lines, + which still happen somewhat frequently and were cluttering up my + fallback debugging output. x11perf says it's a major performance win in + those cases (though probably irrelevant), and it passes Xlib9. + +commit 69164ec00c749787dd59d5913ec6b3d159ad74d7 +Author: Eric Anholt +Date: Thu Apr 27 02:15:19 2006 +0000 + + In drawing glyphs, shortcut our way to exaComposite instead of going + through the whole CompositePicture stack and doing things like + computing damage over again. This is a sizeable win for text drawing + with a compmgr. Also avoid calling down into the server for dealing + with the scratch pixmap when we are able to do UploadToScreen + successfully and never need it. + +commit 3d4ca57b69c40d27fe191170d0819013f8cc4947 +Author: Eric Anholt +Date: Wed Apr 26 18:27:40 2006 +0000 + + Add a helper for the Component Alpha Over case, which breaks the operation + down into an OutReverse and an Add. Turn off the fallback to software + glyphs when component alpha, now that we expect all (new) drivers to be + able to support it. Also, make Xephyr fall back in the CA Over case to + exercise this code. This speeds up my rgb24text and ls -lR in + gnome-terminal by a factor of 5. + +commit 26fa45b64258894201496f921eccb0cb7028c28c +Author: Dave Airlie +Date: Wed Apr 26 11:40:58 2006 +0000 + + Bug #6751: Use the Linux PCI ROM interface on Linux properly. The old + domain code, still modified BARs not a good idea, Just talk to sysfs, + if 0 read, fallback to old methods. + +commit c339b221d3f59130a39e63d4cec3de7e3de95bf3 +Author: Dave Airlie +Date: Wed Apr 26 11:31:07 2006 +0000 + + Bug #6750: This patch detects Intel bridges that are transparent but aren't + reported as such. From the Linux kernel fixups. This patch also removes + the reserved BIOS area from the area to allocate resources in. + +commit 6d156c044085881c6ecbd8a13521c0a26df71c30 +Author: Eric Anholt +Date: Wed Apr 26 01:33:15 2006 +0000 + + Improve the migration debugging output. + +commit eaed7545a25a08b3223bf620c2ab6f80fe7cfdf6 +Author: Eric Anholt +Date: Wed Apr 26 01:32:55 2006 +0000 + + Fix a bug in the intersection computation that could concievably cause + incorrect results to be returned (but would probably usually be + over-conservative). + +commit 5d00859c6e7d4b7ebce56f438ec4993334de2328 +Author: Eric Anholt +Date: Tue Apr 25 23:56:17 2006 +0000 + + Bug #4668: Check if the lists of glyphs don't have any intersecting glyphs, + and if they all have a maskFormat matching the format of the actual + glyphs If so, we can avoid the temporary pixmap for accumulating + glyphs, which reduces the number of operations done, and makes it + easier on the migration system. This fixes some significant performance + issues, particularly with subpixel antialiasing. Note that it does + increase the amount of damage computation which is done, so is not + always a win with a compositing manager running. + +commit 074dc9a023b3967ce00aa42c26a7c988423afe8a +Author: Eric Anholt +Date: Tue Apr 25 16:47:23 2006 +0000 + + Add an option to verify at the point of migration that pixmaps which aren't + marked dirty are in fact not dirty. This will hopefully help catch + issues like the previous commit. Leave it on in fakexa. + +commit 702d9226d57ec1584de2e8a85c268795650b1094 +Author: Eric Anholt +Date: Tue Apr 25 15:46:04 2006 +0000 + + Don't forget to mark the drawable as dirty in exaPutImage(). Fixes + corruption with drivers that have UTS. (Michel Dänzer) + +commit 39ca0867c7dd6f3bdecc52aec8df435946682098 +Author: Donnie Berkholz +Date: Mon Apr 24 05:44:06 2006 +0000 + + Remove another reference to cfb16. + +commit 81f3c2937df6230542f3223c201da8c41ff59945 +Author: Donnie Berkholz +Date: Mon Apr 24 05:39:47 2006 +0000 + + strlcpy() doesn't exist on Linux, so use the implementation in os/. + +commit a715634d23fb3124261dbbd8d7d4e6522551bb9b +Author: Matthieu Herrb +Date: Sun Apr 23 13:14:50 2006 +0000 + + Don't access free memory after unloading a module. Bugzilla #4168. + +commit 79dc6892610c9f8385cde4f0d601cc7481225c16 +Author: Benjamin Herrenschmidt +Date: Sat Apr 22 03:22:17 2006 +0000 + + When reading the kernel keyboard mapping (readKernelMapping in + os-support/linux/lnx_KbdMap.c) we overrun the usefully-named global + array 'map', scribbling on other random static variables elsewhere. + This is fixed by changing the size of at2lnx. (David Woodhouse). Bug + #5169 + +commit b37c515320dc8df2b1d160cc3f37d6bfac109b91 +Author: Keith Packard +Date: Wed Apr 19 21:56:13 2006 +0000 + + Add support for x4a4 format (depth 4 at 8bpp). Bug #6325. + +commit c947d796aad0b81d661a10b787deed967376da79 +Author: Eric Anholt +Date: Tue Apr 18 19:18:43 2006 +0000 + + Missed in previous commit: Add a new migration scheme, called "Smart" for + lack of a better name. This one behaves somewhat between Greedy and + Always. It moves in if we can accelerate, unless the destination is + clean and shouldn't be kept in framebuffer according to the score, in + which case we migrate out (and force-migrate anything where migration + is free). This should help fix lack of acceleration for drivers without + UTS since removing exaAsyncPixmapGCOps, and has removed one performance + trap with Radeon I'd noticed. It is the new default. + +commit b17a4de83e7ab18bef29ae898195889638f1cc6a +Author: Eric Anholt +Date: Tue Apr 18 19:14:07 2006 +0000 + + Add a new migration scheme, called "Smart" for lack of a better name. This + one behaves somewhat between Greedy and Always. It moves in if we can + accelerate, unless the destination is clean and shouldn't be kept in + framebuffer according to the score, in which case we migrate out (and + force-migrate anything where migration is free). This should help fix + lack of acceleration for drivers without UTS since removing + exaAsyncPixmapGCOps, and has removed one performance trap with Radeon + I'd noticed. It is the new default. + +commit 771b366abe0bc060592b548612ec413291e14bf0 +Author: Eric Anholt +Date: Tue Apr 18 18:50:35 2006 +0000 + + Fix exaGetPixmapFirstPixel to migrate as unaccelerated. Also adds a bit of + fallback debugging info to PolyGlyphBlt. + +commit 782d61a03176264e0a9eb222ae97be3d175cf0ab +Author: Donnie Berkholz +Date: Tue Apr 18 17:28:44 2006 +0000 + + Update all prefixes in config tools, so they mostly work again. Also, make + RgbPath commented out when using xorgconfig. Start using + /dev/input/mice as the default mouse location on Linux. + +commit 0f065059dcaf9c452f1cdec115f619f697fd71cc +Author: Donnie Berkholz +Date: Mon Apr 17 07:27:43 2006 +0000 + + Wrap a couple more SDK headers in if XORG, as per Dave Airlie's commit on + 2006-01-18. + +commit ba632f697a782cd47870705b6cecaac2c60d30ff +Author: Donnie Berkholz +Date: Mon Apr 17 07:10:31 2006 +0000 + + Fix kdrive build by linking in libexa before KDRIVE_LIBS. + +commit 0e62d92d5b809bc3a6503e9bc386cf961fc22557 +Author: Adam Jackson +Date: Fri Apr 14 23:43:32 2006 +0000 + + Coverity #804: Another leak on OOM path. + +commit d61219aaadf9e4aa83644a69627d3a1d3282c95f +Author: Adam Jackson +Date: Fri Apr 14 23:38:11 2006 +0000 + + Coverity #806: Another memory leak on OOM path. + +commit 1b04e313920447e4c1f42bdd5a61f188d463210c +Author: Adam Jackson +Date: Fri Apr 14 23:32:22 2006 +0000 + + Coverity #847, #848, #849: Three more memory leaks. + +commit 6545051902f2ce00c98bd1373f97ebc942667e9c +Author: Adam Jackson +Date: Fri Apr 14 23:10:59 2006 +0000 + + Coverity #1003, #1004: Two more useless null checks. + +commit ab1d420022fb09d36a0d6ad948c38147c65b9adf +Author: Adam Jackson +Date: Fri Apr 14 23:09:38 2006 +0000 + + Coverity #1005: Avoid a null deref. + +commit d01e0956a8903fb41e8a34c78973b9b2860b6446 +Author: Adam Jackson +Date: Fri Apr 14 23:08:10 2006 +0000 + + Coverity #1007: Fix a silly null check. + +commit 6d29f659318364afe046dc242d6f506ce40a944a +Author: Luc Verhaegen +Date: Fri Apr 14 23:01:35 2006 +0000 + + CVT means Coordinated Video Timing instead of Common. + +commit 82b6ea1a4b414426072bf001daeb3e9de0e93589 +Author: Adam Jackson +Date: Fri Apr 14 22:51:19 2006 +0000 + + Bug #6580: Don't install xf86drm.h, that's libdrm's job. + +commit aefa347bded9a3179ab139d0ccddce314040e9b9 +Author: Ian Romanick +Date: Thu Apr 13 21:08:25 2006 +0000 + + Fix build for added file to Mesa CVS. This is always fun. :( + +commit 6aadd454e70d83921685b58bf57ec30d95920734 +Author: Daniel Stone +Date: Mon Apr 10 10:11:19 2006 +0000 + + Fix stupid thinko. + +commit c9f6e60d42dec82d06995c05a2a011c338cadd87 +Author: Daniel Stone +Date: Mon Apr 10 08:50:33 2006 +0000 + + Coverity #826: Fix potential memory leak. + +commit 1357af2474be9a3bce7ee2350fd4252eee89a3b1 +Author: Daniel Stone +Date: Sun Apr 9 17:39:10 2006 +0000 + + Coverity #340: Fix potential NULL dereference. Clean up proliferation of + 'register int n' in loops of ProcXkbGetNames. + +commit f324be00c547effc698ae6679d12ffe90bd90e43 +Author: Daniel Stone +Date: Sun Apr 9 17:28:42 2006 +0000 + + Coverity #324: Fix potential NULL dereference. (Alan Coopersmith) + +commit 7637aa17f21e26d979fbb210a638d6751c98b1eb +Author: Daniel Stone +Date: Sun Apr 9 17:26:17 2006 +0000 + + Coverity #169: Fix potential fgets() into NULL (?!?). + +commit d5bc41b88272b4a3a1841cc1189720b0549db215 +Author: Daniel Stone +Date: Sun Apr 9 17:15:51 2006 +0000 + + Coverity #323, #445, #446, #447: Fix potential NULL dereferences. + +commit 2387bfa5ff5ed82f3f732fb9152c1ea95850a914 +Author: Aaron Plattner +Date: Fri Apr 7 18:56:04 2006 +0000 + + Bump the ABI versions. Due to Glyph privates and the XV update below, the + video driver ABI needs to be bumped to 1.0. The rest of the ABI minor + versions were bumped to include the LoaderGetABIVersion function. + Add a DrawblePtr argument to the XV hooks. This allows drivers to determine + that the target window is redirected and draw to the appropriate place. + +commit dc43909219fe2a4d03139638814b89032b2921b9 +Author: Søren Sandmann Pedersen +Date: Fri Apr 7 17:49:32 2006 +0000 + + Fri Apr 7 13:46:45 2006 Søren Sandmann + Use FreeResource instead of deleteCompOverlayClient() + +commit 94e7213d594dbbb53a6bb05d1dab7514c4ff5350 +Author: Adam Jackson +Date: Fri Apr 7 16:08:50 2006 +0000 + + Remove libc wrapper types from Xisb interfaces. + +commit 47bdc9528c2dd4ea9d59a0944c023173ea7a7a66 +Author: Daniel Stone +Date: Fri Apr 7 16:07:50 2006 +0000 + + Coverity #844, #845, #846: Fix memory leaks. + +commit 2c90c3bfef8563f739a72bb645dd52b35b6ff6d5 +Author: Daniel Stone +Date: Fri Apr 7 15:57:17 2006 +0000 + + Coverity #987: Avoid potential NULL dereference. + +commit 843146cfbaef234e13df9a62b6f0232a5efdf7f0 +Author: Daniel Stone +Date: Fri Apr 7 15:53:21 2006 +0000 + + Coverity #1216: Fix double-close of file on error. + +commit 5dacc822327689c0f096093756473c96fba67d76 +Author: Keith Packard +Date: Fri Apr 7 02:20:11 2006 +0000 + + Coverity #333, #334 - eliminate unncessary test for always true condition + in fbEvenStipple. + +commit 75a9afdbf42e4196471774102e1758f18866bec6 +Author: Adam Jackson +Date: Fri Apr 7 01:53:43 2006 +0000 + + Coverity #488: Avoid smashing an array on malformed config files. + +commit 20c1ef2cc30abe45eeaf5b0833cbc0095ed05c02 +Author: Adam Jackson +Date: Fri Apr 7 01:50:07 2006 +0000 + + Coverity #769: Fix a potential memory leak for systems that allocate on + malloc(0) + +commit 5ef711032b821be82fd7281fe64872bcbaff0327 +Author: Adam Jackson +Date: Fri Apr 7 01:41:00 2006 +0000 + + Coverity #838: Plug two more memory leaks. + +commit 69477ea4b6e666940c5dd4422bedfa6432dead04 +Author: Adam Jackson +Date: Fri Apr 7 01:37:11 2006 +0000 + + Coverity #837: Fix another another memory leak. + +commit b472ce7307dd88a21c7713a2b127e34f5c2bc817 +Author: Adam Jackson +Date: Fri Apr 7 01:35:43 2006 +0000 + + Coverity #836: Fix another memory leak. + +commit 9c84ed5f8d9eded1a8b509c9cad1ca0ebcf2166a +Author: Adam Jackson +Date: Fri Apr 7 01:34:29 2006 +0000 + + Coverity #835: Plug memory leak in extension section parsing. + +commit 12924d0da36ad2266bb040caac58534c07e85261 +Author: Adam Jackson +Date: Fri Apr 7 01:29:39 2006 +0000 + + Coverity #812: Fix parser memory leak. + +commit 49abff79957799e9229d5c0226ee1b0d7505003d +Author: Adam Jackson +Date: Fri Apr 7 01:26:33 2006 +0000 + + Coverity #818: Avoid memory leak on error path. + +commit bda292120fc97f890c1f58a31177c0f7c0bfa048 +Author: Adam Jackson +Date: Fri Apr 7 01:23:50 2006 +0000 + + Coverity #985: Avoid segfault on malloc failure. + +commit 536628bb4bcb0a0d749e0c01412a5eb5d6d24063 +Author: Adam Jackson +Date: Fri Apr 7 01:18:01 2006 +0000 + + Coverity #1037: Sanity check idx before use. + +commit 53e97ce4ddd993248561c245143b61915ea254b5 +Author: Adam Jackson +Date: Thu Apr 6 22:04:12 2006 +0000 + + missed a line while removing cfb16 + +commit 4ae12636694af05cee4287b119bde08e9ceaa8aa +Author: Adam Jackson +Date: Thu Apr 6 18:59:11 2006 +0000 + + Remove cfb16, no longer used. + +commit e1fc15a85fb367ee9afd63c920c3327c3f45158d +Author: Fredrik Höglund +Date: Wed Apr 5 21:08:45 2006 +0000 + + Put the screensaver extension back in the Xext module. + Move the screenSaverSuspended variable to DIX globals. + Restore the old link order for the Xorg and Xdmx binaries. + +commit 383c2e1e9ec54ab9de356993ad552c1aa6ec094f +Author: Ian Romanick +Date: Wed Apr 5 19:52:12 2006 +0000 + + Include fbmmx.h in fb/fbwindow.c when USE_MMX is defined. Fixes build + problem on x86-64 resulting from fbHaveMMX being a macro instead of a + function on that platform. + +commit 4697da177d545a2f8bb6fd0d6588a1c40532c339 +Author: Adam Jackson +Date: Tue Apr 4 18:30:28 2006 +0000 + + Initial checkin + +commit 83ea57bcc82f478a7ecdcd6ed73ca4be01cd9c26 +Author: Adam Jackson +Date: Tue Apr 4 14:39:06 2006 +0000 + + Bug #5729: Convert xf8_16bpp to fb. chips(4) users please test. + +commit 4c7da861185080d15b3ff4301af4af0e85a71f93 +Author: Adam Jackson +Date: Tue Apr 4 14:17:04 2006 +0000 + + Bug #5300: Fix missing spaces in the Build OS line in the log. (Egmont + Koblinger) + +commit fb6f61b50f1c701041680e49f6a406a6603f1577 +Author: Adam Jackson +Date: Tue Apr 4 12:36:16 2006 +0000 + + Bug #4806: Dump the raw EDID contents in hex to the log file for better + debugging. (Philip Prindeville) + +commit 14af50371c7f23855781924cdf6afa6ab7566a87 +Author: Adam Jackson +Date: Mon Apr 3 22:00:06 2006 +0000 + + Bug #2142: Make font path logging more readable. (Eduard Fuchs) + +commit 373f9f92566290d979730c09c9c5c5d50e23390c +Author: Adam Jackson +Date: Mon Apr 3 21:45:54 2006 +0000 + + Bug #4766: Convert all Xprint drivers to fb. + +commit d9b8bfbfafe8758ceb629606607e37546d51ca52 +Author: Adam Jackson +Date: Mon Apr 3 21:16:30 2006 +0000 + + Bug #5478: More use of fbSOlidFillmmx. (Jim Huang) + +commit b0e67782653033c6518944adfbf23e466bd8bc39 +Author: Adam Jackson +Date: Mon Apr 3 19:50:15 2006 +0000 + + Bug #6346: Build fix when using gcc -mno-sse. (Jonathan Adamczewski) + +commit 66500819b1ca730a7b1df400a8368a08cbe49335 +Author: Daniel Stone +Date: Mon Apr 3 11:37:30 2006 +0000 + + Bug #1358: Make ISO_Prev_Group cycle/wrap as ISO_Next_Group does. + +commit 2a6c11aa3b06f13dad94f3441c7184e6720a2bf4 +Author: Alan Hourihane +Date: Mon Apr 3 09:12:28 2006 +0000 + + Fix a server crash due to memsetting beyond allocated memory when running + GL applications. + +commit f6ca2b3ea92b7fe98408c51a17a590435e808b1d +Author: Adam Jackson +Date: Mon Apr 3 02:15:55 2006 +0000 + + Coverity #38: Dead branch elimination. + +commit 9b9dd747d8f4697c6d5c947c160d5991c7c8fde5 +Author: Adam Jackson +Date: Mon Apr 3 02:13:47 2006 +0000 + + Coverity #75: Dead variable elimination. + +commit 3f87aeefb4be3ac23ae636d3756ffdc446eaa62d +Author: Adam Jackson +Date: Mon Apr 3 02:12:11 2006 +0000 + + Coverity #82: Dead variable elimination. + +commit 61926dbe592468076f8c9a666f0098d067d2213e +Author: Adam Jackson +Date: Mon Apr 3 02:09:05 2006 +0000 + + Coverity #271: Fix an unbelievably boneheaded NULL chase. + +commit 7ef95da8a3e22e710882590fc47d56893159cb5d +Author: Adam Jackson +Date: Mon Apr 3 01:51:54 2006 +0000 + + Coverity #616: Fix a rare memory leak. + +commit 01ebd633017249c496f378df511586c973d49708 +Author: Adam Jackson +Date: Mon Apr 3 01:43:33 2006 +0000 + + Coverity #833: Fix a rather nasty memory leak. + +commit a01f17d6dec02f80144e108f748783cb4e429ebb +Author: Adam Jackson +Date: Mon Apr 3 01:35:05 2006 +0000 + + Coverity #983: Move some risky debugging code inside #ifdef DEBUG. + +commit c03cfca3806f45948627715b25b46839a07be979 +Author: Adam Jackson +Date: Mon Apr 3 01:31:59 2006 +0000 + + Coverity #986: Prevent a NULL chase. + +commit 07ecf49521973bbb205b199c39e1171f1163df2b +Author: Adam Jackson +Date: Mon Apr 3 01:28:11 2006 +0000 + + Coverity #992: Prevent a NULL chase. + +commit c6b3b3354c2d9139b19b132051d434e97dd19715 +Author: Adam Jackson +Date: Sun Apr 2 22:51:42 2006 +0000 + + Bump to 1.1.99.1. + +commit 7e085f52b6f07c076bd3bcfdce27c17d14d7822e +Author: Kristian Høgsberg +Date: Sun Apr 2 22:31:13 2006 +0000 + + Use xf86LoaderCheckSymbol to check for DRI symbols instead of dlsym, + avoiding RTLD_DEFAULT. (__glXDRIscreenProbe): Change GLX-DRI to AIGLX + in LogMessage for consitency. + +commit b2097b99a2e6cc045ee9b6d80946bc06c4d9302c +Author: Adam Jackson +Date: Sun Apr 2 21:45:03 2006 +0000 + + ../stub + +commit 4e3a4cfdd1d7153eb88aab05ed02ddb32601ae93 +Author: Eric Anholt +Date: Sun Apr 2 06:22:05 2006 +0000 + + Use RTLD_DEFAULT, rather than relying on NULL happening to map to it as it + does on Linux. + +commit 323fec20292fc5ad90bfee9015ecccdc13c968ad +Author: Adam Jackson +Date: Sun Apr 2 00:46:20 2006 +0000 + + Reorder link order for Xdmx to fix new screensaver variable reference + properly; remove previous awful hack. + +commit a605b9ffd3c2e7d227e35b911761f720bf07b7e6 +Author: Adam Jackson +Date: Sun Apr 2 00:09:43 2006 +0000 + + Fix some includes to point into X11/fonts/ properly. + +commit e5b1d38e142807b59ce4ec89764c949f707ec541 +Author: Adam Jackson +Date: Sat Apr 1 23:53:33 2006 +0000 + + Disable Xprint freetype support momentarily. Needs ttf2pt1.c, which exists + in the monolith but has an advertising clause in the license. + +commit ccca76b8083b83825fa16483b44e8926a35412bb +Author: Eric Anholt +Date: Sat Apr 1 23:41:23 2006 +0000 + + Clean up warnings and a debug printf. + +commit 6afa814ab16f351b2eb787e5bf481a1f9738b391 +Author: Eric Anholt +Date: Sat Apr 1 23:28:17 2006 +0000 + + Pull out fb's tile handling during fbValidateGC so we can do the necessary + exaPrepare/FinishAccess()es. Revealed by xtest with fakexa. + +commit 277f612d4eeb89adb8ccda4e8fd3d211d8d1705e +Author: Adam Jackson +Date: Sat Apr 1 23:19:08 2006 +0000 + + Hack around the new screensaver variable for DMX, which is otherwise + blissfully ignorant of it. + +commit 5f95146fcfcae60cc29265799ba3b851647105d6 +Author: Eric Anholt +Date: Sat Apr 1 22:35:16 2006 +0000 + + Export exaPrepare/FinishGC to the rest of EXA, and use it in the ImageGlyph + implementation to avoid unprepared access to the tile. Also, relocate + the fbGetDrawable to avoid using a stale dest pointer after + exaSolidBoxClipped() may have migrated it. Revealed by xtest. + +commit c720ffe875e4b2038746ff9b4767f8b90db0a307 +Author: Eric Anholt +Date: Sat Apr 1 22:17:44 2006 +0000 + + Use fb's depth-to-planemask computation, which doesn't suffer from getting + a 1 planemask at depth 32. Fixes Get/PutImage xtest tests. + +commit 5c0a2088e229d05c38e5df7daea45af0d7db7daf +Author: Daniel Stone +Date: Sat Apr 1 21:49:44 2006 +0000 + + Bug #6428: Fix off-by-one error when walking off the end of the vmodmap + list. + +commit 1e764feab595b781dab22d6e41c26f118c9d41b5 +Author: Daniel Stone +Date: Sat Apr 1 21:20:31 2006 +0000 + + Bug #5801: Check for MTRR support under Linux. Minor refactoring of MTRR + checks for other OSes. + +commit 978c7b14a18caffde5600480824d04492fc32aef +Author: Daniel Stone +Date: Sat Apr 1 21:02:40 2006 +0000 + + Make Xprint AC_ARG_ENABLEs and AC_ARG_WITHs unconditional also. + +commit 71a6f2ef6c1138c5c6918a54dfb856183f4f242c +Author: Daniel Stone +Date: Sat Apr 1 20:58:42 2006 +0000 + + Unconditionally run XP_USE_FREETYPE AM_CONDITIONAL, not only in the Xprint + path. + +commit d1e90113fc32b6ddc4dbe1a074763c31bc133e75 +Author: Eric Anholt +Date: Fri Mar 31 23:22:29 2006 +0000 + + Don't attempt to Prepare/FinishAccess NULL pDrawables. Exposed by new + gradient testing in rendercheck. + +commit 2e38fedd29e7e55d01e3edce6a73b8ceaac17911 +Author: Eric Anholt +Date: Fri Mar 31 19:41:28 2006 +0000 + + Add an option to EXA for the DDX to request that EXA hide the pixmap's + devPrivate.ptr when pointing at offscreen memory, outside of + exaPrepare/FinishAccess(). This was used with fakexa to find (by NULL + dereference) many instances of un-Prepared CPU access to the + framebuffer: + - GC tiles used in several ops when fillStyle == FillTiled were never + Prepared. + - Migration could lead to un-Prepared access to mask data in render's + Trapezoids and Triangles + - PutImage's UploadToScreen failure fallback failed to Prepare. + +commit f480dc797b51f080f912efc7867d6d8e50be074c +Author: Eric Anholt +Date: Fri Mar 31 19:25:42 2006 +0000 + + Revert mistaken commit to exa_unaccel.c. Should have been to + exa_offscreen.c: Correct a typo in debug-only offscreen validation + code. (Wang Zhenyu) + +commit 1a8167c1baa767fc056d1e17d96d0ea98a5f3b17 +Author: Eric Anholt +Date: Fri Mar 31 19:16:51 2006 +0000 + + Correct a typo in debug-only offscreen validation code. (Wang Zhenyu) + +commit 7ea30b507f4ce5ce20fbfaca80f7d5b53a99eb1d +Author: Fredrik Höglund +Date: Fri Mar 31 18:49:38 2006 +0000 + + Move the screensaver extension from module to builtins. + Add the server side implementation of the ScreenSaverSuspend request. + Require scrnsaverproto >= 1.1, and change the linking order of the Xorg + static libs. + +commit acca49b1a5a6c034f3b9d51d9016b8a7d43da809 +Author: Søren Sandmann Pedersen +Date: Fri Mar 31 17:39:35 2006 +0000 + + Fri Mar 31 12:37:16 2006 Søren Sandmann + Fix copyright statement + +commit b074ce22470ba0a51eda2af7100d09a260a1e8bb +Author: Egbert Eich +Date: Fri Mar 31 15:11:51 2006 +0000 + + fixed typo. + +commit 710bb2e6c8b2874406e48fa8ad24539290c98d41 +Author: Daniel Stone +Date: Fri Mar 31 14:52:57 2006 +0000 + + Reindent with -cbi0. + +commit 7c44bb8c49656133eae675377edea55322d254ca +Author: Daniel Stone +Date: Fri Mar 31 07:33:34 2006 +0000 + + Simplify XkbWriteXKBKeymapForNames a bit, and remove debug spew. + +commit 4c317bbc1259fa555dc5d5278226b21c42845c0c +Author: Daniel Stone +Date: Fri Mar 31 07:21:41 2006 +0000 + + Add full FreeType support for Xprint. (Drew Parsons) + +commit 759033703ce17b20d57756206f48a7ae410a50d1 +Author: Eric Anholt +Date: Thu Mar 30 21:44:36 2006 +0000 + + Remove the exaAsyncPixmapGCOps mostly-unaccelerated ops vector, and always + plug in the accelerated one, even if the destination pixmap is + currently offscreen. This was a leftover from when kaa originally got + accelerated offscreen pixmap support, and its only concievable use was + to avoid a little overhead on ops to in-system pixmaps that weren't + going to get migrated. At this point, we probably care more about just + getting everything accelerated that we easily can, which should happen + with the new migration support. + +commit b9203dc068ccd4c0d22d49a94b910783432b96a8 +Author: Eric Anholt +Date: Thu Mar 30 21:25:43 2006 +0000 + + Don't do an extra fallback path for CopyWindow while swappedOut, since + exaCopyNtoN takes care of the fallback anyway, and we don't care about + the performance of this path. + +commit 5c04610f8aeceed9ec7cd0ca8c5eb314cacc3c25 +Author: Eric Anholt +Date: Thu Mar 30 21:21:59 2006 +0000 + + Add a dependency on EXA, so it rebuilds when the library does. The manual + indicated I shouldn't do this, but experience indicates I should. + +commit 8ec42a10ff04e51e8d0b4cffb15064d901bc398d +Author: Kristian Høgsberg +Date: Thu Mar 30 20:08:44 2006 +0000 + + Mark the ARGB FBConfig as nonconforming to prevent drivers and apps from + falling over. + Add @GLX_DEFINES@ so GLcore gets compiled with TLS support if configured. + Only destroy the mesa buffer if it got initialized. + +commit 08e319091fae7a60ae9fa757659cfde2966af9e9 +Author: Egbert Eich +Date: Thu Mar 30 18:53:41 2006 +0000 + + Added notice to last ChangeLog entry + Fixes for some vsw4 failures on 64bit BE platforms such as PPC64 and s390x. + Provided by Hong Bo Peng of IBM (slightly modified). Patches try to + resolve some of the careless mixtures of ulong and uint (which are + different size on + 64bit). > This patch will break the driver ABI! < Bugzilla #6438. + +commit 9da1d2257d02155cc8b4541cf5fcb4e64d756945 +Author: Egbert Eich +Date: Thu Mar 30 18:48:11 2006 +0000 + + Fixes for some vsw4 failures on 64bit BE platforms such as PPC64 and s390x. + Provided by Hong Bo Peng of IBM (slightly modified). Patches try to + resolve some of the careless mixtures of ulong and uint (which are + different size on + 64bit). Bugzilla #6438. + +commit 6d7ad353bafe914f0b50887daaeaae89ada6ebd3 +Author: Kristian Høgsberg +Date: Thu Mar 30 18:29:53 2006 +0000 + + Regenerate these files using updated scripts to avoid unused variable + warnings. + +commit 2153fa97482bae5737def3ecd4fe1cdc03834991 +Author: Eric Anholt +Date: Thu Mar 30 05:24:27 2006 +0000 + + Bug #2986: Add PutImage acceleration for the ZPixmap, planeMask ~= + FB_ALLONES, bitsPerPixel >= 8, GXcopy cases. With the radeon driver on + my machine, this gives about 10% speedup in PutImage + 10x10 and 500x500, and 40% speedup for 10x10 ShmPutImage, up to 65% + improvement in 500x500 ShmPutImage. Also fixes a crasher in GetImage + that slipped in at the last minute. + +commit 3cf46cc1e32efc0e4be1d88be111ba0438e0f021 +Author: Eric Anholt +Date: Thu Mar 30 05:15:58 2006 +0000 + + Add an UploadToScreen implementation, for testing PutImage support, and + make the DownloadFromScreen more robust. + +commit e799dd68e2bd0fa8ac3c344111fb12e1f32d4c10 +Author: Eric Anholt +Date: Wed Mar 29 22:25:17 2006 +0000 + + Bug #2986: Add acceleration of GetImage using DownloadFromScreen for the + ZPixmap, planeMask ~= FB_ALLONES, bitsPerPixel >= 8 case. I'm pretty + convinced that this is the only case that we care about at all. Tested + with xwd -root and xwd on a gnome-terminal, in a composited environment + or not. + +commit 4bb5ab0b4453208573b91b334940f190a8f7210a +Author: Eric Anholt +Date: Wed Mar 29 22:03:18 2006 +0000 + + Add a DownloadFromScreen implementation, used for testing GetImage + acceleration, and set the migration scheme to Always on init (since + this is all for testing, and Always should make migration happen more + frequently than Greedy). + +commit e31e8ace1043eab340d6b60a6e98b23ebf102786 +Author: Deron Johnson +Date: Wed Mar 29 17:51:54 2006 +0000 + + Fix composite overlay window bug 6411 + +commit ff6f88348c7498e83b0b143ef3737fd6eb0995e4 +Author: Adam Jackson +Date: Wed Mar 29 01:05:09 2006 +0000 + + More warning cleanup. + +commit 52d9ce7f4fc599d30dec2e61fc1720597043d91c +Author: Kristian Høgsberg +Date: Tue Mar 28 21:45:14 2006 +0000 + + Fix another typo. + +commit 7df64898eac46a487e8eab2af7213d133b9ca419 +Author: Kristian Høgsberg +Date: Tue Mar 28 07:46:04 2006 +0000 + + Fix a couple of typos. + +commit bd283c2464e2c0e1fd0aca1dedff0f39c2564c34 +Author: Aaron Plattner +Date: Tue Mar 28 07:21:50 2006 +0000 + + Add a new export, LoaderGetABIVersion. This function allows modules to + query the versions directly instead of having to guess. Bug #6416: Add + LoaderGetABIVersion. + +commit a06342eccc76035ff859fee4d283b288c90ee923 +Author: Kristian Høgsberg +Date: Tue Mar 28 02:57:07 2006 +0000 + + Add --enable-glx-tls ./configure option to enable use of TLS for storing + current GL context. Use this option to let AIGLX load DRI drivers + compiled for TLS. + +commit 77531dfb9f9f3ca0e38ad0555ee3735d6f28cf19 +Author: Adam Jackson +Date: Tue Mar 28 01:22:01 2006 +0000 + + Silence some editorializing in the configure help text. + +commit 7deaaa797cf8e7ca71e9b34fa6f413d1ed2b3dab +Author: Adam Jackson +Date: Tue Mar 28 01:21:00 2006 +0000 + + Big old pile of warning fixes. + +commit 7342dbe4b2108827eaf30993ceeecbd828da2290 +Author: Adam Jackson +Date: Tue Mar 28 00:18:31 2006 +0000 + + Remove long-dead screen region code. + +commit 0e88cefbfecbff0c7dd606ce0caca840f45cbc0d +Author: Daniel Stone +Date: Mon Mar 27 23:03:47 2006 +0000 + + Prune XKB code to only what we need to run the server. Remove dead + !XKB_IN_SERVER codepaths. Remove HAVE_CONFIG_H codepaths. + +commit 5be8a66d324f3d5840b134ad29069eace64e6f12 +Author: Daniel Stone +Date: Mon Mar 27 22:28:32 2006 +0000 + + Fix remnants of previous busted _XkbStrCaseCmp commit. + +commit 9e202dfe40e2bdd66f461a6ba531e927f82096ae +Author: Daniel Stone +Date: Mon Mar 27 22:25:56 2006 +0000 + + Remove remnants of XkbCF code. + +commit 7257590651328f89d23e80da1ec6241542a660cd +Author: Daniel Stone +Date: Mon Mar 27 21:15:06 2006 +0000 + + Move XFree86 DDX XKB actions into dixmods. + +commit d7b9e2b0e9d6889ea6b05e63892e612f4e5f19f5 +Author: Daniel Stone +Date: Sat Mar 25 23:09:50 2006 +0000 + + Bug #3819: Remove open-coding of strcasecmp. + +commit b3570dd94aa72f94e537a17680150e91e7712f5a +Author: Daniel Stone +Date: Sat Mar 25 22:37:58 2006 +0000 + + Remove INITARGS braindamage, change to void; add XkbExtensionInit prototype + to xkb.h. Explicitly initialise nTypes in xkb.c. + +commit 1ef60ce8ebb681b3cfb5e515be5c187c0442dcda +Author: Daniel Stone +Date: Sat Mar 25 22:35:48 2006 +0000 + + Really remove all DDX pre-config code. + +commit ec10f70b2114e5369a5b2f34b084dcf55634dcb4 +Author: Daniel Stone +Date: Sat Mar 25 21:52:49 2006 +0000 + + Remove XkbCF DDX configuration code. + +commit aae4238360b842ac34dc8ee16e165a1821f9a801 +Author: Daniel Stone +Date: Sat Mar 25 20:17:58 2006 +0000 + + Fix two glaring unconditional-NULL-dereferences. + +commit a68c11bb1d7c5419004a1714e49dffac57304e78 +Author: Adam Jackson +Date: Sat Mar 25 19:52:05 2006 +0000 + + Mark everything in xf86sym.c as _X_EXPORT. + +commit ae935832facfa81a9689882406ecca74b0346790 +Author: Fredrik Höglund +Date: Fri Mar 24 20:50:13 2006 +0000 + + Refactored the screensaver and DPMS timer code to use the screensaver timer + for both screensaver and DPMS. Removed the SetDPMSTimers() and + FreeDPMSTimers() functions. + +commit d1746ec0f0c8a0b750f390e7a7faf21b67683f4a +Author: Kristian Høgsberg +Date: Fri Mar 24 17:58:39 2006 +0000 + + Make sure DRI module is loaded before calling DRI functions. + +commit f1616508c95d12dfaad2cfd61b40228b3dba6f60 +Author: Alan Coopersmith +Date: Thu Mar 23 23:54:08 2006 +0000 + + Add ast driver/pci id (Carl Switzky, Sun Microsystems) + +commit 6d2896b384e17512e8f12036daabcd575d21f804 +Author: Kristian Høgsberg +Date: Wed Mar 22 22:49:52 2006 +0000 + + Improve error logging. + +commit 5449634e3c9428005aba5b3322ced7e86c62f185 +Author: Søren Sandmann Pedersen +Date: Wed Mar 22 21:37:49 2006 +0000 + + Wed Mar 22 16:28:46 2006 Søren Sandmann + Use inline assembly for copy area, since gcc doesn't generate movq + instructions. + +commit 5b3084c64f7bd1232603ffb3e985600b8d045453 +Author: Søren Sandmann Pedersen +Date: Wed Mar 22 21:13:08 2006 +0000 + + Wed Mar 22 16:05:09 2006 Søren Sandmann + Use inline assembly for solid fills, since gcc doesn't use the movq + instructions. + +commit a08e5e0c68baaf85b0fc3ecde74a6bcf80bcd4bf +Author: Søren Sandmann Pedersen +Date: Wed Mar 22 18:44:26 2006 +0000 + + Wed Mar 22 13:42:44 2006 Søren Sandmann + Patch by Keith Packard to make sure redirected windows don't get considered + "FullyObscured". + +commit 966d93ef6d1f2ed02f3b81b5bf5a1ebbdd48c93d +Author: Kristian Høgsberg +Date: Tue Mar 21 22:54:38 2006 +0000 + + Make the server distcheck and tag 1.0.99.1 snapshot. + Bump CVS version to 1.0.99.1. + Distcheck fixes. + +commit 8e3ad87d01c102591c7dc25614f6ac10e444a1b1 +Author: Kristian Høgsberg +Date: Tue Mar 21 22:32:13 2006 +0000 + + #include indirect_dispatch to get prototypes for FBO functions. + Fix a couple of warnings. + +commit dcc43d57cbe9d2b65384fe9ba2e4e4fbb43cb0a1 +Author: Donnie Berkholz +Date: Mon Mar 20 20:10:29 2006 +0000 + + Finish glx_ansic.h wrapper changes to make Xvfb and Xnest link again. + +commit 9509c6799e31e96677b6d07bdf24ea91ddd30020 +Author: Adam Jackson +Date: Mon Mar 20 19:32:18 2006 +0000 + + dead file removal + +commit 61a020265c5915e3d671d5b2047b81a5d15594c3 +Author: Adam Jackson +Date: Mon Mar 20 18:43:18 2006 +0000 + + Bug #5549: Fix build for sparc64. (Matthieu Herrb) + +commit 6eb4e2303aaab8d64e3f6cbc0bbee55689bdcb82 +Author: Adam Jackson +Date: Mon Mar 20 14:01:05 2006 +0000 + + Bug #6213: Check geteuid's return value, not its address, otherwise + unprivileged users can set the modulepath and run arbitrary code. Patch + from Matthieu Herrb. (CVE-2006-0745, Coverity #4) + +commit 8c1bb37d0649b269b78c457b8b41ff59a41d89af +Author: Daniel Stone +Date: Fri Mar 17 08:55:07 2006 +0000 + + Typo fix, reindent. + +commit 2d2d38d17cc2558f8a41166a4a1578bc4c663c37 +Author: Kristian Høgsberg +Date: Fri Mar 17 01:47:25 2006 +0000 + + Check for glproto when building GLX and make sure we have at least 1.4.6. + Drop glx_ansic.h wrapper and call xalloc, xrealloc, xfree and str-funcs + directly. + +commit 2c11cde3367fcd22740b577a4364b1e41cf3e1d2 +Author: Kristian Høgsberg +Date: Fri Mar 17 00:35:18 2006 +0000 + + More patches from David Reveman: + Add GL_ARB_texture_non_power_of_two, GL_EXT_framebuffer_object and + GL_NV_texture_env_combine4 extensions. + Add __GLXcontext destructor and flush context cache there and on + loseCurrent. + Chain back to new __GLXcontext destructor. (__glXMesaContextForceCurrent): + Set render table on forceCurrent. (init_screen_visuals): Index pVis + array correctly. (GlxGetMesaProvider): Add this. + Hook up FBO marshalling. + +commit 14aafc258cd774cf937f9798a888c2d3c97ccacf +Author: Eric Anholt +Date: Thu Mar 16 18:43:55 2006 +0000 + + Change EXA so that exaMoveOutPixmap() retains the framebuffer copy of the + pixmap, and damage is tracked so that a later exaMoveInPixmap won't + result in an upload if no upload is necessary. This will likely improve + the performance of the "Always" migration scheme significantly, and is + a step in the path to more exact damage tracking between framebuffer + and system memory. + +commit d0d336efd58896718f31a400651bacd9b769fb5a +Author: Daniel Stone +Date: Thu Mar 16 16:29:17 2006 +0000 + + Add support for ZX2 PCI-E local bus adaptors. (Alex Williamson, HP) + Use soft timeout register to avoid MCAs when probing for non-existent local + bus adaptors on ZX2. (Alex Williamson, HP) + +commit 175980580e572745a9a381b4432e3ba0457d3ba3 +Author: Adam Jackson +Date: Wed Mar 15 23:05:53 2006 +0000 + + Bump to requiring fixesproto >= 4.0 and compositeproto >= 0.3. + +commit 6fe377af5a82deb6f8b0f3b75414335e7845caac +Author: Matthieu Herrb +Date: Wed Mar 15 21:25:38 2006 +0000 + + - OpenBSD needs -Wl,-export-dynamic to export symbols from main executable + to modules. + - Probe for OpenBSD aperture driver and define HAS_APERTURE_DRV + accordingly. + +commit 21f7f2fb113ee4f9cd011c3cc2d45d43bbdd35fa +Author: Felix Kuehling +Date: Wed Mar 15 18:43:32 2006 +0000 + + Enable correct handling of the BTS instruction (opcode 0f ab) The code was + there but #ifdefed out. Insead of BTS, BT was executed. This patch + enables the BTS function and hooks it up the the correct opcode. (ATI + Technologies Inc.) + +commit b726aa502a871c700bc42b5325abf2c6820ff756 +Author: Felix Kuehling +Date: Wed Mar 15 18:37:44 2006 +0000 + + Update to build against Mesa CVS HEAD. + +commit c74464d92cd673ff0669375757caab798cc57e95 +Author: Eric Anholt +Date: Wed Mar 15 16:59:45 2006 +0000 + + Don't let pinned pixmaps get migrated in when using the "Always" migration + scheme. This notably keeps the visible screen from getting migrated in + to a new location in framebuffer. + Reported by: Michel Dänzer. + +commit b9c43cde1e368903786977b06368d5e36db9ffe8 +Author: Adam Jackson +Date: Wed Mar 15 16:56:10 2006 +0000 + + Coverity #1042, 1043: Nuke some dead variables. + +commit 5e106a71b9f8077216d41619402952b0005dd8a4 +Author: Adam Jackson +Date: Wed Mar 15 16:49:04 2006 +0000 + + Coverity #807: Fix a memory leak in XFixesExpandRegion. + +commit a3ef63696cac950b2520e7c85564befc0a830fde +Author: Adam Jackson +Date: Wed Mar 15 16:36:31 2006 +0000 + + Coverity #490: Fix a range check in xf86vidmode extension. + +commit 152090ce442e94de1ae920208a92931af6493c8c +Author: Adam Jackson +Date: Wed Mar 15 16:33:12 2006 +0000 + + Coverity #487: Check version number correctly. + +commit 72cc6307257fcbb800267464487bf918ee674328 +Author: Adam Jackson +Date: Wed Mar 15 16:32:05 2006 +0000 + + Coverity #491: Check version number correctly. + +commit 460f2ea4a594a53536f34c4ad27795fceec50bcc +Author: Adam Jackson +Date: Wed Mar 15 16:21:04 2006 +0000 + + Coverity #794: Fix a highly unlikely memory leak. + +commit 116d158e85ec43577ff69aeb3271ab1f888500c9 +Author: Adam Jackson +Date: Wed Mar 15 16:16:24 2006 +0000 + + Coverity #269: Compare the requested ABI class against the ABI class of the + module, not the module class. + +commit d8221a9b70a11606a0f7e1f69afee6049d7f182f +Author: Adam Jackson +Date: Wed Mar 15 16:11:34 2006 +0000 + + Coverity #484: Fix an off-by-one in module refcounting. + +commit 6bb2dc02a7cffd6ed7dd28e88d584920a4150749 +Author: Adam Jackson +Date: Wed Mar 15 16:01:47 2006 +0000 + + Coverity #337: Remove useless NULL check. + +commit 1e5c0842af99027cc6c30a16f967d8b60c9a894d +Author: Adam Jackson +Date: Wed Mar 15 15:34:57 2006 +0000 + + Coverity #1053: Nuke a dead variable. + +commit 7314d16cde4c3f99d9d9f1d539f0c5ff4942e653 +Author: Benjamin Herrenschmidt +Date: Wed Mar 15 03:18:42 2006 +0000 + + Fix DRIExtensionInit() to not register callbacks when it hasn't been + initialized for the current server generation. Fixes a problem where it + would use stale private index and blow up in colorful ways if no driver + called DRIScreenInit() on the second generation (which happens due to a + bug in radeon that i'll fix separately). Note: clearing the index in + DRIReset() wouldn't work as DRIReset() is called before the + CloseScreen() chain + +commit 02d80a0de93f7592e69065b0fbe5820dcdebdb44 +Author: Benjamin Herrenschmidt +Date: Wed Mar 15 03:12:32 2006 +0000 + + Make xf86 linear allocator smarter when dealing with alignment constraints + when falling back to X/Y allocations. Fixes various problems of Xv + allocation failures, notably with "nv" driver. + +commit c1601717d536419693b3ef6e8a3d69b9f2fdc2b3 +Author: Eric Anholt +Date: Wed Mar 15 01:20:08 2006 +0000 + + Add a new migration scheme, "always", which will move pixmaps to their + desired location always (unless they don't fit in FB, in which case + they all get moved out for software rendering). The default remains as + before, but can be controlled by the MigrationHeuristic xorg.conf + option (which is intentionally not documented, as it may be + short-lived). This is part of the exa-damagetrack work, which appears + stable in testing with fakexa, unlike the work as a whole. + +commit a90cff266cc81993ed804fb320c1dbfe5e0d4787 +Author: Eric Anholt +Date: Wed Mar 15 00:13:52 2006 +0000 + + Add more doxygen documentation, including notes on WaitMarker() and + MarkSync() that I noticed were needed while reading the VIA driver. + +commit 693e42114f1127528448126d78a5209dd1198d8d +Author: Eric Anholt +Date: Tue Mar 14 21:30:12 2006 +0000 + + Move migration logic to a new function, exaDoMigration(). This is largely a + manual conversion to allow for different migration schemes to be + implemented reasonably, but does include some minor improvements such + as accounting for pinned pixmaps not being acceleratable, and for our + current GetImage and GetSpans not being accelerated. + +commit d30905478078036383977ae9d4a3685c2e2c642f +Author: Eric Anholt +Date: Tue Mar 14 20:38:06 2006 +0000 + + Pull code for getting the (0,0) pixel from a pixmap out to a separate + function, since it gets repeated (with bad error handling, in one + case). + +commit 01aa209f2056ef04e3f2735756a0f8b4a67a3d87 +Author: Kristian Høgsberg +Date: Tue Mar 14 19:32:27 2006 +0000 + + Bail out early if screen doesn't support DRI. + +commit 0cc34266d6e84bb491fcf9aa74e34615b2fca4fc +Author: Deron Johnson +Date: Mon Mar 13 22:43:42 2006 +0000 + + Updated ChangeLog for my latest composite and xfixes changes. + +commit 450018f48b2796345a4eaccbb94c1971ebd30114 +Author: Deron Johnson +Date: Mon Mar 13 21:59:55 2006 +0000 + + Part 3 of 3 (Other parts are in proto and lib) Composite Version 0.3: + CompositeGetOverlayWindow, CompositeReleaseOverlayWindow Xfixes Version + 4.0: XFixesHideCursor, XFixesShowCursor + +commit e5956f49b217b0ee9c9f35b6a58f339a8d22b1d7 +Author: Kristian Høgsberg +Date: Mon Mar 13 01:54:59 2006 +0000 + + First batch of AIGLX fixes from David Reveman. + Add getter for Mesa provider. + Export this for Xgl. + Move resource tracking out of drawable constructor to allow wrapping. + Use corrent reply size #define. + Add this function. (DoGetDrawableAttributes): Fix array length. + +commit eb63e50d95da4e1e08fc6fcec46ac63d5e3b7bf4 +Author: Matthieu Herrb +Date: Sun Mar 12 17:14:03 2006 +0000 + + Fix build when AIGLX is false. + +commit 9ed3463450469c3108e0be7e4baabc0a403a78b2 +Author: Eric Anholt +Date: Sun Mar 12 03:04:52 2006 +0000 + + Improve doxygen formatting, and attempt to clarify the 1:1 ratio of + successful PrepareCopy()s to DoneCopy()s. + +commit 9a7fba5fd07c8831d0acab8d901605de537ae273 +Author: Eric Anholt +Date: Sun Mar 12 03:02:26 2006 +0000 + + Make exaCopyNtoNTwoDir() call DoneCopy() at the end of each string of + consecutive Copy() calls (rather than exactly once at the end of the + function). + Reviewed by: jbarnes + +commit c3342c8000f6d2bfb61e2cf95e028d11b59698fa +Author: Kristian Høgsberg +Date: Sun Mar 12 00:11:34 2006 +0000 + + Merge accel_indirect branch to HEAD. + +commit b1b731c28630965d9e2defe62d1108270dc8264c +Author: Alan Coopersmith +Date: Sat Mar 11 02:43:51 2006 +0000 + + Fix buffer size checks to prevent 2-byte buffer overflows. (Coverity #480, + #481, #482, #483) + +commit fc0772de36315f19f5b57220db69f48a3b1fdc9a +Author: Alan Coopersmith +Date: Sat Mar 11 02:10:14 2006 +0000 + + Add HAS_MMAP for Xvfb + Fix Xvfb option parsing to exit on bad arguments, not just issue error + messages and continue on. (Coverity #492) + +commit f2ecbb30187000547a98ca7cbaee433ea4ba8fe3 +Author: Alan Coopersmith +Date: Sat Mar 11 01:58:32 2006 +0000 + + Pass sizeof the correct buffer to XmuSnprintf. (Coverity #489) + +commit d6955798489813ef77cca13cf5f5c67d49e6dece +Author: Eric Anholt +Date: Fri Mar 10 21:36:24 2006 +0000 + + If fakexa is enabled, create a larger buffer in the Ximage, but keep the + 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. + +commit 5b1a7b478f072f56e836f2d4c0fbc1985842e2bb +Author: Eric Anholt +Date: Fri Mar 10 21:32:34 2006 +0000 + + Move the exaDrawableDirty in exaPrepareAccess to exaFinishAccess, which is + after the drawing is done. Previously, a failed PrepareAccess could + have migrated and cleared the dirty flag before the damage was ever + done. + +commit ffdbb547becc71f1cfdd035d0d6c71539f185fb1 +Author: Eric Anholt +Date: Fri Mar 10 08:06:42 2006 +0000 + + Coverity #1011: Remove a useless NULL check on a pVbe that had been + dereferenced many times before. + +commit 1bc72dce5f8bc40e369e69b684816fdaaa07da43 +Author: Eric Anholt +Date: Fri Mar 10 08:03:24 2006 +0000 + + Coverity #857: Fix resource leak in error path by freeing earlier. + +commit 55f677d600370b19d62ef821025481f2be6f5edb +Author: Eric Anholt +Date: Fri Mar 10 07:58:27 2006 +0000 + + Coverity #813, #814, #815, #816: Fix resource leaks in error paths of + config parsing code. + +commit 2bd41105496b729395fbcf97f09581eb0efb3510 +Author: Eric Anholt +Date: Fri Mar 10 07:45:25 2006 +0000 + + Document the restriction on PrepareAccess() failure, from discussion with + benh. + +commit 21dcd0304879f38ea8ea01ba88e7cc7783771adf +Author: Jeremy C. Reed +Date: Fri Mar 10 01:34:45 2006 +0000 + + Just like FreeBSD, let DragonFly's default mouse Device be /dev/sysmouse + (since /dev/mouse don't even exist by default). + +commit 9a99afdfb292f303f914039952fdd772eed9e03a +Author: Jeremy C. Reed +Date: Fri Mar 10 01:22:26 2006 +0000 + + Add DragonFly support. (It is like FreeBSD.) + This patch is from DragonFly developer Joerg Sonnenberger and the pkgsrc + collection. + I tested using /dev/sysmouse with moused using my serial /dev/cuaa0. + +commit 7a0f7f739804bc7d9c5562701abee8d134878977 +Author: Eric Anholt +Date: Thu Mar 9 23:29:44 2006 +0000 + + Coverity #349: Fall back to software early if pSrc->pDrawable is NULL, or + pMask is non-NULL but pMask->pDrawable is NULL. This prevents NULL + dereferences on gradients and other Pictures which have no pDrawable. + +commit 8a3ff42abb726d1604af39b4653ede5f760b7e69 +Author: Eric Anholt +Date: Thu Mar 9 23:25:35 2006 +0000 + + Commit changes missed in last commit (mis-typed path and didn't notice): Do + a first pass of doxygen documentation of EXA. This removes the + corresponding pieces of exa-driver.txt, which were becoming stale. + Hopefully the documentation will stay much more up-to-date this way. + Many thanks to jbarnes for writing exa-driver.txt which was used a lot + in writing this documentation. + +commit ab35c3fbc135bafdfc5057ef5d6227ca3534ed26 +Author: Eric Anholt +Date: Thu Mar 9 23:18:15 2006 +0000 + + Do a first pass of doxygen documentation of EXA. This removes the + corresponding pieces of exa-driver.txt, which were becoming stale. + Hopefully the documentation will stay much more up-to-date this way. + Many thanks to jbarnes for writing exa-driver.txt which was used a lot + in writing this documentation. + +commit d8f8bfeccef0750d79f852b9ae7152e841227d5a +Author: Matthias Hopf +Date: Thu Mar 9 14:23:57 2006 +0000 + + Do Xorg configure checks for Xgl only as well + +commit 2822cbc1fb2271844e7ae10c3629aaa940ae4042 +Author: Eric Anholt +Date: Thu Mar 9 06:04:07 2006 +0000 + + Rearrange EXA driver structures so that there's a hope of maintaining ABI + when extending the driver interface. The card and accel structures are + merged into the ExaDriverRec, which is to be allocated using + exaDriverAlloc(). The driver structure also grows exa_major and + exa_minor, which drivers fill in and have checked by EXA + (double-checking that the driver really did check that the EXA version + was correct). Removes exaInitCard(), which is replaced by the driver + filling in the rec by hand, and the exaGetVersion() and related + EXA_*VERSION which are replaced by always using the XFree86 loadable + module versioning. + +commit 65aa33f9173b1554924437685698f7c5f645a3c4 +Author: Lars Knoll +Date: Wed Mar 8 06:19:37 2006 +0000 + + render/picture.c Initialize the format of a source picture to + PICT_a8r8g8b8. Fixes a failure in the gradients test of rendercheck. In + the long term we could do better by setting the format to something + without alpha whenever the gradient doesn't contain colors with alpha. + This triggers a reduction of the over operation to a pure source + operation. + +commit cb5090e8d60f4e9780c859faeea5c24587f6bee7 +Author: Eric Anholt +Date: Wed Mar 8 03:32:07 2006 +0000 + + Bug #6150: Do the obvious fix of an insane sanity check in + xf86InitFBManager. (Julio M. Merino Vidal) + +commit 2e6f801fe1a749f6a4db2cfd8a43abec5caceae0 +Author: Ian Romanick +Date: Tue Mar 7 23:58:22 2006 +0000 + + Numerous amounts refactoring and comment adding (see ChangeLog for file by + file details). The primary intention for these changes is to pave the + way for the new device probing and PCI configuration code that I'm + working on. + +commit b7d2dfc1e5e07051732303731ff3e4e76852dd94 +Author: Eric Anholt +Date: Tue Mar 7 20:06:15 2006 +0000 + + Add appropriate MIT license. Oops. + +commit 9d8c0e4bcbb111e860b7c3c33c224c22589006b1 +Author: Eric Anholt +Date: Tue Mar 7 19:57:46 2006 +0000 + + Add a new flag to ephyr, "-fakexa", which turns on an EXA acceleration + implementation that calls fb to get its work done. The purpose is to + have a trusted EXA driver for use with testing changes to the core of + EXA. However, fakexa has not received much testing yet, lacks offscreen + pixmaps support, and doesn't reliably provide garbage when EXA doesn't + get its syncing right. All of these should be fixed soon. + +commit 0a3d6c739968bf5af81fc0e8ea7211c20d52080b +Author: Eric Anholt +Date: Tue Mar 7 19:49:31 2006 +0000 + + Remove stale EXA files, which failed to get removed during the move to + top-level, somehow. + +commit 68a8963f726cb92624665669813b6d952d53556e +Author: Luc Verhaegen +Date: Tue Mar 7 16:00:57 2006 +0000 + + Fix cvt -r check again. CH7011 TV encoder had 800x600 PAL hit the check. + +commit 0693083335185ce05ee64546151f3fc43ce98575 +Author: Lars Knoll +Date: Mon Mar 6 21:00:09 2006 +0000 + + render/picture.c Correctly initialize devPrivates variable in source only + pictures to 0 + miext/cw/cw.h Don't try to access devPrivates of source only pictures + +commit 448997ebcd2bab02be1059b07b91b63b0d05d268 +Author: Matthieu Herrb +Date: Sun Mar 5 16:43:10 2006 +0000 + + Only output SetClientVersion message if verbosity > 1, like other + extensions do + +commit d921173833cc207380eb08b6675393f5e8139d5f +Author: Matthieu Herrb +Date: Sun Mar 5 16:35:08 2006 +0000 + + define SYS_LIBS to hold system dependant libraries that may needed. and add + it to libraries list where needed. Update ChangeLog for previous + changes too + +commit 82cbd2ee0d20225b9edbb5246c8ed116b4614e1a +Author: Matthieu Herrb +Date: Sun Mar 5 16:33:17 2006 +0000 + + Don't hard-code -DUSE_DEV_IO here. configure generates the proper OS + specific values here. + +commit b56a1513d27f84dcd55f3dc6053f183aa6f7855b +Author: Matthieu Herrb +Date: Sun Mar 5 16:32:40 2006 +0000 + + Definitions for bswapxx() macros on OpenBSD. + +commit 4335868476af7c821c64def52b102b93ae91f8b0 +Author: Matthieu Herrb +Date: Sun Mar 5 16:13:21 2006 +0000 + + Fix build with non GNU make. + +commit b2f8f410c0bb8bc24039b2a593f8a2a483659914 +Author: Alan Hourihane +Date: Fri Mar 3 09:54:54 2006 +0000 + + https://bugs.freedesktop.org/show_bug.cgi?id=4341 Make Xming error messages + more meaningful. + +commit 29237c1977e454511e0d0244c68d34d572b68458 +Author: Alan Hourihane +Date: Fri Mar 3 09:50:55 2006 +0000 + + https://bugs.freedesktop.org/show_bug.cgi?id=4538 Fix mouse button release + on multiwindows scrolling. + +commit 06f01623fde61f1a11c2c1ecfae6a4c346473b05 +Author: Alan Hourihane +Date: Fri Mar 3 09:43:42 2006 +0000 + + https://bugs.freedesktop.org/show_bug.cgi?id=5138 Check for NULL pointer + +commit 054c291b274b238893e408e070aef13a7933400b +Author: Felix Kuehling +Date: Thu Mar 2 18:35:08 2006 +0000 + + Fix build against Mesa CVS HEAD: added s_blit.c to symlink-mesa.sh. + +commit c1a82b9554028640dc4e08f042f1a8faf3372627 +Author: Brian Paul +Date: Thu Mar 2 03:43:26 2006 +0000 + + added s_blit.c file + +commit 5f4d11c8d926cf396e0a8e203e14a8e1e123e011 +Author: Jesse Barnes +Date: Wed Mar 1 16:31:53 2006 +0000 + + fix spelling error, document EXA_TWO_BITBLT_DIRECTIONS device flag + +commit 044a3abb382a4850722c391f04d09d3160790814 +Author: Jesse Barnes +Date: Wed Mar 1 16:28:34 2006 +0000 + + Add accelerated two directional blt support to EXA + +commit 96ca329382141fd50dccb1cc35a71a333d80bce4 +Author: Ian Romanick +Date: Tue Feb 28 23:07:09 2006 +0000 + + Remove redundant definition of struct Inst. Safeguard xf86AddDriver against + future additions to DriverRec. + +commit 1cfa9f647e0241f4b9e56556b128d7bfd987eaca +Author: Daniel Stone +Date: Tue Feb 28 16:55:26 2006 +0000 + + Bug #5216: Allow options to appear with other components. + +commit e3b6b95f29cb2ea00b4290d694c5e202b8d180ad +Author: Adam Jackson +Date: Tue Feb 28 16:26:16 2006 +0000 + + Bug #5627: Fix Xprint font symlinking. (TIlman Sauerbeck) + +commit e7f0b84fa7bd0c40cb456ec4e447103442c8dae3 +Author: Jesse Barnes +Date: Tue Feb 28 05:20:20 2006 +0000 + + fix exaInitCard by making it a real function + +commit 088e5768faa90fe16de41b135b1111b5d25c64ad +Author: Felix Kuehling +Date: Mon Feb 27 18:12:24 2006 +0000 + + Fixing the Mesa build again, sigh. Add slang_execute_x86.c. Add + -I../shader/slang to swrast INCLUDES. + +commit 345d99c972cac67f2cdc38750e4ba2dea1cdb360 +Author: Alan Coopersmith +Date: Mon Feb 27 16:19:39 2006 +0000 + + Typo fixes (Nicholas Joly, XFree86 bugzilla #1658) + +commit 6b08a5013b4e9e350ba461c9a59d30bb41feef8f +Author: Jesse Barnes +Date: Sat Feb 25 20:26:49 2006 +0000 + + EXA driver doc cleanups and additions. + +commit f41ec003f39c575299429897d4287233184583ad +Author: Roland Scheidegger +Date: Sat Feb 25 01:17:10 2006 +0000 + + Add two radeon pci ids (one is used for a radeon mobility X700 XL in a + medion notebook, the other is for a AIW X800 VE) + +commit 01a0bf881ada03ca3c27bdef7423c760c3bc2f9c +Author: Matthieu Herrb +Date: Fri Feb 24 17:01:57 2006 +0000 + + OpenBSD supports PCVT and WSCONS. PCCONS is long gone. + +commit d3e1587c20c155b7873b6646ddf0b96f806f8a7f +Author: Kristian Høgsberg +Date: Fri Feb 24 16:50:42 2006 +0000 + + file glxdri.c was initially added on branch accel_indirect_branch. + +commit 5d9a620726d2b0ad89625574478d2fd4536485b0 +Author: Adam Jackson +Date: Thu Feb 23 19:25:57 2006 +0000 + + Remove redundant composite op reduction, done in Render now. + +commit 028d6903f674fa77617f333b25356710d1682b05 +Author: Alexander Gottwald +Date: Wed Feb 22 16:29:07 2006 +0000 + + Bug #5978: Added missing swap of input variables. Added missing cases for + GL_SECONDARY_COLOR_ARRAY and GL_FOG_COORD_ARRAY (Colin McDonald) + +commit 43324132afcbb6b231efcc24ec72ee44678d5771 +Author: Alexander Gottwald +Date: Wed Feb 22 16:08:56 2006 +0000 + + Added Mesa include directory + +commit 43fbcc28c960ce5abe1d3223441c3dc5a10cde27 +Author: Jeremy C. Reed +Date: Wed Feb 22 02:47:00 2006 +0000 + + Update to build against Mesa HEAD. (Thank you Felix for feedback on xorg + list.) + +commit cfdacab33a62b47f22bb54683e3ca20ec9824864 +Author: Ian Romanick +Date: Tue Feb 21 00:02:08 2006 +0000 + + Eliminate unused PCI BIOS reading functionality. The old code used several + function pointers to implement a level of flexability that was never + used. The code also had unused support for extracting a single image + type from a larger expansion ROM. + Fix the spelling of PCI_BIOS_OPEN_FIRMWARE. + Fix a couple errors in #ifdef debug code. + These changes have been tested on x86 and x86-64 Linux. + +commit 5fd0f94006775e2271107c960dfa3314dddd9a5f +Author: Ian Romanick +Date: Mon Feb 20 23:45:50 2006 +0000 + + Eliminate all the code for querying the PCI class from the PCI ID database. + Class information is not, and never has been, stored there. Therefore, + this is just a bunch of elaborate code to read 0x00000000. + This has received testing on x86 and x86-64 Linux. + +commit 6d7083bd69724586338d79784655328f1fcd2ae5 +Author: Adam Jackson +Date: Mon Feb 20 22:16:49 2006 +0000 + + indent fixes (OMG SO UGLY), and nuke old RCS keywords. + +commit 5480c537cee79b324736eac3e438a4713dfa1036 +Author: Adam Jackson +Date: Mon Feb 20 21:50:49 2006 +0000 + + ANSIfy Xi/. Mostly automated via protoize(1). + +commit cc42e153c2437fe9c94b0c20e1b56277474d94d0 +Author: Felix Kuehling +Date: Mon Feb 20 03:00:09 2006 +0000 + + Update to build against Mesa HEAD. + +commit ed3ea887a6b1c9fdc83895c40da34076121f05e9 +Author: Eric Anholt +Date: Thu Feb 16 21:49:51 2006 +0000 + + Fix the encoding of DES's name. + +commit ea0b3f65f77a78df1671b09739c00762a8875607 +Author: Eric Anholt +Date: Thu Feb 16 21:45:12 2006 +0000 + + Fix build of Xorg by putting xf86bigfont back into builtin instead of + module sources list. + +commit d97f29be22e22e6f5bc23229ffa5ef087f992c8c +Author: Eric Anholt +Date: Thu Feb 16 21:35:32 2006 +0000 + + Bug #5453: Don't forget to still do AM_CONDITIONAL for XVMC even if XV is + disabled, and also force XVMC disabled if XV is disabled. (Dag-Erling + Sm�rgrav) + +commit d33c2e0d1079f93f4ba8b28d19950d384a9e7c32 +Author: Keith Packard +Date: Thu Feb 16 19:36:39 2006 +0000 + + Add oscolor.h + +commit 60d4839a2d373cc6d8c0d5004284494d3a994a63 +Author: Keith Packard +Date: Thu Feb 16 19:03:07 2006 +0000 + + Forgot to include this file in previous patch + +commit 8987b2c1efc9a4667e278e6ba411772ba2a4a4e6 +Author: Keith Packard +Date: Thu Feb 16 07:17:31 2006 +0000 + + Make more extensions optional in build (for kdrive). Fix kdrive build for + actual hardware. Fix kdrive pointer signed/unsigned types. Add + kdrive-required YX rotation functions. Replace rgb text file loading + with static rgb color table. + +commit c8acb342695936db062c966029019a458d45459e +Author: Benjamin Herrenschmidt +Date: Thu Feb 16 06:52:12 2006 +0000 + + Fix an occasional crash on VT switches: the server would save a pointer to + the current cursor when disabling FB access and would try to restore + that cursor when re-enabling. However, that cursor might have been + destroyed in between. This fixes it by updating the saved cursor + pointer when a cursor is set and vtSema is FALSE. + +commit c845e152f52b3e8cef579797c5c8834ad2fd2cd5 +Author: Eric Anholt +Date: Thu Feb 16 05:46:08 2006 +0000 + + Bug #5871: Drop special build infrastructure left over from libcwrapper + times. (George Fufutos) + +commit c2f685e64464ccf86ed47ae37f74bf46877e0739 +Author: Dave Airlie +Date: Thu Feb 16 05:18:20 2006 +0000 + + Fix XSERVER64 should be _XSERVER64 + +commit 1bbd5e49b1dcc2e3f9785bd2bb58f946b9998099 +Author: Eric Anholt +Date: Thu Feb 16 04:59:45 2006 +0000 + + Bug #5869: Remove traces of EXTMODULE define, which doesn't appear to be + useful any more. (George Fufutos) + +commit c03b06bdf04fa8500d0f85314c7268848b4d50be +Author: Eric Anholt +Date: Thu Feb 16 04:39:00 2006 +0000 + + Bug #5888: Remove orphaned laymodule.c from miext/layer removal. (George + Fufutos) + +commit 3b32e902c7a12aa2320da27d984029cde28fd8c3 +Author: Eric Anholt +Date: Thu Feb 16 01:49:23 2006 +0000 + + Add entry missed in my last commit. + +commit c4767794ef5b014ae25fe8541e72348ecfb1ee49 +Author: Zephaniah E. Hull +Date: Thu Feb 16 01:03:09 2006 +0000 + + Export xf86ActivateDevice, used by the evdev driver. + +commit dc0354104cb4057dfcc7b2ccb8e2ae8474d70b15 +Author: Eric Anholt +Date: Thu Feb 16 00:14:11 2006 +0000 + + Move EXA implementation up to the top level and remove its XFree86 + dependencies. It was nearly abstract enough already to be used by + multiple DDXes. This will be useful for EXA development through + providing a fake acceleration implementation within Xephyr, so that + testing can be done on new EXA code without worrying about buggy + drivers. + +commit c170aa830d0ce3dbff6b30081e04c3f91bf921be +Author: Eric Anholt +Date: Wed Feb 15 23:27:40 2006 +0000 + + Forced commit to note repocopy from hw/xfree86/exa/ + +commit 6770f1bdb145e7a6c431d0523f10d12155f58273 +Author: Eric Anholt +Date: Wed Feb 15 21:09:14 2006 +0000 + + Define NO_LIBCWRAPPER in dix-config.h, and rely on Mesa including + dix-config.h if DIX_HAVE_CONFIG_H is defined to get it and _XSERVER64, + instead of defining things like this per directory. + +commit 7d7fc927cd90146788780477b8e3379d91c3b910 +Author: Adam Jackson +Date: Wed Feb 15 20:47:44 2006 +0000 + + Remove a few #ifdef vms; whatever problem that was solving should assuredly + be solved some other way. + +commit f105b8da11fcf337512b3c39da3368f98da07a33 +Author: Adam Jackson +Date: Wed Feb 15 20:44:13 2006 +0000 + + Mark everything in dixsym.c as _X_EXPORT. + +commit 010d6effa6fa210251b12459882e88aeee82c2c0 +Author: Adam Jackson +Date: Wed Feb 15 19:15:32 2006 +0000 + + Mark everything in {ext,font}sym.c as _X_EXPORT. + +commit 3fe482c77e7b3e46739d011d8bbdee527d7a42fc +Author: Adam Jackson +Date: Wed Feb 15 19:05:55 2006 +0000 + + Mark everything in misym.c as _X_EXPORT. + +commit 6ad4325b87889e1aada9333d750b7bb586c38b52 +Author: Kristian Høgsberg +Date: Wed Feb 15 18:26:45 2006 +0000 + + Update to build against mesa head. + +commit 50e2ff9a2500078ebbd833fddab0d93f3a50b6a6 +Author: Eric Anholt +Date: Wed Feb 15 03:20:55 2006 +0000 + + Remove the waitSync from KdDisableScreen and push it off to drivers' + disableAccel hook, which is more correct anyway. This makes kdrive.c + not have any knowledge of kaa, opening the way for using exa from + kdrive. + +commit 0446aafa9467f43515fb578d50f45e2c3153c8cf +Author: Eric Anholt +Date: Wed Feb 15 03:07:23 2006 +0000 + + Avoid some more libcwrapper damage that prevented kdrive linking. + +commit 5c9b6f0fb01252d704de1bbdf3015dee7f956593 +Author: Benjamin Herrenschmidt +Date: Tue Feb 14 08:14:42 2006 +0000 + + DRIGetSecs() would call getsecs() when XFree86LOADER is defined, relying on + the wrappers to provide it. Wrapper gone, and getsecs doesn't exist on + linux so it now blows up. Fixes it by just calling gettimeofday() in + all cases instead. + +commit 049dca0f43eb2179d2c61033a17ff1a89f8fb689 +Author: Benjamin Herrenschmidt +Date: Tue Feb 14 08:11:41 2006 +0000 + + Remove useless line of code that contained a bug and triggered a gcc + warning. This variable will be overriden before being used anyway. + (Bugzilla #5595) + +commit 1132d0e6102d4564f70f0e8c98854e3acf25b109 +Author: Dave Airlie +Date: Tue Feb 14 06:27:59 2006 +0000 + + update to latest Mesa CVS HEAD + +commit bb8c36690ab411c11aa8dd3d4520d513eb8f9091 +Author: Alan Hourihane +Date: Tue Feb 14 04:20:37 2006 +0000 + + Bump shadow module version number to 1.1.0 from 1.0.0 + +commit cc9dfab0b31c7956f99d1f1b9c195065b5e18c29 +Author: Adam Jackson +Date: Mon Feb 13 18:57:38 2006 +0000 + + (Reverted) + +commit 83dd6241c8cd81e8d897bd17588ada92a945e647 +Author: Adam Jackson +Date: Mon Feb 13 18:55:44 2006 +0000 + + Reverted, did nothing anyway, I'm not smart today. + +commit 4a7f6f53cad541e8c5042a6472e3b3886fc9b7e6 +Author: Adam Jackson +Date: Mon Feb 13 18:09:51 2006 +0000 + + Further op reduction when both src and dst alpha are absent. + +commit 28ced9f3e0dd4bd81067f590a1d64ba0844edb06 +Author: Eric Anholt +Date: Mon Feb 13 05:29:00 2006 +0000 + + Add missing ChangeLog text for r1.2 of GL/glx/indirect_reqsize.h + +commit 4839e91fcab4c344e672154a447d8c7035fce1f4 +Author: Benjamin Herrenschmidt +Date: Mon Feb 13 05:03:13 2006 +0000 + + HAS_MKSTEMP vs. HAVE_MKSTEMP (From Fredrik Höglund) + +commit 1a4f20541a9f4f41f444d826d743899ea2dee2db +Author: Benjamin Herrenschmidt +Date: Mon Feb 13 04:56:27 2006 +0000 + + Fix linux build without libc wrappers (From Fredrik Höglund) + +commit 2dc7b5e0d96a187bfbb355caa788f0fdcd88eaad +Author: Benjamin Herrenschmidt +Date: Mon Feb 13 04:43:40 2006 +0000 + + Move call to xf86WrapperInit() to OsVendorInit() in xf86Init.c and remove + stubs in other DDX. + +commit 34d0b9228f46c2f87be74dddc9c7d97aab091d03 +Author: Eric Anholt +Date: Sun Feb 12 20:53:35 2006 +0000 + + Simplify ops that would use the alpha channel when an alpha channel is + always 1.0, and short circuit PictOpDst for good measure. + +commit 5f45776ef3b9256bea44842d1c50f269422531a1 +Author: Eric Anholt +Date: Sun Feb 12 10:30:47 2006 +0000 + + Add missing HAVE_DIX_CONFIG_H which caused issues with mismatched screen + structure interpretations, and remove a bunch of unused junk from + kdrive-config.h. Xephyr almost works on my amd64. + +commit 5249416d091d59c248c8dda44529b8aa4910b1a0 +Author: Eric Anholt +Date: Sat Feb 11 22:40:50 2006 +0000 + + Add stub xf86WrapperInits so that the servers will build even if os/ was + built with XFree86LOADER set. + +commit a2a5254675a6b7ef0f7da9caa76c028b7c526502 +Author: Alan Coopersmith +Date: Sat Feb 11 19:16:51 2006 +0000 + + Add , , and to clear undefined function + warnings after the removal of libcwrapper headers. + +commit d6337c83241f0fa4bb03039a9767b58d8a1a7c91 +Author: Alan Coopersmith +Date: Sat Feb 11 17:42:31 2006 +0000 + + -> so we can compile on non-BSD OS'es + +commit 4fafba61d5402d4e4d2c21ba1be3ed8969b99334 +Author: Eric Anholt +Date: Sat Feb 11 03:03:45 2006 +0000 + + Remove libcwrapper damage from GLX (requires fresh Mesa HEAD), and get it + compiling in kdrive. + +commit c3d14036729fd186d4ec7ca1de603e1f2d174e2f +Author: Eric Anholt +Date: Fri Feb 10 22:00:30 2006 +0000 + + Remove libcwrapper usage from xorg server modules. The libcwrapper is only + of (marginal) use in the drivers, and that usage remains. + +commit a8cec1b656f57746758613213de1d6e5acb79451 +Author: Eric Anholt +Date: Fri Feb 10 09:00:02 2006 +0000 + + Merge from kdrive: use RECT_PRIM to avoid tearing in xvideo. + +commit efc3fab7f4b29f56fffd21304c64c03a48aa5b4b +Author: Eric Anholt +Date: Fri Feb 10 07:52:05 2006 +0000 + + Make kdrive (i.e. Xephyr only) buildable on FreeBSD and probably other OSes + without linux VT switching, fbdev, and vm86 support. + +commit fa3a65e33d8c893c7867ea507afc7caa1361aa9c +Author: Eric Anholt +Date: Fri Feb 10 07:47:21 2006 +0000 + + Remove the include of X11/misc.h, which fails to compile and isn't + necessary. + +commit d875bdb2756b082ce93bd86016c369ea85c04d17 +Author: Jeremy C. Reed +Date: Fri Feb 3 02:44:19 2006 +0000 + + hw/xfree86/os-support/xf86_OSlib.h Fix sysmouse handling on DragonFly, + mostly garbage arrived. From Joerg Sonnenberger. + +commit 0946bb9427695a4314e5c43de573b3a75a18e466 +Author: Jeremy C. Reed +Date: Fri Feb 3 02:37:52 2006 +0000 + + Fix sysmouse handling on DragonFly, mostly garbage arrived. From Joerg + Sonnenberger. + +commit 5e2a7af23bd0f46fbddca34098cb297be58b7a55 +Author: Eric Anholt +Date: Thu Feb 2 21:07:06 2006 +0000 + + Move the frequently-repeated code to get the pixmap that backs a drawable + to a new function, exaGetDrawablePixmap(). + +commit ee3c7ccb175752dbeaed6b0113d0819b3fcd2398 +Author: Eric Anholt +Date: Thu Feb 2 20:51:54 2006 +0000 + + Remove more debugging leftovers. + +commit 3366b6836572461209bb2f8aa28d9e662067dc54 +Author: Eric Anholt +Date: Thu Feb 2 20:09:14 2006 +0000 + + Rearrange and rename EXA code to be a bit more logically organized. Also + removes a little bit of debugging leftovers. Summary: + exa.c -> exa.c (miscellaneous code) exa_accel.c (all acceleration code) + exa_migration.c (migration logic) exaasync.c -> exa_unaccel.c (software + fallbacks) exapict.c -> exa_render.c (render extension stuff) + exaoffscreen.c -> exa_offscreen.c exaPriv.h -> exa_priv.h + +commit 25d4ff870d49533d82a77f144722ff7934d52e0b +Author: Eric Anholt +Date: Thu Feb 2 20:04:15 2006 +0000 + + Forced commit to note repocopies: exa.c -> exa_accel.c exa_migration.c + exaasync.c -> exa_unaccel.c exapict.c -> exa_render.c exaoffscreen.c -> + exa_offscreen.c exaPriv.h -> exa_priv.h + +commit 2ab487d4d20e4e34e73cc6d87f41bf0836c7a8af +Author: Alan Hourihane +Date: Wed Feb 1 22:20:05 2006 +0000 + + Add a new function RRGetRotation() which does exactly the same thing as + xf86GetRotation(), but allows for drivers to provide their own RandR + implementation. xf86GetRotation could be obsoleted by this change. + +commit f4898b409376803c9a9dd8475bdd5576ff1cc59d +Author: Luc Verhaegen +Date: Tue Jan 31 14:49:43 2006 +0000 + + Further bug #5386 fixes: Fix some problems with the EDID code: Some + bitoffsets were wrong. Unknown Detailed Sections weren't handled + properly and defaulted to Detailed Timing. + +commit 437b385ce4cc3ff00e14d3d39f4a2f6c8f0c67a0 +Author: Luc Verhaegen +Date: Tue Jan 31 13:55:01 2006 +0000 + + Bring the cvt utility up to date with bug #5386 changes. Fix 2 issues with + the generator routine: the allocated modeline wasn't nulled and + mode->name's \0 wasn't copied over. PrintModeLine was rewritten and + HDisplay gets rounded up to character width instead of refused. + +commit 8f3c69dcf17691f71bca7b0a2cd34f7788a97b8c +Author: Luc Verhaegen +Date: Tue Jan 31 13:04:02 2006 +0000 + + Accept modes with less than 25% horizontal blanking again (you can push old + gtf timing to below 25%), only stop cvt reduced blanking. Users should + be free to blow up their monitors if they so choose. + +commit 701b63cf1dcd3e49602114fb1dde45a74b4e1122 +Author: Donnie Berkholz +Date: Mon Jan 30 20:04:56 2006 +0000 + + Update to build against Mesa trunk. + +commit dd50015b05b901fe0c60717512c854389610aea2 +Author: Eric Anholt +Date: Sat Jan 28 02:20:37 2006 +0000 + + Add libc_wrapper support for random(), which will be used in upcoming EXA + memory manager work. + +commit 3d1667278ff309d7f8e61a6d330f712bae5bcd41 +Author: Eric Anholt +Date: Sat Jan 28 00:37:52 2006 +0000 + + Remove leftover variables for cfb24 build, and finish commenting out Xglx + standalone stuff, which some versions of automake get whiny about. + +commit ab01eb247f9e5d7c9995bf2d6432358cd64bf11d +Author: Alan Hourihane +Date: Fri Jan 27 12:27:34 2006 +0000 + + update pci ids + +commit 261aa4403c77203f8f02b399ddd382c731dda324 +Author: Alan Hourihane +Date: Thu Jan 26 09:04:22 2006 +0000 + + remove that, and will put it in a i810 driver specific Changelog + +commit 94e678fd014c61d12591d7398b6591f24c3d71f1 +Author: Alan Hourihane +Date: Thu Jan 26 08:49:19 2006 +0000 + + add changelog for i810 updates + +commit c5e93182905332383ca3ef5db3f334cec69c8dda +Author: Donnie Berkholz +Date: Thu Jan 26 04:32:45 2006 +0000 + + Really allow linking against Mesa trunk to work. + +commit 0dc0f17f27f99da79c99031b41b0c0e95ef035f5 +Author: Adam Jackson +Date: Thu Jan 26 04:10:43 2006 +0000 + + Speed up checkout and autogen by removing disused iplan2p4 and ilbm. + +commit 023d2b4e3c392eed1f149dc5b13a83429cd052a3 +Author: Daniel Stone +Date: Thu Jan 26 00:23:44 2006 +0000 + + Add forgotten HAVE_BACKTRACE define. + +commit 14fdd81614cdd6ef7e01976a43da8b6a3bf8386e +Author: Adam Jackson +Date: Wed Jan 25 23:05:26 2006 +0000 + + Remove xf8_32wid, it's dead code with no maintainer interest. Also remove + cfb24, since xf8_32wid was the only user. + +commit 2e28f4104ddf94a8f9a70fe6b2a2a6859ffedc8f +Author: Alan Hourihane +Date: Tue Jan 24 22:05:33 2006 +0000 + + Allow current trunk to build against Mesa trunk + +commit 0d9ed2624fe8fb95c57930da523351556ba11351 +Author: Alan Hourihane +Date: Mon Jan 23 22:01:34 2006 +0000 + + Commit #4633 - Initial mouse pointer incorrect with EXA which also fixes + the repaint of the cursor image with randr events. + +commit 9148d8700b7c5afc2644e5820c57c509378f93ce +Author: Alan Hourihane +Date: Mon Jan 23 13:59:14 2006 +0000 + + Commit slight variation of bug #5460 which is the merge of the new shadow + code from kdrive. + +commit cfd3988ed906ab48ca4362256f8dbb8852d7ca0a +Author: Alan Hourihane +Date: Mon Jan 23 13:58:19 2006 +0000 + + wrap with if XORG / endif + +commit f51ecc66e9ad6d2c3541b1dafa7659da5a0a3a86 +Author: Alan Hourihane +Date: Mon Jan 23 13:54:59 2006 +0000 + + #include "gcstruct.h" + +commit 80f45fa4dfa011c2ae7bcb34f87aafb91763f1fe +Author: Alan Hourihane +Date: Mon Jan 23 13:54:34 2006 +0000 + + add damage.h & damagestr.h to SDK headers + +commit af5b3ea4b3df9e9c6dd6993c5e7238a366a3f508 +Author: Alan Hourihane +Date: Thu Jan 19 14:51:09 2006 +0000 + + add randrstr.h to sdk_HEADERS + +commit 03ebd37baba2f5af3ab502ff02ec14c15859dc3f +Author: Daniel Stone +Date: Thu Jan 19 12:25:01 2006 +0000 + + Make error() bomb with exit code 1, not 0. + +commit adce1f16e0d815e5c762407da3544a7d2eff9303 +Author: Eric Anholt +Date: Thu Jan 19 00:06:57 2006 +0000 + + Only try to use byteswap.h on linux. Assume that everyone else (thinking of + BSDs here) has sys/endian.h, and use macros as appropriate for the + names. This should probably be in a gloabl header. + +commit 1c3f8727b2349c9b988eaa744f11366322d42538 +Author: Adam Jackson +Date: Wed Jan 18 19:42:56 2006 +0000 + + More kdrive merge, fast path fbBlt to use memcpy() when possible. Good for + -5% to 60% speedup on XGetImage, and 0% to 10% speedup on copies within + host memory. Based on work by Jaymz Julian. + +commit e70b64b93024d05519014fb1b76fe26bd9f3a496 +Author: Dave Airlie +Date: Wed Jan 18 07:15:55 2006 +0000 + + Updated xgl code drop from Novell + xserver tree changes + +commit b5356e0afaf2b660c8905f63d5fdcb03402b81c5 +Author: Dave Airlie +Date: Wed Jan 18 07:00:50 2006 +0000 + + typo in last change + +commit 506eca5f57b960a6650c3387047a6ae8a22181e9 +Author: Dave Airlie +Date: Wed Jan 18 06:56:52 2006 +0000 + + Wrap sdk_HEADERS in if XORG as otherwise installing non-xorg servers + breaks. + +commit 8ccf4f2b8fdb5e57d2ec5f2d54731fbf83fb9d8c +Author: Dave Airlie +Date: Wed Jan 18 06:49:17 2006 +0000 + + This is a fix from David Reveman from the xserver tree, Make fbPadPixmap + work with negative stride + +commit a1f9262c6acd195c0fcf5f602d5ca0c252993521 +Author: Kristian Høgsberg +Date: Tue Jan 17 21:27:49 2006 +0000 + + file glxvisuals.c was initially added on branch accel_indirect_glx. + +commit c2dedf4d17f8a5b1a8037fd2b4e29122ef78945a +Author: Søren Sandmann Pedersen +Date: Thu Jan 12 22:14:56 2006 +0000 + + Thu Jan 12 17:09:18 2006 Søren Sandmann + Add new functions to enable and disable events on Map and Unmap. + Use them here to make sure Composite redirect doesn't cause Map/UnmapNotify + events that would confuse window managers. + +commit 847d83ec3c90c5b298eaf19ba55251b4a30f4155 +Author: Ian Romanick +Date: Thu Jan 12 00:21:59 2006 +0000 + + Bug #2996: libglx / libGLcore should use a dispatch table + Port all changes from the (monolithic) accelerated_indirect-0-0-1 branch to + the modular trunk. This will break the Darwin and cygwin builds. Other + than the changes to symlink-mesa.sh and the various Makefile.am files, + to code is identical to what's in the branch. + Reviewed by: airlied, krh + +commit c56e9a8849ce8dd5c09732ae1860e409e7886690 +Author: Daniel Stone +Date: Tue Jan 10 03:24:53 2006 +0000 + + Bomb when symlink-mesa.sh continues, instead of silently failing. + +commit 2949c705f11f8710301555c039bcecbe748cabd9 +Author: Daniel Stone +Date: Tue Jan 10 03:23:05 2006 +0000 + + Add all subdirs used to DIST_SUBDIRS, and files to EXTRA_DIST. + Attempt to build xeglmodule.c, not xglxmodule.c. + Add xf86Sbus.h to EXTRA_DIST, as _HEADERS doesn't appear to get the same + treatment as _SOURCES in terms of automatically DISTing. + +commit 4fc9eb592a446ad5711bdaa82c60e9fe010fd76a +Author: Daniel Stone +Date: Tue Jan 10 02:32:20 2006 +0000 + + Bomb out if symlink-mesa.sh failed. + +commit 890ec849479db2510a9b4bc5e5e2f7978ca37b83 +Author: Daniel Stone +Date: Tue Jan 10 02:30:56 2006 +0000 + + Add xgl to DIST_SUBDIRS. + +commit 53dbd00a75313ec5301ca95b2e91d5d02bdaf820 +Author: Adam Jackson +Date: Sun Jan 8 23:43:54 2006 +0000 + + Remove remaining #ifdef DPSEXT stanzas. + +commit 7fc9bc44e099f8f046bf707cb87ef7d736933f80 +Author: Adam Jackson +Date: Sat Jan 7 01:29:05 2006 +0000 + + Compile fix, again, stupid non-clean builds + +commit 9d62d1e6903ccc095f784279a699b3f40a8f0cf8 +Author: Adam Jackson +Date: Sat Jan 7 00:45:17 2006 +0000 + + Bug #5218: Don't crash on unconfigured interfaces. (Andrei Barbu) + +commit 3c58072956c28ebc3ca2eb50c1ff09823e1219d7 +Author: Adam Jackson +Date: Sat Jan 7 00:33:41 2006 +0000 + + One more build fix. + +commit 07303c1b42afd1ada98cbc11d1ba616d366017fb +Author: Adam Jackson +Date: Sat Jan 7 00:05:46 2006 +0000 + + This version will actually compile + +commit 7f46aba35ee482e9b28ecc81d1a99d423fc88a70 +Author: Adam Jackson +Date: Fri Jan 6 23:52:23 2006 +0000 + + Compile fix + +commit 25babf2791ad42101a86ba2a0f14564328256ee2 +Author: Adam Jackson +Date: Fri Jan 6 23:36:53 2006 +0000 + + Missed file. + +commit 13c9e0c094c4e34cd1e43a7cc08b2dca39a32412 +Author: Adam Jackson +Date: Fri Jan 6 23:06:15 2006 +0000 + + Bug #5525: Build a working Xprt. (Drew Parsons) + +commit fe0c838b5d8bc8d9cf5a686bb7d3e90682d2d19a +Author: Adam Jackson +Date: Fri Jan 6 18:06:02 2006 +0000 + + Move drawable lock acquisition into DRIClipNotify from DRIValidateTree, so + we only take it when clipping a DRI drawable instead of on every tree + update. Note drawable lock acquisition per- screen instead of globally, + and drop it in BlockHandler if necessary. + +commit 39ce5f1544029412f4060f3e89ce1d87222ef42b +Author: Adam Jackson +Date: Fri Jan 6 17:05:26 2006 +0000 + + Remove unused X11R4 DDX compatibility function miClipNotify. + +commit 07ecb969d7eb8d4ab0bb0b8a55a5f40f3c8ec5e3 +Author: Eric Anholt +Date: Wed Jan 4 03:29:15 2006 +0000 + + Forced commit to note that glyph privates commit was: + Obtained from: xserver tree (David Reveman) + +commit b6b88d2f62d8c596171f487dd25fbdbc85d0c5a8 +Author: Eric Anholt +Date: Wed Jan 4 00:05:16 2006 +0000 + + Correct rounding in divide-by-255 code. Obtained from xserver. + +commit b9c0ae867e1b52186c26841a77745f7f5a0a76dd +Author: Eric Anholt +Date: Tue Jan 3 22:36:46 2006 +0000 + + Remove the manual AddFilter for convolution, which I'm pretty sure + shouldn't be necessary due to it already happening from + PictureSetDefaultFilters. + +commit 601ab861b46a62b0742ffd3e937c4fab129664f0 +Author: Eric Anholt +Date: Tue Jan 3 22:06:23 2006 +0000 + + Add glyph privates for Xgl, which uses them to implement a glyph cache. EXA + would probably also like to do this. This breaks module ABI for EXA and + XAA, and likely breaks proprietary drivers as well. + +commit 1729fc882ceec392331566c95efd5968fe9e97fd +Author: Eric Anholt +Date: Sat Dec 31 08:06:00 2005 +0000 + + Change REGION_INIT(pScreen, &foo, NullBox, 0) to REGION_NULL(pScreen, + &foo). While it is no longer (or rather, once again not) required as of + regionstr.h r1.4, it matches the style of the rest of the xorg code. + +commit c25536a7937b11a5347bfb8796d5cb6eb0445b51 +Author: Eric Anholt +Date: Sat Dec 31 08:01:31 2005 +0000 + + Initialize the fourcc value in stack-allocated glitz_pixel_format_t + structures. Greatly reduces the number of uninitialized-value accesses + during Xgl startup according to valgrind. Allocating and filling these + in by hand on the stack seems very shady to me. + +commit e6dab3d7c429a2d30d31f188c4554e870011e051 +Author: Eric Anholt +Date: Fri Dec 30 12:05:47 2005 +0000 + + Fix the AC_TRY_RUN for sys/linker.h which had no hope due to lacking a + main() to instead use a nice AC_CHECK_HEADERS that works. Also, fix the + nearby SYSV IPC check which was lacking an argument and giving bogus + results (it's "AC_TRY_LINK(includes, main, yes, no)"). + +commit eef16c36ad6e90fd8eaad4d8bdbc1205bc28a66f +Author: Eric Anholt +Date: Fri Dec 30 05:44:14 2005 +0000 + + Add #undef BSD44SOCKETS, without which the listener socket on FreeBSD would + be created without the port number due to xtrans's define not being + used when xtrans was compiled in the X Server. + +commit 7aa0ea23bc9b8df582fe06f2bc39dcfe34583c7e +Author: Eric Anholt +Date: Fri Dec 30 04:11:42 2005 +0000 + + Add an empty all-local target for FreeBSD make's sake, which doesn't deal + with .PHONY. + +commit 49a9249239b0dd105b83a101db6e32549978f0d5 +Author: Adam Jackson +Date: Thu Dec 29 21:11:41 2005 +0000 + + Make kdInputMachine static const, shrinks .data a bit. + +commit 6d7ee4167d9daeef9b793789a70aa724c4fe6bf4 +Author: Adam Jackson +Date: Thu Dec 29 20:54:08 2005 +0000 + + Style fix, make SCREEN_EPILOGUE two arguments instead of three. + +commit b1efb3810cfea8116d76bae3ff3acfee521f4793 +Author: Adam Jackson +Date: Thu Dec 29 20:42:54 2005 +0000 + + Missed one + +commit 858b4bc14a7adc7314ce5043c7ff8ca1891dd0c9 +Author: Adam Jackson +Date: Thu Dec 29 20:38:29 2005 +0000 + + missed changelog entry: + Enough build fixes to get {sdl,ephyr,fake} to link. + +commit 54922aeadb29df0a1819afd3f616131aa56e140a +Author: Adam Jackson +Date: Thu Dec 29 20:29:26 2005 +0000 + + Disable building LBX by default. + +commit fc69a2e729532ee062af6676fb187a89f7fffe8a +Author: Dave Airlie +Date: Thu Dec 29 08:42:49 2005 +0000 + + Remove PowerMAX_OS define it never worked , it'll never work again, + finishes running joke of OLS2005 + +commit 25d3852b833bc0b61ce8313ce116251a2602b827 +Author: Eric Anholt +Date: Thu Dec 29 00:44:20 2005 +0000 + + Undo spamming of libv's ChangeLog entry. + +commit d6646307f063b938c44d6193a2e8872e178aa90f +Author: Eric Anholt +Date: Thu Dec 29 00:19:33 2005 +0000 + + Add necessary *CONFIG_H declarations and a force-off of XF86* extensions in + miinitext in the XGL case. Prevents mismatched structure sizes on my + _XSERVER64 machine. At this point, with the uncommitted render/ diffs, + Xglx starts up but displays badly. + +commit 3664c3ebf348d07ae3fe301fb8720adf32cf6d64 +Author: Luc Verhaegen +Date: Wed Dec 28 15:22:21 2005 +0000 + + Bug #5153: standalone CVT modeline generator. + - add hw/xfree86/utils/cvt/, cvt.c, cvt.man.pre and Makefile.am. + - Adjust configure.ac and hw/xfree86/utils/Makefile.am for cvt. + - Add MonPtr->reducedblanking and Option "ReducedBlanking" to the Monitor + section. + - Check for reduced blanking in xf86CheckModeForMonitor and disallow modes + with less than 25% blanking otherwise. + - Fix some warnings in hw/xfree86/common/xf86Config.c. + +commit 08708f7d616a7c0a596fb71dd7acd76d45257fec +Author: Eric Anholt +Date: Wed Dec 28 11:48:14 2005 +0000 + + Merge from xserver: Make the existing ChangePictureFilter and + ChangePictureTransform screen hooks get called at appropriate times. + +commit 31d0fdde19598ce9375cc9638ad4e2c8b5af8d9a +Author: Adam Jackson +Date: Wed Dec 28 10:46:56 2005 +0000 + + Remove a debugging printf + +commit 64ac7401ad5022462279dff4dcfb12844c9857ae +Author: Eric Anholt +Date: Wed Dec 28 10:43:02 2005 +0000 + + Fix a copy'n'paste-o that would result in mis-rounding of the results of + several composite operators in A and G channels. + +commit 9ceffb6b92e55f0d74d71489900d43940f14dfd9 +Author: Eric Anholt +Date: Wed Dec 28 10:37:17 2005 +0000 + + Merge from xserver a header for shm's server internal functions, which are + called by DDXes. Desired by XGL, and should be used in other locations, + probably. + +commit b1b40ed6a87f72d07825624730cca193d5a89baf +Author: Eric Anholt +Date: Wed Dec 28 10:31:46 2005 +0000 + + Initial commit of XGL build infrastructure and XGL code changes for + building within the xorg server tree. Requires additional, uncommitted + dix changes to successfully build, and successful running is still yet + to happen. + +commit 36061c75ae42aa733cde9b3fd05e0c8280b31655 +Author: Eric Anholt +Date: Wed Dec 28 10:10:59 2005 +0000 + + Forced commit to note repocopy from xserver CVS as of a few minutes ago. + +commit 05c139d4cdfd11d39c0168d0c80ac1dbdd069b4c +Author: Adam Jackson +Date: Wed Dec 28 10:02:54 2005 +0000 + + Enough build fixes to get {sdl,ephyr,fake} to link. + +commit aeb770f645e2d591b255ec4ab06addcb1beafa5f +Author: Dave Airlie +Date: Wed Dec 28 02:43:50 2005 +0000 + + recommit previous changes to evdev.c + +commit ce7c0c89375ec74f89ae5727998fd75fb768d280 +Author: Dave Airlie +Date: Wed Dec 28 01:57:11 2005 +0000 + + some updates for default colormap install + +commit 022aa1127c7dcd133ce73dbc12a10bfba8b1ed6e +Author: Adam Jackson +Date: Wed Dec 28 01:01:06 2005 +0000 + + Get Xsdl closer to linking. + +commit 27d79ab2bcebb634d0b69c851c72283a7514eb0c +Author: Adam Jackson +Date: Tue Dec 27 23:03:15 2005 +0000 + + s/XSERVER/KDRIVE/ + +commit 72817714a0787536ce8e8ad0d5473dea0f1c1abe +Author: Adam Jackson +Date: Tue Dec 27 23:01:27 2005 +0000 + + Remove Imakefiles. + +commit 9dd0af6cb4e2c8976ada57a4f4ed16faae090a9d +Author: Adam Jackson +Date: Tue Dec 27 08:31:37 2005 +0000 + + Skeletal kdrive build system. Totall non-functional atm. + +commit 7fd73d2953cf9449c15462cf4bf67639db64f997 +Author: Adam Jackson +Date: Tue Dec 27 08:29:50 2005 +0000 + + Build fixes: XSERVER_LIBS -> KDRIVE_LIBS, config.h -> kdrive-config.h + +commit 2f3ac6e5fcbd0e954a094fb6b975d7c8816c44b7 +Author: Adam Jackson +Date: Tue Dec 27 08:26:03 2005 +0000 + + Start importing kdrive. + +commit 6798fd0170f4225ce4e69148978533fcee9bdc34 +Author: Adam Jackson +Date: Mon Dec 26 19:13:52 2005 +0000 + + Bug #4190: Add a rule for 'make relink' since automake sucks. + +commit 8fc4ea8620913776a903ee2b4f22c306d5778623 +Author: Adam Jackson +Date: Mon Dec 26 18:55:09 2005 +0000 + + Nuke unsupported NDBM routines. Shrink the hash table a bit, over + 25% of the buckets were going empty. + +commit ed33c7c98ad0c542e9e2dd6caa3f84879c21dd61 +Author: Daniel Stone +Date: Mon Dec 26 04:23:58 2005 +0000 + + Remove unused -xkbdb and -noloadxkb options. Rename -ar1 and -ar2 to + -ardelay and -arinterval, respectively. Remove XKB banner from help text. + +commit 7e3cb9a09ac422179be89773f7fb14a462d25434 +Author: Adam Jackson +Date: Sun Dec 25 22:25:15 2005 +0000 + + Remove unused layer module. + +commit 9b083369ded2258cbc8ac2058e06ec8a3b171178 +Author: Alan Coopersmith +Date: Fri Dec 23 20:11:12 2005 +0000 + + Change list of X server man pages in "See Also" section to list the ones + actually included and remove the ones that are no longer. + +commit 5fd978b1e7bce9169f87712a4a7c2c36a68ac00a +Author: Daniel Stone +Date: Fri Dec 23 07:40:44 2005 +0000 + + Make LBX configuration default to auto. + +commit 5230e86b1cc841bfb35806618052aa835b7eb7e7 +Author: Dave Airlie +Date: Fri Dec 23 04:13:37 2005 +0000 + + fix up xglglx.c + +commit feb735c5bb0cd391136f1c73476703dff82dc9b0 +Author: Dave Airlie +Date: Fri Dec 23 02:07:58 2005 +0000 + + Well there were a couple of snapshots later than CVS available outside of + Novell, so I've done a crazy merge to try and get them into a workable + CVS, I suspect I may have failed.. there is a pre-xgldrop-merge tag if + I did. + +commit ade104ce5a016623c1ce97b0d52b531185b35baf +Author: Dave Airlie +Date: Fri Dec 23 01:51:40 2005 +0000 + + check drawable is available + +commit 7fb521e80d6e2c05e9475e74fbf80bfbe74cda95 +Author: Dave Airlie +Date: Fri Dec 23 01:50:04 2005 +0000 + + from davidr's tree update some fixes + +commit c88a3145d057ab72466a3ea8b789bf419e4efc33 +Author: Dave Airlie +Date: Fri Dec 23 01:49:21 2005 +0000 + + from davidr's tree if source picture defined return + +commit c59508566f11982aa3f4be383597d0e6178718c2 +Author: Dave Airlie +Date: Fri Dec 23 01:13:28 2005 +0000 + + fix glx up for newest glitz interface + +commit d822bc159672e7327054e572b659ae7dde040e83 +Author: Dave Airlie +Date: Fri Dec 23 00:08:35 2005 +0000 + + make xgl code at least build against latest glitz. + +commit 6e2086395d99081d8d682b90cec650a06e41fc2c +Author: Dave Airlie +Date: Thu Dec 22 23:32:49 2005 +0000 + + fixups for newer glitz API + +commit f3ae42c0fd910b7f9feb9be91ccb056bce0cd999 +Author: Dave Airlie +Date: Thu Dec 22 23:31:15 2005 +0000 + + small fix towards new glitz interface + +commit 2af7e94eab6847159a3439301ecc93c62a12b1a0 +Author: Eric Anholt +Date: Thu Dec 22 13:54:08 2005 +0000 + + Adjust the rules for auto-generating some source files, so that they work + on both GNU make and FreeBSD's make. + +commit 0d7ec5c7d9b451066a079fe56bcc9722341a91ff +Author: Kevin E Martin +Date: Wed Dec 21 02:30:08 2005 +0000 + + Update package version for X11R7 release. + +commit b37e738d5f4e1769bdee98acca788aeeb1556bcc +Author: Adam Jackson +Date: Tue Dec 20 21:40:19 2005 +0000 + + Fix an fb regression on A8 pictures. (Fredrik Höglund) + +commit 03d37eb03864cfc1a2f8d239d5a4c8341bf274f7 +Author: Adam Jackson +Date: Tue Dec 20 21:34:21 2005 +0000 + + Bug #5359: Fix a segfault (Mark Kettenis) + +commit 7b89b643c12fa0f7a662b3ff76e05ece53101312 +Author: Adam Jackson +Date: Mon Dec 19 16:44:21 2005 +0000 + + Bug #5116: Refer DRI section details to dri.fd.o. + +commit 3ef3add90351e3cb7b54dbcedc234bc5d3d65f1c +Author: Adam Jackson +Date: Mon Dec 19 16:34:07 2005 +0000 + + Stub COPYING files + +commit 3566307c8d44f89622ea51169f67c79092cb56d1 +Author: Alan Coopersmith +Date: Mon Dec 19 09:18:29 2005 +0000 + + Fix typos. + +commit 137447c5f3c6f1914ac869297f823ae93ce428ac +Author: Alan Coopersmith +Date: Thu Dec 15 01:54:45 2005 +0000 + + Update to 2005-12-14 snapshot from pciids.sf.net + +commit 2cf86fce41e3fd2ac48c5088da11e19077e42e65 +Author: Kevin E Martin +Date: Thu Dec 15 00:20:27 2005 +0000 + + Update package version number for final X11R7 release candidate. Update + release string to 6.99.99.904. + +commit f1ba3b4f33a928a3a59538799b3863de5c87e70e +Author: Adam Jackson +Date: Wed Dec 14 20:11:16 2005 +0000 + + Bug #4718: Command line flag to disable ACPI. + +commit cf605eb91619a8c0589a08674ffc3e018471b3fc +Author: Adam Jackson +Date: Tue Dec 13 17:35:26 2005 +0000 + + Build libglx correctly when not building the Xorg DDX. + +commit b076dd787ff71c4b385ab4e2e4eb367f3de378f6 +Author: Adam Jackson +Date: Tue Dec 13 17:34:06 2005 +0000 + + Spell it XINERAMA_SRCS, not PANORAMIX_SRCS. + +commit 3666dbb5f3e06fa6a72def64556d64cf73141777 +Author: Alan Coopersmith +Date: Mon Dec 12 23:33:55 2005 +0000 + + Remove unnecessary include of dgaproc.h that broke Solaris builds. + +commit 438a5549f08ab03443d45dd46323579a2f2e4ba2 +Author: Alan Coopersmith +Date: Mon Dec 12 03:06:18 2005 +0000 + + Bugzilla #4715 Files in + xserver/xorg/Xext not included in tarball after make dist + +commit 62f3ef930adc7edd49b27dd1f7b0f51bc8bc0afa +Author: Adam Jackson +Date: Fri Dec 9 18:35:21 2005 +0000 + + Bug #5258: Restore binary compatibility with 6.8.2's PictureRec. (Aaron + Plattner) + +commit b99dea9dcf99f907a3536c0db1c39cc67931a5b1 +Author: Adam Jackson +Date: Fri Dec 9 18:32:46 2005 +0000 + + Bug #4935: Fix includes. (Eric Anholt) + +commit f4957ee94810b471110deebf03d7413399b45db3 +Author: Adam Jackson +Date: Fri Dec 9 18:30:51 2005 +0000 + + Bug #4809: Re-fix that doesn't break distcheck. (Alan Coopersmith) + +commit de22d0c2264bd6dbacbbb4160d09c7e84ad37e70 +Author: Adam Jackson +Date: Fri Dec 9 15:30:05 2005 +0000 + + Fix a thinko so the code matches the comment + +commit 6fcb049cd0d2291da5943176716d1f7bbb85fdc2 +Author: Adam Jackson +Date: Fri Dec 9 06:49:39 2005 +0000 + + Bug #1288: Additional refactor of the driver probe logic to keep ati loaded + before atimisc. + +commit 17ac5e9fec1e07bd18ae1407043c300cb4695ede +Author: Adam Jackson +Date: Fri Dec 9 05:36:41 2005 +0000 + + Push the fallback drivers to the end of the list so driver probe order + stays useful. + +commit 80ea67e37980d07438749f1aa4dfdd7ee1086799 +Author: Adam Jackson +Date: Fri Dec 9 03:59:41 2005 +0000 + + Bug #4361: Change driver probe logic to read the driver list from disk + instead of using a compile-time array. + +commit 7fa2d11d85d43f42aa9c02f8d772c91d1b04df43 +Author: Adam Jackson +Date: Fri Dec 9 03:57:41 2005 +0000 + + Bug #4361: Define XF86CONFIGFILE properly so config file generation works + +commit 26b41ff43959a07a778bc3d6e4db8da036f09de3 +Author: Kevin E Martin +Date: Fri Dec 9 03:02:21 2005 +0000 + + Fix sgml docs build. + +commit d6f98cbdb8fb74c504a92939d3741420eeed7110 +Author: Adam Jackson +Date: Thu Dec 8 19:33:09 2005 +0000 + + Bug #3944: Fix 24bpp packed pixel. (Søren Sandmann Pedersen) + +commit f9ccebe8c5cd674c08fe8ed860d1c456e42c937e +Author: Adam Jackson +Date: Thu Dec 8 19:27:13 2005 +0000 + + Bug #4928: Fix compilation for Alpha. (Stefaan DeRoeck) + +commit 3a6bdf0715b994d6ecaa5b6e448695a8a8ec7d72 +Author: Kevin E Martin +Date: Thu Dec 8 19:21:12 2005 +0000 + + Add configure option to set the top level font dir. + +commit 008c2dd5e4614e6a21123ee3a2ac9c5d3bafa97a +Author: Kevin E Martin +Date: Thu Dec 8 17:55:19 2005 +0000 + + Add configure options to allow hard-coded paths to be changed. + +commit 39189c2b86a4c2ab5f3f161d423eb072356668e5 +Author: Kevin E Martin +Date: Thu Dec 8 17:54:40 2005 +0000 + + Allow hard-coded paths to be configurable. + +commit 20c0ebe7b3feb85abf9bf140b7799aafc6f59513 +Author: Kevin E Martin +Date: Wed Dec 7 16:18:02 2005 +0000 + + Change to use the app-defaults default dir configured in libXt. + +commit 4a39354e14c3c360046b04ea0d4825832b05df05 +Author: Kevin E Martin +Date: Tue Dec 6 22:48:51 2005 +0000 + + Change *man_SOURCES ==> *man_PRE to fix autotools warnings. + +commit 84faf8dc9747bc4f1db5ebc2f23e17cf1460e2e9 +Author: Adam Jackson +Date: Tue Dec 6 16:22:47 2005 +0000 + + Bug #5230: Fix whitespace bugs. + +commit 9439297b7bc07dcb90f0d01da09eea1bac3d42ff +Author: Alan Coopersmith +Date: Tue Dec 6 15:50:35 2005 +0000 + + Bugzilla #5219 Make + sure all optional sources are included in EXTRA_DIST, even if they + aren't used on the platform the distballs are made on. + +commit f259fd680caccb59546d7788704e46e51a9c6146 +Author: Adam Jackson +Date: Sat Dec 3 22:47:47 2005 +0000 + + Disable the xf8_32wid logic for now, breaks distcheck + +commit 26f9c4305660c2b3dc7fe8d214bcdd3c24e1b198 +Author: Alan Coopersmith +Date: Sat Dec 3 17:04:45 2005 +0000 + + Bugzilla #4809 Patch + #3908 xf8_32wid + and cfb24 only need to be built on sparc + +commit 98231c6b38c98976f4ac2b9417ecfbc37a8cbe9a +Author: Kevin E Martin +Date: Sat Dec 3 05:47:25 2005 +0000 + + Update package version number for X11R7 RC3 release. Update release string + to 6.99.99.903 (i.e., 7.0 RC3). + +commit 7c00afd0ec94e491f1a9ef32d6543ed51ea3319d +Author: Kevin E Martin +Date: Fri Dec 2 06:02:45 2005 +0000 + + Define XFree86Server only where it is required. + +commit 924518605b613eb66aa569877fa9f131e6f2a2fd +Author: Kevin E Martin +Date: Thu Dec 1 23:39:00 2005 +0000 + + Fix GL build when srcdir != builddir (Donnie Berkholz). + +commit 14b9315379fe8c783013906616d868f93fd51c83 +Author: Kevin E Martin +Date: Thu Dec 1 22:06:49 2005 +0000 + + Add missing XvExtension and XvMCExtension defines. + +commit df8fa21d3189e20260328b88cc8a86224a9b1ebf +Author: Kevin E Martin +Date: Thu Dec 1 16:20:09 2005 +0000 + + Fix typo: xorg_bus_linuxbsdpci ==> xorg_bus_linuxpci + +commit ccfaf82367c9d057fd8314ce36b47f0a8eb696b6 +Author: Eric Anholt +Date: Thu Dec 1 05:04:07 2005 +0000 + + Bug #5160: Fix the modular build to try to use the same logic for choosing + the architecture/os-specific bus support as monolithic. + +commit 9c0bd9687fe7d20f2f0793332ae0db06f035eb23 +Author: Adam Jackson +Date: Wed Nov 30 22:59:22 2005 +0000 + + Import libdrm 2.0 + +commit 4ec0b623b6ab5f8a1e5af2cc3d839251acf81ce2 +Author: Adam Jackson +Date: Wed Nov 30 02:36:25 2005 +0000 + + Bug #5093: Fix fb for non-SSE machines. (Xavier Bachelot) + +commit ed826d563cba82c516fd41f6a29ee50aa1fe6c6a +Author: Adam Jackson +Date: Tue Nov 29 23:34:30 2005 +0000 + + Only build dlloader modules by default. + +commit da5d66f2ff27b21fe5c39a4abb4f627edd707f1d +Author: Kevin E Martin +Date: Tue Nov 29 16:39:33 2005 +0000 + + Fix usage of XFree86LOADER/XFree86Module/IN_MODULE and update loadable + module builds to reflect this change. + +commit 51a721a6dbb42702347aad3115147e4922fc1a25 +Author: Alan Coopersmith +Date: Mon Nov 28 22:05:09 2005 +0000 + + Change *mandir targets to use new *_MAN_DIR variables set by xorg-macros.m4 + update to fix bug #5167 (Linux prefers *.1x man pages in man1 subdir) + +commit 381931b15b15d0a2ec384b0c22864412c44f9c6e +Author: Kevin E Martin +Date: Wed Nov 23 07:14:46 2005 +0000 + + Add configure option to install libxf86config.a (disabled by default). + +commit 594ca0966e8fd5992ebf95170cc42e19c698fec6 +Author: Eric Anholt +Date: Tue Nov 22 02:11:00 2005 +0000 + + Bug #5118: Use "rm -f" instead of "$(RM)", which isn't always defined. + +commit 1c8c1179c0789e3e134d31a62dbb88bfdb594b26 +Author: Felix Kuehling +Date: Mon Nov 21 04:24:07 2005 +0000 + + Fix Xprt library dependencies in the case that Xprint is auto-detected by + configure. + +commit a1f110bda80bb3b8e4f602385ca5ccd96cf3f786 +Author: Alan Coopersmith +Date: Sun Nov 20 23:01:02 2005 +0000 + + Make sure XKM_OUTPUT_DIR (used in code) ends in / (so paths don't get hosed + when appending file names) but XKB_COMPILED_DIR (used in Makefiles) + does not so install-sh -d doesn't get confused when the directory + already exists. + +commit 385730d23944c24dd9af45b27f62c1161abc48b2 +Author: Alan Coopersmith +Date: Sun Nov 20 04:15:15 2005 +0000 + + Add xext to list of modules xorgcfg depends on. + +commit 63aa96c08a8390621b017ea498c88cf88152024b +Author: Kevin E Martin +Date: Sat Nov 19 07:15:50 2005 +0000 + + Update pkgconfig files to separate library build-time dependencies from + application build-time dependencies, and update package deps to work + with separate build roots. + +commit d3b6653a2892e8c929c79fe3ace19ac9d8366fc4 +Author: Adam Jackson +Date: Sat Nov 19 03:53:04 2005 +0000 + + Bug #4824: Build XTrap support by default, matching monolith. + +commit 627ac1fe1dbcbc070575da7bee9e686a7dce5262 +Author: Eric Anholt +Date: Fri Nov 18 23:34:04 2005 +0000 + + Bug #5060: Fix non-Linux DRI on 64 bit post Linux 32/64 changes. + +commit e3ec048ff2fe0ee0862472e9b147b7ce488ea898 +Author: Adam Jackson +Date: Fri Nov 18 22:43:50 2005 +0000 + + Bug #4928: Unbreak Makefile.am for Alpha chips. (Stefan DeRoeck) + +commit de95d8ee197a0bb738037195997d754a20e10254 +Author: Adam Jackson +Date: Fri Nov 18 18:02:24 2005 +0000 + + Bug #4859: Don't segfault on bad DDC read. (Tony Houghton) + +commit 21f7d03dbc347f6bf97a40671275ac75df15bd10 +Author: Adam Jackson +Date: Wed Nov 16 07:28:19 2005 +0000 + + Fix builds when not building the Xorg DDX. + +commit fb2d9df869af0c96f1488ef7cf364e01a9d28f3f +Author: Adam Jackson +Date: Tue Nov 15 00:29:23 2005 +0000 + + Make fb build on darwin/ppc without addition #define hacks + +commit 16b315affa30e34b9bab81778978484137a5d9bb +Author: Kevin E Martin +Date: Mon Nov 14 21:04:12 2005 +0000 + + Use glcontextmodes.[ch] from Mesa. + +commit 0c110c80e7afbef50bb354cf1df30123ed048250 +Author: Kevin E Martin +Date: Mon Nov 14 20:18:03 2005 +0000 + + Add GL_CFLAGS so that GLX can find its proto headers when using separate + build dirs. + +commit fc81c13e4dafb0eb818879454ee7ae3fa3dae6d0 +Author: Kean Johnson +Date: Mon Nov 14 18:49:30 2005 +0000 + + Dont prevent SCO platforms for using the default ZAxisMapping now that the + OS layer correctly sends z-axis events when the wheel button is used. + +commit bd9fb533b31c2427d854199fa59dccd357cf874b +Author: Alan Coopersmith +Date: Mon Nov 14 00:01:34 2005 +0000 + + Default xkb-output directory needs trailing slash. + +commit 267cbffa41fffff69c692911d128462f5bab2a69 +Author: Alan Coopersmith +Date: Sun Nov 13 20:53:24 2005 +0000 + + Bug #5019 xserver + installs manpages into 'man1' instead of 'man1x' + +commit 3179d29b8212c197634d81fbeb8dd2e8df995735 +Author: Alan Coopersmith +Date: Sat Nov 12 18:03:34 2005 +0000 + + use RGB_DB not RGB_PATH as that's what configure defines (Jürg Billeter + ) + +commit 0e7e4c7064df64c29b1a0ccd84fba1be7c748f18 +Author: Kevin E Martin +Date: Thu Nov 10 04:59:21 2005 +0000 + + Fix typo to enable DGA support. + EXTMODULE is required to build DGA support into extmod. + +commit e4554db8f87c6a39a3087186395972000bd2085c +Author: Kean Johnson +Date: Thu Nov 10 02:41:20 2005 +0000 + + Dont pass wheel mouse buttons as real buttons, map them as Z-Axis movement + on SCO and USL. Re-instate the ZAxisMapping default for the mouse + driver. + +commit 1b26fe6d2092c202141a0371f47ef1cd7c66ec00 +Author: Kevin E Martin +Date: Wed Nov 9 21:28:54 2005 +0000 + + Update package version number for X11R7 RC2 release. Update release string + to 6.99.99.902 (i.e., 7.0 RC2). + +commit f886e632b8dab1bfa0de42b9759a8284ecd9b94f +Author: Matthias Hopf +Date: Wed Nov 9 17:05:41 2005 +0000 + + Bug #4915: ButtonMapping option which allows to define arbitrary button + mappings (including left-handed mouse etc.). Fixed incorrect usage of + non-reversed, but ZAxisMapped buttons for state detection. Nuked unused + part of reverseMap. + +commit a25871ae52dd5ce094ba8c1b2021dd027d3e71bd +Author: Kevin E Martin +Date: Wed Nov 9 01:00:46 2005 +0000 + + DRM 1.0.5 import + +commit c9709c0a38af46368726857f7261cbeb84e53911 +Author: Kevin E Martin +Date: Tue Nov 8 22:47:57 2005 +0000 + + Add newly checked in files to Xorg server build. + Fix release date. Enable DGA extension by default. + +commit f8430a1b8651f4b52d9d3b54694a60d929b48925 +Author: Kristian Høgsberg +Date: Tue Nov 8 19:04:56 2005 +0000 + + Bug #2880, add functions for byte and word level access to pci config + space. + Fix broken utf8 again. + +commit 5390c7ab05d23f64e6d9afaa558be246a6d6e1b4 +Author: Kean Johnson +Date: Tue Nov 8 06:33:30 2005 +0000 + + See ChangeLog entry 2005-11-07 for details. + +commit f5814bf3fff5352ed6edef4c58aadf2d4593f094 +Author: Alan Coopersmith +Date: Tue Nov 8 03:12:43 2005 +0000 + + Don't reference noXkbExtension when building without XKB. (Bob Terek - Sun + Microsystems) + +commit e73cdba865f36ebf78c2dc4ff674b4d9bfe85013 +Author: Kevin E Martin +Date: Mon Nov 7 21:03:49 2005 +0000 + + Fix Xvfb to work properly in depth 15 mode. Fixes XTS5 XCloseDisplay-3 + server crash. + +commit 890ed0e082e048fa8daf48229b40558381bd131d +Author: Thomas Hellstrom +Date: Sun Nov 6 16:40:59 2005 +0000 + + Fix a bug where a system memory pixmap got a wrong address if memcpy() + fallback was used for downloading from screen. + +commit 70aedcf32a0c924fd073f5b36d20813e8323026b +Author: Alan Coopersmith +Date: Sat Nov 5 18:56:50 2005 +0000 + + Bug #4948: Incorrect + URL in log file for Xorg CVS. Also fixed wording of statement to not + refer to monolithic CVS since modular uses the same code, so it was + appearing in modular builds too. + +commit 89c661d61f1b9c70a08237476fa1f7f42c1783ab +Author: Kevin E Martin +Date: Fri Nov 4 21:37:32 2005 +0000 + + Only use fbCopyAreammx if planemask is FB_ALLONES (fixes XTS5 XCopyArea + tests 22 and 23). + +commit 0b150a05e6fadca7ee8240697d6cbeadea0c53b3 +Author: Ian Romanick +Date: Thu Nov 3 17:12:53 2005 +0000 + + Whitespace change just to make sure I created the branch correctly. + +commit 90cf8e339b71c2f8f2d7a362e6e1ca8078d7f4fd +Author: Kevin E Martin +Date: Thu Nov 3 17:08:06 2005 +0000 + + Fix vendor string and release version reported by the servers. Enable + security, lbx and xevie extensions to give us parity with monolithic + tree. + +commit f23defeef285b4a5bb58405589294bd557c9bb01 +Author: Alan Coopersmith +Date: Thu Nov 3 16:57:01 2005 +0000 + + Use APP_MAN_SUFFIX for Xserver man page instead of hardcoding section 1 + +commit f5daec674aeb4fe6ccbc95ead8a319bbeb368d9f +Author: Kevin E Martin +Date: Wed Nov 2 15:56:40 2005 +0000 + + Add support for enabling/disabling DBE (part of generic enable/disable + extension support in the server). + +commit a311bfa73afa1af76f81958d23bc8e0c631d6828 +Author: Kevin E Martin +Date: Wed Nov 2 15:53:57 2005 +0000 + + Fix support for enabling/disabling extensions loaded from modules. + +commit 462a2407d540eac831c9be4dcee8a16aa1cea6ac +Author: Kevin E Martin +Date: Tue Nov 1 15:01:51 2005 +0000 + + Add xorg-server.m4 for driver dependency checking. + Update pkgcheck depedencies to work with separate build roots. + +commit 56101c9d6ec3585a0a8550da4b83dd399e3bcce6 +Author: Kevin E Martin +Date: Mon Oct 31 05:45:40 2005 +0000 + + Fix fd leak by closing them in the ACPI code instead of just using + shutdown. + +commit 7993486e80711bd6f6f5b6c2b1f2ac32bfba735b +Author: Thomas Winischhofer +Date: Sun Oct 30 17:38:49 2005 +0000 + + RandR: Add a driver func to let the driver determine the physical size of a + screen size (display mode). Useful for faked widescreen modes, modes + which are scaled by the driver, etc. This really helps fixing RandR's + sometimes dumb DPI assumptions. + +commit c818d3a1a5439c54fc687927a99d69712602ed5e +Author: Thomas Winischhofer +Date: Sun Oct 30 09:27:06 2005 +0000 + + Add xf86RandRSetNewVirtualAndDimensions to loader symlist + +commit fdbb3ea60949a12eb2f4805d16e8acc2348e39c7 +Author: Thomas Winischhofer +Date: Sat Oct 29 21:31:23 2005 +0000 + + Add function for drivers to change RandR's idea of the virtual screen size. + (This allows drivers to reserve a larger virtual size at start and + change it later) + +commit e921eec1c6d6ce32630977bd876c529a7c694459 +Author: Alan Coopersmith +Date: Sat Oct 29 00:12:33 2005 +0000 + + Make X -> Xorg symlink at install time. + +commit f842c229d4c4dbd5c01364f9e99709bedfd32be6 +Author: Alan Hourihane +Date: Fri Oct 28 16:01:17 2005 +0000 + + build fix on alpha + +commit 7416fd61a17a70a2c27c4b1d19796955c296dc7a +Author: Alan Coopersmith +Date: Thu Oct 27 21:03:27 2005 +0000 + + Improved stack trace dump code for Solaris - try fork & exec of pstack + first so we can see the names of non-exported symbols that aren't + visible to walkcontext/dladdr1 code. + +commit b588bdfe2ac3758d7188706078d79fa276a303e3 +Author: Dave Airlie +Date: Sat Oct 22 04:38:50 2005 +0000 + + programs/Xserver/GL/mesa/X/xf86glx.c: Missing initializer in xf86glx.c + spotted while debugging something else. + +commit 59279da49806b032027bb54410bc2513d21e3d9e +Author: Adam Jackson +Date: Fri Oct 21 19:06:13 2005 +0000 + + Bug #1429: Report input device type correctly. (Stéphane VOLTZ) + +commit 4a8072011895e6f472e429af7503fc07e0561144 +Author: Adam Jackson +Date: Fri Oct 21 18:50:09 2005 +0000 + + Bug #4730: Byte-swap the pixmap ID correctly. (Neil Campbell) + +commit 81e913d3106066de73792f59f3e50e2b5458c567 +Author: Adam Jackson +Date: Fri Oct 21 18:23:33 2005 +0000 + + Bug #4840: Typo, x$xRES -> x$RES. (George Fufutos) + +commit f5a58178347878e0409b592330a07867bea02bef +Author: Ian Romanick +Date: Thu Oct 20 23:24:47 2005 +0000 + + Make sure that the __gl*_size prototypes are seen in all the places that + they need to be seen. + +commit 279cf9f79da5778b6e14ecc437379d73e3bec5b0 +Author: Donnie Berkholz +Date: Thu Oct 20 22:41:28 2005 +0000 + + Bug #4817 Restore '=' + to '==' in test for mmx_capable. + +commit 1f43d218cc24358a0379535ed517c23011633c31 +Author: Thomas Winischhofer +Date: Thu Oct 20 21:45:40 2005 +0000 + + EXA: The "optimization" for using a fill operation instead of 1x1 copies + checked the destination drawable's dimensions (!) instead of the + tile's. Really.... + +commit 15f56b203dbc14ea59885d40fd4bed3da9e8e190 +Author: Adam Jackson +Date: Thu Oct 20 18:52:51 2005 +0000 + + Move xf86XTrapModule.c to dixmods, guess at a build system. + +commit da43c778f4a831061ad2c8b8a312b7a54c9cd79e +Author: Adam Jackson +Date: Wed Oct 19 22:45:54 2005 +0000 + + Bug #3224: Degrade XKB fallback message to X_WARNING. + +commit 4ebd26f04b32f1b09e0759f1a83437d0b1c4d646 +Author: Adam Jackson +Date: Wed Oct 19 22:36:22 2005 +0000 + + Bug #3196: Fix Load foo.so syntax. + +commit af211a9bc1bcab0aa631558e5d6ce013095f9802 +Author: Adam Jackson +Date: Wed Oct 19 22:30:09 2005 +0000 + + Fix PCI bus scan on ia64 E8870 chipsets. + +commit 5744308e2957781449bfe6fee9b465617a88384d +Author: Kevin E Martin +Date: Tue Oct 18 22:06:54 2005 +0000 + + Update package version number for RC1 release. Update release string to + 6.99.99.901 (i.e., 7.0 RC1). + +commit 2769c3e72c470b472dae013e256a7ee73c3e53f2 +Author: Adam Jackson +Date: Tue Oct 18 19:43:48 2005 +0000 + + Fix distcheck by forcing Xorg to be installed before chmod/chown. + +commit dd0d010e9c34278f968be486a6c5c91e021b6609 +Author: Adam Jackson +Date: Tue Oct 18 19:14:08 2005 +0000 + + Fix parallel builds my ensuring libdmxconfig builds first. + +commit 79e6ac79f983b6cbd88a868dfd2235d9cbe75e8b +Author: Alan Coopersmith +Date: Tue Oct 18 07:18:21 2005 +0000 + + Don't use $< in explicit rules since neither BSD nor Solaris make allow + that. + +commit fb282ef43a1936dcdefa57f16a8363b2adaf983b +Author: Aaron Plattner +Date: Tue Oct 18 04:03:01 2005 +0000 + + Add miext/damage so misym.c can export DamageDamageRegion. + +commit 959db6028d232dc76396cb658aa48d3b4e605aed +Author: Aaron Plattner +Date: Tue Oct 18 04:02:31 2005 +0000 + + Export DamageDamageRegion. Not bumping the ABI version since we did that + already for this release. + +commit b61c828b0455ec1d4a7ffb54b5ac9b65764a458b +Author: Kevin E Martin +Date: Tue Oct 18 02:23:58 2005 +0000 + + DRM 20051017 import + +commit d6a40bcd4a745b5d6d1070deb696b21d128ca0fe +Author: Alan Coopersmith +Date: Tue Oct 18 00:32:55 2005 +0000 + + Change default install dir for app-default files from + $(sysconfdir)/X11/app-defaults to $(libdir)/X11/app-defaults to match + the monolith & allow localization + +commit e7007f7d51c9e1d39118865fefb1716c579a70bd +Author: Adam Jackson +Date: Mon Oct 17 22:42:03 2005 +0000 + + More automake 1.7 braindamage: use mkdir -p, not . + +commit 151ba8b67fd88a721f9f72d3019212b22f5cd3e2 +Author: Adam Jackson +Date: Mon Oct 17 22:25:58 2005 +0000 + + Work around automake-1.7 braindamage by providing an explicit rule for + XOrgCfg. + +commit eec3df1503e561aff6656e15c73b25a0bba1b06b +Author: Kristian Høgsberg +Date: Mon Oct 17 17:11:12 2005 +0000 + + Fix whitespace in AS_HELP_STRING uses, convert all help strings to use + AS_HELP_STRING. + +commit 1859c62607d567aa05334df1662f7249c983f793 +Author: Kevin E Martin +Date: Mon Oct 17 07:18:59 2005 +0000 + + include/dix-config.h.in Add support for more extensions + Add missing files to EXTRA_DIST + +commit ccfe9e7e9b49cbbf7c50fbf1a5c33178f27f79eb +Author: Alan Coopersmith +Date: Sun Oct 16 21:57:34 2005 +0000 + + Link Xprint config directories in $(C_LOCALE) list to C locale dir, not + en_US + +commit a7d6a4fb321415b8aaad72760ff8a1ca3fd077f9 +Author: Donnie Berkholz +Date: Sun Oct 16 03:02:53 2005 +0000 + + Change '==' to portable '='. + +commit c2e461c7e970830ea430de3e5f352d144e9f0239 +Author: Kevin E Martin +Date: Sat Oct 15 20:44:44 2005 +0000 + + Fix typo and add new Makefiles to AC_OUTPUT + Fix typos + Add xorg.conf.man to CLEANFILES + Add missing files to EXTRA_DIST + +commit 34b7b57b3c80507f63a542c6adb4b5c8ed80b642 +Author: Kristian Høgsberg +Date: Sat Oct 15 19:34:28 2005 +0000 + + Doh, remember to add this file. + +commit 744aa34ca5228ea176cc56a7bdd48bbf5f29b0b5 +Author: Eric Anholt +Date: Sat Oct 15 02:19:09 2005 +0000 + + Add an additional meaning to the "dirty" flag. Now, if !dirty && !area, the + pixmaps's contents are undefined, so we won't need to upload the + undefined contents in MoveIn. Use the ExaCheck* for async ops as well, + so that dirty is always tracked. While the performance impact for my ls + -lR test was not significant (though the avoiding-upload path was being + hit), it's likely to be important for the upcoming Get/PutImage + acceleration from ajax. + +commit 21e7339c1eead1148eea462bc99cf8faf02c8d39 +Author: Kristian Høgsberg +Date: Fri Oct 14 22:44:56 2005 +0000 + + Hook up lbx. + +commit d62943c040fd3d45079c9918c57f74f993b585d4 +Author: Alan Coopersmith +Date: Fri Oct 14 22:19:51 2005 +0000 + + Set default font path to match the default in the monolith so fonts are + actually found. + +commit 0ee70f53ef9b05052ee079560df107d05a9c5407 +Author: Alan Coopersmith +Date: Fri Oct 14 22:01:46 2005 +0000 + + Install Xorg & xorg.conf man pages even when not building docs + +commit 0676a2874a62a3661a718cdf21e75ffc77197ad9 +Author: Kristian Høgsberg +Date: Fri Oct 14 20:01:36 2005 +0000 + + Add sysv and sco os-support subdirs and add simple EXTRA_DIST Makefile.am + in those dirs. Remove unsupported os-support subdirs (bsdi, dgux, hurd, + nto, os2, pmax, qnx4) that have no maintainer and we don't dist. + Add Options. + +commit 57abb5b171b2fe88252aeb788463e533106d66b9 +Author: Alan Hourihane +Date: Fri Oct 14 08:29:16 2005 +0000 + + remove reference to non-existent agpgart.h + +commit 7e3e9ed97ba25bb84286f97fe6882a37c9aa7e25 +Author: Donnie Berkholz +Date: Fri Oct 14 06:10:06 2005 +0000 + + Add XTRAP_LIB to XPRINT_EXTENSIONS to fix xprint build when xtrap is + enabled. + +commit 821584fcd3bf83f3aaacd35e54323f71d976db44 +Author: Donnie Berkholz +Date: Fri Oct 14 05:36:39 2005 +0000 + + Require glproto >= 1.4.1 if building DRI with GLX. This fixes a build + failure on a number of hyperpipe functions. + +commit 8df7628a2ad93edf8271f13e0b43c0fa8f766668 +Author: Alan Coopersmith +Date: Fri Oct 14 00:41:51 2005 +0000 + + Remove reference to XF86config-4. Add xorgcfg(1) to See Also list. + +commit b54c8154ca19edce00b9c6379d5daf94268bade1 +Author: Alan Coopersmith +Date: Fri Oct 14 00:34:49 2005 +0000 + + Set substitutions needed in xorgconfig man page. + +commit 1df705e465a103c94ffbb9fe97bdbe6b0aefc746 +Author: Alan Coopersmith +Date: Thu Oct 13 20:30:38 2005 +0000 + + AC_SUBST VENDOR_STRING & VENDOR_RELEASE for xorgcfg's app-defaults file + +commit b349b20d783252d5126451142419aae554f9b776 +Author: Kristian Høgsberg +Date: Thu Oct 13 18:08:24 2005 +0000 + + Dist NOTES. + Dist helper shell scripts. + Dist XAA.HOWTO and a few more unused C files. + Dist xorgconf.cpp. + Fix DIST_EXTRA typo. + Clean yacc and lex generated files only during make maintainer-clean as we + don't expect users to have those tools installed. + +commit 35a767590e481b15ae66dccc2dd91098992b2751 +Author: Benjamin Herrenschmidt +Date: Thu Oct 13 01:13:58 2005 +0000 + + Fix stupid mistake in yesterday's allocator commit, would cause exa to + consider a random available memory size + +commit a16dabd05ee7ec97877f07bd40ed83c01e72fc22 +Author: Eric Anholt +Date: Wed Oct 12 11:15:44 2005 +0000 + + Remove an RM line that appears unnecessary and was breaking the build at + xf86DefModeSet.c with FreeBSD make, where RM was undefined. While here, + make the build of xf86DefModeSet.c depend on its sources, so it'll + rebuild properly, and make it a normal CLEANFILE rather than a + DISTCLEANFILE, since the intention seems to be to build it at the + user's build time. + +commit b819c8378fbf29f185332e8435a80eb35991cd1f +Author: Alan Hourihane +Date: Wed Oct 12 08:22:31 2005 +0000 + + remove unneeded line of code + +commit e573b272bf2b06fb62d0306ddc966f3230ead967 +Author: Benjamin Herrenschmidt +Date: Wed Oct 12 07:46:36 2005 +0000 + + Use proper access size when reading pixel based on bpp of the source pixmap + +commit 55efb41f6cc064763cbfd3ee2a1239dc46cb109a +Author: Eric Anholt +Date: Wed Oct 12 07:35:20 2005 +0000 + + If a window background is a 1x1 pixmap, read the value out and go to + exaFillRegionSolid rather than sending piles and piles of Copies to the + hardware. + +commit fce11fdf03acc1f3f1dafb79fc8fff0251cf5473 +Author: Kevin E Martin +Date: Wed Oct 12 02:11:06 2005 +0000 + + Fix typo (DIST_EXTRA -> EXTRA_DIST) + +commit 12994b9afbc18bfb7209f677abf673415c9ddf15 +Author: Benjamin Herrenschmidt +Date: Tue Oct 11 23:11:37 2005 +0000 + + Fix a couple of bugs in the offscreen allocator. One mostly harmless was + causing our search loop for evictable blocks to possibly skip a good + candiate, and another was the allocator would occasionally use + area->offset as if it was the base of the pixmap, while for a pixmap + that is not in available state, it is not. This caused some funny + miscalculation leading to overlapping pixmaps and accesses beyond the + end of the framebuffer. To make things cleared, I renamed save_offset + to base_offset, made sure it's the one used everywhere in the + allocator, and only align "offset" for the client at the end of + exaOffscreenAlloc(). + +commit 8444a1f3918b0433f89cae31673ab63628b4543d +Author: Alan Hourihane +Date: Tue Oct 11 21:01:04 2005 +0000 + + missed commit + +commit 3b683b63eed603ae58a8cddab48eb81f7ba0dbdf +Author: Alan Coopersmith +Date: Tue Oct 11 20:12:24 2005 +0000 + + missed ChangeLog entry for previous commit + +commit b4450f3242ab408e80bc3d6d5d1cf6765f3e5339 +Author: Thomas Winischhofer +Date: Tue Oct 11 19:03:02 2005 +0000 + + Add DGAReInitModes, Part 2 + +commit d91d18e1d6d663244288748ab86a35a6c151a535 +Author: Thomas Winischhofer +Date: Tue Oct 11 19:02:18 2005 +0000 + + Add DGAReInitModes in order to allow the driver to change the list of + supported DGA modes. (Part 1) + +commit c1a2abadfbb862cbaac3e23d0c1317ce5473ebdd +Author: Alan Hourihane +Date: Tue Oct 11 14:50:47 2005 +0000 + + fix a typo + +commit 697f64a22ac5a7742a0022605a1074351296d4f8 +Author: Alan Hourihane +Date: Tue Oct 11 14:50:03 2005 +0000 + + check randrp has been initialized + +commit 2828d92c6ca400b603b6a20a221d9c858732292f +Author: Alan Hourihane +Date: Tue Oct 11 14:45:01 2005 +0000 + + programs/Xserver/hw/xfree86/common/xf86RandR.c + programs/Xserver/hw/xfree86/loader/xf86sym.c Add a new function + xf86GetRotation to allow third party modules to obtain the current + rotation. + +commit cad18ec979e38ef80a606f0e4abf2142b9d0d2b1 +Author: Alan Hourihane +Date: Mon Oct 10 10:07:47 2005 +0000 + + don't move x or y depending on the screen size change + +commit 7f72f94aa4f0655b8aab6c67eef2a5f5ac4b418f +Author: Alan Hourihane +Date: Mon Oct 10 09:31:49 2005 +0000 + + rework that again + +commit 7c1d9a31a36552467d194e7d009c17dc526256c2 +Author: Alan Hourihane +Date: Mon Oct 10 09:24:28 2005 +0000 + + a furthur tweak to the randr cursor position fix + +commit 13f958fbe8420e406f24c01d320f29002ee860b7 +Author: Benjamin Herrenschmidt +Date: Mon Oct 10 05:58:41 2005 +0000 + + Add missing {Prepare,Finish}Access() wrappers for the tile pixmap in the + fallback case + +commit d82aeb55ca3b6abe4cafa7b9c39777a5f67308e5 +Author: Alan Coopersmith +Date: Sun Oct 9 23:47:52 2005 +0000 + + Bug #3254 Make sure + screensaver & DPMS timeouts don't overflow when multiplied by + MILLI_PER_MIN. (Reported by Zachary J. Slater) + +commit 29b5f846d261976f466d2c7181d6a75de670066b +Author: Alan Coopersmith +Date: Sun Oct 9 17:47:34 2005 +0000 + + Bug #4715 Add + SecurityPolicy to EXTRA_DIST (Bill Crawford) + +commit 046234b3ebdfe221de9e87d70d287f69a6f59d6e +Author: Eric Anholt +Date: Sun Oct 9 02:03:22 2005 +0000 + + Don't try the accelerated glyphs path for component-alpha text (which I + don't expect drivers to be able to accelerate without exa assistance). + Instead, drop back to plain old miGlyphs for a 62.5% +/- 1.5% reduction + in runtime of my ls -lR test (n=5) with component alpha. While a + reasonable approach would seem to be making a better test to see + whether the entire path would be accelerated and force migration + appropriately, my attempt at this made the situation much worse. + +commit 526d1502df8db6799c9d1155b86ce79cef90872b +Author: Alan Hourihane +Date: Fri Oct 7 21:29:39 2005 +0000 + + another update to the RandR fix (thanks Aaron) + +commit 5a71a5667eb5b01e0f65f9310f4af1f6c5711ab7 +Author: Kristian Høgsberg +Date: Fri Oct 7 19:01:10 2005 +0000 + + Add Xprint init scrips to EXTRA_DIST. + +commit 470213753b158225b44a39a872599344acbc7101 +Author: Alan Hourihane +Date: Fri Oct 7 18:15:08 2005 +0000 + + update the last RandR fix + +commit 348242f35aeb2869ef390241035b5f3266fc0288 +Author: Alan Hourihane +Date: Fri Oct 7 15:39:52 2005 +0000 + + programs/Xserver/hw/xfree86/common/xf86RandR.c Use PointerMoved instead of + SetCursorPosition, as PointerMoved will call AdjustFrame to reposition + the window if necessary and avoid the cursor ending up offscreen. + +commit 578e18d11b3d61449c1dd7eba04e1748f19c68f3 +Author: Kevin E Martin +Date: Fri Oct 7 14:27:47 2005 +0000 + + Add darwin to dist + Include missing docs in EXTRA_DIST + Include headers and other files in dist + +commit 148df64a05d69adaac4b0f3684b846eb1da60219 +Author: Kevin E Martin +Date: Fri Oct 7 04:11:02 2005 +0000 + + Add README.compiled to dist tarball + +commit ff258ac2783203ed2a7698894d951391d1aecebc +Author: Benjamin Herrenschmidt +Date: Thu Oct 6 23:45:29 2005 +0000 + + Clients tend to set picture->repeat when not necessary. Most HW cannot + accelerate repeat NPOT thus triggering software fallback (this is the + case with gnome desktop for example). This adds a simple optimisation + to exa that removes "repeat" when it's obviously useless, that is, the + single picture instance covers the entire rectangle beeing used + +commit e4ed43c3a6c248ba2b82b8bbf29da537a68407e6 +Author: Søren Sandmann Pedersen +Date: Thu Oct 6 22:25:35 2005 +0000 + + symlink.sh: + New files linked: + xorgconf.cpp Options + usb.3 usb_hid_usages + lynx_ppc.S + BUSmemcpy.S IODelay.S PortIO.S SlowBcopy.S + sun_inout.s + xaaTEGlyphBlt.S + xkbcomp/compiled/README + New files excluded: + All of lib/GL/apple + xlibi18n/*/*.mapfile + xxserver/xorg/configure.ac, xkb/Makefile.am: + Install README.compiled in the xkb output dir + +commit 1614a31a9dad9482ae4526c194c2bae1c4993f8f +Author: Eric Anholt +Date: Thu Oct 6 21:55:41 2005 +0000 + + Bug #4699: Correct some memory leaks in EXA and damage related to region + handling. + +commit cd9ff6aec81e04bbfe14364407ccb28df05fc063 +Author: Alan Coopersmith +Date: Thu Oct 6 20:16:13 2005 +0000 + + cpp processing for Xvfb man page + +commit 370b8c8f1cb1a3531d52ea3b430852a0d76b2a4c +Author: Alan Coopersmith +Date: Thu Oct 6 20:14:43 2005 +0000 + + App-defaults file not supposed to have .ad suffix when installed Fix cpp + rules to set needed flags for app-defaults file + +commit 2770233069d3845c681bea8eccff22e92254487e +Author: Alan Coopersmith +Date: Thu Oct 6 19:59:26 2005 +0000 + + Don't build "ev" example on systems without + +commit 460145a5d52b5325fa5e920cee3699fcf7dd9afe +Author: Kristian Høgsberg +Date: Thu Oct 6 19:37:39 2005 +0000 + + Add cpconfig.c to EXTRA_DIST. + Add CURSOR.NOTES to EXTRA_DIST. + Add extrapci.ids to EXTRA_DIST and fix xf86PciIds.h rule. + +commit e63f76caa1b1342422567fdcb9f8af24792c8ca1 +Author: Alan Coopersmith +Date: Thu Oct 6 17:55:54 2005 +0000 + + Sun bug #6326551: xkbSetDetectableAutoRepeat broken when using XEvIE + + (Derek Wang, Sun Microsystems) + +commit 5f30a7b10286b4f55821acd4eb5580a8f5a3c56a +Author: Benjamin Herrenschmidt +Date: Thu Oct 6 08:08:04 2005 +0000 + + Bug #4689: Treat DirectColor as TrueColor in Render. It fixes some crashes + with xcompmgr when using apps that use a DirectColor visual for their + windows + +commit 9000c0321baf1e25e1796e6a333aad0e5a22cbe2 +Author: Kevin E Martin +Date: Thu Oct 6 04:05:30 2005 +0000 + + Install correct man page and add to dist + +commit 9b894df44b575f768a2400d044d8c1eb6ef2ec97 +Author: Kevin E Martin +Date: Thu Oct 6 02:40:41 2005 +0000 + + Include dmx-config.h for modular build + Use intead of "dmxext.h" + +commit 30c1369bf5816ffd7bd52d9a9dbcb72500684e2f +Author: Kevin E Martin +Date: Thu Oct 6 02:35:22 2005 +0000 + + Add support for building DMX config and examples programs Add missing files + to EXTRA_DIST Install Xdmx man page + +commit 1f9b6dc1ccd999c90ba825cf5fbdfa29770224a6 +Author: Kevin E Martin +Date: Thu Oct 6 00:34:29 2005 +0000 + + Clean up generated files to pass distcheck + Clean up generated files to pass distcheck Distribute getconfig.man.pre, + not getconfig.man + +commit 61cd478b545de0313271cf6852e2df770e8f5914 +Author: Adam Jackson +Date: Wed Oct 5 22:39:41 2005 +0000 + + Bug #3652: Server-side GLX support for GLX_SGIX_swap_barrier and + GLX_SGIX_hyperpipe extensions. (Eric Kunze, SGI) + +commit e891d9c078bd31447ae3e1fc7f8c15953b0bb916 +Author: Alan Coopersmith +Date: Wed Oct 5 22:19:09 2005 +0000 + + Update to 2005-10-05 snapshot from pciids.sf.net (includes a couple new + Radeon id's). + +commit dc6ac8e46f80157960a24a1be1fb83f22dff45a0 +Author: Kristian Høgsberg +Date: Wed Oct 5 21:38:40 2005 +0000 + + Add DGA configure option and add various files that we should be dist'ing. + Simplify xf86DefModeSet.c rule a bit. + +commit 8391eaa4aa1ae3744ad8c45f5d148ba362d2c9dd +Author: Adam Jackson +Date: Wed Oct 5 21:13:49 2005 +0000 + + Preprocess and install XOrgCfg.ad as in the monolith. + +commit a9df169f108b15d312421e498675cd2e48206660 +Author: Alan Coopersmith +Date: Wed Oct 5 17:27:58 2005 +0000 + + Add missing $(DESTDIR) to custom install target + +commit a6cbe0776fcc8fb19a2bf2ecef41559eed6e5cef +Author: Alan Coopersmith +Date: Wed Oct 5 16:39:09 2005 +0000 + + Fix the rest of the XFree86 DDX options that require an argument to say so + instead of reporting "unrecognized option" when the argument is + missing. Also give correct error instead of "unrecognized option" for + options only available to root. + +commit 8c524f9966d2a167ea71dd81e235140e0db31471 +Author: Alan Coopersmith +Date: Wed Oct 5 15:33:40 2005 +0000 + + Xdmx & Xprint also need xau & xdmcp module dependencies + +commit 9f3ad65251832631630f7e587b409b750a144bd3 +Author: Luc Verhaegen +Date: Wed Oct 5 07:27:52 2005 +0000 + + Fix lnx_pci.c's xf86GetOSOffsetFromPCI return value. Clears up the resource + ranges awkwardness and the "INVALID MEM ALLOCATION" warning. + +commit da989e988cc96c0ec4f07fceb4c36b30c2e37f4a +Author: Alan Coopersmith +Date: Wed Oct 5 02:18:10 2005 +0000 + + Xnest depends on xdmcp & xau modules too + +commit 9e8b5f3d478ca18a9ff9c26745de77c91a5d36d9 +Author: Alan Coopersmith +Date: Wed Oct 5 01:38:50 2005 +0000 + + Make Xorg -config stop lying to people and claiming it doesn't exist when + you fail to specify a file name. Also, include it in the list of + available options for non-root users when listing all available flags. + +commit 34a8411ede185553f1387ee0bf534cf77b0fc004 +Author: Adam Jackson +Date: Wed Oct 5 00:55:08 2005 +0000 + + Bug #4038: Unbreak the SYSVIPC check for cross builds. (Detlef Vollman) + +commit f47f00ab747563678c8625de5e5b2a588660064e +Author: Eric Anholt +Date: Tue Oct 4 11:24:09 2005 +0000 + + Mark the temporary pixmap dirty if UploadToScreen succeeds. Failure to do + so resulted in a solid black glyph if the font rendering actually + resulted in a fallback (subpixel AA, for example) and the temporary got + migrated after 10 or so glyphs. + +commit 89a1a91b88b94b341075bc208941337ce11465b7 +Author: Aaron Plattner +Date: Tue Oct 4 07:42:21 2005 +0000 + + Add miext/cw to the module loader include path so that misym.c can export + miDisableCompositeWrapper. + +commit 43625a47063c246e7bf9d687caded0b7e2ea0dc6 +Author: Aaron Plattner +Date: Tue Oct 4 07:31:53 2005 +0000 + + Bump the video driver module ABI minor version to 8 so modules statically + linked against miDisableCompositeWrapper won't load on older servers. + #include "cw.h" instead of #include "cw/cw.h" + +commit ca57db6fc1e6100c47ad935d626fdd490ed6116e +Author: Aaron Plattner +Date: Tue Oct 4 04:30:33 2005 +0000 + + Export miDisableCompositeWrapper. + +commit b2e451b93c20efc49a6cc565239432b2c705fe37 +Author: Eric Anholt +Date: Tue Oct 4 03:44:14 2005 +0000 + + Correct the test for whether projective transform is necessary. Also, use + "affine" to describe the variable (universally) on suggestion from + vektor. Corrects a rendercheck failure. + +commit cdded97a0ad717f4f9120b37d2687fa661696c9b +Author: Alan Coopersmith +Date: Tue Oct 4 00:45:42 2005 +0000 + + Add #include for modular build + +commit 4ae4fc7d51aeb0f27bed52f7e6a346745f3ea453 +Author: Alan Coopersmith +Date: Tue Oct 4 00:43:16 2005 +0000 + + Add gtf to xserver/xorg/hw/xfree86/utils + +commit d51962378ef6371456e034d6d7f6780e05bc1207 +Author: Adam Jackson +Date: Mon Oct 3 19:31:50 2005 +0000 + + Bug #3781: Only use fbCopyAreammx when alu == GXcopy. Originally Gentoo bug + #96053, patch by bartron@gmx.net. + +commit 6d4b350dee9495e54e6e5492815885f1d8455ac9 +Author: Alan Coopersmith +Date: Mon Oct 3 16:46:14 2005 +0000 + + Bug #3815 Patch #3463 + GNU/kFreeBSD + Xserver support (Robert Millan) + +commit 22b4200b01310e7b4743ef0b3541c3053a2d8279 +Author: Alan Coopersmith +Date: Mon Oct 3 15:41:10 2005 +0000 + + Whoops, need to be in DIST_SUBDIRS too. + +commit 14a2bd33307fd937804a9fbb03787ec30858a05c +Author: Alan Coopersmith +Date: Mon Oct 3 15:37:57 2005 +0000 + + Add missing ] (Dawid Gajownik) + Add getconfig (Dawid Gajownik) + +commit 84141fc299b03b5552be093f9b698a85bc670d65 +Author: Eric Anholt +Date: Mon Oct 3 11:43:55 2005 +0000 + + Merge r1.36 of fbcompose.c from xserver CVS: Special case projective + transforms so we can avoid doing the expensive + 64-bit math. Unroll the bilinear interpolation loops for an extra boost. I + tested this with the up/downscaling cairo-benchmarks with Xvfb and saw + a 12% +/- 4% decrease in time taken to run them. + +commit c024262eae4e00567ccb66a59b4d572621233cbc +Author: Eric Anholt +Date: Mon Oct 3 10:20:29 2005 +0000 + + Merge r1.2 of fbedge.c from xserver CVS: Optimize spans where the same + value is being added to multiple pixels. This improves the speed of + rendering wide trapezoids. I tested this with a small set of xlibs + cairo-benchmarks with Xvfb and saw a 4% decrease in time taken to run + them. + +commit a7e3c6fa8ceb6a3a423377aa32ab0da5a6ab9286 +Author: Adam Jackson +Date: Mon Oct 3 06:31:48 2005 +0000 + + Real configure check for execinfo.h (Yuri Vasilevski) + +commit e3d2a7d57bc57453d66aa63ca7fe4d910b64737c +Author: Adam Jackson +Date: Mon Oct 3 06:29:14 2005 +0000 + + Bug #4393: uClibc lies and defines __GLIBC__ even though it's not source + compatible with glibc, so the backtrace support check fails. Work + around this by wrapping the code in a configure check for execinfo.h, + and emulate detection for the monolith. (Yuri Vasilevski) + +commit 5037d3441d65f1fb6493c3b55137ef1b5eddd6b0 +Author: Alan Coopersmith +Date: Sun Oct 2 22:17:38 2005 +0000 + + Bug #1465 + /etc/init.d/Xprint should use PROJECTROOT from build (Grzegorz + DÄ?browski) + +commit b05e78dd40e1fe915096362f32c3af8aee0ed36a +Author: Alan Coopersmith +Date: Sun Oct 2 19:30:57 2005 +0000 + + Fix typo in MAN_SRCS (Dawid Gajownik) + +commit 8814896da83b19be01beedd0b2b3380298778328 +Author: Eric Anholt +Date: Sun Oct 2 08:53:18 2005 +0000 + + Fix include path for commit of bug #4616. + +commit ecaa46380ed0a920186407b9294c5c60f75f1a13 +Author: Eric Anholt +Date: Sun Oct 2 08:28:27 2005 +0000 + + Bugzilla #4616: + - Merge various fb/ bits of COMPOSITE support from xserver, which weren't + necessary before due to cw hiding the issues. Fixes offset calculations + for a number of operations, and may pull some fixes that cairo has + wanted for XAA as well. + - Add a new call, miDisableCompositeWrapper(), which a DDX can call to keep + cw from getting initialized from the damage code. While it would be + cleaner to have each DDX initialize it if it needs it, we don't have + control over all of them (e.g. nvidia). + - Use the miDisableCompositeWrapper() to keep cw from getting set up for + screens using EXA, because EXA is already aware of composite. Avoiding + cw improved performance 0-35% on operations tested by ajax in x11perf. + +commit 2c82429f8957ed0268c0e4e4fe5aed9093f33960 +Author: Ian Romanick +Date: Sat Oct 1 22:25:13 2005 +0000 + + Refactors __glXImageSize and __glXImage3DSize into a single function. It + replaces all calls to the old functions with calls to __glXImageSize + with the new parameter list. + I have also added 'target' as a parameter. This is a stepping stone to the + code in patch #2410. Basically, if the texture target is one of + GL_PROXY_*, the image size is always zero. This gathers all the checks + for that into a single place. I have *not* modified the existing + callers to take this into account. They still do their own checks for + GL_PROXY_*. However, when the generated versions of those functions are + added to the tree, they *will* rely on that. + The code growth is mainly due to the new 40 line comment before + __glXImageSize. + I have tested this with a few of the texture using demos and tests from + Mesa, including tunnel, texdown, and drawpix. + Reviewed by: Adam Jackson, Eric Anholt, and Brian Paul. + +commit e27b3e4ea1ddf9b2e9c2d63a0e60400b523a8a94 +Author: Ian Romanick +Date: Sat Oct 1 22:19:04 2005 +0000 + + Remove some more incorrect prototypes for the __gl*_size functions. + +commit e270e6394b623b48d416feeef0c3856f2e303c8d +Author: Matthieu Herrb +Date: Sat Oct 1 17:53:38 2005 +0000 + + Bug #3822: out of bound reads in fbbltone and fbblt (Mark Kettenis, Thierry + Deval). + +commit 54b2a14f0fa4397f3e9ae75dd63d5cacfdd778eb +Author: Matthieu Herrb +Date: Sat Oct 1 17:30:58 2005 +0000 + + Bug #3411: fix handling of keyboard Autorepeat rate in xorg.conf. + +commit a07dd03748c8fa2633e294ee4d9ab38265970e5e +Author: Alan Coopersmith +Date: Sat Oct 1 07:17:55 2005 +0000 + + Add hw/xfree86/getconfig + +commit abc6aa50fb52fa4fa9b9436dbc3a70f86e62dc27 +Author: Alan Coopersmith +Date: Sat Oct 1 06:27:12 2005 +0000 + + Oops - fix build/install of fbdevhw.man + +commit 13e0db19d8c0b1df636f218bcbfbb2c54fa7576f +Author: Alan Coopersmith +Date: Sat Oct 1 06:19:02 2005 +0000 + + Adding more doc files & fbdevhw man page + +commit b5ce065a5e91e2ad3213ea8c711cfe7ed9060c16 +Author: Thomas Winischhofer +Date: Fri Sep 30 08:54:44 2005 +0000 + + RandR: Fix failure handling (Closes #4635; Thomas Winischhofer) + +commit 4608a2b654be84b2e345bcada63422d18c74a06e +Author: Alan Coopersmith +Date: Fri Sep 30 02:37:57 2005 +0000 + + Man page processing/installation and other doc file updates + +commit aa74468aa59b95424cd0000179b8985b267d639b +Author: Adam Jackson +Date: Fri Sep 30 02:03:45 2005 +0000 + + sparse cleanups. s/0/NULL/ and mark a few things static. + +commit c65fde5343719d3e9ebc76cc371c6f5f7948de8c +Author: Søren Sandmann Pedersen +Date: Wed Sep 28 20:38:42 2005 +0000 + + Make the server distcheck: + - Fix up the XpConfig directory to remove the stuff it installs + - Add a few files to CLEANFILES here and there + +commit 58abce3f90504dd48838a2f7ae7bb5db6a6cff70 +Author: Eric Anholt +Date: Wed Sep 28 20:01:37 2005 +0000 + + - Use the dirty flag (which should be set correctly all the time, + particularly thanks to Prepare/FinishAccess) to avoid DFS/memcpy on + pixmap move-out if it's unnecessary. This was disabled in KAA because + cache misuse on ATI made me guess that this code was wrong. + - Unwrap Glyphs on closescreen. + +commit f53404bdbba23fd46420564565ab815f7c20b101 +Author: Alan Coopersmith +Date: Wed Sep 28 16:55:25 2005 +0000 + + Add kbd_mode build system + +commit 940158a6f2e98069a47293d713df674e16ad8a11 +Author: Ian Romanick +Date: Wed Sep 28 03:37:22 2005 +0000 + + Replace all uses of __glEvalComputeK (and the doubly redundant + EvalComputeK) with calls to one of __glMap[12][df]_size. This was + tested with progs/samples/eval (from Mesa). + +commit 806d74bc0640f4f3dcc034b36a36aea289b01685 +Author: Alan Coopersmith +Date: Wed Sep 28 01:57:47 2005 +0000 + + Add __SVR4 #ifdefs to work in non-Imake builds. + +commit 88957862b812b3e1e19d5e11365a22dc249cf4d2 +Author: Kevin E Martin +Date: Tue Sep 27 23:28:46 2005 +0000 + + Fix distcheck build and install errors. + +commit 003655c02ad3a031031bb4ac859966a513f63e10 +Author: Søren Sandmann Pedersen +Date: Tue Sep 27 18:36:14 2005 +0000 + + Make XpConfig build system call mkfont{scale,dir} + +commit 156b2cf3f76ae53cc37b6f5910b446c776ccc9ba +Author: Søren Sandmann Pedersen +Date: Tue Sep 27 17:49:35 2005 +0000 + + Add forgotten Makefile.am + +commit f3d0cb4a5722e0512bbdcd179215532795cba38f +Author: Søren Sandmann Pedersen +Date: Tue Sep 27 16:15:55 2005 +0000 + + Get XpConfig build system in pretty much working state + +commit 1c2e8b1ecc8b7b8c8562461eed7892ff22d17e71 +Author: Kevin E Martin +Date: Tue Sep 27 15:11:56 2005 +0000 + + Fix make dist to include only sgml files. + +commit ca64aab609c3585234410cd8d908f8e1efe5c788 +Author: Kevin E Martin +Date: Tue Sep 27 14:09:31 2005 +0000 + + Add build system for building docs and fix setuid issues. + Add build system for sgml docs. + +commit 1a4e30d508e62ab304722c3525748ff0e3c2899d +Author: Kevin E Martin +Date: Tue Sep 27 13:47:26 2005 +0000 + + Include xorg-config.h so the generated file will also include it. + +commit 30ff9e26196bdba8435e0dcdb96864e81c8cb136 +Author: Ian Romanick +Date: Tue Sep 27 00:04:40 2005 +0000 + + Fix some problems that caused incorrectly annotated prototypes for + __gl*_size functions to be used. The result was that, on x86, the code + would be compiled with FASTCALL semantics, but the callers would not. + This should fix GLX protocol errors that people are seeing. There + doesn't appear to be a bugzilla associated with this problem. + +commit 6c5c54b9a2872f1bb7de36a8d2d4efcef70b14c6 +Author: Søren Sandmann Pedersen +Date: Mon Sep 26 23:07:44 2005 +0000 + + Various small fixups to get XpConfig to 'build' + +commit 604f7c64efb57a48ec667c2ed62d3b4bad0c302b +Author: Søren Sandmann Pedersen +Date: Mon Sep 26 22:45:43 2005 +0000 + + Check in skeleton Makefile.am's for the rest of XpConfig + +commit 8907195d784ff2c72a00b64edab6a8ac3b31dec5 +Author: Alan Coopersmith +Date: Mon Sep 26 20:58:26 2005 +0000 + + Take care of more files from monolith's Xserver/hw/xfree86/etc dir: + hw/xfree86/utils/ioport/Makefile.am + Add ioport and pcitweak utils from monolith hw/xfree86/etc dir. + Generate xf86DefModeSet.c from vesamodes & extramodes + Add apSolaris.shar to EXTRA_DIST + +commit 9abccb5e65628c938c6f01b685ab8fbffae7bc3b +Author: Søren Sandmann Pedersen +Date: Mon Sep 26 19:33:06 2005 +0000 + + Add initial build system for XpConfig + +commit 0531c4be2f1a30082cfec5e411ab34d17978d66e +Author: Alan Coopersmith +Date: Mon Sep 26 02:41:38 2005 +0000 + + alanc@alf:/export/alanc/X.org/head/cvs-rw/xc [7:40pm - 628] head -14 + ChangeLog + include xorg-config.h for modular build + Adjust XF86CONFIG defines for modular build + Fixes for modular build: + - include modular server config headers + - change default XCONFIGFILE to xorg.conf + - define XKB_RULES_DIR if not defined by Imake + +commit 256fa24945bcaa6e5a68a48c1b757f8084e88a38 +Author: Alan Coopersmith +Date: Sun Sep 25 17:48:09 2005 +0000 + + Add SecurityPolicy file for XCSECURITY extension. + Add README to EXTRA_DIST + +commit 54639964cc344f1086196729fde37515f11e7972 +Author: Bogdan Diaconescu +Date: Sat Sep 24 21:56:00 2005 +0000 + + Changed the license to a X/MIT one + +commit 3192f400c72b3b606fcc1798d577737502897b43 +Author: Adam Jackson +Date: Sat Sep 24 18:45:45 2005 +0000 + + Disable the {Open,Close}FullScreen DRI protocol. Remove empty FullScreen + stubs from drivers, comment the non-empty ones. + +commit a5477ae7ac9a56c1a586950db1dee6661bff149d +Author: Alan Coopersmith +Date: Sat Sep 24 02:40:51 2005 +0000 + + Add scanpci, xorgcfg, & xorgconfig utilities. + +commit 2ba865b3f57340fd1d75f7614c17f615cc127b89 +Author: Søren Sandmann Pedersen +Date: Fri Sep 23 23:04:04 2005 +0000 + + Fri Sep 23 19:00:06 2005 Søren Sandmann + Apply patch from Ronald Wahl to make sure that the stack pointer is not + modified at points where we access external variables. (Bug 4269). + +commit 7554e1bf29e5aef8e76f88bac2994ea45a924f2b +Author: Alan Coopersmith +Date: Fri Sep 23 00:27:07 2005 +0000 + + Sun bug #6321613 + + xorgcfg dumps core when it reads a configuration file that has a + Monitor Section, but does not have a "VendorName" entry inside it. + (Henry Zhao, Sun Microsystems) + +commit 99793543c0fcfd4d699549fcc2bf0ed12aed6a19 +Author: Alan Hourihane +Date: Thu Sep 22 12:40:41 2005 +0000 + + put back some agp related allocation messages + +commit 02566dff4abbda6888f719727c169b966617a83d +Author: Alan Hourihane +Date: Thu Sep 22 12:33:36 2005 +0000 + + fix typo + +commit 56e7766c775385b0c6e09e6a65a1c8e10dba786e +Author: Eric Anholt +Date: Wed Sep 21 22:26:07 2005 +0000 + + Bug #4541: Fix text drawing in the case where a list contains no + non-zero-sized glyphs. Several variables weren't updated, resulting in + rendering simply stopping when this case was hit. (Anders Kaseorg) + +commit 32497ff479d0c34c05eb5acfcd5f7e186bac3227 +Author: Kristian Høgsberg +Date: Wed Sep 21 18:14:32 2005 +0000 + + Accept --with-xkb-output argument to specify output dir for compiled xkb + keymaps. Define XKM_OUTPUT_DIR and XKB_BIN_DIRECTORY. + Add XKM_OUTPUT_DIR and XKB_BIN_DIRECTORY. + Add XKB_CFLAGS. + +commit 361a9eb953aaa38f8ebc057185de29e50f9eef26 +Author: Eric Anholt +Date: Wed Sep 21 10:27:53 2005 +0000 + + - Change migration-in rule slightly: previously, if your score was less + than the max, it was bumped, and then if you were above the threshhold + you got moved in. Instead, do the above-threshhold check separate from + score starting out less than max. While this will likely make thrashing + cases worse, I hope it will fix some issues with long term performance + (think of an xcompmgr with a backbuffer it's doing only accelerated + operations to. If some new pixmap comes in and bumps it out, even once, + it will never get a chance to re-migrate because its score will be + maxed). Change migration-out to be the same way for symmetry, though it + shouldn't ever affect anything. + - Fix a lot of debugging output, both in terms of printing quality, and + completeness. The fallback debugging covers a lot more now, pointing + out new areas for improvement. Debugging toggles are now centralized in + exaPriv.h. + +commit 6a29c4cec156a135d1d9cdb65995f7a84de7cb56 +Author: Eric Anholt +Date: Wed Sep 21 07:43:01 2005 +0000 + + Add support for hardware accelerating tiled background painting. One + example of this is the root weave, which paints slightly slower on SiS + now in my testing. However, according to keithp some apps use this + feature for a sort of cheap backing store, which this could help with + significantly. While I haven't done much performance testing with it, + it will at least rule out one possible source of terrible performance. + +commit 1115ff4c008dea6d6cafcb39e4ce6d0b3ed4fcc0 +Author: Adam Jackson +Date: Wed Sep 21 00:38:05 2005 +0000 + + Bug #4487: Add the bsd subdir to DIST_SUBDIRS. (Joshua Baergen) + +commit 00bd8968b264c1f69487dd99c212e0ce889b11db +Author: Adam Jackson +Date: Wed Sep 21 00:24:10 2005 +0000 + + Bug #4257: Move cfbcmap.c to cfb_common_sources. + +commit b7e723ed6f23cc8d85f1f1eced9d8ccbc2a6b38c +Author: Adam Jackson +Date: Tue Sep 20 23:32:21 2005 +0000 + + Missing backslash + +commit 15b2f94de5e2cc7e4df8d897d562dffeda31c82c +Author: Alan Coopersmith +Date: Tue Sep 20 18:26:24 2005 +0000 + + Update CVS project tag & notice about pci.ids license in output .h. + Update to match recent changes to pci.ids, extrapci.ids, & pciid2c.pl for + people building on systems without perl. + +commit 7d0f47c43c5c177cae0f375ceaeef892e4c9663a +Author: Alan Coopersmith +Date: Tue Sep 20 15:50:31 2005 +0000 + + Add --disable-install-setuid option so you can build as non-root and + chown/chmod later. Also disable by default on platforms that don't need + setuid root X servers (Darwin & SPARC's, according to + InstallXserverSetUID settings in the old Imake config files). + +commit b623c60745ca486667657fa39ad517d1f7a72794 +Author: Alan Coopersmith +Date: Mon Sep 19 22:44:49 2005 +0000 + + Linux/Alpha support (Stefaan De Roeck) + +commit bd906c6bb803b286c39eca80e437a21c14e808a3 +Author: Alan Coopersmith +Date: Mon Sep 19 18:54:05 2005 +0000 + + Update to latest version from pciids.sf.net + Sync with updates to pci.ids & PCI id list in nv driver + +commit 535cd292c809314efe4730a27b0271adfa842775 +Author: Alan Coopersmith +Date: Mon Sep 19 18:38:26 2005 +0000 + + #include "xf86Axp.h" -> "shared/xf86Axp.h" for modular build. (Stefaan De + Roeck) + +commit a1bcf25a1f819768672ac837cb0a3d0c66937656 +Author: Eric Anholt +Date: Sun Sep 18 02:32:23 2005 +0000 + + Break EXA ABI while we still can. Add coordinates to the UploadToScreen + hook so we can upload a subset of a pixmap, and convert the current + drivers to respect that. Use this support to directly UploadToScreen in + exaGlyphs, providing a 47.4% +/-2.4% decrease in wall time for ls -lR + programs/Xserver in an antialiased gnome-terminal on an M6 (n=3, caches + hot). I would have bumped major version, only I can't tell what the + EXA_VERSION_* is supposed to be doing as opposed to the module version. + +commit 074913c8a9c1f66c8752387db2c81ad669e91878 +Author: Eric Anholt +Date: Sat Sep 17 20:02:02 2005 +0000 + + - Don't try to upload 0 byte-per-pixel (PICT_a1) data using + RADEONHostDataBlit. + - Disable the shortcut for switching from 3d to 3d in radeon_exa.c. It + appears that we do need the cache flush here, thought it's not clear + why. Disable the 2d to 2d shortcut while here, since I'm unsure of what + we're doing. Exposed by the following bit: + - Bug #4485: Add a new routine, exaGlyphs, to handle font drawing. Glyphs + were being accumulated in from non-migratable scratch pixmaps, causing + the destination pixmap to move towards screen but the migration + necessary for source never to happen, leading to abysmal performance. + Instead, copy the scratch glyph data into a real pixmap first, then + composite from that into the destination, allowing for migration. time + ls -lR from programs/Xserver showed 26.9% (+/- 6.3%) decrease in wall + time (n=3). + - Create exaDrawableUse* wrapping exaPixmapUse*, but which are aware of + windows needing backing store. Makes migration code prettier, and + ensures that composited windows will be migrated as normal when we turn + off cw for EXA. (issue brought up by keithp) + +commit be2bdab4339e493bb0ac3d0e36508b7aa1cd6e92 +Author: Eric Anholt +Date: Thu Sep 15 06:46:05 2005 +0000 + + Bug #3990: Require glproto in the cases that it's necessary (DRI or DMX + with GLX). (spyderous) + +commit ef7eef0f68af6bfbb4ee56115ac2f3c1b7425755 +Author: Eric Anholt +Date: Thu Sep 15 05:55:21 2005 +0000 + + Bug #4046: Install the X.Org server setuid root. (David Schleef) + +commit 88d7eb1f7ed6afc85c07797838714f2601356018 +Author: Eric Anholt +Date: Thu Sep 15 05:06:54 2005 +0000 + + Bug #3889: Create the log dir on install, and allow configuring + specifically that directory. Failure to have the directory keeps the + xorg server from starting. + +commit 25a0ecdc1868f4b53225b92e8ccd222814e2da2a +Author: Eric Anholt +Date: Thu Sep 15 04:07:19 2005 +0000 + + Don't put a version number on the module filename. + +commit 0888ad3874414e32535fecdb717ee7ab86f9d4cc +Author: Eric Anholt +Date: Wed Sep 14 07:49:22 2005 +0000 + + Build xf8_32bpp, which is wanted by the mga driver, and export elf.h, which + is wanted by the rendition driver. + +commit dfb5da93bc16b2fd2b00e939dbe101a04bdeab4f +Author: Eric Anholt +Date: Tue Sep 13 20:59:05 2005 +0000 + + Turn on DRI by default on Linux, NetBSD, FreeBSD, and fix the build of the + module for FreeBSD by setting some missing defines (XFree86Module, + IN_MODULE) in the dri directory. Note that those missing defines should + be somewhere generic, since there are other consumers of them, but I + haven't figured out where. + +commit 12fbcfefe672ec226bdbc7597bf2fd2cb0ee1e19 +Author: Eric Anholt +Date: Tue Sep 13 18:37:35 2005 +0000 + + Add some initial BSD support for the xorg server. Incomplete on NetBSD, + OpenBSD, and non-i386/amd64 FreeBSD for sure. Plus I haven't actually + run it yet. + +commit 51eb6c83a3b2721703ca50758853bbf9f99fc4d2 +Author: Søren Sandmann Pedersen +Date: Tue Sep 13 15:28:29 2005 +0000 + + Tue Sep 13 11:27:05 2005 S%Gï¿¿%@ren Sandmann + * programs/Xserver/miext/shadow/shadow.c (shadowDamageBox): Add + missing REGION_UNINIT. + +commit 133edff1b499b2c794fcc9a1860c1b5526b58869 +Author: Eric Anholt +Date: Tue Sep 13 05:44:47 2005 +0000 + + Don't define POSIX_SOURCE on any BSDs, since it breaks things. + Define NO_SYS_HEADERS, as the monolithic build does. Helps FreeBSD. + Don't include validate.c in the library, since it seems to be a userland + test program. + +commit c3d6799cee7ff8411b3a05a7ab7e2a9e80c95059 +Author: Daniel Stone +Date: Tue Sep 13 01:33:19 2005 +0000 + + Bug #594: CAN-2005-2495: Fix exploitable integer overflow in pixmap + creation, where we could create a far smaller pixmap than we thought, + allowing changes to arbitrary chunks of memory. (Søren Sandmann + Pedersen) + +commit b290884719e18646326f0c2412c2494a07fe3cfd +Author: Adam Jackson +Date: Tue Sep 13 00:44:52 2005 +0000 + + Bug #3284: Make the DRI lock reference count per-screen. + +commit 846f797f37c1ae57a8dad981113b1139359d8c94 +Author: Daniel Stone +Date: Mon Sep 12 08:24:48 2005 +0000 + + Add missing fontsproto and fontenc to REQUIRED_MODULES. + +commit 5b218617fa8ba52bf65aef35da39e06c662495e6 +Author: Daniel Stone +Date: Mon Sep 12 07:53:16 2005 +0000 + + Add missing resourceproto to REQUIRED_MODULES. + +commit ade158d238475ce923fbc5c49275c78cf3864223 +Author: Daniel Stone +Date: Mon Sep 12 07:07:59 2005 +0000 + + Define WITH_VGAHW, since we always build it; add to Xorg headers. + +commit 34dc481a16c0c1cbd69a9ec7172331b59b85e9a7 +Author: Daniel Stone +Date: Mon Sep 12 07:02:46 2005 +0000 + + Put DMX AC_CONDITIONALS at the top level, since they must always be called. + +commit b0f6fe1f38b448b5f1a280e86b01353865866c70 +Author: Eric Anholt +Date: Sun Sep 11 21:38:41 2005 +0000 + + Add some optional (disabled) fallback debugging code to the async code, for + better tracking of when we're hitting software. + +commit 1c003ccf5d68baaae6fafdc75eff964f2a62fc35 +Author: Eric Anholt +Date: Sun Sep 11 19:08:10 2005 +0000 + + Add a pair of hooks, PrepareAccess() and FinishAccess(), which get called + around CPU access to the framebuffer. This allows the hardware to set + up swappers to deal with endianness, or to tell EXA to move the pixmap + out to framebuffer if insufficient swappers are available (note: must + not fail on front buffer!). + Submitted by: benh + +commit ca210830bd361e3d91b6bc741c495b61c424d1d2 +Author: Adam Jackson +Date: Sun Sep 11 18:43:55 2005 +0000 + + Simplify life for EXA drivers by reducing some {Con,Dis}joint ops. + +commit 04f81cacb9fd0944879b2c23a99fa3a1ae979b12 +Author: Matthieu Herrb +Date: Sun Sep 11 18:33:31 2005 +0000 + + OpenBSD also doesn't like defining POSIX_SOURCE: it limits available + functionnality in headers beyond what's used by Xorg. + +commit 089b4272cf32fc9429c1a0e666c2ffb34fda0b93 +Author: Daniel Stone +Date: Sun Sep 11 01:16:14 2005 +0000 + + use RGB_DB not RGB_PATH as that's what it's looking for + define HAVE_XKB_CONFIG_H so setting xkb-path works (Jürg Billeter) + +commit 2f9d01c9681d80235a70263e2e087dc6c181cdc8 +Author: Eric Anholt +Date: Thu Sep 8 01:15:47 2005 +0000 + + Remove some references to mfb/cfb support that is no longer there. + +commit b5d42012f9be87f3b45a089c596ce6dba8845794 +Author: Daniel Stone +Date: Wed Sep 7 01:30:23 2005 +0000 + + Fix typo resulting in failure to swap between RGB/BGR properly. (Stephen P. + Becker) + +commit c8de8c23fbccb3296747f429a02c0c0682b74bf5 +Author: Daniel Stone +Date: Mon Sep 5 07:43:51 2005 +0000 + + Fix tests for maximum number of colours when creating a colourmap, so a + 32-bit visual (e.g. ARGB) doesn't overflow an int when attempting to do + 1 << 32. (Benjamin Herrenschmidt) + +commit 5c5c51fa6da03f19831632a092761a1e4bcf653b +Author: Daniel Stone +Date: Mon Sep 5 07:40:50 2005 +0000 + + Initialise private arrays with calloc, rather than standard malloc. + (Benjamin Herrenschmidt) + +commit 691669c0121494df90c8523f7d17e01ba0b14a57 +Author: Daniel Stone +Date: Sat Sep 3 07:08:58 2005 +0000 + + xorg-server.h -> dix-config.h (thinko). + +commit 4b2f5ba1b5d59fd6bd7f82da5730f72e8df04858 +Author: Alan Coopersmith +Date: Sat Sep 3 03:27:55 2005 +0000 + + Use macros from xtrans.m4, issue error if not found. + +commit 733a6d7a268945d149bcea159253408bedc69b12 +Author: Jesse Barnes +Date: Sat Sep 3 02:21:36 2005 +0000 + + Add EXA driver writer documentation for the benefit of future generations + of X hackers. + +commit 854010d71dc0f1e9b73cdc764c9d2cf36f1da625 +Author: Daniel Stone +Date: Fri Sep 2 03:22:01 2005 +0000 + + Add -include dix-config.h to GL/mesa/X to catch _XSERVER64, et al. + +commit 287336f3c9e5023acbfba6508b05a68ccca9ddf0 +Author: Kristian Høgsberg +Date: Thu Sep 1 19:56:14 2005 +0000 + + Teach xkb how to optionally run xkbcomp from $bindir instead of + $datadir/xkb. + +commit 94fbdb5c6d2cdc7b70ecdabe22a9de8b9aabeced +Author: Daniel Stone +Date: Thu Sep 1 14:56:35 2005 +0000 + + Make RGB_PATH configurable. + Move I2C modules back to $(moduledir)/multimedia. + +commit a65c5796133d126b1810749b5206607e7c42d787 +Author: Kristian Høgsberg +Date: Wed Aug 31 14:58:09 2005 +0000 + + Include xkb-config.h if we have it so we pick up the paths defined there. + +commit 9d3b5e89d691b79ea3361e6dc82938c22d70d0e3 +Author: Alan Coopersmith +Date: Tue Aug 30 22:34:14 2005 +0000 + + Save keyboard LED state on startup and restore on exit so text console mode + LEDs match text console mode state. Move push of streams module earlier + so it's loaded before we start using kbd ioctls provided by the streams + module. + +commit fa6fbd018da939fda7cc2b9a9aa2717b9675a178 +Author: Kristian Høgsberg +Date: Tue Aug 30 22:31:52 2005 +0000 + + Use the $(moduledir) makefile variable instead of @moduledir@ so it can be + overridden at make install time. + Remove driverdir and inputdir from pkg-config file. The directory layout of + moduledir is fixed and well known by drivers. + +commit b4f4bf028a88ee709f4536373de2d40b6445006e +Author: Alan Hourihane +Date: Tue Aug 30 19:51:59 2005 +0000 + + programs/Xserver/hw/xwin/winmultiwindowshape.c Fix off by one error (Colin + Harrison) + +commit 0e50af8b7f459aafd1d1d52414629e926167a751 +Author: Adam Jackson +Date: Tue Aug 30 19:35:06 2005 +0000 + + typo fix + +commit 0c74799af4f924ba64ebd6052802b73547f55c72 +Author: Eric Anholt +Date: Tue Aug 30 04:41:04 2005 +0000 + + Remove existing broken maxX/maxY code for composite (results in infinite + loops, doesn't deal with failure, doesn't present the interface to + drivers that I expected) and instead replace it with a simple fallback + to software when coordinate limits could be violated. Act similarly in + other acceleration cases as well. + The solution I want to see (and intend to do soon) is to (when necessary) + create temporary pictures/pixmaps pointing towards the real ones' bits, + with the offsets adjusted, then render from/to those using adjusted + coordinates. + +commit f20e845b04dee5fc0780811f565180e322b60b73 +Author: Eric Anholt +Date: Tue Aug 30 03:42:07 2005 +0000 + + More 0 -> NULL for pointers missed in previous commit to this file. + +commit 7777d325a3d049cc233c004cba288ed5d10539c2 +Author: Eric Anholt +Date: Tue Aug 30 03:05:21 2005 +0000 + + Apply an xserver patch from cworth: Avoid buffer ovverrun when a + trapezoid's right edge is on a pixel boundary. + +commit e321f9e7ff7de9aa702e33a22743b55c8bb66953 +Author: Eric Anholt +Date: Tue Aug 30 03:01:38 2005 +0000 + + Apply the xserver patch from vektor for bug #4208: Use NULL for pointers + instead of 0. + +commit 20813d3af065f9b719b39d2e7a3382b8fa278a48 +Author: Adam Jackson +Date: Sun Aug 28 19:47:39 2005 +0000 + + Bug #3974: Fix unaligned memory access on LP64. (Matthieu Herrb) + +commit 0926cf79c030f29dce32a9dc944734960ec93d19 +Author: Adam Jackson +Date: Fri Aug 26 20:21:57 2005 +0000 + + Add diagnostic messages for exaDriverInit failure cases. + +commit 5ffff7cb868a768307ff6faf164210020e6b94a2 +Author: Adam Jackson +Date: Fri Aug 26 20:08:09 2005 +0000 + + Bug #4160: Fix Altix kernel version check. + +commit 6b0cdc5dd9e451021c562ac4b6b2101d50187a30 +Author: Daniel Stone +Date: Fri Aug 26 16:46:41 2005 +0000 + + Change use of dix-config.h to xorg-config.h. + +commit 9d1b349b3765fb587b353c78cca9aa083f5d0eee +Author: Daniel Stone +Date: Fri Aug 26 16:34:55 2005 +0000 + + Back out previous change until I figure out something smarter. + +commit 3075df24e7931901c6f0526e10a89631fd73c4d0 +Author: Daniel Stone +Date: Fri Aug 26 07:35:55 2005 +0000 + + Subvert SIGUSR2 to reload all input devices. (Ubuntu #020) + +commit 89c84575ea905c7598d6b6029c9209abe1cfb074 +Author: Daniel Stone +Date: Fri Aug 26 07:24:21 2005 +0000 + + Undo rate/period change after function body, so the damage doesn't leak + into other functions. (Debian #050) + +commit bb5e934df7f23fb365ed673a12d283ff52af79c0 +Author: Daniel Stone +Date: Fri Aug 26 07:15:04 2005 +0000 + + Only open /proc/bus/pci/devices once. (Ubuntu #029) + +commit c937faadd0a0a5f2598b84286ac1ed8996a512e5 +Author: Daniel Stone +Date: Fri Aug 26 06:48:24 2005 +0000 + + Better error message on failure to set iopl. (Debian #021) + +commit 6d34a2ac8a33bd6c9083106b38fab6062e033e39 +Author: Daniel Stone +Date: Fri Aug 26 06:35:00 2005 +0000 + + Add Xv symbol from Xext. + +commit b8f0d4c3ebee363279f9dc7318de3e3c854ca5ef +Author: Daniel Stone +Date: Fri Aug 26 06:29:15 2005 +0000 + + Spit out an error when there is no valid FB device, instead of just failing + silently. (Debian #070) + +commit b48a24e7969d99a0116bc780c70d3e1c18b34769 +Author: Daniel Stone +Date: Fri Aug 26 06:23:41 2005 +0000 + + Don't assume that all sun4m CPUs support muldiv; the Cypress CPU, which + implements the 4m MMU but only v7 instructions, does not. (Debian + #100). + +commit fd158d3d5215b0a013f5305a76097b0b8fa14cf6 +Author: Daniel Stone +Date: Fri Aug 26 05:49:44 2005 +0000 + + Get prototype for ntohl from SuSv3-compliant location, fixing it for + systems which define ntohl as a macro only, not both macro and + function. (Debian #076) + +commit 53e489c0e39b89f41213a726fe1b611d7d9a18db +Author: Daniel Stone +Date: Fri Aug 26 05:47:36 2005 +0000 + + Work around ATI expansion ROM problem on IA64 caused by prototype HP + McKinley systems. (Bdale Garbee) + +commit 40374d1149d6dcf0b4521faae8bdfecc8a3af077 +Author: Daniel Stone +Date: Fri Aug 26 05:00:07 2005 +0000 + + Accept 'Enabled' and 'Disabled' for Extensions section (Ubuntu #990) + +commit ea80b5db257f4c22cf5a152084aef5fe05079db0 +Author: Eric Anholt +Date: Thu Aug 25 22:11:04 2005 +0000 + + Fix a use-after-free of cursor data by refcounting for the sprite.current + reference. The particular path seen was XFixes' ReplaceCursor() + resulting in the sprite.current being freed, but then it getting + accessed during the ChangeToCursor() that happens as a result of + WindowHasNewCursor(). + +commit 54cc45b09bc6c860b3de2012b57c4b35ca18ffd2 +Author: Søren Sandmann Pedersen +Date: Thu Aug 25 21:22:41 2005 +0000 + + Thu Aug 25 17:15:01 2005 Søren Sandmann + Add all the drivers to the module_LTLIBRARIES instead of having separate + variables for them. Pointed out by Kristian Høgsberg. + +commit ff22adc09763b2bd860e7f780a5d0855cab0ab30 +Author: Kristian Høgsberg +Date: Thu Aug 25 14:19:43 2005 +0000 + + Remove sun_inout.s so make dist works (discussed with Alan Coopersmith). + +commit 344a24b6229f477c892dd855546391bc1e091bd7 +Author: Alan Coopersmith +Date: Thu Aug 25 04:09:45 2005 +0000 + + Use system curses library on Solaris for xorgcfg text mode. + +commit 0711502f1847ed461672b9842218b9afa9d349ed +Author: Eric Anholt +Date: Wed Aug 24 23:48:11 2005 +0000 + + Bugzilla #4226: Change the pixmap migration strategy for the CopyNtoN case. + Now, if either source or dest were in framebuffer, try to get both + there, but prefer system memory for both otherwise. Required making + exaasync.c go through the try-acceleration path. This significantly + improves window resizing under composite, because previously the + pattern of creating a new pixmap and copying default contents from the + screen caused a fallback every time due to the new destination pixmap + being in system memory. + +commit 2261710fe0dffd60433e3362ac12adf4db570fe5 +Author: Eric Anholt +Date: Wed Aug 24 23:38:25 2005 +0000 + + Fix a bug where NULL could be dereferenced during the pixmap kick-out + process by referencing the correct offscreen area. Also drive-by the + comments related to these for clarity. + +commit 55c5c6953a3a661758a42b147f9542950a62fc4d +Author: Eric Anholt +Date: Wed Aug 24 22:43:27 2005 +0000 + + Bugzilla #4090: Introduce getters for pixmap pitch and offset, to + simplify/clarify it for driver writers who probably don't want to know + what pPixmap->devPrivate.ptr or pPixmap->devKind mean. Converts the sis + driver to use them, and bumps the EXA module minor version. + +commit 079ad773e09ed0c5baf01de3d4f02a5568da5634 +Author: Alan Coopersmith +Date: Wed Aug 24 22:37:15 2005 +0000 + + Fill in xf86DeallocateGARTMemory stub based on lnx_agp.c version. Add + include of xorg-config.h for modular builds + +commit 8fd250e5e4c2016614b82e2d653b7fbf8a3a5b99 +Author: Eric Anholt +Date: Wed Aug 24 21:51:28 2005 +0000 + + Bugzilla #4089: Fix crashes in !EXA_OFFSCREEN_PIXMAPS case by not trying to + do migration when the EXA pixmap private is NULL. + +commit 79dc5f3d5fe5a66f5fa53af9afc30d27d1af0bce +Author: Kristian Høgsberg +Date: Wed Aug 24 21:28:40 2005 +0000 + + Don't export non-standard symbols generated GCCs stack protection feature + (__guard, __stack_smash_handler). + +commit d2952de6e3d9197529695bb88d8c3af679ad71af +Author: Søren Sandmann Pedersen +Date: Wed Aug 24 19:41:43 2005 +0000 + + Wed Aug 24 15:39:07 2005 Søren Sandmann + Add GLX_{INC,LIBS} for xprint. + Add @DIX_FLAGS@ to AM_CFLAGS + +commit 81e708440ced309adc62ebf43d00becd32338db5 +Author: Søren Sandmann Pedersen +Date: Wed Aug 24 19:35:51 2005 +0000 + + Wed Aug 24 15:29:50 2005 Søren Sandmann + Conditionally include dix-config.h + Conditionally include dix-config.h + +commit 9657e0e9def47dba5b0bfa7461874362712a07bb +Author: Alan Coopersmith +Date: Wed Aug 24 15:18:06 2005 +0000 + + Don't try to build dmx/input/lnx-*.c if isn't found + Don't try to build dmx/input/usb-*.c if isn't found + Replace -rdynamic with $(LD_EXPORT_SYMBOLS_FLAG) for compatibility with + compilers other than gcc + +commit 825a95a1fab69f84c99ae132888fced22e28be33 +Author: Daniel Stone +Date: Wed Aug 24 11:18:35 2005 +0000 + + Remove use of dix-config and xorg-config.h from public headers. + +commit 1fb4a5a4ea993a7913a7bcc362315d31b2907836 +Author: Daniel Stone +Date: Wed Aug 24 09:12:50 2005 +0000 + + Add xcmiscproto and bigreqsproto to REQUIRED_MODULES, since Xext uses them. + +commit b47535bd661743946851099f226f9e6aa4cc8c90 +Author: Alan Hourihane +Date: Wed Aug 24 08:49:31 2005 +0000 + + programs/Xserver/GL/windows/glwrap.c Wrap PointParameteriNV & + PointParameterivNV for Windows builds. + +commit 9f498a37dd3d8456d2a97be9c039b63abc81a5fe +Author: Alan Coopersmith +Date: Tue Aug 23 20:58:29 2005 +0000 + + Display more friendly mouse protocol names. Enable mouse wheel mapping by + default. + +commit cff4b1c2166aa2e75618c8df09554a602c3a68c5 +Author: Alan Coopersmith +Date: Tue Aug 23 20:12:26 2005 +0000 + + Check for getconfig in GETCONFIG_DIR if it's not found in module dir. + +commit bfd13645867aab831b7a0f2b1757cb80837c07d9 +Author: Daniel Stone +Date: Tue Aug 23 09:20:49 2005 +0000 + + Add missing saver, evie, video, trap proto pkg-config checks. (Georgi + Georgiev) + +commit 27afac2ce6a77bc68669c1af6a61c589aa9ef384 +Author: Daniel Stone +Date: Tue Aug 23 08:59:30 2005 +0000 + + Fix test for Xnest presence. (Donnie Berkholz) + +commit fed61462be281c568df6407f94ea519748f0b720 +Author: Daniel Stone +Date: Tue Aug 23 08:58:40 2005 +0000 + + Fix up warning on debugging. + +commit e848eb289c9251742a88e76017603952394f4262 +Author: Alan Coopersmith +Date: Tue Aug 23 01:14:35 2005 +0000 + + Rename app-defaults entries from xf86cfg to xorgcfg to match name passed to + XtAppInitialize. (Henry Zhao, Sun Microsystems) Also, display vendor + version instead of 4.0 for server version. + +commit 6076fca82528da8d50b0ed6be8da6f811321474d +Author: Alan Coopersmith +Date: Tue Aug 23 00:32:27 2005 +0000 + + User message cleanups/updates for modern configurations. + +commit b07602014061cb41540f6a7e74e4132e67aa1117 +Author: Alan Coopersmith +Date: Mon Aug 22 21:47:59 2005 +0000 + + If MAKE_XKM_OUTPUT_DIR is defined, call trans_mkdir to create directory if + it doesn't already exist. (ported from Solaris Xsun bug #5039004) + When BuildLikeSun is set, define MAKE_XKM_OUTPUT_DIR and set the xkb output + directory to /var/run/xkb. + +commit 4a19a33db6d04b5835830a665daa679ee2fcafe7 +Author: Kevin E Martin +Date: Mon Aug 22 21:29:18 2005 +0000 + + bugzilla #2880 (https://bugs.freedesktop.org/show_bug.cgi?id=2880) + attachment #2987 (https://bugs.freedesktop.org/attachment.cgi?id=2987) + Use system method to access PCI config space for inb and inw in + addition to inl (Olivier Baudron and Kevin Martin). + +commit 5557a40a022b0ede36edd3370a60f5fc3d147796 +Author: Kevin E Martin +Date: Mon Aug 22 19:52:26 2005 +0000 + + Fix linking errors for xprint. + +commit 7693f668efd206a6c259166665bc36d3c6335e8d +Author: Alan Hourihane +Date: Mon Aug 22 12:05:18 2005 +0000 + + programs/Xserver/hw/xfree86/os-support/linux/lnx_acpi.c + programs/Xserver/hw/xfree86/os-support/linux/lnx_apm.c + programs/Xserver/hw/xfree86/os-support/linux/Imakefile Add basic ACPI Linux + support so that events can be passed to the driver. (Alan Hourihane) + +commit 02c834f198eab4c4686d8156b88508fe102099c1 +Author: Daniel Stone +Date: Mon Aug 22 09:15:31 2005 +0000 + + Include Xv and XvMC headers in the SDK. + +commit 3c4d605c7e8a9f6d296086a5b03b4f11b90590db +Author: Daniel Stone +Date: Mon Aug 22 09:15:20 2005 +0000 + + Fix linkage for Xnest, Xvfb, Xdmx and Xorg DDXes; include all libs. + +commit 79be1f6d4d1ab48841d31d5553dd36b1b3632650 +Author: Daniel Stone +Date: Sun Aug 21 19:29:55 2005 +0000 + + Fix inclusion order of dix-config.h, so _XSERVER64 gets defined before X.h + or Xdefs.h get included. (Jürg Billeter) + +commit 8d6e743bc4e6854ee0bb0fa4f197acd6d7683ccd +Author: Daniel Stone +Date: Sun Aug 21 19:23:17 2005 +0000 + + Add _XSERVER64 definition to config headers. + +commit 588105173840355717d7b2f7f652289a41166c3f +Author: Daniel Stone +Date: Sun Aug 21 19:15:11 2005 +0000 + + Huge cleanup. Group into sections: hardware feature detection, extension + detection/configuration, DDX options. Make building of Xorg DDX fully + optional. Clarify and correct some help texts. Change all comments to + use dnl instead of #. Quote all tests correctly, and guard + pure-variable tests with 'x' (e.g. test $DMX = yes -> test "x$DMX" = + xyes). Since the DDXes seem to have pretty divergent extension support + these days, get rid of EXTENSION_LIBS, DMX_EXTENSIONS and + XPRINT_EXTENSIONS, and go back to building extension lists by hand in + the DDX-specific sections. Use portable POSIX constructs everywhere + (e.g. test foo && test bar, instead of test foo -a bar). + Clean up old cruft. + Set _XSERVER64 on 64-bit architectures, and use x86_64 for host_cpu instead + of amd64 (Jürg Billeter). + +commit 367f45073953f8f99a2d9dd054f479e1070f856e +Author: Daniel Stone +Date: Sun Aug 21 08:43:46 2005 +0000 + + Change xorg_bus_sbus to xorg_bus_sparc; build sparcPci.c on all SPARCs. + +commit 71b3fea94e8845f35e47503636ca1fe78d2d48ca +Author: Daniel Stone +Date: Sun Aug 21 08:24:52 2005 +0000 + + Typo fix (SOURCE -> SOURCES). + +commit db2909ce76b178663de301c09fb97f2936b1997e +Author: Daniel Stone +Date: Sun Aug 21 06:56:19 2005 +0000 + + Add test for SPARC. Build SparcMulDiv.S on all SPARCs. + Make the default font path configurable. + +commit d96e6666862553d59fc1f9fdd14fb65f36d589af +Author: Adam Jackson +Date: Sat Aug 20 18:52:07 2005 +0000 + + Add sparcPci.c to EXTRA_DIST. + +commit a402c876a465904ac71ebf39af67ea451b2457dc +Author: Daniel Stone +Date: Sat Aug 20 18:11:17 2005 +0000 + + Make DRI/GLcore builds srcdir != builddir safe, and invoke symlink-mesa.sh + in our builddir, not our srcdir. + +commit 238d45d2f148e1e0af4b1619cc1d5e8cc4bf9661 +Author: Daniel Stone +Date: Sat Aug 20 18:10:03 2005 +0000 + + Make Xprint build optional. + +commit abab3fd628c2d1096e8534192f33c1068a573c12 +Author: Daniel Stone +Date: Sat Aug 20 18:09:21 2005 +0000 + + Make Xext linkage srcdir != builddir safe. + +commit bb1d99ee72cc560e95010ea1008d5e796177ae62 +Author: Daniel Stone +Date: Sat Aug 20 18:07:59 2005 +0000 + + Build libxkbstubs.la to stub XKB DDX functions (e.g. VT switches), and + build libxorggxkb.la from within the Xorg DDX to replace the previous + xf86VT.o, et al, hacks. + +commit 8a32ed46480d78b69f289c90098f5ed4a830851f +Author: Daniel Stone +Date: Fri Aug 19 15:48:18 2005 +0000 + + Really hopefully the last xorg-commit test. + +commit 2fd951434507d2a2c0266a052bdca6e223d31bfa +Author: Daniel Stone +Date: Fri Aug 19 15:45:55 2005 +0000 + + Another test commit for xorg-commit. + +commit 39630b301f769118959b20d962404555714a5812 +Author: Daniel Stone +Date: Fri Aug 19 15:25:19 2005 +0000 + + Testing xorg-commit, nothing else. + +commit b13d3382de0027e897532926983b79caaa1eb655 +Author: Daniel Stone +Date: Fri Aug 19 15:21:54 2005 +0000 + + Fix dates on Søren's entries. + +commit 8ec79e05feacd61562b53ebf36a8b30967affc1e +Author: Daniel Stone +Date: Fri Aug 19 15:15:51 2005 +0000 + + Make symlink-mesa.sh call srcdir != objdir safe. Remove requirement for + XF86Rush protocol headers, which we don't even use. + +commit 057a8709a116feb0fd0004141bbac20d2766f3db +Author: Alan Coopersmith +Date: Fri Aug 19 00:13:46 2005 +0000 + + More updates for Panoramix -> Xinerama rename + +commit bed3235d222fd6e2207f6c0d551c67d5a53322cd +Author: Søren Sandmann Pedersen +Date: Thu Aug 18 21:28:09 2005 +0000 + + Thu Aug 18 17:27:09 2005 Søren Sandmann + Move fbmmx to a convenience library since the mmx flags may be harmful when + applied to non-mmx code. + +commit a0366ddb8cb1c57b85a5806eb348abc19c7f92d6 +Author: Alan Coopersmith +Date: Thu Aug 18 17:14:11 2005 +0000 + + Replace gnu-makeism with portable rules + +commit ea5c49cb17ac956d6dea6bf563e392e61c39da2b +Author: Alan Coopersmith +Date: Thu Aug 18 01:40:33 2005 +0000 + + //bugs.freedesktop.org/show_bug.cgi?id=2901> Patch #2331 + Lines ending in + break with cpp from gcc >= 3.3 (Peter Breitenlohner) + +commit 22694500e0dd8752b4c01e340f587ecba1ff7fb7 +Author: Alan Coopersmith +Date: Wed Aug 17 23:20:27 2005 +0000 + + Add xf86Sbus.h to EXTRA_DIST files (bugzilla #4128) + +commit df938987d6c19fbdfff8d3334bb497f4814ae384 +Author: Søren Sandmann Pedersen +Date: Wed Aug 17 19:03:18 2005 +0000 + + Add buildsystem for Xprint, and: + Wed Aug 17 14:50:58 2005 Soren Sandmann + Include instead of "Print{,str}.h" + Include isntead of "fonts/fontstruct.h" + Wed Aug 17 14:54:49 2005 Søren Sandmann + Conditionally compile in xprint.c + Add Xprint + +commit f2f6820c3f01810a4da5a8bb4e43119ef2a3fcb6 +Author: Søren Sandmann Pedersen +Date: Wed Aug 17 17:20:13 2005 +0000 + + Wed Aug 17 13:13:00 2005 Søren Sandmann + Make asm labels local. Bug 4073, patch from Diego Pettenò. + +commit ad7f2fc67376f4fbfe81047273de12f7926f0b17 +Author: Søren Sandmann Pedersen +Date: Tue Aug 16 16:21:09 2005 +0000 + + symlink.sh: Temporarily disable xkbdata, add type1mod.c + Tue Aug 16 12:09:09 2005 Søren Sandmann + Add ft and type1 modules. + +commit 24597a1ee2c567ec6bc2f2208457f2778937a034 +Author: Alan Coopersmith +Date: Tue Aug 16 00:40:25 2005 +0000 + + 2005-08-15 Alan Coopersmith m + Convert sunPostKbdEvent to use xf86ProcessAction like xf86PostKbdEvent. + +commit b86282b764387ef8315fc4045d4e1ca1bb74fee1 +Author: Alan Coopersmith +Date: Mon Aug 15 23:48:35 2005 +0000 + + Set ZAxisMapping default to "4 5 6 7". + +commit a6c8d0d71eef7cb964797f7595be36ee0ac10a1a +Author: Søren Sandmann Pedersen +Date: Mon Aug 15 19:42:48 2005 +0000 + + Mon Aug 15 15:41:26 2005 Søren Sandmann + Link this module with libXext.la. + Mon Aug 15 14:56:57 2005 Søren Sandmann + Remove the xkb* files. + Add xkbVT.o and friends as the last things on the link line so they will + override the symbols in libxkb.a. Add a comment on how this situation + might not be considered ideal. + +commit 46aede552aa43cd59f81980303826b5c3d889c02 +Author: Søren Sandmann Pedersen +Date: Mon Aug 15 18:59:16 2005 +0000 + + Mon Aug 15 14:56:57 2005 Søren Sandmann + Remove the xkb* files. + Add xkbVT.o and friends as the last things on the link line so they will + override the symbols in libxkb.a. Add a comment on how this situation + might not be considered ideal. + +commit bcc95c83406a4498227ffd8384bc272fd8cdc49c +Author: Alan Coopersmith +Date: Mon Aug 15 18:32:08 2005 +0000 + + Add AC_SYS_LARGEFILE to match flags used in monolith + +commit 809906a754a1289b7e88489241a2065aa0bf27a2 +Author: Dave Airlie +Date: Mon Aug 15 08:24:45 2005 +0000 + + make mouse support work - note you need to change the evdev devices in the + source.. hacky... + +commit fe5abff38e65c1a49886924efdf0242ab8048008 +Author: Alan Hourihane +Date: Mon Aug 15 07:30:05 2005 +0000 + + Egbert's 64bit fixes for mixed 32/64bit clients + +commit ebedc8bbb54b9b4e1814bc2758216af2bab93540 +Author: Eric Anholt +Date: Sun Aug 14 19:46:55 2005 +0000 + + - Fix the exa pixmap offset/pitch alignment to deal with non-POT alignment + requirements. MGA, notably, uses a multiple of 3 in some cases. + - Rename the pixmap offset/pitch alignment fields to more clearly state + their meaning. + +commit e3509c940fa1fc3988d23f884ca8bffc87d091e5 +Author: Daniel Stone +Date: Sun Aug 14 16:24:30 2005 +0000 + + Don't link libXext, as it is linked in to the server also. + +commit 05071ae0fb847c211b1f20770d3b57fc2172738c +Author: Daniel Stone +Date: Sat Aug 13 07:41:33 2005 +0000 + + Don't link in libx86emu.a as this a) fails badly on non-x86 systems, and b) + is done via x86emu.c including all the source files anyway. + +commit 1ffe9ceb2f6a7261fb62c90dfea861f9dadd27ce +Author: Alan Coopersmith +Date: Sat Aug 13 06:15:35 2005 +0000 + + Oops, forgot a file in earlier Solaris kbd commit + +commit c29051f9d108fe49c23d9cf36fd08cc64c87262a +Author: Alan Coopersmith +Date: Sat Aug 13 00:11:28 2005 +0000 + + Add LintTarget() + Bugzilla #1068 Port + Solaris keyboard code to work with kbd driver. + Also incorporated "audio bell" feature from Xsun keyboard DDX to play bell + tones via /dev/audio (specified via Option "BellDevice" "/dev/audio" in + keyboard device options). + +commit 616a65c4cc528278168db1414776f3a867cd463e +Author: Søren Sandmann Pedersen +Date: Fri Aug 12 18:50:33 2005 +0000 + + Fri Aug 12 14:49:24 2005 Søren Sandmann + Apply another patch from Billy Biggs to fix precision issues. + +commit 1eed84f227311730ce1f9ffab190e95de967c7da +Author: Søren Sandmann Pedersen +Date: Fri Aug 12 18:47:17 2005 +0000 + + Fri Aug 12 14:45:54 2005 Søren Sandmann + Fix up multiplications based on patch by Billy Biggs. Part of bug 3945. + +commit 8bfffb96b552a3facb77ff9e81658e80becbf2f4 +Author: Søren Sandmann Pedersen +Date: Fri Aug 12 18:31:07 2005 +0000 + + Fri Aug 12 14:29:09 2005 Søren Sandmann + Apply patch from Billy Biggs that fixes rounding problems with division. + Part of bug 3945. + +commit 812ed2e17bfe8e232313cf9ab78000a564cb6b3c +Author: Søren Sandmann Pedersen +Date: Fri Aug 12 17:43:38 2005 +0000 + + Fri Aug 12 10:45:01 2005 S%Gï¿¿%@ren Sandmann + Make this function compute the same results as the fbByteMul macro. + +commit 370b111f4882a95248bcc4727438c95a065c174d +Author: Ian Romanick +Date: Fri Aug 12 16:30:57 2005 +0000 + + Use '$(DRMSRCDIR)/shared-core' instead of '$(DRMSRCDIR)/shared' for DRM + includes. This matches the way drivers are built in the Mesa tree and + fixes a build problem in the Savage driver. + Convert uses of __glPointParameterfvARB_size to + __glPointParameterfvEXT_size and uses of __glPointParameteriv_size to + __glPointParameterivNV_size. This eliminates the need to hand-edit + indirect_size.c after it is generated. + +commit 5f5117729de3a8a4eb6e17dc0979e4b1c1ef9918 +Author: Alan Coopersmith +Date: Fri Aug 12 01:17:58 2005 +0000 + + Fix segfault when "kbd" fails to load and "keyboard" driver is not + configured. + +commit 13e16ee93a328a55494c2933143c66559fe7ba98 +Author: Søren Sandmann Pedersen +Date: Thu Aug 11 15:46:42 2005 +0000 + + Thu Aug 11 11:43:32 2005 Søren Sandmann + Make sure we don't crash on glyphs with NULL bits. Bug 659. + +commit 3e471ddf1dbf58ed021d6f31bdaf438872f03ca8 +Author: Søren Sandmann Pedersen +Date: Thu Aug 11 14:36:29 2005 +0000 + + Add check for whether the platform is MMX capable and add the relevant + flags if so. + +commit 130fffc0cdbfdc29f33f1ee97c09e744c19e243a +Author: Søren Sandmann Pedersen +Date: Wed Aug 10 20:22:57 2005 +0000 + + Wed Aug 10 16:17:38 2005 Søren Sandmann + Add back non-SSE implementations. Define USE_SSE if the CPU is amd64/x86-64 + +commit ef50bba5694ef276a239882fae3502638b4ec784 +Author: Søren Sandmann Pedersen +Date: Wed Aug 10 19:42:36 2005 +0000 + + Revert previous patch as it causes build failures + +commit b99360e264c9531593ce8eb67bd006275ca5e5a0 +Author: Søren Sandmann Pedersen +Date: Wed Aug 10 19:15:44 2005 +0000 + + Add XF86DDXACTIONS to AM_CFLAGS + +commit 73a335a926e50afde36816ab47dae689202df319 +Author: Jon Smirl +Date: Tue Aug 9 16:51:05 2005 +0000 + + Point xegl at the DRI driver + +commit 29d0ba9f06d90a1c7f619db87d681ca53fa1bf38 +Author: Jon Smirl +Date: Tue Aug 9 15:58:20 2005 +0000 + + Touchup xgl for modular tree + +commit 435e2a09de7c9dd843b05f4a0484371a67940515 +Author: Alan Coopersmith +Date: Tue Aug 9 01:18:04 2005 +0000 + + //bugs.freedesktop.org/show_bug.cgi?id=3950> Xorg prints version numbers in + wrong format for modules compiled for Xorg 6.99 & later (Adam Jackson & + Alan Coopersmith) + +commit 5849c69db80b2320bddb7fafb519300cc0435c84 +Author: Søren Sandmann Pedersen +Date: Mon Aug 8 18:02:08 2005 +0000 + + Mon Aug 8 13:39:45 2005 Søren Sandmann + Conditionally include xorg-config.h + +commit 5e6e5e6d8c6add3aac5c3aebc984d3afb842edc1 +Author: Søren Sandmann Pedersen +Date: Mon Aug 8 17:38:37 2005 +0000 + + Mon Aug 8 13:36:23 2005 Søren Sandmann + #undef PIXPRIV here. + +commit a11ce76b0625501a202fa34e18777b7bd42b2713 +Author: Keith Packard +Date: Mon Aug 8 06:25:21 2005 +0000 + + Build with modular X.org libraries and headers. + composite/compwindow.c Don't damage unmoved windows. Let border clip reset + leave damage alone, pending actual damage for painting. + +commit 129e812c339879b68bb162331ac9b7e0f86a7474 +Author: Keith Packard +Date: Mon Aug 8 02:30:31 2005 +0000 + + Re-add _XOPEN_SOURCE as it's needed *sometimes*. Place it in #ifndef to + avoid whinging. + +commit 4dfc3357a78a52ef70750608138dfeef0371cbc4 +Author: Keith Packard +Date: Mon Aug 8 00:38:41 2005 +0000 + + Add autogenerated source files and other various non-CVS material to + .cvsignore files + Use XORG_CFLAGS. Ensure that all exa files are in SOURCES + remove _XOPEN_SOURCE as it's always in xtrans.pc these days and gcc whines + libdamage.la needs libcw.la when COMPOSITE is defined, but that + libdamage.la must be after libcomposite.la, so add libcw.la to + DAMAGE_LIB instead of EXTENSION_LIBS. Regularize library link order + across all X servers + +commit 7d2b08aa4786eb4d181c88f7dc6b7eb059cc9dad +Author: Adam Jackson +Date: Sun Aug 7 20:42:50 2005 +0000 + + Invert the sense of the composite configure flag to match reality. + +commit fcaa6f30c489578589af19ef798ab31150e696a2 +Author: Adam Jackson +Date: Sun Aug 7 19:02:32 2005 +0000 + + Bug #3989: Fix Composite builds, enable Composite build by default. (Olli + Helenius) + +commit 3639fb243450ae447e9901de9f909e975a919514 +Author: Chris Lee +Date: Sat Aug 6 23:56:18 2005 +0000 + + Enabling EXA by default in the modular build. + +commit a16357ebc9344fbf3e393da9e7b28164ad5b9dc8 +Author: Chris Lee +Date: Sat Aug 6 23:46:38 2005 +0000 + + Last bits of changes to make exa build properly in the modular server. + +commit cc67bd187f06bfade0d2fe1b4cca92805458b210 +Author: Chris Lee +Date: Sat Aug 6 23:34:09 2005 +0000 + + EXA support in the modular build. + +commit 33326f4ee884aa677e4568c3eaed4311a8ed0f2a +Author: Chris Lee +Date: Sat Aug 6 23:27:33 2005 +0000 + + Adding exa support to the modular server. + +commit b90a88e80310e5650e2abed4c151889d9c0bd316 +Author: Alan Coopersmith +Date: Sat Aug 6 19:48:12 2005 +0000 + + Add checks for functions used in os/access.c & os/connection.c: + getdtablesize(), getifaddrs(), getpeereid(), getpeerucred() + +commit 2304c14fe5d3796c557a86d0ece1f0fb92591469 +Author: Alan Coopersmith +Date: Sat Aug 6 19:14:24 2005 +0000 + + Fix endian test to work on big-endian platforms correctly + +commit fc29d014aa586229cdc976aa1bfe38bd949f7cde +Author: Alan Coopersmith +Date: Sat Aug 6 16:29:20 2005 +0000 + + Merge in patch release RC handling code from 6.8.2 (Kevin Martin) + +commit 9828a38ed695fed9788ace8bba575e521fa354b7 +Author: Alan Coopersmith +Date: Sat Aug 6 03:14:50 2005 +0000 + + Solaris build fixes needed for modular builds + +commit f51047c0b6749ae8f04925eb62706b4743328383 +Author: Alan Coopersmith +Date: Fri Aug 5 15:43:31 2005 +0000 + + Fix 32-bit vs. 64-bit test for Solaris + +commit 4220a0c4ccd0672460d31db239829384aee69f9a +Author: Matthew Allum +Date: Fri Aug 5 09:08:32 2005 +0000 + + Make Xephyr work without shadow fb + +commit fedbce2186bbe3bd8d23a4d74c35f10286930a7d +Author: Adam Jackson +Date: Fri Aug 5 00:13:31 2005 +0000 + + EXTRA_DIST hacks to get all the OS support files into the tarball. + +commit 39a80312e0c6e9f3b260d2f8279c71aef0a60d12 +Author: Adam Jackson +Date: Thu Aug 4 22:31:20 2005 +0000 + + - Bug #3960: Add remaining GLX and pci.ids stuff to DIST (Cha Young-Ho, + Olli Helenius) + - Fix some distcheck problems for non-solaris systems + - Change server version number from the Xorg rev to an independent one + - _POSIX_SOURCE and _XOPEN_SOURCE defined to the right values + +commit ed4d77a16a226a7bc88d0d4f5c595d16cdf46360 +Author: Søren Sandmann Pedersen +Date: Thu Aug 4 21:05:12 2005 +0000 + + Thu Aug 4 16:08:00 2005 Søren Sandmann + Make the fbCompose paths use the existing inline functions instead of + macros. Various other cleanups. + Remove macro definitions, move typedef to fbmmx.c + +commit e62be6d2721e7f43c7bba6b8da4e5ec8c364697d +Author: Adam Jackson +Date: Thu Aug 4 18:45:46 2005 +0000 + + - Check for vsnprintf + - Don't build the Xorg DDX on darwin + - Workaround for gcc defining __ppc__ but not __powerpc__ + +commit 13bec87f45509452c643e20745e12878584d606a +Author: Alan Coopersmith +Date: Thu Aug 4 02:39:56 2005 +0000 + + Fix inline assembly versions of in*/out* for Sun compilers Add check for + ancient USL console code on Solaris to allow building on old Solaris + x86 versions + +commit 9802106864a6b2c24df8e9fcb3c3471033abd5c6 +Author: Adam Jackson +Date: Wed Aug 3 01:41:34 2005 +0000 + + dist fixes for cw and GL (Donnie Berkholz, me) + +commit d7c246f35b1ba7ecbbc086dd1229b298faddec96 +Author: Alan Coopersmith +Date: Tue Aug 2 23:57:52 2005 +0000 + + Only build ix86Pci.c on x86 & amd64 platforms Set DEFAULT_INT10 to x86emu + on everything but Linux/x86 Fix Sbus.c inclusion on sparc platforms + +commit 3d0d95004c65cd3a29c94fec99e13ab7fdc19c7c +Author: Alan Coopersmith +Date: Tue Aug 2 20:47:47 2005 +0000 + + Add check for walkcontext() to enable stack trace dumper on Solaris + +commit bb5258a21d9efbb7d8b4226a44bd5738eb46d32a +Author: Keith Packard +Date: Tue Aug 2 17:57:36 2005 +0000 + + Mark generated files as BUILT_SOURCES and CLEANFILES to ensure they are + regenerated after 'make clean' and to make parallel builds work right. + +commit 0c608a690e85064345d7ebdf6b03e2f3bd861708 +Author: Keith Packard +Date: Tue Aug 2 06:48:20 2005 +0000 + + Note yacc and lex generated files as BUILT_SOURCES so they are created + before anything is compiled; required for parallel builds + +commit d31de217e6e9bfb0e1cc99141d80def9382de9a9 +Author: Adam Jackson +Date: Tue Aug 2 03:36:09 2005 +0000 + + distcheck fixes + +commit c83772fef7ea0379db9bab1120f064b80b74f377 +Author: Alan Coopersmith +Date: Tue Aug 2 01:50:48 2005 +0000 + + Set OSNAME for "Build Operating System" line in Xorg log + +commit 005a9cf1f5fe688f303b954870afd35635fc33bf +Author: Alan Coopersmith +Date: Tue Aug 2 01:03:25 2005 +0000 + + Fix Solaris assembly source to work with libtool + +commit 48b130285ad1309a1ff5b2148b3bae5f5b642488 +Author: Adam Jackson +Date: Tue Aug 2 00:47:08 2005 +0000 + + Move AM_CONDITIONAL for ia64 to global scope + +commit 03379474e0fd9c21ac058e2319618934359b3262 +Author: Adam Jackson +Date: Tue Aug 2 00:45:30 2005 +0000 + + only do the AS_HELP_STRING workaround once, d'oh + +commit 2d7b1893befb84850f3221cbe70b3bce4e621d63 +Author: Adam Jackson +Date: Tue Aug 2 00:41:07 2005 +0000 + + - Workaround for AS_HELP_STRING compatibility with older autoconf. + - New intermediate build target for Xorg server + - ia64 fixes + +commit 7c84189ea1dc236bc979bb4bf158ecb1a6b45137 +Author: Alan Coopersmith +Date: Mon Aug 1 22:22:16 2005 +0000 + + Bugzilla #3566 Patch + #2906 Fix for + RENDER, repeating pictures and offscreen memory (Owen Taylor) + +commit 2acd29c93fd3b3d438887f0ca9be6713db81c1e8 +Author: Adam Jackson +Date: Mon Aug 1 22:13:20 2005 +0000 + + Bump autoconf dependency to 2.57 from 2.53. Add 2.57 compatibility hack for + the new AS_HELP_STRING syntax from 2.58+. + +commit b7a43fa0f112d92cce71642142e07276da4de681 +Author: Adam Jackson +Date: Mon Aug 1 19:00:21 2005 +0000 + + Bug #3739: Fail soft on unknown extension string. + +commit 0285804811bd24ad7de8894f8188b87e821e54cc +Author: Adam Jackson +Date: Mon Aug 1 18:41:54 2005 +0000 + + GLX fix for loadable servers: indirect_size.c goes in libglx, not libGLcore + +commit 78d51253e229bcb428039911d80a5d89d4bf4491 +Author: Søren Sandmann Pedersen +Date: Mon Aug 1 16:07:14 2005 +0000 + + Fri Jul 29 17:20:53 2005 Søren Sandmann + Fix rounding bug. + +commit fd84b3b56280ef88a8c848c4338f0bea906ce6d8 +Author: Alan Coopersmith +Date: Sat Jul 30 18:56:32 2005 +0000 + + Clear compiler warnings. (Stefan Dirsch) + +commit 9e9f9cb4878d597b3fa6de7732d2866e24c32f54 +Author: Alan Coopersmith +Date: Fri Jul 29 21:55:57 2005 +0000 + + Need to define SVR4 on SVR4-ish systems since many headers and source files + check for it, expecting Imake to have defined it already. (Should be + replaced with more specific checks & defines, but there's too many to + get them all right now.) + +commit 14ade55b83aa72240a555b3b9def9f40a6a38cd9 +Author: Kevin E Martin +Date: Fri Jul 29 21:22:58 2005 +0000 + + Various changes preparing packages for RC0: + - Verify and update package version numbers as needed + - Implement versioning scheme + - Change bug address to point to bugzilla bug entry form + - Disable loadable i18n in libX11 by default (use --enable-loadable-i18n to + reenable it) + - Fix makedepend to use pkgconfig and pass distcheck + - Update build script to build macros first + - Update modular Xorg version + +commit 2654f88cee86fae9db169dc8668492857fbbad98 +Author: Kevin E Martin +Date: Fri Jul 29 18:40:54 2005 +0000 + + Fix code to handle printing 7.0 release candidates properly. + +commit d5d669b04ecbd91bb2db9ddc6238acabbeaabbe0 +Author: Alan Coopersmith +Date: Thu Jul 28 23:33:57 2005 +0000 + + If neither --enable-dmx or --disable-dmx are specified, default to "yes" on + Linux, "no" on everything else (matches defaults in monolith Imake) + +commit 86529c07d6ff69ef936ee370be07b373e2961360 +Author: Kevin E Martin +Date: Thu Jul 28 23:28:34 2005 +0000 + + Fix distcheck for server + +commit 3e4bf8a8f46e14078c64c56ad303c80cd9d8d5be +Author: Alan Coopersmith +Date: Thu Jul 28 02:38:23 2005 +0000 + + Rework wrapping of common mouse driver to not require mousePriv.h, so that + modular tree xserver can be built on Solaris. Wrap more ioctls in + SYSCALL() to restart on signals. + +commit cfd6c74067de7fdb2aeddee6780c29231a56acdc +Author: Søren Sandmann Pedersen +Date: Wed Jul 27 17:50:13 2005 +0000 + + Add dbestruct.h to sdk_HEADERS + +commit 5ced854186b851ba2c9ac84eb6d7f141fdee487b +Author: Søren Sandmann Pedersen +Date: Wed Jul 27 17:35:25 2005 +0000 + + Add miwideline.h mistruct.h mifpoly.h to sdk_HEADERS + +commit 7bd6b0640e69552ed4c9daac26e41410dd7338b4 +Author: Kevin E Martin +Date: Wed Jul 27 08:16:35 2005 +0000 + + Add #include for building dmx/glxProxy in the modular tree. + +commit b9ccd89918e1c79d6013fe563c7fa933c1274837 +Author: Kevin E Martin +Date: Wed Jul 27 08:11:26 2005 +0000 + + Fix dmx/glxProxy build + +commit 8f6664fcff319ee155e7864ce25fa11c1fa5594b +Author: Søren Sandmann Pedersen +Date: Tue Jul 26 23:40:45 2005 +0000 + + Add these files to the sdk: + cbf32.h cfb16.h cfbmap.h cfbunmap.h cfbunmap.h cfbmskbits.h xf86sbusBus.h + mifillarch.h mispans.h + +commit 3cbb55f309b8eaba246d1d948b59883f9ed28bf4 +Author: Søren Sandmann Pedersen +Date: Tue Jul 26 22:17:27 2005 +0000 + + Install xorgVersion.h + +commit df5d47560c19b01f2998806c4b62f459a6b5fc02 +Author: Søren Sandmann Pedersen +Date: Tue Jul 26 18:56:45 2005 +0000 + + xserver/xorg/fb/Makefile.am: install fboverlay.h + +commit b25e6f82a1189a67208a2a4980d732ab77e64a35 +Author: Søren Sandmann Pedersen +Date: Tue Jul 26 18:21:22 2005 +0000 + + fb/Makefile.am: add fbpseudocolor.h to sdk_HEADERS + hw/xfree86/xaa/Makefile.am: add xaaWrapper.h to sdk_HEADERS + +commit e7502158d6922a149d0aaf1de209f0b58fa444bf +Author: Alan Coopersmith +Date: Sun Jul 24 16:24:17 2005 +0000 + + Add xf86DeallocateGARTMemory stub so that Xorg can be built on Solaris + again. + +commit 7c1148c0fbc00716bb7ec621a1b968b4127cbb00 +Author: Adam Jackson +Date: Sat Jul 23 19:32:57 2005 +0000 + + Fire the Mesa symlink script from the configure stage. + +commit f331a325447449982efba8adc5bc079371dfb77a +Author: Adam Jackson +Date: Sat Jul 23 19:29:58 2005 +0000 + + Add the symlink script for the Mesa source. + +commit a5532e456d763718036e84891ff57c6f7417615a +Author: Stuart R. Anderson +Date: Sat Jul 23 18:16:06 2005 +0000 + + Change the default depth back to 8 like it was originally. Disable the + addition of depth 12 & 30. It causes more than MAXFORMATS depths to be + added to the screen which causes an array in the Screen structure to + overflow and crash on server reset. + +commit d8a1241a24d75c258548875350bff4d0acc795ab +Author: Stuart R. Anderson +Date: Sat Jul 23 17:49:45 2005 +0000 + + Add a safety check to catch when numDepths GCperDepthexceeps MAXFORMATS + +commit 93d29b4554d26b22ca43311264f85ea8e14804c2 +Author: Adam Jackson +Date: Sat Jul 23 02:04:39 2005 +0000 + + Emit makefiles for glapi, slang, and grammar. Conditionally define GLX_LIBS + if GLX support is requested. Add GLX_LIBS to the link deps for Xvfb and + Xnest. All GLX support should work now for the vfb, xnest, and xfree86 + DDXes. + +commit 525d663ec5a8a181a1e36f3787b24cdb77290c17 +Author: Adam Jackson +Date: Sat Jul 23 02:02:18 2005 +0000 + + glapi build (forgot this one somehow) + +commit 6aaceef3231818682dccf1969b211f1dc798da1f +Author: Adam Jackson +Date: Sat Jul 23 02:00:52 2005 +0000 + + Fix the build system to reflect the rest of the Mesa core. Almost links, + needs a code fix to Mesa though. + +commit d7e2cadb13ef0e77d864c8282489f544b0e1dede +Author: Adam Jackson +Date: Thu Jul 21 02:29:05 2005 +0000 + + GLX needs gl.h from Mesa too + +commit bf32f4739c6ef7f41cde6cc409d42e00462402fb +Author: Alan Hourihane +Date: Tue Jul 19 20:51:46 2005 +0000 + + programs/Xserver/hw/xfree86/os-support/shared/agp_noop.c + programs/Xserver/hw/xfree86/os-support/linux/lnx_agp.c + programs/Xserver/hw/xfree86/os-support/xf86_OSproc.h + //bugs.freedesktop.org/show_bug.cgi?id=3164> Add xf86DeallocateGARTMemory() + function call (Austin Yuan) + +commit 931abdba8410bf1188d69d54c57543a21ea36968 +Author: Alan Coopersmith +Date: Tue Jul 19 02:50:00 2005 +0000 + + Change #include "X.h" to + +commit 4f2e731aba0c5694abb65a877395cc5f9869c556 +Author: Daniel Stone +Date: Sun Jul 17 07:34:31 2005 +0000 + + objdir != srcdir fixes. + +commit a6bd7ad985e138874bb0e1f33f545651dfde32a9 +Author: Alan Coopersmith +Date: Sun Jul 17 01:52:33 2005 +0000 + + Set GLX automake conditional after we've tested for mesa source and set GLX + to "no" if it's --with-mesa-source wasn't set. + +commit ead37b08699f665a856c7ba29578c27c27db4100 +Author: Alan Coopersmith +Date: Sat Jul 16 20:52:25 2005 +0000 + + Mark variables modified in signal handlers as volatile (part of Sun bug id + 4496504) + +commit bbb49449cbc0815fd9c4faf9b6ee32be99a8aa3d +Author: Adam Jackson +Date: Sat Jul 16 16:30:40 2005 +0000 + + Fix --with-mesa-source parsing, and turn GLX off if no path to Mesa given. + +commit d69e9872ae91c9c17a33e1ed763f98453d950b39 +Author: Adam Jackson +Date: Sat Jul 16 16:29:30 2005 +0000 + + Typo fix, and re-add GLcore to the dixmods build + +commit 8bc883c48c8f99502707998a8257c0563cae7d3a +Author: Alan Coopersmith +Date: Sat Jul 16 09:00:44 2005 +0000 + + Update build instructions. Add details about how the expat, fontconfig, + libpng, freetype, and xterm builds are now handled. + Update text docs from SGML masters. + +commit 8e600b87643f7f4e19923dd6a0f2eec83303363a +Author: Alan Coopersmith +Date: Sat Jul 16 07:39:48 2005 +0000 + + Only pass -rdynamic when using gcc + +commit 4f04e26c69747929243f176feaa90f3042481f53 +Author: Adam Jackson +Date: Sat Jul 16 04:30:33 2005 +0000 + + Say --with-mesa-source to get GLcore built. + +commit 4913316f25e76381844cf15aa64eff620c2807a1 +Author: Adam Jackson +Date: Sat Jul 16 04:29:28 2005 +0000 + + Switch to MESA_SOURCE which we're already AC_SUBSTing + +commit 7facb209a705ca406b05272c233ea0cfd6a5b266 +Author: Adam Jackson +Date: Sat Jul 16 04:24:21 2005 +0000 + + Hook in the GLcore build + +commit 2f9a7c6ee1012b2c7664c53f405affaf82bd0953 +Author: Adam Jackson +Date: Sat Jul 16 04:13:33 2005 +0000 + + Hey look, GLcore links + +commit 5f81eb1d89f623dd9281e686a4d4d4f403e459c6 +Author: Kevin E Martin +Date: Sat Jul 16 03:49:59 2005 +0000 + + Fix the *-config.h includes so that it is possible to build modules without + having to use -include in the Makefile. + +commit 0635acab08bade9bfd9d2abd3ea5a3fe525bc647 +Author: Kevin E Martin +Date: Sat Jul 16 03:46:01 2005 +0000 + + Add record module building support Change module building to not use + -include Fix xnest, dmx and vfb builds to -DXFree86Server for fbcmap + compilation + +commit 92b23ff426936909e1ff5e063b75e5f112b93ca1 +Author: Alan Coopersmith +Date: Sat Jul 16 01:17:52 2005 +0000 + + Update to match recent changes to pci.ids & extrapci.ids for people + building on systems without perl. + +commit 6ce3743948a7151c721194594091a7e1183e2f32 +Author: Adam Jackson +Date: Sat Jul 16 00:51:14 2005 +0000 + + start the GLcore build system + +commit 2f0487521da3da6784dd964c915071b82d749108 +Author: Kevin E Martin +Date: Fri Jul 15 23:08:31 2005 +0000 + + Fix the *-config.h includes for the files that have moved in the modular + tree. + +commit a407fa373bb72f29050e3f027042011075b3bdf0 +Author: Kevin E Martin +Date: Fri Jul 15 22:51:05 2005 +0000 + + Move drm up to os-support since the files are shared by multiple platforms. + Fix the dri and drm build. Fix server-side DMX extension build. Make + xf4bpp use the correct version of mfbline.c for mfbseg.c. Add #ifndef + _HEADERNAME_H_/#define _HEADERNAME_H_/.../#endif to the headers. + +commit eb6fa0dc15516a0a436090efc6d85f22baeec015 +Author: Adam Jackson +Date: Fri Jul 15 22:14:28 2005 +0000 + + Enable GLX build by default + +commit 0e352a8b2b4c78c291074b9531ed7afa7a20ac17 +Author: Adam Jackson +Date: Fri Jul 15 21:59:39 2005 +0000 + + disable GLcore momentarily until a build system exists. --enable-glx should + work now. + +commit 4bf453086418e93e81b24d3d2a0f49a9357acff3 +Author: Kevin E Martin +Date: Fri Jul 15 05:48:29 2005 +0000 + + Fix keyboard state when XEVIE is not enabled (Keith Packard). + +commit 562acf2e69dcf08f8db8f8eeaa162949d45f70b2 +Author: Søren Sandmann Pedersen +Date: Thu Jul 14 23:41:15 2005 +0000 + + Add -I$(top_builddir)/hw/xfree86/dixmods/extmod to Xext/Makefile.am Patch + from Stefan Dirsch + +commit defeb56fc9559661fa632935a4c76c500c7edcf4 +Author: Kevin E Martin +Date: Thu Jul 14 22:20:16 2005 +0000 + + Fix the build when DRI is enabled + +commit 6b546d0ec07e493b501e82300b3e6c143cd4d0ac +Author: Kevin E Martin +Date: Thu Jul 14 03:36:44 2005 +0000 + + Add #include to the Xnest source files for modularization. + +commit 7375f4d13626bbba4204e2f08f41c212b2eed992 +Author: Kevin E Martin +Date: Thu Jul 14 03:32:09 2005 +0000 + + Add support for Xnest + +commit c582560c62fd8181b7521e470f118a59c418a95f +Author: Alan Coopersmith +Date: Thu Jul 14 02:59:34 2005 +0000 + + Add partial in*/out* assembly support for Sun compilers on x86 + +commit 64bf3a81a3212dc2c0f55aebdc74a618ca6a32c0 +Author: Adam Jackson +Date: Thu Jul 14 02:53:31 2005 +0000 + + loadable extmod build system. + +commit 6c96e0c9e4b3f1e8dfa5dcf7366bb838dc0724ec +Author: Adam Jackson +Date: Thu Jul 14 01:36:58 2005 +0000 + + loader support for extmod + +commit 8ea4a1b759eae0279ce619c663f2cd2f6dee8d71 +Author: Alan Coopersmith +Date: Thu Jul 14 01:00:39 2005 +0000 + + First pass at Solaris os-support + +commit f07e905553783dc0133015bcbf94d3b6be68b19c +Author: Søren Sandmann Pedersen +Date: Thu Jul 14 00:28:47 2005 +0000 + + - Add build system for xf86-video-ati + - Add build system for xserver/xorg/hw/xfree86/dri + - Add glcore.h to symlink.sh + - Symlink.sh: add some more DRI files, symlink glcore.h from + extras/Mesa/include/GL/internal to proto/GL + - proto/GL/Makefile.am: install glcore.h + - xf86-video-ark: s/module-dir/xorg-module-dir/ + +commit 939b7720f17ec5ac5edcc6cfe70453160ecb0161 +Author: Alan Coopersmith +Date: Thu Jul 14 00:02:05 2005 +0000 + + Merge SVR4/pre-Solaris 8 and Solaris 8+ sections for greater consistency, + easier maintenance, and to fix some missing headers when building the + modular Xorg on Solaris. + +commit 23d25a656d7fdbafa1c78be2950fb405f0a1b87b +Author: Adam Jackson +Date: Wed Jul 13 23:41:21 2005 +0000 + + Remove references to DDX-specific extensions + +commit f4626bb72b9955846abee018ae31c1aeb51b8dbf +Author: Adam Jackson +Date: Wed Jul 13 22:59:39 2005 +0000 + + dlloader is the default in 6.9, but the loader doesn't get told to prefer + dlloader modules unless you -DDLOPEN_HACK. + +commit 4f38526566dbcc296d124bb852adfa30ac4d927e +Author: Alan Coopersmith +Date: Wed Jul 13 22:54:02 2005 +0000 + + - Use fbdevhwstub.c if is not found + - Use x86emu on Solaris instead of vm86 + - Better per-OS control over which xf86Kbd*.c and *Pci.c files to build + - Set various #defines to be defined or not on Solaris as needed + +commit db8aa17f15f62f243400b0267bf281dd27738644 +Author: Adam Jackson +Date: Wed Jul 13 22:19:36 2005 +0000 + + updated comment for libbitmap + +commit 4f9e76ed6a61b414ffc94550727a138c3f73996f +Author: Adam Jackson +Date: Wed Jul 13 22:09:52 2005 +0000 + + Dear libtool: Loadable modules do not need version numbers. kthnxbye. + +commit 40ad7321f5d8d216523d575c4414736d8cfe9e88 +Author: Adam Jackson +Date: Wed Jul 13 21:52:51 2005 +0000 + + Generate useful loadable modules by actually linking in the blobs from the + DIX + +commit 0e08818d3951c324e5953bd23a8a9457b3fec78f +Author: Adam Jackson +Date: Wed Jul 13 21:41:02 2005 +0000 + + Hook dbe into the build + +commit 2d4ddb5606b7328c591a7bffafbb49bdaf2adcf9 +Author: Adam Jackson +Date: Wed Jul 13 21:36:27 2005 +0000 + + double-buffering extension + +commit c2ec9fbb15c776b9c64451cf32927b1b8d1c560c +Author: Kevin E Martin +Date: Wed Jul 13 21:17:53 2005 +0000 + + Only build Xi/stubs.c on DDXs that don't support the Xinput extension + +commit 74a534f63c1ed016f24dbc3ca31f05b81076e8f0 +Author: Søren Sandmann Pedersen +Date: Wed Jul 13 20:19:38 2005 +0000 + + xc/programs/Xserver/hw/xfree86/drivers/i2c/*.c: include xorg-config.h + instead of config.h xserver/xorg/hw/xfree86/i2c/Makefile.am: Add i2c + drivers + +commit 1dc3e96e4077a912dd3aa13fa80099f5864b641f +Author: Torrey Lyons +Date: Wed Jul 13 16:30:53 2005 +0000 + + Fix compilation where uint is not defined. + +commit 19e20c1470c1f8d15f2a78fb29545bde06a65516 +Author: Lars Knoll +Date: Wed Jul 13 08:58:37 2005 +0000 + + don't clobber %ebx in the assembler. + +commit bfb10bd2dcca65ba5d346c9d7da594a81c35c101 +Author: Lars Knoll +Date: Wed Jul 13 07:28:17 2005 +0000 + + Fix potential buffer overflow and a smaller bug in the convolution filter + +commit 778a2703b233641e298fa81ef9c477943c496305 +Author: Lars Knoll +Date: Wed Jul 13 07:12:33 2005 +0000 + + fix compilation + +commit 66bc36473c238fdee7e6c1d31e6e5f6813a7541a +Author: Daniel Stone +Date: Tue Jul 12 23:36:27 2005 +0000 + + Use builddir, not srcdir, for built files. + +commit d6808a48d2dffd72f618fa372fba993736638799 +Author: Alan Coopersmith +Date: Tue Jul 12 18:16:03 2005 +0000 + + Fix scanpci -v core dump when subsys vendor/device id's are NOVENDOR & + NODEVICE. Bug #3763 + Patch #3074 + +commit cda9c7b2678ea08ac6176a9eee72e6e511134b8e +Author: Lars Knoll +Date: Tue Jul 12 14:50:10 2005 +0000 + + add x86emu. + +commit 41002623f314444bd416fd5f445a0425c5b59df0 +Author: Lars Knoll +Date: Tue Jul 12 10:02:10 2005 +0000 + + Add MMX Code paths for the basic composition operations in + fbComposeGeneral. + +commit 697cf74fb50a550b8f7e124dc8f463a55519795f +Author: Keith Packard +Date: Tue Jul 12 03:09:20 2005 +0000 + + Make Xprt run when linked against Xlib for Xrm + +commit 419448ea7b0d7f672e568cb1d8b4e190a1f54825 +Author: Adam Jackson +Date: Tue Jul 12 03:03:16 2005 +0000 + + Pull libdri out of the build for now until I get something better worked + out + +commit f054bf2ff6b94e285e7f2d174163c01b07b07143 +Author: Adam Jackson +Date: Tue Jul 12 01:29:41 2005 +0000 + + build fix + +commit 02427d4d04f70109a499578c6762654463ebdae4 +Author: Kevin E Martin +Date: Tue Jul 12 01:20:36 2005 +0000 + + Add support for building Xdmx and Xvfb + +commit 3fe6b5bb30e8e1b9017a9cf818fcceb279a28e65 +Author: Adam Jackson +Date: Tue Jul 12 01:17:39 2005 +0000 + + GLX server support + +commit 377e3bddd4d73154520a9582d75de2b20ae532a5 +Author: Adam Jackson +Date: Tue Jul 12 00:55:43 2005 +0000 + + Forgot to add these for some reason + +commit e348ac4b4dfb1112c19fe5fe5441182e66716087 +Author: Kevin E Martin +Date: Tue Jul 12 00:52:48 2005 +0000 + + Prepare Xdmx and Xvfb for modularization by adding appropriate #include + <{dix,dmx}-config.h> to the source files. + +commit b7a9a6a03560bdf6584c71bf0b546301bba9ab89 +Author: Kevin E Martin +Date: Mon Jul 11 17:52:00 2005 +0000 + + Remove unneeded xf86drm.h includes to fix modular build. + +commit cf4dfd650dbc2bb65eae4eea2acfb4a4c5295548 +Author: Adam Jackson +Date: Mon Jul 11 02:29:50 2005 +0000 + + Prep for modular builds by adding guarded #include "config.h" everywhere. + +commit c5548086f3864c828f0cad65d2708cefd2025947 +Author: Adam Jackson +Date: Mon Jul 11 00:42:52 2005 +0000 + + Start filling in glx build. Add xf86Version.h and a few DRI headers to the + sdk (needed for modular driver builds). + +commit 955fe17133d841758a18072a9acabedc81dc4562 +Author: Adam Jackson +Date: Sun Jul 10 21:45:55 2005 +0000 + + add some convenience variables for the drivers + +commit 78fab90230c61241af29f0c94f401ce0bc749b6b +Author: Alan Coopersmith +Date: Sat Jul 9 16:51:58 2005 +0000 + + Bug #3740 Patch #3058 + + 08-Jul-2005 nv driver updates from Mark Vojkovich: + Change some console restore code for NV11. Hopefully, we can more reliably + restore the console for desktop systems using DVI. This may correct a + recent regression on NV11. + Also, new PCI IDs. + Add new nVidia PCI ids to match nv_driver.c changes. + +commit 3c92389185f0c9fa3b8c299a084b10c12bcab52c +Author: Zack Rusin +Date: Sat Jul 9 14:15:35 2005 +0000 + + Patch from Thomas Winischhofer to kick out all pixmaps to system ram upon a + VT switch and vice versa when returning. + +commit 327741486e807c068383a771c04c9042b0589c37 +Author: Adam Jackson +Date: Sat Jul 9 02:22:29 2005 +0000 + + Don't try to link fb, shadow, or vgahw into the loadable Xorg server, as + they're only supposed to be loadable modules. + +commit 2b8e4db9ac4b4c8f8fd73c00436d6abec2faa535 +Author: Adam Jackson +Date: Fri Jul 8 20:27:30 2005 +0000 + + -lXfont isn't enough for libbitmap, you need to get the -L from pkg-config + +commit e84648df7d7eb700b7c2d35fdef0be1f463853fa +Author: Zack Rusin +Date: Fri Jul 8 17:07:52 2005 +0000 + + mark drawable as dirty on copying/painting windows + +commit 4ab73a73f4aa1f02cc8dada185b5dcbddfe43878 +Author: Zack Rusin +Date: Fri Jul 8 07:43:00 2005 +0000 + + heh, oops (thanks Thomas) + +commit 0a28516a6e641b41e674f69fc228b0babbe1743b +Author: Alan Coopersmith +Date: Thu Jul 7 19:07:28 2005 +0000 + + More compiler warning fixes for missing prototypes: + Add prototype for XkbSetExtension() + Add #include for isspace() & isdigit() + Add #include (for initgroups()) and remove extra * + Add prototype for xorgGetVersion() + +commit 2c3c4060fd2a52f147eda01b11222c341c6e3dee +Author: Alan Coopersmith +Date: Thu Jul 7 16:18:52 2005 +0000 + + Bug #2901 Add prototype + for XdmAuthenticationInit() (Peter Breitenlohner) + +commit d0dc574adb79ffacf90b786d4ccfcd1cd8598728 +Author: Zack Rusin +Date: Thu Jul 7 15:05:02 2005 +0000 + + Check vtSema before accelerating primitives and sync in fallbacks only if + we got vtSema + +commit 6cba5f1260c20b3bc072fdcc5f3e49fa28ba6414 +Author: Alan Coopersmith +Date: Thu Jul 7 14:59:48 2005 +0000 + + Bug #2901 Patch #2332 + This patch avoids + 79 gcc-3.4.3 warnings 'xxx' declared `static' but never defined mostly + due to including "ftfuncs.h" with the declaration of static functions + defined in "ftfuncs.c". (Peter Breitenlohner) + +commit 7da3f4a786d9b61f4129c7dbbef80c84abbfde68 +Author: Alan Coopersmith +Date: Thu Jul 7 03:12:40 2005 +0000 + + Bug #2901 Fix warnings + about redefined macros (Peter Breitenlohner) + +commit f86562540d1c945bfd96d4b89259d81e4ed25255 +Author: Alan Coopersmith +Date: Thu Jul 7 02:47:06 2005 +0000 + + Bug #2901 Patch #2325 + Avoid 38 + gcc-3.4.2 warnings: suggest parentheses around assignment used as truth + value suggest explicit braces to avoid ambiguous `else' suggest + parentheses around && within || suggest parentheses around arithmetic + in operand of ^ "/*" within comment (Peter Breitenlohner) + Bug #2901 Patch #2326 + This patch + removes these 2 gcc-3.4.3 warnings: missing braces around initializer + implicit declaration of function `XpOidTrayMediumListHasTray' (Peter + Breitenlohner) + +commit 4047191124c237518110e698bde6dab445644449 +Author: Damien Ciabrini +Date: Wed Jul 6 15:34:22 2005 +0000 + + Added hardware support for transformation matrix (zoom, rotation, etc...). + Fixed the composition function for RGB and A8 format. Avoid syncing + hardware after HW fills or copies. + +commit 4073f24c90d4aff3f7d83af4c0e733eed082b53b +Author: Alan Hourihane +Date: Wed Jul 6 15:14:30 2005 +0000 + + add missing PictureTransformPoint3d call + +commit c48f631cdb6a279ab1a24a486b05956cfa9ca3da +Author: Damien Ciabrini +Date: Wed Jul 6 13:57:41 2005 +0000 + + Fix offset alignment code in the offscreen memory allocator to prevent + textures from being allocated in the next free memory area. + +commit baa99be190c51b533bf8748c6c6a9bce62594e96 +Author: Ian Romanick +Date: Wed Jul 6 07:16:19 2005 +0000 + + Put the correct value in the length field of the reply. Previously, the + number of tag/date pairs was specified. This was incorrect. The correct + value is the number of values (one for the tag and one for the value). + Xorg bug: #3210 + +commit 6ba4a2e78a73858648b5b6a39306446d519c3a75 +Author: Alexander Gottwald +Date: Tue Jul 5 23:01:51 2005 +0000 + + Add more defines for XWin DDX Make building of cfb*, afb and mfb + conditional Set FD_SETSIZE=256 on cygwin + +commit 71ed3ae0c696152e82a98ce2ac0fa67ce6f23464 +Author: Alexander Gottwald +Date: Tue Jul 5 22:58:29 2005 +0000 + + wrap fInternalWM with XWIN_MULTIWINDOWEXTWM + +commit 456844a613240ce56181f6f3ec7873be9b2dc85d +Author: Alan Coopersmith +Date: Tue Jul 5 18:42:32 2005 +0000 + + Remove Speedo font module documentation. + Remove Speedo from list of font directories + Update default font path to remove Speedo, add TTF. + +commit 20c15003f9648de0c03f7d4fa4508afd896b19f5 +Author: Alexander Gottwald +Date: Tue Jul 5 18:25:44 2005 +0000 + + Fix crash on server shutdown + +commit d72fef26d44e649f39a56730830148d48d77ee9e +Author: Alexander Gottwald +Date: Tue Jul 5 17:52:35 2005 +0000 + + Fix simultanious presses of Left and Right Control and Shift keys. + https://bugs.freedesktop.org/show_bug.cgi?id=3677 + +commit 0f2c8221c938ce8eebd9f0e111a6b87223c18f9e +Author: Alexander Gottwald +Date: Tue Jul 5 16:35:42 2005 +0000 + + Fix typo which broke window titles + +commit 0bb2eb8eaaf4054fefbc45bf3cb47bbcf10b7cfd +Author: Alexander Gottwald +Date: Tue Jul 5 15:43:20 2005 +0000 + + Fix problem with fake Control press on Alt-Gr + https://bugs.freedesktop.org/show_bug.cgi?id=3680 + https://bugs.freedesktop.org/show_bug.cgi?id=3497 + Fix static declaration of winGetBaseDir + +commit 3af77ad3e754c4d419a1996ca73a9fd01f92388a +Author: Alexander Gottwald +Date: Tue Jul 5 14:09:48 2005 +0000 + + External windowmanagers could connect in multiwindow mode which lead to + strange results with the internal windowmanager. + +commit 426282268bcdd0e0ca973fa79b414e9065fbfd9d +Author: Alexander Gottwald +Date: Mon Jul 4 23:40:09 2005 +0000 + + Build miinitext.c and fbcmap.c as DDX specific files + Do not define _POSIX_SOURCE on cygwin. + +commit 845a0ac68b02148db6f2cca81debf20b2331607b +Author: Alexander Gottwald +Date: Mon Jul 4 23:11:20 2005 +0000 + + Revert last changes. They have to be addressed in a different way + +commit 048045a9e714fc85c26028c4de36dff47644b826 +Author: Alexander Gottwald +Date: Mon Jul 4 22:18:40 2005 +0000 + + Add XWin DDX, make Xorg DDX conditional Make XF86VidMode and XF86Misc + conditional + Add XWin DDX + Added DDXTIME, DDXOSFATALERROR, DDXOSVERRORF and DDXBEFORERESET + Added fbcmap.c + Added miinitext.c + Added -I$(top_srcdir)/Xext/extmod to INCLUDES + +commit 508cdb5cb01a91b1bf3ef31da80b6b1d36286bf0 +Author: Alexander Gottwald +Date: Mon Jul 4 22:10:43 2005 +0000 + + Include xwin-config.h if HAVE_XWIN_CONFIG is defined Cleanup X11 includes + handling Warning fixes + +commit 5e50ae22bf206d6c2cc05e772e05fa5a363acb81 +Author: Zack Rusin +Date: Mon Jul 4 18:55:53 2005 +0000 + + remove the temporary debugging output + +commit 7586ac6edea64b30d6187f9ec4d867521c1e769c +Author: Adam Jackson +Date: Mon Jul 4 18:41:04 2005 +0000 + + Bug #2216: Multiseat support. From various Debian and Ubuntu patches by + Aivils Stoss, Andreas Schuldei, Branden Robinson, and Daniel Stone. + +commit ba011dc77dcfaea2843481fbba45a76d8cb9aa83 +Author: Lars Knoll +Date: Mon Jul 4 14:47:03 2005 +0000 + + don't be too smart and try to replace PictOpOver by PictOpSrc when we have + an external alpha map. + Make fbmmx.c compile on gcc 4.0.1. + +commit a4df8ad75579d9c183f110d79d87cfb9aaf23acd +Author: Lars Knoll +Date: Mon Jul 4 14:23:59 2005 +0000 + + Fix handling of "super luminescent" colors Fix off by one error in the + transformation handling. + +commit e34f31762e0454930f30547a9407cc8b941c70f2 +Author: Zack Rusin +Date: Mon Jul 4 14:15:57 2005 +0000 + + This fixes the close screen mess (crash reported by Thomas). Also hide the + private Exa screen definition. Properly cleanup on screen close and do + not delete the private screen in the DriverFini call. + +commit 4ef813961dc8dea8924a79e0954d5b6da12e77c0 +Author: Alexander Gottwald +Date: Mon Jul 4 09:01:43 2005 +0000 + + provide the uint datatype on WIN32 + +commit 7dc547252af3b23652b1d496957645726c7125a4 +Author: Alan Coopersmith +Date: Mon Jul 4 00:16:23 2005 +0000 + + Fix builds on non-GLIBC systems (missing __GLIBC_PREREQ). Add Solaris stack + backtrace dumper. + +commit d010de6979a6c51a628f2f8e6d7f479a542d1e8b +Author: Daniel Stone +Date: Sun Jul 3 15:51:23 2005 +0000 + + Abandon the nostdinc experiment. + +commit b0d80e76d28dbc1ee14453950db000bb4d7f377f +Author: Daniel Stone +Date: Sun Jul 3 12:17:04 2005 +0000 + + Add missing include paths. + +commit 461eb6ebd9273dc3dcd601ee0a0491981a98acd9 +Author: Daniel Stone +Date: Sun Jul 3 12:16:29 2005 +0000 + + Change HAVE_CONFIG_H to HAVE_DIX_CONFIG_H. + +commit c1e69798ad14fb706f5f6de67e3f53df56f524c6 +Author: Daniel Stone +Date: Sun Jul 3 12:15:16 2005 +0000 + + Add explicit PSZ defines, remove unnecessary dix-config.h include. + Add -DXF86PM, forgotten from last commit. + +commit 4e501d35e260775a43f340b3e1a9aa092570aba4 +Author: Daniel Stone +Date: Sun Jul 3 10:51:16 2005 +0000 + + Remove needless usage of DECkeysym.h. + +commit a107f599518a175dd689417b48788a746303966a +Author: Daniel Stone +Date: Sun Jul 3 09:39:54 2005 +0000 + + Predicate usage of xf86OSPM functions on #ifdef XF86PM. + Remove needless include of ../input/mouse/mouse.h. + +commit 0bb669638f032e61471007b2fa88285aa5d63903 +Author: Daniel Stone +Date: Sun Jul 3 08:53:54 2005 +0000 + + Change and to "misc.h" and "os.h". + +commit 401e4580d6dd9867a691045688680ce410f84cb5 +Author: Daniel Stone +Date: Sun Jul 3 07:55:00 2005 +0000 + + Move misc.h and os.h from proto/X11 to xserver/xorg/include. + +commit 46b64bd5c66abb1bb9f3538c887d10867607bfff +Author: Daniel Stone +Date: Sun Jul 3 07:37:35 2005 +0000 + + Fix more include paths; add dix-config.h to XKB code. + +commit e03198972ca78b03ad13cb49112c03a052bb763b +Author: Daniel Stone +Date: Sun Jul 3 07:02:09 2005 +0000 + + Add Xtrans definitions (FONT_t, TRANS_CLIENT) to clean up warnings. + Add XSERV_t, TRANS_SERVER, TRANS_REOPEN to quash warnings. + Add #include or , as appropriate, to all + source files in the xserver/xorg tree, predicated on defines of + HAVE_{DIX,XORG}_CONFIG_H. Change all Xfont includes to + . + +commit b8aef6c474ffc6d637bec178674898ea95ccde47 +Author: Kevin E Martin +Date: Sun Jul 3 03:28:27 2005 +0000 + + Fix build issues. + +commit 826a6f029faeabaa783a93dfdccca846f9326b58 +Author: Daniel Stone +Date: Sat Jul 2 18:59:44 2005 +0000 + + Continuing Makefile cleanup; add DIX_CFLAGS and XORG_CFLAGS everywhere. + +commit e58c09d31bdf90210e2ec1ef976cea0459cdc02a +Author: Adam Jackson +Date: Sat Jul 2 18:06:05 2005 +0000 + + Bug #3687: Print backtraces on fatal signal on glibc systems. + +commit e6602b041fe489d51a1d7fac55cbbb12b1826ba1 +Author: Adam Jackson +Date: Sat Jul 2 17:02:23 2005 +0000 + + Bug #3546: Use MAP_LENGTH instead of a magic number. (Mark McLoughlin) Bug + #3664: Further fixes to Xnest modifier state handling. (Mark + McLoughlin) + +commit 9b1debcdb6c7df956c06350a6525afb8e6d691fa +Author: Daniel Stone +Date: Fri Jul 1 22:43:43 2005 +0000 + + Change all misc.h and os.h references to . + +commit 657b4cb8aa0076acae85997c4f0c353b4d86b632 +Author: Daniel Stone +Date: Fri Jul 1 22:32:34 2005 +0000 + + Change all misc.h and os.h references to . + +commit 303c281f956d55e35b05ef8521d0b60d24aa7a10 +Author: Daniel Stone +Date: Fri Jul 1 21:15:20 2005 +0000 + + Add auto-generated header files. + +commit 9a6ec34d2545a23586f11ad51c81f41a940d73d0 +Author: Daniel Stone +Date: Fri Jul 1 21:13:36 2005 +0000 + + Use canonical autogen.sh, which supports srcdir != objdir autogen. + +commit 7ecc2d526c4ea5db2589644a2fec0daf71df36da +Author: Daniel Stone +Date: Fri Jul 1 21:12:24 2005 +0000 + + Remove fbcmap.c hacks from the DIX. + +commit 6251f9c00a866f64207d23b0a06306ead15298e8 +Author: Daniel Stone +Date: Fri Jul 1 21:11:16 2005 +0000 + + Minor build system tweaks. + +commit 641f32c4368db07831d9d703161a9d4699307621 +Author: Daniel Stone +Date: Fri Jul 1 20:54:30 2005 +0000 + + Adding initial build system. + +commit 507d30546f56bfd172fc43857459c78c1026e97c +Author: Daniel Stone +Date: Fri Jul 1 20:54:01 2005 +0000 + + Adding initial build system. + +commit a822df1cc16d150614dead70fd00750095a05c35 +Author: Daniel Stone +Date: Fri Jul 1 20:49:35 2005 +0000 + + Adding initial build system. + +commit ded56b1a74e6b3e4c48054b7e142d924b19e6104 +Author: Daniel Stone +Date: Fri Jul 1 20:29:53 2005 +0000 + + Adding initial build system. + +commit aabb868920658c9d3979dc194c6bd9702171f101 +Author: Zack Rusin +Date: Fri Jul 1 13:30:29 2005 +0000 + + removing all debugging output from the default build :) + +commit 0fa9d1fb4886c418e3d8e0886ad815513eda0633 +Author: Zack Rusin +Date: Fri Jul 1 12:24:30 2005 +0000 + + Leave debugging output for only the interested parties. + +commit 0df446ab8875430508ff51d3548955a215475084 +Author: Zack Rusin +Date: Fri Jul 1 10:39:21 2005 +0000 + + Missed this. Spotted by Thomas. + +commit b5b2a0522efd61bd99b5d5d75cdd27960cd1c7e1 +Author: Lars Knoll +Date: Fri Jul 1 10:05:43 2005 +0000 + + Add support for gradients and solid fills to Render. + Changed the semantics of the Convolution filter a bit. It now doesn't try + to normalize the filter values but leaves this to the client. This + gives more reasonable behaviour in the limit where the filter + parameters sum up to 0. + +commit 30c019e847adef6f7f3963df8ef1f3f994669a54 +Author: Zack Rusin +Date: Fri Jul 1 08:56:12 2005 +0000 + + Adding the new acceleration architecture: Exa. It's meant to replace XAA in + the coming months. + +commit 276821605ee50e71f30dd52f2c12237fc61f288f +Author: David Reveman +Date: Fri Jul 1 03:14:54 2005 +0000 + + Fix return values in Xgl render texture implementation + +commit 5e381441fff411316ea202a9f85aceb0e0dcf46b +Author: Alex Deucher +Date: Fri Jul 1 02:56:04 2005 +0000 + + - Fix Support for Philips FM1236/F tuner on ATI AIW 9600 XT (Jeff Smith) + Bug 3401 + +commit c4d1b4e0424d53cd0470e0e3f57c10ee8fe3d8c2 +Author: Alexander Gottwald +Date: Thu Jun 30 21:33:46 2005 +0000 + + Added another test of checkForInput for WIN32 Windows keyboard and mouse + events are added to the input queue in Block- and WakupHandlers. There + is no device to check if input is ready. + +commit 1230c55ac3f75f4902b51b223d40354a54d0d0ab +Author: Alexander Gottwald +Date: Thu Jun 30 18:50:20 2005 +0000 + + Pass serverClient instead of NULL to ConfigureWindow. This should fix a + crash reported by Øyvind Harboe + +commit 0929f79c1baa5b65808ab034591510906623e841 +Author: Matthew Allum +Date: Thu Jun 30 13:39:00 2005 +0000 + + Another Xephyr focus/modifier fix + +commit b6c7afe0b9faed7025c70334d464fd75ce5c84c4 +Author: Lars Knoll +Date: Wed Jun 29 15:19:14 2005 +0000 + + compile + +commit d8a98454e305973dd7fec76db2ef80705cf7c298 +Author: Lars Knoll +Date: Wed Jun 29 11:57:16 2005 +0000 + + Add support for gradients and solid fills to Render. + Changed the semantics of the Convolution filter a bit. It now doesn't try + to normalize the filter values but leaves this to the client. This + gives more reasonable behaviour in the limit where the filter + parameters sum up to 0. + +commit ce0e11aeac76119b96b463605bc1f5318e3d2bde +Author: Adam Jackson +Date: Tue Jun 28 21:05:31 2005 +0000 + + Bug #2447: Fix argument order to xf86DrvMsgVerb. (Luc Verhaegen) + +commit 5ef5aec9bb5ee85295c0913afca891572d1315a4 +Author: Alan Coopersmith +Date: Tue Jun 28 02:04:54 2005 +0000 + + Update to latest snapshot (27-May-2005) from http://pciids.sf.net/ + +commit b262a18aad36b2de729f6d00d144ac7277687f19 +Author: Adam Jackson +Date: Sun Jun 26 02:48:36 2005 +0000 + + Cosmetic correctness fixes: miEmptyBox and miEmptyData are variables, and + miGlyphExtents is a function. + +commit aa7fb99bc76e62036c73ff50f58337558859b814 +Author: Adam Jackson +Date: Sat Jun 25 21:28:48 2005 +0000 + + Bug #3030: Fix Xnest keyboard state handling. (Mark McLoughlin) + +commit 8562f800b879ae461317da9640961f753e107250 +Author: Adam Jackson +Date: Sat Jun 25 21:16:54 2005 +0000 + + Bug #3626: _X_EXPORT tags for video and input drivers. + +commit 582a9f0d2ec01f1a3c5625e2f45a4599be7a11d5 +Author: Zack Rusin +Date: Sat Jun 25 12:39:58 2005 +0000 + + Correctly handle empty rects on region initialization. + +commit 56201222067e793a3542bcdcd39bb257b4fad2a6 +Author: Matthew Allum +Date: Thu Jun 23 16:50:07 2005 +0000 + + Fix issues with focus in and modifiers from host confusing Xephr + +commit a668b6c11a2d6b4800407ad918481d90be87a732 +Author: Matthew Allum +Date: Thu Jun 23 16:34:07 2005 +0000 + + redo tslib + +commit 5e863851a61207ade1ac807bc8cff7d9cf02dbbe +Author: Adam Jackson +Date: Sun Jun 19 01:30:29 2005 +0000 + + Build workaround. Add glcontextmodes.[ch] from Mesa. + +commit 9743adbe94f29417818b90e18aebb96a72f332f0 +Author: Søren Sandmann Pedersen +Date: Thu Jun 16 20:50:12 2005 +0000 + + Add Type1 subdirectory to lib/Xfonts, update build system accordingly. + +commit 68e856ff5b1842ba10421714b5f6b21d528f6071 +Author: Ian Romanick +Date: Wed Jun 15 18:31:52 2005 +0000 + + DRM 20050615 import + +commit 6e301a8e97e99d58eaed25453f66c6d73bafd460 +Author: Ian Romanick +Date: Wed Jun 15 18:31:52 2005 +0000 + + Initial revision + +commit f0c76610b72a5b54bae5a5eb51ff4c420a27320e +Author: Daniel Stone +Date: Wed Jun 15 16:46:59 2005 +0000 + + Conditionalise another use of XEvIE. + +commit 28ee3dd955302a1e99ffdc66cf0f512c6234d043 +Author: Daniel Stone +Date: Wed Jun 15 16:27:16 2005 +0000 + + Conditionalise building of XEvIE code with #ifdef XEVIE. + +commit c6166ee74137084775c7550b708c5f71f16e7d3f +Author: Lars Knoll +Date: Wed Jun 15 14:51:12 2005 +0000 + + Fix projective transformations in fbcompose.c Bugfix for convolution + filters + +commit bd54b96034e640f202821eac0a2c40e66c1ddfd0 +Author: David Reveman +Date: Wed Jun 15 05:50:15 2005 +0000 + + Shut up compiler + +commit 7fa782dfd548498474830c7268032ffc5fb406a5 +Author: Søren Sandmann Pedersen +Date: Mon Jun 13 21:51:46 2005 +0000 + + Add xkbfile to symlink.sh, conditionally include "config.h" in + xc/lib/xkbfile + +commit 0802a2824c06d294ea42f0f6256644da5c0038c2 +Author: Eric Anholt +Date: Mon Jun 13 18:14:53 2005 +0000 + + Correct the CHIPSET lines for the 3dfx cards so the tdfx driver will + recognize them. I'm not sure if this file is supposed to be maintained + still, but I'd like to close FreeBSD ports/32121 which has been around + for far too long. + +commit 2eab094816726542c4de6c9db5efa102ab1e1593 +Author: David Reveman +Date: Mon Jun 13 16:38:06 2005 +0000 + + Build fixes + +commit 49476ca73c86a599a1bc49cba1117d42f59996a8 +Author: Lars Knoll +Date: Mon Jun 13 14:40:25 2005 +0000 + + add the convolution filter from xserver to xorg + +commit f0ab6d57df66da5de1a8182f8250cc2c8e1450ad +Author: David Reveman +Date: Mon Jun 13 06:00:35 2005 +0000 + + Remove xgloffscreen.c + +commit f5aeaa7710de5ba4aad125bc8472bad1f17e23c6 +Author: Adam Jackson +Date: Mon Jun 13 00:09:23 2005 +0000 + + Bug #3513: Silence unhandled event messages from Xnest when running with + -parent. (Mark McLoughlin) + +commit 521916d0074901db58ab6b9edab52373da28bdb3 +Author: David Reveman +Date: Fri Jun 10 12:30:39 2005 +0000 + + New implementation of GLX_MESA_render_texture + +commit bdb3eb86f02e233b6aeef0995ea9afeaa7b035ac +Author: Kean Johnson +Date: Fri Jun 10 06:54:07 2005 +0000 + + file usl_xqueue.c was initially added on branch sco_port_update. + +commit 988ffddfe082fb27fadf9aa60ab22dce6855508c +Author: Adam Jackson +Date: Fri Jun 10 04:01:14 2005 +0000 + + Bug #2799: Input shape. (Keith Packard) + +commit d24ed90547122832d4168ad761f68e107bb1a2db +Author: Eric Anholt +Date: Fri Jun 10 02:14:44 2005 +0000 + + Axe a few dead fields from the port priv struct and add my name to the + "Copyright" line of the license to ati_video.c that already has my name + in the text. + +commit 75065f3a54ec760bbe81160fa233810f14d8aaa2 +Author: Eric Anholt +Date: Thu Jun 9 23:22:55 2005 +0000 + + Perform a warnings sweep on hw/kdrive. A number of these were my fault, but + some come from others. + +commit e11e60b361d63ae02918dd6b43038a5c92b73a49 +Author: Eric Anholt +Date: Thu Jun 9 21:59:26 2005 +0000 + + Greatly improve the correctness and performance of the MGA render + implementation. Includes cache flushing to prevent bad first reads of + the framebuffer, fixing blending of many formats, falling back on many + unsupported operations, and falling back early to prevent migration. + Passes all of rendercheck except some of the blend (!) tests. + +commit 9f81ce945680515e6db7da6c87458bee7c0f053d +Author: Ian Romanick +Date: Thu Jun 9 21:48:45 2005 +0000 + + Re-enable GL_HP_occlusion_test. The problems in Mesa that caused this bug + were fixed by Brian Paul in Mesa version 6.1. The current Mesa version + in the X.org tree is 6.2.1. + Xorg bug: 762 + +commit 92b3775ae8bdd4a84d7e101b36b306fbd3ac17a2 +Author: Matthew Allum +Date: Thu Jun 9 16:22:27 2005 +0000 + + TSLib fixes. Add fullscreen support to ephyr + +commit 545c082cf9c86f2a809ea6b4dca33643afb0c3d3 +Author: Eric Anholt +Date: Thu Jun 9 10:44:45 2005 +0000 + + - Replace the syncAccel hook in the kdrive structure with a pair of hooks + in the kaa structure: markSync and waitMarker. The first, if set, + returns a hardware-dependent marker number which can then be waited for + with waitMarker. If markSync is absent (which is the case on all + drivers currently), waitMarker must wait for idle on any given marker + number. The intention is to allow for more parallelism when we get + downloading from framebuffer, or more fine-grained idling. + - Replace the KdMarkSync/KdCheckSync functions with kaaMarkSync and + kaaWaitSync. These will need to be refined when KAA starts being smart + about using them. Merge kpict.c into kasync.c since kasyn.c has all the + rest of these fallback funcs. + - Restructure all drivers to initialize a KaaInfo structure by hand rather + than statically in dubious order. + - Whack the i810 driver into shape in hopes that it'll work after this + change (it certainly wouldn't have before this). Doesn't support my + i845 though. + - Make a new KXV helper to avoid duplicated code to fill the region with + the necessary color key. Use it in i810 and mach64 (tested). + +commit 72ca8e1b5432db57401e66af8a07fcd8cbbbb9f1 +Author: Alan Coopersmith +Date: Thu Jun 9 03:11:58 2005 +0000 + + Add agpgart support for Solaris x86/x64. [Requires Solaris "Nevada" build + 16 or later to get kernel side for now.] (Sophia Li - Sun Microsystems) + +commit ca37d5755259ca03c61cf0567be3dea99d0c79f6 +Author: Adam Jackson +Date: Thu Jun 9 03:01:57 2005 +0000 + + Bug #2469: More accurate damage reports. (Jonathan Lennox) + +commit cdc15e2294a9bffc570e33bc31170081abfc55fb +Author: Adam Jackson +Date: Thu Jun 9 02:29:42 2005 +0000 + + Bug #1846: Add intentionally undocumented -disablexineramaextension flag to + the server to work around ignorant clients on large display walls. + (Kevin E. Martin) + +commit e3cdec7cdcd76f6294ba1f296e4bcdee43b1eb3c +Author: Adam Jackson +Date: Thu Jun 9 02:19:10 2005 +0000 + + Bug #1880: Remove unused xnestConfineWindow. (Mark McLoughlin) + +commit 0f7136191b54e587b66958985e14d8b0687c5ee1 +Author: Adam Jackson +Date: Thu Jun 9 02:03:50 2005 +0000 + + Bug #3434: Don't define fbAddTraps twice. (Mike A. Harris) + +commit e7fec996eb43a0bea94a37d329e3902299e6e895 +Author: Alexander Gottwald +Date: Wed Jun 8 16:13:11 2005 +0000 + + Merge from CYGWIN Added layout "French (Canada)" as ca_enhanced Added Czech + (QWERTY) layout + Merge from CYGWIN Print error code if winStoreColorsShadowDDNL fails + +commit d0d164e6daf6c1d8afe8099fb6187d8a74ff652b +Author: Alexander Gottwald +Date: Wed Jun 8 09:01:41 2005 +0000 + + Fix crash reported by Øyvind Harboe + +commit d146c41882e50dd1ed6022f8a5866514067ba9d2 +Author: David Reveman +Date: Tue Jun 7 08:53:40 2005 +0000 + + GLX improvements and remove use of pbuffers for offscreen rendering in Xgl + +commit 8237b31f60245a8e67735d6c231dfb7dd0bbc388 +Author: Jon Smirl +Date: Mon Jun 6 04:06:38 2005 +0000 + + Keyboard sort of works now with evdev + +commit c5026577cbc70c7365a9c81b2775136b45c850d2 +Author: Jon Smirl +Date: Sun Jun 5 17:32:41 2005 +0000 + + Create a default colormap + +commit 021a5cd170051aae25cf61651d07b47a4df31ab4 +Author: Jon Smirl +Date: Sun Jun 5 01:58:41 2005 +0000 + + Enable egl server in automake + --enable-xeglserver + +commit aa959672863aad71c807d6c09938bb296c347bcf +Author: Jon Smirl +Date: Sat Jun 4 23:33:03 2005 +0000 + + Initial Xegl check-in. Works on EGL fbdev driver Input is totally broken. + +commit 88d49bed008264092245c4f6c53174f93f6ab387 +Author: Alan Coopersmith +Date: Fri Jun 3 21:49:11 2005 +0000 + + Need to set initial screen size at device open time too. + +commit 0d206e177f46eedfffd8f88e985efdfaf117021c +Author: Alexander Gottwald +Date: Fri Jun 3 08:12:22 2005 +0000 + + Backout last winRaiseWindow patch which caused stacking problems + +commit 2fc290f646eb48f3c20ccff98355c2d082569160 +Author: Alan Coopersmith +Date: Wed Jun 1 17:45:17 2005 +0000 + + Solaris VUID mouse protocol updates: + - support for mouse-like devices that report absolute coordinates + - support for mouse-like devices that need to know screen size so they can + scale absolute coordinates to screen size + - fix 3-button emulation + +commit 8537146e3662cdc66ef4692bfd3886a676096fb8 +Author: Adam Jackson +Date: Mon May 30 18:44:55 2005 +0000 + + Bug #3368: Cosmetic cleanup to DIX export list. + +commit 547c47aaea9f31f7c873376b0db859c1c1d3d918 +Author: Adam Jackson +Date: Mon May 30 18:36:19 2005 +0000 + + Bug #3407: Clean out ancient #ifdef X11R5 conditionals. + +commit cebd7348d271591b7ebeebe3b332f835cfa8a068 +Author: Alan Coopersmith +Date: Sat May 28 00:08:03 2005 +0000 + + Change hardcoded /usr/X11R6 to PROJECTROOT. Change hardcoded XF86Config to + XCONFIGFILE. + +commit 1cb18a4bad565d1f783a4cefb3ed467699051068 +Author: Alexander Gottwald +Date: Wed May 25 12:14:29 2005 +0000 + + Workaround bug in pthread.h + +commit 62343f5162066f19ca6e62d1c85a4a40d45b3295 +Author: Alan Coopersmith +Date: Sun May 22 01:12:49 2005 +0000 + + Bugzilla #2800 Xevie + extension crash with signal 11 on keyboard Bugzilla #1205 + Xevie client + receives two KeyPress events on consumed keys when XKB is enabled + Patch #2223 Fixes for + both of these and some other Xevie bugs (Derek Wang - Sun Microsystems) + +commit a8a61bbe22361b12d4a2dd511894987a338e3eef +Author: Alan Coopersmith +Date: Sat May 21 07:46:38 2005 +0000 + + Initial experimental support for AMD64 builds on Solaris 10 x86. Improved + support for 64-bit SPARC builds on Solaris as well. + +commit ef4401ff8a8c4d7c22ef6af7bf47ccb24f83967f +Author: Adam Jackson +Date: Thu May 19 18:53:51 2005 +0000 + + Bug #3334: Clean up remnants from the PEX, XIE, and BEZIER extensions. + +commit 1e51e18382de61a67027759eccee9ccbb0924304 +Author: Søren Sandmann Pedersen +Date: Thu May 19 01:25:02 2005 +0000 + + Wed May 18 21:20:35 2005 Søren Sandmann + s/dst/src that I missed in the previous patch. Pointed out by Owen Taylor. + +commit be3875994d7778ffad0cd957a4bd1500bf58ac2c +Author: Søren Sandmann Pedersen +Date: Wed May 18 20:49:31 2005 +0000 + + Wed May 18 16:47:44 2005 Søren Sandmann + Actually assign the computed results. (Reported by Michael Dänzer, patch + by Owen Taylor). + +commit 07d1e9ae5f0da65427ac52f065b173d340d70d6d +Author: Adam Jackson +Date: Wed May 18 19:44:35 2005 +0000 + + Bug #3066: Promote frameBufferPhysicalAddress to pointer from CARD32; bump + DRIINFO version to match. Fix various pointer printfs in libdri to be + 64-bit aware. Silence a warning about redefining noXFree86DRIExtension. + (Jesse Barnes) + +commit b87a32fb0eafa6d5f12a6faa634662c71fdc97fa +Author: Adam Jackson +Date: Wed May 18 17:47:35 2005 +0000 + + Bug #3163: Create new DRIINFO_*_VERSION macros to indicate the version + number of the DRIInfoRec, disambiguating it from the XF86DRI protocol + version number. Modify DRIQueryVersion to return the libdri version + number, which all DDXes were requesting implicitly. Fix the DDXes to + check for the DRIINFO version they were compiled against. + +commit fddcde777f50611099d8888456d93be7e566c84e +Author: Egbert Eich +Date: Wed May 18 15:38:50 2005 +0000 + + VBESetVBEMode() calls int10 0x4f02 to set a VBE video mode. This can be a + standard mode solely determined by the mode ID or it may be a detailed + mode with almost arbitrary mode parameters. The mode parameters are + passed to the BIOS in a memory area pointed to by es:di. If bit 11 in + the video mode is set this memory area is evaluated. When we don't have + such an area (passed to VBESetVBEMode() this function should unset this + bit for sanity reasons. (Bugzilla #3329) + +commit f28d644d9fb1feeab1bbb3d5e68255bfa20905d8 +Author: Zack Rusin +Date: Wed May 18 14:24:14 2005 +0000 + + rewrite the rootless compositing code (1) compiles which is already a huge + improvement ;) , 2) matches the new render composition semantics) + +commit bbbb0a3a84bf21f5120c73ef387d6190154c0f65 +Author: Egbert Eich +Date: Wed May 18 10:31:53 2005 +0000 + + Avoid segfaults if the number of user supplied monitor ranges exceed the + number of preallocated slots. We should really make this dynamic - but + I don't think this ever caused a problem so it's more or less academic. + A. Avoid that *SyncStart starts before *BlankStart. If *BlankStart > + *SyncStart it is made = *SyncStart and its width is made maximal but such + that the blank does not exceed *Total. Since the Sync width has the + same restrictions as the Blank width monitors should still be able to + clamp after the sync pulse. B. Over time mode validation has become + inconsistent when people started to add additional features to the mode + validation. One such feature is that the mode->Crtc* values have been + (ab)used to allow the driver ValidMode() function to pass driver + normalized timing values back to the validation function. The + introduction of these features made the code less readable and created + numerous possibly unintended side effects in the validation semantics. + I've attempted to consolidate these changes making the code more + consistent and eliminating a number of side effects. This should not + cause problems for the majority of drivers, still it should receive + testing - especially with ATi Mach64 and Radeon code. (Bugzilla #3325). + +commit a90af4a2e6e38cbe20af13aaa7822836c01290ae +Author: Thomas Hellstrom +Date: Sun May 15 17:45:47 2005 +0000 + + Bug 2750: Prevent mtrr_remove_offending from ending up in an endless loop + if the offending region refuses to be removed. + +commit f58a54668b96884ece6ecbff732e880677d5d19e +Author: Alan Coopersmith +Date: Sat May 14 20:13:45 2005 +0000 + + Change return statements to fix compiler errors: "fbcompose.c", line 2815: + void function cannot return value "fbcompose.c", line 2861: void + function cannot return value + +commit a9d820b454bbb418d04e1d3c3d5d4dd10d7bb3af +Author: Søren Sandmann Pedersen +Date: Fri May 13 22:53:44 2005 +0000 + + - For now put xtrans in X11/Xtrans/X11, since libX11 is looking for it in + + - For Xcomposite and Xdamage, don't link the build system out of the xc + tree + - Link the public X11 headers into their own directory + - Add links to XKeysymDB and XErrorDB + - Add links to all the Xlib man pages + - Add links to the lcUniConv subdirectory + - Conditionally include config.h in Xlib source + +commit 8993e70d8da89e130455369ccb504b3adea5344f +Author: Eric Anholt +Date: Tue May 10 00:12:17 2005 +0000 + + Bugzilla #2561: Disable some keycode translations on PC98, which had + various bad effects including modifier keys not working. + +commit e78abf3bdfbf5fc13fbc5b1d3ec00e9484297b89 +Author: Eric Anholt +Date: Mon May 9 23:42:26 2005 +0000 + + Bugzilla #2429: Correct the sysarch prototype for FreeBSD/alpha. + +commit 3f1a1551df2a9f45b3b8821f3f168d4dc8b8b438 +Author: Eric Anholt +Date: Mon May 9 23:26:02 2005 +0000 + + Increase the maximum number of buttons from 12 to 24. Helps with + button-happy mice like the Logitech MediaPlay. (Bugzilla #2390) + +commit eca5dff173d5af0a31bbf84579909b88a86e4c92 +Author: Adam Jackson +Date: Mon May 9 12:46:53 2005 +0000 + + Render performance improvements. (Lars Knoll, Zack Rusin) + +commit 2de24db63eb65974ac547facf2a99aa4709d54b3 +Author: Adam Jackson +Date: Sun May 8 23:34:15 2005 +0000 + + Render performance improvements. (Lars Knoll, Zack Rusin) + +commit 2c9b1e337b2e82e10909f62e8cd8c2c7a402fdd8 +Author: Alexander Gottwald +Date: Sun May 8 21:14:55 2005 +0000 + + Only call ConfigureWindow from winRaiseWindow if the windows message + dispatch loop is running. + +commit 78e4cb67d0f595f4fba5e98a9fa46de044556905 +Author: Torrey Lyons +Date: Fri May 6 00:45:30 2005 +0000 + + Fix build issues on Mac OS X 10.4.0. + +commit d5739efd2c266081ed6b844767dcdd0a3331bfd3 +Author: Eric Anholt +Date: Wed May 4 04:14:58 2005 +0000 + + Port X.Org to FreeBSD/powerpc. This makes a bit of math for sysmouse in + mouse.c explicitly signed, avoiding the need for -fsigned-chars. (Peter + Grehan, grehan at FreeBSD dot org) + +commit 6700847458427cbdbaf837ab06bfea9b80d92df2 +Author: Harold L Hunt II +Date: Mon May 2 22:01:08 2005 +0000 + + Fix comments for pointers in parameter lists to work with fussy compilers + +commit e50ab8feade400efd8e88ee0b2deeb924f169034 +Author: Harold L Hunt II +Date: Mon May 2 21:57:32 2005 +0000 + + Fix message type (respose->response) and fix */*comment*/ blocks to work + with fussy compilers. + +commit baa0cfc15442287557e44fa2614d89ab0b5c2539 +Author: Alexander Gottwald +Date: Mon May 2 14:07:31 2005 +0000 + + Print correct logfile in FatalError message + +commit bc977945a53206d70ef9817d6ede4137eb5f7e3c +Author: David Reveman +Date: Mon May 2 00:33:52 2005 +0000 + + Set stencil size for Xgl GLX visuals + +commit 5b4462ed9bbb17212dd57617cb7e837142b6270a +Author: David Reveman +Date: Sun May 1 22:55:25 2005 +0000 + + New algorithm for calculating glyph extents in Xgl + +commit e4b33f4e91a5379c99ecf78ffb6a3e836cb42491 +Author: Egbert Eich +Date: Wed Apr 27 15:42:15 2005 +0000 + + Catch SIGCHLD in OsBlockSignals() too to make sure this signal doesn't + intercept reading the authority file (Fabian Franz, Bugzilla #3137). + +commit 246b14cb29250517912d9c661ab037a953f4bbf4 +Author: David Reveman +Date: Wed Apr 27 10:34:33 2005 +0000 + + Minor optimization + +commit 28a2d841cee596c0242b1649587d6b180529c0ef +Author: David Reveman +Date: Wed Apr 27 09:29:33 2005 +0000 + + Line drawing improvements to Xgl + +commit abcc8c352e5fe6dd3b7ce5c6a25f435f877264c3 +Author: David Reveman +Date: Wed Apr 27 08:45:16 2005 +0000 + + Fix typo + +commit 8bc5a387c365d6367813eac374150440d0edbf6e +Author: David Reveman +Date: Tue Apr 26 11:04:23 2005 +0000 + + Add glCopy operation and glPushAttrib/glPopAttrib support to Xgl GLX + +commit f010131a1964b5ec35f3b333ffa7459c38f8ce45 +Author: Roland Mainz +Date: Tue Apr 26 06:12:07 2005 +0000 + + xc/programs/Xserver/Xprint/Init.c + //bugs.freedesktop.org/show_bug.cgi?id=2879) attachment #2556 + (https://bugs.freedesktop.org/attachment.cgi?id=2556) Refix for bug + 2879 - downgrade 15bit PseudoColor to 14bit - the current datatype for + the |ColormapEntries| is a |signed short| which is too small for + |32768| colors (=integer overflow). + +commit ba24ae89d33fbf3aacb8bbaf920d7436b77fda46 +Author: David Reveman +Date: Mon Apr 25 17:18:01 2005 +0000 + + Add scissor based clipping to Xgl GLX + +commit 07cc29cf69ff1e079efe3c9bfc55e8ac0f9bac93 +Author: Adam Jackson +Date: Mon Apr 25 00:25:39 2005 +0000 + + Bug #2138: When the server is built with MakeDllModules YES, prefer + dlloader modules to elfloader modules, and vice versa when + MakeDllModules is NO. Based on 028_loader_speed_hack.diff from Ubuntu + (Daniel Stone). + +commit 6c37648754c9bd901adecf8d38f9bb46db65efad +Author: Adam Jackson +Date: Mon Apr 25 00:11:21 2005 +0000 + + Bug #2141: Rework misleading warning message when APM support is + unavailable. (Previous patch on 2005-04-14 changed the wrong message.) + +commit a369d390a87ab0189c465be6cfd914e4b9329691 +Author: Roland Mainz +Date: Sun Apr 24 01:10:12 2005 +0000 + + xc/config/cf/X11.tmpl + xc/programs/Xserver/Xext/Imakefile + xc/programs/Xserver/dix/Imakefile + xc/programs/Xserver/dix/main.c + xc/programs/Xserver/dix/xpstubs.c + xc/programs/Xserver/mi/miinitext.c + //bugs.freedesktop.org/show_bug.cgi?id=2792) attachment #2526 + (https://bugs.freedesktop.org/attachment.cgi?id=2526) bug 2792 part II: + Make Xprint headers in dix/, mi/, os/ and Xext/ conditional on whether + the Xprint extension is build or not. Patch by Egbert Eich + and Roland Mainz . + +commit 13fcfee37305f46e95ff81d7d5eec4d88a63a63b +Author: Roland Mainz +Date: Sat Apr 23 22:55:40 2005 +0000 + + //bugs.freedesktop.org/show_bug.cgi?id=3118) attachment #2525 + (https://bugs.freedesktop.org/attachment.cgi?id=2525) Get Xprint server + working again which was broken by the + 05/04/20 05:49:46 commit commit (the CPP symbol |XPRINT| is not universally + available when building the Xserver and should be used with care). + +commit 39eb2797183bf871a2dd01bff63dd35c146471f5 +Author: Adam Jackson +Date: Sat Apr 23 19:16:10 2005 +0000 + + Bug #3016: Don't complain as loudly about failing to load a module that's + already loaded. + +commit 139f900c56a6f44df2b411fe4bbc025a147e3abe +Author: Adam Jackson +Date: Sat Apr 23 19:01:13 2005 +0000 + + Bug #3109: Handle R_ALPHA_BRSGP relocations in elfloader. (Sergey Tikhonov) + +commit 0e80fe0e607cc73856332563becd70ef92d1aa75 +Author: Alan Coopersmith +Date: Fri Apr 22 22:11:26 2005 +0000 + + Clean up formatting, projectroot substutition, and grammatical nits. + +commit dcfb97204b021738c0ee9f1f8f40243dfa0b2ce0 +Author: Alan Coopersmith +Date: Fri Apr 22 22:04:37 2005 +0000 + + Work around clash between Solaris headers and module loader headers over + definition of FILE. + +commit 07bd7df6a6a07834277b4bf505db6727841e1153 +Author: Adam Jackson +Date: Fri Apr 22 20:49:50 2005 +0000 + + Bug #3069: Drop the BuildLowMem hack, it doesn't compile and isn't useful. + +commit d450a70e00b50427ecb2065d3cc44f43d102cade +Author: Adam Jackson +Date: Fri Apr 22 17:45:14 2005 +0000 + + Bug #2373: SGI Altix platform support. (Shrijeet Mukherjee, Jesse Barnes, + Bjorn Helgaas, Egbert Eich.) + +commit 16c2499b8f5c2405e36c7d5a922bb0b150df1762 +Author: Adam Jackson +Date: Fri Apr 22 16:49:22 2005 +0000 + + Bug #2373: SGI Altix platform support. (Shrijeet Mukherjee, Jesse Barnes, + Bjorn Helgaas, Egbert Eich.) + +commit 8565b6c0e2851cc3f194ba72d3db02a4e2976528 +Author: Daniel Stone +Date: Thu Apr 21 00:31:31 2005 +0000 + + Change xf86bigfont.h include to X11/extensions/xf86bigfont.h. + +commit b241c703a2c4164420dd26ee11f583bbf9cfe0f3 +Author: Daniel Stone +Date: Thu Apr 21 00:31:13 2005 +0000 + + Change keymap.h includes to X11/keymap.h + +commit 44528218d5ca75b842e4cefd8fdc58be2f35f0f4 +Author: Daniel Stone +Date: Wed Apr 20 23:33:53 2005 +0000 + + Change dmxext.h and dmxproto.h to . + +commit efa9d5f4757bfc0588cee361bcc78dd8a09efa62 +Author: Daniel Stone +Date: Wed Apr 20 23:11:12 2005 +0000 + + Change "eviestr.h" to . + +commit db5bd04097fd815ab6523f187679682a5e5047fa +Author: Alexander Gottwald +Date: Wed Apr 20 16:40:52 2005 +0000 + + Fix includes right throughout the Xserver tree: + apply changes to windows specific includes + Fix includes right throughout the Xserver tree: + apply changes to Xdmcp.h + +commit 8963a220f36cf0ae2a8a653fd39c983140e29736 +Author: Alexander Gottwald +Date: Wed Apr 20 16:34:46 2005 +0000 + + warning fix for Win32 + +commit e6a0820d1b479058bddef66018d321940e79260c +Author: Daniel Stone +Date: Wed Apr 20 15:16:36 2005 +0000 + + Change "xf86bigfstr.h" to for includes. + +commit 025724f9f5874159c20ebd705288ec60b960caac +Author: Alexander Gottwald +Date: Wed Apr 20 14:17:35 2005 +0000 + + Add missing space after -query hostname + +commit 35cd1684622f4528c68e07eea798c33bc4b93667 +Author: Daniel Stone +Date: Wed Apr 20 14:16:37 2005 +0000 + + Change xf86bigfstr.h to X11/extensions/xf86bigfstr.h for includes. + +commit c7c27e61870b42de044b183c854a960582d98dbf +Author: Daniel Stone +Date: Wed Apr 20 13:33:54 2005 +0000 + + Change xf86bigfont.h to X11/extensions/xf86bigfont.h for includes. + +commit abd246c6c272a2c6f9c37404b2ed439911880e75 +Author: Daniel Stone +Date: Wed Apr 20 13:01:55 2005 +0000 + + Add glyphstr.h to includes. + +commit 956dfa22f6076969776546fb1151e900d8d773a1 +Author: Daniel Stone +Date: Wed Apr 20 12:49:46 2005 +0000 + + Conditionalise usage of Xprint functions and headers. + +commit 2cdfab0ed7eb33a6a50f9b7ec212b498dd8318b5 +Author: Daniel Stone +Date: Wed Apr 20 12:42:02 2005 +0000 + + Change keysymdef.h to X11/keysymdef.h for include statement. + +commit fa5539247d3b246db9ff1469d08167178c85d7ad +Author: Daniel Stone +Date: Wed Apr 20 12:39:28 2005 +0000 + + Change Xalloca.h to X11/Xalloca.h for include. + +commit 292c4cff26687e6ef86c285b97813ab587daf009 +Author: Daniel Stone +Date: Wed Apr 20 12:25:48 2005 +0000 + + Fix includes right throughout the Xserver tree: + change "foo.h" to for core headers, e.g. X.h, Xpoll.h; + change "foo.h", "extensions/foo.h" and "X11/foo.h" to + for extension headers, e.g. Xv.h; + change "foo.[ch]" to for Xtrans files. + +commit c062d7f96f47bdd31640be1fbce682d0774db3d9 +Author: Alexander Gottwald +Date: Tue Apr 19 18:21:01 2005 +0000 + + Prevent recursive calls to winRaiseWindow. + +commit 4e914c5ed7679a1102f3e25af0c087380f834865 +Author: David Reveman +Date: Tue Apr 19 14:51:29 2005 +0000 + + Hash texture objects and display lists in Xgl + +commit 6bde764de102a56d2c71b971eaa36535e9760b52 +Author: Bogdan Diaconescu +Date: Sun Apr 17 23:02:25 2005 +0000 + + Added a log pring for the parameters + +commit 8594b8f2893e58ae824e140334c18ba3d7467217 +Author: Bogdan Diaconescu +Date: Sun Apr 17 23:00:58 2005 +0000 + + Added new tuner FM1236MK3 PAL version + +commit 7f74e3aebdf79fbca4141e6ffcdad39812df9335 +Author: Bogdan Diaconescu +Date: Sun Apr 17 22:58:03 2005 +0000 + + This is the UDA1380 sound coder-decoder module + +commit 7a4e5f4006319e025e3ff561eccc3f1ad6c661a0 +Author: Torrey Lyons +Date: Sat Apr 16 00:21:21 2005 +0000 + + Fix cases in Darwin build where a variable is declared static and later as + extern (XFree86 Bug #1576, Jordan Frank). + +commit 4f686f158b00478a3d074128f9e4cb6dc0d928cd +Author: Roland Mainz +Date: Fri Apr 15 23:34:39 2005 +0000 + + //bugs.freedesktop.org/show_bug.cgi?id=2885) attachment #2434 + (https://bugs.freedesktop.org/attachment.cgi?id=2434) Fix Solaris build + bustage caused by namespace collision between symbols defined in + and those in "xf86_OSlib.h". Patch by Alan Coopersmith + . + +commit 7472fcfdd40e29cd2847e45d4bd2dd11ccc41ff5 +Author: Adam Jackson +Date: Fri Apr 15 00:18:58 2005 +0000 + + Bug #2141: Rework misleading warning message when APM support is + unavailable. + +commit 504067819a4f1a8564dcacc278933f533618b666 +Author: Adam Jackson +Date: Thu Apr 14 17:51:51 2005 +0000 + + Bug #3025: gcc4 build fix. + +commit e40db7f26af39a8b1f3675a2c87ce90c4fd59d85 +Author: David Reveman +Date: Wed Apr 13 14:27:47 2005 +0000 + + Add GLX code to Xgl + +commit ddfa6f00da7c80b246b57c592361baa4bc5a8e9d +Author: Roland Mainz +Date: Wed Apr 13 00:05:37 2005 +0000 + + //bugs.freedesktop.org/show_bug.cgi?id=3001) attachment #2404 + (https://bugs.freedesktop.org/attachment.cgi?id=2404) Improve rendering + performance when glXSwapBuffers()| or |XPutImage()| are called for the + PostScript DDX via optimizing the codepath around + |PsOut_OutImageBytes()|. Patch by Simon Toedt + and Roland Mainz . + +commit f45208a7e9c39345ac431c2e7da8777d6c466dcc +Author: Alan Hourihane +Date: Mon Apr 11 11:06:21 2005 +0000 + + update static file from pci.ids + +commit b47f39b417cbe220690155a08c6bc18cd7cfa388 +Author: Alan Hourihane +Date: Mon Apr 11 10:57:33 2005 +0000 + + import latest pci.ids file + +commit 00a551393ce7aa9d2b23634737ced5071e3cdd35 +Author: Egbert Eich +Date: Mon Apr 11 10:54:13 2005 +0000 + + Reenable BackingStore in Xvfb. + +commit 1fbd38f3b46df62561f8be74cbc05fcf8ad88a21 +Author: Alexander Gottwald +Date: Mon Apr 11 10:16:25 2005 +0000 + + Added wizard page for clipboard selection and additional server parameters + +commit 6848b0353897a6a5d1218b266c22fb87a7c6d730 +Author: Egbert Eich +Date: Mon Apr 11 10:05:38 2005 +0000 + + Correct the mask bits when checking for a 64bit memory base in PCI config + space (bugzilla #2963). + +commit adac7011965ed75ea399b93dae917cb48180c77a +Author: Egbert Eich +Date: Mon Apr 11 09:33:43 2005 +0000 + + Preventing hight for drawing from becoming negative when face->dy < 0. The + height value is used in miFillPolyHelper() to calculate the size of + memory to be allocated. A negative value will lead to a crash (Bugzilla + #2690, Keith Packard, Egbert Eich). + +commit 5e2080ef93a598c6d68e1b2f446f251ab025b702 +Author: Roland Mainz +Date: Mon Apr 11 01:06:15 2005 +0000 + + xc/programs/Xserver/Xprint/attributes.c + xc/programs/glxgears/glxgears.c + xc/programs/xdbedizzy/xdbedizzy.c + xc/programs/xedit/Imakefile + xc/programs/xedit/Xedit-xprint.ad + xc/programs/xedit/util.c + xc/programs/xedit/xedit.h + xc/programs/xlogo/print.c + xc/programs/xlogo/xlogo.c + xc/programs/xlogo/xlogo.h + xc/programs/xman/Imakefile + xc/programs/xman/print.h + xc/programs/xmore/Imakefile + xc/programs/xmore/print.c + xc/programs/xmore/print.h + xc/programs/xmore/printdialog.c + xc/programs/xphelloworld/xpawhelloworld/xpawhelloworld.c + xc/programs/xphelloworld/xphelloworld/xphelloworld.c + xc/programs/xphelloworld/xpsimplehelloworld/xpsimplehelloworld.c + xc/programs/xphelloworld/xpxmhelloworld/xpxmhelloworld.c + //bugs.freedesktop.org/show_bug.cgi?id=790) attachment #2379 + (https://bugs.freedesktop.org/attachment.cgi?id=2379) Implement support + client+Xserver support for passing output (stdout+stderr) of the + spooler command started by the Xprint server back to the application + using the "xp-spooler-command-results" XPJobAttr attribute + (applications can fetch the attribute value after the XPEndJobNotify + event was received; more details can be found in + http://xprint.mozdev.org/docs/dtprint_fspec.ps). + +commit 9af443f5976ab3987e4ee9d397391e82206676b4 +Author: Alexander Gottwald +Date: Sat Apr 9 19:20:03 2005 +0000 + + Fix passing of non-RGB visuals. The old code did not initialize the + structure properly which lead to a crash in 8bpp mode + +commit f02440dfa3439ab493c7918b472c23bb22e29707 +Author: Alexander Gottwald +Date: Wed Apr 6 15:18:59 2005 +0000 + + First import of xlaunch frontend for Xming + +commit de5d24a200e4426e458fc447884d1a5b0257faaa +Author: Egbert Eich +Date: Mon Apr 4 10:17:06 2005 +0000 + + Fixed sentinels in Xt, editres and xedit to reduce number of warnings with + gcc4 (Andreas Schwab). + +commit 277ff06e9999f2efe0f082a3565f6279219c13e4 +Author: Egbert Eich +Date: Mon Apr 4 10:11:51 2005 +0000 + + Fix typo leading to bogus code in xorgcfg (Andreas Schwab). + +commit 7eb6b69ebd945c753ee0988e1a85dffde982446e +Author: Egbert Eich +Date: Mon Apr 4 09:55:25 2005 +0000 + + Support for HP's IPF ZX1 systems (Alex Williamson). + +commit 231c00e8fba91b580ec3e2703dd1ceacf13a6624 +Author: Egbert Eich +Date: Mon Apr 4 09:47:07 2005 +0000 + + When not using dlopen ia64 needs an extra cache flush to ensure the icache + is coherent when modules are loaded (Alex Williamson). + +commit 55dc930a180553c08d8546cc2078451c20e34934 +Author: Torrey Lyons +Date: Sat Apr 2 02:29:24 2005 +0000 + + Fix XDarwin's handling of Wacom tablet mouse buttons (Based on patch + suggested by Daphne Pfister). + +commit 03d126081e5ba57ea2304753289528a896f3baaf +Author: Roland Mainz +Date: Fri Apr 1 21:45:20 2005 +0000 + + xc/programs/Xserver/Xprint/Init.c + xc/programs/Xserver/Xprint/ps/Imakefile + xc/programs/Xserver/Xprint/ps/Ps.h + xc/programs/Xserver/Xprint/ps/PsArea.c + xc/programs/Xserver/Xprint/ps/PsColor.c + xc/programs/Xserver/Xprint/ps/PsImageUtil.c + xc/programs/Xserver/Xprint/ps/PsInit.c + //bugs.freedesktop.org/show_bug.cgi?id=2879) attachment #2287 + (https://bugs.freedesktop.org/attachment.cgi?id=2287) Follow-up to + bugzilla #1299: Add new visuals in the Postscript DDX (including + TrueColor 16bit, PseudoColor 15bit/12bpg(12 bits per R-, G-, B-channel + as in PostScript Level 2 (and above) colors can have 12 bits per + component (36 bit for RGB)), PseudoColor+GrayScale+StaticGray + 12bit/12bpg) and switch the default visual from PseudoColor 8bit/8bpg to + PseudoColor 12bit/12bpg. + +commit fe37cc7e7b3036e538930c16bbdb39a7915b1685 +Author: Matthieu Herrb +Date: Fri Apr 1 21:28:50 2005 +0000 + + programs/Xserver/hw/xfree86/loader/xf86sym.c + programs/Xserver/hw/xfree86/os-support/shared/libc_wrapper.c Fix setjump0 + declaration for DllLoader. + +commit ef60998a828951e61f1480e29c2fec62e7454bbc +Author: Kevin E Martin +Date: Fri Apr 1 20:21:38 2005 +0000 + + bugzilla #2880 (https://bugs.freedesktop.org/show_bug.cgi?id=2880) + attachment #2285 (https://bugs.freedesktop.org/attachment.cgi?id=2285) + Use system method to access PCI config space. + +commit 33ab2a2abc8c1e4ca9c7139454c60f5ad8a61a94 +Author: Adam Jackson +Date: Fri Apr 1 20:05:11 2005 +0000 + + Bug #2835: Add symbol exports to support the ReadDisplay extension. + +commit cbccac448a1466ab098e8fe5dbfff98264c7260a +Author: Alex Deucher +Date: Thu Mar 31 23:18:10 2005 +0000 + + - Add new Radeon pci ids (ATI devrel), bug 2827 + +commit 59d7222b13775efb2159159cc897e7789bdf10b2 +Author: Søren Sandmann Pedersen +Date: Sun Mar 27 00:17:12 2005 +0000 + + Sat Mar 26 19:00:30 2005 Søren Sandmann + Remove accidentally committed prototype. + +commit 476ae15640d2b97cb0ebccab8255ccf728596c62 +Author: Søren Sandmann Pedersen +Date: Sat Mar 26 23:50:24 2005 +0000 + + Sat Mar 26 18:49:21 2005 Soeren Sandmann + programs/Xserver/fb/fbmmx.h + New function. + Hook it up here + +commit 0d33b588376a4d86d50ed8b7e06eaf0dbd8c5ba5 +Author: Roland Mainz +Date: Fri Mar 25 23:11:14 2005 +0000 + + xc/programs/Xserver/Xprint/ps/Imakefile + //bugs.freedesktop.org/show_bug.cgi?id=2821) attachment #xxx + (https://bugs.freedesktop.org/attachment.cgi?id=xxx) Remove the cfb + dependicy from the PostScript DDX as this is not needed in a vector DDX + (mfb is still needed to fill the |BitmapToRegion()| callback with + |mfbPixmapToRegion()|). + +commit 5f320335c3a8148ae98f82a00ff44954197f4251 +Author: Matthieu Herrb +Date: Wed Mar 23 21:09:48 2005 +0000 + + bugzilla #2194: fix an alignement problem on 64 bit architectures. + +commit f4e9f522fe8bec3dd6294d062c2244a06623add3 +Author: Thomas Hellstrom +Date: Wed Mar 23 21:03:41 2005 +0000 + + Bugzilla #2750 (https://bugs.freedesktop.org/show_bug.cgi?id=2750) + Linux-only fixes: Fix case where a smaller write-combining region + blocks write-combining setting of the whole frame buffer. Fix bug in wc + setting code when regions are first splitted and setting of + write-combining then fails. + +commit 1be6e2388bcc5835ab62f0855d443fb508697deb +Author: Roland Mainz +Date: Wed Mar 23 20:49:52 2005 +0000 + + xc/programs/Xserver/hw/vfb/InitOutput.c + //bugs.freedesktop.org/show_bug.cgi?id=2791) attachment #2197 + (https://bugs.freedesktop.org/attachment.cgi?id=2197) Add support for + 12bit PseudoColor and 30bit TrueColor to Xvfb. + +commit 26aec10adad51deb35a8398abb884d90be077a6b +Author: Roland Mainz +Date: Wed Mar 23 19:58:45 2005 +0000 + + xc/programs/Xserver/Imakefile + xc/programs/Xserver/Xprint/DiPrint.h + xc/programs/Xserver/Xprint/Imakefile + xc/programs/Xserver/Xprint/Init.c + xc/programs/Xserver/Xprint/ddxInit.c + xc/programs/Xserver/dix/Imakefile + xc/programs/Xserver/dix/main.c + xc/programs/Xserver/dix/xpstubs.c + xc/programs/Xserver/os/Imakefile + //bugs.freedesktop.org/show_bug.cgi?id=2792) attachment #2193 + (https://bugs.freedesktop.org/attachment.cgi?id=2193) Fix build bustage + when |PrintOnlyServer| is set to |NO|. Patch by Roland Mainz + and Julien Lafon . + +commit ac18f8e308221af368fd4153b4eee7b89f8dd4bc +Author: Roland Mainz +Date: Wed Mar 23 00:32:49 2005 +0000 + + //bugs.freedesktop.org/show_bug.cgi?id=2789) attachment #2187 + (https://bugs.freedesktop.org/attachment.cgi?id=2187) Fix Xvfb to honor + the "-dpi" option (instead of using a hardcoded value of 100DPI). + +commit 45bcb8e22ad949c456368b7d4f4226110f8b5cfc +Author: Adam Jackson +Date: Tue Mar 22 21:30:43 2005 +0000 + + Bug #1821: Typo fix in xorg.conf man page (Jens Schweikhardt) + +commit cc95e597b51f06e835c6a9def1bc6681029bf41e +Author: Søren Sandmann Pedersen +Date: Tue Mar 22 17:49:14 2005 +0000 + + Tue Mar 22 12:47:16 2005 Søren Sandmann + Only validate the source if it is a viewable window. Stops the cursor + flickering when it is above an unviewable window. + +commit 1d68ede0eed62b48354a954a62fca98aa2ce9d2d +Author: Roland Mainz +Date: Sat Mar 19 20:51:34 2005 +0000 + + //bugs.freedesktop.org/show_bug.cgi?id=2771) attachment #2148 + (https://bugs.freedesktop.org/attachment.cgi?id=2148) Remove RENDER + extension from exclusion list for the standalone print server (Xprt) to + get this extension enabled if the print DDX support it. + +commit 64f1b3fe7e85245865666607d7b32ef7807df08f +Author: Michel Daenzer +Date: Fri Mar 18 22:36:47 2005 +0000 + + Add support for production version of ATI RN50/ES1000. (ATI Technologies + Inc.) + +commit 36dcc9bb1d51fb8c0d67c7e15700e3473a06e47b +Author: Torrey Lyons +Date: Thu Mar 17 01:12:07 2005 +0000 + + Fix build on stock Mac OS X: Out of the box, Mac OS X does not include + Freetype2, Expat, or PNG. Also global variables should be initalized in + the Xserver. + +commit 82f5a127522e48ff7ff78400eadbce0a5a362064 +Author: Søren Sandmann Pedersen +Date: Wed Mar 16 21:25:43 2005 +0000 + + Wed Mar 16 16:17:43 2005 Søren Sandmann + Only validate the source if it is a viewable window. Stops the cursor + flickering when it is above an unviewable window. + +commit 226c0907d4327a440fb0ac5380a19538ffdc6fa0 +Author: David Reveman +Date: Wed Mar 16 21:05:51 2005 +0000 + + Add cursor support to Xglx + +commit 7109ae147c3a9d243d11f386cfbcfbf7b4ea7918 +Author: David Reveman +Date: Wed Mar 16 20:05:19 2005 +0000 + + Fix a few problems in Xgl + +commit 04ccba4d40bef6cee902b118598272f26eebb1df +Author: Egbert Eich +Date: Wed Mar 16 12:16:06 2005 +0000 + + Don't fail calling function when DriverFunc() for RandR fails as + DriverFunc() also returns FALSE when the specific sub function isn't + supported. In the case of xf86RandRGetInfo() we simply rely on what has + been set before and return TRUE. In the case of xf86RandRSetConfig() we + only bail with FALSE if we have to do a rotation and the call fails. We + presently cannot do rotation on the fly without the help of a driver + function (Bugzilla #2745). + +commit 1011762254b41db5ce67cb652a2d4965efd7ec20 +Author: Egbert Eich +Date: Wed Mar 16 11:54:54 2005 +0000 + + Make message that gets printed when loader encounters a .o with no symbols + less conspicuous. + +commit 816606b9eabee334ce6e0b79e8aa67544f428c19 +Author: David Reveman +Date: Fri Mar 11 12:26:20 2005 +0000 + + Return early from xglFillRect when no rectangles should be filled + +commit 4de5aa428514f2cacc60d4708dad996dedee1092 +Author: David Reveman +Date: Fri Mar 11 00:58:49 2005 +0000 + + Use negative stride and PBOs in Xgl + +commit 8653db5d57199d53c9b2b993c35a7b70c8949989 +Author: Alexander Gottwald +Date: Thu Mar 10 20:05:46 2005 +0000 + + Force rebuilding of window stack if a window changes it's state from + minimized. + +commit 522628f25b4a075c8daf547991ea5b80c5efe9c7 +Author: Egbert Eich +Date: Tue Mar 8 10:26:59 2005 +0000 + + Adding more errnos to the libc wrapper (Bugzilla #2672). + +commit db7c9d349b86216ed00888181c64ab707fbe18d4 +Author: David Reveman +Date: Tue Mar 8 09:27:09 2005 +0000 + + Return early from xglCopy if fall-back is more efficient + +commit e09d1d2ae3ccd59408b1dc6f264897ae12dfa2b8 +Author: David Reveman +Date: Tue Mar 8 09:12:17 2005 +0000 + + Better ShmPutImage support in Xgl + +commit 5d9885c5b95286c8d7f777c7232283e8b1e81d1b +Author: David Reveman +Date: Tue Mar 8 09:03:38 2005 +0000 + + Minor improvement to CopyArea in Xgl + +commit 51155ca68bf7539bd3ace2ac068a2be1fbcf400c +Author: David Reveman +Date: Tue Mar 8 08:48:22 2005 +0000 + + Improve Xgl offscreen memory manager + +commit e26a096cb662700387c7b43289d1f6f7ab4a0aac +Author: David Reveman +Date: Tue Mar 8 08:30:47 2005 +0000 + + Fix Xgl glyph caching + +commit 8d0e520721ab7697d2d4f639425499b79c61b43f +Author: Roland Mainz +Date: Mon Mar 7 23:02:59 2005 +0000 + + xc/programs/Xserver/dix/atom.c + xc/programs/Xserver/dix/colormap.c + xc/programs/Xserver/dix/cursor.c + xc/programs/Xserver/dix/devices.c + xc/programs/Xserver/dix/dispatch.c + xc/programs/Xserver/dix/dixfonts.c + xc/programs/Xserver/dix/dixutils.c + xc/programs/Xserver/dix/events.c + xc/programs/Xserver/dix/extension.c + xc/programs/Xserver/dix/gc.c + xc/programs/Xserver/dix/glyphcurs.c + xc/programs/Xserver/dix/grabs.c + xc/programs/Xserver/dix/main.c + xc/programs/Xserver/dix/pixmap.c + xc/programs/Xserver/dix/privates.c + xc/programs/Xserver/dix/property.c + xc/programs/Xserver/dix/resource.c + xc/programs/Xserver/dix/swaprep.c + xc/programs/Xserver/dix/swapreq.c + //bugs.freedesktop.org/show_bug.cgi?id=2560) attachment #2037 + (https://bugs.freedesktop.org/attachment.cgi?id=2037) ANSI-fy + Xserver/dix code. The conversion preserves the comments which annotate + variables. These have been moved into doxygen(esque?) "stubs" above + each function. Patch by Mike Owens . + +commit cb0aa2b4d8875f1ea66e720ca7c6cc2f403be26a +Author: Alexander Gottwald +Date: Mon Mar 7 22:26:59 2005 +0000 + + Prevent winRaiseWindow from calling ConfigureWindow if the message was sent + from within winDestroyWindowsWindow + DestroyWindow send a WM_WINDOWPOSCHANGED to another window causing a + restacking of all windows, even of the window which is just about to + destroyed and whose structures may not be intact anymore. + +commit 978f3b496b9951ee8120a0efcc5cd12503e26770 +Author: Roland Mainz +Date: Sat Mar 5 21:38:29 2005 +0000 + + xc/programs/Xserver/Imakefile + xc/programs/Xserver/hw/xnest/Imakefile + //bugs.freedesktop.org/show_bug.cgi?id=2653) attachment #2020 + (https://bugs.freedesktop.org/attachment.cgi?id=2020): Cleanup Xnest + usage of the DPMS dummy stub functions from dpmsstubs.c instead of + using it's own copy of these functions. + +commit 602209990dbbc96b4c5a96e2221a418cf29e613d +Author: Roland Mainz +Date: Sat Mar 5 20:47:12 2005 +0000 + + //bugs.freedesktop.org/show_bug.cgi?id=2543) attachment #2019 + (https://bugs.freedesktop.org/attachment.cgi?id=2019): Fix + |xf86SignalHandler()| which resets the signal handler before setting + the flag indicating a signal has been caught, theoretically allowing + the possibility of infinite recursion. Patch by Andrew Church + . + +commit d995fe631a5706de93a05fda498333442af3d207 +Author: Roland Mainz +Date: Wed Mar 2 14:21:40 2005 +0000 + + xc/programs/Xserver/hw/xnest/Screen.c + xc/programs/Xserver/hw/xnest/Window.c + //bugs.freedesktop.org/show_bug.cgi?id=2546) attachment #2005 + (https://bugs.freedesktop.org/attachment.cgi?id=2005): Fix Xnest to + update the shape regions in the backend server whenever a client + changes them in Xnest (the fix is to add a new wrapper which calls + |xnestShapeWindow()| before calling |miSetShape()|). Patch by Mark + McLoughlin + +commit 3f79c5eefc0d62d3a9b095472cd75b446ba2a56e +Author: Roland Mainz +Date: Wed Mar 2 11:20:30 2005 +0000 + + xc/config/cf/DragonFly.cf + xc/config/cf/Imake.cf + xc/config/cf/Imakefile + xc/config/imake/imake.c + xc/config/imake/imakemdep.h + xc/extras/drm/shared/drm.h + xc/include/Xos_r.h + xc/lib/xtrans/Xtranssock.c + xc/programs/Xserver/hw/xfree86/os-support/xf86_OSlib.h + xc/programs/Xserver/hw/xfree86/os-support/xf86_libc.h + xc/programs/Xserver/hw/xfree86/os-support/linux/lnx_agp.c + //bugs.freedesktop.org/show_bug.cgi?id=1712) attachment #2004 + (https://bugs.freedesktop.org/attachment.cgi?id=2004): Add support for + DragonFly/BSD platform. Patch by Jeroen Ruigrok + and Mike Verona . + +commit 6c6151b2339a05c60ec58e013f915f79a3f9d756 +Author: Alexander Gottwald +Date: Tue Mar 1 18:58:17 2005 +0000 + + If a context is already attached copy it instead of reattaching to keep + displaylists and share displaylists Enable tracing of often called + functions with GLWIN_ENABLE_TRACE ForceCurrent is a no-op now + +commit d323c4f59a653f364164d2a57fbbd102306a6ee9 +Author: David Reveman +Date: Tue Mar 1 16:57:54 2005 +0000 + + Minor improvement to pixel transfers in Xgl + +commit 2d2c1732620a83215983ee7a7dd469a1a85fcc12 +Author: David Reveman +Date: Tue Mar 1 16:34:31 2005 +0000 + + Add dither support to Xgl + +commit b4b27e9eaa43401ae70e5d03823012bf8c78848f +Author: Keith Packard +Date: Mon Feb 28 20:45:15 2005 +0000 + + Force DPMS normal on screen enable + Add placeholder for bit used to redirect input + Add macrovision register defines + +commit 409c0618bced6df02eed7af77107ff74508c0f3f +Author: Alexander Gottwald +Date: Thu Feb 24 22:53:17 2005 +0000 + + on WM_WINDOWPOSCHANGED raise window directly and in sync without utilizing + the async windowmanager thread. Fixes some restacking problems occuring + which were timing dependent Do not raise the window on WM_ACTIVATE + Removed unused code for WM_WINDOWPOSCHANGING ESC is debug key. Print + status but do not abort processing the message + +commit 775efdbd79448040b822fcc0556e98d3968ba8c3 +Author: Alexander Gottwald +Date: Wed Feb 23 19:17:10 2005 +0000 + + Bugzilla #2599 (https://bugs.freedesktop.org/show_bug.cgi?id=2599) + attachment #1964 (https://bugs.freedesktop.org/attachment.cgi?id=1964): + move miScreenInit in front of pScreen->function initializations to + prevent it from resetting ClipNotify. + +commit c4b3fcda98a92c204534f04bd386ace5d3620d86 +Author: Eric Anholt +Date: Mon Feb 21 03:44:10 2005 +0000 + + Move the draw tracing supplies into ati_draw.h, and do some touchups on it. + (When tracing drawing, I want to know what I'm drawing to, at a + minimum). + +commit de34b0eefc9f8a29147659454398cabb187c7cb6 +Author: Eric Anholt +Date: Mon Feb 21 03:05:55 2005 +0000 + + Extend the filter support to R200, and do the check for filter settings in + Check rather than Prepare, to avoid migration of things we won't be + able to accelerate. + +commit 535c178286f94cc593b6cda753bbeb9b7cf6df4c +Author: Michel Daenzer +Date: Fri Feb 18 19:55:35 2005 +0000 + + Bug #2576: Add support for ATI RN50/ES1000. (ATI Technologies Inc.) + +commit 2f07222106358a02f56bf1e344d1fbf7ead14cbd +Author: Adam Jackson +Date: Fri Feb 18 17:52:48 2005 +0000 + + Bug #2455: Make x86emu handle JNL correctly. (David Wong) + +commit 01b156240ce66703b38a67ee3cfbb475352cdf68 +Author: Alexander Gottwald +Date: Sat Feb 12 14:55:24 2005 +0000 + + winmultiwindowwindow.c + winmultiwindowwndproc.c + Cleanup some message debugging + +commit 8df7126f09d6d7cb35a5912a71531cad28ba2545 +Author: Alexander Gottwald +Date: Sat Feb 12 14:47:17 2005 +0000 + + win.h + winfont.c + winmultiwindowshape.c + winmultiwindowwindow.c + winpfbdd.c + winshaddd.c + winshadddnl.c + winshadgdi.c + Fix incorrect wrapping of functions. Ensure the pointers from pScreen point + to the called function even if wrapped functions changed it + Set the window properties to NULL to avoid referencing freed memory because + of timing problems after deleting a window + Do not wrap ChangeWindowAttributes. All functions are noops currently + +commit 676fdb03f3fb27ac24834aeb895df7d6d6e83f78 +Author: Alexander Gottwald +Date: Sat Feb 12 14:43:07 2005 +0000 + + print window handle in message outout + +commit 046bdb17169ecb1361a42ab52043da699590d39a +Author: David Reveman +Date: Fri Feb 11 20:19:20 2005 +0000 + + Fixes a few problems in Xgl + +commit 35bd81dfec62402f9d6c68d98e651e8cd87a8758 +Author: Søren Sandmann Pedersen +Date: Fri Feb 11 19:38:04 2005 +0000 + + Fri Feb 11 14:28:22 2005 Søren Sandmann + When COMPOSITE is enabled, call CopyWindow even when the pixels "don't + move" on screen. + Don't reject modes that are not supported by the unused monitor. + +commit e5ccccfbd45c78c1be5e311b2cb4135a9a27540b +Author: Adam Jackson +Date: Fri Feb 11 06:37:38 2005 +0000 + + Bug #826: Make xorgconfig respect font installation outside $PROJECTROOT. + (Donnie Berkholz) + +commit e7369daba58bb4fad5cef37fefbd851e59446045 +Author: Egbert Eich +Date: Wed Feb 9 11:12:54 2005 +0000 + + Added PCI2Host bus translations for linux PPC and fixed fixed bugs in + macros that apply these functions (Bill Randle Bugzilla #325 and #327). + +commit aab9a8dd99e52297ed9b40c936600429f38fe9ad +Author: Keith Packard +Date: Wed Feb 9 03:56:35 2005 +0000 + + Add initial evdev framework + +commit a85c33b52c40fbae544c7dd40df8c8968e0cf7e9 +Author: Keith Packard +Date: Tue Feb 8 22:45:21 2005 +0000 + + update Xgl to changes in damage API. Remove some flags to support software + mesa + +commit db2c83551cd3516800b88784c461fb33ee15aacf +Author: Keith Packard +Date: Tue Feb 8 22:43:54 2005 +0000 + + hw/kdrive/ati/radeon_composite.c Support linear filtering + Change how touch screens work -- make them just another 'mouse' device. Add + unfinished (and unused) code to accelerate tiled fills. + +commit 70d3a9192feefd54be93ea71231574c3ed815bf2 +Author: Alexander Gottwald +Date: Tue Feb 8 15:20:01 2005 +0000 + + Updated fix for ABNT2 and HK_Toggle keys. + +commit 384099457e9d938871019ba2e5afc20280328884 +Author: Alexander Gottwald +Date: Tue Feb 8 10:15:49 2005 +0000 + + Backout ABNT2 and HK_Toggle fix since it broke keys F1 and F4. + +commit ea5b09f95d6f25d8b0f8858c36b680055edd0da9 +Author: Egbert Eich +Date: Mon Feb 7 18:16:05 2005 +0000 + + Save gs register before calling the vm86_old syscall thru int 0x80. This is + required for linuxthreads as the TLS uses this register to keep track + of local thread storage (Bugzilla #2431, J. Scott Berg). + +commit 4d55065b35baa7e13f6e726cb9d6675562648000 +Author: Alexander Gottwald +Date: Mon Feb 7 15:08:31 2005 +0000 + + Moved keyboard layout table to external file. + +commit e132cb7590b5518ef1b7fce5f9151beed916fafc +Author: Alexander Gottwald +Date: Mon Feb 7 15:05:39 2005 +0000 + + file winlayouts.h was initially added on branch CYGWIN. + +commit c12ef1b34a55544f54401a5a66a36cd728e2f944 +Author: Egbert Eich +Date: Mon Feb 7 11:56:31 2005 +0000 + + Check the pixel clock choosen for a specific refresh rate against the + maximally allowed pixel clock when choosing mode lines for + VBESetVBEMode() and VESA BIOS version >= 3.0 (Bugzilla #2486). + +commit 859be7a52b778df8acb676683351a6562a6d4400 +Author: Felix Kuehling +Date: Fri Feb 4 01:14:49 2005 +0000 + + Applied patch (id=1354) by Mike A. Harris from bug #1901: The attached + patch updates a couple of PCI IDs for the Savage driver -- + Debian/Ubuntu/Red Hat/Fedora. + +commit 5feca068d740b165d3c36a690f5a68b7588b6625 +Author: Alexander Gottwald +Date: Thu Feb 3 09:58:47 2005 +0000 + + Bugzilla #1865 (https://bugs.freedesktop.org/show_bug.cgi?id=1865) + attachment #1827 (https://bugs.freedesktop.org/attachment.cgi?id=1827): + check for va_copy not being defined and use __va_copy if available + +commit 3dda2fe0e2e7e4d2c058d32fa8691d12386b978d +Author: Alexander Gottwald +Date: Wed Feb 2 18:06:14 2005 +0000 + + Force ShowWindow if XWin was started via run.exe. Fixes mainwindow not + showing bug + +commit e8d3da3c753677cc1ae86bc5a79f2b7eba181d74 +Author: Alexander Gottwald +Date: Wed Feb 2 17:17:56 2005 +0000 + + Bugzilla #1866 (https://bugs.freedesktop.org/show_bug.cgi?id=1866) + attachment #1819 (https://bugs.freedesktop.org/attachment.cgi?id=1819): + Define APIENTRY on windows to prevent from loading + removed leftovers from attachment #1818 + +commit 81b862509c87281705f8a8641c28ae2f45f15751 +Author: Alexander Gottwald +Date: Wed Feb 2 15:03:44 2005 +0000 + + Bugzilla #1866 (https://bugs.freedesktop.org/show_bug.cgi?id=1866) + attachment #1818 (https://bugs.freedesktop.org/attachment.cgi?id=1818): + Include Xwindows.h before GL/gl.h on windows to prevent loading + windows.h which pollutes our namespace with some symbols. + +commit b532bfb483cc8ea87c28302e3d676234cab7c3f0 +Author: Adam Jackson +Date: Wed Feb 2 04:07:04 2005 +0000 + + Bug #1294: Make sure RenderAccel hooks get wrapped in XAA init. + +commit 44e2d9167943182fea530dfd7ec16aa53db20f4c +Author: Roland Mainz +Date: Wed Feb 2 00:55:21 2005 +0000 + + xc/programs/Xserver/hw/xfree86/os-support/bus/xf86Sbus.h + xc/programs/Xserver/hw/xfree86/os-support/linux/lnx_io.c + //bugs.freedesktop.org/show_bug.cgi?id=825) attachment #956 + (https://bugs.freedesktop.org/attachment.cgi?id=956): Fix build + problems on Linux/SPARC. Patch by Jeremy Huddleston + . Approved in the 2005-01-31 Xorg + release-wranglers phone call. + +commit 15c555a25df76e0e95bc8eaa2ca7ec80a7695a6c +Author: David Reveman +Date: Tue Feb 1 21:22:02 2005 +0000 + + Use negative stride for trapezoid masks in Xgl + +commit 2f0bdf77dd37d1763c4f4f409d55a6aad6031b9f +Author: Alexander Gottwald +Date: Tue Feb 1 18:14:01 2005 +0000 + + xc/programs/Xserver/xkb/ddxLoad.c + Bugzilla #2245 (https://bugs.freedesktop.org/show_bug.cgi?id=2245) + attachment #1649 (https://bugs.freedesktop.org/attachment.cgi?id=1649): + cleanup the generation of xkbcomp command lines. Allocate them + dynamicly and remove unmaintainable length calculation. + +commit d3ca132061a861cb9292b5a95dbcb2f67695883b +Author: Alexander Gottwald +Date: Mon Jan 31 10:49:30 2005 +0000 + + winmultiwindowwindow.c + Create windows with SWP_NOACTIVATE flag (updated) (Kensuke Matsuzaki) + Fixes for window ordering problem (updated) (Kensuke Matsuzaki) + +commit 374b9aa8ce14cd20a6768519eee63948c83488d6 +Author: Alexander Gottwald +Date: Mon Jan 31 10:47:32 2005 +0000 + + Added hungarian keyboard layout. + +commit 8d277ceb22929fcb44f2d4def8c5b70535eb087f +Author: Alexander Gottwald +Date: Mon Jan 31 10:43:37 2005 +0000 + + winmessages.h + winmsg.h + winmsg.c + winmultiwindowwndproc.c + winwin32rootlesswndproc.c + Make logging of messages configurable with environment variables + +commit 2982d173cad762b801869b7ceacc237afdad88d6 +Author: Alexander Gottwald +Date: Mon Jan 31 10:32:19 2005 +0000 + + resolve SHGetFolderPath dynamicly since it is not available on all Windows + systems. + +commit 8ac3be3f6c4bcaa8c3f6080cbfe72db4967feff8 +Author: Alan Coopersmith +Date: Sun Jan 30 21:18:46 2005 +0000 + + //bugs.freedesktop.org/show_bug.cgi?id=1692> Remove reference to + nonexistent Monitors file from xorgconfig (Report & patch from Dejan + Lesjak ) + +commit 206072c475408b8d4cfd75d897854d8478fe0905 +Author: Matthieu Herrb +Date: Sun Jan 30 20:12:07 2005 +0000 + + programs/Xserver/hw/xfree86/os-support/bsd/bsd_kbd.c Fix option + dontVTSwitch under *BSD, when XKB is disabled. Bugzilla #2252. + +commit 327922f006dcc2e30ec0391d7fa786560fcd1599 +Author: Alan Coopersmith +Date: Sat Jan 29 01:01:03 2005 +0000 + + Update to latest rev from http://pciids.sf.net/ + Remove entries that now duplicate pci.ids Add entries for new Nvidia boards + added in recent nv driver update + +commit d23c46dd3e2cbf84012055bad43b1bb15809a244 +Author: Egbert Eich +Date: Fri Jan 28 16:13:00 2005 +0000 + + Modifying X.Org Xserver DDX to allow to run X with ordinary user + permissions when no access to HW registers is required. For API changes + which mostly involve the modifications to make the RRFunc (introduced + with 6.8) more flexible please check Bugzilla #2407. NOTE: This patch + applies changes to OS specific files for other OSes which I cannot + test. + +commit 1562ec5cc3706acfac1db04366f78e4949ef5502 +Author: Alexander Gottwald +Date: Thu Jan 27 20:33:34 2005 +0000 + + Functions like glGenTextures and glBindTexture are in OpenGL 1.1 and can be + resolved at linktime. Fixes tuxkart (at least with wine) + +commit 5ca5fe71119f35f1f24aeb49e2608684024d450a +Author: Eric Anholt +Date: Thu Jan 27 05:25:57 2005 +0000 + + Add an OUT_RING_REG macro for use with DMA_PACKET0, which is like OUT_RING + but includes debugging to ensure that the reg being submitted is the + one that follows in the packet. Convert most uses of OUT_RING to it, + and convert a couple of OUT_REG sets to DMA_PACKET0/OUT_RING_REG. Also, + add checking to see if more registers are submitted to a DMA_PACKET0 + than should be, to avoid hangs during stupid mistakes (checking for + less isn't done). + +commit 0bd459488bf88084d703d801bfd5e79ea6d2b5a5 +Author: Eric Anholt +Date: Thu Jan 27 03:52:49 2005 +0000 + + Move the bailing out due to ATIUploadToScreen() being unfinished up + farther, so that the traces aren't as confusing. + +commit a973af4a9ade68b271d0695898d72aea50d8953b +Author: Eric Anholt +Date: Thu Jan 27 03:50:48 2005 +0000 + + Remove an unused field. + +commit 59c7005bb155393c44792d457d98d72e34bb1b51 +Author: Egbert Eich +Date: Wed Jan 26 15:50:17 2005 +0000 + + When we tested if a PCI base address was unassigned we didn't take into + account that this bar could have been the upper part of a 64bit base + address. This fix makes this code 64bit bar aware (Bugzilla #2382). + +commit 7c3dd0a5a76bea2c64972ae19d99775b5a992513 +Author: Egbert Eich +Date: Wed Jan 26 15:45:49 2005 +0000 + + Rewrite of RemoveOverlaps() to make the code more readable. It was + virtually impossible to determine if the old code did what it was + supposed to do. Also changed paradigm: Trust the based address more + than the (guessed) size. (Bugzilla #2383) + +commit 9817582328cdafee59de616136172c2ce361a4b3 +Author: David Reveman +Date: Wed Jan 26 10:58:52 2005 +0000 + + Xgl improvements + +commit 13b5a93b70839053b9165b5087872164f0612536 +Author: Egbert Eich +Date: Tue Jan 25 10:08:18 2005 +0000 + + Fix interpretation of 64bit PCI bases: read hi long word from the right bar + (Michael Yaroslavtsev, Bugzilla #2322). + +commit 8813898ef6b9eb470e079bcdcffa89d1243b63b9 +Author: Keith Packard +Date: Tue Jan 25 06:04:21 2005 +0000 + + Fix R100 text by forcing the 3d engine to idle before executing more 3d + commands. Add docs for the ISYNC_CNTL register, which doesn't quite do + what we want. + +commit 33155b4fd3ce025d555f07833f96b760d5cdfbd3 +Author: Eric Anholt +Date: Tue Jan 25 03:37:05 2005 +0000 + + Finish converting RB2D_DSTCACHE to RB3D_DSTCACHE. Remove an extra pixel + cache flush in the idle function. Init an extra reg for r200, and + annotate the TCL_BYPASS better. Also, clean up some style nits from the + last commit. + +commit 3b1f1508b13520626839d45185dec09a42b9ff71 +Author: Keith Packard +Date: Tue Jan 25 02:39:48 2005 +0000 + + Add tracing. Hack Radeon cache registers to use 3D addresses. Works on M6 + +commit 6eaca06dac037851ae5c9575048faf932ad5ffc8 +Author: Eric Anholt +Date: Tue Jan 25 01:40:18 2005 +0000 + + Fix a leak of a region when the driver's CheckComposite fails. + +commit 8a1bee8ea9a028eef65b8884f73a79fbe84a9f3a +Author: Eric Anholt +Date: Tue Jan 25 01:38:26 2005 +0000 + + Silence a warning about uninitialized variable (though it would be). + +commit 67eeede4e16324990e1a6afc237a3f51b8edea39 +Author: Adam Jackson +Date: Mon Jan 24 20:44:49 2005 +0000 + + Bug #2004: Make DDC delay slightly longer. (Thomas J. Moore) + +commit 55736aa8c17f762b15e9bcd7b3f68f8680b7cb33 +Author: Egbert Eich +Date: Fri Jan 21 14:25:26 2005 +0000 + + Alan Cox requested that we check the kernel version before we use kernel + VGA font save/restore as the required features have been added to Linux + 2.6.11 (Bugzilla #2277). + +commit d7263b11f043c8c0f83d6e05095143c70177926b +Author: Keith Packard +Date: Thu Jan 20 20:51:27 2005 +0000 + + Reinitialize offscreen memory before enabling cursor on VT switch-to + +commit 13c6b2f0b6c464ce11f6c332b2fa1a529bdbab01 +Author: Eric Anholt +Date: Thu Jan 20 16:22:04 2005 +0000 + + Add a set of macros for dealing with the repeated code to wait for a while + reading a register/attempting DMA. Now it'll wait for a certain number + of seconds rather than a certain number of times through the loop + before deciding that it's timed out and resetting the hardware. Also, + add more timeout handling, and reset the draw state after resetting the + engine. + +commit dbe45c71590ac319250d04a2bf37ec07cd79e42a +Author: Eric Anholt +Date: Thu Jan 20 07:28:02 2005 +0000 + + Use RadeonSwitchTo3D() instead of doing the WAIT_UNTIL ourselves (RST3D() + also does DC_FLUSH, which may be important). + +commit fc43c154943fb1d277a9cffa9a4db7e76db461bc +Author: Eric Anholt +Date: Thu Jan 20 07:09:00 2005 +0000 + + Add R200 XV support, and make R100 (hopefully) use linear filtering instead + of nearest. Also, use RadeonSwitchTo3D instead of doing the WAIT_UNTIL + ourselves. + +commit 77755065345eb71c997c1ff74dcfd2b2bbbf1305 +Author: Eric Anholt +Date: Thu Jan 20 01:09:48 2005 +0000 + + Make R200 PDMA work -- primary queue sizes are now 9 bits, not 8. + +commit 9bd876768b2165ec3903ad0848ae2ae950330290 +Author: Alan Coopersmith +Date: Wed Jan 19 22:23:20 2005 +0000 + + Fix debugging ErrorF() so it compiles when DEBUG is true. + +commit ff433adba3a643512fdd44e41cd08965fab9c9cb +Author: Keith Packard +Date: Wed Jan 19 06:35:28 2005 +0000 + + Prefer 32bpp to 24bpp. Fix 16 color planar mode (!) + +commit cbcdae5a3f7c4009121f86de52bba6c657f20fff +Author: Adam Jackson +Date: Mon Jan 17 17:17:45 2005 +0000 + + more static server build fixes + +commit 79a7120983eff6fa114d4250fe01b62d4a99a612 +Author: Adam Jackson +Date: Sun Jan 16 01:59:23 2005 +0000 + + Bug #1895: Fix fbComposeGetSolid for BGR. (David S. Miller) + +commit 24cdd188dc3c10b56d6a7b46dafefb16c6d13efc +Author: Søren Sandmann Pedersen +Date: Fri Jan 14 22:07:59 2005 +0000 + + Fri Jan 14 17:03:40 2005 Søren Sandmann + Fix from Keith Packard for bitgravity bugs in the Composite extension, + reported by Amir Bukhari. + +commit 7db2e666e2dc9a1dba468e35e9d382e76ed8be54 +Author: Søren Sandmann Pedersen +Date: Fri Jan 14 21:56:51 2005 +0000 + + Fri Jan 14 11:12:46 2005 Søren Sandmann + Use mmx CopyArea in a few more places. + +commit 761f937fdee9ccd10ad54c1f06e12f2f102547a6 +Author: Egbert Eich +Date: Fri Jan 14 19:29:18 2005 +0000 + + - Don't suspend Xserver on APM standby request as this seems to cause + problems on may systems which don't support APM standby and might not + be required as according to the APM specs the chips should receive + enough power to retain its state. + - Print out power state change requests to log file in all verbosity + levels. + - Don't change server state if no driver PM function is registered. + (Bugzilla #2279) + +commit 16f9d2d72a2378470e9c5b31c59fa6c9a00892d6 +Author: Egbert Eich +Date: Fri Jan 14 18:42:26 2005 +0000 + + Let the OS instead of X save/restore text console fonts on Linux. So far we + relied on the generic VGA layer to restore text console fonts for us + when shutting down the server or VT switching back to the text console. + This has worked rather well but it has some downsides on Linux: a. Many + people use fbdev as console text mode. In this case it is not necessary + to save/restore console fonts as the console is running in graphics + mode anyway. b. Some architectures don't have a fbdev console but + require a full POST of even the primary card (ie. IA64). This posting + has to take place before we even have a chance to save anything. + Therefore the fonts we save are the once written to the chip by POST, + not what has been programmed by the user. c. Certain chipsets utilize + the BIOS to perform mode setting. This may interfer with the vga + save/restore font function in a strange way. It would therefore be + preferrable to let the OS - which has been used to set up the font in + the first place - take care of saving/restoring the data. I will attach + a patch which will do so for Linux. To make this fully functional a + small patch needs to be applied to the Linux kernel. To disable this + feature add: #define DoOSFontRestore NO to your host.def. (Bugzilla + #2277) + +commit 6c0b03a2362f33ae24a2f6845ed1418c9af4b8bc +Author: Adam Jackson +Date: Fri Jan 14 17:14:08 2005 +0000 + + Build fixes for static server. + +commit df4a1fa9c5cc5d54a9347a2bf4843cae87a942f1 +Author: Alexander Gottwald +Date: Fri Jan 14 12:17:10 2005 +0000 + + Added copyright notice. + +commit 2137bc6eb9f36f4ba999023d83c637024f3a6e4c +Author: Roland Mainz +Date: Fri Jan 14 08:37:30 2005 +0000 + + xc/programs/Xserver/afb/afbbres.c + xc/programs/Xserver/afb/afbbresd.c + xc/programs/Xserver/afb/afbclip.c + xc/programs/Xserver/afb/afbhrzvert.c + xc/programs/Xserver/afb/afbline.c + xc/programs/Xserver/afb/afbmodule.c + xc/programs/Xserver/afb/afbpixmap.c + xc/programs/Xserver/afb/afbpolypnt.c + xc/programs/Xserver/afb/afbpushpxl.c + xc/programs/Xserver/afb/afbtegblt.c + xc/programs/Xserver/cfb/Imakefile.inc + xc/programs/Xserver/cfb/cfballpriv.c + xc/programs/Xserver/cfb/cfbbitblt.c + xc/programs/Xserver/cfb/cfbcppl.c + xc/programs/Xserver/cfb/cfbgc.c + xc/programs/Xserver/cfb/cfbglblt8.c + xc/programs/Xserver/cfb/cfbmap.h + xc/programs/Xserver/cfb/cfbpixmap.c + xc/programs/Xserver/cfb/cfbscrinit.c + xc/programs/Xserver/cfb/cfbtab.h + xc/programs/Xserver/cfb/cfbteblt8.c + xc/programs/Xserver/cfb/cfbunmap.h + xc/programs/Xserver/mfb/maskbits.c + xc/programs/Xserver/mfb/maskbits.h + xc/programs/Xserver/mfb/mergerop.h + xc/programs/Xserver/mfb/mfb.h + xc/programs/Xserver/mfb/mfbclip.c + xc/programs/Xserver/mfb/mfbfont.c + xc/programs/Xserver/mfb/mfbgc.c + xc/programs/Xserver/mfb/mfbmisc.c + xc/programs/Xserver/mfb/mfbpushpxl.c + //bugs.freedesktop.org/show_bug.cgi?id=1114) attachment #667 + (https://bugs.freedesktop.org/attachment.cgi?id=667): Convert afb and + cfb{,16,24,32} to be dlloader-friendly. Patch by Adam Jackson + . + +commit 61b3c3aef5437f14d413a60da792257b01e9f8fa +Author: Søren Sandmann Pedersen +Date: Thu Jan 13 23:07:41 2005 +0000 + + Thu Jan 13 17:45:13 2005 Søren Sandmann + Make sure the pixmap is a valid new resource + Make sure the context is a legal new resource. + Handle null attrib_list. + Handle null attrib_list; copy attrib_list to data; actually allocate the + new GLXDrawable. + +commit 433c38f22fa96486a43dc0c9871cc09875251b34 +Author: Søren Sandmann Pedersen +Date: Thu Jan 13 20:49:21 2005 +0000 + + Thu Jan 13 15:40:29 2005 Søren Sandmann + Add MMX implementation of non-repeating source IN repeating mask, aka + "translucent window". + Add MMX implementation of CopyArea. + Use MMX implementation of CopyArea. + Use the new implementations. + +commit a303670107f205c6ca76919ca6cd6af6013073f1 +Author: Adam Jackson +Date: Thu Jan 13 01:22:53 2005 +0000 + + Bug #2114: PPC64 Linux build fix: use system definition of eieio(). + Originally Gentoo bug #66223. (Tim Yamin, Donnie Berkholz) + +commit 15895b411779aa3c14ffb92fb58cd8ec24845ea7 +Author: Alexander Gottwald +Date: Wed Jan 12 16:10:00 2005 +0000 + + winmsg.c + Introduce function winTrace which prints log message with verbosity 10 + Use winTrace for 3 heavily called functions + +commit 8aabc94596dae0fd4ce2c975de75946685faf2cd +Author: Alexander Gottwald +Date: Tue Jan 11 17:33:03 2005 +0000 + + Document the -silent-dup-error switch + +commit b6301dc41090899b20003eab1356bc09fc5eed1a +Author: Egbert Eich +Date: Tue Jan 11 14:59:02 2005 +0000 + + Minor format fix. + Added explanatory comment and debug code. + Added comment. + +commit 27fc6874b34d70a7ddae5ed8f516f6cfaab518b8 +Author: Alexander Gottwald +Date: Tue Jan 11 12:03:34 2005 +0000 + + Do not grab ALT-TAB when window is in multiwindow mode + +commit d365664c58919edb5e121a7c884384438df79776 +Author: Alexander Gottwald +Date: Tue Jan 11 11:58:12 2005 +0000 + + Fix crash with not matching definitions of PATH_MAX + +commit 65b893a707ad8b3e4d0971825c05a965dca36d10 +Author: Roland Mainz +Date: Mon Jan 10 23:38:50 2005 +0000 + + //bugs.freedesktop.org/show_bug.cgi?id=2167) attachment #1641 + (https://bugs.freedesktop.org/attachment.cgi?id=1641): Fix broken + Solaris print queue enumeration. + +commit c6b5a9431178ac7eb90ec498e6830366865d1268 +Author: Roland Mainz +Date: Mon Jan 10 18:47:55 2005 +0000 + + //bugs.freedesktop.org/show_bug.cgi?id=2254) attachment #1659 + (https://bugs.freedesktop.org/attachment.cgi?id=1659): Refix for gcc4.0 + build failure. It seems that the |ExecCommand()| function has no + consumer and can safely be removed. + +commit eb701e9b4481f984fdcfece181126f7424e2bf45 +Author: Alexander Gottwald +Date: Mon Jan 10 17:54:31 2005 +0000 + + winkeybd.h + Adjust keysyms for Hiragana_Katakana toggle and backslash/underscore on + Japanese and ABNT2 keyboards + +commit 2ef9d01c4d3b03f0a5d829304f2a7e2cc1327f3b +Author: Roland Mainz +Date: Mon Jan 10 14:16:29 2005 +0000 + + xc/programs/Xserver/Xprint/Util.c + xc/programs/Xserver/Xprint/attributes.h + //bugs.freedesktop.org/show_bug.cgi?id=2254) attachment #1654 + (https://bugs.freedesktop.org/attachment.cgi?id=1654): Fix gcc4.0 build + failure. Patch by Egbert Eich and Roland Mainz + + +commit 57387e115caf5a4b9501cc8f6ddeb1946b0e6547 +Author: Alexander Gottwald +Date: Mon Jan 10 13:13:08 2005 +0000 + + winkeybd.h + winkeyhook.c + Make keyhook feature work in multiwindowmode too Hook windows keys + +commit f417159e51afe22de7d4e6ba9f154313c6af59bc +Author: Egbert Eich +Date: Mon Jan 10 12:20:33 2005 +0000 + + Make option 'DontVTSwitch' work again with kbd driver under Linux. The kbd + driver now calls the OS layer to handle special keys. Possibly other + special keys and other OSes need to be looked at also. (Helmut + Fahrion). + +commit fe4e74241f6791cb1cefdddeb492ed0f56ce99b4 +Author: Alexander Gottwald +Date: Sun Jan 9 17:35:47 2005 +0000 + + xc/programs/Xserver/xkb/ddxList.c + //bugs.freedesktop.org/show_bug.cgi?id=2245) attachment #1647 + (https://bugs.freedesktop.org/attachment.cgi?id=1647): export + Win32System and Win32TempDir remove #ifdef WIN32 block for building + xkbcomp commandline create win32 tempfile in system tempdir use + PATH_MAX*4 for commandline buffer unlink tmpfile again + +commit ba25f7e8dcaa2690ce3eab839904fac034002e0b +Author: Alexander Gottwald +Date: Sun Jan 9 15:29:45 2005 +0000 + + //bugs.freedesktop.org/show_bug.cgi?id=2245) attachment #1645 + (https://bugs.freedesktop.org/attachment.cgi?id=1645): cleanup some + #ifdef __UNIXOS2__ and WIN32 blocks. make OutputDirectory check the + size of the buffer quote all file and pathnames in the xkbcomp + commandline use PATH_MAX*4 for commandline buffer + +commit 2410b61f430c3ac4be79043f8b00defe6d53148c +Author: Roland Mainz +Date: Sun Jan 9 00:38:08 2005 +0000 + + //bugs.freedesktop.org/show_bug.cgi?id=2240) attachment #1642 + (https://bugs.freedesktop.org/attachment.cgi?id=1642): Fix incorrect + usage of /usr/bin/tr in startup script (the used "[\n]" is neither + correct or portable, using "\n" seems to be sufficient (this fixes + various "random" issues, including including Debian bug #258419 and + Debian bug #264983). Patch by Drew Parsons . + +commit 709a2343a8c12ea7e158c63a9737b11744b50994 +Author: Alexander Gottwald +Date: Sat Jan 8 13:01:03 2005 +0000 + + Fix a possible null-pointer dereference (Keishi Suenaga) + +commit d332a909f8b8741af75047d78a62a3d19e0776e1 +Author: Alexander Gottwald +Date: Thu Jan 6 21:29:09 2005 +0000 + + Imakefile + InitOutput.c + XWin.rc + winerror.c + wintrayicon.c + winvideo.c + winshaddd.c + Set PROJECT_NAME in Imakefile to create alternative window titles for + Cygwin/X and Xming + +commit d6a74f2c4aec9c914ec0837bd0bf0d212019093f +Author: Alexander Gottwald +Date: Thu Jan 6 16:02:47 2005 +0000 + + Imakefile + InitOutput.c + XWin.rc + winerror.c + wintrayicon.c + winvideo.c + Set PROJECT_NAME in Imakefile to create alternative window titles for + Cygwin/X and Xming + +commit 3165236483de936b4ca22f8b6d2d2b8b1a1a4909 +Author: Alexander Gottwald +Date: Thu Jan 6 13:24:57 2005 +0000 + + Fix crash with non-nullterminated strings (reported by Øyvind Harboe) + +commit 591ac9c811de0871d3bdcc19cada0ff6715bf67c +Author: Alan Coopersmith +Date: Tue Jan 4 00:16:20 2005 +0000 + + Bugzilla #2211 (https://bugs.freedesktop.org/show_bug.cgi?id=2211) + attachment #1627 (https://bugs.freedesktop.org/attachment.cgi?id=1627): + xorgconfig default keyboard model outdated (should be pc105, not + pc101/pc102) + +commit af8bd7161724b6709ffe582dfd830c05d9bf4f26 +Author: Søren Sandmann Pedersen +Date: Mon Jan 3 21:32:22 2005 +0000 + + Mon Jan 3 12:45:10 2005 Søren Sandmann + Clean-ups and support for AMD64. Bug 1067. Patch by Nicholas Miell + (nmiell@comcast.net) + Add support for AMD64 + Many cleanups using instead of __builin_ia32_*, and intrinsics + instead of inline assembly. Also unconditionally use pshufw on AMD64. + s/USE_GCC34_MMX/USE_MMX/g + +commit 5f39eff85109a73d006832ad35d9d5b58f93ef0c +Author: Egbert Eich +Date: Mon Jan 3 15:43:55 2005 +0000 + + Added missing return value (Bugzilla #2205) Problem found by Stefan Kulow. + +commit ae6d52092bca6068a7847b3944148336ab489869 +Author: Egbert Eich +Date: Mon Jan 3 15:39:35 2005 +0000 + + Added missing return value (Bugzilla #2206) Problem found by Stefan Kulow. + +commit 83e13e21c8d9a3b54cae2ecc2943be3316659870 +Author: Alexander Gottwald +Date: Fri Dec 24 14:40:28 2004 +0000 + + Print error message if CreateProcess fails Simplify popen simulation code + for WIN32 Remove temporary file after executing xkbcomp + +commit 106703edf67139fa52f6810f9ced0ce5ba86a3cd +Author: Eric Anholt +Date: Wed Dec 22 18:39:41 2004 +0000 + + Back out the previous day's broken R200 "fix" -- the same number of coords + are always emitted. Fix the real problem, which was not enough regs + being initialized in ati_draw.c. Fix a typo that was resulting in alpha + coming out as 0 * src or 0 * broken instead of src * 1 or src * mask. + Assign the blending results to R0, as appears to be necessary. Unbreak + the dst-alpha-blend-with-no-dst-alpha code. Yow. And set the right DMA + count for the r200 traps code. + +commit 3035739e5b7d5a9042292d64455feb4b38788fe4 +Author: Alan Coopersmith +Date: Wed Dec 22 08:28:16 2004 +0000 + + Bug #2123 Attachment + #1587 Call to + uname should not check for return == 0, but for >= 0 instead + +commit fa0677ab43722462042f87c4636a7d59d1cb873f +Author: Eric Anholt +Date: Tue Dec 21 09:51:47 2004 +0000 + + Fix r200 render (for real this time?) by setting tex1_comp_cnt right for + non-mask rendering. Reenable it. Also, R200TexFormats was used instead + of R100 in one place. Harmless so far, because the formats were in the + same order. + +commit 4b0247b9e0a6b7f40cd2738fb29d2ed1acba99e7 +Author: Eric Anholt +Date: Tue Dec 21 09:49:30 2004 +0000 + + Whitespace nit. + +commit 894431412613265fd315cf7a707ffa741f93cf47 +Author: Matthieu Herrb +Date: Wed Dec 15 20:51:25 2004 +0000 + + Use snprintf. + +commit eea11301fd9247a28b1daeb340a018c7ea309c41 +Author: Thomas Winischhofer +Date: Wed Dec 15 15:05:35 2004 +0000 + + Another fix for MiscPassMessage(): Initialize returned "status". + +commit 264c3eefe6c0cdee1ff0a5de914f051ab23026b7 +Author: Alexander Gottwald +Date: Wed Dec 15 12:22:39 2004 +0000 + + latest changes from CYGWIN + +commit c7fec26b50f8a64360d1252cdf48370935fb2f76 +Author: Thomas Winischhofer +Date: Wed Dec 15 00:32:56 2004 +0000 + + Make MISC extention's PassMessage() actually work and fix memory leaks + +commit d0b17bda4dc469e2ce72f4f8965916b316e1deb7 +Author: Egbert Eich +Date: Tue Dec 14 08:59:20 2004 +0000 + + Removed #ifdef'ed out code together with the comment explaining why it was + #ifdef'ed out. + Fixed typo. + Added comment to a changed that's been committed with one of the previous + commits. + +commit 0e6a122316a94c96051f1d832990032a386097bc +Author: Roland Mainz +Date: Mon Dec 13 03:42:32 2004 +0000 + + //bugs.freedesktop.org/show_bug.cgi?id=1695) attachment #1230 + (https://bugs.freedesktop.org/attachment.cgi?id=1230): Fix crash in + Xscreensaver code which allowed any authentificated X client to crash + the Xserver using |XScreenSaverUnsetAttributes()|. Patch by + ajax@nwnk.net + +commit 159e443a2209eb3ea305e84b847b76ef1637d005 +Author: Roland Mainz +Date: Mon Dec 13 02:13:32 2004 +0000 + + //bugs.freedesktop.org/show_bug.cgi?id=1688) attachment #1530 + (https://bugs.freedesktop.org/attachment.cgi?id=1530): Fix the current + implementation to make it possible to slow down the mouse pointer or + use arbitrary fractions (without running into rounding error issues). + The change is using the same method of preserving rounding errors that + the exponential method is already using. Patch by Jan Brunner + . + +commit f1768677f73150c686cf5678f5f5d63c0cfa8e56 +Author: Kristian Høgsberg +Date: Sun Dec 12 23:29:20 2004 +0000 + + Reduce vidmode logging. + +commit 9286a5d032ea6bed102db39281c3d2537da4dccc +Author: Kristian Høgsberg +Date: Sun Dec 12 22:58:37 2004 +0000 + + Add fix for 460gx pci scan code. + +commit 8266a2581d21a1a2880a0e8babb8b0305c435ec0 +Author: Torrey Lyons +Date: Thu Dec 9 22:40:35 2004 +0000 + + Fix crash with more than one screen reported by John Davidorff Pell. + +commit 081b33d73f73572cfefba7e5489408a7117b6e9f +Author: Alexander Gottwald +Date: Wed Dec 8 15:48:15 2004 +0000 + + import changes from CYGWIN branch + +commit 6c317c1c1323bd11292f8f9f179d75c96a18e616 +Author: Roland Mainz +Date: Wed Dec 8 05:52:20 2004 +0000 + + //bugs.freedesktop.org/show_bug.cgi?id=1361) attachment #1287 + (https://bugs.freedesktop.org/attachment.cgi?id=1287): Avoid DRI + initalisation when the Xfree86-DRI extension was turned off. Patch by + Kristian Høgsberg . + +commit b9476cd96faf19153c11e3370e9fced8045600f4 +Author: Roland Mainz +Date: Wed Dec 8 05:48:16 2004 +0000 + + //bugs.freedesktop.org/show_bug.cgi?id=1361) attachment #938 + (https://bugs.freedesktop.org/attachment.cgi?id=938): Allow more + extensions to be enabled/disabled. + +commit 47935dd7f010f2f77768774ceb6f85667efe4264 +Author: Matthew Allum +Date: Mon Dec 6 22:29:31 2004 +0000 + + Xephyr on Xorg fix + +commit 8091b301c941473ab99626a6e66f72acdb6750f7 +Author: Matthieu Herrb +Date: Mon Dec 6 21:54:19 2004 +0000 + + xf86Config.c references USE_DEPRECATED_KEYBOARD_DRIVER so define it if + needed when building this file + - bug fix: pointerMsg -> keyboardMsg in auto-configuration code. + - make the 'kbd' driver the default for autoconfiguration everywhere. + +commit cde3a175005104e061c1ff133f07c598868bdc4e +Author: Alexander Gottwald +Date: Mon Dec 6 18:28:12 2004 +0000 + + include windows.h + +commit 9c94971617db11861aed82e16804fc14a9ca1260 +Author: Egbert Eich +Date: Mon Dec 6 15:53:00 2004 +0000 + + Use the same method of finding the screen pixmap of COMPOSITE extension is + compiled in or not. + Removed stale make variable. + Updated xaaWrapper.c: Under certain circumstances the accel path was not + used when possible. Removed some debugging stuff and stale code that + had been commented out. + Check if maps are really installed before attempting to list them. + +commit 4945034792b28d1a222a615404bfceaf48a130c5 +Author: Alexander Gottwald +Date: Mon Dec 6 12:26:50 2004 +0000 + + problem with max() macro. this one slipped though again + +commit 531776becf95f66e6e435aad0dc21ead436ff5aa +Author: Alexander Gottwald +Date: Sun Dec 5 21:33:23 2004 +0000 + + missed another wBOOL issue + +commit 9bd1328c49aafae67a6a6d9fd17063c75d8547a2 +Author: Alexander Gottwald +Date: Sun Dec 5 21:24:48 2004 +0000 + + redone ddraw.h to be able to mix it with w32api style COM header files. + obj_base.h is not needed anymore. Using instead. + Use Xwindows.h instead of windows.h + do not include win_ms.h + remove extra definition of sleep() + Set HOME to Documents and Settings/username if not set + Use Xming basedir instead of ProjectRoot for system.XWinrc + Fix callback functions to use wBOOL instead of BOOL + Fix compiler warnings. Added debug output. + Fix warning about undefined macro max + +commit bf0a760331e2fe4dbc00e78f87022c7464d9ca4f +Author: Roland Mainz +Date: Sun Dec 5 04:39:34 2004 +0000 + + //freedesktop.org/bugzilla/show_bug.cgi?id=1800): Fix Postscript DDX's 1bit + StaticGray visual to report only 1bit of significant bits in color + specification (instead of 8bits). Patch by Julien Lafon + + +commit 44f4713a056b7a6a076b2f65fbed43e0cfe9ff06 +Author: Markus Kuhn +Date: Sat Dec 4 00:43:13 2004 +0000 + + Encoding of numerous files changed to UTF-8 + +commit f264a7ea741f57fbc3bb900cfbb9e0cc23f46e90 +Author: Alexander Gottwald +Date: Fri Dec 3 12:04:15 2004 +0000 + + Removed scprintf, aprintf and snprintf stuff and use newXprintf + +commit 16a683f4d164899ecfdafb853f48cff10fd13fd4 +Author: Alexander Gottwald +Date: Fri Dec 3 11:57:42 2004 +0000 + + Bugzilla #1865, https://bugs.freedesktop.org/show_bug.cgi?id=1865 Added + X(NF)printf and X(NF)vprintf functions which allocate the buffer with + X(NF)alloc + Bugzilla #1865, https://bugs.freedesktop.org/show_bug.cgi?id=1865 extend + snprintf to work on NULL. + +commit fe2a2213d1db8700f6078379f86ebe8827793c20 +Author: Roland Mainz +Date: Thu Dec 2 23:47:39 2004 +0000 + + //freedesktop.org/bugzilla/show_bug.cgi?id=1998): Fix Xserver standalone + build when RENDER extension includes are not availabe. + +commit 30a4202f3d59a32fd6f93dfd257d93ee21b68ed9 +Author: Kristian Høgsberg +Date: Thu Dec 2 21:58:58 2004 +0000 + + Use __printf__ in gcc function attributes to avoid clash with libc wrapper + define, and remove the last bits of the old workaround. + +commit e62d85baa31fc853aefdef49962ad4cb86ae8245 +Author: Alexander Gottwald +Date: Thu Dec 2 21:49:54 2004 +0000 + + Remove some of the ifdef WIN32 checks from WaitForSomething + +commit 2782b8871196ef28f9a6c84bf6c8b5086d00d5d4 +Author: Alexander Gottwald +Date: Thu Dec 2 14:19:01 2004 +0000 + + Adjust the width of the rootless backbuffer to match 32 bit alignment + Make multiplemonitors default for -internalwm + +commit 3b3e24dc4d89b471d80428dd9ad122f259b1fc81 +Author: Alexander Gottwald +Date: Thu Dec 2 13:38:30 2004 +0000 + + Set HasFfs to NO + Fix link order problems with mingw. Add libdix.a after libmi.a. + Pass -DHAS_FFS to compiler + remove inline code for ffs(). It will link to dix/ffs.c instead added + declaration for ffs() + +commit 2620676306d1eccd24a6bf0637a60842656e6f7c +Author: Phil Blundell +Date: Wed Dec 1 19:43:29 2004 +0000 + + Patch from Florian Boor : + Check return value from ts_config. (TslibInit): Likewise. + +commit 96545d038837bbc7dc435ed7c1f631454e86cecb +Author: Alexander Gottwald +Date: Wed Dec 1 14:57:45 2004 +0000 + + Remove code which sneaked in recently. It is not proven to be correct, just + a workaround and disabled by default + +commit 3f063fc49cc2d456359a1b0b9f36f27befdb09b0 +Author: Alexander Gottwald +Date: Wed Dec 1 14:16:07 2004 +0000 + + Set XERRORDB environment variable to relocate the XErrorDB file + +commit 908442301478b21febab17e31aa55918eaaa5101 +Author: Roland Mainz +Date: Tue Nov 30 23:43:33 2004 +0000 + + //freedesktop.org/bugzilla/show_bug.cgi?id=811): Updating generated + Xprt.html which was forgotten during the previous work. + +commit af717ae57dd6c5e6ad41b4142d62cdbb55f13777 +Author: Egbert Eich +Date: Tue Nov 30 08:38:44 2004 +0000 + + Make Xorg the default server to install. + Avoid PIO access on IA64. Some IA64 machine check if legacy ports outside + the VGA range are accessed. The ATi driver however does this to probe + for ISA Mach8/32/64. Since no IA64 has ISA slots this restriction + should not be relevant to the user. + Avoid recursive calls of xf86scanpci(). This function normally detects that + it has been called before by checking if the PCI structure is filled + out. So far if this was not the case (because PCI probing has failed + for some reason) the function is traversed again. With the chipset + specific PCI bus probing this can lead to an endless recursive loop as + the post-probing code calls xf86scanpci() from within this function. + The OS specific PCI code for Linux worked only if bus 0 was populated as it + checked for the presence of /proc/bus/pci/00. Fixed to check for + /proc/bus/pci/ instead. + +commit 59ccc6465ca15e046ad11362ae5fbb3c71d2c148 +Author: Alexander Gottwald +Date: Mon Nov 29 12:34:55 2004 +0000 + + Fixed windows.h include for cygwin. + Bugzilla #1945: Stop unnecessary reordering. + +commit df2f2ff5a4ebf6c5289da64bf3f572341a0f7656 +Author: Phil Blundell +Date: Sun Nov 28 23:20:17 2004 +0000 + + Re-read "fix" structure from kernel after mode selection, in case line + pitch has changed. + +commit 6062f6a6e7b3c444a35e3f11b2541df2aa0066a2 +Author: Roland Mainz +Date: Thu Nov 25 22:42:51 2004 +0000 + + xc/programs/Xserver/Xprint/Imakefile + xc/programs/Xserver/Xprint/Xprt.html + xc/programs/Xserver/Xprint/Xprt.man + //freedesktop.org/bugzilla/show_bug.cgi?id=811): Add missing manual page + for "Xprt" (DocBook master file (Xprt.sgml) and the generated files + (Xprt.html, Xprt.man). + +commit cbce4cf96dfa2eeecb253d73d7d9acecbc52ad67 +Author: Alexander Gottwald +Date: Thu Nov 25 12:48:21 2004 +0000 + + Bugzilla #1914: fix size limit for -fp argument + +commit 2b75c19ea2bb76512d51e99c5c9ecb073fdb9163 +Author: Matthew Allum +Date: Wed Nov 24 17:50:50 2004 +0000 + + minor Xephyr fix + +commit a96254234fc9410944406f6ae878815cd3cfcee3 +Author: Matthew Allum +Date: Wed Nov 24 17:08:06 2004 +0000 + + XEphyr -parent switch fixes + +commit a7a07d0c71aa3f2e224cceea7e8d8348523136ee +Author: Alexander Gottwald +Date: Wed Nov 24 16:56:03 2004 +0000 + + Finally the multiwindow mode defines a default cursor + +commit ca4da62478a3ad86ab087245bf8eb7d7fadf31de +Author: Eric Anholt +Date: Wed Nov 24 09:07:58 2004 +0000 + + Add include to unbreak build on FreeBSD. + +commit da3df7522d15855fa871c45f3b8db23e7c639a44 +Author: Kristian Høgsberg +Date: Wed Nov 24 02:45:33 2004 +0000 + + Remove this file and all references to the binary expiry code. + Remove old obsolete include/extensions/damage.h. + Include srvrv_ctrl(xfree86) in macintosh US XKB symbol file so VT switching + works again on mac (#1872). + Remove out of place #define's of printf to xf86printf. This definition + should only be in xfree86/os-support/xf86_libc.h + +commit 9a26d6f39e199bad287d4e538ef75700a0102788 +Author: Thomas Hellstrom +Date: Tue Nov 23 17:29:47 2004 +0000 + + Bugzilla #1883 (https://freedesktop.org/bugzilla/show_bug.cgi?id=1883): Fix + insufficient SHM detection in XvMC local test. Removed reference to + getpagesize() which caused linking problems on s390. Reported by Stefan + Dirsch + +commit fec868bf0f67a8f62fc69d55e2ff72b6cacea6f8 +Author: Roland Mainz +Date: Tue Nov 23 17:10:55 2004 +0000 + + //freedesktop.org/bugzilla/show_bug.cgi?id=1204): Fix X11 test suite + (caused by DAMAGE layer) failure with Xvfb when rendering text using + |XDrawText*()| (XDrawText() tests 1, 3, 4, 27, 28, + 29, 30, 34, 37, 39, 41, 43 and XDrawText16() tests 1, 3, 9, 10, 11, 12, + 13, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 34, + 37, 39, 41, 43). Patch by Hong Bo Peng and Stefan + Dirsch . + +commit b09f2a0495071a068c2b6b36084c974acf7aab9b +Author: Alexander Gottwald +Date: Mon Nov 22 16:04:04 2004 +0000 + + Windows does not have ffs() implementation. added one + Enable RootlessSafeAlpha and RootlessAcceleration for the Windows port too + +commit bb43f234c5d418e064c89b928b81b53987f14e92 +Author: Alexander Gottwald +Date: Mon Nov 22 15:00:04 2004 +0000 + + Use GetTempPath for finding a place where to store temporary files on + Windows + +commit bc7493801d1f5177d9ba3fe09accc2a2d72cfe3d +Author: Alexander Gottwald +Date: Mon Nov 22 14:28:25 2004 +0000 + + Fixes for building multiwindow and internalwm on mingw + Changed some debugging output + +commit 255c3c0e8ca0f402b2c327d70c8a254ba65eda03 +Author: Alexander Gottwald +Date: Mon Nov 22 14:12:33 2004 +0000 + + Xming: Place logfile in users tempdir + +commit 0f7874cbfc01da339cc6be221351ddffdb37805d +Author: Alexander Gottwald +Date: Mon Nov 22 13:23:25 2004 +0000 + + Use a simple hashtable as ConnectionTranslation instead of a plain array on + Windows because socket fds are not sequential and do not start at 0 + +commit e6bc551e3451efe4fcbb55475d6d0ff53fcc9807 +Author: Alexander Gottwald +Date: Mon Nov 15 18:13:41 2004 +0000 + + Use CreateProcess instead of system() to spawn xkbcomp on windows. system() + can not handle spaces in the path component. Quoted all filenames on + the commandline. + +commit 6618567311f41f5e237f12b4204aa32ce174a514 +Author: Alexander Gottwald +Date: Mon Nov 15 15:58:51 2004 +0000 + + Remove override of HasSnprintf + +commit 9826b83826190e514ed115e15691ca015780f9bc +Author: Alexander Gottwald +Date: Mon Nov 15 15:06:51 2004 +0000 + + Bufzilla #1802, http://freedesktop.org/bugzilla/show_bug.cgi?id=1802 Added + mingw (Win32) port + +commit cecb668149e1956fb29bc89855182349122e2f4e +Author: David Reveman +Date: Sun Nov 14 23:21:29 2004 +0000 + + Add xglPixmapToRegion + +commit 343f965749af0a985573c525dc6084c2519b6ffe +Author: Alan Coopersmith +Date: Sun Nov 14 17:29:56 2004 +0000 + + Fix typos in output file. (Bugzilla #1849, reported by Yi Ren-Chen) + +commit 636a9e786881dd42cd6fd579e13b7895cf9f10eb +Author: Phil Blundell +Date: Sat Nov 13 18:03:16 2004 +0000 + + Don't leave stale pointers hanging around after ts_close(). (TslibFini): + Likewise. + +commit 36d9e01c0d36eaf0d9cb1e77dd2908b09d55a35d +Author: Phil Blundell +Date: Sat Nov 13 16:41:00 2004 +0000 + + New global variable. (KdProcessArgument): Set it to TRUE on -nozap switch. + (KdUseMsg): Add help for -nozap and -rgba switches. + Declare. + Honour dontZap flag. + +commit 3b0dce3620e4cce74c3a2c7f9077cc28be11740d +Author: Thomas Hellstrom +Date: Sat Nov 13 11:09:23 2004 +0000 + + lib/XvMC/Imake + Added support for automatic loading of the correct hardware XvMC driver. + This involves a protocol extension of the XvMC protocol. The XvMC + revision number was bumped. + +commit a97548b1c9bb69b5824609c1da1ad66c3a9c5065 +Author: Kristian Høgsberg +Date: Thu Nov 11 20:10:28 2004 +0000 + + Cosmetic fix to make xf86pciBus.c use standard min() macro. + +commit e5040e24f03a2fe770139e6f37acef3da48aa0f9 +Author: Matthieu Herrb +Date: Thu Nov 11 16:09:58 2004 +0000 + + oops commited wrong version previously + +commit e380fd548ed5452d08184723145dd992ad72288c +Author: Matthieu Herrb +Date: Thu Nov 11 15:44:31 2004 +0000 + + update shared lib revisions on OpenBSD (Bug #1828). + update references to xf86site.def in comments (Bug #1827). + fix kbd driver for wskbd protocol and pure wscons console driver (Bug + #1825). + don't add '-4' to generated default file name (bug #1826). + typo in resource name (XFree86 bug #1300, X.org bug #1825) + +commit d7f46f71d892768ea85552a0d5458b69b561fe21 +Author: Matthew Allum +Date: Thu Nov 11 14:55:30 2004 +0000 + + Xephyr grab fix + +commit 2854fa438ff721637f2e53fbafa141b3db8a9082 +Author: Adam Jackson +Date: Tue Nov 9 17:06:15 2004 +0000 + + Bug #557: Don't use "bool" as a variable name in xf86cfg, to avoid compiler + bugs. (Donnie Berkholz) + +commit 367b963b6333ee58e197845f1389a95ff26f108e +Author: Adam Jackson +Date: Tue Nov 9 15:58:41 2004 +0000 + + Bug #1765: Add support for R_ALPHA_SREL32 relocations in elfloader. + Originally Debian patch + 202_alpha_elfloader_support_R_ALPHA_SREL32.diff. (Falk Hueffner) + +commit 50cdff7ee2a1b448da24e85efae02237cff9b6b7 +Author: Matthew Allum +Date: Tue Nov 9 11:36:49 2004 +0000 + + Xephyr improvements + +commit 81a3b6fe27567b4f91033ece69996aa6bf8d01a3 +Author: Matthew Allum +Date: Mon Nov 8 22:39:47 2004 +0000 + + Add support to Xephyr for lower depths than hosts + +commit e494e24c508b34b144355cb380aac16abf2fb891 +Author: Alexander Gottwald +Date: Sat Nov 6 11:56:57 2004 +0000 + + Wrap all mwextwm and internalwm code with XWIN_MULTIWINDOWEXTWM + +commit 16ee24cd994fa3f8d479c972f18c8207a5116cb7 +Author: Torrey Lyons +Date: Fri Nov 5 19:51:38 2004 +0000 + + Use ROOTLESS instead of platform specific defines. + +commit 64c7f8e667eef955b266c359291206c7188ce20c +Author: David Reveman +Date: Fri Nov 5 13:26:07 2004 +0000 + + Use UTF-8 encoding in Xgl sources + +commit 1d994e1d14225c1dec5251edeae40e24923a31c6 +Author: David Reveman +Date: Fri Nov 5 12:46:29 2004 +0000 + + Use negative strides in Xgl if pixel data have bottom-top scanline order + +commit 2dd76d646c517e1988897692e9ff8b6194d25c87 +Author: David Reveman +Date: Thu Nov 4 23:19:13 2004 +0000 + + Add working Xgl server code + +commit 1aef1060647d22b676a29f6dcf1ac54f9fe7ff5d +Author: Kensuke Matsuzaki +Date: Thu Nov 4 11:52:22 2004 +0000 + + Add InternalWM mode. + +commit 522c878fca3bfe97cd408e37065f827c004faa04 +Author: Egbert Eich +Date: Tue Nov 2 08:54:53 2004 +0000 + + Removing unneeded private FreeType2 symbol. + Updating to EDID 1.3. (Bugzilla# 1490, Jay Cotton, Egbert Eich). + Removing unneeded code. + Fixed KGA handling for i810. KGA handling for chips derived from C&T chips + is slightly different. The changes make the code consistent with the + C&T (chips) and i740 drivers. + +commit 1074992c285835ca9d96d11e8352bbe2cdbc2a28 +Author: Egbert Eich +Date: Mon Nov 1 16:05:27 2004 +0000 + + Fixed sig11 which occured when calling a CloseDisplay() after + XScreenSaverSetAttributes() followed by XScreenSaverUnsetAttributes(). + Caused by missing FreeResource() in XScreenSaverUnsetAttributes(). + Removing unused DDC sections that caused misinterpretation of DDC data due + to a missing break statement in a switch. + Fixed typo: #if <-> #ifdef. + +commit 7e588ba9abdcc2078b6c361c81806337b8ff0827 +Author: Alan Coopersmith +Date: Sat Oct 30 20:33:43 2004 +0000 + + Add -d flag for compilers like the Sun C compilers that produce dependency + lists themselves. To use with the Sun compilers, add to host.def: # + define UseCCMakeDepend YES # define DependFlags -cc $(CC) -d -xM (Sun + bug id #4245688 - fix by Alan Coopersmith) + Add Solaris to the platforms on which mprotect is run to set execute + permissions when necessary. (Sun bug id #6175128 - fix by Alan + Coopersmith) + Internationalize digital output (Sun bug id #4119396 - fix by Steve + Swales), add -bgpixmap option to set XPM file as background (originally + from STSF project version of xclock by Alan Coopersmith) + xc/programs/xmodmap/handle.c,pf.c xmodmap was printing line numbers which + are one too low in error messages (Xorg bugzilla #1739, Sun bug id + 4637857 - fix by Sam Lau) + +commit 612bd1c27322a69a98b59193e7d31501688359bd +Author: Thomas Winischhofer +Date: Fri Oct 29 02:07:15 2004 +0000 + + Add facility for catching signal 4 from driver. This can be used to check + for OS SSE support. (Part 2) + +commit 09fdfaa28d2afe33dfadd4293b39a34da268fbdb +Author: Thomas Winischhofer +Date: Fri Oct 29 02:06:17 2004 +0000 + + Add facility to catch sig 4 from driver. This can be used to check for OS + SSE support. (Part 1) + +commit b0185a4bf77a668e65e94197bdb13331680521c7 +Author: Thomas Winischhofer +Date: Thu Oct 28 22:12:23 2004 +0000 + + Add xf86[GetGammaRamp|ChangeGammaRamp|GetGammaRampSize] to symlist in order + to allow drivers to use them + +commit 9d4823adc8319a20d2ace3d0944ca32e300f6eeb +Author: Alexander Gottwald +Date: Thu Oct 28 14:23:08 2004 +0000 + + Import recent changes from CYGWIN branch + +commit db65fce04ddec1dac0d92ad3abc95ab4996bd206 +Author: Torrey Lyons +Date: Mon Oct 25 19:09:11 2004 +0000 + + Fix rootless Cygwin crash due to acceleration code illegally modifying a + const structure (Reported by Kensuke Matsuzaki). + +commit a57e85b52357f15f52e81c8d9b310a76e0c62b3f +Author: Roland Mainz +Date: Mon Oct 25 07:12:21 2004 +0000 + + Fix for https://freedesktop.org/bugzilla/show_bug.cgi?id=1664 - RFE: Add + support for the DOUBLE-BUFFER extension to the Xprint server and DDX. + Additionally a "pixmap-scrubber" optimisation is added to the + PostScript DDX to remove all content from a vector pixmap when a + |PolyFillRect()| call covers the whole pixmap surface with a solid fill + (this avoids that a backbuffer vector pixmap gets constantly filled + even when the content is not visible anymore after |XdbeSwapBuffers()| + has cleared the hidden buffer with the background color). + +commit e0cc4871491ab7a8c52749ff2c077d8f11516b15 +Author: Phil Blundell +Date: Wed Oct 20 18:06:58 2004 +0000 + + Add epson. + Build Makefile in hw/kdrive/epson. + +commit 258c9016a0c966187a81f9d956766791d6e8c505 +Author: Phil Blundell +Date: Wed Oct 20 18:02:32 2004 +0000 + + Block SIGIO before disabling input fds. (KdEnableInput): Unblock it after + enabling them again. + +commit cbd5fbcb7e5b802cbcff317fdc2f848043207690 +Author: Phil Blundell +Date: Wed Oct 20 08:20:51 2004 +0000 + + Import Epson 13806 driver from Costas Stylianou: + New files. + +commit 0584d92b36910d42e4fba96cee5f3380eeb3b493 +Author: Egbert Eich +Date: Mon Oct 18 14:21:46 2004 +0000 + + Made handling of DevelDrivers for x86-64 more conformant to other + platforms. + Compress all font encodings (Stefan Dirsch). + Fixed warnings. + Turn on forwarding XNSpotLocation event to XIM server in OffTheSpot and + Root mode (bugzilla #1580, James Su). + Added another compose key combination for the Euro symbol (Stefan Dirsch). + Added support for UTF-8 in ja_JP, ko_KR and zh_TW locales (Mike Fabian). + Changed default encoding for ru from KOI8-R to ISO8859-5 (Mike Fabian). + This is the encoding that is also used by glibc. We may break other + libcs - lets see who complains. + Added explanation for DESTDIR to install to a different directory than /. + Added some early bailouts to atiprobe if PCI structure pointer is NULL to + prevent sig11. + XV support doesn't depend on 2D acceleration any more. This patch removes + this limitation from the NSC driver. This is a patch that I have + committed to XFree86 a while ago but never ported over to X.Org. + Matthieu Herrb contributed some build fixes. + Fixing SetDPMSTimers() so that DPMS*Time == 0 disables the appropriate + timer. This takes advantage of the fact that TimerSet() with a timeout + argument 0 behaves like TimerCanel(). + Use /dev/xconsole (named pipe) or devpts for system logger (Werner Fink). + Create missing links for backward compatibility to XFree86 (Stefan Dirsch). + Changed comment to mention xorg. + Changed cursor for the 'kill' action from XC_draped_box to XC_Pirate. If + you don't like it we can change it back (original author unkown). + Added 'pic' to the man page rendering command pipeline (Werner Fink). + Added missing return value (Stefan Dirsch, Roland Mainz) + +commit 77dab254402073bf96234a6b1056b2277578a976 +Author: Alex Deucher +Date: Sun Oct 17 20:29:35 2004 +0000 + + - Add interlaced support to S3 driver (bug 332, Leo Savernik) + - EmulateWheelTimeout (bug 323, Mathias Fröhlich) + - single button double-click (bug 322, Rob Brown) + +commit 9a0cf1eb43878308c0a83e4f935933b647edc6d5 +Author: Matthieu Herrb +Date: Sun Oct 17 10:46:14 2004 +0000 + + Remove some remaining AMOEBA specific code. + +commit 5505555c15bfa2de1f596ae0997335fdbf07eb5a +Author: Roland Mainz +Date: Fri Oct 15 22:29:40 2004 +0000 + + Fix for https://freedesktop.org/bugzilla/show_bug.cgi?id=1647 - Fix the + problem that |XpSubmitJob()| returns a random value (patch by Stefan + Dirsch/SuSE). + +commit 60caca718d23012c4c85ce70547610fe05168342 +Author: Roland Mainz +Date: Fri Oct 15 22:08:38 2004 +0000 + + Fix for https://freedesktop.org/bugzilla/show_bug.cgi?id=1646 - Fix the + problem that |PsCreateColormap()| returns a random value (patch by + Stefan Dirsch/SuSE). + +commit 4782b2f7c10708f9662d9fc743c692d0bec85743 +Author: Roland Mainz +Date: Fri Oct 15 21:43:31 2004 +0000 + + Fix for https://freedesktop.org/bugzilla/show_bug.cgi?id=1637 - Fix + problems in oid code which may cause the usage of an invalid string + pointer (original patch by Egbert Eich). + +commit 881b5756dc96dc33f6966ec6fccd324f63559dc2 +Author: Adam Jackson +Date: Thu Oct 14 23:10:30 2004 +0000 + + Bug #1628: Convert xf86{BusToMem,MemToBus} to PIC code, eliminating a text + relocation and enabling the server to be built as a + position-independent executable. (PaX Team) + +commit a0251ee285e1f1e28d06927d8ab7d35d59fda607 +Author: Roland Mainz +Date: Thu Oct 14 02:20:52 2004 +0000 + + Fix for https://freedesktop.org/bugzilla/show_bug.cgi?id=1629 - Fix crash + on AMD64, regression caused by bug 1496 ("Xorg Xprt does not support + "*xp-listfonts-mode: xp-list-internal-printer-fonts" to toggle the + usage of printer-builtin fonts"). + +commit 3a055ea35b687e381da4d729dbdd0ebac47f673b +Author: Vladimir Dergachev +Date: Wed Oct 13 23:02:42 2004 +0000 + + Modified: + xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_video.c + xc/programs/Xserver/hw/xfree86/drivers/i2c/fi1236.h Squash annoying warning + about fi1236_dump_status + +commit 3364e7fbd44537b98212820fb2b1941abf0d5ef3 +Author: Egbert Eich +Date: Tue Oct 12 19:13:43 2004 +0000 + + Set fbdev mode as the default mode on PPC (Olaf Hering). + Added support for IBM space saver keyboard (Stefan Dirsch). Added support + for Cherry CyMotion Master XPress (Marcus Schaefer). + Change order of SetDisplayDevice(), HWRestore(), UnbindGART() and + RestoreBIOSMemSize() to be exactly opposite to the Save procedure in + EnterVT() (Matthias Hopf, Alan Hourihane). + Fix text mode restauration by removing the assumption that the register + which determines which head is programmed is set. to the active head by + the BIOS (Mark Vojkovich). + When I wrote the resource code 5 years ago I made some assumptions which + turned out to be false: I've assumed that the bus number of the PCI + hostbridge would be the PCI bus the bridge links to. This is not + correct. Fixing this assumption is not easy. However I hope that the + attached patch will make the system work regardless as it 'ignores' + host bridges from which the target bus is not known. This should not + matter at all as we really don't care about host bridges (unless we + have bridge specific code which retrieves information about the + bridge). + Fixed server crash on reset when a structure allocated in PreInit() was + freed on CloseScreen(). + Fixed ring buffer lock ups that happened because the structure that + contained ringbuffer data was not zeroed after allocation. + Fixed numerous warnings due to signed unsigned comparisons. + programs/Xserver/hw/xfree86/drivers/nv/nv_driver.c: + (NVBacklightEnable): Changed the order in which the sequencer registers + and the backlight control registers are written. The sequencer control + register need to be written first otherwise DPMS screen blanking + produces vertical bars on a mobile device. lib/Xau/Imakefile: Build + libXau static library PIC so it can be linked into toolkits that would + like to wrap its functionality. + +commit 4ab7d316eceb23c81c1b208f9291750cf6b37513 +Author: Egbert Eich +Date: Mon Oct 11 09:58:04 2004 +0000 + + Improving DPMS handling on VT swich and server termination/abort: previous + version called the driver directly and too late. + Unblank secondary screen explicitely. Don't rely on the value read during + register save as the BIOS have blanked the secondary head. + Checking if server isn't switched away before calling sync. Sanity check + for possible bugs in aother areas of the code. + Fixing default amount of of allocated video memory from AGP for i810: Use + 16MB if less than 192MB are installed else use 24MB (Matthias Hopf). + +commit ca1fda2a3f674a6d59de236612c7077387738ec3 +Author: Matthieu Herrb +Date: Sun Oct 10 17:48:43 2004 +0000 + + programs/Xserver/Xext/saver.c Fix for XFree86 bugzilla #1224. + +commit fa9847aeb9094aafc3798aee1fc8379e77a18d6a +Author: Torrey Lyons +Date: Fri Oct 8 00:35:08 2004 +0000 + + Allow rootless implementations to override frame reordering. This is used + on Mac OS X when genie-restoring from the Dock to ensure that the + animation completes before drawing the frame. + +commit d737bc3300cf1847bcea08ca781f37ee3ee62692 +Author: Alan Coopersmith +Date: Tue Oct 5 17:28:15 2004 +0000 + + Make xorgconfig ask again instead of giving up and throwing away all your + answers when you give a bad file name or bad amount of video RAM. (Sun + bug id 5070654 - Derek Wang) + +commit 75217be88ccb87a54c84e31697ffb98b5f9b8e0a +Author: Roland Mainz +Date: Mon Oct 4 05:34:32 2004 +0000 + + Fix for http://freedesktop.org/bugzilla/show_bug.cgi?id=661 - Xprt + producing spurious characters in PS output when using the bitmap cache + (Originally reported against Solaris Xprt as Sun bug id #4369307, and + fixed in Solaris by Jay Hobson. + +commit 658b4ed81f777df2d8b9f47904de90bde1897113 +Author: Roland Mainz +Date: Mon Oct 4 05:04:14 2004 +0000 + + Fix for http://freedesktop.org/bugzilla/show_bug.cgi?id=1299 - Add more + visuals to the Postscript DDX (8bit GrayScale/StaticGray, 1bit + StaticGray and the basic infratructure for "deep" visuals with more + than 8bits per RGB gun). + +commit e622b346113f65788110777d7d1b5fc436600a4d +Author: Roland Mainz +Date: Sun Oct 3 23:29:21 2004 +0000 + + Fix for http://freedesktop.org/bugzilla/show_bug.cgi?id=1496 : Fixed Xprt + font handling which did not support "*xp-listfonts-modes: + xp-list-internal-printer-fonts" or "*xp-listfonts-modes: + xp-list-glyph-fonts" to toggle the usage of printer-builtin and glyph + fonts in XListFonts*(), XLoad*Font(), etc. Additionally the Xprint DDX + now explicitly list "xp-listfonts-modes" in + "document-attributes-supported" (for document-level) or + "xp-page-attributes-supported" (for page-level) when the DDX implements + this feature (as described in the CDE DtPrint specification). + +commit 8b2f127ea0db2c7fee223b69f4fceee0427fb2e4 +Author: Roland Mainz +Date: Sun Oct 3 15:34:33 2004 +0000 + + Fix for http://freedesktop.org/bugzilla/show_bug.cgi?id=1416 - Fix Xprt + PostScript DDX crashes when copying offscreen pixmap content to the + same pixmap. + +commit 7b27bf869dcf02bccf730706fc451c6f4c72b1f0 +Author: Vladimir Dergachev +Date: Sun Oct 3 15:01:31 2004 +0000 + + Modified: + xc/programs/Xserver/hw/xfree86/drivers/i2c/fi1236.c Make sure formatting + style is consistent within a single function. MT2032 functions are best + be in separate file anyway. + +commit 4046653cb63f4cd752212e7cf65fad5408d8f5b8 +Author: Vladimir Dergachev +Date: Sun Oct 3 14:38:31 2004 +0000 + + Modified: + xc/programs/Xserver/hw/xfree86/drivers/i2c/fi1236.c Fix compilation with + gcc 3.4.x Cleanup xf86DrvMsg noise. + +commit ebe7b3fe160259b6f19fe760d6ff4f5bb1dd4b72 +Author: Vladimir Dergachev +Date: Sat Oct 2 01:35:33 2004 +0000 + + xc/programs/Xserver/hw/xfree86/drivers/i2c/*_module.c Change version + strings to XORG. + +commit 0d474149f1cb68a60927529f6eac611a12acf5e6 +Author: Vladimir Dergachev +Date: Thu Sep 30 22:58:07 2004 +0000 + + Initial code from GATOS. This needs to be cleaned up, for example the bt829 + code is practically untouched since xatitv (which was a standalone test + program). However, it all worked and was debugged over long period of + time, so I prefer to to mess with these for now. + New drivers: fi12xx (including MT2032 - this would be be split off later). + tdaXXX msp34xx bt8xx + +commit 1dfafe2aeec864a9bdfd6da3324243b2be8e3a62 +Author: Roland Mainz +Date: Wed Sep 29 04:17:44 2004 +0000 + + Fix for http://freedesktop.org/bugzilla/show_bug.cgi?id=1489 - Use |long| + instead of |int| for BIGREQUESTS commandline option. + +commit de89181444a2f2258a446fe20a25e37fd225a568 +Author: Roland Mainz +Date: Fri Sep 24 02:11:14 2004 +0000 + + Fix for http://freedesktop.org/bugzilla/show_bug.cgi?id=1453 - Fix spaces + in usage output for BIGREQUESTS extension (option "-maxbigreqsize"). + +commit 884cb060eea2b914191c269a0c9955ed83d07ff9 +Author: Torrey Lyons +Date: Wed Sep 22 23:52:39 2004 +0000 + + Update XDarwin project to Xcode 1.5 format and remove unused + QUARTZ_SAFETY_DELAY code. + +commit 35a3bf13a8be96bb29dce32399c3684c6baa527d +Author: Torrey Lyons +Date: Wed Sep 22 23:38:33 2004 +0000 + + Add option for XDarwin to track system keyboard layout changes as they + occur (John Harper and Torrey T. Lyons). + +commit 1b3fa4d53b287cbe9d38c5f8c9fbbc2298690959 +Author: Torrey Lyons +Date: Wed Sep 22 22:52:03 2004 +0000 + + Warning fixes. + +commit de68a3339b9f19630e29a17773cad060b1f65300 +Author: Alan Coopersmith +Date: Wed Sep 22 17:20:56 2004 +0000 + + Allow overriding DPMS defaults (timeouts & default for on/off) from + #defines/-D options. + programs/Xserver/hw/xfree86/common/xf86DPMS.c Use defaultDPMSEnabled global + for the default state of DPMS if not set in any config files. + programs/Xserver/hw/xfree86/os-support/sunos/solaris-sparcv8plus.S Add + support for required assembly inline functions for Sun compilers on + Solaris/sparc. + Add support for Solaris/sparc libraries. + +commit d7514b9162648f894211884b199ef2edc458aa86 +Author: Adam Jackson +Date: Wed Sep 22 04:38:03 2004 +0000 + + Bug #1252, #1253, #1255, #1256: Various typo fixes from Dave Jones. + +commit 269012e6014d7c23bf6805ba14ca0b598cdd6313 +Author: Torrey Lyons +Date: Tue Sep 21 22:01:14 2004 +0000 + + Add offscreen GLX direct rendering with XDarwin's xpr backend (John + Harper). + +commit 0514f8b65616d8878000764485e71384b71e3860 +Author: Egbert Eich +Date: Tue Sep 21 17:57:36 2004 +0000 + + Merged over libXpm security fix provided by Chris Evans, Matthieu Herrb and + Alan Coopersmith from release 6.8.1. + Fail during initialization with error if font/fontset is not set for + widget. This prevents a sig11 later when the non-existent font/fontset + structs are referenced. + Check if xf86Info.kbdProc pointer is really set before calling it on abort + as this pointer won't be set if the new modular keyboard driver is used + (Matthias Hopf). + Added new libs to the bindist control files. + Removed inclusion of unnecessary kernel header on Linux. This may fail in + an -ansi environment. + +commit 814b74662103710665c0b5659a93974ad609276c +Author: Alexander Gottwald +Date: Mon Sep 20 08:44:54 2004 +0000 + + Bugzilla #1402: The last patch was broken on linux. Take definition of + badSysCall out of the OS specific block. + +commit b600fcda38f4ab4796b5536cbedc5dee1abd25b1 +Author: Eric Anholt +Date: Mon Sep 20 03:12:00 2004 +0000 + + Fix the R200 Render code. Composite and Trapezoids are now supported just + as well as on R100. + +commit 908287addaff10a0f5f6f14bf06a9b85870737ec +Author: Alexander Gottwald +Date: Sun Sep 19 12:59:52 2004 +0000 + + Bugzilla #1402: fix BigFont extension if SHM is compiled in but not + working. Does not access SHM and privates if the SHM syscall failed + during extension initialization. + +commit 90ff3688cdc0c2c1b5ccdbd9cc0659b9a355e85f +Author: Eric Anholt +Date: Sun Sep 19 10:57:31 2004 +0000 + + Unbreak the AGP DRI case. That was quite a pile of broken code. + +commit 9297c6149f83de22395503c484a2ca65dbffaf6b +Author: Roland Mainz +Date: Sat Sep 18 23:18:35 2004 +0000 + + Fix for http://freedesktop.org/bugzilla/show_bug.cgi?id=1404 - Fixing + random crashes (like in DAMAGE code etc.) in Xnest due uninitalised + GetWindowPixmap. Original patch by Alexander Gottwald + + +commit 6344bb51e2a97d9678cec2ec1dab19abfe9d9e8d +Author: Torrey Lyons +Date: Sat Sep 18 00:38:30 2004 +0000 + + Bugzilla #1032: Make rootless acceleration functions compatible with + Damage. + +commit cedb9a8d62df3391fd89a8b05a2dd64bd098a7df +Author: Torrey Lyons +Date: Fri Sep 17 21:57:26 2004 +0000 + + Update Apple's list and hash utility routines to latest versions (John + Harper). + +commit b56f4532d1a5febb8df45da0e3d3ad7bf8838e5f +Author: Alexander Gottwald +Date: Thu Sep 16 13:22:52 2004 +0000 + + Remove code which prevented the use from specifying the window size in + nodecoration mode. + +commit c4083511acd1d0f20a242b8cd3ed62629629ce8f +Author: Alexander Gottwald +Date: Wed Sep 15 17:58:50 2004 +0000 + + add support for mice with more than 3 buttons and one scroll wheel (Chris + B) + +commit 516f452e78170bc643117a71bd2246a83b071316 +Author: Egbert Eich +Date: Wed Sep 15 09:23:59 2004 +0000 + + Adding support for OS dependent probing of IA64 chipsets. Not all IA64 + chipsets can be probed without OS support as probing them is only + possible using ACPI. One example of this are the HP ZX1/2 chipsets: + previously the code assumed that these chips were present when no other + of the known chipsets could be probed. This assumption brought SGI + Altrix machines with 64 CPUs to a grinding halt. + +commit a3aa6a2d865239c5b8f29cbd849ae3288e36b8a9 +Author: Egbert Eich +Date: Wed Sep 15 09:05:22 2004 +0000 + + Unregistering events in XSelectInput() when unregistering IM filter + callbacks may be a bad idea as others may be interested in this event. + Removed the call to XSelectInput() altogether as we are in root window + anyway (Lubos Lunak). + Fix size of a variable that gets assigned the value of SmartScheduleTime + (long) to long. This should help to prevent smart scheduler lockup on + 64 bit systems due to overruns (Andreas Schwab). + +commit f642fc729b481c55073c75beca301b2f17881179 +Author: Roland Mainz +Date: Tue Sep 14 23:21:22 2004 +0000 + + Refix for http://freedesktop.org/bugzilla/show_bug.cgi?id=1361 - RFE: Allow + enabling/disabling of more extensions (fixing duplicate symbols caused + by previous checkin; attachment #899) + +commit 0d95bdfbabf4c526f6f54d6f1de8811f4e6d5d5f +Author: Phil Blundell +Date: Tue Sep 14 23:08:10 2004 +0000 + + Only set screen parameters if resolution has changed from current values. + Patch from scoony@noos.fr. + +commit ba3b6fd23be5f1f900fcff57bc586e08bc524e99 +Author: Eric Anholt +Date: Tue Sep 14 06:26:54 2004 +0000 + + Add proper PCI/AGP detection, based on Mike Harris's code for Radeon, but + using the MMIO mirror of the bits instead of config space. + +commit d9df39ee2b5b462be87718046b16d30c231563ec +Author: Roland Mainz +Date: Tue Sep 14 00:51:25 2004 +0000 + + Fix for http://freedesktop.org/bugzilla/show_bug.cgi?id=1361 - RFE: Allow + enabling/disabling of more extensions + +commit 80dc84d067c5af29e33a0c7ac62eecc8ba4e0871 +Author: Eric Anholt +Date: Sun Sep 12 23:22:31 2004 +0000 + + - Fix a segfault on VT switch with DRI. Still dies due to cursor allocation + troubles. + - Move the RemoveBlockAndWakeupHandlers to match + RegisterBlockAndWakeupHandlers. + - Enable R100 trapezoid "acceleration" when DRI is working, so that it can + be exposed and worked on. + +commit ab50679aabdda9e6197568f745d02fe1e65c7a24 +Author: Eric Anholt +Date: Sun Sep 12 23:01:24 2004 +0000 + + Fix a bad argument missed in the previous commit for ATIDRIDMA* functions. + +commit 2d069b1d1950b5f6f9140e5573e349e6559251e6 +Author: Eric Anholt +Date: Sun Sep 12 22:21:12 2004 +0000 + + Move the RegisterBlockAndWakeupHandlers to before DRI initialization. The + change to use that instead of manual wrapping made the DMA dispatch + come after the lock had been dropped, causing lots of pain. + +commit 27b5a65f05c78a0b6de0d0ace4f4275d990cc3a4 +Author: Eric Anholt +Date: Sun Sep 12 20:31:39 2004 +0000 + + Reset the CCE/CP on engine reset, and make the ATIDRIDMA functions take a + more useful argument. + +commit fcd52d276f0276490ef08af2f0d6c52ed631f130 +Author: Eric Anholt +Date: Sun Sep 12 20:19:15 2004 +0000 + + Add missing kaa.h include for kaaInitTrapOffsets. + +commit b5d406e8c84d8aba2b45e985e43d02c2e6770019 +Author: Eric Anholt +Date: Sun Sep 12 20:02:10 2004 +0000 + + Fix handling of is_agp. is_agp is whether the card is actually AGP, while + using_agp should say whether AGP is being used as part of DMA/DRI. + +commit 7cab70d1cb7298035429dd8953e521a31fc6770d +Author: Eric Anholt +Date: Sun Sep 12 19:52:51 2004 +0000 + + Improve error handling, especially in the DRI case. Do some FatalErrors + instead of ErrorFs for things that are really bad, and put limits on + some loops. Now, sometimes instead of hanging the entire system, we + (mostly-) cleanly drop to console when the card has hung. + +commit 0cd662ea80579c317d706ebe04971bb29d0f9b4f +Author: Eric Anholt +Date: Sat Sep 11 09:28:19 2004 +0000 + + - Add disabled WIP trapezoid code for R128 and R100. The R128 rendering is + not doing an add of 1 per triangle like I hoped, and instead seems to + be saturating all the pixels or something. The R100 acceleration + renders pretty well, with some gaps. Note that both are slower than + software due to lack of DMA to submit vertices. + - Mostly fix R128 and Radeon transform support, including supporting + bilinear filtering on R128. Subpixel offsets are still probably an + issue (reported by rendercheck), but I want to make 100% sure about my + understanding of the protocol before changing everybody, including fb. + - Add support for dst formats without alpha to R128 Composite. + - Remove the R128 Blend code, which has long outlived its usefulness. (I + kept it around for one reason: It could be useful for the w/h > 1024 + case with no mask and a non-src op. That seems pretty infrequent and + not worth the trouble). + +commit 396100dd235105a0e2c9013f1e07e4dae0cc3404 +Author: Eric Anholt +Date: Sat Sep 11 09:23:12 2004 +0000 + + - Don't require Imrecise mode for Trapezoid acceleration. It looks like we + might be able to do Precise in hardware, so leave it up to the driver. + - Add a helper function for computing a set of offsets for smooth trapezoid + rasterizing using many sharp trapezoids. + +commit 501dcf37aac4ec9298e8c79ca65c048c362bce31 +Author: Matthew Allum +Date: Wed Sep 8 11:31:49 2004 +0000 + + cursor fixes + +commit 20918ab480c8c8285a68e9f974b0208a18acec94 +Author: Matthew Allum +Date: Tue Sep 7 19:00:04 2004 +0000 + + avoid ephyr breakage when tslib enabled + +commit 8bf6ea903be4c052c747e3e81fc977155072299d +Author: Matthew Allum +Date: Tue Sep 7 12:44:19 2004 +0000 + + fixes to Xephyr debug mode + +commit b3322257815ec4550e1634453167535b02c1bfbd +Author: Kevin E Martin +Date: Fri Sep 3 23:41:21 2004 +0000 + + Update formatted docs. + +commit b2135e589baeb2ea26da50b9167feaea23bcce3c +Author: Kevin E Martin +Date: Fri Sep 3 16:18:23 2004 +0000 + + First set of documentation updates. + Include more correct fix for rootless interaction with damage (Bug #1168, + Keith Packard). + +commit d7fef52254126aa5897a5c58faeda1f61d5b13d8 +Author: Kevin E Martin +Date: Thu Sep 2 04:04:47 2004 +0000 + + Workaround for servers using rootless layer with damage (Bug #1168, Torrey + T. Lyons). + +commit 0e56515aa3ebc5ee8cc33213fb22b69bb4b3a0da +Author: Kevin E Martin +Date: Thu Sep 2 01:38:17 2004 +0000 + + Fix AGL display problems (Bug #1210, Torrey T. Lyons). + +commit 2753c8e2c84cc1fb6d73a05258ab7200068e7830 +Author: Matthew Allum +Date: Wed Sep 1 15:30:58 2004 +0000 + + see changelog + +commit 7c0aaa53bf8dcf3d0a8c9e78d31cf62b1766fb35 +Author: Matthew Allum +Date: Wed Sep 1 11:13:36 2004 +0000 + + '-dpi' fixes for Xephyr + +commit 16ff3a872731633b6f1f4920f793153722026189 +Author: Matthew Allum +Date: Wed Sep 1 08:31:20 2004 +0000 + + Actuall select events for -parent option + +commit 2d065c4c33b9ec17c4c791070cf8189cb57bbb9c +Author: Matthew Allum +Date: Tue Aug 31 16:33:05 2004 +0000 + + Added ephyr server sources + +commit 6ec9ecd591fba9e9b69b8ebbd2fa08c0a2beac08 +Author: Eric Anholt +Date: Mon Aug 30 22:16:46 2004 +0000 + + Add a set of three hooks for accelerating trapezoids, and use it for the + RasterizeTrapezoid screen function. These hooks will be called for + imprecise, non-sharp trapezoids with A8 destinations. + Note that the current main consumer of trapezoids, cairo, is requesting + precise, sharp trapezoids by not changing the default Picture + attributes, but gets non-sharp effects in software because fb bases its + choice of sharp/non-sharp on the mask format being A8 vs A1, and cairo + asks for A8. Follow fb's (poor?) example by ignoring the sharp setting + and basing the choice off of the mask being A8. + +commit ccaf332ce3a9393715317edd3b92420c27fc94eb +Author: Eric Anholt +Date: Mon Aug 30 16:43:10 2004 +0000 + + Rather than initially place pixmaps in framebuffer based on a size + heuristic, delay the decision until the first + kaaPixmapUse{Screen|Memory}, and put it in framebuffer if UseScreen was + called. Provides a significant improvement in cairo speeds (100% + speedup in cairogears here) and is likely to improve text performance + as well. + +commit 14b2db63e7ae0c0d356062cd15811484038f97d9 +Author: Kevin E Martin +Date: Sun Aug 29 21:06:00 2004 +0000 + + Fix make install when BuildServersOnly is YES (Bug #1213). + Fix build failures when UseDeprecatedKeyboardDriver is YES and + DoLoadableServer is NO (Bug #1229, Kristian Høgsberg). + Fix failure when using DLL loader and LD_BIND_NOW is set (Bug #1212, Adam + Jackson). + +commit ac038e9cc6f7708fdd9f36494861d2f611d5a90a +Author: Alan Coopersmith +Date: Sun Aug 29 00:48:17 2004 +0000 + + Don't define _XOPEN_SOURCE before including math.h on Solaris - it's not + needed on older releases, and breaks builds on Solaris 10. (Same as + bugzilla #189). + +commit 89d702763875831604751bac396c3d2400ec59b6 +Author: Egbert Eich +Date: Fri Aug 27 21:44:54 2004 +0000 + + Fix for XV memory allocation: Also use tiled area for allocation even if it + hasn't been used before. + +commit 971755765d6ef9cadf11127478af59189034d356 +Author: Eric Anholt +Date: Fri Aug 27 21:09:23 2004 +0000 + + Bug #1101: Fix PaintWindow in the pixmap case when the window's origin is + not at the backing pixmap's origin. Resulted in incorrect rendering in + at least aisleriot, fluxbox, and KDE apps, and probably many more. + While here, move the ParentRelative loop above the drawable grab -- may + improve correctness with ParentRelative background origins as well. + Note that the border code doesn't handle ParentRelative yet. + +commit 1840a50bb763d5c94195eaffa3954c1afd77a31a +Author: Kevin E Martin +Date: Fri Aug 27 20:39:17 2004 +0000 + + Add missing reply for DMX (Rik Faith). + +commit f30fbc600f3e5c3b4aceafb8256594af0069f2c9 +Author: Egbert Eich +Date: Fri Aug 27 20:20:54 2004 +0000 + + Fixed typos. + +commit 276cf271527b7a6f464025457e5dd452ac13605e +Author: Egbert Eich +Date: Fri Aug 27 20:16:28 2004 +0000 + + - adding missing file + +commit ecd889c6ff7427b4e7d3f820586aac178a4dfdc2 +Author: Egbert Eich +Date: Fri Aug 27 19:27:12 2004 +0000 + + Added support for LynxOS 4.0 (Thomas Mueller). + Fix arm netwinder build (Donnie Berkholz). + +commit 7c087078694a6895a9bcbe62d091665c05a86b5a +Author: Egbert Eich +Date: Fri Aug 27 12:32:14 2004 +0000 + + - Make DDC code more VESA compliant: when MaxClock is set to 0xFF it means + 'no value specified'. Therefore setting it to 0. + +commit c0bff215de2d034118d06cac42e234008612204b +Author: Kevin E Martin +Date: Fri Aug 27 01:15:10 2004 +0000 + + Fix xtest failures in Xvfb from XMatchVisualInfo test. + +commit 5335bc8a0657b3e378795b44698ed23020c13891 +Author: Eric Anholt +Date: Thu Aug 26 20:32:59 2004 +0000 + + Bug #1138: Wrap funcs in CW's GC ops as well. While this is unnecessary + according to the rules as I understand them (bug #1045), not everybody + follows the rules. GC funcs were being called on the same GC from + within GC ops, and the cwValidateGC caused a loop in the funcs chain + that resulted in a crash, notably in cwPolylines. + +commit c8672e7ac79c872344f287f7cc106cb5c006e619 +Author: Egbert Eich +Date: Thu Aug 26 11:58:08 2004 +0000 + + Fixed support for LynxOS 3.1 (LynxOS 4 will follow) (Thomas Mueller). + 2 + +commit 198e62c44b99ee0890b944f92b162387f77aa10d +Author: Torrey Lyons +Date: Sat Aug 21 00:46:01 2004 +0000 + + Documentation only update: Update XDarwin application version for release. + +commit 74d84d7b122802230579a4da8c2e6914d2f5f060 +Author: Kevin E Martin +Date: Fri Aug 20 05:22:39 2004 +0000 + + Fix keyboard driver failing to initialize if DoLoadableServer is NO (Bug + #1133, Kristian Høgsberg). + +commit bd3e6e44259155cb37f39eb2ca5e1f0de1c2ebb7 +Author: Kevin E Martin +Date: Thu Aug 19 04:08:40 2004 +0000 + + Add missing no.*Extension symbols (Bug #1131, Aaron Plattner). + +commit 87842285007e9ac4f9de0349abee1fb66b7c795f +Author: Kevin E Martin +Date: Wed Aug 18 21:11:17 2004 +0000 + + Fix CopyArea for non-redir dst, redir src (Bug #1105, Eric Anholt). + +commit 9223baf985778c536ce93846c431b46a0192cf32 +Author: Kevin E Martin +Date: Wed Aug 18 18:41:41 2004 +0000 + + Fix AIX build problems (Bugs #1020, 1102, 1103, Dan McNichol). + Remove old config files (Bug #1123, Jim Gettys). + Remove old log message (Bug #1123, Jim Gettys). + +commit a45bc0df7a1c369e8429e84414ac813187c90059 +Author: Kevin E Martin +Date: Tue Aug 17 17:55:02 2004 +0000 + + Fix DRI module loading (Bug #1057, Ronny Vindenes). + Fix Xvfb at 8bpp (Bug #1091). + Fix link order when building with Xprint in glxgears (Bug #1060, Alexander + Gottwald). + +commit 75de2fe82e7da755555028a724f68b9fb9ddfb14 +Author: Kevin E Martin +Date: Mon Aug 16 22:48:50 2004 +0000 + + Update release and date for first RC. + Fix kbd/keyboard driver for DoLoadableServer NO. + Revert change since it is better to set date in the config files. + +commit 1798cac6fa2e909c9f3df26b97ee8232a0bf1592 +Author: Kevin E Martin +Date: Mon Aug 16 20:17:51 2004 +0000 + + Add kdb <-> keyboard aliasing when UseDeprecatedKeyboardDriver is NO (Bug + #1072, Kristian Høgsberg). + +commit 6cac342517892a20bab6a6177f8b5742feaaed38 +Author: Alexander Gottwald +Date: Mon Aug 16 15:48:53 2004 +0000 + + document broken composite in XWin + +commit 9aa6beb6b7e6272b05a03e0a4fd34eb8ad21bf47 +Author: Kevin E Martin +Date: Mon Aug 16 02:07:53 2004 +0000 + + Fix banner to print out proper version information. + +commit 9da0c214ab5f4ee9c1610b4888f5c7c0dd2bcacc +Author: Keith Packard +Date: Sun Aug 15 21:13:11 2004 +0000 + + Clip destination instead of source. Should be the same, but it looks nicer + to me. + Clean up transition between cheap and expensive GC wrappers by using the + prologue and epilogue macros. Before, the GC would be left unvalidated + sometimes which would cause all kinds of entertaining bugs against a + DDX which cares (XAA). + +commit a68f350195c1c54034f98e2b78c2c3da70044884 +Author: Keith Packard +Date: Sun Aug 15 19:05:01 2004 +0000 + + Remove debugging code which did a full tree walk on every window operation + Eliminate needless (and, it turns out, dangerous) call to ChangeGC on + DestroyGCPrivate. + in cwSetWindowPixmap, check if the pixmap is the screen pixmap and disable + the wrapper by setting the private to NULL. + +commit 5db70ae2575e3e8669d7a66e2218ba28e8bdfa68 +Author: Kristian Høgsberg +Date: Sun Aug 15 15:40:19 2004 +0000 + + Remove #error used for testing. + +commit 1e728c3e88f6a74b93dc11827c9fcfe7b39ca5a5 +Author: Keith Packard +Date: Sun Aug 15 03:34:18 2004 +0000 + + Copy bits from parent window when allocating pixmaps so that Background == + None works. + Copy filter to backing picture during validation. + Mark picture serialNumber when setting Filter or Transform so Validate + occurs. + Initialize xf86Screens[i]->pScreen to NULL so that RADEON driver doesn't + crash during server reset using old pScreen. + +commit 943308517905d16bda1bb27cd745bd291a84dbf6 +Author: Keith Packard +Date: Sun Aug 15 00:43:39 2004 +0000 + + Redraw window borders when switching window pixmaps around + Make cw "own" the window pixmaps by wrapping + GetWindowPixmap/SetWindowPixmap. + +commit 597fdae93e6e1b7e4052097baf3d91e7a134c162 +Author: Kristian Høgsberg +Date: Sat Aug 14 23:59:52 2004 +0000 + + More kbd fun: write out "kbd" from Xorg -configure (#1078). + +commit e483fe3ec384da556c31292001a86ec95c2ddc46 +Author: Keith Packard +Date: Sat Aug 14 21:57:58 2004 +0000 + + Fix offsets again. Really, it works this time. Promise. + +commit e6216b48f5feee72f107348cb21bad724536ec62 +Author: Keith Packard +Date: Sat Aug 14 21:36:10 2004 +0000 + + Fix offsets, do whole region at once by using GC clipping + +commit ed425d1d88a72586d5d7a4aad9d0be0b06637070 +Author: Eric Anholt +Date: Sat Aug 14 20:29:28 2004 +0000 + + Bug #1077: Fix source copy performance problem exposed by Composite. + +commit cc3ad0ed4302f54318e190a2b10646337f242d40 +Author: Keith Packard +Date: Sat Aug 14 19:53:36 2004 +0000 + + Fix clip list computation and setting to ignore clip changes to "real" + GC/Picture and track serial numbers correctly when copying + pCompositeClip down. + +commit 183c6d06455114c61f6db57ec0a084caf11ece3a +Author: Eric Anholt +Date: Sat Aug 14 19:51:11 2004 +0000 + + Wrap CopyWindow in cw, which fixes scrolling in many apps. + +commit e61b5d38ab30c4f73ba0d070f485a32708a03eb6 +Author: Keith Packard +Date: Sat Aug 14 07:12:37 2004 +0000 + + Use XLIB_SKIP_ARGB_VISUALS environment variable to disable all depth 32 + visuals. Necessary to keep Flash from crashing. + Must call ValidateGC/ValidatePicture on "real" GC/Picture to ensure + pCompositeClip is set correctly. + Need to take the composite clip from the "real" GC/Picture and turn it into + the clientClip for the backing version. + Adjust pixmap screen origin to account for drawable->x/y Change debugging + output a bit (disabled by default) + +commit 05f6329eb6f564ad4fc366d75f4ebf9f3ba4b5dd +Author: Alan Coopersmith +Date: Fri Aug 13 23:57:38 2004 +0000 + + Don't enable speedo & type1 modules if they're not being built + Clean up a couple of hardcoded paths & vendor names to use defines set by + Imakefile + +commit 3f84e4f71d9c7c560f9bef675b1cc96fa1d83b14 +Author: Kevin E Martin +Date: Fri Aug 13 19:51:34 2004 +0000 + + Fix Xprt bug by disabling code that merges multiple audit messages (Bug + #964, Roland Mainz). + +commit 922fd3a2e568571171dfd64a94f804350829230f +Author: Alexander Gottwald +Date: Fri Aug 13 19:18:29 2004 +0000 + + Added $(MESASRCDIR)/src/mesa/glapi to INCLUDES. Removed $(SERVERSRC)/mi + from INCLUDES. Rearranged INCLUDES for better readability. + Removed mipointrst.h and miscstruct.h from #include since they are not used + anymore. + +commit f63f4b768cd5ec5bffd270e448e6e51b8ad67016 +Author: Søren Sandmann Pedersen +Date: Fri Aug 13 18:24:07 2004 +0000 + + Fri Aug 13 19:53:10 2004 Soeren Sandmann + Fix for lockups on some versions of Matrox Mystique. #687, Patch from Mike + Harris. + Call xf86EnableDisableFBAccess though the function pointer instead of + directly. #1041, Patch from Aaron Plattner. + Swap the phsyical size of the screen when rotiation. #1050, Patch from + Aaron Plattner. + Fri Aug 13 19:47:12 2004 Soeren Sandmann + Make HAVE_FT_BITMAP_SIZE_Y_PPEM conditional on the FreeType version instead + of proping it. This way it will work with the monolithic version too. + #1062, Patch by Owen Taylor. + +commit a29bfbd3d0a5d39ccee5b83ac1ba632091b031bb +Author: Keith Packard +Date: Fri Aug 13 08:16:14 2004 +0000 + + Empty damage object when freeing pixmap. + Wrap InstallColormap so that the DDX doesn't see colormaps from our ARGB + visual (avoids lovely green tint to screen). Also, set visual->nplanes + of ARGB visual to all used (including alpha) planes so DIX can set + pixel values correctly. + Translate automatic update regions correctly to account for borders + When nplanes == 32 (ARGB visuals), mask in all ones for alpha values to + allocated pixel values. + Remove redundant fbAddTraps declaration + Fix fbCopyWindow to work on non-screen pixmaps (not needed yet) + Replace broken clipping code with that from modular tree. + Respect subWindowMode. + +commit 24bed5cff908a6f8b1857e3dadac22d6db54c69e +Author: Eric Anholt +Date: Fri Aug 13 07:47:21 2004 +0000 + + Fix copy'n'paste-os of x/y in CopyPicture for AlphaXOrigin and ClipXOrigin. + +commit 5825e4559e7aaf3b40205a0dca49a785c8de7b92 +Author: Eric Anholt +Date: Thu Aug 12 23:14:50 2004 +0000 + + Fix after Mesa 20040812 merge: revert glxext.h to vendor branch, and fix + bug #1022. + +commit 2889ad2cb8827f20b6d69da4fe99db33bf9c5ff2 +Author: Torrey Lyons +Date: Thu Aug 12 20:24:36 2004 +0000 + + Fix crash in rootless XDarwin due to rootless being initialized before + damage extension. + +commit 961333143e2df3e3f33e8624fc61e79cf3e86cd1 +Author: Eric Anholt +Date: Thu Aug 12 08:45:33 2004 +0000 + + Apply a kludge to initialize the composite wrapper before DamageSetup. If + not, DamageSetup will wrap some operations first, and the cw + initializes during ExtensionInit, so cw comes higher in the wrapping + chain. cw going first will result in damage getting confused when the + drawables get changed around. + +commit 6e0228722cc2fa37a0e2359bc3dab3646e36c4b7 +Author: Eric Anholt +Date: Thu Aug 12 08:11:59 2004 +0000 + + Fix various cw issues, including a couple reported by deronj: + - Fix wrapping of GC ops/funcs according to policy described in bug #1045. + - Remove ValidateGC/ValidatePictures on the redirected drawables/pictures + -- it's not needed, and DDXs shouldn't be seeing redirected drawables + in render or GC ops/funcs when cw is running. + - Mark all GC/Picture state as dirty when moving from redirected to + non-redirected, since it hadn't been passed down in Change* or + Validate* while redirected. + - Remove CreatePicture wrapper that didn't do anything. + - Comment on why AddTraps wrapper isn't needed. + +commit 789cf3ed846045d91f950cb177ef6bae4c8966fc +Author: Eric Anholt +Date: Thu Aug 12 07:57:03 2004 +0000 + + Fix some issues reported by deronj: + - Hopefully fix a crash in compCheckRedirect on unrealizing windows. + - Remove an extern that doesn't point at anything. + +commit 1a073786e0159a80ac3b8772a1d89b0618a8ff33 +Author: Kevin E Martin +Date: Thu Aug 12 05:11:57 2004 +0000 + + Update version and date for next snapshot + +commit 47ee5f4ba72f0e0bc92a5e04073c70808e85fc08 +Author: Kristian Høgsberg +Date: Thu Aug 12 01:57:51 2004 +0000 + + Add call to SourceValidate() when pDst == pSrc, so misprite.c get a chance + to remove the sprite before the area is copied. The drivers handle pDst + != pSrc (#1030). + +commit 09d0056b8bc103f67a35980934f03d28fed51164 +Author: Adam Jackson +Date: Thu Aug 12 01:30:57 2004 +0000 + + Wrap the Propolice fix in #ifdef __SSP__; Propolice doesn't define this yet + but an RFE has been submitted upstream. + +commit e30c22dbbffa2605f8d7ac010c8208a135a2293a +Author: Adam Jackson +Date: Thu Aug 12 01:16:36 2004 +0000 + + Back out the propolice fix for a second, it causes linktime errors. + +commit 9d0213525f4f692c250f10309146fe9db76ba12d +Author: Keith Packard +Date: Thu Aug 12 00:09:30 2004 +0000 + + Paint to parent window instead of parent window's pixmap (helps for servers + that don't have a pixmap for the root) + Fix offsets for render drawing. + +commit c7bc76f663008119b3681d4b7adef7dc9ffdc236 +Author: Torrey Lyons +Date: Wed Aug 11 23:53:36 2004 +0000 + + Fix leftover XF86_VERSION_SNAP macro. + +commit eb607030e32cbad846696a20cfb3045c5f8f65c1 +Author: Adam Jackson +Date: Wed Aug 11 23:10:02 2004 +0000 + + Teach the loader about the extra symbols needed for Propolice-protected + modules to work under elfloader. From Travis Tilley (Gentoo). + +commit fd439afdfe7ba451aff19b62d1764e4dfd0b782f +Author: Keith Packard +Date: Wed Aug 11 22:40:14 2004 +0000 + + Add COMPOSITE change to fbCopyWindow (not needed yet) + Xnest was half-using midispcur and doing a bad job of it. Replace all of + that code with mipointer which does a lot of the work. + Support DDXen which don't provide GetWindowPixmap, or which return NULL for + the root pixmap. + +commit f95293e5253904883d3b40f9e68e6175247754a3 +Author: Kevin E Martin +Date: Wed Aug 11 22:27:50 2004 +0000 + + Fix bogus contact address in Xserver/os/util.c (Bug #738). + +commit 56520ecd5ceb9526541c241634b467eba6a8f7cf +Author: Eric Anholt +Date: Wed Aug 11 22:13:01 2004 +0000 + + In CopyPicture, add missing call to ChangePicture to notify about the + changes that CopyPicture has done. + +commit f77f1d50723aceb5059a96f7a4068046b7961c51 +Author: Kevin E Martin +Date: Wed Aug 11 21:14:18 2004 +0000 + + Apply PPC64 build patch (Bug #303, Mike A. Harris, Alan Coopersmith). + +commit 3dbaeb2e126d9424b21df91f0be9129c4eea6f1b +Author: Kristian Høgsberg +Date: Wed Aug 11 20:25:13 2004 +0000 + + Patch xorgconfig to generate config files with correct keyboard driver; use + "kbd" by default, "keyboard" if UseDeprecatedKeyboarDriver is YES + (#1040). + +commit ca458e3c9b25c3efc10532eb8e31bdcff44dc321 +Author: Roland Mainz +Date: Wed Aug 11 13:55:03 2004 +0000 + + Fix for http://freedesktop.org/bugzilla/show_bug.cgi?id=492 - + /etc/init.d/xprint did not source xorg.conf for font paths additionally + to xfree86 config files + +commit 81881b96861d707b0729e0146a4b53b3dd234885 +Author: Kevin E Martin +Date: Tue Aug 10 21:37:35 2004 +0000 + + Update version to 6.7.99.1 and fix problem with snapshot string generation. + +commit 21c7c8cdc7d2f607177634601cef8b0290fb0e80 +Author: Kevin E Martin +Date: Mon Aug 9 22:37:22 2004 +0000 + + Fix install problem on platforms not using xorg.cf/xfree86.cf (Bug #339, + Harold L. Hunt II, Alexander Gottwald). + Fix crash when using X core font in zh_CN.UTF-8 locale (Bug #368, Yu Shao, + David Dawes). + Fix glXMakeCurrent(Dpy, None, NULL) crash (Bug #719, Adam Jackson). + HP-PA build fix (Bug #828, Guy Martin, Paul Anderson). + Fix SDK build for GATOS and Wacom driver (Bug #829, Bryan Stine). + Fix attempt to read video ROM before enabling it (Bug #843, Ivan + Kokshaysky, Mike A. Harris). + Fix detection of primary adapter (Bug #843, Ivan Kokshaysky, Mike A. + Harris). + Clarify xset man page description of how to use the keyboard repeat rate + settings (Bug #846, Mike A. Harris). + Fix problem where print-screen key would get remapped to sys-req in certain + keymaps, which broke GNOME printscreen functionality (Bug #847, Owen + Taylor). + Fix several render problems: + - MMIO mode support + - Hang on IGP chips + - VT switching hang + - 3D render corruption (Bug #922, Hui Yu). + +commit 26847ef9268f687c4f45f3d048eff4b06c2ba3bf +Author: Kristian Høgsberg +Date: Mon Aug 9 03:40:50 2004 +0000 + + Move the new render symbols to dixsym.c instead so they are grouped with + the other render symbols. + Initialize screen_x and screen_y to 0. This fixes a problem with the new + Damage based sprite, where intersection test against the root pixmap + would fail because the two fields were not initialized (damage.c, + 166-170). + +commit 57eab4dc87670da42e645a4c341d1ee661b43b5b +Author: Kevin E Martin +Date: Mon Aug 9 02:08:35 2004 +0000 + + - Fix building without Xfixes extension + - Fix building without Xevie + - Fix building without DPMS + - Fix "Extensions" section config file support to accept general boolean + options + +commit a2e51b13ea5a2e5fc5626905b6c2caac6358eb11 +Author: Kristian Høgsberg +Date: Sun Aug 8 20:56:56 2004 +0000 + + Disable legacy keyboard driver "keyboard", unless + USE_DEPRECATED_KEYBOARD_DRIVER is defined. Print warning if the old + driver is used. + +commit 3431692bf44e7be01187b421cfb0e46131c5e4c7 +Author: Kristian Høgsberg +Date: Sun Aug 8 17:02:19 2004 +0000 + + Add new render symbols to list of exported extension symbols so + DoLoadableServer works again. + +commit 1e694d2b51a954d1bc4afdde390723e9a1a5b9bf +Author: Keith Packard +Date: Sat Aug 7 01:23:07 2004 +0000 + + Fix minor timestamp lossage in mieq. + Replace miSprite implementation with Damage-based one. Otherwise damage and + misprite conflict causing looping. + Change pScreen usage around a bit to eliminate warnings + +commit 45fde3b041c071ae5a604cefbbfa4da5c1e828f8 +Author: Keith Packard +Date: Sat Aug 7 01:19:01 2004 +0000 + + Eliminate mfb support. Fix visuals to match "normal" PC hardware (making + lightpipe work). + +commit 2bdbc2c0d39b1618440a6a8ed1c38a11703e898c +Author: Keith Packard +Date: Sat Aug 7 01:02:41 2004 +0000 + + Clean up cw initialization, make sure wrappers re-wrap on exit. + +commit cff0043a347ba06e8ab16a84a35c99794b45149b +Author: Keith Packard +Date: Sat Aug 7 00:58:21 2004 +0000 + + Remove alpha-related fields from visual structure to retain binary + compatibilty. Applications using ARGB visuals will need to use Render + or other mechanisms to compute pixel values instead of AllocColor + +commit 196aafb19a3cfdc8c21f9bf75814cf0d84ff4446 +Author: Keith Packard +Date: Fri Aug 6 23:42:10 2004 +0000 + + Add RenderAddTraps. Rewrite trapezoid rendering code. + +commit e847bcda0827ffb87689a0162c648570de6d6f69 +Author: Eric Anholt +Date: Fri Aug 6 00:31:28 2004 +0000 + + Fix missing ';' in cw.c and unwrap the render wrapper properly. + +commit ae1580c494fde2b56f9faa40f7ebcf637728efc8 +Author: Eric Anholt +Date: Thu Aug 5 18:24:58 2004 +0000 + + - Add a new Render function, CopyPicture, which will update a picture with + the flagged bits from a source picture. Approved in principle by + keithp. + - Use CopyPicture and SetTransform to update most of the backing picture's + state in the composite wrapper. Filters are still missing. + - Don't allocate a picture private, now that we calculate clipping properly + and don't need the serialNumber or stateChanges. + - Use the format of the source pixmap rather than generating the format + from the window's visual. + - Wrap the rest of the Render primitives that were stubbed out before. + +commit 73e14bd611fa7eac649a2b4c7964959d9eae887b +Author: Eric Anholt +Date: Wed Aug 4 23:18:38 2004 +0000 + + - Always validate the backing GC in cwValidateGC, not just when the clip + list changes. + - Use FillTiled instead of FillSolid for painting tiled border/background + pixmaps, and don't needlessly change the scratch GC's defaults. + - Use the preferred dixChangeGC instead of DoChangeGC. + - Simplify a silly loop and clean up a couple of comments. + +commit d240c41a3ab9cde9921cc96cf86e630ca5c9005a +Author: Egbert Eich +Date: Wed Aug 4 12:21:48 2004 +0000 + + Optimization of CJK rendering when using versions of freetype prior to + 2.1.8 (Chisato Yamauchi). + A small backward compatibility fix to make the freetype module build with + freetype version < 2.1.7. + Fixed/added some debugging code. + +commit 751fd11a9ad1a473d7311362246b0869a008001b +Author: Eric Anholt +Date: Wed Aug 4 10:05:37 2004 +0000 + + - Add two new XAA hooks, SetupForCPUToScreenTexture2 and + SetupForCPUToScreenAlphaTexture2. These add a dstFormat argument after + the previous format argument, which the driver needs to use to properly + set up the destination format. Two new arrays are added for the list of + destination formats supported that correspond to the previous format + arrays for sources. + - Make Render acceleration only occur when the new hook for that + acceleration type is supplied and the dst format list is set, along + with the src format list being set. Without knowing the destination + format, the Render acceleration couldn't properly support all the + destinations it might encounter. + - Bump XAA module minor version. + - Update the Radeon Render acceleration to use the new hooks when the XAA + module is sufficiently new. Fix a bug in the src/dst alpha booleans for + ops, and use them to set blend_cntl to support destinations without + alpha. Add missing PICT_a1r5g5b5 texture format, and add list + terminator. (!) + +commit 9c1d52a69db841ac85ef97d7223361b83a66ae29 +Author: Alexander Gottwald +Date: Tue Aug 3 10:12:25 2004 +0000 + + Merge from CYGWIN branch + 2004-08-02 Kensuke Matsuzaki + Fix the bug that we can't copy & paste multi-byte string to Unicode-base + Windows application. Rename fUnicodeSupport to fUseUnicode, because it + don't mean wheather Windows support Unicode or not. + +commit defcfe3c7ee3e39ef02da08b7227b758dbede325 +Author: Matthieu Herrb +Date: Tue Aug 3 09:33:54 2004 +0000 + + programs/Xserver/hw/xfree86/ddc/xf86DDC.h + programs/Xserver/hw/xfree86/vgahw/vgaHW.c + programs/Xserver/hw/xfree86/vgahw/vgaHW.h + programs/Xserver/miext/shadow/shadow.h + programs/Xserver/miext/shadow/shpacked.c + programs/Xserver/miext/shadow/shplanar.c + programs/Xserver/miext/shadow/shrotate.c Fix glitches in pointer to + functions declarations. + +commit e6d0b18c24f7f84aabed763be1cc8414883fab95 +Author: Matthieu Herrb +Date: Tue Aug 3 08:52:17 2004 +0000 + + Fix declaration of XAACachePlanarMonoStippleProc. Rename + XAACachePlanarMonoStippleWeak to XAAGetCachePlanarMonoStipple() for + consistency with other parts of xaa and fix forward declaration in + xaalocal.h. Fixes last comments on Bug #962. + +commit bfbb40c28ce6e98c82973bd96054d4787579eaa6 +Author: Eric Anholt +Date: Tue Aug 3 05:49:48 2004 +0000 + + Major improvements to Composite wrapper. Several issues remain, but it now + appears stable in limited testing. + - Allocate the picture private, avoiding segfault. + - Wrap PaintWindow to draw the background/border to the backing pixmap + (based on Deron Johnson's comptran.c). + - Set the x_off/y_off returns to translate coordinates properly. + - Don't bother allocating temporary areas for the modified coordinates. + Layers above are responsible for handling lower layers changing the + arguments, so cw doesn't have to worry about it. mibstore.c has to do + the allocation because it calls down twice (front buffer and backing + store). (Suggested by keithp) + - Handle the mode argument to PolyPoint, Polylines, and FillPolygon. + - Remove some dead elements in the cw privates. + - Kill a prototype warning in compinit.c by adding the cw.h header. + +commit b7ba272da0910c6558f71cfedd0bf9836fc892c1 +Author: Eric Anholt +Date: Tue Aug 3 05:39:19 2004 +0000 + + The Damage extension has to wrap after (be called before) the Composite + extension so that the redirecting of drawables by the wrapper doesn't + confuse Damage. + +commit d112e55992e9e03e74fdf5738c8c47cd90033a37 +Author: Adam Jackson +Date: Tue Aug 3 02:44:23 2004 +0000 + + Bug #962: Remove LoaderSymbol calls introduced by the dlloader work so + DoLoadableServer NO builds work again. + +commit 734cb34dc1697530ecd971b84e1061ed86b4c2a4 +Author: Søren Sandmann Pedersen +Date: Mon Aug 2 21:15:30 2004 +0000 + + Mon Aug 2 21:49:33 2004 Soeren Sandmann + Remove double cast. + +commit e6b9cc79c204420117a1f7b23d131ec24923d612 +Author: Egbert Eich +Date: Mon Aug 2 19:35:07 2004 +0000 + + Removed distro specific stuff. + Fixed FreeType module to build with FreeType versions older than 2.1.7. + Fixed typo. + Added vtSema to protect call of driver DPMS function. + removed unneeded variable + Modified RandR driver hook to reduce the number of function calls to one. + Function is sufficiently generic to be extended in the future. + +commit b759da83ae62a897b7727d9180a68b962b571286 +Author: Alexander Gottwald +Date: Sun Aug 1 16:16:18 2004 +0000 + + added README for Cygwin/X + This file currently contains the Cygwin/X specific release notes from 6.7.0 + and a first collection of what will make up the release notes for the + next release + +commit d638a50f3f039d84d86c00696d7d3ec22560bc3c +Author: Alexander Gottwald +Date: Sat Jul 31 18:33:56 2004 +0000 + + adjust prototype for winInitCmapPrivates to match Egberts change. + +commit 488be6611919af97d7e4f8b0994487882eb78e18 +Author: Kevin E Martin +Date: Sat Jul 31 09:41:27 2004 +0000 + + Fix typo + +commit 383b6b59864098b03d991628ff5933d997793ea1 +Author: Kevin E Martin +Date: Sat Jul 31 09:14:06 2004 +0000 + + Add "Extensions" section support to configuration parser + +commit d690556d496c7331bd112903a0c9e6553c7d3342 +Author: Eric Anholt +Date: Sat Jul 31 08:24:14 2004 +0000 + + Integrate COMPOSITEWRAP branch including composite wrapper. This code still + has several issues, including: + - CopyWindow and PaintWindow wrappers missing (will be done soon) + - Some segfaults seen in the Render wrappers. + - Xprt server build breaks with Composite. + - DDXs must be recompiled for Composite due to VisualRec size change. + - Composite bugs pointed out by Deron Johnson in email. + Also, reorder XFixes initialization according to comments by Keith which + are also in xserver CVS. + +commit 8763cca7f9927bd6c9caf804bf09dcfea929eed0 +Author: Eric Anholt +Date: Sat Jul 31 07:26:50 2004 +0000 + + Update xfixes server code to major version 3 from xserver CVS, and perform + minor diff-reduction versus xserver CVS. + +commit 25bd6ff4a622d09fb0c247b7c40281744c61431e +Author: Kevin E Martin +Date: Sat Jul 31 04:23:21 2004 +0000 + + Add new extension enable/disable feature. This code is a small step in the + right direction -- i.e., moving towards full run-time config of + extensions. Currently, only XTEST, XINERAMA, RENDER, XKB, and XEVIE are + supported. + +commit 326729ebca863c99cf913445126294a3c6d3db5d +Author: Eric Anholt +Date: Sat Jul 31 01:48:27 2004 +0000 + + - Add some XFIXES bits apparently missed in the DAMAGE-XFIXES merge + - Add missing XCSECURITY ifdef. + - Sync some whitespace to xserver CVS and surrounding style. + +commit 370bda820b2912b93dcc34c088075f8e65a9e5cb +Author: Eric Anholt +Date: Sat Jul 31 01:38:46 2004 +0000 + + Integrate latest damage bits, including the addition of Composite code. + Includes REGION_INIT -> REGION_NULL necessary to avoid segfaults with + inlined region macros. + +commit 7542d8a17ad469f9c760f0f843bd6a4fb6deb57d +Author: Stuart Kreitman +Date: Sat Jul 31 01:37:47 2004 +0000 + + Turn on XEVIE https://freedesktop.org/bugzilla/show_bug.cgi?id=947 Modified + Files: miinitext.c + +commit b2065f376b932e49f1f96dfb92ddb52d15796abe +Author: Stuart Kreitman +Date: Sat Jul 31 01:34:26 2004 +0000 + + Integration of XEVIE branch to trunk, latest updates + https://freedesktop.org/bugzilla/show_bug.cgi?id=947 Modified Files: + Imakefile xevie.c + +commit e68bfc801680f2852c59099aa3d7502e49b48b2c +Author: Stuart Kreitman +Date: Sat Jul 31 01:33:40 2004 +0000 + + Integration of XEVIE branch to trunk, Some updates from latest reviews + https://freedesktop.org/bugzilla/show_bug.cgi?id=947 Modified Files: + events.c + +commit 706b2a7e02aa0085769fb87782118488d0f90eaa +Author: Adam Jackson +Date: Sat Jul 31 01:21:19 2004 +0000 + + Change several LoaderSymbol calls introduced by the bug #400 patch to + *Weak() resolver functions. + +commit 9e13805b02f37497971c789b4035abc29463c550 +Author: Alexander Gottwald +Date: Sat Jul 31 00:44:45 2004 +0000 + + adjust prototype for winInitCmapPrivates to match Egberts change. + +commit 4da507a03fd5659e5944d9e47dd2f8920636383b +Author: Kevin E Martin +Date: Sat Jul 31 00:32:43 2004 +0000 + + Fix compiler warning + +commit 64a6d3e9c84a36b4e0550d112f288b695c5056cd +Author: Hui YU +Date: Fri Jul 30 22:20:21 2004 +0000 + + Support for New radeon chips: R420/M18, R423, RV370/M22, RV380/M24, RS300. + Add special handlings for DELL triple-head server (RV100). Misc. bug + fixes for flat panel, host aperture, etc (Bug #946) + +commit d3c98fed2c37a863a6765a3e288bcdbc2738878a +Author: Egbert Eich +Date: Fri Jul 30 21:53:09 2004 +0000 + + Add support for on-the-fly screen rotation when supported by hardware (Aron + Plattner). + +commit 4baf0029418d3eeeac5d1026a7cfea3234e44e48 +Author: Egbert Eich +Date: Fri Jul 30 21:46:38 2004 +0000 + + An experimental pseudocolor emulation layer. Not fully completed, currently + only works for 16bpp. + +commit 63a152f7812d0981e3e7aa41a42e59cd0c3e50dc +Author: Egbert Eich +Date: Fri Jul 30 21:39:20 2004 +0000 + + removing some unnecessary restricitons on the allowed visuals. + +commit 0ba15599466ddb644728c6b68e64e05b1317ac2e +Author: Egbert Eich +Date: Fri Jul 30 21:10:46 2004 +0000 + + Adding a colormap index to the InitColormapPrivate() func call. Without it + it was completely useless. + test if colormap with index really exists in the list of installed maps + before using it. + +commit bbfe7bed3fe4d9bd089327cd59e6faedb592dabb +Author: Egbert Eich +Date: Fri Jul 30 20:56:53 2004 +0000 + + Set DPMS to ON when VT switching away or shutting down the server. Failing + to do this may leave the text console blank. + +commit 40b975e3acb11c1ec2fd4c5984f5efa20b669489 +Author: Egbert Eich +Date: Fri Jul 30 20:51:09 2004 +0000 + + Improved error messages. + build fixes for AMD64. + Made shm* functions in the libc_wrapper more standard conformant by setting + errno correctly. + Use xf86ExendedInitInt10() in VBEExtendedInit() to be able to pass flags. + +commit 7643199de1c4f12a2aadeaf2d539a37ddb45672b +Author: Egbert Eich +Date: Fri Jul 30 20:38:27 2004 +0000 + + Fix static build. + add i845 to the list of chips that allow memory size tweaking. + +commit 48514fee3c8ec26f36e142ffc9272e510b9a4238 +Author: Adam Jackson +Date: Fri Jul 30 20:30:57 2004 +0000 + + Bug #400 (partial): Driver fixes for the dlloader. When using dlloader, all + framebuffer formats except cfb and the overlay modes should work, and + r128 and radeon need to be loaded from the ati driver (both issues to + be fixed soon). Tested on i740, s3virge, mach64, tdfx, vesa, and vga + drivers. elfloader users shouldn't be affected. + +commit 29012adb37c533f57c684ad94c4d83a6c31793e5 +Author: Torrey Lyons +Date: Fri Jul 30 19:28:03 2004 +0000 + + Add generic rootless layer documentation missed from last commit. + +commit 784e4d1cc02dea837a38a4140a18013953296366 +Author: Torrey Lyons +Date: Fri Jul 30 19:12:18 2004 +0000 + + Merge many XDarwin improvements: + - Fix launch of X clients by double clicking in the Finder when there is a + space in the path (Torrey T. Lyons). + - Interpret scroll wheel mouse events correctly when shift is held down + (Benjamin Burke). + - Add option to always use Mac command key equivalents (John Harper and + Torrey T. Lyons). + - Add support for dynamic screen configuration changes in rootless mode + (John Harper and Torrey T. Lyons). + - Add documentation on generic rootless layer (Torrey T. Lyons). + +commit c2275b31adc3c4292c171055db16e00ee0e69e43 +Author: Egbert Eich +Date: Fri Jul 30 19:04:14 2004 +0000 + + Removed bugs on TweakMemorySize() which prevented it from working at all. + Initialized last element of BIOS version number string to 0 to avoid random + problems. + +commit 5ed0aefc67e86abaddf1b6bffdc832996b86fb46 +Author: Egbert Eich +Date: Fri Jul 30 18:40:36 2004 +0000 + + Fixed typo in a comment. + Deleted bogus comment. + Added debugging support. + +commit d380647739e4767da69edc44bbb441b3b9554b03 +Author: Torrey Lyons +Date: Fri Jul 30 18:22:13 2004 +0000 + + Add initial Xinput support for XDarwin (Greg Parker). + +commit 41641c11ec8994f1bc4bd1b05ae2cb38167c8312 +Author: Torrey Lyons +Date: Fri Jul 30 17:37:09 2004 +0000 + + Make XDarwin not default to StaticColor on ix86 (Shantonu Sen). + +commit f4c84e7dbf0f25a2544d4400e600310421683f3c +Author: Roland Mainz +Date: Fri Jul 30 12:03:56 2004 +0000 + + Fix for http://xprint.freedesktop.org/cgi-bin/bugzilla/show_bug.cgi?id=940 + - Filter /etc/init.d/xprint throught CPP/|MakeScriptFromCpp()| to allow + platform-specific customisation. + +commit ed923a42b800e3f701084ef5828cabbbefe8361f +Author: Eric Anholt +Date: Fri Jul 30 06:54:41 2004 +0000 + + file cw_render.c was initially added on branch COMPOSITEWRAP. + +commit 69e379ddaf85feda6a163b5f4e855ffe86b254df +Author: Eric Anholt +Date: Fri Jul 30 06:54:41 2004 +0000 + + file cw_ops.c was initially added on branch COMPOSITEWRAP. + +commit 0ee93acd103af947fef0a28e32b5b3f2857789bf +Author: Eric Anholt +Date: Fri Jul 30 06:54:40 2004 +0000 + + file cw.c was initially added on branch COMPOSITEWRAP. + +commit 3bdaa0e7fa7b6f5d550907d5fe7d0fb16c53e243 +Author: Eric Anholt +Date: Fri Jul 30 06:54:40 2004 +0000 + + file cw.h was initially added on branch COMPOSITEWRAP. + +commit 94e1ea569171334eb40a2d4a63138c02915203db +Author: Eric Anholt +Date: Fri Jul 30 06:54:40 2004 +0000 + + file compwindow.c was initially added on branch COMPOSITEWRAP. + +commit 705536d04c4f09c84bb04827c07bb899584f399d +Author: Eric Anholt +Date: Fri Jul 30 06:54:40 2004 +0000 + + file compinit.c was initially added on branch COMPOSITEWRAP. + +commit b80dbd886d7cc3a72772f3231a8c8e8df7f6679f +Author: Eric Anholt +Date: Fri Jul 30 06:54:40 2004 +0000 + + file compalloc.c was initially added on branch COMPOSITEWRAP. + +commit beb26caf68d3e25bf85fd63dbb499eca4b1f05ba +Author: Eric Anholt +Date: Fri Jul 30 06:54:40 2004 +0000 + + file compext.c was initially added on branch COMPOSITEWRAP. + +commit 97afc846003bb521cf9d6e92b298024d83db8759 +Author: Eric Anholt +Date: Fri Jul 30 06:54:40 2004 +0000 + + file compint.h was initially added on branch COMPOSITEWRAP. + +commit 854c1afa867ff617b47c4cde3cfd86bd26e9931a +Author: Kevin E Martin +Date: Fri Jul 30 04:44:13 2004 +0000 + + Fix "DoLoadableServer NO" build + +commit 71164d118c192e96eb2b0fc45514233e9563a568 +Author: Stuart Kreitman +Date: Fri Jul 30 01:21:57 2004 +0000 + + Integration of XEVIE branch to trunk + https://freedesktop.org/bugzilla/show_bug.cgi?id=947 + Modified Files: cursorstr.h input.h inputstr.h windowstr.h + +commit 82a6a659248bb66a0364eb9eaf331747834fb5c6 +Author: Stuart Kreitman +Date: Fri Jul 30 01:20:42 2004 +0000 + + Integration of XEVIE branch to trunk + https://freedesktop.org/bugzilla/show_bug.cgi?id=947 + Modified Files: Imakefile Added Files: xevie.c + +commit dd7077cadcdc323e1a301ed5eefa7ff12599aa4d +Author: Kevin E Martin +Date: Fri Jul 30 01:15:57 2004 +0000 + + Cleaned up code since client's saveSet is no longer defined as a pointer* + (forgot one change in previous check-in) + +commit 813d75f9d3c7b540977926e37310fa683daf12e1 +Author: Kevin E Martin +Date: Thu Jul 29 23:43:40 2004 +0000 + + Use LibraryTargetName when not building a loadable server + Move extern function declarations to window.h + Cleaned up code since client's saveSet is no longer defined as a pointer* + Added externs back in + Change #if to #ifdef to fix compiler warning + Add function declarations that were inadvertently removed by previous check + in + Disable extensions that are not (yet) supported by DMX + +commit 274d5044ac41523ff23912c223177c429c710e09 +Author: Stuart Kreitman +Date: Thu Jul 29 18:49:42 2004 +0000 + + Integration of DAMAGE-XFIXES branch to trunk + https://freedesktop.org/bugzilla/show_bug.cgi?id=859 + Modified Files: Imakefile miinitext.c + +commit 406c49eb810cbdcfd833cac4eeaa465598238691 +Author: Stuart Kreitman +Date: Thu Jul 29 18:46:37 2004 +0000 + + Integration of DAMAGE-XFIXES branch to trunk + https://freedesktop.org/bugzilla/show_bug.cgi?id=859 + DAMAGE calls some shape functions. Modified Files: Imakefile shape.c + +commit 0bca00e1205bf1a4537cbf7be6339b3b1f9b953f +Author: Stuart Kreitman +Date: Thu Jul 29 18:43:58 2004 +0000 + + Integration of DAMAGE-XFIXES branch to trunk + https://freedesktop.org/bugzilla/show_bug.cgi?id=859 + Modified Files: dispatch.c dixutils.c events.c window.c + +commit d4a101d4ef9943dcddf08b00b2d3ab4319597193 +Author: Stuart Kreitman +Date: Thu Jul 29 18:37:54 2004 +0000 + + Integration of DAMAGE-XFIXES branch to trunk + https://freedesktop.org/bugzilla/show_bug.cgi?id=859 + These RENDER changes come from the experimental freedesktop tree formerly + known as "Xserver". Partly motivated by compatibility with DAMAGE as + pulled from that tree, also some of the code just is better + implemented. + Modified Files: filter.c picture.c picture.h picturestr.h + +commit e1281790bb3d7cdcc5de85829806dd53da67e326 +Author: Stuart Kreitman +Date: Thu Jul 29 18:16:56 2004 +0000 + + Integration of DAMAGE-XFIXES branch to trunk + https://freedesktop.org/bugzilla/show_bug.cgi?id=859 + Modified Files: cursorstr.h dix.h dixstruct.h regionstr.h window.h + +commit d2f798b6dbaebd0300f42c2e083a962c37647620 +Author: Stuart Kreitman +Date: Thu Jul 29 14:42:24 2004 +0000 + + Integration of DAMAGE-XFIXES branch to trunk + https://freedesktop.org/bugzilla/show_bug.cgi?id=859 + Added Files: Imakefile damage.c damage.h damagestr.h + +commit 682ee8a9f8d55c6a6f517a277d1bfad2a0f28594 +Author: Stuart Kreitman +Date: Thu Jul 29 14:40:33 2004 +0000 + + Integration of DAMAGE-XFIXES branch to trunk + https://freedesktop.org/bugzilla/show_bug.cgi?id=859 + +commit 6ed1c3845517c7731dcc74baa51bb801838afaff +Author: Stuart Kreitman +Date: Thu Jul 29 14:33:43 2004 +0000 + + bugzilla 859 -merging DAMAGE-XFIXES into trunk + +commit 736e511824c4f5e77e637c680a4e45f0b7631644 +Author: Alan Coopersmith +Date: Wed Jul 28 03:57:19 2004 +0000 + + Fix shared reqs for Xlibi18n, Xaw6 & Xmu for Solaris + Improved support for Compose and Kana Lock LED's on Sun keyboards + Add event definitions for additional keys on Sun Japanese keyboards + VUID mouse protocol support for Solaris Make default mouse message clearer + on machines that use a default other than /dev/mouse. + +commit d374dffb20364a3df184cc28888ee7edbe50f474 +Author: Rik Faith +Date: Wed Jul 28 00:28:00 2004 +0000 + + When using DMX console input, make detached screens display as grey (vs. + white for attached and black for dead-space). + +commit 1498414cc85c148ef15b9b57d9f9b6b850bf2702 +Author: Torrey Lyons +Date: Tue Jul 27 20:26:47 2004 +0000 + + Fix Xprint build on Darwin. + +commit ddd58356123f61b863754eb0bdd42a8defa0461b +Author: Torrey Lyons +Date: Tue Jul 27 20:24:00 2004 +0000 + + Fix XDarwin's broken build of libGL and server side GLX. GL library is only + known to build correctly on Mac OS X 10.3.4 and still needs some work + for earlier versions. + +commit 8ef3e7052e8e1db869411e9f6fc88491e3f05474 +Author: Alexander Gottwald +Date: Tue Jul 27 09:53:14 2004 +0000 + + Merge latest changes from CYGWIN branch + Use find | xargs combination instead of simple shell globbing to prevent + commandline argument overflow + +commit a12a678bc9af8df1a3078f574b0c910e3e6983f8 +Author: Matthieu Herrb +Date: Tue Jul 27 06:20:52 2004 +0000 + + Fix a bug that caused an entire batch of events to be thrown out when one + of an unknown type is encountered. (Ty Sarna, NetBSD). + +commit 19002e47a0dbf55e035b674116a533ec9814edfa +Author: Alex Deucher +Date: Tue Jul 27 02:50:41 2004 +0000 + + - enable maven support for TV detection, DPMS, and DDC on crtc2 on G400 + (Ryan Underwood) (http://bugs.xfree86.org/show_bug.cgi?id=1098) + - expose I2CStart; needed for mga maven support (Ryan Underwood) + +commit 2a7b137d41eb8ce6efc45b47b5df0c89eb4f5d93 +Author: Matthieu Herrb +Date: Mon Jul 26 22:41:47 2004 +0000 + + remove extra ';' (Alan Hourihane, Keith Packard). + +commit 799208dd44a65b18dda97b4843a27a2628f955f4 +Author: Adam Jackson +Date: Mon Jul 26 19:06:04 2004 +0000 + + Bug #377: Make lib{glx,GLcore,dri} work when compiled as dlloader modules. + +commit f15f881727cee9a879bd43be8dc849320f8d3cbd +Author: Keith Packard +Date: Mon Jul 26 17:14:27 2004 +0000 + + Eliminate bogus rate check in fbdevModeSupported. Hmm. Potentially bogus + rate selection necessary for Mac fbdev + Don't know about fb changes to pixmaps, so can't track dirt. + Add Mac specific 1280x854 mode. Warn when requested mode isn't found. + Add ability to soft-boot video cards. + Add region expand request. FIXME: need test cases + +commit 20913b7d5daf90e0f7ad1ee967ad2f0daaec40f9 +Author: Matthieu Herrb +Date: Sat Jul 24 17:35:39 2004 +0000 + + Fix a problem with wsmouse driver loosing events on 64bit architectures + (XFree86 Bugzilla #1438, John Heasley). "To fix this, I've added a + mouse buffer (Xisb buffer) "scale" value to the MouseDevPtr type. If + set, it is used as structure size of which we want space for a few." + +commit c57944cd9aaac717d4d4ada44626e35925b39bbd +Author: Keith Packard +Date: Sat Jul 24 17:02:49 2004 +0000 + + Check for mmio before restoring crtc/crtc2 pitch registers + +commit 5fdff8b95e8f90221a46717c2f84715ab238460c +Author: Matthieu Herrb +Date: Sat Jul 24 16:32:39 2004 +0000 + + Bugzilla #884: OpenBSD/amd64 support. + +commit cc3e0173d9fae8a40eb46606d9951e3aa1df975a +Author: Søren Sandmann Pedersen +Date: Thu Jul 22 19:24:50 2004 +0000 + + Thu Jul 22 20:03:11 2004 Soeren Sandmann + Call MMX solid fill routine when available. + Call MMX operations when available. + New HasGcc34 macro + New file with many operations implemented with MMX intrinsics, conditional + on having GCC 3.4 on i386. + +commit 9565d9e0cf85e6f5fb47acebdd66212bd6cc3e08 +Author: Keith Packard +Date: Thu Jul 22 18:17:59 2004 +0000 + + Correct pitch so that accelerator can run on 1400x1050 screens. Add a few + more register sets for cursors. + +commit 67dbad6b3b9163eafae7d9dd7698708e10372a21 +Author: Eric Anholt +Date: Thu Jul 22 06:48:19 2004 +0000 + + DRM 20040721 import + +commit 829b2c72a6433ebaf63f2d2726259c73cca4bd1a +Author: Eric Anholt +Date: Thu Jul 22 06:48:19 2004 +0000 + + Initial revision + +commit 448e0754e369d433a61ae337bbfd7dba195c5e69 +Author: Phil Blundell +Date: Wed Jul 21 20:33:35 2004 +0000 + + Include -lts if appropriate. Patch from pattieja@bentham.ispvip.biz. + +commit 0c32a94623b13dd1ac5b015b465bdf890f498282 +Author: Alexander Gottwald +Date: Tue Jul 20 15:15:13 2004 +0000 + + Bugzilla #889: Bind -from address to port number 0 instead of 177 + +commit 07e6011106dcfa0ab69861aa7dcbb88382625c16 +Author: Phil Blundell +Date: Tue Jul 20 14:33:42 2004 +0000 + + Select optimized + 16bpp shadow copy functions if screen is 16bpp. Select -YX versions for + 90 and 270 rotations if architecture is ARM. + +commit 797114414096d7bf7ed0d73a878d0cffef262301 +Author: Roland Mainz +Date: Mon Jul 19 22:01:52 2004 +0000 + + Fix for http://freedesktop.org/bugzilla/show_bug.cgi?id=893 - Fixing the + bug that Xprt did not honor ${LC_ALL} when looking for model-config + dirs. + +commit 8853f9331826899229e5b7c964e9c852c0371ce5 +Author: Eric Anholt +Date: Mon Jul 19 12:07:01 2004 +0000 + + Add support for a8b8g8r8 and x8b8g8r8 pictures, which showed up frequently + with metacity usage. + +commit adf4b38f49da063576b48f9c0750b78bb753b3de +Author: Eric Anholt +Date: Mon Jul 19 11:42:49 2004 +0000 + + Breakage in last commit to this file: pCurPriv->area isn't set up until + Enable, these days. + +commit d2e74e419d2c75c5a5b97236d2714730e6f69ee0 +Author: Eric Anholt +Date: Mon Jul 19 11:19:12 2004 +0000 + + Set the right number of texture coordinates for r200 Render support (still + disabled, needs to be tested). + +commit cefcb7f123c962c3715b0c46f30430e87c82a017 +Author: Eric Anholt +Date: Mon Jul 19 11:16:13 2004 +0000 + + - Add Radeon picture transform support. + - On R128, don't refer to an old Composite's mask transform when the + current Composite doesn't have a mask. + - Staticize some global variables in r128_composite.c. + +commit 9fe216a45836b98b5aea55725019668de3900e83 +Author: Eric Anholt +Date: Mon Jul 19 07:53:54 2004 +0000 + + Use the offscreen memory manager as much as possible to do the reservation + of memory at startup. Do some drive-by cleanups while I'm here + (sorry!). + +commit e2bb9f38cdcb74fd7630f4efe310ad14d597171e +Author: Eric Anholt +Date: Mon Jul 19 07:20:01 2004 +0000 + + Add support for transforms of textures on R128. + +commit c04264727860cbe2e276e1934d6700d0baaf9f73 +Author: Rik Faith +Date: Sun Jul 18 22:19:33 2004 +0000 + + Addition of console input after removal of core backend input that is not + on screen 0 can cause a segfault. Fix by preventing reinitialization of + detached inputs. When Xinerama is active and screen 0 is detached, + pixmaps for XGetImage must be obtained from another screen. + +commit 0addd0d499046fc8a6cdc18fc41d34cac2ba77ea +Author: Roland Mainz +Date: Sun Jul 18 05:21:20 2004 +0000 + + Fix for http://freedesktop.org/bugzilla/show_bug.cgi?id=858 - Fixing the + problem that clients cannot use the TrueColor visual without calling + |XInstallColormap();|. + +commit 7f9e263658b1c9c435db851a8afd904a2f584d13 +Author: Kevin E Martin +Date: Sat Jul 17 20:44:14 2004 +0000 + + Revert change to MAXFORMATS to maintain binary compatibility + +commit c47a1bdd7463b6863018e2c4237acfd28b89f38f +Author: Alan Coopersmith +Date: Sat Jul 17 01:13:31 2004 +0000 + + Fix typo in debug message in MakeAllCLTSServerListeners + Add $(GETPEER_DEFINES) to DEPEND_DEFINES for makedepend + Add "localuser" and "localgroup" access types to server-interpreted + authentication scheme. + +commit 3e52373fc8179a59efc9e7ab22ce0cb5160d0409 +Author: Carlos Romero +Date: Thu Jul 15 09:56:40 2004 +0000 + + Enable i810. + +commit aeb78eaa980ac93f6af3e947ab1ad8bce5bc5bd1 +Author: Eric Anholt +Date: Thu Jul 8 08:21:25 2004 +0000 + + Commit the rest of the dirty optimization from 20040703 and add a missing + header include. I don't know how this happened, but I'm going to blame + a "few" fscks having happened between testing the code and committing + (due to other driver changes that made me not blame dirty for the + failures I saw) for disappearance of kasync.c changes. Fixes a lot of + corruption. + +commit b46767352822b09e5dab8b54cbb7a37a9b62de53 +Author: Eric Anholt +Date: Thu Jul 8 06:57:58 2004 +0000 + + Remove duplicate protos in kdrive.h. + +commit 764d9e822b01fdfe3ff088028959cbc48b349026 +Author: Carlos Romero +Date: Wed Jul 7 20:43:25 2004 +0000 + + missing xkb/[xkb.h, xkbDflts.h] and hw/kdrive/mga/g400_common.h + +commit f96ef08d48b01f6119799ede9ffc43d0134cbf8b +Author: Carlos Romero +Date: Wed Jul 7 19:21:07 2004 +0000 + + Initial kdrive XKB/XINPUT support, use --enable-xkb --enable-xinput + +commit a5c9b3229ce418a5e3eacc40b7a7f11c0a26d958 +Author: Rik Faith +Date: Wed Jul 7 04:32:52 2004 +0000 + + Bugzilla #817 + +commit 1498d7a096f0855fa965585acd9ca4a2780cc959 +Author: Kevin E Martin +Date: Tue Jul 6 23:51:00 2004 +0000 + + - Disable building DMX on OSs that have not been verified to build + correctly (Kevin Martin). + - Fix DMX build when Xinerama is not enabled (Kevin Martin). + +commit 0e45f2a7536bf4b66d6f64d96b44431310884af3 +Author: Egbert Eich +Date: Tue Jul 6 14:49:13 2004 +0000 + + ifdef'ed some IA32-only assembler statements. Presently these chipsets are + IA32 only, anyway (Egbert Eich). + Disabling generic VGA testing for IA64 architectures. Temporarily disabling + support for ZX1 bus. This code is extremely invasive and is executed as + fallback without testing for a ZX1 chipset. It brings a SGI Altrix to a + grinding halt. (Egbert Eich). + +commit df2b55a25b7056ac92c1f6cbee9f16bd0a37ba8c +Author: Egbert Eich +Date: Tue Jul 6 14:37:48 2004 +0000 + + Separated Intel drivers from default DriDrivers to avoid building them on + IA64 (Egbert Eich). + Fixed wrong function prototype (Egbert Eich). + Don't test for generic VGA on IA64 (Egbert Eich). + Fixed a segfault when accessing a structure before verifying the pointer + exists (Egbert Eich). + Added a showcache option for debugging (Egbert Eich). + Increase default video RAM size to 16MB when DRI is enabled and more than + 128MB are available (Egbert Eich). Fixed lockups during mode switch. + Problem was introduced when attempting to copy the behavior during + LeaveVT()/EnterVT() but but forgetting to call I810DRILeave() before + I810DRIEnter(). The entire DRILeave()/Enter() scenario has been + commented out as it didn't seem to be necessary (Egbert Eich). + Fix TweakMemorySize() (tested with i855/i865) (Egbert Eich). + increased MAX_DEVICES to 128 (Egbert Eich). + Use OS provided PCI config space access as default method (Egbert Eich). + Added support for Linux 2.6 proc file format. + Fixed unaligned accesses to pieces of the VBE info block. VESA did not + align elements to size (Egbert Eich). + +commit 7c466d64c34e68e0bc50e083861874161ae02db9 +Author: Eric Anholt +Date: Sat Jul 3 10:23:03 2004 +0000 + + Clean up Rage 128 composite code. Now it composites more operations + correctly and is simpler. + +commit 020701566916c8569f5af7f2efe1de36fea2002e +Author: Eric Anholt +Date: Sat Jul 3 09:16:30 2004 +0000 + + Add a "dirty" flag to the pixmap private. Clear it when setting up an + offscreen pixmap area, and set it when any rendering occurs. When + moving a pixmap out of offscreen, don't read data back if it wasn't + dirtied (compared to the system memory copy). + +commit fd594b0559caa98ee0823be956aecf9c9d2e52bc +Author: Phil Blundell +Date: Fri Jul 2 21:30:00 2004 +0000 + + Call ts_read multiple times, to avoid events getting stuck in the pipeline. + +commit 7976ee51afcad41b611e642d2feb31d805dedcf6 +Author: Kevin E Martin +Date: Wed Jun 30 20:06:56 2004 +0000 + + Add Distributed Multihead X (DMX) support + +commit d5db59bd79f5d8788b99056bf9d969b5b3ad99e1 +Author: Eric Anholt +Date: Tue Jun 29 20:37:51 2004 +0000 + + Add an offscreen area scoring to improve choosing offscreen areas to kick + out when allocation can't find a free area of the requested size. When + offscreen pixmaps get used, the offscreen area's score is increased by + a constant value. Every certain number of increases, all offscreen area + scores get decreased by a fraction. When choosing a set of areas to + remove for a new allocation, the set of areas with the smallest total + score is chosen for removal. While this is not the smartest system, it + prevents things like always removing the first offscreen area in memory + (likely the most recent) to be kicked out when doing replacing. + +commit ea78d1c6fcd27d28e69cb97faf72b7b719f6f93e +Author: Alan Coopersmith +Date: Mon Jun 28 18:08:26 2004 +0000 + + Add GLX_ALIAS_VOID for GLX_ALIAS of functions with return type void to fix + builds with non-gcc compilers that refuse to let you do return + function_that_returns_void(...) + programs/Xserver/hw/xfree86/os-support/shared/sigiostubs.c Remove includes + of xf86drm.h that break non-DRI builds + +commit 7ff67f2872ddd15908f789ec9bdb76e8211d6431 +Author: Keith Packard +Date: Mon Jun 28 00:48:51 2004 +0000 + + Separate out off-screen allocation from Init. Fix Enable to update + off-screen addresses. Wrap RandR to update off-screen addresses. + Set off_screen_base and memory_size fields correctly. + +commit 5b75aae2cf1ad38556e9a55da72ad65419aa7f84 +Author: Keith Packard +Date: Sat Jun 26 04:13:03 2004 +0000 + + Add ARGB cursor support for Radeon cards. + +commit 8bc0bc6d36dbc5000069017a1984905065164016 +Author: Alexander Gottwald +Date: Fri Jun 25 08:58:18 2004 +0000 + + #Bug 784: Ignore unconfigured interfaces with xdmcp + +commit c5ab3fdd928d12b4dc28108f2242b3b75e1ac65f +Author: Alexander Gottwald +Date: Fri Jun 25 08:56:04 2004 +0000 + + #Bug 780: add RRSetScreenConfig + +commit f8226cee08a00b49f32dc3db814478490febe45d +Author: Roland Mainz +Date: Fri Jun 25 00:02:11 2004 +0000 + + Fix for http://xprint.freedesktop.org/bugzilla/show_bug.cgi?id=791 - Adding + special support for Canon C3200N + +commit ad6b9644a39343437967b4c3b2442dbd47508443 +Author: Roland Mainz +Date: Thu Jun 24 06:26:27 2004 +0000 + + Fix for http://xprint.freedesktop.org/bugzilla/show_bug.cgi?id=660 : Fix + for the issue that GetPrinterList does not return printer descriptions + on Solaris. The patch implements a framework which allows the printer + enumerator scripts to pass additional printer attributes to the + information pool (currently only "xp-printerattr.descriptor" is + implemented). + +commit 884908a63c624585c9b5fcf22d565236298c2916 +Author: Roland Mainz +Date: Tue Jun 22 10:18:13 2004 +0000 + + Fix for http://xprint.freedesktop.org/bugzilla/show_bug.cgi?id=789 : Adding + a workaround for the issue that Xprt may hang when the CUPS spooler + frontend sends messages to stdout. + +commit c66cc2a219e860ae3c0b5d4ad18b22a6dc4e16df +Author: Alexander Gottwald +Date: Mon Jun 21 13:51:57 2004 +0000 + + Bug 783: rootless patches for cygwin + +commit ed7f92e791f052d64cffef4b44eae5160fb24689 +Author: Alexander Gottwald +Date: Mon Jun 21 13:44:14 2004 +0000 + + Bug 778: add ddxBeforeReset + +commit 68d92cca1a696521599db6a826d2187ec0c15f01 +Author: Alexander Gottwald +Date: Mon Jun 21 13:35:05 2004 +0000 + + Bug 782: Merge native OpenGL for Windows from CYGWIN branch + +commit d6e8b1affec7351549c0006cc63b6923091cdd68 +Author: Alexander Gottwald +Date: Mon Jun 21 13:19:32 2004 +0000 + + Bug 777: Merge from CYGWIN branch + +commit dfdbb60bf5f613b3554d5435f08f16bde72aa353 +Author: Roland Mainz +Date: Mon Jun 21 00:29:46 2004 +0000 + + Fix for http://xprint.freedesktop.org/bugzilla/show_bug.cgi?id=772 - RFE: + Switch default resolution from 300DPI to 600DPI + +commit dd831c7a5c1b0c540a78350aadaeb34a8aa67395 +Author: Roland Mainz +Date: Sat Jun 19 21:56:01 2004 +0000 + + Refix for http://freedesktop.org/bugzilla/show_bug.cgi?id=764 : Rework + previous solution and make Xprt to default to "-noreset" (the default + of Solaris version of Xprt) and add a "-reset" option which can be used + to restore the default behaviour on demand. + +commit da78a4ddd833f78baf1d2579a1adea8208016ddb +Author: Damien Ciabrini +Date: Wed Jun 16 21:36:54 2004 +0000 + + Update MGA composite patch commit. (some files were missing in the previous + commit) + +commit e56e24af252bd3b8e58076adf0f8eabf1103f187 +Author: Eric Anholt +Date: Wed Jun 16 09:37:59 2004 +0000 + + Merge DRI-trunk-20040613 changes in programs/Xserver/GL. + +commit 2e1868b560315a8b20d688e646c489a5ad93eeae +Author: Eric Anholt +Date: Wed Jun 16 09:25:21 2004 +0000 + + DRI trunk-20040613 import + +commit f45c46c630855e8e0d1c28b1f0d3b2ad54334619 +Author: Eric Anholt +Date: Wed Jun 16 09:25:15 2004 +0000 + + Initial revision + +commit 22bad9474b8822f03f84a8a39edce624bfb9befa +Author: Eric Anholt +Date: Wed Jun 16 09:22:17 2004 +0000 + + DRI XFree86-4_3_99_12-merge import + +commit 1c133c27ccc1f09b95922fdece3c8d73cc182def +Author: Eric Anholt +Date: Wed Jun 16 09:22:05 2004 +0000 + + Initial revision + +commit b61ff0daa4bd1e3b828dc5b985c3a2f3c92b202e +Author: Eric Anholt +Date: Wed Jun 16 09:16:01 2004 +0000 + + DRM 20040613 import + +commit bcc1eab1fd57e8cb686d625934a6e527b7ae4ea2 +Author: Eric Anholt +Date: Wed Jun 16 09:16:01 2004 +0000 + + Initial revision + +commit 580b9a7da1bf0e20acdcddd676d471b3d6589023 +Author: Jaymz Julian +Date: Mon Jun 14 08:43:57 2004 +0000 + + MGA composite support from Damien Ciabrini - thanks! + +commit 95d65cf6bb753d10f4db3d857fb98bb09389228e +Author: Alan Coopersmith +Date: Sun Jun 13 04:50:21 2004 +0000 + + Manual page X(7) does not reference Xprt(1x), xplsprinters(1x), etc. + xc/config/cf/Imake.rules Correct comment to match rule name for + InstallDriverSDKObjectModule + xc/programs/Xserver/hw/xfree86/os-support/sunos/sun_kbd.c Log results of + ioctls to probe keyboard type & layout + +commit 4ffde8a6b3299f002c10b1abd881e4c6849767ea +Author: Eric Anholt +Date: Thu Jun 10 19:22:58 2004 +0000 + + - Pass the right pixel mask (all ones) in to PrepareSolid in the + solid-fill-based composite acceleration. + - Use a real pixmap when doing an UploadToScratch (For pDrawable->type == + DRAWABLE_WINDOW, you need to get the backing pixmap). + - Pass back the x/y offsets from kaaGetOffscreenPixmap unconditionally, + because they'll be used in the scratch case. + - Turn on the Render acceleration for Rage 128 and Radeon 100-series at + last! + +commit c3bc6dd551436d5e37a07f37b3b77a83bb5b5da0 +Author: Eric Anholt +Date: Thu Jun 10 09:50:59 2004 +0000 + + Align scratch area offsets to the offscreen byte alignment. + +commit cf3f95d2164604047866b283fe0071574bf16dbc +Author: Eric Anholt +Date: Thu Jun 10 08:37:28 2004 +0000 + + Oops, testers reported that the last patch actually didn't work (conflicts + occurred), so the R300 PDMA doesn't work. Disable. + +commit 0b7647ee359537953b67b0dbf9daa807e356062b +Author: Eric Anholt +Date: Thu Jun 10 05:57:31 2004 +0000 + + Bug #242: Fix setup of R300 cards, by providing R300 CP code from + volodya-project and initializing PDMA. + +commit b3a18ca8b827cfe2ebb295a03a9776028242c1a0 +Author: Franco Catrin L +Date: Mon Jun 7 05:13:29 2004 +0000 + + Neomagic driver enabled + +commit 893ea125597f3c6273f45a51673d4dc514e754e9 +Author: Franco Catrin L +Date: Mon Jun 7 05:05:10 2004 +0000 + + small fixes. README added + +commit d9cca52feba13b69f3eea9e1d958b8a4711e7d67 +Author: Keith Packard +Date: Fri Jun 4 17:06:18 2004 +0000 + + Add (stubbed out) Xgl server code + +commit f8a1dd3ce725195baa6f38a880299752c6c6c2c4 +Author: Keith Packard +Date: Fri Jun 4 16:10:50 2004 +0000 + + Add top-level build support for GL X server (not working yet) + Fix a few allocation bugs with alternate visual ids Allow for non-8/8/8 + alternate visuals + Turn off any existing shadow before enabling it again (avoids + re-registering existing damage) + Add some validation code to catch re-registered damages + +commit 6741fadc52598af0096f106a2cefd640abb434b3 +Author: Phil Blundell +Date: Wed Jun 2 20:49:50 2004 +0000 + + New conditional. (REQUIRED_MODULES): Demand xcalibrateext if building + XCalibrate. + New file. + Add xcalibrate.c. + Read raw events if requested. + +commit d4d0c8470c4272dec642ab4c68f44a83cda06971 +Author: Phil Blundell +Date: Sun May 30 20:40:30 2004 +0000 + + Add -lts if using tslib. + +commit 8124810950d7e0b9db7f66dadee7218b0c26c4c3 +Author: Carlos Romero +Date: Sun May 30 13:51:18 2004 +0000 + + Initialize permedia engine for acceleration to work. + +commit ea1bbf8d83d3780ccce5ebcdff48f0b19863cee1 +Author: Ralph Thomas +Date: Sat May 29 12:15:46 2004 +0000 + + Adding driver for VIA CLE266 graphics chip. Currently it only accelerates + copy and fill operations. + +commit 6af411b02e808220d3afcef14abb97eec86cf1f3 +Author: Daniel Stone +Date: Fri May 28 04:56:49 2004 +0000 + + Hey, I like devfs. + Try /dev/fb/0 if /dev/fb0 fails. + +commit a7b42f685e7a4bf57cf89a3ef664a581ecedb50f +Author: Alexander Gottwald +Date: Thu May 27 14:11:42 2004 +0000 + + file ChangeLog was initially added on branch CYGWIN. + +commit 05a3dbf5dc55ea534c68fc9d05b3949805a0752e +Author: Egbert Eich +Date: Wed May 26 17:44:29 2004 +0000 + + Updated x86emu and resynced with upsteam at Scitech. + +commit 9549f628e066396e6bc9a7edfc919bdd6860f170 +Author: Alan Coopersmith +Date: Tue May 25 20:33:46 2004 +0000 + + getconfig: file '/usr/X11R6/lib/X11/getconfig/xorg.cfg' has bad signature + (Change "Xorg Project" to "Xorg Foundation" to match getconfig script) + +commit f8124d3ef5890d59c3ce41bee46b5e3576d0f9b1 +Author: Carlos Romero +Date: Tue May 25 13:02:44 2004 +0000 + + Add pm2 to the build + +commit 32d0920ef9ec3c5e61089b88dedc82ffab294276 +Author: Carlos Romero +Date: Mon May 24 19:31:41 2004 +0000 + + Initial import of Permedia2 driver + +commit 5b2211ec3545f1634f807daf84b6c4bc2c0fdecf +Author: Egbert Eich +Date: Mon May 24 19:05:01 2004 +0000 + + Muffle compiler warnings. + fix option name in log message. + improve debugging messages. + +commit 932efe8e6d4e6280aed9b5e25af56888c964d37b +Author: Keith Packard +Date: Fri May 21 03:32:27 2004 +0000 + + Allow for multiple composite-based visuals, then add an RGB24 visual in + addition to the ARGB32 one. This allows 'glitz' to run on top of any X + server using mesa. + Switch to using 32bpp for depth 24 pixmaps (even when the frame buffer is + not depth 24). + +commit cde51fd05b2bd413d8db8ad750e6a72398a7039c +Author: Keith Packard +Date: Thu May 20 19:51:44 2004 +0000 + + Miscomputing pitch in 24bpp modes because of rounding errors. + +commit b9d920f3dc060d230a4a7b2d40210524acf50666 +Author: Keith Packard +Date: Thu May 20 05:27:03 2004 +0000 + + Fix SYNC_ALWAYS (debugging) code to use mach64WaitIdle instead of + KdCheckSync -- the boolean used in the latter won't be set yet. + Oops. == instead of =. + Must sync hardware before rasterizing trapezoids in case the mask is in + off-screen memory and has just been erased. Yes, it is silly to place + masks in off-screen memory. That's a separate issue. + +commit 94648799c82e59166155ca5abf22a9391693e6a1 +Author: Keith Packard +Date: Thu May 20 02:42:20 2004 +0000 + + Pin header-only pixmaps in memory. + Off-screen reallocation could have used a stale pointer. + Separate framebuffer mapping computation from actual frame buffer mapping. + Now map the frame buffer from vesaEnable so that VT switch shares the + same mapping code. This makes sure any shadow framebuffer is allocated + again. + +commit cade317d31dddab61199d5e90bcff36fb12f3cd1 +Author: Eric Anholt +Date: Mon May 17 20:18:02 2004 +0000 + + Overhaul of the ATI driver: + - Add monochrome hardware cursor support. + - Try to auto-detect AGP support for DRI on Radeons. And fail. Detect it + properly on R128. + - Set up card for pseudo-DMA if possible. Convert 2D rendering code to + prepare DMA packets only. Use generic code to decode DMA packets to + MMIO if PDMA is unavailable. Add WIP code to support "real" DMA without + DRM support. + - Dispatch pending DMA commands when the server sleeps. Otherwise some + things, such as typing in an xterm, wouldn't show up for a time. + - Fix Radeon Composite acceleration in many ways, and add Rage 128 + Composite acceleration. Disable them both due to still-not-understood + issues they have. They fail with In, Out, AtopReverse, and Xor, and + text rendering is strange. + - Add textured XV support for R100 and Rage 128. No brightness/sat + controls, but it does support multiple ports, and cooperates with + Composite. + - Add WIP code for hostdata uploads. + - Many cleanups and fixes. + +commit 834537e212e01314b60737278b7abc6bb7cef102 +Author: Eric Anholt +Date: Mon May 17 07:19:49 2004 +0000 + + Make kaaMoveInPixmap public. This will be used by the ATI driver's xvideo + support to ensure that the destination is in framebuffer. + +commit 85f46e0bcdf60d145a6868ee71d10688c9113e6e +Author: Eric Anholt +Date: Mon May 17 07:14:23 2004 +0000 + + Add new CheckComposite hook. This allows a driver to avoid the migration of + pixmaps for a Composite operation if the operation can't be supported. + This hook is optional. + +commit 47fb207c8ae2b54e976066f78892a1ee3fb35d30 +Author: Alan Coopersmith +Date: Sun May 16 05:08:39 2004 +0000 + + xc/programs/Xserver/fb/fb.h + xc/programs/Xserver/fb/fboverlay.c + xc/programs/Xserver/fb/fbscreen.c + - Change #ifdef for checking for old format miScreenInit to + FB_OLD_MISCREENINIT for easier portability to xservers with updated + screen structs but old function prototypes. Make it automatically + defined if FB_OLD_SCREEN is defined. + - Add _LP64 to list of #ifdefs for 64-bit platforms to support + 64-bit Solaris. + +commit fc2dd516c3c7382915452207180a1c483d0d73ca +Author: Alan Coopersmith +Date: Sun May 16 00:03:54 2004 +0000 + + xc/programs/Xserver/hw/xfree86/xf86config/Imakefile + xc/programs/Xserver/hw/xfree86/xf86config/xorgconfig.c + - Clean up server name changes from TM branch + - Set default XKB rules file name correctly + - Use default font path from Imake configuration for the default font path + in generated xorg.conf files. + - Use path variables from Imake configuration for paths to files, in case + vendor has configured them to install somewhere other than the + defaults. + +commit b1aa9499ffb827f4b1acc75f197e332bba382565 +Author: Roland Mainz +Date: Sat May 15 14:43:05 2004 +0000 + + Fix for http://pdx.freedesktop.org/cgi-bin/bugzilla/show_bug.cgi?id=622 - + RFE: Xprt default BIGREQUESTS extension buffer size should be 8MB (to + make |XpPutDocumentData()| happy and to improve performance). + +commit 74b2a7694791297a4f798ecc05c7eb8f68634722 +Author: Eric Anholt +Date: Fri May 14 00:34:28 2004 +0000 + + Add new flag, KAA_OFFSCREEN_ALIGN_POT, which tells KAA to align pixmap + pitches to a power-of-two number of bytes. Useful for Render + acceleration on older cards. + +commit 2bea33e881693e7d7dcf938db79c888a71dfb2fb +Author: Eric Anholt +Date: Fri May 14 00:27:29 2004 +0000 + + Don't let the visible screen get "migrated" offscreen, which manifests + itself as a hang. + Reported by: Ginokas + +commit 40354e761892dc2ef88d2e722d8d7896642003eb +Author: Eric Anholt +Date: Thu May 13 22:57:15 2004 +0000 + + Add generic functions for copying packed/planar XV data, copied from + mach64. + +commit 2e330e980f61b256c55f5b9debb00574e4e85b26 +Author: Eric Anholt +Date: Thu May 13 21:41:48 2004 +0000 + + Move fourcc.h to a generic location in src/. + +commit f52a4d472d2463482d865c5006208182c294e670 +Author: Keith Packard +Date: Thu May 13 21:25:51 2004 +0000 + + Follow GLX in setting ARGB visual nplanes to 24. + Retry current mouse protocol when sync is lost + +commit aa5a87847290d49b03a33351ebfd8df652a42489 +Author: Eric Anholt +Date: Thu May 13 21:15:06 2004 +0000 + + There's no need to explicitly set softCursor -- kdrive handles this if the + cursor hooks aren't set. + +commit 4078457919708a8dbf9db8ee6e4871ecbf72518f +Author: Eric Anholt +Date: Wed May 12 01:49:46 2004 +0000 + + Fix problems in render fb implementation found by rendercheck: + - fbCombineSaturate was pointed at fbCombineDisjointOver, instead of + fbCombineDisjointOverReverse as it should. Instead, point + fbCombineDisjointOverReverse at fbCombineSaturate (which is likely to + be faster). + - fix previously-unused fbCombineSaturate implementation. + - fbCombineMaskAlphaC was just a copy of fbCombineMaskValueC. Make it do + what it's supposed to (return a cs.alpha). + - fbCombineAtopC didn't invert the source alpha value. + - fix copy'n'paste errors in fbCombine(Dis/Con)jointGeneralC, also source + alpha wasn't treated in a component fashion. + - fbCompositeSrc_8888* didn't handle when the source lacks an alpha + channel. Rather than adding that and possilby slowing down the (normal) + alpha case, don't let x8r8g8b8/x8b8g8r8 Pictures be used in + fbCompositeSrc_8888* because Over with one of these is just Src. + +commit a43d5412b4d79d67af20dc8af144a9ca80263e9d +Author: Alexander Gottwald +Date: Sun May 9 16:20:13 2004 +0000 + + file ChangeLog was initially added on branch CYGWIN. + +commit 0498d818fe40cb4eb03983e27a980791bbadf6db +Author: Roland Mainz +Date: Sat May 8 02:06:46 2004 +0000 + + Fix for http://pdx.freedesktop.org/cgi-bin/bugzilla/show_bug.cgi?id=608 + ("Can not print on Debian/CUPS due to error |Xprt_64:lpr: unable to + print file: server-error-not-accepting-jobs|"): Xprt did not setup the + list of supplementary group ids, causing print failure when the the + calling user must be a member in a specific group to be allowed to + print. + +commit 75d96afcc4a1f201da665bd73b7067e8e7139a3f +Author: Egbert Eich +Date: Thu May 6 17:31:17 2004 +0000 + + BugZilla #601: Fixing makedepend choking on floating point exception + because CHAR_BIT is defined to __CHAR_BIT__ which is a compiler + intrinsic define. BugZilla #605: Fixing build on IA64 which is broken + due to the inclusion of the kernel header asm/page.h. Kernel headers + however don't work with + -ansi. The inclusion of asm/page.h can however savely be removed as it + there are plenty of other ways to determine the page size. + +commit 7124cfaa006e840ba48dcc466c0dc8b34503a686 +Author: Keith Packard +Date: Thu May 6 16:19:32 2004 +0000 + + Use current resolution by default, change rate to 75 to match + fbdevModeSupported cut-off (?). Glenn McGrath + +commit e4ac2411eddf1f01ef9204f27b6d1ce8f1749439 +Author: Roland Mainz +Date: Thu May 6 01:53:52 2004 +0000 + + Fix for http://pdx.freedesktop.org/cgi-bin/bugzilla/show_bug.cgi?id=551 - + PS DDX will not build on platforms with BuildFreeType NO. Patch by Alan + Coopersmith . + +commit b1c65e1ca6828ea82ee7790f22c26503b0a5e17d +Author: Roland Mainz +Date: Thu May 6 00:24:32 2004 +0000 + + Fix for http://pdx.freedesktop.org/cgi-bin/bugzilla/show_bug.cgi?id=536 - + RFE: PS output should contain the FreeType2 version being used. + +commit 8d4f21ab53c44ca48501d6211ea6db0c0b8af916 +Author: Eamon Walsh +Date: Wed May 5 20:15:41 2004 +0000 + + Add XACE and XSELINUX extensions to the build system + +commit 0106715000196c7b349a0b4494b61545f0f5e138 +Author: Eamon Walsh +Date: Wed May 5 20:07:37 2004 +0000 + + Modify XC-SECURITY and XC-APPGROUP extensions to work with XACE + +commit 8526cd6395490b03b279f1962df777fb0e4a9878 +Author: Eamon Walsh +Date: Wed May 5 20:04:52 2004 +0000 + + Replace XC-SECURITY code with XACE security hooks + +commit 6d066cb10990d951449b342b40dec1f1b1ae593c +Author: Eamon Walsh +Date: Tue May 4 19:44:02 2004 +0000 + + Merge the new release from HEAD + +commit b5f200ce9d495c6ce94e0170909465a30e8799d9 +Author: Keith Packard +Date: Tue May 4 03:28:06 2004 +0000 + + Attached is a patch to fix a build error whe ncompiling with tslib support, + a variable wasnt set, i just changed it to be like the other + MAkefile.ams :) -- Glenn McGrath + +commit 5ca651e66f3d0ab189962bb4609b87a865364ef8 +Author: Alexander Gottwald +Date: Fri Apr 30 12:48:56 2004 +0000 + + file winmessages.h was initially added on branch CYGWIN. + +commit 2c2c1704b542f29fe5ac9917e1141040a0dbd3e9 +Author: Roland Mainz +Date: Thu Apr 29 23:59:15 2004 +0000 + + Fix for http://pdx.freedesktop.org/cgi-bin/bugzilla/show_bug.cgi?id=567 - + Xorg Xprt starts to consume 100% CPU when being idle for some time + (internal screensaver goes mad after 10mins) + +commit a8429d76103ff0f4fc61db86201c741f91bfcba2 +Author: Keith Packard +Date: Wed Apr 28 07:26:46 2004 +0000 + + Add completely fake X server -- draws to allocated buffer, has no keyboard + or mouse. + +commit 85e4e5445218d70f627fb132a8e8f18470e6749d +Author: Roland Mainz +Date: Mon Apr 26 11:07:03 2004 +0000 + + Work-in-progress for + http://pdx.freedesktop.org/cgi-bin/bugzilla/show_bug.cgi?id=542 - GLX + support for PS DDX / part #1: Fix visual setup (attachment #243) + +commit 46472cbee679f9757c4003a0dcf158aeb3852f47 +Author: Alan Coopersmith +Date: Mon Apr 26 02:39:58 2004 +0000 + + xc/config/cf/sun.cf + xc/config/cf/sv4Lib.rules + xc/programs/Xserver/Imakefile + xc/programs/Xserver/hw/xfree86/os-support/sunos/find_deps.pl Make Solaris + builds work when using MakeDllModules (it's not the default yet, but at + least it works now if you turn it on) Also improve default compiler, + optimizer, & linker flags for Solaris builds using either Sun cc or gcc + xc/programs/Xserver/cfb/Imakefile.inc + xc/programs/Xserver/cfb/stipsparc.s + xc/programs/Xserver/cfb/stipsprc32.s Remove text relocation error when + building shared versions + +commit 36e3e5430e1ca7103a4e0b796eb3817975b40d90 +Author: Roland Mainz +Date: Sun Apr 25 22:42:09 2004 +0000 + + Fix for http://pdx.freedesktop.org/cgi-bin/bugzilla/show_bug.cgi?id=541 - + Xorg Xprt may crash with "Freeing resource id=40200000 which isnt + there" + +commit 2fb588620030ad393f8500d60e16144d59e4effe +Author: Egbert Eich +Date: Fri Apr 23 19:54:30 2004 +0000 + + Merging XORG-CURRENT into trunk + +commit 0664db19bf37f9dd69cca6adff4e238e310c3092 +Author: Egbert Eich +Date: Fri Apr 23 18:54:16 2004 +0000 + + Merging XORG-CURRENT into trunk + +commit 68fd529608c58334f13beb88dbcc1d5db85b9b00 +Author: Roland Mainz +Date: Wed Apr 21 23:24:20 2004 +0000 + + Fix for http://pdx.freedesktop.org/cgi-bin/bugzilla/show_bug.cgi?id=535 - + Xprt should not annouce extensions which are not supported + +commit 1af13123fa79ad1c6747aad60ed458bbd69da12d +Author: Roland Mainz +Date: Wed Apr 21 10:03:41 2004 +0000 + + Fix for http://pdx.freedesktop.org/cgi-bin/bugzilla/show_bug.cgi?id=530 - + Land XPRINT branch on XORG-CURRENT + +commit 449e83a9470ec4bdd0871e2f263f608b24455423 +Author: Alan Coopersmith +Date: Sun Apr 18 03:00:43 2004 +0000 + + xc/lib/GL/glx/Imakefile + xc/lib/GL/mesa/src/Imakefile LargePICTable required for Solaris SPARC + builds + xc/programs/Xserver/hw/xfree86/drivers/glint/pm3_accel.c + xc/programs/Xserver/hw/xfree86/common/xf86Events.c Add != NULL to if + statements to get past syntax error reported by Sun Forte 6.1 cc. + xc/config/imake/imake.c + xc/config/cf/sun.cf + xc/config/cf/sunLib.tmpl Allow compiling with Sun compilers installed + somewhere other than /opt/SUNWspro + xc/programs/Xserver/hw/xfree86/common/compiler.h + xc/programs/Xserver/hw/xfree86/os-support/bus/Pci.h Check for + defined(sparc) as well as defined(__sparc__) since Sun compilers don't + define __sparc__ + +commit 425251a752805affb6ce14baa58d92c384f39501 +Author: Alan Coopersmith +Date: Sat Apr 17 18:47:05 2004 +0000 + + Bugzilla #495: LocalClientCred should use getpeerucred on Solaris 10 + +commit 7215fb186f076a24d0a04c9c20ac9b92cae1f49b +Author: Alan Coopersmith +Date: Fri Apr 16 00:21:24 2004 +0000 + + xc/programs/Xserver/hw/xfree86/os-support/sunos/sun_mouse.c Solaris mouse + enhancements, including autoprobe support, VUID wheel mouse events, and + streams module pushing. Bugzilla #434. (Russ Blaine & Alan Coopersmith, + Sun Microsystems) + xc/programs/Xserver/hw/xfree86/os-support/sunos/sun_init.c Xorg doesn't + reset console to text mode on Solaris x86 8 and later Bugzilla #469. + +commit c6c6d0de2309019999fa75a2f36a4f4a93ad2f31 +Author: Egbert Eich +Date: Thu Apr 15 10:17:35 2004 +0000 + + Merged changes from RELEASE-1 branch + +commit 9d24a5fa91bf165bbd2048a844edeb59b5e34aad +Author: Harold L Hunt II +Date: Wed Apr 14 00:01:22 2004 +0000 + + file XWinrc.man was initially added on branch CYGWIN. + +commit 01bb5eb5032a7566c86a51053146dba98a3ed749 +Author: Roland Mainz +Date: Tue Apr 13 03:16:46 2004 +0000 + + file psout_ftpstype3.c was initially added on branch XPRINT. + +commit cb3f3d8f2283d384dc5a3af3f38053cc8a2d192e +Author: Roland Mainz +Date: Tue Apr 13 03:16:46 2004 +0000 + + file psout_ft.c was initially added on branch XPRINT. + +commit 7cfb4c2b33ae2147b5d6ddc2afc8b777686a666f +Author: Roland Mainz +Date: Tue Apr 13 03:16:46 2004 +0000 + + file psout_ftpstype1.c was initially added on branch XPRINT. + +commit 4ae42e79d46d7db30f7b6f321bbb0d134862138d +Author: Roland Mainz +Date: Tue Apr 13 03:16:46 2004 +0000 + + file PsFTFonts.c was initially added on branch XPRINT. + +commit b5fb71922b02024aa5a8f349c9d2c956e2f83f0f +Author: Roland Mainz +Date: Tue Apr 13 03:16:45 2004 +0000 + + file xprint.sh was initially added on branch XPRINT. + +commit ca9a9a58be51a21f123b11dd68047034696cae84 +Author: Roland Mainz +Date: Tue Apr 13 03:16:45 2004 +0000 + + file xprint.csh was initially added on branch XPRINT. + +commit 7c1f840108172d6b18af47465ea72f4820640598 +Author: Roland Mainz +Date: Tue Apr 13 03:16:45 2004 +0000 + + file cde_xsessiond_xprint.sh was initially added on branch XPRINT. + +commit 579221198aeac7010435b29db1ad8fe9ee2d7c5d +Author: Roland Mainz +Date: Tue Apr 13 03:16:44 2004 +0000 + + file spooler.c was initially added on branch XPRINT. + +commit 7677b4992fee7eb73cc97914163dcf689ad13d6a +Author: Roland Mainz +Date: Tue Apr 13 03:16:44 2004 +0000 + + file spooler.h was initially added on branch XPRINT. + +commit d3907ca519b476c99e29a58c22258f22dbe63244 +Author: Roland Mainz +Date: Tue Apr 13 03:16:44 2004 +0000 + + file document was initially added on branch XPRINT. + +commit 3646bb9c894d5f011e2df4fac402118d8350102e +Author: Roland Mainz +Date: Tue Apr 13 03:16:39 2004 +0000 + + file spooltodir.sh was initially added on branch XPRINT. + +commit 8c006df3c6d8e5ac95f0b0fa38a030100541598f +Author: Roland Mainz +Date: Tue Apr 13 03:16:39 2004 +0000 + + file model-config was initially added on branch XPRINT. + +commit 95a84bc0cb809e5c7141d0411e329a3ec300b8aa +Author: Roland Mainz +Date: Tue Apr 13 03:16:38 2004 +0000 + + file ZapfDingbats.pmf was initially added on branch XPRINT. + +commit 5527b39e668ea7a88c41186dbb6d7b66e892547a +Author: Roland Mainz +Date: Tue Apr 13 03:16:38 2004 +0000 + + file Times-Roman.pmf was initially added on branch XPRINT. + +commit 69c405ac66b1a15076e247dd1b578b7b4b210b00 +Author: Roland Mainz +Date: Tue Apr 13 03:16:38 2004 +0000 + + file Times-Italic.pmf was initially added on branch XPRINT. + +commit b6b75f677292ed0c694921df0abf40038dd5e99d +Author: Roland Mainz +Date: Tue Apr 13 03:16:38 2004 +0000 + + file Times-BoldItalic.pmf was initially added on branch XPRINT. + +commit 6605566bcf008551d33a9a68bd03e9a0c57c4f60 +Author: Roland Mainz +Date: Tue Apr 13 03:16:38 2004 +0000 + + file Souvenir-LightItalic.pmf was initially added on branch XPRINT. + +commit 38ad2972bffea1019214785ee479f7670ca70d1f +Author: Roland Mainz +Date: Tue Apr 13 03:16:38 2004 +0000 + + file Souvenir-Light.pmf was initially added on branch XPRINT. + +commit 10d8eace174a9778a3313ac36a3422637b020d5f +Author: Roland Mainz +Date: Tue Apr 13 03:16:38 2004 +0000 + + file Souvenir-DemiItalic.pmf was initially added on branch XPRINT. + +commit fb5ac8e2bdfe1217663679f5eae8045473456752 +Author: Roland Mainz +Date: Tue Apr 13 03:16:38 2004 +0000 + + file NewCenturySchlbk-Roman.pmf was initially added on branch XPRINT. + +commit 5ec311b05dc1e509c115ccca808ee05090cfddad +Author: Roland Mainz +Date: Tue Apr 13 03:16:38 2004 +0000 + + file NewCenturySchlbk-Italic.pmf was initially added on branch XPRINT. + +commit 70947a8f1addf4ca17e50d9e6ae590266ac446cc +Author: Roland Mainz +Date: Tue Apr 13 03:16:38 2004 +0000 + + file Symbol.pmf was initially added on branch XPRINT. + +commit 436ff77b21515cd9fe9732e0bd5361f2bfba44ed +Author: Roland Mainz +Date: Tue Apr 13 03:16:38 2004 +0000 + + file Times-Bold.pmf was initially added on branch XPRINT. + +commit 4db563027844245d6c9085f997e75da743410885 +Author: Roland Mainz +Date: Tue Apr 13 03:16:38 2004 +0000 + + file NewCenturySchlbk-Bold.pmf was initially added on branch XPRINT. + +commit 79110faa2eac849756b859071ce68fba64de57aa +Author: Roland Mainz +Date: Tue Apr 13 03:16:38 2004 +0000 + + file NewCenturySchlbk-BoldItalic.pmf was initially added on branch XPRINT. + +commit 4e1ae7e9cc04806f4436759764cc680ecf1f014c +Author: Roland Mainz +Date: Tue Apr 13 03:16:38 2004 +0000 + + file Souvenir-Demi.pmf was initially added on branch XPRINT. + +commit 433913bacf988908b94c420452c042eebcb381ac +Author: Roland Mainz +Date: Tue Apr 13 03:16:38 2004 +0000 + + file LubalinGraph-Demi.pmf was initially added on branch XPRINT. + +commit d5bae63138ab833fdd56bb983436ac514536d7b6 +Author: Roland Mainz +Date: Tue Apr 13 03:16:38 2004 +0000 + + file LubalinGraph-DemiOblique.pmf was initially added on branch XPRINT. + +commit 3acd6856617e784ee30333dc9b779189a3f44052 +Author: Roland Mainz +Date: Tue Apr 13 03:16:38 2004 +0000 + + file LubalinGraph-Book.pmf was initially added on branch XPRINT. + +commit 5f73192458136fe4b6b82372c3b1653fbf831ebd +Author: Roland Mainz +Date: Tue Apr 13 03:16:38 2004 +0000 + + file Helvetica.pmf was initially added on branch XPRINT. + +commit e129abc3bf269e857aa65065cc18a31a56ba0373 +Author: Roland Mainz +Date: Tue Apr 13 03:16:38 2004 +0000 + + file Helvetica-Oblique.pmf was initially added on branch XPRINT. + +commit 576a4cddf995082d10e2e29e1b58c1564eb11ee7 +Author: Roland Mainz +Date: Tue Apr 13 03:16:38 2004 +0000 + + file Helvetica-BoldOblique.pmf was initially added on branch XPRINT. + +commit cf26c87833a79427b665abce67ca19f2b68bc8e5 +Author: Roland Mainz +Date: Tue Apr 13 03:16:38 2004 +0000 + + file Helvetica-Bold.pmf was initially added on branch XPRINT. + +commit a091408c372a2aa89fb83b023248f45aa8cd4173 +Author: Roland Mainz +Date: Tue Apr 13 03:16:38 2004 +0000 + + file Courier.pmf was initially added on branch XPRINT. + +commit 9e4221d08ff9a408fb25a32887390b14788b1558 +Author: Roland Mainz +Date: Tue Apr 13 03:16:38 2004 +0000 + + file Courier-Oblique.pmf was initially added on branch XPRINT. + +commit 6b2674078079a5959a2b7758e6c628a14ec1a46c +Author: Roland Mainz +Date: Tue Apr 13 03:16:38 2004 +0000 + + file Courier-BoldOblique.pmf was initially added on branch XPRINT. + +commit 6aee2d37b95170a65ee08c0866c425f115ebc9f1 +Author: Roland Mainz +Date: Tue Apr 13 03:16:38 2004 +0000 + + file LubalinGraph-BookOblique.pmf was initially added on branch XPRINT. + +commit 7a59fe1dd987e1ef0abd92e0ac80dd87a15137fe +Author: Roland Mainz +Date: Tue Apr 13 03:16:38 2004 +0000 + + file AvantGarde-Demi.pmf was initially added on branch XPRINT. + +commit 22e0316acc8992033fc82a38f663fce130e4031b +Author: Roland Mainz +Date: Tue Apr 13 03:16:38 2004 +0000 + + file AvantGarde-DemiOblique.pmf was initially added on branch XPRINT. + +commit f8aded3a7f8c97731e33b4362243da947fb4e774 +Author: Roland Mainz +Date: Tue Apr 13 03:16:38 2004 +0000 + + file AvantGarde-Book.pmf was initially added on branch XPRINT. + +commit 2224187c05d4dc05f7e03e22307cf7816d69f789 +Author: Roland Mainz +Date: Tue Apr 13 03:16:38 2004 +0000 + + file AvantGarde-BookOblique.pmf was initially added on branch XPRINT. + +commit 9eafaaf83294d1988b30bde4485a299cf8ae5035 +Author: Roland Mainz +Date: Tue Apr 13 03:16:38 2004 +0000 + + file Courier-Bold.pmf was initially added on branch XPRINT. + +commit f9eea9864e333efde97143278916da44639cc18a +Author: Roland Mainz +Date: Tue Apr 13 03:16:38 2004 +0000 + + file ps2pdf_spooltodir.sh was initially added on branch XPRINT. + +commit 20248eedd69c42c27605d7bcfb265994f5846f17 +Author: Franco Catrin L +Date: Sun Apr 11 16:39:48 2004 +0000 + + fixed Changelog format + +commit bc7168ee763ffac9cbb992096a53b346cd640a13 +Author: Franco Catrin L +Date: Sun Apr 11 16:24:03 2004 +0000 + + Added ROP + +commit 784d37ee369b94c83c4cc6e280a39f32da8aa678 +Author: Franco Catrin L +Date: Sun Apr 11 15:51:04 2004 +0000 + + Fixed size calculation in solid rendering + +commit 056322336cbb6093d74aa9d22bbfd42e2248a16a +Author: Franco Catrin L +Date: Sun Apr 11 15:20:17 2004 +0000 + + Basic bitblt implementation + +commit c231856a1343e38381e1b4e545ff1ac279141bf0 +Author: Franco Catrin L +Date: Sun Apr 11 00:53:10 2004 +0000 + + First acceleration function implemented (DrawSolid) + +commit 47436a8af82a00d0d392cef4d5906729d9a37649 +Author: Franco Catrin L +Date: Sun Apr 11 00:15:57 2004 +0000 + + Finnally got MMIO working all timecat ChangeLog cat ChangeLog cat ChangeLog + :-D + +commit 1740b938e4c4f1cd3de700ea26143b01c0312325 +Author: Franco Catrin L +Date: Tue Apr 6 18:09:44 2004 +0000 + + Return back to VESA only version + +commit 07bc231872e7e056fa3049a0fcd963c61f826f80 +Author: Franco Catrin L +Date: Mon Apr 5 18:19:34 2004 +0000 + + small fixes, but still can't get this driver woking again + +commit b526276faa765df893197e04370a915ed73947dc +Author: Brent Cook +Date: Mon Apr 5 02:52:35 2004 +0000 + + removed hardcoded vesa references so we can operate with any backend. fbdev + works for initializing the screen, but input fails shortly after. + +commit 920e6ff81baeec16465f81bacbcff711ce82e149 +Author: Brent Cook +Date: Sun Apr 4 07:30:07 2004 +0000 + + Begin separating VESA calls into a more generic backend wrapper like the + ati driver, cascading between VESA and FBDEV. We only have init + functions done so far; need to add all of the others. Fixed some + compiler warnings. Whitespace and formatting cleanups (using 4 spaces, + no tabs) + +commit 530371ceaf7f593badf38bbc2d2e50f6a920d24f +Author: Brent Cook +Date: Sat Apr 3 22:26:37 2004 +0000 + + added touchscreen support, detect all known PCI chips in the Neomagic line. + We'll not bother with ISA for now. + +commit 962b898868dcab959c390986dcb0b4dd750dc107 +Author: Brent Cook +Date: Sat Apr 3 22:22:48 2004 +0000 + + initial import of original driver by Franco Catrin L. Wraps VESA for most + parts, with some hardware acceleration enabled for the cursor on the + NM2300. + +commit 8a2fce3b90b5efc8bab19675cb8e02690e24442e +Author: Harold L Hunt II +Date: Sat Apr 3 05:01:21 2004 +0000 + + file winkeyhook.c was initially added on branch CYGWIN. + +commit 12d5371ed2fbefab069dea46be972a7269b8c2db +Author: Stuart Kreitman +Date: Tue Mar 30 18:31:54 2004 +0000 + + file xfixes.h was initially added on branch DAMAGE-XFIXES. + +commit a4b319dbf375461c975450659723e6326153e536 +Author: Stuart Kreitman +Date: Tue Mar 30 18:31:54 2004 +0000 + + file xfixes.c was initially added on branch DAMAGE-XFIXES. + +commit 5319d30d45d5f8ec04a496327f32cc6431c6a511 +Author: Stuart Kreitman +Date: Tue Mar 30 18:31:54 2004 +0000 + + file select.c was initially added on branch DAMAGE-XFIXES. + +commit 76f247bd0ef23d688028c63b5f8bd3e9ad6b1b45 +Author: Stuart Kreitman +Date: Tue Mar 30 18:31:54 2004 +0000 + + file saveset.c was initially added on branch DAMAGE-XFIXES. + +commit 83f0f1babb612774f609c71879a225c43f63ac1f +Author: Stuart Kreitman +Date: Tue Mar 30 18:31:54 2004 +0000 + + file cursor.c was initially added on branch DAMAGE-XFIXES. + +commit 52bc7693dbe7e3db916f8d463d9a750e3c6ffa4d +Author: Stuart Kreitman +Date: Tue Mar 30 18:31:54 2004 +0000 + + file region.c was initially added on branch DAMAGE-XFIXES. + +commit 5d9098cb17cd88cfdf49de92bec2a787d6681649 +Author: Stuart Kreitman +Date: Tue Mar 30 18:31:54 2004 +0000 + + file xfixesint.h was initially added on branch DAMAGE-XFIXES. + +commit ace9aa7c45ff2ea6b3476006574da5c27d05afd4 +Author: Stuart Kreitman +Date: Tue Mar 30 17:41:24 2004 +0000 + + file damage.c was initially added on branch DAMAGE-XFIXES. + +commit 72dc7569c6bbc216f613be21ea4f79d3ef1d5534 +Author: Stuart Kreitman +Date: Tue Mar 30 17:41:24 2004 +0000 + + file damage.h was initially added on branch DAMAGE-XFIXES. + +commit 95da7b7e061b6925d8cd85bc7b25708ff253fcb1 +Author: Stuart Kreitman +Date: Tue Mar 30 17:41:24 2004 +0000 + + file damagestr.h was initially added on branch DAMAGE-XFIXES. + +commit 629c3792225cec28572081ebc8dda3fd803fe616 +Author: Egbert Eich +Date: Tue Mar 30 14:23:15 2004 +0000 + + 36. Conversion: __AMD64__ > __amd64__ (Egbert Eich). + 35. Fixed stretching option and centering in C&T driver (Egbert Eich). + 34. Added support for memory size tweaking in BIOS for i845 (Egbert Eich, + thanks to Christian Ziez) + 33. Removed video playback dependency on Accel in NSC drivers (Egbert + 3Eich). + 32. Fix HW cursor state on Savage driver when entering VT as some BIOSes + seem to enable it unconditionally (Egbert Eich). + 31. Fixed Emulate3Button message to distinguish between 'hard' (ie. + configured) and 'soft' (ie. automatic emulation that is disabled as + soon as the middle button is pressed) (Egbert Eich). + 30. Free XrmDB in XCloseDisplay() only when implicitely allocated by + XGetDefaults(). If Client allocates it itself it should free it also. + Trying to free it for the client may result in segfault if the client + has already freed it (Egbert Eich). + +commit b5e400867feab935aa04e9aadb12deb0601b7f83 +Author: Egbert Eich +Date: Tue Mar 30 14:14:31 2004 +0000 + + - backing out XFIXES and DAMAGE related code that accidentally went in + here. + +commit 0017ddaa6406524d0a86ff7020eed4c33758ddbd +Author: Stuart Kreitman +Date: Tue Mar 30 02:16:15 2004 +0000 + + file damageextint.h was initially added on branch DAMAGE-XFIXES. + +commit 4b5112fd0593b34e6e096d88b0841a28636600f6 +Author: Stuart Kreitman +Date: Tue Mar 30 02:16:15 2004 +0000 + + file damageext.c was initially added on branch DAMAGE-XFIXES. + +commit 733bfa4b5dd5255713a98f390a1fb65be6e16c2d +Author: Stuart Kreitman +Date: Tue Mar 30 02:16:15 2004 +0000 + + file damageext.h was initially added on branch DAMAGE-XFIXES. + +commit b1ed473ef2e1da99d7fe3df14fdef4d8b6365626 +Author: Harold L Hunt II +Date: Tue Mar 30 00:31:28 2004 +0000 + + file winrandr.c was initially added on branch CYGWIN. + +commit fec5095bdfb376d0046e2f52188c68bef4e31fd7 +Author: Keith Packard +Date: Sun Mar 28 07:14:30 2004 +0000 + + file xorgcfg.man was initially added on branch XORG-RELEASE-1-TM. + +commit 136a9364be80f407f498e9e9695cadaab39227ad +Author: Keith Packard +Date: Sun Mar 28 07:14:30 2004 +0000 + + file XOrgCfg.cpp was initially added on branch XORG-RELEASE-1-TM. + +commit 881afb356d6992bcfbbfcbdf31f1f71c64d648da +Author: Keith Packard +Date: Sat Mar 27 17:01:11 2004 +0000 + + file Xorg.man was initially added on branch XORG-RELEASE-1-TM. + +commit d2119ac7c56ba94db1d8639937b13e72288a328c +Author: Keith Packard +Date: Sat Mar 27 17:01:11 2004 +0000 + + file xorg.conf.man was initially added on branch XORG-RELEASE-1-TM. + +commit 5a9f3a36a35549f30fc67a8e3a3e9a201efb91ec +Author: Egbert Eich +Date: Fri Mar 26 20:02:03 2004 +0000 + + file xorgHelper.c was initially added on branch XORG-RELEASE-1-TM. + +commit b2b0e70fe5c65c8f2d518f5f0ce89a86938701ed +Author: Egbert Eich +Date: Fri Mar 26 19:54:39 2004 +0000 + + file xorgconf.cpp was initially added on branch XORG-RELEASE-1-TM. + +commit 83880dd464a415d3d0efa546b1f0b9887342e809 +Author: Alan Coopersmith +Date: Fri Mar 26 17:11:49 2004 +0000 + + 29. XkbWriteRulesProp fails if XkbRulesFile is NULL. Bug #376. (Alan + Coopersmith) + +commit 861a33678243349b987ff30912985968ede8ac84 +Author: Stuart Kreitman +Date: Fri Mar 26 01:22:18 2004 +0000 + + oops + +commit 23d552bbef2984afee889f82ded154478548ee15 +Author: Egbert Eich +Date: Thu Mar 25 11:00:52 2004 +0000 + + file xorg.cfg was initially added on branch XORG-RELEASE-1-TM. + +commit d1e52f13ad4610ec4907432c21384d08d6aaaf27 +Author: Stuart Kreitman +Date: Thu Mar 25 05:11:16 2004 +0000 + + oops + +commit f0336f18ee4106050104cb060c38fe87541615da +Author: Stuart Kreitman +Date: Thu Mar 25 03:45:49 2004 +0000 + + built,working DAMAGE/XFIXES in mono tree + +commit f1394ec3cec09ff9c5fbbff3c1f595a642b25f91 +Author: Torrey Lyons +Date: Wed Mar 24 22:15:25 2004 +0000 + + Change XFree86 Project to X.Org Foundation in localized XDarwin splash + screens. + +commit d2bbcc0deed3a607d347ed4ef07ded9bcb44f1bb +Author: Torrey Lyons +Date: Wed Mar 24 22:12:34 2004 +0000 + + Change XFree86 Project to X.Org Foundation in XDarwin splash screen. + +commit 84d25a5e178835234261a63f0a1b8131c01bbe1f +Author: Egbert Eich +Date: Wed Mar 24 15:58:45 2004 +0000 + + file xorgVersion.h was initially added on branch XORG-RELEASE-1-TM. + +commit 685d1630c1540e29644849254bd45708aa5763bb +Author: Egbert Eich +Date: Tue Mar 23 12:46:30 2004 +0000 + + file xorgconfig.man was initially added on branch XORG-RELEASE-1-TM. + +commit 6631bd586f74f89e2dce74fe1cc25ee982883323 +Author: Egbert Eich +Date: Tue Mar 23 12:46:30 2004 +0000 + + file xorgconfig.c was initially added on branch XORG-RELEASE-1-TM. + +commit 05a16f4acce3b6ef4ddafe044f96774de3f75b7c +Author: Alexander Gottwald +Date: Mon Mar 22 13:43:35 2004 +0000 + + file glwindows.h was initially added on branch CYGWIN. + +commit 3c2e2d9ae0704931737bb0879a49a8575a07d13b +Author: Kaleb Keithley +Date: Sun Mar 21 22:55:35 2004 +0000 + + bug #357. Fix XDarwin so it builds on Mac OS X 10.2 and earlier. Merged + down from -RELEASE-1-TM and -RELEASE-1 + +commit 122be5328ffea0a3b92612b8ea0f5b02736ac175 +Author: Kaleb Keithley +Date: Fri Mar 19 23:16:06 2004 +0000 + + no bug report. Restore Credits to the hw/darwin ddx that were deleted + previously. RTF may or may not be "human readable," but with a little + effort it's about as readable as SGML, IMNSHO. + +commit 551c93da612923f8d32707adc16431979bad6fb0 +Author: Harold L Hunt II +Date: Mon Mar 15 04:33:23 2004 +0000 + + file winkeynames.h was initially added on branch CYGWIN. + +commit 0c97b290015186acbaadae9a9bf79f37c3d38b40 +Author: Harold L Hunt II +Date: Mon Mar 15 04:33:23 2004 +0000 + + file winkeymap.h was initially added on branch CYGWIN. + +commit dae90c3af98edd5e95289abd930b3872c996c503 +Author: Egbert Eich +Date: Sun Mar 14 08:34:49 2004 +0000 + + Importing vendor version xf86-4_4_99_1 on Sun Mar 14 00:26:39 PST 2004 + +commit 4e996f9d76f51e9b1e33bef610bb9c2a746c8b9c +Author: Alexander Gottwald +Date: Fri Mar 12 21:05:47 2004 +0000 + + file winpriv.c was initially added on branch CYGWIN. + +commit c79b4bfd15534de12aaf8eca9965403b4913ca4b +Author: Alexander Gottwald +Date: Fri Mar 12 21:05:47 2004 +0000 + + file winpriv.h was initially added on branch CYGWIN. + +commit 24c02f84cc31475bfba27417dfef66b11c09b25c +Author: Harold L Hunt II +Date: Fri Mar 12 01:11:23 2004 +0000 + + file X-boxed.ico was initially added on branch CYGWIN. + +commit 45b638b87f0daf94f9fce566179775fb2889c663 +Author: Daniel Stone +Date: Wed Mar 10 11:49:11 2004 +0000 + + Twenty link errors for Xizzle now - count 'em. 20. + Get rid of all references to SCO. + Change SDK include dir to $(includedir)/xizzle. Add SDK libs where + necessary. + Reformat to be nicer and easier to shuffle around; also, fix lib ordering + so we get so much closer to the elusive final link. Shuffle + common/xf86Init.c into libxizzle.a. + Fix a couple of early snafus - s/BUILDXI/XINPUT/, et al; make the SDK stuff + conditional as needed; fix the SBus includes. + Name library os-support/libxizzleos.a, not os-support/foo/libxizzlefoo.a. + Clean up ARCH_SOURCES so it's always initialised to something. + Move linked libraries to _LIBADD, which somehow escaped my attention. Make + inclusion of drm/libxizzlelinuxdrm.a dependent on DRI. + s/VERSION/VBE_VERSION/; + Axe this redundant dir. + All Xizzle-specific: axe hw/xizzle/Xi, shuffle link order, fix list of + required modules to be vaguely sane, add some pertinent libs/incs. + +commit 519f76a0867fb2711d311b7929632408c3633e37 +Author: Alan Coopersmith +Date: Sun Mar 7 23:45:10 2004 +0000 + + 24. Update license for Xinerama code from DEC to the version requested by + Compaq for X11R6.5.1 that allows redistribution without written + permission from DEC. Originally X.org Defect #9263. freedesktop.org + bugzilla #283. (Alan Coopersmith) + +commit 505fe2ba307e9270627ca7f3cb6b4e1dbacc327b +Author: Egbert Eich +Date: Fri Mar 5 13:41:12 2004 +0000 + + 23. Merged with XFree86 4.4.0. Added changes that went into infected files. + Reverted darwin/bundle/**/Credits.rtf to XFree86 versions to avoid + future conflicts on ASCII but not humal readable files. (There should + probably be separate CreditsXorg.rtf files) (Egbert Eich). + +commit 1b22db1ebcf1ba98ca8519fa38210e275373f8f6 +Author: Alan Coopersmith +Date: Thu Mar 4 02:13:09 2004 +0000 + + 21. X server crashes when X-Resource has to byte-swap. Sun bug #5007488. + freedesktop.org bugzilla #267. (Alan Coopersmith) + +commit 47c9395969593a4e897e8c8110d5f2414e47b06a +Author: Alan Coopersmith +Date: Wed Mar 3 17:03:46 2004 +0000 + + file solaris-ia32.S was initially added on branch XORG-CURRENT. + +commit ed066cc67b1fca03fb38c80ecb8194b5b40963be +Author: Alan Coopersmith +Date: Wed Mar 3 17:03:46 2004 +0000 + + Enable inlining of assembly functions for inX/outX on Solaris 8 with Sun + compilers + +commit 867451f1ab7b9870621725bd4be3dd8694c364b8 +Author: Egbert Eich +Date: Wed Mar 3 12:12:50 2004 +0000 + + Importing vendor version xf86-4_4_0 on Wed Mar 3 04:09:24 PST 2004 + +commit 2934f0731b3d2bc9c1e25ceab26d9e0d9cadb054 +Author: Harold L Hunt II +Date: Tue Mar 2 20:00:16 2004 +0000 + + file winvalargs.c was initially added on branch CYGWIN. + +commit f72efebf280547c80ff7010e32f56416e7121164 +Author: Harold L Hunt II +Date: Tue Mar 2 19:26:34 2004 +0000 + + Replace a handful of calls to ErrorF and exit(1) with a single call to + FatalError. These direct calls to exit(1) made it impossible to do + anything ddx-specific in these cases; note that most of these calls + occur during argument processing. + +commit 7557d4da10cc482fcec40acadf7744b04c1615a0 +Author: Kaleb Keithley +Date: Tue Mar 2 19:00:06 2004 +0000 + + bug #230 Revert to Xinerama 1.1 In order to make a "quick" release it has + been decided that the priority is to preserve the server's internal + API/ABI so that third-party drivers that depend on symbols like + noPanoramiXExtension, etc., would not need to be recompiled. Toobad gcc + on Linux doesn't support ELF's weak symbols as that would have been a + reasonable solution for preserving the ABI. N.B.: While symbols, i.e. + functions and variables revert to the old name, I did not revert build + names, i.e. -DXINERAMA, to the old -DPANORAMIX. There was no need, and + it's just a build issue that has no impact on the binary output of the + build. + +commit 215a13aa8f537dcb62b0a2f6d335901ee47e9e9b +Author: Alan Coopersmith +Date: Mon Mar 1 16:38:20 2004 +0000 + + Add the .stab.indexstr section produced by Sun's compilers to the list of + SHT_STRTAB sections with debug information to ignore when loading ELF + objects. + +commit d87b05563dc13ba8d9825ec3bb772702dce6c9fe +Author: Harold L Hunt II +Date: Mon Mar 1 03:33:28 2004 +0000 + + file indirect.c was initially added on branch CYGWIN. + +commit f81d63ec5396c8d7f62ddd6ff6bab10b32493264 +Author: Kaleb Keithley +Date: Sun Feb 29 20:11:11 2004 +0000 + + bug #240 Instead of both Meta keys generating Meta_L, and both Alt keys + generating Alt_L, etc, fix the implementation so that you get Meta_L + for the left Meta key and Meta_R for the right Meta key. Ditto for Alt, + Control, and Shift. + +commit 6c412a43e42538a51d3a4d92a6db12b0b6cf0e9b +Author: Jaymz Julian +Date: Sat Feb 28 09:47:55 2004 +0000 + + sdl x server so that we can x-on-x the fb stuff for ease of debugging. if + anyone uses this in production, a big scary monster will eat them. hrm, + perhaps i should make it have a --i-know-what-i'm-doing param that it + doens't start without, heh + +commit bb93fef9877a885da2c6108410155fa996b19abf +Author: Kaleb Keithley +Date: Fri Feb 27 19:35:49 2004 +0000 + + bug #238 test for root-window that XFree86 fixed in their + programs/Xserver/Xext/shm.c + 3.37 and programs/Xserver/Xext/xvdisp.c 1.26 got zapped when Xinerama2 was + merged into the tree. (Xinerama has since been reverted to 1.1, but + that's another story.) + +commit cb718ce08eb25c3999c91b8d614fb88237fad03d +Author: Kaleb Keithley +Date: Fri Feb 27 16:17:12 2004 +0000 + + Revert to Xinerama 1.1 In order to make a "quick" release it has been + decided that the priority is to preserve the server's internal API/ABI + so that third-party drivers that depend on symbols like + noPanoramiXExtension, etc., would not need to be recompiled. Toobad gcc + on Linux doesn't support ELF's weak symbols as that would have been a + reasonable solution for preserving the ABI. N.B.: While symbols, i.e. + functions and variables revert to the old name, I did not revert build + names, i.e. -DXINERAMA, to the old -DPANORAMIX. There was no need, and + it's just a build issue that has no impact on the binary output of the + build. + +commit df0313d35bc89abe9374ed25533db283430716e0 +Author: Egbert Eich +Date: Thu Feb 26 13:36:15 2004 +0000 + + readding XFree86's cvs IDs + +commit 147aae87fde5edeed395f77e60f0f8e812d3b6af +Author: Egbert Eich +Date: Thu Feb 26 09:23:53 2004 +0000 + + Importing vendor version xf86-4_3_99_903 on Wed Feb 26 01:21:00 PST 2004 + +commit 8844423f890194bcb0419a38249029f1997c8c66 +Author: Stuart Kreitman +Date: Wed Feb 25 23:28:43 2004 +0000 + + file xevie.c was initially added on branch XEVIE. + +commit b052486adb9ea26f37be120966eb60cd3ac3db2f +Author: Kaleb Keithley +Date: Wed Feb 25 21:47:10 2004 +0000 + + bug #230 Revert to Xinerama 1.1 In order to make a "quick" release it has + been decided that the priority is to preserve the server's internal + API/ABI so that third-party drivers that depend on symbols like + noPanoramiXExtension, etc., would not need to be recompiled. Too bad + gcc on Linux doesn't support ELF's weak symbols as that would have been + a reasonable solution for preserving the ABI. N.B.: While symbols, i.e. + functions and variables revert to the old name, I did not revert build + names, i.e. -DXINERAMA, to the old -DPANORAMIX. There was no need, and + it's just a build issue that has no impact on the binary output of the + build. + +commit 14ab4ade74e946c09d633b15ab4d447d7b69ea29 +Author: Kaleb Keithley +Date: Tue Feb 24 15:22:40 2004 +0000 + + bug #214. Merge most of 4.4RC3 + +commit 9343c8f5ac180043c29ead5e83a3efef16d7b3f2 +Author: Kaleb Keithley +Date: Tue Feb 24 15:16:35 2004 +0000 + + bug #188, #214, see versions 1.1.4.3 and 1.1.4.4 of this file. fix bad + merge + +commit 03d893bff9bf5d6be9663a21cc983873d8e8d4c7 +Author: Kaleb Keithley +Date: Mon Feb 23 21:37:29 2004 +0000 + + merge most of XFree86 RC3 (4.3.99.903) from vendor branch. bug #214 + +commit 4ee0a53de870192d57c02baffa106b10bae6e0bf +Author: Kaleb Keithley +Date: Mon Feb 23 20:35:22 2004 +0000 + + Import most of XFree86 4.4RC3. This import excludes files which have the + new license. If we want to, later we can import 4.4RC3 again and pick + up the files that have the new license, but for now the vendor branch + is "pure." + +commit dcdd47ebbd4e9b5f4cbb598a5217004df0e80844 +Author: Kaleb Keithley +Date: Mon Feb 23 20:35:19 2004 +0000 + + Initial revision + +commit 30ac3efde2c3f08b98f31833df4ea7d87f33b092 +Author: Kaleb Keithley +Date: Mon Feb 23 16:32:14 2004 +0000 + + bug #188 report bugs to X.org bugzilla, not XFree86 + +commit d52f3ac58fd596fca392394f16acff84115f6e1d +Author: Alan Coopersmith +Date: Wed Feb 18 21:43:19 2004 +0000 + + Additional fixes to allow building with Sun compilers on Solaris x86 + +commit 07109fd63e0999905e6f7df8fd7f9c713d0dc2cc +Author: Alan Coopersmith +Date: Wed Feb 18 21:30:12 2004 +0000 + + Sun cc on Solaris x86 defines __i386 but not __i386__ so the x86 + architecture #ifdef should accept either form + +commit a27ffd2678ef76453c4fa27932462425d804df6d +Author: Warren Turkal +Date: Wed Feb 18 02:12:44 2004 +0000 + + completely get rid of NeedNestedPrototypes + completely get rid of NeedVarargsPrototypes + remove a lot of NeedFunctionPrototypes + ansify many function declarations + +commit d17586c4dc858d0127fa021e6db62f8cc28ef7a6 +Author: Alan Coopersmith +Date: Mon Feb 16 20:19:59 2004 +0000 + + [fd.o bugzilla #189] _XOPEN_SOURCE defines break builds on Solaris Express + +commit b146ef1548d36d6897fbd674f1c3b8324bed11a7 +Author: Warren Turkal +Date: Sun Feb 15 15:04:57 2004 +0000 + + Moving toward a working input extension. + +commit e90274c2bba1f66a68c2bc30ddb589dbf6fa0929 +Author: Egbert Eich +Date: Wed Feb 11 19:29:37 2004 +0000 + + 2. Fixing segfaults that may happen in some corner cases when VT switching + and during int10 initialization (Egbert Eich). + +commit 453a0743eb524da88dd364ccac86f35e61899e64 +Author: Kaleb Keithley +Date: Sun Feb 8 00:17:31 2004 +0000 + + revert to RC1 version of file with the license we like + +commit d6f33d897221450f3cfcc1162e2a6d09b227326e +Author: Kaleb Keithley +Date: Sun Feb 8 00:12:27 2004 +0000 + + revert to RC1 version of the file with the license we like + +commit bd20c8d340fce0700ae813bd5b55fe7f4b9e0c98 +Author: Jaymz Julian +Date: Thu Feb 5 09:09:51 2004 +0000 + + Polling input mode for the kdrive os layer. And a moose! + +commit af798d27743dbc4f70e85e297daa5863ec89640b +Author: Jaymz Julian +Date: Wed Feb 4 16:08:27 2004 +0000 + + More NULL checks. These ones are more useful than the last (which just made + debugging a bunch of problems easier), since you can implement less in + the basic simplest case driver now (not that i'm lazy, mind :-p) + +commit 3c64b65d805915e5c5628663113c54c3e9c3013b +Author: Egbert Eich +Date: Thu Jan 29 08:08:57 2004 +0000 + + Importing vendor version xf86-012804-2330 on Thu Jan 29 00:06:33 PST 2004 + +commit 2ec70aa70133190ad31a83114fdb9a218e6aa8e6 +Author: Eric Anholt +Date: Sun Jan 25 05:31:24 2004 +0000 + + Disable GLX visuals code on !GLXEXT, and remove a useless prototype. + +commit 01e9cc858ac646b3140d1d85ea9c069bc708fb28 +Author: Eric Anholt +Date: Sun Jan 25 01:30:33 2004 +0000 + + - Add glx visuals code based on XFree86's Radeon driver. + - Reserve areas for back/depth/span when USING_DRI && GLXEXT. This would be + better in a TransitionTo3d, but we'd need to work with the offscreen + memory manager for that. + - Misc. fixes to ati_dri.c for DRI+GLX. Needs more work still. + +commit f2bedd17af7c3b9241c02dc1c899f32fc0cd2f10 +Author: Eric Anholt +Date: Sun Jan 25 01:16:19 2004 +0000 + + Oops, turn fallback output back off. + +commit 26c5a8dfdd2aa09db46c4cf963ca697df3e777ef +Author: Eric Anholt +Date: Sun Jan 25 01:04:12 2004 +0000 + + Whitespace cleanup. + +commit 6870c081572fcf32997e7906a54d09da0ca58ac3 +Author: Keith Packard +Date: Thu Jan 15 09:19:56 2004 +0000 + + Oops, lost a diff needed for the non-screen format pixmap code + +commit 3867e03cb63e49aeb1742a8a4bdaed0b7a23749e +Author: Keith Packard +Date: Thu Jan 15 09:15:53 2004 +0000 + + Fix up some mis-used variable names + +commit f233bbf3652327e62e03efbb8a355e6af2703a1c +Author: Keith Packard +Date: Thu Jan 15 09:13:01 2004 +0000 + + Accelerate non-screen format pixmaps. + +commit 751fb0374b12679f63c922adf0f0e7cadd83d861 +Author: Harold L Hunt II +Date: Thu Jan 15 06:06:44 2004 +0000 + + file winresource.h was initially added on branch CYGWIN. + +commit a265167f19e37aec2173c0ca6c9955450aa69941 +Author: Anders Carlsson +Date: Wed Jan 14 10:00:00 2004 +0000 + + Add IPAQ modeline by Dennis Noordsij. + +commit 6c97b277d9140b9d6bca047c56e303f6fc1d92e0 +Author: Eric Anholt +Date: Sun Jan 11 00:10:34 2004 +0000 + + Support 1x1 repeat sources in R128's Blend. + +commit 92702565657d48f1fcc2bae1b5989b1d6d3dd164 +Author: Eric Anholt +Date: Fri Jan 9 08:43:48 2004 +0000 + + Change PCI ID information field to be one of r128, r100, r200, r300. This + is all the information we need so far. Put that information into atic, + and use it correctly in the code (unlike before). + +commit 5d51dfc69cb245f6a1c7b106954a3365524741e2 +Author: Eric Anholt +Date: Fri Jan 9 08:40:32 2004 +0000 + + Use the scratch area for Composite when one of src or dst is in memory. + +commit 6d8001f4688e2149fcdd480401c46c7540680576 +Author: Eric Anholt +Date: Thu Jan 8 20:18:13 2004 +0000 + + Compile fixes for non-DRI case and for non-C99 compiler. + +commit 1be4b2d5e8048eb3653fad3a1267a0da865bcee8 +Author: Eric Anholt +Date: Thu Jan 8 08:25:49 2004 +0000 + + Forced commit: Previous commit included the removal of the 8192 scanline + limit on offscreen memory in the fbdev case. I remember daenzer (who + originally put that code in) saying he wasn't sure of it, and there + doesn't seem to be any reason for that limit given how acceleration is + done. + +commit b27729ec88f5d4153a0debfe2347bbed022329ba +Author: Eric Anholt +Date: Thu Jan 8 08:16:24 2004 +0000 + + - Add a new UploadToScratch kaa hook for putting the data for a single + pixmap into temporary offscreen storage. Subsequent UploadToScratch may + clobber the data of previous ones. This allows hardware acceleration of + composite operations on glyphs. + - Add a new UploadToScreen kaa hook for doing the actual moving of data to + framebuffer. This would allow us to do things like hostdata blits or + memcpy to agp and then blit. + - Add an UploadToScreen on ATI which is just memcpy, but which will be + replaced with a hostdata blit soon. + - Add UploadToScratch on ATI and reserve 64k of scratch space. This + provided a 3x speedup of rgb24text on my Radeon. + +commit d640cf4cb4e031a0e93dfd5955405847fe4475c0 +Author: Harold L Hunt II +Date: Thu Jan 8 05:10:33 2004 +0000 + + file winprocarg.c was initially added on branch CYGWIN. + +commit 77183abbc499c69fbbbae1d92a6b012c5f80b6c4 +Author: Harold L Hunt II +Date: Thu Jan 8 05:10:32 2004 +0000 + + file winglobals.c was initially added on branch CYGWIN. + +commit eb5bb9c1a16db308eae84ea45a5920c768d4a2ff +Author: Harold L Hunt II +Date: Thu Jan 8 05:10:32 2004 +0000 + + file winclipboardwrappers.c was initially added on branch CYGWIN. + +commit e93d468df21840007cbeea03ed545e75f0f0baf1 +Author: Harold L Hunt II +Date: Thu Jan 8 05:10:32 2004 +0000 + + file winauth.c was initially added on branch CYGWIN. + +commit 737eddfa4b6a8851e20823405b7269dd49c49b89 +Author: Eric Anholt +Date: Wed Jan 7 09:50:28 2004 +0000 + + Disconnect the sis300 driver. I've never managed to fix it, and it breaks + the build on PPC. + +commit 5a2c23f8a18767f0eb2fe2846ca3ba18fd236284 +Author: Eric Anholt +Date: Wed Jan 7 02:30:29 2004 +0000 + + Speed things up slightly by removing Z values from emitted vertices and by + emitting as a tri fan rather than a tri list. A rect list would save an + additional vertex (out of 4) per rectangle, but there's no measurable + speed difference and the tri fan may be useful when transforms come + into play. + +commit cff782078cec9b10606c5873816b7acd9977ce4d +Author: Eric Anholt +Date: Sun Jan 4 20:51:53 2004 +0000 + + - Don't forget to UNINIT miComputeCompositeRegion's regions + - Fix a bit of whitespace nearby. + +commit 34d1529731fff0cb61c71f76edc5c6499ece68d1 +Author: Eric Anholt +Date: Sun Jan 4 20:47:30 2004 +0000 + + - Correctly set the texture coordinate set source for the second texture + unit. + - Re-enable Radeon's Composite accel now that fonts work again. + +commit 9f1a92cd092e87f774ce4ed99d4b3e15f905d4f7 +Author: Eric Anholt +Date: Sat Jan 3 21:52:14 2004 +0000 + + - Call appropriate Done function for Composite. + - Don't allow src transforms for Copy acceleration. + - Minor whitespace fixes. + +commit 3db761a17b60b80acb83f365628b093f0ba6958c +Author: Eric Anholt +Date: Sat Jan 3 11:46:57 2004 +0000 + + - Add more Composite operations, including Saturate, to Radeon Composite + accel. I don't 100% trust that the math works for Saturate, but I can't + tell from existing information. + - Fix texture pitch fallback checks. + - Fallback when src or mask have transforms. + - Disable Radeon Composite accel until the offset thing is fixed. + - Set offscreenPitch to 64 on Radeon thanks to new information and a kaa + fix. Fixes acceleration at width!=1024. + +commit d15acfa79b64b8dab1e930ce8e5423a212a1360b +Author: Eric Anholt +Date: Sat Jan 3 11:25:27 2004 +0000 + + Split the various attempts at accelerating Composite into separate + functions. Along with making things more readable, it fixes a problem + where the coordinates would get messed up if acceleration failed due to + things like pixmaps being in the wrong locations. + +commit 1e1a35e20c1d281bc9700b349cda1e67f65905dd +Author: Eric Anholt +Date: Sat Jan 3 11:17:44 2004 +0000 + + Actually align the offset of allocated offscreen areas. + +commit 354f8f7e943d1a0732f4181420211efff27532b8 +Author: Eric Anholt +Date: Wed Dec 31 23:24:33 2003 +0000 + + Some strange \240 character snuck into the original commit of this file. + +commit 5f947b04da13256e5f514c40dedb98c6e1cbe0f1 +Author: Eric Anholt +Date: Tue Dec 30 08:45:53 2003 +0000 + + There's never a copy between different depths. Remove the check. + +commit c8eb20a08ee9174374b6f5ac6e79f31fce26e181 +Author: Eric Anholt +Date: Tue Dec 30 08:23:56 2003 +0000 + + - Add new Composite hook for kdrive drivers, which only ensures that the + pixmaps are offscreen and don't have alpha maps. It is the last case + checked before going to software fallback + - Use the new Composite hook in the ati driver to implement acceleration of + most Composites that get done in an xcompmgr environment on r100 series + cards. It is only available when using the DRM. There are still some + corruption issues, but the DRI is still non-default and I need to get + this into version control. + +commit adfc1ed8e1e150100accf014e46241201275138f +Author: Eric Anholt +Date: Mon Dec 29 09:04:20 2003 +0000 + + Add dependency lines so that servers are rebuilt when server libraries are + changed. + +commit df03e80ae9162ec87f503322ccbcf2846ad38bef +Author: Eric Anholt +Date: Mon Dec 29 06:24:01 2003 +0000 + + Merge dri-0-1-branch to trunk. Notable changes: + - Add libdrm and libdri. Portions of the DRI extension are stubbed out. + - Use the DRM in the ATI driver when available. This provides a minor + performance improvement in x11perf, and opens the possibility of using + the 3d hardware for acceleration in the future. + - Implement solid fill acceleration for Composite in KAA. + - Implement Blend hook for Composite and use it on r128. + - Fix a bug of mine that resulted in overuse of offscreen memory. + - Fix many miscellaneous bugs in ATI driver and add PCI IDs. + +commit 9bea538745f1a0c14faaac0e61dee5cf86f98dc6 +Author: Eric Anholt +Date: Sun Dec 28 09:56:54 2003 +0000 + + file kaa.h was initially added on branch dri-0-1-branch. + +commit fb8cd7454baec0bc0f693d222f3920ce03dde7c6 +Author: Eric Anholt +Date: Sun Dec 28 09:56:54 2003 +0000 + + file kaapict.c was initially added on branch dri-0-1-branch. + +commit f388f1509cb131cdf0675415214c9610d3d322c7 +Author: Eric Anholt +Date: Tue Dec 23 22:29:38 2003 +0000 + + file r128_blendtmp.h was initially added on branch dri-0-1-branch. + +commit 918958705dd97ce678b8901666c85fb359d0e013 +Author: Kaleb Keithley +Date: Sun Dec 21 13:39:58 2003 +0000 + + Use a different icon + +commit e97c634593dd171a05aa0fa5a35d218dcc3ecfb0 +Author: Kaleb Keithley +Date: Sat Dec 20 00:28:31 2003 +0000 + + merge XFree86 RC2 (4.3.99.902) from vendor branch + +commit 12e532010b9e8cb67bedd44d489c9c40dd265165 +Author: Kaleb Keithley +Date: Fri Dec 19 20:55:39 2003 +0000 + + XFree86 4.3.99.902 (RC 2) + +commit 4b75c7f6358b28978b05ffa4b73853d936454f50 +Author: Kaleb Keithley +Date: Thu Dec 18 19:32:17 2003 +0000 + + First pass at "Standard" Xinerama. The sources for this came from Heather + Lanigan's xinerama tree on Sourceforge.Net. No attempt has been made to + handle previous, non-standard versions of the protocol. Nor has any + attempt been made to preserve the ABI of previous versions -- that part + will be added at a later time, and then probably only on systems that + have nice object/linker semantics, e.g. ELF systems with weak symbols. + +commit 305c444de3baa863d7abc4221e8cebb973805847 +Author: Eric Anholt +Date: Mon Dec 8 01:55:10 2003 +0000 + + Add initial SiS 300-series (300, 305, 540, 630, 730) driver based off of + the ATI driver. It suffers from hw/sw synchronization problems, it + looks like, but may be good enough to work on Render acceleration + experiments. Committing it as-is so I don't lose it again. + +commit 8a7481a27496c842ec2ef5bac5e4d0b5e6279deb +Author: Kaleb Keithley +Date: Sat Dec 6 13:24:29 2003 +0000 + + merge XFree86 4.3.99.901 (RC1) from vendor branch + +commit e82928826f60a2e76a670c936bd557838fc1764c +Author: Kensuke Matsuzaki +Date: Fri Dec 5 03:37:26 2003 +0000 + + file winwin32rootlesswindow.c was initially added on branch CYGWIN. + +commit fc40d0a3cbee053d446032ae3150b06edf66a335 +Author: Kensuke Matsuzaki +Date: Fri Dec 5 03:37:26 2003 +0000 + + file winwin32rootlesswndproc.c was initially added on branch CYGWIN. + +commit c3f26a1b989dbbf5167e6e352aebf2f53bfcc442 +Author: Kensuke Matsuzaki +Date: Fri Dec 5 03:37:26 2003 +0000 + + file winwindowswm.c was initially added on branch CYGWIN. + +commit 0f06636a9a088fc27262da0f0bc9a20a3dbeab69 +Author: Kensuke Matsuzaki +Date: Fri Dec 5 03:37:26 2003 +0000 + + file winwin32rootless.c was initially added on branch CYGWIN. + +commit a84f16a9ad2ed0f874d2c1816aedee96725d2657 +Author: Kaleb Keithley +Date: Thu Dec 4 22:03:38 2003 +0000 + + XFree86 4.3.99.901 (RC 1) + +commit 33fdd50a94baab1db342bfce442907db8f8ad03e +Author: Keith Packard +Date: Tue Dec 2 01:59:38 2003 +0000 + + Wrap ClipNotify to see region motions during MoveWindow. + Check window reorigin in PositionWindow and bump pixmap serial numbers to + revalidate GCs. + Fix picture clip region origin in automatic update + Initialize client private 'critical' value + Clean up pixmap bounds checking code to only affect contents allocated by + fb. + Oops. Call SourceValidate for Composite operations. + Add Xchips server (vesa based) + +commit 6db77925406a0ee600998ad558a50190ba631649 +Author: Eric Anholt +Date: Mon Dec 1 22:56:06 2003 +0000 + + file radeon_sarea.h was initially added on branch dri-0-1-branch. + +commit 313046b42832fa2434d617997d5701157b55e7c8 +Author: Eric Anholt +Date: Mon Dec 1 22:56:06 2003 +0000 + + file radeon_common.h was initially added on branch dri-0-1-branch. + +commit 2ad126286e524392741164babe530210892c377f +Author: Eric Anholt +Date: Mon Dec 1 22:56:06 2003 +0000 + + file r128_sarea.h was initially added on branch dri-0-1-branch. + +commit f486c136ad8d2d893cdf3aee6aa752578a6809d7 +Author: Eric Anholt +Date: Mon Dec 1 22:56:06 2003 +0000 + + file r128_common.h was initially added on branch dri-0-1-branch. + +commit 1eb63ef1b5d0ce10117196df3e81e8312a55a93c +Author: Eric Anholt +Date: Mon Dec 1 22:56:06 2003 +0000 + + file ati_sarea.h was initially added on branch dri-0-1-branch. + +commit 1fa5f28406f8a7ad54049e4bec129953149bd3ed +Author: Eric Anholt +Date: Mon Dec 1 22:56:06 2003 +0000 + + file ati_dri.c was initially added on branch dri-0-1-branch. + +commit 14ce4f2c3ebc20e5f6d57adda0a7e14229541a72 +Author: Eric Anholt +Date: Mon Dec 1 22:56:06 2003 +0000 + + file ati_dri.h was initially added on branch dri-0-1-branch. + +commit 8887456e7d4fc1280287ed3e35c6c4464525827b +Author: Eric Anholt +Date: Mon Dec 1 22:56:06 2003 +0000 + + file ati_dripriv.h was initially added on branch dri-0-1-branch. + +commit 6c9e7f47357b02f41b9f1f43f7f1d9b5a139e5b6 +Author: Eric Anholt +Date: Mon Dec 1 22:56:06 2003 +0000 + + file ati_draw.h was initially added on branch dri-0-1-branch. + +commit 2ad20d4e99d0d8ecb922507e0bfead8b7b7d4a55 +Author: Eric Anholt +Date: Mon Dec 1 22:56:06 2003 +0000 + + file ati_drawtmp.h was initially added on branch dri-0-1-branch. + +commit ae2454f65698eef66b3507e586e4f8125cb1790d +Author: Anders Carlsson +Date: Mon Dec 1 22:11:12 2003 +0000 + + Add support for setting the video mode. + +commit e31051ba26c18f6232798c5a5c4725f5ce53d6b9 +Author: Phil Blundell +Date: Mon Dec 1 21:49:41 2003 +0000 + + Call KdShadowUnset before fbdevSetShadow. + +commit 9cdd6fd9e3d6e44adf392279093f92fb6678a49c +Author: Eric Anholt +Date: Mon Dec 1 04:33:36 2003 +0000 + + - Add fbdev mode-setting backend to Xati. It and vesa are compiled in when + available, with fbdev being used by default. + - Use depth 16 by default when vesa backend is used. + - Add MMIO defines for PowerPC (should be in a common location). + Many thanks for Michel Daenzer for much of this code. + +commit ec7f5539302fafd1ac7609ac423f1379f54916ab +Author: Eric Anholt +Date: Mon Dec 1 03:15:13 2003 +0000 + + Add more RV250 PCI IDs. + +commit d221c484f9521c780fc3c7e88833c62e50463c6d +Author: Eric Anholt +Date: Mon Dec 1 01:46:42 2003 +0000 + + Remove sys/io.h inclusion from some files that didn't need it, and change + asm/io.h to sys/io.h in vga.c, which newer Linux complains about. + +commit 5fd7f82390d78621a8aad959eb216b8fb7e1a97f +Author: Kaleb Keithley +Date: Sun Nov 30 16:47:13 2003 +0000 + + xfree86 merge + +commit 77836ebda2a47e04c56c5842f62fab5992909712 +Author: Kaleb Keithley +Date: Sat Nov 29 16:08:53 2003 +0000 + + xfree86 merge + +commit 88193e928be7cf5a526b50ad1e0b4ac9cddef297 +Author: Kaleb Keithley +Date: Sat Nov 29 15:10:02 2003 +0000 + + xfree86 merge + +commit 0097b6fe2d1739e46e4e7726aaa481b6dc84870c +Author: Kaleb Keithley +Date: Wed Nov 26 22:49:07 2003 +0000 + + merge latest (4.3.99.16) from XFree86 (vendor) branch + +commit d803918a9fb5f80a2d6e4b711d8e43916cd09da5 +Author: Eric Anholt +Date: Tue Nov 25 22:39:54 2003 +0000 + + Add new Radeon 9200 PCI IDs. + +commit adc7f9a4ebdfe11d4cd6de9388b63dfe36450b39 +Author: Kaleb Keithley +Date: Tue Nov 25 19:29:01 2003 +0000 + + XFree86 4.3.99.16 Bring the tree up to date for the Cygwin folks + +commit 90f1536dd315cd265bfc7ef35058761a65a01734 +Author: Kaleb Keithley +Date: Tue Nov 25 19:29:01 2003 +0000 + + Initial revision + +commit d461855a73d8c9f51a18673aef7ce88f94a71629 +Author: Eric Anholt +Date: Sun Nov 23 10:12:04 2003 +0000 + + - Fix Radeon offscreen pixmap pitch alignment. + - Remove usleeps from idle and waitavail code, recommended by keithp. + - Add a workaround for apparent broken acceleration with Rage 128 and + offset alignment with 8-bit acceleration (24-hack and plain 8-bit). + - Minor cleanup of setup code. + +commit 8e09afe657b110bc1ea9e58dea81a120c343d16e +Author: Eric Anholt +Date: Sun Nov 23 02:08:16 2003 +0000 + + Add RV250 PCI IDs. + +commit b3247251fb7d9f2d50ef41d9c2089629544d534d +Author: Eric Anholt +Date: Thu Nov 20 07:49:46 2003 +0000 + + - Fix a bug in pitch alignment for offscren pixmaps. + - Add 24-bit acceleration for Xati using the 8-bit trick from mach64. + - Add offscreen pixmap support to Xati. + +commit 41dde24b229f4bc4738637d9cd0a86b74b9f8457 +Author: Eric Anholt +Date: Thu Nov 20 00:05:56 2003 +0000 + + - Fix confusion of depth/bitsPerPixel in ati_draw.c + - Disable acceleration with 24bpp due to apparent broken acceleration. + Accel at 24bpp was the cause of the crashes when people tried to use + any depth over 16. XFree86 doesn't support 24 either. + - Disable at < 8bpp, too. + - Add the other Rage 128 PCI IDs. + - Remove unnecessary setting of scissor registers (only default scissor + gets used). + +commit 7abbcce4222958b4670873a17f67ea1ec1d958e2 +Author: Eric Anholt +Date: Wed Nov 19 08:32:38 2003 +0000 + + - Add PCI information (device/vendor id, bus location) to KdCardAttr to + help with ati, and future DRM drivers. + - Add new "ati" kdrive driver. It has ancestry in the r128 driver from + andersca, but took a detour through being the WIP SiS 300 driver on the + way. It supports Radeons (tested on QD VIVO and 7500) and Rage 128. + Current limitations include that it requires depth 16 and that the + other Rage 128 PCI IDs aren't included yet. + +commit e9cb70dae0a85fcd116d7ffac73d1322ec282a94 +Author: Keith Packard +Date: Tue Nov 18 18:38:48 2003 +0000 + + Reset available offscreen segment save function pointer. (Not a functional + change, just cleaning up a bit) + Reset the screen->memory_base value when frame buffer is remapped. This + makes sure new off-screen allocations point at the newly mapped region + rather than the old (now unmapped) region. + +commit f333581b7b4066ab054dd765a1c9bae0f3407188 +Author: Seth W. Klein +Date: Tue Nov 18 04:53:16 2003 +0000 + + Added infrastructure for driver specific usage messages and added vesa + usage message. + +commit 003e87717cfe378261ed1a1e7bcb2cf0d200b1b8 +Author: Keith Packard +Date: Mon Nov 17 22:09:12 2003 +0000 + + Recompute winSize/borderSize to fix them when changing redirection. + Sufficient, but not always necessary. + Add borderClip to damage on creation so that clients needn't guess. + Fix API to FbDots functions to make PolyPoint work with screen_x/screen_y + offsets + Add debugging code to make sure no pictures are left pointing at freed + pixmaps. "Can't" happen, but it did once. + Change KdOffscreenArea structure to eliminate separate private structure, + eliminate the ScreenPtr, change from doubly linked to singly linked + list. + Don't damage BackgroundNone windows on PW_BACKGROUND. Re-clip damage to + borderClip in DamageSubtract. + +commit c57959ad6a4c0f5329762f401fd7871ffb2ee90c +Author: Kaleb Keithley +Date: Mon Nov 17 19:03:47 2003 +0000 + + merge XFree86 4.3.0.1 to -CURRENT + +commit acd200770513ad03dd3f4bdc7448edfd69b1ff9d +Author: Keith Packard +Date: Mon Nov 17 06:54:52 2003 +0000 + + Clear window when Manual Subwindows redirect is destroyed + Fix Tile/Stipple origin with non-zero pixmap window origins + Use computed depth for TrueColor visuals as fbdev doesn't have one. + +commit d568221710959cf7d783e6ff0fb80fb43a231124 +Author: Kaleb Keithley +Date: Fri Nov 14 16:49:22 2003 +0000 + + XFree86 4.3.0.1 + +commit 9508a382f8a9f241dab097d921b6d290c1c3a776 +Author: Kaleb Keithley +Date: Fri Nov 14 16:48:57 2003 +0000 + + Initial revision + +commit ded6147bfb5d75ff1e67c858040a628b61bc17d1 +Author: Kaleb Keithley +Date: Fri Nov 14 15:54:54 2003 +0000 + + R6.6 is the Xorg base-line + +commit cb6ef07bf01e72d1a6e6e83ceb7f76d6534da941 +Author: Keith Packard +Date: Fri Nov 14 07:46:20 2003 +0000 + + Accelerated image text code drew glyphs at wrong location when compositing + manager enabled. + +commit 318d525bf2fe52b059b1568e9b31d144b297a781 +Author: Keith Packard +Date: Thu Nov 13 09:14:29 2003 +0000 + + Have the composite extension tell the damage extension about clients which + have redirected subwindows in manual mode. Those clients are marked + Critical and given a significant scheduling boost whenever they receive + a damage notify event. This dramatically improves update frequency. + If the kernel reported a large number of keys, readKernelMapping would walk + off the end of the kdKeysym array. + Fix usage of _IOWR; the 'size' argument is actually a datatype. + +commit e9904cefa39e1c9d3c7bf2f335dbafb23809cdba +Author: Eric Anholt +Date: Tue Nov 11 05:46:15 2003 +0000 + + Fix Makefile.am's to include header files needed for distcheck. Remove + -Werror default and add --enable-werror switch to add it back. + +commit 5dc119b73ffcae32c2d470b734dfa2f8af58e77e +Author: Keith Packard +Date: Mon Nov 10 20:35:05 2003 +0000 + + Fix KdXv interface to pass drawable down so that bits can be put into + drawable pixmap rather than directly into the frame buffer. Rewrite + logic in kdoffscreen to make space for new allocations, now deals + correctly with locked areas. + +commit e500986657ea8b4e14a1ff4730ecda4583c75277 +Author: Keith Packard +Date: Mon Nov 10 06:40:23 2003 +0000 + + Must offset composite parameters by drawable coordinates in accelerated + case. + +commit d694b44259ff51cfca2c3ec9a58bf164010cc1ad +Author: Phil Blundell +Date: Sat Nov 8 18:51:59 2003 +0000 + + Avoid ugly shell error when libXdmcp isn't present. + New functions. (TsInit): Register them. + +commit 3e18c6363454aa87e1ad8c121019bab185e613b8 +Author: Keith Packard +Date: Sat Nov 8 00:28:19 2003 +0000 + + Fix KAA to work with screen_x/screen_y hacks from COMPOSITE Also add + kaaComposite acceleration for simple bltblt case. + +commit 1280f79054dc16ccf321006cd2de53e0f53c7b70 +Author: Keith Packard +Date: Fri Nov 7 23:29:29 2003 +0000 + + Ok, Composite extension is semi-working; when no-one asks for redirection, + the server seems to act as before. With RedirectSubwindows (root, + automatic), the server looks just like a regular X server. Now to go + rewrite the (currently lame) compositing manager to get some real + action on the screen. + Some of the fixes here are to make valgrind quiet with various ioctls used + by kdrive/linux. + Also fixed a bug where fbdev initialization was out of order in fbdev.c and + smi.c + +commit d319a0a610c90524ad29cab3c6d4d21b5298fc7f +Author: Phil Blundell +Date: Fri Nov 7 23:00:06 2003 +0000 + + Fix warnings. + +commit 598c5d549abbb819f3391a2c88432941b546a213 +Author: Matthew Allum +Date: Thu Nov 6 14:01:46 2003 +0000 + + tslib improvements + +commit 7e1a564c416f6dc337a0021b1c0e1f2cb3b27296 +Author: Keith Packard +Date: Wed Nov 5 06:46:13 2003 +0000 + + Replace translucent compositing hacks with PictOpSrc to match eventual + extension semantics. Replace mouse acceleration with quadratic. + +commit 5378236aa647ec9a723a3e5fbd2a57eb286a1938 +Author: Keith Packard +Date: Sun Nov 2 19:56:10 2003 +0000 + + merge xfixes_2_branch back to HEAD + +commit 9e94665cf9cf0f74dff5b3cdaa4cde99e234fa45 +Author: Phil Blundell +Date: Tue Oct 28 22:28:33 2003 +0000 + + try /dev/misc/apm_bios if /dev/apm_bios doesn't exist + +commit bb99451f275827da580dcfa3b66cd0705fcc900a +Author: Phil Blundell +Date: Tue Oct 28 22:27:35 2003 +0000 + + move smi into VESA_SUBDIRS + +commit 9a05f8f7858641b780046ad69d61f21ccbb93db8 +Author: Keith Packard +Date: Sun Oct 19 20:46:23 2003 +0000 + + Minor cleanups -- remove a couple of bogus KdCheckSync calls, restructure + KdOffscreenSwapOut to avoid unneeded 'continue' + +commit 16b2ea64e7e0bd32d6dba078b4891167bd335d44 +Author: Keith Packard +Date: Thu Oct 16 08:03:25 2003 +0000 + + Discard/reconstruct list of offscreen areas on VT switch so no allocations + can occur while switched away. + Set type of off_screen_areas member to actual type instead of pointer + +commit f4bcd36a386116c450ea6893ab3d08e81cea663b +Author: Anders Carlsson +Date: Wed Oct 15 05:34:54 2003 +0000 + + Add a memory_base variable and use it. + +commit f5916edb172738c73c8f78b23981abfd8d03a079 +Author: Keith Packard +Date: Wed Oct 15 04:59:45 2003 +0000 + + hw/kdrive/*/Makefile.am Libraries in local dir must not use global path or + make doesn't build things in the right order (-j) + hw/kdrive/mga/mga.h, mgadraw.c Fix warnings + +commit b3e47ce18ff9c86833fc6302b1e074912edce404 +Author: Keith Packard +Date: Wed Oct 15 01:00:38 2003 +0000 + + various Split out pixmap allocation debug statements Fix bogus offscreen + pixmap size test Add migration to composite function for source + operands + VbeDPMS Remove extraneous call to VbeGetVib. + +commit 28bcd2efd134bfea3daa0738c9155b36cdf84168 +Author: Keith Packard +Date: Tue Oct 14 21:33:04 2003 +0000 + + Avoid attempting acceleration on non-screen formats (for now) + Offscreen allocator API changes. + +commit cb46169759a833605b78409ae68c9fb57618ceba +Author: Keith Packard +Date: Tue Oct 14 21:10:53 2003 +0000 + + Use same assumptions as layergc about what layer kind is approprate for + unwrapping pixmap operations. This makes sure the accelerated code gets + invoked for pixmaps + Add pixmap migration support to kaa. Can't quite automatically migrate + pixmaps off-screen, but soon we will. Can kick objects out of video + memory. Move per-screen linked list pointers to pixmap private. Wrap + Composite in preparation for migrating pixmaps. Have kasync ignore + drawable type so that pixmaps trigger sync Add KdOffscreenFini to + cleanup on server reset. Switch off screen area to have only a 'save' + function; moving objects to off screen memory is done by saving then + freeing the area. + +commit 109b94951654171ada94e2ffb29568b8a1bcde77 +Author: Keith Packard +Date: Tue Oct 14 05:08:35 2003 +0000 + + -Wall fixes. Might have fixed VESA based DPMS code as a result + +commit 4b844cafb2516139c8407822b61939cd6c743742 +Author: Keith Packard +Date: Tue Oct 14 05:07:39 2003 +0000 + + Check for off-screen pixmap support in KaaDrawableIsOffscreenPixmap. -Wall + fixes. Allocate pixmap private space only for screens with off-screen + pixmap support + +commit cdf3377f6d3789628495ac64df80ac7dc235e46d +Author: Keith Packard +Date: Tue Oct 14 05:05:53 2003 +0000 + + -Wall fixes. Support off-screen pixmaps + +commit 777f31cd0b5ec387d975e6d10ae73fa325e4c311 +Author: Keith Packard +Date: Tue Oct 14 05:05:28 2003 +0000 + + -Wall fixes. Add klinux.h to export function declarations + +commit a398339b6d5209a11af93a3b836b0cad326a0799 +Author: Keith Packard +Date: Tue Oct 14 05:04:22 2003 +0000 + + -Wall fixes + +commit 44f2e82f1b463e272f4e521561f74eb14bf24082 +Author: Anders Carlsson +Date: Mon Oct 13 02:19:47 2003 +0000 + + Use pixmaps instead of drawables in the kaa functions. Have the mga server + support accelerated operations on offscreen pixmaps. + +commit 47a9fab5e286c5224047690482a2cb36a3c17b88 +Author: Anders Carlsson +Date: Mon Oct 13 01:19:37 2003 +0000 + + Add support for offscreen pixmaps. + +commit c538fa874257a2cbf53f329d3982e7a01fefe629 +Author: Anders Carlsson +Date: Mon Oct 13 00:56:21 2003 +0000 + + Fix a couple of bugs. + +commit a50438b4709b32ec869e232628971b0dccd27adf +Author: Anders Carlsson +Date: Mon Oct 13 00:19:58 2003 +0000 + + Add offscreen memory manager and update the servers to reflect the name + change for the kaa structure. + +commit 307f3dbd10e0c8e392865e85e9e3e4dff108df02 +Author: Anders Carlsson +Date: Sun Oct 12 14:17:24 2003 +0000 + + Remove this for now. + +commit ab3305d0ac805d0c9e917c35b316d9b58dde2187 +Author: Anders Carlsson +Date: Sat Oct 11 19:36:13 2003 +0000 + + Add ATI Rage 128 server. + +commit ed98d3814ee65cd9fd18eeadbd20c8fc6b4ab342 +Author: Keith Packard +Date: Thu Oct 9 23:35:44 2003 +0000 + + use #if instead of #ifdef + +commit 4dd37de858464c576bfdcd10255a8e233a5b05d5 +Author: Anders Carlsson +Date: Thu Oct 9 16:21:24 2003 +0000 + + Build smi after vesa. + +commit e5a1c9952f7d621493f08257c8b9456b7608c55a +Author: Keith Packard +Date: Thu Oct 9 07:29:31 2003 +0000 + + Initialize smi chip on graphics setup. Seems to help some. + +commit 10f721acc5e59ea4152b94246b62963f2ff9d678 +Author: Keith Packard +Date: Thu Oct 9 07:12:01 2003 +0000 + + Leave iopl set to 3 so vesa module will work + +commit f74555e94264e6f703d399a5e0475c7283e20a88 +Author: Keith Packard +Date: Thu Oct 9 06:36:26 2003 +0000 + + Add xfixes, fix smi driver to use either fbdev or vesa. Add hole mapping to + vesa server by default + +commit 346aff7ef6f47a191c7f134b7843a634189b9e83 +Author: Keith Packard +Date: Thu Oct 9 06:35:11 2003 +0000 + + Use either vesa or fbdev, selectable at compile time + +commit adc5b8068d5532a6f3f23e64d3c668a22d5b1504 +Author: Keith Packard +Date: Sun Oct 5 05:22:35 2003 +0000 + + Fix fbdev server to allow accelerated servers on top to use RandR. Switch + smi server to fbdev (vesa bios doesnt work on the Acer I have here) + +commit f3d8476ced1e3ba4b4ca7c9e23e98c2cc7ffcc14 +Author: Phil Blundell +Date: Sat Oct 4 02:56:54 2003 +0000 + + few more fixes for h3600 ts + +commit aae3e6dcb3d72eba6d7d8d99079782ed1bfe63bd +Author: Keith Packard +Date: Sat Oct 4 02:43:16 2003 +0000 + + configure.ac Makefile.am os/oscolor.c Xext/saver.c Xext/Makefile.am + hw/kdrive/linux/ts.c hw/kdrive/src/Makefile.am hw/kdrive/src/kdrive.h + hw/kdrive/src/kinput.c hw/kdrive/src/kmap.c Autodetect VM86 (for vesa), + AGPGART, APM, MTRR, tslib and handhelds.org touch screen. Add + USE_RGB_BUILTIN and code for fileless RGB database. Add + MIT-SCREEN-SAVER + +commit efbf205a2ac4792b71d39f8fe3ef3b1cf12697c0 +Author: Phil Blundell +Date: Fri Oct 3 15:27:46 2003 +0000 + + add --disable-kdrivevesa option + +commit 89a536f349525e642bb4cd233bc47864ed4a6ad7 +Author: Keith Packard +Date: Thu Oct 2 02:30:28 2003 +0000 + + Add smi server + +commit 5a21f4f4d0c03e0e34f1979fd7cec8f0d19b00d4 +Author: Keith Packard +Date: Wed Oct 1 06:43:50 2003 +0000 + + Add XDM cookies. Fix up support for pkgconfig X bits + +commit a42e31b28c493dc3d6b32cde4e72ff17fc983183 +Author: Matthew Allum +Date: Tue Sep 30 22:14:59 2003 +0000 + + Fixed tslib driver to handle VT switches + +commit a0876ade6479c40dcef63f70f4c6c5a5988edeba +Author: Keith Packard +Date: Tue Sep 30 20:49:47 2003 +0000 + + Enable maintainer mode from autogen.sh. Fix vesa build to create library + before program. Remove bogus AC_SUBST lines for XSERVER_CFLAGS and + XSERVER_LIBS + +commit e8c02296476f068bc8158d112dc15df00dddac2a +Author: Matthew Allum +Date: Tue Sep 30 20:15:14 2003 +0000 + + Added --enable-tslib configure option + +commit a42384e9356ec79510682bacf08410e87d7102ff +Author: Keith Packard +Date: Mon Sep 29 01:42:40 2003 +0000 + + Use other freedesktop.org packages to build the server + +commit 6a098a88af174db1674662c09e2385b4e6e0bb4e +Author: Anders Carlsson +Date: Wed Sep 24 23:36:54 2003 +0000 + + Add beginnings of offscreen memory manager. + +commit 918a8273eeabcb14fc82742cc68223d8a7c2a67a +Author: Keith Packard +Date: Wed Sep 24 21:07:06 2003 +0000 + + hw/kdrive/src/kdrive.c + hw/kdrive/src/kdrive.h Add -switchCmd option to set command that is + executed whenever the VT is enabled or disabled. This permits input + device to be customized by external apps when switching to X. + +commit 20bbd750d0d359e55cbdcc86aeea6013ac665bce +Author: Anders Carlsson +Date: Mon Sep 22 21:14:59 2003 +0000 + + Accelerate server. + +commit 49771e3f074cae3947b0084e6514a19dc4c4cad1 +Author: Anders Carlsson +Date: Thu Sep 18 20:48:48 2003 +0000 + + Add mga server to the build. + +commit 07ab15d61d2468fc858453cdabe7296d19fc9e10 +Author: Anders Carlsson +Date: Thu Sep 18 20:47:43 2003 +0000 + + Add mga server + +commit b260825e880615f589e2bad35491ebb598e21a0f +Author: Anders Carlsson +Date: Thu Sep 18 14:44:57 2003 +0000 + + Try this. + +commit b889d4ba2c2e59769a3ff6fd00ee5bb395108827 +Author: Anders Carlsson +Date: Thu Sep 18 14:42:00 2003 +0000 + + Try things out. + +commit 85ff67670c6216a8c4368a8bd70fd0434a4e0aca +Author: Anders Carlsson +Date: Tue Sep 16 21:07:16 2003 +0000 + + Add fbdev server to the build. + +commit be12dcdcf39a30f69fe73cbb5a4acacef8024db6 +Author: Keith Packard +Date: Fri Sep 12 07:00:19 2003 +0000 + + Switch to freedesktop.org libXfont + +commit eca43a59ec95646836f9704714823249a15747fa +Author: Keith Packard +Date: Fri Sep 12 01:51:16 2003 +0000 + + Clean up mach64 for autofoo + +commit 6b16b827bb125b43b41b7f8558991e90ada316de +Author: Keith Packard +Date: Fri Sep 12 01:49:46 2003 +0000 + + Add some configure options, make the mach64 server build + +commit ce55d3234dc34157f0fc8059a6793cdd17fa4519 +Author: Keith Packard +Date: Thu Sep 11 05:15:08 2003 +0000 + + Move kdrive common sources to src dir + +commit 269b9dac5a96005fe38379377526592cb7930a51 +Author: Keith Packard +Date: Thu Sep 11 05:12:51 2003 +0000 + + Get Xvesa building + +commit 0d775576b9b3cf410e9a463b87340612d34bc13d +Author: Keith Packard +Date: Thu Sep 11 03:26:03 2003 +0000 + + Add Makefile.am + +commit ef8977a30ccb55af8e8bbb635127efb94f232983 +Author: Keith Packard +Date: Thu Sep 11 03:23:13 2003 +0000 + + More build fixes + +commit 14a8311bb3b6273617f7c7b70222e97835e9c8af +Author: Keith Packard +Date: Thu Sep 11 02:31:24 2003 +0000 + + Make more stuff build + +commit 8bc8fd8678b20dde2a3fc47ff5b617bc8046ea9f +Author: Mike A. Harris +Date: Thu Sep 11 02:02:54 2003 +0000 + + POSIX sigaction cleanups - removed act.sa_restorer as it's not in POSIX and + is not portable + +commit 514ab46ce3c6eb0163720315474cba884d029b62 +Author: Anders Carlsson +Date: Thu Sep 11 00:47:36 2003 +0000 + + Start autoifying everything. + +commit 283a7f32c449b1970e5a484351f8396a8afd99da +Author: Keith Packard +Date: Mon Jul 7 19:13:03 2003 +0000 + + Update RCS tags, fix keyboard hang on VT switch, fix scroll wheel mice, add + -rawcoord option to not transform mice on rotate, fix mtrr to use + power-of-two size, add a few vesa options + +commit 804b89284665f19e2c92a07fadc72c25fbb3f5d9 +Author: Keith Packard +Date: Wed Jul 2 17:53:46 2003 +0000 + + Silicon motion driver for kdrive + +commit b923d897a51707c25b2dc62395d9765ba1a47bfe +Author: Keith Packard +Date: Wed Jul 2 17:53:46 2003 +0000 + + Initial revision + +commit 544ee9bb7a060d6a85b5168a2de74ff1db430c89 +Author: Marc Aurele La France +Date: Wed Apr 23 21:51:18 2003 +0000 + + 136. Fix bug that prevented fbman from using the last partial scanline of a + Mach64 framebuffer (Marc La France). + 135. Make ATI Mach64 FIFO cache integrity testing optional (Marc La + France). + 134. Export ATI Mach64 hardware overlay as an XVideo adaptor (derived from + GATOS project, Egbert Eich, Marc La France). + 133. Reorganise ATI Mach64 support into separate source files (Marc La + France). + 132. Refine atimisc's decoding of the panel mode on server entry in an + attempt to reduce the effect of atyfb bugs (Marc La France). + 131. Make Rage128 and Radeon XVideo available even when 2D acceleration is + disabled (Marc La France). + 130. There is no longer any need to require hardware cursors during Rage128 + and Radeon XVideo displays (Marc La France). + 129. Initialise v4l's XVideo adaptors last (Marc La France). + 128. Reduce cut&paste effects by adding more helpers to Xv (derived from + #5645, Björn Augustsson, Marc La France). + 127. Centralise a region comparison primitive into 'mi' and use it instead + of local definitions throughout the server (Marc La France). + 126. DPMSExtension & XvExtension driver cleanups (Marc La France). + +commit 870d0f8752c11c3df42185786ab1e2bd200e4de1 +Author: Egbert Eich +Date: Thu Dec 12 18:29:05 2002 +0000 + + 621. Let kbd driver test if Xserver is in suspend before handling any input + events (Egbert Eich). + 620. Fixed agp version checking to accept minor versions >= the specified + number (Leif Delgass). + +commit 7827fce0b5ff600d0adc3a30eab69e8141c2e548 +Author: Keith Packard +Date: Wed Nov 13 16:37:39 2002 +0000 + + Allow input devices to be closed while the VT is switched away (needs + per-driver support) + +commit 3eaea6608bc33633c00860008f246f59ad5687a7 +Author: Keith Packard +Date: Tue Nov 12 22:20:42 2002 +0000 + + Update ipaq-specific ts driver to match generic tslib version + +commit 612e82053d986df70bcc9c87038244eab8c3dc13 +Author: Keith Packard +Date: Tue Nov 5 05:28:34 2002 +0000 + + Clean up touch screen hacks for controlling pointer on alternate screen + +commit 358d887cbef4d2ec34532a364dd44205eab36c23 +Author: Keith Packard +Date: Fri Nov 1 22:27:49 2002 +0000 + + Add support for ARM linux TS lib (disabled by default) in kdrive + +commit f0a8d06fcaf3fe0a652efa65966f4b0b0d688c12 +Author: Keith Packard +Date: Thu Oct 31 18:29:50 2002 +0000 + + Refix mouse matrix computation for touch screens. Update usage message for + -screen option + +commit 28d191680ecbcd50dc1cccec12e55a3c433fbf48 +Author: Keith Packard +Date: Wed Oct 30 21:25:53 2002 +0000 + + Uninitialized mouse matrix elements + +commit dd7c85f108d01d207248300019e88d56012c33c9 +Author: Alan Hourihane +Date: Wed Oct 30 12:52:06 2002 +0000 + + 441. Import Mesa-4.0.4, and resync with the DRI trunk (DRI Project). + +commit d04246c8fca4132063234ab44a68a7fac8c22261 +Author: Keith Packard +Date: Fri Oct 18 06:31:17 2002 +0000 + + Changed arguments to vesaRandRSetConfig + +commit 7d214e2e2a2a1601ca14be6b52190c5b22611e2d +Author: Keith Packard +Date: Fri Oct 18 06:08:10 2002 +0000 + + Fix additions of RandR support in kmode.c + +commit 5bb4a7b6998132d574d823301333b7e119dc7213 +Author: Keith Packard +Date: Fri Oct 18 06:00:29 2002 +0000 + + Fix other half of kdrive mach64 video code after randr update + +commit e1c304e22b1a29a5259aec1e956dbc75e0fa0138 +Author: Keith Packard +Date: Mon Oct 14 18:01:42 2002 +0000 + + Add refresh rates to RandR (v1.1) + +commit 5804e69f4c20dcd33f69673aa82da3051e6eed3c +Author: Keith Packard +Date: Sun Oct 13 19:35:56 2002 +0000 + + Custom file for rotating pcmcia screens + +commit b5d1c538622b21bed8eb59b557d79323f65ffbd7 +Author: Keith Packard +Date: Tue Oct 8 21:28:05 2002 +0000 + + Add vtxx option to kdrive servers + +commit f214cab20baf57fc23389ef9b63a3e3a50b2a4f6 +Author: Keith Packard +Date: Tue Oct 8 21:27:18 2002 +0000 + + Clear screen on mode switch + +commit b28a8c6e2a1fbc57d96d94b7445c86f94c2d8d4d +Author: Keith Packard +Date: Tue Oct 8 21:25:35 2002 +0000 + + Add another mach64 PCI id + +commit 9373d9186b413e1d53200b191816b9143d19c4bf +Author: Keith Packard +Date: Fri Oct 4 01:44:20 2002 +0000 + + Fix mouse mapping under reflection + +commit a80e1e5aed07cb57151408b0481f18e2ffb7f146 +Author: Keith Packard +Date: Thu Oct 3 22:09:04 2002 +0000 + + Update kdrive servers to support reflection + +commit 238a2ec201a52d59a46540ddd419d8d6f6bf8daa +Author: Keith Packard +Date: Sun Sep 29 23:39:47 2002 +0000 + + Update RandR to 1.0 (library version 2.0) + +commit 5d871996431e33b0d64ad9158e040e46770b6ee4 +Author: Keith Packard +Date: Thu Sep 26 02:56:48 2002 +0000 + + Add image transformation and sub-pixel ordering to Render + +commit a2637ba1f6c8417a48c95c9b65542c696ba0c8c0 +Author: Egbert Eich +Date: Mon Sep 16 18:05:35 2002 +0000 + + 319. Moved LdPreLib define after the vendor/OS specific config files as it + may depend on setting done there (Egbert Eich). + 318. Several fixes for cross compile environment (Egbert Eich). + 317. Added code to allow for building of static only libraries with + -fPIC for platforms which require it (Egbert Eich). + 316. Added '-m32' to gcc flags as default for ia32 builds when gcc version + is >= 3.1. This allows building a 32 bit Version of X on 64bit x86-64 + (Egbert Eich). + 315. Changed direct calls of ld to 'gcc -nostdlib' for Linux (Egbert Eich). + 314. Changed calls to as to 'gcc -c -x assembler-with-cpp' for Linux + (Egbert Eich). + 313. Added '-fno-strict-aliasing' flag to gcc version >= 3.1 (Egbert Eich). + Strict requires that one address must not contain pointers to different + types - a feature heavily used by X (Egbert Eich). + 312. Fixed a core dump problem in libXtt (?) (Egbert Eich). + 311. Removed '#pragma pack' from structures that contain function pointers + in x86emu. This causes problems on gcc 3.1 for ia64 (Egbert Eich). + 310. Added defines for missing X types to saverproto.h (Egbert Eich). + 309. Fixed compiler warings generated by gcc >= 3.1 in mesa drivers (Egbert + Eich). + 308. For platforms that allow both 32 and 64 bit libraries to be executed + split Xlib i18n modules path into + /X11R6/lib/X11/locale/lib/common and + /X11R6/lib/X11/locale/lib64/common. 'lib64' has been defined + to be the default path for 64bit shared libraries on these platforms + (Egbert Eich). + 307. Fixed obvious typo in OMlib (Egbert Eich). + 306. Fixed code in cfb that didn't comply with C sequence rules. Modern C + compilers tend to be more aggressive on code reordering (Egbert Eich). + 305. Changed arguments of NoopDDA() from VarArgs to void. Handling of + VarArgs by gcc isn't compatible with the way it was used on certain + platforms (Egbert Eich). + 304. Added support for 32bit pixmaps for 24bit overlay framebuffers in fb + overlay code (Egbert Eich). + 303. Fixed kdrive to print a meaningful error message instead of just core + dump when no matching graphics cards is found (Egbert Eich). + 302. fixed portability bug in xwd (Andreas Schwab ) + 301. fixed X Server crash, which happended each time a proportional + iso10646 font was loaded with xtt backend (Yong Li + ) + 300. Added some ARM specific fixes to compiler.h (Uli Hecht). + 299. Added a virtual 'dummy' driver (Egbert Eich). + 298. Fixed core dump when certain access functions are not set in xf86Bus.c + (Egbert Eich). + 297. Fixed problem where SIGIO could be disabled after a server reset. + 296. Added configurable list of devices the xf86Misc extension is allowed + to change the mouse device to (Egbert Eich). + 295. Changed default mouse type to 'auto' when generating config file with + '-configure' (Egbert Eich). + 294. Made sure keyboard modifier settings are consistent after exit from + DGA when the xkb extension is used (Egbert Eich). + 293. Disabled keyboard processing when Xserver is suspended by power + management. This allows effective locking of laptops when stolen + (Egbert Eich). + 292. Added/improved options for lockfile syncing (Egbert Eich). + 291. Added support for backup copy of Xserver logfile (Egbert Eich). + 290. Fixed GetTimeInMillis() to use deltas instead of absolute time + returend by gettimeofday(). This ensures time is monotonic in X (Egbert + Eich). + 289. Fixed xf86Misc extension to allow modification of Expps2 mice (Egbert + Eich). + 288. Made code in xf86MiscExt.c more readable (Egbert Eich). + 287. Fixed PCI CardBus bridge handling (Egbert Eich). + 286. Added code to reenable PCI bus mastering after coming back from a VT + switch to radeon driver (Charl P. Botha ) (Egbert + Eich). + 285. Dito for r128 driver (M. Harris). + 284. Dito for glint and mga driver (Egbert Eich). + 283. Fixed double scan issues for low res modes in C&T driver (Egbert + Eich). + 282. Set rgbBits to 8 for all HiQV chips in chips driver (Egbert Eich). + 281. Moved initialization of accel funtions past initialization of + offscreen fb manager in chips driver (Egbert Eich). + 280. Fixed initialization of video in chips driver (?). + 279. Fixed HALlib problem restoring text mode on G550 (Egbert Eich). + 278. Restructured and included Matrox's Merged Framebuffer changes to mga + driver (Egbert Eich). + 277. G450/550 clockchip programming fixes (Matrox). + 276. Fixed HW Cursor for HALlib frame granularity (Egbert Eich). + 275. Enabling 2D accel in 24-bit for neomagic 2360 and 2380 (Egbert Eich). + 274. Added support for builtin 1024x480 mode of Sony subnotebooks for + Neomagic driver (Egbert Eich). + 273. Fixed support for lowRes (320x240) modes in neomagic driver (Egbert + Eich). + 272. Fixed RAC function registration in S3 driver (Egbert Eich). + 271. Added some voodoo to screen initialization of S3 driver (Egbert Eich). + 270. Fixed vbe/int10 support in SMI driver. It used to core dump when BIOS + was not usable (Egbert Eich). + 269. Separated BRIGHTNESS and and CAPTURE_BRIGNTESS video attributes in smi + driver: CAPTURE_BRIGHTNESS refers to the capture chip (ie. Philips + SAA7110) while BRIGHTNESS controls the video overlay of the SMI chip + itself (Egbert Eich). + 268. Disable automatic loading of DRI when running SUN ffb as this is + inconsistent with other drivers (Thorsten Kukuk). + 267. Fixed Gamma/Brightness code in trident driver (Egbert Eich). + 266. Added FpDelay debugging option (Egbert Eich). + 260. Fixed video support for Trident 9397 (Egbert Eich). + 265. Fixed Cursor/VT switch support for vmware driver (Egbert Eich). + 264. Fixed Blit problems in vmware driver when running KDE (Egbert Eich). + 263. Added RENDER support to vmware driver (Egbert Eich). + 262. Added C&T 69030 to extrapci.ids (Egbert Eich). + 261. Improved mouse autodetection code (Egbert Eich). + 260. Restructured int10 code so that vm86 and x86emu support can be loaded + as modules. Implemented heuristic to try vm86 first and fall back to + x86emu. This allows 32 bit Xservers to run on x86_64 on 64-bit kernel + without vm86 support (Egbert Eich). + 259. Restructured elf loader: determine which section to load from + elfheader flags (Egbert Eich). + 258. Adding RENDER Support to RAC (Egbert Eich). + 257. Using borderClip instead of borderSize region for redisplay function + in miext/shadow code to avoid core dumps when vt switched away (Egbert + Eich). + 256. Replacing sprintf() by snprintf() in lbxproxy to eliminate possible + buffer overrun exploits (Egbert Eich). + 255. KP_Decimal fixes to Czech and Slovak keybards (Jan Holesovsky + ) (Egbert Eich). + +commit 2698ee9f29189a44de1c92df99f48d45f0111577 +Author: Keith Packard +Date: Thu Aug 15 18:07:57 2002 +0000 + + Prefer touchscreen to mouse + +commit fe477855d7d714c154dc9fcb1d0aa67fb8e4e5a5 +Author: Keith Packard +Date: Fri Aug 2 16:30:50 2002 +0000 + + Fix for iPaq IOCTL changes + +commit cf49ce6f26caee30f4160e6e0b2b658863e7a145 +Author: Keith Packard +Date: Fri Aug 2 16:15:02 2002 +0000 + + Allow both touchscreen and mouse at the same time + +commit 1a5f923c62dcffb3a81c6532f3dc071c70345cb3 +Author: David Dawes +Date: Tue Jun 4 22:19:58 2002 +0000 + + 174. Fix makedepend so that it can parse a unary '+' operator (#5185, Mark + Snitily). + 173. Fix a typo in Xvesa's emulation of instructions forbidden in vm86 mode + (#5184, Juliusz Chroboczek) + 172. Fix a bounds check in Xlib's Region code (#5183, Owen Taylor). + +commit 98f8d7af3cb7a10cc268a8bdd3039539b1bf90f2 +Author: Keith Packard +Date: Tue Feb 19 00:18:05 2002 +0000 + + kdrive/vesa: apply vm86 patch from Juliusz + +commit 6d8cedf68c7803330bc920cf7506727c4ad6108c +Author: Keith Packard +Date: Thu Feb 14 16:08:05 2002 +0000 + + update kdrive manual and usage + +commit 44b20bfa587def11f3127980e67ff47e695c3e51 +Author: Keith Packard +Date: Fri Feb 1 00:52:15 2002 +0000 + + kdrive/mach64: recognize the mach64li + +commit 3abb3e073961986137f8fec1f194c60636b9e864 +Author: Keith Packard +Date: Fri Jan 18 16:25:19 2002 +0000 + + kdrive: fix button emulation for iPAQ + +commit 88810cfc02941d7e54924e25aa872e5cc740d274 +Author: Keith Packard +Date: Thu Dec 20 16:47:30 2001 +0000 + + kdrive/linux/mouse.c: convert mouse data to signed values for compilers + with default unsigned chars + +commit 83388cb23282471e80d513bd3ab472b51c110b35 +Author: Keith Packard +Date: Mon Dec 10 16:34:20 2001 +0000 + + kdrive/i810: bit swap for i810 cursor (from Pontus Lidman) + +commit 4646a6c3b925676039f50bacb4f3c780f6e81bcc +Author: Keith Packard +Date: Fri Dec 7 02:19:04 2001 +0000 + + kdrive: work around ipaq touch screen compile problems + +commit 54feb8a4c8f0e0cb6eb40b494171fa4f3552cfc3 +Author: Keith Packard +Date: Fri Dec 7 02:18:19 2001 +0000 + + kdrive: missing registration for mouse input type + +commit 636390fb9d6314e506f593da6556fa198b4e9bf6 +Author: Keith Packard +Date: Thu Nov 22 23:38:21 2001 +0000 + + kdrive: initialize all Linux mouse driver fields + +commit 668c25a769044f06ed47a3145a11aceeb9574c9d +Author: Keith Packard +Date: Thu Nov 8 10:26:24 2001 +0000 + + kdrive: fix ALTGR keyboard mappings + +commit e76c6b2acae5622dd2d4944cd6f3673dbc70a571 +Author: Keith Packard +Date: Thu Nov 8 09:35:08 2001 +0000 + + kdrive/linux: update ps/2 mouse detection/configuration code from FreeBSD + bits + +commit 6fafe3b092f799da788a1ae75be1c23da42f0983 +Author: Keith Packard +Date: Thu Nov 8 09:33:51 2001 +0000 + + kdrive: Open APM device r/w for kernel 2.4.14 + +commit 2f2e256de71c42b7856440ec43b1c122019b95b7 +Author: Marc Aurele La France +Date: Mon Oct 29 16:34:56 2001 +0000 + + DPMS warning fix + +commit b8d90c5ea4659a01694864e6c05a563dcea296eb +Author: Marc Aurele La France +Date: Sun Oct 28 03:33:10 2001 +0000 + + 407. Fix for threaded libraries (Marc La France). + 406. Finish removal of SuperProbe (Marc La France). + 405. A rather large number of warning fixes throughout (Marc La France). + 404. Fix bug in HTML install script (Marc La France). + 403. Missing ident lines for some XFree86-modified files (Marc La France). + 402. Add default half-width doublescanned modes (Marc La France). + 401. Mark all driver-registered resources with ResBus (Maarc La France). + 400. Fix DPMS-related build problem (Marc La France). + 399. Log a message just before calling each ChipProbe() during '-probe' + processing (Marc La France). + 398. Temporarily disable ISA probing on SPARCs and PowerPCs (Marc La + France). + 397. Add PCI IDs for Sun hardware (Marc La France). + 396. Fix memory leak in resource relocation (Marc La France). + 395. Do not relocate resources that only conflict with disabled non-video + PCI devices or disabled PCI ROMs (Marc La France). + 394. Re-organise SBUS code (Marc La France). + 393. Add as-yet-unused definitions for PCI resource types other than I/O + and memory (Marc La France). + 392. Add doc for Solaris, but don't format it yet (Marc La France). + 391. Normalise driver names (Marc La France). + 390. For SPARCs, disable DGA support in ATI driver (Marc La France). + 389. Clean up some debugging messages (Marc La France). + 388. Fix newport driver for when a /proc fs isn't mounted (Marc La France). + 387. Fix DAC handling bugs in s3 driver (Marc La France). + 386. Fix resource registration bug for PCI Tseng's (Marc La France). + 385. Add aperture driver for Solaris (not yet used) (Marc La France). + 384. Rework scanpci to fix problems that prevented it from completely + displaying non-PCI bridges and Simba bridges (Marc La France). + 383. Fix build problems in some input drivers (Marc La France). + 382. Fix int10 compile problem for SPARCs and PowerPCs (Marc La France). + 381. Ensure master aborts on secondary buses complete normally during PCI + scans (Marc La France). + 380. Some memory mapping and Solaris cleanups (Marc La France). + +commit a8518b35617a479f50c735c015115b853f4aa327 +Author: Keith Packard +Date: Wed Oct 24 20:14:52 2001 +0000 + + kdrive/savage: Long lines cant be drawn with accelerator + +commit 28fd5f7525848cf0109f9cf2d6311f3717570a5d +Author: Keith Packard +Date: Fri Oct 12 06:33:12 2001 +0000 + + kdrive: add new auto-detecting and auto-switching mouse driver + +commit 5f310d7f8b566b1e331286752d349f87ef43a811 +Author: Keith Packard +Date: Sat Sep 29 04:16:39 2001 +0000 + + kdrive: restructure APM/VT switch support to reset keyboard state and flush + buffer on APM resume + +commit bb2e1c53b58ac94539f0d11ae195186a9ee0a2f7 +Author: Keith Packard +Date: Fri Sep 21 21:58:34 2001 +0000 + + hw/kdrive: Xv window private should be allocated on demand + +commit 59cd35f634468acfa2e48711da09fabc811d96f9 +Author: Keith Packard +Date: Fri Sep 14 19:25:17 2001 +0000 + + hw/kdrive/vesa: initialize mouse matrix for non-rotated case correctly + +commit fbaf3ceae0519ebdfee4b6a73b1bc0000f141cf2 +Author: Keith Packard +Date: Fri Sep 14 19:24:11 2001 +0000 + + hw/kdrive/trident: solid fill checks busted for planemasking + +commit 216090d1aedb23c691a75da25b14d8543b932e1c +Author: Keith Packard +Date: Wed Sep 5 07:12:43 2001 +0000 + + kdrive: Add primitive ct65550 server. Update kdrive/vesa code to support + DPMS using VESA bios routines. Include support for Toshiba SMM DPMS as + well + +commit f856b952ec7251d6e95f0b93d62fb026d07b0ebc +Author: David Dawes +Date: Thu Aug 9 20:45:15 2001 +0000 + + 187. Add an MS mouse driver for KDrive (#4754, Juliusz Chroboczek). + +commit f4db75ac431c14e0c24ff7549c6ce1e3b0b86b87 +Author: Keith Packard +Date: Thu Aug 9 09:08:55 2001 +0000 + + kdrive/mach64: support Xv under RandR + +commit 628d7695d1696f6f5cba6ea1f2548aa5d0f38c80 +Author: Keith Packard +Date: Thu Aug 9 09:06:08 2001 +0000 + + kdrive: disable sigio debugging + +commit 958c0374a6709386e91b4b3ed7ba8fa81d415ebf +Author: Keith Packard +Date: Tue Jul 24 21:26:17 2001 +0000 + + kdrive: add apm support, fix MTRR unmapping bug + +commit b7eb8a35b51aa2edc9ff59f091ee88ea7000b757 +Author: Keith Packard +Date: Tue Jul 24 19:06:04 2001 +0000 + + kdrive: Unmap vesa device when disabled + +commit d2d221a012950b98e48e47b6dea38e6ad385fef8 +Author: Keith Packard +Date: Mon Jul 23 03:44:17 2001 +0000 + + kdrive/mach64: Force read of GUI_STAT on every op to avoid problems across + suspend/resume + +commit 79486b3b5c792a990cb73b4efa453218262e605f +Author: Keith Packard +Date: Fri Jul 20 19:35:30 2001 +0000 + + Too many changes, but all in kdrive: + Add support for global screen origins (-origin option), handles both + Xinerama and mouse crossings. + Fix XV enable/disable sequences -- can't use card wrappers as cards have + more than one screen. + Change vesa/fbdev to use new depth-independent rotation shadow update + Fix vesa to allow starting rotation value (again) + Make vesa driver write all colormap changes in one INT10 call + +commit 9826d5a1339570c037ae1ef29c9a237874a6ffa2 +Author: Keith Packard +Date: Thu Jul 19 08:46:30 2001 +0000 + + kdrive/fbdev: only setting first colormap entry on static hardware + +commit 35d8b5f44269c97497c73d3638b8f0345757c04c +Author: Keith Packard +Date: Mon Jul 16 19:48:00 2001 +0000 + + kdrive/fbdev: fix static color case + +commit 090a429573dfb965ebc4ea8ea57e3bef5f9a8539 +Author: Keith Packard +Date: Wed Jul 11 16:42:17 2001 +0000 + + kdrive/fbdev: dont set DPMS mode repeatedly to the same value + +commit 99fb2eb76d8f93578e4aba75c73b9be0766f7b6f +Author: Keith Packard +Date: Wed Jul 11 05:02:24 2001 +0000 + + Generalize kludge in fbdev that normalizes pixel formats to something that + Render can handle + +commit 562474091a3d52a062eb89d25a7d38200a785425 +Author: Keith Packard +Date: Wed Jul 11 02:58:19 2001 +0000 + + Fix TOUCHSCREEN support in kdrive + +commit 67cd53abfce7ed17ae4c428332a9e0fd908da97a +Author: Keith Packard +Date: Fri Jun 29 14:00:41 2001 +0000 + + Rework kdrive input fd handling, enable multiple simultaneous mice + +commit c872ee82045e8c7ce019df2577d06bec549cd71c +Author: Keith Packard +Date: Fri Jun 29 13:57:45 2001 +0000 + + kdrive: typo in MTRR calculations + +commit 63dd090655ba995b8f26386bb50cb5b7568f7da0 +Author: Keith Packard +Date: Fri Jun 29 13:55:53 2001 +0000 + + kdrive: dont touch hardware when disabled + +commit 01a53daa03a8ee36ce136dde3a9a9b152e9c2e2f +Author: Keith Packard +Date: Sat Jun 23 03:41:24 2001 +0000 + + Clean up mach64 video code to add ReputVideo and make StopVideo not crash + the machine + +commit 31d47ec8bed1b02d04563ba502eaeb028975f653 +Author: Keith Packard +Date: Thu Jun 21 21:44:09 2001 +0000 + + kdrive/mach64: remove useless Xv debug printfs + +commit bd61c15279e2195c72b3add32961ed21e293d48b +Author: Keith Packard +Date: Thu Jun 21 01:01:30 2001 +0000 + + Add RCS tag + +commit 66c9184807997d2a0a155ba1697906c07396863f +Author: Keith Packard +Date: Thu Jun 21 00:58:51 2001 +0000 + + Fix screen physical size in RandR code for kdrive fbdev and pcmcia servers + +commit f8a456f094d8f61c021bbfb6e6f0a4723ebdc73f +Author: Alan Hourihane +Date: Wed Jun 20 21:53:31 2001 +0000 + + Add RandR support to the Kdrive pcmcia driver. + +commit 918ff10f2697ee8c17013bd31596072a38c5ac9b +Author: Keith Packard +Date: Tue Jun 19 09:31:47 2001 +0000 + + Finish Xv support for kdrive/mach64 + +commit 6d86517b0ed0db51f3eaf19c186db52feb1e47e0 +Author: Keith Packard +Date: Sat Jun 16 05:53:05 2001 +0000 + + Screen flipping broken pointer remapping + +commit 54aea8ec0c1c3633788fd9b19636093860c75d53 +Author: Keith Packard +Date: Sat Jun 16 05:48:49 2001 +0000 + + Patch DPMS support in kdrive/mach64, add preliminary (broken) Xv support + +commit f386ca6c69ba10cd8c0dd60bb25cde37ecfc8bc7 +Author: Keith Packard +Date: Wed Jun 13 19:18:44 2001 +0000 + + Support initial rotation in kdrive/fbdev, use that as the normal + orientation + +commit 93dbdc89c172fd5d6450f21ebc91011771ac0100 +Author: Keith Packard +Date: Wed Jun 13 19:18:03 2001 +0000 + + Add -dpi support to kdrive + +commit a6517a3056a88fca35a47185a0e6d83f3e8b0015 +Author: Keith Packard +Date: Mon Jun 11 01:38:54 2001 +0000 + + Advertise supported rotations in kdrive/vesa server + +commit 4f8254b31f30bd12224c2fdcecfbd67b41ecd7e1 +Author: Keith Packard +Date: Tue Jun 5 17:17:39 2001 +0000 + + Attempt to make kdrive/fbdev run on static gray hardware (iPaq 3150) + +commit bf4dbfbf45e4e6b1b86c624b1995a1050b7a0eef +Author: Alan Hourihane +Date: Tue Jun 5 16:57:44 2001 +0000 + + fix some warnings due to new shadow code + +commit a4ba10ba6ffb1c01a0df5b34669b9fb24ad0e7d9 +Author: Keith Packard +Date: Tue Jun 5 16:49:31 2001 +0000 + + kdrive/fbdev: RandR initialization sequence change + +commit 7fcf46356ba70563f036f535e60667727db442ae +Author: Keith Packard +Date: Mon Jun 4 09:45:42 2001 +0000 + + Allow for hardware acceleration under RandR with Layer. Hardware/Software + cursor switching still busted + +commit 54e66d92db917923e33e018e628a7629d6705507 +Author: Keith Packard +Date: Sun Jun 3 21:52:46 2001 +0000 + + Update RandR protocol + +commit 88ae32841d766c7d0df79ee25e1db62996d4ecb3 +Author: Keith Packard +Date: Sun Jun 3 18:48:19 2001 +0000 + + Add mach64 driver to Tiny-X + +commit 14ed0c3d6d674df4edcbcd8840a7cea4b41a0673 +Author: Keith Packard +Date: Wed May 30 15:36:25 2001 +0000 + + Fix kaa to not try Copy for pixmap sources + +commit a2bd75d15a99d4ee117e17921f0426228d53f5e8 +Author: Keith Packard +Date: Tue May 29 21:55:41 2001 +0000 + + Xfbdev: Make sure screen gets re-enabled on RandR failure + +commit 562925c439cf1746f2caa720d4f2dce54ba0311b +Author: Keith Packard +Date: Tue May 29 17:47:55 2001 +0000 + + Fix Xipaq build after layer/RandR additions + +commit 78b53386b51cde4fe4664963ddafa36b814360f2 +Author: Keith Packard +Date: Tue May 29 04:54:13 2001 +0000 + + Add miext/layer for more complete RandR support in kdrive/Xfbdev + +commit 06f758797ab3651b0e293ae26daf4df77702fdde +Author: Keith Packard +Date: Sat May 26 01:25:42 2001 +0000 + + Add initial RandR support to Xvesa + +commit ba8351609869165aa2de92b7a876dc2d2768cb5b +Author: David Dawes +Date: Fri May 25 18:40:59 2001 +0000 + + 38. Fix xmh's use of XtNewString() with getenv (#4694, Tim Waugh). + 37. Xdm/PAM fixes: leave it to PAM to observe whether or not an account is + locked, and reinitialize credentials after calling initgroups(), + because sometimes the credentials pam_setcred() gives are in the form + of group membership (#4693, Mike Harris). + 35. Fix warnings when building mieq.c (#4689, Adam Sulmicki). + 34. Fix some bugs in the cz and sk entried in XKB's keymap/xfree86 file + (#4692, Ivan Pascal). + 33. Add 'hr' entries to XKB's keymap/xfree86 and rules/xfree86.lst files + (#4687, Nerijus Baliunas). + 32. Include in shape.h to get Region typedef (#4686, Adam + Sulmicki). + +commit e9314bd34ec39cc699591123cc8a05a934b66b85 +Author: Alan Hourihane +Date: Fri May 25 07:44:29 2001 +0000 + + wrap some stuff around #ifdef TOUCHSCREEN + +commit e6497f39af98cd25719eab72b0be04fa4146172f +Author: Alan Hourihane +Date: Thu May 24 19:31:46 2001 +0000 + + fix ifdef->if + +commit 0e1a49a7dd00ae494d92ab480d9776ec5320cb3e +Author: Alan Hourihane +Date: Wed May 23 17:28:39 2001 +0000 + + add missing pieces for the pcmcia driver + +commit 85d827f5329fa93dea1125788457fac6835cd134 +Author: Alan Hourihane +Date: Wed May 23 08:56:09 2001 +0000 + + Add PCMCIA server for HP VGA Out PC Card and the Voyager VGA Card. Use on + the Compaq IPAQ. Use -listmodes to see supported modes. Hack the + touchscreen driver to work as a mouse pad for the VGA screen. Fixup key + bindings so xmodmap can remap IPAQ's buttons as mouse buttons. + +commit f9104754cda1212cf48d6d24a0a586c5368d7549 +Author: Keith Packard +Date: Wed May 23 03:29:44 2001 +0000 + + Add RandR extension + +commit dc383e8f77f99e8c2b799a6ab4e4998a1fcacb24 +Author: Marc Aurele La France +Date: Sun Apr 1 14:00:04 2001 +0000 + + 317. glxinfo needs libGLU (Marc La France). + 316. Rage128 fix to Cards database (Marc La France). + 315. Minor fix to PCI resource overlap handling (Marc La France). + 314. Loader code simplification and IA-64 cache flushes (Marc La France). + 313. Workaround in the ATI driver for troublesome interaction between + loader and compiler optimisation (Marc La France). + 312. Warning fixes for `gcc -fno-builtin`, which appears to be the default + on some systems (Marc La France). + more of #301, tags, warnings and build fixes. + +commit 518e205b06d0dc7a0cd35fbc2c6a4376f2959020 +Author: Keith Packard +Date: Fri Mar 30 17:35:55 2001 +0000 + + kdrive/igs: add missing register definitions that used to be in igsregs.t + +commit eb3da37564593b7c9fb574af824e2f5e0cc6bb24 +Author: Keith Packard +Date: Fri Mar 30 02:18:41 2001 +0000 + + Add files for Xmuu and i810 driver + +commit f39a62d122b6e63e2971d8593bf6b24933f66ec8 +Author: Keith Packard +Date: Fri Mar 30 02:15:20 2001 +0000 + + Add Xmuu library to remove requirement for Xt/Xaw from most X utilities Add + i810 and Xv support to kdrive + +commit a161cfd72870ae6dca66ef02f5cdd13b7ac75fd6 +Author: David Dawes +Date: Wed Mar 21 16:43:16 2001 +0000 + + remove Id line + +commit 0aa54b4d409647778b563d77ef6100085d86c6f3 +Author: David Dawes +Date: Tue Feb 13 21:15:15 2001 +0000 + + 144. Fix the neomagic driver so that it saves/restores the palette (#4452, + Ken Hornstein). + 143. Fix a palette saving bug in the vgahw module (#4452, Ken Hornstein). + 142. Fix a typo in Xfbdev.man (#4446, Juliusz Chroboczek). + 141. Major updates to the savage driver, including: + - DDC support + - I2C support + - XVideo YUV overlay support for Savage/MX and Savage/IX + - DGA support + - yanks Ani Joshi's depth/bitsPerPixel patch for searching the BIOS + - fixes interactions with frame buffer and SVGATextMode consoles; VT + switching now seems quite reliable for almost everyone + - yanks unused options + - adds new options for hacks to deal with the status register hangs + - adds one special case memory configuration for Savage 4 + - adds support for doublescan modes (320x240 works) + - adds LCD panel detection + - fixes a panning bug at depth 24 (panning must be to even pixels) + - adds a workaround for bugs in the latest ProSavage BIOSes (#4445, 4448, + Tim Roberts). + 140. Make 'X -configure' use the long monitor name when present in the DDC + info (#4444, Andrew C. Aitchison). + 139. Make glxinfo respect $DISPLAY (#4443, Meelis Roos). + 138. Fix TrueType font problems in 4.0.2 (#4439, Juliusz Chroboczek). + 137. Document the "DisplaySize" keyword in the XF86Config man page (#4438, + Andrew C. Aitchison). + +commit 3dfa6cce9938413e10cc400ba6d9b19b8f28e485 +Author: David Dawes +Date: Sat Jan 27 18:20:40 2001 +0000 + + 88. Set the version strings in man pages dynamically (David Dawes). + 87. Remove the XF86_VERSION string from xf86Version.h, leaving just the + numerical values. All the version information is now derived from that + single set of values (David Dawes). + +commit 60c7a912e257045d1189a19a38d9dbedc20ae78b +Author: David Dawes +Date: Wed Jan 24 00:06:10 2001 +0000 + + 79. Preprocess all man pages to make sure that the references to pages in + sections that are platform-dependent are correct. Also fixed some misc + formatting problems found while doing that (David Dawes). + +commit dacbf5671da08d161cd7a32496e0b58f50a93453 +Author: Keith Packard +Date: Tue Jan 23 06:25:05 2001 +0000 + + Integrate jg patch for iPAQ + +commit 2869e08a328cb6aa51c17b96bdebd37e9eeefc88 +Author: Keith Packard +Date: Wed Dec 13 18:06:54 2000 +0000 + + kdrive: non-x86 compiles broken in kmap.c + +commit ec4916836c42cb4a1dc1622dddd27951a90a52c9 +Author: Keith Packard +Date: Fri Dec 8 23:04:57 2000 +0000 + + kdrive: dont try MTRR on non-x86, fix backspace mapping + +commit d09a156d92dbcd9368be20dabe47ea197f19357e +Author: Keith Packard +Date: Fri Dec 8 22:59:37 2000 +0000 + + kdrive: allow screen size specification + +commit 6b61d48f2146f18c94d5f2b3d16a822c0eee9841 +Author: Keith Packard +Date: Fri Dec 8 21:40:29 2000 +0000 + + kdrive/vesa: type cast warning fix + +commit b59eabd230110d604515868893d9aa06e6d3b748 +Author: Keith Packard +Date: Fri Dec 8 21:40:02 2000 +0000 + + kdrive: A few iPAQ inspired changes to event management + +commit a25637fe789c5127451233c759074780cbc110ac +Author: David Dawes +Date: Mon Dec 4 21:01:00 2000 +0000 + + missing ident lines + +commit 1adbdf76a903aa37d553c1c2cc43a783f21acaa5 +Author: Keith Packard +Date: Fri Dec 1 00:01:32 2000 +0000 + + kdrive: add Xkdrive/Xfbdev man pages, update Xvesa manual + +commit 5f8e75f27d49719f5fd07d48481435f93779da6c +Author: Keith Packard +Date: Wed Nov 29 08:42:25 2000 +0000 + + kdrive: add MTRR support, add clock support to trident driver + +commit 02568ec5a8f278faaa26c973fcb424da3fd31f2b +Author: Keith Packard +Date: Sun Nov 19 20:51:12 2000 +0000 + + kdrive: vesa get mode using uninitialized value + +commit 8f634a6516caca0e4be875e696820a820e480cff +Author: Keith Packard +Date: Fri Oct 20 00:19:51 2000 +0000 + + Add VGA BIOS modes to Tiny-X Xvesa server + +commit f16d5d6817f15be35293ee995d073eb57fafe283 +Author: Keith Packard +Date: Wed Oct 11 06:04:40 2000 +0000 + + Add composite operator support to trident + +commit d579bd5676ea570a8f2765cd2f6ba40074171593 +Author: Marc Aurele La France +Date: Tue Oct 10 14:05:48 2000 +0000 + + Static build fix and ident lines. + +commit 5f5b9ed1ad0591d70354c2b90609051d169fc33e +Author: Keith Packard +Date: Sun Oct 8 02:08:39 2000 +0000 + + kdrive: Add timeout to screen switching to avoid unintentional flipping + +commit fb8b58270fcaee236337d3818df04e651acbcea9 +Author: Keith Packard +Date: Fri Oct 6 22:13:40 2000 +0000 + + kdrive: support jgs new linux keysyms + +commit 15d45ffbd9af5ccce07264d6182b2222c417a2a5 +Author: Keith Packard +Date: Fri Oct 6 22:05:53 2000 +0000 + + kdrive: fix any-edge screen-switching behaviour + +commit fae164a4958b95e3ba4e4d5125da4611fcb14f6d +Author: Keith Packard +Date: Fri Oct 6 05:54:09 2000 +0000 + + kdrive: ignore mouse/keyboard fds in WakeupHandler while switched away + +commit b814019be970bc45f808ec19eef0a48b789d6646 +Author: Keith Packard +Date: Tue Oct 3 17:22:14 2000 +0000 + + kdrive: zero out fbdev screen private as its supposed to be + +commit e0ccbaab226bd3e1d619d66c9ec718c67c0a559a +Author: Keith Packard +Date: Thu Sep 28 20:58:21 2000 +0000 + + kdrive: fix typo initializing touch screen + +commit 6171187e92152a443f7d5dd7f0dad866b3e275ea +Author: Keith Packard +Date: Wed Sep 27 20:47:37 2000 +0000 + + kdrive: memory/fd leaks fixed in fbdev/vesa/trident drivers + +commit 367cab99ece8655bbd8a65096bb68bcfd7ef6fea +Author: Marc Aurele La France +Date: Tue Sep 26 15:57:04 2000 +0000 + + 721. PCI chip ID updates to ATI driver (Marc La France). + 720. Fix i810 driver for -probe and -configure (Marc La France). + 719. Change message when default modes are deleted (Marc La France). + 718. Fix Xinerama byte swapping bug (Marc La France). + 717. IA-64 and Alpha fixes for pswrap, Mesa, DRI, Xpm, libX11, Xt, Xaw, + Xmu, dps, Type1 fonts, cfb24, most output drivers, ELF loader, ramdac + module, xf4bpp and xf86cfg (Marc La France). + 716. Improve IA-64 support by removing a plethora of 32-bit'isms (Marc La + France). + 715. Default HasLinuxDoc to NO (Marc La France). + ident lines and warning fixes. + +commit 94368c3b92b8513d5135fb3c20165f108b0e96fd +Author: Keith Packard +Date: Tue Sep 26 04:31:23 2000 +0000 + + kdrive: Add iPAQ and Touch screen support + +commit 03e3689701007ea40422b4d729b65aaebcd84869 +Author: Alan Hourihane +Date: Sun Sep 24 13:52:40 2000 +0000 + + reversed a tag accidentally - put it back. + +commit 61e8a40f0d4e886bec96c3f9ee90433a3fab9d54 +Author: Alan Hourihane +Date: Sun Sep 24 13:51:22 2000 +0000 + + DRI merge + +commit 2bbb90ebd927607e0b2c7cd8f3a402b44705fe03 +Author: Keith Packard +Date: Fri Sep 22 06:25:29 2000 +0000 + + Changes for PPC support under linux and a few overlay additions + +commit 02777941e6ac8c79f934ba95b6b2e7f388ffbd14 +Author: Keith Packard +Date: Tue Sep 19 23:50:48 2000 +0000 + + kdrive: fix bug in vesa 4plane in 8bpp mode + +commit 5b9f49f64c7fb51afbfaab4f848fc7d67851582c +Author: Keith Packard +Date: Tue Sep 19 23:49:55 2000 +0000 + + kdrive: use VESA instead of FBDEV for trident driver + +commit 18692160c964c80ba83b63bc207660b6254e11cb +Author: Keith Packard +Date: Tue Sep 19 23:49:17 2000 +0000 + + kdrive: make sure allocation worked before accessing + +commit d6e151ce4deaff506c580da7e3baf055db1c3ae3 +Author: Keith Packard +Date: Fri Sep 15 15:19:00 2000 +0000 + + Tiny-X: Add mouse matrix to rotate mouse, allow enable to fail, add render + by default + +commit f7421d836186cd6dfb919c5a48d556a68d6c5a5d +Author: Keith Packard +Date: Fri Sep 15 07:25:13 2000 +0000 + + Add rotation to fbdev and vesa + +commit 5ec29fe9ea788e0dcc47534a2eca479b2c465160 +Author: Marc Aurele La France +Date: Thu Sep 7 19:44:26 2000 +0000 + + Ident lines + +commit db1a883d32ce8138dde288d32c11e147cdfc81a0 +Author: Keith Packard +Date: Sun Sep 3 05:12:28 2000 +0000 + + Rework tiny-x vesa driver for shadowing and multiple screen support. Allow + enable to fail and avoid crashing + +commit c97fb611dd7dedef6d075ef9d56f3d32c8018d39 +Author: Keith Packard +Date: Sun Sep 3 05:11:46 2000 +0000 + + Rework vesa driver for shadowing and multiple screen support. Allow enable + to fail and avoid crashing + +commit 38059656849a5bab5b56b23359a90aca4ba396c7 +Author: Keith Packard +Date: Tue Aug 29 17:20:15 2000 +0000 + + Use VESA driver underneath + +commit 77331f967077ca2fefbfb117c7e9bc2bf65b5e31 +Author: Keith Packard +Date: Tue Aug 29 17:19:51 2000 +0000 + + Changes from Juliusz for emulating some in/out insns, make ready for other + layers to use + +commit 3095deed7701a1a14be85dff4a6994028b5a6d09 +Author: David Dawes +Date: Mon Aug 28 15:29:19 2000 +0000 + + 565. Support for multithreaded libraries on NetBSD when used in conjunction + with the GNU pth library (#4113, Chris Sekiya). + 564. Add /usr/pkg/bin to NetBSD's DefaultUserPath (#4112, Bernd Ernesti). + 563. Add a (Linux-specific) VESA driver for Keith's small X server (#4111, + Juliusz Chroboczek). + 562. Update Hungarian xkb maps (#A.145, Peter Soos). remove koi8-r encoding + file since it's built-in + +commit f32448679118b77825625aafdc4d6ae4d636cc21 +Author: Marc Aurele La France +Date: Mon Aug 28 02:43:14 2000 +0000 + + Ident lines + +commit 83a388c96d665b6bfb0ae195c8c74e0e1520ab8f +Author: Keith Packard +Date: Sat Aug 26 00:24:38 2000 +0000 + + Try to avoid hitting hardware during server reset when not active, add + KdPicture code + +commit 4223801110c8d5873dd668880dff411765dfc18d +Author: Keith Packard +Date: Wed Aug 9 17:52:45 2000 +0000 + + Add overlay support for savage. Make sis setup code work on nIc + +commit 325fb002e8832a05361516bbaf19d1e8b67a3486 +Author: Keith Packard +Date: Wed May 24 23:57:56 2000 +0000 + + Fix 640x480x60 mode, drop inb/outb on non-x86 machines + +commit a6d519e527a81341ad333cb25b410dfde07176ae +Author: Keith Packard +Date: Wed May 24 23:52:48 2000 +0000 + + Add modes, cursors and acceleration + +commit 240aeb4cda91d19f5b19ebd7f7d6c1aad19f1642 +Author: Marc Aurele La France +Date: Thu May 11 18:14:13 2000 +0000 + + 162. Fix possible SEGV in generic int10 module (Marc La France). + 161. Fix *BSD aperture driver to allow for int10 (Bernd Ernesti, Marc La + France). + 160. Fix vesafb restore problem in ATI driver (Marc La France). + 159. Fix a few more compilation glitches (Marc La France). + +commit 3731c184d69e3c1face0c731926433d522d48067 +Author: Keith Packard +Date: Sat May 6 22:17:53 2000 +0000 + + Lots of Tiny-X changes: + Add overlay support in the Tiny-X Savage4 driver (required changing lots of + Tiny-X code). Savage4 now support 8/16, 8/32 overlays. + Add IGS Cyberpro 5050 driver. This chip has bus support for embeded + systems. + +commit 4b54f22b6accf438f31fbbe79877545c38375351 +Author: David Dawes +Date: Wed Feb 23 20:30:15 2000 +0000 + + remove/disable standard RCS ident lines that are in some files some bindist + updates don't define noPanoramiXExtension when Xinerama is not enabled + Add xfontsel to programs/Imakefile + +commit be2dad5954b8fee09a84f417e41bb65745dadf76 +Author: David Dawes +Date: Fri Jan 21 18:41:49 2000 +0000 + + missing ident lines + +commit 306ac1db85c30a796c9a69c639e7f2e4efd98d50 +Author: David Dawes +Date: Fri Jan 21 01:12:02 2000 +0000 + + 3554. Fix "controlization" in XLookupString for chars > 127 (#3569, Ivan + Pascal). + 3553. Take advantage of FB speedups in Tiny-X (#3568, Keith Packard). + 3552. Speed up FB and do 32bit accesses instead of 64bit accesses (#3567, + Keith Packard). + 3551. Eliminate saving the contents of the screen durint VT switching + (#3562, Keith Packard). + 3550. Make using fb easier for driver writers (#3561, Keith Packard). + 3549. Fix TCP font server connections (#3560, Keith Packard). + 3548. Implement the "OverclockMem" option for the Millennium and Millennium + II (#3558, Andrew Aitchison). + 3547. Speed up some FB performance problems (#3557, 3559, 3560, Keith + Packard). + 3546. Work around a bad code generation bug in gcc 2.7.2.3 that shows up in + XAA (#3550, Rik Faith). + 3545. Add a -brief option to xclock to show only hours and minutes when in + digital mode (#3549, Keith Packard). + 3544. Fix some dead key problems with xkb symbols for Swiss French and + Swiss German keyboards (#3546, Charles Lopes). + +commit 6d978d21b0bea6c73b65f2f47c68de4b94dd73c4 +Author: Robin Cutshaw +Date: Thu Dec 30 03:42:58 1999 +0000 + + Itsy cleanup. + +commit 30e35cb44b6ea11d0eac8ce0d986517f3224852a +Author: Robin Cutshaw +Date: Thu Dec 30 03:03:21 1999 +0000 + + 3516. Jumbo Tiny-X patch with Itsy support (#3527, Keith Packard). + +commit f13b792a3a8d307a18cd6a41aa5a06622009e42f +Author: Dirk Hohndel +Date: Fri Nov 19 13:54:06 1999 +0000 + + 3336. Fx up new MMIO macros (#3337, Matt Grossman). + 3335. Clean up compiler warnings in lib/font/bitmap (#3411, Matt Grossman). + 3334. TGA fixes, add sync on green (#3410, Matt Grossman). + 3333. Fix NULL pointer dereference in libXaw (#3406, Christopher Sekiya). + 3332. Add Rage128 support (#3405, Rik Faith, funded by ATI). + 3331. Add MTRR support for NetBSD and OpenBSD. Add new NetBSD aperture + driver (#3404, Matthieu Herrb). + 3330. Xterm patch #121 (#3402, Thomas Dickey). + 3329. Rendition driver bugfixes and alpha related cleanups (#3400, Dejan + Ilic, Marc Langenbach, Egbert Eich). + 3328. Add void input device (#3392, Frederic Lepied). + 3327. Changed the Xon serial option to be able to select xon/xoff for + input, output or both. Add support for Graphire models. Change wacom + init phase to use new Xoff option (#3391, Frederic Lepied). + 3326. Change the SwapAxes option to SwapXY in elographics/microtouch driver + to match an already existing option in the Dynapro driver. Add a Focus + class capability to the elographics driver (#3395, Patrick Lecoanet). + 3325. Update mouse rate handling (#3388, Harald Koenig). + 3324. Fix NULL pointer dereference in misprite.c (#3380, Edward Wang). + 3323. Add FBDev and ShadowFB support to glint driver. Add new option + "NoWriteBitmap" (#3383, Michel Daenzer). + 3322. Update SuperProbe to handle S3 Savage4, Savage200 and clean up + Trio3D/Savage3D detection (#3382,3384 Harald Koenig). + 3321. Add new framebuffer code and tiny X DDX architecture (#3379, Keith + Packard). + 3320. Add DGA2 documentation (#3378, Mark Vojkovich). + 3319. Update XFree86 manpage wrt -bpp/-depth/-fbbpp (#3377, Andy Isaacson). + 3318. Make SuperProbe check primary cards, only (#3374, Harald Koenig). + 3317. Add SilkenMouse to *BSD (#3373, Matthieu Herrb). + 3316. Allow SilkenMouse to work if not all drivers of an OS support SIGIO + (#3372, Keith Packard). + 3315. Fix a few problems in TGA driver and add support for backing store + and SilkenMouse (#3371, Matt Grossman). + 3314. Add smarter scheduler (#3370, Keith Packard). + 3313. Xterm patch #120 (#3369, Thomas Dickey). + 3312. Enable xf86SetKbdRate function on Solaris 8 (#3364, David Holland). + 3311. Fix some bugs and add acceleration to Rendition server (#3360, Dejan + Ilic). + 3310. Make raw DDC information available as properties in the root window + (#3357, Andrew Aitchison). + 3309. Fix for xf86CreateRootWindow (#3355, Andrew Aitchison). + 3308. Add manpage for the chips driver (#3353, David Bateman). + 3307. Update contact info (#3352, Andrew van der Stock). + 3306. Add kbd rate support for Linux (#3363, Harald Koenig). + 3305. Update Portuguese XKB map (#3351, Joao Esteves, Francisco Colaco). + 3304. Fix text clipping in 3dfx driver (#3349, Henrik Harmsen). + 3303. Fix S3 ViRGE hw cursor (#3348, Harald Koenig). + 3302. Fix clipping in 3dfx driver (#3342, Daryll Strauss). + 3301. Enable SilkenMouse for 3dfx driver (#3341, Henrik Harmsen). + 3300. Enable SIGIO support on LynxOS (#3339, Thomas Mueller). + 3299. Get TRUE defined in sigio.c. Fix xterm compile problem on ISC (#3338, + Michael Rohleder). + 3298. Correct DPMS suspend/standby modes for 3dfx driver (#3336, Henrik + Harmsen) + 3297. Xterm patch #119 (#3335, Thomas Dickey). diff --git a/xserver/GL/Makefile.am b/xserver/GL/Makefile.am index b9337ba69..df9f533e2 100644 --- a/xserver/GL/Makefile.am +++ b/xserver/GL/Makefile.am @@ -1,16 +1,16 @@ -SUBDIRS = glx mesa - # someone could get really crazy someday and add support for the SI... # xwin/darwin/xfree86 have their accel support under the DDX -APPLE_EXTRAS = \ - apple/aglGlx.c \ - apple/indirect.c +if BUILD_DARWIN +DARWIN_SUBDIRS = apple +endif +SUBDIRS = glx mesa $(DARWIN_SUBDIRS) + WINDOWS_EXTRAS = \ windows/ChangeLog \ windows/glwindows.h \ windows/glwrap.c \ windows/indirect.c -EXTRA_DIST = symlink-mesa.sh $(APPLE_EXTRAS) $(WINDOWS_EXTRAS) +EXTRA_DIST = symlink-mesa.sh $(WINDOWS_EXTRAS) diff --git a/xserver/GL/apple/Makefile.am b/xserver/GL/apple/Makefile.am new file mode 100644 index 000000000..2b2d10cbc --- /dev/null +++ b/xserver/GL/apple/Makefile.am @@ -0,0 +1,15 @@ +AM_CFLAGS = -I$(top_srcdir) \ + -I$(top_srcdir)/hw/darwin/quartz \ + -I$(top_srcdir)/GL/glx \ + -I$(top_srcdir)/hw/darwin/quartz/cr \ + -I$(top_srcdir)/GL/include + +if HAVE_AGL_FRAMEWORK +noinst_LIBRARIES = libAGLcore.a +libAGLcore_a_SOURCES = aglGlx.c \ + $(top_srcdir)/hw/darwin/quartz/xpr/x-list.c \ + $(top_srcdir)/hw/darwin/quartz/xpr/x-list.h \ + $(top_srcdir)/hw/darwin/quartz/xpr/x-hash.c \ + $(top_srcdir)/hw/darwin/quartz/xpr/x-hash.h \ + $(top_srcdir)/hw/dmx/glxProxy/compsize.c +endif diff --git a/xserver/GL/apple/Makefile.in b/xserver/GL/apple/Makefile.in new file mode 100644 index 000000000..bdea2a07e --- /dev/null +++ b/xserver/GL/apple/Makefile.in @@ -0,0 +1,681 @@ +# Makefile.in generated by automake 1.10 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = GL/apple +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/include/do-not-use-config.h \ + $(top_builddir)/include/xorg-server.h \ + $(top_builddir)/include/dix-config.h \ + $(top_builddir)/include/xgl-config.h \ + $(top_builddir)/include/xorg-config.h \ + $(top_builddir)/include/xkb-config.h \ + $(top_builddir)/include/xwin-config.h \ + $(top_builddir)/include/kdrive-config.h +CONFIG_CLEAN_FILES = +LIBRARIES = $(noinst_LIBRARIES) +ARFLAGS = cru +libAGLcore_a_AR = $(AR) $(ARFLAGS) +libAGLcore_a_LIBADD = +am__libAGLcore_a_SOURCES_DIST = aglGlx.c \ + $(top_srcdir)/hw/darwin/quartz/xpr/x-list.c \ + $(top_srcdir)/hw/darwin/quartz/xpr/x-list.h \ + $(top_srcdir)/hw/darwin/quartz/xpr/x-hash.c \ + $(top_srcdir)/hw/darwin/quartz/xpr/x-hash.h \ + $(top_srcdir)/hw/dmx/glxProxy/compsize.c +@HAVE_AGL_FRAMEWORK_TRUE@am_libAGLcore_a_OBJECTS = aglGlx.$(OBJEXT) \ +@HAVE_AGL_FRAMEWORK_TRUE@ x-list.$(OBJEXT) x-hash.$(OBJEXT) \ +@HAVE_AGL_FRAMEWORK_TRUE@ compsize.$(OBJEXT) +libAGLcore_a_OBJECTS = $(am_libAGLcore_a_OBJECTS) +DEFAULT_INCLUDES = -I. -I$(top_builddir)/include@am__isrc@ +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ +SOURCES = $(libAGLcore_a_SOURCES) +DIST_SOURCES = $(am__libAGLcore_a_SOURCES_DIST) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ +ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ +ALLOCA = @ALLOCA@ +AMTAR = @AMTAR@ +APPDEFAULTDIR = @APPDEFAULTDIR@ +APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +APP_MAN_DIR = @APP_MAN_DIR@ +APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ +AR = @AR@ +AS = @AS@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +BASE_FONT_PATH = @BASE_FONT_PATH@ +BUILD_DATE = @BUILD_DATE@ +BUILD_TIME = @BUILD_TIME@ +CC = @CC@ +CCAS = @CCAS@ +CCASDEPMODE = @CCASDEPMODE@ +CCASFLAGS = @CCASFLAGS@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +COMPILEDDEFAULTFONTPATH = @COMPILEDDEFAULTFONTPATH@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DARWIN_LIBS = @DARWIN_LIBS@ +DBUS_CFLAGS = @DBUS_CFLAGS@ +DBUS_LIBS = @DBUS_LIBS@ +DEFAULT_LIBRARY_PATH = @DEFAULT_LIBRARY_PATH@ +DEFAULT_LOGPREFIX = @DEFAULT_LOGPREFIX@ +DEFAULT_MODULE_PATH = @DEFAULT_MODULE_PATH@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DGA_CFLAGS = @DGA_CFLAGS@ +DGA_LIBS = @DGA_LIBS@ +DIX_CFLAGS = @DIX_CFLAGS@ +DLLTOOL = @DLLTOOL@ +DMXEXAMPLES_DEP_CFLAGS = @DMXEXAMPLES_DEP_CFLAGS@ +DMXEXAMPLES_DEP_LIBS = @DMXEXAMPLES_DEP_LIBS@ +DMXMODULES_CFLAGS = @DMXMODULES_CFLAGS@ +DMXMODULES_LIBS = @DMXMODULES_LIBS@ +DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ +DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ +DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ +DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ +DRIPROTO_LIBS = @DRIPROTO_LIBS@ +DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ +DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ +DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ +DTRACE = @DTRACE@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +FILE_MAN_DIR = @FILE_MAN_DIR@ +FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ +FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ +FREETYPE_LIBS = @FREETYPE_LIBS@ +FREETYPE_REQUIRES = @FREETYPE_REQUIRES@ +GLX_DEFINES = @GLX_DEFINES@ +GL_CFLAGS = @GL_CFLAGS@ +GL_LIBS = @GL_LIBS@ +GREP = @GREP@ +HAL_CFLAGS = @HAL_CFLAGS@ +HAL_LIBS = @HAL_LIBS@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +KDRIVE_CFLAGS = @KDRIVE_CFLAGS@ +KDRIVE_INCS = @KDRIVE_INCS@ +KDRIVE_LIBS = @KDRIVE_LIBS@ +KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ +KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ +KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ +LDFLAGS = @LDFLAGS@ +LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ +LEX = @LEX@ +LEXLIB = @LEXLIB@ +LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ +LIBDRM_CFLAGS = @LIBDRM_CFLAGS@ +LIBDRM_LIBS = @LIBDRM_LIBS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIB_MAN_DIR = @LIB_MAN_DIR@ +LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ +LINUXDOC = @LINUXDOC@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAKEINFO = @MAKEINFO@ +MAKE_HTML = @MAKE_HTML@ +MAKE_PDF = @MAKE_PDF@ +MAKE_PS = @MAKE_PS@ +MAKE_TEXT = @MAKE_TEXT@ +MESA_SOURCE = @MESA_SOURCE@ +MISC_MAN_DIR = @MISC_MAN_DIR@ +MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ +MKDIR_P = @MKDIR_P@ +MKFONTDIR = @MKFONTDIR@ +MKFONTSCALE = @MKFONTSCALE@ +OBJC = @OBJC@ +OBJCCLD = @OBJCCLD@ +OBJCDEPMODE = @OBJCDEPMODE@ +OBJCFLAGS = @OBJCFLAGS@ +OBJCLINK = @OBJCLINK@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PERL = @PERL@ +PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ +PIXMAN_LIBS = @PIXMAN_LIBS@ +PKG_CONFIG = @PKG_CONFIG@ +PLIST_VENDOR_WEB = @PLIST_VENDOR_WEB@ +PLIST_VERSION_STRING = @PLIST_VERSION_STRING@ +PROJECTROOT = @PROJECTROOT@ +PS2PDF = @PS2PDF@ +RANLIB = @RANLIB@ +RAWCPP = @RAWCPP@ +RAWCPPFLAGS = @RAWCPPFLAGS@ +RGB_DB = @RGB_DB@ +SERVERCONFIGdir = @SERVERCONFIGdir@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ +SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ +STRIP = @STRIP@ +SYS_LIBS = @SYS_LIBS@ +TSLIB_CFLAGS = @TSLIB_CFLAGS@ +TSLIB_LIBS = @TSLIB_LIBS@ +VENDOR_MAN_VERSION = @VENDOR_MAN_VERSION@ +VENDOR_NAME = @VENDOR_NAME@ +VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ +VENDOR_RELEASE = @VENDOR_RELEASE@ +VERSION = @VERSION@ +X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ +X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ +XDMCP_CFLAGS = @XDMCP_CFLAGS@ +XDMCP_LIBS = @XDMCP_LIBS@ +XDMXCONFIG_DEP_CFLAGS = @XDMXCONFIG_DEP_CFLAGS@ +XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@ +XDMX_LIBS = @XDMX_LIBS@ +XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ +XEGLMODULES_LIBS = @XEGLMODULES_LIBS@ +XEGL_LIBS = @XEGL_LIBS@ +XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ +XEPHYR_INCS = @XEPHYR_INCS@ +XEPHYR_LIBS = @XEPHYR_LIBS@ +XERRORDB_PATH = @XERRORDB_PATH@ +XF86CONFIGFILE = @XF86CONFIGFILE@ +XF86MISC_CFLAGS = @XF86MISC_CFLAGS@ +XF86MISC_LIBS = @XF86MISC_LIBS@ +XF86VIDMODE_CFLAGS = @XF86VIDMODE_CFLAGS@ +XF86VIDMODE_LIBS = @XF86VIDMODE_LIBS@ +XGLMODULES_CFLAGS = @XGLMODULES_CFLAGS@ +XGLMODULES_LIBS = @XGLMODULES_LIBS@ +XGLXMODULES_CFLAGS = @XGLXMODULES_CFLAGS@ +XGLXMODULES_LIBS = @XGLXMODULES_LIBS@ +XGLX_LIBS = @XGLX_LIBS@ +XGL_LIBS = @XGL_LIBS@ +XGL_MODULE_PATH = @XGL_MODULE_PATH@ +XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ +XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ +XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ +XKM_OUTPUT_DIR = @XKM_OUTPUT_DIR@ +XLIB_CFLAGS = @XLIB_CFLAGS@ +XLIB_LIBS = @XLIB_LIBS@ +XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ +XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ +XNEST_LIBS = @XNEST_LIBS@ +XORGCFG_DEP_CFLAGS = @XORGCFG_DEP_CFLAGS@ +XORGCFG_DEP_LIBS = @XORGCFG_DEP_LIBS@ +XORGCONFIG_DEP_CFLAGS = @XORGCONFIG_DEP_CFLAGS@ +XORGCONFIG_DEP_LIBS = @XORGCONFIG_DEP_LIBS@ +XORG_CFLAGS = @XORG_CFLAGS@ +XORG_CORE_LIBS = @XORG_CORE_LIBS@ +XORG_INCS = @XORG_INCS@ +XORG_LIBS = @XORG_LIBS@ +XORG_MODULES_CFLAGS = @XORG_MODULES_CFLAGS@ +XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ +XORG_OS = @XORG_OS@ +XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ +XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ +XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ +XPRINT_CFLAGS = @XPRINT_CFLAGS@ +XPRINT_LIBS = @XPRINT_LIBS@ +XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ +XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ +XSDL_INCS = @XSDL_INCS@ +XSDL_LIBS = @XSDL_LIBS@ +XSERVERCFLAGS_CFLAGS = @XSERVERCFLAGS_CFLAGS@ +XSERVERCFLAGS_LIBS = @XSERVERCFLAGS_LIBS@ +XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ +XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ +XSERVER_LIBS = @XSERVER_LIBS@ +XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ +XTSTEXAMPLES_DEP_LIBS = @XTSTEXAMPLES_DEP_LIBS@ +XVFB_LIBS = @XVFB_LIBS@ +XWINMODULES_CFLAGS = @XWINMODULES_CFLAGS@ +XWINMODULES_LIBS = @XWINMODULES_LIBS@ +XWIN_LIBS = @XWIN_LIBS@ +XWIN_SERVER_NAME = @XWIN_SERVER_NAME@ +XWIN_SYSTEM_LIBS = @XWIN_SYSTEM_LIBS@ +YACC = @YACC@ +YFLAGS = @YFLAGS@ +__XCONFIGFILE__ = @__XCONFIGFILE__@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +driverdir = @driverdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +extdir = @extdir@ +ft_config = @ft_config@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +logdir = @logdir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +moduledir = @moduledir@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sdkdir = @sdkdir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +xglmoduledir = @xglmoduledir@ +xpconfigdir = @xpconfigdir@ +AM_CFLAGS = -I$(top_srcdir) \ + -I$(top_srcdir)/hw/darwin/quartz \ + -I$(top_srcdir)/GL/glx \ + -I$(top_srcdir)/hw/darwin/quartz/cr \ + -I$(top_srcdir)/GL/include + +@HAVE_AGL_FRAMEWORK_TRUE@noinst_LIBRARIES = libAGLcore.a +@HAVE_AGL_FRAMEWORK_TRUE@libAGLcore_a_SOURCES = aglGlx.c \ +@HAVE_AGL_FRAMEWORK_TRUE@ $(top_srcdir)/hw/darwin/quartz/xpr/x-list.c \ +@HAVE_AGL_FRAMEWORK_TRUE@ $(top_srcdir)/hw/darwin/quartz/xpr/x-list.h \ +@HAVE_AGL_FRAMEWORK_TRUE@ $(top_srcdir)/hw/darwin/quartz/xpr/x-hash.c \ +@HAVE_AGL_FRAMEWORK_TRUE@ $(top_srcdir)/hw/darwin/quartz/xpr/x-hash.h \ +@HAVE_AGL_FRAMEWORK_TRUE@ $(top_srcdir)/hw/dmx/glxProxy/compsize.c + +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign GL/apple/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --foreign GL/apple/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +clean-noinstLIBRARIES: + -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) +libAGLcore.a: $(libAGLcore_a_OBJECTS) $(libAGLcore_a_DEPENDENCIES) + -rm -f libAGLcore.a + $(libAGLcore_a_AR) libAGLcore.a $(libAGLcore_a_OBJECTS) $(libAGLcore_a_LIBADD) + $(RANLIB) libAGLcore.a + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/aglGlx.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/compsize.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/x-hash.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/x-list.Po@am__quote@ + +.c.o: +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c $< + +.c.obj: +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` + +.c.lo: +@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< + +x-list.o: $(top_srcdir)/hw/darwin/quartz/xpr/x-list.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT x-list.o -MD -MP -MF $(DEPDIR)/x-list.Tpo -c -o x-list.o `test -f '$(top_srcdir)/hw/darwin/quartz/xpr/x-list.c' || echo '$(srcdir)/'`$(top_srcdir)/hw/darwin/quartz/xpr/x-list.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/x-list.Tpo $(DEPDIR)/x-list.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/hw/darwin/quartz/xpr/x-list.c' object='x-list.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o x-list.o `test -f '$(top_srcdir)/hw/darwin/quartz/xpr/x-list.c' || echo '$(srcdir)/'`$(top_srcdir)/hw/darwin/quartz/xpr/x-list.c + +x-list.obj: $(top_srcdir)/hw/darwin/quartz/xpr/x-list.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT x-list.obj -MD -MP -MF $(DEPDIR)/x-list.Tpo -c -o x-list.obj `if test -f '$(top_srcdir)/hw/darwin/quartz/xpr/x-list.c'; then $(CYGPATH_W) '$(top_srcdir)/hw/darwin/quartz/xpr/x-list.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/hw/darwin/quartz/xpr/x-list.c'; fi` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/x-list.Tpo $(DEPDIR)/x-list.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/hw/darwin/quartz/xpr/x-list.c' object='x-list.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o x-list.obj `if test -f '$(top_srcdir)/hw/darwin/quartz/xpr/x-list.c'; then $(CYGPATH_W) '$(top_srcdir)/hw/darwin/quartz/xpr/x-list.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/hw/darwin/quartz/xpr/x-list.c'; fi` + +x-hash.o: $(top_srcdir)/hw/darwin/quartz/xpr/x-hash.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT x-hash.o -MD -MP -MF $(DEPDIR)/x-hash.Tpo -c -o x-hash.o `test -f '$(top_srcdir)/hw/darwin/quartz/xpr/x-hash.c' || echo '$(srcdir)/'`$(top_srcdir)/hw/darwin/quartz/xpr/x-hash.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/x-hash.Tpo $(DEPDIR)/x-hash.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/hw/darwin/quartz/xpr/x-hash.c' object='x-hash.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o x-hash.o `test -f '$(top_srcdir)/hw/darwin/quartz/xpr/x-hash.c' || echo '$(srcdir)/'`$(top_srcdir)/hw/darwin/quartz/xpr/x-hash.c + +x-hash.obj: $(top_srcdir)/hw/darwin/quartz/xpr/x-hash.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT x-hash.obj -MD -MP -MF $(DEPDIR)/x-hash.Tpo -c -o x-hash.obj `if test -f '$(top_srcdir)/hw/darwin/quartz/xpr/x-hash.c'; then $(CYGPATH_W) '$(top_srcdir)/hw/darwin/quartz/xpr/x-hash.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/hw/darwin/quartz/xpr/x-hash.c'; fi` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/x-hash.Tpo $(DEPDIR)/x-hash.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/hw/darwin/quartz/xpr/x-hash.c' object='x-hash.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o x-hash.obj `if test -f '$(top_srcdir)/hw/darwin/quartz/xpr/x-hash.c'; then $(CYGPATH_W) '$(top_srcdir)/hw/darwin/quartz/xpr/x-hash.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/hw/darwin/quartz/xpr/x-hash.c'; fi` + +compsize.o: $(top_srcdir)/hw/dmx/glxProxy/compsize.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT compsize.o -MD -MP -MF $(DEPDIR)/compsize.Tpo -c -o compsize.o `test -f '$(top_srcdir)/hw/dmx/glxProxy/compsize.c' || echo '$(srcdir)/'`$(top_srcdir)/hw/dmx/glxProxy/compsize.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/compsize.Tpo $(DEPDIR)/compsize.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/hw/dmx/glxProxy/compsize.c' object='compsize.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o compsize.o `test -f '$(top_srcdir)/hw/dmx/glxProxy/compsize.c' || echo '$(srcdir)/'`$(top_srcdir)/hw/dmx/glxProxy/compsize.c + +compsize.obj: $(top_srcdir)/hw/dmx/glxProxy/compsize.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT compsize.obj -MD -MP -MF $(DEPDIR)/compsize.Tpo -c -o compsize.obj `if test -f '$(top_srcdir)/hw/dmx/glxProxy/compsize.c'; then $(CYGPATH_W) '$(top_srcdir)/hw/dmx/glxProxy/compsize.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/hw/dmx/glxProxy/compsize.c'; fi` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/compsize.Tpo $(DEPDIR)/compsize.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/hw/dmx/glxProxy/compsize.c' object='compsize.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o compsize.obj `if test -f '$(top_srcdir)/hw/dmx/glxProxy/compsize.c'; then $(CYGPATH_W) '$(top_srcdir)/hw/dmx/glxProxy/compsize.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/hw/dmx/glxProxy/compsize.c'; fi` + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(LIBRARIES) +installdirs: +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool clean-noinstLIBRARIES \ + mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: + +install-dvi: install-dvi-am + +install-exec-am: + +install-html: install-html-am + +install-info: install-info-am + +install-man: + +install-pdf: install-pdf-am + +install-ps: install-ps-am + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libtool clean-noinstLIBRARIES ctags distclean \ + distclean-compile distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ + pdf pdf-am ps ps-am tags uninstall uninstall-am + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/xserver/GL/glx/Makefile.am b/xserver/GL/glx/Makefile.am index 8184f605f..7c1730e39 100644 --- a/xserver/GL/glx/Makefile.am +++ b/xserver/GL/glx/Makefile.am @@ -14,7 +14,6 @@ AM_CFLAGS = \ -I@MESA_SOURCE@/src/mesa/glapi \ -I@MESA_SOURCE@/src/mesa/main \ -DXFree86Server \ - -DNO_LIBCWRAPPER \ @GLX_DEFINES@ # none yet @@ -41,18 +40,20 @@ libglxdri_la_SOURCES = \ libglx_la_SOURCES = \ g_disptab.h \ + glxbyteorder.h \ glxcmds.c \ glxcmdsswap.c \ glxcontext.h \ glxdrawable.h \ glxext.c \ glxext.h \ - glxvisuals.c \ + glxglcore.c \ glxscreens.c \ glxscreens.h \ glxserver.h \ glxutil.c \ glxutil.h \ + glxvisuals.c \ indirect_dispatch.c \ indirect_dispatch.h \ indirect_dispatch_swap.c \ diff --git a/xserver/GL/glx/glxbyteorder.h b/xserver/GL/glx/glxbyteorder.h new file mode 100644 index 000000000..cdf6b15f0 --- /dev/null +++ b/xserver/GL/glx/glxbyteorder.h @@ -0,0 +1,61 @@ +/* + * (C) Copyright IBM Corporation 2006, 2007 + * All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sub license, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL + * THE COPYRIGHT HOLDERS, THE AUTHORS, AND/OR THEIR SUPPLIERS BE LIABLE FOR + * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE + * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + +/** + * \file glxbyteorder.h + * Platform glue for handling byte-ordering issues in GLX protocol. + * + * \author Ian Romanick + */ +#if !defined(__GLXBYTEORDER_H__) +#define __GLXBYTEORDER_H__ + +#ifdef HAVE_DIX_CONFIG_H +#include +#endif + +#if HAVE_BYTESWAP_H +#include +#elif defined(USE_SYS_ENDIAN_H) +#include +#elif defined(__APPLE__) +#include +#define bswap_16 OSSwapInt16 +#define bswap_32 OSSwapInt32 +#define bswap_64 OSSwapInt64 +#else +#define bswap_16(value) \ + ((((value) & 0xff) << 8) | ((value) >> 8)) + +#define bswap_32(value) \ + (((uint32_t)bswap_16((uint16_t)((value) & 0xffff)) << 16) | \ + (uint32_t)bswap_16((uint16_t)((value) >> 16))) + +#define bswap_64(value) \ + (((uint64_t)bswap_32((uint32_t)((value) & 0xffffffff)) \ + << 32) | \ + (uint64_t)bswap_32((uint32_t)((value) >> 32))) +#endif + +#endif /* !defined(__GLXBYTEORDER_H__) */ diff --git a/xserver/GL/glx/glxcmds.c b/xserver/GL/glx/glxcmds.c index 1585b36bb..900a34798 100644 --- a/xserver/GL/glx/glxcmds.c +++ b/xserver/GL/glx/glxcmds.c @@ -59,19 +59,6 @@ #include "indirect_table.h" #include "indirect_util.h" -_X_HIDDEN int -glxCountBits(int word) -{ - int ret = 0; - - while (word) { - ret += (word & 1); - word >>= 1; - } - - return ret; -} - /************************************************************************/ void @@ -454,6 +441,7 @@ static int GetDrawableOrPixmap( __GLXcontext *glxc, GLXDrawable drawId, __GLcontextModes *modes; __GLXdrawable *pGlxDraw; __GLXpixmap *drawPixmap = NULL; + int rc; /* This is the GLX 1.3 case - the client passes in a GLXWindow and * we just return the __GLXdrawable. The first time a GLXPixmap @@ -479,8 +467,8 @@ static int GetDrawableOrPixmap( __GLXcontext *glxc, GLXDrawable drawId, * GLXWindow with the same XID as an X Window, so we wont get any * resource ID clashes. Effectively, the X Window is now also a * GLXWindow. */ - pDraw = (DrawablePtr) LookupDrawable(drawId, client); - if (pDraw) { + rc = dixLookupDrawable(&pDraw, drawId, client, 0, DixUnknownAccess); + if (rc == Success) { if (pDraw->type == DRAWABLE_WINDOW) { VisualID vid = wVisual((WindowPtr)pDraw); @@ -1031,6 +1019,7 @@ __glXCreateARGBConfig(__GLXscreen *screen) VisualPtr visual; int i; + /* search for a 32-bit visual */ visual = NULL; for (i = 0; i < screen->pScreen->numVisuals; i++) if (screen->pScreen->visuals[i].nplanes == 32) { @@ -1049,8 +1038,22 @@ __glXCreateARGBConfig(__GLXscreen *screen) if (modes == NULL) return; - modes->next = screen->modes; - screen->modes = modes; + /* Insert this new mode at the TAIL of the linked list. + * Previously, the mode was incorrectly inserted at the head of the + * list, causing find_mesa_visual() to be off by one. This would + * GLX clients to blow up if they attempted to use the last mode + * in the list! + */ + { + __GLcontextModes *prev = NULL, *m; + for (m = screen->modes; m; m = m->next) + prev = m; + if (prev) + prev->next = modes; + else + screen->modes = modes; + } + screen->numUsableVisuals++; screen->numVisuals++; @@ -1116,6 +1119,9 @@ int DoGetFBConfigs(__GLXclientState *cl, unsigned screen, GLboolean do_swap) } pGlxScreen = __glXActiveScreens[screen]; + /* Create the "extra" 32bpp ARGB visual, if not already added. + * XXX This is questionable place to do so! Re-examine this someday. + */ __glXCreateARGBConfig(pGlxScreen); reply.numFBConfigs = pGlxScreen->numUsableVisuals; @@ -1212,12 +1218,12 @@ static int ValidateCreateDrawable(ClientPtr client, ScreenPtr pScreen; VisualPtr pVisual; __GLXscreen *pGlxScreen; - int i; + int i, rc; LEGAL_NEW_RESOURCE(glxDrawableId, client); - pDraw = (DrawablePtr) LookupDrawable(drawablId, client); - if (!pDraw || pDraw->type != type) { + rc = dixLookupDrawable(&pDraw, drawablId, client, 0, DixUnknownAccess); + if (rc != Success || pDraw->type != type) { client->errorValue = drawablId; return type == DRAWABLE_WINDOW ? BadWindow : BadPixmap; } @@ -1254,13 +1260,15 @@ static int ValidateCreateDrawable(ClientPtr client, ** Create a GLX Pixmap from an X Pixmap. */ int DoCreateGLXPixmap(__GLXclientState *cl, XID fbconfigId, - GLuint screenNum, XID pixmapId, XID glxPixmapId) + GLuint screenNum, XID pixmapId, XID glxPixmapId, + CARD32 *attribs, CARD32 numAttribs) { ClientPtr client = cl->client; DrawablePtr pDraw; __GLXpixmap *pGlxPixmap; __GLcontextModes *modes; - int retval; + GLenum target = 0; + int retval, i; retval = ValidateCreateDrawable (client, screenNum, fbconfigId, pixmapId, glxPixmapId, @@ -1279,11 +1287,37 @@ int DoCreateGLXPixmap(__GLXclientState *cl, XID fbconfigId, pGlxPixmap->pGlxScreen = __glXgetActiveScreen(screenNum); pGlxPixmap->pScreen = pDraw->pScreen; pGlxPixmap->idExists = True; +#ifdef XF86DRI pGlxPixmap->pDamage = NULL; +#endif pGlxPixmap->refcnt = 0; pGlxPixmap->modes = modes; + for (i = 0; i < numAttribs; i++) { + if (attribs[2 * i] == GLX_TEXTURE_TARGET_EXT) { + switch (attribs[2 * i + 1]) { + case GLX_TEXTURE_2D_EXT: + target = GL_TEXTURE_2D; + break; + case GLX_TEXTURE_RECTANGLE_EXT: + target = GL_TEXTURE_RECTANGLE_ARB; + break; + } + } + } + + if (!target) { + int w = pDraw->width, h = pDraw->height; + + if (h & (h - 1) || w & (w - 1)) + target = GL_TEXTURE_RECTANGLE_ARB; + else + target = GL_TEXTURE_2D; + } + + pGlxPixmap->target = target; + /* ** Bump the ref count on the X pixmap so it won't disappear. */ @@ -1296,14 +1330,16 @@ int __glXDisp_CreateGLXPixmap(__GLXclientState *cl, GLbyte *pc) { xGLXCreateGLXPixmapReq *req = (xGLXCreateGLXPixmapReq *) pc; return DoCreateGLXPixmap( cl, req->visual, req->screen, - req->pixmap, req->glxpixmap ); + req->pixmap, req->glxpixmap, NULL, 0 ); } int __glXDisp_CreatePixmap(__GLXclientState *cl, GLbyte *pc) { xGLXCreatePixmapReq *req = (xGLXCreatePixmapReq *) pc; return DoCreateGLXPixmap( cl, req->fbconfig, req->screen, - req->pixmap, req->glxpixmap ); + req->pixmap, req->glxpixmap, + (CARD32*)(req + 1), + req->numAttribs ); } int __glXDisp_CreateGLXPixmapWithConfigSGIX(__GLXclientState *cl, GLbyte *pc) @@ -1311,7 +1347,7 @@ int __glXDisp_CreateGLXPixmapWithConfigSGIX(__GLXclientState *cl, GLbyte *pc) xGLXCreateGLXPixmapWithConfigSGIXReq *req = (xGLXCreateGLXPixmapWithConfigSGIXReq *) pc; return DoCreateGLXPixmap( cl, req->fbconfig, req->screen, - req->pixmap, req->glxpixmap ); + req->pixmap, req->glxpixmap, NULL, 0 ); } @@ -1673,7 +1709,6 @@ DoGetDrawableAttributes(__GLXclientState *cl, XID drawId) xGLXGetDrawableAttributesReply reply; CARD32 attributes[4]; int numAttribs; - PixmapPtr pixmap; glxPixmap = (__GLXpixmap *)LookupIDByType(drawId, __glXPixmapRes); if (!glxPixmap) { @@ -1688,19 +1723,11 @@ DoGetDrawableAttributes(__GLXclientState *cl, XID drawId) reply.numAttribs = numAttribs; attributes[0] = GLX_TEXTURE_TARGET_EXT; + attributes[1] = glxPixmap->target == GL_TEXTURE_2D ? GLX_TEXTURE_2D_EXT : + GLX_TEXTURE_RECTANGLE_EXT; attributes[2] = GLX_Y_INVERTED_EXT; attributes[3] = GL_FALSE; - /* XXX this is merely less wrong, see fdo bug #8991 */ - pixmap = (PixmapPtr) glxPixmap->pDraw; - if (!(glxCountBits(pixmap->drawable.width) == 1 && - glxCountBits(pixmap->drawable.height) == 1) - /* || strstr(CALL_GetString(GL_EXTENSIONS, - "GL_ARB_texture_non_power_of_two")) */) - attributes[1] = GLX_TEXTURE_RECTANGLE_EXT; - else - attributes[1] = GLX_TEXTURE_2D_EXT; - if (client->swapped) { __glXSwapGetDrawableAttributesReply(client, &reply, attributes); } else { @@ -2057,10 +2084,11 @@ int __glXDisp_BindSwapBarrierSGIX(__GLXclientState *cl, GLbyte *pc) xGLXBindSwapBarrierSGIXReq *req = (xGLXBindSwapBarrierSGIXReq *) pc; XID drawable = req->drawable; int barrier = req->barrier; - DrawablePtr pDraw = (DrawablePtr) LookupDrawable(drawable, client); - int screen; + DrawablePtr pDraw; + int screen, rc; - if (pDraw && (pDraw->type == DRAWABLE_WINDOW)) { + rc = dixLookupDrawable(&pDraw, drawable, client, 0, DixUnknownAccess); + if (rc == Success && (pDraw->type == DRAWABLE_WINDOW)) { screen = pDraw->pScreen->myNum; if (__glXSwapBarrierFuncs && __glXSwapBarrierFuncs[screen].bindSwapBarrierFunc) { diff --git a/xserver/GL/glx/glxcontext.h b/xserver/GL/glx/glxcontext.h index a54e323cc..eb10ee2a8 100644 --- a/xserver/GL/glx/glxcontext.h +++ b/xserver/GL/glx/glxcontext.h @@ -40,9 +40,6 @@ ** */ -/* XXX: should be defined somewhere globally */ -#define CAPI - #include "GL/internal/glcore.h" typedef struct __GLXtextureFromPixmap __GLXtextureFromPixmap; diff --git a/xserver/GL/glx/glxdrawable.h b/xserver/GL/glx/glxdrawable.h index 20e9b437f..b7ecad929 100644 --- a/xserver/GL/glx/glxdrawable.h +++ b/xserver/GL/glx/glxdrawable.h @@ -42,6 +42,10 @@ #include +#ifdef XF86DRI +#include +#endif + typedef struct { DrawablePtr pDraw; @@ -50,7 +54,13 @@ typedef struct { ScreenPtr pScreen; Bool idExists; int refcnt; + GLenum target; +#ifdef XF86DRI DamagePtr pDamage; + __DRIcontext *pDRICtx; + GLint texname; + unsigned long offset; +#endif } __GLXpixmap; struct __GLXdrawable { diff --git a/xserver/GL/glx/glxdri.c b/xserver/GL/glx/glxdri.c index 36464a6e9..685683dcc 100644 --- a/xserver/GL/glx/glxdri.c +++ b/xserver/GL/glx/glxdri.c @@ -76,6 +76,11 @@ struct __GLXDRIscreen { xf86EnterVTProc *enterVT; xf86LeaveVTProc *leaveVT; + DRITexOffsetStartProcPtr texOffsetStart; + DRITexOffsetFinishProcPtr texOffsetFinish; + __GLXpixmap* texOffsetOverride[16]; + GLuint lastTexOffsetOverride; + unsigned char glx_enable_bits[__GLX_EXT_BYTES]; }; @@ -125,30 +130,75 @@ struct __GLXDRIdrawable { static const char CREATE_NEW_SCREEN_FUNC[] = "__driCreateNewScreen_" STRINGIFY (INTERNAL_VERSION); -/* The DRI driver entry point version wasn't bumped when the - * copySubBuffer functionality was added to the DRI drivers, but the - * functionality is still conditional on the value of the - * internal_api_version passed to __driCreateNewScreen. However, the - * screen constructor doesn't fail for a DRI driver that's older than - * the passed in version number, so there's no way we can know for - * sure that we can actually use the copySubBuffer functionality. But - * since the earliest (and at this point only) released mesa version - * (6.5) that uses the 20050727 entry point does have copySubBuffer, - * we'll just settle for that. We still have to pass in a higher to - * the screen constructor to enable the functionality. - */ -#define COPY_SUB_BUFFER_INTERNAL_VERSION 20060314 static void -__glXDRIleaveServer(void) +__glXDRIleaveServer(GLboolean rendering) { - DRIBlockHandler(NULL, NULL, NULL); + int i; + + for (i = 0; rendering && i < screenInfo.numScreens; i++) { + __GLXDRIscreen * const screen = + (__GLXDRIscreen *) __glXgetActiveScreen(i); + GLuint lastOverride = screen->lastTexOffsetOverride; + + if (lastOverride) { + __GLXpixmap **texOffsetOverride = screen->texOffsetOverride; + int j; + + for (j = 0; j < lastOverride; j++) { + __GLXpixmap *pGlxPix = texOffsetOverride[j]; + + if (pGlxPix && pGlxPix->texname) { + pGlxPix->offset = + screen->texOffsetStart((PixmapPtr)pGlxPix->pDraw); + } + } + } + } + + DRIBlockHandler(NULL, NULL, NULL); + + for (i = 0; rendering && i < screenInfo.numScreens; i++) { + __GLXDRIscreen * const screen = + (__GLXDRIscreen *) __glXgetActiveScreen(i); + GLuint lastOverride = screen->lastTexOffsetOverride; + + if (lastOverride) { + __GLXpixmap **texOffsetOverride = screen->texOffsetOverride; + int j; + + for (j = 0; j < lastOverride; j++) { + __GLXpixmap *pGlxPix = texOffsetOverride[j]; + + if (pGlxPix && pGlxPix->texname) { + screen->driScreen.setTexOffset(pGlxPix->pDRICtx, + pGlxPix->texname, + pGlxPix->offset, + pGlxPix->pDraw->depth, + ((PixmapPtr)pGlxPix->pDraw)-> + devKind); + } + } + } + } } static void -__glXDRIenterServer(void) +__glXDRIenterServer(GLboolean rendering) { - DRIWakeupHandler(NULL, 0, NULL); + int i; + + for (i = 0; rendering && i < screenInfo.numScreens; i++) { + __GLXDRIscreen * const screen = + (__GLXDRIscreen *) __glXgetActiveScreen(i); + + if (screen->lastTexOffsetOverride) { + CALL_Flush(GET_DISPATCH(), ()); + break; + } + } + + DRIWakeupHandler(NULL, 0, NULL); } /** @@ -322,19 +372,68 @@ __glXDRIbindTexImage(__GLXcontext *baseContext, int buffer, __GLXpixmap *glxPixmap) { - RegionPtr pRegion; + RegionPtr pRegion = NULL; PixmapPtr pixmap; - int bpp; - GLenum target, format, type; + int bpp, override = 0; + GLenum format, type; + ScreenPtr pScreen = glxPixmap->pScreen; + __GLXDRIscreen * const screen = + (__GLXDRIscreen *) __glXgetActiveScreen(pScreen->myNum); pixmap = (PixmapPtr) glxPixmap->pDraw; - if (!glxPixmap->pDamage) { - glxPixmap->pDamage = DamageCreate(NULL, NULL, DamageReportNone, - TRUE, glxPixmap->pScreen, NULL); - if (!glxPixmap->pDamage) - return BadAlloc; - DamageRegister ((DrawablePtr) pixmap, glxPixmap->pDamage); + if (screen->texOffsetStart && screen->driScreen.setTexOffset) { + __GLXpixmap **texOffsetOverride = screen->texOffsetOverride; + int i, firstEmpty = 16, texname; + + for (i = 0; i < 16; i++) { + if (texOffsetOverride[i] == glxPixmap) + goto alreadyin; + + if (firstEmpty == 16 && !texOffsetOverride[i]) + firstEmpty = i; + } + + if (firstEmpty == 16) { + ErrorF("%s: Failed to register texture offset override\n", __func__); + goto nooverride; + } + + if (firstEmpty >= screen->lastTexOffsetOverride) + screen->lastTexOffsetOverride = firstEmpty + 1; + + texOffsetOverride[firstEmpty] = glxPixmap; + +alreadyin: + override = 1; + + glxPixmap->pDRICtx = &((__GLXDRIcontext*)baseContext)->driContext; + + CALL_GetIntegerv(GET_DISPATCH(), (glxPixmap->target == GL_TEXTURE_2D ? + GL_TEXTURE_BINDING_2D : + GL_TEXTURE_BINDING_RECTANGLE_NV, + &texname)); + + if (texname == glxPixmap->texname) + return Success; + + glxPixmap->texname = texname; + + screen->driScreen.setTexOffset(glxPixmap->pDRICtx, texname, 0, + pixmap->drawable.depth, pixmap->devKind); + } +nooverride: + + if (!glxPixmap->pDamage) { + if (!override) { + glxPixmap->pDamage = DamageCreate(NULL, NULL, DamageReportNone, + TRUE, pScreen, NULL); + if (!glxPixmap->pDamage) + return BadAlloc; + + DamageRegister ((DrawablePtr) pixmap, glxPixmap->pDamage); + } + pRegion = NULL; } else { pRegion = DamageRegion(glxPixmap->pDamage); @@ -347,30 +446,22 @@ __glXDRIbindTexImage(__GLXcontext *baseContext, bpp = 4; format = GL_BGRA; type = -#if X_BYTE_ORDER == X_LITTLE_ENDIAN - GL_UNSIGNED_BYTE; -#else - GL_UNSIGNED_INT_8_8_8_8_REV; +#if X_BYTE_ORDER == X_BIG_ENDIAN + !override ? GL_UNSIGNED_INT_8_8_8_8_REV : #endif + GL_UNSIGNED_BYTE; } else { bpp = 2; format = GL_RGB; type = GL_UNSIGNED_SHORT_5_6_5; } - if (!(glxCountBits(pixmap->drawable.width) == 1 && - glxCountBits(pixmap->drawable.height) == 1) - /* || strstr(CALL_GetString(GL_EXTENSIONS, - "GL_ARB_texture_non_power_of_two")) */) - target = GL_TEXTURE_RECTANGLE_ARB; - else - target = GL_TEXTURE_2D; - CALL_PixelStorei( GET_DISPATCH(), (GL_UNPACK_ROW_LENGTH, pixmap->devKind / bpp) ); + if (pRegion == NULL) { - if (pixmap->drawable.depth == 24) + if (!override && pixmap->drawable.depth == 24) glxFillAlphaChannel(pixmap, pixmap->drawable.x, pixmap->drawable.y, @@ -383,7 +474,7 @@ __glXDRIbindTexImage(__GLXcontext *baseContext, pixmap->drawable.y) ); CALL_TexImage2D( GET_DISPATCH(), - (target, + (glxPixmap->target, 0, bpp == 4 ? 4 : 3, pixmap->drawable.width, @@ -391,8 +482,8 @@ __glXDRIbindTexImage(__GLXcontext *baseContext, 0, format, type, - pixmap->devPrivate.ptr) ); - } else { + override ? NULL : pixmap->devPrivate.ptr) ); + } else if (!override) { int i, numRects; BoxPtr p; @@ -413,7 +504,7 @@ __glXDRIbindTexImage(__GLXcontext *baseContext, pixmap->drawable.y + p[i].y1) ); CALL_TexSubImage2D( GET_DISPATCH(), - (target, + (glxPixmap->target, 0, p[i].x1, p[i].y1, p[i].x2 - p[i].x1, p[i].y2 - p[i].y1, @@ -423,7 +514,8 @@ __glXDRIbindTexImage(__GLXcontext *baseContext, } } - DamageEmpty(glxPixmap->pDamage); + if (!override) + DamageEmpty(glxPixmap->pDamage); return Success; } @@ -433,6 +525,40 @@ __glXDRIreleaseTexImage(__GLXcontext *baseContext, int buffer, __GLXpixmap *pixmap) { + ScreenPtr pScreen = pixmap->pScreen; + __GLXDRIscreen * const screen = + (__GLXDRIscreen *) __glXgetActiveScreen(pScreen->myNum); + GLuint lastOverride = screen->lastTexOffsetOverride; + + if (lastOverride) { + __GLXpixmap **texOffsetOverride = screen->texOffsetOverride; + int i; + + for (i = 0; i < lastOverride; i++) { + if (texOffsetOverride[i] == pixmap) { + if (screen->texOffsetFinish) + screen->texOffsetFinish((PixmapPtr)pixmap->pDraw); + + texOffsetOverride[i] = NULL; + + if (i + 1 == lastOverride) { + lastOverride = 0; + + while (i--) { + if (texOffsetOverride[i]) { + lastOverride = i + 1; + break; + } + } + + screen->lastTexOffsetOverride = lastOverride; + + break; + } + } + } + } + return Success; } @@ -482,6 +608,7 @@ __glXDRIscreenCreateContext(__GLXscreen *baseScreen, context->base.loseCurrent = __glXDRIcontextLoseCurrent; context->base.copy = __glXDRIcontextCopy; context->base.forceCurrent = __glXDRIcontextForceCurrent; + context->base.pScreen = screen->base.pScreen; context->base.textureFromPixmap = &__glXDRItextureFromPixmap; @@ -624,9 +751,16 @@ static __DRIscreen *findScreen(__DRInativeDisplay *dpy, int scrn) static GLboolean windowExists(__DRInativeDisplay *dpy, __DRIid draw) { - WindowPtr pWin = (WindowPtr) LookupIDByType(draw, RT_WINDOW); + DrawablePtr pDrawable = (DrawablePtr) LookupIDByType(draw, RT_WINDOW); + int unused; + drm_clip_rect_t *pRects; - return pWin == NULL ? GL_FALSE : GL_TRUE; + return pDrawable ? DRIGetDrawableInfo(pDrawable->pScreen, pDrawable, + (unsigned*)&unused, (unsigned*)&unused, + &unused, &unused, &unused, &unused, + &unused, &pRects, &unused, &unused, + &unused, &pRects) + : GL_FALSE; } static GLboolean createContext(__DRInativeDisplay *dpy, int screen, @@ -652,9 +786,9 @@ static GLboolean createContext(__DRInativeDisplay *dpy, int screen, fakeID = FakeClientID(0); *(XID *) contextID = fakeID; - __glXDRIenterServer(); + __glXDRIenterServer(GL_FALSE); retval = DRICreateContext(pScreen, visual, fakeID, hw_context); - __glXDRIleaveServer(); + __glXDRIleaveServer(GL_FALSE); return retval; } @@ -663,9 +797,9 @@ static GLboolean destroyContext(__DRInativeDisplay *dpy, int screen, { GLboolean retval; - __glXDRIenterServer(); + __glXDRIenterServer(GL_FALSE); retval = DRIDestroyContext(screenInfo.screens[screen], context); - __glXDRIleaveServer(); + __glXDRIleaveServer(GL_FALSE); return retval; } @@ -680,12 +814,10 @@ createDrawable(__DRInativeDisplay *dpy, int screen, if (!pDrawable) return GL_FALSE; - __glXDRIenterServer(); - retval = DRICreateDrawable(screenInfo.screens[screen], - drawable, - pDrawable, - hHWDrawable); - __glXDRIleaveServer(); + __glXDRIenterServer(GL_FALSE); + retval = DRICreateDrawable(screenInfo.screens[screen], __pGlxClient, + pDrawable, hHWDrawable); + __glXDRIleaveServer(GL_FALSE); return retval; } @@ -699,11 +831,10 @@ destroyDrawable(__DRInativeDisplay *dpy, int screen, __DRIid drawable) if (!pDrawable) return GL_FALSE; - __glXDRIenterServer(); - retval = DRIDestroyDrawable(screenInfo.screens[screen], - drawable, - pDrawable); - __glXDRIleaveServer(); + __glXDRIenterServer(GL_FALSE); + retval = DRIDestroyDrawable(screenInfo.screens[screen], __pGlxClient, + pDrawable); + __glXDRIleaveServer(GL_FALSE); return retval; } @@ -740,20 +871,44 @@ getDrawableInfo(__DRInativeDisplay *dpy, int screen, return GL_FALSE; } - __glXDRIenterServer(); + __glXDRIenterServer(GL_FALSE); retval = DRIGetDrawableInfo(screenInfo.screens[screen], pDrawable, index, stamp, x, y, width, height, numClipRects, &pClipRects, backX, backY, numBackClipRects, &pBackClipRects); - __glXDRIleaveServer(); + __glXDRIleaveServer(GL_FALSE); if (*numClipRects > 0) { size = sizeof (drm_clip_rect_t) * *numClipRects; *ppClipRects = xalloc (size); - if (*ppClipRects != NULL) - memcpy (*ppClipRects, pClipRects, size); + + /* Clip cliprects to screen dimensions (redirected windows) */ + if (*ppClipRects != NULL) { + ScreenPtr pScreen = screenInfo.screens[screen]; + int i, j; + + for (i = 0, j = 0; i < *numClipRects; i++) { + (*ppClipRects)[j].x1 = max(pClipRects[i].x1, 0); + (*ppClipRects)[j].y1 = max(pClipRects[i].y1, 0); + (*ppClipRects)[j].x2 = min(pClipRects[i].x2, pScreen->width); + (*ppClipRects)[j].y2 = min(pClipRects[i].y2, pScreen->height); + + if ((*ppClipRects)[j].x1 < (*ppClipRects)[j].x2 && + (*ppClipRects)[j].y1 < (*ppClipRects)[j].y2) { + j++; + } + } + + if (*numClipRects != j) { + *numClipRects = j; + *ppClipRects = xrealloc (*ppClipRects, + sizeof (drm_clip_rect_t) * + *numClipRects); + } + } else + *numClipRects = 0; } else { *ppClipRects = NULL; @@ -769,7 +924,7 @@ getDrawableInfo(__DRInativeDisplay *dpy, int screen, *ppBackClipRects = NULL; } - return GL_TRUE; + return retval; } static int @@ -818,9 +973,12 @@ glxDRIEnterVT (int index, int flags) LogMessage(X_INFO, "AIGLX: Resuming AIGLX clients after VT switch\n"); + if (!(*screen->enterVT) (index, flags)) + return FALSE; + glxResumeClients(); - return (*screen->enterVT) (index, flags); + return TRUE; } static void @@ -848,7 +1006,7 @@ __glXDRIscreenProbe(ScreenPtr pScreen) __DRIframebuffer framebuffer; int fd = -1; int status; - int api_ver = COPY_SUB_BUFFER_INTERNAL_VERSION; + int api_ver = 20070121; drm_magic_t magic; drmVersionPtr version; int newlyopened; @@ -863,13 +1021,10 @@ __glXDRIscreenProbe(ScreenPtr pScreen) size_t buffer_size; ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; - if (!xf86LoaderCheckSymbol("DRIQueryDirectRenderingCapable")) { - LogMessage(X_ERROR, "AIGLX: DRI module not loaded\n"); - return NULL; - } - - if (!DRIQueryDirectRenderingCapable(pScreen, &isCapable) || !isCapable) { - LogMessage(X_ERROR, + if (!xf86LoaderCheckSymbol("DRIQueryDirectRenderingCapable") || + !DRIQueryDirectRenderingCapable(pScreen, &isCapable) || + !isCapable) { + LogMessage(X_INFO, "AIGLX: Screen %d is not DRI capable\n", pScreen->myNum); return NULL; } @@ -1030,6 +1185,9 @@ __glXDRIscreenProbe(ScreenPtr pScreen) goto handle_error; } + DRIGetTexOffsetFuncs(pScreen, &screen->texOffsetStart, + &screen->texOffsetFinish); + __glXScreenInit(&screen->base, pScreen); buffer_size = __glXGetExtensionString(screen->glx_enable_bits, NULL); diff --git a/xserver/GL/glx/glxext.c b/xserver/GL/glx/glxext.c index 1f6c7f376..b35175ed2 100644 --- a/xserver/GL/glx/glxext.c +++ b/xserver/GL/glx/glxext.c @@ -61,6 +61,11 @@ xGLXSingleReply __glXReply; */ static __GLXclientState *__glXClients[MAXCLIENTS + 1]; +/* +** Client that called into GLX dispatch. +*/ +ClientPtr __pGlxClient; + /* ** Forward declarations. */ @@ -167,10 +172,12 @@ static int PixmapGone(__GLXpixmap *pGlxPixmap, XID id) pGlxPixmap->idExists = False; if (!pGlxPixmap->refcnt) { +#ifdef XF86DRI if (pGlxPixmap->pDamage) { DamageUnregister (pGlxPixmap->pDraw, pGlxPixmap->pDamage); DamageDestroy(pGlxPixmap->pDamage); } +#endif /* ** The DestroyPixmap routine should decrement the refcount and free ** only if it's zero. @@ -238,9 +245,9 @@ GLboolean __glXFreeContext(__GLXcontext *cx) * the latter case we need to lift the DRI lock manually. */ if (!glxBlockClients) { - __glXleaveServer(); + __glXleaveServer(GL_FALSE); cx->destroy(cx); - __glXenterServer(); + __glXenterServer(GL_FALSE); } else { cx->next = glxPendingDestroyContexts; glxPendingDestroyContexts = cx; @@ -275,7 +282,7 @@ static GLboolean errorOccured = GL_FALSE; /* ** The GL was will call this routine if an error occurs. */ -void __glXErrorCallBack(__GLinterface *gc, GLenum code) +void __glXErrorCallBack(GLenum code) { errorOccured = GL_TRUE; } @@ -439,49 +446,49 @@ void glxResumeClients(void) AttendClient(__glXClients[i]->client); } - __glXleaveServer(); + __glXleaveServer(GL_FALSE); for (cx = glxPendingDestroyContexts; cx != NULL; cx = next) { next = cx->next; cx->destroy(cx); } glxPendingDestroyContexts = NULL; - __glXenterServer(); + __glXenterServer(GL_FALSE); } static void -__glXnopEnterServer(void) +__glXnopEnterServer(GLboolean rendering) { } static void -__glXnopLeaveServer(void) +__glXnopLeaveServer(GLboolean rendering) { } -static void (*__glXenterServerFunc)(void) = __glXnopEnterServer; -static void (*__glXleaveServerFunc)(void) = __glXnopLeaveServer; +static void (*__glXenterServerFunc)(GLboolean) = __glXnopEnterServer; +static void (*__glXleaveServerFunc)(GLboolean) = __glXnopLeaveServer; -void __glXsetEnterLeaveServerFuncs(void (*enter)(void), - void (*leave)(void)) +void __glXsetEnterLeaveServerFuncs(void (*enter)(GLboolean), + void (*leave)(GLboolean)) { __glXenterServerFunc = enter; __glXleaveServerFunc = leave; } -void __glXenterServer(void) +void __glXenterServer(GLboolean rendering) { glxServerLeaveCount--; if (glxServerLeaveCount == 0) - (*__glXenterServerFunc)(); + (*__glXenterServerFunc)(rendering); } -void __glXleaveServer(void) +void __glXleaveServer(GLboolean rendering) { if (glxServerLeaveCount == 0) - (*__glXleaveServerFunc)(); + (*__glXleaveServerFunc)(rendering); glxServerLeaveCount++; } @@ -546,11 +553,14 @@ static int __glXDispatch(ClientPtr client) opcode, client->swapped); if (proc != NULL) { - __glXleaveServer(); + GLboolean rendering = opcode <= X_GLXRenderLarge; + __glXleaveServer(rendering); + + __pGlxClient = client; retval = (*proc)(cl, (GLbyte *) stuff); - __glXenterServer(); + __glXenterServer(rendering); } else { retval = BadRequest; diff --git a/xserver/GL/glx/glxext.h b/xserver/GL/glx/glxext.h index edd66a8f0..6774e4d4c 100644 --- a/xserver/GL/glx/glxext.h +++ b/xserver/GL/glx/glxext.h @@ -66,7 +66,7 @@ typedef struct { extern GLboolean __glXFreeContext(__GLXcontext *glxc); extern void __glXFlushContextCache(void); -extern void __glXErrorCallBack(__GLinterface *gc, GLenum code); +extern void __glXErrorCallBack(GLenum code); extern void __glXClearErrorOccured(void); extern GLboolean __glXErrorOccured(void); extern void __glXResetLargeCommandStatus(__GLXclientState*); @@ -80,7 +80,8 @@ extern int DoGetFBConfigs(__GLXclientState *cl, unsigned screen, extern int DoCreateContext(__GLXclientState *cl, GLXContextID gcId, GLXContextID shareList, VisualID visual, GLuint screen, GLboolean isDirect); extern int DoCreateGLXPixmap(__GLXclientState *cl, XID fbconfigId, - GLuint screenNum, XID pixmapId, XID glxpixmapId); + GLuint screenNum, XID pixmapId, XID glxpixmapId, CARD32 *attribs, + CARD32 numAttribs); extern int DoDestroyPixmap(__GLXclientState *cl, XID glxpixmapId); extern int DoQueryContext(__GLXclientState *cl, GLXContextID gcId); diff --git a/xserver/GL/glx/glxglcore.c b/xserver/GL/glx/glxglcore.c new file mode 100644 index 000000000..679d55c5d --- /dev/null +++ b/xserver/GL/glx/glxglcore.c @@ -0,0 +1,414 @@ +/************************************************************************** + +Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas. +All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sub license, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice (including the +next paragraph) shall be included in all copies or substantial portions +of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. +IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR +ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +**************************************************************************/ + +/* + * Authors: + * Kevin E. Martin + * Brian E. Paul + * + */ + +#ifdef HAVE_DIX_CONFIG_H +#include +#endif + +#include + +#include +#include +#include +#include +#include +#include +#include + +#include "glcontextmodes.h" +#include "os.h" + +typedef struct __GLXMESAscreen __GLXMESAscreen; +typedef struct __GLXMESAcontext __GLXMESAcontext; +typedef struct __GLXMESAdrawable __GLXMESAdrawable; + +struct __GLXMESAscreen { + __GLXscreen base; + int index; + int num_vis; + XMesaVisual *xm_vis; +}; + +struct __GLXMESAcontext { + __GLXcontext base; + XMesaContext xmesa; +}; + +struct __GLXMESAdrawable { + __GLXdrawable base; + XMesaBuffer xm_buf; +}; + +static XMesaVisual find_mesa_visual(__GLXscreen *screen, VisualID vid); + + +static void +__glXMesaDrawableDestroy(__GLXdrawable *base) +{ + __GLXMESAdrawable *glxPriv = (__GLXMESAdrawable *) base; + + if (glxPriv->xm_buf != NULL) + XMesaDestroyBuffer(glxPriv->xm_buf); + xfree(glxPriv); +} + +static GLboolean +__glXMesaDrawableResize(__GLXdrawable *base) +{ + __GLXMESAdrawable *glxPriv = (__GLXMESAdrawable *) base; + + XMesaResizeBuffers(glxPriv->xm_buf); + + return GL_TRUE; +} + +static GLboolean +__glXMesaDrawableSwapBuffers(__GLXdrawable *base) +{ + __GLXMESAdrawable *glxPriv = (__GLXMESAdrawable *) base; + + /* This is terrifying: XMesaSwapBuffers() ends up calling CopyArea + * to do the buffer swap, but this assumes that the server holds + * the lock and has its context visible. If another screen uses a + * DRI driver, that will have installed the DRI enter/leave server + * functions, which lifts the lock during GLX dispatch. This is + * why we need to re-take the lock and swap in the server context + * before calling XMesaSwapBuffers() here. /me shakes head. */ + + __glXenterServer(GL_FALSE); + + XMesaSwapBuffers(glxPriv->xm_buf); + + __glXleaveServer(GL_FALSE); + + return GL_TRUE; +} + + +static __GLXdrawable * +__glXMesaScreenCreateDrawable(__GLXscreen *screen, + DrawablePtr pDraw, + XID drawId, + __GLcontextModes *modes) +{ + __GLXMESAdrawable *glxPriv; + XMesaVisual xm_vis; + + glxPriv = xalloc(sizeof *glxPriv); + if (glxPriv == NULL) + return NULL; + + memset(glxPriv, 0, sizeof *glxPriv); + + if (!__glXDrawableInit(&glxPriv->base, screen, pDraw, drawId, modes)) { + xfree(glxPriv); + return NULL; + } + + glxPriv->base.destroy = __glXMesaDrawableDestroy; + glxPriv->base.resize = __glXMesaDrawableResize; + glxPriv->base.swapBuffers = __glXMesaDrawableSwapBuffers; + + xm_vis = find_mesa_visual(screen, modes->visualID); + if (xm_vis == NULL) { + ErrorF("find_mesa_visual returned NULL for visualID = 0x%04x\n", + modes->visualID); + xfree(glxPriv); + return NULL; + } + + if (glxPriv->base.type == DRAWABLE_WINDOW) { + glxPriv->xm_buf = XMesaCreateWindowBuffer(xm_vis, (WindowPtr)pDraw); + } else { + glxPriv->xm_buf = XMesaCreatePixmapBuffer(xm_vis, (PixmapPtr)pDraw, 0); + } + + return &glxPriv->base; +} + +static void +__glXMesaContextDestroy(__GLXcontext *baseContext) +{ + __GLXMESAcontext *context = (__GLXMESAcontext *) baseContext; + + XMesaDestroyContext(context->xmesa); + __glXContextDestroy(&context->base); + xfree(context); +} + +static int +__glXMesaContextMakeCurrent(__GLXcontext *baseContext) + +{ + __GLXMESAcontext *context = (__GLXMESAcontext *) baseContext; + __GLXMESAdrawable *drawPriv = (__GLXMESAdrawable *) context->base.drawPriv; + __GLXMESAdrawable *readPriv = (__GLXMESAdrawable *) context->base.readPriv; + + return XMesaMakeCurrent2(context->xmesa, + drawPriv->xm_buf, + readPriv->xm_buf); +} + +static int +__glXMesaContextLoseCurrent(__GLXcontext *baseContext) +{ + __GLXMESAcontext *context = (__GLXMESAcontext *) baseContext; + + return XMesaLoseCurrent(context->xmesa); +} + +static int +__glXMesaContextCopy(__GLXcontext *baseDst, + __GLXcontext *baseSrc, + unsigned long mask) +{ + __GLXMESAcontext *dst = (__GLXMESAcontext *) baseDst; + __GLXMESAcontext *src = (__GLXMESAcontext *) baseSrc; + + return XMesaCopyContext(src->xmesa, dst->xmesa, mask); +} + +static int +__glXMesaContextForceCurrent(__GLXcontext *baseContext) +{ + __GLXMESAcontext *context = (__GLXMESAcontext *) baseContext; + + /* GlxSetRenderTables() call for XGL moved in XMesaForceCurrent() */ + + return XMesaForceCurrent(context->xmesa); +} + +static __GLXcontext * +__glXMesaScreenCreateContext(__GLXscreen *screen, + __GLcontextModes *modes, + __GLXcontext *baseShareContext) +{ + __GLXMESAcontext *context; + __GLXMESAcontext *shareContext = (__GLXMESAcontext *) baseShareContext; + XMesaVisual xm_vis; + XMesaContext xm_share; + + context = xalloc (sizeof (__GLXMESAcontext)); + if (context == NULL) + return NULL; + + memset(context, 0, sizeof *context); + + context->base.pGlxScreen = screen; + context->base.modes = modes; + + context->base.destroy = __glXMesaContextDestroy; + context->base.makeCurrent = __glXMesaContextMakeCurrent; + context->base.loseCurrent = __glXMesaContextLoseCurrent; + context->base.copy = __glXMesaContextCopy; + context->base.forceCurrent = __glXMesaContextForceCurrent; + + xm_vis = find_mesa_visual(screen, modes->visualID); + if (!xm_vis) { + ErrorF("find_mesa_visual returned NULL for visualID = 0x%04x\n", + modes->visualID); + xfree(context); + return NULL; + } + + xm_share = shareContext ? shareContext->xmesa : NULL; + context->xmesa = XMesaCreateContext(xm_vis, xm_share); + if (!context->xmesa) { + xfree(context); + return NULL; + } + + return &context->base; +} + +static void +__glXMesaScreenDestroy(__GLXscreen *screen) +{ + __GLXMESAscreen *mesaScreen = (__GLXMESAscreen *) screen; + int i; + + if (mesaScreen->xm_vis) { + for (i = 0; i < mesaScreen->num_vis; i++) { + if (mesaScreen->xm_vis[i]) + XMesaDestroyVisual(mesaScreen->xm_vis[i]); + } + + xfree(mesaScreen->xm_vis); + } + + __glXScreenDestroy(screen); + + xfree(screen); +} + +static XMesaVisual +find_mesa_visual(__GLXscreen *screen, VisualID vid) +{ + __GLXMESAscreen *mesaScreen = (__GLXMESAscreen *) screen; + const __GLcontextModes *modes; + unsigned i = 0; + + for ( modes = screen->modes ; modes != NULL ; modes = modes->next ) { + if ( modes->visualID == vid ) { + break; + } + + i++; + } + + return (modes != NULL) ? mesaScreen->xm_vis[i] : NULL; +} + +static void init_screen_visuals(__GLXMESAscreen *screen) +{ + ScreenPtr pScreen = screen->base.pScreen; + __GLcontextModes *modes; + XMesaVisual *pXMesaVisual; + int *used; + int num_vis, j, size; + + /* Alloc space for the list of XMesa visuals */ + size = screen->base.numVisuals * sizeof(XMesaVisual); + pXMesaVisual = (XMesaVisual *) xalloc(size); + memset(pXMesaVisual, 0, size); + + /* FIXME: Change 'used' to be a array of bits (rather than of ints), + * FIXME: create a stack array of 8 or 16 bytes. If 'numVisuals' is less + * FIXME: than 64 or 128 the stack array can be used instead of calling + * FIXME: __glXMalloc / __glXFree. If nothing else, convert 'used' to + * FIXME: array of bytes instead of ints! + */ + used = (int *) xalloc(pScreen->numVisuals * sizeof(int)); + memset(used, 0, pScreen->numVisuals * sizeof(int)); + + num_vis = 0; + for ( modes = screen->base.modes; modes != NULL; modes = modes->next ) { + const int vis_class = _gl_convert_to_x_visual_type( modes->visualType ); + const int nplanes = (modes->rgbBits - modes->alphaBits); + const VisualPtr pVis = pScreen->visuals; + + for (j = 0; j < pScreen->numVisuals; j++) { + if (pVis[j].class == vis_class && + pVis[j].nplanes == nplanes && + pVis[j].redMask == modes->redMask && + pVis[j].greenMask == modes->greenMask && + pVis[j].blueMask == modes->blueMask && + !used[j]) { + + /* Create the XMesa visual */ + assert(num_vis < screen->base.numVisuals); + pXMesaVisual[num_vis] = + XMesaCreateVisual(pScreen, + &pVis[j], + modes->rgbMode, + (modes->alphaBits > 0), + modes->doubleBufferMode, + modes->stereoMode, + GL_TRUE, /* ximage_flag */ + modes->depthBits, + modes->stencilBits, + modes->accumRedBits, + modes->accumGreenBits, + modes->accumBlueBits, + modes->accumAlphaBits, + modes->samples, + modes->level, + modes->visualRating); + /* Set the VisualID */ + modes->visualID = pVis[j].vid; + + /* Mark this visual used */ + used[j] = 1; + break; + } + } + + if ( j == pScreen->numVisuals ) { + ErrorF("No matching visual for __GLcontextMode with " + "visual class = %d (%d), nplanes = %u\n", + vis_class, + modes->visualType, + (modes->rgbBits - modes->alphaBits) ); + } + else if ( modes->visualID == -1 ) { + FatalError( "Matching visual found, but visualID still -1!\n" ); + } + + num_vis++; + } + + xfree(used); + + screen->num_vis = num_vis; + screen->xm_vis = pXMesaVisual; + + assert(screen->num_vis <= screen->base.numVisuals); +} + +static __GLXscreen * +__glXMesaScreenProbe(ScreenPtr pScreen) +{ + __GLXMESAscreen *screen; + + screen = xalloc(sizeof *screen); + if (screen == NULL) + return NULL; + + __glXScreenInit(&screen->base, pScreen); + + screen->base.destroy = __glXMesaScreenDestroy; + screen->base.createContext = __glXMesaScreenCreateContext; + screen->base.createDrawable = __glXMesaScreenCreateDrawable; + screen->base.pScreen = pScreen; + + /* + * Find the GLX visuals that are supported by this screen and create + * XMesa's visuals. + */ + init_screen_visuals(screen); + + return &screen->base; +} + +__GLXprovider __glXMesaProvider = { + __glXMesaScreenProbe, + "MESA", + NULL +}; + +__GLXprovider * +GlxGetMesaProvider (void) +{ + return &__glXMesaProvider; +} diff --git a/xserver/GL/glx/glxscreens.h b/xserver/GL/glx/glxscreens.h index a7700f649..bba45572f 100644 --- a/xserver/GL/glx/glxscreens.h +++ b/xserver/GL/glx/glxscreens.h @@ -40,9 +40,6 @@ ** */ -/* XXX: should be defined somewhere globally */ -#define CAPI - #include "GL/internal/glcore.h" /* diff --git a/xserver/GL/glx/glxserver.h b/xserver/GL/glx/glxserver.h index 49cad7328..b6b55927e 100644 --- a/xserver/GL/glx/glxserver.h +++ b/xserver/GL/glx/glxserver.h @@ -110,6 +110,8 @@ void __glXScreenInitVisuals(__GLXscreen *screen); extern __GLXcontext *__glXLastContext; extern __GLXcontext *__glXForceCurrent(__GLXclientState*, GLXContextTag, int*); +extern ClientPtr __pGlxClient; + int __glXError(int error); /* @@ -131,10 +133,10 @@ struct __GLXprovider { void GlxPushProvider(__GLXprovider *provider); -void __glXsetEnterLeaveServerFuncs(void (*enter)(void), - void (*leave)(void)); -void __glXenterServer(void); -void __glXleaveServer(void); +void __glXsetEnterLeaveServerFuncs(void (*enter)(GLboolean), + void (*leave)(GLboolean)); +void __glXenterServer(GLboolean rendering); +void __glXleaveServer(GLboolean rendering); void glxSuspendClients(void); void glxResumeClients(void); diff --git a/xserver/GL/glx/glxutil.h b/xserver/GL/glx/glxutil.h index 6cdb5c816..1937ef2cf 100644 --- a/xserver/GL/glx/glxutil.h +++ b/xserver/GL/glx/glxutil.h @@ -60,6 +60,4 @@ extern __GLXcontext *__glXLookupContextByTag(__GLXclientState*, GLXContextTag); extern void *__glXglDDXScreenInfo(void); extern void *__glXglDDXExtensionInfo(void); -extern int glxCountBits(int); - #endif /* _glxcmds_h_ */ diff --git a/xserver/GL/glx/indirect_dispatch.c b/xserver/GL/glx/indirect_dispatch.c index d86dedfd5..00a9f9659 100644 --- a/xserver/GL/glx/indirect_dispatch.c +++ b/xserver/GL/glx/indirect_dispatch.c @@ -33,6 +33,7 @@ #include "indirect_size_get.h" #include "indirect_dispatch.h" #include "glxserver.h" +#include "glxbyteorder.h" #include "indirect_util.h" #include "singlesize.h" #include "glapitable.h" diff --git a/xserver/GL/glx/indirect_dispatch.h b/xserver/GL/glx/indirect_dispatch.h index 78e5e6938..24f4bed43 100644 --- a/xserver/GL/glx/indirect_dispatch.h +++ b/xserver/GL/glx/indirect_dispatch.h @@ -379,8 +379,6 @@ extern HIDDEN void __glXDisp_DepthMask(GLbyte * pc); extern HIDDEN void __glXDispSwap_DepthMask(GLbyte * pc); extern HIDDEN void __glXDisp_Rotated(GLbyte * pc); extern HIDDEN void __glXDispSwap_Rotated(GLbyte * pc); -extern HIDDEN void __glXDisp_Color4iv(GLbyte * pc); -extern HIDDEN void __glXDispSwap_Color4iv(GLbyte * pc); extern HIDDEN int __glXDisp_GetMaterialiv(struct __GLXclientStateRec *, GLbyte *); extern HIDDEN int __glXDispSwap_GetMaterialiv(struct __GLXclientStateRec *, GLbyte *); extern HIDDEN void __glXDisp_StencilOp(GLbyte * pc); @@ -621,6 +619,8 @@ extern HIDDEN int __glXDisp_PixelStorei(struct __GLXclientStateRec *, GLbyte *); extern HIDDEN int __glXDispSwap_PixelStorei(struct __GLXclientStateRec *, GLbyte *); extern HIDDEN void __glXDisp_VertexAttrib4usvARB(GLbyte * pc); extern HIDDEN void __glXDispSwap_VertexAttrib4usvARB(GLbyte * pc); +extern HIDDEN void __glXDisp_Color4iv(GLbyte * pc); +extern HIDDEN void __glXDispSwap_Color4iv(GLbyte * pc); extern HIDDEN void __glXDisp_EvalCoord2dv(GLbyte * pc); extern HIDDEN void __glXDispSwap_EvalCoord2dv(GLbyte * pc); extern HIDDEN void __glXDisp_VertexAttrib3svARB(GLbyte * pc); diff --git a/xserver/GL/glx/indirect_dispatch_swap.c b/xserver/GL/glx/indirect_dispatch_swap.c index 9c58ef1cd..c0bb71cc4 100644 --- a/xserver/GL/glx/indirect_dispatch_swap.c +++ b/xserver/GL/glx/indirect_dispatch_swap.c @@ -28,24 +28,12 @@ #include #include #include -#ifdef __linux__ -#include -#elif defined(__OpenBSD__) -#include -#define bswap_16 __swap16 -#define bswap_32 __swap32 -#define bswap_64 __swap64 -#else -#include -#define bswap_16 bswap16 -#define bswap_32 bswap32 -#define bswap_64 bswap64 -#endif #include #include "indirect_size.h" #include "indirect_size_get.h" #include "indirect_dispatch.h" #include "glxserver.h" +#include "glxbyteorder.h" #include "indirect_util.h" #include "singlesize.h" #include "glapitable.h" diff --git a/xserver/GL/glx/indirect_program.c b/xserver/GL/glx/indirect_program.c index d0fd3d135..d23a0a9e6 100644 --- a/xserver/GL/glx/indirect_program.c +++ b/xserver/GL/glx/indirect_program.c @@ -35,6 +35,7 @@ #endif #include "glxserver.h" +#include "glxbyteorder.h" #include "glxext.h" #include "singlesize.h" #include "unpack.h" @@ -46,20 +47,6 @@ #include "dispatch.h" #include "glapioffsets.h" -#ifdef __linux__ -#include -#elif defined(__OpenBSD__) -#include -#define bswap_16 __swap16 -#define bswap_32 __swap32 -#define bswap_64 __swap64 -#else -#include -#define bswap_16 bswap16 -#define bswap_32 bswap32 -#define bswap_64 bswap64 -#endif - static int DoGetProgramString(struct __GLXclientStateRec *cl, GLbyte *pc, unsigned get_programiv_offset, unsigned get_program_string_offset, Bool do_swap); diff --git a/xserver/GL/glx/indirect_reqsize.c b/xserver/GL/glx/indirect_reqsize.c index d3e2bc516..954eecd97 100644 --- a/xserver/GL/glx/indirect_reqsize.c +++ b/xserver/GL/glx/indirect_reqsize.c @@ -28,16 +28,10 @@ #include #include "glxserver.h" +#include "glxbyteorder.h" #include "indirect_size.h" #include "indirect_reqsize.h" -#if defined(__linux__) || defined (__GLIBC__) || defined(__GNU__) -# include -# define SWAP_32(v) do { (v) = bswap_32(v); } while(0) -#else -# define SWAP_32(v) do { char tmp; swapl(&v, tmp); } while(0) -#endif - #define __GLX_PAD(x) (((x) + 3) & ~3) #if defined(__CYGWIN__) || defined(__MINGW32__) @@ -56,15 +50,15 @@ int -__glXCallListsReqSize( const GLbyte * pc, Bool swap ) +__glXCallListsReqSize(const GLbyte *pc, Bool swap) { - GLsizei n = *(GLsizei *)(pc + 0); - GLenum type = * (GLenum *)(pc + 4); + GLsizei n = *(GLsizei *) (pc + 0); + GLenum type = *(GLenum *) (pc + 4); GLsizei compsize; if (swap) { - SWAP_32( n ); - SWAP_32( type ); + n = bswap_32(n); + type = bswap_32(type); } compsize = __glCallLists_size(type); @@ -72,22 +66,22 @@ __glXCallListsReqSize( const GLbyte * pc, Bool swap ) } int -__glXBitmapReqSize( const GLbyte * pc, Bool swap ) +__glXBitmapReqSize(const GLbyte *pc, Bool swap) { - GLint row_length = * (GLint *)(pc + 4); + GLint row_length = *(GLint *) (pc + 4); GLint image_height = 0; - GLint skip_images = 0; - GLint skip_rows = * (GLint *)(pc + 8); - GLint alignment = * (GLint *)(pc + 16); - GLsizei width = *(GLsizei *)(pc + 20); - GLsizei height = *(GLsizei *)(pc + 24); + GLint skip_images = 0; + GLint skip_rows = *(GLint *) (pc + 8); + GLint alignment = *(GLint *) (pc + 16); + GLsizei width = *(GLsizei *) (pc + 20); + GLsizei height = *(GLsizei *) (pc + 24); if (swap) { - SWAP_32( row_length ); - SWAP_32( skip_rows ); - SWAP_32( alignment ); - SWAP_32( width ); - SWAP_32( height ); + row_length = bswap_32(row_length); + skip_rows = bswap_32(skip_rows); + alignment = bswap_32(alignment); + width = bswap_32(width); + height = bswap_32(height); } return __glXImageSize(GL_COLOR_INDEX, GL_BITMAP, 0, width, height, 1, @@ -96,13 +90,13 @@ __glXBitmapReqSize( const GLbyte * pc, Bool swap ) } int -__glXFogfvReqSize( const GLbyte * pc, Bool swap ) +__glXFogfvReqSize(const GLbyte *pc, Bool swap) { - GLenum pname = * (GLenum *)(pc + 0); + GLenum pname = *(GLenum *) (pc + 0); GLsizei compsize; if (swap) { - SWAP_32( pname ); + pname = bswap_32(pname); } compsize = __glFogfv_size(pname); @@ -110,13 +104,13 @@ __glXFogfvReqSize( const GLbyte * pc, Bool swap ) } int -__glXLightfvReqSize( const GLbyte * pc, Bool swap ) +__glXLightfvReqSize(const GLbyte *pc, Bool swap) { - GLenum pname = * (GLenum *)(pc + 4); + GLenum pname = *(GLenum *) (pc + 4); GLsizei compsize; if (swap) { - SWAP_32( pname ); + pname = bswap_32(pname); } compsize = __glLightfv_size(pname); @@ -124,13 +118,13 @@ __glXLightfvReqSize( const GLbyte * pc, Bool swap ) } int -__glXLightModelfvReqSize( const GLbyte * pc, Bool swap ) +__glXLightModelfvReqSize(const GLbyte *pc, Bool swap) { - GLenum pname = * (GLenum *)(pc + 0); + GLenum pname = *(GLenum *) (pc + 0); GLsizei compsize; if (swap) { - SWAP_32( pname ); + pname = bswap_32(pname); } compsize = __glLightModelfv_size(pname); @@ -138,13 +132,13 @@ __glXLightModelfvReqSize( const GLbyte * pc, Bool swap ) } int -__glXMaterialfvReqSize( const GLbyte * pc, Bool swap ) +__glXMaterialfvReqSize(const GLbyte *pc, Bool swap) { - GLenum pname = * (GLenum *)(pc + 4); + GLenum pname = *(GLenum *) (pc + 4); GLsizei compsize; if (swap) { - SWAP_32( pname ); + pname = bswap_32(pname); } compsize = __glMaterialfv_size(pname); @@ -152,18 +146,18 @@ __glXMaterialfvReqSize( const GLbyte * pc, Bool swap ) } int -__glXPolygonStippleReqSize( const GLbyte * pc, Bool swap ) +__glXPolygonStippleReqSize(const GLbyte *pc, Bool swap) { - GLint row_length = * (GLint *)(pc + 4); + GLint row_length = *(GLint *) (pc + 4); GLint image_height = 0; - GLint skip_images = 0; - GLint skip_rows = * (GLint *)(pc + 8); - GLint alignment = * (GLint *)(pc + 16); + GLint skip_images = 0; + GLint skip_rows = *(GLint *) (pc + 8); + GLint alignment = *(GLint *) (pc + 16); if (swap) { - SWAP_32( row_length ); - SWAP_32( skip_rows ); - SWAP_32( alignment ); + row_length = bswap_32(row_length); + skip_rows = bswap_32(skip_rows); + alignment = bswap_32(alignment); } return __glXImageSize(GL_COLOR_INDEX, GL_BITMAP, 0, 32, 32, 1, @@ -172,13 +166,13 @@ __glXPolygonStippleReqSize( const GLbyte * pc, Bool swap ) } int -__glXTexParameterfvReqSize( const GLbyte * pc, Bool swap ) +__glXTexParameterfvReqSize(const GLbyte *pc, Bool swap) { - GLenum pname = * (GLenum *)(pc + 4); + GLenum pname = *(GLenum *) (pc + 4); GLsizei compsize; if (swap) { - SWAP_32( pname ); + pname = bswap_32(pname); } compsize = __glTexParameterfv_size(pname); @@ -186,26 +180,26 @@ __glXTexParameterfvReqSize( const GLbyte * pc, Bool swap ) } int -__glXTexImage1DReqSize( const GLbyte * pc, Bool swap ) +__glXTexImage1DReqSize(const GLbyte *pc, Bool swap) { - GLint row_length = * (GLint *)(pc + 4); + GLint row_length = *(GLint *) (pc + 4); GLint image_height = 0; - GLint skip_images = 0; - GLint skip_rows = * (GLint *)(pc + 8); - GLint alignment = * (GLint *)(pc + 16); - GLenum target = * (GLenum *)(pc + 20); - GLsizei width = *(GLsizei *)(pc + 32); - GLenum format = * (GLenum *)(pc + 44); - GLenum type = * (GLenum *)(pc + 48); + GLint skip_images = 0; + GLint skip_rows = *(GLint *) (pc + 8); + GLint alignment = *(GLint *) (pc + 16); + GLenum target = *(GLenum *) (pc + 20); + GLsizei width = *(GLsizei *) (pc + 32); + GLenum format = *(GLenum *) (pc + 44); + GLenum type = *(GLenum *) (pc + 48); if (swap) { - SWAP_32( row_length ); - SWAP_32( skip_rows ); - SWAP_32( alignment ); - SWAP_32( target ); - SWAP_32( width ); - SWAP_32( format ); - SWAP_32( type ); + row_length = bswap_32(row_length); + skip_rows = bswap_32(skip_rows); + alignment = bswap_32(alignment); + target = bswap_32(target); + width = bswap_32(width); + format = bswap_32(format); + type = bswap_32(type); } return __glXImageSize(format, type, target, width, 1, 1, @@ -214,28 +208,28 @@ __glXTexImage1DReqSize( const GLbyte * pc, Bool swap ) } int -__glXTexImage2DReqSize( const GLbyte * pc, Bool swap ) +__glXTexImage2DReqSize(const GLbyte *pc, Bool swap) { - GLint row_length = * (GLint *)(pc + 4); + GLint row_length = *(GLint *) (pc + 4); GLint image_height = 0; - GLint skip_images = 0; - GLint skip_rows = * (GLint *)(pc + 8); - GLint alignment = * (GLint *)(pc + 16); - GLenum target = * (GLenum *)(pc + 20); - GLsizei width = *(GLsizei *)(pc + 32); - GLsizei height = *(GLsizei *)(pc + 36); - GLenum format = * (GLenum *)(pc + 44); - GLenum type = * (GLenum *)(pc + 48); + GLint skip_images = 0; + GLint skip_rows = *(GLint *) (pc + 8); + GLint alignment = *(GLint *) (pc + 16); + GLenum target = *(GLenum *) (pc + 20); + GLsizei width = *(GLsizei *) (pc + 32); + GLsizei height = *(GLsizei *) (pc + 36); + GLenum format = *(GLenum *) (pc + 44); + GLenum type = *(GLenum *) (pc + 48); if (swap) { - SWAP_32( row_length ); - SWAP_32( skip_rows ); - SWAP_32( alignment ); - SWAP_32( target ); - SWAP_32( width ); - SWAP_32( height ); - SWAP_32( format ); - SWAP_32( type ); + row_length = bswap_32(row_length); + skip_rows = bswap_32(skip_rows); + alignment = bswap_32(alignment); + target = bswap_32(target); + width = bswap_32(width); + height = bswap_32(height); + format = bswap_32(format); + type = bswap_32(type); } return __glXImageSize(format, type, target, width, height, 1, @@ -244,13 +238,13 @@ __glXTexImage2DReqSize( const GLbyte * pc, Bool swap ) } int -__glXTexEnvfvReqSize( const GLbyte * pc, Bool swap ) +__glXTexEnvfvReqSize(const GLbyte *pc, Bool swap) { - GLenum pname = * (GLenum *)(pc + 4); + GLenum pname = *(GLenum *) (pc + 4); GLsizei compsize; if (swap) { - SWAP_32( pname ); + pname = bswap_32(pname); } compsize = __glTexEnvfv_size(pname); @@ -258,13 +252,13 @@ __glXTexEnvfvReqSize( const GLbyte * pc, Bool swap ) } int -__glXTexGendvReqSize( const GLbyte * pc, Bool swap ) +__glXTexGendvReqSize(const GLbyte *pc, Bool swap) { - GLenum pname = * (GLenum *)(pc + 4); + GLenum pname = *(GLenum *) (pc + 4); GLsizei compsize; if (swap) { - SWAP_32( pname ); + pname = bswap_32(pname); } compsize = __glTexGendv_size(pname); @@ -272,13 +266,13 @@ __glXTexGendvReqSize( const GLbyte * pc, Bool swap ) } int -__glXTexGenfvReqSize( const GLbyte * pc, Bool swap ) +__glXTexGenfvReqSize(const GLbyte *pc, Bool swap) { - GLenum pname = * (GLenum *)(pc + 4); + GLenum pname = *(GLenum *) (pc + 4); GLsizei compsize; if (swap) { - SWAP_32( pname ); + pname = bswap_32(pname); } compsize = __glTexGenfv_size(pname); @@ -286,50 +280,50 @@ __glXTexGenfvReqSize( const GLbyte * pc, Bool swap ) } int -__glXPixelMapfvReqSize( const GLbyte * pc, Bool swap ) +__glXPixelMapfvReqSize(const GLbyte *pc, Bool swap) { - GLsizei mapsize = *(GLsizei *)(pc + 4); + GLsizei mapsize = *(GLsizei *) (pc + 4); if (swap) { - SWAP_32( mapsize ); + mapsize = bswap_32(mapsize); } return __GLX_PAD((mapsize * 4)); } int -__glXPixelMapusvReqSize( const GLbyte * pc, Bool swap ) +__glXPixelMapusvReqSize(const GLbyte *pc, Bool swap) { - GLsizei mapsize = *(GLsizei *)(pc + 4); + GLsizei mapsize = *(GLsizei *) (pc + 4); if (swap) { - SWAP_32( mapsize ); + mapsize = bswap_32(mapsize); } return __GLX_PAD((mapsize * 2)); } int -__glXDrawPixelsReqSize( const GLbyte * pc, Bool swap ) +__glXDrawPixelsReqSize(const GLbyte *pc, Bool swap) { - GLint row_length = * (GLint *)(pc + 4); + GLint row_length = *(GLint *) (pc + 4); GLint image_height = 0; - GLint skip_images = 0; - GLint skip_rows = * (GLint *)(pc + 8); - GLint alignment = * (GLint *)(pc + 16); - GLsizei width = *(GLsizei *)(pc + 20); - GLsizei height = *(GLsizei *)(pc + 24); - GLenum format = * (GLenum *)(pc + 28); - GLenum type = * (GLenum *)(pc + 32); + GLint skip_images = 0; + GLint skip_rows = *(GLint *) (pc + 8); + GLint alignment = *(GLint *) (pc + 16); + GLsizei width = *(GLsizei *) (pc + 20); + GLsizei height = *(GLsizei *) (pc + 24); + GLenum format = *(GLenum *) (pc + 28); + GLenum type = *(GLenum *) (pc + 32); if (swap) { - SWAP_32( row_length ); - SWAP_32( skip_rows ); - SWAP_32( alignment ); - SWAP_32( width ); - SWAP_32( height ); - SWAP_32( format ); - SWAP_32( type ); + row_length = bswap_32(row_length); + skip_rows = bswap_32(skip_rows); + alignment = bswap_32(alignment); + width = bswap_32(width); + height = bswap_32(height); + format = bswap_32(format); + type = bswap_32(type); } return __glXImageSize(format, type, 0, width, height, 1, @@ -338,38 +332,38 @@ __glXDrawPixelsReqSize( const GLbyte * pc, Bool swap ) } int -__glXPrioritizeTexturesReqSize( const GLbyte * pc, Bool swap ) +__glXPrioritizeTexturesReqSize(const GLbyte *pc, Bool swap) { - GLsizei n = *(GLsizei *)(pc + 0); + GLsizei n = *(GLsizei *) (pc + 0); if (swap) { - SWAP_32( n ); + n = bswap_32(n); } return __GLX_PAD((n * 4) + (n * 4)); } int -__glXTexSubImage1DReqSize( const GLbyte * pc, Bool swap ) +__glXTexSubImage1DReqSize(const GLbyte *pc, Bool swap) { - GLint row_length = * (GLint *)(pc + 4); + GLint row_length = *(GLint *) (pc + 4); GLint image_height = 0; - GLint skip_images = 0; - GLint skip_rows = * (GLint *)(pc + 8); - GLint alignment = * (GLint *)(pc + 16); - GLenum target = * (GLenum *)(pc + 20); - GLsizei width = *(GLsizei *)(pc + 36); - GLenum format = * (GLenum *)(pc + 44); - GLenum type = * (GLenum *)(pc + 48); + GLint skip_images = 0; + GLint skip_rows = *(GLint *) (pc + 8); + GLint alignment = *(GLint *) (pc + 16); + GLenum target = *(GLenum *) (pc + 20); + GLsizei width = *(GLsizei *) (pc + 36); + GLenum format = *(GLenum *) (pc + 44); + GLenum type = *(GLenum *) (pc + 48); if (swap) { - SWAP_32( row_length ); - SWAP_32( skip_rows ); - SWAP_32( alignment ); - SWAP_32( target ); - SWAP_32( width ); - SWAP_32( format ); - SWAP_32( type ); + row_length = bswap_32(row_length); + skip_rows = bswap_32(skip_rows); + alignment = bswap_32(alignment); + target = bswap_32(target); + width = bswap_32(width); + format = bswap_32(format); + type = bswap_32(type); } return __glXImageSize(format, type, target, width, 1, 1, @@ -378,28 +372,28 @@ __glXTexSubImage1DReqSize( const GLbyte * pc, Bool swap ) } int -__glXTexSubImage2DReqSize( const GLbyte * pc, Bool swap ) +__glXTexSubImage2DReqSize(const GLbyte *pc, Bool swap) { - GLint row_length = * (GLint *)(pc + 4); + GLint row_length = *(GLint *) (pc + 4); GLint image_height = 0; - GLint skip_images = 0; - GLint skip_rows = * (GLint *)(pc + 8); - GLint alignment = * (GLint *)(pc + 16); - GLenum target = * (GLenum *)(pc + 20); - GLsizei width = *(GLsizei *)(pc + 36); - GLsizei height = *(GLsizei *)(pc + 40); - GLenum format = * (GLenum *)(pc + 44); - GLenum type = * (GLenum *)(pc + 48); + GLint skip_images = 0; + GLint skip_rows = *(GLint *) (pc + 8); + GLint alignment = *(GLint *) (pc + 16); + GLenum target = *(GLenum *) (pc + 20); + GLsizei width = *(GLsizei *) (pc + 36); + GLsizei height = *(GLsizei *) (pc + 40); + GLenum format = *(GLenum *) (pc + 44); + GLenum type = *(GLenum *) (pc + 48); if (swap) { - SWAP_32( row_length ); - SWAP_32( skip_rows ); - SWAP_32( alignment ); - SWAP_32( target ); - SWAP_32( width ); - SWAP_32( height ); - SWAP_32( format ); - SWAP_32( type ); + row_length = bswap_32(row_length); + skip_rows = bswap_32(skip_rows); + alignment = bswap_32(alignment); + target = bswap_32(target); + width = bswap_32(width); + height = bswap_32(height); + format = bswap_32(format); + type = bswap_32(type); } return __glXImageSize(format, type, target, width, height, 1, @@ -408,26 +402,26 @@ __glXTexSubImage2DReqSize( const GLbyte * pc, Bool swap ) } int -__glXColorTableReqSize( const GLbyte * pc, Bool swap ) +__glXColorTableReqSize(const GLbyte *pc, Bool swap) { - GLint row_length = * (GLint *)(pc + 4); + GLint row_length = *(GLint *) (pc + 4); GLint image_height = 0; - GLint skip_images = 0; - GLint skip_rows = * (GLint *)(pc + 8); - GLint alignment = * (GLint *)(pc + 16); - GLenum target = * (GLenum *)(pc + 20); - GLsizei width = *(GLsizei *)(pc + 28); - GLenum format = * (GLenum *)(pc + 32); - GLenum type = * (GLenum *)(pc + 36); + GLint skip_images = 0; + GLint skip_rows = *(GLint *) (pc + 8); + GLint alignment = *(GLint *) (pc + 16); + GLenum target = *(GLenum *) (pc + 20); + GLsizei width = *(GLsizei *) (pc + 28); + GLenum format = *(GLenum *) (pc + 32); + GLenum type = *(GLenum *) (pc + 36); if (swap) { - SWAP_32( row_length ); - SWAP_32( skip_rows ); - SWAP_32( alignment ); - SWAP_32( target ); - SWAP_32( width ); - SWAP_32( format ); - SWAP_32( type ); + row_length = bswap_32(row_length); + skip_rows = bswap_32(skip_rows); + alignment = bswap_32(alignment); + target = bswap_32(target); + width = bswap_32(width); + format = bswap_32(format); + type = bswap_32(type); } return __glXImageSize(format, type, target, width, 1, 1, @@ -436,13 +430,13 @@ __glXColorTableReqSize( const GLbyte * pc, Bool swap ) } int -__glXColorTableParameterfvReqSize( const GLbyte * pc, Bool swap ) +__glXColorTableParameterfvReqSize(const GLbyte *pc, Bool swap) { - GLenum pname = * (GLenum *)(pc + 4); + GLenum pname = *(GLenum *) (pc + 4); GLsizei compsize; if (swap) { - SWAP_32( pname ); + pname = bswap_32(pname); } compsize = __glColorTableParameterfv_size(pname); @@ -450,26 +444,26 @@ __glXColorTableParameterfvReqSize( const GLbyte * pc, Bool swap ) } int -__glXColorSubTableReqSize( const GLbyte * pc, Bool swap ) +__glXColorSubTableReqSize(const GLbyte *pc, Bool swap) { - GLint row_length = * (GLint *)(pc + 4); + GLint row_length = *(GLint *) (pc + 4); GLint image_height = 0; - GLint skip_images = 0; - GLint skip_rows = * (GLint *)(pc + 8); - GLint alignment = * (GLint *)(pc + 16); - GLenum target = * (GLenum *)(pc + 20); - GLsizei count = *(GLsizei *)(pc + 28); - GLenum format = * (GLenum *)(pc + 32); - GLenum type = * (GLenum *)(pc + 36); + GLint skip_images = 0; + GLint skip_rows = *(GLint *) (pc + 8); + GLint alignment = *(GLint *) (pc + 16); + GLenum target = *(GLenum *) (pc + 20); + GLsizei count = *(GLsizei *) (pc + 28); + GLenum format = *(GLenum *) (pc + 32); + GLenum type = *(GLenum *) (pc + 36); if (swap) { - SWAP_32( row_length ); - SWAP_32( skip_rows ); - SWAP_32( alignment ); - SWAP_32( target ); - SWAP_32( count ); - SWAP_32( format ); - SWAP_32( type ); + row_length = bswap_32(row_length); + skip_rows = bswap_32(skip_rows); + alignment = bswap_32(alignment); + target = bswap_32(target); + count = bswap_32(count); + format = bswap_32(format); + type = bswap_32(type); } return __glXImageSize(format, type, target, count, 1, 1, @@ -478,26 +472,26 @@ __glXColorSubTableReqSize( const GLbyte * pc, Bool swap ) } int -__glXConvolutionFilter1DReqSize( const GLbyte * pc, Bool swap ) +__glXConvolutionFilter1DReqSize(const GLbyte *pc, Bool swap) { - GLint row_length = * (GLint *)(pc + 4); + GLint row_length = *(GLint *) (pc + 4); GLint image_height = 0; - GLint skip_images = 0; - GLint skip_rows = * (GLint *)(pc + 8); - GLint alignment = * (GLint *)(pc + 16); - GLenum target = * (GLenum *)(pc + 20); - GLsizei width = *(GLsizei *)(pc + 28); - GLenum format = * (GLenum *)(pc + 36); - GLenum type = * (GLenum *)(pc + 40); + GLint skip_images = 0; + GLint skip_rows = *(GLint *) (pc + 8); + GLint alignment = *(GLint *) (pc + 16); + GLenum target = *(GLenum *) (pc + 20); + GLsizei width = *(GLsizei *) (pc + 28); + GLenum format = *(GLenum *) (pc + 36); + GLenum type = *(GLenum *) (pc + 40); if (swap) { - SWAP_32( row_length ); - SWAP_32( skip_rows ); - SWAP_32( alignment ); - SWAP_32( target ); - SWAP_32( width ); - SWAP_32( format ); - SWAP_32( type ); + row_length = bswap_32(row_length); + skip_rows = bswap_32(skip_rows); + alignment = bswap_32(alignment); + target = bswap_32(target); + width = bswap_32(width); + format = bswap_32(format); + type = bswap_32(type); } return __glXImageSize(format, type, target, width, 1, 1, @@ -506,28 +500,28 @@ __glXConvolutionFilter1DReqSize( const GLbyte * pc, Bool swap ) } int -__glXConvolutionFilter2DReqSize( const GLbyte * pc, Bool swap ) +__glXConvolutionFilter2DReqSize(const GLbyte *pc, Bool swap) { - GLint row_length = * (GLint *)(pc + 4); + GLint row_length = *(GLint *) (pc + 4); GLint image_height = 0; - GLint skip_images = 0; - GLint skip_rows = * (GLint *)(pc + 8); - GLint alignment = * (GLint *)(pc + 16); - GLenum target = * (GLenum *)(pc + 20); - GLsizei width = *(GLsizei *)(pc + 28); - GLsizei height = *(GLsizei *)(pc + 32); - GLenum format = * (GLenum *)(pc + 36); - GLenum type = * (GLenum *)(pc + 40); + GLint skip_images = 0; + GLint skip_rows = *(GLint *) (pc + 8); + GLint alignment = *(GLint *) (pc + 16); + GLenum target = *(GLenum *) (pc + 20); + GLsizei width = *(GLsizei *) (pc + 28); + GLsizei height = *(GLsizei *) (pc + 32); + GLenum format = *(GLenum *) (pc + 36); + GLenum type = *(GLenum *) (pc + 40); if (swap) { - SWAP_32( row_length ); - SWAP_32( skip_rows ); - SWAP_32( alignment ); - SWAP_32( target ); - SWAP_32( width ); - SWAP_32( height ); - SWAP_32( format ); - SWAP_32( type ); + row_length = bswap_32(row_length); + skip_rows = bswap_32(skip_rows); + alignment = bswap_32(alignment); + target = bswap_32(target); + width = bswap_32(width); + height = bswap_32(height); + format = bswap_32(format); + type = bswap_32(type); } return __glXImageSize(format, type, target, width, height, 1, @@ -536,13 +530,13 @@ __glXConvolutionFilter2DReqSize( const GLbyte * pc, Bool swap ) } int -__glXConvolutionParameterfvReqSize( const GLbyte * pc, Bool swap ) +__glXConvolutionParameterfvReqSize(const GLbyte *pc, Bool swap) { - GLenum pname = * (GLenum *)(pc + 4); + GLenum pname = *(GLenum *) (pc + 4); GLsizei compsize; if (swap) { - SWAP_32( pname ); + pname = bswap_32(pname); } compsize = __glConvolutionParameterfv_size(pname); @@ -550,32 +544,32 @@ __glXConvolutionParameterfvReqSize( const GLbyte * pc, Bool swap ) } int -__glXTexImage3DReqSize( const GLbyte * pc, Bool swap ) +__glXTexImage3DReqSize(const GLbyte *pc, Bool swap) { - GLint row_length = * (GLint *)(pc + 4); - GLint image_height = * (GLint *)(pc + 8); - GLint skip_rows = * (GLint *)(pc + 16); - GLint skip_images = * (GLint *)(pc + 20); - GLint alignment = * (GLint *)(pc + 32); - GLenum target = * (GLenum *)(pc + 36); - GLsizei width = *(GLsizei *)(pc + 48); - GLsizei height = *(GLsizei *)(pc + 52); - GLsizei depth = *(GLsizei *)(pc + 56); - GLenum format = * (GLenum *)(pc + 68); - GLenum type = * (GLenum *)(pc + 72); + GLint row_length = *(GLint *) (pc + 4); + GLint image_height = *(GLint *) (pc + 8); + GLint skip_rows = *(GLint *) (pc + 16); + GLint skip_images = *(GLint *) (pc + 20); + GLint alignment = *(GLint *) (pc + 32); + GLenum target = *(GLenum *) (pc + 36); + GLsizei width = *(GLsizei *) (pc + 48); + GLsizei height = *(GLsizei *) (pc + 52); + GLsizei depth = *(GLsizei *) (pc + 56); + GLenum format = *(GLenum *) (pc + 68); + GLenum type = *(GLenum *) (pc + 72); if (swap) { - SWAP_32( row_length ); - SWAP_32( image_height ); - SWAP_32( skip_rows ); - SWAP_32( skip_images ); - SWAP_32( alignment ); - SWAP_32( target ); - SWAP_32( width ); - SWAP_32( height ); - SWAP_32( depth ); - SWAP_32( format ); - SWAP_32( type ); + row_length = bswap_32(row_length); + image_height = bswap_32(image_height); + skip_rows = bswap_32(skip_rows); + skip_images = bswap_32(skip_images); + alignment = bswap_32(alignment); + target = bswap_32(target); + width = bswap_32(width); + height = bswap_32(height); + depth = bswap_32(depth); + format = bswap_32(format); + type = bswap_32(type); } return __glXImageSize(format, type, target, width, height, depth, @@ -584,32 +578,32 @@ __glXTexImage3DReqSize( const GLbyte * pc, Bool swap ) } int -__glXTexSubImage3DReqSize( const GLbyte * pc, Bool swap ) +__glXTexSubImage3DReqSize(const GLbyte *pc, Bool swap) { - GLint row_length = * (GLint *)(pc + 4); - GLint image_height = * (GLint *)(pc + 8); - GLint skip_rows = * (GLint *)(pc + 16); - GLint skip_images = * (GLint *)(pc + 20); - GLint alignment = * (GLint *)(pc + 32); - GLenum target = * (GLenum *)(pc + 36); - GLsizei width = *(GLsizei *)(pc + 60); - GLsizei height = *(GLsizei *)(pc + 64); - GLsizei depth = *(GLsizei *)(pc + 68); - GLenum format = * (GLenum *)(pc + 76); - GLenum type = * (GLenum *)(pc + 80); + GLint row_length = *(GLint *) (pc + 4); + GLint image_height = *(GLint *) (pc + 8); + GLint skip_rows = *(GLint *) (pc + 16); + GLint skip_images = *(GLint *) (pc + 20); + GLint alignment = *(GLint *) (pc + 32); + GLenum target = *(GLenum *) (pc + 36); + GLsizei width = *(GLsizei *) (pc + 60); + GLsizei height = *(GLsizei *) (pc + 64); + GLsizei depth = *(GLsizei *) (pc + 68); + GLenum format = *(GLenum *) (pc + 76); + GLenum type = *(GLenum *) (pc + 80); if (swap) { - SWAP_32( row_length ); - SWAP_32( image_height ); - SWAP_32( skip_rows ); - SWAP_32( skip_images ); - SWAP_32( alignment ); - SWAP_32( target ); - SWAP_32( width ); - SWAP_32( height ); - SWAP_32( depth ); - SWAP_32( format ); - SWAP_32( type ); + row_length = bswap_32(row_length); + image_height = bswap_32(image_height); + skip_rows = bswap_32(skip_rows); + skip_images = bswap_32(skip_images); + alignment = bswap_32(alignment); + target = bswap_32(target); + width = bswap_32(width); + height = bswap_32(height); + depth = bswap_32(depth); + format = bswap_32(format); + type = bswap_32(type); } return __glXImageSize(format, type, target, width, height, depth, @@ -618,25 +612,85 @@ __glXTexSubImage3DReqSize( const GLbyte * pc, Bool swap ) } int -__glXDrawBuffersARBReqSize( const GLbyte * pc, Bool swap ) +__glXCompressedTexImage1DARBReqSize(const GLbyte *pc, Bool swap) { - GLsizei n = *(GLsizei *)(pc + 0); + GLsizei imageSize = *(GLsizei *) (pc + 20); if (swap) { - SWAP_32( n ); + imageSize = bswap_32(imageSize); + } + + return __GLX_PAD(imageSize); +} + +int +__glXCompressedTexImage2DARBReqSize(const GLbyte *pc, Bool swap) +{ + GLsizei imageSize = *(GLsizei *) (pc + 24); + + if (swap) { + imageSize = bswap_32(imageSize); + } + + return __GLX_PAD(imageSize); +} + +int +__glXCompressedTexImage3DARBReqSize(const GLbyte *pc, Bool swap) +{ + GLsizei imageSize = *(GLsizei *) (pc + 28); + + if (swap) { + imageSize = bswap_32(imageSize); + } + + return __GLX_PAD(imageSize); +} + +int +__glXCompressedTexSubImage3DARBReqSize(const GLbyte *pc, Bool swap) +{ + GLsizei imageSize = *(GLsizei *) (pc + 36); + + if (swap) { + imageSize = bswap_32(imageSize); + } + + return __GLX_PAD(imageSize); +} + +int +__glXProgramStringARBReqSize(const GLbyte *pc, Bool swap) +{ + GLsizei len = *(GLsizei *) (pc + 8); + + if (swap) { + len = bswap_32(len); + } + + return __GLX_PAD(len); +} + +int +__glXDrawBuffersARBReqSize(const GLbyte *pc, Bool swap) +{ + GLsizei n = *(GLsizei *) (pc + 0); + + if (swap) { + n = bswap_32(n); } return __GLX_PAD((n * 4)); } int -__glXPointParameterfvEXTReqSize( const GLbyte * pc, Bool swap ) +__glXPointParameterfvEXTReqSize(const GLbyte *pc, Bool swap) { - GLenum pname = * (GLenum *)(pc + 0); + GLenum pname = *(GLenum *) (pc + 0); GLsizei compsize; if (swap) { - SWAP_32( pname ); + pname = bswap_32(pname); } compsize = __glPointParameterfvEXT_size(pname); @@ -644,195 +698,135 @@ __glXPointParameterfvEXTReqSize( const GLbyte * pc, Bool swap ) } int -__glXCompressedTexImage3DARBReqSize( const GLbyte * pc, Bool swap ) +__glXProgramParameters4dvNVReqSize(const GLbyte *pc, Bool swap) { - GLsizei imageSize = *(GLsizei *)(pc + 28); + GLuint num = *(GLuint *) (pc + 8); if (swap) { - SWAP_32( imageSize ); - } - - return __GLX_PAD(imageSize); -} - -int -__glXCompressedTexImage2DARBReqSize( const GLbyte * pc, Bool swap ) -{ - GLsizei imageSize = *(GLsizei *)(pc + 24); - - if (swap) { - SWAP_32( imageSize ); - } - - return __GLX_PAD(imageSize); -} - -int -__glXCompressedTexImage1DARBReqSize( const GLbyte * pc, Bool swap ) -{ - GLsizei imageSize = *(GLsizei *)(pc + 20); - - if (swap) { - SWAP_32( imageSize ); - } - - return __GLX_PAD(imageSize); -} - -int -__glXCompressedTexSubImage3DARBReqSize( const GLbyte * pc, Bool swap ) -{ - GLsizei imageSize = *(GLsizei *)(pc + 36); - - if (swap) { - SWAP_32( imageSize ); - } - - return __GLX_PAD(imageSize); -} - -int -__glXLoadProgramNVReqSize( const GLbyte * pc, Bool swap ) -{ - GLsizei len = *(GLsizei *)(pc + 8); - - if (swap) { - SWAP_32( len ); - } - - return __GLX_PAD(len); -} - -int -__glXProgramParameters4dvNVReqSize( const GLbyte * pc, Bool swap ) -{ - GLuint num = * (GLuint *)(pc + 8); - - if (swap) { - SWAP_32( num ); + num = bswap_32(num); } return __GLX_PAD((num * 32)); } int -__glXProgramParameters4fvNVReqSize( const GLbyte * pc, Bool swap ) +__glXProgramParameters4fvNVReqSize(const GLbyte *pc, Bool swap) { - GLuint num = * (GLuint *)(pc + 8); + GLuint num = *(GLuint *) (pc + 8); if (swap) { - SWAP_32( num ); + num = bswap_32(num); } return __GLX_PAD((num * 16)); } int -__glXVertexAttribs1dvNVReqSize( const GLbyte * pc, Bool swap ) +__glXVertexAttribs1dvNVReqSize(const GLbyte *pc, Bool swap) { - GLsizei n = *(GLsizei *)(pc + 4); + GLsizei n = *(GLsizei *) (pc + 4); if (swap) { - SWAP_32( n ); + n = bswap_32(n); } return __GLX_PAD((n * 8)); } int -__glXVertexAttribs2dvNVReqSize( const GLbyte * pc, Bool swap ) +__glXVertexAttribs2dvNVReqSize(const GLbyte *pc, Bool swap) { - GLsizei n = *(GLsizei *)(pc + 4); + GLsizei n = *(GLsizei *) (pc + 4); if (swap) { - SWAP_32( n ); + n = bswap_32(n); } return __GLX_PAD((n * 16)); } int -__glXVertexAttribs3dvNVReqSize( const GLbyte * pc, Bool swap ) +__glXVertexAttribs3dvNVReqSize(const GLbyte *pc, Bool swap) { - GLsizei n = *(GLsizei *)(pc + 4); + GLsizei n = *(GLsizei *) (pc + 4); if (swap) { - SWAP_32( n ); + n = bswap_32(n); } return __GLX_PAD((n * 24)); } int -__glXVertexAttribs3fvNVReqSize( const GLbyte * pc, Bool swap ) +__glXVertexAttribs3fvNVReqSize(const GLbyte *pc, Bool swap) { - GLsizei n = *(GLsizei *)(pc + 4); + GLsizei n = *(GLsizei *) (pc + 4); if (swap) { - SWAP_32( n ); + n = bswap_32(n); } return __GLX_PAD((n * 12)); } int -__glXVertexAttribs3svNVReqSize( const GLbyte * pc, Bool swap ) +__glXVertexAttribs3svNVReqSize(const GLbyte *pc, Bool swap) { - GLsizei n = *(GLsizei *)(pc + 4); + GLsizei n = *(GLsizei *) (pc + 4); if (swap) { - SWAP_32( n ); + n = bswap_32(n); } return __GLX_PAD((n * 6)); } int -__glXVertexAttribs4dvNVReqSize( const GLbyte * pc, Bool swap ) +__glXVertexAttribs4dvNVReqSize(const GLbyte *pc, Bool swap) { - GLsizei n = *(GLsizei *)(pc + 4); + GLsizei n = *(GLsizei *) (pc + 4); if (swap) { - SWAP_32( n ); + n = bswap_32(n); } return __GLX_PAD((n * 32)); } int -__glXProgramNamedParameter4fvNVReqSize( const GLbyte * pc, Bool swap ) +__glXProgramNamedParameter4fvNVReqSize(const GLbyte *pc, Bool swap) { - GLsizei len = *(GLsizei *)(pc + 4); + GLsizei len = *(GLsizei *) (pc + 4); if (swap) { - SWAP_32( len ); + len = bswap_32(len); } return __GLX_PAD(len); } -ALIAS( Fogiv, Fogfv ) -ALIAS( Lightiv, Lightfv ) -ALIAS( LightModeliv, LightModelfv ) -ALIAS( Materialiv, Materialfv ) -ALIAS( TexParameteriv, TexParameterfv ) -ALIAS( TexEnviv, TexEnvfv ) -ALIAS( TexGeniv, TexGenfv ) -ALIAS( PixelMapuiv, PixelMapfv ) -ALIAS( ColorTableParameteriv, ColorTableParameterfv ) -ALIAS( ConvolutionParameteriv, ConvolutionParameterfv ) -ALIAS( CompressedTexSubImage2DARB, CompressedTexImage3DARB ) -ALIAS( CompressedTexSubImage1DARB, CompressedTexImage1DARB ) -ALIAS( RequestResidentProgramsNV, DrawBuffersARB ) -ALIAS( VertexAttribs1fvNV, PixelMapfv ) -ALIAS( VertexAttribs1svNV, PixelMapusv ) -ALIAS( VertexAttribs2fvNV, VertexAttribs1dvNV ) -ALIAS( VertexAttribs2svNV, PixelMapfv ) -ALIAS( VertexAttribs4fvNV, VertexAttribs2dvNV ) -ALIAS( VertexAttribs4svNV, VertexAttribs1dvNV ) -ALIAS( VertexAttribs4ubvNV, PixelMapfv ) -ALIAS( PointParameterivNV, PointParameterfvEXT ) -ALIAS( ProgramStringARB, LoadProgramNV ) -ALIAS( ProgramNamedParameter4dvNV, CompressedTexSubImage3DARB ) -ALIAS( DeleteRenderbuffersEXT, DrawBuffersARB ) -ALIAS( DeleteFramebuffersEXT, DrawBuffersARB ) +ALIAS(Fogiv, Fogfv) + ALIAS(Lightiv, Lightfv) + ALIAS(LightModeliv, LightModelfv) + ALIAS(Materialiv, Materialfv) + ALIAS(TexParameteriv, TexParameterfv) + ALIAS(TexEnviv, TexEnvfv) + ALIAS(TexGeniv, TexGenfv) + ALIAS(PixelMapuiv, PixelMapfv) + ALIAS(ColorTableParameteriv, ColorTableParameterfv) + ALIAS(ConvolutionParameteriv, ConvolutionParameterfv) + ALIAS(CompressedTexSubImage1DARB, CompressedTexImage1DARB) + ALIAS(CompressedTexSubImage2DARB, CompressedTexImage3DARB) + ALIAS(LoadProgramNV, ProgramStringARB) + ALIAS(RequestResidentProgramsNV, DrawBuffersARB) + ALIAS(VertexAttribs1fvNV, PixelMapfv) + ALIAS(VertexAttribs1svNV, PixelMapusv) + ALIAS(VertexAttribs2fvNV, VertexAttribs1dvNV) + ALIAS(VertexAttribs2svNV, PixelMapfv) + ALIAS(VertexAttribs4fvNV, VertexAttribs2dvNV) + ALIAS(VertexAttribs4svNV, VertexAttribs1dvNV) + ALIAS(VertexAttribs4ubvNV, PixelMapfv) + ALIAS(PointParameterivNV, PointParameterfvEXT) + ALIAS(ProgramNamedParameter4dvNV, CompressedTexSubImage3DARB) + ALIAS(DeleteFramebuffersEXT, DrawBuffersARB) + ALIAS(DeleteRenderbuffersEXT, DrawBuffersARB) diff --git a/xserver/GL/glx/indirect_reqsize.h b/xserver/GL/glx/indirect_reqsize.h index 23bc41c78..26211ee5c 100644 --- a/xserver/GL/glx/indirect_reqsize.h +++ b/xserver/GL/glx/indirect_reqsize.h @@ -83,14 +83,15 @@ extern PURE HIDDEN int __glXConvolutionParameterivReqSize(const GLbyte *pc, Bool extern PURE HIDDEN int __glXSeparableFilter2DReqSize(const GLbyte *pc, Bool swap); extern PURE HIDDEN int __glXTexImage3DReqSize(const GLbyte *pc, Bool swap); extern PURE HIDDEN int __glXTexSubImage3DReqSize(const GLbyte *pc, Bool swap); +extern PURE HIDDEN int __glXCompressedTexImage1DARBReqSize(const GLbyte *pc, Bool swap); +extern PURE HIDDEN int __glXCompressedTexImage2DARBReqSize(const GLbyte *pc, Bool swap); +extern PURE HIDDEN int __glXCompressedTexImage3DARBReqSize(const GLbyte *pc, Bool swap); +extern PURE HIDDEN int __glXCompressedTexSubImage1DARBReqSize(const GLbyte *pc, Bool swap); +extern PURE HIDDEN int __glXCompressedTexSubImage2DARBReqSize(const GLbyte *pc, Bool swap); +extern PURE HIDDEN int __glXCompressedTexSubImage3DARBReqSize(const GLbyte *pc, Bool swap); +extern PURE HIDDEN int __glXProgramStringARBReqSize(const GLbyte *pc, Bool swap); extern PURE HIDDEN int __glXDrawBuffersARBReqSize(const GLbyte *pc, Bool swap); extern PURE HIDDEN int __glXPointParameterfvEXTReqSize(const GLbyte *pc, Bool swap); -extern PURE HIDDEN int __glXCompressedTexImage3DARBReqSize(const GLbyte *pc, Bool swap); -extern PURE HIDDEN int __glXCompressedTexImage2DARBReqSize(const GLbyte *pc, Bool swap); -extern PURE HIDDEN int __glXCompressedTexImage1DARBReqSize(const GLbyte *pc, Bool swap); -extern PURE HIDDEN int __glXCompressedTexSubImage3DARBReqSize(const GLbyte *pc, Bool swap); -extern PURE HIDDEN int __glXCompressedTexSubImage2DARBReqSize(const GLbyte *pc, Bool swap); -extern PURE HIDDEN int __glXCompressedTexSubImage1DARBReqSize(const GLbyte *pc, Bool swap); extern PURE HIDDEN int __glXLoadProgramNVReqSize(const GLbyte *pc, Bool swap); extern PURE HIDDEN int __glXProgramParameters4dvNVReqSize(const GLbyte *pc, Bool swap); extern PURE HIDDEN int __glXProgramParameters4fvNVReqSize(const GLbyte *pc, Bool swap); @@ -109,11 +110,10 @@ extern PURE HIDDEN int __glXVertexAttribs4fvNVReqSize(const GLbyte *pc, Bool swa extern PURE HIDDEN int __glXVertexAttribs4svNVReqSize(const GLbyte *pc, Bool swap); extern PURE HIDDEN int __glXVertexAttribs4ubvNVReqSize(const GLbyte *pc, Bool swap); extern PURE HIDDEN int __glXPointParameterivNVReqSize(const GLbyte *pc, Bool swap); -extern PURE HIDDEN int __glXProgramStringARBReqSize(const GLbyte *pc, Bool swap); -extern PURE HIDDEN int __glXProgramNamedParameter4fvNVReqSize(const GLbyte *pc, Bool swap); extern PURE HIDDEN int __glXProgramNamedParameter4dvNVReqSize(const GLbyte *pc, Bool swap); -extern PURE HIDDEN int __glXDeleteRenderbuffersEXTReqSize(const GLbyte *pc, Bool swap); +extern PURE HIDDEN int __glXProgramNamedParameter4fvNVReqSize(const GLbyte *pc, Bool swap); extern PURE HIDDEN int __glXDeleteFramebuffersEXTReqSize(const GLbyte *pc, Bool swap); +extern PURE HIDDEN int __glXDeleteRenderbuffersEXTReqSize(const GLbyte *pc, Bool swap); # undef HIDDEN # undef PURE diff --git a/xserver/GL/glx/indirect_size_get.c b/xserver/GL/glx/indirect_size_get.c index 150c6a182..f29ae474e 100644 --- a/xserver/GL/glx/indirect_size_get.c +++ b/xserver/GL/glx/indirect_size_get.c @@ -370,6 +370,7 @@ __glGetBooleanv_size(GLenum e) case GL_PROJECTION_STACK_DEPTH: case GL_TEXTURE_STACK_DEPTH: case GL_ATTRIB_STACK_DEPTH: + case GL_CLIENT_ATTRIB_STACK_DEPTH: case GL_ALPHA_TEST: case GL_ALPHA_TEST_FUNC: case GL_ALPHA_TEST_REF: @@ -448,6 +449,7 @@ __glGetBooleanv_size(GLenum e) case GL_MAX_NAME_STACK_DEPTH: case GL_MAX_PROJECTION_STACK_DEPTH: case GL_MAX_TEXTURE_STACK_DEPTH: + case GL_MAX_CLIENT_ATTRIB_STACK_DEPTH: case GL_SUBPIXEL_BITS: case GL_INDEX_BITS: case GL_RED_BITS: @@ -639,7 +641,7 @@ __glGetBooleanv_size(GLenum e) case GL_PROGRAM_ERROR_POSITION_ARB: case GL_DEPTH_CLAMP_NV: case GL_NUM_COMPRESSED_TEXTURE_FORMATS: -/* case GL_NUM_TEXTURE_COMPRESSED_FORMATS_ARB:*/ +/* case GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB:*/ case GL_MAX_VERTEX_UNITS_ARB: case GL_ACTIVE_VERTEX_UNITS_ARB: case GL_WEIGHT_SUM_UNITY_ARB: @@ -699,6 +701,8 @@ __glGetBooleanv_size(GLenum e) /* case GL_POINT_SPRITE_NV:*/ case GL_POINT_SPRITE_R_MODE_NV: case GL_MAX_VERTEX_ATTRIBS_ARB: + case GL_MAX_TEXTURE_COORDS_ARB: + case GL_MAX_TEXTURE_IMAGE_UNITS_ARB: case GL_DEPTH_BOUNDS_TEST_EXT: case GL_STENCIL_TEST_TWO_SIDE_EXT: case GL_ACTIVE_STENCIL_FACE_EXT: @@ -1005,8 +1009,6 @@ __glGetProgramivARB_size(GLenum e) case GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB: case GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB: case GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB: - case GL_MAX_TEXTURE_COORDS_ARB: - case GL_MAX_TEXTURE_IMAGE_UNITS_ARB: case GL_PROGRAM_FORMAT_ARB: case GL_PROGRAM_INSTRUCTIONS_ARB: case GL_MAX_PROGRAM_INSTRUCTIONS_ARB: diff --git a/xserver/GL/glx/indirect_texture_compression.c b/xserver/GL/glx/indirect_texture_compression.c index 0c42ea034..3c09663fc 100644 --- a/xserver/GL/glx/indirect_texture_compression.c +++ b/xserver/GL/glx/indirect_texture_compression.c @@ -29,6 +29,7 @@ #endif #include "glxserver.h" +#include "glxbyteorder.h" #include "glxext.h" #include "singlesize.h" #include "unpack.h" @@ -39,20 +40,6 @@ #include "glthread.h" #include "dispatch.h" -#ifdef __linux__ -#include -#elif defined(__OpenBSD__) -#include -#define bswap_16 __swap16 -#define bswap_32 __swap32 -#define bswap_64 __swap64 -#else -#include -#define bswap_16 bswap16 -#define bswap_32 bswap32 -#define bswap_64 bswap64 -#endif - int __glXDisp_GetCompressedTexImageARB(struct __GLXclientStateRec *cl, GLbyte *pc) { xGLXSingleReq * const req = (xGLXSingleReq *) pc; diff --git a/xserver/GL/glx/indirect_util.c b/xserver/GL/glx/indirect_util.c index 09b7ab87c..58c194c99 100644 --- a/xserver/GL/glx/indirect_util.c +++ b/xserver/GL/glx/indirect_util.c @@ -23,29 +23,21 @@ * SOFTWARE. */ +#ifdef HAVE_DIX_CONFIG_H +#include +#endif + #include #include #include #include -#if defined(__linux__) || defined (__GLIBC__) || defined(__GNU__) -#include -#elif defined(__OpenBSD__) -#include -#define bswap_16 __swap16 -#define bswap_32 __swap32 -#define bswap_64 __swap64 -#else -#include -#define bswap_16 bswap16 -#define bswap_32 bswap32 -#define bswap_64 bswap64 -#endif #include #include "indirect_size.h" #include "indirect_size_get.h" #include "indirect_dispatch.h" #include "glxserver.h" +#include "glxbyteorder.h" #include "singlesize.h" #include "glapitable.h" #include "glapi.h" diff --git a/xserver/GL/glx/renderpix.c b/xserver/GL/glx/renderpix.c index cd2a78d4e..2fe630193 100644 --- a/xserver/GL/glx/renderpix.c +++ b/xserver/GL/glx/renderpix.c @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* ** License Applicability. Except to the extent portions of this file are ** made subject to an alternative license as permitted in the SGI Free diff --git a/xserver/GL/glx/renderpixswap.c b/xserver/GL/glx/renderpixswap.c index 0a9f60f6f..8455807e6 100644 --- a/xserver/GL/glx/renderpixswap.c +++ b/xserver/GL/glx/renderpixswap.c @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* ** License Applicability. Except to the extent portions of this file are ** made subject to an alternative license as permitted in the SGI Free diff --git a/xserver/GL/glx/singlepix.c b/xserver/GL/glx/singlepix.c index 98898aa3a..d6b96defc 100644 --- a/xserver/GL/glx/singlepix.c +++ b/xserver/GL/glx/singlepix.c @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* ** License Applicability. Except to the extent portions of this file are ** made subject to an alternative license as permitted in the SGI Free diff --git a/xserver/GL/glx/singlesize.h b/xserver/GL/glx/singlesize.h index 5d25b24ce..1cce1bcbc 100644 --- a/xserver/GL/glx/singlesize.h +++ b/xserver/GL/glx/singlesize.h @@ -1,4 +1,3 @@ -/* $XFree86$ */ #ifdef HAVE_DIX_CONFIG_H #include #endif diff --git a/xserver/GL/glx/swap_interval.c b/xserver/GL/glx/swap_interval.c index bcc1c4793..24abd69fa 100644 --- a/xserver/GL/glx/swap_interval.c +++ b/xserver/GL/glx/swap_interval.c @@ -39,20 +39,7 @@ #include "glthread.h" #include "dispatch.h" #include "glapioffsets.h" - -#ifdef __linux__ -#include -#elif defined(__OpenBSD__) -#include -#define bswap_16 __swap16 -#define bswap_32 __swap32 -#define bswap_64 __swap64 -#else -#include -#define bswap_16 bswap16 -#define bswap_32 bswap32 -#define bswap_64 bswap64 -#endif +#include "glxbyteorder.h" static int DoSwapInterval(__GLXclientState *cl, GLbyte *pc, int do_swap); diff --git a/xserver/GL/glx/xfont.c b/xserver/GL/glx/xfont.c index b24c77d44..9629cf147 100644 --- a/xserver/GL/glx/xfont.c +++ b/xserver/GL/glx/xfont.c @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* ** License Applicability. Except to the extent portions of this file are ** made subject to an alternative license as permitted in the SGI Free diff --git a/xserver/GL/mesa/Makefile.am b/xserver/GL/mesa/Makefile.am index 18eebfc92..99d3834ac 100644 --- a/xserver/GL/mesa/Makefile.am +++ b/xserver/GL/mesa/Makefile.am @@ -1,15 +1,15 @@ -SUBDIRS = main math array_cache swrast swrast_setup tnl shader X glapi +SUBDIRS = main math swrast swrast_setup tnl shader X glapi vbo noinst_LTLIBRARIES = libGLcore.la libGLcore_la_SOURCES = dummy.c libGLcore_la_LIBADD = main/libmain.la \ math/libmath.la \ - array_cache/libac.la \ swrast/libswrast.la \ swrast_setup/libss.la \ tnl/libtnl.la \ shader/libshader.la \ shader/grammar/libgrammar.la \ shader/slang/libslang.la \ + vbo/libvbo.la \ X/libX.la diff --git a/xserver/GL/mesa/X/Makefile.am b/xserver/GL/mesa/X/Makefile.am index 2a9f4225a..ace118170 100644 --- a/xserver/GL/mesa/X/Makefile.am +++ b/xserver/GL/mesa/X/Makefile.am @@ -2,7 +2,6 @@ noinst_LTLIBRARIES = libX.la INCLUDES = -I@MESA_SOURCE@/include \ -I../X \ - -I../array_cache \ -I../glapi \ -I../main \ -I../math \ @@ -21,18 +20,13 @@ INCLUDES = -I@MESA_SOURCE@/include \ AM_CFLAGS = \ $(DIX_CFLAGS) \ -DXFree86Server \ - @GLX_DEFINES@ \ - -DXFree86Server - -libX_la_SOURCES = xf86glx.c \ - xf86glx_util.c \ - xf86glx_util.h \ - xf86glxint.h + @GLX_DEFINES@ nodist_libX_la_SOURCES = \ xm_api.c \ xm_buffer.c \ xm_dd.c \ + xm_image.c \ xm_line.c \ xm_span.c \ xm_tri.c \ diff --git a/xserver/GL/mesa/glapi/Makefile.am b/xserver/GL/mesa/glapi/Makefile.am index de457b988..db791143e 100644 --- a/xserver/GL/mesa/glapi/Makefile.am +++ b/xserver/GL/mesa/glapi/Makefile.am @@ -7,7 +7,6 @@ AM_CFLAGS = \ INCLUDES = -I@MESA_SOURCE@/include \ -I../X \ - -I../array_cache \ -I../glapi \ -I../main \ -I../math \ diff --git a/xserver/GL/mesa/main/Makefile.am b/xserver/GL/mesa/main/Makefile.am index 64b383dc9..f8ce13775 100644 --- a/xserver/GL/mesa/main/Makefile.am +++ b/xserver/GL/mesa/main/Makefile.am @@ -7,7 +7,6 @@ AM_CFLAGS = \ INCLUDES = -I@MESA_SOURCE@/include \ -I../X \ - -I../array_cache \ -I../glapi \ -I../main \ -I../math \ @@ -62,13 +61,14 @@ nodist_libmain_la_SOURCES = accum.c \ matrix.c \ mipmap.c \ mm.c \ - occlude.c \ pixel.c \ points.c \ polygon.c \ + queryobj.c \ rastpos.c \ rbadaptors.c \ renderbuffer.c \ + shaders.c \ state.c \ stencil.c \ texcompress.c \ diff --git a/xserver/GL/mesa/math/Makefile.am b/xserver/GL/mesa/math/Makefile.am index 5e99d90c4..c7c564272 100644 --- a/xserver/GL/mesa/math/Makefile.am +++ b/xserver/GL/mesa/math/Makefile.am @@ -7,7 +7,6 @@ AM_CFLAGS = \ INCLUDES = -I@MESA_SOURCE@/include \ -I../X \ - -I../array_cache \ -I../glapi \ -I../main \ -I../math \ diff --git a/xserver/GL/mesa/shader/Makefile.am b/xserver/GL/mesa/shader/Makefile.am index 4bd57363f..abde27513 100644 --- a/xserver/GL/mesa/shader/Makefile.am +++ b/xserver/GL/mesa/shader/Makefile.am @@ -9,7 +9,6 @@ AM_CFLAGS = \ INCLUDES = -I@MESA_SOURCE@/include \ -I../X \ - -I../array_cache \ -I../glapi \ -I../main \ -I../math \ @@ -28,8 +27,13 @@ nodist_libshader_la_SOURCES = \ atifragshader.c \ nvfragparse.c \ nvprogram.c \ - nvvertexec.c \ - nvvertparse.c \ + nvvertparse.c \ + prog_debug.c \ + prog_execute.c \ + prog_instruction.c \ + prog_parameter.c \ + prog_print.c \ program.c \ - shaderobjects.c \ - shaderobjects_3dlabs.c + programopt.c \ + prog_statevars.c \ + shader_api.c diff --git a/xserver/GL/mesa/shader/grammar/Makefile.am b/xserver/GL/mesa/shader/grammar/Makefile.am index 0974d5b95..332c8e952 100644 --- a/xserver/GL/mesa/shader/grammar/Makefile.am +++ b/xserver/GL/mesa/shader/grammar/Makefile.am @@ -7,7 +7,6 @@ AM_CFLAGS = \ INCLUDES = -I@MESA_SOURCE@/include \ -I../../X \ - -I../../array_cache \ -I../../glapi \ -I../../main \ -I../../math \ diff --git a/xserver/GL/mesa/shader/slang/Makefile.am b/xserver/GL/mesa/shader/slang/Makefile.am index 8f2636ea4..71498eeac 100644 --- a/xserver/GL/mesa/shader/slang/Makefile.am +++ b/xserver/GL/mesa/shader/slang/Makefile.am @@ -8,7 +8,6 @@ AM_CFLAGS = \ INCLUDES = -I@MESA_SOURCE@/include \ -I../grammar \ -I../../X \ - -I../../array_cache \ -I../../glapi \ -I../../main \ -I../../math \ @@ -19,23 +18,24 @@ INCLUDES = -I@MESA_SOURCE@/include \ -I../.. \ -I$(top_srcdir)/hw/xfree86/os-support -nodist_libslang_la_SOURCES = slang_analyse.c \ - slang_assemble_assignment.c \ - slang_assemble.c \ - slang_assemble_conditional.c \ - slang_assemble_constructor.c \ - slang_assemble_typeinfo.c \ +nodist_libslang_la_SOURCES = slang_builtin.c \ + slang_codegen.c \ slang_compile.c \ slang_compile_function.c \ slang_compile_operation.c \ slang_compile_struct.c \ slang_compile_variable.c \ - slang_execute.c \ - slang_execute_x86.c \ - slang_export.c \ - slang_library_texsample.c \ + slang_emit.c \ + slang_ir.c \ + slang_label.c \ slang_library_noise.c \ slang_link.c \ + slang_log.c \ + slang_mem.c \ slang_preprocess.c \ + slang_print.c \ + slang_simplify.c \ slang_storage.c \ - slang_utility.c + slang_typeinfo.c \ + slang_utility.c \ + slang_vartable.c diff --git a/xserver/GL/mesa/swrast/Makefile.am b/xserver/GL/mesa/swrast/Makefile.am index d972af6eb..bffb1e7c1 100644 --- a/xserver/GL/mesa/swrast/Makefile.am +++ b/xserver/GL/mesa/swrast/Makefile.am @@ -7,7 +7,6 @@ AM_CFLAGS = \ INCLUDES = -I@MESA_SOURCE@/include \ -I../X \ - -I../array_cache \ -I../glapi \ -I../main \ -I../math \ @@ -24,7 +23,6 @@ nodist_libswrast_la_SOURCES = s_aaline.c \ s_aatriangle.c \ s_accum.c \ s_alpha.c \ - s_arbshader.c \ s_atifragshader.c \ s_bitmap.c \ s_blend.c \ @@ -36,11 +34,11 @@ nodist_libswrast_la_SOURCES = s_aaline.c \ s_drawpix.c \ s_feedback.c \ s_fog.c \ + s_fragprog.c \ s_imaging.c \ s_lines.c \ s_logic.c \ s_masking.c \ - s_nvfragprog.c \ s_points.c \ s_readpix.c \ s_span.c \ diff --git a/xserver/GL/mesa/swrast_setup/Makefile.am b/xserver/GL/mesa/swrast_setup/Makefile.am index 8d7040880..1f3c031aa 100644 --- a/xserver/GL/mesa/swrast_setup/Makefile.am +++ b/xserver/GL/mesa/swrast_setup/Makefile.am @@ -7,7 +7,6 @@ AM_CFLAGS = \ INCLUDES = -I@MESA_SOURCE@/include \ -I../X \ - -I../array_cache \ -I../glapi \ -I../main \ -I../math \ diff --git a/xserver/GL/mesa/tnl/Makefile.am b/xserver/GL/mesa/tnl/Makefile.am index 717e6fd53..b3c82066f 100644 --- a/xserver/GL/mesa/tnl/Makefile.am +++ b/xserver/GL/mesa/tnl/Makefile.am @@ -7,7 +7,6 @@ AM_CFLAGS = \ INCLUDES = -I@MESA_SOURCE@/include \ -I../X \ - -I../array_cache \ -I../glapi \ -I../main \ -I../math \ @@ -19,16 +18,9 @@ INCLUDES = -I@MESA_SOURCE@/include \ -I.. \ -I$(top_srcdir)/hw/xfree86/os-support -nodist_libtnl_la_SOURCES = t_array_api.c \ - t_array_import.c \ - t_context.c \ +nodist_libtnl_la_SOURCES = t_context.c \ + t_draw.c \ t_pipeline.c \ - t_save_api.c \ - t_save_loopback.c \ - t_save_playback.c \ - t_vb_arbprogram.c \ - t_vb_arbprogram_sse.c \ - t_vb_arbshader.c \ t_vb_cull.c \ t_vb_fog.c \ t_vb_light.c \ @@ -42,9 +34,4 @@ nodist_libtnl_la_SOURCES = t_array_api.c \ t_vertex.c \ t_vertex_generic.c \ t_vertex_sse.c \ - t_vp_build.c \ - t_vtx_api.c \ - t_vtx_eval.c \ - t_vtx_exec.c \ - t_vtx_generic.c \ - t_vtx_x86.c + t_vp_build.c diff --git a/xserver/GL/mesa/vbo/Makefile.am b/xserver/GL/mesa/vbo/Makefile.am new file mode 100644 index 000000000..9943f2a5a --- /dev/null +++ b/xserver/GL/mesa/vbo/Makefile.am @@ -0,0 +1,35 @@ +noinst_LTLIBRARIES = libvbo.la + +AM_CFLAGS = \ + $(DIX_CFLAGS) \ + -DXFree86Server \ + @GLX_DEFINES@ + +INCLUDES = -I@MESA_SOURCE@/include \ + -I../X \ + -I../glapi \ + -I../main \ + -I../math \ + -I../shader \ + -I../shader/slang \ + -I../shader/slang \ + -I../swrast \ + -I../swrast_setup \ + -I../tnl \ + -I.. \ + -I$(top_srcdir)/hw/xfree86/os-support + +nodist_libvbo_la_SOURCES = vbo_context.c \ + vbo_exec_api.c \ + vbo_exec_array.c \ + vbo_exec.c \ + vbo_exec_draw.c \ + vbo_exec_eval.c \ + vbo_rebase.c \ + vbo_save_api.c \ + vbo_save.c \ + vbo_save_draw.c \ + vbo_save_loopback.c \ + vbo_split.c \ + vbo_split_copy.c \ + vbo_split_inplace.c diff --git a/xserver/GL/mesa/vbo/Makefile.in b/xserver/GL/mesa/vbo/Makefile.in new file mode 100644 index 000000000..1606d0682 --- /dev/null +++ b/xserver/GL/mesa/vbo/Makefile.in @@ -0,0 +1,668 @@ +# Makefile.in generated by automake 1.10 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = GL/mesa/vbo +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/include/do-not-use-config.h \ + $(top_builddir)/include/xorg-server.h \ + $(top_builddir)/include/dix-config.h \ + $(top_builddir)/include/xgl-config.h \ + $(top_builddir)/include/xorg-config.h \ + $(top_builddir)/include/xkb-config.h \ + $(top_builddir)/include/xwin-config.h \ + $(top_builddir)/include/kdrive-config.h +CONFIG_CLEAN_FILES = +LTLIBRARIES = $(noinst_LTLIBRARIES) +libvbo_la_LIBADD = +nodist_libvbo_la_OBJECTS = vbo_context.lo vbo_exec_api.lo \ + vbo_exec_array.lo vbo_exec.lo vbo_exec_draw.lo \ + vbo_exec_eval.lo vbo_rebase.lo vbo_save_api.lo vbo_save.lo \ + vbo_save_draw.lo vbo_save_loopback.lo vbo_split.lo \ + vbo_split_copy.lo vbo_split_inplace.lo +libvbo_la_OBJECTS = $(nodist_libvbo_la_OBJECTS) +DEFAULT_INCLUDES = -I. -I$(top_builddir)/include@am__isrc@ +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ +SOURCES = $(nodist_libvbo_la_SOURCES) +DIST_SOURCES = +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ +ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ +ALLOCA = @ALLOCA@ +AMTAR = @AMTAR@ +APPDEFAULTDIR = @APPDEFAULTDIR@ +APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +APP_MAN_DIR = @APP_MAN_DIR@ +APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ +AR = @AR@ +AS = @AS@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +BASE_FONT_PATH = @BASE_FONT_PATH@ +BUILD_DATE = @BUILD_DATE@ +BUILD_TIME = @BUILD_TIME@ +CC = @CC@ +CCAS = @CCAS@ +CCASDEPMODE = @CCASDEPMODE@ +CCASFLAGS = @CCASFLAGS@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +COMPILEDDEFAULTFONTPATH = @COMPILEDDEFAULTFONTPATH@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DARWIN_LIBS = @DARWIN_LIBS@ +DBUS_CFLAGS = @DBUS_CFLAGS@ +DBUS_LIBS = @DBUS_LIBS@ +DEFAULT_LIBRARY_PATH = @DEFAULT_LIBRARY_PATH@ +DEFAULT_LOGPREFIX = @DEFAULT_LOGPREFIX@ +DEFAULT_MODULE_PATH = @DEFAULT_MODULE_PATH@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DGA_CFLAGS = @DGA_CFLAGS@ +DGA_LIBS = @DGA_LIBS@ +DIX_CFLAGS = @DIX_CFLAGS@ +DLLTOOL = @DLLTOOL@ +DMXEXAMPLES_DEP_CFLAGS = @DMXEXAMPLES_DEP_CFLAGS@ +DMXEXAMPLES_DEP_LIBS = @DMXEXAMPLES_DEP_LIBS@ +DMXMODULES_CFLAGS = @DMXMODULES_CFLAGS@ +DMXMODULES_LIBS = @DMXMODULES_LIBS@ +DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ +DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ +DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ +DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ +DRIPROTO_LIBS = @DRIPROTO_LIBS@ +DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ +DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ +DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ +DTRACE = @DTRACE@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +FILE_MAN_DIR = @FILE_MAN_DIR@ +FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ +FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ +FREETYPE_LIBS = @FREETYPE_LIBS@ +FREETYPE_REQUIRES = @FREETYPE_REQUIRES@ +GLX_DEFINES = @GLX_DEFINES@ +GL_CFLAGS = @GL_CFLAGS@ +GL_LIBS = @GL_LIBS@ +GREP = @GREP@ +HAL_CFLAGS = @HAL_CFLAGS@ +HAL_LIBS = @HAL_LIBS@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +KDRIVE_CFLAGS = @KDRIVE_CFLAGS@ +KDRIVE_INCS = @KDRIVE_INCS@ +KDRIVE_LIBS = @KDRIVE_LIBS@ +KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ +KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ +KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ +LDFLAGS = @LDFLAGS@ +LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ +LEX = @LEX@ +LEXLIB = @LEXLIB@ +LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ +LIBDRM_CFLAGS = @LIBDRM_CFLAGS@ +LIBDRM_LIBS = @LIBDRM_LIBS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIB_MAN_DIR = @LIB_MAN_DIR@ +LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ +LINUXDOC = @LINUXDOC@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAKEINFO = @MAKEINFO@ +MAKE_HTML = @MAKE_HTML@ +MAKE_PDF = @MAKE_PDF@ +MAKE_PS = @MAKE_PS@ +MAKE_TEXT = @MAKE_TEXT@ +MESA_SOURCE = @MESA_SOURCE@ +MISC_MAN_DIR = @MISC_MAN_DIR@ +MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ +MKDIR_P = @MKDIR_P@ +MKFONTDIR = @MKFONTDIR@ +MKFONTSCALE = @MKFONTSCALE@ +OBJC = @OBJC@ +OBJCCLD = @OBJCCLD@ +OBJCDEPMODE = @OBJCDEPMODE@ +OBJCFLAGS = @OBJCFLAGS@ +OBJCLINK = @OBJCLINK@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PERL = @PERL@ +PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ +PIXMAN_LIBS = @PIXMAN_LIBS@ +PKG_CONFIG = @PKG_CONFIG@ +PLIST_VENDOR_WEB = @PLIST_VENDOR_WEB@ +PLIST_VERSION_STRING = @PLIST_VERSION_STRING@ +PROJECTROOT = @PROJECTROOT@ +PS2PDF = @PS2PDF@ +RANLIB = @RANLIB@ +RAWCPP = @RAWCPP@ +RAWCPPFLAGS = @RAWCPPFLAGS@ +RGB_DB = @RGB_DB@ +SERVERCONFIGdir = @SERVERCONFIGdir@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ +SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ +STRIP = @STRIP@ +SYS_LIBS = @SYS_LIBS@ +TSLIB_CFLAGS = @TSLIB_CFLAGS@ +TSLIB_LIBS = @TSLIB_LIBS@ +VENDOR_MAN_VERSION = @VENDOR_MAN_VERSION@ +VENDOR_NAME = @VENDOR_NAME@ +VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ +VENDOR_RELEASE = @VENDOR_RELEASE@ +VERSION = @VERSION@ +X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ +X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ +XDMCP_CFLAGS = @XDMCP_CFLAGS@ +XDMCP_LIBS = @XDMCP_LIBS@ +XDMXCONFIG_DEP_CFLAGS = @XDMXCONFIG_DEP_CFLAGS@ +XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@ +XDMX_LIBS = @XDMX_LIBS@ +XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ +XEGLMODULES_LIBS = @XEGLMODULES_LIBS@ +XEGL_LIBS = @XEGL_LIBS@ +XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ +XEPHYR_INCS = @XEPHYR_INCS@ +XEPHYR_LIBS = @XEPHYR_LIBS@ +XERRORDB_PATH = @XERRORDB_PATH@ +XF86CONFIGFILE = @XF86CONFIGFILE@ +XF86MISC_CFLAGS = @XF86MISC_CFLAGS@ +XF86MISC_LIBS = @XF86MISC_LIBS@ +XF86VIDMODE_CFLAGS = @XF86VIDMODE_CFLAGS@ +XF86VIDMODE_LIBS = @XF86VIDMODE_LIBS@ +XGLMODULES_CFLAGS = @XGLMODULES_CFLAGS@ +XGLMODULES_LIBS = @XGLMODULES_LIBS@ +XGLXMODULES_CFLAGS = @XGLXMODULES_CFLAGS@ +XGLXMODULES_LIBS = @XGLXMODULES_LIBS@ +XGLX_LIBS = @XGLX_LIBS@ +XGL_LIBS = @XGL_LIBS@ +XGL_MODULE_PATH = @XGL_MODULE_PATH@ +XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ +XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ +XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ +XKM_OUTPUT_DIR = @XKM_OUTPUT_DIR@ +XLIB_CFLAGS = @XLIB_CFLAGS@ +XLIB_LIBS = @XLIB_LIBS@ +XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ +XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ +XNEST_LIBS = @XNEST_LIBS@ +XORGCFG_DEP_CFLAGS = @XORGCFG_DEP_CFLAGS@ +XORGCFG_DEP_LIBS = @XORGCFG_DEP_LIBS@ +XORGCONFIG_DEP_CFLAGS = @XORGCONFIG_DEP_CFLAGS@ +XORGCONFIG_DEP_LIBS = @XORGCONFIG_DEP_LIBS@ +XORG_CFLAGS = @XORG_CFLAGS@ +XORG_CORE_LIBS = @XORG_CORE_LIBS@ +XORG_INCS = @XORG_INCS@ +XORG_LIBS = @XORG_LIBS@ +XORG_MODULES_CFLAGS = @XORG_MODULES_CFLAGS@ +XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ +XORG_OS = @XORG_OS@ +XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ +XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ +XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ +XPRINT_CFLAGS = @XPRINT_CFLAGS@ +XPRINT_LIBS = @XPRINT_LIBS@ +XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ +XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ +XSDL_INCS = @XSDL_INCS@ +XSDL_LIBS = @XSDL_LIBS@ +XSERVERCFLAGS_CFLAGS = @XSERVERCFLAGS_CFLAGS@ +XSERVERCFLAGS_LIBS = @XSERVERCFLAGS_LIBS@ +XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ +XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ +XSERVER_LIBS = @XSERVER_LIBS@ +XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ +XTSTEXAMPLES_DEP_LIBS = @XTSTEXAMPLES_DEP_LIBS@ +XVFB_LIBS = @XVFB_LIBS@ +XWINMODULES_CFLAGS = @XWINMODULES_CFLAGS@ +XWINMODULES_LIBS = @XWINMODULES_LIBS@ +XWIN_LIBS = @XWIN_LIBS@ +XWIN_SERVER_NAME = @XWIN_SERVER_NAME@ +XWIN_SYSTEM_LIBS = @XWIN_SYSTEM_LIBS@ +YACC = @YACC@ +YFLAGS = @YFLAGS@ +__XCONFIGFILE__ = @__XCONFIGFILE__@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +driverdir = @driverdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +extdir = @extdir@ +ft_config = @ft_config@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +logdir = @logdir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +moduledir = @moduledir@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sdkdir = @sdkdir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +xglmoduledir = @xglmoduledir@ +xpconfigdir = @xpconfigdir@ +noinst_LTLIBRARIES = libvbo.la +AM_CFLAGS = \ + $(DIX_CFLAGS) \ + -DXFree86Server \ + @GLX_DEFINES@ + +INCLUDES = -I@MESA_SOURCE@/include \ + -I../X \ + -I../glapi \ + -I../main \ + -I../math \ + -I../shader \ + -I../shader/slang \ + -I../shader/slang \ + -I../swrast \ + -I../swrast_setup \ + -I../tnl \ + -I.. \ + -I$(top_srcdir)/hw/xfree86/os-support + +nodist_libvbo_la_SOURCES = vbo_context.c \ + vbo_exec_api.c \ + vbo_exec_array.c \ + vbo_exec.c \ + vbo_exec_draw.c \ + vbo_exec_eval.c \ + vbo_rebase.c \ + vbo_save_api.c \ + vbo_save.c \ + vbo_save_draw.c \ + vbo_save_loopback.c \ + vbo_split.c \ + vbo_split_copy.c \ + vbo_split_inplace.c + +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign GL/mesa/vbo/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --foreign GL/mesa/vbo/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +clean-noinstLTLIBRARIES: + -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) + @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ + dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ + test "$$dir" != "$$p" || dir=.; \ + echo "rm -f \"$${dir}/so_locations\""; \ + rm -f "$${dir}/so_locations"; \ + done +libvbo.la: $(libvbo_la_OBJECTS) $(libvbo_la_DEPENDENCIES) + $(LINK) $(libvbo_la_OBJECTS) $(libvbo_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vbo_context.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vbo_exec.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vbo_exec_api.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vbo_exec_array.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vbo_exec_draw.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vbo_exec_eval.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vbo_rebase.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vbo_save.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vbo_save_api.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vbo_save_draw.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vbo_save_loopback.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vbo_split.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vbo_split_copy.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vbo_split_inplace.Plo@am__quote@ + +.c.o: +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c $< + +.c.obj: +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` + +.c.lo: +@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(LTLIBRARIES) +installdirs: +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ + mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: + +install-dvi: install-dvi-am + +install-exec-am: + +install-html: install-html-am + +install-info: install-info-am + +install-man: + +install-pdf: install-pdf-am + +install-ps: install-ps-am + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libtool clean-noinstLTLIBRARIES ctags distclean \ + distclean-compile distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ + pdf pdf-am ps ps-am tags uninstall uninstall-am + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/xserver/GL/symlink-mesa.sh b/xserver/GL/symlink-mesa.sh index c14c683c6..0cfe1c9b6 100644 --- a/xserver/GL/symlink-mesa.sh +++ b/xserver/GL/symlink-mesa.sh @@ -85,15 +85,6 @@ symlink_mesa_math() { done } -symlink_mesa_ac() { - src_dir src/mesa/array_cache - dst_dir mesa/array_cache - - for src in $REAL_SRC_DIR/*.c $REAL_SRC_DIR/*.h; do - action `basename $src` - done -} - symlink_mesa_swrast() { src_dir src/mesa/swrast dst_dir mesa/swrast @@ -157,6 +148,15 @@ symlink_mesa_shader_slang_library() { done } +symlink_mesa_vbo() { + src_dir src/mesa/vbo + dst_dir mesa/vbo + + for src in $REAL_SRC_DIR/*.c $REAL_SRC_DIR/*.h; do + action `basename $src` + done +} + symlink_mesa_x() { src_dir src/mesa/drivers/x11 dst_dir mesa/X @@ -168,6 +168,8 @@ symlink_mesa_x() { action xm_api.c action xm_buffer.c action xm_dd.c + action xm_image.c + action xm_image.h action xm_line.c action xm_span.c action xm_tri.c @@ -203,7 +205,6 @@ symlink_mesa_x8664() { symlink_mesa() { symlink_mesa_main symlink_mesa_math - symlink_mesa_ac symlink_mesa_swrast symlink_mesa_ss symlink_mesa_tnl @@ -215,6 +216,7 @@ symlink_mesa() { symlink_mesa_glapi symlink_mesa_ppc symlink_mesa_sparc + symlink_mesa_vbo symlink_mesa_x86 symlink_mesa_x8664 } @@ -225,9 +227,6 @@ symlink_glx() { dst_dir glx action indirect_size.h - - src_dir src/mesa/drivers/dri/common - action glcontextmodes.c action glcontextmodes.h @@ -289,9 +288,9 @@ action() { } usage() { - echo symlink.sh src-dir dst-dir - echo src-dir: the xc directory of the monolithic source tree - echo dst-dir: the modular source tree containing proto, app, lib, ... + echo symlink-mesa.sh src-dir dst-dir + echo src-dir: the Mesa source directory + echo dst-dir: the GL subdirectory of the Xserver modular tree } # Check commandline args diff --git a/xserver/Makefile.am b/xserver/Makefile.am index c425cc6bb..e382d58e7 100644 --- a/xserver/Makefile.am +++ b/xserver/Makefile.am @@ -26,10 +26,6 @@ if GLX GLX_DIR=GL endif -if XINPUT -XINPUT_DIR=Xi -endif - if DBE DBE_DIR=dbe endif @@ -45,7 +41,7 @@ SUBDIRS = \ os \ randr \ render \ - $(XINPUT_DIR) \ + Xi \ xkb \ $(DBE_DIR) \ $(MFB_DIR) \ @@ -59,6 +55,7 @@ SUBDIRS = \ $(COMPOSITE_DIR) \ $(GLX_DIR) \ exa \ + config \ hw aclocaldir = $(datadir)/aclocal @@ -67,7 +64,17 @@ aclocal_DATA = xorg-server.m4 pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = xorg-server.pc -EXTRA_DIST = xorg-server.pc.in xorg-server.m4 +EXTRA_DIST = xorg-server.pc.in xorg-server.m4 ChangeLog autogen.sh + +MAINTAINERCLEANFILES=ChangeLog + +.PHONY: ChangeLog + +ChangeLog: + (GIT_DIR=$(top_srcdir)/.git git-log > .changelog.tmp && mv .changelog.tmp ChangeLog; rm -f .changelog.tmp) || \ + (touch ChangeLog; echo 'git directory not found: installing possibly empty changelog.' >&2) + +dist-hook: ChangeLog DIST_SUBDIRS = \ doc \ @@ -94,6 +101,7 @@ DIST_SUBDIRS = \ composite \ GL \ exa \ + config \ hw # gross hack diff --git a/xserver/XTrap/xtrapdi.c b/xserver/XTrap/xtrapdi.c index c5d640d0b..23d3bde7f 100644 --- a/xserver/XTrap/xtrapdi.c +++ b/xserver/XTrap/xtrapdi.c @@ -1092,8 +1092,8 @@ int XETrapRequestVector(ClientPtr client) pdata->hdr.client = client->index; /* stuff client index in hdr */ if (BitIsTrue(penv->cur.data_config_flags_data,XETrapWinXY)) { - window_ptr = (WindowPtr) LookupDrawable(stuff->id, client); - if (window_ptr == 0L) + if (Success != dixLookupDrawable(&window_ptr, stuff->id, + client, 0, DixUnknownAccess)) { /* Failed...invalidate the X and Y coordinate data. */ pdata->hdr.win_x = -1L; pdata->hdr.win_y = -1L; diff --git a/xserver/XTrap/xtrapdiswp.c b/xserver/XTrap/xtrapdiswp.c index dc2a3383a..86c240362 100644 --- a/xserver/XTrap/xtrapdiswp.c +++ b/xserver/XTrap/xtrapdiswp.c @@ -1,4 +1,3 @@ -/* $XFree86$ */ /**************************************************************************** Copyright 1987, 1988, 1989, 1990, 1991, 1992 by diff --git a/xserver/XTrap/xtrapditbl.c b/xserver/XTrap/xtrapditbl.c index 27cfc362b..db78c26e2 100644 --- a/xserver/XTrap/xtrapditbl.c +++ b/xserver/XTrap/xtrapditbl.c @@ -1,4 +1,3 @@ -/* $XFree86$ */ /**************************************************************************** Copyright 1987, 1988, 1989, 1990, 1991 by Digital Equipment Corp., Maynard, MA diff --git a/xserver/Xext/Makefile.am b/xserver/Xext/Makefile.am index 6ea3d7445..d0d23b77f 100644 --- a/xserver/Xext/Makefile.am +++ b/xserver/Xext/Makefile.am @@ -34,7 +34,6 @@ MODULE_SRCS = \ xcmisc.c # Extra configuration files ship with some extensions -SERVERCONFIGdir = $(libdir)/xserver SERVERCONFIG_DATA = # Optional sources included if extension enabled by configure.ac rules diff --git a/xserver/Xext/appgroup.c b/xserver/Xext/appgroup.c index 650dc0ab8..7bd205587 100644 --- a/xserver/Xext/appgroup.c +++ b/xserver/Xext/appgroup.c @@ -116,8 +116,7 @@ int XagAppGroupFree( return Success; } -/* static */ -void XagClientStateChange( +static void XagClientStateChange( CallbackListPtr* pcbl, pointer nulldata, pointer calldata) @@ -172,21 +171,6 @@ void XagClientStateChange( } } -void -XagExtensionInit(INITARGS) -{ - if (AddExtension (XAGNAME, - 0, - XagNumberErrors, - ProcXagDispatch, - SProcXagDispatch, - XagResetProc, - StandardMinorOpcode)) { - RT_APPGROUP = CreateNewResourceType (XagAppGroupFree); - XaceRegisterCallback(XACE_AUTH_AVAIL, XagCallClientStateChange, NULL); - } -} - /*ARGSUSED*/ static void XagResetProc( @@ -355,13 +339,15 @@ int AttrValidate( AppGroupPtr pAppGrp) { WindowPtr pWin; - int idepth, ivids, found; + int idepth, ivids, found, rc; ScreenPtr pScreen; DepthPtr pDepth; ColormapPtr pColormap; - pWin = LookupWindow (pAppGrp->default_root, client); - /* XXX check that pWin is not NULL */ + rc = dixLookupWindow(&pWin, pAppGrp->default_root, client, + DixUnknownAccess); + if (rc != Success) + return rc; pScreen = pWin->drawable.pScreen; if (WindowTable[pScreen->myNum]->drawable.id != pAppGrp->default_root) return BadWindow; @@ -391,8 +377,7 @@ int AttrValidate( return client->noClientException; } -/* static */ -int ProcXagCreate ( +static int ProcXagCreate ( register ClientPtr client) { REQUEST (xXagCreateReq); @@ -423,8 +408,7 @@ int ProcXagCreate ( return client->noClientException; } -/* static */ -int ProcXagDestroy( +static int ProcXagDestroy( register ClientPtr client) { AppGroupPtr pAppGrp; @@ -432,7 +416,7 @@ int ProcXagDestroy( REQUEST_SIZE_MATCH (xXagDestroyReq); pAppGrp = (AppGroupPtr)SecurityLookupIDByType (client, - (XID)stuff->app_group, RT_APPGROUP, SecurityReadAccess); + (XID)stuff->app_group, RT_APPGROUP, DixReadAccess); if (!pAppGrp) return XagBadAppGroup; FreeResource ((XID)stuff->app_group, RT_NONE); if (--XagCallbackRefCount == 0) @@ -451,7 +435,7 @@ int ProcXagGetAttr( REQUEST_SIZE_MATCH (xXagGetAttrReq); pAppGrp = (AppGroupPtr)SecurityLookupIDByType (client, - (XID)stuff->app_group, RT_APPGROUP, SecurityReadAccess); + (XID)stuff->app_group, RT_APPGROUP, DixReadAccess); if (!pAppGrp) return XagBadAppGroup; rep.type = X_Reply; rep.length = 0; @@ -483,10 +467,13 @@ int ProcXagQuery( ClientPtr pClient; AppGroupPtr pAppGrp; REQUEST (xXagQueryReq); - int n; + int n, rc; REQUEST_SIZE_MATCH (xXagQueryReq); - pClient = LookupClient (stuff->resource, client); + rc = dixLookupClient(&pClient, stuff->resource, client, DixUnknownAccess); + if (rc != Success) + return rc; + for (pAppGrp = appGrpList; pAppGrp != NULL; pAppGrp = pAppGrp->next) for (n = 0; n < pAppGrp->nclients; n++) if (pAppGrp->clients[n] == pClient) { @@ -738,18 +725,7 @@ XID XagId( return (client->appgroup ? client->appgroup->appgroupId : 0); } -void XagGetDeltaInfo( - ClientPtr client, - CARD32* buf) -{ - *buf++ = (CARD32) client->appgroup->default_root; - *buf++ = (CARD32) client->appgroup->root_visual; - *buf++ = (CARD32) client->appgroup->default_colormap; - *buf++ = (CARD32) client->appgroup->black_pixel; - *buf = (CARD32) client->appgroup->white_pixel; -} - -void XagCallClientStateChange( +static void XagCallClientStateChange( CallbackListPtr *pcbl, pointer nulldata, pointer calldata) @@ -780,3 +756,18 @@ void XagCallClientStateChange( XagClientStateChange (NULL, NULL, (pointer)&clientinfo); } } + +void +XagExtensionInit(INITARGS) +{ + if (AddExtension (XAGNAME, + 0, + XagNumberErrors, + ProcXagDispatch, + SProcXagDispatch, + XagResetProc, + StandardMinorOpcode)) { + RT_APPGROUP = CreateNewResourceType (XagAppGroupFree); + XaceRegisterCallback(XACE_AUTH_AVAIL, XagCallClientStateChange, NULL); + } +} diff --git a/xserver/Xext/appgroup.h b/xserver/Xext/appgroup.h index a875068fc..778da5de6 100644 --- a/xserver/Xext/appgroup.h +++ b/xserver/Xext/appgroup.h @@ -50,12 +50,6 @@ extern ClientPtr XagLeader( ClientPtr /* client */ ); -extern void XagCallClientStateChange( - CallbackListPtr * /* pcbl */, - pointer /* nulldata */, - pointer /* calldata */ -); - extern Bool XagIsControlledRoot ( ClientPtr /* client */, WindowPtr /* pParent */ @@ -65,22 +59,6 @@ extern XID XagId ( ClientPtr /* client */ ); -extern void XagGetDeltaInfo ( - ClientPtr /* client */, - CARD32* /* buf */ -); - -extern void XagClientStateChange( - CallbackListPtr* pcbl, - pointer nulldata, - pointer calldata); - -extern int ProcXagCreate ( - register ClientPtr client); - -extern int ProcXagDestroy( - register ClientPtr client); - _XFUNCPROTOEND #endif /* _APPGROUP_SRV_H_ */ diff --git a/xserver/Xext/cup.c b/xserver/Xext/cup.c index 10d13bae0..6bfa27837 100644 --- a/xserver/Xext/cup.c +++ b/xserver/Xext/cup.c @@ -227,7 +227,7 @@ int ProcStoreColors( REQUEST_AT_LEAST_SIZE (xXcupStoreColorsReq); pcmp = (ColormapPtr) SecurityLookupIDByType (client, stuff->cmap, - RT_COLORMAP, SecurityWriteAccess); + RT_COLORMAP, DixWriteAccess); if (pcmp) { int ncolors, n; diff --git a/xserver/Xext/fontcache.c b/xserver/Xext/fontcache.c index db0348144..c54340b61 100644 --- a/xserver/Xext/fontcache.c +++ b/xserver/Xext/fontcache.c @@ -24,8 +24,6 @@ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. - * - * Id: fontcache.c,v 1.12 1999/01/31 13:47:45 akiyama Exp $ */ /* THIS IS NOT AN X CONSORTIUM STANDARD */ diff --git a/xserver/Xext/mbuf.c b/xserver/Xext/mbuf.c index e0361dda4..ed352e21b 100644 --- a/xserver/Xext/mbuf.c +++ b/xserver/Xext/mbuf.c @@ -448,16 +448,15 @@ ProcCreateImageBuffers (client) register int n; WindowPtr pWin; XID *ids; - int len, nbuf; - int i; - int err; + int len, nbuf, i, err, rc; REQUEST_AT_LEAST_SIZE (xMbufCreateImageBuffersReq); len = stuff->length - (sizeof(xMbufCreateImageBuffersReq) >> 2); if (len == 0) return BadLength; - if (!(pWin = LookupWindow (stuff->window, client))) - return BadWindow; + rc = dixLookupWindow(&pWin, stuff->window, client, DixUnknownAccess); + if (rc != Success) + return rc; if (pWin->drawable.class == InputOnly) return BadMatch; switch (stuff->updateAction) @@ -584,10 +583,12 @@ ProcDestroyImageBuffers (client) { REQUEST (xMbufDestroyImageBuffersReq); WindowPtr pWin; + int rc; REQUEST_SIZE_MATCH (xMbufDestroyImageBuffersReq); - if (!(pWin = LookupWindow (stuff->window, client))) - return BadWindow; + rc = dixLookupWindow(&pWin, stuff->window, client, DixUnknownAccess); + if (rc != Success) + return rc; DestroyImageBuffers (pWin); return Success; } @@ -599,16 +600,16 @@ ProcSetMBufferAttributes (client) REQUEST (xMbufSetMBufferAttributesReq); WindowPtr pWin; MultibuffersPtr pMultibuffers; - int len; + int len, rc; Mask vmask; Mask index2; CARD32 updateHint; XID *vlist; REQUEST_AT_LEAST_SIZE (xMbufSetMBufferAttributesReq); - pWin = LookupWindow (stuff->window, client); - if (!pWin) - return BadWindow; + rc = dixLookupWindow(&pWin, stuff->window, client, DixUnknownAccess); + if (rc != Success) + return rc; pMultibuffers = (MultibuffersPtr)LookupIDByType (pWin->drawable.id, MultibuffersResType); if (!pMultibuffers) return BadMatch; @@ -655,12 +656,12 @@ ProcGetMBufferAttributes (client) MultibuffersPtr pMultibuffers; XID *ids; xMbufGetMBufferAttributesReply rep; - int i, n; + int i, n, rc; REQUEST_SIZE_MATCH (xMbufGetMBufferAttributesReq); - pWin = LookupWindow (stuff->window, client); - if (!pWin) - return BadWindow; + rc = dixLookupWindow(&pWin, stuff->window, client, DixUnknownAccess); + if (rc != Success) + return rc; pMultibuffers = (MultibuffersPtr)LookupIDByType (pWin->drawable.id, MultibuffersResType); if (!pMultibuffers) return BadAccess; @@ -785,15 +786,15 @@ ProcGetBufferInfo (client) DrawablePtr pDrawable; xMbufGetBufferInfoReply rep; ScreenPtr pScreen; - int i, j, k; - int n; + int i, j, k, n, rc; xMbufBufferInfo *pInfo; int nInfo; DepthPtr pDepth; - pDrawable = (DrawablePtr) LookupDrawable (stuff->drawable, client); - if (!pDrawable) - return BadDrawable; + rc = dixLookupDrawable(&pDrawable, stuff->drawable, client, 0, + DixUnknownAccess); + if (rc != Success) + return rc; pScreen = pDrawable->pScreen; nInfo = 0; for (i = 0; i < pScreen->numDepths; i++) diff --git a/xserver/Xext/panoramiX.c b/xserver/Xext/panoramiX.c index 6b8b5f2f7..95df04320 100644 --- a/xserver/Xext/panoramiX.c +++ b/xserver/Xext/panoramiX.c @@ -77,7 +77,7 @@ int PanoramiXPixHeight = 0; _X_EXPORT int PanoramiXNumScreens = 0; _X_EXPORT PanoramiXData *panoramiXdataPtr = NULL; -RegionRec PanoramiXScreenRegion = {{0, 0, 0, 0}, NULL}; +static RegionRec PanoramiXScreenRegion = {{0, 0, 0, 0}, NULL}; static int PanoramiXNumDepths; static DepthPtr PanoramiXDepths; @@ -109,7 +109,6 @@ static void PanoramiXResetProc(ExtensionEntry*); #include "panoramiXh.h" int (* SavedProcVector[256]) (ClientPtr client) = { NULL, }; -ScreenInfo *GlobalScrInfo = NULL; static int PanoramiXGCIndex = -1; static int PanoramiXScreenIndex = -1; @@ -135,7 +134,7 @@ static void XineramaChangeClip(GCPtr, int, pointer, int); static void XineramaDestroyClip(GCPtr); static void XineramaCopyClip(GCPtr, GCPtr); -GCFuncs XineramaGCFuncs = { +static GCFuncs XineramaGCFuncs = { XineramaValidateGC, XineramaChangeGC, XineramaCopyGC, XineramaDestroyGC, XineramaChangeClip, XineramaDestroyClip, XineramaCopyClip }; @@ -168,7 +167,7 @@ XineramaCloseScreen (int i, ScreenPtr pScreen) return (*pScreen->CloseScreen) (i, pScreen); } -Bool +static Bool XineramaCreateGC(GCPtr pGC) { ScreenPtr pScreen = pGC->pScreen; @@ -330,8 +329,6 @@ XineramaDestroyClip(GCPtr pGC) Xinerama_GC_FUNC_EPILOGUE (pGC); } - - _X_EXPORT int XineramaDeleteResource(pointer data, XID id) { @@ -339,32 +336,11 @@ XineramaDeleteResource(pointer data, XID id) return 1; } - -static Bool -XineramaFindIDOnAnyScreen(pointer resource, XID id, pointer privdata) -{ - PanoramiXRes *res = (PanoramiXRes*)resource; - int j; - - FOR_NSCREENS(j) - if(res->info[j].id == *((XID*)privdata)) return TRUE; - - return FALSE; -} - -PanoramiXRes * -PanoramiXFindIDOnAnyScreen(RESTYPE type, XID id) -{ - return LookupClientResourceComplex(clients[CLIENT_ID(id)], type, - XineramaFindIDOnAnyScreen, &id); -} - typedef struct { int screen; int id; } PanoramiXSearchData; - static Bool XineramaFindIDByScrnum(pointer resource, XID id, pointer privdata) { @@ -389,23 +365,6 @@ PanoramiXFindIDByScrnum(RESTYPE type, XID id, int screen) XineramaFindIDByScrnum, &data); } -WindowPtr -PanoramiXChangeWindow(int ScrnNum, WindowPtr pWin) -{ - int num = pWin->drawable.pScreen->myNum; - - if(num != ScrnNum) { - PanoramiXRes *win; - - win = PanoramiXFindIDByScrnum(XRT_WINDOW, pWin->drawable.id, num); - - if (win) - pWin = (WindowPtr) LookupIDByType(win->info[ScrnNum].id, RT_WINDOW); - } - - return pWin; -} - typedef struct _connect_callback_list { void (*func)(void); struct _connect_callback_list *next; @@ -496,7 +455,6 @@ void PanoramiXExtensionInit(int argc, char *argv[]) if (noPanoramiXExtension) return; - GlobalScrInfo = &screenInfo; /* For debug visibility */ PanoramiXNumScreens = screenInfo.numScreens; if (PanoramiXNumScreens == 1) { /* Only 1 screen */ noPanoramiXExtension = TRUE; @@ -958,12 +916,13 @@ ProcPanoramiXGetState(ClientPtr client) REQUEST(xPanoramiXGetStateReq); WindowPtr pWin; xPanoramiXGetStateReply rep; - register int n; + register int n, rc; REQUEST_SIZE_MATCH(xPanoramiXGetStateReq); - pWin = LookupWindow (stuff->window, client); - if (!pWin) - return BadWindow; + rc = dixLookupWindow(&pWin, stuff->window, client, DixUnknownAccess); + if (rc != Success) + return rc; + rep.type = X_Reply; rep.length = 0; rep.sequenceNumber = client->sequence; @@ -984,12 +943,13 @@ ProcPanoramiXGetScreenCount(ClientPtr client) REQUEST(xPanoramiXGetScreenCountReq); WindowPtr pWin; xPanoramiXGetScreenCountReply rep; - register int n; + register int n, rc; REQUEST_SIZE_MATCH(xPanoramiXGetScreenCountReq); - pWin = LookupWindow (stuff->window, client); - if (!pWin) - return BadWindow; + rc = dixLookupWindow(&pWin, stuff->window, client, DixUnknownAccess); + if (rc != Success) + return rc; + rep.type = X_Reply; rep.length = 0; rep.sequenceNumber = client->sequence; @@ -1009,12 +969,13 @@ ProcPanoramiXGetScreenSize(ClientPtr client) REQUEST(xPanoramiXGetScreenSizeReq); WindowPtr pWin; xPanoramiXGetScreenSizeReply rep; - register int n; + register int n, rc; REQUEST_SIZE_MATCH(xPanoramiXGetScreenSizeReq); - pWin = LookupWindow (stuff->window, client); - if (!pWin) - return BadWindow; + rc = dixLookupWindow(&pWin, stuff->window, client, DixUnknownAccess); + if (rc != Success) + return rc; + rep.type = X_Reply; rep.length = 0; rep.sequenceNumber = client->sequence; diff --git a/xserver/Xext/panoramiX.h b/xserver/Xext/panoramiX.h index 7b3339204..89c754732 100644 --- a/xserver/Xext/panoramiX.h +++ b/xserver/Xext/panoramiX.h @@ -1,4 +1,3 @@ -/* $TOG: panoramiX.h /main/4 1998/03/17 06:51:02 kaleb $ */ /***************************************************************** Copyright (c) 1991, 1997 Digital Equipment Corporation, Maynard, Massachusetts. @@ -94,18 +93,6 @@ typedef struct { (a).root = WindowTable[0]->drawable.id; \ } -#define FORCE_WIN(a) { \ - if ((win = PanoramiXFindIDOnAnyScreen(XRT_WINDOW, a))) { \ - (a) = win->info[0].id; /* Real ID */ \ - } \ -} - -#define FORCE_CMAP(a) { \ - if ((win = PanoramiXFindIDOnAnyScreen(XRT_COLORMAP, a))) { \ - (a) = win->info[0].id; /* Real ID */ \ - } \ -} - #define IS_SHARED_PIXMAP(r) (((r)->type == XRT_PIXMAP) && (r)->u.pix.shared) #define SKIP_FAKE_WINDOW(a) if(!LookupIDByType(a, XRT_WINDOW)) return diff --git a/xserver/Xext/panoramiXh.h b/xserver/Xext/panoramiXh.h index 6cee650ac..1a76a45cd 100644 --- a/xserver/Xext/panoramiXh.h +++ b/xserver/Xext/panoramiXh.h @@ -19,10 +19,10 @@ extern int PanoramiXGetGeometry(ClientPtr client); extern int PanoramiXTranslateCoords(ClientPtr client); extern int PanoramiXCreatePixmap(ClientPtr client); extern int PanoramiXFreePixmap(ClientPtr client); -extern int PanoramiXCreateGC(ClientPtr client); extern int PanoramiXChangeGC(ClientPtr client); extern int PanoramiXCopyGC(ClientPtr client); extern int PanoramiXCopyColormapAndFree(ClientPtr client); +extern int PanoramiXCreateGC(ClientPtr client); extern int PanoramiXSetDashes(ClientPtr client); extern int PanoramiXSetClipRectangles(ClientPtr client); extern int PanoramiXFreeGC(ClientPtr client); @@ -64,7 +64,6 @@ PROC_EXTERN(ProcPanoramiXGetScreenSize); PROC_EXTERN(ProcXineramaQueryScreens); PROC_EXTERN(ProcXineramaIsActive); -extern Bool XineramaCreateGC(GCPtr pGC); extern int SProcPanoramiXDispatch(ClientPtr client); @@ -72,6 +71,4 @@ extern char *ConnectionInfo; extern int connBlockScreenStart; extern xConnSetupPrefix connSetupPrefix; -extern ScreenInfo *GlobalScrInfo; extern int (* SavedProcVector[256]) (ClientPtr client); - diff --git a/xserver/Xext/panoramiXprocs.c b/xserver/Xext/panoramiXprocs.c index 8bb4c593d..1c53a1e1a 100644 --- a/xserver/Xext/panoramiXprocs.c +++ b/xserver/Xext/panoramiXprocs.c @@ -91,7 +91,7 @@ int PanoramiXCreateWindow(ClientPtr client) return BadLength; if (!(parent = (PanoramiXRes *)SecurityLookupIDByType( - client, stuff->parent, XRT_WINDOW, SecurityWriteAccess))) + client, stuff->parent, XRT_WINDOW, DixWriteAccess))) return BadWindow; if(stuff->class == CopyFromParent) @@ -105,7 +105,7 @@ int PanoramiXCreateWindow(ClientPtr client) tmp = *((CARD32 *) &stuff[1] + pback_offset); if ((tmp != None) && (tmp != ParentRelative)) { if(!(backPix = (PanoramiXRes*) SecurityLookupIDByType( - client, tmp, XRT_PIXMAP, SecurityReadAccess))) + client, tmp, XRT_PIXMAP, DixReadAccess))) return BadPixmap; } } @@ -114,7 +114,7 @@ int PanoramiXCreateWindow(ClientPtr client) tmp = *((CARD32 *) &stuff[1] + pbord_offset); if (tmp != CopyFromParent) { if(!(bordPix = (PanoramiXRes*) SecurityLookupIDByType( - client, tmp, XRT_PIXMAP, SecurityReadAccess))) + client, tmp, XRT_PIXMAP, DixReadAccess))) return BadPixmap; } } @@ -123,7 +123,7 @@ int PanoramiXCreateWindow(ClientPtr client) tmp = *((CARD32 *) &stuff[1] + cmap_offset); if ((tmp != CopyFromParent) && (tmp != None)) { if(!(cmap = (PanoramiXRes*) SecurityLookupIDByType( - client, tmp, XRT_COLORMAP, SecurityReadAccess))) + client, tmp, XRT_COLORMAP, DixReadAccess))) return BadColor; } } @@ -192,7 +192,7 @@ int PanoramiXChangeWindowAttributes(ClientPtr client) return BadLength; if (!(win = (PanoramiXRes *)SecurityLookupIDByType( - client, stuff->window, XRT_WINDOW, SecurityWriteAccess))) + client, stuff->window, XRT_WINDOW, DixWriteAccess))) return BadWindow; if((win->u.win.class == InputOnly) && @@ -204,7 +204,7 @@ int PanoramiXChangeWindowAttributes(ClientPtr client) tmp = *((CARD32 *) &stuff[1] + pback_offset); if ((tmp != None) && (tmp != ParentRelative)) { if(!(backPix = (PanoramiXRes*) SecurityLookupIDByType( - client, tmp, XRT_PIXMAP, SecurityReadAccess))) + client, tmp, XRT_PIXMAP, DixReadAccess))) return BadPixmap; } } @@ -213,7 +213,7 @@ int PanoramiXChangeWindowAttributes(ClientPtr client) tmp = *((CARD32 *) &stuff[1] + pbord_offset); if (tmp != CopyFromParent) { if(!(bordPix = (PanoramiXRes*) SecurityLookupIDByType( - client, tmp, XRT_PIXMAP, SecurityReadAccess))) + client, tmp, XRT_PIXMAP, DixReadAccess))) return BadPixmap; } } @@ -222,7 +222,7 @@ int PanoramiXChangeWindowAttributes(ClientPtr client) tmp = *((CARD32 *) &stuff[1] + cmap_offset); if ((tmp != CopyFromParent) && (tmp != None)) { if(!(cmap = (PanoramiXRes*) SecurityLookupIDByType( - client, tmp, XRT_COLORMAP, SecurityReadAccess))) + client, tmp, XRT_COLORMAP, DixReadAccess))) return BadColor; } } @@ -251,7 +251,7 @@ int PanoramiXDestroyWindow(ClientPtr client) REQUEST_SIZE_MATCH(xResourceReq); if(!(win = (PanoramiXRes *)SecurityLookupIDByType( - client, stuff->id, XRT_WINDOW, SecurityDestroyAccess))) + client, stuff->id, XRT_WINDOW, DixDestroyAccess))) return BadWindow; FOR_NSCREENS_BACKWARD(j) { @@ -276,7 +276,7 @@ int PanoramiXDestroySubwindows(ClientPtr client) REQUEST_SIZE_MATCH(xResourceReq); if(!(win = (PanoramiXRes *)SecurityLookupIDByType( - client, stuff->id, XRT_WINDOW, SecurityDestroyAccess))) + client, stuff->id, XRT_WINDOW, DixDestroyAccess))) return BadWindow; FOR_NSCREENS_BACKWARD(j) { @@ -301,7 +301,7 @@ int PanoramiXChangeSaveSet(ClientPtr client) REQUEST_SIZE_MATCH(xChangeSaveSetReq); if(!(win = (PanoramiXRes *)SecurityLookupIDByType( - client, stuff->window, XRT_WINDOW, SecurityReadAccess))) + client, stuff->window, XRT_WINDOW, DixReadAccess))) return BadWindow; FOR_NSCREENS_BACKWARD(j) { @@ -325,11 +325,11 @@ int PanoramiXReparentWindow(ClientPtr client) REQUEST_SIZE_MATCH(xReparentWindowReq); if(!(win = (PanoramiXRes *)SecurityLookupIDByType( - client, stuff->window, XRT_WINDOW, SecurityWriteAccess))) + client, stuff->window, XRT_WINDOW, DixWriteAccess))) return BadWindow; if(!(parent = (PanoramiXRes *)SecurityLookupIDByType( - client, stuff->parent, XRT_WINDOW, SecurityWriteAccess))) + client, stuff->parent, XRT_WINDOW, DixWriteAccess))) return BadWindow; x = stuff->x; @@ -360,7 +360,7 @@ int PanoramiXMapWindow(ClientPtr client) REQUEST_SIZE_MATCH(xResourceReq); if(!(win = (PanoramiXRes *)SecurityLookupIDByType( - client, stuff->id, XRT_WINDOW, SecurityReadAccess))) + client, stuff->id, XRT_WINDOW, DixReadAccess))) return BadWindow; FOR_NSCREENS_FORWARD(j) { @@ -382,7 +382,7 @@ int PanoramiXMapSubwindows(ClientPtr client) REQUEST_SIZE_MATCH(xResourceReq); if(!(win = (PanoramiXRes *)SecurityLookupIDByType( - client, stuff->id, XRT_WINDOW, SecurityReadAccess))) + client, stuff->id, XRT_WINDOW, DixReadAccess))) return BadWindow; FOR_NSCREENS_FORWARD(j) { @@ -404,7 +404,7 @@ int PanoramiXUnmapWindow(ClientPtr client) REQUEST_SIZE_MATCH(xResourceReq); if(!(win = (PanoramiXRes *)SecurityLookupIDByType( - client, stuff->id, XRT_WINDOW, SecurityReadAccess))) + client, stuff->id, XRT_WINDOW, DixReadAccess))) return BadWindow; FOR_NSCREENS_FORWARD(j) { @@ -426,7 +426,7 @@ int PanoramiXUnmapSubwindows(ClientPtr client) REQUEST_SIZE_MATCH(xResourceReq); if(!(win = (PanoramiXRes *)SecurityLookupIDByType( - client, stuff->id, XRT_WINDOW, SecurityReadAccess))) + client, stuff->id, XRT_WINDOW, DixReadAccess))) return BadWindow; FOR_NSCREENS_FORWARD(j) { @@ -457,11 +457,11 @@ int PanoramiXConfigureWindow(ClientPtr client) /* because we need the parent */ if (!(pWin = (WindowPtr)SecurityLookupIDByType( - client, stuff->window, RT_WINDOW, SecurityWriteAccess))) + client, stuff->window, RT_WINDOW, DixWriteAccess))) return BadWindow; if (!(win = (PanoramiXRes *)SecurityLookupIDByType( - client, stuff->window, XRT_WINDOW, SecurityWriteAccess))) + client, stuff->window, XRT_WINDOW, DixWriteAccess))) return BadWindow; if ((Mask)stuff->mask & CWSibling) { @@ -469,7 +469,7 @@ int PanoramiXConfigureWindow(ClientPtr client) sib_offset = Ones((Mask)stuff->mask & (CWSibling - 1)); if ((tmp = *((CARD32 *) &stuff[1] + sib_offset))) { if(!(sib = (PanoramiXRes*) SecurityLookupIDByType( - client, tmp, XRT_WINDOW, SecurityReadAccess))) + client, tmp, XRT_WINDOW, DixReadAccess))) return BadWindow; } } @@ -514,7 +514,7 @@ int PanoramiXCirculateWindow(ClientPtr client) REQUEST_SIZE_MATCH(xCirculateWindowReq); if(!(win = (PanoramiXRes *)SecurityLookupIDByType( - client, stuff->window, XRT_WINDOW, SecurityWriteAccess))) + client, stuff->window, XRT_WINDOW, DixWriteAccess))) return BadWindow; FOR_NSCREENS_FORWARD(j) { @@ -531,10 +531,14 @@ int PanoramiXGetGeometry(ClientPtr client) { xGetGeometryReply rep; DrawablePtr pDraw; + int rc; REQUEST(xResourceReq); REQUEST_SIZE_MATCH(xResourceReq); - VERIFY_GEOMETRABLE (pDraw, stuff->id, client); + rc = dixLookupDrawable(&pDraw, stuff->id, client, M_ANY, DixUnknownAccess); + if (rc != Success) + return rc; + rep.type = X_Reply; rep.length = 0; rep.sequenceNumber = client->sequence; @@ -573,19 +577,17 @@ int PanoramiXTranslateCoords(ClientPtr client) { INT16 x, y; REQUEST(xTranslateCoordsReq); - - register WindowPtr pWin, pDst; + int rc; + WindowPtr pWin, pDst; xTranslateCoordsReply rep; REQUEST_SIZE_MATCH(xTranslateCoordsReq); - pWin = (WindowPtr)SecurityLookupWindow(stuff->srcWid, client, - SecurityReadAccess); - if (!pWin) - return(BadWindow); - pDst = (WindowPtr)SecurityLookupWindow(stuff->dstWid, client, - SecurityReadAccess); - if (!pDst) - return(BadWindow); + rc = dixLookupWindow(&pWin, stuff->srcWid, client, DixReadAccess); + if (rc != Success) + return rc; + rc = dixLookupWindow(&pDst, stuff->dstWid, client, DixReadAccess); + if (rc != Success) + return rc; rep.type = X_Reply; rep.length = 0; rep.sequenceNumber = client->sequence; @@ -655,7 +657,7 @@ int PanoramiXCreatePixmap(ClientPtr client) client->errorValue = stuff->pid; if(!(refDraw = (PanoramiXRes *)SecurityLookupIDByClass( - client, stuff->drawable, XRC_DRAWABLE, SecurityReadAccess))) + client, stuff->drawable, XRC_DRAWABLE, DixReadAccess))) return BadDrawable; if(!(newPix = (PanoramiXRes *) xalloc(sizeof(PanoramiXRes)))) @@ -694,7 +696,7 @@ int PanoramiXFreePixmap(ClientPtr client) client->errorValue = stuff->id; if(!(pix = (PanoramiXRes *)SecurityLookupIDByType( - client, stuff->id, XRT_PIXMAP, SecurityDestroyAccess))) + client, stuff->id, XRT_PIXMAP, DixDestroyAccess))) return BadPixmap; FOR_NSCREENS_BACKWARD(j) { @@ -730,14 +732,14 @@ int PanoramiXCreateGC(ClientPtr client) return BadLength; if (!(refDraw = (PanoramiXRes *)SecurityLookupIDByClass( - client, stuff->drawable, XRC_DRAWABLE, SecurityReadAccess))) + client, stuff->drawable, XRC_DRAWABLE, DixReadAccess))) return BadDrawable; if ((Mask)stuff->mask & GCTile) { tile_offset = Ones((Mask)stuff->mask & (GCTile - 1)); if ((tmp = *((CARD32 *) &stuff[1] + tile_offset))) { if(!(tile = (PanoramiXRes*) SecurityLookupIDByType( - client, tmp, XRT_PIXMAP, SecurityReadAccess))) + client, tmp, XRT_PIXMAP, DixReadAccess))) return BadPixmap; } } @@ -745,7 +747,7 @@ int PanoramiXCreateGC(ClientPtr client) stip_offset = Ones((Mask)stuff->mask & (GCStipple - 1)); if ((tmp = *((CARD32 *) &stuff[1] + stip_offset))) { if(!(stip = (PanoramiXRes*) SecurityLookupIDByType( - client, tmp, XRT_PIXMAP, SecurityReadAccess))) + client, tmp, XRT_PIXMAP, DixReadAccess))) return BadPixmap; } } @@ -753,7 +755,7 @@ int PanoramiXCreateGC(ClientPtr client) clip_offset = Ones((Mask)stuff->mask & (GCClipMask - 1)); if ((tmp = *((CARD32 *) &stuff[1] + clip_offset))) { if(!(clip = (PanoramiXRes*) SecurityLookupIDByType( - client, tmp, XRT_PIXMAP, SecurityReadAccess))) + client, tmp, XRT_PIXMAP, DixReadAccess))) return BadPixmap; } } @@ -805,14 +807,14 @@ int PanoramiXChangeGC(ClientPtr client) return BadLength; if (!(gc = (PanoramiXRes *)SecurityLookupIDByType( - client, stuff->gc, XRT_GC, SecurityReadAccess))) + client, stuff->gc, XRT_GC, DixReadAccess))) return BadGC; if ((Mask)stuff->mask & GCTile) { tile_offset = Ones((Mask)stuff->mask & (GCTile - 1)); if ((tmp = *((CARD32 *) &stuff[1] + tile_offset))) { if(!(tile = (PanoramiXRes*) SecurityLookupIDByType( - client, tmp, XRT_PIXMAP, SecurityReadAccess))) + client, tmp, XRT_PIXMAP, DixReadAccess))) return BadPixmap; } } @@ -820,7 +822,7 @@ int PanoramiXChangeGC(ClientPtr client) stip_offset = Ones((Mask)stuff->mask & (GCStipple - 1)); if ((tmp = *((CARD32 *) &stuff[1] + stip_offset))) { if(!(stip = (PanoramiXRes*) SecurityLookupIDByType( - client, tmp, XRT_PIXMAP, SecurityReadAccess))) + client, tmp, XRT_PIXMAP, DixReadAccess))) return BadPixmap; } } @@ -828,7 +830,7 @@ int PanoramiXChangeGC(ClientPtr client) clip_offset = Ones((Mask)stuff->mask & (GCClipMask - 1)); if ((tmp = *((CARD32 *) &stuff[1] + clip_offset))) { if(!(clip = (PanoramiXRes*) SecurityLookupIDByType( - client, tmp, XRT_PIXMAP, SecurityReadAccess))) + client, tmp, XRT_PIXMAP, DixReadAccess))) return BadPixmap; } } @@ -859,11 +861,11 @@ int PanoramiXCopyGC(ClientPtr client) REQUEST_SIZE_MATCH(xCopyGCReq); if(!(srcGC = (PanoramiXRes *)SecurityLookupIDByType( - client, stuff->srcGC, XRT_GC, SecurityReadAccess))) + client, stuff->srcGC, XRT_GC, DixReadAccess))) return BadGC; if(!(dstGC = (PanoramiXRes *)SecurityLookupIDByType( - client, stuff->dstGC, XRT_GC, SecurityWriteAccess))) + client, stuff->dstGC, XRT_GC, DixWriteAccess))) return BadGC; FOR_NSCREENS(j) { @@ -886,7 +888,7 @@ int PanoramiXSetDashes(ClientPtr client) REQUEST_FIXED_SIZE(xSetDashesReq, stuff->nDashes); if(!(gc = (PanoramiXRes *)SecurityLookupIDByType( - client, stuff->gc, XRT_GC, SecurityWriteAccess))) + client, stuff->gc, XRT_GC, DixWriteAccess))) return BadGC; FOR_NSCREENS_BACKWARD(j) { @@ -908,7 +910,7 @@ int PanoramiXSetClipRectangles(ClientPtr client) REQUEST_AT_LEAST_SIZE(xSetClipRectanglesReq); if(!(gc = (PanoramiXRes *)SecurityLookupIDByType( - client, stuff->gc, XRT_GC, SecurityWriteAccess))) + client, stuff->gc, XRT_GC, DixWriteAccess))) return BadGC; FOR_NSCREENS_BACKWARD(j) { @@ -930,7 +932,7 @@ int PanoramiXFreeGC(ClientPtr client) REQUEST_SIZE_MATCH(xResourceReq); if(!(gc = (PanoramiXRes *)SecurityLookupIDByType( - client, stuff->id, XRT_GC, SecurityDestroyAccess))) + client, stuff->id, XRT_GC, DixDestroyAccess))) return BadGC; FOR_NSCREENS_BACKWARD(j) { @@ -956,7 +958,7 @@ int PanoramiXClearToBackground(ClientPtr client) REQUEST_SIZE_MATCH(xClearAreaReq); if(!(win = (PanoramiXRes *)SecurityLookupIDByType( - client, stuff->window, XRT_WINDOW, SecurityWriteAccess))) + client, stuff->window, XRT_WINDOW, DixWriteAccess))) return BadWindow; x = stuff->x; @@ -998,13 +1000,13 @@ int PanoramiXCopyArea(ClientPtr client) REQUEST_SIZE_MATCH(xCopyAreaReq); if(!(src = (PanoramiXRes *)SecurityLookupIDByClass( - client, stuff->srcDrawable, XRC_DRAWABLE, SecurityReadAccess))) + client, stuff->srcDrawable, XRC_DRAWABLE, DixReadAccess))) return BadDrawable; srcShared = IS_SHARED_PIXMAP(src); if(!(dst = (PanoramiXRes *)SecurityLookupIDByClass( - client, stuff->dstDrawable, XRC_DRAWABLE, SecurityWriteAccess))) + client, stuff->dstDrawable, XRC_DRAWABLE, DixWriteAccess))) return BadDrawable; dstShared = IS_SHARED_PIXMAP(dst); @@ -1013,7 +1015,7 @@ int PanoramiXCopyArea(ClientPtr client) return (* SavedProcVector[X_CopyArea])(client); if(!(gc = (PanoramiXRes *)SecurityLookupIDByType( - client, stuff->gc, XRT_GC, SecurityReadAccess))) + client, stuff->gc, XRT_GC, DixReadAccess))) return BadGC; if((dst->type == XRT_WINDOW) && dst->u.win.root) @@ -1028,10 +1030,14 @@ int PanoramiXCopyArea(ClientPtr client) DrawablePtr pDst; GCPtr pGC; char *data; - int pitch; + int pitch, rc; - FOR_NSCREENS(j) - VERIFY_DRAWABLE(drawables[j], src->info[j].id, client); + FOR_NSCREENS(j) { + rc = dixLookupDrawable(drawables+j, src->info[j].id, client, 0, + DixUnknownAccess); + if (rc != Success) + return rc; + } pitch = PixmapBytePad(stuff->width, drawables[0]->depth); if(!(data = xcalloc(1, stuff->height * pitch))) @@ -1065,6 +1071,7 @@ int PanoramiXCopyArea(ClientPtr client) DrawablePtr pDst = NULL, pSrc = NULL; GCPtr pGC = NULL; RegionPtr pRgn[MAXSCREENS]; + int rc; FOR_NSCREENS_BACKWARD(j) { stuff->dstDrawable = dst->info[j].id; @@ -1081,8 +1088,11 @@ int PanoramiXCopyArea(ClientPtr client) VALIDATE_DRAWABLE_AND_GC(stuff->dstDrawable, pDst, pGC, client); if (stuff->dstDrawable != stuff->srcDrawable) { - SECURITY_VERIFY_DRAWABLE(pSrc, stuff->srcDrawable, client, - SecurityReadAccess); + rc = dixLookupDrawable(&pSrc, stuff->srcDrawable, client, 0, + DixReadAccess); + if (rc != Success) + return rc; + if ((pDst->pScreen != pSrc->pScreen) || (pDst->depth != pSrc->depth)) { client->errorValue = stuff->dstDrawable; @@ -1133,7 +1143,7 @@ int PanoramiXCopyArea(ClientPtr client) int PanoramiXCopyPlane(ClientPtr client) { - int j, srcx, srcy, dstx, dsty; + int j, srcx, srcy, dstx, dsty, rc; PanoramiXRes *gc, *src, *dst; Bool srcIsRoot = FALSE; Bool dstIsRoot = FALSE; @@ -1146,13 +1156,13 @@ int PanoramiXCopyPlane(ClientPtr client) REQUEST_SIZE_MATCH(xCopyPlaneReq); if(!(src = (PanoramiXRes *)SecurityLookupIDByClass( - client, stuff->srcDrawable, XRC_DRAWABLE, SecurityReadAccess))) + client, stuff->srcDrawable, XRC_DRAWABLE, DixReadAccess))) return BadDrawable; srcShared = IS_SHARED_PIXMAP(src); if(!(dst = (PanoramiXRes *)SecurityLookupIDByClass( - client, stuff->dstDrawable, XRC_DRAWABLE, SecurityWriteAccess))) + client, stuff->dstDrawable, XRC_DRAWABLE, DixWriteAccess))) return BadDrawable; dstShared = IS_SHARED_PIXMAP(dst); @@ -1161,7 +1171,7 @@ int PanoramiXCopyPlane(ClientPtr client) return (* SavedProcVector[X_CopyPlane])(client); if(!(gc = (PanoramiXRes *)SecurityLookupIDByType( - client, stuff->gc, XRT_GC, SecurityReadAccess))) + client, stuff->gc, XRT_GC, DixReadAccess))) return BadGC; if((dst->type == XRT_WINDOW) && dst->u.win.root) @@ -1187,8 +1197,11 @@ int PanoramiXCopyPlane(ClientPtr client) VALIDATE_DRAWABLE_AND_GC(stuff->dstDrawable, pdstDraw, pGC, client); if (stuff->dstDrawable != stuff->srcDrawable) { - SECURITY_VERIFY_DRAWABLE(psrcDraw, stuff->srcDrawable, client, - SecurityReadAccess); + rc = dixLookupDrawable(&psrcDraw, stuff->srcDrawable, client, 0, + DixReadAccess); + if (rc != Success) + return rc; + if (pdstDraw->pScreen != psrcDraw->pScreen) { client->errorValue = stuff->dstDrawable; return (BadMatch); @@ -1246,14 +1259,14 @@ int PanoramiXPolyPoint(ClientPtr client) REQUEST_AT_LEAST_SIZE(xPolyPointReq); if(!(draw = (PanoramiXRes *)SecurityLookupIDByClass( - client, stuff->drawable, XRC_DRAWABLE, SecurityWriteAccess))) + client, stuff->drawable, XRC_DRAWABLE, DixWriteAccess))) return BadDrawable; if(IS_SHARED_PIXMAP(draw)) return (*SavedProcVector[X_PolyPoint])(client); if(!(gc = (PanoramiXRes *)SecurityLookupIDByType( - client, stuff->gc, XRT_GC, SecurityReadAccess))) + client, stuff->gc, XRT_GC, DixReadAccess))) return BadGC; isRoot = (draw->type == XRT_WINDOW) && draw->u.win.root; @@ -1304,14 +1317,14 @@ int PanoramiXPolyLine(ClientPtr client) REQUEST_AT_LEAST_SIZE(xPolyLineReq); if(!(draw = (PanoramiXRes *)SecurityLookupIDByClass( - client, stuff->drawable, XRC_DRAWABLE, SecurityWriteAccess))) + client, stuff->drawable, XRC_DRAWABLE, DixWriteAccess))) return BadDrawable; if(IS_SHARED_PIXMAP(draw)) return (*SavedProcVector[X_PolyLine])(client); if(!(gc = (PanoramiXRes *)SecurityLookupIDByType( - client, stuff->gc, XRT_GC, SecurityReadAccess))) + client, stuff->gc, XRT_GC, DixReadAccess))) return BadGC; isRoot = (draw->type == XRT_WINDOW) && draw->u.win.root; @@ -1362,14 +1375,14 @@ int PanoramiXPolySegment(ClientPtr client) REQUEST_AT_LEAST_SIZE(xPolySegmentReq); if(!(draw = (PanoramiXRes *)SecurityLookupIDByClass( - client, stuff->drawable, XRC_DRAWABLE, SecurityWriteAccess))) + client, stuff->drawable, XRC_DRAWABLE, DixWriteAccess))) return BadDrawable; if(IS_SHARED_PIXMAP(draw)) return (*SavedProcVector[X_PolySegment])(client); if(!(gc = (PanoramiXRes *)SecurityLookupIDByType( - client, stuff->gc, XRT_GC, SecurityReadAccess))) + client, stuff->gc, XRT_GC, DixReadAccess))) return BadGC; isRoot = (draw->type == XRT_WINDOW) && draw->u.win.root; @@ -1424,14 +1437,14 @@ int PanoramiXPolyRectangle(ClientPtr client) if(!(draw = (PanoramiXRes *)SecurityLookupIDByClass( - client, stuff->drawable, XRC_DRAWABLE, SecurityWriteAccess))) + client, stuff->drawable, XRC_DRAWABLE, DixWriteAccess))) return BadDrawable; if(IS_SHARED_PIXMAP(draw)) return (*SavedProcVector[X_PolyRectangle])(client); if(!(gc = (PanoramiXRes *)SecurityLookupIDByType( - client, stuff->gc, XRT_GC, SecurityReadAccess))) + client, stuff->gc, XRT_GC, DixReadAccess))) return BadGC; isRoot = (draw->type == XRT_WINDOW) && draw->u.win.root; @@ -1484,14 +1497,14 @@ int PanoramiXPolyArc(ClientPtr client) REQUEST_AT_LEAST_SIZE(xPolyArcReq); if(!(draw = (PanoramiXRes *)SecurityLookupIDByClass( - client, stuff->drawable, XRC_DRAWABLE, SecurityWriteAccess))) + client, stuff->drawable, XRC_DRAWABLE, DixWriteAccess))) return BadDrawable; if(IS_SHARED_PIXMAP(draw)) return (*SavedProcVector[X_PolyArc])(client); if(!(gc = (PanoramiXRes *)SecurityLookupIDByType( - client, stuff->gc, XRT_GC, SecurityReadAccess))) + client, stuff->gc, XRT_GC, DixReadAccess))) return BadGC; isRoot = (draw->type == XRT_WINDOW) && draw->u.win.root; @@ -1542,14 +1555,14 @@ int PanoramiXFillPoly(ClientPtr client) REQUEST_AT_LEAST_SIZE(xFillPolyReq); if(!(draw = (PanoramiXRes *)SecurityLookupIDByClass( - client, stuff->drawable, XRC_DRAWABLE, SecurityWriteAccess))) + client, stuff->drawable, XRC_DRAWABLE, DixWriteAccess))) return BadDrawable; if(IS_SHARED_PIXMAP(draw)) return (*SavedProcVector[X_FillPoly])(client); if(!(gc = (PanoramiXRes *)SecurityLookupIDByType( - client, stuff->gc, XRT_GC, SecurityReadAccess))) + client, stuff->gc, XRT_GC, DixReadAccess))) return BadGC; isRoot = (draw->type == XRT_WINDOW) && draw->u.win.root; @@ -1601,14 +1614,14 @@ int PanoramiXPolyFillRectangle(ClientPtr client) REQUEST_AT_LEAST_SIZE(xPolyFillRectangleReq); if(!(draw = (PanoramiXRes *)SecurityLookupIDByClass( - client, stuff->drawable, XRC_DRAWABLE, SecurityWriteAccess))) + client, stuff->drawable, XRC_DRAWABLE, DixWriteAccess))) return BadDrawable; if(IS_SHARED_PIXMAP(draw)) return (*SavedProcVector[X_PolyFillRectangle])(client); if(!(gc = (PanoramiXRes *)SecurityLookupIDByType( - client, stuff->gc, XRT_GC, SecurityReadAccess))) + client, stuff->gc, XRT_GC, DixReadAccess))) return BadGC; isRoot = (draw->type == XRT_WINDOW) && draw->u.win.root; @@ -1660,14 +1673,14 @@ int PanoramiXPolyFillArc(ClientPtr client) REQUEST_AT_LEAST_SIZE(xPolyFillArcReq); if(!(draw = (PanoramiXRes *)SecurityLookupIDByClass( - client, stuff->drawable, XRC_DRAWABLE, SecurityWriteAccess))) + client, stuff->drawable, XRC_DRAWABLE, DixWriteAccess))) return BadDrawable; if(IS_SHARED_PIXMAP(draw)) return (*SavedProcVector[X_PolyFillArc])(client); if(!(gc = (PanoramiXRes *)SecurityLookupIDByType( - client, stuff->gc, XRT_GC, SecurityReadAccess))) + client, stuff->gc, XRT_GC, DixReadAccess))) return BadGC; isRoot = (draw->type == XRT_WINDOW) && draw->u.win.root; @@ -1718,14 +1731,14 @@ int PanoramiXPutImage(ClientPtr client) REQUEST_AT_LEAST_SIZE(xPutImageReq); if(!(draw = (PanoramiXRes *)SecurityLookupIDByClass( - client, stuff->drawable, XRC_DRAWABLE, SecurityWriteAccess))) + client, stuff->drawable, XRC_DRAWABLE, DixWriteAccess))) return BadDrawable; if(IS_SHARED_PIXMAP(draw)) return (*SavedProcVector[X_PutImage])(client); if(!(gc = (PanoramiXRes *)SecurityLookupIDByType( - client, stuff->gc, XRT_GC, SecurityReadAccess))) + client, stuff->gc, XRT_GC, DixReadAccess))) return BadGC; isRoot = (draw->type == XRT_WINDOW) && draw->u.win.root; @@ -1754,7 +1767,7 @@ int PanoramiXGetImage(ClientPtr client) xGetImageReply xgi; Bool isRoot; char *pBuf; - int i, x, y, w, h, format; + int i, x, y, w, h, format, rc; Mask plane = 0, planemask; int linesDone, nlines, linesPerBuf; long widthBytesLine, length; @@ -1769,13 +1782,16 @@ int PanoramiXGetImage(ClientPtr client) } if(!(draw = (PanoramiXRes *)SecurityLookupIDByClass( - client, stuff->drawable, XRC_DRAWABLE, SecurityWriteAccess))) + client, stuff->drawable, XRC_DRAWABLE, DixWriteAccess))) return BadDrawable; if(draw->type == XRT_PIXMAP) return (*SavedProcVector[X_GetImage])(client); - VERIFY_DRAWABLE(pDraw, stuff->drawable, client); + rc = dixLookupDrawable(&pDraw, stuff->drawable, client, 0, + DixUnknownAccess); + if (rc != Success) + return rc; if(!((WindowPtr)pDraw)->realized) return(BadMatch); @@ -1809,8 +1825,12 @@ int PanoramiXGetImage(ClientPtr client) } drawables[0] = pDraw; - for(i = 1; i < PanoramiXNumScreens; i++) - VERIFY_DRAWABLE(drawables[i], draw->info[i].id, client); + for(i = 1; i < PanoramiXNumScreens; i++) { + rc = dixLookupDrawable(drawables+i, draw->info[i].id, client, 0, + DixUnknownAccess); + if (rc != Success) + return rc; + } xgi.visual = wVisual (((WindowPtr) pDraw)); xgi.type = X_Reply; @@ -1909,14 +1929,14 @@ PanoramiXPolyText8(ClientPtr client) REQUEST_AT_LEAST_SIZE(xPolyTextReq); if(!(draw = (PanoramiXRes *)SecurityLookupIDByClass( - client, stuff->drawable, XRC_DRAWABLE, SecurityWriteAccess))) + client, stuff->drawable, XRC_DRAWABLE, DixWriteAccess))) return BadDrawable; if(IS_SHARED_PIXMAP(draw)) return (*SavedProcVector[X_PolyText8])(client); if(!(gc = (PanoramiXRes *)SecurityLookupIDByType( - client, stuff->gc, XRT_GC, SecurityReadAccess))) + client, stuff->gc, XRT_GC, DixReadAccess))) return BadGC; isRoot = (draw->type == XRT_WINDOW) && draw->u.win.root; @@ -1948,14 +1968,14 @@ PanoramiXPolyText16(ClientPtr client) REQUEST_AT_LEAST_SIZE(xPolyTextReq); if(!(draw = (PanoramiXRes *)SecurityLookupIDByClass( - client, stuff->drawable, XRC_DRAWABLE, SecurityWriteAccess))) + client, stuff->drawable, XRC_DRAWABLE, DixWriteAccess))) return BadDrawable; if(IS_SHARED_PIXMAP(draw)) return (*SavedProcVector[X_PolyText16])(client); if(!(gc = (PanoramiXRes *)SecurityLookupIDByType( - client, stuff->gc, XRT_GC, SecurityReadAccess))) + client, stuff->gc, XRT_GC, DixReadAccess))) return BadGC; isRoot = (draw->type == XRT_WINDOW) && draw->u.win.root; @@ -1987,14 +2007,14 @@ int PanoramiXImageText8(ClientPtr client) REQUEST_FIXED_SIZE(xImageTextReq, stuff->nChars); if(!(draw = (PanoramiXRes *)SecurityLookupIDByClass( - client, stuff->drawable, XRC_DRAWABLE, SecurityWriteAccess))) + client, stuff->drawable, XRC_DRAWABLE, DixWriteAccess))) return BadDrawable; if(IS_SHARED_PIXMAP(draw)) return (*SavedProcVector[X_ImageText8])(client); if(!(gc = (PanoramiXRes *)SecurityLookupIDByType( - client, stuff->gc, XRT_GC, SecurityReadAccess))) + client, stuff->gc, XRT_GC, DixReadAccess))) return BadGC; isRoot = (draw->type == XRT_WINDOW) && draw->u.win.root; @@ -2026,14 +2046,14 @@ int PanoramiXImageText16(ClientPtr client) REQUEST_FIXED_SIZE(xImageTextReq, stuff->nChars << 1); if(!(draw = (PanoramiXRes *)SecurityLookupIDByClass( - client, stuff->drawable, XRC_DRAWABLE, SecurityWriteAccess))) + client, stuff->drawable, XRC_DRAWABLE, DixWriteAccess))) return BadDrawable; if(IS_SHARED_PIXMAP(draw)) return (*SavedProcVector[X_ImageText16])(client); if(!(gc = (PanoramiXRes *)SecurityLookupIDByType( - client, stuff->gc, XRT_GC, SecurityReadAccess))) + client, stuff->gc, XRT_GC, DixReadAccess))) return BadGC; isRoot = (draw->type == XRT_WINDOW) && draw->u.win.root; @@ -2064,7 +2084,7 @@ int PanoramiXCreateColormap(ClientPtr client) REQUEST_SIZE_MATCH(xCreateColormapReq); if(!(win = (PanoramiXRes *)SecurityLookupIDByType( - client, stuff->window, XRT_WINDOW, SecurityReadAccess))) + client, stuff->window, XRT_WINDOW, DixReadAccess))) return BadWindow; if(!stuff->visual || (stuff->visual > 255)) @@ -2107,7 +2127,7 @@ int PanoramiXFreeColormap(ClientPtr client) client->errorValue = stuff->id; if(!(cmap = (PanoramiXRes *)SecurityLookupIDByType( - client, stuff->id, XRT_COLORMAP, SecurityDestroyAccess))) + client, stuff->id, XRT_COLORMAP, DixDestroyAccess))) return BadColor; FOR_NSCREENS_BACKWARD(j) { @@ -2136,7 +2156,7 @@ PanoramiXCopyColormapAndFree(ClientPtr client) if(!(cmap = (PanoramiXRes *)SecurityLookupIDByType( client, stuff->srcCmap, XRT_COLORMAP, - SecurityReadAccess | SecurityWriteAccess))) + DixReadAccess | DixWriteAccess))) return BadColor; if(!(newCmap = (PanoramiXRes *) xalloc(sizeof(PanoramiXRes)))) @@ -2174,7 +2194,7 @@ int PanoramiXInstallColormap(ClientPtr client) client->errorValue = stuff->id; if(!(cmap = (PanoramiXRes *)SecurityLookupIDByType( - client, stuff->id, XRT_COLORMAP, SecurityReadAccess))) + client, stuff->id, XRT_COLORMAP, DixReadAccess))) return BadColor; FOR_NSCREENS_BACKWARD(j){ @@ -2197,7 +2217,7 @@ int PanoramiXUninstallColormap(ClientPtr client) client->errorValue = stuff->id; if(!(cmap = (PanoramiXRes *)SecurityLookupIDByType( - client, stuff->id, XRT_COLORMAP, SecurityReadAccess))) + client, stuff->id, XRT_COLORMAP, DixReadAccess))) return BadColor; FOR_NSCREENS_BACKWARD(j) { @@ -2220,7 +2240,7 @@ int PanoramiXAllocColor(ClientPtr client) client->errorValue = stuff->cmap; if(!(cmap = (PanoramiXRes *)SecurityLookupIDByType( - client, stuff->cmap, XRT_COLORMAP, SecurityWriteAccess))) + client, stuff->cmap, XRT_COLORMAP, DixWriteAccess))) return BadColor; FOR_NSCREENS_BACKWARD(j){ @@ -2243,7 +2263,7 @@ int PanoramiXAllocNamedColor(ClientPtr client) client->errorValue = stuff->cmap; if(!(cmap = (PanoramiXRes *)SecurityLookupIDByType( - client, stuff->cmap, XRT_COLORMAP, SecurityWriteAccess))) + client, stuff->cmap, XRT_COLORMAP, DixWriteAccess))) return BadColor; FOR_NSCREENS_BACKWARD(j){ @@ -2266,7 +2286,7 @@ int PanoramiXAllocColorCells(ClientPtr client) client->errorValue = stuff->cmap; if(!(cmap = (PanoramiXRes *)SecurityLookupIDByType( - client, stuff->cmap, XRT_COLORMAP, SecurityWriteAccess))) + client, stuff->cmap, XRT_COLORMAP, DixWriteAccess))) return BadColor; FOR_NSCREENS_BACKWARD(j){ @@ -2289,7 +2309,7 @@ int PanoramiXAllocColorPlanes(ClientPtr client) client->errorValue = stuff->cmap; if(!(cmap = (PanoramiXRes *)SecurityLookupIDByType( - client, stuff->cmap, XRT_COLORMAP, SecurityWriteAccess))) + client, stuff->cmap, XRT_COLORMAP, DixWriteAccess))) return BadColor; FOR_NSCREENS_BACKWARD(j){ @@ -2313,7 +2333,7 @@ int PanoramiXFreeColors(ClientPtr client) client->errorValue = stuff->cmap; if(!(cmap = (PanoramiXRes *)SecurityLookupIDByType( - client, stuff->cmap, XRT_COLORMAP, SecurityWriteAccess))) + client, stuff->cmap, XRT_COLORMAP, DixWriteAccess))) return BadColor; FOR_NSCREENS_BACKWARD(j) { @@ -2335,7 +2355,7 @@ int PanoramiXStoreColors(ClientPtr client) client->errorValue = stuff->cmap; if(!(cmap = (PanoramiXRes *)SecurityLookupIDByType( - client, stuff->cmap, XRT_COLORMAP, SecurityWriteAccess))) + client, stuff->cmap, XRT_COLORMAP, DixWriteAccess))) return BadColor; FOR_NSCREENS_BACKWARD(j){ @@ -2358,7 +2378,7 @@ int PanoramiXStoreNamedColor(ClientPtr client) client->errorValue = stuff->cmap; if(!(cmap = (PanoramiXRes *)SecurityLookupIDByType( - client, stuff->cmap, XRT_COLORMAP, SecurityWriteAccess))) + client, stuff->cmap, XRT_COLORMAP, DixWriteAccess))) return BadColor; FOR_NSCREENS_BACKWARD(j){ diff --git a/xserver/Xext/panoramiXsrv.h b/xserver/Xext/panoramiXsrv.h index bb032cfae..ae9024418 100644 --- a/xserver/Xext/panoramiXsrv.h +++ b/xserver/Xext/panoramiXsrv.h @@ -12,14 +12,11 @@ extern int PanoramiXNumScreens; extern PanoramiXData *panoramiXdataPtr; extern int PanoramiXPixWidth; extern int PanoramiXPixHeight; -extern RegionRec PanoramiXScreenRegion; extern XID *PanoramiXVisualTable; extern void PanoramiXConsolidate(void); extern Bool PanoramiXCreateConnectionBlock(void); extern PanoramiXRes * PanoramiXFindIDByScrnum(RESTYPE, XID, int); -extern PanoramiXRes * PanoramiXFindIDOnAnyScreen(RESTYPE, XID); -extern WindowPtr PanoramiXChangeWindow(int, WindowPtr); extern Bool XineramaRegisterConnectionBlockCallback(void (*func)(void)); extern int XineramaDeleteResource(pointer, XID); diff --git a/xserver/Xext/sampleEVI.c b/xserver/Xext/sampleEVI.c index d9c569609..7508aa773 100644 --- a/xserver/Xext/sampleEVI.c +++ b/xserver/Xext/sampleEVI.c @@ -20,7 +20,6 @@ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ********************************************************/ -/* $XFree86$ */ #ifdef HAVE_DIX_CONFIG_H #include diff --git a/xserver/Xext/saver.c b/xserver/Xext/saver.c index 1d223ae53..a9f1dd36c 100644 --- a/xserver/Xext/saver.c +++ b/xserver/Xext/saver.c @@ -66,7 +66,7 @@ static unsigned char ScreenSaverReqCode = 0; #endif static int ScreenSaverEventBase = 0; -extern DISPATCH_PROC(ProcScreenSaverQueryInfo); +static DISPATCH_PROC(ProcScreenSaverQueryInfo); static DISPATCH_PROC(ProcScreenSaverDispatch); static DISPATCH_PROC(ProcScreenSaverQueryVersion); static DISPATCH_PROC(ProcScreenSaverSelectInput); @@ -774,22 +774,23 @@ ProcScreenSaverQueryVersion (client) return (client->noClientException); } -int +static int ProcScreenSaverQueryInfo (client) register ClientPtr client; { REQUEST(xScreenSaverQueryInfoReq); xScreenSaverQueryInfoReply rep; - register int n; + register int n, rc; ScreenSaverStuffPtr pSaver; DrawablePtr pDraw; CARD32 lastInput; ScreenSaverScreenPrivatePtr pPriv; REQUEST_SIZE_MATCH (xScreenSaverQueryInfoReq); - pDraw = (DrawablePtr) LookupDrawable (stuff->drawable, client); - if (!pDraw) - return BadDrawable; + rc = dixLookupDrawable(&pDraw, stuff->drawable, client, 0, + DixUnknownAccess); + if (rc != Success) + return rc; pSaver = &savedScreenInfo[pDraw->pScreen->myNum]; pPriv = GetScreenPrivate (pDraw->pScreen); @@ -852,11 +853,13 @@ ProcScreenSaverSelectInput (client) { REQUEST(xScreenSaverSelectInputReq); DrawablePtr pDraw; + int rc; REQUEST_SIZE_MATCH (xScreenSaverSelectInputReq); - pDraw = (DrawablePtr) LookupDrawable (stuff->drawable, client); - if (!pDraw) - return BadDrawable; + rc = dixLookupDrawable (&pDraw, stuff->drawable, client, 0, + DixUnknownAccess); + if (rc != Success) + return rc; if (!setEventMask (pDraw->pScreen, client, stuff->eventMask)) return BadAlloc; return Success; @@ -871,9 +874,7 @@ ScreenSaverSetAttributes (ClientPtr client) ScreenPtr pScreen; ScreenSaverScreenPrivatePtr pPriv = 0; ScreenSaverAttrPtr pAttr = 0; - int ret; - int len; - int class, bw, depth; + int ret, len, class, bw, depth; unsigned long visual; int idepth, ivisual; Bool fOK; @@ -891,9 +892,10 @@ ScreenSaverSetAttributes (ClientPtr client) ColormapPtr pCmap; REQUEST_AT_LEAST_SIZE (xScreenSaverSetAttributesReq); - pDraw = (DrawablePtr) LookupDrawable (stuff->drawable, client); - if (!pDraw) - return BadDrawable; + ret = dixLookupDrawable(&pDraw, stuff->drawable, client, 0, + DixUnknownAccess); + if (ret != Success) + return ret; pScreen = pDraw->pScreen; pParent = WindowTable[pScreen->myNum]; @@ -1246,11 +1248,13 @@ ScreenSaverUnsetAttributes (ClientPtr client) REQUEST(xScreenSaverSetAttributesReq); DrawablePtr pDraw; ScreenSaverScreenPrivatePtr pPriv; + int rc; REQUEST_SIZE_MATCH (xScreenSaverUnsetAttributesReq); - pDraw = (DrawablePtr) LookupDrawable (stuff->drawable, client); - if (!pDraw) - return BadDrawable; + rc = dixLookupDrawable(&pDraw, stuff->drawable, client, 0, + DixUnknownAccess); + if (rc != Success) + return rc; pPriv = GetScreenPrivate (pDraw->pScreen); if (pPriv && pPriv->attr && pPriv->attr->client == client) { @@ -1279,7 +1283,7 @@ ProcScreenSaverSetAttributes (ClientPtr client) REQUEST_AT_LEAST_SIZE (xScreenSaverSetAttributesReq); if(!(draw = (PanoramiXRes *)SecurityLookupIDByClass( - client, stuff->drawable, XRC_DRAWABLE, SecurityWriteAccess))) + client, stuff->drawable, XRC_DRAWABLE, DixWriteAccess))) return BadDrawable; len = stuff->length - (sizeof(xScreenSaverSetAttributesReq) >> 2); @@ -1291,7 +1295,7 @@ ProcScreenSaverSetAttributes (ClientPtr client) tmp = *((CARD32 *) &stuff[1] + pback_offset); if ((tmp != None) && (tmp != ParentRelative)) { if(!(backPix = (PanoramiXRes*) SecurityLookupIDByType( - client, tmp, XRT_PIXMAP, SecurityReadAccess))) + client, tmp, XRT_PIXMAP, DixReadAccess))) return BadPixmap; } } @@ -1301,7 +1305,7 @@ ProcScreenSaverSetAttributes (ClientPtr client) tmp = *((CARD32 *) &stuff[1] + pbord_offset); if (tmp != CopyFromParent) { if(!(bordPix = (PanoramiXRes*) SecurityLookupIDByType( - client, tmp, XRT_PIXMAP, SecurityReadAccess))) + client, tmp, XRT_PIXMAP, DixReadAccess))) return BadPixmap; } } @@ -1311,7 +1315,7 @@ ProcScreenSaverSetAttributes (ClientPtr client) tmp = *((CARD32 *) &stuff[1] + cmap_offset); if ((tmp != CopyFromParent) && (tmp != None)) { if(!(cmap = (PanoramiXRes*) SecurityLookupIDByType( - client, tmp, XRT_COLORMAP, SecurityReadAccess))) + client, tmp, XRT_COLORMAP, DixReadAccess))) return BadColor; } } @@ -1351,7 +1355,7 @@ ProcScreenSaverUnsetAttributes (ClientPtr client) int i; if(!(draw = (PanoramiXRes *)SecurityLookupIDByClass( - client, stuff->drawable, XRC_DRAWABLE, SecurityWriteAccess))) + client, stuff->drawable, XRC_DRAWABLE, DixWriteAccess))) return BadDrawable; for(i = PanoramiXNumScreens - 1; i > 0; i--) { diff --git a/xserver/Xext/security.c b/xserver/Xext/security.c index ac762794a..ba057defd 100644 --- a/xserver/Xext/security.c +++ b/xserver/Xext/security.c @@ -77,7 +77,7 @@ typedef struct { #define AUTHID(client) \ (((SecurityClientStateRec*)STATEPTR(client))->authId) -CallbackListPtr SecurityValidateGroupCallback = NULL; /* see security.h */ +static CallbackListPtr SecurityValidateGroupCallback = NULL; RESTYPE SecurityAuthorizationResType; /* resource type for authorizations */ @@ -600,7 +600,7 @@ ProcSecurityRevokeAuthorization( REQUEST_SIZE_MATCH(xSecurityRevokeAuthorizationReq); pAuth = (SecurityAuthorizationPtr)SecurityLookupIDByType(client, - stuff->authId, SecurityAuthorizationResType, SecurityDestroyAccess); + stuff->authId, SecurityAuthorizationResType, DixDestroyAccess); if (!pAuth) return SecurityErrorBase + XSecurityBadAuthorization; @@ -946,10 +946,10 @@ SecurityAuditResourceIDAccess( * rtype is its type or class. * access_mode represents the intended use of the resource; see * resource.h. - * rval is a pointer to the resource structure for this resource. + * res is a pointer to the resource structure for this resource. * * Returns: - * If access is granted, the value of rval that was passed in, else NULL. + * If access is granted, the value of rval that was passed in, else FALSE. * * Side Effects: * Disallowed resource accesses are audited. @@ -966,7 +966,7 @@ CALLBACK(SecurityCheckResourceIDAccess) int cid, reqtype; if (TRUSTLEVEL(client) == XSecurityClientTrusted || - SecurityUnknownAccess == access_mode) + DixUnknownAccess == access_mode) return; /* for compatibility, we have to allow access */ cid = CLIENT_ID(id); @@ -1187,6 +1187,7 @@ CALLBACK(SecurityCheckMapAccess) if (STATEPTR(rec->client) && (TRUSTLEVEL(rec->client) != XSecurityClientTrusted) && (pWin->drawable.class == InputOnly) && + pWin->parent && pWin->parent->parent && (TRUSTLEVEL(wClient(pWin->parent)) == XSecurityClientTrusted)) rec->rval = FALSE; @@ -1217,7 +1218,7 @@ CALLBACK(SecurityCheckHostlistAccess) if (TRUSTLEVEL(rec->client) != XSecurityClientTrusted) { rec->rval = FALSE; - if (rec->access_mode == SecurityWriteAccess) + if (rec->access_mode == DixWriteAccess) SecurityAudit("client %d attempted to change host access\n", rec->client->index); else @@ -1251,7 +1252,7 @@ typedef struct _PropertyAccessRec { } PropertyAccessRec, *PropertyAccessPtr; static PropertyAccessPtr PropertyAccessList = NULL; -static char SecurityDefaultAction = SecurityErrorOperation; +static char SecurityDefaultAction = XaceErrorOperation; static char *SecurityPolicyFile = DEFAULTPOLICYFILE; static ATOM SecurityMaxPropertyName = 0; @@ -1284,11 +1285,7 @@ SecurityFreePropertyAccessList(void) } } /* SecurityFreePropertyAccessList */ -#ifndef __UNIXOS2__ #define SecurityIsWhitespace(c) ( (c == ' ') || (c == '\t') || (c == '\n') ) -#else -#define SecurityIsWhitespace(c) ( (c == ' ') || (c == '\t') || (c == '\n') || (c == '\r') ) -#endif static char * SecuritySkipWhitespace( @@ -1410,9 +1407,9 @@ SecurityParsePropertyAccessRule( { switch (c) { - case 'i': action = SecurityIgnoreOperation; break; - case 'a': action = SecurityAllowOperation; break; - case 'e': action = SecurityErrorOperation; break; + case 'i': action = XaceIgnoreOperation; break; + case 'a': action = XaceAllowOperation; break; + case 'e': action = XaceErrorOperation; break; case 'r': readAction = action; break; case 'w': writeAction = action; break; @@ -1566,11 +1563,7 @@ SecurityLoadPropertyAccessList(void) if (!SecurityPolicyFile) return; -#ifndef __UNIXOS2__ f = fopen(SecurityPolicyFile, "r"); -#else - f = fopen((char*)__XOS2RedirRoot(SecurityPolicyFile), "r"); -#endif if (!f) { ErrorF("error opening security policy file %s\n", @@ -1797,22 +1790,22 @@ CALLBACK(SecurityCheckPropertyAccess) * If pacl doesn't apply, something above should have * executed a continue, which will skip the follwing code. */ - action = SecurityAllowOperation; - if (access_mode & SecurityReadAccess) + action = XaceAllowOperation; + if (access_mode & DixReadAccess) action = max(action, pacl->readAction); - if (access_mode & SecurityWriteAccess) + if (access_mode & DixWriteAccess) action = max(action, pacl->writeAction); - if (access_mode & SecurityDestroyAccess) + if (access_mode & DixDestroyAccess) action = max(action, pacl->destroyAction); break; } /* end for each pacl */ } /* end if propertyName <= SecurityMaxPropertyName */ - if (SecurityAllowOperation != action) + if (XaceAllowOperation != action) { /* audit the access violation */ int cid = CLIENT_ID(pWin->drawable.id); int reqtype = ((xReq *)client->requestBuffer)->reqType; - char *actionstr = (SecurityIgnoreOperation == action) ? + char *actionstr = (XaceIgnoreOperation == action) ? "ignored" : "error"; SecurityAudit("client %d attempted request %d with window 0x%x property %s (atom 0x%x) of client %d, %s\n", client->index, reqtype, pWin->drawable.id, diff --git a/xserver/Xext/securitysrv.h b/xserver/Xext/securitysrv.h index 7c6f432fe..67d864e2e 100644 --- a/xserver/Xext/securitysrv.h +++ b/xserver/Xext/securitysrv.h @@ -72,15 +72,6 @@ typedef struct { struct _OtherClients *eventClients; /* clients wanting events */ } SecurityAuthorizationRec, *SecurityAuthorizationPtr; -/* The following callback is called when a GenerateAuthorization request - * is processed to sanity check the group argument. The call data will - * be a pointer to a SecurityValidateGroupInfoRec (below). - * Functions registered on this callback are expected to examine the - * group and set the valid field to TRUE if they recognize the group as a - * legitimate group. If they don't recognize it, they should not change the - * valid field. - */ -extern CallbackListPtr SecurityValidateGroupCallback; typedef struct { XID group; /* the group that was sent in GenerateAuthorization */ Bool valid; /* did anyone recognize it? if so, set to TRUE */ diff --git a/xserver/Xext/shape.c b/xserver/Xext/shape.c index 4d9d3fb5b..928eeee31 100644 --- a/xserver/Xext/shape.c +++ b/xserver/Xext/shape.c @@ -316,16 +316,16 @@ ProcShapeRectangles (client) ScreenPtr pScreen; REQUEST(xShapeRectanglesReq); xRectangle *prects; - int nrects, ctype; + int nrects, ctype, rc; RegionPtr srcRgn; RegionPtr *destRgn; CreateDftPtr createDefault; REQUEST_AT_LEAST_SIZE (xShapeRectanglesReq); UpdateCurrentTime(); - pWin = LookupWindow (stuff->dest, client); - if (!pWin) - return BadWindow; + rc = dixLookupWindow(&pWin, stuff->dest, client, DixUnknownAccess); + if (rc != Success) + return rc; switch (stuff->destKind) { case ShapeBounding: createDefault = CreateBoundingShape; @@ -390,7 +390,7 @@ ProcPanoramiXShapeRectangles( REQUEST_AT_LEAST_SIZE (xShapeRectanglesReq); if(!(win = (PanoramiXRes *)SecurityLookupIDByType( - client, stuff->dest, XRT_WINDOW, SecurityWriteAccess))) + client, stuff->dest, XRT_WINDOW, DixWriteAccess))) return BadWindow; FOR_NSCREENS(j) { @@ -419,12 +419,13 @@ ProcShapeMask (client) RegionPtr *destRgn; PixmapPtr pPixmap; CreateDftPtr createDefault; + int rc; REQUEST_SIZE_MATCH (xShapeMaskReq); UpdateCurrentTime(); - pWin = SecurityLookupWindow (stuff->dest, client, SecurityWriteAccess); - if (!pWin) - return BadWindow; + rc = dixLookupWindow(&pWin, stuff->dest, client, DixWriteAccess); + if (rc != Success) + return rc; switch (stuff->destKind) { case ShapeBounding: createDefault = CreateBoundingShape; @@ -444,7 +445,7 @@ ProcShapeMask (client) srcRgn = 0; else { pPixmap = (PixmapPtr) SecurityLookupIDByType(client, stuff->src, - RT_PIXMAP, SecurityReadAccess); + RT_PIXMAP, DixReadAccess); if (!pPixmap) return BadPixmap; if (pPixmap->drawable.pScreen != pScreen || @@ -488,12 +489,12 @@ ProcPanoramiXShapeMask( REQUEST_SIZE_MATCH (xShapeMaskReq); if(!(win = (PanoramiXRes *)SecurityLookupIDByType( - client, stuff->dest, XRT_WINDOW, SecurityWriteAccess))) + client, stuff->dest, XRT_WINDOW, DixWriteAccess))) return BadWindow; if(stuff->src != None) { if(!(pmap = (PanoramiXRes *)SecurityLookupIDByType( - client, stuff->src, XRT_PIXMAP, SecurityReadAccess))) + client, stuff->src, XRT_PIXMAP, DixReadAccess))) return BadPixmap; } else pmap = NULL; @@ -526,12 +527,13 @@ ProcShapeCombine (client) CreateDftPtr createDefault; CreateDftPtr createSrc; RegionPtr tmp; + int rc; REQUEST_SIZE_MATCH (xShapeCombineReq); UpdateCurrentTime(); - pDestWin = LookupWindow (stuff->dest, client); - if (!pDestWin) - return BadWindow; + rc = dixLookupWindow(&pDestWin, stuff->dest, client, DixUnknownAccess); + if (rc != Success) + return rc; if (!pDestWin->optional) MakeWindowOptional (pDestWin); switch (stuff->destKind) { @@ -550,9 +552,9 @@ ProcShapeCombine (client) } pScreen = pDestWin->drawable.pScreen; - pSrcWin = LookupWindow (stuff->src, client); - if (!pSrcWin) - return BadWindow; + rc = dixLookupWindow(&pSrcWin, stuff->src, client, DixUnknownAccess); + if (rc != Success) + return rc; switch (stuff->srcKind) { case ShapeBounding: srcRgn = wBoundingShape (pSrcWin); @@ -616,11 +618,11 @@ ProcPanoramiXShapeCombine( REQUEST_AT_LEAST_SIZE (xShapeCombineReq); if(!(win = (PanoramiXRes *)SecurityLookupIDByType( - client, stuff->dest, XRT_WINDOW, SecurityWriteAccess))) + client, stuff->dest, XRT_WINDOW, DixWriteAccess))) return BadWindow; if(!(win2 = (PanoramiXRes *)SecurityLookupIDByType( - client, stuff->src, XRT_WINDOW, SecurityReadAccess))) + client, stuff->src, XRT_WINDOW, DixReadAccess))) return BadWindow; FOR_NSCREENS(j) { @@ -645,12 +647,13 @@ ProcShapeOffset (client) ScreenPtr pScreen; REQUEST(xShapeOffsetReq); RegionPtr srcRgn; + int rc; REQUEST_SIZE_MATCH (xShapeOffsetReq); UpdateCurrentTime(); - pWin = LookupWindow (stuff->dest, client); - if (!pWin) - return BadWindow; + rc = dixLookupWindow(&pWin, stuff->dest, client, DixUnknownAccess); + if (rc != Success) + return rc; switch (stuff->destKind) { case ShapeBounding: srcRgn = wBoundingShape (pWin); @@ -688,7 +691,7 @@ ProcPanoramiXShapeOffset( REQUEST_AT_LEAST_SIZE (xShapeOffsetReq); if(!(win = (PanoramiXRes *)SecurityLookupIDByType( - client, stuff->dest, XRT_WINDOW, SecurityWriteAccess))) + client, stuff->dest, XRT_WINDOW, DixWriteAccess))) return BadWindow; FOR_NSCREENS(j) { @@ -709,13 +712,13 @@ ProcShapeQueryExtents (client) WindowPtr pWin; xShapeQueryExtentsReply rep; BoxRec extents, *pExtents; - register int n; + register int n, rc; RegionPtr region; REQUEST_SIZE_MATCH (xShapeQueryExtentsReq); - pWin = LookupWindow (stuff->window, client); - if (!pWin) - return BadWindow; + rc = dixLookupWindow(&pWin, stuff->window, client, DixUnknownAccess); + if (rc != Success) + return rc; rep.type = X_Reply; rep.length = 0; rep.sequenceNumber = client->sequence; @@ -820,13 +823,14 @@ ProcShapeSelectInput (client) WindowPtr pWin; ShapeEventPtr pShapeEvent, pNewShapeEvent, *pHead; XID clientResource; + int rc; REQUEST_SIZE_MATCH (xShapeSelectInputReq); - pWin = SecurityLookupWindow (stuff->window, client, SecurityWriteAccess); - if (!pWin) - return BadWindow; + rc = dixLookupWindow(&pWin, stuff->window, client, DixWriteAccess); + if (rc != Success) + return rc; pHead = (ShapeEventPtr *)SecurityLookupIDByType(client, - pWin->drawable.id, EventType, SecurityWriteAccess); + pWin->drawable.id, EventType, DixWriteAccess); switch (stuff->enable) { case xTrue: if (pHead) { @@ -990,16 +994,16 @@ ProcShapeInputSelected (client) REQUEST(xShapeInputSelectedReq); WindowPtr pWin; ShapeEventPtr pShapeEvent, *pHead; - int enabled; + int enabled, rc; xShapeInputSelectedReply rep; register int n; REQUEST_SIZE_MATCH (xShapeInputSelectedReq); - pWin = LookupWindow (stuff->window, client); - if (!pWin) - return BadWindow; + rc = dixLookupWindow(&pWin, stuff->window, client, DixUnknownAccess); + if (rc != Success) + return rc; pHead = (ShapeEventPtr *) SecurityLookupIDByType(client, - pWin->drawable.id, EventType, SecurityReadAccess); + pWin->drawable.id, EventType, DixReadAccess); enabled = xFalse; if (pHead) { for (pShapeEvent = *pHead; @@ -1032,14 +1036,14 @@ ProcShapeGetRectangles (client) WindowPtr pWin; xShapeGetRectanglesReply rep; xRectangle *rects; - int nrects, i; + int nrects, i, rc; RegionPtr region; register int n; REQUEST_SIZE_MATCH(xShapeGetRectanglesReq); - pWin = LookupWindow (stuff->window, client); - if (!pWin) - return BadWindow; + rc = dixLookupWindow(&pWin, stuff->window, client, DixUnknownAccess); + if (rc != Success) + return rc; switch (stuff->kind) { case ShapeBounding: region = wBoundingShape(pWin); diff --git a/xserver/Xext/shmint.h b/xserver/Xext/shmint.h index 64cec38dd..fc056bc72 100644 --- a/xserver/Xext/shmint.h +++ b/xserver/Xext/shmint.h @@ -1,6 +1,4 @@ /* - * $Id: shmint.h,v 1.1.1.1 2006/11/26 18:14:47 matthieu Exp $ - * * Copyright © 2003 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its diff --git a/xserver/Xext/sync.c b/xserver/Xext/sync.c index 7def85b94..d9b6a9f06 100644 --- a/xserver/Xext/sync.c +++ b/xserver/Xext/sync.c @@ -243,6 +243,11 @@ SyncInitServerTime( void ); +static void +SyncInitIdleTime( + void +); + static void SyncResetProc( ExtensionEntry * /* extEntry */ @@ -436,7 +441,7 @@ SyncInitTrigger(client, pTrigger, counter, changes) if (counter == None) pCounter = NULL; else if (!(pCounter = (SyncCounter *)SecurityLookupIDByType( - client, counter, RTCounter, SecurityReadAccess))) + client, counter, RTCounter, DixReadAccess))) { client->errorValue = counter; return SyncErrorBase + XSyncBadCounter; @@ -1452,15 +1457,17 @@ ProcSyncSetPriority(client) { REQUEST(xSyncSetPriorityReq); ClientPtr priorityclient; + int rc; REQUEST_SIZE_MATCH(xSyncSetPriorityReq); if (stuff->id == None) priorityclient = client; - else if (!(priorityclient = LookupClient(stuff->id, client))) - { - client->errorValue = stuff->id; - return BadMatch; + else { + rc = dixLookupClient(&priorityclient, stuff->id, client, + DixUnknownAccess); + if (rc != Success) + return rc; } if (priorityclient->priority != stuff->priority) @@ -1487,15 +1494,17 @@ ProcSyncGetPriority(client) REQUEST(xSyncGetPriorityReq); xSyncGetPriorityReply rep; ClientPtr priorityclient; + int rc; REQUEST_SIZE_MATCH(xSyncGetPriorityReq); if (stuff->id == None) priorityclient = client; - else if (!(priorityclient = LookupClient(stuff->id, client))) - { - client->errorValue = stuff->id; - return BadMatch; + else { + rc = dixLookupClient(&priorityclient, stuff->id, client, + DixUnknownAccess); + if (rc != Success) + return rc; } rep.type = X_Reply; @@ -1550,7 +1559,7 @@ ProcSyncSetCounter(client) REQUEST_SIZE_MATCH(xSyncSetCounterReq); pCounter = (SyncCounter *)SecurityLookupIDByType(client, stuff->cid, - RTCounter, SecurityWriteAccess); + RTCounter, DixWriteAccess); if (pCounter == NULL) { client->errorValue = stuff->cid; @@ -1583,7 +1592,7 @@ ProcSyncChangeCounter(client) REQUEST_SIZE_MATCH(xSyncChangeCounterReq); pCounter = (SyncCounter *) SecurityLookupIDByType(client, stuff->cid, - RTCounter, SecurityWriteAccess); + RTCounter, DixWriteAccess); if (pCounter == NULL) { client->errorValue = stuff->cid; @@ -1621,7 +1630,7 @@ ProcSyncDestroyCounter(client) REQUEST_SIZE_MATCH(xSyncDestroyCounterReq); pCounter = (SyncCounter *)SecurityLookupIDByType(client, stuff->counter, - RTCounter, SecurityDestroyAccess); + RTCounter, DixDestroyAccess); if (pCounter == NULL) { client->errorValue = stuff->counter; @@ -1767,7 +1776,7 @@ ProcSyncQueryCounter(client) REQUEST_SIZE_MATCH(xSyncQueryCounterReq); pCounter = (SyncCounter *)SecurityLookupIDByType(client, stuff->counter, - RTCounter, SecurityReadAccess); + RTCounter, DixReadAccess); if (pCounter == NULL) { client->errorValue = stuff->counter; @@ -1896,7 +1905,7 @@ ProcSyncChangeAlarm(client) REQUEST_AT_LEAST_SIZE(xSyncChangeAlarmReq); if (!(pAlarm = (SyncAlarm *)SecurityLookupIDByType(client, stuff->alarm, - RTAlarm, SecurityWriteAccess))) + RTAlarm, DixWriteAccess))) { client->errorValue = stuff->alarm; return SyncErrorBase + XSyncBadAlarm; @@ -1937,7 +1946,7 @@ ProcSyncQueryAlarm(client) REQUEST_SIZE_MATCH(xSyncQueryAlarmReq); pAlarm = (SyncAlarm *)SecurityLookupIDByType(client, stuff->alarm, - RTAlarm, SecurityReadAccess); + RTAlarm, DixReadAccess); if (!pAlarm) { client->errorValue = stuff->alarm; @@ -1997,7 +2006,7 @@ ProcSyncDestroyAlarm(client) REQUEST_SIZE_MATCH(xSyncDestroyAlarmReq); if (!((SyncAlarm *)SecurityLookupIDByType(client, stuff->alarm, - RTAlarm, SecurityDestroyAccess))) + RTAlarm, DixDestroyAccess))) { client->errorValue = stuff->alarm; return SyncErrorBase + XSyncBadAlarm; @@ -2396,6 +2405,7 @@ SyncExtensionInit(INITARGS) * because there is always a servertime counter. */ SyncInitServerTime(); + SyncInitIdleTime(); #ifdef DEBUG fprintf(stderr, "Sync Extension %d.%d\n", @@ -2505,7 +2515,7 @@ ServertimeBracketValues(pCounter, pbracket_less, pbracket_greater) } static void -SyncInitServerTime() +SyncInitServerTime(void) { CARD64 resolution; @@ -2516,3 +2526,117 @@ SyncInitServerTime() ServertimeQueryValue, ServertimeBracketValues); pnext_time = NULL; } + + + +/* + * IDLETIME implementation + */ + +static pointer IdleTimeCounter; +static XSyncValue *pIdleTimeValueLess; +static XSyncValue *pIdleTimeValueGreater; + +static void +IdleTimeQueryValue (pointer pCounter, CARD64 *pValue_return) +{ + CARD32 idle = GetTimeInMillis() - lastDeviceEventTime.milliseconds; + XSyncIntsToValue (pValue_return, idle, 0); +} + +static void +IdleTimeBlockHandler (pointer env, + struct timeval **wt, + pointer LastSelectMask) +{ + XSyncValue idle; + + if (!pIdleTimeValueLess && !pIdleTimeValueGreater) + return; + + IdleTimeQueryValue (NULL, &idle); + + if (pIdleTimeValueLess && + XSyncValueLessOrEqual (idle, *pIdleTimeValueLess)) + { + AdjustWaitForDelay (wt, 0); + } + else if (pIdleTimeValueGreater) + { + unsigned long timeout = 0; + + if (XSyncValueLessThan (idle, *pIdleTimeValueGreater)) + { + XSyncValue value; + Bool overflow; + + XSyncValueSubtract (&value, *pIdleTimeValueGreater, + idle, &overflow); + timeout = XSyncValueLow32 (value); + } + + AdjustWaitForDelay (wt, timeout); + } +} + +static void +IdleTimeWakeupHandler (pointer env, + int rc, + pointer LastSelectMask) +{ + XSyncValue idle; + + if (!pIdleTimeValueLess && !pIdleTimeValueGreater) + return; + + IdleTimeQueryValue (NULL, &idle); + + if ((pIdleTimeValueGreater && + XSyncValueGreaterOrEqual (idle, *pIdleTimeValueGreater)) || + (pIdleTimeValueLess && + XSyncValueLessOrEqual (idle, *pIdleTimeValueLess))) + { + SyncChangeCounter (IdleTimeCounter, idle); + } +} + +static void +IdleTimeBracketValues (pointer pCounter, + CARD64 *pbracket_less, + CARD64 *pbracket_greater) +{ + Bool registered = (pIdleTimeValueLess || pIdleTimeValueGreater); + + if (registered && !pbracket_less && !pbracket_greater) + { + RemoveBlockAndWakeupHandlers(IdleTimeBlockHandler, + IdleTimeWakeupHandler, + NULL); + } + else if (!registered && (pbracket_less || pbracket_greater)) + { + RegisterBlockAndWakeupHandlers(IdleTimeBlockHandler, + IdleTimeWakeupHandler, + NULL); + } + + pIdleTimeValueGreater = pbracket_greater; + pIdleTimeValueLess = pbracket_less; +} + +static void +SyncInitIdleTime (void) +{ + CARD64 resolution; + XSyncValue idle; + + IdleTimeQueryValue (NULL, &idle); + XSyncIntToValue (&resolution, 4); + + IdleTimeCounter = SyncCreateSystemCounter ("IDLETIME", idle, resolution, + XSyncCounterUnrestricted, + IdleTimeQueryValue, + IdleTimeBracketValues); + + pIdleTimeValueLess = pIdleTimeValueGreater = NULL; +} diff --git a/xserver/Xext/xace.c b/xserver/Xext/xace.c index 14a5e7963..63856315c 100644 --- a/xserver/Xext/xace.c +++ b/xserver/Xext/xace.c @@ -37,10 +37,10 @@ CallbackListPtr XaceHooks[XACE_NUM_HOOKS] = {0}; * from guessing extension major opcodes and using the extension even though * the extension can't be listed or queried. */ -int (*UntrustedProcVector[256])( +static int (*UntrustedProcVector[256])( ClientPtr /*client*/ ); -int (*SwappedUntrustedProcVector[256])( +static int (*SwappedUntrustedProcVector[256])( ClientPtr /*client*/ ); @@ -99,7 +99,7 @@ int XaceHook(int hook, ...) va_arg(ap, WindowPtr), va_arg(ap, Atom), va_arg(ap, Mask), - SecurityAllowOperation /* default allow */ + XaceAllowOperation /* default allow */ }; calldata = &rec; prv = &rec.rval; @@ -406,12 +406,14 @@ XaceCensorImage(client, pVisibleRegion, widthBytesLine, pDraw, x, y, w, h, unsigned int format; char * pBuf; { - ScreenPtr pScreen = pDraw->pScreen; + ScreenPtr pScreen; RegionRec imageRegion; /* region representing x,y,w,h */ RegionRec censorRegion; /* region to obliterate */ BoxRec imageBox; int nRects; + pScreen = pDraw->pScreen; + imageBox.x1 = x; imageBox.y1 = y; imageBox.x2 = x + w; diff --git a/xserver/Xext/xace.h b/xserver/Xext/xace.h index 6cb4b4f5d..4143cd42f 100644 --- a/xserver/Xext/xace.h +++ b/xserver/Xext/xace.h @@ -20,6 +20,13 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #ifndef _XACE_H #define _XACE_H +/* Hook return codes */ +#define XaceErrorOperation 0 +#define XaceAllowOperation 1 +#define XaceIgnoreOperation 2 + +#ifdef XACE + #define XACE_EXTENSION_NAME "XAccessControlExtension" #define XACE_MAJOR_VERSION 1 #define XACE_MINOR_VERSION 0 @@ -75,21 +82,6 @@ extern int XaceHook( /* From the original Security extension... */ -/* Hook return codes */ -#define SecurityAllowOperation 0 -#define SecurityIgnoreOperation 1 -#define SecurityErrorOperation 2 - -/* Proc vectors for untrusted clients, swapped and unswapped versions. - * These are the same as the normal proc vectors except that extensions - * that haven't declared themselves secure will have ProcBadRequest plugged - * in for their major opcode dispatcher. This prevents untrusted clients - * from guessing extension major opcodes and using the extension even though - * the extension can't be listed or queried. - */ -extern int (*UntrustedProcVector[256])(ClientPtr client); -extern int (*SwappedUntrustedProcVector[256])(ClientPtr client); - extern void XaceCensorImage( ClientPtr client, RegionPtr pVisibleRegion, @@ -100,4 +92,18 @@ extern void XaceCensorImage( char * pBuf ); +#else /* XACE */ + +/* Define calls away when XACE is not being built. */ + +#ifdef __GNUC__ +#define XaceHook(args...) XaceAllowOperation +#define XaceCensorImage(args...) { ; } +#else +#define XaceHook(...) XaceAllowOperation +#define XaceCensorImage(...) { ; } +#endif + +#endif /* XACE */ + #endif /* _XACE_H */ diff --git a/xserver/Xext/xcalibrate.c b/xserver/Xext/xcalibrate.c index 8756d6d1b..97ef3dc38 100644 --- a/xserver/Xext/xcalibrate.c +++ b/xserver/Xext/xcalibrate.c @@ -1,6 +1,4 @@ /* - * $Id: xcalibrate.c,v 1.1.1.1 2006/11/26 18:14:51 matthieu Exp $ - * * Copyright © 2003 Philip Blundell * * Permission to use, copy, modify, distribute, and sell this software and its diff --git a/xserver/Xext/xevie.c b/xserver/Xext/xevie.c index e979e7e4d..7922913ba 100644 --- a/xserver/Xext/xevie.c +++ b/xserver/Xext/xevie.c @@ -52,7 +52,7 @@ of the copyright holder. #include "inputstr.h" #include "windowstr.h" #include "cursorstr.h" -#include +#include #include "../os/osdep.h" @@ -105,7 +105,7 @@ typedef struct { } xevieKeycQueueRec, *xevieKeycQueuePtr; #define KEYC_QUEUE_SIZE 100 -xevieKeycQueueRec keycq[KEYC_QUEUE_SIZE] = {{0, NULL}}; +static xevieKeycQueueRec keycq[KEYC_QUEUE_SIZE] = {{0, NULL}}; static int keycqHead = 0, keycqTail = 0; static int ProcDispatch (ClientPtr), SProcDispatch (ClientPtr); diff --git a/xserver/Xext/xf86bigfont.c b/xserver/Xext/xf86bigfont.c index bd250569e..f50481f78 100644 --- a/xserver/Xext/xf86bigfont.c +++ b/xserver/Xext/xf86bigfont.c @@ -445,11 +445,10 @@ ProcXF86BigfontQueryFont( #endif client->errorValue = stuff->id; /* EITHER font or gc */ pFont = (FontPtr)SecurityLookupIDByType(client, stuff->id, RT_FONT, - SecurityReadAccess); + DixReadAccess); if (!pFont) { - /* can't use VERIFY_GC because it might return BadGC */ GC *pGC = (GC *) SecurityLookupIDByType(client, stuff->id, RT_GC, - SecurityReadAccess); + DixReadAccess); if (!pGC) { client->errorValue = stuff->id; return BadFont; /* procotol spec says only error is BadFont */ diff --git a/xserver/Xext/xprint.c b/xserver/Xext/xprint.c index 29d3262f9..4ac13e6d1 100644 --- a/xserver/Xext/xprint.c +++ b/xserver/Xext/xprint.c @@ -749,7 +749,7 @@ ProcXpGetPageDimensions(ClientPtr client) if((pContext =(XpContextPtr)SecurityLookupIDByType(client, stuff->printContext, RTcontext, - SecurityReadAccess)) + DixReadAccess)) == (XpContextPtr)NULL) { client->errorValue = stuff->printContext; @@ -811,7 +811,7 @@ ProcXpSetImageResolution(ClientPtr client) if((pContext =(XpContextPtr)SecurityLookupIDByType(client, stuff->printContext, RTcontext, - SecurityWriteAccess)) + DixWriteAccess)) == (XpContextPtr)NULL) { client->errorValue = stuff->printContext; @@ -859,7 +859,7 @@ ProcXpGetImageResolution(ClientPtr client) if((pContext =(XpContextPtr)SecurityLookupIDByType(client, stuff->printContext, RTcontext, - SecurityReadAccess)) + DixReadAccess)) == (XpContextPtr)NULL) { client->errorValue = stuff->printContext; @@ -1068,7 +1068,7 @@ ProcXpSetContext(ClientPtr client) if((pContext =(XpContextPtr)SecurityLookupIDByType(client, stuff->printContext, RTcontext, - SecurityWriteAccess)) + DixWriteAccess)) == (XpContextPtr)NULL) { client->errorValue = stuff->printContext; @@ -1141,7 +1141,7 @@ ProcXpDestroyContext(ClientPtr client) if((pContext =(XpContextPtr)SecurityLookupIDByType(client, stuff->printContext, RTcontext, - SecurityDestroyAccess)) + DixDestroyAccess)) == (XpContextPtr)NULL) { client->errorValue = stuff->printContext; @@ -1167,7 +1167,7 @@ ProcXpGetContextScreen(ClientPtr client) if((pContext =(XpContextPtr)SecurityLookupIDByType(client, stuff->printContext, RTcontext, - SecurityReadAccess)) + DixReadAccess)) == (XpContextPtr)NULL) return XpErrorBase+XPBadContext; @@ -1852,9 +1852,10 @@ ProcXpStartPage(ClientPtr client) if(pContext->state & PAGE_STARTED) return XpErrorBase+XPBadSequence; - pWin = (WindowPtr)SecurityLookupWindow(stuff->window, client, - SecurityWriteAccess); - if (!pWin || pWin->drawable.pScreen->myNum != pContext->screenNum) + result = dixLookupWindow(&pWin, stuff->window, client, DixWriteAccess); + if (result != Success) + return result; + if (pWin->drawable.pScreen->myNum != pContext->screenNum) return BadWindow; if((c = (XpStPagePtr)xalloc(sizeof(XpStPageRec))) == (XpStPagePtr)NULL) @@ -1943,8 +1944,11 @@ ProcXpPutDocumentData(ClientPtr client) if (stuff->drawable) { if (pContext->state & DOC_RAW_STARTED) return BadDrawable; - pDraw = (DrawablePtr)LookupDrawable(stuff->drawable, client); - if (!pDraw || pDraw->pScreen->myNum != pContext->screenNum) + result = dixLookupDrawable(&pDraw, stuff->drawable, client, 0, + DixUnknownAccess); + if (result != Success) + return result; + if (pDraw->pScreen->myNum != pContext->screenNum) return BadDrawable; } else { if (pContext->state & DOC_COOKED_STARTED) @@ -1994,7 +1998,7 @@ ProcXpGetDocumentData(ClientPtr client) if((pContext = (XpContextPtr)SecurityLookupIDByType(client, stuff->printContext, RTcontext, - SecurityWriteAccess)) + DixWriteAccess)) == (XpContextPtr)NULL) { client->errorValue = stuff->printContext; @@ -2077,7 +2081,7 @@ ProcXpGetAttributes(ClientPtr client) client, stuff->printContext, RTcontext, - SecurityReadAccess)) + DixReadAccess)) == (XpContextPtr)NULL) { client->errorValue = stuff->printContext; @@ -2149,7 +2153,7 @@ ProcXpSetAttributes(ClientPtr client) client, stuff->printContext, RTcontext, - SecurityWriteAccess)) + DixWriteAccess)) == (XpContextPtr)NULL) { client->errorValue = stuff->printContext; @@ -2229,7 +2233,7 @@ ProcXpGetOneAttribute(ClientPtr client) client, stuff->printContext, RTcontext, - SecurityReadAccess)) + DixReadAccess)) == (XpContextPtr)NULL) { client->errorValue = stuff->printContext; @@ -2300,7 +2304,7 @@ ProcXpSelectInput(ClientPtr client) if((pContext=(XpContextPtr)SecurityLookupIDByType(client, stuff->printContext, RTcontext, - SecurityWriteAccess)) + DixWriteAccess)) == (XpContextPtr)NULL) { client->errorValue = stuff->printContext; @@ -2336,7 +2340,7 @@ ProcXpInputSelected(ClientPtr client) if((pContext=(XpContextPtr)SecurityLookupIDByType(client, stuff->printContext, RTcontext, - SecurityReadAccess)) + DixReadAccess)) == (XpContextPtr)NULL) { client->errorValue = stuff->printContext; diff --git a/xserver/Xext/xtest.c b/xserver/Xext/xtest.c index 83f8b8cc6..94d8974b6 100644 --- a/xserver/Xext/xtest.c +++ b/xserver/Xext/xtest.c @@ -139,12 +139,12 @@ ProcXTestCompareCursor(client) xXTestCompareCursorReply rep; WindowPtr pWin; CursorPtr pCursor; - register int n; + register int n, rc; REQUEST_SIZE_MATCH(xXTestCompareCursorReq); - pWin = (WindowPtr)LookupWindow(stuff->window, client); - if (!pWin) - return(BadWindow); + rc = dixLookupWindow(&pWin, stuff->window, client, DixUnknownAccess); + if (rc != Success) + return rc; if (stuff->cursor == None) pCursor = NullCursor; else if (stuff->cursor == XTestCurrentCursor) @@ -173,12 +173,10 @@ ProcXTestFakeInput(client) register ClientPtr client; { REQUEST(xXTestFakeInputReq); - int nev; - int n; + int nev, n, type, rc; xEvent *ev; DeviceIntPtr dev = NULL; WindowPtr root; - int type; #ifdef XINPUT Bool extension = FALSE; deviceValuator *dv = NULL; @@ -367,9 +365,10 @@ ProcXTestFakeInput(client) root = GetCurrentRootWindow(); else { - root = LookupWindow(ev->u.keyButtonPointer.root, client); - if (!root) - return BadWindow; + rc = dixLookupWindow(&root, ev->u.keyButtonPointer.root, client, + DixUnknownAccess); + if (rc != Success) + return rc; if (root->parent) { client->errorValue = ev->u.keyButtonPointer.root; @@ -442,6 +441,8 @@ ProcXTestFakeInput(client) (root->drawable.pScreen, ev->u.keyButtonPointer.rootX, ev->u.keyButtonPointer.rootY, FALSE); + dev->valuator->lastx = ev->u.keyButtonPointer.rootX; + dev->valuator->lasty = ev->u.keyButtonPointer.rootY; break; case ButtonPress: case ButtonRelease: diff --git a/xserver/Xext/xvdisp.c b/xserver/Xext/xvdisp.c index 0c7a38199..21d00aa7f 100644 --- a/xserver/Xext/xvdisp.c +++ b/xserver/Xext/xvdisp.c @@ -373,10 +373,8 @@ ProcXvQueryAdaptors(ClientPtr client) xvFormat format; xvAdaptorInfo ainfo; xvQueryAdaptorsReply rep; - int totalSize; - int na; + int totalSize, na, nf, rc; XvAdaptorPtr pa; - int nf; XvFormatPtr pf; WindowPtr pWin; ScreenPtr pScreen; @@ -385,11 +383,9 @@ ProcXvQueryAdaptors(ClientPtr client) REQUEST(xvQueryAdaptorsReq); REQUEST_SIZE_MATCH(xvQueryAdaptorsReq); - if(!(pWin = (WindowPtr)LookupWindow(stuff->window, client) )) - { - client->errorValue = stuff->window; - return (BadWindow); - } + rc = dixLookupWindow(&pWin, stuff->window, client, DixUnknownAccess); + if (rc != Success) + return rc; pScreen = pWin->drawable.pScreen; pxvs = (XvScreenPtr)pScreen->devPrivates[XvScreenIndex].ptr; @@ -531,9 +527,9 @@ ProcXvQueryEncodings(ClientPtr client) static int ProcXvPutVideo(ClientPtr client) { - register DrawablePtr pDraw; + DrawablePtr pDraw; XvPortPtr pPort; - register GCPtr pGC; + GCPtr pGC; int status; REQUEST(xvPutVideoReq); @@ -577,9 +573,9 @@ ProcXvPutVideo(ClientPtr client) static int ProcXvPutStill(ClientPtr client) { - register DrawablePtr pDraw; + DrawablePtr pDraw; XvPortPtr pPort; - register GCPtr pGC; + GCPtr pGC; int status; REQUEST(xvPutStillReq); @@ -624,9 +620,9 @@ ProcXvPutStill(ClientPtr client) static int ProcXvGetVideo(ClientPtr client) { - register DrawablePtr pDraw; + DrawablePtr pDraw; XvPortPtr pPort; - register GCPtr pGC; + GCPtr pGC; int status; REQUEST(xvGetVideoReq); @@ -671,9 +667,9 @@ ProcXvGetVideo(ClientPtr client) static int ProcXvGetStill(ClientPtr client) { - register DrawablePtr pDraw; + DrawablePtr pDraw; XvPortPtr pPort; - register GCPtr pGC; + GCPtr pGC; int status; REQUEST(xvGetStillReq); @@ -717,15 +713,14 @@ ProcXvGetStill(ClientPtr client) static int ProcXvSelectVideoNotify(ClientPtr client) { - register DrawablePtr pDraw; + DrawablePtr pDraw; + int rc; REQUEST(xvSelectVideoNotifyReq); REQUEST_SIZE_MATCH(xvSelectVideoNotifyReq); - if(!(pDraw = (DrawablePtr)LOOKUP_DRAWABLE(stuff->drawable, client) )) - { - client->errorValue = stuff->drawable; - return (BadWindow); - } + rc = dixLookupDrawable(&pDraw, stuff->drawable, client, 0, DixUnknownAccess); + if (rc != Success) + return rc; return XVCALL(diSelectVideoNotify)(client, pDraw, stuff->onoff); @@ -822,8 +817,8 @@ ProcXvUngrabPort(ClientPtr client) static int ProcXvStopVideo(ClientPtr client) { - int status; - register DrawablePtr pDraw; + int status, rc; + DrawablePtr pDraw; XvPortPtr pPort; REQUEST(xvStopVideoReq); REQUEST_SIZE_MATCH(xvStopVideoReq); @@ -840,11 +835,9 @@ ProcXvStopVideo(ClientPtr client) return (status); } - if(!(pDraw = LOOKUP_DRAWABLE(stuff->drawable, client) )) - { - client->errorValue = stuff->drawable; - return (BadDrawable); - } + rc = dixLookupDrawable(&pDraw, stuff->drawable, client, 0, DixUnknownAccess); + if (rc != Success) + return rc; return XVCALL(diStopVideo)(client, pPort, pDraw); @@ -1877,11 +1870,11 @@ XineramaXvStopVideo(ClientPtr client) REQUEST_SIZE_MATCH(xvStopVideoReq); if(!(draw = (PanoramiXRes *)SecurityLookupIDByClass( - client, stuff->drawable, XRC_DRAWABLE, SecurityWriteAccess))) + client, stuff->drawable, XRC_DRAWABLE, DixWriteAccess))) return BadDrawable; if(!(port = (PanoramiXRes *)SecurityLookupIDByType( - client, stuff->port, XvXRTPort, SecurityReadAccess))) + client, stuff->port, XvXRTPort, DixReadAccess))) return _XvBadPort; FOR_NSCREENS_BACKWARD(i) { @@ -1905,7 +1898,7 @@ XineramaXvSetPortAttribute(ClientPtr client) REQUEST_SIZE_MATCH(xvSetPortAttributeReq); if(!(port = (PanoramiXRes *)SecurityLookupIDByType( - client, stuff->port, XvXRTPort, SecurityReadAccess))) + client, stuff->port, XvXRTPort, DixReadAccess))) return _XvBadPort; FOR_NSCREENS_BACKWARD(i) { @@ -1931,15 +1924,15 @@ XineramaXvShmPutImage(ClientPtr client) REQUEST_SIZE_MATCH(xvShmPutImageReq); if(!(draw = (PanoramiXRes *)SecurityLookupIDByClass( - client, stuff->drawable, XRC_DRAWABLE, SecurityWriteAccess))) + client, stuff->drawable, XRC_DRAWABLE, DixWriteAccess))) return BadDrawable; if(!(gc = (PanoramiXRes *)SecurityLookupIDByType( - client, stuff->gc, XRT_GC, SecurityReadAccess))) + client, stuff->gc, XRT_GC, DixReadAccess))) return BadGC; if(!(port = (PanoramiXRes *)SecurityLookupIDByType( - client, stuff->port, XvXRTPort, SecurityReadAccess))) + client, stuff->port, XvXRTPort, DixReadAccess))) return _XvBadPort; isRoot = (draw->type == XRT_WINDOW) && draw->u.win.root; @@ -1978,15 +1971,15 @@ XineramaXvPutImage(ClientPtr client) REQUEST_AT_LEAST_SIZE(xvPutImageReq); if(!(draw = (PanoramiXRes *)SecurityLookupIDByClass( - client, stuff->drawable, XRC_DRAWABLE, SecurityWriteAccess))) + client, stuff->drawable, XRC_DRAWABLE, DixWriteAccess))) return BadDrawable; if(!(gc = (PanoramiXRes *)SecurityLookupIDByType( - client, stuff->gc, XRT_GC, SecurityReadAccess))) + client, stuff->gc, XRT_GC, DixReadAccess))) return BadGC; if(!(port = (PanoramiXRes *)SecurityLookupIDByType( - client, stuff->port, XvXRTPort, SecurityReadAccess))) + client, stuff->port, XvXRTPort, DixReadAccess))) return _XvBadPort; isRoot = (draw->type == XRT_WINDOW) && draw->u.win.root; @@ -2023,15 +2016,15 @@ XineramaXvPutVideo(ClientPtr client) REQUEST_AT_LEAST_SIZE(xvPutVideoReq); if(!(draw = (PanoramiXRes *)SecurityLookupIDByClass( - client, stuff->drawable, XRC_DRAWABLE, SecurityWriteAccess))) + client, stuff->drawable, XRC_DRAWABLE, DixWriteAccess))) return BadDrawable; if(!(gc = (PanoramiXRes *)SecurityLookupIDByType( - client, stuff->gc, XRT_GC, SecurityReadAccess))) + client, stuff->gc, XRT_GC, DixReadAccess))) return BadGC; if(!(port = (PanoramiXRes *)SecurityLookupIDByType( - client, stuff->port, XvXRTPort, SecurityReadAccess))) + client, stuff->port, XvXRTPort, DixReadAccess))) return _XvBadPort; isRoot = (draw->type == XRT_WINDOW) && draw->u.win.root; @@ -2068,15 +2061,15 @@ XineramaXvPutStill(ClientPtr client) REQUEST_AT_LEAST_SIZE(xvPutImageReq); if(!(draw = (PanoramiXRes *)SecurityLookupIDByClass( - client, stuff->drawable, XRC_DRAWABLE, SecurityWriteAccess))) + client, stuff->drawable, XRC_DRAWABLE, DixWriteAccess))) return BadDrawable; if(!(gc = (PanoramiXRes *)SecurityLookupIDByType( - client, stuff->gc, XRT_GC, SecurityReadAccess))) + client, stuff->gc, XRT_GC, DixReadAccess))) return BadGC; if(!(port = (PanoramiXRes *)SecurityLookupIDByType( - client, stuff->port, XvXRTPort, SecurityReadAccess))) + client, stuff->port, XvXRTPort, DixReadAccess))) return _XvBadPort; isRoot = (draw->type == XRT_WINDOW) && draw->u.win.root; diff --git a/xserver/Xext/xvdisp.h b/xserver/Xext/xvdisp.h index 00af9858b..75cacddcc 100644 --- a/xserver/Xext/xvdisp.h +++ b/xserver/Xext/xvdisp.h @@ -1,3 +1 @@ -/* $XFree86$ */ - extern void XineramifyXv(void); diff --git a/xserver/Xext/xvmain.c b/xserver/Xext/xvmain.c index 22339011c..ddf3d1d6b 100644 --- a/xserver/Xext/xvmain.c +++ b/xserver/Xext/xvmain.c @@ -153,7 +153,7 @@ static int XvdiSendVideoNotify(XvPortPtr, DrawablePtr, int); */ void -XvExtensionInit() +XvExtensionInit(void) { ExtensionEntry *extEntry; @@ -205,7 +205,7 @@ XvExtensionInit() } static Bool -CreateResourceTypes() +CreateResourceTypes(void) { @@ -335,13 +335,13 @@ XvResetProc(ExtensionEntry* extEntry) } _X_EXPORT int -XvGetScreenIndex() +XvGetScreenIndex(void) { return XvScreenIndex; } _X_EXPORT unsigned long -XvGetRTPort() +XvGetRTPort(void) { return XvRTPort; } diff --git a/xserver/Xext/xvmc.c b/xserver/Xext/xvmc.c index 737fc5dfd..ae358936e 100644 --- a/xserver/Xext/xvmc.c +++ b/xserver/Xext/xvmc.c @@ -675,7 +675,7 @@ SProcXvMCDispatch (ClientPtr client) } void -XvMCExtensionInit() +XvMCExtensionInit(void) { ExtensionEntry *extEntry; diff --git a/xserver/Xi/allowev.c b/xserver/Xi/allowev.c index ea9c5de08..85b6eaf6b 100644 --- a/xserver/Xi/allowev.c +++ b/xserver/Xi/allowev.c @@ -76,9 +76,9 @@ SOFTWARE. */ int -SProcXAllowDeviceEvents(register ClientPtr client) +SProcXAllowDeviceEvents(ClientPtr client) { - register char n; + char n; REQUEST(xAllowDeviceEventsReq); swaps(&stuff->length, n); @@ -94,7 +94,7 @@ SProcXAllowDeviceEvents(register ClientPtr client) */ int -ProcXAllowDeviceEvents(register ClientPtr client) +ProcXAllowDeviceEvents(ClientPtr client) { TimeStamp time; DeviceIntPtr thisdev; diff --git a/xserver/Xi/chgdctl.c b/xserver/Xi/chgdctl.c index d507513a9..9676fb747 100644 --- a/xserver/Xi/chgdctl.c +++ b/xserver/Xi/chgdctl.c @@ -66,6 +66,7 @@ SOFTWARE. #include "extnsionst.h" #include "extinit.h" /* LookupDeviceIntRec */ #include "exglobals.h" +#include "exevents.h" #include "chgdctl.h" @@ -77,9 +78,9 @@ SOFTWARE. */ int -SProcXChangeDeviceControl(register ClientPtr client) +SProcXChangeDeviceControl(ClientPtr client) { - register char n; + char n; REQUEST(xChangeDeviceControlReq); swaps(&stuff->length, n); @@ -98,12 +99,17 @@ int ProcXChangeDeviceControl(ClientPtr client) { unsigned len; - int i, status; + int i, status, ret = BadValue; DeviceIntPtr dev; xDeviceResolutionCtl *r; xChangeDeviceControlReply rep; AxisInfoPtr a; CARD32 *resolution; + xDeviceAbsCalibCtl *calib; + xDeviceAbsAreaCtl *area; + xDeviceCoreCtl *c; + xDeviceEnableCtl *e; + devicePresenceNotify dpn; REQUEST(xChangeDeviceControlReq); REQUEST_AT_LEAST_SIZE(xChangeDeviceControlReq); @@ -111,9 +117,8 @@ ProcXChangeDeviceControl(ClientPtr client) len = stuff->length - (sizeof(xChangeDeviceControlReq) >> 2); dev = LookupDeviceIntRec(stuff->deviceid); if (dev == NULL) { - SendErrorToClient(client, IReqCode, X_ChangeDeviceControl, 0, - BadDevice); - return Success; + ret = BadDevice; + goto out; } rep.repType = X_Reply; @@ -126,25 +131,22 @@ ProcXChangeDeviceControl(ClientPtr client) r = (xDeviceResolutionCtl *) & stuff[1]; if ((len < (sizeof(xDeviceResolutionCtl) >> 2)) || (len != (sizeof(xDeviceResolutionCtl) >> 2) + r->num_valuators)) { - SendErrorToClient(client, IReqCode, X_ChangeDeviceControl, - 0, BadLength); - return Success; + ret = BadLength; + goto out; } if (!dev->valuator) { - SendErrorToClient(client, IReqCode, X_ChangeDeviceControl, 0, - BadMatch); - return Success; + ret = BadMatch; + goto out; } if ((dev->grab) && !SameClient(dev->grab, client)) { rep.status = AlreadyGrabbed; - WriteReplyToClient(client, sizeof(xChangeDeviceControlReply), &rep); - return Success; + ret = Success; + goto out; } resolution = (CARD32 *) (r + 1); if (r->first_valuator + r->num_valuators > dev->valuator->numAxes) { - SendErrorToClient(client, IReqCode, X_ChangeDeviceControl, 0, - BadValue); - return Success; + ret = BadValue; + goto out; } status = ChangeDeviceControl(client, dev, (xDeviceCtl *) r); if (status == Success) { @@ -158,21 +160,119 @@ ProcXChangeDeviceControl(ClientPtr client) } for (i = 0; i < r->num_valuators; i++) (a++)->resolution = *resolution++; + + ret = Success; } else if (status == DeviceBusy) { rep.status = DeviceBusy; - WriteReplyToClient(client, sizeof(xChangeDeviceControlReply), &rep); - return Success; + ret = Success; } else { - SendErrorToClient(client, IReqCode, X_ChangeDeviceControl, 0, - BadMatch); - return Success; + ret = BadMatch; } break; + case DEVICE_ABS_CALIB: + calib = (xDeviceAbsCalibCtl *)&stuff[1]; + + if (calib->button_threshold < 0 || calib->button_threshold > 255) { + ret = BadValue; + goto out; + } + + status = ChangeDeviceControl(client, dev, (xDeviceCtl *) calib); + + if (status == Success) { + dev->absolute->min_x = calib->min_x; + dev->absolute->max_x = calib->max_x; + dev->absolute->min_y = calib->min_y; + dev->absolute->max_y = calib->max_y; + dev->absolute->flip_x = calib->flip_x; + dev->absolute->flip_y = calib->flip_y; + dev->absolute->rotation = calib->rotation; + dev->absolute->button_threshold = calib->button_threshold; + ret = Success; + } else if (status == DeviceBusy || status == BadValue) { + rep.status = status; + ret = Success; + } else { + ret = BadMatch; + } + + break; + case DEVICE_ABS_AREA: + area = (xDeviceAbsAreaCtl *)&stuff[1]; + + status = ChangeDeviceControl(client, dev, (xDeviceCtl *) area); + + if (status == Success) { + dev->absolute->offset_x = area->offset_x; + dev->absolute->offset_y = area->offset_y; + dev->absolute->width = area->width; + dev->absolute->height = area->height; + dev->absolute->screen = area->screen; + dev->absolute->following = area->following; + ret = Success; + } else if (status == DeviceBusy || status == BadValue) { + rep.status = status; + ret = Success; + } else { + ret = Success; + } + + break; + case DEVICE_CORE: + c = (xDeviceCoreCtl *)&stuff[1]; + + status = ChangeDeviceControl(client, dev, (xDeviceCtl *) c); + + if (status == Success) { + dev->coreEvents = c->status; + ret = Success; + } else if (status == DeviceBusy) { + rep.status = DeviceBusy; + ret = Success; + } else { + ret = BadMatch; + } + + break; + case DEVICE_ENABLE: + e = (xDeviceEnableCtl *)&stuff[1]; + + status = ChangeDeviceControl(client, dev, (xDeviceCtl *) e); + + if (status == Success) { + if (e->enable) + EnableDevice(dev); + else + DisableDevice(dev); + ret = Success; + } else if (status == DeviceBusy) { + rep.status = DeviceBusy; + ret = Success; + } else { + ret = BadMatch; + } + + break; default: - SendErrorToClient(client, IReqCode, X_ChangeDeviceControl, 0, BadValue); - return Success; + ret = BadValue; } - WriteReplyToClient(client, sizeof(xChangeDeviceControlReply), &rep); + +out: + if (ret == Success) { + dpn.type = DevicePresenceNotify; + dpn.time = currentTime.milliseconds; + dpn.devchange = 1; + dpn.deviceid = dev->id; + dpn.control = stuff->control; + SendEventToAllWindows(dev, DevicePresenceNotifyMask, + (xEvent *) &dpn, 1); + + WriteReplyToClient(client, sizeof(xChangeDeviceControlReply), &rep); + } + else { + SendErrorToClient(client, IReqCode, X_ChangeDeviceControl, 0, ret); + } + return Success; } @@ -187,7 +287,7 @@ void SRepXChangeDeviceControl(ClientPtr client, int size, xChangeDeviceControlReply * rep) { - register char n; + char n; swaps(&rep->sequenceNumber, n); swapl(&rep->length, n); diff --git a/xserver/Xi/chgfctl.c b/xserver/Xi/chgfctl.c index d0acc593b..2e0e13cad 100644 --- a/xserver/Xi/chgfctl.c +++ b/xserver/Xi/chgfctl.c @@ -78,9 +78,9 @@ SOFTWARE. */ int -SProcXChangeFeedbackControl(register ClientPtr client) +SProcXChangeFeedbackControl(ClientPtr client) { - register char n; + char n; REQUEST(xChangeFeedbackControlReq); swaps(&stuff->length, n); @@ -89,141 +89,17 @@ SProcXChangeFeedbackControl(register ClientPtr client) return (ProcXChangeFeedbackControl(client)); } -/*********************************************************************** - * - * Change the control attributes. - * - */ - -int -ProcXChangeFeedbackControl(ClientPtr client) -{ - unsigned len; - DeviceIntPtr dev; - KbdFeedbackPtr k; - PtrFeedbackPtr p; - IntegerFeedbackPtr i; - StringFeedbackPtr s; - BellFeedbackPtr b; - LedFeedbackPtr l; - - REQUEST(xChangeFeedbackControlReq); - REQUEST_AT_LEAST_SIZE(xChangeFeedbackControlReq); - - len = stuff->length - (sizeof(xChangeFeedbackControlReq) >> 2); - dev = LookupDeviceIntRec(stuff->deviceid); - if (dev == NULL) { - SendErrorToClient(client, IReqCode, X_ChangeFeedbackControl, 0, - BadDevice); - return Success; - } - - switch (stuff->feedbackid) { - case KbdFeedbackClass: - if (len != (sizeof(xKbdFeedbackCtl) >> 2)) { - SendErrorToClient(client, IReqCode, X_ChangeFeedbackControl, - 0, BadLength); - return Success; - } - for (k = dev->kbdfeed; k; k = k->next) - if (k->ctrl.id == ((xKbdFeedbackCtl *) & stuff[1])->id) { - ChangeKbdFeedback(client, dev, stuff->mask, k, - (xKbdFeedbackCtl *) & stuff[1]); - return Success; - } - break; - case PtrFeedbackClass: - if (len != (sizeof(xPtrFeedbackCtl) >> 2)) { - SendErrorToClient(client, IReqCode, X_ChangeFeedbackControl, - 0, BadLength); - return Success; - } - for (p = dev->ptrfeed; p; p = p->next) - if (p->ctrl.id == ((xPtrFeedbackCtl *) & stuff[1])->id) { - ChangePtrFeedback(client, dev, stuff->mask, p, - (xPtrFeedbackCtl *) & stuff[1]); - return Success; - } - break; - case StringFeedbackClass: - { - register char n; - xStringFeedbackCtl *f = ((xStringFeedbackCtl *) & stuff[1]); - - if (client->swapped) { - swaps(&f->num_keysyms, n); - } - if (len != ((sizeof(xStringFeedbackCtl) >> 2) + f->num_keysyms)) { - SendErrorToClient(client, IReqCode, X_ChangeFeedbackControl, - 0, BadLength); - return Success; - } - for (s = dev->stringfeed; s; s = s->next) - if (s->ctrl.id == ((xStringFeedbackCtl *) & stuff[1])->id) { - ChangeStringFeedback(client, dev, stuff->mask, s, - (xStringFeedbackCtl *) & stuff[1]); - return Success; - } - break; - } - case IntegerFeedbackClass: - if (len != (sizeof(xIntegerFeedbackCtl) >> 2)) { - SendErrorToClient(client, IReqCode, X_ChangeFeedbackControl, - 0, BadLength); - return Success; - } - for (i = dev->intfeed; i; i = i->next) - if (i->ctrl.id == ((xIntegerFeedbackCtl *) & stuff[1])->id) { - ChangeIntegerFeedback(client, dev, stuff->mask, i, - (xIntegerFeedbackCtl *) & stuff[1]); - return Success; - } - break; - case LedFeedbackClass: - if (len != (sizeof(xLedFeedbackCtl) >> 2)) { - SendErrorToClient(client, IReqCode, X_ChangeFeedbackControl, - 0, BadLength); - return Success; - } - for (l = dev->leds; l; l = l->next) - if (l->ctrl.id == ((xLedFeedbackCtl *) & stuff[1])->id) { - ChangeLedFeedback(client, dev, stuff->mask, l, - (xLedFeedbackCtl *) & stuff[1]); - return Success; - } - break; - case BellFeedbackClass: - if (len != (sizeof(xBellFeedbackCtl) >> 2)) { - SendErrorToClient(client, IReqCode, X_ChangeFeedbackControl, - 0, BadLength); - return Success; - } - for (b = dev->bell; b; b = b->next) - if (b->ctrl.id == ((xBellFeedbackCtl *) & stuff[1])->id) { - ChangeBellFeedback(client, dev, stuff->mask, b, - (xBellFeedbackCtl *) & stuff[1]); - return Success; - } - break; - default: - break; - } - - SendErrorToClient(client, IReqCode, X_ChangeFeedbackControl, 0, BadMatch); - return Success; -} - /****************************************************************************** * * This procedure changes KbdFeedbackClass data. * */ -int +static int ChangeKbdFeedback(ClientPtr client, DeviceIntPtr dev, long unsigned int mask, KbdFeedbackPtr k, xKbdFeedbackCtl * f) { - register char n; + char n; KeybdCtrl kctrl; int t; int key = DO_ALL; @@ -351,11 +227,11 @@ ChangeKbdFeedback(ClientPtr client, DeviceIntPtr dev, long unsigned int mask, * */ -int +static int ChangePtrFeedback(ClientPtr client, DeviceIntPtr dev, long unsigned int mask, PtrFeedbackPtr p, xPtrFeedbackCtl * f) { - register char n; + char n; PtrCtrl pctrl; /* might get BadValue part way through */ if (client->swapped) { @@ -422,12 +298,12 @@ ChangePtrFeedback(ClientPtr client, DeviceIntPtr dev, long unsigned int mask, * */ -int +static int ChangeIntegerFeedback(ClientPtr client, DeviceIntPtr dev, long unsigned int mask, IntegerFeedbackPtr i, xIntegerFeedbackCtl * f) { - register char n; + char n; if (client->swapped) { swaps(&f->length, n); @@ -445,13 +321,13 @@ ChangeIntegerFeedback(ClientPtr client, DeviceIntPtr dev, * */ -int +static int ChangeStringFeedback(ClientPtr client, DeviceIntPtr dev, long unsigned int mask, StringFeedbackPtr s, xStringFeedbackCtl * f) { - register char n; - register long *p; + char n; + long *p; int i, j; KeySym *syms, *sup_syms; @@ -495,12 +371,12 @@ ChangeStringFeedback(ClientPtr client, DeviceIntPtr dev, * */ -int +static int ChangeBellFeedback(ClientPtr client, DeviceIntPtr dev, long unsigned int mask, BellFeedbackPtr b, xBellFeedbackCtl * f) { - register char n; + char n; int t; BellCtrl bctrl; /* might get BadValue part way through */ @@ -560,11 +436,11 @@ ChangeBellFeedback(ClientPtr client, DeviceIntPtr dev, * */ -int +static int ChangeLedFeedback(ClientPtr client, DeviceIntPtr dev, long unsigned int mask, LedFeedbackPtr l, xLedFeedbackCtl * f) { - register char n; + char n; LedCtrl lctrl; /* might get BadValue part way through */ if (client->swapped) { @@ -585,3 +461,128 @@ ChangeLedFeedback(ClientPtr client, DeviceIntPtr dev, long unsigned int mask, return Success; } + +/*********************************************************************** + * + * Change the control attributes. + * + */ + +int +ProcXChangeFeedbackControl(ClientPtr client) +{ + unsigned len; + DeviceIntPtr dev; + KbdFeedbackPtr k; + PtrFeedbackPtr p; + IntegerFeedbackPtr i; + StringFeedbackPtr s; + BellFeedbackPtr b; + LedFeedbackPtr l; + + REQUEST(xChangeFeedbackControlReq); + REQUEST_AT_LEAST_SIZE(xChangeFeedbackControlReq); + + len = stuff->length - (sizeof(xChangeFeedbackControlReq) >> 2); + dev = LookupDeviceIntRec(stuff->deviceid); + if (dev == NULL) { + SendErrorToClient(client, IReqCode, X_ChangeFeedbackControl, 0, + BadDevice); + return Success; + } + + switch (stuff->feedbackid) { + case KbdFeedbackClass: + if (len != (sizeof(xKbdFeedbackCtl) >> 2)) { + SendErrorToClient(client, IReqCode, X_ChangeFeedbackControl, + 0, BadLength); + return Success; + } + for (k = dev->kbdfeed; k; k = k->next) + if (k->ctrl.id == ((xKbdFeedbackCtl *) & stuff[1])->id) { + ChangeKbdFeedback(client, dev, stuff->mask, k, + (xKbdFeedbackCtl *) & stuff[1]); + return Success; + } + break; + case PtrFeedbackClass: + if (len != (sizeof(xPtrFeedbackCtl) >> 2)) { + SendErrorToClient(client, IReqCode, X_ChangeFeedbackControl, + 0, BadLength); + return Success; + } + for (p = dev->ptrfeed; p; p = p->next) + if (p->ctrl.id == ((xPtrFeedbackCtl *) & stuff[1])->id) { + ChangePtrFeedback(client, dev, stuff->mask, p, + (xPtrFeedbackCtl *) & stuff[1]); + return Success; + } + break; + case StringFeedbackClass: + { + char n; + xStringFeedbackCtl *f = ((xStringFeedbackCtl *) & stuff[1]); + + if (client->swapped) { + swaps(&f->num_keysyms, n); + } + if (len != ((sizeof(xStringFeedbackCtl) >> 2) + f->num_keysyms)) { + SendErrorToClient(client, IReqCode, X_ChangeFeedbackControl, + 0, BadLength); + return Success; + } + for (s = dev->stringfeed; s; s = s->next) + if (s->ctrl.id == ((xStringFeedbackCtl *) & stuff[1])->id) { + ChangeStringFeedback(client, dev, stuff->mask, s, + (xStringFeedbackCtl *) & stuff[1]); + return Success; + } + break; + } + case IntegerFeedbackClass: + if (len != (sizeof(xIntegerFeedbackCtl) >> 2)) { + SendErrorToClient(client, IReqCode, X_ChangeFeedbackControl, + 0, BadLength); + return Success; + } + for (i = dev->intfeed; i; i = i->next) + if (i->ctrl.id == ((xIntegerFeedbackCtl *) & stuff[1])->id) { + ChangeIntegerFeedback(client, dev, stuff->mask, i, + (xIntegerFeedbackCtl *) & stuff[1]); + return Success; + } + break; + case LedFeedbackClass: + if (len != (sizeof(xLedFeedbackCtl) >> 2)) { + SendErrorToClient(client, IReqCode, X_ChangeFeedbackControl, + 0, BadLength); + return Success; + } + for (l = dev->leds; l; l = l->next) + if (l->ctrl.id == ((xLedFeedbackCtl *) & stuff[1])->id) { + ChangeLedFeedback(client, dev, stuff->mask, l, + (xLedFeedbackCtl *) & stuff[1]); + return Success; + } + break; + case BellFeedbackClass: + if (len != (sizeof(xBellFeedbackCtl) >> 2)) { + SendErrorToClient(client, IReqCode, X_ChangeFeedbackControl, + 0, BadLength); + return Success; + } + for (b = dev->bell; b; b = b->next) + if (b->ctrl.id == ((xBellFeedbackCtl *) & stuff[1])->id) { + ChangeBellFeedback(client, dev, stuff->mask, b, + (xBellFeedbackCtl *) & stuff[1]); + return Success; + } + break; + default: + break; + } + + SendErrorToClient(client, IReqCode, X_ChangeFeedbackControl, 0, BadMatch); + return Success; +} + diff --git a/xserver/Xi/chgfctl.h b/xserver/Xi/chgfctl.h index 81e1153ec..cfa9fc6b0 100644 --- a/xserver/Xi/chgfctl.h +++ b/xserver/Xi/chgfctl.h @@ -36,46 +36,4 @@ int SProcXChangeFeedbackControl(ClientPtr /* client */ int ProcXChangeFeedbackControl(ClientPtr /* client */ ); -int ChangeKbdFeedback(ClientPtr /* client */ , - DeviceIntPtr /* dev */ , - unsigned long /* mask */ , - KbdFeedbackPtr /* k */ , - xKbdFeedbackCtl * /* f */ - ); - -int ChangePtrFeedback(ClientPtr /* client */ , - DeviceIntPtr /* dev */ , - unsigned long /* mask */ , - PtrFeedbackPtr /* p */ , - xPtrFeedbackCtl * /* f */ - ); - -int ChangeIntegerFeedback(ClientPtr /* client */ , - DeviceIntPtr /* dev */ , - unsigned long /* mask */ , - IntegerFeedbackPtr /* i */ , - xIntegerFeedbackCtl * /* f */ - ); - -int ChangeStringFeedback(ClientPtr /* client */ , - DeviceIntPtr /* dev */ , - unsigned long /* mask */ , - StringFeedbackPtr /* s */ , - xStringFeedbackCtl * /* f */ - ); - -int ChangeBellFeedback(ClientPtr /* client */ , - DeviceIntPtr /* dev */ , - unsigned long /* mask */ , - BellFeedbackPtr /* b */ , - xBellFeedbackCtl * /* f */ - ); - -int ChangeLedFeedback(ClientPtr /* client */ , - DeviceIntPtr /* dev */ , - unsigned long /* mask */ , - LedFeedbackPtr /* l */ , - xLedFeedbackCtl * /* f */ - ); - #endif /* CHGFCTL_H */ diff --git a/xserver/Xi/chgkbd.c b/xserver/Xi/chgkbd.c index 289bd85af..2cf8225b3 100644 --- a/xserver/Xi/chgkbd.c +++ b/xserver/Xi/chgkbd.c @@ -64,7 +64,6 @@ SOFTWARE. #include "XIstubs.h" #include "globals.h" #include "extnsionst.h" -#include "extinit.h" /* LookupDeviceIntRec */ #include "exevents.h" #include "exglobals.h" @@ -79,9 +78,9 @@ SOFTWARE. */ int -SProcXChangeKeyboardDevice(register ClientPtr client) +SProcXChangeKeyboardDevice(ClientPtr client) { - register char n; + char n; REQUEST(xChangeKeyboardDeviceReq); swaps(&stuff->length, n); @@ -97,109 +96,12 @@ SProcXChangeKeyboardDevice(register ClientPtr client) */ int -ProcXChangeKeyboardDevice(register ClientPtr client) +ProcXChangeKeyboardDevice(ClientPtr client) { - int i; - DeviceIntPtr xkbd = inputInfo.keyboard; - DeviceIntPtr dev; - FocusClassPtr xf = xkbd->focus; - FocusClassPtr df; - KeyClassPtr k; - xChangeKeyboardDeviceReply rep; - changeDeviceNotify ev; - REQUEST(xChangeKeyboardDeviceReq); REQUEST_SIZE_MATCH(xChangeKeyboardDeviceReq); - rep.repType = X_Reply; - rep.RepType = X_ChangeKeyboardDevice; - rep.length = 0; - rep.sequenceNumber = client->sequence; - - dev = LookupDeviceIntRec(stuff->deviceid); - if (dev == NULL) { - rep.status = -1; - SendErrorToClient(client, IReqCode, X_ChangeKeyboardDevice, 0, - BadDevice); - return Success; - } - - k = dev->key; - if (k == NULL) { - rep.status = -1; - SendErrorToClient(client, IReqCode, X_ChangeKeyboardDevice, 0, - BadMatch); - return Success; - } - - if (((dev->grab) && !SameClient(dev->grab, client)) || - ((xkbd->grab) && !SameClient(xkbd->grab, client))) - rep.status = AlreadyGrabbed; - else if ((dev->sync.frozen && - dev->sync.other && !SameClient(dev->sync.other, client)) || - (xkbd->sync.frozen && - xkbd->sync.other && !SameClient(xkbd->sync.other, client))) - rep.status = GrabFrozen; - else { - if (ChangeKeyboardDevice(xkbd, dev) != Success) { - SendErrorToClient(client, IReqCode, X_ChangeKeyboardDevice, 0, - BadDevice); - return Success; - } - if (!dev->focus) - InitFocusClassDeviceStruct(dev); - if (!dev->kbdfeed) - InitKbdFeedbackClassDeviceStruct(dev, (BellProcPtr) NoopDDA, - (KbdCtrlProcPtr) NoopDDA); - df = dev->focus; - df->win = xf->win; - df->revert = xf->revert; - df->time = xf->time; - df->traceGood = xf->traceGood; - if (df->traceSize != xf->traceSize) { - Must_have_memory = TRUE; /* XXX */ - df->trace = (WindowPtr *) xrealloc(df->trace, - xf->traceSize * - sizeof(WindowPtr)); - Must_have_memory = FALSE; /* XXX */ - } - df->traceSize = xf->traceSize; - for (i = 0; i < df->traceSize; i++) - df->trace[i] = xf->trace[i]; - RegisterOtherDevice(xkbd); - RegisterKeyboardDevice(dev); - - ev.type = ChangeDeviceNotify; - ev.deviceid = stuff->deviceid; - ev.time = currentTime.milliseconds; - ev.request = NewKeyboard; - - SendEventToAllWindows(dev, ChangeDeviceNotifyMask, (xEvent *) & ev, 1); - SendMappingNotify(MappingKeyboard, k->curKeySyms.minKeyCode, - k->curKeySyms.maxKeyCode - k->curKeySyms.minKeyCode + - 1, client); - - rep.status = 0; - } - - WriteReplyToClient(client, sizeof(xChangeKeyboardDeviceReply), &rep); + SendErrorToClient(client, IReqCode, X_ChangeKeyboardDevice, 0, + BadDevice); return Success; } - -/*********************************************************************** - * - * This procedure writes the reply for the XChangeKeyboardDevice - * function, if the client and server have a different byte ordering. - * - */ - -void -SRepXChangeKeyboardDevice(ClientPtr client, int size, - xChangeKeyboardDeviceReply * rep) -{ - register char n; - - swaps(&rep->sequenceNumber, n); - swapl(&rep->length, n); - WriteToClient(client, size, (char *)rep); -} diff --git a/xserver/Xi/chgkbd.h b/xserver/Xi/chgkbd.h index 7a883b7f0..5f9922336 100644 --- a/xserver/Xi/chgkbd.h +++ b/xserver/Xi/chgkbd.h @@ -36,9 +36,4 @@ int SProcXChangeKeyboardDevice(ClientPtr /* client */ int ProcXChangeKeyboardDevice(ClientPtr /* client */ ); -void SRepXChangeKeyboardDevice(ClientPtr /* client */ , - int /* size */ , - xChangeKeyboardDeviceReply * /* rep */ - ); - #endif /* CHGKBD_H */ diff --git a/xserver/Xi/chgkmap.c b/xserver/Xi/chgkmap.c index 047b899ed..eac520fd4 100644 --- a/xserver/Xi/chgkmap.c +++ b/xserver/Xi/chgkmap.c @@ -76,11 +76,11 @@ SOFTWARE. */ int -SProcXChangeDeviceKeyMapping(register ClientPtr client) +SProcXChangeDeviceKeyMapping(ClientPtr client) { - register char n; - register long *p; - register int i, count; + char n; + long *p; + int i, count; REQUEST(xChangeDeviceKeyMappingReq); swaps(&stuff->length, n); @@ -101,7 +101,7 @@ SProcXChangeDeviceKeyMapping(register ClientPtr client) */ int -ProcXChangeDeviceKeyMapping(register ClientPtr client) +ProcXChangeDeviceKeyMapping(ClientPtr client) { int ret; unsigned len; diff --git a/xserver/Xi/chgprop.c b/xserver/Xi/chgprop.c index 52c38838d..59a93c60b 100644 --- a/xserver/Xi/chgprop.c +++ b/xserver/Xi/chgprop.c @@ -78,11 +78,11 @@ SOFTWARE. */ int -SProcXChangeDeviceDontPropagateList(register ClientPtr client) +SProcXChangeDeviceDontPropagateList(ClientPtr client) { - register char n; - register long *p; - register int i; + char n; + long *p; + int i; REQUEST(xChangeDeviceDontPropagateListReq); swaps(&stuff->length, n); @@ -104,9 +104,9 @@ SProcXChangeDeviceDontPropagateList(register ClientPtr client) */ int -ProcXChangeDeviceDontPropagateList(register ClientPtr client) +ProcXChangeDeviceDontPropagateList(ClientPtr client) { - int i; + int i, rc; WindowPtr pWin; struct tmask tmp[EMASKSIZE]; OtherInputMasks *others; @@ -121,11 +121,10 @@ ProcXChangeDeviceDontPropagateList(register ClientPtr client) return Success; } - pWin = (WindowPtr) LookupWindow(stuff->window, client); - if (!pWin) { - client->errorValue = stuff->window; + rc = dixLookupWindow(&pWin, stuff->window, client, DixUnknownAccess); + if (rc != Success) { SendErrorToClient(client, IReqCode, X_ChangeDeviceDontPropagateList, 0, - BadWindow); + rc); return Success; } diff --git a/xserver/Xi/chgptr.c b/xserver/Xi/chgptr.c index f6f4b8bff..a94906866 100644 --- a/xserver/Xi/chgptr.c +++ b/xserver/Xi/chgptr.c @@ -82,9 +82,9 @@ SOFTWARE. */ int -SProcXChangePointerDevice(register ClientPtr client) +SProcXChangePointerDevice(ClientPtr client) { - register char n; + char n; REQUEST(xChangePointerDeviceReq); swaps(&stuff->length, n); @@ -99,140 +99,12 @@ SProcXChangePointerDevice(register ClientPtr client) */ int -ProcXChangePointerDevice(register ClientPtr client) +ProcXChangePointerDevice(ClientPtr client) { - DeviceIntPtr xptr = inputInfo.pointer; - DeviceIntPtr dev; - ValuatorClassPtr v; - xChangePointerDeviceReply rep; - changeDeviceNotify ev; - REQUEST(xChangePointerDeviceReq); REQUEST_SIZE_MATCH(xChangePointerDeviceReq); - rep.repType = X_Reply; - rep.RepType = X_ChangePointerDevice; - rep.length = 0; - rep.sequenceNumber = client->sequence; - - dev = LookupDeviceIntRec(stuff->deviceid); - if (dev == NULL) { - rep.status = -1; - SendErrorToClient(client, IReqCode, X_ChangePointerDevice, 0, - BadDevice); - return Success; - } - - v = dev->valuator; - if (v == NULL || v->numAxes < 2 || - stuff->xaxis >= v->numAxes || stuff->yaxis >= v->numAxes) { - rep.status = -1; - SendErrorToClient(client, IReqCode, X_ChangePointerDevice, 0, BadMatch); - return Success; - } - - if (((dev->grab) && !SameClient(dev->grab, client)) || - ((xptr->grab) && !SameClient(xptr->grab, client))) - rep.status = AlreadyGrabbed; - else if ((dev->sync.frozen && - dev->sync.other && !SameClient(dev->sync.other, client)) || - (xptr->sync.frozen && - xptr->sync.other && !SameClient(xptr->sync.other, client))) - rep.status = GrabFrozen; - else { - if (ChangePointerDevice(xptr, dev, stuff->xaxis, stuff->yaxis) != - Success) { - SendErrorToClient(client, IReqCode, X_ChangePointerDevice, 0, - BadDevice); - return Success; - } - if (dev->focus) - DeleteFocusClassDeviceStruct(dev); - if (!dev->button) - InitButtonClassDeviceStruct(dev, 0, NULL); - if (!dev->ptrfeed) - InitPtrFeedbackClassDeviceStruct(dev, (PtrCtrlProcPtr) NoopDDA); - RegisterOtherDevice(xptr); - RegisterPointerDevice(dev); - - ev.type = ChangeDeviceNotify; - ev.deviceid = stuff->deviceid; - ev.time = currentTime.milliseconds; - ev.request = NewPointer; - - SendEventToAllWindows(dev, ChangeDeviceNotifyMask, (xEvent *) & ev, 1); - SendMappingNotify(MappingPointer, 0, 0, client); - - rep.status = 0; - } - - WriteReplyToClient(client, sizeof(xChangePointerDeviceReply), &rep); + SendErrorToClient(client, IReqCode, X_ChangePointerDevice, 0, + BadDevice); return Success; } - -void -DeleteFocusClassDeviceStruct(DeviceIntPtr dev) -{ - xfree(dev->focus->trace); - xfree(dev->focus); - dev->focus = NULL; -} - -/*********************************************************************** - * - * Send an event to interested clients in all windows on all screens. - * - */ - -void -SendEventToAllWindows(DeviceIntPtr dev, Mask mask, xEvent * ev, int count) -{ - int i; - WindowPtr pWin, p1; - - for (i = 0; i < screenInfo.numScreens; i++) { - pWin = WindowTable[i]; - (void)DeliverEventsToWindow(pWin, ev, count, mask, NullGrab, dev->id); - p1 = pWin->firstChild; - FindInterestedChildren(dev, p1, mask, ev, count); - } -} - -/*********************************************************************** - * - * Walk through the window tree, finding all clients that want to know - * about the ChangeDeviceNotify Event. - * - */ - -void -FindInterestedChildren(DeviceIntPtr dev, WindowPtr p1, Mask mask, - xEvent * ev, int count) -{ - WindowPtr p2; - - while (p1) { - p2 = p1->firstChild; - (void)DeliverEventsToWindow(p1, ev, count, mask, NullGrab, dev->id); - FindInterestedChildren(dev, p2, mask, ev, count); - p1 = p1->nextSib; - } -} - -/*********************************************************************** - * - * This procedure writes the reply for the XChangePointerDevice - * function, if the client and server have a different byte ordering. - * - */ - -void -SRepXChangePointerDevice(ClientPtr client, int size, - xChangePointerDeviceReply * rep) -{ - register char n; - - swaps(&rep->sequenceNumber, n); - swapl(&rep->length, n); - WriteToClient(client, size, (char *)rep); -} diff --git a/xserver/Xi/chgptr.h b/xserver/Xi/chgptr.h index aeda822aa..2d8ab66e5 100644 --- a/xserver/Xi/chgptr.h +++ b/xserver/Xi/chgptr.h @@ -45,17 +45,4 @@ void SendEventToAllWindows(DeviceIntPtr /* dev */ , int /* count */ ); -void FindInterestedChildren( /* FIXME: could be static? */ - DeviceIntPtr /* dev */ , - WindowPtr /* p1 */ , - Mask /* mask */ , - xEvent * /* ev */ , - int /* count */ - ); - -void SRepXChangePointerDevice(ClientPtr /* client */ , - int /* size */ , - xChangePointerDeviceReply * /* rep */ - ); - #endif /* CHGPTR_H */ diff --git a/xserver/Xi/closedev.c b/xserver/Xi/closedev.c index cc83e6a5b..8d38ec8fd 100644 --- a/xserver/Xi/closedev.c +++ b/xserver/Xi/closedev.c @@ -77,9 +77,9 @@ SOFTWARE. */ int -SProcXCloseDevice(register ClientPtr client) +SProcXCloseDevice(ClientPtr client) { - register char n; + char n; REQUEST(xCloseDeviceReq); swaps(&stuff->length, n); @@ -87,6 +87,53 @@ SProcXCloseDevice(register ClientPtr client) return (ProcXCloseDevice(client)); } +/*********************************************************************** + * + * Clear out event selections and passive grabs from a window for the + * specified device. + * + */ + +static void +DeleteDeviceEvents(DeviceIntPtr dev, WindowPtr pWin, ClientPtr client) +{ + InputClientsPtr others; + OtherInputMasks *pOthers; + GrabPtr grab, next; + + if ((pOthers = wOtherInputMasks(pWin)) != 0) + for (others = pOthers->inputClients; others; others = others->next) + if (SameClient(others, client)) + others->mask[dev->id] = NoEventMask; + + for (grab = wPassiveGrabs(pWin); grab; grab = next) { + next = grab->next; + if ((grab->device == dev) && + (client->clientAsMask == CLIENT_BITS(grab->resource))) + FreeResource(grab->resource, RT_NONE); + } +} + +/*********************************************************************** + * + * Walk througth the window tree, deleting event selections for this client + * from this device from all windows. + * + */ + +static void +DeleteEventsFromChildren(DeviceIntPtr dev, WindowPtr p1, ClientPtr client) +{ + WindowPtr p2; + + while (p1) { + p2 = p1->firstChild; + DeleteDeviceEvents(dev, p1, client); + DeleteEventsFromChildren(dev, p2, client); + p1 = p1->nextSib; + } +} + /*********************************************************************** * * This procedure closes an input device. @@ -94,7 +141,7 @@ SProcXCloseDevice(register ClientPtr client) */ int -ProcXCloseDevice(register ClientPtr client) +ProcXCloseDevice(ClientPtr client) { int i; WindowPtr pWin, p1; @@ -126,50 +173,3 @@ ProcXCloseDevice(register ClientPtr client) CloseInputDevice(d, client); return Success; } - -/*********************************************************************** - * - * Walk througth the window tree, deleting event selections for this client - * from this device from all windows. - * - */ - -void -DeleteEventsFromChildren(DeviceIntPtr dev, WindowPtr p1, ClientPtr client) -{ - WindowPtr p2; - - while (p1) { - p2 = p1->firstChild; - DeleteDeviceEvents(dev, p1, client); - DeleteEventsFromChildren(dev, p2, client); - p1 = p1->nextSib; - } -} - -/*********************************************************************** - * - * Clear out event selections and passive grabs from a window for the - * specified device. - * - */ - -void -DeleteDeviceEvents(DeviceIntPtr dev, WindowPtr pWin, ClientPtr client) -{ - InputClientsPtr others; - OtherInputMasks *pOthers; - GrabPtr grab, next; - - if ((pOthers = wOtherInputMasks(pWin)) != 0) - for (others = pOthers->inputClients; others; others = others->next) - if (SameClient(others, client)) - others->mask[dev->id] = NoEventMask; - - for (grab = wPassiveGrabs(pWin); grab; grab = next) { - next = grab->next; - if ((grab->device == dev) && - (client->clientAsMask == CLIENT_BITS(grab->resource))) - FreeResource(grab->resource, RT_NONE); - } -} diff --git a/xserver/Xi/closedev.h b/xserver/Xi/closedev.h index 6853d5002..400aaa60b 100644 --- a/xserver/Xi/closedev.h +++ b/xserver/Xi/closedev.h @@ -36,14 +36,4 @@ int SProcXCloseDevice(ClientPtr /* client */ int ProcXCloseDevice(ClientPtr /* client */ ); -void DeleteEventsFromChildren(DeviceIntPtr /* dev */ , - WindowPtr /* p1 */ , - ClientPtr /* client */ - ); - -void DeleteDeviceEvents(DeviceIntPtr /* dev */ , - WindowPtr /* pWin */ , - ClientPtr /* client */ - ); - #endif /* CLOSEDEV_H */ diff --git a/xserver/Xi/devbell.c b/xserver/Xi/devbell.c index b11238620..ba873c7c7 100644 --- a/xserver/Xi/devbell.c +++ b/xserver/Xi/devbell.c @@ -75,9 +75,9 @@ SOFTWARE. */ int -SProcXDeviceBell(register ClientPtr client) +SProcXDeviceBell(ClientPtr client) { - register char n; + char n; REQUEST(xDeviceBellReq); swaps(&stuff->length, n); @@ -91,7 +91,7 @@ SProcXDeviceBell(register ClientPtr client) */ int -ProcXDeviceBell(register ClientPtr client) +ProcXDeviceBell(ClientPtr client) { DeviceIntPtr dev; KbdFeedbackPtr k; diff --git a/xserver/Xi/exevents.c b/xserver/Xi/exevents.c index 2932ab2d2..fe297ab6a 100644 --- a/xserver/Xi/exevents.c +++ b/xserver/Xi/exevents.c @@ -71,8 +71,7 @@ SOFTWARE. #include "exglobals.h" #include "dixevents.h" /* DeliverFocusedEvent */ #include "dixgrabs.h" /* CreateGrab() */ - -#include "chgptr.h" +#include "scrnintstr.h" #define WID(w) ((w) ? ((w)->drawable.id) : 0) #define AllModifiersMask ( \ @@ -105,12 +104,12 @@ RegisterOtherDevice(DeviceIntPtr device) } /*ARGSUSED*/ void -ProcessOtherEvent(xEventPtr xE, register DeviceIntPtr other, int count) +ProcessOtherEvent(xEventPtr xE, DeviceIntPtr other, int count) { - register BYTE *kptr; - register int i; - register CARD16 modifiers; - register CARD16 mask; + BYTE *kptr; + int i; + CARD16 modifiers; + CARD16 mask; GrabPtr grab = other->grab; Bool deactivateDeviceGrab = FALSE; int key = 0, bit = 0, rootX, rootY; @@ -249,7 +248,9 @@ ProcessOtherEvent(xEventPtr xE, register DeviceIntPtr other, int count) SetMaskForEvent(Motion_Filter(b), DeviceMotionNotify); if (!grab) if (CheckDeviceGrabs(other, xE, 0, count)) - return; + /* if a passive grab was activated, the event has been sent + * already */ + return; } else if (xE->u.u.type == DeviceButtonRelease) { if (!b) @@ -259,7 +260,7 @@ ProcessOtherEvent(xEventPtr xE, register DeviceIntPtr other, int count) *kptr &= ~bit; if (other->valuator) other->valuator->motionHintWindow = NullWindow; - if (!--b->buttonsDown) + if (b->buttonsDown >= 1 && !--b->buttonsDown) b->motionMask = 0; xE->u.u.detail = b->map[key]; if (xE->u.u.detail == 0) @@ -289,7 +290,7 @@ ProcessOtherEvent(xEventPtr xE, register DeviceIntPtr other, int count) _X_EXPORT int InitProximityClassDeviceStruct(DeviceIntPtr dev) { - register ProximityClassPtr proxc; + ProximityClassPtr proxc; proxc = (ProximityClassPtr) xalloc(sizeof(ProximityClassRec)); if (!proxc) @@ -302,7 +303,12 @@ _X_EXPORT void InitValuatorAxisStruct(DeviceIntPtr dev, int axnum, int minval, int maxval, int resolution, int min_res, int max_res) { - register AxisInfoPtr ax = dev->valuator->axes + axnum; + AxisInfoPtr ax; + + if (!dev || !dev->valuator) + return; + + ax = dev->valuator->axes + axnum; ax->min_value = minval; ax->max_value = maxval; @@ -374,7 +380,7 @@ FixDeviceValuator(DeviceIntPtr dev, deviceValuator * ev, ValuatorClassPtr v, void DeviceFocusEvent(DeviceIntPtr dev, int type, int mode, int detail, - register WindowPtr pWin) + WindowPtr pWin) { deviceFocus event; @@ -501,6 +507,7 @@ GrabButton(ClientPtr client, DeviceIntPtr dev, BYTE this_device_mode, WindowPtr pWin, confineTo; CursorPtr cursor; GrabPtr grab; + int rc; if ((this_device_mode != GrabModeSync) && (this_device_mode != GrabModeAsync)) { @@ -520,15 +527,15 @@ GrabButton(ClientPtr client, DeviceIntPtr dev, BYTE this_device_mode, client->errorValue = ownerEvents; return BadValue; } - pWin = LookupWindow(grabWindow, client); - if (!pWin) - return BadWindow; + rc = dixLookupWindow(&pWin, grabWindow, client, DixUnknownAccess); + if (rc != Success) + return rc; if (rconfineTo == None) confineTo = NullWindow; else { - confineTo = LookupWindow(rconfineTo, client); - if (!confineTo) - return BadWindow; + rc = dixLookupWindow(&confineTo, rconfineTo, client, DixUnknownAccess); + if (rc != Success) + return rc; } if (rcursor == None) cursor = NullCursor; @@ -558,6 +565,7 @@ GrabKey(ClientPtr client, DeviceIntPtr dev, BYTE this_device_mode, WindowPtr pWin; GrabPtr grab; KeyClassPtr k = dev->key; + int rc; if (k == NULL) return BadMatch; @@ -584,9 +592,9 @@ GrabKey(ClientPtr client, DeviceIntPtr dev, BYTE this_device_mode, client->errorValue = ownerEvents; return BadValue; } - pWin = LookupWindow(grabWindow, client); - if (!pWin) - return BadWindow; + rc = dixLookupWindow(&pWin, grabWindow, client, DixUnknownAccess); + if (rc != Success) + return rc; grab = CreateGrab(client->index, dev, pWin, mask, ownerEvents, this_device_mode, other_devices_mode, @@ -697,9 +705,9 @@ MakeInputMasks(WindowPtr pWin) void RecalculateDeviceDeliverableEvents(WindowPtr pWin) { - register InputClientsPtr others; + InputClientsPtr others; struct _OtherInputMasks *inputMasks; /* default: NULL */ - register WindowPtr pChild, tmp; + WindowPtr pChild, tmp; int i; pChild = pWin; @@ -733,9 +741,9 @@ RecalculateDeviceDeliverableEvents(WindowPtr pWin) } int -InputClientGone(register WindowPtr pWin, XID id) +InputClientGone(WindowPtr pWin, XID id) { - register InputClientsPtr other, prev; + InputClientsPtr other, prev; if (!wOtherInputMasks(pWin)) return (Success); @@ -806,7 +814,7 @@ SendEvent(ClientPtr client, DeviceIntPtr d, Window dest, Bool propagate, } else effectiveFocus = pWin = inputFocus; } else - pWin = LookupWindow(dest, client); + dixLookupWindow(&pWin, dest, client, DixUnknownAccess); if (!pWin) return BadWindow; if ((propagate != xFalse) && (propagate != xTrue)) { @@ -833,7 +841,7 @@ SendEvent(ClientPtr client, DeviceIntPtr d, Window dest, Bool propagate, int SetButtonMapping(ClientPtr client, DeviceIntPtr dev, int nElts, BYTE * map) { - register int i; + int i; ButtonClassPtr b = dev->button; if (b == NULL) @@ -859,7 +867,7 @@ SetModifierMapping(ClientPtr client, DeviceIntPtr dev, int len, int rlen, { KeyCode *map = NULL; int inputMapLen; - register int i; + int i; *k = dev->key; if (*k == NULL) @@ -898,7 +906,7 @@ SetModifierMapping(ClientPtr client, DeviceIntPtr dev, int len, int rlen, return MappingBusy; } else { for (i = 0; i < inputMapLen; i++) { - if (inputMap[i] && !LegalModifier(inputMap[i], (DevicePtr) dev)) { + if (inputMap[i] && !LegalModifier(inputMap[i], dev)) { return MappingFailed; } } @@ -988,33 +996,7 @@ ChangeKeyMapping(ClientPtr client, return client->noClientException; } -void -DeleteWindowFromAnyExtEvents(WindowPtr pWin, Bool freeResources) -{ - int i; - DeviceIntPtr dev; - InputClientsPtr ic; - struct _OtherInputMasks *inputMasks; - - for (dev = inputInfo.devices; dev; dev = dev->next) { - if (dev == inputInfo.pointer || dev == inputInfo.keyboard) - continue; - DeleteDeviceFromAnyExtEvents(pWin, dev); - } - - for (dev = inputInfo.off_devices; dev; dev = dev->next) - DeleteDeviceFromAnyExtEvents(pWin, dev); - - if (freeResources) - while ((inputMasks = wOtherInputMasks(pWin)) != 0) { - ic = inputMasks->inputClients; - for (i = 0; i < EMASKSIZE; i++) - inputMasks->dontPropagateMask[i] = 0; - FreeResource(ic->resource, RT_NONE); - } -} - -void +static void DeleteDeviceFromAnyExtEvents(WindowPtr pWin, DeviceIntPtr dev) { WindowPtr parent; @@ -1079,6 +1061,32 @@ DeleteDeviceFromAnyExtEvents(WindowPtr pWin, DeviceIntPtr dev) dev->valuator->motionHintWindow = NullWindow; } +void +DeleteWindowFromAnyExtEvents(WindowPtr pWin, Bool freeResources) +{ + int i; + DeviceIntPtr dev; + InputClientsPtr ic; + struct _OtherInputMasks *inputMasks; + + for (dev = inputInfo.devices; dev; dev = dev->next) { + if (dev == inputInfo.pointer || dev == inputInfo.keyboard) + continue; + DeleteDeviceFromAnyExtEvents(pWin, dev); + } + + for (dev = inputInfo.off_devices; dev; dev = dev->next) + DeleteDeviceFromAnyExtEvents(pWin, dev); + + if (freeResources) + while ((inputMasks = wOtherInputMasks(pWin)) != 0) { + ic = inputMasks->inputClients; + for (i = 0; i < EMASKSIZE; i++) + inputMasks->dontPropagateMask[i] = 0; + FreeResource(ic->resource, RT_NONE); + } +} + int MaybeSendDeviceMotionNotifyHint(deviceKeyButtonPointer * pEvents, Mask mask) { @@ -1132,10 +1140,10 @@ CheckDeviceGrabAndHintWindow(WindowPtr pWin, int type, } } -Mask +static Mask DeviceEventMaskForClient(DeviceIntPtr dev, WindowPtr pWin, ClientPtr client) { - register InputClientsPtr other; + InputClientsPtr other; if (!wOtherInputMasks(pWin)) return 0; @@ -1148,7 +1156,7 @@ DeviceEventMaskForClient(DeviceIntPtr dev, WindowPtr pWin, ClientPtr client) } void -MaybeStopDeviceHint(register DeviceIntPtr dev, ClientPtr client) +MaybeStopDeviceHint(DeviceIntPtr dev, ClientPtr client) { WindowPtr pWin; GrabPtr grab = dev->grab; @@ -1209,3 +1217,44 @@ ShouldFreeInputMasks(WindowPtr pWin, Bool ignoreSelectedEvents) else return FALSE; } + +/*********************************************************************** + * + * Walk through the window tree, finding all clients that want to know + * about the Event. + * + */ + +static void +FindInterestedChildren(DeviceIntPtr dev, WindowPtr p1, Mask mask, + xEvent * ev, int count) +{ + WindowPtr p2; + + while (p1) { + p2 = p1->firstChild; + (void)DeliverEventsToWindow(p1, ev, count, mask, NullGrab, dev->id); + FindInterestedChildren(dev, p2, mask, ev, count); + p1 = p1->nextSib; + } +} + +/*********************************************************************** + * + * Send an event to interested clients in all windows on all screens. + * + */ + +void +SendEventToAllWindows(DeviceIntPtr dev, Mask mask, xEvent * ev, int count) +{ + int i; + WindowPtr pWin, p1; + + for (i = 0; i < screenInfo.numScreens; i++) { + pWin = WindowTable[i]; + (void)DeliverEventsToWindow(pWin, ev, count, mask, NullGrab, dev->id); + p1 = pWin->firstChild; + FindInterestedChildren(dev, p1, mask, ev, count); + } +} diff --git a/xserver/Xi/exglobals.h b/xserver/Xi/exglobals.h index c64b84875..50bb33fdc 100644 --- a/xserver/Xi/exglobals.h +++ b/xserver/Xi/exglobals.h @@ -37,7 +37,6 @@ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. extern int IReqCode; extern int BadDevice; -extern int BadEvent; extern int BadMode; extern int DeviceBusy; extern int BadClass; @@ -46,11 +45,11 @@ extern Mask DevicePointerMotionMask; extern Mask DevicePointerMotionHintMask; extern Mask DeviceFocusChangeMask; extern Mask DeviceStateNotifyMask; -extern Mask ChangeDeviceNotifyMask; extern Mask DeviceMappingNotifyMask; extern Mask DeviceOwnerGrabButtonMask; extern Mask DeviceButtonGrabMask; extern Mask DeviceButtonMotionMask; +extern Mask DevicePresenceNotifyMask; extern Mask PropagateMask[]; extern int DeviceValuator; @@ -68,12 +67,8 @@ extern int DeviceKeyStateNotify; extern int DeviceButtonStateNotify; extern int DeviceMappingNotify; extern int ChangeDeviceNotify; +extern int DevicePresenceNotify; extern int RT_INPUTCLIENT; -#if 0 -/* FIXME: in dix */ -extern InputInfo inputInfo; -#endif - #endif /* EXGLOBALS_H */ diff --git a/xserver/Xi/extinit.c b/xserver/Xi/extinit.c index f3aabe3a7..b1ec321c9 100644 --- a/xserver/Xi/extinit.c +++ b/xserver/Xi/extinit.c @@ -116,7 +116,7 @@ int ExtEventIndex; Mask ExtValidMasks[EMASKSIZE]; Mask ExtExclusiveMasks[EMASKSIZE]; -struct dev_type +static struct dev_type { Atom type; char *name; @@ -152,7 +152,7 @@ XExtEventInfo EventInfo[32]; int IReqCode = 0; int BadDevice = 0; -int BadEvent = 1; +static int BadEvent = 1; int BadMode = 2; int DeviceBusy = 3; int BadClass = 4; @@ -161,11 +161,12 @@ Mask DevicePointerMotionMask; Mask DevicePointerMotionHintMask; Mask DeviceFocusChangeMask; Mask DeviceStateNotifyMask; -Mask ChangeDeviceNotifyMask; +static Mask ChangeDeviceNotifyMask; Mask DeviceMappingNotifyMask; Mask DeviceOwnerGrabButtonMask; Mask DeviceButtonGrabMask; Mask DeviceButtonMotionMask; +Mask DevicePresenceNotifyMask; int DeviceValuator; int DeviceKeyPress; @@ -182,6 +183,7 @@ int DeviceKeyStateNotify; int DeviceButtonStateNotify; int DeviceMappingNotify; int ChangeDeviceNotify; +int DevicePresenceNotify; int RT_INPUTCLIENT; @@ -202,55 +204,10 @@ Mask PropagateMask[MAX_DEVICES]; */ static XExtensionVersion thisversion = { XI_Present, - XI_Add_XChangeDeviceControl_Major, - XI_Add_XChangeDeviceControl_Minor + XI_Add_DevicePresenceNotify_Major, + XI_Add_DevicePresenceNotify_Minor }; -/********************************************************************** - * - * IExtensionInit - initialize the input extension. - * - * Called from InitExtensions in main() or from QueryExtension() if the - * extension is dynamically loaded. - * - * This extension has several events and errors. - * - */ - -void -XInputExtensionInit(void) -{ - ExtensionEntry *extEntry; - - extEntry = AddExtension(INAME, IEVENTS, IERRORS, ProcIDispatch, - SProcIDispatch, IResetProc, StandardMinorOpcode); - if (extEntry) { - IReqCode = extEntry->base; - AllExtensionVersions[IReqCode - 128] = thisversion; - MakeDeviceTypeAtoms(); - RT_INPUTCLIENT = CreateNewResourceType((DeleteType) InputClientGone); - FixExtensionEvents(extEntry); - ReplySwapVector[IReqCode] = (ReplySwapPtr) SReplyIDispatch; - EventSwapVector[DeviceValuator] = SEventIDispatch; - EventSwapVector[DeviceKeyPress] = SEventIDispatch; - EventSwapVector[DeviceKeyRelease] = SEventIDispatch; - EventSwapVector[DeviceButtonPress] = SEventIDispatch; - EventSwapVector[DeviceButtonRelease] = SEventIDispatch; - EventSwapVector[DeviceMotionNotify] = SEventIDispatch; - EventSwapVector[DeviceFocusIn] = SEventIDispatch; - EventSwapVector[DeviceFocusOut] = SEventIDispatch; - EventSwapVector[ProximityIn] = SEventIDispatch; - EventSwapVector[ProximityOut] = SEventIDispatch; - EventSwapVector[DeviceStateNotify] = SEventIDispatch; - EventSwapVector[DeviceKeyStateNotify] = SEventIDispatch; - EventSwapVector[DeviceButtonStateNotify] = SEventIDispatch; - EventSwapVector[DeviceMappingNotify] = SEventIDispatch; - EventSwapVector[ChangeDeviceNotify] = SEventIDispatch; - } else { - FatalError("IExtensionInit: AddExtensions failed\n"); - } -} - /************************************************************************* * * ProcIDispatch - main dispatch routine for requests to this extension. @@ -258,8 +215,8 @@ XInputExtensionInit(void) * */ -int -ProcIDispatch(register ClientPtr client) +static int +ProcIDispatch(ClientPtr client) { REQUEST(xReq); if (stuff->data == X_GetExtensionVersion) @@ -347,8 +304,8 @@ ProcIDispatch(register ClientPtr client) * */ -int -SProcIDispatch(register ClientPtr client) +static int +SProcIDispatch(ClientPtr client) { REQUEST(xReq); if (stuff->data == X_GetExtensionVersion) @@ -439,7 +396,7 @@ SProcIDispatch(register ClientPtr client) if (rep->RepType == X_##code) \ SRepX##code (client, len, (x##code##Reply *) rep) -void +static void SReplyIDispatch(ClientPtr client, int len, xGrabDeviceReply * rep) /* All we look at is the type field */ { /* This is common to all replies */ @@ -463,12 +420,6 @@ SReplyIDispatch(ClientPtr client, int len, xGrabDeviceReply * rep) else if (rep->RepType == X_GetDeviceMotionEvents) SRepXGetDeviceMotionEvents(client, len, (xGetDeviceMotionEventsReply *) rep); - else if (rep->RepType == X_ChangeKeyboardDevice) - SRepXChangeKeyboardDevice(client, len, - (xChangeKeyboardDeviceReply *) rep); - else if (rep->RepType == X_ChangePointerDevice) - SRepXChangePointerDevice(client, len, - (xChangePointerDeviceReply *) rep); else if (rep->RepType == X_GrabDevice) SRepXGrabDevice(client, len, (xGrabDeviceReply *) rep); else if (rep->RepType == X_GetDeviceFocus) @@ -504,72 +455,17 @@ SReplyIDispatch(ClientPtr client, int len, xGrabDeviceReply * rep) } } -/***************************************************************************** - * - * SEventIDispatch - * - * Swap any events defined in this extension. - */ -#define DO_SWAP(func,type) func ((type *)from, (type *)to) - -void -SEventIDispatch(xEvent * from, xEvent * to) -{ - int type = from->u.u.type & 0177; - - if (type == DeviceValuator) - DO_SWAP(SEventDeviceValuator, deviceValuator); - else if (type == DeviceKeyPress) { - SKeyButtonPtrEvent(from, to); - to->u.keyButtonPointer.pad1 = from->u.keyButtonPointer.pad1; - } else if (type == DeviceKeyRelease) { - SKeyButtonPtrEvent(from, to); - to->u.keyButtonPointer.pad1 = from->u.keyButtonPointer.pad1; - } else if (type == DeviceButtonPress) { - SKeyButtonPtrEvent(from, to); - to->u.keyButtonPointer.pad1 = from->u.keyButtonPointer.pad1; - } else if (type == DeviceButtonRelease) { - SKeyButtonPtrEvent(from, to); - to->u.keyButtonPointer.pad1 = from->u.keyButtonPointer.pad1; - } else if (type == DeviceMotionNotify) { - SKeyButtonPtrEvent(from, to); - to->u.keyButtonPointer.pad1 = from->u.keyButtonPointer.pad1; - } else if (type == DeviceFocusIn) - DO_SWAP(SEventFocus, deviceFocus); - else if (type == DeviceFocusOut) - DO_SWAP(SEventFocus, deviceFocus); - else if (type == ProximityIn) { - SKeyButtonPtrEvent(from, to); - to->u.keyButtonPointer.pad1 = from->u.keyButtonPointer.pad1; - } else if (type == ProximityOut) { - SKeyButtonPtrEvent(from, to); - to->u.keyButtonPointer.pad1 = from->u.keyButtonPointer.pad1; - } else if (type == DeviceStateNotify) - DO_SWAP(SDeviceStateNotifyEvent, deviceStateNotify); - else if (type == DeviceKeyStateNotify) - DO_SWAP(SDeviceKeyStateNotifyEvent, deviceKeyStateNotify); - else if (type == DeviceButtonStateNotify) - DO_SWAP(SDeviceButtonStateNotifyEvent, deviceButtonStateNotify); - else if (type == DeviceMappingNotify) - DO_SWAP(SDeviceMappingNotifyEvent, deviceMappingNotify); - else if (type == ChangeDeviceNotify) - DO_SWAP(SChangeDeviceNotifyEvent, changeDeviceNotify); - else { - FatalError("XInputExtension: Impossible event!\n"); - } -} - /************************************************************************ * * This function swaps the DeviceValuator event. * */ -void +static void SEventDeviceValuator(deviceValuator * from, deviceValuator * to) { - register char n; - register int i; + char n; + int i; INT32 *ip B32; *to = *from; @@ -581,10 +477,10 @@ SEventDeviceValuator(deviceValuator * from, deviceValuator * to) } } -void +static void SEventFocus(deviceFocus * from, deviceFocus * to) { - register char n; + char n; *to = *from; swaps(&to->sequenceNumber, n); @@ -592,11 +488,11 @@ SEventFocus(deviceFocus * from, deviceFocus * to) swapl(&to->window, n); } -void +static void SDeviceStateNotifyEvent(deviceStateNotify * from, deviceStateNotify * to) { - register int i; - register char n; + int i; + char n; INT32 *ip B32; *to = *from; @@ -608,53 +504,157 @@ SDeviceStateNotifyEvent(deviceStateNotify * from, deviceStateNotify * to) } } -void +static void SDeviceKeyStateNotifyEvent(deviceKeyStateNotify * from, deviceKeyStateNotify * to) { - register char n; + char n; *to = *from; swaps(&to->sequenceNumber, n); } -void +static void SDeviceButtonStateNotifyEvent(deviceButtonStateNotify * from, deviceButtonStateNotify * to) { - register char n; + char n; *to = *from; swaps(&to->sequenceNumber, n); } -void +static void SChangeDeviceNotifyEvent(changeDeviceNotify * from, changeDeviceNotify * to) { - register char n; + char n; *to = *from; swaps(&to->sequenceNumber, n); swapl(&to->time, n); } -void +static void SDeviceMappingNotifyEvent(deviceMappingNotify * from, deviceMappingNotify * to) { - register char n; + char n; *to = *from; swaps(&to->sequenceNumber, n); swapl(&to->time, n); } +static void +SDevicePresenceNotifyEvent (devicePresenceNotify *from, devicePresenceNotify *to) +{ + char n; + + *to = *from; + swaps(&to->sequenceNumber,n); + swapl(&to->time, n); + swaps(&to->control, n); +} + +/************************************************************************** + * + * Allow the specified event to have its propagation suppressed. + * The default is to not allow suppression of propagation. + * + */ + +static void +AllowPropagateSuppress(Mask mask) +{ + int i; + + for (i = 0; i < MAX_DEVICES; i++) + PropagateMask[i] |= mask; +} + +/************************************************************************** + * + * Return the next available extension event mask. + * + */ + +static Mask +GetNextExtEventMask(void) +{ + int i; + Mask mask = lastExtEventMask; + + if (lastExtEventMask == 0) { + FatalError("GetNextExtEventMask: no more events are available."); + } + lastExtEventMask <<= 1; + + for (i = 0; i < MAX_DEVICES; i++) + ExtValidMasks[i] |= mask; + return mask; +} + +/************************************************************************** + * + * Record an event mask where there is no unique corresponding event type. + * We can't call SetMaskForEvent, since that would clobber the existing + * mask for that event. MotionHint and ButtonMotion are examples. + * + * Since extension event types will never be less than 64, we can use + * 0-63 in the EventInfo array as the "type" to be used to look up this + * mask. This means that the corresponding macros such as + * DevicePointerMotionHint must have access to the same constants. + * + */ + +static void +SetEventInfo(Mask mask, int constant) +{ + EventInfo[ExtEventIndex].mask = mask; + EventInfo[ExtEventIndex++].type = constant; +} + +/************************************************************************** + * + * Allow the specified event to be restricted to being selected by one + * client at a time. + * The default is to allow more than one client to select the event. + * + */ + +static void +SetExclusiveAccess(Mask mask) +{ + int i; + + for (i = 0; i < MAX_DEVICES; i++) + ExtExclusiveMasks[i] |= mask; +} + +/************************************************************************** + * + * Assign the specified mask to the specified event. + * + */ + +static void +SetMaskForExtEvent(Mask mask, int event) +{ + + EventInfo[ExtEventIndex].mask = mask; + EventInfo[ExtEventIndex++].type = event; + + if ((event < LASTEvent) || (event >= 128)) + FatalError("MaskForExtensionEvent: bogus event number"); + SetMaskForEvent(mask, event); +} + /************************************************************************ * * This function sets up extension event types and masks. * */ -void +static void FixExtensionEvents(ExtensionEntry * extEntry) { Mask mask; @@ -674,6 +674,7 @@ FixExtensionEvents(ExtensionEntry * extEntry) ChangeDeviceNotify = DeviceMappingNotify + 1; DeviceKeyStateNotify = ChangeDeviceNotify + 1; DeviceButtonStateNotify = DeviceKeyStateNotify + 1; + DevicePresenceNotify = DeviceButtonStateNotify + 1; event_base[KeyClass] = DeviceKeyPress; event_base[ButtonClass] = DeviceButtonPress; @@ -746,6 +747,9 @@ FixExtensionEvents(ExtensionEntry * extEntry) DeviceOwnerGrabButtonMask = GetNextExtEventMask(); SetEventInfo(DeviceOwnerGrabButtonMask, _deviceOwnerGrabButton); + + DevicePresenceNotifyMask = GetNextExtEventMask(); + SetEventInfo(DevicePresenceNotifyMask, _devicePresence); SetEventInfo(0, _noExtensionEvent); } @@ -756,7 +760,7 @@ FixExtensionEvents(ExtensionEntry * extEntry) * */ -void +static void RestoreExtensionEvents(void) { int i; @@ -786,6 +790,7 @@ RestoreExtensionEvents(void) ChangeDeviceNotify = 12; DeviceKeyStateNotify = 13; DeviceButtonStateNotify = 13; + DevicePresenceNotify = 14; BadDevice = 0; BadEvent = 1; @@ -803,7 +808,7 @@ RestoreExtensionEvents(void) * */ -void +static void IResetProc(ExtensionEntry * unused) { @@ -823,6 +828,7 @@ IResetProc(ExtensionEntry * unused) EventSwapVector[DeviceButtonStateNotify] = NotImplemented; EventSwapVector[DeviceMappingNotify] = NotImplemented; EventSwapVector[ChangeDeviceNotify] = NotImplemented; + EventSwapVector[DevicePresenceNotify] = NotImplemented; RestoreExtensionEvents(); } @@ -846,7 +852,7 @@ AssignTypeAndName(DeviceIntPtr dev, Atom type, char *name) * */ -void +static void MakeDeviceTypeAtoms(void) { int i; @@ -857,9 +863,7 @@ MakeDeviceTypeAtoms(void) } /************************************************************************** - * * Return a DeviceIntPtr corresponding to a specified device id. - * This will not return the pointer or keyboard, or devices that are not on. * */ @@ -869,104 +873,114 @@ LookupDeviceIntRec(CARD8 id) DeviceIntPtr dev; for (dev = inputInfo.devices; dev; dev = dev->next) { - if (dev->id == id) { - if (id == inputInfo.pointer->id || id == inputInfo.keyboard->id) - return (NULL); - return (dev); - } + if (dev->id == id) + return dev; } - return (NULL); -} -/************************************************************************** - * - * Allow the specified event to be restricted to being selected by one - * client at a time. - * The default is to allow more than one client to select the event. - * - */ - -void -SetExclusiveAccess(Mask mask) -{ - int i; - - for (i = 0; i < MAX_DEVICES; i++) - ExtExclusiveMasks[i] |= mask; -} - -/************************************************************************** - * - * Allow the specified event to have its propagation suppressed. - * The default is to not allow suppression of propagation. - * - */ - -void -AllowPropagateSuppress(Mask mask) -{ - int i; - - for (i = 0; i < MAX_DEVICES; i++) - PropagateMask[i] |= mask; -} - -/************************************************************************** - * - * Return the next available extension event mask. - * - */ - -Mask -GetNextExtEventMask(void) -{ - int i; - Mask mask = lastExtEventMask; - - if (lastExtEventMask == 0) { - FatalError("GetNextExtEventMask: no more events are available."); + for (dev = inputInfo.off_devices; dev; dev = dev->next) { + if (dev->id == id) + return dev; } - lastExtEventMask <<= 1; - for (i = 0; i < MAX_DEVICES; i++) - ExtValidMasks[i] |= mask; - return mask; + return NULL; } -/************************************************************************** +/***************************************************************************** * - * Assign the specified mask to the specified event. + * SEventIDispatch + * + * Swap any events defined in this extension. + */ +#define DO_SWAP(func,type) func ((type *)from, (type *)to) + +static void +SEventIDispatch(xEvent * from, xEvent * to) +{ + int type = from->u.u.type & 0177; + + if (type == DeviceValuator) + DO_SWAP(SEventDeviceValuator, deviceValuator); + else if (type == DeviceKeyPress) { + SKeyButtonPtrEvent(from, to); + to->u.keyButtonPointer.pad1 = from->u.keyButtonPointer.pad1; + } else if (type == DeviceKeyRelease) { + SKeyButtonPtrEvent(from, to); + to->u.keyButtonPointer.pad1 = from->u.keyButtonPointer.pad1; + } else if (type == DeviceButtonPress) { + SKeyButtonPtrEvent(from, to); + to->u.keyButtonPointer.pad1 = from->u.keyButtonPointer.pad1; + } else if (type == DeviceButtonRelease) { + SKeyButtonPtrEvent(from, to); + to->u.keyButtonPointer.pad1 = from->u.keyButtonPointer.pad1; + } else if (type == DeviceMotionNotify) { + SKeyButtonPtrEvent(from, to); + to->u.keyButtonPointer.pad1 = from->u.keyButtonPointer.pad1; + } else if (type == DeviceFocusIn) + DO_SWAP(SEventFocus, deviceFocus); + else if (type == DeviceFocusOut) + DO_SWAP(SEventFocus, deviceFocus); + else if (type == ProximityIn) { + SKeyButtonPtrEvent(from, to); + to->u.keyButtonPointer.pad1 = from->u.keyButtonPointer.pad1; + } else if (type == ProximityOut) { + SKeyButtonPtrEvent(from, to); + to->u.keyButtonPointer.pad1 = from->u.keyButtonPointer.pad1; + } else if (type == DeviceStateNotify) + DO_SWAP(SDeviceStateNotifyEvent, deviceStateNotify); + else if (type == DeviceKeyStateNotify) + DO_SWAP(SDeviceKeyStateNotifyEvent, deviceKeyStateNotify); + else if (type == DeviceButtonStateNotify) + DO_SWAP(SDeviceButtonStateNotifyEvent, deviceButtonStateNotify); + else if (type == DeviceMappingNotify) + DO_SWAP(SDeviceMappingNotifyEvent, deviceMappingNotify); + else if (type == ChangeDeviceNotify) + DO_SWAP(SChangeDeviceNotifyEvent, changeDeviceNotify); + else { + FatalError("XInputExtension: Impossible event!\n"); + } +} + +/********************************************************************** + * + * IExtensionInit - initialize the input extension. + * + * Called from InitExtensions in main() or from QueryExtension() if the + * extension is dynamically loaded. + * + * This extension has several events and errors. * */ void -SetMaskForExtEvent(Mask mask, int event) +XInputExtensionInit(void) { + ExtensionEntry *extEntry; - EventInfo[ExtEventIndex].mask = mask; - EventInfo[ExtEventIndex++].type = event; - - if ((event < LASTEvent) || (event >= 128)) - FatalError("MaskForExtensionEvent: bogus event number"); - SetMaskForEvent(mask, event); -} - -/************************************************************************** - * - * Record an event mask where there is no unique corresponding event type. - * We can't call SetMaskForEvent, since that would clobber the existing - * mask for that event. MotionHint and ButtonMotion are examples. - * - * Since extension event types will never be less than 64, we can use - * 0-63 in the EventInfo array as the "type" to be used to look up this - * mask. This means that the corresponding macros such as - * DevicePointerMotionHint must have access to the same constants. - * - */ - -void -SetEventInfo(Mask mask, int constant) -{ - EventInfo[ExtEventIndex].mask = mask; - EventInfo[ExtEventIndex++].type = constant; + extEntry = AddExtension(INAME, IEVENTS, IERRORS, ProcIDispatch, + SProcIDispatch, IResetProc, StandardMinorOpcode); + if (extEntry) { + IReqCode = extEntry->base; + AllExtensionVersions[IReqCode - 128] = thisversion; + MakeDeviceTypeAtoms(); + RT_INPUTCLIENT = CreateNewResourceType((DeleteType) InputClientGone); + FixExtensionEvents(extEntry); + ReplySwapVector[IReqCode] = (ReplySwapPtr) SReplyIDispatch; + EventSwapVector[DeviceValuator] = SEventIDispatch; + EventSwapVector[DeviceKeyPress] = SEventIDispatch; + EventSwapVector[DeviceKeyRelease] = SEventIDispatch; + EventSwapVector[DeviceButtonPress] = SEventIDispatch; + EventSwapVector[DeviceButtonRelease] = SEventIDispatch; + EventSwapVector[DeviceMotionNotify] = SEventIDispatch; + EventSwapVector[DeviceFocusIn] = SEventIDispatch; + EventSwapVector[DeviceFocusOut] = SEventIDispatch; + EventSwapVector[ProximityIn] = SEventIDispatch; + EventSwapVector[ProximityOut] = SEventIDispatch; + EventSwapVector[DeviceStateNotify] = SEventIDispatch; + EventSwapVector[DeviceKeyStateNotify] = SEventIDispatch; + EventSwapVector[DeviceButtonStateNotify] = SEventIDispatch; + EventSwapVector[DeviceMappingNotify] = SEventIDispatch; + EventSwapVector[ChangeDeviceNotify] = SEventIDispatch; + } else { + FatalError("IExtensionInit: AddExtensions failed\n"); + } } diff --git a/xserver/Xi/getbmap.c b/xserver/Xi/getbmap.c index 32874764b..5e8cf07fb 100644 --- a/xserver/Xi/getbmap.c +++ b/xserver/Xi/getbmap.c @@ -74,9 +74,9 @@ SOFTWARE. */ int -SProcXGetDeviceButtonMapping(register ClientPtr client) +SProcXGetDeviceButtonMapping(ClientPtr client) { - register char n; + char n; REQUEST(xGetDeviceButtonMappingReq); swaps(&stuff->length, n); @@ -90,7 +90,7 @@ SProcXGetDeviceButtonMapping(register ClientPtr client) */ int -ProcXGetDeviceButtonMapping(register ClientPtr client) +ProcXGetDeviceButtonMapping(ClientPtr client) { DeviceIntPtr dev; xGetDeviceButtonMappingReply rep; @@ -136,7 +136,7 @@ void SRepXGetDeviceButtonMapping(ClientPtr client, int size, xGetDeviceButtonMappingReply * rep) { - register char n; + char n; swaps(&rep->sequenceNumber, n); swapl(&rep->length, n); diff --git a/xserver/Xi/getdctl.c b/xserver/Xi/getdctl.c index c2b69fd71..88f061ee0 100644 --- a/xserver/Xi/getdctl.c +++ b/xserver/Xi/getdctl.c @@ -75,9 +75,9 @@ SOFTWARE. */ int -SProcXGetDeviceControl(register ClientPtr client) +SProcXGetDeviceControl(ClientPtr client) { - register char n; + char n; REQUEST(xGetDeviceControlReq); swaps(&stuff->length, n); @@ -86,82 +86,17 @@ SProcXGetDeviceControl(register ClientPtr client) return (ProcXGetDeviceControl(client)); } -/*********************************************************************** - * - * Get the state of the specified device control. - * - */ - -int -ProcXGetDeviceControl(ClientPtr client) -{ - int total_length = 0; - char *buf, *savbuf; - register DeviceIntPtr dev; - xGetDeviceControlReply rep; - - REQUEST(xGetDeviceControlReq); - REQUEST_SIZE_MATCH(xGetDeviceControlReq); - - dev = LookupDeviceIntRec(stuff->deviceid); - if (dev == NULL) { - SendErrorToClient(client, IReqCode, X_GetDeviceControl, 0, BadDevice); - return Success; - } - - rep.repType = X_Reply; - rep.RepType = X_GetDeviceControl; - rep.length = 0; - rep.sequenceNumber = client->sequence; - - switch (stuff->control) { - case DEVICE_RESOLUTION: - if (!dev->valuator) { - SendErrorToClient(client, IReqCode, X_GetDeviceControl, 0, - BadMatch); - return Success; - } - total_length = sizeof(xDeviceResolutionState) + - (3 * sizeof(int) * dev->valuator->numAxes); - break; - default: - SendErrorToClient(client, IReqCode, X_GetDeviceControl, 0, BadValue); - return Success; - } - - buf = (char *)xalloc(total_length); - if (!buf) { - SendErrorToClient(client, IReqCode, X_GetDeviceControl, 0, BadAlloc); - return Success; - } - savbuf = buf; - - switch (stuff->control) { - case DEVICE_RESOLUTION: - CopySwapDeviceResolution(client, dev->valuator, buf, total_length); - break; - default: - break; - } - - rep.length = (total_length + 3) >> 2; - WriteReplyToClient(client, sizeof(xGetDeviceControlReply), &rep); - WriteToClient(client, total_length, savbuf); - xfree(savbuf); - return Success; -} - /*********************************************************************** * * This procedure copies DeviceResolution data, swapping if necessary. * */ -void +static void CopySwapDeviceResolution(ClientPtr client, ValuatorClassPtr v, char *buf, int length) { - register char n; + char n; AxisInfoPtr a; xDeviceResolutionState *r; int i, *iptr; @@ -189,6 +124,97 @@ CopySwapDeviceResolution(ClientPtr client, ValuatorClassPtr v, char *buf, } } +static void CopySwapDeviceAbsCalib (ClientPtr client, AbsoluteClassPtr dts, + char *buf) +{ + char n; + xDeviceAbsCalibState *calib = (xDeviceAbsCalibState *) buf; + + calib->control = DEVICE_ABS_CALIB; + calib->length = sizeof(calib); + calib->min_x = dts->min_x; + calib->max_x = dts->max_x; + calib->min_y = dts->min_y; + calib->max_y = dts->max_y; + calib->flip_x = dts->flip_x; + calib->flip_y = dts->flip_y; + calib->rotation = dts->rotation; + calib->button_threshold = dts->button_threshold; + + if (client->swapped) { + swaps(&calib->control, n); + swaps(&calib->length, n); + swapl(&calib->min_x, n); + swapl(&calib->max_x, n); + swapl(&calib->min_y, n); + swapl(&calib->max_y, n); + swapl(&calib->flip_x, n); + swapl(&calib->flip_y, n); + swapl(&calib->rotation, n); + swapl(&calib->button_threshold, n); + } +} + +static void CopySwapDeviceAbsArea (ClientPtr client, AbsoluteClassPtr dts, + char *buf) +{ + char n; + xDeviceAbsAreaState *area = (xDeviceAbsAreaState *) buf; + + area->control = DEVICE_ABS_AREA; + area->length = sizeof(area); + area->offset_x = dts->offset_x; + area->offset_y = dts->offset_y; + area->width = dts->width; + area->height = dts->height; + area->screen = dts->screen; + area->following = dts->following; + + if (client->swapped) { + swaps(&area->control, n); + swaps(&area->length, n); + swapl(&area->offset_x, n); + swapl(&area->offset_y, n); + swapl(&area->width, n); + swapl(&area->height, n); + swapl(&area->screen, n); + swapl(&area->following, n); + } +} + +static void CopySwapDeviceCore (ClientPtr client, DeviceIntPtr dev, char *buf) +{ + char n; + xDeviceCoreState *c = (xDeviceCoreState *) buf; + + c->control = DEVICE_CORE; + c->length = sizeof(c); + c->status = dev->coreEvents; + c->iscore = (dev == inputInfo.keyboard || dev == inputInfo.pointer); + + if (client->swapped) { + swaps(&c->control, n); + swaps(&c->length, n); + swaps(&c->status, n); + } +} + +static void CopySwapDeviceEnable (ClientPtr client, DeviceIntPtr dev, char *buf) +{ + char n; + xDeviceEnableState *e = (xDeviceEnableState *) buf; + + e->control = DEVICE_ENABLE; + e->length = sizeof(e); + e->enable = dev->enabled; + + if (client->swapped) { + swaps(&e->control, n); + swaps(&e->length, n); + swaps(&e->enable, n); + } +} + /*********************************************************************** * * This procedure writes the reply for the xGetDeviceControl function, @@ -199,9 +225,110 @@ CopySwapDeviceResolution(ClientPtr client, ValuatorClassPtr v, char *buf, void SRepXGetDeviceControl(ClientPtr client, int size, xGetDeviceControlReply * rep) { - register char n; + char n; swaps(&rep->sequenceNumber, n); swapl(&rep->length, n); WriteToClient(client, size, (char *)rep); } + +/*********************************************************************** + * + * Get the state of the specified device control. + * + */ + +int +ProcXGetDeviceControl(ClientPtr client) +{ + int total_length = 0; + char *buf, *savbuf; + DeviceIntPtr dev; + xGetDeviceControlReply rep; + + REQUEST(xGetDeviceControlReq); + REQUEST_SIZE_MATCH(xGetDeviceControlReq); + + dev = LookupDeviceIntRec(stuff->deviceid); + if (dev == NULL) { + SendErrorToClient(client, IReqCode, X_GetDeviceControl, 0, BadDevice); + return Success; + } + + rep.repType = X_Reply; + rep.RepType = X_GetDeviceControl; + rep.length = 0; + rep.sequenceNumber = client->sequence; + + switch (stuff->control) { + case DEVICE_RESOLUTION: + if (!dev->valuator) { + SendErrorToClient(client, IReqCode, X_GetDeviceControl, 0, + BadMatch); + return Success; + } + total_length = sizeof(xDeviceResolutionState) + + (3 * sizeof(int) * dev->valuator->numAxes); + break; + case DEVICE_ABS_CALIB: + if (!dev->absolute) { + SendErrorToClient(client, IReqCode, X_GetDeviceControl, 0, + BadMatch); + return Success; + } + + total_length = sizeof(xDeviceAbsCalibCtl); + break; + case DEVICE_ABS_AREA: + if (!dev->absolute) { + SendErrorToClient(client, IReqCode, X_GetDeviceControl, 0, + BadMatch); + return Success; + } + + total_length = sizeof(xDeviceAbsAreaCtl); + break; + case DEVICE_CORE: + total_length = sizeof(xDeviceCoreCtl); + break; + case DEVICE_ENABLE: + total_length = sizeof(xDeviceEnableCtl); + break; + default: + SendErrorToClient(client, IReqCode, X_GetDeviceControl, 0, BadValue); + return Success; + } + + buf = (char *)xalloc(total_length); + if (!buf) { + SendErrorToClient(client, IReqCode, X_GetDeviceControl, 0, BadAlloc); + return Success; + } + savbuf = buf; + + switch (stuff->control) { + case DEVICE_RESOLUTION: + CopySwapDeviceResolution(client, dev->valuator, buf, total_length); + break; + case DEVICE_ABS_CALIB: + CopySwapDeviceAbsCalib(client, dev->absolute, buf); + break; + case DEVICE_ABS_AREA: + CopySwapDeviceAbsArea(client, dev->absolute, buf); + break; + case DEVICE_CORE: + CopySwapDeviceCore(client, dev, buf); + break; + case DEVICE_ENABLE: + CopySwapDeviceEnable(client, dev, buf); + break; + default: + break; + } + + rep.length = (total_length + 3) >> 2; + WriteReplyToClient(client, sizeof(xGetDeviceControlReply), &rep); + WriteToClient(client, total_length, savbuf); + xfree(savbuf); + return Success; +} diff --git a/xserver/Xi/getdctl.h b/xserver/Xi/getdctl.h index c7cfb19d2..19c189f36 100644 --- a/xserver/Xi/getdctl.h +++ b/xserver/Xi/getdctl.h @@ -36,12 +36,6 @@ int SProcXGetDeviceControl(ClientPtr /* client */ int ProcXGetDeviceControl(ClientPtr /* client */ ); -void CopySwapDeviceResolution(ClientPtr /* client */ , - ValuatorClassPtr /* v */ , - char * /* buf */ , - int /* length */ - ); - void SRepXGetDeviceControl(ClientPtr /* client */ , int /* size */ , xGetDeviceControlReply * /* rep */ diff --git a/xserver/Xi/getfctl.c b/xserver/Xi/getfctl.c index 870348fbb..5ca90dbf0 100644 --- a/xserver/Xi/getfctl.c +++ b/xserver/Xi/getfctl.c @@ -75,15 +75,215 @@ SOFTWARE. */ int -SProcXGetFeedbackControl(register ClientPtr client) +SProcXGetFeedbackControl(ClientPtr client) { - register char n; + char n; REQUEST(xGetFeedbackControlReq); swaps(&stuff->length, n); return (ProcXGetFeedbackControl(client)); } +/*********************************************************************** + * + * This procedure copies KbdFeedbackClass data, swapping if necessary. + * + */ + +static void +CopySwapKbdFeedback(ClientPtr client, KbdFeedbackPtr k, char **buf) +{ + int i; + char n; + xKbdFeedbackState *k2; + + k2 = (xKbdFeedbackState *) * buf; + k2->class = KbdFeedbackClass; + k2->length = sizeof(xKbdFeedbackState); + k2->id = k->ctrl.id; + k2->click = k->ctrl.click; + k2->percent = k->ctrl.bell; + k2->pitch = k->ctrl.bell_pitch; + k2->duration = k->ctrl.bell_duration; + k2->led_mask = k->ctrl.leds; + k2->global_auto_repeat = k->ctrl.autoRepeat; + for (i = 0; i < 32; i++) + k2->auto_repeats[i] = k->ctrl.autoRepeats[i]; + if (client->swapped) { + swaps(&k2->length, n); + swaps(&k2->pitch, n); + swaps(&k2->duration, n); + swapl(&k2->led_mask, n); + swapl(&k2->led_values, n); + } + *buf += sizeof(xKbdFeedbackState); +} + +/*********************************************************************** + * + * This procedure copies PtrFeedbackClass data, swapping if necessary. + * + */ + +static void +CopySwapPtrFeedback(ClientPtr client, PtrFeedbackPtr p, char **buf) +{ + char n; + xPtrFeedbackState *p2; + + p2 = (xPtrFeedbackState *) * buf; + p2->class = PtrFeedbackClass; + p2->length = sizeof(xPtrFeedbackState); + p2->id = p->ctrl.id; + p2->accelNum = p->ctrl.num; + p2->accelDenom = p->ctrl.den; + p2->threshold = p->ctrl.threshold; + if (client->swapped) { + swaps(&p2->length, n); + swaps(&p2->accelNum, n); + swaps(&p2->accelDenom, n); + swaps(&p2->threshold, n); + } + *buf += sizeof(xPtrFeedbackState); +} + +/*********************************************************************** + * + * This procedure copies IntegerFeedbackClass data, swapping if necessary. + * + */ + +static void +CopySwapIntegerFeedback(ClientPtr client, IntegerFeedbackPtr i, char **buf) +{ + char n; + xIntegerFeedbackState *i2; + + i2 = (xIntegerFeedbackState *) * buf; + i2->class = IntegerFeedbackClass; + i2->length = sizeof(xIntegerFeedbackState); + i2->id = i->ctrl.id; + i2->resolution = i->ctrl.resolution; + i2->min_value = i->ctrl.min_value; + i2->max_value = i->ctrl.max_value; + if (client->swapped) { + swaps(&i2->length, n); + swapl(&i2->resolution, n); + swapl(&i2->min_value, n); + swapl(&i2->max_value, n); + } + *buf += sizeof(xIntegerFeedbackState); +} + +/*********************************************************************** + * + * This procedure copies StringFeedbackClass data, swapping if necessary. + * + */ + +static void +CopySwapStringFeedback(ClientPtr client, StringFeedbackPtr s, char **buf) +{ + int i; + char n; + xStringFeedbackState *s2; + KeySym *kptr; + + s2 = (xStringFeedbackState *) * buf; + s2->class = StringFeedbackClass; + s2->length = sizeof(xStringFeedbackState) + + s->ctrl.num_symbols_supported * sizeof(KeySym); + s2->id = s->ctrl.id; + s2->max_symbols = s->ctrl.max_symbols; + s2->num_syms_supported = s->ctrl.num_symbols_supported; + *buf += sizeof(xStringFeedbackState); + kptr = (KeySym *) (*buf); + for (i = 0; i < s->ctrl.num_symbols_supported; i++) + *kptr++ = *(s->ctrl.symbols_supported + i); + if (client->swapped) { + swaps(&s2->length, n); + swaps(&s2->max_symbols, n); + swaps(&s2->num_syms_supported, n); + kptr = (KeySym *) (*buf); + for (i = 0; i < s->ctrl.num_symbols_supported; i++, kptr++) { + swapl(kptr, n); + } + } + *buf += (s->ctrl.num_symbols_supported * sizeof(KeySym)); +} + +/*********************************************************************** + * + * This procedure copies LedFeedbackClass data, swapping if necessary. + * + */ + +static void +CopySwapLedFeedback(ClientPtr client, LedFeedbackPtr l, char **buf) +{ + char n; + xLedFeedbackState *l2; + + l2 = (xLedFeedbackState *) * buf; + l2->class = LedFeedbackClass; + l2->length = sizeof(xLedFeedbackState); + l2->id = l->ctrl.id; + l2->led_values = l->ctrl.led_values; + l2->led_mask = l->ctrl.led_mask; + if (client->swapped) { + swaps(&l2->length, n); + swapl(&l2->led_values, n); + swapl(&l2->led_mask, n); + } + *buf += sizeof(xLedFeedbackState); +} + +/*********************************************************************** + * + * This procedure copies BellFeedbackClass data, swapping if necessary. + * + */ + +static void +CopySwapBellFeedback(ClientPtr client, BellFeedbackPtr b, char **buf) +{ + char n; + xBellFeedbackState *b2; + + b2 = (xBellFeedbackState *) * buf; + b2->class = BellFeedbackClass; + b2->length = sizeof(xBellFeedbackState); + b2->id = b->ctrl.id; + b2->percent = b->ctrl.percent; + b2->pitch = b->ctrl.pitch; + b2->duration = b->ctrl.duration; + if (client->swapped) { + swaps(&b2->length, n); + swaps(&b2->pitch, n); + swaps(&b2->duration, n); + } + *buf += sizeof(xBellFeedbackState); +} + +/*********************************************************************** + * + * This procedure writes the reply for the xGetFeedbackControl function, + * if the client and server have a different byte ordering. + * + */ + +void +SRepXGetFeedbackControl(ClientPtr client, int size, + xGetFeedbackControlReply * rep) +{ + char n; + + swaps(&rep->sequenceNumber, n); + swapl(&rep->length, n); + swaps(&rep->num_feedbacks, n); + WriteToClient(client, size, (char *)rep); +} + /*********************************************************************** * * Get the feedback control state. @@ -95,7 +295,7 @@ ProcXGetFeedbackControl(ClientPtr client) { int total_length = 0; char *buf, *savbuf; - register DeviceIntPtr dev; + DeviceIntPtr dev; KbdFeedbackPtr k; PtrFeedbackPtr p; IntegerFeedbackPtr i; @@ -176,203 +376,3 @@ ProcXGetFeedbackControl(ClientPtr client) xfree(savbuf); return Success; } - -/*********************************************************************** - * - * This procedure copies KbdFeedbackClass data, swapping if necessary. - * - */ - -void -CopySwapKbdFeedback(ClientPtr client, KbdFeedbackPtr k, char **buf) -{ - int i; - register char n; - xKbdFeedbackState *k2; - - k2 = (xKbdFeedbackState *) * buf; - k2->class = KbdFeedbackClass; - k2->length = sizeof(xKbdFeedbackState); - k2->id = k->ctrl.id; - k2->click = k->ctrl.click; - k2->percent = k->ctrl.bell; - k2->pitch = k->ctrl.bell_pitch; - k2->duration = k->ctrl.bell_duration; - k2->led_mask = k->ctrl.leds; - k2->global_auto_repeat = k->ctrl.autoRepeat; - for (i = 0; i < 32; i++) - k2->auto_repeats[i] = k->ctrl.autoRepeats[i]; - if (client->swapped) { - swaps(&k2->length, n); - swaps(&k2->pitch, n); - swaps(&k2->duration, n); - swapl(&k2->led_mask, n); - swapl(&k2->led_values, n); - } - *buf += sizeof(xKbdFeedbackState); -} - -/*********************************************************************** - * - * This procedure copies PtrFeedbackClass data, swapping if necessary. - * - */ - -void -CopySwapPtrFeedback(ClientPtr client, PtrFeedbackPtr p, char **buf) -{ - register char n; - xPtrFeedbackState *p2; - - p2 = (xPtrFeedbackState *) * buf; - p2->class = PtrFeedbackClass; - p2->length = sizeof(xPtrFeedbackState); - p2->id = p->ctrl.id; - p2->accelNum = p->ctrl.num; - p2->accelDenom = p->ctrl.den; - p2->threshold = p->ctrl.threshold; - if (client->swapped) { - swaps(&p2->length, n); - swaps(&p2->accelNum, n); - swaps(&p2->accelDenom, n); - swaps(&p2->threshold, n); - } - *buf += sizeof(xPtrFeedbackState); -} - -/*********************************************************************** - * - * This procedure copies IntegerFeedbackClass data, swapping if necessary. - * - */ - -void -CopySwapIntegerFeedback(ClientPtr client, IntegerFeedbackPtr i, char **buf) -{ - register char n; - xIntegerFeedbackState *i2; - - i2 = (xIntegerFeedbackState *) * buf; - i2->class = IntegerFeedbackClass; - i2->length = sizeof(xIntegerFeedbackState); - i2->id = i->ctrl.id; - i2->resolution = i->ctrl.resolution; - i2->min_value = i->ctrl.min_value; - i2->max_value = i->ctrl.max_value; - if (client->swapped) { - swaps(&i2->length, n); - swapl(&i2->resolution, n); - swapl(&i2->min_value, n); - swapl(&i2->max_value, n); - } - *buf += sizeof(xIntegerFeedbackState); -} - -/*********************************************************************** - * - * This procedure copies StringFeedbackClass data, swapping if necessary. - * - */ - -void -CopySwapStringFeedback(ClientPtr client, StringFeedbackPtr s, char **buf) -{ - int i; - register char n; - xStringFeedbackState *s2; - KeySym *kptr; - - s2 = (xStringFeedbackState *) * buf; - s2->class = StringFeedbackClass; - s2->length = sizeof(xStringFeedbackState) + - s->ctrl.num_symbols_supported * sizeof(KeySym); - s2->id = s->ctrl.id; - s2->max_symbols = s->ctrl.max_symbols; - s2->num_syms_supported = s->ctrl.num_symbols_supported; - *buf += sizeof(xStringFeedbackState); - kptr = (KeySym *) (*buf); - for (i = 0; i < s->ctrl.num_symbols_supported; i++) - *kptr++ = *(s->ctrl.symbols_supported + i); - if (client->swapped) { - swaps(&s2->length, n); - swaps(&s2->max_symbols, n); - swaps(&s2->num_syms_supported, n); - kptr = (KeySym *) (*buf); - for (i = 0; i < s->ctrl.num_symbols_supported; i++, kptr++) { - swapl(kptr, n); - } - } - *buf += (s->ctrl.num_symbols_supported * sizeof(KeySym)); -} - -/*********************************************************************** - * - * This procedure copies LedFeedbackClass data, swapping if necessary. - * - */ - -void -CopySwapLedFeedback(ClientPtr client, LedFeedbackPtr l, char **buf) -{ - register char n; - xLedFeedbackState *l2; - - l2 = (xLedFeedbackState *) * buf; - l2->class = LedFeedbackClass; - l2->length = sizeof(xLedFeedbackState); - l2->id = l->ctrl.id; - l2->led_values = l->ctrl.led_values; - l2->led_mask = l->ctrl.led_mask; - if (client->swapped) { - swaps(&l2->length, n); - swapl(&l2->led_values, n); - swapl(&l2->led_mask, n); - } - *buf += sizeof(xLedFeedbackState); -} - -/*********************************************************************** - * - * This procedure copies BellFeedbackClass data, swapping if necessary. - * - */ - -void -CopySwapBellFeedback(ClientPtr client, BellFeedbackPtr b, char **buf) -{ - register char n; - xBellFeedbackState *b2; - - b2 = (xBellFeedbackState *) * buf; - b2->class = BellFeedbackClass; - b2->length = sizeof(xBellFeedbackState); - b2->id = b->ctrl.id; - b2->percent = b->ctrl.percent; - b2->pitch = b->ctrl.pitch; - b2->duration = b->ctrl.duration; - if (client->swapped) { - swaps(&b2->length, n); - swaps(&b2->pitch, n); - swaps(&b2->duration, n); - } - *buf += sizeof(xBellFeedbackState); -} - -/*********************************************************************** - * - * This procedure writes the reply for the xGetFeedbackControl function, - * if the client and server have a different byte ordering. - * - */ - -void -SRepXGetFeedbackControl(ClientPtr client, int size, - xGetFeedbackControlReply * rep) -{ - register char n; - - swaps(&rep->sequenceNumber, n); - swapl(&rep->length, n); - swaps(&rep->num_feedbacks, n); - WriteToClient(client, size, (char *)rep); -} diff --git a/xserver/Xi/getfctl.h b/xserver/Xi/getfctl.h index 7d2d17ab1..0ad58aa2b 100644 --- a/xserver/Xi/getfctl.h +++ b/xserver/Xi/getfctl.h @@ -36,36 +36,6 @@ int SProcXGetFeedbackControl(ClientPtr /* client */ int ProcXGetFeedbackControl(ClientPtr /* client */ ); -void CopySwapKbdFeedback(ClientPtr /* client */ , - KbdFeedbackPtr /* k */ , - char ** /* buf */ - ); - -void CopySwapPtrFeedback(ClientPtr /* client */ , - PtrFeedbackPtr /* p */ , - char ** /* buf */ - ); - -void CopySwapIntegerFeedback(ClientPtr /* client */ , - IntegerFeedbackPtr /* i */ , - char ** /* buf */ - ); - -void CopySwapStringFeedback(ClientPtr /* client */ , - StringFeedbackPtr /* s */ , - char ** /* buf */ - ); - -void CopySwapLedFeedback(ClientPtr /* client */ , - LedFeedbackPtr /* l */ , - char ** /* buf */ - ); - -void CopySwapBellFeedback(ClientPtr /* client */ , - BellFeedbackPtr /* b */ , - char ** /* buf */ - ); - void SRepXGetFeedbackControl(ClientPtr /* client */ , int /* size */ , xGetFeedbackControlReply * /* rep */ diff --git a/xserver/Xi/getfocus.c b/xserver/Xi/getfocus.c index 1bcb67321..245b5f1b4 100644 --- a/xserver/Xi/getfocus.c +++ b/xserver/Xi/getfocus.c @@ -75,9 +75,9 @@ SOFTWARE. */ int -SProcXGetDeviceFocus(register ClientPtr client) +SProcXGetDeviceFocus(ClientPtr client) { - register char n; + char n; REQUEST(xGetDeviceFocusReq); swaps(&stuff->length, n); @@ -138,7 +138,7 @@ ProcXGetDeviceFocus(ClientPtr client) void SRepXGetDeviceFocus(ClientPtr client, int size, xGetDeviceFocusReply * rep) { - register char n; + char n; swaps(&rep->sequenceNumber, n); swapl(&rep->length, n); diff --git a/xserver/Xi/getkmap.c b/xserver/Xi/getkmap.c index 041e2c69f..989f3d57d 100644 --- a/xserver/Xi/getkmap.c +++ b/xserver/Xi/getkmap.c @@ -76,9 +76,9 @@ SOFTWARE. */ int -SProcXGetDeviceKeyMapping(register ClientPtr client) +SProcXGetDeviceKeyMapping(ClientPtr client) { - register char n; + char n; REQUEST(xGetDeviceKeyMappingReq); swaps(&stuff->length, n); @@ -92,7 +92,7 @@ SProcXGetDeviceKeyMapping(register ClientPtr client) */ int -ProcXGetDeviceKeyMapping(register ClientPtr client) +ProcXGetDeviceKeyMapping(ClientPtr client) { xGetDeviceKeyMappingReply rep; DeviceIntPtr dev; @@ -154,7 +154,7 @@ void SRepXGetDeviceKeyMapping(ClientPtr client, int size, xGetDeviceKeyMappingReply * rep) { - register char n; + char n; swaps(&rep->sequenceNumber, n); swapl(&rep->length, n); diff --git a/xserver/Xi/getmmap.c b/xserver/Xi/getmmap.c index e664dc910..038937ef7 100644 --- a/xserver/Xi/getmmap.c +++ b/xserver/Xi/getmmap.c @@ -75,9 +75,9 @@ SOFTWARE. */ int -SProcXGetDeviceModifierMapping(register ClientPtr client) +SProcXGetDeviceModifierMapping(ClientPtr client) { - register char n; + char n; REQUEST(xGetDeviceModifierMappingReq); swaps(&stuff->length, n); @@ -141,7 +141,7 @@ void SRepXGetDeviceModifierMapping(ClientPtr client, int size, xGetDeviceModifierMappingReply * rep) { - register char n; + char n; swaps(&rep->sequenceNumber, n); swapl(&rep->length, n); diff --git a/xserver/Xi/getprop.c b/xserver/Xi/getprop.c index 530841032..6fa1986f4 100644 --- a/xserver/Xi/getprop.c +++ b/xserver/Xi/getprop.c @@ -79,9 +79,9 @@ extern int ExtEventIndex; */ int -SProcXGetDeviceDontPropagateList(register ClientPtr client) +SProcXGetDeviceDontPropagateList(ClientPtr client) { - register char n; + char n; REQUEST(xGetDeviceDontPropagateListReq); swaps(&stuff->length, n); @@ -97,10 +97,10 @@ SProcXGetDeviceDontPropagateList(register ClientPtr client) */ int -ProcXGetDeviceDontPropagateList(register ClientPtr client) +ProcXGetDeviceDontPropagateList(ClientPtr client) { CARD16 count = 0; - int i; + int i, rc; XEventClass *buf = NULL, *tbuf; WindowPtr pWin; xGetDeviceDontPropagateListReply rep; @@ -115,11 +115,10 @@ ProcXGetDeviceDontPropagateList(register ClientPtr client) rep.length = 0; rep.count = 0; - pWin = (WindowPtr) LookupWindow(stuff->window, client); - if (!pWin) { - client->errorValue = stuff->window; + rc = dixLookupWindow(&pWin, stuff->window, client, DixUnknownAccess); + if (rc != Success) { SendErrorToClient(client, IReqCode, X_GetDeviceDontPropagateList, 0, - BadWindow); + rc); return Success; } @@ -188,7 +187,7 @@ void SRepXGetDeviceDontPropagateList(ClientPtr client, int size, xGetDeviceDontPropagateListReply * rep) { - register char n; + char n; swaps(&rep->sequenceNumber, n); swapl(&rep->length, n); diff --git a/xserver/Xi/getselev.c b/xserver/Xi/getselev.c index a84c33d23..9c5f2191c 100644 --- a/xserver/Xi/getselev.c +++ b/xserver/Xi/getselev.c @@ -77,9 +77,9 @@ SOFTWARE. */ int -SProcXGetSelectedExtensionEvents(register ClientPtr client) +SProcXGetSelectedExtensionEvents(ClientPtr client) { - register char n; + char n; REQUEST(xGetSelectedExtensionEventsReq); swaps(&stuff->length, n); @@ -96,10 +96,9 @@ SProcXGetSelectedExtensionEvents(register ClientPtr client) */ int -ProcXGetSelectedExtensionEvents(register ClientPtr client) +ProcXGetSelectedExtensionEvents(ClientPtr client) { - int i; - int total_length = 0; + int i, rc, total_length = 0; xGetSelectedExtensionEventsReply rep; WindowPtr pWin; XEventClass *buf = NULL; @@ -118,9 +117,10 @@ ProcXGetSelectedExtensionEvents(register ClientPtr client) rep.this_client_count = 0; rep.all_clients_count = 0; - if (!(pWin = LookupWindow(stuff->window, client))) { + rc = dixLookupWindow(&pWin, stuff->window, client, DixUnknownAccess); + if (rc != Success) { SendErrorToClient(client, IReqCode, X_GetSelectedExtensionEvents, 0, - BadWindow); + rc); return Success; } @@ -177,7 +177,7 @@ void SRepXGetSelectedExtensionEvents(ClientPtr client, int size, xGetSelectedExtensionEventsReply * rep) { - register char n; + char n; swaps(&rep->sequenceNumber, n); swapl(&rep->length, n); diff --git a/xserver/Xi/getvers.c b/xserver/Xi/getvers.c index c5f1750be..b3f4c1c67 100644 --- a/xserver/Xi/getvers.c +++ b/xserver/Xi/getvers.c @@ -76,9 +76,9 @@ XExtensionVersion AllExtensionVersions[128]; */ int -SProcXGetExtensionVersion(register ClientPtr client) +SProcXGetExtensionVersion(ClientPtr client) { - register char n; + char n; REQUEST(xGetExtensionVersionReq); swaps(&stuff->length, n); @@ -94,7 +94,7 @@ SProcXGetExtensionVersion(register ClientPtr client) */ int -ProcXGetExtensionVersion(register ClientPtr client) +ProcXGetExtensionVersion(ClientPtr client) { xGetExtensionVersionReply rep; @@ -136,7 +136,7 @@ void SRepXGetExtensionVersion(ClientPtr client, int size, xGetExtensionVersionReply * rep) { - register char n; + char n; swaps(&rep->sequenceNumber, n); swapl(&rep->length, n); diff --git a/xserver/Xi/grabdev.c b/xserver/Xi/grabdev.c index 3af2346e3..e2809efb1 100644 --- a/xserver/Xi/grabdev.c +++ b/xserver/Xi/grabdev.c @@ -79,11 +79,11 @@ extern int ExtEventIndex; */ int -SProcXGrabDevice(register ClientPtr client) +SProcXGrabDevice(ClientPtr client) { - register char n; - register long *p; - register int i; + char n; + long *p; + int i; REQUEST(xGrabDeviceReq); swaps(&stuff->length, n); @@ -202,7 +202,7 @@ CreateMaskFromList(ClientPtr client, XEventClass * list, int count, void SRepXGrabDevice(ClientPtr client, int size, xGrabDeviceReply * rep) { - register char n; + char n; swaps(&rep->sequenceNumber, n); swapl(&rep->length, n); diff --git a/xserver/Xi/grabdevb.c b/xserver/Xi/grabdevb.c index 4333550f1..df62d0c69 100644 --- a/xserver/Xi/grabdevb.c +++ b/xserver/Xi/grabdevb.c @@ -77,11 +77,11 @@ SOFTWARE. */ int -SProcXGrabDeviceButton(register ClientPtr client) +SProcXGrabDeviceButton(ClientPtr client) { - register char n; - register long *p; - register int i; + char n; + long *p; + int i; REQUEST(xGrabDeviceButtonReq); swaps(&stuff->length, n); diff --git a/xserver/Xi/grabdevk.c b/xserver/Xi/grabdevk.c index 71e72d56f..b74592f19 100644 --- a/xserver/Xi/grabdevk.c +++ b/xserver/Xi/grabdevk.c @@ -77,11 +77,11 @@ SOFTWARE. */ int -SProcXGrabDeviceKey(register ClientPtr client) +SProcXGrabDeviceKey(ClientPtr client) { - register char n; - register long *p; - register int i; + char n; + long *p; + int i; REQUEST(xGrabDeviceKeyReq); swaps(&stuff->length, n); diff --git a/xserver/Xi/gtmotion.c b/xserver/Xi/gtmotion.c index 435ab0bfd..cfc7f89f3 100644 --- a/xserver/Xi/gtmotion.c +++ b/xserver/Xi/gtmotion.c @@ -75,9 +75,9 @@ SOFTWARE. */ int -SProcXGetDeviceMotionEvents(register ClientPtr client) +SProcXGetDeviceMotionEvents(ClientPtr client) { - register char n; + char n; REQUEST(xGetDeviceMotionEventsReq); swaps(&stuff->length, n); @@ -162,7 +162,7 @@ ProcXGetDeviceMotionEvents(ClientPtr client) WriteReplyToClient(client, sizeof(xGetDeviceMotionEventsReply), &rep); if (nEvents) { if (client->swapped) { - register char n; + char n; bufptr = coords; for (i = 0; i < nEvents * (axes + 1); i++) { @@ -188,7 +188,7 @@ void SRepXGetDeviceMotionEvents(ClientPtr client, int size, xGetDeviceMotionEventsReply * rep) { - register char n; + char n; swaps(&rep->sequenceNumber, n); swapl(&rep->length, n); diff --git a/xserver/Xi/listdev.c b/xserver/Xi/listdev.c index 13e5ca729..160ad02fb 100644 --- a/xserver/Xi/listdev.c +++ b/xserver/Xi/listdev.c @@ -77,71 +77,15 @@ SOFTWARE. */ int -SProcXListInputDevices(register ClientPtr client) +SProcXListInputDevices(ClientPtr client) { - register char n; + char n; REQUEST(xListInputDevicesReq); swaps(&stuff->length, n); return (ProcXListInputDevices(client)); } -/*********************************************************************** - * - * This procedure lists the input devices available to the server. - * - */ - -int -ProcXListInputDevices(register ClientPtr client) -{ - xListInputDevicesReply rep; - int numdevs; - int namesize = 1; /* need 1 extra byte for strcpy */ - int size = 0; - int total_length; - char *devbuf; - char *classbuf; - char *namebuf; - char *savbuf; - xDeviceInfo *dev; - DeviceIntPtr d; - - REQUEST_SIZE_MATCH(xListInputDevicesReq); - - rep.repType = X_Reply; - rep.RepType = X_ListInputDevices; - rep.length = 0; - rep.sequenceNumber = client->sequence; - - AddOtherInputDevices(); - numdevs = inputInfo.numDevices; - - for (d = inputInfo.devices; d; d = d->next) - SizeDeviceInfo(d, &namesize, &size); - for (d = inputInfo.off_devices; d; d = d->next) - SizeDeviceInfo(d, &namesize, &size); - - total_length = numdevs * sizeof(xDeviceInfo) + size + namesize; - devbuf = (char *)xalloc(total_length); - classbuf = devbuf + (numdevs * sizeof(xDeviceInfo)); - namebuf = classbuf + size; - savbuf = devbuf; - - dev = (xDeviceInfoPtr) devbuf; - for (d = inputInfo.devices; d; d = d->next, dev++) - ListDeviceInfo(client, d, dev, &devbuf, &classbuf, &namebuf); - for (d = inputInfo.off_devices; d; d = d->next, dev++) - ListDeviceInfo(client, d, dev, &devbuf, &classbuf, &namebuf); - - rep.ndevices = numdevs; - rep.length = (total_length + 3) >> 2; - WriteReplyToClient(client, sizeof(xListInputDevicesReply), &rep); - WriteToClient(client, total_length, savbuf); - xfree(savbuf); - return Success; -} - /*********************************************************************** * * This procedure calculates the size of the information to be returned @@ -149,7 +93,7 @@ ProcXListInputDevices(register ClientPtr client) * */ -void +static void SizeDeviceInfo(DeviceIntPtr d, int *namesize, int *size) { int chunks; @@ -168,32 +112,6 @@ SizeDeviceInfo(DeviceIntPtr d, int *namesize, int *size) } } -/*********************************************************************** - * - * This procedure lists information to be returned for an input device. - * - */ - -void -ListDeviceInfo(ClientPtr client, DeviceIntPtr d, xDeviceInfoPtr dev, - char **devbuf, char **classbuf, char **namebuf) -{ - CopyDeviceName(namebuf, d->name); - CopySwapDevice(client, d, 0, devbuf); - if (d->key != NULL) { - CopySwapKeyClass(client, d->key, classbuf); - dev->num_classes++; - } - if (d->button != NULL) { - CopySwapButtonClass(client, d->button, classbuf); - dev->num_classes++; - } - if (d->valuator != NULL) { - dev->num_classes += - CopySwapValuatorClass(client, d->valuator, classbuf); - } -} - /*********************************************************************** * * This procedure copies data to the DeviceInfo struct, swapping if necessary. @@ -204,7 +122,7 @@ ListDeviceInfo(ClientPtr client, DeviceIntPtr d, xDeviceInfoPtr dev, * */ -void +static void CopyDeviceName(char **namebuf, char *name) { char *nameptr = (char *)*namebuf; @@ -219,17 +137,39 @@ CopyDeviceName(char **namebuf, char *name) } } +/*********************************************************************** + * + * This procedure copies ButtonClass information, swapping if necessary. + * + */ + +static void +CopySwapButtonClass(ClientPtr client, ButtonClassPtr b, char **buf) +{ + char n; + xButtonInfoPtr b2; + + b2 = (xButtonInfoPtr) * buf; + b2->class = ButtonClass; + b2->length = sizeof(xButtonInfo); + b2->num_buttons = b->numButtons; + if (client->swapped) { + swaps(&b2->num_buttons, n); /* macro - braces are required */ + } + *buf += sizeof(xButtonInfo); +} + /*********************************************************************** * * This procedure copies data to the DeviceInfo struct, swapping if necessary. * */ -void -CopySwapDevice(register ClientPtr client, DeviceIntPtr d, int num_classes, +static void +CopySwapDevice(ClientPtr client, DeviceIntPtr d, int num_classes, char **buf) { - register char n; + char n; xDeviceInfoPtr dev; dev = (xDeviceInfoPtr) * buf; @@ -241,6 +181,10 @@ CopySwapDevice(register ClientPtr client, DeviceIntPtr d, int num_classes, dev->use = IsXKeyboard; else if (d == inputInfo.pointer) dev->use = IsXPointer; + else if (d->key && d->kbdfeed) + dev->use = IsXExtensionKeyboard; + else if (d->valuator && d->button) + dev->use = IsXExtensionPointer; else dev->use = IsXExtensionDevice; if (client->swapped) { @@ -255,10 +199,10 @@ CopySwapDevice(register ClientPtr client, DeviceIntPtr d, int num_classes, * */ -void -CopySwapKeyClass(register ClientPtr client, KeyClassPtr k, char **buf) +static void +CopySwapKeyClass(ClientPtr client, KeyClassPtr k, char **buf) { - register char n; + char n; xKeyInfoPtr k2; k2 = (xKeyInfoPtr) * buf; @@ -273,28 +217,6 @@ CopySwapKeyClass(register ClientPtr client, KeyClassPtr k, char **buf) *buf += sizeof(xKeyInfo); } -/*********************************************************************** - * - * This procedure copies ButtonClass information, swapping if necessary. - * - */ - -void -CopySwapButtonClass(register ClientPtr client, ButtonClassPtr b, char **buf) -{ - register char n; - xButtonInfoPtr b2; - - b2 = (xButtonInfoPtr) * buf; - b2->class = ButtonClass; - b2->length = sizeof(xButtonInfo); - b2->num_buttons = b->numButtons; - if (client->swapped) { - swaps(&b2->num_buttons, n); /* macro - braces are required */ - } - *buf += sizeof(xButtonInfo); -} - /*********************************************************************** * * This procedure copies ValuatorClass information, swapping if necessary. @@ -307,11 +229,11 @@ CopySwapButtonClass(register ClientPtr client, ButtonClassPtr b, char **buf) * */ -int -CopySwapValuatorClass(register ClientPtr client, ValuatorClassPtr v, char **buf) +static int +CopySwapValuatorClass(ClientPtr client, ValuatorClassPtr v, char **buf) { int i, j, axes, t_axes; - register char n; + char n; xValuatorInfoPtr v2; AxisInfo *a; xAxisInfoPtr a2; @@ -350,6 +272,91 @@ CopySwapValuatorClass(register ClientPtr client, ValuatorClassPtr v, char **buf) return (i); } +/*********************************************************************** + * + * This procedure lists information to be returned for an input device. + * + */ + +static void +ListDeviceInfo(ClientPtr client, DeviceIntPtr d, xDeviceInfoPtr dev, + char **devbuf, char **classbuf, char **namebuf) +{ + CopyDeviceName(namebuf, d->name); + CopySwapDevice(client, d, 0, devbuf); + if (d->key != NULL) { + CopySwapKeyClass(client, d->key, classbuf); + dev->num_classes++; + } + if (d->button != NULL) { + CopySwapButtonClass(client, d->button, classbuf); + dev->num_classes++; + } + if (d->valuator != NULL) { + dev->num_classes += + CopySwapValuatorClass(client, d->valuator, classbuf); + } +} + +/*********************************************************************** + * + * This procedure lists the input devices available to the server. + * + */ + +int +ProcXListInputDevices(ClientPtr client) +{ + xListInputDevicesReply rep; + int numdevs = 0; + int namesize = 1; /* need 1 extra byte for strcpy */ + int size = 0; + int total_length; + char *devbuf; + char *classbuf; + char *namebuf; + char *savbuf; + xDeviceInfo *dev; + DeviceIntPtr d; + + REQUEST_SIZE_MATCH(xListInputDevicesReq); + + rep.repType = X_Reply; + rep.RepType = X_ListInputDevices; + rep.length = 0; + rep.sequenceNumber = client->sequence; + + AddOtherInputDevices(); + + for (d = inputInfo.devices; d; d = d->next) { + SizeDeviceInfo(d, &namesize, &size); + numdevs++; + } + for (d = inputInfo.off_devices; d; d = d->next) { + SizeDeviceInfo(d, &namesize, &size); + numdevs++; + } + + total_length = numdevs * sizeof(xDeviceInfo) + size + namesize; + devbuf = (char *)xalloc(total_length); + classbuf = devbuf + (numdevs * sizeof(xDeviceInfo)); + namebuf = classbuf + size; + savbuf = devbuf; + + dev = (xDeviceInfoPtr) devbuf; + for (d = inputInfo.devices; d; d = d->next, dev++) + ListDeviceInfo(client, d, dev, &devbuf, &classbuf, &namebuf); + for (d = inputInfo.off_devices; d; d = d->next, dev++) + ListDeviceInfo(client, d, dev, &devbuf, &classbuf, &namebuf); + + rep.ndevices = numdevs; + rep.length = (total_length + 3) >> 2; + WriteReplyToClient(client, sizeof(xListInputDevicesReply), &rep); + WriteToClient(client, total_length, savbuf); + xfree(savbuf); + return Success; +} + /*********************************************************************** * * This procedure writes the reply for the XListInputDevices function, @@ -360,7 +367,7 @@ CopySwapValuatorClass(register ClientPtr client, ValuatorClassPtr v, char **buf) void SRepXListInputDevices(ClientPtr client, int size, xListInputDevicesReply * rep) { - register char n; + char n; swaps(&rep->sequenceNumber, n); swapl(&rep->length, n); diff --git a/xserver/Xi/listdev.h b/xserver/Xi/listdev.h index bdd67ce70..db376decf 100644 --- a/xserver/Xi/listdev.h +++ b/xserver/Xi/listdev.h @@ -36,44 +36,6 @@ int SProcXListInputDevices(ClientPtr /* client */ int ProcXListInputDevices(ClientPtr /* client */ ); -void SizeDeviceInfo(DeviceIntPtr /* d */ , - int * /* namesize */ , - int * /* size */ - ); - -void ListDeviceInfo(ClientPtr /* client */ , - DeviceIntPtr /* d */ , - xDeviceInfoPtr /* dev */ , - char ** /* devbuf */ , - char ** /* classbuf */ , - char ** /* namebuf */ - ); - -void CopyDeviceName(char ** /* namebuf */ , - char * /* name */ - ); - -void CopySwapDevice(ClientPtr /* client */ , - DeviceIntPtr /* d */ , - int /* num_classes */ , - char ** /* buf */ - ); - -void CopySwapKeyClass(ClientPtr /* client */ , - KeyClassPtr /* k */ , - char ** /* buf */ - ); - -void CopySwapButtonClass(ClientPtr /* client */ , - ButtonClassPtr /* b */ , - char ** /* buf */ - ); - -int CopySwapValuatorClass(ClientPtr /* client */ , - ValuatorClassPtr /* v */ , - char ** /* buf */ - ); - void SRepXListInputDevices(ClientPtr /* client */ , int /* size */ , xListInputDevicesReply * /* rep */ diff --git a/xserver/Xi/opendev.c b/xserver/Xi/opendev.c index 636106815..0b0671d49 100644 --- a/xserver/Xi/opendev.c +++ b/xserver/Xi/opendev.c @@ -79,9 +79,9 @@ extern CARD8 event_base[]; */ int -SProcXOpenDevice(register ClientPtr client) +SProcXOpenDevice(ClientPtr client) { - register char n; + char n; REQUEST(xOpenDeviceReq); swaps(&stuff->length, n); @@ -95,10 +95,9 @@ SProcXOpenDevice(register ClientPtr client) */ int -ProcXOpenDevice(register ClientPtr client) +ProcXOpenDevice(ClientPtr client) { xInputClassInfo evbase[numInputClasses]; - Bool enableit = FALSE; int j = 0; int status = Success; xOpenDeviceReply rep; @@ -121,7 +120,6 @@ ProcXOpenDevice(register ClientPtr client) SendErrorToClient(client, IReqCode, X_OpenDevice, 0, BadDevice); return Success; } - enableit = TRUE; } OpenInputDevice(dev, client, &status); @@ -129,8 +127,6 @@ ProcXOpenDevice(register ClientPtr client) SendErrorToClient(client, IReqCode, X_OpenDevice, 0, status); return Success; } - if (enableit && dev->inited && dev->startup) - (void)EnableDevice(dev); rep.repType = X_Reply; rep.RepType = X_OpenDevice; @@ -179,7 +175,7 @@ ProcXOpenDevice(register ClientPtr client) void SRepXOpenDevice(ClientPtr client, int size, xOpenDeviceReply * rep) { - register char n; + char n; swaps(&rep->sequenceNumber, n); swapl(&rep->length, n); diff --git a/xserver/Xi/queryst.c b/xserver/Xi/queryst.c index c4cc5a2e6..972cd2c80 100644 --- a/xserver/Xi/queryst.c +++ b/xserver/Xi/queryst.c @@ -58,9 +58,9 @@ from The Open Group. */ int -SProcXQueryDeviceState(register ClientPtr client) +SProcXQueryDeviceState(ClientPtr client) { - register char n; + char n; REQUEST(xQueryDeviceStateReq); swaps(&stuff->length, n); @@ -74,9 +74,9 @@ SProcXQueryDeviceState(register ClientPtr client) */ int -ProcXQueryDeviceState(register ClientPtr client) +ProcXQueryDeviceState(ClientPtr client) { - register char n; + char n; int i; int num_classes = 0; int total_length = 0; @@ -187,7 +187,7 @@ ProcXQueryDeviceState(register ClientPtr client) void SRepXQueryDeviceState(ClientPtr client, int size, xQueryDeviceStateReply * rep) { - register char n; + char n; swaps(&rep->sequenceNumber, n); swapl(&rep->length, n); diff --git a/xserver/Xi/selectev.c b/xserver/Xi/selectev.c index 3483804b1..d52db1b81 100644 --- a/xserver/Xi/selectev.c +++ b/xserver/Xi/selectev.c @@ -74,6 +74,53 @@ SOFTWARE. extern Mask ExtExclusiveMasks[]; extern Mask ExtValidMasks[]; +static int +HandleDevicePresenceMask(ClientPtr client, WindowPtr win, + XEventClass *cls, CARD16 *count) +{ + int i, j; + Mask mask; + + /* We use the device ID 256 to select events that aren't bound to + * any device. For now we only handle the device presence event, + * but this could be extended to other events that aren't bound to + * a device. + * + * In order not to break in CreateMaskFromList() we remove the + * entries with device ID 256 from the XEventClass array. + */ + + mask = 0; + for (i = 0, j = 0; i < *count; i++) { + if (cls[i] >> 8 != 256) { + cls[j] = cls[i]; + j++; + continue; + } + + switch (cls[i] & 0xff) { + case _devicePresence: + mask |= DevicePresenceNotifyMask; + break; + } + } + + *count = j; + + if (mask == 0) + return Success; + + /* We always only use mksidx = 0 for events not bound to + * devices */ + + if (AddExtensionClient (win, client, mask, 0) != Success) + return BadAlloc; + + RecalculateDeviceDeliverableEvents(win); + + return Success; +} + /*********************************************************************** * * Handle requests from clients with a different byte order. @@ -81,11 +128,11 @@ extern Mask ExtValidMasks[]; */ int -SProcXSelectExtensionEvent(register ClientPtr client) +SProcXSelectExtensionEvent(ClientPtr client) { - register char n; - register long *p; - register int i; + char n; + long *p; + int i; REQUEST(xSelectExtensionEventReq); swaps(&stuff->length, n); @@ -107,7 +154,7 @@ SProcXSelectExtensionEvent(register ClientPtr client) */ int -ProcXSelectExtensionEvent(register ClientPtr client) +ProcXSelectExtensionEvent(ClientPtr client) { int ret; int i; @@ -123,14 +170,19 @@ ProcXSelectExtensionEvent(register ClientPtr client) return Success; } - pWin = (WindowPtr) LookupWindow(stuff->window, client); - if (!pWin) { - client->errorValue = stuff->window; - SendErrorToClient(client, IReqCode, X_SelectExtensionEvent, 0, - BadWindow); + ret = dixLookupWindow(&pWin, stuff->window, client, DixUnknownAccess); + if (ret != Success) { + SendErrorToClient(client, IReqCode, X_SelectExtensionEvent, 0, ret); return Success; } + if (HandleDevicePresenceMask(client, pWin, (XEventClass *) & stuff[1], + &stuff->count) != Success) { + SendErrorToClient(client, IReqCode, X_SelectExtensionEvent, 0, + BadAlloc); + return Success; + } + if ((ret = CreateMaskFromList(client, (XEventClass *) & stuff[1], stuff->count, tmp, NULL, X_SelectExtensionEvent)) != Success) diff --git a/xserver/Xi/sendexev.c b/xserver/Xi/sendexev.c index c2763bb22..eac9abe14 100644 --- a/xserver/Xi/sendexev.c +++ b/xserver/Xi/sendexev.c @@ -80,11 +80,11 @@ extern int lastEvent; /* Defined in extension.c */ */ int -SProcXSendExtensionEvent(register ClientPtr client) +SProcXSendExtensionEvent(ClientPtr client) { - register char n; - register long *p; - register int i; + char n; + long *p; + int i; xEvent eventT; xEvent *eventP; EventSwapPtr proc; @@ -119,7 +119,7 @@ SProcXSendExtensionEvent(register ClientPtr client) */ int -ProcXSendExtensionEvent(register ClientPtr client) +ProcXSendExtensionEvent(ClientPtr client) { int ret; DeviceIntPtr dev; diff --git a/xserver/Xi/setbmap.c b/xserver/Xi/setbmap.c index 14b1689f5..bdfa513dd 100644 --- a/xserver/Xi/setbmap.c +++ b/xserver/Xi/setbmap.c @@ -78,9 +78,9 @@ SOFTWARE. */ int -SProcXSetDeviceButtonMapping(register ClientPtr client) +SProcXSetDeviceButtonMapping(ClientPtr client) { - register char n; + char n; REQUEST(xSetDeviceButtonMappingReq); swaps(&stuff->length, n); @@ -94,7 +94,7 @@ SProcXSetDeviceButtonMapping(register ClientPtr client) */ int -ProcXSetDeviceButtonMapping(register ClientPtr client) +ProcXSetDeviceButtonMapping(ClientPtr client) { int ret; xSetDeviceButtonMappingReply rep; @@ -149,7 +149,7 @@ void SRepXSetDeviceButtonMapping(ClientPtr client, int size, xSetDeviceButtonMappingReply * rep) { - register char n; + char n; swaps(&rep->sequenceNumber, n); swapl(&rep->length, n); diff --git a/xserver/Xi/setdval.c b/xserver/Xi/setdval.c index 958b2ac21..e947a749a 100644 --- a/xserver/Xi/setdval.c +++ b/xserver/Xi/setdval.c @@ -75,9 +75,9 @@ SOFTWARE. */ int -SProcXSetDeviceValuators(register ClientPtr client) +SProcXSetDeviceValuators(ClientPtr client) { - register char n; + char n; REQUEST(xSetDeviceValuatorsReq); swaps(&stuff->length, n); @@ -91,7 +91,7 @@ SProcXSetDeviceValuators(register ClientPtr client) */ int -ProcXSetDeviceValuators(register ClientPtr client) +ProcXSetDeviceValuators(ClientPtr client) { DeviceIntPtr dev; xSetDeviceValuatorsReply rep; @@ -152,7 +152,7 @@ void SRepXSetDeviceValuators(ClientPtr client, int size, xSetDeviceValuatorsReply * rep) { - register char n; + char n; swaps(&rep->sequenceNumber, n); swapl(&rep->length, n); diff --git a/xserver/Xi/setfocus.c b/xserver/Xi/setfocus.c index 59fe0768c..aaf88ce6f 100644 --- a/xserver/Xi/setfocus.c +++ b/xserver/Xi/setfocus.c @@ -78,9 +78,9 @@ SOFTWARE. */ int -SProcXSetDeviceFocus(register ClientPtr client) +SProcXSetDeviceFocus(ClientPtr client) { - register char n; + char n; REQUEST(xSetDeviceFocusReq); swaps(&stuff->length, n); @@ -97,10 +97,10 @@ SProcXSetDeviceFocus(register ClientPtr client) */ int -ProcXSetDeviceFocus(register ClientPtr client) +ProcXSetDeviceFocus(ClientPtr client) { int ret; - register DeviceIntPtr dev; + DeviceIntPtr dev; REQUEST(xSetDeviceFocusReq); REQUEST_SIZE_MATCH(xSetDeviceFocusReq); diff --git a/xserver/Xi/setmmap.c b/xserver/Xi/setmmap.c index 645f246bd..00784995a 100644 --- a/xserver/Xi/setmmap.c +++ b/xserver/Xi/setmmap.c @@ -76,9 +76,9 @@ SOFTWARE. */ int -SProcXSetDeviceModifierMapping(register ClientPtr client) +SProcXSetDeviceModifierMapping(ClientPtr client) { - register char n; + char n; REQUEST(xSetDeviceModifierMappingReq); swaps(&stuff->length, n); @@ -145,7 +145,7 @@ void SRepXSetDeviceModifierMapping(ClientPtr client, int size, xSetDeviceModifierMappingReply * rep) { - register char n; + char n; swaps(&rep->sequenceNumber, n); swapl(&rep->length, n); diff --git a/xserver/Xi/setmode.c b/xserver/Xi/setmode.c index 11feb6d32..688f2a226 100644 --- a/xserver/Xi/setmode.c +++ b/xserver/Xi/setmode.c @@ -75,9 +75,9 @@ SOFTWARE. */ int -SProcXSetDeviceMode(register ClientPtr client) +SProcXSetDeviceMode(ClientPtr client) { - register char n; + char n; REQUEST(xSetDeviceModeReq); swaps(&stuff->length, n); @@ -91,7 +91,7 @@ SProcXSetDeviceMode(register ClientPtr client) */ int -ProcXSetDeviceMode(register ClientPtr client) +ProcXSetDeviceMode(ClientPtr client) { DeviceIntPtr dev; xSetDeviceModeReply rep; @@ -139,7 +139,7 @@ ProcXSetDeviceMode(register ClientPtr client) void SRepXSetDeviceMode(ClientPtr client, int size, xSetDeviceModeReply * rep) { - register char n; + char n; swaps(&rep->sequenceNumber, n); swapl(&rep->length, n); diff --git a/xserver/Xi/stubs.c b/xserver/Xi/stubs.c index 6b9e682b9..40cd02fe1 100644 --- a/xserver/Xi/stubs.c +++ b/xserver/Xi/stubs.c @@ -66,86 +66,6 @@ SOFTWARE. #include #include "XIstubs.h" -/*********************************************************************** - * - * Caller: ProcXChangeKeyboardDevice - * - * This procedure does the implementation-dependent portion of the work - * needed to change the keyboard device. - * - * The X keyboard device has a FocusRec. If the device that has been - * made into the new X keyboard did not have a FocusRec, - * ProcXChangeKeyboardDevice will allocate one for it. - * - * If you do not want clients to be able to focus the old X keyboard - * device, call DeleteFocusClassDeviceStruct to free the FocusRec. - * - * If you support input devices with keys that you do not want to be - * used as the X keyboard, you need to check for them here and return - * a BadDevice error. - * - * The default implementation is to do nothing (assume you do want - * clients to be able to focus the old X keyboard). The commented-out - * sample code shows what you might do if you don't want the default. - * - */ - -int -ChangeKeyboardDevice(DeviceIntPtr old_dev, DeviceIntPtr new_dev) -{ - /*********************************************************************** - DeleteFocusClassDeviceStruct(old_dev); * defined in xchgptr.c * - **********************************************************************/ - return BadMatch; -} - -/*********************************************************************** - * - * Caller: ProcXChangePointerDevice - * - * This procedure does the implementation-dependent portion of the work - * needed to change the pointer device. - * - * The X pointer device does not have a FocusRec. If the device that - * has been made into the new X pointer had a FocusRec, - * ProcXChangePointerDevice will free it. - * - * If you want clients to be able to focus the old pointer device that - * has now become accessible through the input extension, you need to - * add a FocusRec to it here. - * - * The XChangePointerDevice protocol request also allows the client - * to choose which axes of the new pointer device are used to move - * the X cursor in the X- and Y- directions. If the axes are different - * than the default ones, you need to keep track of that here. - * - * If you support input devices with valuators that you do not want to be - * used as the X pointer, you need to check for them here and return a - * BadDevice error. - * - * The default implementation is to do nothing (assume you don't want - * clients to be able to focus the old X pointer). The commented-out - * sample code shows what you might do if you don't want the default. - * - */ - -int -ChangePointerDevice(DeviceIntPtr old_dev, - DeviceIntPtr new_dev, unsigned char x, unsigned char y) -{ - /*********************************************************************** - InitFocusClassDeviceStruct(old_dev); * allow focusing old ptr* - - x_axis = x; * keep track of new x-axis* - y_axis = y; * keep track of new y-axis* - if (x_axis != 0 || y_axis != 1) - axes_changed = TRUE; * remember axes have changed* - else - axes_changed = FALSE; - *************************************************************************/ - return BadMatch; -} - /*********************************************************************** * * Caller: ProcXCloseDevice @@ -248,7 +168,7 @@ OpenInputDevice(DeviceIntPtr dev, ClientPtr client, int *status) */ int -SetDeviceMode(register ClientPtr client, DeviceIntPtr dev, int mode) +SetDeviceMode(ClientPtr client, DeviceIntPtr dev, int mode) { return BadMatch; } @@ -266,7 +186,7 @@ SetDeviceMode(register ClientPtr client, DeviceIntPtr dev, int mode) */ int -SetDeviceValuators(register ClientPtr client, DeviceIntPtr dev, +SetDeviceValuators(ClientPtr client, DeviceIntPtr dev, int *valuators, int first_valuator, int num_valuators) { return BadMatch; @@ -281,13 +201,44 @@ SetDeviceValuators(register ClientPtr client, DeviceIntPtr dev, */ int -ChangeDeviceControl(register ClientPtr client, DeviceIntPtr dev, +ChangeDeviceControl(ClientPtr client, DeviceIntPtr dev, xDeviceCtl * control) { switch (control->control) { case DEVICE_RESOLUTION: return (BadMatch); + case DEVICE_ABS_CALIB: + case DEVICE_ABS_AREA: + return (BadMatch); + case DEVICE_CORE: + return (BadMatch); default: return (BadMatch); } } + + +/**************************************************************************** + * + * Caller: configAddDevice (and others) + * + * Add a new device with the specified options. + * + */ +int +NewInputDeviceRequest(InputOption *options, DeviceIntPtr *pdev) +{ + return BadValue; +} + +/**************************************************************************** + * + * Caller: configRemoveDevice (and others) + * + * Remove the specified device previously added. + * + */ +void +DeleteInputDeviceRequest(DeviceIntPtr dev) +{ +} diff --git a/xserver/Xi/ungrdev.c b/xserver/Xi/ungrdev.c index 980fa9339..0abbd2e80 100644 --- a/xserver/Xi/ungrdev.c +++ b/xserver/Xi/ungrdev.c @@ -74,9 +74,9 @@ SOFTWARE. */ int -SProcXUngrabDevice(register ClientPtr client) +SProcXUngrabDevice(ClientPtr client) { - register char n; + char n; REQUEST(xUngrabDeviceReq); swaps(&stuff->length, n); @@ -92,7 +92,7 @@ SProcXUngrabDevice(register ClientPtr client) */ int -ProcXUngrabDevice(register ClientPtr client) +ProcXUngrabDevice(ClientPtr client) { DeviceIntPtr dev; GrabPtr grab; diff --git a/xserver/Xi/ungrdevb.c b/xserver/Xi/ungrdevb.c index 64bb213f5..b9f236b76 100644 --- a/xserver/Xi/ungrdevb.c +++ b/xserver/Xi/ungrdevb.c @@ -80,9 +80,9 @@ SOFTWARE. */ int -SProcXUngrabDeviceButton(register ClientPtr client) +SProcXUngrabDeviceButton(ClientPtr client) { - register char n; + char n; REQUEST(xUngrabDeviceButtonReq); swaps(&stuff->length, n); @@ -105,6 +105,7 @@ ProcXUngrabDeviceButton(ClientPtr client) DeviceIntPtr mdev; WindowPtr pWin; GrabRec temporaryGrab; + int rc; REQUEST(xUngrabDeviceButtonReq); REQUEST_SIZE_MATCH(xUngrabDeviceButtonReq); @@ -134,9 +135,9 @@ ProcXUngrabDeviceButton(ClientPtr client) } else mdev = (DeviceIntPtr) LookupKeyboardDevice(); - pWin = LookupWindow(stuff->grabWindow, client); - if (!pWin) { - SendErrorToClient(client, IReqCode, X_UngrabDeviceButton, 0, BadWindow); + rc = dixLookupWindow(&pWin, stuff->grabWindow, client, DixUnknownAccess); + if (rc != Success) { + SendErrorToClient(client, IReqCode, X_UngrabDeviceButton, 0, rc); return Success; } diff --git a/xserver/Xi/ungrdevk.c b/xserver/Xi/ungrdevk.c index 0a6b3b619..d316990b2 100644 --- a/xserver/Xi/ungrdevk.c +++ b/xserver/Xi/ungrdevk.c @@ -80,9 +80,9 @@ SOFTWARE. */ int -SProcXUngrabDeviceKey(register ClientPtr client) +SProcXUngrabDeviceKey(ClientPtr client) { - register char n; + char n; REQUEST(xUngrabDeviceKeyReq); swaps(&stuff->length, n); @@ -105,6 +105,7 @@ ProcXUngrabDeviceKey(ClientPtr client) DeviceIntPtr mdev; WindowPtr pWin; GrabRec temporaryGrab; + int rc; REQUEST(xUngrabDeviceKeyReq); REQUEST_SIZE_MATCH(xUngrabDeviceKeyReq); @@ -133,9 +134,9 @@ ProcXUngrabDeviceKey(ClientPtr client) } else mdev = (DeviceIntPtr) LookupKeyboardDevice(); - pWin = LookupWindow(stuff->grabWindow, client); - if (!pWin) { - SendErrorToClient(client, IReqCode, X_UngrabDeviceKey, 0, BadWindow); + rc = dixLookupWindow(&pWin, stuff->grabWindow, client, DixUnknownAccess); + if (rc != Success) { + SendErrorToClient(client, IReqCode, X_UngrabDeviceKey, 0, rc); return Success; } if (((stuff->key > dev->key->curKeySyms.maxKeyCode) || diff --git a/xserver/acinclude.m4 b/xserver/acinclude.m4 index 203143214..f3d8734f3 100644 --- a/xserver/acinclude.m4 +++ b/xserver/acinclude.m4 @@ -1,3 +1,36 @@ +##### http://autoconf-archive.cryp.to/ac_define_dir.html +# +# SYNOPSIS +# +# AC_DEFINE_DIR(VARNAME, DIR [, DESCRIPTION]) +# +# DESCRIPTION +# +# This macro sets VARNAME to the expansion of the DIR variable, +# taking care of fixing up ${prefix} and such. +# +# VARNAME is then offered as both an output variable and a C +# preprocessor symbol. +# +# Example: +# +# AC_DEFINE_DIR([DATADIR], [datadir], [Where data are placed to.]) +# +# LAST MODIFICATION +# +# 2006-10-13 +# +# COPYLEFT +# +# Copyright (c) 2006 Stepan Kasal +# Copyright (c) 2006 Andreas Schwab +# Copyright (c) 2006 Guido U. Draheim +# Copyright (c) 2006 Alexandre Oliva +# +# Copying and distribution of this file, with or without +# modification, are permitted in any medium without royalty provided +# the copyright notice and this notice are preserved. + AC_DEFUN([AC_DEFINE_DIR], [ prefix_NONE= exec_prefix_NONE= diff --git a/xserver/afb/afb.h b/xserver/afb/afb.h index c05cc5511..5aa2b0c92 100644 --- a/xserver/afb/afb.h +++ b/xserver/afb/afb.h @@ -78,27 +78,6 @@ extern void afbDoBitblt( unsigned long /*planemask*/ ); -extern RegionPtr afbBitBlt( - DrawablePtr /*pSrc*/, - DrawablePtr /*pDst*/, - GCPtr /*pGC*/, - int /*srcx*/, - int /*srcy*/, - int /*width*/, - int /*height*/, - int /*dstx*/, - int /*dsty*/, - void (*doBitBlt)( - DrawablePtr /*pSrc*/, - DrawablePtr /*pDst*/, - int /*alu*/, - RegionPtr /*prgnDst*/, - DDXPointPtr /*pptSrc*/, - unsigned long /*planemask*/ - ), - unsigned long /*planemask*/ -); - extern RegionPtr afbCopyArea( DrawablePtr /*pSrcDrawable*/, DrawablePtr /*pDstDrawable*/, @@ -111,27 +90,6 @@ extern RegionPtr afbCopyArea( int /*dsty*/ ); -extern RegionPtr afbCopyPlane( - DrawablePtr /*pSrcDrawable*/, - DrawablePtr /*pDstDrawable*/, - GCPtr/*pGC*/, - int /*srcx*/, - int /*srcy*/, - int /*width*/, - int /*height*/, - int /*dstx*/, - int /*dsty*/, - unsigned long /*plane*/ -); - -extern void afbCopy1ToN( - DrawablePtr /*pSrc*/, - DrawablePtr /*pDst*/, - int /*alu*/, - RegionPtr /*prgnDst*/, - DDXPointPtr /*pptSrc*/, - unsigned long /*planemask*/ -); /* afbbltC.c */ extern void afbDoBitbltCopy( @@ -273,23 +231,6 @@ extern Bool afbInitializeColormap( ColormapPtr /*pmap*/ ); -extern int afbExpandDirectColors( - ColormapPtr /*pmap*/, - int /*ndefs*/, - xColorItem * /*indefs*/, - xColorItem * /*outdefs*/ -); - -extern Bool afbCreateDefColormap( - ScreenPtr /*pScreen*/ -); - -extern Bool afbSetVisualTypes( - int /*depth*/, - int /*visuals*/, - int /*bitsPerRGB*/ -); - extern Bool afbInitVisuals( VisualPtr * /*visualp*/, DepthPtr * /*depthp*/, @@ -410,16 +351,6 @@ extern Bool afbCreateGC( GCPtr /*pGC*/ ); -extern void afbValidateGC( - GCPtr /*pGC*/, - unsigned long /*changes*/, - DrawablePtr /*pDrawable*/ -); - -extern void afbDestroyGC( - GCPtr /*pGC*/ -); - extern void afbReduceRop( int /*alu*/, Pixel /*src*/, @@ -428,19 +359,6 @@ extern void afbReduceRop( unsigned char * /*rrops*/ ); -extern void afbReduceOpaqueStipple ( - Pixel /*fg*/, - Pixel /*bg*/, - unsigned long /*planemask*/, - int /*depth*/, - unsigned char * /*rrops*/ -); - -extern void afbComputeCompositeClip( - GCPtr /*pGC*/, - DrawablePtr /*pDrawable*/ -); - /* afbgetsp.c */ extern void afbGetSpans( @@ -588,14 +506,6 @@ extern Bool afbDestroyPixmap( PixmapPtr /*pPixmap*/ ); -extern PixmapPtr afbCopyPixmap( - PixmapPtr /*pSrc*/ -); - -extern void afbPadPixmap( - PixmapPtr /*pPixmap*/ -); - extern void afbXRotatePixmap( PixmapPtr /*pPix*/, int /*rw*/ @@ -637,20 +547,9 @@ extern void afbPushPixels( int /*xOrg*/, int /*yOrg*/ ); -/* afbscrclse.c */ -extern Bool afbCloseScreen( - int /*index*/, - ScreenPtr /*pScreen*/ -); /* afbscrinit.c */ -extern Bool afbAllocatePrivates( - ScreenPtr /*pScreen*/, - int * /*pWinIndex*/, - int * /*pGCIndex*/ -); - extern Bool afbScreenInit( ScreenPtr /*pScreen*/, pointer /*pbits*/, @@ -661,15 +560,6 @@ extern Bool afbScreenInit( int /*width*/ ); -extern PixmapPtr afbGetWindowPixmap( - WindowPtr /*pWin*/ -); - -extern void afbSetWindowPixmap( - WindowPtr /*pWin*/, - PixmapPtr /*pPix*/ -); - /* afbseg.c */ extern void afbSegmentSS( @@ -687,20 +577,6 @@ extern void afbSegmentSD( ); /* afbsetsp.c */ -extern void afbSetScanline( - int /*y*/, - int /*xOrigin*/, - int /*xStart*/, - int /*xEnd*/, - PixelType * /*psrc*/, - int /*alu*/, - PixelType * /*pdstBase*/, - int /*widthDst*/, - int /*sizeDst*/, - int /*depthDst*/, - int /*sizeSrc*/ -); - extern void afbSetSpans( DrawablePtr /*pDrawable*/, GCPtr /*pGC*/, diff --git a/xserver/afb/afbbitblt.c b/xserver/afb/afbbitblt.c index 594e987a8..2e416e356 100644 --- a/xserver/afb/afbbitblt.c +++ b/xserver/afb/afbbitblt.c @@ -67,9 +67,6 @@ SOFTWARE. #include "afb.h" #include "maskbits.h" - -static unsigned char afbRropsOS[AFB_MAX_DEPTH]; - /* CopyArea and CopyPlane for a monchrome frame buffer @@ -126,34 +123,7 @@ afbDoBitblt(DrawablePtr pSrc, DrawablePtr pDst, int alu, RegionPtr prgnDst, DDXP typedef void (*afb_blit_func) (DrawablePtr, DrawablePtr, int, RegionPtr, DDXPointPtr, unsigned long); -RegionPtr -afbCopyArea(DrawablePtr pSrcDrawable, DrawablePtr pDstDrawable, GC *pGC, int srcx, int srcy, int width, int height, int dstx, int dsty) -{ - afb_blit_func doBitBlt; - - switch (pGC->alu) { - case GXcopy: - doBitBlt = afbDoBitbltCopy; - break; - case GXxor: - doBitBlt = afbDoBitbltXor; - break; - case GXcopyInverted: - doBitBlt = afbDoBitbltCopyInverted; - break; - case GXor: - doBitBlt = afbDoBitbltOr; - break; - default: - doBitBlt = afbDoBitbltGeneral; - break; - } - - return(afbBitBlt(pSrcDrawable, pDstDrawable, pGC, srcx, srcy, - width, height, dstx, dsty, doBitBlt, pGC->planemask)); -} - -RegionPtr +static RegionPtr afbBitBlt(register DrawablePtr pSrcDrawable, register DrawablePtr pDstDrawable, register GC *pGC, int srcx, int srcy, int width, int height, int dstx, int dsty, afb_blit_func doBitBlt, long unsigned int planemask) { RegionPtr prgnSrcClip = NULL; /* may be a new region, or just a copy */ @@ -346,102 +316,28 @@ afbBitBlt(register DrawablePtr pSrcDrawable, register DrawablePtr pDstDrawable, } RegionPtr -afbCopyPlane(DrawablePtr pSrcDrawable, DrawablePtr pDstDrawable, register GC *pGC, int srcx, int srcy, int width, int height, int dstx, int dsty, long unsigned int plane) +afbCopyArea(DrawablePtr pSrcDrawable, DrawablePtr pDstDrawable, GC *pGC, int srcx, int srcy, int width, int height, int dstx, int dsty) { - int alu; - RegionPtr prgnExposed = NULL; - unsigned long old_planemask; + afb_blit_func doBitBlt; - if (pDstDrawable->depth == 1) { - old_planemask = pGC->planemask; - pGC->planemask = plane; - if ((pGC->fgPixel & 1) == 1 && (pGC->bgPixel & 1) == 0) { - prgnExposed = (*pGC->ops->CopyArea)(pSrcDrawable, pDstDrawable, - pGC, srcx, srcy, width, height, dstx, dsty); - } else if ((pGC->fgPixel & 1) == (pGC->bgPixel & 1)) { - unsigned char rop; - - afbReduceRop(pGC->alu, pGC->fgPixel, 1, 1, &rop); - alu = pGC->alu; - pGC->alu = rop; - prgnExposed = (*pGC->ops->CopyArea)(pSrcDrawable, pDstDrawable, pGC, - srcx, srcy, width, height, dstx, - dsty); - pGC->alu = alu; - } else { /* need to invert the src */ - alu = pGC->alu; - pGC->alu = afbInverseAlu[alu]; - prgnExposed = (*pGC->ops->CopyArea)(pSrcDrawable, pDstDrawable, pGC, - srcx, srcy, width, height, dstx, - dsty); - pGC->alu = alu; - } - pGC->planemask = old_planemask; - } else { - int free_pixmap = FALSE; - PixmapPtr pBitmap = (PixmapPtr)pSrcDrawable; - ScreenPtr pScreen = pSrcDrawable->pScreen; - GCPtr pGC1 = NULL; - - if (pSrcDrawable == pDstDrawable || - pSrcDrawable->type == DRAWABLE_WINDOW || pSrcDrawable->depth != 1) { - /* Copy a plane from source drawable to a tmp 1-bit deep pixmap */ - /* XXX: Range check width and height */ - pBitmap = (*pScreen->CreatePixmap)(pScreen, width, height, 1); - - if (!pBitmap) - return(NULL); - pGC1 = GetScratchGC(1, pScreen); - if (!pGC1) { - (*pScreen->DestroyPixmap)(pBitmap); - return(NULL); - } - ValidateGC((DrawablePtr)pBitmap, pGC1); - (void)afbBitBlt(pSrcDrawable, (DrawablePtr)pBitmap, pGC1, srcx, srcy, - width, height, 0, 0, afbDoBitbltCopy, plane); - free_pixmap = TRUE; - } -#if 0 - else { - /* XXX: could cope with N-deep pixmap source case without using tmp - * src bitmap by setting up a scratch pixmap header and fiddle - * around with the pbits pointer. - */ - } -#endif - afbReduceOpaqueStipple(pGC->fgPixel, pGC->bgPixel, pGC->planemask, - pGC->depth, afbRropsOS); - (void)afbBitBlt((DrawablePtr)pBitmap, pDstDrawable, pGC, 0, 0, width, - height, dstx, dsty, afbCopy1ToN, pGC->planemask); - if (free_pixmap) { - (*pScreen->DestroyPixmap)(pBitmap); - FreeScratchGC(pGC1); - } - - if (pGC->fExpose) - prgnExposed = miHandleExposures(pSrcDrawable, pDstDrawable, pGC, srcx, - srcy, width, height, dstx, dsty, - plane); - } - return prgnExposed; -} - -void -afbCopy1ToN(DrawablePtr pSrc, DrawablePtr pDst, int alu, RegionPtr prgnDst, DDXPointPtr pptSrc, long unsigned int planemask) -{ - int numRects = REGION_NUM_RECTS(prgnDst); - BoxPtr pbox = REGION_RECTS(prgnDst); - int r; - - for (r = 0; r < numRects; r++, pbox++, pptSrc++) { - int dx = pptSrc->x; - int dy = pptSrc->y; - - if (alu == GXcopy) - afbOpaqueStippleAreaCopy(pDst, 1, pbox, alu, (PixmapPtr)pSrc, dx, dy, - afbRropsOS, planemask); - else - afbOpaqueStippleAreaGeneral(pDst, 1, pbox, alu, (PixmapPtr)pSrc, dx, - dy, afbRropsOS, planemask); + switch (pGC->alu) { + case GXcopy: + doBitBlt = afbDoBitbltCopy; + break; + case GXxor: + doBitBlt = afbDoBitbltXor; + break; + case GXcopyInverted: + doBitBlt = afbDoBitbltCopyInverted; + break; + case GXor: + doBitBlt = afbDoBitbltOr; + break; + default: + doBitBlt = afbDoBitbltGeneral; + break; } + + return(afbBitBlt(pSrcDrawable, pDstDrawable, pGC, srcx, srcy, + width, height, dstx, dsty, doBitBlt, pGC->planemask)); } diff --git a/xserver/afb/afbbres.c b/xserver/afb/afbbres.c index e8f1b3b85..dae4746a0 100644 --- a/xserver/afb/afbbres.c +++ b/xserver/afb/afbbres.c @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* Combined Purdue/PurduePlus patches, level 2.0, 1/17/89 */ /*********************************************************** diff --git a/xserver/afb/afbbresd.c b/xserver/afb/afbbresd.c index 4495c8cf8..4f07ede6c 100644 --- a/xserver/afb/afbbresd.c +++ b/xserver/afb/afbbresd.c @@ -1,4 +1,3 @@ -/* $XFree86$ */ /*********************************************************** Copyright (c) 1987 X Consortium diff --git a/xserver/afb/afbbstore.c b/xserver/afb/afbbstore.c index f7f1062e2..32d64ec47 100644 --- a/xserver/afb/afbbstore.c +++ b/xserver/afb/afbbstore.c @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* Combined Purdue/PurduePlus patches, level 2.0, 1/17/89 */ /* diff --git a/xserver/afb/afbcmap.c b/xserver/afb/afbcmap.c index e3b95fbec..9608a3653 100644 --- a/xserver/afb/afbcmap.c +++ b/xserver/afb/afbcmap.c @@ -70,24 +70,6 @@ afbInitializeColormap(register ColormapPtr pmap) return miInitializeColormap(pmap); } -int -afbExpandDirectColors(ColormapPtr pmap, int ndef, xColorItem *indefs, xColorItem *outdefs) -{ - return miExpandDirectColors(pmap, ndef, indefs, outdefs); -} - -Bool -afbCreateDefColormap(ScreenPtr pScreen) -{ - return miCreateDefColormap(pScreen); -} - -Bool -afbSetVisualTypes(int depth, int visuals, int bitsPerRGB) -{ - return miSetVisualTypes(depth, visuals, bitsPerRGB, -1); -} - /* * Given a list of formats for a screen, create a list * of visuals and depths for the screen which correspond to diff --git a/xserver/afb/afbfont.c b/xserver/afb/afbfont.c index 940bdb09b..11a449423 100644 --- a/xserver/afb/afbfont.c +++ b/xserver/afb/afbfont.c @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* Copyright (c) 1987 X Consortium diff --git a/xserver/afb/afbgc.c b/xserver/afb/afbgc.c index 03475dda5..59c09e097 100644 --- a/xserver/afb/afbgc.c +++ b/xserver/afb/afbgc.c @@ -69,6 +69,9 @@ SOFTWARE. #include "maskbits.h" +static void afbDestroyGC(GCPtr); +static void afbValidateGC(GCPtr, unsigned long, DrawablePtr); + static GCFuncs afbFuncs = { afbValidateGC, miChangeGC, @@ -102,6 +105,33 @@ static GCOps afbGCOps = { afbPushPixels }; +static void +afbReduceOpaqueStipple(PixelType fg, PixelType bg, unsigned long planemask, + int depth, unsigned char *rop) +{ + register int d; + register Pixel mask = 1; + + bg ^= fg; + + for (d = 0; d < depth; d++, mask <<= 1) { + if (!(planemask & mask)) + rop[d] = RROP_NOP; + else if (!(bg & mask)) { + /* Both fg and bg have a 0 or 1 in this plane */ + if (fg & mask) + rop[d] = RROP_WHITE; + else + rop[d] = RROP_BLACK; + } else { + /* Both fg and bg have different bits on this plane */ + if (fg & mask) + rop[d] = RROP_COPY; + else + rop[d] = RROP_INVERT; + } + } +} Bool afbCreateGC(pGC) @@ -136,6 +166,95 @@ afbCreateGC(pGC) return TRUE; } +static void +afbComputeCompositeClip(GCPtr pGC, DrawablePtr pDrawable) +{ + if (pDrawable->type == DRAWABLE_WINDOW) { + WindowPtr pWin = (WindowPtr) pDrawable; + RegionPtr pregWin; + Bool freeTmpClip, freeCompClip; + + if (pGC->subWindowMode == IncludeInferiors) { + pregWin = NotClippedByChildren(pWin); + freeTmpClip = TRUE; + } else { + pregWin = &pWin->clipList; + freeTmpClip = FALSE; + } + freeCompClip = pGC->freeCompClip; + + /* + * if there is no client clip, we can get by with just keeping the + * pointer we got, and remembering whether or not should destroy (or + * maybe re-use) it later. this way, we avoid unnecessary copying of + * regions. (this wins especially if many clients clip by children + * and have no client clip.) + */ + if (pGC->clientClipType == CT_NONE) { + if (freeCompClip) + REGION_DESTROY(pGC->pScreen, pGC->pCompositeClip); + pGC->pCompositeClip = pregWin; + pGC->freeCompClip = freeTmpClip; + } else { + /* + * we need one 'real' region to put into the composite clip. if + * pregWin the current composite clip are real, we can get rid of + * one. if pregWin is real and the current composite clip isn't, + * use pregWin for the composite clip. if the current composite + * clip is real and pregWin isn't, use the current composite + * clip. if neither is real, create a new region. + */ + + REGION_TRANSLATE(pGC->pScreen, pGC->clientClip, + pDrawable->x + pGC->clipOrg.x, + pDrawable->y + pGC->clipOrg.y); + + if (freeCompClip) { + REGION_INTERSECT(pGC->pScreen, pGC->pCompositeClip, pregWin, + pGC->clientClip); + if (freeTmpClip) + REGION_DESTROY(pGC->pScreen, pregWin); + } else if (freeTmpClip) { + REGION_INTERSECT(pGC->pScreen, pregWin, pregWin, pGC->clientClip); + pGC->pCompositeClip = pregWin; + } else { + pGC->pCompositeClip = REGION_CREATE(pGC->pScreen, NullBox, 0); + REGION_INTERSECT(pGC->pScreen, pGC->pCompositeClip, + pregWin, pGC->clientClip); + } + pGC->freeCompClip = TRUE; + REGION_TRANSLATE(pGC->pScreen, pGC->clientClip, + -(pDrawable->x + pGC->clipOrg.x), + -(pDrawable->y + pGC->clipOrg.y)); + } + } /* end of composite clip for a window */ + else { + BoxRec pixbounds; + + /* XXX should we translate by drawable.x/y here ? */ + pixbounds.x1 = 0; + pixbounds.y1 = 0; + pixbounds.x2 = pDrawable->width; + pixbounds.y2 = pDrawable->height; + + if (pGC->freeCompClip) { + REGION_RESET(pGC->pScreen, pGC->pCompositeClip, &pixbounds); + } else { + pGC->freeCompClip = TRUE; + pGC->pCompositeClip = REGION_CREATE(pGC->pScreen, &pixbounds, 1); + } + + if (pGC->clientClipType == CT_REGION) { + REGION_TRANSLATE(pGC->pScreen, pGC->pCompositeClip, -pGC->clipOrg.x, + -pGC->clipOrg.y); + REGION_INTERSECT(pGC->pScreen, pGC->pCompositeClip, + pGC->pCompositeClip, pGC->clientClip); + REGION_TRANSLATE(pGC->pScreen, pGC->pCompositeClip, pGC->clipOrg.x, + pGC->clipOrg.y); + } + } /* end of composite clip for pixmap */ +} /* end afbComputeCompositeClip */ + /* Clipping conventions if the drawable is a window CT_REGION ==> pCompositeClip really is the composite @@ -147,7 +266,7 @@ afbCreateGC(pGC) */ /*ARGSUSED*/ -void +static void afbValidateGC(pGC, changes, pDrawable) register GCPtr pGC; unsigned long changes; @@ -434,7 +553,7 @@ afbValidateGC(pGC, changes, pDrawable) } /* end of new_fill */ } -void +static void afbDestroyGC(pGC) GCPtr pGC; { @@ -445,58 +564,6 @@ afbDestroyGC(pGC) miDestroyGCOps(pGC->ops); } -/* table to map alu(src, dst) to alu(~src, dst) */ -int afbInverseAlu[16] = { - GXclear, - GXandInverted, - GXnor, - GXcopyInverted, - GXand, - GXnoop, - GXequiv, - GXorInverted, - GXandReverse, - GXxor, - GXinvert, - GXnand, - GXcopy, - GXor, - GXorReverse, - GXset -}; - -void -afbReduceOpaqueStipple(fg, bg, planemask, depth, rop) -register PixelType fg; -register PixelType bg; -register unsigned long planemask; -int depth; -register unsigned char *rop; -{ - register int d; - register Pixel mask = 1; - - bg ^= fg; - - for (d = 0; d < depth; d++, mask <<= 1) { - if (!(planemask & mask)) - rop[d] = RROP_NOP; - else if (!(bg & mask)) { - /* Both fg and bg have a 0 or 1 in this plane */ - if (fg & mask) - rop[d] = RROP_WHITE; - else - rop[d] = RROP_BLACK; - } else { - /* Both fg and bg have different bits on this plane */ - if (fg & mask) - rop[d] = RROP_COPY; - else - rop[d] = RROP_INVERT; - } - } -} - void afbReduceRop(alu, src, planemask, depth, rop) register int alu; @@ -615,94 +682,3 @@ afbReduceRop(alu, src, planemask, depth, rop) } } } - -void -afbComputeCompositeClip(pGC, pDrawable) - GCPtr pGC; - DrawablePtr pDrawable; -{ - if (pDrawable->type == DRAWABLE_WINDOW) { - WindowPtr pWin = (WindowPtr) pDrawable; - RegionPtr pregWin; - Bool freeTmpClip, freeCompClip; - - if (pGC->subWindowMode == IncludeInferiors) { - pregWin = NotClippedByChildren(pWin); - freeTmpClip = TRUE; - } else { - pregWin = &pWin->clipList; - freeTmpClip = FALSE; - } - freeCompClip = pGC->freeCompClip; - - /* - * if there is no client clip, we can get by with just keeping the - * pointer we got, and remembering whether or not should destroy (or - * maybe re-use) it later. this way, we avoid unnecessary copying of - * regions. (this wins especially if many clients clip by children - * and have no client clip.) - */ - if (pGC->clientClipType == CT_NONE) { - if (freeCompClip) - REGION_DESTROY(pGC->pScreen, pGC->pCompositeClip); - pGC->pCompositeClip = pregWin; - pGC->freeCompClip = freeTmpClip; - } else { - /* - * we need one 'real' region to put into the composite clip. if - * pregWin the current composite clip are real, we can get rid of - * one. if pregWin is real and the current composite clip isn't, - * use pregWin for the composite clip. if the current composite - * clip is real and pregWin isn't, use the current composite - * clip. if neither is real, create a new region. - */ - - REGION_TRANSLATE(pGC->pScreen, pGC->clientClip, - pDrawable->x + pGC->clipOrg.x, - pDrawable->y + pGC->clipOrg.y); - - if (freeCompClip) { - REGION_INTERSECT(pGC->pScreen, pGC->pCompositeClip, pregWin, - pGC->clientClip); - if (freeTmpClip) - REGION_DESTROY(pGC->pScreen, pregWin); - } else if (freeTmpClip) { - REGION_INTERSECT(pGC->pScreen, pregWin, pregWin, pGC->clientClip); - pGC->pCompositeClip = pregWin; - } else { - pGC->pCompositeClip = REGION_CREATE(pGC->pScreen, NullBox, 0); - REGION_INTERSECT(pGC->pScreen, pGC->pCompositeClip, - pregWin, pGC->clientClip); - } - pGC->freeCompClip = TRUE; - REGION_TRANSLATE(pGC->pScreen, pGC->clientClip, - -(pDrawable->x + pGC->clipOrg.x), - -(pDrawable->y + pGC->clipOrg.y)); - } - } /* end of composite clip for a window */ - else { - BoxRec pixbounds; - - /* XXX should we translate by drawable.x/y here ? */ - pixbounds.x1 = 0; - pixbounds.y1 = 0; - pixbounds.x2 = pDrawable->width; - pixbounds.y2 = pDrawable->height; - - if (pGC->freeCompClip) { - REGION_RESET(pGC->pScreen, pGC->pCompositeClip, &pixbounds); - } else { - pGC->freeCompClip = TRUE; - pGC->pCompositeClip = REGION_CREATE(pGC->pScreen, &pixbounds, 1); - } - - if (pGC->clientClipType == CT_REGION) { - REGION_TRANSLATE(pGC->pScreen, pGC->pCompositeClip, -pGC->clipOrg.x, - -pGC->clipOrg.y); - REGION_INTERSECT(pGC->pScreen, pGC->pCompositeClip, - pGC->pCompositeClip, pGC->clientClip); - REGION_TRANSLATE(pGC->pScreen, pGC->pCompositeClip, pGC->clipOrg.x, - pGC->clipOrg.y); - } - } /* end of composite clip for pixmap */ -} /* end afbComputeCompositeClip */ diff --git a/xserver/afb/afbimage.c b/xserver/afb/afbimage.c index c82bb3668..81f49730a 100644 --- a/xserver/afb/afbimage.c +++ b/xserver/afb/afbimage.c @@ -42,39 +42,8 @@ afbPutImage(pDraw, pGC, depth, x, y, width, height, leftPad, format, pImage) (void)(*pGC->ops->CopyPlane)((DrawablePtr)pPixmap, pDraw, pGC, leftPad, 0, width, height, x, y, 1); else { -#if 0 - /* XXX: bit plane order wronge ! */ - pPixmap->drawable.depth = 1; - pPixmap->drawable.bitsPerPixel = 1; - - switch (pGC->alu) { - case GXcopy: - doBitBlt = afbDoBitbltCopy; - break; - case GXxor: - doBitBlt = afbDoBitbltXor; - break; - case GXcopyInverted: - doBitBlt = afbDoBitbltCopyInverted; - break; - case GXor: - doBitBlt = afbDoBitbltOr; - break; - default: - doBitBlt = afbDoBitbltGeneral; - break; - } - - for (plane = (1L << (pPixmap->drawable.depth - 1)); plane; - plane >>= 1) { - (void)afbBitBlt((DrawablePtr)pPixmap, pDraw, pGC, leftPad, 0, - width, height, x, y, doBitBlt, plane); - /* pDraw->devKind += sizeDst; */ - } -#else (void)(*pGC->ops->CopyArea)((DrawablePtr)pPixmap, pDraw, pGC, leftPad, 0, width, height, x, y); -#endif } pGC->fExpose = TRUE; diff --git a/xserver/afb/afbmisc.c b/xserver/afb/afbmisc.c index 023c43f34..8e9c9e8e9 100644 --- a/xserver/afb/afbmisc.c +++ b/xserver/afb/afbmisc.c @@ -1,4 +1,3 @@ -/* $XFree86$ */ /*********************************************************** Copyright (c) 1987 X Consortium diff --git a/xserver/afb/afbpixmap.c b/xserver/afb/afbpixmap.c index 6801960c6..77ba53513 100644 --- a/xserver/afb/afbpixmap.c +++ b/xserver/afb/afbpixmap.c @@ -102,12 +102,8 @@ afbCreatePixmap(pScreen, width, height, depth) pPixmap->drawable.height = height; pPixmap->devKind = paddedWidth; pPixmap->refcnt = 1; -#ifdef PIXPRIV pPixmap->devPrivate.ptr = datasize ? (pointer)((char *)pPixmap + pScreen->totalPixmapSize) : NULL; -#else - pPixmap->devPrivate.ptr = (pointer)(pPixmap + 1); -#endif return(pPixmap); } @@ -122,9 +118,8 @@ afbDestroyPixmap(pPixmap) } -PixmapPtr -afbCopyPixmap(pSrc) - register PixmapPtr pSrc; +static PixmapPtr +afbCopyPixmap(PixmapPtr pSrc) { register PixmapPtr pDst; int size; @@ -152,9 +147,8 @@ afbCopyPixmap(pSrc) zero out area to be filled with replicate left shift and or in original as many times as needed */ -void -afbPadPixmap(pPixmap) - PixmapPtr pPixmap; +static void +afbPadPixmap(PixmapPtr pPixmap) { register int width = pPixmap->drawable.width; register int h; diff --git a/xserver/afb/afbpntwin.c b/xserver/afb/afbpntwin.c index 94c96e4cf..6082f7caa 100644 --- a/xserver/afb/afbpntwin.c +++ b/xserver/afb/afbpntwin.c @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* Combined Purdue/PurduePlus patches, level 2.0, 1/17/89 */ /*********************************************************** diff --git a/xserver/afb/afbscrinit.c b/xserver/afb/afbscrinit.c index 2b0867fda..7cb742345 100644 --- a/xserver/afb/afbscrinit.c +++ b/xserver/afb/afbscrinit.c @@ -77,7 +77,7 @@ int afbScreenPrivateIndex; static unsigned long afbGeneration = 0; -BSFuncRec afbBSFuncRec = { +static BSFuncRec afbBSFuncRec = { afbSaveAreas, afbRestoreAreas, (BackingStoreSetClipmaskRgnProcPtr) 0, @@ -85,7 +85,7 @@ BSFuncRec afbBSFuncRec = { (BackingStoreGetSpansPixmapProcPtr) 0, }; -Bool +static Bool afbCloseScreen(int index, ScreenPtr pScreen) { int d; @@ -119,7 +119,29 @@ afbCreateScreenResources(ScreenPtr pScreen) return(retval); } -Bool +static PixmapPtr +afbGetWindowPixmap(WindowPtr pWin) +{ +#ifdef PIXMAP_PER_WINDOW + return (PixmapPtr)(pWin->devPrivates[frameWindowPrivateIndex].ptr); +#else + ScreenPtr pScreen = pWin->drawable.pScreen; + + return (* pScreen->GetScreenPixmap)(pScreen); +#endif +} + +static void +afbSetWindowPixmap(WindowPtr pWin, PixmapPtr pPix) +{ +#ifdef PIXMAP_PER_WINDOW + pWin->devPrivates[frameWindowPrivateIndex].ptr = (pointer)pPix; +#else + (* pWin->drawable.pScreen->SetScreenPixmap)(pPix); +#endif +} + +static Bool afbAllocatePrivates(ScreenPtr pScreen, int *pWinIndex, int *pGCIndex) { if (afbGeneration != serverGeneration) { @@ -216,25 +238,3 @@ afbScreenInit(register ScreenPtr pScreen, pointer pbits, int xsize, int ysize, i return TRUE; } - -PixmapPtr -afbGetWindowPixmap(WindowPtr pWin) -{ -#ifdef PIXMAP_PER_WINDOW - return (PixmapPtr)(pWin->devPrivates[frameWindowPrivateIndex].ptr); -#else - ScreenPtr pScreen = pWin->drawable.pScreen; - - return (* pScreen->GetScreenPixmap)(pScreen); -#endif -} - -void -afbSetWindowPixmap(WindowPtr pWin, PixmapPtr pPix) -{ -#ifdef PIXMAP_PER_WINDOW - pWin->devPrivates[frameWindowPrivateIndex].ptr = (pointer)pPix; -#else - (* pWin->drawable.pScreen->SetScreenPixmap)(pPix); -#endif -} diff --git a/xserver/afb/afbsetsp.c b/xserver/afb/afbsetsp.c index adc726620..cb36dba99 100644 --- a/xserver/afb/afbsetsp.c +++ b/xserver/afb/afbsetsp.c @@ -73,20 +73,10 @@ SOFTWARE. * boxes, we may not want to start grabbing bits at psrc but at some offset * further on.) */ -void -afbSetScanline(y, xOrigin, xStart, xEnd, psrc, alu, pdstBase, widthDst, - sizeDst, depthDst, sizeSrc) - int y; - int xOrigin; /* where this scanline starts */ - int xStart; /* first bit to use from scanline */ - int xEnd; /* last bit to use from scanline + 1 */ - register PixelType *psrc; - register int alu; /* raster op */ - PixelType *pdstBase; /* start of the drawable */ - int widthDst; /* width of drawable in words */ - int sizeDst; - int depthDst; - int sizeSrc; +static void +afbSetScanline(int y, int xOrigin, int xStart, int xEnd, PixelType *psrc, + int alu, PixelType *pdstBase, int widthDst, int sizeDst, + int depthDst, int sizeSrc) { int w; /* width of scanline in bits */ register PixelType *pdst; /* where to put the bits */ diff --git a/xserver/autogen.sh b/xserver/autogen.sh new file mode 100644 index 000000000..904cd6746 --- /dev/null +++ b/xserver/autogen.sh @@ -0,0 +1,12 @@ +#! /bin/sh + +srcdir=`dirname $0` +test -z "$srcdir" && srcdir=. + +ORIGDIR=`pwd` +cd $srcdir + +autoreconf -v --install || exit 1 +cd $ORIGDIR || exit $? + +$srcdir/configure --enable-maintainer-mode "$@" diff --git a/xserver/cfb/cfbcppl.c b/xserver/cfb/cfbcppl.c index 91b61a711..c13baf143 100644 --- a/xserver/cfb/cfbcppl.c +++ b/xserver/cfb/cfbcppl.c @@ -1,6 +1,4 @@ /* - * $TOG: cfb8cppl.c /main/16 1998/02/09 14:04:13 kaleb $ - * Copyright 1990, 1998 The Open Group Permission to use, copy, modify, distribute, and sell this software and its diff --git a/xserver/cfb/cfbmskbits.h b/xserver/cfb/cfbmskbits.h index 7aa446cb5..6076269b3 100644 --- a/xserver/cfb/cfbmskbits.h +++ b/xserver/cfb/cfbmskbits.h @@ -32,10 +32,7 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE. #include #include #include "servermd.h" -#if defined(XFREE86) || ( defined(__OpenBSD__) && defined(__alpha__) ) \ - || (defined(__bsdi__)) #include "compiler.h" -#endif /* * ========================================================================== diff --git a/xserver/cfb/cfbpixmap.c b/xserver/cfb/cfbpixmap.c index d51c5187c..6fdf3eae6 100644 --- a/xserver/cfb/cfbpixmap.c +++ b/xserver/cfb/cfbpixmap.c @@ -96,12 +96,8 @@ cfbCreatePixmap (pScreen, width, height, depth) pPixmap->drawable.height = height; pPixmap->devKind = paddedWidth; pPixmap->refcnt = 1; -#ifdef PIXPRIV pPixmap->devPrivate.ptr = datasize ? (pointer)((char *)pPixmap + pScreen->totalPixmapSize) : NULL; -#else - pPixmap->devPrivate.ptr = (pointer)(pPixmap + 1); -#endif return pPixmap; } diff --git a/xserver/cfb/cfbtab.h b/xserver/cfb/cfbtab.h index d95efd66d..60d203f90 100644 --- a/xserver/cfb/cfbtab.h +++ b/xserver/cfb/cfbtab.h @@ -1,5 +1,3 @@ -/* $XFree86$ */ - #ifdef HAVE_DIX_CONFIG_H #include #endif diff --git a/xserver/cfb/cfbteblt8.c b/xserver/cfb/cfbteblt8.c index 1db299623..9d4ce5708 100644 --- a/xserver/cfb/cfbteblt8.c +++ b/xserver/cfb/cfbteblt8.c @@ -301,7 +301,7 @@ typedef unsigned int *glyphPointer; #define StorePixels(o,p) dst[o] = p #define Loop dst += widthDst; #else -#define StorePixels(o,p) *dst++ = (p) +#define StorePixels(o,p) do { *dst = (p); dst++; } while (0) #define Loop dst += widthLeft; #endif diff --git a/xserver/composite/compalloc.c b/xserver/composite/compalloc.c index 5bd5d3690..006e80840 100644 --- a/xserver/composite/compalloc.c +++ b/xserver/composite/compalloc.c @@ -1,6 +1,4 @@ /* - * $Id: compalloc.c,v 1.1.1.1 2006/11/26 18:16:14 matthieu Exp $ - * * Copyright © 2006 Sun Microsystems * * Permission to use, copy, modify, distribute, and sell this software and its @@ -48,7 +46,7 @@ #include "compint.h" -void +static void compReportDamage (DamagePtr pDamage, RegionPtr pRegion, void *closure) { WindowPtr pWin = (WindowPtr) closure; @@ -206,7 +204,7 @@ compFreeClientWindow (WindowPtr pWin, XID id) EnableMapUnmapEvents (pWin); } - if (pWin->redirectDraw) + if (pWin->redirectDraw != RedirectDrawNone) compFreePixmap (pWin); if (cw->damage) @@ -218,10 +216,11 @@ compFreeClientWindow (WindowPtr pWin, XID id) xfree (cw); } else if (cw->update == CompositeRedirectAutomatic && - !cw->damageRegistered && pWin->redirectDraw) + !cw->damageRegistered && pWin->redirectDraw != RedirectDrawNone) { DamageRegister (&pWin->drawable, cw->damage); cw->damageRegistered = TRUE; + pWin->redirectDraw = RedirectDrawAutomatic; DamageDamageRegion (&pWin->drawable, &pWin->borderSize); } if (wasMapped && !pWin->mapped) @@ -462,7 +461,6 @@ compNewPixmap (WindowPtr pWin, int x, int y, int w, int h) ScreenPtr pScreen = pWin->drawable.pScreen; WindowPtr pParent = pWin->parent; PixmapPtr pPixmap; - GCPtr pGC; pPixmap = (*pScreen->CreatePixmap) (pScreen, w, h, pWin->drawable.depth); @@ -472,25 +470,63 @@ compNewPixmap (WindowPtr pWin, int x, int y, int w, int h) pPixmap->screen_x = x; pPixmap->screen_y = y; - pGC = GetScratchGC (pWin->drawable.depth, pScreen); - - /* - * Copy bits from the parent into the new pixmap so that it will - * have "reasonable" contents in case for background None areas. - */ - if (pGC) + if (pParent->drawable.depth == pWin->drawable.depth) { - XID val = IncludeInferiors; + GCPtr pGC = GetScratchGC (pWin->drawable.depth, pScreen); - ValidateGC(&pPixmap->drawable, pGC); - dixChangeGC (serverClient, pGC, GCSubwindowMode, &val, NULL); - (*pGC->ops->CopyArea) (&pParent->drawable, - &pPixmap->drawable, - pGC, - x - pParent->drawable.x, - y - pParent->drawable.y, - w, h, 0, 0); - FreeScratchGC (pGC); + /* + * Copy bits from the parent into the new pixmap so that it will + * have "reasonable" contents in case for background None areas. + */ + if (pGC) + { + XID val = IncludeInferiors; + + ValidateGC(&pPixmap->drawable, pGC); + dixChangeGC (serverClient, pGC, GCSubwindowMode, &val, NULL); + (*pGC->ops->CopyArea) (&pParent->drawable, + &pPixmap->drawable, + pGC, + x - pParent->drawable.x, + y - pParent->drawable.y, + w, h, 0, 0); + FreeScratchGC (pGC); + } + } + else + { + PictFormatPtr pSrcFormat = compWindowFormat (pParent); + PictFormatPtr pDstFormat = compWindowFormat (pWin); + XID inferiors = IncludeInferiors; + int error; + + PicturePtr pSrcPicture = CreatePicture (None, + &pParent->drawable, + pSrcFormat, + CPSubwindowMode, + &inferiors, + serverClient, &error); + + PicturePtr pDstPicture = CreatePicture (None, + &pPixmap->drawable, + pDstFormat, + 0, 0, + serverClient, &error); + + if (pSrcPicture && pDstPicture) + { + CompositePicture (PictOpSrc, + pSrcPicture, + NULL, + pDstPicture, + x - pParent->drawable.x, + y - pParent->drawable.y, + 0, 0, 0, 0, w, h); + } + if (pSrcPicture) + FreePicture (pSrcPicture, 0); + if (pDstPicture) + FreePicture (pDstPicture, 0); } return pPixmap; } @@ -508,7 +544,11 @@ compAllocPixmap (WindowPtr pWin) if (!pPixmap) return FALSE; - pWin->redirectDraw = TRUE; + if (cw->update == CompositeRedirectAutomatic) + pWin->redirectDraw = RedirectDrawAutomatic; + else + pWin->redirectDraw = RedirectDrawManual; + compSetPixmap (pWin, pPixmap); cw->oldx = COMP_ORIGIN_INVALID; cw->oldy = COMP_ORIGIN_INVALID; @@ -543,7 +583,7 @@ compFreePixmap (WindowPtr pWin) REGION_COPY (pScreen, &pWin->borderClip, &cw->borderClip); pRedirectPixmap = (*pScreen->GetWindowPixmap) (pWin); pParentPixmap = (*pScreen->GetWindowPixmap) (pWin->parent); - pWin->redirectDraw = FALSE; + pWin->redirectDraw = RedirectDrawNone; compSetPixmap (pWin, pParentPixmap); (*pScreen->DestroyPixmap) (pRedirectPixmap); } @@ -564,7 +604,7 @@ compReallocPixmap (WindowPtr pWin, int draw_x, int draw_y, int pix_x, pix_y; int pix_w, pix_h; - assert (cw && pWin->redirectDraw); + assert (cw && pWin->redirectDraw != RedirectDrawNone); cw->oldx = pOld->screen_x; cw->oldy = pOld->screen_y; pix_x = draw_x - bw; diff --git a/xserver/composite/compext.c b/xserver/composite/compext.c index 4fe592fa5..944f8d844 100644 --- a/xserver/composite/compext.c +++ b/xserver/composite/compext.c @@ -1,7 +1,4 @@ /* - * $Id: compext.c,v 1.1.1.2 2007/03/03 11:11:32 matthieu Exp $ - * - * * Copyright © 2006 Sun Microsystems * * Permission to use, copy, modify, distribute, and sell this software and its @@ -49,11 +46,14 @@ #include "compint.h" +#define SERVER_COMPOSITE_MAJOR 0 +#define SERVER_COMPOSITE_MINOR 4 + static CARD8 CompositeReqCode; -int CompositeClientPrivateIndex; +static int CompositeClientPrivateIndex; RESTYPE CompositeClientWindowType; RESTYPE CompositeClientSubwindowsType; -RESTYPE CompositeClientOverlayType; +static RESTYPE CompositeClientOverlayType; static void deleteCompOverlayClient (CompOverlayClientPtr pOcToDel, ScreenPtr pScreen); @@ -133,16 +133,12 @@ ProcCompositeQueryVersion (ClientPtr client) rep.type = X_Reply; rep.length = 0; rep.sequenceNumber = client->sequence; - if (stuff->majorVersion < COMPOSITE_MAJOR) { + if (stuff->majorVersion < SERVER_COMPOSITE_MAJOR) { rep.majorVersion = stuff->majorVersion; rep.minorVersion = stuff->minorVersion; } else { - rep.majorVersion = COMPOSITE_MAJOR; - if (stuff->majorVersion == COMPOSITE_MAJOR && - stuff->minorVersion < COMPOSITE_MINOR) - rep.minorVersion = stuff->minorVersion; - else - rep.minorVersion = COMPOSITE_MINOR; + rep.majorVersion = SERVER_COMPOSITE_MAJOR; + rep.minorVersion = SERVER_COMPOSITE_MINOR; } pCompositeClient->major_version = rep.majorVersion; pCompositeClient->minor_version = rep.minorVersion; @@ -423,7 +419,7 @@ createOverlayWindow (ScreenPtr pScreen) return pWin; } -int +static int ProcCompositeGetOverlayWindow (ClientPtr client) { REQUEST(xCompositeGetOverlayWindowReq); @@ -477,7 +473,7 @@ ProcCompositeGetOverlayWindow (ClientPtr client) return client->noClientException; } -int +static int ProcCompositeReleaseOverlayWindow (ClientPtr client) { REQUEST(xCompositeReleaseOverlayWindowReq); @@ -515,7 +511,7 @@ ProcCompositeReleaseOverlayWindow (ClientPtr client) return client->noClientException; } -int (*ProcCompositeVector[CompositeNumberRequests])(ClientPtr) = { +static int (*ProcCompositeVector[CompositeNumberRequests])(ClientPtr) = { ProcCompositeQueryVersion, ProcCompositeRedirectWindow, ProcCompositeRedirectSubwindows, @@ -625,7 +621,7 @@ SProcCompositeNameWindowPixmap (ClientPtr client) return (*ProcCompositeVector[stuff->compositeReqType]) (client); } -int +static int SProcCompositeGetOverlayWindow (ClientPtr client) { int n; @@ -637,7 +633,7 @@ SProcCompositeGetOverlayWindow (ClientPtr client) return (*ProcCompositeVector[stuff->compositeReqType]) (client); } -int +static int SProcCompositeReleaseOverlayWindow (ClientPtr client) { int n; @@ -649,7 +645,7 @@ SProcCompositeReleaseOverlayWindow (ClientPtr client) return (*ProcCompositeVector[stuff->compositeReqType]) (client); } -int (*SProcCompositeVector[CompositeNumberRequests])(ClientPtr) = { +static int (*SProcCompositeVector[CompositeNumberRequests])(ClientPtr) = { SProcCompositeQueryVersion, SProcCompositeRedirectWindow, SProcCompositeRedirectSubwindows, @@ -678,6 +674,32 @@ CompositeExtensionInit (void) ExtensionEntry *extEntry; int s; + for (s = 0; s < screenInfo.numScreens; s++) { + ScreenPtr pScreen = screenInfo.screens[s]; + VisualPtr vis; + + /* Composite on 8bpp pseudocolor root windows appears to fail, so + * just disable it on anything pseudocolor for safety. + */ + for (vis = pScreen->visuals; vis->vid != pScreen->rootVisual; vis++) + ; + if ((vis->class | DynamicClass) == PseudoColor) + return; + + /* Ensure that Render is initialized, which is required for automatic + * compositing. + */ + if (GetPictureScreenIfSet(pScreen) == NULL) + return; + } +#ifdef PANORAMIX + /* Xinerama's rewriting of window drawing before Composite gets to it + * breaks Composite. + */ + if (!noPanoramiXExtension) + return; +#endif + CompositeClientWindowType = CreateNewResourceType (FreeCompositeClientWindow); if (!CompositeClientWindowType) return; diff --git a/xserver/composite/compinit.c b/xserver/composite/compinit.c index 99b87e448..630f1042c 100644 --- a/xserver/composite/compinit.c +++ b/xserver/composite/compinit.c @@ -1,6 +1,4 @@ /* - * $Id: compinit.c,v 1.1.1.1 2006/11/26 18:16:14 matthieu Exp $ - * * Copyright © 2006 Sun Microsystems * * Permission to use, copy, modify, distribute, and sell this software and its @@ -51,7 +49,7 @@ int CompScreenPrivateIndex; int CompWindowPrivateIndex; int CompSubwindowsPrivateIndex; -int CompGeneration; +static int CompGeneration; static Bool @@ -201,106 +199,84 @@ Bool CompositeRegisterAlternateVisuals (ScreenPtr pScreen, VisualID *vids, return compRegisterAlternateVisuals(cs, vids, nVisuals); } -#if COMP_INCLUDE_RGB24_VISUAL -#define NUM_COMP_ALTERNATE_VISUALS 2 -#else -#define NUM_COMP_ALTERNATE_VISUALS 1 -#endif - typedef struct _alternateVisual { int depth; CARD32 format; } CompAlternateVisual; -static CompAlternateVisual altVisuals[NUM_COMP_ALTERNATE_VISUALS] = { +static CompAlternateVisual altVisuals[] = { #if COMP_INCLUDE_RGB24_VISUAL { 24, PICT_r8g8b8 }, #endif { 32, PICT_a8r8g8b8 }, }; +static const int NUM_COMP_ALTERNATE_VISUALS = sizeof(altVisuals) / + sizeof(CompAlternateVisual); + static Bool -compAddAlternateVisuals (ScreenPtr pScreen, CompScreenPtr cs) +compAddAlternateVisual(ScreenPtr pScreen, CompScreenPtr cs, + CompAlternateVisual *alt) { - VisualPtr visuals; - DepthPtr depths[NUM_COMP_ALTERNATE_VISUALS]; - PictFormatPtr pPictFormats[NUM_COMP_ALTERNATE_VISUALS]; + VisualPtr visual, visuals; int i; int numVisuals; - VisualID *vids[NUM_COMP_ALTERNATE_VISUALS]; XID *installedCmaps; ColormapPtr installedCmap; int numInstalledCmaps; - int numAlternate = 0; - int alt; - - for (alt = 0; alt < NUM_COMP_ALTERNATE_VISUALS; alt++) - { - DepthPtr depth; - PictFormatPtr pPictFormat; - - depth = compFindVisuallessDepth (pScreen, altVisuals[alt].depth); - if (!depth) - continue; - /* - * Find the right picture format - */ - pPictFormat = PictureMatchFormat (pScreen, altVisuals[alt].depth, - altVisuals[alt].format); - if (!pPictFormat) - continue; + DepthPtr depth; + PictFormatPtr pPictFormat; + VisualID *vid; + unsigned long alphaMask; - /* - * Allocate vid list for this depth - */ - vids[numAlternate] = xalloc (sizeof (VisualID)); - if (!vids[numAlternate]) - continue; - depths[numAlternate] = depth; - pPictFormats[numAlternate] = pPictFormat; - numAlternate++; - } - - if (!numAlternate) + /* + * The ARGB32 visual is always available. Other alternate depth visuals + * are only provided if their depth is less than the root window depth. + * There's no deep reason for this. + */ + if (alt->depth >= pScreen->rootDepth && alt->depth != 32) + return FALSE; + + depth = compFindVisuallessDepth (pScreen, alt->depth); + if (!depth) + /* alt->depth doesn't exist or already has alternate visuals. */ return TRUE; - /* - * Find the installed colormaps - */ + pPictFormat = PictureMatchFormat (pScreen, alt->depth, alt->format); + if (!pPictFormat) + return FALSE; + + vid = xalloc(sizeof(VisualID)); + if (!vid) + return FALSE; + + /* Find the installed colormaps */ installedCmaps = xalloc (pScreen->maxInstalledCmaps * sizeof (XID)); - if (!installedCmaps) - { - for (alt = 0; alt < numAlternate; alt++) - xfree (vids[alt]); + if (!installedCmaps) { + xfree(vid); return FALSE; } - numInstalledCmaps = (*pScreen->ListInstalledColormaps) (pScreen, - installedCmaps); - - /* - * realloc the visual array to fit the new one in place - */ + numInstalledCmaps = pScreen->ListInstalledColormaps(pScreen, + installedCmaps); + + /* realloc the visual array to fit the new one in place */ numVisuals = pScreen->numVisuals; - visuals = xrealloc (pScreen->visuals, - (numVisuals + numAlternate) * sizeof (VisualRec)); - if (!visuals) - { - for (alt = 0; alt < numAlternate; alt++) - xfree (vids[alt]); - xfree (installedCmaps); + visuals = xrealloc(pScreen->visuals, (numVisuals + 1) * sizeof(VisualRec)); + if (!visuals) { + xfree(vid); + xfree(installedCmaps); return FALSE; } - + /* * Fix up any existing installed colormaps -- we'll assume that * the only ones created so far have been installed. If this * isn't true, we'll have to walk the resource database looking * for all colormaps. */ - for (i = 0; i < numInstalledCmaps; i++) - { + for (i = 0; i < numInstalledCmaps; i++) { int j; - + installedCmap = LookupIDByType (installedCmaps[i], RT_COLORMAP); if (!installedCmap) continue; @@ -308,66 +284,64 @@ compAddAlternateVisuals (ScreenPtr pScreen, CompScreenPtr cs) installedCmap->pVisual = &visuals[j]; } - xfree (installedCmaps); + xfree(installedCmaps); pScreen->visuals = visuals; - pScreen->numVisuals = numVisuals + numAlternate; + visual = visuals + pScreen->numVisuals; /* the new one */ + pScreen->numVisuals++; - for (alt = 0; alt < numAlternate; alt++) - { - DepthPtr depth = depths[alt]; - PictFormatPtr pPictFormat = pPictFormats[alt]; - VisualPtr visual = &visuals[numVisuals + alt]; - unsigned long alphaMask; - - /* - * Initialize the visual - */ + /* Initialize the visual */ + visual->vid = FakeClientID (0); + visual->bitsPerRGBValue = 8; + if (PICT_FORMAT_TYPE(alt->format) == PICT_TYPE_COLOR) { + visual->class = PseudoColor; + visual->nplanes = PICT_FORMAT_BPP(alt->format); + visual->ColormapEntries = 1 << visual->nplanes; + } else { + DirectFormatRec *direct = &pPictFormat->direct; visual->class = TrueColor; - visual->bitsPerRGBValue = 8; - - visual->vid = FakeClientID (0); - visual->redMask = (((unsigned long) pPictFormat->direct.redMask) << - pPictFormat->direct.red); - visual->greenMask = (((unsigned long) pPictFormat->direct.greenMask) << - pPictFormat->direct.green); - visual->blueMask = (((unsigned long) pPictFormat->direct.blueMask) << - pPictFormat->direct.blue); - alphaMask = (((unsigned long) pPictFormat->direct.alphaMask) << - pPictFormat->direct.alpha); - visual->offsetRed = pPictFormat->direct.red; - visual->offsetGreen = pPictFormat->direct.green; - visual->offsetBlue = pPictFormat->direct.blue; + visual->redMask = ((unsigned long)direct->redMask) << direct->red; + visual->greenMask = ((unsigned long)direct->greenMask) << direct->green; + visual->blueMask = ((unsigned long)direct->blueMask) << direct->blue; + alphaMask = ((unsigned long)direct->alphaMask) << direct->alpha; + visual->offsetRed = direct->red; + visual->offsetGreen = direct->green; + visual->offsetBlue = direct->blue; /* * Include A bits in this (unlike GLX which includes only RGB) * This lets DIX compute suitable masks for colormap allocations */ visual->nplanes = Ones (visual->redMask | - visual->greenMask | - visual->blueMask | - alphaMask); - /* - * find widest component - */ + visual->greenMask | + visual->blueMask | + alphaMask); + /* find widest component */ visual->ColormapEntries = (1 << max (Ones (visual->redMask), - max (Ones (visual->greenMask), - Ones (visual->blueMask)))); - - /* - * remember the visual ID to detect auto-update windows - */ - compRegisterAlternateVisuals(cs, &visual->vid, 1); - - /* - * Fix up the depth - */ - vids[alt][0] = visual->vid; - depth->numVids = 1; - depth->vids = vids[alt]; + max (Ones (visual->greenMask), + Ones (visual->blueMask)))); } + + /* remember the visual ID to detect auto-update windows */ + compRegisterAlternateVisuals(cs, &visual->vid, 1); + + /* Fix up the depth */ + *vid = visual->vid; + depth->numVids = 1; + depth->vids = vid; return TRUE; } +static Bool +compAddAlternateVisuals (ScreenPtr pScreen, CompScreenPtr cs) +{ + int alt, ret = 0; + + for (alt = 0; alt < NUM_COMP_ALTERNATE_VISUALS; alt++) + ret |= compAddAlternateVisual(pScreen, cs, altVisuals + alt); + + return !!ret; +} + Bool compScreenInit (ScreenPtr pScreen) { diff --git a/xserver/composite/compint.h b/xserver/composite/compint.h index 87d33da0e..a5ed24e3a 100644 --- a/xserver/composite/compint.h +++ b/xserver/composite/compint.h @@ -1,6 +1,4 @@ /* - * $Id: compint.h,v 1.1.1.1 2006/11/26 18:16:15 matthieu Exp $ - * * Copyright © 2006 Sun Microsystems * * Permission to use, copy, modify, distribute, and sell this software and its @@ -171,9 +169,6 @@ extern RESTYPE CompositeClientSubwindowsType; * compalloc.c */ -void -compReportDamage (DamagePtr pDamage, RegionPtr pRegion, void *closure); - Bool compRedirectWindow (ClientPtr pClient, WindowPtr pWin, int update); @@ -237,6 +232,9 @@ compCheckTree (ScreenPtr pScreen); #define compCheckTree(s) #endif +PictFormatPtr +compWindowFormat (WindowPtr pWin); + void compSetPixmap (WindowPtr pWin, PixmapPtr pPixmap); @@ -292,18 +290,6 @@ compWindowUpdate (WindowPtr pWin); void deleteCompOverlayClientsForScreen (ScreenPtr pScreen); -int -ProcCompositeGetOverlayWindow (ClientPtr client); - -int -ProcCompositeReleaseOverlayWindow (ClientPtr client); - -int -SProcCompositeGetOverlayWindow (ClientPtr client); - -int -SProcCompositeReleaseOverlayWindow (ClientPtr client); - WindowPtr CompositeRealChildHead (WindowPtr pWin); diff --git a/xserver/composite/compwindow.c b/xserver/composite/compwindow.c index a64f9af56..bfd29460b 100644 --- a/xserver/composite/compwindow.c +++ b/xserver/composite/compwindow.c @@ -1,6 +1,4 @@ /* - * $Id: compwindow.c,v 1.1.1.1 2006/11/26 18:16:15 matthieu Exp $ - * * Copyright © 2006 Sun Microsystems * * Permission to use, copy, modify, distribute, and sell this software and its @@ -59,10 +57,10 @@ compCheckWindow (WindowPtr pWin, pointer data) if (!pWin->parent) { - assert (!pWin->redirectDraw); + assert (pWin->redirectDraw == RedirectDrawNone); assert (pWinPixmap == pScreenPixmap); } - else if (pWin->redirectDraw) + else if (pWin->redirectDraw != RedirectDrawNone) { assert (pWinPixmap != pParentPixmap); assert (pWinPixmap != pScreenPixmap); @@ -93,10 +91,10 @@ typedef struct _compPixmapVisit { static Bool compRepaintBorder (ClientPtr pClient, pointer closure) { - WindowPtr pWindow = LookupWindow ((XID) closure, pClient); + WindowPtr pWindow; + int rc = dixLookupWindow(&pWindow, (XID)closure, pClient,DixUnknownAccess); - if (pWindow) - { + if (rc == Success) { RegionRec exposed; REGION_NULL(pScreen, &exposed); @@ -113,7 +111,7 @@ compSetPixmapVisitWindow (WindowPtr pWindow, pointer data) CompPixmapVisitPtr pVisit = (CompPixmapVisitPtr) data; ScreenPtr pScreen = pWindow->drawable.pScreen; - if (pWindow != pVisit->pWindow && pWindow->redirectDraw) + if (pWindow != pVisit->pWindow && pWindow->redirectDraw != RedirectDrawNone) return WT_DONTWALKCHILDREN; (*pScreen->SetWindowPixmap) (pWindow, pVisit->pPixmap); /* @@ -157,7 +155,7 @@ compCheckRedirect (WindowPtr pWin) } } - if (should != pWin->redirectDraw) + if (should != (pWin->redirectDraw != RedirectDrawNone)) { if (should) return compAllocPixmap (pWin); @@ -181,10 +179,11 @@ compPositionWindow (WindowPtr pWin, int x, int y) compCheckRedirect (pWin); */ #ifdef COMPOSITE_DEBUG - if (pWin->redirectDraw != (pWin->viewable && (GetCompWindow(pWin) != NULL))) + if ((pWin->redirectDraw != RedirectDrawNone) != + (pWin->viewable && (GetCompWindow(pWin) != NULL))) abort (); #endif - if (pWin->redirectDraw) + if (pWin->redirectDraw != RedirectDrawNone) { PixmapPtr pPixmap = (*pScreen->GetWindowPixmap) (pWin); int bw = wBorderWidth (pWin); @@ -331,7 +330,7 @@ compMoveWindow (WindowPtr pWin, int x, int y, WindowPtr pSib, VTKind kind) CompScreenPtr cs = GetCompScreen (pScreen); compCheckTree (pScreen); - if (pWin->redirectDraw) + if (pWin->redirectDraw != RedirectDrawNone) { WindowPtr pParent; int draw_x, draw_y; @@ -355,7 +354,7 @@ compMoveWindow (WindowPtr pWin, int x, int y, WindowPtr pSib, VTKind kind) cs->MoveWindow = pScreen->MoveWindow; pScreen->MoveWindow = compMoveWindow; - if (pWin->redirectDraw) + if (pWin->redirectDraw != RedirectDrawNone) { CompWindowPtr cw = GetCompWindow (pWin); if (cw->pOldPixmap) @@ -376,7 +375,7 @@ compResizeWindow (WindowPtr pWin, int x, int y, CompScreenPtr cs = GetCompScreen (pScreen); compCheckTree (pScreen); - if (pWin->redirectDraw) + if (pWin->redirectDraw != RedirectDrawNone) { WindowPtr pParent; int draw_x, draw_y; @@ -397,7 +396,7 @@ compResizeWindow (WindowPtr pWin, int x, int y, (*pScreen->ResizeWindow) (pWin, x, y, w, h, pSib); cs->ResizeWindow = pScreen->ResizeWindow; pScreen->ResizeWindow = compResizeWindow; - if (pWin->redirectDraw) + if (pWin->redirectDraw != RedirectDrawNone) { CompWindowPtr cw = GetCompWindow (pWin); if (cw->pOldPixmap) @@ -416,7 +415,7 @@ compChangeBorderWidth (WindowPtr pWin, unsigned int bw) CompScreenPtr cs = GetCompScreen (pScreen); compCheckTree (pScreen); - if (pWin->redirectDraw) + if (pWin->redirectDraw != RedirectDrawNone) { WindowPtr pParent; int draw_x, draw_y; @@ -438,7 +437,7 @@ compChangeBorderWidth (WindowPtr pWin, unsigned int bw) (*pScreen->ChangeBorderWidth) (pWin, bw); cs->ChangeBorderWidth = pScreen->ChangeBorderWidth; pScreen->ChangeBorderWidth = compChangeBorderWidth; - if (pWin->redirectDraw) + if (pWin->redirectDraw != RedirectDrawNone) { CompWindowPtr cw = GetCompWindow (pWin); if (cw->pOldPixmap) @@ -482,7 +481,7 @@ compReparentWindow (WindowPtr pWin, WindowPtr pPriorParent) /* * Reset pixmap pointers as appropriate */ - if (pWin->parent && !pWin->redirectDraw) + if (pWin->parent && pWin->redirectDraw == RedirectDrawNone) compSetPixmap (pWin, (*pScreen->GetWindowPixmap) (pWin->parent)); /* * Call down to next function @@ -501,7 +500,7 @@ compCopyWindow (WindowPtr pWin, DDXPointRec ptOldOrg, RegionPtr prgnSrc) CompScreenPtr cs = GetCompScreen (pScreen); int dx = 0, dy = 0; - if (pWin->redirectDraw) + if (pWin->redirectDraw != RedirectDrawNone) { PixmapPtr pPixmap = (*pScreen->GetWindowPixmap) (pWin); CompWindowPtr cw = GetCompWindow (pWin); @@ -626,7 +625,7 @@ compDestroyWindow (WindowPtr pWin) while ((csw = GetCompSubwindows (pWin))) FreeResource (csw->clients->id, RT_NONE); - if (pWin->redirectDraw) + if (pWin->redirectDraw != RedirectDrawNone) compFreePixmap (pWin); ret = (*pScreen->DestroyWindow) (pWin); cs->DestroyWindow = pScreen->DestroyWindow; @@ -686,7 +685,7 @@ compGetWindowVisual (WindowPtr pWin) return 0; } -static PictFormatPtr +PictFormatPtr compWindowFormat (WindowPtr pWin) { ScreenPtr pScreen = pWin->drawable.pScreen; @@ -770,7 +769,7 @@ compWindowUpdate (WindowPtr pWin) for (pChild = pWin->lastChild; pChild; pChild = pChild->prevSib) compWindowUpdate (pChild); - if (pWin->redirectDraw) + if (pWin->redirectDraw != RedirectDrawNone) { CompWindowPtr cw = GetCompWindow(pWin); diff --git a/xserver/config/Makefile.am b/xserver/config/Makefile.am new file mode 100644 index 000000000..056f30ed0 --- /dev/null +++ b/xserver/config/Makefile.am @@ -0,0 +1,22 @@ +AM_CFLAGS = @DIX_CFLAGS@ + +noinst_LIBRARIES = libconfig.a +libconfig_a_SOURCES = config.c config-backends.h + +if HAVE_DBUS +AM_CFLAGS += @DBUS_CFLAGS@ +libconfig_a_SOURCES += dbus-core.c +endif + +if CONFIG_DBUS_API +dbusconfigdir = $(sysconfdir)/dbus-1/system.d +dbusconfig_DATA = xorg-server.conf + +libconfig_a_SOURCES += dbus.c +endif + +if CONFIG_HAL +libconfig_a_SOURCES += hal.c +endif + +EXTRA_DIST = xorg-server.conf x11-input.fdi diff --git a/xserver/config/Makefile.in b/xserver/config/Makefile.in new file mode 100644 index 000000000..549a3329f --- /dev/null +++ b/xserver/config/Makefile.in @@ -0,0 +1,665 @@ +# Makefile.in generated by automake 1.10 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + + +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +@HAVE_DBUS_TRUE@am__append_1 = @DBUS_CFLAGS@ +@HAVE_DBUS_TRUE@am__append_2 = dbus-core.c +@CONFIG_DBUS_API_TRUE@am__append_3 = dbus.c +@CONFIG_HAL_TRUE@am__append_4 = hal.c +subdir = config +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/include/do-not-use-config.h \ + $(top_builddir)/include/xorg-server.h \ + $(top_builddir)/include/dix-config.h \ + $(top_builddir)/include/xgl-config.h \ + $(top_builddir)/include/xorg-config.h \ + $(top_builddir)/include/xkb-config.h \ + $(top_builddir)/include/xwin-config.h \ + $(top_builddir)/include/kdrive-config.h +CONFIG_CLEAN_FILES = +LIBRARIES = $(noinst_LIBRARIES) +ARFLAGS = cru +libconfig_a_AR = $(AR) $(ARFLAGS) +libconfig_a_LIBADD = +am__libconfig_a_SOURCES_DIST = config.c config-backends.h dbus-core.c \ + dbus.c hal.c +@HAVE_DBUS_TRUE@am__objects_1 = dbus-core.$(OBJEXT) +@CONFIG_DBUS_API_TRUE@am__objects_2 = dbus.$(OBJEXT) +@CONFIG_HAL_TRUE@am__objects_3 = hal.$(OBJEXT) +am_libconfig_a_OBJECTS = config.$(OBJEXT) $(am__objects_1) \ + $(am__objects_2) $(am__objects_3) +libconfig_a_OBJECTS = $(am_libconfig_a_OBJECTS) +DEFAULT_INCLUDES = -I. -I$(top_builddir)/include@am__isrc@ +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ +SOURCES = $(libconfig_a_SOURCES) +DIST_SOURCES = $(am__libconfig_a_SOURCES_DIST) +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(dbusconfigdir)" +dbusconfigDATA_INSTALL = $(INSTALL_DATA) +DATA = $(dbusconfig_DATA) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ +ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ +ALLOCA = @ALLOCA@ +AMTAR = @AMTAR@ +APPDEFAULTDIR = @APPDEFAULTDIR@ +APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +APP_MAN_DIR = @APP_MAN_DIR@ +APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ +AR = @AR@ +AS = @AS@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +BASE_FONT_PATH = @BASE_FONT_PATH@ +BUILD_DATE = @BUILD_DATE@ +BUILD_TIME = @BUILD_TIME@ +CC = @CC@ +CCAS = @CCAS@ +CCASDEPMODE = @CCASDEPMODE@ +CCASFLAGS = @CCASFLAGS@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +COMPILEDDEFAULTFONTPATH = @COMPILEDDEFAULTFONTPATH@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DARWIN_LIBS = @DARWIN_LIBS@ +DBUS_CFLAGS = @DBUS_CFLAGS@ +DBUS_LIBS = @DBUS_LIBS@ +DEFAULT_LIBRARY_PATH = @DEFAULT_LIBRARY_PATH@ +DEFAULT_LOGPREFIX = @DEFAULT_LOGPREFIX@ +DEFAULT_MODULE_PATH = @DEFAULT_MODULE_PATH@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DGA_CFLAGS = @DGA_CFLAGS@ +DGA_LIBS = @DGA_LIBS@ +DIX_CFLAGS = @DIX_CFLAGS@ +DLLTOOL = @DLLTOOL@ +DMXEXAMPLES_DEP_CFLAGS = @DMXEXAMPLES_DEP_CFLAGS@ +DMXEXAMPLES_DEP_LIBS = @DMXEXAMPLES_DEP_LIBS@ +DMXMODULES_CFLAGS = @DMXMODULES_CFLAGS@ +DMXMODULES_LIBS = @DMXMODULES_LIBS@ +DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ +DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ +DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ +DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ +DRIPROTO_LIBS = @DRIPROTO_LIBS@ +DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ +DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ +DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ +DTRACE = @DTRACE@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +FILE_MAN_DIR = @FILE_MAN_DIR@ +FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ +FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ +FREETYPE_LIBS = @FREETYPE_LIBS@ +FREETYPE_REQUIRES = @FREETYPE_REQUIRES@ +GLX_DEFINES = @GLX_DEFINES@ +GL_CFLAGS = @GL_CFLAGS@ +GL_LIBS = @GL_LIBS@ +GREP = @GREP@ +HAL_CFLAGS = @HAL_CFLAGS@ +HAL_LIBS = @HAL_LIBS@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +KDRIVE_CFLAGS = @KDRIVE_CFLAGS@ +KDRIVE_INCS = @KDRIVE_INCS@ +KDRIVE_LIBS = @KDRIVE_LIBS@ +KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ +KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ +KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ +LDFLAGS = @LDFLAGS@ +LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ +LEX = @LEX@ +LEXLIB = @LEXLIB@ +LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ +LIBDRM_CFLAGS = @LIBDRM_CFLAGS@ +LIBDRM_LIBS = @LIBDRM_LIBS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIB_MAN_DIR = @LIB_MAN_DIR@ +LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ +LINUXDOC = @LINUXDOC@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAKEINFO = @MAKEINFO@ +MAKE_HTML = @MAKE_HTML@ +MAKE_PDF = @MAKE_PDF@ +MAKE_PS = @MAKE_PS@ +MAKE_TEXT = @MAKE_TEXT@ +MESA_SOURCE = @MESA_SOURCE@ +MISC_MAN_DIR = @MISC_MAN_DIR@ +MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ +MKDIR_P = @MKDIR_P@ +MKFONTDIR = @MKFONTDIR@ +MKFONTSCALE = @MKFONTSCALE@ +OBJC = @OBJC@ +OBJCCLD = @OBJCCLD@ +OBJCDEPMODE = @OBJCDEPMODE@ +OBJCFLAGS = @OBJCFLAGS@ +OBJCLINK = @OBJCLINK@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PERL = @PERL@ +PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ +PIXMAN_LIBS = @PIXMAN_LIBS@ +PKG_CONFIG = @PKG_CONFIG@ +PLIST_VENDOR_WEB = @PLIST_VENDOR_WEB@ +PLIST_VERSION_STRING = @PLIST_VERSION_STRING@ +PROJECTROOT = @PROJECTROOT@ +PS2PDF = @PS2PDF@ +RANLIB = @RANLIB@ +RAWCPP = @RAWCPP@ +RAWCPPFLAGS = @RAWCPPFLAGS@ +RGB_DB = @RGB_DB@ +SERVERCONFIGdir = @SERVERCONFIGdir@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ +SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ +STRIP = @STRIP@ +SYS_LIBS = @SYS_LIBS@ +TSLIB_CFLAGS = @TSLIB_CFLAGS@ +TSLIB_LIBS = @TSLIB_LIBS@ +VENDOR_MAN_VERSION = @VENDOR_MAN_VERSION@ +VENDOR_NAME = @VENDOR_NAME@ +VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ +VENDOR_RELEASE = @VENDOR_RELEASE@ +VERSION = @VERSION@ +X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ +X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ +XDMCP_CFLAGS = @XDMCP_CFLAGS@ +XDMCP_LIBS = @XDMCP_LIBS@ +XDMXCONFIG_DEP_CFLAGS = @XDMXCONFIG_DEP_CFLAGS@ +XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@ +XDMX_LIBS = @XDMX_LIBS@ +XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ +XEGLMODULES_LIBS = @XEGLMODULES_LIBS@ +XEGL_LIBS = @XEGL_LIBS@ +XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ +XEPHYR_INCS = @XEPHYR_INCS@ +XEPHYR_LIBS = @XEPHYR_LIBS@ +XERRORDB_PATH = @XERRORDB_PATH@ +XF86CONFIGFILE = @XF86CONFIGFILE@ +XF86MISC_CFLAGS = @XF86MISC_CFLAGS@ +XF86MISC_LIBS = @XF86MISC_LIBS@ +XF86VIDMODE_CFLAGS = @XF86VIDMODE_CFLAGS@ +XF86VIDMODE_LIBS = @XF86VIDMODE_LIBS@ +XGLMODULES_CFLAGS = @XGLMODULES_CFLAGS@ +XGLMODULES_LIBS = @XGLMODULES_LIBS@ +XGLXMODULES_CFLAGS = @XGLXMODULES_CFLAGS@ +XGLXMODULES_LIBS = @XGLXMODULES_LIBS@ +XGLX_LIBS = @XGLX_LIBS@ +XGL_LIBS = @XGL_LIBS@ +XGL_MODULE_PATH = @XGL_MODULE_PATH@ +XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ +XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ +XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ +XKM_OUTPUT_DIR = @XKM_OUTPUT_DIR@ +XLIB_CFLAGS = @XLIB_CFLAGS@ +XLIB_LIBS = @XLIB_LIBS@ +XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ +XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ +XNEST_LIBS = @XNEST_LIBS@ +XORGCFG_DEP_CFLAGS = @XORGCFG_DEP_CFLAGS@ +XORGCFG_DEP_LIBS = @XORGCFG_DEP_LIBS@ +XORGCONFIG_DEP_CFLAGS = @XORGCONFIG_DEP_CFLAGS@ +XORGCONFIG_DEP_LIBS = @XORGCONFIG_DEP_LIBS@ +XORG_CFLAGS = @XORG_CFLAGS@ +XORG_CORE_LIBS = @XORG_CORE_LIBS@ +XORG_INCS = @XORG_INCS@ +XORG_LIBS = @XORG_LIBS@ +XORG_MODULES_CFLAGS = @XORG_MODULES_CFLAGS@ +XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ +XORG_OS = @XORG_OS@ +XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ +XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ +XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ +XPRINT_CFLAGS = @XPRINT_CFLAGS@ +XPRINT_LIBS = @XPRINT_LIBS@ +XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ +XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ +XSDL_INCS = @XSDL_INCS@ +XSDL_LIBS = @XSDL_LIBS@ +XSERVERCFLAGS_CFLAGS = @XSERVERCFLAGS_CFLAGS@ +XSERVERCFLAGS_LIBS = @XSERVERCFLAGS_LIBS@ +XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ +XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ +XSERVER_LIBS = @XSERVER_LIBS@ +XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ +XTSTEXAMPLES_DEP_LIBS = @XTSTEXAMPLES_DEP_LIBS@ +XVFB_LIBS = @XVFB_LIBS@ +XWINMODULES_CFLAGS = @XWINMODULES_CFLAGS@ +XWINMODULES_LIBS = @XWINMODULES_LIBS@ +XWIN_LIBS = @XWIN_LIBS@ +XWIN_SERVER_NAME = @XWIN_SERVER_NAME@ +XWIN_SYSTEM_LIBS = @XWIN_SYSTEM_LIBS@ +YACC = @YACC@ +YFLAGS = @YFLAGS@ +__XCONFIGFILE__ = @__XCONFIGFILE__@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +driverdir = @driverdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +extdir = @extdir@ +ft_config = @ft_config@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +logdir = @logdir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +moduledir = @moduledir@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sdkdir = @sdkdir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +xglmoduledir = @xglmoduledir@ +xpconfigdir = @xpconfigdir@ +AM_CFLAGS = @DIX_CFLAGS@ $(am__append_1) +noinst_LIBRARIES = libconfig.a +libconfig_a_SOURCES = config.c config-backends.h $(am__append_2) \ + $(am__append_3) $(am__append_4) +@CONFIG_DBUS_API_TRUE@dbusconfigdir = $(sysconfdir)/dbus-1/system.d +@CONFIG_DBUS_API_TRUE@dbusconfig_DATA = xorg-server.conf +EXTRA_DIST = xorg-server.conf x11-input.fdi +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign config/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --foreign config/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +clean-noinstLIBRARIES: + -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) +libconfig.a: $(libconfig_a_OBJECTS) $(libconfig_a_DEPENDENCIES) + -rm -f libconfig.a + $(libconfig_a_AR) libconfig.a $(libconfig_a_OBJECTS) $(libconfig_a_LIBADD) + $(RANLIB) libconfig.a + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/config.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dbus-core.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dbus.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hal.Po@am__quote@ + +.c.o: +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c $< + +.c.obj: +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` + +.c.lo: +@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-dbusconfigDATA: $(dbusconfig_DATA) + @$(NORMAL_INSTALL) + test -z "$(dbusconfigdir)" || $(MKDIR_P) "$(DESTDIR)$(dbusconfigdir)" + @list='$(dbusconfig_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(dbusconfigDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(dbusconfigdir)/$$f'"; \ + $(dbusconfigDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(dbusconfigdir)/$$f"; \ + done + +uninstall-dbusconfigDATA: + @$(NORMAL_UNINSTALL) + @list='$(dbusconfig_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(dbusconfigdir)/$$f'"; \ + rm -f "$(DESTDIR)$(dbusconfigdir)/$$f"; \ + done + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(LIBRARIES) $(DATA) +installdirs: + for dir in "$(DESTDIR)$(dbusconfigdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool clean-noinstLIBRARIES \ + mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-dbusconfigDATA + +install-dvi: install-dvi-am + +install-exec-am: + +install-html: install-html-am + +install-info: install-info-am + +install-man: + +install-pdf: install-pdf-am + +install-ps: install-ps-am + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-dbusconfigDATA + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libtool clean-noinstLIBRARIES ctags distclean \ + distclean-compile distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am \ + install-dbusconfigDATA install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags uninstall uninstall-am uninstall-dbusconfigDATA + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/xserver/config/config-backends.h b/xserver/config/config-backends.h new file mode 100644 index 000000000..ce0e5e436 --- /dev/null +++ b/xserver/config/config-backends.h @@ -0,0 +1,59 @@ +/* + * Copyright © 2006-2007 Daniel Stone + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + * Author: Daniel Stone + */ + +#ifdef HAVE_DIX_CONFIG_H +#include +#endif + +#ifdef HAVE_DBUS +#include + +typedef void (*config_dbus_core_connect_hook)(DBusConnection *connection, + void *data); +typedef void (*config_dbus_core_disconnect_hook)(void *data); + +struct config_dbus_core_hook { + config_dbus_core_connect_hook connect; + config_dbus_core_disconnect_hook disconnect; + void *data; + + struct config_dbus_core_hook *next; +}; + +int config_dbus_core_init(void); +void config_dbus_core_fini(void); +int config_dbus_core_add_hook(struct config_dbus_core_hook *hook); +void config_dbus_core_remove_hook(struct config_dbus_core_hook *hook); +#endif + +#ifdef CONFIG_DBUS_API +int config_dbus_init(void); +void config_dbus_fini(void); +#endif + +#ifdef CONFIG_HAL +int config_hal_init(void); +void config_hal_fini(void); +#endif diff --git a/xserver/config/config.c b/xserver/config/config.c new file mode 100644 index 000000000..882b699a0 --- /dev/null +++ b/xserver/config/config.c @@ -0,0 +1,66 @@ +/* + * Copyright © 2006-2007 Daniel Stone + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + * Author: Daniel Stone + */ + +#ifdef HAVE_DIX_CONFIG_H +#include +#endif + +#include "os.h" +#include "hotplug.h" +#include "config-backends.h" + +void +config_init() +{ +#if defined(CONFIG_DBUS_API) || defined(CONFIG_HAL) + if (config_dbus_core_init()) { +# ifdef CONFIG_DBUS_API + if (!config_dbus_init()) + ErrorF("[config] failed to initialise D-Bus API\n"); +# endif +# ifdef CONFIG_HAL + if (!config_hal_init()) + ErrorF("[config] failed to initialise HAL\n"); +# endif + } + else { + ErrorF("[config] failed to initialise D-Bus core\n"); + } +#endif +} + +void +config_fini() +{ +#if defined(CONFIG_DBUS_API) || defined(CONFIG_HAL) +# ifdef CONFIG_HAL + config_hal_fini(); +# endif +# ifdef CONFIG_DBUS_API + config_dbus_fini(); +# endif + config_dbus_core_fini(); +#endif +} diff --git a/xserver/config/dbus-core.c b/xserver/config/dbus-core.c new file mode 100644 index 000000000..28881596f --- /dev/null +++ b/xserver/config/dbus-core.c @@ -0,0 +1,243 @@ +/* + * Copyright © 2006-2007 Daniel Stone + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + * Author: Daniel Stone + */ + +#ifdef HAVE_DIX_CONFIG_H +#include +#endif + +#define DBUS_API_SUBJECT_TO_CHANGE +#include +#include + +#include "config-backends.h" +#include "dix.h" +#include "os.h" + +/* How often to attempt reconnecting when we get booted off the bus. */ +#define RECONNECT_DELAY (10 * 1000) /* in ms */ + +struct dbus_core_info { + int fd; + DBusConnection *connection; + OsTimerPtr timer; + struct config_dbus_core_hook *hooks; +}; +static struct dbus_core_info bus_info; + +static CARD32 reconnect_timer(OsTimerPtr timer, CARD32 time, pointer arg); + +static void +wakeup_handler(pointer data, int err, pointer read_mask) +{ + struct dbus_core_info *info = data; + + if (info->connection && FD_ISSET(info->fd, (fd_set *) read_mask)) { + do { + dbus_connection_read_write_dispatch(info->connection, 0); + } while (dbus_connection_get_dispatch_status(info->connection) == + DBUS_DISPATCH_DATA_REMAINS); + } +} + +static void +block_handler(pointer data, struct timeval **tv, pointer read_mask) +{ +} + +/** + * Disconnect (if we haven't already been forcefully disconnected), clean up + * after ourselves, and call all registered disconnect hooks. + */ +static void +teardown(void) +{ + struct config_dbus_core_hook *hook; + + if (bus_info.timer) { + TimerCancel(bus_info.timer); + bus_info.timer = NULL; + } + + /* We should really have pre-disconnect hooks and run them here, for + * completeness. But then it gets awkward, given that you can't + * guarantee that they'll be called ... */ + if (bus_info.connection) + dbus_connection_unref(bus_info.connection); + + RemoveBlockAndWakeupHandlers(block_handler, wakeup_handler, &bus_info); + RemoveGeneralSocket(bus_info.fd); + bus_info.fd = -1; + bus_info.connection = NULL; + + for (hook = bus_info.hooks; hook; hook = hook->next) { + if (hook->disconnect) + hook->disconnect(hook->data); + } +} + +/** + * This is a filter, which only handles the disconnected signal, which + * doesn't go to the normal message handling function. This takes + * precedence over the message handling function, so have have to be + * careful to ignore anything we don't want to deal with here. + */ +static DBusHandlerResult +message_filter(DBusConnection *connection, DBusMessage *message, void *data) +{ + /* If we get disconnected, then take everything down, and attempt to + * reconnect immediately (assuming it's just a restart). The + * connection isn't valid at this point, so throw it out immediately. */ + if (dbus_message_is_signal(message, DBUS_INTERFACE_LOCAL, + "Disconnected")) { + DebugF("[config/dbus-core] disconnected from bus\n"); + bus_info.connection = NULL; + teardown(); + + bus_info.timer = TimerSet(NULL, 0, 1, reconnect_timer, NULL); + + return DBUS_HANDLER_RESULT_HANDLED; + } + + return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; +} + +/** + * Attempt to connect to the system bus, and set a filter to deal with + * disconnection (see message_filter above). + * + * @return 1 on success, 0 on failure. + */ +static int +connect_to_bus(void) +{ + DBusError error; + struct config_dbus_core_hook *hook; + + dbus_error_init(&error); + bus_info.connection = dbus_bus_get(DBUS_BUS_SYSTEM, &error); + if (!bus_info.connection || dbus_error_is_set(&error)) { + DebugF("[config/dbus-core] error connecting to system bus: %s (%s)\n", + error.name, error.message); + goto err_begin; + } + + /* Thankyou. Really, thankyou. */ + dbus_connection_set_exit_on_disconnect(bus_info.connection, FALSE); + + if (!dbus_connection_get_unix_fd(bus_info.connection, &bus_info.fd)) { + ErrorF("[config/dbus-core] couldn't get fd for system bus\n"); + goto err_unref; + } + + if (!dbus_connection_add_filter(bus_info.connection, message_filter, + &bus_info, NULL)) { + ErrorF("[config/dbus-core] couldn't add filter: %s (%s)\n", error.name, + error.message); + goto err_fd; + } + + dbus_error_free(&error); + AddGeneralSocket(bus_info.fd); + + RegisterBlockAndWakeupHandlers(block_handler, wakeup_handler, &bus_info); + + for (hook = bus_info.hooks; hook; hook = hook->next) { + if (hook->connect) + hook->connect(bus_info.connection, hook->data); + } + + return 1; + +err_fd: + bus_info.fd = -1; +err_unref: + dbus_connection_unref(bus_info.connection); + bus_info.connection = NULL; +err_begin: + dbus_error_free(&error); + + return 0; +} + +static CARD32 +reconnect_timer(OsTimerPtr timer, CARD32 time, pointer arg) +{ + if (connect_to_bus()) { + bus_info.timer = NULL; + return 0; + } + else { + return RECONNECT_DELAY; + } +} + +int +config_dbus_core_add_hook(struct config_dbus_core_hook *hook) +{ + struct config_dbus_core_hook **prev; + + for (prev = &bus_info.hooks; *prev; prev = &(*prev)->next) + ; + + hook->next = NULL; + *prev = hook; + + /* If we're already connected, call the connect hook. */ + if (bus_info.connection) + hook->connect(bus_info.connection, hook->data); + + return 1; +} + +void +config_dbus_core_remove_hook(struct config_dbus_core_hook *hook) +{ + struct config_dbus_core_hook **prev; + + for (prev = &bus_info.hooks; *prev; prev = &(*prev)->next) { + if (*prev == hook) { + *prev = hook->next; + break; + } + } +} + +int +config_dbus_core_init(void) +{ + memset(&bus_info, 0, sizeof(bus_info)); + bus_info.fd = -1; + bus_info.hooks = NULL; + bus_info.connection = NULL; + bus_info.timer = TimerSet(NULL, 0, 1, reconnect_timer, NULL); + + return 1; +} + +void +config_dbus_core_fini(void) +{ + teardown(); +} diff --git a/xserver/config/dbus.c b/xserver/config/dbus.c new file mode 100644 index 000000000..c6f4af0d5 --- /dev/null +++ b/xserver/config/dbus.c @@ -0,0 +1,441 @@ +/* + * Copyright © 2006-2007 Daniel Stone + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + * Author: Daniel Stone + */ + +#ifdef HAVE_DIX_CONFIG_H +#include +#endif + +#define DBUS_API_SUBJECT_TO_CHANGE +#include +#include + +#include + +#include "config-backends.h" +#include "opaque.h" /* for 'display': there should be a better way. */ +#include "input.h" +#include "inputstr.h" + +#define API_VERSION 2 + +#define MATCH_RULE "type='method_call',interface='org.x.config.input'" + +#define MALFORMED_MSG "[config/dbus] malformed message, dropping" +#define MALFORMED_MESSAGE() { DebugF(MALFORMED_MSG "\n"); \ + ret = BadValue; \ + goto unwind; } +#define MALFORMED_MESSAGE_ERROR() { DebugF(MALFORMED_MSG ": %s, %s", \ + error->name, error->message); \ + ret = BadValue; \ + goto unwind; } + +struct connection_info { + char busobject[32]; + char busname[64]; + DBusConnection *connection; +}; + +static void +reset_info(struct connection_info *info) +{ + info->connection = NULL; + info->busname[0] = '\0'; + info->busobject[0] = '\0'; +} + +static int +add_device(DBusMessage *message, DBusMessage *reply, DBusError *error) +{ + DBusMessageIter iter, reply_iter, subiter; + InputOption *tmpo = NULL, *options = NULL; + char *tmp = NULL; + int ret, err; + DeviceIntPtr dev = NULL; + + if (!dbus_message_iter_init(message, &iter)) { + ErrorF("[config/dbus] couldn't initialise iterator\n"); + return BadAlloc; + } + dbus_message_iter_init_append(reply, &reply_iter); + + options = xcalloc(sizeof(*options), 1); + if (!options) { + ErrorF("[config/dbus] couldn't allocate option\n"); + return BadAlloc; + } + + options->key = xstrdup("_source"); + options->value = xstrdup("client/dbus"); + if (!options->key || !options->value) { + ErrorF("[config/dbus] couldn't allocate first key/value pair\n"); + ret = BadAlloc; + goto unwind; + } + + /* signature should be [ss][ss]... */ + while (dbus_message_iter_get_arg_type(&iter) == DBUS_TYPE_ARRAY) { + tmpo = xcalloc(sizeof(*tmpo), 1); + if (!tmpo) { + ErrorF("[config/dbus] couldn't allocate option\n"); + ret = BadAlloc; + goto unwind; + } + tmpo->next = options; + options = tmpo; + + dbus_message_iter_recurse(&iter, &subiter); + + if (dbus_message_iter_get_arg_type(&subiter) != DBUS_TYPE_STRING) + MALFORMED_MESSAGE(); + + dbus_message_iter_get_basic(&subiter, &tmp); + if (!tmp) + MALFORMED_MESSAGE(); + /* The _ prefix refers to internal settings, and may not be given by + * the client. */ + if (tmp[0] == '_') { + ErrorF("[config/dbus] attempted subterfuge: option name %s given\n", + tmp); + MALFORMED_MESSAGE(); + } + options->key = xstrdup(tmp); + if (!options->key) { + ErrorF("[config/dbus] couldn't duplicate key!\n"); + ret = BadAlloc; + goto unwind; + } + + if (!dbus_message_iter_has_next(&subiter)) + MALFORMED_MESSAGE(); + dbus_message_iter_next(&subiter); + if (dbus_message_iter_get_arg_type(&subiter) != DBUS_TYPE_STRING) + MALFORMED_MESSAGE(); + + dbus_message_iter_get_basic(&subiter, &tmp); + if (!tmp) + MALFORMED_MESSAGE(); + options->value = xstrdup(tmp); + if (!options->value) { + ErrorF("[config] couldn't duplicate option!\n"); + ret = BadAlloc; + goto unwind; + } + + dbus_message_iter_next(&iter); + } + + ret = NewInputDeviceRequest(options, &dev); + if (ret != Success) { + DebugF("[config/dbus] NewInputDeviceRequest failed\n"); + goto unwind; + } + + if (!dev) { + DebugF("[config/dbus] NewInputDeviceRequest provided no device\n"); + ret = BadImplementation; + goto unwind; + } + + /* XXX: If we fail halfway through, we don't seem to have any way to + * empty the iterator, so you'll end up with some device IDs, + * plus an error. This seems to be a shortcoming in the D-Bus + * API. */ + for (; dev; dev = dev->next) { + if (!dbus_message_iter_append_basic(&reply_iter, DBUS_TYPE_INT32, + &dev->id)) { + ErrorF("[config/dbus] couldn't append to iterator\n"); + ret = BadAlloc; + goto unwind; + } + } + +unwind: + if (ret != Success) { + if (dev) + RemoveDevice(dev); + + err = -ret; + dbus_message_iter_append_basic(&reply_iter, DBUS_TYPE_INT32, &err); + } + + while (options) { + tmpo = options; + options = options->next; + if (tmpo->key) + xfree(tmpo->key); + if (tmpo->value) + xfree(tmpo->value); + xfree(tmpo); + } + + return ret; +} + +static int +remove_device(DBusMessage *message, DBusMessage *reply, DBusError *error) +{ + int deviceid, ret, err; + DeviceIntPtr dev; + DBusMessageIter iter, reply_iter; + + if (!dbus_message_iter_init(message, &iter)) { + ErrorF("[config] failed to init iterator\n"); + return BadAlloc; + } + dbus_message_iter_init_append(reply, &reply_iter); + + if (!dbus_message_get_args(message, error, DBUS_TYPE_UINT32, + &deviceid, DBUS_TYPE_INVALID)) { + MALFORMED_MESSAGE_ERROR(); + } + + dev = LookupDeviceIntRec(deviceid); + if (!dev) { + DebugF("[config] bogus device id %d given\n", deviceid); + ret = BadMatch; + goto unwind; + } + + DebugF("[config] removing device %s (id %d)\n", dev->name, deviceid); + + /* Call PIE here so we don't try to dereference a device that's + * already been removed. */ + OsBlockSignals(); + ProcessInputEvents(); + DeleteInputDeviceRequest(dev); + OsReleaseSignals(); + + ret = Success; + +unwind: + err = (ret == Success) ? ret : -ret; + dbus_message_iter_append_basic(&reply_iter, DBUS_TYPE_INT32, &err); + + return ret; +} + +static int +list_devices(DBusMessage *message, DBusMessage *reply, DBusError *error) +{ + DeviceIntPtr dev; + DBusMessageIter iter, subiter; + + dbus_message_iter_init_append(reply, &iter); + + for (dev = inputInfo.devices; dev; dev = dev->next) { + if (!dbus_message_iter_open_container(&iter, DBUS_TYPE_STRUCT, NULL, + &subiter)) { + ErrorF("[config/dbus] couldn't init container\n"); + return BadAlloc; + } + if (!dbus_message_iter_append_basic(&subiter, DBUS_TYPE_UINT32, + &dev->id)) { + ErrorF("[config/dbus] couldn't append to iterator\n"); + return BadAlloc; + } + if (!dbus_message_iter_append_basic(&subiter, DBUS_TYPE_STRING, + &dev->name)) { + ErrorF("[config/dbus] couldn't append to iterator\n"); + return BadAlloc; + } + if (!dbus_message_iter_close_container(&iter, &subiter)) { + ErrorF("[config/dbus] couldn't close container\n"); + return BadAlloc; + } + } + + return Success; +} + +static int +get_version(DBusMessage *message, DBusMessage *reply, DBusError *error) +{ + DBusMessageIter iter; + unsigned int version = API_VERSION; + + dbus_message_iter_init_append(reply, &iter); + if (!dbus_message_iter_append_basic(&iter, DBUS_TYPE_UINT32, &version)) { + ErrorF("[config/dbus] couldn't append version\n"); + return BadAlloc; + } + + return Success; +} + +static DBusHandlerResult +message_handler(DBusConnection *connection, DBusMessage *message, void *data) +{ + DBusError error; + DBusMessage *reply; + struct connection_info *info = data; + + /* ret is the overall D-Bus handler result, whereas err is the internal + * X error from our individual functions. */ + int ret = DBUS_HANDLER_RESULT_NOT_YET_HANDLED; + int err; + + DebugF("[config/dbus] received a message for %s\n", + dbus_message_get_interface(message)); + + dbus_error_init(&error); + + reply = dbus_message_new_method_return(message); + if (!reply) { + ErrorF("[config/dbus] failed to create reply\n"); + ret = DBUS_HANDLER_RESULT_NEED_MEMORY; + goto err_start; + } + + if (strcmp(dbus_message_get_member(message), "add") == 0) + err = add_device(message, reply, &error); + else if (strcmp(dbus_message_get_member(message), "remove") == 0) + err = remove_device(message, reply, &error); + else if (strcmp(dbus_message_get_member(message), "listDevices") == 0) + err = list_devices(message, reply, &error); + else if (strcmp(dbus_message_get_member(message), "version") == 0) + err = get_version(message, reply, &error); + else + goto err_reply; + + /* Failure to allocate is a special case. */ + if (err == BadAlloc) { + ret = DBUS_HANDLER_RESULT_NEED_MEMORY; + goto err_reply; + } + + /* While failure here is always an OOM, we don't return that, + * since that would result in devices being double-added/removed. */ + if (dbus_connection_send(info->connection, reply, NULL)) + dbus_connection_flush(info->connection); + else + ErrorF("[config/dbus] failed to send reply\n"); + + ret = DBUS_HANDLER_RESULT_HANDLED; + +err_reply: + dbus_message_unref(reply); +err_start: + dbus_error_free(&error); + + return ret; +} + +static void +connect_hook(DBusConnection *connection, void *data) +{ + DBusError error; + DBusObjectPathVTable vtable = { .message_function = message_handler, }; + struct connection_info *info = data; + + info->connection = connection; + + dbus_error_init(&error); + + if (!dbus_bus_request_name(info->connection, info->busname, + 0, &error)) { + ErrorF("[config/dbus] couldn't take over org.x.config: %s (%s)\n", + error.name, error.message); + goto err_start; + } + + /* blocks until we get a reply. */ + dbus_bus_add_match(info->connection, MATCH_RULE, &error); + if (dbus_error_is_set(&error)) { + ErrorF("[config/dbus] couldn't add match: %s (%s)\n", error.name, + error.message); + goto err_name; + } + + if (!dbus_connection_register_object_path(info->connection, + info->busobject, &vtable, + info)) { + ErrorF("[config/dbus] couldn't register object path\n"); + goto err_match; + } + + DebugF("[dbus] registered %s, %s\n", info->busname, info->busobject); + + dbus_error_free(&error); + + return; + +err_match: + dbus_bus_remove_match(info->connection, MATCH_RULE, &error); +err_name: + dbus_bus_release_name(info->connection, info->busname, &error); +err_start: + dbus_error_free(&error); + + reset_info(info); +} + +static void +disconnect_hook(void *data) +{ + struct connection_info *info = data; + + reset_info(info); +} + +#if 0 +void +pre_disconnect_hook(void) +{ + DBusError error; + + dbus_error_init(&error); + dbus_connection_unregister_object_path(connection_data->connection, + connection_data->busobject); + dbus_bus_remove_match(connection_data->connection, MATCH_RULE, + &error); + dbus_bus_release_name(connection_data->connection, + connection_data->busname, &error); + dbus_error_free(&error); +} +#endif + +static struct connection_info connection_data; +static struct config_dbus_core_hook core_hook = { + .connect = connect_hook, + .disconnect = disconnect_hook, + .data = &connection_data, +}; + +int +config_dbus_init(void) +{ + snprintf(connection_data.busname, sizeof(connection_data.busname), + "org.x.config.display%d", atoi(display)); + snprintf(connection_data.busobject, sizeof(connection_data.busobject), + "/org/x/config/%d", atoi(display)); + + return config_dbus_core_add_hook(&core_hook); +} + +void +config_dbus_fini(void) +{ + config_dbus_core_remove_hook(&core_hook); +} diff --git a/xserver/config/hal.c b/xserver/config/hal.c new file mode 100644 index 000000000..d7835e653 --- /dev/null +++ b/xserver/config/hal.c @@ -0,0 +1,370 @@ +/* + * Copyright © 2007 Daniel Stone + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + * Author: Daniel Stone + */ + +#ifdef HAVE_DIX_CONFIG_H +#include +#endif + +#include +#include +#include +#include + +#include "input.h" +#include "inputstr.h" +#include "hotplug.h" +#include "config-backends.h" +#include "os.h" + +#define TYPE_NONE 0 +#define TYPE_KEYS 1 +#define TYPE_POINTER 2 + +struct config_hal_info { + DBusConnection *system_bus; + LibHalContext *hal_ctx; +}; + +static void +remove_device(DeviceIntPtr dev) +{ + DebugF("[config/hal] removing device %s\n", dev->name); + + /* Call PIE here so we don't try to dereference a device that's + * already been removed. */ + OsBlockSignals(); + ProcessInputEvents(); + DeleteInputDeviceRequest(dev); + OsReleaseSignals(); +} + +static void +device_removed(LibHalContext *ctx, const char *udi) +{ + DeviceIntPtr dev; + char *value; + + value = xalloc(strlen(udi) + 5); /* "hal:" + NULL */ + if (!value) + return; + sprintf(value, "hal:%s", udi); + + for (dev = inputInfo.devices; dev; dev = dev->next) { + if (dev->config_info && strcmp(dev->config_info, value) == 0) + remove_device(dev); + } + for (dev = inputInfo.off_devices; dev; dev = dev->next) { + if (dev->config_info && strcmp(dev->config_info, value) == 0) + remove_device(dev); + } + + xfree(value); +} + +static void +add_option(InputOption **options, const char *key, const char *value) +{ + if (!value || *value == '\0') + return; + + for (; *options; options = &(*options)->next) + ; + *options = xcalloc(sizeof(**options), 1); + (*options)->key = xstrdup(key); + (*options)->value = xstrdup(value); + (*options)->next = NULL; +} + +static char * +get_prop_string(LibHalContext *hal_ctx, const char *udi, const char *name) +{ + char *prop, *ret; + + prop = libhal_device_get_property_string(hal_ctx, udi, name, NULL); + DebugF(" [config/hal] getting %s on %s returned %s\n", name, udi, prop); + if (prop) { + ret = xstrdup(prop); + libhal_free_string(prop); + } + else { + return NULL; + } + + return ret; +} + +static char * +get_prop_string_array(LibHalContext *hal_ctx, const char *udi, const char *prop) +{ + char **props, *ret, *str; + int i, len = 0; + + props = libhal_device_get_property_strlist(hal_ctx, udi, prop, NULL); + if (props) { + for (i = 0; props[i]; i++) + len += strlen(props[i]); + + ret = xcalloc(sizeof(char), len + i); /* i - 1 commas, 1 NULL */ + if (!ret) { + libhal_free_string_array(props); + return NULL; + } + + str = ret; + for (i = 0; props[i]; i++) { + str = strcpy(str, props[i]); + *str++ = ','; + } + *str = '\0'; + + libhal_free_string_array(props); + } + else { + return NULL; + } + + return ret; +} + +static void +device_added(LibHalContext *hal_ctx, const char *udi) +{ + char **props; + char *path = NULL, *driver = NULL, *name = NULL, *xkb_rules = NULL; + char *xkb_model = NULL, *xkb_layout = NULL, *xkb_variant = NULL; + char *xkb_options = NULL, *config_info = NULL; + InputOption *options = NULL; + DeviceIntPtr dev; + DBusError error; + int type = TYPE_NONE; + int i; + + dbus_error_init(&error); + + props = libhal_device_get_property_strlist(hal_ctx, udi, + "info.capabilities", &error); + if (!props) { + DebugF("[config/hal] couldn't get capabilities for %s: %s (%s)\n", + udi, error.name, error.message); + goto out_error; + } + for (i = 0; props[i]; i++) { + /* input.keys is the new, of which input.keyboard is a subset, but + * input.keyboard is the old 'we have keys', so we have to keep it + * around. */ + if (strcmp(props[i], "input.keys") == 0 || + strcmp(props[i], "input.keyboard") == 0) + type |= TYPE_KEYS; + if (strcmp(props[i], "input.mouse") == 0) + type |= TYPE_POINTER; + } + libhal_free_string_array(props); + + if (type == TYPE_NONE) + goto out_error; + + driver = get_prop_string(hal_ctx, udi, "input.x11_driver"); + path = get_prop_string(hal_ctx, udi, "input.device"); + if (!driver || !path) { + DebugF("[config/hal] no driver or path specified for %s\n", udi); + goto unwind; + } + name = get_prop_string(hal_ctx, udi, "info.product"); + if (!name) + name = xstrdup("(unnamed)"); + + if (type & TYPE_KEYS) { + xkb_rules = get_prop_string(hal_ctx, udi, "input.xkb.rules"); + xkb_model = get_prop_string(hal_ctx, udi, "input.xkb.model"); + xkb_layout = get_prop_string(hal_ctx, udi, "input.xkb.layout"); + xkb_variant = get_prop_string(hal_ctx, udi, "input.xkb.variant"); + xkb_options = get_prop_string_array(hal_ctx, udi, "input.xkb.options"); + } + + options = xcalloc(sizeof(*options), 1); + options->key = xstrdup("_source"); + options->value = xstrdup("server/hal"); + if (!options->key || !options->value) { + ErrorF("[config] couldn't allocate first key/value pair\n"); + goto unwind; + } + + add_option(&options, "path", path); + add_option(&options, "driver", driver); + add_option(&options, "name", name); + config_info = xalloc(strlen(udi) + 5); /* "hal:" and NULL */ + if (!config_info) + goto unwind; + sprintf(config_info, "hal:%s", udi); + + if (xkb_model) + add_option(&options, "xkb_model", xkb_model); + if (xkb_layout) + add_option(&options, "xkb_layout", xkb_layout); + if (xkb_variant) + add_option(&options, "xkb_variant", xkb_variant); + if (xkb_options) + add_option(&options, "xkb_options", xkb_options); + + if (NewInputDeviceRequest(options, &dev) != Success) { + DebugF("[config/hal] NewInputDeviceRequest failed\n"); + goto unwind; + } + + for (; dev; dev = dev->next) + dev->config_info = xstrdup(config_info); + +unwind: + if (path) + xfree(path); + if (driver) + xfree(driver); + if (name) + xfree(name); + if (xkb_rules) + xfree(xkb_rules); + if (xkb_model) + xfree(xkb_model); + if (xkb_layout) + xfree(xkb_layout); + if (xkb_options) + xfree(xkb_options); + if (config_info) + xfree(config_info); + +out_error: + dbus_error_free(&error); + + return; +} + +static void +disconnect_hook(void *data) +{ + DBusError error; + struct config_hal_info *info = data; + + if (info->hal_ctx) { + dbus_error_init(&error); + if (!libhal_ctx_shutdown(info->hal_ctx, &error)) + DebugF("[config/hal] couldn't shut down context: %s (%s)\n", + error.name, error.message); + libhal_ctx_free(info->hal_ctx); + dbus_error_free(&error); + } + + info->hal_ctx = NULL; + info->system_bus = NULL; +} + +static void +connect_hook(DBusConnection *connection, void *data) +{ + DBusError error; + struct config_hal_info *info = data; + char **devices; + int num_devices, i; + + info->system_bus = connection; + + dbus_error_init(&error); + + if (!info->hal_ctx) + info->hal_ctx = libhal_ctx_new(); + if (!info->hal_ctx) { + ErrorF("[config/hal] couldn't create HAL context\n"); + goto out_err; + } + + if (!libhal_ctx_set_dbus_connection(info->hal_ctx, info->system_bus)) { + ErrorF("[config/hal] couldn't associate HAL context with bus\n"); + goto out_ctx; + } + if (!libhal_ctx_init(info->hal_ctx, &error)) { + ErrorF("[config/hal] couldn't initialise context: %s (%s)\n", + error.name, error.message); + goto out_ctx; + } + if (!libhal_device_property_watch_all(info->hal_ctx, &error)) { + ErrorF("[config/hal] couldn't watch all properties: %s (%s)\n", + error.name, error.message); + goto out_ctx2; + } + libhal_ctx_set_device_added(info->hal_ctx, device_added); + libhal_ctx_set_device_removed(info->hal_ctx, device_removed); + + devices = libhal_find_device_by_capability(info->hal_ctx, "input", + &num_devices, &error); + /* FIXME: Get default devices if error is set. */ + for (i = 0; i < num_devices; i++) + device_added(info->hal_ctx, devices[i]); + libhal_free_string_array(devices); + + dbus_error_free(&error); + + return; + +out_ctx2: + if (!libhal_ctx_shutdown(info->hal_ctx, &error)) + DebugF("[config/hal] couldn't shut down context: %s (%s)\n", + error.name, error.message); +out_ctx: + libhal_ctx_free(info->hal_ctx); +out_err: + dbus_error_free(&error); + + info->hal_ctx = NULL; + info->system_bus = NULL; + + return; +} + +static struct config_hal_info hal_info; +static struct config_dbus_core_hook hook = { + .connect = connect_hook, + .disconnect = disconnect_hook, + .data = &hal_info, +}; + +int +config_hal_init(void) +{ + memset(&hal_info, 0, sizeof(hal_info)); + hal_info.system_bus = NULL; + hal_info.hal_ctx = NULL; + + if (!config_dbus_core_add_hook(&hook)) { + ErrorF("[config/hal] failed to add D-Bus hook\n"); + return 0; + } + + return 1; +} + +void +config_hal_fini(void) +{ + config_dbus_core_remove_hook(&hook); +} diff --git a/xserver/config/x11-input.fdi b/xserver/config/x11-input.fdi new file mode 100644 index 000000000..c390706fb --- /dev/null +++ b/xserver/config/x11-input.fdi @@ -0,0 +1,31 @@ + + + + + + mouse + + evdev + + + + + base + + + keyboard + pc105 + + evdev + evdev + + + us + + + + + diff --git a/xserver/config/xorg-server.conf b/xserver/config/xorg-server.conf new file mode 100644 index 000000000..47a9a7824 --- /dev/null +++ b/xserver/config/xorg-server.conf @@ -0,0 +1,13 @@ + + + + + + + + + + + diff --git a/xserver/cpprules.in b/xserver/cpprules.in index 667b13322..4901ea890 100644 --- a/xserver/cpprules.in +++ b/xserver/cpprules.in @@ -34,6 +34,7 @@ MANDEFS = \ -D__miscmansuffix__=$(MISC_MAN_SUFFIX) \ -D__drivermansuffix__=$(DRIVER_MAN_SUFFIX) \ -D__adminmansuffix__=$(ADMIN_MAN_SUFFIX) \ + -D__mandir__=$(mandir) \ -D__projectroot__=$(prefix) \ -D__xconfigfile__=$(__XCONFIGFILE__) -D__xconfigdir__=$(XCONFIGDIR) \ -D__xlogfile__=$(XLOGFILE) -D__xservername__=$(XSERVERNAME) diff --git a/xserver/damageext/damageext.c b/xserver/damageext/damageext.c index b2274453c..e1724ecc7 100644 --- a/xserver/damageext/damageext.c +++ b/xserver/damageext/damageext.c @@ -1,6 +1,4 @@ /* - * $Id: damageext.c,v 1.1.1.1 2006/11/26 18:14:42 matthieu Exp $ - * * Copyright © 2002 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its @@ -28,12 +26,19 @@ #include "damageextint.h" -unsigned char DamageReqCode; -int DamageEventBase; -int DamageErrorBase; -int DamageClientPrivateIndex; -RESTYPE DamageExtType; -RESTYPE DamageExtWinType; +static unsigned char DamageReqCode; +static int DamageEventBase; +static int DamageErrorBase; +static int DamageClientPrivateIndex; +static RESTYPE DamageExtType; +static RESTYPE DamageExtWinType; + +/* Version of the damage extension supported by the server, as opposed to the + * DAMAGE_* defines from damageproto for what version the proto header + * supports. + */ +#define SERVER_DAMAGE_MAJOR 1 +#define SERVER_DAMAGE_MINOR 1 #define prScreen screenInfo.screens[0] @@ -143,16 +148,16 @@ ProcDamageQueryVersion(ClientPtr client) rep.type = X_Reply; rep.length = 0; rep.sequenceNumber = client->sequence; - if (stuff->majorVersion < DAMAGE_MAJOR) { + if (stuff->majorVersion < SERVER_DAMAGE_MAJOR) { rep.majorVersion = stuff->majorVersion; rep.minorVersion = stuff->minorVersion; } else { - rep.majorVersion = DAMAGE_MAJOR; - if (stuff->majorVersion == DAMAGE_MAJOR && - stuff->minorVersion < DAMAGE_MINOR) + rep.majorVersion = SERVER_DAMAGE_MAJOR; + if (stuff->majorVersion == SERVER_DAMAGE_MAJOR && + stuff->minorVersion < SERVER_DAMAGE_MINOR) rep.minorVersion = stuff->minorVersion; else - rep.minorVersion = DAMAGE_MINOR; + rep.minorVersion = SERVER_DAMAGE_MINOR; } pDamageClient->major_version = rep.majorVersion; pDamageClient->minor_version = rep.minorVersion; @@ -173,13 +178,17 @@ ProcDamageCreate (ClientPtr client) DamageExtPtr pDamageExt; DamageReportLevel level; RegionPtr pRegion; + int rc; REQUEST(xDamageCreateReq); REQUEST_SIZE_MATCH(xDamageCreateReq); LEGAL_NEW_RESOURCE(stuff->damage, client); - SECURITY_VERIFY_DRAWABLE (pDrawable, stuff->drawable, client, - SecurityReadAccess); + rc = dixLookupDrawable(&pDrawable, stuff->drawable, client, 0, + DixReadAccess); + if (rc != Success) + return rc; + switch (stuff->level) { case XDamageReportRawRectangles: level = DamageReportRawRegion; @@ -237,7 +246,7 @@ ProcDamageDestroy (ClientPtr client) DamageExtPtr pDamageExt; REQUEST_SIZE_MATCH(xDamageDestroyReq); - VERIFY_DAMAGEEXT(pDamageExt, stuff->damage, client, SecurityWriteAccess); + VERIFY_DAMAGEEXT(pDamageExt, stuff->damage, client, DixWriteAccess); FreeResource (stuff->damage, RT_NONE); return (client->noClientException); } @@ -251,9 +260,9 @@ ProcDamageSubtract (ClientPtr client) RegionPtr pParts; REQUEST_SIZE_MATCH(xDamageSubtractReq); - VERIFY_DAMAGEEXT(pDamageExt, stuff->damage, client, SecurityWriteAccess); - VERIFY_REGION_OR_NONE(pRepair, stuff->repair, client, SecurityWriteAccess); - VERIFY_REGION_OR_NONE(pParts, stuff->parts, client, SecurityWriteAccess); + VERIFY_DAMAGEEXT(pDamageExt, stuff->damage, client, DixWriteAccess); + VERIFY_REGION_OR_NONE(pRepair, stuff->repair, client, DixWriteAccess); + VERIFY_REGION_OR_NONE(pParts, stuff->parts, client, DixWriteAccess); if (pDamageExt->level != DamageReportRawRegion) { @@ -275,20 +284,47 @@ ProcDamageSubtract (ClientPtr client) return (client->noClientException); } +static int +ProcDamageAdd (ClientPtr client) +{ + REQUEST(xDamageAddReq); + DrawablePtr pDrawable; + RegionPtr pRegion; + int rc; + + REQUEST_SIZE_MATCH(xDamageAddReq); + VERIFY_REGION(pRegion, stuff->region, client, DixWriteAccess); + rc = dixLookupDrawable(&pDrawable, stuff->drawable, client, 0, + DixReadAccess); + if (rc != Success) + return rc; + + /* The region is relative to the drawable origin, so translate it out to + * screen coordinates like damage expects. + */ + REGION_TRANSLATE(pScreen, pRegion, pDrawable->x, pDrawable->y); + DamageDamageRegion(pDrawable, pRegion); + REGION_TRANSLATE(pScreen, pRegion, -pDrawable->x, -pDrawable->y); + + return (client->noClientException); +} + /* Major version controls available requests */ static const int version_requests[] = { X_DamageQueryVersion, /* before client sends QueryVersion */ - X_DamageSubtract, /* Version 1 */ + X_DamageAdd, /* Version 1 */ }; #define NUM_VERSION_REQUESTS (sizeof (version_requests) / sizeof (version_requests[0])) -int (*ProcDamageVector[XDamageNumberRequests])(ClientPtr) = { +static int (*ProcDamageVector[XDamageNumberRequests])(ClientPtr) = { /*************** Version 1 ******************/ ProcDamageQueryVersion, ProcDamageCreate, ProcDamageDestroy, ProcDamageSubtract, +/*************** Version 1.1 ****************/ + ProcDamageAdd, }; @@ -357,12 +393,27 @@ SProcDamageSubtract (ClientPtr client) return (*ProcDamageVector[stuff->damageReqType]) (client); } -int (*SProcDamageVector[XDamageNumberRequests])(ClientPtr) = { +static int +SProcDamageAdd (ClientPtr client) +{ + register int n; + REQUEST(xDamageAddReq); + + swaps (&stuff->length, n); + REQUEST_SIZE_MATCH(xDamageSubtractReq); + swapl (&stuff->drawable, n); + swapl (&stuff->region, n); + return (*ProcDamageVector[stuff->damageReqType]) (client); +} + +static int (*SProcDamageVector[XDamageNumberRequests])(ClientPtr) = { /*************** Version 1 ******************/ SProcDamageQueryVersion, SProcDamageCreate, SProcDamageDestroy, SProcDamageSubtract, +/*************** Version 1.1 ****************/ + SProcDamageAdd, }; static int @@ -425,7 +476,7 @@ FreeDamageExtWin (pointer value, XID wid) return Success; } -void +static void SDamageNotifyEvent (xDamageNotifyEvent *from, xDamageNotifyEvent *to) { diff --git a/xserver/damageext/damageext.h b/xserver/damageext/damageext.h index 16b2a5da9..642800bd2 100644 --- a/xserver/damageext/damageext.h +++ b/xserver/damageext/damageext.h @@ -1,6 +1,4 @@ /* - * $Id: damageext.h,v 1.1.1.1 2006/11/26 18:14:42 matthieu Exp $ - * * Copyright © 2002 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its diff --git a/xserver/damageext/damageextint.h b/xserver/damageext/damageextint.h index af3fc87ab..dfafc9319 100644 --- a/xserver/damageext/damageextint.h +++ b/xserver/damageext/damageextint.h @@ -1,6 +1,4 @@ /* - * $Id: damageextint.h,v 1.1.1.1 2006/11/26 18:14:41 matthieu Exp $ - * * Copyright © 2002 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its @@ -44,13 +42,6 @@ #include "damage.h" #include "xfixes.h" -extern unsigned char DamageReqCode; -extern int DamageEventBase; -extern int DamageErrorBase; -extern int DamageClientPrivateIndex; -extern RESTYPE DamageExtType; -extern RESTYPE DamageExtWinType; - typedef struct _DamageClient { CARD32 major_version; CARD32 minor_version; @@ -67,9 +58,6 @@ typedef struct _DamageExt { XID id; } DamageExtRec, *DamageExtPtr; -extern int (*ProcDamageVector[/*XDamageNumberRequests*/])(ClientPtr); -extern int (*SProcDamageVector[/*XDamageNumberRequests*/])(ClientPtr); - #define VERIFY_DAMAGEEXT(pDamageExt, rid, client, mode) { \ pDamageExt = SecurityLookupIDByType (client, rid, DamageExtType, mode); \ if (!pDamageExt) { \ @@ -78,10 +66,6 @@ extern int (*SProcDamageVector[/*XDamageNumberRequests*/])(ClientPtr); } \ } -void -SDamageNotifyEvent (xDamageNotifyEvent *from, - xDamageNotifyEvent *to); - void DamageExtSetCritical (ClientPtr pClient, Bool critical); diff --git a/xserver/dbe/dbestruct.h b/xserver/dbe/dbestruct.h index 460cc7564..90f13428a 100644 --- a/xserver/dbe/dbestruct.h +++ b/xserver/dbe/dbestruct.h @@ -29,7 +29,6 @@ * Header file for DIX-related DBE * *****************************************************************************/ -/* $XFree86$ */ #ifndef DBE_STRUCT_H #define DBE_STRUCT_H @@ -221,11 +220,6 @@ typedef struct _DbeScreenPrivRec void (*ResetProc)( ScreenPtr /*pScreen*/ ); - void (*ValidateBuffer)( - WindowPtr /*pWin*/, - XID /*bufId*/, - Bool /*dstbuffer*/ -); /* Device-specific private information. */ diff --git a/xserver/dbe/midbe.c b/xserver/dbe/midbe.c index e687b98b7..014e365ce 100644 --- a/xserver/dbe/midbe.c +++ b/xserver/dbe/midbe.c @@ -59,21 +59,12 @@ #include -/* DEFINES */ - - -/* TYPEDEFS */ - - -/* GLOBALS */ - static int miDbePrivPrivGeneration = 0; static int miDbeWindowPrivPrivIndex = -1; -RESTYPE dbeDrawableResType; -RESTYPE dbeWindowPrivResType; -int dbeScreenPrivIndex = -1; -int dbeWindowPrivIndex = -1; - +static RESTYPE dbeDrawableResType; +static RESTYPE dbeWindowPrivResType; +static int dbeScreenPrivIndex = -1; +static int dbeWindowPrivIndex = -1; /****************************************************************************** @@ -768,11 +759,6 @@ miDbeResetProc(ScreenPtr pScreen) } /* miDbeResetProc() */ -static void -miDbeNopValidateBuffer(WindowPtr pWin, XID bufId, Bool dstbuffer) -{ -} - /****************************************************************************** * @@ -830,9 +816,6 @@ miDbeInit(ScreenPtr pScreen, DbeScreenPrivPtr pDbeScreenPriv) pDbeScreenPriv->ResetProc = miDbeResetProc; pDbeScreenPriv->WinPrivDelete = miDbeWinPrivDelete; - /* The mi implementation doesn't need buffer validation. */ - pDbeScreenPriv->ValidateBuffer = miDbeNopValidateBuffer; - return(TRUE); } /* miDbeInit() */ diff --git a/xserver/dbe/midbe.h b/xserver/dbe/midbe.h index 1780c3fc3..007f2e37b 100644 --- a/xserver/dbe/midbe.h +++ b/xserver/dbe/midbe.h @@ -1,5 +1,4 @@ /****************************************************************************** - * * Copyright (c) 1994, 1995 Hewlett-Packard Company * * Permission is hereby granted, free of charge, to any person obtaining @@ -29,8 +28,6 @@ * Header file for users of machine-independent DBE code * *****************************************************************************/ -/* $XFree86$ */ - #ifdef HAVE_DIX_CONFIG_H #include diff --git a/xserver/depcomp b/xserver/depcomp index 04701da53..ca5ea4e1e 100644 --- a/xserver/depcomp +++ b/xserver/depcomp @@ -1,9 +1,10 @@ #! /bin/sh # depcomp - compile a program generating dependencies as side-effects -scriptversion=2005-07-09.11 +scriptversion=2006-10-15.18 -# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc. +# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006 Free Software +# Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -91,7 +92,20 @@ gcc3) ## gcc 3 implements dependency tracking that does exactly what ## we want. Yay! Note: for some reason libtool 1.4 doesn't like ## it if -MD -MP comes after the -MF stuff. Hmm. - "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" +## Unfortunately, FreeBSD c89 acceptance of flags depends upon +## the command line argument order; so add the flags where they +## appear in depend2.am. Note that the slowdown incurred here +## affects only configure: in makefiles, %FASTDEP% shortcuts this. + for arg + do + case $arg in + -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;; + *) set fnord "$@" "$arg" ;; + esac + shift # fnord + shift # $arg + done + "$@" stat=$? if test $stat -eq 0; then : else @@ -276,6 +290,46 @@ icc) rm -f "$tmpdepfile" ;; +hp2) + # The "hp" stanza above does not work with aCC (C++) and HP's ia64 + # compilers, which have integrated preprocessors. The correct option + # to use with these is +Maked; it writes dependencies to a file named + # 'foo.d', which lands next to the object file, wherever that + # happens to be. + # Much of this is similar to the tru64 case; see comments there. + dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` + test "x$dir" = "x$object" && dir= + base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` + if test "$libtool" = yes; then + tmpdepfile1=$dir$base.d + tmpdepfile2=$dir.libs/$base.d + "$@" -Wc,+Maked + else + tmpdepfile1=$dir$base.d + tmpdepfile2=$dir$base.d + "$@" +Maked + fi + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile1" "$tmpdepfile2" + exit $stat + fi + + for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" + do + test -f "$tmpdepfile" && break + done + if test -f "$tmpdepfile"; then + sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile" + # Add `dependent.h:' lines. + sed -ne '2,${; s/^ *//; s/ \\*$//; s/$/:/; p;}' "$tmpdepfile" >> "$depfile" + else + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" "$tmpdepfile2" + ;; + tru64) # The Tru64 compiler uses -MD to generate dependencies as a side # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. @@ -288,13 +342,13 @@ tru64) if test "$libtool" = yes; then # With Tru64 cc, shared objects can also be used to make a - # static library. This mecanism is used in libtool 1.4 series to + # static library. This mechanism is used in libtool 1.4 series to # handle both shared and static libraries in a single compilation. # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d. # # With libtool 1.5 this exception was removed, and libtool now # generates 2 separate objects for the 2 libraries. These two - # compilations output dependencies in in $dir.libs/$base.o.d and + # compilations output dependencies in $dir.libs/$base.o.d and # in $dir$base.o.d. We have to check for both files, because # one of the two compilations can be disabled. We should prefer # $dir$base.o.d over $dir.libs/$base.o.d because the latter is diff --git a/xserver/dix/Makefile.am b/xserver/dix/Makefile.am index d26d9ea7a..28c2d8b6e 100644 --- a/xserver/dix/Makefile.am +++ b/xserver/dix/Makefile.am @@ -1,7 +1,7 @@ noinst_LTLIBRARIES = libdix.la libxpstubs.la AM_CFLAGS = $(DIX_CFLAGS) \ - -DVENDOR_STRING=\""@VENDOR_STRING@"\" \ + -DVENDOR_NAME=\""@VENDOR_NAME@"\" \ -DVENDOR_RELEASE="@VENDOR_RELEASE@" libdix_la_SOURCES = \ @@ -17,6 +17,7 @@ libdix_la_SOURCES = \ extension.c \ ffs.c \ gc.c \ + getevents.c \ globals.c \ glyphcurs.c \ grabs.c \ @@ -37,4 +38,27 @@ libxpstubs_la_SOURCES = \ INCLUDES = -I$(top_srcdir)/Xprint -EXTRA_DIST = buildatoms BuiltInAtoms CHANGES +EXTRA_DIST = buildatoms BuiltInAtoms CHANGES Xserver.d Xserver-dtrace.h.in + +if XSERVER_DTRACE +# Generate dtrace header file for C sources to include +BUILT_SOURCES = Xserver-dtrace.h + +Xserver-dtrace.h: $(srcdir)/Xserver.d + $(DTRACE) -C -h -o $@ -s $(srcdir)/Xserver.d \ + || cp Xserver-dtrace.h.in $@ + +# Generate dtrace object code for probes in libdix +dtrace-dix.o: $(top_srcdir)/dix/Xserver.d $(am_libdix_la_OBJECTS) + $(DTRACE) -G -C -o $@ -s $(top_srcdir)/dix/Xserver.d .libs/*.o + +noinst_PROGRAMS = dix.O + +dix.O: dtrace-dix.o $(am_libdix_la_OBJECTS) + ld -r -o $@ .libs/*.o +endif + +dix.c: + touch $@ + +CLEANFILES = dix.c diff --git a/xserver/dix/Xserver-dtrace.h.in b/xserver/dix/Xserver-dtrace.h.in new file mode 100644 index 000000000..26a8b4099 --- /dev/null +++ b/xserver/dix/Xserver-dtrace.h.in @@ -0,0 +1,100 @@ +/* Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, and/or sell copies of the Software, and to permit persons + * to whom the Software is furnished to do so, provided that the above + * copyright notice(s) and this permission notice appear in all copies of + * the Software and that both the above copyright notice(s) and this + * permission notice appear in supporting documentation. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT + * OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + * HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL + * INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING + * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, + * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION + * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * Except as contained in this notice, the name of a copyright holder + * shall not be used in advertising or otherwise to promote the sale, use + * or other dealings in this Software without prior written authorization + * of the copyright holder. + */ + +/* + * Generated by dtrace(1M), and then modified for backwards compatibility + * with older versions of dtrace. Used if dtrace -h fails. + * (Since _ENABLED support was added after dtrace -h, this assumes if + * dtrace -h fails, _ENABLED will too.) + */ + +#ifndef _XSERVER_DTRACE_H +#define _XSERVER_DTRACE_H + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#if _DTRACE_VERSION + +#define XSERVER_CLIENT_AUTH(arg0, arg1, arg2, arg3) \ + __dtrace_Xserver___client__auth(arg0, arg1, arg2, arg3) +#define XSERVER_CLIENT_CONNECT(arg0, arg1) \ + __dtrace_Xserver___client__connect(arg0, arg1) +#define XSERVER_CLIENT_DISCONNECT(arg0) \ + __dtrace_Xserver___client__disconnect(arg0) +#define XSERVER_REQUEST_DONE(arg0, arg1, arg2, arg3, arg4) \ + __dtrace_Xserver___request__done(arg0, arg1, arg2, arg3, arg4) +#define XSERVER_REQUEST_START(arg0, arg1, arg2, arg3, arg4) \ + __dtrace_Xserver___request__start(arg0, arg1, arg2, arg3, arg4) +#define XSERVER_RESOURCE_ALLOC(arg0, arg1, arg2, arg3) \ + __dtrace_Xserver___resource__alloc(arg0, arg1, arg2, arg3) +#define XSERVER_RESOURCE_FREE(arg0, arg1, arg2, arg3) \ + __dtrace_Xserver___resource__free(arg0, arg1, arg2, arg3) +#define XSERVER_SEND_EVENT(arg0, arg1, arg2) \ + __dtrace_Xserver___send__event(arg0, arg1, arg2) + + +extern void __dtrace_Xserver___client__auth(int, string, pid_t, zoneid_t); +extern void __dtrace_Xserver___client__connect(int, int); +extern void __dtrace_Xserver___client__disconnect(int); +extern void __dtrace_Xserver___request__done(string, uint8_t, uint32_t, int, int); +extern void __dtrace_Xserver___request__start(string, uint8_t, uint16_t, int, void *); +extern void __dtrace_Xserver___resource__alloc(uint32_t, uint32_t, void *, string); +extern void __dtrace_Xserver___resource__free(uint32_t, uint32_t, void *, string); +extern void __dtrace_Xserver___send__event(int, uint8_t, void *); + +#else + +#define XSERVER_CLIENT_AUTH(arg0, arg1, arg2, arg3) +#define XSERVER_CLIENT_CONNECT(arg0, arg1) +#define XSERVER_CLIENT_DISCONNECT(arg0) +#define XSERVER_REQUEST_DONE(arg0, arg1, arg2, arg3, arg4) +#define XSERVER_REQUEST_START(arg0, arg1, arg2, arg3, arg4) +#define XSERVER_RESOURCE_ALLOC(arg0, arg1, arg2, arg3) +#define XSERVER_RESOURCE_FREE(arg0, arg1, arg2, arg3) +#define XSERVER_SEND_EVENT(arg0, arg1, arg2) + +#endif + +#define XSERVER_CLIENT_AUTH_ENABLED() (1) +#define XSERVER_CLIENT_CONNECT_ENABLED() (1) +#define XSERVER_CLIENT_DISCONNECT_ENABLED() (1) +#define XSERVER_REQUEST_DONE_ENABLED() (1) +#define XSERVER_REQUEST_START_ENABLED() (1) +#define XSERVER_RESOURCE_ALLOC_ENABLED() (1) +#define XSERVER_RESOURCE_FREE_ENABLED() (1) +#define XSERVER_SEND_EVENT_ENABLED() (1) + +#ifdef __cplusplus +} +#endif + +#endif /* _XSERVER_DTRACE_H */ diff --git a/xserver/dix/Xserver.d b/xserver/dix/Xserver.d new file mode 100644 index 000000000..e4c9b8320 --- /dev/null +++ b/xserver/dix/Xserver.d @@ -0,0 +1,59 @@ +/* Copyright 2005-2006 Sun Microsystems, Inc. All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, and/or sell copies of the Software, and to permit persons + * to whom the Software is furnished to do so, provided that the above + * copyright notice(s) and this permission notice appear in all copies of + * the Software and that both the above copyright notice(s) and this + * permission notice appear in supporting documentation. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT + * OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + * HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL + * INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING + * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, + * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION + * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * Except as contained in this notice, the name of a copyright holder + * shall not be used in advertising or otherwise to promote the sale, use + * or other dealings in this Software without prior written authorization + * of the copyright holder. + */ + +/* + * Xserver dtrace provider definition + */ + +#include + +provider Xserver { + /* reqType, data, length, client id, request buffer */ + probe request__start(string, uint8_t, uint16_t, int, void *); + /* reqType, data, sequence, client id, result */ + probe request__done(string, uint8_t, uint32_t, int, int); + /* client id, client fd */ + probe client__connect(int, int); + /* client id, client address, client pid, client zone id */ + probe client__auth(int, string, pid_t, zoneid_t); + /* client id */ + probe client__disconnect(int); + /* resource id, resource type, value, resource type name */ + probe resource__alloc(uint32_t, uint32_t, void *, string); + /* resource id, resource type, value, resource type name */ + probe resource__free(uint32_t, uint32_t, void *, string); + /* client id, event type, event* */ + probe send__event(int, uint8_t, void *); +}; + +#pragma D attributes Unstable/Unstable/Common provider Xserver provider +#pragma D attributes Private/Private/Unknown provider Xserver module +#pragma D attributes Private/Private/Unknown provider Xserver function +#pragma D attributes Unstable/Unstable/Common provider Xserver name +#pragma D attributes Unstable/Unstable/Common provider Xserver args + diff --git a/xserver/dix/atom.c b/xserver/dix/atom.c index d9d74f1da..6ae3e31df 100644 --- a/xserver/dix/atom.c +++ b/xserver/dix/atom.c @@ -77,10 +77,10 @@ void FreeAtom(NodePtr patom); _X_EXPORT Atom MakeAtom(char *string, unsigned len, Bool makeit) { - register NodePtr * np; + NodePtr * np; unsigned i; - int comp; - register unsigned int fp = 0; + int comp; + unsigned int fp = 0; np = &atomRoot; for (i = 0; i < (len+1)/2; i++) @@ -107,7 +107,7 @@ MakeAtom(char *string, unsigned len, Bool makeit) } if (makeit) { - register NodePtr nd; + NodePtr nd; nd = (NodePtr) xalloc(sizeof(NodeRec)); if (!nd) @@ -167,7 +167,7 @@ NameForAtom(Atom atom) } void -AtomError() +AtomError(void) { FatalError("initializing atoms"); } @@ -185,7 +185,7 @@ FreeAtom(NodePtr patom) } void -FreeAllAtoms() +FreeAllAtoms(void) { if(atomRoot == (NodePtr)NULL) return; @@ -197,7 +197,7 @@ FreeAllAtoms() } void -InitAtoms() +InitAtoms(void) { FreeAllAtoms(); tableLength = InitialTableSize; diff --git a/xserver/dix/colormap.c b/xserver/dix/colormap.c index b8f2f4af6..73b666971 100644 --- a/xserver/dix/colormap.c +++ b/xserver/dix/colormap.c @@ -95,8 +95,8 @@ static int BlueComp( ); static void FreePixels( - register ColormapPtr /*pmap*/, - register int /*client*/ + ColormapPtr /*pmap*/, + int /*client*/ ); static void CopyFree( @@ -259,9 +259,9 @@ CreateColormap (Colormap mid, ScreenPtr pScreen, VisualPtr pVisual, int class, size; unsigned long sizebytes; ColormapPtr pmap; - register EntryPtr pent; + EntryPtr pent; int i; - register Pixel *ppix, **pptr; + Pixel *ppix, **pptr; class = pVisual->class; if(!(class & DynamicClass) && (alloc != AllocNone) && (client != SERVER_ID)) @@ -428,8 +428,8 @@ CreateColormap (Colormap mid, ScreenPtr pScreen, VisualPtr pVisual, int FreeColormap (pointer value, XID mid) { - int i; - register EntryPtr pent; + int i; + EntryPtr pent; ColormapPtr pmap = (ColormapPtr)value; if(CLIENT_ID(mid) != SERVER_ID) @@ -744,9 +744,9 @@ static void UpdateColors (ColormapPtr pmap) { xColorItem *defs; - register xColorItem *pdef; - register EntryPtr pent; - register VisualPtr pVisual; + xColorItem *pdef; + EntryPtr pent; + VisualPtr pVisual; int i, n, size; pVisual = pmap->pVisual; @@ -903,7 +903,7 @@ AllocColor (ColormapPtr pmap, { ColormapPtr prootmap = (ColormapPtr) SecurityLookupIDByType (clients[client], pmap->pScreen->defColormap, - RT_COLORMAP, SecurityReadAccess); + RT_COLORMAP, DixReadAccess); if (pmap->class == prootmap->class) FindColorInRootCmap (prootmap, prootmap->red, entries, &rgb, @@ -920,7 +920,7 @@ AllocColor (ColormapPtr pmap, { ColormapPtr prootmap = (ColormapPtr) SecurityLookupIDByType (clients[client], pmap->pScreen->defColormap, - RT_COLORMAP, SecurityReadAccess); + RT_COLORMAP, DixReadAccess); if (pmap->class == prootmap->class) { @@ -993,14 +993,14 @@ AllocColor (ColormapPtr pmap, */ _X_EXPORT void -FakeAllocColor (register ColormapPtr pmap, register xColorItem *item) +FakeAllocColor (ColormapPtr pmap, xColorItem *item) { - Pixel pixR, pixG, pixB; - Pixel temp; - int entries; - xrgb rgb; - int class; - register VisualPtr pVisual; + Pixel pixR, pixG, pixB; + Pixel temp; + int entries; + xrgb rgb; + int class; + VisualPtr pVisual; pVisual = pmap->pVisual; rgb.red = item->red; @@ -1059,9 +1059,9 @@ FakeAllocColor (register ColormapPtr pmap, register xColorItem *item) /* free a pixel value obtained from FakeAllocColor */ _X_EXPORT void -FakeFreeColor(register ColormapPtr pmap, Pixel pixel) +FakeFreeColor(ColormapPtr pmap, Pixel pixel) { - register VisualPtr pVisual; + VisualPtr pVisual; Pixel pixR, pixG, pixB; switch (pmap->class) { @@ -1507,11 +1507,11 @@ QueryColors (ColormapPtr pmap, int count, Pixel *ppixIn, xrgb *prgbList) } static void -FreePixels(register ColormapPtr pmap, register int client) +FreePixels(ColormapPtr pmap, int client) { - register Pixel *ppix, *ppixStart; - register int n; - int class; + Pixel *ppix, *ppixStart; + int n; + int class; class = pmap->class; ppixStart = pmap->clientPixelsRed[client]; @@ -1646,8 +1646,8 @@ AllocColorPlanes (int client, ColormapPtr pmap, int colors, { int ok; Pixel mask, *ppixFirst; - register Pixel shift; - register int i; + Pixel shift; + int i; int class; int oldcount; colorResource *pcr = (colorResource *)NULL; @@ -2409,10 +2409,10 @@ FreeCo (ColormapPtr pmap, int client, int color, int npixIn, Pixel *ppixIn, Pixe _X_EXPORT int StoreColors (ColormapPtr pmap, int count, xColorItem *defs) { - register Pixel pix; - register xColorItem *pdef; - register EntryPtr pent, pentT, pentLast; - register VisualPtr pVisual; + Pixel pix; + xColorItem *pdef; + EntryPtr pent, pentT, pentLast; + VisualPtr pVisual; SHAREDCOLOR *pred, *pgreen, *pblue; int n, ChgRed, ChgGreen, ChgBlue, idef; int class, errVal = Success; diff --git a/xserver/dix/cursor.c b/xserver/dix/cursor.c index b9ede1f76..d903124c4 100644 --- a/xserver/dix/cursor.c +++ b/xserver/dix/cursor.c @@ -86,7 +86,7 @@ FreeCursorBits(CursorBitsPtr bits) #endif if (bits->refcnt == 0) { - register GlyphSharePtr *prev, this; + GlyphSharePtr *prev, this; for (prev = &sharedGlyphs; (this = *prev) && (this->bits != bits); @@ -135,7 +135,7 @@ FreeCursor(pointer value, XID cid) static void CheckForEmptyMask(CursorBitsPtr bits) { - register unsigned char *msk = bits->mask; + unsigned char *msk = bits->mask; int n = BitmapBytePad(bits->width) * bits->height; bits->emptyMask = FALSE; @@ -262,9 +262,9 @@ AllocGlyphCursor(Font source, unsigned sourceChar, Font mask, unsigned maskChar, GlyphSharePtr pShare; sourcefont = (FontPtr) SecurityLookupIDByType(client, source, RT_FONT, - SecurityReadAccess); + DixReadAccess); maskfont = (FontPtr) SecurityLookupIDByType(client, mask, RT_FONT, - SecurityReadAccess); + DixReadAccess); if (!sourcefont) { @@ -305,8 +305,8 @@ AllocGlyphCursor(Font source, unsigned sourceChar, Font mask, unsigned maskChar, } if (!maskfont) { - register long n; - register unsigned char *mskptr; + long n; + unsigned char *mskptr; n = BitmapBytePad(cm.width)*(long)cm.height; mskptr = mskbits = (unsigned char *)xalloc(n); @@ -430,25 +430,41 @@ AllocGlyphCursor(Font source, unsigned sourceChar, Font mask, unsigned maskChar, *************************************************************/ CursorPtr -CreateRootCursor(char *pfilename, unsigned glyph) +CreateRootCursor(char *unused1, unsigned int unused2) { CursorPtr curs; +#ifdef NULL_ROOT_CURSOR + CursorMetricRec cm; +#else FontPtr cursorfont; int err; XID fontID; +#endif +#ifdef NULL_ROOT_CURSOR + cm.width = 0; + cm.height = 0; + cm.xhot = 0; + cm.yhot = 0; + + curs = AllocCursor(NULL, NULL, &cm, 0, 0, 0, 0, 0, 0); + + if (curs == NullCursor) + return NullCursor; +#else fontID = FakeClientID(0); err = OpenFont(serverClient, fontID, FontLoadAll | FontOpenSync, - (unsigned)strlen( pfilename), pfilename); + (unsigned)strlen(defaultCursorFont), defaultCursorFont); if (err != Success) return NullCursor; cursorfont = (FontPtr)LookupIDByType(fontID, RT_FONT); if (!cursorfont) return NullCursor; - if (AllocGlyphCursor(fontID, glyph, fontID, glyph + 1, + if (AllocGlyphCursor(fontID, 0, fontID, 1, 0, 0, 0, ~0, ~0, ~0, &curs, serverClient) != Success) return NullCursor; +#endif if (!AddResource(FakeClientID(0), RT_CURSOR, (pointer)curs)) return NullCursor; diff --git a/xserver/dix/dispatch.c b/xserver/dix/dispatch.c index 05795407f..c313796ab 100644 --- a/xserver/dix/dispatch.c +++ b/xserver/dix/dispatch.c @@ -74,6 +74,36 @@ Equipment Corporation. ******************************************************************/ +/* XSERVER_DTRACE additions: + * Copyright 2005-2006 Sun Microsystems, Inc. All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, and/or sell copies of the Software, and to permit persons + * to whom the Software is furnished to do so, provided that the above + * copyright notice(s) and this permission notice appear in all copies of + * the Software and that both the above copyright notice(s) and this + * permission notice appear in supporting documentation. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT + * OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + * HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL + * INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING + * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, + * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION + * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * Except as contained in this notice, the name of a copyright holder + * shall not be used in advertising or otherwise to promote the sale, use + * or other dealings in this Software without prior written authorization + * of the copyright holder. + */ + + #ifdef HAVE_DIX_CONFIG_H #include @@ -104,9 +134,7 @@ int ProcInitialConnection(); #include "panoramiX.h" #include "panoramiXsrv.h" #endif -#ifdef XACE #include "xace.h" -#endif #ifdef XAPPGROUP #include "appgroup.h" #endif @@ -115,7 +143,18 @@ int ProcInitialConnection(); #define XKB_IN_SERVER #endif #include "inputstr.h" -#include +#include +#endif + +#ifdef XSERVER_DTRACE +#include +typedef const char *string; +#include "Xserver-dtrace.h" + +char *RequestNames[256]; +static void LoadRequestNames(void); +static void FreeRequestNames(void); +#define GetRequestName(i) (RequestNames[i]) #endif #define mskcnt ((MAXCLIENTS + 31) / 32) @@ -179,7 +218,7 @@ SetInputCheck(HWEventQueuePtr c0, HWEventQueuePtr c1) } _X_EXPORT void -UpdateCurrentTime() +UpdateCurrentTime(void) { TimeStamp systime; @@ -198,7 +237,7 @@ UpdateCurrentTime() /* Like UpdateCurrentTime, but can't call ProcessInputEvents */ _X_EXPORT void -UpdateCurrentTimeIf() +UpdateCurrentTimeIf(void) { TimeStamp systime; @@ -211,7 +250,7 @@ UpdateCurrentTimeIf() } void -InitSelections() +InitSelections(void) { if (CurrentSelections) xfree(CurrentSelections); @@ -223,7 +262,7 @@ void FlushClientCaches(XID id) { int i; - register ClientPtr client; + ClientPtr client; client = clients[CLIENT_ID(id)]; if (client == NullClient) @@ -258,9 +297,8 @@ long SmartScheduleSlice = SMART_SCHEDULE_DEFAULT_INTERVAL; long SmartScheduleInterval = SMART_SCHEDULE_DEFAULT_INTERVAL; long SmartScheduleMaxSlice = SMART_SCHEDULE_MAX_SLICE; long SmartScheduleTime; -ClientPtr SmartLastClient; -int SmartLastIndex[SMART_MAX_PRIORITY-SMART_MIN_PRIORITY+1]; -int SmartScheduleClient(int *clientReady, int nready); +static ClientPtr SmartLastClient; +static int SmartLastIndex[SMART_MAX_PRIORITY-SMART_MIN_PRIORITY+1]; #ifdef SMART_DEBUG long SmartLastPrint; @@ -269,7 +307,7 @@ long SmartLastPrint; void Dispatch(void); void InitProcVectors(void); -int +static int SmartScheduleClient (int *clientReady, int nready) { ClientPtr pClient; @@ -355,11 +393,11 @@ SmartScheduleClient (int *clientReady, int nready) void Dispatch(void) { - register int *clientReady; /* array of request ready clients */ - register int result; - register ClientPtr client; - register int nready; - register HWEventQueuePtr* icheck = checkForInput; + int *clientReady; /* array of request ready clients */ + int result; + ClientPtr client; + int nready; + HWEventQueuePtr* icheck = checkForInput; #ifdef SMART_SCHEDULE long start_tick; #endif @@ -372,6 +410,10 @@ Dispatch(void) if (!clientReady) return; +#ifdef XSERVER_DTRACE + LoadRequestNames(); +#endif + while (!dispatchException) { if (*icheck[0] != *icheck[1]) @@ -447,20 +489,24 @@ Dispatch(void) client->requestLogIndex = 0; client->requestLog[client->requestLogIndex] = MAJOROP; client->requestLogIndex++; +#endif +#ifdef XSERVER_DTRACE + XSERVER_REQUEST_START(GetRequestName(MAJOROP), MAJOROP, + ((xReq *)client->requestBuffer)->length, + client->index, client->requestBuffer); #endif if (result > (maxBigRequestSize << 2)) result = BadLength; - else -#ifdef XACE - { + else { XaceHook(XACE_AUDIT_BEGIN, client); result = (* client->requestVector[MAJOROP])(client); XaceHook(XACE_AUDIT_END, client, result); } -#else - result = (* client->requestVector[MAJOROP])(client); -#endif /* XACE */ - +#ifdef XSERVER_DTRACE + XSERVER_REQUEST_DONE(GetRequestName(MAJOROP), MAJOROP, + client->sequence, client->index, result); +#endif + if (result != Success) { if (client->noClientException != Success) @@ -491,6 +537,9 @@ Dispatch(void) KillAllClients(); DEALLOCATE_LOCAL(clientReady); dispatchException &= ~DE_RESET; +#ifdef XSERVER_DTRACE + FreeRequestNames(); +#endif } #undef MAJOROP @@ -504,17 +553,16 @@ ProcBadRequest(ClientPtr client) int ProcCreateWindow(ClientPtr client) { - register WindowPtr pParent, pWin; + WindowPtr pParent, pWin; REQUEST(xCreateWindowReq); - int result; - int len; + int result, len, rc; REQUEST_AT_LEAST_SIZE(xCreateWindowReq); LEGAL_NEW_RESOURCE(stuff->wid, client); - if (!(pParent = (WindowPtr)SecurityLookupWindow(stuff->parent, client, - SecurityWriteAccess))) - return BadWindow; + rc = dixLookupWindow(&pParent, stuff->parent, client, DixWriteAccess); + if (rc != Success) + return rc; len = client->req_len - (sizeof(xCreateWindowReq) >> 2); if (Ones(stuff->mask) != len) return BadLength; @@ -545,18 +593,17 @@ ProcCreateWindow(ClientPtr client) } int -ProcChangeWindowAttributes(register ClientPtr client) +ProcChangeWindowAttributes(ClientPtr client) { - register WindowPtr pWin; + WindowPtr pWin; REQUEST(xChangeWindowAttributesReq); - register int result; - int len; + int result; + int len, rc; REQUEST_AT_LEAST_SIZE(xChangeWindowAttributesReq); - pWin = (WindowPtr)SecurityLookupWindow(stuff->window, client, - SecurityWriteAccess); - if (!pWin) - return(BadWindow); + rc = dixLookupWindow(&pWin, stuff->window, client, DixWriteAccess); + if (rc != Success) + return rc; len = client->req_len - (sizeof(xChangeWindowAttributesReq) >> 2); if (len != Ones(stuff->valueMask)) return BadLength; @@ -571,65 +618,64 @@ ProcChangeWindowAttributes(register ClientPtr client) } int -ProcGetWindowAttributes(register ClientPtr client) +ProcGetWindowAttributes(ClientPtr client) { - register WindowPtr pWin; + WindowPtr pWin; REQUEST(xResourceReq); xGetWindowAttributesReply wa; + int rc; REQUEST_SIZE_MATCH(xResourceReq); - pWin = (WindowPtr)SecurityLookupWindow(stuff->id, client, - SecurityReadAccess); - if (!pWin) - return(BadWindow); + rc = dixLookupWindow(&pWin, stuff->id, client, DixReadAccess); + if (rc != Success) + return rc; GetWindowAttributes(pWin, client, &wa); WriteReplyToClient(client, sizeof(xGetWindowAttributesReply), &wa); return(client->noClientException); } int -ProcDestroyWindow(register ClientPtr client) +ProcDestroyWindow(ClientPtr client) { - register WindowPtr pWin; + WindowPtr pWin; REQUEST(xResourceReq); + int rc; REQUEST_SIZE_MATCH(xResourceReq); - pWin = (WindowPtr)SecurityLookupWindow(stuff->id, client, - SecurityDestroyAccess); - if (!pWin) - return(BadWindow); + rc = dixLookupWindow(&pWin, stuff->id, client, DixDestroyAccess); + if (rc != Success) + return rc; if (pWin->parent) FreeResource(stuff->id, RT_NONE); return(client->noClientException); } int -ProcDestroySubwindows(register ClientPtr client) +ProcDestroySubwindows(ClientPtr client) { - register WindowPtr pWin; + WindowPtr pWin; REQUEST(xResourceReq); + int rc; REQUEST_SIZE_MATCH(xResourceReq); - pWin = (WindowPtr)SecurityLookupWindow(stuff->id, client, - SecurityDestroyAccess); - if (!pWin) - return(BadWindow); + rc = dixLookupWindow(&pWin, stuff->id, client, DixDestroyAccess); + if (rc != Success) + return rc; DestroySubwindows(pWin, client); return(client->noClientException); } int -ProcChangeSaveSet(register ClientPtr client) +ProcChangeSaveSet(ClientPtr client) { - register WindowPtr pWin; + WindowPtr pWin; REQUEST(xChangeSaveSetReq); - register int result; + int result, rc; REQUEST_SIZE_MATCH(xChangeSaveSetReq); - pWin = (WindowPtr)SecurityLookupWindow(stuff->window, client, - SecurityReadAccess); - if (!pWin) - return(BadWindow); + rc = dixLookupWindow(&pWin, stuff->window, client, DixReadAccess); + if (rc != Success) + return rc; if (client->clientAsMask == (CLIENT_BITS(pWin->drawable.id))) return BadMatch; if ((stuff->mode == SetModeInsert) || (stuff->mode == SetModeDelete)) @@ -648,21 +694,19 @@ ProcChangeSaveSet(register ClientPtr client) } int -ProcReparentWindow(register ClientPtr client) +ProcReparentWindow(ClientPtr client) { - register WindowPtr pWin, pParent; + WindowPtr pWin, pParent; REQUEST(xReparentWindowReq); - register int result; + int result, rc; REQUEST_SIZE_MATCH(xReparentWindowReq); - pWin = (WindowPtr)SecurityLookupWindow(stuff->window, client, - SecurityWriteAccess); - if (!pWin) - return(BadWindow); - pParent = (WindowPtr)SecurityLookupWindow(stuff->parent, client, - SecurityWriteAccess); - if (!pParent) - return(BadWindow); + rc = dixLookupWindow(&pWin, stuff->window, client, DixWriteAccess); + if (rc != Success) + return rc; + rc = dixLookupWindow(&pParent, stuff->parent, client, DixWriteAccess); + if (rc != Success) + return rc; if (SAME_SCREENS(pWin->drawable, pParent->drawable)) { if ((pWin->backgroundState == ParentRelative) && @@ -683,81 +727,80 @@ ProcReparentWindow(register ClientPtr client) } int -ProcMapWindow(register ClientPtr client) +ProcMapWindow(ClientPtr client) { - register WindowPtr pWin; + WindowPtr pWin; REQUEST(xResourceReq); + int rc; REQUEST_SIZE_MATCH(xResourceReq); - pWin = (WindowPtr)SecurityLookupWindow(stuff->id, client, - SecurityReadAccess); - if (!pWin) - return(BadWindow); + rc = dixLookupWindow(&pWin, stuff->id, client, DixReadAccess); + if (rc != Success) + return rc; MapWindow(pWin, client); /* update cache to say it is mapped */ return(client->noClientException); } int -ProcMapSubwindows(register ClientPtr client) +ProcMapSubwindows(ClientPtr client) { - register WindowPtr pWin; + WindowPtr pWin; REQUEST(xResourceReq); + int rc; REQUEST_SIZE_MATCH(xResourceReq); - pWin = (WindowPtr)SecurityLookupWindow( stuff->id, client, - SecurityReadAccess); - if (!pWin) - return(BadWindow); + rc = dixLookupWindow(&pWin, stuff->id, client, DixReadAccess); + if (rc != Success) + return rc; MapSubwindows(pWin, client); /* update cache to say it is mapped */ return(client->noClientException); } int -ProcUnmapWindow(register ClientPtr client) +ProcUnmapWindow(ClientPtr client) { - register WindowPtr pWin; + WindowPtr pWin; REQUEST(xResourceReq); + int rc; REQUEST_SIZE_MATCH(xResourceReq); - pWin = (WindowPtr)SecurityLookupWindow( stuff->id, client, - SecurityReadAccess); - if (!pWin) - return(BadWindow); + rc = dixLookupWindow(&pWin, stuff->id, client, DixReadAccess); + if (rc != Success) + return rc; UnmapWindow(pWin, FALSE); /* update cache to say it is mapped */ return(client->noClientException); } int -ProcUnmapSubwindows(register ClientPtr client) +ProcUnmapSubwindows(ClientPtr client) { - register WindowPtr pWin; + WindowPtr pWin; REQUEST(xResourceReq); + int rc; REQUEST_SIZE_MATCH(xResourceReq); - pWin = (WindowPtr)SecurityLookupWindow( stuff->id, client, - SecurityReadAccess); - if (!pWin) - return(BadWindow); + rc = dixLookupWindow(&pWin, stuff->id, client, DixReadAccess); + if (rc != Success) + return rc; UnmapSubwindows(pWin); return(client->noClientException); } int -ProcConfigureWindow(register ClientPtr client) +ProcConfigureWindow(ClientPtr client) { - register WindowPtr pWin; + WindowPtr pWin; REQUEST(xConfigureWindowReq); - register int result; - int len; + int result; + int len, rc; REQUEST_AT_LEAST_SIZE(xConfigureWindowReq); - pWin = (WindowPtr)SecurityLookupWindow( stuff->window, client, - SecurityWriteAccess); - if (!pWin) - return(BadWindow); + rc = dixLookupWindow(&pWin, stuff->window, client, DixWriteAccess); + if (rc != Success) + return rc; len = client->req_len - (sizeof(xConfigureWindowReq) >> 2); if (Ones((Mask)stuff->mask) != len) return BadLength; @@ -770,10 +813,11 @@ ProcConfigureWindow(register ClientPtr client) } int -ProcCirculateWindow(register ClientPtr client) +ProcCirculateWindow(ClientPtr client) { - register WindowPtr pWin; + WindowPtr pWin; REQUEST(xCirculateWindowReq); + int rc; REQUEST_SIZE_MATCH(xCirculateWindowReq); if ((stuff->direction != RaiseLowest) && @@ -782,22 +826,25 @@ ProcCirculateWindow(register ClientPtr client) client->errorValue = stuff->direction; return BadValue; } - pWin = (WindowPtr)SecurityLookupWindow(stuff->window, client, - SecurityWriteAccess); - if (!pWin) - return(BadWindow); + rc = dixLookupWindow(&pWin, stuff->window, client, DixWriteAccess); + if (rc != Success) + return rc; CirculateWindow(pWin, (int)stuff->direction, client); return(client->noClientException); } -int -GetGeometry(register ClientPtr client, xGetGeometryReply *rep) +static int +GetGeometry(ClientPtr client, xGetGeometryReply *rep) { - register DrawablePtr pDraw; + DrawablePtr pDraw; + int rc; REQUEST(xResourceReq); - REQUEST_SIZE_MATCH(xResourceReq); - SECURITY_VERIFY_GEOMETRABLE (pDraw, stuff->id, client, SecurityReadAccess); + + rc = dixLookupDrawable(&pDraw, stuff->id, client, M_ANY, DixReadAccess); + if (rc != Success) + return rc; + rep->type = X_Reply; rep->length = 0; rep->sequenceNumber = client->sequence; @@ -817,7 +864,7 @@ GetGeometry(register ClientPtr client, xGetGeometryReply *rep) if ((pDraw->type == UNDRAWABLE_WINDOW) || ((pDraw->type == DRAWABLE_WINDOW) && (stuff->id == pDraw->id))) { - register WindowPtr pWin = (WindowPtr)pDraw; + WindowPtr pWin = (WindowPtr)pDraw; rep->x = pWin->origin.x - wBorderWidth (pWin); rep->y = pWin->origin.y - wBorderWidth (pWin); rep->borderWidth = pWin->borderWidth; @@ -832,7 +879,7 @@ GetGeometry(register ClientPtr client, xGetGeometryReply *rep) int -ProcGetGeometry(register ClientPtr client) +ProcGetGeometry(ClientPtr client) { xGetGeometryReply rep; int status; @@ -846,19 +893,18 @@ ProcGetGeometry(register ClientPtr client) int -ProcQueryTree(register ClientPtr client) +ProcQueryTree(ClientPtr client) { xQueryTreeReply reply; - int numChildren = 0; - register WindowPtr pChild, pWin, pHead; + int rc, numChildren = 0; + WindowPtr pChild, pWin, pHead; Window *childIDs = (Window *)NULL; REQUEST(xResourceReq); REQUEST_SIZE_MATCH(xResourceReq); - pWin = (WindowPtr)SecurityLookupWindow(stuff->id, client, - SecurityReadAccess); - if (!pWin) - return(BadWindow); + rc = dixLookupWindow(&pWin, stuff->id, client, DixReadAccess); + if (rc != Success) + return rc; reply.type = X_Reply; reply.root = WindowTable[pWin->drawable.pScreen->myNum]->drawable.id; reply.sequenceNumber = client->sequence; @@ -895,7 +941,7 @@ ProcQueryTree(register ClientPtr client) } int -ProcInternAtom(register ClientPtr client) +ProcInternAtom(ClientPtr client) { Atom atom; char *tchar; @@ -924,7 +970,7 @@ ProcInternAtom(register ClientPtr client) } int -ProcGetAtomName(register ClientPtr client) +ProcGetAtomName(ClientPtr client) { char *str; xGetAtomNameReply reply; @@ -950,12 +996,8 @@ ProcGetAtomName(register ClientPtr client) } } -#ifdef K5AUTH -extern int k5_bad(); -#endif - int -ProcSetSelectionOwner(register ClientPtr client) +ProcSetSelectionOwner(ClientPtr client) { WindowPtr pWin; TimeStamp time; @@ -971,10 +1013,9 @@ ProcSetSelectionOwner(register ClientPtr client) return Success; if (stuff->window != None) { - pWin = (WindowPtr)SecurityLookupWindow(stuff->window, client, - SecurityReadAccess); - if (!pWin) - return(BadWindow); + int rc = dixLookupWindow(&pWin, stuff->window, client, DixReadAccess); + if (rc != Success) + return rc; } else pWin = (WindowPtr)None; @@ -1051,7 +1092,7 @@ ProcSetSelectionOwner(register ClientPtr client) } int -ProcGetSelectionOwner(register ClientPtr client) +ProcGetSelectionOwner(ClientPtr client) { REQUEST(xResourceReq); @@ -1082,18 +1123,18 @@ ProcGetSelectionOwner(register ClientPtr client) } int -ProcConvertSelection(register ClientPtr client) +ProcConvertSelection(ClientPtr client) { Bool paramsOkay; xEvent event; WindowPtr pWin; REQUEST(xConvertSelectionReq); + int rc; REQUEST_SIZE_MATCH(xConvertSelectionReq); - pWin = (WindowPtr)SecurityLookupWindow(stuff->requestor, client, - SecurityReadAccess); - if (!pWin) - return(BadWindow); + rc = dixLookupWindow(&pWin, stuff->requestor, client, DixReadAccess); + if (rc != Success) + return rc; paramsOkay = (ValidAtom(stuff->selection) && ValidAtom(stuff->target)); if (stuff->property != None) @@ -1105,14 +1146,11 @@ ProcConvertSelection(register ClientPtr client) i = 0; while ((i < NumCurrentSelections) && CurrentSelections[i].selection != stuff->selection) i++; - if ((i < NumCurrentSelections) && - (CurrentSelections[i].window != None) -#ifdef XACE - && XaceHook(XACE_RESOURCE_ACCESS, client, - CurrentSelections[i].window, RT_WINDOW, - SecurityReadAccess, CurrentSelections[i].pWin) -#endif - ) + if ((i < NumCurrentSelections) && + (CurrentSelections[i].window != None) && + XaceHook(XACE_RESOURCE_ACCESS, client, + CurrentSelections[i].window, RT_WINDOW, + DixReadAccess, CurrentSelections[i].pWin)) { event.u.u.type = SelectionRequest; event.u.selectionRequest.time = stuff->time; @@ -1145,7 +1183,7 @@ ProcConvertSelection(register ClientPtr client) } int -ProcGrabServer(register ClientPtr client) +ProcGrabServer(ClientPtr client) { REQUEST_SIZE_MATCH(xReq); if (grabState != GrabNone && client != grabClient) @@ -1199,7 +1237,7 @@ UngrabServer(ClientPtr client) } int -ProcUngrabServer(register ClientPtr client) +ProcUngrabServer(ClientPtr client) { REQUEST_SIZE_MATCH(xReq); UngrabServer(client); @@ -1207,22 +1245,21 @@ ProcUngrabServer(register ClientPtr client) } int -ProcTranslateCoords(register ClientPtr client) +ProcTranslateCoords(ClientPtr client) { REQUEST(xTranslateCoordsReq); - register WindowPtr pWin, pDst; + WindowPtr pWin, pDst; xTranslateCoordsReply rep; + int rc; REQUEST_SIZE_MATCH(xTranslateCoordsReq); - pWin = (WindowPtr)SecurityLookupWindow(stuff->srcWid, client, - SecurityReadAccess); - if (!pWin) - return(BadWindow); - pDst = (WindowPtr)SecurityLookupWindow(stuff->dstWid, client, - SecurityReadAccess); - if (!pDst) - return(BadWindow); + rc = dixLookupWindow(&pWin, stuff->srcWid, client, DixReadAccess); + if (rc != Success) + return rc; + rc = dixLookupWindow(&pDst, stuff->dstWid, client, DixReadAccess); + if (rc != Success) + return rc; rep.type = X_Reply; rep.length = 0; rep.sequenceNumber = client->sequence; @@ -1285,7 +1322,7 @@ ProcTranslateCoords(register ClientPtr client) } int -ProcOpenFont(register ClientPtr client) +ProcOpenFont(ClientPtr client) { int err; REQUEST(xOpenFontReq); @@ -1304,14 +1341,14 @@ ProcOpenFont(register ClientPtr client) } int -ProcCloseFont(register ClientPtr client) +ProcCloseFont(ClientPtr client) { FontPtr pFont; REQUEST(xResourceReq); REQUEST_SIZE_MATCH(xResourceReq); pFont = (FontPtr)SecurityLookupIDByType(client, stuff->id, RT_FONT, - SecurityDestroyAccess); + DixDestroyAccess); if ( pFont != (FontPtr)NULL) /* id was valid */ { FreeResource(stuff->id, RT_NONE); @@ -1325,22 +1362,21 @@ ProcCloseFont(register ClientPtr client) } int -ProcQueryFont(register ClientPtr client) +ProcQueryFont(ClientPtr client) { xQueryFontReply *reply; FontPtr pFont; - register GC *pGC; + GC *pGC; REQUEST(xResourceReq); REQUEST_SIZE_MATCH(xResourceReq); client->errorValue = stuff->id; /* EITHER font or gc */ pFont = (FontPtr)SecurityLookupIDByType(client, stuff->id, RT_FONT, - SecurityReadAccess); + DixReadAccess); if (!pFont) { - /* can't use VERIFY_GC because it might return BadGC */ pGC = (GC *) SecurityLookupIDByType(client, stuff->id, RT_GC, - SecurityReadAccess); + DixReadAccess); if (!pGC) { client->errorValue = stuff->id; @@ -1384,7 +1420,7 @@ ProcQueryFont(register ClientPtr client) } int -ProcQueryTextExtents(register ClientPtr client) +ProcQueryTextExtents(ClientPtr client) { REQUEST(xQueryTextExtentsReq); xQueryTextExtentsReply reply; @@ -1396,11 +1432,11 @@ ProcQueryTextExtents(register ClientPtr client) REQUEST_AT_LEAST_SIZE(xQueryTextExtentsReq); pFont = (FontPtr)SecurityLookupIDByType(client, stuff->fid, RT_FONT, - SecurityReadAccess); + DixReadAccess); if (!pFont) { pGC = (GC *)SecurityLookupIDByType(client, stuff->fid, RT_GC, - SecurityReadAccess); + DixReadAccess); if (!pGC) { client->errorValue = stuff->fid; @@ -1434,7 +1470,7 @@ ProcQueryTextExtents(register ClientPtr client) } int -ProcListFonts(register ClientPtr client) +ProcListFonts(ClientPtr client) { REQUEST(xListFontsReq); @@ -1445,7 +1481,7 @@ ProcListFonts(register ClientPtr client) } int -ProcListFontsWithInfo(register ClientPtr client) +ProcListFontsWithInfo(ClientPtr client) { REQUEST(xListFontsWithInfoReq); @@ -1467,19 +1503,23 @@ dixDestroyPixmap(pointer value, XID pid) } int -ProcCreatePixmap(register ClientPtr client) +ProcCreatePixmap(ClientPtr client) { PixmapPtr pMap; - register DrawablePtr pDraw; + DrawablePtr pDraw; REQUEST(xCreatePixmapReq); DepthPtr pDepth; - register int i; + int i, rc; REQUEST_SIZE_MATCH(xCreatePixmapReq); client->errorValue = stuff->pid; LEGAL_NEW_RESOURCE(stuff->pid, client); - SECURITY_VERIFY_GEOMETRABLE (pDraw, stuff->drawable, client, - SecurityReadAccess); + + rc = dixLookupDrawable(&pDraw, stuff->drawable, client, M_ANY, + DixReadAccess); + if (rc != Success) + return rc; + if (!stuff->width || !stuff->height) { client->errorValue = 0; @@ -1526,7 +1566,7 @@ CreatePmap: } int -ProcFreePixmap(register ClientPtr client) +ProcFreePixmap(ClientPtr client) { PixmapPtr pMap; @@ -1534,7 +1574,7 @@ ProcFreePixmap(register ClientPtr client) REQUEST_SIZE_MATCH(xResourceReq); pMap = (PixmapPtr)SecurityLookupIDByType(client, stuff->id, RT_PIXMAP, - SecurityDestroyAccess); + DixDestroyAccess); if (pMap) { FreeResource(stuff->id, RT_NONE); @@ -1548,19 +1588,21 @@ ProcFreePixmap(register ClientPtr client) } int -ProcCreateGC(register ClientPtr client) +ProcCreateGC(ClientPtr client) { - int error; + int error, rc; GC *pGC; - register DrawablePtr pDraw; + DrawablePtr pDraw; unsigned len; REQUEST(xCreateGCReq); REQUEST_AT_LEAST_SIZE(xCreateGCReq); client->errorValue = stuff->gc; LEGAL_NEW_RESOURCE(stuff->gc, client); - SECURITY_VERIFY_DRAWABLE (pDraw, stuff->drawable, client, - SecurityReadAccess); + rc = dixLookupDrawable(&pDraw, stuff->drawable, client, 0, DixReadAccess); + if (rc != Success) + return rc; + len = client->req_len - (sizeof(xCreateGCReq) >> 2); if (len != Ones(stuff->mask)) return BadLength; @@ -1574,15 +1616,18 @@ ProcCreateGC(register ClientPtr client) } int -ProcChangeGC(register ClientPtr client) +ProcChangeGC(ClientPtr client) { GC *pGC; - REQUEST(xChangeGCReq); int result; unsigned len; - + REQUEST(xChangeGCReq); REQUEST_AT_LEAST_SIZE(xChangeGCReq); - SECURITY_VERIFY_GC(pGC, stuff->gc, client, SecurityWriteAccess); + + result = dixLookupGC(&pGC, stuff->gc, client, DixWriteAccess); + if (result != Success) + return result; + len = client->req_len - (sizeof(xChangeGCReq) >> 2); if (len != Ones(stuff->mask)) return BadLength; @@ -1598,16 +1643,20 @@ ProcChangeGC(register ClientPtr client) } int -ProcCopyGC(register ClientPtr client) +ProcCopyGC(ClientPtr client) { - register GC *dstGC; - register GC *pGC; + GC *dstGC; + GC *pGC; int result; REQUEST(xCopyGCReq); - REQUEST_SIZE_MATCH(xCopyGCReq); - SECURITY_VERIFY_GC( pGC, stuff->srcGC, client, SecurityReadAccess); - SECURITY_VERIFY_GC( dstGC, stuff->dstGC, client, SecurityWriteAccess); + + result = dixLookupGC(&pGC, stuff->srcGC, client, DixReadAccess); + if (result != Success) + return result; + result = dixLookupGC(&dstGC, stuff->dstGC, client, DixWriteAccess); + if (result != Success) + return result; if ((dstGC->pScreen != pGC->pScreen) || (dstGC->depth != pGC->depth)) return (BadMatch); result = CopyGC(pGC, dstGC, stuff->mask); @@ -1621,9 +1670,9 @@ ProcCopyGC(register ClientPtr client) } int -ProcSetDashes(register ClientPtr client) +ProcSetDashes(ClientPtr client) { - register GC *pGC; + GC *pGC; int result; REQUEST(xSetDashesReq); @@ -1634,7 +1683,9 @@ ProcSetDashes(register ClientPtr client) return BadValue; } - SECURITY_VERIFY_GC(pGC,stuff->gc, client, SecurityWriteAccess); + result = dixLookupGC(&pGC,stuff->gc, client, DixWriteAccess); + if (result != Success) + return result; result = SetDashes(pGC, stuff->dashOffset, stuff->nDashes, (unsigned char *)&stuff[1]); @@ -1648,11 +1699,10 @@ ProcSetDashes(register ClientPtr client) } int -ProcSetClipRectangles(register ClientPtr client) +ProcSetClipRectangles(ClientPtr client) { - int nr; - int result; - register GC *pGC; + int nr, result; + GC *pGC; REQUEST(xSetClipRectanglesReq); REQUEST_AT_LEAST_SIZE(xSetClipRectanglesReq); @@ -1662,7 +1712,9 @@ ProcSetClipRectangles(register ClientPtr client) client->errorValue = stuff->ordering; return BadValue; } - SECURITY_VERIFY_GC(pGC,stuff->gc, client, SecurityWriteAccess); + result = dixLookupGC(&pGC,stuff->gc, client, DixWriteAccess); + if (result != Success) + return result; nr = (client->req_len << 2) - sizeof(xSetClipRectanglesReq); if (nr & 4) @@ -1677,28 +1729,32 @@ ProcSetClipRectangles(register ClientPtr client) } int -ProcFreeGC(register ClientPtr client) +ProcFreeGC(ClientPtr client) { - register GC *pGC; + GC *pGC; + int rc; REQUEST(xResourceReq); - REQUEST_SIZE_MATCH(xResourceReq); - SECURITY_VERIFY_GC(pGC, stuff->id, client, SecurityDestroyAccess); + + rc = dixLookupGC(&pGC, stuff->id, client, DixDestroyAccess); + if (rc != Success) + return rc; + FreeResource(stuff->id, RT_NONE); return(client->noClientException); } int -ProcClearToBackground(register ClientPtr client) +ProcClearToBackground(ClientPtr client) { REQUEST(xClearAreaReq); - register WindowPtr pWin; + WindowPtr pWin; + int rc; REQUEST_SIZE_MATCH(xClearAreaReq); - pWin = (WindowPtr)SecurityLookupWindow(stuff->window, client, - SecurityWriteAccess); - if (!pWin) - return(BadWindow); + rc = dixLookupWindow(&pWin, stuff->window, client, DixWriteAccess); + if (rc != Success) + return rc; if (pWin->drawable.class == InputOnly) { client->errorValue = stuff->window; @@ -1716,21 +1772,24 @@ ProcClearToBackground(register ClientPtr client) } int -ProcCopyArea(register ClientPtr client) +ProcCopyArea(ClientPtr client) { - register DrawablePtr pDst; - register DrawablePtr pSrc; - register GC *pGC; + DrawablePtr pDst; + DrawablePtr pSrc; + GC *pGC; REQUEST(xCopyAreaReq); RegionPtr pRgn; + int rc; REQUEST_SIZE_MATCH(xCopyAreaReq); VALIDATE_DRAWABLE_AND_GC(stuff->dstDrawable, pDst, pGC, client); if (stuff->dstDrawable != stuff->srcDrawable) { - SECURITY_VERIFY_DRAWABLE(pSrc, stuff->srcDrawable, client, - SecurityReadAccess); + rc = dixLookupDrawable(&pSrc, stuff->srcDrawable, client, 0, + DixReadAccess); + if (rc != Success) + return rc; if ((pDst->pScreen != pSrc->pScreen) || (pDst->depth != pSrc->depth)) { client->errorValue = stuff->dstDrawable; @@ -1740,8 +1799,6 @@ ProcCopyArea(register ClientPtr client) else pSrc = pDst; - SET_DBE_SRCBUF(pSrc, stuff->srcDrawable); - pRgn = (*pGC->ops->CopyArea)(pSrc, pDst, pGC, stuff->srcX, stuff->srcY, stuff->width, stuff->height, stuff->dstX, stuff->dstY); @@ -1757,20 +1814,24 @@ ProcCopyArea(register ClientPtr client) } int -ProcCopyPlane(register ClientPtr client) +ProcCopyPlane(ClientPtr client) { - register DrawablePtr psrcDraw, pdstDraw; - register GC *pGC; + DrawablePtr psrcDraw, pdstDraw; + GC *pGC; REQUEST(xCopyPlaneReq); RegionPtr pRgn; + int rc; REQUEST_SIZE_MATCH(xCopyPlaneReq); VALIDATE_DRAWABLE_AND_GC(stuff->dstDrawable, pdstDraw, pGC, client); if (stuff->dstDrawable != stuff->srcDrawable) { - SECURITY_VERIFY_DRAWABLE(psrcDraw, stuff->srcDrawable, client, - SecurityReadAccess); + rc = dixLookupDrawable(&psrcDraw, stuff->srcDrawable, client, 0, + DixReadAccess); + if (rc != Success) + return rc; + if (pdstDraw->pScreen != psrcDraw->pScreen) { client->errorValue = stuff->dstDrawable; @@ -1780,8 +1841,6 @@ ProcCopyPlane(register ClientPtr client) else psrcDraw = pdstDraw; - SET_DBE_SRCBUF(psrcDraw, stuff->srcDrawable); - /* Check to see if stuff->bitPlane has exactly ONE good bit set */ if(stuff->bitPlane == 0 || (stuff->bitPlane & (stuff->bitPlane - 1)) || (stuff->bitPlane > (1L << (psrcDraw->depth - 1)))) @@ -1804,11 +1863,11 @@ ProcCopyPlane(register ClientPtr client) } int -ProcPolyPoint(register ClientPtr client) +ProcPolyPoint(ClientPtr client) { int npoint; - register GC *pGC; - register DrawablePtr pDraw; + GC *pGC; + DrawablePtr pDraw; REQUEST(xPolyPointReq); REQUEST_AT_LEAST_SIZE(xPolyPointReq); @@ -1827,11 +1886,11 @@ ProcPolyPoint(register ClientPtr client) } int -ProcPolyLine(register ClientPtr client) +ProcPolyLine(ClientPtr client) { int npoint; - register GC *pGC; - register DrawablePtr pDraw; + GC *pGC; + DrawablePtr pDraw; REQUEST(xPolyLineReq); REQUEST_AT_LEAST_SIZE(xPolyLineReq); @@ -1850,11 +1909,11 @@ ProcPolyLine(register ClientPtr client) } int -ProcPolySegment(register ClientPtr client) +ProcPolySegment(ClientPtr client) { int nsegs; - register GC *pGC; - register DrawablePtr pDraw; + GC *pGC; + DrawablePtr pDraw; REQUEST(xPolySegmentReq); REQUEST_AT_LEAST_SIZE(xPolySegmentReq); @@ -1869,11 +1928,11 @@ ProcPolySegment(register ClientPtr client) } int -ProcPolyRectangle (register ClientPtr client) +ProcPolyRectangle (ClientPtr client) { int nrects; - register GC *pGC; - register DrawablePtr pDraw; + GC *pGC; + DrawablePtr pDraw; REQUEST(xPolyRectangleReq); REQUEST_AT_LEAST_SIZE(xPolyRectangleReq); @@ -1889,11 +1948,11 @@ ProcPolyRectangle (register ClientPtr client) } int -ProcPolyArc(register ClientPtr client) +ProcPolyArc(ClientPtr client) { int narcs; - register GC *pGC; - register DrawablePtr pDraw; + GC *pGC; + DrawablePtr pDraw; REQUEST(xPolyArcReq); REQUEST_AT_LEAST_SIZE(xPolyArcReq); @@ -1908,11 +1967,11 @@ ProcPolyArc(register ClientPtr client) } int -ProcFillPoly(register ClientPtr client) +ProcFillPoly(ClientPtr client) { int things; - register GC *pGC; - register DrawablePtr pDraw; + GC *pGC; + DrawablePtr pDraw; REQUEST(xFillPolyReq); REQUEST_AT_LEAST_SIZE(xFillPolyReq); @@ -1939,11 +1998,11 @@ ProcFillPoly(register ClientPtr client) } int -ProcPolyFillRectangle(register ClientPtr client) +ProcPolyFillRectangle(ClientPtr client) { int things; - register GC *pGC; - register DrawablePtr pDraw; + GC *pGC; + DrawablePtr pDraw; REQUEST(xPolyFillRectangleReq); REQUEST_AT_LEAST_SIZE(xPolyFillRectangleReq); @@ -1960,11 +2019,11 @@ ProcPolyFillRectangle(register ClientPtr client) } int -ProcPolyFillArc(register ClientPtr client) +ProcPolyFillArc(ClientPtr client) { int narcs; - register GC *pGC; - register DrawablePtr pDraw; + GC *pGC; + DrawablePtr pDraw; REQUEST(xPolyFillArcReq); REQUEST_AT_LEAST_SIZE(xPolyFillArcReq); @@ -2033,10 +2092,10 @@ ReformatImage (char *base, int nbytes, int bpp, int order) * boundary, even if the scanlines are padded to our satisfaction. */ int -ProcPutImage(register ClientPtr client) +ProcPutImage(ClientPtr client) { - register GC *pGC; - register DrawablePtr pDraw; + GC *pGC; + DrawablePtr pDraw; long length; /* length of scanline server padded */ long lengthProto; /* length of scanline protocol padded */ char *tmpImage; @@ -2089,29 +2148,29 @@ ProcPutImage(register ClientPtr client) return (client->noClientException); } - -int -DoGetImage(register ClientPtr client, int format, Drawable drawable, +static int +DoGetImage(ClientPtr client, int format, Drawable drawable, int x, int y, int width, int height, Mask planemask, xGetImageReply **im_return) { - register DrawablePtr pDraw; - int nlines, linesPerBuf; - register int linesDone; + DrawablePtr pDraw; + int nlines, linesPerBuf, rc; + int linesDone; long widthBytesLine, length; Mask plane = 0; char *pBuf; xGetImageReply xgi; -#ifdef XACE RegionPtr pVisibleRegion = NULL; -#endif if ((format != XYPixmap) && (format != ZPixmap)) { client->errorValue = format; return(BadValue); } - SECURITY_VERIFY_DRAWABLE(pDraw, drawable, client, SecurityReadAccess); + rc = dixLookupDrawable(&pDraw, drawable, client, 0, DixReadAccess); + if (rc != Success) + return rc; + if(pDraw->type == DRAWABLE_WINDOW) { if( /* check for being viewable */ @@ -2141,8 +2200,6 @@ DoGetImage(register ClientPtr client, int format, Drawable drawable, xgi.visual = None; } - SET_DBE_SRCBUF(pDraw, drawable); - xgi.type = X_Reply; xgi.sequenceNumber = client->sequence; xgi.depth = pDraw->depth; @@ -2208,17 +2265,16 @@ DoGetImage(register ClientPtr client, int format, Drawable drawable, WriteReplyToClient(client, sizeof (xGetImageReply), &xgi); } -#ifdef XACE if (pDraw->type == DRAWABLE_WINDOW && !XaceHook(XACE_DRAWABLE_ACCESS, client, pDraw)) { pVisibleRegion = NotClippedByChildren((WindowPtr)pDraw); if (pVisibleRegion) { - REGION_TRANSLATE(pDraw->pScreen, pVisibleRegion, -pDraw->x, -pDraw->y); + REGION_TRANSLATE(pDraw->pScreen, pVisibleRegion, + -pDraw->x, -pDraw->y); } } -#endif if (linesPerBuf == 0) { @@ -2238,12 +2294,10 @@ DoGetImage(register ClientPtr client, int format, Drawable drawable, format, planemask, (pointer) pBuf); -#ifdef XACE if (pVisibleRegion) XaceCensorImage(client, pVisibleRegion, widthBytesLine, pDraw, x, y + linesDone, width, nlines, format, pBuf); -#endif /* Note that this is NOT a call to WriteSwappedDataToClient, as we do NOT byte swap */ @@ -2279,13 +2333,11 @@ DoGetImage(register ClientPtr client, int format, Drawable drawable, format, plane, (pointer)pBuf); -#ifdef XACE if (pVisibleRegion) XaceCensorImage(client, pVisibleRegion, widthBytesLine, pDraw, x, y + linesDone, width, nlines, format, pBuf); -#endif /* Note: NOT a call to WriteSwappedDataToClient, as we do NOT byte swap */ @@ -2307,17 +2359,15 @@ DoGetImage(register ClientPtr client, int format, Drawable drawable, } } } -#ifdef XACE if (pVisibleRegion) REGION_DESTROY(pDraw->pScreen, pVisibleRegion); -#endif if (!im_return) DEALLOCATE_LOCAL(pBuf); return (client->noClientException); } int -ProcGetImage(register ClientPtr client) +ProcGetImage(ClientPtr client) { REQUEST(xGetImageReq); @@ -2330,7 +2380,7 @@ ProcGetImage(register ClientPtr client) } int -ProcPolyText(register ClientPtr client) +ProcPolyText(ClientPtr client) { int err; REQUEST(xPolyTextReq); @@ -2359,11 +2409,11 @@ ProcPolyText(register ClientPtr client) } int -ProcImageText8(register ClientPtr client) +ProcImageText8(ClientPtr client) { int err; - register DrawablePtr pDraw; - register GC *pGC; + DrawablePtr pDraw; + GC *pGC; REQUEST(xImageTextReq); @@ -2389,11 +2439,11 @@ ProcImageText8(register ClientPtr client) } int -ProcImageText16(register ClientPtr client) +ProcImageText16(ClientPtr client) { int err; - register DrawablePtr pDraw; - register GC *pGC; + DrawablePtr pDraw; + GC *pGC; REQUEST(xImageTextReq); @@ -2420,12 +2470,12 @@ ProcImageText16(register ClientPtr client) int -ProcCreateColormap(register ClientPtr client) +ProcCreateColormap(ClientPtr client) { VisualPtr pVisual; ColormapPtr pmap; Colormap mid; - register WindowPtr pWin; + WindowPtr pWin; ScreenPtr pScreen; REQUEST(xCreateColormapReq); int i, result; @@ -2439,10 +2489,9 @@ ProcCreateColormap(register ClientPtr client) } mid = stuff->mid; LEGAL_NEW_RESOURCE(mid, client); - pWin = (WindowPtr)SecurityLookupWindow(stuff->window, client, - SecurityReadAccess); - if (!pWin) - return(BadWindow); + result = dixLookupWindow(&pWin, stuff->window, client, DixReadAccess); + if (result != Success) + return result; pScreen = pWin->drawable.pScreen; for (i = 0, pVisual = pScreen->visuals; @@ -2463,14 +2512,14 @@ ProcCreateColormap(register ClientPtr client) } int -ProcFreeColormap(register ClientPtr client) +ProcFreeColormap(ClientPtr client) { ColormapPtr pmap; REQUEST(xResourceReq); REQUEST_SIZE_MATCH(xResourceReq); pmap = (ColormapPtr )SecurityLookupIDByType(client, stuff->id, RT_COLORMAP, - SecurityDestroyAccess); + DixDestroyAccess); if (pmap) { /* Freeing a default colormap is a no-op */ @@ -2487,7 +2536,7 @@ ProcFreeColormap(register ClientPtr client) int -ProcCopyColormapAndFree(register ClientPtr client) +ProcCopyColormapAndFree(ClientPtr client) { Colormap mid; ColormapPtr pSrcMap; @@ -2498,7 +2547,7 @@ ProcCopyColormapAndFree(register ClientPtr client) mid = stuff->mid; LEGAL_NEW_RESOURCE(mid, client); if( (pSrcMap = (ColormapPtr )SecurityLookupIDByType(client, stuff->srcCmap, - RT_COLORMAP, SecurityReadAccess|SecurityWriteAccess)) ) + RT_COLORMAP, DixReadAccess|DixWriteAccess)) ) { result = CopyColormapAndFree(mid, pSrcMap, client->index); if (client->noClientException != Success) @@ -2514,14 +2563,14 @@ ProcCopyColormapAndFree(register ClientPtr client) } int -ProcInstallColormap(register ClientPtr client) +ProcInstallColormap(ClientPtr client) { ColormapPtr pcmp; REQUEST(xResourceReq); REQUEST_SIZE_MATCH(xResourceReq); pcmp = (ColormapPtr)SecurityLookupIDByType(client, stuff->id, - RT_COLORMAP, SecurityReadAccess); + RT_COLORMAP, DixReadAccess); if (pcmp) { (*(pcmp->pScreen->InstallColormap)) (pcmp); @@ -2535,14 +2584,14 @@ ProcInstallColormap(register ClientPtr client) } int -ProcUninstallColormap(register ClientPtr client) +ProcUninstallColormap(ClientPtr client) { ColormapPtr pcmp; REQUEST(xResourceReq); REQUEST_SIZE_MATCH(xResourceReq); pcmp = (ColormapPtr)SecurityLookupIDByType(client, stuff->id, - RT_COLORMAP, SecurityReadAccess); + RT_COLORMAP, DixReadAccess); if (pcmp) { if(pcmp->mid != pcmp->pScreen->defColormap) @@ -2557,19 +2606,17 @@ ProcUninstallColormap(register ClientPtr client) } int -ProcListInstalledColormaps(register ClientPtr client) +ProcListInstalledColormaps(ClientPtr client) { xListInstalledColormapsReply *preply; - int nummaps; + int nummaps, rc; WindowPtr pWin; REQUEST(xResourceReq); REQUEST_SIZE_MATCH(xResourceReq); - pWin = (WindowPtr)SecurityLookupWindow(stuff->id, client, - SecurityReadAccess); - - if (!pWin) - return(BadWindow); + rc = dixLookupWindow(&pWin, stuff->id, client, DixReadAccess); + if (rc != Success) + return rc; preply = (xListInstalledColormapsReply *) ALLOCATE_LOCAL(sizeof(xListInstalledColormapsReply) + @@ -2592,7 +2639,7 @@ ProcListInstalledColormaps(register ClientPtr client) } int -ProcAllocColor (register ClientPtr client) +ProcAllocColor (ClientPtr client) { ColormapPtr pmap; int retval; @@ -2601,7 +2648,7 @@ ProcAllocColor (register ClientPtr client) REQUEST_SIZE_MATCH(xAllocColorReq); pmap = (ColormapPtr)SecurityLookupIDByType(client, stuff->cmap, - RT_COLORMAP, SecurityWriteAccess); + RT_COLORMAP, DixWriteAccess); if (pmap) { acr.type = X_Reply; @@ -2634,14 +2681,14 @@ ProcAllocColor (register ClientPtr client) } int -ProcAllocNamedColor (register ClientPtr client) +ProcAllocNamedColor (ClientPtr client) { ColormapPtr pcmp; REQUEST(xAllocNamedColorReq); REQUEST_FIXED_SIZE(xAllocNamedColorReq, stuff->nbytes); pcmp = (ColormapPtr)SecurityLookupIDByType(client, stuff->cmap, - RT_COLORMAP, SecurityWriteAccess); + RT_COLORMAP, DixWriteAccess); if (pcmp) { int retval; @@ -2686,14 +2733,14 @@ ProcAllocNamedColor (register ClientPtr client) } int -ProcAllocColorCells (register ClientPtr client) +ProcAllocColorCells (ClientPtr client) { ColormapPtr pcmp; REQUEST(xAllocColorCellsReq); REQUEST_SIZE_MATCH(xAllocColorCellsReq); pcmp = (ColormapPtr)SecurityLookupIDByType(client, stuff->cmap, - RT_COLORMAP, SecurityWriteAccess); + RT_COLORMAP, DixWriteAccess); if (pcmp) { xAllocColorCellsReply accr; @@ -2752,14 +2799,14 @@ ProcAllocColorCells (register ClientPtr client) } int -ProcAllocColorPlanes(register ClientPtr client) +ProcAllocColorPlanes(ClientPtr client) { ColormapPtr pcmp; REQUEST(xAllocColorPlanesReq); REQUEST_SIZE_MATCH(xAllocColorPlanesReq); pcmp = (ColormapPtr)SecurityLookupIDByType(client, stuff->cmap, - RT_COLORMAP, SecurityWriteAccess); + RT_COLORMAP, DixWriteAccess); if (pcmp) { xAllocColorPlanesReply acpr; @@ -2816,14 +2863,14 @@ ProcAllocColorPlanes(register ClientPtr client) } int -ProcFreeColors(register ClientPtr client) +ProcFreeColors(ClientPtr client) { ColormapPtr pcmp; REQUEST(xFreeColorsReq); REQUEST_AT_LEAST_SIZE(xFreeColorsReq); pcmp = (ColormapPtr)SecurityLookupIDByType(client, stuff->cmap, - RT_COLORMAP, SecurityWriteAccess); + RT_COLORMAP, DixWriteAccess); if (pcmp) { int count; @@ -2858,7 +2905,7 @@ ProcStoreColors (ClientPtr client) REQUEST_AT_LEAST_SIZE(xStoreColorsReq); pcmp = (ColormapPtr)SecurityLookupIDByType(client, stuff->cmap, - RT_COLORMAP, SecurityWriteAccess); + RT_COLORMAP, DixWriteAccess); if (pcmp) { int count; @@ -2885,14 +2932,14 @@ ProcStoreColors (ClientPtr client) } int -ProcStoreNamedColor (register ClientPtr client) +ProcStoreNamedColor (ClientPtr client) { ColormapPtr pcmp; REQUEST(xStoreNamedColorReq); REQUEST_FIXED_SIZE(xStoreNamedColorReq, stuff->nbytes); pcmp = (ColormapPtr)SecurityLookupIDByType(client, stuff->cmap, - RT_COLORMAP, SecurityWriteAccess); + RT_COLORMAP, DixWriteAccess); if (pcmp) { xColorItem def; @@ -2919,14 +2966,14 @@ ProcStoreNamedColor (register ClientPtr client) } int -ProcQueryColors(register ClientPtr client) +ProcQueryColors(ClientPtr client) { ColormapPtr pcmp; REQUEST(xQueryColorsReq); REQUEST_AT_LEAST_SIZE(xQueryColorsReq); pcmp = (ColormapPtr)SecurityLookupIDByType(client, stuff->cmap, - RT_COLORMAP, SecurityReadAccess); + RT_COLORMAP, DixReadAccess); if (pcmp) { int count, retval; @@ -2970,14 +3017,14 @@ ProcQueryColors(register ClientPtr client) } int -ProcLookupColor(register ClientPtr client) +ProcLookupColor(ClientPtr client) { ColormapPtr pcmp; REQUEST(xLookupColorReq); REQUEST_FIXED_SIZE(xLookupColorReq, stuff->nbytes); pcmp = (ColormapPtr)SecurityLookupIDByType(client, stuff->cmap, - RT_COLORMAP, SecurityReadAccess); + RT_COLORMAP, DixReadAccess); if (pcmp) { xLookupColorReply lcr; @@ -3008,17 +3055,16 @@ ProcLookupColor(register ClientPtr client) } int -ProcCreateCursor (register ClientPtr client) +ProcCreateCursor (ClientPtr client) { - CursorPtr pCursor; - - register PixmapPtr src; - register PixmapPtr msk; + CursorPtr pCursor; + PixmapPtr src; + PixmapPtr msk; unsigned char * srcbits; unsigned char * mskbits; unsigned short width, height; long n; - CursorMetricRec cm; + CursorMetricRec cm; REQUEST(xCreateCursorReq); @@ -3027,9 +3073,9 @@ ProcCreateCursor (register ClientPtr client) LEGAL_NEW_RESOURCE(stuff->cid, client); src = (PixmapPtr)SecurityLookupIDByType(client, stuff->source, - RT_PIXMAP, SecurityReadAccess); + RT_PIXMAP, DixReadAccess); msk = (PixmapPtr)SecurityLookupIDByType(client, stuff->mask, - RT_PIXMAP, SecurityReadAccess); + RT_PIXMAP, DixReadAccess); if ( src == (PixmapPtr)NULL) { client->errorValue = stuff->source; @@ -3073,7 +3119,7 @@ ProcCreateCursor (register ClientPtr client) XYPixmap, 1, (pointer)srcbits); if ( msk == (PixmapPtr)NULL) { - register unsigned char *bits = mskbits; + unsigned char *bits = mskbits; while (--n >= 0) *bits++ = ~0; } @@ -3098,7 +3144,7 @@ ProcCreateCursor (register ClientPtr client) } int -ProcCreateGlyphCursor (register ClientPtr client) +ProcCreateGlyphCursor (ClientPtr client) { CursorPtr pCursor; int res; @@ -3122,14 +3168,14 @@ ProcCreateGlyphCursor (register ClientPtr client) int -ProcFreeCursor (register ClientPtr client) +ProcFreeCursor (ClientPtr client) { CursorPtr pCursor; REQUEST(xResourceReq); REQUEST_SIZE_MATCH(xResourceReq); pCursor = (CursorPtr)SecurityLookupIDByType(client, stuff->id, - RT_CURSOR, SecurityDestroyAccess); + RT_CURSOR, DixDestroyAccess); if (pCursor) { FreeResource(stuff->id, RT_NONE); @@ -3143,14 +3189,15 @@ ProcFreeCursor (register ClientPtr client) } int -ProcQueryBestSize (register ClientPtr client) +ProcQueryBestSize (ClientPtr client) { xQueryBestSizeReply reply; - register DrawablePtr pDraw; + DrawablePtr pDraw; ScreenPtr pScreen; + int rc; REQUEST(xQueryBestSizeReq); - REQUEST_SIZE_MATCH(xQueryBestSizeReq); + if ((stuff->class != CursorShape) && (stuff->class != TileShape) && (stuff->class != StippleShape)) @@ -3158,8 +3205,11 @@ ProcQueryBestSize (register ClientPtr client) client->errorValue = stuff->class; return(BadValue); } - SECURITY_VERIFY_GEOMETRABLE (pDraw, stuff->drawable, client, - SecurityReadAccess); + + rc = dixLookupDrawable(&pDraw, stuff->drawable, client, M_ANY, + DixReadAccess); + if (rc != Success) + return rc; if (stuff->class != CursorShape && pDraw->type == UNDRAWABLE_WINDOW) return (BadMatch); pScreen = pDraw->pScreen; @@ -3176,7 +3226,7 @@ ProcQueryBestSize (register ClientPtr client) int -ProcSetScreenSaver (register ClientPtr client) +ProcSetScreenSaver (ClientPtr client) { int blankingOption, exposureOption; REQUEST(xSetScreenSaverReq); @@ -3232,7 +3282,7 @@ ProcSetScreenSaver (register ClientPtr client) } int -ProcGetScreenSaver(register ClientPtr client) +ProcGetScreenSaver(ClientPtr client) { xGetScreenSaverReply rep; @@ -3249,7 +3299,7 @@ ProcGetScreenSaver(register ClientPtr client) } int -ProcChangeHosts(register ClientPtr client) +ProcChangeHosts(ClientPtr client) { REQUEST(xChangeHostsReq); int result; @@ -3273,7 +3323,7 @@ ProcChangeHosts(register ClientPtr client) } int -ProcListHosts(register ClientPtr client) +ProcListHosts(ClientPtr client) { xListHostsReply reply; int len, nHosts, result; @@ -3281,13 +3331,11 @@ ProcListHosts(register ClientPtr client) /* REQUEST(xListHostsReq); */ REQUEST_SIZE_MATCH(xListHostsReq); -#ifdef XACE + /* untrusted clients can't list hosts */ - if (!XaceHook(XACE_HOSTLIST_ACCESS, client, SecurityReadAccess)) - { + if (!XaceHook(XACE_HOSTLIST_ACCESS, client, DixReadAccess)) return BadAccess; - } -#endif + result = GetHosts(&pdata, &nHosts, &len, &reply.enabled); if (result != Success) return(result); @@ -3306,7 +3354,7 @@ ProcListHosts(register ClientPtr client) } int -ProcChangeAccessControl(register ClientPtr client) +ProcChangeAccessControl(ClientPtr client) { int result; REQUEST(xSetAccessControlReq); @@ -3323,11 +3371,34 @@ ProcChangeAccessControl(register ClientPtr client) return (result); } +/********************* + * CloseDownRetainedResources + * + * Find all clients that are gone and have terminated in RetainTemporary + * and destroy their resources. + *********************/ + +static void +CloseDownRetainedResources(void) +{ + int i; + ClientPtr client; + + for (i=1; icloseDownMode == RetainTemporary) + && (client->clientGone)) + CloseDownClient(client); + } +} + int -ProcKillClient(register ClientPtr client) +ProcKillClient(ClientPtr client) { REQUEST(xResourceReq); - ClientPtr killclient; + ClientPtr killclient; + int rc; REQUEST_SIZE_MATCH(xResourceReq); if (stuff->id == AllTemporary) @@ -3336,8 +3407,8 @@ ProcKillClient(register ClientPtr client) return (client->noClientException); } - if ((killclient = LookupClient(stuff->id, client))) - { + rc = dixLookupClient(&killclient, stuff->id, client, DixDestroyAccess); + if (rc == Success) { CloseDownClient(killclient); /* if an LBX proxy gets killed, isItTimeToYield will be set */ if (isItTimeToYield || (client == killclient)) @@ -3351,14 +3422,11 @@ ProcKillClient(register ClientPtr client) return (client->noClientException); } else - { - client->errorValue = stuff->id; - return (BadValue); - } + return rc; } int -ProcSetFontPath(register ClientPtr client) +ProcSetFontPath(ClientPtr client) { unsigned char *ptr; unsigned long nbytes, total; @@ -3393,7 +3461,7 @@ ProcSetFontPath(register ClientPtr client) } int -ProcGetFontPath(register ClientPtr client) +ProcGetFontPath(ClientPtr client) { xGetFontPathReply reply; int stringLens, numpaths; @@ -3415,7 +3483,7 @@ ProcGetFontPath(register ClientPtr client) } int -ProcChangeCloseDownMode(register ClientPtr client) +ProcChangeCloseDownMode(ClientPtr client) { REQUEST(xSetCloseDownModeReq); @@ -3434,7 +3502,7 @@ ProcChangeCloseDownMode(register ClientPtr client) } } -int ProcForceScreenSaver(register ClientPtr client) +int ProcForceScreenSaver(ClientPtr client) { REQUEST(xForceScreenSaverReq); @@ -3450,7 +3518,7 @@ int ProcForceScreenSaver(register ClientPtr client) return client->noClientException; } -int ProcNoOperation(register ClientPtr client) +int ProcNoOperation(ClientPtr client) { REQUEST_AT_LEAST_SIZE(xReq); @@ -3469,12 +3537,6 @@ InitProcVectors(void) ProcVector[i] = SwappedProcVector[i] = ProcBadRequest; ReplySwapVector[i] = ReplyNotSwappd; } -#ifdef K5AUTH - if (!k5_Vector[i]) - { - k5_Vector[i] = k5_bad; - } -#endif } for(i = LASTEvent; i < 128; i++) { @@ -3493,7 +3555,7 @@ InitProcVectors(void) char dispatchExceptionAtReset = DE_RESET; void -CloseDownClient(register ClientPtr client) +CloseDownClient(ClientPtr client) { Bool really_close_down = client->clientGone || client->closeDownMode == DestroyAll; @@ -3565,6 +3627,9 @@ CloseDownClient(register ClientPtr client) CallCallbacks((&ClientStateCallback), (pointer)&clientinfo); } FreeClientResources(client); +#ifdef XSERVER_DTRACE + XSERVER_CLIENT_DISCONNECT(client->index); +#endif if (client->index < nextFreeClientID) nextFreeClientID = client->index; clients[client->index] = NullClient; @@ -3579,7 +3644,7 @@ CloseDownClient(register ClientPtr client) } static void -KillAllClients() +KillAllClients(void) { int i; for (i=1; icloseDownMode == RetainTemporary) - && (client->clientGone)) - CloseDownClient(client); - } -} - extern int clientPrivateLen; extern unsigned *clientPrivateSizes; extern unsigned totalClientSize; @@ -3671,11 +3714,11 @@ void InitClient(ClientPtr client, int i, pointer ospriv) int InitClientPrivates(ClientPtr client) { - register char *ptr; + char *ptr; DevUnion *ppriv; - register unsigned *sizes; - register unsigned size; - register int i; + unsigned *sizes; + unsigned size; + int i; if (totalClientSize == sizeof(ClientRec)) ppriv = (DevUnion *)NULL; @@ -3690,6 +3733,8 @@ InitClientPrivates(ClientPtr client) client->devPrivates = ppriv; sizes = clientPrivateSizes; ptr = (char *)(ppriv + clientPrivateLen); + if (ppriv) + bzero(ppriv, totalClientSize - sizeof(ClientRec)); for (i = clientPrivateLen; --i >= 0; ppriv++, sizes++) { if ( (size = *sizes) ) @@ -3723,8 +3768,8 @@ InitClientPrivates(ClientPtr client) ClientPtr NextAvailableClient(pointer ospriv) { - register int i; - register ClientPtr client; + int i; + ClientPtr client; xReq data; i = nextFreeClientID; @@ -3765,10 +3810,10 @@ ClientPtr NextAvailableClient(pointer ospriv) } int -ProcInitialConnection(register ClientPtr client) +ProcInitialConnection(ClientPtr client) { REQUEST(xReq); - register xConnClientPrefix *prefix; + xConnClientPrefix *prefix; int whichbyte = 1; prefix = (xConnClientPrefix *)((char *)stuff + sz_xReq); @@ -3792,10 +3837,10 @@ ProcInitialConnection(register ClientPtr client) } int -SendConnSetup(register ClientPtr client, char *reason) +SendConnSetup(ClientPtr client, char *reason) { - register xWindowRoot *root; - register int i; + xWindowRoot *root; + int i; int numScreens; char* lConnectionInfo; xConnSetupPrefix* lconnSetupPrefix; @@ -3850,8 +3895,8 @@ SendConnSetup(register ClientPtr client, char *reason) for (i=0; icurrentInputMask = WindowTable[i]->eventMask | wOtherEventMasks (WindowTable[i]); @@ -3892,10 +3937,10 @@ SendConnSetup(register ClientPtr client, char *reason) } int -ProcEstablishConnection(register ClientPtr client) +ProcEstablishConnection(ClientPtr client) { char *reason, *auth_proto, *auth_string; - register xConnClientPrefix *prefix; + xConnClientPrefix *prefix; REQUEST(xReq); prefix = (xConnClientPrefix *)((char *)stuff + sz_xReq); @@ -3944,7 +3989,7 @@ SendErrorToClient(ClientPtr client, unsigned majorCode, unsigned minorCode, void DeleteWindowFromAnySelections(WindowPtr pWin) { - register int i; + int i; for (i = 0; i< NumCurrentSelections; i++) if (CurrentSelections[i].pWin == pWin) @@ -3966,7 +4011,7 @@ DeleteWindowFromAnySelections(WindowPtr pWin) static void DeleteClientFromAnySelections(ClientPtr client) { - register int i; + int i; for (i = 0; i< NumCurrentSelections; i++) if (CurrentSelections[i].client == client) @@ -3990,3 +4035,60 @@ MarkClientException(ClientPtr client) { client->noClientException = -1; } + +#ifdef XSERVER_DTRACE +#include + +/* Load table of request names for dtrace probes */ +static void LoadRequestNames(void) +{ + int i; + FILE *xedb; + extern void LoadExtensionNames(char **RequestNames); + + bzero(RequestNames, 256 * sizeof(char *)); + + xedb = fopen(XERRORDB_PATH, "r"); + if (xedb != NULL) { + char buf[256]; + while (fgets(buf, sizeof(buf), xedb)) { + if ((strncmp("XRequest.", buf, 9) == 0) && (isdigit(buf[9]))) { + char *name; + i = strtol(buf + 9, &name, 10); + if (RequestNames[i] == 0) { + char *end = strchr(name, '\n'); + if (end) { *end = '\0'; } + RequestNames[i] = strdup(name + 1); + } + } + } + fclose(xedb); + } + + LoadExtensionNames(RequestNames); + + for (i = 0; i < 256; i++) { + if (RequestNames[i] == 0) { +#define RN_SIZE 12 /* "Request#' + up to 3 digits + \0 */ + RequestNames[i] = xalloc(RN_SIZE); + if (RequestNames[i]) { + snprintf(RequestNames[i], RN_SIZE, "Request#%d", i); + } + } + /* fprintf(stderr, "%d: %s\n", i, RequestNames[i]); */ + } +} + +static void FreeRequestNames(void) +{ + int i; + + for (i = 0; i < 256; i++) { + if (RequestNames[i] != 0) { + free(RequestNames[i]); + RequestNames[i] = 0; + } + } +} + +#endif diff --git a/xserver/dix/dix.c b/xserver/dix/dix.c new file mode 100644 index 000000000..e69de29bb diff --git a/xserver/dix/dixfonts.c b/xserver/dix/dixfonts.c index f10011e4b..c21b3ecb3 100644 --- a/xserver/dix/dixfonts.c +++ b/xserver/dix/dixfonts.c @@ -64,6 +64,7 @@ Equipment Corporation. #include "opaque.h" #include "dixfontstr.h" #include "closestr.h" +#include "dixfont.h" #ifdef DEBUG #include @@ -155,11 +156,6 @@ QueueFontWakeup(FontPathElementPtr fpe) for (i = 0; i < num_slept_fpes; i++) { if (slept_fpes[i] == fpe) { - -#ifdef DEBUG - fprintf(stderr, "re-queueing fpe wakeup\n"); -#endif - return; } } @@ -1149,9 +1145,9 @@ static XID clearGC[] = { CT_NONE }; #define clearGCmask (GCClipMask) int -doPolyText(ClientPtr client, register PTclosurePtr c) +doPolyText(ClientPtr client, PTclosurePtr c) { - register FontPtr pFont = c->pGC->font, oldpFont; + FontPtr pFont = c->pGC->font, oldpFont; Font fid, oldfid; int err = Success, lgerr; /* err is in X error, not font error, space */ enum { NEVER_SLEPT, START_SLEEP, SLEEPING } client_state = NEVER_SLEPT; @@ -1183,7 +1179,7 @@ doPolyText(ClientPtr client, register PTclosurePtr c) if (c->slept && c->pDraw && c->pDraw != (DrawablePtr)SecurityLookupIDByClass(client, c->did, - RC_DRAWABLE, SecurityWriteAccess)) + RC_DRAWABLE, DixWriteAccess)) { /* Our drawable has disappeared. Treat like client died... ask the FPE code to clean up after client and avoid further @@ -1213,7 +1209,7 @@ doPolyText(ClientPtr client, register PTclosurePtr c) | ((Font)*(c->pElt+2)) << 16 | ((Font)*(c->pElt+1)) << 24; pFont = (FontPtr)SecurityLookupIDByType(client, fid, RT_FONT, - SecurityReadAccess); + DixReadAccess); if (!pFont) { client->errorValue = fid; @@ -1451,7 +1447,7 @@ PolyText(ClientPtr client, DrawablePtr pDraw, GC *pGC, unsigned char *pElt, #undef FontShiftSize int -doImageText(ClientPtr client, register ITclosurePtr c) +doImageText(ClientPtr client, ITclosurePtr c) { int err = Success, lgerr; /* err is in X error, not font error, space */ FontPathElementPtr fpe; @@ -1468,7 +1464,7 @@ doImageText(ClientPtr client, register ITclosurePtr c) if (c->slept && c->pDraw && c->pDraw != (DrawablePtr)SecurityLookupIDByClass(client, c->did, - RC_DRAWABLE, SecurityWriteAccess)) + RC_DRAWABLE, DixWriteAccess)) { /* Our drawable has disappeared. Treat like client died... ask the FPE code to clean up after client. */ @@ -1882,11 +1878,11 @@ DeleteClientFontStuff(ClientPtr client) } void -InitFonts () +InitFonts (void) { patternCache = MakeFontPatternCache(); -#ifndef KDRIVESERVER +#ifndef BUILTIN_FONTS if (screenInfo.numScreens > screenInfo.numVideoScreens) { PrinterFontRegisterFpeFunctions(); FontFileCheckRegisterFpeFunctions(); @@ -1894,10 +1890,11 @@ InitFonts () } else #endif { -#ifdef KDRIVESERVER - BuiltinRegisterFpeFunctions(); -#endif +#ifdef BUILTIN_FONTS + BuiltinRegisterFpeFunctions(); +#else FontFileRegisterFpeFunctions(); +#endif #ifndef NOFONTSERVERACCESS fs_register_fpe_functions(); #endif @@ -2000,7 +1997,7 @@ RegisterFPEFunctions(NameCheckFunc name_func, } void -FreeFonts() +FreeFonts(void) { if (patternCache) { FreeFontPatternCache(patternCache); @@ -2020,7 +2017,7 @@ FontPtr find_old_font(XID id) { return (FontPtr) SecurityLookupIDByType(NullClient, id, RT_NONE, - SecurityUnknownAccess); + DixUnknownAccess); } Font @@ -2059,11 +2056,6 @@ init_fs_handlers(FontPathElementPtr fpe, BlockHandlerProcPtr block_handler) fs_handlers_installed = 0; } if (fs_handlers_installed == 0) { - -#ifdef DEBUG - fprintf(stderr, "adding FS b & w handlers\n"); -#endif - if (!RegisterBlockAndWakeupHandlers(block_handler, FontWakeup, (pointer) 0)) return AllocError; @@ -2079,55 +2071,9 @@ remove_fs_handlers(FontPathElementPtr fpe, BlockHandlerProcPtr block_handler, Bo if (all) { /* remove the handlers if no one else is using them */ if (--fs_handlers_installed == 0) { - -#ifdef DEBUG - fprintf(stderr, "removing FS b & w handlers\n"); -#endif - RemoveBlockAndWakeupHandlers(block_handler, FontWakeup, (pointer) 0); } } RemoveFontWakeup(fpe); } - -#ifdef DEBUG -#define GLWIDTHBYTESPADDED(bits,nbytes) \ - ((nbytes) == 1 ? (((bits)+7)>>3) /* pad to 1 byte */ \ - :(nbytes) == 2 ? ((((bits)+15)>>3)&~1) /* pad to 2 bytes */ \ - :(nbytes) == 4 ? ((((bits)+31)>>3)&~3) /* pad to 4 bytes */ \ - :(nbytes) == 8 ? ((((bits)+63)>>3)&~7) /* pad to 8 bytes */ \ - : 0) - -#define GLYPH_SIZE(ch, nbytes) \ - GLWIDTHBYTESPADDED((ch)->metrics.rightSideBearing - \ - (ch)->metrics.leftSideBearing, (nbytes)) -void -dump_char_ascii(CharInfoPtr cip) -{ - int r, - l; - int bpr; - int byte; - static unsigned maskTab[] = { - (1 << 7), (1 << 6), (1 << 5), (1 << 4), - (1 << 3), (1 << 2), (1 << 1), (1 << 0), - }; - - bpr = GLYPH_SIZE(cip, 4); - for (r = 0; r < (cip->metrics.ascent + cip->metrics.descent); r++) { - pointer row = (pointer) cip->bits + r * bpr; - - byte = 0; - for (l = 0; l <= (cip->metrics.rightSideBearing - - cip->metrics.leftSideBearing); l++) { - if (maskTab[l & 7] & row[l >> 3]) - putchar('X'); - else - putchar('.'); - } - putchar('\n'); - } -} - -#endif diff --git a/xserver/dix/dixutils.c b/xserver/dix/dixutils.c index a395d4474..c1e30ff18 100644 --- a/xserver/dix/dixutils.c +++ b/xserver/dix/dixutils.c @@ -95,9 +95,7 @@ Author: Adobe Systems Incorporated #include "scrnintstr.h" #define XK_LATIN1 #include -#ifdef XACE #include "xace.h" -#endif /* * CompareTimeStamps returns -1, 0, or +1 depending on if the first @@ -170,7 +168,7 @@ ISOLatin1ToLower (unsigned char source) _X_EXPORT void CopyISOLatin1Lowered(unsigned char *dest, unsigned char *source, int length) { - register int i; + int i; for (i = 0; i < length; i++, source++, dest++) *dest = ISOLatin1ToLower (*source); @@ -196,115 +194,144 @@ CompareISOLatin1Lowered(unsigned char *s1, int s1len, return (int) c1 - (int) c2; } -#ifdef XACE - -/* SecurityLookupWindow and SecurityLookupDrawable: - * Look up the window/drawable taking into account the client doing - * the lookup and the type of access desired. Return the window/drawable - * if it exists and the client is allowed access, else return NULL. - * Most Proc* functions should be calling these instead of - * LookupWindow and LookupDrawable, which do no access checks. - * XACE note: need to see if client->lastDrawableID can still be used here. +/* + * dixLookupWindow and dixLookupDrawable: + * Look up the window/drawable taking into account the client doing the + * lookup, the type of drawable desired, and the type of access desired. + * Return Success with *pDraw set if the window/drawable exists and the client + * is allowed access, else return an error code with *pDraw set to NULL. The + * access mask values are defined in resource.h. The type mask values are + * defined in pixmap.h, with zero equivalent to M_DRAWABLE. */ - -_X_EXPORT WindowPtr -SecurityLookupWindow(XID rid, ClientPtr client, Mask access_mode) +_X_EXPORT int +dixLookupDrawable(DrawablePtr *pDraw, XID id, ClientPtr client, + Mask type, Mask access) { - client->errorValue = rid; - if(rid == INVALID) - return NULL; - return (WindowPtr)SecurityLookupIDByType(client, rid, RT_WINDOW, access_mode); -} + DrawablePtr pTmp; + RESTYPE rtype; + *pDraw = NULL; + client->errorValue = id; + if (id == INVALID) + return BadDrawable; -_X_EXPORT pointer -SecurityLookupDrawable(XID rid, ClientPtr client, Mask access_mode) -{ - register DrawablePtr pDraw; + if (id == client->lastDrawableID) { + pTmp = client->lastDrawable; - if(rid == INVALID) - return (pointer) NULL; - pDraw = (DrawablePtr)SecurityLookupIDByClass(client, rid, RC_DRAWABLE, - access_mode); - if (pDraw && (pDraw->type != UNDRAWABLE_WINDOW)) - return (pointer)pDraw; - return (pointer)NULL; -} + /* an access check is required for cached drawables */ + rtype = (type & M_WINDOW) ? RT_WINDOW : RT_PIXMAP; + if (!XaceHook(XACE_RESOURCE_ACCESS, client, id, rtype, access, pTmp)) + return BadDrawable; + } else + pTmp = (DrawablePtr)SecurityLookupIDByClass(client, id, RC_DRAWABLE, + access); + if (!pTmp) + return BadDrawable; + if (!((1 << pTmp->type) & (type ? type : M_DRAWABLE))) + return BadMatch; -/* We can't replace the LookupWindow and LookupDrawable functions with - * macros because of compatibility with loadable servers. - */ - -_X_EXPORT WindowPtr -LookupWindow(XID rid, ClientPtr client) -{ - return SecurityLookupWindow(rid, client, SecurityUnknownAccess); -} - -_X_EXPORT pointer -LookupDrawable(XID rid, ClientPtr client) -{ - return SecurityLookupDrawable(rid, client, SecurityUnknownAccess); -} - -#else /* not XACE */ - -WindowPtr -LookupWindow(XID rid, ClientPtr client) -{ - WindowPtr pWin; - - client->errorValue = rid; - if(rid == INVALID) - return NULL; - if (client->lastDrawableID == rid) - { - if (client->lastDrawable->type == DRAWABLE_WINDOW) - return ((WindowPtr) client->lastDrawable); - return (WindowPtr) NULL; - } - pWin = (WindowPtr)LookupIDByType(rid, RT_WINDOW); - if (pWin && pWin->drawable.type == DRAWABLE_WINDOW) { - client->lastDrawable = (DrawablePtr) pWin; - client->lastDrawableID = rid; + if (type & M_DRAWABLE) { + client->lastDrawable = pTmp; + client->lastDrawableID = id; client->lastGCID = INVALID; client->lastGC = (GCPtr)NULL; } - return pWin; + *pDraw = pTmp; + return Success; } - -pointer -LookupDrawable(XID rid, ClientPtr client) +_X_EXPORT int +dixLookupWindow(WindowPtr *pWin, XID id, ClientPtr client, Mask access) { - register DrawablePtr pDraw; - - if(rid == INVALID) - return (pointer) NULL; - if (client->lastDrawableID == rid) - return ((pointer) client->lastDrawable); - pDraw = (DrawablePtr)LookupIDByClass(rid, RC_DRAWABLE); - if (pDraw && (pDraw->type != UNDRAWABLE_WINDOW)) - return (pointer)pDraw; - return (pointer)NULL; + int rc; + rc = dixLookupDrawable((DrawablePtr*)pWin, id, client, M_WINDOW, access); + return (rc == BadDrawable) ? BadWindow : rc; } -#endif /* XACE */ +_X_EXPORT int +dixLookupGC(GCPtr *pGC, XID id, ClientPtr client, Mask access) +{ + GCPtr pTmp = (GCPtr)SecurityLookupIDByType(client, id, RT_GC, access); + if (pTmp) { + *pGC = pTmp; + return Success; + } + client->errorValue = id; + *pGC = NULL; + return BadGC; +} -_X_EXPORT ClientPtr -LookupClient(XID rid, ClientPtr client) +_X_EXPORT int +dixLookupClient(ClientPtr *pClient, XID rid, ClientPtr client, Mask access) { pointer pRes = (pointer)SecurityLookupIDByClass(client, rid, RC_ANY, - SecurityReadAccess); + access); int clientIndex = CLIENT_ID(rid); + client->errorValue = rid; - if (clientIndex && pRes && clients[clientIndex] && !(rid & SERVER_BIT)) - { - return clients[clientIndex]; + if (clientIndex && pRes && clients[clientIndex] && !(rid & SERVER_BIT)) { + *pClient = clients[clientIndex]; + return Success; } - return (ClientPtr)NULL; + *pClient = NULL; + return BadValue; } +/* + * These are deprecated compatibility functions and will be removed soon! + * Please use the new dixLookup*() functions above. + */ +_X_EXPORT _X_DEPRECATED WindowPtr +SecurityLookupWindow(XID id, ClientPtr client, Mask access_mode) +{ + WindowPtr pWin; + int i = dixLookupWindow(&pWin, id, client, access_mode); + static int warn = 1; + if (warn-- > 0) + ErrorF("Warning: LookupWindow()/SecurityLookupWindow() " + "are deprecated. Please convert your driver/module " + "to use dixLookupWindow().\n"); + return (i == Success) ? pWin : NULL; +} + +_X_EXPORT _X_DEPRECATED WindowPtr +LookupWindow(XID id, ClientPtr client) +{ + return SecurityLookupWindow(id, client, DixUnknownAccess); +} + +_X_EXPORT _X_DEPRECATED pointer +SecurityLookupDrawable(XID id, ClientPtr client, Mask access_mode) +{ + DrawablePtr pDraw; + int i = dixLookupDrawable(&pDraw, id, client, M_DRAWABLE, access_mode); + static int warn = 1; + if (warn-- > 0) + ErrorF("Warning: LookupDrawable()/SecurityLookupDrawable() " + "are deprecated. Please convert your driver/module " + "to use dixLookupDrawable().\n"); + return (i == Success) ? pDraw : NULL; +} + +_X_EXPORT _X_DEPRECATED pointer +LookupDrawable(XID id, ClientPtr client) +{ + return SecurityLookupDrawable(id, client, DixUnknownAccess); +} + +_X_EXPORT _X_DEPRECATED ClientPtr +LookupClient(XID id, ClientPtr client) +{ + ClientPtr pClient; + int i = dixLookupClient(&pClient, id, client, DixUnknownAccess); + static int warn = 1; + if (warn-- > 0) + ErrorF("Warning: LookupClient() is deprecated. Please convert your " + "driver/module to use dixLookupClient().\n"); + return (i == Success) ? pClient : NULL; +} + +/* end deprecated functions */ int AlterSaveSetForClient(ClientPtr client, WindowPtr pWin, unsigned mode, @@ -365,8 +392,8 @@ AlterSaveSetForClient(ClientPtr client, WindowPtr pWin, unsigned mode, void DeleteWindowFromAnySaveSet(WindowPtr pWin) { - register int i; - register ClientPtr client; + int i; + ClientPtr client; for (i = 0; i< currentMaxClients; i++) { @@ -407,7 +434,7 @@ static Bool handlerDeleted; void BlockHandler(pointer pTimeout, pointer pReadmask) { - register int i, j; + int i, j; ++inHandler; for (i = 0; i < screenInfo.numScreens; i++) @@ -441,7 +468,7 @@ BlockHandler(pointer pTimeout, pointer pReadmask) void WakeupHandler(int result, pointer pReadmask) { - register int i, j; + int i, j; ++inHandler; for (i = numHandlers - 1; i >= 0; i--) @@ -523,7 +550,7 @@ RemoveBlockAndWakeupHandlers (BlockHandlerProcPtr blockHandler, } void -InitBlockAndWakeupHandlers () +InitBlockAndWakeupHandlers (void) { xfree (handlers); handlers = (BlockHandlerPtr) 0; @@ -855,9 +882,7 @@ static CallbackFuncsRec default_cbfuncs = _DeleteCallbackList }; -/* ===== Public Procedures ===== */ - -Bool +static Bool CreateCallbackList(CallbackListPtr *pcbl, CallbackFuncsPtr cbfuncs) { CallbackListPtr cbl; @@ -889,6 +914,8 @@ CreateCallbackList(CallbackListPtr *pcbl, CallbackFuncsPtr cbfuncs) return TRUE; } +/* ===== Public Procedures ===== */ + _X_EXPORT Bool AddCallback(CallbackListPtr *pcbl, CallbackProcPtr callback, pointer data) { @@ -923,7 +950,7 @@ DeleteCallbackList(CallbackListPtr *pcbl) } void -InitCallbackManager() +InitCallbackManager(void) { int i; diff --git a/xserver/dix/events.c b/xserver/dix/events.c index c57a30ed8..7b4cab06d 100644 --- a/xserver/dix/events.c +++ b/xserver/dix/events.c @@ -107,12 +107,17 @@ of the copyright holder. ******************************************************************/ +/** @file + * This file handles event delivery and a big part of the server-side protocol + * handling (the parts for input devices). + */ #ifdef HAVE_DIX_CONFIG_H #include #endif #include +#include #include "misc.h" #include "resource.h" #define NEED_EVENTS @@ -131,12 +136,17 @@ of the copyright holder. #include "globals.h" #ifdef XKB -#include +#include +#include extern Bool XkbFilterEvents(ClientPtr, int, xEvent *); #endif -#ifdef XACE #include "xace.h" + +#ifdef XSERVER_DTRACE +#include +typedef const char *string; +#include "Xserver-dtrace.h" #endif #ifdef XEVIE @@ -150,17 +160,20 @@ extern Mask xevieFilters[128]; extern int xevieEventSent; extern int xevieKBEventSent; int xeviegrabState = 0; -xEvent *xeviexE; #endif #include +#include "exglobals.h" #include "exevents.h" +#include "exglobals.h" #include "extnsionst.h" #include "dixevents.h" #include "dixgrabs.h" #include "dispatch.h" - +/** + * Extension events type numbering starts at EXTENSION_EVENT_BASE. + */ #define EXTENSION_EVENT_BASE 64 #define NoSuchEvent 0x80000000 /* so doesn't match NoEventMask */ @@ -206,9 +219,28 @@ _X_EXPORT CallbackListPtr DeviceEventCallback; Mask DontPropagateMasks[DNPMCOUNT]; static int DontPropagateRefCnts[DNPMCOUNT]; -#ifdef DEBUG -static debug_events = 0; -#endif +/** + * Main input device struct. + * inputInfo.pointer + * is the core pointer. Referred to as "virtual core pointer", "VCP", + * "core pointer" or inputInfo.pointer. There is exactly one core pointer, + * but multiple devices may send core events. If a device generates core + * events, those events will appear to originate from the core pointer. + * + * inputInfo.keyboard + * is the core keyboard ("virtual core keyboard", "VCK", "core keyboard"). + * See inputInfo.pointer. + * + * inputInfo.devices + * linked list containing all devices including VCK and VCP. The VCK will + * always be the first entry, the VCP the second entry in the device list. + * + * inputInfo.off_devices + * Devices that have not been initialized and are thus turned off. + * + * inputInfo.numDevices + * Total number of devices. + */ _X_EXPORT InputInfo inputInfo; static struct { @@ -223,12 +255,19 @@ static struct { * The window trace information is used to avoid having to compute all the * windows between the root and the current pointer window each time a button * or key goes down. The grabs on each of those windows must be checked. + * + * @see XYToWindow() for a documentation on how the array is set up. */ static WindowPtr *spriteTrace = (WindowPtr *)NULL; #define ROOT spriteTrace[0] static int spriteTraceSize = 0; static int spriteTraceGood; +/** + * DIX sprite information. This is the sprite as seen from the DIX. It does + * not represent the actual sprite rendered to the screen. + * + */ static struct { CursorPtr current; BoxRec hotLimits; /* logical constraints of hot spot */ @@ -265,6 +304,9 @@ static WindowPtr XYToWindow( int y ); +/** + * Max event opcode. + */ extern int lastEvent; static Mask lastEventMask; @@ -319,11 +361,16 @@ static CARD8 criticalEvents[32] = }; #ifdef PANORAMIX - static void ConfineToShape(RegionPtr shape, int *px, int *py); -static void SyntheticMotion(int x, int y); static void PostNewCursor(void); +#define SyntheticMotion(x, y) \ + PostSyntheticMotion(x, y, noPanoramiXExtension ? 0 : \ + sprite.screen->myNum, \ + syncEvents.playingEvents ? \ + syncEvents.time.milliseconds : \ + currentTime.milliseconds); + static Bool XineramaSetCursorPosition( int x, @@ -647,6 +694,13 @@ XineramaChangeToCursor(CursorPtr cursor) } } +#else +#define SyntheticMotion(x, y) \ + PostSyntheticMotion(x, y, \ + 0, \ + syncEvents.playingEvents ? \ + syncEvents.time.milliseconds : \ + currentTime.milliseconds); #endif /* PANORAMIX */ @@ -666,30 +720,6 @@ SetCriticalEvent(int event) criticalEvents[event >> 3] |= 1 << (event & 7); } -static void -SyntheticMotion(int x, int y) -{ - xEvent xE; - -#ifdef PANORAMIX - /* Translate back to the sprite screen since processInputProc - will translate from sprite screen to screen 0 upon reentry - to the DIX layer */ - if(!noPanoramiXExtension) { - x += panoramiXdataPtr[0].x - panoramiXdataPtr[sprite.screen->myNum].x; - y += panoramiXdataPtr[0].y - panoramiXdataPtr[sprite.screen->myNum].y; - } -#endif - xE.u.keyButtonPointer.rootX = x; - xE.u.keyButtonPointer.rootY = y; - if (syncEvents.playingEvents) - xE.u.keyButtonPointer.time = syncEvents.time.milliseconds; - else - xE.u.keyButtonPointer.time = currentTime.milliseconds; - xE.u.u.type = MotionNotify; - (*inputInfo.pointer->public.processInputProc)(&xE, inputInfo.pointer, 1); -} - #ifdef SHAPE static void ConfineToShape(RegionPtr shape, int *px, int *py) @@ -775,8 +805,8 @@ CheckPhysLimits( static void CheckVirtualMotion( - register QdEventPtr qe, - register WindowPtr pWin) + QdEventPtr qe, + WindowPtr pWin) { #ifdef PANORAMIX if(!noPanoramiXExtension) { @@ -858,11 +888,18 @@ ConfineCursorToWindow(WindowPtr pWin, Bool generateEvents, Bool confineToScreen) } _X_EXPORT Bool -PointerConfinedToScreen() +PointerConfinedToScreen(void) { return sprite.confined; } +/** + * Update the sprite cursor to the given cursor. + * + * ChangeToCursor() will display the new cursor and free the old cursor (if + * applicable). If the provided cursor is already the updated cursor, nothing + * happens. + */ static void ChangeToCursor(CursorPtr cursor) { @@ -887,20 +924,27 @@ ChangeToCursor(CursorPtr cursor) } } -/* returns true if b is a descendent of a */ +/** + * @returns true if b is a descendent of a + */ Bool -IsParent(register WindowPtr a, register WindowPtr b) +IsParent(WindowPtr a, WindowPtr b) { for (b = b->parent; b; b = b->parent) if (b == a) return TRUE; return FALSE; } +/** + * Update the cursor displayed on the screen. + * + * Called whenever a cursor may have changed shape or position. + */ static void PostNewCursor(void) { - register WindowPtr win; - register GrabPtr grab = inputInfo.pointer->grab; + WindowPtr win; + GrabPtr grab = inputInfo.pointer->grab; if (syncEvents.playingEvents) return; @@ -926,24 +970,36 @@ PostNewCursor(void) } } +/** + * @return root window of current active screen. + */ _X_EXPORT WindowPtr -GetCurrentRootWindow() +GetCurrentRootWindow(void) { return ROOT; } +/** + * @return window underneath the cursor sprite. + */ _X_EXPORT WindowPtr -GetSpriteWindow() +GetSpriteWindow(void) { return sprite.win; } +/** + * @return current sprite cursor. + */ _X_EXPORT CursorPtr -GetSpriteCursor() +GetSpriteCursor(void) { return sprite.current; } +/** + * Set x/y current sprite position in screen coordinates. + */ _X_EXPORT void GetSpritePosition(int *px, int *py) { @@ -953,7 +1009,7 @@ GetSpritePosition(int *px, int *py) #ifdef PANORAMIX _X_EXPORT int -XineramaGetCursorScreen() +XineramaGetCursorScreen(void) { if(!noPanoramiXExtension) { return sprite.screen->myNum; @@ -966,7 +1022,7 @@ XineramaGetCursorScreen() #define TIMESLOP (5 * 60 * 1000) /* 5 minutes */ static void -MonthChangedOrBadTime(register xEvent *xE) +MonthChangedOrBadTime(xEvent *xE) { /* If the ddx/OS is careless about not processing timestamped events from * different sources in sorted order, then it's possible for time to go @@ -985,7 +1041,7 @@ MonthChangedOrBadTime(register xEvent *xE) lastDeviceEventTime = currentTime; } void -NoticeEventTime(register xEvent *xE) +NoticeEventTime(xEvent *xE) { if (!syncEvents.playingEvents) NoticeTime(xE); @@ -998,8 +1054,8 @@ NoticeEventTime(register xEvent *xE) void EnqueueEvent(xEvent *xE, DeviceIntPtr device, int count) { - register QdEventPtr tail = *syncEvents.pendtail; - register QdEventPtr qe; + QdEventPtr tail = *syncEvents.pendtail; + QdEventPtr qe; xEvent *qxE; NoticeTime(xE); @@ -1073,8 +1129,8 @@ EnqueueEvent(xEvent *xE, DeviceIntPtr device, int count) static void PlayReleasedEvents(void) { - register QdEventPtr *prev, qe; - register DeviceIntPtr dev; + QdEventPtr *prev, qe; + DeviceIntPtr dev; prev = &syncEvents.pending; while ( (qe = *prev) ) @@ -1118,7 +1174,7 @@ PlayReleasedEvents(void) } static void -FreezeThaw(register DeviceIntPtr dev, Bool frozen) +FreezeThaw(DeviceIntPtr dev, Bool frozen) { dev->sync.frozen = frozen; if (frozen) @@ -1128,15 +1184,15 @@ FreezeThaw(register DeviceIntPtr dev, Bool frozen) } void -ComputeFreezes() +ComputeFreezes(void) { - register DeviceIntPtr replayDev = syncEvents.replayDev; - register int i; + DeviceIntPtr replayDev = syncEvents.replayDev; + int i; WindowPtr w; - register xEvent *xE; + xEvent *xE; int count; GrabPtr grab; - register DeviceIntPtr dev; + DeviceIntPtr dev; for (dev = inputInfo.devices; dev; dev = dev->next) FreezeThaw(dev, dev->sync.other || (dev->sync.state >= FROZEN)); @@ -1212,10 +1268,10 @@ ScreenRestructured (ScreenPtr pScreen) #endif void -CheckGrabForSyncs(register DeviceIntPtr thisDev, Bool thisMode, Bool otherMode) +CheckGrabForSyncs(DeviceIntPtr thisDev, Bool thisMode, Bool otherMode) { - register GrabPtr grab = thisDev->grab; - register DeviceIntPtr dev; + GrabPtr grab = thisDev->grab; + DeviceIntPtr dev; if (thisMode == GrabModeSync) thisDev->sync.state = FROZEN_NO_EVENT; @@ -1245,8 +1301,21 @@ CheckGrabForSyncs(register DeviceIntPtr thisDev, Bool thisMode, Bool otherMode) ComputeFreezes(); } +/** + * Activate a pointer grab on the given device. A pointer grab will cause all + * core pointer events to be delivered to the grabbing client only. Can cause + * the cursor to change if a grab cursor is set. + * + * As a pointer grab can only be issued on the core devices, mouse is always + * inputInfo.pointer. Extension devices are set up for ActivateKeyboardGrab(). + * + * @param mouse The device to grab. + * @param grab The grab structure, needs to be setup. + * @param autoGrab True if the grab was caused by a button down event and not + * explicitely by a client. + */ void -ActivatePointerGrab(register DeviceIntPtr mouse, register GrabPtr grab, +ActivatePointerGrab(DeviceIntPtr mouse, GrabPtr grab, TimeStamp time, Bool autoGrab) { WindowPtr oldWin = (mouse->grab) ? mouse->grab->window @@ -1273,11 +1342,17 @@ ActivatePointerGrab(register DeviceIntPtr mouse, register GrabPtr grab, CheckGrabForSyncs(mouse,(Bool)grab->pointerMode, (Bool)grab->keyboardMode); } +/** + * Delete grab on given device, update the sprite. + * + * As a pointer grab can only be issued on the core devices, mouse is always + * inputInfo.pointer. Extension devices are set up for ActivateKeyboardGrab(). + */ void -DeactivatePointerGrab(register DeviceIntPtr mouse) +DeactivatePointerGrab(DeviceIntPtr mouse) { - register GrabPtr grab = mouse->grab; - register DeviceIntPtr dev; + GrabPtr grab = mouse->grab; + DeviceIntPtr dev; mouse->valuator->motionHintWindow = NullWindow; mouse->grab = NullGrab; @@ -1297,8 +1372,13 @@ DeactivatePointerGrab(register DeviceIntPtr mouse) ComputeFreezes(); } +/** + * Activate a keyboard grab on the given device. + * + * Extension devices have ActivateKeyboardGrab() set as their grabbing proc. + */ void -ActivateKeyboardGrab(register DeviceIntPtr keybd, GrabPtr grab, TimeStamp time, Bool passive) +ActivateKeyboardGrab(DeviceIntPtr keybd, GrabPtr grab, TimeStamp time, Bool passive) { WindowPtr oldWin; @@ -1323,12 +1403,15 @@ ActivateKeyboardGrab(register DeviceIntPtr keybd, GrabPtr grab, TimeStamp time, CheckGrabForSyncs(keybd, (Bool)grab->keyboardMode, (Bool)grab->pointerMode); } +/** + * Delete keyboard grab for the given device. + */ void -DeactivateKeyboardGrab(register DeviceIntPtr keybd) +DeactivateKeyboardGrab(DeviceIntPtr keybd) { - register GrabPtr grab = keybd->grab; - register DeviceIntPtr dev; - register WindowPtr focusWin = keybd->focus ? keybd->focus->win + GrabPtr grab = keybd->grab; + DeviceIntPtr dev; + WindowPtr focusWin = keybd->focus ? keybd->focus->win : sprite.win; if (focusWin == FollowKeyboardWin) @@ -1352,7 +1435,7 @@ AllowSome(ClientPtr client, TimeStamp time, DeviceIntPtr thisDev, int newState) { Bool thisGrabbed, otherGrabbed, othersFrozen, thisSynced; TimeStamp grabTime; - register DeviceIntPtr dev; + DeviceIntPtr dev; thisGrabbed = thisDev->grab && SameClient(thisDev->grab, client); thisSynced = FALSE; @@ -1455,8 +1538,13 @@ AllowSome(ClientPtr client, TimeStamp time, DeviceIntPtr thisDev, int newState) } } +/** + * Server-side protocol handling for AllowEvents request. + * + * Release some events from a frozen device. Only applicable for core devices. + */ int -ProcAllowEvents(register ClientPtr client) +ProcAllowEvents(ClientPtr client) { TimeStamp time; DeviceIntPtr mouse = inputInfo.pointer; @@ -1498,10 +1586,13 @@ ProcAllowEvents(register ClientPtr client) return Success; } +/** + * Deactivate grabs from any device that has been grabbed by the client. + */ void ReleaseActiveGrabs(ClientPtr client) { - register DeviceIntPtr dev; + DeviceIntPtr dev; Bool done; /* XXX CloseDownClient should remove passive grabs before @@ -1524,6 +1615,30 @@ ReleaseActiveGrabs(ClientPtr client) * The following procedures deal with delivering events * **************************************************************************/ +/** + * Deliver the given events to the given client. + * + * More than one event may be delivered at a time. This is the case with + * DeviceMotionNotifies which may be followed by DeviceValuator events. + * + * TryClientEvents() is the last station before actually writing the events to + * the socket. Anything that is not filtered here, will get delivered to the + * client. + * An event is only delivered if + * - mask and filter match up. + * - no other client has a grab on the device that caused the event. + * + * + * @param client The target client to deliver to. + * @param pEvents The events to be delivered. + * @param count Number of elements in pEvents. + * @param mask Event mask as set by the window. + * @param filter Mask based on event type. + * @param grab Possible grab on the device that caused the event. + * + * @return 1 if event was delivered, 0 if not or -1 if grab was not set by the + * client. + */ _X_EXPORT int TryClientEvents (ClientPtr client, xEvent *pEvents, int count, Mask mask, Mask filter, GrabPtr grab) @@ -1531,9 +1646,8 @@ TryClientEvents (ClientPtr client, xEvent *pEvents, int count, Mask mask, int i; int type; -#ifdef DEBUG - if (debug_events) ErrorF( - "Event([%d, %d], mask=0x%x), client=%d", +#ifdef DEBUG_EVENTS + ErrorF("Event([%d, %d], mask=0x%x), client=%d", pEvents->u.u.type, pEvents->u.u.detail, mask, client->index); #endif if ((client) && (client != serverClient) && (!client->clientGone) && @@ -1549,9 +1663,9 @@ TryClientEvents (ClientPtr client, xEvent *pEvents, int count, Mask mask, if (WID(inputInfo.pointer->valuator->motionHintWindow) == pEvents->u.keyButtonPointer.event) { -#ifdef DEBUG - if (debug_events) ErrorF("\n"); - fprintf(stderr,"motionHintWindow == keyButtonPointer.event\n"); +#ifdef DEBUG_EVENTS + ErrorF("\n"); + ErrorF("motionHintWindow == keyButtonPointer.event\n"); #endif return 1; /* don't send, but pretend we did */ } @@ -1589,27 +1703,44 @@ TryClientEvents (ClientPtr client, xEvent *pEvents, int count, Mask mask, } WriteEventsToClient(client, count, pEvents); -#ifdef DEBUG - if (debug_events) ErrorF( " delivered\n"); +#ifdef DEBUG_EVENTS + ErrorF( " delivered\n"); #endif return 1; } else { -#ifdef DEBUG - if (debug_events) ErrorF("\n"); +#ifdef DEBUG_EVENTS + ErrorF("\n"); #endif return 0; } } +/** + * Deliver events to a window. At this point, we do not yet know if the event + * actually needs to be delivered. May activate a grab if the event is a + * button press. + * + * More than one event may be delivered at a time. This is the case with + * DeviceMotionNotifies which may be followed by DeviceValuator events. + * + * @param pWin The window that would get the event. + * @param pEvents The events to be delivered. + * @param count Number of elements in pEvents. + * @param filter Mask based on event type. + * @param grab Possible grab on the device that caused the event. + * @param mskidx Mask index, depending on device that caused event. + * + * @return Number of events delivered to various clients. + */ int -DeliverEventsToWindow(register WindowPtr pWin, xEvent *pEvents, int count, +DeliverEventsToWindow(WindowPtr pWin, xEvent *pEvents, int count, Mask filter, GrabPtr grab, int mskidx) { int deliveries = 0, nondeliveries = 0; int attempt; - register InputClients *other; + InputClients *other; ClientPtr client = NullClient; Mask deliveryMask = 0; /* If a grab occurs due to a button press, then this mask is the mask of the grab. */ @@ -1722,11 +1853,20 @@ XineramaTryClientEventsResult( } #endif +/** + * Try to deliver events to the interested parties. + * + * @param pWin The window that would get the event. + * @param pEvents The events to be delivered. + * @param count Number of elements in pEvents. + * @param filter Mask based on event type. + * @param dontClient Don't deliver to the dontClient. + */ int -MaybeDeliverEventsToClient(register WindowPtr pWin, xEvent *pEvents, +MaybeDeliverEventsToClient(WindowPtr pWin, xEvent *pEvents, int count, Mask filter, ClientPtr dontClient) { - register OtherClients *other; + OtherClients *other; if (pWin->eventMask & filter) @@ -1759,6 +1899,14 @@ MaybeDeliverEventsToClient(register WindowPtr pWin, xEvent *pEvents, return 2; } +/** + * Adjust event fields to comply with the window properties. + * + * @param xE Event to be modified in place + * @param pWin The window to get the information from. + * @param child Child window setting for event (if applicable) + * @param calcChild If True, calculate the child window. + */ static void FixUpEventFromWindow( xEvent *xE, @@ -1813,9 +1961,25 @@ FixUpEventFromWindow( } } +/** + * Deliver events caused by input devices. Called for all core input events + * and XI events. No filtering of events happens before DeliverDeviceEvents(), + * it will be called for any event that comes out of the event queue. + * + * For all core events, dev is either inputInfo.pointer or inputInfo.keyboard. + * For all extension events, dev is the device that caused the event. + * + * @param pWin Window to deliver event to. + * @param xE Events to deliver. + * @param grab Possible grab on a device. + * @param stopAt Don't recurse up to the root window. + * @param dev The device that is responsible for the event. + * @param count number of events in xE. + * + */ int -DeliverDeviceEvents(register WindowPtr pWin, register xEvent *xE, GrabPtr grab, - register WindowPtr stopAt, DeviceIntPtr dev, int count) +DeliverDeviceEvents(WindowPtr pWin, xEvent *xE, GrabPtr grab, + WindowPtr stopAt, DeviceIntPtr dev, int count) { Window child = None; int type = xE->u.u.type; @@ -1824,7 +1988,7 @@ DeliverDeviceEvents(register WindowPtr pWin, register xEvent *xE, GrabPtr grab, if (type & EXTENSION_EVENT_BASE) { - register OtherInputMasks *inputMasks; + OtherInputMasks *inputMasks; int mskidx = dev->id; inputMasks = wOtherInputMasks(pWin); @@ -1876,10 +2040,22 @@ DeliverDeviceEvents(register WindowPtr pWin, register xEvent *xE, GrabPtr grab, return 0; } -/* not useful for events that propagate up the tree or extension events */ +/** + * Deliver event to a window and it's immediate parent. Used for most window + * events (CreateNotify, ConfigureNotify, etc.). Not useful for events that + * propagate up the tree or extension events + * + * In case of a ReparentNotify event, the event will be delivered to the + * otherParent as well. + * + * @param pWin Window to deliver events to. + * @param xE Events to deliver. + * @param count number of events in xE. + * @param otherParent Used for ReparentNotify events. + */ _X_EXPORT int -DeliverEvents(register WindowPtr pWin, register xEvent *xE, int count, - register WindowPtr otherParent) +DeliverEvents(WindowPtr pWin, xEvent *xE, int count, + WindowPtr otherParent) { Mask filter; int deliveries; @@ -1941,10 +2117,21 @@ PointInBorderSize(WindowPtr pWin, int x, int y) return FALSE; } +/** + * Traversed from the root window to the window at the position x/y. While + * traversing, it sets up the traversal history in the spriteTrace array. + * After completing, the spriteTrace history is set in the following way: + * spriteTrace[0] ... root window + * spriteTrace[1] ... top level window that encloses x/y + * ... + * spriteTrace[spriteTraceGood - 1] ... window at x/y + * + * @returns the window at the given coordinates. + */ static WindowPtr XYToWindow(int x, int y) { - register WindowPtr pWin; + WindowPtr pWin; BoxRec box; spriteTraceGood = 1; /* root window still there */ @@ -1989,6 +2176,12 @@ XYToWindow(int x, int y) return spriteTrace[spriteTraceGood-1]; } +/** + * Update the sprite coordinates based on the event. Update the cursor + * position, then update the event with the new coordinates that may have been + * changed. If the window underneath the sprite has changed, change to new + * cursor and send enter/leave events. + */ static Bool CheckMotion(xEvent *xE) { @@ -2061,8 +2254,12 @@ CheckMotion(xEvent *xE) return TRUE; } +/** + * Windows have restructured, we need to update the sprite position and the + * sprite's cursor. + */ _X_EXPORT void -WindowsRestructured() +WindowsRestructured(void) { (void) CheckMotion((xEvent *)NULL); } @@ -2106,10 +2303,14 @@ void ReinitializeRootWindow(WindowPtr win, int xoff, int yoff) } #endif +/** + * Set the given window to sane values, display the cursor in the center of + * the screen. Called from main() with the root window on the first screen. + */ void -DefineInitialRootWindow(register WindowPtr win) +DefineInitialRootWindow(WindowPtr win) { - register ScreenPtr pScreen = win->drawable.pScreen; + ScreenPtr pScreen = win->drawable.pScreen; sprite.hotPhys.pScreen = pScreen; sprite.hotPhys.x = pScreen->width / 2; @@ -2243,16 +2444,15 @@ static int XineramaWarpPointer(ClientPtr client) { WindowPtr dest = NULL; - int x, y; + int x, y, rc; REQUEST(xWarpPointerReq); - if (stuff->dstWid != None) - { - dest = SecurityLookupWindow(stuff->dstWid, client, SecurityReadAccess); - if (!dest) - return BadWindow; + if (stuff->dstWid != None) { + rc = dixLookupWindow(&dest, stuff->dstWid, client, DixReadAccess); + if (rc != Success) + return rc; } x = sprite.hotPhys.x; y = sprite.hotPhys.y; @@ -2263,8 +2463,9 @@ XineramaWarpPointer(ClientPtr client) XID winID = stuff->srcWid; WindowPtr source; - source = SecurityLookupWindow(winID, client, SecurityReadAccess); - if (!source) return BadWindow; + rc = dixLookupWindow(&source, winID, client, DixReadAccess); + if (rc != Success) + return rc; winX = source->drawable.x; winY = source->drawable.y; @@ -2312,11 +2513,15 @@ XineramaWarpPointer(ClientPtr client) #endif +/** + * Server-side protocol handling for WarpPointer request. + * Warps the cursor position to the coordinates given in the request. + */ int ProcWarpPointer(ClientPtr client) { WindowPtr dest = NULL; - int x, y; + int x, y, rc; ScreenPtr newScreen; REQUEST(xWarpPointerReq); @@ -2328,11 +2533,10 @@ ProcWarpPointer(ClientPtr client) return XineramaWarpPointer(client); #endif - if (stuff->dstWid != None) - { - dest = SecurityLookupWindow(stuff->dstWid, client, SecurityReadAccess); - if (!dest) - return BadWindow; + if (stuff->dstWid != None) { + rc = dixLookupWindow(&dest, stuff->dstWid, client, DixReadAccess); + if (rc != Success) + return rc; } x = sprite.hotPhys.x; y = sprite.hotPhys.y; @@ -2343,8 +2547,9 @@ ProcWarpPointer(ClientPtr client) XID winID = stuff->srcWid; WindowPtr source; - source = SecurityLookupWindow(winID, client, SecurityReadAccess); - if (!source) return BadWindow; + rc = dixLookupWindow(&source, winID, client, DixReadAccess); + if (rc != Success) + return rc; winX = source->drawable.x; winY = source->drawable.y; @@ -2420,19 +2625,27 @@ BorderSizeNotEmpty(WindowPtr pWin) return FALSE; } -/* "CheckPassiveGrabsOnWindow" checks to see if the event passed in causes a - passive grab set on the window to be activated. */ +/** + * "CheckPassiveGrabsOnWindow" checks to see if the event passed in causes a + * passive grab set on the window to be activated. + * If a passive grab is activated, the event will be delivered to the client. + * + * @param pWin The window that may be subject to a passive grab. + * @param device Device that caused the event. + * @param xE List of events (multiple ones for DeviceMotionNotify) + * @count number of elements in xE. + */ static Bool CheckPassiveGrabsOnWindow( WindowPtr pWin, - register DeviceIntPtr device, - register xEvent *xE, + DeviceIntPtr device, + xEvent *xE, int count) { - register GrabPtr grab = wPassiveGrabs(pWin); + GrabPtr grab = wPassiveGrabs(pWin); GrabRec tempGrab; - register xEvent *dxE; + xEvent *dxE; if (!grab) return FALSE; @@ -2476,10 +2689,8 @@ CheckPassiveGrabsOnWindow( (grab->confineTo->realized && BorderSizeNotEmpty(grab->confineTo)))) { -#ifdef XACE if (!XaceHook(XACE_DEVICE_ACCESS, wClient(pWin), device, FALSE)) return FALSE; -#endif #ifdef XKB if (!noXkbExtension) { XE_KBPTR.state &= 0x1f00; @@ -2517,25 +2728,35 @@ CheckPassiveGrabsOnWindow( } /** -"CheckDeviceGrabs" handles both keyboard and pointer events that may cause -a passive grab to be activated. If the event is a keyboard event, the -ancestors of the focus window are traced down and tried to see if they have -any passive grabs to be activated. If the focus window itself is reached and -it's descendants contain they pointer, the ancestors of the window that the -pointer is in are then traced down starting at the focus window, otherwise no -grabs are activated. If the event is a pointer event, the ancestors of the -window that the pointer is in are traced down starting at the root until -CheckPassiveGrabs causes a passive grab to activate or all the windows are -tried. PRH + * CheckDeviceGrabs handles both keyboard and pointer events that may cause + * a passive grab to be activated. + * + * If the event is a keyboard event, the ancestors of the focus window are + * traced down and tried to see if they have any passive grabs to be + * activated. If the focus window itself is reached and it's descendants + * contain the pointer, the ancestors of the window that the pointer is in + * are then traced down starting at the focus window, otherwise no grabs are + * activated. + * If the event is a pointer event, the ancestors of the window that the + * pointer is in are traced down starting at the root until CheckPassiveGrabs + * causes a passive grab to activate or all the windows are + * tried. PRH + * + * If a grab is activated, the event has been sent to the client already! + * + * @param device The device that caused the event. + * @param xE The event to handle (most likely {Device}ButtonPress). + * @param count Number of events in list. + * @return TRUE if a grab has been activated or false otherwise. */ Bool -CheckDeviceGrabs(register DeviceIntPtr device, register xEvent *xE, +CheckDeviceGrabs(DeviceIntPtr device, xEvent *xE, int checkFirst, int count) { - register int i; - register WindowPtr pWin = NULL; - register FocusClassPtr focus = device->focus; + int i; + WindowPtr pWin = NULL; + FocusClassPtr focus = device->focus; if (((xE->u.u.type == ButtonPress) #if defined(XINPUT) && defined(XKB) @@ -2573,6 +2794,16 @@ CheckDeviceGrabs(register DeviceIntPtr device, register xEvent *xE, return FALSE; } +/** + * Called for keyboard events to deliver event to whatever client owns the + * focus. Event is delivered to the keyboard's focus window, the root window + * or to the window owning the input focus. + * + * @param keybd The keyboard originating the event. + * @param xE The event list. + * @param window Window underneath the sprite. + * @param count number of events in xE. + */ void DeliverFocusedEvent(DeviceIntPtr keybd, xEvent *xE, WindowPtr window, int count) { @@ -2601,14 +2832,21 @@ DeliverFocusedEvent(DeviceIntPtr keybd, xEvent *xE, WindowPtr window, int count) NullGrab, mskidx); } +/** + * Deliver an event from a device that is currently grabbed. Uses + * DeliverDeviceEvents() for further delivery if a ownerEvents is set on the + * grab. If not, TryClientEvents() is used. + * + * @param deactivateGrab True if the device's grab should be deactivated. + */ void -DeliverGrabbedEvent(register xEvent *xE, register DeviceIntPtr thisDev, +DeliverGrabbedEvent(xEvent *xE, DeviceIntPtr thisDev, Bool deactivateGrab, int count) { - register GrabPtr grab = thisDev->grab; + GrabPtr grab = thisDev->grab; int deliveries = 0; - register DeviceIntPtr dev; - register xEvent *dxE; + DeviceIntPtr dev; + xEvent *dxE; if (grab->ownerEvents) { @@ -2683,21 +2921,32 @@ DeliverGrabbedEvent(register xEvent *xE, register DeviceIntPtr thisDev, } } +/** + * Main keyboard event processing function for core keyboard events. + * Updates the events fields from the current pointer state and delivers the + * event. + * + * For key events, xE will always be a single event. + * + * @param xE Event list + * @param keybd The device that caused an event. + * @param count Number of elements in xE. + */ void #ifdef XKB -CoreProcessKeyboardEvent (register xEvent *xE, register DeviceIntPtr keybd, int count) +CoreProcessKeyboardEvent (xEvent *xE, DeviceIntPtr keybd, int count) #else -ProcessKeyboardEvent (register xEvent *xE, register DeviceIntPtr keybd, int count) +ProcessKeyboardEvent (xEvent *xE, DeviceIntPtr keybd, int count) #endif { int key, bit; - register BYTE *kptr; - register int i; - register CARD8 modifiers; - register CARD16 mask; + BYTE *kptr; + int i; + CARD8 modifiers; + CARD16 mask; GrabPtr grab = keybd->grab; Bool deactivateGrab = FALSE; - register KeyClassPtr keyc = keybd->key; + KeyClassPtr keyc = keybd->key; #ifdef XEVIE static Window rootWin = 0; @@ -2776,13 +3025,6 @@ drawable.id:0; } #endif -#ifdef DEBUG - if ((xkbDebugFlags&0x4)&& - ((xE->u.u.type==KeyPress)||(xE->u.u.type==KeyRelease))) { - ErrorF("CoreProcessKbdEvent: Key %d %s\n",key, - (xE->u.u.type==KeyPress?"down":"up")); - } -#endif switch (xE->u.u.type) { case KeyPress: @@ -2847,9 +3089,7 @@ drawable.id:0; if (deactivateGrab) (*keybd->DeactivateGrab)(keybd); -#ifdef XACE XaceHook(XACE_KEY_AVAIL, xE, keybd, count); -#endif } #ifdef XKB @@ -2858,22 +3098,21 @@ drawable.id:0; CoreProcessKeyEvent to be called, as in for example Mouse Keys. */ void -FixKeyState (register xEvent *xE, register DeviceIntPtr keybd) +FixKeyState (xEvent *xE, DeviceIntPtr keybd) { int key, bit; - register BYTE *kptr; - register KeyClassPtr keyc = keybd->key; + BYTE *kptr; + KeyClassPtr keyc = keybd->key; key = xE->u.u.detail; kptr = &keyc->down[key >> 3]; bit = 1 << (key & 7); -#ifdef DEBUG - if ((xkbDebugFlags&0x4)&& - ((xE->u.u.type==KeyPress)||(xE->u.u.type==KeyRelease))) { - ErrorF("FixKeyState: Key %d %s\n",key, + + if (((xE->u.u.type==KeyPress)||(xE->u.u.type==KeyRelease))) { + DebugF("FixKeyState: Key %d %s\n",key, (xE->u.u.type==KeyPress?"down":"up")); } -#endif + switch (xE->u.u.type) { case KeyPress: @@ -2888,16 +3127,28 @@ FixKeyState (register xEvent *xE, register DeviceIntPtr keybd) } #endif +/** + * Main pointer event processing function for core pointer events. + * For motion events: update the sprite. + * For all other events: Update the event fields based on the current sprite + * state. + * + * For core pointer events, xE will always be a single event. + * + * @param xE Event list + * @param mouse The device that caused an event. + * @param count Number of elements in xE. + */ void #ifdef XKB -CoreProcessPointerEvent (register xEvent *xE, register DeviceIntPtr mouse, int count) +CoreProcessPointerEvent (xEvent *xE, DeviceIntPtr mouse, int count) #else -ProcessPointerEvent (register xEvent *xE, register DeviceIntPtr mouse, int count) +ProcessPointerEvent (xEvent *xE, DeviceIntPtr mouse, int count) #endif { - register GrabPtr grab = mouse->grab; + GrabPtr grab = mouse->grab; Bool deactivateGrab = FALSE; - register ButtonClassPtr butc = mouse->button; + ButtonClassPtr butc = mouse->button; #ifdef XKB XkbSrvInfoPtr xkbi= inputInfo.keyboard->key->xkbInfo; #endif @@ -2941,8 +3192,8 @@ ProcessPointerEvent (register xEvent *xE, register DeviceIntPtr mouse, int count } if (xE->u.u.type != MotionNotify) { - register int key; - register BYTE *kptr; + int key; + BYTE *kptr; int bit; XE_KBPTR.rootX = sprite.hot.x; @@ -3001,12 +3252,24 @@ ProcessPointerEvent (register xEvent *xE, register DeviceIntPtr mouse, int count #define AtMostOneClient \ (SubstructureRedirectMask | ResizeRedirectMask | ButtonPressMask) +/** + * Recalculate which events may be deliverable for the given window. + * Recalculated mask is used for quicker determination which events may be + * delivered to a window. + * + * The otherEventMasks on a WindowOptional is the combination of all event + * masks set by all clients on the window. + * deliverableEventMask is the combination of the eventMask and the + * otherEventMask. + * + * Traverses to siblings and parents of the window. + */ void RecalculateDeliverableEvents(pWin) - register WindowPtr pWin; + WindowPtr pWin; { - register OtherClients *others; - register WindowPtr pChild; + OtherClients *others; + WindowPtr pChild; pChild = pWin; while (1) @@ -3045,8 +3308,8 @@ RecalculateDeliverableEvents(pWin) int OtherClientGone(pointer value, XID id) { - register OtherClientsPtr other, prev; - register WindowPtr pWin = (WindowPtr)value; + OtherClientsPtr other, prev; + WindowPtr pWin = (WindowPtr)value; prev = 0; for (other = wOtherClients(pWin); other; other = other->next) @@ -3072,7 +3335,7 @@ OtherClientGone(pointer value, XID id) } int -EventSelectForWindow(register WindowPtr pWin, register ClientPtr client, Mask mask) +EventSelectForWindow(WindowPtr pWin, ClientPtr client, Mask mask) { Mask check; OtherClients * others; @@ -3101,12 +3364,7 @@ EventSelectForWindow(register WindowPtr pWin, register ClientPtr client, Mask ma if (wClient (pWin) == client) { check = pWin->eventMask; -#ifdef SGIMISC - pWin->eventMask = - (mask & ~SGIMiscSpecialDestroyMask) | (pWin->eventMask & SGIMiscSpecialDestroyMask); -#else pWin->eventMask = mask; -#endif } else { @@ -3115,9 +3373,6 @@ EventSelectForWindow(register WindowPtr pWin, register ClientPtr client, Mask ma if (SameClient(others, client)) { check = others->mask; -#ifdef SGIMISC - mask = (mask & ~SGIMiscSpecialDestroyMask) | (others->mask & SGIMiscSpecialDestroyMask); -#endif if (mask == 0) { FreeResource(others->resource, RT_NONE); @@ -3152,10 +3407,10 @@ maskSet: } int -EventSuppressForWindow(register WindowPtr pWin, register ClientPtr client, +EventSuppressForWindow(WindowPtr pWin, ClientPtr client, Mask mask, Bool *checkOptional) { - register int i, free; + int i, free; if (mask & ~PropagateMask) { @@ -3207,29 +3462,36 @@ EventSuppressForWindow(register WindowPtr pWin, register ClientPtr client, return Success; } +/** + * @return The window that is the first ancestor of both a and b. + */ static WindowPtr CommonAncestor( - register WindowPtr a, - register WindowPtr b) + WindowPtr a, + WindowPtr b) { for (b = b->parent; b; b = b->parent) if (IsParent(b, a)) return b; return NullWindow; } +/** + * Assembles an EnterNotify or LeaveNotify and sends it event to the client. + * The core devices are used to fill in the event fields. + */ static void EnterLeaveEvent( int type, int mode, int detail, - register WindowPtr pWin, + WindowPtr pWin, Window child) { xEvent event; - register DeviceIntPtr keybd = inputInfo.keyboard; + DeviceIntPtr keybd = inputInfo.keyboard; WindowPtr focus; - register DeviceIntPtr mouse = inputInfo.pointer; - register GrabPtr grab = mouse->grab; + DeviceIntPtr mouse = inputInfo.pointer; + GrabPtr grab = mouse->grab; Mask mask; if ((pWin == mouse->valuator->motionHintWindow) && @@ -3282,17 +3544,13 @@ EnterLeaveEvent( if ((type == EnterNotify) && (mask & KeymapStateMask)) { xKeymapEvent ke; - -#ifdef XACE ClientPtr client = grab ? rClient(grab) : clients[CLIENT_ID(pWin->drawable.id)]; - if (!XaceHook(XACE_DEVICE_ACCESS, client, keybd, FALSE)) - { - bzero((char *)&ke.map[0], 31); - } + if (XaceHook(XACE_DEVICE_ACCESS, client, keybd, FALSE)) + memmove((char *)&ke.map[0], (char *)&keybd->key->down[1], 31); else -#endif - memmove((char *)&ke.map[0], (char *)&keybd->key->down[1], 31); + bzero((char *)&ke.map[0], 31); + ke.type = KeymapNotify; if (grab) (void)TryClientEvents(rClient(grab), (xEvent *)&ke, 1, mask, @@ -3303,6 +3561,10 @@ EnterLeaveEvent( } } +/** + * Send enter notifies to all parent windows up to ancestor. + * This function recurses. + */ static void EnterNotifies(WindowPtr ancestor, WindowPtr child, int mode, int detail) { @@ -3314,10 +3576,15 @@ EnterNotifies(WindowPtr ancestor, WindowPtr child, int mode, int detail) EnterLeaveEvent(EnterNotify, mode, detail, parent, child->drawable.id); } + +/** + * Send leave notifies to all parent windows up to ancestor. + * This function recurses. + */ static void LeaveNotifies(WindowPtr child, WindowPtr ancestor, int mode, int detail) { - register WindowPtr pWin; + WindowPtr pWin; if (ancestor == child) return; @@ -3328,6 +3595,13 @@ LeaveNotifies(WindowPtr child, WindowPtr ancestor, int mode, int detail) } } +/** + * Figure out if enter/leave events are necessary and send them to the + * appropriate windows. + * + * @param fromWin Window the sprite moved out of. + * @param toWin Window the sprite moved into. + */ static void DoEnterLeaveEvents(WindowPtr fromWin, WindowPtr toWin, int mode) { @@ -3357,7 +3631,7 @@ DoEnterLeaveEvents(WindowPtr fromWin, WindowPtr toWin, int mode) } static void -FocusEvent(DeviceIntPtr dev, int type, int mode, int detail, register WindowPtr pWin) +FocusEvent(DeviceIntPtr dev, int type, int mode, int detail, WindowPtr pWin) { xEvent event; @@ -3378,15 +3652,12 @@ FocusEvent(DeviceIntPtr dev, int type, int mode, int detail, register WindowPtr ((pWin->eventMask | wOtherEventMasks(pWin)) & KeymapStateMask)) { xKeymapEvent ke; -#ifdef XACE ClientPtr client = clients[CLIENT_ID(pWin->drawable.id)]; - if (!XaceHook(XACE_DEVICE_ACCESS, client, dev, FALSE)) - { - bzero((char *)&ke.map[0], 31); - } + if (XaceHook(XACE_DEVICE_ACCESS, client, dev, FALSE)) + memmove((char *)&ke.map[0], (char *)&dev->key->down[1], 31); else -#endif - memmove((char *)&ke.map[0], (char *)&dev->key->down[1], 31); + bzero((char *)&ke.map[0], 31); + ke.type = KeymapNotify; (void)DeliverEventsToWindow(pWin, (xEvent *)&ke, 1, KeymapStateMask, NullGrab, 0); @@ -3430,7 +3701,7 @@ FocusOutEvents( int mode, int detail, Bool doAncestor) { - register WindowPtr pWin; + WindowPtr pWin; for (pWin = child; pWin != ancestor; pWin = pWin->parent) FocusEvent(dev, FocusOut, mode, detail, pWin); @@ -3564,6 +3835,23 @@ DoFocusEvents(DeviceIntPtr dev, WindowPtr fromWin, WindowPtr toWin, int mode) } } +/** + * Set the input focus to the given window. Subsequent keyboard events will be + * delivered to the given window. + * + * Usually called from ProcSetInputFocus as result of a client request. If so, + * the device is the inputInfo.keyboard. + * If called from ProcXSetInputFocus as result of a client xinput request, the + * device is set to the device specified by the client. + * + * @param client Client that requested input focus change. + * @param dev Focus device. + * @param focusID The window to obtain the focus. Can be PointerRoot or None. + * @param revertTo Specifies where the focus reverts to when window becomes + * unviewable. + * @param ctime Specifies the time. + * @param followOK True if pointer is allowed to follow the keyboard. + */ int SetInputFocus( ClientPtr client, @@ -3573,9 +3861,9 @@ SetInputFocus( Time ctime, Bool followOK) { - register FocusClassPtr focus; - register WindowPtr focusWin; - int mode; + FocusClassPtr focus; + WindowPtr focusWin; + int mode, rc; TimeStamp time; UpdateCurrentTime(); @@ -3592,14 +3880,12 @@ SetInputFocus( focusWin = (WindowPtr)(long)focusID; else if ((focusID == FollowKeyboard) && followOK) focusWin = inputInfo.keyboard->focus->win; - else if (!(focusWin = SecurityLookupWindow(focusID, client, - SecurityReadAccess))) - return BadWindow; - else - { + else { + rc = dixLookupWindow(&focusWin, focusID, client, DixReadAccess); + if (rc != Success) + return rc; /* It is a match error to try to set the input focus to an unviewable window. */ - if(!focusWin->realized) return(BadMatch); } @@ -3623,7 +3909,7 @@ SetInputFocus( else { int depth = 0; - register WindowPtr pWin; + WindowPtr pWin; for (pWin = focusWin; pWin; pWin = pWin->parent) depth++; if (depth > focus->traceSize) @@ -3642,6 +3928,11 @@ SetInputFocus( return Success; } +/** + * Server-side protocol handling for SetInputFocus request. + * + * Sets the input focus for the virtual core keyboard. + */ int ProcSetInputFocus(client) ClientPtr client; @@ -3649,14 +3940,20 @@ ProcSetInputFocus(client) REQUEST(xSetInputFocusReq); REQUEST_SIZE_MATCH(xSetInputFocusReq); -#ifdef XACE + if (!XaceHook(XACE_DEVICE_ACCESS, client, inputInfo.keyboard, TRUE)) return Success; -#endif + return SetInputFocus(client, inputInfo.keyboard, stuff->focus, stuff->revertTo, stuff->time, FALSE); } +/** + * Server-side protocol handling for GetInputFocus request. + * + * Sends the current input focus for the virtual core keyboard back to the + * client. + */ int ProcGetInputFocus(ClientPtr client) { @@ -3678,6 +3975,12 @@ ProcGetInputFocus(ClientPtr client) return Success; } +/** + * Server-side protocol handling for Grabpointer request. + * + * Sets an active grab on the inputInfo.pointer and returns success status to + * client. + */ int ProcGrabPointer(ClientPtr client) { @@ -3688,6 +3991,7 @@ ProcGrabPointer(ClientPtr client) CursorPtr cursor, oldCursor; REQUEST(xGrabPointerReq); TimeStamp time; + int rc; REQUEST_SIZE_MATCH(xGrabPointerReq); UpdateCurrentTime(); @@ -3713,24 +4017,24 @@ ProcGrabPointer(ClientPtr client) client->errorValue = stuff->eventMask; return BadValue; } - pWin = SecurityLookupWindow(stuff->grabWindow, client, SecurityReadAccess); - if (!pWin) - return BadWindow; + rc = dixLookupWindow(&pWin, stuff->grabWindow, client, DixReadAccess); + if (rc != Success) + return rc; if (stuff->confineTo == None) confineTo = NullWindow; else { - confineTo = SecurityLookupWindow(stuff->confineTo, client, - SecurityReadAccess); - if (!confineTo) - return BadWindow; + rc = dixLookupWindow(&confineTo, stuff->confineTo, client, + DixReadAccess); + if (rc != Success) + return rc; } if (stuff->cursor == None) cursor = NullCursor; else { cursor = (CursorPtr)SecurityLookupIDByType(client, stuff->cursor, - RT_CURSOR, SecurityReadAccess); + RT_CURSOR, DixReadAccess); if (!cursor) { client->errorValue = stuff->cursor; @@ -3784,11 +4088,19 @@ ProcGrabPointer(ClientPtr client) return Success; } +/** + * Server-side protocol handling for ChangeActivePointerGrab request. + * + * Changes properties of the grab hold by the client. If the client does not + * hold an active grab on the device, nothing happens. + * + * Works on the core pointer only. + */ int ProcChangeActivePointerGrab(ClientPtr client) { DeviceIntPtr device = inputInfo.pointer; - register GrabPtr grab = device->grab; + GrabPtr grab = device->grab; CursorPtr newCursor, oldCursor; REQUEST(xChangeActivePointerGrabReq); TimeStamp time; @@ -3804,7 +4116,7 @@ ProcChangeActivePointerGrab(ClientPtr client) else { newCursor = (CursorPtr)SecurityLookupIDByType(client, stuff->cursor, - RT_CURSOR, SecurityReadAccess); + RT_CURSOR, DixReadAccess); if (!newCursor) { client->errorValue = stuff->cursor; @@ -3830,6 +4142,11 @@ ProcChangeActivePointerGrab(ClientPtr client) return Success; } +/** + * Server-side protocol handling for UngrabPointer request. + * + * Deletes the pointer grab on the core pointer device. + */ int ProcUngrabPointer(ClientPtr client) { @@ -3849,14 +4166,33 @@ ProcUngrabPointer(ClientPtr client) return Success; } +/** + * Sets a grab on the given device. + * + * Called from ProcGrabKeyboard to work on the inputInfo.keyboard. + * Called from ProcXGrabDevice to work on the device specified by the client. + * + * The parameters this_mode and other_mode represent the keyboard_mode and + * pointer_mode parameters of XGrabKeyboard(). + * See man page for details on all the parameters + * + * @param client Client that owns the grab. + * @param dev The device to grab. + * @param this_mode GrabModeSync or GrabModeAsync + * @param other_mode GrabModeSync or GrabModeAsync + * @param status Return code to be returned to the caller. + * + * @returns Success or BadValue. + */ int -GrabDevice(register ClientPtr client, register DeviceIntPtr dev, +GrabDevice(ClientPtr client, DeviceIntPtr dev, unsigned this_mode, unsigned other_mode, Window grabWindow, unsigned ownerEvents, Time ctime, Mask mask, CARD8 *status) { - register WindowPtr pWin; - register GrabPtr grab; + WindowPtr pWin; + GrabPtr grab; TimeStamp time; + int rc; UpdateCurrentTime(); if ((this_mode != GrabModeSync) && (this_mode != GrabModeAsync)) @@ -3874,9 +4210,9 @@ GrabDevice(register ClientPtr client, register DeviceIntPtr dev, client->errorValue = ownerEvents; return BadValue; } - pWin = SecurityLookupWindow(grabWindow, client, SecurityReadAccess); - if (!pWin) - return BadWindow; + rc = dixLookupWindow(&pWin, grabWindow, client, DixReadAccess); + if (rc != Success) + return rc; time = ClientTimeToServerTime(ctime); grab = dev->grab; if (grab && !SameClient(grab, client)) @@ -3906,6 +4242,11 @@ GrabDevice(register ClientPtr client, register DeviceIntPtr dev, return Success; } +/** + * Server-side protocol handling for GrabKeyboard request. + * + * Grabs the inputInfo.keyboad and returns success status to client. + */ int ProcGrabKeyboard(ClientPtr client) { @@ -3914,18 +4255,17 @@ ProcGrabKeyboard(ClientPtr client) int result; REQUEST_SIZE_MATCH(xGrabKeyboardReq); -#ifdef XACE - if (!XaceHook(XACE_DEVICE_ACCESS, client, inputInfo.keyboard, TRUE)) - { + + if (XaceHook(XACE_DEVICE_ACCESS, client, inputInfo.keyboard, TRUE)) + result = GrabDevice(client, inputInfo.keyboard, stuff->keyboardMode, + stuff->pointerMode, stuff->grabWindow, + stuff->ownerEvents, stuff->time, + KeyPressMask | KeyReleaseMask, &rep.status); + else { result = Success; rep.status = AlreadyGrabbed; } - else -#endif - result = GrabDevice(client, inputInfo.keyboard, stuff->keyboardMode, - stuff->pointerMode, stuff->grabWindow, - stuff->ownerEvents, stuff->time, - KeyPressMask | KeyReleaseMask, &rep.status); + if (result != Success) return result; rep.type = X_Reply; @@ -3935,6 +4275,11 @@ ProcGrabKeyboard(ClientPtr client) return Success; } +/** + * Server-side protocol handling for UngrabKeyboard request. + * + * Deletes a possible grab on the inputInfo.keyboard. + */ int ProcUngrabKeyboard(ClientPtr client) { @@ -3954,6 +4299,11 @@ ProcUngrabKeyboard(ClientPtr client) return Success; } +/** + * Server-side protocol handling for QueryPointer request. + * + * Returns the current state and position of the core pointer to the client. + */ int ProcQueryPointer(ClientPtr client) { @@ -3961,11 +4311,12 @@ ProcQueryPointer(ClientPtr client) WindowPtr pWin, t; REQUEST(xResourceReq); DeviceIntPtr mouse = inputInfo.pointer; + int rc; REQUEST_SIZE_MATCH(xResourceReq); - pWin = SecurityLookupWindow(stuff->id, client, SecurityReadAccess); - if (!pWin) - return BadWindow; + rc = dixLookupWindow(&pWin, stuff->id, client, DixReadAccess); + if (rc != Success) + return rc; if (mouse->valuator->motionHintWindow) MaybeStopHint(mouse, client); rep.type = X_Reply; @@ -4011,8 +4362,12 @@ ProcQueryPointer(ClientPtr client) return(Success); } +/** + * Initializes the device list and the DIX sprite to sane values. Allocates + * trace memory used for quick window traversal. + */ void -InitEvents() +InitEvents(void) { int i; @@ -4072,6 +4427,11 @@ CloseDownEvents(void) spriteTraceSize = 0; } +/** + * Server-side protocol handling for SendEvent request. + * + * Locates the window to send the event to and forwards the event. + */ int ProcSendEvent(ClientPtr client) { @@ -4129,8 +4489,8 @@ ProcSendEvent(ClientPtr client) effectiveFocus = pWin = inputFocus; } else - pWin = SecurityLookupWindow(stuff->destination, client, - SecurityReadAccess); + dixLookupWindow(&pWin, stuff->destination, client, DixReadAccess); + if (!pWin) return BadWindow; if ((stuff->propagate != xFalse) && (stuff->propagate != xTrue)) @@ -4159,6 +4519,12 @@ ProcSendEvent(ClientPtr client) return Success; } +/** + * Server-side protocol handling for UngrabKey request. + * + * Deletes a passive grab for the given key. Only works on the + * inputInfo.keyboard. + */ int ProcUngrabKey(ClientPtr client) { @@ -4166,11 +4532,12 @@ ProcUngrabKey(ClientPtr client) WindowPtr pWin; GrabRec tempGrab; DeviceIntPtr keybd = inputInfo.keyboard; + int rc; REQUEST_SIZE_MATCH(xUngrabKeyReq); - pWin = SecurityLookupWindow(stuff->grabWindow, client, SecurityReadAccess); - if (!pWin) - return BadWindow; + rc = dixLookupWindow(&pWin, stuff->grabWindow, client, DixReadAccess); + if (rc != Success) + return rc; if (((stuff->key > keybd->key->curKeySyms.maxKeyCode) || (stuff->key < keybd->key->curKeySyms.minKeyCode)) @@ -4200,6 +4567,12 @@ ProcUngrabKey(ClientPtr client) return(Success); } +/** + * Server-side protocol handling for GrabKey request. + * + * Creates a grab for the inputInfo.keyboard and adds it to the list of + * passive grabs. + */ int ProcGrabKey(ClientPtr client) { @@ -4207,6 +4580,7 @@ ProcGrabKey(ClientPtr client) REQUEST(xGrabKeyReq); GrabPtr grab; DeviceIntPtr keybd = inputInfo.keyboard; + int rc; REQUEST_SIZE_MATCH(xGrabKeyReq); if ((stuff->ownerEvents != xTrue) && (stuff->ownerEvents != xFalse)) @@ -4239,9 +4613,9 @@ ProcGrabKey(ClientPtr client) client->errorValue = stuff->modifiers; return BadValue; } - pWin = SecurityLookupWindow(stuff->grabWindow, client, SecurityReadAccess); - if (!pWin) - return BadWindow; + rc = dixLookupWindow(&pWin, stuff->grabWindow, client, DixReadAccess); + if (rc != Success) + return rc; grab = CreateGrab(client->index, keybd, pWin, (Mask)(KeyPressMask | KeyReleaseMask), (Bool)stuff->ownerEvents, @@ -4254,6 +4628,12 @@ ProcGrabKey(ClientPtr client) } +/** + * Server-side protocol handling for GrabButton request. + * + * Creates a grab for the inputInfo.pointer and adds it as a passive grab to + * the list. + */ int ProcGrabButton(ClientPtr client) { @@ -4261,6 +4641,7 @@ ProcGrabButton(ClientPtr client) REQUEST(xGrabButtonReq); CursorPtr cursor; GrabPtr grab; + int rc; REQUEST_SIZE_MATCH(xGrabButtonReq); if ((stuff->pointerMode != GrabModeSync) && @@ -4291,23 +4672,23 @@ ProcGrabButton(ClientPtr client) client->errorValue = stuff->eventMask; return BadValue; } - pWin = SecurityLookupWindow(stuff->grabWindow, client, SecurityReadAccess); - if (!pWin) - return BadWindow; + rc = dixLookupWindow(&pWin, stuff->grabWindow, client, DixReadAccess); + if (rc != Success) + return rc; if (stuff->confineTo == None) confineTo = NullWindow; else { - confineTo = SecurityLookupWindow(stuff->confineTo, client, - SecurityReadAccess); - if (!confineTo) - return BadWindow; + rc = dixLookupWindow(&confineTo, stuff->confineTo, client, + DixReadAccess); + if (rc != Success) + return rc; } if (stuff->cursor == None) cursor = NullCursor; else { cursor = (CursorPtr)SecurityLookupIDByType(client, stuff->cursor, - RT_CURSOR, SecurityReadAccess); + RT_CURSOR, DixReadAccess); if (!cursor) { client->errorValue = stuff->cursor; @@ -4326,12 +4707,18 @@ ProcGrabButton(ClientPtr client) return AddPassiveGrabToList(grab); } +/** + * Server-side protocol handling for UngrabButton request. + * + * Deletes a passive grab on the inputInfo.pointer from the list. + */ int ProcUngrabButton(ClientPtr client) { REQUEST(xUngrabButtonReq); WindowPtr pWin; GrabRec tempGrab; + int rc; REQUEST_SIZE_MATCH(xUngrabButtonReq); if ((stuff->modifiers != AnyModifier) && @@ -4340,9 +4727,9 @@ ProcUngrabButton(ClientPtr client) client->errorValue = stuff->modifiers; return BadValue; } - pWin = SecurityLookupWindow(stuff->grabWindow, client, SecurityReadAccess); - if (!pWin) - return BadWindow; + rc = dixLookupWindow(&pWin, stuff->grabWindow, client, DixReadAccess); + if (rc != Success) + return rc; tempGrab.resource = client->clientAsMask; tempGrab.device = inputInfo.pointer; tempGrab.window = pWin; @@ -4358,6 +4745,17 @@ ProcUngrabButton(ClientPtr client) return(Success); } +/** + * Deactivate any grab that may be on the window, remove the focus. + * Delete any XInput extension events from the window too. Does not change the + * window mask. Use just before the window is deleted. + * + * If freeResources is set, passive grabs on the window are deleted. + * + * @param pWin The window to delete events from. + * @param freeResources True if resources associated with the window should be + * deleted. + */ void DeleteWindowFromAnyEvents(WindowPtr pWin, Bool freeResources) { @@ -4447,7 +4845,9 @@ DeleteWindowFromAnyEvents(WindowPtr pWin, Bool freeResources) } /** - * Call this whenever some window at or below pWin has changed geometry + * Call this whenever some window at or below pWin has changed geometry. If + * there is a grab on the window, the cursor will be re-confined into the + * window. */ _X_EXPORT void CheckCursorConfinement(WindowPtr pWin) @@ -4471,7 +4871,7 @@ CheckCursorConfinement(WindowPtr pWin) Mask EventMaskForClient(WindowPtr pWin, ClientPtr client) { - register OtherClientsPtr other; + OtherClientsPtr other; if (wClient (pWin) == client) return pWin->eventMask; @@ -4483,6 +4883,9 @@ EventMaskForClient(WindowPtr pWin, ClientPtr client) return 0; } +/** + * Server-side protocol handling for RecolorCursor request. + */ int ProcRecolorCursor(ClientPtr client) { @@ -4494,7 +4897,7 @@ ProcRecolorCursor(ClientPtr client) REQUEST_SIZE_MATCH(xRecolorCursorReq); pCursor = (CursorPtr)SecurityLookupIDByType(client, stuff->cursor, - RT_CURSOR, SecurityWriteAccess); + RT_CURSOR, DixWriteAccess); if ( !pCursor) { client->errorValue = stuff->cursor; @@ -4524,6 +4927,20 @@ ProcRecolorCursor(ClientPtr client) return (Success); } +/** + * Write the given events to a client, swapping the byte order if necessary. + * To swap the byte ordering, a callback is called that has to be set up for + * the given event type. + * + * In the case of DeviceMotionNotify trailed by DeviceValuators, the events + * can be more than one. Usually it's just one event. + * + * Do not modify the event structure passed in. See comment below. + * + * @param pClient Client to send events to. + * @param count Number of events. + * @param events The event list. + */ _X_EXPORT void WriteEventsToClient(ClientPtr pClient, int count, xEvent *events) { @@ -4580,6 +4997,14 @@ WriteEventsToClient(ClientPtr pClient, int count, xEvent *events) eventinfo.count = count; CallCallbacks(&EventCallback, (pointer)&eventinfo); } +#ifdef XSERVER_DTRACE + if (XSERVER_SEND_EVENT_ENABLED()) { + for (i = 0; i < count; i++) + { + XSERVER_SEND_EVENT(pClient->index, events[i].u.u.type, &events[i]); + } + } +#endif if(pClient->swapped) { for(i = 0; i < count; i++) diff --git a/xserver/dix/ffs.c b/xserver/dix/ffs.c index 80fbcc8a9..b75657d29 100644 --- a/xserver/dix/ffs.c +++ b/xserver/dix/ffs.c @@ -26,6 +26,12 @@ The Open Group. */ +#ifdef HAVE_DIX_CONFIG_H +#include +#endif + +#include "dix.h" + int ffs(int i) { diff --git a/xserver/dix/gc.c b/xserver/dix/gc.c index ed6bf26db..7a76dd99d 100644 --- a/xserver/dix/gc.c +++ b/xserver/dix/gc.c @@ -69,7 +69,7 @@ extern FontPtr defaultFont; static Bool CreateDefaultTile(GCPtr pGC); -unsigned char DefaultDash[2] = {4, 4}; +static unsigned char DefaultDash[2] = {4, 4}; _X_EXPORT void ValidateGC(DrawablePtr pDraw, GC *pGC) @@ -144,12 +144,12 @@ ValidateGC(DrawablePtr pDraw, GC *pGC) assert(pUnion); _var = (_type)pUnion->ptr; pUnion++; } _X_EXPORT int -dixChangeGC(ClientPtr client, register GC *pGC, register BITS32 mask, CARD32 *pC32, ChangeGCValPtr pUnion) +dixChangeGC(ClientPtr client, GC *pGC, BITS32 mask, CARD32 *pC32, ChangeGCValPtr pUnion) { - register BITS32 index2; - register int error = 0; - PixmapPtr pPixmap; - BITS32 maskQ; + BITS32 index2; + int error = 0; + PixmapPtr pPixmap; + BITS32 maskQ; assert( (pC32 && !pUnion) || (!pC32 && pUnion) ); pGC->serialNumber |= GC_CHANGE_SERIAL_BIT; @@ -271,7 +271,7 @@ dixChangeGC(ClientPtr client, register GC *pGC, register BITS32 mask, CARD32 *pC { NEXTVAL(XID, newpix); pPixmap = (PixmapPtr)SecurityLookupIDByType(client, - newpix, RT_PIXMAP, SecurityReadAccess); + newpix, RT_PIXMAP, DixReadAccess); } if (pPixmap) { @@ -307,7 +307,7 @@ dixChangeGC(ClientPtr client, register GC *pGC, register BITS32 mask, CARD32 *pC { NEXTVAL(XID, newstipple) pPixmap = (PixmapPtr)SecurityLookupIDByType(client, - newstipple, RT_PIXMAP, SecurityReadAccess); + newstipple, RT_PIXMAP, DixReadAccess); } if (pPixmap) { @@ -349,7 +349,7 @@ dixChangeGC(ClientPtr client, register GC *pGC, register BITS32 mask, CARD32 *pC { NEXTVAL(XID, newfont) pFont = (FontPtr)SecurityLookupIDByType(client, newfont, - RT_FONT, SecurityReadAccess); + RT_FONT, DixReadAccess); } if (pFont) { @@ -416,7 +416,7 @@ dixChangeGC(ClientPtr client, register GC *pGC, register BITS32 mask, CARD32 *pC } else pPixmap = (PixmapPtr)SecurityLookupIDByType(client, - pid, RT_PIXMAP, SecurityReadAccess); + pid, RT_PIXMAP, DixReadAccess); } if (pPixmap) @@ -522,7 +522,7 @@ dixChangeGC(ClientPtr client, register GC *pGC, register BITS32 mask, CARD32 *pC /* Publically defined entry to ChangeGC. Just calls dixChangeGC and tells * it that all of the entries are constants or IDs */ _X_EXPORT int -ChangeGC(register GC *pGC, register BITS32 mask, XID *pval) +ChangeGC(GC *pGC, BITS32 mask, XID *pval) { return (dixChangeGC(NullClient, pGC, mask, pval, NULL)); } @@ -548,7 +548,7 @@ NOTE: 32 bits long */ _X_EXPORT int -DoChangeGC(register GC *pGC, register BITS32 mask, XID *pval, int fPointer) +DoChangeGC(GC *pGC, BITS32 mask, XID *pval, int fPointer) { if (fPointer) /* XXX might be a problem on 64 bit big-endian servers */ @@ -572,11 +572,11 @@ static GCPtr AllocateGC(ScreenPtr pScreen) { GCPtr pGC; - register char *ptr; - register DevUnion *ppriv; - register unsigned *sizes; - register unsigned size; - register int i; + char *ptr; + DevUnion *ppriv; + unsigned *sizes; + unsigned size; + int i; pGC = (GCPtr)xalloc(pScreen->totalGCSize); if (pGC) @@ -602,7 +602,7 @@ AllocateGC(ScreenPtr pScreen) _X_EXPORT GCPtr CreateGC(DrawablePtr pDrawable, BITS32 mask, XID *pval, int *pStatus) { - register GCPtr pGC; + GCPtr pGC; pGC = AllocateGC(pDrawable->pScreen); if (!pGC) @@ -724,11 +724,11 @@ CreateDefaultTile (GCPtr pGC) } _X_EXPORT int -CopyGC(register GC *pgcSrc, register GC *pgcDst, register BITS32 mask) +CopyGC(GC *pgcSrc, GC *pgcDst, BITS32 mask) { - register BITS32 index2; - BITS32 maskQ; - int error = 0; + BITS32 index2; + BITS32 maskQ; + int error = 0; if (pgcSrc == pgcDst) return Success; @@ -907,17 +907,6 @@ FreeGC(pointer value, XID gid) return(Success); } -void -SetGCMask(GCPtr pGC, Mask selectMask, Mask newDataMask) -{ - pGC->stateChanges = (~selectMask & pGC->stateChanges) | - (selectMask & newDataMask); - if (selectMask & newDataMask) - pGC->serialNumber |= GC_CHANGE_SERIAL_BIT; -} - - - /* CreateScratchGC(pScreen, depth) like CreateGC, but doesn't do the default tile or stipple, since we can't create them without already having a GC. any code @@ -934,7 +923,7 @@ go with CreateGC() or ChangeGC().) _X_EXPORT GCPtr CreateScratchGC(ScreenPtr pScreen, unsigned depth) { - register GCPtr pGC; + GCPtr pGC; pGC = AllocateGC(pScreen); if (!pGC) @@ -986,8 +975,8 @@ CreateScratchGC(ScreenPtr pScreen, unsigned depth) void FreeGCperDepth(int screenNum) { - register int i; - register ScreenPtr pScreen; + int i; + ScreenPtr pScreen; GCPtr *ppGC; pScreen = screenInfo.screens[screenNum]; @@ -1002,8 +991,8 @@ FreeGCperDepth(int screenNum) Bool CreateGCperDepth(int screenNum) { - register int i; - register ScreenPtr pScreen; + int i; + ScreenPtr pScreen; DepthPtr pDepth; GCPtr *ppGC; @@ -1035,7 +1024,7 @@ CreateGCperDepth(int screenNum) Bool CreateDefaultStipple(int screenNum) { - register ScreenPtr pScreen; + ScreenPtr pScreen; XID tmpval[3]; xRectangle rect; CARD16 w, h; @@ -1077,10 +1066,10 @@ FreeDefaultStipple(int screenNum) } _X_EXPORT int -SetDashes(register GCPtr pGC, unsigned offset, unsigned ndash, unsigned char *pdash) +SetDashes(GCPtr pGC, unsigned offset, unsigned ndash, unsigned char *pdash) { - register long i; - register unsigned char *p, *indash; + long i; + unsigned char *p, *indash; BITS32 maskQ = 0; i = ndash; @@ -1135,8 +1124,8 @@ SetDashes(register GCPtr pGC, unsigned offset, unsigned ndash, unsigned char *pd _X_EXPORT int VerifyRectOrder(int nrects, xRectangle *prects, int ordering) { - register xRectangle *prectP, *prectN; - register int i; + xRectangle *prectP, *prectN; + int i; switch(ordering) { @@ -1220,10 +1209,10 @@ SetClipRects(GCPtr pGC, int xOrigin, int yOrigin, int nrects, you use it often enough it will become real.) */ _X_EXPORT GCPtr -GetScratchGC(register unsigned depth, register ScreenPtr pScreen) +GetScratchGC(unsigned depth, ScreenPtr pScreen) { - register int i; - register GCPtr pGC; + int i; + GCPtr pGC; for (i=0; i<=pScreen->numDepths; i++) if ( pScreen->GCperDepth[i]->depth == depth && @@ -1269,10 +1258,10 @@ mark it as available. if not, free it for real */ _X_EXPORT void -FreeScratchGC(register GCPtr pGC) +FreeScratchGC(GCPtr pGC) { - register ScreenPtr pScreen = pGC->pScreen; - register int i; + ScreenPtr pScreen = pGC->pScreen; + int i; for (i=0; i<=pScreen->numDepths; i++) { diff --git a/xserver/dix/getevents.c b/xserver/dix/getevents.c new file mode 100644 index 000000000..f92a0211a --- /dev/null +++ b/xserver/dix/getevents.c @@ -0,0 +1,842 @@ +/* + * Copyright © 2006 Nokia Corporation + * Copyright © 2006-2007 Daniel Stone + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + * Author: Daniel Stone + */ + +#ifdef HAVE_DIX_CONFIG_H +#include +#endif + +#include +#include +#define NEED_EVENTS +#define NEED_REPLIES +#include + +#include "misc.h" +#include "resource.h" +#include "inputstr.h" +#include "scrnintstr.h" +#include "cursorstr.h" +#include "dixstruct.h" +#include "globals.h" +#include "dixevents.h" +#include "mipointer.h" + +#ifdef XKB +#include +#include +extern Bool XkbCopyKeymap(XkbDescPtr src, XkbDescPtr dst, Bool sendNotifies); +#endif + +#ifdef PANORAMIX +#include "panoramiX.h" +#include "panoramiXsrv.h" +#endif + +#include +#include +#include "exglobals.h" +#include "exevents.h" +#include "exglobals.h" +#include "extnsionst.h" + + +/* Maximum number of valuators, divided by six, rounded up, to get number + * of events. */ +#define MAX_VALUATOR_EVENTS 6 + +/* Number of motion history events to store. */ +#define MOTION_HISTORY_SIZE 256 + + +/** + * Pick some arbitrary size for Xi motion history. + */ +_X_EXPORT int +GetMotionHistorySize(void) +{ + return MOTION_HISTORY_SIZE; +} + +static void +set_key_down(DeviceIntPtr pDev, int key_code) +{ + pDev->key->postdown[key_code >> 3] |= (1 << (key_code & 7)); +} + +static void +set_key_up(DeviceIntPtr pDev, int key_code) +{ + pDev->key->postdown[key_code >> 3] &= ~(1 << (key_code & 7)); +} + +static Bool +key_is_down(DeviceIntPtr pDev, int key_code) +{ + return pDev->key->postdown[key_code >> 3] >> (key_code & 7); +} + +/** + * Allocate the motion history buffer. + */ +_X_EXPORT void +AllocateMotionHistory(DeviceIntPtr pDev) +{ + if (pDev->valuator->motion) + xfree(pDev->valuator->motion); + + if (pDev->valuator->numMotionEvents < 1) + return; + + pDev->valuator->motion = xalloc(((sizeof(INT32) * pDev->valuator->numAxes) + + sizeof(Time)) * + pDev->valuator->numMotionEvents); + pDev->valuator->first_motion = 0; + pDev->valuator->last_motion = 0; +} + + +/** + * Dump the motion history between start and stop into the supplied buffer. + * Only records the event for a given screen in theory, but in practice, we + * sort of ignore this. + */ +_X_EXPORT int +GetMotionHistory(DeviceIntPtr pDev, xTimecoord *buff, unsigned long start, + unsigned long stop, ScreenPtr pScreen) +{ + char *ibuff = NULL, *obuff = (char *) buff; + int i = 0, ret = 0; + Time current; + /* The size of a single motion event. */ + int size = (sizeof(INT32) * pDev->valuator->numAxes) + sizeof(Time); + + if (!pDev->valuator || !pDev->valuator->numMotionEvents) + return 0; + + for (i = pDev->valuator->first_motion; + i != pDev->valuator->last_motion; + i = (i + 1) % pDev->valuator->numMotionEvents) { + /* We index the input buffer by which element we're accessing, which + * is not monotonic, and the output buffer by how many events we've + * written so far. */ + ibuff = (char *) pDev->valuator->motion + (i * size); + memcpy(¤t, ibuff, sizeof(Time)); + + if (current > stop) { + return ret; + } + else if (current >= start) { + memcpy(obuff, ibuff, size); + obuff += size; + ret++; + } + } + + return ret; +} + + +/** + * Update the motion history for a specific device, with the list of + * valuators. + */ +static void +updateMotionHistory(DeviceIntPtr pDev, CARD32 ms, int first_valuator, + int num_valuators, int *valuators) +{ + char *buff = (char *) pDev->valuator->motion; + + if (!pDev->valuator->numMotionEvents) + return; + + buff += ((sizeof(INT32) * pDev->valuator->numAxes) + sizeof(CARD32)) * + pDev->valuator->last_motion; + memcpy(buff, &ms, sizeof(Time)); + + buff += sizeof(Time); + bzero(buff, sizeof(INT32) * pDev->valuator->numAxes); + + buff += sizeof(INT32) * first_valuator; + memcpy(buff, valuators, sizeof(INT32) * num_valuators); + + pDev->valuator->last_motion = (pDev->valuator->last_motion + 1) % + pDev->valuator->numMotionEvents; + + /* If we're wrapping around, just keep the circular buffer going. */ + if (pDev->valuator->first_motion == pDev->valuator->last_motion) + pDev->valuator->first_motion = (pDev->valuator->first_motion + 1) % + pDev->valuator->numMotionEvents; + + return; +} + + +/** + * Returns the maximum number of events GetKeyboardEvents, + * GetKeyboardValuatorEvents, and GetPointerEvents will ever return. + * + * Should be used in DIX as: + * xEvent *events = xcalloc(sizeof(xEvent), GetMaximumEventsNum()); + */ +_X_EXPORT int +GetMaximumEventsNum(void) { + /* Two base events -- core and device, plus valuator events. Multiply + * by two if we're doing key repeats. */ + int ret = 2 + MAX_VALUATOR_EVENTS; + +#ifdef XKB + if (noXkbExtension) +#endif + ret *= 2; + + return ret; +} + + +/* Originally a part of xf86PostMotionEvent; modifies valuators + * in-place. */ +static void +acceleratePointer(DeviceIntPtr pDev, int first_valuator, int num_valuators, + int *valuators) +{ + float mult = 0.0; + int dx = 0, dy = 0; + int *px = NULL, *py = NULL; + + if (!num_valuators || !valuators) + return; + + if (first_valuator == 0) { + dx = valuators[0]; + px = &valuators[0]; + } + if (first_valuator <= 1 && num_valuators >= (2 - first_valuator)) { + dy = valuators[1 - first_valuator]; + py = &valuators[1 - first_valuator]; + } + + if (!dx && !dy) + return; + + if (pDev->ptrfeed && pDev->ptrfeed->ctrl.num) { + /* modeled from xf86Events.c */ + if (pDev->ptrfeed->ctrl.threshold) { + if ((abs(dx) + abs(dy)) >= pDev->ptrfeed->ctrl.threshold) { + pDev->valuator->dxremaind = ((float)dx * + (float)(pDev->ptrfeed->ctrl.num)) / + (float)(pDev->ptrfeed->ctrl.den) + + pDev->valuator->dxremaind; + if (px) { + *px = (int)pDev->valuator->dxremaind; + pDev->valuator->dxremaind = pDev->valuator->dxremaind - + (float)(*px); + } + + pDev->valuator->dyremaind = ((float)dy * + (float)(pDev->ptrfeed->ctrl.num)) / + (float)(pDev->ptrfeed->ctrl.den) + + pDev->valuator->dyremaind; + if (py) { + *py = (int)pDev->valuator->dyremaind; + pDev->valuator->dyremaind = pDev->valuator->dyremaind - + (float)(*py); + } + } + } + else { + mult = pow((float)dx * (float)dx + (float)dy * (float)dy, + ((float)(pDev->ptrfeed->ctrl.num) / + (float)(pDev->ptrfeed->ctrl.den) - 1.0) / + 2.0) / 2.0; + if (dx) { + pDev->valuator->dxremaind = mult * (float)dx + + pDev->valuator->dxremaind; + *px = (int)pDev->valuator->dxremaind; + pDev->valuator->dxremaind = pDev->valuator->dxremaind - + (float)(*px); + } + if (dy) { + pDev->valuator->dyremaind = mult * (float)dy + + pDev->valuator->dyremaind; + *py = (int)pDev->valuator->dyremaind; + pDev->valuator->dyremaind = pDev->valuator->dyremaind - + (float)(*py); + } + } + } +} + + +/** + * Clip an axis to its bounds, which are declared in the call to + * InitValuatorAxisClassStruct. + */ +static void +clipAxis(DeviceIntPtr pDev, int axisNum, int *val) +{ + AxisInfoPtr axes = pDev->valuator->axes + axisNum; + + if (*val < axes->min_value) + *val = axes->min_value; + if (axes->max_value >= 0 && *val > axes->max_value) + *val = axes->max_value; +} + +/** + * Clip every axis in the list of valuators to its bounds. + */ +static void +clipValuators(DeviceIntPtr pDev, int first_valuator, int num_valuators, + int *valuators) +{ + AxisInfoPtr axes = pDev->valuator->axes + first_valuator; + int i; + + for (i = 0; i < num_valuators; i++, axes++) + clipAxis(pDev, i + first_valuator, &(valuators[i])); +} + + +/** + * Fills events with valuator events for pDev, as given by the other + * parameters. + * + * FIXME: Need to fix ValuatorClassRec to store all the valuators as + * last posted, not just x and y; otherwise relative non-x/y + * valuators, though a very narrow use case, will be broken. + */ +static xEvent * +getValuatorEvents(xEvent *events, DeviceIntPtr pDev, int first_valuator, + int num_valuators, int *valuators) { + deviceValuator *xv = (deviceValuator *) events; + int i = 0, final_valuator = first_valuator + num_valuators; + + for (i = first_valuator; i < final_valuator; i += 6, xv++, events++) { + xv->type = DeviceValuator; + xv->first_valuator = i; + xv->num_valuators = num_valuators; + xv->deviceid = pDev->id; + switch (final_valuator - i) { + case 6: + xv->valuator5 = valuators[i + 5]; + case 5: + xv->valuator4 = valuators[i + 4]; + case 4: + xv->valuator3 = valuators[i + 3]; + case 3: + xv->valuator2 = valuators[i + 2]; + case 2: + xv->valuator1 = valuators[i + 1]; + case 1: + xv->valuator0 = valuators[i]; + } + + if (i + 6 < final_valuator) + xv->deviceid |= MORE_EVENTS; + } + + return events; +} + + +/** + * Convenience wrapper around GetKeyboardValuatorEvents, that takes no + * valuators. + */ +_X_EXPORT int +GetKeyboardEvents(xEvent *events, DeviceIntPtr pDev, int type, int key_code) { + return GetKeyboardValuatorEvents(events, pDev, type, key_code, 0, 0, NULL); +} + + +/** + * Returns a set of keyboard events for KeyPress/KeyRelease, optionally + * also with valuator events. Handles Xi and XKB. + * + * events is not NULL-terminated; the return value is the number of events. + * The DDX is responsible for allocating the event structure in the first + * place via GetMaximumEventsNum(), and for freeing it. + * + * This function does not change the core keymap to that of the device; + * that is done by SwitchCoreKeyboard, which is called from + * mieqProcessInputEvents. If replacing that function, take care to call + * SetCoreKeyboard before processInputProc, so keymaps are altered to suit. + * + * Note that this function recurses! If called for non-XKB, a repeating + * key press will trigger a matching KeyRelease, as well as the + * KeyPresses. + */ +_X_EXPORT int +GetKeyboardValuatorEvents(xEvent *events, DeviceIntPtr pDev, int type, + int key_code, int first_valuator, + int num_valuators, int *valuators) { + int numEvents = 0; + CARD32 ms = 0; + KeySym *map = pDev->key->curKeySyms.map; + KeySym sym = map[key_code * pDev->key->curKeySyms.mapWidth]; + deviceKeyButtonPointer *kbp = NULL; + + if (!events) + return 0; + + if (type != KeyPress && type != KeyRelease) + return 0; + + if (!pDev->key || !pDev->focus || !pDev->kbdfeed || + (pDev->coreEvents && !inputInfo.keyboard->key)) + return 0; + + if (pDev->coreEvents) + numEvents = 2; + else + numEvents = 1; + + if (num_valuators) { + if ((num_valuators / 6) + 1 > MAX_VALUATOR_EVENTS) + num_valuators = MAX_VALUATOR_EVENTS; + numEvents += (num_valuators / 6) + 1; + } + +#ifdef XKB + if (noXkbExtension) +#endif + { + switch (sym) { + case XK_Num_Lock: + case XK_Caps_Lock: + case XK_Scroll_Lock: + case XK_Shift_Lock: + if (type == KeyRelease) + return 0; + else if (type == KeyPress && key_is_down(pDev, key_code)) + type = KeyRelease; + } + } + + /* Handle core repeating, via press/release/press/release. + * FIXME: In theory, if you're repeating with two keyboards in non-XKB, + * you could get unbalanced events here. */ + if (type == KeyPress && key_is_down(pDev, key_code)) { + if (!pDev->kbdfeed->ctrl.autoRepeat || + pDev->key->modifierMap[key_code] || + !(pDev->kbdfeed->ctrl.autoRepeats[key_code >> 3] + & (1 << (key_code & 7)))) + return 0; + +#ifdef XKB + if (noXkbExtension) +#endif + { + numEvents += GetKeyboardValuatorEvents(events, pDev, + KeyRelease, key_code, + first_valuator, num_valuators, + valuators); + events += numEvents; + } + } + + ms = GetTimeInMillis(); + + if (pDev->coreEvents) { + events->u.keyButtonPointer.time = ms; + events->u.u.type = type; + events->u.u.detail = key_code; + if (type == KeyPress) + set_key_down(inputInfo.keyboard, key_code); + else if (type == KeyRelease) + set_key_up(inputInfo.keyboard, key_code); + events++; + } + + kbp = (deviceKeyButtonPointer *) events; + kbp->time = ms; + kbp->deviceid = pDev->id; + kbp->detail = key_code; + if (type == KeyPress) { + kbp->type = DeviceKeyPress; + set_key_down(pDev, key_code); + } + else if (type == KeyRelease) { + kbp->type = DeviceKeyRelease; + set_key_up(pDev, key_code); + } + + events++; + if (num_valuators) { + kbp->deviceid |= MORE_EVENTS; + clipValuators(pDev, first_valuator, num_valuators, valuators); + events = getValuatorEvents(events, pDev, first_valuator, + num_valuators, valuators); + } + + return numEvents; +} + + +/** + * Generate a series of xEvents (returned in xE) representing pointer + * motion, or button presses. Xi and XKB-aware. + * + * events is not NULL-terminated; the return value is the number of events. + * The DDX is responsible for allocating the event structure in the first + * place via GetMaximumEventsNum(), and for freeing it. + */ +_X_EXPORT int +GetPointerEvents(xEvent *events, DeviceIntPtr pDev, int type, int buttons, + int flags, int first_valuator, int num_valuators, + int *valuators) { + int num_events = 0, final_valuator = 0; + CARD32 ms = 0; + deviceKeyButtonPointer *kbp = NULL; + /* Thanks to a broken lib, we _always_ have to chase DeviceMotionNotifies + * with DeviceValuators. */ + Bool sendValuators = (type == MotionNotify || flags & POINTER_ABSOLUTE); + DeviceIntPtr cp = inputInfo.pointer; + int x = 0, y = 0; + Bool coreOnly = (pDev == inputInfo.pointer); + + /* Sanity checks. */ + if (type != MotionNotify && type != ButtonPress && type != ButtonRelease) + return 0; + + if ((type == ButtonPress || type == ButtonRelease) && !pDev->button) + return 0; + + /* FIXME: I guess it should, in theory, be possible to post button events + * from devices without valuators. */ + if (!pDev->valuator) + return 0; + + if (!coreOnly && pDev->coreEvents) + num_events = 2; + else + num_events = 1; + + if (type == MotionNotify && num_valuators <= 0) + return 0; + + /* Do we need to send a DeviceValuator event? */ + if (!coreOnly && sendValuators) { + if ((((num_valuators - 1) / 6) + 1) > MAX_VALUATOR_EVENTS) + num_valuators = MAX_VALUATOR_EVENTS * 6; + num_events += ((num_valuators - 1) / 6) + 1; + } + + final_valuator = num_valuators + first_valuator; + + /* You fail. */ + if (first_valuator < 0 || final_valuator > pDev->valuator->numAxes) + return 0; + + ms = GetTimeInMillis(); + + /* Set x and y based on whether this is absolute or relative, and + * accelerate if we need to. */ + if (flags & POINTER_ABSOLUTE) { + if (num_valuators >= 1 && first_valuator == 0) { + x = valuators[0]; + } + else { + if (pDev->coreEvents) + x = cp->valuator->lastx; + else + x = pDev->valuator->lastx; + } + + if (first_valuator <= 1 && num_valuators >= (2 - first_valuator)) { + y = valuators[1 - first_valuator]; + } + else { + if (pDev->coreEvents) + y = cp->valuator->lasty; + else + y = pDev->valuator->lasty; + } + } + else { + if (flags & POINTER_ACCELERATE) + acceleratePointer(pDev, first_valuator, num_valuators, + valuators); + + if (pDev->coreEvents) { + if (first_valuator == 0 && num_valuators >= 1) + x = cp->valuator->lastx + valuators[0]; + else + x = cp->valuator->lastx; + + if (first_valuator <= 1 && num_valuators >= (2 - first_valuator)) + y = cp->valuator->lasty + valuators[1 - first_valuator]; + else + y = cp->valuator->lasty; + } + else { + if (first_valuator == 0 && num_valuators >= 1) + x = pDev->valuator->lastx + valuators[0]; + else + x = pDev->valuator->lastx; + + if (first_valuator <= 1 && num_valuators >= (2 - first_valuator)) + y = pDev->valuator->lasty + valuators[1 - first_valuator]; + else + y = pDev->valuator->lasty; + } + } + + /* Clip both x and y to the defined limits (usually co-ord space limit). */ + clipAxis(pDev, 0, &x); + clipAxis(pDev, 1, &y); + + /* This takes care of crossing screens for us, as well as clipping + * to the current screen. Right now, we only have one history buffer, + * so we don't set this for both the device and core.*/ + miPointerSetPosition(pDev, &x, &y, ms); + + /* Drop x and y back into the valuators list, if they were originally + * present. */ + if (first_valuator == 0 && num_valuators >= 1) + valuators[0] = x; + if (first_valuator <= 1 && num_valuators >= (2 - first_valuator)) + valuators[1 - first_valuator] = y; + + updateMotionHistory(pDev, ms, first_valuator, num_valuators, valuators); + + if (pDev->coreEvents) { + cp->valuator->lastx = x; + cp->valuator->lasty = y; + } + pDev->valuator->lastx = x; + pDev->valuator->lasty = y; + + /* for some reason inputInfo.pointer does not have coreEvents set */ + if (coreOnly || pDev->coreEvents) { + events->u.u.type = type; + events->u.keyButtonPointer.time = ms; + events->u.keyButtonPointer.rootX = x; + events->u.keyButtonPointer.rootY = y; + + if (type == ButtonPress || type == ButtonRelease) { + /* We hijack SetPointerMapping to work on all core-sending + * devices, so we use the device-specific map here instead of + * the core one. */ + events->u.u.detail = pDev->button->map[buttons]; + } + else { + events->u.u.detail = 0; + } + + events++; + } + + if (!coreOnly) { + kbp = (deviceKeyButtonPointer *) events; + kbp->time = ms; + kbp->deviceid = pDev->id; + + if (type == MotionNotify) { + kbp->type = DeviceMotionNotify; + } + else { + if (type == ButtonPress) + kbp->type = DeviceButtonPress; + else if (type == ButtonRelease) + kbp->type = DeviceButtonRelease; + kbp->detail = pDev->button->map[buttons]; + } + + kbp->root_x = x; + kbp->root_y = y; + + events++; + if (sendValuators) { + kbp->deviceid |= MORE_EVENTS; + clipValuators(pDev, first_valuator, num_valuators, valuators); + events = getValuatorEvents(events, pDev, first_valuator, + num_valuators, valuators); + } + } + + return num_events; +} + + +/** + * Post ProximityIn/ProximityOut events, accompanied by valuators. + * + * events is not NULL-terminated; the return value is the number of events. + * The DDX is responsible for allocating the event structure in the first + * place via GetMaximumEventsNum(), and for freeing it. + */ +_X_EXPORT int +GetProximityEvents(xEvent *events, DeviceIntPtr pDev, int type, + int first_valuator, int num_valuators, int *valuators) +{ + int num_events = 0; + deviceKeyButtonPointer *kbp = (deviceKeyButtonPointer *) events; + + /* Sanity checks. */ + if (type != ProximityIn && type != ProximityOut) + return 0; + + if (!pDev->valuator) + return 0; + + /* Do we need to send a DeviceValuator event? */ + if ((pDev->valuator->mode & 1) == Relative) + num_valuators = 0; + + if (num_valuators) { + if ((((num_valuators - 1) / 6) + 1) > MAX_VALUATOR_EVENTS) + num_valuators = MAX_VALUATOR_EVENTS * 6; + num_events += ((num_valuators - 1) / 6) + 1; + } + + /* You fail. */ + if (first_valuator < 0 || + (num_valuators + first_valuator) > pDev->valuator->numAxes) + return 0; + + kbp->type = type; + kbp->deviceid = pDev->id; + kbp->detail = 0; + kbp->time = GetTimeInMillis(); + + if (num_valuators) { + kbp->deviceid |= MORE_EVENTS; + events++; + clipValuators(pDev, first_valuator, num_valuators, valuators); + events = getValuatorEvents(events, pDev, first_valuator, + num_valuators, valuators); + } + + return num_events; +} + + +/** + * Note that pDev was the last device to send a core event. This function + * copies the complete keymap from the originating device to the core + * device, and makes sure the appropriate notifications are generated. + * + * Call this just before processInputProc. + */ +_X_EXPORT void +SwitchCoreKeyboard(DeviceIntPtr pDev) +{ + KeyClassPtr ckeyc = inputInfo.keyboard->key; + int i = 0; + + if (inputInfo.keyboard->devPrivates[CoreDevicePrivatesIndex].ptr != pDev) { + memcpy(ckeyc->modifierMap, pDev->key->modifierMap, MAP_LENGTH); + if (ckeyc->modifierKeyMap) + xfree(ckeyc->modifierKeyMap); + ckeyc->modifierKeyMap = xalloc(8 * pDev->key->maxKeysPerModifier); + memcpy(ckeyc->modifierKeyMap, pDev->key->modifierKeyMap, + (8 * pDev->key->maxKeysPerModifier)); + + ckeyc->maxKeysPerModifier = pDev->key->maxKeysPerModifier; + ckeyc->curKeySyms.minKeyCode = pDev->key->curKeySyms.minKeyCode; + ckeyc->curKeySyms.maxKeyCode = pDev->key->curKeySyms.maxKeyCode; + SetKeySymsMap(&ckeyc->curKeySyms, &pDev->key->curKeySyms); + + /* + * Copy state from the extended keyboard to core. If you omit this, + * holding Ctrl on keyboard one, and pressing Q on keyboard two, will + * cause your app to quit. This feels wrong to me, hence the below + * code. + * + * XXX: If you synthesise core modifier events, the state will get + * clobbered here. You'll have to work out something sensible + * to fix that. Good luck. + */ + +#define KEYBOARD_MASK (ShiftMask | LockMask | ControlMask | Mod1Mask | \ + Mod2Mask | Mod3Mask | Mod4Mask | Mod5Mask) + ckeyc->state &= ~(KEYBOARD_MASK); + ckeyc->state |= (pDev->key->state & KEYBOARD_MASK); +#undef KEYBOARD_MASK + for (i = 0; i < 8; i++) + ckeyc->modifierKeyCount[i] = pDev->key->modifierKeyCount[i]; + +#ifdef XKB + if (!noXkbExtension && pDev->key->xkbInfo && pDev->key->xkbInfo->desc) { + if (!XkbCopyKeymap(pDev->key->xkbInfo->desc, ckeyc->xkbInfo->desc, + True)) + FatalError("Couldn't pivot keymap from device to core!\n"); + } +#endif + + SendMappingNotify(MappingKeyboard, ckeyc->curKeySyms.minKeyCode, + (ckeyc->curKeySyms.maxKeyCode - + ckeyc->curKeySyms.minKeyCode), + serverClient); + inputInfo.keyboard->devPrivates[CoreDevicePrivatesIndex].ptr = pDev; + } +} + + +/** + * Note that pDev was the last function to send a core pointer event. + * Currently a no-op. + * + * Call this just before processInputProc. + */ +_X_EXPORT void +SwitchCorePointer(DeviceIntPtr pDev) +{ + if (inputInfo.pointer->devPrivates[CoreDevicePrivatesIndex].ptr != pDev) + inputInfo.pointer->devPrivates[CoreDevicePrivatesIndex].ptr = pDev; +} + + +/** + * Synthesize a single motion event for the core pointer. + * + * Used in cursor functions, e.g. when cursor confinement changes, and we need + * to shift the pointer to get it inside the new bounds. + */ +void +PostSyntheticMotion(int x, int y, int screen, unsigned long time) +{ + xEvent xE; + +#ifdef PANORAMIX + /* Translate back to the sprite screen since processInputProc + will translate from sprite screen to screen 0 upon reentry + to the DIX layer. */ + if (!noPanoramiXExtension) { + x += panoramiXdataPtr[0].x - panoramiXdataPtr[screen].x; + y += panoramiXdataPtr[0].y - panoramiXdataPtr[screen].y; + } +#endif + + memset(&xE, 0, sizeof(xEvent)); + xE.u.u.type = MotionNotify; + xE.u.keyButtonPointer.rootX = x; + xE.u.keyButtonPointer.rootY = y; + xE.u.keyButtonPointer.time = time; + + (*inputInfo.pointer->public.processInputProc)(&xE, inputInfo.pointer, 1); +} diff --git a/xserver/dix/glyphcurs.c b/xserver/dix/glyphcurs.c index c1c545fa9..70b1ff8f7 100644 --- a/xserver/dix/glyphcurs.c +++ b/xserver/dix/glyphcurs.c @@ -74,10 +74,10 @@ cursor metrics. */ int -ServerBitsFromGlyph(FontPtr pfont, unsigned ch, register CursorMetricPtr cm, unsigned char **ppbits) +ServerBitsFromGlyph(FontPtr pfont, unsigned ch, CursorMetricPtr cm, unsigned char **ppbits) { - register ScreenPtr pScreen; - register GCPtr pGC; + ScreenPtr pScreen; + GCPtr pGC; xRectangle rect; PixmapPtr ppix; long nby; @@ -140,7 +140,7 @@ ServerBitsFromGlyph(FontPtr pfont, unsigned ch, register CursorMetricPtr cm, uns Bool -CursorMetricsFromGlyph(register FontPtr pfont, unsigned ch, register CursorMetricPtr cm) +CursorMetricsFromGlyph(FontPtr pfont, unsigned ch, CursorMetricPtr cm) { CharInfoPtr pci; unsigned long nglyphs; diff --git a/xserver/dix/grabs.c b/xserver/dix/grabs.c index 0c2b05e89..2210cd05e 100644 --- a/xserver/dix/grabs.c +++ b/xserver/dix/grabs.c @@ -128,7 +128,7 @@ FreeGrab(GrabPtr pGrab) int DeletePassiveGrab(pointer value, XID id) { - register GrabPtr g, prev; + GrabPtr g, prev; GrabPtr pGrab = (GrabPtr)value; /* it is OK if the grab isn't found */ @@ -153,8 +153,8 @@ DeletePassiveGrab(pointer value, XID id) static Mask * DeleteDetailFromMask(Mask *pDetailMask, unsigned short detail) { - register Mask *mask; - register int i; + Mask *mask; + int i; mask = (Mask *)xalloc(sizeof(Mask) * MasksPerDetailMask); if (mask) @@ -269,6 +269,42 @@ GrabMatchesSecond(GrabPtr pFirstGrab, GrabPtr pSecondGrab) return FALSE; } +static Bool +GrabsAreIdentical(GrabPtr pFirstGrab, GrabPtr pSecondGrab) +{ + if (pFirstGrab->device != pSecondGrab->device || + (pFirstGrab->modifierDevice != pSecondGrab->modifierDevice) || + (pFirstGrab->type != pSecondGrab->type)) + return FALSE; + + if (!(DetailSupersedesSecond(pFirstGrab->detail, + pSecondGrab->detail, + (unsigned short)AnyKey) && + DetailSupersedesSecond(pSecondGrab->detail, + pFirstGrab->detail, + (unsigned short)AnyKey))) + return FALSE; + + if (!(DetailSupersedesSecond(pFirstGrab->modifiersDetail, + pSecondGrab->modifiersDetail, + (unsigned short)AnyModifier) && + DetailSupersedesSecond(pSecondGrab->modifiersDetail, + pFirstGrab->modifiersDetail, + (unsigned short)AnyModifier))) + return FALSE; + + return TRUE; +} + + +/** + * Prepend the new grab to the list of passive grabs on the window. + * Any previously existing grab that matches the new grab will be removed. + * Adding a new grab that would override another client's grab will result in + * a BadAccess. + * + * @return Success or X error code on failure. + */ int AddPassiveGrabToList(GrabPtr pGrab) { @@ -286,11 +322,22 @@ AddPassiveGrabToList(GrabPtr pGrab) } } + /* Remove all grabs that match the new one exactly */ + for (grab = wPassiveGrabs(pGrab->window); grab; grab = grab->next) + { + if (GrabsAreIdentical(pGrab, grab)) + { + DeletePassiveGrabFromList(grab); + break; + } + } + if (!pGrab->window->optional && !MakeWindowOptional (pGrab->window)) { FreeGrab(pGrab); return BadAlloc; } + pGrab->next = pGrab->window->optional->passiveGrabs; pGrab->window->optional->passiveGrabs = pGrab; if (AddResource(pGrab->resource, RT_PASSIVEGRAB, (pointer)pGrab)) @@ -305,7 +352,7 @@ AddPassiveGrabToList(GrabPtr pGrab) Bool DeletePassiveGrabFromList(GrabPtr pMinuendGrab) { - register GrabPtr grab; + GrabPtr grab; GrabPtr *deletes, *adds; Mask ***updates, **details; int i, ndels, nadds, nups; diff --git a/xserver/dix/initatoms.c b/xserver/dix/initatoms.c index a5972afd6..de101bd0f 100644 --- a/xserver/dix/initatoms.c +++ b/xserver/dix/initatoms.c @@ -11,7 +11,7 @@ #include #include "misc.h" #include "dix.h" -void MakePredeclaredAtoms() +void MakePredeclaredAtoms(void) { if (MakeAtom("PRIMARY", 7, 1) != XA_PRIMARY) AtomError(); if (MakeAtom("SECONDARY", 9, 1) != XA_SECONDARY) AtomError(); diff --git a/xserver/dix/main.c b/xserver/dix/main.c index f3cde189c..31e291b02 100644 --- a/xserver/dix/main.c +++ b/xserver/dix/main.c @@ -74,8 +74,6 @@ Equipment Corporation. ******************************************************************/ -/* $TOG: main.c /main/86 1998/02/09 14:20:03 kaleb $ */ - #define NEED_EVENTS #ifdef HAVE_DIX_CONFIG_H #include @@ -98,6 +96,7 @@ Equipment Corporation. #include #include "opaque.h" #include "servermd.h" +#include "hotplug.h" #include "site.h" #include "dixfont.h" #include "extnsionst.h" @@ -252,6 +251,7 @@ main(int argc, char *argv[], char *envp[]) display = "0"; InitGlobals(); + InitRegions(); #ifdef XPRINT PrinterInitGlobals(); #endif @@ -309,7 +309,8 @@ main(int argc, char *argv[], char *envp[]) #endif InitBlockAndWakeupHandlers(); /* Perform any operating system dependent initializations you'd like */ - OsInit(); + OsInit(); + config_init(); if(serverGeneration == 1) { CreateWellKnownSockets(); @@ -359,9 +360,7 @@ main(int argc, char *argv[], char *envp[]) ResetScreenPrivates(); ResetWindowPrivates(); ResetGCPrivates(); -#ifdef PIXPRIV ResetPixmapPrivates(); -#endif ResetColormapPrivates(); ResetFontPrivateIndex(); ResetDevicePrivateIndex(); @@ -394,6 +393,7 @@ main(int argc, char *argv[], char *envp[]) if (!CreateRootWindow(pScreen)) FatalError("failed to create root window"); } + InitCoreDevices(); InitInput(argc, argv); if (InitAndStartDevices() != Success) FatalError("failed to initialize core devices"); @@ -401,16 +401,21 @@ main(int argc, char *argv[], char *envp[]) InitFonts(); if (loadableFonts) { SetFontPath(0, 0, (unsigned char *)defaultFontPath, &error); - } else { + } + else { if (SetDefaultFontPath(defaultFontPath) != Success) ErrorF("failed to set default font path '%s'", defaultFontPath); } - if (!SetDefaultFont(defaultTextFont)) + if (!SetDefaultFont(defaultTextFont)) { FatalError("could not open default font '%s'", defaultTextFont); - if (!(rootCursor = CreateRootCursor(defaultCursorFont, 0))) + } + + if (!(rootCursor = CreateRootCursor(NULL, 0))) { FatalError("could not open default cursor font '%s'", defaultCursorFont); + } + #ifdef DPMSExtension /* check all screens, looking for DPMS Capabilities */ DPMSCapableFlag = DPMSSupported(); @@ -433,13 +438,15 @@ main(int argc, char *argv[], char *envp[]) #ifdef PANORAMIX if (!noPanoramiXExtension) { - if (!PanoramiXCreateConnectionBlock()) + if (!PanoramiXCreateConnectionBlock()) { FatalError("could not create connection block info"); + } } else #endif { - if (!CreateConnectionBlock()) + if (!CreateConnectionBlock()) { FatalError("could not create connection block info"); + } } Dispatch(); @@ -461,6 +468,7 @@ main(int argc, char *argv[], char *envp[]) FreeAllResources(); #endif + config_fini(); CloseDownDevices(); for (i = screenInfo.numScreens - 1; i >= 0; i--) { @@ -501,7 +509,7 @@ main(int argc, char *argv[], char *envp[]) } static int VendorRelease = VENDOR_RELEASE; -static char *VendorString = VENDOR_STRING; +static char *VendorString = VENDOR_NAME; void SetVendorRelease(int release) @@ -521,7 +529,7 @@ static int padlength[4] = {0, 3, 2, 1}; static #endif Bool -CreateConnectionBlock() +CreateConnectionBlock(void) { xConnSetup setup; xWindowRoot root; @@ -681,9 +689,6 @@ AddScreen( int i; int scanlinepad, format, depth, bitsPerPixel, j, k; ScreenPtr pScreen; -#ifdef DEBUG - void (**jNI) (); -#endif /* DEBUG */ i = screenInfo.numScreens; if (i == MAXSCREENS) @@ -709,21 +714,12 @@ AddScreen( pScreen->GCPrivateSizes = (unsigned *)NULL; pScreen->totalGCSize = ((sizeof(GC) + sizeof(long) - 1) / sizeof(long)) * sizeof(long); -#ifdef PIXPRIV pScreen->PixmapPrivateLen = 0; pScreen->PixmapPrivateSizes = (unsigned *)NULL; pScreen->totalPixmapSize = BitmapBytePad(sizeof(PixmapRec)*8); -#endif pScreen->ClipNotify = 0; /* for R4 ddx compatibility */ pScreen->CreateScreenResources = 0; -#ifdef DEBUG - for (jNI = &pScreen->QueryBestSize; - jNI < (void (**) ()) &pScreen->SendGraphicsExpose; - jNI++) - *jNI = NotImplemented; -#endif /* DEBUG */ - /* * This loop gets run once for every Screen that gets added, * but thats ok. If the ddx layer initializes the formats @@ -784,9 +780,7 @@ FreeScreen(ScreenPtr pScreen) { xfree(pScreen->WindowPrivateSizes); xfree(pScreen->GCPrivateSizes); -#ifdef PIXPRIV xfree(pScreen->PixmapPrivateSizes); -#endif xfree(pScreen->devPrivates); xfree(pScreen); } diff --git a/xserver/dix/pixmap.c b/xserver/dix/pixmap.c index a5b7b064d..c280a3b94 100644 --- a/xserver/dix/pixmap.c +++ b/xserver/dix/pixmap.c @@ -109,7 +109,6 @@ _X_EXPORT PixmapPtr AllocatePixmap(ScreenPtr pScreen, int pixDataSize) { PixmapPtr pPixmap; -#ifdef PIXPRIV char *ptr; DevUnion *ppriv; unsigned *sizes; @@ -136,9 +135,6 @@ AllocatePixmap(ScreenPtr pScreen, int pixDataSize) else ppriv->ptr = (pointer)NULL; } -#else - pPixmap = (PixmapPtr)xalloc(sizeof(PixmapRec) + pixDataSize); -#endif #ifdef _XSERVER64 if (pPixmap) { diff --git a/xserver/dix/privates.c b/xserver/dix/privates.c index b20a1dbf0..246597117 100644 --- a/xserver/dix/privates.c +++ b/xserver/dix/privates.c @@ -60,7 +60,7 @@ unsigned *extensionPrivateSizes; unsigned totalExtensionSize; void -ResetExtensionPrivates() +ResetExtensionPrivates(void) { extensionPrivateCount = 0; extensionPrivateLen = 0; @@ -71,7 +71,7 @@ ResetExtensionPrivates() } _X_EXPORT int -AllocateExtensionPrivateIndex() +AllocateExtensionPrivateIndex(void) { return extensionPrivateCount++; } @@ -117,7 +117,7 @@ unsigned *clientPrivateSizes; unsigned totalClientSize; void -ResetClientPrivates() +ResetClientPrivates(void) { clientPrivateCount = 0; clientPrivateLen = 0; @@ -128,7 +128,7 @@ ResetClientPrivates() } _X_EXPORT int -AllocateClientPrivateIndex() +AllocateClientPrivateIndex(void) { return clientPrivateCount++; } @@ -171,7 +171,7 @@ AllocateClientPrivate(int index2, unsigned amount) int screenPrivateCount; void -ResetScreenPrivates() +ResetScreenPrivates(void) { screenPrivateCount = 0; } @@ -180,7 +180,7 @@ ResetScreenPrivates() * so we have to worry about resizing existing devPrivates */ _X_EXPORT int -AllocateScreenPrivateIndex() +AllocateScreenPrivateIndex(void) { int idx; int i; @@ -213,19 +213,19 @@ AllocateScreenPrivateIndex() static int windowPrivateCount; void -ResetWindowPrivates() +ResetWindowPrivates(void) { windowPrivateCount = 0; } _X_EXPORT int -AllocateWindowPrivateIndex() +AllocateWindowPrivateIndex(void) { return windowPrivateCount++; } _X_EXPORT Bool -AllocateWindowPrivate(register ScreenPtr pScreen, int index2, unsigned amount) +AllocateWindowPrivate(ScreenPtr pScreen, int index2, unsigned amount) { unsigned oldamount; @@ -263,19 +263,19 @@ AllocateWindowPrivate(register ScreenPtr pScreen, int index2, unsigned amount) static int gcPrivateCount; void -ResetGCPrivates() +ResetGCPrivates(void) { gcPrivateCount = 0; } _X_EXPORT int -AllocateGCPrivateIndex() +AllocateGCPrivateIndex(void) { return gcPrivateCount++; } _X_EXPORT Bool -AllocateGCPrivate(register ScreenPtr pScreen, int index2, unsigned amount) +AllocateGCPrivate(ScreenPtr pScreen, int index2, unsigned amount) { unsigned oldamount; @@ -309,23 +309,22 @@ AllocateGCPrivate(register ScreenPtr pScreen, int index2, unsigned amount) /* * pixmap private machinery */ -#ifdef PIXPRIV static int pixmapPrivateCount; void -ResetPixmapPrivates() +ResetPixmapPrivates(void) { pixmapPrivateCount = 0; } _X_EXPORT int -AllocatePixmapPrivateIndex() +AllocatePixmapPrivateIndex(void) { return pixmapPrivateCount++; } _X_EXPORT Bool -AllocatePixmapPrivate(register ScreenPtr pScreen, int index2, unsigned amount) +AllocatePixmapPrivate(ScreenPtr pScreen, int index2, unsigned amount) { unsigned oldamount; @@ -355,7 +354,6 @@ AllocatePixmapPrivate(register ScreenPtr pScreen, int index2, unsigned amount) pScreen->totalPixmapSize = BitmapBytePad(pScreen->totalPixmapSize * 8); return TRUE; } -#endif /* @@ -365,7 +363,7 @@ AllocatePixmapPrivate(register ScreenPtr pScreen, int index2, unsigned amount) int colormapPrivateCount; void -ResetColormapPrivates() +ResetColormapPrivates(void) { colormapPrivateCount = 0; } @@ -426,7 +424,7 @@ AllocateColormapPrivateIndex (InitCmapPrivFunc initPrivFunc) static int devicePrivateIndex = 0; _X_EXPORT int -AllocateDevicePrivateIndex() +AllocateDevicePrivateIndex(void) { return devicePrivateIndex++; } diff --git a/xserver/dix/property.c b/xserver/dix/property.c index da983838f..e281dd765 100644 --- a/xserver/dix/property.c +++ b/xserver/dix/property.c @@ -58,9 +58,7 @@ SOFTWARE. #include "dixstruct.h" #include "dispatch.h" #include "swaprep.h" -#ifdef XACE #include "xace.h" -#endif /***************************************************************** * Property Stuff @@ -78,7 +76,7 @@ static void PrintPropertys(WindowPtr pWin) { PropertyPtr pProp; - register int j; + int j; pProp = pWin->userProps; while (pProp) @@ -93,23 +91,34 @@ PrintPropertys(WindowPtr pWin) } #endif +static void +deliverPropertyNotifyEvent(WindowPtr pWin, int state, Atom atom) +{ + xEvent event; + + event.u.u.type = PropertyNotify; + event.u.property.window = pWin->drawable.id; + event.u.property.state = state; + event.u.property.atom = atom; + event.u.property.time = currentTime.milliseconds; + DeliverEvents(pWin, &event, 1, (WindowPtr)NULL); +} + int ProcRotateProperties(ClientPtr client) { - int i, j, delta; + int i, j, delta, rc; REQUEST(xRotatePropertiesReq); WindowPtr pWin; - register Atom * atoms; + Atom * atoms; PropertyPtr * props; /* array of pointer */ PropertyPtr pProp; - xEvent event; REQUEST_FIXED_SIZE(xRotatePropertiesReq, stuff->nAtoms << 2); UpdateCurrentTime(); - pWin = (WindowPtr) SecurityLookupWindow(stuff->window, client, - SecurityWriteAccess); - if (!pWin) - return(BadWindow); + rc = dixLookupWindow(&pWin, stuff->window, client, DixWriteAccess); + if (rc != Success) + return rc; if (!stuff->nAtoms) return(Success); atoms = (Atom *) & stuff[1]; @@ -118,27 +127,19 @@ ProcRotateProperties(ClientPtr client) return(BadAlloc); for (i = 0; i < stuff->nAtoms; i++) { -#ifdef XACE char action = XaceHook(XACE_PROPERTY_ACCESS, client, pWin, atoms[i], - SecurityReadAccess|SecurityWriteAccess); -#endif - if (!ValidAtom(atoms[i]) -#ifdef XACE - || (SecurityErrorOperation == action) -#endif - ) - { + DixReadAccess|DixWriteAccess); + + if (!ValidAtom(atoms[i]) || (XaceErrorOperation == action)) { DEALLOCATE_LOCAL(props); client->errorValue = atoms[i]; return BadAtom; } -#ifdef XACE - if (SecurityIgnoreOperation == action) - { + if (XaceIgnoreOperation == action) { DEALLOCATE_LOCAL(props); return Success; } -#endif + for (j = i + 1; j < stuff->nAtoms; j++) if (atoms[j] == atoms[i]) { @@ -168,16 +169,9 @@ found: delta += stuff->nAtoms; for (i = 0; i < stuff->nAtoms; i++) { - /* Generate a PropertyNotify event for each property whose value - is changed in the order in which they appear in the request. */ + deliverPropertyNotifyEvent(pWin, PropertyNewValue, + props[i]->propertyName); - event.u.u.type = PropertyNotify; - event.u.property.window = pWin->drawable.id; - event.u.property.state = PropertyNewValue; - event.u.property.atom = props[i]->propertyName; - event.u.property.time = currentTime.milliseconds; - DeliverEvents(pWin, &event, 1, (WindowPtr)NULL); - props[i]->propertyName = atoms[(i + delta) % stuff->nAtoms]; } } @@ -191,9 +185,7 @@ ProcChangeProperty(ClientPtr client) WindowPtr pWin; char format, mode; unsigned long len; - int sizeInBytes; - int totalSize; - int err; + int sizeInBytes, totalSize, err; REQUEST(xChangePropertyReq); REQUEST_AT_LEAST_SIZE(xChangePropertyReq); @@ -218,10 +210,9 @@ ProcChangeProperty(ClientPtr client) totalSize = len * sizeInBytes; REQUEST_FIXED_SIZE(xChangePropertyReq, totalSize); - pWin = (WindowPtr)SecurityLookupWindow(stuff->window, client, - SecurityWriteAccess); - if (!pWin) - return(BadWindow); + err = dixLookupWindow(&pWin, stuff->window, client, DixWriteAccess); + if (err != Success) + return err; if (!ValidAtom(stuff->property)) { client->errorValue = stuff->property; @@ -233,17 +224,15 @@ ProcChangeProperty(ClientPtr client) return(BadAtom); } -#ifdef XACE switch (XaceHook(XACE_PROPERTY_ACCESS, client, pWin, stuff->property, - SecurityWriteAccess)) + DixWriteAccess)) { - case SecurityErrorOperation: - client->errorValue = stuff->property; - return BadAtom; - case SecurityIgnoreOperation: - return Success; + case XaceErrorOperation: + client->errorValue = stuff->property; + return BadAtom; + case XaceIgnoreOperation: + return Success; } -#endif err = ChangeWindowProperty(pWin, stuff->property, stuff->type, (int)format, (int)mode, len, (pointer)&stuff[1], TRUE); @@ -259,7 +248,6 @@ ChangeWindowProperty(WindowPtr pWin, Atom property, Atom type, int format, Bool sendevent) { PropertyPtr pProp; - xEvent event; int sizeInBytes; int totalSize; pointer data; @@ -354,15 +342,10 @@ ChangeWindowProperty(WindowPtr pWin, Atom property, Atom type, int format, pProp->size += len; } } + if (sendevent) - { - event.u.u.type = PropertyNotify; - event.u.property.window = pWin->drawable.id; - event.u.property.state = PropertyNewValue; - event.u.property.atom = pProp->propertyName; - event.u.property.time = currentTime.milliseconds; - DeliverEvents(pWin, &event, 1, (WindowPtr)NULL); - } + deliverPropertyNotifyEvent(pWin, PropertyNewValue, pProp->propertyName); + return(Success); } @@ -370,7 +353,6 @@ int DeleteProperty(WindowPtr pWin, Atom propName) { PropertyPtr pProp, prevProp; - xEvent event; if (!(pProp = wUserProps (pWin))) return(Success); @@ -393,12 +375,7 @@ DeleteProperty(WindowPtr pWin, Atom propName) { prevProp->next = pProp->next; } - event.u.u.type = PropertyNotify; - event.u.property.window = pWin->drawable.id; - event.u.property.state = PropertyDelete; - event.u.property.atom = pProp->propertyName; - event.u.property.time = currentTime.milliseconds; - DeliverEvents(pWin, &event, 1, (WindowPtr)NULL); + deliverPropertyNotifyEvent(pWin, PropertyDelete, pProp->propertyName); xfree(pProp->data); xfree(pProp); } @@ -409,17 +386,11 @@ void DeleteAllWindowProperties(WindowPtr pWin) { PropertyPtr pProp, pNextProp; - xEvent event; pProp = wUserProps (pWin); while (pProp) { - event.u.u.type = PropertyNotify; - event.u.property.window = pWin->drawable.id; - event.u.property.state = PropertyDelete; - event.u.property.atom = pProp->propertyName; - event.u.property.time = currentTime.milliseconds; - DeliverEvents(pWin, &event, 1, (WindowPtr)NULL); + deliverPropertyNotifyEvent(pWin, PropertyDelete, pProp->propertyName); pNextProp = pProp->next; xfree(pProp->data); xfree(pProp); @@ -457,18 +428,18 @@ int ProcGetProperty(ClientPtr client) { PropertyPtr pProp, prevProp; - unsigned long n, len, ind; + unsigned long n, len, ind, rc; WindowPtr pWin; xGetPropertyReply reply; + Mask access_mode = DixReadAccess; REQUEST(xGetPropertyReq); REQUEST_SIZE_MATCH(xGetPropertyReq); if (stuff->delete) UpdateCurrentTime(); - pWin = (WindowPtr)SecurityLookupWindow(stuff->window, client, - SecurityReadAccess); - if (!pWin) - return BadWindow; + rc = dixLookupWindow(&pWin, stuff->window, client, DixReadAccess); + if (rc != Success) + return rc; if (!ValidAtom(stuff->property)) { @@ -501,24 +472,18 @@ ProcGetProperty(ClientPtr client) if (!pProp) return NullPropertyReply(client, None, 0, &reply); -#ifdef XACE + if (stuff->delete) + access_mode |= DixDestroyAccess; + switch (XaceHook(XACE_PROPERTY_ACCESS, client, pWin, stuff->property, + access_mode)) { - Mask access_mode = SecurityReadAccess; - - if (stuff->delete) - access_mode |= SecurityDestroyAccess; - switch(XaceHook(XACE_PROPERTY_ACCESS, client, pWin, stuff->property, - access_mode)) - { - case SecurityErrorOperation: - client->errorValue = stuff->property; - return BadAtom;; - case SecurityIgnoreOperation: - return NullPropertyReply(client, pProp->type, pProp->format, - &reply); - } + case XaceErrorOperation: + client->errorValue = stuff->property; + return BadAtom;; + case XaceIgnoreOperation: + return NullPropertyReply(client, pProp->type, pProp->format, &reply); } -#endif + /* If the request type and actual type don't match. Return the property information, but not the data. */ @@ -559,16 +524,7 @@ ProcGetProperty(ClientPtr client) reply.propertyType = pProp->type; if (stuff->delete && (reply.bytesAfter == 0)) - { /* send the event */ - xEvent event; - - event.u.u.type = PropertyNotify; - event.u.property.window = pWin->drawable.id; - event.u.property.state = PropertyDelete; - event.u.property.atom = pProp->propertyName; - event.u.property.time = currentTime.milliseconds; - DeliverEvents(pWin, &event, 1, (WindowPtr)NULL); - } + deliverPropertyNotifyEvent(pWin, PropertyDelete, pProp->propertyName); WriteReplyToClient(client, sizeof(xGenericReply), &reply); if (len) @@ -602,16 +558,15 @@ ProcListProperties(ClientPtr client) { Atom *pAtoms = NULL, *temppAtoms; xListPropertiesReply xlpr; - int numProps = 0; + int rc, numProps = 0; WindowPtr pWin; PropertyPtr pProp; REQUEST(xResourceReq); REQUEST_SIZE_MATCH(xResourceReq); - pWin = (WindowPtr)SecurityLookupWindow(stuff->id, client, - SecurityReadAccess); - if (!pWin) - return(BadWindow); + rc = dixLookupWindow(&pWin, stuff->id, client, DixReadAccess); + if (rc != Success) + return rc; pProp = wUserProps (pWin); while (pProp) @@ -645,7 +600,7 @@ ProcListProperties(ClientPtr client) } int -ProcDeleteProperty(register ClientPtr client) +ProcDeleteProperty(ClientPtr client) { WindowPtr pWin; REQUEST(xDeletePropertyReq); @@ -653,27 +608,24 @@ ProcDeleteProperty(register ClientPtr client) REQUEST_SIZE_MATCH(xDeletePropertyReq); UpdateCurrentTime(); - pWin = (WindowPtr)SecurityLookupWindow(stuff->window, client, - SecurityWriteAccess); - if (!pWin) - return(BadWindow); + result = dixLookupWindow(&pWin, stuff->window, client, DixWriteAccess); + if (result != Success) + return result; if (!ValidAtom(stuff->property)) { client->errorValue = stuff->property; return (BadAtom); } -#ifdef XACE - switch(XaceHook(XACE_PROPERTY_ACCESS, client, pWin, stuff->property, - SecurityDestroyAccess)) + switch (XaceHook(XACE_PROPERTY_ACCESS, client, pWin, stuff->property, + DixDestroyAccess)) { - case SecurityErrorOperation: - client->errorValue = stuff->property; - return BadAtom;; - case SecurityIgnoreOperation: - return Success; + case XaceErrorOperation: + client->errorValue = stuff->property; + return BadAtom;; + case XaceIgnoreOperation: + return Success; } -#endif result = DeleteProperty(pWin, stuff->property); if (client->noClientException != Success) diff --git a/xserver/dix/resource.c b/xserver/dix/resource.c index b2d01c8f3..e83c529d3 100644 --- a/xserver/dix/resource.c +++ b/xserver/dix/resource.c @@ -72,8 +72,34 @@ dealings in this Software without prior written authorization from Digital Equipment Corporation. ******************************************************************/ - -/* $TOG: resource.c /main/41 1998/02/09 14:20:31 kaleb $ */ +/* XSERVER_DTRACE additions: + * Copyright 2005-2006 Sun Microsystems, Inc. All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, and/or sell copies of the Software, and to permit persons + * to whom the Software is furnished to do so, provided that the above + * copyright notice(s) and this permission notice appear in all copies of + * the Software and that both the above copyright notice(s) and this + * permission notice appear in supporting documentation. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT + * OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + * HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL + * INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING + * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, + * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION + * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * Except as contained in this notice, the name of a copyright holder + * shall not be used in advertising or otherwise to promote the sale, use + * or other dealings in this Software without prior written authorization + * of the copyright holder. + */ /* Routines to manage various kinds of resources: * @@ -120,11 +146,17 @@ Equipment Corporation. #include "panoramiX.h" #include "panoramiXsrv.h" #endif -#ifdef XACE #include "xace.h" -#endif #include +#ifdef XSERVER_DTRACE +#include +typedef const char *string; +#include "Xserver-dtrace.h" + +#define TypeNameString(t) NameForAtom(ResourceNames[t & TypeMask]) +#endif + static void RebuildTable( int /*client*/ ); @@ -201,7 +233,7 @@ CreateNewResourceType(DeleteType deleteFunc) } _X_EXPORT RESTYPE -CreateNewResourceClass() +CreateNewResourceClass(void) { RESTYPE next = lastResourceClass >> 1; @@ -212,7 +244,7 @@ CreateNewResourceClass() return next; } -ClientResourceRec clientTable[MAXCLIENTS]; +static ClientResourceRec clientTable[MAXCLIENTS]; /***************** * InitClientResources @@ -223,7 +255,7 @@ ClientResourceRec clientTable[MAXCLIENTS]; Bool InitClientResources(ClientPtr client) { - register int i, j; + int i, j; if (client == serverClient) { @@ -280,7 +312,7 @@ InitClientResources(ClientPtr client) static int -Hash(int client, register XID id) +Hash(int client, XID id) { id &= RESOURCE_ID_MASK; switch (clientTable[client].hashsize) @@ -303,12 +335,12 @@ Hash(int client, register XID id) static XID AvailableID( - register int client, - register XID id, - register XID maxid, - register XID goodid) + int client, + XID id, + XID maxid, + XID goodid) { - register ResourcePtr res; + ResourcePtr res; if ((goodid >= id) && (goodid <= maxid)) return goodid; @@ -326,10 +358,10 @@ AvailableID( _X_EXPORT void GetXIDRange(int client, Bool server, XID *minp, XID *maxp) { - register XID id, maxid; - register ResourcePtr *resp; - register ResourcePtr res; - register int i; + XID id, maxid; + ResourcePtr *resp; + ResourcePtr res; + int i; XID goodid; id = (Mask)client << CLIENTOFFSET; @@ -402,7 +434,7 @@ GetXIDList(ClientPtr pClient, unsigned count, XID *pids) */ _X_EXPORT XID -FakeClientID(register int client) +FakeClientID(int client) { XID id, maxid; @@ -426,9 +458,12 @@ _X_EXPORT Bool AddResource(XID id, RESTYPE type, pointer value) { int client; - register ClientResourceRec *rrec; - register ResourcePtr res, *head; + ClientResourceRec *rrec; + ResourcePtr res, *head; +#ifdef XSERVER_DTRACE + XSERVER_RESOURCE_ALLOC(id, type, value, TypeNameString(type)); +#endif client = CLIENT_ID(id); rrec = &clientTable[client]; if (!rrec->buckets) @@ -461,10 +496,10 @@ AddResource(XID id, RESTYPE type, pointer value) static void RebuildTable(int client) { - register int j; - register ResourcePtr res, next; + int j; + ResourcePtr res, next; ResourcePtr **tails, *resources; - register ResourcePtr **tptr, *rptr; + ResourcePtr **tptr, *rptr; /* * For now, preserve insertion order, since some ddx layers depend @@ -511,9 +546,9 @@ _X_EXPORT void FreeResource(XID id, RESTYPE skipDeleteFuncType) { int cid; - register ResourcePtr res; - register ResourcePtr *prev, *head; - register int *eltptr; + ResourcePtr res; + ResourcePtr *prev, *head; + int *eltptr; int elements; Bool gotOne = FALSE; @@ -528,6 +563,11 @@ FreeResource(XID id, RESTYPE skipDeleteFuncType) if (res->id == id) { RESTYPE rtype = res->type; + +#ifdef XSERVER_DTRACE + XSERVER_RESOURCE_FREE(res->id, res->type, + res->value, TypeNameString(res->type)); +#endif *prev = res->next; elements = --*eltptr; if (rtype & RC_CACHED) @@ -558,8 +598,8 @@ _X_EXPORT void FreeResourceByType(XID id, RESTYPE type, Bool skipFree) { int cid; - register ResourcePtr res; - register ResourcePtr *prev, *head; + ResourcePtr res; + ResourcePtr *prev, *head; if (((cid = CLIENT_ID(id)) < MAXCLIENTS) && clientTable[cid].buckets) { head = &clientTable[cid].resources[Hash(cid, id)]; @@ -569,6 +609,10 @@ FreeResourceByType(XID id, RESTYPE type, Bool skipFree) { if (res->id == id && res->type == type) { +#ifdef XSERVER_DTRACE + XSERVER_RESOURCE_FREE(res->id, res->type, + res->value, TypeNameString(res->type)); +#endif *prev = res->next; if (type & RC_CACHED) FlushClientCaches(res->id); @@ -598,7 +642,7 @@ _X_EXPORT Bool ChangeResourceValue (XID id, RESTYPE rtype, pointer value) { int cid; - register ResourcePtr res; + ResourcePtr res; if (((cid = CLIENT_ID(id)) < MAXCLIENTS) && clientTable[cid].buckets) { @@ -629,10 +673,10 @@ FindClientResourcesByType( FindResType func, pointer cdata ){ - register ResourcePtr *resources; - register ResourcePtr this, next; + ResourcePtr *resources; + ResourcePtr this, next; int i, elements; - register int *eltptr; + int *eltptr; if (!client) client = serverClient; @@ -660,10 +704,10 @@ FindAllClientResources( FindAllRes func, pointer cdata ){ - register ResourcePtr *resources; - register ResourcePtr this, next; + ResourcePtr *resources; + ResourcePtr this, next; int i, elements; - register int *eltptr; + int *eltptr; if (!client) client = serverClient; @@ -731,6 +775,10 @@ FreeClientNeverRetainResources(ClientPtr client) RESTYPE rtype = this->type; if (rtype & RC_NEVERRETAIN) { +#ifdef XSERVER_DTRACE + XSERVER_RESOURCE_FREE(this->id, this->type, + this->value, TypeNameString(this->type)); +#endif *prev = this->next; if (rtype & RC_CACHED) FlushClientCaches(this->id); @@ -746,8 +794,8 @@ FreeClientNeverRetainResources(ClientPtr client) void FreeClientResources(ClientPtr client) { - register ResourcePtr *resources; - register ResourcePtr this; + ResourcePtr *resources; + ResourcePtr this; int j; /* This routine shouldn't be called with a null client, but just in @@ -777,6 +825,10 @@ FreeClientResources(ClientPtr client) for (this = *head; this; this = *head) { RESTYPE rtype = this->type; +#ifdef XSERVER_DTRACE + XSERVER_RESOURCE_FREE(this->id, this->type, + this->value, TypeNameString(this->type)); +#endif *head = this->next; if (rtype & RC_CACHED) FlushClientCaches(this->id); @@ -790,7 +842,7 @@ FreeClientResources(ClientPtr client) } void -FreeAllResources() +FreeAllResources(void) { int i; @@ -802,7 +854,7 @@ FreeAllResources() } _X_EXPORT Bool -LegalNewID(XID id, register ClientPtr client) +LegalNewID(XID id, ClientPtr client) { #ifdef PANORAMIX @@ -833,7 +885,7 @@ _X_EXPORT pointer SecurityLookupIDByType(ClientPtr client, XID id, RESTYPE rtype, Mask mode) { int cid; - register ResourcePtr res; + ResourcePtr res; pointer retval = NULL; if (((cid = CLIENT_ID(id)) < MAXCLIENTS) && @@ -848,11 +900,10 @@ SecurityLookupIDByType(ClientPtr client, XID id, RESTYPE rtype, Mask mode) break; } } -#ifdef XACE if (retval && client && !XaceHook(XACE_RESOURCE_ACCESS, client, id, rtype, mode, retval)) retval = NULL; -#endif + return retval; } @@ -861,7 +912,7 @@ _X_EXPORT pointer SecurityLookupIDByClass(ClientPtr client, XID id, RESTYPE classes, Mask mode) { int cid; - register ResourcePtr res = NULL; + ResourcePtr res = NULL; pointer retval = NULL; if (((cid = CLIENT_ID(id)) < MAXCLIENTS) && @@ -876,11 +927,10 @@ SecurityLookupIDByClass(ClientPtr client, XID id, RESTYPE classes, Mask mode) break; } } -#ifdef XACE if (retval && client && !XaceHook(XACE_RESOURCE_ACCESS, client, id, res->type, mode, retval)) retval = NULL; -#endif + return retval; } @@ -892,12 +942,12 @@ _X_EXPORT pointer LookupIDByType(XID id, RESTYPE rtype) { return SecurityLookupIDByType(NullClient, id, rtype, - SecurityUnknownAccess); + DixUnknownAccess); } _X_EXPORT pointer LookupIDByClass(XID id, RESTYPE classes) { return SecurityLookupIDByClass(NullClient, id, classes, - SecurityUnknownAccess); + DixUnknownAccess); } diff --git a/xserver/dix/swaprep.c b/xserver/dix/swaprep.c index 08ae6eb1a..7d3251ae3 100644 --- a/xserver/dix/swaprep.c +++ b/xserver/dix/swaprep.c @@ -73,10 +73,10 @@ static void SwapFont(xQueryFontReply *pr, Bool hasGlyphs); * \param size size in bytes */ _X_EXPORT void -Swap32Write(ClientPtr pClient, int size, register CARD32 *pbuf) +Swap32Write(ClientPtr pClient, int size, CARD32 *pbuf) { - register int i; - register char n; + int i; + char n; size >>= 2; for(i = 0; i < size; i++) @@ -97,7 +97,7 @@ CopySwap32Write(ClientPtr pClient, int size, CARD32 *pbuf) { int bufsize = size; CARD32 *pbufT; - register CARD32 *from, *to, *fromLast, *toLast; + CARD32 *from, *to, *fromLast, *toLast; CARD32 tmpbuf[1]; /* Allocate as big a buffer as we can... */ @@ -145,7 +145,7 @@ CopySwap16Write(ClientPtr pClient, int size, short *pbuf) { int bufsize = size; short *pbufT; - register short *from, *to, *fromLast, *toLast; + short *from, *to, *fromLast, *toLast; short tmpbuf[2]; /* Allocate as big a buffer as we can... */ @@ -189,7 +189,7 @@ CopySwap16Write(ClientPtr pClient, int size, short *pbuf) void SGenericReply(ClientPtr pClient, int size, xGenericReply *pRep) { - register char n; + char n; swaps(&pRep->sequenceNumber, n); (void)WriteToClient(pClient, size, (char *) pRep); @@ -200,7 +200,7 @@ void SGetWindowAttributesReply(ClientPtr pClient, int size, xGetWindowAttributesReply *pRep) { - register char n; + char n; swaps(&pRep->sequenceNumber, n); swapl(&pRep->length, n); @@ -218,7 +218,7 @@ SGetWindowAttributesReply(ClientPtr pClient, int size, void SGetGeometryReply(ClientPtr pClient, int size, xGetGeometryReply *pRep) { - register char n; + char n; swaps(&pRep->sequenceNumber, n); swapl(&pRep->root, n); @@ -233,7 +233,7 @@ SGetGeometryReply(ClientPtr pClient, int size, xGetGeometryReply *pRep) void SQueryTreeReply(ClientPtr pClient, int size, xQueryTreeReply *pRep) { - register char n; + char n; swaps(&pRep->sequenceNumber, n); swapl(&pRep->length, n); @@ -246,7 +246,7 @@ SQueryTreeReply(ClientPtr pClient, int size, xQueryTreeReply *pRep) void SInternAtomReply(ClientPtr pClient, int size, xInternAtomReply *pRep) { - register char n; + char n; swaps(&pRep->sequenceNumber, n); swapl(&pRep->atom, n); @@ -256,7 +256,7 @@ SInternAtomReply(ClientPtr pClient, int size, xInternAtomReply *pRep) void SGetAtomNameReply(ClientPtr pClient, int size, xGetAtomNameReply *pRep) { - register char n; + char n; swaps(&pRep->sequenceNumber, n); swapl(&pRep->length, n); @@ -268,7 +268,7 @@ SGetAtomNameReply(ClientPtr pClient, int size, xGetAtomNameReply *pRep) void SGetPropertyReply(ClientPtr pClient, int size, xGetPropertyReply *pRep) { - register char n; + char n; swaps(&pRep->sequenceNumber, n); swapl(&pRep->length, n); @@ -281,7 +281,7 @@ SGetPropertyReply(ClientPtr pClient, int size, xGetPropertyReply *pRep) void SListPropertiesReply(ClientPtr pClient, int size, xListPropertiesReply *pRep) { - register char n; + char n; swaps(&pRep->sequenceNumber, n); swapl(&pRep->length, n); @@ -293,7 +293,7 @@ void SGetSelectionOwnerReply(ClientPtr pClient, int size, xGetSelectionOwnerReply *pRep) { - register char n; + char n; swaps(&pRep->sequenceNumber, n); swapl(&pRep->owner, n); @@ -304,7 +304,7 @@ SGetSelectionOwnerReply(ClientPtr pClient, int size, void SQueryPointerReply(ClientPtr pClient, int size, xQueryPointerReply *pRep) { - register char n; + char n; swaps(&pRep->sequenceNumber, n); swapl(&pRep->root, n); @@ -317,10 +317,10 @@ SQueryPointerReply(ClientPtr pClient, int size, xQueryPointerReply *pRep) (void)WriteToClient(pClient, size, (char *) pRep); } -void +static void SwapTimecoord(xTimecoord* pCoord) { - register char n; + char n; swapl(&pCoord->time, n); swaps(&pCoord->x, n); @@ -346,7 +346,7 @@ SwapTimeCoordWrite(ClientPtr pClient, int size, xTimecoord *pRep) void SGetMotionEventsReply(ClientPtr pClient, int size, xGetMotionEventsReply *pRep) { - register char n; + char n; swaps(&pRep->sequenceNumber, n); swapl(&pRep->length, n); @@ -357,7 +357,7 @@ SGetMotionEventsReply(ClientPtr pClient, int size, xGetMotionEventsReply *pRep) void STranslateCoordsReply(ClientPtr pClient, int size, xTranslateCoordsReply *pRep) { - register char n; + char n; swaps(&pRep->sequenceNumber, n); swapl(&pRep->child, n); @@ -369,7 +369,7 @@ STranslateCoordsReply(ClientPtr pClient, int size, xTranslateCoordsReply *pRep) void SGetInputFocusReply(ClientPtr pClient, int size, xGetInputFocusReply *pRep) { - register char n; + char n; swaps(&pRep->sequenceNumber, n); swapl(&pRep->focus, n); @@ -380,7 +380,7 @@ SGetInputFocusReply(ClientPtr pClient, int size, xGetInputFocusReply *pRep) void SQueryKeymapReply(ClientPtr pClient, int size, xQueryKeymapReply *pRep) { - register char n; + char n; swaps(&pRep->sequenceNumber, n); swapl(&pRep->length, n); @@ -390,7 +390,7 @@ SQueryKeymapReply(ClientPtr pClient, int size, xQueryKeymapReply *pRep) static void SwapCharInfo(xCharInfo *pInfo) { - register char n; + char n; swaps(&pInfo->leftSideBearing, n); swaps(&pInfo->rightSideBearing, n); @@ -403,7 +403,7 @@ SwapCharInfo(xCharInfo *pInfo) static void SwapFontInfo(xQueryFontReply *pr) { - register char n; + char n; swaps(&pr->minCharOrByte2, n); swaps(&pr->maxCharOrByte2, n); @@ -423,7 +423,7 @@ SwapFont(xQueryFontReply *pr, Bool hasGlyphs) xCharInfo * pxci; unsigned nchars, nprops; char *pby; - register char n; + char n; swaps(&pr->sequenceNumber, n); swapl(&pr->length, n); @@ -458,7 +458,7 @@ SQueryFontReply(ClientPtr pClient, int size, xQueryFontReply *pRep) void SQueryTextExtentsReply(ClientPtr pClient, int size, xQueryTextExtentsReply *pRep) { - register char n; + char n; swaps(&pRep->sequenceNumber, n); swaps(&pRep->fontAscent, n); @@ -474,7 +474,7 @@ SQueryTextExtentsReply(ClientPtr pClient, int size, xQueryTextExtentsReply *pRep void SListFontsReply(ClientPtr pClient, int size, xListFontsReply *pRep) { - register char n; + char n; swaps(&pRep->sequenceNumber, n); swapl(&pRep->length, n); @@ -493,7 +493,7 @@ SListFontsWithInfoReply(ClientPtr pClient, int size, void SGetFontPathReply(ClientPtr pClient, int size, xGetFontPathReply *pRep) { - register char n; + char n; swaps(&pRep->sequenceNumber, n); swapl(&pRep->length, n); @@ -504,7 +504,7 @@ SGetFontPathReply(ClientPtr pClient, int size, xGetFontPathReply *pRep) void SGetImageReply(ClientPtr pClient, int size, xGetImageReply *pRep) { - register char n; + char n; swaps(&pRep->sequenceNumber, n); swapl(&pRep->length, n); @@ -517,7 +517,7 @@ void SListInstalledColormapsReply(ClientPtr pClient, int size, xListInstalledColormapsReply *pRep) { - register char n; + char n; swaps(&pRep->sequenceNumber, n); swapl(&pRep->length, n); @@ -531,7 +531,7 @@ SAllocColorReply(pClient, size, pRep) int size; xAllocColorReply *pRep; { - register char n; + char n; swaps(&pRep->sequenceNumber, n); swaps(&pRep->red, n); @@ -544,7 +544,7 @@ SAllocColorReply(pClient, size, pRep) void SAllocNamedColorReply(ClientPtr pClient, int size, xAllocNamedColorReply *pRep) { - register char n; + char n; swaps(&pRep->sequenceNumber, n); swapl(&pRep->pixel, n); @@ -560,7 +560,7 @@ SAllocNamedColorReply(ClientPtr pClient, int size, xAllocNamedColorReply *pRep) void SAllocColorCellsReply(ClientPtr pClient, int size, xAllocColorCellsReply *pRep) { - register char n; + char n; swaps(&pRep->sequenceNumber, n); swapl(&pRep->length, n); @@ -573,7 +573,7 @@ SAllocColorCellsReply(ClientPtr pClient, int size, xAllocColorCellsReply *pRep) void SAllocColorPlanesReply(ClientPtr pClient, int size, xAllocColorPlanesReply *pRep) { - register char n; + char n; swaps(&pRep->sequenceNumber, n); swapl(&pRep->length, n); @@ -584,10 +584,10 @@ SAllocColorPlanesReply(ClientPtr pClient, int size, xAllocColorPlanesReply *pRep (void)WriteToClient(pClient, size, (char *) pRep); } -void +static void SwapRGB(xrgb *prgb) { - register char n; + char n; swaps(&prgb->red, n); swaps(&prgb->green, n); @@ -613,7 +613,7 @@ SQColorsExtend(ClientPtr pClient, int size, xrgb *prgb) void SQueryColorsReply(ClientPtr pClient, int size, xQueryColorsReply* pRep) { - register char n; + char n; swaps(&pRep->sequenceNumber, n); swapl(&pRep->length, n); @@ -624,7 +624,7 @@ SQueryColorsReply(ClientPtr pClient, int size, xQueryColorsReply* pRep) void SLookupColorReply(ClientPtr pClient, int size, xLookupColorReply *pRep) { - register char n; + char n; swaps(&pRep->sequenceNumber, n); swaps(&pRep->exactRed, n); @@ -639,7 +639,7 @@ SLookupColorReply(ClientPtr pClient, int size, xLookupColorReply *pRep) void SQueryBestSizeReply(ClientPtr pClient, int size, xQueryBestSizeReply *pRep) { - register char n; + char n; swaps(&pRep->sequenceNumber, n); swaps(&pRep->width, n); @@ -650,7 +650,7 @@ SQueryBestSizeReply(ClientPtr pClient, int size, xQueryBestSizeReply *pRep) void SListExtensionsReply(ClientPtr pClient, int size, xListExtensionsReply *pRep) { - register char n; + char n; swaps(&pRep->sequenceNumber, n); swapl(&pRep->length, n); @@ -661,7 +661,7 @@ void SGetKeyboardMappingReply(ClientPtr pClient, int size, xGetKeyboardMappingReply *pRep) { - register char n; + char n; swaps(&pRep->sequenceNumber, n); swapl(&pRep->length, n); @@ -672,7 +672,7 @@ void SGetPointerMappingReply(ClientPtr pClient, int size, xGetPointerMappingReply *pRep) { - register char n; + char n; swaps(&pRep->sequenceNumber, n); swapl(&pRep->length, n); @@ -683,7 +683,7 @@ void SGetModifierMappingReply(ClientPtr pClient, int size, xGetModifierMappingReply *pRep) { - register char n; + char n; swaps(&pRep->sequenceNumber, n); swapl(&pRep->length, n); @@ -693,7 +693,7 @@ SGetModifierMappingReply(ClientPtr pClient, int size, void SGetKeyboardControlReply(ClientPtr pClient, int size, xGetKeyboardControlReply *pRep) { - register char n; + char n; swaps(&pRep->sequenceNumber, n); swapl(&pRep->length, n); @@ -706,7 +706,7 @@ SGetKeyboardControlReply(ClientPtr pClient, int size, xGetKeyboardControlReply * void SGetPointerControlReply(ClientPtr pClient, int size, xGetPointerControlReply *pRep) { - register char n; + char n; swaps(&pRep->sequenceNumber, n); swaps(&pRep->accelNumerator, n); @@ -718,7 +718,7 @@ SGetPointerControlReply(ClientPtr pClient, int size, xGetPointerControlReply *pR void SGetScreenSaverReply(ClientPtr pClient, int size, xGetScreenSaverReply *pRep) { - register char n; + char n; swaps(&pRep->sequenceNumber, n); swaps(&pRep->timeout, n); @@ -734,7 +734,7 @@ SLHostsExtend(ClientPtr pClient, int size, char *buf) while (bufT < endbuf) { xHostEntry *host = (xHostEntry *) bufT; int len = host->length; - register char n; + char n; swaps (&host->length, n); bufT += sizeof (xHostEntry) + (((len + 3) >> 2) << 2); } @@ -744,7 +744,7 @@ SLHostsExtend(ClientPtr pClient, int size, char *buf) void SListHostsReply(ClientPtr pClient, int size, xListHostsReply *pRep) { - register char n; + char n; swaps(&pRep->sequenceNumber, n); swapl(&pRep->length, n); @@ -1159,6 +1159,58 @@ SKeymapNotifyEvent(xEvent *from, xEvent *to) *to = *from; } +static void +SwapConnSetup(xConnSetup *pConnSetup, xConnSetup *pConnSetupT) +{ + cpswapl(pConnSetup->release, pConnSetupT->release); + cpswapl(pConnSetup->ridBase, pConnSetupT->ridBase); + cpswapl(pConnSetup->ridMask, pConnSetupT->ridMask); + cpswapl(pConnSetup->motionBufferSize, pConnSetupT->motionBufferSize); + cpswaps(pConnSetup->nbytesVendor, pConnSetupT->nbytesVendor); + cpswaps(pConnSetup->maxRequestSize, pConnSetupT->maxRequestSize); + pConnSetupT->minKeyCode = pConnSetup->minKeyCode; + pConnSetupT->maxKeyCode = pConnSetup->maxKeyCode; + pConnSetupT->numRoots = pConnSetup->numRoots; + pConnSetupT->numFormats = pConnSetup->numFormats; + pConnSetupT->imageByteOrder = pConnSetup->imageByteOrder; + pConnSetupT->bitmapBitOrder = pConnSetup->bitmapBitOrder; + pConnSetupT->bitmapScanlineUnit = pConnSetup->bitmapScanlineUnit; + pConnSetupT->bitmapScanlinePad = pConnSetup->bitmapScanlinePad; +} + +static void +SwapWinRoot(xWindowRoot *pRoot, xWindowRoot *pRootT) +{ + cpswapl(pRoot->windowId, pRootT->windowId); + cpswapl(pRoot->defaultColormap, pRootT->defaultColormap); + cpswapl(pRoot->whitePixel, pRootT->whitePixel); + cpswapl(pRoot->blackPixel, pRootT->blackPixel); + cpswapl(pRoot->currentInputMask, pRootT->currentInputMask); + cpswaps(pRoot->pixWidth, pRootT->pixWidth); + cpswaps(pRoot->pixHeight, pRootT->pixHeight); + cpswaps(pRoot->mmWidth, pRootT->mmWidth); + cpswaps(pRoot->mmHeight, pRootT->mmHeight); + cpswaps(pRoot->minInstalledMaps, pRootT->minInstalledMaps); + cpswaps(pRoot->maxInstalledMaps, pRootT->maxInstalledMaps); + cpswapl(pRoot->rootVisualID, pRootT->rootVisualID); + pRootT->backingStore = pRoot->backingStore; + pRootT->saveUnders = pRoot->saveUnders; + pRootT->rootDepth = pRoot->rootDepth; + pRootT->nDepths = pRoot->nDepths; +} + +static void +SwapVisual(xVisualType *pVis, xVisualType *pVisT) +{ + cpswapl(pVis->visualID, pVisT->visualID); + pVisT->class = pVis->class; + pVisT->bitsPerRGB = pVis->bitsPerRGB; + cpswaps(pVis->colormapEntries, pVisT->colormapEntries); + cpswapl(pVis->redMask, pVisT->redMask); + cpswapl(pVis->greenMask, pVisT->greenMask); + cpswapl(pVis->blueMask, pVisT->blueMask); +} + _X_EXPORT void SwapConnSetupInfo( char *pInfo, @@ -1210,7 +1262,6 @@ SwapConnSetupInfo( } } - void WriteSConnectionInfo(ClientPtr pClient, unsigned long size, char *pInfo) { @@ -1227,58 +1278,6 @@ WriteSConnectionInfo(ClientPtr pClient, unsigned long size, char *pInfo) DEALLOCATE_LOCAL(pInfoTBase); } -void -SwapConnSetup(xConnSetup *pConnSetup, xConnSetup *pConnSetupT) -{ - cpswapl(pConnSetup->release, pConnSetupT->release); - cpswapl(pConnSetup->ridBase, pConnSetupT->ridBase); - cpswapl(pConnSetup->ridMask, pConnSetupT->ridMask); - cpswapl(pConnSetup->motionBufferSize, pConnSetupT->motionBufferSize); - cpswaps(pConnSetup->nbytesVendor, pConnSetupT->nbytesVendor); - cpswaps(pConnSetup->maxRequestSize, pConnSetupT->maxRequestSize); - pConnSetupT->minKeyCode = pConnSetup->minKeyCode; - pConnSetupT->maxKeyCode = pConnSetup->maxKeyCode; - pConnSetupT->numRoots = pConnSetup->numRoots; - pConnSetupT->numFormats = pConnSetup->numFormats; - pConnSetupT->imageByteOrder = pConnSetup->imageByteOrder; - pConnSetupT->bitmapBitOrder = pConnSetup->bitmapBitOrder; - pConnSetupT->bitmapScanlineUnit = pConnSetup->bitmapScanlineUnit; - pConnSetupT->bitmapScanlinePad = pConnSetup->bitmapScanlinePad; -} - -void -SwapWinRoot(xWindowRoot *pRoot, xWindowRoot *pRootT) -{ - cpswapl(pRoot->windowId, pRootT->windowId); - cpswapl(pRoot->defaultColormap, pRootT->defaultColormap); - cpswapl(pRoot->whitePixel, pRootT->whitePixel); - cpswapl(pRoot->blackPixel, pRootT->blackPixel); - cpswapl(pRoot->currentInputMask, pRootT->currentInputMask); - cpswaps(pRoot->pixWidth, pRootT->pixWidth); - cpswaps(pRoot->pixHeight, pRootT->pixHeight); - cpswaps(pRoot->mmWidth, pRootT->mmWidth); - cpswaps(pRoot->mmHeight, pRootT->mmHeight); - cpswaps(pRoot->minInstalledMaps, pRootT->minInstalledMaps); - cpswaps(pRoot->maxInstalledMaps, pRootT->maxInstalledMaps); - cpswapl(pRoot->rootVisualID, pRootT->rootVisualID); - pRootT->backingStore = pRoot->backingStore; - pRootT->saveUnders = pRoot->saveUnders; - pRootT->rootDepth = pRoot->rootDepth; - pRootT->nDepths = pRoot->nDepths; -} - -void -SwapVisual(xVisualType *pVis, xVisualType *pVisT) -{ - cpswapl(pVis->visualID, pVisT->visualID); - pVisT->class = pVis->class; - pVisT->bitsPerRGB = pVis->bitsPerRGB; - cpswaps(pVis->colormapEntries, pVisT->colormapEntries); - cpswapl(pVis->redMask, pVisT->redMask); - cpswapl(pVis->greenMask, pVisT->greenMask); - cpswapl(pVis->blueMask, pVisT->blueMask); -} - _X_EXPORT void SwapConnSetupPrefix(xConnSetupPrefix *pcspFrom, xConnSetupPrefix *pcspTo) { diff --git a/xserver/dix/swapreq.c b/xserver/dix/swapreq.c index a6a211515..ad60d17da 100644 --- a/xserver/dix/swapreq.c +++ b/xserver/dix/swapreq.c @@ -63,9 +63,9 @@ SOFTWARE. /* Byte swap a list of longs */ _X_EXPORT void -SwapLongs (register CARD32 *list, register unsigned long count) +SwapLongs (CARD32 *list, unsigned long count) { - register char n; + char n; while (count >= 8) { swapl(list+0, n); @@ -89,9 +89,9 @@ SwapLongs (register CARD32 *list, register unsigned long count) /* Byte swap a list of shorts */ _X_EXPORT void -SwapShorts (register short *list, register unsigned long count) +SwapShorts (short *list, unsigned long count) { - register char n; + char n; while (count >= 16) { swaps(list+0, n); @@ -124,9 +124,9 @@ SwapShorts (register short *list, register unsigned long count) /* The following is used for all requests that have no fields to be swapped (except "length") */ int -SProcSimpleReq(register ClientPtr client) +SProcSimpleReq(ClientPtr client) { - register char n; + char n; REQUEST(xReq); swaps(&stuff->length, n); @@ -137,9 +137,9 @@ SProcSimpleReq(register ClientPtr client) only a single 32-bit field to be swapped, coming right after the "length" field */ int -SProcResourceReq(register ClientPtr client) +SProcResourceReq(ClientPtr client) { - register char n; + char n; REQUEST(xResourceReq); swaps(&stuff->length, n); @@ -149,9 +149,9 @@ SProcResourceReq(register ClientPtr client) } int -SProcCreateWindow(register ClientPtr client) +SProcCreateWindow(ClientPtr client) { - register char n; + char n; REQUEST(xCreateWindowReq); swaps(&stuff->length, n); @@ -171,9 +171,9 @@ SProcCreateWindow(register ClientPtr client) } int -SProcChangeWindowAttributes(register ClientPtr client) +SProcChangeWindowAttributes(ClientPtr client) { - register char n; + char n; REQUEST(xChangeWindowAttributesReq); swaps(&stuff->length, n); @@ -185,9 +185,9 @@ SProcChangeWindowAttributes(register ClientPtr client) } int -SProcReparentWindow(register ClientPtr client) +SProcReparentWindow(ClientPtr client) { - register char n; + char n; REQUEST(xReparentWindowReq); swaps(&stuff->length, n); REQUEST_SIZE_MATCH(xReparentWindowReq); @@ -199,9 +199,9 @@ SProcReparentWindow(register ClientPtr client) } int -SProcConfigureWindow(register ClientPtr client) +SProcConfigureWindow(ClientPtr client) { - register char n; + char n; REQUEST(xConfigureWindowReq); swaps(&stuff->length, n); REQUEST_AT_LEAST_SIZE(xConfigureWindowReq); @@ -214,9 +214,9 @@ SProcConfigureWindow(register ClientPtr client) int -SProcInternAtom(register ClientPtr client) +SProcInternAtom(ClientPtr client) { - register char n; + char n; REQUEST(xInternAtomReq); swaps(&stuff->length, n); REQUEST_AT_LEAST_SIZE(xInternAtomReq); @@ -225,9 +225,9 @@ SProcInternAtom(register ClientPtr client) } int -SProcChangeProperty(register ClientPtr client) +SProcChangeProperty(ClientPtr client) { - register char n; + char n; REQUEST(xChangePropertyReq); swaps(&stuff->length, n); REQUEST_AT_LEAST_SIZE(xChangePropertyReq); @@ -249,9 +249,9 @@ SProcChangeProperty(register ClientPtr client) } int -SProcDeleteProperty(register ClientPtr client) +SProcDeleteProperty(ClientPtr client) { - register char n; + char n; REQUEST(xDeletePropertyReq); swaps(&stuff->length, n); REQUEST_SIZE_MATCH(xDeletePropertyReq); @@ -262,9 +262,9 @@ SProcDeleteProperty(register ClientPtr client) } int -SProcGetProperty(register ClientPtr client) +SProcGetProperty(ClientPtr client) { - register char n; + char n; REQUEST(xGetPropertyReq); swaps(&stuff->length, n); REQUEST_SIZE_MATCH(xGetPropertyReq); @@ -277,9 +277,9 @@ SProcGetProperty(register ClientPtr client) } int -SProcSetSelectionOwner(register ClientPtr client) +SProcSetSelectionOwner(ClientPtr client) { - register char n; + char n; REQUEST(xSetSelectionOwnerReq); swaps(&stuff->length, n); REQUEST_SIZE_MATCH(xSetSelectionOwnerReq); @@ -290,9 +290,9 @@ SProcSetSelectionOwner(register ClientPtr client) } int -SProcConvertSelection(register ClientPtr client) +SProcConvertSelection(ClientPtr client) { - register char n; + char n; REQUEST(xConvertSelectionReq); swaps(&stuff->length, n); REQUEST_SIZE_MATCH(xConvertSelectionReq); @@ -305,9 +305,9 @@ SProcConvertSelection(register ClientPtr client) } int -SProcSendEvent(register ClientPtr client) +SProcSendEvent(ClientPtr client) { - register char n; + char n; xEvent eventT; EventSwapPtr proc; REQUEST(xSendEventReq); @@ -327,9 +327,9 @@ SProcSendEvent(register ClientPtr client) } int -SProcGrabPointer(register ClientPtr client) +SProcGrabPointer(ClientPtr client) { - register char n; + char n; REQUEST(xGrabPointerReq); swaps(&stuff->length, n); REQUEST_SIZE_MATCH(xGrabPointerReq); @@ -342,9 +342,9 @@ SProcGrabPointer(register ClientPtr client) } int -SProcGrabButton(register ClientPtr client) +SProcGrabButton(ClientPtr client) { - register char n; + char n; REQUEST(xGrabButtonReq); swaps(&stuff->length, n); REQUEST_SIZE_MATCH(xGrabButtonReq); @@ -357,9 +357,9 @@ SProcGrabButton(register ClientPtr client) } int -SProcUngrabButton(register ClientPtr client) +SProcUngrabButton(ClientPtr client) { - register char n; + char n; REQUEST(xUngrabButtonReq); swaps(&stuff->length, n); REQUEST_SIZE_MATCH(xUngrabButtonReq); @@ -369,9 +369,9 @@ SProcUngrabButton(register ClientPtr client) } int -SProcChangeActivePointerGrab(register ClientPtr client) +SProcChangeActivePointerGrab(ClientPtr client) { - register char n; + char n; REQUEST(xChangeActivePointerGrabReq); swaps(&stuff->length, n); REQUEST_SIZE_MATCH(xChangeActivePointerGrabReq); @@ -382,9 +382,9 @@ SProcChangeActivePointerGrab(register ClientPtr client) } int -SProcGrabKeyboard(register ClientPtr client) +SProcGrabKeyboard(ClientPtr client) { - register char n; + char n; REQUEST(xGrabKeyboardReq); swaps(&stuff->length, n); REQUEST_SIZE_MATCH(xGrabKeyboardReq); @@ -394,9 +394,9 @@ SProcGrabKeyboard(register ClientPtr client) } int -SProcGrabKey(register ClientPtr client) +SProcGrabKey(ClientPtr client) { - register char n; + char n; REQUEST(xGrabKeyReq); swaps(&stuff->length, n); REQUEST_SIZE_MATCH(xGrabKeyReq); @@ -406,9 +406,9 @@ SProcGrabKey(register ClientPtr client) } int -SProcUngrabKey(register ClientPtr client) +SProcUngrabKey(ClientPtr client) { - register char n; + char n; REQUEST(xUngrabKeyReq); swaps(&stuff->length, n); REQUEST_SIZE_MATCH(xUngrabKeyReq); @@ -418,9 +418,9 @@ SProcUngrabKey(register ClientPtr client) } int -SProcGetMotionEvents(register ClientPtr client) +SProcGetMotionEvents(ClientPtr client) { - register char n; + char n; REQUEST(xGetMotionEventsReq); swaps(&stuff->length, n); REQUEST_SIZE_MATCH(xGetMotionEventsReq); @@ -431,9 +431,9 @@ SProcGetMotionEvents(register ClientPtr client) } int -SProcTranslateCoords(register ClientPtr client) +SProcTranslateCoords(ClientPtr client) { - register char n; + char n; REQUEST(xTranslateCoordsReq); swaps(&stuff->length, n); REQUEST_SIZE_MATCH(xTranslateCoordsReq); @@ -445,9 +445,9 @@ SProcTranslateCoords(register ClientPtr client) } int -SProcWarpPointer(register ClientPtr client) +SProcWarpPointer(ClientPtr client) { - register char n; + char n; REQUEST(xWarpPointerReq); swaps(&stuff->length, n); REQUEST_SIZE_MATCH(xWarpPointerReq); @@ -463,9 +463,9 @@ SProcWarpPointer(register ClientPtr client) } int -SProcSetInputFocus(register ClientPtr client) +SProcSetInputFocus(ClientPtr client) { - register char n; + char n; REQUEST(xSetInputFocusReq); swaps(&stuff->length, n); REQUEST_SIZE_MATCH(xSetInputFocusReq); @@ -475,9 +475,9 @@ SProcSetInputFocus(register ClientPtr client) } int -SProcOpenFont(register ClientPtr client) +SProcOpenFont(ClientPtr client) { - register char n; + char n; REQUEST(xOpenFontReq); swaps(&stuff->length, n); REQUEST_AT_LEAST_SIZE(xOpenFontReq); @@ -487,9 +487,9 @@ SProcOpenFont(register ClientPtr client) } int -SProcListFonts(register ClientPtr client) +SProcListFonts(ClientPtr client) { - register char n; + char n; REQUEST(xListFontsReq); swaps(&stuff->length, n); REQUEST_AT_LEAST_SIZE(xListFontsReq); @@ -499,9 +499,9 @@ SProcListFonts(register ClientPtr client) } int -SProcListFontsWithInfo(register ClientPtr client) +SProcListFontsWithInfo(ClientPtr client) { - register char n; + char n; REQUEST(xListFontsWithInfoReq); swaps(&stuff->length, n); REQUEST_AT_LEAST_SIZE(xListFontsWithInfoReq); @@ -511,9 +511,9 @@ SProcListFontsWithInfo(register ClientPtr client) } int -SProcSetFontPath(register ClientPtr client) +SProcSetFontPath(ClientPtr client) { - register char n; + char n; REQUEST(xSetFontPathReq); swaps(&stuff->length, n); REQUEST_AT_LEAST_SIZE(xSetFontPathReq); @@ -522,9 +522,9 @@ SProcSetFontPath(register ClientPtr client) } int -SProcCreatePixmap(register ClientPtr client) +SProcCreatePixmap(ClientPtr client) { - register char n; + char n; REQUEST(xCreatePixmapReq); swaps(&stuff->length, n); @@ -537,9 +537,9 @@ SProcCreatePixmap(register ClientPtr client) } int -SProcCreateGC(register ClientPtr client) +SProcCreateGC(ClientPtr client) { - register char n; + char n; REQUEST(xCreateGCReq); swaps(&stuff->length, n); REQUEST_AT_LEAST_SIZE(xCreateGCReq); @@ -551,9 +551,9 @@ SProcCreateGC(register ClientPtr client) } int -SProcChangeGC(register ClientPtr client) +SProcChangeGC(ClientPtr client) { - register char n; + char n; REQUEST(xChangeGCReq); swaps(&stuff->length, n); REQUEST_AT_LEAST_SIZE(xChangeGCReq); @@ -564,9 +564,9 @@ SProcChangeGC(register ClientPtr client) } int -SProcCopyGC(register ClientPtr client) +SProcCopyGC(ClientPtr client) { - register char n; + char n; REQUEST(xCopyGCReq); swaps(&stuff->length, n); REQUEST_SIZE_MATCH(xCopyGCReq); @@ -577,9 +577,9 @@ SProcCopyGC(register ClientPtr client) } int -SProcSetDashes(register ClientPtr client) +SProcSetDashes(ClientPtr client) { - register char n; + char n; REQUEST(xSetDashesReq); swaps(&stuff->length, n); REQUEST_AT_LEAST_SIZE(xSetDashesReq); @@ -591,9 +591,9 @@ SProcSetDashes(register ClientPtr client) } int -SProcSetClipRectangles(register ClientPtr client) +SProcSetClipRectangles(ClientPtr client) { - register char n; + char n; REQUEST(xSetClipRectanglesReq); swaps(&stuff->length, n); REQUEST_AT_LEAST_SIZE(xSetClipRectanglesReq); @@ -605,9 +605,9 @@ SProcSetClipRectangles(register ClientPtr client) } int -SProcClearToBackground(register ClientPtr client) +SProcClearToBackground(ClientPtr client) { - register char n; + char n; REQUEST(xClearAreaReq); swaps(&stuff->length, n); REQUEST_SIZE_MATCH(xClearAreaReq); @@ -620,9 +620,9 @@ SProcClearToBackground(register ClientPtr client) } int -SProcCopyArea(register ClientPtr client) +SProcCopyArea(ClientPtr client) { - register char n; + char n; REQUEST(xCopyAreaReq); swaps(&stuff->length, n); REQUEST_SIZE_MATCH(xCopyAreaReq); @@ -639,9 +639,9 @@ SProcCopyArea(register ClientPtr client) } int -SProcCopyPlane(register ClientPtr client) +SProcCopyPlane(ClientPtr client) { - register char n; + char n; REQUEST(xCopyPlaneReq); swaps(&stuff->length, n); REQUEST_SIZE_MATCH(xCopyPlaneReq); @@ -661,9 +661,9 @@ SProcCopyPlane(register ClientPtr client) /* The following routine is used for all Poly drawing requests (except FillPoly, which uses a different request format) */ int -SProcPoly(register ClientPtr client) +SProcPoly(ClientPtr client) { - register char n; + char n; REQUEST(xPolyPointReq); swaps(&stuff->length, n); @@ -678,9 +678,9 @@ SProcPoly(register ClientPtr client) is longer than xPolyPointReq, and we don't want to swap the difference as shorts! */ int -SProcFillPoly(register ClientPtr client) +SProcFillPoly(ClientPtr client) { - register char n; + char n; REQUEST(xFillPolyReq); swaps(&stuff->length, n); @@ -692,9 +692,9 @@ SProcFillPoly(register ClientPtr client) } int -SProcPutImage(register ClientPtr client) +SProcPutImage(ClientPtr client) { - register char n; + char n; REQUEST(xPutImageReq); swaps(&stuff->length, n); REQUEST_AT_LEAST_SIZE(xPutImageReq); @@ -710,9 +710,9 @@ SProcPutImage(register ClientPtr client) } int -SProcGetImage(register ClientPtr client) +SProcGetImage(ClientPtr client) { - register char n; + char n; REQUEST(xGetImageReq); swaps(&stuff->length, n); REQUEST_SIZE_MATCH(xGetImageReq); @@ -728,9 +728,9 @@ SProcGetImage(register ClientPtr client) /* ProcPolyText used for both PolyText8 and PolyText16 */ int -SProcPolyText(register ClientPtr client) +SProcPolyText(ClientPtr client) { - register char n; + char n; REQUEST(xPolyTextReq); swaps(&stuff->length, n); REQUEST_AT_LEAST_SIZE(xPolyTextReq); @@ -744,9 +744,9 @@ SProcPolyText(register ClientPtr client) /* ProcImageText used for both ImageText8 and ImageText16 */ int -SProcImageText(register ClientPtr client) +SProcImageText(ClientPtr client) { - register char n; + char n; REQUEST(xImageTextReq); swaps(&stuff->length, n); REQUEST_AT_LEAST_SIZE(xImageTextReq); @@ -758,9 +758,9 @@ SProcImageText(register ClientPtr client) } int -SProcCreateColormap(register ClientPtr client) +SProcCreateColormap(ClientPtr client) { - register char n; + char n; REQUEST(xCreateColormapReq); swaps(&stuff->length, n); REQUEST_SIZE_MATCH(xCreateColormapReq); @@ -772,9 +772,9 @@ SProcCreateColormap(register ClientPtr client) int -SProcCopyColormapAndFree(register ClientPtr client) +SProcCopyColormapAndFree(ClientPtr client) { - register char n; + char n; REQUEST(xCopyColormapAndFreeReq); swaps(&stuff->length, n); REQUEST_SIZE_MATCH(xCopyColormapAndFreeReq); @@ -785,9 +785,9 @@ SProcCopyColormapAndFree(register ClientPtr client) } int -SProcAllocColor(register ClientPtr client) +SProcAllocColor(ClientPtr client) { - register char n; + char n; REQUEST(xAllocColorReq); swaps(&stuff->length, n); REQUEST_SIZE_MATCH(xAllocColorReq); @@ -799,9 +799,9 @@ SProcAllocColor(register ClientPtr client) } int -SProcAllocNamedColor(register ClientPtr client) +SProcAllocNamedColor(ClientPtr client) { - register char n; + char n; REQUEST(xAllocNamedColorReq); swaps(&stuff->length, n); @@ -812,9 +812,9 @@ SProcAllocNamedColor(register ClientPtr client) } int -SProcAllocColorCells(register ClientPtr client) +SProcAllocColorCells(ClientPtr client) { - register char n; + char n; REQUEST(xAllocColorCellsReq); swaps(&stuff->length, n); REQUEST_SIZE_MATCH(xAllocColorCellsReq); @@ -825,9 +825,9 @@ SProcAllocColorCells(register ClientPtr client) } int -SProcAllocColorPlanes(register ClientPtr client) +SProcAllocColorPlanes(ClientPtr client) { - register char n; + char n; REQUEST(xAllocColorPlanesReq); swaps(&stuff->length, n); REQUEST_SIZE_MATCH(xAllocColorPlanesReq); @@ -840,9 +840,9 @@ SProcAllocColorPlanes(register ClientPtr client) } int -SProcFreeColors(register ClientPtr client) +SProcFreeColors(ClientPtr client) { - register char n; + char n; REQUEST(xFreeColorsReq); swaps(&stuff->length, n); REQUEST_AT_LEAST_SIZE(xFreeColorsReq); @@ -856,7 +856,7 @@ SProcFreeColors(register ClientPtr client) _X_EXPORT void SwapColorItem(xColorItem *pItem) { - register char n; + char n; swapl(&pItem->pixel, n); swaps(&pItem->red, n); @@ -865,9 +865,9 @@ SwapColorItem(xColorItem *pItem) } int -SProcStoreColors(register ClientPtr client) +SProcStoreColors(ClientPtr client) { - register char n; + char n; long count; xColorItem *pItem; @@ -882,9 +882,9 @@ SProcStoreColors(register ClientPtr client) } int -SProcStoreNamedColor (register ClientPtr client) +SProcStoreNamedColor (ClientPtr client) { - register char n; + char n; REQUEST(xStoreNamedColorReq); swaps(&stuff->length, n); REQUEST_AT_LEAST_SIZE(xStoreNamedColorReq); @@ -895,9 +895,9 @@ SProcStoreNamedColor (register ClientPtr client) } int -SProcQueryColors (register ClientPtr client) +SProcQueryColors (ClientPtr client) { - register char n; + char n; REQUEST(xQueryColorsReq); swaps(&stuff->length, n); REQUEST_AT_LEAST_SIZE(xQueryColorsReq); @@ -907,9 +907,9 @@ SProcQueryColors (register ClientPtr client) } int -SProcLookupColor (register ClientPtr client) +SProcLookupColor (ClientPtr client) { - register char n; + char n; REQUEST(xLookupColorReq); swaps(&stuff->length, n); REQUEST_AT_LEAST_SIZE(xLookupColorReq); @@ -919,9 +919,9 @@ SProcLookupColor (register ClientPtr client) } int -SProcCreateCursor (register ClientPtr client) +SProcCreateCursor (ClientPtr client) { - register char n; + char n; REQUEST(xCreateCursorReq); swaps(&stuff->length, n); REQUEST_SIZE_MATCH(xCreateCursorReq); @@ -940,9 +940,9 @@ SProcCreateCursor (register ClientPtr client) } int -SProcCreateGlyphCursor (register ClientPtr client) +SProcCreateGlyphCursor (ClientPtr client) { - register char n; + char n; REQUEST(xCreateGlyphCursorReq); swaps(&stuff->length, n); REQUEST_SIZE_MATCH(xCreateGlyphCursorReq); @@ -962,9 +962,9 @@ SProcCreateGlyphCursor (register ClientPtr client) int -SProcRecolorCursor (register ClientPtr client) +SProcRecolorCursor (ClientPtr client) { - register char n; + char n; REQUEST(xRecolorCursorReq); swaps(&stuff->length, n); REQUEST_SIZE_MATCH(xRecolorCursorReq); @@ -979,9 +979,9 @@ SProcRecolorCursor (register ClientPtr client) } int -SProcQueryBestSize (register ClientPtr client) +SProcQueryBestSize (ClientPtr client) { - register char n; + char n; REQUEST(xQueryBestSizeReq); swaps(&stuff->length, n); REQUEST_SIZE_MATCH(xQueryBestSizeReq); @@ -993,9 +993,9 @@ SProcQueryBestSize (register ClientPtr client) } int -SProcQueryExtension (register ClientPtr client) +SProcQueryExtension (ClientPtr client) { - register char n; + char n; REQUEST(xQueryExtensionReq); swaps(&stuff->length, n); REQUEST_AT_LEAST_SIZE(xQueryExtensionReq); @@ -1004,9 +1004,9 @@ SProcQueryExtension (register ClientPtr client) } int -SProcChangeKeyboardMapping (register ClientPtr client) +SProcChangeKeyboardMapping (ClientPtr client) { - register char n; + char n; REQUEST(xChangeKeyboardMappingReq); swaps(&stuff->length, n); REQUEST_AT_LEAST_SIZE(xChangeKeyboardMappingReq); @@ -1016,9 +1016,9 @@ SProcChangeKeyboardMapping (register ClientPtr client) int -SProcChangeKeyboardControl (register ClientPtr client) +SProcChangeKeyboardControl (ClientPtr client) { - register char n; + char n; REQUEST(xChangeKeyboardControlReq); swaps(&stuff->length, n); REQUEST_AT_LEAST_SIZE(xChangeKeyboardControlReq); @@ -1028,9 +1028,9 @@ SProcChangeKeyboardControl (register ClientPtr client) } int -SProcChangePointerControl (register ClientPtr client) +SProcChangePointerControl (ClientPtr client) { - register char n; + char n; REQUEST(xChangePointerControlReq); swaps(&stuff->length, n); REQUEST_SIZE_MATCH(xChangePointerControlReq); @@ -1042,9 +1042,9 @@ SProcChangePointerControl (register ClientPtr client) int -SProcSetScreenSaver (register ClientPtr client) +SProcSetScreenSaver (ClientPtr client) { - register char n; + char n; REQUEST(xSetScreenSaverReq); swaps(&stuff->length, n); REQUEST_SIZE_MATCH(xSetScreenSaverReq); @@ -1054,9 +1054,9 @@ SProcSetScreenSaver (register ClientPtr client) } int -SProcChangeHosts (register ClientPtr client) +SProcChangeHosts (ClientPtr client) { - register char n; + char n; REQUEST(xChangeHostsReq); swaps(&stuff->length, n); @@ -1066,9 +1066,9 @@ SProcChangeHosts (register ClientPtr client) } -int SProcRotateProperties (register ClientPtr client) +int SProcRotateProperties (ClientPtr client) { - register char n; + char n; REQUEST(xRotatePropertiesReq); swaps(&stuff->length, n); REQUEST_AT_LEAST_SIZE(xRotatePropertiesReq); @@ -1080,9 +1080,9 @@ int SProcRotateProperties (register ClientPtr client) } int -SProcNoOperation(register ClientPtr client) +SProcNoOperation(ClientPtr client) { - register char n; + char n; REQUEST(xReq); swaps(&stuff->length, n); return ((* ProcVector[X_NoOperation])(client)); @@ -1091,7 +1091,7 @@ SProcNoOperation(register ClientPtr client) void SwapConnClientPrefix(xConnClientPrefix *pCCP) { - register char n; + char n; swaps(&pCCP->majorVersion, n); swaps(&pCCP->minorVersion, n); diff --git a/xserver/dix/tables.c b/xserver/dix/tables.c index 258ac0370..2200e3ceb 100644 --- a/xserver/dix/tables.c +++ b/xserver/dix/tables.c @@ -61,11 +61,6 @@ SOFTWARE. #include "swaprep.h" #include "swapreq.h" -#ifdef K5AUTH -extern int - k5_stage1(), k5_stage2(), k5_stage3(), k5_bad(); -#endif - int (* InitialVector[3]) ( ClientPtr /* client */ ) = @@ -515,13 +510,3 @@ _X_EXPORT ReplySwapPtr ReplySwapVector[256] = ReplyNotSwappd, /* NoOperation */ ReplyNotSwappd }; - -#ifdef K5AUTH -int (*k5_Vector[256])() = -{ - k5_bad, - k5_stage1, - k5_bad, - k5_stage3 -}; -#endif diff --git a/xserver/dix/window.c b/xserver/dix/window.c index 3dfeda36e..be4ea2c97 100644 --- a/xserver/dix/window.c +++ b/xserver/dix/window.c @@ -126,9 +126,7 @@ Equipment Corporation. #ifdef XAPPGROUP #include "appgroup.h" #endif -#ifdef XACE #include "xace.h" -#endif /****** * Window stuff for server @@ -187,7 +185,7 @@ _X_EXPORT int deltaSaveUndersViewable = 0; * For debugging only ******/ -int +static void PrintChildren(WindowPtr p1, int indent) { WindowPtr p2; @@ -197,14 +195,15 @@ PrintChildren(WindowPtr p1, int indent) { p2 = p1->firstChild; for (i=0; idrawable.id); + ErrorF( "%lx\n", p1->drawable.id); miPrintRegion(&p1->clipList); PrintChildren(p2, indent+4); p1 = p1->nextSib; } } -PrintWindowTree() +static void +PrintWindowTree(void) { int i; WindowPtr pWin, p1; @@ -221,10 +220,10 @@ PrintWindowTree() #endif _X_EXPORT int -TraverseTree(register WindowPtr pWin, VisitWindowProcPtr func, pointer data) +TraverseTree(WindowPtr pWin, VisitWindowProcPtr func, pointer data) { - register int result; - register WindowPtr pChild; + int result; + WindowPtr pChild; if (!(pChild = pWin)) return(WT_NOMATCH); @@ -270,7 +269,7 @@ Bool enableBackingStore = FALSE; Bool disableSaveUnders = FALSE; static void -SetWindowToDefaults(register WindowPtr pWin) +SetWindowToDefaults(WindowPtr pWin) { pWin->prevSib = NullWindow; pWin->firstChild = NullWindow; @@ -298,12 +297,8 @@ SetWindowToDefaults(register WindowPtr pWin) pWin->deliverableEvents = 0; pWin->dontPropagate = 0; pWin->forcedBS = FALSE; -#ifdef NEED_DBE_BUF_BITS - pWin->srcBuffer = DBE_FRONT_BUFFER; - pWin->dstBuffer = DBE_FRONT_BUFFER; -#endif #ifdef COMPOSITE - pWin->redirectDraw = 0; + pWin->redirectDraw = RedirectDrawNone; #endif } @@ -314,8 +309,8 @@ MakeRootTile(WindowPtr pWin) GCPtr pGC; unsigned char back[128]; int len = BitmapBytePad(sizeof(long)); - register unsigned char *from, *to; - register int i, j; + unsigned char *from, *to; + int i, j; pWin->background.pixmap = (*pScreen->CreatePixmap)(pScreen, 4, 4, pScreen->rootDepth); @@ -354,11 +349,11 @@ WindowPtr AllocateWindow(ScreenPtr pScreen) { WindowPtr pWin; - register char *ptr; - register DevUnion *ppriv; - register unsigned *sizes; - register unsigned size; - register int i; + char *ptr; + DevUnion *ppriv; + unsigned *sizes; + unsigned size; + int i; pWin = (WindowPtr)xalloc(pScreen->totalWindowSize); if (pWin) @@ -530,9 +525,7 @@ InitRootWindow(WindowPtr pWin) /* We SHOULD check for an error value here XXX */ (*pScreen->ChangeWindowAttributes)(pWin, backFlag); -#ifdef XACE XaceHook(XACE_WINDOW_INIT, serverClient, pWin); -#endif MapWindow(pWin, serverClient); } @@ -542,14 +535,16 @@ InitRootWindow(WindowPtr pWin) * window from which the region came. */ -void -ClippedRegionFromBox(register WindowPtr pWin, RegionPtr Rgn, - register int x, register int y, - register int w, register int h) +static void +ClippedRegionFromBox(WindowPtr pWin, RegionPtr Rgn, + int x, int y, + int w, int h) { - ScreenPtr pScreen = pWin->drawable.pScreen; + ScreenPtr pScreen; BoxRec box; + pScreen = pWin->drawable.pScreen; + box = *(REGION_EXTENTS(pScreen, &pWin->winSize)); /* we do these calculations to avoid overflows */ if (x > box.x1) @@ -580,7 +575,7 @@ RegisterRealChildHeadProc (RealChildHeadProc proc) WindowPtr -RealChildHead(register WindowPtr pWin) +RealChildHead(WindowPtr pWin) { if (realChildHeadProc) { return realChildHeadProc (pWin); @@ -600,19 +595,19 @@ RealChildHead(register WindowPtr pWin) *****/ _X_EXPORT WindowPtr -CreateWindow(Window wid, register WindowPtr pParent, int x, int y, unsigned w, - unsigned h, unsigned bw, unsigned class, register Mask vmask, XID *vlist, +CreateWindow(Window wid, WindowPtr pParent, int x, int y, unsigned w, + unsigned h, unsigned bw, unsigned class, Mask vmask, XID *vlist, int depth, ClientPtr client, VisualID visual, int *error) { - register WindowPtr pWin; + WindowPtr pWin; WindowPtr pHead; - register ScreenPtr pScreen; + ScreenPtr pScreen; xEvent event; int idepth, ivisual; Bool fOK; DepthPtr pDepth; PixmapFormatRec *format; - register WindowOptPtr ancwopt; + WindowOptPtr ancwopt; if (class == CopyFromParent) class = pParent->drawable.class; @@ -735,18 +730,16 @@ CreateWindow(Window wid, register WindowPtr pParent, int x, int y, unsigned w, } pWin->borderWidth = bw; -#ifdef XACE + /* can't let untrusted clients have background None windows; * they make it too easy to steal window contents */ - if (!XaceHook(XACE_BACKGRND_ACCESS, client, pWin)) - { + if (XaceHook(XACE_BACKGRND_ACCESS, client, pWin)) + pWin->backgroundState = None; + else { pWin->backgroundState = BackgroundPixel; pWin->background.pixel = 0; } - else -#endif - pWin->backgroundState = None; pWin->borderIsPixel = pParent->borderIsPixel; pWin->border = pParent->border; @@ -766,9 +759,7 @@ CreateWindow(Window wid, register WindowPtr pParent, int x, int y, unsigned w, REGION_NULL(pScreen, &pWin->winSize); REGION_NULL(pScreen, &pWin->borderSize); -#ifdef XACE XaceHook(XACE_WINDOW_INIT, client, pWin); -#endif pHead = RealChildHead(pParent); if (pHead) @@ -841,9 +832,29 @@ CreateWindow(Window wid, register WindowPtr pParent, int x, int y, unsigned w, } static void -FreeWindowResources(register WindowPtr pWin) +DisposeWindowOptional (WindowPtr pWin) { - register ScreenPtr pScreen = pWin->drawable.pScreen; + if (!pWin->optional) + return; + /* + * everything is peachy. Delete the optional record + * and clean up + */ + if (pWin->optional->cursor) + { + FreeCursor (pWin->optional->cursor, (Cursor)0); + pWin->cursorIsNone = FALSE; + } + else + pWin->cursorIsNone = TRUE; + xfree (pWin->optional); + pWin->optional = NULL; +} + +static void +FreeWindowResources(WindowPtr pWin) +{ + ScreenPtr pScreen = pWin->drawable.pScreen; DeleteWindowFromAnySaveSet(pWin); DeleteWindowFromAnySelections(pWin); @@ -874,7 +885,7 @@ FreeWindowResources(register WindowPtr pWin) static void CrushTree(WindowPtr pWin) { - register WindowPtr pChild, pSib, pParent; + WindowPtr pChild, pSib, pParent; UnrealizeWindowProcPtr UnrealizeWindow; xEvent event; @@ -931,8 +942,8 @@ CrushTree(WindowPtr pWin) int DeleteWindow(pointer value, XID wid) { - register WindowPtr pParent; - register WindowPtr pWin = (WindowPtr)value; + WindowPtr pParent; + WindowPtr pWin = (WindowPtr)value; xEvent event; UnmapWindow(pWin, FALSE); @@ -964,7 +975,7 @@ DeleteWindow(pointer value, XID wid) } void -DestroySubwindows(register WindowPtr pWin, ClientPtr client) +DestroySubwindows(WindowPtr pWin, ClientPtr client) { /* XXX * The protocol is quite clear that each window should be @@ -991,10 +1002,10 @@ DestroySubwindows(register WindowPtr pWin, ClientPtr client) *****/ _X_EXPORT int -ChangeWindowAttributes(register WindowPtr pWin, Mask vmask, XID *vlist, ClientPtr client) +ChangeWindowAttributes(WindowPtr pWin, Mask vmask, XID *vlist, ClientPtr client) { - register Mask index2; - register XID *pVlist; + Mask index2; + XID *pVlist; PixmapPtr pPixmap; Pixmap pixID; CursorPtr pCursor, pOldCursor; @@ -1004,9 +1015,9 @@ ChangeWindowAttributes(register WindowPtr pWin, Mask vmask, XID *vlist, ClientPt ColormapPtr pCmap; xEvent xE; int result; - register ScreenPtr pScreen; + ScreenPtr pScreen; Mask vmaskCopy = 0; - register Mask tmask; + Mask tmask; unsigned int val; int error; Bool checkOptional = FALSE; @@ -1033,24 +1044,18 @@ ChangeWindowAttributes(register WindowPtr pWin, Mask vmask, XID *vlist, ClientPt borderRelative = TRUE; if (pixID == None) { -#ifdef XACE /* can't let untrusted clients have background None windows */ - if (XaceHook(XACE_BACKGRND_ACCESS, client, pWin)) - { -#endif - if (pWin->backgroundState == BackgroundPixmap) - (*pScreen->DestroyPixmap)(pWin->background.pixmap); - if (!pWin->parent) - MakeRootTile(pWin); - else - pWin->backgroundState = None; -#ifdef XACE - } - else - { /* didn't change the background to None, so don't tell ddx */ + if (XaceHook(XACE_BACKGRND_ACCESS, client, pWin)) { + if (pWin->backgroundState == BackgroundPixmap) + (*pScreen->DestroyPixmap)(pWin->background.pixmap); + if (!pWin->parent) + MakeRootTile(pWin); + else + pWin->backgroundState = None; + } else { + /* didn't change the backgrnd to None, so don't tell ddx */ index2 = 0; } -#endif } else if (pixID == ParentRelative) { @@ -1073,7 +1078,7 @@ ChangeWindowAttributes(register WindowPtr pWin, Mask vmask, XID *vlist, ClientPt else { pPixmap = (PixmapPtr)SecurityLookupIDByType(client, pixID, - RT_PIXMAP, SecurityReadAccess); + RT_PIXMAP, DixReadAccess); if (pPixmap != (PixmapPtr) NULL) { if ((pPixmap->drawable.depth != pWin->drawable.depth) || @@ -1134,7 +1139,7 @@ ChangeWindowAttributes(register WindowPtr pWin, Mask vmask, XID *vlist, ClientPt else { pPixmap = (PixmapPtr)SecurityLookupIDByType(client, pixID, - RT_PIXMAP, SecurityReadAccess); + RT_PIXMAP, DixReadAccess); if (pPixmap) { if ((pPixmap->drawable.depth != pWin->drawable.depth) || @@ -1344,7 +1349,7 @@ ChangeWindowAttributes(register WindowPtr pWin, Mask vmask, XID *vlist, ClientPt goto PatchUp; } pCmap = (ColormapPtr)SecurityLookupIDByType(client, cmap, - RT_COLORMAP, SecurityReadAccess); + RT_COLORMAP, DixReadAccess); if (!pCmap) { error = BadColor; @@ -1420,7 +1425,7 @@ ChangeWindowAttributes(register WindowPtr pWin, Mask vmask, XID *vlist, ClientPt else { pCursor = (CursorPtr)SecurityLookupIDByType(client, cursorID, - RT_CURSOR, SecurityReadAccess); + RT_CURSOR, DixReadAccess); if (!pCursor) { error = BadCursor; @@ -1531,7 +1536,7 @@ PatchUp: *****/ void -GetWindowAttributes(register WindowPtr pWin, ClientPtr client, xGetWindowAttributesReply *wa) +GetWindowAttributes(WindowPtr pWin, ClientPtr client, xGetWindowAttributesReply *wa) { wa->type = X_Reply; wa->bitGravity = pWin->bitGravity; @@ -1567,9 +1572,9 @@ GetWindowAttributes(register WindowPtr pWin, ClientPtr client, xGetWindowAttribu _X_EXPORT WindowPtr -MoveWindowInStack(register WindowPtr pWin, register WindowPtr pNextSib) +MoveWindowInStack(WindowPtr pWin, WindowPtr pNextSib) { - register WindowPtr pParent = pWin->parent; + WindowPtr pParent = pWin->parent; WindowPtr pFirstChange = pWin; /* highest window where list changes */ if (pWin->nextSib != pNextSib) @@ -1651,7 +1656,7 @@ MoveWindowInStack(register WindowPtr pWin, register WindowPtr pNextSib) } _X_EXPORT RegionPtr -CreateUnclippedWinSize (register WindowPtr pWin) +CreateUnclippedWinSize (WindowPtr pWin) { RegionPtr pRgn; BoxRec box; @@ -1663,7 +1668,8 @@ CreateUnclippedWinSize (register WindowPtr pWin) pRgn = REGION_CREATE(pWin->drawable.pScreen, &box, 1); #ifdef SHAPE if (wBoundingShape (pWin) || wClipShape (pWin)) { - ScreenPtr pScreen = pWin->drawable.pScreen; + ScreenPtr pScreen; + pScreen = pWin->drawable.pScreen; REGION_TRANSLATE(pScreen, pRgn, - pWin->drawable.x, - pWin->drawable.y); @@ -1678,13 +1684,17 @@ CreateUnclippedWinSize (register WindowPtr pWin) } _X_EXPORT void -SetWinSize (register WindowPtr pWin) +SetWinSize (WindowPtr pWin) { #ifdef COMPOSITE - if (pWin->redirectDraw) + if (pWin->redirectDraw != RedirectDrawNone) { BoxRec box; + /* + * Redirected clients get clip list equal to their + * own geometry, not clipped to their parent + */ box.x1 = pWin->drawable.x; box.y1 = pWin->drawable.y; box.x2 = pWin->drawable.x + pWin->drawable.width; @@ -1699,7 +1709,8 @@ SetWinSize (register WindowPtr pWin) (int)pWin->drawable.height); #ifdef SHAPE if (wBoundingShape (pWin) || wClipShape (pWin)) { - ScreenPtr pScreen = pWin->drawable.pScreen; + ScreenPtr pScreen; + pScreen = pWin->drawable.pScreen; REGION_TRANSLATE(pScreen, &pWin->winSize, - pWin->drawable.x, - pWin->drawable.y); @@ -1716,17 +1727,21 @@ SetWinSize (register WindowPtr pWin) } _X_EXPORT void -SetBorderSize (register WindowPtr pWin) +SetBorderSize (WindowPtr pWin) { int bw; if (HasBorder (pWin)) { bw = wBorderWidth (pWin); #ifdef COMPOSITE - if (pWin->redirectDraw) + if (pWin->redirectDraw != RedirectDrawNone) { BoxRec box; + /* + * Redirected clients get clip list equal to their + * own geometry, not clipped to their parent + */ box.x1 = pWin->drawable.x - bw; box.y1 = pWin->drawable.y - bw; box.x2 = pWin->drawable.x + pWin->drawable.width + bw; @@ -1741,7 +1756,8 @@ SetBorderSize (register WindowPtr pWin) (int)(pWin->drawable.height + (bw<<1))); #ifdef SHAPE if (wBoundingShape (pWin)) { - ScreenPtr pScreen = pWin->drawable.pScreen; + ScreenPtr pScreen; + pScreen = pWin->drawable.pScreen; REGION_TRANSLATE(pScreen, &pWin->borderSize, - pWin->drawable.x, - pWin->drawable.y); @@ -1767,9 +1783,9 @@ SetBorderSize (register WindowPtr pWin) */ _X_EXPORT void -GravityTranslate (register int x, register int y, int oldx, int oldy, +GravityTranslate (int x, int y, int oldx, int oldy, int dw, int dh, unsigned gravity, - register int *destx, register int *desty) + int *destx, int *desty) { switch (gravity) { case NorthGravity: @@ -1817,10 +1833,10 @@ GravityTranslate (register int x, register int y, int oldx, int oldy, /* XXX need to retile border on each window with ParentRelative origin */ _X_EXPORT void -ResizeChildrenWinSize(register WindowPtr pWin, int dx, int dy, int dw, int dh) +ResizeChildrenWinSize(WindowPtr pWin, int dx, int dy, int dw, int dh) { - register ScreenPtr pScreen; - register WindowPtr pSib, pChild; + ScreenPtr pScreen; + WindowPtr pSib, pChild; Bool resized = (dw || dh); pScreen = pWin->drawable.pScreen; @@ -1912,10 +1928,10 @@ ResizeChildrenWinSize(register WindowPtr pWin, int dx, int dy, int dw, int dh) static int IsSiblingAboveMe( - register WindowPtr pMe, - register WindowPtr pSib) + WindowPtr pMe, + WindowPtr pSib) { - register WindowPtr pWin; + WindowPtr pWin; pWin = pMe->parent->firstChild; while (pWin) @@ -1931,8 +1947,8 @@ IsSiblingAboveMe( static BoxPtr WindowExtents( - register WindowPtr pWin, - register BoxPtr pBox) + WindowPtr pWin, + BoxPtr pBox) { pBox->x1 = pWin->drawable.x - wBorderWidth (pWin); pBox->y1 = pWin->drawable.y - wBorderWidth (pWin); @@ -1948,11 +1964,12 @@ WindowExtents( static RegionPtr MakeBoundingRegion ( - register WindowPtr pWin, + WindowPtr pWin, BoxPtr pBox) { RegionPtr pRgn; - ScreenPtr pScreen = pWin->drawable.pScreen; + ScreenPtr pScreen; + pScreen = pWin->drawable.pScreen; pRgn = REGION_CREATE(pScreen, pBox, 1); if (wBoundingShape (pWin)) { @@ -1973,7 +1990,7 @@ ShapeOverlap ( BoxPtr pSibBox) { RegionPtr pWinRgn, pSibRgn; - register ScreenPtr pScreen; + ScreenPtr pScreen; Bool ret; if (!IS_SHAPED(pWin) && !IS_SHAPED(pSib)) @@ -1993,11 +2010,11 @@ static Bool AnyWindowOverlapsMe( WindowPtr pWin, WindowPtr pHead, - register BoxPtr box) + BoxPtr box) { - register WindowPtr pSib; + WindowPtr pSib; BoxRec sboxrec; - register BoxPtr sbox; + BoxPtr sbox; for (pSib = pWin->prevSib; pSib != pHead; pSib = pSib->prevSib) { @@ -2018,11 +2035,11 @@ AnyWindowOverlapsMe( static Bool IOverlapAnyWindow( WindowPtr pWin, - register BoxPtr box) + BoxPtr box) { - register WindowPtr pSib; + WindowPtr pSib; BoxRec sboxrec; - register BoxPtr sbox; + BoxPtr sbox; for (pSib = pWin->nextSib; pSib; pSib = pSib->nextSib) { @@ -2070,8 +2087,8 @@ IOverlapAnyWindow( static WindowPtr WhereDoIGoInTheStack( - register WindowPtr pWin, - register WindowPtr pSib, + WindowPtr pWin, + WindowPtr pSib, short x, short y, unsigned short w, @@ -2079,7 +2096,7 @@ WhereDoIGoInTheStack( int smode) { BoxRec box; - register ScreenPtr pScreen; + ScreenPtr pScreen; WindowPtr pHead, pFirst; if ((pWin == pWin->parent->firstChild) && @@ -2176,8 +2193,8 @@ WhereDoIGoInTheStack( static void ReflectStackChange( - register WindowPtr pWin, - register WindowPtr pSib, + WindowPtr pWin, + WindowPtr pSib, VTKind kind) { /* Note that pSib might be NULL */ @@ -2229,17 +2246,17 @@ ReflectStackChange( *****/ int -ConfigureWindow(register WindowPtr pWin, register Mask mask, XID *vlist, ClientPtr client) +ConfigureWindow(WindowPtr pWin, Mask mask, XID *vlist, ClientPtr client) { #define RESTACK_WIN 0 #define MOVE_WIN 1 #define RESIZE_WIN 2 #define REBORDER_WIN 3 - register WindowPtr pSib = NullWindow; - register WindowPtr pParent = pWin->parent; + WindowPtr pSib = NullWindow; + WindowPtr pParent = pWin->parent; Window sibwid = 0; Mask index2, tmask; - register XID *pVlist; + XID *pVlist; short x, y, beforeX, beforeY; unsigned short w = pWin->drawable.width, h = pWin->drawable.height, @@ -2306,7 +2323,7 @@ ConfigureWindow(register WindowPtr pWin, register Mask mask, XID *vlist, ClientP sibwid = (Window ) *pVlist; pVlist++; pSib = (WindowPtr )SecurityLookupIDByType(client, sibwid, - RT_WINDOW, SecurityReadAccess); + RT_WINDOW, DixReadAccess); if (!pSib) { client->errorValue = sibwid; @@ -2516,7 +2533,7 @@ ActuallyDoSomething: int CirculateWindow(WindowPtr pParent, int direction, ClientPtr client) { - register WindowPtr pWin, pHead, pFirst; + WindowPtr pWin, pHead, pFirst; xEvent event; BoxRec box; @@ -2586,14 +2603,14 @@ CompareWIDs( *****/ int -ReparentWindow(register WindowPtr pWin, register WindowPtr pParent, +ReparentWindow(WindowPtr pWin, WindowPtr pParent, int x, int y, ClientPtr client) { WindowPtr pPrev, pPriorParent; Bool WasMapped = (Bool)(pWin->mapped); xEvent event; int bw = wBorderWidth (pWin); - register ScreenPtr pScreen; + ScreenPtr pScreen; pScreen = pWin->drawable.pScreen; if (TraverseTree(pWin, CompareWIDs, (pointer)&pParent->drawable.id) == WT_STOPWALKING) @@ -2680,7 +2697,7 @@ ReparentWindow(register WindowPtr pWin, register WindowPtr pParent, static void RealizeTree(WindowPtr pWin) { - register WindowPtr pChild; + WindowPtr pChild; RealizeWindowProcPtr Realize; Realize = pWin->drawable.pScreen->RealizeWindow; @@ -2710,6 +2727,30 @@ RealizeTree(WindowPtr pWin) } } +static WindowPtr windowDisableMapUnmapEvents; + +void +DisableMapUnmapEvents(WindowPtr pWin) +{ + assert (windowDisableMapUnmapEvents == NULL); + + windowDisableMapUnmapEvents = pWin; +} + +void +EnableMapUnmapEvents(WindowPtr pWin) +{ + assert (windowDisableMapUnmapEvents != NULL); + + windowDisableMapUnmapEvents = NULL; +} + +static Bool +MapUnmapEventsEnabled(WindowPtr pWin) +{ + return pWin != windowDisableMapUnmapEvents; +} + /***** * MapWindow * If some other client has selected SubStructureReDirect on the parent @@ -2719,11 +2760,11 @@ RealizeTree(WindowPtr pWin) *****/ _X_EXPORT int -MapWindow(register WindowPtr pWin, ClientPtr client) +MapWindow(WindowPtr pWin, ClientPtr client) { - register ScreenPtr pScreen; + ScreenPtr pScreen; - register WindowPtr pParent; + WindowPtr pParent; #ifdef DO_SAVE_UNDERS Bool dosave = FALSE; #endif @@ -2732,11 +2773,9 @@ MapWindow(register WindowPtr pWin, ClientPtr client) if (pWin->mapped) return(Success); -#ifdef XACE /* general check for permission to map window */ if (!XaceHook(XACE_MAP_ACCESS, client, pWin)) return Success; -#endif pScreen = pWin->drawable.pScreen; if ( (pParent = pWin->parent) ) @@ -2841,18 +2880,18 @@ MapWindow(register WindowPtr pWin, ClientPtr client) *****/ void -MapSubwindows(register WindowPtr pParent, ClientPtr client) +MapSubwindows(WindowPtr pParent, ClientPtr client) { - register WindowPtr pWin; - WindowPtr pFirstMapped = NullWindow; + WindowPtr pWin; + WindowPtr pFirstMapped = NullWindow; #ifdef DO_SAVE_UNDERS - WindowPtr pFirstSaveUndered = NullWindow; + WindowPtr pFirstSaveUndered = NullWindow; #endif - register ScreenPtr pScreen; - register Mask parentRedirect; - register Mask parentNotify; - xEvent event; - Bool anyMarked; + ScreenPtr pScreen; + Mask parentRedirect; + Mask parentNotify; + xEvent event; + Bool anyMarked; #ifdef DO_SAVE_UNDERS Bool dosave = FALSE; #endif @@ -2961,7 +3000,7 @@ UnrealizeTree( WindowPtr pWin, Bool fromConfigure) { - register WindowPtr pChild; + WindowPtr pChild; UnrealizeWindowProcPtr Unrealize; MarkUnrealizedWindowProcPtr MarkUnrealizedWindow; @@ -3020,9 +3059,9 @@ UnrealizeTree( *****/ _X_EXPORT int -UnmapWindow(register WindowPtr pWin, Bool fromConfigure) +UnmapWindow(WindowPtr pWin, Bool fromConfigure) { - register WindowPtr pParent; + WindowPtr pParent; xEvent event; Bool wasRealized = (Bool)pWin->realized; Bool wasViewable = (Bool)pWin->viewable; @@ -3079,9 +3118,9 @@ UnmapWindow(register WindowPtr pWin, Bool fromConfigure) *****/ void -UnmapSubwindows(register WindowPtr pWin) +UnmapSubwindows(WindowPtr pWin) { - register WindowPtr pChild, pHead; + WindowPtr pChild, pHead; xEvent event; Bool wasRealized = (Bool)pWin->realized; Bool wasViewable = (Bool)pWin->viewable; @@ -3170,10 +3209,10 @@ UnmapSubwindows(register WindowPtr pWin) void -HandleSaveSet(register ClientPtr client) +HandleSaveSet(ClientPtr client) { - register WindowPtr pParent, pWin; - register int j; + WindowPtr pParent, pWin; + int j; for (j=0; jnumSaved; j++) { @@ -3210,27 +3249,12 @@ HandleSaveSet(register ClientPtr client) client->saveSet = (SaveSetElt *)NULL; } -/** - * - * \param x,y in root - * \param box "return" value - */ -Bool -VisibleBoundingBoxFromPoint(register WindowPtr pWin, int x, int y, BoxPtr box) -{ - if (!pWin->realized) - return (FALSE); - if (POINT_IN_REGION(pWin->drawable.pScreen, &pWin->clipList, x, y, box)) - return(TRUE); - return(FALSE); -} - /** * * \param x,y in root */ Bool -PointInWindowIsVisible(register WindowPtr pWin, int x, int y) +PointInWindowIsVisible(WindowPtr pWin, int x, int y) { BoxRec box; @@ -3249,9 +3273,9 @@ PointInWindowIsVisible(register WindowPtr pWin, int x, int y) _X_EXPORT RegionPtr -NotClippedByChildren(register WindowPtr pWin) +NotClippedByChildren(WindowPtr pWin) { - register ScreenPtr pScreen; + ScreenPtr pScreen; RegionPtr pReg; pScreen = pWin->drawable.pScreen; @@ -3333,30 +3357,6 @@ SendVisibilityNotify(WindowPtr pWin) DeliverEvents(pWin, &event, 1, NullWindow); } -static WindowPtr windowDisableMapUnmapEvents; - -void -DisableMapUnmapEvents(WindowPtr pWin) -{ - assert (windowDisableMapUnmapEvents == NULL); - - windowDisableMapUnmapEvents = pWin; -} - -void -EnableMapUnmapEvents(WindowPtr pWin) -{ - assert (windowDisableMapUnmapEvents != NULL); - - windowDisableMapUnmapEvents = NULL; -} - -Bool -MapUnmapEventsEnabled(WindowPtr pWin) -{ - return pWin != windowDisableMapUnmapEvents; -} - #define RANDOM_WIDTH 32 #ifndef NOLOGOHACK @@ -3597,7 +3597,7 @@ TileScreenSaver(int i, int kind) */ _X_EXPORT WindowPtr -FindWindowWithOptional (register WindowPtr w) +FindWindowWithOptional (WindowPtr w) { do w = w->parent; @@ -3614,10 +3614,10 @@ FindWindowWithOptional (register WindowPtr w) */ _X_EXPORT void -CheckWindowOptionalNeed (register WindowPtr w) +CheckWindowOptionalNeed (WindowPtr w) { - register WindowOptPtr optional; - register WindowOptPtr parentOptional; + WindowOptPtr optional; + WindowOptPtr parentOptional; if (!w->parent) return; @@ -3668,10 +3668,10 @@ CheckWindowOptionalNeed (register WindowPtr w) */ _X_EXPORT Bool -MakeWindowOptional (register WindowPtr pWin) +MakeWindowOptional (WindowPtr pWin) { - register WindowOptPtr optional; - register WindowOptPtr parentOptional; + WindowOptPtr optional; + WindowOptPtr parentOptional; if (pWin->optional) return TRUE; @@ -3709,41 +3709,6 @@ MakeWindowOptional (register WindowPtr pWin) return TRUE; } -void -DisposeWindowOptional (register WindowPtr pWin) -{ - if (!pWin->optional) - return; - /* - * everything is peachy. Delete the optional record - * and clean up - */ - /* - * TOG changed this code to: - * - * if (pWin->cursorIsNone == FALSE) - * FreeCursor (pWin->optional->cursor, (Cursor)0); - * pWin->cursorIsNone = TRUE; - * - * This is blatently wrong; windows without optionals can have - * two different cursor values, either None or sharing their - * parents cursor. This difference is controlled by the - * cursorIsNone value; when TRUE, the window has no cursor, - * when false, it shares its cursor with its parent; TOG - * made it impossible for a window to have a cursor without - * an optional record. - */ - if (pWin->optional->cursor) - { - FreeCursor (pWin->optional->cursor, (Cursor)0); - pWin->cursorIsNone = FALSE; - } - else - pWin->cursorIsNone = TRUE; - xfree (pWin->optional); - pWin->optional = NULL; -} - #ifndef NOLOGOHACK static void DrawLogo(WindowPtr pWin) diff --git a/xserver/dix/xpstubs.c b/xserver/dix/xpstubs.c index 3276d9dfe..59340ad21 100644 --- a/xserver/dix/xpstubs.c +++ b/xserver/dix/xpstubs.c @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* Copyright 1996, 1998 The Open Group diff --git a/xserver/doc/Makefile.am b/xserver/doc/Makefile.am index 0ac533e18..ce1979d4f 100644 --- a/xserver/doc/Makefile.am +++ b/xserver/doc/Makefile.am @@ -1,25 +1,35 @@ appmandir = $(APP_MAN_DIR) +filemandir = $(FILE_MAN_DIR) # Xserver.man covers options generic to all X servers built in this tree +# (i.e. those handled in the os/utils.c options processing instead of in +# the DDX-level options processing) appman_PRE = Xserver.man.pre +fileman_PRE = SecurityPolicy.man.pre appman_PROCESSED = $(appman_PRE:man.pre=man) +fileman_PROCESSED = $(fileman_PRE:man.pre=man) appman_DATA = $(appman_PRE:man.pre=@APP_MAN_SUFFIX@) +fileman_DATA = $(fileman_PRE:man.pre=@FILE_MAN_SUFFIX@) -BUILT_SOURCES = $(appman_PROCESSED) +BUILT_SOURCES = $(appman_PROCESSED) $(fileman_PROCESSED) -CLEANFILES = $(appman_PROCESSED) $(appman_DATA) +CLEANFILES = $(appman_PROCESSED) $(appman_DATA) \ + $(fileman_PROCESSED) $(fileman_DATA) include $(top_srcdir)/cpprules.in .man.$(APP_MAN_SUFFIX): cp $< $@ +.man.$(FILE_MAN_SUFFIX): + cp $< $@ + EXTRAMANDEFS = -D__default_font_path__="`echo $(COMPILEDDEFAULTFONTPATH) | sed -e 's/,/, /g'`" # Docs about X server internals that we ship with source but don't install DEVEL_DOCS = smartsched -EXTRA_DIST = $(DEVEL_DOCS) $(appman_PRE) +EXTRA_DIST = $(DEVEL_DOCS) $(appman_PRE) $(fileman_PRE) diff --git a/xserver/doc/SecurityPolicy.man.pre b/xserver/doc/SecurityPolicy.man.pre new file mode 100644 index 000000000..f5aff0c6c --- /dev/null +++ b/xserver/doc/SecurityPolicy.man.pre @@ -0,0 +1,258 @@ +.\" Split out of Xserver.man, which was covered by this notice: +.\" Copyright 1984 - 1991, 1993, 1994, 1998 The Open Group +.\" +.\" Permission to use, copy, modify, distribute, and sell this software and its +.\" documentation for any purpose is hereby granted without fee, provided that +.\" the above copyright notice appear in all copies and that both that +.\" copyright notice and this permission notice appear in supporting +.\" documentation. +.\" +.\" The above copyright notice and this permission notice shall be included +.\" in all copies or substantial portions of the Software. +.\" +.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +.\" IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR +.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +.\" OTHER DEALINGS IN THE SOFTWARE. +.\" +.\" Except as contained in this notice, the name of The Open Group shall +.\" not be used in advertising or otherwise to promote the sale, use or +.\" other dealings in this Software without prior written authorization +.\" from The Open Group. +.\" $XFree86: xc/programs/Xserver/Xserver.man,v 3.31 2004/01/10 22:27:46 dawes Exp $ +.\" shorthand for double quote that works everywhere. +.ds q \N'34' +.TH SecurityPolicy __filemansuffix__ __xorgversion__ +.SH NAME +SecurityPolicy \- X Window System SECURITY Extension Policy file format +.SH DESCRIPTION +The SECURITY extension to the X Window System uses a policy file to determine +which operations should be allowed or denied. The default location for this +file is +.IR __projectroot__/lib/xserver/SecurityPolicy . +.PP +The syntax of the security policy file is as follows. +Notation: "*" means zero or more occurrences of the preceding element, +and "+" means one or more occurrences. To interpret , ignore +the text after the /; it is used to distinguish between instances of + in the next section. +.PP +.nf + ::= * + + ::= '\en' + + ::= | | | + + ::= # * '\en' + + ::= '\en' + + ::= sitepolicy '\en' + + ::= property '\en' + + ::= + + ::= any | root | + + ::= | + + ::= = + + ::= [ | | ]* + + ::= r | w | d + + ::= a | i | e + + ::= | | + + ::= " * " + + ::= ' * ' + + ::= + + + ::= [ ' ' | '\et' ]* + +Character sets: + + ::= any character except '\en' + ::= any character except " + ::= any character except ' + ::= any character except those in +.fi +.PP +The semantics associated with the above syntax are as follows. +.PP +, the first line in the file, specifies the file format +version. If the server does not recognize the version , it +ignores the rest of the file. The version string for the file format +described here is "version-1" . +.PP +Once past the , lines that do not match the above syntax +are ignored. +.PP + lines are ignored. +.PP + lines are currently ignored. They are intended to +specify the site policies used by the XC-QUERY-SECURITY-1 +authorization method. +.PP + lines specify how the server should react to untrusted +client requests that affect the X Window property named . +The rest of this section describes the interpretation of an +. +.PP +For an to apply to a given instance of , + must be on a window that is in the set of windows +specified by . If is any, the rule applies to + on any window. If is root, the rule applies to + only on root windows. +.PP +If is , the following apply. If is a , the rule applies when the window also +has that , regardless of its value. If is a , must also have +the value specified by . In this case, the property must +have type STRING and format 8, and should contain one or more +null-terminated strings. If any of the strings match , the +rule applies. +.PP +The definition of string matching is simple case-sensitive string +comparison with one elaboration: the occurrence of the character '*' in + is a wildcard meaning "any string." A can +contain multiple wildcards anywhere in the string. For example, "x*" +matches strings that begin with x, "*x" matches strings that end with +x, "*x*" matches strings containing x, and "x*y*" matches strings that +start with x and subsequently contain y. +.PP +There may be multiple lines for a given . +The rules are tested in the order that they appear in the file. The +first rule that applies is used. +.PP + specify operations that untrusted clients may attempt, and +the actions that the server should take in response to those operations. +.PP + can be r (read), w (write), or d (delete). The following +table shows how X Protocol property requests map to these operations +in the X.Org server implementation. +.PP +.nf +GetProperty r, or r and d if delete = True +ChangeProperty w +RotateProperties r and w +DeleteProperty d +ListProperties none, untrusted clients can always list all properties +.fi +.PP + can be a (allow), i (ignore), or e (error). Allow means +execute the request as if it had been issued by a trusted client. +Ignore means treat the request as a no-op. In the case of +GetProperty, ignore means return an empty property value if the +property exists, regardless of its actual value. Error means do not +execute the request and return a BadAtom error with the atom set to +the property name. Error is the default action for all properties, +including those not listed in the security policy file. +.PP +An applies to all s that follow it, until the next + is encountered. Thus, irwad means ignore read and write, +allow delete. +.PP +GetProperty and RotateProperties may do multiple operations (r and d, +or r and w). If different actions apply to the operations, the most +severe action is applied to the whole request; there is no partial +request execution. The severity ordering is: allow < ignore < error. +Thus, if the for a property are ired (ignore read, error +delete), and an untrusted client attempts GetProperty on that property +with delete = True, an error is returned, but the property value is +not. Similarly, if any of the properties in a RotateProperties do not +allow both read and write, an error is returned without changing any +property values. +.PP +Here is an example security policy file. +.PP +.ta 3i 4i +.nf +version-1 + +XCOMM Allow reading of application resources, but not writing. +property RESOURCE_MANAGER root ar iw +property SCREEN_RESOURCES root ar iw + +XCOMM Ignore attempts to use cut buffers. Giving errors causes apps to crash, +XCOMM and allowing access may give away too much information. +property CUT_BUFFER0 root irw +property CUT_BUFFER1 root irw +property CUT_BUFFER2 root irw +property CUT_BUFFER3 root irw +property CUT_BUFFER4 root irw +property CUT_BUFFER5 root irw +property CUT_BUFFER6 root irw +property CUT_BUFFER7 root irw + +XCOMM If you are using Motif, you probably want these. +property _MOTIF_DEFAULT_BINDINGS root ar iw +property _MOTIF_DRAG_WINDOW root ar iw +property _MOTIF_DRAG_TARGETS any ar iw +property _MOTIF_DRAG_ATOMS any ar iw +property _MOTIF_DRAG_ATOM_PAIRS any ar iw + +XCOMM The next two rules let xwininfo -tree work when untrusted. +property WM_NAME any ar + +XCOMM Allow read of WM_CLASS, but only for windows with WM_NAME. +XCOMM This might be more restrictive than necessary, but demonstrates +XCOMM the facility, and is also an attempt to +XCOMM say "top level windows only." +property WM_CLASS WM_NAME ar + +XCOMM These next three let xlsclients work untrusted. Think carefully +XCOMM before including these; giving away the client machine name and command +XCOMM may be exposing too much. +property WM_STATE WM_NAME ar +property WM_CLIENT_MACHINE WM_NAME ar +property WM_COMMAND WM_NAME ar + +XCOMM To let untrusted clients use the standard colormaps created by +XCOMM xstdcmap, include these lines. +property RGB_DEFAULT_MAP root ar +property RGB_BEST_MAP root ar +property RGB_RED_MAP root ar +property RGB_GREEN_MAP root ar +property RGB_BLUE_MAP root ar +property RGB_GRAY_MAP root ar + +XCOMM To let untrusted clients use the color management database created +XCOMM by xcmsdb, include these lines. +property XDCCC_LINEAR_RGB_CORRECTION root ar +property XDCCC_LINEAR_RGB_MATRICES root ar +property XDCCC_GRAY_SCREENWHITEPOINT root ar +property XDCCC_GRAY_CORRECTION root ar + +XCOMM To let untrusted clients use the overlay visuals that many vendors +XCOMM support, include this line. +property SERVER_OVERLAY_VISUALS root ar + +XCOMM Dumb examples to show other capabilities. + +XCOMM oddball property names and explicit specification of error conditions +property "property with spaces" 'property with "' aw er ed + +XCOMM Allow deletion of Woo-Hoo if window also has property OhBoy with value +XCOMM ending in "son". Reads and writes will cause an error. +property Woo-Hoo OhBoy = "*son" ad + +.fi +.SH FILES +.TP 30 +.I __projectroot__/lib/xserver/SecurityPolicy +Default X server security policy +.SH "SEE ALSO" +.PP +\fIXserver\fp(__appmansuffix__), +.I "Security Extension Specification" diff --git a/xserver/doc/Xserver.man.pre b/xserver/doc/Xserver.man.pre index aa931a88a..aac3b51c3 100644 --- a/xserver/doc/Xserver.man.pre +++ b/xserver/doc/Xserver.man.pre @@ -414,221 +414,8 @@ X servers that support the SECURITY extension accept the following option: causes the server to attempt to read and interpret filename as a security policy file with the format described below. The file is read at server startup and reread at each server reset. -.PP -The syntax of the security policy file is as follows. -Notation: "*" means zero or more occurrences of the preceding element, -and "+" means one or more occurrences. To interpret , ignore -the text after the /; it is used to distinguish between instances of - in the next section. -.PP -.nf - ::= * - - ::= '\en' - - ::= | | | - - ::= # * '\en' - - ::= '\en' - - ::= sitepolicy '\en' - - ::= property '\en' - - ::= - - ::= any | root | - - ::= | - - ::= = - - ::= [ | | ]* - - ::= r | w | d - - ::= a | i | e - - ::= | | - - ::= " * " - - ::= ' * ' - - ::= + - - ::= [ ' ' | '\et' ]* - -Character sets: - - ::= any character except '\en' - ::= any character except " - ::= any character except ' - ::= any character except those in -.fi -.PP -The semantics associated with the above syntax are as follows. -.PP -, the first line in the file, specifies the file format -version. If the server does not recognize the version , it -ignores the rest of the file. The version string for the file format -described here is "version-1" . -.PP -Once past the , lines that do not match the above syntax -are ignored. -.PP - lines are ignored. -.PP - lines are currently ignored. They are intended to -specify the site policies used by the XC-QUERY-SECURITY-1 -authorization method. -.PP - lines specify how the server should react to untrusted -client requests that affect the X Window property named . -The rest of this section describes the interpretation of an -. -.PP -For an to apply to a given instance of , - must be on a window that is in the set of windows -specified by . If is any, the rule applies to - on any window. If is root, the rule applies to - only on root windows. -.PP -If is , the following apply. If is a , the rule applies when the window also -has that , regardless of its value. If is a , must also have -the value specified by . In this case, the property must -have type STRING and format 8, and should contain one or more -null-terminated strings. If any of the strings match , the -rule applies. -.PP -The definition of string matching is simple case-sensitive string -comparison with one elaboration: the occurrence of the character '*' in - is a wildcard meaning "any string." A can -contain multiple wildcards anywhere in the string. For example, "x*" -matches strings that begin with x, "*x" matches strings that end with -x, "*x*" matches strings containing x, and "x*y*" matches strings that -start with x and subsequently contain y. -.PP -There may be multiple lines for a given . -The rules are tested in the order that they appear in the file. The -first rule that applies is used. -.PP - specify operations that untrusted clients may attempt, and -the actions that the server should take in response to those operations. -.PP - can be r (read), w (write), or d (delete). The following -table shows how X Protocol property requests map to these operations -in The Open Group server implementation. -.PP -.nf -GetProperty r, or r and d if delete = True -ChangeProperty w -RotateProperties r and w -DeleteProperty d -ListProperties none, untrusted clients can always list all properties -.fi -.PP - can be a (allow), i (ignore), or e (error). Allow means -execute the request as if it had been issued by a trusted client. -Ignore means treat the request as a no-op. In the case of -GetProperty, ignore means return an empty property value if the -property exists, regardless of its actual value. Error means do not -execute the request and return a BadAtom error with the atom set to -the property name. Error is the default action for all properties, -including those not listed in the security policy file. -.PP -An applies to all s that follow it, until the next - is encountered. Thus, irwad means ignore read and write, -allow delete. -.PP -GetProperty and RotateProperties may do multiple operations (r and d, -or r and w). If different actions apply to the operations, the most -severe action is applied to the whole request; there is no partial -request execution. The severity ordering is: allow < ignore < error. -Thus, if the for a property are ired (ignore read, error -delete), and an untrusted client attempts GetProperty on that property -with delete = True, an error is returned, but the property value is -not. Similarly, if any of the properties in a RotateProperties do not -allow both read and write, an error is returned without changing any -property values. -.PP -Here is an example security policy file. -.PP -.ta 3i 4i -.nf -version-1 - -XCOMM Allow reading of application resources, but not writing. -property RESOURCE_MANAGER root ar iw -property SCREEN_RESOURCES root ar iw - -XCOMM Ignore attempts to use cut buffers. Giving errors causes apps to crash, -XCOMM and allowing access may give away too much information. -property CUT_BUFFER0 root irw -property CUT_BUFFER1 root irw -property CUT_BUFFER2 root irw -property CUT_BUFFER3 root irw -property CUT_BUFFER4 root irw -property CUT_BUFFER5 root irw -property CUT_BUFFER6 root irw -property CUT_BUFFER7 root irw - -XCOMM If you are using Motif, you probably want these. -property _MOTIF_DEFAULT_BINDINGS root ar iw -property _MOTIF_DRAG_WINDOW root ar iw -property _MOTIF_DRAG_TARGETS any ar iw -property _MOTIF_DRAG_ATOMS any ar iw -property _MOTIF_DRAG_ATOM_PAIRS any ar iw - -XCOMM The next two rules let xwininfo -tree work when untrusted. -property WM_NAME any ar - -XCOMM Allow read of WM_CLASS, but only for windows with WM_NAME. -XCOMM This might be more restrictive than necessary, but demonstrates -XCOMM the facility, and is also an attempt to -XCOMM say "top level windows only." -property WM_CLASS WM_NAME ar - -XCOMM These next three let xlsclients work untrusted. Think carefully -XCOMM before including these; giving away the client machine name and command -XCOMM may be exposing too much. -property WM_STATE WM_NAME ar -property WM_CLIENT_MACHINE WM_NAME ar -property WM_COMMAND WM_NAME ar - -XCOMM To let untrusted clients use the standard colormaps created by -XCOMM xstdcmap, include these lines. -property RGB_DEFAULT_MAP root ar -property RGB_BEST_MAP root ar -property RGB_RED_MAP root ar -property RGB_GREEN_MAP root ar -property RGB_BLUE_MAP root ar -property RGB_GRAY_MAP root ar - -XCOMM To let untrusted clients use the color management database created -XCOMM by xcmsdb, include these lines. -property XDCCC_LINEAR_RGB_CORRECTION root ar -property XDCCC_LINEAR_RGB_MATRICES root ar -property XDCCC_GRAY_SCREENWHITEPOINT root ar -property XDCCC_GRAY_CORRECTION root ar - -XCOMM To let untrusted clients use the overlay visuals that many vendors -XCOMM support, include this line. -property SERVER_OVERLAY_VISUALS root ar - -XCOMM Dumb examples to show other capabilities. - -XCOMM oddball property names and explicit specification of error conditions -property "property with spaces" 'property with "' aw er ed - -XCOMM Allow deletion of Woo-Hoo if window also has property OhBoy with value -XCOMM ending in "son". Reads and writes will cause an error. -property Woo-Hoo OhBoy = "*son" ad - -.fi +The syntax of the security policy file is described in +\fISecurityPolicy\fP(__filemansuffix__). .SH "NETWORK CONNECTIONS" The X server supports client connections via a platform-dependent subset of the following transport types: TCP\/IP, Unix Domain sockets, DECnet, @@ -757,6 +544,9 @@ Error log file for display number \fBn\fP if run from \fIinit\fP(__adminmansuffi .TP 30 .I __projectroot__/lib/X11/xdm/xdm-errors Default error log file if the server is run from \fIxdm\fP(1) +.TP 30 +.I __projectroot__/lib/xserver/SecurityPolicy +Default X server security policy .SH "SEE ALSO" General information: \fIX\fP(__miscmansuffix__) .PP @@ -771,6 +561,7 @@ Fonts: \fIbdftopcf\fP(1), \fImkfontdir\fP(1), \fImkfontscale\fP(1), .PP Security: \fIXsecurity\fP(__miscmansuffix__), \fIxauth\fP(1), \fIXau\fP(1), \fIxdm\fP(1), \fIxhost\fP(1), \fIxfwp\fP(1), +\fISecurityPolicy\fP(__filemansuffix__), .I "Security Extension Specification" .PP Starting the server: \fIxdm\fP(1), \fIxinit\fP(1) diff --git a/xserver/exa/exa.c b/xserver/exa/exa.c index b49065303..aa42b9266 100644 --- a/xserver/exa/exa.c +++ b/xserver/exa/exa.c @@ -32,6 +32,10 @@ #include #endif +#ifdef MITSHM +#include "shmint.h" +#endif + #include #include "exa_priv.h" @@ -118,17 +122,54 @@ exaGetDrawablePixmap(DrawablePtr pDrawable) } /** - * exaDrawableDirty() marks a pixmap backing a drawable as dirty, allowing for + * Sets the offsets to add to coordinates to make them address the same bits in + * the backing drawable. These coordinates are nonzero only for redirected + * windows. + */ +void +exaGetDrawableDeltas (DrawablePtr pDrawable, PixmapPtr pPixmap, + int *xp, int *yp) +{ +#ifdef COMPOSITE + if (pDrawable->type == DRAWABLE_WINDOW) { + *xp = -pPixmap->screen_x; + *yp = -pPixmap->screen_y; + return; + } +#endif + + *xp = 0; + *yp = 0; +} + +/** + * exaPixmapDirty() marks a pixmap as dirty, allowing for * optimizations in pixmap migration when no changes have occurred. */ void -exaDrawableDirty (DrawablePtr pDrawable) +exaPixmapDirty (PixmapPtr pPix, int x1, int y1, int x2, int y2) { - ExaPixmapPrivPtr pExaPixmap; + ExaPixmapPriv(pPix); + BoxRec box; + RegionPtr pDamageReg; + RegionRec region; - pExaPixmap = ExaGetPixmapPriv(exaGetDrawablePixmap (pDrawable)); - if (pExaPixmap != NULL) - pExaPixmap->dirty = TRUE; + if (!pExaPixmap) + return; + + box.x1 = max(x1, 0); + box.y1 = max(y1, 0); + box.x2 = min(x2, pPix->drawable.width); + box.y2 = min(y2, pPix->drawable.height); + + if (box.x1 >= box.x2 || box.y1 >= box.y2) + return; + + pDamageReg = DamageRegion(pExaPixmap->pDamage); + + REGION_INIT(pScreen, ®ion, &box, 1); + REGION_UNION(pScreen, pDamageReg, pDamageReg, ®ion); + REGION_UNINIT(pScreen, ®ion); } static Bool @@ -149,6 +190,7 @@ exaDestroyPixmap (PixmapPtr pPixmap) pPixmap->devPrivate.ptr = pExaPixmap->sys_ptr; pPixmap->devKind = pExaPixmap->sys_pitch; } + REGION_UNINIT(pPixmap->drawable.pScreen, &pExaPixmap->validReg); } return fbDestroyPixmap (pPixmap); } @@ -216,7 +258,20 @@ exaCreatePixmap(ScreenPtr pScreen, int w, int h, int depth) return NULL; } - pExaPixmap->dirty = FALSE; + /* Set up damage tracking */ + pExaPixmap->pDamage = DamageCreate (NULL, NULL, DamageReportNone, TRUE, + pScreen, pPixmap); + + if (pExaPixmap->pDamage == NULL) { + fbDestroyPixmap (pPixmap); + return NULL; + } + + DamageRegister (&pPixmap->drawable, pExaPixmap->pDamage); + DamageSetReportAfterOp (pExaPixmap->pDamage, TRUE); + + /* None of the pixmap bits are valid initially */ + REGION_NULL(pScreen, &pExaPixmap->validReg); return pPixmap; } @@ -244,6 +299,9 @@ exaPixmapIsOffscreen(PixmapPtr p) if (p->devPrivate.ptr == NULL) return TRUE; + if (pExaScr->info->PixmapIsOffscreen) + return pExaScr->info->PixmapIsOffscreen(p); + return ((unsigned long) ((CARD8 *) p->devPrivate.ptr - (CARD8 *) pExaScr->info->memoryBase) < pExaScr->info->memorySize); @@ -261,32 +319,14 @@ exaDrawableIsOffscreen (DrawablePtr pDrawable) /** * Returns the pixmap which backs a drawable, and the offsets to add to * coordinates to make them address the same bits in the backing drawable. - * These coordinates are nonzero only for redirected windows. */ PixmapPtr exaGetOffscreenPixmap (DrawablePtr pDrawable, int *xp, int *yp) { - PixmapPtr pPixmap; - int x, y; + PixmapPtr pPixmap = exaGetDrawablePixmap (pDrawable); + + exaGetDrawableDeltas (pDrawable, pPixmap, xp, yp); - if (pDrawable->type == DRAWABLE_WINDOW) { - pPixmap = (*pDrawable->pScreen->GetWindowPixmap) ((WindowPtr) pDrawable); -#ifdef COMPOSITE - x = -pPixmap->screen_x; - y = -pPixmap->screen_y; -#else - x = 0; - y = 0; -#endif - } - else - { - pPixmap = (PixmapPtr) pDrawable; - x = 0; - y = 0; - } - *xp = x; - *yp = y; if (exaPixmapIsOffscreen (pPixmap)) return pPixmap; else @@ -334,8 +374,7 @@ exaPrepareAccess(DrawablePtr pDrawable, int index) /** * exaFinishAccess() is EXA's wrapper for the driver's FinishAccess() handler. * - * It deals with marking drawables as dirty, and calling the driver's - * FinishAccess() only if necessary. + * It deals with calling the driver's FinishAccess() only if necessary. */ void exaFinishAccess(DrawablePtr pDrawable, int index) @@ -345,9 +384,6 @@ exaFinishAccess(DrawablePtr pDrawable, int index) PixmapPtr pPixmap; ExaPixmapPrivPtr pExaPixmap; - if (index == EXA_PREPARE_DEST) - exaDrawableDirty (pDrawable); - pPixmap = exaGetDrawablePixmap (pDrawable); pExaPixmap = ExaGetPixmapPriv(pPixmap); @@ -373,7 +409,7 @@ exaFinishAccess(DrawablePtr pDrawable, int index) * accelerated or may sync the card and fall back to fb. */ static void -exaValidateGC (GCPtr pGC, Mask changes, DrawablePtr pDrawable) +exaValidateGC (GCPtr pGC, unsigned long changes, DrawablePtr pDrawable) { /* fbValidateGC will do direct access to pixmaps if the tiling has changed. * Preempt fbValidateGC by doing its work and masking the change out, so @@ -404,6 +440,7 @@ exaValidateGC (GCPtr pGC, Mask changes, DrawablePtr pDrawable) exaPrepareAccess(&pOldTile->drawable, EXA_PREPARE_SRC); pNewTile = fb24_32ReformatTile (pOldTile, pDrawable->bitsPerPixel); + exaPixmapDirty(pNewTile, 0, 0, pNewTile->drawable.width, pNewTile->drawable.height); exaFinishAccess(&pOldTile->drawable, EXA_PREPARE_SRC); } if (pNewTile) @@ -419,9 +456,14 @@ exaValidateGC (GCPtr pGC, Mask changes, DrawablePtr pDrawable) if (!pGC->tileIsPixel && FbEvenTile (pGC->tile.pixmap->drawable.width * pDrawable->bitsPerPixel)) { - exaPrepareAccess(&pGC->tile.pixmap->drawable, EXA_PREPARE_SRC); + /* XXX This fixes corruption with tiled pixmaps, but may just be a + * workaround for broken drivers + */ + exaMoveOutPixmap(pGC->tile.pixmap); fbPadPixmap (pGC->tile.pixmap); - exaFinishAccess(&pGC->tile.pixmap->drawable, EXA_PREPARE_SRC); + exaPixmapDirty(pGC->tile.pixmap, 0, 0, + pGC->tile.pixmap->drawable.width, + pGC->tile.pixmap->drawable.height); } /* Mask out the GCTile change notification, now that we've done FB's * job for it. @@ -484,6 +526,7 @@ exaCloseScreen(int i, ScreenPtr pScreen) if (ps) { ps->Composite = pExaScr->SavedComposite; ps->Glyphs = pExaScr->SavedGlyphs; + ps->Trapezoids = pExaScr->SavedTrapezoids; } #endif @@ -527,6 +570,45 @@ exaDriverInit (ScreenPtr pScreen, PictureScreenPtr ps; #endif + if (!pScreenInfo) + return FALSE; + + if (!pScreenInfo->memoryBase) { + LogMessage(X_ERROR, "EXA(%d): ExaDriverRec::memoryBase must be " + "non-zero\n", pScreen->myNum); + return FALSE; + } + + if (!pScreenInfo->memorySize) { + LogMessage(X_ERROR, "EXA(%d): ExaDriverRec::memorySize must be " + "non-zero\n", pScreen->myNum); + return FALSE; + } + + if (pScreenInfo->offScreenBase > pScreenInfo->memorySize) { + LogMessage(X_ERROR, "EXA(%d): ExaDriverRec::offScreenBase must be <= " + "ExaDriverRec::memorySize\n", pScreen->myNum); + return FALSE; + } + + if (!pScreenInfo->PrepareSolid) { + LogMessage(X_ERROR, "EXA(%d): ExaDriverRec::PrepareSolid must be " + "non-NULL\n", pScreen->myNum); + return FALSE; + } + + if (!pScreenInfo->PrepareCopy) { + LogMessage(X_ERROR, "EXA(%d): ExaDriverRec::PrepareCopy must be " + "non-NULL\n", pScreen->myNum); + return FALSE; + } + + if (!pScreenInfo->WaitMarker) { + LogMessage(X_ERROR, "EXA(%d): ExaDriverRec::WaitMarker must be " + "non-NULL\n", pScreen->myNum); + return FALSE; + } + if (pScreenInfo->exa_major != EXA_VERSION_MAJOR || pScreenInfo->exa_minor > EXA_VERSION_MINOR) { @@ -560,7 +642,7 @@ exaDriverInit (ScreenPtr pScreen, pScreen->devPrivates[exaScreenPrivateIndex].ptr = (pointer) pExaScr; - pExaScr->migration = ExaMigrationSmart; + pExaScr->migration = ExaMigrationAlways; exaDDXDriverInit(pScreen); @@ -603,13 +685,19 @@ exaDriverInit (ScreenPtr pScreen, pExaScr->SavedGlyphs = ps->Glyphs; ps->Glyphs = exaGlyphs; + + pExaScr->SavedTrapezoids = ps->Trapezoids; + ps->Trapezoids = exaTrapezoids; } #endif -#ifdef COMPOSITE - miDisableCompositeWrapper(pScreen); +#ifdef MITSHM + /* Re-register with the MI funcs, which don't allow shared pixmaps. + * Shared pixmaps are almost always a performance loss for us, but this + * still allows for SHM PutImage. + */ + ShmRegisterFuncs(pScreen, NULL); #endif - /* * Hookup offscreen pixmaps */ diff --git a/xserver/exa/exa.h b/xserver/exa/exa.h index 96465a775..9ea593381 100644 --- a/xserver/exa/exa.h +++ b/xserver/exa/exa.h @@ -39,7 +39,7 @@ #include "fb.h" #define EXA_VERSION_MAJOR 2 -#define EXA_VERSION_MINOR 0 +#define EXA_VERSION_MINOR 2 #define EXA_VERSION_RELEASE 0 typedef struct _ExaOffscreenArea ExaOffscreenArea; @@ -73,8 +73,8 @@ struct _ExaOffscreenArea { typedef struct _ExaDriver { /** * exa_major and exa_minor should be set by the driver to the version of - * EXA which the driver was compiled for (or configures itself at runtime to - * support). This allows EXA to extend the structure for new features + * EXA which the driver was compiled for (or configures itself at runtime + * to support). This allows EXA to extend the structure for new features * without breaking ABI for drivers compiled against older versions. */ int exa_major, exa_minor; @@ -229,7 +229,7 @@ typedef struct _ExaDriver { * @{ */ /** - * PrepareCopy() sets up the driver for doing a copy within offscreen + * PrepareCopy() sets up the driver for doing a copy within video * memory. * * @param pSrcPixmap source pixmap @@ -636,6 +636,23 @@ typedef struct _ExaDriver { */ void (*FinishAccess)(PixmapPtr pPix, int index); + /** + * PixmapIsOffscreen() is an optional driver replacement to + * exaPixmapIsOffscreen(). Set to NULL if you want the standard behaviour + * of exaPixmapIsOffscreen(). + * + * @param pPix the pixmap + * @return TRUE if the given drawable is in framebuffer memory. + * + * exaPixmapIsOffscreen() is used to determine if a pixmap is in offscreen + * memory, meaning that acceleration could probably be done to it, and that it + * will need to be wrapped by PrepareAccess()/FinishAccess() when accessing it + * with the CPU. + * + * + */ + Bool (*PixmapIsOffscreen)(PixmapPtr pPix); + /** @name PrepareAccess() and FinishAccess() indices * @{ */ @@ -704,6 +721,9 @@ exaOffscreenAlloc(ScreenPtr pScreen, int size, int align, ExaOffscreenArea * exaOffscreenFree(ScreenPtr pScreen, ExaOffscreenArea *area); +void +ExaOffscreenMarkUsed (PixmapPtr pPixmap); + unsigned long exaGetPixmapOffset(PixmapPtr pPix); @@ -716,6 +736,12 @@ exaGetPixmapSize(PixmapPtr pPix); void exaEnableDisableFBAccess (int index, Bool enable); +void +exaMoveInPixmap (PixmapPtr pPixmap); + +void +exaMoveOutPixmap (PixmapPtr pPixmap); + /** * Returns TRUE if the given planemask covers all the significant bits in the * pixel values for pDrawable. diff --git a/xserver/exa/exa_accel.c b/xserver/exa/exa_accel.c index bc77a4071..cc383cca4 100644 --- a/xserver/exa/exa_accel.c +++ b/xserver/exa/exa_accel.c @@ -20,6 +20,11 @@ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. + * + * Authors: + * Eric Anholt + * Michel Dänzer + * */ #ifdef HAVE_DIX_CONFIG_H @@ -49,12 +54,12 @@ exaFillSpans(DrawablePtr pDrawable, GCPtr pGC, int n, pixmaps[0].as_dst = TRUE; pixmaps[0].as_src = FALSE; - pixmaps[0].pPix = exaGetDrawablePixmap (pDrawable); + pixmaps[0].pPix = pPixmap = exaGetDrawablePixmap (pDrawable); if (pExaScr->swappedOut || pGC->fillStyle != FillSolid || - pDrawable->width > pExaScr->info->maxX || - pDrawable->height > pExaScr->info->maxY) + pPixmap->drawable.width > pExaScr->info->maxX || + pPixmap->drawable.height > pExaScr->info->maxY) { exaDoMigration (pixmaps, 1, FALSE); ExaCheckFillSpans (pDrawable, pGC, n, ppt, pwidth, fSorted); @@ -69,6 +74,7 @@ exaFillSpans(DrawablePtr pDrawable, GCPtr pGC, int n, pGC->planemask, pGC->fgPixel)) { + exaDoMigration (pixmaps, 1, FALSE); ExaCheckFillSpans (pDrawable, pGC, n, ppt, pwidth, fSorted); return; } @@ -118,17 +124,17 @@ exaFillSpans(DrawablePtr pDrawable, GCPtr pGC, int n, partX2 = pbox->x2; if (partX2 > fullX2) partX2 = fullX2; - if (partX2 > partX1) + if (partX2 > partX1) { (*pExaScr->info->Solid) (pPixmap, partX1 + off_x, fullY1 + off_y, partX2 + off_x, fullY1 + 1 + off_y); + } } pbox++; } } } (*pExaScr->info->DoneSolid) (pPixmap); - exaDrawableDirty (pDrawable); exaMarkSync(pScreen); } @@ -145,8 +151,9 @@ exaPutImage (DrawablePtr pDrawable, GCPtr pGC, int depth, int x, int y, int xoff, yoff; int src_stride, bpp = pDrawable->bitsPerPixel; - if (pExaScr->swappedOut || pExaScr->info->UploadToScreen == NULL) - goto migrate_and_fallback; + pixmaps[0].as_dst = TRUE; + pixmaps[0].as_src = FALSE; + pixmaps[0].pPix = exaGetDrawablePixmap (pDrawable); /* Don't bother with under 8bpp, XYPixmaps. */ if (format != ZPixmap || bpp < 8) @@ -156,10 +163,14 @@ exaPutImage (DrawablePtr pDrawable, GCPtr pGC, int depth, int x, int y, if (!EXA_PM_IS_SOLID(pDrawable, pGC->planemask) || pGC->alu != GXcopy) goto migrate_and_fallback; - pixmaps[0].as_dst = TRUE; - pixmaps[0].as_src = FALSE; - pixmaps[0].pPix = exaGetDrawablePixmap (pDrawable); + if (pExaScr->swappedOut) + goto fallback; + exaDoMigration (pixmaps, 1, TRUE); + + if (pExaScr->info->UploadToScreen == NULL) + goto fallback; + pPix = exaGetOffscreenPixmap (pDrawable, &xoff, &yoff); if (pPix == NULL) @@ -212,25 +223,23 @@ exaPutImage (DrawablePtr pDrawable, GCPtr pGC, int depth, int x, int y, fbBltStip((FbStip *)bits + (y1 - y) * (src_stride / sizeof(FbStip)), src_stride / sizeof(FbStip), - (x1 - x) * bpp, - dst + (y1 + yoff) * dst_stride, + (x1 - x) * dstBpp, + dst + (y1 + dstYoff) * dst_stride, dst_stride, - (x1 + xoff) * bpp, - (x2 - x1) * bpp, + (x1 + dstXoff) * dstBpp, + (x2 - x1) * dstBpp, y2 - y1, - GXcopy, FB_ALLONES, bpp); + GXcopy, FB_ALLONES, dstBpp); exaFinishAccess(pDrawable, EXA_PREPARE_DEST); } + + exaPixmapDirty(pPix, x1 + xoff, y1 + yoff, x2 + xoff, y2 + yoff); } - exaDrawableDirty(pDrawable); return; migrate_and_fallback: - pixmaps[0].as_dst = TRUE; - pixmaps[0].as_src = FALSE; - pixmaps[0].pPix = exaGetDrawablePixmap (pDrawable); exaDoMigration (pixmaps, 1, FALSE); fallback: @@ -351,11 +360,12 @@ exaCopyNtoNTwoDir (DrawablePtr pSrcDrawable, DrawablePtr pDstDrawable, dst_off_y + pbox->y1 + i, pbox->x2 - pbox->x1, 1); } + exaPixmapDirty(pDstPixmap, dst_off_x + pbox->x1, dst_off_y + pbox->y1, + dst_off_x + pbox->x2, dst_off_y + pbox->y2); } if (dirsetup != 0) pExaScr->info->DoneCopy(pDstPixmap); exaMarkSync(pDstDrawable->pScreen); - exaDrawableDirty(pDstDrawable); return TRUE; } @@ -377,71 +387,82 @@ exaCopyNtoN (DrawablePtr pSrcDrawable, int src_off_x, src_off_y; int dst_off_x, dst_off_y; ExaMigrationRec pixmaps[2]; + Bool fallback = FALSE; pixmaps[0].as_dst = TRUE; pixmaps[0].as_src = FALSE; - pixmaps[0].pPix = exaGetDrawablePixmap (pDstDrawable); + pixmaps[0].pPix = pDstPixmap = exaGetDrawablePixmap (pDstDrawable); pixmaps[1].as_dst = FALSE; pixmaps[1].as_src = TRUE; - pixmaps[1].pPix = exaGetDrawablePixmap (pSrcDrawable); + pixmaps[1].pPix = pSrcPixmap = exaGetDrawablePixmap (pSrcDrawable); /* Respect maxX/maxY in a trivial way: don't set up drawing when we might * violate the limits. The proper solution would be a temporary pixmap * adjusted so that the drawing happened within limits. */ - if (pSrcDrawable->width > pExaScr->info->maxX || - pSrcDrawable->height > pExaScr->info->maxY || - pDstDrawable->width > pExaScr->info->maxX || - pDstDrawable->height > pExaScr->info->maxY) + if (pSrcPixmap->drawable.width > pExaScr->info->maxX || + pSrcPixmap->drawable.height > pExaScr->info->maxY || + pDstPixmap->drawable.width > pExaScr->info->maxX || + pDstPixmap->drawable.height > pExaScr->info->maxY) { - exaDoMigration (pixmaps, 2, FALSE); - goto fallback; + fallback = TRUE; } else { exaDoMigration (pixmaps, 2, TRUE); } /* Mixed directions must be handled specially if the card is lame */ - if (pExaScr->info->flags & EXA_TWO_BITBLT_DIRECTIONS && (dx*dy) < 0) { - if (!exaCopyNtoNTwoDir(pSrcDrawable, pDstDrawable, pGC, pbox, nbox, + if (!fallback && (pExaScr->info->flags & EXA_TWO_BITBLT_DIRECTIONS) && + reverse != upsidedown) { + if (exaCopyNtoNTwoDir(pSrcDrawable, pDstDrawable, pGC, pbox, nbox, dx, dy)) - goto fallback; - return; + return; + fallback = TRUE; } - if ((pSrcPixmap = exaGetOffscreenPixmap (pSrcDrawable, &src_off_x, &src_off_y)) && - (pDstPixmap = exaGetOffscreenPixmap (pDstDrawable, &dst_off_x, &dst_off_y)) && - (*pExaScr->info->PrepareCopy) (pSrcPixmap, pDstPixmap, - dx, dy, - pGC ? pGC->alu : GXcopy, - pGC ? pGC->planemask : FB_ALLONES)) + pSrcPixmap = exaGetDrawablePixmap (pSrcDrawable); + pDstPixmap = exaGetDrawablePixmap (pDstDrawable); + + exaGetDrawableDeltas (pSrcDrawable, pSrcPixmap, &src_off_x, &src_off_y); + exaGetDrawableDeltas (pDstDrawable, pDstPixmap, &dst_off_x, &dst_off_y); + + if (fallback || !exaPixmapIsOffscreen(pSrcPixmap) || + !exaPixmapIsOffscreen(pDstPixmap) || + !(*pExaScr->info->PrepareCopy) (pSrcPixmap, pDstPixmap, reverse ? -1 : 1, + upsidedown ? -1 : 1, + pGC ? pGC->alu : GXcopy, + pGC ? pGC->planemask : FB_ALLONES)) { + fallback = TRUE; + EXA_FALLBACK(("from %p to %p (%c,%c)\n", pSrcDrawable, pDstDrawable, + exaDrawableLocation(pSrcDrawable), + exaDrawableLocation(pDstDrawable))); + exaDoMigration (pixmaps, 2, FALSE); + exaPrepareAccess (pDstDrawable, EXA_PREPARE_DEST); + exaPrepareAccess (pSrcDrawable, EXA_PREPARE_SRC); + fbCopyNtoN (pSrcDrawable, pDstDrawable, pGC, + pbox, nbox, dx, dy, reverse, upsidedown, + bitplane, closure); + exaFinishAccess (pSrcDrawable, EXA_PREPARE_SRC); + exaFinishAccess (pDstDrawable, EXA_PREPARE_DEST); + } + + while (nbox--) { - while (nbox--) - { + if (!fallback) (*pExaScr->info->Copy) (pDstPixmap, pbox->x1 + dx + src_off_x, pbox->y1 + dy + src_off_y, pbox->x1 + dst_off_x, pbox->y1 + dst_off_y, - pbox->x2 - pbox->x1, - pbox->y2 - pbox->y1); - pbox++; - } - (*pExaScr->info->DoneCopy) (pDstPixmap); - exaMarkSync(pDstDrawable->pScreen); - exaDrawableDirty (pDstDrawable); - return; + pbox->x2 - pbox->x1, pbox->y2 - pbox->y1); + exaPixmapDirty (pDstPixmap, pbox->x1 + dst_off_x, pbox->y1 + dst_off_y, + pbox->x2 + dst_off_x, pbox->y2 + dst_off_y); + pbox++; } -fallback: - EXA_FALLBACK(("from %p to %p (%c,%c)\n", pSrcDrawable, pDstDrawable, - exaDrawableLocation(pSrcDrawable), - exaDrawableLocation(pDstDrawable))); - exaPrepareAccess (pDstDrawable, EXA_PREPARE_DEST); - exaPrepareAccess (pSrcDrawable, EXA_PREPARE_SRC); - fbCopyNtoN (pSrcDrawable, pDstDrawable, pGC, - pbox, nbox, dx, dy, reverse, upsidedown, - bitplane, closure); - exaFinishAccess (pSrcDrawable, EXA_PREPARE_SRC); - exaFinishAccess (pDstDrawable, EXA_PREPARE_DEST); + if (fallback) + return; + + (*pExaScr->info->DoneCopy) (pDstPixmap); + exaMarkSync (pDstDrawable->pScreen); } RegionPtr @@ -600,6 +621,9 @@ exaPolySegment (DrawablePtr pDrawable, GCPtr pGC, int nseg, DEALLOCATE_LOCAL(prect); } +static Bool exaFillRegionSolid (DrawablePtr pDrawable, RegionPtr pRegion, + Pixel pixel, CARD32 planemask, CARD32 alu); + static void exaPolyFillRect(DrawablePtr pDrawable, GCPtr pGC, @@ -608,7 +632,7 @@ exaPolyFillRect(DrawablePtr pDrawable, { ExaScreenPriv (pDrawable->pScreen); RegionPtr pClip = fbGetCompositeClip(pGC); - PixmapPtr pPixmap; + PixmapPtr pPixmap = exaGetDrawablePixmap(pDrawable); register BoxPtr pbox; BoxPtr pextent; int extentX1, extentX2, extentY1, extentY2; @@ -617,32 +641,73 @@ exaPolyFillRect(DrawablePtr pDrawable, int xoff, yoff; int xorg, yorg; int n; - ExaMigrationRec pixmaps[1]; + ExaMigrationRec pixmaps[2]; + RegionPtr pReg = RECTS_TO_REGION(pScreen, nrect, prect, CT_UNSORTED); + + /* Compute intersection of rects and clip region */ + REGION_TRANSLATE(pScreen, pReg, pDrawable->x, pDrawable->y); + REGION_INTERSECT(pScreen, pReg, pClip, pReg); + + if (!REGION_NUM_RECTS(pReg)) { + goto out; + } pixmaps[0].as_dst = TRUE; pixmaps[0].as_src = FALSE; - pixmaps[0].pPix = exaGetDrawablePixmap (pDrawable); + pixmaps[0].pPix = pPixmap; + exaGetDrawableDeltas(pDrawable, pPixmap, &xoff, &yoff); + if (pExaScr->swappedOut || - pGC->fillStyle != FillSolid || - pDrawable->width > pExaScr->info->maxX || - pDrawable->height > pExaScr->info->maxY) + pPixmap->drawable.width > pExaScr->info->maxX || + pPixmap->drawable.height > pExaScr->info->maxY) { - exaDoMigration (pixmaps, 1, FALSE); - ExaCheckPolyFillRect (pDrawable, pGC, nrect, prect); - return; - } else { - exaDoMigration (pixmaps, 1, TRUE); + goto fallback; } - if (!(pPixmap = exaGetOffscreenPixmap (pDrawable, &xoff, &yoff)) || + /* For ROPs where overlaps don't matter, convert rectangles to region and + * call exaFillRegion{Solid,Tiled}. + */ + if ((pGC->fillStyle == FillSolid || pGC->fillStyle == FillTiled) && + (pGC->alu == GXcopy || pGC->alu == GXclear || pGC->alu == GXnoop || + pGC->alu == GXcopyInverted || pGC->alu == GXset)) { + if (((pGC->fillStyle == FillSolid || pGC->tileIsPixel) && + exaFillRegionSolid(pDrawable, pReg, pGC->fillStyle == FillSolid ? + pGC->fgPixel : pGC->tile.pixel, pGC->planemask, + pGC->alu)) || + (pGC->fillStyle == FillTiled && !pGC->tileIsPixel && + exaFillRegionTiled(pDrawable, pReg, pGC->tile.pixmap, &pGC->patOrg, + pGC->planemask, pGC->alu))) { + goto out; + } + } + + if (pGC->fillStyle != FillSolid && + !(pGC->tileIsPixel && pGC->fillStyle == FillTiled)) + { + goto fallback; + } + + exaDoMigration (pixmaps, 1, TRUE); + + if (!exaPixmapIsOffscreen (pPixmap) || !(*pExaScr->info->PrepareSolid) (pPixmap, pGC->alu, pGC->planemask, pGC->fgPixel)) { +fallback: + if (pGC->fillStyle == FillTiled && !pGC->tileIsPixel) { + pixmaps[1].as_dst = FALSE; + pixmaps[1].as_src = TRUE; + pixmaps[1].pPix = pGC->tile.pixmap; + exaDoMigration (pixmaps, 2, FALSE); + } else { + exaDoMigration (pixmaps, 1, FALSE); + } + ExaCheckPolyFillRect (pDrawable, pGC, nrect, prect); - return; + goto out; } xorg = pDrawable->x; @@ -687,7 +752,8 @@ exaPolyFillRect(DrawablePtr pDrawable, pbox = REGION_RECTS(pClip); /* * clip the rectangle to each box in the clip region - * this is logically equivalent to calling Intersect() + * this is logically equivalent to calling Intersect(), + * but rectangles may overlap each other here. */ while(n--) { @@ -706,16 +772,19 @@ exaPolyFillRect(DrawablePtr pDrawable, pbox++; - if (partX1 < partX2 && partY1 < partY2) + if (partX1 < partX2 && partY1 < partY2) { (*pExaScr->info->Solid) (pPixmap, partX1 + xoff, partY1 + yoff, partX2 + xoff, partY2 + yoff); + } } } } (*pExaScr->info->DoneSolid) (pPixmap); - exaDrawableDirty (pDrawable); exaMarkSync(pDrawable->pScreen); + +out: + REGION_DESTROY(pScreen, pReg); } static void @@ -735,34 +804,36 @@ exaSolidBoxClipped (DrawablePtr pDrawable, int xoff, yoff; int partX1, partX2, partY1, partY2; ExaMigrationRec pixmaps[1]; + Bool fallback = FALSE; pixmaps[0].as_dst = TRUE; pixmaps[0].as_src = FALSE; - pixmaps[0].pPix = exaGetDrawablePixmap (pDrawable); - + pixmaps[0].pPix = pPixmap = exaGetDrawablePixmap (pDrawable); + if (pExaScr->swappedOut || - pDrawable->width > pExaScr->info->maxX || - pDrawable->height > pExaScr->info->maxY) + pPixmap->drawable.width > pExaScr->info->maxX || + pPixmap->drawable.height > pExaScr->info->maxY) { - exaDoMigration (pixmaps, 1, FALSE); - goto fallback; + fallback = TRUE; } else { exaDoMigration (pixmaps, 1, TRUE); } - if (!(pPixmap = exaGetOffscreenPixmap (pDrawable, &xoff, &yoff)) || + exaGetDrawableDeltas (pDrawable, pPixmap, &xoff, &yoff); + + if (fallback || !exaPixmapIsOffscreen(pPixmap) || !(*pExaScr->info->PrepareSolid) (pPixmap, GXcopy, pm, fg)) { -fallback: EXA_FALLBACK(("to %p (%c)\n", pDrawable, exaDrawableLocation(pDrawable))); + exaDoMigration (pixmaps, 1, FALSE); + fallback = TRUE; exaPrepareAccess (pDrawable, EXA_PREPARE_DEST); fg = fbReplicatePixel (fg, pDrawable->bitsPerPixel); fbSolidBoxClipped (pDrawable, pClip, x1, y1, x2, y2, fbAnd (GXcopy, fg, pm), fbXor (GXcopy, fg, pm)); exaFinishAccess (pDrawable, EXA_PREPARE_DEST); - return; } for (nbox = REGION_NUM_RECTS(pClip), pbox = REGION_RECTS(pClip); nbox--; @@ -790,12 +861,20 @@ fallback: if (partY2 <= partY1) continue; - (*pExaScr->info->Solid) (pPixmap, - partX1 + xoff, partY1 + yoff, - partX2 + xoff, partY2 + yoff); + if (!fallback) { + (*pExaScr->info->Solid) (pPixmap, + partX1 + xoff, partY1 + yoff, + partX2 + xoff, partY2 + yoff); + } + + exaPixmapDirty (pPixmap, partX1 + xoff, partY1 + yoff, partX2 + xoff, + partY2 + yoff); } + + if (fallback) + return; + (*pExaScr->info->DoneSolid) (pPixmap); - exaDrawableDirty (pDrawable); exaMarkSync(pDrawable->pScreen); } @@ -829,12 +908,36 @@ exaImageGlyphBlt (DrawablePtr pDrawable, int dstBpp; int dstXoff, dstYoff; FbBits depthMask; + PixmapPtr pPixmap = exaGetDrawablePixmap(pDrawable); + ExaMigrationRec pixmaps[1]; + int xBack, widthBack, yBack, heightBack; + + for (ppci = ppciInit, n = nglyph, widthBack = 0; n; n--) + widthBack += (*ppci++)->metrics.characterWidth; + + xBack = x; + if (widthBack < 0) + { + xBack += widthBack; + widthBack = -widthBack; + } + yBack = y - FONTASCENT(pGC->font); + heightBack = FONTASCENT(pGC->font) + FONTDESCENT(pGC->font); + + if (xBack >= pDrawable->width || yBack >= pDrawable->height || + (xBack + widthBack) <= 0 || (yBack + heightBack) <= 0) + return; + + pixmaps[0].as_dst = TRUE; + pixmaps[0].as_src = TRUE; + pixmaps[0].pPix = pPixmap; depthMask = FbFullMask(pDrawable->depth); if ((pGC->planemask & depthMask) != depthMask) { + exaDoMigration(pixmaps, 1, FALSE); ExaCheckImageGlyphBlt(pDrawable, pGC, x, y, nglyph, ppciInit, pglyphBase); - return; + goto damage; } glyph = NULL; switch (pDrawable->bitsPerPixel) { @@ -846,6 +949,8 @@ exaImageGlyphBlt (DrawablePtr pDrawable, x += pDrawable->x; y += pDrawable->y; + xBack += pDrawable->x; + yBack += pDrawable->y; if (TERMINALFONT (pGC->font) && !glyph) { @@ -853,23 +958,6 @@ exaImageGlyphBlt (DrawablePtr pDrawable, } else { - int xBack, widthBack; - int yBack, heightBack; - - ppci = ppciInit; - n = nglyph; - widthBack = 0; - while (n--) - widthBack += (*ppci++)->metrics.characterWidth; - - xBack = x; - if (widthBack < 0) - { - xBack += widthBack; - widthBack = -widthBack; - } - yBack = y - FONTASCENT(pGC->font); - heightBack = FONTASCENT(pGC->font) + FONTDESCENT(pGC->font); exaSolidBoxClipped (pDrawable, fbGetCompositeClip(pGC), pGC->planemask, @@ -882,57 +970,50 @@ exaImageGlyphBlt (DrawablePtr pDrawable, } EXA_FALLBACK(("to %p (%c)\n", pDrawable, exaDrawableLocation(pDrawable))); + exaDoMigration(pixmaps, 1, FALSE); exaPrepareAccess (pDrawable, EXA_PREPARE_DEST); exaPrepareAccessGC (pGC); fbGetDrawable (pDrawable, dst, dstStride, dstBpp, dstXoff, dstYoff); - ppci = ppciInit; - while (nglyph--) + for (ppci = ppciInit; nglyph; nglyph--, x += pci->metrics.characterWidth) { pci = *ppci++; - pglyph = FONTGLYPHBITS(pglyphBase, pci); gWidth = GLYPHWIDTHPIXELS(pci); gHeight = GLYPHHEIGHTPIXELS(pci); - if (gWidth && gHeight) + gx = x + pci->metrics.leftSideBearing; + gy = y - pci->metrics.ascent; + + if (!gWidth || !gHeight || (gx + gWidth) <= xBack || + (gy + gHeight) <= yBack || gx >= (xBack + widthBack) || + gy >= (yBack + heightBack)) + continue; + + pglyph = FONTGLYPHBITS(pglyphBase, pci); + + if (glyph && gWidth <= sizeof (FbStip) * 8 && + fbGlyphIn (fbGetCompositeClip(pGC), gx, gy, gWidth, gHeight)) { - gx = x + pci->metrics.leftSideBearing; - gy = y - pci->metrics.ascent; - if (glyph && gWidth <= sizeof (FbStip) * 8 && - fbGlyphIn (fbGetCompositeClip(pGC), gx, gy, gWidth, gHeight)) - { - (*glyph) (dst + (gy + dstYoff) * dstStride, - dstStride, - dstBpp, - (FbStip *) pglyph, - pPriv->fg, - gx + dstXoff, - gHeight); - } - else - { - gStride = GLYPHWIDTHBYTESPADDED(pci) / sizeof (FbStip); - fbPutXYImage (pDrawable, - fbGetCompositeClip(pGC), - pPriv->fg, - pPriv->bg, - pPriv->pm, - GXcopy, - opaque, - - gx, - gy, - gWidth, gHeight, - - (FbStip *) pglyph, - gStride, - 0); - } + (*glyph) (dst + (gy + dstYoff) * dstStride, dstStride, dstBpp, + (FbStip *) pglyph, pPriv->fg, gx + dstXoff, gHeight); + } + else + { + RegionPtr pClip = fbGetCompositeClip(pGC); + + gStride = GLYPHWIDTHBYTESPADDED(pci) / sizeof (FbStip); + fbPutXYImage (pDrawable, pClip, pPriv->fg, pPriv->bg, pPriv->pm, + GXcopy, opaque, gx, gy, gWidth, gHeight, + (FbStip *) pglyph, gStride, 0); } - x += pci->metrics.characterWidth; } exaFinishAccessGC (pGC); exaFinishAccess (pDrawable, EXA_PREPARE_DEST); + +damage: + exaGetDrawableDeltas(pDrawable, pPixmap, &dstXoff, &dstYoff); + exaPixmapDirty(pPixmap, xBack + dstXoff, yBack + dstYoff, + xBack + dstXoff + widthBack, yBack + dstYoff + heightBack); } const GCOps exaOps = { @@ -985,35 +1066,35 @@ exaCopyWindow(WindowPtr pWin, DDXPointRec ptOldOrg, RegionPtr prgnSrc) REGION_UNINIT(pWin->drawable.pScreen, &rgnDst); } -static void +static Bool exaFillRegionSolid (DrawablePtr pDrawable, RegionPtr pRegion, - Pixel pixel) + Pixel pixel, + CARD32 planemask, + CARD32 alu) { ExaScreenPriv(pDrawable->pScreen); PixmapPtr pPixmap; int xoff, yoff; ExaMigrationRec pixmaps[1]; + int nbox = REGION_NUM_RECTS (pRegion); + BoxPtr pBox = REGION_RECTS (pRegion); pixmaps[0].as_dst = TRUE; pixmaps[0].as_src = FALSE; - pixmaps[0].pPix = exaGetDrawablePixmap (pDrawable); + pixmaps[0].pPix = pPixmap = exaGetDrawablePixmap (pDrawable); - if (pDrawable->width > pExaScr->info->maxX || - pDrawable->height > pExaScr->info->maxY) + if (pPixmap->drawable.width > pExaScr->info->maxX || + pPixmap->drawable.height > pExaScr->info->maxY) { - exaDoMigration (pixmaps, 1, FALSE); goto fallback; } else { exaDoMigration (pixmaps, 1, TRUE); } if ((pPixmap = exaGetOffscreenPixmap (pDrawable, &xoff, &yoff)) && - (*pExaScr->info->PrepareSolid) (pPixmap, GXcopy, FB_ALLONES, pixel)) + (*pExaScr->info->PrepareSolid) (pPixmap, alu, planemask, pixel)) { - int nbox = REGION_NUM_RECTS (pRegion); - BoxPtr pBox = REGION_RECTS (pRegion); - while (nbox--) { (*pExaScr->info->Solid) (pPixmap, @@ -1023,33 +1104,42 @@ exaFillRegionSolid (DrawablePtr pDrawable, } (*pExaScr->info->DoneSolid) (pPixmap); exaMarkSync(pDrawable->pScreen); - exaDrawableDirty (pDrawable); } else { fallback: + if (alu != GXcopy || planemask != FB_ALLONES) + return FALSE; EXA_FALLBACK(("to %p (%c)\n", pDrawable, exaDrawableLocation(pDrawable))); + exaDoMigration (pixmaps, 1, FALSE); exaPrepareAccess (pDrawable, EXA_PREPARE_DEST); fbFillRegionSolid (pDrawable, pRegion, 0, fbReplicatePixel (pixel, pDrawable->bitsPerPixel)); exaFinishAccess (pDrawable, EXA_PREPARE_DEST); } + + return TRUE; } /* Try to do an accelerated tile of the pTile into pRegion of pDrawable. * Based on fbFillRegionTiled(), fbTile(). */ -static void +Bool exaFillRegionTiled (DrawablePtr pDrawable, RegionPtr pRegion, - PixmapPtr pTile) + PixmapPtr pTile, + DDXPointPtr pPatOrg, + CARD32 planemask, + CARD32 alu) { ExaScreenPriv(pDrawable->pScreen); PixmapPtr pPixmap; - int xoff, yoff; + int xoff, yoff, tileXoff, tileYoff; int tileWidth, tileHeight; ExaMigrationRec pixmaps[2]; + int nbox = REGION_NUM_RECTS (pRegion); + BoxPtr pBox = REGION_RECTS (pRegion); tileWidth = pTile->drawable.width; tileHeight = pTile->drawable.height; @@ -1057,49 +1147,47 @@ exaFillRegionTiled (DrawablePtr pDrawable, /* If we're filling with a solid color, grab it out and go to * FillRegionSolid, saving numerous copies. */ - if (tileWidth == 1 && tileHeight == 1) { - exaFillRegionSolid(pDrawable, pRegion, exaGetPixmapFirstPixel (pTile)); - return; - } + if (tileWidth == 1 && tileHeight == 1) + return exaFillRegionSolid(pDrawable, pRegion, + exaGetPixmapFirstPixel (pTile), planemask, + alu); pixmaps[0].as_dst = TRUE; pixmaps[0].as_src = FALSE; - pixmaps[0].pPix = exaGetDrawablePixmap (pDrawable); + pixmaps[0].pPix = pPixmap = exaGetDrawablePixmap (pDrawable); pixmaps[1].as_dst = FALSE; pixmaps[1].as_src = TRUE; pixmaps[1].pPix = pTile; - if (pDrawable->width > pExaScr->info->maxX || - pDrawable->height > pExaScr->info->maxY || + if (pPixmap->drawable.width > pExaScr->info->maxX || + pPixmap->drawable.height > pExaScr->info->maxY || tileWidth > pExaScr->info->maxX || tileHeight > pExaScr->info->maxY) { - exaDoMigration (pixmaps, 2, FALSE); goto fallback; } else { exaDoMigration (pixmaps, 2, TRUE); } pPixmap = exaGetOffscreenPixmap (pDrawable, &xoff, &yoff); + if (!pPixmap) goto fallback; if (!exaPixmapIsOffscreen(pTile)) goto fallback; - if ((*pExaScr->info->PrepareCopy) (pTile, pPixmap, 0, 0, GXcopy, - FB_ALLONES)) + if ((*pExaScr->info->PrepareCopy) (exaGetOffscreenPixmap((DrawablePtr)pTile, + &tileXoff, &tileYoff), + pPixmap, 0, 0, alu, planemask)) { - int nbox = REGION_NUM_RECTS (pRegion); - BoxPtr pBox = REGION_RECTS (pRegion); - while (nbox--) { int height = pBox->y2 - pBox->y1; int dstY = pBox->y1; int tileY; - tileY = (dstY - pDrawable->y) % tileHeight; + tileY = (dstY - pDrawable->y - pPatOrg->y) % tileHeight; while (height > 0) { int width = pBox->x2 - pBox->x1; int dstX = pBox->x1; @@ -1110,7 +1198,7 @@ exaFillRegionTiled (DrawablePtr pDrawable, h = height; height -= h; - tileX = (dstX - pDrawable->x) % tileWidth; + tileX = (dstX - pDrawable->x - pPatOrg->x) % tileWidth; while (width > 0) { int w = tileWidth - tileX; if (w > width) @@ -1118,7 +1206,7 @@ exaFillRegionTiled (DrawablePtr pDrawable, width -= w; (*pExaScr->info->Copy) (pPixmap, - tileX, tileY, + tileX + tileXoff, tileY + tileYoff, dstX + xoff, dstY + yoff, w, h); dstX += w; @@ -1131,28 +1219,40 @@ exaFillRegionTiled (DrawablePtr pDrawable, } (*pExaScr->info->DoneCopy) (pPixmap); exaMarkSync(pDrawable->pScreen); - exaDrawableDirty (pDrawable); - return; + return TRUE; } fallback: + if (alu != GXcopy || planemask != FB_ALLONES) + return FALSE; EXA_FALLBACK(("from %p to %p (%c,%c)\n", pTile, pDrawable, exaDrawableLocation(&pTile->drawable), exaDrawableLocation(pDrawable))); + exaDoMigration (pixmaps, 2, FALSE); exaPrepareAccess (pDrawable, EXA_PREPARE_DEST); exaPrepareAccess ((DrawablePtr)pTile, EXA_PREPARE_SRC); fbFillRegionTiled (pDrawable, pRegion, pTile); exaFinishAccess ((DrawablePtr)pTile, EXA_PREPARE_SRC); exaFinishAccess (pDrawable, EXA_PREPARE_DEST); + + return TRUE; } void exaPaintWindow(WindowPtr pWin, RegionPtr pRegion, int what) { ExaScreenPriv (pWin->drawable.pScreen); - if (!REGION_NUM_RECTS(pRegion)) + PixmapPtr pPixmap = exaGetDrawablePixmap((DrawablePtr)pWin); + int xoff, yoff; + BoxPtr pBox; + int nbox = REGION_NUM_RECTS(pRegion); + + if (!nbox) return; + if (!pExaScr->swappedOut) { + DDXPointRec zeros = { 0, 0 }; + switch (what) { case PW_BACKGROUND: switch (pWin->backgroundState) { @@ -1166,25 +1266,41 @@ exaPaintWindow(WindowPtr pWin, RegionPtr pRegion, int what) what); return; case BackgroundPixel: - exaFillRegionSolid((DrawablePtr)pWin, pRegion, pWin->background.pixel); - return; + exaFillRegionSolid((DrawablePtr)pWin, pRegion, pWin->background.pixel, + FB_ALLONES, GXcopy); + goto damage; case BackgroundPixmap: - exaFillRegionTiled((DrawablePtr)pWin, pRegion, pWin->background.pixmap); - return; + exaFillRegionTiled((DrawablePtr)pWin, pRegion, pWin->background.pixmap, + &zeros, FB_ALLONES, GXcopy); + goto damage; } break; case PW_BORDER: if (pWin->borderIsPixel) { - exaFillRegionSolid((DrawablePtr)pWin, pRegion, pWin->border.pixel); - return; + exaFillRegionSolid((DrawablePtr)pWin, pRegion, pWin->border.pixel, + FB_ALLONES, GXcopy); + goto damage; } else { - exaFillRegionTiled((DrawablePtr)pWin, pRegion, pWin->border.pixmap); - return; + exaFillRegionTiled((DrawablePtr)pWin, pRegion, pWin->border.pixmap, + &zeros, FB_ALLONES, GXcopy); + goto damage; } break; } } ExaCheckPaintWindow (pWin, pRegion, what); + +damage: + exaGetDrawableDeltas((DrawablePtr)pWin, pPixmap, &xoff, &yoff); + + pBox = REGION_RECTS(pRegion); + + while (nbox--) + { + exaPixmapDirty (pPixmap, pBox->x1 + xoff, pBox->y1 + yoff, + pBox->x2 + xoff, pBox->y2 + yoff); + pBox++; + } } /** @@ -1204,27 +1320,22 @@ exaGetImage (DrawablePtr pDrawable, int x, int y, int w, int h, int xoff, yoff; Bool ok; - if (pExaScr->swappedOut || pExaScr->info->DownloadFromScreen == NULL) + if (pExaScr->swappedOut || (w == 1 && h == 1)) goto fallback; + if (pExaScr->info->DownloadFromScreen == NULL) + goto migrate_and_fallback; + /* Only cover the ZPixmap, solid copy case. */ if (format != ZPixmap || !EXA_PM_IS_SOLID(pDrawable, planeMask)) - goto fallback; + goto migrate_and_fallback; /* Only try to handle the 8bpp and up cases, since we don't want to think * about <8bpp. */ if (pDrawable->bitsPerPixel < 8) - goto fallback; + goto migrate_and_fallback; - /* Migrate, but assume that we could accelerate the download. It is up to - * the migration scheme to ensure that this case doesn't result in bad - * moving of pixmaps. - */ - pixmaps[0].as_dst = FALSE; - pixmaps[0].as_src = TRUE; - pixmaps[0].pPix = exaGetDrawablePixmap (pDrawable); - exaDoMigration (pixmaps, 1, TRUE); pPix = exaGetOffscreenPixmap (pDrawable, &xoff, &yoff); if (pPix == NULL) goto fallback; @@ -1239,12 +1350,12 @@ exaGetImage (DrawablePtr pDrawable, int x, int y, int w, int h, return; } -fallback: +migrate_and_fallback: pixmaps[0].as_dst = FALSE; pixmaps[0].as_src = TRUE; pixmaps[0].pPix = exaGetDrawablePixmap (pDrawable); exaDoMigration (pixmaps, 1, FALSE); - +fallback: ExaCheckGetImage (pDrawable, x, y, w, h, format, planeMask, d); } diff --git a/xserver/exa/exa_migration.c b/xserver/exa/exa_migration.c index 06a4b9330..70d8e1235 100644 --- a/xserver/exa/exa_migration.c +++ b/xserver/exa/exa_migration.c @@ -22,6 +22,7 @@ * * Authors: * Eric Anholt + * Michel Dänzer * */ @@ -57,6 +58,27 @@ exaPixmapIsPinned (PixmapPtr pPix) return pExaPixmap == NULL || pExaPixmap->score == EXA_PIXMAP_SCORE_PINNED; } +/** + * The fallback path for UTS/DFS failing is to just memcpy. exaCopyDirtyToSys + * and exaCopyDirtyToFb both needed to do this loop. + */ +static void +exaMemcpyBox (PixmapPtr pPixmap, BoxPtr pbox, CARD8 *src, int src_pitch, + CARD8 *dst, int dst_pitch) + { + int i, cpp = pPixmap->drawable.bitsPerPixel / 8; + int bytes = (pbox->x2 - pbox->x1) * cpp; + + src += pbox->y1 * src_pitch + pbox->x1 * cpp; + dst += pbox->y1 * dst_pitch + pbox->x1 * cpp; + + for (i = pbox->y2 - pbox->y1; i; i--) { + memcpy (dst, src, bytes); + src += src_pitch; + dst += dst_pitch; + } +} + /** * Returns TRUE if the pixmap is dirty (has been modified in its current * location compared to the other), or lacks a private for tracking @@ -67,7 +89,8 @@ exaPixmapIsDirty (PixmapPtr pPix) { ExaPixmapPriv (pPix); - return pExaPixmap == NULL || pExaPixmap->dirty == TRUE; + return pExaPixmap == NULL || + REGION_NOTEMPTY (pScreen, DamageRegion(pExaPixmap->pDamage)); } /** @@ -98,54 +121,62 @@ exaCopyDirtyToSys (PixmapPtr pPixmap) { ExaScreenPriv (pPixmap->drawable.pScreen); ExaPixmapPriv (pPixmap); + RegionPtr pRegion = DamageRegion (pExaPixmap->pDamage); CARD8 *save_ptr; int save_pitch; - - if (!pExaPixmap->dirty) - return; + BoxPtr pBox = REGION_RECTS(pRegion); + int nbox = REGION_NUM_RECTS(pRegion); + Bool do_sync = FALSE; save_ptr = pPixmap->devPrivate.ptr; save_pitch = pPixmap->devKind; pPixmap->devPrivate.ptr = pExaPixmap->fb_ptr; pPixmap->devKind = pExaPixmap->fb_pitch; - if (pExaScr->info->DownloadFromScreen == NULL || - !pExaScr->info->DownloadFromScreen (pPixmap, - 0, - 0, - pPixmap->drawable.width, - pPixmap->drawable.height, - pExaPixmap->sys_ptr, - pExaPixmap->sys_pitch)) - { - char *src, *dst; - int src_pitch, dst_pitch, i, bytes; + while (nbox--) { + pBox->x1 = max(pBox->x1, 0); + pBox->y1 = max(pBox->y1, 0); + pBox->x2 = min(pBox->x2, pPixmap->drawable.width); + pBox->y2 = min(pBox->y2, pPixmap->drawable.height); - exaPrepareAccess(&pPixmap->drawable, EXA_PREPARE_SRC); + if (pBox->x1 >= pBox->x2 || pBox->y1 >= pBox->y2) + continue; - dst = pExaPixmap->sys_ptr; - dst_pitch = pExaPixmap->sys_pitch; - src = pExaPixmap->fb_ptr; - src_pitch = pExaPixmap->fb_pitch; - bytes = src_pitch < dst_pitch ? src_pitch : dst_pitch; - - for (i = 0; i < pPixmap->drawable.height; i++) { - memcpy (dst, src, bytes); - dst += dst_pitch; - src += src_pitch; + if (pExaScr->info->DownloadFromScreen == NULL || + !pExaScr->info->DownloadFromScreen (pPixmap, + pBox->x1, pBox->y1, + pBox->x2 - pBox->x1, + pBox->y2 - pBox->y1, + pExaPixmap->sys_ptr + + pBox->y1 * pExaPixmap->sys_pitch + + pBox->x1 * pPixmap->drawable.bitsPerPixel / 8, + pExaPixmap->sys_pitch)) + { + exaPrepareAccess(&pPixmap->drawable, EXA_PREPARE_SRC); + exaMemcpyBox (pPixmap, pBox, + pExaPixmap->fb_ptr, pExaPixmap->fb_pitch, + pExaPixmap->sys_ptr, pExaPixmap->sys_pitch); + exaFinishAccess(&pPixmap->drawable, EXA_PREPARE_SRC); } - exaFinishAccess(&pPixmap->drawable, EXA_PREPARE_SRC); + else + do_sync = TRUE; + + pBox++; } /* Make sure the bits have actually landed, since we don't necessarily sync * when accessing pixmaps in system memory. */ - exaWaitSync (pPixmap->drawable.pScreen); + if (do_sync) + exaWaitSync (pPixmap->drawable.pScreen); pPixmap->devPrivate.ptr = save_ptr; pPixmap->devKind = save_pitch; - pExaPixmap->dirty = FALSE; + /* The previously damaged bits are now no longer damaged but valid */ + REGION_UNION(pPixmap->drawable.pScreen, + &pExaPixmap->validReg, &pExaPixmap->validReg, pRegion); + DamageEmpty (pExaPixmap->pDamage); } /** @@ -158,49 +189,59 @@ exaCopyDirtyToFb (PixmapPtr pPixmap) { ExaScreenPriv (pPixmap->drawable.pScreen); ExaPixmapPriv (pPixmap); + RegionPtr pRegion = DamageRegion (pExaPixmap->pDamage); CARD8 *save_ptr; int save_pitch; - - if (!pExaPixmap->dirty) - return; + BoxPtr pBox = REGION_RECTS(pRegion); + int nbox = REGION_NUM_RECTS(pRegion); + Bool do_sync = FALSE; save_ptr = pPixmap->devPrivate.ptr; save_pitch = pPixmap->devKind; pPixmap->devPrivate.ptr = pExaPixmap->fb_ptr; pPixmap->devKind = pExaPixmap->fb_pitch; - if (pExaScr->info->UploadToScreen == NULL || - !pExaScr->info->UploadToScreen (pPixmap, - 0, - 0, - pPixmap->drawable.width, - pPixmap->drawable.height, - pExaPixmap->sys_ptr, - pExaPixmap->sys_pitch)) - { - char *src, *dst; - int src_pitch, dst_pitch, i, bytes; + while (nbox--) { + pBox->x1 = max(pBox->x1, 0); + pBox->y1 = max(pBox->y1, 0); + pBox->x2 = min(pBox->x2, pPixmap->drawable.width); + pBox->y2 = min(pBox->y2, pPixmap->drawable.height); - exaPrepareAccess(&pPixmap->drawable, EXA_PREPARE_DEST); + if (pBox->x1 >= pBox->x2 || pBox->y1 >= pBox->y2) + continue; - dst = pExaPixmap->fb_ptr; - dst_pitch = pExaPixmap->fb_pitch; - src = pExaPixmap->sys_ptr; - src_pitch = pExaPixmap->sys_pitch; - bytes = src_pitch < dst_pitch ? src_pitch : dst_pitch; - - for (i = 0; i < pPixmap->drawable.height; i++) { - memcpy (dst, src, bytes); - dst += dst_pitch; - src += src_pitch; + if (pExaScr->info->UploadToScreen == NULL || + !pExaScr->info->UploadToScreen (pPixmap, + pBox->x1, pBox->y1, + pBox->x2 - pBox->x1, + pBox->y2 - pBox->y1, + pExaPixmap->sys_ptr + + pBox->y1 * pExaPixmap->sys_pitch + + pBox->x1 * pPixmap->drawable.bitsPerPixel / 8, + pExaPixmap->sys_pitch)) + { + exaPrepareAccess(&pPixmap->drawable, EXA_PREPARE_DEST); + exaMemcpyBox (pPixmap, pBox, + pExaPixmap->sys_ptr, pExaPixmap->sys_pitch, + pExaPixmap->fb_ptr, pExaPixmap->fb_pitch); + exaFinishAccess(&pPixmap->drawable, EXA_PREPARE_DEST); } - exaFinishAccess(&pPixmap->drawable, EXA_PREPARE_DEST); + else + do_sync = TRUE; + + pBox++; } + if (do_sync) + exaMarkSync (pPixmap->drawable.pScreen); + pPixmap->devPrivate.ptr = save_ptr; pPixmap->devKind = save_pitch; - pExaPixmap->dirty = FALSE; + /* The previously damaged bits are now no longer damaged but valid */ + REGION_UNION(pPixmap->drawable.pScreen, + &pExaPixmap->validReg, &pExaPixmap->validReg, pRegion); + DamageEmpty (pExaPixmap->pDamage); } /** @@ -208,11 +249,12 @@ exaCopyDirtyToFb (PixmapPtr pPixmap) * Called when the memory manager decides it's time to kick the pixmap out of * framebuffer entirely. */ -static void +void exaPixmapSave (ScreenPtr pScreen, ExaOffscreenArea *area) { PixmapPtr pPixmap = area->privData; ExaPixmapPriv(pPixmap); + RegionPtr pDamageReg = DamageRegion(pExaPixmap->pDamage); DBG_MIGRATE (("Save %p (%p) (%dx%d) (%c)\n", pPixmap, (void*)(ExaGetPixmapPriv(pPixmap)->area ? @@ -231,10 +273,9 @@ exaPixmapSave (ScreenPtr pScreen, ExaOffscreenArea *area) pExaPixmap->fb_ptr = NULL; pExaPixmap->area = NULL; - /* Mark it dirty now, to say that there is important data in the - * system-memory copy. - */ - pExaPixmap->dirty = TRUE; + /* Mark all valid bits as damaged, so they'll get copied to FB next time */ + REGION_UNION(pPixmap->drawable.pScreen, pDamageReg, pDamageReg, + &pExaPixmap->validReg); } /** @@ -413,32 +454,52 @@ exaMigrateTowardSys (PixmapPtr pPixmap) * If the pixmap has both a framebuffer and system memory copy, this function * asserts that both of them are the same. */ -static void +static Bool exaAssertNotDirty (PixmapPtr pPixmap) { ExaPixmapPriv (pPixmap); CARD8 *dst, *src; - int dst_pitch, src_pitch, data_row_bytes, y; + RegionPtr pValidReg = &pExaPixmap->validReg; + int dst_pitch, src_pitch, cpp, y, nbox = REGION_NUM_RECTS(pValidReg); + BoxPtr pBox = REGION_RECTS(pValidReg); + Bool ret = TRUE; - if (pExaPixmap == NULL || pExaPixmap->fb_ptr == NULL) - return; + if (!nbox || exaPixmapIsPinned(pPixmap) || pExaPixmap->fb_ptr == NULL) + return ret; - dst = pExaPixmap->sys_ptr; dst_pitch = pExaPixmap->sys_pitch; - src = pExaPixmap->fb_ptr; src_pitch = pExaPixmap->fb_pitch; - data_row_bytes = pPixmap->drawable.width * - pPixmap->drawable.bitsPerPixel / 8; + cpp = pPixmap->drawable.bitsPerPixel / 8; exaPrepareAccess(&pPixmap->drawable, EXA_PREPARE_SRC); - for (y = 0; y < pPixmap->drawable.height; y++) { - if (memcmp(dst, src, data_row_bytes) != 0) { - abort(); - } - dst += dst_pitch; - src += src_pitch; + while (nbox--) { + int rowbytes; + + pBox->x1 = max(pBox->x1, 0); + pBox->y1 = max(pBox->y1, 0); + pBox->x2 = min(pBox->x2, pPixmap->drawable.width); + pBox->y2 = min(pBox->y2, pPixmap->drawable.height); + + if (pBox->x1 >= pBox->x2 || pBox->y1 >= pBox->y2) + continue; + + rowbytes = (pBox->x2 - pBox->x1) * cpp; + src = pExaPixmap->fb_ptr + pBox->y1 * src_pitch + pBox->x1 * cpp; + dst = pExaPixmap->sys_ptr + pBox->y1 * dst_pitch + pBox->x1 * cpp; + + for (y = pBox->y1; y < pBox->y2; + y++, src += src_pitch, dst += dst_pitch) { + if (memcmp(dst, src, rowbytes) != 0) { + ret = FALSE; + exaPixmapDirty(pPixmap, pBox->x1, pBox->y1, pBox->x2, + pBox->y2); + break; + } + } } exaFinishAccess(&pPixmap->drawable, EXA_PREPARE_SRC); + + return ret; } /** @@ -462,8 +523,9 @@ exaDoMigration (ExaMigrationPtr pixmaps, int npixmaps, Bool can_accel) */ if (pExaScr->checkDirtyCorrectness) { for (i = 0; i < npixmaps; i++) { - if (!exaPixmapIsDirty (pixmaps[i].pPix)) - exaAssertNotDirty (pixmaps[i].pPix); + if (!exaPixmapIsDirty (pixmaps[i].pPix) && + !exaAssertNotDirty (pixmaps[i].pPix)) + ErrorF("%s: Pixmap %d dirty but not marked as such!\n", __func__, i); } } /* If anything is pinned in system memory, we won't be able to diff --git a/xserver/exa/exa_offscreen.c b/xserver/exa/exa_offscreen.c index 9e0aa5d25..c666b001b 100644 --- a/xserver/exa/exa_offscreen.c +++ b/xserver/exa/exa_offscreen.c @@ -54,7 +54,7 @@ ExaOffscreenValidate (ScreenPtr pScreen) assert (area->offset >= area->base_offset && area->offset < (area->base_offset + area->size)); if (prev) - assert (prev->base_offset + prev->area.size == area->base_offset); + assert (prev->base_offset + prev->size == area->base_offset); prev = area; } assert (prev->base_offset + prev->size == pExaScr->info->memorySize); @@ -81,15 +81,14 @@ ExaOffscreenKickOut (ScreenPtr pScreen, ExaOffscreenArea *area) * @param save callback for when the area is evicted from memory * @param privdata private data for the save callback. * - * Allocates offscreen memory from the device associated with pScreen. size and - * align deteremine where and how large the allocated area is, and locked will - * mark whether it should be held in card memory. privdata may be any pointer - * for the save callback when the area is removed. + * Allocates offscreen memory from the device associated with pScreen. size + * and align deteremine where and how large the allocated area is, and locked + * will mark whether it should be held in card memory. privdata may be any + * pointer for the save callback when the area is removed. * - * Note that locked areas do get evicted on VT switch, because during that time - * all offscreen memory becomes inaccessible. This may change in the future, - * but drivers should be aware of this and provide a callback to mark that their - * locked allocation was evicted, and then restore it if necessary on EnterVT. + * Note that locked areas do get evicted on VT switch unless the driver + * requested version 2.1 or newer behavior. In that case, the save callback is + * still called. */ ExaOffscreenArea * exaOffscreenAlloc (ScreenPtr pScreen, int size, int align, @@ -256,6 +255,9 @@ exaOffscreenAlloc (ScreenPtr pScreen, int size, int align, return area; } +/** + * Ejects all offscreen areas, and uninitializes the offscreen memory manager. + */ void ExaOffscreenSwapOut (ScreenPtr pScreen) { @@ -283,23 +285,73 @@ ExaOffscreenSwapOut (ScreenPtr pScreen) ExaOffscreenFini (pScreen); } +/** Ejects all pixmaps managed by EXA. */ +static void +ExaOffscreenEjectPixmaps (ScreenPtr pScreen) +{ + ExaScreenPriv (pScreen); + + ExaOffscreenValidate (pScreen); + /* loop until a single free area spans the space */ + for (;;) + { + ExaOffscreenArea *area; + + for (area = pExaScr->info->offScreenAreas; area != NULL; + area = area->next) + { + if (area->state == ExaOffscreenRemovable && + area->save == exaPixmapSave) + { + (void) ExaOffscreenKickOut (pScreen, area); + ExaOffscreenValidate (pScreen); + break; + } + } + if (area == NULL) + break; + } + ExaOffscreenValidate (pScreen); +} + void ExaOffscreenSwapIn (ScreenPtr pScreen) { exaOffscreenInit (pScreen); } +/** + * Prepares EXA for disabling of FB access, or restoring it. + * + * In version 2.1, the disabling results in pixmaps being ejected, while other + * allocations remain. With this plus the prevention of migration while + * swappedOut is set, EXA by itself should not cause any access of the + * framebuffer to occur while swapped out. Any remaining issues are the + * responsibility of the driver. + * + * Prior to version 2.1, all allocations, including locked ones, are ejected + * when access is disabled, and the allocator is torn down while swappedOut + * is set. This is more drastic, and caused implementation difficulties for + * many drivers that could otherwise handle the lack of FB access while + * swapped out. + */ void exaEnableDisableFBAccess (int index, Bool enable) { ScreenPtr pScreen = screenInfo.screens[index]; ExaScreenPriv (pScreen); - if (!enable) { - ExaOffscreenSwapOut (pScreen); + if (!enable && pExaScr->disableFbCount++ == 0) { + if (pExaScr->info->exa_minor < 1) + ExaOffscreenSwapOut (pScreen); + else + ExaOffscreenEjectPixmaps (pScreen); pExaScr->swappedOut = TRUE; - } else { - ExaOffscreenSwapIn (pScreen); + } + + if (enable && --pExaScr->disableFbCount == 0) { + if (pExaScr->info->exa_minor < 1) + ExaOffscreenSwapIn (pScreen); pExaScr->swappedOut = FALSE; } } @@ -377,7 +429,7 @@ ExaOffscreenMarkUsed (PixmapPtr pPixmap) ExaScreenPriv (pPixmap->drawable.pScreen); static int iter = 0; - if (!pExaPixmap->area) + if (!pExaPixmap || !pExaPixmap->area) return; /* The numbers here are arbitrary. We may want to tune these. */ @@ -390,6 +442,7 @@ ExaOffscreenMarkUsed (PixmapPtr pPixmap) if (area->state == ExaOffscreenRemovable) area->score = (area->score * 7) / 8; } + iter = 0; } } diff --git a/xserver/exa/exa_priv.h b/xserver/exa/exa_priv.h index 03ee0eddb..bab8aa23b 100644 --- a/xserver/exa/exa_priv.h +++ b/xserver/exa/exa_priv.h @@ -51,6 +51,7 @@ #ifdef RENDER #include "fbpict.h" #endif +#include "damage.h" #define DEBUG_TRACE_FALL 0 #define DEBUG_MIGRATE 0 @@ -107,11 +108,13 @@ typedef struct { RasterizeTrapezoidProcPtr SavedRasterizeTrapezoid; AddTrianglesProcPtr SavedAddTriangles; GlyphsProcPtr SavedGlyphs; + TrapezoidsProcPtr SavedTrapezoids; #endif Bool swappedOut; enum ExaMigrationHeuristic migration; Bool hideOffscreenPixmapData; Bool checkDirtyCorrectness; + unsigned disableFbCount; } ExaScreenPrivRec, *ExaScreenPrivPtr; /* @@ -160,16 +163,16 @@ typedef struct { unsigned int fb_size; /**< size of pixmap in framebuffer memory */ /** - * If area is NULL, then dirty == TRUE means that the pixmap has been - * modified, so the contents are defined. Used to avoid uploads of - * undefined data. - * - * If area is non-NULL, then dirty == TRUE means that the pixmap data at - * pPixmap->devPrivate.ptr (either fb_ptr or sys_ptr) has been changed - * compared to the copy in the other location. This is used to avoid - * uploads/downloads of unmodified data. + * The damage record contains the areas of the pixmap's current location + * (framebuffer or system) that have been damaged compared to the other + * location. */ - Bool dirty; + DamagePtr pDamage; + /** + * The valid region marks the valid bits of a drawable (at least, as it's + * derived from damage, which may be overreported). + */ + RegionRec validReg; } ExaPixmapPrivRec, *ExaPixmapPrivPtr; typedef struct _ExaMigrationRec { @@ -286,6 +289,10 @@ exaGetPixmapFirstPixel (PixmapPtr pPixmap); void exaCopyWindow(WindowPtr pWin, DDXPointRec ptOldOrg, RegionPtr prgnSrc); +Bool +exaFillRegionTiled (DrawablePtr pDrawable, RegionPtr pRegion, PixmapPtr pTile, + DDXPointPtr pPatOrg, CARD32 planemask, CARD32 alu); + void exaPaintWindow(WindowPtr pWin, RegionPtr pRegion, int what); @@ -315,10 +322,7 @@ ExaCheckComposite (CARD8 op, CARD16 height); #endif -/* exaoffscreen.c */ -void -ExaOffscreenMarkUsed (PixmapPtr pPixmap); - +/* exa_offscreen.c */ void ExaOffscreenSwapOut (ScreenPtr pScreen); @@ -339,7 +343,11 @@ void exaFinishAccess(DrawablePtr pDrawable, int index); void -exaDrawableDirty(DrawablePtr pDrawable); +exaPixmapDirty(PixmapPtr pPix, int x1, int y1, int x2, int y2); + +void +exaGetDrawableDeltas (DrawablePtr pDrawable, PixmapPtr pPixmap, + int *xp, int *yp); Bool exaDrawableIsOffscreen (DrawablePtr pDrawable); @@ -385,6 +393,11 @@ exaComposite(CARD8 op, CARD16 width, CARD16 height); +void +exaTrapezoids (CARD8 op, PicturePtr pSrc, PicturePtr pDst, + PictFormatPtr maskFormat, INT16 xSrc, INT16 ySrc, + int ntrap, xTrapezoid *traps); + void exaRasterizeTrapezoid (PicturePtr pPicture, xTrapezoid *trap, int x_off, int y_off); @@ -409,9 +422,6 @@ void exaDoMigration (ExaMigrationPtr pixmaps, int npixmaps, Bool can_accel); void -exaMoveInPixmap (PixmapPtr pPixmap); - -void -exaMoveOutPixmap (PixmapPtr pPixmap); +exaPixmapSave (ScreenPtr pScreen, ExaOffscreenArea *area); #endif /* EXAPRIV_H */ diff --git a/xserver/exa/exa_render.c b/xserver/exa/exa_render.c index 9affb9f11..2dd3fc1ce 100644 --- a/xserver/exa/exa_render.c +++ b/xserver/exa/exa_render.c @@ -297,6 +297,7 @@ exaTryDriverSolidFill(PicturePtr pSrc, nbox = REGION_NUM_RECTS(®ion); pbox = REGION_RECTS(®ion); + while (nbox--) { (*pExaScr->info->Solid) (pDstPix, @@ -307,7 +308,6 @@ exaTryDriverSolidFill(PicturePtr pSrc, (*pExaScr->info->DoneSolid) (pDstPix); exaMarkSync(pDst->pDrawable->pScreen); - exaDrawableDirty (pDst->pDrawable); REGION_UNINIT(pDst->pDrawable->pScreen, ®ion); return 1; @@ -336,16 +336,21 @@ exaTryDriverComposite(CARD8 op, struct _Pixmap scratch; ExaMigrationRec pixmaps[3]; + pSrcPix = exaGetDrawablePixmap(pSrc->pDrawable); + pDstPix = exaGetDrawablePixmap(pDst->pDrawable); + if (pMask) + pMaskPix = exaGetDrawablePixmap(pMask->pDrawable); + /* Bail if we might exceed coord limits by rendering from/to these. We * should really be making some scratch pixmaps with offsets and coords * adjusted to deal with this, but it hasn't been done yet. */ - if (pSrc->pDrawable->width > pExaScr->info->maxX || - pSrc->pDrawable->height > pExaScr->info->maxY || - pDst->pDrawable->width > pExaScr->info->maxX || - pDst->pDrawable->height > pExaScr->info->maxY || - (pMask && (pMask->pDrawable->width > pExaScr->info->maxX || - pMask->pDrawable->height > pExaScr->info->maxY))) + if (pSrcPix->drawable.width > pExaScr->info->maxX || + pSrcPix->drawable.height > pExaScr->info->maxY || + pDstPix->drawable.width > pExaScr->info->maxX || + pDstPix->drawable.height > pExaScr->info->maxY || + (pMask && (pMaskPix->drawable.width > pExaScr->info->maxX || + pMaskPix->drawable.height > pExaScr->info->maxY))) { return -1; } @@ -443,10 +448,8 @@ exaTryDriverComposite(CARD8 op, pbox->y2 - pbox->y1); pbox++; } - (*pExaScr->info->DoneComposite) (pDstPix); exaMarkSync(pDst->pDrawable->pScreen); - exaDrawableDirty (pDst->pDrawable); REGION_UNINIT(pDst->pDrawable->pScreen, ®ion); return 1; @@ -516,6 +519,9 @@ exaTryMagicTwoPassCompositeHelper(CARD8 op, CARD16 height) { ExaScreenPriv (pDst->pDrawable->pScreen); + DrawablePtr pDstDraw = pDst->pDrawable; + PixmapPtr pDstPixmap = exaGetDrawablePixmap(pDstDraw); + int xoff, yoff; assert(op == PictOpOver); @@ -534,6 +540,12 @@ exaTryMagicTwoPassCompositeHelper(CARD8 op, exaComposite(PictOpOutReverse, pSrc, pMask, pDst, xSrc, ySrc, xMask, yMask, xDst, yDst, width, height); + exaGetDrawableDeltas(pDstDraw, pDstPixmap, &xoff, &yoff); + xoff += pDstDraw->x; + yoff += pDstDraw->y; + exaPixmapDirty(pDstPixmap, xDst + xoff, yDst + yoff, xDst + xoff + width, + yDst + yoff + height); + /* Then, add in the source value times the destination alpha factors (1.0). */ exaComposite(PictOpAdd, pSrc, pMask, pDst, xSrc, ySrc, xMask, yMask, @@ -560,6 +572,28 @@ exaComposite(CARD8 op, int ret = -1; Bool saveSrcRepeat = pSrc->repeat; Bool saveMaskRepeat = pMask ? pMask->repeat : 0; + ExaMigrationRec pixmaps[3]; + int npixmaps = 1; + PixmapPtr pSrcPixmap = NULL; + + pixmaps[0].as_dst = TRUE; + pixmaps[0].as_src = exaOpReadsDestination(op); + pixmaps[0].pPix = exaGetDrawablePixmap (pDst->pDrawable); + + if (pSrc->pDrawable) { + pSrcPixmap = exaGetDrawablePixmap (pSrc->pDrawable); + pixmaps[npixmaps].as_dst = FALSE; + pixmaps[npixmaps].as_src = TRUE; + pixmaps[npixmaps].pPix = pSrcPixmap; + npixmaps++; + } + + if (pMask && pMask->pDrawable) { + pixmaps[npixmaps].as_dst = FALSE; + pixmaps[npixmaps].as_src = TRUE; + pixmaps[npixmaps].pPix = exaGetDrawablePixmap (pMask->pDrawable); + npixmaps++; + } /* We currently don't support acceleration of gradients, or other pictures * with a NULL pDrawable. @@ -567,9 +601,7 @@ exaComposite(CARD8 op, if (pExaScr->swappedOut || pSrc->pDrawable == NULL || (pMask != NULL && pMask->pDrawable == NULL)) { - ExaCheckComposite (op, pSrc, pMask, pDst, xSrc, ySrc, - xMask, yMask, xDst, yDst, width, height); - return; + goto fallback; } /* Remove repeat in source if useless */ @@ -580,19 +612,24 @@ exaComposite(CARD8 op, if (!pMask) { - if (op == PictOpSrc) + if ((op == PictOpSrc && + ((pSrc->format == pDst->format) || + (pSrc->format==PICT_a8r8g8b8 && pDst->format==PICT_x8r8g8b8) || + (pSrc->format==PICT_a8b8g8r8 && pDst->format==PICT_x8b8g8r8))) || + (op == PictOpOver && !pSrc->alphaMap && !pDst->alphaMap && + pSrc->format == pDst->format && + (pSrc->format==PICT_x8r8g8b8 || pSrc->format==PICT_x8b8g8r8))) { if (pSrc->pDrawable->width == 1 && - pSrc->pDrawable->height == 1 && pSrc->repeat && - pSrc->repeatType == RepeatNormal) + pSrc->pDrawable->height == 1 && + pSrc->repeat) { ret = exaTryDriverSolidFill(pSrc, pDst, xSrc, ySrc, xDst, yDst, width, height); if (ret == 1) goto done; } - else if (!pSrc->repeat && !pSrc->transform && - pSrc->format == pDst->format) + else if (pSrcPixmap && !pSrc->repeat && !pSrc->transform) { RegionRec region; @@ -614,6 +651,45 @@ exaComposite(CARD8 op, REGION_UNINIT(pDst->pDrawable->pScreen, ®ion); goto done; } + else if (pSrcPixmap && !pSrc->transform && + pSrc->repeatType == RepeatNormal) + { + RegionRec region; + DDXPointRec srcOrg; + + /* Let's see if the driver can do the repeat in one go */ + if (pExaScr->info->PrepareComposite && !pSrc->alphaMap && + !pDst->alphaMap) + { + ret = exaTryDriverComposite(op, pSrc, pMask, pDst, xSrc, + ySrc, xMask, yMask, xDst, yDst, + width, height); + if (ret == 1) + goto done; + } + + /* Now see if we can use exaFillRegionTiled() */ + xDst += pDst->pDrawable->x; + yDst += pDst->pDrawable->y; + xSrc += pSrc->pDrawable->x; + ySrc += pSrc->pDrawable->y; + + if (!miComputeCompositeRegion (®ion, pSrc, pMask, pDst, xSrc, + ySrc, xMask, yMask, xDst, yDst, + width, height)) + goto done; + + srcOrg.x = (xSrc - xDst) % pSrcPixmap->drawable.width; + srcOrg.y = (ySrc - yDst) % pSrcPixmap->drawable.height; + + ret = exaFillRegionTiled(pDst->pDrawable, ®ion, pSrcPixmap, + &srcOrg, FB_ALLONES, GXcopy); + + REGION_UNINIT(pDst->pDrawable->pScreen, ®ion); + + if (ret) + goto done; + } } } @@ -624,8 +700,8 @@ exaComposite(CARD8 op, pMask->repeat = 0; if (pExaScr->info->PrepareComposite && - (!pSrc->repeat || pSrc->repeat == RepeatNormal) && - (!pMask || !pMask->repeat || pMask->repeat == RepeatNormal) && + (!pSrc->repeat || pSrc->repeatType == RepeatNormal) && + (!pMask || !pMask->repeat || pMask->repeatType == RepeatNormal) && !pSrc->alphaMap && (!pMask || !pMask->alphaMap) && !pDst->alphaMap) { Bool isSrcSolid; @@ -657,31 +733,12 @@ exaComposite(CARD8 op, } } - if (ret != 0) { - ExaMigrationRec pixmaps[3]; - /* failure to accelerate was not due to pixmaps being in the wrong - * locations. - */ - pixmaps[0].as_dst = TRUE; - pixmaps[0].as_src = exaOpReadsDestination(op); - pixmaps[0].pPix = exaGetDrawablePixmap (pDst->pDrawable); - pixmaps[1].as_dst = FALSE; - pixmaps[1].as_src = TRUE; - pixmaps[1].pPix = exaGetDrawablePixmap (pSrc->pDrawable); - if (pMask) { - pixmaps[2].as_dst = FALSE; - pixmaps[2].as_src = TRUE; - pixmaps[2].pPix = exaGetDrawablePixmap (pMask->pDrawable); - exaDoMigration(pixmaps, 3, FALSE); - } else { - exaDoMigration(pixmaps, 2, FALSE); - } - } - +fallback: #if DEBUG_TRACE_FALL exaPrintCompositeFallback (op, pSrc, pMask, pDst); #endif + exaDoMigration(pixmaps, npixmaps, FALSE); ExaCheckComposite (op, pSrc, pMask, pDst, xSrc, ySrc, xMask, yMask, xDst, yDst, width, height); @@ -692,6 +749,132 @@ done: } #endif +/** + * Same as miCreateAlphaPicture, except it uses ExaCheckPolyFillRect instead + * of PolyFillRect to initialize the pixmap after creating it, to prevent + * the pixmap from being migrated. + * + * See the comments about exaTrapezoids. + */ +static PicturePtr +exaCreateAlphaPicture (ScreenPtr pScreen, + PicturePtr pDst, + PictFormatPtr pPictFormat, + CARD16 width, + CARD16 height) +{ + PixmapPtr pPixmap; + PicturePtr pPicture; + GCPtr pGC; + int error; + xRectangle rect; + + if (width > 32767 || height > 32767) + return 0; + + if (!pPictFormat) + { + if (pDst->polyEdge == PolyEdgeSharp) + pPictFormat = PictureMatchFormat (pScreen, 1, PICT_a1); + else + pPictFormat = PictureMatchFormat (pScreen, 8, PICT_a8); + if (!pPictFormat) + return 0; + } + + pPixmap = (*pScreen->CreatePixmap) (pScreen, width, height, + pPictFormat->depth); + if (!pPixmap) + return 0; + pGC = GetScratchGC (pPixmap->drawable.depth, pScreen); + if (!pGC) + { + (*pScreen->DestroyPixmap) (pPixmap); + return 0; + } + ValidateGC (&pPixmap->drawable, pGC); + rect.x = 0; + rect.y = 0; + rect.width = width; + rect.height = height; + ExaCheckPolyFillRect (&pPixmap->drawable, pGC, 1, &rect); + exaPixmapDirty (pPixmap, 0, 0, width, height); + FreeScratchGC (pGC); + pPicture = CreatePicture (0, &pPixmap->drawable, pPictFormat, + 0, 0, serverClient, &error); + (*pScreen->DestroyPixmap) (pPixmap); + return pPicture; +} + +/** + * exaTrapezoids is essentially a copy of miTrapezoids that uses + * exaCreateAlphaPicture instead of miCreateAlphaPicture. + * + * The problem with miCreateAlphaPicture is that it calls PolyFillRect + * to initialize the contents after creating the pixmap, which + * causes the pixmap to be moved in for acceleration. The subsequent + * call to RasterizeTrapezoid won't be accelerated however, which + * forces the pixmap to be moved out again. + * + * exaCreateAlphaPicture avoids this roundtrip by using ExaCheckPolyFillRect + * to initialize the contents. + */ +void +exaTrapezoids (CARD8 op, PicturePtr pSrc, PicturePtr pDst, + PictFormatPtr maskFormat, INT16 xSrc, INT16 ySrc, + int ntrap, xTrapezoid *traps) +{ + ScreenPtr pScreen = pDst->pDrawable->pScreen; + PictureScreenPtr ps = GetPictureScreen(pScreen); + + /* + * Check for solid alpha add + */ + if (op == PictOpAdd && miIsSolidAlpha (pSrc)) + { + for (; ntrap; ntrap--, traps++) + (*ps->RasterizeTrapezoid) (pDst, traps, 0, 0); + } + else if (maskFormat) + { + PicturePtr pPicture; + BoxRec bounds; + INT16 xDst, yDst; + INT16 xRel, yRel; + + xDst = traps[0].left.p1.x >> 16; + yDst = traps[0].left.p1.y >> 16; + + miTrapezoidBounds (ntrap, traps, &bounds); + if (bounds.y1 >= bounds.y2 || bounds.x1 >= bounds.x2) + return; + pPicture = exaCreateAlphaPicture (pScreen, pDst, maskFormat, + bounds.x2 - bounds.x1, + bounds.y2 - bounds.y1); + if (!pPicture) + return; + for (; ntrap; ntrap--, traps++) + (*ps->RasterizeTrapezoid) (pPicture, traps, + -bounds.x1, -bounds.y1); + xRel = bounds.x1 + xSrc - xDst; + yRel = bounds.y1 + ySrc - yDst; + CompositePicture (op, pSrc, pPicture, pDst, + xRel, yRel, 0, 0, bounds.x1, bounds.y1, + bounds.x2 - bounds.x1, + bounds.y2 - bounds.y1); + FreePicture (pPicture, 0); + } + else + { + if (pDst->polyEdge == PolyEdgeSharp) + maskFormat = PictureMatchFormat (pScreen, 1, PICT_a1); + else + maskFormat = PictureMatchFormat (pScreen, 8, PICT_a8); + for (; ntrap; ntrap--, traps++) + exaTrapezoids (op, pSrc, pDst, maskFormat, xSrc, ySrc, 1, traps); + } +} + #define NeedsComponent(f) (PICT_FORMAT_A(f) != 0 && PICT_FORMAT_RGB(f) != 0) /** @@ -705,16 +888,22 @@ void exaRasterizeTrapezoid (PicturePtr pPicture, xTrapezoid *trap, int x_off, int y_off) { + DrawablePtr pDraw = pPicture->pDrawable; ExaMigrationRec pixmaps[1]; + int xoff, yoff; pixmaps[0].as_dst = TRUE; pixmaps[0].as_src = TRUE; - pixmaps[0].pPix = exaGetDrawablePixmap (pPicture->pDrawable); + pixmaps[0].pPix = exaGetDrawablePixmap (pDraw); exaDoMigration(pixmaps, 1, FALSE); - exaPrepareAccess(pPicture->pDrawable, EXA_PREPARE_DEST); + exaPrepareAccess(pDraw, EXA_PREPARE_DEST); fbRasterizeTrapezoid(pPicture, trap, x_off, y_off); - exaFinishAccess(pPicture->pDrawable, EXA_PREPARE_DEST); + exaGetDrawableDeltas(pDraw, pixmaps[0].pPix, &xoff, &yoff); + exaPixmapDirty(pixmaps[0].pPix, pDraw->x + xoff, pDraw->y + yoff, + pDraw->x + xoff + pDraw->width, + pDraw->y + yoff + pDraw->height); + exaFinishAccess(pDraw, EXA_PREPARE_DEST); } /** @@ -725,16 +914,22 @@ void exaAddTriangles (PicturePtr pPicture, INT16 x_off, INT16 y_off, int ntri, xTriangle *tris) { + DrawablePtr pDraw = pPicture->pDrawable; ExaMigrationRec pixmaps[1]; + int xoff, yoff; pixmaps[0].as_dst = TRUE; pixmaps[0].as_src = TRUE; - pixmaps[0].pPix = exaGetDrawablePixmap (pPicture->pDrawable); + pixmaps[0].pPix = exaGetDrawablePixmap (pDraw); exaDoMigration(pixmaps, 1, FALSE); - exaPrepareAccess(pPicture->pDrawable, EXA_PREPARE_DEST); + exaPrepareAccess(pDraw, EXA_PREPARE_DEST); fbAddTriangles(pPicture, x_off, y_off, ntri, tris); - exaFinishAccess(pPicture->pDrawable, EXA_PREPARE_DEST); + exaGetDrawableDeltas(pDraw, pixmaps[0].pPix, &xoff, &yoff); + exaPixmapDirty(pixmaps[0].pPix, pDraw->x + xoff, pDraw->y + yoff, + pDraw->x + xoff + pDraw->width, + pDraw->y + yoff + pDraw->height); + exaFinishAccess(pDraw, EXA_PREPARE_DEST); } /** @@ -830,10 +1025,11 @@ exaGlyphs (CARD8 op, PixmapPtr pPixmap = NULL; PicturePtr pPicture; PixmapPtr pMaskPixmap = NULL; + PixmapPtr pDstPixmap = exaGetDrawablePixmap(pDst->pDrawable); PicturePtr pMask; ScreenPtr pScreen = pDst->pDrawable->pScreen; int width = 0, height = 0; - int x, y; + int x, y, x1, y1, xoff, yoff; int xDst = list->xOff, yDst = list->yOff; int n; int error; @@ -877,7 +1073,12 @@ exaGlyphs (CARD8 op, xRectangle rect; miGlyphExtents (nlist, list, glyphs, &extents); - + + extents.x1 = max(extents.x1, 0); + extents.y1 = max(extents.y1, 0); + extents.x2 = min(extents.x2, pDst->pDrawable->width); + extents.y2 = min(extents.y2, pDst->pDrawable->height); + if (extents.x2 <= extents.x1 || extents.y2 <= extents.y1) return; width = extents.x2 - extents.x1; @@ -903,6 +1104,7 @@ exaGlyphs (CARD8 op, rect.width = width; rect.height = height; (*pGC->ops->PolyFillRect) (&pMaskPixmap->drawable, pGC, 1, &rect); + exaPixmapDirty(pMaskPixmap, 0, 0, width, height); FreeScratchGC (pGC); x = -extents.x1; y = -extents.y1; @@ -914,6 +1116,8 @@ exaGlyphs (CARD8 op, y = 0; } + exaGetDrawableDeltas(pDst->pDrawable, pDstPixmap, &xoff, &yoff); + while (nlist--) { GCPtr pGC = NULL; @@ -968,13 +1172,21 @@ exaGlyphs (CARD8 op, pixmaps[0].as_dst = TRUE; pixmaps[0].as_src = TRUE; pixmaps[0].pPix = pPixmap; - exaDoMigration (pixmaps, 1, TRUE); + exaDoMigration (pixmaps, 1, pExaScr->info->PrepareComposite != NULL); while (n--) { GlyphPtr glyph = *glyphs++; pointer glyphdata = (pointer) (glyph + 1); - + DrawablePtr pCmpDrw = (maskFormat ? pMask : pDst)->pDrawable; + + x1 = x - glyph->info.x; + y1 = y - glyph->info.y; + + if (x1 >= pCmpDrw->width || y1 >= pCmpDrw->height || + (x1 + glyph->info.width) <= 0 || (y1 + glyph->info.height) <= 0) + goto nextglyph; + (*pScreen->ModifyPixmapHeader) (pScratchPixmap, glyph->info.width, glyph->info.height, @@ -984,15 +1196,17 @@ exaGlyphs (CARD8 op, * First we try to use UploadToScreen, if we can, then we fall back * to a plain exaCopyArea in case of failure. */ - if (!pExaScr->info->UploadToScreen || - !exaPixmapIsOffscreen(pPixmap) || - !(*pExaScr->info->UploadToScreen) (pPixmap, 0, 0, + if (pExaScr->info->UploadToScreen && + exaPixmapIsOffscreen(pPixmap) && + (*pExaScr->info->UploadToScreen) (pPixmap, 0, 0, glyph->info.width, glyph->info.height, glyphdata, PixmapBytePad(glyph->info.width, list->format->depth))) { + exaMarkSync (pScreen); + } else { /* Set up the scratch pixmap/GC for doing a CopyArea. */ if (pScratchPixmap == NULL) { /* Get a scratch pixmap to wrap the original glyph data */ @@ -1023,24 +1237,30 @@ exaGlyphs (CARD8 op, exaCopyArea (&pScratchPixmap->drawable, &pPixmap->drawable, pGC, 0, 0, glyph->info.width, glyph->info.height, 0, 0); - } else { - exaDrawableDirty (&pPixmap->drawable); } + exaPixmapDirty (pPixmap, 0, 0, + glyph->info.width, glyph->info.height); + if (maskFormat) { exaComposite (PictOpAdd, pPicture, NULL, pMask, 0, 0, 0, 0, - x - glyph->info.x, y - glyph->info.y, - glyph->info.width, glyph->info.height); + x1, y1, glyph->info.width, glyph->info.height); + exaPixmapDirty(pMaskPixmap, x1, y1, x1 + glyph->info.width, + y1 + glyph->info.height); } else { exaComposite (op, pSrc, pPicture, pDst, - xSrc + (x - glyph->info.x) - xDst, - ySrc + (y - glyph->info.y) - yDst, - 0, 0, x - glyph->info.x, y - glyph->info.y, - glyph->info.width, glyph->info.height); + xSrc + x1 - xDst, ySrc + y1 - yDst, + 0, 0, x1, y1, glyph->info.width, + glyph->info.height); + x1 += pDst->pDrawable->x + xoff; + y1 += pDst->pDrawable->y + yoff; + exaPixmapDirty(pDstPixmap, x1, y1, x1 + glyph->info.width, + y1 + glyph->info.height); } +nextglyph: x += glyph->info.xOff; y += glyph->info.yOff; } diff --git a/xserver/exa/exa_unaccel.c b/xserver/exa/exa_unaccel.c index f9df6adc4..a94648b47 100644 --- a/xserver/exa/exa_unaccel.c +++ b/xserver/exa/exa_unaccel.c @@ -88,10 +88,15 @@ ExaCheckPutImage (DrawablePtr pDrawable, GCPtr pGC, int depth, int x, int y, int w, int h, int leftPad, int format, char *bits) { + PixmapPtr pPixmap = exaGetDrawablePixmap(pDrawable); + int xoff, yoff; + EXA_FALLBACK(("to %p (%c)\n", pDrawable, exaDrawableLocation(pDrawable))); exaPrepareAccess (pDrawable, EXA_PREPARE_DEST); fbPutImage (pDrawable, pGC, depth, x, y, w, h, leftPad, format, bits); exaFinishAccess (pDrawable, EXA_PREPARE_DEST); + exaGetDrawableDeltas(pDrawable, pPixmap, &xoff, &yoff); + exaPixmapDirty(pPixmap, x + xoff, y + yoff, x + xoff + w, y + yoff + h); } RegionPtr @@ -200,6 +205,7 @@ ExaCheckPolyFillRect (DrawablePtr pDrawable, GCPtr pGC, int nrect, xRectangle *prect) { EXA_FALLBACK(("to %p (%c)\n", pDrawable, exaDrawableLocation(pDrawable))); + exaPrepareAccess (pDrawable, EXA_PREPARE_DEST); exaPrepareAccessGC (pGC); fbPolyFillRect (pDrawable, pGC, nrect, prect); @@ -363,31 +369,48 @@ ExaCheckComposite (CARD8 op, /** * Gets the 0,0 pixel of a pixmap. Used for doing solid fills of tiled pixmaps * that happen to be 1x1. Pixmap must be at least 8bpp. + * + * XXX This really belongs in fb, so it can be aware of tiling and etc. */ CARD32 exaGetPixmapFirstPixel (PixmapPtr pPixmap) { CARD32 pixel; + void *fb; + Bool need_finish = FALSE; + BoxRec box; ExaMigrationRec pixmaps[1]; + ExaPixmapPriv (pPixmap); - pixmaps[0].as_dst = FALSE; - pixmaps[0].as_src = TRUE; - pixmaps[0].pPix = pPixmap; - exaDoMigration (pixmaps, 1, FALSE); + fb = pExaPixmap->sys_ptr; + + /* Try to avoid framebuffer readbacks */ + if (exaPixmapIsOffscreen(pPixmap) && + miPointInRegion(DamageRegion(pExaPixmap->pDamage), 0, 0, &box)) + { + need_finish = TRUE; + pixmaps[0].as_dst = FALSE; + pixmaps[0].as_src = TRUE; + pixmaps[0].pPix = pPixmap; + exaDoMigration (pixmaps, 1, FALSE); + exaPrepareAccess(&pPixmap->drawable, EXA_PREPARE_SRC); + fb = pPixmap->devPrivate.ptr; + } - exaPrepareAccess(&pPixmap->drawable, EXA_PREPARE_SRC); switch (pPixmap->drawable.bitsPerPixel) { case 32: - pixel = *(CARD32 *)(pPixmap->devPrivate.ptr); + pixel = *(CARD32 *)fb; break; case 16: - pixel = *(CARD16 *)(pPixmap->devPrivate.ptr); + pixel = *(CARD16 *)fb; break; default: - pixel = *(CARD8 *)(pPixmap->devPrivate.ptr); + pixel = *(CARD8 *)fb; break; } - exaFinishAccess(&pPixmap->drawable, EXA_PREPARE_SRC); + + if (need_finish) + exaFinishAccess(&pPixmap->drawable, EXA_PREPARE_SRC); return pixel; } diff --git a/xserver/fb/Makefile.am b/xserver/fb/Makefile.am index 11b2d2fea..75861a38d 100644 --- a/xserver/fb/Makefile.am +++ b/xserver/fb/Makefile.am @@ -1,4 +1,4 @@ -noinst_LTLIBRARIES = libfb.la libfbmmx.la +noinst_LTLIBRARIES = libfb.la libwfb.la INCLUDES = \ -I$(top_srcdir)/hw/xfree86/os-support \ @@ -7,25 +7,12 @@ INCLUDES = \ AM_CFLAGS = $(DIX_CFLAGS) if XORG -sdk_HEADERS = fb.h fbrop.h fbpseudocolor.h fboverlay.h +sdk_HEADERS = fb.h fbrop.h fbpseudocolor.h fboverlay.h wfbrename.h endif -if MMX_CAPABLE -AM_CFLAGS += -DUSE_MMX +libfb_la_CFLAGS = $(AM_CFLAGS) -libfbmmx_la_CFLAGS = \ - $(DIX_CFLAGS) \ - -DUSE_MMX \ - -mmmx \ - -msse \ - -Winline \ - --param inline-unit-growth=10000 \ - --param large-function-growth=10000 -endif - -libfbmmx_la_SOURCES = \ - fbmmx.c \ - fbmmx.h +libwfb_la_CFLAGS = $(AM_CFLAGS) -DFB_ACCESS_WRAPPER libfb_la_SOURCES = \ fb.h \ @@ -38,7 +25,6 @@ libfb_la_SOURCES = \ fbblt.c \ fbbltone.c \ fbbstore.c \ - fbcompose.c \ fbcopy.c \ fbfill.c \ fbfillrect.c \ @@ -66,10 +52,8 @@ libfb_la_SOURCES = \ fbutil.c \ fbwindow.c \ fbpseudocolor.c \ - fbpseudocolor.h \ - fbedge.c \ - fbedgeimp.h + fbpseudocolor.h -libfb_la_LIBADD = libfbmmx.la +libwfb_la_SOURCES = $(libfb_la_SOURCES) -EXTRA_DIST = fbcmap.c +EXTRA_DIST = fbcmap.c fbcmap_mi.c diff --git a/xserver/fb/fb.h b/xserver/fb/fb.h index 3742cf01a..df430b8fd 100644 --- a/xserver/fb/fb.h +++ b/xserver/fb/fb.h @@ -26,6 +26,8 @@ #define _FB_H_ #include +#include + #include "scrnintstr.h" #include "pixmap.h" #include "pixmapstr.h" @@ -44,6 +46,39 @@ #include "picture.h" #endif +#ifdef FB_ACCESS_WRAPPER + +#include "wfbrename.h" +#define FBPREFIX(x) wfb##x +#define WRITE(ptr, val) ((*wfbWriteMemory)((ptr), (val), sizeof(*(ptr)))) +#define READ(ptr) ((*wfbReadMemory)((ptr), sizeof(*(ptr)))) + +#define MEMCPY_WRAPPED(dst, src, size) do { \ + size_t _i; \ + CARD8 *_dst = (CARD8*)(dst), *_src = (CARD8*)(src); \ + for(_i = 0; _i < size; _i++) { \ + WRITE(_dst +_i, READ(_src + _i)); \ + } \ +} while(0) + +#define MEMSET_WRAPPED(dst, val, size) do { \ + size_t _i; \ + CARD8 *_dst = (CARD8*)(dst); \ + for(_i = 0; _i < size; _i++) { \ + WRITE(_dst +_i, (val)); \ + } \ +} while(0) + +#else + +#define FBPREFIX(x) fb##x +#define WRITE(ptr, val) (*(ptr) = (val)) +#define READ(ptr) (*(ptr)) +#define MEMCPY_WRAPPED(dst, src, size) memcpy((dst), (src), (size)) +#define MEMSET_WRAPPED(dst, val, size) memset((dst), (val), (size)) + +#endif + /* * This single define controls the basic size of data manipulated * by this software; it must be log2(sizeof (FbBits) * 8) @@ -222,8 +257,8 @@ extern void fbSetBits (FbStip *bits, int stride, FbStip data); #define FbPtrOffset(p,o,t) ((t *) ((CARD8 *) (p) + (o))) #define FbSelectPatternPart(xor,o,t) ((xor) >> (FbPatternOffset (o,t) << 3)) -#define FbStorePart(dst,off,t,xor) (*FbPtrOffset(dst,off,t) = \ - FbSelectPart(xor,off,t)) +#define FbStorePart(dst,off,t,xor) (WRITE(FbPtrOffset(dst,off,t), \ + FbSelectPart(xor,off,t))) #ifndef FbSelectPart #define FbSelectPart(x,o,t) FbSelectPatternPart(x,o,t) #endif @@ -403,7 +438,7 @@ extern void fbSetBits (FbStip *bits, int stride, FbStip data); FbStorePart(dst,sizeof (FbBits) - 1,CARD8,xor); \ break; \ default: \ - *dst = FbDoMaskRRop(*dst, and, xor, l); \ + WRITE(dst, FbDoMaskRRop(READ(dst), and, xor, l)); \ break; \ } \ } @@ -423,7 +458,7 @@ extern void fbSetBits (FbStip *bits, int stride, FbStip data); break; \ FbDoRightMaskByteRRop6Cases(dst,xor) \ default: \ - *dst = FbDoMaskRRop (*dst, and, xor, r); \ + WRITE(dst, FbDoMaskRRop (READ(dst), and, xor, r)); \ } \ } #endif @@ -455,20 +490,20 @@ extern void fbSetBits (FbStip *bits, int stride, FbStip data); * The term "lane" comes from the hardware term "byte-lane" which */ -#define FbLaneCase1(n,a,o) ((n) == 0x01 ? \ - (*(CARD8 *) ((a)+FbPatternOffset(o,CARD8)) = \ - fgxor) : 0) -#define FbLaneCase2(n,a,o) ((n) == 0x03 ? \ - (*(CARD16 *) ((a)+FbPatternOffset(o,CARD16)) = \ +#define FbLaneCase1(n,a,o) ((n) == 0x01 ? (void) \ + WRITE((CARD8 *) ((a)+FbPatternOffset(o,CARD8)), \ + fgxor) : (void) 0) +#define FbLaneCase2(n,a,o) ((n) == 0x03 ? (void) \ + WRITE((CARD16 *) ((a)+FbPatternOffset(o,CARD16)), \ fgxor) : \ ((void)FbLaneCase1((n)&1,a,o), \ FbLaneCase1((n)>>1,a,(o)+1))) -#define FbLaneCase4(n,a,o) ((n) == 0x0f ? \ - (*(CARD32 *) ((a)+FbPatternOffset(o,CARD32)) = \ +#define FbLaneCase4(n,a,o) ((n) == 0x0f ? (void) \ + WRITE((CARD32 *) ((a)+FbPatternOffset(o,CARD32)), \ fgxor) : \ ((void)FbLaneCase2((n)&3,a,o), \ FbLaneCase2((n)>>2,a,(o)+2))) -#define FbLaneCase8(n,a,o) ((n) == 0x0ff ? (*(FbBits *) ((a)+(o)) = fgxor) : \ +#define FbLaneCase8(n,a,o) ((n) == 0x0ff ? (void) (*(FbBits *) ((a)+(o)) = fgxor) : \ ((void)FbLaneCase4((n)&15,a,o), \ FbLaneCase4((n)>>4,a,(o)+4))) @@ -574,20 +609,36 @@ extern int fbGetWinPrivateIndex(void); extern const GCOps fbGCOps; extern const GCFuncs fbGCFuncs; -#ifdef TEKX11 -#define FB_OLD_GC -#define FB_OLD_SCREEN -#endif - -#ifdef FB_OLD_SCREEN -# define FB_OLD_MISCREENINIT /* miScreenInit requires 14 args, not 13 */ -extern WindowPtr *WindowTable; -#endif - #ifdef FB_24_32BIT #define FB_SCREEN_PRIVATE #endif +/* Framebuffer access wrapper */ +typedef FbBits (*ReadMemoryProcPtr)(const void *src, int size); +typedef void (*WriteMemoryProcPtr)(void *dst, FbBits value, int size); +typedef void (*SetupWrapProcPtr)(ReadMemoryProcPtr *pRead, + WriteMemoryProcPtr *pWrite, + DrawablePtr pDraw); +typedef void (*FinishWrapProcPtr)(DrawablePtr pDraw); + +#ifdef FB_ACCESS_WRAPPER + +#define fbPrepareAccess(pDraw) \ + fbGetScreenPrivate((pDraw)->pScreen)->setupWrap( \ + &wfbReadMemory, \ + &wfbWriteMemory, \ + (pDraw)) +#define fbFinishAccess(pDraw) \ + fbGetScreenPrivate((pDraw)->pScreen)->finishWrap(pDraw) + +#else + +#define fbPrepareAccess(pPix) +#define fbFinishAccess(pDraw) + +#endif + + #ifdef FB_SCREEN_PRIVATE extern int fbScreenPrivateIndex; extern int fbGetScreenPrivateIndex(void); @@ -596,6 +647,10 @@ extern int fbGetScreenPrivateIndex(void); typedef struct { unsigned char win32bpp; /* window bpp for 32-bpp images */ unsigned char pix32bpp; /* pixmap bpp for 32-bpp images */ +#ifdef FB_ACCESS_WRAPPER + SetupWrapProcPtr setupWrap; /* driver hook to set pixmap access wrapping */ + FinishWrapProcPtr finishWrap; /* driver hook to clean up pixmap access wrapping */ +#endif } FbScreenPrivRec, *FbScreenPrivPtr; #define fbGetScreenPrivate(pScreen) ((FbScreenPrivPtr) \ @@ -604,15 +659,6 @@ typedef struct { /* private field of GC */ typedef struct { -#ifdef FB_OLD_GC - unsigned char pad1; - unsigned char pad2; - unsigned char pad3; - unsigned fExpose:1; - unsigned freeCompClip:1; - PixmapPtr pRotatedPixmap; - RegionPtr pCompositeClip; -#endif FbBits and, xor; /* reduced rop values */ FbBits bgand, bgxor; /* for stipples */ FbBits fg, bg, pm; /* expanded and filled */ @@ -625,17 +671,10 @@ typedef struct { #define fbGetGCPrivate(pGC) ((FbGCPrivPtr)\ (pGC)->devPrivates[fbGetGCPrivateIndex()].ptr) -#ifdef FB_OLD_GC -#define fbGetCompositeClip(pGC) (fbGetGCPrivate(pGC)->pCompositeClip) -#define fbGetExpose(pGC) (fbGetGCPrivate(pGC)->fExpose) -#define fbGetFreeCompClip(pGC) (fbGetGCPrivate(pGC)->freeCompClip) -#define fbGetRotatedPixmap(pGC) (fbGetGCPrivate(pGC)->pRotatedPixmap) -#else #define fbGetCompositeClip(pGC) ((pGC)->pCompositeClip) #define fbGetExpose(pGC) ((pGC)->fExpose) #define fbGetFreeCompClip(pGC) ((pGC)->freeCompClip) #define fbGetRotatedPixmap(pGC) ((pGC)->pRotatedPixmap) -#endif #define fbGetScreenPixmap(s) ((PixmapPtr) (s)->devPrivate) #ifdef FB_NO_WINDOW_PIXMAPS @@ -674,6 +713,7 @@ typedef struct { (xoff) = __fbPixOffXPix(_pPix); \ (yoff) = __fbPixOffYPix(_pPix); \ } \ + fbPrepareAccess(pDrawable); \ (pointer) = (FbBits *) _pPix->devPrivate.ptr; \ (stride) = ((int) _pPix->devKind) / sizeof (FbBits); (void)(stride); \ (bpp) = _pPix->drawable.bitsPerPixel; (void)(bpp); \ @@ -690,6 +730,7 @@ typedef struct { (xoff) = __fbPixOffXPix(_pPix); \ (yoff) = __fbPixOffYPix(_pPix); \ } \ + fbPrepareAccess(pDrawable); \ (pointer) = (FbStip *) _pPix->devPrivate.ptr; \ (stride) = ((int) _pPix->devKind) / sizeof (FbStip); (void)(stride); \ (bpp) = _pPix->drawable.bitsPerPixel; (void)(bpp); \ @@ -708,12 +749,6 @@ typedef struct { ((pDrawable)->type == DRAWABLE_PIXMAP ? \ TRUE : fbWindowEnabled((WindowPtr) pDrawable)) -#ifdef FB_OLD_SCREEN -#define BitsPerPixel(d) (\ - ((1 << PixmapWidthPaddingInfo[d].padBytesLog2) * 8 / \ - (PixmapWidthPaddingInfo[d].padRoundUp+1))) -#endif - #define FbPowerOfTwo(w) (((w) & ((w) - 1)) == 0) /* * Accelerated tiles are power of 2 width <= FB_UNIT @@ -1276,6 +1311,9 @@ fbCreateDefColormap(ScreenPtr pScreen); void fbClearVisualTypes(void); +Bool +fbHasVisualTypes (int depth); + Bool fbSetVisualTypes (int depth, int visuals, int bitsPerRGB); @@ -1720,13 +1758,11 @@ fbQueryBestSize (int class, unsigned short *width, unsigned short *height, ScreenPtr pScreen); -#ifndef FB_OLD_SCREEN PixmapPtr _fbGetWindowPixmap (WindowPtr pWindow); void _fbSetWindowPixmap (WindowPtr pWindow, PixmapPtr pPixmap); -#endif Bool fbSetupScreen(ScreenPtr pScreen, @@ -1738,6 +1774,30 @@ fbSetupScreen(ScreenPtr pScreen, int width, /* pixel width of frame buffer */ int bpp); /* bits per pixel of frame buffer */ +Bool +wfbFinishScreenInit(ScreenPtr pScreen, + pointer pbits, + int xsize, + int ysize, + int dpix, + int dpiy, + int width, + int bpp, + SetupWrapProcPtr setupWrap, + FinishWrapProcPtr finishWrap); + +Bool +wfbScreenInit(ScreenPtr pScreen, + pointer pbits, + int xsize, + int ysize, + int dpix, + int dpiy, + int width, + int bpp, + SetupWrapProcPtr setupWrap, + FinishWrapProcPtr finishWrap); + Bool fbFinishScreenInit(ScreenPtr pScreen, pointer pbits, @@ -1938,6 +1998,7 @@ fbEvenTile (FbBits *dst, int height, FbBits *tile, + FbStride tileStride, int tileHeight, int alu, @@ -1994,6 +2055,11 @@ fbReplicatePixel (Pixel p, int bpp); void fbReduceRasterOp (int rop, FbBits fg, FbBits pm, FbBits *andp, FbBits *xorp); +#ifdef FB_ACCESS_WRAPPER +extern ReadMemoryProcPtr wfbReadMemory; +extern WriteMemoryProcPtr wfbWriteMemory; +#endif + /* * fbwindow.c */ @@ -2049,4 +2115,9 @@ void fbPaintWindow(WindowPtr pWin, RegionPtr pRegion, int what); +pixman_image_t *image_from_pict (PicturePtr pict, + Bool has_clip); +void free_pixman_pict (PicturePtr, pixman_image_t *); + #endif /* _FB_H_ */ + diff --git a/xserver/fb/fb24_32.c b/xserver/fb/fb24_32.c index 572da4865..00b739b25 100644 --- a/xserver/fb/fb24_32.c +++ b/xserver/fb/fb24_32.c @@ -38,18 +38,18 @@ * by reading/writing aligned CARD32s where it's easy */ -#define Get8(a) ((CARD32) *(a)) +#define Get8(a) ((CARD32) READ(a)) #if BITMAP_BIT_ORDER == MSBFirst #define Get24(a) ((Get8(a) << 16) | (Get8((a)+1) << 8) | Get8((a)+2)) -#define Put24(a,p) (((a)[0] = (CARD8) ((p) >> 16)), \ - ((a)[1] = (CARD8) ((p) >> 8)), \ - ((a)[2] = (CARD8) (p))) +#define Put24(a,p) ((WRITE((a+0), (CARD8) ((p) >> 16))), \ + (WRITE((a+1), (CARD8) ((p) >> 8))), \ + (WRITE((a+2), (CARD8) (p)))) #else #define Get24(a) (Get8(a) | (Get8((a)+1) << 8) | (Get8((a)+2)<<16)) -#define Put24(a,p) (((a)[0] = (CARD8) (p)), \ - ((a)[1] = (CARD8) ((p) >> 8)), \ - ((a)[2] = (CARD8) ((p) >> 16))) +#define Put24(a,p) ((WRITE((a+0), (CARD8) (p))), \ + (WRITE((a+1), (CARD8) ((p) >> 8))), \ + (WRITE((a+2), (CARD8) ((p) >> 16)))) #endif typedef void (*fb24_32BltFunc) (CARD8 *srcLine, @@ -106,7 +106,7 @@ fb24_32BltDown (CARD8 *srcLine, while (((long) dst & 3) && w) { w--; - pixel = *src++; + pixel = READ(src++); pixel = FbDoDestInvarientMergeRop(pixel); Put24 (dst, pixel); dst += 3; @@ -115,35 +115,35 @@ fb24_32BltDown (CARD8 *srcLine, while (w >= 4) { CARD32 s0, s1; - s0 = *src++; + s0 = READ(src++); s0 = FbDoDestInvarientMergeRop(s0); - s1 = *src++; + s1 = READ(src++); s1 = FbDoDestInvarientMergeRop(s1); #if BITMAP_BIT_ORDER == LSBFirst - *(CARD32 *)(dst) = (s0 & 0xffffff) | (s1 << 24); + WRITE((CARD32 *)dst, (s0 & 0xffffff) | (s1 << 24)); #else - *(CARD32 *)(dst) = (s0 << 8) | ((s1 & 0xffffff) >> 16); + WRITE((CARD32 *)dst, (s0 << 8) | ((s1 & 0xffffff) >> 16)); #endif - s0 = *src++; + s0 = READ(src++); s0 = FbDoDestInvarientMergeRop(s0); #if BITMAP_BIT_ORDER == LSBFirst - *(CARD32 *)(dst+4) = ((s1 & 0xffffff) >> 8) | (s0 << 16); + WRITE((CARD32 *)(dst+4), ((s1 & 0xffffff) >> 8) | (s0 << 16)); #else - *(CARD32 *)(dst+4) = (s1 << 16) | ((s0 & 0xffffff) >> 8); + WRITE((CARD32 *)(dst+4), (s1 << 16) | ((s0 & 0xffffff) >> 8)); #endif - s1 = *src++; + s1 = READ(src++); s1 = FbDoDestInvarientMergeRop(s1); #if BITMAP_BIT_ORDER == LSBFirst - *(CARD32 *)(dst+8) = ((s0 & 0xffffff) >> 16) | (s1 << 8); + WRITE((CARD32 *)(dst+8), ((s0 & 0xffffff) >> 16) | (s1 << 8)); #else - *(CARD32 *)(dst+8) = (s0 << 24) | (s1 & 0xffffff); + WRITE((CARD32 *)(dst+8), (s0 << 24) | (s1 & 0xffffff)); #endif dst += 12; w -= 4; } while (w--) { - pixel = *src++; + pixel = READ(src++); pixel = FbDoDestInvarientMergeRop(pixel); Put24 (dst, pixel); dst += 3; @@ -153,7 +153,7 @@ fb24_32BltDown (CARD8 *srcLine, { while (w--) { - pixel = *src++; + pixel = READ(src++); dpixel = Get24 (dst); pixel = FbDoMergeRop(pixel, dpixel); Put24 (dst, pixel); @@ -205,40 +205,40 @@ fb24_32BltUp (CARD8 *srcLine, w--; pixel = Get24(src); src += 3; - *dst++ = FbDoDestInvarientMergeRop(pixel); + WRITE(dst++, FbDoDestInvarientMergeRop(pixel)); } /* Do four aligned pixels at a time */ while (w >= 4) { CARD32 s0, s1; - s0 = *(CARD32 *)(src); + s0 = READ((CARD32 *)src); #if BITMAP_BIT_ORDER == LSBFirst pixel = s0 & 0xffffff; #else pixel = s0 >> 8; #endif - *dst++ = FbDoDestInvarientMergeRop(pixel); - s1 = *(CARD32 *)(src+4); + WRITE(dst++, FbDoDestInvarientMergeRop(pixel)); + s1 = READ((CARD32 *)(src+4)); #if BITMAP_BIT_ORDER == LSBFirst pixel = (s0 >> 24) | ((s1 << 8) & 0xffffff); #else pixel = ((s0 << 16) & 0xffffff) | (s1 >> 16); #endif - *dst++ = FbDoDestInvarientMergeRop(pixel); - s0 = *(CARD32 *)(src+8); + WRITE(dst++, FbDoDestInvarientMergeRop(pixel)); + s0 = READ((CARD32 *)(src+8)); #if BITMAP_BIT_ORDER == LSBFirst pixel = (s1 >> 16) | ((s0 << 16) & 0xffffff); #else pixel = ((s1 << 8) & 0xffffff) | (s0 >> 24); #endif - *dst++ = FbDoDestInvarientMergeRop(pixel); + WRITE(dst++, FbDoDestInvarientMergeRop(pixel)); #if BITMAP_BIT_ORDER == LSBFirst pixel = s0 >> 8; #else pixel = s0 & 0xffffff; #endif - *dst++ = FbDoDestInvarientMergeRop(pixel); + WRITE(dst++, FbDoDestInvarientMergeRop(pixel)); src += 12; w -= 4; } @@ -247,7 +247,7 @@ fb24_32BltUp (CARD8 *srcLine, w--; pixel = Get24(src); src += 3; - *dst++ = FbDoDestInvarientMergeRop(pixel); + WRITE(dst++, FbDoDestInvarientMergeRop(pixel)); } } else @@ -256,7 +256,7 @@ fb24_32BltUp (CARD8 *srcLine, { pixel = Get24(src); src += 3; - *dst = FbDoMergeRop(pixel, *dst); + WRITE(dst, FbDoMergeRop(pixel, READ(dst))); dst++; } } @@ -305,6 +305,8 @@ fb24_32GetSpans(DrawablePtr pDrawable, ppt++; pwidth++; } + + fbFinishAccess (pDrawable); } void @@ -366,6 +368,8 @@ fb24_32SetSpans (DrawablePtr pDrawable, ppt++; pwidth++; } + + fbFinishAccess (pDrawable); } /* @@ -429,6 +433,8 @@ fb24_32PutZImage (DrawablePtr pDrawable, alu, pm); } + + fbFinishAccess (pDrawable); } void @@ -463,6 +469,8 @@ fb24_32GetImage (DrawablePtr pDrawable, fb24_32BltUp (src + (y + srcYoff) * srcStride, srcStride, x + srcXoff, (CARD8 *) d, dstStride, 0, w, h, GXcopy, pm); + + fbFinishAccess (pDrawable); } void @@ -519,6 +527,9 @@ fb24_32CopyMtoN (DrawablePtr pSrcDrawable, pPriv->pm); pbox++; } + + fbFinishAccess (pSrcDrawable); + fbFinishAccess (pDstDrawable); } PixmapPtr @@ -563,6 +574,9 @@ fb24_32ReformatTile(PixmapPtr pOldTile, int bitsPerPixel) GXcopy, FB_ALLONES); + fbFinishAccess (&pOldTile->drawable); + fbFinishAccess (&pNewTile->drawable); + return pNewTile; } diff --git a/xserver/fb/fb24_32.h b/xserver/fb/fb24_32.h index 3c83f3423..7c9819eba 100644 --- a/xserver/fb/fb24_32.h +++ b/xserver/fb/fb24_32.h @@ -1,6 +1,4 @@ /* - * $XFree86$ - * * Copyright © 2000 SuSE, Inc. * * Permission to use, copy, modify, distribute, and sell this software and its diff --git a/xserver/fb/fballpriv.c b/xserver/fb/fballpriv.c index 3c05ff36e..8efb8fa99 100644 --- a/xserver/fb/fballpriv.c +++ b/xserver/fb/fballpriv.c @@ -1,6 +1,4 @@ /* - * Id: fballpriv.c,v 1.1 1999/11/02 03:54:45 keithp Exp $ - * * Copyright © 1998 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its @@ -49,10 +47,6 @@ int fbGetWinPrivateIndex(void) #endif int fbGeneration; -#ifdef FB_OLD_SCREEN -#define miAllocateGCPrivateIndex() AllocateGCPrivateIndex() -#endif - Bool fbAllocatePrivates(ScreenPtr pScreen, int *pGCIndex) { @@ -90,3 +84,8 @@ fbAllocatePrivates(ScreenPtr pScreen, int *pGCIndex) #endif return TRUE; } + +#ifdef FB_ACCESS_WRAPPER +ReadMemoryProcPtr wfbReadMemory; +WriteMemoryProcPtr wfbWriteMemory; +#endif diff --git a/xserver/fb/fbarc.c b/xserver/fb/fbarc.c index 8f4d2960e..3f46bd4b2 100644 --- a/xserver/fb/fbarc.c +++ b/xserver/fb/fbarc.c @@ -1,6 +1,4 @@ /* - * Id: fbarc.c,v 1.1 1999/11/02 03:54:45 keithp Exp $ - * * Copyright © 1998 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its @@ -109,6 +107,7 @@ fbPolyArc (DrawablePtr pDrawable, miPolyArc(pDrawable, pGC, 1, parcs); parcs++; } + fbFinishAccess (pDrawable); } else #endif diff --git a/xserver/fb/fbbits.c b/xserver/fb/fbbits.c index 56b58df4e..808374309 100644 --- a/xserver/fb/fbbits.c +++ b/xserver/fb/fbbits.c @@ -1,6 +1,4 @@ /* - * Id: fbbits.c,v 1.1 1999/11/02 03:54:45 keithp Exp $ - * * Copyright © 1998 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its @@ -103,14 +101,14 @@ #define BITSUNIT BYTE #define BITSMUL 3 -#define FbDoTypeStore(b,t,x,s) (*((t *) (b)) = (x) >> (s)) -#define FbDoTypeRRop(b,t,a,x,s) (*((t *) (b)) = FbDoRRop(*((t *) (b)),\ - (a) >> (s), \ - (x) >> (s))) -#define FbDoTypeMaskRRop(b,t,a,x,m,s) (*((t *) (b)) = FbDoMaskRRop(*((t *) (b)),\ - (a) >> (s), \ - (x) >> (s), \ - (m) >> (s)) +#define FbDoTypeStore(b,t,x,s) WRITE(((t *) (b)), (x) >> (s)) +#define FbDoTypeRRop(b,t,a,x,s) WRITE((t *) (b), FbDoRRop(READ((t *) (b)),\ + (a) >> (s), \ + (x) >> (s))) +#define FbDoTypeMaskRRop(b,t,a,x,m,s) WRITE((t *) (b), FbDoMaskRRop(READ((t *) (b)),\ + (a) >> (s), \ + (x) >> (s), \ + (m) >> (s))) #if BITMAP_BIT_ORDER == LSBFirst #define BITSSTORE(b,x) ((unsigned long) (b) & 1 ? \ (FbDoTypeStore (b, CARD8, x, 0), \ diff --git a/xserver/fb/fbbits.h b/xserver/fb/fbbits.h index e5c006dbb..44991f106 100644 --- a/xserver/fb/fbbits.h +++ b/xserver/fb/fbbits.h @@ -1,6 +1,4 @@ /* - * $XFree86$ - * * Copyright © 1998 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its @@ -42,13 +40,13 @@ #ifdef BITSSTORE #define STORE(b,x) BITSSTORE(b,x) #else -#define STORE(b,x) (*(b) = (x)) +#define STORE(b,x) WRITE((b), (x)) #endif #ifdef BITSRROP #define RROP(b,a,x) BITSRROP(b,a,x) #else -#define RROP(b,a,x) (*(b) = FbDoRRop (*(b), (a), (x))) +#define RROP(b,a,x) WRITE((b), FbDoRRop (READ(b), (a), (x))) #endif #ifdef BITSUNIT @@ -119,6 +117,8 @@ BRESSOLID (DrawablePtr pDrawable, e += e3; } } + + fbFinishAccess (pDrawable); } #endif @@ -263,6 +263,8 @@ onOffOdd: dashlen = len; } } + + fbFinishAccess (pDrawable); } #endif @@ -541,18 +543,18 @@ ARC (FbBits *dst, # define WRITE_ADDR4(n) ((n)) #endif -#define WRITE1(d,n,fg) ((d)[WRITE_ADDR1(n)] = (BITS) (fg)) +#define WRITE1(d,n,fg) WRITE(d + WRITE_ADDR1(n), (BITS) (fg)) #ifdef BITS2 -# define WRITE2(d,n,fg) (*((BITS2 *) &((d)[WRITE_ADDR2(n)])) = (BITS2) (fg)) +# define WRITE2(d,n,fg) WRITE((BITS2 *) &((d)[WRITE_ADDR2(n)]), (BITS2) (fg)) #else -# define WRITE2(d,n,fg) WRITE1(d,(n)+1,WRITE1(d,n,fg)) +# define WRITE2(d,n,fg) (WRITE1(d,n,fg), WRITE1(d,(n)+1,fg)) #endif #ifdef BITS4 -# define WRITE4(d,n,fg) (*((BITS4 *) &((d)[WRITE_ADDR4(n)])) = (BITS4) (fg)) +# define WRITE4(d,n,fg) WRITE((BITS4 *) &((d)[WRITE_ADDR4(n)]), (BITS4) (fg)) #else -# define WRITE4(d,n,fg) WRITE2(d,(n)+2,WRITE2(d,n,fg)) +# define WRITE4(d,n,fg) (WRITE2(d,n,fg), WRITE2(d,(n)+2,fg)) #endif void @@ -710,8 +712,10 @@ POLYLINE (DrawablePtr pDrawable, intToX(pt2) + xoff, intToY(pt2) + yoff, npt == 0 && pGC->capStyle != CapNotLast, &dashoffset); - if (!npt) + if (!npt) { + fbFinishAccess (pDrawable); return; + } pt1 = pt2; pt2 = *pts++; npt--; @@ -776,6 +780,7 @@ POLYLINE (DrawablePtr pDrawable, { RROP(bits,and,xor); } + fbFinishAccess (pDrawable); return; } pt1 = pt2; @@ -786,6 +791,8 @@ POLYLINE (DrawablePtr pDrawable, } } } + + fbFinishAccess (pDrawable); } #endif @@ -883,20 +890,20 @@ POLYSEGMENT (DrawablePtr pDrawable, FbMaskBits (dstX, width, startmask, nmiddle, endmask); if (startmask) { - *dstLine = FbDoMaskRRop (*dstLine, andBits, xorBits, startmask); + WRITE(dstLine, FbDoMaskRRop (READ(dstLine), andBits, xorBits, startmask)); dstLine++; } if (!andBits) while (nmiddle--) - *dstLine++ = xorBits; + WRITE(dstLine++, xorBits); else while (nmiddle--) { - *dstLine = FbDoRRop (*dstLine, andBits, xorBits); + WRITE(dstLine, FbDoRRop (READ(dstLine), andBits, xorBits)); dstLine++; } if (endmask) - *dstLine = FbDoMaskRRop (*dstLine, andBits, xorBits, endmask); + WRITE(dstLine, FbDoMaskRRop (READ(dstLine), andBits, xorBits, endmask)); } else { @@ -950,6 +957,8 @@ POLYSEGMENT (DrawablePtr pDrawable, } } } + + fbFinishAccess (pDrawable); } #endif diff --git a/xserver/fb/fbblt.c b/xserver/fb/fbblt.c index d176a7c27..837c3a239 100644 --- a/xserver/fb/fbblt.c +++ b/xserver/fb/fbblt.c @@ -1,6 +1,4 @@ /* - * Id: fbblt.c,v 1.1 1999/11/02 03:54:45 keithp Exp $ - * * Copyright © 1998 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its @@ -92,10 +90,10 @@ fbBlt (FbBits *srcLine, if (!upsidedown) for (i = 0; i < height; i++) - memcpy(dst + i * dstStride, src + i * srcStride, width); + MEMCPY_WRAPPED(dst + i * dstStride, src + i * srcStride, width); else for (i = height - 1; i >= 0; i--) - memcpy(dst + i * dstStride, src + i * srcStride, width); + MEMCPY_WRAPPED(dst + i * dstStride, src + i * srcStride, width); return; } @@ -137,7 +135,7 @@ fbBlt (FbBits *srcLine, { if (endmask) { - bits = *--src; + bits = READ(--src); --dst; FbDoRightMaskByteMergeRop(dst, bits, endbyte, endmask); } @@ -145,20 +143,20 @@ fbBlt (FbBits *srcLine, if (destInvarient) { while (n--) - *--dst = FbDoDestInvarientMergeRop(*--src); + WRITE(--dst, FbDoDestInvarientMergeRop(READ(--src))); } else { while (n--) { - bits = *--src; + bits = READ(--src); --dst; - *dst = FbDoMergeRop (bits, *dst); + WRITE(dst, FbDoMergeRop (bits, READ(dst))); } } if (startmask) { - bits = *--src; + bits = READ(--src); --dst; FbDoLeftMaskByteMergeRop(dst, bits, startbyte, startmask); } @@ -167,7 +165,7 @@ fbBlt (FbBits *srcLine, { if (startmask) { - bits = *src++; + bits = READ(src++); FbDoLeftMaskByteMergeRop(dst, bits, startbyte, startmask); dst++; } @@ -198,20 +196,20 @@ fbBlt (FbBits *srcLine, } #endif while (n--) - *dst++ = FbDoDestInvarientMergeRop(*src++); + WRITE(dst++, FbDoDestInvarientMergeRop(READ(src++))); } else { while (n--) { - bits = *src++; - *dst = FbDoMergeRop (bits, *dst); + bits = READ(src++); + WRITE(dst, FbDoMergeRop (bits, READ(dst))); dst++; } } if (endmask) { - bits = *src; + bits = READ(src); FbDoRightMaskByteMergeRop(dst, bits, endbyte, endmask); } } @@ -240,13 +238,13 @@ fbBlt (FbBits *srcLine, if (reverse) { if (srcX < dstX) - bits1 = *--src; + bits1 = READ(--src); if (endmask) { bits = FbScrRight(bits1, rightShift); if (FbScrRight(endmask, leftShift)) { - bits1 = *--src; + bits1 = READ(--src); bits |= FbScrLeft(bits1, leftShift); } --dst; @@ -258,10 +256,10 @@ fbBlt (FbBits *srcLine, while (n--) { bits = FbScrRight(bits1, rightShift); - bits1 = *--src; + bits1 = READ(--src); bits |= FbScrLeft(bits1, leftShift); --dst; - *dst = FbDoDestInvarientMergeRop(bits); + WRITE(dst, FbDoDestInvarientMergeRop(bits)); } } else @@ -269,10 +267,10 @@ fbBlt (FbBits *srcLine, while (n--) { bits = FbScrRight(bits1, rightShift); - bits1 = *--src; + bits1 = READ(--src); bits |= FbScrLeft(bits1, leftShift); --dst; - *dst = FbDoMergeRop(bits, *dst); + WRITE(dst, FbDoMergeRop(bits, READ(dst))); } } if (startmask) @@ -280,7 +278,7 @@ fbBlt (FbBits *srcLine, bits = FbScrRight(bits1, rightShift); if (FbScrRight(startmask, leftShift)) { - bits1 = *--src; + bits1 = READ(--src); bits |= FbScrLeft(bits1, leftShift); } --dst; @@ -290,13 +288,13 @@ fbBlt (FbBits *srcLine, else { if (srcX > dstX) - bits1 = *src++; + bits1 = READ(src++); if (startmask) { bits = FbScrLeft(bits1, leftShift); if (FbScrLeft(startmask, rightShift)) { - bits1 = *src++; + bits1 = READ(src++); bits |= FbScrRight(bits1, rightShift); } FbDoLeftMaskByteMergeRop (dst, bits, startbyte, startmask); @@ -308,9 +306,9 @@ fbBlt (FbBits *srcLine, while (n--) { bits = FbScrLeft(bits1, leftShift); - bits1 = *src++; + bits1 = READ(src++); bits |= FbScrRight(bits1, rightShift); - *dst = FbDoDestInvarientMergeRop(bits); + WRITE(dst, FbDoDestInvarientMergeRop(bits)); dst++; } } @@ -319,9 +317,9 @@ fbBlt (FbBits *srcLine, while (n--) { bits = FbScrLeft(bits1, leftShift); - bits1 = *src++; + bits1 = READ(src++); bits |= FbScrRight(bits1, rightShift); - *dst = FbDoMergeRop(bits, *dst); + WRITE(dst, FbDoMergeRop(bits, READ(dst))); dst++; } } @@ -330,7 +328,7 @@ fbBlt (FbBits *srcLine, bits = FbScrLeft(bits1, leftShift); if (FbScrLeft(endmask, rightShift)) { - bits1 = *src; + bits1 = READ(src); bits |= FbScrRight(bits1, rightShift); } FbDoRightMaskByteMergeRop (dst, bits, endbyte, endmask); @@ -425,45 +423,45 @@ fbBlt24Line (FbBits *src, { if (endmask) { - bits = *--src; + bits = READ(--src); --dst; - *dst = FbDoMaskMergeRop (bits, *dst, mask & endmask); + WRITE(dst, FbDoMaskMergeRop (bits, READ(dst), mask & endmask)); mask = FbPrev24Pix (mask); } while (n--) { - bits = *--src; + bits = READ(--src); --dst; - *dst = FbDoMaskMergeRop (bits, *dst, mask); + WRITE(dst, FbDoMaskMergeRop (bits, READ(dst), mask)); mask = FbPrev24Pix (mask); } if (startmask) { - bits = *--src; + bits = READ(--src); --dst; - *dst = FbDoMaskMergeRop(bits, *dst, mask & startmask); + WRITE(dst, FbDoMaskMergeRop(bits, READ(dst), mask & startmask)); } } else { if (startmask) { - bits = *src++; - *dst = FbDoMaskMergeRop (bits, *dst, mask & startmask); + bits = READ(src++); + WRITE(dst, FbDoMaskMergeRop (bits, READ(dst), mask & startmask)); dst++; mask = FbNext24Pix(mask); } while (n--) { - bits = *src++; - *dst = FbDoMaskMergeRop (bits, *dst, mask); + bits = READ(src++); + WRITE(dst, FbDoMaskMergeRop (bits, READ(dst), mask)); dst++; mask = FbNext24Pix(mask); } if (endmask) { - bits = *src; - *dst = FbDoMaskMergeRop(bits, *dst, mask & endmask); + bits = READ(src); + WRITE(dst, FbDoMaskMergeRop(bits, READ(dst), mask & endmask)); } } } @@ -484,26 +482,26 @@ fbBlt24Line (FbBits *src, if (reverse) { if (srcX < dstX) - bits1 = *--src; + bits1 = READ(--src); if (endmask) { bits = FbScrRight(bits1, rightShift); if (FbScrRight(endmask, leftShift)) { - bits1 = *--src; + bits1 = READ(--src); bits |= FbScrLeft(bits1, leftShift); } --dst; - *dst = FbDoMaskMergeRop (bits, *dst, mask & endmask); + WRITE(dst, FbDoMaskMergeRop (bits, READ(dst), mask & endmask)); mask = FbPrev24Pix(mask); } while (n--) { bits = FbScrRight(bits1, rightShift); - bits1 = *--src; + bits1 = READ(--src); bits |= FbScrLeft(bits1, leftShift); --dst; - *dst = FbDoMaskMergeRop(bits, *dst, mask); + WRITE(dst, FbDoMaskMergeRop(bits, READ(dst), mask)); mask = FbPrev24Pix(mask); } if (startmask) @@ -511,32 +509,32 @@ fbBlt24Line (FbBits *src, bits = FbScrRight(bits1, rightShift); if (FbScrRight(startmask, leftShift)) { - bits1 = *--src; + bits1 = READ(--src); bits |= FbScrLeft(bits1, leftShift); } --dst; - *dst = FbDoMaskMergeRop (bits, *dst, mask & startmask); + WRITE(dst, FbDoMaskMergeRop (bits, READ(dst), mask & startmask)); } } else { if (srcX > dstX) - bits1 = *src++; + bits1 = READ(src++); if (startmask) { bits = FbScrLeft(bits1, leftShift); - bits1 = *src++; + bits1 = READ(src++); bits |= FbScrRight(bits1, rightShift); - *dst = FbDoMaskMergeRop (bits, *dst, mask & startmask); + WRITE(dst, FbDoMaskMergeRop (bits, READ(dst), mask & startmask)); dst++; mask = FbNext24Pix(mask); } while (n--) { bits = FbScrLeft(bits1, leftShift); - bits1 = *src++; + bits1 = READ(src++); bits |= FbScrRight(bits1, rightShift); - *dst = FbDoMaskMergeRop(bits, *dst, mask); + WRITE(dst, FbDoMaskMergeRop(bits, READ(dst), mask)); dst++; mask = FbNext24Pix(mask); } @@ -545,10 +543,10 @@ fbBlt24Line (FbBits *src, bits = FbScrLeft(bits1, leftShift); if (FbScrLeft(endmask, rightShift)) { - bits1 = *src; + bits1 = READ(src); bits |= FbScrRight(bits1, rightShift); } - *dst = FbDoMaskMergeRop (bits, *dst, mask & endmask); + WRITE(dst, FbDoMaskMergeRop (bits, READ(dst), mask & endmask)); } } } @@ -707,8 +705,8 @@ fbBltOdd (FbBits *srcLine, { if (startmask) { - bits = *src++; - *dst = FbDoMaskMergeRop (bits, *dst, startmask); + bits = READ(src++); + WRITE(dst, FbDoMaskMergeRop (bits, READ(dst), startmask)); dst++; } n = nmiddle; @@ -716,8 +714,8 @@ fbBltOdd (FbBits *srcLine, { while (n--) { - bits = *src++; - *dst = FbDoDestInvarientMergeRop(bits); + bits = READ(src++); + WRITE(dst, FbDoDestInvarientMergeRop(bits)); dst++; } } @@ -725,28 +723,28 @@ fbBltOdd (FbBits *srcLine, { while (n--) { - bits = *src++; - *dst = FbDoMergeRop (bits, *dst); + bits = READ(src++); + WRITE(dst, FbDoMergeRop (bits, READ(dst))); dst++; } } if (endmask) { - bits = *src; - *dst = FbDoMaskMergeRop(bits, *dst, endmask); + bits = READ(src); + WRITE(dst, FbDoMaskMergeRop(bits, READ(dst), endmask)); } } else { bits = 0; if (srcX > dstX) - bits = *src++; + bits = READ(src++); if (startmask) { bits1 = FbScrLeft(bits, leftShift); - bits = *src++; + bits = READ(src++); bits1 |= FbScrRight(bits, rightShift); - *dst = FbDoMaskMergeRop (bits1, *dst, startmask); + WRITE(dst, FbDoMaskMergeRop (bits1, READ(dst), startmask)); dst++; } n = nmiddle; @@ -755,9 +753,9 @@ fbBltOdd (FbBits *srcLine, while (n--) { bits1 = FbScrLeft(bits, leftShift); - bits = *src++; + bits = READ(src++); bits1 |= FbScrRight(bits, rightShift); - *dst = FbDoDestInvarientMergeRop(bits1); + WRITE(dst, FbDoDestInvarientMergeRop(bits1)); dst++; } } @@ -766,9 +764,9 @@ fbBltOdd (FbBits *srcLine, while (n--) { bits1 = FbScrLeft(bits, leftShift); - bits = *src++; + bits = READ(src++); bits1 |= FbScrRight(bits, rightShift); - *dst = FbDoMergeRop(bits1, *dst); + WRITE(dst, FbDoMergeRop(bits1, READ(dst))); dst++; } } @@ -777,10 +775,10 @@ fbBltOdd (FbBits *srcLine, bits1 = FbScrLeft(bits, leftShift); if (FbScrLeft(endmask, rightShift)) { - bits = *src; + bits = READ(src); bits1 |= FbScrRight(bits, rightShift); } - *dst = FbDoMaskMergeRop (bits1, *dst, endmask); + WRITE(dst, FbDoMaskMergeRop (bits1, READ(dst), endmask)); } } } diff --git a/xserver/fb/fbbltone.c b/xserver/fb/fbbltone.c index f06357a37..ffe69775a 100644 --- a/xserver/fb/fbbltone.c +++ b/xserver/fb/fbbltone.c @@ -1,6 +1,4 @@ /* - * Id: fbbltone.c,v 1.1 1999/11/02 03:54:45 keithp Exp $ - * * Copyright © 1998 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its @@ -51,12 +49,12 @@ #define LoadBits {\ if (leftShift) { \ - bitsRight = (src < srcEnd ? *src++ : 0); \ + bitsRight = (src < srcEnd ? READ(src++) : 0); \ bits = (FbStipLeft (bitsLeft, leftShift) | \ FbStipRight(bitsRight, rightShift)); \ bitsLeft = bitsRight; \ } else \ - bits = (src < srcEnd ? *src++ : 0); \ + bits = (src < srcEnd ? READ(src++) : 0); \ } #ifndef FBNOPIXADDR @@ -285,7 +283,7 @@ fbBltOne (FbStip *src, bitsLeft = 0; if (srcX > dstS) - bitsLeft = *src++; + bitsLeft = READ(src++); if (n) { /* @@ -338,7 +336,7 @@ fbBltOne (FbStip *src, else #endif mask = fbBits[FbLeftStipBits(bits,pixelsPerDst)]; - *dst = FbOpaqueStipple (mask, fgxor, bgxor); + WRITE(dst, FbOpaqueStipple (mask, fgxor, bgxor)); dst++; bits = FbStipLeft(bits, pixelsPerDst); } @@ -368,8 +366,8 @@ fbBltOne (FbStip *src, if (left || !transparent) { mask = fbBits[left]; - *dst = FbStippleRRop (*dst, mask, - fgand, fgxor, bgand, bgxor); + WRITE(dst, FbStippleRRop (READ(dst), mask, + fgand, fgxor, bgand, bgxor)); } dst++; bits = FbStipLeft(bits, pixelsPerDst); @@ -537,7 +535,7 @@ const FbBits fbStipple24Bits[3][1 << FbStip24Len] = { stip = FbLeftStipBits(bits, len); \ } else { \ stip = FbLeftStipBits(bits, remain); \ - bits = (src < srcEnd ? *src++ : 0); \ + bits = (src < srcEnd ? READ(src++) : 0); \ __len = (len) - remain; \ stip = FbMergePartStip24Bits(stip, FbLeftStipBits(bits, __len), \ remain, __len); \ @@ -548,7 +546,7 @@ const FbBits fbStipple24Bits[3][1 << FbStip24Len] = { } #define fbInitStipBits(offset,len,stip) {\ - bits = FbStipLeft (*src++,offset); \ + bits = FbStipLeft (READ(src++),offset); \ remain = FB_STIP_UNIT - offset; \ fbFirstStipBits(len,stip); \ stip = FbMergeStip24Bits (0, stip, len); \ @@ -631,10 +629,11 @@ fbBltOne24 (FbStip *srcLine, if (leftMask) { mask = fbStipple24Bits[rot >> 3][stip]; - *dst = (*dst & ~leftMask) | (FbOpaqueStipple (mask, - FbRot24(fgxor, rot), - FbRot24(bgxor, rot)) - & leftMask); + WRITE(dst, (READ(dst) & ~leftMask) | + (FbOpaqueStipple (mask, + FbRot24(fgxor, rot), + FbRot24(bgxor, rot)) + & leftMask)); dst++; fbNextStipBits(rot,stip); } @@ -642,19 +641,20 @@ fbBltOne24 (FbStip *srcLine, while (nl--) { mask = fbStipple24Bits[rot>>3][stip]; - *dst = FbOpaqueStipple (mask, - FbRot24(fgxor, rot), - FbRot24(bgxor, rot)); + WRITE(dst, FbOpaqueStipple (mask, + FbRot24(fgxor, rot), + FbRot24(bgxor, rot))); dst++; fbNextStipBits(rot,stip); } if (rightMask) { mask = fbStipple24Bits[rot >> 3][stip]; - *dst = (*dst & ~rightMask) | (FbOpaqueStipple (mask, - FbRot24(fgxor, rot), - FbRot24(bgxor, rot)) - & rightMask); + WRITE(dst, (READ(dst) & ~rightMask) | + (FbOpaqueStipple (mask, + FbRot24(fgxor, rot), + FbRot24(bgxor, rot)) + & rightMask)); } dst += dstStride; src += srcStride; @@ -674,7 +674,7 @@ fbBltOne24 (FbStip *srcLine, if (stip) { mask = fbStipple24Bits[rot >> 3][stip] & leftMask; - *dst = (*dst & ~mask) | (FbRot24(fgxor, rot) & mask); + WRITE(dst, (READ(dst) & ~mask) | (FbRot24(fgxor, rot) & mask)); } dst++; fbNextStipBits (rot, stip); @@ -685,7 +685,7 @@ fbBltOne24 (FbStip *srcLine, if (stip) { mask = fbStipple24Bits[rot>>3][stip]; - *dst = (*dst & ~mask) | (FbRot24(fgxor,rot) & mask); + WRITE(dst, (READ(dst) & ~mask) | (FbRot24(fgxor,rot) & mask)); } dst++; fbNextStipBits (rot, stip); @@ -695,7 +695,7 @@ fbBltOne24 (FbStip *srcLine, if (stip) { mask = fbStipple24Bits[rot >> 3][stip] & rightMask; - *dst = (*dst & ~mask) | (FbRot24(fgxor, rot) & mask); + WRITE(dst, (READ(dst) & ~mask) | (FbRot24(fgxor, rot) & mask)); } } dst += dstStride; @@ -712,12 +712,12 @@ fbBltOne24 (FbStip *srcLine, if (leftMask) { mask = fbStipple24Bits[rot >> 3][stip]; - *dst = FbStippleRRopMask (*dst, mask, - FbRot24(fgand, rot), - FbRot24(fgxor, rot), - FbRot24(bgand, rot), - FbRot24(bgxor, rot), - leftMask); + WRITE(dst, FbStippleRRopMask (READ(dst), mask, + FbRot24(fgand, rot), + FbRot24(fgxor, rot), + FbRot24(bgand, rot), + FbRot24(bgxor, rot), + leftMask)); dst++; fbNextStipBits(rot,stip); } @@ -725,23 +725,23 @@ fbBltOne24 (FbStip *srcLine, while (nl--) { mask = fbStipple24Bits[rot >> 3][stip]; - *dst = FbStippleRRop (*dst, mask, - FbRot24(fgand, rot), - FbRot24(fgxor, rot), - FbRot24(bgand, rot), - FbRot24(bgxor, rot)); + WRITE(dst, FbStippleRRop (READ(dst), mask, + FbRot24(fgand, rot), + FbRot24(fgxor, rot), + FbRot24(bgand, rot), + FbRot24(bgxor, rot))); dst++; fbNextStipBits(rot,stip); } if (rightMask) { mask = fbStipple24Bits[rot >> 3][stip]; - *dst = FbStippleRRopMask (*dst, mask, - FbRot24(fgand, rot), - FbRot24(fgxor, rot), - FbRot24(bgand, rot), - FbRot24(bgxor, rot), - rightMask); + WRITE(dst, FbStippleRRopMask (READ(dst), mask, + FbRot24(fgand, rot), + FbRot24(fgxor, rot), + FbRot24(bgand, rot), + FbRot24(bgxor, rot), + rightMask)); } dst += dstStride; } @@ -832,7 +832,7 @@ fbBltPlane (FbBits *src, if (srcBpp == 24) srcMask0 = FbRot24(pm,rot0) & FbBitsMask(0, srcBpp); #endif - srcBits = *s++; + srcBits = READ(s++); dstMask = dstMaskFirst; dstUnion = 0; @@ -844,7 +844,7 @@ fbBltPlane (FbBits *src, { if (!srcMask) { - srcBits = *s++; + srcBits = READ(s++); #ifdef FB_24BIT if (srcBpp == 24) srcMask0 = FbNext24Pix(srcMask0) & FbBitsMask(0,24); @@ -853,9 +853,9 @@ fbBltPlane (FbBits *src, } if (!dstMask) { - *d = FbStippleRRopMask(*d, dstBits, - fgand, fgxor, bgand, bgxor, - dstUnion); + WRITE(d, FbStippleRRopMask(READ(d), dstBits, + fgand, fgxor, bgand, bgxor, + dstUnion)); d++; dstMask = FbStipMask(0,1); dstUnion = 0; @@ -871,9 +871,9 @@ fbBltPlane (FbBits *src, dstMask = FbStipRight(dstMask,1); } if (dstUnion) - *d = FbStippleRRopMask(*d,dstBits, - fgand, fgxor, bgand, bgxor, - dstUnion); + WRITE(d, FbStippleRRopMask(READ(d),dstBits, + fgand, fgxor, bgand, bgxor, + dstUnion)); } } diff --git a/xserver/fb/fbbstore.c b/xserver/fb/fbbstore.c index 78174b6fc..3ee5f5e35 100644 --- a/xserver/fb/fbbstore.c +++ b/xserver/fb/fbbstore.c @@ -1,6 +1,4 @@ /* - * Id: fbbstore.c,v 1.1 1999/11/02 03:54:45 keithp Exp $ - * * Copyright © 1998 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its diff --git a/xserver/fb/fbcmap.c b/xserver/fb/fbcmap.c index 9cf5bcbf5..c29a5131c 100644 --- a/xserver/fb/fbcmap.c +++ b/xserver/fb/fbcmap.c @@ -39,7 +39,12 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE. #include "resource.h" #include "fb.h" -#ifndef XFree86Server +#ifdef XFree86Server +#error "You should be compiling fbcmap_mi.c instead of fbcmap.c!" +#endif + + + ColormapPtr FbInstalledMaps[MAXSCREENS]; int @@ -584,87 +589,3 @@ fbInitVisuals (VisualPtr *visualp, *defaultVisp = depth[i].vids[j]; return TRUE; } -#else - -#include "micmap.h" - -int -fbListInstalledColormaps(ScreenPtr pScreen, Colormap *pmaps) -{ - return miListInstalledColormaps(pScreen, pmaps); -} - -void -fbInstallColormap(ColormapPtr pmap) -{ - miInstallColormap(pmap); -} - -void -fbUninstallColormap(ColormapPtr pmap) -{ - miUninstallColormap(pmap); -} - -void -fbResolveColor(unsigned short *pred, - unsigned short *pgreen, - unsigned short *pblue, - VisualPtr pVisual) -{ - miResolveColor(pred, pgreen, pblue, pVisual); -} - -Bool -fbInitializeColormap(ColormapPtr pmap) -{ - return miInitializeColormap(pmap); -} - -int -fbExpandDirectColors (ColormapPtr pmap, - int ndef, - xColorItem *indefs, - xColorItem *outdefs) -{ - return miExpandDirectColors(pmap, ndef, indefs, outdefs); -} - -Bool -fbCreateDefColormap(ScreenPtr pScreen) -{ - return miCreateDefColormap(pScreen); -} - -void -fbClearVisualTypes(void) -{ - miClearVisualTypes(); -} - -Bool -fbSetVisualTypes (int depth, int visuals, int bitsPerRGB) -{ - return miSetVisualTypes(depth, visuals, bitsPerRGB, -1); -} - -/* - * Given a list of formats for a screen, create a list - * of visuals and depths for the screen which coorespond to - * the set which can be used with this version of fb. - */ - -Bool -fbInitVisuals (VisualPtr *visualp, - DepthPtr *depthp, - int *nvisualp, - int *ndepthp, - int *rootDepthp, - VisualID *defaultVisp, - unsigned long sizes, - int bitsPerRGB) -{ - return miInitVisuals(visualp, depthp, nvisualp, ndepthp, rootDepthp, - defaultVisp, sizes, bitsPerRGB, -1); -} -#endif diff --git a/xserver/fb/fbcmap_mi.c b/xserver/fb/fbcmap_mi.c new file mode 100644 index 000000000..58bcae3aa --- /dev/null +++ b/xserver/fb/fbcmap_mi.c @@ -0,0 +1,123 @@ +/************************************************************ +Copyright 1987 by Sun Microsystems, Inc. Mountain View, CA. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this +software and its documentation for any purpose and without +fee is hereby granted, provided that the above copyright no- +tice appear in all copies and that both that copyright no- +tice and this permission notice appear in supporting docu- +mentation, and that the names of Sun or X Consortium +not be used in advertising or publicity pertaining to +distribution of the software without specific prior +written permission. Sun and X Consortium make no +representations about the suitability of this software for +any purpose. It is provided "as is" without any express or +implied warranty. + +SUN DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FIT- +NESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SUN BE LI- +ABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR +PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH +THE USE OR PERFORMANCE OF THIS SOFTWARE. + +********************************************************/ + + +/** + * This version of fbcmap.c is implemented in terms of mi functions. + * These functions used to be in fbcmap.c and depended upon the symbol + * XFree86Server being defined. + */ + + +#ifdef HAVE_DIX_CONFIG_H +#include +#endif + +#include +#include "fb.h" +#include "micmap.h" + +int +fbListInstalledColormaps(ScreenPtr pScreen, Colormap *pmaps) +{ + return miListInstalledColormaps(pScreen, pmaps); +} + +void +fbInstallColormap(ColormapPtr pmap) +{ + miInstallColormap(pmap); +} + +void +fbUninstallColormap(ColormapPtr pmap) +{ + miUninstallColormap(pmap); +} + +void +fbResolveColor(unsigned short *pred, + unsigned short *pgreen, + unsigned short *pblue, + VisualPtr pVisual) +{ + miResolveColor(pred, pgreen, pblue, pVisual); +} + +Bool +fbInitializeColormap(ColormapPtr pmap) +{ + return miInitializeColormap(pmap); +} + +int +fbExpandDirectColors (ColormapPtr pmap, + int ndef, + xColorItem *indefs, + xColorItem *outdefs) +{ + return miExpandDirectColors(pmap, ndef, indefs, outdefs); +} + +Bool +fbCreateDefColormap(ScreenPtr pScreen) +{ + return miCreateDefColormap(pScreen); +} + +void +fbClearVisualTypes(void) +{ + miClearVisualTypes(); +} + +Bool +fbSetVisualTypes (int depth, int visuals, int bitsPerRGB) +{ + return miSetVisualTypes(depth, visuals, bitsPerRGB, -1); +} + +/* + * Given a list of formats for a screen, create a list + * of visuals and depths for the screen which coorespond to + * the set which can be used with this version of fb. + */ +Bool +fbInitVisuals (VisualPtr *visualp, + DepthPtr *depthp, + int *nvisualp, + int *ndepthp, + int *rootDepthp, + VisualID *defaultVisp, + unsigned long sizes, + int bitsPerRGB) +{ + return miInitVisuals(visualp, depthp, nvisualp, ndepthp, rootDepthp, + defaultVisp, sizes, bitsPerRGB, -1); +} diff --git a/xserver/fb/fbcopy.c b/xserver/fb/fbcopy.c index 0d1cb7faf..68f403f3f 100644 --- a/xserver/fb/fbcopy.c +++ b/xserver/fb/fbcopy.c @@ -1,6 +1,4 @@ /* - * Id: fbcopy.c,v 1.1 1999/11/02 03:54:45 keithp Exp $ - * * Copyright © 1998 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its @@ -29,7 +27,6 @@ #include #include "fb.h" -#include "fbmmx.h" void fbCopyNtoN (DrawablePtr pSrcDrawable, @@ -60,21 +57,17 @@ fbCopyNtoN (DrawablePtr pSrcDrawable, while (nbox--) { -#ifdef USE_MMX +#ifndef FB_ACCESS_WRAPPER /* pixman_blt() doesn't support accessors yet */ if (pm == FB_ALLONES && alu == GXcopy && !reverse && - !upsidedown && fbHaveMMX()) + !upsidedown) { - if (!fbCopyAreammx (pSrcDrawable, - pDstDrawable, - - (pbox->x1 + dx), - (pbox->y1 + dy), - - (pbox->x1), - (pbox->y1), - - (pbox->x2 - pbox->x1), - (pbox->y2 - pbox->y1))) + if (!pixman_blt ((uint32_t *)src, (uint32_t *)dst, srcStride, dstStride, srcBpp, dstBpp, + (pbox->x1 + dx + srcXoff), + (pbox->y1 + dy + srcYoff), + (pbox->x1 + dstXoff), + (pbox->y1 + dstYoff), + (pbox->x2 - pbox->x1), + (pbox->y2 - pbox->y1))) goto fallback; else goto next; @@ -98,11 +91,13 @@ fbCopyNtoN (DrawablePtr pSrcDrawable, reverse, upsidedown); -#ifdef USE_MMX +#ifndef FB_ACCESS_WRAPPER next: #endif pbox++; } + fbFinishAccess (pDstDrawable); + fbFinishAccess (pSrcDrawable); } void @@ -173,6 +168,9 @@ fbCopy1toN (DrawablePtr pSrcDrawable, } pbox++; } + + fbFinishAccess (pDstDrawable); + fbFinishAccess (pSrcDrawable); } void @@ -221,6 +219,8 @@ fbCopyNto1 (DrawablePtr pSrcDrawable, (FbStip) pPriv->and, (FbStip) pPriv->xor, (FbStip) pPriv->bgand, (FbStip) pPriv->bgxor, bitplane); + fbFinishAccess (pDstDrawable); + fbFinishAccess (pSrcDrawable); } else { @@ -281,6 +281,9 @@ fbCopyNto1 (DrawablePtr pSrcDrawable, pPriv->and, pPriv->xor, pPriv->bgand, pPriv->bgxor); xfree (tmp); + + fbFinishAccess (pDstDrawable); + fbFinishAccess (pSrcDrawable); } pbox++; } diff --git a/xserver/fb/fbfill.c b/xserver/fb/fbfill.c index ad5025c84..831b1ce76 100644 --- a/xserver/fb/fbfill.c +++ b/xserver/fb/fbfill.c @@ -1,6 +1,4 @@ /* - * Id: fbfill.c,v 1.1 1999/11/02 03:54:45 keithp Exp $ - * * Copyright © 1998 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its @@ -27,7 +25,6 @@ #endif #include "fb.h" -#include "fbmmx.h" void fbFill (DrawablePtr pDrawable, @@ -47,17 +44,18 @@ fbFill (DrawablePtr pDrawable, switch (pGC->fillStyle) { case FillSolid: -#ifdef USE_MMX - if (!pPriv->and && fbHaveMMX()) - if (fbSolidFillmmx (pDrawable, x, y, width, height, pPriv->xor)) - return; +#ifndef FB_ACCESS_WRAPPER + if (pPriv->and || !pixman_fill ((uint32_t *)dst, dstStride, dstBpp, + x + dstXoff, y + dstYoff, + width, height, + pPriv->xor)) #endif - fbSolid (dst + (y + dstYoff) * dstStride, - dstStride, - (x + dstXoff) * dstBpp, - dstBpp, - width * dstBpp, height, - pPriv->and, pPriv->xor); + fbSolid (dst + (y + dstYoff) * dstStride, + dstStride, + (x + dstXoff) * dstBpp, + dstBpp, + width * dstBpp, height, + pPriv->and, pPriv->xor); break; case FillStippled: case FillOpaqueStippled: { @@ -92,6 +90,7 @@ fbFill (DrawablePtr pDrawable, (pGC->patOrg.x + pDrawable->x + dstXoff), pGC->patOrg.y + pDrawable->y - y); + fbFinishAccess (&pStip->drawable); } else { @@ -129,6 +128,7 @@ fbFill (DrawablePtr pDrawable, bgand, bgxor, pGC->patOrg.x + pDrawable->x + dstXoff, pGC->patOrg.y + pDrawable->y - y); + fbFinishAccess (&pStip->drawable); } break; } @@ -157,10 +157,12 @@ fbFill (DrawablePtr pDrawable, dstBpp, (pGC->patOrg.x + pDrawable->x + dstXoff) * dstBpp, pGC->patOrg.y + pDrawable->y - y); + fbFinishAccess (&pTile->drawable); break; } } fbValidateDrawable (pDrawable); + fbFinishAccess (pDrawable); } void @@ -209,23 +211,20 @@ fbSolidBoxClipped (DrawablePtr pDrawable, if (partY2 <= partY1) continue; -#ifdef USE_MMX - if (!and && fbHaveMMX()) - { - if (fbSolidFillmmx (pDrawable, - partX1, partY1, - (partX2 - partX1), (partY2 - partY1), - xor)) - return; - } +#ifndef FB_ACCESS_WRAPPER + if (and || !pixman_fill ((uint32_t *)dst, dstStride, dstBpp, + partX1 + dstXoff, partY1 + dstYoff, + (partX2 - partX1), (partY2 - partY1), + xor)) #endif - fbSolid (dst + (partY1 + dstYoff) * dstStride, - dstStride, - (partX1 + dstXoff) * dstBpp, - dstBpp, - - (partX2 - partX1) * dstBpp, - (partY2 - partY1), - and, xor); + fbSolid (dst + (partY1 + dstYoff) * dstStride, + dstStride, + (partX1 + dstXoff) * dstBpp, + dstBpp, + + (partX2 - partX1) * dstBpp, + (partY2 - partY1), + and, xor); } + fbFinishAccess (pDrawable); } diff --git a/xserver/fb/fbfillrect.c b/xserver/fb/fbfillrect.c index f404044c5..4e4edb3fd 100644 --- a/xserver/fb/fbfillrect.c +++ b/xserver/fb/fbfillrect.c @@ -1,6 +1,4 @@ /* - * Id: fbfillrect.c,v 1.1 1999/11/02 03:54:45 keithp Exp $ - * * Copyright © 1998 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its diff --git a/xserver/fb/fbfillsp.c b/xserver/fb/fbfillsp.c index 77e4772a6..5d2147213 100644 --- a/xserver/fb/fbfillsp.c +++ b/xserver/fb/fbfillsp.c @@ -1,6 +1,4 @@ /* - * Id: fbfillsp.c,v 1.1 1999/11/02 03:54:45 keithp Exp $ - * * Copyright © 1998 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its diff --git a/xserver/fb/fbgc.c b/xserver/fb/fbgc.c index 5b5581093..fda391b14 100644 --- a/xserver/fb/fbgc.c +++ b/xserver/fb/fbgc.c @@ -1,6 +1,4 @@ /* - * Id: fbgc.c,v 1.1 1999/11/02 03:54:45 keithp Exp $ - * * Copyright © 1998 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its @@ -106,16 +104,18 @@ fbPadPixmap (PixmapPtr pPixmap) mask = FbBitsMask (0, width); while (height--) { - b = *bits & mask; + b = READ(bits) & mask; w = width; while (w < FB_UNIT) { b = b | FbScrRight(b, w); w <<= 1; } - *bits = b; + WRITE(bits, b); bits += stride; } + + fbFinishAccess (&pPixmap->drawable); } /* @@ -153,7 +153,7 @@ fbLineRepeat (FbBits *bits, int len, int width) width = (width + FB_UNIT-1) >> FB_SHIFT; bits++; while (--width) - if (*bits != first) + if (READ(bits) != first) return FALSE; return TRUE; } @@ -183,10 +183,13 @@ fbCanEvenStipple (PixmapPtr pStipple, int bpp) /* check to see that the stipple repeats horizontally */ while (h--) { - if (!fbLineRepeat (bits, len, pStipple->drawable.width)) + if (!fbLineRepeat (bits, len, pStipple->drawable.width)) { + fbFinishAccess (&pStipple->drawable); return FALSE; + } bits += stride; } + fbFinishAccess (&pStipple->drawable); return TRUE; } diff --git a/xserver/fb/fbgetsp.c b/xserver/fb/fbgetsp.c index f77ea8c52..6402c6c38 100644 --- a/xserver/fb/fbgetsp.c +++ b/xserver/fb/fbgetsp.c @@ -1,6 +1,4 @@ /* - * Id: fbgetsp.c,v 1.1 1999/11/02 03:54:45 keithp Exp $ - * * Copyright © 1998 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its @@ -84,4 +82,6 @@ fbGetSpans(DrawablePtr pDrawable, ppt++; pwidth++; } + + fbFinishAccess (pDrawable); } diff --git a/xserver/fb/fbglyph.c b/xserver/fb/fbglyph.c index 8e819401b..2c19b742f 100644 --- a/xserver/fb/fbglyph.c +++ b/xserver/fb/fbglyph.c @@ -62,11 +62,11 @@ fbGlyphIn (RegionPtr pRegion, #ifdef FB_24BIT #ifndef FBNOPIXADDR -#define WRITE1(d,n,fg) ((d)[n] = (CARD8) fg) -#define WRITE2(d,n,fg) (*(CARD16 *) &(d[n]) = (CARD16) fg) -#define WRITE4(d,n,fg) (*(CARD32 *) &(d[n]) = (CARD32) fg) +#define WRITE1(d,n,fg) WRITE((d) + (n), (CARD8) fg) +#define WRITE2(d,n,fg) WRITE((CARD16 *) &(d[n]), (CARD16) fg) +#define WRITE4(d,n,fg) WRITE((CARD32 *) &(d[n]), (CARD32) fg) #if FB_UNIT == 6 && IMAGE_BYTE_ORDER == LSBFirst -#define WRITE8(d) (*(FbBits *) &(d[0]) = fg) +#define WRITE8(d) WRITE((FbBits *) &(d[0]), fg) #else #define WRITE8(d) WRITE4(d,0,_ABCA), WRITE4(d,4,_BCAB) #endif @@ -157,7 +157,7 @@ fbGlyph24 (FbBits *dstBits, lshift = 4 - shift; while (height--) { - bits = *stipple++; + bits = READ(stipple++); n = lshift; dst = dstLine; while (bits) @@ -284,7 +284,7 @@ fbPolyGlyphBlt (DrawablePtr pDrawable, glyph = 0; if (pGC->fillStyle == FillSolid && pPriv->and == 0) { - fbGetDrawable (pDrawable, dst, dstStride, dstBpp, dstXoff, dstYoff); + dstBpp = pDrawable->bitsPerPixel; switch (dstBpp) { case 8: glyph = fbGlyph8; break; case 16: glyph = fbGlyph16; break; @@ -312,6 +312,7 @@ fbPolyGlyphBlt (DrawablePtr pDrawable, if (glyph && gWidth <= sizeof (FbStip) * 8 && fbGlyphIn (fbGetCompositeClip(pGC), gx, gy, gWidth, gHeight)) { + fbGetDrawable (pDrawable, dst, dstStride, dstBpp, dstXoff, dstYoff); (*glyph) (dst + (gy + dstYoff) * dstStride, dstStride, dstBpp, @@ -319,6 +320,7 @@ fbPolyGlyphBlt (DrawablePtr pDrawable, pPriv->xor, gx + dstXoff, gHeight); + fbFinishAccess (pDrawable); } else #endif @@ -375,7 +377,7 @@ fbImageGlyphBlt (DrawablePtr pDrawable, glyph = 0; if (pPriv->and == 0) { - fbGetDrawable (pDrawable, dst, dstStride, dstBpp, dstXoff, dstYoff); + dstBpp = pDrawable->bitsPerPixel; switch (dstBpp) { case 8: glyph = fbGlyph8; break; case 16: glyph = fbGlyph16; break; @@ -443,6 +445,7 @@ fbImageGlyphBlt (DrawablePtr pDrawable, if (glyph && gWidth <= sizeof (FbStip) * 8 && fbGlyphIn (fbGetCompositeClip(pGC), gx, gy, gWidth, gHeight)) { + fbGetDrawable (pDrawable, dst, dstStride, dstBpp, dstXoff, dstYoff); (*glyph) (dst + (gy + dstYoff) * dstStride, dstStride, dstBpp, @@ -450,6 +453,7 @@ fbImageGlyphBlt (DrawablePtr pDrawable, pPriv->fg, gx + dstXoff, gHeight); + fbFinishAccess (pDrawable); } else #endif diff --git a/xserver/fb/fbimage.c b/xserver/fb/fbimage.c index 3b4a07c3d..2b9ac27c0 100644 --- a/xserver/fb/fbimage.c +++ b/xserver/fb/fbimage.c @@ -1,6 +1,4 @@ /* - * Id: fbimage.c,v 1.1 1999/11/02 03:54:45 keithp Exp $ - * * Copyright © 1998 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its @@ -170,6 +168,8 @@ fbPutZImage (DrawablePtr pDrawable, pm, dstBpp); } + + fbFinishAccess (pDrawable); } void @@ -277,6 +277,8 @@ fbPutXYImage (DrawablePtr pDrawable, fgand, fgxor, bgand, bgxor); } } + + fbFinishAccess (pDrawable); } void @@ -361,4 +363,6 @@ fbGetImage (DrawablePtr pDrawable, fbXorStip(GXcopy,0,FB_STIP_ALLONES), planeMask); } + + fbFinishAccess (pDrawable); } diff --git a/xserver/fb/fbline.c b/xserver/fb/fbline.c index 8e99dd99f..2cee123ae 100644 --- a/xserver/fb/fbline.c +++ b/xserver/fb/fbline.c @@ -1,6 +1,4 @@ /* - * $XFree86$ - * * Copyright © 1998 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its diff --git a/xserver/fb/fboverlay.c b/xserver/fb/fboverlay.c index 1e3d756ed..5d7481eed 100644 --- a/xserver/fb/fboverlay.c +++ b/xserver/fb/fboverlay.c @@ -413,11 +413,7 @@ fbOverlayFinishScreenInit(ScreenPtr pScreen, return FALSE; if (! miScreenInit(pScreen, 0, xsize, ysize, dpix, dpiy, 0, depth1, ndepths, depths, - defaultVisual, nvisuals, visuals -#ifdef FB_OLD_MISCREENINIT - , (miBSFuncPtr) 0 -#endif - )) + defaultVisual, nvisuals, visuals)) return FALSE; /* MI thinks there's no frame buffer */ #ifdef MITSHM diff --git a/xserver/fb/fbpict.c b/xserver/fb/fbpict.c index 38afbea5c..85b5171c5 100644 --- a/xserver/fb/fbpict.c +++ b/xserver/fb/fbpict.c @@ -1,6 +1,7 @@ /* * * Copyright © 2000 SuSE, Inc. + * Copyright © 2007 Red Hat, Inc. * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that @@ -35,833 +36,36 @@ #include "picturestr.h" #include "mipict.h" #include "fbpict.h" -#include "fbmmx.h" -typedef void (*CompositeFunc) (CARD8 op, - PicturePtr pSrc, - PicturePtr pMask, - PicturePtr pDst, - INT16 xSrc, - INT16 ySrc, - INT16 xMask, - INT16 yMask, - INT16 xDst, - INT16 yDst, - CARD16 width, - CARD16 height); - -CARD32 -fbOver (CARD32 x, CARD32 y) -{ - CARD16 a = ~x >> 24; - CARD16 t; - CARD32 m,n,o,p; - - m = FbOverU(x,y,0,a,t); - n = FbOverU(x,y,8,a,t); - o = FbOverU(x,y,16,a,t); - p = FbOverU(x,y,24,a,t); - return m|n|o|p; -} - -CARD32 -fbOver24 (CARD32 x, CARD32 y) -{ - CARD16 a = ~x >> 24; - CARD16 t; - CARD32 m,n,o; - - m = FbOverU(x,y,0,a,t); - n = FbOverU(x,y,8,a,t); - o = FbOverU(x,y,16,a,t); - return m|n|o; -} - -CARD32 -fbIn (CARD32 x, CARD8 y) -{ - CARD16 a = y; - CARD16 t; - CARD32 m,n,o,p; - - m = FbInU(x,0,a,t); - n = FbInU(x,8,a,t); - o = FbInU(x,16,a,t); - p = FbInU(x,24,a,t); - return m|n|o|p; -} - -/* - * Naming convention: - * - * opSRCxMASKxDST - */ +#define mod(a,b) ((b) == 1 ? 0 : (a) >= 0 ? (a) % (b) : (b) - (-a) % (b)) void -fbCompositeSolidMask_nx8x8888 (CARD8 op, - PicturePtr pSrc, - PicturePtr pMask, - PicturePtr pDst, - INT16 xSrc, - INT16 ySrc, - INT16 xMask, - INT16 yMask, - INT16 xDst, - INT16 yDst, - CARD16 width, - CARD16 height) -{ - CARD32 src, srca; - CARD32 *dstLine, *dst, d, dstMask; - CARD8 *maskLine, *mask, m; - FbStride dstStride, maskStride; - CARD16 w; - - fbComposeGetSolid(pSrc, src, pDst->format); - - dstMask = FbFullMask (pDst->pDrawable->depth); - srca = src >> 24; - if (src == 0) - return; - - fbComposeGetStart (pDst, xDst, yDst, CARD32, dstStride, dstLine, 1); - fbComposeGetStart (pMask, xMask, yMask, CARD8, maskStride, maskLine, 1); - - while (height--) - { - dst = dstLine; - dstLine += dstStride; - mask = maskLine; - maskLine += maskStride; - w = width; - - while (w--) - { - m = *mask++; - if (m == 0xff) - { - if (srca == 0xff) - *dst = src & dstMask; - else - *dst = fbOver (src, *dst) & dstMask; - } - else if (m) - { - d = fbIn (src, m); - *dst = fbOver (d, *dst) & dstMask; - } - dst++; - } - } -} - -void -fbCompositeSolidMask_nx8888x8888C (CARD8 op, - PicturePtr pSrc, - PicturePtr pMask, - PicturePtr pDst, - INT16 xSrc, - INT16 ySrc, - INT16 xMask, - INT16 yMask, - INT16 xDst, - INT16 yDst, - CARD16 width, - CARD16 height) -{ - CARD32 src, srca; - CARD32 *dstLine, *dst, d, dstMask; - CARD32 *maskLine, *mask, ma; - FbStride dstStride, maskStride; - CARD16 w; - CARD32 m, n, o, p; - - fbComposeGetSolid(pSrc, src, pDst->format); - - dstMask = FbFullMask (pDst->pDrawable->depth); - srca = src >> 24; - if (src == 0) - return; - - fbComposeGetStart (pDst, xDst, yDst, CARD32, dstStride, dstLine, 1); - fbComposeGetStart (pMask, xMask, yMask, CARD32, maskStride, maskLine, 1); - - while (height--) - { - dst = dstLine; - dstLine += dstStride; - mask = maskLine; - maskLine += maskStride; - w = width; - - while (w--) - { - ma = *mask++; - if (ma == 0xffffffff) - { - if (srca == 0xff) - *dst = src & dstMask; - else - *dst = fbOver (src, *dst) & dstMask; - } - else if (ma) - { - d = *dst; -#define FbInOverC(src,srca,msk,dst,i,result) { \ - CARD16 __a = FbGet8(msk,i); \ - CARD32 __t, __ta; \ - CARD32 __i; \ - __t = FbIntMult (FbGet8(src,i), __a,__i); \ - __ta = (CARD8) ~FbIntMult (srca, __a,__i); \ - __t = __t + FbIntMult(FbGet8(dst,i),__ta,__i); \ - __t = (CARD32) (CARD8) (__t | (-(__t >> 8))); \ - result = __t << (i); \ -} - FbInOverC (src, srca, ma, d, 0, m); - FbInOverC (src, srca, ma, d, 8, n); - FbInOverC (src, srca, ma, d, 16, o); - FbInOverC (src, srca, ma, d, 24, p); - *dst = m|n|o|p; - } - dst++; - } - } -} - -void -fbCompositeSolidMask_nx8x0888 (CARD8 op, - PicturePtr pSrc, - PicturePtr pMask, - PicturePtr pDst, - INT16 xSrc, - INT16 ySrc, - INT16 xMask, - INT16 yMask, - INT16 xDst, - INT16 yDst, - CARD16 width, - CARD16 height) -{ - CARD32 src, srca; - CARD8 *dstLine, *dst; - CARD32 d; - CARD8 *maskLine, *mask, m; - FbStride dstStride, maskStride; - CARD16 w; - - fbComposeGetSolid(pSrc, src, pDst->format); - - srca = src >> 24; - if (src == 0) - return; - - fbComposeGetStart (pDst, xDst, yDst, CARD8, dstStride, dstLine, 3); - fbComposeGetStart (pMask, xMask, yMask, CARD8, maskStride, maskLine, 1); - - while (height--) - { - dst = dstLine; - dstLine += dstStride; - mask = maskLine; - maskLine += maskStride; - w = width; - - while (w--) - { - m = *mask++; - if (m == 0xff) - { - if (srca == 0xff) - d = src; - else - { - d = Fetch24(dst); - d = fbOver24 (src, d); - } - Store24(dst,d); - } - else if (m) - { - d = fbOver24 (fbIn(src,m), Fetch24(dst)); - Store24(dst,d); - } - dst += 3; - } - } -} - -void -fbCompositeSolidMask_nx8x0565 (CARD8 op, - PicturePtr pSrc, - PicturePtr pMask, - PicturePtr pDst, - INT16 xSrc, - INT16 ySrc, - INT16 xMask, - INT16 yMask, - INT16 xDst, - INT16 yDst, - CARD16 width, - CARD16 height) -{ - CARD32 src, srca; - CARD16 *dstLine, *dst; - CARD32 d; - CARD8 *maskLine, *mask, m; - FbStride dstStride, maskStride; - CARD16 w; - - fbComposeGetSolid(pSrc, src, pDst->format); - - srca = src >> 24; - if (src == 0) - return; - - fbComposeGetStart (pDst, xDst, yDst, CARD16, dstStride, dstLine, 1); - fbComposeGetStart (pMask, xMask, yMask, CARD8, maskStride, maskLine, 1); - - while (height--) - { - dst = dstLine; - dstLine += dstStride; - mask = maskLine; - maskLine += maskStride; - w = width; - - while (w--) - { - m = *mask++; - if (m == 0xff) - { - if (srca == 0xff) - d = src; - else - { - d = *dst; - d = fbOver24 (src, cvt0565to8888(d)); - } - *dst = cvt8888to0565(d); - } - else if (m) - { - d = *dst; - d = fbOver24 (fbIn(src,m), cvt0565to8888(d)); - *dst = cvt8888to0565(d); - } - dst++; - } - } -} - -void -fbCompositeSolidMask_nx8888x0565C (CARD8 op, - PicturePtr pSrc, - PicturePtr pMask, - PicturePtr pDst, - INT16 xSrc, - INT16 ySrc, - INT16 xMask, - INT16 yMask, - INT16 xDst, - INT16 yDst, - CARD16 width, - CARD16 height) -{ - CARD32 src, srca; - CARD16 src16; - CARD16 *dstLine, *dst; - CARD32 d; - CARD32 *maskLine, *mask, ma; - FbStride dstStride, maskStride; - CARD16 w; - CARD32 m, n, o; - - fbComposeGetSolid(pSrc, src, pDst->format); - - srca = src >> 24; - if (src == 0) - return; - - src16 = cvt8888to0565(src); - - fbComposeGetStart (pDst, xDst, yDst, CARD16, dstStride, dstLine, 1); - fbComposeGetStart (pMask, xMask, yMask, CARD32, maskStride, maskLine, 1); - - while (height--) - { - dst = dstLine; - dstLine += dstStride; - mask = maskLine; - maskLine += maskStride; - w = width; - - while (w--) - { - ma = *mask++; - if (ma == 0xffffffff) - { - if (srca == 0xff) - { - *dst = src16; - } - else - { - d = *dst; - d = fbOver24 (src, cvt0565to8888(d)); - *dst = cvt8888to0565(d); - } - } - else if (ma) - { - d = *dst; - d = cvt0565to8888(d); - FbInOverC (src, srca, ma, d, 0, m); - FbInOverC (src, srca, ma, d, 8, n); - FbInOverC (src, srca, ma, d, 16, o); - d = m|n|o; - *dst = cvt8888to0565(d); - } - dst++; - } - } -} - -void -fbCompositeSrc_8888x8888 (CARD8 op, - PicturePtr pSrc, - PicturePtr pMask, - PicturePtr pDst, - INT16 xSrc, - INT16 ySrc, - INT16 xMask, - INT16 yMask, - INT16 xDst, - INT16 yDst, - CARD16 width, - CARD16 height) -{ - CARD32 *dstLine, *dst, dstMask; - CARD32 *srcLine, *src, s; - FbStride dstStride, srcStride; - CARD8 a; - CARD16 w; - - fbComposeGetStart (pDst, xDst, yDst, CARD32, dstStride, dstLine, 1); - fbComposeGetStart (pSrc, xSrc, ySrc, CARD32, srcStride, srcLine, 1); - - dstMask = FbFullMask (pDst->pDrawable->depth); - - while (height--) - { - dst = dstLine; - dstLine += dstStride; - src = srcLine; - srcLine += srcStride; - w = width; - - while (w--) - { - s = *src++; - a = s >> 24; - if (a == 0xff) - *dst = s & dstMask; - else if (a) - *dst = fbOver (s, *dst) & dstMask; - dst++; - } - } -} - -void -fbCompositeSrc_8888x0888 (CARD8 op, - PicturePtr pSrc, - PicturePtr pMask, - PicturePtr pDst, - INT16 xSrc, - INT16 ySrc, - INT16 xMask, - INT16 yMask, - INT16 xDst, - INT16 yDst, - CARD16 width, - CARD16 height) -{ - CARD8 *dstLine, *dst; - CARD32 d; - CARD32 *srcLine, *src, s; - CARD8 a; - FbStride dstStride, srcStride; - CARD16 w; - - fbComposeGetStart (pDst, xDst, yDst, CARD8, dstStride, dstLine, 3); - fbComposeGetStart (pSrc, xSrc, ySrc, CARD32, srcStride, srcLine, 1); - - while (height--) - { - dst = dstLine; - dstLine += dstStride; - src = srcLine; - srcLine += srcStride; - w = width; - - while (w--) - { - s = *src++; - a = s >> 24; - if (a) - { - if (a == 0xff) - d = s; - else - d = fbOver24 (s, Fetch24(dst)); - Store24(dst,d); - } - dst += 3; - } - } -} - -void -fbCompositeSrc_8888x0565 (CARD8 op, - PicturePtr pSrc, - PicturePtr pMask, - PicturePtr pDst, - INT16 xSrc, - INT16 ySrc, - INT16 xMask, - INT16 yMask, - INT16 xDst, - INT16 yDst, - CARD16 width, - CARD16 height) -{ - CARD16 *dstLine, *dst; - CARD32 d; - CARD32 *srcLine, *src, s; - CARD8 a; - FbStride dstStride, srcStride; - CARD16 w; - - fbComposeGetStart (pSrc, xSrc, ySrc, CARD32, srcStride, srcLine, 1); - fbComposeGetStart (pDst, xDst, yDst, CARD16, dstStride, dstLine, 1); - - while (height--) - { - dst = dstLine; - dstLine += dstStride; - src = srcLine; - srcLine += srcStride; - w = width; - - while (w--) - { - s = *src++; - a = s >> 24; - if (a) - { - if (a == 0xff) - d = s; - else - { - d = *dst; - d = fbOver24 (s, cvt0565to8888(d)); - } - *dst = cvt8888to0565(d); - } - dst++; - } - } -} - -void -fbCompositeSrc_0565x0565 (CARD8 op, - PicturePtr pSrc, - PicturePtr pMask, - PicturePtr pDst, - INT16 xSrc, - INT16 ySrc, - INT16 xMask, - INT16 yMask, - INT16 xDst, - INT16 yDst, - CARD16 width, - CARD16 height) -{ - CARD16 *dstLine, *dst; - CARD16 *srcLine, *src; - FbStride dstStride, srcStride; - CARD16 w; - - fbComposeGetStart (pSrc, xSrc, ySrc, CARD16, srcStride, srcLine, 1); - - fbComposeGetStart (pDst, xDst, yDst, CARD16, dstStride, dstLine, 1); - - while (height--) - { - dst = dstLine; - dstLine += dstStride; - src = srcLine; - srcLine += srcStride; - w = width; - - while (w--) - *dst++ = *src++; - } -} - -void -fbCompositeSrcAdd_8000x8000 (CARD8 op, - PicturePtr pSrc, - PicturePtr pMask, - PicturePtr pDst, - INT16 xSrc, - INT16 ySrc, - INT16 xMask, - INT16 yMask, - INT16 xDst, - INT16 yDst, - CARD16 width, - CARD16 height) -{ - CARD8 *dstLine, *dst; - CARD8 *srcLine, *src; - FbStride dstStride, srcStride; - CARD16 w; - CARD8 s, d; - CARD16 t; - - fbComposeGetStart (pSrc, xSrc, ySrc, CARD8, srcStride, srcLine, 1); - fbComposeGetStart (pDst, xDst, yDst, CARD8, dstStride, dstLine, 1); - - while (height--) - { - dst = dstLine; - dstLine += dstStride; - src = srcLine; - srcLine += srcStride; - w = width; - - while (w--) - { - s = *src++; - if (s) - { - if (s != 0xff) - { - d = *dst; - t = d + s; - s = t | (0 - (t >> 8)); - } - *dst = s; - } - dst++; - } - } -} - -void -fbCompositeSrcAdd_8888x8888 (CARD8 op, - PicturePtr pSrc, - PicturePtr pMask, - PicturePtr pDst, - INT16 xSrc, - INT16 ySrc, - INT16 xMask, - INT16 yMask, - INT16 xDst, - INT16 yDst, - CARD16 width, - CARD16 height) -{ - CARD32 *dstLine, *dst; - CARD32 *srcLine, *src; - FbStride dstStride, srcStride; - CARD16 w; - CARD32 s, d; - CARD16 t; - CARD32 m,n,o,p; - - fbComposeGetStart (pSrc, xSrc, ySrc, CARD32, srcStride, srcLine, 1); - fbComposeGetStart (pDst, xDst, yDst, CARD32, dstStride, dstLine, 1); - - while (height--) - { - dst = dstLine; - dstLine += dstStride; - src = srcLine; - srcLine += srcStride; - w = width; - - while (w--) - { - s = *src++; - if (s) - { - if (s != 0xffffffff) - { - d = *dst; - if (d) - { - m = FbAdd(s,d,0,t); - n = FbAdd(s,d,8,t); - o = FbAdd(s,d,16,t); - p = FbAdd(s,d,24,t); - s = m|n|o|p; - } - } - *dst = s; - } - dst++; - } - } -} - -void -fbCompositeSrcAdd_1000x1000 (CARD8 op, - PicturePtr pSrc, - PicturePtr pMask, - PicturePtr pDst, - INT16 xSrc, - INT16 ySrc, - INT16 xMask, - INT16 yMask, - INT16 xDst, - INT16 yDst, - CARD16 width, - CARD16 height) -{ - FbBits *dstBits, *srcBits; - FbStride dstStride, srcStride; - int dstBpp, srcBpp; - int dstXoff, dstYoff; - int srcXoff, srcYoff; - - fbGetDrawable(pSrc->pDrawable, srcBits, srcStride, srcBpp, srcXoff, srcYoff); - - fbGetDrawable(pDst->pDrawable, dstBits, dstStride, dstBpp, dstXoff, dstYoff); - - fbBlt (srcBits + srcStride * (ySrc + srcYoff), - srcStride, - xSrc + srcXoff, - - dstBits + dstStride * (yDst + dstYoff), - dstStride, - xDst + dstXoff, - - width, - height, - - GXor, - FB_ALLONES, - srcBpp, - - FALSE, - FALSE); -} - -void -fbCompositeSolidMask_nx1xn (CARD8 op, - PicturePtr pSrc, - PicturePtr pMask, - PicturePtr pDst, - INT16 xSrc, - INT16 ySrc, - INT16 xMask, - INT16 yMask, - INT16 xDst, - INT16 yDst, - CARD16 width, - CARD16 height) -{ - FbBits *dstBits; - FbStip *maskBits; - FbStride dstStride, maskStride; - int dstBpp, maskBpp; - int dstXoff, dstYoff; - int maskXoff, maskYoff; - FbBits src; - - fbComposeGetSolid(pSrc, src, pDst->format); - - if ((src & 0xff000000) != 0xff000000) - { - fbCompositeGeneral (op, pSrc, pMask, pDst, - xSrc, ySrc, xMask, yMask, xDst, yDst, - width, height); - return; - } - fbGetStipDrawable (pMask->pDrawable, maskBits, maskStride, maskBpp, maskXoff, maskYoff); - fbGetDrawable (pDst->pDrawable, dstBits, dstStride, dstBpp, dstXoff, dstYoff); - - switch (dstBpp) { - case 32: - break; - case 24: - break; - case 16: - src = cvt8888to0565(src); - break; - } - - src = fbReplicatePixel (src, dstBpp); - - fbBltOne (maskBits + maskStride * (yMask + maskYoff), - maskStride, - xMask + maskXoff, - - dstBits + dstStride * (yDst + dstYoff), - dstStride, - (xDst + dstXoff) * dstBpp, - dstBpp, - - width * dstBpp, - height, - - 0x0, - src, - FB_ALLONES, - 0x0); -} - -# define mod(a,b) ((b) == 1 ? 0 : (a) >= 0 ? (a) % (b) : (b) - (-a) % (b)) - -void -fbComposite (CARD8 op, - PicturePtr pSrc, - PicturePtr pMask, - PicturePtr pDst, - INT16 xSrc, - INT16 ySrc, - INT16 xMask, - INT16 yMask, - INT16 xDst, - INT16 yDst, - CARD16 width, - CARD16 height) +fbWalkCompositeRegion (CARD8 op, + PicturePtr pSrc, + PicturePtr pMask, + PicturePtr pDst, + INT16 xSrc, + INT16 ySrc, + INT16 xMask, + INT16 yMask, + INT16 xDst, + INT16 yDst, + CARD16 width, + CARD16 height, + Bool srcRepeat, + Bool maskRepeat, + CompositeFunc compositeRect) { RegionRec region; int n; BoxPtr pbox; - CompositeFunc func = NULL; - Bool srcRepeat = pSrc->pDrawable && pSrc->repeat; - Bool maskRepeat = FALSE; - Bool srcAlphaMap = pSrc->alphaMap != 0; - Bool maskAlphaMap = FALSE; - Bool dstAlphaMap = pDst->alphaMap != 0; - int x_msk, y_msk, x_src, y_src, x_dst, y_dst; int w, h, w_this, h_this; - -#ifdef USE_MMX - static Bool mmx_setup = FALSE; - if (!mmx_setup) { - fbComposeSetupMMX(); - mmx_setup = TRUE; - } -#endif - + int x_msk, y_msk, x_src, y_src, x_dst, y_dst; + xDst += pDst->pDrawable->x; yDst += pDst->pDrawable->y; - if (pSrc->pDrawable) { + if (pSrc->pDrawable) + { xSrc += pSrc->pDrawable->x; ySrc += pSrc->pDrawable->y; } @@ -869,431 +73,12 @@ fbComposite (CARD8 op, { xMask += pMask->pDrawable->x; yMask += pMask->pDrawable->y; - maskRepeat = pMask->repeat == RepeatNormal; - maskAlphaMap = pMask->alphaMap != 0; } - if (pSrc->pDrawable && (!pMask || pMask->pDrawable) - && !pSrc->transform && !(pMask && pMask->transform) - && !maskAlphaMap && !srcAlphaMap && !dstAlphaMap - && (pSrc->filter != PictFilterConvolution) - && (!pMask || pMask->filter != PictFilterConvolution)) - switch (op) { - case PictOpSrc: -#ifdef USE_MMX - if (!pMask && pSrc->format == pDst->format && - pSrc->format != PICT_a8 && pSrc->pDrawable != pDst->pDrawable) - { - func = fbCompositeCopyAreammx; - } -#endif - break; - case PictOpOver: - if (pMask) - { - if (fbCanGetSolid(pSrc) && - !maskRepeat) - { - srcRepeat = FALSE; - if (PICT_FORMAT_COLOR(pSrc->format)) { - switch (pMask->format) { - case PICT_a8: - switch (pDst->format) { - case PICT_r5g6b5: - case PICT_b5g6r5: -#ifdef USE_MMX - if (fbHaveMMX()) - func = fbCompositeSolidMask_nx8x0565mmx; - else -#endif - func = fbCompositeSolidMask_nx8x0565; - break; - case PICT_r8g8b8: - case PICT_b8g8r8: - func = fbCompositeSolidMask_nx8x0888; - break; - case PICT_a8r8g8b8: - case PICT_x8r8g8b8: - case PICT_a8b8g8r8: - case PICT_x8b8g8r8: -#ifdef USE_MMX - if (fbHaveMMX()) - func = fbCompositeSolidMask_nx8x8888mmx; - else -#endif - func = fbCompositeSolidMask_nx8x8888; - break; - default: - break; - } - break; - case PICT_a8r8g8b8: - if (pMask->componentAlpha) { - switch (pDst->format) { - case PICT_a8r8g8b8: - case PICT_x8r8g8b8: -#ifdef USE_MMX - if (fbHaveMMX()) - func = fbCompositeSolidMask_nx8888x8888Cmmx; - else -#endif - func = fbCompositeSolidMask_nx8888x8888C; - break; - case PICT_r5g6b5: -#ifdef USE_MMX - if (fbHaveMMX()) - func = fbCompositeSolidMask_nx8888x0565Cmmx; - else -#endif - func = fbCompositeSolidMask_nx8888x0565C; - break; - default: - break; - } - } - break; - case PICT_a8b8g8r8: - if (pMask->componentAlpha) { - switch (pDst->format) { - case PICT_a8b8g8r8: - case PICT_x8b8g8r8: -#ifdef USE_MMX - if (fbHaveMMX()) - func = fbCompositeSolidMask_nx8888x8888Cmmx; - else -#endif - func = fbCompositeSolidMask_nx8888x8888C; - break; - case PICT_b5g6r5: -#ifdef USE_MMX - if (fbHaveMMX()) - func = fbCompositeSolidMask_nx8888x0565Cmmx; - else -#endif - func = fbCompositeSolidMask_nx8888x0565C; - break; - default: - break; - } - } - break; - case PICT_a1: - switch (pDst->format) { - case PICT_r5g6b5: - case PICT_b5g6r5: - case PICT_r8g8b8: - case PICT_b8g8r8: - case PICT_a8r8g8b8: - case PICT_x8r8g8b8: - case PICT_a8b8g8r8: - case PICT_x8b8g8r8: - func = fbCompositeSolidMask_nx1xn; - break; - default: - break; - } - break; - default: - break; - } - default: - break; - } - } - else if (! srcRepeat) /* has mask and non-repeating source */ - { - if (pSrc->pDrawable == pMask->pDrawable && - xSrc == xMask && ySrc == yMask && - !pMask->componentAlpha && !maskRepeat) - { - /* source == mask: non-premultiplied data */ - switch (pSrc->format) { - case PICT_x8b8g8r8: - switch (pMask->format) { - case PICT_a8r8g8b8: - case PICT_a8b8g8r8: - switch (pDst->format) { - case PICT_a8r8g8b8: - case PICT_x8r8g8b8: -#ifdef USE_MMX - if (fbHaveMMX()) - func = fbCompositeSrc_8888RevNPx8888mmx; -#endif - break; - case PICT_r5g6b5: -#ifdef USE_MMX - if (fbHaveMMX()) - func = fbCompositeSrc_8888RevNPx0565mmx; -#endif - break; - default: - break; - } - break; - default: - break; - } - break; - case PICT_x8r8g8b8: - switch (pMask->format) { - case PICT_a8r8g8b8: - case PICT_a8b8g8r8: - switch (pDst->format) { - case PICT_a8b8g8r8: - case PICT_x8b8g8r8: -#ifdef USE_MMX - if (fbHaveMMX()) - func = fbCompositeSrc_8888RevNPx8888mmx; -#endif - break; - case PICT_r5g6b5: -#ifdef USE_MMX - if (fbHaveMMX()) - func = fbCompositeSrc_8888RevNPx0565mmx; -#endif - break; - default: - break; - } - break; - default: - break; - } - break; - default: - break; - } - break; - } - else - { - /* non-repeating source, repeating mask => translucent window */ - if (fbCanGetSolid(pMask)) - { - if (pSrc->format == PICT_x8r8g8b8 && - pDst->format == PICT_x8r8g8b8 && - pMask->format == PICT_a8) - { -#ifdef USE_MMX - if (fbHaveMMX()) - func = fbCompositeSrc_8888x8x8888mmx; -#endif - } - } - } - } - } - else /* no mask */ - { - if (fbCanGetSolid(pSrc)) - { - /* no mask and repeating source */ - switch (pSrc->format) { - case PICT_a8r8g8b8: - switch (pDst->format) { - case PICT_a8r8g8b8: - case PICT_x8r8g8b8: -#ifdef USE_MMX - if (fbHaveMMX()) - { - srcRepeat = FALSE; - func = fbCompositeSolid_nx8888mmx; - } -#endif - break; - case PICT_r5g6b5: -#ifdef USE_MMX - if (fbHaveMMX()) - { - srcRepeat = FALSE; - func = fbCompositeSolid_nx0565mmx; - } -#endif - break; - default: - break; - } - break; - default: - break; - } - } - else if (! srcRepeat) - { - switch (pSrc->format) { - case PICT_a8r8g8b8: - switch (pDst->format) { - case PICT_a8r8g8b8: - case PICT_x8r8g8b8: -#ifdef USE_MMX - if (fbHaveMMX()) - func = fbCompositeSrc_8888x8888mmx; - else -#endif - func = fbCompositeSrc_8888x8888; - break; - case PICT_r8g8b8: - func = fbCompositeSrc_8888x0888; - break; - case PICT_r5g6b5: - func = fbCompositeSrc_8888x0565; - break; - default: - break; - } - break; - case PICT_x8r8g8b8: - switch (pDst->format) { - case PICT_a8r8g8b8: - case PICT_x8r8g8b8: -#ifdef USE_MMX - if (fbHaveMMX()) - func = fbCompositeCopyAreammx; -#endif - break; - default: - break; - } - case PICT_x8b8g8r8: - switch (pDst->format) { - case PICT_a8b8g8r8: - case PICT_x8b8g8r8: -#ifdef USE_MMX - if (fbHaveMMX()) - func = fbCompositeCopyAreammx; -#endif - break; - default: - break; - } - break; - case PICT_a8b8g8r8: - switch (pDst->format) { - case PICT_a8b8g8r8: - case PICT_x8b8g8r8: -#ifdef USE_MMX - if (fbHaveMMX()) - func = fbCompositeSrc_8888x8888mmx; - else -#endif - func = fbCompositeSrc_8888x8888; - break; - case PICT_b8g8r8: - func = fbCompositeSrc_8888x0888; - break; - case PICT_b5g6r5: - func = fbCompositeSrc_8888x0565; - break; - default: - break; - } - break; - case PICT_r5g6b5: - switch (pDst->format) { - case PICT_r5g6b5: - func = fbCompositeSrc_0565x0565; - break; - default: - break; - } - break; - case PICT_b5g6r5: - switch (pDst->format) { - case PICT_b5g6r5: - func = fbCompositeSrc_0565x0565; - break; - default: - break; - } - break; - default: - break; - } - } - } - break; - case PictOpAdd: - if (pMask == 0) - { - switch (pSrc->format) { - case PICT_a8r8g8b8: - switch (pDst->format) { - case PICT_a8r8g8b8: -#ifdef USE_MMX - if (fbHaveMMX()) - func = fbCompositeSrcAdd_8888x8888mmx; - else -#endif - func = fbCompositeSrcAdd_8888x8888; - break; - default: - break; - } - break; - case PICT_a8b8g8r8: - switch (pDst->format) { - case PICT_a8b8g8r8: -#ifdef USE_MMX - if (fbHaveMMX()) - func = fbCompositeSrcAdd_8888x8888mmx; - else -#endif - func = fbCompositeSrcAdd_8888x8888; - break; - default: - break; - } - break; - case PICT_a8: - switch (pDst->format) { - case PICT_a8: -#ifdef USE_MMX - if (fbHaveMMX()) - func = fbCompositeSrcAdd_8000x8000mmx; - else -#endif - func = fbCompositeSrcAdd_8000x8000; - break; - default: - break; - } - break; - case PICT_a1: - switch (pDst->format) { - case PICT_a1: - func = fbCompositeSrcAdd_1000x1000; - break; - default: - break; - } - break; - default: - break; - } - } - break; - } - - if (!func) { - /* no fast path, use the general code */ - fbCompositeGeneral(op, pSrc, pMask, pDst, xSrc, ySrc, xMask, yMask, xDst, yDst, width, height); - return; - } - - if (!miComputeCompositeRegion (®ion, - pSrc, - pMask, - pDst, - xSrc, - ySrc, - xMask, - yMask, - xDst, - yDst, - width, - height)) + if (!miComputeCompositeRegion (®ion, pSrc, pMask, pDst, xSrc, ySrc, + xMask, yMask, xDst, yDst, width, height)) return; - + n = REGION_NUM_RECTS (®ion); pbox = REGION_RECTS (®ion); while (n--) @@ -1340,9 +125,9 @@ fbComposite (CARD8 op, w_this = pSrc->pDrawable->width - x_src; x_src += pSrc->pDrawable->x; } - (*func) (op, pSrc, pMask, pDst, - x_src, y_src, x_msk, y_msk, x_dst, y_dst, - w_this, h_this); + (*compositeRect) (op, pSrc, pMask, pDst, + x_src, y_src, x_msk, y_msk, x_dst, y_dst, + w_this, h_this); w -= w_this; x_src += w_this; x_msk += w_this; @@ -1358,8 +143,310 @@ fbComposite (CARD8 op, REGION_UNINIT (pDst->pDrawable->pScreen, ®ion); } +void +fbComposite (CARD8 op, + PicturePtr pSrc, + PicturePtr pMask, + PicturePtr pDst, + INT16 xSrc, + INT16 ySrc, + INT16 xMask, + INT16 yMask, + INT16 xDst, + INT16 yDst, + CARD16 width, + CARD16 height) +{ + pixman_image_t *src, *mask, *dest; + + xDst += pDst->pDrawable->x; + yDst += pDst->pDrawable->y; + if (pSrc->pDrawable) + { + xSrc += pSrc->pDrawable->x; + ySrc += pSrc->pDrawable->y; + } + if (pMask && pMask->pDrawable) + { + xMask += pMask->pDrawable->x; + yMask += pMask->pDrawable->y; + } + + miCompositeSourceValidate (pSrc, xSrc, ySrc, width, height); + if (pMask) + miCompositeSourceValidate (pMask, xMask, yMask, width, height); + + src = image_from_pict (pSrc, TRUE); + mask = image_from_pict (pMask, TRUE); + dest = image_from_pict (pDst, TRUE); + + if (src && dest && !(pMask && !mask)) + { + pixman_image_composite (op, src, mask, dest, + xSrc, ySrc, xMask, yMask, xDst, yDst, + width, height); + } + + free_pixman_pict (pSrc, src); + free_pixman_pict (pMask, mask); + free_pixman_pict (pDst, dest); +} + +void +fbCompositeGeneral (CARD8 op, + PicturePtr pSrc, + PicturePtr pMask, + PicturePtr pDst, + INT16 xSrc, + INT16 ySrc, + INT16 xMask, + INT16 yMask, + INT16 xDst, + INT16 yDst, + CARD16 width, + CARD16 height) +{ + fbComposite (op, pSrc, pMask, pDst, + xSrc, ySrc, xMask, yMask, xDst, yDst, + width, height); +} + #endif /* RENDER */ +static pixman_image_t * +create_solid_fill_image (PicturePtr pict) +{ + PictSolidFill *solid = &pict->pSourcePict->solidFill; + pixman_color_t color; + CARD32 a, r, g, b; + + a = (solid->color & 0xff000000) >> 24; + r = (solid->color & 0x00ff0000) >> 16; + g = (solid->color & 0x0000ff00) >> 8; + b = (solid->color & 0x000000ff) >> 0; + + color.alpha = (a << 8) | a; + color.red = (r << 8) | r; + color.green = (g << 8) | g; + color.blue = (b << 8) | b; + + return pixman_image_create_solid_fill (&color); +} + +static pixman_image_t * +create_linear_gradient_image (PictGradient *gradient) +{ + PictLinearGradient *linear = (PictLinearGradient *)gradient; + pixman_point_fixed_t p1; + pixman_point_fixed_t p2; + + p1.x = linear->p1.x; + p1.y = linear->p1.y; + p2.x = linear->p2.x; + p2.y = linear->p2.y; + + return pixman_image_create_linear_gradient ( + &p1, &p2, (pixman_gradient_stop_t *)gradient->stops, gradient->nstops); +} + +static pixman_image_t * +create_radial_gradient_image (PictGradient *gradient) +{ + PictRadialGradient *radial = (PictRadialGradient *)gradient; + pixman_point_fixed_t c1; + pixman_point_fixed_t c2; + + c1.x = radial->c1.x; + c1.y = radial->c1.y; + c2.x = radial->c2.x; + c2.y = radial->c2.y; + + return pixman_image_create_radial_gradient ( + &c1, &c2, radial->c1.radius, + radial->c2.radius, + (pixman_gradient_stop_t *)gradient->stops, gradient->nstops); +} + +static pixman_image_t * +create_conical_gradient_image (PictGradient *gradient) +{ + PictConicalGradient *conical = (PictConicalGradient *)gradient; + pixman_point_fixed_t center; + + center.x = conical->center.x; + center.y = conical->center.y; + + return pixman_image_create_conical_gradient ( + ¢er, conical->angle, (pixman_gradient_stop_t *)gradient->stops, + gradient->nstops); +} + +static pixman_image_t * +create_bits_picture (PicturePtr pict, + Bool has_clip) +{ + FbBits *bits; + FbStride stride; + int bpp, xoff, yoff; + pixman_image_t *image; + + fbGetDrawable (pict->pDrawable, bits, stride, bpp, xoff, yoff); + + bits = (CARD8*)bits + yoff * stride * sizeof(FbBits) + xoff * (bpp / 8); + + image = pixman_image_create_bits ( + pict->format, + pict->pDrawable->width, pict->pDrawable->height, + (uint32_t *)bits, stride * sizeof (FbStride)); + + +#ifdef FB_ACCESS_WRAPPER +#if FB_SHIFT==5 + + pixman_image_set_accessors (image, + (pixman_read_memory_func_t)wfbReadMemory, + (pixman_write_memory_func_t)wfbWriteMemory); + +#else + +#error The pixman library only works when FbBits is 32 bits wide + +#endif +#endif + + /* pCompositeClip is undefined for source pictures, so + * only set the clip region for pictures with drawables + */ + if (has_clip) + { + if (pict->clientClipType != CT_NONE) + pixman_image_set_has_client_clip (image, TRUE); + + pixman_image_set_clip_region (image, pict->pCompositeClip); + } + + /* Indexed table */ + if (pict->pFormat->index.devPrivate) + pixman_image_set_indexed (image, pict->pFormat->index.devPrivate); + + return image; +} + +static void +set_image_properties (pixman_image_t *image, PicturePtr pict) +{ + pixman_repeat_t repeat; + pixman_filter_t filter; + + if (pict->transform) + { + pixman_image_set_transform ( + image, (pixman_transform_t *)pict->transform); + } + + switch (pict->repeatType) + { + default: + case RepeatNone: + repeat = PIXMAN_REPEAT_NONE; + break; + + case RepeatPad: + repeat = PIXMAN_REPEAT_PAD; + break; + + case RepeatNormal: + repeat = PIXMAN_REPEAT_NORMAL; + break; + + case RepeatReflect: + repeat = PIXMAN_REPEAT_REFLECT; + break; + } + + pixman_image_set_repeat (image, repeat); + + if (pict->alphaMap) + { + pixman_image_t *alpha_map = image_from_pict (pict->alphaMap, TRUE); + + pixman_image_set_alpha_map ( + image, alpha_map, pict->alphaOrigin.x, pict->alphaOrigin.y); + + free_pixman_pict (pict->alphaMap, alpha_map); + } + + pixman_image_set_component_alpha (image, pict->componentAlpha); + + switch (pict->filter) + { + default: + case PictFilterNearest: + case PictFilterFast: + filter = PIXMAN_FILTER_NEAREST; + break; + + case PictFilterBilinear: + case PictFilterGood: + filter = PIXMAN_FILTER_BILINEAR; + break; + + case PictFilterConvolution: + filter = PIXMAN_FILTER_CONVOLUTION; + break; + } + + pixman_image_set_filter (image, filter, (pixman_fixed_t *)pict->filter_params, pict->filter_nparams); + pixman_image_set_source_clipping (image, TRUE); +} + +pixman_image_t * +image_from_pict (PicturePtr pict, + Bool has_clip) +{ + pixman_image_t *image = NULL; + + if (!pict) + return NULL; + + if (pict->pDrawable) + { + image = create_bits_picture (pict, has_clip); + } + else if (pict->pSourcePict) + { + SourcePict *sp = pict->pSourcePict; + + if (sp->type == SourcePictTypeSolidFill) + { + image = create_solid_fill_image (pict); + } + else + { + PictGradient *gradient = &pict->pSourcePict->gradient; + + if (sp->type == SourcePictTypeLinear) + image = create_linear_gradient_image (gradient); + else if (sp->type == SourcePictTypeRadial) + image = create_radial_gradient_image (gradient); + else if (sp->type == SourcePictTypeConical) + image = create_conical_gradient_image (gradient); + } + } + + if (image) + set_image_properties (image, pict); + + return image; +} + +void +free_pixman_pict (PicturePtr pict, pixman_image_t *image) +{ + if (image && pixman_image_unref (image) && pict->pDrawable) + fbFinishAccess (pict->pDrawable); +} + Bool fbPictureInit (ScreenPtr pScreen, PictFormatPtr formats, int nformats) { @@ -1382,142 +469,3 @@ fbPictureInit (ScreenPtr pScreen, PictFormatPtr formats, int nformats) return TRUE; } - -#ifdef USE_MMX -/* The CPU detection code needs to be in a file not compiled with - * "-mmmx -msse", as gcc would generate CMOV instructions otherwise - * that would lead to SIGILL instructions on old CPUs that don't have - * it. - */ -#if !defined(__amd64__) && !defined(__x86_64__) - -#ifdef HAVE_GETISAX -#include -#endif - -enum CPUFeatures { - NoFeatures = 0, - MMX = 0x1, - MMX_Extensions = 0x2, - SSE = 0x6, - SSE2 = 0x8, - CMOV = 0x10 -}; - -static unsigned int detectCPUFeatures(void) { - unsigned int features = 0; - unsigned int result; - -#ifdef HAVE_GETISAX - if (getisax(&result, 1)) { - if (result & AV_386_CMOV) - features |= CMOV; - if (result & AV_386_MMX) - features |= MMX; - if (result & AV_386_AMD_MMX) - features |= MMX_Extensions; - if (result & AV_386_SSE) - features |= SSE; - if (result & AV_386_SSE2) - features |= SSE2; - } -#else - char vendor[13]; - vendor[0] = 0; - vendor[12] = 0; - /* see p. 118 of amd64 instruction set manual Vol3 */ - /* We need to be careful about the handling of %ebx and - * %esp here. We can't declare either one as clobbered - * since they are special registers (%ebx is the "PIC - * register" holding an offset to global data, %esp the - * stack pointer), so we need to make sure they have their - * original values when we access the output operands. - */ - __asm__ ("pushf\n" - "pop %%eax\n" - "mov %%eax, %%ecx\n" - "xor $0x00200000, %%eax\n" - "push %%eax\n" - "popf\n" - "pushf\n" - "pop %%eax\n" - "mov $0x0, %%edx\n" - "xor %%ecx, %%eax\n" - "jz 1\n" - - "mov $0x00000000, %%eax\n" - "push %%ebx\n" - "cpuid\n" - "mov %%ebx, %%eax\n" - "pop %%ebx\n" - "mov %%eax, %1\n" - "mov %%edx, %2\n" - "mov %%ecx, %3\n" - "mov $0x00000001, %%eax\n" - "push %%ebx\n" - "cpuid\n" - "pop %%ebx\n" - "1:\n" - "mov %%edx, %0\n" - : "=r" (result), - "=m" (vendor[0]), - "=m" (vendor[4]), - "=m" (vendor[8]) - : - : "%eax", "%ecx", "%edx" - ); - - if (result) { - /* result now contains the standard feature bits */ - if (result & (1 << 15)) - features |= CMOV; - if (result & (1 << 23)) - features |= MMX; - if (result & (1 << 25)) - features |= SSE; - if (result & (1 << 26)) - features |= SSE2; - if ((result & MMX) && !(result & SSE) && (strcmp(vendor, "AuthenticAMD") == 0)) { - /* check for AMD MMX extensions */ - - unsigned int result; - __asm__("push %%ebx\n" - "mov $0x80000000, %%eax\n" - "cpuid\n" - "xor %%edx, %%edx\n" - "cmp $0x1, %%eax\n" - "jge 2\n" - "mov $0x80000001, %%eax\n" - "cpuid\n" - "2:\n" - "pop %%ebx\n" - "mov %%edx, %0\n" - : "=r" (result) - : - : "%eax", "%ecx", "%edx" - ); - if (result & (1<<22)) - features |= MMX_Extensions; - } - } -#endif /* HAVE_GETISAX */ - return features; -} - -Bool -fbHaveMMX (void) -{ - static Bool initialized = FALSE; - static Bool mmx_present; - - if (!initialized) - { - unsigned int features = detectCPUFeatures(); - mmx_present = (features & (MMX|MMX_Extensions)) == (MMX|MMX_Extensions); - initialized = TRUE; - } - - return mmx_present; -} -#endif /* __amd64__ */ -#endif diff --git a/xserver/fb/fbpict.h b/xserver/fb/fbpict.h index 179a07dca..b4c1dcf12 100644 --- a/xserver/fb/fbpict.h +++ b/xserver/fb/fbpict.h @@ -105,9 +105,6 @@ fbCanGetSolid(PicturePtr pict) } } -#define fbCanGetSolid(pict) \ -(pict->pDrawable != NULL && pict->pDrawable->width == 1 && pict->pDrawable->height == 1) - #define fbComposeGetSolid(pict, bits, fmt) { \ FbBits *__bits__; \ FbStride __stride__; \ @@ -117,14 +114,22 @@ fbCanGetSolid(PicturePtr pict) fbGetDrawable((pict)->pDrawable,__bits__,__stride__,__bpp__,__xoff__,__yoff__); \ switch (__bpp__) { \ case 32: \ - (bits) = *(CARD32 *) __bits__; \ + (bits) = READ((CARD32 *) __bits__); \ break; \ case 24: \ (bits) = Fetch24 ((CARD8 *) __bits__); \ break; \ case 16: \ - (bits) = *(CARD16 *) __bits__; \ - (bits) = cvt0565to8888(bits); \ + (bits) = READ((CARD16 *) __bits__); \ + (bits) = cvt0565to0888(bits); \ + break; \ + case 8: \ + (bits) = READ((CARD8 *) __bits__); \ + (bits) = (bits) << 24; \ + break; \ + case 1: \ + (bits) = READ((CARD32 *) __bits__); \ + (bits) = FbLeftStipBits((bits),1) ? 0xff000000 : 0x00000000;\ break; \ default: \ return; \ @@ -140,6 +145,7 @@ fbCanGetSolid(PicturePtr pict) /* manage missing src alpha */ \ if ((pict)->pFormat->direct.alphaMask == 0) \ (bits) |= 0xff000000; \ + fbFinishAccess ((pict)->pDrawable); \ } #define fbComposeGetStart(pict,x,y,type,stride,line,mul) {\ @@ -155,28 +161,28 @@ fbCanGetSolid(PicturePtr pict) #define cvt8888to0565(s) ((((s) >> 3) & 0x001f) | \ (((s) >> 5) & 0x07e0) | \ (((s) >> 8) & 0xf800)) -#define cvt0565to8888(s) (((((s) << 3) & 0xf8) | (((s) >> 2) & 0x7)) | \ +#define cvt0565to0888(s) (((((s) << 3) & 0xf8) | (((s) >> 2) & 0x7)) | \ ((((s) << 5) & 0xfc00) | (((s) >> 1) & 0x300)) | \ ((((s) << 8) & 0xf80000) | (((s) << 3) & 0x70000))) #if IMAGE_BYTE_ORDER == MSBFirst #define Fetch24(a) ((unsigned long) (a) & 1 ? \ - ((*(a) << 16) | *((CARD16 *) ((a)+1))) : \ - ((*((CARD16 *) (a)) << 8) | *((a)+2))) + ((READ(a) << 16) | READ((CARD16 *) ((a)+1))) : \ + ((READ((CARD16 *) (a)) << 8) | READ((a)+2))) #define Store24(a,v) ((unsigned long) (a) & 1 ? \ - ((*(a) = (CARD8) ((v) >> 16)), \ - (*((CARD16 *) ((a)+1)) = (CARD16) (v))) : \ - ((*((CARD16 *) (a)) = (CARD16) ((v) >> 8)), \ - (*((a)+2) = (CARD8) (v)))) + (WRITE(a, (CARD8) ((v) >> 16)), \ + WRITE((CARD16 *) ((a)+1), (CARD16) (v))) : \ + (WRITE((CARD16 *) (a), (CARD16) ((v) >> 8)), \ + WRITE((a)+2, (CARD8) (v)))) #else #define Fetch24(a) ((unsigned long) (a) & 1 ? \ - ((*(a)) | (*((CARD16 *) ((a)+1)) << 8)) : \ - ((*((CARD16 *) (a))) | (*((a)+2) << 16))) + (READ(a) | (READ((CARD16 *) ((a)+1)) << 8)) : \ + (READ((CARD16 *) (a)) | (READ((a)+2) << 16))) #define Store24(a,v) ((unsigned long) (a) & 1 ? \ - ((*(a) = (CARD8) (v)), \ - (*((CARD16 *) ((a)+1)) = (CARD16) ((v) >> 8))) : \ - ((*((CARD16 *) (a)) = (CARD16) (v)),\ - (*((a)+2) = (CARD8) ((v) >> 16)))) + (WRITE(a, (CARD8) (v)), \ + WRITE((CARD16 *) ((a)+1), (CARD16) ((v) >> 8))) : \ + (WRITE((CARD16 *) (a), (CARD16) (v)),\ + WRITE((a)+2, (CARD8) ((v) >> 16)))) #endif /* @@ -377,6 +383,9 @@ typedef struct _FbComposeData { CARD16 height; } FbComposeData; +void +fbCompositeRect (const FbComposeData *data, CARD32 *scanline_buffer); + typedef FASTCALL void (*CombineMaskU) (CARD32 *src, const CARD32 *mask, int width); typedef FASTCALL void (*CombineFuncU) (CARD32 *dest, const CARD32 *src, int width); typedef FASTCALL void (*CombineFuncC) (CARD32 *dest, CARD32 *src, CARD32 *mask, int width); @@ -403,210 +412,7 @@ fbCompositeGeneral (CARD8 op, CARD16 width, CARD16 height); - -/* fbedge.c */ -void -fbRasterizeEdges (FbBits *buf, - int bpp, - int width, - int stride, - RenderEdge *l, - RenderEdge *r, - xFixed t, - xFixed b); - /* fbpict.c */ -CARD32 -fbOver (CARD32 x, CARD32 y); - -CARD32 -fbOver24 (CARD32 x, CARD32 y); - -CARD32 -fbIn (CARD32 x, CARD8 y); - -void -fbCompositeSolidMask_nx8x8888 (CARD8 op, - PicturePtr pSrc, - PicturePtr pMask, - PicturePtr pDst, - INT16 xSrc, - INT16 ySrc, - INT16 xMask, - INT16 yMask, - INT16 xDst, - INT16 yDst, - CARD16 width, - CARD16 height); - -void -fbCompositeSolidMask_nx8x0888 (CARD8 op, - PicturePtr pSrc, - PicturePtr pMask, - PicturePtr pDst, - INT16 xSrc, - INT16 ySrc, - INT16 xMask, - INT16 yMask, - INT16 xDst, - INT16 yDst, - CARD16 width, - CARD16 height); - -void -fbCompositeSolidMask_nx8888x8888C (CARD8 op, - PicturePtr pSrc, - PicturePtr pMask, - PicturePtr pDst, - INT16 xSrc, - INT16 ySrc, - INT16 xMask, - INT16 yMask, - INT16 xDst, - INT16 yDst, - CARD16 width, - CARD16 height); - -void -fbCompositeSolidMask_nx8x0565 (CARD8 op, - PicturePtr pSrc, - PicturePtr pMask, - PicturePtr pDst, - INT16 xSrc, - INT16 ySrc, - INT16 xMask, - INT16 yMask, - INT16 xDst, - INT16 yDst, - CARD16 width, - CARD16 height); - -void -fbCompositeSolidMask_nx8888x0565C (CARD8 op, - PicturePtr pSrc, - PicturePtr pMask, - PicturePtr pDst, - INT16 xSrc, - INT16 ySrc, - INT16 xMask, - INT16 yMask, - INT16 xDst, - INT16 yDst, - CARD16 width, - CARD16 height); - -void -fbCompositeSrc_8888x8888 (CARD8 op, - PicturePtr pSrc, - PicturePtr pMask, - PicturePtr pDst, - INT16 xSrc, - INT16 ySrc, - INT16 xMask, - INT16 yMask, - INT16 xDst, - INT16 yDst, - CARD16 width, - CARD16 height); - -void -fbCompositeSrc_8888x0888 (CARD8 op, - PicturePtr pSrc, - PicturePtr pMask, - PicturePtr pDst, - INT16 xSrc, - INT16 ySrc, - INT16 xMask, - INT16 yMask, - INT16 xDst, - INT16 yDst, - CARD16 width, - CARD16 height); - -void -fbCompositeSrc_8888x0565 (CARD8 op, - PicturePtr pSrc, - PicturePtr pMask, - PicturePtr pDst, - INT16 xSrc, - INT16 ySrc, - INT16 xMask, - INT16 yMask, - INT16 xDst, - INT16 yDst, - CARD16 width, - CARD16 height); - -void -fbCompositeSrc_0565x0565 (CARD8 op, - PicturePtr pSrc, - PicturePtr pMask, - PicturePtr pDst, - INT16 xSrc, - INT16 ySrc, - INT16 xMask, - INT16 yMask, - INT16 xDst, - INT16 yDst, - CARD16 width, - CARD16 height); - -void -fbCompositeSrcAdd_8000x8000 (CARD8 op, - PicturePtr pSrc, - PicturePtr pMask, - PicturePtr pDst, - INT16 xSrc, - INT16 ySrc, - INT16 xMask, - INT16 yMask, - INT16 xDst, - INT16 yDst, - CARD16 width, - CARD16 height); - -void -fbCompositeSrcAdd_8888x8888 (CARD8 op, - PicturePtr pSrc, - PicturePtr pMask, - PicturePtr pDst, - INT16 xSrc, - INT16 ySrc, - INT16 xMask, - INT16 yMask, - INT16 xDst, - INT16 yDst, - CARD16 width, - CARD16 height); - -void -fbCompositeSrcAdd_1000x1000 (CARD8 op, - PicturePtr pSrc, - PicturePtr pMask, - PicturePtr pDst, - INT16 xSrc, - INT16 ySrc, - INT16 xMask, - INT16 yMask, - INT16 xDst, - INT16 yDst, - CARD16 width, - CARD16 height); - -void -fbCompositeSolidMask_nx1xn (CARD8 op, - PicturePtr pSrc, - PicturePtr pMask, - PicturePtr pDst, - INT16 xSrc, - INT16 ySrc, - INT16 xMask, - INT16 yMask, - INT16 xDst, - INT16 yDst, - CARD16 width, - CARD16 height); - void fbComposite (CARD8 op, PicturePtr pSrc, @@ -621,6 +427,36 @@ fbComposite (CARD8 op, CARD16 width, CARD16 height); +typedef void (*CompositeFunc) (CARD8 op, + PicturePtr pSrc, + PicturePtr pMask, + PicturePtr pDst, + INT16 xSrc, + INT16 ySrc, + INT16 xMask, + INT16 yMask, + INT16 xDst, + INT16 yDst, + CARD16 width, + CARD16 height); + +void +fbWalkCompositeRegion (CARD8 op, + PicturePtr pSrc, + PicturePtr pMask, + PicturePtr pDst, + INT16 xSrc, + INT16 ySrc, + INT16 xMask, + INT16 yMask, + INT16 xDst, + INT16 yDst, + CARD16 width, + CARD16 height, + Bool srcRepeat, + Bool maskRepeat, + CompositeFunc compositeRect); + /* fbtrap.c */ void diff --git a/xserver/fb/fbpixmap.c b/xserver/fb/fbpixmap.c index f79f7010d..88f693e73 100644 --- a/xserver/fb/fbpixmap.c +++ b/xserver/fb/fbpixmap.c @@ -1,6 +1,4 @@ /* - * Id: fbpixmap.c,v 1.1 1999/11/02 03:54:45 keithp Exp $ - * * Copyright © 1998 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its @@ -43,11 +41,7 @@ fbCreatePixmapBpp (ScreenPtr pScreen, int width, int height, int depth, int bpp) if (paddedWidth / 4 > 32767 || height > 32767) return NullPixmap; datasize = height * paddedWidth; -#ifdef PIXPRIV base = pScreen->totalPixmapSize; -#else - base = sizeof (PixmapRec); -#endif adjust = 0; if (base & 7) adjust = 8 - (base & 7); @@ -160,6 +154,8 @@ fbPixmapToRegion(PixmapPtr pPix) FirstRect = REGION_BOXPTR(pReg); rects = FirstRect; + fbPrepareAccess(&pPix->drawable); + pwLine = (FbBits *) pPix->devPrivate.ptr; nWidth = pPix->devKind >> (FB_SHIFT-3); @@ -174,7 +170,7 @@ fbPixmapToRegion(PixmapPtr pPix) irectLineStart = rects - FirstRect; /* If the Screen left most bit of the word is set, we're starting in * a box */ - if(*pw & mask0) + if(READ(pw) & mask0) { fInBox = TRUE; rx1 = 0; @@ -185,7 +181,7 @@ fbPixmapToRegion(PixmapPtr pPix) pwLineEnd = pw + (width >> FB_SHIFT); for (base = 0; pw < pwLineEnd; base += FB_UNIT) { - w = *pw++; + w = READ(pw++); if (fInBox) { if (!~w) @@ -226,7 +222,7 @@ fbPixmapToRegion(PixmapPtr pPix) if(width & FB_MASK) { /* Process final partial word on line */ - w = *pw++; + w = READ(pw++); for(ib = 0; ib < (width & FB_MASK); ib++) { /* If the Screen left most bit of the word is set, we're @@ -311,6 +307,8 @@ fbPixmapToRegion(PixmapPtr pPix) pReg->data = (RegDataPtr)NULL; } } + + fbFinishAccess(&pPix->drawable); #ifdef DEBUG if (!miValidRegion(pReg)) FatalError("Assertion failed file %s, line %d: expr\n", __FILE__, __LINE__); @@ -362,6 +360,7 @@ fbValidateDrawable (DrawablePtr pDrawable) if (!fbValidateBits (first, stride, FB_HEAD_BITS) || !fbValidateBits (last, stride, FB_TAIL_BITS)) fbInitializeDrawable(pDrawable); + fbFinishAccess (pDrawable); } void @@ -383,5 +382,6 @@ fbInitializeDrawable (DrawablePtr pDrawable) last = bits + stride * pDrawable->height; fbSetBits (first, stride, FB_HEAD_BITS); fbSetBits (last, stride, FB_TAIL_BITS); + fbFinishAccess (pDrawable); } #endif /* FB_DEBUG */ diff --git a/xserver/fb/fbpoint.c b/xserver/fb/fbpoint.c index 7154b53a1..c0ea8ba5b 100644 --- a/xserver/fb/fbpoint.c +++ b/xserver/fb/fbpoint.c @@ -1,6 +1,4 @@ /* - * Id: fbpoint.c,v 1.1 1999/11/02 03:54:45 keithp Exp $ - * * Copyright © 1998 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its @@ -90,20 +88,20 @@ fbDots (FbBits *dstOrig, FbMaskStip (x, 24, leftMask, n, rightMask); if (leftMask) { - *d = FbDoMaskRRop (*d, andT, xorT, leftMask); + WRITE(d, FbDoMaskRRop (READ(d), andT, xorT, leftMask)); andT = FbNext24Stip(andT); xorT = FbNext24Stip(xorT); d++; } if (rightMask) - *d = FbDoMaskRRop(*d, andT, xorT, rightMask); + WRITE(d, FbDoMaskRRop(READ(d), andT, xorT, rightMask)); } else #endif { FbStip mask; mask = FbStipMask(x, dstBpp); - *d = FbDoMaskRRop (*d, and, xor, mask); + WRITE(d, FbDoMaskRRop (READ(d), and, xor, mask)); } } } @@ -160,4 +158,5 @@ fbPolyPoint (DrawablePtr pDrawable, nBox--; pBox++) (*dots) (dst, dstStride, dstBpp, pBox, pptInit, nptInit, pDrawable->x, pDrawable->y, dstXoff, dstYoff, and, xor); + fbFinishAccess (pDrawable); } diff --git a/xserver/fb/fbpseudocolor.c b/xserver/fb/fbpseudocolor.c index 2233f95dc..271e98145 100644 --- a/xserver/fb/fbpseudocolor.c +++ b/xserver/fb/fbpseudocolor.c @@ -875,6 +875,8 @@ xxCopyPseudocolorRegion(ScreenPtr pScreen, RegionPtr pReg, register CARD16 *d; int w; + fbPrepareAccess((DrawablePtr)pScreen->devPrivate); + dst_base = (CARD16*) ((PixmapPtr)pScreen->devPrivate)->devPrivate.ptr; dst_stride = (int)((PixmapPtr)pScreen->devPrivate)->devKind / sizeof (CARD16); @@ -899,6 +901,8 @@ xxCopyPseudocolorRegion(ScreenPtr pScreen, RegionPtr pReg, } pbox++; } + + fbFinishAccess(&((PixmapPtr)pScreen->devPrivate)->drawable); } static void @@ -1200,7 +1204,7 @@ GCFuncs xxGCFuncs = { xxChangeClip, xxDestroyClip, xxCopyClip }; -GCOps xxGCOps = { +static GCOps xxGCOps = { xxFillSpans, xxSetSpans, xxPutImage, xxCopyArea, xxCopyPlane, xxPolyPoint, diff --git a/xserver/fb/fbpush.c b/xserver/fb/fbpush.c index 0632766d0..891572f0d 100644 --- a/xserver/fb/fbpush.c +++ b/xserver/fb/fbpush.c @@ -1,6 +1,4 @@ /* - * Id: fbpush.c,v 1.1 1999/11/02 03:54:45 keithp Exp $ - * * Copyright © 1998 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its @@ -58,7 +56,7 @@ fbPushPattern (DrawablePtr pDrawable, w = width; s = src; src += srcStride; - bits = *s++; + bits = READ(s++); xspan = x; while (w) { @@ -73,7 +71,7 @@ fbPushPattern (DrawablePtr pDrawable, bitsMask = FbStipRight (bitsMask, 1); if (!bitsMask) { - bits = *s++; + bits = READ(s++); bitsMask = FbBitsMask(0,1); } } while (bits & bitsMask); @@ -92,7 +90,7 @@ fbPushPattern (DrawablePtr pDrawable, bitsMask = FbStipRight (bitsMask, 1); if (!bitsMask) { - bits = *s++; + bits = READ(s++); bitsMask = FbBitsMask(0,1); } } while (!(bits & bitsMask)); @@ -165,6 +163,7 @@ fbPushFill (DrawablePtr pDrawable, fbAnd(GXnoop,(FbBits) 0,FB_ALLONES), fbXor(GXnoop,(FbBits) 0,FB_ALLONES)); } + fbFinishAccess (pDrawable); } else { diff --git a/xserver/fb/fbrop.h b/xserver/fb/fbrop.h index f3768a265..1685ee836 100644 --- a/xserver/fb/fbrop.h +++ b/xserver/fb/fbrop.h @@ -1,6 +1,4 @@ /* - * Id: fbrop.h,v 1.1 1999/11/02 03:54:45 keithp Exp $ - * * Copyright © 1998 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its diff --git a/xserver/fb/fbscreen.c b/xserver/fb/fbscreen.c index b88375810..94033f1d1 100644 --- a/xserver/fb/fbscreen.c +++ b/xserver/fb/fbscreen.c @@ -81,7 +81,6 @@ fbQueryBestSize (int class, } } -#ifndef FB_OLD_SCREEN PixmapPtr _fbGetWindowPixmap (WindowPtr pWindow) { @@ -97,7 +96,6 @@ _fbSetWindowPixmap (WindowPtr pWindow, PixmapPtr pPixmap) pWindow->devPrivates[fbWinPrivateIndex].ptr = (pointer) pPixmap; #endif } -#endif Bool fbSetupScreen(ScreenPtr pScreen, @@ -141,7 +139,6 @@ fbSetupScreen(ScreenPtr pScreen, pScreen->ResolveColor = fbResolveColor; pScreen->BitmapToRegion = fbPixmapToRegion; -#ifndef FB_OLD_SCREEN pScreen->GetWindowPixmap = _fbGetWindowPixmap; pScreen->SetWindowPixmap = _fbSetWindowPixmap; @@ -150,11 +147,23 @@ fbSetupScreen(ScreenPtr pScreen, pScreen->BackingStoreFuncs.SetClipmaskRgn = 0; pScreen->BackingStoreFuncs.GetImagePixmap = 0; pScreen->BackingStoreFuncs.GetSpansPixmap = 0; -#endif return TRUE; } +#ifdef FB_ACCESS_WRAPPER +Bool +wfbFinishScreenInit(ScreenPtr pScreen, + pointer pbits, + int xsize, + int ysize, + int dpix, + int dpiy, + int width, + int bpp, + SetupWrapProcPtr setupWrap, + FinishWrapProcPtr finishWrap) +#else Bool fbFinishScreenInit(ScreenPtr pScreen, pointer pbits, @@ -164,6 +173,7 @@ fbFinishScreenInit(ScreenPtr pScreen, int dpiy, int width, int bpp) +#endif { VisualPtr visuals; DepthPtr depths; @@ -222,6 +232,10 @@ fbFinishScreenInit(ScreenPtr pScreen, fbGetScreenPrivate(pScreen)->win32bpp = 32; fbGetScreenPrivate(pScreen)->pix32bpp = 32; } +#ifdef FB_ACCESS_WRAPPER + fbGetScreenPrivate(pScreen)->setupWrap = setupWrap; + fbGetScreenPrivate(pScreen)->finishWrap = finishWrap; +#endif #endif rootdepth = 0; if (!fbInitVisuals (&visuals, &depths, &nvisuals, &ndepths, &rootdepth, @@ -229,11 +243,7 @@ fbFinishScreenInit(ScreenPtr pScreen, return FALSE; if (! miScreenInit(pScreen, pbits, xsize, ysize, dpix, dpiy, width, rootdepth, ndepths, depths, - defaultVisual, nvisuals, visuals -#ifdef FB_OLD_MISCREENINIT - , (miBSFuncPtr) 0 -#endif - )) + defaultVisual, nvisuals, visuals)) return FALSE; /* overwrite miCloseScreen with our own */ pScreen->CloseScreen = fbCloseScreen; @@ -256,6 +266,27 @@ fbFinishScreenInit(ScreenPtr pScreen, } /* dts * (inch/dot) * (25.4 mm / inch) = mm */ +#ifdef FB_ACCESS_WRAPPER +Bool +wfbScreenInit(ScreenPtr pScreen, + pointer pbits, + int xsize, + int ysize, + int dpix, + int dpiy, + int width, + int bpp, + SetupWrapProcPtr setupWrap, + FinishWrapProcPtr finishWrap) +{ + if (!fbSetupScreen(pScreen, pbits, xsize, ysize, dpix, dpiy, width, bpp)) + return FALSE; + if (!wfbFinishScreenInit(pScreen, pbits, xsize, ysize, dpix, dpiy, + width, bpp, setupWrap, finishWrap)) + return FALSE; + return TRUE; +} +#else Bool fbScreenInit(ScreenPtr pScreen, pointer pbits, @@ -273,26 +304,4 @@ fbScreenInit(ScreenPtr pScreen, return FALSE; return TRUE; } - - -#ifdef FB_OLD_SCREEN -const miBSFuncRec fbBSFuncRec = { - fbSaveAreas, - fbRestoreAreas, - (void (*)(GCPtr, RegionPtr)) 0, - (PixmapPtr (*)(void)) 0, - (PixmapPtr (*)(void)) 0, -}; -#endif - -#if 0 -void -fbInitializeBackingStore (ScreenPtr pScreen) -{ -#ifdef FB_OLD_SCREEN - miInitializeBackingStore (pScreen, (miBSFuncRec *) &fbBSFuncRec); -#else - miInitializeBackingStore (pScreen); -#endif -} #endif diff --git a/xserver/fb/fbseg.c b/xserver/fb/fbseg.c index d66e42468..80ce7404e 100644 --- a/xserver/fb/fbseg.c +++ b/xserver/fb/fbseg.c @@ -1,6 +1,4 @@ /* - * Id: fbseg.c,v 1.1 1999/11/02 03:54:45 keithp Exp $ - * * Copyright © 1998 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its @@ -79,7 +77,7 @@ fbBresSolid (DrawablePtr pDrawable, mask = fbBresShiftMask(mask,signdx,dstBpp); if (!mask) { - *dst = FbDoMaskRRop (*dst, and, xor, bits); + WRITE(dst, FbDoMaskRRop (READ(dst), and, xor, bits)); bits = 0; dst += signdx; mask = mask0; @@ -87,20 +85,20 @@ fbBresSolid (DrawablePtr pDrawable, e += e1; if (e >= 0) { - *dst = FbDoMaskRRop (*dst, and, xor, bits); + WRITE(dst, FbDoMaskRRop (READ(dst), and, xor, bits)); bits = 0; dst += dstStride; e += e3; } } if (bits) - *dst = FbDoMaskRRop (*dst, and, xor, bits); + WRITE(dst, FbDoMaskRRop (READ(dst), and, xor, bits)); } else { while (len--) { - *dst = FbDoMaskRRop (*dst, and, xor, mask); + WRITE(dst, FbDoMaskRRop (READ(dst), and, xor, mask)); dst += dstStride; e += e1; if (e >= 0) @@ -115,6 +113,8 @@ fbBresSolid (DrawablePtr pDrawable, } } } + + fbFinishAccess (pDrawable); } void @@ -164,9 +164,9 @@ fbBresDash (DrawablePtr pDrawable, while (len--) { if (even) - *dst = FbDoMaskRRop (*dst, and, xor, mask); + WRITE(dst, FbDoMaskRRop (READ(dst), and, xor, mask)); else if (doOdd) - *dst = FbDoMaskRRop (*dst, bgand, bgxor, mask); + WRITE(dst, FbDoMaskRRop (READ(dst), bgand, bgxor, mask)); if (axis == X_AXIS) { mask = fbBresShiftMask(mask,signdx,dstBpp); @@ -199,6 +199,8 @@ fbBresDash (DrawablePtr pDrawable, } FbDashStep (dashlen, even); } + + fbFinishAccess (pDrawable); } void @@ -371,13 +373,13 @@ fbBresSolid24RRop (DrawablePtr pDrawable, FbMaskStip (x, 24, leftMask, nl, rightMask); if (leftMask) { - *d = FbDoMaskRRop (*d, andT, xorT, leftMask); + WRITE(d, FbDoMaskRRop (READ(d), andT, xorT, leftMask)); d++; andT = FbNext24Stip (andT); xorT = FbNext24Stip (xorT); } if (rightMask) - *d = FbDoMaskRRop (*d, andT, xorT, rightMask); + WRITE(d, FbDoMaskRRop (READ(d), andT, xorT, rightMask)); if (axis == X_AXIS) { x1 += signdx; @@ -399,6 +401,8 @@ fbBresSolid24RRop (DrawablePtr pDrawable, } } } + + fbFinishAccess (pDrawable); } static void @@ -468,13 +472,13 @@ fbBresDash24RRop (DrawablePtr pDrawable, FbMaskStip (x, 24, leftMask, nl, rightMask); if (leftMask) { - *d = FbDoMaskRRop (*d, andT, xorT, leftMask); + WRITE(d, FbDoMaskRRop (READ(d), andT, xorT, leftMask)); d++; andT = FbNext24Stip (andT); xorT = FbNext24Stip (xorT); } if (rightMask) - *d = FbDoMaskRRop (*d, andT, xorT, rightMask); + WRITE(d, FbDoMaskRRop (READ(d), andT, xorT, rightMask)); } if (axis == X_AXIS) { @@ -498,6 +502,8 @@ fbBresDash24RRop (DrawablePtr pDrawable, } FbDashStep (dashlen, even); } + + fbFinishAccess (pDrawable); } #endif diff --git a/xserver/fb/fbsetsp.c b/xserver/fb/fbsetsp.c index c59c13ceb..227ba4c62 100644 --- a/xserver/fb/fbsetsp.c +++ b/xserver/fb/fbsetsp.c @@ -1,6 +1,4 @@ /* - * Id: fbsetsp.c,v 1.1 1999/11/02 03:54:45 keithp Exp $ - * * Copyright © 1998 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its @@ -99,5 +97,6 @@ fbSetSpans (DrawablePtr pDrawable, pwidth++; } fbValidateDrawable (pDrawable); + fbFinishAccess (pDrawable); } diff --git a/xserver/fb/fbsolid.c b/xserver/fb/fbsolid.c index 89effe63b..53fcae071 100644 --- a/xserver/fb/fbsolid.c +++ b/xserver/fb/fbsolid.c @@ -1,6 +1,4 @@ /* - * $XFree86$ - * * Copyright © 1998 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its @@ -70,12 +68,12 @@ fbSolid (FbBits *dst, n = nmiddle; if (!and) while (n--) - *dst++ = xor; + WRITE(dst++, xor); else while (n--) { - *dst = FbDoRRop (*dst, and, xor); - dst++; + WRITE(dst, FbDoRRop (READ(dst), and, xor)); + dst++; } if (endmask) FbDoRightMaskByteRRop(dst,endbyte,endmask,and,xor); @@ -160,26 +158,26 @@ fbSolid24 (FbBits *dst, { if (startmask) { - *dst = FbDoMaskRRop(*dst, andS, xorS, startmask); - dst++; + WRITE(dst, FbDoMaskRRop(READ(dst), andS, xorS, startmask)); + dst++; } n = nmiddle; if (!and0) { while (n >= 3) { - *dst++ = xor0; - *dst++ = xor1; - *dst++ = xor2; + WRITE(dst++, xor0); + WRITE(dst++, xor1); + WRITE(dst++, xor2); n -= 3; } if (n) { - *dst++ = xor0; + WRITE(dst++, xor0); n--; if (n) { - *dst++ = xor1; + WRITE(dst++, xor1); } } } @@ -187,28 +185,28 @@ fbSolid24 (FbBits *dst, { while (n >= 3) { - *dst = FbDoRRop (*dst, and0, xor0); - dst++; - *dst = FbDoRRop (*dst, and1, xor1); - dst++; - *dst = FbDoRRop (*dst, and2, xor2); - dst++; + WRITE(dst, FbDoRRop (READ(dst), and0, xor0)); + dst++; + WRITE(dst, FbDoRRop (READ(dst), and1, xor1)); + dst++; + WRITE(dst, FbDoRRop (READ(dst), and2, xor2)); + dst++; n -= 3; } if (n) { - *dst = FbDoRRop (*dst, and0, xor0); - dst++; + WRITE(dst, FbDoRRop (READ(dst), and0, xor0)); + dst++; n--; if (n) { - *dst = FbDoRRop (*dst, and1, xor1); - dst++; + WRITE(dst, FbDoRRop (READ(dst), and1, xor1)); + dst++; } } } if (endmask) - *dst = FbDoMaskRRop (*dst, andE, xorE, endmask); + WRITE(dst, FbDoMaskRRop (READ(dst), andE, xorE, endmask)); dst += dstStride; } } diff --git a/xserver/fb/fbstipple.c b/xserver/fb/fbstipple.c index ce971481e..7d1326367 100644 --- a/xserver/fb/fbstipple.c +++ b/xserver/fb/fbstipple.c @@ -1,6 +1,4 @@ /* - * Id: fbstipple.c,v 1.1 1999/11/02 03:54:45 keithp Exp $ - * * Copyright © 1998 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its @@ -155,7 +153,7 @@ fbEvenStipple (FbBits *dst, /* * Extract stipple bits for this scanline; */ - bits = *s; + bits = READ(s); s += stipStride; if (s == stipEnd) s = stip; @@ -199,12 +197,12 @@ fbEvenStipple (FbBits *dst, n = nmiddle; if (!and) while (n--) - *dst++ = xor; + WRITE(dst++, xor); else { while (n--) { - *dst = FbDoRRop (*dst, and, xor); + WRITE(dst, FbDoRRop (READ(dst), and, xor)); dst++; } } diff --git a/xserver/fb/fbtile.c b/xserver/fb/fbtile.c index 0d0cfe174..05a27a17b 100644 --- a/xserver/fb/fbtile.c +++ b/xserver/fb/fbtile.c @@ -1,6 +1,4 @@ /* - * Id: fbtile.c,v 1.1 1999/11/02 03:54:45 keithp Exp $ - * * Copyright © 1998 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its @@ -42,6 +40,7 @@ fbEvenTile (FbBits *dst, int height, FbBits *tile, + FbStride tileStride, int tileHeight, int alu, @@ -68,9 +67,9 @@ fbEvenTile (FbBits *dst, /* * Compute tile start scanline and rotation parameters */ - tileEnd = tile + tileHeight; + tileEnd = tile + tileHeight * tileStride; modulus (- yRot, tileHeight, tileY); - t = tile + tileY; + t = tile + tileY * tileStride; modulus (- xRot, FB_UNIT, tileX); rot = tileX; @@ -80,8 +79,9 @@ fbEvenTile (FbBits *dst, /* * Pick up bits for this scanline */ - bits = *t++; - if (t == tileEnd) t = tile; + bits = READ(t); + t += tileStride; + if (t >= tileEnd) t = tile; bits = FbRotLeft(bits,rot); and = fbAnd(alu,bits,pm); xor = fbXor(alu,bits,pm); @@ -94,11 +94,11 @@ fbEvenTile (FbBits *dst, n = nmiddle; if (!and) while (n--) - *dst++ = xor; + WRITE(dst++, xor); else while (n--) { - *dst = FbDoRRop (*dst, and, xor); + WRITE(dst, FbDoRRop (READ(dst), and, xor)); dst++; } if (endmask) @@ -194,7 +194,7 @@ fbTile (FbBits *dst, { if (FbEvenTile (tileWidth)) fbEvenTile (dst, dstStride, dstX, width, height, - tile, tileHeight, + tile, tileStride, tileHeight, alu, pm, xRot, yRot); else fbOddTile (dst, dstStride, dstX, width, height, diff --git a/xserver/fb/fbutil.c b/xserver/fb/fbutil.c index 4be0f233c..5e232971e 100644 --- a/xserver/fb/fbutil.c +++ b/xserver/fb/fbutil.c @@ -1,6 +1,4 @@ /* - * Id: fbutil.c,v 1.1 1999/11/02 03:54:45 keithp Exp $ - * * Copyright © 1998 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its diff --git a/xserver/fb/fbwindow.c b/xserver/fb/fbwindow.c index 968b5a61d..144f08362 100644 --- a/xserver/fb/fbwindow.c +++ b/xserver/fb/fbwindow.c @@ -1,6 +1,4 @@ /* - * Id: fbwindow.c,v 1.1 1999/11/02 03:54:45 keithp Exp $ - * * Copyright © 1998 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its @@ -30,10 +28,6 @@ #include "fb.h" -#ifdef USE_MMX -#include "fbmmx.h" -#endif - Bool fbCreateWindow(WindowPtr pWin) { @@ -118,6 +112,9 @@ fbCopyWindowProc (DrawablePtr pSrcDrawable, upsidedown); pbox++; } + + fbFinishAccess (pDstDrawable); + fbFinishAccess (pSrcDrawable); } void @@ -219,36 +216,39 @@ fbFillRegionSolid (DrawablePtr pDrawable, int n = REGION_NUM_RECTS(pRegion); BoxPtr pbox = REGION_RECTS(pRegion); -#ifdef USE_MMX - int has_mmx = 0; - if (!and && fbHaveMMX()) - has_mmx = 1; +#ifndef FB_ACCESS_WRAPPER + int try_mmx = 0; + if (!and) + try_mmx = 1; #endif fbGetDrawable (pDrawable, dst, dstStride, dstBpp, dstXoff, dstYoff); while (n--) { -#ifdef USE_MMX - if (!has_mmx || !fbSolidFillmmx (pDrawable, - pbox->x1, - pbox->y1, - (pbox->x2 - pbox->x1), - (pbox->y2 - pbox->y1), xor)) { +#ifndef FB_ACCESS_WRAPPER + if (!try_mmx || !pixman_fill (dst, dstStride, dstBpp, + pbox->x1 + dstXoff, pbox->y1 + dstYoff, + (pbox->x2 - pbox->x1), + (pbox->y2 - pbox->y1), + xor)) + { #endif - fbSolid (dst + (pbox->y1 + dstYoff) * dstStride, - dstStride, - (pbox->x1 + dstXoff) * dstBpp, - dstBpp, - (pbox->x2 - pbox->x1) * dstBpp, - pbox->y2 - pbox->y1, - and, xor); -#ifdef USE_MMX + fbSolid (dst + (pbox->y1 + dstYoff) * dstStride, + dstStride, + (pbox->x1 + dstXoff) * dstBpp, + dstBpp, + (pbox->x2 - pbox->x1) * dstBpp, + pbox->y2 - pbox->y1, + and, xor); +#ifndef FB_ACCESS_WRAPPER } #endif fbValidateDrawable (pDrawable); pbox++; } + + fbFinishAccess (pDrawable); } #ifdef PANORAMIX @@ -311,6 +311,9 @@ fbFillRegionTiled (DrawablePtr pDrawable, yRot - (pbox->y1 + dstYoff)); pbox++; } + + fbFinishAccess (&pTile->drawable); + fbFinishAccess (pDrawable); } void diff --git a/xserver/fb/wfbrename.h b/xserver/fb/wfbrename.h new file mode 100644 index 000000000..5ea9092f8 --- /dev/null +++ b/xserver/fb/wfbrename.h @@ -0,0 +1,201 @@ +#define fb16Lane wfb16Lane +#define fb24_32CopyMtoN wfb24_32CopyMtoN +#define fb24_32CreateScreenResources wfb24_32CreateScreenResources +#define fb24_32GetImage wfb24_32GetImage +#define fb24_32GetSpans wfb24_32GetSpans +#define fb24_32ModifyPixmapHeader wfb24_32ModifyPixmapHeader +#define fb24_32PutZImage wfb24_32PutZImage +#define fb24_32ReformatTile wfb24_32ReformatTile +#define fb24_32SetSpans wfb24_32SetSpans +#define fb32Lane wfb32Lane +#define fb8Lane wfb8Lane +#define fbAddTraps wfbAddTraps +#define fbAddTriangles wfbAddTriangles +#define fbAllocatePrivates wfbAllocatePrivates +#define fbArc16 wfbArc16 +#define fbArc24 wfbArc24 +#define fbArc32 wfbArc32 +#define fbArc8 wfbArc8 +#define fbBlt wfbBlt +#define fbBlt24 wfbBlt24 +#define fbBltOne wfbBltOne +#define fbBltOne24 wfbBltOne24 +#define fbBltPlane wfbBltPlane +#define fbBltStip wfbBltStip +#define fbBres wfbBres +#define fbBresDash wfbBresDash +#define fbBresDash16 wfbBresDash16 +#define fbBresDash24 wfbBresDash24 +#define fbBresDash32 wfbBresDash32 +#define fbBresDash8 wfbBresDash8 +#define fbBresFill wfbBresFill +#define fbBresFillDash wfbBresFillDash +#define fbBresSolid wfbBresSolid +#define fbBresSolid16 wfbBresSolid16 +#define fbBresSolid24 wfbBresSolid24 +#define fbBresSolid32 wfbBresSolid32 +#define fbBresSolid8 wfbBresSolid8 +#define fbChangeWindowAttributes wfbChangeWindowAttributes +#define fbClearVisualTypes wfbClearVisualTypes +#define fbCloseScreen wfbCloseScreen +#define fbComposite wfbComposite +#define fbCompositeGeneral wfbCompositeGeneral +#define fbCompositeSolidMask_nx1xn wfbCompositeSolidMask_nx1xn +#define fbCompositeSolidMask_nx8888x0565C wfbCompositeSolidMask_nx8888x0565C +#define fbCompositeSolidMask_nx8888x8888C wfbCompositeSolidMask_nx8888x8888C +#define fbCompositeSolidMask_nx8x0565 wfbCompositeSolidMask_nx8x0565 +#define fbCompositeSolidMask_nx8x0888 wfbCompositeSolidMask_nx8x0888 +#define fbCompositeSolidMask_nx8x8888 wfbCompositeSolidMask_nx8x8888 +#define fbCompositeSrc_0565x0565 wfbCompositeSrc_0565x0565 +#define fbCompositeSrc_8888x0565 wfbCompositeSrc_8888x0565 +#define fbCompositeSrc_8888x0888 wfbCompositeSrc_8888x0888 +#define fbCompositeSrc_8888x8888 wfbCompositeSrc_8888x8888 +#define fbCompositeSrcAdd_1000x1000 wfbCompositeSrcAdd_1000x1000 +#define fbCompositeSrcAdd_8000x8000 wfbCompositeSrcAdd_8000x8000 +#define fbCompositeSrcAdd_8888x8888 wfbCompositeSrcAdd_8888x8888 +#define fbCopy1toN wfbCopy1toN +#define fbCopyArea wfbCopyArea +#define fbCopyNto1 wfbCopyNto1 +#define fbCopyNtoN wfbCopyNtoN +#define fbCopyPlane wfbCopyPlane +#define fbCopyRegion wfbCopyRegion +#define fbCopyWindow wfbCopyWindow +#define fbCopyWindowProc wfbCopyWindowProc +#define fbCreateDefColormap wfbCreateDefColormap +#define fbCreateGC wfbCreateGC +#define fbCreatePixmap wfbCreatePixmap +#define fbCreatePixmapBpp wfbCreatePixmapBpp +#define fbCreateWindow wfbCreateWindow +#define fbDestroyPixmap wfbDestroyPixmap +#define fbDestroyWindow wfbDestroyWindow +#define fbDoCopy wfbDoCopy +#define fbDots wfbDots +#define fbDots16 wfbDots16 +#define fbDots24 wfbDots24 +#define fbDots32 wfbDots32 +#define fbDots8 wfbDots8 +#define fbEvenStipple wfbEvenStipple +#define fbEvenTile wfbEvenTile +#define fbExpandDirectColors wfbExpandDirectColors +#define fbFill wfbFill +#define fbFillRegionSolid wfbFillRegionSolid +#define fbFillRegionTiled wfbFillRegionTiled +#define fbFillSpans wfbFillSpans +#define fbFixCoordModePrevious wfbFixCoordModePrevious +#define fbGCFuncs wfbGCFuncs +#define fbGCOps wfbGCOps +#define fbGCPrivateIndex wfbGCPrivateIndex +#define fbGeneration wfbGeneration +#define fbGetGCPrivateIndex wfbGetGCPrivateIndex +#define fbGetImage wfbGetImage +#define fbGetScreenPrivateIndex wfbGetScreenPrivateIndex +#define fbGetSpans wfbGetSpans +#define _fbGetWindowPixmap _wfbGetWindowPixmap +#define fbGetWinPrivateIndex wfbGetWinPrivateIndex +#define fbGlyph16 wfbGlyph16 +#define fbGlyph24 wfbGlyph24 +#define fbGlyph32 wfbGlyph32 +#define fbGlyph8 wfbGlyph8 +#define fbGlyphIn wfbGlyphIn +#define fbHasVisualTypes wfbHasVisualTypes +#define fbImageGlyphBlt wfbImageGlyphBlt +#define fbIn wfbIn +#define fbInitializeColormap wfbInitializeColormap +#define fbInitVisuals wfbInitVisuals +#define fbInstallColormap wfbInstallColormap +#define fbLaneTable wfbLaneTable +#define fbListInstalledColormaps wfbListInstalledColormaps +#define fbMapWindow wfbMapWindow +#define FbMergeRopBits wFbMergeRopBits +#define fbOddStipple wfbOddStipple +#define fbOddTile wfbOddTile +#define fbOver wfbOver +#define fbOver24 wfbOver24 +#define fbOverlayCloseScreen wfbOverlayCloseScreen +#define fbOverlayCopyWindow wfbOverlayCopyWindow +#define fbOverlayCreateScreenResources wfbOverlayCreateScreenResources +#define fbOverlayCreateWindow wfbOverlayCreateWindow +#define fbOverlayFinishScreenInit wfbOverlayFinishScreenInit +#define fbOverlayGeneration wfbOverlayGeneration +#define fbOverlayGetScreenPrivateIndex wfbOverlayGetScreenPrivateIndex +#define fbOverlayPaintKey wfbOverlayPaintKey +#define fbOverlayPaintWindow wfbOverlayPaintWindow +#define fbOverlayScreenPrivateIndex wfbOverlayScreenPrivateIndex +#define fbOverlaySetupScreen wfbOverlaySetupScreen +#define fbOverlayUpdateLayerRegion wfbOverlayUpdateLayerRegion +#define fbOverlayWindowExposures wfbOverlayWindowExposures +#define fbOverlayWindowLayer wfbOverlayWindowLayer +#define fbPadPixmap wfbPadPixmap +#define fbPaintWindow wfbPaintWindow +#define fbPictureInit wfbPictureInit +#define fbPixmapToRegion wfbPixmapToRegion +#define fbPolyArc wfbPolyArc +#define fbPolyFillRect wfbPolyFillRect +#define fbPolyGlyphBlt wfbPolyGlyphBlt +#define fbPolyLine wfbPolyLine +#define fbPolyline16 wfbPolyline16 +#define fbPolyline24 wfbPolyline24 +#define fbPolyline32 wfbPolyline32 +#define fbPolyline8 wfbPolyline8 +#define fbPolyPoint wfbPolyPoint +#define fbPolySegment wfbPolySegment +#define fbPolySegment16 wfbPolySegment16 +#define fbPolySegment24 wfbPolySegment24 +#define fbPolySegment32 wfbPolySegment32 +#define fbPolySegment8 wfbPolySegment8 +#define fbPositionWindow wfbPositionWindow +#define fbPushFill wfbPushFill +#define fbPushImage wfbPushImage +#define fbPushPattern wfbPushPattern +#define fbPushPixels wfbPushPixels +#define fbPutImage wfbPutImage +#define fbPutXYImage wfbPutXYImage +#define fbPutZImage wfbPutZImage +#define fbQueryBestSize wfbQueryBestSize +#define fbRasterizeEdges wfbRasterizeEdges +#define fbRasterizeTrapezoid wfbRasterizeTrapezoid +#define fbRealizeFont wfbRealizeFont +#define fbReduceRasterOp wfbReduceRasterOp +#define fbReplicatePixel wfbReplicatePixel +#define fbResolveColor wfbResolveColor +#define fbRestoreAreas wfbRestoreAreas +#define fbSaveAreas wfbSaveAreas +#define fbScreenPrivateIndex wfbScreenPrivateIndex +#define fbSegment wfbSegment +#define fbSelectBres wfbSelectBres +#define fbSetSpans wfbSetSpans +#define fbSetupScreen wfbSetupScreen +#define fbSetVisualTypes wfbSetVisualTypes +#define fbSetVisualTypesAndMasks wfbSetVisualTypesAndMasks +#define _fbSetWindowPixmap _wfbSetWindowPixmap +#define fbSolid wfbSolid +#define fbSolid24 wfbSolid24 +#define fbSolidBoxClipped wfbSolidBoxClipped +#define fbStipple wfbStipple +#define fbStipple1Bits wfbStipple1Bits +#define fbStipple24Bits wfbStipple24Bits +#define fbStipple2Bits wfbStipple2Bits +#define fbStipple4Bits wfbStipple4Bits +#define fbStipple8Bits wfbStipple8Bits +#define fbStippleTable wfbStippleTable +#define fbTile wfbTile +#define fbTransparentSpan wfbTransparentSpan +#define fbUninstallColormap wfbUninstallColormap +#define fbUnmapWindow wfbUnmapWindow +#define fbUnrealizeFont wfbUnrealizeFont +#define fbValidateGC wfbValidateGC +#define fbWalkCompositeRegion wfbWalkCompositeRegion +#define fbWinPrivateIndex wfbWinPrivateIndex +#define fbZeroLine wfbZeroLine +#define fbZeroSegment wfbZeroSegment +#define free_pixman_pict wfb_free_pixman_pict +#define image_from_pict wfb_image_from_pict +#define xxScrPrivateIndex wfbxxScrPrivateIndex +#define xxGCPrivateIndex wfbxxGCPrivateIndex +#define xxColormapPrivateIndex wfbxxColormapPrivateIndex +#define xxGeneration wfbxxGeneration +#define xxPrintVisuals wfbxxPrintVisuals +#define xxGCFuncs wfbxxGCFuncs +#define xxGCOps wfbxxGCOps +#define xxSetup wfbxxSetup +#define composeFunctions wfbComposeFunctions diff --git a/xserver/hw/Makefile.am b/xserver/hw/Makefile.am index d00d6fb3f..99df8e230 100644 --- a/xserver/hw/Makefile.am +++ b/xserver/hw/Makefile.am @@ -1,10 +1,18 @@ if DMX +if BUILD_DARWIN +# Darwin does not need the dmx subdir +else DMX_SUBDIRS = dmx endif +endif if XORG +if BUILD_DARWIN +# Darwin does not need the xfree86 subdir +else XORG_SUBDIRS = xfree86 endif +endif if XVFB XVFB_SUBDIRS = vfb @@ -30,12 +38,15 @@ if XPRINT XPRINT_SUBDIRS = xprint endif -# need to add darwin support here +if BUILD_DARWIN +DARWIN_SUBDIRS = darwin +endif SUBDIRS = \ $(XORG_SUBDIRS) \ $(XGL_SUBDIRS) \ $(XWIN_SUBDIRS) \ + $(DARWIN_SUBDIRS) \ $(XVFB_SUBDIRS) \ $(XNEST_SUBDIRS) \ $(DMX_SUBDIRS) \ diff --git a/xserver/hw/darwin/Makefile.am b/xserver/hw/darwin/Makefile.am index 542bfdb24..b773910fc 100644 --- a/xserver/hw/darwin/Makefile.am +++ b/xserver/hw/darwin/Makefile.am @@ -1,52 +1,282 @@ +noinst_LIBRARIES = libdarwinShared.a +libdarwin_XINPUT_SRCS = darwinXinput.c + +AM_CFLAGS = @XORG_CFLAGS@ @DIX_CFLAGS@ +AM_CPPFLAGS = @XORG_CFLAGS@ @DIX_CFLAGS@ +INCLUDES = @XORG_INCS@ -I../../miext/rootless + +DEFS = @DEFS@ -DUSE_NEW_CLUT + +if XQUARTZ +XQUARTZ_SUBDIRS = bundle quartz +endif + +SUBDIRS = \ + iokit \ + $(XQUARTZ_SUBDIRS) \ + utils \ + . + +darwinappdir = @APPLE_APPLICATIONS_DIR@/XDarwin.app + +libdarwinShared_a_SOURCES = darwin.c \ + darwinEvents.c \ + darwinKeyboard.c \ + $(darwin_XINPUT_SRCS) + +bin_PROGRAMS = XDarwin Xquartz +XDarwin_SOURCES = \ + $(top_srcdir)/fb/fbcmap_mi.c \ + $(top_srcdir)/mi/miinitext.c \ + $(top_srcdir)/Xi/stubs.c + +Xquartz_SOURCES = \ + $(top_srcdir)/fb/fbcmap_mi.c \ + $(top_srcdir)/mi/miinitext.c \ + $(top_srcdir)/Xi/stubs.c \ + apple/X11Application.m \ + apple/X11Controller.m \ + quartz/Preferences.m \ + quartz/applewm.c \ + quartz/keysym2ucs.c \ + quartz/pseudoramiX.c \ + quartz/quartz.c \ + quartz/quartzAudio.c \ + quartz/quartzCocoa.m \ + quartz/quartzKeyboard.c \ + quartz/quartzPasteboard.c \ + quartz/quartzStartup.c \ + quartz/xpr/appledri.c \ + quartz/xpr/dri.c \ + quartz/xpr/xprAppleWM.c \ + quartz/xpr/xprCursor.c \ + quartz/xpr/xprFrame.c \ + quartz/xpr/xprScreen.c \ + quartz/xpr/x-hash.c \ + quartz/xpr/x-hook.c \ + quartz/xpr/x-list.c + +XDarwin_LDADD = \ + $(top_builddir)/dix/dixfonts.lo \ + $(top_builddir)/dix/libdix.la \ + $(top_builddir)/config/libconfig.a \ + ./libdarwinShared.a \ + ./iokit/libiokit.a \ + $(top_builddir)/miext/shadow/libshadow.la \ + $(top_builddir)/miext/cw/libcw.la \ + $(DARWIN_LIBS) \ + $(top_builddir)/miext/rootless/librootless.la \ + $(top_builddir)/miext/rootless/safeAlpha/libsafeAlpha.la \ + $(top_builddir)/miext/rootless/accel/librlAccel.la \ + @XORG_LIBS@ \ + $(XSERVER_LIBS) + +Xquartz_LDADD = \ + $(top_builddir)/dix/dixfonts.lo \ + $(top_builddir)/dix/libdix.la \ + $(top_builddir)/config/libconfig.a \ + ./libdarwinShared.a \ + $(top_builddir)/miext/shadow/libshadow.la \ + $(top_builddir)/miext/cw/libcw.la \ + $(DARWIN_LIBS) \ + $(top_builddir)/miext/rootless/librootless.la \ + $(top_builddir)/miext/rootless/safeAlpha/libsafeAlpha.la \ + $(top_builddir)/miext/rootless/accel/librlAccel.la \ + @XORG_LIBS@ \ + $(XSERVER_LIBS) -lXplugin + +XDarwin_LDFLAGS = \ + -XCClinker -Objc \ + -Wl,-u,_miDCInitialize \ + -Wl,-framework,IOKit + +Xquartz_LDFLAGS = \ + -XCClinker -Objc \ + -Wl,-u,_miDCInitialize \ + -Wl,-framework,Carbon \ + -Wl,-framework,OpenGL \ + -Wl,-framework,Cocoa \ + -Wl,-framework,CoreAudio \ + -Wl,-framework,IOKit + +XDarwin_CFLAGS = -DINXDARWIN +Xquartz_CFLAGS = -DINXQUARTZ -DHAS_CG_MACH_PORT -DHAS_KL_API -DHAVE_XORG_CONFIG_H + +if XQUARTZ +macosdir = $(darwinappdir)/Contents/MacOS + +DEFS += -DDARWIN_WITH_QUARTZ -DXFree86Server + +macos_PROGRAMS = XDarwinApp +macos_SCRIPTS = x11app + +x11app: + cd apple && xcodebuild CFLAGS="$(XSERVERCFLAGS_CFLAGS)" LDFLAGS="$(XSERVERCFLAGS_LIBS)" + +XDarwinApp_SOURCES = \ + $(top_srcdir)/fb/fbcmap_mi.c \ + $(top_srcdir)/mi/miinitext.c \ + $(top_srcdir)/Xi/stubs.c + +XDarwinApp_LDADD = \ + $(top_builddir)/dix/dixfonts.lo \ + $(top_builddir)/dix/libdix.la \ + $(top_builddir)/config/libconfig.a \ + $(top_builddir)/os/libos.la \ + ./quartz/XApplication.o \ + ./libdarwinShared.a \ + ./quartz/libXQuartz.a \ + $(top_builddir)/miext/shadow/libshadow.la \ + $(top_builddir)/miext/cw/libcw.la \ + $(DARWIN_LIBS) \ + $(top_builddir)/miext/rootless/librootless.la \ + $(top_builddir)/miext/rootless/safeAlpha/libsafeAlpha.la \ + $(top_builddir)/miext/rootless/accel/librlAccel.la \ + @XORG_LIBS@ \ + $(XSERVER_LIBS) + +XDarwinApp_LDFLAGS = \ + -XCClinker -Objc \ + -Wl,-u,_miDCInitialize \ + -Wl,-framework,Carbon \ + -Wl,-framework,ApplicationServices \ + -Wl,-framework,Cocoa \ + -Wl,-framework,CoreAudio \ + -Wl,-framework,IOKit + +XDarwinApp_CFLAGS = -DINXDARWINAPP +HOOK_TARGETS = xquartz-install-hook + + +crplugindir = $(darwinappdir)/Contents/Resources/cr.bundle/Contents/MacOS +crplugin_LTLIBRARIES = cr.la +cr_la_SOURCES = \ + quartz/cr/crAppleWM.m \ + quartz/cr/crFrame.m \ + quartz/cr/crScreen.m \ + quartz/fullscreen/quartzCursor.c \ + quartz/cr/XView.m + +cr_la_LIBADD = \ + $(top_builddir)/miext/rootless/librootless.la \ + $(top_builddir)/miext/rootless/safeAlpha/libsafeAlpha.la \ + $(top_builddir)/miext/rootless/accel/librlAccel.la + +cr_la_LDFLAGS = -shrext '' -Wl,-framework,ApplicationServices \ + -Wl,-framework,Cocoa \ + -Wl,-framework,Carbon \ + -XCClinker -ObjC \ + -XCClinker -bundle_loader -XCClinker XDarwinApp \ + -module -avoid-version -no-undefined +cr_la_DEPENDENCIES = XDarwinApp + +fullscreenplugindir = $(darwinappdir)/Contents/Resources/fullscreen.bundle/Contents/MacOS +fullscreenplugin_LTLIBRARIES = fullscreen.la +fullscreen_la_SOURCES = \ + quartz/fullscreen/fullscreen.c \ + quartz/fullscreen/quartzCursor.c + +fullscreen_la_LIBADD = \ + $(top_builddir)/miext/shadow/libshadow.la + +fullscreen_la_LDFLAGS = -shrext '' -Wl,-framework,ApplicationServices \ + -XCClinker -bundle_loader -XCClinker XDarwinApp \ + -module -avoid-version -no-undefined +fullscreen_la_DEPENDENCIES = XDarwinApp + +if GLX +glxMesaplugindir = $(darwinappdir)/Contents/Resources/glxMesa.bundle/Contents/MacOS +glxMesaplugin_LTLIBRARIES = glxMesa.la +glxMesa_la_SOURCES = +glxMesa_la_LIBADD = \ + $(top_builddir)/GL/glx/libglx.la \ + $(top_builddir)/GL/mesa/libGLcore.la +glxMesa_la_LDFLAGS = -shrext '' \ + -Wl,-framework,AGL \ + -Wl,-framework,OpenGL \ + -XCClinker -ObjC \ + -XCClinker -bundle_loader -XCClinker XDarwinApp \ + -module -avoid-version -no-undefined +glxMesa_la_DEPENDENCIES = XDarwinApp +endif + +endif +if HAVE_X_PLUGIN + +xprplugindir = $(darwinappdir)/Contents/Resources/xpr.bundle/Contents/MacOS +xprplugin_LTLIBRARIES = xpr.la +xpr_la_SOURCES = \ + quartz/xpr/appledri.c \ + quartz/xpr/dri.c \ + quartz/xpr/xprAppleWM.c \ + quartz/xpr/xprCursor.c \ + quartz/xpr/xprFrame.c \ + quartz/xpr/xprScreen.c \ + quartz/xpr/x-hash.c \ + quartz/xpr/x-hook.c \ + quartz/xpr/x-list.c + +xpr_la_LIBADD = \ + $(top_builddir)/miext/rootless/librootless.la \ + $(top_builddir)/miext/rootless/safeAlpha/libsafeAlpha.la \ + $(top_builddir)/miext/rootless/accel/librlAccel.la + +xpr_la_LDFLAGS = -shrext '' -Wl,-framework,ApplicationServices \ + -lXplugin \ + -XCClinker -bundle_loader -XCClinker XDarwinApp \ + -module -avoid-version -no-undefined +xpr_la_DEPENDENCIES = XDarwinApp + +endif + +if HAVE_AGL_FRAMEWORK +glxCGLplugindir = $(darwinappdir)/Contents/Resources/glxCGL.bundle/Contents/MacOS +glxCGLplugin_LTLIBRARIES = glxCGL.la +glxCGL_la_SOURCES = +glxCGL_la_LIBADD = \ + $(top_builddir)/GL/glx/glxext.o \ + $(top_builddir)/GL/glx/libglx.a \ + $(top_builddir)/GL/apple/libAGLcore.a +glxCGL_la_LDFLAGS = -shrext '' -Wl,-framework,ApplicationServices \ + -Wl,-framework,AGL \ + -Wl,-framework,OpenGL \ + -XCClinker -ObjC \ + -XCClinker -bundle_loader -XCClinker XDarwinApp \ + -module -avoid-version -no-undefined +glxCGL_la_DEPENDENCIES = XDarwinApp + + +glxAGLplugindir = $(darwinappdir)/Contents/Resources/glxAGL.bundle/Contents/MacOS +glxAGLplugin_LTLIBRARIES = glxAGL.la +glxAGL_la_SOURCES = +glxAGL_la_LIBADD = \ + $(top_builddir)/GL/glx/glxext.o \ + $(top_builddir)/GL/glx/libglx.a \ + $(top_builddir)/GL/apple/libAGLcore.a +glxAGL_la_LDFLAGS = -shrext '' \ + -Wl,-framework,AGL \ + -Wl,-framework,OpenGL \ + -XCClinker -ObjC \ + -XCClinker -bundle_loader -XCClinker XDarwinApp \ + -module -avoid-version -no-undefined +glxAGL_la_DEPENDENCIES = XDarwinApp + + + +endif + +man1_MANS = XDarwin.man + +uninstall-hook: + rm -rf $(DESTDIR)$(macosdir)/XDarwin + +install-data-hook: $(HOOK_TARGETS) + +xquartz-install-hook: + mv $(DESTDIR)$(macosdir)/XDarwinApp $(DESTDIR)$(macosdir)/XDarwin + cd apple && xcodebuild install + EXTRA_DIST = \ - bundle/Dutch.lproj/Credits.rtf \ - bundle/Dutch.lproj/Localizable.strings \ - bundle/Dutch.lproj/MainMenu.nib/classes.nib \ - bundle/Dutch.lproj/MainMenu.nib/objects.nib \ - bundle/Dutch.lproj/XDarwinHelp.html.cpp \ - bundle/English.lproj/Credits.rtf \ - bundle/English.lproj/InfoPlist.strings.cpp \ - bundle/English.lproj/Localizable.strings \ - bundle/English.lproj/MainMenu.nib/classes.nib \ - bundle/English.lproj/MainMenu.nib/objects.nib \ - bundle/English.lproj/XDarwinHelp.html.cpp \ - bundle/French.lproj/Credits.rtf \ - bundle/French.lproj/Localizable.strings \ - bundle/French.lproj/MainMenu.nib/classes.nib \ - bundle/French.lproj/MainMenu.nib/objects.nib \ - bundle/French.lproj/XDarwinHelp.html.cpp \ - bundle/German.lproj/Credits.rtf \ - bundle/German.lproj/Localizable.strings \ - bundle/German.lproj/MainMenu.nib/classes.nib \ - bundle/German.lproj/MainMenu.nib/objects.nib \ - bundle/German.lproj/XDarwinHelp.html.cpp \ - bundle/Japanese.lproj/Credits.rtf \ - bundle/Japanese.lproj/Localizable.strings \ - bundle/Japanese.lproj/MainMenu.nib/classes.nib \ - bundle/Japanese.lproj/MainMenu.nib/objects.nib \ - bundle/Japanese.lproj/XDarwinHelp.html.cpp \ - bundle/ko.lproj/Credits.rtf \ - bundle/ko.lproj/Localizable.strings \ - bundle/ko.lproj/MainMenu.nib/classes.nib \ - bundle/ko.lproj/MainMenu.nib/objects.nib \ - bundle/ko.lproj/XDarwinHelp.html.cpp \ - bundle/Portuguese.lproj/Credits.rtf \ - bundle/Portuguese.lproj/Localizable.strings \ - bundle/Portuguese.lproj/MainMenu.nib/classes.nib \ - bundle/Portuguese.lproj/MainMenu.nib/objects.nib \ - bundle/Portuguese.lproj/XDarwinHelp.html.cpp \ - bundle/Spanish.lproj/Credits.rtf \ - bundle/Spanish.lproj/Localizable.strings \ - bundle/Spanish.lproj/MainMenu.nib/classes.nib \ - bundle/Spanish.lproj/MainMenu.nib/objects.nib \ - bundle/Spanish.lproj/XDarwinHelp.html.cpp \ - bundle/startXClients.cpp \ - bundle/Swedish.lproj/Credits.rtf \ - bundle/Swedish.lproj/Localizable.strings \ - bundle/Swedish.lproj/MainMenu.nib/classes.nib \ - bundle/Swedish.lproj/MainMenu.nib/objects.nib \ - bundle/Swedish.lproj/XDarwinHelp.html.cpp \ - bundle/XDarwin.icns \ darwin.c \ darwinClut8.h \ darwinEvents.c \ @@ -54,64 +284,4 @@ EXTRA_DIST = \ darwinKeyboard.c \ darwinKeyboard.h \ darwinXinput.c \ - iokit/xfIOKit.c \ - iokit/xfIOKitCursor.c \ - iokit/xfIOKit.h \ - iokit/xfIOKitStartup.c \ - Makefile.am \ - quartz/applewm.c \ - quartz/applewmExt.h \ - quartz/cr/crAppleWM.m \ - quartz/cr/crFrame.m \ - quartz/cr/cr.h \ - quartz/cr/crScreen.m \ - quartz/cr/XView.h \ - quartz/cr/XView.m \ - quartz/fullscreen/fullscreen.c \ - quartz/fullscreen/quartzCursor.c \ - quartz/fullscreen/quartzCursor.h \ - quartz/keysym2ucs.c \ - quartz/keysym2ucs.h \ - quartz/Preferences.h \ - quartz/Preferences.m \ - quartz/pseudoramiX.c \ - quartz/pseudoramiX.h \ - quartz/quartzAudio.c \ - quartz/quartzAudio.h \ - quartz/quartz.c \ - quartz/quartzCocoa.m \ - quartz/quartzCommon.h \ - quartz/quartzCursor.c \ - quartz/quartzCursor.h \ - quartz/quartz.h \ - quartz/quartzKeyboard.c \ - quartz/quartzPasteboard.c \ - quartz/quartzPasteboard.h \ - quartz/quartzStartup.c \ - quartz/XApplication.h \ - quartz/XApplication.m \ - quartz/XDarwin.pbproj/project.pbxproj \ - quartz/XDarwinStartup.c \ - quartz/XDarwinStartup.man \ - quartz/xpr/appledri.c \ - quartz/xpr/dri.c \ - quartz/xpr/dri.h \ - quartz/xpr/dristruct.h \ - quartz/xpr/x-hash.c \ - quartz/xpr/x-hash.h \ - quartz/xpr/x-hook.c \ - quartz/xpr/x-hook.h \ - quartz/xpr/x-list.c \ - quartz/xpr/x-list.h \ - quartz/xpr/Xplugin.h \ - quartz/xpr/xprAppleWM.c \ - quartz/xpr/xprCursor.c \ - quartz/xpr/xprFrame.c \ - quartz/xpr/xpr.h \ - quartz/xpr/xprScreen.c \ - quartz/XServer.h \ - quartz/XServer.m \ - utils/dumpkeymap.c \ - utils/dumpkeymap.man \ - utils/README.txt \ XDarwin.man diff --git a/xserver/hw/darwin/apple/X11Application.m b/xserver/hw/darwin/apple/X11Application.m new file mode 100644 index 000000000..57795f452 --- /dev/null +++ b/xserver/hw/darwin/apple/X11Application.m @@ -0,0 +1,926 @@ +/* X11Application.m -- subclass of NSApplication to multiplex events + + Copyright (c) 2002-2007 Apple Inc. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT + HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. + + Except as contained in this notice, the name(s) of the above + copyright holders shall not be used in advertising or otherwise to + promote the sale, use or other dealings in this Software without + prior written authorization. */ + +#include "../quartz/quartzCommon.h" + +#import "X11Application.h" +#include + +/* ouch! */ +#define BOOL X_BOOL +# include "darwin.h" +# include "../quartz/quartz.h" +# define _APPLEWM_SERVER_ +# include "X11/extensions/applewm.h" +# include "micmap.h" +#undef BOOL + +#include "xf86Version.h" + +#include +#include +#include + +#define DEFAULTS_FILE "/etc/X11/xserver/Xquartz.plist" + +int X11EnableKeyEquivalents = TRUE; +int quartzHasRoot = FALSE, quartzEnableRootless = TRUE; + +extern int darwinFakeButtons, input_check_flag; +// extern Bool enable_stereo; +Bool enable_stereo; //<-- this needs to go back to being an extern once glxCGL is fixed + +extern xEvent *darwinEvents; + +X11Application *X11App; + +#define ALL_KEY_MASKS (NSShiftKeyMask | NSControlKeyMask | NSAlternateKeyMask | NSCommandKeyMask) + +@implementation X11Application + +typedef struct message_struct message; +struct message_struct { + mach_msg_header_t hdr; + SEL selector; + NSObject *arg; +}; + +static mach_port_t _port; + +static void send_nsevent (NSEventType type, NSEvent *e); + +/* Quartz mode initialization routine. This is often dynamically loaded + but is statically linked into this X server. */ +extern Bool QuartzModeBundleInit(void); + +static void init_ports (void) { + kern_return_t r; + NSPort *p; + + if (_port != MACH_PORT_NULL) return; + + r = mach_port_allocate (mach_task_self (), MACH_PORT_RIGHT_RECEIVE, &_port); + if (r != KERN_SUCCESS) return; + + p = [NSMachPort portWithMachPort:_port]; + [p setDelegate:NSApp]; + [p scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode]; +} + +static void message_kit_thread (SEL selector, NSObject *arg) { + message msg; + kern_return_t r; + + msg.hdr.msgh_bits = MACH_MSGH_BITS (MACH_MSG_TYPE_MAKE_SEND, 0); + msg.hdr.msgh_size = sizeof (msg); + msg.hdr.msgh_remote_port = _port; + msg.hdr.msgh_local_port = MACH_PORT_NULL; + msg.hdr.msgh_reserved = 0; + msg.hdr.msgh_id = 0; + + msg.selector = selector; + msg.arg = [arg retain]; + + r = mach_msg (&msg.hdr, MACH_SEND_MSG, msg.hdr.msgh_size, + 0, MACH_PORT_NULL, 0, MACH_PORT_NULL); + if (r != KERN_SUCCESS) + ErrorF("%s: mach_msg failed: %x\n", __FUNCTION__, r); +} + +- (void) handleMachMessage:(void *)_msg { + message *msg = _msg; + + [self performSelector:msg->selector withObject:msg->arg]; + [msg->arg release]; +} + +- (void) set_controller:obj { + if (_controller == nil) _controller = [obj retain]; +} + +- (void) dealloc { + if (_controller != nil) [_controller release]; + + if (_port != MACH_PORT_NULL) + mach_port_deallocate (mach_task_self (), _port); + + [super dealloc]; +} + +- (void) orderFrontStandardAboutPanel: (id) sender { + NSMutableDictionary *dict; + NSDictionary *infoDict; + NSString *tem; + + dict = [NSMutableDictionary dictionaryWithCapacity:2]; + infoDict = [[NSBundle mainBundle] infoDictionary]; + + [dict setObject: NSLocalizedString (@"The X Window System", @"About panel") + forKey:@"ApplicationName"]; + + tem = [infoDict objectForKey:@"CFBundleShortVersionString"]; + + [dict setObject:[NSString stringWithFormat:@"X11.app %@ - X.org X11R7.3", tem] + forKey:@"ApplicationVersion"]; + + [self orderFrontStandardAboutPanelWithOptions: dict]; +} + +- (void) activateX:(BOOL)state { + /* Create a TSM document that supports full Unicode input, and + have it activated while X is active (unless using the old + keymapping files) */ + static TSMDocumentID x11_document; + + if (state) { + QuartzMessageServerThread (kXDarwinActivate, 0); + + if (!_x_active) { + if (x11_document == 0 && darwinKeymapFile == NULL) { + OSType types[1]; + types[0] = kUnicodeDocument; + NewTSMDocument (1, types, &x11_document, 0); + } + + if (x11_document != 0) ActivateTSMDocument (x11_document); + } + } else { + QuartzMessageServerThread (kXDarwinDeactivate, 0); + + if (_x_active && x11_document != 0) + DeactivateTSMDocument (x11_document); + } + + _x_active = state; +} + +- (void) became_key:(NSWindow *)win { + [self activateX:NO]; +} + +- (void) sendEvent:(NSEvent *)e { + NSEventType type; + BOOL for_appkit, for_x; + + type = [e type]; + + /* By default pass down the responder chain and to X. */ + for_appkit = YES; + for_x = YES; + + switch (type) { + case NSLeftMouseDown: case NSRightMouseDown: case NSOtherMouseDown: + case NSLeftMouseUp: case NSRightMouseUp: case NSOtherMouseUp: + if ([e window] != nil) { + /* Pointer event has a window. Probably something for the kit. */ + + for_x = NO; + + if (_x_active) [self activateX:NO]; + } else if ([self modalWindow] == nil) { + /* Must be an X window. Tell appkit it doesn't have focus. */ + + for_appkit = NO; + + if ([self isActive]) { + [self deactivate]; + + if (!_x_active && quartzProcs->IsX11Window([e window], [e windowNumber])) + [self activateX:YES]; + } + } + break; + + case NSKeyDown: case NSKeyUp: + if (_x_active) { + static int swallow_up; + + /* No kit window is focused, so send it to X. */ + + for_appkit = NO; + + if (type == NSKeyDown) { + /* Before that though, see if there are any global + shortcuts bound to it. */ + + if (X11EnableKeyEquivalents + && [[self mainMenu] performKeyEquivalent:e]) { + swallow_up = [e keyCode]; + for_x = NO; + } else if (!quartzEnableRootless + && ([e modifierFlags] & ALL_KEY_MASKS) + == (NSCommandKeyMask | NSAlternateKeyMask) + && ([e keyCode] == 0 /*a*/ + || [e keyCode] == 53 /*Esc*/)) { + swallow_up = 0; + for_x = NO; +#ifdef DARWIN_DDX_MISSING + QuartzMessageServerThread (kXDarwinToggleFullscreen, 0); +#endif + } + } else { + /* If we saw a key equivalent on the down, don't pass + the up through to X. */ + + if (swallow_up != 0 && [e keyCode] == swallow_up) { + swallow_up = 0; + for_x = NO; + } + } + } + else for_x = NO; + break; + + case NSFlagsChanged: + /* For the l33t X users who remap modifier keys to normal keysyms. */ + if (!_x_active) + for_x = NO; + break; + + case NSAppKitDefined: + switch ([e subtype]) { + case NSApplicationActivatedEventType: + for_x = NO; + if ([self modalWindow] == nil) { + for_appkit = NO; + + /* FIXME: hack to avoid having to pass the event to appkit, + which would cause it to raise one of its windows. */ + _appFlags._active = YES; + + [self activateX:YES]; +#ifdef DARWIN_DDX_MISSING + if ([e data2] & 0x10) QuartzMessageServerThread (kXDarwinBringAllToFront, 0); +#endif + } + break; + + case 18: /* ApplicationDidReactivate */ + if (quartzHasRoot) for_appkit = NO; + break; + + case NSApplicationDeactivatedEventType: + for_x = NO; + [self activateX:NO]; + break; + } + break; + + default: break; /* for gcc */ + } + + if (for_appkit) [super sendEvent:e]; + if (for_x) send_nsevent (type, e); +} + +- (void) set_window_menu:(NSArray *)list { + [_controller set_window_menu:list]; +} + +- (void) set_window_menu_check:(NSNumber *)n { + [_controller set_window_menu_check:n]; +} + +- (void) set_apps_menu:(NSArray *)list { + [_controller set_apps_menu:list]; +} + +- (void) set_front_process:unused { + [NSApp activateIgnoringOtherApps:YES]; + + if ([self modalWindow] == nil) [self activateX:YES]; +} + +- (void) set_can_quit:(NSNumber *)state { + [_controller set_can_quit:[state boolValue]]; +} + +- (void) server_ready:unused { + [_controller server_ready]; +} + +- (void) show_hide_menubar:(NSNumber *)state { + if ([state boolValue]) ShowMenuBar (); + else HideMenuBar (); +} + + +/* user preferences */ + +/* Note that these functions only work for arrays whose elements + can be toll-free-bridged between NS and CF worlds. */ + +static const void *cfretain (CFAllocatorRef a, const void *b) { + return CFRetain (b); +} + +static void cfrelease (CFAllocatorRef a, const void *b) { + CFRelease (b); +} + +static CFMutableArrayRef nsarray_to_cfarray (NSArray *in) { + CFMutableArrayRef out; + CFArrayCallBacks cb; + NSObject *ns; + const CFTypeRef *cf; + int i, count; + + memset (&cb, 0, sizeof (cb)); + cb.version = 0; + cb.retain = cfretain; + cb.release = cfrelease; + + count = [in count]; + out = CFArrayCreateMutable (NULL, count, &cb); + + for (i = 0; i < count; i++) { + ns = [in objectAtIndex:i]; + + if ([ns isKindOfClass:[NSArray class]]) + cf = (CFTypeRef) nsarray_to_cfarray ((NSArray *) ns); + else + cf = CFRetain ((CFTypeRef) ns); + + CFArrayAppendValue (out, cf); + CFRelease (cf); + } + + return out; +} + +static NSMutableArray * cfarray_to_nsarray (CFArrayRef in) { + NSMutableArray *out; + const CFTypeRef *cf; + NSObject *ns; + int i, count; + + count = CFArrayGetCount (in); + out = [[NSMutableArray alloc] initWithCapacity:count]; + + for (i = 0; i < count; i++) { + cf = CFArrayGetValueAtIndex (in, i); + + if (CFGetTypeID (cf) == CFArrayGetTypeID ()) + ns = cfarray_to_nsarray ((CFArrayRef) cf); + else + ns = [(id)cf retain]; + + [out addObject:ns]; + [ns release]; + } + + return out; +} + +- (CFPropertyListRef) prefs_get:(NSString *)key { + CFPropertyListRef value; + + value = CFPreferencesCopyAppValue ((CFStringRef) key, CFSTR (APP_PREFS)); + + if (value == NULL) { + static CFDictionaryRef defaults; + + if (defaults == NULL) { + CFStringRef error = NULL; + CFDataRef data; + CFURLRef url; + SInt32 error_code; + + url = (CFURLCreateFromFileSystemRepresentation + (NULL, (unsigned char *)DEFAULTS_FILE, strlen (DEFAULTS_FILE), false)); + if (CFURLCreateDataAndPropertiesFromResource (NULL, url, &data, + NULL, NULL, &error_code)) { + defaults = (CFPropertyListCreateFromXMLData + (NULL, data, kCFPropertyListMutableContainersAndLeaves, &error)); + if (error != NULL) CFRelease (error); + CFRelease (data); + } + CFRelease (url); + + if (defaults != NULL) { + NSMutableArray *apps, *elt; + int count, i; + NSString *name, *nname; + + /* Localize the names in the default apps menu. */ + + apps = [(NSDictionary *)defaults objectForKey:@PREFS_APPSMENU]; + if (apps != nil) { + count = [apps count]; + for (i = 0; i < count; i++) { + elt = [apps objectAtIndex:i]; + if (elt != nil && [elt isKindOfClass:[NSArray class]]) { + name = [elt objectAtIndex:0]; + if (name != nil) { + nname = NSLocalizedString (name, nil); + if (nname != nil && nname != name) + [elt replaceObjectAtIndex:0 withObject:nname]; + } + } + } + } + } + } + + if (defaults != NULL) value = CFDictionaryGetValue (defaults, key); + if (value != NULL) CFRetain (value); + } + + return value; +} + +- (int) prefs_get_integer:(NSString *)key default:(int)def { + CFPropertyListRef value; + int ret; + + value = [self prefs_get:key]; + + if (value != NULL && CFGetTypeID (value) == CFNumberGetTypeID ()) + CFNumberGetValue (value, kCFNumberIntType, &ret); + else if (value != NULL && CFGetTypeID (value) == CFStringGetTypeID ()) + ret = CFStringGetIntValue (value); + else + ret = def; + + if (value != NULL) CFRelease (value); + + return ret; +} + +- (const char *) prefs_get_string:(NSString *)key default:(const char *)def { + CFPropertyListRef value; + const char *ret = NULL; + + value = [self prefs_get:key]; + + if (value != NULL && CFGetTypeID (value) == CFStringGetTypeID ()) { + NSString *s = (NSString *) value; + + ret = [s UTF8String]; + } + + if (value != NULL) CFRelease (value); + + return ret != NULL ? ret : def; +} + +- (float) prefs_get_float:(NSString *)key default:(float)def { + CFPropertyListRef value; + float ret = def; + + value = [self prefs_get:key]; + + if (value != NULL + && CFGetTypeID (value) == CFNumberGetTypeID () + && CFNumberIsFloatType (value)) + CFNumberGetValue (value, kCFNumberFloatType, &ret); + else if (value != NULL && CFGetTypeID (value) == CFStringGetTypeID ()) + ret = CFStringGetDoubleValue (value); + + if (value != NULL) CFRelease (value); + + return ret; +} + +- (int) prefs_get_boolean:(NSString *)key default:(int)def { + CFPropertyListRef value; + int ret = def; + + value = [self prefs_get:key]; + + if (value != NULL) { + if (CFGetTypeID (value) == CFNumberGetTypeID ()) + CFNumberGetValue (value, kCFNumberIntType, &ret); + else if (CFGetTypeID (value) == CFBooleanGetTypeID ()) + ret = CFBooleanGetValue (value); + else if (CFGetTypeID (value) == CFStringGetTypeID ()) { + const char *tem = [(NSString *) value lossyCString]; + if (strcasecmp (tem, "true") == 0 || strcasecmp (tem, "yes") == 0) + ret = YES; + else + ret = NO; + } + + CFRelease (value); + } + return ret; +} + +- (NSArray *) prefs_get_array:(NSString *)key { + NSArray *ret = nil; + CFPropertyListRef value; + + value = [self prefs_get:key]; + + if (value != NULL) { + if (CFGetTypeID (value) == CFArrayGetTypeID ()) + ret = [cfarray_to_nsarray (value) autorelease]; + + CFRelease (value); + } + + return ret; +} + +- (void) prefs_set_integer:(NSString *)key value:(int)value { + CFNumberRef x; + + x = CFNumberCreate (NULL, kCFNumberIntType, &value); + + CFPreferencesSetValue ((CFStringRef) key, (CFTypeRef) x, CFSTR (APP_PREFS), + kCFPreferencesCurrentUser, kCFPreferencesAnyHost); + + CFRelease (x); +} + +- (void) prefs_set_float:(NSString *)key value:(float)value { + CFNumberRef x; + + x = CFNumberCreate (NULL, kCFNumberFloatType, &value); + + CFPreferencesSetValue ((CFStringRef) key, (CFTypeRef) x, CFSTR (APP_PREFS), + kCFPreferencesCurrentUser, kCFPreferencesAnyHost); + + CFRelease (x); +} + +- (void) prefs_set_boolean:(NSString *)key value:(int)value { + CFPreferencesSetValue ((CFStringRef) key, + (CFTypeRef) value ? kCFBooleanTrue + : kCFBooleanFalse, CFSTR (APP_PREFS), + kCFPreferencesCurrentUser, kCFPreferencesAnyHost); + +} + +- (void) prefs_set_array:(NSString *)key value:(NSArray *)value { + CFArrayRef cfarray; + + cfarray = nsarray_to_cfarray (value); + CFPreferencesSetValue ((CFStringRef) key, + (CFTypeRef) cfarray, + CFSTR (APP_PREFS), + kCFPreferencesCurrentUser, kCFPreferencesAnyHost); + CFRelease (cfarray); +} + +- (void) prefs_set_string:(NSString *)key value:(NSString *)value { + CFPreferencesSetValue ((CFStringRef) key, (CFTypeRef) value, + CFSTR (APP_PREFS), kCFPreferencesCurrentUser, + kCFPreferencesAnyHost); +} + +- (void) prefs_synchronize { + CFPreferencesAppSynchronize (kCFPreferencesCurrentApplication); +} + +- (void) read_defaults { + const char *tem; + + quartzUseSysBeep = [self prefs_get_boolean:@PREFS_SYSBEEP + default:quartzUseSysBeep]; + quartzEnableRootless = [self prefs_get_boolean:@PREFS_ROOTLESS + default:quartzEnableRootless]; +#ifdef DARWIN_DDX_MISSING + quartzFullscreenDisableHotkeys = ![self prefs_get_boolean: + @PREFS_FULLSCREEN_HOTKEYS default: + !quartzFullscreenDisableHotkeys]; + quartzXpluginOptions = [self prefs_get_integer:@PREFS_XP_OPTIONS + default:quartzXpluginOptions]; +#endif + + darwinSwapAltMeta = [self prefs_get_boolean:@PREFS_SWAP_ALT_META + default:darwinSwapAltMeta]; + darwinFakeButtons = [self prefs_get_boolean:@PREFS_FAKEBUTTONS + default:darwinFakeButtons]; + if (darwinFakeButtons) { + const char *fake2, *fake3; + + fake2 = [self prefs_get_string:@PREFS_FAKE_BUTTON2 default:NULL]; + fake3 = [self prefs_get_string:@PREFS_FAKE_BUTTON3 default:NULL]; + + if (fake2 != NULL) darwinFakeMouse2Mask = DarwinParseModifierList(fake2); + if (fake3 != NULL) darwinFakeMouse3Mask = DarwinParseModifierList(fake3); + + } + + X11EnableKeyEquivalents = [self prefs_get_boolean:@PREFS_KEYEQUIVS + default:X11EnableKeyEquivalents]; + + darwinSyncKeymap = [self prefs_get_boolean:@PREFS_SYNC_KEYMAP + default:darwinSyncKeymap]; + + tem = [self prefs_get_string:@PREFS_KEYMAP_FILE default:NULL]; + + if (tem != NULL) darwinKeymapFile = strdup (tem); + else darwinKeymapFile = NULL; + + darwinDesiredDepth = [self prefs_get_integer:@PREFS_DEPTH + default:darwinDesiredDepth]; + + enable_stereo = [self prefs_get_boolean:@PREFS_ENABLE_STEREO + default:false]; +} + +/* This will end up at the end of the responder chain. */ +- (void) copy:sender { + QuartzMessageServerThread (kXDarwinPasteboardNotify, 1, + AppleWMCopyToPasteboard); +} + +- (BOOL) x_active { + return _x_active; +} + +@end + +static NSArray * +array_with_strings_and_numbers (int nitems, const char **items, + const char *numbers) { + NSMutableArray *array, *subarray; + NSString *string, *number; + int i; + + /* (Can't autorelease on the X server thread) */ + + array = [[NSMutableArray alloc] initWithCapacity:nitems]; + + for (i = 0; i < nitems; i++) { + subarray = [[NSMutableArray alloc] initWithCapacity:2]; + + string = [[NSString alloc] initWithUTF8String:items[i]]; + [subarray addObject:string]; + [string release]; + + if (numbers[i] != 0) { + number = [[NSString alloc] initWithFormat:@"%d", numbers[i]]; + [subarray addObject:number]; + [number release]; + } else + [subarray addObject:@""]; + + [array addObject:subarray]; + [subarray release]; + } + + return array; +} + +void X11ApplicationSetWindowMenu (int nitems, const char **items, + const char *shortcuts) { + NSArray *array; + array = array_with_strings_and_numbers (nitems, items, shortcuts); + + /* Send the array of strings over to the appkit thread */ + + message_kit_thread (@selector (set_window_menu:), array); + [array release]; +} + +void X11ApplicationSetWindowMenuCheck (int idx) { + NSNumber *n; + + n = [[NSNumber alloc] initWithInt:idx]; + + message_kit_thread (@selector (set_window_menu_check:), n); + + [n release]; +} + +void X11ApplicationSetFrontProcess (void) { + message_kit_thread (@selector (set_front_process:), nil); +} + +void X11ApplicationSetCanQuit (int state) { + NSNumber *n; + + n = [[NSNumber alloc] initWithBool:state]; + + message_kit_thread (@selector (set_can_quit:), n); + + [n release]; +} + +void X11ApplicationServerReady (void) { + message_kit_thread (@selector (server_ready:), nil); +} + +void X11ApplicationShowHideMenubar (int state) { + NSNumber *n; + + n = [[NSNumber alloc] initWithBool:state]; + + message_kit_thread (@selector (show_hide_menubar:), n); + + [n release]; +} + +static void * create_thread (void *func, void *arg) { + pthread_attr_t attr; + pthread_t tid; + + pthread_attr_init (&attr); + pthread_attr_setscope (&attr, PTHREAD_SCOPE_SYSTEM); + pthread_attr_setdetachstate (&attr, PTHREAD_CREATE_DETACHED); + pthread_create (&tid, &attr, func, arg); + pthread_attr_destroy (&attr); + + return (void *) tid; +} + +static void check_xinitrc (void) { + char *tem, buf[1024]; + NSString *msg; + + if ([X11App prefs_get_boolean:@PREFS_DONE_XINIT_CHECK default:NO]) + return; + + tem = getenv ("HOME"); + if (tem == NULL) goto done; + + snprintf (buf, sizeof (buf), "%s/.xinitrc", tem); + if (access (buf, F_OK) != 0) + goto done; + + /* FIXME: put localized strings into Resources/English.lproj */ + + msg = NSLocalizedString (@"You have an existing ~/.xinitrc file.\n\n\ +Windows displayed by X11 applications may not have titlebars, or may look \ +different to windows displayed by native applications.\n\n\ +Would you like to move aside the existing file and use the standard X11 \ +environment?", @"Startup xinitrc dialog"); + + if (NSRunAlertPanel (nil, msg, NSLocalizedString (@"Yes", @""), + NSLocalizedString (@"No", @""), nil) + == NSAlertDefaultReturn) { + char buf2[1024]; + int i = -1; + + snprintf (buf2, sizeof (buf2), "%s.old", buf); + + for (i = 1; access (buf2, F_OK) == 0; i++) + snprintf (buf2, sizeof (buf2), "%s.old.%d", buf, i); + + rename (buf, buf2); + } + + done: + [X11App prefs_set_boolean:@PREFS_DONE_XINIT_CHECK value:YES]; + [X11App prefs_synchronize]; +} + +void X11ApplicationMain (int argc, const char *argv[], + void (*server_thread) (void *), void *server_arg) { + NSAutoreleasePool *pool; + +#ifdef DEBUG + while (access ("/tmp/x11-block", F_OK) == 0) sleep (1); +#endif + + pool = [[NSAutoreleasePool alloc] init]; + + X11App = (X11Application *) [X11Application sharedApplication]; + + init_ports (); + + [NSApp read_defaults]; + + [NSBundle loadNibNamed:@"main" owner:NSApp]; + + [[NSNotificationCenter defaultCenter] addObserver:NSApp + selector:@selector (became_key:) + name:NSWindowDidBecomeKeyNotification object:nil]; + + check_xinitrc (); + + /* + * The xpr Quartz mode is statically linked into this server. + * Initialize all the Quartz functions. + */ + QuartzModeBundleInit(); + + /* Calculate the height of the menubar so we can avoid it. */ + aquaMenuBarHeight = NSHeight([[NSScreen mainScreen] frame]) - + NSMaxY([[NSScreen mainScreen] visibleFrame]) - 1; + + if (!create_thread (server_thread, server_arg)) { + ErrorF("can't create secondary thread\n"); + exit(1); + } + + [NSApp run]; +} + + +/* event conversion */ + +static inline unsigned short +convert_flags (unsigned int nsflags) { + unsigned int xflags = 0; + + if (nsflags == ~0) return 0xffff; + + if (nsflags & NSAlphaShiftKeyMask) xflags |= LockMask; + if (nsflags & NSShiftKeyMask) xflags |= ShiftMask; + if (nsflags & NSControlKeyMask) xflags |= ControlMask; + if (nsflags & NSAlternateKeyMask) xflags |= Mod1Mask; + if (nsflags & NSCommandKeyMask) xflags |= Mod2Mask; + /* FIXME: secondaryfn? */ + + return xflags; +} + + +// This code should probably be merged with that in XDarwin's XServer.m - BB +static void send_nsevent (NSEventType type, NSEvent *e) { + // static unsigned int button_state = 0; + NSRect screen; + NSPoint location; + NSWindow *window; + int pointer_x, pointer_y, ev_button, ev_type; + // int num_events=0, i=0, state; + xEvent xe; + + /* convert location to global top-left coordinates */ + location = [e locationInWindow]; + window = [e window]; + screen = [[[NSScreen screens] objectAtIndex:0] frame]; + + if (window != nil) { + NSRect frame = [window frame]; + pointer_x = location.x + frame.origin.x; + pointer_y = (((screen.origin.y + screen.size.height) + - location.y) - frame.origin.y); + } else { + pointer_x = location.x; + pointer_y = (screen.origin.y + screen.size.height) - location.y; + } + + pointer_y -= aquaMenuBarHeight; + // state = convert_flags ([e modifierFlags]); + + switch (type) { + case NSLeftMouseDown: ev_button=1; ev_type=ButtonPress; goto handle_mouse; + case NSOtherMouseDown: ev_button=2; ev_type=ButtonPress; goto handle_mouse; + case NSRightMouseDown: ev_button=3; ev_type=ButtonPress; goto handle_mouse; + case NSLeftMouseUp: ev_button=1; ev_type=ButtonRelease; goto handle_mouse; + case NSOtherMouseUp: ev_button=2; ev_type=ButtonRelease; goto handle_mouse; + case NSRightMouseUp: ev_button=3; ev_type=ButtonRelease; goto handle_mouse; + case NSLeftMouseDragged: ev_button=1; ev_type=MotionNotify; goto handle_mouse; + case NSOtherMouseDragged: ev_button=2; ev_type=MotionNotify; goto handle_mouse; + case NSRightMouseDragged: ev_button=3; ev_type=MotionNotify; goto handle_mouse; + case NSMouseMoved: ev_button=0; ev_type=MotionNotify; goto handle_mouse; + handle_mouse: + + /* I'm not sure the below code is necessary or useful (-bb) + if(ev_type==ButtonPress) { + if (!quartzProcs->IsX11Window([e window], [e windowNumber])) { + fprintf(stderr, "Dropping event because it's not a window\n"); + break; + } + button_state |= (1 << ev_button); + DarwinSendPointerEvents(ev_type, ev_button, pointer_x, pointer_y); + } else if (ev_type==ButtonRelease && (button_state & (1 << ev_button)) == 0) break; + */ + DarwinSendPointerEvents(ev_type, ev_button, pointer_x, pointer_y); + break; + case NSScrollWheel: + DarwinSendScrollEvents([e deltaY], pointer_x, pointer_y); + break; + + case NSKeyDown: // do we need to translate these keyCodes? + case NSKeyUp: + DarwinSendKeyboardEvents((type == NSKeyDown)?KeyPress:KeyRelease, [e keyCode]); + break; + + case NSFlagsChanged: + DarwinUpdateModKeys([e modifierFlags]); + break; + default: break; /* for gcc */ + } +} diff --git a/xserver/hw/darwin/apple/X11Controller.m b/xserver/hw/darwin/apple/X11Controller.m new file mode 100644 index 000000000..b4eeb33e3 --- /dev/null +++ b/xserver/hw/darwin/apple/X11Controller.m @@ -0,0 +1,752 @@ +/* X11Controller.m -- connect the IB ui, also the NSApp delegate + $Id: X11Controller.m,v 1.1.1.1 2007/11/24 18:02:04 matthieu Exp $ + + Copyright (c) 2002-2007 Apple Inc. All rights reserved. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT + HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. + + Except as contained in this notice, the name(s) of the above + copyright holders shall not be used in advertising or otherwise to + promote the sale, use or other dealings in this Software without + prior written authorization. */ + +#define DEFAULT_PATH "/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11/bin" + +#include "../quartz/quartzCommon.h" + +#import "X11Controller.h" +#import "X11Application.h" +#import + +/* ouch! */ +#define BOOL X_BOOL +//# include "Xproto.h" +#include "opaque.h" +# include "darwin.h" +# include "../quartz/quartz.h" +# define _APPLEWM_SERVER_ +# include "X11/extensions/applewm.h" +# include "../quartz/applewmExt.h" +//# include "X.h" +#undef BOOL + +#include +#include +#include +#include +#include + +#define TRACE() fprintf (stderr, "%s\n", __FUNCTION__) + +@implementation X11Controller + +- (void) awakeFromNib +{ + X11Application *xapp = NSApp; + NSArray *array; + + /* Point X11Application at ourself. */ + [xapp set_controller:self]; + + array = [xapp prefs_get_array:@PREFS_APPSMENU]; + if (array != nil) + { + int count; + + /* convert from [TITLE1 COMMAND1 TITLE2 COMMAND2 ...] + to [[TITLE1 COMMAND1] [TITLE2 COMMAND2] ...] format. */ + + count = [array count]; + if (count > 0 + && ![[array objectAtIndex:0] isKindOfClass:[NSArray class]]) + { + int i; + NSMutableArray *copy, *sub; + + copy = [NSMutableArray arrayWithCapacity:(count / 2)]; + + for (i = 0; i < count / 2; i++) + { + sub = [[NSMutableArray alloc] initWithCapacity:3]; + [sub addObject:[array objectAtIndex:i*2]]; + [sub addObject:[array objectAtIndex:i*2+1]]; + [sub addObject:@""]; + [copy addObject:sub]; + [sub release]; + } + + array = copy; + } + + [self set_apps_menu:array]; + } +} + +- (void) item_selected:sender +{ + [NSApp activateIgnoringOtherApps:YES]; + + QuartzMessageServerThread (kXDarwinControllerNotify, 2, + AppleWMWindowMenuItem, [sender tag]); +} + +- (void) remove_window_menu +{ + NSMenu *menu; + int first, count, i; + + /* Work backwards so we don't mess up the indices */ + menu = [window_separator menu]; + first = [menu indexOfItem:window_separator] + 1; + count = [menu numberOfItems]; + for (i = count - 1; i >= first; i--) + [menu removeItemAtIndex:i]; + + menu = [dock_window_separator menu]; + count = [menu indexOfItem:dock_window_separator]; + for (i = 0; i < count; i++) + [dock_menu removeItemAtIndex:0]; +} + +- (void) install_window_menu:(NSArray *)list +{ + NSMenu *menu; + NSMenuItem *item; + int first, count, i; + + menu = [window_separator menu]; + first = [menu indexOfItem:window_separator] + 1; + count = [list count]; + for (i = 0; i < count; i++) + { + NSString *name, *shortcut; + + name = [[list objectAtIndex:i] objectAtIndex:0]; + shortcut = [[list objectAtIndex:i] objectAtIndex:1]; + + item = (NSMenuItem *) [menu addItemWithTitle:name action:@selector + (item_selected:) keyEquivalent:shortcut]; + [item setTarget:self]; + [item setTag:i]; + [item setEnabled:YES]; + + item = (NSMenuItem *) [dock_menu insertItemWithTitle:name + action:@selector + (item_selected:) keyEquivalent:shortcut + atIndex:i]; + [item setTarget:self]; + [item setTag:i]; + [item setEnabled:YES]; + } + + if (checked_window_item >= 0 && checked_window_item < count) + { + item = (NSMenuItem *) [menu itemAtIndex:first + checked_window_item]; + [item setState:NSOnState]; + item = (NSMenuItem *) [dock_menu itemAtIndex:checked_window_item]; + [item setState:NSOnState]; + } +} + +- (void) remove_apps_menu +{ + NSMenu *menu; + NSMenuItem *item; + int i; + + if (apps == nil || apps_separator == nil) return; + + menu = [apps_separator menu]; + + if (menu != nil) + { + for (i = [menu numberOfItems] - 1; i >= 0; i--) + { + item = (NSMenuItem *) [menu itemAtIndex:i]; + if ([item tag] != 0) + [menu removeItemAtIndex:i]; + } + } + + if (dock_apps_menu != nil) + { + for (i = [dock_apps_menu numberOfItems] - 1; i >= 0; i--) + { + item = (NSMenuItem *) [dock_apps_menu itemAtIndex:i]; + if ([item tag] != 0) + [dock_apps_menu removeItemAtIndex:i]; + } + } + + [apps release]; + apps = nil; +} + +- (void) prepend_apps_item:(NSArray *)list index:(int)i menu:(NSMenu *)menu +{ + NSString *title, *shortcut = @""; + NSArray *group; + NSMenuItem *item; + + group = [list objectAtIndex:i]; + title = [group objectAtIndex:0]; + if ([group count] >= 3) + shortcut = [group objectAtIndex:2]; + + if ([title length] != 0) + { + item = (NSMenuItem *) [menu insertItemWithTitle:title + action:@selector (app_selected:) + keyEquivalent:shortcut atIndex:0]; + [item setTarget:self]; + [item setEnabled:YES]; + } + else + { + item = (NSMenuItem *) [NSMenuItem separatorItem]; + [menu insertItem:item atIndex:0]; + } + + [item setTag:i+1]; /* can't be zero, so add one */ +} + +- (void) install_apps_menu:(NSArray *)list +{ + NSMenu *menu; + int i, count; + + count = [list count]; + + if (count == 0 || apps_separator == nil) return; + + menu = [apps_separator menu]; + + for (i = count - 1; i >= 0; i--) + { + if (menu != nil) + [self prepend_apps_item:list index:i menu:menu]; + if (dock_apps_menu != nil) + [self prepend_apps_item:list index:i menu:dock_apps_menu]; + } + + apps = [list retain]; +} + +- (void) set_window_menu:(NSArray *)list +{ + [self remove_window_menu]; + [self install_window_menu:list]; + + QuartzMessageServerThread (kXDarwinControllerNotify, 1, + AppleWMWindowMenuNotify); +} + +- (void) set_window_menu_check:(NSNumber *)nn +{ + NSMenu *menu; + NSMenuItem *item; + int first, count; + int n = [nn intValue]; + + menu = [window_separator menu]; + first = [menu indexOfItem:window_separator] + 1; + count = [menu numberOfItems] - first; + + if (checked_window_item >= 0 && checked_window_item < count) + { + item = (NSMenuItem *) [menu itemAtIndex:first + checked_window_item]; + [item setState:NSOffState]; + item = (NSMenuItem *) [dock_menu itemAtIndex:checked_window_item]; + [item setState:NSOffState]; + } + if (n >= 0 && n < count) + { + item = (NSMenuItem *) [menu itemAtIndex:first + n]; + [item setState:NSOnState]; + item = (NSMenuItem *) [dock_menu itemAtIndex:n]; + [item setState:NSOnState]; + } + checked_window_item = n; +} + +- (void) set_apps_menu:(NSArray *)list +{ + [self remove_apps_menu]; + [self install_apps_menu:list]; +} + +- (void) launch_client:(NSString *)filename +{ + const char *command = [filename UTF8String]; + const char *shell; + const char *argv[5]; + int child1, child2 = 0; + int status; + + shell = getenv("SHELL"); + if (shell == NULL) shell = "/bin/bash"; + + argv[0] = shell; + argv[1] = "-l"; + argv[2] = "-c"; + argv[3] = command; + argv[4] = NULL; + + /* Do the fork-twice trick to avoid having to reap zombies */ + + child1 = fork(); + + switch (child1) { + case -1: /* error */ + break; + + case 0: /* child1 */ + child2 = fork(); + + switch (child2) { + int max_files, i; + char buf[1024], *temp; + + case -1: /* error */ + _exit(1); + + case 0: /* child2 */ + /* close all open files except for standard streams */ + max_files = sysconf(_SC_OPEN_MAX); + for (i = 3; i < max_files; i++) close(i); + + /* ensure stdin is on /dev/null */ + close(0); + open("/dev/null", O_RDONLY); + + /* Setup environment */ + temp = getenv("DISPLAY"); + if (temp == NULL || temp[0] == 0) { + snprintf(buf, sizeof(buf), ":%s", display); + setenv("DISPLAY", buf, TRUE); + } + + temp = getenv("PATH"); + if (temp == NULL || temp[0] == 0) + setenv ("PATH", DEFAULT_PATH, TRUE); + else if (strnstr(temp, "/usr/X11/bin", sizeof(temp)) == NULL) { + snprintf(buf, sizeof(buf), "%s:/usr/X11/bin", temp); + setenv("PATH", buf, TRUE); + } + /* cd $HOME */ + temp = getenv("HOME"); + if (temp != NULL && temp[0]!=0) chdir(temp); + + execvp(argv[0], (char **const) argv); + + _exit(2); + + default: /* parent (child1) */ + _exit(0); + } + break; + + default: /* parent */ + waitpid(child1, &status, 0); + } +} + +- (void) app_selected:sender +{ + int tag; + NSString *item; + + tag = [sender tag] - 1; + if (apps == nil || tag < 0 || tag >= [apps count]) + return; + + item = [[apps objectAtIndex:tag] objectAtIndex:1]; + + [self launch_client:item]; +} + +- (IBAction) apps_table_show:sender +{ + NSArray *columns; + + if (table_apps == nil) { + table_apps = [[NSMutableArray alloc] initWithCapacity:1]; + + if (apps != nil)[table_apps addObjectsFromArray:apps]; + } + + columns = [apps_table tableColumns]; + [[columns objectAtIndex:0] setIdentifier:@"0"]; + [[columns objectAtIndex:1] setIdentifier:@"1"]; + [[columns objectAtIndex:2] setIdentifier:@"2"]; + + [apps_table setDataSource:self]; + [apps_table selectRow:0 byExtendingSelection:NO]; + + [[apps_table window] makeKeyAndOrderFront:sender]; +} + +- (IBAction) apps_table_cancel:sender +{ + [[apps_table window] orderOut:sender]; + [apps_table reloadData]; + + [table_apps release]; + table_apps = nil; +} + +- (IBAction) apps_table_done:sender +{ + [apps_table deselectAll:sender]; /* flush edits? */ + + [self remove_apps_menu]; + [self install_apps_menu:table_apps]; + + [NSApp prefs_set_array:@PREFS_APPSMENU value:table_apps]; + [NSApp prefs_synchronize]; + + [[apps_table window] orderOut:sender]; + + [table_apps release]; + table_apps = nil; +} + +- (IBAction) apps_table_new:sender +{ + NSMutableArray *item; + + int row = [apps_table selectedRow], i; + + if (row < 0) row = 0; + else row = row + 1; + + i = row; + if (i > [table_apps count]) + return; /* avoid exceptions */ + + [apps_table deselectAll:sender]; + + item = [[NSMutableArray alloc] initWithCapacity:3]; + [item addObject:@""]; + [item addObject:@""]; + [item addObject:@""]; + + [table_apps insertObject:item atIndex:i]; + [item release]; + + [apps_table reloadData]; + [apps_table selectRow:row byExtendingSelection:NO]; +} + +- (IBAction) apps_table_duplicate:sender +{ + int row = [apps_table selectedRow], i; + NSObject *item; + + if (row < 0) { + [self apps_table_new:sender]; + return; + } + + i = row; + if (i > [table_apps count] - 1) return; /* avoid exceptions */ + + [apps_table deselectAll:sender]; + + item = [[table_apps objectAtIndex:i] mutableCopy]; + [table_apps insertObject:item atIndex:i]; + [item release]; + + [apps_table reloadData]; + [apps_table selectRow:row+1 byExtendingSelection:NO]; +} + +- (IBAction) apps_table_delete:sender +{ + int row = [apps_table selectedRow]; + + if (row >= 0) + { + int i = row; + + if (i > [table_apps count] - 1) return; /* avoid exceptions */ + + [apps_table deselectAll:sender]; + + [table_apps removeObjectAtIndex:i]; + } + + [apps_table reloadData]; + + row = MIN (row, [table_apps count] - 1); + if (row >= 0) + [apps_table selectRow:row byExtendingSelection:NO]; +} + +- (int) numberOfRowsInTableView:(NSTableView *)tableView +{ + if (table_apps == nil) return 0; + + return [table_apps count]; +} + +- (id) tableView:(NSTableView *)tableView +objectValueForTableColumn:(NSTableColumn *)tableColumn row:(int)row +{ + NSArray *item; + int col; + + if (table_apps == nil) return nil; + + col = [[tableColumn identifier] intValue]; + + item = [table_apps objectAtIndex:row]; + if ([item count] > col) + return [item objectAtIndex:col]; + else + return @""; +} + +- (void) tableView:(NSTableView *)tableView setObjectValue:(id)object + forTableColumn:(NSTableColumn *)tableColumn row:(int)row +{ + NSMutableArray *item; + int col; + + if (table_apps == nil) return; + + col = [[tableColumn identifier] intValue]; + + item = [table_apps objectAtIndex:row]; + [item replaceObjectAtIndex:col withObject:object]; +} + +- (void) hide_window:sender +{ + if ([X11App x_active]) + QuartzMessageServerThread (kXDarwinControllerNotify, 1, AppleWMHideWindow); + else + NSBeep (); /* FIXME: something here */ +} + +- (IBAction)bring_to_front:sender +{ + QuartzMessageServerThread(kXDarwinControllerNotify, 1, AppleWMBringAllToFront); +} + +- (IBAction)close_window:sender +{ + if ([X11App x_active]) + QuartzMessageServerThread (kXDarwinControllerNotify, 1, AppleWMCloseWindow); + else + [[NSApp keyWindow] performClose:sender]; +} + +- (IBAction)minimize_window:sender +{ + if ([X11App x_active]) + QuartzMessageServerThread (kXDarwinControllerNotify, 1, AppleWMMinimizeWindow); + else + [[NSApp keyWindow] performMiniaturize:sender]; +} + +- (IBAction)zoom_window:sender +{ + if ([X11App x_active]) + QuartzMessageServerThread (kXDarwinControllerNotify, 1, AppleWMZoomWindow); + else + [[NSApp keyWindow] performZoom:sender]; +} + +- (IBAction) next_window:sender +{ + QuartzMessageServerThread (kXDarwinControllerNotify, 1, AppleWMNextWindow); +} + +- (IBAction) previous_window:sender +{ + QuartzMessageServerThread (kXDarwinControllerNotify, 1, AppleWMPreviousWindow); +} + +- (IBAction) enable_fullscreen_changed:sender +{ + int value = ![enable_fullscreen intValue]; + +#ifdef DARWIN_DDX_MISSING + QuartzMessageServerThread (kXDarwinSetRootless, 1, value); +#endif + + [NSApp prefs_set_boolean:@PREFS_ROOTLESS value:value]; + [NSApp prefs_synchronize]; +} + +- (IBAction) toggle_fullscreen:sender +{ +#ifdef DARWIN_DDX_MISSING + QuartzMessageServerThread (kXDarwinToggleFullscreen, 0); +#endif +} + +- (void) set_can_quit:(BOOL)state +{ + can_quit = state; +} + +- (IBAction)prefs_changed:sender +{ + darwinFakeButtons = [fake_buttons intValue]; + quartzUseSysBeep = [use_sysbeep intValue]; + X11EnableKeyEquivalents = [enable_keyequivs intValue]; + darwinSyncKeymap = [sync_keymap intValue]; + + /* after adding prefs here, also add to [X11Application read_defaults] + and below */ + + [NSApp prefs_set_boolean:@PREFS_FAKEBUTTONS value:darwinFakeButtons]; + [NSApp prefs_set_boolean:@PREFS_SYSBEEP value:quartzUseSysBeep]; + [NSApp prefs_set_boolean:@PREFS_KEYEQUIVS value:X11EnableKeyEquivalents]; + [NSApp prefs_set_boolean:@PREFS_SYNC_KEYMAP value:darwinSyncKeymap]; + [NSApp prefs_set_boolean:@PREFS_NO_AUTH value:![enable_auth intValue]]; + [NSApp prefs_set_boolean:@PREFS_NO_TCP value:![enable_tcp intValue]]; + [NSApp prefs_set_integer:@PREFS_DEPTH value:[depth selectedTag]]; + + [NSApp prefs_synchronize]; +} + +- (IBAction) prefs_show:sender +{ + [fake_buttons setIntValue:darwinFakeButtons]; + [use_sysbeep setIntValue:quartzUseSysBeep]; + [enable_keyequivs setIntValue:X11EnableKeyEquivalents]; + [sync_keymap setIntValue:darwinSyncKeymap]; + [sync_keymap setEnabled:darwinKeymapFile == NULL]; + + [enable_auth setIntValue:![NSApp prefs_get_boolean:@PREFS_NO_AUTH default:NO]]; + [enable_tcp setIntValue:![NSApp prefs_get_boolean:@PREFS_NO_TCP default:NO]]; + [depth selectItemAtIndex:[depth indexOfItemWithTag:[NSApp prefs_get_integer:@PREFS_DEPTH default:-1]]]; + + [enable_fullscreen setIntValue:!quartzEnableRootless]; + + [prefs_panel makeKeyAndOrderFront:sender]; +} + +- (IBAction) quit:sender +{ + QuartzMessageServerThread (kXDarwinQuit, 0); +} + +- (IBAction) x11_help:sender +{ + AHLookupAnchor (CFSTR ("Mac Help"), CFSTR ("mchlp2276")); +} + +- (BOOL) validateMenuItem:(NSMenuItem *)item +{ + NSMenu *menu = [item menu]; + + if (item == toggle_fullscreen_item) + return !quartzEnableRootless; + else if (menu == [window_separator menu] || menu == dock_menu + || (menu == [x11_about_item menu] && [item tag] == 42)) + return (AppleWMSelectedEvents () & AppleWMControllerNotifyMask) != 0; + else + return TRUE; +} + +- (void) applicationDidHide:(NSNotification *)notify +{ + QuartzMessageServerThread (kXDarwinControllerNotify, 1, AppleWMHideAll); +} + +- (void) applicationDidUnhide:(NSNotification *)notify +{ + QuartzMessageServerThread (kXDarwinControllerNotify, 1, AppleWMShowAll); +} + +- (NSApplicationTerminateReply) applicationShouldTerminate:sender +{ + NSString *msg; + + if (can_quit || [X11App prefs_get_boolean:@PREFS_NO_QUIT_ALERT default:NO]) + return NSTerminateNow; + + /* Make sure we're frontmost. */ + [NSApp activateIgnoringOtherApps:YES]; + + msg = NSLocalizedString (@"Are you sure you want to quit X11?\n\nIf you quit X11, any X11 applications you are running will stop immediately and you will lose any changes you have not saved.", @"Dialog when quitting"); + + /* FIXME: safe to run the alert in here? Or should we return Later + and then run the alert on a timer? It seems to work here, so.. */ + + return (NSRunAlertPanel (nil, msg, NSLocalizedString (@"Quit", @""), + NSLocalizedString (@"Cancel", @""), nil) + == NSAlertDefaultReturn) ? NSTerminateNow : NSTerminateCancel; +} + +- (void) applicationWillTerminate:(NSNotification *)aNotification +{ + [X11App prefs_synchronize]; + + /* shutdown the X server, it will exit () for us. */ + QuartzMessageServerThread (kXDarwinQuit, 0); + + /* In case it doesn't, exit anyway after a while. */ + while (sleep (10) != 0) ; + exit (1); +} + +- (void) server_ready +{ + x_list *node; + + finished_launching = YES; + + for (node = pending_apps; node != NULL; node = node->next) + { + NSString *filename = node->data; + [self launch_client:filename]; + [filename release]; + } + + x_list_free (pending_apps); + pending_apps = NULL; +} + +- (BOOL) application:(NSApplication *)app openFile:(NSString *)filename +{ + const char *name = [filename UTF8String]; + + if (finished_launching) + [self launch_client:filename]; + else if (name[0] != ':') /* ignore display names */ + pending_apps = x_list_prepend (pending_apps, [filename retain]); + + /* FIXME: report failures. */ + return YES; +} + +@end + +void X11ControllerMain (int argc, const char *argv[], + void (*server_thread) (void *), void *server_arg) +{ + X11ApplicationMain (argc, argv, server_thread, server_arg); +} diff --git a/xserver/hw/darwin/bundle/Dutch.lproj/Makefile.am b/xserver/hw/darwin/bundle/Dutch.lproj/Makefile.am new file mode 100644 index 000000000..a480ceeb3 --- /dev/null +++ b/xserver/hw/darwin/bundle/Dutch.lproj/Makefile.am @@ -0,0 +1,35 @@ +BINDIR = ${bindir} +include $(top_srcdir)/cpprules.in +XINITDIR = $(libdir)/X11/xinit +XDEFS = \ + -DX_VERSION="$(PLIST_VERSION_STRING)" \ + -DX_PRE_RELEASE="$(PRE)" \ + -DX_REL_DATE="$(XORG_DATE)" \ + -DX_VENDOR_NAME="$(VENDOR_STRING)" \ + -DX_VENDOR_LINK="$(PLIST_VENDOR_WEB)" + +resourcesdir = @APPLE_APPLICATIONS_DIR@/XDarwin.app/Contents/Resources + +Dutchlprojdir = $(resourcesdir)/Dutch.lproj + +Dutchlproj_DATA = \ + XDarwinHelp.html \ + InfoPlist.strings \ + Credits.rtf Localizable.strings + +Dutchlprojnibdir = $(Dutchlprojdir)/MainMenu.nib +Dutchlprojnib_DATA = MainMenu.nib/classes.nib MainMenu.nib/objects.nib + +InfoPlist.strings: $(srcdir)/../English.lproj/InfoPlist.strings.cpp + $(RAWCPP) $(RAWCPPFLAGS) $(XDEFS) $(CPP_FILES_FLAGS) $< | $(CPP_SED_MAGIC) | $(SED) -e's/__quote__/"/g' > $@ + +XDarwinHelp.html: XDarwinHelp.html.cpp + $(RAWCPP) $(RAWCPPFLAGS) $(XDEFS) $(XDEFS) $(CPP_FILES_FLAGS) $< | $(CPP_SED_MAGIC) > $@ + +CLEANFILES = XDarwinHelp.html InfoPlist.strings + +EXTRA_DIST = \ + Credits.rtf Localizable.strings \ + MainMenu.nib/classes.nib \ + MainMenu.nib/objects.nib \ + XDarwinHelp.html.cpp diff --git a/xserver/hw/darwin/bundle/Dutch.lproj/Makefile.in b/xserver/hw/darwin/bundle/Dutch.lproj/Makefile.in new file mode 100644 index 000000000..91ef6f304 --- /dev/null +++ b/xserver/hw/darwin/bundle/Dutch.lproj/Makefile.in @@ -0,0 +1,638 @@ +# Makefile.in generated by automake 1.10 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +# -*- Makefile -*- +# Rules for generating files using the C pre-processor +# (Replaces CppFileTarget from Imake) + +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ + $(top_srcdir)/cpprules.in +subdir = hw/darwin/bundle/Dutch.lproj +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/include/do-not-use-config.h \ + $(top_builddir)/include/xorg-server.h \ + $(top_builddir)/include/dix-config.h \ + $(top_builddir)/include/xgl-config.h \ + $(top_builddir)/include/xorg-config.h \ + $(top_builddir)/include/xkb-config.h \ + $(top_builddir)/include/xwin-config.h \ + $(top_builddir)/include/kdrive-config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(Dutchlprojdir)" \ + "$(DESTDIR)$(Dutchlprojnibdir)" +DutchlprojDATA_INSTALL = $(INSTALL_DATA) +DutchlprojnibDATA_INSTALL = $(INSTALL_DATA) +DATA = $(Dutchlproj_DATA) $(Dutchlprojnib_DATA) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ +ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ +ALLOCA = @ALLOCA@ +AMTAR = @AMTAR@ +APPDEFAULTDIR = @APPDEFAULTDIR@ +APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +APP_MAN_DIR = @APP_MAN_DIR@ +APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ +AR = @AR@ +AS = @AS@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +BASE_FONT_PATH = @BASE_FONT_PATH@ +BUILD_DATE = @BUILD_DATE@ +BUILD_TIME = @BUILD_TIME@ +CC = @CC@ +CCAS = @CCAS@ +CCASDEPMODE = @CCASDEPMODE@ +CCASFLAGS = @CCASFLAGS@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +COMPILEDDEFAULTFONTPATH = @COMPILEDDEFAULTFONTPATH@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DARWIN_LIBS = @DARWIN_LIBS@ +DBUS_CFLAGS = @DBUS_CFLAGS@ +DBUS_LIBS = @DBUS_LIBS@ +DEFAULT_LIBRARY_PATH = @DEFAULT_LIBRARY_PATH@ +DEFAULT_LOGPREFIX = @DEFAULT_LOGPREFIX@ +DEFAULT_MODULE_PATH = @DEFAULT_MODULE_PATH@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DGA_CFLAGS = @DGA_CFLAGS@ +DGA_LIBS = @DGA_LIBS@ +DIX_CFLAGS = @DIX_CFLAGS@ +DLLTOOL = @DLLTOOL@ +DMXEXAMPLES_DEP_CFLAGS = @DMXEXAMPLES_DEP_CFLAGS@ +DMXEXAMPLES_DEP_LIBS = @DMXEXAMPLES_DEP_LIBS@ +DMXMODULES_CFLAGS = @DMXMODULES_CFLAGS@ +DMXMODULES_LIBS = @DMXMODULES_LIBS@ +DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ +DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ +DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ +DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ +DRIPROTO_LIBS = @DRIPROTO_LIBS@ +DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ +DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ +DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ +DTRACE = @DTRACE@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +FILE_MAN_DIR = @FILE_MAN_DIR@ +FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ +FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ +FREETYPE_LIBS = @FREETYPE_LIBS@ +FREETYPE_REQUIRES = @FREETYPE_REQUIRES@ +GLX_DEFINES = @GLX_DEFINES@ +GL_CFLAGS = @GL_CFLAGS@ +GL_LIBS = @GL_LIBS@ +GREP = @GREP@ +HAL_CFLAGS = @HAL_CFLAGS@ +HAL_LIBS = @HAL_LIBS@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +KDRIVE_CFLAGS = @KDRIVE_CFLAGS@ +KDRIVE_INCS = @KDRIVE_INCS@ +KDRIVE_LIBS = @KDRIVE_LIBS@ +KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ +KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ +KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ +LDFLAGS = @LDFLAGS@ +LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ +LEX = @LEX@ +LEXLIB = @LEXLIB@ +LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ +LIBDRM_CFLAGS = @LIBDRM_CFLAGS@ +LIBDRM_LIBS = @LIBDRM_LIBS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIB_MAN_DIR = @LIB_MAN_DIR@ +LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ +LINUXDOC = @LINUXDOC@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAKEINFO = @MAKEINFO@ +MAKE_HTML = @MAKE_HTML@ +MAKE_PDF = @MAKE_PDF@ +MAKE_PS = @MAKE_PS@ +MAKE_TEXT = @MAKE_TEXT@ +MESA_SOURCE = @MESA_SOURCE@ +MISC_MAN_DIR = @MISC_MAN_DIR@ +MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ +MKDIR_P = @MKDIR_P@ +MKFONTDIR = @MKFONTDIR@ +MKFONTSCALE = @MKFONTSCALE@ +OBJC = @OBJC@ +OBJCCLD = @OBJCCLD@ +OBJCDEPMODE = @OBJCDEPMODE@ +OBJCFLAGS = @OBJCFLAGS@ +OBJCLINK = @OBJCLINK@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PERL = @PERL@ +PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ +PIXMAN_LIBS = @PIXMAN_LIBS@ +PKG_CONFIG = @PKG_CONFIG@ +PLIST_VENDOR_WEB = @PLIST_VENDOR_WEB@ +PLIST_VERSION_STRING = @PLIST_VERSION_STRING@ +PROJECTROOT = @PROJECTROOT@ +PS2PDF = @PS2PDF@ +RANLIB = @RANLIB@ +RAWCPP = @RAWCPP@ +RAWCPPFLAGS = @RAWCPPFLAGS@ +RGB_DB = @RGB_DB@ +SERVERCONFIGdir = @SERVERCONFIGdir@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ +SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ +STRIP = @STRIP@ +SYS_LIBS = @SYS_LIBS@ +TSLIB_CFLAGS = @TSLIB_CFLAGS@ +TSLIB_LIBS = @TSLIB_LIBS@ +VENDOR_MAN_VERSION = @VENDOR_MAN_VERSION@ +VENDOR_NAME = @VENDOR_NAME@ +VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ +VENDOR_RELEASE = @VENDOR_RELEASE@ +VERSION = @VERSION@ +X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ +X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ +XDMCP_CFLAGS = @XDMCP_CFLAGS@ +XDMCP_LIBS = @XDMCP_LIBS@ +XDMXCONFIG_DEP_CFLAGS = @XDMXCONFIG_DEP_CFLAGS@ +XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@ +XDMX_LIBS = @XDMX_LIBS@ +XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ +XEGLMODULES_LIBS = @XEGLMODULES_LIBS@ +XEGL_LIBS = @XEGL_LIBS@ +XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ +XEPHYR_INCS = @XEPHYR_INCS@ +XEPHYR_LIBS = @XEPHYR_LIBS@ +XERRORDB_PATH = @XERRORDB_PATH@ +XF86CONFIGFILE = @XF86CONFIGFILE@ +XF86MISC_CFLAGS = @XF86MISC_CFLAGS@ +XF86MISC_LIBS = @XF86MISC_LIBS@ +XF86VIDMODE_CFLAGS = @XF86VIDMODE_CFLAGS@ +XF86VIDMODE_LIBS = @XF86VIDMODE_LIBS@ +XGLMODULES_CFLAGS = @XGLMODULES_CFLAGS@ +XGLMODULES_LIBS = @XGLMODULES_LIBS@ +XGLXMODULES_CFLAGS = @XGLXMODULES_CFLAGS@ +XGLXMODULES_LIBS = @XGLXMODULES_LIBS@ +XGLX_LIBS = @XGLX_LIBS@ +XGL_LIBS = @XGL_LIBS@ +XGL_MODULE_PATH = @XGL_MODULE_PATH@ +XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ +XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ +XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ +XKM_OUTPUT_DIR = @XKM_OUTPUT_DIR@ +XLIB_CFLAGS = @XLIB_CFLAGS@ +XLIB_LIBS = @XLIB_LIBS@ +XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ +XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ +XNEST_LIBS = @XNEST_LIBS@ +XORGCFG_DEP_CFLAGS = @XORGCFG_DEP_CFLAGS@ +XORGCFG_DEP_LIBS = @XORGCFG_DEP_LIBS@ +XORGCONFIG_DEP_CFLAGS = @XORGCONFIG_DEP_CFLAGS@ +XORGCONFIG_DEP_LIBS = @XORGCONFIG_DEP_LIBS@ +XORG_CFLAGS = @XORG_CFLAGS@ +XORG_CORE_LIBS = @XORG_CORE_LIBS@ +XORG_INCS = @XORG_INCS@ +XORG_LIBS = @XORG_LIBS@ +XORG_MODULES_CFLAGS = @XORG_MODULES_CFLAGS@ +XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ +XORG_OS = @XORG_OS@ +XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ +XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ +XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ +XPRINT_CFLAGS = @XPRINT_CFLAGS@ +XPRINT_LIBS = @XPRINT_LIBS@ +XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ +XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ +XSDL_INCS = @XSDL_INCS@ +XSDL_LIBS = @XSDL_LIBS@ +XSERVERCFLAGS_CFLAGS = @XSERVERCFLAGS_CFLAGS@ +XSERVERCFLAGS_LIBS = @XSERVERCFLAGS_LIBS@ +XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ +XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ +XSERVER_LIBS = @XSERVER_LIBS@ +XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ +XTSTEXAMPLES_DEP_LIBS = @XTSTEXAMPLES_DEP_LIBS@ +XVFB_LIBS = @XVFB_LIBS@ +XWINMODULES_CFLAGS = @XWINMODULES_CFLAGS@ +XWINMODULES_LIBS = @XWINMODULES_LIBS@ +XWIN_LIBS = @XWIN_LIBS@ +XWIN_SERVER_NAME = @XWIN_SERVER_NAME@ +XWIN_SYSTEM_LIBS = @XWIN_SYSTEM_LIBS@ +YACC = @YACC@ +YFLAGS = @YFLAGS@ +__XCONFIGFILE__ = @__XCONFIGFILE__@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +driverdir = @driverdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +extdir = @extdir@ +ft_config = @ft_config@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +logdir = @logdir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +moduledir = @moduledir@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sdkdir = @sdkdir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +xglmoduledir = @xglmoduledir@ +xpconfigdir = @xpconfigdir@ +BINDIR = ${bindir} +SED = sed +SUFFIXES = .pre .man .man.pre + +# Translate XCOMM into pound sign with sed, rather than passing -DXCOMM=XCOMM +# to cpp, because that trick does not work on all ANSI C preprocessors. +# Delete line numbers from the cpp output (-P is not portable, I guess). +# Allow XCOMM to be preceded by whitespace and provide a means of generating +# output lines with trailing backslashes. +# Allow XHASH to always be substituted, even in cases where XCOMM isn't. +CPP_SED_MAGIC = $(SED) -e '/^\# *[0-9][0-9]* *.*$$/d' \ + -e '/^\#line *[0-9][0-9]* *.*$$/d' \ + -e '/^[ ]*XCOMM$$/s/XCOMM/\#/' \ + -e '/^[ ]*XCOMM[^a-zA-Z0-9_]/s/XCOMM/\#/' \ + -e '/^[ ]*XHASH/s/XHASH/\#/' \ + -e '/\@\@$$/s/\@\@$$/\\/' + + +# Strings to replace in man pages +XORGRELSTRING = @PACKAGE_STRING@ +XORGMANNAME = X Version 11 +XSERVERNAME = Xorg +MANDEFS = \ + -D__vendorversion__="\"$(XORGRELSTRING)\" \"$(XORGMANNAME)\"" \ + -D__xorgversion__="\"$(XORGRELSTRING)\" \"$(XORGMANNAME)\"" \ + -D__appmansuffix__=$(APP_MAN_SUFFIX) \ + -D__filemansuffix__=$(FILE_MAN_SUFFIX) \ + -D__libmansuffix__=$(LIB_MAN_SUFFIX) \ + -D__miscmansuffix__=$(MISC_MAN_SUFFIX) \ + -D__drivermansuffix__=$(DRIVER_MAN_SUFFIX) \ + -D__adminmansuffix__=$(ADMIN_MAN_SUFFIX) \ + -D__mandir__=$(mandir) \ + -D__projectroot__=$(prefix) \ + -D__xconfigfile__=$(__XCONFIGFILE__) -D__xconfigdir__=$(XCONFIGDIR) \ + -D__xlogfile__=$(XLOGFILE) -D__xservername__=$(XSERVERNAME) + +XINITDIR = $(libdir)/X11/xinit +XDEFS = \ + -DX_VERSION="$(PLIST_VERSION_STRING)" \ + -DX_PRE_RELEASE="$(PRE)" \ + -DX_REL_DATE="$(XORG_DATE)" \ + -DX_VENDOR_NAME="$(VENDOR_STRING)" \ + -DX_VENDOR_LINK="$(PLIST_VENDOR_WEB)" + +resourcesdir = @APPLE_APPLICATIONS_DIR@/XDarwin.app/Contents/Resources +Dutchlprojdir = $(resourcesdir)/Dutch.lproj +Dutchlproj_DATA = \ + XDarwinHelp.html \ + InfoPlist.strings \ + Credits.rtf Localizable.strings + +Dutchlprojnibdir = $(Dutchlprojdir)/MainMenu.nib +Dutchlprojnib_DATA = MainMenu.nib/classes.nib MainMenu.nib/objects.nib +CLEANFILES = XDarwinHelp.html InfoPlist.strings +EXTRA_DIST = \ + Credits.rtf Localizable.strings \ + MainMenu.nib/classes.nib \ + MainMenu.nib/objects.nib \ + XDarwinHelp.html.cpp + +all: all-am + +.SUFFIXES: +.SUFFIXES: .pre .man .man.pre +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/cpprules.in $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign hw/darwin/bundle/Dutch.lproj/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --foreign hw/darwin/bundle/Dutch.lproj/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-DutchlprojDATA: $(Dutchlproj_DATA) + @$(NORMAL_INSTALL) + test -z "$(Dutchlprojdir)" || $(MKDIR_P) "$(DESTDIR)$(Dutchlprojdir)" + @list='$(Dutchlproj_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(DutchlprojDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(Dutchlprojdir)/$$f'"; \ + $(DutchlprojDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(Dutchlprojdir)/$$f"; \ + done + +uninstall-DutchlprojDATA: + @$(NORMAL_UNINSTALL) + @list='$(Dutchlproj_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(Dutchlprojdir)/$$f'"; \ + rm -f "$(DESTDIR)$(Dutchlprojdir)/$$f"; \ + done +install-DutchlprojnibDATA: $(Dutchlprojnib_DATA) + @$(NORMAL_INSTALL) + test -z "$(Dutchlprojnibdir)" || $(MKDIR_P) "$(DESTDIR)$(Dutchlprojnibdir)" + @list='$(Dutchlprojnib_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(DutchlprojnibDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(Dutchlprojnibdir)/$$f'"; \ + $(DutchlprojnibDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(Dutchlprojnibdir)/$$f"; \ + done + +uninstall-DutchlprojnibDATA: + @$(NORMAL_UNINSTALL) + @list='$(Dutchlprojnib_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(Dutchlprojnibdir)/$$f'"; \ + rm -f "$(DESTDIR)$(Dutchlprojnibdir)/$$f"; \ + done +tags: TAGS +TAGS: + +ctags: CTAGS +CTAGS: + + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(DATA) +installdirs: + for dir in "$(DESTDIR)$(Dutchlprojdir)" "$(DESTDIR)$(Dutchlprojnibdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-DutchlprojDATA install-DutchlprojnibDATA + +install-dvi: install-dvi-am + +install-exec-am: + +install-html: install-html-am + +install-info: install-info-am + +install-man: + +install-pdf: install-pdf-am + +install-ps: install-ps-am + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-DutchlprojDATA uninstall-DutchlprojnibDATA + +.MAKE: install-am install-strip + +.PHONY: all all-am check check-am clean clean-generic clean-libtool \ + distclean distclean-generic distclean-libtool distdir dvi \ + dvi-am html html-am info info-am install \ + install-DutchlprojDATA install-DutchlprojnibDATA install-am \ + install-data install-data-am install-dvi install-dvi-am \ + install-exec install-exec-am install-html install-html-am \ + install-info install-info-am install-man install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am uninstall \ + uninstall-DutchlprojDATA uninstall-DutchlprojnibDATA \ + uninstall-am + + +.pre: + $(RAWCPP) $(RAWCPPFLAGS) $(CPP_FILES_FLAGS) < $< | $(CPP_SED_MAGIC) > $@ + +.man.pre.man: + $(RAWCPP) $(RAWCPPFLAGS) $(MANDEFS) $(EXTRAMANDEFS) < $< | $(CPP_SED_MAGIC) > $@ + +InfoPlist.strings: $(srcdir)/../English.lproj/InfoPlist.strings.cpp + $(RAWCPP) $(RAWCPPFLAGS) $(XDEFS) $(CPP_FILES_FLAGS) $< | $(CPP_SED_MAGIC) | $(SED) -e's/__quote__/"/g' > $@ + +XDarwinHelp.html: XDarwinHelp.html.cpp + $(RAWCPP) $(RAWCPPFLAGS) $(XDEFS) $(XDEFS) $(CPP_FILES_FLAGS) $< | $(CPP_SED_MAGIC) > $@ +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/xserver/hw/darwin/bundle/English.lproj/Makefile.am b/xserver/hw/darwin/bundle/English.lproj/Makefile.am new file mode 100644 index 000000000..45587086f --- /dev/null +++ b/xserver/hw/darwin/bundle/English.lproj/Makefile.am @@ -0,0 +1,35 @@ +BINDIR = ${bindir} +include $(top_srcdir)/cpprules.in +XINITDIR = $(libdir)/X11/xinit +XDEFS = \ + -DX_VERSION="$(PLIST_VERSION_STRING)" \ + -DX_PRE_RELEASE="$(PRE)" \ + -DX_REL_DATE="$(XORG_DATE)" \ + -DX_VENDOR_NAME="$(VENDOR_STRING)" \ + -DX_VENDOR_LINK="$(PLIST_VENDOR_WEB)" + +resourcesdir = @APPLE_APPLICATIONS_DIR@/XDarwin.app/Contents/Resources + +Englishlprojdir = $(resourcesdir)/English.lproj +Englishlproj_DATA = \ + XDarwinHelp.html \ + InfoPlist.strings \ + Credits.rtf Localizable.strings + +Englishlprojnibdir = $(Englishlprojdir)/MainMenu.nib +Englishlprojnib_DATA = MainMenu.nib/classes.nib MainMenu.nib/objects.nib + +InfoPlist.strings: InfoPlist.strings.cpp + $(RAWCPP) $(RAWCPPFLAGS) $(XDEFS) $(CPP_FILES_FLAGS) $< | $(CPP_SED_MAGIC) | $(SED) -e's/__quote__/"/g' > $@ + +XDarwinHelp.html: XDarwinHelp.html.cpp + $(RAWCPP) $(RAWCPPFLAGS) $(XDEFS) $(CPP_FILES_FLAGS) $< | $(CPP_SED_MAGIC) > $@ + +CLEANFILES = XDarwinHelp.html InfoPlist.strings + +EXTRA_DIST = \ + Credits.rtf Localizable.strings \ + MainMenu.nib/classes.nib \ + MainMenu.nib/objects.nib \ + XDarwinHelp.html.cpp \ + InfoPlist.strings.cpp diff --git a/xserver/hw/darwin/bundle/English.lproj/Makefile.in b/xserver/hw/darwin/bundle/English.lproj/Makefile.in new file mode 100644 index 000000000..ee37628d3 --- /dev/null +++ b/xserver/hw/darwin/bundle/English.lproj/Makefile.in @@ -0,0 +1,639 @@ +# Makefile.in generated by automake 1.10 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +# -*- Makefile -*- +# Rules for generating files using the C pre-processor +# (Replaces CppFileTarget from Imake) + +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ + $(top_srcdir)/cpprules.in +subdir = hw/darwin/bundle/English.lproj +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/include/do-not-use-config.h \ + $(top_builddir)/include/xorg-server.h \ + $(top_builddir)/include/dix-config.h \ + $(top_builddir)/include/xgl-config.h \ + $(top_builddir)/include/xorg-config.h \ + $(top_builddir)/include/xkb-config.h \ + $(top_builddir)/include/xwin-config.h \ + $(top_builddir)/include/kdrive-config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(Englishlprojdir)" \ + "$(DESTDIR)$(Englishlprojnibdir)" +EnglishlprojDATA_INSTALL = $(INSTALL_DATA) +EnglishlprojnibDATA_INSTALL = $(INSTALL_DATA) +DATA = $(Englishlproj_DATA) $(Englishlprojnib_DATA) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ +ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ +ALLOCA = @ALLOCA@ +AMTAR = @AMTAR@ +APPDEFAULTDIR = @APPDEFAULTDIR@ +APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +APP_MAN_DIR = @APP_MAN_DIR@ +APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ +AR = @AR@ +AS = @AS@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +BASE_FONT_PATH = @BASE_FONT_PATH@ +BUILD_DATE = @BUILD_DATE@ +BUILD_TIME = @BUILD_TIME@ +CC = @CC@ +CCAS = @CCAS@ +CCASDEPMODE = @CCASDEPMODE@ +CCASFLAGS = @CCASFLAGS@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +COMPILEDDEFAULTFONTPATH = @COMPILEDDEFAULTFONTPATH@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DARWIN_LIBS = @DARWIN_LIBS@ +DBUS_CFLAGS = @DBUS_CFLAGS@ +DBUS_LIBS = @DBUS_LIBS@ +DEFAULT_LIBRARY_PATH = @DEFAULT_LIBRARY_PATH@ +DEFAULT_LOGPREFIX = @DEFAULT_LOGPREFIX@ +DEFAULT_MODULE_PATH = @DEFAULT_MODULE_PATH@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DGA_CFLAGS = @DGA_CFLAGS@ +DGA_LIBS = @DGA_LIBS@ +DIX_CFLAGS = @DIX_CFLAGS@ +DLLTOOL = @DLLTOOL@ +DMXEXAMPLES_DEP_CFLAGS = @DMXEXAMPLES_DEP_CFLAGS@ +DMXEXAMPLES_DEP_LIBS = @DMXEXAMPLES_DEP_LIBS@ +DMXMODULES_CFLAGS = @DMXMODULES_CFLAGS@ +DMXMODULES_LIBS = @DMXMODULES_LIBS@ +DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ +DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ +DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ +DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ +DRIPROTO_LIBS = @DRIPROTO_LIBS@ +DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ +DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ +DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ +DTRACE = @DTRACE@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +FILE_MAN_DIR = @FILE_MAN_DIR@ +FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ +FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ +FREETYPE_LIBS = @FREETYPE_LIBS@ +FREETYPE_REQUIRES = @FREETYPE_REQUIRES@ +GLX_DEFINES = @GLX_DEFINES@ +GL_CFLAGS = @GL_CFLAGS@ +GL_LIBS = @GL_LIBS@ +GREP = @GREP@ +HAL_CFLAGS = @HAL_CFLAGS@ +HAL_LIBS = @HAL_LIBS@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +KDRIVE_CFLAGS = @KDRIVE_CFLAGS@ +KDRIVE_INCS = @KDRIVE_INCS@ +KDRIVE_LIBS = @KDRIVE_LIBS@ +KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ +KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ +KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ +LDFLAGS = @LDFLAGS@ +LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ +LEX = @LEX@ +LEXLIB = @LEXLIB@ +LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ +LIBDRM_CFLAGS = @LIBDRM_CFLAGS@ +LIBDRM_LIBS = @LIBDRM_LIBS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIB_MAN_DIR = @LIB_MAN_DIR@ +LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ +LINUXDOC = @LINUXDOC@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAKEINFO = @MAKEINFO@ +MAKE_HTML = @MAKE_HTML@ +MAKE_PDF = @MAKE_PDF@ +MAKE_PS = @MAKE_PS@ +MAKE_TEXT = @MAKE_TEXT@ +MESA_SOURCE = @MESA_SOURCE@ +MISC_MAN_DIR = @MISC_MAN_DIR@ +MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ +MKDIR_P = @MKDIR_P@ +MKFONTDIR = @MKFONTDIR@ +MKFONTSCALE = @MKFONTSCALE@ +OBJC = @OBJC@ +OBJCCLD = @OBJCCLD@ +OBJCDEPMODE = @OBJCDEPMODE@ +OBJCFLAGS = @OBJCFLAGS@ +OBJCLINK = @OBJCLINK@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PERL = @PERL@ +PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ +PIXMAN_LIBS = @PIXMAN_LIBS@ +PKG_CONFIG = @PKG_CONFIG@ +PLIST_VENDOR_WEB = @PLIST_VENDOR_WEB@ +PLIST_VERSION_STRING = @PLIST_VERSION_STRING@ +PROJECTROOT = @PROJECTROOT@ +PS2PDF = @PS2PDF@ +RANLIB = @RANLIB@ +RAWCPP = @RAWCPP@ +RAWCPPFLAGS = @RAWCPPFLAGS@ +RGB_DB = @RGB_DB@ +SERVERCONFIGdir = @SERVERCONFIGdir@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ +SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ +STRIP = @STRIP@ +SYS_LIBS = @SYS_LIBS@ +TSLIB_CFLAGS = @TSLIB_CFLAGS@ +TSLIB_LIBS = @TSLIB_LIBS@ +VENDOR_MAN_VERSION = @VENDOR_MAN_VERSION@ +VENDOR_NAME = @VENDOR_NAME@ +VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ +VENDOR_RELEASE = @VENDOR_RELEASE@ +VERSION = @VERSION@ +X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ +X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ +XDMCP_CFLAGS = @XDMCP_CFLAGS@ +XDMCP_LIBS = @XDMCP_LIBS@ +XDMXCONFIG_DEP_CFLAGS = @XDMXCONFIG_DEP_CFLAGS@ +XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@ +XDMX_LIBS = @XDMX_LIBS@ +XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ +XEGLMODULES_LIBS = @XEGLMODULES_LIBS@ +XEGL_LIBS = @XEGL_LIBS@ +XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ +XEPHYR_INCS = @XEPHYR_INCS@ +XEPHYR_LIBS = @XEPHYR_LIBS@ +XERRORDB_PATH = @XERRORDB_PATH@ +XF86CONFIGFILE = @XF86CONFIGFILE@ +XF86MISC_CFLAGS = @XF86MISC_CFLAGS@ +XF86MISC_LIBS = @XF86MISC_LIBS@ +XF86VIDMODE_CFLAGS = @XF86VIDMODE_CFLAGS@ +XF86VIDMODE_LIBS = @XF86VIDMODE_LIBS@ +XGLMODULES_CFLAGS = @XGLMODULES_CFLAGS@ +XGLMODULES_LIBS = @XGLMODULES_LIBS@ +XGLXMODULES_CFLAGS = @XGLXMODULES_CFLAGS@ +XGLXMODULES_LIBS = @XGLXMODULES_LIBS@ +XGLX_LIBS = @XGLX_LIBS@ +XGL_LIBS = @XGL_LIBS@ +XGL_MODULE_PATH = @XGL_MODULE_PATH@ +XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ +XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ +XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ +XKM_OUTPUT_DIR = @XKM_OUTPUT_DIR@ +XLIB_CFLAGS = @XLIB_CFLAGS@ +XLIB_LIBS = @XLIB_LIBS@ +XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ +XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ +XNEST_LIBS = @XNEST_LIBS@ +XORGCFG_DEP_CFLAGS = @XORGCFG_DEP_CFLAGS@ +XORGCFG_DEP_LIBS = @XORGCFG_DEP_LIBS@ +XORGCONFIG_DEP_CFLAGS = @XORGCONFIG_DEP_CFLAGS@ +XORGCONFIG_DEP_LIBS = @XORGCONFIG_DEP_LIBS@ +XORG_CFLAGS = @XORG_CFLAGS@ +XORG_CORE_LIBS = @XORG_CORE_LIBS@ +XORG_INCS = @XORG_INCS@ +XORG_LIBS = @XORG_LIBS@ +XORG_MODULES_CFLAGS = @XORG_MODULES_CFLAGS@ +XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ +XORG_OS = @XORG_OS@ +XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ +XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ +XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ +XPRINT_CFLAGS = @XPRINT_CFLAGS@ +XPRINT_LIBS = @XPRINT_LIBS@ +XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ +XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ +XSDL_INCS = @XSDL_INCS@ +XSDL_LIBS = @XSDL_LIBS@ +XSERVERCFLAGS_CFLAGS = @XSERVERCFLAGS_CFLAGS@ +XSERVERCFLAGS_LIBS = @XSERVERCFLAGS_LIBS@ +XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ +XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ +XSERVER_LIBS = @XSERVER_LIBS@ +XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ +XTSTEXAMPLES_DEP_LIBS = @XTSTEXAMPLES_DEP_LIBS@ +XVFB_LIBS = @XVFB_LIBS@ +XWINMODULES_CFLAGS = @XWINMODULES_CFLAGS@ +XWINMODULES_LIBS = @XWINMODULES_LIBS@ +XWIN_LIBS = @XWIN_LIBS@ +XWIN_SERVER_NAME = @XWIN_SERVER_NAME@ +XWIN_SYSTEM_LIBS = @XWIN_SYSTEM_LIBS@ +YACC = @YACC@ +YFLAGS = @YFLAGS@ +__XCONFIGFILE__ = @__XCONFIGFILE__@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +driverdir = @driverdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +extdir = @extdir@ +ft_config = @ft_config@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +logdir = @logdir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +moduledir = @moduledir@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sdkdir = @sdkdir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +xglmoduledir = @xglmoduledir@ +xpconfigdir = @xpconfigdir@ +BINDIR = ${bindir} +SED = sed +SUFFIXES = .pre .man .man.pre + +# Translate XCOMM into pound sign with sed, rather than passing -DXCOMM=XCOMM +# to cpp, because that trick does not work on all ANSI C preprocessors. +# Delete line numbers from the cpp output (-P is not portable, I guess). +# Allow XCOMM to be preceded by whitespace and provide a means of generating +# output lines with trailing backslashes. +# Allow XHASH to always be substituted, even in cases where XCOMM isn't. +CPP_SED_MAGIC = $(SED) -e '/^\# *[0-9][0-9]* *.*$$/d' \ + -e '/^\#line *[0-9][0-9]* *.*$$/d' \ + -e '/^[ ]*XCOMM$$/s/XCOMM/\#/' \ + -e '/^[ ]*XCOMM[^a-zA-Z0-9_]/s/XCOMM/\#/' \ + -e '/^[ ]*XHASH/s/XHASH/\#/' \ + -e '/\@\@$$/s/\@\@$$/\\/' + + +# Strings to replace in man pages +XORGRELSTRING = @PACKAGE_STRING@ +XORGMANNAME = X Version 11 +XSERVERNAME = Xorg +MANDEFS = \ + -D__vendorversion__="\"$(XORGRELSTRING)\" \"$(XORGMANNAME)\"" \ + -D__xorgversion__="\"$(XORGRELSTRING)\" \"$(XORGMANNAME)\"" \ + -D__appmansuffix__=$(APP_MAN_SUFFIX) \ + -D__filemansuffix__=$(FILE_MAN_SUFFIX) \ + -D__libmansuffix__=$(LIB_MAN_SUFFIX) \ + -D__miscmansuffix__=$(MISC_MAN_SUFFIX) \ + -D__drivermansuffix__=$(DRIVER_MAN_SUFFIX) \ + -D__adminmansuffix__=$(ADMIN_MAN_SUFFIX) \ + -D__mandir__=$(mandir) \ + -D__projectroot__=$(prefix) \ + -D__xconfigfile__=$(__XCONFIGFILE__) -D__xconfigdir__=$(XCONFIGDIR) \ + -D__xlogfile__=$(XLOGFILE) -D__xservername__=$(XSERVERNAME) + +XINITDIR = $(libdir)/X11/xinit +XDEFS = \ + -DX_VERSION="$(PLIST_VERSION_STRING)" \ + -DX_PRE_RELEASE="$(PRE)" \ + -DX_REL_DATE="$(XORG_DATE)" \ + -DX_VENDOR_NAME="$(VENDOR_STRING)" \ + -DX_VENDOR_LINK="$(PLIST_VENDOR_WEB)" + +resourcesdir = @APPLE_APPLICATIONS_DIR@/XDarwin.app/Contents/Resources +Englishlprojdir = $(resourcesdir)/English.lproj +Englishlproj_DATA = \ + XDarwinHelp.html \ + InfoPlist.strings \ + Credits.rtf Localizable.strings + +Englishlprojnibdir = $(Englishlprojdir)/MainMenu.nib +Englishlprojnib_DATA = MainMenu.nib/classes.nib MainMenu.nib/objects.nib +CLEANFILES = XDarwinHelp.html InfoPlist.strings +EXTRA_DIST = \ + Credits.rtf Localizable.strings \ + MainMenu.nib/classes.nib \ + MainMenu.nib/objects.nib \ + XDarwinHelp.html.cpp \ + InfoPlist.strings.cpp + +all: all-am + +.SUFFIXES: +.SUFFIXES: .pre .man .man.pre +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/cpprules.in $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign hw/darwin/bundle/English.lproj/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --foreign hw/darwin/bundle/English.lproj/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-EnglishlprojDATA: $(Englishlproj_DATA) + @$(NORMAL_INSTALL) + test -z "$(Englishlprojdir)" || $(MKDIR_P) "$(DESTDIR)$(Englishlprojdir)" + @list='$(Englishlproj_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(EnglishlprojDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(Englishlprojdir)/$$f'"; \ + $(EnglishlprojDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(Englishlprojdir)/$$f"; \ + done + +uninstall-EnglishlprojDATA: + @$(NORMAL_UNINSTALL) + @list='$(Englishlproj_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(Englishlprojdir)/$$f'"; \ + rm -f "$(DESTDIR)$(Englishlprojdir)/$$f"; \ + done +install-EnglishlprojnibDATA: $(Englishlprojnib_DATA) + @$(NORMAL_INSTALL) + test -z "$(Englishlprojnibdir)" || $(MKDIR_P) "$(DESTDIR)$(Englishlprojnibdir)" + @list='$(Englishlprojnib_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(EnglishlprojnibDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(Englishlprojnibdir)/$$f'"; \ + $(EnglishlprojnibDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(Englishlprojnibdir)/$$f"; \ + done + +uninstall-EnglishlprojnibDATA: + @$(NORMAL_UNINSTALL) + @list='$(Englishlprojnib_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(Englishlprojnibdir)/$$f'"; \ + rm -f "$(DESTDIR)$(Englishlprojnibdir)/$$f"; \ + done +tags: TAGS +TAGS: + +ctags: CTAGS +CTAGS: + + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(DATA) +installdirs: + for dir in "$(DESTDIR)$(Englishlprojdir)" "$(DESTDIR)$(Englishlprojnibdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-EnglishlprojDATA install-EnglishlprojnibDATA + +install-dvi: install-dvi-am + +install-exec-am: + +install-html: install-html-am + +install-info: install-info-am + +install-man: + +install-pdf: install-pdf-am + +install-ps: install-ps-am + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-EnglishlprojDATA uninstall-EnglishlprojnibDATA + +.MAKE: install-am install-strip + +.PHONY: all all-am check check-am clean clean-generic clean-libtool \ + distclean distclean-generic distclean-libtool distdir dvi \ + dvi-am html html-am info info-am install \ + install-EnglishlprojDATA install-EnglishlprojnibDATA \ + install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + uninstall uninstall-EnglishlprojDATA \ + uninstall-EnglishlprojnibDATA uninstall-am + + +.pre: + $(RAWCPP) $(RAWCPPFLAGS) $(CPP_FILES_FLAGS) < $< | $(CPP_SED_MAGIC) > $@ + +.man.pre.man: + $(RAWCPP) $(RAWCPPFLAGS) $(MANDEFS) $(EXTRAMANDEFS) < $< | $(CPP_SED_MAGIC) > $@ + +InfoPlist.strings: InfoPlist.strings.cpp + $(RAWCPP) $(RAWCPPFLAGS) $(XDEFS) $(CPP_FILES_FLAGS) $< | $(CPP_SED_MAGIC) | $(SED) -e's/__quote__/"/g' > $@ + +XDarwinHelp.html: XDarwinHelp.html.cpp + $(RAWCPP) $(RAWCPPFLAGS) $(XDEFS) $(CPP_FILES_FLAGS) $< | $(CPP_SED_MAGIC) > $@ +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/xserver/hw/darwin/bundle/French.lproj/Makefile.am b/xserver/hw/darwin/bundle/French.lproj/Makefile.am new file mode 100644 index 000000000..656ba5c0d --- /dev/null +++ b/xserver/hw/darwin/bundle/French.lproj/Makefile.am @@ -0,0 +1,38 @@ +BINDIR = ${bindir} +include $(top_srcdir)/cpprules.in +XINITDIR = $(libdir)/X11/xinit + +XDEFS = \ + -DX_VERSION="$(PLIST_VERSION_STRING)" \ + -DX_PRE_RELEASE="$(PRE)" \ + -DX_REL_DATE="$(XORG_DATE)" \ + -DX_VENDOR_NAME="$(VENDOR_STRING)" \ + -DX_VENDOR_LINK="$(PLIST_VENDOR_WEB)" + + +resourcesdir = @APPLE_APPLICATIONS_DIR@/XDarwin.app/Contents/Resources + +Frenchlprojdir = $(resourcesdir)/French.lproj + +Frenchlproj_DATA = \ + XDarwinHelp.html \ + InfoPlist.strings \ + Credits.rtf Localizable.strings + +Frenchlprojnibdir = $(Frenchlprojdir)/MainMenu.nib +Frenchlprojnib_DATA = MainMenu.nib/classes.nib MainMenu.nib/objects.nib + +InfoPlist.strings: $(srcdir)/../English.lproj/InfoPlist.strings.cpp + $(RAWCPP) $(RAWCPPFLAGS) $(XDEFS) $(CPP_FILES_FLAGS) $< | $(CPP_SED_MAGIC) | $(SED) -e's/__quote__/"/g' > $@ + +XDarwinHelp.html: XDarwinHelp.html.cpp + $(RAWCPP) $(RAWCPPFLAGS) $(XDEFS) $(CPP_FILES_FLAGS) $< | $(CPP_SED_MAGIC) > $@ + +CLEANFILES = XDarwinHelp.html InfoPlist.strings + +EXTRA_DIST = \ + Credits.rtf Localizable.strings \ + Localizable.strings \ + MainMenu.nib/classes.nib \ + MainMenu.nib/objects.nib \ + XDarwinHelp.html.cpp diff --git a/xserver/hw/darwin/bundle/French.lproj/Makefile.in b/xserver/hw/darwin/bundle/French.lproj/Makefile.in new file mode 100644 index 000000000..8743c0d36 --- /dev/null +++ b/xserver/hw/darwin/bundle/French.lproj/Makefile.in @@ -0,0 +1,639 @@ +# Makefile.in generated by automake 1.10 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +# -*- Makefile -*- +# Rules for generating files using the C pre-processor +# (Replaces CppFileTarget from Imake) + +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ + $(top_srcdir)/cpprules.in +subdir = hw/darwin/bundle/French.lproj +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/include/do-not-use-config.h \ + $(top_builddir)/include/xorg-server.h \ + $(top_builddir)/include/dix-config.h \ + $(top_builddir)/include/xgl-config.h \ + $(top_builddir)/include/xorg-config.h \ + $(top_builddir)/include/xkb-config.h \ + $(top_builddir)/include/xwin-config.h \ + $(top_builddir)/include/kdrive-config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(Frenchlprojdir)" \ + "$(DESTDIR)$(Frenchlprojnibdir)" +FrenchlprojDATA_INSTALL = $(INSTALL_DATA) +FrenchlprojnibDATA_INSTALL = $(INSTALL_DATA) +DATA = $(Frenchlproj_DATA) $(Frenchlprojnib_DATA) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ +ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ +ALLOCA = @ALLOCA@ +AMTAR = @AMTAR@ +APPDEFAULTDIR = @APPDEFAULTDIR@ +APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +APP_MAN_DIR = @APP_MAN_DIR@ +APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ +AR = @AR@ +AS = @AS@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +BASE_FONT_PATH = @BASE_FONT_PATH@ +BUILD_DATE = @BUILD_DATE@ +BUILD_TIME = @BUILD_TIME@ +CC = @CC@ +CCAS = @CCAS@ +CCASDEPMODE = @CCASDEPMODE@ +CCASFLAGS = @CCASFLAGS@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +COMPILEDDEFAULTFONTPATH = @COMPILEDDEFAULTFONTPATH@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DARWIN_LIBS = @DARWIN_LIBS@ +DBUS_CFLAGS = @DBUS_CFLAGS@ +DBUS_LIBS = @DBUS_LIBS@ +DEFAULT_LIBRARY_PATH = @DEFAULT_LIBRARY_PATH@ +DEFAULT_LOGPREFIX = @DEFAULT_LOGPREFIX@ +DEFAULT_MODULE_PATH = @DEFAULT_MODULE_PATH@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DGA_CFLAGS = @DGA_CFLAGS@ +DGA_LIBS = @DGA_LIBS@ +DIX_CFLAGS = @DIX_CFLAGS@ +DLLTOOL = @DLLTOOL@ +DMXEXAMPLES_DEP_CFLAGS = @DMXEXAMPLES_DEP_CFLAGS@ +DMXEXAMPLES_DEP_LIBS = @DMXEXAMPLES_DEP_LIBS@ +DMXMODULES_CFLAGS = @DMXMODULES_CFLAGS@ +DMXMODULES_LIBS = @DMXMODULES_LIBS@ +DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ +DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ +DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ +DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ +DRIPROTO_LIBS = @DRIPROTO_LIBS@ +DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ +DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ +DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ +DTRACE = @DTRACE@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +FILE_MAN_DIR = @FILE_MAN_DIR@ +FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ +FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ +FREETYPE_LIBS = @FREETYPE_LIBS@ +FREETYPE_REQUIRES = @FREETYPE_REQUIRES@ +GLX_DEFINES = @GLX_DEFINES@ +GL_CFLAGS = @GL_CFLAGS@ +GL_LIBS = @GL_LIBS@ +GREP = @GREP@ +HAL_CFLAGS = @HAL_CFLAGS@ +HAL_LIBS = @HAL_LIBS@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +KDRIVE_CFLAGS = @KDRIVE_CFLAGS@ +KDRIVE_INCS = @KDRIVE_INCS@ +KDRIVE_LIBS = @KDRIVE_LIBS@ +KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ +KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ +KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ +LDFLAGS = @LDFLAGS@ +LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ +LEX = @LEX@ +LEXLIB = @LEXLIB@ +LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ +LIBDRM_CFLAGS = @LIBDRM_CFLAGS@ +LIBDRM_LIBS = @LIBDRM_LIBS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIB_MAN_DIR = @LIB_MAN_DIR@ +LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ +LINUXDOC = @LINUXDOC@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAKEINFO = @MAKEINFO@ +MAKE_HTML = @MAKE_HTML@ +MAKE_PDF = @MAKE_PDF@ +MAKE_PS = @MAKE_PS@ +MAKE_TEXT = @MAKE_TEXT@ +MESA_SOURCE = @MESA_SOURCE@ +MISC_MAN_DIR = @MISC_MAN_DIR@ +MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ +MKDIR_P = @MKDIR_P@ +MKFONTDIR = @MKFONTDIR@ +MKFONTSCALE = @MKFONTSCALE@ +OBJC = @OBJC@ +OBJCCLD = @OBJCCLD@ +OBJCDEPMODE = @OBJCDEPMODE@ +OBJCFLAGS = @OBJCFLAGS@ +OBJCLINK = @OBJCLINK@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PERL = @PERL@ +PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ +PIXMAN_LIBS = @PIXMAN_LIBS@ +PKG_CONFIG = @PKG_CONFIG@ +PLIST_VENDOR_WEB = @PLIST_VENDOR_WEB@ +PLIST_VERSION_STRING = @PLIST_VERSION_STRING@ +PROJECTROOT = @PROJECTROOT@ +PS2PDF = @PS2PDF@ +RANLIB = @RANLIB@ +RAWCPP = @RAWCPP@ +RAWCPPFLAGS = @RAWCPPFLAGS@ +RGB_DB = @RGB_DB@ +SERVERCONFIGdir = @SERVERCONFIGdir@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ +SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ +STRIP = @STRIP@ +SYS_LIBS = @SYS_LIBS@ +TSLIB_CFLAGS = @TSLIB_CFLAGS@ +TSLIB_LIBS = @TSLIB_LIBS@ +VENDOR_MAN_VERSION = @VENDOR_MAN_VERSION@ +VENDOR_NAME = @VENDOR_NAME@ +VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ +VENDOR_RELEASE = @VENDOR_RELEASE@ +VERSION = @VERSION@ +X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ +X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ +XDMCP_CFLAGS = @XDMCP_CFLAGS@ +XDMCP_LIBS = @XDMCP_LIBS@ +XDMXCONFIG_DEP_CFLAGS = @XDMXCONFIG_DEP_CFLAGS@ +XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@ +XDMX_LIBS = @XDMX_LIBS@ +XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ +XEGLMODULES_LIBS = @XEGLMODULES_LIBS@ +XEGL_LIBS = @XEGL_LIBS@ +XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ +XEPHYR_INCS = @XEPHYR_INCS@ +XEPHYR_LIBS = @XEPHYR_LIBS@ +XERRORDB_PATH = @XERRORDB_PATH@ +XF86CONFIGFILE = @XF86CONFIGFILE@ +XF86MISC_CFLAGS = @XF86MISC_CFLAGS@ +XF86MISC_LIBS = @XF86MISC_LIBS@ +XF86VIDMODE_CFLAGS = @XF86VIDMODE_CFLAGS@ +XF86VIDMODE_LIBS = @XF86VIDMODE_LIBS@ +XGLMODULES_CFLAGS = @XGLMODULES_CFLAGS@ +XGLMODULES_LIBS = @XGLMODULES_LIBS@ +XGLXMODULES_CFLAGS = @XGLXMODULES_CFLAGS@ +XGLXMODULES_LIBS = @XGLXMODULES_LIBS@ +XGLX_LIBS = @XGLX_LIBS@ +XGL_LIBS = @XGL_LIBS@ +XGL_MODULE_PATH = @XGL_MODULE_PATH@ +XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ +XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ +XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ +XKM_OUTPUT_DIR = @XKM_OUTPUT_DIR@ +XLIB_CFLAGS = @XLIB_CFLAGS@ +XLIB_LIBS = @XLIB_LIBS@ +XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ +XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ +XNEST_LIBS = @XNEST_LIBS@ +XORGCFG_DEP_CFLAGS = @XORGCFG_DEP_CFLAGS@ +XORGCFG_DEP_LIBS = @XORGCFG_DEP_LIBS@ +XORGCONFIG_DEP_CFLAGS = @XORGCONFIG_DEP_CFLAGS@ +XORGCONFIG_DEP_LIBS = @XORGCONFIG_DEP_LIBS@ +XORG_CFLAGS = @XORG_CFLAGS@ +XORG_CORE_LIBS = @XORG_CORE_LIBS@ +XORG_INCS = @XORG_INCS@ +XORG_LIBS = @XORG_LIBS@ +XORG_MODULES_CFLAGS = @XORG_MODULES_CFLAGS@ +XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ +XORG_OS = @XORG_OS@ +XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ +XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ +XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ +XPRINT_CFLAGS = @XPRINT_CFLAGS@ +XPRINT_LIBS = @XPRINT_LIBS@ +XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ +XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ +XSDL_INCS = @XSDL_INCS@ +XSDL_LIBS = @XSDL_LIBS@ +XSERVERCFLAGS_CFLAGS = @XSERVERCFLAGS_CFLAGS@ +XSERVERCFLAGS_LIBS = @XSERVERCFLAGS_LIBS@ +XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ +XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ +XSERVER_LIBS = @XSERVER_LIBS@ +XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ +XTSTEXAMPLES_DEP_LIBS = @XTSTEXAMPLES_DEP_LIBS@ +XVFB_LIBS = @XVFB_LIBS@ +XWINMODULES_CFLAGS = @XWINMODULES_CFLAGS@ +XWINMODULES_LIBS = @XWINMODULES_LIBS@ +XWIN_LIBS = @XWIN_LIBS@ +XWIN_SERVER_NAME = @XWIN_SERVER_NAME@ +XWIN_SYSTEM_LIBS = @XWIN_SYSTEM_LIBS@ +YACC = @YACC@ +YFLAGS = @YFLAGS@ +__XCONFIGFILE__ = @__XCONFIGFILE__@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +driverdir = @driverdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +extdir = @extdir@ +ft_config = @ft_config@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +logdir = @logdir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +moduledir = @moduledir@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sdkdir = @sdkdir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +xglmoduledir = @xglmoduledir@ +xpconfigdir = @xpconfigdir@ +BINDIR = ${bindir} +SED = sed +SUFFIXES = .pre .man .man.pre + +# Translate XCOMM into pound sign with sed, rather than passing -DXCOMM=XCOMM +# to cpp, because that trick does not work on all ANSI C preprocessors. +# Delete line numbers from the cpp output (-P is not portable, I guess). +# Allow XCOMM to be preceded by whitespace and provide a means of generating +# output lines with trailing backslashes. +# Allow XHASH to always be substituted, even in cases where XCOMM isn't. +CPP_SED_MAGIC = $(SED) -e '/^\# *[0-9][0-9]* *.*$$/d' \ + -e '/^\#line *[0-9][0-9]* *.*$$/d' \ + -e '/^[ ]*XCOMM$$/s/XCOMM/\#/' \ + -e '/^[ ]*XCOMM[^a-zA-Z0-9_]/s/XCOMM/\#/' \ + -e '/^[ ]*XHASH/s/XHASH/\#/' \ + -e '/\@\@$$/s/\@\@$$/\\/' + + +# Strings to replace in man pages +XORGRELSTRING = @PACKAGE_STRING@ +XORGMANNAME = X Version 11 +XSERVERNAME = Xorg +MANDEFS = \ + -D__vendorversion__="\"$(XORGRELSTRING)\" \"$(XORGMANNAME)\"" \ + -D__xorgversion__="\"$(XORGRELSTRING)\" \"$(XORGMANNAME)\"" \ + -D__appmansuffix__=$(APP_MAN_SUFFIX) \ + -D__filemansuffix__=$(FILE_MAN_SUFFIX) \ + -D__libmansuffix__=$(LIB_MAN_SUFFIX) \ + -D__miscmansuffix__=$(MISC_MAN_SUFFIX) \ + -D__drivermansuffix__=$(DRIVER_MAN_SUFFIX) \ + -D__adminmansuffix__=$(ADMIN_MAN_SUFFIX) \ + -D__mandir__=$(mandir) \ + -D__projectroot__=$(prefix) \ + -D__xconfigfile__=$(__XCONFIGFILE__) -D__xconfigdir__=$(XCONFIGDIR) \ + -D__xlogfile__=$(XLOGFILE) -D__xservername__=$(XSERVERNAME) + +XINITDIR = $(libdir)/X11/xinit +XDEFS = \ + -DX_VERSION="$(PLIST_VERSION_STRING)" \ + -DX_PRE_RELEASE="$(PRE)" \ + -DX_REL_DATE="$(XORG_DATE)" \ + -DX_VENDOR_NAME="$(VENDOR_STRING)" \ + -DX_VENDOR_LINK="$(PLIST_VENDOR_WEB)" + +resourcesdir = @APPLE_APPLICATIONS_DIR@/XDarwin.app/Contents/Resources +Frenchlprojdir = $(resourcesdir)/French.lproj +Frenchlproj_DATA = \ + XDarwinHelp.html \ + InfoPlist.strings \ + Credits.rtf Localizable.strings + +Frenchlprojnibdir = $(Frenchlprojdir)/MainMenu.nib +Frenchlprojnib_DATA = MainMenu.nib/classes.nib MainMenu.nib/objects.nib +CLEANFILES = XDarwinHelp.html InfoPlist.strings +EXTRA_DIST = \ + Credits.rtf Localizable.strings \ + Localizable.strings \ + MainMenu.nib/classes.nib \ + MainMenu.nib/objects.nib \ + XDarwinHelp.html.cpp + +all: all-am + +.SUFFIXES: +.SUFFIXES: .pre .man .man.pre +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/cpprules.in $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign hw/darwin/bundle/French.lproj/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --foreign hw/darwin/bundle/French.lproj/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-FrenchlprojDATA: $(Frenchlproj_DATA) + @$(NORMAL_INSTALL) + test -z "$(Frenchlprojdir)" || $(MKDIR_P) "$(DESTDIR)$(Frenchlprojdir)" + @list='$(Frenchlproj_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(FrenchlprojDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(Frenchlprojdir)/$$f'"; \ + $(FrenchlprojDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(Frenchlprojdir)/$$f"; \ + done + +uninstall-FrenchlprojDATA: + @$(NORMAL_UNINSTALL) + @list='$(Frenchlproj_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(Frenchlprojdir)/$$f'"; \ + rm -f "$(DESTDIR)$(Frenchlprojdir)/$$f"; \ + done +install-FrenchlprojnibDATA: $(Frenchlprojnib_DATA) + @$(NORMAL_INSTALL) + test -z "$(Frenchlprojnibdir)" || $(MKDIR_P) "$(DESTDIR)$(Frenchlprojnibdir)" + @list='$(Frenchlprojnib_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(FrenchlprojnibDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(Frenchlprojnibdir)/$$f'"; \ + $(FrenchlprojnibDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(Frenchlprojnibdir)/$$f"; \ + done + +uninstall-FrenchlprojnibDATA: + @$(NORMAL_UNINSTALL) + @list='$(Frenchlprojnib_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(Frenchlprojnibdir)/$$f'"; \ + rm -f "$(DESTDIR)$(Frenchlprojnibdir)/$$f"; \ + done +tags: TAGS +TAGS: + +ctags: CTAGS +CTAGS: + + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(DATA) +installdirs: + for dir in "$(DESTDIR)$(Frenchlprojdir)" "$(DESTDIR)$(Frenchlprojnibdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-FrenchlprojDATA install-FrenchlprojnibDATA + +install-dvi: install-dvi-am + +install-exec-am: + +install-html: install-html-am + +install-info: install-info-am + +install-man: + +install-pdf: install-pdf-am + +install-ps: install-ps-am + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-FrenchlprojDATA uninstall-FrenchlprojnibDATA + +.MAKE: install-am install-strip + +.PHONY: all all-am check check-am clean clean-generic clean-libtool \ + distclean distclean-generic distclean-libtool distdir dvi \ + dvi-am html html-am info info-am install \ + install-FrenchlprojDATA install-FrenchlprojnibDATA install-am \ + install-data install-data-am install-dvi install-dvi-am \ + install-exec install-exec-am install-html install-html-am \ + install-info install-info-am install-man install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am uninstall \ + uninstall-FrenchlprojDATA uninstall-FrenchlprojnibDATA \ + uninstall-am + + +.pre: + $(RAWCPP) $(RAWCPPFLAGS) $(CPP_FILES_FLAGS) < $< | $(CPP_SED_MAGIC) > $@ + +.man.pre.man: + $(RAWCPP) $(RAWCPPFLAGS) $(MANDEFS) $(EXTRAMANDEFS) < $< | $(CPP_SED_MAGIC) > $@ + +InfoPlist.strings: $(srcdir)/../English.lproj/InfoPlist.strings.cpp + $(RAWCPP) $(RAWCPPFLAGS) $(XDEFS) $(CPP_FILES_FLAGS) $< | $(CPP_SED_MAGIC) | $(SED) -e's/__quote__/"/g' > $@ + +XDarwinHelp.html: XDarwinHelp.html.cpp + $(RAWCPP) $(RAWCPPFLAGS) $(XDEFS) $(CPP_FILES_FLAGS) $< | $(CPP_SED_MAGIC) > $@ +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/xserver/hw/darwin/bundle/German.lproj/Makefile.am b/xserver/hw/darwin/bundle/German.lproj/Makefile.am new file mode 100644 index 000000000..17af414ec --- /dev/null +++ b/xserver/hw/darwin/bundle/German.lproj/Makefile.am @@ -0,0 +1,36 @@ +BINDIR = ${bindir} +include $(top_srcdir)/cpprules.in +XINITDIR = $(libdir)/X11/xinit +XDEFS = \ + -DX_VERSION="$(PLIST_VERSION_STRING)" \ + -DX_PRE_RELEASE="$(PRE)" \ + -DX_REL_DATE="$(XORG_DATE)" \ + -DX_VENDOR_NAME="$(VENDOR_STRING)" \ + -DX_VENDOR_LINK="$(PLIST_VENDOR_WEB)" + +resourcesdir = @APPLE_APPLICATIONS_DIR@/XDarwin.app/Contents/Resources + +Germanlprojdir = $(resourcesdir)/German.lproj + +Germanlproj_DATA = \ + XDarwinHelp.html \ + InfoPlist.strings \ + Credits.rtf Localizable.strings + +Germanlprojnibdir = $(Germanlprojdir)/MainMenu.nib +Germanlprojnib_DATA = MainMenu.nib/classes.nib MainMenu.nib/objects.nib + +InfoPlist.strings: $(srcdir)/../English.lproj/InfoPlist.strings.cpp + $(RAWCPP) $(RAWCPPFLAGS) $(XDEFS) $(CPP_FILES_FLAGS) $< | $(CPP_SED_MAGIC) | $(SED) -e's/__quote__/"/g' > $@ + +XDarwinHelp.html: XDarwinHelp.html.cpp + $(RAWCPP) $(RAWCPPFLAGS) $(XDEFS) $(XDEFS) $(CPP_FILES_FLAGS) $< | $(CPP_SED_MAGIC) > $@ + +CLEANFILES = XDarwinHelp.html InfoPlist.strings + +EXTRA_DIST = \ + Credits.rtf Localizable.strings \ + Localizable.strings \ + MainMenu.nib/classes.nib \ + MainMenu.nib/objects.nib \ + XDarwinHelp.html.cpp diff --git a/xserver/hw/darwin/bundle/German.lproj/Makefile.in b/xserver/hw/darwin/bundle/German.lproj/Makefile.in new file mode 100644 index 000000000..a945693de --- /dev/null +++ b/xserver/hw/darwin/bundle/German.lproj/Makefile.in @@ -0,0 +1,639 @@ +# Makefile.in generated by automake 1.10 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +# -*- Makefile -*- +# Rules for generating files using the C pre-processor +# (Replaces CppFileTarget from Imake) + +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ + $(top_srcdir)/cpprules.in +subdir = hw/darwin/bundle/German.lproj +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/include/do-not-use-config.h \ + $(top_builddir)/include/xorg-server.h \ + $(top_builddir)/include/dix-config.h \ + $(top_builddir)/include/xgl-config.h \ + $(top_builddir)/include/xorg-config.h \ + $(top_builddir)/include/xkb-config.h \ + $(top_builddir)/include/xwin-config.h \ + $(top_builddir)/include/kdrive-config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(Germanlprojdir)" \ + "$(DESTDIR)$(Germanlprojnibdir)" +GermanlprojDATA_INSTALL = $(INSTALL_DATA) +GermanlprojnibDATA_INSTALL = $(INSTALL_DATA) +DATA = $(Germanlproj_DATA) $(Germanlprojnib_DATA) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ +ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ +ALLOCA = @ALLOCA@ +AMTAR = @AMTAR@ +APPDEFAULTDIR = @APPDEFAULTDIR@ +APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +APP_MAN_DIR = @APP_MAN_DIR@ +APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ +AR = @AR@ +AS = @AS@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +BASE_FONT_PATH = @BASE_FONT_PATH@ +BUILD_DATE = @BUILD_DATE@ +BUILD_TIME = @BUILD_TIME@ +CC = @CC@ +CCAS = @CCAS@ +CCASDEPMODE = @CCASDEPMODE@ +CCASFLAGS = @CCASFLAGS@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +COMPILEDDEFAULTFONTPATH = @COMPILEDDEFAULTFONTPATH@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DARWIN_LIBS = @DARWIN_LIBS@ +DBUS_CFLAGS = @DBUS_CFLAGS@ +DBUS_LIBS = @DBUS_LIBS@ +DEFAULT_LIBRARY_PATH = @DEFAULT_LIBRARY_PATH@ +DEFAULT_LOGPREFIX = @DEFAULT_LOGPREFIX@ +DEFAULT_MODULE_PATH = @DEFAULT_MODULE_PATH@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DGA_CFLAGS = @DGA_CFLAGS@ +DGA_LIBS = @DGA_LIBS@ +DIX_CFLAGS = @DIX_CFLAGS@ +DLLTOOL = @DLLTOOL@ +DMXEXAMPLES_DEP_CFLAGS = @DMXEXAMPLES_DEP_CFLAGS@ +DMXEXAMPLES_DEP_LIBS = @DMXEXAMPLES_DEP_LIBS@ +DMXMODULES_CFLAGS = @DMXMODULES_CFLAGS@ +DMXMODULES_LIBS = @DMXMODULES_LIBS@ +DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ +DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ +DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ +DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ +DRIPROTO_LIBS = @DRIPROTO_LIBS@ +DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ +DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ +DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ +DTRACE = @DTRACE@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +FILE_MAN_DIR = @FILE_MAN_DIR@ +FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ +FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ +FREETYPE_LIBS = @FREETYPE_LIBS@ +FREETYPE_REQUIRES = @FREETYPE_REQUIRES@ +GLX_DEFINES = @GLX_DEFINES@ +GL_CFLAGS = @GL_CFLAGS@ +GL_LIBS = @GL_LIBS@ +GREP = @GREP@ +HAL_CFLAGS = @HAL_CFLAGS@ +HAL_LIBS = @HAL_LIBS@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +KDRIVE_CFLAGS = @KDRIVE_CFLAGS@ +KDRIVE_INCS = @KDRIVE_INCS@ +KDRIVE_LIBS = @KDRIVE_LIBS@ +KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ +KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ +KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ +LDFLAGS = @LDFLAGS@ +LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ +LEX = @LEX@ +LEXLIB = @LEXLIB@ +LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ +LIBDRM_CFLAGS = @LIBDRM_CFLAGS@ +LIBDRM_LIBS = @LIBDRM_LIBS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIB_MAN_DIR = @LIB_MAN_DIR@ +LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ +LINUXDOC = @LINUXDOC@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAKEINFO = @MAKEINFO@ +MAKE_HTML = @MAKE_HTML@ +MAKE_PDF = @MAKE_PDF@ +MAKE_PS = @MAKE_PS@ +MAKE_TEXT = @MAKE_TEXT@ +MESA_SOURCE = @MESA_SOURCE@ +MISC_MAN_DIR = @MISC_MAN_DIR@ +MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ +MKDIR_P = @MKDIR_P@ +MKFONTDIR = @MKFONTDIR@ +MKFONTSCALE = @MKFONTSCALE@ +OBJC = @OBJC@ +OBJCCLD = @OBJCCLD@ +OBJCDEPMODE = @OBJCDEPMODE@ +OBJCFLAGS = @OBJCFLAGS@ +OBJCLINK = @OBJCLINK@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PERL = @PERL@ +PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ +PIXMAN_LIBS = @PIXMAN_LIBS@ +PKG_CONFIG = @PKG_CONFIG@ +PLIST_VENDOR_WEB = @PLIST_VENDOR_WEB@ +PLIST_VERSION_STRING = @PLIST_VERSION_STRING@ +PROJECTROOT = @PROJECTROOT@ +PS2PDF = @PS2PDF@ +RANLIB = @RANLIB@ +RAWCPP = @RAWCPP@ +RAWCPPFLAGS = @RAWCPPFLAGS@ +RGB_DB = @RGB_DB@ +SERVERCONFIGdir = @SERVERCONFIGdir@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ +SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ +STRIP = @STRIP@ +SYS_LIBS = @SYS_LIBS@ +TSLIB_CFLAGS = @TSLIB_CFLAGS@ +TSLIB_LIBS = @TSLIB_LIBS@ +VENDOR_MAN_VERSION = @VENDOR_MAN_VERSION@ +VENDOR_NAME = @VENDOR_NAME@ +VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ +VENDOR_RELEASE = @VENDOR_RELEASE@ +VERSION = @VERSION@ +X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ +X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ +XDMCP_CFLAGS = @XDMCP_CFLAGS@ +XDMCP_LIBS = @XDMCP_LIBS@ +XDMXCONFIG_DEP_CFLAGS = @XDMXCONFIG_DEP_CFLAGS@ +XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@ +XDMX_LIBS = @XDMX_LIBS@ +XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ +XEGLMODULES_LIBS = @XEGLMODULES_LIBS@ +XEGL_LIBS = @XEGL_LIBS@ +XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ +XEPHYR_INCS = @XEPHYR_INCS@ +XEPHYR_LIBS = @XEPHYR_LIBS@ +XERRORDB_PATH = @XERRORDB_PATH@ +XF86CONFIGFILE = @XF86CONFIGFILE@ +XF86MISC_CFLAGS = @XF86MISC_CFLAGS@ +XF86MISC_LIBS = @XF86MISC_LIBS@ +XF86VIDMODE_CFLAGS = @XF86VIDMODE_CFLAGS@ +XF86VIDMODE_LIBS = @XF86VIDMODE_LIBS@ +XGLMODULES_CFLAGS = @XGLMODULES_CFLAGS@ +XGLMODULES_LIBS = @XGLMODULES_LIBS@ +XGLXMODULES_CFLAGS = @XGLXMODULES_CFLAGS@ +XGLXMODULES_LIBS = @XGLXMODULES_LIBS@ +XGLX_LIBS = @XGLX_LIBS@ +XGL_LIBS = @XGL_LIBS@ +XGL_MODULE_PATH = @XGL_MODULE_PATH@ +XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ +XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ +XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ +XKM_OUTPUT_DIR = @XKM_OUTPUT_DIR@ +XLIB_CFLAGS = @XLIB_CFLAGS@ +XLIB_LIBS = @XLIB_LIBS@ +XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ +XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ +XNEST_LIBS = @XNEST_LIBS@ +XORGCFG_DEP_CFLAGS = @XORGCFG_DEP_CFLAGS@ +XORGCFG_DEP_LIBS = @XORGCFG_DEP_LIBS@ +XORGCONFIG_DEP_CFLAGS = @XORGCONFIG_DEP_CFLAGS@ +XORGCONFIG_DEP_LIBS = @XORGCONFIG_DEP_LIBS@ +XORG_CFLAGS = @XORG_CFLAGS@ +XORG_CORE_LIBS = @XORG_CORE_LIBS@ +XORG_INCS = @XORG_INCS@ +XORG_LIBS = @XORG_LIBS@ +XORG_MODULES_CFLAGS = @XORG_MODULES_CFLAGS@ +XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ +XORG_OS = @XORG_OS@ +XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ +XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ +XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ +XPRINT_CFLAGS = @XPRINT_CFLAGS@ +XPRINT_LIBS = @XPRINT_LIBS@ +XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ +XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ +XSDL_INCS = @XSDL_INCS@ +XSDL_LIBS = @XSDL_LIBS@ +XSERVERCFLAGS_CFLAGS = @XSERVERCFLAGS_CFLAGS@ +XSERVERCFLAGS_LIBS = @XSERVERCFLAGS_LIBS@ +XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ +XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ +XSERVER_LIBS = @XSERVER_LIBS@ +XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ +XTSTEXAMPLES_DEP_LIBS = @XTSTEXAMPLES_DEP_LIBS@ +XVFB_LIBS = @XVFB_LIBS@ +XWINMODULES_CFLAGS = @XWINMODULES_CFLAGS@ +XWINMODULES_LIBS = @XWINMODULES_LIBS@ +XWIN_LIBS = @XWIN_LIBS@ +XWIN_SERVER_NAME = @XWIN_SERVER_NAME@ +XWIN_SYSTEM_LIBS = @XWIN_SYSTEM_LIBS@ +YACC = @YACC@ +YFLAGS = @YFLAGS@ +__XCONFIGFILE__ = @__XCONFIGFILE__@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +driverdir = @driverdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +extdir = @extdir@ +ft_config = @ft_config@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +logdir = @logdir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +moduledir = @moduledir@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sdkdir = @sdkdir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +xglmoduledir = @xglmoduledir@ +xpconfigdir = @xpconfigdir@ +BINDIR = ${bindir} +SED = sed +SUFFIXES = .pre .man .man.pre + +# Translate XCOMM into pound sign with sed, rather than passing -DXCOMM=XCOMM +# to cpp, because that trick does not work on all ANSI C preprocessors. +# Delete line numbers from the cpp output (-P is not portable, I guess). +# Allow XCOMM to be preceded by whitespace and provide a means of generating +# output lines with trailing backslashes. +# Allow XHASH to always be substituted, even in cases where XCOMM isn't. +CPP_SED_MAGIC = $(SED) -e '/^\# *[0-9][0-9]* *.*$$/d' \ + -e '/^\#line *[0-9][0-9]* *.*$$/d' \ + -e '/^[ ]*XCOMM$$/s/XCOMM/\#/' \ + -e '/^[ ]*XCOMM[^a-zA-Z0-9_]/s/XCOMM/\#/' \ + -e '/^[ ]*XHASH/s/XHASH/\#/' \ + -e '/\@\@$$/s/\@\@$$/\\/' + + +# Strings to replace in man pages +XORGRELSTRING = @PACKAGE_STRING@ +XORGMANNAME = X Version 11 +XSERVERNAME = Xorg +MANDEFS = \ + -D__vendorversion__="\"$(XORGRELSTRING)\" \"$(XORGMANNAME)\"" \ + -D__xorgversion__="\"$(XORGRELSTRING)\" \"$(XORGMANNAME)\"" \ + -D__appmansuffix__=$(APP_MAN_SUFFIX) \ + -D__filemansuffix__=$(FILE_MAN_SUFFIX) \ + -D__libmansuffix__=$(LIB_MAN_SUFFIX) \ + -D__miscmansuffix__=$(MISC_MAN_SUFFIX) \ + -D__drivermansuffix__=$(DRIVER_MAN_SUFFIX) \ + -D__adminmansuffix__=$(ADMIN_MAN_SUFFIX) \ + -D__mandir__=$(mandir) \ + -D__projectroot__=$(prefix) \ + -D__xconfigfile__=$(__XCONFIGFILE__) -D__xconfigdir__=$(XCONFIGDIR) \ + -D__xlogfile__=$(XLOGFILE) -D__xservername__=$(XSERVERNAME) + +XINITDIR = $(libdir)/X11/xinit +XDEFS = \ + -DX_VERSION="$(PLIST_VERSION_STRING)" \ + -DX_PRE_RELEASE="$(PRE)" \ + -DX_REL_DATE="$(XORG_DATE)" \ + -DX_VENDOR_NAME="$(VENDOR_STRING)" \ + -DX_VENDOR_LINK="$(PLIST_VENDOR_WEB)" + +resourcesdir = @APPLE_APPLICATIONS_DIR@/XDarwin.app/Contents/Resources +Germanlprojdir = $(resourcesdir)/German.lproj +Germanlproj_DATA = \ + XDarwinHelp.html \ + InfoPlist.strings \ + Credits.rtf Localizable.strings + +Germanlprojnibdir = $(Germanlprojdir)/MainMenu.nib +Germanlprojnib_DATA = MainMenu.nib/classes.nib MainMenu.nib/objects.nib +CLEANFILES = XDarwinHelp.html InfoPlist.strings +EXTRA_DIST = \ + Credits.rtf Localizable.strings \ + Localizable.strings \ + MainMenu.nib/classes.nib \ + MainMenu.nib/objects.nib \ + XDarwinHelp.html.cpp + +all: all-am + +.SUFFIXES: +.SUFFIXES: .pre .man .man.pre +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/cpprules.in $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign hw/darwin/bundle/German.lproj/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --foreign hw/darwin/bundle/German.lproj/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-GermanlprojDATA: $(Germanlproj_DATA) + @$(NORMAL_INSTALL) + test -z "$(Germanlprojdir)" || $(MKDIR_P) "$(DESTDIR)$(Germanlprojdir)" + @list='$(Germanlproj_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(GermanlprojDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(Germanlprojdir)/$$f'"; \ + $(GermanlprojDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(Germanlprojdir)/$$f"; \ + done + +uninstall-GermanlprojDATA: + @$(NORMAL_UNINSTALL) + @list='$(Germanlproj_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(Germanlprojdir)/$$f'"; \ + rm -f "$(DESTDIR)$(Germanlprojdir)/$$f"; \ + done +install-GermanlprojnibDATA: $(Germanlprojnib_DATA) + @$(NORMAL_INSTALL) + test -z "$(Germanlprojnibdir)" || $(MKDIR_P) "$(DESTDIR)$(Germanlprojnibdir)" + @list='$(Germanlprojnib_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(GermanlprojnibDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(Germanlprojnibdir)/$$f'"; \ + $(GermanlprojnibDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(Germanlprojnibdir)/$$f"; \ + done + +uninstall-GermanlprojnibDATA: + @$(NORMAL_UNINSTALL) + @list='$(Germanlprojnib_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(Germanlprojnibdir)/$$f'"; \ + rm -f "$(DESTDIR)$(Germanlprojnibdir)/$$f"; \ + done +tags: TAGS +TAGS: + +ctags: CTAGS +CTAGS: + + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(DATA) +installdirs: + for dir in "$(DESTDIR)$(Germanlprojdir)" "$(DESTDIR)$(Germanlprojnibdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-GermanlprojDATA install-GermanlprojnibDATA + +install-dvi: install-dvi-am + +install-exec-am: + +install-html: install-html-am + +install-info: install-info-am + +install-man: + +install-pdf: install-pdf-am + +install-ps: install-ps-am + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-GermanlprojDATA uninstall-GermanlprojnibDATA + +.MAKE: install-am install-strip + +.PHONY: all all-am check check-am clean clean-generic clean-libtool \ + distclean distclean-generic distclean-libtool distdir dvi \ + dvi-am html html-am info info-am install \ + install-GermanlprojDATA install-GermanlprojnibDATA install-am \ + install-data install-data-am install-dvi install-dvi-am \ + install-exec install-exec-am install-html install-html-am \ + install-info install-info-am install-man install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am uninstall \ + uninstall-GermanlprojDATA uninstall-GermanlprojnibDATA \ + uninstall-am + + +.pre: + $(RAWCPP) $(RAWCPPFLAGS) $(CPP_FILES_FLAGS) < $< | $(CPP_SED_MAGIC) > $@ + +.man.pre.man: + $(RAWCPP) $(RAWCPPFLAGS) $(MANDEFS) $(EXTRAMANDEFS) < $< | $(CPP_SED_MAGIC) > $@ + +InfoPlist.strings: $(srcdir)/../English.lproj/InfoPlist.strings.cpp + $(RAWCPP) $(RAWCPPFLAGS) $(XDEFS) $(CPP_FILES_FLAGS) $< | $(CPP_SED_MAGIC) | $(SED) -e's/__quote__/"/g' > $@ + +XDarwinHelp.html: XDarwinHelp.html.cpp + $(RAWCPP) $(RAWCPPFLAGS) $(XDEFS) $(XDEFS) $(CPP_FILES_FLAGS) $< | $(CPP_SED_MAGIC) > $@ +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/xserver/hw/darwin/bundle/Info.plist b/xserver/hw/darwin/bundle/Info.plist new file mode 100644 index 000000000..bfef48d26 --- /dev/null +++ b/xserver/hw/darwin/bundle/Info.plist @@ -0,0 +1,66 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleDocumentTypes + + + CFBundleTypeExtensions + + x11app + + CFBundleTypeName + X11 Application + CFBundleTypeOSTypes + + **** + + CFBundleTypeRole + Viewer + + + CFBundleTypeExtensions + + tool + * + + CFBundleTypeName + UNIX Application + CFBundleTypeOSTypes + + **** + + CFBundleTypeRole + Viewer + + + CFBundleExecutable + XDarwin + CFBundleGetInfoString + XDarwin 1.4.0, X.Org Foundation + CFBundleIconFile + XDarwin.icns + CFBundleIdentifier + org.x.XDarwin + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + XDarwin + CFBundlePackageType + APPL + CFBundleShortVersionString + XDarwin 1.4.0 + CFBundleSignature + ???? + CFBundleVersion + + NSHelpFile + XDarwinHelp.html + NSMainNibFile + MainMenu + NSPrincipalClass + XApplication + + diff --git a/xserver/hw/darwin/bundle/Japanese.lproj/Makefile.am b/xserver/hw/darwin/bundle/Japanese.lproj/Makefile.am new file mode 100644 index 000000000..2cc524858 --- /dev/null +++ b/xserver/hw/darwin/bundle/Japanese.lproj/Makefile.am @@ -0,0 +1,37 @@ +BINDIR = ${bindir} +include $(top_srcdir)/cpprules.in +XINITDIR = $(libdir)/X11/xinit +XDEFS = \ + -DX_VERSION="$(PLIST_VERSION_STRING)" \ + -DX_PRE_RELEASE="$(PRE)" \ + -DX_REL_DATE="$(XORG_DATE)" \ + -DX_VENDOR_NAME="$(VENDOR_STRING)" \ + -DX_VENDOR_LINK="$(PLIST_VENDOR_WEB)" + + +resourcesdir = @APPLE_APPLICATIONS_DIR@/XDarwin.app/Contents/Resources + +Japaneselprojdir = $(resourcesdir)/Japanese.lproj + +Japaneselproj_DATA = \ + XDarwinHelp.html \ + InfoPlist.strings \ + Credits.rtf Localizable.strings + +Japaneselprojnibdir = $(Japaneselprojdir)/MainMenu.nib +Japaneselprojnib_DATA = MainMenu.nib/classes.nib MainMenu.nib/objects.nib + +InfoPlist.strings: $(srcdir)/../English.lproj/InfoPlist.strings.cpp + $(RAWCPP) $(RAWCPPFLAGS) $(XDEFS) $(CPP_FILES_FLAGS) $< | $(CPP_SED_MAGIC) | $(SED) -e's/__quote__/"/g' > $@ + +XDarwinHelp.html: XDarwinHelp.html.cpp + $(RAWCPP) $(RAWCPPFLAGS) $(XDEFS) $(CPP_FILES_FLAGS) $< | $(CPP_SED_MAGIC) > $@ + +CLEANFILES = XDarwinHelp.html InfoPlist.strings + +EXTRA_DIST = \ + Credits.rtf Localizable.strings \ + Localizable.strings \ + MainMenu.nib/classes.nib \ + MainMenu.nib/objects.nib \ + XDarwinHelp.html.cpp diff --git a/xserver/hw/darwin/bundle/Japanese.lproj/Makefile.in b/xserver/hw/darwin/bundle/Japanese.lproj/Makefile.in new file mode 100644 index 000000000..c37a325c5 --- /dev/null +++ b/xserver/hw/darwin/bundle/Japanese.lproj/Makefile.in @@ -0,0 +1,641 @@ +# Makefile.in generated by automake 1.10 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +# -*- Makefile -*- +# Rules for generating files using the C pre-processor +# (Replaces CppFileTarget from Imake) + +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ + $(top_srcdir)/cpprules.in +subdir = hw/darwin/bundle/Japanese.lproj +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/include/do-not-use-config.h \ + $(top_builddir)/include/xorg-server.h \ + $(top_builddir)/include/dix-config.h \ + $(top_builddir)/include/xgl-config.h \ + $(top_builddir)/include/xorg-config.h \ + $(top_builddir)/include/xkb-config.h \ + $(top_builddir)/include/xwin-config.h \ + $(top_builddir)/include/kdrive-config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(Japaneselprojdir)" \ + "$(DESTDIR)$(Japaneselprojnibdir)" +JapaneselprojDATA_INSTALL = $(INSTALL_DATA) +JapaneselprojnibDATA_INSTALL = $(INSTALL_DATA) +DATA = $(Japaneselproj_DATA) $(Japaneselprojnib_DATA) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ +ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ +ALLOCA = @ALLOCA@ +AMTAR = @AMTAR@ +APPDEFAULTDIR = @APPDEFAULTDIR@ +APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +APP_MAN_DIR = @APP_MAN_DIR@ +APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ +AR = @AR@ +AS = @AS@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +BASE_FONT_PATH = @BASE_FONT_PATH@ +BUILD_DATE = @BUILD_DATE@ +BUILD_TIME = @BUILD_TIME@ +CC = @CC@ +CCAS = @CCAS@ +CCASDEPMODE = @CCASDEPMODE@ +CCASFLAGS = @CCASFLAGS@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +COMPILEDDEFAULTFONTPATH = @COMPILEDDEFAULTFONTPATH@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DARWIN_LIBS = @DARWIN_LIBS@ +DBUS_CFLAGS = @DBUS_CFLAGS@ +DBUS_LIBS = @DBUS_LIBS@ +DEFAULT_LIBRARY_PATH = @DEFAULT_LIBRARY_PATH@ +DEFAULT_LOGPREFIX = @DEFAULT_LOGPREFIX@ +DEFAULT_MODULE_PATH = @DEFAULT_MODULE_PATH@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DGA_CFLAGS = @DGA_CFLAGS@ +DGA_LIBS = @DGA_LIBS@ +DIX_CFLAGS = @DIX_CFLAGS@ +DLLTOOL = @DLLTOOL@ +DMXEXAMPLES_DEP_CFLAGS = @DMXEXAMPLES_DEP_CFLAGS@ +DMXEXAMPLES_DEP_LIBS = @DMXEXAMPLES_DEP_LIBS@ +DMXMODULES_CFLAGS = @DMXMODULES_CFLAGS@ +DMXMODULES_LIBS = @DMXMODULES_LIBS@ +DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ +DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ +DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ +DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ +DRIPROTO_LIBS = @DRIPROTO_LIBS@ +DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ +DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ +DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ +DTRACE = @DTRACE@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +FILE_MAN_DIR = @FILE_MAN_DIR@ +FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ +FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ +FREETYPE_LIBS = @FREETYPE_LIBS@ +FREETYPE_REQUIRES = @FREETYPE_REQUIRES@ +GLX_DEFINES = @GLX_DEFINES@ +GL_CFLAGS = @GL_CFLAGS@ +GL_LIBS = @GL_LIBS@ +GREP = @GREP@ +HAL_CFLAGS = @HAL_CFLAGS@ +HAL_LIBS = @HAL_LIBS@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +KDRIVE_CFLAGS = @KDRIVE_CFLAGS@ +KDRIVE_INCS = @KDRIVE_INCS@ +KDRIVE_LIBS = @KDRIVE_LIBS@ +KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ +KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ +KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ +LDFLAGS = @LDFLAGS@ +LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ +LEX = @LEX@ +LEXLIB = @LEXLIB@ +LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ +LIBDRM_CFLAGS = @LIBDRM_CFLAGS@ +LIBDRM_LIBS = @LIBDRM_LIBS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIB_MAN_DIR = @LIB_MAN_DIR@ +LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ +LINUXDOC = @LINUXDOC@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAKEINFO = @MAKEINFO@ +MAKE_HTML = @MAKE_HTML@ +MAKE_PDF = @MAKE_PDF@ +MAKE_PS = @MAKE_PS@ +MAKE_TEXT = @MAKE_TEXT@ +MESA_SOURCE = @MESA_SOURCE@ +MISC_MAN_DIR = @MISC_MAN_DIR@ +MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ +MKDIR_P = @MKDIR_P@ +MKFONTDIR = @MKFONTDIR@ +MKFONTSCALE = @MKFONTSCALE@ +OBJC = @OBJC@ +OBJCCLD = @OBJCCLD@ +OBJCDEPMODE = @OBJCDEPMODE@ +OBJCFLAGS = @OBJCFLAGS@ +OBJCLINK = @OBJCLINK@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PERL = @PERL@ +PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ +PIXMAN_LIBS = @PIXMAN_LIBS@ +PKG_CONFIG = @PKG_CONFIG@ +PLIST_VENDOR_WEB = @PLIST_VENDOR_WEB@ +PLIST_VERSION_STRING = @PLIST_VERSION_STRING@ +PROJECTROOT = @PROJECTROOT@ +PS2PDF = @PS2PDF@ +RANLIB = @RANLIB@ +RAWCPP = @RAWCPP@ +RAWCPPFLAGS = @RAWCPPFLAGS@ +RGB_DB = @RGB_DB@ +SERVERCONFIGdir = @SERVERCONFIGdir@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ +SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ +STRIP = @STRIP@ +SYS_LIBS = @SYS_LIBS@ +TSLIB_CFLAGS = @TSLIB_CFLAGS@ +TSLIB_LIBS = @TSLIB_LIBS@ +VENDOR_MAN_VERSION = @VENDOR_MAN_VERSION@ +VENDOR_NAME = @VENDOR_NAME@ +VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ +VENDOR_RELEASE = @VENDOR_RELEASE@ +VERSION = @VERSION@ +X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ +X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ +XDMCP_CFLAGS = @XDMCP_CFLAGS@ +XDMCP_LIBS = @XDMCP_LIBS@ +XDMXCONFIG_DEP_CFLAGS = @XDMXCONFIG_DEP_CFLAGS@ +XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@ +XDMX_LIBS = @XDMX_LIBS@ +XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ +XEGLMODULES_LIBS = @XEGLMODULES_LIBS@ +XEGL_LIBS = @XEGL_LIBS@ +XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ +XEPHYR_INCS = @XEPHYR_INCS@ +XEPHYR_LIBS = @XEPHYR_LIBS@ +XERRORDB_PATH = @XERRORDB_PATH@ +XF86CONFIGFILE = @XF86CONFIGFILE@ +XF86MISC_CFLAGS = @XF86MISC_CFLAGS@ +XF86MISC_LIBS = @XF86MISC_LIBS@ +XF86VIDMODE_CFLAGS = @XF86VIDMODE_CFLAGS@ +XF86VIDMODE_LIBS = @XF86VIDMODE_LIBS@ +XGLMODULES_CFLAGS = @XGLMODULES_CFLAGS@ +XGLMODULES_LIBS = @XGLMODULES_LIBS@ +XGLXMODULES_CFLAGS = @XGLXMODULES_CFLAGS@ +XGLXMODULES_LIBS = @XGLXMODULES_LIBS@ +XGLX_LIBS = @XGLX_LIBS@ +XGL_LIBS = @XGL_LIBS@ +XGL_MODULE_PATH = @XGL_MODULE_PATH@ +XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ +XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ +XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ +XKM_OUTPUT_DIR = @XKM_OUTPUT_DIR@ +XLIB_CFLAGS = @XLIB_CFLAGS@ +XLIB_LIBS = @XLIB_LIBS@ +XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ +XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ +XNEST_LIBS = @XNEST_LIBS@ +XORGCFG_DEP_CFLAGS = @XORGCFG_DEP_CFLAGS@ +XORGCFG_DEP_LIBS = @XORGCFG_DEP_LIBS@ +XORGCONFIG_DEP_CFLAGS = @XORGCONFIG_DEP_CFLAGS@ +XORGCONFIG_DEP_LIBS = @XORGCONFIG_DEP_LIBS@ +XORG_CFLAGS = @XORG_CFLAGS@ +XORG_CORE_LIBS = @XORG_CORE_LIBS@ +XORG_INCS = @XORG_INCS@ +XORG_LIBS = @XORG_LIBS@ +XORG_MODULES_CFLAGS = @XORG_MODULES_CFLAGS@ +XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ +XORG_OS = @XORG_OS@ +XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ +XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ +XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ +XPRINT_CFLAGS = @XPRINT_CFLAGS@ +XPRINT_LIBS = @XPRINT_LIBS@ +XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ +XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ +XSDL_INCS = @XSDL_INCS@ +XSDL_LIBS = @XSDL_LIBS@ +XSERVERCFLAGS_CFLAGS = @XSERVERCFLAGS_CFLAGS@ +XSERVERCFLAGS_LIBS = @XSERVERCFLAGS_LIBS@ +XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ +XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ +XSERVER_LIBS = @XSERVER_LIBS@ +XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ +XTSTEXAMPLES_DEP_LIBS = @XTSTEXAMPLES_DEP_LIBS@ +XVFB_LIBS = @XVFB_LIBS@ +XWINMODULES_CFLAGS = @XWINMODULES_CFLAGS@ +XWINMODULES_LIBS = @XWINMODULES_LIBS@ +XWIN_LIBS = @XWIN_LIBS@ +XWIN_SERVER_NAME = @XWIN_SERVER_NAME@ +XWIN_SYSTEM_LIBS = @XWIN_SYSTEM_LIBS@ +YACC = @YACC@ +YFLAGS = @YFLAGS@ +__XCONFIGFILE__ = @__XCONFIGFILE__@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +driverdir = @driverdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +extdir = @extdir@ +ft_config = @ft_config@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +logdir = @logdir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +moduledir = @moduledir@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sdkdir = @sdkdir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +xglmoduledir = @xglmoduledir@ +xpconfigdir = @xpconfigdir@ +BINDIR = ${bindir} +SED = sed +SUFFIXES = .pre .man .man.pre + +# Translate XCOMM into pound sign with sed, rather than passing -DXCOMM=XCOMM +# to cpp, because that trick does not work on all ANSI C preprocessors. +# Delete line numbers from the cpp output (-P is not portable, I guess). +# Allow XCOMM to be preceded by whitespace and provide a means of generating +# output lines with trailing backslashes. +# Allow XHASH to always be substituted, even in cases where XCOMM isn't. +CPP_SED_MAGIC = $(SED) -e '/^\# *[0-9][0-9]* *.*$$/d' \ + -e '/^\#line *[0-9][0-9]* *.*$$/d' \ + -e '/^[ ]*XCOMM$$/s/XCOMM/\#/' \ + -e '/^[ ]*XCOMM[^a-zA-Z0-9_]/s/XCOMM/\#/' \ + -e '/^[ ]*XHASH/s/XHASH/\#/' \ + -e '/\@\@$$/s/\@\@$$/\\/' + + +# Strings to replace in man pages +XORGRELSTRING = @PACKAGE_STRING@ +XORGMANNAME = X Version 11 +XSERVERNAME = Xorg +MANDEFS = \ + -D__vendorversion__="\"$(XORGRELSTRING)\" \"$(XORGMANNAME)\"" \ + -D__xorgversion__="\"$(XORGRELSTRING)\" \"$(XORGMANNAME)\"" \ + -D__appmansuffix__=$(APP_MAN_SUFFIX) \ + -D__filemansuffix__=$(FILE_MAN_SUFFIX) \ + -D__libmansuffix__=$(LIB_MAN_SUFFIX) \ + -D__miscmansuffix__=$(MISC_MAN_SUFFIX) \ + -D__drivermansuffix__=$(DRIVER_MAN_SUFFIX) \ + -D__adminmansuffix__=$(ADMIN_MAN_SUFFIX) \ + -D__mandir__=$(mandir) \ + -D__projectroot__=$(prefix) \ + -D__xconfigfile__=$(__XCONFIGFILE__) -D__xconfigdir__=$(XCONFIGDIR) \ + -D__xlogfile__=$(XLOGFILE) -D__xservername__=$(XSERVERNAME) + +XINITDIR = $(libdir)/X11/xinit +XDEFS = \ + -DX_VERSION="$(PLIST_VERSION_STRING)" \ + -DX_PRE_RELEASE="$(PRE)" \ + -DX_REL_DATE="$(XORG_DATE)" \ + -DX_VENDOR_NAME="$(VENDOR_STRING)" \ + -DX_VENDOR_LINK="$(PLIST_VENDOR_WEB)" + +resourcesdir = @APPLE_APPLICATIONS_DIR@/XDarwin.app/Contents/Resources +Japaneselprojdir = $(resourcesdir)/Japanese.lproj +Japaneselproj_DATA = \ + XDarwinHelp.html \ + InfoPlist.strings \ + Credits.rtf Localizable.strings + +Japaneselprojnibdir = $(Japaneselprojdir)/MainMenu.nib +Japaneselprojnib_DATA = MainMenu.nib/classes.nib MainMenu.nib/objects.nib +CLEANFILES = XDarwinHelp.html InfoPlist.strings +EXTRA_DIST = \ + Credits.rtf Localizable.strings \ + Localizable.strings \ + MainMenu.nib/classes.nib \ + MainMenu.nib/objects.nib \ + XDarwinHelp.html.cpp + +all: all-am + +.SUFFIXES: +.SUFFIXES: .pre .man .man.pre +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/cpprules.in $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign hw/darwin/bundle/Japanese.lproj/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --foreign hw/darwin/bundle/Japanese.lproj/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-JapaneselprojDATA: $(Japaneselproj_DATA) + @$(NORMAL_INSTALL) + test -z "$(Japaneselprojdir)" || $(MKDIR_P) "$(DESTDIR)$(Japaneselprojdir)" + @list='$(Japaneselproj_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(JapaneselprojDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(Japaneselprojdir)/$$f'"; \ + $(JapaneselprojDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(Japaneselprojdir)/$$f"; \ + done + +uninstall-JapaneselprojDATA: + @$(NORMAL_UNINSTALL) + @list='$(Japaneselproj_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(Japaneselprojdir)/$$f'"; \ + rm -f "$(DESTDIR)$(Japaneselprojdir)/$$f"; \ + done +install-JapaneselprojnibDATA: $(Japaneselprojnib_DATA) + @$(NORMAL_INSTALL) + test -z "$(Japaneselprojnibdir)" || $(MKDIR_P) "$(DESTDIR)$(Japaneselprojnibdir)" + @list='$(Japaneselprojnib_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(JapaneselprojnibDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(Japaneselprojnibdir)/$$f'"; \ + $(JapaneselprojnibDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(Japaneselprojnibdir)/$$f"; \ + done + +uninstall-JapaneselprojnibDATA: + @$(NORMAL_UNINSTALL) + @list='$(Japaneselprojnib_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(Japaneselprojnibdir)/$$f'"; \ + rm -f "$(DESTDIR)$(Japaneselprojnibdir)/$$f"; \ + done +tags: TAGS +TAGS: + +ctags: CTAGS +CTAGS: + + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(DATA) +installdirs: + for dir in "$(DESTDIR)$(Japaneselprojdir)" "$(DESTDIR)$(Japaneselprojnibdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-JapaneselprojDATA \ + install-JapaneselprojnibDATA + +install-dvi: install-dvi-am + +install-exec-am: + +install-html: install-html-am + +install-info: install-info-am + +install-man: + +install-pdf: install-pdf-am + +install-ps: install-ps-am + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-JapaneselprojDATA \ + uninstall-JapaneselprojnibDATA + +.MAKE: install-am install-strip + +.PHONY: all all-am check check-am clean clean-generic clean-libtool \ + distclean distclean-generic distclean-libtool distdir dvi \ + dvi-am html html-am info info-am install \ + install-JapaneselprojDATA install-JapaneselprojnibDATA \ + install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + uninstall uninstall-JapaneselprojDATA \ + uninstall-JapaneselprojnibDATA uninstall-am + + +.pre: + $(RAWCPP) $(RAWCPPFLAGS) $(CPP_FILES_FLAGS) < $< | $(CPP_SED_MAGIC) > $@ + +.man.pre.man: + $(RAWCPP) $(RAWCPPFLAGS) $(MANDEFS) $(EXTRAMANDEFS) < $< | $(CPP_SED_MAGIC) > $@ + +InfoPlist.strings: $(srcdir)/../English.lproj/InfoPlist.strings.cpp + $(RAWCPP) $(RAWCPPFLAGS) $(XDEFS) $(CPP_FILES_FLAGS) $< | $(CPP_SED_MAGIC) | $(SED) -e's/__quote__/"/g' > $@ + +XDarwinHelp.html: XDarwinHelp.html.cpp + $(RAWCPP) $(RAWCPPFLAGS) $(XDEFS) $(CPP_FILES_FLAGS) $< | $(CPP_SED_MAGIC) > $@ +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/xserver/hw/darwin/bundle/Makefile.am b/xserver/hw/darwin/bundle/Makefile.am new file mode 100644 index 000000000..dee34fd83 --- /dev/null +++ b/xserver/hw/darwin/bundle/Makefile.am @@ -0,0 +1,38 @@ +BINDIR = ${bindir} +include $(top_srcdir)/cpprules.in +XINITDIR = $(libdir)/X11/xinit +XDEFS = \ + -DX_VERSION="$(PLIST_VERSION_STRING)" \ + -DX_PRE_RELEASE="$(PRE)" \ + -DX_REL_DATE="$(XORG_DATE)" \ + -DX_VENDOR_NAME="$(VENDOR_STRING)" \ + -DX_VENDOR_LINK="$(PLIST_VENDOR_WEB)" + +SUBDIRS = English.lproj Dutch.lproj French.lproj German.lproj Japanese.lproj \ + ko.lproj Portuguese.lproj Spanish.lproj Swedish.lproj + +bin_SCRIPTS = startXClients + +startXClients: $(srcdir)/startXClients.cpp + $(RAWCPP) $(RAWCPPFLAGS) $(XDEFS) $(CPP_FILES_FLAGS) -DXINITDIR=$(XINITDIR) -DXBINDIR=$(BINDIR) $< | $(CPP_SED_MAGIC) > $@ + -chmod 755 startXClients + +contentsdir = @APPLE_APPLICATIONS_DIR@/XDarwin.app/Contents +resourcesdir = $(contentsdir)/Resources + +contents_DATA = Info.plist +resources_DATA = XDarwin.icns startXClients + +install-data-hook: + chmod 755 $(DESTDIR)$(resourcesdir)/startXClients + echo "APPL????" > $(DESTDIR)$(contentsdir)/PkgInfo + touch $(DESTDIR)@APPLE_APPLICATIONS_DIR@/XDarwin.app + +uninstall-hook: + rm -rf $(DESTDIR)$(contentsdir)/PkgInfo + +CLEANFILES = startXClients + +EXTRA_DIST = \ + XDarwin.icns \ + Info.plist diff --git a/xserver/hw/darwin/bundle/Makefile.in b/xserver/hw/darwin/bundle/Makefile.in new file mode 100644 index 000000000..14c64c406 --- /dev/null +++ b/xserver/hw/darwin/bundle/Makefile.in @@ -0,0 +1,827 @@ +# Makefile.in generated by automake 1.10 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +# -*- Makefile -*- +# Rules for generating files using the C pre-processor +# (Replaces CppFileTarget from Imake) + + +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ + $(top_srcdir)/cpprules.in +subdir = hw/darwin/bundle +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/include/do-not-use-config.h \ + $(top_builddir)/include/xorg-server.h \ + $(top_builddir)/include/dix-config.h \ + $(top_builddir)/include/xgl-config.h \ + $(top_builddir)/include/xorg-config.h \ + $(top_builddir)/include/xkb-config.h \ + $(top_builddir)/include/xwin-config.h \ + $(top_builddir)/include/kdrive-config.h +CONFIG_CLEAN_FILES = +am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(contentsdir)" \ + "$(DESTDIR)$(resourcesdir)" +binSCRIPT_INSTALL = $(INSTALL_SCRIPT) +SCRIPTS = $(bin_SCRIPTS) +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ + html-recursive info-recursive install-data-recursive \ + install-dvi-recursive install-exec-recursive \ + install-html-recursive install-info-recursive \ + install-pdf-recursive install-ps-recursive install-recursive \ + installcheck-recursive installdirs-recursive pdf-recursive \ + ps-recursive uninstall-recursive +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +contentsDATA_INSTALL = $(INSTALL_DATA) +resourcesDATA_INSTALL = $(INSTALL_DATA) +DATA = $(contents_DATA) $(resources_DATA) +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +ETAGS = etags +CTAGS = ctags +DIST_SUBDIRS = $(SUBDIRS) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ +ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ +ALLOCA = @ALLOCA@ +AMTAR = @AMTAR@ +APPDEFAULTDIR = @APPDEFAULTDIR@ +APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +APP_MAN_DIR = @APP_MAN_DIR@ +APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ +AR = @AR@ +AS = @AS@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +BASE_FONT_PATH = @BASE_FONT_PATH@ +BUILD_DATE = @BUILD_DATE@ +BUILD_TIME = @BUILD_TIME@ +CC = @CC@ +CCAS = @CCAS@ +CCASDEPMODE = @CCASDEPMODE@ +CCASFLAGS = @CCASFLAGS@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +COMPILEDDEFAULTFONTPATH = @COMPILEDDEFAULTFONTPATH@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DARWIN_LIBS = @DARWIN_LIBS@ +DBUS_CFLAGS = @DBUS_CFLAGS@ +DBUS_LIBS = @DBUS_LIBS@ +DEFAULT_LIBRARY_PATH = @DEFAULT_LIBRARY_PATH@ +DEFAULT_LOGPREFIX = @DEFAULT_LOGPREFIX@ +DEFAULT_MODULE_PATH = @DEFAULT_MODULE_PATH@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DGA_CFLAGS = @DGA_CFLAGS@ +DGA_LIBS = @DGA_LIBS@ +DIX_CFLAGS = @DIX_CFLAGS@ +DLLTOOL = @DLLTOOL@ +DMXEXAMPLES_DEP_CFLAGS = @DMXEXAMPLES_DEP_CFLAGS@ +DMXEXAMPLES_DEP_LIBS = @DMXEXAMPLES_DEP_LIBS@ +DMXMODULES_CFLAGS = @DMXMODULES_CFLAGS@ +DMXMODULES_LIBS = @DMXMODULES_LIBS@ +DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ +DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ +DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ +DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ +DRIPROTO_LIBS = @DRIPROTO_LIBS@ +DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ +DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ +DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ +DTRACE = @DTRACE@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +FILE_MAN_DIR = @FILE_MAN_DIR@ +FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ +FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ +FREETYPE_LIBS = @FREETYPE_LIBS@ +FREETYPE_REQUIRES = @FREETYPE_REQUIRES@ +GLX_DEFINES = @GLX_DEFINES@ +GL_CFLAGS = @GL_CFLAGS@ +GL_LIBS = @GL_LIBS@ +GREP = @GREP@ +HAL_CFLAGS = @HAL_CFLAGS@ +HAL_LIBS = @HAL_LIBS@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +KDRIVE_CFLAGS = @KDRIVE_CFLAGS@ +KDRIVE_INCS = @KDRIVE_INCS@ +KDRIVE_LIBS = @KDRIVE_LIBS@ +KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ +KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ +KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ +LDFLAGS = @LDFLAGS@ +LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ +LEX = @LEX@ +LEXLIB = @LEXLIB@ +LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ +LIBDRM_CFLAGS = @LIBDRM_CFLAGS@ +LIBDRM_LIBS = @LIBDRM_LIBS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIB_MAN_DIR = @LIB_MAN_DIR@ +LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ +LINUXDOC = @LINUXDOC@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAKEINFO = @MAKEINFO@ +MAKE_HTML = @MAKE_HTML@ +MAKE_PDF = @MAKE_PDF@ +MAKE_PS = @MAKE_PS@ +MAKE_TEXT = @MAKE_TEXT@ +MESA_SOURCE = @MESA_SOURCE@ +MISC_MAN_DIR = @MISC_MAN_DIR@ +MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ +MKDIR_P = @MKDIR_P@ +MKFONTDIR = @MKFONTDIR@ +MKFONTSCALE = @MKFONTSCALE@ +OBJC = @OBJC@ +OBJCCLD = @OBJCCLD@ +OBJCDEPMODE = @OBJCDEPMODE@ +OBJCFLAGS = @OBJCFLAGS@ +OBJCLINK = @OBJCLINK@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PERL = @PERL@ +PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ +PIXMAN_LIBS = @PIXMAN_LIBS@ +PKG_CONFIG = @PKG_CONFIG@ +PLIST_VENDOR_WEB = @PLIST_VENDOR_WEB@ +PLIST_VERSION_STRING = @PLIST_VERSION_STRING@ +PROJECTROOT = @PROJECTROOT@ +PS2PDF = @PS2PDF@ +RANLIB = @RANLIB@ +RAWCPP = @RAWCPP@ +RAWCPPFLAGS = @RAWCPPFLAGS@ +RGB_DB = @RGB_DB@ +SERVERCONFIGdir = @SERVERCONFIGdir@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ +SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ +STRIP = @STRIP@ +SYS_LIBS = @SYS_LIBS@ +TSLIB_CFLAGS = @TSLIB_CFLAGS@ +TSLIB_LIBS = @TSLIB_LIBS@ +VENDOR_MAN_VERSION = @VENDOR_MAN_VERSION@ +VENDOR_NAME = @VENDOR_NAME@ +VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ +VENDOR_RELEASE = @VENDOR_RELEASE@ +VERSION = @VERSION@ +X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ +X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ +XDMCP_CFLAGS = @XDMCP_CFLAGS@ +XDMCP_LIBS = @XDMCP_LIBS@ +XDMXCONFIG_DEP_CFLAGS = @XDMXCONFIG_DEP_CFLAGS@ +XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@ +XDMX_LIBS = @XDMX_LIBS@ +XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ +XEGLMODULES_LIBS = @XEGLMODULES_LIBS@ +XEGL_LIBS = @XEGL_LIBS@ +XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ +XEPHYR_INCS = @XEPHYR_INCS@ +XEPHYR_LIBS = @XEPHYR_LIBS@ +XERRORDB_PATH = @XERRORDB_PATH@ +XF86CONFIGFILE = @XF86CONFIGFILE@ +XF86MISC_CFLAGS = @XF86MISC_CFLAGS@ +XF86MISC_LIBS = @XF86MISC_LIBS@ +XF86VIDMODE_CFLAGS = @XF86VIDMODE_CFLAGS@ +XF86VIDMODE_LIBS = @XF86VIDMODE_LIBS@ +XGLMODULES_CFLAGS = @XGLMODULES_CFLAGS@ +XGLMODULES_LIBS = @XGLMODULES_LIBS@ +XGLXMODULES_CFLAGS = @XGLXMODULES_CFLAGS@ +XGLXMODULES_LIBS = @XGLXMODULES_LIBS@ +XGLX_LIBS = @XGLX_LIBS@ +XGL_LIBS = @XGL_LIBS@ +XGL_MODULE_PATH = @XGL_MODULE_PATH@ +XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ +XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ +XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ +XKM_OUTPUT_DIR = @XKM_OUTPUT_DIR@ +XLIB_CFLAGS = @XLIB_CFLAGS@ +XLIB_LIBS = @XLIB_LIBS@ +XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ +XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ +XNEST_LIBS = @XNEST_LIBS@ +XORGCFG_DEP_CFLAGS = @XORGCFG_DEP_CFLAGS@ +XORGCFG_DEP_LIBS = @XORGCFG_DEP_LIBS@ +XORGCONFIG_DEP_CFLAGS = @XORGCONFIG_DEP_CFLAGS@ +XORGCONFIG_DEP_LIBS = @XORGCONFIG_DEP_LIBS@ +XORG_CFLAGS = @XORG_CFLAGS@ +XORG_CORE_LIBS = @XORG_CORE_LIBS@ +XORG_INCS = @XORG_INCS@ +XORG_LIBS = @XORG_LIBS@ +XORG_MODULES_CFLAGS = @XORG_MODULES_CFLAGS@ +XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ +XORG_OS = @XORG_OS@ +XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ +XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ +XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ +XPRINT_CFLAGS = @XPRINT_CFLAGS@ +XPRINT_LIBS = @XPRINT_LIBS@ +XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ +XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ +XSDL_INCS = @XSDL_INCS@ +XSDL_LIBS = @XSDL_LIBS@ +XSERVERCFLAGS_CFLAGS = @XSERVERCFLAGS_CFLAGS@ +XSERVERCFLAGS_LIBS = @XSERVERCFLAGS_LIBS@ +XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ +XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ +XSERVER_LIBS = @XSERVER_LIBS@ +XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ +XTSTEXAMPLES_DEP_LIBS = @XTSTEXAMPLES_DEP_LIBS@ +XVFB_LIBS = @XVFB_LIBS@ +XWINMODULES_CFLAGS = @XWINMODULES_CFLAGS@ +XWINMODULES_LIBS = @XWINMODULES_LIBS@ +XWIN_LIBS = @XWIN_LIBS@ +XWIN_SERVER_NAME = @XWIN_SERVER_NAME@ +XWIN_SYSTEM_LIBS = @XWIN_SYSTEM_LIBS@ +YACC = @YACC@ +YFLAGS = @YFLAGS@ +__XCONFIGFILE__ = @__XCONFIGFILE__@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +driverdir = @driverdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +extdir = @extdir@ +ft_config = @ft_config@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +logdir = @logdir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +moduledir = @moduledir@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sdkdir = @sdkdir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +xglmoduledir = @xglmoduledir@ +xpconfigdir = @xpconfigdir@ +BINDIR = ${bindir} +SED = sed +SUFFIXES = .pre .man .man.pre + +# Translate XCOMM into pound sign with sed, rather than passing -DXCOMM=XCOMM +# to cpp, because that trick does not work on all ANSI C preprocessors. +# Delete line numbers from the cpp output (-P is not portable, I guess). +# Allow XCOMM to be preceded by whitespace and provide a means of generating +# output lines with trailing backslashes. +# Allow XHASH to always be substituted, even in cases where XCOMM isn't. +CPP_SED_MAGIC = $(SED) -e '/^\# *[0-9][0-9]* *.*$$/d' \ + -e '/^\#line *[0-9][0-9]* *.*$$/d' \ + -e '/^[ ]*XCOMM$$/s/XCOMM/\#/' \ + -e '/^[ ]*XCOMM[^a-zA-Z0-9_]/s/XCOMM/\#/' \ + -e '/^[ ]*XHASH/s/XHASH/\#/' \ + -e '/\@\@$$/s/\@\@$$/\\/' + + +# Strings to replace in man pages +XORGRELSTRING = @PACKAGE_STRING@ +XORGMANNAME = X Version 11 +XSERVERNAME = Xorg +MANDEFS = \ + -D__vendorversion__="\"$(XORGRELSTRING)\" \"$(XORGMANNAME)\"" \ + -D__xorgversion__="\"$(XORGRELSTRING)\" \"$(XORGMANNAME)\"" \ + -D__appmansuffix__=$(APP_MAN_SUFFIX) \ + -D__filemansuffix__=$(FILE_MAN_SUFFIX) \ + -D__libmansuffix__=$(LIB_MAN_SUFFIX) \ + -D__miscmansuffix__=$(MISC_MAN_SUFFIX) \ + -D__drivermansuffix__=$(DRIVER_MAN_SUFFIX) \ + -D__adminmansuffix__=$(ADMIN_MAN_SUFFIX) \ + -D__mandir__=$(mandir) \ + -D__projectroot__=$(prefix) \ + -D__xconfigfile__=$(__XCONFIGFILE__) -D__xconfigdir__=$(XCONFIGDIR) \ + -D__xlogfile__=$(XLOGFILE) -D__xservername__=$(XSERVERNAME) + +XINITDIR = $(libdir)/X11/xinit +XDEFS = \ + -DX_VERSION="$(PLIST_VERSION_STRING)" \ + -DX_PRE_RELEASE="$(PRE)" \ + -DX_REL_DATE="$(XORG_DATE)" \ + -DX_VENDOR_NAME="$(VENDOR_STRING)" \ + -DX_VENDOR_LINK="$(PLIST_VENDOR_WEB)" + +SUBDIRS = English.lproj Dutch.lproj French.lproj German.lproj Japanese.lproj \ + ko.lproj Portuguese.lproj Spanish.lproj Swedish.lproj + +bin_SCRIPTS = startXClients +contentsdir = @APPLE_APPLICATIONS_DIR@/XDarwin.app/Contents +resourcesdir = $(contentsdir)/Resources +contents_DATA = Info.plist +resources_DATA = XDarwin.icns startXClients +CLEANFILES = startXClients +EXTRA_DIST = \ + XDarwin.icns \ + Info.plist + +all: all-recursive + +.SUFFIXES: +.SUFFIXES: .pre .man .man.pre +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/cpprules.in $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign hw/darwin/bundle/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --foreign hw/darwin/bundle/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +install-binSCRIPTS: $(bin_SCRIPTS) + @$(NORMAL_INSTALL) + test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" + @list='$(bin_SCRIPTS)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + if test -f $$d$$p; then \ + f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \ + echo " $(binSCRIPT_INSTALL) '$$d$$p' '$(DESTDIR)$(bindir)/$$f'"; \ + $(binSCRIPT_INSTALL) "$$d$$p" "$(DESTDIR)$(bindir)/$$f"; \ + else :; fi; \ + done + +uninstall-binSCRIPTS: + @$(NORMAL_UNINSTALL) + @list='$(bin_SCRIPTS)'; for p in $$list; do \ + f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \ + echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ + rm -f "$(DESTDIR)$(bindir)/$$f"; \ + done + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-contentsDATA: $(contents_DATA) + @$(NORMAL_INSTALL) + test -z "$(contentsdir)" || $(MKDIR_P) "$(DESTDIR)$(contentsdir)" + @list='$(contents_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(contentsDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(contentsdir)/$$f'"; \ + $(contentsDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(contentsdir)/$$f"; \ + done + +uninstall-contentsDATA: + @$(NORMAL_UNINSTALL) + @list='$(contents_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(contentsdir)/$$f'"; \ + rm -f "$(DESTDIR)$(contentsdir)/$$f"; \ + done +install-resourcesDATA: $(resources_DATA) + @$(NORMAL_INSTALL) + test -z "$(resourcesdir)" || $(MKDIR_P) "$(DESTDIR)$(resourcesdir)" + @list='$(resources_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(resourcesDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(resourcesdir)/$$f'"; \ + $(resourcesDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(resourcesdir)/$$f"; \ + done + +uninstall-resourcesDATA: + @$(NORMAL_UNINSTALL) + @list='$(resources_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(resourcesdir)/$$f'"; \ + rm -f "$(DESTDIR)$(resourcesdir)/$$f"; \ + done + +# This directory's subdirectories are mostly independent; you can cd +# into them and run `make' without going through this Makefile. +# To change the values of `make' variables: instead of editing Makefiles, +# (1) if the variable is set in `config.status', edit `config.status' +# (which will cause the Makefiles to be regenerated when you run `make'); +# (2) otherwise, pass the desired values on the `make' command line. +$(RECURSIVE_TARGETS): + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +$(RECURSIVE_CLEAN_TARGETS): + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + rev=''; for subdir in $$list; do \ + if test "$$subdir" = "."; then :; else \ + rev="$$subdir $$rev"; \ + fi; \ + done; \ + rev="$$rev ."; \ + target=`echo $@ | sed s/-recursive//`; \ + for subdir in $$rev; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done && test -z "$$fail" +tags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + done +ctags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + done + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done + list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ + distdir=`$(am__cd) $(distdir) && pwd`; \ + top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ + (cd $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$top_distdir" \ + distdir="$$distdir/$$subdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + distdir) \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-recursive +all-am: Makefile $(SCRIPTS) $(DATA) +installdirs: installdirs-recursive +installdirs-am: + for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(contentsdir)" "$(DESTDIR)$(resourcesdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-recursive + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +info: info-recursive + +info-am: + +install-data-am: install-contentsDATA install-resourcesDATA + @$(NORMAL_INSTALL) + $(MAKE) $(AM_MAKEFLAGS) install-data-hook + +install-dvi: install-dvi-recursive + +install-exec-am: install-binSCRIPTS + +install-html: install-html-recursive + +install-info: install-info-recursive + +install-man: + +install-pdf: install-pdf-recursive + +install-ps: install-ps-recursive + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: uninstall-binSCRIPTS uninstall-contentsDATA \ + uninstall-resourcesDATA + @$(NORMAL_INSTALL) + $(MAKE) $(AM_MAKEFLAGS) uninstall-hook + +.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ + install-data-am install-strip uninstall-am + +.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ + all all-am check check-am clean clean-generic clean-libtool \ + ctags ctags-recursive distclean distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-binSCRIPTS \ + install-contentsDATA install-data install-data-am \ + install-data-hook install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-pdf install-pdf-am \ + install-ps install-ps-am install-resourcesDATA install-strip \ + installcheck installcheck-am installdirs installdirs-am \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags tags-recursive uninstall uninstall-am \ + uninstall-binSCRIPTS uninstall-contentsDATA uninstall-hook \ + uninstall-resourcesDATA + + +.pre: + $(RAWCPP) $(RAWCPPFLAGS) $(CPP_FILES_FLAGS) < $< | $(CPP_SED_MAGIC) > $@ + +.man.pre.man: + $(RAWCPP) $(RAWCPPFLAGS) $(MANDEFS) $(EXTRAMANDEFS) < $< | $(CPP_SED_MAGIC) > $@ + +startXClients: $(srcdir)/startXClients.cpp + $(RAWCPP) $(RAWCPPFLAGS) $(XDEFS) $(CPP_FILES_FLAGS) -DXINITDIR=$(XINITDIR) -DXBINDIR=$(BINDIR) $< | $(CPP_SED_MAGIC) > $@ + -chmod 755 startXClients + +install-data-hook: + chmod 755 $(DESTDIR)$(resourcesdir)/startXClients + echo "APPL????" > $(DESTDIR)$(contentsdir)/PkgInfo + touch $(DESTDIR)@APPLE_APPLICATIONS_DIR@/XDarwin.app + +uninstall-hook: + rm -rf $(DESTDIR)$(contentsdir)/PkgInfo +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/xserver/hw/darwin/bundle/Portuguese.lproj/Makefile.am b/xserver/hw/darwin/bundle/Portuguese.lproj/Makefile.am new file mode 100644 index 000000000..81ba2be26 --- /dev/null +++ b/xserver/hw/darwin/bundle/Portuguese.lproj/Makefile.am @@ -0,0 +1,36 @@ +BINDIR = ${bindir} +include $(top_srcdir)/cpprules.in +XINITDIR = $(libdir)/X11/xinit +XDEFS = \ + -DX_VERSION="$(PLIST_VERSION_STRING)" \ + -DX_PRE_RELEASE="$(PRE)" \ + -DX_REL_DATE="$(XORG_DATE)" \ + -DX_VENDOR_NAME="$(VENDOR_STRING)" \ + -DX_VENDOR_LINK="$(PLIST_VENDOR_WEB)" + +resourcesdir = @APPLE_APPLICATIONS_DIR@/XDarwin.app/Contents/Resources + +Portugueselprojdir = $(resourcesdir)/Portuguese.lproj + +Portugueselproj_DATA = \ + XDarwinHelp.html \ + InfoPlist.strings \ + Credits.rtf Localizable.strings + +Portugueselprojnibdir = $(Portugueselprojdir)/MainMenu.nib +Portugueselprojnib_DATA = MainMenu.nib/classes.nib MainMenu.nib/objects.nib + +InfoPlist.strings: $(srcdir)/../English.lproj/InfoPlist.strings.cpp + $(RAWCPP) $(RAWCPPFLAGS) $(XDEFS) $(CPP_FILES_FLAGS) $< | $(CPP_SED_MAGIC) | $(SED) -e's/__quote__/"/g' > $@ + +XDarwinHelp.html: XDarwinHelp.html.cpp + $(RAWCPP) $(RAWCPPFLAGS) $(XDEFS) $(CPP_FILES_FLAGS) $< | $(CPP_SED_MAGIC) > $@ + +CLEANFILES = XDarwinHelp.html InfoPlist.strings + +EXTRA_DIST = \ + Credits.rtf Localizable.strings \ + Localizable.strings \ + MainMenu.nib/classes.nib \ + MainMenu.nib/objects.nib \ + XDarwinHelp.html.cpp diff --git a/xserver/hw/darwin/bundle/Portuguese.lproj/Makefile.in b/xserver/hw/darwin/bundle/Portuguese.lproj/Makefile.in new file mode 100644 index 000000000..6afc35583 --- /dev/null +++ b/xserver/hw/darwin/bundle/Portuguese.lproj/Makefile.in @@ -0,0 +1,641 @@ +# Makefile.in generated by automake 1.10 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +# -*- Makefile -*- +# Rules for generating files using the C pre-processor +# (Replaces CppFileTarget from Imake) + +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ + $(top_srcdir)/cpprules.in +subdir = hw/darwin/bundle/Portuguese.lproj +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/include/do-not-use-config.h \ + $(top_builddir)/include/xorg-server.h \ + $(top_builddir)/include/dix-config.h \ + $(top_builddir)/include/xgl-config.h \ + $(top_builddir)/include/xorg-config.h \ + $(top_builddir)/include/xkb-config.h \ + $(top_builddir)/include/xwin-config.h \ + $(top_builddir)/include/kdrive-config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(Portugueselprojdir)" \ + "$(DESTDIR)$(Portugueselprojnibdir)" +PortugueselprojDATA_INSTALL = $(INSTALL_DATA) +PortugueselprojnibDATA_INSTALL = $(INSTALL_DATA) +DATA = $(Portugueselproj_DATA) $(Portugueselprojnib_DATA) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ +ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ +ALLOCA = @ALLOCA@ +AMTAR = @AMTAR@ +APPDEFAULTDIR = @APPDEFAULTDIR@ +APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +APP_MAN_DIR = @APP_MAN_DIR@ +APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ +AR = @AR@ +AS = @AS@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +BASE_FONT_PATH = @BASE_FONT_PATH@ +BUILD_DATE = @BUILD_DATE@ +BUILD_TIME = @BUILD_TIME@ +CC = @CC@ +CCAS = @CCAS@ +CCASDEPMODE = @CCASDEPMODE@ +CCASFLAGS = @CCASFLAGS@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +COMPILEDDEFAULTFONTPATH = @COMPILEDDEFAULTFONTPATH@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DARWIN_LIBS = @DARWIN_LIBS@ +DBUS_CFLAGS = @DBUS_CFLAGS@ +DBUS_LIBS = @DBUS_LIBS@ +DEFAULT_LIBRARY_PATH = @DEFAULT_LIBRARY_PATH@ +DEFAULT_LOGPREFIX = @DEFAULT_LOGPREFIX@ +DEFAULT_MODULE_PATH = @DEFAULT_MODULE_PATH@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DGA_CFLAGS = @DGA_CFLAGS@ +DGA_LIBS = @DGA_LIBS@ +DIX_CFLAGS = @DIX_CFLAGS@ +DLLTOOL = @DLLTOOL@ +DMXEXAMPLES_DEP_CFLAGS = @DMXEXAMPLES_DEP_CFLAGS@ +DMXEXAMPLES_DEP_LIBS = @DMXEXAMPLES_DEP_LIBS@ +DMXMODULES_CFLAGS = @DMXMODULES_CFLAGS@ +DMXMODULES_LIBS = @DMXMODULES_LIBS@ +DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ +DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ +DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ +DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ +DRIPROTO_LIBS = @DRIPROTO_LIBS@ +DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ +DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ +DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ +DTRACE = @DTRACE@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +FILE_MAN_DIR = @FILE_MAN_DIR@ +FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ +FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ +FREETYPE_LIBS = @FREETYPE_LIBS@ +FREETYPE_REQUIRES = @FREETYPE_REQUIRES@ +GLX_DEFINES = @GLX_DEFINES@ +GL_CFLAGS = @GL_CFLAGS@ +GL_LIBS = @GL_LIBS@ +GREP = @GREP@ +HAL_CFLAGS = @HAL_CFLAGS@ +HAL_LIBS = @HAL_LIBS@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +KDRIVE_CFLAGS = @KDRIVE_CFLAGS@ +KDRIVE_INCS = @KDRIVE_INCS@ +KDRIVE_LIBS = @KDRIVE_LIBS@ +KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ +KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ +KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ +LDFLAGS = @LDFLAGS@ +LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ +LEX = @LEX@ +LEXLIB = @LEXLIB@ +LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ +LIBDRM_CFLAGS = @LIBDRM_CFLAGS@ +LIBDRM_LIBS = @LIBDRM_LIBS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIB_MAN_DIR = @LIB_MAN_DIR@ +LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ +LINUXDOC = @LINUXDOC@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAKEINFO = @MAKEINFO@ +MAKE_HTML = @MAKE_HTML@ +MAKE_PDF = @MAKE_PDF@ +MAKE_PS = @MAKE_PS@ +MAKE_TEXT = @MAKE_TEXT@ +MESA_SOURCE = @MESA_SOURCE@ +MISC_MAN_DIR = @MISC_MAN_DIR@ +MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ +MKDIR_P = @MKDIR_P@ +MKFONTDIR = @MKFONTDIR@ +MKFONTSCALE = @MKFONTSCALE@ +OBJC = @OBJC@ +OBJCCLD = @OBJCCLD@ +OBJCDEPMODE = @OBJCDEPMODE@ +OBJCFLAGS = @OBJCFLAGS@ +OBJCLINK = @OBJCLINK@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PERL = @PERL@ +PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ +PIXMAN_LIBS = @PIXMAN_LIBS@ +PKG_CONFIG = @PKG_CONFIG@ +PLIST_VENDOR_WEB = @PLIST_VENDOR_WEB@ +PLIST_VERSION_STRING = @PLIST_VERSION_STRING@ +PROJECTROOT = @PROJECTROOT@ +PS2PDF = @PS2PDF@ +RANLIB = @RANLIB@ +RAWCPP = @RAWCPP@ +RAWCPPFLAGS = @RAWCPPFLAGS@ +RGB_DB = @RGB_DB@ +SERVERCONFIGdir = @SERVERCONFIGdir@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ +SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ +STRIP = @STRIP@ +SYS_LIBS = @SYS_LIBS@ +TSLIB_CFLAGS = @TSLIB_CFLAGS@ +TSLIB_LIBS = @TSLIB_LIBS@ +VENDOR_MAN_VERSION = @VENDOR_MAN_VERSION@ +VENDOR_NAME = @VENDOR_NAME@ +VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ +VENDOR_RELEASE = @VENDOR_RELEASE@ +VERSION = @VERSION@ +X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ +X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ +XDMCP_CFLAGS = @XDMCP_CFLAGS@ +XDMCP_LIBS = @XDMCP_LIBS@ +XDMXCONFIG_DEP_CFLAGS = @XDMXCONFIG_DEP_CFLAGS@ +XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@ +XDMX_LIBS = @XDMX_LIBS@ +XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ +XEGLMODULES_LIBS = @XEGLMODULES_LIBS@ +XEGL_LIBS = @XEGL_LIBS@ +XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ +XEPHYR_INCS = @XEPHYR_INCS@ +XEPHYR_LIBS = @XEPHYR_LIBS@ +XERRORDB_PATH = @XERRORDB_PATH@ +XF86CONFIGFILE = @XF86CONFIGFILE@ +XF86MISC_CFLAGS = @XF86MISC_CFLAGS@ +XF86MISC_LIBS = @XF86MISC_LIBS@ +XF86VIDMODE_CFLAGS = @XF86VIDMODE_CFLAGS@ +XF86VIDMODE_LIBS = @XF86VIDMODE_LIBS@ +XGLMODULES_CFLAGS = @XGLMODULES_CFLAGS@ +XGLMODULES_LIBS = @XGLMODULES_LIBS@ +XGLXMODULES_CFLAGS = @XGLXMODULES_CFLAGS@ +XGLXMODULES_LIBS = @XGLXMODULES_LIBS@ +XGLX_LIBS = @XGLX_LIBS@ +XGL_LIBS = @XGL_LIBS@ +XGL_MODULE_PATH = @XGL_MODULE_PATH@ +XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ +XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ +XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ +XKM_OUTPUT_DIR = @XKM_OUTPUT_DIR@ +XLIB_CFLAGS = @XLIB_CFLAGS@ +XLIB_LIBS = @XLIB_LIBS@ +XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ +XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ +XNEST_LIBS = @XNEST_LIBS@ +XORGCFG_DEP_CFLAGS = @XORGCFG_DEP_CFLAGS@ +XORGCFG_DEP_LIBS = @XORGCFG_DEP_LIBS@ +XORGCONFIG_DEP_CFLAGS = @XORGCONFIG_DEP_CFLAGS@ +XORGCONFIG_DEP_LIBS = @XORGCONFIG_DEP_LIBS@ +XORG_CFLAGS = @XORG_CFLAGS@ +XORG_CORE_LIBS = @XORG_CORE_LIBS@ +XORG_INCS = @XORG_INCS@ +XORG_LIBS = @XORG_LIBS@ +XORG_MODULES_CFLAGS = @XORG_MODULES_CFLAGS@ +XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ +XORG_OS = @XORG_OS@ +XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ +XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ +XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ +XPRINT_CFLAGS = @XPRINT_CFLAGS@ +XPRINT_LIBS = @XPRINT_LIBS@ +XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ +XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ +XSDL_INCS = @XSDL_INCS@ +XSDL_LIBS = @XSDL_LIBS@ +XSERVERCFLAGS_CFLAGS = @XSERVERCFLAGS_CFLAGS@ +XSERVERCFLAGS_LIBS = @XSERVERCFLAGS_LIBS@ +XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ +XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ +XSERVER_LIBS = @XSERVER_LIBS@ +XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ +XTSTEXAMPLES_DEP_LIBS = @XTSTEXAMPLES_DEP_LIBS@ +XVFB_LIBS = @XVFB_LIBS@ +XWINMODULES_CFLAGS = @XWINMODULES_CFLAGS@ +XWINMODULES_LIBS = @XWINMODULES_LIBS@ +XWIN_LIBS = @XWIN_LIBS@ +XWIN_SERVER_NAME = @XWIN_SERVER_NAME@ +XWIN_SYSTEM_LIBS = @XWIN_SYSTEM_LIBS@ +YACC = @YACC@ +YFLAGS = @YFLAGS@ +__XCONFIGFILE__ = @__XCONFIGFILE__@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +driverdir = @driverdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +extdir = @extdir@ +ft_config = @ft_config@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +logdir = @logdir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +moduledir = @moduledir@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sdkdir = @sdkdir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +xglmoduledir = @xglmoduledir@ +xpconfigdir = @xpconfigdir@ +BINDIR = ${bindir} +SED = sed +SUFFIXES = .pre .man .man.pre + +# Translate XCOMM into pound sign with sed, rather than passing -DXCOMM=XCOMM +# to cpp, because that trick does not work on all ANSI C preprocessors. +# Delete line numbers from the cpp output (-P is not portable, I guess). +# Allow XCOMM to be preceded by whitespace and provide a means of generating +# output lines with trailing backslashes. +# Allow XHASH to always be substituted, even in cases where XCOMM isn't. +CPP_SED_MAGIC = $(SED) -e '/^\# *[0-9][0-9]* *.*$$/d' \ + -e '/^\#line *[0-9][0-9]* *.*$$/d' \ + -e '/^[ ]*XCOMM$$/s/XCOMM/\#/' \ + -e '/^[ ]*XCOMM[^a-zA-Z0-9_]/s/XCOMM/\#/' \ + -e '/^[ ]*XHASH/s/XHASH/\#/' \ + -e '/\@\@$$/s/\@\@$$/\\/' + + +# Strings to replace in man pages +XORGRELSTRING = @PACKAGE_STRING@ +XORGMANNAME = X Version 11 +XSERVERNAME = Xorg +MANDEFS = \ + -D__vendorversion__="\"$(XORGRELSTRING)\" \"$(XORGMANNAME)\"" \ + -D__xorgversion__="\"$(XORGRELSTRING)\" \"$(XORGMANNAME)\"" \ + -D__appmansuffix__=$(APP_MAN_SUFFIX) \ + -D__filemansuffix__=$(FILE_MAN_SUFFIX) \ + -D__libmansuffix__=$(LIB_MAN_SUFFIX) \ + -D__miscmansuffix__=$(MISC_MAN_SUFFIX) \ + -D__drivermansuffix__=$(DRIVER_MAN_SUFFIX) \ + -D__adminmansuffix__=$(ADMIN_MAN_SUFFIX) \ + -D__mandir__=$(mandir) \ + -D__projectroot__=$(prefix) \ + -D__xconfigfile__=$(__XCONFIGFILE__) -D__xconfigdir__=$(XCONFIGDIR) \ + -D__xlogfile__=$(XLOGFILE) -D__xservername__=$(XSERVERNAME) + +XINITDIR = $(libdir)/X11/xinit +XDEFS = \ + -DX_VERSION="$(PLIST_VERSION_STRING)" \ + -DX_PRE_RELEASE="$(PRE)" \ + -DX_REL_DATE="$(XORG_DATE)" \ + -DX_VENDOR_NAME="$(VENDOR_STRING)" \ + -DX_VENDOR_LINK="$(PLIST_VENDOR_WEB)" + +resourcesdir = @APPLE_APPLICATIONS_DIR@/XDarwin.app/Contents/Resources +Portugueselprojdir = $(resourcesdir)/Portuguese.lproj +Portugueselproj_DATA = \ + XDarwinHelp.html \ + InfoPlist.strings \ + Credits.rtf Localizable.strings + +Portugueselprojnibdir = $(Portugueselprojdir)/MainMenu.nib +Portugueselprojnib_DATA = MainMenu.nib/classes.nib MainMenu.nib/objects.nib +CLEANFILES = XDarwinHelp.html InfoPlist.strings +EXTRA_DIST = \ + Credits.rtf Localizable.strings \ + Localizable.strings \ + MainMenu.nib/classes.nib \ + MainMenu.nib/objects.nib \ + XDarwinHelp.html.cpp + +all: all-am + +.SUFFIXES: +.SUFFIXES: .pre .man .man.pre +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/cpprules.in $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign hw/darwin/bundle/Portuguese.lproj/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --foreign hw/darwin/bundle/Portuguese.lproj/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-PortugueselprojDATA: $(Portugueselproj_DATA) + @$(NORMAL_INSTALL) + test -z "$(Portugueselprojdir)" || $(MKDIR_P) "$(DESTDIR)$(Portugueselprojdir)" + @list='$(Portugueselproj_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(PortugueselprojDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(Portugueselprojdir)/$$f'"; \ + $(PortugueselprojDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(Portugueselprojdir)/$$f"; \ + done + +uninstall-PortugueselprojDATA: + @$(NORMAL_UNINSTALL) + @list='$(Portugueselproj_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(Portugueselprojdir)/$$f'"; \ + rm -f "$(DESTDIR)$(Portugueselprojdir)/$$f"; \ + done +install-PortugueselprojnibDATA: $(Portugueselprojnib_DATA) + @$(NORMAL_INSTALL) + test -z "$(Portugueselprojnibdir)" || $(MKDIR_P) "$(DESTDIR)$(Portugueselprojnibdir)" + @list='$(Portugueselprojnib_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(PortugueselprojnibDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(Portugueselprojnibdir)/$$f'"; \ + $(PortugueselprojnibDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(Portugueselprojnibdir)/$$f"; \ + done + +uninstall-PortugueselprojnibDATA: + @$(NORMAL_UNINSTALL) + @list='$(Portugueselprojnib_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(Portugueselprojnibdir)/$$f'"; \ + rm -f "$(DESTDIR)$(Portugueselprojnibdir)/$$f"; \ + done +tags: TAGS +TAGS: + +ctags: CTAGS +CTAGS: + + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(DATA) +installdirs: + for dir in "$(DESTDIR)$(Portugueselprojdir)" "$(DESTDIR)$(Portugueselprojnibdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-PortugueselprojDATA \ + install-PortugueselprojnibDATA + +install-dvi: install-dvi-am + +install-exec-am: + +install-html: install-html-am + +install-info: install-info-am + +install-man: + +install-pdf: install-pdf-am + +install-ps: install-ps-am + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-PortugueselprojDATA \ + uninstall-PortugueselprojnibDATA + +.MAKE: install-am install-strip + +.PHONY: all all-am check check-am clean clean-generic clean-libtool \ + distclean distclean-generic distclean-libtool distdir dvi \ + dvi-am html html-am info info-am install \ + install-PortugueselprojDATA install-PortugueselprojnibDATA \ + install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + uninstall uninstall-PortugueselprojDATA \ + uninstall-PortugueselprojnibDATA uninstall-am + + +.pre: + $(RAWCPP) $(RAWCPPFLAGS) $(CPP_FILES_FLAGS) < $< | $(CPP_SED_MAGIC) > $@ + +.man.pre.man: + $(RAWCPP) $(RAWCPPFLAGS) $(MANDEFS) $(EXTRAMANDEFS) < $< | $(CPP_SED_MAGIC) > $@ + +InfoPlist.strings: $(srcdir)/../English.lproj/InfoPlist.strings.cpp + $(RAWCPP) $(RAWCPPFLAGS) $(XDEFS) $(CPP_FILES_FLAGS) $< | $(CPP_SED_MAGIC) | $(SED) -e's/__quote__/"/g' > $@ + +XDarwinHelp.html: XDarwinHelp.html.cpp + $(RAWCPP) $(RAWCPPFLAGS) $(XDEFS) $(CPP_FILES_FLAGS) $< | $(CPP_SED_MAGIC) > $@ +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/xserver/hw/darwin/bundle/Spanish.lproj/Makefile.am b/xserver/hw/darwin/bundle/Spanish.lproj/Makefile.am new file mode 100644 index 000000000..438d0c2bd --- /dev/null +++ b/xserver/hw/darwin/bundle/Spanish.lproj/Makefile.am @@ -0,0 +1,36 @@ +BINDIR = ${bindir} +include $(top_srcdir)/cpprules.in +XINITDIR = $(libdir)/X11/xinit +XDEFS = \ + -DX_VERSION="$(PLIST_VERSION_STRING)" \ + -DX_PRE_RELEASE="$(PRE)" \ + -DX_REL_DATE="$(XORG_DATE)" \ + -DX_VENDOR_NAME="$(VENDOR_STRING)" \ + -DX_VENDOR_LINK="$(PLIST_VENDOR_WEB)" + +resourcesdir = @APPLE_APPLICATIONS_DIR@/XDarwin.app/Contents/Resources + +Spanishlprojdir = $(resourcesdir)/Spanish.lproj + +Spanishlproj_DATA = \ + XDarwinHelp.html \ + InfoPlist.strings \ + Credits.rtf Localizable.strings + +Spanishlprojnibdir = $(Spanishlprojdir)/MainMenu.nib +Spanishlprojnib_DATA = MainMenu.nib/classes.nib MainMenu.nib/objects.nib + +InfoPlist.strings: $(srcdir)/../English.lproj/InfoPlist.strings.cpp + $(RAWCPP) $(RAWCPPFLAGS) $(XDEFS) $(CPP_FILES_FLAGS) $< | $(CPP_SED_MAGIC) | $(SED) -e's/__quote__/"/g' > $@ + +XDarwinHelp.html: XDarwinHelp.html.cpp + $(RAWCPP) $(RAWCPPFLAGS) $(XDEFS) $(CPP_FILES_FLAGS) $< | $(CPP_SED_MAGIC) > $@ + +CLEANFILES = XDarwinHelp.html InfoPlist.strings + +EXTRA_DIST = \ + Credits.rtf Localizable.strings \ + Localizable.strings \ + MainMenu.nib/classes.nib \ + MainMenu.nib/objects.nib \ + XDarwinHelp.html.cpp diff --git a/xserver/hw/darwin/bundle/Spanish.lproj/Makefile.in b/xserver/hw/darwin/bundle/Spanish.lproj/Makefile.in new file mode 100644 index 000000000..3d83cc68e --- /dev/null +++ b/xserver/hw/darwin/bundle/Spanish.lproj/Makefile.in @@ -0,0 +1,639 @@ +# Makefile.in generated by automake 1.10 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +# -*- Makefile -*- +# Rules for generating files using the C pre-processor +# (Replaces CppFileTarget from Imake) + +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ + $(top_srcdir)/cpprules.in +subdir = hw/darwin/bundle/Spanish.lproj +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/include/do-not-use-config.h \ + $(top_builddir)/include/xorg-server.h \ + $(top_builddir)/include/dix-config.h \ + $(top_builddir)/include/xgl-config.h \ + $(top_builddir)/include/xorg-config.h \ + $(top_builddir)/include/xkb-config.h \ + $(top_builddir)/include/xwin-config.h \ + $(top_builddir)/include/kdrive-config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(Spanishlprojdir)" \ + "$(DESTDIR)$(Spanishlprojnibdir)" +SpanishlprojDATA_INSTALL = $(INSTALL_DATA) +SpanishlprojnibDATA_INSTALL = $(INSTALL_DATA) +DATA = $(Spanishlproj_DATA) $(Spanishlprojnib_DATA) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ +ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ +ALLOCA = @ALLOCA@ +AMTAR = @AMTAR@ +APPDEFAULTDIR = @APPDEFAULTDIR@ +APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +APP_MAN_DIR = @APP_MAN_DIR@ +APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ +AR = @AR@ +AS = @AS@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +BASE_FONT_PATH = @BASE_FONT_PATH@ +BUILD_DATE = @BUILD_DATE@ +BUILD_TIME = @BUILD_TIME@ +CC = @CC@ +CCAS = @CCAS@ +CCASDEPMODE = @CCASDEPMODE@ +CCASFLAGS = @CCASFLAGS@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +COMPILEDDEFAULTFONTPATH = @COMPILEDDEFAULTFONTPATH@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DARWIN_LIBS = @DARWIN_LIBS@ +DBUS_CFLAGS = @DBUS_CFLAGS@ +DBUS_LIBS = @DBUS_LIBS@ +DEFAULT_LIBRARY_PATH = @DEFAULT_LIBRARY_PATH@ +DEFAULT_LOGPREFIX = @DEFAULT_LOGPREFIX@ +DEFAULT_MODULE_PATH = @DEFAULT_MODULE_PATH@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DGA_CFLAGS = @DGA_CFLAGS@ +DGA_LIBS = @DGA_LIBS@ +DIX_CFLAGS = @DIX_CFLAGS@ +DLLTOOL = @DLLTOOL@ +DMXEXAMPLES_DEP_CFLAGS = @DMXEXAMPLES_DEP_CFLAGS@ +DMXEXAMPLES_DEP_LIBS = @DMXEXAMPLES_DEP_LIBS@ +DMXMODULES_CFLAGS = @DMXMODULES_CFLAGS@ +DMXMODULES_LIBS = @DMXMODULES_LIBS@ +DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ +DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ +DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ +DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ +DRIPROTO_LIBS = @DRIPROTO_LIBS@ +DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ +DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ +DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ +DTRACE = @DTRACE@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +FILE_MAN_DIR = @FILE_MAN_DIR@ +FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ +FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ +FREETYPE_LIBS = @FREETYPE_LIBS@ +FREETYPE_REQUIRES = @FREETYPE_REQUIRES@ +GLX_DEFINES = @GLX_DEFINES@ +GL_CFLAGS = @GL_CFLAGS@ +GL_LIBS = @GL_LIBS@ +GREP = @GREP@ +HAL_CFLAGS = @HAL_CFLAGS@ +HAL_LIBS = @HAL_LIBS@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +KDRIVE_CFLAGS = @KDRIVE_CFLAGS@ +KDRIVE_INCS = @KDRIVE_INCS@ +KDRIVE_LIBS = @KDRIVE_LIBS@ +KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ +KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ +KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ +LDFLAGS = @LDFLAGS@ +LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ +LEX = @LEX@ +LEXLIB = @LEXLIB@ +LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ +LIBDRM_CFLAGS = @LIBDRM_CFLAGS@ +LIBDRM_LIBS = @LIBDRM_LIBS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIB_MAN_DIR = @LIB_MAN_DIR@ +LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ +LINUXDOC = @LINUXDOC@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAKEINFO = @MAKEINFO@ +MAKE_HTML = @MAKE_HTML@ +MAKE_PDF = @MAKE_PDF@ +MAKE_PS = @MAKE_PS@ +MAKE_TEXT = @MAKE_TEXT@ +MESA_SOURCE = @MESA_SOURCE@ +MISC_MAN_DIR = @MISC_MAN_DIR@ +MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ +MKDIR_P = @MKDIR_P@ +MKFONTDIR = @MKFONTDIR@ +MKFONTSCALE = @MKFONTSCALE@ +OBJC = @OBJC@ +OBJCCLD = @OBJCCLD@ +OBJCDEPMODE = @OBJCDEPMODE@ +OBJCFLAGS = @OBJCFLAGS@ +OBJCLINK = @OBJCLINK@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PERL = @PERL@ +PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ +PIXMAN_LIBS = @PIXMAN_LIBS@ +PKG_CONFIG = @PKG_CONFIG@ +PLIST_VENDOR_WEB = @PLIST_VENDOR_WEB@ +PLIST_VERSION_STRING = @PLIST_VERSION_STRING@ +PROJECTROOT = @PROJECTROOT@ +PS2PDF = @PS2PDF@ +RANLIB = @RANLIB@ +RAWCPP = @RAWCPP@ +RAWCPPFLAGS = @RAWCPPFLAGS@ +RGB_DB = @RGB_DB@ +SERVERCONFIGdir = @SERVERCONFIGdir@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ +SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ +STRIP = @STRIP@ +SYS_LIBS = @SYS_LIBS@ +TSLIB_CFLAGS = @TSLIB_CFLAGS@ +TSLIB_LIBS = @TSLIB_LIBS@ +VENDOR_MAN_VERSION = @VENDOR_MAN_VERSION@ +VENDOR_NAME = @VENDOR_NAME@ +VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ +VENDOR_RELEASE = @VENDOR_RELEASE@ +VERSION = @VERSION@ +X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ +X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ +XDMCP_CFLAGS = @XDMCP_CFLAGS@ +XDMCP_LIBS = @XDMCP_LIBS@ +XDMXCONFIG_DEP_CFLAGS = @XDMXCONFIG_DEP_CFLAGS@ +XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@ +XDMX_LIBS = @XDMX_LIBS@ +XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ +XEGLMODULES_LIBS = @XEGLMODULES_LIBS@ +XEGL_LIBS = @XEGL_LIBS@ +XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ +XEPHYR_INCS = @XEPHYR_INCS@ +XEPHYR_LIBS = @XEPHYR_LIBS@ +XERRORDB_PATH = @XERRORDB_PATH@ +XF86CONFIGFILE = @XF86CONFIGFILE@ +XF86MISC_CFLAGS = @XF86MISC_CFLAGS@ +XF86MISC_LIBS = @XF86MISC_LIBS@ +XF86VIDMODE_CFLAGS = @XF86VIDMODE_CFLAGS@ +XF86VIDMODE_LIBS = @XF86VIDMODE_LIBS@ +XGLMODULES_CFLAGS = @XGLMODULES_CFLAGS@ +XGLMODULES_LIBS = @XGLMODULES_LIBS@ +XGLXMODULES_CFLAGS = @XGLXMODULES_CFLAGS@ +XGLXMODULES_LIBS = @XGLXMODULES_LIBS@ +XGLX_LIBS = @XGLX_LIBS@ +XGL_LIBS = @XGL_LIBS@ +XGL_MODULE_PATH = @XGL_MODULE_PATH@ +XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ +XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ +XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ +XKM_OUTPUT_DIR = @XKM_OUTPUT_DIR@ +XLIB_CFLAGS = @XLIB_CFLAGS@ +XLIB_LIBS = @XLIB_LIBS@ +XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ +XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ +XNEST_LIBS = @XNEST_LIBS@ +XORGCFG_DEP_CFLAGS = @XORGCFG_DEP_CFLAGS@ +XORGCFG_DEP_LIBS = @XORGCFG_DEP_LIBS@ +XORGCONFIG_DEP_CFLAGS = @XORGCONFIG_DEP_CFLAGS@ +XORGCONFIG_DEP_LIBS = @XORGCONFIG_DEP_LIBS@ +XORG_CFLAGS = @XORG_CFLAGS@ +XORG_CORE_LIBS = @XORG_CORE_LIBS@ +XORG_INCS = @XORG_INCS@ +XORG_LIBS = @XORG_LIBS@ +XORG_MODULES_CFLAGS = @XORG_MODULES_CFLAGS@ +XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ +XORG_OS = @XORG_OS@ +XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ +XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ +XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ +XPRINT_CFLAGS = @XPRINT_CFLAGS@ +XPRINT_LIBS = @XPRINT_LIBS@ +XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ +XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ +XSDL_INCS = @XSDL_INCS@ +XSDL_LIBS = @XSDL_LIBS@ +XSERVERCFLAGS_CFLAGS = @XSERVERCFLAGS_CFLAGS@ +XSERVERCFLAGS_LIBS = @XSERVERCFLAGS_LIBS@ +XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ +XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ +XSERVER_LIBS = @XSERVER_LIBS@ +XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ +XTSTEXAMPLES_DEP_LIBS = @XTSTEXAMPLES_DEP_LIBS@ +XVFB_LIBS = @XVFB_LIBS@ +XWINMODULES_CFLAGS = @XWINMODULES_CFLAGS@ +XWINMODULES_LIBS = @XWINMODULES_LIBS@ +XWIN_LIBS = @XWIN_LIBS@ +XWIN_SERVER_NAME = @XWIN_SERVER_NAME@ +XWIN_SYSTEM_LIBS = @XWIN_SYSTEM_LIBS@ +YACC = @YACC@ +YFLAGS = @YFLAGS@ +__XCONFIGFILE__ = @__XCONFIGFILE__@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +driverdir = @driverdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +extdir = @extdir@ +ft_config = @ft_config@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +logdir = @logdir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +moduledir = @moduledir@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sdkdir = @sdkdir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +xglmoduledir = @xglmoduledir@ +xpconfigdir = @xpconfigdir@ +BINDIR = ${bindir} +SED = sed +SUFFIXES = .pre .man .man.pre + +# Translate XCOMM into pound sign with sed, rather than passing -DXCOMM=XCOMM +# to cpp, because that trick does not work on all ANSI C preprocessors. +# Delete line numbers from the cpp output (-P is not portable, I guess). +# Allow XCOMM to be preceded by whitespace and provide a means of generating +# output lines with trailing backslashes. +# Allow XHASH to always be substituted, even in cases where XCOMM isn't. +CPP_SED_MAGIC = $(SED) -e '/^\# *[0-9][0-9]* *.*$$/d' \ + -e '/^\#line *[0-9][0-9]* *.*$$/d' \ + -e '/^[ ]*XCOMM$$/s/XCOMM/\#/' \ + -e '/^[ ]*XCOMM[^a-zA-Z0-9_]/s/XCOMM/\#/' \ + -e '/^[ ]*XHASH/s/XHASH/\#/' \ + -e '/\@\@$$/s/\@\@$$/\\/' + + +# Strings to replace in man pages +XORGRELSTRING = @PACKAGE_STRING@ +XORGMANNAME = X Version 11 +XSERVERNAME = Xorg +MANDEFS = \ + -D__vendorversion__="\"$(XORGRELSTRING)\" \"$(XORGMANNAME)\"" \ + -D__xorgversion__="\"$(XORGRELSTRING)\" \"$(XORGMANNAME)\"" \ + -D__appmansuffix__=$(APP_MAN_SUFFIX) \ + -D__filemansuffix__=$(FILE_MAN_SUFFIX) \ + -D__libmansuffix__=$(LIB_MAN_SUFFIX) \ + -D__miscmansuffix__=$(MISC_MAN_SUFFIX) \ + -D__drivermansuffix__=$(DRIVER_MAN_SUFFIX) \ + -D__adminmansuffix__=$(ADMIN_MAN_SUFFIX) \ + -D__mandir__=$(mandir) \ + -D__projectroot__=$(prefix) \ + -D__xconfigfile__=$(__XCONFIGFILE__) -D__xconfigdir__=$(XCONFIGDIR) \ + -D__xlogfile__=$(XLOGFILE) -D__xservername__=$(XSERVERNAME) + +XINITDIR = $(libdir)/X11/xinit +XDEFS = \ + -DX_VERSION="$(PLIST_VERSION_STRING)" \ + -DX_PRE_RELEASE="$(PRE)" \ + -DX_REL_DATE="$(XORG_DATE)" \ + -DX_VENDOR_NAME="$(VENDOR_STRING)" \ + -DX_VENDOR_LINK="$(PLIST_VENDOR_WEB)" + +resourcesdir = @APPLE_APPLICATIONS_DIR@/XDarwin.app/Contents/Resources +Spanishlprojdir = $(resourcesdir)/Spanish.lproj +Spanishlproj_DATA = \ + XDarwinHelp.html \ + InfoPlist.strings \ + Credits.rtf Localizable.strings + +Spanishlprojnibdir = $(Spanishlprojdir)/MainMenu.nib +Spanishlprojnib_DATA = MainMenu.nib/classes.nib MainMenu.nib/objects.nib +CLEANFILES = XDarwinHelp.html InfoPlist.strings +EXTRA_DIST = \ + Credits.rtf Localizable.strings \ + Localizable.strings \ + MainMenu.nib/classes.nib \ + MainMenu.nib/objects.nib \ + XDarwinHelp.html.cpp + +all: all-am + +.SUFFIXES: +.SUFFIXES: .pre .man .man.pre +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/cpprules.in $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign hw/darwin/bundle/Spanish.lproj/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --foreign hw/darwin/bundle/Spanish.lproj/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-SpanishlprojDATA: $(Spanishlproj_DATA) + @$(NORMAL_INSTALL) + test -z "$(Spanishlprojdir)" || $(MKDIR_P) "$(DESTDIR)$(Spanishlprojdir)" + @list='$(Spanishlproj_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(SpanishlprojDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(Spanishlprojdir)/$$f'"; \ + $(SpanishlprojDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(Spanishlprojdir)/$$f"; \ + done + +uninstall-SpanishlprojDATA: + @$(NORMAL_UNINSTALL) + @list='$(Spanishlproj_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(Spanishlprojdir)/$$f'"; \ + rm -f "$(DESTDIR)$(Spanishlprojdir)/$$f"; \ + done +install-SpanishlprojnibDATA: $(Spanishlprojnib_DATA) + @$(NORMAL_INSTALL) + test -z "$(Spanishlprojnibdir)" || $(MKDIR_P) "$(DESTDIR)$(Spanishlprojnibdir)" + @list='$(Spanishlprojnib_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(SpanishlprojnibDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(Spanishlprojnibdir)/$$f'"; \ + $(SpanishlprojnibDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(Spanishlprojnibdir)/$$f"; \ + done + +uninstall-SpanishlprojnibDATA: + @$(NORMAL_UNINSTALL) + @list='$(Spanishlprojnib_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(Spanishlprojnibdir)/$$f'"; \ + rm -f "$(DESTDIR)$(Spanishlprojnibdir)/$$f"; \ + done +tags: TAGS +TAGS: + +ctags: CTAGS +CTAGS: + + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(DATA) +installdirs: + for dir in "$(DESTDIR)$(Spanishlprojdir)" "$(DESTDIR)$(Spanishlprojnibdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-SpanishlprojDATA install-SpanishlprojnibDATA + +install-dvi: install-dvi-am + +install-exec-am: + +install-html: install-html-am + +install-info: install-info-am + +install-man: + +install-pdf: install-pdf-am + +install-ps: install-ps-am + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-SpanishlprojDATA uninstall-SpanishlprojnibDATA + +.MAKE: install-am install-strip + +.PHONY: all all-am check check-am clean clean-generic clean-libtool \ + distclean distclean-generic distclean-libtool distdir dvi \ + dvi-am html html-am info info-am install \ + install-SpanishlprojDATA install-SpanishlprojnibDATA \ + install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + uninstall uninstall-SpanishlprojDATA \ + uninstall-SpanishlprojnibDATA uninstall-am + + +.pre: + $(RAWCPP) $(RAWCPPFLAGS) $(CPP_FILES_FLAGS) < $< | $(CPP_SED_MAGIC) > $@ + +.man.pre.man: + $(RAWCPP) $(RAWCPPFLAGS) $(MANDEFS) $(EXTRAMANDEFS) < $< | $(CPP_SED_MAGIC) > $@ + +InfoPlist.strings: $(srcdir)/../English.lproj/InfoPlist.strings.cpp + $(RAWCPP) $(RAWCPPFLAGS) $(XDEFS) $(CPP_FILES_FLAGS) $< | $(CPP_SED_MAGIC) | $(SED) -e's/__quote__/"/g' > $@ + +XDarwinHelp.html: XDarwinHelp.html.cpp + $(RAWCPP) $(RAWCPPFLAGS) $(XDEFS) $(CPP_FILES_FLAGS) $< | $(CPP_SED_MAGIC) > $@ +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/xserver/hw/darwin/bundle/Swedish.lproj/Makefile.am b/xserver/hw/darwin/bundle/Swedish.lproj/Makefile.am new file mode 100644 index 000000000..19f35a690 --- /dev/null +++ b/xserver/hw/darwin/bundle/Swedish.lproj/Makefile.am @@ -0,0 +1,36 @@ +BINDIR = ${bindir} +include $(top_srcdir)/cpprules.in +XINITDIR = $(libdir)/X11/xinit +XDEFS = \ + -DX_VERSION="$(PLIST_VERSION_STRING)" \ + -DX_PRE_RELEASE="$(PRE)" \ + -DX_REL_DATE="$(XORG_DATE)" \ + -DX_VENDOR_NAME="$(VENDOR_STRING)" \ + -DX_VENDOR_LINK="$(PLIST_VENDOR_WEB)" + +resourcesdir = @APPLE_APPLICATIONS_DIR@/XDarwin.app/Contents/Resources + +Swedishlprojdir = $(resourcesdir)/Swedish.lproj + +Swedishlproj_DATA = \ + XDarwinHelp.html \ + InfoPlist.strings \ + Credits.rtf Localizable.strings + +Swedishlprojnibdir = $(Swedishlprojdir)/MainMenu.nib +Swedishlprojnib_DATA = MainMenu.nib/classes.nib MainMenu.nib/objects.nib + +InfoPlist.strings: $(srcdir)/../English.lproj/InfoPlist.strings.cpp + $(RAWCPP) $(RAWCPPFLAGS) $(XDEFS) $(CPP_FILES_FLAGS) $< | $(CPP_SED_MAGIC) | $(SED) -e's/__quote__/"/g' > $@ + +XDarwinHelp.html: XDarwinHelp.html.cpp + $(RAWCPP) $(RAWCPPFLAGS) $(XDEFS) $(CPP_FILES_FLAGS) $< | $(CPP_SED_MAGIC) > $@ + +CLEANFILES = XDarwinHelp.html InfoPlist.strings + +EXTRA_DIST = \ + Credits.rtf Localizable.strings \ + Localizable.strings \ + MainMenu.nib/classes.nib \ + MainMenu.nib/objects.nib \ + XDarwinHelp.html.cpp diff --git a/xserver/hw/darwin/bundle/Swedish.lproj/Makefile.in b/xserver/hw/darwin/bundle/Swedish.lproj/Makefile.in new file mode 100644 index 000000000..bda9041de --- /dev/null +++ b/xserver/hw/darwin/bundle/Swedish.lproj/Makefile.in @@ -0,0 +1,639 @@ +# Makefile.in generated by automake 1.10 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +# -*- Makefile -*- +# Rules for generating files using the C pre-processor +# (Replaces CppFileTarget from Imake) + +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ + $(top_srcdir)/cpprules.in +subdir = hw/darwin/bundle/Swedish.lproj +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/include/do-not-use-config.h \ + $(top_builddir)/include/xorg-server.h \ + $(top_builddir)/include/dix-config.h \ + $(top_builddir)/include/xgl-config.h \ + $(top_builddir)/include/xorg-config.h \ + $(top_builddir)/include/xkb-config.h \ + $(top_builddir)/include/xwin-config.h \ + $(top_builddir)/include/kdrive-config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(Swedishlprojdir)" \ + "$(DESTDIR)$(Swedishlprojnibdir)" +SwedishlprojDATA_INSTALL = $(INSTALL_DATA) +SwedishlprojnibDATA_INSTALL = $(INSTALL_DATA) +DATA = $(Swedishlproj_DATA) $(Swedishlprojnib_DATA) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ +ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ +ALLOCA = @ALLOCA@ +AMTAR = @AMTAR@ +APPDEFAULTDIR = @APPDEFAULTDIR@ +APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +APP_MAN_DIR = @APP_MAN_DIR@ +APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ +AR = @AR@ +AS = @AS@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +BASE_FONT_PATH = @BASE_FONT_PATH@ +BUILD_DATE = @BUILD_DATE@ +BUILD_TIME = @BUILD_TIME@ +CC = @CC@ +CCAS = @CCAS@ +CCASDEPMODE = @CCASDEPMODE@ +CCASFLAGS = @CCASFLAGS@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +COMPILEDDEFAULTFONTPATH = @COMPILEDDEFAULTFONTPATH@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DARWIN_LIBS = @DARWIN_LIBS@ +DBUS_CFLAGS = @DBUS_CFLAGS@ +DBUS_LIBS = @DBUS_LIBS@ +DEFAULT_LIBRARY_PATH = @DEFAULT_LIBRARY_PATH@ +DEFAULT_LOGPREFIX = @DEFAULT_LOGPREFIX@ +DEFAULT_MODULE_PATH = @DEFAULT_MODULE_PATH@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DGA_CFLAGS = @DGA_CFLAGS@ +DGA_LIBS = @DGA_LIBS@ +DIX_CFLAGS = @DIX_CFLAGS@ +DLLTOOL = @DLLTOOL@ +DMXEXAMPLES_DEP_CFLAGS = @DMXEXAMPLES_DEP_CFLAGS@ +DMXEXAMPLES_DEP_LIBS = @DMXEXAMPLES_DEP_LIBS@ +DMXMODULES_CFLAGS = @DMXMODULES_CFLAGS@ +DMXMODULES_LIBS = @DMXMODULES_LIBS@ +DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ +DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ +DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ +DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ +DRIPROTO_LIBS = @DRIPROTO_LIBS@ +DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ +DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ +DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ +DTRACE = @DTRACE@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +FILE_MAN_DIR = @FILE_MAN_DIR@ +FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ +FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ +FREETYPE_LIBS = @FREETYPE_LIBS@ +FREETYPE_REQUIRES = @FREETYPE_REQUIRES@ +GLX_DEFINES = @GLX_DEFINES@ +GL_CFLAGS = @GL_CFLAGS@ +GL_LIBS = @GL_LIBS@ +GREP = @GREP@ +HAL_CFLAGS = @HAL_CFLAGS@ +HAL_LIBS = @HAL_LIBS@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +KDRIVE_CFLAGS = @KDRIVE_CFLAGS@ +KDRIVE_INCS = @KDRIVE_INCS@ +KDRIVE_LIBS = @KDRIVE_LIBS@ +KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ +KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ +KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ +LDFLAGS = @LDFLAGS@ +LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ +LEX = @LEX@ +LEXLIB = @LEXLIB@ +LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ +LIBDRM_CFLAGS = @LIBDRM_CFLAGS@ +LIBDRM_LIBS = @LIBDRM_LIBS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIB_MAN_DIR = @LIB_MAN_DIR@ +LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ +LINUXDOC = @LINUXDOC@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAKEINFO = @MAKEINFO@ +MAKE_HTML = @MAKE_HTML@ +MAKE_PDF = @MAKE_PDF@ +MAKE_PS = @MAKE_PS@ +MAKE_TEXT = @MAKE_TEXT@ +MESA_SOURCE = @MESA_SOURCE@ +MISC_MAN_DIR = @MISC_MAN_DIR@ +MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ +MKDIR_P = @MKDIR_P@ +MKFONTDIR = @MKFONTDIR@ +MKFONTSCALE = @MKFONTSCALE@ +OBJC = @OBJC@ +OBJCCLD = @OBJCCLD@ +OBJCDEPMODE = @OBJCDEPMODE@ +OBJCFLAGS = @OBJCFLAGS@ +OBJCLINK = @OBJCLINK@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PERL = @PERL@ +PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ +PIXMAN_LIBS = @PIXMAN_LIBS@ +PKG_CONFIG = @PKG_CONFIG@ +PLIST_VENDOR_WEB = @PLIST_VENDOR_WEB@ +PLIST_VERSION_STRING = @PLIST_VERSION_STRING@ +PROJECTROOT = @PROJECTROOT@ +PS2PDF = @PS2PDF@ +RANLIB = @RANLIB@ +RAWCPP = @RAWCPP@ +RAWCPPFLAGS = @RAWCPPFLAGS@ +RGB_DB = @RGB_DB@ +SERVERCONFIGdir = @SERVERCONFIGdir@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ +SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ +STRIP = @STRIP@ +SYS_LIBS = @SYS_LIBS@ +TSLIB_CFLAGS = @TSLIB_CFLAGS@ +TSLIB_LIBS = @TSLIB_LIBS@ +VENDOR_MAN_VERSION = @VENDOR_MAN_VERSION@ +VENDOR_NAME = @VENDOR_NAME@ +VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ +VENDOR_RELEASE = @VENDOR_RELEASE@ +VERSION = @VERSION@ +X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ +X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ +XDMCP_CFLAGS = @XDMCP_CFLAGS@ +XDMCP_LIBS = @XDMCP_LIBS@ +XDMXCONFIG_DEP_CFLAGS = @XDMXCONFIG_DEP_CFLAGS@ +XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@ +XDMX_LIBS = @XDMX_LIBS@ +XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ +XEGLMODULES_LIBS = @XEGLMODULES_LIBS@ +XEGL_LIBS = @XEGL_LIBS@ +XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ +XEPHYR_INCS = @XEPHYR_INCS@ +XEPHYR_LIBS = @XEPHYR_LIBS@ +XERRORDB_PATH = @XERRORDB_PATH@ +XF86CONFIGFILE = @XF86CONFIGFILE@ +XF86MISC_CFLAGS = @XF86MISC_CFLAGS@ +XF86MISC_LIBS = @XF86MISC_LIBS@ +XF86VIDMODE_CFLAGS = @XF86VIDMODE_CFLAGS@ +XF86VIDMODE_LIBS = @XF86VIDMODE_LIBS@ +XGLMODULES_CFLAGS = @XGLMODULES_CFLAGS@ +XGLMODULES_LIBS = @XGLMODULES_LIBS@ +XGLXMODULES_CFLAGS = @XGLXMODULES_CFLAGS@ +XGLXMODULES_LIBS = @XGLXMODULES_LIBS@ +XGLX_LIBS = @XGLX_LIBS@ +XGL_LIBS = @XGL_LIBS@ +XGL_MODULE_PATH = @XGL_MODULE_PATH@ +XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ +XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ +XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ +XKM_OUTPUT_DIR = @XKM_OUTPUT_DIR@ +XLIB_CFLAGS = @XLIB_CFLAGS@ +XLIB_LIBS = @XLIB_LIBS@ +XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ +XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ +XNEST_LIBS = @XNEST_LIBS@ +XORGCFG_DEP_CFLAGS = @XORGCFG_DEP_CFLAGS@ +XORGCFG_DEP_LIBS = @XORGCFG_DEP_LIBS@ +XORGCONFIG_DEP_CFLAGS = @XORGCONFIG_DEP_CFLAGS@ +XORGCONFIG_DEP_LIBS = @XORGCONFIG_DEP_LIBS@ +XORG_CFLAGS = @XORG_CFLAGS@ +XORG_CORE_LIBS = @XORG_CORE_LIBS@ +XORG_INCS = @XORG_INCS@ +XORG_LIBS = @XORG_LIBS@ +XORG_MODULES_CFLAGS = @XORG_MODULES_CFLAGS@ +XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ +XORG_OS = @XORG_OS@ +XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ +XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ +XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ +XPRINT_CFLAGS = @XPRINT_CFLAGS@ +XPRINT_LIBS = @XPRINT_LIBS@ +XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ +XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ +XSDL_INCS = @XSDL_INCS@ +XSDL_LIBS = @XSDL_LIBS@ +XSERVERCFLAGS_CFLAGS = @XSERVERCFLAGS_CFLAGS@ +XSERVERCFLAGS_LIBS = @XSERVERCFLAGS_LIBS@ +XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ +XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ +XSERVER_LIBS = @XSERVER_LIBS@ +XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ +XTSTEXAMPLES_DEP_LIBS = @XTSTEXAMPLES_DEP_LIBS@ +XVFB_LIBS = @XVFB_LIBS@ +XWINMODULES_CFLAGS = @XWINMODULES_CFLAGS@ +XWINMODULES_LIBS = @XWINMODULES_LIBS@ +XWIN_LIBS = @XWIN_LIBS@ +XWIN_SERVER_NAME = @XWIN_SERVER_NAME@ +XWIN_SYSTEM_LIBS = @XWIN_SYSTEM_LIBS@ +YACC = @YACC@ +YFLAGS = @YFLAGS@ +__XCONFIGFILE__ = @__XCONFIGFILE__@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +driverdir = @driverdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +extdir = @extdir@ +ft_config = @ft_config@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +logdir = @logdir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +moduledir = @moduledir@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sdkdir = @sdkdir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +xglmoduledir = @xglmoduledir@ +xpconfigdir = @xpconfigdir@ +BINDIR = ${bindir} +SED = sed +SUFFIXES = .pre .man .man.pre + +# Translate XCOMM into pound sign with sed, rather than passing -DXCOMM=XCOMM +# to cpp, because that trick does not work on all ANSI C preprocessors. +# Delete line numbers from the cpp output (-P is not portable, I guess). +# Allow XCOMM to be preceded by whitespace and provide a means of generating +# output lines with trailing backslashes. +# Allow XHASH to always be substituted, even in cases where XCOMM isn't. +CPP_SED_MAGIC = $(SED) -e '/^\# *[0-9][0-9]* *.*$$/d' \ + -e '/^\#line *[0-9][0-9]* *.*$$/d' \ + -e '/^[ ]*XCOMM$$/s/XCOMM/\#/' \ + -e '/^[ ]*XCOMM[^a-zA-Z0-9_]/s/XCOMM/\#/' \ + -e '/^[ ]*XHASH/s/XHASH/\#/' \ + -e '/\@\@$$/s/\@\@$$/\\/' + + +# Strings to replace in man pages +XORGRELSTRING = @PACKAGE_STRING@ +XORGMANNAME = X Version 11 +XSERVERNAME = Xorg +MANDEFS = \ + -D__vendorversion__="\"$(XORGRELSTRING)\" \"$(XORGMANNAME)\"" \ + -D__xorgversion__="\"$(XORGRELSTRING)\" \"$(XORGMANNAME)\"" \ + -D__appmansuffix__=$(APP_MAN_SUFFIX) \ + -D__filemansuffix__=$(FILE_MAN_SUFFIX) \ + -D__libmansuffix__=$(LIB_MAN_SUFFIX) \ + -D__miscmansuffix__=$(MISC_MAN_SUFFIX) \ + -D__drivermansuffix__=$(DRIVER_MAN_SUFFIX) \ + -D__adminmansuffix__=$(ADMIN_MAN_SUFFIX) \ + -D__mandir__=$(mandir) \ + -D__projectroot__=$(prefix) \ + -D__xconfigfile__=$(__XCONFIGFILE__) -D__xconfigdir__=$(XCONFIGDIR) \ + -D__xlogfile__=$(XLOGFILE) -D__xservername__=$(XSERVERNAME) + +XINITDIR = $(libdir)/X11/xinit +XDEFS = \ + -DX_VERSION="$(PLIST_VERSION_STRING)" \ + -DX_PRE_RELEASE="$(PRE)" \ + -DX_REL_DATE="$(XORG_DATE)" \ + -DX_VENDOR_NAME="$(VENDOR_STRING)" \ + -DX_VENDOR_LINK="$(PLIST_VENDOR_WEB)" + +resourcesdir = @APPLE_APPLICATIONS_DIR@/XDarwin.app/Contents/Resources +Swedishlprojdir = $(resourcesdir)/Swedish.lproj +Swedishlproj_DATA = \ + XDarwinHelp.html \ + InfoPlist.strings \ + Credits.rtf Localizable.strings + +Swedishlprojnibdir = $(Swedishlprojdir)/MainMenu.nib +Swedishlprojnib_DATA = MainMenu.nib/classes.nib MainMenu.nib/objects.nib +CLEANFILES = XDarwinHelp.html InfoPlist.strings +EXTRA_DIST = \ + Credits.rtf Localizable.strings \ + Localizable.strings \ + MainMenu.nib/classes.nib \ + MainMenu.nib/objects.nib \ + XDarwinHelp.html.cpp + +all: all-am + +.SUFFIXES: +.SUFFIXES: .pre .man .man.pre +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/cpprules.in $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign hw/darwin/bundle/Swedish.lproj/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --foreign hw/darwin/bundle/Swedish.lproj/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-SwedishlprojDATA: $(Swedishlproj_DATA) + @$(NORMAL_INSTALL) + test -z "$(Swedishlprojdir)" || $(MKDIR_P) "$(DESTDIR)$(Swedishlprojdir)" + @list='$(Swedishlproj_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(SwedishlprojDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(Swedishlprojdir)/$$f'"; \ + $(SwedishlprojDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(Swedishlprojdir)/$$f"; \ + done + +uninstall-SwedishlprojDATA: + @$(NORMAL_UNINSTALL) + @list='$(Swedishlproj_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(Swedishlprojdir)/$$f'"; \ + rm -f "$(DESTDIR)$(Swedishlprojdir)/$$f"; \ + done +install-SwedishlprojnibDATA: $(Swedishlprojnib_DATA) + @$(NORMAL_INSTALL) + test -z "$(Swedishlprojnibdir)" || $(MKDIR_P) "$(DESTDIR)$(Swedishlprojnibdir)" + @list='$(Swedishlprojnib_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(SwedishlprojnibDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(Swedishlprojnibdir)/$$f'"; \ + $(SwedishlprojnibDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(Swedishlprojnibdir)/$$f"; \ + done + +uninstall-SwedishlprojnibDATA: + @$(NORMAL_UNINSTALL) + @list='$(Swedishlprojnib_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(Swedishlprojnibdir)/$$f'"; \ + rm -f "$(DESTDIR)$(Swedishlprojnibdir)/$$f"; \ + done +tags: TAGS +TAGS: + +ctags: CTAGS +CTAGS: + + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(DATA) +installdirs: + for dir in "$(DESTDIR)$(Swedishlprojdir)" "$(DESTDIR)$(Swedishlprojnibdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-SwedishlprojDATA install-SwedishlprojnibDATA + +install-dvi: install-dvi-am + +install-exec-am: + +install-html: install-html-am + +install-info: install-info-am + +install-man: + +install-pdf: install-pdf-am + +install-ps: install-ps-am + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-SwedishlprojDATA uninstall-SwedishlprojnibDATA + +.MAKE: install-am install-strip + +.PHONY: all all-am check check-am clean clean-generic clean-libtool \ + distclean distclean-generic distclean-libtool distdir dvi \ + dvi-am html html-am info info-am install \ + install-SwedishlprojDATA install-SwedishlprojnibDATA \ + install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + uninstall uninstall-SwedishlprojDATA \ + uninstall-SwedishlprojnibDATA uninstall-am + + +.pre: + $(RAWCPP) $(RAWCPPFLAGS) $(CPP_FILES_FLAGS) < $< | $(CPP_SED_MAGIC) > $@ + +.man.pre.man: + $(RAWCPP) $(RAWCPPFLAGS) $(MANDEFS) $(EXTRAMANDEFS) < $< | $(CPP_SED_MAGIC) > $@ + +InfoPlist.strings: $(srcdir)/../English.lproj/InfoPlist.strings.cpp + $(RAWCPP) $(RAWCPPFLAGS) $(XDEFS) $(CPP_FILES_FLAGS) $< | $(CPP_SED_MAGIC) | $(SED) -e's/__quote__/"/g' > $@ + +XDarwinHelp.html: XDarwinHelp.html.cpp + $(RAWCPP) $(RAWCPPFLAGS) $(XDEFS) $(CPP_FILES_FLAGS) $< | $(CPP_SED_MAGIC) > $@ +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/xserver/hw/darwin/bundle/ko.lproj/Makefile.am b/xserver/hw/darwin/bundle/ko.lproj/Makefile.am new file mode 100644 index 000000000..56dd6b310 --- /dev/null +++ b/xserver/hw/darwin/bundle/ko.lproj/Makefile.am @@ -0,0 +1,37 @@ +BINDIR = ${bindir} +include $(top_srcdir)/cpprules.in +XINITDIR = $(libdir)/X11/xinit +XDEFS = \ + -DX_VERSION="$(PLIST_VERSION_STRING)" \ + -DX_PRE_RELEASE="$(PRE)" \ + -DX_REL_DATE="$(XORG_DATE)" \ + -DX_VENDOR_NAME="$(VENDOR_STRING)" \ + -DX_VENDOR_LINK="$(PLIST_VENDOR_WEB)" + + +resourcesdir = @APPLE_APPLICATIONS_DIR@/XDarwin.app/Contents/Resources + +kolprojdir = $(resourcesdir)/ko.lproj + +kolproj_DATA = \ + XDarwinHelp.html \ + InfoPlist.strings \ + Credits.rtf Localizable.strings + +kolprojnibdir = $(kolprojdir)/MainMenu.nib +kolprojnib_DATA = MainMenu.nib/classes.nib MainMenu.nib/objects.nib + +InfoPlist.strings: $(srcdir)/../English.lproj/InfoPlist.strings.cpp + $(RAWCPP) $(RAWCPPFLAGS) $(XDEFS) $(CPP_FILES_FLAGS) $< | $(CPP_SED_MAGIC) | $(SED) -e's/__quote__/"/g' > $@ + +XDarwinHelp.html: XDarwinHelp.html.cpp + $(RAWCPP) $(RAWCPPFLAGS) $(XDEFS) $(CPP_FILES_FLAGS) $< | $(CPP_SED_MAGIC) > $@ + +CLEANFILES = XDarwinHelp.html InfoPlist.strings + +EXTRA_DIST = \ + Credits.rtf Localizable.strings \ + Localizable.strings \ + MainMenu.nib/classes.nib \ + MainMenu.nib/objects.nib \ + XDarwinHelp.html.cpp diff --git a/xserver/hw/darwin/bundle/ko.lproj/Makefile.in b/xserver/hw/darwin/bundle/ko.lproj/Makefile.in new file mode 100644 index 000000000..5ea37b002 --- /dev/null +++ b/xserver/hw/darwin/bundle/ko.lproj/Makefile.in @@ -0,0 +1,638 @@ +# Makefile.in generated by automake 1.10 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +# -*- Makefile -*- +# Rules for generating files using the C pre-processor +# (Replaces CppFileTarget from Imake) + +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ + $(top_srcdir)/cpprules.in +subdir = hw/darwin/bundle/ko.lproj +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/include/do-not-use-config.h \ + $(top_builddir)/include/xorg-server.h \ + $(top_builddir)/include/dix-config.h \ + $(top_builddir)/include/xgl-config.h \ + $(top_builddir)/include/xorg-config.h \ + $(top_builddir)/include/xkb-config.h \ + $(top_builddir)/include/xwin-config.h \ + $(top_builddir)/include/kdrive-config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(kolprojdir)" \ + "$(DESTDIR)$(kolprojnibdir)" +kolprojDATA_INSTALL = $(INSTALL_DATA) +kolprojnibDATA_INSTALL = $(INSTALL_DATA) +DATA = $(kolproj_DATA) $(kolprojnib_DATA) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ +ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ +ALLOCA = @ALLOCA@ +AMTAR = @AMTAR@ +APPDEFAULTDIR = @APPDEFAULTDIR@ +APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +APP_MAN_DIR = @APP_MAN_DIR@ +APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ +AR = @AR@ +AS = @AS@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +BASE_FONT_PATH = @BASE_FONT_PATH@ +BUILD_DATE = @BUILD_DATE@ +BUILD_TIME = @BUILD_TIME@ +CC = @CC@ +CCAS = @CCAS@ +CCASDEPMODE = @CCASDEPMODE@ +CCASFLAGS = @CCASFLAGS@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +COMPILEDDEFAULTFONTPATH = @COMPILEDDEFAULTFONTPATH@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DARWIN_LIBS = @DARWIN_LIBS@ +DBUS_CFLAGS = @DBUS_CFLAGS@ +DBUS_LIBS = @DBUS_LIBS@ +DEFAULT_LIBRARY_PATH = @DEFAULT_LIBRARY_PATH@ +DEFAULT_LOGPREFIX = @DEFAULT_LOGPREFIX@ +DEFAULT_MODULE_PATH = @DEFAULT_MODULE_PATH@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DGA_CFLAGS = @DGA_CFLAGS@ +DGA_LIBS = @DGA_LIBS@ +DIX_CFLAGS = @DIX_CFLAGS@ +DLLTOOL = @DLLTOOL@ +DMXEXAMPLES_DEP_CFLAGS = @DMXEXAMPLES_DEP_CFLAGS@ +DMXEXAMPLES_DEP_LIBS = @DMXEXAMPLES_DEP_LIBS@ +DMXMODULES_CFLAGS = @DMXMODULES_CFLAGS@ +DMXMODULES_LIBS = @DMXMODULES_LIBS@ +DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ +DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ +DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ +DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ +DRIPROTO_LIBS = @DRIPROTO_LIBS@ +DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ +DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ +DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ +DTRACE = @DTRACE@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +FILE_MAN_DIR = @FILE_MAN_DIR@ +FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ +FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ +FREETYPE_LIBS = @FREETYPE_LIBS@ +FREETYPE_REQUIRES = @FREETYPE_REQUIRES@ +GLX_DEFINES = @GLX_DEFINES@ +GL_CFLAGS = @GL_CFLAGS@ +GL_LIBS = @GL_LIBS@ +GREP = @GREP@ +HAL_CFLAGS = @HAL_CFLAGS@ +HAL_LIBS = @HAL_LIBS@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +KDRIVE_CFLAGS = @KDRIVE_CFLAGS@ +KDRIVE_INCS = @KDRIVE_INCS@ +KDRIVE_LIBS = @KDRIVE_LIBS@ +KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ +KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ +KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ +LDFLAGS = @LDFLAGS@ +LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ +LEX = @LEX@ +LEXLIB = @LEXLIB@ +LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ +LIBDRM_CFLAGS = @LIBDRM_CFLAGS@ +LIBDRM_LIBS = @LIBDRM_LIBS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIB_MAN_DIR = @LIB_MAN_DIR@ +LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ +LINUXDOC = @LINUXDOC@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAKEINFO = @MAKEINFO@ +MAKE_HTML = @MAKE_HTML@ +MAKE_PDF = @MAKE_PDF@ +MAKE_PS = @MAKE_PS@ +MAKE_TEXT = @MAKE_TEXT@ +MESA_SOURCE = @MESA_SOURCE@ +MISC_MAN_DIR = @MISC_MAN_DIR@ +MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ +MKDIR_P = @MKDIR_P@ +MKFONTDIR = @MKFONTDIR@ +MKFONTSCALE = @MKFONTSCALE@ +OBJC = @OBJC@ +OBJCCLD = @OBJCCLD@ +OBJCDEPMODE = @OBJCDEPMODE@ +OBJCFLAGS = @OBJCFLAGS@ +OBJCLINK = @OBJCLINK@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PERL = @PERL@ +PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ +PIXMAN_LIBS = @PIXMAN_LIBS@ +PKG_CONFIG = @PKG_CONFIG@ +PLIST_VENDOR_WEB = @PLIST_VENDOR_WEB@ +PLIST_VERSION_STRING = @PLIST_VERSION_STRING@ +PROJECTROOT = @PROJECTROOT@ +PS2PDF = @PS2PDF@ +RANLIB = @RANLIB@ +RAWCPP = @RAWCPP@ +RAWCPPFLAGS = @RAWCPPFLAGS@ +RGB_DB = @RGB_DB@ +SERVERCONFIGdir = @SERVERCONFIGdir@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ +SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ +STRIP = @STRIP@ +SYS_LIBS = @SYS_LIBS@ +TSLIB_CFLAGS = @TSLIB_CFLAGS@ +TSLIB_LIBS = @TSLIB_LIBS@ +VENDOR_MAN_VERSION = @VENDOR_MAN_VERSION@ +VENDOR_NAME = @VENDOR_NAME@ +VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ +VENDOR_RELEASE = @VENDOR_RELEASE@ +VERSION = @VERSION@ +X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ +X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ +XDMCP_CFLAGS = @XDMCP_CFLAGS@ +XDMCP_LIBS = @XDMCP_LIBS@ +XDMXCONFIG_DEP_CFLAGS = @XDMXCONFIG_DEP_CFLAGS@ +XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@ +XDMX_LIBS = @XDMX_LIBS@ +XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ +XEGLMODULES_LIBS = @XEGLMODULES_LIBS@ +XEGL_LIBS = @XEGL_LIBS@ +XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ +XEPHYR_INCS = @XEPHYR_INCS@ +XEPHYR_LIBS = @XEPHYR_LIBS@ +XERRORDB_PATH = @XERRORDB_PATH@ +XF86CONFIGFILE = @XF86CONFIGFILE@ +XF86MISC_CFLAGS = @XF86MISC_CFLAGS@ +XF86MISC_LIBS = @XF86MISC_LIBS@ +XF86VIDMODE_CFLAGS = @XF86VIDMODE_CFLAGS@ +XF86VIDMODE_LIBS = @XF86VIDMODE_LIBS@ +XGLMODULES_CFLAGS = @XGLMODULES_CFLAGS@ +XGLMODULES_LIBS = @XGLMODULES_LIBS@ +XGLXMODULES_CFLAGS = @XGLXMODULES_CFLAGS@ +XGLXMODULES_LIBS = @XGLXMODULES_LIBS@ +XGLX_LIBS = @XGLX_LIBS@ +XGL_LIBS = @XGL_LIBS@ +XGL_MODULE_PATH = @XGL_MODULE_PATH@ +XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ +XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ +XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ +XKM_OUTPUT_DIR = @XKM_OUTPUT_DIR@ +XLIB_CFLAGS = @XLIB_CFLAGS@ +XLIB_LIBS = @XLIB_LIBS@ +XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ +XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ +XNEST_LIBS = @XNEST_LIBS@ +XORGCFG_DEP_CFLAGS = @XORGCFG_DEP_CFLAGS@ +XORGCFG_DEP_LIBS = @XORGCFG_DEP_LIBS@ +XORGCONFIG_DEP_CFLAGS = @XORGCONFIG_DEP_CFLAGS@ +XORGCONFIG_DEP_LIBS = @XORGCONFIG_DEP_LIBS@ +XORG_CFLAGS = @XORG_CFLAGS@ +XORG_CORE_LIBS = @XORG_CORE_LIBS@ +XORG_INCS = @XORG_INCS@ +XORG_LIBS = @XORG_LIBS@ +XORG_MODULES_CFLAGS = @XORG_MODULES_CFLAGS@ +XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ +XORG_OS = @XORG_OS@ +XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ +XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ +XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ +XPRINT_CFLAGS = @XPRINT_CFLAGS@ +XPRINT_LIBS = @XPRINT_LIBS@ +XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ +XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ +XSDL_INCS = @XSDL_INCS@ +XSDL_LIBS = @XSDL_LIBS@ +XSERVERCFLAGS_CFLAGS = @XSERVERCFLAGS_CFLAGS@ +XSERVERCFLAGS_LIBS = @XSERVERCFLAGS_LIBS@ +XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ +XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ +XSERVER_LIBS = @XSERVER_LIBS@ +XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ +XTSTEXAMPLES_DEP_LIBS = @XTSTEXAMPLES_DEP_LIBS@ +XVFB_LIBS = @XVFB_LIBS@ +XWINMODULES_CFLAGS = @XWINMODULES_CFLAGS@ +XWINMODULES_LIBS = @XWINMODULES_LIBS@ +XWIN_LIBS = @XWIN_LIBS@ +XWIN_SERVER_NAME = @XWIN_SERVER_NAME@ +XWIN_SYSTEM_LIBS = @XWIN_SYSTEM_LIBS@ +YACC = @YACC@ +YFLAGS = @YFLAGS@ +__XCONFIGFILE__ = @__XCONFIGFILE__@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +driverdir = @driverdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +extdir = @extdir@ +ft_config = @ft_config@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +logdir = @logdir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +moduledir = @moduledir@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sdkdir = @sdkdir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +xglmoduledir = @xglmoduledir@ +xpconfigdir = @xpconfigdir@ +BINDIR = ${bindir} +SED = sed +SUFFIXES = .pre .man .man.pre + +# Translate XCOMM into pound sign with sed, rather than passing -DXCOMM=XCOMM +# to cpp, because that trick does not work on all ANSI C preprocessors. +# Delete line numbers from the cpp output (-P is not portable, I guess). +# Allow XCOMM to be preceded by whitespace and provide a means of generating +# output lines with trailing backslashes. +# Allow XHASH to always be substituted, even in cases where XCOMM isn't. +CPP_SED_MAGIC = $(SED) -e '/^\# *[0-9][0-9]* *.*$$/d' \ + -e '/^\#line *[0-9][0-9]* *.*$$/d' \ + -e '/^[ ]*XCOMM$$/s/XCOMM/\#/' \ + -e '/^[ ]*XCOMM[^a-zA-Z0-9_]/s/XCOMM/\#/' \ + -e '/^[ ]*XHASH/s/XHASH/\#/' \ + -e '/\@\@$$/s/\@\@$$/\\/' + + +# Strings to replace in man pages +XORGRELSTRING = @PACKAGE_STRING@ +XORGMANNAME = X Version 11 +XSERVERNAME = Xorg +MANDEFS = \ + -D__vendorversion__="\"$(XORGRELSTRING)\" \"$(XORGMANNAME)\"" \ + -D__xorgversion__="\"$(XORGRELSTRING)\" \"$(XORGMANNAME)\"" \ + -D__appmansuffix__=$(APP_MAN_SUFFIX) \ + -D__filemansuffix__=$(FILE_MAN_SUFFIX) \ + -D__libmansuffix__=$(LIB_MAN_SUFFIX) \ + -D__miscmansuffix__=$(MISC_MAN_SUFFIX) \ + -D__drivermansuffix__=$(DRIVER_MAN_SUFFIX) \ + -D__adminmansuffix__=$(ADMIN_MAN_SUFFIX) \ + -D__mandir__=$(mandir) \ + -D__projectroot__=$(prefix) \ + -D__xconfigfile__=$(__XCONFIGFILE__) -D__xconfigdir__=$(XCONFIGDIR) \ + -D__xlogfile__=$(XLOGFILE) -D__xservername__=$(XSERVERNAME) + +XINITDIR = $(libdir)/X11/xinit +XDEFS = \ + -DX_VERSION="$(PLIST_VERSION_STRING)" \ + -DX_PRE_RELEASE="$(PRE)" \ + -DX_REL_DATE="$(XORG_DATE)" \ + -DX_VENDOR_NAME="$(VENDOR_STRING)" \ + -DX_VENDOR_LINK="$(PLIST_VENDOR_WEB)" + +resourcesdir = @APPLE_APPLICATIONS_DIR@/XDarwin.app/Contents/Resources +kolprojdir = $(resourcesdir)/ko.lproj +kolproj_DATA = \ + XDarwinHelp.html \ + InfoPlist.strings \ + Credits.rtf Localizable.strings + +kolprojnibdir = $(kolprojdir)/MainMenu.nib +kolprojnib_DATA = MainMenu.nib/classes.nib MainMenu.nib/objects.nib +CLEANFILES = XDarwinHelp.html InfoPlist.strings +EXTRA_DIST = \ + Credits.rtf Localizable.strings \ + Localizable.strings \ + MainMenu.nib/classes.nib \ + MainMenu.nib/objects.nib \ + XDarwinHelp.html.cpp + +all: all-am + +.SUFFIXES: +.SUFFIXES: .pre .man .man.pre +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/cpprules.in $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign hw/darwin/bundle/ko.lproj/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --foreign hw/darwin/bundle/ko.lproj/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-kolprojDATA: $(kolproj_DATA) + @$(NORMAL_INSTALL) + test -z "$(kolprojdir)" || $(MKDIR_P) "$(DESTDIR)$(kolprojdir)" + @list='$(kolproj_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(kolprojDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(kolprojdir)/$$f'"; \ + $(kolprojDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(kolprojdir)/$$f"; \ + done + +uninstall-kolprojDATA: + @$(NORMAL_UNINSTALL) + @list='$(kolproj_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(kolprojdir)/$$f'"; \ + rm -f "$(DESTDIR)$(kolprojdir)/$$f"; \ + done +install-kolprojnibDATA: $(kolprojnib_DATA) + @$(NORMAL_INSTALL) + test -z "$(kolprojnibdir)" || $(MKDIR_P) "$(DESTDIR)$(kolprojnibdir)" + @list='$(kolprojnib_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(kolprojnibDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(kolprojnibdir)/$$f'"; \ + $(kolprojnibDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(kolprojnibdir)/$$f"; \ + done + +uninstall-kolprojnibDATA: + @$(NORMAL_UNINSTALL) + @list='$(kolprojnib_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(kolprojnibdir)/$$f'"; \ + rm -f "$(DESTDIR)$(kolprojnibdir)/$$f"; \ + done +tags: TAGS +TAGS: + +ctags: CTAGS +CTAGS: + + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(DATA) +installdirs: + for dir in "$(DESTDIR)$(kolprojdir)" "$(DESTDIR)$(kolprojnibdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-kolprojDATA install-kolprojnibDATA + +install-dvi: install-dvi-am + +install-exec-am: + +install-html: install-html-am + +install-info: install-info-am + +install-man: + +install-pdf: install-pdf-am + +install-ps: install-ps-am + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-kolprojDATA uninstall-kolprojnibDATA + +.MAKE: install-am install-strip + +.PHONY: all all-am check check-am clean clean-generic clean-libtool \ + distclean distclean-generic distclean-libtool distdir dvi \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-dvi install-dvi-am \ + install-exec install-exec-am install-html install-html-am \ + install-info install-info-am install-kolprojDATA \ + install-kolprojnibDATA install-man install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \ + uninstall-kolprojDATA uninstall-kolprojnibDATA + + +.pre: + $(RAWCPP) $(RAWCPPFLAGS) $(CPP_FILES_FLAGS) < $< | $(CPP_SED_MAGIC) > $@ + +.man.pre.man: + $(RAWCPP) $(RAWCPPFLAGS) $(MANDEFS) $(EXTRAMANDEFS) < $< | $(CPP_SED_MAGIC) > $@ + +InfoPlist.strings: $(srcdir)/../English.lproj/InfoPlist.strings.cpp + $(RAWCPP) $(RAWCPPFLAGS) $(XDEFS) $(CPP_FILES_FLAGS) $< | $(CPP_SED_MAGIC) | $(SED) -e's/__quote__/"/g' > $@ + +XDarwinHelp.html: XDarwinHelp.html.cpp + $(RAWCPP) $(RAWCPPFLAGS) $(XDEFS) $(CPP_FILES_FLAGS) $< | $(CPP_SED_MAGIC) > $@ +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/xserver/hw/darwin/darwin.c b/xserver/hw/darwin/darwin.c index bd9998976..7da8626ab 100644 --- a/xserver/hw/darwin/darwin.c +++ b/xserver/hw/darwin/darwin.c @@ -30,6 +30,10 @@ * use or other dealings in this Software without prior written authorization. */ +#ifdef HAVE_XORG_CONFIG_H +#include +#endif + #include #include #include "os.h" @@ -200,6 +204,12 @@ DarwinPrintBanner() } +void DDXRingBell(int volume, int pitch, int duration) +{ + // FIXME -- make some noise, yo +} + + /* * DarwinSaveScreen * X screensaver support. Not implemented. @@ -409,9 +419,9 @@ static int DarwinMouseProc( InitPointerDeviceStruct( (DevicePtr)pPointer, map, 5, // numbuttons (4 & 5 are scroll wheel) - miPointerGetMotionEvents, + GetMotionHistory, DarwinChangePointerControl, - 0 ); + GetMotionHistorySize(), 2 ); #ifdef XINPUT InitValuatorAxisStruct( pPointer, 0, // X axis diff --git a/xserver/hw/darwin/darwin.h b/xserver/hw/darwin/darwin.h index cd572258c..fc4a58a95 100644 --- a/xserver/hw/darwin/darwin.h +++ b/xserver/hw/darwin/darwin.h @@ -31,6 +31,7 @@ #include "inputstr.h" #include "scrnintstr.h" #include +#include typedef struct { void *framebuffer; @@ -57,6 +58,10 @@ Bool DarwinEQInit(DevicePtr pKbd, DevicePtr pPtr); void DarwinEQEnqueue(const xEvent *e); void DarwinEQPointerPost(xEvent *e); void DarwinEQSwitchScreen(ScreenPtr pScreen, Bool fromDIX); +void DarwinPokeEQ(void); +void DarwinSendPointerEvents(int ev_type, int ev_button, int pointer_x, int pointer_y); +void DarwinSendKeyboardEvents(int ev_type, int keycode); +void DarwinSendScrollEvents(float count, int pointer_x, int pointer_y); // From darwinKeyboard.c int DarwinModifierNXKeyToNXKeycode(int key, int side); diff --git a/xserver/hw/darwin/darwinEvents.c b/xserver/hw/darwin/darwinEvents.c index 6b902df05..3d7f268ca 100644 --- a/xserver/hw/darwin/darwinEvents.c +++ b/xserver/hw/darwin/darwinEvents.c @@ -1,9 +1,9 @@ /* - * Darwin event queue and event handling - */ -/* -Copyright (c) 2002-2004 Torrey T. Lyons. All Rights Reserved. +Darwin event queue and event handling + +Copyright 2007 Apple Inc. Copyright 2004 Kaleb S. KEITHLEY. All Rights Reserved. +Copyright (c) 2002-2004 Torrey T. Lyons. All Rights Reserved. This file is based on mieq.c by Keith Packard, which contains the following copyright: @@ -61,6 +61,10 @@ typedef struct _Event { ScreenPtr pScreen; } EventRec, *EventPtr; +int input_check_zero, input_check_flag; + +static int old_flags = 0; // last known modifier state + typedef struct _EventQueue { HWEventQueueType head, tail; /* long for SetInputCheck */ CARD32 lastEventTime; /* to avoid time running backwards */ @@ -72,25 +76,22 @@ typedef struct _EventQueue { } EventQueueRec, *EventQueuePtr; static EventQueueRec darwinEventQueue; - +xEvent *darwinEvents; /* * DarwinPressModifierMask * Press or release the given modifier key, specified by its mask. */ static void DarwinPressModifierMask( - xEvent *xe, // must already have type, time and mouse location + int pressed, int mask) // one of NX_*MASK constants { int key = DarwinModifierNXMaskToNXKey(mask); if (key != -1) { int keycode = DarwinModifierNXKeyToNXKeycode(key, 0); - if (keycode != 0) { - xe->u.u.detail = keycode + MIN_KEYCODE; - (*darwinEventQueue.pKbd->processInputProc)(xe, - (DeviceIntPtr)darwinEventQueue.pKbd, 1); - } + if (keycode != 0) + DarwinSendKeyboardEvents(pressed, keycode); } } @@ -123,28 +124,26 @@ static void DarwinPressModifierMask( * Send events to update the modifier state. */ static void DarwinUpdateModifiers( - xEvent *xe, // event template with time and mouse position set int pressed, // KeyPress or KeyRelease int flags ) // modifier flags that have changed { - xe->u.u.type = pressed; if (flags & NX_ALPHASHIFTMASK) { - DarwinPressModifierMask(xe, NX_ALPHASHIFTMASK); + DarwinPressModifierMask(pressed, NX_ALPHASHIFTMASK); } if (flags & NX_COMMANDMASK) { - DarwinPressModifierMask(xe, COMMAND_MASK(flags)); + DarwinPressModifierMask(pressed, COMMAND_MASK(flags)); } if (flags & NX_CONTROLMASK) { - DarwinPressModifierMask(xe, CONTROL_MASK(flags)); + DarwinPressModifierMask(pressed, CONTROL_MASK(flags)); } if (flags & NX_ALTERNATEMASK) { - DarwinPressModifierMask(xe, ALTERNATE_MASK(flags)); + DarwinPressModifierMask(pressed, ALTERNATE_MASK(flags)); } if (flags & NX_SHIFTMASK) { - DarwinPressModifierMask(xe, SHIFT_MASK(flags)); + DarwinPressModifierMask(pressed, SHIFT_MASK(flags)); } if (flags & NX_SECONDARYFNMASK) { - DarwinPressModifierMask(xe, NX_SECONDARYFNMASK); + DarwinPressModifierMask(pressed, NX_SECONDARYFNMASK); } } @@ -161,34 +160,33 @@ static void DarwinUpdateModifiers( * simulate a button 2 press instead of Command-button 2. */ static void DarwinSimulateMouseClick( - xEvent *xe, // event template with time and - // mouse position filled in + int pointer_x, + int pointer_y, int whichButton, // mouse button to be pressed int modifierMask) // modifiers used for the fake click { // first fool X into forgetting about the keys - DarwinUpdateModifiers(xe, KeyRelease, modifierMask); + DarwinUpdateModifiers(KeyRelease, modifierMask); // push the mouse button - xe->u.u.type = ButtonPress; - xe->u.u.detail = whichButton; - (*darwinEventQueue.pPtr->processInputProc) - (xe, (DeviceIntPtr)darwinEventQueue.pPtr, 1); + DarwinSendPointerEvents(ButtonPress, whichButton, pointer_x, pointer_y); + DarwinSendPointerEvents(ButtonRelease, whichButton, pointer_x, pointer_y); + + // restore old modifiers + DarwinUpdateModifiers(KeyPress, modifierMask); } -Bool -DarwinEQInit( - DevicePtr pKbd, - DevicePtr pPtr) -{ +Bool DarwinEQInit(DevicePtr pKbd, DevicePtr pPtr) { + darwinEvents = (xEvent *)malloc(sizeof(xEvent) * GetMaximumEventsNum()); + mieqInit(); darwinEventQueue.head = darwinEventQueue.tail = 0; darwinEventQueue.lastEventTime = GetTimeInMillis (); darwinEventQueue.pKbd = pKbd; darwinEventQueue.pPtr = pPtr; darwinEventQueue.pEnqueueScreen = screenInfo.screens[0]; darwinEventQueue.pDequeueScreen = darwinEventQueue.pEnqueueScreen; - SetInputCheck (&darwinEventQueue.head, &darwinEventQueue.tail); + SetInputCheck(&input_check_zero, &input_check_flag); return TRUE; } @@ -199,11 +197,10 @@ DarwinEQInit( * DarwinEQEnqueue - called from event gathering thread * ProcessInputEvents - called from X server thread * DarwinEQEnqueue should never be called from more than one thread. + * + * This should be deprecated in favor of miEQEnqueue -- BB */ -void -DarwinEQEnqueue( - const xEvent *e) -{ +void DarwinEQEnqueue(const xEvent *e) { HWEventQueueType oldtail, newtail; char byte = 0; @@ -213,13 +210,12 @@ DarwinEQEnqueue( // This is difficult to do in a thread-safe way and rarely useful. newtail = oldtail + 1; - if (newtail == QUEUE_SIZE) - newtail = 0; + if (newtail == QUEUE_SIZE) newtail = 0; /* Toss events which come in late */ - if (newtail == darwinEventQueue.head) - return; + if (newtail == darwinEventQueue.head) return; darwinEventQueue.events[oldtail].event = *e; + /* * Make sure that event times don't go backwards - this * is "unnecessary", but very useful @@ -236,7 +232,7 @@ DarwinEQEnqueue( darwinEventQueue.tail = newtail; // Signal there is an event ready to handle - write(darwinEventWriteFD, &byte, 1); + DarwinPokeEQ(); } @@ -244,20 +240,13 @@ DarwinEQEnqueue( * DarwinEQPointerPost * Post a pointer event. Used by the mipointer.c routines. */ -void -DarwinEQPointerPost( - xEvent *e) -{ +void DarwinEQPointerPost(xEvent *e) { (*darwinEventQueue.pPtr->processInputProc) (e, (DeviceIntPtr)darwinEventQueue.pPtr, 1); } -void -DarwinEQSwitchScreen( - ScreenPtr pScreen, - Bool fromDIX) -{ +void DarwinEQSwitchScreen(ScreenPtr pScreen, Bool fromDIX) { darwinEventQueue.pEnqueueScreen = pScreen; if (fromDIX) darwinEventQueue.pDequeueScreen = pScreen; @@ -268,21 +257,21 @@ DarwinEQSwitchScreen( * ProcessInputEvents * Read and process events from the event queue until it is empty. */ -void ProcessInputEvents(void) -{ +void ProcessInputEvents(void) { EventRec *e; int x, y; xEvent xe; static int old_flags = 0; // last known modifier state // button number and modifier mask of currently pressed fake button - static int darwinFakeMouseButtonDown = 0; - static int darwinFakeMouseButtonMask = 0; + input_check_flag=0; + + // ErrorF("calling mieqProcessInputEvents\n"); + mieqProcessInputEvents(); // Empty the signaling pipe x = sizeof(xe); - while (x == sizeof(xe)) { + while (x == sizeof(xe)) x = read(darwinEventReadFD, &xe, sizeof(xe)); - } while (darwinEventQueue.head != darwinEventQueue.tail) { @@ -298,10 +287,16 @@ void ProcessInputEvents(void) dixScreenOrigins[miPointerCurrentScreen()->myNum].x; xe.u.keyButtonPointer.rootY -= darwinMainScreenY + dixScreenOrigins[miPointerCurrentScreen()->myNum].y; + + /* ErrorF("old rootX = (%d,%d) darwinMainScreen = (%d,%d) dixScreenOrigins[%d]=(%d,%d)\n", + xe.u.keyButtonPointer.rootX, xe.u.keyButtonPointer.rootY, + darwinMainScreenX, darwinMainScreenY, + miPointerCurrentScreen()->myNum, + dixScreenOrigins[miPointerCurrentScreen()->myNum].x, + dixScreenOrigins[miPointerCurrentScreen()->myNum].y); */ + + //Assumption - screen switching can only occur on motion events - /* - * Assumption - screen switching can only occur on motion events - */ if (e->pScreen != darwinEventQueue.pDequeueScreen) { darwinEventQueue.pDequeueScreen = e->pScreen; @@ -319,155 +314,35 @@ void ProcessInputEvents(void) darwinEventQueue.head = 0; else ++darwinEventQueue.head; - switch (xe.u.u.type) - { + switch (xe.u.u.type) { case KeyPress: - if (old_flags == 0 - && darwinSyncKeymap && darwinKeymapFile == NULL) - { - /* See if keymap has changed. */ - - static unsigned int last_seed; - unsigned int this_seed; - - this_seed = DarwinModeSystemKeymapSeed(); - if (this_seed != last_seed) - { - last_seed = this_seed; - DarwinKeyboardReload(darwinKeyboard); - } - } - /* fall through */ - case KeyRelease: - xe.u.u.detail += MIN_KEYCODE; - (*darwinEventQueue.pKbd->processInputProc) - (&xe, (DeviceIntPtr)darwinEventQueue.pKbd, 1); - break; + ErrorF("Unexpected Keyboard event in DarwinProcessInputEvents\n"); + break; case ButtonPress: - miPointerAbsoluteCursor(xe.u.keyButtonPointer.rootX, - xe.u.keyButtonPointer.rootY, - xe.u.keyButtonPointer.time); - if (darwinFakeButtons && xe.u.u.detail == 1) { - // Mimic multi-button mouse with modifier-clicks - // If both sets of modifiers are pressed, - // button 2 is clicked. - if ((old_flags & darwinFakeMouse2Mask) == - darwinFakeMouse2Mask) - { - DarwinSimulateMouseClick(&xe, 2, darwinFakeMouse2Mask); - darwinFakeMouseButtonDown = 2; - darwinFakeMouseButtonMask = darwinFakeMouse2Mask; - break; - } - else if ((old_flags & darwinFakeMouse3Mask) == - darwinFakeMouse3Mask) - { - DarwinSimulateMouseClick(&xe, 3, darwinFakeMouse3Mask); - darwinFakeMouseButtonDown = 3; - darwinFakeMouseButtonMask = darwinFakeMouse3Mask; - break; - } - } - (*darwinEventQueue.pPtr->processInputProc) - (&xe, (DeviceIntPtr)darwinEventQueue.pPtr, 1); + ErrorF("Unexpected ButtonPress event in DarwinProcessInputEvents\n"); break; case ButtonRelease: - miPointerAbsoluteCursor(xe.u.keyButtonPointer.rootX, - xe.u.keyButtonPointer.rootY, - xe.u.keyButtonPointer.time); - if (darwinFakeButtons && xe.u.u.detail == 1 && - darwinFakeMouseButtonDown) - { - // If last mousedown was a fake click, don't check for - // mouse modifiers here. The user may have released the - // modifiers before the mouse button. - xe.u.u.detail = darwinFakeMouseButtonDown; - darwinFakeMouseButtonDown = 0; - (*darwinEventQueue.pPtr->processInputProc) - (&xe, (DeviceIntPtr)darwinEventQueue.pPtr, 1); - - // Bring modifiers back up to date - DarwinUpdateModifiers(&xe, KeyPress, - darwinFakeMouseButtonMask & old_flags); - darwinFakeMouseButtonMask = 0; - } else { - (*darwinEventQueue.pPtr->processInputProc) - (&xe, (DeviceIntPtr)darwinEventQueue.pPtr, 1); - } + ErrorF("Unexpected ButtonRelease event in DarwinProcessInputEvents\n"); break; case MotionNotify: - miPointerAbsoluteCursor(xe.u.keyButtonPointer.rootX, - xe.u.keyButtonPointer.rootY, - xe.u.keyButtonPointer.time); + ErrorF("Unexpected ButtonRelease event in DarwinProcessInputEvents\n"); break; case kXDarwinUpdateModifiers: - { - // Update modifier state. - // Any amount of modifiers may have changed. - int flags = xe.u.clientMessage.u.l.longs0; - DarwinUpdateModifiers(&xe, KeyRelease, - old_flags & ~flags); - DarwinUpdateModifiers(&xe, KeyPress, - ~old_flags & flags); - old_flags = flags; - break; - } + ErrorF("Unexpected ButtonRelease event in DarwinProcessInputEvents\n"); + break; case kXDarwinUpdateButtons: - { - long hwDelta = xe.u.clientMessage.u.l.longs0; - long hwButtons = xe.u.clientMessage.u.l.longs1; - int i; + ErrorF("Unexpected XDarwinScrollWheel event in DarwinProcessInputEvents\n"); + break; - for (i = 1; i < 5; i++) { - if (hwDelta & (1 << i)) { - // IOKit and X have different numbering for the - // middle and right mouse buttons. - if (i == 1) { - xe.u.u.detail = 3; - } else if (i == 2) { - xe.u.u.detail = 2; - } else { - xe.u.u.detail = i + 1; - } - if (hwButtons & (1 << i)) { - xe.u.u.type = ButtonPress; - } else { - xe.u.u.type = ButtonRelease; - } - (*darwinEventQueue.pPtr->processInputProc) - (&xe, (DeviceIntPtr)darwinEventQueue.pPtr, 1); - } - } - break; - } - - case kXDarwinScrollWheel: - { - short count = xe.u.clientMessage.u.s.shorts0; - - if (count > 0) { - xe.u.u.detail = SCROLLWHEELUPFAKE; - } else { - xe.u.u.detail = SCROLLWHEELDOWNFAKE; - count = -count; - } - - for (; count; --count) { - xe.u.u.type = ButtonPress; - (*darwinEventQueue.pPtr->processInputProc) - (&xe, (DeviceIntPtr)darwinEventQueue.pPtr, 1); - xe.u.u.type = ButtonRelease; - (*darwinEventQueue.pPtr->processInputProc) - (&xe, (DeviceIntPtr)darwinEventQueue.pPtr, 1); - } - break; - } + case kXDarwinScrollWheel: + ErrorF("Unexpected XDarwinScrollWheel event in DarwinProcessInputEvents\n"); + break; default: // Check for mode specific event @@ -476,5 +351,96 @@ void ProcessInputEvents(void) } } - miPointerUpdate(); + // miPointerUpdate(); +} + +/* Sends a null byte down darwinEventWriteFD, which will cause the + Dispatch() event loop to check out event queue */ +void DarwinPokeEQ(void) { + char nullbyte=0; + input_check_flag++; + // bushing: oh, i ... er ... christ. + write(darwinEventWriteFD, &nullbyte, 1); +} + +void DarwinSendPointerEvents(int ev_type, int ev_button, int pointer_x, int pointer_y) { + static int darwinFakeMouseButtonDown = 0; + static int darwinFakeMouseButtonMask = 0; + int i, num_events; + int valuators[2] = {pointer_x, pointer_y}; + if (ev_type == ButtonPress && darwinFakeButtons && ev_button == 1) { + // Mimic multi-button mouse with modifier-clicks + // If both sets of modifiers are pressed, + // button 2 is clicked. + if ((old_flags & darwinFakeMouse2Mask) == darwinFakeMouse2Mask) { + DarwinSimulateMouseClick(pointer_x, pointer_y, 2, darwinFakeMouse2Mask); + darwinFakeMouseButtonDown = 2; + darwinFakeMouseButtonMask = darwinFakeMouse2Mask; + } else if ((old_flags & darwinFakeMouse3Mask) == darwinFakeMouse3Mask) { + DarwinSimulateMouseClick(pointer_x, pointer_y, 3, darwinFakeMouse3Mask); + darwinFakeMouseButtonDown = 3; + darwinFakeMouseButtonMask = darwinFakeMouse3Mask; + } + } + if (ev_type == ButtonRelease && darwinFakeButtons && darwinFakeMouseButtonDown) { + // If last mousedown was a fake click, don't check for + // mouse modifiers here. The user may have released the + // modifiers before the mouse button. + ev_button = darwinFakeMouseButtonDown; + darwinFakeMouseButtonDown = 0; + // Bring modifiers back up to date + DarwinUpdateModifiers(KeyPress, darwinFakeMouseButtonMask & old_flags); + darwinFakeMouseButtonMask = 0; + } + + num_events = GetPointerEvents(darwinEvents, darwinPointer, ev_type, ev_button, + POINTER_ABSOLUTE, 0, 2, valuators); + + for(i=0; i 0.0f ? 4 : 5; + int valuators[2] = {pointer_x, pointer_y}; + + for (count = fabs(count); count > 0.0; count = count - 1.0f) { + int num_events = GetPointerEvents(darwinEvents, darwinPointer, ButtonPress, ev_button, + POINTER_ABSOLUTE, 0, 2, valuators); + for(i=0; i // For the NXSwap* #include "darwin.h" #include "darwinKeyboard.h" - +#include #define AltMask Mod1Mask #define MetaMask Mod2Mask #define FunctionMask Mod3Mask @@ -1020,7 +1020,7 @@ int DarwinModifierStringToNXKey(const char *str) * This allows the ddx layer to prevent some keys from being remapped * as modifier keys. */ -Bool LegalModifier(unsigned int key, DevicePtr pDev) +Bool LegalModifier(unsigned int key, DeviceIntPtr pDev) { return 1; } diff --git a/xserver/hw/darwin/darwinKeyboard.h b/xserver/hw/darwin/darwinKeyboard.h index f4a861186..368aee954 100644 --- a/xserver/hw/darwin/darwinKeyboard.h +++ b/xserver/hw/darwin/darwinKeyboard.h @@ -29,7 +29,7 @@ #define XK_TECHNICAL // needed to get XK_Escape #define XK_PUBLISHING -#include "keysym.h" +#include "X11/keysym.h" #include "inputstr.h" // Each key can generate 4 glyphs. They are, in order: diff --git a/xserver/hw/darwin/iokit/Makefile.am b/xserver/hw/darwin/iokit/Makefile.am new file mode 100644 index 000000000..54464aec9 --- /dev/null +++ b/xserver/hw/darwin/iokit/Makefile.am @@ -0,0 +1,17 @@ +noinst_LIBRARIES = libiokit.a + +AM_CFLAGS = @XORG_CFLAGS@ @DIX_CFLAGS@ +INCLUDES = -I. -I.. -I$(srcdir) -I$(srcdir)/.. @XORG_INCS@ +AM_DEFS = +if XQUARTZ +AM_DEFS += -DDARWIN_WITH_QUARTZ -DXFree86Server +XQUARTZ_SUBDIRS = bundle quartz +endif +DEFS = @DEFS@ $(AM_DEFS) + +libiokit_a_SOURCES = xfIOKit.c \ + xfIOKitCursor.c \ + xfIOKitStartup.c + +EXTRA_DIST = \ + xfIOKit.h diff --git a/xserver/hw/darwin/iokit/Makefile.in b/xserver/hw/darwin/iokit/Makefile.in new file mode 100644 index 000000000..e043922e1 --- /dev/null +++ b/xserver/hw/darwin/iokit/Makefile.in @@ -0,0 +1,630 @@ +# Makefile.in generated by automake 1.10 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +@XQUARTZ_TRUE@am__append_1 = -DDARWIN_WITH_QUARTZ -DXFree86Server +subdir = hw/darwin/iokit +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/include/do-not-use-config.h \ + $(top_builddir)/include/xorg-server.h \ + $(top_builddir)/include/dix-config.h \ + $(top_builddir)/include/xgl-config.h \ + $(top_builddir)/include/xorg-config.h \ + $(top_builddir)/include/xkb-config.h \ + $(top_builddir)/include/xwin-config.h \ + $(top_builddir)/include/kdrive-config.h +CONFIG_CLEAN_FILES = +LIBRARIES = $(noinst_LIBRARIES) +ARFLAGS = cru +libiokit_a_AR = $(AR) $(ARFLAGS) +libiokit_a_LIBADD = +am_libiokit_a_OBJECTS = xfIOKit.$(OBJEXT) xfIOKitCursor.$(OBJEXT) \ + xfIOKitStartup.$(OBJEXT) +libiokit_a_OBJECTS = $(am_libiokit_a_OBJECTS) +DEFAULT_INCLUDES = -I. -I$(top_builddir)/include@am__isrc@ +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ +SOURCES = $(libiokit_a_SOURCES) +DIST_SOURCES = $(libiokit_a_SOURCES) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ +ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ +ALLOCA = @ALLOCA@ +AMTAR = @AMTAR@ +APPDEFAULTDIR = @APPDEFAULTDIR@ +APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +APP_MAN_DIR = @APP_MAN_DIR@ +APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ +AR = @AR@ +AS = @AS@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +BASE_FONT_PATH = @BASE_FONT_PATH@ +BUILD_DATE = @BUILD_DATE@ +BUILD_TIME = @BUILD_TIME@ +CC = @CC@ +CCAS = @CCAS@ +CCASDEPMODE = @CCASDEPMODE@ +CCASFLAGS = @CCASFLAGS@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +COMPILEDDEFAULTFONTPATH = @COMPILEDDEFAULTFONTPATH@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DARWIN_LIBS = @DARWIN_LIBS@ +DBUS_CFLAGS = @DBUS_CFLAGS@ +DBUS_LIBS = @DBUS_LIBS@ +DEFAULT_LIBRARY_PATH = @DEFAULT_LIBRARY_PATH@ +DEFAULT_LOGPREFIX = @DEFAULT_LOGPREFIX@ +DEFAULT_MODULE_PATH = @DEFAULT_MODULE_PATH@ +DEFS = @DEFS@ $(AM_DEFS) +DEPDIR = @DEPDIR@ +DGA_CFLAGS = @DGA_CFLAGS@ +DGA_LIBS = @DGA_LIBS@ +DIX_CFLAGS = @DIX_CFLAGS@ +DLLTOOL = @DLLTOOL@ +DMXEXAMPLES_DEP_CFLAGS = @DMXEXAMPLES_DEP_CFLAGS@ +DMXEXAMPLES_DEP_LIBS = @DMXEXAMPLES_DEP_LIBS@ +DMXMODULES_CFLAGS = @DMXMODULES_CFLAGS@ +DMXMODULES_LIBS = @DMXMODULES_LIBS@ +DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ +DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ +DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ +DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ +DRIPROTO_LIBS = @DRIPROTO_LIBS@ +DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ +DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ +DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ +DTRACE = @DTRACE@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +FILE_MAN_DIR = @FILE_MAN_DIR@ +FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ +FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ +FREETYPE_LIBS = @FREETYPE_LIBS@ +FREETYPE_REQUIRES = @FREETYPE_REQUIRES@ +GLX_DEFINES = @GLX_DEFINES@ +GL_CFLAGS = @GL_CFLAGS@ +GL_LIBS = @GL_LIBS@ +GREP = @GREP@ +HAL_CFLAGS = @HAL_CFLAGS@ +HAL_LIBS = @HAL_LIBS@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +KDRIVE_CFLAGS = @KDRIVE_CFLAGS@ +KDRIVE_INCS = @KDRIVE_INCS@ +KDRIVE_LIBS = @KDRIVE_LIBS@ +KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ +KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ +KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ +LDFLAGS = @LDFLAGS@ +LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ +LEX = @LEX@ +LEXLIB = @LEXLIB@ +LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ +LIBDRM_CFLAGS = @LIBDRM_CFLAGS@ +LIBDRM_LIBS = @LIBDRM_LIBS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIB_MAN_DIR = @LIB_MAN_DIR@ +LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ +LINUXDOC = @LINUXDOC@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAKEINFO = @MAKEINFO@ +MAKE_HTML = @MAKE_HTML@ +MAKE_PDF = @MAKE_PDF@ +MAKE_PS = @MAKE_PS@ +MAKE_TEXT = @MAKE_TEXT@ +MESA_SOURCE = @MESA_SOURCE@ +MISC_MAN_DIR = @MISC_MAN_DIR@ +MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ +MKDIR_P = @MKDIR_P@ +MKFONTDIR = @MKFONTDIR@ +MKFONTSCALE = @MKFONTSCALE@ +OBJC = @OBJC@ +OBJCCLD = @OBJCCLD@ +OBJCDEPMODE = @OBJCDEPMODE@ +OBJCFLAGS = @OBJCFLAGS@ +OBJCLINK = @OBJCLINK@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PERL = @PERL@ +PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ +PIXMAN_LIBS = @PIXMAN_LIBS@ +PKG_CONFIG = @PKG_CONFIG@ +PLIST_VENDOR_WEB = @PLIST_VENDOR_WEB@ +PLIST_VERSION_STRING = @PLIST_VERSION_STRING@ +PROJECTROOT = @PROJECTROOT@ +PS2PDF = @PS2PDF@ +RANLIB = @RANLIB@ +RAWCPP = @RAWCPP@ +RAWCPPFLAGS = @RAWCPPFLAGS@ +RGB_DB = @RGB_DB@ +SERVERCONFIGdir = @SERVERCONFIGdir@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ +SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ +STRIP = @STRIP@ +SYS_LIBS = @SYS_LIBS@ +TSLIB_CFLAGS = @TSLIB_CFLAGS@ +TSLIB_LIBS = @TSLIB_LIBS@ +VENDOR_MAN_VERSION = @VENDOR_MAN_VERSION@ +VENDOR_NAME = @VENDOR_NAME@ +VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ +VENDOR_RELEASE = @VENDOR_RELEASE@ +VERSION = @VERSION@ +X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ +X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ +XDMCP_CFLAGS = @XDMCP_CFLAGS@ +XDMCP_LIBS = @XDMCP_LIBS@ +XDMXCONFIG_DEP_CFLAGS = @XDMXCONFIG_DEP_CFLAGS@ +XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@ +XDMX_LIBS = @XDMX_LIBS@ +XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ +XEGLMODULES_LIBS = @XEGLMODULES_LIBS@ +XEGL_LIBS = @XEGL_LIBS@ +XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ +XEPHYR_INCS = @XEPHYR_INCS@ +XEPHYR_LIBS = @XEPHYR_LIBS@ +XERRORDB_PATH = @XERRORDB_PATH@ +XF86CONFIGFILE = @XF86CONFIGFILE@ +XF86MISC_CFLAGS = @XF86MISC_CFLAGS@ +XF86MISC_LIBS = @XF86MISC_LIBS@ +XF86VIDMODE_CFLAGS = @XF86VIDMODE_CFLAGS@ +XF86VIDMODE_LIBS = @XF86VIDMODE_LIBS@ +XGLMODULES_CFLAGS = @XGLMODULES_CFLAGS@ +XGLMODULES_LIBS = @XGLMODULES_LIBS@ +XGLXMODULES_CFLAGS = @XGLXMODULES_CFLAGS@ +XGLXMODULES_LIBS = @XGLXMODULES_LIBS@ +XGLX_LIBS = @XGLX_LIBS@ +XGL_LIBS = @XGL_LIBS@ +XGL_MODULE_PATH = @XGL_MODULE_PATH@ +XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ +XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ +XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ +XKM_OUTPUT_DIR = @XKM_OUTPUT_DIR@ +XLIB_CFLAGS = @XLIB_CFLAGS@ +XLIB_LIBS = @XLIB_LIBS@ +XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ +XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ +XNEST_LIBS = @XNEST_LIBS@ +XORGCFG_DEP_CFLAGS = @XORGCFG_DEP_CFLAGS@ +XORGCFG_DEP_LIBS = @XORGCFG_DEP_LIBS@ +XORGCONFIG_DEP_CFLAGS = @XORGCONFIG_DEP_CFLAGS@ +XORGCONFIG_DEP_LIBS = @XORGCONFIG_DEP_LIBS@ +XORG_CFLAGS = @XORG_CFLAGS@ +XORG_CORE_LIBS = @XORG_CORE_LIBS@ +XORG_INCS = @XORG_INCS@ +XORG_LIBS = @XORG_LIBS@ +XORG_MODULES_CFLAGS = @XORG_MODULES_CFLAGS@ +XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ +XORG_OS = @XORG_OS@ +XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ +XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ +XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ +XPRINT_CFLAGS = @XPRINT_CFLAGS@ +XPRINT_LIBS = @XPRINT_LIBS@ +XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ +XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ +XSDL_INCS = @XSDL_INCS@ +XSDL_LIBS = @XSDL_LIBS@ +XSERVERCFLAGS_CFLAGS = @XSERVERCFLAGS_CFLAGS@ +XSERVERCFLAGS_LIBS = @XSERVERCFLAGS_LIBS@ +XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ +XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ +XSERVER_LIBS = @XSERVER_LIBS@ +XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ +XTSTEXAMPLES_DEP_LIBS = @XTSTEXAMPLES_DEP_LIBS@ +XVFB_LIBS = @XVFB_LIBS@ +XWINMODULES_CFLAGS = @XWINMODULES_CFLAGS@ +XWINMODULES_LIBS = @XWINMODULES_LIBS@ +XWIN_LIBS = @XWIN_LIBS@ +XWIN_SERVER_NAME = @XWIN_SERVER_NAME@ +XWIN_SYSTEM_LIBS = @XWIN_SYSTEM_LIBS@ +YACC = @YACC@ +YFLAGS = @YFLAGS@ +__XCONFIGFILE__ = @__XCONFIGFILE__@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +driverdir = @driverdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +extdir = @extdir@ +ft_config = @ft_config@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +logdir = @logdir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +moduledir = @moduledir@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sdkdir = @sdkdir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +xglmoduledir = @xglmoduledir@ +xpconfigdir = @xpconfigdir@ +noinst_LIBRARIES = libiokit.a +AM_CFLAGS = @XORG_CFLAGS@ @DIX_CFLAGS@ +INCLUDES = -I. -I.. -I$(srcdir) -I$(srcdir)/.. @XORG_INCS@ +AM_DEFS = $(am__append_1) +@XQUARTZ_TRUE@XQUARTZ_SUBDIRS = bundle quartz +libiokit_a_SOURCES = xfIOKit.c \ + xfIOKitCursor.c \ + xfIOKitStartup.c + +EXTRA_DIST = \ + xfIOKit.h + +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign hw/darwin/iokit/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --foreign hw/darwin/iokit/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +clean-noinstLIBRARIES: + -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) +libiokit.a: $(libiokit_a_OBJECTS) $(libiokit_a_DEPENDENCIES) + -rm -f libiokit.a + $(libiokit_a_AR) libiokit.a $(libiokit_a_OBJECTS) $(libiokit_a_LIBADD) + $(RANLIB) libiokit.a + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xfIOKit.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xfIOKitCursor.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xfIOKitStartup.Po@am__quote@ + +.c.o: +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c $< + +.c.obj: +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` + +.c.lo: +@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(LIBRARIES) +installdirs: +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool clean-noinstLIBRARIES \ + mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: + +install-dvi: install-dvi-am + +install-exec-am: + +install-html: install-html-am + +install-info: install-info-am + +install-man: + +install-pdf: install-pdf-am + +install-ps: install-ps-am + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libtool clean-noinstLIBRARIES ctags distclean \ + distclean-compile distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ + pdf pdf-am ps ps-am tags uninstall uninstall-am + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/xserver/hw/darwin/iokit/xfIOKit.c b/xserver/hw/darwin/iokit/xfIOKit.c index 95a7fb32c..c7ebd1c18 100644 --- a/xserver/hw/darwin/iokit/xfIOKit.c +++ b/xserver/hw/darwin/iokit/xfIOKit.c @@ -34,6 +34,10 @@ * use or other dealings in this Software without prior written authorization. */ +#if HAVE_XORG_CONFIG_H +#include +#endif + #include #include #include "os.h" @@ -51,6 +55,7 @@ #include #include #include +#include #include diff --git a/xserver/hw/darwin/iokit/xfIOKitCursor.c b/xserver/hw/darwin/iokit/xfIOKitCursor.c index ef3e254d7..8388513a3 100644 --- a/xserver/hw/darwin/iokit/xfIOKitCursor.c +++ b/xserver/hw/darwin/iokit/xfIOKitCursor.c @@ -58,6 +58,9 @@ * use or other dealings in this Software without prior written authorization. */ +#if HAVE_XORG_CONFIG_H +#include +#endif #include "scrnintstr.h" #include "cursorstr.h" #include "mipointrst.h" @@ -67,7 +70,7 @@ #include #include "darwin.h" #include "xfIOKit.h" - +#include #define DUMP_DARWIN_CURSOR FALSE #define CURSOR_PRIV(pScreen) \ diff --git a/xserver/hw/darwin/iokit/xfIOKitStartup.c b/xserver/hw/darwin/iokit/xfIOKitStartup.c index 512793aa5..07e8c2181 100644 --- a/xserver/hw/darwin/iokit/xfIOKitStartup.c +++ b/xserver/hw/darwin/iokit/xfIOKitStartup.c @@ -29,6 +29,11 @@ * use or other dealings in this Software without prior written authorization. */ + +#if HAVE_XORG_CONFIG_H +#include +#endif + #include "darwin.h" #include "darwinKeyboard.h" #include "micmap.h" @@ -57,7 +62,9 @@ void DarwinHandleGUI( */ void DarwinGlxExtensionInit(void) { - GlxExtensionInit(); +#ifdef GLXEXT + GlxExtensionInit(); +#endif } @@ -67,7 +74,9 @@ void DarwinGlxExtensionInit(void) void DarwinGlxWrapInitVisuals( miInitVisualsProcPtr *procPtr) { +#ifdef GLXEXT GlxWrapInitVisuals(procPtr); +#endif } diff --git a/xserver/hw/darwin/quartz/Makefile.am b/xserver/hw/darwin/quartz/Makefile.am new file mode 100644 index 000000000..993cdb0ec --- /dev/null +++ b/xserver/hw/darwin/quartz/Makefile.am @@ -0,0 +1,54 @@ +noinst_LIBRARIES = libXQuartz.a + +AM_CFLAGS = @XORG_CFLAGS@ @DIX_CFLAGS@ +AM_OBJCFLAGS = @XORG_CFLAGS@ @DIX_CFLAGS@ + +INCLUDES = -I$(srcdir) -I$(srcdir)/.. @XORG_INCS@ +AM_DEFS = -DHAS_CG_MACH_PORT -DHAS_KL_API +if HAVE_X_PLUGIN +AM_DEFS += -DBUILD_XPR +endif +DEFS = @DEFS@ $(AM_DEFS) -DXBINDIR=\"${bindir}\" + +libXQuartz_a_SOURCES = \ + Preferences.m \ + XApplication.m \ + XServer.m \ + applewm.c \ + keysym2ucs.c \ + quartz.c \ + quartzAudio.c \ + quartzCocoa.m \ + quartzPasteboard.c \ + quartzKeyboard.c \ + quartzStartup.c \ + pseudoramiX.c + +bin_PROGRAMS = XDarwinStartup + +XDarwinStartup_SOURCES = XDarwinStartup.c +XDarwinStartup_LDFLAGS = -Wl,-framework,CoreFoundation \ + -Wl,-framework,ApplicationServices +XDarwinStartupCFLAGS = -DXBINDIR="${bindir}" +XDARWINROOT = @APPLE_APPLICATIONS_DIR@ +BINDIR = $(bindir) +install-exec-local: + -(cd $(DESTDIR)$(BINDIR); rm X; $(LN_S) XDarwinStartup X) + +man1_MANS = XDarwinStartup.man + +EXTRA_DIST = \ + applewmExt.h \ + keysym2ucs.h \ + Preferences.h \ + pseudoramiX.h \ + quartzAudio.h \ + quartzCommon.h \ + quartzCursor.c \ + quartzCursor.h \ + quartz.h \ + quartzPasteboard.h \ + XApplication.h \ + XDarwin.pbproj/project.pbxproj \ + XServer.h \ + XDarwinStartup.man diff --git a/xserver/hw/darwin/quartz/Makefile.in b/xserver/hw/darwin/quartz/Makefile.in new file mode 100644 index 000000000..3389afcd5 --- /dev/null +++ b/xserver/hw/darwin/quartz/Makefile.in @@ -0,0 +1,801 @@ +# Makefile.in generated by automake 1.10 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + + +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +@HAVE_X_PLUGIN_TRUE@am__append_1 = -DBUILD_XPR +bin_PROGRAMS = XDarwinStartup$(EXEEXT) +subdir = hw/darwin/quartz +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/include/do-not-use-config.h \ + $(top_builddir)/include/xorg-server.h \ + $(top_builddir)/include/dix-config.h \ + $(top_builddir)/include/xgl-config.h \ + $(top_builddir)/include/xorg-config.h \ + $(top_builddir)/include/xkb-config.h \ + $(top_builddir)/include/xwin-config.h \ + $(top_builddir)/include/kdrive-config.h +CONFIG_CLEAN_FILES = +LIBRARIES = $(noinst_LIBRARIES) +ARFLAGS = cru +libXQuartz_a_AR = $(AR) $(ARFLAGS) +libXQuartz_a_LIBADD = +am_libXQuartz_a_OBJECTS = Preferences.$(OBJEXT) XApplication.$(OBJEXT) \ + XServer.$(OBJEXT) applewm.$(OBJEXT) keysym2ucs.$(OBJEXT) \ + quartz.$(OBJEXT) quartzAudio.$(OBJEXT) quartzCocoa.$(OBJEXT) \ + quartzPasteboard.$(OBJEXT) quartzKeyboard.$(OBJEXT) \ + quartzStartup.$(OBJEXT) pseudoramiX.$(OBJEXT) +libXQuartz_a_OBJECTS = $(am_libXQuartz_a_OBJECTS) +am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)" +binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) +PROGRAMS = $(bin_PROGRAMS) +am_XDarwinStartup_OBJECTS = XDarwinStartup.$(OBJEXT) +XDarwinStartup_OBJECTS = $(am_XDarwinStartup_OBJECTS) +XDarwinStartup_LDADD = $(LDADD) +XDarwinStartup_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(XDarwinStartup_LDFLAGS) $(LDFLAGS) -o $@ +DEFAULT_INCLUDES = -I. -I$(top_builddir)/include@am__isrc@ +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ +OBJCCOMPILE = $(OBJC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_OBJCFLAGS) $(OBJCFLAGS) +LTOBJCCOMPILE = $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(OBJC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_OBJCFLAGS) $(OBJCFLAGS) +OBJCLD = $(OBJC) +SOURCES = $(libXQuartz_a_SOURCES) $(XDarwinStartup_SOURCES) +DIST_SOURCES = $(libXQuartz_a_SOURCES) $(XDarwinStartup_SOURCES) +man1dir = $(mandir)/man1 +NROFF = nroff +MANS = $(man1_MANS) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ +ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ +ALLOCA = @ALLOCA@ +AMTAR = @AMTAR@ +APPDEFAULTDIR = @APPDEFAULTDIR@ +APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +APP_MAN_DIR = @APP_MAN_DIR@ +APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ +AR = @AR@ +AS = @AS@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +BASE_FONT_PATH = @BASE_FONT_PATH@ +BUILD_DATE = @BUILD_DATE@ +BUILD_TIME = @BUILD_TIME@ +CC = @CC@ +CCAS = @CCAS@ +CCASDEPMODE = @CCASDEPMODE@ +CCASFLAGS = @CCASFLAGS@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +COMPILEDDEFAULTFONTPATH = @COMPILEDDEFAULTFONTPATH@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DARWIN_LIBS = @DARWIN_LIBS@ +DBUS_CFLAGS = @DBUS_CFLAGS@ +DBUS_LIBS = @DBUS_LIBS@ +DEFAULT_LIBRARY_PATH = @DEFAULT_LIBRARY_PATH@ +DEFAULT_LOGPREFIX = @DEFAULT_LOGPREFIX@ +DEFAULT_MODULE_PATH = @DEFAULT_MODULE_PATH@ +DEFS = @DEFS@ $(AM_DEFS) -DXBINDIR=\"${bindir}\" +DEPDIR = @DEPDIR@ +DGA_CFLAGS = @DGA_CFLAGS@ +DGA_LIBS = @DGA_LIBS@ +DIX_CFLAGS = @DIX_CFLAGS@ +DLLTOOL = @DLLTOOL@ +DMXEXAMPLES_DEP_CFLAGS = @DMXEXAMPLES_DEP_CFLAGS@ +DMXEXAMPLES_DEP_LIBS = @DMXEXAMPLES_DEP_LIBS@ +DMXMODULES_CFLAGS = @DMXMODULES_CFLAGS@ +DMXMODULES_LIBS = @DMXMODULES_LIBS@ +DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ +DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ +DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ +DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ +DRIPROTO_LIBS = @DRIPROTO_LIBS@ +DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ +DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ +DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ +DTRACE = @DTRACE@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +FILE_MAN_DIR = @FILE_MAN_DIR@ +FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ +FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ +FREETYPE_LIBS = @FREETYPE_LIBS@ +FREETYPE_REQUIRES = @FREETYPE_REQUIRES@ +GLX_DEFINES = @GLX_DEFINES@ +GL_CFLAGS = @GL_CFLAGS@ +GL_LIBS = @GL_LIBS@ +GREP = @GREP@ +HAL_CFLAGS = @HAL_CFLAGS@ +HAL_LIBS = @HAL_LIBS@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +KDRIVE_CFLAGS = @KDRIVE_CFLAGS@ +KDRIVE_INCS = @KDRIVE_INCS@ +KDRIVE_LIBS = @KDRIVE_LIBS@ +KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ +KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ +KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ +LDFLAGS = @LDFLAGS@ +LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ +LEX = @LEX@ +LEXLIB = @LEXLIB@ +LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ +LIBDRM_CFLAGS = @LIBDRM_CFLAGS@ +LIBDRM_LIBS = @LIBDRM_LIBS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIB_MAN_DIR = @LIB_MAN_DIR@ +LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ +LINUXDOC = @LINUXDOC@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAKEINFO = @MAKEINFO@ +MAKE_HTML = @MAKE_HTML@ +MAKE_PDF = @MAKE_PDF@ +MAKE_PS = @MAKE_PS@ +MAKE_TEXT = @MAKE_TEXT@ +MESA_SOURCE = @MESA_SOURCE@ +MISC_MAN_DIR = @MISC_MAN_DIR@ +MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ +MKDIR_P = @MKDIR_P@ +MKFONTDIR = @MKFONTDIR@ +MKFONTSCALE = @MKFONTSCALE@ +OBJC = @OBJC@ +OBJCCLD = @OBJCCLD@ +OBJCDEPMODE = @OBJCDEPMODE@ +OBJCFLAGS = @OBJCFLAGS@ +OBJCLINK = @OBJCLINK@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PERL = @PERL@ +PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ +PIXMAN_LIBS = @PIXMAN_LIBS@ +PKG_CONFIG = @PKG_CONFIG@ +PLIST_VENDOR_WEB = @PLIST_VENDOR_WEB@ +PLIST_VERSION_STRING = @PLIST_VERSION_STRING@ +PROJECTROOT = @PROJECTROOT@ +PS2PDF = @PS2PDF@ +RANLIB = @RANLIB@ +RAWCPP = @RAWCPP@ +RAWCPPFLAGS = @RAWCPPFLAGS@ +RGB_DB = @RGB_DB@ +SERVERCONFIGdir = @SERVERCONFIGdir@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ +SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ +STRIP = @STRIP@ +SYS_LIBS = @SYS_LIBS@ +TSLIB_CFLAGS = @TSLIB_CFLAGS@ +TSLIB_LIBS = @TSLIB_LIBS@ +VENDOR_MAN_VERSION = @VENDOR_MAN_VERSION@ +VENDOR_NAME = @VENDOR_NAME@ +VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ +VENDOR_RELEASE = @VENDOR_RELEASE@ +VERSION = @VERSION@ +X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ +X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ +XDMCP_CFLAGS = @XDMCP_CFLAGS@ +XDMCP_LIBS = @XDMCP_LIBS@ +XDMXCONFIG_DEP_CFLAGS = @XDMXCONFIG_DEP_CFLAGS@ +XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@ +XDMX_LIBS = @XDMX_LIBS@ +XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ +XEGLMODULES_LIBS = @XEGLMODULES_LIBS@ +XEGL_LIBS = @XEGL_LIBS@ +XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ +XEPHYR_INCS = @XEPHYR_INCS@ +XEPHYR_LIBS = @XEPHYR_LIBS@ +XERRORDB_PATH = @XERRORDB_PATH@ +XF86CONFIGFILE = @XF86CONFIGFILE@ +XF86MISC_CFLAGS = @XF86MISC_CFLAGS@ +XF86MISC_LIBS = @XF86MISC_LIBS@ +XF86VIDMODE_CFLAGS = @XF86VIDMODE_CFLAGS@ +XF86VIDMODE_LIBS = @XF86VIDMODE_LIBS@ +XGLMODULES_CFLAGS = @XGLMODULES_CFLAGS@ +XGLMODULES_LIBS = @XGLMODULES_LIBS@ +XGLXMODULES_CFLAGS = @XGLXMODULES_CFLAGS@ +XGLXMODULES_LIBS = @XGLXMODULES_LIBS@ +XGLX_LIBS = @XGLX_LIBS@ +XGL_LIBS = @XGL_LIBS@ +XGL_MODULE_PATH = @XGL_MODULE_PATH@ +XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ +XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ +XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ +XKM_OUTPUT_DIR = @XKM_OUTPUT_DIR@ +XLIB_CFLAGS = @XLIB_CFLAGS@ +XLIB_LIBS = @XLIB_LIBS@ +XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ +XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ +XNEST_LIBS = @XNEST_LIBS@ +XORGCFG_DEP_CFLAGS = @XORGCFG_DEP_CFLAGS@ +XORGCFG_DEP_LIBS = @XORGCFG_DEP_LIBS@ +XORGCONFIG_DEP_CFLAGS = @XORGCONFIG_DEP_CFLAGS@ +XORGCONFIG_DEP_LIBS = @XORGCONFIG_DEP_LIBS@ +XORG_CFLAGS = @XORG_CFLAGS@ +XORG_CORE_LIBS = @XORG_CORE_LIBS@ +XORG_INCS = @XORG_INCS@ +XORG_LIBS = @XORG_LIBS@ +XORG_MODULES_CFLAGS = @XORG_MODULES_CFLAGS@ +XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ +XORG_OS = @XORG_OS@ +XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ +XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ +XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ +XPRINT_CFLAGS = @XPRINT_CFLAGS@ +XPRINT_LIBS = @XPRINT_LIBS@ +XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ +XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ +XSDL_INCS = @XSDL_INCS@ +XSDL_LIBS = @XSDL_LIBS@ +XSERVERCFLAGS_CFLAGS = @XSERVERCFLAGS_CFLAGS@ +XSERVERCFLAGS_LIBS = @XSERVERCFLAGS_LIBS@ +XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ +XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ +XSERVER_LIBS = @XSERVER_LIBS@ +XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ +XTSTEXAMPLES_DEP_LIBS = @XTSTEXAMPLES_DEP_LIBS@ +XVFB_LIBS = @XVFB_LIBS@ +XWINMODULES_CFLAGS = @XWINMODULES_CFLAGS@ +XWINMODULES_LIBS = @XWINMODULES_LIBS@ +XWIN_LIBS = @XWIN_LIBS@ +XWIN_SERVER_NAME = @XWIN_SERVER_NAME@ +XWIN_SYSTEM_LIBS = @XWIN_SYSTEM_LIBS@ +YACC = @YACC@ +YFLAGS = @YFLAGS@ +__XCONFIGFILE__ = @__XCONFIGFILE__@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +driverdir = @driverdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +extdir = @extdir@ +ft_config = @ft_config@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +logdir = @logdir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +moduledir = @moduledir@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sdkdir = @sdkdir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +xglmoduledir = @xglmoduledir@ +xpconfigdir = @xpconfigdir@ +noinst_LIBRARIES = libXQuartz.a +AM_CFLAGS = @XORG_CFLAGS@ @DIX_CFLAGS@ +AM_OBJCFLAGS = @XORG_CFLAGS@ @DIX_CFLAGS@ +INCLUDES = -I$(srcdir) -I$(srcdir)/.. @XORG_INCS@ +AM_DEFS = -DHAS_CG_MACH_PORT -DHAS_KL_API $(am__append_1) +libXQuartz_a_SOURCES = \ + Preferences.m \ + XApplication.m \ + XServer.m \ + applewm.c \ + keysym2ucs.c \ + quartz.c \ + quartzAudio.c \ + quartzCocoa.m \ + quartzPasteboard.c \ + quartzKeyboard.c \ + quartzStartup.c \ + pseudoramiX.c + +XDarwinStartup_SOURCES = XDarwinStartup.c +XDarwinStartup_LDFLAGS = -Wl,-framework,CoreFoundation \ + -Wl,-framework,ApplicationServices + +XDarwinStartupCFLAGS = -DXBINDIR="${bindir}" +XDARWINROOT = @APPLE_APPLICATIONS_DIR@ +BINDIR = $(bindir) +man1_MANS = XDarwinStartup.man +EXTRA_DIST = \ + applewmExt.h \ + keysym2ucs.h \ + Preferences.h \ + pseudoramiX.h \ + quartzAudio.h \ + quartzCommon.h \ + quartzCursor.c \ + quartzCursor.h \ + quartz.h \ + quartzPasteboard.h \ + XApplication.h \ + XDarwin.pbproj/project.pbxproj \ + XServer.h \ + XDarwinStartup.man + +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .lo .m .o .obj +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign hw/darwin/quartz/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --foreign hw/darwin/quartz/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +clean-noinstLIBRARIES: + -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) +libXQuartz.a: $(libXQuartz_a_OBJECTS) $(libXQuartz_a_DEPENDENCIES) + -rm -f libXQuartz.a + $(libXQuartz_a_AR) libXQuartz.a $(libXQuartz_a_OBJECTS) $(libXQuartz_a_LIBADD) + $(RANLIB) libXQuartz.a +install-binPROGRAMS: $(bin_PROGRAMS) + @$(NORMAL_INSTALL) + test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + if test -f $$p \ + || test -f $$p1 \ + ; then \ + f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ + $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \ + else :; fi; \ + done + +uninstall-binPROGRAMS: + @$(NORMAL_UNINSTALL) + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ + rm -f "$(DESTDIR)$(bindir)/$$f"; \ + done + +clean-binPROGRAMS: + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f $$p $$f"; \ + rm -f $$p $$f ; \ + done +XDarwinStartup$(EXEEXT): $(XDarwinStartup_OBJECTS) $(XDarwinStartup_DEPENDENCIES) + @rm -f XDarwinStartup$(EXEEXT) + $(XDarwinStartup_LINK) $(XDarwinStartup_OBJECTS) $(XDarwinStartup_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Preferences.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/XApplication.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/XDarwinStartup.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/XServer.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/applewm.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/keysym2ucs.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pseudoramiX.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/quartz.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/quartzAudio.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/quartzCocoa.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/quartzKeyboard.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/quartzPasteboard.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/quartzStartup.Po@am__quote@ + +.c.o: +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c $< + +.c.obj: +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` + +.c.lo: +@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< + +.m.o: +@am__fastdepOBJC_TRUE@ $(OBJCCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepOBJC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepOBJC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepOBJC_FALSE@ DEPDIR=$(DEPDIR) $(OBJCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepOBJC_FALSE@ $(OBJCCOMPILE) -c -o $@ $< + +.m.obj: +@am__fastdepOBJC_TRUE@ $(OBJCCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepOBJC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepOBJC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepOBJC_FALSE@ DEPDIR=$(DEPDIR) $(OBJCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepOBJC_FALSE@ $(OBJCCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.m.lo: +@am__fastdepOBJC_TRUE@ $(LTOBJCCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepOBJC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@AMDEP_TRUE@@am__fastdepOBJC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepOBJC_FALSE@ DEPDIR=$(DEPDIR) $(OBJCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepOBJC_FALSE@ $(LTOBJCCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-man1: $(man1_MANS) $(man_MANS) + @$(NORMAL_INSTALL) + test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)" + @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \ + l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ + for i in $$l2; do \ + case "$$i" in \ + *.1*) list="$$list $$i" ;; \ + esac; \ + done; \ + for i in $$list; do \ + if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ + else file=$$i; fi; \ + ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 1*) ;; \ + *) ext='1' ;; \ + esac; \ + inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ + inst=`echo $$inst | sed -e 's/^.*\///'`; \ + inst=`echo $$inst | sed '$(transform)'`.$$ext; \ + echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ + $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst"; \ + done +uninstall-man1: + @$(NORMAL_UNINSTALL) + @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \ + l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ + for i in $$l2; do \ + case "$$i" in \ + *.1*) list="$$list $$i" ;; \ + esac; \ + done; \ + for i in $$list; do \ + ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 1*) ;; \ + *) ext='1' ;; \ + esac; \ + inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ + inst=`echo $$inst | sed -e 's/^.*\///'`; \ + inst=`echo $$inst | sed '$(transform)'`.$$ext; \ + echo " rm -f '$(DESTDIR)$(man1dir)/$$inst'"; \ + rm -f "$(DESTDIR)$(man1dir)/$$inst"; \ + done + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(LIBRARIES) $(PROGRAMS) $(MANS) +installdirs: + for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-binPROGRAMS clean-generic clean-libtool \ + clean-noinstLIBRARIES mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-man + +install-dvi: install-dvi-am + +install-exec-am: install-binPROGRAMS install-exec-local + +install-html: install-html-am + +install-info: install-info-am + +install-man: install-man1 + +install-pdf: install-pdf-am + +install-ps: install-ps-am + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-binPROGRAMS uninstall-man + +uninstall-man: uninstall-man1 + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \ + clean-generic clean-libtool clean-noinstLIBRARIES ctags \ + distclean distclean-compile distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-binPROGRAMS \ + install-data install-data-am install-dvi install-dvi-am \ + install-exec install-exec-am install-exec-local install-html \ + install-html-am install-info install-info-am install-man \ + install-man1 install-pdf install-pdf-am install-ps \ + install-ps-am install-strip installcheck installcheck-am \ + installdirs maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \ + uninstall-am uninstall-binPROGRAMS uninstall-man \ + uninstall-man1 + +install-exec-local: + -(cd $(DESTDIR)$(BINDIR); rm X; $(LN_S) XDarwinStartup X) +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/xserver/hw/darwin/quartz/Preferences.m b/xserver/hw/darwin/quartz/Preferences.m index 6c14f4982..eb78fd32a 100644 --- a/xserver/hw/darwin/quartz/Preferences.m +++ b/xserver/hw/darwin/quartz/Preferences.m @@ -31,7 +31,9 @@ * authorization. */ /* $XFree86: xc/programs/Xserver/hw/darwin/quartz/Preferences.m,v 1.5 2004/06/08 22:58:10 torrey Exp $ */ - +#ifdef HAVE_XORG_CONFIG_H +#include +#endif #import "quartzCommon.h" #define BOOL xBOOL @@ -44,7 +46,7 @@ // Macros to build the path name #ifndef XBINDIR -#define XBINDIR /usr/X11R6/bin +#define XBINDIR /usr/X11/bin #endif #define STR(s) #s #define XSTRPATH(s) STR(s) diff --git a/xserver/hw/darwin/quartz/XApplication.h b/xserver/hw/darwin/quartz/XApplication.h index a2622e060..2f2b22389 100644 --- a/xserver/hw/darwin/quartz/XApplication.h +++ b/xserver/hw/darwin/quartz/XApplication.h @@ -30,7 +30,6 @@ * sale, use or other dealings in this Software without prior written * authorization. */ -/* $XFree86: $ */ #import diff --git a/xserver/hw/darwin/quartz/XDarwin.pbproj/project.pbxproj b/xserver/hw/darwin/quartz/XDarwin.pbproj/project.pbxproj index 90002db56..0ad831423 100644 --- a/xserver/hw/darwin/quartz/XDarwin.pbproj/project.pbxproj +++ b/xserver/hw/darwin/quartz/XDarwin.pbproj/project.pbxproj @@ -387,7 +387,7 @@ CFBundleIconFile XDarwin.icns CFBundleIdentifier - org.xfree86.XDarwin + org.x.x11 CFBundleInfoDictionaryVersion 6.0 CFBundleName diff --git a/xserver/hw/darwin/quartz/XDarwinStartup.c b/xserver/hw/darwin/quartz/XDarwinStartup.c index 8697776bf..8041e32d5 100644 --- a/xserver/hw/darwin/quartz/XDarwinStartup.c +++ b/xserver/hw/darwin/quartz/XDarwinStartup.c @@ -48,7 +48,7 @@ // Macros to build the path name #ifndef XBINDIR -#define XBINDIR /usr/X11R6/bin +#define XBINDIR /usr/X11/bin #endif #define STR(s) #s #define XSTRPATH(s) STR(s) "/" @@ -124,7 +124,7 @@ int main( // Otherwise query LaunchServices for the location of the XDarwin application theStatus = LSFindApplicationForInfo(kLSUnknownCreator, - CFSTR("org.xfree86.XDarwin"), + CFSTR("org.x.x11"), NULL, NULL, &appURL); if (theStatus) { fprintf(stderr, "Could not find the XDarwin application. (Error = 0x%lx)\n", theStatus); diff --git a/xserver/hw/darwin/quartz/XServer.m b/xserver/hw/darwin/quartz/XServer.m index a5a1011e9..32bfbf58f 100644 --- a/xserver/hw/darwin/quartz/XServer.m +++ b/xserver/hw/darwin/quartz/XServer.m @@ -36,18 +36,20 @@ */ /* $XdotOrg: xc/programs/Xserver/hw/darwin/quartz/XServer.m,v 1.3 2004/07/30 19:12:17 torrey Exp $ */ /* $XFree86: xc/programs/Xserver/hw/darwin/quartz/XServer.m,v 1.19 2003/11/24 05:39:01 torrey Exp $ */ - +#ifdef HAVE_XORG_CONFIG_H +#include +#endif #include "quartzCommon.h" #define BOOL xBOOL -#include "X.h" -#include "Xproto.h" +#include "X11/X.h" +#include "X11/Xproto.h" #include "os.h" #include "opaque.h" #include "darwin.h" #include "quartz.h" #define _APPLEWM_SERVER_ -#include "applewm.h" +#include "X11/extensions/applewm.h" #include "applewmExt.h" #undef BOOL @@ -830,13 +832,13 @@ static io_connect_t root_port; chdir(tem); /* Setup environment */ - snprintf(buf, sizeof(buf), ":%s", display); - setenv("DISPLAY", buf, TRUE); +// snprintf(buf, sizeof(buf), ":%s", display); +// setenv("DISPLAY", buf, TRUE); tem = getenv("PATH"); if (tem != NULL && tem[0] != NULL) - snprintf(buf, sizeof(buf), "%s:/usr/X11R6/bin", tem); + snprintf(buf, sizeof(buf), "%s:/usr/X11/bin", tem); else - snprintf(buf, sizeof(buf), "/bin:/usr/bin:/usr/X11R6/bin"); + snprintf(buf, sizeof(buf), "/bin:/usr/bin:/usr/X11/bin"); setenv("PATH", buf, TRUE); execvp(argv[0], (char **const) argv); diff --git a/xserver/hw/darwin/quartz/applewm.c b/xserver/hw/darwin/quartz/applewm.c index 6db036f1b..cc11cfa4c 100644 --- a/xserver/hw/darwin/quartz/applewm.c +++ b/xserver/hw/darwin/quartz/applewm.c @@ -24,7 +24,9 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. **************************************************************************/ - +#ifdef HAVE_XORG_CONFIG_H +#include +#endif #include "quartzCommon.h" #define NEED_REPLIES @@ -43,7 +45,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #include #include "darwin.h" #define _APPLEWM_SERVER_ -#include "applewmstr.h" +#include "X11/extensions/applewmstr.h" #include "applewmExt.h" #define DEFINE_ATOM_HELPER(func,atom_name) \ @@ -268,7 +270,7 @@ ProcAppleWMSelectInput (client) REQUEST_SIZE_MATCH (xAppleWMSelectInputReq); pHead = (WMEventPtr *)SecurityLookupIDByType(client, - eventResource, EventType, SecurityWriteAccess); + eventResource, EventType, DixWriteAccess); if (stuff->mask != 0) { if (pHead) { /* check for existing entry. */ @@ -444,7 +446,11 @@ ProcAppleWMSetWindowMenu( } } +#ifdef INXQUARTZ + X11ApplicationSetWindowMenu (nitems, items, shortcuts); +#else QuartzSetWindowMenu (nitems, items, shortcuts); +#endif free(items); free(shortcuts); @@ -460,10 +466,12 @@ ProcAppleWMSetWindowMenuCheck( REQUEST(xAppleWMSetWindowMenuCheckReq); REQUEST_SIZE_MATCH(xAppleWMSetWindowMenuCheckReq); - +#ifdef INXQUARTZ + X11ApplicationSetWindowMenuCheck(stuff->index); +#else QuartzMessageMainThread(kQuartzSetWindowMenuCheck, &stuff->index, sizeof(stuff->index)); - +#endif return (client->noClientException); } @@ -473,9 +481,11 @@ ProcAppleWMSetFrontProcess( ) { REQUEST_SIZE_MATCH(xAppleWMSetFrontProcessReq); - +#ifdef INXQUARTZ + X11ApplicationSetFrontProcess(); +#else QuartzMessageMainThread(kQuartzSetFrontProcess, NULL, 0); - +#endif return (client->noClientException); } @@ -490,11 +500,9 @@ ProcAppleWMSetWindowLevel( REQUEST_SIZE_MATCH(xAppleWMSetWindowLevelReq); - if (!(pWin = SecurityLookupWindow((Drawable)stuff->window, - client, SecurityReadAccess))) - { + if (Success != dixLookupWindow(&pWin, stuff->window, client, + DixReadAccess)) return BadValue; - } if (stuff->level < 0 || stuff->level >= AppleWMNumWindowLevels) { return BadValue; @@ -516,9 +524,12 @@ ProcAppleWMSetCanQuit( REQUEST(xAppleWMSetCanQuitReq); REQUEST_SIZE_MATCH(xAppleWMSetCanQuitReq); - +#ifdef INXQUARTZ + X11ApplicationSetCanQuit(stuff->state); +#else QuartzMessageMainThread(kQuartzSetCanQuit, &stuff->state, sizeof(stuff->state)); +#endif return (client->noClientException); } @@ -602,11 +613,9 @@ ProcAppleWMFrameDraw( REQUEST_AT_LEAST_SIZE(xAppleWMFrameDrawReq); - if (!(pWin = SecurityLookupWindow((Drawable)stuff->window, - client, SecurityReadAccess))) - { + if (Success != dixLookupWindow(&pWin, stuff->window, client, + DixReadAccess)) return BadValue; - } ir = make_box (stuff->ix, stuff->iy, stuff->iw, stuff->ih); or = make_box (stuff->ox, stuff->oy, stuff->ow, stuff->oh); diff --git a/xserver/hw/darwin/quartz/cr/XView.m b/xserver/hw/darwin/quartz/cr/XView.m index 5feac6b42..8bcd1a76f 100644 --- a/xserver/hw/darwin/quartz/cr/XView.m +++ b/xserver/hw/darwin/quartz/cr/XView.m @@ -30,7 +30,9 @@ * use or other dealings in this Software without prior written authorization. */ /* $XFree86: xc/programs/Xserver/hw/darwin/quartz/cr/XView.m,v 1.1 2003/06/07 05:49:07 torrey Exp $ */ - +#ifdef HAVE_XORG_CONFIG_H +#include +#endif #import "XView.h" diff --git a/xserver/hw/darwin/quartz/cr/crAppleWM.m b/xserver/hw/darwin/quartz/cr/crAppleWM.m index a2e97ff81..0741d4e58 100644 --- a/xserver/hw/darwin/quartz/cr/crAppleWM.m +++ b/xserver/hw/darwin/quartz/cr/crAppleWM.m @@ -27,17 +27,19 @@ * use or other dealings in this Software without prior written authorization. */ /* $XFree86: xc/programs/Xserver/hw/darwin/quartz/xpr/xprFrame.c,v 1.2 2003/06/30 01:45:13 torrey Exp $ */ - -#include "quartzCommon.h" -#include "cr.h" +#ifdef HAVE_XORG_CONFIG_H +#include +#endif +#include "quartz/quartzCommon.h" +#include "quartz/cr/cr.h" #undef BOOL #define BOOL xBOOL #include "rootless.h" -#include "X.h" +#include "X11/X.h" #define _APPLEWM_SERVER_ -#include "applewm.h" -#include "applewmExt.h" +#include "X11/extensions/applewm.h" +#include "quartz/applewmExt.h" #undef BOOL #define StdDocumentStyleMask (NSTitledWindowMask | \ diff --git a/xserver/hw/darwin/quartz/cr/crFrame.m b/xserver/hw/darwin/quartz/cr/crFrame.m index 79d55a4d1..2b8e57d0a 100644 --- a/xserver/hw/darwin/quartz/cr/crFrame.m +++ b/xserver/hw/darwin/quartz/cr/crFrame.m @@ -29,14 +29,16 @@ */ /* $XdotOrg: xc/programs/Xserver/hw/darwin/quartz/cr/crFrame.m,v 1.2 2004/04/23 19:15:51 eich Exp $ */ /* $XFree86: xc/programs/Xserver/hw/darwin/quartz/cr/crFrame.m,v 1.9 2004/03/19 02:05:29 torrey Exp $ */ - -#include "quartzCommon.h" -#include "cr.h" +#ifdef HAVE_XORG_CONFIG_H +#include +#endif +#include "quartz/quartzCommon.h" +#include "quartz/cr/cr.h" #undef BOOL #define BOOL xBOOL #include "rootless.h" -#include "applewmExt.h" +#include "quartz/applewmExt.h" #include "windowstr.h" #undef BOOL diff --git a/xserver/hw/darwin/quartz/cr/crScreen.m b/xserver/hw/darwin/quartz/cr/crScreen.m index 21a79e006..9dd130e01 100644 --- a/xserver/hw/darwin/quartz/cr/crScreen.m +++ b/xserver/hw/darwin/quartz/cr/crScreen.m @@ -29,19 +29,21 @@ * use or other dealings in this Software without prior written authorization. */ /* $XFree86: xc/programs/Xserver/hw/darwin/quartz/cr/crScreen.m,v 1.5 2003/11/12 20:21:52 torrey Exp $ */ - -#include "quartzCommon.h" -#include "cr.h" +#ifdef HAVE_XORG_CONFIG_H +#include +#endif +#include "quartz/quartzCommon.h" +#include "quartz/cr/cr.h" #undef BOOL #define BOOL xBOOL #include "darwin.h" -#include "quartz.h" -#include "quartzCursor.h" +#include "quartz/quartz.h" +#include "quartz/quartzCursor.h" #include "rootless.h" -#include "safeAlpha.h" -#include "pseudoramiX.h" -#include "applewmExt.h" +#include "safeAlpha/safeAlpha.h" +#include "quartz/pseudoramiX.h" +#include "quartz/applewmExt.h" #include "regionstr.h" #include "scrnintstr.h" diff --git a/xserver/hw/darwin/quartz/fullscreen/fullscreen.c b/xserver/hw/darwin/quartz/fullscreen/fullscreen.c index a4881f9d9..02f6e89a8 100644 --- a/xserver/hw/darwin/quartz/fullscreen/fullscreen.c +++ b/xserver/hw/darwin/quartz/fullscreen/fullscreen.c @@ -25,11 +25,13 @@ * holders shall not be used in advertising or otherwise to promote the sale, * use or other dealings in this Software without prior written authorization. */ - -#include "quartzCommon.h" +#ifdef HAVE_XORG_CONFIG_H +#include +#endif +#include "quartz/quartzCommon.h" #include "darwin.h" -#include "quartz.h" -#include "quartzCursor.h" +#include "quartz/quartz.h" +#include "quartz/quartzCursor.h" #include "colormapst.h" #include "scrnintstr.h" #include "micmap.h" diff --git a/xserver/hw/darwin/quartz/fullscreen/quartzCursor.c b/xserver/hw/darwin/quartz/fullscreen/quartzCursor.c index e2333e2ea..77fa008f2 100644 --- a/xserver/hw/darwin/quartz/fullscreen/quartzCursor.c +++ b/xserver/hw/darwin/quartz/fullscreen/quartzCursor.c @@ -29,9 +29,11 @@ * holders shall not be used in advertising or otherwise to promote the sale, * use or other dealings in this Software without prior written authorization. */ - -#include "quartzCommon.h" -#include "quartzCursor.h" +#ifdef HAVE_XORG_CONFIG_H +#include +#endif +#include "quartz/quartzCommon.h" +#include "quartz/quartzCursor.h" #include "darwin.h" #include diff --git a/xserver/hw/darwin/quartz/keysym2ucs.c b/xserver/hw/darwin/quartz/keysym2ucs.c index 98b8b6fee..3be59df33 100644 --- a/xserver/hw/darwin/quartz/keysym2ucs.c +++ b/xserver/hw/darwin/quartz/keysym2ucs.c @@ -1,5 +1,4 @@ -/* $XFree86: $ - * +/* * This module converts keysym values into the corresponding ISO 10646 * (UCS, Unicode) values. * diff --git a/xserver/hw/darwin/quartz/keysym2ucs.h b/xserver/hw/darwin/quartz/keysym2ucs.h index c7ff6f3b3..f5b7a18f2 100644 --- a/xserver/hw/darwin/quartz/keysym2ucs.h +++ b/xserver/hw/darwin/quartz/keysym2ucs.h @@ -1,5 +1,4 @@ -/* $XFree86: $ - * +/* * This module converts keysym values into the corresponding ISO 10646 * (UCS, Unicode) values. * diff --git a/xserver/hw/darwin/quartz/pseudoramiX.c b/xserver/hw/darwin/quartz/pseudoramiX.c index ab57827d3..7ba6d5a15 100644 --- a/xserver/hw/darwin/quartz/pseudoramiX.c +++ b/xserver/hw/darwin/quartz/pseudoramiX.c @@ -34,7 +34,9 @@ Equipment Corporation. ******************************************************************/ #include "pseudoramiX.h" - +#ifdef HAVE_XORG_CONFIG_H +#include +#endif #include "extnsionst.h" #include "dixstruct.h" #include "window.h" @@ -170,12 +172,13 @@ static int ProcPseudoramiXGetState(ClientPtr client) REQUEST(xPanoramiXGetStateReq); WindowPtr pWin; xPanoramiXGetStateReply rep; - register int n; + register int n, rc; REQUEST_SIZE_MATCH(xPanoramiXGetStateReq); - pWin = LookupWindow (stuff->window, client); - if (!pWin) - return BadWindow; + rc = dixLookupWindow(&pWin, stuff->window, client, DixUnknownAccess); + if (rc != Success) + return rc; + rep.type = X_Reply; rep.length = 0; rep.sequenceNumber = client->sequence; @@ -196,12 +199,13 @@ static int ProcPseudoramiXGetScreenCount(ClientPtr client) REQUEST(xPanoramiXGetScreenCountReq); WindowPtr pWin; xPanoramiXGetScreenCountReply rep; - register int n; + register int n, rc; REQUEST_SIZE_MATCH(xPanoramiXGetScreenCountReq); - pWin = LookupWindow (stuff->window, client); - if (!pWin) - return BadWindow; + rc = dixLookupWindow(&pWin, stuff->window, client, DixUnknownAccess); + if (rc != Success) + return rc; + rep.type = X_Reply; rep.length = 0; rep.sequenceNumber = client->sequence; @@ -222,12 +226,13 @@ static int ProcPseudoramiXGetScreenSize(ClientPtr client) REQUEST(xPanoramiXGetScreenSizeReq); WindowPtr pWin; xPanoramiXGetScreenSizeReply rep; - register int n; + register int n, rc; REQUEST_SIZE_MATCH(xPanoramiXGetScreenSizeReq); - pWin = LookupWindow (stuff->window, client); - if (!pWin) - return BadWindow; + rc = dixLookupWindow(&pWin, stuff->window, client, DixUnknownAccess); + if (rc != Success) + return rc; + rep.type = X_Reply; rep.length = 0; rep.sequenceNumber = client->sequence; diff --git a/xserver/hw/darwin/quartz/quartz.c b/xserver/hw/darwin/quartz/quartz.c index 36a8bea08..038b21eff 100644 --- a/xserver/hw/darwin/quartz/quartz.c +++ b/xserver/hw/darwin/quartz/quartz.c @@ -29,14 +29,16 @@ * holders shall not be used in advertising or otherwise to promote the sale, * use or other dealings in this Software without prior written authorization. */ - +#ifdef HAVE_XORG_CONFIG_H +#include +#endif #include "quartzCommon.h" #include "quartz.h" #include "darwin.h" #include "quartzAudio.h" #include "pseudoramiX.h" #define _APPLEWM_SERVER_ -#include "applewm.h" +#include "X11/extensions/applewm.h" #include "applewmExt.h" // X headers @@ -158,7 +160,11 @@ void DarwinModeInitInput( int argc, char **argv ) { +#ifdef INXQUARTZ + X11ApplicationServerReady(); +#else QuartzMessageMainThread(kQuartzServerStarted, NULL, 0); +#endif // Do final display mode specific initialization before handling events if (quartzProcs->InitInput) @@ -272,7 +278,9 @@ static void QuartzHide(void) } } quartzServerVisible = FALSE; +#ifndef INXQUARTZ QuartzMessageMainThread(kQuartzServerHidden, NULL, 0); +#endif } diff --git a/xserver/hw/darwin/quartz/quartzAudio.c b/xserver/hw/darwin/quartz/quartzAudio.c index b477b037b..16b9c2ba8 100644 --- a/xserver/hw/darwin/quartz/quartzAudio.c +++ b/xserver/hw/darwin/quartz/quartzAudio.c @@ -35,7 +35,9 @@ * holders shall not be used in advertising or otherwise to promote the sale, * use or other dealings in this Software without prior written authorization. */ - +#ifdef HAVE_XORG_CONFIG_H +#include +#endif #include "quartzCommon.h" #include "quartzAudio.h" @@ -44,6 +46,7 @@ #include "inputstr.h" #include +#include void NSBeep(); diff --git a/xserver/hw/darwin/quartz/quartzCocoa.m b/xserver/hw/darwin/quartz/quartzCocoa.m index 3cb191f22..c54c18acb 100644 --- a/xserver/hw/darwin/quartz/quartzCocoa.m +++ b/xserver/hw/darwin/quartz/quartzCocoa.m @@ -35,6 +35,9 @@ * use or other dealings in this Software without prior written authorization. */ /* $XFree86: xc/programs/Xserver/hw/darwin/quartz/quartzCocoa.m,v 1.5 2004/06/08 22:58:10 torrey Exp $ */ +#ifdef HAVE_XORG_CONFIG_H +#include +#endif #include "quartzCommon.h" diff --git a/xserver/hw/darwin/quartz/quartzCursor.c b/xserver/hw/darwin/quartz/quartzCursor.c index e2333e2ea..6ed6a7677 100644 --- a/xserver/hw/darwin/quartz/quartzCursor.c +++ b/xserver/hw/darwin/quartz/quartzCursor.c @@ -30,6 +30,9 @@ * use or other dealings in this Software without prior written authorization. */ +#ifdef HAVE_XORG_CONFIG_H +#include +#endif #include "quartzCommon.h" #include "quartzCursor.h" #include "darwin.h" @@ -90,7 +93,9 @@ static pthread_cond_t cursorCondition; /* Acquire lock and tell the main thread to change cursor */ \ pthread_mutex_lock(&cursorMutex); \ currentCursor = (CCrsrHandle) (cursorH); \ +#ifndef INXQUARTZ QuartzMessageMainThread(kQuartzCursorUpdate, NULL, 0); \ +#endif \ /* Wait for the main thread to change the cursor */ \ pthread_cond_wait(&cursorCondition, &cursorMutex); \ diff --git a/xserver/hw/darwin/quartz/quartzCursor.h b/xserver/hw/darwin/quartz/quartzCursor.h index 56cc94d49..57fac68a5 100644 --- a/xserver/hw/darwin/quartz/quartzCursor.h +++ b/xserver/hw/darwin/quartz/quartzCursor.h @@ -36,6 +36,7 @@ #include "screenint.h" Bool QuartzInitCursor(ScreenPtr pScreen); +void QuartzReallySetCursor(void); void QuartzSuspendXCursor(ScreenPtr pScreen); void QuartzResumeXCursor(ScreenPtr pScreen, int x, int y); diff --git a/xserver/hw/darwin/quartz/quartzKeyboard.c b/xserver/hw/darwin/quartz/quartzKeyboard.c index 22cb5e210..bdd541663 100644 --- a/xserver/hw/darwin/quartz/quartzKeyboard.c +++ b/xserver/hw/darwin/quartz/quartzKeyboard.c @@ -1,6 +1,5 @@ /* quartzKeyboard.c - $Id: quartzKeyboard.c,v 1.1.1.1 2006/11/26 18:16:42 matthieu Exp $ Code to build a keymap using the Carbon Keyboard Layout API, which is supported on Mac OS X 10.2 and newer. @@ -33,13 +32,16 @@ prior written authorization. */ +#ifdef HAVE_XORG_CONFIG_H +#include +#endif #include "quartzCommon.h" #include #include #include "darwinKeyboard.h" -#include "keysym.h" +#include "X11/keysym.h" #include "keysym2ucs.h" #ifdef HAS_KL_API diff --git a/xserver/hw/darwin/quartz/quartzPasteboard.c b/xserver/hw/darwin/quartz/quartzPasteboard.c index e92fe5c79..a3536fc56 100644 --- a/xserver/hw/darwin/quartz/quartzPasteboard.c +++ b/xserver/hw/darwin/quartz/quartzPasteboard.c @@ -30,6 +30,9 @@ * use or other dealings in this Software without prior written authorization. */ +#ifdef HAVE_XORG_CONFIG_H +#include +#endif #include "quartzPasteboard.h" #include diff --git a/xserver/hw/darwin/quartz/quartzStartup.c b/xserver/hw/darwin/quartz/quartzStartup.c index 277e5935f..76392e44c 100644 --- a/xserver/hw/darwin/quartz/quartzStartup.c +++ b/xserver/hw/darwin/quartz/quartzStartup.c @@ -37,21 +37,37 @@ #include "quartz.h" #include "opaque.h" #include "micmap.h" - -int NSApplicationMain(int argc, char *argv[]); +#include char **envpGlobal; // argcGlobal and argvGlobal // are from dix/globals.c +#ifdef INXQUARTZ +void X11ControllerMain(int argc, char *argv[], void (*server_thread) (void *), void *server_arg); +# ifdef GLXEXT +void GlxExtensionInit(void); +void GlxWrapInitVisuals(miInitVisualsProcPtr *); +# endif + +static void server_thread (void *arg) { + extern int main (int argc, char **argv, char **envp); + exit (main (argcGlobal, argvGlobal, envpGlobal)); +} +#else +int NSApplicationMain(int argc, char *argv[]); +typedef Bool (*QuartzModeBundleInitPtr)(void); + +# ifdef GLXEXT // GLX bundle function pointers typedef void (*GlxExtensionInitPtr)(void); static GlxExtensionInitPtr GlxExtensionInit = NULL; - typedef void (*GlxWrapInitVisualsPtr)(miInitVisualsProcPtr *); static GlxWrapInitVisualsPtr GlxWrapInitVisuals = NULL; - -typedef Bool (*QuartzModeBundleInitPtr)(void); - +void * __DarwinglXMesaProvider = NULL; +typedef void (*GlxPushProviderPtr)(void *); +GlxPushProviderPtr GlxPushProvider = NULL; +# endif +#endif /* * DarwinHandleGUI @@ -71,7 +87,9 @@ void DarwinHandleGUI( int fd[2]; if (been_here) { +#ifdef INXDARWINAPP QuartzReadPreferences(); +#endif return; } been_here = TRUE; @@ -106,11 +124,27 @@ void DarwinHandleGUI( } } +#ifdef INXQUARTZ + /* Initially I ran the X server on the main thread, and received + events on the second thread. But now we may be using Carbon, + that needs to run on the main thread. (Otherwise, when it's + prebound, it will initialize itself on the wrong thread) + + grr.. but doing that means that if the X thread gets scheduled + before the main thread when we're _not_ prebound, things fail, + so initialize by hand. */ + extern void _InitHLTB(void); + + _InitHLTB(); + + X11ControllerMain(argc, argv, server_thread, NULL); +#else main_exit = NSApplicationMain(argc, argv); +#endif exit(main_exit); } - +#ifndef INXQUARTZ /* * QuartzLoadDisplayBundle * Try to load the appropriate bundle containing the back end display code. @@ -168,7 +202,7 @@ Bool QuartzLoadDisplayBundle( return TRUE; } - +#ifdef GLXEXT /* * LoadGlxBundle * The Quartz mode X server needs to dynamically load the appropriate @@ -186,7 +220,7 @@ static void LoadGlxBundle(void) // Choose the bundle to load ErrorF("Loading GLX bundle "); - if (quartzUseAGL) { + if (/*quartzUseAGL*/0) { bundleName = CFStringCreateWithCStringNoCopy(kCFAllocatorDefault, quartzOpenGLBundle, kCFStringEncodingASCII, @@ -213,6 +247,14 @@ static void LoadGlxBundle(void) } // Find the GLX init functions + + + __DarwinglXMesaProvider = (void *) CFBundleGetDataPointerForName( + glxBundle, CFSTR("__glXMesaProvider")); + + GlxPushProvider = (void *) CFBundleGetFunctionPointerForName( + glxBundle, CFSTR("GlxPushProvider")); + GlxExtensionInit = (void *) CFBundleGetFunctionPointerForName( glxBundle, CFSTR("GlxExtensionInit")); @@ -227,7 +269,26 @@ static void LoadGlxBundle(void) CFRelease(bundleName); CFRelease(bundleURL); } +# endif +#else +Bool QuartzLoadDisplayBundle(const char *dpyBundleName) +{ + return TRUE; + } + +#endif + +#ifdef GLXEXT +void DarwinGlxPushProvider(void *impl) +{ +#ifndef INXQUARTZ + if (!GlxExtensionInit) + LoadGlxBundle(); +#endif + + GlxPushProvider(impl); +} /* * DarwinGlxExtensionInit @@ -235,9 +296,10 @@ static void LoadGlxBundle(void) */ void DarwinGlxExtensionInit(void) { +#ifndef INXQUARTZ if (!GlxExtensionInit) LoadGlxBundle(); - +#endif GlxExtensionInit(); } @@ -248,12 +310,13 @@ void DarwinGlxExtensionInit(void) void DarwinGlxWrapInitVisuals( miInitVisualsProcPtr *procPtr) { +#ifndef INXQUARTZ if (!GlxWrapInitVisuals) LoadGlxBundle(); - +#endif GlxWrapInitVisuals(procPtr); } - +#endif int DarwinModeProcessArgument( int argc, char *argv[], int i ) { diff --git a/xserver/hw/darwin/quartz/xpr/appledri.c b/xserver/hw/darwin/quartz/xpr/appledri.c index 6d9bae10f..ef68c867b 100644 --- a/xserver/hw/darwin/quartz/xpr/appledri.c +++ b/xserver/hw/darwin/quartz/xpr/appledri.c @@ -35,6 +35,9 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. * */ +#ifdef HAVE_XORG_CONFIG_H +#include +#endif #define NEED_REPLIES #define NEED_EVENTS #include @@ -213,6 +216,7 @@ ProcAppleDRICreateSurface( DrawablePtr pDrawable; xp_surface_id sid; unsigned int key[2]; + int rc; REQUEST(xAppleDRICreateSurfaceReq); REQUEST_SIZE_MATCH(xAppleDRICreateSurfaceReq); @@ -220,12 +224,10 @@ ProcAppleDRICreateSurface( rep.length = 0; rep.sequenceNumber = client->sequence; - if (!(pDrawable = (DrawablePtr)SecurityLookupDrawable( - (Drawable)stuff->drawable, - client, - SecurityReadAccess))) { - return BadValue; - } + rc = dixLookupDrawable(&pDrawable, stuff->drawable, client, 0, + DixReadAccess); + if (rc != Success) + return rc; rep.key_0 = rep.key_1 = rep.uid = 0; @@ -252,13 +254,12 @@ ProcAppleDRIDestroySurface( REQUEST(xAppleDRIDestroySurfaceReq); DrawablePtr pDrawable; REQUEST_SIZE_MATCH(xAppleDRIDestroySurfaceReq); + int rc; - if (!(pDrawable = (DrawablePtr)SecurityLookupDrawable( - (Drawable)stuff->drawable, - client, - SecurityReadAccess))) { - return BadValue; - } + rc = dixLookupDrawable(&pDrawable, stuff->drawable, client, 0, + DixReadAccess); + if (rc != Success) + return rc; if (!DRIDestroySurface( screenInfo.screens[stuff->screen], (Drawable)stuff->drawable, diff --git a/xserver/hw/darwin/quartz/xpr/dri.c b/xserver/hw/darwin/quartz/xpr/dri.c index 9aeaaa588..08ee38221 100644 --- a/xserver/hw/darwin/quartz/xpr/dri.c +++ b/xserver/hw/darwin/quartz/xpr/dri.c @@ -33,6 +33,9 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. * Rickard E. (Rik) Faith * */ +#ifdef HAVE_XORG_CONFIG_H +#include +#endif #include #include diff --git a/xserver/hw/darwin/quartz/xpr/x-hash.c b/xserver/hw/darwin/quartz/xpr/x-hash.c index 760b67210..6bbeacfab 100644 --- a/xserver/hw/darwin/quartz/xpr/x-hash.c +++ b/xserver/hw/darwin/quartz/xpr/x-hash.c @@ -1,5 +1,4 @@ /* x-hash.c - basic hash tables - $Id: x-hash.c,v 1.1.1.1 2006/11/26 18:16:43 matthieu Exp $ Copyright (c) 2002 Apple Computer, Inc. All rights reserved. @@ -27,7 +26,9 @@ copyright holders shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization. */ - +#ifdef HAVE_XORG_CONFIG_H +#include +#endif #include "x-hash.h" #include "x-list.h" #include diff --git a/xserver/hw/darwin/quartz/xpr/x-hash.h b/xserver/hw/darwin/quartz/xpr/x-hash.h index 848621f8d..3456dbedf 100644 --- a/xserver/hw/darwin/quartz/xpr/x-hash.h +++ b/xserver/hw/darwin/quartz/xpr/x-hash.h @@ -1,5 +1,4 @@ /* x-hash.h -- basic hash table class - $Id: x-hash.h,v 1.1.1.1 2006/11/26 18:16:43 matthieu Exp $ Copyright (c) 2002 Apple Computer, Inc. All rights reserved. diff --git a/xserver/hw/darwin/quartz/xpr/x-hook.c b/xserver/hw/darwin/quartz/xpr/x-hook.c index 2107e87f5..42915db6f 100644 --- a/xserver/hw/darwin/quartz/xpr/x-hook.c +++ b/xserver/hw/darwin/quartz/xpr/x-hook.c @@ -1,5 +1,4 @@ /* x-hook.c - $Id: x-hook.c,v 1.1.1.1 2006/11/26 18:16:44 matthieu Exp $ Copyright (c) 2003 Apple Computer, Inc. All rights reserved. @@ -27,8 +26,9 @@ copyright holders shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization. */ -/* $XFree86: $ */ - +#ifdef HAVE_XORG_CONFIG_H +#include +#endif #include "x-hook.h" #include #include diff --git a/xserver/hw/darwin/quartz/xpr/x-list.c b/xserver/hw/darwin/quartz/xpr/x-list.c index f94861a15..a5f835d84 100644 --- a/xserver/hw/darwin/quartz/xpr/x-list.c +++ b/xserver/hw/darwin/quartz/xpr/x-list.c @@ -1,5 +1,4 @@ /* x-list.c - $Id: x-list.c,v 1.1.1.1 2006/11/26 18:16:44 matthieu Exp $ Copyright (c) 2002 Apple Computer, Inc. All rights reserved. @@ -27,7 +26,9 @@ copyright holders shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization. */ - +#ifdef HAVE_XORG_CONFIG_H +#include +#endif #include "x-list.h" #include #include diff --git a/xserver/hw/darwin/quartz/xpr/x-list.h b/xserver/hw/darwin/quartz/xpr/x-list.h index 76f209dfe..04af024a2 100644 --- a/xserver/hw/darwin/quartz/xpr/x-list.h +++ b/xserver/hw/darwin/quartz/xpr/x-list.h @@ -1,5 +1,4 @@ /* x-list.h -- simple list type - $Id: x-list.h,v 1.1.1.1 2006/11/26 18:16:43 matthieu Exp $ Copyright (c) 2002 Apple Computer, Inc. All rights reserved. diff --git a/xserver/hw/darwin/quartz/xpr/xprAppleWM.c b/xserver/hw/darwin/quartz/xpr/xprAppleWM.c index 21746f6e9..fdf404c2d 100644 --- a/xserver/hw/darwin/quartz/xpr/xprAppleWM.c +++ b/xserver/hw/darwin/quartz/xpr/xprAppleWM.c @@ -27,14 +27,15 @@ * holders shall not be used in advertising or otherwise to promote the sale, * use or other dealings in this Software without prior written authorization. */ - +#ifdef HAVE_XORG_CONFIG_H +#include +#endif #include "xpr.h" -#include "applewmExt.h" +#include "quartz/applewmExt.h" #include "rootless.h" #include "Xplugin.h" #include - static int xprSetWindowLevel( WindowPtr pWin, int level) diff --git a/xserver/hw/darwin/quartz/xpr/xprCursor.c b/xserver/hw/darwin/quartz/xpr/xprCursor.c index cb949dadc..e7f23b78b 100644 --- a/xserver/hw/darwin/quartz/xpr/xprCursor.c +++ b/xserver/hw/darwin/quartz/xpr/xprCursor.c @@ -30,8 +30,10 @@ * holders shall not be used in advertising or otherwise to promote the sale, * use or other dealings in this Software without prior written authorization. */ - -#include "quartzCommon.h" +#ifdef HAVE_XORG_CONFIG_H +#include +#endif +#include "quartz/quartzCommon.h" #include "xpr.h" #include "darwin.h" #include "Xplugin.h" diff --git a/xserver/hw/darwin/quartz/xpr/xprFrame.c b/xserver/hw/darwin/quartz/xpr/xprFrame.c index ed02d4b62..b71b2a606 100644 --- a/xserver/hw/darwin/quartz/xpr/xprFrame.c +++ b/xserver/hw/darwin/quartz/xpr/xprFrame.c @@ -27,13 +27,15 @@ * holders shall not be used in advertising or otherwise to promote the sale, * use or other dealings in this Software without prior written authorization. */ - +#ifdef HAVE_XORG_CONFIG_H +#include +#endif #include "xpr.h" #include "rootlessCommon.h" #include "Xplugin.h" #include "x-hash.h" #include "x-list.h" -#include "applewmExt.h" +#include "quartz/applewmExt.h" #include "propertyst.h" #include "dix.h" diff --git a/xserver/hw/darwin/quartz/xpr/xprScreen.c b/xserver/hw/darwin/quartz/xpr/xprScreen.c index 1755ca6f7..67a0737ef 100644 --- a/xserver/hw/darwin/quartz/xpr/xprScreen.c +++ b/xserver/hw/darwin/quartz/xpr/xprScreen.c @@ -27,18 +27,20 @@ * holders shall not be used in advertising or otherwise to promote the sale, * use or other dealings in this Software without prior written authorization. */ - -#include "quartzCommon.h" -#include "quartz.h" +#ifdef HAVE_XORG_CONFIG_H +#include +#endif +#include "quartz/quartzCommon.h" +#include "quartz/quartz.h" #include "xpr.h" -#include "pseudoramiX.h" +#include "quartz/pseudoramiX.h" #include "darwin.h" #include "rootless.h" -#include "safeAlpha.h" +#include "safeAlpha/safeAlpha.h" #include "dri.h" #include "globals.h" #include "Xplugin.h" -#include "applewmExt.h" +#include "quartz/applewmExt.h" #ifdef DAMAGE # include "damage.h" @@ -47,7 +49,6 @@ // Name of GLX bundle for native OpenGL static const char *xprOpenGLBundle = "glxCGL.bundle"; - /* * eventHandler * Callback handler for Xplugin events. @@ -98,7 +99,6 @@ eventHandler(unsigned int type, const void *arg, } } - /* * displayScreenBounds * Return the display ID for a particular display index. @@ -117,7 +117,6 @@ displayAtIndex(int index) return kCGNullDirectDisplay; } - /* * displayScreenBounds * Return the bounds of a particular display. @@ -140,7 +139,6 @@ displayScreenBounds(CGDirectDisplayID id) return frame; } - /* * xprAddPseudoramiXScreens * Add a single virtual screen encompassing all the physical screens @@ -196,7 +194,6 @@ xprAddPseudoramiXScreens(int *x, int *y, int *width, int *height) xfree(displayList); } - /* * xprDisplayInit * Find number of CoreGraphics displays and initialize Xplugin. @@ -219,9 +216,7 @@ xprDisplayInit(void) darwinScreensFound = 1; if (xp_init(XP_IN_BACKGROUND) != Success) - { FatalError("Could not initialize the Xplugin library."); - } xp_select_events(XP_EVENT_DISPLAY_CHANGED | XP_EVENT_WINDOW_STATE_CHANGED @@ -234,7 +229,6 @@ xprDisplayInit(void) xprAppleWMInit(); } - /* * xprAddScreen * Init the framebuffer and record pixmap parameters for the screen. @@ -304,7 +298,6 @@ xprAddScreen(int index, ScreenPtr pScreen) return TRUE; } - /* * xprSetupScreen * Setup the screen for rootless access. @@ -341,7 +334,6 @@ xprSetupScreen(int index, ScreenPtr pScreen) return DRIFinishScreenInit(pScreen); } - /* * xprUpdateScreen * Update screen after configuation change. @@ -358,7 +350,6 @@ xprUpdateScreen(ScreenPtr pScreen) RootlessUpdateScreenPixmap(pScreen); } - /* * xprInitInput * Finalize xpr specific setup. @@ -375,7 +366,6 @@ xprInitInput(int argc, char **argv) AppleWMSetScreenOrigin(WindowTable[i]); } - /* * Quartz display mode function list. */ @@ -401,7 +391,6 @@ static QuartzModeProcsRec xprModeProcs = { DRIDestroySurface }; - /* * QuartzModeBundleInit * Initialize the display mode bundle after loading. diff --git a/xserver/hw/darwin/utils/Makefile.am b/xserver/hw/darwin/utils/Makefile.am new file mode 100644 index 000000000..11a26111e --- /dev/null +++ b/xserver/hw/darwin/utils/Makefile.am @@ -0,0 +1,11 @@ +bin_PROGRAMS = dumpkeymap + +dumpkeymap_SOURCES = dumpkeymap.c + +dumpkeymap_LDFLAGS = -Wl,-framework,IOKit + +man1_MANS = dumpkeymap.man + +EXTRA_DIST = \ + README.txt \ + dumpkeymap.man diff --git a/xserver/hw/darwin/utils/Makefile.in b/xserver/hw/darwin/utils/Makefile.in new file mode 100644 index 000000000..bc2ed9950 --- /dev/null +++ b/xserver/hw/darwin/utils/Makefile.in @@ -0,0 +1,703 @@ +# Makefile.in generated by automake 1.10 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +bin_PROGRAMS = dumpkeymap$(EXEEXT) +subdir = hw/darwin/utils +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/include/do-not-use-config.h \ + $(top_builddir)/include/xorg-server.h \ + $(top_builddir)/include/dix-config.h \ + $(top_builddir)/include/xgl-config.h \ + $(top_builddir)/include/xorg-config.h \ + $(top_builddir)/include/xkb-config.h \ + $(top_builddir)/include/xwin-config.h \ + $(top_builddir)/include/kdrive-config.h +CONFIG_CLEAN_FILES = +am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)" +binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) +PROGRAMS = $(bin_PROGRAMS) +am_dumpkeymap_OBJECTS = dumpkeymap.$(OBJEXT) +dumpkeymap_OBJECTS = $(am_dumpkeymap_OBJECTS) +dumpkeymap_LDADD = $(LDADD) +dumpkeymap_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(dumpkeymap_LDFLAGS) $(LDFLAGS) -o $@ +DEFAULT_INCLUDES = -I. -I$(top_builddir)/include@am__isrc@ +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ +SOURCES = $(dumpkeymap_SOURCES) +DIST_SOURCES = $(dumpkeymap_SOURCES) +man1dir = $(mandir)/man1 +NROFF = nroff +MANS = $(man1_MANS) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ +ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ +ALLOCA = @ALLOCA@ +AMTAR = @AMTAR@ +APPDEFAULTDIR = @APPDEFAULTDIR@ +APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +APP_MAN_DIR = @APP_MAN_DIR@ +APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ +AR = @AR@ +AS = @AS@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +BASE_FONT_PATH = @BASE_FONT_PATH@ +BUILD_DATE = @BUILD_DATE@ +BUILD_TIME = @BUILD_TIME@ +CC = @CC@ +CCAS = @CCAS@ +CCASDEPMODE = @CCASDEPMODE@ +CCASFLAGS = @CCASFLAGS@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +COMPILEDDEFAULTFONTPATH = @COMPILEDDEFAULTFONTPATH@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DARWIN_LIBS = @DARWIN_LIBS@ +DBUS_CFLAGS = @DBUS_CFLAGS@ +DBUS_LIBS = @DBUS_LIBS@ +DEFAULT_LIBRARY_PATH = @DEFAULT_LIBRARY_PATH@ +DEFAULT_LOGPREFIX = @DEFAULT_LOGPREFIX@ +DEFAULT_MODULE_PATH = @DEFAULT_MODULE_PATH@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DGA_CFLAGS = @DGA_CFLAGS@ +DGA_LIBS = @DGA_LIBS@ +DIX_CFLAGS = @DIX_CFLAGS@ +DLLTOOL = @DLLTOOL@ +DMXEXAMPLES_DEP_CFLAGS = @DMXEXAMPLES_DEP_CFLAGS@ +DMXEXAMPLES_DEP_LIBS = @DMXEXAMPLES_DEP_LIBS@ +DMXMODULES_CFLAGS = @DMXMODULES_CFLAGS@ +DMXMODULES_LIBS = @DMXMODULES_LIBS@ +DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ +DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ +DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ +DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ +DRIPROTO_LIBS = @DRIPROTO_LIBS@ +DRIVER_MAN_DIR = @DRIVER_MAN_DIR@ +DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ +DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ +DTRACE = @DTRACE@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +FILE_MAN_DIR = @FILE_MAN_DIR@ +FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ +FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ +FREETYPE_LIBS = @FREETYPE_LIBS@ +FREETYPE_REQUIRES = @FREETYPE_REQUIRES@ +GLX_DEFINES = @GLX_DEFINES@ +GL_CFLAGS = @GL_CFLAGS@ +GL_LIBS = @GL_LIBS@ +GREP = @GREP@ +HAL_CFLAGS = @HAL_CFLAGS@ +HAL_LIBS = @HAL_LIBS@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +KDRIVE_CFLAGS = @KDRIVE_CFLAGS@ +KDRIVE_INCS = @KDRIVE_INCS@ +KDRIVE_LIBS = @KDRIVE_LIBS@ +KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ +KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ +KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ +LDFLAGS = @LDFLAGS@ +LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ +LEX = @LEX@ +LEXLIB = @LEXLIB@ +LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ +LIBDRM_CFLAGS = @LIBDRM_CFLAGS@ +LIBDRM_LIBS = @LIBDRM_LIBS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIB_MAN_DIR = @LIB_MAN_DIR@ +LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ +LINUXDOC = @LINUXDOC@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAKEINFO = @MAKEINFO@ +MAKE_HTML = @MAKE_HTML@ +MAKE_PDF = @MAKE_PDF@ +MAKE_PS = @MAKE_PS@ +MAKE_TEXT = @MAKE_TEXT@ +MESA_SOURCE = @MESA_SOURCE@ +MISC_MAN_DIR = @MISC_MAN_DIR@ +MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ +MKDIR_P = @MKDIR_P@ +MKFONTDIR = @MKFONTDIR@ +MKFONTSCALE = @MKFONTSCALE@ +OBJC = @OBJC@ +OBJCCLD = @OBJCCLD@ +OBJCDEPMODE = @OBJCDEPMODE@ +OBJCFLAGS = @OBJCFLAGS@ +OBJCLINK = @OBJCLINK@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PERL = @PERL@ +PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ +PIXMAN_LIBS = @PIXMAN_LIBS@ +PKG_CONFIG = @PKG_CONFIG@ +PLIST_VENDOR_WEB = @PLIST_VENDOR_WEB@ +PLIST_VERSION_STRING = @PLIST_VERSION_STRING@ +PROJECTROOT = @PROJECTROOT@ +PS2PDF = @PS2PDF@ +RANLIB = @RANLIB@ +RAWCPP = @RAWCPP@ +RAWCPPFLAGS = @RAWCPPFLAGS@ +RGB_DB = @RGB_DB@ +SERVERCONFIGdir = @SERVERCONFIGdir@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ +SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ +STRIP = @STRIP@ +SYS_LIBS = @SYS_LIBS@ +TSLIB_CFLAGS = @TSLIB_CFLAGS@ +TSLIB_LIBS = @TSLIB_LIBS@ +VENDOR_MAN_VERSION = @VENDOR_MAN_VERSION@ +VENDOR_NAME = @VENDOR_NAME@ +VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ +VENDOR_RELEASE = @VENDOR_RELEASE@ +VERSION = @VERSION@ +X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ +X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ +XDMCP_CFLAGS = @XDMCP_CFLAGS@ +XDMCP_LIBS = @XDMCP_LIBS@ +XDMXCONFIG_DEP_CFLAGS = @XDMXCONFIG_DEP_CFLAGS@ +XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@ +XDMX_LIBS = @XDMX_LIBS@ +XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ +XEGLMODULES_LIBS = @XEGLMODULES_LIBS@ +XEGL_LIBS = @XEGL_LIBS@ +XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ +XEPHYR_INCS = @XEPHYR_INCS@ +XEPHYR_LIBS = @XEPHYR_LIBS@ +XERRORDB_PATH = @XERRORDB_PATH@ +XF86CONFIGFILE = @XF86CONFIGFILE@ +XF86MISC_CFLAGS = @XF86MISC_CFLAGS@ +XF86MISC_LIBS = @XF86MISC_LIBS@ +XF86VIDMODE_CFLAGS = @XF86VIDMODE_CFLAGS@ +XF86VIDMODE_LIBS = @XF86VIDMODE_LIBS@ +XGLMODULES_CFLAGS = @XGLMODULES_CFLAGS@ +XGLMODULES_LIBS = @XGLMODULES_LIBS@ +XGLXMODULES_CFLAGS = @XGLXMODULES_CFLAGS@ +XGLXMODULES_LIBS = @XGLXMODULES_LIBS@ +XGLX_LIBS = @XGLX_LIBS@ +XGL_LIBS = @XGL_LIBS@ +XGL_MODULE_PATH = @XGL_MODULE_PATH@ +XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ +XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ +XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ +XKM_OUTPUT_DIR = @XKM_OUTPUT_DIR@ +XLIB_CFLAGS = @XLIB_CFLAGS@ +XLIB_LIBS = @XLIB_LIBS@ +XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ +XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ +XNEST_LIBS = @XNEST_LIBS@ +XORGCFG_DEP_CFLAGS = @XORGCFG_DEP_CFLAGS@ +XORGCFG_DEP_LIBS = @XORGCFG_DEP_LIBS@ +XORGCONFIG_DEP_CFLAGS = @XORGCONFIG_DEP_CFLAGS@ +XORGCONFIG_DEP_LIBS = @XORGCONFIG_DEP_LIBS@ +XORG_CFLAGS = @XORG_CFLAGS@ +XORG_CORE_LIBS = @XORG_CORE_LIBS@ +XORG_INCS = @XORG_INCS@ +XORG_LIBS = @XORG_LIBS@ +XORG_MODULES_CFLAGS = @XORG_MODULES_CFLAGS@ +XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ +XORG_OS = @XORG_OS@ +XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ +XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ +XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ +XPRINT_CFLAGS = @XPRINT_CFLAGS@ +XPRINT_LIBS = @XPRINT_LIBS@ +XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ +XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ +XSDL_INCS = @XSDL_INCS@ +XSDL_LIBS = @XSDL_LIBS@ +XSERVERCFLAGS_CFLAGS = @XSERVERCFLAGS_CFLAGS@ +XSERVERCFLAGS_LIBS = @XSERVERCFLAGS_LIBS@ +XSERVERLIBS_CFLAGS = @XSERVERLIBS_CFLAGS@ +XSERVERLIBS_LIBS = @XSERVERLIBS_LIBS@ +XSERVER_LIBS = @XSERVER_LIBS@ +XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ +XTSTEXAMPLES_DEP_LIBS = @XTSTEXAMPLES_DEP_LIBS@ +XVFB_LIBS = @XVFB_LIBS@ +XWINMODULES_CFLAGS = @XWINMODULES_CFLAGS@ +XWINMODULES_LIBS = @XWINMODULES_LIBS@ +XWIN_LIBS = @XWIN_LIBS@ +XWIN_SERVER_NAME = @XWIN_SERVER_NAME@ +XWIN_SYSTEM_LIBS = @XWIN_SYSTEM_LIBS@ +YACC = @YACC@ +YFLAGS = @YFLAGS@ +__XCONFIGFILE__ = @__XCONFIGFILE__@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +driverdir = @driverdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +extdir = @extdir@ +ft_config = @ft_config@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +logdir = @logdir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +moduledir = @moduledir@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sdkdir = @sdkdir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +xglmoduledir = @xglmoduledir@ +xpconfigdir = @xpconfigdir@ +dumpkeymap_SOURCES = dumpkeymap.c +dumpkeymap_LDFLAGS = -Wl,-framework,IOKit +man1_MANS = dumpkeymap.man +EXTRA_DIST = \ + README.txt \ + dumpkeymap.man + +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign hw/darwin/utils/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --foreign hw/darwin/utils/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +install-binPROGRAMS: $(bin_PROGRAMS) + @$(NORMAL_INSTALL) + test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + if test -f $$p \ + || test -f $$p1 \ + ; then \ + f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ + $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \ + else :; fi; \ + done + +uninstall-binPROGRAMS: + @$(NORMAL_UNINSTALL) + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ + rm -f "$(DESTDIR)$(bindir)/$$f"; \ + done + +clean-binPROGRAMS: + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f $$p $$f"; \ + rm -f $$p $$f ; \ + done +dumpkeymap$(EXEEXT): $(dumpkeymap_OBJECTS) $(dumpkeymap_DEPENDENCIES) + @rm -f dumpkeymap$(EXEEXT) + $(dumpkeymap_LINK) $(dumpkeymap_OBJECTS) $(dumpkeymap_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dumpkeymap.Po@am__quote@ + +.c.o: +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c $< + +.c.obj: +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` + +.c.lo: +@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-man1: $(man1_MANS) $(man_MANS) + @$(NORMAL_INSTALL) + test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)" + @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \ + l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ + for i in $$l2; do \ + case "$$i" in \ + *.1*) list="$$list $$i" ;; \ + esac; \ + done; \ + for i in $$list; do \ + if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ + else file=$$i; fi; \ + ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 1*) ;; \ + *) ext='1' ;; \ + esac; \ + inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ + inst=`echo $$inst | sed -e 's/^.*\///'`; \ + inst=`echo $$inst | sed '$(transform)'`.$$ext; \ + echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ + $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst"; \ + done +uninstall-man1: + @$(NORMAL_UNINSTALL) + @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \ + l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ + for i in $$l2; do \ + case "$$i" in \ + *.1*) list="$$list $$i" ;; \ + esac; \ + done; \ + for i in $$list; do \ + ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 1*) ;; \ + *) ext='1' ;; \ + esac; \ + inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ + inst=`echo $$inst | sed -e 's/^.*\///'`; \ + inst=`echo $$inst | sed '$(transform)'`.$$ext; \ + echo " rm -f '$(DESTDIR)$(man1dir)/$$inst'"; \ + rm -f "$(DESTDIR)$(man1dir)/$$inst"; \ + done + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(PROGRAMS) $(MANS) +installdirs: + for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-man + +install-dvi: install-dvi-am + +install-exec-am: install-binPROGRAMS + +install-html: install-html-am + +install-info: install-info-am + +install-man: install-man1 + +install-pdf: install-pdf-am + +install-ps: install-ps-am + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-binPROGRAMS uninstall-man + +uninstall-man: uninstall-man1 + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \ + clean-generic clean-libtool ctags distclean distclean-compile \ + distclean-generic distclean-libtool distclean-tags distdir dvi \ + dvi-am html html-am info info-am install install-am \ + install-binPROGRAMS install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-man1 install-pdf install-pdf-am install-ps \ + install-ps-am install-strip installcheck installcheck-am \ + installdirs maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \ + uninstall-am uninstall-binPROGRAMS uninstall-man \ + uninstall-man1 + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/xserver/hw/dmx/Makefile.am b/xserver/hw/dmx/Makefile.am index 89136b904..002ea112a 100644 --- a/xserver/hw/dmx/Makefile.am +++ b/xserver/hw/dmx/Makefile.am @@ -16,13 +16,18 @@ GLX_INCS = -I$(top_srcdir)/hw/xfree86/dixmods/extmod \ GLX_DEFS = @GL_CFLAGS@ endif -# It's essential that fbcmap.c be compiled with this flag for DMX to work!! -DMX_CFLAGS = -DXFree86Server=1 - if BUILDDOCS SUBDIRS += doc endif +AM_CFLAGS = \ + -DHAVE_DMX_CONFIG_H \ + $(DIX_CFLAGS) \ + $(GLX_INCS) \ + $(GLX_DEFS) \ + $(DMX_CFLAGS) \ + @DMXMODULES_CFLAGS@ + Xdmx_SOURCES = dmx.c \ dmxcb.c \ dmxcb.h \ @@ -67,8 +72,8 @@ Xdmx_SOURCES = dmx.c \ dmxvisual.h \ dmxwindow.c \ dmxwindow.h \ - $(top_srcdir)/fb/fbcmap.c \ $(top_srcdir)/mi/miinitext.c \ + $(top_srcdir)/fb/fbcmap_mi.c \ $(GLX_SRCS) @@ -84,14 +89,6 @@ Xdmx_LDADD = $(XORG_CORE_LIBS) \ config/libdmxconfig.a \ @DMXMODULES_LIBS@ -Xdmx_CFLAGS = \ - -DHAVE_DMX_CONFIG_H \ - $(DIX_CFLAGS) \ - $(GLX_INCS) \ - $(GLX_DEFS) \ - $(DMX_CFLAGS) \ - @DMXMODULES_CFLAGS@ - # Man page appmandir = $(APP_MAN_DIR) diff --git a/xserver/hw/dmx/config/Canvas.c b/xserver/hw/dmx/config/Canvas.c index 4dccd7382..c2eba876a 100644 --- a/xserver/hw/dmx/config/Canvas.c +++ b/xserver/hw/dmx/config/Canvas.c @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 1987, 1998 The Open Group * diff --git a/xserver/hw/dmx/config/Canvas.h b/xserver/hw/dmx/config/Canvas.h index a36851a6d..fe9a57f21 100644 --- a/xserver/hw/dmx/config/Canvas.h +++ b/xserver/hw/dmx/config/Canvas.h @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* Copyright 1987, 1998 The Open Group diff --git a/xserver/hw/dmx/config/CanvasP.h b/xserver/hw/dmx/config/CanvasP.h index 98f95b94e..cf43710f1 100644 --- a/xserver/hw/dmx/config/CanvasP.h +++ b/xserver/hw/dmx/config/CanvasP.h @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* Copyright 1987, 1998 The Open Group diff --git a/xserver/hw/dmx/config/Makefile.am b/xserver/hw/dmx/config/Makefile.am index fbc7f35a1..c31e04942 100644 --- a/xserver/hw/dmx/config/Makefile.am +++ b/xserver/hw/dmx/config/Makefile.am @@ -27,7 +27,7 @@ endif AM_YFLAGS = -d AM_CFLAGS = \ - \ + $(DIX_CFLAGS) \ -I$(top_srcdir)/hw/dmx \ $(GLX_INCS) \ -DHAVE_DMX_CONFIG_H \ diff --git a/xserver/hw/dmx/config/dmxcompat.c b/xserver/hw/dmx/config/dmxcompat.c index 3681e8aa2..b4190ffcc 100644 --- a/xserver/hw/dmx/config/dmxcompat.c +++ b/xserver/hw/dmx/config/dmxcompat.c @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2002 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/config/dmxcompat.h b/xserver/hw/dmx/config/dmxcompat.h index 416ec7873..718892040 100644 --- a/xserver/hw/dmx/config/dmxcompat.h +++ b/xserver/hw/dmx/config/dmxcompat.h @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2002 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/config/dmxconfig.c b/xserver/hw/dmx/config/dmxconfig.c index 353ce11db..225d89277 100644 --- a/xserver/hw/dmx/config/dmxconfig.c +++ b/xserver/hw/dmx/config/dmxconfig.c @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2002-2003 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/config/dmxconfig.h b/xserver/hw/dmx/config/dmxconfig.h index b5c0c1f1c..7c9dbc799 100644 --- a/xserver/hw/dmx/config/dmxconfig.h +++ b/xserver/hw/dmx/config/dmxconfig.h @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2002 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/config/dmxparse.c b/xserver/hw/dmx/config/dmxparse.c index 1acb6d13e..0bf947051 100644 --- a/xserver/hw/dmx/config/dmxparse.c +++ b/xserver/hw/dmx/config/dmxparse.c @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2002 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/config/dmxparse.h b/xserver/hw/dmx/config/dmxparse.h index 8ea84f4e3..de81d23b7 100644 --- a/xserver/hw/dmx/config/dmxparse.h +++ b/xserver/hw/dmx/config/dmxparse.h @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2002 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/config/dmxprint.c b/xserver/hw/dmx/config/dmxprint.c index ed3fc213d..599ebf5df 100644 --- a/xserver/hw/dmx/config/dmxprint.c +++ b/xserver/hw/dmx/config/dmxprint.c @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2002 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/config/dmxprint.h b/xserver/hw/dmx/config/dmxprint.h index b68c29620..d162dea95 100644 --- a/xserver/hw/dmx/config/dmxprint.h +++ b/xserver/hw/dmx/config/dmxprint.h @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2002 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/config/dmxtodmx.c b/xserver/hw/dmx/config/dmxtodmx.c index 706c49908..0d4ee4c09 100644 --- a/xserver/hw/dmx/config/dmxtodmx.c +++ b/xserver/hw/dmx/config/dmxtodmx.c @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2002 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/config/parser.c b/xserver/hw/dmx/config/parser.c index 686cc9953..c8fc62e8b 100644 --- a/xserver/hw/dmx/config/parser.c +++ b/xserver/hw/dmx/config/parser.c @@ -1,9 +1,7 @@ -/* A Bison parser, made by GNU Bison 2.3. */ +/* A Bison parser, made from /home/anholt/xserver-stable/hw/dmx/config/parser.y, by GNU bison 1.75. */ -/* Skeleton implementation for Bison's Yacc-like parsers in C - - Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 - Free Software Foundation, Inc. +/* Skeleton parser for Yacc-like parsing with Bison, + Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -17,24 +15,16 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. */ + Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ -/* As a special exception, you may create a larger work that contains - part or all of the Bison parser skeleton and distribute that work - under terms of your choice, so long as that work isn't itself a - parser generator using the skeleton or a modified version thereof - as a parser skeleton. Alternatively, if you modify or redistribute - the parser skeleton itself, you may (at your option) remove this - special exception, which will cause the skeleton and the resulting - Bison output files to be licensed under the GNU General Public - License without this special exception. +/* As a special exception, when this file is copied by Bison into a + Bison output file, you may use that output file without restriction. + This special exception was added by the Free Software Foundation + in version 1.24 of Bison. */ - This special exception was added by the Free Software Foundation in - version 2.2 of Bison. */ - -/* C LALR(1) parser skeleton written by Richard Stallman, by - simplifying the original so-called "semantic" parser. */ +/* Written by Richard Stallman by simplifying the original so called + ``semantic'' parser. */ /* All symbols defined below should begin with yy or YY, to avoid infringing on user name space. This should be done even for local @@ -44,16 +34,10 @@ USER NAME SPACE" below. */ /* Identify Bison output. */ -#define YYBISON 1 - -/* Bison version. */ -#define YYBISON_VERSION "2.3" - -/* Skeleton name. */ -#define YYSKELETON_NAME "yacc.c" +#define YYBISON 1 /* Pure parsers. */ -#define YYPURE 0 +#define YYPURE 0 /* Using locations. */ #define YYLSP_NEEDED 0 @@ -79,7 +63,6 @@ T_LINE_COMMENT = 268 }; #endif -/* Tokens. */ #define T_VIRTUAL 258 #define T_DISPLAY 259 #define T_WALL 260 @@ -131,15 +114,9 @@ DMXConfigEntryPtr dmxConfigEntry = NULL; # define YYERROR_VERBOSE 0 #endif -/* Enabling the token table. */ -#ifndef YYTOKEN_TABLE -# define YYTOKEN_TABLE 0 -#endif - -#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED -typedef union YYSTYPE +#ifndef YYSTYPE #line 56 "parser.y" -{ +typedef union { DMXConfigTokenPtr token; DMXConfigStringPtr string; DMXConfigNumberPtr number; @@ -154,212 +131,98 @@ typedef union YYSTYPE DMXConfigSubPtr subentry; DMXConfigVirtualPtr virtual; DMXConfigEntryPtr entry; -} -/* Line 193 of yacc.c. */ -#line 160 "parser.c" - YYSTYPE; -# define yystype YYSTYPE /* obsolescent; will be withdrawn */ -# define YYSTYPE_IS_DECLARED 1 +} yystype; +/* Line 188 of /usr/local/share/bison/yacc.c. */ +#line 137 "parser.c" +# define YYSTYPE yystype # define YYSTYPE_IS_TRIVIAL 1 #endif - +#ifndef YYLTYPE +typedef struct yyltype +{ + int first_line; + int first_column; + int last_line; + int last_column; +} yyltype; +# define YYLTYPE yyltype +# define YYLTYPE_IS_TRIVIAL 1 +#endif /* Copy the second part of user declarations. */ -/* Line 216 of yacc.c. */ -#line 173 "parser.c" +/* Line 213 of /usr/local/share/bison/yacc.c. */ +#line 158 "parser.c" -#ifdef short -# undef short -#endif - -#ifdef YYTYPE_UINT8 -typedef YYTYPE_UINT8 yytype_uint8; -#else -typedef unsigned char yytype_uint8; -#endif - -#ifdef YYTYPE_INT8 -typedef YYTYPE_INT8 yytype_int8; -#elif (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -typedef signed char yytype_int8; -#else -typedef short int yytype_int8; -#endif - -#ifdef YYTYPE_UINT16 -typedef YYTYPE_UINT16 yytype_uint16; -#else -typedef unsigned short int yytype_uint16; -#endif - -#ifdef YYTYPE_INT16 -typedef YYTYPE_INT16 yytype_int16; -#else -typedef short int yytype_int16; -#endif - -#ifndef YYSIZE_T -# ifdef __SIZE_TYPE__ -# define YYSIZE_T __SIZE_TYPE__ -# elif defined size_t -# define YYSIZE_T size_t -# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -# include /* INFRINGES ON USER NAME SPACE */ -# define YYSIZE_T size_t -# else -# define YYSIZE_T unsigned int -# endif -#endif - -#define YYSIZE_MAXIMUM ((YYSIZE_T) -1) - -#ifndef YY_ -# if YYENABLE_NLS -# if ENABLE_NLS -# include /* INFRINGES ON USER NAME SPACE */ -# define YY_(msgid) dgettext ("bison-runtime", msgid) -# endif -# endif -# ifndef YY_ -# define YY_(msgid) msgid -# endif -#endif - -/* Suppress unused-variable warnings by "using" E. */ -#if ! defined lint || defined __GNUC__ -# define YYUSE(e) ((void) (e)) -#else -# define YYUSE(e) /* empty */ -#endif - -/* Identity function, used to suppress warnings about constant conditions. */ -#ifndef lint -# define YYID(n) (n) -#else -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -static int -YYID (int i) -#else -static int -YYID (i) - int i; -#endif -{ - return i; -} -#endif - -#if ! defined yyoverflow || YYERROR_VERBOSE +#if ! defined (yyoverflow) || YYERROR_VERBOSE /* The parser invokes alloca or malloc; define the necessary symbols. */ -# ifdef YYSTACK_USE_ALLOCA -# if YYSTACK_USE_ALLOCA -# ifdef __GNUC__ -# define YYSTACK_ALLOC __builtin_alloca -# elif defined __BUILTIN_VA_ARG_INCR -# include /* INFRINGES ON USER NAME SPACE */ -# elif defined _AIX -# define YYSTACK_ALLOC __alloca -# elif defined _MSC_VER -# include /* INFRINGES ON USER NAME SPACE */ -# define alloca _alloca -# else +# if YYSTACK_USE_ALLOCA +# define YYSTACK_ALLOC alloca +# else +# ifndef YYSTACK_USE_ALLOCA +# if defined (alloca) || defined (_ALLOCA_H) # define YYSTACK_ALLOC alloca -# if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -# include /* INFRINGES ON USER NAME SPACE */ -# ifndef _STDLIB_H -# define _STDLIB_H 1 -# endif +# else +# ifdef __GNUC__ +# define YYSTACK_ALLOC __builtin_alloca # endif # endif # endif # endif # ifdef YYSTACK_ALLOC - /* Pacify GCC's `empty if-body' warning. */ -# define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0)) -# ifndef YYSTACK_ALLOC_MAXIMUM - /* The OS might guarantee only one guard page at the bottom of the stack, - and a page size can be as small as 4096 bytes. So we cannot safely - invoke alloca (N) if N exceeds 4096. Use a slightly smaller number - to allow for a few compiler-allocated temporary stack slots. */ -# define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */ -# endif + /* Pacify GCC's `empty if-body' warning. */ +# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0) # else -# define YYSTACK_ALLOC YYMALLOC -# define YYSTACK_FREE YYFREE -# ifndef YYSTACK_ALLOC_MAXIMUM -# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM -# endif -# if (defined __cplusplus && ! defined _STDLIB_H \ - && ! ((defined YYMALLOC || defined malloc) \ - && (defined YYFREE || defined free))) +# if defined (__STDC__) || defined (__cplusplus) # include /* INFRINGES ON USER NAME SPACE */ -# ifndef _STDLIB_H -# define _STDLIB_H 1 -# endif -# endif -# ifndef YYMALLOC -# define YYMALLOC malloc -# if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ -# endif -# endif -# ifndef YYFREE -# define YYFREE free -# if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -void free (void *); /* INFRINGES ON USER NAME SPACE */ -# endif +# define YYSIZE_T size_t # endif +# define YYSTACK_ALLOC malloc +# define YYSTACK_FREE free # endif -#endif /* ! defined yyoverflow || YYERROR_VERBOSE */ +#endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */ -#if (! defined yyoverflow \ - && (! defined __cplusplus \ - || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) +#if (! defined (yyoverflow) \ + && (! defined (__cplusplus) \ + || (YYLTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) /* A type that is properly aligned for any stack member. */ union yyalloc { - yytype_int16 yyss; + short yyss; YYSTYPE yyvs; }; /* The size of the maximum gap between one aligned stack and the next. */ -# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) +# define YYSTACK_GAP_MAX (sizeof (union yyalloc) - 1) /* The size of an array large to enough to hold all stacks, each with N elements. */ # define YYSTACK_BYTES(N) \ - ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \ - + YYSTACK_GAP_MAXIMUM) + ((N) * (sizeof (short) + sizeof (YYSTYPE)) \ + + YYSTACK_GAP_MAX) /* Copy COUNT objects from FROM to TO. The source and destination do not overlap. */ # ifndef YYCOPY -# if defined __GNUC__ && 1 < __GNUC__ +# if 1 < __GNUC__ # define YYCOPY(To, From, Count) \ __builtin_memcpy (To, From, (Count) * sizeof (*(From))) # else # define YYCOPY(To, From, Count) \ do \ { \ - YYSIZE_T yyi; \ + register YYSIZE_T yyi; \ for (yyi = 0; yyi < (Count); yyi++) \ - (To)[yyi] = (From)[yyi]; \ + (To)[yyi] = (From)[yyi]; \ } \ - while (YYID (0)) + while (0) # endif # endif @@ -374,36 +237,41 @@ union yyalloc YYSIZE_T yynewbytes; \ YYCOPY (&yyptr->Stack, Stack, yysize); \ Stack = &yyptr->Stack; \ - yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ + yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAX; \ yyptr += yynewbytes / sizeof (*yyptr); \ } \ - while (YYID (0)) + while (0) #endif -/* YYFINAL -- State number of the termination state. */ +#if defined (__STDC__) || defined (__cplusplus) + typedef signed char yysigned_char; +#else + typedef short yysigned_char; +#endif + +/* YYFINAL -- State number of the termination state. */ #define YYFINAL 13 -/* YYLAST -- Last index in YYTABLE. */ #define YYLAST 106 -/* YYNTOKENS -- Number of terminals. */ +/* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 18 -/* YYNNTS -- Number of nonterminals. */ +/* YYNNTS -- Number of nonterminals. */ #define YYNNTS 25 -/* YYNRULES -- Number of rules. */ +/* YYNRULES -- Number of rules. */ #define YYNRULES 59 -/* YYNRULES -- Number of states. */ +/* YYNRULES -- Number of states. */ #define YYNSTATES 95 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 #define YYMAXUTOK 268 -#define YYTRANSLATE(YYX) \ - ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) +#define YYTRANSLATE(X) \ + ((unsigned)(X) <= YYMAXUTOK ? yytranslate[X] : YYUNDEFTOK) /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */ -static const yytype_uint8 yytranslate[] = +static const unsigned char yytranslate[] = { 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -437,7 +305,7 @@ static const yytype_uint8 yytranslate[] = #if YYDEBUG /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in YYRHS. */ -static const yytype_uint8 yyprhs[] = +static const unsigned char yyprhs[] = { 0, 0, 3, 5, 7, 10, 12, 14, 19, 25, 31, 38, 40, 43, 45, 47, 49, 51, 53, 57, @@ -447,8 +315,8 @@ static const yytype_uint8 yyprhs[] = 162, 164, 167, 169, 172, 174, 177, 179, 182, 184 }; -/* YYRHS -- A `-1'-separated list of the rules' RHS. */ -static const yytype_int8 yyrhs[] = +/* YYRHS -- A `-1'-separated list of the rules' RHS. */ +static const yysigned_char yyrhs[] = { 19, 0, -1, 20, -1, 21, -1, 20, 21, -1, 22, -1, 17, -1, 7, 39, 23, 40, -1, 7, @@ -472,7 +340,7 @@ static const yytype_int8 yyrhs[] = }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ -static const yytype_uint8 yyrline[] = +static const unsigned char yyrline[] = { 0, 95, 95, 98, 99, 102, 103, 106, 108, 110, 112, 116, 117, 120, 121, 122, 123, 124, 127, 131, @@ -483,17 +351,17 @@ static const yytype_uint8 yyrline[] = }; #endif -#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE -/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. - First, the terminals, then, starting at YYNTOKENS, nonterminals. */ +#if YYDEBUG || YYERROR_VERBOSE +/* YYTNME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. + First, the terminals, then, starting at YYNTOKENS, nonterminals. */ static const char *const yytname[] = { - "$end", "error", "$undefined", "'{'", "'}'", "';'", "'/'", "T_VIRTUAL", - "T_DISPLAY", "T_WALL", "T_OPTION", "T_PARAM", "T_STRING", "T_DIMENSION", - "T_OFFSET", "T_ORIGIN", "T_COMMENT", "T_LINE_COMMENT", "$accept", - "Program", "EntryList", "Entry", "Virtual", "SubList", "Sub", - "OptionEntry", "ParamEntry", "ParamList", "Param", "PartialDim", - "FullDim", "DisplayEntry", "WallEntry", "Display", "Name", "Dimension", + "$end", "error", "$undefined", "'{'", "'}'", "';'", "'/'", "T_VIRTUAL", + "T_DISPLAY", "T_WALL", "T_OPTION", "T_PARAM", "T_STRING", "T_DIMENSION", + "T_OFFSET", "T_ORIGIN", "T_COMMENT", "T_LINE_COMMENT", "$accept", + "Program", "EntryList", "Entry", "Virtual", "SubList", "Sub", + "OptionEntry", "ParamEntry", "ParamList", "Param", "PartialDim", + "FullDim", "DisplayEntry", "WallEntry", "Display", "Name", "Dimension", "Offset", "Origin", "Terminal", "Open", "Close", "Wall", "NameList", 0 }; #endif @@ -501,7 +369,7 @@ static const char *const yytname[] = # ifdef YYPRINT /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to token YYLEX-NUM. */ -static const yytype_uint16 yytoknum[] = +static const unsigned short yytoknum[] = { 0, 256, 257, 123, 125, 59, 47, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268 @@ -509,7 +377,7 @@ static const yytype_uint16 yytoknum[] = # endif /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ -static const yytype_uint8 yyr1[] = +static const unsigned char yyr1[] = { 0, 18, 19, 20, 20, 21, 21, 22, 22, 22, 22, 23, 23, 24, 24, 24, 24, 24, 25, 26, @@ -520,7 +388,7 @@ static const yytype_uint8 yyr1[] = }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ -static const yytype_uint8 yyr2[] = +static const unsigned char yyr2[] = { 0, 2, 1, 1, 2, 1, 1, 4, 5, 5, 6, 1, 2, 1, 1, 1, 1, 1, 3, 3, @@ -533,7 +401,7 @@ static const yytype_uint8 yyr2[] = /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state STATE-NUM when YYTABLE doesn't specify something else to do. Zero means the default is an error. */ -static const yytype_uint8 yydefact[] = +static const unsigned char yydefact[] = { 0, 0, 6, 0, 2, 3, 5, 52, 42, 44, 0, 0, 0, 1, 4, 53, 43, 45, 0, 0, @@ -547,8 +415,8 @@ static const yytype_uint8 yydefact[] = 32, 0, 38, 30, 37 }; -/* YYDEFGOTO[NTERM-NUM]. */ -static const yytype_int8 yydefgoto[] = +/* YYDEFGOTO[NTERM-NUM]. */ +static const yysigned_char yydefgoto[] = { -1, 3, 4, 5, 6, 26, 27, 28, 29, 62, 63, 49, 50, 30, 31, 32, 39, 52, 53, 72, @@ -558,7 +426,7 @@ static const yytype_int8 yydefgoto[] = /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ #define YYPACT_NINF -32 -static const yytype_int8 yypact[] = +static const yysigned_char yypact[] = { -3, 41, -32, 22, -3, -32, -32, 12, 35, 46, 5, 62, 75, -32, -32, -32, -32, -32, 62, 75, @@ -573,7 +441,7 @@ static const yytype_int8 yypact[] = }; /* YYPGOTO[NTERM-NUM]. */ -static const yytype_int8 yypgoto[] = +static const yysigned_char yypgoto[] = { -32, -32, -32, 99, -32, 6, -19, -32, -32, -32, 42, -28, 55, -32, -32, -32, -1, 2, 53, -31, @@ -583,9 +451,9 @@ static const yytype_int8 yypgoto[] = /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If positive, shift that token. If negative, reduce the rule which number is the opposite. If zero, do what YYDEFACT says. - If YYTABLE_NINF, syntax error. */ + If YYTABLE_NINF, parse error. */ #define YYTABLE_NINF -1 -static const yytype_uint8 yytable[] = +static const unsigned char yytable[] = { 10, 40, 42, 11, 1, 58, 59, 44, 7, 9, 48, 56, 18, 61, 2, 65, 44, 44, 9, 68, @@ -600,7 +468,7 @@ static const yytype_uint8 yytable[] = 8, 9, 48, 14, 82, 77, 74 }; -static const yytype_uint8 yycheck[] = +static const unsigned char yycheck[] = { 1, 23, 24, 1, 7, 35, 36, 26, 3, 13, 14, 33, 10, 40, 17, 42, 35, 36, 13, 47, @@ -617,7 +485,7 @@ static const yytype_uint8 yycheck[] = /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ -static const yytype_uint8 yystos[] = +static const unsigned char yystos[] = { 0, 7, 17, 19, 20, 21, 22, 3, 12, 13, 34, 35, 39, 0, 21, 16, 16, 16, 35, 39, @@ -631,15 +499,30 @@ static const yytype_uint8 yystos[] = 38, 42, 38, 38, 38 }; +#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__) +# define YYSIZE_T __SIZE_TYPE__ +#endif +#if ! defined (YYSIZE_T) && defined (size_t) +# define YYSIZE_T size_t +#endif +#if ! defined (YYSIZE_T) +# if defined (__STDC__) || defined (__cplusplus) +# include /* INFRINGES ON USER NAME SPACE */ +# define YYSIZE_T size_t +# endif +#endif +#if ! defined (YYSIZE_T) +# define YYSIZE_T unsigned int +#endif + #define yyerrok (yyerrstatus = 0) #define yyclearin (yychar = YYEMPTY) -#define YYEMPTY (-2) +#define YYEMPTY -2 #define YYEOF 0 #define YYACCEPT goto yyacceptlab #define YYABORT goto yyabortlab -#define YYERROR goto yyerrorlab - +#define YYERROR goto yyerrlab1 /* Like YYERROR except do call yyerror. This remains here temporarily to ease the transition to the new meaning of YYERROR, for GCC. @@ -655,71 +538,34 @@ do \ { \ yychar = (Token); \ yylval = (Value); \ - yytoken = YYTRANSLATE (yychar); \ - YYPOPSTACK (1); \ + yychar1 = YYTRANSLATE (yychar); \ + YYPOPSTACK; \ goto yybackup; \ } \ else \ - { \ - yyerror (YY_("syntax error: cannot back up")); \ + { \ + yyerror ("syntax error: cannot back up"); \ YYERROR; \ } \ -while (YYID (0)) - +while (0) #define YYTERROR 1 #define YYERRCODE 256 +/* YYLLOC_DEFAULT -- Compute the default location (before the actions + are run). */ -/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N]. - If N is 0, then set CURRENT to the empty location which ends - the previous symbol: RHS[0] (always defined). */ - -#define YYRHSLOC(Rhs, K) ((Rhs)[K]) #ifndef YYLLOC_DEFAULT -# define YYLLOC_DEFAULT(Current, Rhs, N) \ - do \ - if (YYID (N)) \ - { \ - (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \ - (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \ - (Current).last_line = YYRHSLOC (Rhs, N).last_line; \ - (Current).last_column = YYRHSLOC (Rhs, N).last_column; \ - } \ - else \ - { \ - (Current).first_line = (Current).last_line = \ - YYRHSLOC (Rhs, 0).last_line; \ - (Current).first_column = (Current).last_column = \ - YYRHSLOC (Rhs, 0).last_column; \ - } \ - while (YYID (0)) +# define YYLLOC_DEFAULT(Current, Rhs, N) \ + Current.first_line = Rhs[1].first_line; \ + Current.first_column = Rhs[1].first_column; \ + Current.last_line = Rhs[N].last_line; \ + Current.last_column = Rhs[N].last_column; #endif - -/* YY_LOCATION_PRINT -- Print the location on the stream. - This macro was not mandated originally: define only if we know - we won't break user code: when these are the locations we know. */ - -#ifndef YY_LOCATION_PRINT -# if YYLTYPE_IS_TRIVIAL -# define YY_LOCATION_PRINT(File, Loc) \ - fprintf (File, "%d.%d-%d.%d", \ - (Loc).first_line, (Loc).first_column, \ - (Loc).last_line, (Loc).last_column) -# else -# define YY_LOCATION_PRINT(File, Loc) ((void) 0) -# endif -#endif - - /* YYLEX -- calling `yylex' with the right arguments. */ -#ifdef YYLEX_PARAM -# define YYLEX yylex (YYLEX_PARAM) -#else -# define YYLEX yylex () -#endif +#define YYLEX yylex () /* Enable debugging if requested. */ #if YYDEBUG @@ -733,155 +579,20 @@ while (YYID (0)) do { \ if (yydebug) \ YYFPRINTF Args; \ -} while (YYID (0)) - -# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ -do { \ - if (yydebug) \ - { \ - YYFPRINTF (stderr, "%s ", Title); \ - yy_symbol_print (stderr, \ - Type, Value); \ - YYFPRINTF (stderr, "\n"); \ - } \ -} while (YYID (0)) - - -/*--------------------------------. -| Print this symbol on YYOUTPUT. | -`--------------------------------*/ - -/*ARGSUSED*/ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -static void -yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) -#else -static void -yy_symbol_value_print (yyoutput, yytype, yyvaluep) - FILE *yyoutput; - int yytype; - YYSTYPE const * const yyvaluep; -#endif -{ - if (!yyvaluep) - return; -# ifdef YYPRINT - if (yytype < YYNTOKENS) - YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); -# else - YYUSE (yyoutput); -# endif - switch (yytype) - { - default: - break; - } -} - - -/*--------------------------------. -| Print this symbol on YYOUTPUT. | -`--------------------------------*/ - -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -static void -yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) -#else -static void -yy_symbol_print (yyoutput, yytype, yyvaluep) - FILE *yyoutput; - int yytype; - YYSTYPE const * const yyvaluep; -#endif -{ - if (yytype < YYNTOKENS) - YYFPRINTF (yyoutput, "token %s (", yytname[yytype]); - else - YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]); - - yy_symbol_value_print (yyoutput, yytype, yyvaluep); - YYFPRINTF (yyoutput, ")"); -} - -/*------------------------------------------------------------------. -| yy_stack_print -- Print the state stack from its BOTTOM up to its | -| TOP (included). | -`------------------------------------------------------------------*/ - -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -static void -yy_stack_print (yytype_int16 *bottom, yytype_int16 *top) -#else -static void -yy_stack_print (bottom, top) - yytype_int16 *bottom; - yytype_int16 *top; -#endif -{ - YYFPRINTF (stderr, "Stack now"); - for (; bottom <= top; ++bottom) - YYFPRINTF (stderr, " %d", *bottom); - YYFPRINTF (stderr, "\n"); -} - -# define YY_STACK_PRINT(Bottom, Top) \ -do { \ - if (yydebug) \ - yy_stack_print ((Bottom), (Top)); \ -} while (YYID (0)) - - -/*------------------------------------------------. -| Report that the YYRULE is going to be reduced. | -`------------------------------------------------*/ - -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -static void -yy_reduce_print (YYSTYPE *yyvsp, int yyrule) -#else -static void -yy_reduce_print (yyvsp, yyrule) - YYSTYPE *yyvsp; - int yyrule; -#endif -{ - int yynrhs = yyr2[yyrule]; - int yyi; - unsigned long int yylno = yyrline[yyrule]; - YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n", - yyrule - 1, yylno); - /* The symbols being reduced. */ - for (yyi = 0; yyi < yynrhs; yyi++) - { - fprintf (stderr, " $%d = ", yyi + 1); - yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi], - &(yyvsp[(yyi + 1) - (yynrhs)]) - ); - fprintf (stderr, "\n"); - } -} - -# define YY_REDUCE_PRINT(Rule) \ -do { \ - if (yydebug) \ - yy_reduce_print (yyvsp, Rule); \ -} while (YYID (0)) - +} while (0) +# define YYDSYMPRINT(Args) \ +do { \ + if (yydebug) \ + yysymprint Args; \ +} while (0) /* Nonzero means print parse trace. It is left uninitialized so that multiple parsers can coexist. */ int yydebug; #else /* !YYDEBUG */ # define YYDPRINTF(Args) -# define YY_SYMBOL_PRINT(Title, Type, Value, Location) -# define YY_STACK_PRINT(Bottom, Top) -# define YY_REDUCE_PRINT(Rule) +# define YYDSYMPRINT(Args) #endif /* !YYDEBUG */ - /* YYINITDEPTH -- initial size of the parser's stacks. */ #ifndef YYINITDEPTH # define YYINITDEPTH 200 @@ -891,9 +602,13 @@ int yydebug; if the built-in stack extension method is used). Do not make this value too large; the results are undefined if - YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH) + SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH) evaluated with infinite-precision integer arithmetic. */ +#if YYMAXDEPTH == 0 +# undef YYMAXDEPTH +#endif + #ifndef YYMAXDEPTH # define YYMAXDEPTH 10000 #endif @@ -903,47 +618,45 @@ int yydebug; #if YYERROR_VERBOSE # ifndef yystrlen -# if defined __GLIBC__ && defined _STRING_H +# if defined (__GLIBC__) && defined (_STRING_H) # define yystrlen strlen # else /* Return the length of YYSTR. */ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) static YYSIZE_T +# if defined (__STDC__) || defined (__cplusplus) yystrlen (const char *yystr) -#else -static YYSIZE_T +# else yystrlen (yystr) - const char *yystr; -#endif + const char *yystr; +# endif { - YYSIZE_T yylen; - for (yylen = 0; yystr[yylen]; yylen++) + register const char *yys = yystr; + + while (*yys++ != '\0') continue; - return yylen; + + return yys - yystr - 1; } # endif # endif # ifndef yystpcpy -# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE +# if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE) # define yystpcpy stpcpy # else /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in YYDEST. */ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) static char * +# if defined (__STDC__) || defined (__cplusplus) yystpcpy (char *yydest, const char *yysrc) -#else -static char * +# else yystpcpy (yydest, yysrc) - char *yydest; - const char *yysrc; -#endif + char *yydest; + const char *yysrc; +# endif { - char *yyd = yydest; - const char *yys = yysrc; + register char *yyd = yydest; + register const char *yys = yysrc; while ((*yyd++ = *yys++) != '\0') continue; @@ -953,265 +666,124 @@ yystpcpy (yydest, yysrc) # endif # endif -# ifndef yytnamerr -/* Copy to YYRES the contents of YYSTR after stripping away unnecessary - quotes and backslashes, so that it's suitable for yyerror. The - heuristic is that double-quoting is unnecessary unless the string - contains an apostrophe, a comma, or backslash (other than - backslash-backslash). YYSTR is taken from yytname. If YYRES is - null, do not copy; instead, return the length of what the result - would have been. */ -static YYSIZE_T -yytnamerr (char *yyres, const char *yystr) -{ - if (*yystr == '"') - { - YYSIZE_T yyn = 0; - char const *yyp = yystr; +#endif /* !YYERROR_VERBOSE */ - for (;;) - switch (*++yyp) - { - case '\'': - case ',': - goto do_not_strip_quotes; - - case '\\': - if (*++yyp != '\\') - goto do_not_strip_quotes; - /* Fall through. */ - default: - if (yyres) - yyres[yyn] = *yyp; - yyn++; - break; - - case '"': - if (yyres) - yyres[yyn] = '\0'; - return yyn; - } - do_not_strip_quotes: ; - } - - if (! yyres) - return yystrlen (yystr); - - return yystpcpy (yyres, yystr) - yyres; -} -# endif - -/* Copy into YYRESULT an error message about the unexpected token - YYCHAR while in state YYSTATE. Return the number of bytes copied, - including the terminating null byte. If YYRESULT is null, do not - copy anything; just return the number of bytes that would be - copied. As a special case, return 0 if an ordinary "syntax error" - message will do. Return YYSIZE_MAXIMUM if overflow occurs during - size calculation. */ -static YYSIZE_T -yysyntax_error (char *yyresult, int yystate, int yychar) -{ - int yyn = yypact[yystate]; - - if (! (YYPACT_NINF < yyn && yyn <= YYLAST)) - return 0; - else - { - int yytype = YYTRANSLATE (yychar); - YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]); - YYSIZE_T yysize = yysize0; - YYSIZE_T yysize1; - int yysize_overflow = 0; - enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; - char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; - int yyx; - -# if 0 - /* This is so xgettext sees the translatable formats that are - constructed on the fly. */ - YY_("syntax error, unexpected %s"); - YY_("syntax error, unexpected %s, expecting %s"); - YY_("syntax error, unexpected %s, expecting %s or %s"); - YY_("syntax error, unexpected %s, expecting %s or %s or %s"); - YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"); -# endif - char *yyfmt; - char const *yyf; - static char const yyunexpected[] = "syntax error, unexpected %s"; - static char const yyexpecting[] = ", expecting %s"; - static char const yyor[] = " or %s"; - char yyformat[sizeof yyunexpected - + sizeof yyexpecting - 1 - + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2) - * (sizeof yyor - 1))]; - char const *yyprefix = yyexpecting; - - /* Start YYX at -YYN if negative to avoid negative indexes in - YYCHECK. */ - int yyxbegin = yyn < 0 ? -yyn : 0; - - /* Stay within bounds of both yycheck and yytname. */ - int yychecklim = YYLAST - yyn + 1; - int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; - int yycount = 1; - - yyarg[0] = yytname[yytype]; - yyfmt = yystpcpy (yyformat, yyunexpected); - - for (yyx = yyxbegin; yyx < yyxend; ++yyx) - if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) - { - if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) - { - yycount = 1; - yysize = yysize0; - yyformat[sizeof yyunexpected - 1] = '\0'; - break; - } - yyarg[yycount++] = yytname[yyx]; - yysize1 = yysize + yytnamerr (0, yytname[yyx]); - yysize_overflow |= (yysize1 < yysize); - yysize = yysize1; - yyfmt = yystpcpy (yyfmt, yyprefix); - yyprefix = yyor; - } - - yyf = YY_(yyformat); - yysize1 = yysize + yystrlen (yyf); - yysize_overflow |= (yysize1 < yysize); - yysize = yysize1; - - if (yysize_overflow) - return YYSIZE_MAXIMUM; - - if (yyresult) - { - /* Avoid sprintf, as that infringes on the user's name space. - Don't have undefined behavior even if the translation - produced a string with the wrong number of "%s"s. */ - char *yyp = yyresult; - int yyi = 0; - while ((*yyp = *yyf) != '\0') - { - if (*yyp == '%' && yyf[1] == 's' && yyi < yycount) - { - yyp += yytnamerr (yyp, yyarg[yyi++]); - yyf += 2; - } - else - { - yyp++; - yyf++; - } - } - } - return yysize; - } -} -#endif /* YYERROR_VERBOSE */ +#if YYDEBUG +/*-----------------------------. +| Print this symbol on YYOUT. | +`-----------------------------*/ + +static void +#if defined (__STDC__) || defined (__cplusplus) +yysymprint (FILE* yyout, int yytype, YYSTYPE yyvalue) +#else +yysymprint (yyout, yytype, yyvalue) + FILE* yyout; + int yytype; + YYSTYPE yyvalue; +#endif +{ + /* Pacify ``unused variable'' warnings. */ + (void) yyvalue; + + if (yytype < YYNTOKENS) + { + YYFPRINTF (yyout, "token %s (", yytname[yytype]); +# ifdef YYPRINT + YYPRINT (yyout, yytoknum[yytype], yyvalue); +# endif + } + else + YYFPRINTF (yyout, "nterm %s (", yytname[yytype]); + + switch (yytype) + { + default: + break; + } + YYFPRINTF (yyout, ")"); +} +#endif /* YYDEBUG. */ + + /*-----------------------------------------------. | Release the memory associated to this symbol. | `-----------------------------------------------*/ -/*ARGSUSED*/ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) static void -yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep) +#if defined (__STDC__) || defined (__cplusplus) +yydestruct (int yytype, YYSTYPE yyvalue) #else -static void -yydestruct (yymsg, yytype, yyvaluep) - const char *yymsg; +yydestruct (yytype, yyvalue) int yytype; - YYSTYPE *yyvaluep; + YYSTYPE yyvalue; #endif { - YYUSE (yyvaluep); - - if (!yymsg) - yymsg = "Deleting"; - YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); + /* Pacify ``unused variable'' warnings. */ + (void) yyvalue; switch (yytype) { - default: - break; + break; } } + -/* Prevent warnings from -Wmissing-prototypes. */ +/* The user can define YYPARSE_PARAM as the name of an argument to be passed + into yyparse. The argument should have type void *. + It should actually point to an object. + Grammar actions can access the variable by casting it + to the proper pointer type. */ #ifdef YYPARSE_PARAM -#if defined __STDC__ || defined __cplusplus -int yyparse (void *YYPARSE_PARAM); -#else -int yyparse (); -#endif -#else /* ! YYPARSE_PARAM */ -#if defined __STDC__ || defined __cplusplus +# if defined (__STDC__) || defined (__cplusplus) +# define YYPARSE_PARAM_ARG void *YYPARSE_PARAM +# define YYPARSE_PARAM_DECL +# else +# define YYPARSE_PARAM_ARG YYPARSE_PARAM +# define YYPARSE_PARAM_DECL void *YYPARSE_PARAM; +# endif +#else /* !YYPARSE_PARAM */ +# define YYPARSE_PARAM_ARG +# define YYPARSE_PARAM_DECL +#endif /* !YYPARSE_PARAM */ + +/* Prevent warning if -Wstrict-prototypes. */ +#ifdef __GNUC__ +# ifdef YYPARSE_PARAM +int yyparse (void *); +# else int yyparse (void); -#else -int yyparse (); +# endif #endif -#endif /* ! YYPARSE_PARAM */ - -/* The look-ahead symbol. */ +/* The lookahead symbol. */ int yychar; -/* The semantic value of the look-ahead symbol. */ +/* The semantic value of the lookahead symbol. */ YYSTYPE yylval; -/* Number of syntax errors so far. */ +/* Number of parse errors so far. */ int yynerrs; - -/*----------. -| yyparse. | -`----------*/ - -#ifdef YYPARSE_PARAM -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) int -yyparse (void *YYPARSE_PARAM) -#else -int -yyparse (YYPARSE_PARAM) - void *YYPARSE_PARAM; -#endif -#else /* ! YYPARSE_PARAM */ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -int -yyparse (void) -#else -int -yyparse () - -#endif -#endif +yyparse (YYPARSE_PARAM_ARG) + YYPARSE_PARAM_DECL { - int yystate; - int yyn; + register int yystate; + register int yyn; int yyresult; /* Number of tokens to shift before error messages enabled. */ int yyerrstatus; - /* Look-ahead token as an internal (translated) token number. */ - int yytoken = 0; -#if YYERROR_VERBOSE - /* Buffer for error messages, and its allocated size. */ - char yymsgbuf[128]; - char *yymsg = yymsgbuf; - YYSIZE_T yymsg_alloc = sizeof yymsgbuf; -#endif + /* Lookahead token as an internal (translated) token number. */ + int yychar1 = 0; /* Three stacks and their tools: `yyss': related to states, @@ -1222,18 +794,18 @@ yyparse () to reallocate them elsewhere. */ /* The state stack. */ - yytype_int16 yyssa[YYINITDEPTH]; - yytype_int16 *yyss = yyssa; - yytype_int16 *yyssp; + short yyssa[YYINITDEPTH]; + short *yyss = yyssa; + register short *yyssp; /* The semantic value stack. */ YYSTYPE yyvsa[YYINITDEPTH]; YYSTYPE *yyvs = yyvsa; - YYSTYPE *yyvsp; + register YYSTYPE *yyvsp; -#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) +#define YYPOPSTACK (yyvsp--, yyssp--) YYSIZE_T yystacksize = YYINITDEPTH; @@ -1242,9 +814,9 @@ yyparse () YYSTYPE yyval; - /* The number of symbols on the RHS of the reduced rule. - Keep to zero when no symbol should be popped. */ - int yylen = 0; + /* When reducing, the number of symbols on the RHS of the reduced + rule. */ + int yylen; YYDPRINTF ((stderr, "Starting parse\n")); @@ -1268,31 +840,32 @@ yyparse () `------------------------------------------------------------*/ yynewstate: /* In all cases, when you get here, the value and location stacks - have just been pushed. So pushing a state here evens the stacks. */ + have just been pushed. so pushing a state here evens the stacks. + */ yyssp++; yysetstate: *yyssp = yystate; - if (yyss + yystacksize - 1 <= yyssp) + if (yyssp >= yyss + yystacksize - 1) { /* Get the current used size of the three stacks, in elements. */ YYSIZE_T yysize = yyssp - yyss + 1; #ifdef yyoverflow { - /* Give user a chance to reallocate the stack. Use copies of + /* Give user a chance to reallocate the stack. Use copies of these so that the &'s don't force the real ones into memory. */ YYSTYPE *yyvs1 = yyvs; - yytype_int16 *yyss1 = yyss; + short *yyss1 = yyss; /* Each stack pointer address is followed by the size of the data in use in that stack, in bytes. This used to be a conditional around just the two extra args, but that might be undefined if yyoverflow is a macro. */ - yyoverflow (YY_("memory exhausted"), + yyoverflow ("parser stack overflow", &yyss1, yysize * sizeof (*yyssp), &yyvs1, yysize * sizeof (*yyvsp), @@ -1303,21 +876,21 @@ yyparse () } #else /* no yyoverflow */ # ifndef YYSTACK_RELOCATE - goto yyexhaustedlab; + goto yyoverflowlab; # else /* Extend the stack our own way. */ - if (YYMAXDEPTH <= yystacksize) - goto yyexhaustedlab; + if (yystacksize >= YYMAXDEPTH) + goto yyoverflowlab; yystacksize *= 2; - if (YYMAXDEPTH < yystacksize) + if (yystacksize > YYMAXDEPTH) yystacksize = YYMAXDEPTH; { - yytype_int16 *yyss1 = yyss; + short *yyss1 = yyss; union yyalloc *yyptr = (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); if (! yyptr) - goto yyexhaustedlab; + goto yyoverflowlab; YYSTACK_RELOCATE (yyss); YYSTACK_RELOCATE (yyvs); @@ -1335,7 +908,7 @@ yyparse () YYDPRINTF ((stderr, "Stack size increased to %lu\n", (unsigned long int) yystacksize)); - if (yyss + yystacksize - 1 <= yyssp) + if (yyssp >= yyss + yystacksize - 1) YYABORT; } @@ -1348,38 +921,51 @@ yyparse () `-----------*/ yybackup: - /* Do appropriate processing given the current state. Read a - look-ahead token if we need one and don't already have one. */ +/* Do appropriate processing given the current state. */ +/* Read a lookahead token if we need one and don't already have one. */ +/* yyresume: */ + + /* First try to decide what to do without reference to lookahead token. */ - /* First try to decide what to do without reference to look-ahead token. */ yyn = yypact[yystate]; if (yyn == YYPACT_NINF) goto yydefault; - /* Not known => get a look-ahead token if don't already have one. */ + /* Not known => get a lookahead token if don't already have one. */ + + /* yychar is either YYEMPTY or YYEOF + or a valid token in external form. */ - /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */ if (yychar == YYEMPTY) { YYDPRINTF ((stderr, "Reading a token: ")); yychar = YYLEX; } - if (yychar <= YYEOF) + /* Convert token to internal form (in yychar1) for indexing tables with. */ + + if (yychar <= 0) /* This means end of input. */ { - yychar = yytoken = YYEOF; + yychar1 = 0; + yychar = YYEOF; /* Don't call YYLEX any more. */ + YYDPRINTF ((stderr, "Now at end of input.\n")); } else { - yytoken = YYTRANSLATE (yychar); - YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc); + yychar1 = YYTRANSLATE (yychar); + + /* We have to keep this `#if YYDEBUG', since we use variables + which are defined only if `YYDEBUG' is set. */ + YYDPRINTF ((stderr, "Next token is ")); + YYDSYMPRINT ((stderr, yychar1, yylval)); + YYDPRINTF ((stderr, "\n")); } - /* If the proper action on seeing token YYTOKEN is to reduce or to + /* If the proper action on seeing token YYCHAR1 is to reduce or to detect an error, take that action. */ - yyn += yytoken; - if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) + yyn += yychar1; + if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yychar1) goto yydefault; yyn = yytable[yyn]; if (yyn <= 0) @@ -1393,21 +979,23 @@ yybackup: if (yyn == YYFINAL) YYACCEPT; + /* Shift the lookahead token. */ + YYDPRINTF ((stderr, "Shifting token %d (%s), ", + yychar, yytname[yychar1])); + + /* Discard the token being shifted unless it is eof. */ + if (yychar != YYEOF) + yychar = YYEMPTY; + + *++yyvsp = yylval; + + /* Count tokens shifted since error; after three, turn off error status. */ if (yyerrstatus) yyerrstatus--; - /* Shift the look-ahead token. */ - YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); - - /* Discard the shifted token unless it is eof. */ - if (yychar != YYEOF) - yychar = YYEMPTY; - yystate = yyn; - *++yyvsp = yylval; - goto yynewstate; @@ -1439,246 +1027,272 @@ yyreduce: yyval = yyvsp[1-yylen]; - YY_REDUCE_PRINT (yyn); + +#if YYDEBUG + /* We have to keep this `#if YYDEBUG', since we use variables which + are defined only if `YYDEBUG' is set. */ + if (yydebug) + { + int yyi; + + YYFPRINTF (stderr, "Reducing via rule %d (line %d), ", + yyn - 1, yyrline[yyn]); + + /* Print the symbols being reduced, and their result. */ + for (yyi = yyprhs[yyn]; yyrhs[yyi] >= 0; yyi++) + YYFPRINTF (stderr, "%s ", yytname[yyrhs[yyi]]); + YYFPRINTF (stderr, " -> %s\n", yytname[yyr1[yyn]]); + } +#endif switch (yyn) { case 2: #line 95 "parser.y" - { dmxConfigEntry = (yyvsp[(1) - (1)].entry); } + { dmxConfigEntry = yyvsp[0].entry; } break; case 4: #line 99 "parser.y" - { APPEND(DMXConfigEntryPtr,(yyvsp[(1) - (2)].entry),(yyvsp[(2) - (2)].entry)); (yyval.entry) = (yyvsp[(1) - (2)].entry); } + { APPEND(DMXConfigEntryPtr,yyvsp[-1].entry,yyvsp[0].entry); yyval.entry = yyvsp[-1].entry; } break; case 5: #line 102 "parser.y" - { (yyval.entry) = dmxConfigEntryVirtual((yyvsp[(1) - (1)].virtual)); } + { yyval.entry = dmxConfigEntryVirtual(yyvsp[0].virtual); } break; case 6: #line 103 "parser.y" - { (yyval.entry) = dmxConfigEntryComment((yyvsp[(1) - (1)].comment)); } + { yyval.entry = dmxConfigEntryComment(yyvsp[0].comment); } break; case 7: #line 107 "parser.y" - { (yyval.virtual) = dmxConfigCreateVirtual((yyvsp[(1) - (4)].token), NULL, NULL, (yyvsp[(2) - (4)].token), (yyvsp[(3) - (4)].subentry), (yyvsp[(4) - (4)].token)); } + { yyval.virtual = dmxConfigCreateVirtual(yyvsp[-3].token, NULL, NULL, yyvsp[-2].token, yyvsp[-1].subentry, yyvsp[0].token); } break; case 8: #line 109 "parser.y" - { (yyval.virtual) = dmxConfigCreateVirtual((yyvsp[(1) - (5)].token), NULL, (yyvsp[(2) - (5)].pair), (yyvsp[(3) - (5)].token), (yyvsp[(4) - (5)].subentry), (yyvsp[(5) - (5)].token)); } + { yyval.virtual = dmxConfigCreateVirtual(yyvsp[-4].token, NULL, yyvsp[-3].pair, yyvsp[-2].token, yyvsp[-1].subentry, yyvsp[0].token); } break; case 9: #line 111 "parser.y" - { (yyval.virtual) = dmxConfigCreateVirtual((yyvsp[(1) - (5)].token), (yyvsp[(2) - (5)].string), NULL, (yyvsp[(3) - (5)].token), (yyvsp[(4) - (5)].subentry), (yyvsp[(5) - (5)].token)); } + { yyval.virtual = dmxConfigCreateVirtual(yyvsp[-4].token, yyvsp[-3].string, NULL, yyvsp[-2].token, yyvsp[-1].subentry, yyvsp[0].token); } break; case 10: #line 113 "parser.y" - { (yyval.virtual) = dmxConfigCreateVirtual((yyvsp[(1) - (6)].token), (yyvsp[(2) - (6)].string), (yyvsp[(3) - (6)].pair), (yyvsp[(4) - (6)].token), (yyvsp[(5) - (6)].subentry), (yyvsp[(6) - (6)].token) ); } + { yyval.virtual = dmxConfigCreateVirtual(yyvsp[-5].token, yyvsp[-4].string, yyvsp[-3].pair, yyvsp[-2].token, yyvsp[-1].subentry, yyvsp[0].token ); } break; case 12: #line 117 "parser.y" - { APPEND(DMXConfigSubPtr,(yyvsp[(1) - (2)].subentry),(yyvsp[(2) - (2)].subentry)); (yyval.subentry) = (yyvsp[(1) - (2)].subentry); } + { APPEND(DMXConfigSubPtr,yyvsp[-1].subentry,yyvsp[0].subentry); yyval.subentry = yyvsp[-1].subentry; } break; case 13: #line 120 "parser.y" - { (yyval.subentry) = dmxConfigSubComment((yyvsp[(1) - (1)].comment)); } + { yyval.subentry = dmxConfigSubComment(yyvsp[0].comment); } break; case 14: #line 121 "parser.y" - { (yyval.subentry) = dmxConfigSubDisplay((yyvsp[(1) - (1)].display)); } + { yyval.subentry = dmxConfigSubDisplay(yyvsp[0].display); } break; case 15: #line 122 "parser.y" - { (yyval.subentry) = dmxConfigSubWall((yyvsp[(1) - (1)].wall)); } + { yyval.subentry = dmxConfigSubWall(yyvsp[0].wall); } break; case 16: #line 123 "parser.y" - { (yyval.subentry) = dmxConfigSubOption((yyvsp[(1) - (1)].option)); } + { yyval.subentry = dmxConfigSubOption(yyvsp[0].option); } break; case 17: #line 124 "parser.y" - { (yyval.subentry) = dmxConfigSubParam((yyvsp[(1) - (1)].param)); } + { yyval.subentry = dmxConfigSubParam(yyvsp[0].param); } break; case 18: #line 128 "parser.y" - { (yyval.option) = dmxConfigCreateOption((yyvsp[(1) - (3)].token), (yyvsp[(2) - (3)].string), (yyvsp[(3) - (3)].token)); } + { yyval.option = dmxConfigCreateOption(yyvsp[-2].token, yyvsp[-1].string, yyvsp[0].token); } break; case 19: #line 132 "parser.y" - { (yyval.param) = dmxConfigCreateParam((yyvsp[(1) - (3)].token), NULL, (yyvsp[(2) - (3)].string), NULL, (yyvsp[(3) - (3)].token)); } + { yyval.param = dmxConfigCreateParam(yyvsp[-2].token, NULL, yyvsp[-1].string, NULL, yyvsp[0].token); } break; case 20: #line 134 "parser.y" - { (yyval.param) = dmxConfigCreateParam((yyvsp[(1) - (4)].token), (yyvsp[(2) - (4)].token), NULL, (yyvsp[(4) - (4)].token), NULL); - (yyval.param)->next = (yyvsp[(3) - (4)].param); + { yyval.param = dmxConfigCreateParam(yyvsp[-3].token, yyvsp[-2].token, NULL, yyvsp[0].token, NULL); + yyval.param->next = yyvsp[-1].param; } break; case 22: #line 140 "parser.y" - { APPEND(DMXConfigParamPtr,(yyvsp[(1) - (2)].param),(yyvsp[(2) - (2)].param)); (yyval.param) = (yyvsp[(1) - (2)].param); } + { APPEND(DMXConfigParamPtr,yyvsp[-1].param,yyvsp[0].param); yyval.param = yyvsp[-1].param; } break; case 23: #line 144 "parser.y" - { (yyval.param) = dmxConfigCreateParam(NULL, NULL, (yyvsp[(1) - (2)].string), NULL, (yyvsp[(2) - (2)].token)); } + { yyval.param = dmxConfigCreateParam(NULL, NULL, yyvsp[-1].string, NULL, yyvsp[0].token); } break; case 24: #line 148 "parser.y" - { (yyval.pdim) = dmxConfigCreatePartDim((yyvsp[(1) - (2)].pair), (yyvsp[(2) - (2)].pair)); } + { yyval.pdim = dmxConfigCreatePartDim(yyvsp[-1].pair, yyvsp[0].pair); } break; case 25: #line 150 "parser.y" - { (yyval.pdim) = dmxConfigCreatePartDim((yyvsp[(1) - (1)].pair), NULL); } + { yyval.pdim = dmxConfigCreatePartDim(yyvsp[0].pair, NULL); } break; case 26: #line 152 "parser.y" - { (yyval.pdim) = dmxConfigCreatePartDim(NULL, (yyvsp[(1) - (1)].pair)); } + { yyval.pdim = dmxConfigCreatePartDim(NULL, yyvsp[0].pair); } break; case 27: #line 156 "parser.y" - { (yyval.fdim) = dmxConfigCreateFullDim((yyvsp[(1) - (3)].pdim), (yyvsp[(3) - (3)].pdim)); } + { yyval.fdim = dmxConfigCreateFullDim(yyvsp[-2].pdim, yyvsp[0].pdim); } break; case 28: #line 158 "parser.y" - { (yyval.fdim) = dmxConfigCreateFullDim(NULL, (yyvsp[(2) - (2)].pdim)); } + { yyval.fdim = dmxConfigCreateFullDim(NULL, yyvsp[0].pdim); } break; case 29: #line 160 "parser.y" - { (yyval.fdim) = dmxConfigCreateFullDim((yyvsp[(1) - (1)].pdim), NULL); } + { yyval.fdim = dmxConfigCreateFullDim(yyvsp[0].pdim, NULL); } break; case 30: #line 164 "parser.y" - { (yyval.display) = dmxConfigCreateDisplay((yyvsp[(1) - (5)].token), (yyvsp[(2) - (5)].string), (yyvsp[(3) - (5)].fdim), (yyvsp[(4) - (5)].pair), (yyvsp[(5) - (5)].token)); } + { yyval.display = dmxConfigCreateDisplay(yyvsp[-4].token, yyvsp[-3].string, yyvsp[-2].fdim, yyvsp[-1].pair, yyvsp[0].token); } break; case 31: #line 166 "parser.y" - { (yyval.display) = dmxConfigCreateDisplay((yyvsp[(1) - (4)].token), NULL, (yyvsp[(2) - (4)].fdim), (yyvsp[(3) - (4)].pair), (yyvsp[(4) - (4)].token)); } + { yyval.display = dmxConfigCreateDisplay(yyvsp[-3].token, NULL, yyvsp[-2].fdim, yyvsp[-1].pair, yyvsp[0].token); } break; case 32: #line 168 "parser.y" - { (yyval.display) = dmxConfigCreateDisplay((yyvsp[(1) - (4)].token), (yyvsp[(2) - (4)].string), NULL, (yyvsp[(3) - (4)].pair), (yyvsp[(4) - (4)].token)); } + { yyval.display = dmxConfigCreateDisplay(yyvsp[-3].token, yyvsp[-2].string, NULL, yyvsp[-1].pair, yyvsp[0].token); } break; case 33: #line 171 "parser.y" - { (yyval.display) = dmxConfigCreateDisplay((yyvsp[(1) - (4)].token), (yyvsp[(2) - (4)].string), (yyvsp[(3) - (4)].fdim), NULL, (yyvsp[(4) - (4)].token)); } + { yyval.display = dmxConfigCreateDisplay(yyvsp[-3].token, yyvsp[-2].string, yyvsp[-1].fdim, NULL, yyvsp[0].token); } break; case 34: #line 173 "parser.y" - { (yyval.display) = dmxConfigCreateDisplay((yyvsp[(1) - (3)].token), NULL, (yyvsp[(2) - (3)].fdim), NULL, (yyvsp[(3) - (3)].token)); } + { yyval.display = dmxConfigCreateDisplay(yyvsp[-2].token, NULL, yyvsp[-1].fdim, NULL, yyvsp[0].token); } break; case 35: #line 175 "parser.y" - { (yyval.display) = dmxConfigCreateDisplay((yyvsp[(1) - (3)].token), (yyvsp[(2) - (3)].string), NULL, NULL, (yyvsp[(3) - (3)].token)); } + { yyval.display = dmxConfigCreateDisplay(yyvsp[-2].token, yyvsp[-1].string, NULL, NULL, yyvsp[0].token); } break; case 36: #line 177 "parser.y" - { (yyval.display) = dmxConfigCreateDisplay((yyvsp[(1) - (2)].token), NULL, NULL, NULL, (yyvsp[(2) - (2)].token)); } + { yyval.display = dmxConfigCreateDisplay(yyvsp[-1].token, NULL, NULL, NULL, yyvsp[0].token); } break; case 37: #line 181 "parser.y" - { (yyval.wall) = dmxConfigCreateWall((yyvsp[(1) - (5)].token), (yyvsp[(2) - (5)].pair), (yyvsp[(3) - (5)].pair), (yyvsp[(4) - (5)].string), (yyvsp[(5) - (5)].token)); } + { yyval.wall = dmxConfigCreateWall(yyvsp[-4].token, yyvsp[-3].pair, yyvsp[-2].pair, yyvsp[-1].string, yyvsp[0].token); } break; case 38: #line 183 "parser.y" - { (yyval.wall) = dmxConfigCreateWall((yyvsp[(1) - (4)].token), (yyvsp[(2) - (4)].pair), NULL, (yyvsp[(3) - (4)].string), (yyvsp[(4) - (4)].token)); } + { yyval.wall = dmxConfigCreateWall(yyvsp[-3].token, yyvsp[-2].pair, NULL, yyvsp[-1].string, yyvsp[0].token); } break; case 39: #line 185 "parser.y" - { (yyval.wall) = dmxConfigCreateWall((yyvsp[(1) - (3)].token), NULL, NULL, (yyvsp[(2) - (3)].string), (yyvsp[(3) - (3)].token)); } + { yyval.wall = dmxConfigCreateWall(yyvsp[-2].token, NULL, NULL, yyvsp[-1].string, yyvsp[0].token); } break; case 41: #line 189 "parser.y" - { (yyval.token) = (yyvsp[(1) - (2)].token); (yyval.token)->comment = (yyvsp[(2) - (2)].comment)->comment; } + { yyval.token = yyvsp[-1].token; yyval.token->comment = yyvsp[0].comment->comment; } break; case 43: #line 193 "parser.y" - { (yyval.string) = (yyvsp[(1) - (2)].string); (yyval.string)->comment = (yyvsp[(2) - (2)].comment)->comment; } + { yyval.string = yyvsp[-1].string; yyval.string->comment = yyvsp[0].comment->comment; } break; case 45: #line 197 "parser.y" - { (yyval.pair) = (yyvsp[(1) - (2)].pair); (yyval.pair)->comment = (yyvsp[(2) - (2)].comment)->comment; } + { yyval.pair = yyvsp[-1].pair; yyval.pair->comment = yyvsp[0].comment->comment; } break; case 47: #line 201 "parser.y" - { (yyval.pair) = (yyvsp[(1) - (2)].pair); (yyval.pair)->comment = (yyvsp[(2) - (2)].comment)->comment; } + { yyval.pair = yyvsp[-1].pair; yyval.pair->comment = yyvsp[0].comment->comment; } break; case 49: #line 205 "parser.y" - { (yyval.pair) = (yyvsp[(1) - (2)].pair); (yyval.pair)->comment = (yyvsp[(2) - (2)].comment)->comment; } + { yyval.pair = yyvsp[-1].pair; yyval.pair->comment = yyvsp[0].comment->comment; } break; case 51: #line 209 "parser.y" - { (yyval.token) = (yyvsp[(1) - (2)].token); (yyval.token)->comment = (yyvsp[(2) - (2)].comment)->comment; } + { yyval.token = yyvsp[-1].token; yyval.token->comment = yyvsp[0].comment->comment; } break; case 53: #line 213 "parser.y" - { (yyval.token) = (yyvsp[(1) - (2)].token); (yyval.token)->comment = (yyvsp[(2) - (2)].comment)->comment; } + { yyval.token = yyvsp[-1].token; yyval.token->comment = yyvsp[0].comment->comment; } break; case 55: #line 217 "parser.y" - { (yyval.token) = (yyvsp[(1) - (2)].token); (yyval.token)->comment = (yyvsp[(2) - (2)].comment)->comment; } + { yyval.token = yyvsp[-1].token; yyval.token->comment = yyvsp[0].comment->comment; } break; case 57: #line 221 "parser.y" - { (yyval.token) = (yyvsp[(1) - (2)].token); (yyval.token)->comment = (yyvsp[(2) - (2)].comment)->comment; } + { yyval.token = yyvsp[-1].token; yyval.token->comment = yyvsp[0].comment->comment; } break; case 59: #line 225 "parser.y" - { APPEND(DMXConfigStringPtr, (yyvsp[(1) - (2)].string), (yyvsp[(2) - (2)].string)); (yyval.string) = (yyvsp[(1) - (2)].string); } + { APPEND(DMXConfigStringPtr, yyvsp[-1].string, yyvsp[0].string); yyval.string = yyvsp[-1].string; } break; -/* Line 1267 of yacc.c. */ -#line 1675 "parser.c" - default: break; } - YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); - YYPOPSTACK (yylen); - yylen = 0; - YY_STACK_PRINT (yyss, yyssp); +/* Line 1016 of /usr/local/share/bison/yacc.c. */ +#line 1281 "parser.c" + + yyvsp -= yylen; + yyssp -= yylen; + + +#if YYDEBUG + if (yydebug) + { + short *yyssp1 = yyss - 1; + YYFPRINTF (stderr, "state stack now"); + while (yyssp1 != yyssp) + YYFPRINTF (stderr, " %d", *++yyssp1); + YYFPRINTF (stderr, "\n"); + } +#endif *++yyvsp = yyval; @@ -1706,93 +1320,95 @@ yyerrlab: if (!yyerrstatus) { ++yynerrs; -#if ! YYERROR_VERBOSE - yyerror (YY_("syntax error")); -#else - { - YYSIZE_T yysize = yysyntax_error (0, yystate, yychar); - if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM) - { - YYSIZE_T yyalloc = 2 * yysize; - if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM)) - yyalloc = YYSTACK_ALLOC_MAXIMUM; - if (yymsg != yymsgbuf) - YYSTACK_FREE (yymsg); - yymsg = (char *) YYSTACK_ALLOC (yyalloc); - if (yymsg) - yymsg_alloc = yyalloc; - else - { - yymsg = yymsgbuf; - yymsg_alloc = sizeof yymsgbuf; - } - } +#if YYERROR_VERBOSE + yyn = yypact[yystate]; - if (0 < yysize && yysize <= yymsg_alloc) - { - (void) yysyntax_error (yymsg, yystate, yychar); - yyerror (yymsg); - } - else - { - yyerror (YY_("syntax error")); - if (yysize != 0) - goto yyexhaustedlab; - } - } -#endif - } - - - - if (yyerrstatus == 3) - { - /* If just tried and failed to reuse look-ahead token after an - error, discard it. */ - - if (yychar <= YYEOF) + if (YYPACT_NINF < yyn && yyn < YYLAST) { - /* Return failure if at end of input. */ - if (yychar == YYEOF) - YYABORT; + YYSIZE_T yysize = 0; + int yytype = YYTRANSLATE (yychar); + char *yymsg; + int yyx, yycount; + + yycount = 0; + /* Start YYX at -YYN if negative to avoid negative indexes in + YYCHECK. */ + for (yyx = yyn < 0 ? -yyn : 0; + yyx < (int) (sizeof (yytname) / sizeof (char *)); yyx++) + if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) + yysize += yystrlen (yytname[yyx]) + 15, yycount++; + yysize += yystrlen ("parse error, unexpected ") + 1; + yysize += yystrlen (yytname[yytype]); + yymsg = (char *) YYSTACK_ALLOC (yysize); + if (yymsg != 0) + { + char *yyp = yystpcpy (yymsg, "parse error, unexpected "); + yyp = yystpcpy (yyp, yytname[yytype]); + + if (yycount < 5) + { + yycount = 0; + for (yyx = yyn < 0 ? -yyn : 0; + yyx < (int) (sizeof (yytname) / sizeof (char *)); + yyx++) + if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) + { + const char *yyq = ! yycount ? ", expecting " : " or "; + yyp = yystpcpy (yyp, yyq); + yyp = yystpcpy (yyp, yytname[yyx]); + yycount++; + } + } + yyerror (yymsg); + YYSTACK_FREE (yymsg); + } + else + yyerror ("parse error; also virtual memory exhausted"); } else - { - yydestruct ("Error: discarding", - yytoken, &yylval); - yychar = YYEMPTY; - } +#endif /* YYERROR_VERBOSE */ + yyerror ("parse error"); + } + goto yyerrlab1; + + +/*----------------------------------------------------. +| yyerrlab1 -- error raised explicitly by an action. | +`----------------------------------------------------*/ +yyerrlab1: + if (yyerrstatus == 3) + { + /* If just tried and failed to reuse lookahead token after an + error, discard it. */ + + /* Return failure if at end of input. */ + if (yychar == YYEOF) + { + /* Pop the error token. */ + YYPOPSTACK; + /* Pop the rest of the stack. */ + while (yyssp > yyss) + { + YYDPRINTF ((stderr, "Error: popping ")); + YYDSYMPRINT ((stderr, + yystos[*yyssp], + *yyvsp)); + YYDPRINTF ((stderr, "\n")); + yydestruct (yystos[*yyssp], *yyvsp); + YYPOPSTACK; + } + YYABORT; + } + + YYDPRINTF ((stderr, "Discarding token %d (%s).\n", + yychar, yytname[yychar1])); + yydestruct (yychar1, yylval); + yychar = YYEMPTY; } - /* Else will try to reuse look-ahead token after shifting the error + /* Else will try to reuse lookahead token after shifting the error token. */ - goto yyerrlab1; - -/*---------------------------------------------------. -| yyerrorlab -- error raised explicitly by YYERROR. | -`---------------------------------------------------*/ -yyerrorlab: - - /* Pacify compilers like GCC when the user code never invokes - YYERROR and the label yyerrorlab therefore never appears in user - code. */ - if (/*CONSTCOND*/ 0) - goto yyerrorlab; - - /* Do not reclaim the symbols of the rule which action triggered - this YYERROR. */ - YYPOPSTACK (yylen); - yylen = 0; - YY_STACK_PRINT (yyss, yyssp); - yystate = *yyssp; - goto yyerrlab1; - - -/*-------------------------------------------------------------. -| yyerrlab1 -- common code for both syntax error and YYERROR. | -`-------------------------------------------------------------*/ -yyerrlab1: yyerrstatus = 3; /* Each real token shifted decrements this. */ for (;;) @@ -1813,23 +1429,36 @@ yyerrlab1: if (yyssp == yyss) YYABORT; + YYDPRINTF ((stderr, "Error: popping ")); + YYDSYMPRINT ((stderr, + yystos[*yyssp], *yyvsp)); + YYDPRINTF ((stderr, "\n")); - yydestruct ("Error: popping", - yystos[yystate], yyvsp); - YYPOPSTACK (1); - yystate = *yyssp; - YY_STACK_PRINT (yyss, yyssp); + yydestruct (yystos[yystate], *yyvsp); + yyvsp--; + yystate = *--yyssp; + + +#if YYDEBUG + if (yydebug) + { + short *yyssp1 = yyss - 1; + YYFPRINTF (stderr, "Error: state stack now"); + while (yyssp1 != yyssp) + YYFPRINTF (stderr, " %d", *++yyssp1); + YYFPRINTF (stderr, "\n"); + } +#endif } if (yyn == YYFINAL) YYACCEPT; + YYDPRINTF ((stderr, "Shifting error token, ")); + *++yyvsp = yylval; - /* Shift the error token. */ - YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp); - yystate = yyn; goto yynewstate; @@ -1849,40 +1478,23 @@ yyabortlab: goto yyreturn; #ifndef yyoverflow -/*-------------------------------------------------. -| yyexhaustedlab -- memory exhaustion comes here. | -`-------------------------------------------------*/ -yyexhaustedlab: - yyerror (YY_("memory exhausted")); +/*----------------------------------------------. +| yyoverflowlab -- parser overflow comes here. | +`----------------------------------------------*/ +yyoverflowlab: + yyerror ("parser stack overflow"); yyresult = 2; /* Fall through. */ #endif yyreturn: - if (yychar != YYEOF && yychar != YYEMPTY) - yydestruct ("Cleanup: discarding lookahead", - yytoken, &yylval); - /* Do not reclaim the symbols of the rule which action triggered - this YYABORT or YYACCEPT. */ - YYPOPSTACK (yylen); - YY_STACK_PRINT (yyss, yyssp); - while (yyssp != yyss) - { - yydestruct ("Cleanup: popping", - yystos[*yyssp], yyvsp); - YYPOPSTACK (1); - } #ifndef yyoverflow if (yyss != yyssa) YYSTACK_FREE (yyss); #endif -#if YYERROR_VERBOSE - if (yymsg != yymsgbuf) - YYSTACK_FREE (yymsg); -#endif - /* Make sure YYID is used. */ - return YYID (yyresult); + return yyresult; } +#line 95 "parser.y" diff --git a/xserver/hw/dmx/config/parser.h b/xserver/hw/dmx/config/parser.h index 89dc9a93b..0e90f06ee 100644 --- a/xserver/hw/dmx/config/parser.h +++ b/xserver/hw/dmx/config/parser.h @@ -1,9 +1,7 @@ -/* A Bison parser, made by GNU Bison 2.3. */ +/* A Bison parser, made from /home/anholt/xserver-stable/hw/dmx/config/parser.y, by GNU bison 1.75. */ -/* Skeleton interface for Bison's Yacc-like parsers in C - - Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 - Free Software Foundation, Inc. +/* Skeleton parser for Yacc-like parsing with Bison, + Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -17,21 +15,16 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. */ + Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ -/* As a special exception, you may create a larger work that contains - part or all of the Bison parser skeleton and distribute that work - under terms of your choice, so long as that work isn't itself a - parser generator using the skeleton or a modified version thereof - as a parser skeleton. Alternatively, if you modify or redistribute - the parser skeleton itself, you may (at your option) remove this - special exception, which will cause the skeleton and the resulting - Bison output files to be licensed under the GNU General Public - License without this special exception. +/* As a special exception, when this file is copied by Bison into a + Bison output file, you may use that output file without restriction. + This special exception was added by the Free Software Foundation + in version 1.24 of Bison. */ - This special exception was added by the Free Software Foundation in - version 2.2 of Bison. */ +#ifndef BISON_PARSER_H +# define BISON_PARSER_H /* Tokens. */ #ifndef YYTOKENTYPE @@ -52,7 +45,6 @@ T_LINE_COMMENT = 268 }; #endif -/* Tokens. */ #define T_VIRTUAL 258 #define T_DISPLAY 259 #define T_WALL 260 @@ -68,10 +60,9 @@ -#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED -typedef union YYSTYPE +#ifndef YYSTYPE #line 56 "parser.y" -{ +typedef union { DMXConfigTokenPtr token; DMXConfigStringPtr string; DMXConfigNumberPtr number; @@ -86,14 +77,14 @@ typedef union YYSTYPE DMXConfigSubPtr subentry; DMXConfigVirtualPtr virtual; DMXConfigEntryPtr entry; -} -/* Line 1529 of yacc.c. */ -#line 92 "parser.h" - YYSTYPE; -# define yystype YYSTYPE /* obsolescent; will be withdrawn */ -# define YYSTYPE_IS_DECLARED 1 -# define YYSTYPE_IS_TRIVIAL 1 +} yystype; +/* Line 1237 of /usr/local/share/bison/yacc.c. */ +#line 83 "parser.h" +# define YYSTYPE yystype #endif extern YYSTYPE yylval; + +#endif /* not BISON_PARSER_H */ + diff --git a/xserver/hw/dmx/config/scanner.c b/xserver/hw/dmx/config/scanner.c index 60ae4f597..f809d56f6 100644 --- a/xserver/hw/dmx/config/scanner.c +++ b/xserver/hw/dmx/config/scanner.c @@ -1,15 +1,21 @@ -/* A lexical scanner generated by flex*/ +/* A lexical scanner generated by flex */ /* Scanner skeleton version: - * $Header: /home/cvs/xenocara/xserver/hw/dmx/config/Attic/scanner.c,v 1.1.1.1 2006/11/26 18:23:29 matthieu Exp $ + * $Header: /home/cvs/xenocara/xserver/hw/dmx/config/Attic/scanner.c,v 1.1.1.2 2007/11/24 18:02:39 matthieu Exp $ + * $FreeBSD: src/usr.bin/lex/flex.skl,v 1.8 2004/01/06 19:03:44 nectar Exp $ */ +#if defined(__FreeBSD__) +#include +#else +#define __unused +#endif + #define FLEX_SCANNER #define YY_FLEX_MAJOR_VERSION 2 #define YY_FLEX_MINOR_VERSION 5 #include -#include /* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */ @@ -23,6 +29,7 @@ #ifdef __cplusplus #include +#include /* Use prototypes in function declarations. */ #define YY_USE_PROTOS @@ -134,15 +141,6 @@ extern FILE *yyin, *yyout; #define unput(c) yyunput( c, yytext_ptr ) -/* Some routines like yy_flex_realloc() are emitted as static but are - not called by all lexers. This generates warnings in some compilers, - notably GCC. Arrange to suppress these. */ -#ifdef __GNUC__ -#define YY_MAY_BE_UNUSED __attribute__((unused)) -#else -#define YY_MAY_BE_UNUSED -#endif - /* The following is because we cannot portably get our hands on size_t * (without autoconf's help, which isn't available because we want * flex-generated scanners to compile on their own). @@ -249,7 +247,7 @@ YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str )); YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len )); static void *yy_flex_alloc YY_PROTO(( yy_size_t )); -static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t )) YY_MAY_BE_UNUSED; +static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t )) __unused; static void yy_flex_free YY_PROTO(( void * )); #define yy_new_buffer yy_create_buffer @@ -468,7 +466,7 @@ static int getcomment(int token, const char *text, int leng); static int lineno = 1; #define OTHER 1 -#line 472 "scanner.c" +#line 470 "scanner.c" /* Macros after this point can all be overridden by user definitions in * section 1. @@ -619,12 +617,12 @@ YY_MALLOC_DECL YY_DECL { register yy_state_type yy_current_state; - register char *yy_cp = NULL, *yy_bp = NULL; + register char *yy_cp, *yy_bp; register int yy_act; #line 62 "scanner.l" -#line 628 "scanner.c" +#line 626 "scanner.c" if ( yy_init ) { @@ -813,7 +811,7 @@ YY_RULE_SETUP #line 83 "scanner.l" ECHO; YY_BREAK -#line 817 "scanner.c" +#line 815 "scanner.c" case YY_END_OF_BUFFER: { @@ -1194,7 +1192,6 @@ register char *yy_bp; #endif /* ifndef YY_NO_UNPUT */ -#ifndef YY_NO_INPUT #ifdef __cplusplus static int yyinput() #else @@ -1267,7 +1264,7 @@ static int input() return c; } -#endif /* YY_NO_INPUT */ + #ifdef YY_USE_PROTOS void yyrestart( FILE *input_file ) @@ -1378,6 +1375,11 @@ YY_BUFFER_STATE b; } +#ifndef YY_ALWAYS_INTERACTIVE +#ifndef YY_NEVER_INTERACTIVE +extern int isatty YY_PROTO(( int )); +#endif +#endif #ifdef YY_USE_PROTOS void yy_init_buffer( YY_BUFFER_STATE b, FILE *file ) diff --git a/xserver/hw/dmx/config/vdltodmx.c b/xserver/hw/dmx/config/vdltodmx.c index 33cd8fe8a..69563f16c 100644 --- a/xserver/hw/dmx/config/vdltodmx.c +++ b/xserver/hw/dmx/config/vdltodmx.c @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2002 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/config/xdmxconfig.c b/xserver/hw/dmx/config/xdmxconfig.c index fe51ab8b8..033b52512 100644 --- a/xserver/hw/dmx/config/xdmxconfig.c +++ b/xserver/hw/dmx/config/xdmxconfig.c @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2002 Red Hat Inc., Durham, North Carolina. * @@ -60,7 +59,7 @@ extern int yyparse(void); extern FILE *yyin; -#define DMX_INFO "xdmxconfig v0.9\nCopyright 2002 Red Hat Inc.\n$Id: xdmxconfig.c,v 1.1.1.1 2006/11/26 18:23:28 matthieu Exp $" +#define DMX_INFO "xdmxconfig v0.9\nCopyright 2002 Red Hat Inc.\n" #define DMX_MAIN_WIDTH 800 #define DMX_MAIN_HEIGHT 600 diff --git a/xserver/hw/dmx/dmx-config.h b/xserver/hw/dmx/dmx-config.h index 9647448dc..18a05356b 100644 --- a/xserver/hw/dmx/dmx-config.h +++ b/xserver/hw/dmx/dmx-config.h @@ -66,7 +66,7 @@ ((year-2000) * 10000) + \ ((month) * 100) + \ ((day) * 1) -#define VENDOR_RELEASE DMX_VENDOR_RELEASE(1,2,2004,6,30) +#define VENDOR_RELEASE DMX_VENDOR_RELEASE(1,2,2007,4,24) #define VENDOR_STRING "DMX Project" /* Enable the DMX extension */ diff --git a/xserver/hw/dmx/dmx.c b/xserver/hw/dmx/dmx.c index 75623e696..24d1620b8 100644 --- a/xserver/hw/dmx/dmx.c +++ b/xserver/hw/dmx/dmx.c @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2002-2004 Red Hat Inc., Durham, North Carolina. * @@ -282,12 +281,12 @@ static int ProcDMXForceWindowCreation(ClientPtr client) int i; if (!(win = SecurityLookupIDByType(client, stuff->window, XRT_WINDOW, - SecurityReadAccess))) + DixReadAccess))) return -1; /* BadWindow */ FOR_NSCREENS(i) { - if (!(pWin = SecurityLookupWindow(win->info[i].id, client, - SecurityReadAccess))) + if (Success != dixLookupWindow(&pWin, win->info[i].id, client, + DixReadAccess)) return -1; /* BadWindow */ dmxForceWindowCreation(pWin); @@ -296,8 +295,8 @@ static int ProcDMXForceWindowCreation(ClientPtr client) } #endif - if (!(pWin = SecurityLookupWindow(stuff->window, client, - SecurityReadAccess))) + if (Success != dixLookupWindow(&pWin, stuff->window, client, + DixReadAccess)) return -1; /* BadWindow */ dmxForceWindowCreation(pWin); @@ -556,12 +555,12 @@ static int dmxPopulatePanoramiX(ClientPtr client, Window window, DMXWindowAttributesRec attr; if (!(win = SecurityLookupIDByType(client, window, XRT_WINDOW, - SecurityReadAccess))) + DixReadAccess))) return -1; /* BadWindow */ FOR_NSCREENS(i) { - if (!(pWin = SecurityLookupWindow(win->info[i].id, client, - SecurityReadAccess))) + if (Success != dixLookupWindow(&pWin, win->info[i].id, client, + DixReadAccess)) return -1; /* BadWindow */ if (dmxGetWindowAttributes(pWin, &attr)) { screens[count] = attr.screen; @@ -587,7 +586,7 @@ static int dmxPopulate(ClientPtr client, Window window, CARD32 *screens, pos, vis); #endif - if (!(pWin = SecurityLookupWindow(window, client, SecurityReadAccess))) + if (Success != dixLookupWindow(&pWin, window, client, DixReadAccess)) return -1; /* BadWindow */ dmxGetWindowAttributes(pWin, &attr); diff --git a/xserver/hw/dmx/dmx.h b/xserver/hw/dmx/dmx.h index becb2da38..37f42a76f 100644 --- a/xserver/hw/dmx/dmx.h +++ b/xserver/hw/dmx/dmx.h @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2001-2003 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/dmxcb.c b/xserver/hw/dmx/dmxcb.c index b1f47bde4..2ecfe22a3 100644 --- a/xserver/hw/dmx/dmxcb.c +++ b/xserver/hw/dmx/dmxcb.c @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2001-2004 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/dmxcb.h b/xserver/hw/dmx/dmxcb.h index 38ffa5671..fa334dbe8 100644 --- a/xserver/hw/dmx/dmxcb.h +++ b/xserver/hw/dmx/dmxcb.h @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2001,2002 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/dmxclient.h b/xserver/hw/dmx/dmxclient.h index 586b82990..8f018d153 100644 --- a/xserver/hw/dmx/dmxclient.h +++ b/xserver/hw/dmx/dmxclient.h @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright (c) 1995 X Consortium * Copyright 2004 Red Hat Inc., Durham, North Carolina. @@ -126,7 +125,7 @@ typedef XID KeySym64; #undef KeySym #endif -/* These are in exglobals.h, but that conflicts with X11/extensions/XKBsrv.h */ +/* These are in exglobals.h, but that conflicts with xkbsrv.h */ extern int ProximityIn; extern int ProximityOut; extern int DeviceValuator; @@ -144,7 +143,7 @@ extern int ChangeDeviceNotify; #ifndef XKB_IN_SERVER #define XKB_IN_SERVER #endif -#include +#include #undef XPointer #endif #include diff --git a/xserver/hw/dmx/dmxcmap.c b/xserver/hw/dmx/dmxcmap.c index 9a9781f53..949d7d689 100644 --- a/xserver/hw/dmx/dmxcmap.c +++ b/xserver/hw/dmx/dmxcmap.c @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2001-2004 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/dmxcmap.h b/xserver/hw/dmx/dmxcmap.h index 09039e72b..228f8662e 100644 --- a/xserver/hw/dmx/dmxcmap.h +++ b/xserver/hw/dmx/dmxcmap.h @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2002-2004 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/dmxcursor.c b/xserver/hw/dmx/dmxcursor.c index e74a05215..1ad199d58 100644 --- a/xserver/hw/dmx/dmxcursor.c +++ b/xserver/hw/dmx/dmxcursor.c @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2001-2004 Red Hat Inc., Durham, North Carolina. * @@ -130,14 +129,16 @@ static Bool dmxCursorOffScreen(ScreenPtr *ppScreen, int *x, int *y) int globalX; int globalY; - if (screenInfo.numScreens == 1) return FALSE; + if (screenInfo.numScreens == 1) + return FALSE; /* On current screen? */ dmxScreen = &dmxScreens[(*ppScreen)->myNum]; if (localX >= 0 && localX < dmxScreen->rootWidth && localY >= 0 - && localY < dmxScreen->rootHeight) return FALSE; + && localY < dmxScreen->rootHeight) + return FALSE; /* Convert to global coordinate space */ globalX = dmxScreen->rootXOrigin + localX; @@ -162,7 +163,8 @@ static Bool dmxCursorOffScreen(ScreenPtr *ppScreen, int *x, int *y) && globalX < dmxScreen->rootXOrigin + dmxScreen->rootWidth && globalY >= dmxScreen->rootYOrigin && globalY < dmxScreen->rootYOrigin + dmxScreen->rootHeight) { - if (dmxScreen->index == (*ppScreen)->myNum) return FALSE; + if (dmxScreen->index == (*ppScreen)->myNum) + return FALSE; *ppScreen = screenInfo.screens[dmxScreen->index]; *x = globalX - dmxScreen->rootXOrigin; *y = globalY - dmxScreen->rootYOrigin; @@ -179,7 +181,12 @@ static void dmxCrossScreen(ScreenPtr pScreen, Bool entering) static void dmxWarpCursor(ScreenPtr pScreen, int x, int y) { DMXDBG3("dmxWarpCursor(%d,%d,%d)\n", pScreen->myNum, x, y); +#if 11 /*BP*/ + /* This call is depracated. Replace with???? */ miPointerWarpCursor(pScreen, x, y); +#else + pScreen->SetCursorPosition(pScreen, x, y, FALSE); +#endif } miPointerScreenFuncRec dmxPointerCursorFuncs = @@ -187,7 +194,7 @@ miPointerScreenFuncRec dmxPointerCursorFuncs = dmxCursorOffScreen, dmxCrossScreen, dmxWarpCursor, - dmxeqEnqueue, + dmxeqEnqueue, /*XXX incompatible type/function! */ dmxeqSwitchScreen }; @@ -198,7 +205,8 @@ static int *dmxSLCreate(void) int *list = malloc(dmxNumScreens * sizeof(*list)); int i; - for (i = 0; i < dmxNumScreens; i++) list[i] = 1; + for (i = 0; i < dmxNumScreens; i++) + list[i] = 1; return list; } @@ -212,7 +220,9 @@ static void dmxSLFree(int *list) static int dmxSLFindNext(int *list) { int i; - for (i = 0; i < dmxNumScreens; i++) if (list[i]) return i; + for (i = 0; i < dmxNumScreens; i++) + if (list[i]) + return i; return -1; } @@ -225,7 +235,8 @@ static int dmxTryComputeScreenOrigins(int *screensLeft) int changed = 0; for (i = 0; i < dmxNumScreens; i++) { - if (!screensLeft[i]) continue; + if (!screensLeft[i]) + continue; screen = &dmxScreens[i]; switch (screen->where) { case PosAbsolute: @@ -235,14 +246,16 @@ static int dmxTryComputeScreenOrigins(int *screensLeft) break; case PosRelative: ref = screen->whereRefScreen; - if (screensLeft[ref]) break; + if (screensLeft[ref]) + break; dixScreenOrigins[i].x = dixScreenOrigins[ref].x + screen->whereX; dixScreenOrigins[i].y = dixScreenOrigins[ref].y + screen->whereY; ++changed, screensLeft[i] = 0; break; case PosRightOf: ref = screen->whereRefScreen; - if (screensLeft[ref]) break; + if (screensLeft[ref]) + break; pScreen = screenInfo.screens[ref]; dixScreenOrigins[i].x = dixScreenOrigins[ref].x + pScreen->width; dixScreenOrigins[i].y = dixScreenOrigins[ref].y; @@ -250,7 +263,8 @@ static int dmxTryComputeScreenOrigins(int *screensLeft) break; case PosLeftOf: ref = screen->whereRefScreen; - if (screensLeft[ref]) break; + if (screensLeft[ref]) + break; pScreen = screenInfo.screens[i]; dixScreenOrigins[i].x = dixScreenOrigins[ref].x - pScreen->width; dixScreenOrigins[i].y = dixScreenOrigins[ref].y; @@ -258,7 +272,8 @@ static int dmxTryComputeScreenOrigins(int *screensLeft) break; case PosBelow: ref = screen->whereRefScreen; - if (screensLeft[ref]) break; + if (screensLeft[ref]) + break; pScreen = screenInfo.screens[ref]; dixScreenOrigins[i].x = dixScreenOrigins[ref].x; dixScreenOrigins[i].y = dixScreenOrigins[ref].y + pScreen->height; @@ -266,7 +281,8 @@ static int dmxTryComputeScreenOrigins(int *screensLeft) break; case PosAbove: ref = screen->whereRefScreen; - if (screensLeft[ref]) break; + if (screensLeft[ref]) + break; pScreen = screenInfo.screens[i]; dixScreenOrigins[i].x = dixScreenOrigins[ref].x; dixScreenOrigins[i].y = dixScreenOrigins[ref].y - pScreen->height; @@ -308,8 +324,10 @@ static void dmxComputeScreenOrigins(void) minX = dixScreenOrigins[0].x; minY = dixScreenOrigins[0].y; for (i = 1; i < dmxNumScreens; i++) { /* Compute minX, minY */ - if (dixScreenOrigins[i].x < minX) minX = dixScreenOrigins[i].x; - if (dixScreenOrigins[i].y < minY) minY = dixScreenOrigins[i].y; + if (dixScreenOrigins[i].x < minX) + minX = dixScreenOrigins[i].x; + if (dixScreenOrigins[i].y < minY) + minY = dixScreenOrigins[i].y; } if (minX || minY) { for (i = 0; i < dmxNumScreens; i++) { @@ -411,28 +429,36 @@ int dmxOnScreen(int x, int y, DMXScreenInfo *dmxScreen) static int dmxDoesOverlap(DMXScreenInfo *a, DMXScreenInfo *b) { if (dmxOnScreen(a->rootXOrigin, - a->rootYOrigin, b)) return 1; + a->rootYOrigin, b)) + return 1; if (dmxOnScreen(a->rootXOrigin, - a->rootYOrigin + a->scrnWidth, b)) return 1; + a->rootYOrigin + a->scrnWidth, b)) + return 1; if (dmxOnScreen(a->rootXOrigin + a->scrnHeight, - a->rootYOrigin, b)) return 1; + a->rootYOrigin, b)) + return 1; if (dmxOnScreen(a->rootXOrigin + a->scrnHeight, - a->rootYOrigin + a->scrnWidth, b)) return 1; + a->rootYOrigin + a->scrnWidth, b)) + return 1; if (dmxOnScreen(b->rootXOrigin, - b->rootYOrigin, a)) return 1; + b->rootYOrigin, a)) + return 1; if (dmxOnScreen(b->rootXOrigin, - b->rootYOrigin + b->scrnWidth, a)) return 1; + b->rootYOrigin + b->scrnWidth, a)) + return 1; if (dmxOnScreen(b->rootXOrigin + b->scrnHeight, - b->rootYOrigin, a)) return 1; + b->rootYOrigin, a)) + return 1; if (dmxOnScreen(b->rootXOrigin + b->scrnHeight, - b->rootYOrigin + b->scrnWidth, a)) return 1; + b->rootYOrigin + b->scrnWidth, a)) + return 1; return 0; } @@ -476,7 +502,8 @@ static void *dmxTestSameDisplay(DMXScreenInfo *a, void *closure) { DMXScreenInfo *b = closure; - if (a == b) return a; + if (a == b) + return a; return NULL; } @@ -489,14 +516,16 @@ void dmxInitOverlap(void) int i, j; DMXScreenInfo *a, *b, *pt; - for (i = 0; i < dmxNumScreens; i++) dmxScreens[i].over = NULL; + for (i = 0; i < dmxNumScreens; i++) + dmxScreens[i].over = NULL; for (i = 0; i < dmxNumScreens; i++) { a = &dmxScreens[i]; for (j = i+1; j < dmxNumScreens; j++) { b = &dmxScreens[j]; - if (b->over) continue; + if (b->over) + continue; if (dmxDoesOverlap(a, b)) { DMXDBG6("%d overlaps %d: a=%p %p b=%p %p\n", @@ -510,7 +539,8 @@ void dmxInitOverlap(void) for (i = 0; i < dmxNumScreens; i++) { a = &dmxScreens[i]; - if (!a->over) continue; + if (!a->over) + continue; /* Flag all pairs that are on same display */ for (pt = a->over; pt != a; pt = pt->over) { @@ -521,7 +551,8 @@ void dmxInitOverlap(void) * screens that mutually overlap on the backend display, * so we call dmxDoesOverlap, which is stricter than the * ->over set. */ - if (!dmxDoesOverlap(a, pt)) continue; + if (!dmxDoesOverlap(a, pt)) + continue; a->cursorNotShared = 1; pt->cursorNotShared = 1; dmxLog(dmxInfo, @@ -731,9 +762,11 @@ static Bool dmxRealizeCursor(ScreenPtr pScreen, CursorPtr pCursor) return _dmxRealizeCursor(pScreen, pCursor); for (pt = start->over; /* condition at end of loop */; pt = pt->over) { - if (pt->cursorNotShared) continue; + if (pt->cursorNotShared) + continue; _dmxRealizeCursor(screenInfo.screens[pt->index], pCursor); - if (pt == start) break; + if (pt == start) + break; } return TRUE; } @@ -747,9 +780,11 @@ static Bool dmxUnrealizeCursor(ScreenPtr pScreen, CursorPtr pCursor) return _dmxUnrealizeCursor(pScreen, pCursor); for (pt = start->over; /* condition at end of loop */; pt = pt->over) { - if (pt->cursorNotShared) continue; + if (pt->cursorNotShared) + continue; _dmxUnrealizeCursor(screenInfo.screens[pt->index], pCursor); - if (pt == start) break; + if (pt == start) + break; } return TRUE; } @@ -758,10 +793,13 @@ static CursorPtr dmxFindCursor(DMXScreenInfo *start) { DMXScreenInfo *pt; - if (!start || !start->over) return GetSpriteCursor(); + if (!start || !start->over) + return GetSpriteCursor(); for (pt = start->over; /* condition at end of loop */; pt = pt->over) { - if (pt->cursor) return pt->cursor; - if (pt == start) break; + if (pt->cursor) + return pt->cursor; + if (pt == start) + break; } return GetSpriteCursor(); } @@ -769,7 +807,12 @@ static CursorPtr dmxFindCursor(DMXScreenInfo *start) /** Move the cursor to coordinates (\a x, \a y)on \a pScreen. This * function is usually called via #dmxPointerSpriteFuncs, except during * reconfiguration when the cursor is repositioned to force an update on - * newley overlapping screens and on screens that no longer overlap. */ + * newley overlapping screens and on screens that no longer overlap. + * + * The coords (x,y) are in global coord space. We'll loop over the + * back-end screens and see if they contain the global coord. If so, call + * _dmxMoveCursor() (XWarpPointer) to position the pointer on that screen. + */ void dmxMoveCursor(ScreenPtr pScreen, int x, int y) { DMXScreenInfo *start = &dmxScreens[pScreen->myNum]; @@ -783,7 +826,8 @@ void dmxMoveCursor(ScreenPtr pScreen, int x, int y) } for (pt = start->over; /* condition at end of loop */; pt = pt->over) { - if (pt->cursorNotShared) continue; + if (pt->cursorNotShared) + continue; if (dmxOnScreen(x + start->rootXOrigin, y + start->rootYOrigin, pt)) { if (/* pt != start && */ !pt->cursorVisible) { if (!pt->cursor) { @@ -811,7 +855,8 @@ void dmxMoveCursor(ScreenPtr pScreen, int x, int y) x + start->rootXOrigin - pt->rootXOrigin, y + start->rootYOrigin - pt->rootYOrigin); } - if (pt == start) break; + if (pt == start) + break; } } @@ -843,7 +888,7 @@ static void dmxSetCursor(ScreenPtr pScreen, CursorPtr pCursor, int x, int y) gx = start->rootXOrigin + x; gy = start->rootYOrigin + y; if (x && y && (GX != gx || GY != gy)) - dmxCoreMotion(gx, gy, 0, DMX_NO_BLOCK); + dmxCoreMotion(NULL, gx, gy, 0, DMX_NO_BLOCK); if (!start->over || !dmxCursorDoMultiCursors || start->cursorNotShared) { _dmxSetCursor(pScreen, pCursor, x, y); @@ -851,7 +896,8 @@ static void dmxSetCursor(ScreenPtr pScreen, CursorPtr pCursor, int x, int y) } for (pt = start->over; /* condition at end of loop */; pt = pt->over) { - if (pt->cursorNotShared) continue; + if (pt->cursorNotShared) + continue; if (dmxOnScreen(x + start->rootXOrigin, y + start->rootYOrigin, pt)) { _dmxSetCursor(screenInfo.screens[pt->index], pCursor, x + start->rootXOrigin - pt->rootXOrigin, @@ -861,7 +907,8 @@ static void dmxSetCursor(ScreenPtr pScreen, CursorPtr pCursor, int x, int y) x + start->rootXOrigin - pt->rootXOrigin, y + start->rootYOrigin - pt->rootYOrigin); } - if (pt == start) break; + if (pt == start) + break; } } @@ -896,8 +943,13 @@ void dmxCheckCursor(void) pScreen = screenInfo.screens[dmxScreen->index]; if (!dmxOnScreen(x, y, dmxScreen)) { +#if 00 if (firstScreen && i == miPointerCurrentScreen()->myNum) miPointerSetNewScreen(firstScreen->index, x, y); +#else + if (firstScreen && i == miPointerGetScreen(inputInfo.pointer)->myNum) + miPointerSetScreen(inputInfo.pointer, firstScreen->index, x, y); +#endif _dmxSetCursor(pScreen, NULL, x - dmxScreen->rootXOrigin, y - dmxScreen->rootYOrigin); diff --git a/xserver/hw/dmx/dmxcursor.h b/xserver/hw/dmx/dmxcursor.h index af076bd1c..7b70c6250 100644 --- a/xserver/hw/dmx/dmxcursor.h +++ b/xserver/hw/dmx/dmxcursor.h @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2001-2004 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/dmxdpms.c b/xserver/hw/dmx/dmxdpms.c index 5bcce188d..5c176dfc3 100644 --- a/xserver/hw/dmx/dmxdpms.c +++ b/xserver/hw/dmx/dmxdpms.c @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2003-2004 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/dmxdpms.h b/xserver/hw/dmx/dmxdpms.h index d3fa57d4a..e3eee983a 100644 --- a/xserver/hw/dmx/dmxdpms.h +++ b/xserver/hw/dmx/dmxdpms.h @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2003 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/dmxextension.c b/xserver/hw/dmx/dmxextension.c index c12973bd5..103364446 100644 --- a/xserver/hw/dmx/dmxextension.c +++ b/xserver/hw/dmx/dmxextension.c @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2003-2004 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/dmxextension.h b/xserver/hw/dmx/dmxextension.h index 3ea0b83ec..342d8c593 100644 --- a/xserver/hw/dmx/dmxextension.h +++ b/xserver/hw/dmx/dmxextension.h @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2003-2004 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/dmxfont.c b/xserver/hw/dmx/dmxfont.c index 3dba61de4..500b5682a 100644 --- a/xserver/hw/dmx/dmxfont.c +++ b/xserver/hw/dmx/dmxfont.c @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2001-2004 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/dmxfont.h b/xserver/hw/dmx/dmxfont.h index f69aac196..086e71b59 100644 --- a/xserver/hw/dmx/dmxfont.h +++ b/xserver/hw/dmx/dmxfont.h @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2001-2004 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/dmxgc.c b/xserver/hw/dmx/dmxgc.c index d17b05164..981f64d0a 100644 --- a/xserver/hw/dmx/dmxgc.c +++ b/xserver/hw/dmx/dmxgc.c @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2001-2004 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/dmxgc.h b/xserver/hw/dmx/dmxgc.h index 5f54d7dc9..3d49f6735 100644 --- a/xserver/hw/dmx/dmxgc.h +++ b/xserver/hw/dmx/dmxgc.h @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2001-2004 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/dmxgcops.c b/xserver/hw/dmx/dmxgcops.c index 75d9dfb73..eaabf16dd 100644 --- a/xserver/hw/dmx/dmxgcops.c +++ b/xserver/hw/dmx/dmxgcops.c @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2001-2004 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/dmxgcops.h b/xserver/hw/dmx/dmxgcops.h index 0754c44c1..da14d4d94 100644 --- a/xserver/hw/dmx/dmxgcops.h +++ b/xserver/hw/dmx/dmxgcops.h @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2001,2002 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/dmxinit.c b/xserver/hw/dmx/dmxinit.c index 1d3689c40..29dc00575 100644 --- a/xserver/hw/dmx/dmxinit.c +++ b/xserver/hw/dmx/dmxinit.c @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2001-2004 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/dmxinit.h b/xserver/hw/dmx/dmxinit.h index e5bdb9957..7d166fd85 100644 --- a/xserver/hw/dmx/dmxinit.h +++ b/xserver/hw/dmx/dmxinit.h @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2004 Red Hat Inc., Raleigh, North Carolina. * diff --git a/xserver/hw/dmx/dmxinput.c b/xserver/hw/dmx/dmxinput.c index 7c376dee4..d644b5d0d 100644 --- a/xserver/hw/dmx/dmxinput.c +++ b/xserver/hw/dmx/dmxinput.c @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2001,2002 Red Hat Inc., Durham, North Carolina. * @@ -49,11 +48,12 @@ #include "inputstr.h" #include "input.h" +#include "mi.h" /** Returns TRUE if the key is a valid modifier. For PC-class * keyboards, all keys can be used as modifiers, so return TRUE * always. */ -Bool LegalModifier(unsigned int key, DevicePtr pDev) +Bool LegalModifier(unsigned int key, DeviceIntPtr pDev) { return TRUE; } @@ -75,6 +75,8 @@ void InitInput(int argc, char **argv) dmxLog(dmxWarning, "Use keyboard/mouse pair with the first -input\n"); dmxLog(dmxFatal, "At least one core keyboard/mouse pair required\n"); } + + mieqInit(); } /** Called from dix/dispatch.c in Dispatch() whenever input events diff --git a/xserver/hw/dmx/dmxinput.h b/xserver/hw/dmx/dmxinput.h index 59fa823d3..8a3ccdcbd 100644 --- a/xserver/hw/dmx/dmxinput.h +++ b/xserver/hw/dmx/dmxinput.h @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2001,2002 Red Hat Inc., Durham, North Carolina. * @@ -154,7 +153,7 @@ typedef enum { extern void dmxGetGlobalPosition(int *x, int *y); extern DMXScreenInfo *dmxFindFirstScreen(int x, int y); -extern void dmxCoreMotion(int x, int y, int delta, +extern void dmxCoreMotion(DevicePtr pDev, int x, int y, int delta, DMXBlockType block); /* Support for dynamic addition of inputs. This functions is defined in diff --git a/xserver/hw/dmx/dmxlog.c b/xserver/hw/dmx/dmxlog.c index 16d082daa..31a74cdf1 100644 --- a/xserver/hw/dmx/dmxlog.c +++ b/xserver/hw/dmx/dmxlog.c @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2001 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/dmxlog.h b/xserver/hw/dmx/dmxlog.h index 6b9ec6005..8a5f725c8 100644 --- a/xserver/hw/dmx/dmxlog.h +++ b/xserver/hw/dmx/dmxlog.h @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2001 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/dmxpict.c b/xserver/hw/dmx/dmxpict.c index f2d050f9c..478542a13 100644 --- a/xserver/hw/dmx/dmxpict.c +++ b/xserver/hw/dmx/dmxpict.c @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2001-2004 Red Hat Inc., Durham, North Carolina. * @@ -274,7 +273,7 @@ static int dmxProcRenderCreateGlyphSet(ClientPtr client) /* Make sure we handle all errors here!! */ glyphSet = SecurityLookupIDByType(client, stuff->gsid, GlyphSetType, - SecurityDestroyAccess); + DixDestroyAccess); glyphPriv = xalloc(sizeof(dmxGlyphPrivRec)); if (!glyphPriv) return BadAlloc; glyphPriv->glyphSets = NULL; @@ -316,7 +315,7 @@ static int dmxProcRenderFreeGlyphSet(ClientPtr client) REQUEST_SIZE_MATCH(xRenderFreeGlyphSetReq); glyphSet = SecurityLookupIDByType(client, stuff->glyphset, GlyphSetType, - SecurityDestroyAccess); + DixDestroyAccess); if (glyphSet && glyphSet->refcnt == 1) { dmxGlyphPrivPtr glyphPriv = DMX_GET_GLYPH_PRIV(glyphSet); @@ -359,7 +358,7 @@ static int dmxProcRenderAddGlyphs(ClientPtr client) int nbytes; glyphSet = SecurityLookupIDByType(client, stuff->glyphset, - GlyphSetType, SecurityReadAccess); + GlyphSetType, DixReadAccess); glyphPriv = DMX_GET_GLYPH_PRIV(glyphSet); nglyphs = stuff->nglyphs; @@ -402,7 +401,7 @@ static int dmxProcRenderFreeGlyphs(ClientPtr client) REQUEST_AT_LEAST_SIZE(xRenderFreeGlyphsReq); glyphSet = SecurityLookupIDByType(client, stuff->glyphset, GlyphSetType, - SecurityWriteAccess); + DixWriteAccess); if (glyphSet) { dmxGlyphPrivPtr glyphPriv = DMX_GET_GLYPH_PRIV(glyphSet); @@ -474,13 +473,13 @@ static int dmxProcRenderCompositeGlyphs(ClientPtr client) dmxGlyphPrivPtr glyphPriv; pSrc = SecurityLookupIDByType(client, stuff->src, PictureType, - SecurityReadAccess); + DixReadAccess); pSrcPriv = DMX_GET_PICT_PRIV(pSrc); if (!pSrcPriv->pict) return ret; pDst = SecurityLookupIDByType(client, stuff->dst, PictureType, - SecurityWriteAccess); + DixWriteAccess); pDstPriv = DMX_GET_PICT_PRIV(pDst); if (!pDstPriv->pict) return ret; @@ -497,7 +496,7 @@ static int dmxProcRenderCompositeGlyphs(ClientPtr client) if (stuff->maskFormat) pFmt = SecurityLookupIDByType(client, stuff->maskFormat, - PictFormatType, SecurityReadAccess); + PictFormatType, DixReadAccess); else pFmt = NULL; @@ -548,7 +547,7 @@ static int dmxProcRenderCompositeGlyphs(ClientPtr client) curElt = elts; glyphSet = SecurityLookupIDByType(client, stuff->glyphset, - GlyphSetType, SecurityReadAccess); + GlyphSetType, DixReadAccess); glyphPriv = DMX_GET_GLYPH_PRIV(glyphSet); while (buffer + sizeof(xGlyphElt) < end) { @@ -559,7 +558,7 @@ static int dmxProcRenderCompositeGlyphs(ClientPtr client) glyphSet = SecurityLookupIDByType(client, *((CARD32 *)buffer), GlyphSetType, - SecurityReadAccess); + DixReadAccess); glyphPriv = DMX_GET_GLYPH_PRIV(glyphSet); buffer += 4; } else { @@ -623,7 +622,7 @@ static int dmxProcRenderSetPictureTransform(ClientPtr client) REQUEST(xRenderSetPictureTransformReq); REQUEST_SIZE_MATCH(xRenderSetPictureTransformReq); - VERIFY_PICTURE(pPicture, stuff->picture, client, SecurityWriteAccess, + VERIFY_PICTURE(pPicture, stuff->picture, client, DixWriteAccess, RenderErrBase + BadPicture); /* For the following to work with PanoramiX, it assumes that Render @@ -664,7 +663,7 @@ static int dmxProcRenderSetPictureFilter(ClientPtr client) REQUEST(xRenderSetPictureFilterReq); REQUEST_AT_LEAST_SIZE(xRenderSetPictureFilterReq); - VERIFY_PICTURE(pPicture, stuff->picture, client, SecurityWriteAccess, + VERIFY_PICTURE(pPicture, stuff->picture, client, DixWriteAccess, RenderErrBase + BadPicture); /* For the following to work with PanoramiX, it assumes that Render diff --git a/xserver/hw/dmx/dmxpict.h b/xserver/hw/dmx/dmxpict.h index fe2a65959..c178ef39c 100644 --- a/xserver/hw/dmx/dmxpict.h +++ b/xserver/hw/dmx/dmxpict.h @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2001-2004 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/dmxpixmap.c b/xserver/hw/dmx/dmxpixmap.c index 4a669fdd9..40d2d8e56 100644 --- a/xserver/hw/dmx/dmxpixmap.c +++ b/xserver/hw/dmx/dmxpixmap.c @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2001-2004 Red Hat Inc., Durham, North Carolina. * @@ -49,15 +48,11 @@ /** Initialize a private area in \a pScreen for pixmap information. */ Bool dmxInitPixmap(ScreenPtr pScreen) { -#ifdef PIXPRIV if (!AllocatePixmapPrivate(pScreen, dmxPixPrivateIndex, sizeof(dmxPixPrivRec))) return FALSE; return TRUE; -#else -#error Must define PIXPRIV to compile DMX X server -#endif } /** Create a pixmap on the back-end server. */ diff --git a/xserver/hw/dmx/dmxpixmap.h b/xserver/hw/dmx/dmxpixmap.h index 908d2cb2c..4ecd10fd8 100644 --- a/xserver/hw/dmx/dmxpixmap.h +++ b/xserver/hw/dmx/dmxpixmap.h @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2001-2004 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/dmxprop.c b/xserver/hw/dmx/dmxprop.c index 8d9e22a27..376313d8d 100644 --- a/xserver/hw/dmx/dmxprop.c +++ b/xserver/hw/dmx/dmxprop.c @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2002-2003 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/dmxprop.h b/xserver/hw/dmx/dmxprop.h index f0c5afb95..50135cd64 100644 --- a/xserver/hw/dmx/dmxprop.h +++ b/xserver/hw/dmx/dmxprop.h @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2002,2003 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/dmxscrinit.c b/xserver/hw/dmx/dmxscrinit.c index 5bfb4df0a..8ae448a5e 100644 --- a/xserver/hw/dmx/dmxscrinit.c +++ b/xserver/hw/dmx/dmxscrinit.c @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2001-2004 Red Hat Inc., Durham, North Carolina. * @@ -70,9 +69,7 @@ static unsigned long *dmxCursorGeneration; int dmxGCPrivateIndex; /**< Private index for GCs */ int dmxWinPrivateIndex; /**< Private index for Windows */ -#ifdef PIXPRIV int dmxPixPrivateIndex; /**< Private index for Pixmaps */ -#endif int dmxFontPrivateIndex; /**< Private index for Fonts */ int dmxScreenPrivateIndex; /**< Private index for Screens */ int dmxColormapPrivateIndex; /**< Private index for Colormaps */ @@ -233,14 +230,10 @@ Bool dmxScreenInit(int idx, ScreenPtr pScreen, int argc, char *argv[]) if (dmxWinPrivateIndex == -1) return FALSE; -#ifdef PIXPRIV /* Allocate pixmap private index */ dmxPixPrivateIndex = AllocatePixmapPrivateIndex(); if (dmxPixPrivateIndex == -1) return FALSE; -#else -#error Must define PIXPRIV to compile DMX X server -#endif /* Allocate font private index */ dmxFontPrivateIndex = AllocateFontPrivateIndex(); diff --git a/xserver/hw/dmx/dmxscrinit.h b/xserver/hw/dmx/dmxscrinit.h index 91be0948c..46a0a00a4 100644 --- a/xserver/hw/dmx/dmxscrinit.h +++ b/xserver/hw/dmx/dmxscrinit.h @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2001-2004 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/dmxshadow.c b/xserver/hw/dmx/dmxshadow.c index 8d1e147d1..461fd085b 100644 --- a/xserver/hw/dmx/dmxshadow.c +++ b/xserver/hw/dmx/dmxshadow.c @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2001 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/dmxshadow.h b/xserver/hw/dmx/dmxshadow.h index 4ba084c99..cafe87900 100644 --- a/xserver/hw/dmx/dmxshadow.h +++ b/xserver/hw/dmx/dmxshadow.h @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2001 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/dmxstat.c b/xserver/hw/dmx/dmxstat.c index 3b092b2a8..a89c69eae 100644 --- a/xserver/hw/dmx/dmxstat.c +++ b/xserver/hw/dmx/dmxstat.c @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2002, 2003 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/dmxstat.h b/xserver/hw/dmx/dmxstat.h index 5411272ca..04c88d3c9 100644 --- a/xserver/hw/dmx/dmxstat.h +++ b/xserver/hw/dmx/dmxstat.h @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2002 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/dmxsync.c b/xserver/hw/dmx/dmxsync.c index 02e244697..c1aa43107 100644 --- a/xserver/hw/dmx/dmxsync.c +++ b/xserver/hw/dmx/dmxsync.c @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2002-2004 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/dmxsync.h b/xserver/hw/dmx/dmxsync.h index 85fd36c07..b80f54af2 100644 --- a/xserver/hw/dmx/dmxsync.h +++ b/xserver/hw/dmx/dmxsync.h @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2002 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/dmxvisual.c b/xserver/hw/dmx/dmxvisual.c index 23ff0acfa..7b8771f9e 100644 --- a/xserver/hw/dmx/dmxvisual.c +++ b/xserver/hw/dmx/dmxvisual.c @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2002-2004 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/dmxvisual.h b/xserver/hw/dmx/dmxvisual.h index 8701bf01f..bcb54cd0e 100644 --- a/xserver/hw/dmx/dmxvisual.h +++ b/xserver/hw/dmx/dmxvisual.h @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2002 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/dmxwindow.c b/xserver/hw/dmx/dmxwindow.c index 25456e228..b66f2a3bb 100644 --- a/xserver/hw/dmx/dmxwindow.c +++ b/xserver/hw/dmx/dmxwindow.c @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2001-2004 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/dmxwindow.h b/xserver/hw/dmx/dmxwindow.h index e6302fe3f..f976c7954 100644 --- a/xserver/hw/dmx/dmxwindow.h +++ b/xserver/hw/dmx/dmxwindow.h @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2001-2004 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/examples/dmxaddinput.c b/xserver/hw/dmx/examples/dmxaddinput.c index c391385e9..dcfd4f5cc 100644 --- a/xserver/hw/dmx/examples/dmxaddinput.c +++ b/xserver/hw/dmx/examples/dmxaddinput.c @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2003,2004 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/examples/dmxaddscreen.c b/xserver/hw/dmx/examples/dmxaddscreen.c index 5fa008c21..8e60872df 100644 --- a/xserver/hw/dmx/examples/dmxaddscreen.c +++ b/xserver/hw/dmx/examples/dmxaddscreen.c @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2003-2004 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/examples/dmxreconfig.c b/xserver/hw/dmx/examples/dmxreconfig.c index efcead86e..042f8a112 100644 --- a/xserver/hw/dmx/examples/dmxreconfig.c +++ b/xserver/hw/dmx/examples/dmxreconfig.c @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2003 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/examples/dmxresize.c b/xserver/hw/dmx/examples/dmxresize.c index f6fadf70c..caed91d8d 100644 --- a/xserver/hw/dmx/examples/dmxresize.c +++ b/xserver/hw/dmx/examples/dmxresize.c @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2003 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/examples/dmxrminput.c b/xserver/hw/dmx/examples/dmxrminput.c index 3860cc9c6..ef62cab8b 100644 --- a/xserver/hw/dmx/examples/dmxrminput.c +++ b/xserver/hw/dmx/examples/dmxrminput.c @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2003,2004 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/examples/dmxrmscreen.c b/xserver/hw/dmx/examples/dmxrmscreen.c index ab3653d24..fecf0f6c1 100644 --- a/xserver/hw/dmx/examples/dmxrmscreen.c +++ b/xserver/hw/dmx/examples/dmxrmscreen.c @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2003-2004 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/examples/dmxwininfo.c b/xserver/hw/dmx/examples/dmxwininfo.c index bbf7f7446..6cf1d411e 100644 --- a/xserver/hw/dmx/examples/dmxwininfo.c +++ b/xserver/hw/dmx/examples/dmxwininfo.c @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright (c) 2003 by the XFree86 Project, Inc. * diff --git a/xserver/hw/dmx/examples/ev.c b/xserver/hw/dmx/examples/ev.c index 04c47eb11..10912266d 100644 --- a/xserver/hw/dmx/examples/ev.c +++ b/xserver/hw/dmx/examples/ev.c @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2002 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/examples/evi.c b/xserver/hw/dmx/examples/evi.c index 14af95d5a..644ea8f51 100644 --- a/xserver/hw/dmx/examples/evi.c +++ b/xserver/hw/dmx/examples/evi.c @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2003 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/examples/res.c b/xserver/hw/dmx/examples/res.c index 3af5541fa..901a1958b 100644 --- a/xserver/hw/dmx/examples/res.c +++ b/xserver/hw/dmx/examples/res.c @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2003 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/examples/xbell.c b/xserver/hw/dmx/examples/xbell.c index 4d55740a8..f3e3be1b8 100644 --- a/xserver/hw/dmx/examples/xbell.c +++ b/xserver/hw/dmx/examples/xbell.c @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2002 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/examples/xdmx.c b/xserver/hw/dmx/examples/xdmx.c index 3fec7dd3d..dedce6e8d 100644 --- a/xserver/hw/dmx/examples/xdmx.c +++ b/xserver/hw/dmx/examples/xdmx.c @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2001,2002 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/examples/xinput.c b/xserver/hw/dmx/examples/xinput.c index c2b9bc0f4..74353a93b 100644 --- a/xserver/hw/dmx/examples/xinput.c +++ b/xserver/hw/dmx/examples/xinput.c @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2001,2002 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/examples/xled.c b/xserver/hw/dmx/examples/xled.c index cb4bcb1ac..270f80511 100644 --- a/xserver/hw/dmx/examples/xled.c +++ b/xserver/hw/dmx/examples/xled.c @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2003 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/examples/xtest.c b/xserver/hw/dmx/examples/xtest.c index b6f223d27..1e2d1cfff 100644 --- a/xserver/hw/dmx/examples/xtest.c +++ b/xserver/hw/dmx/examples/xtest.c @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2003 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/glxProxy/Makefile.am b/xserver/hw/dmx/glxProxy/Makefile.am index 2f4a3b708..1fbc8d764 100644 --- a/xserver/hw/dmx/glxProxy/Makefile.am +++ b/xserver/hw/dmx/glxProxy/Makefile.am @@ -32,7 +32,7 @@ libglxproxy_a_SOURCES = compsize.c \ unpack.h AM_CFLAGS = \ - \ + $(DIX_CFLAGS) \ -I$(top_srcdir)/hw/dmx \ -I$(top_srcdir)/include \ -I$(top_srcdir)/GL/include \ diff --git a/xserver/hw/dmx/glxProxy/glxcmds.c b/xserver/hw/dmx/glxProxy/glxcmds.c index 78cb34eec..6771cf1de 100644 --- a/xserver/hw/dmx/glxProxy/glxcmds.c +++ b/xserver/hw/dmx/glxProxy/glxcmds.c @@ -430,9 +430,10 @@ int __glXBindSwapBarrierSGIX(__GLXclientState *cl, GLbyte *pc) DrawablePtr pDraw; __GLXpixmap *pGlxPixmap = NULL; __glXWindow *pGlxWindow = NULL; + int rc; - pDraw = (DrawablePtr) LookupDrawable(req->drawable, client); - if (!pDraw) { + rc = dixLookupDrawable(&pDraw, req->drawable, client, 0, DixUnknownAccess); + if (rc != Success) { pGlxPixmap = (__GLXpixmap *) LookupIDByType(req->drawable, __glXPixmapRes); if (pGlxPixmap) pDraw = pGlxPixmap->pDraw; @@ -459,9 +460,10 @@ int __glXJoinSwapGroupSGIX(__GLXclientState *cl, GLbyte *pc) DrawablePtr pDraw, pMember = NULL; __GLXpixmap *pGlxPixmap = NULL; __glXWindow *pGlxWindow = NULL; + int rc; - pDraw = (DrawablePtr) LookupDrawable(req->drawable, client); - if (!pDraw) { + rc = dixLookupDrawable(&pDraw, req->drawable, client, 0, DixUnknownAccess); + if (rc != Success) { pGlxPixmap = (__GLXpixmap *) LookupIDByType(req->drawable, __glXPixmapRes); if (pGlxPixmap) pDraw = pGlxPixmap->pDraw; @@ -479,8 +481,9 @@ int __glXJoinSwapGroupSGIX(__GLXclientState *cl, GLbyte *pc) } if (req->member != None) { - pMember = (DrawablePtr) LookupDrawable(req->member, client); - if (!pMember) { + rc = dixLookupDrawable(&pMember, req->member, client, 0, + DixUnknownAccess); + if (rc != Success) { pGlxPixmap = (__GLXpixmap *) LookupIDByType(req->member, __glXPixmapRes); if (pGlxPixmap) pMember = pGlxPixmap->pDraw; @@ -734,7 +737,7 @@ static int MakeCurrent(__GLXclientState *cl, #endif int from_screen = 0; int to_screen = 0; - int s; + int s, rc; /* ** If one is None and the other isn't, it's a bad match. @@ -778,8 +781,8 @@ static int MakeCurrent(__GLXclientState *cl, } if (drawId != None) { - pDraw = (DrawablePtr) LookupDrawable(drawId, client); - if (pDraw) { + rc = dixLookupDrawable(&pDraw, drawId, client, 0, DixUnknownAccess); + if (rc == Success) { if (pDraw->type == DRAWABLE_WINDOW) { /* ** Drawable is an X Window. @@ -885,8 +888,8 @@ static int MakeCurrent(__GLXclientState *cl, } if (readId != None && readId != drawId ) { - pReadDraw = (DrawablePtr) LookupDrawable(readId, client); - if (pReadDraw) { + rc = dixLookupDrawable(&pReadDraw, readId, client, 0,DixUnknownAccess); + if (rc == Success) { if (pReadDraw->type == DRAWABLE_WINDOW) { /* ** Drawable is an X Window. @@ -1105,13 +1108,13 @@ static int MakeCurrent(__GLXclientState *cl, if (pDraw && new_reply.writeType != GLX_PBUFFER_TYPE) { pXinDraw = (PanoramiXRes *) - SecurityLookupIDByClass(client, pDraw->id, XRC_DRAWABLE, SecurityReadAccess); + SecurityLookupIDByClass(client, pDraw->id, XRC_DRAWABLE, DixReadAccess); } if (pReadDraw && pReadDraw != pDraw && new_reply.readType != GLX_PBUFFER_TYPE) { pXinReadDraw = (PanoramiXRes *) - SecurityLookupIDByClass(client, pReadDraw->id, XRC_DRAWABLE, SecurityReadAccess); + SecurityLookupIDByClass(client, pReadDraw->id, XRC_DRAWABLE, DixReadAccess); } else { pXinReadDraw = pXinDraw; @@ -1137,9 +1140,7 @@ static int MakeCurrent(__GLXclientState *cl, } #ifdef PANORAMIX else if (pXinDraw) { - pWin = (WindowPtr)SecurityLookupWindow(pXinDraw->info[s].id, - client, - SecurityReadAccess); + dixLookupWindow(&pWin, pXinDraw->info[s].id, client, DixReadAccess); } #endif else if (pGlxWindow) { @@ -1195,9 +1196,8 @@ static int MakeCurrent(__GLXclientState *cl, } #ifdef PANORAMIX else if (pXinReadDraw) { - pReadWin = (WindowPtr)SecurityLookupWindow(pXinReadDraw->info[s].id, - client, - SecurityReadAccess); + dixLookupWindow(&pReadWin, pXinReadDraw->info[s].id, client, + DixReadAccess); } #endif else if (pGlxReadWindow) { @@ -1639,18 +1639,16 @@ static int CreateGLXPixmap(__GLXclientState *cl, __GLXscreenInfo *pGlxScreen; __GLXvisualConfig *pGlxVisual; __GLXFBConfig *pFBConfig; - int i; - int s; + int i, s, rc; int from_screen, to_screen; #ifdef PANORAMIX PanoramiXRes *pXinDraw = NULL; #endif - pDraw = (DrawablePtr) LookupDrawable(pixmapId, client); - if (!pDraw || pDraw->type != DRAWABLE_PIXMAP) { - client->errorValue = pixmapId; - return BadPixmap; - } + rc = dixLookupDrawable(&pDraw, pixmapId, client, M_DRAWABLE_PIXMAP, + DixUnknownAccess); + if (rc != Success) + return rc; /* ** Check if screen of visual matches screen of pixmap. @@ -1768,7 +1766,7 @@ static int CreateGLXPixmap(__GLXclientState *cl, to_screen = screenInfo.numScreens - 1; pXinDraw = (PanoramiXRes *) - SecurityLookupIDByClass(client, pDraw->id, XRC_DRAWABLE, SecurityReadAccess); + SecurityLookupIDByClass(client, pDraw->id, XRC_DRAWABLE, DixReadAccess); } #endif @@ -1781,7 +1779,8 @@ static int CreateGLXPixmap(__GLXclientState *cl, #ifdef PANORAMIX if (pXinDraw) { - pRealDraw = (DrawablePtr) LookupDrawable(pXinDraw->info[s].id,client); + dixLookupDrawable(&pRealDraw, pXinDraw->info[s].id, client, 0, + DixUnknownAccess); } #endif @@ -1947,14 +1946,13 @@ int __glXDoSwapBuffers(__GLXclientState *cl, XID drawId, GLXContextTag tag) __glXWindow *pGlxWindow = NULL; int from_screen = 0; int to_screen = 0; - int s; + int s, rc; /* ** Check that the GLX drawable is valid. */ - pDraw = (DrawablePtr) LookupDrawable(drawId, client); - if (pDraw) { - + rc = dixLookupDrawable(&pDraw, drawId, client, 0, DixUnknownAccess); + if (rc == Success) { from_screen = to_screen = pDraw->pScreen->myNum; if (pDraw->type == DRAWABLE_WINDOW) { @@ -2014,7 +2012,7 @@ int __glXDoSwapBuffers(__GLXclientState *cl, XID drawId, GLXContextTag tag) from_screen = 0; to_screen = screenInfo.numScreens - 1; pXinDraw = (PanoramiXRes *) - SecurityLookupIDByClass(client, pDraw->id, XRC_DRAWABLE, SecurityReadAccess); + SecurityLookupIDByClass(client, pDraw->id, XRC_DRAWABLE, DixReadAccess); } #endif @@ -2058,9 +2056,7 @@ int __glXDoSwapBuffers(__GLXclientState *cl, XID drawId, GLXContextTag tag) } #ifdef PANORAMIX else if (pXinDraw) { - pWin = (WindowPtr)SecurityLookupWindow(pXinDraw->info[s].id, - client, - SecurityReadAccess); + dixLookupWindow(&pWin, pXinDraw->info[s].id, client, DixReadAccess); } #endif else if (pGlxWindow) { @@ -2104,12 +2100,13 @@ int __glXSwapBuffers(__GLXclientState *cl, GLbyte *pc) __GLXpixmap *pGlxPixmap = NULL; __GLXcontext *glxc = NULL; __glXWindow *pGlxWindow = NULL; + int rc; /* ** Check that the GLX drawable is valid. */ - pDraw = (DrawablePtr) LookupDrawable(drawId, client); - if (pDraw) { + rc = dixLookupDrawable(&pDraw, drawId, client, 0, DixUnknownAccess); + if (rc == Success) { if (pDraw->type != DRAWABLE_WINDOW) { /* ** Drawable is an X pixmap, which is not allowed. @@ -2897,16 +2894,15 @@ int __glXCreateWindow(__GLXclientState *cl, GLbyte *pc) __GLXFBConfig *pGlxFBConfig = NULL; VisualPtr pVisual; VisualID visId; - int i; + int i, rc; /* ** Check if windowId is valid */ - pDraw = (DrawablePtr) LookupDrawable(windowId, client); - if (!pDraw || pDraw->type != DRAWABLE_WINDOW) { - client->errorValue = windowId; - return BadWindow; - } + rc = dixLookupDrawable(&pDraw, windowId, client, M_DRAWABLE_WINDOW, + DixUnknownAccess); + if (rc != Success) + return rc; /* ** Check if screen of window matches screen of fbconfig. @@ -3069,7 +3065,7 @@ int __glXQueryContextInfoEXT(__GLXclientState *cl, GLbyte *pc) int nReplyBytes; req = (xGLXQueryContextInfoEXTReq *)pc; - ctx = (__GLXcontext *) SecurityLookupIDByType(client, req->context, __glXContextRes, SecurityReadAccess); + ctx = (__GLXcontext *) SecurityLookupIDByType(client, req->context, __glXContextRes, DixReadAccess); if (!ctx) { client->errorValue = req->context; return __glXBadContext; @@ -3279,7 +3275,7 @@ int __glXGetDrawableAttributes(__GLXclientState *cl, GLbyte *pc) GLXDrawable be_drawable = 0; DrawablePtr pDraw = NULL; Display *dpy; - int screen; + int screen, rc; DMXScreenInfo *dmxScreen; CARD32 *attribs = NULL; int attribs_size; @@ -3288,8 +3284,8 @@ int __glXGetDrawableAttributes(__GLXclientState *cl, GLbyte *pc) #endif if (drawId != None) { - pDraw = (DrawablePtr) LookupDrawable(drawId, client); - if (pDraw) { + rc = dixLookupDrawable(&pDraw, drawId, client, 0, DixUnknownAccess); + if (rc == Success) { if (pDraw->type == DRAWABLE_WINDOW) { WindowPtr pWin = (WindowPtr)pDraw; be_drawable = 0; @@ -3353,15 +3349,14 @@ int __glXGetDrawableAttributes(__GLXclientState *cl, GLbyte *pc) #ifdef PANORAMIX if (!noPanoramiXExtension) { pXinDraw = (PanoramiXRes *) - SecurityLookupIDByClass(client, pDraw->id, XRC_DRAWABLE, SecurityReadAccess); + SecurityLookupIDByClass(client, pDraw->id, XRC_DRAWABLE, DixReadAccess); if (!pXinDraw) { client->errorValue = drawId; return __glXBadDrawable; } - pWin = (WindowPtr)SecurityLookupWindow(pXinDraw->info[screen].id, - client, - SecurityReadAccess); + dixLookupWindow(&pWin, pXinDraw->info[screen].id, client, + DixReadAccess); } #endif @@ -3441,7 +3436,7 @@ int __glXChangeDrawableAttributes(__GLXclientState *cl, GLbyte *pc) GLXDrawable be_drawable = 0; DrawablePtr pDraw = NULL; Display *dpy; - int screen; + int screen, rc; DMXScreenInfo *dmxScreen; char *attrbuf; #ifdef PANORAMIX @@ -3450,8 +3445,8 @@ int __glXChangeDrawableAttributes(__GLXclientState *cl, GLbyte *pc) #endif if (drawId != None) { - pDraw = (DrawablePtr) LookupDrawable(drawId, client); - if (pDraw) { + rc = dixLookupDrawable(&pDraw, drawId, client, 0, DixUnknownAccess); + if (rc == Success) { if (pDraw->type == DRAWABLE_WINDOW) { WindowPtr pWin = (WindowPtr)pDraw; be_drawable = 0; @@ -3515,15 +3510,14 @@ int __glXChangeDrawableAttributes(__GLXclientState *cl, GLbyte *pc) #ifdef PANORAMIX if (!noPanoramiXExtension) { pXinDraw = (PanoramiXRes *) - SecurityLookupIDByClass(client, pDraw->id, XRC_DRAWABLE, SecurityReadAccess); + SecurityLookupIDByClass(client, pDraw->id, XRC_DRAWABLE, DixReadAccess); if (!pXinDraw) { client->errorValue = drawId; return __glXBadDrawable; } - pWin = (WindowPtr)SecurityLookupWindow(pXinDraw->info[screen].id, - client, - SecurityReadAccess); + dixLookupWindow(&pWin, pXinDraw->info[screen].id, client, + DixReadAccess); } #endif diff --git a/xserver/hw/dmx/glxProxy/glxdrawable.h b/xserver/hw/dmx/glxProxy/glxdrawable.h index 59fffa747..baed68315 100644 --- a/xserver/hw/dmx/glxProxy/glxdrawable.h +++ b/xserver/hw/dmx/glxProxy/glxdrawable.h @@ -49,58 +49,6 @@ typedef struct { } __GLXpixmap; -struct __GLXdrawablePrivateRec { - /* - ** list of drawable private structs - */ - struct __GLXdrawablePrivateRec *last; - struct __GLXdrawablePrivateRec *next; - - DrawablePtr pDraw; - XID drawId; - __GLXpixmap *pGlxPixmap; - - /* - ** Either DRAWABLE_PIXMAP or DRAWABLE_WINDOW, copied from pDraw above. - ** Needed by the resource freer because pDraw might already have been - ** freed. - */ - int type; - - /* - ** Configuration of the visual to which this drawable was created. - */ - __GLXvisualConfig *pGlxVisual; - - /* - ** cached drawable size and origin - */ - GLint xorigin, yorigin; - GLint width, height; - - /* - ** list of contexts bound to this drawable - */ - struct __GLXcontextRec *glxc; - - /* - ** "methods" that the drawble should be able to respond to. - */ - void (*freeBuffers)(struct __GLXdrawablePrivateRec *); - void (*updatePalette)(struct __GLXdrawablePrivateRec *); - GLboolean (*swapBuffers)(struct __GLXdrawablePrivateRec *); - - /* - ** The GL drawable (information shared between GLX and the GL core) - */ - __GLdrawablePrivate glPriv; - - /* - ** reference count - */ - int refCount; -}; - typedef struct { DrawablePtr pDraw; int type; diff --git a/xserver/hw/dmx/glxProxy/glxext.h b/xserver/hw/dmx/glxProxy/glxext.h index 8572aa43a..011393732 100644 --- a/xserver/hw/dmx/glxProxy/glxext.h +++ b/xserver/hw/dmx/glxProxy/glxext.h @@ -67,7 +67,7 @@ extern void __glXFreeGLXPixmap( __GLXpixmap *pGlxPixmap ); extern void __glXNoSuchRenderOpcode(GLbyte*); extern int __glXNoSuchSingleOpcode(__GLXclientState*, GLbyte*); -extern void __glXErrorCallBack(__GLinterface *gc, GLenum code); +extern void __glXErrorCallBack(GLenum code); extern void __glXClearErrorOccured(void); extern GLboolean __glXErrorOccured(void); extern void __glXResetLargeCommandStatus(__GLXclientState*); diff --git a/xserver/hw/dmx/glxProxy/glxserver.h b/xserver/hw/dmx/glxProxy/glxserver.h index db5be4365..021d4c1de 100644 --- a/xserver/hw/dmx/glxProxy/glxserver.h +++ b/xserver/hw/dmx/glxProxy/glxserver.h @@ -58,9 +58,6 @@ #include #include -/* For glxscreens.h */ -typedef struct __GLXdrawablePrivateRec __GLXdrawablePrivate; - #include "glxscreens.h" #include "glxdrawable.h" #include "glxcontext.h" diff --git a/xserver/hw/dmx/glxProxy/glxswap.c b/xserver/hw/dmx/glxProxy/glxswap.c index f7fcc37ac..8fa04f877 100644 --- a/xserver/hw/dmx/glxProxy/glxswap.c +++ b/xserver/hw/dmx/glxProxy/glxswap.c @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2003 Red Hat Inc., Raleigh, North Carolina. * diff --git a/xserver/hw/dmx/glxProxy/glxswap.h b/xserver/hw/dmx/glxProxy/glxswap.h index 95c433381..08e38df7b 100644 --- a/xserver/hw/dmx/glxProxy/glxswap.h +++ b/xserver/hw/dmx/glxProxy/glxswap.h @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2003 Red Hat Inc., Raleigh, North Carolina. * diff --git a/xserver/hw/dmx/input/ChkNotMaskEv.c b/xserver/hw/dmx/input/ChkNotMaskEv.c index 220e1de39..fdc67a889 100644 --- a/xserver/hw/dmx/input/ChkNotMaskEv.c +++ b/xserver/hw/dmx/input/ChkNotMaskEv.c @@ -1,4 +1,3 @@ -/* Derived from Xorg: ChkMaskEv.c,v 1.4 2001/02/09 02:03:31 xorgcvs Exp */ /* * Copyright 1985, 1987, 1998 The Open Group * diff --git a/xserver/hw/dmx/input/ChkNotMaskEv.h b/xserver/hw/dmx/input/ChkNotMaskEv.h index 777d3a28a..f79075e1d 100644 --- a/xserver/hw/dmx/input/ChkNotMaskEv.h +++ b/xserver/hw/dmx/input/ChkNotMaskEv.h @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2002 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/input/Makefile.am b/xserver/hw/dmx/input/Makefile.am index 326506e77..da8de0546 100644 --- a/xserver/hw/dmx/input/Makefile.am +++ b/xserver/hw/dmx/input/Makefile.am @@ -60,7 +60,7 @@ GLX_DEFS = @GL_CFLAGS@ GLX_INCS = -I@MESA_SOURCE@/include endif -AM_CFLAGS = \ +AM_CFLAGS = $(DIX_CFLAGS) \ -I$(top_srcdir)/hw/dmx \ -I$(top_srcdir)/hw/xfree86/common \ $(GLX_INCS) \ diff --git a/xserver/hw/dmx/input/dmxarg.c b/xserver/hw/dmx/input/dmxarg.c index 8708fa009..49a1da9af 100644 --- a/xserver/hw/dmx/input/dmxarg.c +++ b/xserver/hw/dmx/input/dmxarg.c @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2002-2003 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/input/dmxarg.h b/xserver/hw/dmx/input/dmxarg.h index b377aca70..ca76f9272 100644 --- a/xserver/hw/dmx/input/dmxarg.h +++ b/xserver/hw/dmx/input/dmxarg.h @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2002 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/input/dmxbackend.c b/xserver/hw/dmx/input/dmxbackend.c index 8985a1b1d..b1791098a 100644 --- a/xserver/hw/dmx/input/dmxbackend.c +++ b/xserver/hw/dmx/input/dmxbackend.c @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2001-2003 Red Hat Inc., Durham, North Carolina. * @@ -242,7 +241,7 @@ static int dmxBackendOffscreen(int screen, int x, int y) void dmxBackendUpdatePosition(pointer private, int x, int y) { GETPRIVFROMPRIVATE; - int screen = miPointerCurrentScreen()->myNum; + int screen = miPointerGetScreen(inputInfo.pointer)->myNum; DMXScreenInfo *dmxScreen = &dmxScreens[priv->myScreen]; int oldRelative = priv->relative; int topscreen = dmxBackendFindOverlapping(priv, screen, x, y); @@ -354,7 +353,8 @@ void dmxBackendCollectEvents(DevicePtr pDev, switch (X.type) { case EnterNotify: dmxCommonSaveState(priv); - if (entered++) continue; + if (entered++) + continue; priv->entered = 1; ignoreLeave = 1; DMXDBG5("dmxBackendCollectEvents: Enter %lu %d,%d; GRAB %s %p\n", @@ -378,7 +378,8 @@ void dmxBackendCollectEvents(DevicePtr pDev, continue; } dmxCommonRestoreState(priv); - if (left++) continue; + if (left++) + continue; DMXDBG7("dmxBackendCollectEvents: Leave %lu %d,%d %d %d %s %s\n", X.xcrossing.root, X.xcrossing.x, X.xcrossing.y, X.xcrossing.detail, X.xcrossing.focus, @@ -398,7 +399,8 @@ void dmxBackendCollectEvents(DevicePtr pDev, priv->newscreen, X.xmotion.x, X.xmotion.y, entered, priv->lastX, priv->lastY); - if (dmxBackendPendingMotionEvent(priv, TRUE)) continue; + if (dmxBackendPendingMotionEvent(priv, TRUE)) + continue; if (!(dmxScreen = dmxBackendFindWindow(priv, X.xmotion.window))) dmxLog(dmxFatal, " Event on non-existant window %lu\n", @@ -449,6 +451,9 @@ void dmxBackendCollectEvents(DevicePtr pDev, case KeyRelease: enqueue(priv->kbd, X.type, X.xkey.keycode, 0, NULL, block); break; + case ButtonPress: + case ButtonRelease: + /* fall-through */ default: /* Pass the whole event here, because * this may be an extension event. */ @@ -571,12 +576,16 @@ void dmxBackendInit(DevicePtr pDev) /** Get information about the backend pointer (for initialization). */ void dmxBackendMouGetInfo(DevicePtr pDev, DMXLocalInitInfoPtr info) { + const DMXScreenInfo *dmxScreen = dmxBackendInitPrivate(pDev); + info->buttonClass = 1; dmxCommonMouGetMap(pDev, info->map, &info->numButtons); info->valuatorClass = 1; info->numRelAxes = 2; info->minval[0] = 0; - info->maxval[0] = 0; + info->minval[1] = 0; + info->maxval[0] = dmxScreen->beWidth; + info->maxval[1] = dmxScreen->beHeight; info->res[0] = 1; info->minres[0] = 0; info->maxres[0] = 1; diff --git a/xserver/hw/dmx/input/dmxbackend.h b/xserver/hw/dmx/input/dmxbackend.h index 64a65f4a6..ee78f0014 100644 --- a/xserver/hw/dmx/input/dmxbackend.h +++ b/xserver/hw/dmx/input/dmxbackend.h @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2002 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/input/dmxcommon.c b/xserver/hw/dmx/input/dmxcommon.c index 278a74e71..e77bb7918 100644 --- a/xserver/hw/dmx/input/dmxcommon.c +++ b/xserver/hw/dmx/input/dmxcommon.c @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2001-2003 Red Hat Inc., Durham, North Carolina. * @@ -241,13 +240,15 @@ void dmxCommonKbdGetMap(DevicePtr pDev, KeySymsPtr pKeySyms, CARD8 *pModMap) /* Compute pModMap */ modifier_mapping = XGetModifierMapping(priv->display); - for (i = 0; i < MAP_LENGTH; i++) pModMap[i] = 0; + for (i = 0; i < MAP_LENGTH; i++) + pModMap[i] = 0; for (j = 0; j < 8; j++) { int max_keypermod = modifier_mapping->max_keypermod; for (i = 0; i < max_keypermod; i++) { CARD8 keycode = modifier_mapping->modifiermap[j*max_keypermod + i]; - if (keycode) pModMap[keycode] |= 1 << j; + if (keycode) + pModMap[keycode] |= 1 << j; } } XFreeModifiermap(modifier_mapping); @@ -611,6 +612,7 @@ void dmxCommonSaveState(pointer private) &priv->dmxLocal->kctrl); priv->savedModMap = XGetModifierMapping(priv->display); + modmap = XNewModifiermap(0); XSetModifierMapping(priv->display, modmap); if (dmxInput->scrnIdx != -1) @@ -627,8 +629,10 @@ void dmxCommonRestoreState(pointer private) int retcode = -1; CARD32 start; - if (dmxInput->console) priv = dmxInput->devs[0]->private; - if (!priv->stateSaved) return; + if (dmxInput->console) + priv = dmxInput->devs[0]->private; + if (!priv->stateSaved) + return; priv->stateSaved = 0; DMXDBG0("dmxCommonRestoreState\n"); @@ -645,7 +649,8 @@ void dmxCommonRestoreState(pointer private) CARD32 tmp; retcode = XSetModifierMapping(priv->display, priv->savedModMap); - if (retcode == MappingSuccess) break; + if (retcode == MappingSuccess) + break; if (retcode == MappingBusy) dmxLogInput(dmxInput, "Keyboard busy, waiting\n"); else diff --git a/xserver/hw/dmx/input/dmxcommon.h b/xserver/hw/dmx/input/dmxcommon.h index 4b8b07d9f..1cc935d0b 100644 --- a/xserver/hw/dmx/input/dmxcommon.h +++ b/xserver/hw/dmx/input/dmxcommon.h @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2002,2003 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/input/dmxconsole.c b/xserver/hw/dmx/input/dmxconsole.c index 835909e6c..cc820a204 100644 --- a/xserver/hw/dmx/input/dmxconsole.c +++ b/xserver/hw/dmx/input/dmxconsole.c @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2001-2003 Red Hat Inc., Durham, North Carolina. * @@ -860,12 +859,17 @@ void dmxConsoleInit(DevicePtr pDev) * for pointers. */ void dmxConsoleMouGetInfo(DevicePtr pDev, DMXLocalInitInfoPtr info) { + GETPRIVFROMPDEV; + info->buttonClass = 1; dmxCommonMouGetMap(pDev, info->map, &info->numButtons); info->valuatorClass = 1; info->numRelAxes = 2; - info->minval[0] = 0; - info->maxval[0] = 0; + info->minval[0] = 0; + info->minval[1] = 0; + /* max possible console window size: */ + info->maxval[0] = DisplayWidth(priv->display, DefaultScreen(priv->display)); + info->maxval[1] = DisplayHeight(priv->display, DefaultScreen(priv->display)); info->res[0] = 1; info->minres[0] = 0; info->maxres[0] = 1; diff --git a/xserver/hw/dmx/input/dmxconsole.h b/xserver/hw/dmx/input/dmxconsole.h index 85516fb5b..cd545d39b 100644 --- a/xserver/hw/dmx/input/dmxconsole.h +++ b/xserver/hw/dmx/input/dmxconsole.h @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2002 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/input/dmxdetach.c b/xserver/hw/dmx/input/dmxdetach.c index d2e6b652f..cc2250683 100644 --- a/xserver/hw/dmx/input/dmxdetach.c +++ b/xserver/hw/dmx/input/dmxdetach.c @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2004 Red Hat Inc., Raleigh, North Carolina. * diff --git a/xserver/hw/dmx/input/dmxdummy.c b/xserver/hw/dmx/input/dmxdummy.c index d6e614e51..2afe2580d 100644 --- a/xserver/hw/dmx/input/dmxdummy.c +++ b/xserver/hw/dmx/input/dmxdummy.c @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2002 Red Hat Inc., Durham, North Carolina. * @@ -79,7 +78,9 @@ void dmxDummyMouGetInfo(DevicePtr pDev, DMXLocalInitInfoPtr info) info->valuatorClass = 1; info->numRelAxes = 2; info->minval[0] = 0; + info->minval[1] = 0; info->maxval[0] = 0; + info->maxval[1] = 0; info->res[0] = 1; info->minres[0] = 0; info->maxres[0] = 1; diff --git a/xserver/hw/dmx/input/dmxdummy.h b/xserver/hw/dmx/input/dmxdummy.h index 1f20a38cb..e3a85be95 100644 --- a/xserver/hw/dmx/input/dmxdummy.h +++ b/xserver/hw/dmx/input/dmxdummy.h @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2002 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/input/dmxeq.c b/xserver/hw/dmx/input/dmxeq.c index a2fb07f1e..3e98fb799 100644 --- a/xserver/hw/dmx/input/dmxeq.c +++ b/xserver/hw/dmx/input/dmxeq.c @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * * Copyright 1990, 1998 The Open Group diff --git a/xserver/hw/dmx/input/dmxeq.h b/xserver/hw/dmx/input/dmxeq.h index 64d15f7e8..b38c519df 100644 --- a/xserver/hw/dmx/input/dmxeq.h +++ b/xserver/hw/dmx/input/dmxeq.h @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2002 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/input/dmxevents.c b/xserver/hw/dmx/input/dmxevents.c index 5316f0fdc..26dc067dc 100644 --- a/xserver/hw/dmx/input/dmxevents.c +++ b/xserver/hw/dmx/input/dmxevents.c @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2002-2003 Red Hat Inc., Durham, North Carolina. * @@ -56,6 +55,7 @@ #include "opaque.h" #include "inputstr.h" #include "mipointer.h" +#include "mi.h" #ifdef XINPUT #include "XIstubs.h" @@ -102,7 +102,25 @@ static int dmxCheckFunctionKeys(DMXLocalInputInfoPtr dmxLocal, { DMXInputInfo *dmxInput = &dmxInputs[dmxLocal->inputIdx]; unsigned short state = 0; - + +#if 1 /* hack to detect ctrl-alt-q, etc */ + static int ctrl = 0, alt = 0; + /* keep track of ctrl/alt key status */ + if (type == KeyPress && keySym == 0xffe3) { + ctrl = 1; + } + else if (type == KeyRelease && keySym == 0xffe3) { + ctrl = 0; + } + else if (type == KeyPress && keySym == 0xffe9) { + alt = 1; + } + else if (type == KeyRelease && keySym == 0xffe9) { + alt = 0; + } + if (!ctrl || !alt) + return 0; +#else if (dmxLocal->sendsCore) state = dmxLocalCoreKeyboard->pDevice->key->state; else if (dmxLocal->pDevice->key) @@ -111,7 +129,9 @@ static int dmxCheckFunctionKeys(DMXLocalInputInfoPtr dmxLocal, DMXDBG3("dmxCheckFunctionKeys: keySym=0x%04x %s state=0x%04x\n", keySym, type == KeyPress ? "press" : "release", state); - if ((state & (ControlMask|Mod1Mask)) != (ControlMask|Mod1Mask)) return 0; + if ((state & (ControlMask|Mod1Mask)) != (ControlMask|Mod1Mask)) + return 0; +#endif switch (keySym) { case XK_g: @@ -146,16 +166,25 @@ static void dmxEnqueueExtEvent(DMXLocalInputInfoPtr dmxLocal, xEvent *e, int type = e->u.u.type; switch (e->u.u.type) { - case KeyPress: type = DeviceKeyPress; break; - case KeyRelease: type = DeviceKeyRelease; break; - case ButtonPress: type = DeviceButtonPress; break; - case ButtonRelease: type = DeviceButtonRelease; break; + case KeyPress: + type = DeviceKeyPress; + break; + case KeyRelease: + type = DeviceKeyRelease; + break; + case ButtonPress: + type = DeviceButtonPress; + break; + case ButtonRelease: + type = DeviceButtonRelease; + break; case MotionNotify: dmxLog(dmxError, "dmxEnqueueExtEvent: MotionNotify not allowed here\n"); return; default: - if (e->u.u.type == ProximityIn || e->u.u.type == ProximityOut) break; + if (e->u.u.type == ProximityIn || e->u.u.type == ProximityOut) + break; dmxLogInput(dmxInput, "dmxEnqueueExtEvent: Unhandled %s event (%d)\n", e->u.u.type >= LASTEvent ? "extension" : "non-extension", @@ -173,9 +202,11 @@ static void dmxEnqueueExtEvent(DMXLocalInputInfoPtr dmxLocal, xEvent *e, xv->num_valuators = 0; xv->first_valuator = 0; - if (block) dmxSigioBlock(); + if (block) + dmxSigioBlock(); dmxeqEnqueue(xE); - if (block) dmxSigioUnblock(); + if (block) + dmxSigioUnblock(); } #endif @@ -185,12 +216,36 @@ DMXScreenInfo *dmxFindFirstScreen(int x, int y) for (i = 0; i < dmxNumScreens; i++) { DMXScreenInfo *dmxScreen = &dmxScreens[i]; - if (dmxOnScreen(x, y, dmxScreen)) return dmxScreen; + if (dmxOnScreen(x, y, dmxScreen)) + return dmxScreen; } return NULL; } -void dmxCoreMotion(int x, int y, int delta, DMXBlockType block) + +/** + * Enqueue a motion event. + */ +static void enqueueMotion(DevicePtr pDev, int x, int y) +{ + GETDMXLOCALFROMPDEV; + DeviceIntPtr p = dmxLocal->pDevice; + int i, nevents, valuators[3]; + xEvent *events = Xcalloc(sizeof(xEvent), GetMaximumEventsNum()); + int detail = 0; /* XXX should this be mask of pressed buttons? */ + valuators[0] = x; + valuators[1] = y; + nevents = GetPointerEvents(events, p, MotionNotify, detail, + POINTER_ABSOLUTE, 0, 2, valuators); + for (i = 0; i < nevents; i++) + mieqEnqueue(p, events + i); + xfree(events); + return; +} + + +void +dmxCoreMotion(DevicePtr pDev, int x, int y, int delta, DMXBlockType block) { DMXScreenInfo *dmxScreen; DMXInputInfo *dmxInput; @@ -199,7 +254,8 @@ void dmxCoreMotion(int x, int y, int delta, DMXBlockType block) int localY; int i; - if (!dmxGlobalInvalid && dmxGlobalX == x && dmxGlobalY == y) return; + if (!dmxGlobalInvalid && dmxGlobalX == x && dmxGlobalY == y) + return; DMXDBG5("dmxCoreMotion(%d,%d,%d) dmxGlobalX=%d dmxGlobalY=%d\n", x, y, delta, dmxGlobalX, dmxGlobalY); @@ -208,47 +264,61 @@ void dmxCoreMotion(int x, int y, int delta, DMXBlockType block) dmxGlobalX = x; dmxGlobalY = y; - if (dmxGlobalX < 0) dmxGlobalX = 0; - if (dmxGlobalY < 0) dmxGlobalY = 0; - if (dmxGlobalX >= dmxGlobalWidth) dmxGlobalX = dmxGlobalWidth + delta -1; - if (dmxGlobalY >= dmxGlobalHeight) dmxGlobalY = dmxGlobalHeight + delta -1; + if (dmxGlobalX < 0) + dmxGlobalX = 0; + if (dmxGlobalY < 0) + dmxGlobalY = 0; + if (dmxGlobalX >= dmxGlobalWidth) + dmxGlobalX = dmxGlobalWidth + delta -1; + if (dmxGlobalY >= dmxGlobalHeight) + dmxGlobalY = dmxGlobalHeight + delta -1; if ((dmxScreen = dmxFindFirstScreen(dmxGlobalX, dmxGlobalY))) { localX = dmxGlobalX - dmxScreen->rootXOrigin; localY = dmxGlobalY - dmxScreen->rootYOrigin; - if ((pScreen = miPointerCurrentScreen()) + if ((pScreen = miPointerGetScreen(inputInfo.pointer)) && pScreen->myNum == dmxScreen->index) { /* Screen is old screen */ - if (block) dmxSigioBlock(); - miPointerAbsoluteCursor(localX, localY, GetTimeInMillis()); - if (block) dmxSigioUnblock(); + if (block) + dmxSigioBlock(); + if (pDev) + enqueueMotion(pDev, localX, localY); + if (block) + dmxSigioUnblock(); } else { /* Screen is new */ DMXDBG4(" New screen: old=%d new=%d localX=%d localY=%d\n", pScreen->myNum, dmxScreen->index, localX, localY); - if (block) dmxSigioBlock(); + if (block) + dmxSigioBlock(); dmxeqProcessInputEvents(); - miPointerSetNewScreen(dmxScreen->index, localX, localY); - miPointerAbsoluteCursor(localX, localY, GetTimeInMillis()); - if (block) dmxSigioUnblock(); + miPointerSetScreen(inputInfo.pointer, dmxScreen->index, + localX, localY); + if (pDev) + enqueueMotion(pDev, localX, localY); + if (block) + dmxSigioUnblock(); } - miPointerPosition(&localX, &localY); +#if 00 + miPointerGetPosition(inputInfo.pointer, &localX, &localY); - if ((pScreen = miPointerCurrentScreen())) { + if ((pScreen = miPointerGetScreen(inputInfo.pointer))) { dmxGlobalX = localX + dmxScreens[pScreen->myNum].rootXOrigin; dmxGlobalY = localY + dmxScreens[pScreen->myNum].rootYOrigin; + ErrorF("Global is now %d, %d %d, %d\n", dmxGlobalX, dmxGlobalY, + localX, localY); DMXDBG6(" Moved to dmxGlobalX=%d dmxGlobalY=%d" " on screen index=%d/%d localX=%d localY=%d\n", dmxGlobalX, dmxGlobalY, dmxScreen ? dmxScreen->index : -1, pScreen->myNum, localX, localY); } +#endif } /* Send updates down to all core input * drivers */ for (i = 0, dmxInput = &dmxInputs[0]; i < dmxNumInputs; i++, dmxInput++) { int j; - for (j = 0; j < dmxInput->numDevs; j += dmxInput->devs[j]->binding) if (!dmxInput->detached && dmxInput->devs[j]->sendsCore @@ -259,6 +329,8 @@ void dmxCoreMotion(int x, int y, int delta, DMXBlockType block) if (!dmxScreen) ProcessInputEvents(); } + + #ifdef XINPUT #define DMX_MAX_AXES 32 /* Max axes reported by this routine */ static void dmxExtMotion(DMXLocalInputInfoPtr dmxLocal, @@ -349,10 +421,12 @@ static void dmxExtMotion(DMXLocalInputInfoPtr dmxLocal, } } - if (block) dmxSigioBlock(); + if (block) + dmxSigioBlock(); dmxPointerPutMotionEvent(pDevice, firstAxis, axesCount, v, xev->time); dmxeqEnqueue(xE); - if (block) dmxSigioUnblock(); + if (block) + dmxSigioUnblock(); } static int dmxTranslateAndEnqueueExtEvent(DMXLocalInputInfoPtr dmxLocal, @@ -366,7 +440,8 @@ static int dmxTranslateAndEnqueueExtEvent(DMXLocalInputInfoPtr dmxLocal, XDeviceKeyEvent *ke = (XDeviceKeyEvent *)e; XDeviceMotionEvent *me = (XDeviceMotionEvent *)e; - if (!e) return -1; /* No extended event passed, cannot handle */ + if (!e) + return -1; /* No extended event passed, cannot handle */ if ((XID)dmxLocal->deviceId != ke->deviceid) { /* Search for the correct dmxLocal, @@ -377,7 +452,8 @@ static int dmxTranslateAndEnqueueExtEvent(DMXLocalInputInfoPtr dmxLocal, DMXInputInfo *dmxInput = &dmxInputs[dmxLocal->inputIdx]; for (i = 0; i < dmxInput->numDevs; i++) { dmxLocal = dmxInput->devs[i]; - if ((XID)dmxLocal->deviceId == ke->deviceid) break; + if ((XID)dmxLocal->deviceId == ke->deviceid) + break; } } @@ -426,9 +502,11 @@ static int dmxTranslateAndEnqueueExtEvent(DMXLocalInputInfoPtr dmxLocal, xv->valuator4 = ke->axis_data[4]; xv->valuator5 = ke->axis_data[5]; - if (block) dmxSigioBlock(); + if (block) + dmxSigioBlock(); dmxeqEnqueue(xE); - if (block) dmxSigioUnblock(); + if (block) + dmxSigioUnblock(); break; case XI_DeviceMotionNotify: @@ -508,12 +586,18 @@ void dmxMotion(DevicePtr pDev, int *v, int firstAxes, int axesCount, return; } #endif - if (axesCount == 2) switch (type) { - case DMX_RELATIVE: dmxCoreMotion(dmxGlobalX - v[0], - dmxGlobalY - v[1], - 0, block); break; - case DMX_ABSOLUTE: dmxCoreMotion(v[0], v[1], 0, block); break; - case DMX_ABSOLUTE_CONFINED: dmxCoreMotion(v[0], v[1], -1, block); break; + if (axesCount == 2) { + switch (type) { + case DMX_RELATIVE: + dmxCoreMotion(pDev, dmxGlobalX - v[0], dmxGlobalY - v[1], 0, block); + break; + case DMX_ABSOLUTE: + dmxCoreMotion(pDev, v[0], v[1], 0, block); + break; + case DMX_ABSOLUTE_CONFINED: + dmxCoreMotion(pDev, v[0], v[1], -1, block); + break; + } } } @@ -525,7 +609,8 @@ static KeySym dmxKeyCodeToKeySym(DMXLocalInputInfoPtr dmxLocal, if (!dmxLocal || !dmxLocal->pDevice || !dmxLocal->pDevice->key) return NoSymbol; pKeySyms = &dmxLocal->pDevice->key->curKeySyms; - if (!pKeySyms) return NoSymbol; + if (!pKeySyms) + return NoSymbol; if (keyCode > pKeySyms->minKeyCode && keyCode <= pKeySyms->maxKeyCode) { DMXDBG2("dmxKeyCodeToKeySym: Translated keyCode=%d to keySym=0x%04x\n", @@ -574,14 +659,16 @@ static int dmxFixup(DevicePtr pDev, int detail, KeySym keySym) dmxLocal->pDevice->name); return NoSymbol; } - if (!keySym) keySym = dmxKeyCodeToKeySym(dmxLocal, detail); - if (keySym == NoSymbol) return detail; + if (!keySym) + keySym = dmxKeyCodeToKeySym(dmxLocal, detail); + if (keySym == NoSymbol) + return detail; keyCode = dmxKeySymToKeyCode(dmxLocalCoreKeyboard, keySym, detail); return keyCode ? keyCode : detail; } -/** Enqueue a non-motion event from the \a pDev device with the +/** Enqueue an event from the \a pDev device with the * specified \a type and \a detail. If the event is a KeyPress or * KeyRelease event, then the \a keySym is also specified. * @@ -593,29 +680,56 @@ void dmxEnqueue(DevicePtr pDev, int type, int detail, KeySym keySym, { GETDMXINPUTFROMPDEV; xEvent xE; + DeviceIntPtr p = dmxLocal->pDevice; + int i, nevents, valuators[3]; + xEvent *events; DMXDBG2("dmxEnqueue: Enqueuing type=%d detail=0x%0x\n", type, detail); switch (type) { case KeyPress: case KeyRelease: - if (!keySym) keySym = dmxKeyCodeToKeySym(dmxLocal, detail); + if (!keySym) + keySym = dmxKeyCodeToKeySym(dmxLocal, detail); if (dmxCheckFunctionKeys(dmxLocal, type, keySym)) return; if (dmxLocal->sendsCore && dmxLocal != dmxLocalCoreKeyboard) xE.u.u.detail = dmxFixup(pDev, detail, keySym); - break; + + events = Xcalloc(sizeof(xEvent), GetMaximumEventsNum()); + /*ErrorF("KEY %d sym %d\n", detail, (int) keySym);*/ + nevents = GetKeyboardEvents(events, p, type, detail); + for (i = 0; i < nevents; i++) + mieqEnqueue(p, events + i); + xfree(events); + return; + case ButtonPress: case ButtonRelease: detail = dmxGetButtonMapping(dmxLocal, detail); - break; + events = Xcalloc(sizeof(xEvent), GetMaximumEventsNum()); + nevents = GetPointerEvents(events, p, type, detail, + POINTER_ABSOLUTE, + 0, /* first_valuator = 0 */ + 0, /* num_valuators = 0 */ + valuators); + for (i = 0; i < nevents; i++) + mieqEnqueue(p, events + i); + xfree(events); + return; + case MotionNotify: - /* All MotionNotify events should be sent via dmxCoreMotion and - * dmxExtMotion -- no input driver should build motion events by - * hand. */ - dmxLog(dmxError, "dmxEnqueueXEvent: MotionNotify not allowed here\n"); - break; - /* Always ignore these events */ + events = Xcalloc(sizeof(xEvent), GetMaximumEventsNum()); + valuators[0] = e->xmotion.x; + valuators[1] = e->xmotion.y; + valuators[2] = e->xmotion.state; + nevents = GetPointerEvents(events, p, type, detail, + POINTER_ABSOLUTE, 0, 3, valuators); + for (i = 0; i < nevents; i++) + mieqEnqueue(p, events + i); + xfree(events); + return; + case EnterNotify: case LeaveNotify: case KeymapNotify: @@ -627,7 +741,8 @@ void dmxEnqueue(DevicePtr pDev, int type, int detail, KeySym keySym, default: #ifdef XINPUT if (type == ProximityIn || type == ProximityOut) { - if (dmxLocal->sendsCore) return; /* Not a core event */ + if (dmxLocal->sendsCore) + return; /* Not a core event */ break; } #endif @@ -643,16 +758,19 @@ void dmxEnqueue(DevicePtr pDev, int type, int detail, KeySym keySym, return; } +#if 00 /* dead code? */ memset(&xE, 0, sizeof(xE)); xE.u.u.type = type; xE.u.u.detail = detail; xE.u.keyButtonPointer.time = GetTimeInMillis(); #ifdef XINPUT - if (!dmxLocal->sendsCore) dmxEnqueueExtEvent(dmxLocal, &xE, block); + if (!dmxLocal->sendsCore) + dmxEnqueueExtEvent(dmxLocal, &xE, block); else #endif dmxeqEnqueue(&xE); +#endif /*00*/ } /** A pointer to this routine is passed to low-level input drivers so diff --git a/xserver/hw/dmx/input/dmxevents.h b/xserver/hw/dmx/input/dmxevents.h index f8d29d440..fe8712ebe 100644 --- a/xserver/hw/dmx/input/dmxevents.h +++ b/xserver/hw/dmx/input/dmxevents.h @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2001 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/input/dmxinputinit.c b/xserver/hw/dmx/input/dmxinputinit.c index 0519d2b72..fd4eeaacb 100644 --- a/xserver/hw/dmx/input/dmxinputinit.c +++ b/xserver/hw/dmx/input/dmxinputinit.c @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2002-2003 Red Hat Inc., Durham, North Carolina. * @@ -72,6 +71,7 @@ #include "input.h" #include "mipointer.h" #include "windowstr.h" +#include "mi.h" #ifdef XINPUT #include @@ -222,6 +222,57 @@ static DMXLocalInputInfoRec DMXLocalDevices[] = { { NULL } /* Must be last */ }; + +#if 11 /*BP*/ +void +DDXRingBell(int volume, int pitch, int duration) +{ + /* NO-OP */ +} + +/* taken from kdrive/src/kinput.c: */ +static void +dmxKbdCtrl (DeviceIntPtr pDevice, KeybdCtrl *ctrl) +{ +#if 0 + KdKeyboardInfo *ki; + + for (ki = kdKeyboards; ki; ki = ki->next) { + if (ki->dixdev && ki->dixdev->id == pDevice->id) + break; + } + + if (!ki || !ki->dixdev || ki->dixdev->id != pDevice->id || !ki->driver) + return; + + KdSetLeds(ki, ctrl->leds); + ki->bellPitch = ctrl->bell_pitch; + ki->bellDuration = ctrl->bell_duration; +#endif +} + +/* taken from kdrive/src/kinput.c: */ +static void +dmxBell(int volume, DeviceIntPtr pDev, pointer arg, int something) +{ +#if 0 + KeybdCtrl *ctrl = arg; + KdKeyboardInfo *ki = NULL; + + for (ki = kdKeyboards; ki; ki = ki->next) { + if (ki->dixdev && ki->dixdev->id == pDev->id) + break; + } + + if (!ki || !ki->dixdev || ki->dixdev->id != pDev->id || !ki->driver) + return; + + KdRingBell(ki, volume, ctrl->bell_pitch, ctrl->bell_duration); +#endif +} + +#endif /*BP*/ + static void _dmxChangePointerControl(DMXLocalInputInfoPtr dmxLocal, PtrCtrl *ctrl) { @@ -420,14 +471,24 @@ static int dmxDeviceOnOff(DeviceIntPtr pDevice, int what) memset(&info, 0, sizeof(info)); switch (what) { case DEVICE_INIT: - if (dmxLocal->init) dmxLocal->init(pDev); - if (dmxLocal->get_info) dmxLocal->get_info(pDev, &info); + if (dmxLocal->init) + dmxLocal->init(pDev); + if (dmxLocal->get_info) + dmxLocal->get_info(pDev, &info); if (info.keyboard) { /* XKEYBOARD makes this a special case */ dmxKeyboardOn(pDevice, &info); break; } if (info.keyClass) { +#if 00 /*BP*/ InitKeyClassDeviceStruct(pDevice, &info.keySyms, info.modMap); +#else + DevicePtr pDev = (DevicePtr) pDevice; + InitKeyboardDeviceStruct(pDev, + &info.keySyms, + info.modMap, + dmxBell, dmxKbdCtrl); +#endif } if (info.buttonClass) { InitButtonClassDeviceStruct(pDevice, info.numButtons, info.map); @@ -435,8 +496,13 @@ static int dmxDeviceOnOff(DeviceIntPtr pDevice, int what) if (info.valuatorClass) { if (info.numRelAxes && dmxLocal->sendsCore) { InitValuatorClassDeviceStruct(pDevice, info.numRelAxes, +#if 00 /*BP*/ miPointerGetMotionEvents, miPointerGetMotionBufferSize(), +#else + GetMotionHistory, + GetMaximumEventsNum(), +#endif Relative); #ifdef XINPUT for (i = 0; i < info.numRelAxes; i++) @@ -521,11 +587,22 @@ static void dmxProcessInputEvents(DMXInputInfo *dmxInput) int i; dmxeqProcessInputEvents(); +#if 00 /*BP*/ miPointerUpdate(); - if (dmxInput->detached) return; +#endif + if (dmxInput->detached) + return; for (i = 0; i < dmxInput->numDevs; i += dmxInput->devs[i]->binding) - if (dmxInput->devs[i]->process_input) + if (dmxInput->devs[i]->process_input) { +#if 11 /*BP*/ + miPointerUpdateSprite(dmxInput->devs[i]->pDevice); +#endif dmxInput->devs[i]->process_input(dmxInput->devs[i]->private); + } + +#if 11 /*BP*/ + mieqProcessInputEvents(); +#endif } static void dmxUpdateWindowInformation(DMXInputInfo *dmxInput, @@ -553,7 +630,8 @@ static void dmxUpdateWindowInformation(DMXInputInfo *dmxInput, } #endif - if (dmxInput->detached) return; + if (dmxInput->detached) + return; for (i = 0; i < dmxInput->numDevs; i += dmxInput->devs[i]->binding) if (dmxInput->devs[i]->update_info) dmxInput->devs[i]->update_info(dmxInput->devs[i]->private, @@ -564,7 +642,8 @@ static void dmxCollectAll(DMXInputInfo *dmxInput) { int i; - if (dmxInput->detached) return; + if (dmxInput->detached) + return; for (i = 0; i < dmxInput->numDevs; i += dmxInput->devs[i]->binding) if (dmxInput->devs[i]->collect_events) dmxInput->devs[i]->collect_events(&dmxInput->devs[i] @@ -661,7 +740,8 @@ static DeviceIntPtr dmxAddDevice(DMXLocalInputInfoPtr dmxLocal) char *devname; DMXInputInfo *dmxInput; - if (!dmxLocal) return NULL; + if (!dmxLocal) + return NULL; dmxInput = &dmxInputs[dmxLocal->inputIdx]; if (dmxLocal->sendsCore) { @@ -710,8 +790,13 @@ static DeviceIntPtr dmxAddDevice(DMXLocalInputInfoPtr dmxLocal) registerProcPtr(pDevice); - if (dmxLocal->isCore && dmxLocal->type == DMX_LOCAL_MOUSE) + if (dmxLocal->isCore && dmxLocal->type == DMX_LOCAL_MOUSE) { +#if 00 /*BP*/ miRegisterPointerDevice(screenInfo.screens[0], pDevice); +#else + /* Nothing? dmxDeviceOnOff() should get called to init, right? */ +#endif + } if (dmxLocal->create_private) dmxLocal->private = dmxLocal->create_private(pDevice); diff --git a/xserver/hw/dmx/input/dmxinputinit.h b/xserver/hw/dmx/input/dmxinputinit.h index c593e267a..6f491edf9 100644 --- a/xserver/hw/dmx/input/dmxinputinit.h +++ b/xserver/hw/dmx/input/dmxinputinit.h @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2002 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/input/dmxmap.c b/xserver/hw/dmx/input/dmxmap.c index cf1be5853..1eccd3d28 100644 --- a/xserver/hw/dmx/input/dmxmap.c +++ b/xserver/hw/dmx/input/dmxmap.c @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2003 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/input/dmxmap.h b/xserver/hw/dmx/input/dmxmap.h index 662955636..aad30d1bd 100644 --- a/xserver/hw/dmx/input/dmxmap.h +++ b/xserver/hw/dmx/input/dmxmap.h @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2003 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/input/dmxmotion.c b/xserver/hw/dmx/input/dmxmotion.c index 7b47c4562..cc55eedff 100644 --- a/xserver/hw/dmx/input/dmxmotion.c +++ b/xserver/hw/dmx/input/dmxmotion.c @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2002-2003 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/input/dmxmotion.h b/xserver/hw/dmx/input/dmxmotion.h index 2928f5f2a..88aeb3d09 100644 --- a/xserver/hw/dmx/input/dmxmotion.h +++ b/xserver/hw/dmx/input/dmxmotion.h @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2002 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/input/dmxsigio.c b/xserver/hw/dmx/input/dmxsigio.c index 840b56641..03c3070d7 100644 --- a/xserver/hw/dmx/input/dmxsigio.c +++ b/xserver/hw/dmx/input/dmxsigio.c @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2002-2003 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/input/dmxsigio.h b/xserver/hw/dmx/input/dmxsigio.h index 869dd6bdf..83f8060ae 100644 --- a/xserver/hw/dmx/input/dmxsigio.h +++ b/xserver/hw/dmx/input/dmxsigio.h @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2001 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/input/dmxxinput.c b/xserver/hw/dmx/input/dmxxinput.c index 81d1cfbe6..97bea7596 100644 --- a/xserver/hw/dmx/input/dmxxinput.c +++ b/xserver/hw/dmx/input/dmxxinput.c @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2002-2003 Red Hat Inc., Durham, North Carolina. * @@ -99,9 +98,13 @@ int ChangePointerDevice(DeviceIntPtr old_dev, } dmxLocalNew->savedMotionProc = new_dev->valuator->GetMotionProc; dmxLocalNew->savedMotionEvents = new_dev->valuator->numMotionEvents; +#if 00 /*BP*/ new_dev->valuator->GetMotionProc = miPointerGetMotionEvents; new_dev->valuator->numMotionEvents = miPointerGetMotionBufferSize(); - +#else + new_dev->valuator->GetMotionProc = GetMotionHistory; + new_dev->valuator->numMotionEvents = GetMaximumEventsNum(); +#endif /* Switch our notion of core pointer */ dmxLocalOld->isCore = 0; dmxLocalOld->sendsCore = dmxLocalOld->savedSendsCore; diff --git a/xserver/hw/dmx/input/lnx-keyboard.c b/xserver/hw/dmx/input/lnx-keyboard.c index 97cc3077e..42a807b11 100644 --- a/xserver/hw/dmx/input/lnx-keyboard.c +++ b/xserver/hw/dmx/input/lnx-keyboard.c @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* Portions of this file were derived from the following files: * ********************************************************************** @@ -164,7 +163,9 @@ #include #include #include "atKeynames.h" +#if 00 #include "xf86Keymap.h" +#endif #include #define NUM_AT2LNX (sizeof(at2lnx) / sizeof(at2lnx[0])) @@ -800,7 +801,12 @@ static void kbdLinuxReadKernelMapping(int fd, KeySymsPtr pKeySyms) tbl[2] = 8; /* alt */ tbl[3] = tbl[2] | 1; +#if 00/*BP*/ k = map+GLYPHS_PER_KEY; +#else + ErrorF("kbdLinuxReadKernelMapping() is broken/no-op'd\n"); + return; +#endif maxkey = NUM_AT2LNX; for (i = 0; i < maxkey; ++i) { @@ -927,8 +933,13 @@ static void kbdLinuxGetMap(DevicePtr pDev, KeySymsPtr pKeySyms, CARD8 *pModMap) char type; int i; +#if 00/*BP*/ mapCopy = xalloc(sizeof(map)); memcpy(mapCopy, map, sizeof(map)); +#else + ErrorF("kbdLinuxGetMap() is broken/no-op'd\n"); + return; +#endif kbdLinuxReadKernelMapping(priv->fd, pKeySyms); diff --git a/xserver/hw/dmx/input/lnx-keyboard.h b/xserver/hw/dmx/input/lnx-keyboard.h index 8f7129048..e36a50499 100644 --- a/xserver/hw/dmx/input/lnx-keyboard.h +++ b/xserver/hw/dmx/input/lnx-keyboard.h @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2001 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/input/lnx-ms.c b/xserver/hw/dmx/input/lnx-ms.c index 6df4e80d3..b3692a071 100644 --- a/xserver/hw/dmx/input/lnx-ms.c +++ b/xserver/hw/dmx/input/lnx-ms.c @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* Portions of this file were derived from the following files: * ********************************************************************** diff --git a/xserver/hw/dmx/input/lnx-ms.h b/xserver/hw/dmx/input/lnx-ms.h index bc744431a..9042fc293 100644 --- a/xserver/hw/dmx/input/lnx-ms.h +++ b/xserver/hw/dmx/input/lnx-ms.h @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2001 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/input/lnx-ps2.c b/xserver/hw/dmx/input/lnx-ps2.c index 0c5b870aa..8b906df5f 100644 --- a/xserver/hw/dmx/input/lnx-ps2.c +++ b/xserver/hw/dmx/input/lnx-ps2.c @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* Portions of this file were derived from the following files: * ********************************************************************** diff --git a/xserver/hw/dmx/input/lnx-ps2.h b/xserver/hw/dmx/input/lnx-ps2.h index e3d751e2f..5772e03d0 100644 --- a/xserver/hw/dmx/input/lnx-ps2.h +++ b/xserver/hw/dmx/input/lnx-ps2.h @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2001 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/input/usb-common.c b/xserver/hw/dmx/input/usb-common.c index a6fe7ad3b..70695d0f1 100644 --- a/xserver/hw/dmx/input/usb-common.c +++ b/xserver/hw/dmx/input/usb-common.c @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2002-2003 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/input/usb-common.h b/xserver/hw/dmx/input/usb-common.h index 768312990..5ebfd1e78 100644 --- a/xserver/hw/dmx/input/usb-common.h +++ b/xserver/hw/dmx/input/usb-common.h @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2002 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/input/usb-keyboard.c b/xserver/hw/dmx/input/usb-keyboard.c index 4b9439603..efec2705b 100644 --- a/xserver/hw/dmx/input/usb-keyboard.c +++ b/xserver/hw/dmx/input/usb-keyboard.c @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* Portions of this file were derived from the following files: * ********************************************************************** diff --git a/xserver/hw/dmx/input/usb-keyboard.h b/xserver/hw/dmx/input/usb-keyboard.h index 5a4768a9d..1f9614eef 100644 --- a/xserver/hw/dmx/input/usb-keyboard.h +++ b/xserver/hw/dmx/input/usb-keyboard.h @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2002 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/input/usb-mouse.c b/xserver/hw/dmx/input/usb-mouse.c index eb1a3d123..efa9d00ec 100644 --- a/xserver/hw/dmx/input/usb-mouse.c +++ b/xserver/hw/dmx/input/usb-mouse.c @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2002 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/input/usb-mouse.h b/xserver/hw/dmx/input/usb-mouse.h index 2439013ee..918bf6481 100644 --- a/xserver/hw/dmx/input/usb-mouse.h +++ b/xserver/hw/dmx/input/usb-mouse.h @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2002 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/input/usb-other.c b/xserver/hw/dmx/input/usb-other.c index 9bb284281..d1074b8e1 100644 --- a/xserver/hw/dmx/input/usb-other.c +++ b/xserver/hw/dmx/input/usb-other.c @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2002 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/input/usb-other.h b/xserver/hw/dmx/input/usb-other.h index b2279fd8d..b69e65933 100644 --- a/xserver/hw/dmx/input/usb-other.h +++ b/xserver/hw/dmx/input/usb-other.h @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2002 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/dmx/input/usb-private.h b/xserver/hw/dmx/input/usb-private.h index eae9c8b7a..c70668ce5 100644 --- a/xserver/hw/dmx/input/usb-private.h +++ b/xserver/hw/dmx/input/usb-private.h @@ -1,4 +1,3 @@ -/* $XFree86$ */ /* * Copyright 2002 Red Hat Inc., Durham, North Carolina. * diff --git a/xserver/hw/kdrive/ati/Makefile.am b/xserver/hw/kdrive/ati/Makefile.am index 4d65ce021..9e1fc7f57 100644 --- a/xserver/hw/kdrive/ati/Makefile.am +++ b/xserver/hw/kdrive/ati/Makefile.am @@ -45,7 +45,8 @@ libati_a_SOURCES = \ ati_reg.h \ r128_composite.c \ ati_video.c \ - radeon_composite.c + radeon_composite.c \ + $(DRI_SOURCES) Xati_SOURCES = \ ati_stub.c @@ -60,12 +61,11 @@ ATI_LIBS = \ Xati_LDADD = \ $(ATI_LIBS) \ @KDRIVE_LIBS@ \ - @XSERVER_LIBS@ + @XSERVER_LIBS@ +Xati_DEPENDENCIES = \ + libati.a \ + @KDRIVE_LOCAL_LIBS@ -Xati_DEPENDENCIES = \ - libati.a \ - $(FBDEV_LIBS) \ - $(VESA_LIBS) \ - $(DRI_LIBS) - +relink: + rm -f $(bin_PROGRAMS) && make $(bin_PROGRAMS) diff --git a/xserver/hw/kdrive/ati/ati.c b/xserver/hw/kdrive/ati/ati.c index 6b9423171..c4f67e171 100644 --- a/xserver/hw/kdrive/ati/ati.c +++ b/xserver/hw/kdrive/ati/ati.c @@ -1,6 +1,4 @@ /* - * $Id: ati.c,v 1.1.1.1 2006/11/26 18:22:12 matthieu Exp $ - * * Copyright © 2003 Eric Anholt * * Permission to use, copy, modify, distribute, and sell this software and its @@ -21,7 +19,6 @@ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ -/* $Header: /home/cvs/xenocara/xserver/hw/kdrive/ati/Attic/ati.c,v 1.1.1.1 2006/11/26 18:22:12 matthieu Exp $ */ #ifdef HAVE_CONFIG_H #include diff --git a/xserver/hw/kdrive/ati/ati.h b/xserver/hw/kdrive/ati/ati.h index 6597c0b90..3ff3e3ff3 100644 --- a/xserver/hw/kdrive/ati/ati.h +++ b/xserver/hw/kdrive/ati/ati.h @@ -1,6 +1,4 @@ /* - * $Id: ati.h,v 1.1.1.1 2006/11/26 18:22:13 matthieu Exp $ - * * Copyright © 2003 Eric Anholt * * Permission to use, copy, modify, distribute, and sell this software and its @@ -21,7 +19,6 @@ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ -/* $Header: /home/cvs/xenocara/xserver/hw/kdrive/ati/Attic/ati.h,v 1.1.1.1 2006/11/26 18:22:13 matthieu Exp $ */ #ifndef _ATI_H_ #define _ATI_H_ diff --git a/xserver/hw/kdrive/ati/ati_cursor.c b/xserver/hw/kdrive/ati/ati_cursor.c index e8c711707..d2ce686df 100644 --- a/xserver/hw/kdrive/ati/ati_cursor.c +++ b/xserver/hw/kdrive/ati/ati_cursor.c @@ -19,7 +19,6 @@ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ -/* $RCSId$ */ #ifdef HAVE_CONFIG_H #include diff --git a/xserver/hw/kdrive/ati/ati_dma.c b/xserver/hw/kdrive/ati/ati_dma.c index 17362fbe5..b97d79b25 100644 --- a/xserver/hw/kdrive/ati/ati_dma.c +++ b/xserver/hw/kdrive/ati/ati_dma.c @@ -19,7 +19,6 @@ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ -/* $Header: /home/cvs/xenocara/xserver/hw/kdrive/ati/Attic/ati_dma.c,v 1.1.1.1 2006/11/26 18:22:11 matthieu Exp $ */ #include @@ -43,6 +42,7 @@ extern CARD32 radeon_cp_microcode[][2]; extern CARD32 r200_cp_microcode[][2]; extern CARD32 r300_cp_microcode[][2]; +#if DEBUG_FIFO static void ATIDebugFifo(ATIScreenInfo *atis) { @@ -69,6 +69,7 @@ ATIDebugFifo(ATIScreenInfo *atis) MMIO_IN32(mmio, R128_REG_PC_NGUI_CTLSTAT)); } } +#endif static void ATIUploadMicrocode(ATIScreenInfo *atis) @@ -788,7 +789,7 @@ ATIPseudoDMAInit(ScreenPtr pScreen) atis->cce_pri_size = MMIO_IN32(mmio, RADEON_REG_CP_CSQ_CNTL) & R200_CSQ_CNT_PRIMARY_MASK; MMIO_OUT32(mmio, RADEON_REG_ME_CNTL, RADEON_ME_MODE_FREE_RUN); - } if (atic->is_radeon) { + } else if (atic->is_radeon) { MMIO_OUT32(mmio, RADEON_REG_CP_CSQ_CNTL, RADEON_CSQ_PRIPIO_INDDIS); atis->cce_pri_size = MMIO_IN32(mmio, RADEON_REG_CP_CSQ_CNTL) & diff --git a/xserver/hw/kdrive/ati/ati_dma.h b/xserver/hw/kdrive/ati/ati_dma.h index ee14cbf9c..4c2092b2c 100644 --- a/xserver/hw/kdrive/ati/ati_dma.h +++ b/xserver/hw/kdrive/ati/ati_dma.h @@ -19,7 +19,6 @@ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ -/* $Header: /home/cvs/xenocara/xserver/hw/kdrive/ati/Attic/ati_dma.h,v 1.1.1.1 2006/11/26 18:22:13 matthieu Exp $ */ #ifndef _ATI_DMA_H_ #define _ATI_DMA_H_ diff --git a/xserver/hw/kdrive/ati/ati_draw.c b/xserver/hw/kdrive/ati/ati_draw.c index ba0650423..c10fea471 100644 --- a/xserver/hw/kdrive/ati/ati_draw.c +++ b/xserver/hw/kdrive/ati/ati_draw.c @@ -1,6 +1,4 @@ /* - * $Id: ati_draw.c,v 1.1.1.1 2006/11/26 18:22:13 matthieu Exp $ - * * Copyright © 2003 Eric Anholt * * Permission to use, copy, modify, distribute, and sell this software and its @@ -21,7 +19,6 @@ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ -/* $Header: /home/cvs/xenocara/xserver/hw/kdrive/ati/Attic/ati_draw.c,v 1.1.1.1 2006/11/26 18:22:13 matthieu Exp $ */ #ifdef HAVE_CONFIG_H #include diff --git a/xserver/hw/kdrive/ati/ati_draw.h b/xserver/hw/kdrive/ati/ati_draw.h index 4829389a2..98a130a7b 100644 --- a/xserver/hw/kdrive/ati/ati_draw.h +++ b/xserver/hw/kdrive/ati/ati_draw.h @@ -19,7 +19,6 @@ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ -/* $Header: /home/cvs/xenocara/xserver/hw/kdrive/ati/Attic/ati_draw.h,v 1.1.1.1 2006/11/26 18:22:11 matthieu Exp $ */ #ifndef _ATI_DRAW_H_ #define _ATI_DRAW_H_ diff --git a/xserver/hw/kdrive/ati/ati_reg.h b/xserver/hw/kdrive/ati/ati_reg.h index 24c8cf267..3089cba04 100644 --- a/xserver/hw/kdrive/ati/ati_reg.h +++ b/xserver/hw/kdrive/ati/ati_reg.h @@ -19,7 +19,6 @@ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ -/* $Header: /home/cvs/xenocara/xserver/hw/kdrive/ati/Attic/ati_reg.h,v 1.1.1.1 2006/11/26 18:22:10 matthieu Exp $ */ /* Many of the Radeon and Rage 128 registers are the same. * ATI_ should denote registers and values that are common for R128 and Radeon. diff --git a/xserver/hw/kdrive/ati/ati_stub.c b/xserver/hw/kdrive/ati/ati_stub.c index 92b7099eb..3669fd743 100644 --- a/xserver/hw/kdrive/ati/ati_stub.c +++ b/xserver/hw/kdrive/ati/ati_stub.c @@ -1,6 +1,4 @@ /* - * $Id: ati_stub.c,v 1.1.1.1 2006/11/26 18:22:13 matthieu Exp $ - * * Copyright © 2003 Eric Anholt * * Permission to use, copy, modify, distribute, and sell this software and its @@ -21,7 +19,6 @@ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ -/* $Header: /home/cvs/xenocara/xserver/hw/kdrive/ati/Attic/ati_stub.c,v 1.1.1.1 2006/11/26 18:22:13 matthieu Exp $ */ #ifdef HAVE_CONFIG_H #include @@ -53,7 +50,15 @@ InitOutput(ScreenInfo *pScreenInfo, int argc, char **argv) void InitInput(int argc, char **argv) { - KdInitInput(&LinuxMouseFuncs, &LinuxKeyboardFuncs); + KdKeyboardInfo *ki = NULL; + + KdAddPointerDriver(&LinuxMouseDriver); + ki = KdNewKeyboard(); + if (ki) { + ki->driver = &LinuxKeyboardDriver; + KdAddKeyboard(ki); + } + KdInitInput(); } void diff --git a/xserver/hw/kdrive/ati/ati_video.c b/xserver/hw/kdrive/ati/ati_video.c index 173fb644f..ca0ab464a 100644 --- a/xserver/hw/kdrive/ati/ati_video.c +++ b/xserver/hw/kdrive/ati/ati_video.c @@ -22,7 +22,6 @@ * * Based on mach64video.c by Keith Packard. */ -/* $RCSId$ */ #ifdef HAVE_CONFIG_H #include diff --git a/xserver/hw/kdrive/ati/r128_composite.c b/xserver/hw/kdrive/ati/r128_composite.c index 1d0472bd4..0d18ebff7 100644 --- a/xserver/hw/kdrive/ati/r128_composite.c +++ b/xserver/hw/kdrive/ati/r128_composite.c @@ -19,7 +19,6 @@ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ -/* $Header: /home/cvs/xenocara/xserver/hw/kdrive/ati/Attic/r128_composite.c,v 1.1.1.1 2006/11/26 18:22:12 matthieu Exp $ */ #include "ati.h" #include "ati_reg.h" diff --git a/xserver/hw/kdrive/ati/radeon_composite.c b/xserver/hw/kdrive/ati/radeon_composite.c index a14b74290..ddad343e3 100644 --- a/xserver/hw/kdrive/ati/radeon_composite.c +++ b/xserver/hw/kdrive/ati/radeon_composite.c @@ -1,6 +1,4 @@ /* - * $Id: radeon_composite.c,v 1.1.1.1 2006/11/26 18:22:09 matthieu Exp $ - * * Copyright © 2003 Eric Anholt * * Permission to use, copy, modify, distribute, and sell this software and its @@ -21,7 +19,6 @@ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ -/* $Header: /home/cvs/xenocara/xserver/hw/kdrive/ati/Attic/radeon_composite.c,v 1.1.1.1 2006/11/26 18:22:09 matthieu Exp $ */ #ifdef HAVE_CONFIG_H #include diff --git a/xserver/hw/kdrive/chips/Makefile.am b/xserver/hw/kdrive/chips/Makefile.am index 80fb2ddea..8188a8e7e 100644 --- a/xserver/hw/kdrive/chips/Makefile.am +++ b/xserver/hw/kdrive/chips/Makefile.am @@ -25,6 +25,9 @@ Xchips_LDADD = \ @KDRIVE_LIBS@ \ @XSERVER_LIBS@ -Xchips_DEPENDENCIES = \ - libchips.a \ - $(top_builddir)/hw/kdrive/vesa/libvesa.a +Xchips_DEPENDENCIES = \ + libchips.a \ + @KDRIVE_LOCAL_LIBS@ + +relink: + rm -f $(bin_PROGRAMS) && make $(bin_PROGRAMS) diff --git a/xserver/hw/kdrive/chips/chips.c b/xserver/hw/kdrive/chips/chips.c index 10bd24cf3..b419863eb 100644 --- a/xserver/hw/kdrive/chips/chips.c +++ b/xserver/hw/kdrive/chips/chips.c @@ -19,7 +19,6 @@ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ -/* $RCSId: xc/programs/Xserver/hw/kdrive/trident/trident.c,v 1.18 2001/06/04 09:45:42 keithp Exp $ */ #ifdef HAVE_CONFIG_H #include diff --git a/xserver/hw/kdrive/chips/chips.h b/xserver/hw/kdrive/chips/chips.h index f7b9784c6..6ad17fe25 100644 --- a/xserver/hw/kdrive/chips/chips.h +++ b/xserver/hw/kdrive/chips/chips.h @@ -1,6 +1,4 @@ /* - * Id: chips.h,v 1.2 1999/11/02 08:17:24 keithp Exp $ - * * Copyright © 1999 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its @@ -21,7 +19,6 @@ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ -/* $RCSId: xc/programs/Xserver/hw/kdrive/chips/chips.h,v 1.9 2000/11/29 08:42:25 keithp Exp $ */ #ifndef _CHIPS_H_ #define _CHIPS_H_ diff --git a/xserver/hw/kdrive/chips/chipsdraw.c b/xserver/hw/kdrive/chips/chipsdraw.c index 7b1b56053..b1c35f901 100644 --- a/xserver/hw/kdrive/chips/chipsdraw.c +++ b/xserver/hw/kdrive/chips/chipsdraw.c @@ -1,6 +1,4 @@ /* - * Id: tridentdraw.c,v 1.1 1999/11/02 03:54:47 keithp Exp $ - * * Copyright © 1999 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its @@ -21,7 +19,6 @@ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ -/* $RCSId: xc/programs/Xserver/hw/kdrive/trident/tridentdraw.c,v 1.10 2001/06/03 18:48:19 keithp Exp $ */ #ifdef HAVE_CONFIG_H #include diff --git a/xserver/hw/kdrive/chips/chipsstub.c b/xserver/hw/kdrive/chips/chipsstub.c index 3499a4874..9024a7d44 100644 --- a/xserver/hw/kdrive/chips/chipsstub.c +++ b/xserver/hw/kdrive/chips/chipsstub.c @@ -1,6 +1,4 @@ /* - * Id: chipsstub.c,v 1.1 1999/11/02 08:19:15 keithp Exp $ - * * Copyright 1999 SuSE, Inc. * * Permission to use, copy, modify, distribute, and sell this software and its @@ -22,7 +20,6 @@ * * Author: Keith Packard, SuSE, Inc. */ -/* $RCSId: xc/programs/Xserver/hw/kdrive/chips/chipsstub.c,v 1.1 2001/09/05 07:12:42 keithp Exp $ */ #ifdef HAVE_CONFIG_H #include @@ -48,7 +45,8 @@ InitOutput (ScreenInfo *pScreenInfo, int argc, char **argv) void InitInput (int argc, char **argv) { - KdInitInput (&LinuxMouseFuncs, &LinuxKeyboardFuncs); + KdOsAddInputDrivers (); + KdInitInput (); } void diff --git a/xserver/hw/kdrive/ephyr/Makefile.am b/xserver/hw/kdrive/ephyr/Makefile.am index 8f51bbe08..cc3019fc7 100644 --- a/xserver/hw/kdrive/ephyr/Makefile.am +++ b/xserver/hw/kdrive/ephyr/Makefile.am @@ -28,9 +28,12 @@ Xephyr_LDADD = \ libxephyr-hostx.a \ ../../../exa/libexa.la \ @KDRIVE_LIBS@ \ - @KDRIVE_LIBS@ \ @XEPHYR_LIBS@ -Xephyr_DEPENDENCIES = \ +Xephyr_DEPENDENCIES = \ libxephyr.a \ - libxephyr-hostx.a + libxephyr-hostx.a \ + @KDRIVE_LOCAL_LIBS@ + +relink: + rm -f $(bin_PROGRAMS) && make $(bin_PROGRAMS) diff --git a/xserver/hw/kdrive/ephyr/ephyr.c b/xserver/hw/kdrive/ephyr/ephyr.c index fbb16a465..e8001df73 100644 --- a/xserver/hw/kdrive/ephyr/ephyr.c +++ b/xserver/hw/kdrive/ephyr/ephyr.c @@ -36,10 +36,16 @@ #include "inputstr.h" extern int KdTsPhyScreen; -extern DeviceIntPtr pKdKeyboard; +KdKeyboardInfo *ephyrKbd; +KdPointerInfo *ephyrMouse; +EphyrKeySyms ephyrKeySyms; static int mouseState = 0; +typedef struct _EphyrInputPrivate { + Bool enabled; +} EphyrKbdPrivate, EphyrPointerPrivate; + Bool EphyrWantGrayScale = 0; Bool @@ -75,7 +81,8 @@ Bool ephyrScreenInitialize (KdScreenInfo *screen, EphyrScrPriv *scrpriv) { int width = 640, height = 480; - + unsigned long redMask, greenMask, blueMask; + if (hostx_want_screen_size(&width, &height) || !screen->width || !screen->height) { @@ -127,30 +134,24 @@ ephyrScreenInitialize (KdScreenInfo *screen, EphyrScrPriv *scrpriv) { screen->fb[0].depth = 15; screen->fb[0].bitsPerPixel = 16; - - hostx_get_visual_masks (&screen->fb[0].redMask, - &screen->fb[0].greenMask, - &screen->fb[0].blueMask); - } else if (screen->fb[0].depth <= 16) { screen->fb[0].depth = 16; screen->fb[0].bitsPerPixel = 16; - - hostx_get_visual_masks (&screen->fb[0].redMask, - &screen->fb[0].greenMask, - &screen->fb[0].blueMask); } else { screen->fb[0].depth = 24; screen->fb[0].bitsPerPixel = 32; - - hostx_get_visual_masks (&screen->fb[0].redMask, - &screen->fb[0].greenMask, - &screen->fb[0].blueMask); } + + hostx_get_visual_masks (&redMask, &greenMask, &blueMask); + + screen->fb[0].redMask = (Pixel) redMask; + screen->fb[0].greenMask = (Pixel) greenMask; + screen->fb[0].blueMask = (Pixel) blueMask; + } scrpriv->randr = screen->randr; @@ -206,15 +207,14 @@ ephyrMapFramebuffer (KdScreenInfo *screen) { EphyrScrPriv *scrpriv = screen->driver; EphyrPriv *priv = screen->card->driver; - KdMouseMatrix m; + KdPointerMatrix m; int buffer_height; EPHYR_DBG(" screen->width: %d, screen->height: %d", screen->width, screen->height); - KdComputeMouseMatrix (&m, scrpriv->randr, screen->width, screen->height); - - KdSetMouseMatrix (&m); + KdComputePointerMatrix (&m, scrpriv->randr, screen->width, screen->height); + KdSetPointerMatrix (&m); priv->bytes_per_line = ((screen->width * screen->fb[0].bitsPerPixel + 31) >> 5) << 2; @@ -675,6 +675,8 @@ ephyrRestore (KdCardInfo *card) void ephyrScreenFini (KdScreenInfo *screen) { + xfree(screen->driver); + screen->driver = NULL; } /* @@ -719,8 +721,9 @@ ephyrUpdateModifierState(unsigned int state) kptr = &keyc->down[key >> 3]; bit = 1 << (key & 7); - if (*kptr & bit) - KdEnqueueKeyboardEvent(key, TRUE); /* release */ + if (*kptr & bit && ephyrKbd && + ((EphyrKbdPrivate *)ephyrKbd->driverPrivate)->enabled) + KdEnqueueKeyboardEvent(ephyrKbd, key, TRUE); /* release */ if (--count == 0) break; @@ -732,7 +735,9 @@ ephyrUpdateModifierState(unsigned int state) for (key = 0; key < MAP_LENGTH; key++) if (keyc->modifierMap[key] & mask) { - KdEnqueueKeyboardEvent(key, FALSE); /* press */ + if (keyc->modifierMap[key] & mask && ephyrKbd && + ((EphyrKbdPrivate *)ephyrKbd->driverPrivate)->enabled) + KdEnqueueKeyboardEvent(ephyrKbd, key, FALSE); /* press */ break; } } @@ -748,31 +753,47 @@ ephyrPoll(void) switch (ev.type) { case EPHYR_EV_MOUSE_MOTION: - KdEnqueueMouseEvent(kdMouseInfo, mouseState, - ev.data.mouse_motion.x, - ev.data.mouse_motion.y); + if (!ephyrMouse || + !((EphyrPointerPrivate *)ephyrMouse->driverPrivate)->enabled) + continue; + KdEnqueuePointerEvent(ephyrMouse, mouseState, + ev.data.mouse_motion.x, + ev.data.mouse_motion.y, + 0); break; case EPHYR_EV_MOUSE_PRESS: + if (!ephyrMouse || + !((EphyrPointerPrivate *)ephyrMouse->driverPrivate)->enabled) + continue; ephyrUpdateModifierState(ev.key_state); mouseState |= ev.data.mouse_down.button_num; - KdEnqueueMouseEvent(kdMouseInfo, mouseState|KD_MOUSE_DELTA, 0, 0); + KdEnqueuePointerEvent(ephyrMouse, mouseState|KD_MOUSE_DELTA, 0, 0, 0); break; case EPHYR_EV_MOUSE_RELEASE: + if (!ephyrMouse || + !((EphyrPointerPrivate *)ephyrMouse->driverPrivate)->enabled) + continue; ephyrUpdateModifierState(ev.key_state); mouseState &= ~ev.data.mouse_up.button_num; - KdEnqueueMouseEvent(kdMouseInfo, mouseState|KD_MOUSE_DELTA, 0, 0); + KdEnqueuePointerEvent(ephyrMouse, mouseState|KD_MOUSE_DELTA, 0, 0, 0); break; case EPHYR_EV_KEY_PRESS: + if (!ephyrKbd || + !((EphyrKbdPrivate *)ephyrKbd->driverPrivate)->enabled) + continue; ephyrUpdateModifierState(ev.key_state); - KdEnqueueKeyboardEvent (ev.data.key_down.scancode, FALSE); + KdEnqueueKeyboardEvent (ephyrKbd, ev.data.key_down.scancode, FALSE); break; case EPHYR_EV_KEY_RELEASE: + if (!ephyrKbd || + !((EphyrKbdPrivate *)ephyrKbd->driverPrivate)->enabled) + continue; ephyrUpdateModifierState(ev.key_state); - KdEnqueueKeyboardEvent (ev.data.key_up.scancode, TRUE); + KdEnqueueKeyboardEvent (ephyrKbd, ev.data.key_up.scancode, TRUE); break; default: @@ -833,59 +854,112 @@ ephyrPutColors (ScreenPtr pScreen, int fb, int n, xColorItem *pdefs) /* Mouse calls */ -static Bool -MouseInit (void) +static Status +MouseInit (KdPointerInfo *pi) { - return TRUE; + pi->driverPrivate = (EphyrPointerPrivate *) + xcalloc(sizeof(EphyrPointerPrivate), 1); + ((EphyrPointerPrivate *)pi->driverPrivate)->enabled = FALSE; + pi->nAxes = 3; + pi->nButtons = 32; + pi->name = KdSaveString("Xephyr virtual mouse"); + ephyrMouse = pi; + return Success; +} + +static Status +MouseEnable (KdPointerInfo *pi) +{ + ((EphyrPointerPrivate *)pi->driverPrivate)->enabled = TRUE; + return Success; } static void -MouseFini (void) +MouseDisable (KdPointerInfo *pi) { - ; + ((EphyrPointerPrivate *)pi->driverPrivate)->enabled = FALSE; + return; } -KdMouseFuncs EphyrMouseFuncs = { +static void +MouseFini (KdPointerInfo *pi) +{ + ephyrMouse = NULL; + return; +} + +KdPointerDriver EphyrMouseDriver = { + "ephyr", MouseInit, + MouseEnable, + MouseDisable, MouseFini, + NULL, }; /* Keyboard */ -static void -EphyrKeyboardLoad (void) +static Status +EphyrKeyboardInit (KdKeyboardInfo *ki) { - EPHYR_DBG("mark"); - + ki->driverPrivate = (EphyrKbdPrivate *) + xcalloc(sizeof(EphyrKbdPrivate), 1); hostx_load_keymap(); + if (!ephyrKeySyms.map) { + ErrorF("Couldn't load keymap from host\n"); + return BadAlloc; + } + ki->keySyms.minKeyCode = ephyrKeySyms.minKeyCode; + ki->keySyms.maxKeyCode = ephyrKeySyms.maxKeyCode; + ki->minScanCode = ki->keySyms.minKeyCode; + ki->maxScanCode = ki->keySyms.maxKeyCode; + ki->keySyms.mapWidth = ephyrKeySyms.mapWidth; + ki->keySyms.map = ephyrKeySyms.map; + ki->name = KdSaveString("Xephyr virtual keyboard"); + ephyrKbd = ki; + return Success; } -static int -EphyrKeyboardInit (void) +static Status +EphyrKeyboardEnable (KdKeyboardInfo *ki) { - return 0; + ((EphyrKbdPrivate *)ki->driverPrivate)->enabled = TRUE; + + return Success; } static void -EphyrKeyboardFini (void) +EphyrKeyboardDisable (KdKeyboardInfo *ki) +{ + ((EphyrKbdPrivate *)ki->driverPrivate)->enabled = FALSE; +} + +static void +EphyrKeyboardFini (KdKeyboardInfo *ki) +{ + /* not xfree: we call malloc from hostx.c. */ + free(ki->keySyms.map); + ephyrKbd = NULL; + return; +} + +static void +EphyrKeyboardLeds (KdKeyboardInfo *ki, int leds) { } static void -EphyrKeyboardLeds (int leds) +EphyrKeyboardBell (KdKeyboardInfo *ki, int volume, int frequency, int duration) { } -static void -EphyrKeyboardBell (int volume, int frequency, int duration) -{ -} - -KdKeyboardFuncs EphyrKeyboardFuncs = { - EphyrKeyboardLoad, +KdKeyboardDriver EphyrKeyboardDriver = { + "ephyr", EphyrKeyboardInit, + EphyrKeyboardEnable, EphyrKeyboardLeds, EphyrKeyboardBell, + EphyrKeyboardDisable, EphyrKeyboardFini, - 0, + NULL, }; diff --git a/xserver/hw/kdrive/ephyr/ephyr.h b/xserver/hw/kdrive/ephyr/ephyr.h index 707cb0168..f49d920d1 100644 --- a/xserver/hw/kdrive/ephyr/ephyr.h +++ b/xserver/hw/kdrive/ephyr/ephyr.h @@ -31,7 +31,6 @@ #include "os.h" /* for OsSignal() */ #include "kdrive.h" -#include "kkeymap.h" #include "hostx.h" #include "exa.h" @@ -68,7 +67,9 @@ typedef struct _ephyrScrPriv { EphyrFakexaPriv *fakexa; } EphyrScrPriv; -extern KdCardFuncs ephyrFuncs; +extern KdCardFuncs ephyrFuncs; +extern KdKeyboardInfo *ephyrKbd; +extern KdPointerInfo *ephyrMouse; Bool ephyrInitialize (KdCardInfo *card, EphyrPriv *priv); @@ -167,9 +168,9 @@ ephyrShadowUpdate (ScreenPtr pScreen, shadowBufPtr pBuf); void ephyrUpdateModifierState(unsigned int state); -extern KdMouseFuncs EphyrMouseFuncs; +extern KdPointerDriver EphyrMouseDriver; -extern KdKeyboardFuncs EphyrKeyboardFuncs; +extern KdKeyboardDriver EphyrKeyboardDriver; extern KdOsFuncs EphyrOsFuncs; diff --git a/xserver/hw/kdrive/ephyr/ephyrinit.c b/xserver/hw/kdrive/ephyr/ephyrinit.c index 1aa608e93..a76da03b4 100644 --- a/xserver/hw/kdrive/ephyr/ephyrinit.c +++ b/xserver/hw/kdrive/ephyr/ephyrinit.c @@ -30,6 +30,8 @@ extern Window EphyrPreExistingHostWin; extern Bool EphyrWantGrayScale; +extern Bool kdHasPointer; +extern Bool kdHasKbd; void InitCard (char *name) @@ -51,7 +53,35 @@ InitOutput (ScreenInfo *pScreenInfo, int argc, char **argv) void InitInput (int argc, char **argv) { - KdInitInput (&EphyrMouseFuncs, &EphyrKeyboardFuncs); + KdKeyboardInfo *ki; + KdPointerInfo *pi; + + KdAddKeyboardDriver(&EphyrKeyboardDriver); +#ifdef linux + KdAddKeyboardDriver(&LinuxEvdevKeyboardDriver); +#endif + KdAddPointerDriver(&EphyrMouseDriver); +#ifdef linux + KdAddPointerDriver(&LinuxEvdevMouseDriver); +#endif + + if (!kdHasKbd) { + ki = KdNewKeyboard(); + if (!ki) + FatalError("Couldn't create Xephyr keyboard\n"); + ki->driver = &EphyrKeyboardDriver; + KdAddKeyboard(ki); + } + + if (!kdHasPointer) { + pi = KdNewPointer(); + if (!pi) + FatalError("Couldn't create Xephyr pointer\n"); + pi->driver = &EphyrMouseDriver; + KdAddPointer(pi); + } + + KdInitInput(); } void @@ -64,7 +94,7 @@ ddxUseMsg (void) ErrorF("-host-cursor Re-use exisiting X host server cursor\n"); ErrorF("-fullscreen Attempt to run Xephyr fullscreen\n"); ErrorF("-grayscale Simulate 8bit grayscale\n"); - ErrorF("-fakexa Simulate acceleration using software rendering\n"); + ErrorF("-fakexa Simulate acceleration using software rendering\n"); ErrorF("\n"); exit(1); diff --git a/xserver/hw/kdrive/ephyr/hostx.c b/xserver/hw/kdrive/ephyr/hostx.c index d0a2f2f95..36d3cbd46 100644 --- a/xserver/hw/kdrive/ephyr/hostx.c +++ b/xserver/hw/kdrive/ephyr/hostx.c @@ -77,14 +77,8 @@ static EphyrHostXVars HostX = { "?", 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; static int HostXWantDamageDebug = 0; -extern KeySym EphyrKeymap[]; +extern EphyrKeySyms ephyrKeySyms; -extern KeySym kdKeymap[]; -extern int kdMinScanCode; -extern int kdMaxScanCode; -extern int kdMinKeyCode; -extern int kdMaxKeyCode; -extern int kdKeymapWidth; extern int monitorResolution; static void @@ -403,9 +397,9 @@ hostx_get_bpp(void) } void -hostx_get_visual_masks (unsigned long *rmsk, - unsigned long *gmsk, - unsigned long *bmsk) +hostx_get_visual_masks (CARD32 *rmsk, + CARD32 *gmsk, + CARD32 *bmsk) { if (host_depth_matches_server()) { @@ -662,7 +656,7 @@ hostx_paint_debug_rect(int x, int y, void hostx_load_keymap(void) { - KeySym *keymap; + XID *keymap; int host_width, min_keycode, max_keycode, width; int i,j; @@ -683,19 +677,21 @@ hostx_load_keymap(void) */ width = (host_width > 4) ? 4 : host_width; + ephyrKeySyms.map = (CARD32 *)calloc(sizeof(CARD32), + (max_keycode - min_keycode + 1) * + width); + if (!ephyrKeySyms.map) + return; + for (i=0; i<(max_keycode - min_keycode+1); i++) for (j=0; j +#include + #define EPHYR_WANT_DEBUG 0 #if (EPHYR_WANT_DEBUG) @@ -48,6 +51,14 @@ typedef enum EphyrHostXEventType } EphyrHostXEventType; +/* I can't believe it's not a KeySymsRec. */ +typedef struct { + int minKeyCode; + int maxKeyCode; + int mapWidth; + CARD32 *map; +} EphyrKeySyms; + struct EphyrHostXEvent { EphyrHostXEventType type; @@ -126,9 +137,9 @@ int hostx_get_bpp(void); void -hostx_get_visual_masks (unsigned long *rmsk, - unsigned long *gmsk, - unsigned long *bmsk); +hostx_get_visual_masks (CARD32 *rmsk, + CARD32 *gmsk, + CARD32 *bmsk); void hostx_set_cmap_entry(unsigned char idx, unsigned char r, diff --git a/xserver/hw/kdrive/ephyr/os.c b/xserver/hw/kdrive/ephyr/os.c index ead15868b..1a42495f3 100644 --- a/xserver/hw/kdrive/ephyr/os.c +++ b/xserver/hw/kdrive/ephyr/os.c @@ -34,34 +34,8 @@ EphyrInit (void) return hostx_init(); } -static void -EphyrEnable (void) -{ - EPHYR_DBG("mark"); -} - -static Bool -EphyrSpecialKey (KeySym sym) -{ - return FALSE; -} - -static void -EphyrDisable (void) -{ -} - -static void -EphyrFini (void) -{ -} - KdOsFuncs EphyrOsFuncs = { - EphyrInit, - EphyrEnable, - EphyrSpecialKey, - EphyrDisable, - EphyrFini, - ephyrPoll + .Init = EphyrInit, + .pollEvents = ephyrPoll, }; diff --git a/xserver/hw/kdrive/epson/Makefile.am b/xserver/hw/kdrive/epson/Makefile.am index 665d13651..cd2057132 100644 --- a/xserver/hw/kdrive/epson/Makefile.am +++ b/xserver/hw/kdrive/epson/Makefile.am @@ -25,4 +25,9 @@ Xepson_LDADD = \ @KDRIVE_LIBS@ \ @XSERVER_LIBS@ -Xepson_DEPENDENCIES = libepson.a +Xepson_DEPENDENCIES = \ + libepson.a \ + @KDRIVE_LOCAL_LIBS@ + +relink: + rm -f $(bin_PROGRAMS) && make $(bin_PROGRAMS) diff --git a/xserver/hw/kdrive/epson/epson13806.c b/xserver/hw/kdrive/epson/epson13806.c index cbaa42c9a..cb00890a7 100644 --- a/xserver/hw/kdrive/epson/epson13806.c +++ b/xserver/hw/kdrive/epson/epson13806.c @@ -1,4 +1,3 @@ -/* $Header: /home/cvs/xenocara/xserver/hw/kdrive/epson/Attic/epson13806.c,v 1.1.1.1 2006/11/26 18:22:01 matthieu Exp $ */ /* * Copyright 2004 by Costas Stylianou +44(0)7850 394095 * diff --git a/xserver/hw/kdrive/epson/epson13806.h b/xserver/hw/kdrive/epson/epson13806.h index ff18dee3b..b28d7c085 100644 --- a/xserver/hw/kdrive/epson/epson13806.h +++ b/xserver/hw/kdrive/epson/epson13806.h @@ -1,4 +1,3 @@ -/* $Header: /home/cvs/xenocara/xserver/hw/kdrive/epson/Attic/epson13806.h,v 1.1.1.1 2006/11/26 18:22:01 matthieu Exp $ */ /* * Copyright 2004 by Costas Stylianou +44(0)7850 394095 * diff --git a/xserver/hw/kdrive/epson/epson13806draw.c b/xserver/hw/kdrive/epson/epson13806draw.c index f4e459df8..3222353a3 100644 --- a/xserver/hw/kdrive/epson/epson13806draw.c +++ b/xserver/hw/kdrive/epson/epson13806draw.c @@ -1,4 +1,3 @@ -/* $Header: /home/cvs/xenocara/xserver/hw/kdrive/epson/Attic/epson13806draw.c,v 1.1.1.1 2006/11/26 18:22:02 matthieu Exp $ */ /* * Copyright 2004 by Costas Stylianou +44(0)7850 394095 * diff --git a/xserver/hw/kdrive/epson/epson13806draw.h b/xserver/hw/kdrive/epson/epson13806draw.h index 992dafb1e..b5f1bf5c2 100644 --- a/xserver/hw/kdrive/epson/epson13806draw.h +++ b/xserver/hw/kdrive/epson/epson13806draw.h @@ -1,4 +1,3 @@ -/* $Header: /home/cvs/xenocara/xserver/hw/kdrive/epson/Attic/epson13806draw.h,v 1.1.1.1 2006/11/26 18:22:01 matthieu Exp $ */ /* * Copyright 2004 by Costas Stylianou +44(0)7850 394095 * diff --git a/xserver/hw/kdrive/epson/epson13806reg.h b/xserver/hw/kdrive/epson/epson13806reg.h index def9890e4..ee745a08f 100644 --- a/xserver/hw/kdrive/epson/epson13806reg.h +++ b/xserver/hw/kdrive/epson/epson13806reg.h @@ -1,4 +1,3 @@ -/* $Header: /home/cvs/xenocara/xserver/hw/kdrive/epson/Attic/epson13806reg.h,v 1.1.1.1 2006/11/26 18:22:02 matthieu Exp $ */ /* * Copyright 2004 by Costas Stylianou +44(0)7850 394095 * diff --git a/xserver/hw/kdrive/epson/epson13806stub.c b/xserver/hw/kdrive/epson/epson13806stub.c index 1f9776084..087a30fc7 100644 --- a/xserver/hw/kdrive/epson/epson13806stub.c +++ b/xserver/hw/kdrive/epson/epson13806stub.c @@ -1,4 +1,3 @@ -/* $Header: /home/cvs/xenocara/xserver/hw/kdrive/epson/Attic/epson13806stub.c,v 1.1.1.1 2006/11/26 18:22:02 matthieu Exp $ */ /* * Copyright 2004 by Costas Stylianou +44(0)7850 394095 * @@ -53,10 +52,8 @@ InitOutput (ScreenInfo *pScreenInfo, int argc, char **argv) void InitInput (int argc, char **argv) { - KdInitInput (&LinuxMouseFuncs, &LinuxKeyboardFuncs); -#ifdef TOUCHSCREEN - KdAddMouseDriver (&TsFuncs); -#endif + KdOsAddInputDrivers (); + KdInitInput (); } int diff --git a/xserver/hw/kdrive/fake/Makefile.am b/xserver/hw/kdrive/fake/Makefile.am index 3a53e3dbb..09d179eb0 100644 --- a/xserver/hw/kdrive/fake/Makefile.am +++ b/xserver/hw/kdrive/fake/Makefile.am @@ -6,10 +6,6 @@ noinst_LIBRARIES = libfake.a bin_PROGRAMS = Xfake -if TSLIB -TSLIB_FLAG = -lts -endif - libfake_a_SOURCES = \ fake.c \ kbd.c \ @@ -23,9 +19,11 @@ Xfake_SOURCES = \ Xfake_LDADD = \ libfake.a \ @KDRIVE_LIBS@ \ - @KDRIVE_LIBS@ \ - $(TSLIB_FLAG) \ @XSERVER_LIBS@ -Xfake_DEPENDENCIES = \ - libfake.a +Xfake_DEPENDENCIES = \ + libfake.a \ + @KDRIVE_LOCAL_LIBS@ + +relink: + rm -f $(bin_PROGRAMS) && make $(bin_PROGRAMS) diff --git a/xserver/hw/kdrive/fake/fake.c b/xserver/hw/kdrive/fake/fake.c index dc4cd4739..6211ab871 100644 --- a/xserver/hw/kdrive/fake/fake.c +++ b/xserver/hw/kdrive/fake/fake.c @@ -1,6 +1,4 @@ /* - * $Id: fake.c,v 1.1.1.1 2006/11/26 18:21:49 matthieu Exp $ - * * Copyright © 2004 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its @@ -158,7 +156,7 @@ Bool fakeMapFramebuffer (KdScreenInfo *screen) { FakeScrPriv *scrpriv = screen->driver; - KdMouseMatrix m; + KdPointerMatrix m; FakePriv *priv = screen->card->driver; if (scrpriv->randr != RR_Rotate_0) @@ -166,9 +164,9 @@ fakeMapFramebuffer (KdScreenInfo *screen) else scrpriv->shadow = FALSE; - KdComputeMouseMatrix (&m, scrpriv->randr, screen->width, screen->height); + KdComputePointerMatrix (&m, scrpriv->randr, screen->width, screen->height); - KdSetMouseMatrix (&m); + KdSetPointerMatrix (&m); priv->bytes_per_line = ((screen->width * screen->fb[0].bitsPerPixel + 31) >> 5) << 2; if (priv->base) diff --git a/xserver/hw/kdrive/fake/fake.h b/xserver/hw/kdrive/fake/fake.h index f01b0dfa6..88d209674 100644 --- a/xserver/hw/kdrive/fake/fake.h +++ b/xserver/hw/kdrive/fake/fake.h @@ -1,6 +1,4 @@ /* - * $Id: fake.h,v 1.1.1.1 2006/11/26 18:21:49 matthieu Exp $ - * * Copyright © 2004 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its @@ -130,9 +128,9 @@ fakeRandRInit (ScreenPtr pScreen); #endif -extern KdMouseFuncs FakeMouseFuncs; +extern KdPointerDriver FakePointerDriver; -extern KdKeyboardFuncs FakeKeyboardFuncs; +extern KdKeyboardDriver FakeKeyboardDriver; extern KdOsFuncs FakeOsFuncs; diff --git a/xserver/hw/kdrive/fake/fakeinit.c b/xserver/hw/kdrive/fake/fakeinit.c index 21ebb8800..2cfcbedd5 100644 --- a/xserver/hw/kdrive/fake/fakeinit.c +++ b/xserver/hw/kdrive/fake/fakeinit.c @@ -1,6 +1,4 @@ /* - * $Id: fakeinit.c,v 1.1.1.1 2006/11/26 18:21:49 matthieu Exp $ - * * Copyright © 2004 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its @@ -44,7 +42,22 @@ InitOutput (ScreenInfo *pScreenInfo, int argc, char **argv) void InitInput (int argc, char **argv) { - KdInitInput (&FakeMouseFuncs, &FakeKeyboardFuncs); + KdPointerInfo *pi; + KdKeyboardInfo *ki; + + pi = KdNewPointer (); + if (!pi) + return; + pi->driver = &FakePointerDriver; + KdAddPointer(pi); + + ki = KdNewKeyboard (); + if (!ki) + return; + ki->driver = &FakeKeyboardDriver; + KdAddKeyboard(ki); + + KdInitInput (); } void diff --git a/xserver/hw/kdrive/fake/kbd.c b/xserver/hw/kdrive/fake/kbd.c index 9cf4de060..83c1b3b20 100644 --- a/xserver/hw/kdrive/fake/kbd.c +++ b/xserver/hw/kdrive/fake/kbd.c @@ -1,6 +1,4 @@ /* - * Id: kbd.c,v 1.1 1999/11/02 18:39:28 keithp Exp $ - * * Copyright © 1999 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its @@ -21,13 +19,11 @@ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ -/* $RCSId: xc/programs/Xserver/hw/kdrive/fake/kbd.c,v 1.1 1999/11/19 13:53:53 hohndel Exp $ */ #ifdef HAVE_CONFIG_H #include #endif #include "fake.h" -#include "kkeymap.h" #include #define FAKE_WIDTH 2 @@ -155,41 +151,58 @@ KeySym FakeKeymap[] = { /* 116 123 */ NoSymbol, NoSymbol, /* tiny button */ }; -static void -FakeKeyboardLoad (void) +static Status +FakeKeyboardInit (KdKeyboardInfo *ki) { - kdMinScanCode = 1; - kdKeymapWidth = FAKE_WIDTH; - kdMaxScanCode = (sizeof (FakeKeymap) / sizeof (FakeKeymap[0])) / FAKE_WIDTH; - memcpy (kdKeymap, FakeKeymap, sizeof (FakeKeymap)); + ki->keySyms.minKeyCode = 1; + ki->keySyms.maxKeyCode = (sizeof (FakeKeymap) / sizeof (FakeKeymap[0])) / FAKE_WIDTH; + ki->keySyms.mapWidth = FAKE_WIDTH; + if (ki->keySyms.map) + xfree(ki->keySyms.map); + ki->keySyms.map = (KeySym *)xalloc(sizeof(FakeKeymap)); + if (!ki->keySyms.map) + return BadAlloc; + memcpy (ki->keySyms.map, FakeKeymap, sizeof (FakeKeymap)); + + return Success; } -static int -FakeKeyboardInit (void) +static Status +FakeKeyboardEnable (KdKeyboardInfo *ki) { - return 0; + return Success; } static void -FakeKeyboardFini (void) +FakeKeyboardDisable (KdKeyboardInfo *ki) +{ + return; +} + +static void +FakeKeyboardFini (KdKeyboardInfo *ki) +{ + xfree(ki->keySyms.map); + ki->keySyms.map = NULL; +} + +static void +FakeKeyboardLeds (KdKeyboardInfo *ki, int leds) { } static void -FakeKeyboardLeds (int leds) +FakeKeyboardBell (KdKeyboardInfo *ki, int volume, int frequency, int duration) { } -static void -FakeKeyboardBell (int volume, int frequency, int duration) -{ -} - -KdKeyboardFuncs FakeKeyboardFuncs = { - FakeKeyboardLoad, +KdKeyboardDriver FakeKeyboardDriver = { + "fake", FakeKeyboardInit, + FakeKeyboardEnable, FakeKeyboardLeds, FakeKeyboardBell, + FakeKeyboardDisable, FakeKeyboardFini, - 0, + NULL, }; diff --git a/xserver/hw/kdrive/fake/mouse.c b/xserver/hw/kdrive/fake/mouse.c index 916689cdb..4b8d2b06d 100644 --- a/xserver/hw/kdrive/fake/mouse.c +++ b/xserver/hw/kdrive/fake/mouse.c @@ -1,6 +1,4 @@ /* - * $Id: mouse.c,v 1.1.1.1 2006/11/26 18:21:49 matthieu Exp $ - * * Copyright © 2004 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its @@ -35,19 +33,35 @@ #include "scrnintstr.h" #include "kdrive.h" -static Bool -MouseInit (void) +static Status +MouseInit (KdPointerInfo *pi) { - return TRUE; + return Success; +} + +static Status +MouseEnable (KdPointerInfo *pi) +{ + return Success; } static void -MouseFini (void) +MouseDisable (KdPointerInfo *pi) { + return; +} + +static void +MouseFini (KdPointerInfo *pi) +{ + return; } -KdMouseFuncs FakeMouseFuncs = { +KdPointerDriver FakePointerDriver = { + "fake", MouseInit, + MouseEnable, + MouseDisable, MouseFini, }; diff --git a/xserver/hw/kdrive/fake/os.c b/xserver/hw/kdrive/fake/os.c index d12518969..76cd9e728 100644 --- a/xserver/hw/kdrive/fake/os.c +++ b/xserver/hw/kdrive/fake/os.c @@ -1,6 +1,4 @@ /* - * $Id: os.c,v 1.1.1.1 2006/11/26 18:21:49 matthieu Exp $ - * * Copyright © 2004 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its diff --git a/xserver/hw/kdrive/fbdev/Makefile.am b/xserver/hw/kdrive/fbdev/Makefile.am index 3a8c65bbb..ea2aff3b3 100644 --- a/xserver/hw/kdrive/fbdev/Makefile.am +++ b/xserver/hw/kdrive/fbdev/Makefile.am @@ -4,19 +4,25 @@ INCLUDES = \ noinst_LIBRARIES = libfbdev.a -bin_PROGRAMS = Xfbdev - libfbdev_a_SOURCES = \ fbdev.c \ fbdev.h +if KDRIVEFBDEV +bin_PROGRAMS = Xfbdev + Xfbdev_SOURCES = \ fbinit.c Xfbdev_LDADD = \ libfbdev.a \ @KDRIVE_LIBS@ \ - @XSERVER_LIBS@ + @XSERVER_LIBS@ -Xfbdev_DEPENDENCIES = \ - libfbdev.a +Xfbdev_DEPENDENCIES = \ + libfbdev.a \ + @KDRIVE_LOCAL_LIBS@ + +relink: + rm -f $(bin_PROGRAMS) && make $(bin_PROGRAMS) +endif diff --git a/xserver/hw/kdrive/fbdev/fbdev.c b/xserver/hw/kdrive/fbdev/fbdev.c index 20bf75800..6e8b3ff5e 100644 --- a/xserver/hw/kdrive/fbdev/fbdev.c +++ b/xserver/hw/kdrive/fbdev/fbdev.c @@ -1,6 +1,4 @@ /* - * Id: fbdev.c,v 1.1 1999/11/02 03:54:46 keithp Exp $ - * * Copyright © 1999 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its @@ -21,7 +19,6 @@ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ -/* $RCSId: xc/programs/Xserver/hw/kdrive/fbdev/fbdev.c,v 1.31 2002/10/14 18:01:40 keithp Exp $ */ #ifdef HAVE_CONFIG_H #include @@ -331,7 +328,7 @@ Bool fbdevMapFramebuffer (KdScreenInfo *screen) { FbdevScrPriv *scrpriv = screen->driver; - KdMouseMatrix m; + KdPointerMatrix m; FbdevPriv *priv = screen->card->driver; if (scrpriv->randr != RR_Rotate_0) @@ -339,9 +336,9 @@ fbdevMapFramebuffer (KdScreenInfo *screen) else scrpriv->shadow = FALSE; - KdComputeMouseMatrix (&m, scrpriv->randr, screen->width, screen->height); + KdComputePointerMatrix (&m, scrpriv->randr, screen->width, screen->height); - KdSetMouseMatrix (&m); + KdSetPointerMatrix (&m); screen->width = priv->var.xres; screen->height = priv->var.yres; diff --git a/xserver/hw/kdrive/fbdev/fbdev.h b/xserver/hw/kdrive/fbdev/fbdev.h index b7951db72..9e322dacb 100644 --- a/xserver/hw/kdrive/fbdev/fbdev.h +++ b/xserver/hw/kdrive/fbdev/fbdev.h @@ -1,6 +1,4 @@ /* - * Id: fbdev.h,v 1.1 1999/11/02 03:54:46 keithp Exp $ - * * Copyright © 1999 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its @@ -21,7 +19,6 @@ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ -/* $RCSId: xc/programs/Xserver/hw/kdrive/fbdev/fbdev.h,v 1.11 2001/06/03 21:52:45 keithp Exp $ */ #ifndef _FBDEV_H_ #define _FBDEV_H_ diff --git a/xserver/hw/kdrive/fbdev/fbinit.c b/xserver/hw/kdrive/fbdev/fbinit.c index ee373276b..5e1c88b2c 100644 --- a/xserver/hw/kdrive/fbdev/fbinit.c +++ b/xserver/hw/kdrive/fbdev/fbinit.c @@ -1,6 +1,4 @@ /* - * Id: fbinit.c,v 1.1 1999/11/02 03:54:46 keithp Exp $ - * * Copyright © 1999 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its @@ -21,7 +19,6 @@ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ -/* $RCSId: xc/programs/Xserver/hw/kdrive/fbdev/fbinit.c,v 1.8 2001/05/29 17:47:55 keithp Exp $ */ #ifdef HAVE_CONFIG_H #include @@ -45,10 +42,18 @@ InitOutput (ScreenInfo *pScreenInfo, int argc, char **argv) void InitInput (int argc, char **argv) { - KdInitInput (&LinuxMouseFuncs, &LinuxKeyboardFuncs); -#ifdef TOUCHSCREEN - KdAddMouseDriver (&TsFuncs); + KdKeyboardInfo *ki; + + KdAddKeyboardDriver (&LinuxKeyboardDriver); + KdAddPointerDriver (&LinuxMouseDriver); +#ifdef TSLIB + KdAddPointerDriver (&TsDriver); #endif + + ki = KdParseKeyboard ("keybd"); + KdAddKeyboard(ki); + + KdInitInput (); } void diff --git a/xserver/hw/kdrive/i810/Makefile.am b/xserver/hw/kdrive/i810/Makefile.am index 808d8f70b..e3a702dde 100644 --- a/xserver/hw/kdrive/i810/Makefile.am +++ b/xserver/hw/kdrive/i810/Makefile.am @@ -28,4 +28,9 @@ Xi810_LDADD = \ @KDRIVE_LIBS@ \ @XSERVER_LIBS@ -Xi810_DEPENDENCIES = libi810.a +Xi810_DEPENDENCIES = \ + libi810.a \ + @KDRIVE_LOCAL_LIBS@ + +relink: + rm -f $(bin_PROGRAMS) && make $(bin_PROGRAMS) diff --git a/xserver/hw/kdrive/i810/i810.c b/xserver/hw/kdrive/i810/i810.c index d2318d786..49090f9eb 100644 --- a/xserver/hw/kdrive/i810/i810.c +++ b/xserver/hw/kdrive/i810/i810.c @@ -31,9 +31,6 @@ of the copyright holder. X Window System is a trademark of The Open Group */ - -/* $RCSId: xc/programs/Xserver/hw/kdrive/i810/i810.c,v 1.1 2001/03/30 02:18:41 keithp Exp $ */ - /* * i810.c - KDrive driver for the i810 chipset * diff --git a/xserver/hw/kdrive/i810/i810.h b/xserver/hw/kdrive/i810/i810.h index e0f6f8173..8fc2d56be 100644 --- a/xserver/hw/kdrive/i810/i810.h +++ b/xserver/hw/kdrive/i810/i810.h @@ -31,8 +31,6 @@ of the copyright holder. X Window System is a trademark of The Open Group */ -/* $RCSId: $ */ - /* * Author: * Pontus Lidman diff --git a/xserver/hw/kdrive/i810/i810_cursor.c b/xserver/hw/kdrive/i810/i810_cursor.c index cf4f717f2..434fc4087 100644 --- a/xserver/hw/kdrive/i810/i810_cursor.c +++ b/xserver/hw/kdrive/i810/i810_cursor.c @@ -58,10 +58,6 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. **************************************************************************/ - - -/* $RCSId: xc/programs/Xserver/hw/kdrive/i810/i810_cursor.c,v 1.2 2001/12/10 16:34:20 keithp Exp $ */ - /* i810_cursor.c: KDrive hardware cursor routines for the i810 chipset */ /* diff --git a/xserver/hw/kdrive/i810/i810_reg.h b/xserver/hw/kdrive/i810/i810_reg.h index e6648a1de..d9f4c8f48 100644 --- a/xserver/hw/kdrive/i810/i810_reg.h +++ b/xserver/hw/kdrive/i810/i810_reg.h @@ -57,7 +57,6 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. **************************************************************************/ -/* $RCSId: xc/programs/Xserver/hw/kdrive/i810/i810_reg.h,v 1.1 2001/03/30 02:18:41 keithp Exp $ */ /* * Authors: diff --git a/xserver/hw/kdrive/i810/i810stub.c b/xserver/hw/kdrive/i810/i810stub.c index c195947c9..3109984e0 100644 --- a/xserver/hw/kdrive/i810/i810stub.c +++ b/xserver/hw/kdrive/i810/i810stub.c @@ -1,4 +1,3 @@ -/* $RCSId: $ */ /* COPYRIGHT AND PERMISSION NOTICE Copyright (c) 2000, 2001 Nokia Home Communications @@ -73,7 +72,8 @@ InitOutput (ScreenInfo *pScreenInfo, int argc, char **argv) void InitInput (int argc, char **argv) { - KdInitInput (&LinuxMouseFuncs, &LinuxKeyboardFuncs); + KdOsAddInputDrivers (); + KdInitInput (); } void diff --git a/xserver/hw/kdrive/linux/Makefile.am b/xserver/hw/kdrive/linux/Makefile.am index 29959df00..e13d08312 100644 --- a/xserver/hw/kdrive/linux/Makefile.am +++ b/xserver/hw/kdrive/linux/Makefile.am @@ -32,16 +32,3 @@ liblinux_a_SOURCES = \ $(KDRIVE_HW_SOURCES) \ $(TSLIB_C) \ $(TS_C) - -liblinux_a_DEPENDENCIES = \ - agp.c \ - bus.c \ - keyboard.c \ - linux.c \ - mouse.c \ - evdev.c \ - ms.c \ - ps2.c \ - $(TSLIB_C) \ - $(TS_C) - diff --git a/xserver/hw/kdrive/linux/agp.c b/xserver/hw/kdrive/linux/agp.c index c2ae62568..80fb7259b 100644 --- a/xserver/hw/kdrive/linux/agp.c +++ b/xserver/hw/kdrive/linux/agp.c @@ -35,8 +35,6 @@ of the copyright holder. */ -/* $RCSId: xc/programs/Xserver/hw/xfree86/os-support/linux/lnx_agp.c,v 3.4 2000/08/28 18:12:56 dawes Exp $ */ - /* * Author: Pontus Lidman (adaption to KDrive) and others */ @@ -65,7 +63,7 @@ of the copyright holder. #include -#elif defined(__FreeBSD__) +#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__) #include #include #endif diff --git a/xserver/hw/kdrive/linux/bus.c b/xserver/hw/kdrive/linux/bus.c index be61f891a..2d7a15751 100644 --- a/xserver/hw/kdrive/linux/bus.c +++ b/xserver/hw/kdrive/linux/bus.c @@ -1,6 +1,4 @@ /* - * $RCSId: xc/programs/Xserver/hw/kdrive/linux/bus.c,v 1.2 2001/06/29 14:00:41 keithp Exp $ - * * Copyright © 2000 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its @@ -55,7 +53,7 @@ BusRead (int adbPort, void *closure) flags |= KD_BUTTON_2; if ((buf[0] & 1) == 0) flags |= KD_BUTTON_3; - KdEnqueueMouseEvent (kdMouseInfo, flags, dx, dy); + KdEnqueuePointerEvent (closure, flags, dx, dy, 0); } } @@ -66,36 +64,71 @@ char *BusNames[] = { #define NUM_BUS_NAMES (sizeof (BusNames) / sizeof (BusNames[0])) -int BusInputType; +static int +BusInit (KdPointerInfo *pi) +{ + int i, fd = 0; + + if (!pi->path || (strcmp(pi->path, "auto") == 0)) + { + for (i = 0; i < NUM_BUS_NAMES; i++) + { + if ((fd = open (BusNames[i], 0)) > 0) + { + close(fd); + if (pi->path) + xfree(pi->path); + pi->path = KdSaveString(BusNames[i]); + return Success; + } + } + } + else + { + if ((fd = open(pi->path, 0)) > 0) + { + close(fd); + return Success; + } + } + + return !Success; +} static int -BusInit (void) +BusEnable (KdPointerInfo *pi) { - int i; - int busPort; - int n = 0; + int fd = open(pi->path, 0); - if (!BusInputType) - BusInputType = KdAllocInputType (); - - for (i = 0; i < NUM_BUS_NAMES; i++) + if (fd > 0) { - busPort = open (BusNames[i], 0); - { - KdRegisterFd (BusInputType, busPort, BusRead, 0); - n++; - } + KdRegisterFd(fd, BusRead, pi); + pi->driverPrivate = (void *)fd; + return Success; + } + else + { + return !Success; } - return n; } static void -BusFini (void) +BusDisable (KdPointerInfo *pi) { - KdUnregisterFds (BusInputType, TRUE); + KdUnregisterFd(pi, (int)pi->driverPrivate, TRUE); } -KdMouseFuncs BusMouseFuncs = { +static void +BusFini (KdPointerInfo *pi) +{ + return; +} + +KdPointerDriver BusMouseDriver = { + "bus", BusInit, - BusFini + BusEnable, + BusDisable, + BusFini, + NULL }; diff --git a/xserver/hw/kdrive/linux/evdev.c b/xserver/hw/kdrive/linux/evdev.c index 2a4695d55..2eaa1e332 100644 --- a/xserver/hw/kdrive/linux/evdev.c +++ b/xserver/hw/kdrive/linux/evdev.c @@ -1,6 +1,4 @@ /* - * $Id: evdev.c,v 1.1.1.1 2006/11/26 18:22:13 matthieu Exp $ - * * Copyright © 2004 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its @@ -43,102 +41,156 @@ #define ISBITSET(x,y) ((x)[LONG(y)] & BIT(y)) #define OFF(x) ((x)%BITS_PER_LONG) #define LONG(x) ((x)/BITS_PER_LONG) -#define BIT(x) (1 << OFF(x)) -#define SETBIT(x,y) ((x)[LONG(y)] |= BIT(y)) -#define CLRBIT(x,y) ((x)[LONG(y)] &= ~BIT(y)) -#define ASSIGNBIT(x,y,z) ((x)[LONG(y)] = ((x)[LONG(y)] & ~BIT(y)) | (z << OFF(y))) +#define BIT(x) (1 << OFF(x)) -typedef struct _kevdevMouse { +typedef struct _kevdev { /* current device state */ - int rel[REL_MAX + 1]; - int abs[ABS_MAX + 1]; - int prevabs[ABS_MAX + 1]; - long key[NBITS(KEY_MAX + 1)]; + int rel[REL_MAX + 1]; + int abs[ABS_MAX + 1]; + int prevabs[ABS_MAX + 1]; + long key[NBITS(KEY_MAX + 1)]; /* supported device info */ - long relbits[NBITS(REL_MAX + 1)]; - long absbits[NBITS(ABS_MAX + 1)]; - long keybits[NBITS(KEY_MAX + 1)]; + long relbits[NBITS(REL_MAX + 1)]; + long absbits[NBITS(ABS_MAX + 1)]; + long keybits[NBITS(KEY_MAX + 1)]; struct input_absinfo absinfo[ABS_MAX + 1]; - int max_rel; - int max_abs; + int max_rel; + int max_abs; + + int fd; } Kevdev; static void -EvdevMotion (KdMouseInfo *mi) +EvdevPtrBtn (KdPointerInfo *pi, struct input_event *ev) { - Kevdev *ke = mi->driver; - int i; + int flags = KD_MOUSE_DELTA | pi->buttonState; + + if (ev->code >= BTN_MOUSE && ev->code < BTN_JOYSTICK) { + switch (ev->code) { + case BTN_LEFT: + if (ev->value == 1) + flags |= KD_BUTTON_1; + else + flags &= ~KD_BUTTON_1; + break; + case BTN_MIDDLE: + if (ev->value == 1) + flags |= KD_BUTTON_2; + else + flags &= ~KD_BUTTON_2; + break; + case BTN_RIGHT: + if (ev->value == 1) + flags |= KD_BUTTON_3; + else + flags &= ~KD_BUTTON_3; + break; + default: + /* Unknow button */ + break; + } + + KdEnqueuePointerEvent (pi, flags, 0, 0, 0); + } +} +static void +EvdevPtrMotion (KdPointerInfo *pi, struct input_event *ev) +{ + Kevdev *ke = pi->driverPrivate; + int i; + int flags = KD_MOUSE_DELTA | pi->buttonState; for (i = 0; i <= ke->max_rel; i++) - if (ke->rel[i]) - { - int a; - ErrorF ("rel"); - for (a = 0; a <= ke->max_rel; a++) - { - if (ISBITSET (ke->relbits, a)) - ErrorF (" %d=%d", a, ke->rel[a]); + if (ke->rel[i]) + { + int a; + for (a = 0; a <= ke->max_rel; a++) + { + if (ISBITSET (ke->relbits, a)) + { + if (a == 0) + KdEnqueuePointerEvent(pi, flags, ke->rel[a], 0, 0); + else if (a == 1) + KdEnqueuePointerEvent(pi, flags, 0, ke->rel[a], 0); + } ke->rel[a] = 0; - } - ErrorF ("\n"); - break; - } + } + break; + } for (i = 0; i < ke->max_abs; i++) - if (ke->abs[i] != ke->prevabs[i]) - { - int a; - ErrorF ("abs"); - for (a = 0; a <= ke->max_abs; a++) - { - if (ISBITSET (ke->absbits, a)) - ErrorF (" %d=%d", a, ke->abs[a]); - ke->prevabs[a] = ke->abs[a]; - } - ErrorF ("\n"); - break; - } + if (ke->abs[i] != ke->prevabs[i]) + { + int a; + ErrorF ("abs"); + for (a = 0; a <= ke->max_abs; a++) + { + if (ISBITSET (ke->absbits, a)) + ErrorF (" %d=%d", a, ke->abs[a]); + ke->prevabs[a] = ke->abs[a]; + } + ErrorF ("\n"); + break; + } + + if (ev->code == REL_WHEEL) { + for (i = 0; i < abs (ev->value); i++) + { + if (ev->value > 0) + flags |= KD_BUTTON_4; + else + flags |= KD_BUTTON_5; + + KdEnqueuePointerEvent (pi, flags, 0, 0, 0); + + if (ev->value > 0) + flags &= ~KD_BUTTON_4; + else + flags &= ~KD_BUTTON_5; + + KdEnqueuePointerEvent (pi, flags, 0, 0, 0); + } + } + } static void -EvdevRead (int evdevPort, void *closure) +EvdevPtrRead (int evdevPort, void *closure) { - KdMouseInfo *mi = closure; - Kevdev *ke = mi->driver; - int i; - struct input_event events[NUM_EVENTS]; - int n; + KdPointerInfo *pi = closure; + Kevdev *ke = pi->driverPrivate; + int i; + struct input_event events[NUM_EVENTS]; + int n; n = read (evdevPort, &events, NUM_EVENTS * sizeof (struct input_event)); - if (n <= 0) - return; + if (n <= 0) { + if (errno == ENODEV) + DeleteInputDeviceRequest(pi->dixdev); + return; + } + n /= sizeof (struct input_event); for (i = 0; i < n; i++) { - switch (events[i].type) { - case EV_SYN: - break; - case EV_KEY: - EvdevMotion (mi); - ASSIGNBIT(ke->key,events[i].code, events[i].value); - if (events[i].code < 0x100) - ErrorF ("key %d %d\n", events[i].code, events[i].value); - else - ErrorF ("key 0x%x %d\n", events[i].code, events[i].value); - break; - case EV_REL: - ke->rel[events[i].code] += events[i].value; - break; - case EV_ABS: - ke->abs[events[i].code] = events[i].value; - break; - } + switch (events[i].type) { + case EV_SYN: + break; + case EV_KEY: + EvdevPtrBtn (pi, &events[i]); + break; + case EV_REL: + ke->rel[events[i].code] += events[i].value; + EvdevPtrMotion (pi, &events[i]); + break; + case EV_ABS: + ke->abs[events[i].code] = events[i].value; + EvdevPtrMotion (pi, &events[i]); + break; + } } - EvdevMotion (mi); } -int EvdevInputType; - char *kdefaultEvdev[] = { "/dev/input/event0", "/dev/input/event1", @@ -148,152 +200,337 @@ char *kdefaultEvdev[] = { #define NUM_DEFAULT_EVDEV (sizeof (kdefaultEvdev) / sizeof (kdefaultEvdev[0])) -static Bool -EvdevInit (void) +static Status +EvdevPtrInit (KdPointerInfo *pi) { - int i; - int fd; - KdMouseInfo *mi, *next; - int n = 0; - char *prot; + int i; + int fd; - if (!EvdevInputType) - EvdevInputType = KdAllocInputType (); - - for (mi = kdMouseInfo; mi; mi = next) - { - next = mi->next; - prot = mi->prot; - if (mi->inputType) - continue; - if (!mi->name) - { - for (i = 0; i < NUM_DEFAULT_EVDEV; i++) - { - fd = open (kdefaultEvdev[i], 2); - if (fd >= 0) - { - mi->name = KdSaveString (kdefaultEvdev[i]); - break; - } - } - } - else - fd = open (mi->name, 2); - - if (fd >= 0) - { - unsigned long ev[NBITS(EV_MAX)]; - Kevdev *ke; - - if (ioctl (fd, EVIOCGBIT(0 /*EV*/, sizeof (ev)), ev) < 0) - { - perror ("EVIOCGBIT 0"); - close (fd); - continue; - } - ke = xalloc (sizeof (Kevdev)); - if (!ke) - { - close (fd); - continue; - } - memset (ke, '\0', sizeof (Kevdev)); - if (ISBITSET (ev, EV_KEY)) - { - if (ioctl (fd, EVIOCGBIT (EV_KEY, sizeof (ke->keybits)), - ke->keybits) < 0) - { - perror ("EVIOCGBIT EV_KEY"); - xfree (ke); - close (fd); - continue; - } - } - if (ISBITSET (ev, EV_REL)) - { - if (ioctl (fd, EVIOCGBIT (EV_REL, sizeof (ke->relbits)), - ke->relbits) < 0) - { - perror ("EVIOCGBIT EV_REL"); - xfree (ke); - close (fd); - continue; - } - for (ke->max_rel = REL_MAX; ke->max_rel >= 0; ke->max_rel--) - if (ISBITSET(ke->relbits, ke->max_rel)) - break; - } - if (ISBITSET (ev, EV_ABS)) - { - int i; - - if (ioctl (fd, EVIOCGBIT (EV_ABS, sizeof (ke->absbits)), - ke->absbits) < 0) - { - perror ("EVIOCGBIT EV_ABS"); - xfree (ke); - close (fd); - continue; - } - for (ke->max_abs = ABS_MAX; ke->max_abs >= 0; ke->max_abs--) - if (ISBITSET(ke->absbits, ke->max_abs)) - break; - for (i = 0; i <= ke->max_abs; i++) - { - if (ISBITSET (ke->absbits, i)) - if (ioctl (fd, EVIOCGABS(i), &ke->absinfo[i]) < 0) - { - perror ("EVIOCGABS"); - break; - } - ke->prevabs[i] = ABS_UNSET; - } - if (i <= ke->max_abs) - { - xfree (ke); - close (fd); - continue; - } - } - mi->driver = ke; - mi->inputType = EvdevInputType; - if (KdRegisterFd (EvdevInputType, fd, EvdevRead, (void *) mi)) - n++; - } + if (!pi->path) { + for (i = 0; i < NUM_DEFAULT_EVDEV; i++) { + fd = open (kdefaultEvdev[i], 2); + if (fd >= 0) { + pi->path = KdSaveString (kdefaultEvdev[i]); + break; + } + } } - return TRUE; + else { + fd = open (pi->path, O_RDWR); + if (fd < 0) { + ErrorF("Failed to open evdev device %s\n", pi->path); + return BadMatch; + } + } + + close(fd); + + pi->name = KdSaveString("Evdev mouse"); + + return Success; +} + +static Status +EvdevPtrEnable (KdPointerInfo *pi) +{ + int fd; + + if (!pi || !pi->path) + return BadImplementation; + + fd = open(pi->path, 2); + if (fd < 0) + return BadMatch; + + unsigned long ev[NBITS(EV_MAX)]; + Kevdev *ke; + + if (ioctl (fd, EVIOCGBIT(0 /*EV*/, sizeof (ev)), ev) < 0) + { + perror ("EVIOCGBIT 0"); + close (fd); + return BadMatch; + } + ke = xalloc (sizeof (Kevdev)); + if (!ke) + { + close (fd); + return BadAlloc; + } + memset (ke, '\0', sizeof (Kevdev)); + if (ISBITSET (ev, EV_KEY)) + { + if (ioctl (fd, EVIOCGBIT (EV_KEY, sizeof (ke->keybits)), + ke->keybits) < 0) + { + perror ("EVIOCGBIT EV_KEY"); + xfree (ke); + close (fd); + return BadMatch; + } + } + if (ISBITSET (ev, EV_REL)) + { + if (ioctl (fd, EVIOCGBIT (EV_REL, sizeof (ke->relbits)), + ke->relbits) < 0) + { + perror ("EVIOCGBIT EV_REL"); + xfree (ke); + close (fd); + return BadMatch; + } + for (ke->max_rel = REL_MAX; ke->max_rel >= 0; ke->max_rel--) + if (ISBITSET(ke->relbits, ke->max_rel)) + break; + } + if (ISBITSET (ev, EV_ABS)) + { + int i; + + if (ioctl (fd, EVIOCGBIT (EV_ABS, sizeof (ke->absbits)), + ke->absbits) < 0) + { + perror ("EVIOCGBIT EV_ABS"); + xfree (ke); + close (fd); + return BadMatch; + } + for (ke->max_abs = ABS_MAX; ke->max_abs >= 0; ke->max_abs--) + if (ISBITSET(ke->absbits, ke->max_abs)) + break; + for (i = 0; i <= ke->max_abs; i++) + { + if (ISBITSET (ke->absbits, i)) + if (ioctl (fd, EVIOCGABS(i), &ke->absinfo[i]) < 0) + { + perror ("EVIOCGABS"); + break; + } + ke->prevabs[i] = ABS_UNSET; + } + if (i <= ke->max_abs) + { + xfree (ke); + close (fd); + return BadValue; + } + } + if (!KdRegisterFd (fd, EvdevPtrRead, pi)) { + xfree (ke); + close (fd); + return BadAlloc; + } + pi->driverPrivate = ke; + ke->fd = fd; + + return Success; } static void -EvdevFini (void) +EvdevPtrDisable (KdPointerInfo *pi) { - KdMouseInfo *mi; + Kevdev *ke; - KdUnregisterFds (EvdevInputType, TRUE); - for (mi = kdMouseInfo; mi; mi = mi->next) + ke = pi->driverPrivate; + + if (!pi || !pi->driverPrivate) + return; + + KdUnregisterFd (pi, ke->fd, TRUE); + xfree (ke); + pi->driverPrivate = 0; +} + +static void +EvdevPtrFini (KdPointerInfo *pi) +{ +} + + +/* + * Evdev keyboard functions + */ + +static void +readMapping (KdKeyboardInfo *ki) +{ + int minScanCode, maxScanCode; + + if (!ki) + return; + + minScanCode = 0; + maxScanCode = 193; + + ki->keySyms.mapWidth = 2; + + ki->minScanCode = minScanCode; + ki->maxScanCode = maxScanCode; +} + +static void +EvdevKbdRead (int evdevPort, void *closure) +{ + KdKeyboardInfo *ki = closure; + struct input_event events[NUM_EVENTS]; + int i, n; + + n = read (evdevPort, &events, NUM_EVENTS * sizeof (struct input_event)); + if (n <= 0) { + if (errno == ENODEV) + DeleteInputDeviceRequest(ki->dixdev); + return; + } + + n /= sizeof (struct input_event); + for (i = 0; i < n; i++) { - if (mi->inputType == EvdevInputType) - { - xfree (mi->driver); - mi->driver = 0; - mi->inputType = 0; - } + if (events[i].type == EV_KEY) + KdEnqueueKeyboardEvent (ki, events[i].code, !events[i].value); +/* FIXME: must implement other types of events + else + ErrorF("Event type (%d) not delivered\n", events[i].type); +*/ } } -KdMouseFuncs LinuxEvdevMouseFuncs = { - EvdevInit, - EvdevFini, +static Status +EvdevKbdInit (KdKeyboardInfo *ki) +{ + int fd; + + if (!ki->path) { + ErrorF("Couldn't find evdev device path\n"); + return BadValue; + } + else { + fd = open (ki->path, O_RDWR); + if (fd < 0) { + ErrorF("Failed to open evdev device %s\n", ki->path); + return BadMatch; + } + } + + close (fd); + + ki->name = KdSaveString("Evdev keyboard"); + + readMapping(ki); + + return Success; +} + +static Status +EvdevKbdEnable (KdKeyboardInfo *ki) +{ + unsigned long ev[NBITS(EV_MAX)]; + Kevdev *ke; + int fd; + + if (!ki || !ki->path) + return BadImplementation; + + fd = open(ki->path, O_RDWR); + if (fd < 0) + return BadMatch; + + if (ioctl (fd, EVIOCGBIT(0 /*EV*/, sizeof (ev)), ev) < 0) { + perror ("EVIOCGBIT 0"); + close (fd); + return BadMatch; + } + + ke = xalloc (sizeof (Kevdev)); + if (!ke) { + close (fd); + return BadAlloc; + } + memset (ke, '\0', sizeof (Kevdev)); + + if (!KdRegisterFd (fd, EvdevKbdRead, ki)) { + xfree (ke); + close (fd); + return BadAlloc; + } + ki->driverPrivate = ke; + ke->fd = fd; + + return Success; +} + +static void +EvdevKbdLeds (KdKeyboardInfo *ki, int leds) +{ +/* struct input_event event; + Kevdev *ke; + + ki->driverPrivate = ke; + + memset(&event, 0, sizeof(event)); + + event.type = EV_LED; + event.code = LED_CAPSL; + event.value = leds & (1 << 0) ? 1 : 0; + write(ke->fd, (char *) &event, sizeof(event)); + + event.type = EV_LED; + event.code = LED_NUML; + event.value = leds & (1 << 1) ? 1 : 0; + write(ke->fd, (char *) &event, sizeof(event)); + + event.type = EV_LED; + event.code = LED_SCROLLL; + event.value = leds & (1 << 2) ? 1 : 0; + write(ke->fd, (char *) &event, sizeof(event)); + + event.type = EV_LED; + event.code = LED_COMPOSE; + event.value = leds & (1 << 3) ? 1 : 0; + write(ke->fd, (char *) &event, sizeof(event)); +*/ +} + +static void +EvdevKbdBell (KdKeyboardInfo *ki, int volume, int frequency, int duration) +{ +} + +static void +EvdevKbdDisable (KdKeyboardInfo *ki) +{ + Kevdev *ke; + + ke = ki->driverPrivate; + + if (!ki || !ki->driverPrivate) + return; + + KdUnregisterFd (ki, ke->fd, TRUE); + xfree (ke); + ki->driverPrivate = 0; +} + +static void +EvdevKbdFini (KdKeyboardInfo *ki) +{ +} + +KdPointerDriver LinuxEvdevMouseDriver = { + "evdev", + EvdevPtrInit, + EvdevPtrEnable, + EvdevPtrDisable, + EvdevPtrFini, + NULL, }; -#if 0 -KdKeyboardFuncs LinuxEvdevKeyboardFuncs = { - EvdevKbdLoad, +KdKeyboardDriver LinuxEvdevKeyboardDriver = { + "evdev", EvdevKbdInit, + EvdevKbdEnable, EvdevKbdLeds, EvdevKbdBell, + EvdevKbdDisable, EvdevKbdFini, - 0, + NULL, }; -#endif diff --git a/xserver/hw/kdrive/linux/keyboard.c b/xserver/hw/kdrive/linux/keyboard.c index cfafbb38f..3193ab761 100644 --- a/xserver/hw/kdrive/linux/keyboard.c +++ b/xserver/hw/kdrive/linux/keyboard.c @@ -1,32 +1,39 @@ /* - * $RCSId: xc/programs/Xserver/hw/kdrive/linux/keyboard.c,v 1.10 2001/11/08 10:26:24 keithp Exp $ - * * Copyright © 1999 Keith Packard + * XKB integration © 2006 Nokia Corporation, author: Tomas Frydrych * - * Permission to use, copy, modify, distribute, and sell this software and its - * documentation for any purpose is hereby granted without fee, provided that - * the above copyright notice appear in all copies and that both that - * copyright notice and this permission notice appear in supporting - * documentation, and that the name of Keith Packard not be used in - * advertising or publicity pertaining to distribution of the software without - * specific, written prior permission. Keith Packard makes no - * representations about the suitability of this software for any purpose. It - * is provided "as is" without express or implied warranty. + * LinuxKeyboardRead() XKB code based on xf86KbdLnx.c: + * Copyright © 1990,91 by Thomas Roell, Dinkelscherben, Germany. + * Copyright © 1994-2001 by The XFree86 Project, Inc. * - * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, - * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO - * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR - * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, - * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER - * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - * PERFORMANCE OF THIS SOFTWARE. + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + * + * Except as contained in this notice, the name of the copyright holder(s) + * and author(s) shall not be used in advertising or otherwise to promote + * the sale, use or other dealings in this Software without prior written + * authorization from the copyright holder(s) and author(s). */ #ifdef HAVE_CONFIG_H #include #endif #include "kdrive.h" -#include "kkeymap.h" #include #include #define XK_PUBLISHING @@ -34,7 +41,7 @@ #include #include -extern int LinuxConsoleFd; +extern int LinuxConsoleFd; static const KeySym linux_to_x[256] = { NoSymbol, NoSymbol, NoSymbol, NoSymbol, @@ -103,7 +110,108 @@ static const KeySym linux_to_x[256] = { XK_udiaeresis, XK_yacute, XK_thorn, XK_ydiaeresis }; -static unsigned char tbl[KD_MAX_WIDTH] = +#ifdef XKB +/* + * Getting a keycode from scancode + * + * With XKB + * -------- + * + * We have to enqueue keyboard events using standard X keycodes which correspond + * to AT scancode + 8; this means that we need to translate the Linux scancode + * provided by the kernel to an AT scancode -- this translation is not linear + * and requires that we use a LUT. + * + * + * Without XKB + * ----------- + * + * We can use custom keycodes, which makes things simpler; we define our custom + * keycodes as Linux scancodes + KD_KEY_OFFSET +*/ + +/* + This LUT translates AT scancodes into Linux ones -- the keymap we create + for the core X keyboard protocol has to be AT-scancode based so that it + corresponds to the Xkb keymap. +*/ +static unsigned char at2lnx[] = +{ + 0x0, /* no valid scancode */ + 0x01, /* KEY_Escape */ 0x02, /* KEY_1 */ + 0x03, /* KEY_2 */ 0x04, /* KEY_3 */ + 0x05, /* KEY_4 */ 0x06, /* KEY_5 */ + 0x07, /* KEY_6 */ 0x08, /* KEY_7 */ + 0x09, /* KEY_8 */ 0x0a, /* KEY_9 */ + 0x0b, /* KEY_0 */ 0x0c, /* KEY_Minus */ + 0x0d, /* KEY_Equal */ 0x0e, /* KEY_BackSpace */ + 0x0f, /* KEY_Tab */ 0x10, /* KEY_Q */ + 0x11, /* KEY_W */ 0x12, /* KEY_E */ + 0x13, /* KEY_R */ 0x14, /* KEY_T */ + 0x15, /* KEY_Y */ 0x16, /* KEY_U */ + 0x17, /* KEY_I */ 0x18, /* KEY_O */ + 0x19, /* KEY_P */ 0x1a, /* KEY_LBrace */ + 0x1b, /* KEY_RBrace */ 0x1c, /* KEY_Enter */ + 0x1d, /* KEY_LCtrl */ 0x1e, /* KEY_A */ + 0x1f, /* KEY_S */ 0x20, /* KEY_D */ + 0x21, /* KEY_F */ 0x22, /* KEY_G */ + 0x23, /* KEY_H */ 0x24, /* KEY_J */ + 0x25, /* KEY_K */ 0x26, /* KEY_L */ + 0x27, /* KEY_SemiColon */ 0x28, /* KEY_Quote */ + 0x29, /* KEY_Tilde */ 0x2a, /* KEY_ShiftL */ + 0x2b, /* KEY_BSlash */ 0x2c, /* KEY_Z */ + 0x2d, /* KEY_X */ 0x2e, /* KEY_C */ + 0x2f, /* KEY_V */ 0x30, /* KEY_B */ + 0x31, /* KEY_N */ 0x32, /* KEY_M */ + 0x33, /* KEY_Comma */ 0x34, /* KEY_Period */ + 0x35, /* KEY_Slash */ 0x36, /* KEY_ShiftR */ + 0x37, /* KEY_KP_Multiply */ 0x38, /* KEY_Alt */ + 0x39, /* KEY_Space */ 0x3a, /* KEY_CapsLock */ + 0x3b, /* KEY_F1 */ 0x3c, /* KEY_F2 */ + 0x3d, /* KEY_F3 */ 0x3e, /* KEY_F4 */ + 0x3f, /* KEY_F5 */ 0x40, /* KEY_F6 */ + 0x41, /* KEY_F7 */ 0x42, /* KEY_F8 */ + 0x43, /* KEY_F9 */ 0x44, /* KEY_F10 */ + 0x45, /* KEY_NumLock */ 0x46, /* KEY_ScrollLock */ + 0x47, /* KEY_KP_7 */ 0x48, /* KEY_KP_8 */ + 0x49, /* KEY_KP_9 */ 0x4a, /* KEY_KP_Minus */ + 0x4b, /* KEY_KP_4 */ 0x4c, /* KEY_KP_5 */ + 0x4d, /* KEY_KP_6 */ 0x4e, /* KEY_KP_Plus */ + 0x4f, /* KEY_KP_1 */ 0x50, /* KEY_KP_2 */ + 0x51, /* KEY_KP_3 */ 0x52, /* KEY_KP_0 */ + 0x53, /* KEY_KP_Decimal */ 0x54, /* KEY_SysReqest */ + 0x00, /* 0x55 */ 0x56, /* KEY_Less */ + 0x57, /* KEY_F11 */ 0x58, /* KEY_F12 */ + 0x66, /* KEY_Home */ 0x67, /* KEY_Up */ + 0x68, /* KEY_PgUp */ 0x69, /* KEY_Left */ + 0x5d, /* KEY_Begin */ 0x6a, /* KEY_Right */ + 0x6b, /* KEY_End */ 0x6c, /* KEY_Down */ + 0x6d, /* KEY_PgDown */ 0x6e, /* KEY_Insert */ + 0x6f, /* KEY_Delete */ 0x60, /* KEY_KP_Enter */ + 0x61, /* KEY_RCtrl */ 0x77, /* KEY_Pause */ + 0x63, /* KEY_Print */ 0x62, /* KEY_KP_Divide */ + 0x64, /* KEY_AltLang */ 0x65, /* KEY_Break */ + 0x00, /* KEY_LMeta */ 0x00, /* KEY_RMeta */ + 0x7A, /* KEY_Menu/FOCUS_PF11*/0x00, /* 0x6e */ + 0x7B, /* FOCUS_PF12 */ 0x00, /* 0x70 */ + 0x00, /* 0x71 */ 0x00, /* 0x72 */ + 0x59, /* FOCUS_PF2 */ 0x78, /* FOCUS_PF9 */ + 0x00, /* 0x75 */ 0x00, /* 0x76 */ + 0x5A, /* FOCUS_PF3 */ 0x5B, /* FOCUS_PF4 */ + 0x5C, /* FOCUS_PF5 */ 0x5D, /* FOCUS_PF6 */ + 0x5E, /* FOCUS_PF7 */ 0x5F, /* FOCUS_PF8 */ + 0x7C, /* JAP_86 */ 0x79, /* FOCUS_PF10 */ + 0x00, /* 0x7f */ +}; + +#define NUM_AT_KEYS (sizeof(at2lnx)/sizeof(at2lnx[0])) +#define LNX_KEY_INDEX(n) n < NUM_AT_KEYS ? at2lnx[n] : 0 + +#else /* not XKB */ +#define LNX_KEY_INDEX(n) n +#endif + +static unsigned char tbl[KD_MAX_WIDTH] = { 0, 1 << KG_SHIFT, @@ -112,24 +220,31 @@ static unsigned char tbl[KD_MAX_WIDTH] = }; static void -readKernelMapping(void) +readKernelMapping(KdKeyboardInfo *ki) { KeySym *k; int i, j; struct kbentry kbe; int minKeyCode, maxKeyCode; int row; + int fd; + if (!ki) + return; + + fd = LinuxConsoleFd; + minKeyCode = NR_KEYS; maxKeyCode = 0; row = 0; + ki->keySyms.mapWidth = KD_MAX_WIDTH; for (i = 0; i < NR_KEYS && row < KD_MAX_LENGTH; ++i) { - kbe.kb_index = i; + kbe.kb_index = LNX_KEY_INDEX(i); - k = kdKeymap + row * KD_MAX_WIDTH; + k = ki->keySyms.map + row * ki->keySyms.mapWidth; - for (j = 0; j < KD_MAX_WIDTH; ++j) + for (j = 0; j < ki->keySyms.mapWidth; ++j) { unsigned short kval; @@ -137,7 +252,7 @@ readKernelMapping(void) kbe.kb_table = tbl[j]; kbe.kb_value = 0; - if (ioctl(LinuxConsoleFd, KDGKBENT, &kbe)) + if (ioctl(fd, KDGKBENT, &kbe)) continue; kval = KVAL(kbe.kb_value); @@ -362,7 +477,7 @@ readKernelMapping(void) if (minKeyCode == NR_KEYS) continue; - + if (k[3] == k[2]) k[3] = NoSymbol; if (k[2] == k[1]) k[2] = NoSymbol; if (k[1] == k[0]) k[1] = NoSymbol; @@ -370,28 +485,223 @@ readKernelMapping(void) if (k[3] == k[0] && k[2] == k[1] && k[2] == NoSymbol) k[3] =NoSymbol; row++; } - kdMinScanCode = minKeyCode; - kdMaxScanCode = maxKeyCode; + ki->minScanCode = minKeyCode; + ki->maxScanCode = maxKeyCode; } -static void -LinuxKeyboardLoad (void) -{ - readKernelMapping (); -} +#ifdef XKB + +/* + * We need these to handle extended scancodes correctly (I could just use the + * numbers below, but this makes the code more readable + */ + +/* The prefix codes */ +#define KEY_Prefix0 /* special 0x60 */ 96 +#define KEY_Prefix1 /* special 0x61 */ 97 + +/* The raw scancodes */ +#define KEY_Enter /* Enter 0x1c */ 28 +#define KEY_LCtrl /* Ctrl(left) 0x1d */ 29 +#define KEY_Slash /* / (Slash) ? 0x35 */ 53 +#define KEY_KP_Multiply /* * 0x37 */ 55 +#define KEY_Alt /* Alt(left) 0x38 */ 56 +#define KEY_F3 /* F3 0x3d */ 61 +#define KEY_F4 /* F4 0x3e */ 62 +#define KEY_F5 /* F5 0x3f */ 63 +#define KEY_F6 /* F6 0x40 */ 64 +#define KEY_F7 /* F7 0x41 */ 65 +#define KEY_ScrollLock /* ScrollLock 0x46 */ 70 +#define KEY_KP_7 /* 7 Home 0x47 */ 71 +#define KEY_KP_8 /* 8 Up 0x48 */ 72 +#define KEY_KP_9 /* 9 PgUp 0x49 */ 73 +#define KEY_KP_Minus /* - (Minus) 0x4a */ 74 +#define KEY_KP_4 /* 4 Left 0x4b */ 75 +#define KEY_KP_5 /* 5 0x4c */ 76 +#define KEY_KP_6 /* 6 Right 0x4d */ 77 +#define KEY_KP_Plus /* + (Plus) 0x4e */ 78 +#define KEY_KP_1 /* 1 End 0x4f */ 79 +#define KEY_KP_2 /* 2 Down 0x50 */ 80 +#define KEY_KP_3 /* 3 PgDown 0x51 */ 81 +#define KEY_KP_0 /* 0 Insert 0x52 */ 82 +#define KEY_KP_Decimal /* . (Decimal) Delete 0x53 */ 83 +#define KEY_Home /* Home 0x59 */ 89 +#define KEY_Up /* Up 0x5a */ 90 +#define KEY_PgUp /* PgUp 0x5b */ 91 +#define KEY_Left /* Left 0x5c */ 92 +#define KEY_Begin /* Begin 0x5d */ 93 +#define KEY_Right /* Right 0x5e */ 94 +#define KEY_End /* End 0x5f */ 95 +#define KEY_Down /* Down 0x60 */ 96 +#define KEY_PgDown /* PgDown 0x61 */ 97 +#define KEY_Insert /* Insert 0x62 */ 98 +#define KEY_Delete /* Delete 0x63 */ 99 +#define KEY_KP_Enter /* Enter 0x64 */ 100 +#define KEY_RCtrl /* Ctrl(right) 0x65 */ 101 +#define KEY_Pause /* Pause 0x66 */ 102 +#define KEY_Print /* Print 0x67 */ 103 +#define KEY_KP_Divide /* Divide 0x68 */ 104 +#define KEY_AltLang /* AtlLang(right) 0x69 */ 105 +#define KEY_Break /* Break 0x6a */ 106 +#define KEY_LMeta /* Left Meta 0x6b */ 107 +#define KEY_RMeta /* Right Meta 0x6c */ 108 +#define KEY_Menu /* Menu 0x6d */ 109 +#define KEY_F13 /* F13 0x6e */ 110 +#define KEY_F14 /* F14 0x6f */ 111 +#define KEY_F15 /* F15 0x70 */ 112 +#define KEY_F16 /* F16 0x71 */ 113 +#define KEY_F17 /* F17 0x72 */ 114 +#define KEY_KP_DEC /* KP_DEC 0x73 */ 115 + +#endif /* XKB */ + static void LinuxKeyboardRead (int fd, void *closure) { unsigned char buf[256], *b; int n; + unsigned char prefix = 0, scancode = 0; - while ((n = read (fd, buf, sizeof (buf))) > 0) - { + while ((n = read (fd, buf, sizeof (buf))) > 0) { b = buf; - while (n--) - { - KdEnqueueKeyboardEvent (b[0] & 0x7f, b[0] & 0x80); + while (n--) { +#ifdef XKB + if (!noXkbExtension) { + /* + * With xkb we use RAW mode for reading the console, which allows us + * process extended scancodes. + * + * See if this is a prefix extending the following keycode + */ + if (!prefix && ((b[0] & 0x7f) == KEY_Prefix0)) + { + prefix = KEY_Prefix0; +#ifdef DEBUG + ErrorF("Prefix0"); +#endif + /* swallow this up */ + b++; + continue; + } + else if (!prefix && ((b[0] & 0x7f) == KEY_Prefix1)) + { + prefix = KEY_Prefix1; + ErrorF("Prefix1"); + /* swallow this up */ + b++; + continue; + } + scancode = b[0] & 0x7f; + + switch (prefix) { + /* from xf86Events.c */ + case KEY_Prefix0: + { +#ifdef DEBUG + ErrorF("Prefix0 scancode: 0x%02x\n", scancode); +#endif + switch (scancode) { + case KEY_KP_7: + scancode = KEY_Home; break; /* curs home */ + case KEY_KP_8: + scancode = KEY_Up; break; /* curs up */ + case KEY_KP_9: + scancode = KEY_PgUp; break; /* curs pgup */ + case KEY_KP_4: + scancode = KEY_Left; break; /* curs left */ + case KEY_KP_5: + scancode = KEY_Begin; break; /* curs begin */ + case KEY_KP_6: + scancode = KEY_Right; break; /* curs right */ + case KEY_KP_1: + scancode = KEY_End; break; /* curs end */ + case KEY_KP_2: + scancode = KEY_Down; break; /* curs down */ + case KEY_KP_3: + scancode = KEY_PgDown; break; /* curs pgdown */ + case KEY_KP_0: + scancode = KEY_Insert; break; /* curs insert */ + case KEY_KP_Decimal: + scancode = KEY_Delete; break; /* curs delete */ + case KEY_Enter: + scancode = KEY_KP_Enter; break; /* keypad enter */ + case KEY_LCtrl: + scancode = KEY_RCtrl; break; /* right ctrl */ + case KEY_KP_Multiply: + scancode = KEY_Print; break; /* print */ + case KEY_Slash: + scancode = KEY_KP_Divide; break; /* keyp divide */ + case KEY_Alt: + scancode = KEY_AltLang; break; /* right alt */ + case KEY_ScrollLock: + scancode = KEY_Break; break; /* curs break */ + case 0x5b: + scancode = KEY_LMeta; break; + case 0x5c: + scancode = KEY_RMeta; break; + case 0x5d: + scancode = KEY_Menu; break; + case KEY_F3: + scancode = KEY_F13; break; + case KEY_F4: + scancode = KEY_F14; break; + case KEY_F5: + scancode = KEY_F15; break; + case KEY_F6: + scancode = KEY_F16; break; + case KEY_F7: + scancode = KEY_F17; break; + case KEY_KP_Plus: + scancode = KEY_KP_DEC; break; + /* Ignore virtual shifts (E0 2A, E0 AA, E0 36, E0 B6) */ + case 0x2A: + case 0x36: + b++; + prefix = 0; + continue; + default: +#ifdef DEBUG + ErrorF("Unreported Prefix0 scancode: 0x%02x\n", + scancode); +#endif + /* + * "Internet" keyboards are generating lots of new + * codes. Let them pass. There is little consistency + * between them, so don't bother with symbolic names at + * this level. + */ + scancode += 0x78; + } + break; + } + + case KEY_Prefix1: + { + /* we do no handle these */ +#ifdef DEBUG + ErrorF("Prefix1 scancode: 0x%02x\n", scancode); +#endif + b++; + prefix = 0; + continue; + } + + default: /* should not happen*/ + case 0: /* do nothing */ +#ifdef DEBUG + ErrorF("Plain scancode: 0x%02x\n", scancode); +#endif + ; + } + + prefix = 0; + } + /* without xkb we use mediumraw mode -- enqueue the scancode as is */ + else +#endif + scancode = b[0] & 0x7f; + KdEnqueueKeyboardEvent (closure, scancode, b[0] & 0x80); b++; } } @@ -399,19 +709,30 @@ LinuxKeyboardRead (int fd, void *closure) static int LinuxKbdTrans; static struct termios LinuxTermios; -static int LinuxKbdType; -static int -LinuxKeyboardEnable (int fd, void *closure) +static Status +LinuxKeyboardEnable (KdKeyboardInfo *ki) { struct termios nTty; unsigned char buf[256]; int n; + int fd; + + if (!ki) + return !Success; + + fd = LinuxConsoleFd; + ki->driverPrivate = (void *) fd; ioctl (fd, KDGKBMODE, &LinuxKbdTrans); tcgetattr (fd, &LinuxTermios); - - ioctl(fd, KDSKBMODE, K_MEDIUMRAW); +#ifdef XKB + if (!noXkbExtension) + ioctl(fd, KDSKBMODE, K_RAW); + else +#else + ioctl(fd, KDSKBMODE, K_MEDIUMRAW); +#endif nTty = LinuxTermios; nTty.c_iflag = (IGNPAR | IGNBRK) & (~PARMRK) & (~ISTRIP); nTty.c_oflag = 0; @@ -427,61 +748,56 @@ LinuxKeyboardEnable (int fd, void *closure) */ while ((n = read (fd, buf, sizeof (buf))) > 0) ; - return fd; + KdRegisterFd (fd, LinuxKeyboardRead, ki); + return Success; } static void -LinuxKeyboardDisable (int fd, void *closure) +LinuxKeyboardDisable (KdKeyboardInfo *ki) { - ioctl(LinuxConsoleFd, KDSKBMODE, LinuxKbdTrans); - tcsetattr(LinuxConsoleFd, TCSANOW, &LinuxTermios); + int fd; + + if (!ki) + return; + + fd = (int) ki->driverPrivate; + + KdUnregisterFd(ki, fd, FALSE); + ioctl(fd, KDSKBMODE, LinuxKbdTrans); + tcsetattr(fd, TCSANOW, &LinuxTermios); } -static int -LinuxKeyboardInit (void) +static Status +LinuxKeyboardInit (KdKeyboardInfo *ki) { - if (!LinuxKbdType) - LinuxKbdType = KdAllocInputType (); + if (!ki) + return !Success; - KdRegisterFd (LinuxKbdType, LinuxConsoleFd, LinuxKeyboardRead, 0); - LinuxKeyboardEnable (LinuxConsoleFd, 0); - KdRegisterFdEnableDisable (LinuxConsoleFd, - LinuxKeyboardEnable, - LinuxKeyboardDisable); - return 1; + if (ki->path) + xfree(ki->path); + ki->path = KdSaveString("console"); + if (ki->name) + xfree(ki->name); + ki->name = KdSaveString("Linux console keyboard"); + + readKernelMapping (ki); + + return Success; } static void -LinuxKeyboardFini (void) +LinuxKeyboardLeds (KdKeyboardInfo *ki, int leds) { - LinuxKeyboardDisable (LinuxConsoleFd, 0); - KdUnregisterFds (LinuxKbdType, FALSE); + if (!ki) + return; + + ioctl ((int)ki->driverPrivate, KDSETLED, leds & 7); } -static void -LinuxKeyboardLeds (int leds) -{ - ioctl (LinuxConsoleFd, KDSETLED, leds & 7); -} - -static void -LinuxKeyboardBell (int volume, int pitch, int duration) -{ - if (volume && pitch) - { - ioctl(LinuxConsoleFd, KDMKTONE, - ((1193190 / pitch) & 0xffff) | - (((unsigned long)duration * - volume / 50) << 16)); - - } -} - -KdKeyboardFuncs LinuxKeyboardFuncs = { - LinuxKeyboardLoad, - LinuxKeyboardInit, - LinuxKeyboardLeds, - LinuxKeyboardBell, - LinuxKeyboardFini, - 3, +KdKeyboardDriver LinuxKeyboardDriver = { + "keyboard", + .Init = LinuxKeyboardInit, + .Enable = LinuxKeyboardEnable, + .Leds = LinuxKeyboardLeds, + .Disable = LinuxKeyboardDisable, }; diff --git a/xserver/hw/kdrive/linux/klinux.h b/xserver/hw/kdrive/linux/klinux.h index 924994c70..349685241 100644 --- a/xserver/hw/kdrive/linux/klinux.h +++ b/xserver/hw/kdrive/linux/klinux.h @@ -1,6 +1,4 @@ /* - * $Id: klinux.h,v 1.1.1.1 2006/11/26 18:22:14 matthieu Exp $ - * * Copyright © 2003 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its diff --git a/xserver/hw/kdrive/linux/linux.c b/xserver/hw/kdrive/linux/linux.c index be11ec539..23cd8f59f 100644 --- a/xserver/hw/kdrive/linux/linux.c +++ b/xserver/hw/kdrive/linux/linux.c @@ -1,6 +1,4 @@ /* - * $RCSId: xc/programs/Xserver/hw/kdrive/linux/linux.c,v 1.6 2001/07/24 21:26:17 keithp Exp $ - * * Copyright © 1999 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its @@ -373,26 +371,6 @@ LinuxEnable (void) enabled = TRUE; } -static Bool -LinuxSpecialKey (KeySym sym) -{ - struct vt_stat vts; - int con; - - if (XK_F1 <= sym && sym <= XK_F12) - { - con = sym - XK_F1 + 1; - memset (&vts, '\0', sizeof (vts)); /* valgrind */ - ioctl (LinuxConsoleFd, VT_GETSTATE, &vts); - if (con != vts.v_active && (vts.v_state & (1 << con))) - { - ioctl (LinuxConsoleFd, VT_ACTIVATE, con); - return TRUE; - } - } - return FALSE; -} - static void LinuxDisable (void) { @@ -456,6 +434,7 @@ LinuxFini (void) } } close(LinuxConsoleFd); /* make the vt-manager happy */ + LinuxConsoleFd = -1; fd = open ("/dev/tty0", O_RDWR|O_NDELAY, 0); if (fd >= 0) { @@ -468,13 +447,34 @@ LinuxFini (void) return; } +void +KdOsAddInputDrivers () +{ + KdAddPointerDriver(&LinuxMouseDriver); + KdAddPointerDriver(&MsMouseDriver); + KdAddPointerDriver(&Ps2MouseDriver); +#ifdef TSLIB + KdAddPointerDriver(&TsDriver); +#endif + KdAddPointerDriver(&LinuxEvdevMouseDriver); + KdAddKeyboardDriver(&LinuxKeyboardDriver); + KdAddKeyboardDriver(&LinuxEvdevKeyboardDriver); +} + +static void +LinuxBell(int volume, int pitch, int duration) +{ + if (volume && pitch) + ioctl(LinuxConsoleFd, KDMKTONE, ((1193190 / pitch) & 0xffff) | + (((unsigned long)duration * volume / 50) << 16)); +} + KdOsFuncs LinuxFuncs = { - LinuxInit, - LinuxEnable, - LinuxSpecialKey, - LinuxDisable, - LinuxFini, - 0 + .Init = LinuxInit, + .Enable = LinuxEnable, + .Disable = LinuxDisable, + .Fini = LinuxFini, + .Bell = LinuxBell, }; void diff --git a/xserver/hw/kdrive/linux/mouse.c b/xserver/hw/kdrive/linux/mouse.c index 5fe997864..1965342b8 100644 --- a/xserver/hw/kdrive/linux/mouse.c +++ b/xserver/hw/kdrive/linux/mouse.c @@ -1,6 +1,4 @@ /* - * $RCSId: xc/programs/Xserver/hw/kdrive/linux/mouse.c,v 1.6 2002/08/02 16:11:35 keithp Exp $ - * * Copyright © 2001 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its @@ -206,10 +204,10 @@ MouseWriteBytes (int fd, unsigned char *c, int n, int timeout) typedef struct _kmouseProt { char *name; - Bool (*Complete) (KdMouseInfo *mi, unsigned char *ev, int ne); - int (*Valid) (KdMouseInfo *mi, unsigned char *ev, int ne); - Bool (*Parse) (KdMouseInfo *mi, unsigned char *ev, int ne); - Bool (*Init) (KdMouseInfo *mi); + Bool (*Complete) (KdPointerInfo *pi, unsigned char *ev, int ne); + int (*Valid) (KdPointerInfo *pi, unsigned char *ev, int ne); + Bool (*Parse) (KdPointerInfo *pi, unsigned char *ev, int ne); + Bool (*Init) (KdPointerInfo *pi); unsigned char headerMask, headerValid; unsigned char dataMask, dataValid; Bool tty; @@ -238,9 +236,9 @@ typedef struct _kmouse { unsigned long state; /* private per protocol, init to prot->state */ } Kmouse; -static int mouseValid (KdMouseInfo *mi, unsigned char *ev, int ne) +static int mouseValid (KdPointerInfo *pi, unsigned char *ev, int ne) { - Kmouse *km = mi->driver; + Kmouse *km = pi->driverPrivate; const KmouseProt *prot = km->prot; int i; @@ -255,24 +253,24 @@ static int mouseValid (KdMouseInfo *mi, unsigned char *ev, int ne) return 0; } -static Bool threeComplete (KdMouseInfo *mi, unsigned char *ev, int ne) +static Bool threeComplete (KdPointerInfo *pi, unsigned char *ev, int ne) { return ne == 3; } -static Bool fourComplete (KdMouseInfo *mi, unsigned char *ev, int ne) +static Bool fourComplete (KdPointerInfo *pi, unsigned char *ev, int ne) { return ne == 4; } -static Bool fiveComplete (KdMouseInfo *mi, unsigned char *ev, int ne) +static Bool fiveComplete (KdPointerInfo *pi, unsigned char *ev, int ne) { return ne == 5; } -static Bool MouseReasonable (KdMouseInfo *mi, unsigned long flags, int dx, int dy) +static Bool MouseReasonable (KdPointerInfo *pi, unsigned long flags, int dx, int dy) { - Kmouse *km = mi->driver; + Kmouse *km = pi->driverPrivate; if (km->stage == MouseWorking) return TRUE; @@ -296,9 +294,9 @@ static Bool MouseReasonable (KdMouseInfo *mi, unsigned long flags, int dx, int d /* * Standard PS/2 mouse protocol */ -static Bool ps2Parse (KdMouseInfo *mi, unsigned char *ev, int ne) +static Bool ps2Parse (KdPointerInfo *pi, unsigned char *ev, int ne) { - Kmouse *km = mi->driver; + Kmouse *km = pi->driverPrivate; int dx, dy, dz; unsigned long flags; unsigned long flagsrelease = 0; @@ -333,21 +331,21 @@ static Bool ps2Parse (KdMouseInfo *mi, unsigned char *ev, int ne) if (ev[0] & 0x20) dy -= 256; dy = -dy; - if (!MouseReasonable (mi, flags, dx, dy)) + if (!MouseReasonable (pi, flags, dx, dy)) return FALSE; if (km->stage == MouseWorking) { - KdEnqueueMouseEvent (mi, flags, dx, dy); + KdEnqueuePointerEvent (pi, flags, dx, dy, 0); if (flagsrelease) { flags &= ~flagsrelease; - KdEnqueueMouseEvent (mi, flags, dx, dy); + KdEnqueuePointerEvent (pi, flags, dx, dy, 0); } } return TRUE; } -static Bool ps2Init (KdMouseInfo *mi); +static Bool ps2Init (KdPointerInfo *pi); static const KmouseProt ps2Prot = { "ps/2", @@ -450,9 +448,9 @@ static unsigned char intelli_init[] = { #define NINIT_INTELLI 3 static int -ps2SkipInit (KdMouseInfo *mi, int ninit, Bool ret_next) +ps2SkipInit (KdPointerInfo *pi, int ninit, Bool ret_next) { - Kmouse *km = mi->driver; + Kmouse *km = pi->driverPrivate; int c = -1; int skipping; Bool waiting; @@ -481,9 +479,9 @@ ps2SkipInit (KdMouseInfo *mi, int ninit, Bool ret_next) } static Bool -ps2Init (KdMouseInfo *mi) +ps2Init (KdPointerInfo *pi) { - Kmouse *km = mi->driver; + Kmouse *km = pi->driverPrivate; int skipping; Bool waiting; int id; @@ -499,7 +497,7 @@ ps2Init (KdMouseInfo *mi) return FALSE; skipping = 0; waiting = FALSE; - id = ps2SkipInit (mi, 0, TRUE); + id = ps2SkipInit (pi, 0, TRUE); switch (id) { case 3: init = wheel_3button_init; @@ -524,13 +522,13 @@ ps2Init (KdMouseInfo *mi) * initialization string. Make sure any partial event is * skipped */ - (void) ps2SkipInit (mi, ninit, FALSE); + (void) ps2SkipInit (pi, ninit, FALSE); return TRUE; } -static Bool busParse (KdMouseInfo *mi, unsigned char *ev, int ne) +static Bool busParse (KdPointerInfo *pi, unsigned char *ev, int ne) { - Kmouse *km = mi->driver; + Kmouse *km = pi->driverPrivate; int dx, dy; unsigned long flags; @@ -543,10 +541,10 @@ static Bool busParse (KdMouseInfo *mi, unsigned char *ev, int ne) flags |= KD_BUTTON_2; if ((ev[0] & 1) == 0) flags |= KD_BUTTON_3; - if (!MouseReasonable (mi, flags, dx, dy)) + if (!MouseReasonable (pi, flags, dx, dy)) return FALSE; if (km->stage == MouseWorking) - KdEnqueueMouseEvent (mi, flags, dx, dy); + KdEnqueuePointerEvent (pi, flags, dx, dy, 0); return TRUE; } @@ -561,9 +559,9 @@ static const KmouseProt busProt = { * Standard MS serial protocol, three bytes */ -static Bool msParse (KdMouseInfo *mi, unsigned char *ev, int ne) +static Bool msParse (KdPointerInfo *pi, unsigned char *ev, int ne) { - Kmouse *km = mi->driver; + Kmouse *km = pi->driverPrivate; int dx, dy; unsigned long flags; @@ -576,10 +574,10 @@ static Bool msParse (KdMouseInfo *mi, unsigned char *ev, int ne) dx = (signed char)(((ev[0] & 0x03) << 6) | (ev[1] & 0x3F)); dy = (signed char)(((ev[0] & 0x0C) << 4) | (ev[2] & 0x3F)); - if (!MouseReasonable (mi, flags, dx, dy)) + if (!MouseReasonable (pi, flags, dx, dy)) return FALSE; if (km->stage == MouseWorking) - KdEnqueueMouseEvent (mi, flags, dx, dy); + KdEnqueuePointerEvent (pi, flags, dx, dy, 0); return TRUE; } @@ -600,9 +598,9 @@ static const KmouseProt msProt = { * first byte of a synchronized protocol stream and see if it's got * any bits turned on that can't occur in that fourth byte */ -static Bool logiComplete (KdMouseInfo *mi, unsigned char *ev, int ne) +static Bool logiComplete (KdPointerInfo *pi, unsigned char *ev, int ne) { - Kmouse *km = mi->driver; + Kmouse *km = pi->driverPrivate; if ((ev[0] & 0x40) == 0x40) return ne == 3; @@ -611,9 +609,9 @@ static Bool logiComplete (KdMouseInfo *mi, unsigned char *ev, int ne) return FALSE; } -static int logiValid (KdMouseInfo *mi, unsigned char *ev, int ne) +static int logiValid (KdPointerInfo *pi, unsigned char *ev, int ne) { - Kmouse *km = mi->driver; + Kmouse *km = pi->driverPrivate; const KmouseProt *prot = km->prot; int i; @@ -632,9 +630,9 @@ static int logiValid (KdMouseInfo *mi, unsigned char *ev, int ne) return 0; } -static Bool logiParse (KdMouseInfo *mi, unsigned char *ev, int ne) +static Bool logiParse (KdPointerInfo *pi, unsigned char *ev, int ne) { - Kmouse *km = mi->driver; + Kmouse *km = pi->driverPrivate; int dx, dy; unsigned long flags; @@ -660,10 +658,10 @@ static Bool logiParse (KdMouseInfo *mi, unsigned char *ev, int ne) flags |= km->state & (KD_BUTTON_1|KD_BUTTON_3); } - if (!MouseReasonable (mi, flags, dx, dy)) + if (!MouseReasonable (pi, flags, dx, dy)) return FALSE; if (km->stage == MouseWorking) - KdEnqueueMouseEvent (mi, flags, dx, dy); + KdEnqueuePointerEvent (pi, flags, dx, dy, 0); return TRUE; } @@ -682,9 +680,9 @@ static const KmouseProt logiProt = { /* * Mouse systems protocol, 5 bytes */ -static Bool mscParse (KdMouseInfo *mi, unsigned char *ev, int ne) +static Bool mscParse (KdPointerInfo *pi, unsigned char *ev, int ne) { - Kmouse *km = mi->driver; + Kmouse *km = pi->driverPrivate; int dx, dy; unsigned long flags; @@ -699,10 +697,10 @@ static Bool mscParse (KdMouseInfo *mi, unsigned char *ev, int ne) dx = (signed char)(ev[1]) + (signed char)(ev[3]); dy = - ((signed char)(ev[2]) + (signed char)(ev[4])); - if (!MouseReasonable (mi, flags, dx, dy)) + if (!MouseReasonable (pi, flags, dx, dy)) return FALSE; if (km->stage == MouseWorking) - KdEnqueueMouseEvent (mi, flags, dx, dy); + KdEnqueuePointerEvent (pi, flags, dx, dy, 0); return TRUE; } @@ -810,8 +808,8 @@ MouseNextProtocol (Kmouse *km) static void MouseRead (int mousePort, void *closure) { - KdMouseInfo *mi = closure; - Kmouse *km = mi->driver; + KdPointerInfo *pi = closure; + Kmouse *km = pi->driverPrivate; unsigned char event[MAX_MOUSE]; int ne; int c; @@ -835,7 +833,7 @@ MouseRead (int mousePort, void *closure) break; } event[ne++] = c; - i = (*km->prot->Valid) (mi, event, ne); + i = (*km->prot->Valid) (pi, event, ne); if (i != 0) { #ifdef DEBUG @@ -867,9 +865,9 @@ MouseRead (int mousePort, void *closure) } else { - if ((*km->prot->Complete) (mi, event, ne)) + if ((*km->prot->Complete) (pi, event, ne)) { - if ((*km->prot->Parse) (mi, event, ne)) + if ((*km->prot->Parse) (pi, event, ne)) { switch (km->stage) { @@ -896,7 +894,7 @@ MouseRead (int mousePort, void *closure) km->invalid = 0; km->tested = 0; km->valid = 0; - if (km->prot->Init && !(*km->prot->Init) (mi)) + if (km->prot->Init && !(*km->prot->Init) (pi)) km->stage = MouseBroken; } break; @@ -923,9 +921,9 @@ MouseRead (int mousePort, void *closure) int MouseInputType; char *kdefaultMouse[] = { + "/dev/input/mice", "/dev/mouse", "/dev/psaux", - "/dev/input/mice", "/dev/adbmouse", "/dev/ttyS0", "/dev/ttyS1", @@ -933,81 +931,97 @@ char *kdefaultMouse[] = { #define NUM_DEFAULT_MOUSE (sizeof (kdefaultMouse) / sizeof (kdefaultMouse[0])) -static Bool -MouseInit (void) +static Status +MouseInit (KdPointerInfo *pi) { int i; int fd; Kmouse *km; - KdMouseInfo *mi, *next; - int n = 0; - char *prot; - if (!MouseInputType) - MouseInputType = KdAllocInputType (); - - for (mi = kdMouseInfo; mi; mi = next) - { - next = mi->next; - prot = mi->prot; - if (mi->inputType) - continue; - if (!mi->name) - { - for (i = 0; i < NUM_DEFAULT_MOUSE; i++) - { - fd = open (kdefaultMouse[i], 2); - if (fd >= 0) - { - mi->name = KdSaveString (kdefaultMouse[i]); - break; - } - } - } - else - fd = open (mi->name, 2); - - if (fd >= 0) - { - km = (Kmouse *) xalloc (sizeof (Kmouse)); - if (km) - { - km->iob.fd = fd; - km->iob.avail = km->iob.used = 0; - km->prot = 0; - km->i_prot = 0; - km->tty = isatty (fd); - mi->driver = km; - mi->inputType = MouseInputType; - MouseFirstProtocol (km, mi->prot); - if (KdRegisterFd (MouseInputType, fd, MouseRead, (void *) mi)) - n++; - } - else - close (fd); - } + if (!pi) + return BadImplementation; + + if (!pi->path || strcmp(pi->path, "auto") == 0) { + for (i = 0; i < NUM_DEFAULT_MOUSE; i++) { + fd = open (kdefaultMouse[i], 2); + if (fd >= 0) { + pi->path = KdSaveString (kdefaultMouse[i]); + break; + } + } } - return TRUE; + else { + fd = open (pi->path, 2); + } + + if (fd < 0) + return BadMatch; + + close(fd); + + km = (Kmouse *) xalloc (sizeof (Kmouse)); + if (km) { + km->iob.avail = km->iob.used = 0; + MouseFirstProtocol(km, "exps/2"); + km->i_prot = 0; + km->tty = isatty (fd); + km->iob.fd = -1; + pi->driverPrivate = km; + } + else { + close (fd); + return BadAlloc; + } + + return Success; +} + +static Status +MouseEnable (KdPointerInfo *pi) +{ + Kmouse *km; + + if (!pi || !pi->driverPrivate || !pi->path) + return BadImplementation; + + km = pi->driverPrivate; + + km->iob.fd = open(pi->path, 2); + if (km->iob.fd < 0) + return BadMatch; + + if (!KdRegisterFd (km->iob.fd, MouseRead, pi)) + { + close(km->iob.fd); + return BadAlloc; + } + + return Success; } static void -MouseFini (void) +MouseDisable (KdPointerInfo *pi) { - KdMouseInfo *mi; - - KdUnregisterFds (MouseInputType, TRUE); - for (mi = kdMouseInfo; mi; mi = mi->next) - { - if (mi->inputType == MouseInputType) - { - xfree (mi->driver); - mi->driver = 0; - mi->inputType = 0; - } - } + Kmouse *km; + if (!pi || !pi->driverPrivate) + return; + + km = pi->driverPrivate; + KdUnregisterFd (pi, km->iob.fd, TRUE); } -KdMouseFuncs LinuxMouseFuncs = { +static void +MouseFini (KdPointerInfo *pi) +{ + xfree (pi->driverPrivate); + pi->driverPrivate = NULL; +} + +KdPointerDriver LinuxMouseDriver = { + "mouse", MouseInit, + MouseEnable, + MouseDisable, MouseFini, + NULL, }; diff --git a/xserver/hw/kdrive/linux/ms.c b/xserver/hw/kdrive/linux/ms.c index 7f046bdc3..d0b47a3ee 100644 --- a/xserver/hw/kdrive/linux/ms.c +++ b/xserver/hw/kdrive/linux/ms.c @@ -20,7 +20,6 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/* $RCSId: xc/programs/Xserver/hw/kdrive/linux/ms.c,v 1.1 2001/08/09 20:45:15 dawes Exp $ */ #ifdef HAVE_CONFIG_H #include @@ -90,41 +89,50 @@ MsRead (int port, void *closure) dy = (char)(((b[0] & 0x0C) << 4) | (b[2] & 0x3F)); n -= 3; b += 3; - KdEnqueueMouseEvent (kdMouseInfo, flags, dx, dy); + KdEnqueuePointerEvent (closure, flags, dx, dy, 0); } } } -int MsInputType; +static Status +MsInit (KdPointerInfo *pi) +{ + if (!pi) + return BadImplementation; -static int -MsInit (void) + if (!pi->path || strcmp(pi->path, "auto")) + pi->path = KdSaveString("/dev/mouse"); + if (!pi->name) + pi->name = KdSaveString("Microsoft protocol mouse"); + + return Success; +} + +static Status +MsEnable (KdPointerInfo *pi) { int port; - char *device = "/dev/mouse"; struct termios t; int ret; - if (!MsInputType) - MsInputType = KdAllocInputType (); - port = open (device, O_RDWR | O_NONBLOCK); + port = open (pi->path, O_RDWR | O_NONBLOCK); if(port < 0) { - ErrorF("Couldn't open %s (%d)\n", device, (int)errno); + ErrorF("Couldn't open %s (%d)\n", pi->path, (int)errno); return 0; } else if (port == 0) { ErrorF("Opening %s returned 0! Please complain to Keith.\n", - device); + pi->path); goto bail; } if(!isatty(port)) { - ErrorF("%s is not a tty\n", device); + ErrorF("%s is not a tty\n", pi->path); goto bail; } ret = tcgetattr(port, &t); if(ret < 0) { - ErrorF("Couldn't tcgetattr(%s): %d\n", device, errno); + ErrorF("Couldn't tcgetattr(%s): %d\n", pi->path, errno); goto bail; } t.c_iflag &= ~ (IGNBRK | BRKINT | PARMRK | ISTRIP | INLCR | @@ -140,24 +148,36 @@ MsInit (void) t.c_cc[VTIME] = 0; ret = tcsetattr(port, TCSANOW, &t); if(ret < 0) { - ErrorF("Couldn't tcsetattr(%s): %d\n", device, errno); + ErrorF("Couldn't tcsetattr(%s): %d\n", pi->path, errno); goto bail; } - if (KdRegisterFd (MsInputType, port, MsRead, (void *) 0)) - return 1; + if (KdRegisterFd (port, MsRead, pi)) + return TRUE; + pi->driverPrivate = (void *)port; + + return Success; bail: close(port); - return 0; + return BadMatch; } static void -MsFini (void) +MsDisable (KdPointerInfo *pi) { - KdUnregisterFds (MsInputType, TRUE); + KdUnregisterFd (pi, (int)pi->driverPrivate, TRUE); } -KdMouseFuncs MsMouseFuncs = { +static void +MsFini (KdPointerInfo *pi) +{ +} + +KdPointerDriver MsMouseDriver = { + "ms", MsInit, - MsFini + MsEnable, + MsDisable, + MsFini, + NULL, }; diff --git a/xserver/hw/kdrive/linux/ps2.c b/xserver/hw/kdrive/linux/ps2.c index b59dbfac7..d361e82a1 100644 --- a/xserver/hw/kdrive/linux/ps2.c +++ b/xserver/hw/kdrive/linux/ps2.c @@ -1,6 +1,4 @@ /* - * $RCSId: xc/programs/Xserver/hw/kdrive/linux/ps2.c,v 1.6 2001/10/12 06:33:10 keithp Exp $ - * * Copyright © 1999 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its @@ -112,42 +110,78 @@ Ps2Read (int ps2Port, void *closure) dy = -dy; n -= 3; b += 3; - KdEnqueueMouseEvent (kdMouseInfo, flags, dx, dy); + KdEnqueuePointerEvent (closure, flags, dx, dy, 0); } } } -int Ps2InputType; - -static int -Ps2Init (void) +static Status +Ps2Init (KdPointerInfo *pi) { - int i; - int ps2Port; - int n; + int ps2Port, i; - if (!Ps2InputType) - Ps2InputType = KdAllocInputType (); - n = 0; - for (i = 0; i < NUM_PS2_NAMES; i++) - { - ps2Port = open (Ps2Names[i], 0); - if (ps2Port >= 0) - { - if (KdRegisterFd (Ps2InputType, ps2Port, Ps2Read, (void *) i)) - n++; + if (!pi->path) { + for (i = 0; i < NUM_PS2_NAMES; i++) { + ps2Port = open (Ps2Names[i], 0); + if (ps2Port >= 0) { + pi->path = KdSaveString (Ps2Names[i]); + break; + } } } - return n; + else { + ps2Port = open (pi->path, 0); + } + + if (ps2Port < 0) + return BadMatch; + + close(ps2Port); + if (!pi->name) + pi->name = KdSaveString ("PS/2 Mouse"); + + return Success; +} + +static Status +Ps2Enable (KdPointerInfo *pi) +{ + int fd; + + if (!pi) + return BadImplementation; + + fd = open (pi->path, 0); + if (fd < 0) + return BadMatch; + + if (!KdRegisterFd (fd, Ps2Read, pi)) { + close(fd); + return BadAlloc; + } + + pi->driverPrivate = (void *)fd; + + return Success; +} + + +static void +Ps2Disable (KdPointerInfo *pi) +{ + KdUnregisterFd (pi, (int)pi->driverPrivate, TRUE); } static void -Ps2Fini (void) +Ps2Fini (KdPointerInfo *pi) { - KdUnregisterFds (Ps2InputType, TRUE); } -KdMouseFuncs Ps2MouseFuncs = { +KdPointerDriver Ps2MouseDriver = { + "ps2", Ps2Init, - Ps2Fini + Ps2Enable, + Ps2Disable, + Ps2Fini, + NULL, }; diff --git a/xserver/hw/kdrive/linux/ts.c b/xserver/hw/kdrive/linux/ts.c index 70c736117..831953f02 100644 --- a/xserver/hw/kdrive/linux/ts.c +++ b/xserver/hw/kdrive/linux/ts.c @@ -1,6 +1,4 @@ /* - * $RCSId: xc/programs/Xserver/hw/kdrive/linux/ts.c,v 1.9 2002/08/15 18:07:48 keithp Exp $ - * * Derived from ps2.c by Jim Gettys * * Copyright © 1999 Keith Packard @@ -75,7 +73,7 @@ TsReadBytes (int fd, char *buf, int len, int min) static void TsRead (int tsPort, void *closure) { - KdMouseInfo *mi = closure; + KdPointerInfo *pi = closure; TS_EVENT event; int n; long x, y; @@ -117,7 +115,7 @@ TsRead (int tsPort, void *closure) lastx = 0; lasty = 0; } - KdEnqueueMouseEvent (mi, flags, x, y); + KdEnqueuePointerEvent (pi, flags, x, y, 0); } } @@ -129,95 +127,83 @@ char *TsNames[] = { #define NUM_TS_NAMES (sizeof (TsNames) / sizeof (TsNames[0])) -int TsInputType; - -static int -TsEnable (int fd, void *closure) -{ - KdMouseInfo *mi = (KdMouseInfo *)closure; - - return open (mi->name, 0); -} - -static void -TsDisable (int fd, void *closure) -{ - close (fd); -} - -static int -TsInit (void) +static Status +TsInit (KdPointerInfo *pi) { int i; int fd; - KdMouseInfo *mi, *next; int n = 0; - if (!TsInputType) - TsInputType = KdAllocInputType (); - - for (mi = kdMouseInfo; mi; mi = next) - { - next = mi->next; - if (mi->inputType) - continue; - if (!mi->name) - { - for (i = 0; i < NUM_TS_NAMES; i++) - { - fd = open (TsNames[i], 0); - if (fd >= 0) - { - mi->name = KdSaveString (TsNames[i]); - break; - } - } - } - else - fd = open (mi->name, 0); - if (fd >= 0) - { - struct h3600_ts_calibration cal; - /* - * Check to see if this is a touch screen - */ - if (ioctl (fd, TS_GET_CAL, &cal) != -1) - { - mi->driver = (void *) fd; - mi->inputType = TsInputType; - if (KdRegisterFd (TsInputType, fd, TsRead, (void *) mi)) - { - /* Set callbacks for vt switches etc */ - KdRegisterFdEnableDisable (fd, TsEnable, TsDisable); - - n++; - } - } - else - close (fd); + if (!pi->path || strcmp(pi->path, "auto") == 0) { + for (i = 0; i < NUM_TS_NAMES; i++) { + fd = open (TsNames[i], 0); + if (fd >= 0) { + pi->path = KdSaveString (TsNames[i]); + break; + } } } + else { + fd = open (pi->path, 0); + } - return 0; + if (fd < 0) { + ErrorF("TsInit: Couldn't open %s\n", pi->path); + return BadMatch; + } + close(fd); + + pi->name = KdSaveString("H3600 Touchscreen"); + + return Success; +} + +static Status +TsEnable (KdPointerInfo *pi) +{ + int fd; + + if (!pi || !pi->path) + return BadImplementation; + + fd = open(pi->path, 0); + + if (fd < 0) { + ErrorF("TsInit: Couldn't open %s\n", pi->path); + return BadMatch; + } + + struct h3600_ts_calibration cal; + /* + * Check to see if this is a touch screen + */ + if (ioctl (fd, TS_GET_CAL, &cal) != -1) { + mi->driverPrivate = (void *) fd; + if (!KdRegisterFd (fd, TsRead, (void *) mi)) { + close(fd); + return BadAlloc; + } + } + else { + ErrorF("TsEnable: %s is not a touchscreen\n", pi->path); + close (fd); + return BadMatch; + } + + return Success; } static void -TsFini (void) +TsFini (KdPointerInfo *pi) { - KdMouseInfo *mi; - - KdUnregisterFds (TsInputType, TRUE); - for (mi = kdMouseInfo; mi; mi = mi->next) - { - if (mi->inputType == TsInputType) - { - mi->driver = 0; - mi->inputType = 0; - } - } + KdUnregisterFds (pi, (int)pi->driverPrivate, TRUE); + mi->driverPrivate = NULL; } -KdMouseFuncs TsFuncs = { +KdPointerDriver TsDriver = { TsInit, - TsFini + TsEnable, + TsDisable, + TsFini, + NULL, }; diff --git a/xserver/hw/kdrive/linux/tslib.c b/xserver/hw/kdrive/linux/tslib.c index c4caff922..371aeced9 100644 --- a/xserver/hw/kdrive/linux/tslib.c +++ b/xserver/hw/kdrive/linux/tslib.c @@ -1,6 +1,6 @@ /* - * $RCSId: xc/programs/Xserver/hw/kdrive/linux/tslib.c,v 1.1 2002/11/01 22:27:49 keithp Exp $ - * TSLIB based touchscreen driver for TinyX + * TSLIB based touchscreen driver for KDrive + * Porting to new input API and event queueing by Daniel Stone. * Derived from ts.c by Keith Packard * Derived from ps2.c by Jim Gettys * @@ -8,66 +8,33 @@ * Copyright © 2000 Compaq Computer Corporation * Copyright © 2002 MontaVista Software Inc. * Copyright © 2005 OpenedHand Ltd. + * Copyright © 2006 Nokia Corporation * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that * the above copyright notice appear in all copies and that both that * copyright notice and this permission notice appear in supporting - * documentation, and that the name of Keith Packard or Compaq not be used in - * advertising or publicity pertaining to distribution of the software without - * specific, written prior permission. Keith Packard and Compaq makes no - * representations about the suitability of this software for any purpose. It - * is provided "as is" without express or implied warranty. + * documentation, and that the name of the authors and/or copyright holders + * not be used in advertising or publicity pertaining to distribution of the + * software without specific, written prior permission. The authors and/or + * copyright holders make no representations about the suitability of this + * software for any purpose. It is provided "as is" without express or + * implied warranty. * - * KEITH PACKARD AND COMPAQ DISCLAIM ALL WARRANTIES WITH REGARD TO THIS - * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, - * IN NO EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR - * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, - * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER - * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - * PERFORMANCE OF THIS SOFTWARE. - * - * Permission to use, copy, modify, distribute, and sell this software and its - * documentation for any purpose is hereby granted without fee, provided that - * the above copyright notice appear in all copies and that both that - * copyright notice and this permission notice appear in supporting - * documentation, and that the name of Michael Taht or MontaVista not be used in - * advertising or publicity pertaining to distribution of the software without - * specific, written prior permission. Michael Taht and Montavista make no - * representations about the suitability of this software for any purpose. It - * is provided "as is" without express or implied warranty. - * - * MICHAEL TAHT AND MONTAVISTA DISCLAIM ALL WARRANTIES WITH REGARD TO THIS - * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, - * IN NO EVENT SHALL EITHER BE LIABLE FOR ANY SPECIAL, INDIRECT OR - * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, - * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER - * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - * PERFORMANCE OF THIS SOFTWARE. - * - * Permission to use, copy, modify, distribute, and sell this software and its - * documentation for any purpose is hereby granted without fee, provided that - * the above copyright notice appear in all copies and that both that - * copyright notice and this permission notice appear in supporting - * documentation, and that the name of Matthew Allum or OpenedHand not be used in - * advertising or publicity pertaining to distribution of the software without - * specific, written prior permission. Matthew Allum and OpenedHand make no - * representations about the suitability of this software for any purpose. It - * is provided "as is" without express or implied warranty. - * - * MATTHEW ALLUM AND OPENEDHAND DISCLAIM ALL WARRANTIES WITH REGARD TO THIS - * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, - * IN NO EVENT SHALL EITHER BE LIABLE FOR ANY SPECIAL, INDIRECT OR - * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, - * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER - * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - * PERFORMANCE OF THIS SOFTWARE. + * THE AUTHORS AND/OR COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD + * TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS, IN NO EVENT SHALL THE AUTHORS AND/OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -#ifdef HAVE_CONFIG_H +#ifdef HAVE_KDRIVE_CONFIG_H #include #endif + #define NEED_EVENTS #include #include @@ -77,186 +44,150 @@ #include "kdrive.h" #include #include +#include +#include -static struct tsdev *tsDev = NULL; - -static char *TsNames[] = { - NULL, /* set via TSLIB_TSDEVICE */ - "/dev/ts", - "/dev/touchscreen/0", +struct TslibPrivate { + int fd; + int lastx, lasty; + struct tsdev *tsDev; + void (*raw_event_hook)(int x, int y, int pressure, void *closure); + void *raw_event_closure; + int phys_screen; }; -#define NUM_TS_NAMES (sizeof (TsNames) / sizeof (TsNames[0])) - -/* For XCalibrate extension */ -void (*tslib_raw_event_hook)(int x, int y, int pressure, void *closure); -void *tslib_raw_event_closure; - -int TsInputType = 0; -int KdTsPhyScreen = 0; /* XXX Togo .. */ static void -TsRead (int tsPort, void *closure) +TsRead (int fd, void *closure) { - KdMouseInfo *mi = closure; - struct ts_sample event; - long x, y; - unsigned long flags; + KdPointerInfo *pi = closure; + struct TslibPrivate *private = pi->driverPrivate; + struct ts_sample event; + long x = 0, y = 0; + unsigned long flags; - if (tslib_raw_event_hook) - { - /* XCalibrate Ext */ - if (ts_read_raw(tsDev, &event, 1) == 1) - { - tslib_raw_event_hook (event.x, - event.y, - event.pressure, - tslib_raw_event_closure); - } - return; - } - - while (ts_read(tsDev, &event, 1) == 1) - { - flags = (event.pressure) ? KD_BUTTON_1 : 0; - x = event.x; - y = event.y; - - KdEnqueueMouseEvent (mi, flags, x, y); - } -} - -static int -TsLibOpen(char *dev) -{ - if(!(tsDev = ts_open(dev, 0))) - return -1; - - if (ts_config(tsDev)) - return -1; - - return ts_fd(tsDev); -} - -static int -TslibEnable (int not_needed_fd, void *closure) -{ - KdMouseInfo *mi = closure; - int fd = 0; - - if ((fd = TsLibOpen(mi->name)) == -1) - ErrorF ("Unable to re-enable TSLib ( on %s )", mi->name); - - return fd; -} - -static void -TslibDisable (int fd, void *closure) -{ - if (tsDev) - ts_close(tsDev); - tsDev = NULL; -} - -static int -TslibInit (void) -{ - int i, j = 0; - KdMouseInfo *mi, *next; - int fd = 0; - int req_type; - - if (!TsInputType) - { - TsInputType = KdAllocInputType (); - KdParseMouse(0); /* allocate safe slot in kdMouseInfo */ - req_type = 0; + if (private->raw_event_hook) { + while (ts_read_raw(private->tsDev, &event, 1) == 1) + private->raw_event_hook (event.x, event.y, event.pressure, + private->raw_event_closure); + return; } - else req_type = TsInputType; /* is being re-inited */ - - for (mi = kdMouseInfo; mi; mi = next) - { - next = mi->next; - - /* find a usuable slot */ - if (mi->inputType != req_type) - continue; - - /* Check for tslib env var device setting */ - if ((TsNames[0] = getenv("TSLIB_TSDEVICE")) == NULL) - j++; - - if (!mi->name) - { - for (i = j; i < NUM_TS_NAMES; i++) - { - fd = TsLibOpen(TsNames[i]); - - if (fd >= 0) - { - mi->name = KdSaveString (TsNames[i]); - break; - } - } - } - else - fd = TsLibOpen(mi->name); - - if (fd >= 0 && tsDev != NULL) - { - mi->driver = (void *) fd; - mi->inputType = TsInputType; - - KdRegisterFd (TsInputType, fd, TsRead, (void *) mi); - - /* Set callbacks for vt switches etc */ - KdRegisterFdEnableDisable (fd, TslibEnable, TslibDisable); - - return TRUE; - } - } - - ErrorF ("Failed to open TSLib device, tried "); - for (i = j; i < NUM_TS_NAMES; i++) - ErrorF ("%s ", TsNames[i]); - ErrorF (".\n"); - if (!TsNames[0]) - ErrorF ("Try setting TSLIB_TSDEVICE to valid /dev entry?\n"); - - if (fd > 0) - close(fd); - - return FALSE; -} -static void -TslibFini (void) -{ - KdMouseInfo *mi; + while (ts_read(private->tsDev, &event, 1) == 1) { + if (event.pressure) { + flags = KD_BUTTON_1; - KdUnregisterFds (TsInputType, TRUE); - for (mi = kdMouseInfo; mi; mi = mi->next) - { - if (mi->inputType == TsInputType) - { - if(mi->driver) - { - ts_close(tsDev); - tsDev = NULL; - } - mi->driver = 0; + /* + * Here we test for the touch screen driver actually being on the + * touch screen, if it is we send absolute coordinates. If not, + * then we send delta's so that we can track the entire vga screen. + */ + if (KdCurScreen == private->phys_screen) { + x = event.x; + y = event.y; + } else { + flags |= KD_MOUSE_DELTA; + if ((private->lastx == 0) || (private->lasty == 0)) { + x = event.x; + y = event.y; + } else { + x = event.x - private->lastx; + y = event.y - private->lasty; + } + } + private->lastx = x; + private->lasty = y; + } else { + flags = 0; + x = private->lastx; + y = private->lasty; + } - /* If below is set to 0, then MouseInit() will trash it, - * setting to 'mouse type' ( via server reset). Therefore - * Leave it alone and work around in TslibInit() ( see - * req_type ). - */ - /* mi->inputType = 0; */ - } + KdEnqueuePointerEvent (pi, flags, x, y, event.pressure); } } -KdMouseFuncs TsFuncs = { +static Status +TslibEnable (KdPointerInfo *pi) +{ + struct TslibPrivate *private = pi->driverPrivate; + + private->raw_event_hook = NULL; + private->raw_event_closure = NULL; + private->tsDev = ts_open(pi->path, 0); + private->fd = ts_fd(private->tsDev); + if (!private->tsDev || ts_config(private->tsDev) || private->fd < 0) { + ErrorF("[tslib/TslibEnable] failed to open %s\n", pi->path); + if (private->fd >= 0) + close(private->fd); + return BadAlloc; + } + + KdRegisterFd(private->fd, TsRead, pi); + + return Success; +} + + +static void +TslibDisable (KdPointerInfo *pi) +{ + struct TslibPrivate *private = pi->driverPrivate; + + if (private->fd) + KdUnregisterFd(pi, private->fd, TRUE); + + if (private->tsDev) + ts_close(private->tsDev); + + private->fd = 0; + private->tsDev = NULL; +} + + +static Status +TslibInit (KdPointerInfo *pi) +{ + int fd = 0, i = 0; + DIR *inputdir = NULL; + struct dirent *inputent = NULL; + struct tsdev *tsDev = NULL; + struct TslibPrivate *private = NULL; + + if (!pi || !pi->dixdev) + return !Success; + + pi->driverPrivate = (struct TslibPrivate *) + xcalloc(sizeof(struct TslibPrivate), 1); + if (!pi->driverPrivate) + return !Success; + + private = pi->driverPrivate; + /* hacktastic */ + private->phys_screen = 0; + pi->nAxes = 3; + pi->name = KdSaveString("Touchscreen"); + pi->inputClass = KD_TOUCHSCREEN; + + return Success; +} + + +static void +TslibFini (KdPointerInfo *pi) +{ + if (pi->driverPrivate) { + xfree(pi->driverPrivate); + pi->driverPrivate = NULL; + } +} + + +KdPointerDriver TsDriver = { + "tslib", TslibInit, - TslibFini + TslibEnable, + TslibDisable, + TslibFini, + NULL, }; diff --git a/xserver/hw/kdrive/mach64/Makefile.am b/xserver/hw/kdrive/mach64/Makefile.am index e924aef71..537939083 100644 --- a/xserver/hw/kdrive/mach64/Makefile.am +++ b/xserver/hw/kdrive/mach64/Makefile.am @@ -30,8 +30,11 @@ MACH64_LIBS = \ Xmach64_LDADD = \ $(MACH64_LIBS) \ @KDRIVE_LIBS@ \ - @XSERVER_LIBS@ \ - $(TSLIB_FLAG) + @XSERVER_LIBS@ +Xmach64_DEPENDENCIES = \ + libmach64.a \ + @KDRIVE_LOCAL_LIBS@ -Xmach64_DEPENDENCIES = $(MACH64_LIBS) +relink: + rm -f $(bin_PROGRAMS) && make $(bin_PROGRAMS) diff --git a/xserver/hw/kdrive/mach64/mach64.c b/xserver/hw/kdrive/mach64/mach64.c index 1d4186d34..3c513ba17 100644 --- a/xserver/hw/kdrive/mach64/mach64.c +++ b/xserver/hw/kdrive/mach64/mach64.c @@ -19,7 +19,6 @@ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ -/* $RCSId: xc/programs/Xserver/hw/kdrive/mach64/mach64.c,v 1.10 2002/10/14 18:01:41 keithp Exp $ */ #ifdef HAVE_CONFIG_H #include diff --git a/xserver/hw/kdrive/mach64/mach64.h b/xserver/hw/kdrive/mach64/mach64.h index 5757cf72d..fbb10b2ba 100644 --- a/xserver/hw/kdrive/mach64/mach64.h +++ b/xserver/hw/kdrive/mach64/mach64.h @@ -1,6 +1,4 @@ /* - * Id: mach64.h,v 1.2 1999/11/02 08:17:24 keithp Exp $ - * * Copyright © 2001 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its @@ -21,7 +19,6 @@ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ -/* $RCSId: xc/programs/Xserver/hw/kdrive/mach64/mach64.h,v 1.5 2001/06/23 03:41:24 keithp Exp $ */ #ifndef _MACH64_H_ #define _MACH64_H_ diff --git a/xserver/hw/kdrive/mach64/mach64draw.c b/xserver/hw/kdrive/mach64/mach64draw.c index f91798436..15d4d417a 100644 --- a/xserver/hw/kdrive/mach64/mach64draw.c +++ b/xserver/hw/kdrive/mach64/mach64draw.c @@ -1,6 +1,4 @@ /* - * Id: mach64draw.c,v 1.1 1999/11/02 03:54:47 keithp Exp $ - * * Copyright © 1999 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its @@ -21,7 +19,6 @@ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ -/* $RCSId: xc/programs/Xserver/hw/kdrive/mach64/mach64draw.c,v 1.6 2001/07/23 03:44:17 keithp Exp $ */ #ifdef HAVE_CONFIG_H #include diff --git a/xserver/hw/kdrive/mach64/mach64draw.h b/xserver/hw/kdrive/mach64/mach64draw.h index b7053ae49..bac11c2a6 100644 --- a/xserver/hw/kdrive/mach64/mach64draw.h +++ b/xserver/hw/kdrive/mach64/mach64draw.h @@ -1,6 +1,4 @@ /* - * Id: tridentdraw.h,v 1.1 1999/11/02 03:54:47 keithp Exp $ - * * Copyright © 1999 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its @@ -21,7 +19,6 @@ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ -/* $RCSId: xc/programs/Xserver/hw/kdrive/trident/tridentdraw.h,v 1.4 2000/10/11 06:04:40 keithp Exp $ */ #ifndef _TRIDENTDRAW_H_ #define _TRIDENTDRAW_H_ diff --git a/xserver/hw/kdrive/mach64/mach64stub.c b/xserver/hw/kdrive/mach64/mach64stub.c index 60808c26d..5895a3cb7 100644 --- a/xserver/hw/kdrive/mach64/mach64stub.c +++ b/xserver/hw/kdrive/mach64/mach64stub.c @@ -1,6 +1,4 @@ /* - * Id: mach64stub.c,v 1.1 1999/11/02 08:19:15 keithp Exp $ - * * Copyright 1999 SuSE, Inc. * * Permission to use, copy, modify, distribute, and sell this software and its @@ -22,7 +20,6 @@ * * Author: Keith Packard, SuSE, Inc. */ -/* $RCSId: xc/programs/Xserver/hw/kdrive/mach64/mach64stub.c,v 1.2 2001/10/12 06:33:10 keithp Exp $ */ #ifdef HAVE_CONFIG_H #include @@ -56,7 +53,8 @@ InitOutput (ScreenInfo *pScreenInfo, int argc, char **argv) void InitInput (int argc, char **argv) { - KdInitInput (&LinuxMouseFuncs, &LinuxKeyboardFuncs); + KdOsAddInputDrivers (); + KdInitInput (); } void diff --git a/xserver/hw/kdrive/mach64/mach64video.c b/xserver/hw/kdrive/mach64/mach64video.c index 7d42807da..38fcef7eb 100644 --- a/xserver/hw/kdrive/mach64/mach64video.c +++ b/xserver/hw/kdrive/mach64/mach64video.c @@ -19,7 +19,6 @@ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ -/* $RCSId: xc/programs/Xserver/hw/kdrive/mach64/mach64video.c,v 1.9tsi Exp $ */ #ifdef HAVE_CONFIG_H #include #endif diff --git a/xserver/hw/kdrive/mga/Makefile.am b/xserver/hw/kdrive/mga/Makefile.am index d8ebae920..0598651d6 100644 --- a/xserver/hw/kdrive/mga/Makefile.am +++ b/xserver/hw/kdrive/mga/Makefile.am @@ -7,10 +7,6 @@ bin_PROGRAMS = Xmga noinst_LIBRARIES = libmga.a -if TSLIB -TSLIB_FLAG = -lts -endif - libmga_a_SOURCES = \ mgadraw.c \ g400_composite.c \ @@ -29,9 +25,11 @@ MGA_LIBS = \ Xmga_LDADD = \ $(MGA_LIBS) \ @KDRIVE_LIBS@ \ - @XSERVER_LIBS@ \ - $(TSLIB_FLAG) + @XSERVER_LIBS@ -Xmga_DEPENDENCIES = \ +Xmga_DEPENDENCIES = \ libmga.a \ - $(top_builddir)/hw/kdrive/vesa/libvesa.a + @KDRIVE_LOCAL_LIBS@ + +relink: + rm -f $(bin_PROGRAMS) && make $(bin_PROGRAMS) diff --git a/xserver/hw/kdrive/mga/g400_common.h b/xserver/hw/kdrive/mga/g400_common.h index 0f43ca4ff..9f16d2431 100644 --- a/xserver/hw/kdrive/mga/g400_common.h +++ b/xserver/hw/kdrive/mga/g400_common.h @@ -1,6 +1,4 @@ /* - * $Id: g400_common.h,v 1.1.1.1 2006/11/26 18:22:16 matthieu Exp $ - * * Copyright © 2004 Damien Ciabrini * * Permission to use, copy, modify, distribute, and sell this software and its @@ -21,7 +19,6 @@ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ -/* $Header: /home/cvs/xenocara/xserver/hw/kdrive/mga/Attic/g400_common.h,v 1.1.1.1 2006/11/26 18:22:16 matthieu Exp $ */ #ifndef __G400_COMMON_H__ #define __G400_COMMON_H__ diff --git a/xserver/hw/kdrive/mga/g400_composite.c b/xserver/hw/kdrive/mga/g400_composite.c index 5a9700071..dda9d9347 100644 --- a/xserver/hw/kdrive/mga/g400_composite.c +++ b/xserver/hw/kdrive/mga/g400_composite.c @@ -1,6 +1,4 @@ /* - * $Id: g400_composite.c,v 1.1.1.1 2006/11/26 18:22:17 matthieu Exp $ - * * Copyright © 2004 Damien Ciabrini * * Permission to use, copy, modify, distribute, and sell this software and its @@ -21,7 +19,6 @@ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ -/* $Header: /home/cvs/xenocara/xserver/hw/kdrive/mga/Attic/g400_composite.c,v 1.1.1.1 2006/11/26 18:22:17 matthieu Exp $ */ #ifdef HAVE_CONFIG_H #include @@ -286,10 +283,8 @@ mgaCheckComposite(int op, PicturePtr pSrcPicture, PicturePtr pMaskPicture, if (pMaskPicture->componentAlpha) MGA_FALLBACK(("Component alpha unsupported")); - switch (pDstPicture->format) { - case PICT_a8: + if (pDstPicture->format == PICT_a8) MGA_FALLBACK(("render to A8 unsupported")); - } return TRUE; } diff --git a/xserver/hw/kdrive/mga/mga.c b/xserver/hw/kdrive/mga/mga.c index afba4f8a0..2ae35d143 100644 --- a/xserver/hw/kdrive/mga/mga.c +++ b/xserver/hw/kdrive/mga/mga.c @@ -1,6 +1,4 @@ /* - * $Id: mga.c,v 1.1.1.1 2006/11/26 18:22:17 matthieu Exp $ - * * Copyright © 2003 Anders Carlsson * * Permission to use, copy, modify, distribute, and sell this software and its @@ -21,7 +19,6 @@ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ -/* $Header: /home/cvs/xenocara/xserver/hw/kdrive/mga/Attic/mga.c,v 1.1.1.1 2006/11/26 18:22:17 matthieu Exp $ */ #ifdef HAVE_CONFIG_H #include #endif diff --git a/xserver/hw/kdrive/mga/mga.h b/xserver/hw/kdrive/mga/mga.h index 32377c5d4..8fa956096 100644 --- a/xserver/hw/kdrive/mga/mga.h +++ b/xserver/hw/kdrive/mga/mga.h @@ -1,6 +1,4 @@ /* - * $Id: mga.h,v 1.1.1.1 2006/11/26 18:22:17 matthieu Exp $ - * * Copyright © 2003-2004 Anders Carlsson * * Permission to use, copy, modify, distribute, and sell this software and its @@ -21,7 +19,6 @@ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ -/* $Header: /home/cvs/xenocara/xserver/hw/kdrive/mga/Attic/mga.h,v 1.1.1.1 2006/11/26 18:22:17 matthieu Exp $ */ #ifndef _MGA_H_ #define _MGA_H_ diff --git a/xserver/hw/kdrive/mga/mgadraw.c b/xserver/hw/kdrive/mga/mgadraw.c index bbe967008..d27e8c9cc 100644 --- a/xserver/hw/kdrive/mga/mgadraw.c +++ b/xserver/hw/kdrive/mga/mgadraw.c @@ -1,6 +1,4 @@ /* - * $Id: mgadraw.c,v 1.1.1.1 2006/11/26 18:22:17 matthieu Exp $ - * * Copyright © 2003-2004 Anders Carlsson * * Permission to use, copy, modify, distribute, and sell this software and its @@ -21,7 +19,6 @@ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ -/* $Header: /home/cvs/xenocara/xserver/hw/kdrive/mga/Attic/mgadraw.c,v 1.1.1.1 2006/11/26 18:22:17 matthieu Exp $ */ #ifdef HAVE_CONFIG_H #include #endif diff --git a/xserver/hw/kdrive/mga/mgastub.c b/xserver/hw/kdrive/mga/mgastub.c index 298126d03..61e6963b8 100644 --- a/xserver/hw/kdrive/mga/mgastub.c +++ b/xserver/hw/kdrive/mga/mgastub.c @@ -1,6 +1,4 @@ /* - * $Id: mgastub.c,v 1.1.1.1 2006/11/26 18:22:17 matthieu Exp $ - * * Copyright © 2003 Anders Carlsson * * Permission to use, copy, modify, distribute, and sell this software and its @@ -21,7 +19,6 @@ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ -/* $Header: /home/cvs/xenocara/xserver/hw/kdrive/mga/Attic/mgastub.c,v 1.1.1.1 2006/11/26 18:22:17 matthieu Exp $ */ #ifdef HAVE_CONFIG_H #include #endif @@ -45,7 +42,8 @@ InitOutput (ScreenInfo *pScreenInfo, int argc, char **argv) void InitInput (int argc, char **argv) { - KdInitInput (&LinuxMouseFuncs, &LinuxKeyboardFuncs); + KdOsAddInputDrivers (); + KdInitInput (); } void diff --git a/xserver/hw/kdrive/neomagic/Makefile.am b/xserver/hw/kdrive/neomagic/Makefile.am index 9f8e02919..95f0e1eaa 100644 --- a/xserver/hw/kdrive/neomagic/Makefile.am +++ b/xserver/hw/kdrive/neomagic/Makefile.am @@ -19,8 +19,6 @@ bin_PROGRAMS = Xneomagic noinst_LIBRARIES = libneomagic.a libneomagic_a_SOURCES = \ - backend.h \ - backend.c \ neomagic.c \ neomagic.h \ neo_draw.c @@ -39,8 +37,9 @@ Xneomagic_LDADD = \ @KDRIVE_LIBS@ \ @XSERVER_LIBS@ - -Xneomagic_DEPENDENCIES = \ +Xneomagic_DEPENDENCIES = \ libneomagic.a \ - ${FBDEV_LIBS} \ - ${VESA_LIBS} + @KDRIVE_LOCAL_LIBS@ + +relink: + rm -f $(bin_PROGRAMS) && make $(bin_PROGRAMS) diff --git a/xserver/hw/kdrive/neomagic/neomagic.h b/xserver/hw/kdrive/neomagic/neomagic.h index b91e81e8a..9b100051b 100644 --- a/xserver/hw/kdrive/neomagic/neomagic.h +++ b/xserver/hw/kdrive/neomagic/neomagic.h @@ -26,14 +26,10 @@ #include #include "kxv.h" #include "klinux.h" +#include "vesa.h" -#define DEBUG -#ifdef DEBUG -#define DBGOUT(fmt,a...) fprintf (stderr, fmt, ##a) -#else -#define DBGOUT(fmt,a...) -#endif +#define DBGOUT DebugF #define ENTER() DBGOUT("Enter %s\n", __FUNCTION__) #define LEAVE() DBGOUT("Leave %s\n", __FUNCTION__) diff --git a/xserver/hw/kdrive/neomagic/neomagicstub.c b/xserver/hw/kdrive/neomagic/neomagicstub.c index 308f4a2c1..c7ec83b44 100644 --- a/xserver/hw/kdrive/neomagic/neomagicstub.c +++ b/xserver/hw/kdrive/neomagic/neomagicstub.c @@ -51,10 +51,8 @@ InitOutput (ScreenInfo *pScreenInfo, int argc, char **argv) void InitInput (int argc, char **argv) { - KdInitInput (&LinuxMouseFuncs, &LinuxKeyboardFuncs); -#ifdef TOUCHSCREEN - KdAddMouseDriver (&TsFuncs); -#endif + KdOsAddInputDrivers (); + KdInitInput (); } void diff --git a/xserver/hw/kdrive/nvidia/Makefile.am b/xserver/hw/kdrive/nvidia/Makefile.am index d7b26cfa1..8ebfec9de 100644 --- a/xserver/hw/kdrive/nvidia/Makefile.am +++ b/xserver/hw/kdrive/nvidia/Makefile.am @@ -7,10 +7,6 @@ bin_PROGRAMS = Xnvidia noinst_LIBRARIES = libnvidia.a -if TSLIB -TSLIB_FLAG = -lts -endif - # nvidiavideo.c libnvidia_a_SOURCES = \ @@ -32,6 +28,9 @@ Xnvidia_LDADD = \ @KDRIVE_LIBS@ \ @XSERVER_LIBS@ -Xnvidia_DEPENDENCIES = \ +Xnvidia_DEPENDENCIES = \ libnvidia.a \ - $(top_builddir)/hw/kdrive/vesa/libvesa.a + @KDRIVE_LOCAL_LIBS@ + +relink: + rm -f $(bin_PROGRAMS) && make $(bin_PROGRAMS) diff --git a/xserver/hw/kdrive/nvidia/nvidia.c b/xserver/hw/kdrive/nvidia/nvidia.c index 3011c29a9..be42e561a 100644 --- a/xserver/hw/kdrive/nvidia/nvidia.c +++ b/xserver/hw/kdrive/nvidia/nvidia.c @@ -1,6 +1,4 @@ /* - * $Id: nvidia.c,v 1.1.1.1 2006/11/26 18:22:08 matthieu Exp $ - * * Copyright © 2003 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its diff --git a/xserver/hw/kdrive/nvidia/nvidia.h b/xserver/hw/kdrive/nvidia/nvidia.h index a67084dce..026233cc1 100644 --- a/xserver/hw/kdrive/nvidia/nvidia.h +++ b/xserver/hw/kdrive/nvidia/nvidia.h @@ -1,6 +1,4 @@ /* - * $Id: nvidia.h,v 1.1.1.1 2006/11/26 18:22:08 matthieu Exp $ - * * Copyright © 2003 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its diff --git a/xserver/hw/kdrive/nvidia/nvidiadraw.c b/xserver/hw/kdrive/nvidia/nvidiadraw.c index e5e0d3fbf..a39f79888 100644 --- a/xserver/hw/kdrive/nvidia/nvidiadraw.c +++ b/xserver/hw/kdrive/nvidia/nvidiadraw.c @@ -1,6 +1,4 @@ /* - * $Id: nvidiadraw.c,v 1.1.1.1 2006/11/26 18:22:08 matthieu Exp $ - * * Copyright © 2003 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its diff --git a/xserver/hw/kdrive/nvidia/nvidiadraw.h b/xserver/hw/kdrive/nvidia/nvidiadraw.h index b7053ae49..bac11c2a6 100644 --- a/xserver/hw/kdrive/nvidia/nvidiadraw.h +++ b/xserver/hw/kdrive/nvidia/nvidiadraw.h @@ -1,6 +1,4 @@ /* - * Id: tridentdraw.h,v 1.1 1999/11/02 03:54:47 keithp Exp $ - * * Copyright © 1999 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its @@ -21,7 +19,6 @@ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ -/* $RCSId: xc/programs/Xserver/hw/kdrive/trident/tridentdraw.h,v 1.4 2000/10/11 06:04:40 keithp Exp $ */ #ifndef _TRIDENTDRAW_H_ #define _TRIDENTDRAW_H_ diff --git a/xserver/hw/kdrive/nvidia/nvidiastub.c b/xserver/hw/kdrive/nvidia/nvidiastub.c index 18e594c57..0e8250e31 100644 --- a/xserver/hw/kdrive/nvidia/nvidiastub.c +++ b/xserver/hw/kdrive/nvidia/nvidiastub.c @@ -1,6 +1,4 @@ /* - * $Id: nvidiastub.c,v 1.1.1.1 2006/11/26 18:22:08 matthieu Exp $ - * * Copyright © 2003 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its @@ -45,7 +43,8 @@ InitOutput (ScreenInfo *pScreenInfo, int argc, char **argv) void InitInput (int argc, char **argv) { - KdInitInput (&LinuxMouseFuncs, &LinuxKeyboardFuncs); + KdOsAddInputDrivers (); + KdInitInput (); } void diff --git a/xserver/hw/kdrive/pm2/Makefile.am b/xserver/hw/kdrive/pm2/Makefile.am index 24ef15042..b2b48ba6a 100644 --- a/xserver/hw/kdrive/pm2/Makefile.am +++ b/xserver/hw/kdrive/pm2/Makefile.am @@ -26,7 +26,9 @@ Xpm2_LDADD = \ @KDRIVE_LIBS@ \ @XSERVER_LIBS@ - -Xpm2_DEPENDENCIES = \ +Xpm2_DEPENDENCIES = \ libpm2.a \ - $(top_builddir)/hw/kdrive/vesa/libvesa.a + @KDRIVE_LOCAL_LIBS@ + +relink: + rm -f $(bin_PROGRAMS) && make $(bin_PROGRAMS) diff --git a/xserver/hw/kdrive/pm2/pm2stub.c b/xserver/hw/kdrive/pm2/pm2stub.c index fe469515b..1f824b347 100644 --- a/xserver/hw/kdrive/pm2/pm2stub.c +++ b/xserver/hw/kdrive/pm2/pm2stub.c @@ -32,7 +32,8 @@ InitOutput (ScreenInfo *pScreenInfo, int argc, char **argv) void InitInput (int argc, char **argv) { - KdInitInput (&LinuxMouseFuncs, &LinuxKeyboardFuncs); + KdOsAddInputDrivers (); + KdInitInput (); } void diff --git a/xserver/hw/kdrive/r128/Makefile.am b/xserver/hw/kdrive/r128/Makefile.am index da42af95f..609e0f5d2 100644 --- a/xserver/hw/kdrive/r128/Makefile.am +++ b/xserver/hw/kdrive/r128/Makefile.am @@ -25,7 +25,9 @@ Xr128_LDADD = \ @KDRIVE_LIBS@ \ @XSERVER_LIBS@ - -Xr128_DEPENDENCIES = \ +Xr128_DEPENDENCIES = \ libr128.a \ - $(top_builddir)/hw/kdrive/vesa/libvesa.a + @KDRIVE_LOCAL_LIBS@ + +relink: + rm -f $(bin_PROGRAMS) && make $(bin_PROGRAMS) diff --git a/xserver/hw/kdrive/r128/r128.c b/xserver/hw/kdrive/r128/r128.c index 53cab172d..9e7f312e0 100644 --- a/xserver/hw/kdrive/r128/r128.c +++ b/xserver/hw/kdrive/r128/r128.c @@ -1,6 +1,4 @@ /* - * $Id: r128.c,v 1.1.1.1 2006/11/26 18:21:48 matthieu Exp $ - * * Copyright © 2003 Anders Carlsson * * Permission to use, copy, modify, distribute, and sell this software and its @@ -21,7 +19,6 @@ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ -/* $Header: /home/cvs/xenocara/xserver/hw/kdrive/r128/Attic/r128.c,v 1.1.1.1 2006/11/26 18:21:48 matthieu Exp $ */ #ifdef HAVE_CONFIG_H #include #endif diff --git a/xserver/hw/kdrive/r128/r128.h b/xserver/hw/kdrive/r128/r128.h index 0faabbb25..ae9ae03aa 100644 --- a/xserver/hw/kdrive/r128/r128.h +++ b/xserver/hw/kdrive/r128/r128.h @@ -1,6 +1,4 @@ /* - * $Id: r128.h,v 1.1.1.1 2006/11/26 18:21:49 matthieu Exp $ - * * Copyright © 2003 Anders Carlsson * * Permission to use, copy, modify, distribute, and sell this software and its @@ -21,7 +19,6 @@ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ -/* $Header: /home/cvs/xenocara/xserver/hw/kdrive/r128/Attic/r128.h,v 1.1.1.1 2006/11/26 18:21:49 matthieu Exp $ */ #ifndef _R128_H_ #define _R128_H_ diff --git a/xserver/hw/kdrive/r128/r128draw.c b/xserver/hw/kdrive/r128/r128draw.c index 3404de94e..142cc8b3e 100644 --- a/xserver/hw/kdrive/r128/r128draw.c +++ b/xserver/hw/kdrive/r128/r128draw.c @@ -1,6 +1,4 @@ /* - * $Id: r128draw.c,v 1.1.1.1 2006/11/26 18:21:48 matthieu Exp $ - * * Copyright © 2003 Anders Carlsson * * Permission to use, copy, modify, distribute, and sell this software and its @@ -21,7 +19,6 @@ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ -/* $Header: /home/cvs/xenocara/xserver/hw/kdrive/r128/Attic/r128draw.c,v 1.1.1.1 2006/11/26 18:21:48 matthieu Exp $ */ #ifdef HAVE_CONFIG_H #include #endif diff --git a/xserver/hw/kdrive/r128/r128stub.c b/xserver/hw/kdrive/r128/r128stub.c index e608f6a63..b5ffd9d77 100644 --- a/xserver/hw/kdrive/r128/r128stub.c +++ b/xserver/hw/kdrive/r128/r128stub.c @@ -1,6 +1,4 @@ /* - * $Id: r128stub.c,v 1.1.1.1 2006/11/26 18:21:48 matthieu Exp $ - * * Copyright © 2003 Anders Carlsson * * Permission to use, copy, modify, distribute, and sell this software and its @@ -21,7 +19,6 @@ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ -/* $Header: /home/cvs/xenocara/xserver/hw/kdrive/r128/Attic/r128stub.c,v 1.1.1.1 2006/11/26 18:21:48 matthieu Exp $ */ #ifdef HAVE_CONFIG_H #include #endif @@ -48,7 +45,8 @@ InitOutput (ScreenInfo *pScreenInfo, int argc, char **argv) void InitInput (int argc, char **argv) { - KdInitInput (&LinuxMouseFuncs, &LinuxKeyboardFuncs); + KdOsAddInputDrivers (); + KdInitInput (); } void diff --git a/xserver/hw/kdrive/sdl/Makefile.am b/xserver/hw/kdrive/sdl/Makefile.am index cc3873ca8..e74249967 100644 --- a/xserver/hw/kdrive/sdl/Makefile.am +++ b/xserver/hw/kdrive/sdl/Makefile.am @@ -5,14 +5,14 @@ INCLUDES = \ bin_PROGRAMS = Xsdl -if TSLIB -TSLIB_FLAG = -lts -endif - Xsdl_SOURCES = sdl.c Xsdl_LDADD = @KDRIVE_PURE_LIBS@ \ @KDRIVE_LIBS@ \ @XSERVER_LIBS@ \ - $(TSLIB_FLAG) \ @XSDL_LIBS@ + +Xsdl_DEPENDENCIES = @KDRIVE_LOCAL_LIBS@ + +relink: + rm -f $(bin_PROGRAMS) && make $(bin_PROGRAMS) diff --git a/xserver/hw/kdrive/sdl/sdl.c b/xserver/hw/kdrive/sdl/sdl.c index f93fcb1ee..411b5d4e1 100644 --- a/xserver/hw/kdrive/sdl/sdl.c +++ b/xserver/hw/kdrive/sdl/sdl.c @@ -1,6 +1,4 @@ /* - * $Id: sdl.c,v 1.1.1.1 2006/11/26 18:21:47 matthieu Exp $ - * * Copyright © 2004 PillowElephantBadgerBankPond * Permission to use, copy, modify, distribute, and sell this software and its @@ -25,12 +23,10 @@ * - jaymz * */ -/* $Header: /home/cvs/xenocara/xserver/hw/kdrive/sdl/Attic/sdl.c,v 1.1.1.1 2006/11/26 18:21:47 matthieu Exp $ */ #ifdef HAVE_CONFIG_H #include "kdrive-config.h" #endif #include "kdrive.h" -#include "kkeymap.h" #include #include @@ -39,20 +35,20 @@ static Bool sdlScreenInit(KdScreenInfo *screen); static Bool sdlFinishInitScreen(ScreenPtr pScreen); static Bool sdlCreateRes(ScreenPtr pScreen); -static void sdlKeyboardBell (int volume, int pitch, int duration); -static void sdlKeyboardLeds (int leds); -static void sdlKeyboardFini(void); -static void sdlKeyboardLoad (void); -static Bool sdlKeyboardInit(void); +static void sdlKeyboardFini(KdKeyboardInfo *ki); +static Bool sdlKeyboardInit(KdKeyboardInfo *ki); -static Bool sdlMouseInit(void); -static void sdlMouseFini(void); +static Bool sdlMouseInit(KdPointerInfo *pi); +static void sdlMouseFini(KdPointerInfo *pi); void *sdlShadowWindow (ScreenPtr pScreen, CARD32 row, CARD32 offset, int mode, CARD32 *size, void *closure); void sdlShadowUpdate (ScreenPtr pScreen, shadowBufPtr pBuf); void sdlTimer(void); +KdKeyboardInfo *sdlKeyboard = NULL; +KdPointerInfo *sdlPointer = NULL; + KeySym sdlKeymap[]={ 0, /* 8 */ 0, @@ -168,51 +164,23 @@ KeySym sdlKeymap[]={ NoSymbol, NoSymbol /* 118 */ }; -//KdMouseInfo *kdMouseInfo; - -KdKeyboardFuncs sdlKeyboardFuncs = { - sdlKeyboardLoad, - sdlKeyboardInit, - sdlKeyboardLeds, - sdlKeyboardBell, - sdlKeyboardFini, - 3, +KdKeyboardDriver sdlKeyboardDriver = { + .name = "keyboard", + .Init = sdlKeyboardInit, + .Fini = sdlKeyboardFini, }; -KdMouseFuncs sdlMouseFuncs = { - sdlMouseInit, - sdlMouseFini, +KdPointerDriver sdlMouseDriver = { + .name = "mouse", + .Init = sdlMouseInit, + .Fini = sdlMouseFini, }; KdCardFuncs sdlFuncs = { - 0, /* cardinit */ - sdlScreenInit, /* scrinit */ - 0, /* initScreen */ - sdlFinishInitScreen, /* finishInitScreen */ - sdlCreateRes, /* createRes */ - 0, /* preserve */ - 0, /* enable */ - 0, /* dpms */ - 0, /* disable */ - 0, /* restore */ - 0, /* scrfini */ - 0, /* cardfini */ - - 0, /* initCursor */ - 0, /* enableCursor */ - 0, /* disableCursor */ - 0, /* finiCursor */ - 0, /* recolorCursor */ - - 0, /* initAccel */ - 0, /* enableAccel */ - 0, /* syncAccel */ - 0, /* disableAccel */ - 0, /* finiAccel */ - - 0, /* getColors */ - 0 /* putColors */ + .scrinit = sdlScreenInit, /* scrinit */ + .finishInitScreen = sdlFinishInitScreen, /* finishInitScreen */ + .createRes = sdlCreateRes, /* createRes */ }; int mouseState=0; @@ -327,52 +295,34 @@ static Bool sdlFinishInitScreen(ScreenPtr pScreen) return TRUE; } -static void sdlKeyboardBell (int volume, int pitch, int duration) +static void sdlKeyboardFini(KdKeyboardInfo *ki) { -#ifdef DEBUG - printf("a bell would go here\n"); -#endif + sdlKeyboard = NULL; } -static void sdlKeyboardLeds (int leds) +static Bool sdlKeyboardInit(KdKeyboardInfo *ki) { -#ifdef DEBUG - printf("Leds: %d\n", leds); -#endif + ki->minScanCode = 8; + ki->maxScanCode = 255; + ki->keySyms.minKeyCode = 8; + ki->keySyms.maxKeyCode = 255; + ki->keySyms.mapWidth = 2; + memcpy(ki->keySyms.map, sdlKeymap, sizeof(sdlKeymap)); + + sdlKeyboard = ki; + + return TRUE; } -static void sdlKeyboardLoad(void) -{ - int x; - kdMinScanCode = 8; - kdMaxScanCode = 255; - kdMinKeyCode = 8; - kdMaxKeyCode = 255; - kdKeymapWidth = 2; - - memcpy(kdKeymap, sdlKeymap, sizeof(sdlKeymap)); -} - -static void sdlKeyboardFini(void) -{ - -} - -static Bool sdlKeyboardInit(void) +static Bool sdlMouseInit (KdPointerInfo *pi) { + sdlPointer = pi; return TRUE; } -static Bool sdlMouseInit (void) -{ -#ifdef DEBUG - printf("kdMouseInfo: 0x%x\n", kdMouseInfo); -#endif - return TRUE; -} - -static void sdlMouseFini(void) +static void sdlMouseFini(KdPointerInfo *pi) { + sdlPointer = NULL; } @@ -395,8 +345,18 @@ void InitOutput(ScreenInfo *pScreenInfo, int argc, char **argv) void InitInput(int argc, char **argv) { - /* FIXME: change this to use SDL key/mouse funcs */ - KdInitInput(&sdlMouseFuncs, &sdlKeyboardFuncs); + KdPointerInfo *pi; + KdKeyboardInfo *ki; + + KdAddKeyboardDriver(&sdlKeyboardDriver); + KdAddPointerDriver(&sdlMouseDriver); + + ki = KdParseKeyboard("keyboard"); + KdAddKeyboard(ki); + pi = KdParsePointer("mouse"); + KdAddPointer(pi); + + KdInitInput(); } void ddxUseMsg(void) @@ -418,7 +378,7 @@ void sdlTimer(void) while ( SDL_PollEvent(&event) ) { switch (event.type) { case SDL_MOUSEMOTION: - KdEnqueueMouseEvent(kdMouseInfo, mouseState, event.motion.x, event.motion.y); + KdEnqueuePointerEvent(sdlPointer, mouseState, event.motion.x, event.motion.y, 0); break; case SDL_MOUSEBUTTONDOWN: switch(event.button.button) @@ -434,7 +394,7 @@ void sdlTimer(void) break; } mouseState|=buttonState; - KdEnqueueMouseEvent(kdMouseInfo, mouseState|KD_MOUSE_DELTA, 0, 0); + KdEnqueuePointerEvent(sdlPointer, mouseState|KD_MOUSE_DELTA, 0, 0, 0); break; case SDL_MOUSEBUTTONUP: switch(event.button.button) @@ -450,14 +410,14 @@ void sdlTimer(void) break; } mouseState &= ~buttonState; - KdEnqueueMouseEvent(kdMouseInfo, mouseState|KD_MOUSE_DELTA, 0, 0); + KdEnqueuePointerEvent(sdlPointer, mouseState|KD_MOUSE_DELTA, 0, 0, 0); break; case SDL_KEYDOWN: case SDL_KEYUP: #ifdef DEBUG printf("Keycode: %d\n", event.key.keysym.scancode); #endif - KdEnqueueKeyboardEvent (event.key.keysym.scancode, event.type==SDL_KEYUP); + KdEnqueueKeyboardEvent (sdlKeyboard, event.key.keysym.scancode, event.type==SDL_KEYUP); break; case SDL_QUIT: @@ -482,12 +442,9 @@ static void xsdlFini(void) } KdOsFuncs sdlOsFuncs={ - xsdlInit, - 0, - 0, - 0, - xsdlFini, - sdlTimer + .Init = xsdlInit, + .Fini = xsdlFini, + .pollEvents = sdlTimer, }; void OsVendorInit (void) diff --git a/xserver/hw/kdrive/sis300/Makefile.am b/xserver/hw/kdrive/sis300/Makefile.am index 6a6e0bf80..3e8ce90b7 100644 --- a/xserver/hw/kdrive/sis300/Makefile.am +++ b/xserver/hw/kdrive/sis300/Makefile.am @@ -17,10 +17,6 @@ INCLUDES = \ bin_PROGRAMS = Xsis -if TSLIB -TSLIB_FLAG = -lts -endif - noinst_LIBRARIES = libsis.a libsis_a_SOURCES = \ @@ -43,4 +39,9 @@ Xsis_LDADD = \ @KDRIVE_LIBS@ \ $(TSLIB_FLAG) -Xsis_DEPENDENCIES = $(SIS_LIBS) +Xsis_DEPENDENCIES = \ + libsis.a \ + @KDRIVE_LOCAL_LIBS@ + +relink: + rm -f $(bin_PROGRAMS) && make $(bin_PROGRAMS) diff --git a/xserver/hw/kdrive/sis300/sis.c b/xserver/hw/kdrive/sis300/sis.c index 506393bbc..30b7ac2c5 100644 --- a/xserver/hw/kdrive/sis300/sis.c +++ b/xserver/hw/kdrive/sis300/sis.c @@ -1,6 +1,4 @@ /* - * $Id: sis.c,v 1.1.1.1 2006/11/26 18:21:59 matthieu Exp $ - * * Copyright © 2003 Eric Anholt * * Permission to use, copy, modify, distribute, and sell this software and its @@ -21,7 +19,6 @@ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ -/* $Header: /home/cvs/xenocara/xserver/hw/kdrive/sis300/Attic/sis.c,v 1.1.1.1 2006/11/26 18:21:59 matthieu Exp $ */ #ifdef HAVE_CONFIG_H #include diff --git a/xserver/hw/kdrive/sis300/sis.h b/xserver/hw/kdrive/sis300/sis.h index 4f2533e6d..25d55be31 100644 --- a/xserver/hw/kdrive/sis300/sis.h +++ b/xserver/hw/kdrive/sis300/sis.h @@ -1,6 +1,4 @@ /* - * $Id: sis.h,v 1.1.1.1 2006/11/26 18:21:58 matthieu Exp $ - * * Copyright © 2003 Eric Anholt * * Permission to use, copy, modify, distribute, and sell this software and its @@ -21,7 +19,6 @@ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ -/* $Header: /home/cvs/xenocara/xserver/hw/kdrive/sis300/Attic/sis.h,v 1.1.1.1 2006/11/26 18:21:58 matthieu Exp $ */ #ifndef _SIS_H_ #define _SIS_H_ diff --git a/xserver/hw/kdrive/sis300/sis_draw.c b/xserver/hw/kdrive/sis300/sis_draw.c index 4319cc3e2..bbc905e1d 100644 --- a/xserver/hw/kdrive/sis300/sis_draw.c +++ b/xserver/hw/kdrive/sis300/sis_draw.c @@ -1,6 +1,4 @@ /* - * $Id: sis_draw.c,v 1.1.1.1 2006/11/26 18:21:58 matthieu Exp $ - * * Copyright © 2003 Eric Anholt * * Permission to use, copy, modify, distribute, and sell this software and its @@ -21,7 +19,6 @@ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ -/* $Header: /home/cvs/xenocara/xserver/hw/kdrive/sis300/Attic/sis_draw.c,v 1.1.1.1 2006/11/26 18:21:58 matthieu Exp $ */ #include diff --git a/xserver/hw/kdrive/sis300/sis_stub.c b/xserver/hw/kdrive/sis300/sis_stub.c index 14f794896..bce7d02d2 100644 --- a/xserver/hw/kdrive/sis300/sis_stub.c +++ b/xserver/hw/kdrive/sis300/sis_stub.c @@ -1,6 +1,4 @@ /* - * $Id: sis_stub.c,v 1.1.1.1 2006/11/26 18:21:58 matthieu Exp $ - * * Copyright © 2003 Eric Anholt * * Permission to use, copy, modify, distribute, and sell this software and its @@ -21,7 +19,6 @@ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ -/* $Header: /home/cvs/xenocara/xserver/hw/kdrive/sis300/Attic/sis_stub.c,v 1.1.1.1 2006/11/26 18:21:58 matthieu Exp $ */ #ifdef HAVE_CONFIG_H #include @@ -53,7 +50,8 @@ InitOutput(ScreenInfo *pScreenInfo, int argc, char **argv) void InitInput(int argc, char **argv) { - KdInitInput(&LinuxMouseFuncs, &LinuxKeyboardFuncs); + KdOsAddInputDrivers(); + KdInitInput(); } void diff --git a/xserver/hw/kdrive/smi/Makefile.am b/xserver/hw/kdrive/smi/Makefile.am index 86a9ea947..6cee31610 100644 --- a/xserver/hw/kdrive/smi/Makefile.am +++ b/xserver/hw/kdrive/smi/Makefile.am @@ -30,8 +30,9 @@ Xsmi_LDADD = \ @KDRIVE_LIBS@ \ @XSERVER_LIBS@ - -Xsmi_DEPENDENCIES = \ +Xsmi_DEPENDENCIES = \ libsmi.a \ - $(top_builddir)/hw/kdrive/fbdev/libfbdev.a \ - $(top_builddir)/hw/kdrive/vesa/libvesa.a + @KDRIVE_LOCAL_LIBS@ + +relink: + rm -f $(bin_PROGRAMS) && make $(bin_PROGRAMS) diff --git a/xserver/hw/kdrive/smi/smi.h b/xserver/hw/kdrive/smi/smi.h index 19fdcbad4..ef0fd110a 100644 --- a/xserver/hw/kdrive/smi/smi.h +++ b/xserver/hw/kdrive/smi/smi.h @@ -1,6 +1,4 @@ /* - * Id: smi.h,v 1.2 1999/11/02 08:17:24 keithp Exp $ - * * Copyright © 2001 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its diff --git a/xserver/hw/kdrive/smi/smidraw.c b/xserver/hw/kdrive/smi/smidraw.c index 06606ad1b..ba4e3904d 100644 --- a/xserver/hw/kdrive/smi/smidraw.c +++ b/xserver/hw/kdrive/smi/smidraw.c @@ -1,6 +1,4 @@ /* - * Id: smidraw.c,v 1.1 1999/11/02 03:54:47 keithp Exp $ - * * Copyright © 1999 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its diff --git a/xserver/hw/kdrive/smi/smidraw.h b/xserver/hw/kdrive/smi/smidraw.h index f91b68c56..4165c7406 100644 --- a/xserver/hw/kdrive/smi/smidraw.h +++ b/xserver/hw/kdrive/smi/smidraw.h @@ -1,6 +1,4 @@ /* - * Id: smidraw.h,v 1.1 1999/11/02 03:54:47 keithp Exp $ - * * Copyright © 1999 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its diff --git a/xserver/hw/kdrive/smi/smistub.c b/xserver/hw/kdrive/smi/smistub.c index e0f33fe6f..59faf2839 100644 --- a/xserver/hw/kdrive/smi/smistub.c +++ b/xserver/hw/kdrive/smi/smistub.c @@ -1,6 +1,4 @@ /* - * Id: smistub.c,v 1.1 1999/11/02 08:19:15 keithp Exp $ - * * Copyright 1999 SuSE, Inc. * * Permission to use, copy, modify, distribute, and sell this software and its @@ -47,7 +45,8 @@ InitOutput (ScreenInfo *pScreenInfo, int argc, char **argv) void InitInput (int argc, char **argv) { - KdInitInput (&LinuxMouseFuncs, &LinuxKeyboardFuncs); + KdOsAddInputDrivers (); + KdInitInput (); } void diff --git a/xserver/hw/kdrive/src/Makefile.am b/xserver/hw/kdrive/src/Makefile.am index 53d50950d..20fae554a 100644 --- a/xserver/hw/kdrive/src/Makefile.am +++ b/xserver/hw/kdrive/src/Makefile.am @@ -24,7 +24,7 @@ libkdrive_a_SOURCES = \ kdrive.h \ kinfo.c \ kinput.c \ - kkeymap.h \ + kkeymap.c \ kmap.c \ kmode.c \ knoop.c \ @@ -37,5 +37,4 @@ libkdrive_a_SOURCES = \ $(top_srcdir)/mi/miinitext.c libkdrivestubs_a_SOURCES = \ - $(top_srcdir)/Xi/stubs.c \ $(top_srcdir)/fb/fbcmap.c diff --git a/xserver/hw/kdrive/src/kaa.c b/xserver/hw/kdrive/src/kaa.c index c29e9e9f0..c9805ddb6 100644 --- a/xserver/hw/kdrive/src/kaa.c +++ b/xserver/hw/kdrive/src/kaa.c @@ -1,6 +1,4 @@ /* - * $RCSId: xc/programs/Xserver/hw/kdrive/kaa.c,v 1.4 2001/06/04 09:45:41 keithp Exp $ - * * Copyright © 2001 Keith Packard * * Partly based on code that is Copyright © The XFree86 Project Inc. diff --git a/xserver/hw/kdrive/src/kaa.h b/xserver/hw/kdrive/src/kaa.h index 15f2faac2..db890a75b 100644 --- a/xserver/hw/kdrive/src/kaa.h +++ b/xserver/hw/kdrive/src/kaa.h @@ -1,6 +1,4 @@ /* - * $RCSId: $ - * * Copyright © 2001 Keith Packard * * Partly based on code that is Copyright © The XFree86 Project Inc. diff --git a/xserver/hw/kdrive/src/kaapict.c b/xserver/hw/kdrive/src/kaapict.c index 6d44b726a..501b6b9c4 100644 --- a/xserver/hw/kdrive/src/kaapict.c +++ b/xserver/hw/kdrive/src/kaapict.c @@ -1,6 +1,4 @@ /* - * $RCSId$ - * * Copyright © 2001 Keith Packard * * Partly based on code that is Copyright © The XFree86 Project Inc. diff --git a/xserver/hw/kdrive/src/kasync.c b/xserver/hw/kdrive/src/kasync.c index 00d756fc9..cc751112c 100644 --- a/xserver/hw/kdrive/src/kasync.c +++ b/xserver/hw/kdrive/src/kasync.c @@ -1,6 +1,4 @@ /* - * Id: kasync.c,v 1.3 1999/11/24 04:29:28 keithp Exp $ - * * Copyright © 1999 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its @@ -21,7 +19,6 @@ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ -/* $RCSId: xc/programs/Xserver/hw/kdrive/kasync.c,v 1.8 2001/03/30 02:15:19 keithp Exp $ */ #ifdef HAVE_CONFIG_H #include @@ -296,13 +293,8 @@ KdScreenInitAsync (ScreenPtr pScreen) pScreen->PaintWindowBorder = KdCheckPaintWindow; pScreen->CopyWindow = KdCheckCopyWindow; -#ifndef FB_OLD_SCREEN pScreen->BackingStoreFuncs.SaveAreas = KdCheckSaveAreas; pScreen->BackingStoreFuncs.RestoreAreas = KdCheckRestoreAreas; -#else - pScreenPriv->BackingStoreFuncs.SaveAreas = KdCheckSaveAreas; - pScreenPriv->BackingStoreFuncs.RestoreAreas = KdCheckRestoreAreas; -#endif #ifdef RENDER KdPictureInitAsync (pScreen); #endif diff --git a/xserver/hw/kdrive/src/kcmap.c b/xserver/hw/kdrive/src/kcmap.c index 92ce5b920..4941ad17f 100644 --- a/xserver/hw/kdrive/src/kcmap.c +++ b/xserver/hw/kdrive/src/kcmap.c @@ -1,6 +1,4 @@ /* - * Id: kcmap.c,v 1.1 1999/11/02 03:54:46 keithp Exp $ - * * Copyright © 1999 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its @@ -21,7 +19,6 @@ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ -/* $RCSId: xc/programs/Xserver/hw/kdrive/kcmap.c,v 1.4 2000/05/24 23:57:56 keithp Exp $ */ #ifdef HAVE_CONFIG_H #include diff --git a/xserver/hw/kdrive/src/kcurscol.c b/xserver/hw/kdrive/src/kcurscol.c index 943417e0d..6a17df30f 100644 --- a/xserver/hw/kdrive/src/kcurscol.c +++ b/xserver/hw/kdrive/src/kcurscol.c @@ -1,6 +1,4 @@ /* - * $RCSId: xc/programs/Xserver/hw/kdrive/kcurscol.c,v 1.4 2000/05/11 18:14:13 tsi Exp $ - * * Copyright © 1999 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its diff --git a/xserver/hw/kdrive/src/kdrive.c b/xserver/hw/kdrive/src/kdrive.c index 52e56e90b..2bb7b530b 100644 --- a/xserver/hw/kdrive/src/kdrive.c +++ b/xserver/hw/kdrive/src/kdrive.c @@ -1,6 +1,4 @@ /* - * $RCSId: xc/programs/Xserver/hw/kdrive/kdrive.c,v 1.29 2002/10/31 18:29:50 keithp Exp $ - * * Copyright © 1999 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its @@ -43,6 +41,12 @@ #include "dpmsproc.h" #endif +#ifdef HAVE_EXECINFO_H +#include +#endif + +#include + typedef struct _kdDepths { CARD8 depth; CARD8 bpp; @@ -60,6 +64,8 @@ KdDepths kdDepths[] = { #define NUM_KD_DEPTHS (sizeof (kdDepths) / sizeof (kdDepths[0])) +#define KD_DEFAULT_BUTTONS 5 + int kdScreenPrivateIndex; unsigned long kdGeneration; @@ -75,6 +81,10 @@ int kdVirtualTerminal = -1; Bool kdSwitchPending; char *kdSwitchCmd; DDXPointRec kdOrigin; +Bool kdHasPointer = FALSE; +Bool kdHasKbd = FALSE; + +static Bool kdCaughtSignal = FALSE; /* * Carry arguments from InitOutput through driver initialization @@ -87,7 +97,6 @@ extern WindowPtr *WindowTable; void KdSetRootClip (ScreenPtr pScreen, BOOL enable) { -#ifndef FB_OLD_SCREEN WindowPtr pWin = WindowTable[pScreen->myNum]; WindowPtr pChild; Bool WasViewable; @@ -214,7 +223,6 @@ KdSetRootClip (ScreenPtr pScreen, BOOL enable) } if (pWin->realized) WindowsRestructured (); -#endif /* !FB_OLD_SCREEN */ } void @@ -271,7 +279,7 @@ KdSuspend (void) for (screen = card->screenList; screen; screen = screen->next) if (screen->mynum == card->selected && screen->pScreen) KdDisableScreen (screen->pScreen); - if (card->driver) + if (card->driver && card->cfuncs->restore) (*card->cfuncs->restore) (card); } KdDisableInput (); @@ -285,7 +293,8 @@ KdDisableScreens (void) KdSuspend (); if (kdEnabled) { - (*kdOsFuncs->Disable) (); + if (kdOsFuncs->Disable) + (*kdOsFuncs->Disable) (); kdEnabled = FALSE; } } @@ -343,7 +352,8 @@ KdEnableScreens (void) if (!kdEnabled) { kdEnabled = TRUE; - (*kdOsFuncs->Enable) (); + if (kdOsFuncs->Enable) + (*kdOsFuncs->Enable) (); } KdResume (); } @@ -363,11 +373,15 @@ AbortDDX(void) KdDisableScreens (); if (kdOsFuncs) { - if (kdEnabled) + if (kdEnabled && kdOsFuncs->Disable) (*kdOsFuncs->Disable) (); - (*kdOsFuncs->Fini) (); + if (kdOsFuncs->Fini) + (*kdOsFuncs->Fini) (); KdDoSwitchCmd ("stop"); } + + if (kdCaughtSignal) + abort(); } void @@ -379,7 +393,7 @@ ddxGiveUp () Bool kdDumbDriver; Bool kdSoftCursor; -static char * +char * KdParseFindNext (char *cur, char *delim, char *save, char *last) { while (*cur && !strchr (delim, *cur)) @@ -560,97 +574,6 @@ KdSaveString (char *str) return n; } -/* - * Parse mouse information. Syntax: - * - * ,,{,