From 4a3dbb926ae3f5410198d7cc4f4ebe4f62eebf05 Mon Sep 17 00:00:00 2001 From: marha Date: Sat, 25 Jul 2009 19:39:46 +0000 Subject: Added xorg-server-1.6.2.tar.gz --- xorg-server/hw/Makefile.am | 14 +- xorg-server/hw/Makefile.in | 81 +- xorg-server/hw/dmx/Makefile.in | 76 +- xorg-server/hw/dmx/config/Makefile.in | 76 +- xorg-server/hw/dmx/config/dmxparse.c | 5 +- xorg-server/hw/dmx/config/scanner.c | 18 +- xorg-server/hw/dmx/dmx-config.h | 7 - xorg-server/hw/dmx/dmx.c | 6 +- xorg-server/hw/dmx/dmx.h | 8 +- xorg-server/hw/dmx/dmx_glxvisuals.c | 61 +- xorg-server/hw/dmx/dmx_glxvisuals.h | 61 +- xorg-server/hw/dmx/dmxcb.c | 7 +- xorg-server/hw/dmx/dmxclient.h | 4 - xorg-server/hw/dmx/dmxcursor.c | 36 +- xorg-server/hw/dmx/dmxcursor.h | 8 +- xorg-server/hw/dmx/dmxextension.c | 10 +- xorg-server/hw/dmx/dmxfont.c | 6 + xorg-server/hw/dmx/dmxgc.c | 2 + xorg-server/hw/dmx/dmxinit.c | 22 +- xorg-server/hw/dmx/dmxinput.h | 4 +- xorg-server/hw/dmx/dmxlog.c | 4 - xorg-server/hw/dmx/dmxlog.h | 2 - xorg-server/hw/dmx/dmxpict.c | 6 + xorg-server/hw/dmx/dmxscrinit.c | 29 +- xorg-server/hw/dmx/dmxstat.c | 3 +- xorg-server/hw/dmx/dmxwindow.c | 8 - xorg-server/hw/dmx/dmxwindow.h | 4 - xorg-server/hw/dmx/doc/Makefile.in | 71 +- xorg-server/hw/dmx/examples/Makefile.in | 76 +- xorg-server/hw/dmx/examples/xinput.c | 2 +- xorg-server/hw/dmx/examples/xled.c | 2 +- xorg-server/hw/dmx/glxProxy/Makefile.in | 76 +- xorg-server/hw/dmx/glxProxy/compsize.c | 61 +- xorg-server/hw/dmx/glxProxy/g_disptab.c | 55 +- xorg-server/hw/dmx/glxProxy/g_disptab.h | 55 +- xorg-server/hw/dmx/glxProxy/g_renderswap.c | 55 +- xorg-server/hw/dmx/glxProxy/global.c | 61 +- xorg-server/hw/dmx/glxProxy/glxcmds.c | 64 +- xorg-server/hw/dmx/glxProxy/glxcmdsswap.c | 61 +- xorg-server/hw/dmx/glxProxy/glxcontext.h | 61 +- xorg-server/hw/dmx/glxProxy/glxdrawable.h | 61 +- xorg-server/hw/dmx/glxProxy/glxerror.h | 61 +- xorg-server/hw/dmx/glxProxy/glxext.c | 59 +- xorg-server/hw/dmx/glxProxy/glxext.h | 61 +- xorg-server/hw/dmx/glxProxy/glxfbconfig.c | 61 +- xorg-server/hw/dmx/glxProxy/glxfbconfig.h | 61 +- xorg-server/hw/dmx/glxProxy/glxscreens.c | 61 +- xorg-server/hw/dmx/glxProxy/glxscreens.h | 61 +- xorg-server/hw/dmx/glxProxy/glxserver.h | 61 +- xorg-server/hw/dmx/glxProxy/glxsingle.c | 55 +- xorg-server/hw/dmx/glxProxy/glxsingle.h | 61 +- xorg-server/hw/dmx/glxProxy/glxswap.c | 2 +- xorg-server/hw/dmx/glxProxy/glxutil.c | 71 +- xorg-server/hw/dmx/glxProxy/glxutil.h | 61 +- xorg-server/hw/dmx/glxProxy/glxvendor.c | 55 +- xorg-server/hw/dmx/glxProxy/glxvendor.h | 61 +- xorg-server/hw/dmx/glxProxy/glxvisuals.c | 67 +- xorg-server/hw/dmx/glxProxy/glxvisuals.h | 61 +- xorg-server/hw/dmx/glxProxy/render2swap.c | 61 +- xorg-server/hw/dmx/glxProxy/renderpixswap.c | 61 +- xorg-server/hw/dmx/glxProxy/unpack.h | 61 +- xorg-server/hw/dmx/input/Makefile.am | 2 +- xorg-server/hw/dmx/input/Makefile.in | 82 +- xorg-server/hw/dmx/input/atKeynames.h | 295 + xorg-server/hw/dmx/input/dmxbackend.c | 5 +- xorg-server/hw/dmx/input/dmxcommon.h | 4 - xorg-server/hw/dmx/input/dmxconsole.c | 5 +- xorg-server/hw/dmx/input/dmxeq.c | 31 +- xorg-server/hw/dmx/input/dmxevents.c | 45 +- xorg-server/hw/dmx/input/dmxinputinit.c | 52 +- xorg-server/hw/dmx/input/dmxmotion.c | 3 +- xorg-server/hw/dmx/input/dmxxinput.c | 8 - xorg-server/hw/dmx/input/lnx-keyboard.c | 5 +- xorg-server/hw/dmx/input/lnx-ms.c | 5 +- xorg-server/hw/dmx/input/lnx-ps2.c | 5 +- xorg-server/hw/dmx/input/usb-common.c | 5 +- xorg-server/hw/kdrive/Makefile.am | 9 +- xorg-server/hw/kdrive/Makefile.in | 81 +- xorg-server/hw/kdrive/ati/Makefile.am | 74 - xorg-server/hw/kdrive/ati/Makefile.in | 757 --- xorg-server/hw/kdrive/ati/ati.c | 761 --- xorg-server/hw/kdrive/ati/ati.h | 409 -- xorg-server/hw/kdrive/ati/ati_cursor.c | 559 -- xorg-server/hw/kdrive/ati/ati_dma.c | 1037 ---- xorg-server/hw/kdrive/ati/ati_dma.h | 141 - xorg-server/hw/kdrive/ati/ati_draw.c | 918 ---- xorg-server/hw/kdrive/ati/ati_draw.h | 93 - xorg-server/hw/kdrive/ati/ati_microcode.c | 857 --- xorg-server/hw/kdrive/ati/ati_reg.h | 1927 ------- xorg-server/hw/kdrive/ati/ati_stub.c | 77 - xorg-server/hw/kdrive/ati/ati_video.c | 988 ---- xorg-server/hw/kdrive/ati/r128_composite.c | 564 -- xorg-server/hw/kdrive/ati/radeon_composite.c | 875 --- xorg-server/hw/kdrive/chips/Makefile.am | 36 - xorg-server/hw/kdrive/chips/Makefile.in | 717 --- xorg-server/hw/kdrive/chips/chips.c | 334 -- xorg-server/hw/kdrive/chips/chips.h | 117 - xorg-server/hw/kdrive/chips/chipsdraw.c | 491 -- xorg-server/hw/kdrive/chips/chipsstub.c | 67 - xorg-server/hw/kdrive/ephyr/Makefile.am | 117 +- xorg-server/hw/kdrive/ephyr/Makefile.in | 457 +- xorg-server/hw/kdrive/ephyr/XF86dri.c | 7 +- xorg-server/hw/kdrive/ephyr/Xephyr.man.pre | 84 + xorg-server/hw/kdrive/ephyr/ephyr.c | 48 +- xorg-server/hw/kdrive/ephyr/ephyr_draw.c | 1 - xorg-server/hw/kdrive/ephyr/ephyrdri.c | 9 +- xorg-server/hw/kdrive/ephyr/ephyrdri.h | 2 +- xorg-server/hw/kdrive/ephyr/ephyrdriext.c | 49 +- xorg-server/hw/kdrive/ephyr/ephyrglxext.c | 5 - xorg-server/hw/kdrive/ephyr/ephyrhostglx.c | 4 - xorg-server/hw/kdrive/ephyr/ephyrinit.c | 34 +- xorg-server/hw/kdrive/ephyr/ephyrlog.h | 4 +- xorg-server/hw/kdrive/ephyr/ephyrvideo.c | 4 +- xorg-server/hw/kdrive/ephyr/hostx.c | 38 +- xorg-server/hw/kdrive/ephyr/hostx.h | 4 +- xorg-server/hw/kdrive/ephyr/xf86dri.h | 120 + xorg-server/hw/kdrive/epson/Makefile.am | 36 - xorg-server/hw/kdrive/epson/Makefile.in | 716 --- xorg-server/hw/kdrive/epson/epson13806.c | 604 -- xorg-server/hw/kdrive/epson/epson13806.h | 132 - xorg-server/hw/kdrive/epson/epson13806draw.c | 649 --- xorg-server/hw/kdrive/epson/epson13806draw.h | 119 - xorg-server/hw/kdrive/epson/epson13806reg.h | 183 - xorg-server/hw/kdrive/epson/epson13806stub.c | 69 - xorg-server/hw/kdrive/fake/Makefile.in | 76 +- xorg-server/hw/kdrive/fake/fake.c | 5 +- xorg-server/hw/kdrive/fbdev/Makefile.in | 76 +- xorg-server/hw/kdrive/fbdev/fbdev.c | 39 +- xorg-server/hw/kdrive/i810/Makefile.am | 39 - xorg-server/hw/kdrive/i810/Makefile.in | 721 --- xorg-server/hw/kdrive/i810/i810.c | 2112 ------- xorg-server/hw/kdrive/i810/i810.h | 511 -- xorg-server/hw/kdrive/i810/i810_cursor.c | 435 -- xorg-server/hw/kdrive/i810/i810_reg.h | 695 --- xorg-server/hw/kdrive/i810/i810_video.c | 1136 ---- xorg-server/hw/kdrive/i810/i810draw.c | 352 -- xorg-server/hw/kdrive/i810/i810draw.h | 46 - xorg-server/hw/kdrive/i810/i810stub.c | 92 - xorg-server/hw/kdrive/linux/Makefile.am | 7 +- xorg-server/hw/kdrive/linux/Makefile.in | 87 +- xorg-server/hw/kdrive/linux/evdev.c | 6 +- xorg-server/hw/kdrive/linux/keyboard.c | 26 +- xorg-server/hw/kdrive/linux/ts.c | 209 - xorg-server/hw/kdrive/linux/tslib.c | 8 +- xorg-server/hw/kdrive/mach64/Makefile.am | 43 - xorg-server/hw/kdrive/mach64/Makefile.in | 719 --- xorg-server/hw/kdrive/mach64/mach64.c | 433 -- xorg-server/hw/kdrive/mach64/mach64.h | 653 --- xorg-server/hw/kdrive/mach64/mach64draw.c | 590 -- xorg-server/hw/kdrive/mach64/mach64draw.h | 69 - xorg-server/hw/kdrive/mach64/mach64stub.c | 75 - xorg-server/hw/kdrive/mach64/mach64video.c | 994 ---- xorg-server/hw/kdrive/mga/Makefile.am | 38 - xorg-server/hw/kdrive/mga/Makefile.in | 720 --- xorg-server/hw/kdrive/mga/g400_common.h | 185 - xorg-server/hw/kdrive/mga/g400_composite.c | 510 -- xorg-server/hw/kdrive/mga/mga.c | 240 - xorg-server/hw/kdrive/mga/mga.h | 164 - xorg-server/hw/kdrive/mga/mgadraw.c | 324 -- xorg-server/hw/kdrive/mga/mgastub.c | 64 - xorg-server/hw/kdrive/neomagic/Makefile.am | 49 - xorg-server/hw/kdrive/neomagic/Makefile.in | 723 --- xorg-server/hw/kdrive/neomagic/README | 15 - xorg-server/hw/kdrive/neomagic/neo_draw.c | 210 - xorg-server/hw/kdrive/neomagic/neomagic.c | 335 -- xorg-server/hw/kdrive/neomagic/neomagic.h | 210 - xorg-server/hw/kdrive/neomagic/neomagicstub.c | 73 - xorg-server/hw/kdrive/nvidia/Makefile.am | 39 - xorg-server/hw/kdrive/nvidia/Makefile.in | 720 --- xorg-server/hw/kdrive/nvidia/nvidia.c | 361 -- xorg-server/hw/kdrive/nvidia/nvidia.h | 247 - xorg-server/hw/kdrive/nvidia/nvidiadraw.c | 238 - xorg-server/hw/kdrive/nvidia/nvidiadraw.h | 69 - xorg-server/hw/kdrive/nvidia/nvidiastub.c | 65 - xorg-server/hw/kdrive/pm2/Makefile.am | 37 - xorg-server/hw/kdrive/pm2/Makefile.in | 717 --- xorg-server/hw/kdrive/pm2/glint_regs.h | 1370 ----- xorg-server/hw/kdrive/pm2/pm2.c | 295 - xorg-server/hw/kdrive/pm2/pm2.h | 162 - xorg-server/hw/kdrive/pm2/pm2_draw.c | 318 -- xorg-server/hw/kdrive/pm2/pm2stub.c | 54 - xorg-server/hw/kdrive/r128/Makefile.am | 36 - xorg-server/hw/kdrive/r128/Makefile.in | 717 --- xorg-server/hw/kdrive/r128/r128.c | 250 - xorg-server/hw/kdrive/r128/r128.h | 123 - xorg-server/hw/kdrive/r128/r128draw.c | 296 - xorg-server/hw/kdrive/r128/r128stub.c | 67 - xorg-server/hw/kdrive/sdl/Makefile.in | 76 +- xorg-server/hw/kdrive/sis300/Makefile.am | 51 - xorg-server/hw/kdrive/sis300/Makefile.in | 725 --- xorg-server/hw/kdrive/sis300/sis.c | 311 -- xorg-server/hw/kdrive/sis300/sis.h | 160 - xorg-server/hw/kdrive/sis300/sis_draw.c | 320 -- xorg-server/hw/kdrive/sis300/sis_reg.h | 902 --- xorg-server/hw/kdrive/sis300/sis_stub.c | 77 - xorg-server/hw/kdrive/smi/Makefile.am | 41 - xorg-server/hw/kdrive/smi/Makefile.in | 723 --- xorg-server/hw/kdrive/smi/smi.c | 343 -- xorg-server/hw/kdrive/smi/smi.h | 257 - xorg-server/hw/kdrive/smi/smidraw.c | 340 -- xorg-server/hw/kdrive/smi/smidraw.h | 69 - xorg-server/hw/kdrive/smi/smistub.c | 67 - xorg-server/hw/kdrive/src/Makefile.am | 16 +- xorg-server/hw/kdrive/src/Makefile.in | 112 +- xorg-server/hw/kdrive/src/kaa.c | 1081 ---- xorg-server/hw/kdrive/src/kaa.h | 120 - xorg-server/hw/kdrive/src/kaapict.c | 719 --- xorg-server/hw/kdrive/src/kasync.c | 341 -- xorg-server/hw/kdrive/src/kdrive.c | 43 +- xorg-server/hw/kdrive/src/kdrive.h | 287 +- xorg-server/hw/kdrive/src/kinfo.c | 6 +- xorg-server/hw/kdrive/src/kinput.c | 64 +- xorg-server/hw/kdrive/src/kmap.c | 6 - xorg-server/hw/kdrive/src/knoop.c | 251 - xorg-server/hw/kdrive/src/koffscreen.c | 375 -- xorg-server/hw/kdrive/src/ktest.c | 76 - xorg-server/hw/kdrive/src/kxv.c | 48 +- xorg-server/hw/kdrive/src/kxv.h | 37 - xorg-server/hw/kdrive/src/vga.c | 11 - xorg-server/hw/kdrive/vesa/Makefile.am | 33 - xorg-server/hw/kdrive/vesa/Makefile.in | 717 --- xorg-server/hw/kdrive/vesa/vbe.c | 706 --- xorg-server/hw/kdrive/vesa/vbe.h | 165 - xorg-server/hw/kdrive/vesa/vesa.c | 1823 ------- xorg-server/hw/kdrive/vesa/vesa.h | 295 - xorg-server/hw/kdrive/vesa/vesainit.c | 92 - xorg-server/hw/kdrive/vesa/vga.c | 242 - xorg-server/hw/kdrive/vesa/vga.h | 59 - xorg-server/hw/kdrive/vesa/vm86.c | 764 --- xorg-server/hw/kdrive/vesa/vm86.h | 180 - xorg-server/hw/kdrive/via/Makefile.am | 37 - xorg-server/hw/kdrive/via/Makefile.in | 716 --- xorg-server/hw/kdrive/via/via.c | 435 -- xorg-server/hw/kdrive/via/via.h | 129 - xorg-server/hw/kdrive/via/via_regs.h | 154 - xorg-server/hw/kdrive/via/viadraw.c | 499 -- xorg-server/hw/kdrive/via/viadraw.h | 45 - xorg-server/hw/kdrive/via/viastub.c | 135 - xorg-server/hw/vfb/InitInput.c | 7 +- xorg-server/hw/vfb/InitOutput.c | 40 +- xorg-server/hw/vfb/Makefile.in | 76 +- xorg-server/hw/xfree86/Makefile.am | 17 +- xorg-server/hw/xfree86/Makefile.in | 97 +- xorg-server/hw/xfree86/common/Makefile.am | 37 +- xorg-server/hw/xfree86/common/Makefile.in | 165 +- xorg-server/hw/xfree86/common/atKeynames.h | 295 - xorg-server/hw/xfree86/common/compiler.h | 122 +- xorg-server/hw/xfree86/common/xf86.h | 65 +- xorg-server/hw/xfree86/common/xf86AutoConfig.c | 242 +- xorg-server/hw/xfree86/common/xf86Build.h | 2 - xorg-server/hw/xfree86/common/xf86Bus.c | 578 +- xorg-server/hw/xfree86/common/xf86Bus.h | 3 - xorg-server/hw/xfree86/common/xf86Config.c | 275 +- xorg-server/hw/xfree86/common/xf86Configure.c | 107 +- xorg-server/hw/xfree86/common/xf86Cursor.c | 63 +- xorg-server/hw/xfree86/common/xf86DGA.c | 189 +- xorg-server/hw/xfree86/common/xf86DPMS.c | 5 +- xorg-server/hw/xfree86/common/xf86Debug.c | 77 - xorg-server/hw/xfree86/common/xf86DoProbe.c | 116 - xorg-server/hw/xfree86/common/xf86Events.c | 227 +- xorg-server/hw/xfree86/common/xf86Globals.c | 89 +- xorg-server/hw/xfree86/common/xf86Helper.c | 285 +- xorg-server/hw/xfree86/common/xf86InPriv.h | 2 +- xorg-server/hw/xfree86/common/xf86Init.c | 415 +- xorg-server/hw/xfree86/common/xf86MiscExt.c | 561 -- xorg-server/hw/xfree86/common/xf86Mode.c | 14 +- xorg-server/hw/xfree86/common/xf86Module.h | 9 +- xorg-server/hw/xfree86/common/xf86Priv.h | 30 +- xorg-server/hw/xfree86/common/xf86Privstr.h | 33 - xorg-server/hw/xfree86/common/xf86RAC.c | 1171 ++++ xorg-server/hw/xfree86/common/xf86RAC.h | 17 + xorg-server/hw/xfree86/common/xf86RandR.c | 12 +- xorg-server/hw/xfree86/common/xf86ShowOpts.c | 129 + xorg-server/hw/xfree86/common/xf86Version.h | 56 - xorg-server/hw/xfree86/common/xf86Versions.c | 77 - xorg-server/hw/xfree86/common/xf86VidMode.c | 5 +- xorg-server/hw/xfree86/common/xf86XKB.c | 80 - xorg-server/hw/xfree86/common/xf86Xinput.c | 516 +- xorg-server/hw/xfree86/common/xf86Xinput.h | 12 +- xorg-server/hw/xfree86/common/xf86cmap.c | 11 +- xorg-server/hw/xfree86/common/xf86fbman.c | 8 +- xorg-server/hw/xfree86/common/xf86isaBus.c | 141 - xorg-server/hw/xfree86/common/xf86pciBus.c | 21 +- xorg-server/hw/xfree86/common/xf86pciBus.h | 1 - xorg-server/hw/xfree86/common/xf86sbusBus.c | 3 +- xorg-server/hw/xfree86/common/xf86sbusBus.h | 2 + xorg-server/hw/xfree86/common/xf86str.h | 61 - xorg-server/hw/xfree86/common/xf86xv.c | 11 +- xorg-server/hw/xfree86/common/xf86xvmc.c | 3 +- xorg-server/hw/xfree86/common/xisb.c | 1 - xorg-server/hw/xfree86/ddc/DDC.HOWTO | 16 +- xorg-server/hw/xfree86/ddc/Makefile.in | 76 +- xorg-server/hw/xfree86/ddc/ddcProperty.c | 11 +- xorg-server/hw/xfree86/ddc/edid.h | 7 +- xorg-server/hw/xfree86/ddc/interpret_edid.c | 90 +- xorg-server/hw/xfree86/ddc/print_edid.c | 36 +- xorg-server/hw/xfree86/ddc/xf86DDC.c | 241 +- xorg-server/hw/xfree86/ddc/xf86DDC.h | 11 +- xorg-server/hw/xfree86/dixmods/Makefile.am | 50 +- xorg-server/hw/xfree86/dixmods/Makefile.in | 251 +- xorg-server/hw/xfree86/dixmods/afbmodule.c | 57 - xorg-server/hw/xfree86/dixmods/cfb32module.c | 57 - xorg-server/hw/xfree86/dixmods/cfbmodule.c | 57 - xorg-server/hw/xfree86/dixmods/extmod/Makefile.am | 10 +- xorg-server/hw/xfree86/dixmods/extmod/Makefile.in | 100 +- xorg-server/hw/xfree86/dixmods/extmod/dgaproc.h | 7 +- xorg-server/hw/xfree86/dixmods/extmod/modinit.c | 81 - xorg-server/hw/xfree86/dixmods/extmod/modinit.h | 64 +- xorg-server/hw/xfree86/dixmods/extmod/xf86dga.c | 309 -- xorg-server/hw/xfree86/dixmods/extmod/xf86dga2.c | 369 +- xorg-server/hw/xfree86/dixmods/extmod/xf86misc.c | 821 --- .../hw/xfree86/dixmods/extmod/xf86miscproc.h | 69 - xorg-server/hw/xfree86/dixmods/extmod/xf86vmode.c | 40 +- xorg-server/hw/xfree86/dixmods/ftmodule.c | 75 - xorg-server/hw/xfree86/dixmods/glxmodule.c | 15 - xorg-server/hw/xfree86/dixmods/mfbmodule.c | 47 - xorg-server/hw/xfree86/dixmods/xf86XTrapModule.c | 45 - xorg-server/hw/xfree86/dixmods/xkbPrivate.c | 7 +- xorg-server/hw/xfree86/doc/Makefile.am | 1 - xorg-server/hw/xfree86/doc/Makefile.in | 74 +- xorg-server/hw/xfree86/doc/README.fonts | 1158 ---- xorg-server/hw/xfree86/doc/devel/DebuggingHints | 192 - xorg-server/hw/xfree86/doc/devel/Makefile.am | 1 - xorg-server/hw/xfree86/doc/devel/Makefile.in | 72 +- xorg-server/hw/xfree86/doc/man/Makefile.in | 71 +- xorg-server/hw/xfree86/doc/man/Xorg.man.pre | 89 +- xorg-server/hw/xfree86/doc/man/xorg.conf.man.pre | 140 +- xorg-server/hw/xfree86/doc/sgml/Makefile.in | 71 +- xorg-server/hw/xfree86/dri/Makefile.am | 5 + xorg-server/hw/xfree86/dri/Makefile.in | 81 +- xorg-server/hw/xfree86/dri/dri.c | 35 +- xorg-server/hw/xfree86/dri/dristruct.h | 2 + xorg-server/hw/xfree86/dri2/Makefile.in | 76 +- xorg-server/hw/xfree86/dri2/dri2.c | 733 +-- xorg-server/hw/xfree86/dri2/dri2.h | 125 +- xorg-server/hw/xfree86/dri2/dri2ext.c | 234 +- xorg-server/hw/xfree86/dummylib/Makefile.in | 76 +- xorg-server/hw/xfree86/dummylib/xf86info.c | 2 +- xorg-server/hw/xfree86/exa/Makefile.in | 76 +- xorg-server/hw/xfree86/exa/exa.man.pre | 22 +- xorg-server/hw/xfree86/exa/examodule.c | 10 +- xorg-server/hw/xfree86/fbdevhw/Makefile.in | 76 +- xorg-server/hw/xfree86/fbdevhw/fbdevhw.c | 1 - xorg-server/hw/xfree86/i2c/Makefile.in | 76 +- xorg-server/hw/xfree86/i2c/xf86i2c.c | 24 - xorg-server/hw/xfree86/int10/Makefile.in | 76 +- xorg-server/hw/xfree86/int10/generic.c | 17 +- xorg-server/hw/xfree86/int10/helper_exec.c | 2 + xorg-server/hw/xfree86/int10/helper_mem.c | 2 +- xorg-server/hw/xfree86/int10/xf86int10.c | 28 +- xorg-server/hw/xfree86/loader/Makefile.am | 12 +- xorg-server/hw/xfree86/loader/Makefile.in | 129 +- xorg-server/hw/xfree86/loader/SparcMulDiv.S | 87 - xorg-server/hw/xfree86/loader/dixsym.c | 76 +- xorg-server/hw/xfree86/loader/dlloader.c | 9 +- xorg-server/hw/xfree86/loader/fontsym.c | 109 - xorg-server/hw/xfree86/loader/loader.c | 21 +- xorg-server/hw/xfree86/loader/loader.h | 3 - xorg-server/hw/xfree86/loader/loaderProcs.h | 2 - xorg-server/hw/xfree86/loader/loadfont.c | 81 - xorg-server/hw/xfree86/loader/loadmod.c | 39 +- xorg-server/hw/xfree86/loader/misym.c | 177 +- xorg-server/hw/xfree86/loader/os.c | 6 - xorg-server/hw/xfree86/loader/xf86sym.c | 131 +- xorg-server/hw/xfree86/modes/Makefile.in | 76 +- xorg-server/hw/xfree86/modes/xf86Crtc.c | 516 +- xorg-server/hw/xfree86/modes/xf86Crtc.h | 122 +- xorg-server/hw/xfree86/modes/xf86Cursors.c | 65 +- xorg-server/hw/xfree86/modes/xf86EdidModes.c | 331 +- xorg-server/hw/xfree86/modes/xf86Modes.c | 34 +- xorg-server/hw/xfree86/modes/xf86Modes.h | 16 +- xorg-server/hw/xfree86/modes/xf86RandR12.c | 596 +- xorg-server/hw/xfree86/modes/xf86RandR12.h | 1 + xorg-server/hw/xfree86/modes/xf86Rename.h | 1 + xorg-server/hw/xfree86/modes/xf86Rotate.c | 494 +- xorg-server/hw/xfree86/modes/xf86gtf.c | 4 + xorg-server/hw/xfree86/os-support/Makefile.am | 10 +- xorg-server/hw/xfree86/os-support/Makefile.in | 85 +- xorg-server/hw/xfree86/os-support/README.OS-lib | 505 -- xorg-server/hw/xfree86/os-support/assyntax.h | 749 --- xorg-server/hw/xfree86/os-support/bsd/Makefile.am | 27 +- xorg-server/hw/xfree86/os-support/bsd/Makefile.in | 132 +- .../hw/xfree86/os-support/bsd/alpha_video.c | 18 - xorg-server/hw/xfree86/os-support/bsd/arm_video.c | 21 - .../hw/xfree86/os-support/bsd/bsdResource.c | 92 - xorg-server/hw/xfree86/os-support/bsd/bsd_axp.c | 2 +- xorg-server/hw/xfree86/os-support/bsd/bsd_init.c | 107 +- xorg-server/hw/xfree86/os-support/bsd/bsd_jstk.c | 183 - xorg-server/hw/xfree86/os-support/bsd/bsd_mouse.c | 791 --- xorg-server/hw/xfree86/os-support/bsd/i386_video.c | 98 - .../hw/xfree86/os-support/bsd/libusb/data.c | 92 - .../hw/xfree86/os-support/bsd/libusb/descr.c | 73 - .../hw/xfree86/os-support/bsd/libusb/parse.c | 401 -- .../hw/xfree86/os-support/bsd/libusb/usage.c | 196 - xorg-server/hw/xfree86/os-support/bsd/libusb/usb.3 | 191 - xorg-server/hw/xfree86/os-support/bsd/libusb/usb.h | 92 - .../xfree86/os-support/bsd/libusb/usb_hid_usages | 1079 ---- .../hw/xfree86/os-support/bsd/libusb/usbvar.h | 31 - xorg-server/hw/xfree86/os-support/bsd/ppc_video.c | 18 - .../hw/xfree86/os-support/bsd/sparc64_video.c | 18 - xorg-server/hw/xfree86/os-support/bus/Makefile.am | 12 - xorg-server/hw/xfree86/os-support/bus/Makefile.in | 102 +- xorg-server/hw/xfree86/os-support/bus/Pci.c | 25 +- xorg-server/hw/xfree86/os-support/bus/Pci.h | 82 +- xorg-server/hw/xfree86/os-support/bus/Sbus.c | 84 +- xorg-server/hw/xfree86/os-support/bus/bsd_pci.c | 17 - xorg-server/hw/xfree86/os-support/bus/ix86Pci.c | 718 --- xorg-server/hw/xfree86/os-support/bus/linuxPci.c | 34 +- xorg-server/hw/xfree86/os-support/bus/ppcPci.c | 82 - xorg-server/hw/xfree86/os-support/bus/sparcPci.c | 979 ---- xorg-server/hw/xfree86/os-support/bus/xf86Pci.h | 2 - xorg-server/hw/xfree86/os-support/hurd/Makefile.am | 2 +- xorg-server/hw/xfree86/os-support/hurd/Makefile.in | 84 +- .../hw/xfree86/os-support/hurd/hurd_mouse.c | 242 - .../hw/xfree86/os-support/hurd/hurd_video.c | 14 - .../hw/xfree86/os-support/linux/Makefile.am | 9 +- .../hw/xfree86/os-support/linux/Makefile.in | 96 +- .../hw/xfree86/os-support/linux/int10/linux.c | 21 +- .../hw/xfree86/os-support/linux/lnxResource.c | 104 - xorg-server/hw/xfree86/os-support/linux/lnx_axp.c | 2 - xorg-server/hw/xfree86/os-support/linux/lnx_bell.c | 1 + xorg-server/hw/xfree86/os-support/linux/lnx_ev56.c | 2 - xorg-server/hw/xfree86/os-support/linux/lnx_init.c | 54 +- xorg-server/hw/xfree86/os-support/linux/lnx_jstk.c | 180 - .../hw/xfree86/os-support/linux/lnx_mouse.c | 221 - .../hw/xfree86/os-support/linux/lnx_video.c | 221 +- .../hw/xfree86/os-support/lynxos/Makefile.am | 8 - .../hw/xfree86/os-support/lynxos/Makefile.in | 540 -- .../hw/xfree86/os-support/lynxos/lynx_init.c | 192 - .../hw/xfree86/os-support/lynxos/lynx_mmap.c | 72 - .../hw/xfree86/os-support/lynxos/lynx_mouse.c | 33 - .../hw/xfree86/os-support/lynxos/lynx_noinline.c | 177 - .../hw/xfree86/os-support/lynxos/lynx_ppc.S | 70 - .../hw/xfree86/os-support/lynxos/lynx_ppc.c | 51 - .../hw/xfree86/os-support/lynxos/lynx_video.c | 710 --- xorg-server/hw/xfree86/os-support/misc/BUSmemcpy.S | 153 - xorg-server/hw/xfree86/os-support/misc/BUSmemcpy.c | 225 - xorg-server/hw/xfree86/os-support/misc/IODelay.S | 53 - xorg-server/hw/xfree86/os-support/misc/IODelay.c | 24 - xorg-server/hw/xfree86/os-support/misc/Makefile.am | 15 +- xorg-server/hw/xfree86/os-support/misc/Makefile.in | 97 +- xorg-server/hw/xfree86/os-support/misc/PortIO.S | 57 - xorg-server/hw/xfree86/os-support/misc/SlowBcopy.S | 108 - xorg-server/hw/xfree86/os-support/misc/SlowBcopy.c | 70 +- .../hw/xfree86/os-support/misc/xf86_IlHack.c | 16 - xorg-server/hw/xfree86/os-support/misc/xf86_Util.c | 94 - xorg-server/hw/xfree86/os-support/sco/Makefile.am | 1 - xorg-server/hw/xfree86/os-support/sco/Makefile.in | 72 +- xorg-server/hw/xfree86/os-support/sco/sco_iop.c | 44 - xorg-server/hw/xfree86/os-support/sco/sco_mouse.c | 258 - .../hw/xfree86/os-support/shared/bios_mmap.c | 29 +- xorg-server/hw/xfree86/os-support/shared/inout.S | 111 - .../hw/xfree86/os-support/shared/posix_tty.c | 11 +- xorg-server/hw/xfree86/os-support/shared/sigio.c | 2 +- .../hw/xfree86/os-support/shared/stdResource.c | 3 - .../hw/xfree86/os-support/solaris/Makefile.am | 5 +- .../hw/xfree86/os-support/solaris/Makefile.in | 105 +- .../hw/xfree86/os-support/solaris/sun_bios.c | 103 - .../hw/xfree86/os-support/solaris/sun_init.c | 26 +- .../hw/xfree86/os-support/solaris/sun_mouse.c | 717 --- .../hw/xfree86/os-support/solaris/sun_vid.c | 337 +- xorg-server/hw/xfree86/os-support/sysv/Makefile.am | 2 +- xorg-server/hw/xfree86/os-support/sysv/Makefile.in | 73 +- .../hw/xfree86/os-support/sysv/sysv_mouse.c | 60 - .../hw/xfree86/os-support/sysv/sysv_video.c | 52 - xorg-server/hw/xfree86/os-support/usl/Makefile.am | 6 - xorg-server/hw/xfree86/os-support/usl/Makefile.in | 538 -- xorg-server/hw/xfree86/os-support/usl/usl_init.c | 357 -- xorg-server/hw/xfree86/os-support/usl/usl_iop.c | 106 - xorg-server/hw/xfree86/os-support/usl/usl_mouse.c | 177 - xorg-server/hw/xfree86/os-support/usl/usl_video.c | 109 - xorg-server/hw/xfree86/os-support/usl/usl_vtsw.c | 95 - xorg-server/hw/xfree86/os-support/xf86OSmouse.h | 294 - xorg-server/hw/xfree86/os-support/xf86_OSlib.h | 246 +- xorg-server/hw/xfree86/os-support/xf86_OSproc.h | 7 - xorg-server/hw/xfree86/parser/Configint.h | 6 +- xorg-server/hw/xfree86/parser/Files.c | 15 + xorg-server/hw/xfree86/parser/Makefile.am | 7 +- xorg-server/hw/xfree86/parser/Makefile.in | 83 +- xorg-server/hw/xfree86/parser/cpconfig.c | 122 - xorg-server/hw/xfree86/parser/read.c | 1 - xorg-server/hw/xfree86/parser/scan.c | 5 +- xorg-server/hw/xfree86/parser/write.c | 9 - xorg-server/hw/xfree86/parser/xf86Parser.h | 1 + xorg-server/hw/xfree86/parser/xf86tokens.h | 2 + xorg-server/hw/xfree86/rac/Makefile.am | 8 - xorg-server/hw/xfree86/rac/Makefile.in | 674 --- xorg-server/hw/xfree86/rac/xf86RAC.c | 1157 ---- xorg-server/hw/xfree86/rac/xf86RAC.h | 17 - xorg-server/hw/xfree86/ramdac/Makefile.in | 76 +- xorg-server/hw/xfree86/ramdac/xf86Cursor.c | 227 +- xorg-server/hw/xfree86/ramdac/xf86HWCurs.c | 6 +- xorg-server/hw/xfree86/shadowfb/Makefile.in | 76 +- xorg-server/hw/xfree86/shadowfb/shadow.c | 6 +- xorg-server/hw/xfree86/utils/Makefile.am | 6 +- xorg-server/hw/xfree86/utils/Makefile.in | 79 +- xorg-server/hw/xfree86/utils/cvt/Makefile.in | 80 +- xorg-server/hw/xfree86/utils/gtf/Makefile.in | 76 +- xorg-server/hw/xfree86/utils/gtf/gtf.c | 5 - xorg-server/hw/xfree86/utils/ioport/Makefile.am | 58 - xorg-server/hw/xfree86/utils/ioport/Makefile.in | 739 --- xorg-server/hw/xfree86/utils/ioport/ioport.c | 491 -- xorg-server/hw/xfree86/utils/kbd_mode/Makefile.am | 70 - xorg-server/hw/xfree86/utils/kbd_mode/Makefile.in | 829 --- .../hw/xfree86/utils/kbd_mode/bsd-kbd_mode.c | 91 - .../hw/xfree86/utils/kbd_mode/bsd-kbd_mode.man.pre | 36 - .../hw/xfree86/utils/kbd_mode/sun-kbd_mode.c | 152 - .../hw/xfree86/utils/kbd_mode/sun-kbd_mode.man.pre | 53 - xorg-server/hw/xfree86/utils/xorgcfg/Makefile.am | 164 - xorg-server/hw/xfree86/utils/xorgcfg/Makefile.in | 1305 ----- xorg-server/hw/xfree86/utils/xorgcfg/TODO | 33 - xorg-server/hw/xfree86/utils/xorgcfg/XOrgCfg.pre | 1852 ------- xorg-server/hw/xfree86/utils/xorgcfg/accessx.c | 681 --- xorg-server/hw/xfree86/utils/xorgcfg/card-cfg.c | 433 -- xorg-server/hw/xfree86/utils/xorgcfg/card-cfg.h | 43 - xorg-server/hw/xfree86/utils/xorgcfg/card.xbm | 59 - xorg-server/hw/xfree86/utils/xorgcfg/card.xpm | 81 - xorg-server/hw/xfree86/utils/xorgcfg/cards.c | 695 --- xorg-server/hw/xfree86/utils/xorgcfg/cards.h | 89 - xorg-server/hw/xfree86/utils/xorgcfg/computer.xpm | 91 - xorg-server/hw/xfree86/utils/xorgcfg/config.c | 301 - xorg-server/hw/xfree86/utils/xorgcfg/config.h | 226 - xorg-server/hw/xfree86/utils/xorgcfg/down.xbm | 8 - xorg-server/hw/xfree86/utils/xorgcfg/expert.c | 4839 ---------------- xorg-server/hw/xfree86/utils/xorgcfg/help.c | 1785 ------ xorg-server/hw/xfree86/utils/xorgcfg/help.h | 40 - xorg-server/hw/xfree86/utils/xorgcfg/interface.c | 2278 -------- .../hw/xfree86/utils/xorgcfg/keyboard-cfg.c | 1378 ----- .../hw/xfree86/utils/xorgcfg/keyboard-cfg.h | 73 - xorg-server/hw/xfree86/utils/xorgcfg/keyboard.xbm | 59 - xorg-server/hw/xfree86/utils/xorgcfg/keyboard.xpm | 66 - xorg-server/hw/xfree86/utils/xorgcfg/left.xbm | 8 - xorg-server/hw/xfree86/utils/xorgcfg/loader.c | 405 -- xorg-server/hw/xfree86/utils/xorgcfg/loader.h | 170 - xorg-server/hw/xfree86/utils/xorgcfg/loadmod.c | 663 --- xorg-server/hw/xfree86/utils/xorgcfg/monitor-cfg.c | 456 -- xorg-server/hw/xfree86/utils/xorgcfg/monitor-cfg.h | 47 - xorg-server/hw/xfree86/utils/xorgcfg/monitor.xbm | 59 - xorg-server/hw/xfree86/utils/xorgcfg/monitor.xpm | 79 - xorg-server/hw/xfree86/utils/xorgcfg/mouse-cfg.c | 449 -- xorg-server/hw/xfree86/utils/xorgcfg/mouse-cfg.h | 42 - xorg-server/hw/xfree86/utils/xorgcfg/mouse.xbm | 59 - xorg-server/hw/xfree86/utils/xorgcfg/mouse.xpm | 76 - xorg-server/hw/xfree86/utils/xorgcfg/narrower.xbm | 8 - xorg-server/hw/xfree86/utils/xorgcfg/options.c | 787 --- xorg-server/hw/xfree86/utils/xorgcfg/options.h | 50 - xorg-server/hw/xfree86/utils/xorgcfg/right.xbm | 8 - xorg-server/hw/xfree86/utils/xorgcfg/screen-cfg.c | 555 -- xorg-server/hw/xfree86/utils/xorgcfg/screen-cfg.h | 43 - xorg-server/hw/xfree86/utils/xorgcfg/screen.c | 983 ---- xorg-server/hw/xfree86/utils/xorgcfg/screen.h | 51 - xorg-server/hw/xfree86/utils/xorgcfg/shorter.xbm | 8 - xorg-server/hw/xfree86/utils/xorgcfg/startx.c | 146 - xorg-server/hw/xfree86/utils/xorgcfg/stubs.c | 65 - xorg-server/hw/xfree86/utils/xorgcfg/stubs.h | 42 - xorg-server/hw/xfree86/utils/xorgcfg/taller.xbm | 8 - xorg-server/hw/xfree86/utils/xorgcfg/text-mode.c | 3379 ------------ xorg-server/hw/xfree86/utils/xorgcfg/up.xbm | 8 - xorg-server/hw/xfree86/utils/xorgcfg/vidmode.c | 1346 ----- xorg-server/hw/xfree86/utils/xorgcfg/vidmode.h | 63 - xorg-server/hw/xfree86/utils/xorgcfg/wider.xbm | 8 - xorg-server/hw/xfree86/utils/xorgcfg/xf86config.c | 982 ---- xorg-server/hw/xfree86/utils/xorgcfg/xf86config.h | 110 - .../hw/xfree86/utils/xorgcfg/xorgcfg.man.pre | 148 - xorg-server/hw/xfree86/utils/xorgconfig/Cards | 3135 ----------- xorg-server/hw/xfree86/utils/xorgconfig/Cards98 | 647 --- .../hw/xfree86/utils/xorgconfig/Makefile.am | 70 - .../hw/xfree86/utils/xorgconfig/Makefile.in | 857 --- xorg-server/hw/xfree86/utils/xorgconfig/cards.c | 278 - xorg-server/hw/xfree86/utils/xorgconfig/cards.h | 30 - .../hw/xfree86/utils/xorgconfig/xorgconfig.c | 2890 ---------- .../hw/xfree86/utils/xorgconfig/xorgconfig.man.pre | 22 - xorg-server/hw/xfree86/vbe/Makefile.in | 76 +- xorg-server/hw/xfree86/vbe/vbe.c | 6 +- xorg-server/hw/xfree86/vgahw/Makefile.in | 76 +- xorg-server/hw/xfree86/x86emu/Makefile.in | 76 +- xorg-server/hw/xfree86/x86emu/ops2.c | 4 +- xorg-server/hw/xfree86/x86emu/prim_ops.c | 2 +- xorg-server/hw/xfree86/x86emu/sys.c | 68 +- .../hw/xfree86/x86emu/x86emu/prim_x86_gcc.h | 2 +- xorg-server/hw/xfree86/x86emu/x86emu/types.h | 5 +- xorg-server/hw/xfree86/xaa/Makefile.am | 4 +- xorg-server/hw/xfree86/xaa/Makefile.in | 80 +- xorg-server/hw/xfree86/xaa/xaa.h | 4 + xorg-server/hw/xfree86/xaa/xaaCpyPlane.c | 10 +- xorg-server/hw/xfree86/xaa/xaaInit.c | 12 +- xorg-server/hw/xfree86/xaa/xaaInitAccel.c | 13 +- xorg-server/hw/xfree86/xaa/xaaNonTEText.c | 3 +- xorg-server/hw/xfree86/xaa/xaaOverlayDF.c | 3 +- xorg-server/hw/xfree86/xaa/xaaStateChange.c | 3 +- xorg-server/hw/xfree86/xaa/xaaTEGlyphBlt.S | 964 ---- xorg-server/hw/xfree86/xaa/xaaWrapper.c | 6 +- xorg-server/hw/xfree86/xaa/xaalocal.h | 4 + xorg-server/hw/xfree86/xaa/xaawrap.h | 4 +- xorg-server/hw/xfree86/xf1bpp/Makefile.am | 178 - xorg-server/hw/xfree86/xf1bpp/Makefile.in | 929 ---- xorg-server/hw/xfree86/xf1bpp/maskbits.c | 2 - xorg-server/hw/xfree86/xf1bpp/mfbbitblt.c | 2 - xorg-server/hw/xfree86/xf1bpp/mfbbltC.c | 3 - xorg-server/hw/xfree86/xf1bpp/mfbbltCI.c | 3 - xorg-server/hw/xfree86/xf1bpp/mfbbltG.c | 3 - xorg-server/hw/xfree86/xf1bpp/mfbbltO.c | 3 - xorg-server/hw/xfree86/xf1bpp/mfbbltX.c | 3 - xorg-server/hw/xfree86/xf1bpp/mfbbres.c | 2 - xorg-server/hw/xfree86/xf1bpp/mfbbresd.c | 2 - xorg-server/hw/xfree86/xf1bpp/mfbclip.c | 2 - xorg-server/hw/xfree86/xf1bpp/mfbcmap.c | 2 - xorg-server/hw/xfree86/xf1bpp/mfbfillarc.c | 2 - xorg-server/hw/xfree86/xf1bpp/mfbfillrct.c | 2 - xorg-server/hw/xfree86/xf1bpp/mfbfillsp.c | 2 - xorg-server/hw/xfree86/xf1bpp/mfbfont.c | 2 - xorg-server/hw/xfree86/xf1bpp/mfbgc.c | 2 - xorg-server/hw/xfree86/xf1bpp/mfbgetsp.c | 2 - xorg-server/hw/xfree86/xf1bpp/mfbhrzvert.c | 2 - xorg-server/hw/xfree86/xf1bpp/mfbigbblak.c | 4 - xorg-server/hw/xfree86/xf1bpp/mfbigbwht.c | 4 - xorg-server/hw/xfree86/xf1bpp/mfbimage.c | 2 - xorg-server/hw/xfree86/xf1bpp/mfbline.c | 2 - xorg-server/hw/xfree86/xf1bpp/mfbmap.h | 122 - xorg-server/hw/xfree86/xf1bpp/mfbmap.sh | 25 - xorg-server/hw/xfree86/xf1bpp/mfbmisc.c | 2 - xorg-server/hw/xfree86/xf1bpp/mfbmodule.c | 47 - xorg-server/hw/xfree86/xf1bpp/mfbpablack.c | 6 - xorg-server/hw/xfree86/xf1bpp/mfbpainv.c | 6 - xorg-server/hw/xfree86/xf1bpp/mfbpawhite.c | 6 - xorg-server/hw/xfree86/xf1bpp/mfbpgbblak.c | 4 - xorg-server/hw/xfree86/xf1bpp/mfbpgbinv.c | 4 - xorg-server/hw/xfree86/xf1bpp/mfbpgbwht.c | 4 - xorg-server/hw/xfree86/xf1bpp/mfbpixmap.c | 2 - xorg-server/hw/xfree86/xf1bpp/mfbplyblack.c | 5 - xorg-server/hw/xfree86/xf1bpp/mfbplyinv.c | 5 - xorg-server/hw/xfree86/xf1bpp/mfbplywhite.c | 5 - xorg-server/hw/xfree86/xf1bpp/mfbpolypnt.c | 2 - xorg-server/hw/xfree86/xf1bpp/mfbpushpxl.c | 2 - xorg-server/hw/xfree86/xf1bpp/mfbscrclse.c | 2 - xorg-server/hw/xfree86/xf1bpp/mfbscrinit.c | 2 - xorg-server/hw/xfree86/xf1bpp/mfbseg.c | 3 - xorg-server/hw/xfree86/xf1bpp/mfbsetsp.c | 2 - xorg-server/hw/xfree86/xf1bpp/mfbteblack.c | 5 - xorg-server/hw/xfree86/xf1bpp/mfbtewhite.c | 5 - xorg-server/hw/xfree86/xf1bpp/mfbtileC.c | 3 - xorg-server/hw/xfree86/xf1bpp/mfbtileG.c | 3 - xorg-server/hw/xfree86/xf1bpp/mfbunmap.h | 114 - xorg-server/hw/xfree86/xf1bpp/mfbunmap.sh | 23 - xorg-server/hw/xfree86/xf1bpp/mfbwindow.c | 2 - xorg-server/hw/xfree86/xf1bpp/mfbzerarc.c | 2 - xorg-server/hw/xfree86/xf1bpp/xf1bpp.h | 36 - xorg-server/hw/xfree86/xf4bpp/Makefile.am | 57 - xorg-server/hw/xfree86/xf4bpp/Makefile.in | 791 --- xorg-server/hw/xfree86/xf4bpp/NOTES | 194 - xorg-server/hw/xfree86/xf4bpp/OScompiler.h | 58 - xorg-server/hw/xfree86/xf4bpp/emulOpStip.c | 102 - xorg-server/hw/xfree86/xf4bpp/emulRepAre.c | 69 - xorg-server/hw/xfree86/xf4bpp/emulTile.c | 352 -- xorg-server/hw/xfree86/xf4bpp/ibmTrace.h | 1 - xorg-server/hw/xfree86/xf4bpp/mfbbres.c | 164 - xorg-server/hw/xfree86/xf4bpp/mfbbresd.c | 205 - xorg-server/hw/xfree86/xf4bpp/mfbfillarc.c | 301 - xorg-server/hw/xfree86/xf4bpp/mfbhrzvert.c | 135 - xorg-server/hw/xfree86/xf4bpp/mfbimggblt.c | 505 -- xorg-server/hw/xfree86/xf4bpp/mfbline.c | 976 ---- xorg-server/hw/xfree86/xf4bpp/mfbseg.c | 2 - xorg-server/hw/xfree86/xf4bpp/mfbzerarc.c | 267 - xorg-server/hw/xfree86/xf4bpp/offscreen.c | 342 -- xorg-server/hw/xfree86/xf4bpp/ppcArea.c | 97 - xorg-server/hw/xfree86/xf4bpp/ppcCReduce.c | 237 - xorg-server/hw/xfree86/xf4bpp/ppcClip.c | 157 - xorg-server/hw/xfree86/xf4bpp/ppcCpArea.c | 470 -- xorg-server/hw/xfree86/xf4bpp/ppcDepth.c | 53 - xorg-server/hw/xfree86/xf4bpp/ppcFillRct.c | 215 - xorg-server/hw/xfree86/xf4bpp/ppcGC.c | 446 -- xorg-server/hw/xfree86/xf4bpp/ppcGCstr.h | 71 - xorg-server/hw/xfree86/xf4bpp/ppcGetSp.c | 141 - xorg-server/hw/xfree86/xf4bpp/ppcIO.c | 233 - xorg-server/hw/xfree86/xf4bpp/ppcImg.c | 122 - xorg-server/hw/xfree86/xf4bpp/ppcPixFS.c | 502 -- xorg-server/hw/xfree86/xf4bpp/ppcPixmap.c | 151 - xorg-server/hw/xfree86/xf4bpp/ppcPolyPnt.c | 143 - xorg-server/hw/xfree86/xf4bpp/ppcQuery.c | 46 - xorg-server/hw/xfree86/xf4bpp/ppcRslvC.c | 177 - xorg-server/hw/xfree86/xf4bpp/ppcSetSp.c | 319 -- xorg-server/hw/xfree86/xf4bpp/ppcSpMcro.h | 43 - xorg-server/hw/xfree86/xf4bpp/ppcWinFS.c | 280 - xorg-server/hw/xfree86/xf4bpp/ppcWindow.c | 220 - xorg-server/hw/xfree86/xf4bpp/vgaBitBlt.c | 749 --- xorg-server/hw/xfree86/xf4bpp/vgaGC.c | 213 - xorg-server/hw/xfree86/xf4bpp/vgaImages.c | 460 -- xorg-server/hw/xfree86/xf4bpp/vgaReg.h | 137 - xorg-server/hw/xfree86/xf4bpp/vgaSolid.c | 574 -- xorg-server/hw/xfree86/xf4bpp/vgaStipple.c | 720 --- xorg-server/hw/xfree86/xf4bpp/vgaVideo.h | 93 - xorg-server/hw/xfree86/xf4bpp/vgamodule.c | 57 - xorg-server/hw/xfree86/xf4bpp/wm3.c | 203 - xorg-server/hw/xfree86/xf4bpp/wm3.h | 73 - xorg-server/hw/xfree86/xf4bpp/xf4bpp.h | 622 --- xorg-server/hw/xfree86/xf8_16bpp/Makefile.in | 76 +- xorg-server/hw/xfree86/xf8_32bpp/Makefile.am | 37 - xorg-server/hw/xfree86/xf8_32bpp/Makefile.in | 739 --- xorg-server/hw/xfree86/xf8_32bpp/cfb8_32.h | 191 - xorg-server/hw/xfree86/xf8_32bpp/cfb8_32module.c | 39 - xorg-server/hw/xfree86/xf8_32bpp/cfbcpyarea.c | 549 -- xorg-server/hw/xfree86/xf8_32bpp/cfbcpyplane.c | 41 - xorg-server/hw/xfree86/xf8_32bpp/cfbgc.c | 646 --- xorg-server/hw/xfree86/xf8_32bpp/cfbgc32.c | 2 - xorg-server/hw/xfree86/xf8_32bpp/cfbgc8.c | 2 - xorg-server/hw/xfree86/xf8_32bpp/cfbgcmisc.c | 150 - xorg-server/hw/xfree86/xf8_32bpp/cfbgcunder.c | 620 --- xorg-server/hw/xfree86/xf8_32bpp/cfbimage.c | 174 - xorg-server/hw/xfree86/xf8_32bpp/cfbpntwin.c | 51 - xorg-server/hw/xfree86/xf8_32bpp/cfbscrinit.c | 311 -- xorg-server/hw/xfree86/xf8_32bpp/cfbwindow.c | 116 - xorg-server/hw/xfree86/xf8_32bpp/xf86overlay.c | 1179 ---- xorg-server/hw/xgl/Makefile.am | 83 - xorg-server/hw/xgl/Makefile.in | 961 ---- xorg-server/hw/xgl/egl/Makefile.am | 44 - xorg-server/hw/xgl/egl/Makefile.in | 900 --- xorg-server/hw/xgl/egl/evdev.c | 646 --- xorg-server/hw/xgl/egl/kinput.c | 1672 ------ xorg-server/hw/xgl/egl/kkeymap.h | 55 - xorg-server/hw/xgl/egl/module/Makefile.am | 15 - xorg-server/hw/xgl/egl/module/Makefile.in | 685 --- xorg-server/hw/xgl/egl/module/xeglmodule.c | 104 - xorg-server/hw/xgl/egl/xegl.c | 303 - xorg-server/hw/xgl/egl/xegl.h | 214 - xorg-server/hw/xgl/egl/xeglinit.c | 131 - xorg-server/hw/xgl/egl/xeglinput.c | 168 - xorg-server/hw/xgl/glx/Makefile.am | 48 - xorg-server/hw/xgl/glx/Makefile.in | 797 --- xorg-server/hw/xgl/glx/module/Makefile.am | 21 - xorg-server/hw/xgl/glx/module/Makefile.in | 688 --- xorg-server/hw/xgl/glx/module/xglxmodule.c | 104 - xorg-server/hw/xgl/glx/xglx.c | 1444 ----- xorg-server/hw/xgl/glx/xglx.h | 138 - xorg-server/hw/xgl/glx/xglxorg.c | 674 --- xorg-server/hw/xgl/glxext/Makefile.am | 21 - xorg-server/hw/xgl/glxext/Makefile.in | 773 --- xorg-server/hw/xgl/glxext/module/Makefile.am | 22 - xorg-server/hw/xgl/glxext/module/Makefile.in | 700 --- xorg-server/hw/xgl/glxext/module/glcoremodule.c | 38 - xorg-server/hw/xgl/glxext/module/glxmodule.c | 38 - xorg-server/hw/xgl/glxext/xglglxext.c | 5772 -------------------- xorg-server/hw/xgl/glxext/xglglxext.h | 41 - xorg-server/hw/xgl/glxext/xglglxlog.c | 4519 --------------- xorg-server/hw/xgl/xgl.h | 1474 ----- xorg-server/hw/xgl/xglarea.c | 323 -- xorg-server/hw/xgl/xglcmap.c | 466 -- xorg-server/hw/xgl/xglcompose.c | 281 - xorg-server/hw/xgl/xglcopy.c | 130 - xorg-server/hw/xgl/xglfill.c | 742 --- xorg-server/hw/xgl/xglgc.c | 645 --- xorg-server/hw/xgl/xglgeometry.c | 724 --- xorg-server/hw/xgl/xglget.c | 88 - xorg-server/hw/xgl/xglglx.c | 260 - xorg-server/hw/xgl/xglglx.h | 79 - xorg-server/hw/xgl/xglglyph.c | 1170 ---- xorg-server/hw/xgl/xglhash.c | 134 - xorg-server/hw/xgl/xglinit.c | 336 -- xorg-server/hw/xgl/xglinput.c | 263 - xorg-server/hw/xgl/xglloader.c | 130 - xorg-server/hw/xgl/xglmodule.h | 45 - xorg-server/hw/xgl/xgloutput.c | 181 - xorg-server/hw/xgl/xglparse.c | 257 - xorg-server/hw/xgl/xglpict.c | 787 --- xorg-server/hw/xgl/xglpixmap.c | 744 --- xorg-server/hw/xgl/xglscreen.c | 473 -- xorg-server/hw/xgl/xglshm.c | 123 - xorg-server/hw/xgl/xglsolid.c | 159 - xorg-server/hw/xgl/xglsync.c | 453 -- xorg-server/hw/xgl/xgltile.c | 268 - xorg-server/hw/xgl/xgltrap.c | 481 -- xorg-server/hw/xgl/xglwindow.c | 166 - xorg-server/hw/xgl/xglxv.c | 634 --- xorg-server/hw/xnest/Args.c | 15 - xorg-server/hw/xnest/Cursor.c | 34 +- xorg-server/hw/xnest/Events.c | 19 +- xorg-server/hw/xnest/Font.c | 5 - xorg-server/hw/xnest/GC.c | 3 +- xorg-server/hw/xnest/Init.c | 16 +- xorg-server/hw/xnest/Keyboard.c | 4 - xorg-server/hw/xnest/Makefile.in | 76 +- xorg-server/hw/xnest/Pixmap.c | 5 +- xorg-server/hw/xnest/Pointer.c | 1 - xorg-server/hw/xnest/Screen.c | 17 +- xorg-server/hw/xnest/Window.c | 13 +- xorg-server/hw/xnest/XNCursor.h | 39 +- xorg-server/hw/xnest/XNWindow.h | 4 - xorg-server/hw/xprint/AttrValid.c | 701 --- xorg-server/hw/xprint/AttrValid.h | 219 - xorg-server/hw/xprint/DiPrint.h | 85 - xorg-server/hw/xprint/Init.c | 1920 ------- xorg-server/hw/xprint/Makefile.am | 58 - xorg-server/hw/xprint/Makefile.in | 1010 ---- xorg-server/hw/xprint/Oid.c | 3181 ----------- xorg-server/hw/xprint/Oid.h | 293 - xorg-server/hw/xprint/OidDefs.h | 170 - xorg-server/hw/xprint/OidStrs.h | 172 - xorg-server/hw/xprint/Util.c | 370 -- xorg-server/hw/xprint/ValTree.c | 191 - xorg-server/hw/xprint/attributes.c | 1740 ------ xorg-server/hw/xprint/attributes.h | 130 - xorg-server/hw/xprint/config/C/Makefile.am | 1 - xorg-server/hw/xprint/config/C/Makefile.in | 690 --- xorg-server/hw/xprint/config/C/print/Makefile.am | 14 - xorg-server/hw/xprint/config/C/print/Makefile.in | 749 --- xorg-server/hw/xprint/config/C/print/Xprinters | 49 - .../xprint/config/C/print/attributes/Makefile.am | 3 - .../xprint/config/C/print/attributes/Makefile.in | 565 -- .../hw/xprint/config/C/print/attributes/document | 49 - .../hw/xprint/config/C/print/attributes/job | 25 - .../hw/xprint/config/C/print/attributes/printer | 96 - .../xprint/config/C/print/ddx-config/Makefile.am | 1 - .../xprint/config/C/print/ddx-config/Makefile.in | 690 --- .../config/C/print/ddx-config/raster/Makefile.am | 3 - .../config/C/print/ddx-config/raster/Makefile.in | 565 -- .../hw/xprint/config/C/print/ddx-config/raster/pcl | 39 - .../config/C/print/ddx-config/raster/postscript | 0 .../C/print/models/CANONBJ10E-GS/Makefile.am | 3 - .../C/print/models/CANONBJ10E-GS/Makefile.in | 565 -- .../C/print/models/CANONBJ10E-GS/model-config | 23 - .../C/print/models/CANONC3200-PS/Makefile.am | 5 - .../C/print/models/CANONC3200-PS/Makefile.in | 724 --- .../C/print/models/CANONC3200-PS/fonts/Makefile.am | 54 - .../C/print/models/CANONC3200-PS/fonts/Makefile.in | 588 -- .../C/print/models/CANONC3200-PS/model-config | 40 - .../config/C/print/models/GSdefault/Makefile.am | 3 - .../config/C/print/models/GSdefault/Makefile.in | 565 -- .../config/C/print/models/GSdefault/model-config | 137 - .../config/C/print/models/HPDJ1600C/Makefile.am | 5 - .../config/C/print/models/HPDJ1600C/Makefile.in | 724 --- .../C/print/models/HPDJ1600C/fonts/9nb00051.pmf | Bin 5740 -> 0 bytes .../C/print/models/HPDJ1600C/fonts/9nb00052.pmf | Bin 5736 -> 0 bytes .../C/print/models/HPDJ1600C/fonts/9nb00053.pmf | Bin 5740 -> 0 bytes .../C/print/models/HPDJ1600C/fonts/9nb00054.pmf | Bin 5744 -> 0 bytes .../C/print/models/HPDJ1600C/fonts/9nb00055.pmf | Bin 5740 -> 0 bytes .../C/print/models/HPDJ1600C/fonts/9nb00056.pmf | Bin 5724 -> 0 bytes .../C/print/models/HPDJ1600C/fonts/9nb00057.pmf | Bin 5632 -> 0 bytes .../C/print/models/HPDJ1600C/fonts/9nb00058.pmf | Bin 5740 -> 0 bytes .../C/print/models/HPDJ1600C/fonts/9nb00059.pmf | Bin 5720 -> 0 bytes .../C/print/models/HPDJ1600C/fonts/9nb00060.pmf | Bin 5740 -> 0 bytes .../C/print/models/HPDJ1600C/fonts/9nb00061.pmf | Bin 5720 -> 0 bytes .../C/print/models/HPDJ1600C/fonts/9nb00062.pmf | Bin 5728 -> 0 bytes .../C/print/models/HPDJ1600C/fonts/9nb00063.pmf | Bin 5728 -> 0 bytes .../C/print/models/HPDJ1600C/fonts/9nb00064.pmf | Bin 5720 -> 0 bytes .../C/print/models/HPDJ1600C/fonts/9nb00065.pmf | Bin 5728 -> 0 bytes .../C/print/models/HPDJ1600C/fonts/9nb00066.pmf | Bin 5732 -> 0 bytes .../C/print/models/HPDJ1600C/fonts/9nb00067.pmf | Bin 5736 -> 0 bytes .../C/print/models/HPDJ1600C/fonts/9nb00068.pmf | Bin 5732 -> 0 bytes .../C/print/models/HPDJ1600C/fonts/9nb00069.pmf | Bin 5740 -> 0 bytes .../C/print/models/HPDJ1600C/fonts/9nb00070.pmf | Bin 5744 -> 0 bytes .../C/print/models/HPDJ1600C/fonts/9nb00071.pmf | Bin 5740 -> 0 bytes .../C/print/models/HPDJ1600C/fonts/9nb00072.pmf | Bin 5724 -> 0 bytes .../C/print/models/HPDJ1600C/fonts/9nb00073.pmf | Bin 5720 -> 0 bytes .../C/print/models/HPDJ1600C/fonts/9nb00074.pmf | Bin 5724 -> 0 bytes .../C/print/models/HPDJ1600C/fonts/9nb00075.pmf | Bin 5724 -> 0 bytes .../C/print/models/HPDJ1600C/fonts/9nb00076.pmf | Bin 5716 -> 0 bytes .../C/print/models/HPDJ1600C/fonts/9nb00077.pmf | Bin 5720 -> 0 bytes .../C/print/models/HPDJ1600C/fonts/9nb00079.pmf | Bin 5656 -> 0 bytes .../C/print/models/HPDJ1600C/fonts/9nb00080.pmf | Bin 5664 -> 0 bytes .../C/print/models/HPDJ1600C/fonts/9nb00081.pmf | Bin 5672 -> 0 bytes .../C/print/models/HPDJ1600C/fonts/9nb00082.pmf | Bin 5660 -> 0 bytes .../C/print/models/HPDJ1600C/fonts/9nb00083.pmf | Bin 5720 -> 0 bytes .../C/print/models/HPDJ1600C/fonts/9nb00084.pmf | Bin 5724 -> 0 bytes .../C/print/models/HPDJ1600C/fonts/9nb00085.pmf | Bin 5724 -> 0 bytes .../C/print/models/HPDJ1600C/fonts/9nb00086.pmf | Bin 5716 -> 0 bytes .../C/print/models/HPDJ1600C/fonts/9nb00087.pmf | Bin 5752 -> 0 bytes .../C/print/models/HPDJ1600C/fonts/9nb00088.pmf | Bin 5720 -> 0 bytes .../C/print/models/HPDJ1600C/fonts/9nb00089.pmf | Bin 5744 -> 0 bytes .../C/print/models/HPDJ1600C/fonts/9nb00090.pmf | Bin 5736 -> 0 bytes .../C/print/models/HPDJ1600C/fonts/9nb00091.pmf | Bin 5744 -> 0 bytes .../C/print/models/HPDJ1600C/fonts/9nb00092.pmf | Bin 5736 -> 0 bytes .../C/print/models/HPDJ1600C/fonts/9nb00093.pmf | Bin 5728 -> 0 bytes .../C/print/models/HPDJ1600C/fonts/9nb00094.pmf | Bin 5728 -> 0 bytes .../C/print/models/HPDJ1600C/fonts/Makefile.am | 50 - .../C/print/models/HPDJ1600C/fonts/Makefile.in | 613 --- .../config/C/print/models/HPDJ1600C/fonts/README | 197 - .../C/print/models/HPDJ1600C/fonts/fonts.alias | 0 .../C/print/models/HPDJ1600C/fonts/fonts.dir | 45 - .../C/print/models/HPDJ1600C/fonts/lpr0ye1a.pmf | Bin 4296 -> 0 bytes .../config/C/print/models/HPDJ1600C/model-config | 40 - .../config/C/print/models/HPLJ4050-PS/Makefile.am | 5 - .../config/C/print/models/HPLJ4050-PS/Makefile.in | 724 --- .../C/print/models/HPLJ4050-PS/fonts/Makefile.am | 54 - .../C/print/models/HPLJ4050-PS/fonts/Makefile.in | 588 -- .../config/C/print/models/HPLJ4050-PS/model-config | 36 - .../config/C/print/models/HPLJ4family/Makefile.am | 5 - .../config/C/print/models/HPLJ4family/Makefile.in | 724 --- .../C/print/models/HPLJ4family/fonts/9nb00051.pmf | Bin 5740 -> 0 bytes .../C/print/models/HPLJ4family/fonts/9nb00052.pmf | Bin 5736 -> 0 bytes .../C/print/models/HPLJ4family/fonts/9nb00053.pmf | Bin 5740 -> 0 bytes .../C/print/models/HPLJ4family/fonts/9nb00054.pmf | Bin 5744 -> 0 bytes .../C/print/models/HPLJ4family/fonts/9nb00055.pmf | Bin 5740 -> 0 bytes .../C/print/models/HPLJ4family/fonts/9nb00056.pmf | Bin 5724 -> 0 bytes .../C/print/models/HPLJ4family/fonts/9nb00057.pmf | Bin 5632 -> 0 bytes .../C/print/models/HPLJ4family/fonts/9nb00058.pmf | Bin 5740 -> 0 bytes .../C/print/models/HPLJ4family/fonts/9nb00059.pmf | Bin 5720 -> 0 bytes .../C/print/models/HPLJ4family/fonts/9nb00060.pmf | Bin 5740 -> 0 bytes .../C/print/models/HPLJ4family/fonts/9nb00061.pmf | Bin 5720 -> 0 bytes .../C/print/models/HPLJ4family/fonts/9nb00062.pmf | Bin 5728 -> 0 bytes .../C/print/models/HPLJ4family/fonts/9nb00063.pmf | Bin 5728 -> 0 bytes .../C/print/models/HPLJ4family/fonts/9nb00064.pmf | Bin 5720 -> 0 bytes .../C/print/models/HPLJ4family/fonts/9nb00065.pmf | Bin 5728 -> 0 bytes .../C/print/models/HPLJ4family/fonts/9nb00066.pmf | Bin 5732 -> 0 bytes .../C/print/models/HPLJ4family/fonts/9nb00067.pmf | Bin 5736 -> 0 bytes .../C/print/models/HPLJ4family/fonts/9nb00068.pmf | Bin 5732 -> 0 bytes .../C/print/models/HPLJ4family/fonts/9nb00069.pmf | Bin 5740 -> 0 bytes .../C/print/models/HPLJ4family/fonts/9nb00070.pmf | Bin 5744 -> 0 bytes .../C/print/models/HPLJ4family/fonts/9nb00071.pmf | Bin 5740 -> 0 bytes .../C/print/models/HPLJ4family/fonts/9nb00072.pmf | Bin 5724 -> 0 bytes .../C/print/models/HPLJ4family/fonts/9nb00073.pmf | Bin 5720 -> 0 bytes .../C/print/models/HPLJ4family/fonts/9nb00074.pmf | Bin 5724 -> 0 bytes .../C/print/models/HPLJ4family/fonts/9nb00075.pmf | Bin 5724 -> 0 bytes .../C/print/models/HPLJ4family/fonts/9nb00076.pmf | Bin 5716 -> 0 bytes .../C/print/models/HPLJ4family/fonts/9nb00077.pmf | Bin 5720 -> 0 bytes .../C/print/models/HPLJ4family/fonts/9nb00079.pmf | Bin 5656 -> 0 bytes .../C/print/models/HPLJ4family/fonts/9nb00080.pmf | Bin 5664 -> 0 bytes .../C/print/models/HPLJ4family/fonts/9nb00081.pmf | Bin 5672 -> 0 bytes .../C/print/models/HPLJ4family/fonts/9nb00082.pmf | Bin 5660 -> 0 bytes .../C/print/models/HPLJ4family/fonts/9nb00083.pmf | Bin 5720 -> 0 bytes .../C/print/models/HPLJ4family/fonts/9nb00084.pmf | Bin 5724 -> 0 bytes .../C/print/models/HPLJ4family/fonts/9nb00085.pmf | Bin 5724 -> 0 bytes .../C/print/models/HPLJ4family/fonts/9nb00086.pmf | Bin 5716 -> 0 bytes .../C/print/models/HPLJ4family/fonts/9nb00087.pmf | Bin 5752 -> 0 bytes .../C/print/models/HPLJ4family/fonts/9nb00088.pmf | Bin 5720 -> 0 bytes .../C/print/models/HPLJ4family/fonts/9nb00089.pmf | Bin 5744 -> 0 bytes .../C/print/models/HPLJ4family/fonts/9nb00090.pmf | Bin 5736 -> 0 bytes .../C/print/models/HPLJ4family/fonts/9nb00091.pmf | Bin 5744 -> 0 bytes .../C/print/models/HPLJ4family/fonts/9nb00092.pmf | Bin 5736 -> 0 bytes .../C/print/models/HPLJ4family/fonts/9nb00093.pmf | Bin 5728 -> 0 bytes .../C/print/models/HPLJ4family/fonts/9nb00094.pmf | Bin 5728 -> 0 bytes .../C/print/models/HPLJ4family/fonts/Makefile.am | 50 - .../C/print/models/HPLJ4family/fonts/Makefile.in | 613 --- .../config/C/print/models/HPLJ4family/fonts/README | 203 - .../C/print/models/HPLJ4family/fonts/fonts.alias | 0 .../C/print/models/HPLJ4family/fonts/fonts.dir | 45 - .../C/print/models/HPLJ4family/fonts/lpr0ye1a.pmf | Bin 4296 -> 0 bytes .../config/C/print/models/HPLJ4family/model-config | 39 - .../hw/xprint/config/C/print/models/Makefile.am | 11 - .../hw/xprint/config/C/print/models/Makefile.in | 701 --- .../C/print/models/PS2PDFspooldir-GS/Makefile.am | 4 - .../C/print/models/PS2PDFspooldir-GS/Makefile.in | 589 -- .../C/print/models/PS2PDFspooldir-GS/model-config | 72 - .../models/PS2PDFspooldir-GS/ps2pdf_spooltodir.sh | 130 - .../config/C/print/models/PSdefault/Makefile.am | 5 - .../config/C/print/models/PSdefault/Makefile.in | 724 --- .../models/PSdefault/fonts/AvantGarde-Book.pmf | Bin 6716 -> 0 bytes .../PSdefault/fonts/AvantGarde-BookOblique.pmf | Bin 6728 -> 0 bytes .../models/PSdefault/fonts/AvantGarde-Demi.pmf | Bin 6712 -> 0 bytes .../PSdefault/fonts/AvantGarde-DemiOblique.pmf | Bin 6724 -> 0 bytes .../print/models/PSdefault/fonts/Courier-Bold.pmf | Bin 6612 -> 0 bytes .../models/PSdefault/fonts/Courier-BoldOblique.pmf | Bin 6636 -> 0 bytes .../models/PSdefault/fonts/Courier-Oblique.pmf | Bin 6608 -> 0 bytes .../C/print/models/PSdefault/fonts/Courier.pmf | Bin 6592 -> 0 bytes .../models/PSdefault/fonts/Helvetica-Bold.pmf | Bin 6680 -> 0 bytes .../PSdefault/fonts/Helvetica-BoldOblique.pmf | Bin 6692 -> 0 bytes .../models/PSdefault/fonts/Helvetica-Oblique.pmf | Bin 6688 -> 0 bytes .../C/print/models/PSdefault/fonts/Helvetica.pmf | Bin 6672 -> 0 bytes .../models/PSdefault/fonts/LubalinGraph-Book.pmf | Bin 6628 -> 0 bytes .../PSdefault/fonts/LubalinGraph-BookOblique.pmf | Bin 6640 -> 0 bytes .../models/PSdefault/fonts/LubalinGraph-Demi.pmf | Bin 6624 -> 0 bytes .../PSdefault/fonts/LubalinGraph-DemiOblique.pmf | Bin 6636 -> 0 bytes .../C/print/models/PSdefault/fonts/Makefile.am | 44 - .../C/print/models/PSdefault/fonts/Makefile.in | 610 --- .../models/PSdefault/fonts/NewCentSchlbk-Bold.pmf | Bin 6644 -> 0 bytes .../PSdefault/fonts/NewCentSchlbk-BoldItal.pmf | Bin 6656 -> 0 bytes .../models/PSdefault/fonts/NewCentSchlbk-Ital.pmf | Bin 6652 -> 0 bytes .../models/PSdefault/fonts/NewCentSchlbk-Roman.pmf | Bin 6648 -> 0 bytes .../print/models/PSdefault/fonts/Souvenir-Demi.pmf | Bin 6680 -> 0 bytes .../models/PSdefault/fonts/Souvenir-DemiItalic.pmf | Bin 6692 -> 0 bytes .../models/PSdefault/fonts/Souvenir-Light.pmf | Bin 6684 -> 0 bytes .../PSdefault/fonts/Souvenir-LightItalic.pmf | Bin 6696 -> 0 bytes .../C/print/models/PSdefault/fonts/Symbol.pmf | Bin 6556 -> 0 bytes .../C/print/models/PSdefault/fonts/Times-Bold.pmf | Bin 6660 -> 0 bytes .../models/PSdefault/fonts/Times-BoldItalic.pmf | Bin 6672 -> 0 bytes .../print/models/PSdefault/fonts/Times-Italic.pmf | Bin 6668 -> 0 bytes .../C/print/models/PSdefault/fonts/Times-Roman.pmf | Bin 6664 -> 0 bytes .../print/models/PSdefault/fonts/ZapfDingbats.pmf | Bin 6676 -> 0 bytes .../config/C/print/models/PSdefault/model-config | 136 - .../config/C/print/models/PSspooldir/Makefile.am | 4 - .../config/C/print/models/PSspooldir/Makefile.in | 589 -- .../config/C/print/models/PSspooldir/model-config | 71 - .../config/C/print/models/PSspooldir/spooltodir.sh | 127 - .../config/C/print/models/SPSPARC2/Makefile.am | 5 - .../config/C/print/models/SPSPARC2/Makefile.in | 724 --- .../C/print/models/SPSPARC2/fonts/Makefile.am | 37 - .../C/print/models/SPSPARC2/fonts/Makefile.in | 571 -- .../config/C/print/models/SPSPARC2/model-config | 18 - xorg-server/hw/xprint/config/Makefile.am | 712 --- xorg-server/hw/xprint/config/Makefile.in | 1427 ----- xorg-server/hw/xprint/config/README | 318 -- xorg-server/hw/xprint/config/en_US/Makefile.am | 1 - xorg-server/hw/xprint/config/en_US/Makefile.in | 690 --- .../hw/xprint/config/en_US/print/Makefile.am | 1 - .../hw/xprint/config/en_US/print/Makefile.in | 690 --- .../config/en_US/print/attributes/Makefile.am | 3 - .../config/en_US/print/attributes/Makefile.in | 565 -- .../xprint/config/en_US/print/attributes/document | 13 - xorg-server/hw/xprint/ddxInit.c | 390 -- xorg-server/hw/xprint/doc/Makefile.am | 19 - xorg-server/hw/xprint/doc/Makefile.in | 624 --- xorg-server/hw/xprint/doc/Xprt.html | 115 - xorg-server/hw/xprint/doc/Xprt.man.pre | 196 - xorg-server/hw/xprint/doc/Xprt.sgml | 371 -- xorg-server/hw/xprint/dpmsstubs-wrapper.c | 1 - xorg-server/hw/xprint/etc/Makefile.am | 1 - xorg-server/hw/xprint/etc/Makefile.in | 690 --- .../hw/xprint/etc/Xsession.d/92xprint-xpserverlist | 30 - xorg-server/hw/xprint/etc/Xsession.d/Makefile.am | 2 - xorg-server/hw/xprint/etc/Xsession.d/Makefile.in | 565 -- xorg-server/hw/xprint/etc/init.d/Makefile.am | 12 - xorg-server/hw/xprint/etc/init.d/Makefile.in | 590 -- xorg-server/hw/xprint/etc/init.d/xprint.cpp | 1277 ----- xorg-server/hw/xprint/etc/profile.d/Makefile.am | 1 - xorg-server/hw/xprint/etc/profile.d/Makefile.in | 532 -- xorg-server/hw/xprint/etc/profile.d/xprint.csh | 16 - xorg-server/hw/xprint/etc/profile.d/xprint.sh | 16 - xorg-server/hw/xprint/mediaSizes.c | 782 --- xorg-server/hw/xprint/miinitext-wrapper.c | 1 - xorg-server/hw/xprint/pcl-mono/Makefile.am | 5 - xorg-server/hw/xprint/pcl-mono/Makefile.in | 814 --- xorg-server/hw/xprint/pcl/Makefile.am | 6 - xorg-server/hw/xprint/pcl/Makefile.am.inc | 27 - xorg-server/hw/xprint/pcl/Makefile.in | 814 --- xorg-server/hw/xprint/pcl/Pcl.h | 619 --- xorg-server/hw/xprint/pcl/PclArc.c | 268 - xorg-server/hw/xprint/pcl/PclArea.c | 436 -- xorg-server/hw/xprint/pcl/PclAttVal.c | 206 - xorg-server/hw/xprint/pcl/PclAttr.c | 86 - xorg-server/hw/xprint/pcl/PclColor.c | 851 --- xorg-server/hw/xprint/pcl/PclCursor.c | 113 - xorg-server/hw/xprint/pcl/PclDef.h | 67 - xorg-server/hw/xprint/pcl/PclFonts.c | 72 - xorg-server/hw/xprint/pcl/PclGC.c | 971 ---- xorg-server/hw/xprint/pcl/PclInit.c | 575 -- xorg-server/hw/xprint/pcl/PclLine.c | 314 -- xorg-server/hw/xprint/pcl/PclMisc.c | 301 - xorg-server/hw/xprint/pcl/PclPixel.c | 159 - xorg-server/hw/xprint/pcl/PclPolygon.c | 351 -- xorg-server/hw/xprint/pcl/PclPrint.c | 709 --- xorg-server/hw/xprint/pcl/PclSFonts.c | 427 -- xorg-server/hw/xprint/pcl/PclSFonts.h | 115 - xorg-server/hw/xprint/pcl/PclSpans.c | 137 - xorg-server/hw/xprint/pcl/PclText.c | 934 ---- xorg-server/hw/xprint/pcl/PclWindow.c | 209 - xorg-server/hw/xprint/pcl/Pclmap.h | 210 - xorg-server/hw/xprint/ps/Makefile.am | 42 - xorg-server/hw/xprint/ps/Makefile.in | 693 --- xorg-server/hw/xprint/ps/Ps.h | 600 -- xorg-server/hw/xprint/ps/PsArc.c | 181 - xorg-server/hw/xprint/ps/PsArea.c | 390 -- xorg-server/hw/xprint/ps/PsAttVal.c | 289 - xorg-server/hw/xprint/ps/PsAttr.c | 116 - xorg-server/hw/xprint/ps/PsCache.c | 328 -- xorg-server/hw/xprint/ps/PsColor.c | 257 - xorg-server/hw/xprint/ps/PsDef.h | 96 - xorg-server/hw/xprint/ps/PsFTFonts.c | 85 - xorg-server/hw/xprint/ps/PsFonts.c | 873 --- xorg-server/hw/xprint/ps/PsGC.c | 418 -- xorg-server/hw/xprint/ps/PsImageUtil.c | 329 -- xorg-server/hw/xprint/ps/PsInit.c | 648 --- xorg-server/hw/xprint/ps/PsLine.c | 191 - xorg-server/hw/xprint/ps/PsMisc.c | 320 -- xorg-server/hw/xprint/ps/PsPixel.c | 156 - xorg-server/hw/xprint/ps/PsPixmap.c | 623 --- xorg-server/hw/xprint/ps/PsPolygon.c | 259 - xorg-server/hw/xprint/ps/PsPrint.c | 459 -- xorg-server/hw/xprint/ps/PsSpans.c | 164 - xorg-server/hw/xprint/ps/PsText.c | 581 -- xorg-server/hw/xprint/ps/PsWindow.c | 222 - xorg-server/hw/xprint/ps/psout.c | 1789 ------ xorg-server/hw/xprint/ps/psout.h | 335 -- xorg-server/hw/xprint/ps/psout_ft.c | 337 -- xorg-server/hw/xprint/ps/psout_ftpstype1.c | 185 - xorg-server/hw/xprint/ps/psout_ftpstype3.c | 439 -- xorg-server/hw/xprint/ps/ttf2pt1wrap.c | 14 - xorg-server/hw/xprint/raster/Makefile.am | 10 - xorg-server/hw/xprint/raster/Makefile.in | 648 --- xorg-server/hw/xprint/raster/Raster.c | 1563 ------ xorg-server/hw/xprint/raster/Raster.h | 117 - xorg-server/hw/xprint/raster/RasterAttVal.c | 267 - xorg-server/hw/xprint/spooler.c | 202 - xorg-server/hw/xprint/spooler.h | 75 - xorg-server/hw/xquartz/GL/Makefile.am | 8 +- xorg-server/hw/xquartz/GL/Makefile.in | 89 +- xorg-server/hw/xquartz/GL/capabilities.c | 559 ++ xorg-server/hw/xquartz/GL/capabilities.h | 66 + xorg-server/hw/xquartz/GL/indirect.c | 1263 ++--- xorg-server/hw/xquartz/GL/visualConfigs.c | 255 + xorg-server/hw/xquartz/GL/visualConfigs.h | 28 + xorg-server/hw/xquartz/Makefile.am | 27 +- xorg-server/hw/xquartz/Makefile.in | 122 +- xorg-server/hw/xquartz/X11Application.h | 29 +- xorg-server/hw/xquartz/X11Application.m | 953 ++-- xorg-server/hw/xquartz/X11Controller.h | 22 +- xorg-server/hw/xquartz/X11Controller.m | 415 +- xorg-server/hw/xquartz/applewm.c | 20 +- .../xquartz/bundle/Dutch.lproj/InfoPlist.strings | Bin 274 -> 0 bytes .../xquartz/bundle/Dutch.lproj/Localizable.strings | Bin 1084 -> 0 bytes .../bundle/Dutch.lproj/main.nib/keyedobjects.nib | Bin 32654 -> 0 bytes .../xquartz/bundle/English.lproj/InfoPlist.strings | Bin 276 -> 0 bytes .../bundle/English.lproj/Localizable.strings | Bin 1094 -> 0 bytes .../bundle/English.lproj/main.nib/designable.nib | 3482 ------------ .../bundle/English.lproj/main.nib/keyedobjects.nib | Bin 35571 -> 0 bytes .../xquartz/bundle/French.lproj/InfoPlist.strings | Bin 276 -> 0 bytes .../bundle/French.lproj/Localizable.strings | Bin 1168 -> 0 bytes .../bundle/French.lproj/main.nib/keyedobjects.nib | Bin 36404 -> 0 bytes .../xquartz/bundle/German.lproj/InfoPlist.strings | Bin 276 -> 0 bytes .../bundle/German.lproj/Localizable.strings | Bin 1096 -> 0 bytes .../bundle/German.lproj/main.nib/keyedobjects.nib | Bin 34995 -> 0 bytes xorg-server/hw/xquartz/bundle/Info.plist | 39 - xorg-server/hw/xquartz/bundle/Info.plist.cpp | 39 + .../xquartz/bundle/Italian.lproj/InfoPlist.strings | Bin 278 -> 0 bytes .../bundle/Italian.lproj/Localizable.strings | Bin 1146 -> 0 bytes .../bundle/Italian.lproj/main.nib/keyedobjects.nib | Bin 33677 -> 0 bytes .../bundle/Japanese.lproj/InfoPlist.strings | Bin 272 -> 0 bytes .../bundle/Japanese.lproj/Localizable.strings | Bin 916 -> 0 bytes .../Japanese.lproj/main.nib/keyedobjects.nib | Bin 33095 -> 0 bytes xorg-server/hw/xquartz/bundle/Makefile.am | 139 +- xorg-server/hw/xquartz/bundle/Makefile.in | 305 +- xorg-server/hw/xquartz/bundle/PkgInfo | 1 + .../bundle/Resources/Dutch.lproj/InfoPlist.strings | Bin 0 -> 274 bytes .../Resources/Dutch.lproj/Localizable.strings | Bin 0 -> 1084 bytes .../Dutch.lproj/main.nib/keyedobjects.nib | Bin 0 -> 32654 bytes .../Resources/English.lproj/InfoPlist.strings | Bin 0 -> 276 bytes .../Resources/English.lproj/Localizable.strings | Bin 0 -> 2528 bytes .../English.lproj/main.nib/designable.nib | 4038 ++++++++++++++ .../English.lproj/main.nib/keyedobjects.nib | Bin 0 -> 41769 bytes .../Resources/French.lproj/InfoPlist.strings | Bin 0 -> 276 bytes .../Resources/French.lproj/Localizable.strings | Bin 0 -> 1168 bytes .../French.lproj/main.nib/keyedobjects.nib | Bin 0 -> 36404 bytes .../Resources/German.lproj/InfoPlist.strings | Bin 0 -> 276 bytes .../Resources/German.lproj/Localizable.strings | Bin 0 -> 1096 bytes .../German.lproj/main.nib/keyedobjects.nib | Bin 0 -> 34995 bytes .../Resources/Italian.lproj/InfoPlist.strings | Bin 0 -> 278 bytes .../Resources/Italian.lproj/Localizable.strings | Bin 0 -> 1146 bytes .../Italian.lproj/main.nib/keyedobjects.nib | Bin 0 -> 33677 bytes .../Resources/Japanese.lproj/InfoPlist.strings | Bin 0 -> 272 bytes .../Resources/Japanese.lproj/Localizable.strings | Bin 0 -> 916 bytes .../Japanese.lproj/main.nib/keyedobjects.nib | Bin 0 -> 33095 bytes .../Resources/Spanish.lproj/InfoPlist.strings | Bin 0 -> 276 bytes .../Resources/Spanish.lproj/Localizable.strings | Bin 0 -> 1134 bytes .../Spanish.lproj/main.nib/keyedobjects.nib | Bin 0 -> 35294 bytes xorg-server/hw/xquartz/bundle/Resources/X11.icns | Bin 0 -> 189002 bytes .../bundle/Resources/da.lproj/InfoPlist.strings | Bin 0 -> 276 bytes .../bundle/Resources/da.lproj/Localizable.strings | Bin 0 -> 1090 bytes .../Resources/da.lproj/main.nib/keyedobjects.nib | Bin 0 -> 34164 bytes .../bundle/Resources/fi.lproj/InfoPlist.strings | Bin 0 -> 274 bytes .../bundle/Resources/fi.lproj/Localizable.strings | Bin 0 -> 1102 bytes .../Resources/fi.lproj/main.nib/keyedobjects.nib | Bin 0 -> 34765 bytes .../bundle/Resources/ko.lproj/InfoPlist.strings | Bin 0 -> 266 bytes .../bundle/Resources/ko.lproj/Localizable.strings | Bin 0 -> 916 bytes .../Resources/ko.lproj/main.nib/keyedobjects.nib | Bin 0 -> 32690 bytes .../bundle/Resources/no.lproj/InfoPlist.strings | Bin 0 -> 276 bytes .../bundle/Resources/no.lproj/Localizable.strings | Bin 0 -> 1084 bytes .../Resources/no.lproj/main.nib/keyedobjects.nib | Bin 0 -> 33581 bytes .../bundle/Resources/pl.lproj/InfoPlist.strings | Bin 0 -> 274 bytes .../bundle/Resources/pl.lproj/Localizable.strings | Bin 0 -> 1116 bytes .../Resources/pl.lproj/main.nib/keyedobjects.nib | Bin 0 -> 35113 bytes .../bundle/Resources/pt.lproj/InfoPlist.strings | Bin 0 -> 274 bytes .../bundle/Resources/pt.lproj/Localizable.strings | Bin 0 -> 1192 bytes .../Resources/pt.lproj/main.nib/keyedobjects.nib | Bin 0 -> 34533 bytes .../bundle/Resources/pt_PT.lproj/InfoPlist.strings | Bin 0 -> 274 bytes .../Resources/pt_PT.lproj/Localizable.strings | Bin 0 -> 1140 bytes .../pt_PT.lproj/main.nib/keyedobjects.nib | Bin 0 -> 35485 bytes .../bundle/Resources/ru.lproj/InfoPlist.strings | Bin 0 -> 274 bytes .../bundle/Resources/ru.lproj/Localizable.strings | Bin 0 -> 1122 bytes .../Resources/ru.lproj/main.nib/keyedobjects.nib | Bin 0 -> 36593 bytes .../bundle/Resources/sv.lproj/InfoPlist.strings | Bin 0 -> 260 bytes .../bundle/Resources/sv.lproj/Localizable.strings | Bin 0 -> 1106 bytes .../Resources/sv.lproj/main.nib/keyedobjects.nib | Bin 0 -> 35017 bytes .../bundle/Resources/zh_CN.lproj/InfoPlist.strings | Bin 0 -> 260 bytes .../Resources/zh_CN.lproj/Localizable.strings | Bin 0 -> 884 bytes .../zh_CN.lproj/main.nib/keyedobjects.nib | Bin 0 -> 31481 bytes .../bundle/Resources/zh_TW.lproj/InfoPlist.strings | Bin 0 -> 266 bytes .../Resources/zh_TW.lproj/Localizable.strings | Bin 0 -> 890 bytes .../zh_TW.lproj/main.nib/keyedobjects.nib | Bin 0 -> 31748 bytes .../xquartz/bundle/Spanish.lproj/InfoPlist.strings | Bin 276 -> 0 bytes .../bundle/Spanish.lproj/Localizable.strings | Bin 1134 -> 0 bytes .../bundle/Spanish.lproj/main.nib/keyedobjects.nib | Bin 35294 -> 0 bytes xorg-server/hw/xquartz/bundle/X11.icns | Bin 65908 -> 0 bytes xorg-server/hw/xquartz/bundle/X11.sh | 15 + .../xquartz/bundle/X11.xcodeproj/project.pbxproj | 458 -- xorg-server/hw/xquartz/bundle/bundle-main.c | 136 - xorg-server/hw/xquartz/bundle/cpprules.in | 37 + .../hw/xquartz/bundle/da.lproj/InfoPlist.strings | Bin 276 -> 0 bytes .../hw/xquartz/bundle/da.lproj/Localizable.strings | Bin 1090 -> 0 bytes .../bundle/da.lproj/main.nib/keyedobjects.nib | Bin 34164 -> 0 bytes .../hw/xquartz/bundle/fi.lproj/InfoPlist.strings | Bin 274 -> 0 bytes .../hw/xquartz/bundle/fi.lproj/Localizable.strings | Bin 1102 -> 0 bytes .../bundle/fi.lproj/main.nib/keyedobjects.nib | Bin 34765 -> 0 bytes .../hw/xquartz/bundle/ko.lproj/InfoPlist.strings | Bin 266 -> 0 bytes .../hw/xquartz/bundle/ko.lproj/Localizable.strings | Bin 916 -> 0 bytes .../bundle/ko.lproj/main.nib/keyedobjects.nib | Bin 32690 -> 0 bytes xorg-server/hw/xquartz/bundle/mk_bundke.sh | 30 + .../hw/xquartz/bundle/no.lproj/InfoPlist.strings | Bin 276 -> 0 bytes .../hw/xquartz/bundle/no.lproj/Localizable.strings | Bin 1084 -> 0 bytes .../bundle/no.lproj/main.nib/keyedobjects.nib | Bin 33581 -> 0 bytes .../hw/xquartz/bundle/pl.lproj/InfoPlist.strings | Bin 274 -> 0 bytes .../hw/xquartz/bundle/pl.lproj/Localizable.strings | Bin 1116 -> 0 bytes .../bundle/pl.lproj/main.nib/keyedobjects.nib | Bin 35113 -> 0 bytes .../hw/xquartz/bundle/pt.lproj/InfoPlist.strings | Bin 274 -> 0 bytes .../hw/xquartz/bundle/pt.lproj/Localizable.strings | Bin 1192 -> 0 bytes .../bundle/pt.lproj/main.nib/keyedobjects.nib | Bin 34533 -> 0 bytes .../xquartz/bundle/pt_PT.lproj/InfoPlist.strings | Bin 274 -> 0 bytes .../xquartz/bundle/pt_PT.lproj/Localizable.strings | Bin 1140 -> 0 bytes .../bundle/pt_PT.lproj/main.nib/keyedobjects.nib | Bin 35485 -> 0 bytes .../hw/xquartz/bundle/ru.lproj/InfoPlist.strings | Bin 274 -> 0 bytes .../hw/xquartz/bundle/ru.lproj/Localizable.strings | Bin 1122 -> 0 bytes .../bundle/ru.lproj/main.nib/keyedobjects.nib | Bin 36593 -> 0 bytes .../hw/xquartz/bundle/sv.lproj/InfoPlist.strings | Bin 260 -> 0 bytes .../hw/xquartz/bundle/sv.lproj/Localizable.strings | Bin 1106 -> 0 bytes .../bundle/sv.lproj/main.nib/keyedobjects.nib | Bin 35017 -> 0 bytes .../xquartz/bundle/zh_CN.lproj/InfoPlist.strings | Bin 260 -> 0 bytes .../xquartz/bundle/zh_CN.lproj/Localizable.strings | Bin 884 -> 0 bytes .../bundle/zh_CN.lproj/main.nib/keyedobjects.nib | Bin 31481 -> 0 bytes .../xquartz/bundle/zh_TW.lproj/InfoPlist.strings | Bin 266 -> 0 bytes .../xquartz/bundle/zh_TW.lproj/Localizable.strings | Bin 890 -> 0 bytes .../bundle/zh_TW.lproj/main.nib/keyedobjects.nib | Bin 31748 -> 0 bytes xorg-server/hw/xquartz/darwin.c | 359 +- xorg-server/hw/xquartz/darwin.h | 52 +- xorg-server/hw/xquartz/darwinEvents.c | 795 +-- xorg-server/hw/xquartz/darwinEvents.h | 52 +- xorg-server/hw/xquartz/darwinKeyboard.c | 1009 ---- xorg-server/hw/xquartz/darwinKeyboard.h | 45 - xorg-server/hw/xquartz/darwinXinput.c | 200 +- xorg-server/hw/xquartz/doc/Makefile.am | 14 + xorg-server/hw/xquartz/doc/Makefile.in | 587 ++ xorg-server/hw/xquartz/doc/Xquartz.man.pre | 159 + xorg-server/hw/xquartz/mach-startup/Makefile.am | 74 + xorg-server/hw/xquartz/mach-startup/Makefile.in | 754 +++ xorg-server/hw/xquartz/mach-startup/bundle-main.c | 581 ++ xorg-server/hw/xquartz/mach-startup/launchd_fd.c | 82 + xorg-server/hw/xquartz/mach-startup/launchd_fd.h | 36 + .../hw/xquartz/mach-startup/mach_startup.defs | 50 + .../hw/xquartz/mach-startup/mach_startup_types.h | 9 + xorg-server/hw/xquartz/mach-startup/stub.c | 345 ++ xorg-server/hw/xquartz/pbproxy/Makefile.am | 23 + xorg-server/hw/xquartz/pbproxy/Makefile.in | 698 +++ xorg-server/hw/xquartz/pbproxy/app-main.m | 92 + xorg-server/hw/xquartz/pbproxy/main.m | 164 + xorg-server/hw/xquartz/pbproxy/pbproxy.h | 91 + xorg-server/hw/xquartz/pbproxy/trick_autotools.c | 3 + xorg-server/hw/xquartz/pbproxy/x-input.m | 187 + xorg-server/hw/xquartz/pbproxy/x-selection.h | 116 + xorg-server/hw/xquartz/pbproxy/x-selection.m | 1545 ++++++ xorg-server/hw/xquartz/pseudoramiX.c | 41 +- xorg-server/hw/xquartz/quartz.c | 286 +- xorg-server/hw/xquartz/quartz.h | 17 +- xorg-server/hw/xquartz/quartzAudio.c | 16 +- xorg-server/hw/xquartz/quartzCocoa.m | 13 +- xorg-server/hw/xquartz/quartzCommon.h | 27 +- xorg-server/hw/xquartz/quartzCursor.c | 646 --- xorg-server/hw/xquartz/quartzCursor.h | 42 - xorg-server/hw/xquartz/quartzForeground.c | 47 - xorg-server/hw/xquartz/quartzForeground.h | 37 - xorg-server/hw/xquartz/quartzKeyboard.c | 548 +- xorg-server/hw/xquartz/quartzKeyboard.h | 19 +- xorg-server/hw/xquartz/quartzPasteboard.c | 12 +- xorg-server/hw/xquartz/quartzPasteboard.h | 4 +- xorg-server/hw/xquartz/quartzStartup.c | 97 +- xorg-server/hw/xquartz/sanitizedCarbon.h | 32 + xorg-server/hw/xquartz/sanitizedCocoa.h | 27 + xorg-server/hw/xquartz/threadSafety.c | 78 + xorg-server/hw/xquartz/threadSafety.h | 56 + xorg-server/hw/xquartz/xpr/Makefile.am | 60 +- xorg-server/hw/xquartz/xpr/Makefile.in | 355 +- xorg-server/hw/xquartz/xpr/appledri.c | 6 +- xorg-server/hw/xquartz/xpr/dri.c | 224 +- xorg-server/hw/xquartz/xpr/dri.h | 2 +- xorg-server/hw/xquartz/xpr/x-hash.c | 12 +- xorg-server/hw/xquartz/xpr/x-hash.h | 31 + xorg-server/hw/xquartz/xpr/xpr.h | 3 + xorg-server/hw/xquartz/xpr/xprAppleWM.c | 29 +- xorg-server/hw/xquartz/xpr/xprCursor.c | 61 +- xorg-server/hw/xquartz/xpr/xprEvent.c | 91 + xorg-server/hw/xquartz/xpr/xprEvent.h | 34 + xorg-server/hw/xquartz/xpr/xprFrame.c | 107 +- xorg-server/hw/xquartz/xpr/xprScreen.c | 112 +- xorg-server/hw/xwin/InitInput.c | 3 - xorg-server/hw/xwin/InitOutput.c | 5 - xorg-server/hw/xwin/Makefile.am | 8 +- xorg-server/hw/xwin/Makefile.in | 97 +- xorg-server/hw/xwin/glx/ChangeLog | 64 + xorg-server/hw/xwin/glx/glwindows.h | 64 + xorg-server/hw/xwin/glx/glwrap.c | 583 ++ xorg-server/hw/xwin/glx/indirect.c | 1605 ++++++ xorg-server/hw/xwin/win.h | 6 - xorg-server/hw/xwin/wincursor.c | 3 +- xorg-server/hw/xwin/wingc.c | 2 +- xorg-server/hw/xwin/winglobals.c | 15 +- xorg-server/hw/xwin/winmouse.c | 8 +- xorg-server/hw/xwin/winmultiwindowicons.c | 8 +- xorg-server/hw/xwin/winmultiwindowshape.c | 2 - xorg-server/hw/xwin/winmultiwindowwindow.c | 2 - xorg-server/hw/xwin/winprefslex.c | 30 +- xorg-server/hw/xwin/winprefsyacc.c | 385 +- xorg-server/hw/xwin/winprefsyacc.h | 44 +- xorg-server/hw/xwin/winpushpxl.c | 225 - xorg-server/hw/xwin/winscrinit.c | 8 - xorg-server/hw/xwin/winwin32rootlesswndproc.c | 8 +- xorg-server/hw/xwin/winwindow.c | 8 - xorg-server/hw/xwin/winwindowswm.c | 10 +- 1301 files changed, 27010 insertions(+), 242390 deletions(-) create mode 100644 xorg-server/hw/dmx/input/atKeynames.h delete mode 100644 xorg-server/hw/kdrive/ati/Makefile.am delete mode 100644 xorg-server/hw/kdrive/ati/Makefile.in delete mode 100644 xorg-server/hw/kdrive/ati/ati.c delete mode 100644 xorg-server/hw/kdrive/ati/ati.h delete mode 100644 xorg-server/hw/kdrive/ati/ati_cursor.c delete mode 100644 xorg-server/hw/kdrive/ati/ati_dma.c delete mode 100644 xorg-server/hw/kdrive/ati/ati_dma.h delete mode 100644 xorg-server/hw/kdrive/ati/ati_draw.c delete mode 100644 xorg-server/hw/kdrive/ati/ati_draw.h delete mode 100644 xorg-server/hw/kdrive/ati/ati_microcode.c delete mode 100644 xorg-server/hw/kdrive/ati/ati_reg.h delete mode 100644 xorg-server/hw/kdrive/ati/ati_stub.c delete mode 100644 xorg-server/hw/kdrive/ati/ati_video.c delete mode 100644 xorg-server/hw/kdrive/ati/r128_composite.c delete mode 100644 xorg-server/hw/kdrive/ati/radeon_composite.c delete mode 100644 xorg-server/hw/kdrive/chips/Makefile.am delete mode 100644 xorg-server/hw/kdrive/chips/Makefile.in delete mode 100644 xorg-server/hw/kdrive/chips/chips.c delete mode 100644 xorg-server/hw/kdrive/chips/chips.h delete mode 100644 xorg-server/hw/kdrive/chips/chipsdraw.c delete mode 100644 xorg-server/hw/kdrive/chips/chipsstub.c create mode 100644 xorg-server/hw/kdrive/ephyr/Xephyr.man.pre create mode 100644 xorg-server/hw/kdrive/ephyr/xf86dri.h delete mode 100644 xorg-server/hw/kdrive/epson/Makefile.am delete mode 100644 xorg-server/hw/kdrive/epson/Makefile.in delete mode 100644 xorg-server/hw/kdrive/epson/epson13806.c delete mode 100644 xorg-server/hw/kdrive/epson/epson13806.h delete mode 100644 xorg-server/hw/kdrive/epson/epson13806draw.c delete mode 100644 xorg-server/hw/kdrive/epson/epson13806draw.h delete mode 100644 xorg-server/hw/kdrive/epson/epson13806reg.h delete mode 100644 xorg-server/hw/kdrive/epson/epson13806stub.c delete mode 100644 xorg-server/hw/kdrive/i810/Makefile.am delete mode 100644 xorg-server/hw/kdrive/i810/Makefile.in delete mode 100644 xorg-server/hw/kdrive/i810/i810.c delete mode 100644 xorg-server/hw/kdrive/i810/i810.h delete mode 100644 xorg-server/hw/kdrive/i810/i810_cursor.c delete mode 100644 xorg-server/hw/kdrive/i810/i810_reg.h delete mode 100644 xorg-server/hw/kdrive/i810/i810_video.c delete mode 100644 xorg-server/hw/kdrive/i810/i810draw.c delete mode 100644 xorg-server/hw/kdrive/i810/i810draw.h delete mode 100644 xorg-server/hw/kdrive/i810/i810stub.c delete mode 100644 xorg-server/hw/kdrive/linux/ts.c delete mode 100644 xorg-server/hw/kdrive/mach64/Makefile.am delete mode 100644 xorg-server/hw/kdrive/mach64/Makefile.in delete mode 100644 xorg-server/hw/kdrive/mach64/mach64.c delete mode 100644 xorg-server/hw/kdrive/mach64/mach64.h delete mode 100644 xorg-server/hw/kdrive/mach64/mach64draw.c delete mode 100644 xorg-server/hw/kdrive/mach64/mach64draw.h delete mode 100644 xorg-server/hw/kdrive/mach64/mach64stub.c delete mode 100644 xorg-server/hw/kdrive/mach64/mach64video.c delete mode 100644 xorg-server/hw/kdrive/mga/Makefile.am delete mode 100644 xorg-server/hw/kdrive/mga/Makefile.in delete mode 100644 xorg-server/hw/kdrive/mga/g400_common.h delete mode 100644 xorg-server/hw/kdrive/mga/g400_composite.c delete mode 100644 xorg-server/hw/kdrive/mga/mga.c delete mode 100644 xorg-server/hw/kdrive/mga/mga.h delete mode 100644 xorg-server/hw/kdrive/mga/mgadraw.c delete mode 100644 xorg-server/hw/kdrive/mga/mgastub.c delete mode 100644 xorg-server/hw/kdrive/neomagic/Makefile.am delete mode 100644 xorg-server/hw/kdrive/neomagic/Makefile.in delete mode 100644 xorg-server/hw/kdrive/neomagic/README delete mode 100644 xorg-server/hw/kdrive/neomagic/neo_draw.c delete mode 100644 xorg-server/hw/kdrive/neomagic/neomagic.c delete mode 100644 xorg-server/hw/kdrive/neomagic/neomagic.h delete mode 100644 xorg-server/hw/kdrive/neomagic/neomagicstub.c delete mode 100644 xorg-server/hw/kdrive/nvidia/Makefile.am delete mode 100644 xorg-server/hw/kdrive/nvidia/Makefile.in delete mode 100644 xorg-server/hw/kdrive/nvidia/nvidia.c delete mode 100644 xorg-server/hw/kdrive/nvidia/nvidia.h delete mode 100644 xorg-server/hw/kdrive/nvidia/nvidiadraw.c delete mode 100644 xorg-server/hw/kdrive/nvidia/nvidiadraw.h delete mode 100644 xorg-server/hw/kdrive/nvidia/nvidiastub.c delete mode 100644 xorg-server/hw/kdrive/pm2/Makefile.am delete mode 100644 xorg-server/hw/kdrive/pm2/Makefile.in delete mode 100644 xorg-server/hw/kdrive/pm2/glint_regs.h delete mode 100644 xorg-server/hw/kdrive/pm2/pm2.c delete mode 100644 xorg-server/hw/kdrive/pm2/pm2.h delete mode 100644 xorg-server/hw/kdrive/pm2/pm2_draw.c delete mode 100644 xorg-server/hw/kdrive/pm2/pm2stub.c delete mode 100644 xorg-server/hw/kdrive/r128/Makefile.am delete mode 100644 xorg-server/hw/kdrive/r128/Makefile.in delete mode 100644 xorg-server/hw/kdrive/r128/r128.c delete mode 100644 xorg-server/hw/kdrive/r128/r128.h delete mode 100644 xorg-server/hw/kdrive/r128/r128draw.c delete mode 100644 xorg-server/hw/kdrive/r128/r128stub.c delete mode 100644 xorg-server/hw/kdrive/sis300/Makefile.am delete mode 100644 xorg-server/hw/kdrive/sis300/Makefile.in delete mode 100644 xorg-server/hw/kdrive/sis300/sis.c delete mode 100644 xorg-server/hw/kdrive/sis300/sis.h delete mode 100644 xorg-server/hw/kdrive/sis300/sis_draw.c delete mode 100644 xorg-server/hw/kdrive/sis300/sis_reg.h delete mode 100644 xorg-server/hw/kdrive/sis300/sis_stub.c delete mode 100644 xorg-server/hw/kdrive/smi/Makefile.am delete mode 100644 xorg-server/hw/kdrive/smi/Makefile.in delete mode 100644 xorg-server/hw/kdrive/smi/smi.c delete mode 100644 xorg-server/hw/kdrive/smi/smi.h delete mode 100644 xorg-server/hw/kdrive/smi/smidraw.c delete mode 100644 xorg-server/hw/kdrive/smi/smidraw.h delete mode 100644 xorg-server/hw/kdrive/smi/smistub.c delete mode 100644 xorg-server/hw/kdrive/src/kaa.c delete mode 100644 xorg-server/hw/kdrive/src/kaa.h delete mode 100644 xorg-server/hw/kdrive/src/kaapict.c delete mode 100644 xorg-server/hw/kdrive/src/kasync.c delete mode 100644 xorg-server/hw/kdrive/src/knoop.c delete mode 100644 xorg-server/hw/kdrive/src/koffscreen.c delete mode 100644 xorg-server/hw/kdrive/src/ktest.c delete mode 100644 xorg-server/hw/kdrive/vesa/Makefile.am delete mode 100644 xorg-server/hw/kdrive/vesa/Makefile.in delete mode 100644 xorg-server/hw/kdrive/vesa/vbe.c delete mode 100644 xorg-server/hw/kdrive/vesa/vbe.h delete mode 100644 xorg-server/hw/kdrive/vesa/vesa.c delete mode 100644 xorg-server/hw/kdrive/vesa/vesa.h delete mode 100644 xorg-server/hw/kdrive/vesa/vesainit.c delete mode 100644 xorg-server/hw/kdrive/vesa/vga.c delete mode 100644 xorg-server/hw/kdrive/vesa/vga.h delete mode 100644 xorg-server/hw/kdrive/vesa/vm86.c delete mode 100644 xorg-server/hw/kdrive/vesa/vm86.h delete mode 100644 xorg-server/hw/kdrive/via/Makefile.am delete mode 100644 xorg-server/hw/kdrive/via/Makefile.in delete mode 100644 xorg-server/hw/kdrive/via/via.c delete mode 100644 xorg-server/hw/kdrive/via/via.h delete mode 100644 xorg-server/hw/kdrive/via/via_regs.h delete mode 100644 xorg-server/hw/kdrive/via/viadraw.c delete mode 100644 xorg-server/hw/kdrive/via/viadraw.h delete mode 100644 xorg-server/hw/kdrive/via/viastub.c delete mode 100644 xorg-server/hw/xfree86/common/atKeynames.h delete mode 100644 xorg-server/hw/xfree86/common/xf86Build.h delete mode 100644 xorg-server/hw/xfree86/common/xf86Debug.c delete mode 100644 xorg-server/hw/xfree86/common/xf86DoProbe.c delete mode 100644 xorg-server/hw/xfree86/common/xf86MiscExt.c create mode 100644 xorg-server/hw/xfree86/common/xf86RAC.c create mode 100644 xorg-server/hw/xfree86/common/xf86RAC.h create mode 100644 xorg-server/hw/xfree86/common/xf86ShowOpts.c delete mode 100644 xorg-server/hw/xfree86/common/xf86Version.h delete mode 100644 xorg-server/hw/xfree86/common/xf86Versions.c delete mode 100644 xorg-server/hw/xfree86/common/xf86XKB.c delete mode 100644 xorg-server/hw/xfree86/common/xf86isaBus.c delete mode 100644 xorg-server/hw/xfree86/dixmods/afbmodule.c delete mode 100644 xorg-server/hw/xfree86/dixmods/cfb32module.c delete mode 100644 xorg-server/hw/xfree86/dixmods/cfbmodule.c delete mode 100644 xorg-server/hw/xfree86/dixmods/extmod/xf86dga.c delete mode 100644 xorg-server/hw/xfree86/dixmods/extmod/xf86misc.c delete mode 100644 xorg-server/hw/xfree86/dixmods/extmod/xf86miscproc.h delete mode 100644 xorg-server/hw/xfree86/dixmods/ftmodule.c delete mode 100644 xorg-server/hw/xfree86/dixmods/mfbmodule.c delete mode 100644 xorg-server/hw/xfree86/dixmods/xf86XTrapModule.c delete mode 100644 xorg-server/hw/xfree86/doc/README.fonts delete mode 100644 xorg-server/hw/xfree86/doc/devel/DebuggingHints delete mode 100644 xorg-server/hw/xfree86/loader/SparcMulDiv.S delete mode 100644 xorg-server/hw/xfree86/loader/fontsym.c delete mode 100644 xorg-server/hw/xfree86/loader/loadfont.c delete mode 100644 xorg-server/hw/xfree86/os-support/README.OS-lib delete mode 100644 xorg-server/hw/xfree86/os-support/assyntax.h delete mode 100644 xorg-server/hw/xfree86/os-support/bsd/bsdResource.c delete mode 100644 xorg-server/hw/xfree86/os-support/bsd/bsd_jstk.c delete mode 100644 xorg-server/hw/xfree86/os-support/bsd/bsd_mouse.c delete mode 100644 xorg-server/hw/xfree86/os-support/bsd/libusb/data.c delete mode 100644 xorg-server/hw/xfree86/os-support/bsd/libusb/descr.c delete mode 100644 xorg-server/hw/xfree86/os-support/bsd/libusb/parse.c delete mode 100644 xorg-server/hw/xfree86/os-support/bsd/libusb/usage.c delete mode 100644 xorg-server/hw/xfree86/os-support/bsd/libusb/usb.3 delete mode 100644 xorg-server/hw/xfree86/os-support/bsd/libusb/usb.h delete mode 100644 xorg-server/hw/xfree86/os-support/bsd/libusb/usb_hid_usages delete mode 100644 xorg-server/hw/xfree86/os-support/bsd/libusb/usbvar.h delete mode 100644 xorg-server/hw/xfree86/os-support/bus/ix86Pci.c delete mode 100644 xorg-server/hw/xfree86/os-support/bus/ppcPci.c delete mode 100644 xorg-server/hw/xfree86/os-support/bus/sparcPci.c delete mode 100644 xorg-server/hw/xfree86/os-support/hurd/hurd_mouse.c delete mode 100644 xorg-server/hw/xfree86/os-support/linux/lnxResource.c delete mode 100644 xorg-server/hw/xfree86/os-support/linux/lnx_jstk.c delete mode 100644 xorg-server/hw/xfree86/os-support/linux/lnx_mouse.c delete mode 100644 xorg-server/hw/xfree86/os-support/lynxos/Makefile.am delete mode 100644 xorg-server/hw/xfree86/os-support/lynxos/Makefile.in delete mode 100644 xorg-server/hw/xfree86/os-support/lynxos/lynx_init.c delete mode 100644 xorg-server/hw/xfree86/os-support/lynxos/lynx_mmap.c delete mode 100644 xorg-server/hw/xfree86/os-support/lynxos/lynx_mouse.c delete mode 100644 xorg-server/hw/xfree86/os-support/lynxos/lynx_noinline.c delete mode 100644 xorg-server/hw/xfree86/os-support/lynxos/lynx_ppc.S delete mode 100644 xorg-server/hw/xfree86/os-support/lynxos/lynx_ppc.c delete mode 100644 xorg-server/hw/xfree86/os-support/lynxos/lynx_video.c delete mode 100644 xorg-server/hw/xfree86/os-support/misc/BUSmemcpy.S delete mode 100644 xorg-server/hw/xfree86/os-support/misc/IODelay.S delete mode 100644 xorg-server/hw/xfree86/os-support/misc/IODelay.c delete mode 100644 xorg-server/hw/xfree86/os-support/misc/PortIO.S delete mode 100644 xorg-server/hw/xfree86/os-support/misc/SlowBcopy.S delete mode 100644 xorg-server/hw/xfree86/os-support/misc/xf86_IlHack.c delete mode 100644 xorg-server/hw/xfree86/os-support/misc/xf86_Util.c delete mode 100644 xorg-server/hw/xfree86/os-support/sco/sco_mouse.c delete mode 100644 xorg-server/hw/xfree86/os-support/shared/inout.S delete mode 100644 xorg-server/hw/xfree86/os-support/solaris/sun_bios.c delete mode 100644 xorg-server/hw/xfree86/os-support/solaris/sun_mouse.c delete mode 100644 xorg-server/hw/xfree86/os-support/sysv/sysv_mouse.c delete mode 100644 xorg-server/hw/xfree86/os-support/usl/Makefile.am delete mode 100644 xorg-server/hw/xfree86/os-support/usl/Makefile.in delete mode 100644 xorg-server/hw/xfree86/os-support/usl/usl_init.c delete mode 100644 xorg-server/hw/xfree86/os-support/usl/usl_iop.c delete mode 100644 xorg-server/hw/xfree86/os-support/usl/usl_mouse.c delete mode 100644 xorg-server/hw/xfree86/os-support/usl/usl_video.c delete mode 100644 xorg-server/hw/xfree86/os-support/usl/usl_vtsw.c delete mode 100644 xorg-server/hw/xfree86/os-support/xf86OSmouse.h delete mode 100644 xorg-server/hw/xfree86/parser/cpconfig.c delete mode 100644 xorg-server/hw/xfree86/rac/Makefile.am delete mode 100644 xorg-server/hw/xfree86/rac/Makefile.in delete mode 100644 xorg-server/hw/xfree86/rac/xf86RAC.c delete mode 100644 xorg-server/hw/xfree86/rac/xf86RAC.h delete mode 100644 xorg-server/hw/xfree86/utils/ioport/Makefile.am delete mode 100644 xorg-server/hw/xfree86/utils/ioport/Makefile.in delete mode 100644 xorg-server/hw/xfree86/utils/ioport/ioport.c delete mode 100644 xorg-server/hw/xfree86/utils/kbd_mode/Makefile.am delete mode 100644 xorg-server/hw/xfree86/utils/kbd_mode/Makefile.in delete mode 100644 xorg-server/hw/xfree86/utils/kbd_mode/bsd-kbd_mode.c delete mode 100644 xorg-server/hw/xfree86/utils/kbd_mode/bsd-kbd_mode.man.pre delete mode 100644 xorg-server/hw/xfree86/utils/kbd_mode/sun-kbd_mode.c delete mode 100644 xorg-server/hw/xfree86/utils/kbd_mode/sun-kbd_mode.man.pre delete mode 100644 xorg-server/hw/xfree86/utils/xorgcfg/Makefile.am delete mode 100644 xorg-server/hw/xfree86/utils/xorgcfg/Makefile.in delete mode 100644 xorg-server/hw/xfree86/utils/xorgcfg/TODO delete mode 100644 xorg-server/hw/xfree86/utils/xorgcfg/XOrgCfg.pre delete mode 100644 xorg-server/hw/xfree86/utils/xorgcfg/accessx.c delete mode 100644 xorg-server/hw/xfree86/utils/xorgcfg/card-cfg.c delete mode 100644 xorg-server/hw/xfree86/utils/xorgcfg/card-cfg.h delete mode 100644 xorg-server/hw/xfree86/utils/xorgcfg/card.xbm delete mode 100644 xorg-server/hw/xfree86/utils/xorgcfg/card.xpm delete mode 100644 xorg-server/hw/xfree86/utils/xorgcfg/cards.c delete mode 100644 xorg-server/hw/xfree86/utils/xorgcfg/cards.h delete mode 100644 xorg-server/hw/xfree86/utils/xorgcfg/computer.xpm delete mode 100644 xorg-server/hw/xfree86/utils/xorgcfg/config.c delete mode 100644 xorg-server/hw/xfree86/utils/xorgcfg/config.h delete mode 100644 xorg-server/hw/xfree86/utils/xorgcfg/down.xbm delete mode 100644 xorg-server/hw/xfree86/utils/xorgcfg/expert.c delete mode 100644 xorg-server/hw/xfree86/utils/xorgcfg/help.c delete mode 100644 xorg-server/hw/xfree86/utils/xorgcfg/help.h delete mode 100644 xorg-server/hw/xfree86/utils/xorgcfg/interface.c delete mode 100644 xorg-server/hw/xfree86/utils/xorgcfg/keyboard-cfg.c delete mode 100644 xorg-server/hw/xfree86/utils/xorgcfg/keyboard-cfg.h delete mode 100644 xorg-server/hw/xfree86/utils/xorgcfg/keyboard.xbm delete mode 100644 xorg-server/hw/xfree86/utils/xorgcfg/keyboard.xpm delete mode 100644 xorg-server/hw/xfree86/utils/xorgcfg/left.xbm delete mode 100644 xorg-server/hw/xfree86/utils/xorgcfg/loader.c delete mode 100644 xorg-server/hw/xfree86/utils/xorgcfg/loader.h delete mode 100644 xorg-server/hw/xfree86/utils/xorgcfg/loadmod.c delete mode 100644 xorg-server/hw/xfree86/utils/xorgcfg/monitor-cfg.c delete mode 100644 xorg-server/hw/xfree86/utils/xorgcfg/monitor-cfg.h delete mode 100644 xorg-server/hw/xfree86/utils/xorgcfg/monitor.xbm delete mode 100644 xorg-server/hw/xfree86/utils/xorgcfg/monitor.xpm delete mode 100644 xorg-server/hw/xfree86/utils/xorgcfg/mouse-cfg.c delete mode 100644 xorg-server/hw/xfree86/utils/xorgcfg/mouse-cfg.h delete mode 100644 xorg-server/hw/xfree86/utils/xorgcfg/mouse.xbm delete mode 100644 xorg-server/hw/xfree86/utils/xorgcfg/mouse.xpm delete mode 100644 xorg-server/hw/xfree86/utils/xorgcfg/narrower.xbm delete mode 100644 xorg-server/hw/xfree86/utils/xorgcfg/options.c delete mode 100644 xorg-server/hw/xfree86/utils/xorgcfg/options.h delete mode 100644 xorg-server/hw/xfree86/utils/xorgcfg/right.xbm delete mode 100644 xorg-server/hw/xfree86/utils/xorgcfg/screen-cfg.c delete mode 100644 xorg-server/hw/xfree86/utils/xorgcfg/screen-cfg.h delete mode 100644 xorg-server/hw/xfree86/utils/xorgcfg/screen.c delete mode 100644 xorg-server/hw/xfree86/utils/xorgcfg/screen.h delete mode 100644 xorg-server/hw/xfree86/utils/xorgcfg/shorter.xbm delete mode 100644 xorg-server/hw/xfree86/utils/xorgcfg/startx.c delete mode 100644 xorg-server/hw/xfree86/utils/xorgcfg/stubs.c delete mode 100644 xorg-server/hw/xfree86/utils/xorgcfg/stubs.h delete mode 100644 xorg-server/hw/xfree86/utils/xorgcfg/taller.xbm delete mode 100644 xorg-server/hw/xfree86/utils/xorgcfg/text-mode.c delete mode 100644 xorg-server/hw/xfree86/utils/xorgcfg/up.xbm delete mode 100644 xorg-server/hw/xfree86/utils/xorgcfg/vidmode.c delete mode 100644 xorg-server/hw/xfree86/utils/xorgcfg/vidmode.h delete mode 100644 xorg-server/hw/xfree86/utils/xorgcfg/wider.xbm delete mode 100644 xorg-server/hw/xfree86/utils/xorgcfg/xf86config.c delete mode 100644 xorg-server/hw/xfree86/utils/xorgcfg/xf86config.h delete mode 100644 xorg-server/hw/xfree86/utils/xorgcfg/xorgcfg.man.pre delete mode 100644 xorg-server/hw/xfree86/utils/xorgconfig/Cards delete mode 100644 xorg-server/hw/xfree86/utils/xorgconfig/Cards98 delete mode 100644 xorg-server/hw/xfree86/utils/xorgconfig/Makefile.am delete mode 100644 xorg-server/hw/xfree86/utils/xorgconfig/Makefile.in delete mode 100644 xorg-server/hw/xfree86/utils/xorgconfig/cards.c delete mode 100644 xorg-server/hw/xfree86/utils/xorgconfig/cards.h delete mode 100644 xorg-server/hw/xfree86/utils/xorgconfig/xorgconfig.c delete mode 100644 xorg-server/hw/xfree86/utils/xorgconfig/xorgconfig.man.pre delete mode 100644 xorg-server/hw/xfree86/xaa/xaaTEGlyphBlt.S delete mode 100644 xorg-server/hw/xfree86/xf1bpp/Makefile.am delete mode 100644 xorg-server/hw/xfree86/xf1bpp/Makefile.in delete mode 100644 xorg-server/hw/xfree86/xf1bpp/maskbits.c delete mode 100644 xorg-server/hw/xfree86/xf1bpp/mfbbitblt.c delete mode 100644 xorg-server/hw/xfree86/xf1bpp/mfbbltC.c delete mode 100644 xorg-server/hw/xfree86/xf1bpp/mfbbltCI.c delete mode 100644 xorg-server/hw/xfree86/xf1bpp/mfbbltG.c delete mode 100644 xorg-server/hw/xfree86/xf1bpp/mfbbltO.c delete mode 100644 xorg-server/hw/xfree86/xf1bpp/mfbbltX.c delete mode 100644 xorg-server/hw/xfree86/xf1bpp/mfbbres.c delete mode 100644 xorg-server/hw/xfree86/xf1bpp/mfbbresd.c delete mode 100644 xorg-server/hw/xfree86/xf1bpp/mfbclip.c delete mode 100644 xorg-server/hw/xfree86/xf1bpp/mfbcmap.c delete mode 100644 xorg-server/hw/xfree86/xf1bpp/mfbfillarc.c delete mode 100644 xorg-server/hw/xfree86/xf1bpp/mfbfillrct.c delete mode 100644 xorg-server/hw/xfree86/xf1bpp/mfbfillsp.c delete mode 100644 xorg-server/hw/xfree86/xf1bpp/mfbfont.c delete mode 100644 xorg-server/hw/xfree86/xf1bpp/mfbgc.c delete mode 100644 xorg-server/hw/xfree86/xf1bpp/mfbgetsp.c delete mode 100644 xorg-server/hw/xfree86/xf1bpp/mfbhrzvert.c delete mode 100644 xorg-server/hw/xfree86/xf1bpp/mfbigbblak.c delete mode 100644 xorg-server/hw/xfree86/xf1bpp/mfbigbwht.c delete mode 100644 xorg-server/hw/xfree86/xf1bpp/mfbimage.c delete mode 100644 xorg-server/hw/xfree86/xf1bpp/mfbline.c delete mode 100644 xorg-server/hw/xfree86/xf1bpp/mfbmap.h delete mode 100644 xorg-server/hw/xfree86/xf1bpp/mfbmap.sh delete mode 100644 xorg-server/hw/xfree86/xf1bpp/mfbmisc.c delete mode 100644 xorg-server/hw/xfree86/xf1bpp/mfbmodule.c delete mode 100644 xorg-server/hw/xfree86/xf1bpp/mfbpablack.c delete mode 100644 xorg-server/hw/xfree86/xf1bpp/mfbpainv.c delete mode 100644 xorg-server/hw/xfree86/xf1bpp/mfbpawhite.c delete mode 100644 xorg-server/hw/xfree86/xf1bpp/mfbpgbblak.c delete mode 100644 xorg-server/hw/xfree86/xf1bpp/mfbpgbinv.c delete mode 100644 xorg-server/hw/xfree86/xf1bpp/mfbpgbwht.c delete mode 100644 xorg-server/hw/xfree86/xf1bpp/mfbpixmap.c delete mode 100644 xorg-server/hw/xfree86/xf1bpp/mfbplyblack.c delete mode 100644 xorg-server/hw/xfree86/xf1bpp/mfbplyinv.c delete mode 100644 xorg-server/hw/xfree86/xf1bpp/mfbplywhite.c delete mode 100644 xorg-server/hw/xfree86/xf1bpp/mfbpolypnt.c delete mode 100644 xorg-server/hw/xfree86/xf1bpp/mfbpushpxl.c delete mode 100644 xorg-server/hw/xfree86/xf1bpp/mfbscrclse.c delete mode 100644 xorg-server/hw/xfree86/xf1bpp/mfbscrinit.c delete mode 100644 xorg-server/hw/xfree86/xf1bpp/mfbseg.c delete mode 100644 xorg-server/hw/xfree86/xf1bpp/mfbsetsp.c delete mode 100644 xorg-server/hw/xfree86/xf1bpp/mfbteblack.c delete mode 100644 xorg-server/hw/xfree86/xf1bpp/mfbtewhite.c delete mode 100644 xorg-server/hw/xfree86/xf1bpp/mfbtileC.c delete mode 100644 xorg-server/hw/xfree86/xf1bpp/mfbtileG.c delete mode 100644 xorg-server/hw/xfree86/xf1bpp/mfbunmap.h delete mode 100644 xorg-server/hw/xfree86/xf1bpp/mfbunmap.sh delete mode 100644 xorg-server/hw/xfree86/xf1bpp/mfbwindow.c delete mode 100644 xorg-server/hw/xfree86/xf1bpp/mfbzerarc.c delete mode 100644 xorg-server/hw/xfree86/xf1bpp/xf1bpp.h delete mode 100644 xorg-server/hw/xfree86/xf4bpp/Makefile.am delete mode 100644 xorg-server/hw/xfree86/xf4bpp/Makefile.in delete mode 100644 xorg-server/hw/xfree86/xf4bpp/NOTES delete mode 100644 xorg-server/hw/xfree86/xf4bpp/OScompiler.h delete mode 100644 xorg-server/hw/xfree86/xf4bpp/emulOpStip.c delete mode 100644 xorg-server/hw/xfree86/xf4bpp/emulRepAre.c delete mode 100644 xorg-server/hw/xfree86/xf4bpp/emulTile.c delete mode 100644 xorg-server/hw/xfree86/xf4bpp/ibmTrace.h delete mode 100644 xorg-server/hw/xfree86/xf4bpp/mfbbres.c delete mode 100644 xorg-server/hw/xfree86/xf4bpp/mfbbresd.c delete mode 100644 xorg-server/hw/xfree86/xf4bpp/mfbfillarc.c delete mode 100644 xorg-server/hw/xfree86/xf4bpp/mfbhrzvert.c delete mode 100644 xorg-server/hw/xfree86/xf4bpp/mfbimggblt.c delete mode 100644 xorg-server/hw/xfree86/xf4bpp/mfbline.c delete mode 100644 xorg-server/hw/xfree86/xf4bpp/mfbseg.c delete mode 100644 xorg-server/hw/xfree86/xf4bpp/mfbzerarc.c delete mode 100644 xorg-server/hw/xfree86/xf4bpp/offscreen.c delete mode 100644 xorg-server/hw/xfree86/xf4bpp/ppcArea.c delete mode 100644 xorg-server/hw/xfree86/xf4bpp/ppcCReduce.c delete mode 100644 xorg-server/hw/xfree86/xf4bpp/ppcClip.c delete mode 100644 xorg-server/hw/xfree86/xf4bpp/ppcCpArea.c delete mode 100644 xorg-server/hw/xfree86/xf4bpp/ppcDepth.c delete mode 100644 xorg-server/hw/xfree86/xf4bpp/ppcFillRct.c delete mode 100644 xorg-server/hw/xfree86/xf4bpp/ppcGC.c delete mode 100644 xorg-server/hw/xfree86/xf4bpp/ppcGCstr.h delete mode 100644 xorg-server/hw/xfree86/xf4bpp/ppcGetSp.c delete mode 100644 xorg-server/hw/xfree86/xf4bpp/ppcIO.c delete mode 100644 xorg-server/hw/xfree86/xf4bpp/ppcImg.c delete mode 100644 xorg-server/hw/xfree86/xf4bpp/ppcPixFS.c delete mode 100644 xorg-server/hw/xfree86/xf4bpp/ppcPixmap.c delete mode 100644 xorg-server/hw/xfree86/xf4bpp/ppcPolyPnt.c delete mode 100644 xorg-server/hw/xfree86/xf4bpp/ppcQuery.c delete mode 100644 xorg-server/hw/xfree86/xf4bpp/ppcRslvC.c delete mode 100644 xorg-server/hw/xfree86/xf4bpp/ppcSetSp.c delete mode 100644 xorg-server/hw/xfree86/xf4bpp/ppcSpMcro.h delete mode 100644 xorg-server/hw/xfree86/xf4bpp/ppcWinFS.c delete mode 100644 xorg-server/hw/xfree86/xf4bpp/ppcWindow.c delete mode 100644 xorg-server/hw/xfree86/xf4bpp/vgaBitBlt.c delete mode 100644 xorg-server/hw/xfree86/xf4bpp/vgaGC.c delete mode 100644 xorg-server/hw/xfree86/xf4bpp/vgaImages.c delete mode 100644 xorg-server/hw/xfree86/xf4bpp/vgaReg.h delete mode 100644 xorg-server/hw/xfree86/xf4bpp/vgaSolid.c delete mode 100644 xorg-server/hw/xfree86/xf4bpp/vgaStipple.c delete mode 100644 xorg-server/hw/xfree86/xf4bpp/vgaVideo.h delete mode 100644 xorg-server/hw/xfree86/xf4bpp/vgamodule.c delete mode 100644 xorg-server/hw/xfree86/xf4bpp/wm3.c delete mode 100644 xorg-server/hw/xfree86/xf4bpp/wm3.h delete mode 100644 xorg-server/hw/xfree86/xf4bpp/xf4bpp.h delete mode 100644 xorg-server/hw/xfree86/xf8_32bpp/Makefile.am delete mode 100644 xorg-server/hw/xfree86/xf8_32bpp/Makefile.in delete mode 100644 xorg-server/hw/xfree86/xf8_32bpp/cfb8_32.h delete mode 100644 xorg-server/hw/xfree86/xf8_32bpp/cfb8_32module.c delete mode 100644 xorg-server/hw/xfree86/xf8_32bpp/cfbcpyarea.c delete mode 100644 xorg-server/hw/xfree86/xf8_32bpp/cfbcpyplane.c delete mode 100644 xorg-server/hw/xfree86/xf8_32bpp/cfbgc.c delete mode 100644 xorg-server/hw/xfree86/xf8_32bpp/cfbgc32.c delete mode 100644 xorg-server/hw/xfree86/xf8_32bpp/cfbgc8.c delete mode 100644 xorg-server/hw/xfree86/xf8_32bpp/cfbgcmisc.c delete mode 100644 xorg-server/hw/xfree86/xf8_32bpp/cfbgcunder.c delete mode 100644 xorg-server/hw/xfree86/xf8_32bpp/cfbimage.c delete mode 100644 xorg-server/hw/xfree86/xf8_32bpp/cfbpntwin.c delete mode 100644 xorg-server/hw/xfree86/xf8_32bpp/cfbscrinit.c delete mode 100644 xorg-server/hw/xfree86/xf8_32bpp/cfbwindow.c delete mode 100644 xorg-server/hw/xfree86/xf8_32bpp/xf86overlay.c delete mode 100644 xorg-server/hw/xgl/Makefile.am delete mode 100644 xorg-server/hw/xgl/Makefile.in delete mode 100644 xorg-server/hw/xgl/egl/Makefile.am delete mode 100644 xorg-server/hw/xgl/egl/Makefile.in delete mode 100644 xorg-server/hw/xgl/egl/evdev.c delete mode 100644 xorg-server/hw/xgl/egl/kinput.c delete mode 100644 xorg-server/hw/xgl/egl/kkeymap.h delete mode 100644 xorg-server/hw/xgl/egl/module/Makefile.am delete mode 100644 xorg-server/hw/xgl/egl/module/Makefile.in delete mode 100644 xorg-server/hw/xgl/egl/module/xeglmodule.c delete mode 100644 xorg-server/hw/xgl/egl/xegl.c delete mode 100644 xorg-server/hw/xgl/egl/xegl.h delete mode 100644 xorg-server/hw/xgl/egl/xeglinit.c delete mode 100644 xorg-server/hw/xgl/egl/xeglinput.c delete mode 100644 xorg-server/hw/xgl/glx/Makefile.am delete mode 100644 xorg-server/hw/xgl/glx/Makefile.in delete mode 100644 xorg-server/hw/xgl/glx/module/Makefile.am delete mode 100644 xorg-server/hw/xgl/glx/module/Makefile.in delete mode 100644 xorg-server/hw/xgl/glx/module/xglxmodule.c delete mode 100644 xorg-server/hw/xgl/glx/xglx.c delete mode 100644 xorg-server/hw/xgl/glx/xglx.h delete mode 100644 xorg-server/hw/xgl/glx/xglxorg.c delete mode 100644 xorg-server/hw/xgl/glxext/Makefile.am delete mode 100644 xorg-server/hw/xgl/glxext/Makefile.in delete mode 100644 xorg-server/hw/xgl/glxext/module/Makefile.am delete mode 100644 xorg-server/hw/xgl/glxext/module/Makefile.in delete mode 100644 xorg-server/hw/xgl/glxext/module/glcoremodule.c delete mode 100644 xorg-server/hw/xgl/glxext/module/glxmodule.c delete mode 100644 xorg-server/hw/xgl/glxext/xglglxext.c delete mode 100644 xorg-server/hw/xgl/glxext/xglglxext.h delete mode 100644 xorg-server/hw/xgl/glxext/xglglxlog.c delete mode 100644 xorg-server/hw/xgl/xgl.h delete mode 100644 xorg-server/hw/xgl/xglarea.c delete mode 100644 xorg-server/hw/xgl/xglcmap.c delete mode 100644 xorg-server/hw/xgl/xglcompose.c delete mode 100644 xorg-server/hw/xgl/xglcopy.c delete mode 100644 xorg-server/hw/xgl/xglfill.c delete mode 100644 xorg-server/hw/xgl/xglgc.c delete mode 100644 xorg-server/hw/xgl/xglgeometry.c delete mode 100644 xorg-server/hw/xgl/xglget.c delete mode 100644 xorg-server/hw/xgl/xglglx.c delete mode 100644 xorg-server/hw/xgl/xglglx.h delete mode 100644 xorg-server/hw/xgl/xglglyph.c delete mode 100644 xorg-server/hw/xgl/xglhash.c delete mode 100644 xorg-server/hw/xgl/xglinit.c delete mode 100644 xorg-server/hw/xgl/xglinput.c delete mode 100644 xorg-server/hw/xgl/xglloader.c delete mode 100644 xorg-server/hw/xgl/xglmodule.h delete mode 100644 xorg-server/hw/xgl/xgloutput.c delete mode 100644 xorg-server/hw/xgl/xglparse.c delete mode 100644 xorg-server/hw/xgl/xglpict.c delete mode 100644 xorg-server/hw/xgl/xglpixmap.c delete mode 100644 xorg-server/hw/xgl/xglscreen.c delete mode 100644 xorg-server/hw/xgl/xglshm.c delete mode 100644 xorg-server/hw/xgl/xglsolid.c delete mode 100644 xorg-server/hw/xgl/xglsync.c delete mode 100644 xorg-server/hw/xgl/xgltile.c delete mode 100644 xorg-server/hw/xgl/xgltrap.c delete mode 100644 xorg-server/hw/xgl/xglwindow.c delete mode 100644 xorg-server/hw/xgl/xglxv.c delete mode 100644 xorg-server/hw/xprint/AttrValid.c delete mode 100644 xorg-server/hw/xprint/AttrValid.h delete mode 100644 xorg-server/hw/xprint/DiPrint.h delete mode 100644 xorg-server/hw/xprint/Init.c delete mode 100644 xorg-server/hw/xprint/Makefile.am delete mode 100644 xorg-server/hw/xprint/Makefile.in delete mode 100644 xorg-server/hw/xprint/Oid.c delete mode 100644 xorg-server/hw/xprint/Oid.h delete mode 100644 xorg-server/hw/xprint/OidDefs.h delete mode 100644 xorg-server/hw/xprint/OidStrs.h delete mode 100644 xorg-server/hw/xprint/Util.c delete mode 100644 xorg-server/hw/xprint/ValTree.c delete mode 100644 xorg-server/hw/xprint/attributes.c delete mode 100644 xorg-server/hw/xprint/attributes.h delete mode 100644 xorg-server/hw/xprint/config/C/Makefile.am delete mode 100644 xorg-server/hw/xprint/config/C/Makefile.in delete mode 100644 xorg-server/hw/xprint/config/C/print/Makefile.am delete mode 100644 xorg-server/hw/xprint/config/C/print/Makefile.in delete mode 100644 xorg-server/hw/xprint/config/C/print/Xprinters delete mode 100644 xorg-server/hw/xprint/config/C/print/attributes/Makefile.am delete mode 100644 xorg-server/hw/xprint/config/C/print/attributes/Makefile.in delete mode 100644 xorg-server/hw/xprint/config/C/print/attributes/document delete mode 100644 xorg-server/hw/xprint/config/C/print/attributes/job delete mode 100644 xorg-server/hw/xprint/config/C/print/attributes/printer delete mode 100644 xorg-server/hw/xprint/config/C/print/ddx-config/Makefile.am delete mode 100644 xorg-server/hw/xprint/config/C/print/ddx-config/Makefile.in delete mode 100644 xorg-server/hw/xprint/config/C/print/ddx-config/raster/Makefile.am delete mode 100644 xorg-server/hw/xprint/config/C/print/ddx-config/raster/Makefile.in delete mode 100644 xorg-server/hw/xprint/config/C/print/ddx-config/raster/pcl delete mode 100644 xorg-server/hw/xprint/config/C/print/ddx-config/raster/postscript delete mode 100644 xorg-server/hw/xprint/config/C/print/models/CANONBJ10E-GS/Makefile.am delete mode 100644 xorg-server/hw/xprint/config/C/print/models/CANONBJ10E-GS/Makefile.in delete mode 100644 xorg-server/hw/xprint/config/C/print/models/CANONBJ10E-GS/model-config delete mode 100644 xorg-server/hw/xprint/config/C/print/models/CANONC3200-PS/Makefile.am delete mode 100644 xorg-server/hw/xprint/config/C/print/models/CANONC3200-PS/Makefile.in delete mode 100644 xorg-server/hw/xprint/config/C/print/models/CANONC3200-PS/fonts/Makefile.am delete mode 100644 xorg-server/hw/xprint/config/C/print/models/CANONC3200-PS/fonts/Makefile.in delete mode 100644 xorg-server/hw/xprint/config/C/print/models/CANONC3200-PS/model-config delete mode 100644 xorg-server/hw/xprint/config/C/print/models/GSdefault/Makefile.am delete mode 100644 xorg-server/hw/xprint/config/C/print/models/GSdefault/Makefile.in delete mode 100644 xorg-server/hw/xprint/config/C/print/models/GSdefault/model-config delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPDJ1600C/Makefile.am delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPDJ1600C/Makefile.in delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00051.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00052.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00053.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00054.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00055.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00056.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00057.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00058.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00059.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00060.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00061.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00062.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00063.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00064.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00065.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00066.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00067.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00068.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00069.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00070.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00071.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00072.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00073.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00074.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00075.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00076.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00077.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00079.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00080.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00081.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00082.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00083.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00084.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00085.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00086.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00087.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00088.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00089.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00090.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00091.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00092.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00093.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPDJ1600C/fonts/9nb00094.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPDJ1600C/fonts/Makefile.am delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPDJ1600C/fonts/Makefile.in delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPDJ1600C/fonts/README delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPDJ1600C/fonts/fonts.alias delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPDJ1600C/fonts/fonts.dir delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPDJ1600C/fonts/lpr0ye1a.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPDJ1600C/model-config delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPLJ4050-PS/Makefile.am delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPLJ4050-PS/Makefile.in delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPLJ4050-PS/fonts/Makefile.am delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPLJ4050-PS/fonts/Makefile.in delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPLJ4050-PS/model-config delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPLJ4family/Makefile.am delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPLJ4family/Makefile.in delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00051.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00052.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00053.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00054.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00055.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00056.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00057.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00058.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00059.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00060.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00061.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00062.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00063.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00064.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00065.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00066.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00067.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00068.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00069.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00070.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00071.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00072.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00073.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00074.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00075.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00076.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00077.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00079.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00080.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00081.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00082.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00083.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00084.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00085.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00086.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00087.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00088.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00089.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00090.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00091.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00092.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00093.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPLJ4family/fonts/9nb00094.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPLJ4family/fonts/Makefile.am delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPLJ4family/fonts/Makefile.in delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPLJ4family/fonts/README delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPLJ4family/fonts/fonts.alias delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPLJ4family/fonts/fonts.dir delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPLJ4family/fonts/lpr0ye1a.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/HPLJ4family/model-config delete mode 100644 xorg-server/hw/xprint/config/C/print/models/Makefile.am delete mode 100644 xorg-server/hw/xprint/config/C/print/models/Makefile.in delete mode 100644 xorg-server/hw/xprint/config/C/print/models/PS2PDFspooldir-GS/Makefile.am delete mode 100644 xorg-server/hw/xprint/config/C/print/models/PS2PDFspooldir-GS/Makefile.in delete mode 100644 xorg-server/hw/xprint/config/C/print/models/PS2PDFspooldir-GS/model-config delete mode 100644 xorg-server/hw/xprint/config/C/print/models/PS2PDFspooldir-GS/ps2pdf_spooltodir.sh delete mode 100644 xorg-server/hw/xprint/config/C/print/models/PSdefault/Makefile.am delete mode 100644 xorg-server/hw/xprint/config/C/print/models/PSdefault/Makefile.in delete mode 100644 xorg-server/hw/xprint/config/C/print/models/PSdefault/fonts/AvantGarde-Book.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/PSdefault/fonts/AvantGarde-BookOblique.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/PSdefault/fonts/AvantGarde-Demi.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/PSdefault/fonts/AvantGarde-DemiOblique.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/PSdefault/fonts/Courier-Bold.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/PSdefault/fonts/Courier-BoldOblique.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/PSdefault/fonts/Courier-Oblique.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/PSdefault/fonts/Courier.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/PSdefault/fonts/Helvetica-Bold.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/PSdefault/fonts/Helvetica-BoldOblique.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/PSdefault/fonts/Helvetica-Oblique.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/PSdefault/fonts/Helvetica.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/PSdefault/fonts/LubalinGraph-Book.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/PSdefault/fonts/LubalinGraph-BookOblique.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/PSdefault/fonts/LubalinGraph-Demi.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/PSdefault/fonts/LubalinGraph-DemiOblique.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/PSdefault/fonts/Makefile.am delete mode 100644 xorg-server/hw/xprint/config/C/print/models/PSdefault/fonts/Makefile.in delete mode 100644 xorg-server/hw/xprint/config/C/print/models/PSdefault/fonts/NewCentSchlbk-Bold.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/PSdefault/fonts/NewCentSchlbk-BoldItal.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/PSdefault/fonts/NewCentSchlbk-Ital.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/PSdefault/fonts/NewCentSchlbk-Roman.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/PSdefault/fonts/Souvenir-Demi.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/PSdefault/fonts/Souvenir-DemiItalic.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/PSdefault/fonts/Souvenir-Light.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/PSdefault/fonts/Souvenir-LightItalic.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/PSdefault/fonts/Symbol.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/PSdefault/fonts/Times-Bold.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/PSdefault/fonts/Times-BoldItalic.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/PSdefault/fonts/Times-Italic.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/PSdefault/fonts/Times-Roman.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/PSdefault/fonts/ZapfDingbats.pmf delete mode 100644 xorg-server/hw/xprint/config/C/print/models/PSdefault/model-config delete mode 100644 xorg-server/hw/xprint/config/C/print/models/PSspooldir/Makefile.am delete mode 100644 xorg-server/hw/xprint/config/C/print/models/PSspooldir/Makefile.in delete mode 100644 xorg-server/hw/xprint/config/C/print/models/PSspooldir/model-config delete mode 100644 xorg-server/hw/xprint/config/C/print/models/PSspooldir/spooltodir.sh delete mode 100644 xorg-server/hw/xprint/config/C/print/models/SPSPARC2/Makefile.am delete mode 100644 xorg-server/hw/xprint/config/C/print/models/SPSPARC2/Makefile.in delete mode 100644 xorg-server/hw/xprint/config/C/print/models/SPSPARC2/fonts/Makefile.am delete mode 100644 xorg-server/hw/xprint/config/C/print/models/SPSPARC2/fonts/Makefile.in delete mode 100644 xorg-server/hw/xprint/config/C/print/models/SPSPARC2/model-config delete mode 100644 xorg-server/hw/xprint/config/Makefile.am delete mode 100644 xorg-server/hw/xprint/config/Makefile.in delete mode 100644 xorg-server/hw/xprint/config/README delete mode 100644 xorg-server/hw/xprint/config/en_US/Makefile.am delete mode 100644 xorg-server/hw/xprint/config/en_US/Makefile.in delete mode 100644 xorg-server/hw/xprint/config/en_US/print/Makefile.am delete mode 100644 xorg-server/hw/xprint/config/en_US/print/Makefile.in delete mode 100644 xorg-server/hw/xprint/config/en_US/print/attributes/Makefile.am delete mode 100644 xorg-server/hw/xprint/config/en_US/print/attributes/Makefile.in delete mode 100644 xorg-server/hw/xprint/config/en_US/print/attributes/document delete mode 100644 xorg-server/hw/xprint/ddxInit.c delete mode 100644 xorg-server/hw/xprint/doc/Makefile.am delete mode 100644 xorg-server/hw/xprint/doc/Makefile.in delete mode 100644 xorg-server/hw/xprint/doc/Xprt.html delete mode 100644 xorg-server/hw/xprint/doc/Xprt.man.pre delete mode 100644 xorg-server/hw/xprint/doc/Xprt.sgml delete mode 100644 xorg-server/hw/xprint/dpmsstubs-wrapper.c delete mode 100644 xorg-server/hw/xprint/etc/Makefile.am delete mode 100644 xorg-server/hw/xprint/etc/Makefile.in delete mode 100644 xorg-server/hw/xprint/etc/Xsession.d/92xprint-xpserverlist delete mode 100644 xorg-server/hw/xprint/etc/Xsession.d/Makefile.am delete mode 100644 xorg-server/hw/xprint/etc/Xsession.d/Makefile.in delete mode 100644 xorg-server/hw/xprint/etc/init.d/Makefile.am delete mode 100644 xorg-server/hw/xprint/etc/init.d/Makefile.in delete mode 100644 xorg-server/hw/xprint/etc/init.d/xprint.cpp delete mode 100644 xorg-server/hw/xprint/etc/profile.d/Makefile.am delete mode 100644 xorg-server/hw/xprint/etc/profile.d/Makefile.in delete mode 100644 xorg-server/hw/xprint/etc/profile.d/xprint.csh delete mode 100644 xorg-server/hw/xprint/etc/profile.d/xprint.sh delete mode 100644 xorg-server/hw/xprint/mediaSizes.c delete mode 100644 xorg-server/hw/xprint/miinitext-wrapper.c delete mode 100644 xorg-server/hw/xprint/pcl-mono/Makefile.am delete mode 100644 xorg-server/hw/xprint/pcl-mono/Makefile.in delete mode 100644 xorg-server/hw/xprint/pcl/Makefile.am delete mode 100644 xorg-server/hw/xprint/pcl/Makefile.am.inc delete mode 100644 xorg-server/hw/xprint/pcl/Makefile.in delete mode 100644 xorg-server/hw/xprint/pcl/Pcl.h delete mode 100644 xorg-server/hw/xprint/pcl/PclArc.c delete mode 100644 xorg-server/hw/xprint/pcl/PclArea.c delete mode 100644 xorg-server/hw/xprint/pcl/PclAttVal.c delete mode 100644 xorg-server/hw/xprint/pcl/PclAttr.c delete mode 100644 xorg-server/hw/xprint/pcl/PclColor.c delete mode 100644 xorg-server/hw/xprint/pcl/PclCursor.c delete mode 100644 xorg-server/hw/xprint/pcl/PclDef.h delete mode 100644 xorg-server/hw/xprint/pcl/PclFonts.c delete mode 100644 xorg-server/hw/xprint/pcl/PclGC.c delete mode 100644 xorg-server/hw/xprint/pcl/PclInit.c delete mode 100644 xorg-server/hw/xprint/pcl/PclLine.c delete mode 100644 xorg-server/hw/xprint/pcl/PclMisc.c delete mode 100644 xorg-server/hw/xprint/pcl/PclPixel.c delete mode 100644 xorg-server/hw/xprint/pcl/PclPolygon.c delete mode 100644 xorg-server/hw/xprint/pcl/PclPrint.c delete mode 100644 xorg-server/hw/xprint/pcl/PclSFonts.c delete mode 100644 xorg-server/hw/xprint/pcl/PclSFonts.h delete mode 100644 xorg-server/hw/xprint/pcl/PclSpans.c delete mode 100644 xorg-server/hw/xprint/pcl/PclText.c delete mode 100644 xorg-server/hw/xprint/pcl/PclWindow.c delete mode 100644 xorg-server/hw/xprint/pcl/Pclmap.h delete mode 100644 xorg-server/hw/xprint/ps/Makefile.am delete mode 100644 xorg-server/hw/xprint/ps/Makefile.in delete mode 100644 xorg-server/hw/xprint/ps/Ps.h delete mode 100644 xorg-server/hw/xprint/ps/PsArc.c delete mode 100644 xorg-server/hw/xprint/ps/PsArea.c delete mode 100644 xorg-server/hw/xprint/ps/PsAttVal.c delete mode 100644 xorg-server/hw/xprint/ps/PsAttr.c delete mode 100644 xorg-server/hw/xprint/ps/PsCache.c delete mode 100644 xorg-server/hw/xprint/ps/PsColor.c delete mode 100644 xorg-server/hw/xprint/ps/PsDef.h delete mode 100644 xorg-server/hw/xprint/ps/PsFTFonts.c delete mode 100644 xorg-server/hw/xprint/ps/PsFonts.c delete mode 100644 xorg-server/hw/xprint/ps/PsGC.c delete mode 100644 xorg-server/hw/xprint/ps/PsImageUtil.c delete mode 100644 xorg-server/hw/xprint/ps/PsInit.c delete mode 100644 xorg-server/hw/xprint/ps/PsLine.c delete mode 100644 xorg-server/hw/xprint/ps/PsMisc.c delete mode 100644 xorg-server/hw/xprint/ps/PsPixel.c delete mode 100644 xorg-server/hw/xprint/ps/PsPixmap.c delete mode 100644 xorg-server/hw/xprint/ps/PsPolygon.c delete mode 100644 xorg-server/hw/xprint/ps/PsPrint.c delete mode 100644 xorg-server/hw/xprint/ps/PsSpans.c delete mode 100644 xorg-server/hw/xprint/ps/PsText.c delete mode 100644 xorg-server/hw/xprint/ps/PsWindow.c delete mode 100644 xorg-server/hw/xprint/ps/psout.c delete mode 100644 xorg-server/hw/xprint/ps/psout.h delete mode 100644 xorg-server/hw/xprint/ps/psout_ft.c delete mode 100644 xorg-server/hw/xprint/ps/psout_ftpstype1.c delete mode 100644 xorg-server/hw/xprint/ps/psout_ftpstype3.c delete mode 100644 xorg-server/hw/xprint/ps/ttf2pt1wrap.c delete mode 100644 xorg-server/hw/xprint/raster/Makefile.am delete mode 100644 xorg-server/hw/xprint/raster/Makefile.in delete mode 100644 xorg-server/hw/xprint/raster/Raster.c delete mode 100644 xorg-server/hw/xprint/raster/Raster.h delete mode 100644 xorg-server/hw/xprint/raster/RasterAttVal.c delete mode 100644 xorg-server/hw/xprint/spooler.c delete mode 100644 xorg-server/hw/xprint/spooler.h create mode 100644 xorg-server/hw/xquartz/GL/capabilities.c create mode 100644 xorg-server/hw/xquartz/GL/capabilities.h create mode 100644 xorg-server/hw/xquartz/GL/visualConfigs.c create mode 100644 xorg-server/hw/xquartz/GL/visualConfigs.h delete mode 100644 xorg-server/hw/xquartz/bundle/Dutch.lproj/InfoPlist.strings delete mode 100644 xorg-server/hw/xquartz/bundle/Dutch.lproj/Localizable.strings delete mode 100644 xorg-server/hw/xquartz/bundle/Dutch.lproj/main.nib/keyedobjects.nib delete mode 100644 xorg-server/hw/xquartz/bundle/English.lproj/InfoPlist.strings delete mode 100644 xorg-server/hw/xquartz/bundle/English.lproj/Localizable.strings delete mode 100644 xorg-server/hw/xquartz/bundle/English.lproj/main.nib/designable.nib delete mode 100644 xorg-server/hw/xquartz/bundle/English.lproj/main.nib/keyedobjects.nib delete mode 100644 xorg-server/hw/xquartz/bundle/French.lproj/InfoPlist.strings delete mode 100644 xorg-server/hw/xquartz/bundle/French.lproj/Localizable.strings delete mode 100644 xorg-server/hw/xquartz/bundle/French.lproj/main.nib/keyedobjects.nib delete mode 100644 xorg-server/hw/xquartz/bundle/German.lproj/InfoPlist.strings delete mode 100644 xorg-server/hw/xquartz/bundle/German.lproj/Localizable.strings delete mode 100644 xorg-server/hw/xquartz/bundle/German.lproj/main.nib/keyedobjects.nib delete mode 100644 xorg-server/hw/xquartz/bundle/Info.plist create mode 100644 xorg-server/hw/xquartz/bundle/Info.plist.cpp delete mode 100644 xorg-server/hw/xquartz/bundle/Italian.lproj/InfoPlist.strings delete mode 100644 xorg-server/hw/xquartz/bundle/Italian.lproj/Localizable.strings delete mode 100644 xorg-server/hw/xquartz/bundle/Italian.lproj/main.nib/keyedobjects.nib delete mode 100644 xorg-server/hw/xquartz/bundle/Japanese.lproj/InfoPlist.strings delete mode 100644 xorg-server/hw/xquartz/bundle/Japanese.lproj/Localizable.strings delete mode 100644 xorg-server/hw/xquartz/bundle/Japanese.lproj/main.nib/keyedobjects.nib create mode 100644 xorg-server/hw/xquartz/bundle/PkgInfo create mode 100644 xorg-server/hw/xquartz/bundle/Resources/Dutch.lproj/InfoPlist.strings create mode 100644 xorg-server/hw/xquartz/bundle/Resources/Dutch.lproj/Localizable.strings create mode 100644 xorg-server/hw/xquartz/bundle/Resources/Dutch.lproj/main.nib/keyedobjects.nib create mode 100644 xorg-server/hw/xquartz/bundle/Resources/English.lproj/InfoPlist.strings create mode 100644 xorg-server/hw/xquartz/bundle/Resources/English.lproj/Localizable.strings create mode 100644 xorg-server/hw/xquartz/bundle/Resources/English.lproj/main.nib/designable.nib create mode 100644 xorg-server/hw/xquartz/bundle/Resources/English.lproj/main.nib/keyedobjects.nib create mode 100644 xorg-server/hw/xquartz/bundle/Resources/French.lproj/InfoPlist.strings create mode 100644 xorg-server/hw/xquartz/bundle/Resources/French.lproj/Localizable.strings create mode 100644 xorg-server/hw/xquartz/bundle/Resources/French.lproj/main.nib/keyedobjects.nib create mode 100644 xorg-server/hw/xquartz/bundle/Resources/German.lproj/InfoPlist.strings create mode 100644 xorg-server/hw/xquartz/bundle/Resources/German.lproj/Localizable.strings create mode 100644 xorg-server/hw/xquartz/bundle/Resources/German.lproj/main.nib/keyedobjects.nib create mode 100644 xorg-server/hw/xquartz/bundle/Resources/Italian.lproj/InfoPlist.strings create mode 100644 xorg-server/hw/xquartz/bundle/Resources/Italian.lproj/Localizable.strings create mode 100644 xorg-server/hw/xquartz/bundle/Resources/Italian.lproj/main.nib/keyedobjects.nib create mode 100644 xorg-server/hw/xquartz/bundle/Resources/Japanese.lproj/InfoPlist.strings create mode 100644 xorg-server/hw/xquartz/bundle/Resources/Japanese.lproj/Localizable.strings create mode 100644 xorg-server/hw/xquartz/bundle/Resources/Japanese.lproj/main.nib/keyedobjects.nib create mode 100644 xorg-server/hw/xquartz/bundle/Resources/Spanish.lproj/InfoPlist.strings create mode 100644 xorg-server/hw/xquartz/bundle/Resources/Spanish.lproj/Localizable.strings create mode 100644 xorg-server/hw/xquartz/bundle/Resources/Spanish.lproj/main.nib/keyedobjects.nib create mode 100644 xorg-server/hw/xquartz/bundle/Resources/X11.icns create mode 100644 xorg-server/hw/xquartz/bundle/Resources/da.lproj/InfoPlist.strings create mode 100644 xorg-server/hw/xquartz/bundle/Resources/da.lproj/Localizable.strings create mode 100644 xorg-server/hw/xquartz/bundle/Resources/da.lproj/main.nib/keyedobjects.nib create mode 100644 xorg-server/hw/xquartz/bundle/Resources/fi.lproj/InfoPlist.strings create mode 100644 xorg-server/hw/xquartz/bundle/Resources/fi.lproj/Localizable.strings create mode 100644 xorg-server/hw/xquartz/bundle/Resources/fi.lproj/main.nib/keyedobjects.nib create mode 100644 xorg-server/hw/xquartz/bundle/Resources/ko.lproj/InfoPlist.strings create mode 100644 xorg-server/hw/xquartz/bundle/Resources/ko.lproj/Localizable.strings create mode 100644 xorg-server/hw/xquartz/bundle/Resources/ko.lproj/main.nib/keyedobjects.nib create mode 100644 xorg-server/hw/xquartz/bundle/Resources/no.lproj/InfoPlist.strings create mode 100644 xorg-server/hw/xquartz/bundle/Resources/no.lproj/Localizable.strings create mode 100644 xorg-server/hw/xquartz/bundle/Resources/no.lproj/main.nib/keyedobjects.nib create mode 100644 xorg-server/hw/xquartz/bundle/Resources/pl.lproj/InfoPlist.strings create mode 100644 xorg-server/hw/xquartz/bundle/Resources/pl.lproj/Localizable.strings create mode 100644 xorg-server/hw/xquartz/bundle/Resources/pl.lproj/main.nib/keyedobjects.nib create mode 100644 xorg-server/hw/xquartz/bundle/Resources/pt.lproj/InfoPlist.strings create mode 100644 xorg-server/hw/xquartz/bundle/Resources/pt.lproj/Localizable.strings create mode 100644 xorg-server/hw/xquartz/bundle/Resources/pt.lproj/main.nib/keyedobjects.nib create mode 100644 xorg-server/hw/xquartz/bundle/Resources/pt_PT.lproj/InfoPlist.strings create mode 100644 xorg-server/hw/xquartz/bundle/Resources/pt_PT.lproj/Localizable.strings create mode 100644 xorg-server/hw/xquartz/bundle/Resources/pt_PT.lproj/main.nib/keyedobjects.nib create mode 100644 xorg-server/hw/xquartz/bundle/Resources/ru.lproj/InfoPlist.strings create mode 100644 xorg-server/hw/xquartz/bundle/Resources/ru.lproj/Localizable.strings create mode 100644 xorg-server/hw/xquartz/bundle/Resources/ru.lproj/main.nib/keyedobjects.nib create mode 100644 xorg-server/hw/xquartz/bundle/Resources/sv.lproj/InfoPlist.strings create mode 100644 xorg-server/hw/xquartz/bundle/Resources/sv.lproj/Localizable.strings create mode 100644 xorg-server/hw/xquartz/bundle/Resources/sv.lproj/main.nib/keyedobjects.nib create mode 100644 xorg-server/hw/xquartz/bundle/Resources/zh_CN.lproj/InfoPlist.strings create mode 100644 xorg-server/hw/xquartz/bundle/Resources/zh_CN.lproj/Localizable.strings create mode 100644 xorg-server/hw/xquartz/bundle/Resources/zh_CN.lproj/main.nib/keyedobjects.nib create mode 100644 xorg-server/hw/xquartz/bundle/Resources/zh_TW.lproj/InfoPlist.strings create mode 100644 xorg-server/hw/xquartz/bundle/Resources/zh_TW.lproj/Localizable.strings create mode 100644 xorg-server/hw/xquartz/bundle/Resources/zh_TW.lproj/main.nib/keyedobjects.nib delete mode 100644 xorg-server/hw/xquartz/bundle/Spanish.lproj/InfoPlist.strings delete mode 100644 xorg-server/hw/xquartz/bundle/Spanish.lproj/Localizable.strings delete mode 100644 xorg-server/hw/xquartz/bundle/Spanish.lproj/main.nib/keyedobjects.nib delete mode 100644 xorg-server/hw/xquartz/bundle/X11.icns create mode 100644 xorg-server/hw/xquartz/bundle/X11.sh delete mode 100644 xorg-server/hw/xquartz/bundle/X11.xcodeproj/project.pbxproj delete mode 100644 xorg-server/hw/xquartz/bundle/bundle-main.c create mode 100644 xorg-server/hw/xquartz/bundle/cpprules.in delete mode 100644 xorg-server/hw/xquartz/bundle/da.lproj/InfoPlist.strings delete mode 100644 xorg-server/hw/xquartz/bundle/da.lproj/Localizable.strings delete mode 100644 xorg-server/hw/xquartz/bundle/da.lproj/main.nib/keyedobjects.nib delete mode 100644 xorg-server/hw/xquartz/bundle/fi.lproj/InfoPlist.strings delete mode 100644 xorg-server/hw/xquartz/bundle/fi.lproj/Localizable.strings delete mode 100644 xorg-server/hw/xquartz/bundle/fi.lproj/main.nib/keyedobjects.nib delete mode 100644 xorg-server/hw/xquartz/bundle/ko.lproj/InfoPlist.strings delete mode 100644 xorg-server/hw/xquartz/bundle/ko.lproj/Localizable.strings delete mode 100644 xorg-server/hw/xquartz/bundle/ko.lproj/main.nib/keyedobjects.nib create mode 100644 xorg-server/hw/xquartz/bundle/mk_bundke.sh delete mode 100644 xorg-server/hw/xquartz/bundle/no.lproj/InfoPlist.strings delete mode 100644 xorg-server/hw/xquartz/bundle/no.lproj/Localizable.strings delete mode 100644 xorg-server/hw/xquartz/bundle/no.lproj/main.nib/keyedobjects.nib delete mode 100644 xorg-server/hw/xquartz/bundle/pl.lproj/InfoPlist.strings delete mode 100644 xorg-server/hw/xquartz/bundle/pl.lproj/Localizable.strings delete mode 100644 xorg-server/hw/xquartz/bundle/pl.lproj/main.nib/keyedobjects.nib delete mode 100644 xorg-server/hw/xquartz/bundle/pt.lproj/InfoPlist.strings delete mode 100644 xorg-server/hw/xquartz/bundle/pt.lproj/Localizable.strings delete mode 100644 xorg-server/hw/xquartz/bundle/pt.lproj/main.nib/keyedobjects.nib delete mode 100644 xorg-server/hw/xquartz/bundle/pt_PT.lproj/InfoPlist.strings delete mode 100644 xorg-server/hw/xquartz/bundle/pt_PT.lproj/Localizable.strings delete mode 100644 xorg-server/hw/xquartz/bundle/pt_PT.lproj/main.nib/keyedobjects.nib delete mode 100644 xorg-server/hw/xquartz/bundle/ru.lproj/InfoPlist.strings delete mode 100644 xorg-server/hw/xquartz/bundle/ru.lproj/Localizable.strings delete mode 100644 xorg-server/hw/xquartz/bundle/ru.lproj/main.nib/keyedobjects.nib delete mode 100644 xorg-server/hw/xquartz/bundle/sv.lproj/InfoPlist.strings delete mode 100644 xorg-server/hw/xquartz/bundle/sv.lproj/Localizable.strings delete mode 100644 xorg-server/hw/xquartz/bundle/sv.lproj/main.nib/keyedobjects.nib delete mode 100644 xorg-server/hw/xquartz/bundle/zh_CN.lproj/InfoPlist.strings delete mode 100644 xorg-server/hw/xquartz/bundle/zh_CN.lproj/Localizable.strings delete mode 100644 xorg-server/hw/xquartz/bundle/zh_CN.lproj/main.nib/keyedobjects.nib delete mode 100644 xorg-server/hw/xquartz/bundle/zh_TW.lproj/InfoPlist.strings delete mode 100644 xorg-server/hw/xquartz/bundle/zh_TW.lproj/Localizable.strings delete mode 100644 xorg-server/hw/xquartz/bundle/zh_TW.lproj/main.nib/keyedobjects.nib delete mode 100644 xorg-server/hw/xquartz/darwinKeyboard.c delete mode 100644 xorg-server/hw/xquartz/darwinKeyboard.h create mode 100644 xorg-server/hw/xquartz/doc/Makefile.am create mode 100644 xorg-server/hw/xquartz/doc/Makefile.in create mode 100644 xorg-server/hw/xquartz/doc/Xquartz.man.pre create mode 100644 xorg-server/hw/xquartz/mach-startup/Makefile.am create mode 100644 xorg-server/hw/xquartz/mach-startup/Makefile.in create mode 100644 xorg-server/hw/xquartz/mach-startup/bundle-main.c create mode 100644 xorg-server/hw/xquartz/mach-startup/launchd_fd.c create mode 100644 xorg-server/hw/xquartz/mach-startup/launchd_fd.h create mode 100644 xorg-server/hw/xquartz/mach-startup/mach_startup.defs create mode 100644 xorg-server/hw/xquartz/mach-startup/mach_startup_types.h create mode 100644 xorg-server/hw/xquartz/mach-startup/stub.c create mode 100644 xorg-server/hw/xquartz/pbproxy/Makefile.am create mode 100644 xorg-server/hw/xquartz/pbproxy/Makefile.in create mode 100644 xorg-server/hw/xquartz/pbproxy/app-main.m create mode 100644 xorg-server/hw/xquartz/pbproxy/main.m create mode 100644 xorg-server/hw/xquartz/pbproxy/pbproxy.h create mode 100644 xorg-server/hw/xquartz/pbproxy/trick_autotools.c create mode 100644 xorg-server/hw/xquartz/pbproxy/x-input.m create mode 100644 xorg-server/hw/xquartz/pbproxy/x-selection.h create mode 100644 xorg-server/hw/xquartz/pbproxy/x-selection.m delete mode 100644 xorg-server/hw/xquartz/quartzCursor.c delete mode 100644 xorg-server/hw/xquartz/quartzCursor.h delete mode 100644 xorg-server/hw/xquartz/quartzForeground.c delete mode 100644 xorg-server/hw/xquartz/quartzForeground.h create mode 100644 xorg-server/hw/xquartz/sanitizedCarbon.h create mode 100644 xorg-server/hw/xquartz/sanitizedCocoa.h create mode 100644 xorg-server/hw/xquartz/threadSafety.c create mode 100644 xorg-server/hw/xquartz/threadSafety.h create mode 100644 xorg-server/hw/xquartz/xpr/xprEvent.c create mode 100644 xorg-server/hw/xquartz/xpr/xprEvent.h create mode 100644 xorg-server/hw/xwin/glx/ChangeLog create mode 100644 xorg-server/hw/xwin/glx/glwindows.h create mode 100644 xorg-server/hw/xwin/glx/glwrap.c create mode 100644 xorg-server/hw/xwin/glx/indirect.c delete mode 100644 xorg-server/hw/xwin/winpushpxl.c (limited to 'xorg-server/hw') diff --git a/xorg-server/hw/Makefile.am b/xorg-server/hw/Makefile.am index c2b9571b9..7409906a8 100644 --- a/xorg-server/hw/Makefile.am +++ b/xorg-server/hw/Makefile.am @@ -18,34 +18,24 @@ if XWIN XWIN_SUBDIRS = xwin endif -if XGL -XGL_SUBDIRS = xgl -endif - if KDRIVE KDRIVE_SUBDIRS = kdrive endif -if XPRINT -XPRINT_SUBDIRS = xprint -endif - if XQUARTZ XQUARTZ_SUBDIRS = xquartz endif SUBDIRS = \ $(XORG_SUBDIRS) \ - $(XGL_SUBDIRS) \ $(XWIN_SUBDIRS) \ $(XVFB_SUBDIRS) \ $(XNEST_SUBDIRS) \ $(DMX_SUBDIRS) \ $(KDRIVE_SUBDIRS) \ - $(XQUARTZ_SUBDIRS) \ - $(XPRINT_SUBDIRS) + $(XQUARTZ_SUBDIRS) -DIST_SUBDIRS = dmx xfree86 vfb xnest xwin xquartz kdrive xgl xprint +DIST_SUBDIRS = dmx xfree86 vfb xnest xwin xquartz kdrive relink: for i in $(SUBDIRS) ; do $(MAKE) -C $$i relink ; done diff --git a/xorg-server/hw/Makefile.in b/xorg-server/hw/Makefile.in index bf5cf5d3d..b09ad0eee 100644 --- a/xorg-server/hw/Makefile.in +++ b/xorg-server/hw/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -42,7 +42,6 @@ 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 \ @@ -67,8 +66,9 @@ ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ -APPDEFAULTDIR = @APPDEFAULTDIR@ APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +APPLE_APPLICATION_ID = @APPLE_APPLICATION_ID@ +APPLE_APPLICATION_NAME = @APPLE_APPLICATION_NAME@ APP_MAN_DIR = @APP_MAN_DIR@ APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ AR = @AR@ @@ -89,10 +89,6 @@ 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@ @@ -114,6 +110,7 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOLT_BASH = @DOLT_BASH@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ @@ -123,18 +120,15 @@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ DSYMUTIL = @DSYMUTIL@ DTRACE = @DTRACE@ -ECHO = @ECHO@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ -FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ -FREETYPE_LIBS = @FREETYPE_LIBS@ GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ GLX_DEFINES = @GLX_DEFINES@ GL_CFLAGS = @GL_CFLAGS@ @@ -153,7 +147,7 @@ KDRIVE_LIBS = @KDRIVE_LIBS@ KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ -LAUNCHD = @LAUNCHD@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ LEX = @LEX@ @@ -167,7 +161,10 @@ LIBTOOL = @LIBTOOL@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LINUXDOC = @LINUXDOC@ +LIPO = @LIPO@ LN_S = @LN_S@ +LTCOMPILE = @LTCOMPILE@ +LTCXXCOMPILE = @LTCXXCOMPILE@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ @@ -179,8 +176,7 @@ MESA_SOURCE = @MESA_SOURCE@ MISC_MAN_DIR = @MISC_MAN_DIR@ MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ MKDIR_P = @MKDIR_P@ -MKFONTDIR = @MKFONTDIR@ -MKFONTSCALE = @MKFONTSCALE@ +NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCCLD = @OBJCCLD@ @@ -189,8 +185,8 @@ OBJCFLAGS = @OBJCFLAGS@ OBJCLINK = @OBJCLINK@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ @@ -223,7 +219,6 @@ VENDOR_NAME = @VENDOR_NAME@ VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ VENDOR_RELEASE = @VENDOR_RELEASE@ VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ XDMCP_CFLAGS = @XDMCP_CFLAGS@ @@ -233,27 +228,12 @@ XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@ XDMX_CFLAGS = @XDMX_CFLAGS@ XDMX_LIBS = @XDMX_LIBS@ XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ XEPHYR_INCS = @XEPHYR_INCS@ XEPHYR_LIBS = @XEPHYR_LIBS@ 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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ @@ -264,10 +244,6 @@ XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ XNEST_LIBS = @XNEST_LIBS@ XNEST_SYS_LIBS = @XNEST_SYS_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_INCS = @XORG_INCS@ XORG_LIBS = @XORG_LIBS@ @@ -276,13 +252,8 @@ XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ XORG_OS = @XORG_OS@ XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_LIBS@ +XPBPROXY_CFLAGS = @XPBPROXY_CFLAGS@ +XPBPROXY_LIBS = @XPBPROXY_LIBS@ XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ XSDL_INCS = @XSDL_INCS@ @@ -315,8 +286,7 @@ 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@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -336,7 +306,6 @@ driverdir = @driverdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ extdir = @extdir@ -ft_config = @ft_config@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ @@ -346,12 +315,12 @@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ -launchagentsdir = @launchagentsdir@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ logdir = @logdir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ moduledir = @moduledir@ @@ -369,29 +338,23 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ @DMX_TRUE@DMX_SUBDIRS = dmx @XORG_TRUE@XORG_SUBDIRS = xfree86 @XVFB_TRUE@XVFB_SUBDIRS = vfb @XNEST_TRUE@XNEST_SUBDIRS = xnest @XWIN_TRUE@XWIN_SUBDIRS = xwin -@XGL_TRUE@XGL_SUBDIRS = xgl @KDRIVE_TRUE@KDRIVE_SUBDIRS = kdrive -@XPRINT_TRUE@XPRINT_SUBDIRS = xprint @XQUARTZ_TRUE@XQUARTZ_SUBDIRS = xquartz SUBDIRS = \ $(XORG_SUBDIRS) \ - $(XGL_SUBDIRS) \ $(XWIN_SUBDIRS) \ $(XVFB_SUBDIRS) \ $(XNEST_SUBDIRS) \ $(DMX_SUBDIRS) \ $(KDRIVE_SUBDIRS) \ - $(XQUARTZ_SUBDIRS) \ - $(XPRINT_SUBDIRS) + $(XQUARTZ_SUBDIRS) -DIST_SUBDIRS = dmx xfree86 vfb xnest xwin xquartz kdrive xgl xprint +DIST_SUBDIRS = dmx xfree86 vfb xnest xwin xquartz kdrive all: all-recursive .SUFFIXES: @@ -399,8 +362,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ @@ -506,7 +469,7 @@ ID: $(HEADERS) $(SOURCES) $(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; nonemtpy = 1; } \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS diff --git a/xorg-server/hw/dmx/Makefile.in b/xorg-server/hw/dmx/Makefile.in index c24acd140..6a5b2abe8 100644 --- a/xorg-server/hw/dmx/Makefile.in +++ b/xorg-server/hw/dmx/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -47,7 +47,6 @@ 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 \ @@ -89,9 +88,6 @@ 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) \ @@ -123,8 +119,9 @@ ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ -APPDEFAULTDIR = @APPDEFAULTDIR@ APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +APPLE_APPLICATION_ID = @APPLE_APPLICATION_ID@ +APPLE_APPLICATION_NAME = @APPLE_APPLICATION_NAME@ APP_MAN_DIR = @APP_MAN_DIR@ APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ AR = @AR@ @@ -145,10 +142,6 @@ 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@ @@ -170,6 +163,7 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOLT_BASH = @DOLT_BASH@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ @@ -179,18 +173,15 @@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ DSYMUTIL = @DSYMUTIL@ DTRACE = @DTRACE@ -ECHO = @ECHO@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ -FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ -FREETYPE_LIBS = @FREETYPE_LIBS@ GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ GLX_DEFINES = @GLX_DEFINES@ GL_CFLAGS = @GL_CFLAGS@ @@ -209,7 +200,7 @@ KDRIVE_LIBS = @KDRIVE_LIBS@ KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ -LAUNCHD = @LAUNCHD@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ LEX = @LEX@ @@ -223,7 +214,10 @@ LIBTOOL = @LIBTOOL@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LINUXDOC = @LINUXDOC@ +LIPO = @LIPO@ LN_S = @LN_S@ +LTCOMPILE = @LTCOMPILE@ +LTCXXCOMPILE = @LTCXXCOMPILE@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ @@ -235,8 +229,7 @@ MESA_SOURCE = @MESA_SOURCE@ MISC_MAN_DIR = @MISC_MAN_DIR@ MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ MKDIR_P = @MKDIR_P@ -MKFONTDIR = @MKFONTDIR@ -MKFONTSCALE = @MKFONTSCALE@ +NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCCLD = @OBJCCLD@ @@ -245,8 +238,8 @@ OBJCFLAGS = @OBJCFLAGS@ OBJCLINK = @OBJCLINK@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ @@ -279,7 +272,6 @@ VENDOR_NAME = @VENDOR_NAME@ VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ VENDOR_RELEASE = @VENDOR_RELEASE@ VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ XDMCP_CFLAGS = @XDMCP_CFLAGS@ @@ -299,27 +291,12 @@ XDMX_LIBS = \ $(XSERVER_LIBS) XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ XEPHYR_INCS = @XEPHYR_INCS@ XEPHYR_LIBS = @XEPHYR_LIBS@ 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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ @@ -330,10 +307,6 @@ XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ XNEST_LIBS = @XNEST_LIBS@ XNEST_SYS_LIBS = @XNEST_SYS_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_INCS = @XORG_INCS@ XORG_LIBS = @XORG_LIBS@ @@ -342,13 +315,8 @@ XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ XORG_OS = @XORG_OS@ XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_LIBS@ +XPBPROXY_CFLAGS = @XPBPROXY_CFLAGS@ +XPBPROXY_LIBS = @XPBPROXY_LIBS@ XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ XSDL_INCS = @XSDL_INCS@ @@ -381,8 +349,7 @@ 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@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -402,7 +369,6 @@ driverdir = @driverdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ extdir = @extdir@ -ft_config = @ft_config@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ @@ -412,12 +378,12 @@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ -launchagentsdir = @launchagentsdir@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ logdir = @logdir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ moduledir = @moduledir@ @@ -435,8 +401,6 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ DIST_SUBDIRS = input config glxProxy examples doc SUBDIRS = input config examples $(am__append_1) $(am__append_2) @XINERAMA_TRUE@PANORAMIX_SRCS = $(top_srcdir)/Xext/panoramiX.c @@ -529,8 +493,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ @@ -779,7 +743,7 @@ ID: $(HEADERS) $(SOURCES) $(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; nonemtpy = 1; } \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS diff --git a/xorg-server/hw/dmx/config/Makefile.in b/xorg-server/hw/dmx/config/Makefile.in index 6bfacad62..df4be6d1a 100644 --- a/xorg-server/hw/dmx/config/Makefile.in +++ b/xorg-server/hw/dmx/config/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -47,7 +47,6 @@ 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 \ @@ -79,9 +78,6 @@ 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) \ @@ -115,8 +111,9 @@ ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ -APPDEFAULTDIR = @APPDEFAULTDIR@ APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +APPLE_APPLICATION_ID = @APPLE_APPLICATION_ID@ +APPLE_APPLICATION_NAME = @APPLE_APPLICATION_NAME@ APP_MAN_DIR = @APP_MAN_DIR@ APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ AR = @AR@ @@ -137,10 +134,6 @@ 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@ @@ -162,6 +155,7 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOLT_BASH = @DOLT_BASH@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ @@ -171,18 +165,15 @@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ DSYMUTIL = @DSYMUTIL@ DTRACE = @DTRACE@ -ECHO = @ECHO@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ -FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ -FREETYPE_LIBS = @FREETYPE_LIBS@ GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ GLX_DEFINES = @GLX_DEFINES@ GL_CFLAGS = @GL_CFLAGS@ @@ -201,7 +192,7 @@ KDRIVE_LIBS = @KDRIVE_LIBS@ KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ -LAUNCHD = @LAUNCHD@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ LEX = @LEX@ @@ -215,7 +206,10 @@ LIBTOOL = @LIBTOOL@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LINUXDOC = @LINUXDOC@ +LIPO = @LIPO@ LN_S = @LN_S@ +LTCOMPILE = @LTCOMPILE@ +LTCXXCOMPILE = @LTCXXCOMPILE@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ @@ -227,8 +221,7 @@ MESA_SOURCE = @MESA_SOURCE@ MISC_MAN_DIR = @MISC_MAN_DIR@ MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ MKDIR_P = @MKDIR_P@ -MKFONTDIR = @MKFONTDIR@ -MKFONTSCALE = @MKFONTSCALE@ +NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCCLD = @OBJCCLD@ @@ -237,8 +230,8 @@ OBJCFLAGS = @OBJCFLAGS@ OBJCLINK = @OBJCLINK@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ @@ -271,7 +264,6 @@ VENDOR_NAME = @VENDOR_NAME@ VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ VENDOR_RELEASE = @VENDOR_RELEASE@ VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ XDMCP_CFLAGS = @XDMCP_CFLAGS@ @@ -281,27 +273,12 @@ XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@ XDMX_CFLAGS = @XDMX_CFLAGS@ XDMX_LIBS = @XDMX_LIBS@ XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ XEPHYR_INCS = @XEPHYR_INCS@ XEPHYR_LIBS = @XEPHYR_LIBS@ 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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ @@ -312,10 +289,6 @@ XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ XNEST_LIBS = @XNEST_LIBS@ XNEST_SYS_LIBS = @XNEST_SYS_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_INCS = @XORG_INCS@ XORG_LIBS = @XORG_LIBS@ @@ -324,13 +297,8 @@ XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ XORG_OS = @XORG_OS@ XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_LIBS@ +XPBPROXY_CFLAGS = @XPBPROXY_CFLAGS@ +XPBPROXY_LIBS = @XPBPROXY_LIBS@ XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ XSDL_INCS = @XSDL_INCS@ @@ -363,8 +331,7 @@ 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@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -384,7 +351,6 @@ driverdir = @driverdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ extdir = @extdir@ -ft_config = @ft_config@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ @@ -394,12 +360,12 @@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ -launchagentsdir = @launchagentsdir@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ logdir = @logdir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ moduledir = @moduledir@ @@ -417,8 +383,6 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ noinst_LIBRARIES = libdmxconfig.a LIBSRCS = parser.y \ scanner.l \ @@ -496,8 +460,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ @@ -681,7 +645,7 @@ ID: $(HEADERS) $(SOURCES) $(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; nonemtpy = 1; } \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS diff --git a/xorg-server/hw/dmx/config/dmxparse.c b/xorg-server/hw/dmx/config/dmxparse.c index 0bf947051..28a1835af 100644 --- a/xorg-server/hw/dmx/config/dmxparse.c +++ b/xorg-server/hw/dmx/config/dmxparse.c @@ -65,12 +65,11 @@ void dmxConfigLog(const char *format, ...) void *dmxConfigAlloc(unsigned long bytes) { - void *area = malloc(bytes); + void *area = calloc(1, bytes); if (!area) { dmxConfigLog("dmxConfigAlloc: out of memory\n"); return NULL; } - memset(area, 0, bytes); return area; } @@ -249,8 +248,6 @@ DMXConfigDisplayPtr dmxConfigCreateDisplay(DMXConfigTokenPtr pStart, { DMXConfigDisplayPtr pDisplay = dmxConfigAlloc(sizeof(*pDisplay)); - memset(pDisplay, 0, sizeof(*pDisplay)); - pDisplay->start = pStart; pDisplay->dname = pName; pDisplay->dim = pDim; diff --git a/xorg-server/hw/dmx/config/scanner.c b/xorg-server/hw/dmx/config/scanner.c index d6b44b162..9f30f0eef 100644 --- a/xorg-server/hw/dmx/config/scanner.c +++ b/xorg-server/hw/dmx/config/scanner.c @@ -53,7 +53,6 @@ typedef int flex_int32_t; typedef unsigned char flex_uint8_t; typedef unsigned short int flex_uint16_t; typedef unsigned int flex_uint32_t; -#endif /* ! C99 */ /* Limits of integral types. */ #ifndef INT8_MIN @@ -84,6 +83,8 @@ typedef unsigned int flex_uint32_t; #define UINT32_MAX (4294967295U) #endif +#endif /* ! C99 */ + #endif /* ! FLEXINT_H */ #ifdef __cplusplus @@ -544,7 +545,7 @@ static int gettoken(int token, const char *text, int leng); static int getcomment(int token, const char *text, int leng); static int lineno = 1; -#line 548 "scanner.c" +#line 549 "scanner.c" #define INITIAL 0 #define OTHER 1 @@ -626,7 +627,8 @@ static int input (void ); /* Amount of stuff to slurp up with each read. */ #ifndef YY_READ_BUF_SIZE -#define YY_READ_BUF_SIZE 8192 +/* On IA-64, the buffer size is 16k, not 8k */ +#define YY_READ_BUF_SIZE 16384 #endif /* Copy whatever the last rule matched to the standard output. */ @@ -645,7 +647,7 @@ static int input (void ); if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ { \ int c = '*'; \ - int n; \ + size_t n; \ for ( n = 0; n < max_size && \ (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ buf[n] = (char) c; \ @@ -732,7 +734,7 @@ YY_DECL #line 62 "scanner.l" -#line 736 "scanner.c" +#line 738 "scanner.c" if ( !(yy_init) ) { @@ -922,7 +924,7 @@ YY_RULE_SETUP #line 83 "scanner.l" ECHO; YY_BREAK -#line 926 "scanner.c" +#line 928 "scanner.c" case YY_END_OF_BUFFER: { @@ -1681,8 +1683,8 @@ YY_BUFFER_STATE yy_scan_string (yyconst char * yystr ) /** Setup the input buffer state to scan the given bytes. The next call to yylex() will * scan from a @e copy of @a bytes. - * @param bytes the byte buffer to scan - * @param len the number of bytes in the buffer pointed to by @a bytes. + * @param yybytes the byte buffer to scan + * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes. * * @return the newly allocated buffer state object. */ diff --git a/xorg-server/hw/dmx/dmx-config.h b/xorg-server/hw/dmx/dmx-config.h index 343fdabf5..5b7b60593 100644 --- a/xorg-server/hw/dmx/dmx-config.h +++ b/xorg-server/hw/dmx/dmx-config.h @@ -73,23 +73,16 @@ #define DMXEXT /* Disable the extensions that are not currently supported */ -#undef BEZIER -#undef PEXEXT #undef MULTIBUFFER #undef XV -#undef XIE #undef DBE #undef XF86VIDMODE -#undef XF86MISC #undef XFreeXDGA #undef XF86DRI -#undef TOGCUP -#undef MITMISC #undef SCREENSAVER #undef RANDR #undef XFIXES #undef DAMAGE #undef COMPOSITE -#undef FONTCACHE #endif /* DMX_CONFIG_H */ diff --git a/xorg-server/hw/dmx/dmx.c b/xorg-server/hw/dmx/dmx.c index 5f1fc0546..10d9e2206 100644 --- a/xorg-server/hw/dmx/dmx.c +++ b/xorg-server/hw/dmx/dmx.c @@ -113,10 +113,6 @@ static int _DMXXineramaActive(void) return 0; } -static void DMXResetProc(ExtensionEntry *extEntry) -{ -} - /** Initialize the extension. */ void DMXExtensionInit(void) { @@ -124,7 +120,7 @@ void DMXExtensionInit(void) if ((extEntry = AddExtension(DMX_EXTENSION_NAME, 0, 0, ProcDMXDispatch, SProcDMXDispatch, - DMXResetProc, StandardMinorOpcode))) + NULL, StandardMinorOpcode))) DMXCode = extEntry->base; } diff --git a/xorg-server/hw/dmx/dmx.h b/xorg-server/hw/dmx/dmx.h index 4fef91537..05e5fabd1 100644 --- a/xorg-server/hw/dmx/dmx.h +++ b/xorg-server/hw/dmx/dmx.h @@ -231,9 +231,7 @@ typedef struct _DMXScreenInfo { InstallColormapProcPtr InstallColormap; StoreColorsProcPtr StoreColors; -#ifdef SHAPE SetShapeProcPtr SetShape; -#endif #ifdef RENDER CreatePictureProcPtr CreatePicture; @@ -343,16 +341,14 @@ do { \ #define _MAXSCREENSALLOCF(o,size,fatal) \ do { \ if (!o) { \ - o = xalloc((size) * sizeof(*(o))); \ - if (o) memset(o, 0, (size) * sizeof(*(o))); \ + o = xcalloc((size), sizeof(*(o))); \ if (!o && fatal) FatalError(MAXSCREEN_FAILED_TXT #o); \ } \ } while (0) #define _MAXSCREENSALLOCR(o,size,retval) \ do { \ if (!o) { \ - o = xalloc((size) * sizeof(*(o))); \ - if (o) memset(o, 0, (size) * sizeof(*(o))); \ + o = xcalloc((size), sizeof(*(o))); \ if (!o) return retval; \ } \ } while (0) diff --git a/xorg-server/hw/dmx/dmx_glxvisuals.c b/xorg-server/hw/dmx/dmx_glxvisuals.c index 1e0cbbc1b..ec33468be 100644 --- a/xorg-server/hw/dmx/dmx_glxvisuals.c +++ b/xorg-server/hw/dmx/dmx_glxvisuals.c @@ -1,37 +1,32 @@ /* -** 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. -** -*/ + * SGI FREE SOFTWARE LICENSE B (Version 2.0, Sept. 18, 2008) + * Copyright (C) 1991-2000 Silicon 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, 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 including the dates of first publication and + * either this permission notice or a reference to + * http://oss.sgi.com/projects/FreeB/ + * 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 + * SILICON GRAPHICS, INC. 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 Silicon Graphics, Inc. + * shall not be used in advertising or otherwise to promote the sale, use or + * other dealings in this Software without prior written authorization from + * Silicon Graphics, Inc. + */ #ifdef HAVE_DMX_CONFIG_H #include diff --git a/xorg-server/hw/dmx/dmx_glxvisuals.h b/xorg-server/hw/dmx/dmx_glxvisuals.h index a9ac2e9ac..477e92391 100644 --- a/xorg-server/hw/dmx/dmx_glxvisuals.h +++ b/xorg-server/hw/dmx/dmx_glxvisuals.h @@ -1,37 +1,32 @@ /* -** 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. -** -*/ + * SGI FREE SOFTWARE LICENSE B (Version 2.0, Sept. 18, 2008) + * Copyright (C) 1991-2000 Silicon 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, 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 including the dates of first publication and + * either this permission notice or a reference to + * http://oss.sgi.com/projects/FreeB/ + * 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 + * SILICON GRAPHICS, INC. 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 Silicon Graphics, Inc. + * shall not be used in advertising or otherwise to promote the sale, use or + * other dealings in this Software without prior written authorization from + * Silicon Graphics, Inc. + */ #ifndef _GLXVISUALS_H #define _GLXVISUALS_H diff --git a/xorg-server/hw/dmx/dmxcb.c b/xorg-server/hw/dmx/dmxcb.c index 2ecfe22a3..ae6eb6fb2 100644 --- a/xorg-server/hw/dmx/dmxcb.c +++ b/xorg-server/hw/dmx/dmxcb.c @@ -43,7 +43,12 @@ #include "dmxinput.h" #include "dmxlog.h" -extern char *ConnectionInfo; +#undef Xmalloc +#undef Xcalloc +#undef Xrealloc +#undef Xfree + + extern int connBlockScreenStart; #ifdef PANORAMIX diff --git a/xorg-server/hw/dmx/dmxclient.h b/xorg-server/hw/dmx/dmxclient.h index 8f018d153..f0c3608da 100644 --- a/xorg-server/hw/dmx/dmxclient.h +++ b/xorg-server/hw/dmx/dmxclient.h @@ -84,9 +84,7 @@ typedef XID KeySym64; #include #include /* For XmuSnprintf */ -#ifdef SHAPE #include -#endif #ifdef RENDER #include @@ -98,9 +96,7 @@ typedef XID KeySym64; #include #endif -#ifdef XINPUT #include -#endif /* Always include these, since we query them even if we don't export XINPUT. */ #include /* For XDevice */ diff --git a/xorg-server/hw/dmx/dmxcursor.c b/xorg-server/hw/dmx/dmxcursor.c index 8a801169c..32934bbad 100644 --- a/xorg-server/hw/dmx/dmxcursor.c +++ b/xorg-server/hw/dmx/dmxcursor.c @@ -178,14 +178,14 @@ static void dmxCrossScreen(ScreenPtr pScreen, Bool entering) { } -static void dmxWarpCursor(ScreenPtr pScreen, int x, int y) +static void dmxWarpCursor(DeviceIntPtr pDev, 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); + miPointerWarpCursor(pDev, pScreen, x, y); #else - pScreen->SetCursorPosition(pScreen, x, y, FALSE); + pScreen->SetCursorPosition(pDev, pScreen, x, y, FALSE); #endif } @@ -733,7 +733,7 @@ static void _dmxSetCursor(ScreenPtr pScreen, CursorPtr pCursor, int x, int y) if (pCursor) { dmxCursorPrivPtr pCursorPriv = DMX_GET_CURSOR_PRIV(pCursor, pScreen); - if (dmxScreen->curCursor != pCursorPriv->cursor) { + if (pCursorPriv && dmxScreen->curCursor != pCursorPriv->cursor) { if (dmxScreen->beDisplay) XDefineCursor(dmxScreen->beDisplay, dmxScreen->scrnWin, pCursorPriv->cursor); @@ -753,7 +753,7 @@ static void _dmxSetCursor(ScreenPtr pScreen, CursorPtr pCursor, int x, int y) if (dmxScreen->beDisplay) dmxSync(dmxScreen, TRUE); } -static Bool dmxRealizeCursor(ScreenPtr pScreen, CursorPtr pCursor) +static Bool dmxRealizeCursor(DeviceIntPtr pDev, ScreenPtr pScreen, CursorPtr pCursor) { DMXScreenInfo *start = &dmxScreens[pScreen->myNum]; DMXScreenInfo *pt; @@ -771,7 +771,7 @@ static Bool dmxRealizeCursor(ScreenPtr pScreen, CursorPtr pCursor) return TRUE; } -static Bool dmxUnrealizeCursor(ScreenPtr pScreen, CursorPtr pCursor) +static Bool dmxUnrealizeCursor(DeviceIntPtr pDev, ScreenPtr pScreen, CursorPtr pCursor) { DMXScreenInfo *start = &dmxScreens[pScreen->myNum]; DMXScreenInfo *pt; @@ -794,14 +794,14 @@ static CursorPtr dmxFindCursor(DMXScreenInfo *start) DMXScreenInfo *pt; if (!start || !start->over) - return GetSpriteCursor(); + return GetSpriteCursor(inputInfo.pointer); for (pt = start->over; /* condition at end of loop */; pt = pt->over) { if (pt->cursor) return pt->cursor; if (pt == start) break; } - return GetSpriteCursor(); + return GetSpriteCursor(inputInfo.pointer); } /** Move the cursor to coordinates (\a x, \a y)on \a pScreen. This @@ -813,7 +813,7 @@ static CursorPtr dmxFindCursor(DMXScreenInfo *start) * 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) +void dmxMoveCursor(DeviceIntPtr pDev, ScreenPtr pScreen, int x, int y) { DMXScreenInfo *start = &dmxScreens[pScreen->myNum]; DMXScreenInfo *pt; @@ -860,7 +860,7 @@ void dmxMoveCursor(ScreenPtr pScreen, int x, int y) } } -static void dmxSetCursor(ScreenPtr pScreen, CursorPtr pCursor, int x, int y) +static void dmxSetCursor(DeviceIntPtr pDev, ScreenPtr pScreen, CursorPtr pCursor, int x, int y) { DMXScreenInfo *start = &dmxScreens[pScreen->myNum]; DMXScreenInfo *pt; @@ -943,13 +943,8 @@ 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); @@ -969,10 +964,21 @@ void dmxCheckCursor(void) DMXDBG2(" leave dmxCheckCursor %d %d\n", x, y); } +static Bool dmxDeviceCursorInitialize(DeviceIntPtr pDev, ScreenPtr pScr) +{ + return TRUE; +} + +static void dmxDeviceCursorCleanup(DeviceIntPtr pDev, ScreenPtr pScr) +{ +} + miPointerSpriteFuncRec dmxPointerSpriteFuncs = { dmxRealizeCursor, dmxUnrealizeCursor, dmxSetCursor, dmxMoveCursor, + dmxDeviceCursorInitialize, + dmxDeviceCursorCleanup }; diff --git a/xorg-server/hw/dmx/dmxcursor.h b/xorg-server/hw/dmx/dmxcursor.h index d909bd01e..5242268c1 100644 --- a/xorg-server/hw/dmx/dmxcursor.h +++ b/xorg-server/hw/dmx/dmxcursor.h @@ -55,7 +55,7 @@ extern void dmxReInitOrigins(void); extern void dmxInitOrigins(void); extern void dmxInitOverlap(void); extern void dmxCursorNoMulti(void); -extern void dmxMoveCursor(ScreenPtr pScreen, int x, int y); +extern void dmxMoveCursor(DeviceIntPtr pDev, ScreenPtr pScreen, int x, int y); extern void dmxCheckCursor(void); extern int dmxOnScreen(int x, int y, DMXScreenInfo *dmxScreen); extern void dmxHideCursor(DMXScreenInfo *dmxScreen); @@ -63,10 +63,10 @@ extern void dmxHideCursor(DMXScreenInfo *dmxScreen); extern void dmxBECreateCursor(ScreenPtr pScreen, CursorPtr pCursor); extern Bool dmxBEFreeCursor(ScreenPtr pScreen, CursorPtr pCursor); -#define DMX_GET_CURSOR_PRIV(_pCursor, _pScreen) \ - ((dmxCursorPrivPtr)dixLookupPrivate(&(_pCursor)->devPrivates, _pScreen)) +#define DMX_GET_CURSOR_PRIV(_pCursor, _pScreen) ((dmxCursorPrivPtr) \ + dixLookupPrivate(&(_pCursor)->devPrivates, CursorScreenKey(_pScreen))) #define DMX_SET_CURSOR_PRIV(_pCursor, _pScreen, v) \ - dixSetPrivate(&(_pCursor)->devPrivates, _pScreen, v) + dixSetPrivate(&(_pCursor)->devPrivates, CursorScreenKey(_pScreen), v) #endif /* DMXCURSOR_H */ diff --git a/xorg-server/hw/dmx/dmxextension.c b/xorg-server/hw/dmx/dmxextension.c index 560468c4b..91479e7a5 100644 --- a/xorg-server/hw/dmx/dmxextension.c +++ b/xorg-server/hw/dmx/dmxextension.c @@ -64,6 +64,12 @@ #include /* For DMX_BAD_* */ #include "cursorstr.h" +#undef Xmalloc +#undef Xcalloc +#undef Xrealloc +#undef Xfree + + /* The default font is declared in dix/globals.c, but is not included in * _any_ header files. */ extern FontPtr defaultFont; @@ -1121,11 +1127,10 @@ static void dmxBERestoreRenderGlyph(pointer value, XID id, pointer n) } /* Now allocate the memory we need */ - images = xalloc(len_images*sizeof(char)); + images = xcalloc(len_images, sizeof(char)); gids = xalloc(glyphSet->hash.tableEntries*sizeof(Glyph)); glyphs = xalloc(glyphSet->hash.tableEntries*sizeof(XGlyphInfo)); - memset(images, 0, len_images * sizeof(char)); pos = images; ctr = 0; @@ -1350,7 +1355,6 @@ int dmxAttachScreen(int idx, DMXScreenAttributesPtr attr) * RTContext * TagResType * StalledResType - * RT_APPGROUP * SecurityAuthorizationResType * RTEventClient * __glXContextRes diff --git a/xorg-server/hw/dmx/dmxfont.c b/xorg-server/hw/dmx/dmxfont.c index b70f7d2df..c739159a8 100644 --- a/xorg-server/hw/dmx/dmxfont.c +++ b/xorg-server/hw/dmx/dmxfont.c @@ -49,6 +49,12 @@ #include "dixfont.h" #include "dixstruct.h" +#undef Xmalloc +#undef Xcalloc +#undef Xrealloc +#undef Xfree + + static int (*dmxSaveProcVector[256])(ClientPtr); static int dmxFontLastError; diff --git a/xorg-server/hw/dmx/dmxgc.c b/xorg-server/hw/dmx/dmxgc.c index ce1730cff..eb21d3c60 100644 --- a/xorg-server/hw/dmx/dmxgc.c +++ b/xorg-server/hw/dmx/dmxgc.c @@ -85,6 +85,8 @@ static GCOps dmxGCOps = { /** Initialize the GC on \a pScreen */ Bool dmxInitGC(ScreenPtr pScreen) { + if (!dixRequestPrivate(dmxGCPrivateKey, sizeof(dmxGCPrivRec))) + return FALSE; return TRUE; } diff --git a/xorg-server/hw/dmx/dmxinit.c b/xorg-server/hw/dmx/dmxinit.c index 29dc00575..6a0c259ec 100644 --- a/xorg-server/hw/dmx/dmxinit.c +++ b/xorg-server/hw/dmx/dmxinit.c @@ -508,7 +508,7 @@ static void dmxDisplayInit(DMXScreenInfo *dmxScreen) /* If this doesn't compile, just add || defined(yoursystem) to the line * below. This information is to help with bug reports and is not * critical. */ -#if !defined(_POSIX_SOURCE) && !defined(__sgi) +#if !defined(_POSIX_SOURCE) static const char *dmxExecOS(void) { return ""; } #else #include @@ -538,14 +538,6 @@ static const char *dmxBuildCompiler(void) #if defined(__GNUC__) && defined(__GNUC_MINOR__) &&defined(__GNUC_PATCHLEVEL__) XmuSnprintf(buffer, sizeof(buffer)-1, "gcc %d.%d.%d", __GNUC__, __GNUC_MINOR__, __GNUC_PATCHLEVEL__); -#elif defined(__sgi) && defined(_COMPILER_VERSION) && !defined(__GNUC__) - { - int a = _COMPILER_VERSION / 100; - int b = (_COMPILER_VERSION - a * 100) / 10; - int c = _COMPILER_VERSION - a * 100 - b * 10; - XmuSnprintf(buffer, sizeof(buffer)-1, "SGI MIPSpro %d.%d.%d", - a, b, c); - } #endif } return buffer; @@ -746,8 +738,7 @@ void InitOutput(ScreenInfo *pScreenInfo, int argc, char *argv[]) nconfigs = dmxScreen->numGlxVisuals; } - configprivs = xalloc(dmxScreen->beNumVisuals * - sizeof(dmxGlxVisualPrivate*)); + configprivs = xalloc(nconfigs * sizeof(dmxGlxVisualPrivate*)); if (configs != NULL && configprivs != NULL) { @@ -779,6 +770,8 @@ void InitOutput(ScreenInfo *pScreenInfo, int argc, char *argv[]) /* Hand out the glx configs to glx extension */ GlxSetVisualConfigs(nconfigs, configs, (void**)configprivs); + + XFlush(dmxScreen->beDisplay); } } #endif /* GLXEXT */ @@ -873,13 +866,6 @@ void OsVendorFatalError(void) { } -/** This funciton is called by InitGlobals from Xserver/os/utils.c to - * initialize any ddx specific globals at a very early point in the - * server startup. */ -void ddxInitGlobals(void) -{ -} - /** Process our command line arguments. */ int ddxProcessArgument(int argc, char *argv[], int i) { diff --git a/xorg-server/hw/dmx/dmxinput.h b/xorg-server/hw/dmx/dmxinput.h index 8a3ccdcbd..7af7b1801 100644 --- a/xorg-server/hw/dmx/dmxinput.h +++ b/xorg-server/hw/dmx/dmxinput.h @@ -141,8 +141,8 @@ extern void dmxUpdateWindowInfo(DMXUpdateType type, WindowPtr pWindow); /* These functions are defined in input/dmxeq.c */ extern Bool dmxeqInitialized(void); -extern void dmxeqEnqueue(xEvent *e); -extern void dmxeqSwitchScreen(ScreenPtr pScreen, Bool fromDIX); +extern void dmxeqEnqueue(DeviceIntPtr pDev, xEvent *e); +extern void dmxeqSwitchScreen(DeviceIntPtr pDev, ScreenPtr pScreen, Bool fromDIX); /* This type is used in input/dmxevents.c. Also, these functions are * defined in input/dmxevents.c */ diff --git a/xorg-server/hw/dmx/dmxlog.c b/xorg-server/hw/dmx/dmxlog.c index 31a74cdf1..94b803528 100644 --- a/xorg-server/hw/dmx/dmxlog.c +++ b/xorg-server/hw/dmx/dmxlog.c @@ -42,10 +42,8 @@ #include "dmx.h" #include "dmxlog.h" #include "dmxinput.h" -#ifdef XINPUT #include #include -#endif static dmxLogLevel dmxCurrentLogLevel = dmxDebug; @@ -279,7 +277,6 @@ void dmxLogVisual(DMXScreenInfo *dmxScreen, XVisualInfo *vi, int defaultVisual) } } -#ifdef XINPUT /** Translate a (normalized) XInput event \a type into a human-readable * string. */ const char *dmxXInputEventName(int type) @@ -304,7 +301,6 @@ const char *dmxXInputEventName(int type) } } -#endif #endif /** Translate an event \a type into a human-readable string. */ diff --git a/xorg-server/hw/dmx/dmxlog.h b/xorg-server/hw/dmx/dmxlog.h index 8a5f725c8..7b614bd73 100644 --- a/xorg-server/hw/dmx/dmxlog.h +++ b/xorg-server/hw/dmx/dmxlog.h @@ -70,9 +70,7 @@ extern void dmxLogInputCont(DMXInputInfo *dmxInput, const char *format, ...); extern void dmxLogArgs(dmxLogLevel logLevel, int argc, char **argv); extern void dmxLogVisual(DMXScreenInfo *dmxScreen, XVisualInfo *vi, int defaultVisual); -#ifdef XINPUT extern const char *dmxXInputEventName(int type); #endif -#endif #endif diff --git a/xorg-server/hw/dmx/dmxpict.c b/xorg-server/hw/dmx/dmxpict.c index 37dfa10ac..8bce6892e 100644 --- a/xorg-server/hw/dmx/dmxpict.c +++ b/xorg-server/hw/dmx/dmxpict.c @@ -56,6 +56,12 @@ #include "mipict.h" #include "fbpict.h" +#undef Xmalloc +#undef Xcalloc +#undef Xrealloc +#undef Xfree + + extern int RenderErrBase; extern int (*ProcRenderVector[RenderNumberRequests])(ClientPtr); diff --git a/xorg-server/hw/dmx/dmxscrinit.c b/xorg-server/hw/dmx/dmxscrinit.c index 1d12ec32d..28c8b0185 100644 --- a/xorg-server/hw/dmx/dmxscrinit.c +++ b/xorg-server/hw/dmx/dmxscrinit.c @@ -61,21 +61,34 @@ #include "mipointer.h" #include "micmap.h" +#undef Xmalloc +#undef Xcalloc +#undef Xrealloc +#undef Xfree + + extern Bool dmxCloseScreen(int idx, ScreenPtr pScreen); static Bool dmxSaveScreen(ScreenPtr pScreen, int what); static unsigned long dmxGeneration; static unsigned long *dmxCursorGeneration; +static int dmxGCPrivateKeyIndex; DevPrivateKey dmxGCPrivateKey = &dmxGCPrivateKey; /**< Private index for GCs */ -DevPrivateKey dmxWinPrivateKey = &dmxWinPrivateKey; /**< Private index for Windows */ -DevPrivateKey dmxPixPrivateKey = &dmxPixPrivateKey; /**< Private index for Pixmaps */ +static int dmxWinPrivateKeyIndex; +DevPrivateKey dmxWinPrivateKey = &dmxWinPrivateKeyIndex; /**< Private index for Windows */ +static int dmxPixPrivateKeyIndex; +DevPrivateKey dmxPixPrivateKey = &dmxPixPrivateKeyIndex; /**< Private index for Pixmaps */ int dmxFontPrivateIndex; /**< Private index for Fonts */ -DevPrivateKey dmxScreenPrivateKey = &dmxScreenPrivateKey; /**< Private index for Screens */ -DevPrivateKey dmxColormapPrivateKey = &dmxColormapPrivateKey; /**< Private index for Colormaps */ +static int dmxScreenPrivateKeyIndex; +DevPrivateKey dmxScreenPrivateKey = &dmxScreenPrivateKeyIndex; /**< Private index for Screens */ +static int dmxColormapPrivateKeyIndex; +DevPrivateKey dmxColormapPrivateKey = &dmxColormapPrivateKeyIndex; /**< Private index for Colormaps */ #ifdef RENDER -DevPrivateKey dmxPictPrivateKey = &dmxPictPrivateKey; /**< Private index for Picts */ -DevPrivateKey dmxGlyphSetPrivateKey = &dmxGlyphSetPrivateKey; /**< Private index for GlyphSets */ +static int dmxPictPrivateKeyIndex; +DevPrivateKey dmxPictPrivateKey = &dmxPictPrivateKeyIndex; /**< Private index for Picts */ +static int dmxGlyphSetPrivateKeyIndex; +DevPrivateKey dmxGlyphSetPrivateKey = &dmxGlyphSetPrivateKeyIndex; /**< Private index for GlyphSets */ #endif /** Initialize the parts of screen \a idx that require access to the @@ -340,10 +353,8 @@ Bool dmxScreenInit(int idx, ScreenPtr pScreen, int argc, char *argv[]) DMX_WRAP(InstallColormap, dmxInstallColormap, dmxScreen, pScreen); DMX_WRAP(StoreColors, dmxStoreColors, dmxScreen, pScreen); -#ifdef SHAPE /* Wrap Shape functions */ DMX_WRAP(SetShape, dmxSetShape, dmxScreen, pScreen); -#endif } if (!dmxCreateDefColormap(pScreen)) @@ -434,10 +445,8 @@ Bool dmxCloseScreen(int idx, ScreenPtr pScreen) xfree(dmxScreen->shadow); } else { -#ifdef SHAPE /* Unwrap Shape functions */ DMX_UNWRAP(SetShape, dmxScreen, pScreen); -#endif /* Unwrap the pScreen functions */ DMX_UNWRAP(CreateGC, dmxScreen, pScreen); diff --git a/xorg-server/hw/dmx/dmxstat.c b/xorg-server/hw/dmx/dmxstat.c index a89c69eae..e3c13a623 100644 --- a/xorg-server/hw/dmx/dmxstat.c +++ b/xorg-server/hw/dmx/dmxstat.c @@ -115,8 +115,7 @@ void dmxStatActivate(const char *interval, const char *displays) /** Allocate a \a DMXStatInfo structure. */ DMXStatInfo *dmxStatAlloc(void) { - DMXStatInfo *pt = malloc(sizeof(*pt)); - memset(pt, 0, sizeof(*pt)); + DMXStatInfo *pt = calloc(1, sizeof(*pt)); return pt; } diff --git a/xorg-server/hw/dmx/dmxwindow.c b/xorg-server/hw/dmx/dmxwindow.c index 7494e6df2..24acc08e3 100644 --- a/xorg-server/hw/dmx/dmxwindow.c +++ b/xorg-server/hw/dmx/dmxwindow.c @@ -57,9 +57,7 @@ static void dmxDoChangeWindowAttributes(WindowPtr pWindow, unsigned long *mask, XSetWindowAttributes *attribs); -#ifdef SHAPE static void dmxDoSetShape(WindowPtr pWindow); -#endif /** Initialize the private area for the window functions. */ Bool dmxInitWindow(ScreenPtr pScreen) @@ -289,9 +287,7 @@ void dmxCreateAndRealizeWindow(WindowPtr pWindow, Bool doSync) pWinPriv->window = dmxCreateNonRootWindow(pWindow); if (pWinPriv->restacked) dmxDoRestackWindow(pWindow); -#ifdef SHAPE if (pWinPriv->isShaped) dmxDoSetShape(pWindow); -#endif #ifdef RENDER if (pWinPriv->hasPict) dmxCreatePictureList(pWindow); #endif @@ -323,9 +319,7 @@ Bool dmxCreateWindow(WindowPtr pWindow) pWinPriv->mapped = FALSE; pWinPriv->restacked = FALSE; pWinPriv->attribMask = 0; -#ifdef SHAPE pWinPriv->isShaped = FALSE; -#endif #ifdef RENDER pWinPriv->hasPict = FALSE; #endif @@ -942,7 +936,6 @@ void dmxChangeBorderWidth(WindowPtr pWindow, unsigned int width) DMX_WRAP(ChangeBorderWidth, dmxChangeBorderWidth, dmxScreen, pScreen); } -#ifdef SHAPE static void dmxDoSetShape(WindowPtr pWindow) { ScreenPtr pScreen = pWindow->drawable.pScreen; @@ -1029,4 +1022,3 @@ void dmxSetShape(WindowPtr pWindow) DMX_WRAP(SetShape, dmxSetShape, dmxScreen, pScreen); } -#endif diff --git a/xorg-server/hw/dmx/dmxwindow.h b/xorg-server/hw/dmx/dmxwindow.h index 72c76aa3b..353d0a3ba 100644 --- a/xorg-server/hw/dmx/dmxwindow.h +++ b/xorg-server/hw/dmx/dmxwindow.h @@ -48,9 +48,7 @@ typedef struct _dmxWinPriv { unsigned long attribMask; Colormap cmap; Visual *visual; -#ifdef SHAPE Bool isShaped; -#endif #ifdef RENDER Bool hasPict; #endif @@ -97,10 +95,8 @@ extern void dmxResizeRootWindow(WindowPtr pRoot, extern Bool dmxBEDestroyWindow(WindowPtr pWindow); -#ifdef SHAPE /* Support for shape extension */ extern void dmxSetShape(WindowPtr pWindow); -#endif /** Private index. \see dmxwindow.c \see dmxscrinit.c */ extern DevPrivateKey dmxWinPrivateKey; diff --git a/xorg-server/hw/dmx/doc/Makefile.in b/xorg-server/hw/dmx/doc/Makefile.in index 0e207dcf3..0628a432e 100644 --- a/xorg-server/hw/dmx/doc/Makefile.in +++ b/xorg-server/hw/dmx/doc/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -64,7 +64,6 @@ 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 \ @@ -79,8 +78,9 @@ ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ -APPDEFAULTDIR = @APPDEFAULTDIR@ APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +APPLE_APPLICATION_ID = @APPLE_APPLICATION_ID@ +APPLE_APPLICATION_NAME = @APPLE_APPLICATION_NAME@ APP_MAN_DIR = @APP_MAN_DIR@ APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ AR = @AR@ @@ -101,10 +101,6 @@ 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@ @@ -126,6 +122,7 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOLT_BASH = @DOLT_BASH@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ @@ -135,18 +132,15 @@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ DSYMUTIL = @DSYMUTIL@ DTRACE = @DTRACE@ -ECHO = @ECHO@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ -FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ -FREETYPE_LIBS = @FREETYPE_LIBS@ GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ GLX_DEFINES = @GLX_DEFINES@ GL_CFLAGS = @GL_CFLAGS@ @@ -165,7 +159,7 @@ KDRIVE_LIBS = @KDRIVE_LIBS@ KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ -LAUNCHD = @LAUNCHD@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ LEX = @LEX@ @@ -179,7 +173,10 @@ LIBTOOL = @LIBTOOL@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LINUXDOC = @LINUXDOC@ +LIPO = @LIPO@ LN_S = @LN_S@ +LTCOMPILE = @LTCOMPILE@ +LTCXXCOMPILE = @LTCXXCOMPILE@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ @@ -191,8 +188,7 @@ MESA_SOURCE = @MESA_SOURCE@ MISC_MAN_DIR = @MISC_MAN_DIR@ MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ MKDIR_P = @MKDIR_P@ -MKFONTDIR = @MKFONTDIR@ -MKFONTSCALE = @MKFONTSCALE@ +NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCCLD = @OBJCCLD@ @@ -201,8 +197,8 @@ OBJCFLAGS = @OBJCFLAGS@ OBJCLINK = @OBJCLINK@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ @@ -235,7 +231,6 @@ VENDOR_NAME = @VENDOR_NAME@ VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ VENDOR_RELEASE = @VENDOR_RELEASE@ VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ XDMCP_CFLAGS = @XDMCP_CFLAGS@ @@ -245,27 +240,12 @@ XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@ XDMX_CFLAGS = @XDMX_CFLAGS@ XDMX_LIBS = @XDMX_LIBS@ XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ XEPHYR_INCS = @XEPHYR_INCS@ XEPHYR_LIBS = @XEPHYR_LIBS@ 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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ @@ -276,10 +256,6 @@ XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ XNEST_LIBS = @XNEST_LIBS@ XNEST_SYS_LIBS = @XNEST_SYS_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_INCS = @XORG_INCS@ XORG_LIBS = @XORG_LIBS@ @@ -288,13 +264,8 @@ XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ XORG_OS = @XORG_OS@ XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_LIBS@ +XPBPROXY_CFLAGS = @XPBPROXY_CFLAGS@ +XPBPROXY_LIBS = @XPBPROXY_LIBS@ XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ XSDL_INCS = @XSDL_INCS@ @@ -327,8 +298,7 @@ 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@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -348,7 +318,6 @@ driverdir = @driverdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ extdir = @extdir@ -ft_config = @ft_config@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ @@ -358,12 +327,12 @@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ -launchagentsdir = @launchagentsdir@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ logdir = @logdir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ moduledir = @moduledir@ @@ -381,8 +350,6 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ SGML_FILES = dmx.sgml scaled.sgml @BUILD_LINUXDOC_TRUE@TXT_FILES = $(SGML_FILES:%.sgml=%.txt) @BUILD_LINUXDOC_TRUE@PS_FILES = $(SGML_FILES:%.sgml=%.ps) @@ -657,8 +624,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ diff --git a/xorg-server/hw/dmx/examples/Makefile.in b/xorg-server/hw/dmx/examples/Makefile.in index d85b9b20d..e41cc5cc2 100644 --- a/xorg-server/hw/dmx/examples/Makefile.in +++ b/xorg-server/hw/dmx/examples/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -48,7 +48,6 @@ 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 \ @@ -153,9 +152,6 @@ 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) \ @@ -180,8 +176,9 @@ ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ -APPDEFAULTDIR = @APPDEFAULTDIR@ APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +APPLE_APPLICATION_ID = @APPLE_APPLICATION_ID@ +APPLE_APPLICATION_NAME = @APPLE_APPLICATION_NAME@ APP_MAN_DIR = @APP_MAN_DIR@ APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ AR = @AR@ @@ -202,10 +199,6 @@ 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@ @@ -227,6 +220,7 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOLT_BASH = @DOLT_BASH@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ @@ -236,18 +230,15 @@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ DSYMUTIL = @DSYMUTIL@ DTRACE = @DTRACE@ -ECHO = @ECHO@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ -FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ -FREETYPE_LIBS = @FREETYPE_LIBS@ GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ GLX_DEFINES = @GLX_DEFINES@ GL_CFLAGS = @GL_CFLAGS@ @@ -266,7 +257,7 @@ KDRIVE_LIBS = @KDRIVE_LIBS@ KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ -LAUNCHD = @LAUNCHD@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ LEX = @LEX@ @@ -280,7 +271,10 @@ LIBTOOL = @LIBTOOL@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LINUXDOC = @LINUXDOC@ +LIPO = @LIPO@ LN_S = @LN_S@ +LTCOMPILE = @LTCOMPILE@ +LTCXXCOMPILE = @LTCXXCOMPILE@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ @@ -292,8 +286,7 @@ MESA_SOURCE = @MESA_SOURCE@ MISC_MAN_DIR = @MISC_MAN_DIR@ MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ MKDIR_P = @MKDIR_P@ -MKFONTDIR = @MKFONTDIR@ -MKFONTSCALE = @MKFONTSCALE@ +NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCCLD = @OBJCCLD@ @@ -302,8 +295,8 @@ OBJCFLAGS = @OBJCFLAGS@ OBJCLINK = @OBJCLINK@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ @@ -336,7 +329,6 @@ VENDOR_NAME = @VENDOR_NAME@ VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ VENDOR_RELEASE = @VENDOR_RELEASE@ VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ XDMCP_CFLAGS = @XDMCP_CFLAGS@ @@ -346,27 +338,12 @@ XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@ XDMX_CFLAGS = @XDMX_CFLAGS@ XDMX_LIBS = @XDMX_LIBS@ XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ XEPHYR_INCS = @XEPHYR_INCS@ XEPHYR_LIBS = @XEPHYR_LIBS@ 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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ @@ -377,10 +354,6 @@ XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ XNEST_LIBS = @XNEST_LIBS@ XNEST_SYS_LIBS = @XNEST_SYS_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_INCS = @XORG_INCS@ XORG_LIBS = @XORG_LIBS@ @@ -389,13 +362,8 @@ XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ XORG_OS = @XORG_OS@ XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_LIBS@ +XPBPROXY_CFLAGS = @XPBPROXY_CFLAGS@ +XPBPROXY_LIBS = @XPBPROXY_LIBS@ XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ XSDL_INCS = @XSDL_INCS@ @@ -428,8 +396,7 @@ 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@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -449,7 +416,6 @@ driverdir = @driverdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ extdir = @extdir@ -ft_config = @ft_config@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ @@ -459,12 +425,12 @@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ -launchagentsdir = @launchagentsdir@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ logdir = @logdir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ moduledir = @moduledir@ @@ -482,8 +448,6 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ # Requires @DMX_BUILD_USB_TRUE@EV_PROG = ev xdmx_SOURCES = xdmx.c @@ -539,8 +503,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ @@ -909,7 +873,7 @@ ID: $(HEADERS) $(SOURCES) $(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; nonemtpy = 1; } \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS diff --git a/xorg-server/hw/dmx/examples/xinput.c b/xorg-server/hw/dmx/examples/xinput.c index b6753e4ec..74353a93b 100644 --- a/xorg-server/hw/dmx/examples/xinput.c +++ b/xorg-server/hw/dmx/examples/xinput.c @@ -38,7 +38,7 @@ #include #include #include -#include "xkbstr.h" +#include #include #include diff --git a/xorg-server/hw/dmx/examples/xled.c b/xorg-server/hw/dmx/examples/xled.c index 322dda2f3..270f80511 100644 --- a/xorg-server/hw/dmx/examples/xled.c +++ b/xorg-server/hw/dmx/examples/xled.c @@ -37,7 +37,7 @@ #include #include #include -#include "xkbstr.h" +#include #include int main(int argc, char **argv) diff --git a/xorg-server/hw/dmx/glxProxy/Makefile.in b/xorg-server/hw/dmx/glxProxy/Makefile.in index 5f1b1a6ac..3575f1e31 100644 --- a/xorg-server/hw/dmx/glxProxy/Makefile.in +++ b/xorg-server/hw/dmx/glxProxy/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -43,7 +43,6 @@ 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 \ @@ -66,9 +65,6 @@ 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) \ @@ -83,8 +79,9 @@ ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ -APPDEFAULTDIR = @APPDEFAULTDIR@ APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +APPLE_APPLICATION_ID = @APPLE_APPLICATION_ID@ +APPLE_APPLICATION_NAME = @APPLE_APPLICATION_NAME@ APP_MAN_DIR = @APP_MAN_DIR@ APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ AR = @AR@ @@ -105,10 +102,6 @@ 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@ @@ -130,6 +123,7 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOLT_BASH = @DOLT_BASH@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ @@ -139,18 +133,15 @@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ DSYMUTIL = @DSYMUTIL@ DTRACE = @DTRACE@ -ECHO = @ECHO@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ -FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ -FREETYPE_LIBS = @FREETYPE_LIBS@ GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ GLX_DEFINES = @GLX_DEFINES@ GL_CFLAGS = @GL_CFLAGS@ @@ -169,7 +160,7 @@ KDRIVE_LIBS = @KDRIVE_LIBS@ KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ -LAUNCHD = @LAUNCHD@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ LEX = @LEX@ @@ -183,7 +174,10 @@ LIBTOOL = @LIBTOOL@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LINUXDOC = @LINUXDOC@ +LIPO = @LIPO@ LN_S = @LN_S@ +LTCOMPILE = @LTCOMPILE@ +LTCXXCOMPILE = @LTCXXCOMPILE@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ @@ -195,8 +189,7 @@ MESA_SOURCE = @MESA_SOURCE@ MISC_MAN_DIR = @MISC_MAN_DIR@ MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ MKDIR_P = @MKDIR_P@ -MKFONTDIR = @MKFONTDIR@ -MKFONTSCALE = @MKFONTSCALE@ +NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCCLD = @OBJCCLD@ @@ -205,8 +198,8 @@ OBJCFLAGS = @OBJCFLAGS@ OBJCLINK = @OBJCLINK@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ @@ -239,7 +232,6 @@ VENDOR_NAME = @VENDOR_NAME@ VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ VENDOR_RELEASE = @VENDOR_RELEASE@ VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ XDMCP_CFLAGS = @XDMCP_CFLAGS@ @@ -249,27 +241,12 @@ XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@ XDMX_CFLAGS = @XDMX_CFLAGS@ XDMX_LIBS = @XDMX_LIBS@ XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ XEPHYR_INCS = @XEPHYR_INCS@ XEPHYR_LIBS = @XEPHYR_LIBS@ 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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ @@ -280,10 +257,6 @@ XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ XNEST_LIBS = @XNEST_LIBS@ XNEST_SYS_LIBS = @XNEST_SYS_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_INCS = @XORG_INCS@ XORG_LIBS = @XORG_LIBS@ @@ -292,13 +265,8 @@ XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ XORG_OS = @XORG_OS@ XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_LIBS@ +XPBPROXY_CFLAGS = @XPBPROXY_CFLAGS@ +XPBPROXY_LIBS = @XPBPROXY_LIBS@ XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ XSDL_INCS = @XSDL_INCS@ @@ -331,8 +299,7 @@ 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@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -352,7 +319,6 @@ driverdir = @driverdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ extdir = @extdir@ -ft_config = @ft_config@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ @@ -362,12 +328,12 @@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ -launchagentsdir = @launchagentsdir@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ logdir = @logdir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ moduledir = @moduledir@ @@ -385,8 +351,6 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ noinst_LIBRARIES = libglxproxy.a libglxproxy_a_SOURCES = compsize.c \ g_disptab.c \ @@ -439,8 +403,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ @@ -527,7 +491,7 @@ ID: $(HEADERS) $(SOURCES) $(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; nonemtpy = 1; } \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS diff --git a/xorg-server/hw/dmx/glxProxy/compsize.c b/xorg-server/hw/dmx/glxProxy/compsize.c index 29669e318..cae8fea3c 100644 --- a/xorg-server/hw/dmx/glxProxy/compsize.c +++ b/xorg-server/hw/dmx/glxProxy/compsize.c @@ -1,37 +1,32 @@ /* -** 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. -** -*/ + * SGI FREE SOFTWARE LICENSE B (Version 2.0, Sept. 18, 2008) + * Copyright (C) 1991-2000 Silicon 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, 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 including the dates of first publication and + * either this permission notice or a reference to + * http://oss.sgi.com/projects/FreeB/ + * 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 + * SILICON GRAPHICS, INC. 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 Silicon Graphics, Inc. + * shall not be used in advertising or otherwise to promote the sale, use or + * other dealings in this Software without prior written authorization from + * Silicon Graphics, Inc. + */ #include diff --git a/xorg-server/hw/dmx/glxProxy/g_disptab.c b/xorg-server/hw/dmx/glxProxy/g_disptab.c index 124a65511..3f0a6e77e 100644 --- a/xorg-server/hw/dmx/glxProxy/g_disptab.c +++ b/xorg-server/hw/dmx/glxProxy/g_disptab.c @@ -1,32 +1,33 @@ /* DO NOT EDIT - THIS FILE IS AUTOMATICALLY GENERATED */ /* -** 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: 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. -*/ + * SGI FREE SOFTWARE LICENSE B (Version 2.0, Sept. 18, 2008) + * Copyright (C) 1991-2000 Silicon 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, 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 including the dates of first publication and + * either this permission notice or a reference to + * http://oss.sgi.com/projects/FreeB/ + * 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 + * SILICON GRAPHICS, INC. 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 Silicon Graphics, Inc. + * shall not be used in advertising or otherwise to promote the sale, use or + * other dealings in this Software without prior written authorization from + * Silicon Graphics, Inc. + */ #include "glxserver.h" #include "glxext.h" diff --git a/xorg-server/hw/dmx/glxProxy/g_disptab.h b/xorg-server/hw/dmx/glxProxy/g_disptab.h index f02e4f59c..c497c88e5 100644 --- a/xorg-server/hw/dmx/glxProxy/g_disptab.h +++ b/xorg-server/hw/dmx/glxProxy/g_disptab.h @@ -2,33 +2,34 @@ #ifndef _GLX_g_disptab_h_ #define _GLX_g_disptab_h_ /* -** 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: 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. -*/ + * SGI FREE SOFTWARE LICENSE B (Version 2.0, Sept. 18, 2008) + * Copyright (C) 1991-2000 Silicon 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, 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 including the dates of first publication and + * either this permission notice or a reference to + * http://oss.sgi.com/projects/FreeB/ + * 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 + * SILICON GRAPHICS, INC. 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 Silicon Graphics, Inc. + * shall not be used in advertising or otherwise to promote the sale, use or + * other dealings in this Software without prior written authorization from + * Silicon Graphics, Inc. + */ extern int __glXRender(__GLXclientState*, GLbyte*); extern int __glXRenderLarge(__GLXclientState*, GLbyte*); diff --git a/xorg-server/hw/dmx/glxProxy/g_renderswap.c b/xorg-server/hw/dmx/glxProxy/g_renderswap.c index 4f40dfd01..940a06af7 100644 --- a/xorg-server/hw/dmx/glxProxy/g_renderswap.c +++ b/xorg-server/hw/dmx/glxProxy/g_renderswap.c @@ -1,31 +1,32 @@ /* -** 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: 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. -*/ + * SGI FREE SOFTWARE LICENSE B (Version 2.0, Sept. 18, 2008) + * Copyright (C) 1991-2000 Silicon 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, 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 including the dates of first publication and + * either this permission notice or a reference to + * http://oss.sgi.com/projects/FreeB/ + * 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 + * SILICON GRAPHICS, INC. 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 Silicon Graphics, Inc. + * shall not be used in advertising or otherwise to promote the sale, use or + * other dealings in this Software without prior written authorization from + * Silicon Graphics, Inc. + */ #define NEED_REPLIES #include "glxserver.h" diff --git a/xorg-server/hw/dmx/glxProxy/global.c b/xorg-server/hw/dmx/glxProxy/global.c index 0e6efeff7..70b8afbb5 100644 --- a/xorg-server/hw/dmx/glxProxy/global.c +++ b/xorg-server/hw/dmx/glxProxy/global.c @@ -1,37 +1,32 @@ /* -** 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. -** -*/ + * SGI FREE SOFTWARE LICENSE B (Version 2.0, Sept. 18, 2008) + * Copyright (C) 1991-2000 Silicon 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, 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 including the dates of first publication and + * either this permission notice or a reference to + * http://oss.sgi.com/projects/FreeB/ + * 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 + * SILICON GRAPHICS, INC. 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 Silicon Graphics, Inc. + * shall not be used in advertising or otherwise to promote the sale, use or + * other dealings in this Software without prior written authorization from + * Silicon Graphics, Inc. + */ #define NEED_REPLIES #include "glxserver.h" diff --git a/xorg-server/hw/dmx/glxProxy/glxcmds.c b/xorg-server/hw/dmx/glxProxy/glxcmds.c index 2365f829f..536921a87 100644 --- a/xorg-server/hw/dmx/glxProxy/glxcmds.c +++ b/xorg-server/hw/dmx/glxProxy/glxcmds.c @@ -1,37 +1,32 @@ /* -** 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. -** -*/ + * SGI FREE SOFTWARE LICENSE B (Version 2.0, Sept. 18, 2008) + * Copyright (C) 1991-2000 Silicon 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, 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 including the dates of first publication and + * either this permission notice or a reference to + * http://oss.sgi.com/projects/FreeB/ + * 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 + * SILICON GRAPHICS, INC. 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 Silicon Graphics, Inc. + * shall not be used in advertising or otherwise to promote the sale, use or + * other dealings in this Software without prior written authorization from + * Silicon Graphics, Inc. + */ #ifdef HAVE_DMX_CONFIG_H #include @@ -151,11 +146,10 @@ static int CreateContext(__GLXclientState *cl, /* ** Allocate memory for the new context */ - glxc = (__GLXcontext *) __glXMalloc(sizeof(__GLXcontext)); + glxc = __glXCalloc(1, sizeof(__GLXcontext)); if (!glxc) { return BadAlloc; } - memset(glxc, 0, sizeof(__GLXcontext)); pScreen = screenInfo.screens[screen]; pGlxScreen = &__glXActiveScreens[screen]; diff --git a/xorg-server/hw/dmx/glxProxy/glxcmdsswap.c b/xorg-server/hw/dmx/glxProxy/glxcmdsswap.c index 3404d557a..7c36be3b7 100644 --- a/xorg-server/hw/dmx/glxProxy/glxcmdsswap.c +++ b/xorg-server/hw/dmx/glxProxy/glxcmdsswap.c @@ -1,37 +1,32 @@ /* -** 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. -** -*/ + * SGI FREE SOFTWARE LICENSE B (Version 2.0, Sept. 18, 2008) + * Copyright (C) 1991-2000 Silicon 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, 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 including the dates of first publication and + * either this permission notice or a reference to + * http://oss.sgi.com/projects/FreeB/ + * 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 + * SILICON GRAPHICS, INC. 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 Silicon Graphics, Inc. + * shall not be used in advertising or otherwise to promote the sale, use or + * other dealings in this Software without prior written authorization from + * Silicon Graphics, Inc. + */ #define NEED_REPLIES #define FONT_PCF diff --git a/xorg-server/hw/dmx/glxProxy/glxcontext.h b/xorg-server/hw/dmx/glxProxy/glxcontext.h index d59df3f0c..f88093bc7 100644 --- a/xorg-server/hw/dmx/glxProxy/glxcontext.h +++ b/xorg-server/hw/dmx/glxProxy/glxcontext.h @@ -2,39 +2,34 @@ #define _GLX_context_h_ /* -** 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. -** -*/ + * SGI FREE SOFTWARE LICENSE B (Version 2.0, Sept. 18, 2008) + * Copyright (C) 1991-2000 Silicon 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, 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 including the dates of first publication and + * either this permission notice or a reference to + * http://oss.sgi.com/projects/FreeB/ + * 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 + * SILICON GRAPHICS, INC. 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 Silicon Graphics, Inc. + * shall not be used in advertising or otherwise to promote the sale, use or + * other dealings in this Software without prior written authorization from + * Silicon Graphics, Inc. + */ typedef struct __GLXcontextRec __GLXcontext; diff --git a/xorg-server/hw/dmx/glxProxy/glxdrawable.h b/xorg-server/hw/dmx/glxProxy/glxdrawable.h index baed68315..8f2d81e26 100644 --- a/xorg-server/hw/dmx/glxProxy/glxdrawable.h +++ b/xorg-server/hw/dmx/glxProxy/glxdrawable.h @@ -2,39 +2,34 @@ #define _GLX_drawable_h_ /* -** 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. -** -*/ + * SGI FREE SOFTWARE LICENSE B (Version 2.0, Sept. 18, 2008) + * Copyright (C) 1991-2000 Silicon 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, 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 including the dates of first publication and + * either this permission notice or a reference to + * http://oss.sgi.com/projects/FreeB/ + * 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 + * SILICON GRAPHICS, INC. 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 Silicon Graphics, Inc. + * shall not be used in advertising or otherwise to promote the sale, use or + * other dealings in this Software without prior written authorization from + * Silicon Graphics, Inc. + */ typedef struct { diff --git a/xorg-server/hw/dmx/glxProxy/glxerror.h b/xorg-server/hw/dmx/glxProxy/glxerror.h index f69cadbde..d84ec4457 100644 --- a/xorg-server/hw/dmx/glxProxy/glxerror.h +++ b/xorg-server/hw/dmx/glxProxy/glxerror.h @@ -2,39 +2,34 @@ #define _GLX_error_h_ /* -** 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. -** -*/ + * SGI FREE SOFTWARE LICENSE B (Version 2.0, Sept. 18, 2008) + * Copyright (C) 1991-2000 Silicon 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, 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 including the dates of first publication and + * either this permission notice or a reference to + * http://oss.sgi.com/projects/FreeB/ + * 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 + * SILICON GRAPHICS, INC. 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 Silicon Graphics, Inc. + * shall not be used in advertising or otherwise to promote the sale, use or + * other dealings in this Software without prior written authorization from + * Silicon Graphics, Inc. + */ /* ** Error codes. These have the extension error base added to them diff --git a/xorg-server/hw/dmx/glxProxy/glxext.c b/xorg-server/hw/dmx/glxProxy/glxext.c index c40150d80..3a2488132 100644 --- a/xorg-server/hw/dmx/glxProxy/glxext.c +++ b/xorg-server/hw/dmx/glxProxy/glxext.c @@ -1,22 +1,32 @@ /* -** 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. -** -*/ + * SGI FREE SOFTWARE LICENSE B (Version 2.0, Sept. 18, 2008) + * Copyright (C) 1991-2000 Silicon 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, 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 including the dates of first publication and + * either this permission notice or a reference to + * http://oss.sgi.com/projects/FreeB/ + * 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 + * SILICON GRAPHICS, INC. 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 Silicon Graphics, Inc. + * shall not be used in advertising or otherwise to promote the sale, use or + * other dealings in this Software without prior written authorization from + * Silicon Graphics, Inc. + */ #ifdef HAVE_DMX_CONFIG_H #include @@ -409,19 +419,17 @@ static int __glXDispatch(ClientPtr client) opcode = stuff->glxCode; cl = __glXClients[client->index]; if (!cl) { - cl = (__GLXclientState *) __glXMalloc(sizeof(__GLXclientState)); + cl = __glXCalloc(1, sizeof(__GLXclientState)); __glXClients[client->index] = cl; if (!cl) { return BadAlloc; } - memset(cl, 0, sizeof(__GLXclientState)); - cl->be_displays = (Display **) __glXMalloc( screenInfo.numScreens * sizeof(Display *) ); + cl->be_displays = __glXCalloc(screenInfo.numScreens, sizeof(Display *)); if (!cl->be_displays) { __glXFree( cl ); return BadAlloc; } - memset(cl->be_displays, 0, screenInfo.numScreens * sizeof(Display *)); } if (!cl->inUse) { @@ -463,20 +471,17 @@ static int __glXSwapDispatch(ClientPtr client) opcode = stuff->glxCode; cl = __glXClients[client->index]; if (!cl) { - cl = (__GLXclientState *) __glXMalloc(sizeof(__GLXclientState)); + cl = __glXCalloc(1, sizeof(__GLXclientState)); __glXClients[client->index] = cl; if (!cl) { return BadAlloc; } - memset(cl, 0, sizeof(__GLXclientState)); - cl->be_displays = (Display **) __glXMalloc( screenInfo.numScreens * sizeof(Display *) ); + cl->be_displays = __glXCalloc(screenInfo.numScreens, sizeof(Display *)); if (!cl->be_displays) { __glXFree( cl ); return BadAlloc; } - - memset(cl->be_displays, 0, screenInfo.numScreens * sizeof(Display *)); } if (!cl->inUse) { diff --git a/xorg-server/hw/dmx/glxProxy/glxext.h b/xorg-server/hw/dmx/glxProxy/glxext.h index 011393732..b9f75b46b 100644 --- a/xorg-server/hw/dmx/glxProxy/glxext.h +++ b/xorg-server/hw/dmx/glxProxy/glxext.h @@ -2,39 +2,34 @@ #define _glxext_h_ /* -** 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. -** -*/ + * SGI FREE SOFTWARE LICENSE B (Version 2.0, Sept. 18, 2008) + * Copyright (C) 1991-2000 Silicon 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, 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 including the dates of first publication and + * either this permission notice or a reference to + * http://oss.sgi.com/projects/FreeB/ + * 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 + * SILICON GRAPHICS, INC. 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 Silicon Graphics, Inc. + * shall not be used in advertising or otherwise to promote the sale, use or + * other dealings in this Software without prior written authorization from + * Silicon Graphics, Inc. + */ /* * Added by VA Linux for XFree86 4.0.x diff --git a/xorg-server/hw/dmx/glxProxy/glxfbconfig.c b/xorg-server/hw/dmx/glxProxy/glxfbconfig.c index f2321b10c..c721fdd24 100644 --- a/xorg-server/hw/dmx/glxProxy/glxfbconfig.c +++ b/xorg-server/hw/dmx/glxProxy/glxfbconfig.c @@ -1,37 +1,32 @@ /* -** 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. -** -*/ + * SGI FREE SOFTWARE LICENSE B (Version 2.0, Sept. 18, 2008) + * Copyright (C) 1991-2000 Silicon 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, 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 including the dates of first publication and + * either this permission notice or a reference to + * http://oss.sgi.com/projects/FreeB/ + * 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 + * SILICON GRAPHICS, INC. 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 Silicon Graphics, Inc. + * shall not be used in advertising or otherwise to promote the sale, use or + * other dealings in this Software without prior written authorization from + * Silicon Graphics, Inc. + */ #include "glxfbconfig.h" diff --git a/xorg-server/hw/dmx/glxProxy/glxfbconfig.h b/xorg-server/hw/dmx/glxProxy/glxfbconfig.h index 67df54137..c5e94043b 100644 --- a/xorg-server/hw/dmx/glxProxy/glxfbconfig.h +++ b/xorg-server/hw/dmx/glxProxy/glxfbconfig.h @@ -1,37 +1,32 @@ /* -** 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. -** -*/ + * SGI FREE SOFTWARE LICENSE B (Version 2.0, Sept. 18, 2008) + * Copyright (C) 1991-2000 Silicon 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, 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 including the dates of first publication and + * either this permission notice or a reference to + * http://oss.sgi.com/projects/FreeB/ + * 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 + * SILICON GRAPHICS, INC. 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 Silicon Graphics, Inc. + * shall not be used in advertising or otherwise to promote the sale, use or + * other dealings in this Software without prior written authorization from + * Silicon Graphics, Inc. + */ #ifndef _GLXFBCONFIG_H diff --git a/xorg-server/hw/dmx/glxProxy/glxscreens.c b/xorg-server/hw/dmx/glxProxy/glxscreens.c index 0f9012d39..39978a74d 100644 --- a/xorg-server/hw/dmx/glxProxy/glxscreens.c +++ b/xorg-server/hw/dmx/glxProxy/glxscreens.c @@ -1,37 +1,32 @@ /* -** 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. -** -*/ + * SGI FREE SOFTWARE LICENSE B (Version 2.0, Sept. 18, 2008) + * Copyright (C) 1991-2000 Silicon 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, 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 including the dates of first publication and + * either this permission notice or a reference to + * http://oss.sgi.com/projects/FreeB/ + * 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 + * SILICON GRAPHICS, INC. 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 Silicon Graphics, Inc. + * shall not be used in advertising or otherwise to promote the sale, use or + * other dealings in this Software without prior written authorization from + * Silicon Graphics, Inc. + */ #ifdef HAVE_DMX_CONFIG_H #include diff --git a/xorg-server/hw/dmx/glxProxy/glxscreens.h b/xorg-server/hw/dmx/glxProxy/glxscreens.h index 5f93e497b..a57c387fe 100644 --- a/xorg-server/hw/dmx/glxProxy/glxscreens.h +++ b/xorg-server/hw/dmx/glxProxy/glxscreens.h @@ -2,39 +2,34 @@ #define _GLX_screens_h_ /* -** 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. -** -*/ + * SGI FREE SOFTWARE LICENSE B (Version 2.0, Sept. 18, 2008) + * Copyright (C) 1991-2000 Silicon 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, 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 including the dates of first publication and + * either this permission notice or a reference to + * http://oss.sgi.com/projects/FreeB/ + * 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 + * SILICON GRAPHICS, INC. 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 Silicon Graphics, Inc. + * shall not be used in advertising or otherwise to promote the sale, use or + * other dealings in this Software without prior written authorization from + * Silicon Graphics, Inc. + */ #include "GL/internal/glcore.h" diff --git a/xorg-server/hw/dmx/glxProxy/glxserver.h b/xorg-server/hw/dmx/glxProxy/glxserver.h index 021d4c1de..17adce46a 100644 --- a/xorg-server/hw/dmx/glxProxy/glxserver.h +++ b/xorg-server/hw/dmx/glxProxy/glxserver.h @@ -2,39 +2,34 @@ #define _GLX_server_h_ /* -** 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. -** -*/ + * SGI FREE SOFTWARE LICENSE B (Version 2.0, Sept. 18, 2008) + * Copyright (C) 1991-2000 Silicon 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, 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 including the dates of first publication and + * either this permission notice or a reference to + * http://oss.sgi.com/projects/FreeB/ + * 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 + * SILICON GRAPHICS, INC. 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 Silicon Graphics, Inc. + * shall not be used in advertising or otherwise to promote the sale, use or + * other dealings in this Software without prior written authorization from + * Silicon Graphics, Inc. + */ #include "dmx.h" diff --git a/xorg-server/hw/dmx/glxProxy/glxsingle.c b/xorg-server/hw/dmx/glxProxy/glxsingle.c index 27a27c335..0fb915ad7 100644 --- a/xorg-server/hw/dmx/glxProxy/glxsingle.c +++ b/xorg-server/hw/dmx/glxProxy/glxsingle.c @@ -1,32 +1,33 @@ /* DO NOT EDIT - THIS FILE IS AUTOMATICALLY GENERATED */ /* -** 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: 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. -*/ + * SGI FREE SOFTWARE LICENSE B (Version 2.0, Sept. 18, 2008) + * Copyright (C) 1991-2000 Silicon 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, 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 including the dates of first publication and + * either this permission notice or a reference to + * http://oss.sgi.com/projects/FreeB/ + * 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 + * SILICON GRAPHICS, INC. 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 Silicon Graphics, Inc. + * shall not be used in advertising or otherwise to promote the sale, use or + * other dealings in this Software without prior written authorization from + * Silicon Graphics, Inc. + */ #ifdef HAVE_DMX_CONFIG_H #include diff --git a/xorg-server/hw/dmx/glxProxy/glxsingle.h b/xorg-server/hw/dmx/glxProxy/glxsingle.h index a21d38f84..7c23537e8 100644 --- a/xorg-server/hw/dmx/glxProxy/glxsingle.h +++ b/xorg-server/hw/dmx/glxProxy/glxsingle.h @@ -1,37 +1,32 @@ /* -** 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. -** -*/ + * SGI FREE SOFTWARE LICENSE B (Version 2.0, Sept. 18, 2008) + * Copyright (C) 1991-2000 Silicon 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, 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 including the dates of first publication and + * either this permission notice or a reference to + * http://oss.sgi.com/projects/FreeB/ + * 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 + * SILICON GRAPHICS, INC. 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 Silicon Graphics, Inc. + * shall not be used in advertising or otherwise to promote the sale, use or + * other dealings in this Software without prior written authorization from + * Silicon Graphics, Inc. + */ #ifndef __GLXSINGLE_H #define __GLXSINGLE_H diff --git a/xorg-server/hw/dmx/glxProxy/glxswap.c b/xorg-server/hw/dmx/glxProxy/glxswap.c index 8fa04f877..1e184f914 100644 --- a/xorg-server/hw/dmx/glxProxy/glxswap.c +++ b/xorg-server/hw/dmx/glxProxy/glxswap.c @@ -402,7 +402,7 @@ void SwapBarrierReset(void) int i; for (i = 0; i <= GLX_MAX_SWAP_BARRIERS; i++) { - SwapBarrierPtr pBarrier, pNextBarrier;; + SwapBarrierPtr pBarrier, pNextBarrier; for (pBarrier = SwapBarrierList[i]; pBarrier; pBarrier = pNextBarrier) { diff --git a/xorg-server/hw/dmx/glxProxy/glxutil.c b/xorg-server/hw/dmx/glxProxy/glxutil.c index f30b05fb1..e3056bbd4 100644 --- a/xorg-server/hw/dmx/glxProxy/glxutil.c +++ b/xorg-server/hw/dmx/glxProxy/glxutil.c @@ -1,37 +1,32 @@ /* -** 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. -** -*/ + * SGI FREE SOFTWARE LICENSE B (Version 2.0, Sept. 18, 2008) + * Copyright (C) 1991-2000 Silicon 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, 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 including the dates of first publication and + * either this permission notice or a reference to + * http://oss.sgi.com/projects/FreeB/ + * 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 + * SILICON GRAPHICS, INC. 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 Silicon Graphics, Inc. + * shall not be used in advertising or otherwise to promote the sale, use or + * other dealings in this Software without prior written authorization from + * Silicon Graphics, Inc. + */ #define NEED_REPLIES #define FONT_PCF @@ -41,6 +36,12 @@ #include #include "glxutil.h" +#undef Xmalloc +#undef Xcalloc +#undef Xrealloc +#undef Xfree + + /************************************************************************/ void __glXNop(void) {} @@ -74,13 +75,11 @@ __glXCalloc(size_t numElements, size_t elementSize) if ((numElements == 0) || (elementSize == 0)) { return NULL; } - size = numElements * elementSize; - addr = (void *) xalloc(size); + addr = xcalloc(numElements, elementSize); if (addr == NULL) { /* XXX: handle out of memory error */ return NULL; } - memset(addr, 0, size); return addr; } diff --git a/xorg-server/hw/dmx/glxProxy/glxutil.h b/xorg-server/hw/dmx/glxProxy/glxutil.h index 94ca7da95..6487ca716 100644 --- a/xorg-server/hw/dmx/glxProxy/glxutil.h +++ b/xorg-server/hw/dmx/glxProxy/glxutil.h @@ -2,39 +2,34 @@ #define _glxcmds_h_ /* -** 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. -** -*/ + * SGI FREE SOFTWARE LICENSE B (Version 2.0, Sept. 18, 2008) + * Copyright (C) 1991-2000 Silicon 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, 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 including the dates of first publication and + * either this permission notice or a reference to + * http://oss.sgi.com/projects/FreeB/ + * 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 + * SILICON GRAPHICS, INC. 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 Silicon Graphics, Inc. + * shall not be used in advertising or otherwise to promote the sale, use or + * other dealings in this Software without prior written authorization from + * Silicon Graphics, Inc. + */ extern void __glXNop(void); diff --git a/xorg-server/hw/dmx/glxProxy/glxvendor.c b/xorg-server/hw/dmx/glxProxy/glxvendor.c index e55f80252..1e5a32629 100644 --- a/xorg-server/hw/dmx/glxProxy/glxvendor.c +++ b/xorg-server/hw/dmx/glxProxy/glxvendor.c @@ -1,32 +1,33 @@ /* DO NOT EDIT - THIS FILE IS AUTOMATICALLY GENERATED */ /* -** 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: 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. -*/ + * SGI FREE SOFTWARE LICENSE B (Version 2.0, Sept. 18, 2008) + * Copyright (C) 1991-2000 Silicon 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, 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 including the dates of first publication and + * either this permission notice or a reference to + * http://oss.sgi.com/projects/FreeB/ + * 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 + * SILICON GRAPHICS, INC. 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 Silicon Graphics, Inc. + * shall not be used in advertising or otherwise to promote the sale, use or + * other dealings in this Software without prior written authorization from + * Silicon Graphics, Inc. + */ #ifdef HAVE_DMX_CONFIG_H #include diff --git a/xorg-server/hw/dmx/glxProxy/glxvendor.h b/xorg-server/hw/dmx/glxProxy/glxvendor.h index 8245ce102..fbc901cef 100644 --- a/xorg-server/hw/dmx/glxProxy/glxvendor.h +++ b/xorg-server/hw/dmx/glxProxy/glxvendor.h @@ -1,37 +1,32 @@ /* -** 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. -** -*/ + * SGI FREE SOFTWARE LICENSE B (Version 2.0, Sept. 18, 2008) + * Copyright (C) 1991-2000 Silicon 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, 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 including the dates of first publication and + * either this permission notice or a reference to + * http://oss.sgi.com/projects/FreeB/ + * 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 + * SILICON GRAPHICS, INC. 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 Silicon Graphics, Inc. + * shall not be used in advertising or otherwise to promote the sale, use or + * other dealings in this Software without prior written authorization from + * Silicon Graphics, Inc. + */ #ifndef __GLXVENDOR_H #define __GLXVENDOR_H diff --git a/xorg-server/hw/dmx/glxProxy/glxvisuals.c b/xorg-server/hw/dmx/glxProxy/glxvisuals.c index 77bb137cf..c8b1eea31 100644 --- a/xorg-server/hw/dmx/glxProxy/glxvisuals.c +++ b/xorg-server/hw/dmx/glxProxy/glxvisuals.c @@ -1,37 +1,32 @@ /* -** 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. -** -*/ + * SGI FREE SOFTWARE LICENSE B (Version 2.0, Sept. 18, 2008) + * Copyright (C) 1991-2000 Silicon 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, 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 including the dates of first publication and + * either this permission notice or a reference to + * http://oss.sgi.com/projects/FreeB/ + * 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 + * SILICON GRAPHICS, INC. 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 Silicon Graphics, Inc. + * shall not be used in advertising or otherwise to promote the sale, use or + * other dealings in this Software without prior written authorization from + * Silicon Graphics, Inc. + */ #ifdef HAVE_DMX_CONFIG_H #include @@ -43,6 +38,12 @@ #include "glxutil.h" #include "dmx_glxvisuals.h" +#undef Xmalloc +#undef Xcalloc +#undef Xrealloc +#undef Xfree + + static int numConfigs = 0; static __GLXvisualConfig *visualConfigs = NULL; static void **visualPrivates = NULL; diff --git a/xorg-server/hw/dmx/glxProxy/glxvisuals.h b/xorg-server/hw/dmx/glxProxy/glxvisuals.h index 50f9b13e6..b00e40790 100644 --- a/xorg-server/hw/dmx/glxProxy/glxvisuals.h +++ b/xorg-server/hw/dmx/glxProxy/glxvisuals.h @@ -1,37 +1,32 @@ /* -** 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. -** -*/ + * SGI FREE SOFTWARE LICENSE B (Version 2.0, Sept. 18, 2008) + * Copyright (C) 1991-2000 Silicon 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, 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 including the dates of first publication and + * either this permission notice or a reference to + * http://oss.sgi.com/projects/FreeB/ + * 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 + * SILICON GRAPHICS, INC. 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 Silicon Graphics, Inc. + * shall not be used in advertising or otherwise to promote the sale, use or + * other dealings in this Software without prior written authorization from + * Silicon Graphics, Inc. + */ #ifndef _GLX_VISUALS_H #define _GLX_VISUALS_H diff --git a/xorg-server/hw/dmx/glxProxy/render2swap.c b/xorg-server/hw/dmx/glxProxy/render2swap.c index e7cbff21f..6e7505324 100644 --- a/xorg-server/hw/dmx/glxProxy/render2swap.c +++ b/xorg-server/hw/dmx/glxProxy/render2swap.c @@ -1,37 +1,32 @@ /* -** 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. -** -*/ + * SGI FREE SOFTWARE LICENSE B (Version 2.0, Sept. 18, 2008) + * Copyright (C) 1991-2000 Silicon 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, 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 including the dates of first publication and + * either this permission notice or a reference to + * http://oss.sgi.com/projects/FreeB/ + * 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 + * SILICON GRAPHICS, INC. 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 Silicon Graphics, Inc. + * shall not be used in advertising or otherwise to promote the sale, use or + * other dealings in this Software without prior written authorization from + * Silicon Graphics, Inc. + */ /* #define NEED_REPLIES */ #include "glxserver.h" diff --git a/xorg-server/hw/dmx/glxProxy/renderpixswap.c b/xorg-server/hw/dmx/glxProxy/renderpixswap.c index 881967ccf..3e4548d2e 100644 --- a/xorg-server/hw/dmx/glxProxy/renderpixswap.c +++ b/xorg-server/hw/dmx/glxProxy/renderpixswap.c @@ -1,37 +1,32 @@ /* -** 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. -** -*/ + * SGI FREE SOFTWARE LICENSE B (Version 2.0, Sept. 18, 2008) + * Copyright (C) 1991-2000 Silicon 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, 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 including the dates of first publication and + * either this permission notice or a reference to + * http://oss.sgi.com/projects/FreeB/ + * 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 + * SILICON GRAPHICS, INC. 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 Silicon Graphics, Inc. + * shall not be used in advertising or otherwise to promote the sale, use or + * other dealings in this Software without prior written authorization from + * Silicon Graphics, Inc. + */ #define NEED_REPLIES #include "glxserver.h" diff --git a/xorg-server/hw/dmx/glxProxy/unpack.h b/xorg-server/hw/dmx/glxProxy/unpack.h index 713e3aaa2..98fa10ee7 100644 --- a/xorg-server/hw/dmx/glxProxy/unpack.h +++ b/xorg-server/hw/dmx/glxProxy/unpack.h @@ -2,39 +2,34 @@ #define __GLX_unpack_h__ /* -** 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. -** -*/ + * SGI FREE SOFTWARE LICENSE B (Version 2.0, Sept. 18, 2008) + * Copyright (C) 1991-2000 Silicon 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, 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 including the dates of first publication and + * either this permission notice or a reference to + * http://oss.sgi.com/projects/FreeB/ + * 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 + * SILICON GRAPHICS, INC. 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 Silicon Graphics, Inc. + * shall not be used in advertising or otherwise to promote the sale, use or + * other dealings in this Software without prior written authorization from + * Silicon Graphics, Inc. + */ #define __GLX_PAD(s) (((s)+3) & (GLuint)~3) diff --git a/xorg-server/hw/dmx/input/Makefile.am b/xorg-server/hw/dmx/input/Makefile.am index da8de0546..8ea500316 100644 --- a/xorg-server/hw/dmx/input/Makefile.am +++ b/xorg-server/hw/dmx/input/Makefile.am @@ -49,6 +49,7 @@ DMXSRCS = dmxinputinit.c \ libdmxinput_a_SOURCES = ChkNotMaskEv.c \ ChkNotMaskEv.h \ + atKeynames.h \ $(RAWSRCS) \ $(USBSRCS) \ $(DRVSRCS) \ @@ -62,7 +63,6 @@ endif AM_CFLAGS = $(DIX_CFLAGS) \ -I$(top_srcdir)/hw/dmx \ - -I$(top_srcdir)/hw/xfree86/common \ $(GLX_INCS) \ -DHAVE_DMX_CONFIG_H \ $(GLX_DEFS) \ diff --git a/xorg-server/hw/dmx/input/Makefile.in b/xorg-server/hw/dmx/input/Makefile.in index bbac88828..472017165 100644 --- a/xorg-server/hw/dmx/input/Makefile.in +++ b/xorg-server/hw/dmx/input/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -43,7 +43,6 @@ 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 \ @@ -54,8 +53,8 @@ ARFLAGS = cru libdmxinput_a_AR = $(AR) $(ARFLAGS) libdmxinput_a_LIBADD = am__libdmxinput_a_SOURCES_DIST = ChkNotMaskEv.c ChkNotMaskEv.h \ - lnx-keyboard.c lnx-keyboard.h lnx-ms.c lnx-ms.h lnx-ps2.c \ - lnx-ps2.h usb-keyboard.c usb-keyboard.h usb-mouse.c \ + atKeynames.h lnx-keyboard.c lnx-keyboard.h lnx-ms.c lnx-ms.h \ + lnx-ps2.c lnx-ps2.h usb-keyboard.c usb-keyboard.h usb-mouse.c \ usb-mouse.h usb-other.c usb-other.h usb-common.c usb-common.h \ usb-private.h dmxdummy.c dmxdummy.h dmxbackend.c dmxbackend.h \ dmxconsole.c dmxconsole.h dmxcommon.c dmxcommon.h \ @@ -80,9 +79,6 @@ 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) \ @@ -97,8 +93,9 @@ ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ -APPDEFAULTDIR = @APPDEFAULTDIR@ APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +APPLE_APPLICATION_ID = @APPLE_APPLICATION_ID@ +APPLE_APPLICATION_NAME = @APPLE_APPLICATION_NAME@ APP_MAN_DIR = @APP_MAN_DIR@ APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ AR = @AR@ @@ -119,10 +116,6 @@ 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@ @@ -144,6 +137,7 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOLT_BASH = @DOLT_BASH@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ @@ -153,18 +147,15 @@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ DSYMUTIL = @DSYMUTIL@ DTRACE = @DTRACE@ -ECHO = @ECHO@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ -FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ -FREETYPE_LIBS = @FREETYPE_LIBS@ GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ GLX_DEFINES = @GLX_DEFINES@ GL_CFLAGS = @GL_CFLAGS@ @@ -183,7 +174,7 @@ KDRIVE_LIBS = @KDRIVE_LIBS@ KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ -LAUNCHD = @LAUNCHD@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ LEX = @LEX@ @@ -197,7 +188,10 @@ LIBTOOL = @LIBTOOL@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LINUXDOC = @LINUXDOC@ +LIPO = @LIPO@ LN_S = @LN_S@ +LTCOMPILE = @LTCOMPILE@ +LTCXXCOMPILE = @LTCXXCOMPILE@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ @@ -209,8 +203,7 @@ MESA_SOURCE = @MESA_SOURCE@ MISC_MAN_DIR = @MISC_MAN_DIR@ MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ MKDIR_P = @MKDIR_P@ -MKFONTDIR = @MKFONTDIR@ -MKFONTSCALE = @MKFONTSCALE@ +NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCCLD = @OBJCCLD@ @@ -219,8 +212,8 @@ OBJCFLAGS = @OBJCFLAGS@ OBJCLINK = @OBJCLINK@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ @@ -253,7 +246,6 @@ VENDOR_NAME = @VENDOR_NAME@ VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ VENDOR_RELEASE = @VENDOR_RELEASE@ VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ XDMCP_CFLAGS = @XDMCP_CFLAGS@ @@ -263,27 +255,12 @@ XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@ XDMX_CFLAGS = @XDMX_CFLAGS@ XDMX_LIBS = @XDMX_LIBS@ XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ XEPHYR_INCS = @XEPHYR_INCS@ XEPHYR_LIBS = @XEPHYR_LIBS@ 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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ @@ -294,10 +271,6 @@ XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ XNEST_LIBS = @XNEST_LIBS@ XNEST_SYS_LIBS = @XNEST_SYS_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_INCS = @XORG_INCS@ XORG_LIBS = @XORG_LIBS@ @@ -306,13 +279,8 @@ XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ XORG_OS = @XORG_OS@ XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_LIBS@ +XPBPROXY_CFLAGS = @XPBPROXY_CFLAGS@ +XPBPROXY_LIBS = @XPBPROXY_LIBS@ XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ XSDL_INCS = @XSDL_INCS@ @@ -345,8 +313,7 @@ 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@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -366,7 +333,6 @@ driverdir = @driverdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ extdir = @extdir@ -ft_config = @ft_config@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ @@ -376,12 +342,12 @@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ -launchagentsdir = @launchagentsdir@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ logdir = @logdir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ moduledir = @moduledir@ @@ -399,8 +365,6 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ noinst_LIBRARIES = libdmxinput.a @DMX_BUILD_LNX_TRUE@RAWSRCS = lnx-keyboard.c \ @DMX_BUILD_LNX_TRUE@ lnx-keyboard.h \ @@ -446,6 +410,7 @@ DMXSRCS = dmxinputinit.c \ libdmxinput_a_SOURCES = ChkNotMaskEv.c \ ChkNotMaskEv.h \ + atKeynames.h \ $(RAWSRCS) \ $(USBSRCS) \ $(DRVSRCS) \ @@ -456,7 +421,6 @@ libdmxinput_a_SOURCES = ChkNotMaskEv.c \ @GLX_TRUE@GLX_INCS = -I@MESA_SOURCE@/include AM_CFLAGS = $(DIX_CFLAGS) \ -I$(top_srcdir)/hw/dmx \ - -I$(top_srcdir)/hw/xfree86/common \ $(GLX_INCS) \ -DHAVE_DMX_CONFIG_H \ $(GLX_DEFS) \ @@ -471,8 +435,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ @@ -563,7 +527,7 @@ ID: $(HEADERS) $(SOURCES) $(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; nonemtpy = 1; } \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS diff --git a/xorg-server/hw/dmx/input/atKeynames.h b/xorg-server/hw/dmx/input/atKeynames.h new file mode 100644 index 000000000..85f13ac32 --- /dev/null +++ b/xorg-server/hw/dmx/input/atKeynames.h @@ -0,0 +1,295 @@ +/* + * 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 (c) 1994-2003 by The XFree86 Project, 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 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). + */ + +#ifndef _ATKEYNAMES_H +#define _ATKEYNAMES_H + +#define XK_TECHNICAL +#define XK_KATAKANA +#include +#include + +#define GLYPHS_PER_KEY 4 +#define NUM_KEYCODES 248 +#define MIN_KEYCODE 8 +#define MAX_KEYCODE (NUM_KEYCODES + MIN_KEYCODE - 1) + +#define AltMask Mod1Mask +#define NumLockMask Mod2Mask +#define AltLangMask Mod3Mask +#define KanaMask Mod4Mask +#define ScrollLockMask Mod5Mask + +#define KeyPressed(k) (keyc->postdown[k >> 3] & (1 << (k & 7))) +#define ModifierDown(k) ((keyc->state & (k)) == (k)) + +/* + * NOTE: The AT/MF keyboards can generate (via the 8042) two (MF: three) + * sets of scancodes. Set3 can only be generated by a MF keyboard. + * Set2 sends a makecode for keypress, and the same code prefixed by a + * F0 for keyrelease. This is a little bit ugly to handle. Thus we use + * here for X386 the PC/XT compatible Set1. This set uses 8bit scancodes. + * Bit 7 ist set if the key is released. The code E0 switches to a + * different meaning to add the new MF cursorkeys, while not breaking old + * applications. E1 is another special prefix. Since I assume that there + * will be further versions of PC/XT scancode compatible keyboards, we + * may be in trouble one day. + * + * IDEA: 1) Use Set2 on AT84 keyboards and translate it to MF Set3. + * 2) Use the keyboards native set and translate it to common keysyms. + */ + +/* + * definition of the AT84/MF101/MF102 Keyboard: + * ============================================================ + * Defined Key Cap Glyphs Pressed value + * Key Name Main Also (hex) (dec) + * ---------------- ---------- ------- ------ ------ + */ + +#define KEY_Escape /* Escape 0x01 */ 1 +#define KEY_1 /* 1 ! 0x02 */ 2 +#define KEY_2 /* 2 @ 0x03 */ 3 +#define KEY_3 /* 3 # 0x04 */ 4 +#define KEY_4 /* 4 $ 0x05 */ 5 +#define KEY_5 /* 5 % 0x06 */ 6 +#define KEY_6 /* 6 ^ 0x07 */ 7 +#define KEY_7 /* 7 & 0x08 */ 8 +#define KEY_8 /* 8 * 0x09 */ 9 +#define KEY_9 /* 9 ( 0x0a */ 10 +#define KEY_0 /* 0 ) 0x0b */ 11 +#define KEY_Minus /* - (Minus) _ (Under) 0x0c */ 12 +#define KEY_Equal /* = (Equal) + 0x0d */ 13 +#define KEY_BackSpace /* Back Space 0x0e */ 14 +#define KEY_Tab /* Tab 0x0f */ 15 +#define KEY_Q /* Q 0x10 */ 16 +#define KEY_W /* W 0x11 */ 17 +#define KEY_E /* E 0x12 */ 18 +#define KEY_R /* R 0x13 */ 19 +#define KEY_T /* T 0x14 */ 20 +#define KEY_Y /* Y 0x15 */ 21 +#define KEY_U /* U 0x16 */ 22 +#define KEY_I /* I 0x17 */ 23 +#define KEY_O /* O 0x18 */ 24 +#define KEY_P /* P 0x19 */ 25 +#define KEY_LBrace /* [ { 0x1a */ 26 +#define KEY_RBrace /* ] } 0x1b */ 27 +#define KEY_Enter /* Enter 0x1c */ 28 +#define KEY_LCtrl /* Ctrl(left) 0x1d */ 29 +#define KEY_A /* A 0x1e */ 30 +#define KEY_S /* S 0x1f */ 31 +#define KEY_D /* D 0x20 */ 32 +#define KEY_F /* F 0x21 */ 33 +#define KEY_G /* G 0x22 */ 34 +#define KEY_H /* H 0x23 */ 35 +#define KEY_J /* J 0x24 */ 36 +#define KEY_K /* K 0x25 */ 37 +#define KEY_L /* L 0x26 */ 38 +#define KEY_SemiColon /* ;(SemiColon) :(Colon) 0x27 */ 39 +#define KEY_Quote /* ' (Apostr) " (Quote) 0x28 */ 40 +#define KEY_Tilde /* ` (Accent) ~ (Tilde) 0x29 */ 41 +#define KEY_ShiftL /* Shift(left) 0x2a */ 42 +#define KEY_BSlash /* \(BckSlash) |(VertBar)0x2b */ 43 +#define KEY_Z /* Z 0x2c */ 44 +#define KEY_X /* X 0x2d */ 45 +#define KEY_C /* C 0x2e */ 46 +#define KEY_V /* V 0x2f */ 47 +#define KEY_B /* B 0x30 */ 48 +#define KEY_N /* N 0x31 */ 49 +#define KEY_M /* M 0x32 */ 50 +#define KEY_Comma /* , (Comma) < (Less) 0x33 */ 51 +#define KEY_Period /* . (Period) >(Greater)0x34 */ 52 +#define KEY_Slash /* / (Slash) ? 0x35 */ 53 +#define KEY_ShiftR /* Shift(right) 0x36 */ 54 +#define KEY_KP_Multiply /* * 0x37 */ 55 +#define KEY_Alt /* Alt(left) 0x38 */ 56 +#define KEY_Space /* (SpaceBar) 0x39 */ 57 +#define KEY_CapsLock /* CapsLock 0x3a */ 58 +#define KEY_F1 /* F1 0x3b */ 59 +#define KEY_F2 /* F2 0x3c */ 60 +#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_F8 /* F8 0x42 */ 66 +#define KEY_F9 /* F9 0x43 */ 67 +#define KEY_F10 /* F10 0x44 */ 68 +#define KEY_NumLock /* NumLock 0x45 */ 69 +#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_SysReqest /* SysReqest 0x54 */ 84 + /* NOTUSED 0x55 */ +#define KEY_Less /* < (Less) >(Greater) 0x56 */ 86 +#define KEY_F11 /* F11 0x57 */ 87 +#define KEY_F12 /* F12 0x58 */ 88 + +#define KEY_Prefix0 /* special 0x60 */ 96 +#define KEY_Prefix1 /* specail 0x61 */ 97 + +/* + * The 'scancodes' below are generated by the server, because the MF101/102 + * keyboard sends them as sequence of other scancodes + */ +#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_HKTG /* Hirugana/Katakana tog 0x70 */ 112 +#define KEY_F16 /* F16 0x71 */ 113 +#define KEY_F17 /* F17 0x72 */ 114 +#define KEY_KP_DEC /* KP_DEC 0x73 */ 115 +#define KEY_BSlash2 /* \ _ 0x73 */ 115 +#define KEY_KP_Equal /* Equal (Keypad) 0x76 */ 118 +#define KEY_XFER /* Kanji Transfer 0x79 */ 121 +#define KEY_NFER /* No Kanji Transfer 0x7b */ 123 +#define KEY_Yen /* Yen 0x7d */ 125 + +#define KEY_Power /* Power Key 0x84 */ 132 +#define KEY_Mute /* Audio Mute 0x85 */ 133 +#define KEY_AudioLower /* Audio Lower 0x86 */ 134 +#define KEY_AudioRaise /* Audio Raise 0x87 */ 135 +#define KEY_Help /* Help 0x88 */ 136 +#define KEY_L1 /* Stop 0x89 */ 137 +#define KEY_L2 /* Again 0x8a */ 138 +#define KEY_L3 /* Props 0x8b */ 139 +#define KEY_L4 /* Undo 0x8c */ 140 +#define KEY_L5 /* Front 0x8d */ 141 +#define KEY_L6 /* Copy 0x8e */ 142 +#define KEY_L7 /* Open 0x8f */ 143 +#define KEY_L8 /* Paste 0x90 */ 144 +#define KEY_L9 /* Find 0x91 */ 145 +#define KEY_L10 /* Cut 0x92 */ 146 + +/* + * Fake 'scancodes' in the following ranges are generated for 2-byte + * codes not handled elsewhere. These correspond to most extended keys + * on so-called "Internet" keyboards: + * + * 0x79-0x93 + * 0x96-0xa1 + * 0xa3-0xac + * 0xb1-0xb4 + * 0xba-0xbd + * 0xc2 + * 0xcc-0xd2 + * 0xd6-0xf7 + */ + +/* + * Remapped 'scancodes' are generated for single-byte codes in the range + * 0x59-0x5f,0x62-0x76. These are used for some extra keys on some keyboards. + */ + +#define KEY_0x59 0x95 +#define KEY_0x5A 0xA2 +#define KEY_0x5B 0xAD +#define KEY_0x5C KEY_KP_EQUAL +#define KEY_0x5D 0xAE +#define KEY_0x5E 0xAF +#define KEY_0x5F 0xB0 +#define KEY_0x62 0xB5 +#define KEY_0x63 0xB6 +#define KEY_0x64 0xB7 +#define KEY_0x65 0xB8 +#define KEY_0x66 0xB9 +#define KEY_0x67 0xBE +#define KEY_0x68 0xBF +#define KEY_0x69 0xC0 +#define KEY_0x6A 0xC1 +#define KEY_0x6B 0xC3 +#define KEY_0x6C 0xC4 +#define KEY_0x6D 0xC5 +#define KEY_0x6E 0xC6 +#define KEY_0x6F 0xC7 +#define KEY_0x70 0xC8 +#define KEY_0x71 0xC9 +#define KEY_0x72 0xCA +#define KEY_0x73 0xCB +#define KEY_0x74 0xD3 +#define KEY_0x75 0xD4 +#define KEY_0x76 0xD5 + +/* These are for "notused" and "unknown" entries in translation maps. */ +#define KEY_NOTUSED 0 +#define KEY_UNKNOWN 255 + +#endif /* _ATKEYNAMES_H */ diff --git a/xorg-server/hw/dmx/input/dmxbackend.c b/xorg-server/hw/dmx/input/dmxbackend.c index b1791098a..b94c6d468 100644 --- a/xorg-server/hw/dmx/input/dmxbackend.c +++ b/xorg-server/hw/dmx/input/dmxbackend.c @@ -104,8 +104,7 @@ typedef struct _myPrivate { pointer dmxBackendCreatePrivate(DeviceIntPtr pDevice) { GETDMXLOCALFROMPDEVICE; - myPrivate *priv = xalloc(sizeof(*priv)); - memset(priv, 0, sizeof(*priv)); + myPrivate *priv = calloc(1, sizeof(*priv)); priv->dmxLocal = dmxLocal; return priv; } @@ -115,7 +114,7 @@ pointer dmxBackendCreatePrivate(DeviceIntPtr pDevice) * #dmxBackendCreatePrivate. */ void dmxBackendDestroyPrivate(pointer private) { - if (private) xfree(private); + if (private) free(private); } static void *dmxBackendTestScreen(DMXScreenInfo *dmxScreen, void *closure) diff --git a/xorg-server/hw/dmx/input/dmxcommon.h b/xorg-server/hw/dmx/input/dmxcommon.h index 1cc935d0b..a9b260cd9 100644 --- a/xorg-server/hw/dmx/input/dmxcommon.h +++ b/xorg-server/hw/dmx/input/dmxcommon.h @@ -63,13 +63,9 @@ #define DMX_COMMON_XKB DMX_COMMON_OTHER #endif -#ifdef XINPUT #define DMX_COMMON_PRIVATE \ DMX_COMMON_XKB; \ XDevice *xi -#else -#define DMX_COMMON_PRIVATE DMX_COMMON_OTHER -#endif #define GETONLYPRIVFROMPRIVATE \ myPrivate *priv = private diff --git a/xorg-server/hw/dmx/input/dmxconsole.c b/xorg-server/hw/dmx/input/dmxconsole.c index b2a2ec302..9542efacd 100644 --- a/xorg-server/hw/dmx/input/dmxconsole.c +++ b/xorg-server/hw/dmx/input/dmxconsole.c @@ -140,8 +140,7 @@ static int unscaley(myPrivate *priv, int y) pointer dmxConsoleCreatePrivate(DeviceIntPtr pDevice) { GETDMXLOCALFROMPDEVICE; - myPrivate *priv = xalloc(sizeof(*priv)); - memset(priv, 0, sizeof(*priv)); + myPrivate *priv = calloc(1, sizeof(*priv)); priv->dmxLocal = dmxLocal; return priv; } @@ -149,7 +148,7 @@ pointer dmxConsoleCreatePrivate(DeviceIntPtr pDevice) /** If \a private is non-NULL, free its associated memory. */ void dmxConsoleDestroyPrivate(pointer private) { - if (private) xfree(private); + if (private) free(private); } static void dmxConsoleDrawFineCursor(myPrivate *priv, XRectangle *rect) diff --git a/xorg-server/hw/dmx/input/dmxeq.c b/xorg-server/hw/dmx/input/dmxeq.c index dff0b4423..86ba960b8 100644 --- a/xorg-server/hw/dmx/input/dmxeq.c +++ b/xorg-server/hw/dmx/input/dmxeq.c @@ -79,10 +79,8 @@ #include "inputstr.h" #include "scrnintstr.h" /* For screenInfo */ -#ifdef XINPUT #include #define EXTENSION_PROC_ARGS void * -#endif #if DMX_EQ_DEBUG #define DMXDBG2(f,a,b) dmxLog(dmxDebug,f,a,b) @@ -100,9 +98,8 @@ typedef struct _Event { xEvent event; /**< Event. */ ScreenPtr pScreen; /**< Screen on which event occurred. */ -#ifdef XINPUT deviceValuator valuator; /**< XInput device valuator information. */ -#endif + DeviceIntPtr pDev; } EventRec, *EventPtr; /** Event queue. */ @@ -158,7 +155,7 @@ Bool dmxeqInit(DevicePtr pKbd, DevicePtr pPtr) * called from regular code. */ -void dmxeqEnqueue(xEvent *e) +void dmxeqEnqueue(DeviceIntPtr pDev, xEvent *e) { HWEventQueueType oldtail, newtail; Bool isMotion; @@ -183,15 +180,12 @@ void dmxeqEnqueue(xEvent *e) /* Store the event in the queue */ dmxEventQueue.events[oldtail].event = *e; -#ifdef XINPUT - { - /* If this is an XInput event, store the - * valuator event, too */ - deviceKeyButtonPointer *ev = (deviceKeyButtonPointer *)e; - if (e->u.u.type >= LASTEvent && (ev->deviceid & MORE_EVENTS)) - dmxEventQueue.events[oldtail].valuator = *(deviceValuator *)(ev+1); - } -#endif + dmxEventQueue.events[oldtail].pDev = pDev; + /* If this is an XInput event, store the + * valuator event, too */ + deviceKeyButtonPointer *ev = (deviceKeyButtonPointer *)e; + if (e->u.u.type >= LASTEvent && (ev->deviceid & MORE_EVENTS)) + dmxEventQueue.events[oldtail].valuator = *(deviceValuator *)(ev+1); /* Make sure that event times don't go * backwards - this is "unnecessary", @@ -205,13 +199,12 @@ void dmxeqEnqueue(xEvent *e) /** Make \a pScreen the new screen for enqueueing events. If \a fromDIX * is TRUE, also make \a pScreen the new screen for dequeuing events. */ -void dmxeqSwitchScreen(ScreenPtr pScreen, Bool fromDIX) +void dmxeqSwitchScreen(DeviceIntPtr pDev, ScreenPtr pScreen, Bool fromDIX) { dmxEventQueue.pEnqueueScreen = pScreen; if (fromDIX) dmxEventQueue.pDequeueScreen = pScreen; } -#ifdef XINPUT static void dmxeqProcessXInputEvent(xEvent *xe, EventRec *e) { deviceKeyButtonPointer *ev = (deviceKeyButtonPointer *)xe; @@ -238,7 +231,6 @@ static void dmxeqProcessXInputEvent(xEvent *xe, EventRec *e) pDevice->public.processInputProc(xe, pDevice, 1); } } -#endif /** * This function is called from #ProcessInputEvents() to remove events @@ -268,7 +260,7 @@ void dmxeqProcessInputEvents(void) y = e->event.u.keyButtonPointer.rootY; if (dmxEventQueue.head == QUEUE_SIZE - 1) dmxEventQueue.head = 0; else ++dmxEventQueue.head; - NewCurrentScreen(dmxEventQueue.pDequeueScreen, x, y); + NewCurrentScreen(e->pDev, dmxEventQueue.pDequeueScreen, x, y); } else { xe[0] = e->event; if (dmxEventQueue.head == QUEUE_SIZE - 1) dmxEventQueue.head = 0; @@ -285,11 +277,8 @@ void dmxeqProcessInputEvents(void) (DeviceIntPtr)dmxEventQueue.pKbd, 1); break; default: -#ifdef XINPUT dmxeqProcessXInputEvent(xe, e); break; -#endif - /* ifndef XINPUT, fall through */ case ButtonPress: case ButtonRelease: case MotionNotify: diff --git a/xorg-server/hw/dmx/input/dmxevents.c b/xorg-server/hw/dmx/input/dmxevents.c index 26dc067dc..24275a189 100644 --- a/xorg-server/hw/dmx/input/dmxevents.c +++ b/xorg-server/hw/dmx/input/dmxevents.c @@ -57,9 +57,7 @@ #include "mipointer.h" #include "mi.h" -#ifdef XINPUT #include "XIstubs.h" -#endif static int dmxGlobalX, dmxGlobalY; /* Global cursor position */ static int dmxGlobalInvalid; /* Flag indicating dmxCoreMotion @@ -154,7 +152,6 @@ static int dmxCheckFunctionKeys(DMXLocalInputInfoPtr dmxLocal, return 0; } -#ifdef XINPUT static void dmxEnqueueExtEvent(DMXLocalInputInfoPtr dmxLocal, xEvent *e, DMXBlockType block) { @@ -204,11 +201,10 @@ static void dmxEnqueueExtEvent(DMXLocalInputInfoPtr dmxLocal, xEvent *e, if (block) dmxSigioBlock(); - dmxeqEnqueue(xE); + dmxeqEnqueue(pDevice, xE); if (block) dmxSigioUnblock(); } -#endif DMXScreenInfo *dmxFindFirstScreen(int x, int y) { @@ -231,15 +227,16 @@ 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()); + EventListPtr events; int detail = 0; /* XXX should this be mask of pressed buttons? */ valuators[0] = x; valuators[1] = y; + + GetEventList(&events); nevents = GetPointerEvents(events, p, MotionNotify, detail, POINTER_ABSOLUTE, 0, 2, valuators); for (i = 0; i < nevents; i++) - mieqEnqueue(p, events + i); - xfree(events); + mieqEnqueue(p, (events + i)->event); return; } @@ -331,7 +328,6 @@ dmxCoreMotion(DevicePtr pDev, int x, int y, int delta, DMXBlockType block) -#ifdef XINPUT #define DMX_MAX_AXES 32 /* Max axes reported by this routine */ static void dmxExtMotion(DMXLocalInputInfoPtr dmxLocal, int *v, int firstAxis, int axesCount, @@ -424,7 +420,7 @@ static void dmxExtMotion(DMXLocalInputInfoPtr dmxLocal, if (block) dmxSigioBlock(); dmxPointerPutMotionEvent(pDevice, firstAxis, axesCount, v, xev->time); - dmxeqEnqueue(xE); + dmxeqEnqueue(pDevice, xE); if (block) dmxSigioUnblock(); } @@ -439,6 +435,7 @@ static int dmxTranslateAndEnqueueExtEvent(DMXLocalInputInfoPtr dmxLocal, int event = -1; XDeviceKeyEvent *ke = (XDeviceKeyEvent *)e; XDeviceMotionEvent *me = (XDeviceMotionEvent *)e; + DeviceIntPtr pDevice = dmxLocal->pDevice; if (!e) return -1; /* No extended event passed, cannot handle */ @@ -504,7 +501,7 @@ static int dmxTranslateAndEnqueueExtEvent(DMXLocalInputInfoPtr dmxLocal, if (block) dmxSigioBlock(); - dmxeqEnqueue(xE); + dmxeqEnqueue(pDevice, xE); if (block) dmxSigioUnblock(); break; @@ -537,7 +534,6 @@ static int dmxTranslateAndEnqueueExtEvent(DMXLocalInputInfoPtr dmxLocal, } return 0; } -#endif static int dmxGetButtonMapping(DMXLocalInputInfoPtr dmxLocal, int button) { @@ -578,14 +574,12 @@ void dmxInvalidateGlobalPosition(void) void dmxMotion(DevicePtr pDev, int *v, int firstAxes, int axesCount, DMXMotionType type, DMXBlockType block) { -#ifdef XINPUT GETDMXLOCALFROMPDEV; if (!dmxLocal->sendsCore) { dmxExtMotion(dmxLocal, v, firstAxes, axesCount, type, block); return; } -#endif if (axesCount == 2) { switch (type) { case DMX_RELATIVE: @@ -682,7 +676,7 @@ void dmxEnqueue(DevicePtr pDev, int type, int detail, KeySym keySym, xEvent xE; DeviceIntPtr p = dmxLocal->pDevice; int i, nevents, valuators[3]; - xEvent *events; + EventListPtr events; DMXDBG2("dmxEnqueue: Enqueuing type=%d detail=0x%0x\n", type, detail); @@ -696,38 +690,35 @@ void dmxEnqueue(DevicePtr pDev, int type, int detail, KeySym keySym, if (dmxLocal->sendsCore && dmxLocal != dmxLocalCoreKeyboard) xE.u.u.detail = dmxFixup(pDev, detail, keySym); - events = Xcalloc(sizeof(xEvent), GetMaximumEventsNum()); + GetEventList(&events); /*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); + mieqEnqueue(p, (events + i)->event); return; case ButtonPress: case ButtonRelease: detail = dmxGetButtonMapping(dmxLocal, detail); - events = Xcalloc(sizeof(xEvent), GetMaximumEventsNum()); + GetEventList(&events); 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); + mieqEnqueue(p, (events + i)->event); return; case MotionNotify: - events = Xcalloc(sizeof(xEvent), GetMaximumEventsNum()); + GetEventList(&events); 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); + mieqEnqueue(p, (events + i)->event); return; case EnterNotify: @@ -739,17 +730,13 @@ void dmxEnqueue(DevicePtr pDev, int type, int detail, KeySym keySym, * control of the input device LEDs. */ return; default: -#ifdef XINPUT if (type == ProximityIn || type == ProximityOut) { if (dmxLocal->sendsCore) return; /* Not a core event */ break; } -#endif if (type >= LASTEvent) { -#ifdef XINPUT if (dmxTranslateAndEnqueueExtEvent(dmxLocal, e, block)) -#endif dmxLogInput(dmxInput, "Unhandled extension event: %d\n", type); } else { dmxLogInput(dmxInput, "Unhandled event: %d (%s)\n", @@ -764,11 +751,9 @@ void dmxEnqueue(DevicePtr pDev, int type, int detail, KeySym keySym, xE.u.u.detail = detail; xE.u.keyButtonPointer.time = GetTimeInMillis(); -#ifdef XINPUT if (!dmxLocal->sendsCore) dmxEnqueueExtEvent(dmxLocal, &xE, block); else -#endif dmxeqEnqueue(&xE); #endif /*00*/ } diff --git a/xorg-server/hw/dmx/input/dmxinputinit.c b/xorg-server/hw/dmx/input/dmxinputinit.c index fd4eeaacb..77f8ed5fc 100644 --- a/xorg-server/hw/dmx/input/dmxinputinit.c +++ b/xorg-server/hw/dmx/input/dmxinputinit.c @@ -73,13 +73,11 @@ #include "windowstr.h" #include "mi.h" -#ifdef XINPUT #include #include #include "exevents.h" #define EXTENSION_PROC_ARGS void * #include "extinit.h" -#endif /* From XI.h */ #ifndef Relative @@ -462,9 +460,7 @@ static int dmxDeviceOnOff(DeviceIntPtr pDevice, int what) GETDMXINPUTFROMPDEVICE; int fd; DMXLocalInitInfo info; -#ifdef XINPUT int i; -#endif if (dmxInput->detached) return Success; @@ -480,15 +476,11 @@ static int dmxDeviceOnOff(DeviceIntPtr pDevice, int what) 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); @@ -496,49 +488,33 @@ 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++) InitValuatorAxisStruct(pDevice, i, info.minval[0], info.maxval[0], info.res[0], info.minres[0], info.maxres[0]); -#endif } else if (info.numRelAxes) { InitValuatorClassDeviceStruct(pDevice, info.numRelAxes, - dmxPointerGetMotionEvents, dmxPointerGetMotionBufferSize(), Relative); -#ifdef XINPUT for (i = 0; i < info.numRelAxes; i++) InitValuatorAxisStruct(pDevice, i, info.minval[0], info.maxval[0], info.res[0], info.minres[0], info.maxres[0]); -#endif } else if (info.numAbsAxes) { InitValuatorClassDeviceStruct(pDevice, info.numAbsAxes, - dmxPointerGetMotionEvents, dmxPointerGetMotionBufferSize(), Absolute); -#ifdef XINPUT for (i = 0; i < info.numAbsAxes; i++) InitValuatorAxisStruct(pDevice, i+info.numRelAxes, info.minval[i+1], info.maxval[i+1], info.res[i+1], info.minres[i+1], info.maxres[i+1]); -#endif } } if (info.focusClass) InitFocusClassDeviceStruct(pDevice); -#ifdef XINPUT if (info.proximityClass) InitProximityClassDeviceStruct(pDevice); -#endif if (info.ptrFeedbackClass) InitPtrFeedbackClassDeviceStruct(pDevice, dmxChangePointerControl); if (info.kbdFeedbackClass) @@ -759,22 +735,15 @@ static DeviceIntPtr dmxAddDevice(DMXLocalInputInfoPtr dmxLocal) } } -#ifdef XINPUT if (!name) { name = "extension"; registerProcPtr = RegisterOtherDevice; } -#else - if (!name) - dmxLog(dmxFatal, - "Server not build with XINPUT support (cannot add %s)\n", - dmxLocal->name); -#endif if (!name || !registerProcPtr) dmxLog(dmxFatal, "Cannot add device %s\n", dmxLocal->name); - pDevice = AddInputDevice(dmxDeviceOnOff, TRUE); + pDevice = AddInputDevice(serverClient, dmxDeviceOnOff, TRUE); if (!pDevice) { dmxLog(dmxError, "Too many devices -- cannot add device %s\n", dmxLocal->name); @@ -914,9 +883,11 @@ static void dmxInputScanForExtensions(DMXInputInfo *dmxInput, int doXI) for (i = 0; i < num; i++) { const char *use = "Unknown"; switch (devices[i].use) { - case IsXPointer: use = "XPointer"; break; - case IsXKeyboard: use = "XKeyboard"; break; - case IsXExtensionDevice: use = "XExtensionDevice"; break; + case IsXPointer: use = "XPointer"; break; + case IsXKeyboard: use = "XKeyboard"; break; + case IsXExtensionDevice: use = "XExtensionDevice"; break; + case IsXExtensionPointer: use = "XExtensionPointer"; break; + case IsXExtensionKeyboard: use = "XExtensionKeyboard"; break; } dmxLogInput(dmxInput, " %2d %-10.10s %-16.16s\n", devices[i].id, @@ -950,7 +921,10 @@ static void dmxInputScanForExtensions(DMXInputInfo *dmxInput, int doXI) } } break; +#if 0 case IsXExtensionDevice: + case IsXExtensionKeyboard: + case IsXExtensionPointer: if (doXI) { if (!dmxInput->numDevs) { dmxLog(dmxWarning, @@ -969,6 +943,7 @@ static void dmxInputScanForExtensions(DMXInputInfo *dmxInput, int doXI) } } break; +#endif } } XFreeDeviceList(devices); @@ -1104,13 +1079,6 @@ void dmxInputInit(DMXInputInfo *dmxInput) for (i = 0; i < dmxInput->numDevs; i++) { DMXLocalInputInfoPtr dmxLocal = dmxInput->devs[i]; -#ifndef XINPUT - if (!dmxLocal->isCore) - dmxLog(dmxFatal, - "This server was not compiled to support the XInput" - " extension, but %s is not a core device.\n", - dmxLocal->name); -#endif dmxLocal->pDevice = dmxAddDevice(dmxLocal); if (dmxLocal->isCore) { if (dmxLocal->type == DMX_LOCAL_MOUSE) diff --git a/xorg-server/hw/dmx/input/dmxmotion.c b/xorg-server/hw/dmx/input/dmxmotion.c index cc55eedff..73580a215 100644 --- a/xorg-server/hw/dmx/input/dmxmotion.c +++ b/xorg-server/hw/dmx/input/dmxmotion.c @@ -113,8 +113,7 @@ void dmxPointerPutMotionEvent(DeviceIntPtr pDevice, * DMX_MOTION_SIZE); dmxLocal->head = 0; dmxLocal->tail = 0; - dmxLocal->valuators = xalloc(sizeof(*dmxLocal->valuators) * numAxes); - memset(dmxLocal->valuators, 0, sizeof(*dmxLocal->valuators) * numAxes); + dmxLocal->valuators = calloc(sizeof(*dmxLocal->valuators), numAxes); } else { if (++dmxLocal->tail >= DMX_MOTION_SIZE) dmxLocal->tail = 0; if (dmxLocal->head == dmxLocal->tail) diff --git a/xorg-server/hw/dmx/input/dmxxinput.c b/xorg-server/hw/dmx/input/dmxxinput.c index 97bea7596..97f43927a 100644 --- a/xorg-server/hw/dmx/input/dmxxinput.c +++ b/xorg-server/hw/dmx/input/dmxxinput.c @@ -93,18 +93,10 @@ int ChangePointerDevice(DeviceIntPtr old_dev, /* Switch the motion history buffers */ if (dmxLocalOld->savedMotionProc) { - old_dev->valuator->GetMotionProc = dmxLocalOld->savedMotionProc; old_dev->valuator->numMotionEvents = dmxLocalOld->savedMotionEvents; } - 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/xorg-server/hw/dmx/input/lnx-keyboard.c b/xorg-server/hw/dmx/input/lnx-keyboard.c index 42a807b11..55ff9f859 100644 --- a/xorg-server/hw/dmx/input/lnx-keyboard.c +++ b/xorg-server/hw/dmx/input/lnx-keyboard.c @@ -358,8 +358,7 @@ static unsigned char at2lnx[NUM_KEYCODES] = /** Create a private structure for use within this file. */ pointer kbdLinuxCreatePrivate(DeviceIntPtr pKeyboard) { - myPrivate *priv = xalloc(sizeof(*priv)); - memset(priv, 0, sizeof(*priv)); + myPrivate *priv = calloc(1, sizeof(*priv)); priv->fd = -1; priv->pKeyboard = pKeyboard; return priv; @@ -368,7 +367,7 @@ pointer kbdLinuxCreatePrivate(DeviceIntPtr pKeyboard) /** Destroy a private structure. */ void kbdLinuxDestroyPrivate(pointer priv) { - if (priv) xfree(priv); + if (priv) free(priv); } /** Ring the bell. diff --git a/xorg-server/hw/dmx/input/lnx-ms.c b/xorg-server/hw/dmx/input/lnx-ms.c index b3692a071..549df46e2 100644 --- a/xorg-server/hw/dmx/input/lnx-ms.c +++ b/xorg-server/hw/dmx/input/lnx-ms.c @@ -292,8 +292,7 @@ void msLinuxVTPostSwitch(pointer p) /** Create a private structure for use within this file. */ pointer msLinuxCreatePrivate(DeviceIntPtr pMouse) { - myPrivate *priv = xalloc(sizeof(*priv)); - memset(priv, 0, sizeof(*priv)); + myPrivate *priv = calloc(1, sizeof(*priv)); priv->fd = -1; priv->pMouse = pMouse; return priv; @@ -302,7 +301,7 @@ pointer msLinuxCreatePrivate(DeviceIntPtr pMouse) /** Destroy a private structure. */ void msLinuxDestroyPrivate(pointer priv) { - if (priv) xfree(priv); + if (priv) free(priv); } /** Fill the \a info structure with information needed to initialize \a diff --git a/xorg-server/hw/dmx/input/lnx-ps2.c b/xorg-server/hw/dmx/input/lnx-ps2.c index 8b906df5f..70918eef4 100644 --- a/xorg-server/hw/dmx/input/lnx-ps2.c +++ b/xorg-server/hw/dmx/input/lnx-ps2.c @@ -260,8 +260,7 @@ void ps2LinuxVTPostSwitch(pointer p) /** Create a private structure for use within this file. */ pointer ps2LinuxCreatePrivate(DeviceIntPtr pMouse) { - myPrivate *priv = xalloc(sizeof(*priv)); - memset(priv, 0, sizeof(*priv)); + myPrivate *priv = calloc(1, sizeof(*priv)); priv->fd = -1; priv->pMouse = pMouse; return priv; @@ -270,7 +269,7 @@ pointer ps2LinuxCreatePrivate(DeviceIntPtr pMouse) /** Destroy a private structure. */ void ps2LinuxDestroyPrivate(pointer priv) { - if (priv) xfree(priv); + if (priv) free(priv); } /** Fill the \a info structure with information needed to initialize \a diff --git a/xorg-server/hw/dmx/input/usb-common.c b/xorg-server/hw/dmx/input/usb-common.c index 70695d0f1..2d3f4dd5f 100644 --- a/xorg-server/hw/dmx/input/usb-common.c +++ b/xorg-server/hw/dmx/input/usb-common.c @@ -368,8 +368,7 @@ void usbOff(DevicePtr pDev) /** Create a private structure for use within this file. */ pointer usbCreatePrivate(DeviceIntPtr pDevice) { - myPrivate *priv = xalloc(sizeof(*priv)); - memset(priv, 0, sizeof(*priv)); + myPrivate *priv = calloc(1, sizeof(*priv)); priv->fd = -1; priv->pDevice = pDevice; return priv; @@ -378,5 +377,5 @@ pointer usbCreatePrivate(DeviceIntPtr pDevice) /** Destroy a private structure. */ void usbDestroyPrivate(pointer priv) { - if (priv) xfree(priv); + if (priv) free(priv); } diff --git a/xorg-server/hw/kdrive/Makefile.am b/xorg-server/hw/kdrive/Makefile.am index 5803644d5..e20d4d6d2 100644 --- a/xorg-server/hw/kdrive/Makefile.am +++ b/xorg-server/hw/kdrive/Makefile.am @@ -1,8 +1,3 @@ -if KDRIVEVESA -VESA_SUBDIRS = vesa ati chips epson i810 mach64 mga nvidia pm2 r128 \ - smi via -endif - if BUILD_KDRIVEFBDEVLIB FBDEV_SUBDIRS = fbdev endif @@ -26,7 +21,6 @@ endif SERVER_SUBDIRS = \ $(XSDL_SUBDIRS) \ $(FBDEV_SUBDIRS) \ - $(VESA_SUBDIRS) \ $(XEPHYR_SUBDIRS) \ $(XFAKE_SUBDIRS) @@ -35,8 +29,7 @@ SUBDIRS = \ $(LINUX_SUBDIRS) \ $(SERVER_SUBDIRS) -DIST_SUBDIRS = vesa ati chips epson i810 mach64 mga neomagic nvidia pm2 r128 \ - smi via fbdev sdl ephyr src linux fake sis300 +DIST_SUBDIRS = fbdev sdl ephyr src linux fake relink: @for i in $(SERVER_SUBDIRS) ; do make -C $$i relink ; done diff --git a/xorg-server/hw/kdrive/Makefile.in b/xorg-server/hw/kdrive/Makefile.in index ad6f20668..c38e03de8 100644 --- a/xorg-server/hw/kdrive/Makefile.in +++ b/xorg-server/hw/kdrive/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -42,7 +42,6 @@ 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 \ @@ -67,8 +66,9 @@ ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ -APPDEFAULTDIR = @APPDEFAULTDIR@ APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +APPLE_APPLICATION_ID = @APPLE_APPLICATION_ID@ +APPLE_APPLICATION_NAME = @APPLE_APPLICATION_NAME@ APP_MAN_DIR = @APP_MAN_DIR@ APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ AR = @AR@ @@ -89,10 +89,6 @@ 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@ @@ -114,6 +110,7 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOLT_BASH = @DOLT_BASH@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ @@ -123,18 +120,15 @@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ DSYMUTIL = @DSYMUTIL@ DTRACE = @DTRACE@ -ECHO = @ECHO@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ -FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ -FREETYPE_LIBS = @FREETYPE_LIBS@ GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ GLX_DEFINES = @GLX_DEFINES@ GL_CFLAGS = @GL_CFLAGS@ @@ -153,7 +147,7 @@ KDRIVE_LIBS = @KDRIVE_LIBS@ KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ -LAUNCHD = @LAUNCHD@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ LEX = @LEX@ @@ -167,7 +161,10 @@ LIBTOOL = @LIBTOOL@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LINUXDOC = @LINUXDOC@ +LIPO = @LIPO@ LN_S = @LN_S@ +LTCOMPILE = @LTCOMPILE@ +LTCXXCOMPILE = @LTCXXCOMPILE@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ @@ -179,8 +176,7 @@ MESA_SOURCE = @MESA_SOURCE@ MISC_MAN_DIR = @MISC_MAN_DIR@ MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ MKDIR_P = @MKDIR_P@ -MKFONTDIR = @MKFONTDIR@ -MKFONTSCALE = @MKFONTSCALE@ +NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCCLD = @OBJCCLD@ @@ -189,8 +185,8 @@ OBJCFLAGS = @OBJCFLAGS@ OBJCLINK = @OBJCLINK@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ @@ -223,7 +219,6 @@ VENDOR_NAME = @VENDOR_NAME@ VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ VENDOR_RELEASE = @VENDOR_RELEASE@ VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ XDMCP_CFLAGS = @XDMCP_CFLAGS@ @@ -233,27 +228,12 @@ XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@ XDMX_CFLAGS = @XDMX_CFLAGS@ XDMX_LIBS = @XDMX_LIBS@ XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ XEPHYR_INCS = @XEPHYR_INCS@ XEPHYR_LIBS = @XEPHYR_LIBS@ 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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ @@ -264,10 +244,6 @@ XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ XNEST_LIBS = @XNEST_LIBS@ XNEST_SYS_LIBS = @XNEST_SYS_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_INCS = @XORG_INCS@ XORG_LIBS = @XORG_LIBS@ @@ -276,13 +252,8 @@ XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ XORG_OS = @XORG_OS@ XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_LIBS@ +XPBPROXY_CFLAGS = @XPBPROXY_CFLAGS@ +XPBPROXY_LIBS = @XPBPROXY_LIBS@ XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ XSDL_INCS = @XSDL_INCS@ @@ -315,8 +286,7 @@ 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@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -336,7 +306,6 @@ driverdir = @driverdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ extdir = @extdir@ -ft_config = @ft_config@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ @@ -346,12 +315,12 @@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ -launchagentsdir = @launchagentsdir@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ logdir = @logdir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ moduledir = @moduledir@ @@ -369,11 +338,6 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ -@KDRIVEVESA_TRUE@VESA_SUBDIRS = vesa ati chips epson i810 mach64 mga nvidia pm2 r128 \ -@KDRIVEVESA_TRUE@ smi via - @BUILD_KDRIVEFBDEVLIB_TRUE@FBDEV_SUBDIRS = fbdev @XFAKESERVER_TRUE@XFAKE_SUBDIRS = fake @XSDLSERVER_TRUE@XSDL_SUBDIRS = sdl @@ -382,7 +346,6 @@ xpconfigdir = @xpconfigdir@ SERVER_SUBDIRS = \ $(XSDL_SUBDIRS) \ $(FBDEV_SUBDIRS) \ - $(VESA_SUBDIRS) \ $(XEPHYR_SUBDIRS) \ $(XFAKE_SUBDIRS) @@ -391,9 +354,7 @@ SUBDIRS = \ $(LINUX_SUBDIRS) \ $(SERVER_SUBDIRS) -DIST_SUBDIRS = vesa ati chips epson i810 mach64 mga neomagic nvidia pm2 r128 \ - smi via fbdev sdl ephyr src linux fake sis300 - +DIST_SUBDIRS = fbdev sdl ephyr src linux fake all: all-recursive .SUFFIXES: @@ -401,8 +362,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ @@ -508,7 +469,7 @@ ID: $(HEADERS) $(SOURCES) $(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; nonemtpy = 1; } \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS diff --git a/xorg-server/hw/kdrive/ati/Makefile.am b/xorg-server/hw/kdrive/ati/Makefile.am deleted file mode 100644 index 31462bb04..000000000 --- a/xorg-server/hw/kdrive/ati/Makefile.am +++ /dev/null @@ -1,74 +0,0 @@ -#if DRI -#DRI_INCLUDES = -I$(top_srcdir)/dri \ -# -I$(top_srcdir)/drm -#DRI_LIBS = $(top_builddir)/dri/libdri.a \ -# $(top_builddir)/drm/libdrm.a -#DRI_SOURCES = ati_dri.c \ -# ati_dri.h \ -# ati_dripriv.h \ -# r128_common.h \ -# r128_sarea.h \ -# radeon_common.h \ -# radeon_sarea.h -#endif - -if KDRIVEFBDEV -FBDEV_INCLUDES =-I$(top_srcdir)/hw/kdrive/fbdev -FBDEV_LIBS = $(top_builddir)/hw/kdrive/fbdev/libfbdev.a -endif - -if KDRIVEVESA -VESA_INCLUDES = -I$(top_srcdir)/hw/kdrive/vesa -VESA_LIBS = $(top_builddir)/hw/kdrive/vesa/libvesa.a -endif - -INCLUDES = \ - @KDRIVE_INCS@ \ - $(DRI_INCLUDES) \ - $(FBDEV_INCLUDES) \ - $(VESA_INCLUDES) \ - @KDRIVE_CFLAGS@ - -bin_PROGRAMS = Xati - -noinst_LIBRARIES = libati.a - -libati_a_SOURCES = \ - ati_cursor.c \ - ati_dma.c \ - ati_dma.h \ - ati_draw.c \ - ati_draw.h \ - ati_microcode.c \ - ati.c \ - ati.h \ - ati_reg.h \ - r128_composite.c \ - ati_video.c \ - radeon_composite.c \ - $(DRI_SOURCES) - -Xati_SOURCES = \ - ati_stub.c - -ATI_LIBS = \ - libati.a \ - $(FBDEV_LIBS) \ - $(VESA_LIBS) \ - $(DRI_LIBS) \ - @KDRIVE_LIBS@ - -if GLX -Xati_LDFLAGS = $(LD_EXPORT_SYMBOLS_FLAG) -endif - -Xati_LDADD = \ - $(ATI_LIBS) \ - @KDRIVE_LIBS@ - -Xati_DEPENDENCIES = \ - libati.a \ - @KDRIVE_LOCAL_LIBS@ - -relink: - rm -f $(bin_PROGRAMS) && make $(bin_PROGRAMS) diff --git a/xorg-server/hw/kdrive/ati/Makefile.in b/xorg-server/hw/kdrive/ati/Makefile.in deleted file mode 100644 index b38d1a16e..000000000 --- a/xorg-server/hw/kdrive/ati/Makefile.in +++ /dev/null @@ -1,757 +0,0 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008 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@ - -#if DRI -#DRI_INCLUDES = -I$(top_srcdir)/dri \ -# -I$(top_srcdir)/drm -#DRI_LIBS = $(top_builddir)/dri/libdri.a \ -# $(top_builddir)/drm/libdrm.a -#DRI_SOURCES = ati_dri.c \ -# ati_dri.h \ -# ati_dripriv.h \ -# r128_common.h \ -# r128_sarea.h \ -# radeon_common.h \ -# radeon_sarea.h -#endif - - -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 = Xati$(EXEEXT) -subdir = hw/kdrive/ati -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 -libati_a_AR = $(AR) $(ARFLAGS) -libati_a_LIBADD = -am_libati_a_OBJECTS = ati_cursor.$(OBJEXT) ati_dma.$(OBJEXT) \ - ati_draw.$(OBJEXT) ati_microcode.$(OBJEXT) ati.$(OBJEXT) \ - r128_composite.$(OBJEXT) ati_video.$(OBJEXT) \ - radeon_composite.$(OBJEXT) -libati_a_OBJECTS = $(am_libati_a_OBJECTS) -am__installdirs = "$(DESTDIR)$(bindir)" -binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) -PROGRAMS = $(bin_PROGRAMS) -am_Xati_OBJECTS = ati_stub.$(OBJEXT) -Xati_OBJECTS = $(am_Xati_OBJECTS) -am__DEPENDENCIES_1 = libati.a $(FBDEV_LIBS) $(VESA_LIBS) -Xati_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(Xati_LDFLAGS) \ - $(LDFLAGS) -o $@ -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include -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 = $(libati_a_SOURCES) $(Xati_SOURCES) -DIST_SOURCES = $(libati_a_SOURCES) $(Xati_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@ -DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ -DRI2PROTO_LIBS = @DRI2PROTO_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@ -DSYMUTIL = @DSYMUTIL@ -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@ -GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ -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@ -LAUNCHD = @LAUNCHD@ -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@ -NMEDIT = @NMEDIT@ -OBJC = @OBJC@ -OBJCCLD = @OBJCCLD@ -OBJCDEPMODE = @OBJCDEPMODE@ -OBJCFLAGS = @OBJCFLAGS@ -OBJCLINK = @OBJCLINK@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ -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@ -PCIACCESS_CFLAGS = @PCIACCESS_CFLAGS@ -PCIACCESS_LIBS = @PCIACCESS_LIBS@ -PCI_TXT_IDS_PATH = @PCI_TXT_IDS_PATH@ -PERL = @PERL@ -PKG_CONFIG = @PKG_CONFIG@ -PROJECTROOT = @PROJECTROOT@ -PS2PDF = @PS2PDF@ -RANLIB = @RANLIB@ -RAWCPP = @RAWCPP@ -RAWCPPFLAGS = @RAWCPPFLAGS@ -SED = @SED@ -SERVER_MISC_CONFIG_PATH = @SERVER_MISC_CONFIG_PATH@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ -SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ -STRIP = @STRIP@ -TSLIB_CFLAGS = @TSLIB_CFLAGS@ -TSLIB_LIBS = @TSLIB_LIBS@ -UTILS_SYS_LIBS = @UTILS_SYS_LIBS@ -VENDOR_MAN_VERSION = @VENDOR_MAN_VERSION@ -VENDOR_NAME = @VENDOR_NAME@ -VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ -VENDOR_RELEASE = @VENDOR_RELEASE@ -VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ -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_CFLAGS = @XDMX_CFLAGS@ -XDMX_LIBS = @XDMX_LIBS@ -XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ -XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ -XEPHYR_INCS = @XEPHYR_INCS@ -XEPHYR_LIBS = @XEPHYR_LIBS@ -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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ -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@ -XNEST_SYS_LIBS = @XNEST_SYS_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_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@ -XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_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@ -XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ -XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ -XTSTEXAMPLES_DEP_LIBS = @XTSTEXAMPLES_DEP_LIBS@ -XVFB_LIBS = @XVFB_LIBS@ -XVFB_SYS_LIBS = @XVFB_SYS_LIBS@ -XWINMODULES_CFLAGS = @XWINMODULES_CFLAGS@ -XWINMODULES_LIBS = @XWINMODULES_LIBS@ -XWIN_LIBS = @XWIN_LIBS@ -XWIN_SERVER_NAME = @XWIN_SERVER_NAME@ -XWIN_SYS_LIBS = @XWIN_SYS_LIBS@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -__XCONFIGFILE__ = @__XCONFIGFILE__@ -abi_ansic = @abi_ansic@ -abi_extension = @abi_extension@ -abi_font = @abi_font@ -abi_videodrv = @abi_videodrv@ -abi_xinput = @abi_xinput@ -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@ -launchagentsdir = @launchagentsdir@ -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_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ -@KDRIVEFBDEV_TRUE@FBDEV_INCLUDES = -I$(top_srcdir)/hw/kdrive/fbdev -@KDRIVEFBDEV_TRUE@FBDEV_LIBS = $(top_builddir)/hw/kdrive/fbdev/libfbdev.a -@KDRIVEVESA_TRUE@VESA_INCLUDES = -I$(top_srcdir)/hw/kdrive/vesa -@KDRIVEVESA_TRUE@VESA_LIBS = $(top_builddir)/hw/kdrive/vesa/libvesa.a -INCLUDES = \ - @KDRIVE_INCS@ \ - $(DRI_INCLUDES) \ - $(FBDEV_INCLUDES) \ - $(VESA_INCLUDES) \ - @KDRIVE_CFLAGS@ - -noinst_LIBRARIES = libati.a -libati_a_SOURCES = \ - ati_cursor.c \ - ati_dma.c \ - ati_dma.h \ - ati_draw.c \ - ati_draw.h \ - ati_microcode.c \ - ati.c \ - ati.h \ - ati_reg.h \ - r128_composite.c \ - ati_video.c \ - radeon_composite.c \ - $(DRI_SOURCES) - -Xati_SOURCES = \ - ati_stub.c - -ATI_LIBS = \ - libati.a \ - $(FBDEV_LIBS) \ - $(VESA_LIBS) \ - $(DRI_LIBS) \ - @KDRIVE_LIBS@ - -@GLX_TRUE@Xati_LDFLAGS = $(LD_EXPORT_SYMBOLS_FLAG) -Xati_LDADD = \ - $(ATI_LIBS) \ - @KDRIVE_LIBS@ - -Xati_DEPENDENCIES = \ - libati.a \ - @KDRIVE_LOCAL_LIBS@ - -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/kdrive/ati/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign hw/kdrive/ati/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) -libati.a: $(libati_a_OBJECTS) $(libati_a_DEPENDENCIES) - -rm -f libati.a - $(libati_a_AR) libati.a $(libati_a_OBJECTS) $(libati_a_LIBADD) - $(RANLIB) libati.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) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ - $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --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 -Xati$(EXEEXT): $(Xati_OBJECTS) $(Xati_DEPENDENCIES) - @rm -f Xati$(EXEEXT) - $(Xati_LINK) $(Xati_OBJECTS) $(Xati_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ati.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ati_cursor.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ati_dma.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ati_draw.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ati_microcode.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ati_stub.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ati_video.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/r128_composite.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/radeon_composite.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; nonemtpy = 1; } \ - END { if (nonempty) { 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; nonempty = 1; } \ - END { if (nonempty) { 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=; \ - 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; nonempty = 1; } \ - END { if (nonempty) { 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) -installdirs: - for dir in "$(DESTDIR)$(bindir)"; 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-dvi: install-dvi-am - -install-exec-am: install-binPROGRAMS - -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-binPROGRAMS - -.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-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-binPROGRAMS - - -relink: - rm -f $(bin_PROGRAMS) && make $(bin_PROGRAMS) -# 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/xorg-server/hw/kdrive/ati/ati.c b/xorg-server/hw/kdrive/ati/ati.c deleted file mode 100644 index c4f67e171..000000000 --- a/xorg-server/hw/kdrive/ati/ati.c +++ /dev/null @@ -1,761 +0,0 @@ -/* - * Copyright © 2003 Eric Anholt - * - * 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. - */ - -#ifdef HAVE_CONFIG_H -#include -#endif -#include "ati.h" -#include "ati_reg.h" -#if defined(USE_DRI) && defined(GLXEXT) -#include "ati_sarea.h" -#endif - -static Bool ATIIsAGP(ATICardInfo *atic); - -#define CAP_SERIESMASK 0xf -#define CAP_R128 0x1 /* If it's a Rage 128 */ -#define CAP_R100 0x2 /* If it's an r100 series radeon. */ -#define CAP_R200 0x3 /* If it's an r200 series radeon. */ -#define CAP_R300 0x4 /* If it's an r300 series radeon. */ - -#define CAP_FEATURESMASK 0xf0 -#define CAP_NOAGP 0x10 /* If it's a PCI-only card. */ - -struct pci_id_entry ati_pci_ids[] = { - {0x1002, 0x4136, 0x2, "ATI Radeon RS100"}, - {0x1002, 0x4137, 0x2, "ATI Radeon RS200"}, - {0x1002, 0x4237, 0x2, "ATI Radeon RS250"}, - {0x1002, 0x4144, 0x4, "ATI Radeon R300 AD"}, - {0x1002, 0x4145, 0x4, "ATI Radeon R300 AE"}, - {0x1002, 0x4146, 0x4, "ATI Radeon R300 AF"}, - {0x1002, 0x4147, 0x4, "ATI Radeon R300 AG"}, - {0x1002, 0x4148, 0x4, "ATI Radeon R350 AH"}, - {0x1002, 0x4149, 0x4, "ATI Radeon R350 AI"}, - {0x1002, 0x414a, 0x4, "ATI Radeon R350 AJ"}, - {0x1002, 0x414b, 0x4, "ATI Radeon R350 AK"}, - {0x1002, 0x4150, 0x4, "ATI Radeon RV350 AP"}, - {0x1002, 0x4151, 0x4, "ATI Radeon RV350 AQ"}, - {0x1002, 0x4152, 0x4, "ATI Radeon RV350 AR"}, - {0x1002, 0x4153, 0x4, "ATI Radeon RV350 AS"}, - {0x1002, 0x4154, 0x4, "ATI Radeon RV350 AT"}, - {0x1002, 0x4156, 0x4, "ATI Radeon RV350 AV"}, - {0x1002, 0x4242, 0x3, "ATI Radeon R200 BB"}, - {0x1002, 0x4243, 0x3, "ATI Radeon R200 BC"}, - {0x1002, 0x4336, 0x2, "ATI Radeon RS100"}, - {0x1002, 0x4337, 0x2, "ATI Radeon RS200"}, - {0x1002, 0x4437, 0x2, "ATI Radeon RS250"}, - {0x1002, 0x4964, 0x2, "ATI Radeon RV250 Id"}, - {0x1002, 0x4965, 0x2, "ATI Radeon RV250 Ie"}, - {0x1002, 0x4966, 0x2, "ATI Radeon RV250 If"}, - {0x1002, 0x4967, 0x2, "ATI Radeon R250 Ig"}, - {0x1002, 0x4c45, 0x11, "ATI Rage 128 LE"}, - {0x1002, 0x4c46, 0x1, "ATI Rage 128 LF"}, - {0x1002, 0x4c57, 0x2, "ATI Radeon Mobiliy M7 RV200 LW (7500)"}, - {0x1002, 0x4c58, 0x2, "ATI Radeon Mobiliy M7 RV200 LX (7500)"}, - {0x1002, 0x4c59, 0x2, "ATI Radeon Mobility M6 LY"}, - {0x1002, 0x4c5a, 0x2, "ATI Radeon Mobility M6 LZ"}, - {0x1002, 0x4c64, 0x3, "ATI Radeon RV250 Ld"}, - {0x1002, 0x4c65, 0x3, "ATI Radeon RV250 Le"}, - {0x1002, 0x4c66, 0x3, "ATI Radeon Mobility M9 RV250 Lf"}, - {0x1002, 0x4c67, 0x3, "ATI Radeon RV250 Lg"}, - {0x1002, 0x4d46, 0x1, "ATI Rage 128 MF"}, - {0x1002, 0x4d46, 0x1, "ATI Rage 128 ML"}, - {0x1002, 0x4e44, 0x4, "ATI Radeon R300 ND"}, - {0x1002, 0x4e45, 0x4, "ATI Radeon R300 NE"}, - {0x1002, 0x4e46, 0x4, "ATI Radeon R300 NF"}, - {0x1002, 0x4e47, 0x4, "ATI Radeon R300 NG"}, - {0x1002, 0x4e48, 0x4, "ATI Radeon R350 NH"}, - {0x1002, 0x4e49, 0x4, "ATI Radeon R350 NI"}, - {0x1002, 0x4e4a, 0x4, "ATI Radeon R350 NJ"}, - {0x1002, 0x4e4b, 0x4, "ATI Radeon R350 NK"}, - {0x1002, 0x4e50, 0x4, "ATI Radeon Mobility RV350 NP"}, - {0x1002, 0x4e51, 0x4, "ATI Radeon Mobility RV350 NQ"}, - {0x1002, 0x4e52, 0x4, "ATI Radeon Mobility RV350 NR"}, - {0x1002, 0x4e53, 0x4, "ATI Radeon Mobility RV350 NS"}, - {0x1002, 0x4e54, 0x4, "ATI Radeon Mobility RV350 NT"}, - {0x1002, 0x4e56, 0x4, "ATI Radeon Mobility RV350 NV"}, - {0x1002, 0x5041, 0x1, "ATI Rage 128 PA"}, - {0x1002, 0x5042, 0x1, "ATI Rage 128 PB"}, - {0x1002, 0x5043, 0x1, "ATI Rage 128 PC"}, - {0x1002, 0x5044, 0x11, "ATI Rage 128 PD"}, - {0x1002, 0x5045, 0x1, "ATI Rage 128 PE"}, - {0x1002, 0x5046, 0x1, "ATI Rage 128 PF"}, - {0x1002, 0x5047, 0x1, "ATI Rage 128 PG"}, - {0x1002, 0x5048, 0x1, "ATI Rage 128 PH"}, - {0x1002, 0x5049, 0x1, "ATI Rage 128 PI"}, - {0x1002, 0x504a, 0x1, "ATI Rage 128 PJ"}, - {0x1002, 0x504b, 0x1, "ATI Rage 128 PK"}, - {0x1002, 0x504c, 0x1, "ATI Rage 128 PL"}, - {0x1002, 0x504d, 0x1, "ATI Rage 128 PM"}, - {0x1002, 0x504e, 0x1, "ATI Rage 128 PN"}, - {0x1002, 0x504f, 0x1, "ATI Rage 128 PO"}, - {0x1002, 0x5050, 0x11, "ATI Rage 128 PP"}, - {0x1002, 0x5051, 0x1, "ATI Rage 128 PQ"}, - {0x1002, 0x5052, 0x11, "ATI Rage 128 PR"}, - {0x1002, 0x5053, 0x1, "ATI Rage 128 PS"}, - {0x1002, 0x5054, 0x1, "ATI Rage 128 PT"}, - {0x1002, 0x5055, 0x1, "ATI Rage 128 PU"}, - {0x1002, 0x5056, 0x1, "ATI Rage 128 PV"}, - {0x1002, 0x5057, 0x1, "ATI Rage 128 PW"}, - {0x1002, 0x5058, 0x1, "ATI Rage 128 PX"}, - {0x1002, 0x5144, 0x2, "ATI Radeon R100 QD"}, - {0x1002, 0x5145, 0x2, "ATI Radeon R100 QE"}, - {0x1002, 0x5146, 0x2, "ATI Radeon R100 QF"}, - {0x1002, 0x5147, 0x2, "ATI Radeon R100 QG"}, - {0x1002, 0x5148, 0x3, "ATI Radeon R200 QH"}, - {0x1002, 0x514c, 0x3, "ATI Radeon R200 QL"}, - {0x1002, 0x514d, 0x3, "ATI Radeon R200 QM"}, - {0x1002, 0x5157, 0x2, "ATI Radeon RV200 QW (7500)"}, - {0x1002, 0x5158, 0x2, "ATI Radeon RV200 QX (7500)"}, - {0x1002, 0x5159, 0x2, "ATI Radeon RV100 QY"}, - {0x1002, 0x515a, 0x2, "ATI Radeon RV100 QZ"}, - {0x1002, 0x5245, 0x11, "ATI Rage 128 RE"}, - {0x1002, 0x5246, 0x1, "ATI Rage 128 RF"}, - {0x1002, 0x5247, 0x1, "ATI Rage 128 RG"}, - {0x1002, 0x524b, 0x11, "ATI Rage 128 RK"}, - {0x1002, 0x524c, 0x1, "ATI Rage 128 RL"}, - {0x1002, 0x5345, 0x1, "ATI Rage 128 SE"}, - {0x1002, 0x5346, 0x1, "ATI Rage 128 SF"}, - {0x1002, 0x5347, 0x1, "ATI Rage 128 SG"}, - {0x1002, 0x5348, 0x1, "ATI Rage 128 SH"}, - {0x1002, 0x534b, 0x1, "ATI Rage 128 SK"}, - {0x1002, 0x534c, 0x1, "ATI Rage 128 SL"}, - {0x1002, 0x534d, 0x1, "ATI Rage 128 SM"}, - {0x1002, 0x534e, 0x1, "ATI Rage 128 SN"}, - {0x1002, 0x5446, 0x1, "ATI Rage 128 TF"}, - {0x1002, 0x544c, 0x1, "ATI Rage 128 TL"}, - {0x1002, 0x5452, 0x1, "ATI Rage 128 TR"}, - {0x1002, 0x5453, 0x1, "ATI Rage 128 TS"}, - {0x1002, 0x5454, 0x1, "ATI Rage 128 TT"}, - {0x1002, 0x5455, 0x1, "ATI Rage 128 TU"}, - {0x1002, 0x5834, 0x3, "ATI Radeon RS300"}, - {0x1002, 0x5835, 0x3, "ATI Radeon RS300 Mobility"}, - {0x1002, 0x5941, 0x3, "ATI Radeon RV280 (9200)"}, - {0x1002, 0x5961, 0x3, "ATI Radeon RV280 (9200 SE)"}, - {0x1002, 0x5964, 0x3, "ATI Radeon RV280 (9200 SE)"}, - {0x1002, 0x5c60, 0x3, "ATI Radeon RV280"}, - {0x1002, 0x5c61, 0x3, "ATI Radeon RV280 Mobility"}, - {0x1002, 0x5c62, 0x3, "ATI Radeon RV280"}, - {0x1002, 0x5c63, 0x3, "ATI Radeon RV280 Mobility"}, - {0x1002, 0x5c64, 0x3, "ATI Radeon RV280"}, - {0, 0, 0, NULL} -}; - -static char * -make_busid(KdCardAttr *attr) -{ - char *busid; - - busid = xalloc(20); - if (busid == NULL) - return NULL; - snprintf(busid, 20, "pci:%04x:%02x:%02x.%d", attr->domain, attr->bus, - attr->slot, attr->func); - return busid; -} - -static Bool -ATICardInit(KdCardInfo *card) -{ - ATICardInfo *atic; - int i; - Bool initialized = FALSE; - - atic = xcalloc(sizeof(ATICardInfo), 1); - if (atic == NULL) - return FALSE; - -#ifdef KDRIVEFBDEV - if (!initialized && fbdevInitialize(card, &atic->backend_priv.fbdev)) { - atic->use_fbdev = TRUE; - initialized = TRUE; - atic->backend_funcs.cardfini = fbdevCardFini; - atic->backend_funcs.scrfini = fbdevScreenFini; - atic->backend_funcs.initScreen = fbdevInitScreen; - atic->backend_funcs.finishInitScreen = fbdevFinishInitScreen; - atic->backend_funcs.createRes = fbdevCreateResources; - atic->backend_funcs.preserve = fbdevPreserve; - atic->backend_funcs.restore = fbdevRestore; - atic->backend_funcs.dpms = fbdevDPMS; - atic->backend_funcs.enable = fbdevEnable; - atic->backend_funcs.disable = fbdevDisable; - atic->backend_funcs.getColors = fbdevGetColors; - atic->backend_funcs.putColors = fbdevPutColors; -#ifdef RANDR - atic->backend_funcs.randrSetConfig = fbdevRandRSetConfig; -#endif - } -#endif -#ifdef KDRIVEVESA - if (!initialized && vesaInitialize(card, &atic->backend_priv.vesa)) { - atic->use_vesa = TRUE; - initialized = TRUE; - atic->backend_funcs.cardfini = vesaCardFini; - atic->backend_funcs.scrfini = vesaScreenFini; - atic->backend_funcs.initScreen = vesaInitScreen; - atic->backend_funcs.finishInitScreen = vesaFinishInitScreen; - atic->backend_funcs.createRes = vesaCreateResources; - atic->backend_funcs.preserve = vesaPreserve; - atic->backend_funcs.restore = vesaRestore; - atic->backend_funcs.dpms = vesaDPMS; - atic->backend_funcs.enable = vesaEnable; - atic->backend_funcs.disable = vesaDisable; - atic->backend_funcs.getColors = vesaGetColors; - atic->backend_funcs.putColors = vesaPutColors; -#ifdef RANDR - atic->backend_funcs.randrSetConfig = vesaRandRSetConfig; -#endif - } -#endif - - if (!initialized || !ATIMapReg(card, atic)) { - xfree(atic); - return FALSE; - } - - atic->busid = make_busid(&card->attr); - if (atic->busid == NULL) { - xfree(atic); - return FALSE; - } - -#ifdef USE_DRI - /* We demand identification by busid, not driver name */ - atic->drmFd = drmOpen(NULL, atic->busid); - if (atic->drmFd < 0) - ErrorF("Failed to open DRM, DRI disabled.\n"); -#endif /* USE_DRI */ - - card->driver = atic; - - for (i = 0; ati_pci_ids[i].name != NULL; i++) { - if (ati_pci_ids[i].device == card->attr.deviceID) { - atic->pci_id = &ati_pci_ids[i]; - break; - } - } - - if ((atic->pci_id->caps & CAP_SERIESMASK) != CAP_R128) - atic->is_radeon = TRUE; - if ((atic->pci_id->caps & CAP_SERIESMASK) == CAP_R100) - atic->is_r100 = TRUE; - if ((atic->pci_id->caps & CAP_SERIESMASK) == CAP_R200) - atic->is_r200 = TRUE; - if ((atic->pci_id->caps & CAP_SERIESMASK) == CAP_R300) - atic->is_r300 = TRUE; - - atic->is_agp = ATIIsAGP(atic); - - ErrorF("Using ATI card: %s (%s) at %s\n", atic->pci_id->name, - atic->is_agp ? "AGP" : "PCI", atic->busid); - - return TRUE; -} - -static void -ATICardFini(KdCardInfo *card) -{ - ATICardInfo *atic = (ATICardInfo *)card->driver; - - ATIUnmapReg(card, atic); - atic->backend_funcs.cardfini(card); -} - -/* - * Once screen->off_screen_base is set, this function - * allocates the remaining memory appropriately - */ - -static void -ATISetOffscreen (KdScreenInfo *screen) -{ - ATICardInfo(screen); -#if defined(USE_DRI) && defined(GLXEXT) - ATIScreenInfo *atis = (ATIScreenInfo *)screen->driver; - int l; -#endif - int screen_size; - char *mmio = atic->reg_base; - - /* check (and adjust) pitch */ - if (mmio) - { - int byteStride = screen->fb[0].byteStride; - int bitStride; - int pixelStride; - int bpp = screen->fb[0].bitsPerPixel; - - /* - * Ensure frame buffer is correctly aligned - */ - if (byteStride & 0x3f) - { - byteStride = (byteStride + 0x3f) & ~0x3f; - bitStride = byteStride * 8; - pixelStride = bitStride / bpp; - - screen->fb[0].byteStride = byteStride; - screen->fb[0].pixelStride = pixelStride; - } - } - - screen_size = screen->fb[0].byteStride * screen->height; - - screen->off_screen_base = screen_size; - -#if defined(USE_DRI) && defined(GLXEXT) - /* Reserve a static area for the back buffer the same size as the - * visible screen. XXX: This would be better initialized in ati_dri.c - * when GLX is set up, but the offscreen memory manager's allocations - * don't last through VT switches, while the kernel's understanding of - * offscreen locations does. - */ - atis->frontOffset = 0; - atis->frontPitch = screen->fb[0].byteStride; - - if (screen->off_screen_base + screen_size <= screen->memory_size) { - atis->backOffset = screen->off_screen_base; - atis->backPitch = screen->fb[0].byteStride; - screen->off_screen_base += screen_size; - } - - /* Reserve the depth span for Rage 128 */ - if (!atic->is_radeon && screen->off_screen_base + - screen->fb[0].byteStride <= screen->memory_size) { - atis->spanOffset = screen->off_screen_base; - screen->off_screen_base += screen->fb[0].byteStride; - } - - /* Reserve the static depth buffer, which happens to be the same - * bitsPerPixel as the screen. - */ - if (screen->off_screen_base + screen_size <= screen->memory_size) { - atis->depthOffset = screen->off_screen_base; - atis->depthPitch = screen->fb[0].byteStride; - screen->off_screen_base += screen_size; - } - - /* Reserve approx. half of remaining offscreen memory for local - * textures. Round down to a whole number of texture regions. - */ - atis->textureSize = (screen->memory_size - screen->off_screen_base) / 2; - l = ATILog2(atis->textureSize / ATI_NR_TEX_REGIONS); - if (l < ATI_LOG_TEX_GRANULARITY) - l = ATI_LOG_TEX_GRANULARITY; - atis->textureSize = (atis->textureSize >> l) << l; - if (atis->textureSize >= 512 * 1024) { - atis->textureOffset = screen->off_screen_base; - screen->off_screen_base += atis->textureSize; - } else { - /* Minimum texture size is for 2 256x256x32bpp textures */ - atis->textureSize = 0; - } -#endif /* USE_DRI && GLXEXT */ -} - -static void -ATISetPitch (KdScreenInfo *screen) -{ - ATICardInfo(screen); -#if defined(USE_DRI) && defined(GLXEXT) - ATIScreenInfo *atis = (ATIScreenInfo *)screen->driver; - int l; -#endif - char *mmio = atic->reg_base; - - /* check (and adjust) pitch for radeon */ - if (mmio) - { - int byteStride = screen->fb[0].byteStride; - int bitStride; - int pixelStride; - int bpp = screen->fb[0].bitsPerPixel; - CARD32 crtc_pitch; - CARD32 crtc2_pitch; -#if 0 - CARD32 crtc_ext_cntl; - CARD32 dac_cntl; -#endif - bitStride = byteStride * 8; - pixelStride = bitStride / bpp; - - crtc_pitch = (pixelStride >> 3); - crtc_pitch |= crtc_pitch << 16; - crtc2_pitch = (pixelStride >> 3); - crtc2_pitch |= crtc2_pitch << 16; -#if 0 - crtc_ext_cntl = MMIO_IN32 (mmio, ATI_REG_CRTC_EXT_CNTL); - dac_cntl = MMIO_IN32 (mmio, ATI_REG_DAC_CNTL); - /* Turn off the screen */ - MMIO_OUT32 (mmio, ATI_REG_CRTC_EXT_CNTL, - crtc_ext_cntl | - ATI_CRTC_VSYNC_DIS | - ATI_CRTC_HSYNC_DIS | - ATI_CRTC_DISPLAY_DIS); - MMIO_OUT32 (mmio, ATI_REG_DAC_CNTL, - dac_cntl | - ATI_DAC_RANGE_CNTL | - ATI_DAC_BLANKING); -#endif - MMIO_OUT32 (mmio, ATI_REG_CRTC_PITCH, crtc_pitch); - MMIO_OUT32 (mmio, ATI_REG_CRTC2_PITCH, crtc2_pitch); -#if 0 - /* Turn the screen back on */ - MMIO_OUT32 (mmio, ATI_REG_CRTC_EXT_CNTL, - crtc_ext_cntl); - MMIO_OUT32 (mmio, ATI_REG_DAC_CNTL, - dac_cntl); -#endif - } -} - -static Bool -ATIScreenInit(KdScreenInfo *screen) -{ - ATIScreenInfo *atis; - ATICardInfo(screen); - Bool success = FALSE; - - atis = xcalloc(sizeof(ATIScreenInfo), 1); - if (atis == NULL) - return FALSE; - - atis->atic = atic; - atis->screen = screen; - screen->driver = atis; - - if (screen->fb[0].depth == 0) - screen->fb[0].depth = 16; -#ifdef KDRIVEFBDEV - if (atic->use_fbdev) { - success = fbdevScreenInitialize(screen, - &atis->backend_priv.fbdev); - } -#endif -#ifdef KDRIVEVESA - if (atic->use_vesa) { - success = vesaScreenInitialize(screen, - &atis->backend_priv.vesa); - } -#endif - - if (!success) { - screen->driver = NULL; - xfree(atis); - return FALSE; - } - - ATISetOffscreen (screen); - - return TRUE; -} - -#ifdef RANDR -static Bool -ATIRandRSetConfig (ScreenPtr pScreen, - Rotation randr, - int rate, - RRScreenSizePtr pSize) -{ - KdScreenPriv(pScreen); - KdScreenInfo *screen = pScreenPriv->screen; - ATICardInfo *atic = screen->card->driver; - Bool ret; - - ATIDrawDisable (pScreen); - ret = atic->backend_funcs.randrSetConfig(pScreen, randr, rate, pSize); - ATISetOffscreen (screen); - ATISetPitch (screen); - /* - * Set frame buffer mapping - */ - (*pScreen->ModifyPixmapHeader) (fbGetScreenPixmap (pScreen), - pScreen->width, - pScreen->height, - screen->fb[0].depth, - screen->fb[0].bitsPerPixel, - screen->fb[0].byteStride, - screen->fb[0].frameBuffer); - - ATIDrawEnable (pScreen); - return ret; -} - -static Bool -ATIRandRInit (ScreenPtr pScreen) -{ - rrScrPrivPtr pScrPriv; - - pScrPriv = rrGetScrPriv(pScreen); - pScrPriv->rrSetConfig = ATIRandRSetConfig; - return TRUE; -} -#endif - -static void -ATIScreenFini(KdScreenInfo *screen) -{ - ATIScreenInfo *atis = (ATIScreenInfo *)screen->driver; - ATICardInfo *atic = screen->card->driver; - -#ifdef XV - ATIFiniVideo(screen->pScreen); -#endif - - atic->backend_funcs.scrfini(screen); - xfree(atis); - screen->driver = 0; -} - -Bool -ATIMapReg(KdCardInfo *card, ATICardInfo *atic) -{ - atic->reg_base = (char *)KdMapDevice(ATI_REG_BASE(card), - ATI_REG_SIZE(card)); - - if (atic->reg_base == NULL) - return FALSE; - - KdSetMappedMode(ATI_REG_BASE(card), ATI_REG_SIZE(card), - KD_MAPPED_MODE_REGISTERS); - - return TRUE; -} - -void -ATIUnmapReg(KdCardInfo *card, ATICardInfo *atic) -{ - if (atic->reg_base) { - KdResetMappedMode(ATI_REG_BASE(card), ATI_REG_SIZE(card), - KD_MAPPED_MODE_REGISTERS); - KdUnmapDevice((void *)atic->reg_base, ATI_REG_SIZE(card)); - atic->reg_base = 0; - } -} - -static Bool -ATIInitScreen(ScreenPtr pScreen) -{ - KdScreenPriv(pScreen); - ATICardInfo(pScreenPriv); - -#ifdef XV - ATIInitVideo(pScreen); -#endif - return atic->backend_funcs.initScreen(pScreen); -} - -static Bool -ATIFinishInitScreen(ScreenPtr pScreen) -{ - KdScreenPriv(pScreen); - ATICardInfo(pScreenPriv); - - if (!atic->backend_funcs.finishInitScreen(pScreen)) - return FALSE; -#ifdef RANDR - if (!ATIRandRInit (pScreen)) - return FALSE; -#endif - return TRUE; -} - -static Bool -ATICreateResources(ScreenPtr pScreen) -{ - KdScreenPriv(pScreen); - ATICardInfo(pScreenPriv); - - return atic->backend_funcs.createRes(pScreen); -} - -static void -ATIPreserve(KdCardInfo *card) -{ - ATICardInfo *atic = card->driver; - char *mmio = atic->reg_base; - - atic->backend_funcs.preserve(card); - if (atic->is_radeon && mmio) - { - atic->crtc_pitch = MMIO_IN32(mmio, ATI_REG_CRTC_PITCH); - atic->crtc2_pitch = MMIO_IN32(mmio, ATI_REG_CRTC2_PITCH); - - } -} - -static void -ATIRestore(KdCardInfo *card) -{ - ATICardInfo *atic = card->driver; - char *mmio = atic->reg_base; - - if (mmio) - { - MMIO_OUT32(mmio, ATI_REG_CRTC_PITCH, atic->crtc_pitch); - MMIO_OUT32(mmio, ATI_REG_CRTC2_PITCH, atic->crtc2_pitch); - } - ATIUnmapReg(card, atic); - - atic->backend_funcs.restore(card); -} - -static Bool -ATIDPMS(ScreenPtr pScreen, int mode) -{ - KdScreenPriv(pScreen); - ATICardInfo(pScreenPriv); - - return atic->backend_funcs.dpms(pScreen, mode); -} - -static Bool -ATIEnable(ScreenPtr pScreen) -{ - KdScreenPriv(pScreen); - ATICardInfo(pScreenPriv); - - if (!atic->backend_funcs.enable(pScreen)) - return FALSE; - - if ((atic->reg_base == NULL) && !ATIMapReg(pScreenPriv->screen->card, - atic)) - return FALSE; - - ATISetOffscreen (pScreenPriv->screen); - - ATISetPitch (pScreenPriv->screen); - - return TRUE; -} - -static void -ATIDisable(ScreenPtr pScreen) -{ - KdScreenPriv(pScreen); -#if defined(USE_DRI) && defined(GLXEXT) - ATIScreenInfo(pScreenPriv); -#endif /* USE_DRI && GLXEXT */ - ATICardInfo(pScreenPriv); - - ATIUnmapReg(pScreenPriv->card, atic); - - atic->backend_funcs.disable(pScreen); -} - -static void -ATIGetColors(ScreenPtr pScreen, int fb, int n, xColorItem *pdefs) -{ - KdScreenPriv(pScreen); - ATICardInfo(pScreenPriv); - - atic->backend_funcs.getColors(pScreen, fb, n, pdefs); -} - -static void -ATIPutColors(ScreenPtr pScreen, int fb, int n, xColorItem *pdefs) -{ - KdScreenPriv(pScreen); - ATICardInfo(pScreenPriv); - - atic->backend_funcs.putColors(pScreen, fb, n, pdefs); -} - -/* Compute log base 2 of val. */ -int -ATILog2(int val) -{ - int bits; - - for (bits = 0; val != 0; val >>= 1, ++bits) - ; - return bits - 1; -} - -static Bool -ATIIsAGP(ATICardInfo *atic) -{ - char *mmio = atic->reg_base; - CARD32 cap_ptr, cap_id; - - if (mmio == NULL) - return FALSE; - - if (MMIO_IN32(mmio, ATI_REG_PCI_CFG_STATUS) & ATI_CAP_LIST) { - cap_ptr = MMIO_IN32(mmio, ATI_REG_PCI_CFG_CAPABILITIES_PTR) & - ATI_CAP_PTR_MASK; - while (cap_ptr != ATI_CAP_ID_NULL) { - cap_id = MMIO_IN32(mmio, ATI_PCI_CFG_OFFSET + cap_ptr); - if ((cap_id & 0xff) == ATI_CAP_ID_AGP) - return TRUE; - cap_ptr = (cap_id >> 8) & ATI_CAP_PTR_MASK; - } - } - - return FALSE; -} - -/* This function is required to work around a hardware bug in some (all?) - * revisions of the R300. This workaround should be called after every - * CLOCK_CNTL_INDEX register access. If not, register reads afterward - * may not be correct. - */ -void R300CGWorkaround(ATIScreenInfo *atis) { - ATICardInfo *atic = atis->atic; - char *mmio = atic->reg_base; - CARD32 save; - - save = MMIO_IN32(mmio, ATI_REG_CLOCK_CNTL_INDEX); - MMIO_OUT32(mmio, ATI_REG_CLOCK_CNTL_INDEX, save & ~(0x3f | - ATI_PLL_WR_EN)); - MMIO_IN32(mmio, ATI_REG_CLOCK_CNTL_INDEX); - MMIO_OUT32(mmio, ATI_REG_CLOCK_CNTL_INDEX, save); -} - -KdCardFuncs ATIFuncs = { - ATICardInit, /* cardinit */ - ATIScreenInit, /* scrinit */ - ATIInitScreen, /* initScreen */ - ATIFinishInitScreen, /* finishInitScreen */ - ATICreateResources, /* createRes */ - ATIPreserve, /* preserve */ - ATIEnable, /* enable */ - ATIDPMS, /* dpms */ - ATIDisable, /* disable */ - ATIRestore, /* restore */ - ATIScreenFini, /* scrfini */ - ATICardFini, /* cardfini */ - - ATICursorInit, /* initCursor */ - ATICursorEnable, /* enableCursor */ - ATICursorDisable, /* disableCursor */ - ATICursorFini, /* finiCursor */ - ATIRecolorCursor, /* recolorCursor */ - - ATIDrawInit, /* initAccel */ - ATIDrawEnable, /* enableAccel */ - ATIDrawDisable, /* disableAccel */ - ATIDrawFini, /* finiAccel */ - - ATIGetColors, /* getColors */ - ATIPutColors, /* putColors */ -}; diff --git a/xorg-server/hw/kdrive/ati/ati.h b/xorg-server/hw/kdrive/ati/ati.h deleted file mode 100644 index 3ff3e3ff3..000000000 --- a/xorg-server/hw/kdrive/ati/ati.h +++ /dev/null @@ -1,409 +0,0 @@ -/* - * Copyright © 2003 Eric Anholt - * - * 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. - */ - -#ifndef _ATI_H_ -#define _ATI_H_ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#ifdef KDRIVEFBDEV -#include -#endif -#ifdef KDRIVEVESA -#include -#endif - -#include "kxv.h" - -#undef XF86DRI -#ifdef XF86DRI -#define USE_DRI -#include "xf86drm.h" -#include "dri.h" -#ifdef GLXEXT -#include "GL/glxint.h" -#include "GL/glxtokens.h" -#include "ati_dripriv.h" -#endif -#endif - -#define ATI_REG_BASE(c) ((c)->attr.address[1]) -#define ATI_REG_SIZE(c) (0x4000) - -#ifdef __powerpc__ - -static __inline__ void -MMIO_OUT32(__volatile__ void *base, const unsigned long offset, - const unsigned int val) -{ - __asm__ __volatile__( - "stwbrx %1,%2,%3\n\t" - "eieio" - : "=m" (*((volatile unsigned char *)base+offset)) - : "r" (val), "b" (base), "r" (offset)); -} - -static __inline__ CARD32 -MMIO_IN32(__volatile__ void *base, const unsigned long offset) -{ - register unsigned int val; - __asm__ __volatile__( - "lwbrx %0,%1,%2\n\t" - "eieio" - : "=r" (val) - : "b" (base), "r" (offset), - "m" (*((volatile unsigned char *)base+offset))); - return val; -} - -#else - -#define MMIO_OUT32(mmio, a, v) (*(VOL32 *)((mmio) + (a)) = (v)) -#define MMIO_IN32(mmio, a) (*(VOL32 *)((mmio) + (a))) - -#endif - -#define MMIO_OUT8(mmio, a, v) (*(VOL8 *)((mmio) + (a)) = (v)) -#define MMIO_IN8(mmio, a, v) (*(VOL8 *)((mmio) + (a))) - -#define INPLL(mmio, addr) \ - (MMIO_OUT8(mmio, ATI_REG_CLOCK_CNTL_INDEX, addr), \ - MMIO_IN32(mmio, ATI_REG_CLOCK_CNTL_DATA)) - -#define OUTPLL(mmio, addr, val) do { \ - MMIO_OUT8(mmio, ATI_REG_CLOCK_CNTL_INDEX, (addr) | ATI_PLL_WR_EN); \ - MMIO_OUT32(mmio, ATI_REG_CLOCK_CNTL_DATA, val); \ -} while (0) - -typedef volatile CARD8 VOL8; -typedef volatile CARD16 VOL16; -typedef volatile CARD32 VOL32; - -struct pci_id_entry { - CARD16 vendor; - CARD16 device; - CARD8 caps; - char *name; -}; - -struct backend_funcs { - void (*cardfini)(KdCardInfo *); - void (*scrfini)(KdScreenInfo *); - Bool (*initScreen)(ScreenPtr); - Bool (*finishInitScreen)(ScreenPtr pScreen); - Bool (*createRes)(ScreenPtr); - void (*preserve)(KdCardInfo *); - void (*restore)(KdCardInfo *); - Bool (*dpms)(ScreenPtr, int); - Bool (*enable)(ScreenPtr); - void (*disable)(ScreenPtr); - void (*getColors)(ScreenPtr, int, int, xColorItem *); - void (*putColors)(ScreenPtr, int, int, xColorItem *); -#ifdef RANDR - Bool (*randrSetConfig) (ScreenPtr, Rotation, int, RRScreenSizePtr); -#endif -}; - -typedef struct _ATICardInfo { - union { -#ifdef KDRIVEFBDEV - FbdevPriv fbdev; -#endif -#ifdef KDRIVEVESA - VesaCardPrivRec vesa; -#endif - } backend_priv; - struct backend_funcs backend_funcs; - - struct pci_id_entry *pci_id; - char *reg_base; - Bool is_radeon; - Bool is_r100; - Bool is_r200; - Bool is_r300; - Bool is_agp; - char *busid; - CARD32 crtc_pitch; - CARD32 crtc2_pitch; -#ifdef USE_DRI - int drmFd; -#endif /* USE_DRI */ - Bool use_fbdev, use_vesa; -} ATICardInfo; - -#define getATICardInfo(kd) ((ATICardInfo *) ((kd)->card->driver)) -#define ATICardInfo(kd) ATICardInfo *atic = getATICardInfo(kd) - -typedef struct _ATICursor { - int width, height; - int xhot, yhot; - - Bool has_cursor; - CursorPtr pCursor; - Pixel source, mask; - KdOffscreenArea *area; -} ATICursor; - -typedef struct _ATIPortPriv { - int brightness; - int saturation; - RegionRec clip; - CARD32 size; - KdOffscreenArea *off_screen; - DrawablePtr pDraw; - PixmapPtr pPixmap; - - CARD32 src_offset; - CARD32 src_pitch; - CARD8 *src_addr; - - int id; - int src_x1, src_y1, src_x2, src_y2; - int dst_x1, dst_y1, dst_x2, dst_y2; - int src_w, src_h, dst_w, dst_h; -} ATIPortPrivRec, *ATIPortPrivPtr; - -typedef struct _dmaBuf { - int size; - int used; - void *address; -#ifdef USE_DRI - drmBufPtr drmBuf; -#endif -} dmaBuf; - -typedef struct _ATIScreenInfo { - union { -#ifdef KDRIVEFBDEV - FbdevScrPriv fbdev; -#endif -#ifdef KDRIVEVESA - VesaScreenPrivRec vesa; -#endif - } backend_priv; - KaaScreenInfoRec kaa; - - ATICardInfo *atic; - KdScreenInfo *screen; - - int scratch_offset; - int scratch_next; - KdOffscreenArea *scratch_area; - - ATICursor cursor; - - KdVideoAdaptorPtr pAdaptor; - int num_texture_ports; - - Bool using_pio; /* If we use decode DMA packets to MMIO. */ - Bool using_pseudo; /* If we use MMIO to submit DMA packets. */ - Bool using_dma; /* If we use non-DRI DMA to submit packets. */ - Bool using_dri; /* If we use the DRM for DMA. */ - Bool using_agp; /* If we are using AGP or not for DMA. */ - - KdOffscreenArea *dma_space; /* For "DMA" from framebuffer. */ - void *agp_addr; /* Mapped AGP aperture */ - int agp_size; - int agp_key; /* Key of AGP memory for DMA */ - CARD32 *ring_addr; /* Beginning of ring buffer. */ - int ring_write; /* Index of write ptr in ring. */ - int ring_read; /* Index of read ptr in ring. */ - int ring_len; - - - dmaBuf *indirectBuffer; - int indirectStart; - - int mmio_avail; - int cce_pri_size; - int cce_pri_avail; - -#ifdef USE_DRI - Bool dma_started; - - drmSize registerSize; - drmHandle registerHandle; - drmHandle fbHandle; - - drmSize gartSize; - drmHandle agpMemHandle; /* Handle from drmAgpAlloc */ - unsigned long gartOffset; - unsigned char *AGP; /* Map */ - int agpMode; - drmSize pciSize; - drmHandle pciMemHandle; - - /* ring buffer data */ - unsigned long ringStart; /* Offset into AGP space */ - drmHandle ringHandle; /* Handle from drmAddMap */ - drmSize ringMapSize; /* Size of map */ - int ringSize; /* Size of ring (MB) */ - unsigned char *ring; /* Map */ - - unsigned long ringReadOffset; /* Offset into AGP space */ - drmHandle ringReadPtrHandle; /* Handle from drmAddMap */ - drmSize ringReadMapSize; /* Size of map */ - unsigned char *ringReadPtr; /* Map */ - - /* vertex/indirect buffer data */ - unsigned long bufStart; /* Offset into AGP space */ - drmHandle bufHandle; /* Handle from drmAddMap */ - drmSize bufMapSize; /* Size of map */ - int bufSize; /* Size of buffers (MB) */ - unsigned char *buf; /* Map */ - int bufNumBufs; /* Number of buffers */ - drmBufMapPtr buffers; /* Buffer map */ - - /* AGP Texture data */ - unsigned long gartTexStart; /* Offset into AGP space */ - drmHandle gartTexHandle; /* Handle from drmAddMap */ - drmSize gartTexMapSize; /* Size of map */ - int gartTexSize; /* Size of AGP tex space (MB) */ - unsigned char *gartTex; /* Map */ - int log2GARTTexGran; - - int DMAusecTimeout; /* CCE timeout in usecs */ - - /* DRI screen private data */ - int frontOffset; - int frontPitch; - int backOffset; - int backPitch; - int depthOffset; - int depthPitch; - int spanOffset; - int textureOffset; - int textureSize; - int log2TexGran; - - int irqEnabled; - - int serverContext; - - DRIInfoPtr pDRIInfo; -#ifdef GLXEXT - int numVisualConfigs; - __GLXvisualConfig *pVisualConfigs; - ATIConfigPrivPtr pVisualConfigsPriv; -#endif /* GLXEXT */ -#endif /* USE_DRI */ -} ATIScreenInfo; - -#define getATIScreenInfo(kd) ((ATIScreenInfo *) ((kd)->screen->driver)) -#define ATIScreenInfo(kd) ATIScreenInfo *atis = getATIScreenInfo(kd) - -typedef union { float f; CARD32 i; } fi_type; - -/* Surely there's a better way to go about this */ -static inline CARD32 -ATIFloatAsInt(float val) -{ - fi_type fi; - - fi.f = val; - return fi.i; -} - -#define GET_FLOAT_BITS(x) ATIFloatAsInt(x) - -/* ati.c */ -Bool -ATIMapReg(KdCardInfo *card, ATICardInfo *atic); - -void -ATIUnmapReg(KdCardInfo *card, ATICardInfo *atic); - -void -R300CGWorkaround(ATIScreenInfo *atis); - -/* ati_draw.c */ -void -ATIDrawSetup(ScreenPtr pScreen); - -Bool -ATIDrawInit(ScreenPtr pScreen); - -void -ATIDrawEnable(ScreenPtr pScreen); - -void -ATIDrawDisable(ScreenPtr pScreen); - -void -ATIDrawFini(ScreenPtr pScreen); - -/* ati_dri.c */ -#ifdef USE_DRI -Bool -ATIDRIScreenInit(ScreenPtr pScreen); - -void -ATIDRICloseScreen(ScreenPtr pScreen); - -void -ATIDRIDMAStart(ATIScreenInfo *atis); - -void -ATIDRIDMAStop(ATIScreenInfo *atis); - -void -ATIDRIDMAReset(ATIScreenInfo *atis); - -void -ATIDRIDispatchIndirect(ATIScreenInfo *atis, Bool discard); - -drmBufPtr -ATIDRIGetBuffer(ATIScreenInfo *atis); - -#endif /* USE_DRI */ - -/* ati_cursor.c */ -Bool -ATICursorInit(ScreenPtr pScreen); - -void -ATICursorEnable(ScreenPtr pScreen); - -void -ATICursorDisable(ScreenPtr pScreen); - -void -ATICursorFini(ScreenPtr pScreen); - -void -ATIRecolorCursor(ScreenPtr pScreen, int ndef, xColorItem *pdef); - -int -ATILog2(int val); - -/* ati_video.c */ -Bool -ATIInitVideo(ScreenPtr pScreen); - -void -ATIFiniVideo(ScreenPtr pScreen); - -extern KdCardFuncs ATIFuncs; - -#endif /* _ATI_H_ */ diff --git a/xorg-server/hw/kdrive/ati/ati_cursor.c b/xorg-server/hw/kdrive/ati/ati_cursor.c deleted file mode 100644 index d2ce686df..000000000 --- a/xorg-server/hw/kdrive/ati/ati_cursor.c +++ /dev/null @@ -1,559 +0,0 @@ -/* - * Copyright © 2004 Eric Anholt - * - * 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. - */ - -#ifdef HAVE_CONFIG_H -#include -#endif -#include "ati.h" -#include "ati_reg.h" -#include "cursorstr.h" -#include "ati_draw.h" - -static void -ATIMoveCursor(ScreenPtr pScreen, int x, int y) -{ - KdScreenPriv(pScreen); - ATICardInfo(pScreenPriv); - ATIScreenInfo(pScreenPriv); - ATICursor *pCurPriv = &atis->cursor; - CARD16 xoff, yoff; - char *mmio = atic->reg_base; - int stride = atic->is_radeon ? 256 : 16; - - if (!pCurPriv->has_cursor) - return; - - if (!pScreenPriv->enabled) - return; - - x -= pCurPriv->xhot; - xoff = 0; - if (x < 0) { - xoff = -x; - x = 0; - } - y -= pCurPriv->yhot; - yoff = 0; - if (y < 0) { - yoff = -y; - y = 0; - } - - MMIO_OUT32(mmio, ATI_REG_CUR_HORZ_VERT_OFF, ATI_CUR_LOCK | - (xoff << 16) | yoff); - MMIO_OUT32(mmio, ATI_REG_CUR_HORZ_VERT_POSN, ATI_CUR_LOCK | - (x << 16) | y); - MMIO_OUT32(mmio, ATI_REG_CUR_OFFSET, (pCurPriv->area->offset + yoff * - stride)); -} - -static void -ClassicAllocCursorColors(ScreenPtr pScreen) -{ - KdScreenPriv(pScreen); - ATIScreenInfo(pScreenPriv); - ATICursor *pCurPriv = &atis->cursor; - CursorPtr pCursor = pCurPriv->pCursor; - - KdAllocateCursorPixels(pScreen, 0, pCursor, &pCurPriv->source, - &pCurPriv->mask); - switch (pScreenPriv->screen->fb[0].bitsPerPixel) { - case 4: - pCurPriv->source |= pCurPriv->source << 4; - pCurPriv->mask |= pCurPriv->mask << 4; - /* FALLTHROUGH */ - case 8: - pCurPriv->source |= pCurPriv->source << 8; - pCurPriv->mask |= pCurPriv->mask << 8; - /* FALLTHROUGH */ - case 16: - pCurPriv->source |= pCurPriv->source << 16; - pCurPriv->mask |= pCurPriv->mask << 16; - } -} - -static void -ClassicSetCursorColors(ScreenPtr pScreen) -{ - KdScreenPriv(pScreen); - ATICardInfo(pScreenPriv); - ATIScreenInfo(pScreenPriv); - ATICursor *pCurPriv = &atis->cursor; - char *mmio = atic->reg_base; - - MMIO_OUT32(mmio, ATI_REG_CUR_CLR0, pCurPriv->mask); - MMIO_OUT32(mmio, ATI_REG_CUR_CLR1, pCurPriv->source); -} - -static void -ClassicRecolorCursor(ScreenPtr pScreen, int ndef, xColorItem *pdef) -{ - KdScreenPriv(pScreen); - ATIScreenInfo(pScreenPriv); - ATICursor *pCurPriv = &atis->cursor; - CursorPtr pCursor = pCurPriv->pCursor; - - if (!pCurPriv->has_cursor || !pCursor) - return; - - if (!pScreenPriv->enabled) - return; - - if (pdef) { - while (ndef != 0) { - if (pdef->pixel == pCurPriv->source || - pdef->pixel == pCurPriv->mask) - break; - ndef--; - } - - if (ndef == 0) - return; - } - ClassicAllocCursorColors(pScreen); - ClassicSetCursorColors(pScreen); -} - -#define InvertBits32(v) do { \ - v = ((v & 0x55555555) << 1) | ((v >> 1) & 0x55555555); \ - v = ((v & 0x33333333) << 2) | ((v >> 2) & 0x33333333); \ - v = ((v & 0x0f0f0f0f) << 4) | ((v >> 4) & 0x0f0f0f0f); \ -} while (0) - -static void -ClassicLoadCursor(ScreenPtr pScreen) -{ - KdScreenPriv(pScreen); - ATICardInfo(pScreenPriv); - ATIScreenInfo(pScreenPriv); - ATICursor *pCurPriv = &atis->cursor; - CursorPtr pCursor = pCurPriv->pCursor; - CursorBitsPtr bits = pCursor->bits; - int h; - CARD32 *ram, *msk, *mskLine, *src, *srcLine; - int i; - int lwsrc; - CARD32 tmp; - char *mmio = atic->reg_base; - - ClassicAllocCursorColors(pScreen); - - pCurPriv->pCursor = pCursor; - pCurPriv->xhot = pCursor->bits->xhot; - pCurPriv->yhot = pCursor->bits->yhot; - - /* Stick new image into cursor memory */ - ram = (CARD32 *)(pScreenPriv->screen->memory_base + - pCurPriv->area->offset); - mskLine = (CARD32 *)bits->mask; - srcLine = (CARD32 *)bits->source; - - h = bits->height; - if (h > ATI_CURSOR_HEIGHT) - h = ATI_CURSOR_HEIGHT; - - lwsrc = BitmapBytePad(bits->width) / 4; /* words per line */ - - tmp = MMIO_IN32(mmio, ATI_REG_GEN_CNTL); - MMIO_OUT32(mmio, ATI_REG_GEN_CNTL, tmp & ~ATI_CRTC_CUR_EN); - - for (i = 0; i < ATI_CURSOR_HEIGHT; i++) { - CARD32 m1, m2, s1, s2; - - msk = mskLine; - src = srcLine; - mskLine += lwsrc; - srcLine += lwsrc; - - if (i < h && 0 < lwsrc) { - m1 = ~*msk++; - s1 = *src++; - InvertBits32(m1); - InvertBits32(s1); - } else { - m1 = 0xffffffff; - s1 = 0x0; - } - if (i < h && 1 < lwsrc) { - m2 = ~*msk++; - s2 = *src++; - InvertBits32(m2); - InvertBits32(s2); - } else { - m2 = 0xffffffff; - s2 = 0x0; - } - - *ram++ = m1; - *ram++ = m2; - *ram++ = s1; - *ram++ = s2; - } - - /* Not sure why this is necessary, but it prevents some cursor - * corruption. Not even all of it. - */ - for (i = 0; i < ATI_CURSOR_HEIGHT; i++) { - *ram++ = 0xffffffff; - *ram++ = 0xffffffff; - *ram++ = 0x0; - *ram++ = 0x0; - } - - /* Enable the cursor */ - tmp = MMIO_IN32(mmio, ATI_REG_GEN_CNTL); - MMIO_OUT32(mmio, ATI_REG_GEN_CNTL, tmp | ATI_CRTC_CUR_EN); - - /* Set new color */ - ClassicSetCursorColors(pScreen); - -} - -static void -RadeonLoadCursor(ScreenPtr pScreen) -{ - KdScreenPriv(pScreen); - ATICardInfo(pScreenPriv); - ATIScreenInfo(pScreenPriv); - ATICursor *pCurPriv = &atis->cursor; - CursorPtr pCursor = pCurPriv->pCursor; - CursorBitsPtr bits = pCursor->bits; - int h, w; - int x, y; - CARD32 *ram, *msk, *mskLine, *src, *srcLine; - int lwsrc; - CARD32 tmp; - char *mmio = atic->reg_base; - - pCurPriv->pCursor = pCursor; - pCurPriv->xhot = pCursor->bits->xhot; - pCurPriv->yhot = pCursor->bits->yhot; - - w = bits->width; - if (w > ATI_CURSOR_WIDTH) - w = ATI_CURSOR_WIDTH; - - h = bits->height; - if (h > ATI_CURSOR_HEIGHT) - h = ATI_CURSOR_HEIGHT; - - tmp = MMIO_IN32(mmio, 0x7c); - tmp = 0x00010f80; - MMIO_OUT32 (mmio, 0x7c, tmp); - - tmp = MMIO_IN32(mmio, ATI_REG_GEN_CNTL); - tmp &= ~(ATI_CRTC_CUR_EN | ATI_CRTC_ICON_EN | ATI_CRTC_ARGB_EN); - MMIO_OUT32(mmio, ATI_REG_GEN_CNTL, tmp); - - /* Stick new image into cursor memory */ - ram = (CARD32 *)(pScreenPriv->screen->memory_base + - pCurPriv->area->offset); - if (pCursor->bits->argb) - { - srcLine = pCursor->bits->argb; - for (y = 0; y < h; y++) - { - src = srcLine; - srcLine += pCursor->bits->width; - for (x = 0; x < w; x++) - *ram++ = *src++; - for (; x < ATI_CURSOR_WIDTH; x++) - *ram++ = 0; - } - for (; y < ATI_CURSOR_HEIGHT; y++) - for (x = 0; x < ATI_CURSOR_WIDTH; x++) - *ram++ = 0; - } - else - { - CARD32 colors[4]; - - colors[0] = 0; - colors[1] = 0; - colors[2] = (((pCursor->backRed >> 8) << 16) | - ((pCursor->backGreen >> 8) << 8) | - ((pCursor->backBlue >> 8) << 0) | - 0xff000000); - colors[3] = (((pCursor->foreRed >> 8) << 16) | - ((pCursor->foreGreen >> 8) << 8) | - ((pCursor->foreBlue >> 8) << 0) | - 0xff000000); - - mskLine = (CARD32 *)bits->mask; - srcLine = (CARD32 *)bits->source; - - /* words per line */ - lwsrc = BitmapBytePad(bits->width) / 4; - - for (y = 0; y < ATI_CURSOR_HEIGHT; y++) - { - CARD32 m, s; - - msk = mskLine; - src = srcLine; - mskLine += lwsrc; - srcLine += lwsrc; - - for (x = 0; x < ATI_CURSOR_WIDTH / 32; x++) - { - int k; - if (y < h && x < lwsrc) - { - m = *msk++; - s = *src++; - } - else - { - m = 0x0; - s = 0x0; - } - - for (k = 0; k < 32; k++) - { - CARD32 bits = (s & 1) | ((m & 1) << 1); - *ram++ = colors[bits]; - s >>= 1; - m >>= 1; - } - } - } - } - - /* Enable the cursor */ - tmp &= ~(ATI_CRTC_ICON_EN); - tmp |= ATI_CRTC_ARGB_EN; - tmp |= ATI_CRTC_CUR_EN; - MMIO_OUT32(mmio, ATI_REG_GEN_CNTL, tmp); -} - -static void -ATIUnloadCursor(ScreenPtr pScreen) -{ - KdScreenPriv(pScreen); - ATICardInfo(pScreenPriv); - char *mmio = atic->reg_base; - CARD32 tmp; - - tmp = MMIO_IN32(mmio, ATI_REG_GEN_CNTL); - tmp &= ~(ATI_CRTC_CUR_EN | ATI_CRTC_ICON_EN | ATI_CRTC_ARGB_EN); - MMIO_OUT32(mmio, ATI_REG_GEN_CNTL, tmp); -} - -static Bool -ATIRealizeCursor(ScreenPtr pScreen, CursorPtr pCursor) -{ - KdScreenPriv(pScreen); - ATICardInfo(pScreenPriv); - ATIScreenInfo(pScreenPriv); - ATICursor *pCurPriv = &atis->cursor; - - if (!pScreenPriv->enabled) - return TRUE; - - /* miRecolorCursor does this */ - if (pCursor && pCurPriv->pCursor == pCursor) - { - int x, y; - - miPointerPosition(&x, &y); - if (atic->is_radeon) - RadeonLoadCursor (pScreen); - else - ClassicLoadCursor(pScreen); - /* Move to new position */ - ATIMoveCursor(pScreen, x, y); - } - - return TRUE; -} - -static Bool -ATIUnrealizeCursor(ScreenPtr pScreen, CursorPtr pCursor) -{ - return TRUE; -} - -static void -ATISetCursor(ScreenPtr pScreen, CursorPtr pCursor, int x, int y) -{ - KdScreenPriv(pScreen); - ATICardInfo(pScreenPriv); - ATIScreenInfo(pScreenPriv); - ATICursor *pCurPriv = &atis->cursor; - - pCurPriv->pCursor = pCursor; - - if (!pScreenPriv->enabled) - return; - - if (pCursor) - { - if (atic->is_radeon) - RadeonLoadCursor (pScreen); - else - ClassicLoadCursor(pScreen); - /* Move to new position */ - ATIMoveCursor(pScreen, x, y); - } - else - ATIUnloadCursor(pScreen); -} - -miPointerSpriteFuncRec ATIPointerSpriteFuncs = { - ATIRealizeCursor, - ATIUnrealizeCursor, - ATISetCursor, - ATIMoveCursor, -}; - -static void -ATIQueryBestSize(int class, unsigned short *pwidth, unsigned short *pheight, - ScreenPtr pScreen) -{ - KdScreenPriv(pScreen); - ATIScreenInfo(pScreenPriv); - ATICursor *pCurPriv = &atis->cursor; - - switch (class) - { - case CursorShape: - if (*pwidth > pCurPriv->width) - *pwidth = pCurPriv->width; - if (*pheight > pCurPriv->height) - *pheight = pCurPriv->height; - if (*pwidth > pScreen->width) - *pwidth = pScreen->width; - if (*pheight > pScreen->height) - *pheight = pScreen->height; - break; - default: - fbQueryBestSize(class, pwidth, pheight, pScreen); - break; - } -} - -static void -ATICursorSave(ScreenPtr pScreen, KdOffscreenArea *area) -{ - KdScreenPriv(pScreen); - ATIScreenInfo(pScreenPriv); - ATICursor *pCurPriv = &atis->cursor; - - pCurPriv->area = NULL; -} - -void -ATICursorEnable(ScreenPtr pScreen) -{ - KdScreenPriv(pScreen); - ATICardInfo(pScreenPriv); - ATIScreenInfo(pScreenPriv); - ATICursor *pCurPriv = &atis->cursor; - - if (!pCurPriv->has_cursor) - return; - - if (pCurPriv->area == NULL) { - if (atic->is_radeon) - pCurPriv->area = KdOffscreenAlloc(pScreen, - ATI_CURSOR_HEIGHT * ATI_CURSOR_WIDTH * 4, - 128, TRUE, ATICursorSave, atis); - else - pCurPriv->area = KdOffscreenAlloc(pScreen, - ATI_CURSOR_HEIGHT * ATI_CURSOR_PITCH * 2, - 32, TRUE, ATICursorSave, atis); - } - if (pCurPriv->area == NULL) - FatalError("Couldn't allocate offscreen memory for cursor.\n"); - - if (pCurPriv->pCursor) { - int x, y; - - miPointerPosition(&x, &y); - if (atic->is_radeon) - RadeonLoadCursor(pScreen); - else - ClassicLoadCursor(pScreen); - /* Move to new position */ - ATIMoveCursor(pScreen, x, y); - } - else - ATIUnloadCursor(pScreen); -} - -void -ATICursorDisable(ScreenPtr pScreen) -{ - KdScreenPriv(pScreen); - ATIScreenInfo(pScreenPriv); - ATICursor *pCurPriv = &atis->cursor; - - if (!pScreenPriv->enabled || !pCurPriv->has_cursor) - return; - - if (pCurPriv->pCursor) - ATIUnloadCursor(pScreen); -} - -Bool -ATICursorInit(ScreenPtr pScreen) -{ - KdScreenPriv(pScreen); - ATICardInfo(pScreenPriv); - ATIScreenInfo(pScreenPriv); - ATICursor *pCurPriv = &atis->cursor; - - pCurPriv->has_cursor = FALSE; - - if (atic->reg_base == NULL) - return FALSE; - - pCurPriv->width = ATI_CURSOR_WIDTH; - pCurPriv->height= ATI_CURSOR_HEIGHT; - pScreen->QueryBestSize = ATIQueryBestSize; - miPointerInitialize(pScreen, &ATIPointerSpriteFuncs, - &kdPointerScreenFuncs, FALSE); - pCurPriv->has_cursor = TRUE; - pCurPriv->pCursor = NULL; - return TRUE; -} - -void -ATIRecolorCursor (ScreenPtr pScreen, int ndef, xColorItem *pdef) -{ - KdScreenPriv(pScreen); - ATICardInfo(pScreenPriv); - - if (!atic->is_radeon) - ClassicRecolorCursor (pScreen, ndef, pdef); -} - -void -ATICursorFini(ScreenPtr pScreen) -{ - KdScreenPriv(pScreen); - ATIScreenInfo(pScreenPriv); - ATICursor *pCurPriv = &atis->cursor; - - pCurPriv->has_cursor = FALSE; - pCurPriv->pCursor = NULL; -} diff --git a/xorg-server/hw/kdrive/ati/ati_dma.c b/xorg-server/hw/kdrive/ati/ati_dma.c deleted file mode 100644 index b97d79b25..000000000 --- a/xorg-server/hw/kdrive/ati/ati_dma.c +++ /dev/null @@ -1,1037 +0,0 @@ -/* - * Copyright © 2004 Eric Anholt - * - * 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. - */ - -#include - -#include "ati.h" -#include "ati_reg.h" -#include "ati_dma.h" -#include "ati_draw.h" - -#ifdef USE_DRI -#include "radeon_common.h" -#include "r128_common.h" -#include "ati_sarea.h" -#endif /* USE_DRI */ - -#include "agp.h" - -#define DEBUG_FIFO 0 - -extern CARD32 r128_cce_microcode[]; -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) -{ - ATICardInfo *atic = atis->atic; - char *mmio = atic->reg_base; - - if (atic->is_radeon) { - ErrorF("RADEON_REG_CP_CSQ_CNTL: 0x%08x\n", - MMIO_IN32(mmio, RADEON_REG_CP_CSQ_CNTL)); - ErrorF("RADEON_REG_CP_CSQ_STAT: 0x%08x\n", - MMIO_IN32(mmio, RADEON_REG_CP_CSQ_STAT)); - ErrorF("RADEON_REG_RBBM_STATUS: 0x%08x\n", - MMIO_IN32(mmio, RADEON_REG_RBBM_STATUS)); - ErrorF("RADEON_REG_RB3D_DSTCACHE_CTLSTAT: 0x%08x\n", - MMIO_IN32(mmio, RADEON_REG_RB3D_DSTCACHE_CTLSTAT)); - } else { - ErrorF("R128_REG_PM4_BUFFER_CNTL: 0x%08x\n", - MMIO_IN32(mmio, R128_REG_PM4_BUFFER_CNTL)); - ErrorF("R128_REG_PM4_STAT: 0x%08x\n", - MMIO_IN32(mmio, R128_REG_PM4_STAT)); - ErrorF("R128_REG_GUI_STAT: 0x%08x\n", - MMIO_IN32(mmio, R128_REG_GUI_STAT)); - ErrorF("R128_REG_PC_NGUI_CTLSTAT: 0x%08x\n", - MMIO_IN32(mmio, R128_REG_PC_NGUI_CTLSTAT)); - } -} -#endif - -static void -ATIUploadMicrocode(ATIScreenInfo *atis) -{ - ATICardInfo *atic = atis->atic; - char *mmio = atic->reg_base; - int i; - - MMIO_OUT32(mmio, ATI_REG_MICROCODE_RAM_ADDR, 0); - if (atic->is_radeon && atic->is_r300) { - for (i = 0; i < 256; i++) { - MMIO_OUT32(mmio, ATI_REG_MICROCODE_RAM_DATAH, - r300_cp_microcode[i][1]); - MMIO_OUT32(mmio, ATI_REG_MICROCODE_RAM_DATAL, - r300_cp_microcode[i][0]); - } - } else if (atic->is_radeon && atic->is_r200) { - for (i = 0; i < 256; i++) { - MMIO_OUT32(mmio, ATI_REG_MICROCODE_RAM_DATAH, - r200_cp_microcode[i][1]); - MMIO_OUT32(mmio, ATI_REG_MICROCODE_RAM_DATAL, - r200_cp_microcode[i][0]); - } - } else if (atic->is_radeon && atic->is_r100) { - for (i = 0; i < 256; i++) { - MMIO_OUT32(mmio, ATI_REG_MICROCODE_RAM_DATAH, - radeon_cp_microcode[i][1]); - MMIO_OUT32(mmio, ATI_REG_MICROCODE_RAM_DATAL, - radeon_cp_microcode[i][0]); - } - } else { - for (i = 0; i < 256; i++) { - MMIO_OUT32(mmio, ATI_REG_MICROCODE_RAM_DATAH, - r128_cce_microcode[i * 2]); - MMIO_OUT32(mmio, ATI_REG_MICROCODE_RAM_DATAL, - r128_cce_microcode[i * 2 + 1]); - } - } -} - -/* Required when reading from video memory after acceleration to make sure all - * data has been flushed to video memory from the pixel cache. - */ -static void -ATIFlushPixelCache(ATIScreenInfo *atis) -{ - ATICardInfo *atic = atis->atic; - char *mmio = atic->reg_base; - CARD32 temp; - TIMEOUT_LOCALS; - - if (atic->is_radeon) { - temp = MMIO_IN32(mmio, RADEON_REG_RB3D_DSTCACHE_CTLSTAT); - temp |= RADEON_RB3D_DC_FLUSH_ALL; - MMIO_OUT32(mmio, RADEON_REG_RB3D_DSTCACHE_CTLSTAT, temp); - - WHILE_NOT_TIMEOUT(.2) { - if ((MMIO_IN32(mmio, RADEON_REG_RB3D_DSTCACHE_CTLSTAT) & - RADEON_RB3D_DC_BUSY) == 0) - break; - } - } else { - temp = MMIO_IN32(mmio, R128_REG_PC_NGUI_CTLSTAT); - temp |= R128_PC_FLUSH_ALL; - MMIO_OUT32(mmio, R128_REG_PC_NGUI_CTLSTAT, temp); - - WHILE_NOT_TIMEOUT(.2) { - if ((MMIO_IN32(mmio, R128_REG_PC_NGUI_CTLSTAT) & - R128_PC_BUSY) != R128_PC_BUSY) - break; - } - } - if (TIMEDOUT()) - ErrorF("Timeout flushing pixel cache.\n"); -} - -static void -ATIEngineReset(ATIScreenInfo *atis) -{ - ATICardInfo *atic = atis->atic; - char *mmio = atic->reg_base; - CARD32 clockcntlindex, mclkcntl; - -#if DEBUG_FIFO - ErrorF("Engine Reset!\n"); - ATIDebugFifo(atis); -#endif - - ATIFlushPixelCache(atis); - - clockcntlindex = MMIO_IN32(mmio, ATI_REG_CLOCK_CNTL_INDEX); - if (atic->is_r300) - R300CGWorkaround(atis); - - if (atic->is_radeon) { - CARD32 host_path_cntl; - - mclkcntl = INPLL(mmio, RADEON_REG_MCLK_CNTL); - - OUTPLL(mmio, RADEON_REG_MCLK_CNTL, mclkcntl | - RADEON_FORCEON_MCLKA | - RADEON_FORCEON_MCLKB | - RADEON_FORCEON_YCLKA | - RADEON_FORCEON_YCLKB | - RADEON_FORCEON_MC | - RADEON_FORCEON_AIC); - - host_path_cntl = MMIO_IN32(mmio, RADEON_REG_HOST_PATH_CNTL); - - if (atic->is_r300) { - MMIO_OUT32(mmio, RADEON_REG_RBBM_SOFT_RESET, - RADEON_SOFT_RESET_CP | - RADEON_SOFT_RESET_HI | - RADEON_SOFT_RESET_E2); - } else { - MMIO_OUT32(mmio, RADEON_REG_RBBM_SOFT_RESET, - RADEON_SOFT_RESET_CP | - RADEON_SOFT_RESET_SE | - RADEON_SOFT_RESET_RE | - RADEON_SOFT_RESET_PP | - RADEON_SOFT_RESET_E2 | - RADEON_SOFT_RESET_RB); - } - MMIO_IN32(mmio, RADEON_REG_RBBM_SOFT_RESET); - MMIO_OUT32(mmio, RADEON_REG_RBBM_SOFT_RESET, 0); - - MMIO_OUT32(mmio, RADEON_REG_HOST_PATH_CNTL, host_path_cntl | - RADEON_HDP_SOFT_RESET); - MMIO_IN32(mmio, RADEON_REG_HOST_PATH_CNTL); - MMIO_OUT32(mmio, RADEON_REG_HOST_PATH_CNTL, host_path_cntl); - - MMIO_OUT32(mmio, ATI_REG_CLOCK_CNTL_INDEX, clockcntlindex); - OUTPLL(mmio, RADEON_REG_MCLK_CNTL, mclkcntl); - if (atic->is_r300) - R300CGWorkaround(atis); - } else { - CARD32 temp; - - mclkcntl = INPLL(mmio, R128_REG_MCLK_CNTL); - - OUTPLL(mmio, R128_REG_MCLK_CNTL, - mclkcntl | R128_FORCE_GCP | R128_FORCE_PIPE3D_CP); - - temp = MMIO_IN32(mmio, R128_REG_GEN_RESET_CNTL); - MMIO_OUT32(mmio, R128_REG_GEN_RESET_CNTL, - temp | R128_SOFT_RESET_GUI); - temp = MMIO_IN32(mmio, R128_REG_GEN_RESET_CNTL); - MMIO_OUT32(mmio, R128_REG_GEN_RESET_CNTL, - temp & ~R128_SOFT_RESET_GUI); - temp = MMIO_IN32(mmio, R128_REG_GEN_RESET_CNTL); - - OUTPLL(mmio, R128_REG_MCLK_CNTL, mclkcntl); - MMIO_OUT32(mmio, ATI_REG_CLOCK_CNTL_INDEX, clockcntlindex); - } -#ifdef USE_DRI - if (atis->using_dri) { - ATIDRIDMAReset(atis); - ATIDRIDMAStart(atis); - } -#endif -} - -static void -ATIWaitAvailMMIO(ATIScreenInfo *atis, int n) -{ - ATICardInfo *atic = atis->atic; - char *mmio = atic->reg_base; - TIMEOUT_LOCALS; - - if (atis->mmio_avail >= n) { - atis->mmio_avail -= n; - return; - } - if (atic->is_radeon) { - WHILE_NOT_TIMEOUT(.2) { - atis->mmio_avail = MMIO_IN32(mmio, - RADEON_REG_RBBM_STATUS) & RADEON_RBBM_FIFOCNT_MASK; - if (atis->mmio_avail >= n) - break; - } - } else { - WHILE_NOT_TIMEOUT(.2) { - atis->mmio_avail = MMIO_IN32(mmio, R128_REG_GUI_STAT) & - 0xfff; - if (atis->mmio_avail >= n) - break; - } - } - if (TIMEDOUT()) { - ErrorF("Timeout waiting for %d MMIO slots.\n", n); - ATIEngineReset(atis); - ATIDrawSetup(atis->screen->pScreen); - } - atis->mmio_avail -= n; -} - -static int -ATIGetAvailPrimary(ATIScreenInfo *atis) -{ - ATICardInfo *atic = atis->atic; - char *mmio = atic->reg_base; - - if (atic->is_radeon) { - int csq_stat, diff; - - csq_stat = MMIO_IN32(mmio, RADEON_REG_CP_CSQ_STAT); - if (atic->is_r200) - diff = ((csq_stat & R200_CSQ_WPTR_PRIMARY_MASK) >> 9) - - (csq_stat & R200_CSQ_RPTR_PRIMARY_MASK); - else - diff = ((csq_stat & RADEON_CSQ_WPTR_PRIMARY_MASK) >> 8) - - (csq_stat & RADEON_CSQ_RPTR_PRIMARY_MASK); - - if (diff < 0) - return -diff; - else - return atis->cce_pri_size - diff; - } else { - return MMIO_IN32(mmio, R128_REG_PM4_STAT) & - R128_PM4_FIFOCNT_MASK; - } -} - -static void -ATIWaitAvailPrimary(ATIScreenInfo *atis, int n) -{ - TIMEOUT_LOCALS; - - if (atis->cce_pri_avail >= n) { - atis->cce_pri_avail -= n; - return; - } - - WHILE_NOT_TIMEOUT(.2) { - if (atis->cce_pri_avail >= n) - break; - atis->cce_pri_avail = ATIGetAvailPrimary(atis); - if (atis->cce_pri_avail >= n) - break; - } - if (TIMEDOUT()) { - ErrorF("Timeout waiting for %d CCE slots (%d avail).\n", n, - atis->cce_pri_avail); - ATIEngineReset(atis); - ATIDrawSetup(atis->screen->pScreen); - } - atis->cce_pri_avail -= n; -} - -void -ATIWaitIdle(ATIScreenInfo *atis) -{ - ATICardInfo *atic = atis->atic; - char *mmio = atic->reg_base; - TIMEOUT_LOCALS; - - if (atis->indirectBuffer != NULL) - ATIFlushIndirect(atis, 0); - -#ifdef USE_DRI - if (atis->using_dri) { - int ret = 0; - int cmd = (atic->is_radeon ? DRM_RADEON_CP_IDLE : - DRM_R128_CCE_IDLE); - WHILE_NOT_TIMEOUT(2) { - ret = drmCommandNone(atic->drmFd, cmd); - if (ret != -EBUSY) - break; - } - if (TIMEDOUT()) { - ATIDebugFifo(atis); - FatalError("Timed out idling CCE (card hung)\n"); - } - if (ret != 0) - ErrorF("Failed to idle DMA, returned %d\n", ret); - return; - } -#endif - - if (!atic->is_radeon && (atis->using_pseudo || atis->using_dma)) { - ATIWaitAvailPrimary(atis, atis->cce_pri_size); - - WHILE_NOT_TIMEOUT(.2) { - if ((MMIO_IN32(mmio, R128_REG_PM4_STAT) & - (R128_PM4_BUSY | R128_PM4_GUI_ACTIVE)) == 0) - break; - } - if (TIMEDOUT()) { - ErrorF("Timeout idling CCE, resetting...\n"); - ATIEngineReset(atis); - ATIDrawSetup(atis->screen->pScreen); - } - } - - /* Radeon CP idle is the same as MMIO idle. */ - if (atis->using_pio || atic->is_radeon) { - /* Empty the fifo */ - ATIWaitAvailMMIO(atis, 64); - - if (atic->is_radeon) { - WHILE_NOT_TIMEOUT(.2) { - if ((MMIO_IN32(mmio, RADEON_REG_RBBM_STATUS) & - RADEON_RBBM_ACTIVE) == 0) - break; - } - } else { - WHILE_NOT_TIMEOUT(.2) { - if ((MMIO_IN32(mmio, R128_REG_GUI_STAT) & - R128_GUI_ACTIVE) == 0) - break; - } - } - if (TIMEDOUT()) { - ErrorF("Timeout idling accelerator, resetting...\n"); - ATIEngineReset(atis); - ATIDrawSetup(atis->screen->pScreen); - } - } - - ATIFlushPixelCache(atis); - -#if DEBUG_FIFO - ErrorF("Idle?\n"); - ATIDebugFifo(atis); -#endif -} - -dmaBuf * -ATIGetDMABuffer(ATIScreenInfo *atis) -{ - dmaBuf *buf; - - buf = (dmaBuf *)xalloc(sizeof(dmaBuf)); - if (buf == NULL) - return NULL; - -#ifdef USE_DRI - if (atis->using_dri) { - buf->drmBuf = ATIDRIGetBuffer(atis); - if (buf->drmBuf == NULL) { - xfree(buf); - return NULL; - } - buf->size = buf->drmBuf->total; - buf->used = buf->drmBuf->used; - buf->address = buf->drmBuf->address; - return buf; - } -#endif /* USE_DRI */ - - if (atis->using_dma) - buf->size = atis->ring_len / 2; - else - buf->size = 512 * 1024; - buf->address = xalloc(buf->size); - if (buf->address == NULL) { - xfree(buf); - return NULL; - } - buf->used = 0; - - return buf; -} - -/* Decode a type-3 packet into MMIO register writes. Only some type-3 packets - * supported, and only partially. - */ -static void -ATIDispatchPacket3MMIO(ATIScreenInfo *atis, CARD32 header, CARD32 *addr, - int count) -{ - ATICardInfo *atic = atis->atic; - char *mmio = atic->reg_base; - CARD32 settings; - int i = 0; - - settings = addr[i++]; - - if ((settings & ATI_GMC_SRC_PITCH_OFFSET_CNTL) != 0) - MMIO_OUT32(mmio, ATI_REG_SRC_PITCH_OFFSET, addr[i++]); - if ((settings & ATI_GMC_DST_PITCH_OFFSET_CNTL) != 0) - MMIO_OUT32(mmio, ATI_REG_DST_PITCH_OFFSET, addr[i++]); - if ((settings & ATI_GMC_BRUSH_MASK) == ATI_GMC_BRUSH_SOLID_COLOR) - MMIO_OUT32(mmio, ATI_REG_DP_BRUSH_FRGD_CLR, addr[i++]); - - switch (header & (ATI_CCE_PACKETTYPE_MASK | - ATI_CCE_PACKET3_IT_OPCODE_MASK)) - { - case ATI_CCE_PACKET3_PAINT_MULTI: - while (i < count) { - MMIO_OUT32(mmio, ATI_REG_DST_Y_X, - (addr[i] >> 16) | (addr[i] << 16)); - i++; - MMIO_OUT32(mmio, ATI_REG_DST_HEIGHT_WIDTH, - (addr[i] >> 16) | (addr[i] << 16)); - i++; - } - break; - case ATI_CCE_PACKET3_BITBLT_MULTI: - while (i < count) { - MMIO_OUT32(mmio, ATI_REG_SRC_Y_X, - (addr[i] >> 16) | (addr[i] << 16)); - i++; - MMIO_OUT32(mmio, ATI_REG_DST_Y_X, - (addr[i] >> 16) | (addr[i] << 16)); - i++; - MMIO_OUT32(mmio, ATI_REG_DST_HEIGHT_WIDTH, - (addr[i] >> 16) | (addr[i] << 16)); - i++; - } - break; - default: - ErrorF("Unsupported packet: 0x%x\n", header); - } -} - -/* Dispatch packets by decoding them and writing to registers. Doesn't support - * the type 3 packets. - */ -static void -ATIDispatchIndirectMMIO(ATIScreenInfo *atis) -{ - ATICardInfo *atic = atis->atic; - dmaBuf *buf = atis->indirectBuffer; - char *mmio = atic->reg_base; - CARD32 *addr; - CARD32 reg; - int i, n, count; - - addr = (CARD32 *)((char *)buf->address + atis->indirectStart); - count = (buf->used - atis->indirectStart) / 4; - - for (i = 0; i < count; i++) { - CARD32 header = addr[i]; - - switch (header & ATI_CCE_PACKETTYPE_MASK) - { - case ATI_CCE_PACKET0: - n = ((header & ATI_CCE_PACKET0_COUNT_MASK) >> 16) + 1; - reg = (header & ATI_CCE_PACKET0_REG_MASK) << 2; - ATIWaitAvailMMIO(atis, n); - while (n > 0) { - i++; - MMIO_OUT32(mmio, reg, addr[i]); - if ((header & ATI_CCE_PACKET0_ONE_REG_WR) == 0) - reg += 4; - n--; - } - break; - case ATI_CCE_PACKET1: - reg = (header & ATI_CCE_PACKET1_REG_1) << 2; - MMIO_OUT32(mmio, reg, addr[++i]); - reg = ((header & ATI_CCE_PACKET1_REG_2) >> - ATI_CCE_PACKET1_REG_2_SHIFT) << 2; - MMIO_OUT32(mmio, reg, addr[++i]); - break; - case ATI_CCE_PACKET2: - /* PACKET2 is a no-op packet. */ - break; - case ATI_CCE_PACKET3: - n = ((header & ATI_CCE_PACKET3_COUNT_MASK) >> 16) + 1; - ATIDispatchPacket3MMIO(atis, header, &addr[i], n); - i += n; - break; - default: - ErrorF("Unsupported packet: 0x%x\n", addr[i]); - } - } -} - -/* Dispatch packets by sending them through the MMIO aperture. */ -static void -R128DispatchIndirectPDMA(ATIScreenInfo *atis) -{ - ATICardInfo *atic = atis->atic; - dmaBuf *buf = atis->indirectBuffer; - char *mmio = atic->reg_base; - CARD32 *addr; - int count; - - addr = (CARD32 *)((char *)buf->address + atis->indirectStart); - count = (buf->used - atis->indirectStart) / 4; - - while (count > 1) { - ATIWaitAvailPrimary(atis, 2); - MMIO_OUT32(mmio, R128_REG_PM4_FIFO_DATA_EVEN, *addr++); - MMIO_OUT32(mmio, R128_REG_PM4_FIFO_DATA_ODD, *addr++); - count -= 2; - } - - /* Submit last DWORD if necessary. */ - if (count != 0) { - ATIWaitAvailPrimary(atis, 2); - MMIO_OUT32(mmio, R128_REG_PM4_FIFO_DATA_EVEN, *addr++); - MMIO_OUT32(mmio, R128_REG_PM4_FIFO_DATA_ODD, ATI_CCE_PACKET2); - } -} - -/* Dispatch packets by sending them through the MMIO aperture, using the - * primary CCE ring. */ -static void -RadeonDispatchIndirectPDMA(ATIScreenInfo *atis) -{ - ATICardInfo *atic = atis->atic; - dmaBuf *buf = atis->indirectBuffer; - char *mmio = atic->reg_base; - CARD32 *addr; - int count, avail, reg, i; - TIMEOUT_LOCALS; - - addr = (CARD32 *)((char *)buf->address + atis->indirectStart); - count = (buf->used - atis->indirectStart) / 4; - - reg = RADEON_REG_CSQ_APER_PRIMARY; - WHILE_NOT_TIMEOUT(3) { - /* 3 seconds is empirical, using render_bench on an r100. */ - if (count <= 0) - break; - avail = ATIGetAvailPrimary(atis); - for (i = 0; i < min(count, avail); i++) { - MMIO_OUT32(mmio, reg, *addr++); - if (reg == RADEON_REG_CSQ_APER_PRIMARY_END) - reg = RADEON_REG_CSQ_APER_PRIMARY; - else - reg += 4; - } - count -= i; - } - if (TIMEDOUT()) { - ErrorF("Timeout submitting packets, resetting...\n"); - ATIEngineReset(atis); - ATIDrawSetup(atis->screen->pScreen); - } -} - - -/* Dispatch packets by writing them to the (primary) ring buffer, which happens - * to be in framebuffer memory. - */ -static void -R128DispatchIndirectDMA(ATIScreenInfo *atis) -{ - ATICardInfo *atic = atis->atic; - dmaBuf *buf = atis->indirectBuffer; - char *mmio = atic->reg_base; - CARD32 *addr; - int count, ring_count; - TIMEOUT_LOCALS; - - addr = (CARD32 *)((char *)buf->address + atis->indirectStart); - count = (buf->used - atis->indirectStart) / 4; - ring_count = atis->ring_len / 4; - - WHILE_NOT_TIMEOUT(.2) { - if (count <= 0) - break; - - atis->ring_addr[atis->ring_write++] = *addr++; - if (atis->ring_write >= ring_count) - atis->ring_write = 0; - while (atis->ring_write == atis->ring_read) { - atis->ring_read = MMIO_IN32(mmio, ATI_REG_CCE_RPTR); - } - count--; - } - if (TIMEDOUT()) { - ErrorF("Timeout submitting packets, resetting...\n"); - ATIEngineReset(atis); - ATIDrawSetup(atis->screen->pScreen); - } - - /* Workaround for some early Rage 128 ASIC spins where the CCE parser - * may read up to 32 DWORDS beyond the end of the ring buffer memory - * before wrapping around, if the ring buffer was empty and a <32 DWORD - * packet that wraps around the end of the ring buffer is submitted. - * To work around that, copy the beginning of the ring buffer past the - * end if that may happen. - */ - if (atis->ring_write < 32) - memcpy(atis->ring_addr + ring_count, atis->ring_addr, 32 * 4); - - /* Update write pointer */ - MMIO_OUT32(mmio, ATI_REG_CCE_WPTR, atis->ring_write); -} - -void -ATIFlushIndirect(ATIScreenInfo *atis, Bool discard) -{ - ATICardInfo *atic = atis->atic; - dmaBuf *buf = atis->indirectBuffer; - - if ((atis->indirectStart == buf->used) && !discard) - return; - -#if DEBUG_FIFO - ErrorF("Dispatching %d DWORDS\n", (buf->used - atis->indirectStart) / - 4); -#endif - -#ifdef USE_DRI - if (atis->using_dri) { - buf->drmBuf->used = buf->used; - ATIDRIDispatchIndirect(atis, discard); - if (discard) { - buf->drmBuf = ATIDRIGetBuffer(atis); - buf->size = buf->drmBuf->total; - buf->used = buf->drmBuf->used; - buf->address = buf->drmBuf->address; - atis->indirectStart = 0; - } else { - /* Start on a double word boundary */ - atis->indirectStart = buf->used = (buf->used + 7) & ~7; - } - return; - } -#endif /* USE_DRI */ - - if (atis->using_dma && !atic->is_radeon) - R128DispatchIndirectDMA(atis); - else if (atis->using_pseudo) { - if (atic->is_radeon) - RadeonDispatchIndirectPDMA(atis); - else - R128DispatchIndirectPDMA(atis); - } else - ATIDispatchIndirectMMIO(atis); - - buf->used = 0; - atis->indirectStart = 0; -} - -static Bool -ATIInitAGP(ScreenPtr pScreen, int size) -{ - KdScreenPriv(pScreen); - ATIScreenInfo(pScreenPriv); - ATICardInfo(pScreenPriv); - AgpInfoPtr agp_info; - int screennum = atis->screen->mynum; - - if (atic->is_radeon) - return FALSE; - - if (!KdAgpGARTSupported()) - return FALSE; - - if (!KdAcquireGART(screennum)) - return FALSE; - - atis->agp_key = KdAllocateGARTMemory(screennum, size, 0, NULL); - if (atis->agp_key == -1) { - ErrorF("Failed to allocate %dKB GART memory\n", size/1024); - KdReleaseGART(screennum); - return FALSE; - } - - if (!KdBindGARTMemory(screennum, atis->agp_key, 0)) { - ErrorF("Failed to bind GART memory\n"); - KdReleaseGART(screennum); - return FALSE; - } - - agp_info = KdGetAGPInfo(screennum); - if (agp_info == NULL) { - KdUnbindGARTMemory(screennum, atis->agp_key); - KdReleaseGART(screennum); - return FALSE; - } - - atis->agp_addr = KdMapDevice(agp_info->base, agp_info->size); - if (atis->agp_addr == NULL) { - ErrorF("Failed to map GART memory\n"); - KdUnbindGARTMemory(screennum, atis->agp_key); - KdReleaseGART(screennum); - free(agp_info); - return FALSE; - } - KdSetMappedMode(agp_info->base, agp_info->size, - KD_MAPPED_MODE_FRAMEBUFFER); - - atis->agp_size = size; - free(agp_info); - - return TRUE; -} - -static void -ATIFiniAGP(ScreenPtr pScreen) -{ - KdScreenPriv(pScreen); - ATIScreenInfo(pScreenPriv); - int screennum = atis->screen->mynum; - - KdUnbindGARTMemory(screennum, atis->agp_key); - KdReleaseGART(screennum); - atis->agp_addr = NULL; - atis->agp_size = 0; -} - -static Bool -ATIPseudoDMAInit(ScreenPtr pScreen) -{ - KdScreenPriv(pScreen); - ATIScreenInfo(pScreenPriv); - ATICardInfo(pScreenPriv); - char *mmio = atic->reg_base; - - if (atic->is_r300) - return FALSE; - - ATIUploadMicrocode(atis); - ATIEngineReset(atis); - - if (atic->is_r200) { - MMIO_OUT32(mmio, RADEON_REG_CP_CSQ_CNTL, - RADEON_CSQ_PRIPIO_INDDIS); - 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); - } 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) & - RADEON_CSQ_CNT_PRIMARY_MASK; - MMIO_OUT32(mmio, RADEON_REG_ME_CNTL, RADEON_ME_MODE_FREE_RUN); - } else { - MMIO_OUT32(mmio, R128_REG_PM4_BUFFER_CNTL, R128_PM4_192PIO | - R128_PM4_BUFFER_CNTL_NOUPDATE); - atis->cce_pri_size = 192; - MMIO_OUT32(mmio, R128_REG_PM4_MICRO_CNTL, - R128_PM4_MICRO_FREERUN); - } - - return TRUE; -} - -static Bool -ATIPseudoDMAFini(ScreenPtr pScreen) -{ KdScreenPriv(pScreen); - ATIScreenInfo(pScreenPriv); - ATICardInfo(pScreenPriv); - char *mmio = atic->reg_base; - - if (atic->is_radeon) { - MMIO_OUT32(mmio, RADEON_REG_ME_CNTL, 0); - MMIO_OUT32(mmio, RADEON_REG_CP_CSQ_CNTL, - RADEON_CSQ_PRIDIS_INDDIS); - } else { - MMIO_OUT32(mmio, R128_REG_PM4_MICRO_CNTL, 0); - MMIO_OUT32(mmio, R128_REG_PM4_BUFFER_CNTL, - R128_PM4_NONPM4 | R128_PM4_BUFFER_CNTL_NOUPDATE); - } - atis->cce_pri_size = 0; - - ATIEngineReset(atis); - - return TRUE; -} - -static Bool -ATIDMAInit(ScreenPtr pScreen, Bool use_agp) -{ - KdScreenPriv(pScreen); - ATIScreenInfo(pScreenPriv); - ATICardInfo(pScreenPriv); - char *mmio = atic->reg_base; - int dma_offset; - CARD32 tmp; - - /* XXX: Not for radeons. Yet? */ - if (atic->is_radeon) - return FALSE; - - if (use_agp) { - if (1) - return FALSE; /* XXX */ - /* Allocate a 1MB AGP space, but only use 128k + 128 for DMA. - * XXX: Should use the rest for things like scratch space. - */ - if (!ATIInitAGP(pScreen, 1024 * 1024)) - return FALSE; - atis->ring_addr = atis->agp_addr; - atis->ring_len = 128 * 1024; - dma_offset = R128_AGP_OFFSET; - } else { - if (1) - return FALSE; /* XXX */ - /* Allocate a 128K buffer, plus 32 DWORDS to give space for the - * R128 ASIC bug workaround. - */ - atis->dma_space = KdOffscreenAlloc(pScreen, 128 * 1024 + 128, - 128, TRUE, NULL, NULL); - if (atis->dma_space == NULL) - return FALSE; - atis->ring_addr = (CARD32 *)(atis->dma_space->offset + - pScreenPriv->screen->memory_base); - atis->ring_len = 128 * 1024; - dma_offset = atis->dma_space->offset; - } - - ATIUploadMicrocode(atis); - ATIEngineReset(atis); - - atis->ring_read = 0; - atis->ring_write = 0; - - tmp = MMIO_IN32(mmio, ATI_REG_BUS_CNTL); - MMIO_OUT32(mmio, ATI_REG_BUS_CNTL, tmp & ~ATI_BUS_MASTER_DIS); - - MMIO_OUT32(mmio, ATI_REG_CCE_RB_BASE, dma_offset); - MMIO_OUT32(mmio, ATI_REG_CCE_WPTR, atis->ring_write); - MMIO_OUT32(mmio, ATI_REG_CCE_RPTR, atis->ring_read); - MMIO_OUT32(mmio, ATI_REG_CCE_RPTR_ADDR, 0 /* XXX? */); - - if (atic->is_r200) { - MMIO_OUT32(mmio, RADEON_REG_CP_CSQ_CNTL, - RADEON_CSQ_PRIBM_INDBM); - 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); - } else if (atic->is_radeon) { - MMIO_OUT32(mmio, RADEON_REG_CP_CSQ_CNTL, - RADEON_CSQ_PRIBM_INDBM); - atis->cce_pri_size = MMIO_IN32(mmio, RADEON_REG_CP_CSQ_CNTL) & - RADEON_CSQ_CNT_PRIMARY_MASK; - MMIO_OUT32(mmio, RADEON_REG_ME_CNTL, RADEON_ME_MODE_FREE_RUN); - } else { - MMIO_OUT32(mmio, R128_REG_PM4_BUFFER_WM_CNTL, - ((R128_WATERMARK_L/4) << R128_WMA_SHIFT) | - ((R128_WATERMARK_M/4) << R128_WMB_SHIFT) | - ((R128_WATERMARK_N/4) << R128_WMC_SHIFT) | - ((R128_WATERMARK_K/64) << R128_WB_WM_SHIFT)); - /* The sample code reads from an undocumneted register - * (PM4_BUFFER_ADDR). Perhaps it's a write posting thing? Do - * a read in case that's it. - */ - MMIO_IN32(mmio, R128_REG_PM4_BUFFER_CNTL); - if (use_agp) { - /* XXX Magic num */ - MMIO_OUT32(mmio, R128_REG_PCI_GART_PAGE, 1); - MMIO_OUT32(mmio, R128_REG_PM4_BUFFER_CNTL, - ATILog2(atis->ring_len) | - R128_PM4_192BM | - R128_PM4_BUFFER_CNTL_NOUPDATE); - } else { - MMIO_OUT32(mmio, R128_REG_PM4_BUFFER_CNTL, - ATILog2(atis->ring_len) | - R128_PM4_192BM | - R128_PM4_BUFFER_CNTL_NOUPDATE | - R128_PM4_IN_FRAME_BUFFER); - } - atis->cce_pri_size = 192; - MMIO_IN32(mmio, R128_REG_PM4_BUFFER_CNTL); - MMIO_OUT32(mmio, R128_REG_PM4_MICRO_CNTL, - R128_PM4_MICRO_FREERUN); - } - - return TRUE; -} - -static Bool -ATIDMAFini(ScreenPtr pScreen) -{ - KdScreenPriv(pScreen); - ATIScreenInfo(pScreenPriv); - ATICardInfo(pScreenPriv); - char *mmio = atic->reg_base; - - if (atic->is_radeon) { - MMIO_OUT32(mmio, RADEON_REG_ME_CNTL, 0); - MMIO_OUT32(mmio, RADEON_REG_CP_CSQ_CNTL, - RADEON_CSQ_PRIDIS_INDDIS); - } else { - MMIO_OUT32(mmio, ATI_REG_CCE_WPTR, - atis->ring_write | R128_PM4_BUFFER_DL_DONE); - MMIO_OUT32(mmio, R128_REG_PM4_MICRO_CNTL, 0); - MMIO_OUT32(mmio, R128_REG_PM4_BUFFER_CNTL, - R128_PM4_NONPM4 | R128_PM4_BUFFER_CNTL_NOUPDATE); - } - atis->cce_pri_size = 0; - - ATIEngineReset(atis); - - if (atis->using_agp) - ATIFiniAGP(pScreen); - else - KdOffscreenFree(pScreen, atis->dma_space); - - return TRUE; -} - -void -ATIDMASetup(ScreenPtr pScreen) -{ - KdScreenPriv(pScreen); - ATICardInfo(pScreenPriv); - ATIScreenInfo(pScreenPriv); - -#ifdef USE_DRI - if (atis->using_dri) - ATIDRIDMAStart(atis); -#endif /* USE_DRI */ - - if (!atis->using_dri) { - atis->using_agp = FALSE; - if (atic->is_agp && ATIDMAInit(pScreen, TRUE)) { - atis->using_agp = TRUE; - atis->using_dma = TRUE; - } else if (ATIDMAInit(pScreen, FALSE)) { - atis->using_agp = FALSE; - atis->using_dma = TRUE; - } else if (ATIPseudoDMAInit(pScreen)) - atis->using_pseudo = TRUE; - else - atis->using_pio = TRUE; - } - - atis->indirectBuffer = ATIGetDMABuffer(atis); - if (atis->indirectBuffer == FALSE) - FatalError("Failed to allocate DMA buffer.\n"); - - if (atis->using_dri) - ErrorF("Initialized %s DRI DMA\n", - atis->using_agp ? "AGP" : "PCI"); - else if (atis->using_dma && atis->using_agp) - ErrorF("Initialized AGP DMA\n"); - else if (atis->using_dma) - ErrorF("Initialized framebuffer pseudo-DMA\n"); - else if (atis->using_pseudo) - ErrorF("Initialized pseudo-DMA\n"); - else if (atis->using_pio) - ErrorF("Initialized PIO\n"); -} - -void -ATIDMATeardown(ScreenPtr pScreen) -{ - KdScreenPriv(pScreen); - ATIScreenInfo(pScreenPriv); - - ATIWaitIdle(atis); - -#ifdef USE_DRI - if (atis->using_dri) - ATIDRIDMAStop(atis); -#endif /* USE_DRI */ - - if (atis->using_dma) - ATIDMAFini(pScreen); - - if (atis->using_pseudo) - ATIPseudoDMAFini(pScreen); - - if (atis->using_pio || atis->using_pseudo || atis->using_dma) { - xfree(atis->indirectBuffer->address); - xfree(atis->indirectBuffer); - } - atis->indirectBuffer = NULL; - - atis->using_pio = FALSE; - atis->using_pseudo = FALSE; - atis->using_dma = FALSE; - atis->using_agp = FALSE; -} - diff --git a/xorg-server/hw/kdrive/ati/ati_dma.h b/xorg-server/hw/kdrive/ati/ati_dma.h deleted file mode 100644 index 4c2092b2c..000000000 --- a/xorg-server/hw/kdrive/ati/ati_dma.h +++ /dev/null @@ -1,141 +0,0 @@ -/* - * Copyright © 2004 Eric Anholt - * - * 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. - */ - -#ifndef _ATI_DMA_H_ -#define _ATI_DMA_H_ - -#define CCE_DEBUG 1 - -#if !CCE_DEBUG -#define DMA_PACKET0(reg, count) \ - (ATI_CCE_PACKET0 | (((count) - 1) << 16) | ((reg) >> 2)) -#else -#define DMA_PACKET0(reg, count) \ - (__packet0count = (count), __reg = (reg), \ - ATI_CCE_PACKET0 | (((count) - 1) << 16) | ((reg) >> 2)) -#endif -#define DMA_PACKET1(reg1, reg2) \ - (ATI_CCE_PACKET1 | \ - (((reg2) >> 2) << ATI_CCE_PACKET1_REG_2_SHIFT) | ((reg1) >> 2)) -#define DMA_PACKET3(type, count) \ - ((type) | (((count) - 1) << 16)) - -#if !CCE_DEBUG - -#define RING_LOCALS CARD32 *__head; int __count -#define BEGIN_DMA(n) \ -do { \ - if ((atis->indirectBuffer->used + 4*(n)) > \ - atis->indirectBuffer->size) { \ - ATIFlushIndirect(atis, 1); \ - } \ - __head = (CARD32 *)((char *)atis->indirectBuffer->address + \ - atis->indirectBuffer->used); \ - __count = 0; \ -} while (0) -#define END_DMA() do { \ - atis->indirectBuffer->used += __count * 4; \ -} while (0) - -#else - -#define RING_LOCALS \ - CARD32 *__head; int __count, __total, __reg, __packet0count -#define BEGIN_DMA(n) \ -do { \ - if ((atis->indirectBuffer->used + 4*(n)) > \ - atis->indirectBuffer->size) { \ - ATIFlushIndirect(atis, 1); \ - } \ - __head = (CARD32 *)((char *)atis->indirectBuffer->address + \ - atis->indirectBuffer->used); \ - __count = 0; \ - __total = n; \ - __reg = 0; \ - __packet0count = 0; \ -} while (0) -#define END_DMA() do { \ - if (__count != __total) \ - FatalError("count != total (%d vs %d) at %s:%d\n", \ - __count, __total, __FILE__, __LINE__); \ - atis->indirectBuffer->used += __count * 4; \ -} while (0) - -#endif - -#define OUT_RING(val) do { \ - __head[__count++] = (val); \ -} while (0) - -#define OUT_RING_REG(reg, val) do { \ - if (__reg != reg) \ - FatalError("unexpected reg (0x%x vs 0x%x) at %s:%d\n", \ - reg, __reg, __FILE__, __LINE__); \ - if (__packet0count-- <= 0) \ - FatalError("overrun of packet0 at %s:%d\n", \ - __FILE__, __LINE__); \ - __head[__count++] = (val); \ - __reg += 4; \ -} while (0) - -#define OUT_RING_F(x) OUT_RING(GET_FLOAT_BITS(x)) - -#define OUT_REG(reg, val) \ -do { \ - OUT_RING(DMA_PACKET0(reg, 1)); \ - OUT_RING(val); \ -} while (0) - -#define TIMEOUT_LOCALS struct timeval _target, _curtime - -static inline Bool -tv_le(struct timeval *tv1, struct timeval *tv2) -{ - if (tv1->tv_sec < tv2->tv_sec || - (tv1->tv_sec == tv2->tv_sec && tv1->tv_usec < tv2->tv_usec)) - return TRUE; - else - return FALSE; -} - -#define WHILE_NOT_TIMEOUT(_timeout) \ - gettimeofday(&_target, NULL); \ - _target.tv_usec += ((_timeout) * 1000000); \ - _target.tv_sec += _target.tv_usec / 1000000; \ - _target.tv_usec = _target.tv_usec % 1000000; \ - while (gettimeofday(&_curtime, NULL), tv_le(&_curtime, &_target)) - -#define TIMEDOUT() (!tv_le(&_curtime, &_target)) - -dmaBuf * -ATIGetDMABuffer(ATIScreenInfo *atis); - -void -ATIFlushIndirect(ATIScreenInfo *atis, Bool discard); - -void -ATIDMASetup(ScreenPtr pScreen); - -void -ATIDMATeardown(ScreenPtr pScreen); - -#endif /* _ATI_DMA_H_ */ diff --git a/xorg-server/hw/kdrive/ati/ati_draw.c b/xorg-server/hw/kdrive/ati/ati_draw.c deleted file mode 100644 index c10fea471..000000000 --- a/xorg-server/hw/kdrive/ati/ati_draw.c +++ /dev/null @@ -1,918 +0,0 @@ -/* - * Copyright © 2003 Eric Anholt - * - * 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. - */ - -#ifdef HAVE_CONFIG_H -#include -#endif -#include "ati.h" -#include "ati_reg.h" -#include "ati_dma.h" -#include "ati_draw.h" -#include "kaa.h" - -CARD8 ATISolidRop[16] = { - /* GXclear */ 0x00, /* 0 */ - /* GXand */ 0xa0, /* src AND dst */ - /* GXandReverse */ 0x50, /* src AND NOT dst */ - /* GXcopy */ 0xf0, /* src */ - /* GXandInverted*/ 0x0a, /* NOT src AND dst */ - /* GXnoop */ 0xaa, /* dst */ - /* GXxor */ 0x5a, /* src XOR dst */ - /* GXor */ 0xfa, /* src OR dst */ - /* GXnor */ 0x05, /* NOT src AND NOT dst */ - /* GXequiv */ 0xa5, /* NOT src XOR dst */ - /* GXinvert */ 0x55, /* NOT dst */ - /* GXorReverse */ 0xf5, /* src OR NOT dst */ - /* GXcopyInverted*/ 0x0f, /* NOT src */ - /* GXorInverted */ 0xaf, /* NOT src OR dst */ - /* GXnand */ 0x5f, /* NOT src OR NOT dst */ - /* GXset */ 0xff, /* 1 */ -}; - -CARD8 ATIBltRop[16] = { - /* GXclear */ 0x00, /* 0 */ - /* GXand */ 0x88, /* src AND dst */ - /* GXandReverse */ 0x44, /* src AND NOT dst */ - /* GXcopy */ 0xcc, /* src */ - /* GXandInverted*/ 0x22, /* NOT src AND dst */ - /* GXnoop */ 0xaa, /* dst */ - /* GXxor */ 0x66, /* src XOR dst */ - /* GXor */ 0xee, /* src OR dst */ - /* GXnor */ 0x11, /* NOT src AND NOT dst */ - /* GXequiv */ 0x99, /* NOT src XOR dst */ - /* GXinvert */ 0x55, /* NOT dst */ - /* GXorReverse */ 0xdd, /* src OR NOT dst */ - /* GXcopyInverted*/ 0x33, /* NOT src */ - /* GXorInverted */ 0xbb, /* NOT src OR dst */ - /* GXnand */ 0x77, /* NOT src OR NOT dst */ - /* GXset */ 0xff, /* 1 */ -}; - -int copydx, copydy; -ATIScreenInfo *accel_atis; -/* If is_24bpp is set, then we are using the accelerator in 8-bit mode due - * to it being broken for 24bpp, so coordinates have to be multiplied by 3. - */ -Bool is_24bpp; -CARD32 settings, color, src_pitch_offset, dst_pitch_offset; - -int sample_count; -float sample_offsets_x[255]; -float sample_offsets_y[255]; - -#define DRAW_USING_PACKET3 0 - -void -ATIDrawSetup(ScreenPtr pScreen) -{ - KdScreenPriv(pScreen); - ATIScreenInfo(pScreenPriv); - ATICardInfo(pScreenPriv); - RING_LOCALS; - - /* XXX: this shouldn't be necessary, but fixes some R128 composite - * issues. - */ - /*if (!atic->is_radeon) { - char *mmio = atic->reg_base; - ATIWaitIdle(atis); - MMIO_OUT32(mmio, R128_REG_PC_GUI_MODE, - R128_PC_BYPASS_EN); - }*/ - - BEGIN_DMA(2); - OUT_REG(ATI_REG_DEFAULT_SC_BOTTOM_RIGHT, - ATI_DEFAULT_SC_RIGHT_MAX | ATI_DEFAULT_SC_BOTTOM_MAX); - END_DMA(); - - if (!atic->is_radeon) { - /* Setup for R128 Composite */ - BEGIN_DMA(12); - OUT_REG(R128_REG_SCALE_3D_CNTL, - R128_SCALE_3D_TEXMAP_SHADE | - R128_SCALE_PIX_REPLICATE | - R128_TEX_CACHE_SPLIT | - R128_TEX_MAP_ALPHA_IN_TEXTURE | - R128_TEX_CACHE_LINE_SIZE_4QW); - OUT_REG(R128_REG_SETUP_CNTL, - R128_COLOR_SOLID_COLOR | - R128_PRIM_TYPE_TRI | - R128_TEXTURE_ST_MULT_W | - R128_STARTING_VERTEX_1 | - R128_ENDING_VERTEX_3 | - R128_SUB_PIX_4BITS); - OUT_REG(R128_REG_PM4_VC_FPU_SETUP, - R128_FRONT_DIR_CCW | - R128_BACKFACE_CULL | - R128_FRONTFACE_SOLID | - R128_FPU_COLOR_SOLID | - R128_FPU_SUB_PIX_4BITS | - R128_FPU_MODE_3D | - R128_TRAP_BITS_DISABLE | - R128_XFACTOR_2 | - R128_YFACTOR_2 | - R128_FLAT_SHADE_VERTEX_OGL | - R128_FPU_ROUND_TRUNCATE | - R128_WM_SEL_8DW); - OUT_REG(R128_REG_PLANE_3D_MASK_C, 0xffffffff); - OUT_REG(R128_REG_CONSTANT_COLOR_C, 0xff000000); - OUT_REG(R128_REG_WINDOW_XY_OFFSET, 0x00000000); - END_DMA(); - } else if (!atic->is_r300) { - /* Setup for R100/R200 Composite */ - BEGIN_DMA(8); - OUT_REG(RADEON_REG_RE_TOP_LEFT, 0); - OUT_REG(RADEON_REG_RE_WIDTH_HEIGHT, 0xffffffff); - OUT_REG(RADEON_REG_RB3D_PLANEMASK, 0xffffffff); - OUT_REG(RADEON_REG_SE_CNTL, - RADEON_FFACE_CULL_CCW | - RADEON_FFACE_SOLID | - RADEON_VTX_PIX_CENTER_OGL); - END_DMA(); - - if (atic->is_r100) { - BEGIN_DMA(6); - OUT_REG(RADEON_REG_SE_CNTL_STATUS, RADEON_TCL_BYPASS); - OUT_REG(RADEON_REG_SE_COORD_FMT, - RADEON_VTX_XY_PRE_MULT_1_OVER_W0 | - RADEON_VTX_ST0_NONPARAMETRIC | - RADEON_VTX_ST1_NONPARAMETRIC | - RADEON_TEX1_W_ROUTING_USE_W0); - OUT_REG(RADEON_REG_RB3D_DSTCACHE_MODE, - RADEON_RB3D_DC_2D_CACHE_AUTOFLUSH | - RADEON_RB3D_DC_3D_CACHE_AUTOFLUSH); - END_DMA(); - } else { - BEGIN_DMA(18); - /* XXX: The 0 below should be RADEON_TCL_BYPASS on - * RS300s. - */ - OUT_REG(R200_REG_SE_VAP_CNTL_STATUS, 0); - OUT_REG(R200_REG_PP_CNTL_X, 0); - OUT_REG(R200_REG_PP_TXMULTI_CTL_0, 0); - OUT_REG(R200_REG_SE_VTX_STATE_CNTL, 0); - OUT_REG(R200_REG_RE_CNTL, 0); - /* XXX: VTX_ST_DENORMALIZED is illegal for the case of - * repeating textures. - */ - OUT_REG(R200_REG_SE_VTE_CNTL, R200_VTX_ST_DENORMALIZED); - OUT_REG(R200_REG_SE_VAP_CNTL, - R200_VAP_FORCE_W_TO_ONE | - R200_VAP_VF_MAX_VTX_NUM); - OUT_REG(R200_REG_RE_AUX_SCISSOR_CNTL, 0); - OUT_REG(RADEON_REG_RB3D_DSTCACHE_MODE, - RADEON_RB3D_DC_2D_CACHE_AUTOFLUSH | - RADEON_RB3D_DC_3D_CACHE_AUTOFLUSH | - R200_RB3D_DC_2D_CACHE_AUTOFREE | - R200_RB3D_DC_3D_CACHE_AUTOFREE); - END_DMA(); - } - } -} - -static void -ATIWaitMarker(ScreenPtr pScreen, int marker) -{ - KdScreenPriv(pScreen); - ATIScreenInfo(pScreenPriv); - - ENTER_DRAW(0); - ATIWaitIdle(atis); - LEAVE_DRAW(0); -} - -void -RadeonSwitchTo2D(ATIScreenInfo *atis) -{ - RING_LOCALS; - - ENTER_DRAW(0); - BEGIN_DMA(4); - OUT_REG(RADEON_REG_RB3D_DSTCACHE_CTLSTAT, RADEON_RB3D_DC_FLUSH); - OUT_REG(ATI_REG_WAIT_UNTIL, - RADEON_WAIT_HOST_IDLECLEAN | RADEON_WAIT_3D_IDLECLEAN); - END_DMA(); - LEAVE_DRAW(0); -} - -void -RadeonSwitchTo3D(ATIScreenInfo *atis) -{ - RING_LOCALS; - - ENTER_DRAW(0); - BEGIN_DMA(4); - OUT_REG(RADEON_REG_RB3D_DSTCACHE_CTLSTAT, RADEON_RB3D_DC_FLUSH); - /* We must wait for 3d to idle, in case source was just written as a dest. */ - OUT_REG(ATI_REG_WAIT_UNTIL, - RADEON_WAIT_HOST_IDLECLEAN | RADEON_WAIT_2D_IDLECLEAN | RADEON_WAIT_3D_IDLECLEAN); - END_DMA(); - LEAVE_DRAW(0); -} - -#if ATI_TRACE_DRAW -void -ATIEnterDraw (PixmapPtr pPix, char *function) -{ - if (pPix != NULL) { - KdScreenPriv(pPix->drawable.pScreen); - CARD32 offset; - - offset = ((CARD8 *)pPix->devPrivate.ptr - - pScreenPriv->screen->memory_base); - - ErrorF ("Enter %s 0x%x (%dx%dx%d/%d)\n", function, offset, - pPix->drawable.width, pPix->drawable.height, pPix->drawable.depth, - pPix->drawable.bitsPerPixel); - } else - ErrorF ("Enter %s\n", function); -} - -void -ATILeaveDraw (PixmapPtr pPix, char *function) -{ - if (pPix != NULL) { - KdScreenPriv(pPix->drawable.pScreen); - CARD32 offset; - - offset = ((CARD8 *)pPix->devPrivate.ptr - - pScreenPriv->screen->memory_base); - - ErrorF ("Leave %s 0x%x\n", function, offset); - } else - ErrorF ("Leave %s\n", function); -} -#endif - -/* Assumes that depth 15 and 16 can be used as depth 16, which is okay since we - * require src and dest datatypes to be equal. - */ -static Bool -ATIGetDatatypeBpp(int bpp, CARD32 *type) -{ - switch (bpp) { - case 8: - *type = R128_DATATYPE_CI8; - return TRUE; - case 16: - *type = R128_DATATYPE_RGB565; - return TRUE; - case 24: - *type = R128_DATATYPE_CI8; - return TRUE; - case 32: - *type = R128_DATATYPE_ARGB8888; - return TRUE; - default: - ATI_FALLBACK(("Unsupported bpp: %d\n", bpp)); - return FALSE; - } -} - -Bool -ATIGetOffsetPitch(ATIScreenInfo *atis, int bpp, CARD32 *pitch_offset, - int offset, int pitch) -{ - ATICardInfo *atic = atis->atic; - - /* On the R128, depending on the bpp the screen can be set up so that it - * doesn't meet the pitchAlign requirement but can still be - * accelerated, so we check the specific pitch requirement of alignment - * to 8 pixels. - */ - if (atic->is_radeon) { - if (pitch % atis->kaa.pitchAlign != 0) - ATI_FALLBACK(("Bad pitch 0x%08x\n", pitch)); - *pitch_offset = ((pitch >> 6) << 22) | (offset >> 10); - - } else { - if (pitch % bpp != 0) - ATI_FALLBACK(("Bad pitch 0x%08x\n", pitch)); - *pitch_offset = ((pitch / bpp) << 21) | (offset >> 5); - } - - if (offset % atis->kaa.offsetAlign != 0) - ATI_FALLBACK(("Bad offset 0x%08x\n", offset)); - - return TRUE; -} - -Bool -ATIGetPixmapOffsetPitch(PixmapPtr pPix, CARD32 *pitch_offset) -{ - KdScreenPriv(pPix->drawable.pScreen); - ATIScreenInfo(pScreenPriv); - CARD32 pitch, offset; - int bpp; - - bpp = pPix->drawable.bitsPerPixel; - if (bpp == 24) - bpp = 8; - - offset = ((CARD8 *)pPix->devPrivate.ptr - - pScreenPriv->screen->memory_base); - pitch = pPix->devKind; - - return ATIGetOffsetPitch(atis, bpp, pitch_offset, offset, pitch); -} - -static Bool -ATIPrepareSolid(PixmapPtr pPix, int alu, Pixel pm, Pixel fg) -{ - KdScreenPriv(pPix->drawable.pScreen); - ATIScreenInfo(pScreenPriv); - ATICardInfo(pScreenPriv); - CARD32 datatype; - RING_LOCALS; - - is_24bpp = (pPix->drawable.bitsPerPixel == 24); - accel_atis = atis; - - if (is_24bpp) { - /* Solid fills in fake-24bpp mode only work if the pixel color - * and planemask are all the same byte. - */ - if ((fg & 0xffffff) != (((fg & 0xff) << 16) | ((fg >> 8) & - 0xffff))) - ATI_FALLBACK(("Can't do solid color 0x%08x in 24bpp\n", - fg)); - if ((pm & 0xffffff) != (((pm & 0xff) << 16) | ((pm >> 8) & - 0xffff))) - ATI_FALLBACK(("Can't do planemask 0x%08x in 24bpp\n", - pm)); - } - - if (!ATIGetDatatypeBpp(pPix->drawable.bitsPerPixel, &datatype)) - return FALSE; - if (!ATIGetPixmapOffsetPitch(pPix, &dst_pitch_offset)) - return FALSE; - - ENTER_DRAW(pPix); - - if (atic->is_radeon) - RadeonSwitchTo2D(atis); - - settings = - ATI_GMC_DST_PITCH_OFFSET_CNTL | - ATI_GMC_BRUSH_SOLID_COLOR | - (datatype << 8) | - ATI_GMC_SRC_DATATYPE_COLOR | - (ATISolidRop[alu] << 16) | - ATI_GMC_CLR_CMP_CNTL_DIS | - R128_GMC_AUX_CLIP_DIS; - color = fg; - -#if DRAW_USING_PACKET3 - BEGIN_DMA(6); - OUT_REG(ATI_REG_DEFAULT_SC_BOTTOM_RIGHT, - ATI_DEFAULT_SC_RIGHT_MAX | ATI_DEFAULT_SC_BOTTOM_MAX); - OUT_REG(ATI_REG_DP_WRITE_MASK, pm); - OUT_REG(ATI_REG_DP_CNTL, ATI_DST_X_LEFT_TO_RIGHT | - ATI_DST_Y_TOP_TO_BOTTOM); - END_DMA(); -#else - BEGIN_DMA(12); - OUT_REG(ATI_REG_DEFAULT_SC_BOTTOM_RIGHT, - ATI_DEFAULT_SC_RIGHT_MAX | ATI_DEFAULT_SC_BOTTOM_MAX); - OUT_REG(ATI_REG_DST_PITCH_OFFSET, dst_pitch_offset); - OUT_REG(ATI_REG_DP_GUI_MASTER_CNTL, settings); - OUT_REG(ATI_REG_DP_BRUSH_FRGD_CLR, fg); - OUT_REG(ATI_REG_DP_WRITE_MASK, pm); - OUT_REG(ATI_REG_DP_CNTL, ATI_DST_X_LEFT_TO_RIGHT | - ATI_DST_Y_TOP_TO_BOTTOM); - END_DMA(); -#endif - - LEAVE_DRAW(pPix); - return TRUE; -} - -static void -ATISolid(int x1, int y1, int x2, int y2) -{ - ENTER_DRAW(0); - ATIScreenInfo *atis = accel_atis; - RING_LOCALS; - - if (is_24bpp) { - x1 *= 3; - x2 *= 3; - } -#if DRAW_USING_PACKET3 - BEGIN_DMA(6); - OUT_RING(DMA_PACKET3(ATI_CCE_PACKET3_PAINT_MULTI, 5)); - OUT_RING(settings); - OUT_RING(dst_pitch_offset); - OUT_RING(color); - OUT_RING((x1 << 16) | y1); - OUT_RING(((x2 - x1) << 16) | (y2 - y1)); - END_DMA(); -#else - BEGIN_DMA(3); - OUT_RING(DMA_PACKET0(ATI_REG_DST_Y_X, 2)); - OUT_RING_REG(ATI_REG_DST_Y_X, (y1 << 16) | x1); - OUT_RING_REG(ATI_REG_DST_HEIGHT_WIDTH, ((y2 - y1) << 16) | (x2 - x1)); - END_DMA(); -#endif - LEAVE_DRAW(0); -} - -static void -ATIDoneSolid(void) -{ - ENTER_DRAW(0); - LEAVE_DRAW(0); -} - -static Bool -ATIPrepareCopy(PixmapPtr pSrc, PixmapPtr pDst, int dx, int dy, int alu, Pixel pm) -{ - KdScreenPriv(pDst->drawable.pScreen); - ATIScreenInfo(pScreenPriv); - ATICardInfo(pScreenPriv); - CARD32 datatype; - RING_LOCALS; - - copydx = dx; - copydy = dy; - is_24bpp = pDst->drawable.bitsPerPixel == 24; - accel_atis = atis; - - if (is_24bpp && ((pm & 0xffffff) != (((pm & 0xff) << 16) | ((pm >> 8) & - 0xffff)))) - ATI_FALLBACK(("Can't do planemask 0x%08x in 24bpp\n", pm)); - - if (!ATIGetDatatypeBpp(pDst->drawable.bitsPerPixel, &datatype)) - return FALSE; - if (!ATIGetPixmapOffsetPitch(pSrc, &src_pitch_offset)) - return FALSE; - if (!ATIGetPixmapOffsetPitch(pDst, &dst_pitch_offset)) - return FALSE; - - ENTER_DRAW (pDst); - if (atic->is_radeon) - RadeonSwitchTo2D(atis); - - settings = - ATI_GMC_SRC_PITCH_OFFSET_CNTL | - ATI_GMC_DST_PITCH_OFFSET_CNTL | - ATI_GMC_BRUSH_NONE | - (datatype << 8) | - ATI_GMC_SRC_DATATYPE_COLOR | - (ATIBltRop[alu] << 16) | - ATI_DP_SRC_SOURCE_MEMORY | - ATI_GMC_CLR_CMP_CNTL_DIS | - R128_GMC_AUX_CLIP_DIS; - -#if DRAW_USING_PACKET3 - BEGIN_DMA(6); - OUT_REG(ATI_REG_DEFAULT_SC_BOTTOM_RIGHT, - ATI_DEFAULT_SC_RIGHT_MAX | ATI_DEFAULT_SC_BOTTOM_MAX); - OUT_REG(ATI_REG_DP_WRITE_MASK, pm); - OUT_REG(ATI_REG_DP_CNTL, - (dx >= 0 ? ATI_DST_X_LEFT_TO_RIGHT : 0) | - (dy >= 0 ? ATI_DST_Y_TOP_TO_BOTTOM : 0)); - END_DMA(); - -#else - BEGIN_DMA(12); - OUT_REG(ATI_REG_DEFAULT_SC_BOTTOM_RIGHT, - ATI_DEFAULT_SC_RIGHT_MAX | ATI_DEFAULT_SC_BOTTOM_MAX); - OUT_REG(ATI_REG_SRC_PITCH_OFFSET, src_pitch_offset); - OUT_REG(ATI_REG_DST_PITCH_OFFSET, dst_pitch_offset); - OUT_REG(ATI_REG_DP_GUI_MASTER_CNTL, settings); - OUT_REG(ATI_REG_DP_WRITE_MASK, pm); - OUT_REG(ATI_REG_DP_CNTL, - (dx >= 0 ? ATI_DST_X_LEFT_TO_RIGHT : 0) | - (dy >= 0 ? ATI_DST_Y_TOP_TO_BOTTOM : 0)); - END_DMA(); -#endif - LEAVE_DRAW(pDst); - - return TRUE; -} - -static void -ATICopy(int srcX, int srcY, int dstX, int dstY, int w, int h) -{ - ATIScreenInfo *atis = accel_atis; - RING_LOCALS; - - if (is_24bpp) { - srcX *= 3; - dstX *= 3; - w *= 3; - } - -#if !DRAW_USING_PACKET3 - if (copydx < 0) { - srcX += w - 1; - dstX += w - 1; - } - - if (copydy < 0) { - srcY += h - 1; - dstY += h - 1; - } -#endif - -#if DRAW_USING_PACKET3 - BEGIN_DMA(7); - OUT_RING(DMA_PACKET3(ATI_CCE_PACKET3_BITBLT_MULTI, 6)); - OUT_RING(settings); - OUT_RING(src_pitch_offset); - OUT_RING(dst_pitch_offset); - OUT_RING((srcX << 16) | srcY); - OUT_RING((dstX << 16) | dstY); - OUT_RING((w << 16) | h); - END_DMA(); -#else - BEGIN_DMA(4); - OUT_RING(DMA_PACKET0(ATI_REG_SRC_Y_X, 3)); - OUT_RING_REG(ATI_REG_SRC_Y_X, (srcY << 16) | srcX); - OUT_RING_REG(ATI_REG_DST_Y_X, (dstY << 16) | dstX); - OUT_RING_REG(ATI_REG_DST_HEIGHT_WIDTH, (h << 16) | w); - END_DMA(); -#endif -} - -static void -ATIDoneCopy(void) -{ -} - -static Bool -ATIUploadToScreen(PixmapPtr pDst, char *src, int src_pitch) -{ - ScreenPtr pScreen = pDst->drawable.pScreen; - KdScreenPriv(pScreen); - ATIScreenInfo(pScreenPriv); - ATICardInfo(pScreenPriv); - int width, height, bpp, i, dwords; - int dst_pitch, dst_offset; - CARD32 dst_pitch_offset, datatype; - Bool success; - RING_LOCALS; - - ENTER_DRAW (pDst); - - LEAVE_DRAW (pDst); - /* XXX: Hostdata uploads aren't working yet. */ - return FALSE; - - dst_offset = ((CARD8 *)pDst->devPrivate.ptr - - pScreenPriv->screen->memory_base); - dst_pitch = pDst->devKind; - width = pDst->drawable.width; - height = pDst->drawable.height; - bpp = pDst->drawable.bitsPerPixel; - - success = ATIGetDatatypeBpp(bpp, &datatype); - - if (bpp == 24) { - is_24bpp = TRUE; - bpp = 8; - } else - is_24bpp = FALSE; - - if (!ATIGetOffsetPitch(atis, bpp, &dst_pitch_offset, dst_offset, - dst_pitch)) - return FALSE; - - if (src_pitch != (width * bpp / 8)) - return FALSE; - - /* No PACKET3 packets when in PIO mode. */ - if (atis->using_pio) - return FALSE; - - dwords = (width * height * (bpp / 8) + 3) / 4; - - /* Flush pixel cache so nothing being written to the destination - * previously gets mixed up with the hostdata blit. - */ - if (atic->is_radeon) { - BEGIN_DMA(4); - OUT_REG(RADEON_REG_RB3D_DSTCACHE_CTLSTAT, RADEON_RB3D_DC_FLUSH); - OUT_REG(ATI_REG_WAIT_UNTIL, - RADEON_WAIT_2D_IDLECLEAN | - RADEON_WAIT_3D_IDLECLEAN | - RADEON_WAIT_HOST_IDLECLEAN); - END_DMA(); - } else { - BEGIN_DMA(2); - OUT_REG(R128_REG_PC_GUI_CTLSTAT, - R128_PC_FLUSH_GUI | R128_PC_RI_GUI); - END_DMA(); - } - - BEGIN_DMA(8); - OUT_RING(DMA_PACKET3(ATI_CCE_PACKET3_HOSTDATA_BLT, 7 + dwords)); - OUT_RING(ATI_GMC_DST_PITCH_OFFSET_CNTL | - ATI_GMC_BRUSH_NONE | - (datatype << 8) | - ATI_GMC_SRC_DATATYPE_COLOR | - (ATISolidRop[GXcopy] << 16) | - ATI_DP_SRC_SOURCE_HOST_DATA | - ATI_GMC_CLR_CMP_CNTL_DIS | - R128_GMC_AUX_CLIP_DIS | - ATI_GMC_WR_MSK_DIS); - OUT_RING(dst_pitch_offset); - OUT_RING(0xffffffff); - OUT_RING(0xffffffff); - OUT_RING((0 << 16) | 0); - OUT_RING((height << 16) | width); - OUT_RING(dwords); - END_DMA(); - - for (i = 0; i < dwords; i++) { - BEGIN_DMA(1); - OUT_RING(((CARD32 *)src)[i]); - END_DMA(); - } - - if (atic->is_radeon) { - BEGIN_DMA(4); - OUT_REG(RADEON_REG_RB3D_DSTCACHE_CTLSTAT, - RADEON_RB3D_DC_FLUSH_ALL); - OUT_REG(ATI_REG_WAIT_UNTIL, - RADEON_WAIT_2D_IDLECLEAN | - RADEON_WAIT_HOST_IDLECLEAN); - END_DMA(); - } else { - BEGIN_DMA(2); - OUT_REG(R128_REG_PC_GUI_CTLSTAT, R128_PC_FLUSH_GUI); - END_DMA(); - } - - kaaMarkSync(pScreen); - - ErrorF("hostdata upload %d,%d %dbpp\n", width, height, bpp); - - return TRUE; -} - - -static Bool -ATIUploadToScratch(PixmapPtr pSrc, PixmapPtr pDst) -{ - KdScreenPriv(pSrc->drawable.pScreen); - ATICardInfo(pScreenPriv); - ATIScreenInfo(pScreenPriv); - int dst_pitch, src_pitch, w, i, size, bytes; - unsigned char *dst, *src; - RING_LOCALS; - - ENTER_DRAW(pSrc); - /* Align width to log 2, useful for R128 composite. This should be a - * KAA flag we check for (and supported in kaa.c in general) since many - * older bits of hardware are going to want POT pitches. - */ - w = pSrc->drawable.width; - if (atis->kaa.flags & KAA_OFFSCREEN_ALIGN_POT) - w = 1 << (ATILog2(w - 1) + 1); - dst_pitch = (w * pSrc->drawable.bitsPerPixel / 8 + - atis->kaa.pitchAlign - 1) & ~(atis->kaa.pitchAlign - 1); - - size = dst_pitch * pSrc->drawable.height; - if (size > atis->scratch_area->size) - ATI_FALLBACK(("Pixmap too large for scratch (%d,%d)\n", - pSrc->drawable.width, pSrc->drawable.height)); - - atis->scratch_next = (atis->scratch_next + atis->kaa.offsetAlign - 1) & - ~(atis->kaa.offsetAlign - 1); - if (atis->scratch_next + size > atis->scratch_area->offset + - atis->scratch_area->size) { - /* Only sync when we've used all of the scratch area. */ - kaaWaitSync(pSrc->drawable.pScreen); - atis->scratch_next = atis->scratch_area->offset; - } - memcpy(pDst, pSrc, sizeof(*pDst)); - pDst->devKind = dst_pitch; - pDst->devPrivate.ptr = pScreenPriv->screen->memory_base + - atis->scratch_next; - atis->scratch_next += size; - - src = pSrc->devPrivate.ptr; - src_pitch = pSrc->devKind; - dst = pDst->devPrivate.ptr; - bytes = src_pitch < dst_pitch ? src_pitch : dst_pitch; - - i = pSrc->drawable.height; - while (i--) { - memcpy(dst, src, bytes); - dst += dst_pitch; - src += src_pitch; - } - - /* Flush the pixel cache */ - if (atic->is_radeon) { - BEGIN_DMA(4); - OUT_REG(RADEON_REG_RB3D_DSTCACHE_CTLSTAT, - RADEON_RB3D_DC_FLUSH_ALL); - OUT_REG(ATI_REG_WAIT_UNTIL, RADEON_WAIT_HOST_IDLECLEAN); - END_DMA(); - } else { - BEGIN_DMA(2); - OUT_REG(R128_REG_PC_GUI_CTLSTAT, R128_PC_FLUSH_ALL); - END_DMA(); - } - - LEAVE_DRAW(pSrc); - return TRUE; -} - -static void -ATIBlockHandler(pointer blockData, OSTimePtr timeout, pointer readmask) -{ - ScreenPtr pScreen = (ScreenPtr) blockData; - KdScreenPriv(pScreen); - ATIScreenInfo(pScreenPriv); - - /* When the server is going to sleep, make sure that all DMA data has - * been flushed. - */ - if (atis->indirectBuffer) - ATIFlushIndirect(atis, 1); -} - -static void -ATIWakeupHandler(pointer blockData, int result, pointer readmask) -{ -} - -Bool -ATIDrawInit(ScreenPtr pScreen) -{ - KdScreenPriv(pScreen); - ATIScreenInfo(pScreenPriv); - ATICardInfo(pScreenPriv); - - ErrorF("Screen: %d/%d depth/bpp\n", pScreenPriv->screen->fb[0].depth, - pScreenPriv->screen->fb[0].bitsPerPixel); - - RegisterBlockAndWakeupHandlers(ATIBlockHandler, ATIWakeupHandler, - pScreen); - -#ifdef USE_DRI - atis->using_dri = ATIDRIScreenInit(pScreen); -#endif /* USE_DRI */ - - memset(&atis->kaa, 0, sizeof(KaaScreenInfoRec)); - atis->kaa.waitMarker = ATIWaitMarker; - atis->kaa.PrepareSolid = ATIPrepareSolid; - atis->kaa.Solid = ATISolid; - atis->kaa.DoneSolid = ATIDoneSolid; - atis->kaa.PrepareCopy = ATIPrepareCopy; - atis->kaa.Copy = ATICopy; - atis->kaa.DoneCopy = ATIDoneCopy; - /* Other acceleration will be hooked in in DrawEnable depending on - * what type of DMA gets initialized. - */ - - atis->kaa.flags = KAA_OFFSCREEN_PIXMAPS; - if (atic->is_radeon) { - atis->kaa.offsetAlign = 1024; - atis->kaa.pitchAlign = 64; - } else { - /* Rage 128 compositing wants power-of-two pitches. */ - atis->kaa.flags |= KAA_OFFSCREEN_ALIGN_POT; - atis->kaa.offsetAlign = 32; - /* Pitch alignment is in sets of 8 pixels, and we need to cover - * 32bpp, so 32 bytes. - */ - atis->kaa.pitchAlign = 32; - } - - kaaInitTrapOffsets(8, sample_offsets_x, sample_offsets_y, 0.0, 0.0); - sample_count = (1 << 8) - 1; - - if (!kaaDrawInit(pScreen, &atis->kaa)) - return FALSE; - - return TRUE; -} - -static void -ATIScratchSave(ScreenPtr pScreen, KdOffscreenArea *area) -{ - KdScreenPriv(pScreen); - ATIScreenInfo(pScreenPriv); - - atis->scratch_area = NULL; -} - -void -ATIDrawEnable(ScreenPtr pScreen) -{ - KdScreenPriv(pScreen); - ATIScreenInfo(pScreenPriv); - ATICardInfo(pScreenPriv); - - ATIDMASetup(pScreen); - ATIDrawSetup(pScreen); - - atis->scratch_area = NULL; - atis->kaa.PrepareBlend = NULL; - atis->kaa.Blend = NULL; - atis->kaa.DoneBlend = NULL; - atis->kaa.CheckComposite = NULL; - atis->kaa.PrepareComposite = NULL; - atis->kaa.Composite = NULL; - atis->kaa.DoneComposite = NULL; - atis->kaa.UploadToScreen = NULL; - atis->kaa.UploadToScratch = NULL; - - /* We can't dispatch 3d commands in PIO mode. */ - if (!atis->using_pio) { - if (!atic->is_radeon) { - atis->kaa.CheckComposite = R128CheckComposite; - atis->kaa.PrepareComposite = R128PrepareComposite; - atis->kaa.Composite = R128Composite; - atis->kaa.DoneComposite = R128DoneComposite; - } else if (atic->is_r100) { - atis->kaa.CheckComposite = R100CheckComposite; - atis->kaa.PrepareComposite = R100PrepareComposite; - atis->kaa.Composite = RadeonComposite; - atis->kaa.DoneComposite = RadeonDoneComposite; - } else if (atic->is_r200) { - atis->kaa.CheckComposite = R200CheckComposite; - atis->kaa.PrepareComposite = R200PrepareComposite; - atis->kaa.Composite = RadeonComposite; - atis->kaa.DoneComposite = RadeonDoneComposite; - } - } -#ifdef USE_DRI - if (atis->using_dri) { - if (!atic->is_radeon) { - /*atis->kaa.PrepareTrapezoids = R128PrepareTrapezoids; - atis->kaa.Trapezoids = R128Trapezoids; - atis->kaa.DoneTrapezoids = R128DoneTrapezoids;*/ - } else if (atic->is_r100 || atic->is_r200) { - atis->kaa.PrepareTrapezoids = RadeonPrepareTrapezoids; - atis->kaa.Trapezoids = RadeonTrapezoids; - atis->kaa.DoneTrapezoids = RadeonDoneTrapezoids; - } - } -#endif /* USE_DRI */ - - atis->kaa.UploadToScreen = ATIUploadToScreen; - - /* Reserve a scratch area. It'll be used for storing glyph data during - * Composite operations, because glyphs aren't in real pixmaps and thus - * can't be migrated. - */ - atis->scratch_area = KdOffscreenAlloc(pScreen, 131072, - atis->kaa.offsetAlign, TRUE, ATIScratchSave, atis); - if (atis->scratch_area != NULL) { - atis->scratch_next = atis->scratch_area->offset; - atis->kaa.UploadToScratch = ATIUploadToScratch; - } - - kaaMarkSync(pScreen); -} - -void -ATIDrawDisable(ScreenPtr pScreen) -{ - kaaWaitSync(pScreen); - ATIDMATeardown(pScreen); -} - -void -ATIDrawFini(ScreenPtr pScreen) -{ -#ifdef USE_DRI - KdScreenPriv(pScreen); - ATIScreenInfo(pScreenPriv); - if (atis->using_dri) { - ATIDRICloseScreen(pScreen); - atis->using_dri = FALSE; - } -#endif /* USE_DRI */ - - RemoveBlockAndWakeupHandlers(ATIBlockHandler, ATIWakeupHandler, - pScreen); - - kaaDrawFini(pScreen); -} - diff --git a/xorg-server/hw/kdrive/ati/ati_draw.h b/xorg-server/hw/kdrive/ati/ati_draw.h deleted file mode 100644 index 98a130a7b..000000000 --- a/xorg-server/hw/kdrive/ati/ati_draw.h +++ /dev/null @@ -1,93 +0,0 @@ -/* - * Copyright © 2004 Eric Anholt - * - * 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. - */ - -#ifndef _ATI_DRAW_H_ -#define _ATI_DRAW_H_ - -Bool ATIGetOffsetPitch(ATIScreenInfo *atis, int bpp, CARD32 *pitch_offset, - int offset, int pitch); -Bool ATIGetPixmapOffsetPitch(PixmapPtr pPix, CARD32 *pitch_offset); - -Bool R128CheckComposite(int op, PicturePtr pSrcPicture, PicturePtr pMaskPicture, - PicturePtr pDstPicture); -Bool R128PrepareComposite(int op, PicturePtr pSrcPicture, - PicturePtr pMaskPicture, PicturePtr pDstPicture, PixmapPtr pSrc, - PixmapPtr pMask, PixmapPtr pDst); -void R128Composite(int srcX, int srcY, int maskX, int maskY, int dstX, int dstY, - int w, int h); -void R128DoneComposite(void); - -Bool R128PrepareTrapezoids(PicturePtr pDstPicture, PixmapPtr pDst); -void R128Trapezoids(KaaTrapezoid *traps, int ntraps); -void R128DoneTrapezoids(void); - -Bool R100CheckComposite(int op, PicturePtr pSrcPicture, PicturePtr pMaskPicture, - PicturePtr pDstPicture); -Bool R100PrepareComposite(int op, PicturePtr pSrcPicture, - PicturePtr pMaskPicture, PicturePtr pDstPicture, PixmapPtr pSrc, - PixmapPtr pMask, PixmapPtr pDst); -Bool R200CheckComposite(int op, PicturePtr pSrcPicture, PicturePtr pMaskPicture, - PicturePtr pDstPicture); -Bool R200PrepareComposite(int op, PicturePtr pSrcPicture, - PicturePtr pMaskPicture, PicturePtr pDstPicture, PixmapPtr pSrc, - PixmapPtr pMask, PixmapPtr pDst); -void RadeonComposite(int srcX, int srcY, int maskX, int maskY, int dstX, - int dstY, int w, int h); -void RadeonDoneComposite(void); - -Bool RadeonPrepareTrapezoids(PicturePtr pDstPicture, PixmapPtr pDst); -void RadeonTrapezoids(KaaTrapezoid *traps, int ntraps); -void RadeonDoneTrapezoids(void); - -void RadeonSwitchTo2D(ATIScreenInfo *atis); -void RadeonSwitchTo3D(ATIScreenInfo *atis); -void ATIWaitIdle(ATIScreenInfo *atis); - -#define ATI_TRACE_FALL 0 -#define ATI_TRACE_DRAW 0 - -#if ATI_TRACE_FALL -#define ATI_FALLBACK(x) \ -do { \ - ErrorF("%s: ", __FUNCTION__); \ - ErrorF x; \ - return FALSE; \ -} while (0) -#else -#define ATI_FALLBACK(x) return FALSE -#endif - -#if ATI_TRACE_DRAW -#define ENTER_DRAW(pix) ATIEnterDraw(pix, __FUNCTION__) -#define LEAVE_DRAW(pix) ATILeaveDraw(pix, __FUNCTION__) - -void -ATIEnterDraw (PixmapPtr pPixmap, char *function); - -void -ATILeaveDraw (PixmapPtr pPixmap, char *function); -#else /* ATI_TRACE */ -#define ENTER_DRAW(pix) -#define LEAVE_DRAW(pix) -#endif /* !ATI_TRACE */ - -#endif /* _ATI_DRAW_H_ */ diff --git a/xorg-server/hw/kdrive/ati/ati_microcode.c b/xorg-server/hw/kdrive/ati/ati_microcode.c deleted file mode 100644 index f8829e823..000000000 --- a/xorg-server/hw/kdrive/ati/ati_microcode.c +++ /dev/null @@ -1,857 +0,0 @@ -/* r128_cce.c -- ATI Rage 128 driver -*- linux-c -*- - * radeon_cp.c -- CP support for Radeon -*- linux-c -*- - * - * Copyright 2000 Precision Insight, Inc., Cedar Park, Texas. - * Copyright 2000 VA Linux Systems, Inc., Fremont, California. - * 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 (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 - * 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 - * Gareth Hughes - */ - -/* CCE microcode (from ATI) */ - -#include "ati.h" - -CARD32 r128_cce_microcode[] = { - 0, 276838400, 0, 268449792, 2, 142, 2, 145, 0, 1076765731, 0, - 1617039951, 0, 774592877, 0, 1987540286, 0, 2307490946U, 0, - 599558925, 0, 589505315, 0, 596487092, 0, 589505315, 1, - 11544576, 1, 206848, 1, 311296, 1, 198656, 2, 912273422, 11, - 262144, 0, 0, 1, 33559837, 1, 7438, 1, 14809, 1, 6615, 12, 28, - 1, 6614, 12, 28, 2, 23, 11, 18874368, 0, 16790922, 1, 409600, 9, - 30, 1, 147854772, 16, 420483072, 3, 8192, 0, 10240, 1, 198656, - 1, 15630, 1, 51200, 10, 34858, 9, 42, 1, 33559823, 2, 10276, 1, - 15717, 1, 15718, 2, 43, 1, 15936948, 1, 570480831, 1, 14715071, - 12, 322123831, 1, 33953125, 12, 55, 1, 33559908, 1, 15718, 2, - 46, 4, 2099258, 1, 526336, 1, 442623, 4, 4194365, 1, 509952, 1, - 459007, 3, 0, 12, 92, 2, 46, 12, 176, 1, 15734, 1, 206848, 1, - 18432, 1, 133120, 1, 100670734, 1, 149504, 1, 165888, 1, - 15975928, 1, 1048576, 6, 3145806, 1, 15715, 16, 2150645232U, 2, - 268449859, 2, 10307, 12, 176, 1, 15734, 1, 15735, 1, 15630, 1, - 15631, 1, 5253120, 6, 3145810, 16, 2150645232U, 1, 15864, 2, 82, - 1, 343310, 1, 1064207, 2, 3145813, 1, 15728, 1, 7817, 1, 15729, - 3, 15730, 12, 92, 2, 98, 1, 16168, 1, 16167, 1, 16002, 1, 16008, - 1, 15974, 1, 15975, 1, 15990, 1, 15976, 1, 15977, 1, 15980, 0, - 15981, 1, 10240, 1, 5253120, 1, 15720, 1, 198656, 6, 110, 1, - 180224, 1, 103824738, 2, 112, 2, 3145839, 0, 536885440, 1, - 114880, 14, 125, 12, 206975, 1, 33559995, 12, 198784, 0, - 33570236, 1, 15803, 0, 15804, 3, 294912, 1, 294912, 3, 442370, - 1, 11544576, 0, 811612160, 1, 12593152, 1, 11536384, 1, - 14024704, 7, 310382726, 0, 10240, 1, 14796, 1, 14797, 1, 14793, - 1, 14794, 0, 14795, 1, 268679168, 1, 9437184, 1, 268449792, 1, - 198656, 1, 9452827, 1, 1075854602, 1, 1075854603, 1, 557056, 1, - 114880, 14, 159, 12, 198784, 1, 1109409213, 12, 198783, 1, - 1107312059, 12, 198784, 1, 1109409212, 2, 162, 1, 1075854781, 1, - 1073757627, 1, 1075854780, 1, 540672, 1, 10485760, 6, 3145894, - 16, 274741248, 9, 168, 3, 4194304, 3, 4209949, 0, 0, 0, 256, 14, - 174, 1, 114857, 1, 33560007, 12, 176, 0, 10240, 1, 114858, 1, - 33560018, 1, 114857, 3, 33560007, 1, 16008, 1, 114874, 1, - 33560360, 1, 114875, 1, 33560154, 0, 15963, 0, 256, 0, 4096, 1, - 409611, 9, 188, 0, 10240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 -}; - -CARD32 radeon_cp_microcode[][2] = { - { 0x21007000, 0000000000 }, - { 0x20007000, 0000000000 }, - { 0x000000b4, 0x00000004 }, - { 0x000000b8, 0x00000004 }, - { 0x6f5b4d4c, 0000000000 }, - { 0x4c4c427f, 0000000000 }, - { 0x5b568a92, 0000000000 }, - { 0x4ca09c6d, 0000000000 }, - { 0xad4c4c4c, 0000000000 }, - { 0x4ce1af3d, 0000000000 }, - { 0xd8afafaf, 0000000000 }, - { 0xd64c4cdc, 0000000000 }, - { 0x4cd10d10, 0000000000 }, - { 0x000f0000, 0x00000016 }, - { 0x362f242d, 0000000000 }, - { 0x00000012, 0x00000004 }, - { 0x000f0000, 0x00000016 }, - { 0x362f282d, 0000000000 }, - { 0x000380e7, 0x00000002 }, - { 0x04002c97, 0x00000002 }, - { 0x000f0001, 0x00000016 }, - { 0x333a3730, 0000000000 }, - { 0x000077ef, 0x00000002 }, - { 0x00061000, 0x00000002 }, - { 0x00000021, 0x0000001a }, - { 0x00004000, 0x0000001e }, - { 0x00061000, 0x00000002 }, - { 0x00000021, 0x0000001a }, - { 0x00004000, 0x0000001e }, - { 0x00061000, 0x00000002 }, - { 0x00000021, 0x0000001a }, - { 0x00004000, 0x0000001e }, - { 0x00000017, 0x00000004 }, - { 0x0003802b, 0x00000002 }, - { 0x040067e0, 0x00000002 }, - { 0x00000017, 0x00000004 }, - { 0x000077e0, 0x00000002 }, - { 0x00065000, 0x00000002 }, - { 0x000037e1, 0x00000002 }, - { 0x040067e1, 0x00000006 }, - { 0x000077e0, 0x00000002 }, - { 0x000077e1, 0x00000002 }, - { 0x000077e1, 0x00000006 }, - { 0xffffffff, 0000000000 }, - { 0x10000000, 0000000000 }, - { 0x0003802b, 0x00000002 }, - { 0x040067e0, 0x00000006 }, - { 0x00007675, 0x00000002 }, - { 0x00007676, 0x00000002 }, - { 0x00007677, 0x00000002 }, - { 0x00007678, 0x00000006 }, - { 0x0003802c, 0x00000002 }, - { 0x04002676, 0x00000002 }, - { 0x00007677, 0x00000002 }, - { 0x00007678, 0x00000006 }, - { 0x0000002f, 0x00000018 }, - { 0x0000002f, 0x00000018 }, - { 0000000000, 0x00000006 }, - { 0x00000030, 0x00000018 }, - { 0x00000030, 0x00000018 }, - { 0000000000, 0x00000006 }, - { 0x01605000, 0x00000002 }, - { 0x00065000, 0x00000002 }, - { 0x00098000, 0x00000002 }, - { 0x00061000, 0x00000002 }, - { 0x64c0603e, 0x00000004 }, - { 0x000380e6, 0x00000002 }, - { 0x040025c5, 0x00000002 }, - { 0x00080000, 0x00000016 }, - { 0000000000, 0000000000 }, - { 0x0400251d, 0x00000002 }, - { 0x00007580, 0x00000002 }, - { 0x00067581, 0x00000002 }, - { 0x04002580, 0x00000002 }, - { 0x00067581, 0x00000002 }, - { 0x00000049, 0x00000004 }, - { 0x00005000, 0000000000 }, - { 0x000380e6, 0x00000002 }, - { 0x040025c5, 0x00000002 }, - { 0x00061000, 0x00000002 }, - { 0x0000750e, 0x00000002 }, - { 0x00019000, 0x00000002 }, - { 0x00011055, 0x00000014 }, - { 0x00000055, 0x00000012 }, - { 0x0400250f, 0x00000002 }, - { 0x0000504f, 0x00000004 }, - { 0x000380e6, 0x00000002 }, - { 0x040025c5, 0x00000002 }, - { 0x00007565, 0x00000002 }, - { 0x00007566, 0x00000002 }, - { 0x00000058, 0x00000004 }, - { 0x000380e6, 0x00000002 }, - { 0x040025c5, 0x00000002 }, - { 0x01e655b4, 0x00000002 }, - { 0x4401b0e4, 0x00000002 }, - { 0x01c110e4, 0x00000002 }, - { 0x26667066, 0x00000018 }, - { 0x040c2565, 0x00000002 }, - { 0x00000066, 0x00000018 }, - { 0x04002564, 0x00000002 }, - { 0x00007566, 0x00000002 }, - { 0x0000005d, 0x00000004 }, - { 0x00401069, 0x00000008 }, - { 0x00101000, 0x00000002 }, - { 0x000d80ff, 0x00000002 }, - { 0x0080006c, 0x00000008 }, - { 0x000f9000, 0x00000002 }, - { 0x000e00ff, 0x00000002 }, - { 0000000000, 0x00000006 }, - { 0x0000008f, 0x00000018 }, - { 0x0000005b, 0x00000004 }, - { 0x000380e6, 0x00000002 }, - { 0x040025c5, 0x00000002 }, - { 0x00007576, 0x00000002 }, - { 0x00065000, 0x00000002 }, - { 0x00009000, 0x00000002 }, - { 0x00041000, 0x00000002 }, - { 0x0c00350e, 0x00000002 }, - { 0x00049000, 0x00000002 }, - { 0x00051000, 0x00000002 }, - { 0x01e785f8, 0x00000002 }, - { 0x00200000, 0x00000002 }, - { 0x0060007e, 0x0000000c }, - { 0x00007563, 0x00000002 }, - { 0x006075f0, 0x00000021 }, - { 0x20007073, 0x00000004 }, - { 0x00005073, 0x00000004 }, - { 0x000380e6, 0x00000002 }, - { 0x040025c5, 0x00000002 }, - { 0x00007576, 0x00000002 }, - { 0x00007577, 0x00000002 }, - { 0x0000750e, 0x00000002 }, - { 0x0000750f, 0x00000002 }, - { 0x00a05000, 0x00000002 }, - { 0x00600083, 0x0000000c }, - { 0x006075f0, 0x00000021 }, - { 0x000075f8, 0x00000002 }, - { 0x00000083, 0x00000004 }, - { 0x000a750e, 0x00000002 }, - { 0x000380e6, 0x00000002 }, - { 0x040025c5, 0x00000002 }, - { 0x0020750f, 0x00000002 }, - { 0x00600086, 0x00000004 }, - { 0x00007570, 0x00000002 }, - { 0x00007571, 0x00000002 }, - { 0x00007572, 0x00000006 }, - { 0x000380e6, 0x00000002 }, - { 0x040025c5, 0x00000002 }, - { 0x00005000, 0x00000002 }, - { 0x00a05000, 0x00000002 }, - { 0x00007568, 0x00000002 }, - { 0x00061000, 0x00000002 }, - { 0x00000095, 0x0000000c }, - { 0x00058000, 0x00000002 }, - { 0x0c607562, 0x00000002 }, - { 0x00000097, 0x00000004 }, - { 0x000380e6, 0x00000002 }, - { 0x040025c5, 0x00000002 }, - { 0x00600096, 0x00000004 }, - { 0x400070e5, 0000000000 }, - { 0x000380e6, 0x00000002 }, - { 0x040025c5, 0x00000002 }, - { 0x000380e5, 0x00000002 }, - { 0x000000a8, 0x0000001c }, - { 0x000650aa, 0x00000018 }, - { 0x040025bb, 0x00000002 }, - { 0x000610ab, 0x00000018 }, - { 0x040075bc, 0000000000 }, - { 0x000075bb, 0x00000002 }, - { 0x000075bc, 0000000000 }, - { 0x00090000, 0x00000006 }, - { 0x00090000, 0x00000002 }, - { 0x000d8002, 0x00000006 }, - { 0x00007832, 0x00000002 }, - { 0x00005000, 0x00000002 }, - { 0x000380e7, 0x00000002 }, - { 0x04002c97, 0x00000002 }, - { 0x00007820, 0x00000002 }, - { 0x00007821, 0x00000002 }, - { 0x00007800, 0000000000 }, - { 0x01200000, 0x00000002 }, - { 0x20077000, 0x00000002 }, - { 0x01200000, 0x00000002 }, - { 0x20007000, 0x00000002 }, - { 0x00061000, 0x00000002 }, - { 0x0120751b, 0x00000002 }, - { 0x8040750a, 0x00000002 }, - { 0x8040750b, 0x00000002 }, - { 0x00110000, 0x00000002 }, - { 0x000380e5, 0x00000002 }, - { 0x000000c6, 0x0000001c }, - { 0x000610ab, 0x00000018 }, - { 0x844075bd, 0x00000002 }, - { 0x000610aa, 0x00000018 }, - { 0x840075bb, 0x00000002 }, - { 0x000610ab, 0x00000018 }, - { 0x844075bc, 0x00000002 }, - { 0x000000c9, 0x00000004 }, - { 0x804075bd, 0x00000002 }, - { 0x800075bb, 0x00000002 }, - { 0x804075bc, 0x00000002 }, - { 0x00108000, 0x00000002 }, - { 0x01400000, 0x00000002 }, - { 0x006000cd, 0x0000000c }, - { 0x20c07000, 0x00000020 }, - { 0x000000cf, 0x00000012 }, - { 0x00800000, 0x00000006 }, - { 0x0080751d, 0x00000006 }, - { 0000000000, 0000000000 }, - { 0x0000775c, 0x00000002 }, - { 0x00a05000, 0x00000002 }, - { 0x00661000, 0x00000002 }, - { 0x0460275d, 0x00000020 }, - { 0x00004000, 0000000000 }, - { 0x01e00830, 0x00000002 }, - { 0x21007000, 0000000000 }, - { 0x6464614d, 0000000000 }, - { 0x69687420, 0000000000 }, - { 0x00000073, 0000000000 }, - { 0000000000, 0000000000 }, - { 0x00005000, 0x00000002 }, - { 0x000380d0, 0x00000002 }, - { 0x040025e0, 0x00000002 }, - { 0x000075e1, 0000000000 }, - { 0x00000001, 0000000000 }, - { 0x000380e0, 0x00000002 }, - { 0x04002394, 0x00000002 }, - { 0x00005000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0x00000008, 0000000000 }, - { 0x00000004, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, -}; - -CARD32 r200_cp_microcode[][2] = { - { 0x21007000, 0000000000 }, - { 0x20007000, 0000000000 }, - { 0x000000ab, 0x00000004 }, - { 0x000000af, 0x00000004 }, - { 0x66544a49, 0000000000 }, - { 0x49494174, 0000000000 }, - { 0x54517d83, 0000000000 }, - { 0x498d8b64, 0000000000 }, - { 0x49494949, 0000000000 }, - { 0x49da493c, 0000000000 }, - { 0x49989898, 0000000000 }, - { 0xd34949d5, 0000000000 }, - { 0x9dc90e11, 0000000000 }, - { 0xce9b9b9b, 0000000000 }, - { 0x000f0000, 0x00000016 }, - { 0x352e232c, 0000000000 }, - { 0x00000013, 0x00000004 }, - { 0x000f0000, 0x00000016 }, - { 0x352e272c, 0000000000 }, - { 0x000f0001, 0x00000016 }, - { 0x3239362f, 0000000000 }, - { 0x000077ef, 0x00000002 }, - { 0x00061000, 0x00000002 }, - { 0x00000020, 0x0000001a }, - { 0x00004000, 0x0000001e }, - { 0x00061000, 0x00000002 }, - { 0x00000020, 0x0000001a }, - { 0x00004000, 0x0000001e }, - { 0x00061000, 0x00000002 }, - { 0x00000020, 0x0000001a }, - { 0x00004000, 0x0000001e }, - { 0x00000016, 0x00000004 }, - { 0x0003802a, 0x00000002 }, - { 0x040067e0, 0x00000002 }, - { 0x00000016, 0x00000004 }, - { 0x000077e0, 0x00000002 }, - { 0x00065000, 0x00000002 }, - { 0x000037e1, 0x00000002 }, - { 0x040067e1, 0x00000006 }, - { 0x000077e0, 0x00000002 }, - { 0x000077e1, 0x00000002 }, - { 0x000077e1, 0x00000006 }, - { 0xffffffff, 0000000000 }, - { 0x10000000, 0000000000 }, - { 0x0003802a, 0x00000002 }, - { 0x040067e0, 0x00000006 }, - { 0x00007675, 0x00000002 }, - { 0x00007676, 0x00000002 }, - { 0x00007677, 0x00000002 }, - { 0x00007678, 0x00000006 }, - { 0x0003802b, 0x00000002 }, - { 0x04002676, 0x00000002 }, - { 0x00007677, 0x00000002 }, - { 0x00007678, 0x00000006 }, - { 0x0000002e, 0x00000018 }, - { 0x0000002e, 0x00000018 }, - { 0000000000, 0x00000006 }, - { 0x0000002f, 0x00000018 }, - { 0x0000002f, 0x00000018 }, - { 0000000000, 0x00000006 }, - { 0x01605000, 0x00000002 }, - { 0x00065000, 0x00000002 }, - { 0x00098000, 0x00000002 }, - { 0x00061000, 0x00000002 }, - { 0x64c0603d, 0x00000004 }, - { 0x00080000, 0x00000016 }, - { 0000000000, 0000000000 }, - { 0x0400251d, 0x00000002 }, - { 0x00007580, 0x00000002 }, - { 0x00067581, 0x00000002 }, - { 0x04002580, 0x00000002 }, - { 0x00067581, 0x00000002 }, - { 0x00000046, 0x00000004 }, - { 0x00005000, 0000000000 }, - { 0x00061000, 0x00000002 }, - { 0x0000750e, 0x00000002 }, - { 0x00019000, 0x00000002 }, - { 0x00011055, 0x00000014 }, - { 0x00000055, 0x00000012 }, - { 0x0400250f, 0x00000002 }, - { 0x0000504a, 0x00000004 }, - { 0x00007565, 0x00000002 }, - { 0x00007566, 0x00000002 }, - { 0x00000051, 0x00000004 }, - { 0x01e655b4, 0x00000002 }, - { 0x4401b0dc, 0x00000002 }, - { 0x01c110dc, 0x00000002 }, - { 0x2666705d, 0x00000018 }, - { 0x040c2565, 0x00000002 }, - { 0x0000005d, 0x00000018 }, - { 0x04002564, 0x00000002 }, - { 0x00007566, 0x00000002 }, - { 0x00000054, 0x00000004 }, - { 0x00401060, 0x00000008 }, - { 0x00101000, 0x00000002 }, - { 0x000d80ff, 0x00000002 }, - { 0x00800063, 0x00000008 }, - { 0x000f9000, 0x00000002 }, - { 0x000e00ff, 0x00000002 }, - { 0000000000, 0x00000006 }, - { 0x00000080, 0x00000018 }, - { 0x00000054, 0x00000004 }, - { 0x00007576, 0x00000002 }, - { 0x00065000, 0x00000002 }, - { 0x00009000, 0x00000002 }, - { 0x00041000, 0x00000002 }, - { 0x0c00350e, 0x00000002 }, - { 0x00049000, 0x00000002 }, - { 0x00051000, 0x00000002 }, - { 0x01e785f8, 0x00000002 }, - { 0x00200000, 0x00000002 }, - { 0x00600073, 0x0000000c }, - { 0x00007563, 0x00000002 }, - { 0x006075f0, 0x00000021 }, - { 0x20007068, 0x00000004 }, - { 0x00005068, 0x00000004 }, - { 0x00007576, 0x00000002 }, - { 0x00007577, 0x00000002 }, - { 0x0000750e, 0x00000002 }, - { 0x0000750f, 0x00000002 }, - { 0x00a05000, 0x00000002 }, - { 0x00600076, 0x0000000c }, - { 0x006075f0, 0x00000021 }, - { 0x000075f8, 0x00000002 }, - { 0x00000076, 0x00000004 }, - { 0x000a750e, 0x00000002 }, - { 0x0020750f, 0x00000002 }, - { 0x00600079, 0x00000004 }, - { 0x00007570, 0x00000002 }, - { 0x00007571, 0x00000002 }, - { 0x00007572, 0x00000006 }, - { 0x00005000, 0x00000002 }, - { 0x00a05000, 0x00000002 }, - { 0x00007568, 0x00000002 }, - { 0x00061000, 0x00000002 }, - { 0x00000084, 0x0000000c }, - { 0x00058000, 0x00000002 }, - { 0x0c607562, 0x00000002 }, - { 0x00000086, 0x00000004 }, - { 0x00600085, 0x00000004 }, - { 0x400070dd, 0000000000 }, - { 0x000380dd, 0x00000002 }, - { 0x00000093, 0x0000001c }, - { 0x00065095, 0x00000018 }, - { 0x040025bb, 0x00000002 }, - { 0x00061096, 0x00000018 }, - { 0x040075bc, 0000000000 }, - { 0x000075bb, 0x00000002 }, - { 0x000075bc, 0000000000 }, - { 0x00090000, 0x00000006 }, - { 0x00090000, 0x00000002 }, - { 0x000d8002, 0x00000006 }, - { 0x00005000, 0x00000002 }, - { 0x00007821, 0x00000002 }, - { 0x00007800, 0000000000 }, - { 0x00007821, 0x00000002 }, - { 0x00007800, 0000000000 }, - { 0x01665000, 0x00000002 }, - { 0x000a0000, 0x00000002 }, - { 0x000671cc, 0x00000002 }, - { 0x0286f1cd, 0x00000002 }, - { 0x000000a3, 0x00000010 }, - { 0x21007000, 0000000000 }, - { 0x000000aa, 0x0000001c }, - { 0x00065000, 0x00000002 }, - { 0x000a0000, 0x00000002 }, - { 0x00061000, 0x00000002 }, - { 0x000b0000, 0x00000002 }, - { 0x38067000, 0x00000002 }, - { 0x000a00a6, 0x00000004 }, - { 0x20007000, 0000000000 }, - { 0x01200000, 0x00000002 }, - { 0x20077000, 0x00000002 }, - { 0x01200000, 0x00000002 }, - { 0x20007000, 0000000000 }, - { 0x00061000, 0x00000002 }, - { 0x0120751b, 0x00000002 }, - { 0x8040750a, 0x00000002 }, - { 0x8040750b, 0x00000002 }, - { 0x00110000, 0x00000002 }, - { 0x000380dd, 0x00000002 }, - { 0x000000bd, 0x0000001c }, - { 0x00061096, 0x00000018 }, - { 0x844075bd, 0x00000002 }, - { 0x00061095, 0x00000018 }, - { 0x840075bb, 0x00000002 }, - { 0x00061096, 0x00000018 }, - { 0x844075bc, 0x00000002 }, - { 0x000000c0, 0x00000004 }, - { 0x804075bd, 0x00000002 }, - { 0x800075bb, 0x00000002 }, - { 0x804075bc, 0x00000002 }, - { 0x00108000, 0x00000002 }, - { 0x01400000, 0x00000002 }, - { 0x006000c4, 0x0000000c }, - { 0x20c07000, 0x00000020 }, - { 0x000000c6, 0x00000012 }, - { 0x00800000, 0x00000006 }, - { 0x0080751d, 0x00000006 }, - { 0x000025bb, 0x00000002 }, - { 0x000040c0, 0x00000004 }, - { 0x0000775c, 0x00000002 }, - { 0x00a05000, 0x00000002 }, - { 0x00661000, 0x00000002 }, - { 0x0460275d, 0x00000020 }, - { 0x00004000, 0000000000 }, - { 0x00007999, 0x00000002 }, - { 0x00a05000, 0x00000002 }, - { 0x00661000, 0x00000002 }, - { 0x0460299b, 0x00000020 }, - { 0x00004000, 0000000000 }, - { 0x01e00830, 0x00000002 }, - { 0x21007000, 0000000000 }, - { 0x00005000, 0x00000002 }, - { 0x00038042, 0x00000002 }, - { 0x040025e0, 0x00000002 }, - { 0x000075e1, 0000000000 }, - { 0x00000001, 0000000000 }, - { 0x000380d9, 0x00000002 }, - { 0x04007394, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, -}; - -/* Microcode from http://volodya-project.sourceforge.net/ */ - -CARD32 r300_cp_microcode[][2] = { - { 0x4200e000, 0000000000 }, - { 0x4000e000, 0000000000 }, - { 0x000000af, 0x00000008 }, - { 0x000000b3, 0x00000008 }, - { 0x6c5a504f, 0000000000 }, - { 0x4f4f497a, 0000000000 }, - { 0x5a578288, 0000000000 }, - { 0x4f91906a, 0000000000 }, - { 0x4f4f4f4f, 0000000000 }, - { 0x4fe24f44, 0000000000 }, - { 0x4f9c9c9c, 0000000000 }, - { 0xdc4f4fde, 0000000000 }, - { 0xa1cd4f4f, 0000000000 }, - { 0xd29d9d9d, 0000000000 }, - { 0x4f0f9fd7, 0000000000 }, - { 0x000ca000, 0x00000004 }, - { 0x000d0012, 0x00000038 }, - { 0x0000e8b4, 0x00000004 }, - { 0x000d0014, 0x00000038 }, - { 0x0000e8b6, 0x00000004 }, - { 0x000d0016, 0x00000038 }, - { 0x0000e854, 0x00000004 }, - { 0x000d0018, 0x00000038 }, - { 0x0000e855, 0x00000004 }, - { 0x000d001a, 0x00000038 }, - { 0x0000e856, 0x00000004 }, - { 0x000d001c, 0x00000038 }, - { 0x0000e857, 0x00000004 }, - { 0x000d001e, 0x00000038 }, - { 0x0000e824, 0x00000004 }, - { 0x000d0020, 0x00000038 }, - { 0x0000e825, 0x00000004 }, - { 0x000d0022, 0x00000038 }, - { 0x0000e830, 0x00000004 }, - { 0x000d0024, 0x00000038 }, - { 0x0000f0c0, 0x00000004 }, - { 0x000d0026, 0x00000038 }, - { 0x0000f0c1, 0x00000004 }, - { 0x000d0028, 0x00000038 }, - { 0x0000f041, 0x00000004 }, - { 0x000d002a, 0x00000038 }, - { 0x0000f184, 0x00000004 }, - { 0x000d002c, 0x00000038 }, - { 0x0000f185, 0x00000004 }, - { 0x000d002e, 0x00000038 }, - { 0x0000f186, 0x00000004 }, - { 0x000d0030, 0x00000038 }, - { 0x0000f187, 0x00000004 }, - { 0x000d0032, 0x00000038 }, - { 0x0000f180, 0x00000004 }, - { 0x000d0034, 0x00000038 }, - { 0x0000f393, 0x00000004 }, - { 0x000d0036, 0x00000038 }, - { 0x0000f38a, 0x00000004 }, - { 0x000d0038, 0x00000038 }, - { 0x0000f38e, 0x00000004 }, - { 0x0000e821, 0x00000004 }, - { 0x0140a000, 0x00000004 }, - { 0x00000043, 0x00000018 }, - { 0x00cce800, 0x00000004 }, - { 0x001b0001, 0x00000004 }, - { 0x08004800, 0x00000004 }, - { 0x001b0001, 0x00000004 }, - { 0x08004800, 0x00000004 }, - { 0x001b0001, 0x00000004 }, - { 0x08004800, 0x00000004 }, - { 0x0000003a, 0x00000008 }, - { 0x0000a000, 0000000000 }, - { 0x02c0a000, 0x00000004 }, - { 0x000ca000, 0x00000004 }, - { 0x00130000, 0x00000004 }, - { 0x000c2000, 0x00000004 }, - { 0xc980c045, 0x00000008 }, - { 0x2000451d, 0x00000004 }, - { 0x0000e580, 0x00000004 }, - { 0x000ce581, 0x00000004 }, - { 0x08004580, 0x00000004 }, - { 0x000ce581, 0x00000004 }, - { 0x0000004c, 0x00000008 }, - { 0x0000a000, 0000000000 }, - { 0x000c2000, 0x00000004 }, - { 0x0000e50e, 0x00000004 }, - { 0x00032000, 0x00000004 }, - { 0x00022056, 0x00000028 }, - { 0x00000056, 0x00000024 }, - { 0x0800450f, 0x00000004 }, - { 0x0000a050, 0x00000008 }, - { 0x0000e565, 0x00000004 }, - { 0x0000e566, 0x00000004 }, - { 0x00000057, 0x00000008 }, - { 0x03cca5b4, 0x00000004 }, - { 0x05432000, 0x00000004 }, - { 0x00022000, 0x00000004 }, - { 0x4ccce063, 0x00000030 }, - { 0x08274565, 0x00000004 }, - { 0x00000063, 0x00000030 }, - { 0x08004564, 0x00000004 }, - { 0x0000e566, 0x00000004 }, - { 0x0000005a, 0x00000008 }, - { 0x00802066, 0x00000010 }, - { 0x00202000, 0x00000004 }, - { 0x001b00ff, 0x00000004 }, - { 0x01000069, 0x00000010 }, - { 0x001f2000, 0x00000004 }, - { 0x001c00ff, 0x00000004 }, - { 0000000000, 0x0000000c }, - { 0x00000085, 0x00000030 }, - { 0x0000005a, 0x00000008 }, - { 0x0000e576, 0x00000004 }, - { 0x000ca000, 0x00000004 }, - { 0x00012000, 0x00000004 }, - { 0x00082000, 0x00000004 }, - { 0x1800650e, 0x00000004 }, - { 0x00092000, 0x00000004 }, - { 0x000a2000, 0x00000004 }, - { 0x000f0000, 0x00000004 }, - { 0x00400000, 0x00000004 }, - { 0x00000079, 0x00000018 }, - { 0x0000e563, 0x00000004 }, - { 0x00c0e5f9, 0x000000c2 }, - { 0x0000006e, 0x00000008 }, - { 0x0000a06e, 0x00000008 }, - { 0x0000e576, 0x00000004 }, - { 0x0000e577, 0x00000004 }, - { 0x0000e50e, 0x00000004 }, - { 0x0000e50f, 0x00000004 }, - { 0x0140a000, 0x00000004 }, - { 0x0000007c, 0x00000018 }, - { 0x00c0e5f9, 0x000000c2 }, - { 0x0000007c, 0x00000008 }, - { 0x0014e50e, 0x00000004 }, - { 0x0040e50f, 0x00000004 }, - { 0x00c0007f, 0x00000008 }, - { 0x0000e570, 0x00000004 }, - { 0x0000e571, 0x00000004 }, - { 0x0000e572, 0x0000000c }, - { 0x0000a000, 0x00000004 }, - { 0x0140a000, 0x00000004 }, - { 0x0000e568, 0x00000004 }, - { 0x000c2000, 0x00000004 }, - { 0x00000089, 0x00000018 }, - { 0x000b0000, 0x00000004 }, - { 0x18c0e562, 0x00000004 }, - { 0x0000008b, 0x00000008 }, - { 0x00c0008a, 0x00000008 }, - { 0x000700e4, 0x00000004 }, - { 0x00000097, 0x00000038 }, - { 0x000ca099, 0x00000030 }, - { 0x080045bb, 0x00000004 }, - { 0x000c209a, 0x00000030 }, - { 0x0800e5bc, 0000000000 }, - { 0x0000e5bb, 0x00000004 }, - { 0x0000e5bc, 0000000000 }, - { 0x00120000, 0x0000000c }, - { 0x00120000, 0x00000004 }, - { 0x001b0002, 0x0000000c }, - { 0x0000a000, 0x00000004 }, - { 0x0000e821, 0x00000004 }, - { 0x0000e800, 0000000000 }, - { 0x0000e821, 0x00000004 }, - { 0x0000e82e, 0000000000 }, - { 0x02cca000, 0x00000004 }, - { 0x00140000, 0x00000004 }, - { 0x000ce1cc, 0x00000004 }, - { 0x050de1cd, 0x00000004 }, - { 0x000000a7, 0x00000020 }, - { 0x4200e000, 0000000000 }, - { 0x000000ae, 0x00000038 }, - { 0x000ca000, 0x00000004 }, - { 0x00140000, 0x00000004 }, - { 0x000c2000, 0x00000004 }, - { 0x00160000, 0x00000004 }, - { 0x700ce000, 0x00000004 }, - { 0x001400aa, 0x00000008 }, - { 0x4000e000, 0000000000 }, - { 0x02400000, 0x00000004 }, - { 0x400ee000, 0x00000004 }, - { 0x02400000, 0x00000004 }, - { 0x4000e000, 0000000000 }, - { 0x000c2000, 0x00000004 }, - { 0x0240e51b, 0x00000004 }, - { 0x0080e50a, 0x00000005 }, - { 0x0080e50b, 0x00000005 }, - { 0x00220000, 0x00000004 }, - { 0x000700e4, 0x00000004 }, - { 0x000000c1, 0x00000038 }, - { 0x000c209a, 0x00000030 }, - { 0x0880e5bd, 0x00000005 }, - { 0x000c2099, 0x00000030 }, - { 0x0800e5bb, 0x00000005 }, - { 0x000c209a, 0x00000030 }, - { 0x0880e5bc, 0x00000005 }, - { 0x000000c4, 0x00000008 }, - { 0x0080e5bd, 0x00000005 }, - { 0x0000e5bb, 0x00000005 }, - { 0x0080e5bc, 0x00000005 }, - { 0x00210000, 0x00000004 }, - { 0x02800000, 0x00000004 }, - { 0x00c000c8, 0x00000018 }, - { 0x4180e000, 0x00000040 }, - { 0x000000ca, 0x00000024 }, - { 0x01000000, 0x0000000c }, - { 0x0100e51d, 0x0000000c }, - { 0x000045bb, 0x00000004 }, - { 0x000080c4, 0x00000008 }, - { 0x0000f3ce, 0x00000004 }, - { 0x0140a000, 0x00000004 }, - { 0x00cc2000, 0x00000004 }, - { 0x08c053cf, 0x00000040 }, - { 0x00008000, 0000000000 }, - { 0x0000f3d2, 0x00000004 }, - { 0x0140a000, 0x00000004 }, - { 0x00cc2000, 0x00000004 }, - { 0x08c053d3, 0x00000040 }, - { 0x00008000, 0000000000 }, - { 0x0000f39d, 0x00000004 }, - { 0x0140a000, 0x00000004 }, - { 0x00cc2000, 0x00000004 }, - { 0x08c0539e, 0x00000040 }, - { 0x00008000, 0000000000 }, - { 0x03c00830, 0x00000004 }, - { 0x4200e000, 0000000000 }, - { 0x0000a000, 0x00000004 }, - { 0x200045e0, 0x00000004 }, - { 0x0000e5e1, 0000000000 }, - { 0x00000001, 0000000000 }, - { 0x000700e1, 0x00000004 }, - { 0x0800e394, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, - { 0000000000, 0000000000 }, -}; diff --git a/xorg-server/hw/kdrive/ati/ati_reg.h b/xorg-server/hw/kdrive/ati/ati_reg.h deleted file mode 100644 index 3089cba04..000000000 --- a/xorg-server/hw/kdrive/ati/ati_reg.h +++ /dev/null @@ -1,1927 +0,0 @@ -/* - * Copyright © 2003 Eric Anholt - * - * 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. - */ - -/* Many of the Radeon and Rage 128 registers are the same. - * ATI_ should denote registers and values that are common for R128 and Radeon. - * - * The information in this file comes from many sources, including the Rage 128 - * DDK, Rage 128 register reference, the XFree86 and kernel Rage 128 and Radeon - * register definition headers, and bits from the Radeon DDK and RV200 register - * specs supplied by others. - */ - -#define ATI_REG_CLOCK_CNTL_INDEX 0x0008 -# define ATI_PLL_WR_EN (1 << 7) -# define ATI_PLL_DIV_SEL (3 << 8) - -#define ATI_REG_CLOCK_CNTL_DATA 0x000c - -#define ATI_REG_BUS_CNTL 0x0030 -# define ATI_BUS_MASTER_DIS (1 << 6) - -#define ATI_REG_GEN_INT_CNTL 0x0040 - -#define ATI_REG_GEN_CNTL 0x0050 -# define ATI_CRTC_DBL_SCAN_EN (1 << 0) /* 0x00000001 */ -# define ATI_CRTC_INTERLACE_EN (1 << 1) /* 0x00000002 */ -# define ATI_CRTC_CSYNC_EN (1 << 4) /* 0x00000010 */ -# define ATI_CRTC_PIX_WIDTH_MASK (7 << 8) /* 0x00000700 */ -# define ATI_CRTC_CUR_EN (1 << 16) /* 0x00010000 */ -# define ATI_CRTC_CUR_MODE_MASK (7 << 17) /* 0x000e0000 */ -# define ATI_CRTC_ICON_EN (1 << 20) /* 0x00100000 */ -# define ATI_CRTC_ARGB_EN (2 << 20) /* 0x00200000 */ -# define ATI_CRTC_EXT_DISP_EN (1 << 24) /* 0x01000000 */ -# define ATI_CRTC_EN (1 << 25) /* 0x02000000 */ -# define ATI_CRTC_DISP_REQ_EN_B (1 << 26) /* 0x04000000 */ - -#define ATI_REG_CRTC_EXT_CNTL 0x0054 -# define ATI_CRTC_EN (1 << 25) -# define ATI_CRTC_VGA_XOVERSCAN (1 << 0) -# define ATI_VGA_ATI_LINEAR (1 << 3) -# define ATI_XCRT_CNT_EN (1 << 6) -# define ATI_CRTC_HSYNC_DIS (1 << 8) -# define ATI_CRTC_VSYNC_DIS (1 << 9) -# define ATI_CRTC_DISPLAY_DIS (1 << 10) -# define RADEON_CRTC_SYNC_TRISTAT (1 << 11) -# define ATI_CRTC_CRT_ON (1 << 15) -# define R128_FP_OUT_EN (1 << 22) -# define R128_FP_ACTIVE (1 << 23) - -#define ATI_REG_DAC_CNTL 0x0058 -# define ATI_DAC_RANGE_CNTL (3 << 0) -# define ATI_DAC_BLANKING (1 << 2) -# define R128_DAC_CRT_SEL_CRTC2 (1 << 4) -# define ATI_DAC_CMP_EN (1 << 3) -# define R128_DAC_PALETTE_ACC_CTL (1 << 5) -# define ATI_DAC_CMP_OUTPUT (1 << 7) -# define ATI_DAC_8BIT_EN (1 << 8) -# define ATI_DAC_VGA_ADR_EN (1 << 13) -# define ATI_DAC_PDWN (1 << 15) -# define ATI_DAC_MASK_ALL (0xff << 24) - -#define ATI_REG_I2C_CNTL_1 0x0094 - -#define R128_REG_GEN_RESET_CNTL 0x00f0 -# define R128_SOFT_RESET_GUI (1 << 0) -# define R128_SOFT_RESET_VCLK (1 << 8) -# define R128_SOFT_RESET_PCLK (1 << 9) -# define R128_SOFT_RESET_DISPENG_XCLK (1 << 11) -# define R128_SOFT_RESET_MEMCTLR_XCLK (1 << 12) - -#define RADEON_REG_RBBM_SOFT_RESET 0x00f0 -# define RADEON_SOFT_RESET_CP (1 << 0) -# define RADEON_SOFT_RESET_HI (1 << 1) -# define RADEON_SOFT_RESET_SE (1 << 2) -# define RADEON_SOFT_RESET_RE (1 << 3) -# define RADEON_SOFT_RESET_PP (1 << 4) -# define RADEON_SOFT_RESET_E2 (1 << 5) -# define RADEON_SOFT_RESET_RB (1 << 6) -# define RADEON_SOFT_RESET_HDP (1 << 7) - -#define RADEON_REG_HOST_PATH_CNTL 0x0130 -# define RADEON_HDP_SOFT_RESET (1 << 26) - -#define ATI_REG_AGP_BASE 0x0170 - -#define ATI_REG_AGP_CNTL 0x0174 -# define R128_AGP_APER_SIZE_256MB (0x00 << 0) -# define R128_AGP_APER_SIZE_128MB (0x20 << 0) -# define R128_AGP_APER_SIZE_64MB (0x30 << 0) -# define R128_AGP_APER_SIZE_32MB (0x38 << 0) -# define R128_AGP_APER_SIZE_16MB (0x3c << 0) -# define R128_AGP_APER_SIZE_8MB (0x3e << 0) -# define R128_AGP_APER_SIZE_4MB (0x3f << 0) -# define R128_AGP_APER_SIZE_MASK (0x3f << 0) -# define RADEON_PENDING_SLOTS_VAL 0x00060000 -# define RADEON_PENDING_SLOTS_SEL 0x00080000 - -#define R128_REG_PCI_GART_PAGE 0x017c - -#define R128_REG_PC_NGUI_CTLSTAT 0x0184 -# define R128_PC_FLUSH_GUI (3 << 0) -# define R128_PC_RI_GUI (1 << 2) -# define R128_PC_FLUSH_ALL 0x00ff -# define R128_PC_BUSY (1 << 31) - -#define R128_REG_VIPH_CONTROL 0x01d0 - -#define ATI_REG_CRTC_H_TOTAL_DISP 0x0200 -#define ATI_REG_CRTC2_H_TOTAL_DISP 0x0300 -# define ATI_CRTC_H_TOTAL (0x01ff << 0) -# define ATI_CRTC_H_TOTAL_SHIFT 0 -# define ATI_CRTC_H_DISP (0x00ff << 16) -# define ATI_CRTC_H_DISP_SHIFT 16 - -#define ATI_REG_CRTC_H_SYNC_STRT_WID 0x0204 -#define ATI_REG_CRTC2_H_SYNC_STRT_WID 0x0304 -# define RADEON_CRTC_H_SYNC_STRT_PIX (0x07 << 0) -# define RADEON_CRTC_H_SYNC_STRT_CHAR (0x3ff << 3) -# define RADEON_CRTC_H_SYNC_STRT_CHAR_SHIFT 3 -# define RADEON_CRTC_H_SYNC_WID (0x3f << 16) -# define RADEON_CRTC_H_SYNC_WID_SHIFT 16 -# define RADEON_CRTC_H_SYNC_POL (1 << 23) - -#define ATI_REG_CRTC_OFFSET 0x0224 -#define ATI_REG_CRTC2_OFFSET 0x0324 -#define ATI_REG_CRTC_OFFSET_CNTL 0x0228 -#define ATI_REG_CRTC2_OFFSET_CNTL 0x0328 -#define ATI_REG_CRTC_PITCH 0x022c -#define ATI_REG_CRTC2_PITCH 0x032c - -#define ATI_REG_OVR_CLR 0x0230 -#define ATI_REG_OVR_WID_LEFT_RIGHT 0x0234 -#define ATI_REG_OVR_WID_TOP_BOTTOM 0x0238 - -#define ATI_REG_CUR_OFFSET 0x0260 -#define ATI_REG_CUR_HORZ_VERT_POSN 0x0264 -#define ATI_REG_CUR_HORZ_VERT_OFF 0x0268 -# define ATI_CUR_LOCK (1 << 31) -# define ATI_CURSOR_WIDTH 64 -# define ATI_CURSOR_HEIGHT 64 -# define ATI_CURSOR_PITCH 16 - -#define ATI_REG_CUR_CLR0 0x026c -#define ATI_REG_CUR_CLR1 0x0270 -#define ATI_REG_OV0_SCALE_CNTL 0x0420 -#define ATI_REG_SUBPIC_CNTL 0x0540 -#define ATI_REG_CAP0_TRIG_CNTL 0x0950 -#define RADEON_REG_VIPH_CONTROL 0x0c50 - -#define RADEON_REG_RBBM_STATUS 0x0e40 -# define RADEON_RBBM_FIFOCNT_MASK 0x007f -# define RADEON_RBBM_ACTIVE (1 << 31) - -#define ATI_REG_CCE_RB_BASE 0x0700 - -#define R128_REG_PM4_BUFFER_CNTL 0x0704 -# define R128_PM4_IN_FRAME_BUFFER (1 << 26) -# define R128_PM4_BUFFER_CNTL_NOUPDATE (1 << 27) -# define R128_PM4_NONPM4 (0 << 28) -# define R128_PM4_192PIO (1 << 28) -# define R128_PM4_192BM (2 << 28) -# define R128_PM4_128PIO_64INDBM (3 << 28) -# define R128_PM4_128BM_64INDBM (4 << 28) -# define R128_PM4_64PIO_128INDBM (5 << 28) -# define R128_PM4_64BM_128INDBM (6 << 28) -# define R128_PM4_64PIO_64VCBM_64INDBM (7 << 28) -# define R128_PM4_64BM_64VCBM_64INDBM (8 << 28) -# define R128_PM4_64PIO_64VCPIO_64INDPIO (15 << 28) - -#define RADEON_REG_CP_RB_CNTL 0x0704 - -#define R128_REG_PM4_BUFFER_WM_CNTL 0x0708 -# define R128_WMA_SHIFT 0 -# define R128_WMB_SHIFT 8 -# define R128_WMC_SHIFT 16 -# define R128_WB_WM_SHIFT 24 - -#define ATI_REG_CCE_RPTR_ADDR 0x070c -#define ATI_REG_CCE_RPTR 0x0710 -#define ATI_REG_CCE_WPTR 0x0714 -# define R128_PM4_BUFFER_DL_DONE (1 << 31) - -#define R128_REG_PM4_VC_FPU_SETUP 0x071c -# define R128_FRONT_DIR_CW (0 << 0) -# define R128_FRONT_DIR_CCW (1 << 0) -# define R128_FRONT_DIR_MASK (1 << 0) -# define R128_BACKFACE_CULL (0 << 1) -# define R128_BACKFACE_POINTS (1 << 1) -# define R128_BACKFACE_LINES (2 << 1) -# define R128_BACKFACE_SOLID (3 << 1) -# define R128_BACKFACE_MASK (3 << 1) -# define R128_FRONTFACE_CULL (0 << 3) -# define R128_FRONTFACE_POINTS (1 << 3) -# define R128_FRONTFACE_LINES (2 << 3) -# define R128_FRONTFACE_SOLID (3 << 3) -# define R128_FRONTFACE_MASK (3 << 3) -# define R128_FPU_COLOR_SOLID (0 << 5) -# define R128_FPU_COLOR_FLAT (1 << 5) -# define R128_FPU_COLOR_GOURAUD (2 << 5) -# define R128_FPU_COLOR_GOURAUD2 (3 << 5) -# define R128_FPU_COLOR_MASK (3 << 5) -# define R128_FPU_SUB_PIX_2BITS (0 << 7) -# define R128_FPU_SUB_PIX_4BITS (1 << 7) -# define R128_FPU_MODE_2D (0 << 8) -# define R128_FPU_MODE_3D (1 << 8) -# define R128_TRAP_BITS_DISABLE (1 << 9) -# define R128_EDGE_ANTIALIAS (1 << 10) -# define R128_SUPERSAMPLE (1 << 11) -# define R128_XFACTOR_2 (0 << 12) -# define R128_XFACTOR_4 (1 << 12) -# define R128_YFACTOR_2 (0 << 13) -# define R128_YFACTOR_4 (1 << 13) -# define R128_FLAT_SHADE_VERTEX_D3D (0 << 14) -# define R128_FLAT_SHADE_VERTEX_OGL (1 << 14) -# define R128_FPU_ROUND_TRUNCATE (0 << 15) -# define R128_FPU_ROUND_NEAREST (1 << 15) -# define R128_WM_SEL_8DW (0 << 16) -# define R128_WM_SEL_16DW (1 << 16) -# define R128_WM_SEL_32DW (2 << 16) - -#define R128_REG_PM4_IW_INDOFF 0x0738 -#define R128_REG_PM4_IW_INDSIZE 0x073c - -#define RADEON_REG_CP_CSQ_CNTL 0x0740 -# define RADEON_CSQ_CNT_PRIMARY_MASK 0x000000ff -# define RADEON_CSQ_CNT_INDIRECT_MASK 0x0000ff00 -# define R200_CSQ_CNT_PRIMARY_MASK 0x000001ff -# define R200_CSQ_CNT_INDIRECT_MASK 0x0003fe00 -# define RADEON_CSQ_PRIDIS_INDDIS (0 << 28) -# define RADEON_CSQ_PRIPIO_INDDIS (1 << 28) -# define RADEON_CSQ_PRIBM_INDDIS (2 << 28) -# define RADEON_CSQ_PRIPIO_INDBM (3 << 28) -# define RADEON_CSQ_PRIBM_INDBM (4 << 28) -# define RADEON_CSQ_PRIPIO_INDPIO (15 << 28) - -#define R128_REG_PM4_STAT 0x07b8 -# define R128_PM4_FIFOCNT_MASK 0x00000fff -# define R128_PM4_BUSY (1 << 16) -# define R128_PM4_GUI_ACTIVE (1 << 31) - -#define RADEON_REG_CP_STAT 0x07c0 -# define RADEON_CSQ_PRIMARY_BUSY (1 << 10) -# define RADEON_CSQ_INDIRECT_BUSY (1 << 11) - -#define RADEON_REG_ME_CNTL 0x07d0 -# define RADEON_ME_MODE_FREE_RUN (1 << 30) - -#define ATI_REG_MICROCODE_RAM_ADDR 0x07d4 -#define ATI_REG_MICROCODE_RAM_RADDR 0x07d8 -#define ATI_REG_MICROCODE_RAM_DATAH 0x07dc -#define ATI_REG_MICROCODE_RAM_DATAL 0x07e0 -#define R128_REG_PM4_BUFFER_ADDR 0x07f0 - -#define RADEON_REG_CP_CSQ_STAT 0x07f8 -# define RADEON_CSQ_RPTR_PRIMARY_MASK (0xff << 0) -# define RADEON_CSQ_WPTR_PRIMARY_MASK (0xff << 8) -# define RADEON_CSQ_RPTR_INDIRECT_MASK (0xff << 16) -# define RADEON_CSQ_WPTR_INDIRECT_MASK (0xff << 24) -# define R200_CSQ_RPTR_PRIMARY_MASK (0x1ff << 0) -# define R200_CSQ_WPTR_PRIMARY_MASK (0x1ff << 9) - -#define R128_REG_PM4_MICRO_CNTL 0x07fc -# define R128_PM4_MICRO_FREERUN (1 << 30) - -#define RADEON_TV_MASTER_CNTL 0x0800 -# define RADEON_TV_MACROVISION (1 << 5) -# define RADEON_TVCLK_ALWAYS_ON (1 << 30) - -#define R128_REG_BM_CHUNK_0_VAL 0x0a18 -# define R128_BM_PTR_FORCE_TO_PCI (1 << 21) -# define R128_BM_PM4_RD_FORCE_TO_PCI (1 << 22) -# define R128_BM_GLOBAL_FORCE_TO_PCI (1 << 23) - -/* Offset of the PCI config space mirror */ -#define ATI_PCI_CFG_OFFSET 0x0f00 - -#define ATI_REG_PCI_CFG_STATUS 0x0f06 -# define ATI_CAP_LIST 0x0010 - -#define ATI_REG_PCI_CFG_CAPABILITIES_PTR 0x0f34 -# define ATI_CAP_PTR_MASK 0x00fc -# define ATI_CAP_ID_NULL 0x0000 /* End of capability list */ -# define ATI_CAP_ID_AGP 0x0002 /* AGP capability ID */ - -#define R128_REG_AGP_STATUS 0x0f54 /* PCI */ -# define R128_AGP_1X_MODE 0x01 -# define R128_AGP_2X_MODE 0x02 -# define R128_AGP_4X_MODE 0x04 -# define R128_AGP_MODE_MASK 0x07 - -#define R128_REG_AGP_COMMAND 0x0f58 -# define R128_AGP_ENABLE (1 << 8) - -#define RADEON_REG_AGP_STATUS 0x0f5c /* PCI */ -# define RADEON_AGP_1X_MODE 0x01 -# define RADEON_AGP_2X_MODE 0x02 -# define RADEON_AGP_4X_MODE 0x04 -# define RADEON_AGP_FW_MODE 0x10 -# define RADEON_AGP_MODE_MASK 0x17 - -#define RADEON_REG_AGP_COMMAND 0x0f60 -# define RADEON_AGP_ENABLE (1 << 8) - -#define R128_REG_PM4_FIFO_DATA_EVEN 0x1000 -#define R128_REG_PM4_FIFO_DATA_ODD 0x1004 - -#define RADEON_REG_CSQ_APER_PRIMARY 0x1000 -#define RADEON_REG_CSQ_APER_PRIMARY_END 0x11fc -#define RADEON_REG_CSQ_APER_INDIRECT 0x1300 -#define RADEON_REG_CSQ_APER_INDIRECT_END 0x13fc -#define ATI_REG_SRC_PITCH_OFFSET 0x1428 -#define ATI_REG_DST_PITCH_OFFSET 0x142c -#define ATI_REG_SRC_Y_X 0x1434 -#define ATI_REG_DST_Y_X 0x1438 -#define ATI_REG_DST_HEIGHT_WIDTH 0x143c - -#define ATI_REG_DP_GUI_MASTER_CNTL 0x146c -# define ATI_GMC_SRC_PITCH_OFFSET_CNTL (1 << 0) -# define ATI_GMC_DST_PITCH_OFFSET_CNTL (1 << 1) -# define ATI_GMC_SRC_CLIPPING (1 << 2) -# define ATI_GMC_DST_CLIPPING (1 << 3) -# define ATI_GMC_BRUSH_SOLID_COLOR (13 << 4) -# define ATI_GMC_BRUSH_NONE (15 << 4) -# define ATI_GMC_BRUSH_MASK (15 << 4) -# define ATI_GMC_DST_DATATYPE_MASK (0xf << 8) -# define ATI_GMC_SRC_DATATYPE_COLOR (3 << 12) -# define R128_GMC_CONVERSION_TEMP (1 << 15) -# define R128_GMC_CONVERSION_TEMP_6500 (0 << 15) -# define R128_GMC_CONVERSION_TEMP_9300 (1 << 15) -# define ATI_GMC_ROP3_MASK (0xff << 16) -# define ATI_DP_SRC_SOURCE_MEMORY (2 << 24) -# define ATI_DP_SRC_SOURCE_HOST_DATA (3 << 24) -# define R128_GMC_3D_FCN_EN (1 << 27) -# define ATI_GMC_CLR_CMP_CNTL_DIS (1 << 28) -# define R128_GMC_AUX_CLIP_DIS (1 << 29) -# define ATI_GMC_WR_MSK_DIS (1 << 30) -# define R128_GMC_LD_BRUSH_Y_X (1 << 31) - -#define ATI_REG_DP_BRUSH_FRGD_CLR 0x147c -#define ATI_REG_DST_WIDTH_HEIGHT 0x1598 -#define ATI_REG_CLR_CMP_CNTL 0x15c0 - -#define R128_REG_AUX_SC_CNTL 0x1660 -# define R128_AUX1_SC_ENB (1 << 0) -# define R128_AUX1_SC_MODE_SUB (1 << 1) -# define R128_AUX2_SC_ENB (1 << 0) -# define R128_AUX2_SC_MODE_SUB (1 << 1) -# define R128_AUX3_SC_ENB (1 << 0) -# define R128_AUX3_SC_MODE_SUB (1 << 1) - -#define R128_REG_AUX1_SC_LEFT 0x1664 -#define R128_REG_AUX1_SC_RIGHT 0x1668 -#define R128_REG_AUX1_SC_TOP 0x166c -#define R128_REG_AUX1_SC_BOTTOM 0x1670 -#define R128_REG_AUX2_SC_LEFT 0x1674 -#define R128_REG_AUX2_SC_RIGHT 0x1678 -#define R128_REG_AUX2_SC_TOP 0x167c -#define R128_REG_AUX2_SC_BOTTOM 0x1680 -#define R128_REG_AUX3_SC_LEFT 0x1684 -#define R128_REG_AUX3_SC_RIGHT 0x1688 -#define R128_REG_AUX3_SC_TOP 0x168c -#define R128_REG_AUX3_SC_BOTTOM 0x1690 - -#define ATI_REG_DP_CNTL 0x16c0 -# define ATI_DST_X_LEFT_TO_RIGHT (1 << 0) -# define ATI_DST_Y_TOP_TO_BOTTOM (1 << 1) - -#define ATI_REG_DP_MIX 0x16c8 -#define ATI_REG_DP_WRITE_MASK 0x16cc -#define ATI_REG_DEFAULT_OFFSET 0x16e0 -#define ATI_REG_DEFAULT_PITCH 0x16e4 - -#define ATI_REG_DEFAULT_SC_BOTTOM_RIGHT 0x16e8 -# define ATI_DEFAULT_SC_RIGHT_MAX 0x00001fff -# define ATI_DEFAULT_SC_BOTTOM_MAX 0x1fff0000 - -#define ATI_REG_SC_TOP_LEFT 0x16ec -#define ATI_REG_SC_BOTTOM_RIGHT 0x16f0 - -#define ATI_REG_WAIT_UNTIL 0x1720 -# define ATI_WAIT_CRTC_PFLIP (1 << 0) -# define ATI_WAIT_RE_CRTC_VLINE (1 << 1) -# define ATI_WAIT_FE_CRTC_VLINE (1 << 2) -# define ATI_WAIT_CRTC_VLINE (1 << 3) -# define ATI_WAIT_DMA_VIPH0_IDLE (1 << 4) -# define ATI_WAIT_DMA_VIPH1_IDLE (1 << 5) -# define ATI_WAIT_DMA_VIPH2_IDLE (1 << 6) -# define ATI_WAIT_DMA_VIPH3_IDLE (1 << 7) -# define ATI_WAIT_DMA_VID_IDLE (1 << 8) -# define ATI_WAIT_DMA_GUI_IDLE (1 << 9) -# define ATI_WAIT_CMDFIFO (1 << 10) -# define ATI_WAIT_OV0_FLIP (1 << 11) -# define RADEON_WAIT_OV0_SLICEDONE (1 << 12) -# define RADEON_WAIT_2D_IDLE (1 << 14) -# define RADEON_WAIT_3D_IDLE (1 << 15) -# define RADEON_WAIT_2D_IDLECLEAN (1 << 16) -# define RADEON_WAIT_3D_IDLECLEAN (1 << 17) -# define RADEON_WAIT_HOST_IDLECLEAN (1 << 18) -# define ATI_WAIT_CMDFIFO_ENTRIES (0x07f00000) -# define RADEON_WAIT_BOTH_CRTC_PFLIP (1 << 30) -# define RADEON_ENG_DISPLAY_SELECT (1 << 31) - -#define RADEON_REG_ISYNC_CNTL 0x1724 -#define ISYNC_ANY2D_IDLE3D 0x1 -#define ISYNC_ANY3D_IDLE2D 0x2 - -#define R128_REG_GUI_STAT 0x1740 -# define R128_GUI_ACTIVE (1 << 31) - -#define R128_REG_PC_GUI_MODE 0x1744 -#define R128_PC_GUI_PRIORITY (1 << 0) -#define R128_PC_RISE_DF_EN (1 << 1) -#define R128_PC_FALL_DF_EN (1 << 2) -#define R128_PC_BYPASS_EN (1 << 3) -#define R128_PC_CACHE_SIZE (1 << 4) -#define R128_PC_IGNORE_UNIFY (1 << 5) -#define R128_PC_IGNORE_WRHINT (1 << 6) -#define R128_PC_IGNORE_RDHINT (1 << 7) -#define R128_PC_RISE_DP_EN (1 << 8) - -#define R128_REG_PC_GUI_CTLSTAT 0x1748 -/* bits match R128_REG_PC_NGUI_CTLSTAT */ - -#define R128_REG_TEX_CNTL 0x1800 -#define R128_REG_SECONDARY_SCALE_OFFSET 0x1980 -#define R128_REG_SECONDARY_SCALE_PITCH 0x1980 -#define R128_REG_SECONDARY_SCALE_X_INC 0x1984 -#define R128_REG_SECONDARY_SCALE_Y_INC 0x1988 -#define R128_REG_SECONDARY_SCALE_HACC 0x198c -#define R128_REG_SECONDARY_SCALE_VACC 0x1990 -#define R128_REG_SCALE_SRC_HEIGHT_WIDTH 0x1994 -#define R128_REG_SCALE_OFFSET_0 0x1998 -#define R128_REG_SCALE_PITCH 0x199c -#define R128_REG_SCALE_X_INC 0x19a0 -#define R128_REG_SCALE_Y_INC 0x19a4 -#define R128_REG_SCALE_HACC 0x19a8 -#define R128_REG_SCALE_VACC 0x19ac -#define R128_REG_SCALE_DST_X_Y 0x19b0 -#define R128_REG_SCALE_DST_HEIGHT_WIDTH 0x19b4 - -#define R128_REG_SCALE_3D_CNTL 0x1a00 -# define R128_SCALE_DITHER_ERR_DIFF (0 << 1) -# define R128_SCALE_DITHER_TABLE (1 << 1) -# define R128_TEX_CACHE_SIZE_FULL (0 << 2) -# define R128_TEX_CACHE_SIZE_HALF (1 << 2) -# define R128_DITHER_INIT_CURR (0 << 3) -# define R128_DITHER_INIT_RESET (1 << 3) -# define R128_ROUND_24BIT (1 << 4) -# define R128_TEX_CACHE_DISABLE (1 << 5) -# define R128_SCALE_3D_NOOP (0 << 6) -# define R128_SCALE_3D_SCALE (1 << 6) -# define R128_SCALE_3D_TEXMAP_SHADE (2 << 6) -# define R128_SCALE_PIX_BLEND (0 << 8) -# define R128_SCALE_PIX_REPLICATE (1 << 8) -# define R128_TEX_CACHE_SPLIT (1 << 9) -# define R128_APPLE_YUV_MODE (1 << 10) -# define R128_TEX_CACHE_PALLETE_MODE (1 << 11) -# define R128_ALPHA_COMB_ADD_CLAMP (0 << 12) -# define R128_ALPHA_COMB_ADD_NCLAMP (1 << 12) -# define R128_ALPHA_COMB_SUB_DST_SRC_CLAMP (2 << 12) -# define R128_ALPHA_COMB_SUB_DST_SRC_NCLAMP (3 << 12) -# define R128_FOG_TABLE (1 << 14) -# define R128_SIGNED_DST_CLAMP (1 << 15) -/* Alpha bits from R128_REG_MISC_3D_CNTL */ -# define R128_COMPOSITE_SHADOW_CMP_EQUAL (0 << 28) -# define R128_COMPOSITE_SHADOW_CMP_NEQUAL (1 << 28) -# define R128_COMPOSITE_SHADOW (1 << 29) -# define R128_TEX_MAP_ALPHA_IN_TEXTURE (1 << 30) -# define R128_TEX_CACHE_LINE_SIZE_8QW (0 << 31) -# define R128_TEX_CACHE_LINE_SIZE_4QW (1 << 31) - -#define R128_REG_SCALE_3D_DATATYPE 0x1a20 - -#define R128_REG_SETUP_CNTL 0x1bc4 -# define R128_DONT_START_TRIANGLE (1 << 0) -# define R128_Z_BIAS (0 << 1) -# define R128_DONT_START_ANY_ON (1 << 2) -# define R128_COLOR_SOLID_COLOR (0 << 3) -# define R128_COLOR_FLAT_VERT_1 (1 << 3) -# define R128_COLOR_FLAT_VERT_2 (2 << 3) -# define R128_COLOR_FLAT_VERT_3 (3 << 3) -# define R128_COLOR_GOURAUD (4 << 3) -# define R128_PRIM_TYPE_TRI (0 << 7) -# define R128_PRIM_TYPE_LINE (1 << 7) -# define R128_PRIM_TYPE_POINT (2 << 7) -# define R128_PRIM_TYPE_POLY_EDGE (3 << 7) -# define R128_TEXTURE_ST_MULT_W (0 << 9) -# define R128_TEXTURE_ST_DIRECT (1 << 9) -# define R128_STARTING_VERTEX_1 (1 << 14) -# define R128_STARTING_VERTEX_2 (2 << 14) -# define R128_STARTING_VERTEX_3 (3 << 14) -# define R128_ENDING_VERTEX_1 (1 << 16) -# define R128_ENDING_VERTEX_2 (2 << 16) -# define R128_ENDING_VERTEX_3 (3 << 16) -# define R128_SU_POLY_LINE_LAST (0 << 18) -# define R128_SU_POLY_LINE_NOT_LAST (1 << 18) -# define R128_SUB_PIX_2BITS (0 << 19) -# define R128_SUB_PIX_4BITS (1 << 19) -# define R128_SET_UP_CONTINUE (1 << 31) - -#define R128_REG_WINDOW_XY_OFFSET 0x1bcc - -#define RADEON_REG_RB3D_BLENDCNTL 0x1c20 -# define RADEON_COMB_FCN_MASK (3 << 12) -# define RADEON_COMB_FCN_ADD_CLAMP (0 << 12) -# define RADEON_COMB_FCN_ADD_NOCLAMP (1 << 12) -# define RADEON_COMB_FCN_SUB_CLAMP (2 << 12) -# define RADEON_COMB_FCN_SUB_NOCLAMP (3 << 12) -# define R200_COMB_FCN_MIN (4 << 12) -# define R200_COMB_FCN_MAX (5 << 12) -# define R200_COMB_FCN_RSUB_CLAMP (6 << 12) -# define R200_COMB_FCN_RSUB_NOCLAMP (7 << 12) -# define RADEON_SBLEND_GL_ZERO (32 << 16) -# define RADEON_SBLEND_GL_ONE (33 << 16) -# define RADEON_SBLEND_GL_SRC_COLOR (34 << 16) -# define RADEON_SBLEND_GL_INV_SRC_COLOR (35 << 16) -# define RADEON_SBLEND_GL_DST_COLOR (36 << 16) -# define RADEON_SBLEND_GL_INV_DST_COLOR (37 << 16) -# define RADEON_SBLEND_GL_SRC_ALPHA (38 << 16) -# define RADEON_SBLEND_GL_INV_SRC_ALPHA (39 << 16) -# define RADEON_SBLEND_GL_DST_ALPHA (40 << 16) -# define RADEON_SBLEND_GL_INV_DST_ALPHA (41 << 16) -# define RADEON_SBLEND_GL_SRC_ALPHA_SATURATE (42 << 16) -# define R200_SBLEND_GL_CONST_COLOR (43 << 16) -# define R200_SBLEND_GL_ONE_MINUS_CONST_COLOR (44 << 16) -# define R200_SBLEND_GL_CONST_ALPHA (45 << 16) -# define R200_SBLEND_GL_ONE_MINUS_CONST_ALPHA (46 << 16) -# define RADEON_SBLEND_MASK (63 << 16) -# define RADEON_DBLEND_GL_ZERO (32 << 24) -# define RADEON_DBLEND_GL_ONE (33 << 24) -# define RADEON_DBLEND_GL_SRC_COLOR (34 << 24) -# define RADEON_DBLEND_GL_INV_SRC_COLOR (35 << 24) -# define RADEON_DBLEND_GL_DST_COLOR (36 << 24) -# define RADEON_DBLEND_GL_INV_DST_COLOR (37 << 24) -# define RADEON_DBLEND_GL_SRC_ALPHA (38 << 24) -# define RADEON_DBLEND_GL_INV_SRC_ALPHA (39 << 24) -# define RADEON_DBLEND_GL_DST_ALPHA (40 << 24) -# define RADEON_DBLEND_GL_INV_DST_ALPHA (41 << 24) -# define R200_DBLEND_GL_CONST_COLOR (43 << 24) -# define R200_DBLEND_GL_ONE_MINUS_CONST_COLOR (44 << 24) -# define R200_DBLEND_GL_CONST_ALPHA (45 << 24) -# define R200_DBLEND_GL_ONE_MINUS_CONST_ALPHA (46 << 24) -# define RADEON_DBLEND_MASK (63 << 24) - -#define RADEON_REG_PP_CNTL 0x1c38 -# define RADEON_STIPPLE_ENABLE (1 << 0) -# define RADEON_SCISSOR_ENABLE (1 << 1) -# define RADEON_PATTERN_ENABLE (1 << 2) -# define RADEON_SHADOW_ENABLE (1 << 3) -# define RADEON_TEX_ENABLE_MASK (0xf << 4) -# define RADEON_TEX_0_ENABLE (1 << 4) -# define RADEON_TEX_1_ENABLE (1 << 5) -# define RADEON_TEX_2_ENABLE (1 << 6) -# define RADEON_TEX_3_ENABLE (1 << 7) -# define R200_TEX_4_ENABLE (1 << 8) -# define R200_TEX_5_ENABLE (1 << 9) -# define RADEON_TEX_BLEND_ENABLE_MASK (0xf << 12) -# define RADEON_TEX_BLEND_0_ENABLE (1 << 12) -# define RADEON_TEX_BLEND_1_ENABLE (1 << 13) -# define RADEON_TEX_BLEND_2_ENABLE (1 << 14) -# define RADEON_TEX_BLEND_3_ENABLE (1 << 15) -# define R200_TEX_BLEND_4_ENABLE (1 << 16) -# define R200_TEX_BLEND_5_ENABLE (1 << 17) -# define R200_TEX_BLEND_6_ENABLE (1 << 18) -# define RADEON_PLANAR_YUV_ENABLE (1 << 20) -# define RADEON_SPECULAR_ENABLE (1 << 21) -# define RADEON_FOG_ENABLE (1 << 22) -# define RADEON_ALPHA_TEST_ENABLE (1 << 23) -# define RADEON_ANTI_ALIAS_NONE (0 << 24) -# define RADEON_ANTI_ALIAS_LINE (1 << 24) -# define RADEON_ANTI_ALIAS_POLY (2 << 24) -# define RADEON_ANTI_ALIAS_LINE_POLY (3 << 24) -# define RADEON_BUMP_MAP_ENABLE (1 << 26) -# define RADEON_BUMPED_MAP_T0 (0 << 27) -# define RADEON_BUMPED_MAP_T1 (1 << 27) -# define RADEON_BUMPED_MAP_T2 (2 << 27) -# define RADEON_TEX_3D_ENABLE_0 (1 << 29) -# define RADEON_TEX_3D_ENABLE_1 (1 << 30) -# define RADEON_MC_ENABLE (1 << 31) - -#define RADEON_REG_RB3D_CNTL 0x1c3c -# define RADEON_ALPHA_BLEND_ENABLE (1 << 0) -# define RADEON_PLANE_MASK_ENABLE (1 << 1) -# define RADEON_DITHER_ENABLE (1 << 2) -# define RADEON_ROUND_ENABLE (1 << 3) -# define RADEON_SCALE_DITHER_ENABLE (1 << 4) -# define RADEON_DITHER_INIT (1 << 5) -# define RADEON_ROP_ENABLE (1 << 6) -# define RADEON_STENCIL_ENABLE (1 << 7) -# define RADEON_Z_ENABLE (1 << 8) -# define RADEON_DEPTH_XZ_OFFEST_ENABLE (1 << 9) -# define RADEON_COLOR_FORMAT_ARGB1555 (3 << 10) -# define RADEON_COLOR_FORMAT_RGB565 (4 << 10) -# define RADEON_COLOR_FORMAT_ARGB8888 (6 << 10) -# define RADEON_COLOR_FORMAT_RGB332 (7 << 10) -# define RADEON_COLOR_FORMAT_Y8 (8 << 10) -# define RADEON_COLOR_FORMAT_RGB8 (9 << 10) -# define RADEON_COLOR_FORMAT_YUV422_VYUY (11 << 10) -# define RADEON_COLOR_FORMAT_YUV422_YVYU (12 << 10) -# define RADEON_COLOR_FORMAT_aYUV444 (14 << 10) -# define RADEON_COLOR_FORMAT_ARGB4444 (15 << 10) -# define RADEON_CLRCMP_FLIP_ENABLE (1 << 14) - -#define RADEON_REG_RB3D_COLOROFFSET 0x1c40 -# define RADEON_COLOROFFSET_MASK 0xfffffff0 - -#define RADEON_REG_RE_WIDTH_HEIGHT 0x1c44 - -#define RADEON_REG_RB3D_COLORPITCH 0x1c48 -# define RADEON_COLORPITCH_MASK 0x000001ff8 -# define RADEON_COLOR_TILE_ENABLE (1 << 16) -# define RADEON_COLOR_MICROTILE_ENABLE (1 << 17) -# define RADEON_COLOR_ENDIAN_NO_SWAP (0 << 18) -# define RADEON_COLOR_ENDIAN_WORD_SWAP (1 << 18) -# define RADEON_COLOR_ENDIAN_DWORD_SWAP (2 << 18) - -#define RADEON_REG_SE_CNTL 0x1c4c -# define RADEON_FFACE_CULL_CW (0 << 0) -# define RADEON_FFACE_CULL_CCW (1 << 0) -# define RADEON_FFACE_CULL_DIR_MASK (1 << 0) -# define RADEON_BFACE_CULL (0 << 1) -# define RADEON_BFACE_SOLID (3 << 1) -# define RADEON_FFACE_CULL (0 << 3) -# define RADEON_FFACE_SOLID (3 << 3) -# define RADEON_FFACE_CULL_MASK (3 << 3) -# define RADEON_BADVTX_CULL_DISABLE (1 << 5) -# define RADEON_FLAT_SHADE_VTX_0 (0 << 6) -# define RADEON_FLAT_SHADE_VTX_1 (1 << 6) -# define RADEON_FLAT_SHADE_VTX_2 (2 << 6) -# define RADEON_FLAT_SHADE_VTX_LAST (3 << 6) -# define RADEON_DIFFUSE_SHADE_SOLID (0 << 8) -# define RADEON_DIFFUSE_SHADE_FLAT (1 << 8) -# define RADEON_DIFFUSE_SHADE_GOURAUD (2 << 8) -# define RADEON_DIFFUSE_SHADE_MASK (3 << 8) -# define RADEON_ALPHA_SHADE_SOLID (0 << 10) -# define RADEON_ALPHA_SHADE_FLAT (1 << 10) -# define RADEON_ALPHA_SHADE_GOURAUD (2 << 10) -# define RADEON_ALPHA_SHADE_MASK (3 << 10) -# define RADEON_SPECULAR_SHADE_SOLID (0 << 12) -# define RADEON_SPECULAR_SHADE_FLAT (1 << 12) -# define RADEON_SPECULAR_SHADE_GOURAUD (2 << 12) -# define RADEON_SPECULAR_SHADE_MASK (3 << 12) -# define RADEON_FOG_SHADE_SOLID (0 << 14) -# define RADEON_FOG_SHADE_FLAT (1 << 14) -# define RADEON_FOG_SHADE_GOURAUD (2 << 14) -# define RADEON_FOG_SHADE_MASK (3 << 14) -# define RADEON_ZBIAS_ENABLE_POINT (1 << 16) -# define RADEON_ZBIAS_ENABLE_LINE (1 << 17) -# define RADEON_ZBIAS_ENABLE_TRI (1 << 18) -# define RADEON_WIDELINE_ENABLE (1 << 20) -# define RADEON_VPORT_XY_XFORM_ENABLE (1 << 24) -# define RADEON_VPORT_Z_XFORM_ENABLE (1 << 25) -# define RADEON_VTX_PIX_CENTER_D3D (0 << 27) -# define RADEON_VTX_PIX_CENTER_OGL (1 << 27) -# define RADEON_ROUND_MODE_TRUNC (0 << 28) -# define RADEON_ROUND_MODE_ROUND (1 << 28) -# define RADEON_ROUND_MODE_ROUND_EVEN (2 << 28) -# define RADEON_ROUND_MODE_ROUND_ODD (3 << 28) -# define RADEON_ROUND_PREC_16TH_PIX (0 << 30) -# define RADEON_ROUND_PREC_8TH_PIX (1 << 30) -# define RADEON_ROUND_PREC_4TH_PIX (2 << 30) -# define RADEON_ROUND_PREC_HALF_PIX (3 << 30) - -#define R200_REG_RE_CNTL 0x1c50 - -#define RADEON_REG_SE_COORD_FMT 0x1c50 -# define RADEON_VTX_XY_PRE_MULT_1_OVER_W0 (1 << 0) -# define RADEON_VTX_Z_PRE_MULT_1_OVER_W0 (1 << 1) -# define RADEON_VTX_ST0_NONPARAMETRIC (1 << 8) -# define RADEON_VTX_ST1_NONPARAMETRIC (1 << 9) -# define RADEON_VTX_ST2_NONPARAMETRIC (1 << 10) -# define RADEON_VTX_ST3_NONPARAMETRIC (1 << 11) -# define RADEON_VTX_W0_NORMALIZE (1 << 12) -# define RADEON_VTX_W0_IS_NOT_1_OVER_W0 (1 << 16) -# define RADEON_VTX_ST0_PRE_MULT_1_OVER_W0 (1 << 17) -# define RADEON_VTX_ST1_PRE_MULT_1_OVER_W0 (1 << 19) -# define RADEON_VTX_ST2_PRE_MULT_1_OVER_W0 (1 << 21) -# define RADEON_VTX_ST3_PRE_MULT_1_OVER_W0 (1 << 23) -# define RADEON_TEX1_W_ROUTING_USE_W0 (0 << 26) -# define RADEON_TEX1_W_ROUTING_USE_Q1 (1 << 26) - -#define RADEON_REG_PP_TXFILTER_0 0x1c54 -#define RADEON_REG_PP_TXFILTER_1 0x1c6c -#define RADEON_REG_PP_TXFILTER_2 0x1c84 -# define RADEON_MAG_FILTER_NEAREST (0 << 0) -# define RADEON_MAG_FILTER_LINEAR (1 << 0) -# define RADEON_MAG_FILTER_MASK (1 << 0) -# define RADEON_MIN_FILTER_NEAREST (0 << 1) -# define RADEON_MIN_FILTER_LINEAR (1 << 1) -# define RADEON_MIN_FILTER_NEAREST_MIP_NEAREST (2 << 1) -# define RADEON_MIN_FILTER_NEAREST_MIP_LINEAR (3 << 1) -# define RADEON_MIN_FILTER_LINEAR_MIP_NEAREST (6 << 1) -# define RADEON_MIN_FILTER_LINEAR_MIP_LINEAR (7 << 1) -# define RADEON_MIN_FILTER_ANISO_NEAREST (8 << 1) -# define RADEON_MIN_FILTER_ANISO_LINEAR (9 << 1) -# define RADEON_MIN_FILTER_ANISO_NEAREST_MIP_NEAREST (10 << 1) -# define RADEON_MIN_FILTER_ANISO_NEAREST_MIP_LINEAR (11 << 1) -# define RADEON_MIN_FILTER_MASK (15 << 1) -# define RADEON_MAX_ANISO_1_TO_1 (0 << 5) -# define RADEON_MAX_ANISO_2_TO_1 (1 << 5) -# define RADEON_MAX_ANISO_4_TO_1 (2 << 5) -# define RADEON_MAX_ANISO_8_TO_1 (3 << 5) -# define RADEON_MAX_ANISO_16_TO_1 (4 << 5) -# define RADEON_MAX_ANISO_MASK (7 << 5) -# define RADEON_LOD_BIAS_MASK (0xff << 8) -# define RADEON_LOD_BIAS_SHIFT 8 -# define RADEON_MAX_MIP_LEVEL_MASK (0x0f << 16) -# define RADEON_MAX_MIP_LEVEL_SHIFT 16 -# define RADEON_YUV_TO_RGB (1 << 20) -# define RADEON_YUV_TEMPERATURE_COOL (0 << 21) -# define RADEON_YUV_TEMPERATURE_HOT (1 << 21) -# define RADEON_YUV_TEMPERATURE_MASK (1 << 21) -# define RADEON_WRAPEN_S (1 << 22) -# define RADEON_CLAMP_S_WRAP (0 << 23) -# define RADEON_CLAMP_S_MIRROR (1 << 23) -# define RADEON_CLAMP_S_CLAMP_LAST (2 << 23) -# define RADEON_CLAMP_S_MIRROR_CLAMP_LAST (3 << 23) -# define RADEON_CLAMP_S_CLAMP_BORDER (4 << 23) -# define RADEON_CLAMP_S_MIRROR_CLAMP_BORDER (5 << 23) -# define RADEON_CLAMP_S_CLAMP_GL (6 << 23) -# define RADEON_CLAMP_S_MIRROR_CLAMP_GL (7 << 23) -# define RADEON_CLAMP_S_MASK (7 << 23) -# define RADEON_WRAPEN_T (1 << 26) -# define RADEON_CLAMP_T_WRAP (0 << 27) -# define RADEON_CLAMP_T_MIRROR (1 << 27) -# define RADEON_CLAMP_T_CLAMP_LAST (2 << 27) -# define RADEON_CLAMP_T_MIRROR_CLAMP_LAST (3 << 27) -# define RADEON_CLAMP_T_CLAMP_BORDER (4 << 27) -# define RADEON_CLAMP_T_MIRROR_CLAMP_BORDER (5 << 27) -# define RADEON_CLAMP_T_CLAMP_GL (6 << 27) -# define RADEON_CLAMP_T_MIRROR_CLAMP_GL (7 << 27) -# define RADEON_CLAMP_T_MASK (7 << 27) -# define RADEON_BORDER_MODE_OGL (0 << 31) -# define RADEON_BORDER_MODE_D3D (1 << 31) - -#define RADEON_REG_PP_TXFORMAT_0 0x1c58 -#define RADEON_REG_PP_TXFORMAT_1 0x1c70 -#define RADEON_REG_PP_TXFORMAT_2 0x1c88 -# define RADEON_TXFORMAT_I8 (0 << 0) -# define RADEON_TXFORMAT_AI88 (1 << 0) -# define RADEON_TXFORMAT_RGB332 (2 << 0) -# define RADEON_TXFORMAT_ARGB1555 (3 << 0) -# define RADEON_TXFORMAT_RGB565 (4 << 0) -# define RADEON_TXFORMAT_ARGB4444 (5 << 0) -# define RADEON_TXFORMAT_ARGB8888 (6 << 0) -# define RADEON_TXFORMAT_RGBA8888 (7 << 0) -# define RADEON_TXFORMAT_Y8 (8 << 0) -# define RADEON_TXFORMAT_AYUV444 (9 << 0) -# define RADEON_TXFORMAT_VYUY422 (10 << 0) -# define RADEON_TXFORMAT_YVYU422 (11 << 0) -# define RADEON_TXFORMAT_DXT1 (12 << 0) -# define RADEON_TXFORMAT_DXT23 (14 << 0) -# define RADEON_TXFORMAT_DXT45 (15 << 0) -# define RADEON_TXFORMAT_FORMAT_MASK (31 << 0) -# define RADEON_TXFORMAT_FORMAT_SHIFT 0 -# define RADEON_TXFORMAT_APPLE_YUV_MODE (1 << 5) -# define RADEON_TXFORMAT_ALPHA_IN_MAP (1 << 6) -# define RADEON_TXFORMAT_NON_POWER2 (1 << 7) -# define RADEON_TXFORMAT_WIDTH_MASK (15 << 8) -# define RADEON_TXFORMAT_WIDTH_SHIFT 8 -# define RADEON_TXFORMAT_HEIGHT_MASK (15 << 12) -# define RADEON_TXFORMAT_HEIGHT_SHIFT 12 -# define RADEON_TXFORMAT_F5_WIDTH_MASK (15 << 16) -# define RADEON_TXFORMAT_F5_WIDTH_SHIFT 16 -# define RADEON_TXFORMAT_F5_HEIGHT_MASK (15 << 20) -# define RADEON_TXFORMAT_F5_HEIGHT_SHIFT 20 -# define RADEON_TXFORMAT_ST_ROUTE_STQ0 (0 << 24) -# define RADEON_TXFORMAT_ST_ROUTE_STQ1 (1 << 24) -# define RADEON_TXFORMAT_ST_ROUTE_STQ2 (2 << 24) -# define RADEON_TXFORMAT_ST_ROUTE_MASK (3 << 24) -# define RADEON_TXFORMAT_ENDIAN_NO_SWAP (0 << 26) -# define RADEON_TXFORMAT_ENDIAN_16BPP_SWAP (1 << 26) -# define RADEON_TXFORMAT_ENDIAN_32BPP_SWAP (2 << 26) -# define RADEON_TXFORMAT_ENDIAN_HALFDW_SWAP (3 << 26) -# define RADEON_TXFORMAT_ALPHA_MASK_ENABLE (1 << 28) -# define RADEON_TXFORMAT_CHROMA_KEY_ENABLE (1 << 29) -# define RADEON_TXFORMAT_CUBIC_MAP_ENABLE (1 << 30) -# define RADEON_TXFORMAT_PERSPECTIVE_ENABLE (1 << 31) - -#define RADEON_REG_PP_TXOFFSET_0 0x1c5c -#define RADEON_REG_PP_TXOFFSET_1 0x1c74 -#define RADEON_REG_PP_TXOFFSET_2 0x1c8c -# define RADEON_TXO_ENDIAN_NO_SWAP (0 << 0) -# define RADEON_TXO_ENDIAN_BYTE_SWAP (1 << 0) -# define RADEON_TXO_ENDIAN_WORD_SWAP (2 << 0) -# define RADEON_TXO_ENDIAN_HALFDW_SWAP (3 << 0) -# define RADEON_TXO_MACRO_LINEAR (0 << 2) -# define RADEON_TXO_MACRO_TILE (1 << 2) -# define RADEON_TXO_MICRO_LINEAR (0 << 3) -# define RADEON_TXO_MICRO_TILE_X2 (1 << 3) -# define RADEON_TXO_MICRO_TILE_OPT (2 << 3) -# define RADEON_TXO_OFFSET_MASK 0xffffffe0 -# define RADEON_TXO_OFFSET_SHIFT 5 - -#define RADEON_REG_PP_TXCBLEND_0 0x1c60 -#define RADEON_REG_PP_TXCBLEND_1 0x1c78 -#define RADEON_REG_PP_TXCBLEND_2 0x1c90 -# define RADEON_COLOR_ARG_A_SHIFT 0 -# define RADEON_COLOR_ARG_A_MASK (0x1f << 0) -# define RADEON_COLOR_ARG_A_ZERO (0 << 0) -# define RADEON_COLOR_ARG_A_CURRENT_COLOR (2 << 0) -# define RADEON_COLOR_ARG_A_CURRENT_ALPHA (3 << 0) -# define RADEON_COLOR_ARG_A_DIFFUSE_COLOR (4 << 0) -# define RADEON_COLOR_ARG_A_DIFFUSE_ALPHA (5 << 0) -# define RADEON_COLOR_ARG_A_SPECULAR_COLOR (6 << 0) -# define RADEON_COLOR_ARG_A_SPECULAR_ALPHA (7 << 0) -# define RADEON_COLOR_ARG_A_TFACTOR_COLOR (8 << 0) -# define RADEON_COLOR_ARG_A_TFACTOR_ALPHA (9 << 0) -# define RADEON_COLOR_ARG_A_T0_COLOR (10 << 0) -# define RADEON_COLOR_ARG_A_T0_ALPHA (11 << 0) -# define RADEON_COLOR_ARG_A_T1_COLOR (12 << 0) -# define RADEON_COLOR_ARG_A_T1_ALPHA (13 << 0) -# define RADEON_COLOR_ARG_A_T2_COLOR (14 << 0) -# define RADEON_COLOR_ARG_A_T2_ALPHA (15 << 0) -# define RADEON_COLOR_ARG_A_T3_COLOR (16 << 0) -# define RADEON_COLOR_ARG_A_T3_ALPHA (17 << 0) -# define RADEON_COLOR_ARG_B_SHIFT 5 -# define RADEON_COLOR_ARG_B_MASK (0x1f << 5) -# define RADEON_COLOR_ARG_B_ZERO (0 << 5) -# define RADEON_COLOR_ARG_B_CURRENT_COLOR (2 << 5) -# define RADEON_COLOR_ARG_B_CURRENT_ALPHA (3 << 5) -# define RADEON_COLOR_ARG_B_DIFFUSE_COLOR (4 << 5) -# define RADEON_COLOR_ARG_B_DIFFUSE_ALPHA (5 << 5) -# define RADEON_COLOR_ARG_B_SPECULAR_COLOR (6 << 5) -# define RADEON_COLOR_ARG_B_SPECULAR_ALPHA (7 << 5) -# define RADEON_COLOR_ARG_B_TFACTOR_COLOR (8 << 5) -# define RADEON_COLOR_ARG_B_TFACTOR_ALPHA (9 << 5) -# define RADEON_COLOR_ARG_B_T0_COLOR (10 << 5) -# define RADEON_COLOR_ARG_B_T0_ALPHA (11 << 5) -# define RADEON_COLOR_ARG_B_T1_COLOR (12 << 5) -# define RADEON_COLOR_ARG_B_T1_ALPHA (13 << 5) -# define RADEON_COLOR_ARG_B_T2_COLOR (14 << 5) -# define RADEON_COLOR_ARG_B_T2_ALPHA (15 << 5) -# define RADEON_COLOR_ARG_B_T3_COLOR (16 << 5) -# define RADEON_COLOR_ARG_B_T3_ALPHA (17 << 5) -# define RADEON_COLOR_ARG_C_SHIFT 10 -# define RADEON_COLOR_ARG_C_MASK (0x1f << 10) -# define RADEON_COLOR_ARG_C_ZERO (0 << 10) -# define RADEON_COLOR_ARG_C_CURRENT_COLOR (2 << 10) -# define RADEON_COLOR_ARG_C_CURRENT_ALPHA (3 << 10) -# define RADEON_COLOR_ARG_C_DIFFUSE_COLOR (4 << 10) -# define RADEON_COLOR_ARG_C_DIFFUSE_ALPHA (5 << 10) -# define RADEON_COLOR_ARG_C_SPECULAR_COLOR (6 << 10) -# define RADEON_COLOR_ARG_C_SPECULAR_ALPHA (7 << 10) -# define RADEON_COLOR_ARG_C_TFACTOR_COLOR (8 << 10) -# define RADEON_COLOR_ARG_C_TFACTOR_ALPHA (9 << 10) -# define RADEON_COLOR_ARG_C_T0_COLOR (10 << 10) -# define RADEON_COLOR_ARG_C_T0_ALPHA (11 << 10) -# define RADEON_COLOR_ARG_C_T1_COLOR (12 << 10) -# define RADEON_COLOR_ARG_C_T1_ALPHA (13 << 10) -# define RADEON_COLOR_ARG_C_T2_COLOR (14 << 10) -# define RADEON_COLOR_ARG_C_T2_ALPHA (15 << 10) -# define RADEON_COLOR_ARG_C_T3_COLOR (16 << 10) -# define RADEON_COLOR_ARG_C_T3_ALPHA (17 << 10) -# define RADEON_COMP_ARG_A (1 << 15) -# define RADEON_COMP_ARG_A_SHIFT 15 -# define RADEON_COMP_ARG_B (1 << 16) -# define RADEON_COMP_ARG_B_SHIFT 16 -# define RADEON_COMP_ARG_C (1 << 17) -# define RADEON_COMP_ARG_C_SHIFT 17 -# define RADEON_BLEND_CTL_MASK (7 << 18) -# define RADEON_BLEND_CTL_ADD (0 << 18) -# define RADEON_BLEND_CTL_SUBTRACT (1 << 18) -# define RADEON_BLEND_CTL_ADDSIGNED (2 << 18) -# define RADEON_BLEND_CTL_BLEND (3 << 18) -# define RADEON_BLEND_CTL_DOT3 (4 << 18) -# define RADEON_SCALE_SHIFT 21 -# define RADEON_SCALE_MASK (3 << 21) -# define RADEON_SCALE_1X (0 << 21) -# define RADEON_SCALE_2X (1 << 21) -# define RADEON_SCALE_4X (2 << 21) -# define RADEON_CLAMP_TX (1 << 23) -# define RADEON_T0_EQ_TCUR (1 << 24) -# define RADEON_T1_EQ_TCUR (1 << 25) -# define RADEON_T2_EQ_TCUR (1 << 26) -# define RADEON_T3_EQ_TCUR (1 << 27) -# define RADEON_COLOR_ARG_MASK 0x1f -# define RADEON_COMP_ARG_SHIFT 15 - -#define RADEON_REG_PP_TXABLEND_0 0x1c64 -#define RADEON_REG_PP_TXABLEND_1 0x1c7c -#define RADEON_REG_PP_TXABLEND_2 0x1c94 -# define RADEON_ALPHA_ARG_A_SHIFT 0 -# define RADEON_ALPHA_ARG_A_MASK (0xf << 0) -# define RADEON_ALPHA_ARG_A_ZERO (0 << 0) -# define RADEON_ALPHA_ARG_A_CURRENT_ALPHA (1 << 0) -# define RADEON_ALPHA_ARG_A_DIFFUSE_ALPHA (2 << 0) -# define RADEON_ALPHA_ARG_A_SPECULAR_ALPHA (3 << 0) -# define RADEON_ALPHA_ARG_A_TFACTOR_ALPHA (4 << 0) -# define RADEON_ALPHA_ARG_A_T0_ALPHA (5 << 0) -# define RADEON_ALPHA_ARG_A_T1_ALPHA (6 << 0) -# define RADEON_ALPHA_ARG_A_T2_ALPHA (7 << 0) -# define RADEON_ALPHA_ARG_A_T3_ALPHA (8 << 0) -# define RADEON_ALPHA_ARG_B_SHIFT 4 -# define RADEON_ALPHA_ARG_B_MASK (0xf << 4) -# define RADEON_ALPHA_ARG_B_ZERO (0 << 4) -# define RADEON_ALPHA_ARG_B_CURRENT_ALPHA (1 << 4) -# define RADEON_ALPHA_ARG_B_DIFFUSE_ALPHA (2 << 4) -# define RADEON_ALPHA_ARG_B_SPECULAR_ALPHA (3 << 4) -# define RADEON_ALPHA_ARG_B_TFACTOR_ALPHA (4 << 4) -# define RADEON_ALPHA_ARG_B_T0_ALPHA (5 << 4) -# define RADEON_ALPHA_ARG_B_T1_ALPHA (6 << 4) -# define RADEON_ALPHA_ARG_B_T2_ALPHA (7 << 4) -# define RADEON_ALPHA_ARG_B_T3_ALPHA (8 << 4) -# define RADEON_ALPHA_ARG_C_SHIFT 8 -# define RADEON_ALPHA_ARG_C_MASK (0xf << 8) -# define RADEON_ALPHA_ARG_C_ZERO (0 << 8) -# define RADEON_ALPHA_ARG_C_CURRENT_ALPHA (1 << 8) -# define RADEON_ALPHA_ARG_C_DIFFUSE_ALPHA (2 << 8) -# define RADEON_ALPHA_ARG_C_SPECULAR_ALPHA (3 << 8) -# define RADEON_ALPHA_ARG_C_TFACTOR_ALPHA (4 << 8) -# define RADEON_ALPHA_ARG_C_T0_ALPHA (5 << 8) -# define RADEON_ALPHA_ARG_C_T1_ALPHA (6 << 8) -# define RADEON_ALPHA_ARG_C_T2_ALPHA (7 << 8) -# define RADEON_ALPHA_ARG_C_T3_ALPHA (8 << 8) -# define RADEON_DOT_ALPHA_DONT_REPLICATE (1 << 9) -/* COMP_ARG, BLEND_CNTL, CLAMP_TX same as for CBLEND, T*_EQ_TCUR */ -# define RADEON_ALPHA_ARG_MASK 0xf - -#define RADEON_REG_PP_TFACTOR_0 0x1c68 -#define RADEON_REG_PP_TFACTOR_1 0x1c80 -#define RADEON_REG_PP_TFACTOR_2 0x1c98 - -#define R128_REG_TEX_CNTL_C 0x1c9c -# define R128_Z_ENABLE (1 << 0) -# define R128_Z_WRITE_ENABLE (1 << 1) -# define R128_STENCIL_ENABLE (1 << 3) -# define R128_SHADE_ENABLE (0 << 4) -# define R128_TEXMAP_ENABLE (1 << 4) -# define R128_SEC_TEXMAP_ENABLE (1 << 5) -# define R128_FOG_ENABLE (1 << 7) -# define R128_DITHER_ENABLE (1 << 8) -# define R128_ALPHA_ENABLE (1 << 9) -# define R128_ALPHA_TEST_ENABLE (1 << 10) -# define R128_SPEC_LIGHT_ENABLE (1 << 11) -# define R128_TEX_CHROMA_KEY_ENABLE (1 << 12) -# define R128_ALPHA_IN_TEX_COMPLETE_A (0 << 13) -# define R128_ALPHA_IN_TEX_LSB_A (1 << 13) -# define R128_LIGHT_DIS (0 << 14) -# define R128_LIGHT_COPY (1 << 14) -# define R128_LIGHT_MODULATE (2 << 14) -# define R128_LIGHT_ADD (3 << 14) -# define R128_LIGHT_BLEND_CONSTANT (4 << 14) -# define R128_LIGHT_BLEND_TEXTURE (5 << 14) -# define R128_LIGHT_BLEND_VERTEX (6 << 14) -# define R128_LIGHT_BLEND_CONST_COLOR (7 << 14) -# define R128_ALPHA_LIGHT_DIS (0 << 18) -# define R128_ALPHA_LIGHT_COPY (1 << 18) -# define R128_ALPHA_LIGHT_MODULATE (2 << 18) -# define R128_ALPHA_LIGHT_ADD (3 << 18) -# define R128_ANTI_ALIAS (1 << 21) -# define R128_TEX_CACHE_FLUSH (1 << 23) -# define R128_LOD_BIAS_SHIFT 24 -# define R128_LOD_BIAS_MASK (0xff << 24) - -#define R128_REG_MISC_3D_STATE_CNTL 0x1ca0 -# define R128_REF_ALPHA_MASK 0xff -# define R128_MISC_SCALE_3D_NOOP (0 << 8) -# define R128_MISC_SCALE_3D_SCALE (1 << 8) -# define R128_MISC_SCALE_3D_TEXMAP_SHADE (2 << 8) -# define R128_MISC_SCALE_PIX_BLEND (0 << 10) -# define R128_MISC_SCALE_PIX_REPLICATE (1 << 10) -# define R128_ALPHA_COMB_ADD_CLAMP (0 << 12) -# define R128_ALPHA_COMB_ADD_NO_CLAMP (1 << 12) -# define R128_ALPHA_COMB_SUB_SRC_DST_CLAMP (2 << 12) -# define R128_ALPHA_COMB_SUB_SRC_DST_NO_CLAMP (3 << 12) -# define R128_FOG_VERTEX (0 << 14) -# define R128_FOG_TABLE (1 << 14) -# define R128_SBLEND_ZERO (0 << 16) -# define R128_SBLEND_ONE (1 << 16) -# define R128_SBLEND_SRCCOLOR (2 << 16) -# define R128_SBLEND_INVSRCCOLOR (3 << 16) -# define R128_SBLEND_SRC_ALPHA (4 << 16) -# define R128_SBLEND_INV_SRC_ALPHA (5 << 16) -# define R128_SBLEND_DST_ALPHA (6 << 16) -# define R128_SBLEND_INV_DST_ALPHA (7 << 16) -# define R128_SBLEND_DSTCOLOR (8 << 16) -# define R128_SBLEND_INVDSTCOLOR (9 << 16) -# define R128_SBLEND_SRC_ALPHASAT (10 << 16) -# define R128_SBLEND_BOTHSRC_ALPHA (11 << 16) -# define R128_SBLEND_BOTHINV_SRC_ALPHA (12 << 16) -# define R128_SBLEND_MASK (15 << 16) -# define R128_DBLEND_ZERO (0 << 20) -# define R128_DBLEND_ONE (1 << 20) -# define R128_DBLEND_SRCCOLOR (2 << 20) -# define R128_DBLEND_INVSRCCOLOR (3 << 20) -# define R128_DBLEND_SRC_ALPHA (4 << 20) -# define R128_DBLEND_INV_SRC_ALPHA (5 << 20) -# define R128_DBLEND_DST_ALPHA (6 << 20) -# define R128_DBLEND_INV_DST_ALPHA (7 << 20) -# define R128_DBLEND_DSTCOLOR (8 << 20) -# define R128_DBLEND_INVDSTCOLOR (9 << 20) -# define R128_DBLEND_SRC_ALPHASAT (10 << 20) -# define R128_DBLEND_MASK (15 << 20) -# define R128_ALPHA_TEST_NEVER (0 << 24) -# define R128_ALPHA_TEST_LESS (1 << 24) -# define R128_ALPHA_TEST_LESSEQUAL (2 << 24) -# define R128_ALPHA_TEST_EQUAL (3 << 24) -# define R128_ALPHA_TEST_GREATEREQUAL (4 << 24) -# define R128_ALPHA_TEST_GREATER (5 << 24) -# define R128_ALPHA_TEST_NEQUAL (6 << 24) -# define R128_ALPHA_TEST_ALWAYS (7 << 24) -# define R128_ALPHA_TEST_MASK (7 << 24) - -#define R128_REG_PRIM_TEX_CNTL_C 0x1cb0 -#define R128_REG_SEC_TEX_CNTL_C 0x1d00 -# define R128_SEC_SELECT_PRIM_ST (0 << 0) -# define R128_SEC_SELECT_SEC_ST (1 << 0) -# define R128_MIN_BLEND_NEAREST (0 << 1) -# define R128_MIN_BLEND_LINEAR (1 << 1) -# define R128_MIN_BLEND_MIPNEAREST (2 << 1) -# define R128_MIN_BLEND_MIPLINEAR (3 << 1) -# define R128_MIN_BLEND_LINEARMIPNEAREST (4 << 1) -# define R128_MIN_BLEND_LINEARMIPLINEAR (5 << 1) -# define R128_MIN_BLEND_MASK (7 << 1) -# define R128_MAG_BLEND_NEAREST (0 << 4) -# define R128_MAG_BLEND_LINEAR (1 << 4) -# define R128_MAG_BLEND_MASK (7 << 4) -# define R128_MIP_MAP_DISABLE (1 << 7) -# define R128_TEX_CLAMP_S_WRAP (0 << 8) -# define R128_TEX_CLAMP_S_MIRROR (1 << 8) -# define R128_TEX_CLAMP_S_CLAMP (2 << 8) -# define R128_TEX_CLAMP_S_BORDER_COLOR (3 << 8) -# define R128_TEX_CLAMP_S_MASK (3 << 8) -# define R128_TEX_WRAP_S (1 << 10) -# define R128_TEX_CLAMP_T_WRAP (0 << 11) -# define R128_TEX_CLAMP_T_MIRROR (1 << 11) -# define R128_TEX_CLAMP_T_CLAMP (2 << 11) -# define R128_TEX_CLAMP_T_BORDER_COLOR (3 << 11) -# define R128_TEX_CLAMP_T_MASK (3 << 11) -# define R128_TEX_WRAP_T (1 << 13) -# define R128_TEX_PERSPECTIVE_DISABLE (1 << 14) -# define R128_TEX_DATATYPE_SHIFT 16 -# define R128_PALLETE_EITHER (0 << 20) -# define R128_PALLETE_1 (1 << 20) -# define R128_PALLETE_2 (2 << 20) -# define R128_PSEUDOCOLOR_DT_RGB565 (0 << 24) -# define R128_PSEUDOCOLOR_DT_ARGB1555 (1 << 24) -# define R128_PSEUDOCOLOR_DT_ARGB4444 (2 << 24) - -#define R128_REG_PRIM_TEXTURE_COMBINE_CNTL_C 0x1cb4 -#define R128_REG_SEC_TEXTURE_COMBINE_CNTL_C 0x1d04 -# define R128_COMB_DIS (0 << 0) -# define R128_COMB_COPY (1 << 0) -# define R128_COMB_COPY_INP (2 << 0) -# define R128_COMB_MODULATE (3 << 0) -# define R128_COMB_MODULATE2X (4 << 0) -# define R128_COMB_MODULATE4X (5 << 0) -# define R128_COMB_ADD (6 << 0) -# define R128_COMB_ADD_SIGNED (7 << 0) -# define R128_COMB_BLEND_VERTEX (8 << 0) -# define R128_COMB_BLEND_TEXTURE (9 << 0) -# define R128_COMB_BLEND_CONST (10 << 0) -# define R128_COMB_BLEND_PREMULT (11 << 0) -# define R128_COMB_BLEND_PREV (12 << 0) -# define R128_COMB_BLEND_PREMULT_INV (13 << 0) -# define R128_COMB_ADD_SIGNED2X (14 << 0) -# define R128_COMB_BLEND_CONST_COLOR (15 << 0) -# define R128_COMB_MASK (15 << 0) -# define R128_COLOR_FACTOR_CONST_COLOR (0 << 4) -# define R128_COLOR_FACTOR_NCONST_COLOR (1 << 4) -# define R128_COLOR_FACTOR_TEX (4 << 4) -# define R128_COLOR_FACTOR_NTEX (5 << 4) -# define R128_COLOR_FACTOR_ALPHA (6 << 4) -# define R128_COLOR_FACTOR_NALPHA (7 << 4) -# define R128_COLOR_FACTOR_PREV_COLOR (8 << 4) -# define R128_COLOR_FACTOR_MASK (15 << 4) -# define R128_COMB_FCN_MSB (1 << 8) -# define R128_INPUT_FACTOR_CONST_COLOR (2 << 10) -# define R128_INPUT_FACTOR_CONST_ALPHA (3 << 10) -# define R128_INPUT_FACTOR_INT_COLOR (4 << 10) -# define R128_INPUT_FACTOR_INT_ALPHA (5 << 10) -# define R128_INPUT_FACTOR_PREV_COLOR (8 << 10) /* SEC only */ -# define R128_INPUT_FACTOR_PREV_ALPHA (9 << 10) /* SEC only */ -# define R128_INPUT_FACTOR_MASK (15 << 10) -# define R128_COMB_ALPHA_DIS (0 << 14) -# define R128_COMB_ALPHA_COPY (1 << 14) -# define R128_COMB_ALPHA_COPY_INP (2 << 14) -# define R128_COMB_ALPHA_MODULATE (3 << 14) -# define R128_COMB_ALPHA_MODULATE2X (4 << 14) -# define R128_COMB_ALPHA_MODULATE4X (5 << 14) -# define R128_COMB_ALPHA_ADD (6 << 14) -# define R128_COMB_ALPHA_ADD_SIGNED (7 << 14) -# define R128_COMB_ALPHA_ADD_SIGNED2X (14 << 14) -# define R128_COMB_ALPHA_MASK (15 << 14) -# define R128_ALPHA_FACTOR_TEX_ALPHA (6 << 18) -# define R128_ALPHA_FACTOR_NTEX_ALPHA (7 << 18) -# define R128_ALPHA_FACTOR_MASK (15 << 18) -# define R128_INP_FACTOR_A_CONST_ALPHA (1 << 25) -# define R128_INP_FACTOR_A_INT_ALPHA (2 << 25) -# define R128_INP_FACTOR_A_PREV_ALPHA (4 << 25) /* SEC only */ -# define R128_INP_FACTOR_A_MASK (7 << 25) - -#define R128_REG_TEX_SIZE_PITCH_C 0x1cb8 -# define R128_TEX_PITCH_SHIFT 0 -# define R128_TEX_SIZE_SHIFT 4 -# define R128_TEX_HEIGHT_SHIFT 8 -# define R128_TEX_MIN_SIZE_SHIFT 12 -# define R128_SEC_TEX_PITCH_SHIFT 16 -# define R128_SEC_TEX_SIZE_SHIFT 20 -# define R128_SEC_TEX_HEIGHT_SHIFT 24 -# define R128_SEC_TEX_MIN_SIZE_SHIFT 28 -# define R128_TEX_PITCH_MASK (0x0f << 0) -# define R128_TEX_SIZE_MASK (0x0f << 4) -# define R128_TEX_HEIGHT_MASK (0x0f << 8) -# define R128_TEX_MIN_SIZE_MASK (0x0f << 12) -# define R128_SEC_TEX_PITCH_MASK (0x0f << 16) -# define R128_SEC_TEX_SIZE_MASK (0x0f << 20) -# define R128_SEC_TEX_HEIGHT_MASK (0x0f << 24) -# define R128_SEC_TEX_MIN_SIZE_MASK (0x0f << 28) -# define R128_TEX_SIZE_PITCH_SHIFT 0 -# define R128_SEC_TEX_SIZE_PITCH_SHIFT 16 -# define R128_TEX_SIZE_PITCH_MASK (0xffff << 0) -# define R128_SEC_TEX_SIZE_PITCH_MASK (0xffff << 16) - -#define R128_REG_PRIM_TEX_0_OFFSET_C 0x1cbc -#define R128_REG_PRIM_TEX_1_OFFSET_C 0x1cc0 -#define R128_REG_PRIM_TEX_2_OFFSET_C 0x1cc4 -#define R128_REG_PRIM_TEX_3_OFFSET_C 0x1cc8 -#define R128_REG_PRIM_TEX_4_OFFSET_C 0x1ccc -#define R128_REG_PRIM_TEX_5_OFFSET_C 0x1cd0 -#define R128_REG_PRIM_TEX_6_OFFSET_C 0x1cd4 -#define R128_REG_PRIM_TEX_7_OFFSET_C 0x1cd8 -#define R128_REG_PRIM_TEX_8_OFFSET_C 0x1cdc -#define R128_REG_PRIM_TEX_9_OFFSET_C 0x1ce0 -#define R128_REG_PRIM_TEX_10_OFFSET_C 0x1ce4 -#define R128_REG_SEC_TEX_0_OFFSET_C 0x1d08 -#define R128_REG_SEC_TEX_1_OFFSET_C 0x1d0c -#define R128_REG_SEC_TEX_2_OFFSET_C 0x1d10 -#define R128_REG_SEC_TEX_3_OFFSET_C 0x1d14 -#define R128_REG_SEC_TEX_4_OFFSET_C 0x1d18 -#define R128_REG_SEC_TEX_5_OFFSET_C 0x1d1c -#define R128_REG_SEC_TEX_6_OFFSET_C 0x1d20 -#define R128_REG_SEC_TEX_7_OFFSET_C 0x1d24 -#define R128_REG_SEC_TEX_8_OFFSET_C 0x1d28 -#define R128_REG_SEC_TEX_9_OFFSET_C 0x1d2c -#define R128_REG_SEC_TEX_10_OFFSET_C 0x1d30 -# define R128_TEX_NO_TILE (0 << 30) -# define R128_TEX_TILED_BY_HOST (1 << 30) -# define R128_TEX_TILED_BY_STORAGE (2 << 30) -# define R128_TEX_TILED_BY_STORAGE2 (3 << 30) -#define R128_REG_CONSTANT_COLOR_C 0x1d34 -# define R128_CONSTANT_BLUE_SHIFT 0 -# define R128_CONSTANT_GREEN_SHIFT 8 -# define R128_CONSTANT_RED_SHIFT 16 -# define R128_CONSTANT_ALPHA_SHIFT 24 - -#define RADEON_REG_PP_TEX_SIZE_0 0x1d04 /* NPOT */ -#define RADEON_REG_PP_TEX_SIZE_1 0x1d0c /* NPOT */ -#define RADEON_REG_PP_TEX_SIZE_2 0x1d14 /* NPOT */ -# define RADEON_TEX_USIZE_MASK (0x7ff << 0) -# define RADEON_TEX_USIZE_SHIFT 0 -# define RADEON_TEX_VSIZE_MASK (0x7ff << 16) -# define RADEON_TEX_VSIZE_SHIFT 16 -# define RADEON_SIGNED_RGB_MASK (1 << 30) -# define RADEON_SIGNED_RGB_SHIFT 30 -# define RADEON_SIGNED_ALPHA_MASK (1 << 31) -# define RADEON_SIGNED_ALPHA_SHIFT 31 - -#define RADEON_REG_PP_TEX_PITCH_0 0x1d08 /* NPOT */ -#define RADEON_REG_PP_TEX_PITCH_1 0x1d10 /* NPOT */ -#define RADEON_REG_PP_TEX_PITCH_2 0x1d18 /* NPOT */ -/* note: bits 13-5: 32 byte aligned stride of texture map */ - -#define R128_REG_PLANE_3D_MASK_C 0x1d44 - -#define RADEON_REG_RB3D_PLANEMASK 0x1d84 - -#define R200_REG_SE_VAP_CNTL 0x2080 -# define R200_VAP_TCL_ENABLE 0x00000001 -# define R200_VAP_SINGLE_BUF_STATE_ENABLE 0x00000010 -# define R200_VAP_FORCE_W_TO_ONE 0x00010000 -# define R200_VAP_D3D_TEX_DEFAULT 0x00020000 -# define R200_VAP_VF_MAX_VTX_NUM__SHIFT 18 -# define R200_VAP_VF_MAX_VTX_NUM (9 << 18) -# define R200_VAP_DX_CLIP_SPACE_DEF 0x00400000 - -#define R200_REG_SE_VTX_FMT_0 0x2088 -# define R200_VTX_XY 0 /* always have xy */ -# define R200_VTX_Z0 (1 << 0) -# define R200_VTX_W0 (1 << 1) -# define R200_VTX_WEIGHT_COUNT_SHIFT (2) -# define R200_VTX_PV_MATRIX_SEL (1 << 5) -# define R200_VTX_N0 (1 << 6) -# define R200_VTX_POINT_SIZE (1 << 7) -# define R200_VTX_DISCRETE_FOG (1 << 8) -# define R200_VTX_SHININESS_0 (1 << 9) -# define R200_VTX_SHININESS_1 (1 << 10) -# define R200_VTX_COLOR_NOT_PRESENT 0 -# define R200_VTX_PK_RGBA 1 -# define R200_VTX_FP_RGB 2 -# define R200_VTX_FP_RGBA 3 -# define R200_VTX_COLOR_MASK 3 -# define R200_VTX_COLOR_0_SHIFT 11 -# define R200_VTX_COLOR_1_SHIFT 13 -# define R200_VTX_COLOR_2_SHIFT 15 -# define R200_VTX_COLOR_3_SHIFT 17 -# define R200_VTX_COLOR_4_SHIFT 19 -# define R200_VTX_COLOR_5_SHIFT 21 -# define R200_VTX_COLOR_6_SHIFT 23 -# define R200_VTX_COLOR_7_SHIFT 25 -# define R200_VTX_XY1 (1 << 28) -# define R200_VTX_Z1 (1 << 29) -# define R200_VTX_W1 (1 << 30) -# define R200_VTX_N1 (1 << 31) - -#define R200_REG_SE_VTX_FMT_1 0x208c -# define R200_VTX_TEX0_COMP_CNT_SHIFT 0 -# define R200_VTX_TEX1_COMP_CNT_SHIFT 3 -# define R200_VTX_TEX2_COMP_CNT_SHIFT 6 -# define R200_VTX_TEX3_COMP_CNT_SHIFT 9 -# define R200_VTX_TEX4_COMP_CNT_SHIFT 12 -# define R200_VTX_TEX5_COMP_CNT_SHIFT 15 - -#define R200_REG_SE_VTE_CNTL 0x20b0 -# define R200_VPORT_X_SCALE_ENA 0x00000001 -# define R200_VPORT_X_OFFSET_ENA 0x00000002 -# define R200_VPORT_Y_SCALE_ENA 0x00000004 -# define R200_VPORT_Y_OFFSET_ENA 0x00000008 -# define R200_VPORT_Z_SCALE_ENA 0x00000010 -# define R200_VPORT_Z_OFFSET_ENA 0x00000020 -# define R200_VTX_XY_FMT 0x00000100 -# define R200_VTX_Z_FMT 0x00000200 -# define R200_VTX_W0_FMT 0x00000400 -# define R200_VTX_W0_NORMALIZE 0x00000800 -# define R200_VTX_ST_DENORMALIZED 0x00001000 - -#define R200_REG_SE_VAP_CNTL_STATUS 0x2140 -#define RADEON_REG_SE_CNTL_STATUS 0x2140 -# define RADEON_VC_NO_SWAP (0 << 0) -# define RADEON_VC_16BIT_SWAP (1 << 0) -# define RADEON_VC_32BIT_SWAP (2 << 0) -# define RADEON_VC_HALF_DWORD_SWAP (3 << 0) -# define RADEON_TCL_BYPASS (1 << 8) - -#define R200_REG_SE_VTX_STATE_CNTL 0x2180 - -#define RADEON_REG_RE_TOP_LEFT 0x26c0 - -#define R200_REG_RE_AUX_SCISSOR_CNTL 0x26f0 - -#define R200_REG_PP_TXFILTER_0 0x2c00 -#define R200_REG_PP_TXFILTER_1 0x2c20 -#define R200_REG_PP_TXFILTER_2 0x2c40 -#define R200_REG_PP_TXFILTER_3 0x2c60 -#define R200_REG_PP_TXFILTER_4 0x2c80 -#define R200_REG_PP_TXFILTER_5 0x2ca0 -# define R200_MAG_FILTER_NEAREST (0 << 0) -# define R200_MAG_FILTER_LINEAR (1 << 0) -# define R200_MAG_FILTER_MASK (1 << 0) -# define R200_MIN_FILTER_NEAREST (0 << 1) -# define R200_MIN_FILTER_LINEAR (1 << 1) -# define R200_MIN_FILTER_NEAREST_MIP_NEAREST (2 << 1) -# define R200_MIN_FILTER_NEAREST_MIP_LINEAR (3 << 1) -# define R200_MIN_FILTER_LINEAR_MIP_NEAREST (6 << 1) -# define R200_MIN_FILTER_LINEAR_MIP_LINEAR (7 << 1) -# define R200_MIN_FILTER_ANISO_NEAREST (8 << 1) -# define R200_MIN_FILTER_ANISO_LINEAR (9 << 1) -# define R200_MIN_FILTER_ANISO_NEAREST_MIP_NEAREST (10 << 1) -# define R200_MIN_FILTER_ANISO_NEAREST_MIP_LINEAR (11 << 1) -# define R200_MIN_FILTER_MASK (15 << 1) -# define R200_MAX_ANISO_1_TO_1 (0 << 5) -# define R200_MAX_ANISO_2_TO_1 (1 << 5) -# define R200_MAX_ANISO_4_TO_1 (2 << 5) -# define R200_MAX_ANISO_8_TO_1 (3 << 5) -# define R200_MAX_ANISO_16_TO_1 (4 << 5) -# define R200_MAX_ANISO_MASK (7 << 5) -# define R200_MAX_MIP_LEVEL_MASK (0x0f << 16) -# define R200_MAX_MIP_LEVEL_SHIFT 16 -# define R200_YUV_TO_RGB (1 << 20) -# define R200_YUV_TEMPERATURE_COOL (0 << 21) -# define R200_YUV_TEMPERATURE_HOT (1 << 21) -# define R200_YUV_TEMPERATURE_MASK (1 << 21) -# define R200_WRAPEN_S (1 << 22) -# define R200_CLAMP_S_WRAP (0 << 23) -# define R200_CLAMP_S_MIRROR (1 << 23) -# define R200_CLAMP_S_CLAMP_LAST (2 << 23) -# define R200_CLAMP_S_MIRROR_CLAMP_LAST (3 << 23) -# define R200_CLAMP_S_CLAMP_BORDER (4 << 23) -# define R200_CLAMP_S_MIRROR_CLAMP_BORDER (5 << 23) -# define R200_CLAMP_S_CLAMP_GL (6 << 23) -# define R200_CLAMP_S_MIRROR_CLAMP_GL (7 << 23) -# define R200_CLAMP_S_MASK (7 << 23) -# define R200_WRAPEN_T (1 << 26) -# define R200_CLAMP_T_WRAP (0 << 27) -# define R200_CLAMP_T_MIRROR (1 << 27) -# define R200_CLAMP_T_CLAMP_LAST (2 << 27) -# define R200_CLAMP_T_MIRROR_CLAMP_LAST (3 << 27) -# define R200_CLAMP_T_CLAMP_BORDER (4 << 27) -# define R200_CLAMP_T_MIRROR_CLAMP_BORDER (5 << 27) -# define R200_CLAMP_T_CLAMP_GL (6 << 27) -# define R200_CLAMP_T_MIRROR_CLAMP_GL (7 << 27) -# define R200_CLAMP_T_MASK (7 << 27) -# define R200_KILL_LT_ZERO (1 << 30) -# define R200_BORDER_MODE_OGL (0 << 31) -# define R200_BORDER_MODE_D3D (1 << 31) - -#define R200_REG_PP_TXFORMAT_0 0x2c04 -#define R200_REG_PP_TXFORMAT_1 0x2c24 -#define R200_REG_PP_TXFORMAT_2 0x2c44 -#define R200_REG_PP_TXFORMAT_3 0x2c64 -#define R200_REG_PP_TXFORMAT_4 0x2c84 -#define R200_REG_PP_TXFORMAT_5 0x2ca4 -# define R200_TXFORMAT_I8 (0 << 0) -# define R200_TXFORMAT_AI88 (1 << 0) -# define R200_TXFORMAT_RGB332 (2 << 0) -# define R200_TXFORMAT_ARGB1555 (3 << 0) -# define R200_TXFORMAT_RGB565 (4 << 0) -# define R200_TXFORMAT_ARGB4444 (5 << 0) -# define R200_TXFORMAT_ARGB8888 (6 << 0) -# define R200_TXFORMAT_RGBA8888 (7 << 0) -# define R200_TXFORMAT_Y8 (8 << 0) -# define R200_TXFORMAT_AVYU4444 (9 << 0) -# define R200_TXFORMAT_VYUY422 (10 << 0) -# define R200_TXFORMAT_YVYU422 (11 << 0) -# define R200_TXFORMAT_DXT1 (12 << 0) -# define R200_TXFORMAT_DXT23 (14 << 0) -# define R200_TXFORMAT_DXT45 (15 << 0) -# define R200_TXFORMAT_FORMAT_MASK (31 << 0) -# define R200_TXFORMAT_FORMAT_SHIFT 0 -# define R200_TXFORMAT_ALPHA_IN_MAP (1 << 6) -# define R200_TXFORMAT_NON_POWER2 (1 << 7) -# define R200_TXFORMAT_WIDTH_MASK (15 << 8) -# define R200_TXFORMAT_WIDTH_SHIFT 8 -# define R200_TXFORMAT_HEIGHT_MASK (15 << 12) -# define R200_TXFORMAT_HEIGHT_SHIFT 12 -# define R200_TXFORMAT_F5_WIDTH_MASK (15 << 16) /* cube face 5 */ -# define R200_TXFORMAT_F5_WIDTH_SHIFT 16 -# define R200_TXFORMAT_F5_HEIGHT_MASK (15 << 20) -# define R200_TXFORMAT_F5_HEIGHT_SHIFT 20 -# define R200_TXFORMAT_ST_ROUTE_STQ0 (0 << 24) -# define R200_TXFORMAT_ST_ROUTE_STQ1 (1 << 24) -# define R200_TXFORMAT_ST_ROUTE_STQ2 (2 << 24) -# define R200_TXFORMAT_ST_ROUTE_STQ3 (3 << 24) -# define R200_TXFORMAT_ST_ROUTE_STQ4 (4 << 24) -# define R200_TXFORMAT_ST_ROUTE_STQ5 (5 << 24) -# define R200_TXFORMAT_ST_ROUTE_MASK (7 << 24) -# define R200_TXFORMAT_ST_ROUTE_SHIFT 24 -# define R200_TXFORMAT_ALPHA_MASK_ENABLE (1 << 28) -# define R200_TXFORMAT_CHROMA_KEY_ENABLE (1 << 29) -# define R200_TXFORMAT_CUBIC_MAP_ENABLE (1 << 30) - -#define R200_REG_PP_TXFORMAT_X_0 0x2c08 -#define R200_REG_PP_TXFORMAT_X_1 0x2c28 -#define R200_REG_PP_TXFORMAT_X_2 0x2c48 -#define R200_REG_PP_TXFORMAT_X_3 0x2c68 -#define R200_REG_PP_TXFORMAT_X_4 0x2c88 -#define R200_REG_PP_TXFORMAT_X_5 0x2ca8 -# define R200_DEPTH_LOG2_MASK (0xf << 0) -# define R200_DEPTH_LOG2_SHIFT 0 -# define R200_VOLUME_FILTER_SHIFT 4 -# define R200_VOLUME_FILTER_MASK (1 << 4) -# define R200_VOLUME_FILTER_NEAREST (0 << 4) -# define R200_VOLUME_FILTER_LINEAR (1 << 4) -# define R200_WRAPEN_Q (1 << 8) -# define R200_CLAMP_Q_WRAP (0 << 9) -# define R200_CLAMP_Q_MIRROR (1 << 9) -# define R200_CLAMP_Q_CLAMP_LAST (2 << 9) -# define R200_CLAMP_Q_MIRROR_CLAMP_LAST (3 << 9) -# define R200_CLAMP_Q_CLAMP_BORDER (4 << 9) -# define R200_CLAMP_Q_MIRROR_CLAMP_BORDER (5 << 9) -# define R200_CLAMP_Q_CLAMP_GL (6 << 9) -# define R200_CLAMP_Q_MIRROR_CLAMP_GL (7 << 9) -# define R200_CLAMP_Q_MASK (7 << 9) -# define R200_MIN_MIP_LEVEL_MASK (0xff << 12) -# define R200_MIN_MIP_LEVEL_SHIFT 12 -# define R200_TEXCOORD_NONPROJ (0 << 16) -# define R200_TEXCOORD_CUBIC_ENV (1 << 16) -# define R200_TEXCOORD_VOLUME (2 << 16) -# define R200_TEXCOORD_PROJ (3 << 16) -# define R200_TEXCOORD_DEPTH (4 << 16) -# define R200_TEXCOORD_1D_PROJ (5 << 16) -# define R200_TEXCOORD_1D (6 << 16) -# define R200_TEXCOORD_ZERO (7 << 16) -# define R200_TEXCOORD_MASK (7 << 16) -# define R200_LOD_BIAS_MASK (0xfff80000) -# define R200_LOD_BIAS_SHIFT 19 - -#define R200_REG_PP_TXSIZE_0 0x2c0c /* NPOT only */ -#define R200_REG_PP_TXSIZE_1 0x2c2c /* NPOT only */ -#define R200_REG_PP_TXSIZE_2 0x2c4c /* NPOT only */ -#define R200_REG_PP_TXSIZE_3 0x2c6c /* NPOT only */ -#define R200_REG_PP_TXSIZE_4 0x2c8c /* NPOT only */ -#define R200_REG_PP_TXSIZE_5 0x2cac /* NPOT only */ - -#define R200_REG_PP_TXPITCH_0 0x2c10 /* NPOT only */ -#define R200_REG_PP_TXPITCH_1 0x2c30 /* NPOT only */ -#define R200_REG_PP_TXPITCH_2 0x2c50 /* NPOT only */ -#define R200_REG_PP_TXPITCH_3 0x2c70 /* NPOT only */ -#define R200_REG_PP_TXPITCH_4 0x2c90 /* NPOT only */ -#define R200_REG_PP_TXPITCH_5 0x2cb0 /* NPOT only */ - -#define R200_REG_PP_BORDER_COLOR_0 0x2c14 -#define R200_REG_PP_TXMULTI_CTL_0 0x2c1c - -#define R200_REG_PP_CNTL_X 0x2cc4 - -#define R200_PP_TXOFFSET_0 0x2d00 -#define R200_PP_TXOFFSET_1 0x2d18 -#define R200_PP_TXOFFSET_2 0x2d30 -#define R200_PP_TXOFFSET_3 0x2d48 -#define R200_PP_TXOFFSET_4 0x2d60 -#define R200_PP_TXOFFSET_5 0x2d78 -# define R200_TXO_ENDIAN_NO_SWAP (0 << 0) -# define R200_TXO_ENDIAN_BYTE_SWAP (1 << 0) -# define R200_TXO_ENDIAN_WORD_SWAP (2 << 0) -# define R200_TXO_ENDIAN_HALFDW_SWAP (3 << 0) -# define R200_TXO_OFFSET_MASK 0xffffffe0 -# define R200_TXO_OFFSET_SHIFT 5 - -#define R200_PP_CUBIC_OFFSET_F1_0 0x2d04 -#define R200_PP_CUBIC_OFFSET_F2_0 0x2d08 -#define R200_PP_CUBIC_OFFSET_F3_0 0x2d0c -#define R200_PP_CUBIC_OFFSET_F4_0 0x2d10 -#define R200_PP_CUBIC_OFFSET_F5_0 0x2d14 -#define R200_PP_CUBIC_OFFSET_F1_1 0x2d1c -#define R200_PP_CUBIC_OFFSET_F2_1 0x2d20 -#define R200_PP_CUBIC_OFFSET_F3_1 0x2d24 -#define R200_PP_CUBIC_OFFSET_F4_1 0x2d28 -#define R200_PP_CUBIC_OFFSET_F5_1 0x2d2c -#define R200_PP_CUBIC_OFFSET_F1_2 0x2d34 -#define R200_PP_CUBIC_OFFSET_F2_2 0x2d38 -#define R200_PP_CUBIC_OFFSET_F3_2 0x2d3c -#define R200_PP_CUBIC_OFFSET_F4_2 0x2d40 -#define R200_PP_CUBIC_OFFSET_F5_2 0x2d44 -#define R200_PP_CUBIC_OFFSET_F1_3 0x2d4c -#define R200_PP_CUBIC_OFFSET_F2_3 0x2d50 -#define R200_PP_CUBIC_OFFSET_F3_3 0x2d54 -#define R200_PP_CUBIC_OFFSET_F4_3 0x2d58 -#define R200_PP_CUBIC_OFFSET_F5_3 0x2d5c -#define R200_PP_CUBIC_OFFSET_F1_4 0x2d64 -#define R200_PP_CUBIC_OFFSET_F2_4 0x2d68 -#define R200_PP_CUBIC_OFFSET_F3_4 0x2d6c -#define R200_PP_CUBIC_OFFSET_F4_4 0x2d70 -#define R200_PP_CUBIC_OFFSET_F5_4 0x2d74 -#define R200_PP_CUBIC_OFFSET_F1_5 0x2d7c -#define R200_PP_CUBIC_OFFSET_F2_5 0x2d80 -#define R200_PP_CUBIC_OFFSET_F3_5 0x2d84 -#define R200_PP_CUBIC_OFFSET_F4_5 0x2d88 -#define R200_PP_CUBIC_OFFSET_F5_5 0x2d8c - -/* AKA PIXSHADER_I0_C0 */ -#define R200_REG_PP_TXCBLEND_0 0x2f00 -# define R200_TXC_ARG_A_ZERO (0) -# define R200_TXC_ARG_A_CURRENT_COLOR (2) -# define R200_TXC_ARG_A_CURRENT_ALPHA (3) -# define R200_TXC_ARG_A_DIFFUSE_COLOR (4) -# define R200_TXC_ARG_A_DIFFUSE_ALPHA (5) -# define R200_TXC_ARG_A_SPECULAR_COLOR (6) -# define R200_TXC_ARG_A_SPECULAR_ALPHA (7) -# define R200_TXC_ARG_A_TFACTOR_COLOR (8) -# define R200_TXC_ARG_A_TFACTOR_ALPHA (9) -# define R200_TXC_ARG_A_R0_COLOR (10) -# define R200_TXC_ARG_A_R0_ALPHA (11) -# define R200_TXC_ARG_A_R1_COLOR (12) -# define R200_TXC_ARG_A_R1_ALPHA (13) -# define R200_TXC_ARG_A_R2_COLOR (14) -# define R200_TXC_ARG_A_R2_ALPHA (15) -# define R200_TXC_ARG_A_R3_COLOR (16) -# define R200_TXC_ARG_A_R3_ALPHA (17) -# define R200_TXC_ARG_A_R4_COLOR (18) -# define R200_TXC_ARG_A_R4_ALPHA (19) -# define R200_TXC_ARG_A_R5_COLOR (20) -# define R200_TXC_ARG_A_R5_ALPHA (21) -# define R200_TXC_ARG_A_TFACTOR1_COLOR (26) -# define R200_TXC_ARG_A_TFACTOR1_ALPHA (27) -# define R200_TXC_ARG_A_MASK (31 << 0) -# define R200_TXC_ARG_A_SHIFT 0 -# define R200_TXC_ARG_B_ZERO (0 << 5) -# define R200_TXC_ARG_B_CURRENT_COLOR (2 << 5) -# define R200_TXC_ARG_B_CURRENT_ALPHA (3 << 5) -# define R200_TXC_ARG_B_DIFFUSE_COLOR (4 << 5) -# define R200_TXC_ARG_B_DIFFUSE_ALPHA (5 << 5) -# define R200_TXC_ARG_B_SPECULAR_COLOR (6 << 5) -# define R200_TXC_ARG_B_SPECULAR_ALPHA (7 << 5) -# define R200_TXC_ARG_B_TFACTOR_COLOR (8 << 5) -# define R200_TXC_ARG_B_TFACTOR_ALPHA (9 << 5) -# define R200_TXC_ARG_B_R0_COLOR (10 << 5) -# define R200_TXC_ARG_B_R0_ALPHA (11 << 5) -# define R200_TXC_ARG_B_R1_COLOR (12 << 5) -# define R200_TXC_ARG_B_R1_ALPHA (13 << 5) -# define R200_TXC_ARG_B_R2_COLOR (14 << 5) -# define R200_TXC_ARG_B_R2_ALPHA (15 << 5) -# define R200_TXC_ARG_B_R3_COLOR (16 << 5) -# define R200_TXC_ARG_B_R3_ALPHA (17 << 5) -# define R200_TXC_ARG_B_R4_COLOR (18 << 5) -# define R200_TXC_ARG_B_R4_ALPHA (19 << 5) -# define R200_TXC_ARG_B_R5_COLOR (20 << 5) -# define R200_TXC_ARG_B_R5_ALPHA (21 << 5) -# define R200_TXC_ARG_B_TFACTOR1_COLOR (26 << 5) -# define R200_TXC_ARG_B_TFACTOR1_ALPHA (27 << 5) -# define R200_TXC_ARG_B_MASK (31 << 5) -# define R200_TXC_ARG_B_SHIFT 5 -# define R200_TXC_ARG_C_ZERO (0 << 10) -# define R200_TXC_ARG_C_CURRENT_COLOR (2 << 10) -# define R200_TXC_ARG_C_CURRENT_ALPHA (3 << 10) -# define R200_TXC_ARG_C_DIFFUSE_COLOR (4 << 10) -# define R200_TXC_ARG_C_DIFFUSE_ALPHA (5 << 10) -# define R200_TXC_ARG_C_SPECULAR_COLOR (6 << 10) -# define R200_TXC_ARG_C_SPECULAR_ALPHA (7 << 10) -# define R200_TXC_ARG_C_TFACTOR_COLOR (8 << 10) -# define R200_TXC_ARG_C_TFACTOR_ALPHA (9 << 10) -# define R200_TXC_ARG_C_R0_COLOR (10 << 10) -# define R200_TXC_ARG_C_R0_ALPHA (11 << 10) -# define R200_TXC_ARG_C_R1_COLOR (12 << 10) -# define R200_TXC_ARG_C_R1_ALPHA (13 << 10) -# define R200_TXC_ARG_C_R2_COLOR (14 << 10) -# define R200_TXC_ARG_C_R2_ALPHA (15 << 10) -# define R200_TXC_ARG_C_R3_COLOR (16 << 10) -# define R200_TXC_ARG_C_R3_ALPHA (17 << 10) -# define R200_TXC_ARG_C_R4_COLOR (18 << 10) -# define R200_TXC_ARG_C_R4_ALPHA (19 << 10) -# define R200_TXC_ARG_C_R5_COLOR (20 << 10) -# define R200_TXC_ARG_C_R5_ALPHA (21 << 10) -# define R200_TXC_ARG_C_TFACTOR1_COLOR (26 << 10) -# define R200_TXC_ARG_C_TFACTOR1_ALPHA (27 << 10) -# define R200_TXC_ARG_C_MASK (31 << 10) -# define R200_TXC_ARG_C_SHIFT 10 -# define R200_TXC_COMP_ARG_A (1 << 16) -# define R200_TXC_COMP_ARG_A_SHIFT (16) -# define R200_TXC_BIAS_ARG_A (1 << 17) -# define R200_TXC_SCALE_ARG_A (1 << 18) -# define R200_TXC_NEG_ARG_A (1 << 19) -# define R200_TXC_COMP_ARG_B (1 << 20) -# define R200_TXC_COMP_ARG_B_SHIFT (20) -# define R200_TXC_BIAS_ARG_B (1 << 21) -# define R200_TXC_SCALE_ARG_B (1 << 22) -# define R200_TXC_NEG_ARG_B (1 << 23) -# define R200_TXC_COMP_ARG_C (1 << 24) -# define R200_TXC_COMP_ARG_C_SHIFT (24) -# define R200_TXC_BIAS_ARG_C (1 << 25) -# define R200_TXC_SCALE_ARG_C (1 << 26) -# define R200_TXC_NEG_ARG_C (1 << 27) -# define R200_TXC_OP_MADD (0 << 28) -# define R200_TXC_OP_CND0 (2 << 28) -# define R200_TXC_OP_LERP (3 << 28) -# define R200_TXC_OP_DOT3 (4 << 28) -# define R200_TXC_OP_DOT4 (5 << 28) -# define R200_TXC_OP_CONDITIONAL (6 << 28) -# define R200_TXC_OP_DOT2_ADD (7 << 28) -# define R200_TXC_OP_MASK (7 << 28) - -/* AKA PIXSHADER_I0_C1 */ -#define R200_REG_PP_TXCBLEND2_0 0x2f04 -# define R200_TXC_TFACTOR_SEL_SHIFT 0 -# define R200_TXC_TFACTOR_SEL_MASK 0x7 -# define R200_TXC_TFACTOR1_SEL_SHIFT 4 -# define R200_TXC_TFACTOR1_SEL_MASK (0x7 << 4) -# define R200_TXC_SCALE_SHIFT 8 -# define R200_TXC_SCALE_MASK (7 << 8) -# define R200_TXC_SCALE_1X (0 << 8) -# define R200_TXC_SCALE_2X (1 << 8) -# define R200_TXC_SCALE_4X (2 << 8) -# define R200_TXC_SCALE_8X (3 << 8) -# define R200_TXC_SCALE_INV2 (5 << 8) -# define R200_TXC_SCALE_INV4 (6 << 8) -# define R200_TXC_SCALE_INV8 (7 << 8) -# define R200_TXC_CLAMP_SHIFT 12 -# define R200_TXC_CLAMP_MASK (3 << 12) -# define R200_TXC_CLAMP_WRAP (0 << 12) -# define R200_TXC_CLAMP_0_1 (1 << 12) -# define R200_TXC_CLAMP_8_8 (2 << 12) -# define R200_TXC_OUTPUT_REG_MASK (7 << 16) -# define R200_TXC_OUTPUT_REG_NONE (0 << 16) -# define R200_TXC_OUTPUT_REG_R0 (1 << 16) -# define R200_TXC_OUTPUT_REG_R1 (2 << 16) -# define R200_TXC_OUTPUT_REG_R2 (3 << 16) -# define R200_TXC_OUTPUT_REG_R3 (4 << 16) -# define R200_TXC_OUTPUT_REG_R4 (5 << 16) -# define R200_TXC_OUTPUT_REG_R5 (6 << 16) -# define R200_TXC_OUTPUT_MASK_MASK (7 << 20) -# define R200_TXC_OUTPUT_MASK_RGB (0 << 20) -# define R200_TXC_OUTPUT_MASK_RG (1 << 20) -# define R200_TXC_OUTPUT_MASK_RB (2 << 20) -# define R200_TXC_OUTPUT_MASK_R (3 << 20) -# define R200_TXC_OUTPUT_MASK_GB (4 << 20) -# define R200_TXC_OUTPUT_MASK_G (5 << 20) -# define R200_TXC_OUTPUT_MASK_B (6 << 20) -# define R200_TXC_OUTPUT_MASK_NONE (7 << 20) -# define R200_TXC_REPL_NORMAL 0 -# define R200_TXC_REPL_RED 1 -# define R200_TXC_REPL_GREEN 2 -# define R200_TXC_REPL_BLUE 3 -# define R200_TXC_REPL_ARG_A_SHIFT 26 -# define R200_TXC_REPL_ARG_A_MASK (3 << 26) -# define R200_TXC_REPL_ARG_B_SHIFT 28 -# define R200_TXC_REPL_ARG_B_MASK (3 << 28) -# define R200_TXC_REPL_ARG_C_SHIFT 30 -# define R200_TXC_REPL_ARG_C_MASK (3 << 30) - -/* AKA PIXSHADER_I0_A0 */ -#define R200_REG_PP_TXABLEND_0 0x2f08 -# define R200_TXA_ARG_A_ZERO (0) -# define R200_TXA_ARG_A_CURRENT_ALPHA (2) /* guess */ -# define R200_TXA_ARG_A_CURRENT_BLUE (3) /* guess */ -# define R200_TXA_ARG_A_DIFFUSE_ALPHA (4) -# define R200_TXA_ARG_A_DIFFUSE_BLUE (5) -# define R200_TXA_ARG_A_SPECULAR_ALPHA (6) -# define R200_TXA_ARG_A_SPECULAR_BLUE (7) -# define R200_TXA_ARG_A_TFACTOR_ALPHA (8) -# define R200_TXA_ARG_A_TFACTOR_BLUE (9) -# define R200_TXA_ARG_A_R0_ALPHA (10) -# define R200_TXA_ARG_A_R0_BLUE (11) -# define R200_TXA_ARG_A_R1_ALPHA (12) -# define R200_TXA_ARG_A_R1_BLUE (13) -# define R200_TXA_ARG_A_R2_ALPHA (14) -# define R200_TXA_ARG_A_R2_BLUE (15) -# define R200_TXA_ARG_A_R3_ALPHA (16) -# define R200_TXA_ARG_A_R3_BLUE (17) -# define R200_TXA_ARG_A_R4_ALPHA (18) -# define R200_TXA_ARG_A_R4_BLUE (19) -# define R200_TXA_ARG_A_R5_ALPHA (20) -# define R200_TXA_ARG_A_R5_BLUE (21) -# define R200_TXA_ARG_A_TFACTOR1_ALPHA (26) -# define R200_TXA_ARG_A_TFACTOR1_BLUE (27) -# define R200_TXA_ARG_A_MASK (31 << 0) -# define R200_TXA_ARG_A_SHIFT 0 -# define R200_TXA_ARG_B_ZERO (0 << 5) -# define R200_TXA_ARG_B_CURRENT_ALPHA (2 << 5) /* guess */ -# define R200_TXA_ARG_B_CURRENT_BLUE (3 << 5) /* guess */ -# define R200_TXA_ARG_B_DIFFUSE_ALPHA (4 << 5) -# define R200_TXA_ARG_B_DIFFUSE_BLUE (5 << 5) -# define R200_TXA_ARG_B_SPECULAR_ALPHA (6 << 5) -# define R200_TXA_ARG_B_SPECULAR_BLUE (7 << 5) -# define R200_TXA_ARG_B_TFACTOR_ALPHA (8 << 5) -# define R200_TXA_ARG_B_TFACTOR_BLUE (9 << 5) -# define R200_TXA_ARG_B_R0_ALPHA (10 << 5) -# define R200_TXA_ARG_B_R0_BLUE (11 << 5) -# define R200_TXA_ARG_B_R1_ALPHA (12 << 5) -# define R200_TXA_ARG_B_R1_BLUE (13 << 5) -# define R200_TXA_ARG_B_R2_ALPHA (14 << 5) -# define R200_TXA_ARG_B_R2_BLUE (15 << 5) -# define R200_TXA_ARG_B_R3_ALPHA (16 << 5) -# define R200_TXA_ARG_B_R3_BLUE (17 << 5) -# define R200_TXA_ARG_B_R4_ALPHA (18 << 5) -# define R200_TXA_ARG_B_R4_BLUE (19 << 5) -# define R200_TXA_ARG_B_R5_ALPHA (20 << 5) -# define R200_TXA_ARG_B_R5_BLUE (21 << 5) -# define R200_TXA_ARG_B_TFACTOR1_ALPHA (26 << 5) -# define R200_TXA_ARG_B_TFACTOR1_BLUE (27 << 5) -# define R200_TXA_ARG_B_MASK (31 << 5) -# define R200_TXA_ARG_B_SHIFT 5 -# define R200_TXA_ARG_C_ZERO (0 << 10) -# define R200_TXA_ARG_C_CURRENT_ALPHA (2 << 10) /* guess */ -# define R200_TXA_ARG_C_CURRENT_BLUE (3 << 10) /* guess */ -# define R200_TXA_ARG_C_DIFFUSE_ALPHA (4 << 10) -# define R200_TXA_ARG_C_DIFFUSE_BLUE (5 << 10) -# define R200_TXA_ARG_C_SPECULAR_ALPHA (6 << 10) -# define R200_TXA_ARG_C_SPECULAR_BLUE (7 << 10) -# define R200_TXA_ARG_C_TFACTOR_ALPHA (8 << 10) -# define R200_TXA_ARG_C_TFACTOR_BLUE (9 << 10) -# define R200_TXA_ARG_C_R0_ALPHA (10 << 10) -# define R200_TXA_ARG_C_R0_BLUE (11 << 10) -# define R200_TXA_ARG_C_R1_ALPHA (12 << 10) -# define R200_TXA_ARG_C_R1_BLUE (13 << 10) -# define R200_TXA_ARG_C_R2_ALPHA (14 << 10) -# define R200_TXA_ARG_C_R2_BLUE (15 << 10) -# define R200_TXA_ARG_C_R3_ALPHA (16 << 10) -# define R200_TXA_ARG_C_R3_BLUE (17 << 10) -# define R200_TXA_ARG_C_R4_ALPHA (18 << 10) -# define R200_TXA_ARG_C_R4_BLUE (19 << 10) -# define R200_TXA_ARG_C_R5_ALPHA (20 << 10) -# define R200_TXA_ARG_C_R5_BLUE (21 << 10) -# define R200_TXA_ARG_C_TFACTOR1_ALPHA (26 << 10) -# define R200_TXA_ARG_C_TFACTOR1_BLUE (27 << 10) -# define R200_TXA_ARG_C_MASK (31 << 10) -# define R200_TXA_ARG_C_SHIFT 10 -# define R200_TXA_COMP_ARG_A (1 << 16) -# define R200_TXA_COMP_ARG_A_SHIFT (16) -# define R200_TXA_BIAS_ARG_A (1 << 17) -# define R200_TXA_SCALE_ARG_A (1 << 18) -# define R200_TXA_NEG_ARG_A (1 << 19) -# define R200_TXA_COMP_ARG_B (1 << 20) -# define R200_TXA_COMP_ARG_B_SHIFT (20) -# define R200_TXA_BIAS_ARG_B (1 << 21) -# define R200_TXA_SCALE_ARG_B (1 << 22) -# define R200_TXA_NEG_ARG_B (1 << 23) -# define R200_TXA_COMP_ARG_C (1 << 24) -# define R200_TXA_COMP_ARG_C_SHIFT (24) -# define R200_TXA_BIAS_ARG_C (1 << 25) -# define R200_TXA_SCALE_ARG_C (1 << 26) -# define R200_TXA_NEG_ARG_C (1 << 27) -# define R200_TXA_OP_MADD (0 << 28) -# define R200_TXA_OP_CND0 (2 << 28) -# define R200_TXA_OP_LERP (3 << 28) -# define R200_TXA_OP_CONDITIONAL (6 << 28) -# define R200_TXA_OP_MASK (7 << 28) - -/* AKA PIXSHADER_I0_A1 */ -#define R200_REG_PP_TXABLEND2_0 0x2f0c -# define R200_TXA_TFACTOR_SEL_SHIFT 0 -# define R200_TXA_TFACTOR_SEL_MASK 0x7 -# define R200_TXA_TFACTOR1_SEL_SHIFT 4 -# define R200_TXA_TFACTOR1_SEL_MASK (0x7 << 4) -# define R200_TXA_SCALE_SHIFT 8 -# define R200_TXA_SCALE_MASK (7 << 8) -# define R200_TXA_SCALE_1X (0 << 8) -# define R200_TXA_SCALE_2X (1 << 8) -# define R200_TXA_SCALE_4X (2 << 8) -# define R200_TXA_SCALE_8X (3 << 8) -# define R200_TXA_SCALE_INV2 (5 << 8) -# define R200_TXA_SCALE_INV4 (6 << 8) -# define R200_TXA_SCALE_INV8 (7 << 8) -# define R200_TXA_CLAMP_SHIFT 12 -# define R200_TXA_CLAMP_MASK (3 << 12) -# define R200_TXA_CLAMP_WRAP (0 << 12) -# define R200_TXA_CLAMP_0_1 (1 << 12) -# define R200_TXA_CLAMP_8_8 (2 << 12) -# define R200_TXA_OUTPUT_REG_MASK (7 << 16) -# define R200_TXA_OUTPUT_REG_NONE (0 << 16) -# define R200_TXA_OUTPUT_REG_R0 (1 << 16) -# define R200_TXA_OUTPUT_REG_R1 (2 << 16) -# define R200_TXA_OUTPUT_REG_R2 (3 << 16) -# define R200_TXA_OUTPUT_REG_R3 (4 << 16) -# define R200_TXA_OUTPUT_REG_R4 (5 << 16) -# define R200_TXA_OUTPUT_REG_R5 (6 << 16) -# define R200_TXA_DOT_ALPHA (1 << 20) -# define R200_TXA_REPL_NORMAL 0 -# define R200_TXA_REPL_RED 1 -# define R200_TXA_REPL_GREEN 2 -# define R200_TXA_REPL_ARG_A_SHIFT 26 -# define R200_TXA_REPL_ARG_A_MASK (3 << 26) -# define R200_TXA_REPL_ARG_B_SHIFT 28 -# define R200_TXA_REPL_ARG_B_MASK (3 << 28) -# define R200_TXA_REPL_ARG_C_SHIFT 30 -# define R200_TXA_REPL_ARG_C_MASK (3 << 30) - -#define RADEON_REG_RB2D_DSTCACHE_MODE 0x3428 -/* This is a read-only mirror of RADEON_REG_RB3D_DSTCACHE_MODE */ - -#define RADEON_REG_RB2D_DSTCACHE_CTLSTAT 0x342C -/* This is a read-only mirror of RADEON_REG_RB3D_DSTCACHE_CTLSTAT */ - -#define RADEON_REG_RB3D_DSTCACHE_MODE 0x3258 -# define RADEON_RB3D_DC_CACHE_ENABLE (0) -# define RADEON_RB3D_DC_2D_CACHE_DISABLE (1) -# define RADEON_RB3D_DC_3D_CACHE_DISABLE (2) -# define RADEON_RB3D_DC_CACHE_DISABLE (3) -# define RADEON_RB3D_DC_2D_CACHE_LINESIZE_128 (1 << 2) -# define RADEON_RB3D_DC_3D_CACHE_LINESIZE_128 (2 << 2) -# define RADEON_RB3D_DC_2D_CACHE_AUTOFLUSH (1 << 8) -# define RADEON_RB3D_DC_3D_CACHE_AUTOFLUSH (2 << 8) -# define R200_RB3D_DC_2D_CACHE_AUTOFREE (1 << 10) -# define R200_RB3D_DC_3D_CACHE_AUTOFREE (2 << 10) -# define RADEON_RB3D_DC_FORCE_RMW (1 << 16) -# define RADEON_RB3D_DC_DISABLE_RI_FILL (1 << 24) -# define RADEON_RB3D_DC_DISABLE_RI_READ (1 << 25) -# define RADEON_RB3D_DC_DISABLE_MASK_CHK (1 << 26) - -#define RADEON_REG_RB3D_DSTCACHE_CTLSTAT 0x325C -# define RADEON_RB3D_DC_FLUSH (3 << 0) -# define RADEON_RB3D_DC_FREE (3 << 2) -# define RADEON_RB3D_DC_FLUSH_ALL 0xf -# define RADEON_RB3D_DC_BUSY (1 << 31) - -/* PLL register defines */ -#define R128_REG_MCLK_CNTL 0x000f -# define R128_FORCE_GCP (1 << 16) -# define R128_FORCE_PIPE3D_CP (1 << 17) -# define R128_FORCE_RCP (1 << 18) -#define RADEON_REG_MCLK_CNTL 0x0012 -# define RADEON_FORCEON_MCLKA (1 << 16) -# define RADEON_FORCEON_MCLKB (1 << 17) -# define RADEON_FORCEON_YCLKA (1 << 18) -# define RADEON_FORCEON_YCLKB (1 << 19) -# define RADEON_FORCEON_MC (1 << 20) -# define RADEON_FORCEON_AIC (1 << 21) - -/* CCE packet defines */ - -#define ATI_CCE_PACKETTYPE_MASK 0xc0000000 -#define ATI_CCE_PACKET0 0x00000000 -#define ATI_CCE_PACKET0_COUNT_MASK 0x3fff0000 -#define ATI_CCE_PACKET0_ONE_REG_WR 0x00008000 -#define ATI_CCE_PACKET0_REG_MASK 0x000007ff -#define ATI_CCE_PACKET1 0x40000000 -#define ATI_CCE_PACKET1_REG_1 0x000007ff -#define ATI_CCE_PACKET1_REG_2 0x003ff800 -#define ATI_CCE_PACKET1_REG_2_SHIFT 10 -#define ATI_CCE_PACKET2 0x80000000 -#define ATI_CCE_PACKET3 0xc0000000 -#define ATI_CCE_PACKET3_COUNT_MASK 0x3fff0000 -#define ATI_CCE_PACKET3_IT_OPCODE_MASK 0x0000ff00 -#define ATI_CCE_PACKET3_NOP 0xc0001000 -#define ATI_CCE_PACKET3_NEXT_CHAR 0xc0001900 -#define ATI_CCE_PACKET3_PLY_NEXTSCAN 0xc0001d00 -#define ATI_CCE_PACKET3_SET_SCISSORS 0xc0001e00 -#define R128_CCE_PACKET3_SET_MODE_24BPP 0xc0001f00 -#define R128_CCE_PACKET3_3D_SAVE_CONTEXT 0xc0002000 -#define R128_CCE_PACKET3_3D_PLAY_CONTEXT 0xc0002100 -#define ATI_CCE_PACKET3_3D_RNDR_GEN_INDX_PRIM 0xc0002300 -#define RADEON_CP_PACKET3_LOAD_MICROCODE 0xc0002400 -#define ATI_CCE_PACKET3_3D_RNDR_GEN_PRIM 0xc0002500 -#define RADEON_CP_PACKET3_WAIT_FOR_IDLE 0xc0002600 -#define RADEON_CP_PACKET3_3D_DRAW_VBUF 0xc0002800 -#define RADEON_CP_PACKET3_3D_DRAW_IMMD 0xc0002900 -#define RADEON_CP_PACKET3_3D_DRAW_INDX 0xc0002a00 -#define ATI_CCE_PACKET3_LOAD_PALETTE 0xc0002c00 -#define R128_CCE_PACKET3_PURGE 0xc0002d00 -#define R128_CCE_PACKET3_NEXT_VERTEX_BUNDLE 0xc0002e00 -#define RADEON_CP_PACKET3_3D_LOAD_VBPNTR 0xc0002f00 -#define RADEON_CP_PACKET3_3D_CLEAR_ZMASK 0xc0003200 -#define R200_CP_PACKET3_3D_DRAW_IMMD_2 0xc0003500 -#define ATI_CCE_PACKET3_CNTL_PAINT 0xc0009100 -#define ATI_CCE_PACKET3_CNTL_BITBLT 0xc0009200 -#define ATI_CCE_PACKET3_CNTL_SMALLTEXT 0xc0009300 -#define ATI_CCE_PACKET3_HOSTDATA_BLT 0xc0009400 -#define ATI_CCE_PACKET3_CNTL_POLYLINE 0xc0009500 -#define R128_CCE_PACKET3_SCALE 0xc0009600 -#define R128_CCE_PACKET3_TRANS_SCALE 0xc0009700 -#define ATI_CCE_PACKET3_CNTL_POLYSCANLINES 0xc0009800 -#define ATI_CCE_PACKET3_PAINT_MULTI 0xc0009a00 -#define ATI_CCE_PACKET3_BITBLT_MULTI 0xc0009b00 -#define ATI_CCE_PACKET3_CNTL_TRANS_BITBLT 0xc0009c00 - -#define RADEON_CP_VC_FRMT_XY 0x00000000 -#define RADEON_CP_VC_FRMT_W0 0x00000001 -#define RADEON_CP_VC_FRMT_FPCOLOR 0x00000002 -#define RADEON_CP_VC_FRMT_FPALPHA 0x00000004 -#define RADEON_CP_VC_FRMT_PKCOLOR 0x00000008 -#define RADEON_CP_VC_FRMT_FPSPEC 0x00000010 -#define RADEON_CP_VC_FRMT_FPFOG 0x00000020 -#define RADEON_CP_VC_FRMT_PKSPEC 0x00000040 -#define RADEON_CP_VC_FRMT_ST0 0x00000080 -#define RADEON_CP_VC_FRMT_ST1 0x00000100 -#define RADEON_CP_VC_FRMT_Q1 0x00000200 -#define RADEON_CP_VC_FRMT_ST2 0x00000400 -#define RADEON_CP_VC_FRMT_Q2 0x00000800 -#define RADEON_CP_VC_FRMT_ST3 0x00001000 -#define RADEON_CP_VC_FRMT_Q3 0x00002000 -#define RADEON_CP_VC_FRMT_Q0 0x00004000 -#define RADEON_CP_VC_FRMT_BLND_WEIGHT_CNT_MASK 0x00038000 -#define RADEON_CP_VC_FRMT_N0 0x00040000 -#define RADEON_CP_VC_FRMT_XY1 0x08000000 -#define RADEON_CP_VC_FRMT_Z1 0x10000000 -#define RADEON_CP_VC_FRMT_W1 0x20000000 -#define RADEON_CP_VC_FRMT_N1 0x40000000 -#define RADEON_CP_VC_FRMT_Z 0x80000000 - -#define RADEON_CP_VC_CNTL_PRIM_TYPE_NONE 0x00000000 -#define RADEON_CP_VC_CNTL_PRIM_TYPE_POINT 0x00000001 -#define RADEON_CP_VC_CNTL_PRIM_TYPE_LINE 0x00000002 -#define RADEON_CP_VC_CNTL_PRIM_TYPE_LINE_STRIP 0x00000003 -#define RADEON_CP_VC_CNTL_PRIM_TYPE_TRI_LIST 0x00000004 -#define RADEON_CP_VC_CNTL_PRIM_TYPE_TRI_FAN 0x00000005 -#define RADEON_CP_VC_CNTL_PRIM_TYPE_TRI_STRIP 0x00000006 -#define RADEON_CP_VC_CNTL_PRIM_TYPE_TRI_TYPE_2 0x00000007 -#define RADEON_CP_VC_CNTL_PRIM_TYPE_RECT_LIST 0x00000008 -#define RADEON_CP_VC_CNTL_PRIM_TYPE_3VRT_POINT_LIST 0x00000009 -#define RADEON_CP_VC_CNTL_PRIM_TYPE_3VRT_LINE_LIST 0x0000000a -#define RADEON_CP_VC_CNTL_PRIM_WALK_IND 0x00000010 -#define RADEON_CP_VC_CNTL_PRIM_WALK_LIST 0x00000020 -#define RADEON_CP_VC_CNTL_PRIM_WALK_RING 0x00000030 -#define RADEON_CP_VC_CNTL_COLOR_ORDER_BGRA 0x00000000 -#define RADEON_CP_VC_CNTL_COLOR_ORDER_RGBA 0x00000040 -#define RADEON_CP_VC_CNTL_MAOS_ENABLE 0x00000080 -#define RADEON_CP_VC_CNTL_VTX_FMT_NON_RADEON_MODE 0x00000000 -#define RADEON_CP_VC_CNTL_VTX_FMT_RADEON_MODE 0x00000100 -#define RADEON_CP_VC_CNTL_TCL_DISABLE 0x00000000 -#define RADEON_CP_VC_CNTL_TCL_ENABLE 0x00000200 -#define RADEON_CP_VC_CNTL_NUM_SHIFT 16 - -#define R128_CCE_VC_FRMT_RHW 0x00000001 -#define R128_CCE_VC_FRMT_DIFFUSE_BGR 0x00000002 -#define R128_CCE_VC_FRMT_DIFFUSE_A 0x00000004 -#define R128_CCE_VC_FRMT_DIFFUSE_ARGB 0x00000008 -#define R128_CCE_VC_FRMT_SPEC_BGR 0x00000010 -#define R128_CCE_VC_FRMT_SPEC_F 0x00000020 -#define R128_CCE_VC_FRMT_SPEC_FRGB 0x00000040 -#define R128_CCE_VC_FRMT_S_T 0x00000080 -#define R128_CCE_VC_FRMT_S2_T2 0x00000100 -#define R128_CCE_VC_FRMT_RHW2 0x00000200 - -#define R128_CCE_VC_CNTL_PRIM_TYPE_NONE 0x00000000 -#define R128_CCE_VC_CNTL_PRIM_TYPE_POINT 0x00000001 -#define R128_CCE_VC_CNTL_PRIM_TYPE_LINE 0x00000002 -#define R128_CCE_VC_CNTL_PRIM_TYPE_POLY_LINE 0x00000003 -#define R128_CCE_VC_CNTL_PRIM_TYPE_TRI_LIST 0x00000004 -#define R128_CCE_VC_CNTL_PRIM_TYPE_TRI_FAN 0x00000005 -#define R128_CCE_VC_CNTL_PRIM_TYPE_TRI_STRIP 0x00000006 -#define R128_CCE_VC_CNTL_PRIM_TYPE_TRI_TYPE2 0x00000007 -#define R128_CCE_VC_CNTL_PRIM_WALK_IND 0x00000010 -#define R128_CCE_VC_CNTL_PRIM_WALK_LIST 0x00000020 -#define R128_CCE_VC_CNTL_PRIM_WALK_RING 0x00000030 -#define R128_CCE_VC_CNTL_NUM_SHIFT 16 - -#define R128_DATATYPE_VQ 0 -#define R128_DATATYPE_CI4 1 -#define R128_DATATYPE_CI8 2 -#define R128_DATATYPE_ARGB1555 3 -#define R128_DATATYPE_RGB565 4 -#define R128_DATATYPE_RGB888 5 -#define R128_DATATYPE_ARGB8888 6 -#define R128_DATATYPE_RGB332 7 -#define R128_DATATYPE_Y8 8 -#define R128_DATATYPE_RGB8 9 -#define R128_DATATYPE_CI16 10 -#define R128_DATATYPE_VYUY_422 11 -#define R128_DATATYPE_YVYU_422 12 -#define R128_DATATYPE_AYUV_444 14 -#define R128_DATATYPE_ARGB4444 15 - -#define R128_AGP_OFFSET 0x02000000 - -#define R128_WATERMARK_L 16 -#define R128_WATERMARK_M 8 -#define R128_WATERMARK_N 8 -#define R128_WATERMARK_K 128 diff --git a/xorg-server/hw/kdrive/ati/ati_stub.c b/xorg-server/hw/kdrive/ati/ati_stub.c deleted file mode 100644 index f881b7f7b..000000000 --- a/xorg-server/hw/kdrive/ati/ati_stub.c +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Copyright © 2003 Eric Anholt - * - * 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. - */ - -#ifdef HAVE_CONFIG_H -#include -#endif -#include "ati.h" -#include "klinux.h" - -extern struct pci_id_entry ati_pci_ids[]; - -void -InitCard(char *name) -{ - struct pci_id_entry *id; - KdCardAttr attr; - - for (id = ati_pci_ids; id->name != NULL; id++) { - int j = 0; - while (LinuxFindPci(id->vendor, id->device, j++, &attr)) - KdCardInfoAdd(&ATIFuncs, &attr, 0); - } -} - -void -InitOutput(ScreenInfo *pScreenInfo, int argc, char **argv) -{ - KdInitOutput(pScreenInfo, argc, argv); -} - -void -InitInput(int argc, char **argv) -{ - KdOsAddInputDrivers(); - KdInitInput(); -} - -void -ddxUseMsg (void) -{ - KdUseMsg(); -#ifdef KDRIVEVESA - vesaUseMsg(); -#endif -} - -int -ddxProcessArgument(int argc, char **argv, int i) -{ - int ret; - -#ifdef KDRIVEVESA - if (!(ret = vesaProcessArgument (argc, argv, i))) -#endif - ret = KdProcessArgument(argc, argv, i); - - return ret; -} diff --git a/xorg-server/hw/kdrive/ati/ati_video.c b/xorg-server/hw/kdrive/ati/ati_video.c deleted file mode 100644 index ca0ab464a..000000000 --- a/xorg-server/hw/kdrive/ati/ati_video.c +++ /dev/null @@ -1,988 +0,0 @@ -/* - * Copyright © 2004 Keith Packard - * Copyright © 2005 Eric Anholt - * - * 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. - * - * Based on mach64video.c by Keith Packard. - */ - -#ifdef HAVE_CONFIG_H -#include -#endif -#include "ati.h" -#include "ati_dma.h" -#include "ati_draw.h" -#include "ati_reg.h" -#include "kaa.h" - -#include -#include "fourcc.h" - -#define MAKE_ATOM(a) MakeAtom(a, sizeof(a) - 1, TRUE) - -static Atom xvBrightness, xvSaturation; - -extern CARD8 ATIBltRop[16]; - -#define IMAGE_MAX_WIDTH 2048 -#define IMAGE_MAX_HEIGHT 2048 - -static void -ATIStopVideo(KdScreenInfo *screen, pointer data, Bool exit) -{ - ScreenPtr pScreen = screen->pScreen; - ATIPortPrivPtr pPortPriv = (ATIPortPrivPtr)data; - - REGION_EMPTY(screen->pScreen, &pPortPriv->clip); - - if (pPortPriv->off_screen) { - KdOffscreenFree (pScreen, pPortPriv->off_screen); - pPortPriv->off_screen = 0; - } -} - -static int -ATISetPortAttribute(KdScreenInfo *screen, Atom attribute, int value, - pointer data) -{ - return BadMatch; -} - -static int -ATIGetPortAttribute(KdScreenInfo *screen, Atom attribute, int *value, - pointer data) -{ - return BadMatch; -} - -static void -ATIQueryBestSize(KdScreenInfo *screen, Bool motion, short vid_w, short vid_h, - short drw_w, short drw_h, unsigned int *p_w, unsigned int *p_h, - pointer data) -{ - *p_w = drw_w; - *p_h = drw_h; -} - -/* ATIClipVideo - - - Takes the dst box in standard X BoxRec form (top and left - edges inclusive, bottom and right exclusive). The new dst - box is returned. The source boundaries are given (x1, y1 - inclusive, x2, y2 exclusive) and returned are the new source - boundaries in 16.16 fixed point. -*/ - -static void -ATIClipVideo(BoxPtr dst, INT32 *x1, INT32 *x2, INT32 *y1, INT32 *y2, - BoxPtr extents, INT32 width, INT32 height) -{ - INT32 vscale, hscale, delta; - int diff; - - hscale = ((*x2 - *x1) << 16) / (dst->x2 - dst->x1); - vscale = ((*y2 - *y1) << 16) / (dst->y2 - dst->y1); - - *x1 <<= 16; *x2 <<= 16; - *y1 <<= 16; *y2 <<= 16; - - diff = extents->x1 - dst->x1; - if (diff > 0) { - dst->x1 = extents->x1; - *x1 += diff * hscale; - } - diff = dst->x2 - extents->x2; - if (diff > 0) { - dst->x2 = extents->x2; - *x2 -= diff * hscale; - } - diff = extents->y1 - dst->y1; - if (diff > 0) { - dst->y1 = extents->y1; - *y1 += diff * vscale; - } - diff = dst->y2 - extents->y2; - if (diff > 0) { - dst->y2 = extents->y2; - *y2 -= diff * vscale; - } - - if (*x1 < 0) { - diff = (- *x1 + hscale - 1)/ hscale; - dst->x1 += diff; - *x1 += diff * hscale; - } - delta = *x2 - (width << 16); - if (delta > 0) { - diff = (delta + hscale - 1)/ hscale; - dst->x2 -= diff; - *x2 -= diff * hscale; - } - if (*y1 < 0) { - diff = (- *y1 + vscale - 1)/ vscale; - dst->y1 += diff; - *y1 += diff * vscale; - } - delta = *y2 - (height << 16); - if (delta > 0) { - diff = (delta + vscale - 1)/ vscale; - dst->y2 -= diff; - *y2 -= diff * vscale; - } -} - -static void -R128DisplayVideo(KdScreenInfo *screen, ATIPortPrivPtr pPortPriv) -{ - ScreenPtr pScreen = screen->pScreen; - KdScreenPriv(pScreen); - ATIScreenInfo(pScreenPriv); - CARD32 dstDatatype, srcDatatype; - CARD32 dst_offset, dst_pitch; - int dstxoff, dstyoff; - PixmapPtr pPixmap = pPortPriv->pPixmap; - int bpp = pPixmap->drawable.bitsPerPixel; - RING_LOCALS; - - BoxPtr pBox = REGION_RECTS(&pPortPriv->clip); - int nBox = REGION_NUM_RECTS(&pPortPriv->clip); - - if (pPortPriv->id == FOURCC_UYVY) - srcDatatype = R128_DATATYPE_YVYU_422; - else - srcDatatype = R128_DATATYPE_VYUY_422; - - switch (bpp) - { - case 16: - if (pPixmap->drawable.depth == 15) - dstDatatype = R128_DATATYPE_ARGB1555; - else - dstDatatype = R128_DATATYPE_RGB565; - break; - case 32: - dstDatatype = R128_DATATYPE_ARGB8888; - break; - default: - return; - } - - dst_offset = ((CARD8 *)pPixmap->devPrivate.ptr - - pScreenPriv->screen->memory_base); - dst_pitch = pPixmap->devKind; -#ifdef COMPOSITE - dstxoff = -pPixmap->screen_x + pPixmap->drawable.x; - dstyoff = -pPixmap->screen_y + pPixmap->drawable.y; -#else - dstxoff = 0; - dstyoff = 0; -#endif - - BEGIN_DMA(18); - OUT_REG(ATI_REG_DST_PITCH_OFFSET, - ((dst_pitch / bpp) << 21) | (dst_offset >> 5)); - OUT_REG(ATI_REG_DP_GUI_MASTER_CNTL, - ATI_GMC_DST_PITCH_OFFSET_CNTL | - ATI_GMC_BRUSH_NONE | - (dstDatatype << 8) | - ATI_GMC_SRC_DATATYPE_COLOR | - (ATIBltRop[GXcopy] << 16) | - R128_GMC_3D_FCN_EN | - ATI_GMC_CLR_CMP_CNTL_DIS | - R128_GMC_AUX_CLIP_DIS); - OUT_REG(ATI_REG_DP_CNTL, - ATI_DST_X_LEFT_TO_RIGHT | ATI_DST_Y_TOP_TO_BOTTOM ); - OUT_REG(R128_REG_SCALE_3D_CNTL, - R128_SCALE_3D_SCALE | - R128_SBLEND_ONE | - R128_DBLEND_ZERO); - OUT_REG(R128_REG_TEX_CNTL_C, R128_TEX_CACHE_FLUSH); - OUT_REG(R128_REG_SCALE_3D_DATATYPE, srcDatatype); - - OUT_RING(DMA_PACKET0(R128_REG_SCALE_PITCH, 5)); - OUT_RING_REG(R128_REG_SCALE_PITCH, pPortPriv->src_pitch / 16); - OUT_RING_REG(R128_REG_SCALE_X_INC, - (pPortPriv->src_w << 16) / pPortPriv->dst_w); - OUT_RING_REG(R128_REG_SCALE_Y_INC, - (pPortPriv->src_h << 16) / pPortPriv->dst_h); - OUT_RING_REG(R128_REG_SCALE_HACC, 0x0); - OUT_RING_REG(R128_REG_SCALE_VACC, 0x0); - - END_DMA(); - - while (nBox--) { - int srcX, srcY, dstX, dstY, srcw, srch, dstw, dsth; - - dstX = pBox->x1 + dstxoff; - dstY = pBox->y1 + dstyoff; - dstw = pBox->x2 - pBox->x1; - dsth = pBox->y2 - pBox->y1; - srcX = (pBox->x1 - pPortPriv->dst_x1) * - pPortPriv->src_w / pPortPriv->dst_w; - srcY = (pBox->y1 - pPortPriv->dst_y1) * - pPortPriv->src_h / pPortPriv->dst_h; - srcw = pPortPriv->src_w - srcX; - srch = pPortPriv->src_h - srcY; - - BEGIN_DMA(6); - OUT_RING(DMA_PACKET0(R128_REG_SCALE_SRC_HEIGHT_WIDTH, 2)); - OUT_RING_REG(R128_REG_SCALE_SRC_HEIGHT_WIDTH, - (srch << 16) | srcw); - OUT_RING_REG(R128_REG_SCALE_OFFSET_0, pPortPriv->src_offset + - srcY * pPortPriv->src_pitch + srcX * 2); - - OUT_RING(DMA_PACKET0(R128_REG_SCALE_DST_X_Y, 2)); - OUT_RING_REG(R128_REG_SCALE_DST_X_Y, (dstX << 16) | dstY); - OUT_RING_REG(R128_REG_SCALE_DST_HEIGHT_WIDTH, - (dsth << 16) | dstw); - END_DMA(); - pBox++; - } -#ifdef DAMAGEEXT - /* XXX: Shouldn't this be in kxv.c instead? */ - DamageDamageRegion(pPortPriv->pDraw, &pPortPriv->clip); -#endif - kaaMarkSync(pScreen); -} - -union intfloat { - float f; - CARD32 i; -}; - -struct blend_vertex { - union intfloat x, y; - union intfloat s0, t0; -}; - -#define VTX_DWORD_COUNT 4 - -#define VTX_OUT(vtx) \ -do { \ - OUT_RING(vtx.x.i); \ - OUT_RING(vtx.y.i); \ - OUT_RING(vtx.s0.i); \ - OUT_RING(vtx.t0.i); \ -} while (0) - -static void -RadeonDisplayVideo(KdScreenInfo *screen, ATIPortPrivPtr pPortPriv) -{ - ScreenPtr pScreen = screen->pScreen; - KdScreenPriv(pScreen); - ATICardInfo(pScreenPriv); - ATIScreenInfo(pScreenPriv); - struct blend_vertex vtx[4]; - PixmapPtr pPixmap = pPortPriv->pPixmap; - CARD32 txformat; - CARD32 dst_offset, dst_pitch, dst_format; - int dstxoff, dstyoff, pixel_shift; - RING_LOCALS; - - BoxPtr pBox = REGION_RECTS(&pPortPriv->clip); - int nBox = REGION_NUM_RECTS(&pPortPriv->clip); - - switch (pPixmap->drawable.bitsPerPixel) { - case 16: - if (pPixmap->drawable.depth == 15) - dst_format = RADEON_COLOR_FORMAT_ARGB1555; - else - dst_format = RADEON_COLOR_FORMAT_RGB565; - pixel_shift = 1; - break; - case 32: - dst_format = RADEON_COLOR_FORMAT_ARGB8888; - pixel_shift = 2; - break; - default: - return; - } - - dst_offset = ((CARD8 *)pPixmap->devPrivate.ptr - - pScreenPriv->screen->memory_base); - dst_pitch = pPixmap->devKind; - -#ifdef COMPOSITE - dstxoff = -pPixmap->screen_x + pPixmap->drawable.x; - dstyoff = -pPixmap->screen_y + pPixmap->drawable.y; -#else - dstxoff = 0; - dstyoff = 0; -#endif - - /* Same for R100/R200 */ - if (pPortPriv->id == FOURCC_UYVY) - txformat = RADEON_TXFORMAT_YVYU422; - else - txformat = RADEON_TXFORMAT_VYUY422; - - txformat |= RADEON_TXFORMAT_NON_POWER2; - - RadeonSwitchTo3D(atis); - - BEGIN_DMA(8); - - OUT_RING(DMA_PACKET0(RADEON_REG_PP_CNTL, 3)); - OUT_RING_REG(RADEON_REG_PP_CNTL, - RADEON_TEX_0_ENABLE | RADEON_TEX_BLEND_0_ENABLE); - OUT_RING_REG(RADEON_REG_RB3D_CNTL, - dst_format | RADEON_ALPHA_BLEND_ENABLE); - OUT_RING_REG(RADEON_REG_RB3D_COLOROFFSET, dst_offset); - - OUT_REG(RADEON_REG_RB3D_COLORPITCH, dst_pitch >> pixel_shift); - - OUT_REG(RADEON_REG_RB3D_BLENDCNTL, - RADEON_SBLEND_GL_ONE | RADEON_DBLEND_GL_ZERO); - - END_DMA(); - - if (atic->is_r200) { - BEGIN_DMA(17); - - OUT_REG(R200_REG_SE_VTX_FMT_0, R200_VTX_XY); - OUT_REG(R200_REG_SE_VTX_FMT_1, - (2 << R200_VTX_TEX0_COMP_CNT_SHIFT)); - - OUT_RING(DMA_PACKET0(R200_REG_PP_TXFILTER_0, 5)); - OUT_RING_REG(R200_REG_PP_TXFILTER_0, - R200_MAG_FILTER_LINEAR | - R200_MIN_FILTER_LINEAR | - R200_YUV_TO_RGB); - OUT_RING_REG(R200_REG_PP_TXFORMAT_0, txformat); - OUT_RING_REG(R200_REG_PP_TXFORMAT_X_0, 0); - OUT_RING_REG(R200_REG_PP_TXSIZE_0, - (pPixmap->drawable.width - 1) | - ((pPixmap->drawable.height - 1) << RADEON_TEX_VSIZE_SHIFT)); - OUT_RING_REG(R200_REG_PP_TXPITCH_0, pPortPriv->src_pitch - 32); - - OUT_REG(R200_PP_TXOFFSET_0, pPortPriv->src_offset); - - OUT_RING(DMA_PACKET0(R200_REG_PP_TXCBLEND_0, 4)); - OUT_RING_REG(R200_REG_PP_TXCBLEND_0, - R200_TXC_ARG_A_ZERO | - R200_TXC_ARG_B_ZERO | - R200_TXC_ARG_C_R0_COLOR | - R200_TXC_OP_MADD); - OUT_RING_REG(R200_REG_PP_TXCBLEND2_0, - R200_TXC_CLAMP_0_1 | R200_TXC_OUTPUT_REG_R0); - OUT_RING_REG(R200_REG_PP_TXABLEND_0, - R200_TXA_ARG_A_ZERO | - R200_TXA_ARG_B_ZERO | - R200_TXA_ARG_C_R0_ALPHA | - R200_TXA_OP_MADD); - OUT_RING_REG(R200_REG_PP_TXABLEND2_0, - R200_TXA_CLAMP_0_1 | R200_TXA_OUTPUT_REG_R0); - - END_DMA(); - } else { -// BEGIN_DMA(11); - BEGIN_DMA(9); - - OUT_RING(DMA_PACKET0(RADEON_REG_PP_TXFILTER_0, 5)); - OUT_RING_REG(RADEON_REG_PP_TXFILTER_0, RADEON_MAG_FILTER_LINEAR | - RADEON_MIN_FILTER_LINEAR | - RADEON_YUV_TO_RGB); - OUT_RING_REG(RADEON_REG_PP_TXFORMAT_0, txformat); - OUT_RING_REG(RADEON_REG_PP_TXOFFSET_0, pPortPriv->src_offset); - OUT_RING_REG(RADEON_REG_PP_TXCBLEND_0, - RADEON_COLOR_ARG_A_ZERO | - RADEON_COLOR_ARG_B_ZERO | - RADEON_COLOR_ARG_C_T0_COLOR | - RADEON_BLEND_CTL_ADD | - RADEON_CLAMP_TX); - OUT_RING_REG(RADEON_REG_PP_TXABLEND_0, - RADEON_ALPHA_ARG_A_ZERO | - RADEON_ALPHA_ARG_B_ZERO | - RADEON_ALPHA_ARG_C_T0_ALPHA | - RADEON_BLEND_CTL_ADD | - RADEON_CLAMP_TX); - - OUT_RING(DMA_PACKET0(RADEON_REG_PP_TEX_SIZE_0, 2)); - OUT_RING_REG(RADEON_REG_PP_TEX_SIZE_0, - (pPixmap->drawable.width - 1) | - ((pPixmap->drawable.height - 1) << RADEON_TEX_VSIZE_SHIFT)); - OUT_RING_REG(RADEON_REG_PP_TEX_PITCH_0, - pPortPriv->src_pitch - 32); - -// OUT_RING_REG(ATI_REG_WAIT_UNTIL, ATI_WAIT_CRTC_VLINE); - - END_DMA(); - } - - while (nBox--) { - float srcX, srcY, dstX, dstY, srcw, srch, dstw, dsth; - - dstX = pBox->x1 + dstxoff; - dstY = pBox->y1 + dstyoff; - dstw = pBox->x2 - pBox->x1; - dsth = pBox->y2 - pBox->y1; - srcX = (pBox->x1 - pPortPriv->dst_x1) * - pPortPriv->src_w / pPortPriv->dst_w; - srcY = (pBox->y1 - pPortPriv->dst_y1) * - pPortPriv->src_h / pPortPriv->dst_h; - srcw = pPortPriv->src_w * (dstw / pPortPriv->dst_w); - srch = pPortPriv->src_h * (dsth / pPortPriv->dst_h); - - /* - * rectangle: - * - * +---------2 - * | | - * | | - * 0---------1 - */ - - vtx[0].x.f = dstX; - vtx[0].y.f = dstY + dsth; - vtx[0].s0.f = srcX; - vtx[0].t0.f = srcY + srch; - - vtx[1].x.f = dstX + dstw; - vtx[1].y.f = dstY + dsth; - vtx[1].s0.f = srcX + srcw; - vtx[1].t0.f = srcY + srch; - - vtx[2].x.f = dstX + dstw; - vtx[2].y.f = dstY; - vtx[2].s0.f = srcX + srcw; - vtx[2].t0.f = srcY; - - if (atic->is_r100) { - BEGIN_DMA(3 * VTX_DWORD_COUNT + 3); - OUT_RING(DMA_PACKET3(RADEON_CP_PACKET3_3D_DRAW_IMMD, - 3 * VTX_DWORD_COUNT + 2)); - OUT_RING(RADEON_CP_VC_FRMT_XY | - RADEON_CP_VC_FRMT_ST0); - OUT_RING(RADEON_CP_VC_CNTL_PRIM_TYPE_RECT_LIST | - RADEON_CP_VC_CNTL_PRIM_WALK_RING | - RADEON_CP_VC_CNTL_MAOS_ENABLE | - RADEON_CP_VC_CNTL_VTX_FMT_RADEON_MODE | - (3 << RADEON_CP_VC_CNTL_NUM_SHIFT)); - } else { - BEGIN_DMA(3 * VTX_DWORD_COUNT + 2); - OUT_RING(DMA_PACKET3(R200_CP_PACKET3_3D_DRAW_IMMD_2, - 3 * VTX_DWORD_COUNT + 1)); - OUT_RING(RADEON_CP_VC_CNTL_PRIM_TYPE_RECT_LIST | - RADEON_CP_VC_CNTL_PRIM_WALK_RING | - (3 << RADEON_CP_VC_CNTL_NUM_SHIFT)); - } - - VTX_OUT(vtx[0]); - VTX_OUT(vtx[1]); - VTX_OUT(vtx[2]); - END_DMA(); - - pBox++; - } -#ifdef DAMAGEEXT - /* XXX: Shouldn't this be in kxv.c instead? */ - DamageDamageRegion(pPortPriv->pDraw, &pPortPriv->clip); -#endif - kaaMarkSync(pScreen); -} - -static void -ATIVideoSave(ScreenPtr pScreen, KdOffscreenArea *area) -{ - KdScreenPriv(pScreen); - ATIScreenInfo(pScreenPriv); - ATIPortPrivPtr pPortPriv = atis->pAdaptor->pPortPrivates[0].ptr; - - if (pPortPriv->off_screen == area) - pPortPriv->off_screen = 0; -} - -static int -ATIPutImage(KdScreenInfo *screen, DrawablePtr pDraw, - short src_x, short src_y, - short drw_x, short drw_y, - short src_w, short src_h, - short drw_w, short drw_h, - int id, - unsigned char *buf, - short width, - short height, - Bool sync, - RegionPtr clipBoxes, - pointer data) -{ - ScreenPtr pScreen = screen->pScreen; - KdScreenPriv(pScreen); - ATICardInfo(pScreenPriv); - ATIScreenInfo(pScreenPriv); - ATIPortPrivPtr pPortPriv = (ATIPortPrivPtr)data; - char *mmio = atic->reg_base; - INT32 x1, x2, y1, y2; - int randr = RR_Rotate_0 /* XXX */; - int srcPitch, srcPitch2, dstPitch; - int top, left, npixels, nlines, size; - BoxRec dstBox; - int dst_width = width, dst_height = height; - int rot_x1, rot_y1, rot_x2, rot_y2; - int dst_x1, dst_y1, dst_x2, dst_y2; - int rot_src_w, rot_src_h, rot_drw_w, rot_drw_h; - - /* Clip */ - x1 = src_x; - x2 = src_x + src_w; - y1 = src_y; - y2 = src_y + src_h; - - dstBox.x1 = drw_x; - dstBox.x2 = drw_x + drw_w; - dstBox.y1 = drw_y; - dstBox.y2 = drw_y + drw_h; - - ATIClipVideo(&dstBox, &x1, &x2, &y1, &y2, - REGION_EXTENTS(pScreen, clipBoxes), width, height); - - src_w = (x2 - x1) >> 16; - src_h = (y2 - y1) >> 16; - drw_w = dstBox.x2 - dstBox.x1; - drw_h = dstBox.y2 - dstBox.y1; - - if ((x1 >= x2) || (y1 >= y2)) - return Success; - - if (mmio == NULL) - return BadAlloc; - - if (randr & (RR_Rotate_0|RR_Rotate_180)) { - dst_width = width; - dst_height = height; - rot_src_w = src_w; - rot_src_h = src_h; - rot_drw_w = drw_w; - rot_drw_h = drw_h; - } else { - dst_width = height; - dst_height = width; - rot_src_w = src_h; - rot_src_h = src_w; - rot_drw_w = drw_h; - rot_drw_h = drw_w; - } - - switch (randr & RR_Rotate_All) { - case RR_Rotate_0: - default: - dst_x1 = dstBox.x1; - dst_y1 = dstBox.y1; - dst_x2 = dstBox.x2; - dst_y2 = dstBox.y2; - rot_x1 = x1; - rot_y1 = y1; - rot_x2 = x2; - rot_y2 = y2; - break; - case RR_Rotate_90: - dst_x1 = dstBox.y1; - dst_y1 = screen->height - dstBox.x2; - dst_x2 = dstBox.y2; - dst_y2 = screen->height - dstBox.x1; - rot_x1 = y1; - rot_y1 = (src_w << 16) - x2; - rot_x2 = y2; - rot_y2 = (src_w << 16) - x1; - break; - case RR_Rotate_180: - dst_x1 = screen->width - dstBox.x2; - dst_y1 = screen->height - dstBox.y2; - dst_x2 = screen->width - dstBox.x1; - dst_y2 = screen->height - dstBox.y1; - rot_x1 = (src_w << 16) - x2; - rot_y1 = (src_h << 16) - y2; - rot_x2 = (src_w << 16) - x1; - rot_y2 = (src_h << 16) - y1; - break; - case RR_Rotate_270: - dst_x1 = screen->width - dstBox.y2; - dst_y1 = dstBox.x1; - dst_x2 = screen->width - dstBox.y1; - dst_y2 = dstBox.x2; - rot_x1 = (src_h << 16) - y2; - rot_y1 = x1; - rot_x2 = (src_h << 16) - y1; - rot_y2 = x2; - break; - } - - switch(id) { - case FOURCC_YV12: - case FOURCC_I420: - dstPitch = ((dst_width << 1) + 15) & ~15; - srcPitch = (width + 3) & ~3; - srcPitch2 = ((width >> 1) + 3) & ~3; - size = dstPitch * dst_height; - break; - case FOURCC_UYVY: - case FOURCC_YUY2: - default: - dstPitch = ((dst_width << 1) + 15) & ~15; - srcPitch = (width << 1); - srcPitch2 = 0; - size = dstPitch * dst_height; - break; - } - - if (pPortPriv->off_screen != NULL && size != pPortPriv->size) { - KdOffscreenFree(screen->pScreen, pPortPriv->off_screen); - pPortPriv->off_screen = 0; - } - - if (pPortPriv->off_screen == NULL) { - pPortPriv->off_screen = KdOffscreenAlloc(screen->pScreen, - size * 2, 64, TRUE, ATIVideoSave, pPortPriv); - if (pPortPriv->off_screen == NULL) - return BadAlloc; - } - - - if (pDraw->type == DRAWABLE_WINDOW) - pPortPriv->pPixmap = - (*pScreen->GetWindowPixmap)((WindowPtr)pDraw); - else - pPortPriv->pPixmap = (PixmapPtr)pDraw; - - /* Migrate the pixmap to offscreen if necessary. */ - if (!kaaPixmapIsOffscreen(pPortPriv->pPixmap)) - kaaMoveInPixmap(pPortPriv->pPixmap); - - if (!kaaPixmapIsOffscreen(pPortPriv->pPixmap)) { - return BadAlloc; - } - - pPortPriv->src_offset = pPortPriv->off_screen->offset; - pPortPriv->src_addr = (CARD8 *)(pScreenPriv->screen->memory_base + - pPortPriv->src_offset); - pPortPriv->src_pitch = dstPitch; - pPortPriv->size = size; - pPortPriv->pDraw = pDraw; - - /* copy data */ - top = rot_y1 >> 16; - left = (rot_x1 >> 16) & ~1; - npixels = ((((rot_x2 + 0xffff) >> 16) + 1) & ~1) - left; - - /* Since we're probably overwriting the area that might still be used - * for the last PutImage request, wait for idle. - */ - ATIWaitIdle(atis); - - switch(id) { - case FOURCC_YV12: - case FOURCC_I420: - top &= ~1; - nlines = ((((rot_y2 + 0xffff) >> 16) + 1) & ~1) - top; - KdXVCopyPlanarData(screen, buf, pPortPriv->src_addr, randr, - srcPitch, srcPitch2, dstPitch, rot_src_w, rot_src_h, - height, top, left, nlines, npixels, id); - break; - case FOURCC_UYVY: - case FOURCC_YUY2: - default: - nlines = ((rot_y2 + 0xffff) >> 16) - top; - KdXVCopyPackedData(screen, buf, pPortPriv->src_addr, randr, - srcPitch, dstPitch, rot_src_w, rot_src_h, top, left, - nlines, npixels); - break; - } - - /* update cliplist */ - if (!REGION_EQUAL(screen->pScreen, &pPortPriv->clip, clipBoxes)) { - REGION_COPY(screen->pScreen, &pPortPriv->clip, clipBoxes); - } - - pPortPriv->id = id; - pPortPriv->src_x1 = rot_x1; - pPortPriv->src_y1 = rot_y1; - pPortPriv->src_x2 = rot_x2; - pPortPriv->src_y2 = rot_y2; - pPortPriv->src_w = rot_src_w; - pPortPriv->src_h = rot_src_h; - pPortPriv->dst_x1 = dst_x1; - pPortPriv->dst_y1 = dst_y1; - pPortPriv->dst_x2 = dst_x2; - pPortPriv->dst_y2 = dst_y2; - pPortPriv->dst_w = rot_drw_w; - pPortPriv->dst_h = rot_drw_h; - - if (atic->is_radeon) - RadeonDisplayVideo(screen, pPortPriv); - else - R128DisplayVideo(screen, pPortPriv); - - return Success; -} - -static int -ATIReputImage(KdScreenInfo *screen, DrawablePtr pDraw, short drw_x, short drw_y, - RegionPtr clipBoxes, pointer data) -{ - ScreenPtr pScreen = screen->pScreen; - KdScreenPriv(pScreen); - ATICardInfo(pScreenPriv); - ATIPortPrivPtr pPortPriv = (ATIPortPrivPtr)data; - BoxPtr pOldExtents = REGION_EXTENTS(screen->pScreen, &pPortPriv->clip); - BoxPtr pNewExtents = REGION_EXTENTS(screen->pScreen, clipBoxes); - - if (pOldExtents->x1 != pNewExtents->x1 || - pOldExtents->x2 != pNewExtents->x2 || - pOldExtents->y1 != pNewExtents->y1 || - pOldExtents->y2 != pNewExtents->y2) - return BadMatch; - - if (pDraw->type == DRAWABLE_WINDOW) - pPortPriv->pPixmap = - (*pScreen->GetWindowPixmap)((WindowPtr)pDraw); - else - pPortPriv->pPixmap = (PixmapPtr)pDraw; - - if (!kaaPixmapIsOffscreen(pPortPriv->pPixmap)) - kaaMoveInPixmap(pPortPriv->pPixmap); - - if (!kaaPixmapIsOffscreen(pPortPriv->pPixmap)) { - ErrorF("err\n"); - return BadAlloc; - } - - - /* update cliplist */ - if (!REGION_EQUAL(screen->pScreen, &pPortPriv->clip, clipBoxes)) - REGION_COPY(screen->pScreen, &pPortPriv->clip, clipBoxes); - - /* XXX: What do the drw_x and drw_y here mean for us? */ - - if (atic->is_radeon) - RadeonDisplayVideo(screen, pPortPriv); - else - R128DisplayVideo(screen, pPortPriv); - - return Success; -} - -static int -ATIQueryImageAttributes(KdScreenInfo *screen, int id, unsigned short *w, - unsigned short *h, int *pitches, int *offsets) -{ - int size, tmp; - - if (*w > IMAGE_MAX_WIDTH) - *w = IMAGE_MAX_WIDTH; - if (*h > IMAGE_MAX_HEIGHT) - *h = IMAGE_MAX_HEIGHT; - - *w = (*w + 1) & ~1; - if (offsets) - offsets[0] = 0; - - switch (id) - { - case FOURCC_YV12: - case FOURCC_I420: - *h = (*h + 1) & ~1; - size = (*w + 3) & ~3; - if (pitches) - pitches[0] = size; - size *= *h; - if (offsets) - offsets[1] = size; - tmp = ((*w >> 1) + 3) & ~3; - if (pitches) - pitches[1] = pitches[2] = tmp; - tmp *= (*h >> 1); - size += tmp; - if (offsets) - offsets[2] = size; - size += tmp; - break; - case FOURCC_UYVY: - case FOURCC_YUY2: - default: - size = *w << 1; - if (pitches) - pitches[0] = size; - size *= *h; - break; - } - - return size; -} - - -/* client libraries expect an encoding */ -static KdVideoEncodingRec DummyEncoding[1] = -{ - { - 0, - "XV_IMAGE", - IMAGE_MAX_WIDTH, IMAGE_MAX_HEIGHT, - {1, 1} - } -}; - -#define NUM_FORMATS 3 - -static KdVideoFormatRec Formats[NUM_FORMATS] = -{ - {15, TrueColor}, {16, TrueColor}, {24, TrueColor} -}; - -#define NUM_ATTRIBUTES 0 - -static KdAttributeRec Attributes[NUM_ATTRIBUTES] = -{ -}; - -#define NUM_IMAGES 4 - -static KdImageRec Images[NUM_IMAGES] = -{ - XVIMAGE_YUY2, - XVIMAGE_YV12, - XVIMAGE_I420, - XVIMAGE_UYVY -}; - -static KdVideoAdaptorPtr -ATISetupImageVideo(ScreenPtr pScreen) -{ - KdScreenPriv(pScreen); - ATIScreenInfo(pScreenPriv); - KdVideoAdaptorPtr adapt; - ATIPortPrivPtr pPortPriv; - int i; - - atis->num_texture_ports = 16; - - adapt = xcalloc(1, sizeof(KdVideoAdaptorRec) + atis->num_texture_ports * - (sizeof(ATIPortPrivRec) + sizeof(DevUnion))); - if (adapt == NULL) - return NULL; - - adapt->type = XvWindowMask | XvInputMask | XvImageMask; - adapt->flags = VIDEO_CLIP_TO_VIEWPORT; - adapt->name = "ATI Texture Video"; - adapt->nEncodings = 1; - adapt->pEncodings = DummyEncoding; - adapt->nFormats = NUM_FORMATS; - adapt->pFormats = Formats; - adapt->nPorts = atis->num_texture_ports; - adapt->pPortPrivates = (DevUnion*)(&adapt[1]); - - pPortPriv = - (ATIPortPrivPtr)(&adapt->pPortPrivates[atis->num_texture_ports]); - - for (i = 0; i < atis->num_texture_ports; i++) - adapt->pPortPrivates[i].ptr = &pPortPriv[i]; - - adapt->nAttributes = NUM_ATTRIBUTES; - adapt->pAttributes = Attributes; - adapt->pImages = Images; - adapt->nImages = NUM_IMAGES; - adapt->PutVideo = NULL; - adapt->PutStill = NULL; - adapt->GetVideo = NULL; - adapt->GetStill = NULL; - adapt->StopVideo = ATIStopVideo; - adapt->SetPortAttribute = ATISetPortAttribute; - adapt->GetPortAttribute = ATIGetPortAttribute; - adapt->QueryBestSize = ATIQueryBestSize; - adapt->PutImage = ATIPutImage; - adapt->ReputImage = ATIReputImage; - adapt->QueryImageAttributes = ATIQueryImageAttributes; - - /* gotta uninit this someplace */ - REGION_INIT(pScreen, &pPortPriv->clip, NullBox, 0); - - atis->pAdaptor = adapt; - - xvBrightness = MAKE_ATOM("XV_BRIGHTNESS"); - xvSaturation = MAKE_ATOM("XV_SATURATION"); - - return adapt; -} - -Bool ATIInitVideo(ScreenPtr pScreen) -{ - KdScreenPriv(pScreen); - ATIScreenInfo(pScreenPriv); - ATICardInfo(pScreenPriv); - KdScreenInfo *screen = pScreenPriv->screen; - KdVideoAdaptorPtr *adaptors, *newAdaptors = NULL; - KdVideoAdaptorPtr newAdaptor = NULL; - int num_adaptors; - - atis->pAdaptor = NULL; - - if (atic->reg_base == NULL) - return FALSE; - if (atic->is_r300) - return FALSE; - - num_adaptors = KdXVListGenericAdaptors(screen, &adaptors); - - newAdaptor = ATISetupImageVideo(pScreen); - - if (newAdaptor) { - if (!num_adaptors) { - num_adaptors = 1; - adaptors = &newAdaptor; - } else { - newAdaptors = xalloc((num_adaptors + 1) * - sizeof(KdVideoAdaptorPtr *)); - if (newAdaptors) { - memcpy(newAdaptors, adaptors, num_adaptors * - sizeof(KdVideoAdaptorPtr)); - newAdaptors[num_adaptors] = newAdaptor; - adaptors = newAdaptors; - num_adaptors++; - } - } - } - - if (num_adaptors) - KdXVScreenInit(pScreen, adaptors, num_adaptors); - - if (newAdaptors) - xfree(newAdaptors); - - return TRUE; -} - -void -ATIFiniVideo(ScreenPtr pScreen) -{ - KdScreenPriv(pScreen); - ATIScreenInfo(pScreenPriv); - KdVideoAdaptorPtr adapt = atis->pAdaptor; - ATIPortPrivPtr pPortPriv; - int i; - - if (!adapt) - return; - - for (i = 0; i < atis->num_texture_ports; i++) { - pPortPriv = (ATIPortPrivPtr)(&adapt->pPortPrivates[i].ptr); - REGION_UNINIT(pScreen, &pPortPriv->clip); - } - xfree(adapt); - atis->pAdaptor = NULL; -} diff --git a/xorg-server/hw/kdrive/ati/r128_composite.c b/xorg-server/hw/kdrive/ati/r128_composite.c deleted file mode 100644 index 0d18ebff7..000000000 --- a/xorg-server/hw/kdrive/ati/r128_composite.c +++ /dev/null @@ -1,564 +0,0 @@ -/* - * Copyright © 2003 Eric Anholt, 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 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. - */ - -#include "ati.h" -#include "ati_reg.h" -#include "ati_dma.h" -#include "ati_draw.h" - -extern ATIScreenInfo *accel_atis; -extern int sample_count; -extern float sample_offsets_x[255]; -extern float sample_offsets_y[255]; -extern CARD8 ATIBltRop[16]; - -static int widths[2] = {1,1}; -static int heights[2] = {1,1}; -static Bool is_transform[2]; -static PictTransform *transform[2]; - -struct blendinfo { - Bool dst_alpha; - Bool src_alpha; - CARD32 blendctl; -}; - -static struct blendinfo R128BlendOp[] = { - /* Clear */ - {0, 0, R128_SBLEND_ZERO | R128_DBLEND_ZERO}, - /* Src */ - {0, 0, R128_SBLEND_ONE | R128_DBLEND_ZERO}, - /* Dst */ - {0, 0, R128_SBLEND_ZERO | R128_DBLEND_ONE}, - /* Over */ - {0, 1, R128_SBLEND_ONE | R128_DBLEND_INV_SRC_ALPHA}, - /* OverReverse */ - {1, 0, R128_SBLEND_INV_DST_ALPHA | R128_DBLEND_ONE}, - /* In */ - {1, 0, R128_SBLEND_DST_ALPHA | R128_DBLEND_ZERO}, - /* InReverse */ - {0, 1, R128_SBLEND_ZERO | R128_DBLEND_SRC_ALPHA}, - /* Out */ - {1, 0, R128_SBLEND_INV_DST_ALPHA | R128_DBLEND_ZERO}, - /* OutReverse */ - {0, 1, R128_SBLEND_ZERO | R128_DBLEND_INV_SRC_ALPHA}, - /* Atop */ - {1, 1, R128_SBLEND_DST_ALPHA | R128_DBLEND_INV_SRC_ALPHA}, - /* AtopReverse */ - {1, 1, R128_SBLEND_INV_DST_ALPHA | R128_DBLEND_SRC_ALPHA}, - /* Xor */ - {1, 1, R128_SBLEND_INV_DST_ALPHA | R128_DBLEND_INV_SRC_ALPHA}, - /* Add */ - {0, 0, R128_SBLEND_ONE | R128_DBLEND_ONE}, -}; - -static Bool -R128GetDatatypePict(CARD32 format, CARD32 *type) -{ - switch (format) { - case PICT_a1r5g5b5: - case PICT_x1r5g5b5: - *type = R128_DATATYPE_ARGB1555; - return TRUE; - case PICT_r5g6b5: - *type = R128_DATATYPE_RGB565; - return TRUE; - case PICT_a8r8g8b8: - case PICT_x8r8g8b8: - *type = R128_DATATYPE_ARGB8888; - return TRUE; - default: - return FALSE; - } - -} - -static Bool -R128CheckCompositeTexture(PicturePtr pPict) -{ - int w = pPict->pDrawable->width; - int h = pPict->pDrawable->height; - - if (w > (1 << 10) || h > (1 << 10)) - ATI_FALLBACK(("Picture w/h too large (%dx%d)\n", w, h)); - if (pPict->repeat && ((w & (w - 1)) != 0 || (h & (h - 1)) != 0)) - ATI_FALLBACK(("NPOT repeat unsupported (%dx%d)\n", w, h)); - - switch (pPict->format) { - case PICT_a8: - case PICT_a1r5g5b5: - case PICT_a4r4g4b4: - case PICT_r5g6b5: - case PICT_a8r8g8b8: - break; - default: - ATI_FALLBACK(("Unsupported picture format 0x%x\n", - pPict->format)); - } - - return TRUE; -} - -Bool -R128CheckComposite(int op, PicturePtr pSrcPicture, PicturePtr pMaskPicture, - PicturePtr pDstPicture) -{ - CARD32 dstDatatype; - - if (op >= sizeof(R128BlendOp)/sizeof(R128BlendOp[0])) - ATI_FALLBACK(("Unsupported op 0x%x\n", op)); - if (pDstPicture->format == PICT_a8) { - if (R128BlendOp[op].src_alpha || R128BlendOp[op].dst_alpha || - pMaskPicture != NULL) - ATI_FALLBACK(("alpha blending unsupported with " - "A8 dst?\n")); - } else if (!R128GetDatatypePict(pDstPicture->format, &dstDatatype)) { - ATI_FALLBACK(("Unsupported dest format 0x%x\n", - pDstPicture->format)); - } - if (pMaskPicture != NULL && pMaskPicture->componentAlpha && - R128BlendOp[op].src_alpha) - ATI_FALLBACK(("Component alpha not supported with source alpha " - "blending.\n")); - - if (!R128CheckCompositeTexture(pSrcPicture)) - return FALSE; - if (pMaskPicture != NULL && !R128CheckCompositeTexture(pMaskPicture)) - return FALSE; - - return TRUE; -} - -static Bool -R128TextureSetup(PicturePtr pPict, PixmapPtr pPix, int unit, CARD32 *txsize, - CARD32 *tex_cntl_c) -{ - int w = pPict->pDrawable->width; - int h = pPict->pDrawable->height; - int bytepp, shift, l2w, l2h, l2p; - int pitch; - - pitch = pPix->devKind; - if ((pitch & (pitch - 1)) != 0) - ATI_FALLBACK(("NPOT pitch 0x%x unsupported\n", pitch)); - - switch (pPict->format) { - case PICT_a8: - /* DATATYPE_RGB8 appears to expand the value into the alpha - * channel like we want. We then blank out the R,G,B channels - * as necessary using the combiners. - */ - *tex_cntl_c = R128_DATATYPE_RGB8 << R128_TEX_DATATYPE_SHIFT; - break; - case PICT_a1r5g5b5: - *tex_cntl_c = R128_DATATYPE_ARGB1555 << R128_TEX_DATATYPE_SHIFT; - break; - case PICT_a4r4g4b4: - *tex_cntl_c = R128_DATATYPE_ARGB4444 << R128_TEX_DATATYPE_SHIFT; - break; - case PICT_r5g6b5: - *tex_cntl_c = R128_DATATYPE_RGB565 << R128_TEX_DATATYPE_SHIFT; - break; - case PICT_a8r8g8b8: - *tex_cntl_c = R128_DATATYPE_ARGB8888 << R128_TEX_DATATYPE_SHIFT; - break; - default: - return FALSE; - } - bytepp = PICT_FORMAT_BPP(pPict->format) / 8; - - *tex_cntl_c |= R128_MIP_MAP_DISABLE; - - if (pPict->filter == PictFilterBilinear) - *tex_cntl_c |= R128_MIN_BLEND_LINEAR | R128_MAG_BLEND_LINEAR; - - if (unit == 0) - shift = 0; - else { - shift = 16; - *tex_cntl_c |= R128_SEC_SELECT_SEC_ST; - } - - /* ATILog2 returns -1 for value of 0 */ - l2w = ATILog2(w - 1) + 1; - l2h = ATILog2(h - 1) + 1; - l2p = ATILog2(pPix->devKind / bytepp); - - if (pPict->repeat && w == 1 && h == 1) - l2p = 0; - else if (pPict->repeat && l2p != l2w) - ATI_FALLBACK(("Repeat not supported for pitch != width\n")); - l2w = l2p; - - widths[unit] = 1 << l2w; - heights[unit] = 1 << l2h; - *txsize |= l2p << (R128_TEX_PITCH_SHIFT + shift); - *txsize |= ((l2w > l2h) ? l2w : l2h) << (R128_TEX_SIZE_SHIFT + shift); - *txsize |= l2h << (R128_TEX_HEIGHT_SHIFT + shift); - - if (pPict->transform != 0) { - is_transform[unit] = TRUE; - transform[unit] = pPict->transform; - } else { - is_transform[unit] = FALSE; - } - - return TRUE; -} - -Bool -R128PrepareComposite(int op, PicturePtr pSrcPicture, PicturePtr pMaskPicture, - PicturePtr pDstPicture, PixmapPtr pSrc, PixmapPtr pMask, PixmapPtr pDst) -{ - KdScreenPriv(pDst->drawable.pScreen); - ATIScreenInfo(pScreenPriv); - CARD32 txsize = 0, prim_tex_cntl_c, sec_tex_cntl_c = 0, dstDatatype; - CARD32 dst_pitch_offset, color_factor, in_color_factor, alpha_comb; - CARD32 blend_cntl; - int i; - RING_LOCALS; - - accel_atis = atis; - - if (pDstPicture->format == PICT_a8) - dstDatatype = R128_DATATYPE_Y8; - else - R128GetDatatypePict(pDstPicture->format, &dstDatatype); - - if (!R128TextureSetup(pSrcPicture, pSrc, 0, &txsize, &prim_tex_cntl_c)) - return FALSE; - if (pMask != NULL && !R128TextureSetup(pMaskPicture, pMask, 1, &txsize, - &sec_tex_cntl_c)) - return FALSE; - else if (pMask == NULL) - is_transform[1] = FALSE; - - if (!ATIGetPixmapOffsetPitch(pDst, &dst_pitch_offset)) - return FALSE; - - blend_cntl = R128BlendOp[op].blendctl; - if (PICT_FORMAT_A(pDstPicture->format) == 0 && - R128BlendOp[op].dst_alpha) { - if ((blend_cntl & R128_SBLEND_MASK) == - R128_SBLEND_DST_ALPHA) - blend_cntl = (blend_cntl & ~R128_SBLEND_MASK) | - R128_SBLEND_ONE; - else if ((blend_cntl & R128_SBLEND_MASK) == - R128_SBLEND_INV_DST_ALPHA) - blend_cntl = (blend_cntl & ~R128_SBLEND_MASK) | - R128_SBLEND_ZERO; - } - - BEGIN_DMA(12); - OUT_REG(R128_REG_SCALE_3D_CNTL, - R128_SCALE_3D_TEXMAP_SHADE | - R128_SCALE_PIX_REPLICATE | - R128_TEX_CACHE_SPLIT | - R128_TEX_MAP_ALPHA_IN_TEXTURE | - R128_TEX_CACHE_LINE_SIZE_4QW); - OUT_REG(ATI_REG_DST_PITCH_OFFSET, dst_pitch_offset); - OUT_REG(ATI_REG_DP_GUI_MASTER_CNTL, - ATI_GMC_DST_PITCH_OFFSET_CNTL | - ATI_GMC_BRUSH_SOLID_COLOR | - (dstDatatype << 8) | - ATI_GMC_SRC_DATATYPE_COLOR | - (ATIBltRop[GXcopy] << 16) | - ATI_DP_SRC_SOURCE_MEMORY | - R128_GMC_3D_FCN_EN | - ATI_GMC_CLR_CMP_CNTL_DIS | - R128_GMC_AUX_CLIP_DIS | - ATI_GMC_WR_MSK_DIS); - OUT_REG(R128_REG_MISC_3D_STATE_CNTL, - R128_MISC_SCALE_3D_TEXMAP_SHADE | - R128_MISC_SCALE_PIX_REPLICATE | - R128_ALPHA_COMB_ADD_CLAMP | - blend_cntl); - OUT_REG(R128_REG_TEX_CNTL_C, - R128_TEXMAP_ENABLE | - ((pMask != NULL) ? R128_SEC_TEXMAP_ENABLE : 0) | - R128_ALPHA_ENABLE | - R128_TEX_CACHE_FLUSH); - OUT_REG(R128_REG_PC_GUI_CTLSTAT, R128_PC_FLUSH_GUI); - END_DMA(); - - /* IN operator: Without a mask, only the first texture unit is enabled. - * With a mask, we put the source in the first unit and have it pass - * through as input to the 2nd. The 2nd unit takes the incoming source - * pixel and modulates it with either the alpha or each of the channels - * in the mask, depending on componentAlpha. - */ - BEGIN_DMA(15); - OUT_RING(DMA_PACKET0(R128_REG_PRIM_TEX_CNTL_C, 14)); - OUT_RING_REG(R128_REG_PRIM_TEX_CNTL_C, prim_tex_cntl_c); - - /* If this is the only stage and the dest is a8, route the alpha result - * to the color (red channel, in particular), too. Otherwise, be sure - * to zero out color channels of an a8 source. - */ - if (pMaskPicture == NULL && pDstPicture->format == PICT_a8) - color_factor = R128_COLOR_FACTOR_ALPHA; - else if (pSrcPicture->format == PICT_a8) - color_factor = R128_COLOR_FACTOR_CONST_COLOR; - else - color_factor = R128_COLOR_FACTOR_TEX; - - if (PICT_FORMAT_A(pSrcPicture->format) == 0) - alpha_comb = R128_COMB_ALPHA_COPY_INP; - else - alpha_comb = R128_COMB_ALPHA_DIS; - - OUT_RING_REG(R128_REG_PRIM_TEXTURE_COMBINE_CNTL_C, - R128_COMB_COPY | - color_factor | - R128_INPUT_FACTOR_INT_COLOR | - alpha_comb | - R128_ALPHA_FACTOR_TEX_ALPHA | - R128_INP_FACTOR_A_CONST_ALPHA); - OUT_RING_REG(R128_REG_TEX_SIZE_PITCH_C, txsize); - /* We could save some output by only writing the offset register that - * will actually be used. On the other hand, this is easy. - */ - for (i = 0; i <= 10; i++) { - OUT_RING_REG(R128_REG_PRIM_TEX_0_OFFSET_C + 4 * i, - ((CARD8 *)pSrc->devPrivate.ptr - - pScreenPriv->screen->memory_base)); - } - END_DMA(); - - if (pMask != NULL) { - BEGIN_DMA(14); - OUT_RING(DMA_PACKET0(R128_REG_SEC_TEX_CNTL_C, 13)); - OUT_RING_REG(R128_REG_SEC_TEX_CNTL_C, sec_tex_cntl_c); - - if (pDstPicture->format == PICT_a8) { - color_factor = R128_COLOR_FACTOR_ALPHA; - in_color_factor = R128_INPUT_FACTOR_PREV_ALPHA; - } else if (pMaskPicture->componentAlpha) { - color_factor = R128_COLOR_FACTOR_TEX; - in_color_factor = R128_INPUT_FACTOR_PREV_COLOR; - } else { - color_factor = R128_COLOR_FACTOR_ALPHA; - in_color_factor = R128_INPUT_FACTOR_PREV_COLOR; - } - - OUT_RING_REG(R128_REG_SEC_TEXTURE_COMBINE_CNTL_C, - R128_COMB_MODULATE | - color_factor | - in_color_factor | - R128_COMB_ALPHA_MODULATE | - R128_ALPHA_FACTOR_TEX_ALPHA | - R128_INP_FACTOR_A_PREV_ALPHA); - for (i = 0; i <= 10; i++) { - OUT_RING_REG(R128_REG_SEC_TEX_0_OFFSET_C + 4 * i, - ((CARD8 *)pMask->devPrivate.ptr - - pScreenPriv->screen->memory_base)); - } - END_DMA(); - } - - return TRUE; -} -#define VTX_RING_COUNT 8 - -#define VTX_OUT(_dstX, _dstY, _srcX, _srcY, _maskX, _maskY) \ -do { \ - OUT_RING_F((_dstX)); \ - OUT_RING_F(((float)(_dstY)) + .125); \ - OUT_RING_F(0.0); \ - OUT_RING_F(1.0); \ - OUT_RING_F((((float)(_srcX)) + 0.5) / (widths[0])); \ - OUT_RING_F((((float)(_srcY)) + 0.5) / (heights[0])); \ - OUT_RING_F((((float)(_maskX)) + 0.5) / (widths[1])); \ - OUT_RING_F((((float)(_maskY)) + 0.5) / (heights[1])); \ -} while (0) - -void -R128Composite(int srcX, int srcY, int maskX, int maskY, int dstX, int dstY, - int w, int h) -{ - ATIScreenInfo *atis = accel_atis; - int srcXend, srcYend, maskXend, maskYend; - PictVector v; - RING_LOCALS; - - /*ErrorF("R128Composite (%d,%d) (%d,%d) (%d,%d) (%d,%d)\n", - srcX, srcY, maskX, maskY,dstX, dstY, w, h);*/ - - srcXend = srcX + w; - srcYend = srcY + h; - maskXend = maskX + w; - maskYend = maskY + h; - if (is_transform[0]) { - v.vector[0] = IntToxFixed(srcX); - v.vector[1] = IntToxFixed(srcY); - v.vector[2] = xFixed1; - PictureTransformPoint(transform[0], &v); - srcX = xFixedToInt(v.vector[0]); - srcY = xFixedToInt(v.vector[1]); - v.vector[0] = IntToxFixed(srcXend); - v.vector[1] = IntToxFixed(srcYend); - v.vector[2] = xFixed1; - PictureTransformPoint(transform[0], &v); - srcXend = xFixedToInt(v.vector[0]); - srcYend = xFixedToInt(v.vector[1]); - } - if (is_transform[1]) { - v.vector[0] = IntToxFixed(maskX); - v.vector[1] = IntToxFixed(maskY); - v.vector[2] = xFixed1; - PictureTransformPoint(transform[1], &v); - maskX = xFixedToInt(v.vector[0]); - maskY = xFixedToInt(v.vector[1]); - v.vector[0] = IntToxFixed(maskXend); - v.vector[1] = IntToxFixed(maskYend); - v.vector[2] = xFixed1; - PictureTransformPoint(transform[1], &v); - maskXend = xFixedToInt(v.vector[0]); - maskYend = xFixedToInt(v.vector[1]); - } - - BEGIN_DMA(3 + 4 * VTX_RING_COUNT); - OUT_RING(DMA_PACKET3(ATI_CCE_PACKET3_3D_RNDR_GEN_PRIM, - 2 + 4 * VTX_RING_COUNT)); - OUT_RING(R128_CCE_VC_FRMT_RHW | - R128_CCE_VC_FRMT_S_T | - R128_CCE_VC_FRMT_S2_T2); - OUT_RING(R128_CCE_VC_CNTL_PRIM_TYPE_TRI_FAN | - R128_CCE_VC_CNTL_PRIM_WALK_RING | - (4 << R128_CCE_VC_CNTL_NUM_SHIFT)); - - VTX_OUT(dstX, dstY, srcX, srcY, maskX, maskY); - VTX_OUT(dstX, dstY + h, srcX, srcYend, maskX, maskYend); - VTX_OUT(dstX + w, dstY + h, srcXend, srcYend, maskXend, maskYend); - VTX_OUT(dstX + w, dstY, srcXend, srcY, maskXend, maskY); - - END_DMA(); -} - -void -R128DoneComposite(void) -{ -} - -Bool -R128PrepareTrapezoids(PicturePtr pDstPicture, PixmapPtr pDst) -{ - KdScreenPriv(pDst->drawable.pScreen); - ATIScreenInfo(pScreenPriv); - CARD32 dst_pitch_offset; - RING_LOCALS; - - accel_atis = atis; - - if (!ATIGetPixmapOffsetPitch(pDst, &dst_pitch_offset)) - return FALSE; - - BEGIN_DMA(18); - OUT_REG(R128_REG_SCALE_3D_CNTL, - R128_SCALE_3D_TEXMAP_SHADE | - R128_SCALE_PIX_REPLICATE | - R128_TEX_CACHE_SPLIT | - R128_TEX_CACHE_LINE_SIZE_4QW); - OUT_REG(ATI_REG_DST_PITCH_OFFSET, dst_pitch_offset); - OUT_REG(ATI_REG_DP_GUI_MASTER_CNTL, - ATI_GMC_DST_PITCH_OFFSET_CNTL | - ATI_GMC_BRUSH_SOLID_COLOR | - (R128_DATATYPE_RGB8 << 8) | - ATI_GMC_SRC_DATATYPE_COLOR | - (ATIBltRop[GXcopy] << 16) | - ATI_DP_SRC_SOURCE_MEMORY | - R128_GMC_3D_FCN_EN | - ATI_GMC_CLR_CMP_CNTL_DIS | - ATI_GMC_WR_MSK_DIS); - OUT_REG(R128_REG_MISC_3D_STATE_CNTL, - R128_MISC_SCALE_3D_TEXMAP_SHADE | - R128_MISC_SCALE_PIX_REPLICATE | - R128_ALPHA_COMB_ADD_CLAMP | - R128BlendOp[PictOpAdd].blendctl); - OUT_REG(R128_REG_TEX_CNTL_C, - R128_ALPHA_ENABLE); - OUT_REG(R128_REG_PC_GUI_CTLSTAT, R128_PC_FLUSH_GUI); - - OUT_RING(DMA_PACKET0(R128_REG_AUX_SC_CNTL, 5)); - OUT_RING_REG(R128_REG_AUX_SC_CNTL, R128_AUX1_SC_ENB); - OUT_RING_REG(R128_REG_AUX1_SC_LEFT, 0); - OUT_RING_REG(R128_REG_AUX1_SC_RIGHT, pDst->drawable.width); - OUT_RING_REG(R128_REG_AUX1_SC_TOP, 0); - OUT_RING_REG(R128_REG_AUX1_SC_BOTTOM, pDst->drawable.height); - END_DMA(); - - return TRUE; -} - -#define TRAP_VERT_RING_COUNT 4 - -#define TRAP_VERT(_x, _y) \ -do { \ - OUT_RING_F((_x) + sample_x); \ - OUT_RING_F((_y) + 0.125 + sample_y); \ - OUT_RING_F(0.0); \ - OUT_RING(0x01010101); \ -} while (0) - -void -R128Trapezoids(KaaTrapezoid *traps, int ntraps) -{ - ATIScreenInfo *atis = accel_atis; - RING_LOCALS; - - while (ntraps > 0) { - int i, sample, count, vertcount; - - count = 0xffff / 4 / sample_count; - if (count > ntraps) - count = ntraps; - vertcount = count * sample_count * 4; - - BEGIN_DMA(3 + vertcount * TRAP_VERT_RING_COUNT); - OUT_RING(DMA_PACKET3(ATI_CCE_PACKET3_3D_RNDR_GEN_PRIM, - 2 + vertcount * TRAP_VERT_RING_COUNT)); - OUT_RING(R128_CCE_VC_FRMT_DIFFUSE_ARGB); - OUT_RING(R128_CCE_VC_CNTL_PRIM_TYPE_TRI_FAN | - R128_CCE_VC_CNTL_PRIM_WALK_RING | - (vertcount << R128_CCE_VC_CNTL_NUM_SHIFT)); - - for (i = 0; i < count; i++) { - for (sample = 0; sample < sample_count; sample++) { - float sample_x = sample_offsets_x[sample]; - float sample_y = sample_offsets_y[sample]; - TRAP_VERT(traps[i].tl, traps[i].ty); - TRAP_VERT(traps[i].bl, traps[i].by); - TRAP_VERT(traps[i].br, traps[i].by); - TRAP_VERT(traps[i].tr, traps[i].ty); - } - } - END_DMA(); - - ntraps -= count; - traps += count; - } -} - -void -R128DoneTrapezoids(void) -{ -} diff --git a/xorg-server/hw/kdrive/ati/radeon_composite.c b/xorg-server/hw/kdrive/ati/radeon_composite.c deleted file mode 100644 index ddad343e3..000000000 --- a/xorg-server/hw/kdrive/ati/radeon_composite.c +++ /dev/null @@ -1,875 +0,0 @@ -/* - * Copyright © 2003 Eric Anholt - * - * 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. - */ - -#ifdef HAVE_CONFIG_H -#include -#endif -#include "ati.h" -#include "ati_reg.h" -#include "ati_dma.h" -#include "ati_draw.h" - -extern ATIScreenInfo *accel_atis; -extern int sample_count; -extern float sample_offsets_x[255]; -extern float sample_offsets_y[255]; -static Bool is_transform[2]; -static PictTransform *transform[2]; - -struct blendinfo { - Bool dst_alpha; - Bool src_alpha; - CARD32 blend_cntl; -}; - -static struct blendinfo RadeonBlendOp[] = { - /* Clear */ - {0, 0, RADEON_SBLEND_GL_ZERO | RADEON_DBLEND_GL_ZERO}, - /* Src */ - {0, 0, RADEON_SBLEND_GL_ONE | RADEON_DBLEND_GL_ZERO}, - /* Dst */ - {0, 0, RADEON_SBLEND_GL_ZERO | RADEON_DBLEND_GL_ONE}, - /* Over */ - {0, 1, RADEON_SBLEND_GL_ONE | RADEON_DBLEND_GL_INV_SRC_ALPHA}, - /* OverReverse */ - {1, 0, RADEON_SBLEND_GL_INV_DST_ALPHA | RADEON_DBLEND_GL_ONE}, - /* In */ - {1, 0, RADEON_SBLEND_GL_DST_ALPHA | RADEON_DBLEND_GL_ZERO}, - /* InReverse */ - {0, 1, RADEON_SBLEND_GL_ZERO | RADEON_DBLEND_GL_SRC_ALPHA}, - /* Out */ - {1, 0, RADEON_SBLEND_GL_INV_DST_ALPHA | RADEON_DBLEND_GL_ZERO}, - /* OutReverse */ - {0, 1, RADEON_SBLEND_GL_ZERO | RADEON_DBLEND_GL_INV_SRC_ALPHA}, - /* Atop */ - {1, 1, RADEON_SBLEND_GL_DST_ALPHA | RADEON_DBLEND_GL_INV_SRC_ALPHA}, - /* AtopReverse */ - {1, 1, RADEON_SBLEND_GL_INV_DST_ALPHA | RADEON_DBLEND_GL_SRC_ALPHA}, - /* Xor */ - {1, 1, RADEON_SBLEND_GL_INV_DST_ALPHA | RADEON_DBLEND_GL_INV_SRC_ALPHA}, - /* Add */ - {0, 0, RADEON_SBLEND_GL_ONE | RADEON_DBLEND_GL_ONE}, -}; - -struct formatinfo { - int fmt; - Bool byte_swap; - CARD32 card_fmt; -}; - -/* Note on texture formats: - * TXFORMAT_Y8 expands to (Y,Y,Y,1). TXFORMAT_I8 expands to (I,I,I,I) - */ -static struct formatinfo R100TexFormats[] = { - {PICT_a8r8g8b8, 0, RADEON_TXFORMAT_ARGB8888 | RADEON_TXFORMAT_ALPHA_IN_MAP}, - {PICT_x8r8g8b8, 0, RADEON_TXFORMAT_ARGB8888}, - {PICT_a8b8g8r8, 1, RADEON_TXFORMAT_RGBA8888 | RADEON_TXFORMAT_ALPHA_IN_MAP}, - {PICT_x8b8g8r8, 1, RADEON_TXFORMAT_RGBA8888}, - {PICT_r5g6b5, 0, RADEON_TXFORMAT_RGB565}, - {PICT_a1r5g5b5, 0, RADEON_TXFORMAT_ARGB1555 | RADEON_TXFORMAT_ALPHA_IN_MAP}, - {PICT_x1r5g5b5, 0, RADEON_TXFORMAT_ARGB1555}, - {PICT_a8, 0, RADEON_TXFORMAT_I8 | RADEON_TXFORMAT_ALPHA_IN_MAP}, -}; - -static struct formatinfo R200TexFormats[] = { - {PICT_a8r8g8b8, 0, R200_TXFORMAT_ARGB8888 | R200_TXFORMAT_ALPHA_IN_MAP}, - {PICT_x8r8g8b8, 0, R200_TXFORMAT_ARGB8888}, - {PICT_a8r8g8b8, 1, R200_TXFORMAT_RGBA8888 | R200_TXFORMAT_ALPHA_IN_MAP}, - {PICT_x8r8g8b8, 1, R200_TXFORMAT_RGBA8888}, - {PICT_r5g6b5, 0, R200_TXFORMAT_RGB565}, - {PICT_a1r5g5b5, 0, R200_TXFORMAT_ARGB1555 | R200_TXFORMAT_ALPHA_IN_MAP}, - {PICT_x1r5g5b5, 0, R200_TXFORMAT_ARGB1555}, - {PICT_a8, 0, R200_TXFORMAT_I8 | R200_TXFORMAT_ALPHA_IN_MAP}, -}; - -/* Common Radeon setup code */ - -static Bool -RadeonGetDestFormat(PicturePtr pDstPicture, CARD32 *dst_format) -{ - switch (pDstPicture->format) { - case PICT_a8r8g8b8: - case PICT_x8r8g8b8: - *dst_format = RADEON_COLOR_FORMAT_ARGB8888; - break; - case PICT_r5g6b5: - *dst_format = RADEON_COLOR_FORMAT_RGB565; - break; - case PICT_a1r5g5b5: - case PICT_x1r5g5b5: - *dst_format = RADEON_COLOR_FORMAT_ARGB1555; - break; - case PICT_a8: - *dst_format = RADEON_COLOR_FORMAT_RGB8; - break; - default: - ATI_FALLBACK(("Unsupported dest format 0x%x\n", - pDstPicture->format)); - } - - return TRUE; -} - -/* R100-specific code */ - -static Bool -R100CheckCompositeTexture(PicturePtr pPict, int unit) -{ - int w = pPict->pDrawable->width; - int h = pPict->pDrawable->height; - int i; - - if ((w > 0x7ff) || (h > 0x7ff)) - ATI_FALLBACK(("Picture w/h too large (%dx%d)\n", w, h)); - - for (i = 0; i < sizeof(R100TexFormats) / sizeof(R100TexFormats[0]); i++) - { - if (R100TexFormats[i].fmt == pPict->format) - break; - } - if (i == sizeof(R100TexFormats) / sizeof(R100TexFormats[0])) - ATI_FALLBACK(("Unsupported picture format 0x%x\n", - pPict->format)); - - if (pPict->repeat && ((w & (w - 1)) != 0 || (h & (h - 1)) != 0)) - ATI_FALLBACK(("NPOT repeat unsupported (%dx%d)\n", w, h)); - - if (pPict->filter != PictFilterNearest && - pPict->filter != PictFilterBilinear) - ATI_FALLBACK(("Unsupported filter 0x%x\n", pPict->filter)); - - return TRUE; -} - -static Bool -R100TextureSetup(PicturePtr pPict, PixmapPtr pPix, int unit) -{ - ATIScreenInfo *atis = accel_atis; - KdScreenPriv(pPix->drawable.pScreen); - CARD32 txfilter, txformat, txoffset, txpitch; - int w = pPict->pDrawable->width; - int h = pPict->pDrawable->height; - int i; - RING_LOCALS; - - txpitch = pPix->devKind; - txoffset = ((CARD8 *)pPix->devPrivate.ptr - - pScreenPriv->screen->memory_base); - - for (i = 0; i < sizeof(R100TexFormats) / sizeof(R100TexFormats[0]); i++) - { - if (R100TexFormats[i].fmt == pPict->format) - break; - } - txformat = R100TexFormats[i].card_fmt; - if (R100TexFormats[i].byte_swap) - txoffset |= RADEON_TXO_ENDIAN_BYTE_SWAP; - - if (pPict->repeat) { - txformat |= ATILog2(w) << RADEON_TXFORMAT_WIDTH_SHIFT; - txformat |= ATILog2(h) << RADEON_TXFORMAT_HEIGHT_SHIFT; - } else - txformat |= RADEON_TXFORMAT_NON_POWER2; - txformat |= unit << 24; /* RADEON_TXFORMAT_ST_ROUTE_STQX */ - - - if ((txoffset & 0x1f) != 0) - ATI_FALLBACK(("Bad texture offset 0x%x\n", txoffset)); - if ((txpitch & 0x1f) != 0) - ATI_FALLBACK(("Bad texture pitch 0x%x\n", txpitch)); - - switch (pPict->filter) { - case PictFilterNearest: - txfilter = (RADEON_MAG_FILTER_NEAREST | - RADEON_MIN_FILTER_NEAREST); - break; - case PictFilterBilinear: - txfilter = (RADEON_MAG_FILTER_LINEAR | - RADEON_MIN_FILTER_LINEAR); - break; - default: - ATI_FALLBACK(("Bad filter 0x%x\n", pPict->filter)); - } - - BEGIN_DMA(7); - if (unit == 0) { - OUT_RING(DMA_PACKET0(RADEON_REG_PP_TXFILTER_0, 3)); - OUT_RING_REG(RADEON_REG_PP_TXFILTER_0, txfilter); - OUT_RING_REG(RADEON_REG_PP_TXFORMAT_0, txformat); - OUT_RING_REG(RADEON_REG_PP_TXOFFSET_0, txoffset); - OUT_RING(DMA_PACKET0(RADEON_REG_PP_TEX_SIZE_0, 2)); - OUT_RING_REG(RADEON_REG_PP_TEX_SIZE_0, - (pPix->drawable.width - 1) | - ((pPix->drawable.height - 1) << RADEON_TEX_VSIZE_SHIFT)); - OUT_RING_REG(RADEON_REG_PP_TEX_PITCH_0, txpitch - 32); - } else { - OUT_RING(DMA_PACKET0(RADEON_REG_PP_TXFILTER_1, 3)); - OUT_RING_REG(RADEON_REG_PP_TXFILTER_1, txfilter); - OUT_RING_REG(RADEON_REG_PP_TXFORMAT_1, txformat); - OUT_RING_REG(RADEON_REG_PP_TXOFFSET_1, txoffset); - OUT_RING(DMA_PACKET0(RADEON_REG_PP_TEX_SIZE_1, 2)); - OUT_RING_REG(RADEON_REG_PP_TEX_SIZE_1, - (pPix->drawable.width - 1) | - ((pPix->drawable.height - 1) << RADEON_TEX_VSIZE_SHIFT)); - OUT_RING_REG(RADEON_REG_PP_TEX_PITCH_1, txpitch - 32); - } - END_DMA(); - - if (pPict->transform != 0) { - is_transform[unit] = TRUE; - transform[unit] = pPict->transform; - } else { - is_transform[unit] = FALSE; - } - - return TRUE; -} - -Bool -R100CheckComposite(int op, PicturePtr pSrcPicture, PicturePtr pMaskPicture, - PicturePtr pDstPicture) -{ - CARD32 tmp1; - - /* Check for unsupported compositing operations. */ - if (op >= sizeof(RadeonBlendOp) / sizeof(RadeonBlendOp[0])) - ATI_FALLBACK(("Unsupported Composite op 0x%x\n", op)); - if (pMaskPicture != NULL && pMaskPicture->componentAlpha && - RadeonBlendOp[op].src_alpha) - ATI_FALLBACK(("Component alpha not supported with source " - "alpha blending.\n")); - if (pDstPicture->pDrawable->width >= (1 << 11) || - pDstPicture->pDrawable->height >= (1 << 11)) - ATI_FALLBACK(("Dest w/h too large (%d,%d).\n", - pDstPicture->pDrawable->width, - pDstPicture->pDrawable->height)); - - if (!R100CheckCompositeTexture(pSrcPicture, 0)) - return FALSE; - if (pMaskPicture != NULL && !R100CheckCompositeTexture(pMaskPicture, 1)) - return FALSE; - - if (pDstPicture->componentAlpha) - return FALSE; - - if (!RadeonGetDestFormat(pDstPicture, &tmp1)) - return FALSE; - - return TRUE; -} - -Bool -R100PrepareComposite(int op, PicturePtr pSrcPicture, PicturePtr pMaskPicture, - PicturePtr pDstPicture, PixmapPtr pSrc, PixmapPtr pMask, PixmapPtr pDst) -{ - KdScreenPriv(pDst->drawable.pScreen); - ATIScreenInfo(pScreenPriv); - CARD32 dst_format, dst_offset, dst_pitch; - CARD32 pp_cntl, blendcntl, cblend, ablend; - int pixel_shift; - RING_LOCALS; - - accel_atis = atis; - - RadeonGetDestFormat(pDstPicture, &dst_format); - pixel_shift = pDst->drawable.bitsPerPixel >> 4; - - dst_offset = ((CARD8 *)pDst->devPrivate.ptr - - pScreenPriv->screen->memory_base); - dst_pitch = pDst->devKind; - if ((dst_offset & 0x0f) != 0) - ATI_FALLBACK(("Bad destination offset 0x%x\n", dst_offset)); - if (((dst_pitch >> pixel_shift) & 0x7) != 0) - ATI_FALLBACK(("Bad destination pitch 0x%x\n", dst_pitch)); - - if (!R100TextureSetup(pSrcPicture, pSrc, 0)) - return FALSE; - pp_cntl = RADEON_TEX_0_ENABLE | RADEON_TEX_BLEND_0_ENABLE; - - if (pMask != NULL) { - if (!R100TextureSetup(pMaskPicture, pMask, 1)) - return FALSE; - pp_cntl |= RADEON_TEX_1_ENABLE; - } else { - is_transform[1] = FALSE; - } - - ENTER_DRAW(pDst); - - RadeonSwitchTo3D(atis); - - BEGIN_DMA(12); - - OUT_RING(DMA_PACKET0(RADEON_REG_PP_CNTL, 3)); - OUT_RING_REG(RADEON_REG_PP_CNTL, pp_cntl); - OUT_RING_REG(RADEON_REG_RB3D_CNTL, - dst_format | RADEON_ALPHA_BLEND_ENABLE); - OUT_RING_REG(RADEON_REG_RB3D_COLOROFFSET, dst_offset); - - OUT_REG(RADEON_REG_RB3D_COLORPITCH, dst_pitch >> pixel_shift); - - /* IN operator: Multiply src by mask components or mask alpha. - * BLEND_CTL_ADD is A * B + C. - * If a picture is a8, we have to explicitly zero its color values. - * If the destination is a8, we have to route the alpha to red, I think. - */ - cblend = RADEON_BLEND_CTL_ADD | RADEON_CLAMP_TX | - RADEON_COLOR_ARG_C_ZERO; - ablend = RADEON_BLEND_CTL_ADD | RADEON_CLAMP_TX | - RADEON_ALPHA_ARG_C_ZERO; - - if (pDstPicture->format == PICT_a8) - cblend |= RADEON_COLOR_ARG_A_T0_ALPHA; - else if (pSrcPicture->format == PICT_a8) - cblend |= RADEON_COLOR_ARG_A_ZERO; - else - cblend |= RADEON_COLOR_ARG_A_T0_COLOR; - ablend |= RADEON_ALPHA_ARG_A_T0_ALPHA; - - if (pMask) { - if (pMaskPicture->componentAlpha && - pDstPicture->format != PICT_a8) - cblend |= RADEON_COLOR_ARG_B_T1_COLOR; - else - cblend |= RADEON_COLOR_ARG_B_T1_ALPHA; - ablend |= RADEON_ALPHA_ARG_B_T1_ALPHA; - } else { - cblend |= RADEON_COLOR_ARG_B_ZERO | RADEON_COMP_ARG_B; - ablend |= RADEON_ALPHA_ARG_B_ZERO | RADEON_COMP_ARG_B; - } - - OUT_REG(RADEON_REG_PP_TXCBLEND_0, cblend); - OUT_REG(RADEON_REG_PP_TXABLEND_0, ablend); - - /* Op operator. */ - blendcntl = RadeonBlendOp[op].blend_cntl; - if (PICT_FORMAT_A(pDstPicture->format) == 0 && - RadeonBlendOp[op].dst_alpha) { - if ((blendcntl & RADEON_SBLEND_MASK) == - RADEON_SBLEND_GL_DST_ALPHA) - blendcntl = (blendcntl & ~RADEON_SBLEND_MASK) | - RADEON_SBLEND_GL_ONE; - else if ((blendcntl & RADEON_SBLEND_MASK) == - RADEON_SBLEND_GL_INV_DST_ALPHA) - blendcntl = (blendcntl & ~RADEON_SBLEND_MASK) | - RADEON_SBLEND_GL_ZERO; - } - OUT_REG(RADEON_REG_RB3D_BLENDCNTL, blendcntl); - END_DMA(); - - LEAVE_DRAW(pDst); - - return TRUE; -} - -static Bool -R200CheckCompositeTexture(PicturePtr pPict, int unit) -{ - int w = pPict->pDrawable->width; - int h = pPict->pDrawable->height; - int i; - - if ((w > 0x7ff) || (h > 0x7ff)) - ATI_FALLBACK(("Picture w/h too large (%dx%d)\n", w, h)); - - for (i = 0; i < sizeof(R200TexFormats) / sizeof(R200TexFormats[0]); i++) - { - if (R200TexFormats[i].fmt == pPict->format) - break; - } - if (i == sizeof(R200TexFormats) / sizeof(R200TexFormats[0])) - ATI_FALLBACK(("Unsupported picture format 0x%x\n", - pPict->format)); - - if (pPict->repeat && ((w & (w - 1)) != 0 || (h & (h - 1)) != 0)) - ATI_FALLBACK(("NPOT repeat unsupported (%dx%d)\n", w, h)); - - if (pPict->filter != PictFilterNearest && - pPict->filter != PictFilterBilinear) - ATI_FALLBACK(("Unsupported filter 0x%x\n", pPict->filter)); - - return TRUE; -} - -static Bool -R200TextureSetup(PicturePtr pPict, PixmapPtr pPix, int unit) -{ - ATIScreenInfo *atis = accel_atis; - KdScreenPriv(pPix->drawable.pScreen); - CARD32 txfilter, txformat, txoffset, txpitch; - int w = pPict->pDrawable->width; - int h = pPict->pDrawable->height; - int i; - RING_LOCALS; - - txpitch = pPix->devKind; - txoffset = ((CARD8 *)pPix->devPrivate.ptr - - pScreenPriv->screen->memory_base); - - for (i = 0; i < sizeof(R200TexFormats) / sizeof(R200TexFormats[0]); i++) - { - if (R200TexFormats[i].fmt == pPict->format) - break; - } - txformat = R200TexFormats[i].card_fmt; - if (R200TexFormats[i].byte_swap) - txoffset |= R200_TXO_ENDIAN_BYTE_SWAP; - - if (pPict->repeat) { - txformat |= ATILog2(w) << R200_TXFORMAT_WIDTH_SHIFT; - txformat |= ATILog2(h) << R200_TXFORMAT_HEIGHT_SHIFT; - } else - txformat |= R200_TXFORMAT_NON_POWER2; - txformat |= unit << R200_TXFORMAT_ST_ROUTE_SHIFT; - - if ((txoffset & 0x1f) != 0) - ATI_FALLBACK(("Bad texture offset 0x%x\n", txoffset)); - if ((txpitch & 0x1f) != 0) - ATI_FALLBACK(("Bad texture pitch 0x%x\n", txpitch)); - - switch (pPict->filter) { - case PictFilterNearest: - txfilter = (R200_MAG_FILTER_NEAREST | - R200_MIN_FILTER_NEAREST); - break; - case PictFilterBilinear: - txfilter = (R200_MAG_FILTER_LINEAR | - R200_MIN_FILTER_LINEAR); - break; - default: - ATI_FALLBACK(("Bad filter 0x%x\n", pPict->filter)); - } - - if (unit == 0) { - BEGIN_DMA(6); - OUT_RING(DMA_PACKET0(R200_REG_PP_TXFILTER_0 + 0x20 * unit, 5)); - OUT_RING_REG(R200_REG_PP_TXFILTER_0, txfilter); - OUT_RING_REG(R200_REG_PP_TXFORMAT_0, txformat); - OUT_RING_REG(R200_REG_PP_TXFORMAT_X_0, 0); - OUT_RING_REG(R200_REG_PP_TXSIZE_0, - (pPix->drawable.width - 1) | - ((pPix->drawable.height - 1) << RADEON_TEX_VSIZE_SHIFT)); - OUT_RING_REG(R200_REG_PP_TXPITCH_0, txpitch - 32); - END_DMA(); - } else { - BEGIN_DMA(6); - OUT_RING(DMA_PACKET0(R200_REG_PP_TXFILTER_1, 5)); - OUT_RING_REG(R200_REG_PP_TXFILTER_1, txfilter); - OUT_RING_REG(R200_REG_PP_TXFORMAT_1, txformat); - OUT_RING_REG(R200_REG_PP_TXFORMAT_X_1, 0); - OUT_RING_REG(R200_REG_PP_TXSIZE_1, - (pPix->drawable.width - 1) | - ((pPix->drawable.height - 1) << RADEON_TEX_VSIZE_SHIFT)); - OUT_RING_REG(R200_REG_PP_TXPITCH_1, txpitch - 32); - END_DMA(); - } - - BEGIN_DMA(2); - OUT_REG(R200_PP_TXOFFSET_0 + 0x18 * unit, txoffset); - END_DMA(); - - if (pPict->transform != 0) { - is_transform[unit] = TRUE; - transform[unit] = pPict->transform; - } else { - is_transform[unit] = FALSE; - } - - return TRUE; -} - -Bool -R200CheckComposite(int op, PicturePtr pSrcPicture, PicturePtr pMaskPicture, - PicturePtr pDstPicture) -{ - CARD32 tmp1; - - /* Check for unsupported compositing operations. */ - if (op >= sizeof(RadeonBlendOp) / sizeof(RadeonBlendOp[0])) - ATI_FALLBACK(("Unsupported Composite op 0x%x\n", op)); - if (pMaskPicture != NULL && pMaskPicture->componentAlpha && - RadeonBlendOp[op].src_alpha) - ATI_FALLBACK(("Component alpha not supported with source " - "alpha blending.\n")); - - if (!R200CheckCompositeTexture(pSrcPicture, 0)) - return FALSE; - if (pMaskPicture != NULL && !R200CheckCompositeTexture(pMaskPicture, 1)) - return FALSE; - - if (!RadeonGetDestFormat(pDstPicture, &tmp1)) - return FALSE; - - return TRUE; -} - -Bool -R200PrepareComposite(int op, PicturePtr pSrcPicture, PicturePtr pMaskPicture, - PicturePtr pDstPicture, PixmapPtr pSrc, PixmapPtr pMask, PixmapPtr pDst) -{ - KdScreenPriv(pDst->drawable.pScreen); - ATIScreenInfo(pScreenPriv); - CARD32 dst_format, dst_offset, dst_pitch; - CARD32 pp_cntl, blendcntl, cblend, ablend; - int pixel_shift; - RING_LOCALS; - - RadeonGetDestFormat(pDstPicture, &dst_format); - pixel_shift = pDst->drawable.bitsPerPixel >> 4; - - accel_atis = atis; - - dst_offset = ((CARD8 *)pDst->devPrivate.ptr - - pScreenPriv->screen->memory_base); - dst_pitch = pDst->devKind; - if ((dst_offset & 0x0f) != 0) - ATI_FALLBACK(("Bad destination offset 0x%x\n", dst_offset)); - if (((dst_pitch >> pixel_shift) & 0x7) != 0) - ATI_FALLBACK(("Bad destination pitch 0x%x\n", dst_pitch)); - - if (!R200TextureSetup(pSrcPicture, pSrc, 0)) - return FALSE; - pp_cntl = RADEON_TEX_0_ENABLE | RADEON_TEX_BLEND_0_ENABLE; - - if (pMask != NULL) { - if (!R200TextureSetup(pMaskPicture, pMask, 1)) - return FALSE; - pp_cntl |= RADEON_TEX_1_ENABLE; - } else { - is_transform[1] = FALSE; - } - - RadeonSwitchTo3D(atis); - - BEGIN_DMA(17); - - OUT_RING(DMA_PACKET0(RADEON_REG_PP_CNTL, 3)); - OUT_RING_REG(RADEON_REG_PP_CNTL, pp_cntl); - OUT_RING_REG(RADEON_REG_RB3D_CNTL, dst_format | RADEON_ALPHA_BLEND_ENABLE); - OUT_RING_REG(RADEON_REG_RB3D_COLOROFFSET, dst_offset); - - OUT_REG(R200_REG_SE_VTX_FMT_0, R200_VTX_XY); - OUT_REG(R200_REG_SE_VTX_FMT_1, - (2 << R200_VTX_TEX0_COMP_CNT_SHIFT) | - (2 << R200_VTX_TEX1_COMP_CNT_SHIFT)); - - OUT_REG(RADEON_REG_RB3D_COLORPITCH, dst_pitch >> pixel_shift); - - /* IN operator: Multiply src by mask components or mask alpha. - * BLEND_CTL_ADD is A * B + C. - * If a picture is a8, we have to explicitly zero its color values. - * If the destination is a8, we have to route the alpha to red, I think. - */ - cblend = R200_TXC_OP_MADD | R200_TXC_ARG_C_ZERO; - ablend = R200_TXA_OP_MADD | R200_TXA_ARG_C_ZERO; - - if (pDstPicture->format == PICT_a8) - cblend |= R200_TXC_ARG_A_R0_ALPHA; - else if (pSrcPicture->format == PICT_a8) - cblend |= R200_TXC_ARG_A_ZERO; - else - cblend |= R200_TXC_ARG_A_R0_COLOR; - ablend |= R200_TXA_ARG_A_R0_ALPHA; - - if (pMask) { - if (pMaskPicture->componentAlpha && - pDstPicture->format != PICT_a8) - cblend |= R200_TXC_ARG_B_R1_COLOR; - else - cblend |= R200_TXC_ARG_B_R1_ALPHA; - ablend |= R200_TXA_ARG_B_R1_ALPHA; - } else { - cblend |= R200_TXC_ARG_B_ZERO | R200_TXC_COMP_ARG_B; - ablend |= R200_TXA_ARG_B_ZERO | R200_TXA_COMP_ARG_B; - } - - OUT_RING(DMA_PACKET0(R200_REG_PP_TXCBLEND_0, 4)); - OUT_RING_REG(R200_REG_PP_TXCBLEND_0, cblend); - OUT_RING_REG(R200_REG_PP_TXCBLEND2_0, - R200_TXC_CLAMP_0_1 | R200_TXC_OUTPUT_REG_R0); - OUT_RING_REG(R200_REG_PP_TXABLEND_0, ablend); - OUT_RING_REG(R200_REG_PP_TXABLEND2_0, - R200_TXA_CLAMP_0_1 | R200_TXA_OUTPUT_REG_R0); - - /* Op operator. */ - blendcntl = RadeonBlendOp[op].blend_cntl; - if (PICT_FORMAT_A(pDstPicture->format) == 0 && - RadeonBlendOp[op].dst_alpha) { - if ((blendcntl & RADEON_SBLEND_MASK) == - RADEON_SBLEND_GL_DST_ALPHA) - blendcntl = (blendcntl & ~RADEON_SBLEND_MASK) | - RADEON_SBLEND_GL_ONE; - else if ((blendcntl & RADEON_SBLEND_MASK) == - RADEON_SBLEND_GL_INV_DST_ALPHA) - blendcntl = (blendcntl & ~RADEON_SBLEND_MASK) | - RADEON_SBLEND_GL_ZERO; - } - OUT_REG(RADEON_REG_RB3D_BLENDCNTL, blendcntl); - END_DMA(); - - return TRUE; -} - -union intfloat { - float f; - CARD32 i; -}; - -struct blend_vertex { - union intfloat x, y; - union intfloat s0, t0; - union intfloat s1, t1; -}; - -#define VTX_DWORD_COUNT 6 - -#define VTX_OUT(_dstX, _dstY, _srcX, _srcY, _maskX, _maskY) \ -do { \ - OUT_RING_F(_dstX); \ - OUT_RING_F(_dstY); \ - OUT_RING_F(_srcX); \ - OUT_RING_F(_srcY); \ - OUT_RING_F(_maskX); \ - OUT_RING_F(_maskY); \ -} while (0) - -void -RadeonComposite(int srcX, int srcY, int maskX, int maskY, int dstX, int dstY, - int w, int h) -{ - ATIScreenInfo *atis = accel_atis; - ATICardInfo *atic = atis->atic; - int srcXend, srcYend, maskXend, maskYend; - RING_LOCALS; - PictVector v; - - ENTER_DRAW(0); - - /*ErrorF("RadeonComposite (%d,%d) (%d,%d) (%d,%d) (%d,%d)\n", - srcX, srcY, maskX, maskY,dstX, dstY, w, h);*/ - - srcXend = srcX + w; - srcYend = srcY + h; - maskXend = maskX + w; - maskYend = maskY + h; - if (is_transform[0]) { - v.vector[0] = IntToxFixed(srcX); - v.vector[1] = IntToxFixed(srcY); - v.vector[2] = xFixed1; - PictureTransformPoint(transform[0], &v); - srcX = xFixedToInt(v.vector[0]); - srcY = xFixedToInt(v.vector[1]); - v.vector[0] = IntToxFixed(srcXend); - v.vector[1] = IntToxFixed(srcYend); - v.vector[2] = xFixed1; - PictureTransformPoint(transform[0], &v); - srcXend = xFixedToInt(v.vector[0]); - srcYend = xFixedToInt(v.vector[1]); - } - if (is_transform[1]) { - v.vector[0] = IntToxFixed(maskX); - v.vector[1] = IntToxFixed(maskY); - v.vector[2] = xFixed1; - PictureTransformPoint(transform[1], &v); - maskX = xFixedToInt(v.vector[0]); - maskY = xFixedToInt(v.vector[1]); - v.vector[0] = IntToxFixed(maskXend); - v.vector[1] = IntToxFixed(maskYend); - v.vector[2] = xFixed1; - PictureTransformPoint(transform[1], &v); - maskXend = xFixedToInt(v.vector[0]); - maskYend = xFixedToInt(v.vector[1]); - } - - if (atic->is_r100) { - BEGIN_DMA(4 * VTX_DWORD_COUNT + 3); - OUT_RING(DMA_PACKET3(RADEON_CP_PACKET3_3D_DRAW_IMMD, - 4 * VTX_DWORD_COUNT + 2)); - OUT_RING(RADEON_CP_VC_FRMT_XY | - RADEON_CP_VC_FRMT_ST0 | - RADEON_CP_VC_FRMT_ST1); - OUT_RING(RADEON_CP_VC_CNTL_PRIM_TYPE_TRI_FAN | - RADEON_CP_VC_CNTL_PRIM_WALK_RING | - RADEON_CP_VC_CNTL_MAOS_ENABLE | - RADEON_CP_VC_CNTL_VTX_FMT_RADEON_MODE | - (4 << RADEON_CP_VC_CNTL_NUM_SHIFT)); - } else { - BEGIN_DMA(4 * VTX_DWORD_COUNT + 2); - OUT_RING(DMA_PACKET3(R200_CP_PACKET3_3D_DRAW_IMMD_2, - 4 * VTX_DWORD_COUNT + 1)); - OUT_RING(RADEON_CP_VC_CNTL_PRIM_TYPE_TRI_FAN | - RADEON_CP_VC_CNTL_PRIM_WALK_RING | - (4 << RADEON_CP_VC_CNTL_NUM_SHIFT)); - } - - VTX_OUT(dstX, dstY, srcX, srcY, maskX, maskY); - VTX_OUT(dstX, dstY + h, srcX, srcYend, maskX, maskYend); - VTX_OUT(dstX + w, dstY + h, srcXend, srcYend, maskXend, maskYend); - VTX_OUT(dstX + w, dstY, srcXend, srcY, maskXend, maskY); - - LEAVE_DRAW(0); - - END_DMA(); -} - -void -RadeonDoneComposite(void) -{ - ENTER_DRAW(0); - LEAVE_DRAW(0); -} - -Bool -RadeonPrepareTrapezoids(PicturePtr pDstPicture, PixmapPtr pDst) -{ - KdScreenPriv(pDst->drawable.pScreen); - ATIScreenInfo(pScreenPriv); - ATICardInfo(pScreenPriv); - CARD32 dst_offset, dst_pitch; - int pixel_shift; - RING_LOCALS; - - pixel_shift = pDst->drawable.bitsPerPixel >> 4; - - accel_atis = atis; - - dst_offset = ((CARD8 *)pDst->devPrivate.ptr - - pScreenPriv->screen->memory_base); - dst_pitch = pDst->devKind; - if ((dst_offset & 0x0f) != 0) - ATI_FALLBACK(("Bad destination offset 0x%x\n", dst_offset)); - if (((dst_pitch >> pixel_shift) & 0x7) != 0) - ATI_FALLBACK(("Bad destination pitch 0x%x\n", dst_pitch)); - - RadeonSwitchTo3D(atis); - - BEGIN_DMA(8); - - OUT_RING(DMA_PACKET0(RADEON_REG_PP_CNTL, 5)); - OUT_RING_REG(RADEON_REG_PP_CNTL, RADEON_TEX_BLEND_0_ENABLE); - OUT_RING_REG(RADEON_REG_RB3D_CNTL, - RADEON_COLOR_FORMAT_RGB8 | RADEON_ALPHA_BLEND_ENABLE); - OUT_RING_REG(RADEON_REG_RB3D_COLOROFFSET, dst_offset); - OUT_RING_REG(RADEON_REG_RE_WIDTH_HEIGHT, - ((pDst->drawable.height - 1) << 16) | - (pDst->drawable.width - 1)); - OUT_RING_REG(RADEON_REG_RB3D_COLORPITCH, dst_pitch >> pixel_shift); - OUT_REG(RADEON_REG_RB3D_BLENDCNTL, RadeonBlendOp[PictOpAdd].blend_cntl); - END_DMA(); - - if (atic->is_r100) { - BEGIN_DMA(4); - OUT_RING(DMA_PACKET0(RADEON_REG_PP_TXCBLEND_0, 3)); - OUT_RING_REG(RADEON_REG_PP_TXCBLEND_0, - RADEON_BLEND_CTL_ADD | RADEON_CLAMP_TX | - RADEON_COLOR_ARG_C_TFACTOR_ALPHA); - OUT_RING_REG(RADEON_REG_PP_TXABLEND_0, - RADEON_BLEND_CTL_ADD | RADEON_CLAMP_TX | - RADEON_ALPHA_ARG_C_TFACTOR_ALPHA); - OUT_RING_REG(RADEON_REG_PP_TFACTOR_0, 0x01000000); - END_DMA(); - } else if (atic->is_r200) { - BEGIN_DMA(14); - OUT_REG(R200_REG_SE_VTX_FMT_0, R200_VTX_XY); - OUT_REG(R200_REG_SE_VTX_FMT_1, 0); - OUT_REG(R200_REG_PP_TXCBLEND_0, - R200_TXC_ARG_C_TFACTOR_COLOR); - OUT_REG(R200_REG_PP_TXABLEND_0, - R200_TXA_ARG_C_TFACTOR_ALPHA); - OUT_REG(R200_REG_PP_TXCBLEND2_0, R200_TXC_OUTPUT_REG_R0); - OUT_REG(R200_REG_PP_TXABLEND2_0, R200_TXA_OUTPUT_REG_R0); - OUT_REG(RADEON_REG_PP_TFACTOR_0, 0x01000000); - END_DMA(); - } - - return TRUE; -} - -#define TRAP_VERT_RING_COUNT 2 - -#define TRAP_VERT(_x, _y) \ -do { \ - OUT_RING_F((_x) + sample_x); \ - OUT_RING_F((_y) + sample_y); \ -} while (0) - -void -RadeonTrapezoids(KaaTrapezoid *traps, int ntraps) -{ - ATIScreenInfo *atis = accel_atis; - ATICardInfo *atic = atis->atic; - RING_LOCALS; - - while (ntraps > 0) { - int i, sample, count, vertcount; - - count = 0xffff / 4 / sample_count; - if (count > ntraps) - count = ntraps; - vertcount = count * sample_count * 4; - - if (atic->is_r100) { - BEGIN_DMA(3 + vertcount * TRAP_VERT_RING_COUNT); - OUT_RING(DMA_PACKET3(RADEON_CP_PACKET3_3D_DRAW_IMMD, - 2 + vertcount * TRAP_VERT_RING_COUNT)); - OUT_RING(RADEON_CP_VC_FRMT_XY); - OUT_RING(RADEON_CP_VC_CNTL_PRIM_TYPE_TRI_FAN | - RADEON_CP_VC_CNTL_PRIM_WALK_RING | - RADEON_CP_VC_CNTL_MAOS_ENABLE | - RADEON_CP_VC_CNTL_VTX_FMT_RADEON_MODE | - (vertcount << RADEON_CP_VC_CNTL_NUM_SHIFT)); - } else { - BEGIN_DMA(2 + vertcount * TRAP_VERT_RING_COUNT); - OUT_RING(DMA_PACKET3(R200_CP_PACKET3_3D_DRAW_IMMD_2, - 1 + vertcount * TRAP_VERT_RING_COUNT)); - OUT_RING(RADEON_CP_VC_CNTL_PRIM_TYPE_TRI_FAN | - RADEON_CP_VC_CNTL_PRIM_WALK_RING | - (vertcount << RADEON_CP_VC_CNTL_NUM_SHIFT)); - } - - for (i = 0; i < count; i++) { - for (sample = 0; sample < sample_count; sample++) { - float sample_x = sample_offsets_x[sample]; - float sample_y = sample_offsets_y[sample]; - TRAP_VERT(traps[i].tl, traps[i].ty); - TRAP_VERT(traps[i].bl, traps[i].by); - TRAP_VERT(traps[i].br, traps[i].by); - TRAP_VERT(traps[i].tr, traps[i].ty); - } - } - END_DMA(); - - ntraps -= count; - traps += count; - } -} - -void -RadeonDoneTrapezoids(void) -{ - ATIScreenInfo *atis = accel_atis; - RING_LOCALS; - - BEGIN_DMA(2); - OUT_REG(RADEON_REG_RE_WIDTH_HEIGHT, 0xffffffff); - END_DMA(); -} diff --git a/xorg-server/hw/kdrive/chips/Makefile.am b/xorg-server/hw/kdrive/chips/Makefile.am deleted file mode 100644 index 46e176051..000000000 --- a/xorg-server/hw/kdrive/chips/Makefile.am +++ /dev/null @@ -1,36 +0,0 @@ -INCLUDES = \ - @KDRIVE_INCS@ \ - -I$(top_srcdir)/hw/kdrive/vesa \ - @KDRIVE_CFLAGS@ - -bin_PROGRAMS = Xchips - -noinst_LIBRARIES = libchips.a - -libchips_a_SOURCES = \ - chipsdraw.c \ - chips.c \ - chips.h - -Xchips_SOURCES = \ - chipsstub.c - -CHIPS_LIBS = \ - libchips.a \ - $(top_builddir)/hw/kdrive/vesa/libvesa.a \ - @KDRIVE_LIBS@ - -if GLX -Xchips_LDFLAGS = $(LD_EXPORT_SYMBOLS_FLAG) -endif - -Xchips_LDADD = \ - $(CHIPS_LIBS) \ - @KDRIVE_LIBS@ - -Xchips_DEPENDENCIES = \ - libchips.a \ - @KDRIVE_LOCAL_LIBS@ - -relink: - rm -f $(bin_PROGRAMS) && make $(bin_PROGRAMS) diff --git a/xorg-server/hw/kdrive/chips/Makefile.in b/xorg-server/hw/kdrive/chips/Makefile.in deleted file mode 100644 index 5e149cb4a..000000000 --- a/xorg-server/hw/kdrive/chips/Makefile.in +++ /dev/null @@ -1,717 +0,0 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008 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 = Xchips$(EXEEXT) -subdir = hw/kdrive/chips -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 -libchips_a_AR = $(AR) $(ARFLAGS) -libchips_a_LIBADD = -am_libchips_a_OBJECTS = chipsdraw.$(OBJEXT) chips.$(OBJEXT) -libchips_a_OBJECTS = $(am_libchips_a_OBJECTS) -am__installdirs = "$(DESTDIR)$(bindir)" -binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) -PROGRAMS = $(bin_PROGRAMS) -am_Xchips_OBJECTS = chipsstub.$(OBJEXT) -Xchips_OBJECTS = $(am_Xchips_OBJECTS) -am__DEPENDENCIES_1 = libchips.a \ - $(top_builddir)/hw/kdrive/vesa/libvesa.a -Xchips_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(Xchips_LDFLAGS) \ - $(LDFLAGS) -o $@ -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include -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 = $(libchips_a_SOURCES) $(Xchips_SOURCES) -DIST_SOURCES = $(libchips_a_SOURCES) $(Xchips_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@ -DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ -DRI2PROTO_LIBS = @DRI2PROTO_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@ -DSYMUTIL = @DSYMUTIL@ -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@ -GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ -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@ -LAUNCHD = @LAUNCHD@ -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@ -NMEDIT = @NMEDIT@ -OBJC = @OBJC@ -OBJCCLD = @OBJCCLD@ -OBJCDEPMODE = @OBJCDEPMODE@ -OBJCFLAGS = @OBJCFLAGS@ -OBJCLINK = @OBJCLINK@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ -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@ -PCIACCESS_CFLAGS = @PCIACCESS_CFLAGS@ -PCIACCESS_LIBS = @PCIACCESS_LIBS@ -PCI_TXT_IDS_PATH = @PCI_TXT_IDS_PATH@ -PERL = @PERL@ -PKG_CONFIG = @PKG_CONFIG@ -PROJECTROOT = @PROJECTROOT@ -PS2PDF = @PS2PDF@ -RANLIB = @RANLIB@ -RAWCPP = @RAWCPP@ -RAWCPPFLAGS = @RAWCPPFLAGS@ -SED = @SED@ -SERVER_MISC_CONFIG_PATH = @SERVER_MISC_CONFIG_PATH@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ -SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ -STRIP = @STRIP@ -TSLIB_CFLAGS = @TSLIB_CFLAGS@ -TSLIB_LIBS = @TSLIB_LIBS@ -UTILS_SYS_LIBS = @UTILS_SYS_LIBS@ -VENDOR_MAN_VERSION = @VENDOR_MAN_VERSION@ -VENDOR_NAME = @VENDOR_NAME@ -VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ -VENDOR_RELEASE = @VENDOR_RELEASE@ -VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ -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_CFLAGS = @XDMX_CFLAGS@ -XDMX_LIBS = @XDMX_LIBS@ -XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ -XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ -XEPHYR_INCS = @XEPHYR_INCS@ -XEPHYR_LIBS = @XEPHYR_LIBS@ -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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ -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@ -XNEST_SYS_LIBS = @XNEST_SYS_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_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@ -XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_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@ -XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ -XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ -XTSTEXAMPLES_DEP_LIBS = @XTSTEXAMPLES_DEP_LIBS@ -XVFB_LIBS = @XVFB_LIBS@ -XVFB_SYS_LIBS = @XVFB_SYS_LIBS@ -XWINMODULES_CFLAGS = @XWINMODULES_CFLAGS@ -XWINMODULES_LIBS = @XWINMODULES_LIBS@ -XWIN_LIBS = @XWIN_LIBS@ -XWIN_SERVER_NAME = @XWIN_SERVER_NAME@ -XWIN_SYS_LIBS = @XWIN_SYS_LIBS@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -__XCONFIGFILE__ = @__XCONFIGFILE__@ -abi_ansic = @abi_ansic@ -abi_extension = @abi_extension@ -abi_font = @abi_font@ -abi_videodrv = @abi_videodrv@ -abi_xinput = @abi_xinput@ -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@ -launchagentsdir = @launchagentsdir@ -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_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ -INCLUDES = \ - @KDRIVE_INCS@ \ - -I$(top_srcdir)/hw/kdrive/vesa \ - @KDRIVE_CFLAGS@ - -noinst_LIBRARIES = libchips.a -libchips_a_SOURCES = \ - chipsdraw.c \ - chips.c \ - chips.h - -Xchips_SOURCES = \ - chipsstub.c - -CHIPS_LIBS = \ - libchips.a \ - $(top_builddir)/hw/kdrive/vesa/libvesa.a \ - @KDRIVE_LIBS@ - -@GLX_TRUE@Xchips_LDFLAGS = $(LD_EXPORT_SYMBOLS_FLAG) -Xchips_LDADD = \ - $(CHIPS_LIBS) \ - @KDRIVE_LIBS@ - -Xchips_DEPENDENCIES = \ - libchips.a \ - @KDRIVE_LOCAL_LIBS@ - -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/kdrive/chips/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign hw/kdrive/chips/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) -libchips.a: $(libchips_a_OBJECTS) $(libchips_a_DEPENDENCIES) - -rm -f libchips.a - $(libchips_a_AR) libchips.a $(libchips_a_OBJECTS) $(libchips_a_LIBADD) - $(RANLIB) libchips.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) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ - $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --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 -Xchips$(EXEEXT): $(Xchips_OBJECTS) $(Xchips_DEPENDENCIES) - @rm -f Xchips$(EXEEXT) - $(Xchips_LINK) $(Xchips_OBJECTS) $(Xchips_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chips.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chipsdraw.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chipsstub.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; nonemtpy = 1; } \ - END { if (nonempty) { 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; nonempty = 1; } \ - END { if (nonempty) { 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=; \ - 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; nonempty = 1; } \ - END { if (nonempty) { 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) -installdirs: - for dir in "$(DESTDIR)$(bindir)"; 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-dvi: install-dvi-am - -install-exec-am: install-binPROGRAMS - -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-binPROGRAMS - -.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-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-binPROGRAMS - - -relink: - rm -f $(bin_PROGRAMS) && make $(bin_PROGRAMS) -# 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/xorg-server/hw/kdrive/chips/chips.c b/xorg-server/hw/kdrive/chips/chips.c deleted file mode 100644 index b419863eb..000000000 --- a/xorg-server/hw/kdrive/chips/chips.c +++ /dev/null @@ -1,334 +0,0 @@ -/* - * Copyright © 2001 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 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. - */ - -#ifdef HAVE_CONFIG_H -#include -#endif -#include "chips.h" -#include "kaa.h" -#include - -#undef CHIPS_DEBUG - -static Bool -chipsCardInit (KdCardInfo *card) -{ - ChipsCardInfo *chipsc; - - chipsc = (ChipsCardInfo *) xalloc (sizeof (ChipsCardInfo)); - if (!chipsc) - return FALSE; - - iopl (3); - - if (!vesaInitialize (card, &chipsc->vesa)) - { - xfree (chipsc); - return FALSE; - } - -#ifdef USE_PCI - chipsc->window = (CARD32 *) (chipsc->cop_base + 0x10000); -#else - chipsc->window = 0; -#endif - card->driver = chipsc; - - return TRUE; -} - -static Bool -chipsScreenInit (KdScreenInfo *screen) -{ - ChipsScreenInfo *chipss; - int screen_size, memory; - - chipss = (ChipsScreenInfo *) xalloc (sizeof (ChipsScreenInfo)); - if (!chipss) - return FALSE; - memset (chipss, '\0', sizeof (ChipsScreenInfo)); - if (!vesaScreenInitialize (screen, &chipss->vesa)) - { - xfree (chipss); - return FALSE; - } - - if (chipss->vesa.mapping != VESA_LINEAR) - screen->dumb = TRUE; - if (!screen->dumb) - { - chipss->mmio_base = (CARD8 *) KdMapDevice (CHIPS_MMIO_BASE(chipss), - CHIPS_MMIO_SIZE(chipss)); - - if (chipss->mmio_base) - { - KdSetMappedMode (CHIPS_MMIO_BASE(chipss), - CHIPS_MMIO_SIZE(chipss), - KD_MAPPED_MODE_REGISTERS); - } - else - screen->dumb = TRUE; - } - else - chipss->mmio_base = 0; - - chipss->screen = chipss->vesa.fb; - memory = chipss->vesa.fb_size; - - screen_size = screen->fb[0].byteStride * screen->height; - - if (chipss->screen && memory >= screen_size + 2048) - { - memory -= 2048; - chipss->cursor_base = chipss->screen + memory - 2048; - } - else - chipss->cursor_base = 0; - memory -= screen_size; - if (memory > screen->fb[0].byteStride) - { - chipss->off_screen = chipss->screen + screen_size; - chipss->off_screen_size = memory; - } - else - { - chipss->off_screen = 0; - chipss->off_screen_size = 0; - } - screen->driver = chipss; - return TRUE; -} - -static Bool -chipsInitScreen (ScreenPtr pScreen) -{ - return vesaInitScreen (pScreen); -} - -#ifdef RANDR -static Bool -chipsRandRSetConfig (ScreenPtr pScreen, - Rotation rotation, - int rate, - RRScreenSizePtr pSize) -{ - kaaWaitSync (pScreen); - - if (!vesaRandRSetConfig (pScreen, rotation, rate, pSize)) - return FALSE; - - return TRUE; -} - -static void -chipsRandRInit (ScreenPtr pScreen) -{ - rrScrPriv(pScreen); - - pScrPriv->rrSetConfig = chipsRandRSetConfig; -} -#endif - -static Bool -chipsFinishInitScreen (ScreenPtr pScreen) -{ - Bool ret; - ret = vesaFinishInitScreen (pScreen); -#ifdef RANDR - chipsRandRInit (pScreen); -#endif - return ret; -} - -static Bool -chipsCreateResources (ScreenPtr pScreen) -{ - return vesaCreateResources (pScreen); -} - -CARD8 -chipsReadXR (ChipsScreenInfo *chipss, CARD8 index) -{ - CARD8 value; - outb (index, 0x3d6); - value = inb (0x3d7); - return value; -} - -void -chipsWriteXR (ChipsScreenInfo *chipss, CARD8 index, CARD8 value) -{ - outb (index, 0x3d6); - outb (value, 0x3d7); -} - -#if 0 -static CARD8 -chipsReadFR (ChipsScreenInfo *chipss, CARD8 index) -{ - CARD8 value; - outb (index, 0x3d0); - value = inb (0x3d1); - return value; -} - -static void -chipsWriteFR (ChipsScreenInfo *chipss, CARD8 index, CARD8 value) -{ - outb (index, 0x3d0); - outb (value, 0x3d1); -} - -static CARD8 -chipsReadSeq (ChipsScreenInfo *chipss, CARD8 index) -{ - CARD8 value; - outb (index, 0x3c4); - value = inb (0x3c5); - return value; -} - -static void -chipsWriteSeq (ChipsScreenInfo *chipss, CARD8 index, CARD8 value) -{ - outb (index, 0x3c4); - outb (value, 0x3c5); -} -#endif - -static void -chipsPreserve (KdCardInfo *card) -{ - vesaPreserve(card); -} - -static void -chipsSetMMIO (ChipsCardInfo *chipsc) -{ -} - -static void -chipsResetMMIO (ChipsCardInfo *chipsc) -{ -} - -static Bool -chipsEnable (ScreenPtr pScreen) -{ - KdScreenPriv(pScreen); - ChipsCardInfo *chipsc = pScreenPriv->card->driver; - - if (!vesaEnable (pScreen)) - return FALSE; - chipsSetMMIO (chipsc); - return TRUE; -} - -#if 0 -static Bool -chipsDPMS (ScreenPtr pScreen, int mode) -{ - KdScreenPriv(pScreen); - chipsScreenInfo(pScreenPriv); - - ErrorF ("seqreg 0x01 0x%x\n", chipsReadSeq (chipss, 0x1)); - ErrorF ("dpmsreg XR61 0x%x\n", chipsReadXR (chipss, 0x61)); - ErrorF ("dpmsreg XR73 0x%x\n", chipsReadXR (chipss, 0x73)); - - ErrorF ("flat panel FR05 0x%x\n", chipsReadFR (chipss, 0x5)); - ErrorF ("flat panel XR52 0x%x\n", chipsReadXR (chipss, 0x52)); - return TRUE; -} -#endif - -static void -chipsDisable (ScreenPtr pScreen) -{ - vesaDisable (pScreen); -} - -static void -chipsRestore (KdCardInfo *card) -{ - ChipsCardInfo *chipsc = card->driver; - - chipsResetMMIO (chipsc); - vesaRestore (card); -} - -static void -chipsScreenFini (KdScreenInfo *screen) -{ - ChipsScreenInfo *chipss = (ChipsScreenInfo *) screen->driver; - - if (chipss->mmio_base) - { - KdUnmapDevice ((void *) chipss->mmio_base, CHIPS_MMIO_SIZE(chipss)); - KdResetMappedMode (CHIPS_MMIO_BASE(chipss), - CHIPS_MMIO_SIZE(chipss), - KD_MAPPED_MODE_REGISTERS); - } - vesaScreenFini (screen); - xfree (chipss); - screen->driver = 0; -} - -static void -chipsCardFini (KdCardInfo *card) -{ - vesaCardFini (card); -} - -#define chipsCursorInit (void *) 0 -#define chipsCursorEnable (void *) 0 -#define chipsCursorDisable (void *) 0 -#define chipsCursorFini (void *) 0 -#define chipsRecolorCursor (void *) 0 - -KdCardFuncs chipsFuncs = { - chipsCardInit, /* cardinit */ - chipsScreenInit, /* scrinit */ - chipsInitScreen, /* initScreen */ - chipsFinishInitScreen, /* finishInitScreen */ - chipsCreateResources, /* createRes */ - chipsPreserve, /* preserve */ - chipsEnable, /* enable */ - vesaDPMS, /* dpms */ - chipsDisable, /* disable */ - chipsRestore, /* restore */ - chipsScreenFini, /* scrfini */ - chipsCardFini, /* cardfini */ - - chipsCursorInit, /* initCursor */ - chipsCursorEnable, /* enableCursor */ - chipsCursorDisable, /* disableCursor */ - chipsCursorFini, /* finiCursor */ - chipsRecolorCursor, /* recolorCursor */ - - chipsDrawInit, /* initAccel */ - chipsDrawEnable, /* enableAccel */ - chipsDrawDisable, /* disableAccel */ - chipsDrawFini, /* finiAccel */ - - vesaGetColors, /* getColors */ - vesaPutColors, /* putColors */ -}; diff --git a/xorg-server/hw/kdrive/chips/chips.h b/xorg-server/hw/kdrive/chips/chips.h deleted file mode 100644 index 6ad17fe25..000000000 --- a/xorg-server/hw/kdrive/chips/chips.h +++ /dev/null @@ -1,117 +0,0 @@ -/* - * Copyright © 1999 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 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. - */ - -#ifndef _CHIPS_H_ -#define _CHIPS_H_ -#include - -/* - * offset from ioport beginning - */ - -#define HIQV -#ifdef HIQV -#define CHIPS_MMIO_BASE(c) ((c)->vesa.fb_phys + 0x400000) -#else -#define CHIPS_MMIO_BASE(c) ((c)->vesa.fb_phys + 0x200000) -#endif -#define CHIPS_MMIO_SIZE(c) (0x20000) - -typedef volatile CARD8 VOL8; -typedef volatile CARD16 VOL16; -typedef volatile CARD32 VOL32; - -typedef struct _chipsSave { - int dummy; -} ChipsSave; - -typedef struct _chipsCardInfo { - VesaCardPrivRec vesa; - CARD32 *window; - Bool mmio; - ChipsSave save; -} ChipsCardInfo; - -#define getChipsCardInfo(kd) ((ChipsCardInfo *) ((kd)->card->driver)) -#define chipsCardInfo(kd) ChipsCardInfo *chipsc = getChipsCardInfo(kd) - -typedef struct _chipsCursor { - int width, height; - int xhot, yhot; - Bool has_cursor; - CursorPtr pCursor; - Pixel source, mask; -} ChipsCursor; - -#define CHIPS_CURSOR_WIDTH 64 -#define CHIPS_CURSOR_HEIGHT 64 - -typedef struct _chipsScreenInfo { - VesaScreenPrivRec vesa; - CARD8 *mmio_base; - CARD8 *cursor_base; - CARD8 *screen; - CARD8 *off_screen; - int off_screen_size; - ChipsCursor cursor; - KaaScreenInfoRec kaa; -} ChipsScreenInfo; - -#define getChipsScreenInfo(kd) ((ChipsScreenInfo *) ((kd)->screen->driver)) -#define chipsScreenInfo(kd) ChipsScreenInfo *chipss = getChipsScreenInfo(kd) - -Bool -chipsDrawInit (ScreenPtr pScreen); - -void -chipsDrawEnable (ScreenPtr pScreen); - -void -chipsDrawDisable (ScreenPtr pScreen); - -void -chipsDrawFini (ScreenPtr pScreen); - -CARD8 -chipsReadXR (ChipsScreenInfo *chipsc, CARD8 index); - -void -chipsWriteXR (ChipsScreenInfo *chipsc, CARD8 index, CARD8 value); - -Bool -chipsCursorInit (ScreenPtr pScreen); - -void -chipsCursorEnable (ScreenPtr pScreen); - -void -chipsCursorDisable (ScreenPtr pScreen); - -void -chipsCursorFini (ScreenPtr pScreen); - -void -chipsRecolorCursor (ScreenPtr pScreen, int ndef, xColorItem *pdef); - -extern KdCardFuncs chipsFuncs; - -#endif /* _CHIPS_H_ */ diff --git a/xorg-server/hw/kdrive/chips/chipsdraw.c b/xorg-server/hw/kdrive/chips/chipsdraw.c deleted file mode 100644 index b1c35f901..000000000 --- a/xorg-server/hw/kdrive/chips/chipsdraw.c +++ /dev/null @@ -1,491 +0,0 @@ -/* - * Copyright © 1999 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 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. - */ - -#ifdef HAVE_CONFIG_H -#include -#endif -#include "chips.h" - -#include -#include "gcstruct.h" -#include "scrnintstr.h" -#include "pixmapstr.h" -#include "regionstr.h" -#include "mistruct.h" -#include "dixfontstr.h" -#include "fb.h" -#include "migc.h" -#include "miline.h" -#include "kaa.h" - -CARD8 chipsBltRop[16] = { - /* GXclear */ 0x00, /* 0 */ - /* GXand */ 0x88, /* src AND dst */ - /* GXandReverse */ 0x44, /* src AND NOT dst */ - /* GXcopy */ 0xcc, /* src */ - /* GXandInverted*/ 0x22, /* NOT src AND dst */ - /* GXnoop */ 0xaa, /* dst */ - /* GXxor */ 0x66, /* src XOR dst */ - /* GXor */ 0xee, /* src OR dst */ - /* GXnor */ 0x11, /* NOT src AND NOT dst */ - /* GXequiv */ 0x99, /* NOT src XOR dst */ - /* GXinvert */ 0x55, /* NOT dst */ - /* GXorReverse */ 0xdd, /* src OR NOT dst */ - /* GXcopyInverted*/ 0x33, /* NOT src */ - /* GXorInverted */ 0xbb, /* NOT src OR dst */ - /* GXnand */ 0x77, /* NOT src OR NOT dst */ - /* GXset */ 0xff, /* 1 */ -}; - -CARD8 chipsSolidRop[16] = { - /* GXclear */ 0x00, /* 0 */ - /* GXand */ 0xa0, /* src AND dst */ - /* GXandReverse */ 0x50, /* src AND NOT dst */ - /* GXcopy */ 0xf0, /* src */ - /* GXandInverted*/ 0x0a, /* NOT src AND dst */ - /* GXnoop */ 0xaa, /* dst */ - /* GXxor */ 0x5a, /* src XOR dst */ - /* GXor */ 0xfa, /* src OR dst */ - /* GXnor */ 0x05, /* NOT src AND NOT dst */ - /* GXequiv */ 0xa5, /* NOT src XOR dst */ - /* GXinvert */ 0x55, /* NOT dst */ - /* GXorReverse */ 0xf5, /* src OR NOT dst */ - /* GXcopyInverted*/ 0x0f, /* NOT src */ - /* GXorInverted */ 0xaf, /* NOT src OR dst */ - /* GXnand */ 0x5f, /* NOT src OR NOT dst */ - /* GXset */ 0xff, /* 1 */ -}; - -/* Definitions for the Chips and Technology BitBLT engine communication. */ -/* These are done using Memory Mapped IO, of the registers */ -/* BitBLT modes for register 93D0. */ - -#ifdef HIQV -#define ctPATCOPY 0xF0 -#define ctLEFT2RIGHT 0x000 -#define ctRIGHT2LEFT 0x100 -#define ctTOP2BOTTOM 0x000 -#define ctBOTTOM2TOP 0x200 -#define ctSRCSYSTEM 0x400 -#define ctDSTSYSTEM 0x800 -#define ctSRCMONO 0x1000 -#define ctBGTRANSPARENT 0x22000 -#define ctCOLORTRANSENABLE 0x4000 -#define ctCOLORTRANSDISABLE 0x0 -#define ctCOLORTRANSDST 0x8000 -#define ctCOLORTRANSROP 0x0 -#define ctCOLORTRANSEQUAL 0x10000L -#define ctCOLORTRANSNEQUAL 0x0 -#define ctPATMONO 0x40000L -#define ctPATSOLID 0x80000L -#define ctPATSTART0 0x000000L -#define ctPATSTART1 0x100000L -#define ctPATSTART2 0x200000L -#define ctPATSTART3 0x300000L -#define ctPATSTART4 0x400000L -#define ctPATSTART5 0x500000L -#define ctPATSTART6 0x600000L -#define ctPATSTART7 0x700000L -#define ctSRCFG 0x000000L /* Where is this for the 65550?? */ -#else -#define ctPATCOPY 0xF0 -#define ctTOP2BOTTOM 0x100 -#define ctBOTTOM2TOP 0x000 -#define ctLEFT2RIGHT 0x200 -#define ctRIGHT2LEFT 0x000 -#define ctSRCFG 0x400 -#define ctSRCMONO 0x800 -#define ctPATMONO 0x1000 -#define ctBGTRANSPARENT 0x2000 -#define ctSRCSYSTEM 0x4000 -#define ctPATSOLID 0x80000L -#define ctPATSTART0 0x00000L -#define ctPATSTART1 0x10000L -#define ctPATSTART2 0x20000L -#define ctPATSTART3 0x30000L -#define ctPATSTART4 0x40000L -#define ctPATSTART5 0x50000L -#define ctPATSTART6 0x60000L -#define ctPATSTART7 0x70000L -#endif - -#define chipsFillPix(bpp,pixel) {\ - if (bpp == 8) \ - { \ - pixel = pixel & 0xff; \ - } \ - else if (bpp == 16) \ - { \ - pixel = pixel & 0xffff; \ - } \ -} - -static VOL8 *mmio; -static CARD32 byteStride; -static CARD32 bytesPerPixel; -static CARD32 pixelStride; - -static void -chipsSet (ScreenPtr pScreen) -{ - KdScreenPriv(pScreen); - chipsScreenInfo(pScreenPriv); - - mmio = chipss->mmio_base; - byteStride = pScreenPriv->screen->fb[0].byteStride; - bytesPerPixel = pScreenPriv->screen->fb[0].bitsPerPixel >> 3; - pixelStride = pScreenPriv->screen->fb[0].pixelStride; -} - -#ifdef HIQV -#define CHIPS_BR0 0x00 /* offset */ -#define CHIPS_BR1 0x04 /* bg */ -#define CHIPS_BR2 0x08 /* fg */ -#define CHIPS_BR3 0x0c /* monochrome */ -#define CHIPS_BR4 0x10 /* bitblt */ -#define CHIPS_BR5 0x14 /* pattern addr */ -#define CHIPS_BR6 0x18 /* source addr */ -#define CHIPS_BR7 0x1c /* dst addr */ -#define CHIPS_BR8 0x20 /* dst w/h */ -#else -#define CHIPS_DR0 0x83d0 -#define CHIPS_DR1 0x87d0 -#define CHIPS_DR2 0x8bd0 -#define CHIPS_DR3 0x8fd0 -#define CHIPS_DR4 0x93d0 -#define CHIPS_DR5 0x97d0 -#define CHIPS_DR6 0x9bd0 -#define CHIPS_DR7 0x9fd0 -#endif - -#define DBG(x) - -static void -chipsPitch (int src, int dst) -{ - CARD32 p; - - p = ((dst & 0xffff) << 16) | (src & 0xffff); - DBG(ErrorF ("\tpitch 0x%x\n", p)); -#ifdef HIQV - *(VOL32 *) (mmio + CHIPS_BR0) = p; -#else - *(VOL32 *) (mmio + CHIPS_DR0) = p; -#endif -} - -static void -chipsBg (Pixel bg) -{ - DBG(ErrorF ("\tbg 0x%x\n", bg)); -#ifdef HIQV - *(VOL32 *) (mmio + CHIPS_BR1) = bg & 0xffff; -#else - *(VOL32 *) (mmio + CHIPS_DR2) = bg; -#endif -} - -static void -chipsFg (Pixel fg) -{ - DBG(ErrorF ("\tfg 0x%x\n", fg)); -#ifdef HIQV - *(VOL32 *) (mmio + CHIPS_BR2) = fg; -#else - *(VOL32 *) (mmio + CHIPS_DR3) = fg; -#endif -} - -static void -chipsOp (CARD32 op) -{ - DBG(ErrorF ("\top 0x%x\n", op)); -#ifdef HIQV - *(VOL32 *) (mmio + CHIPS_BR4) = op; -#else - *(VOL32 *) (mmio + CHIPS_DR4) = op; -#endif -} - -static void -chipsRopSolid (int rop) -{ - CARD32 op; - - op = chipsSolidRop[rop] | ctTOP2BOTTOM | ctLEFT2RIGHT | ctPATSOLID | ctPATMONO; - chipsOp (op); -} - -static void -chipsSrc (int addr) -{ - DBG(ErrorF ("\tsrc 0x%x\n", addr)); -#ifdef HIQV - *(VOL32 *) (mmio + CHIPS_BR6) = addr; -#else - *(VOL32 *) (mmio + CHIPS_DR5) = addr; -#endif -} - -static void -chipsDst (int addr) -{ - DBG(ErrorF ("\tdst 0x%x\n", addr)); -#ifdef HIQV - *(VOL32 *) (mmio + CHIPS_BR7) = addr; -#else - *(VOL32 *) (mmio + CHIPS_DR6) = addr; -#endif -} - -static void -chipsWidthHeightGo (int w, int h) -{ - DBG(ErrorF ("\twidth height %d/%d\n", w, h)); -#ifdef HIQV - *(VOL32 *) (mmio + CHIPS_BR8) = ((h & 0xffff) << 16) | (w & 0xffff); -#else - *(VOL32 *) (mmio + CHIPS_DR7) = ((h & 0xffff) << 16) | (w & 0xffff); -#endif -} - -static void -chipsWaitIdle (void) -{ -#ifdef HIQV - int timeout = 0; - CARD8 tmp; - VOL32 *br4 = (VOL32 *) (mmio + CHIPS_BR4); - - DBG(ErrorF ("\tBR4 0x%x 0x%x\n", mmio + CHIPS_BR4, *br4)); - DBG(ErrorF ("\tXR20 0x%x\n", chipsReadXR (0, 0x20))); - for (;;) - { - if ((*br4 & 0x80000000) == 0) - break; - tmp = chipsReadXR (0, 0x20); - if ((tmp & 1) == 0) - break; - if (++timeout > 1000000) - { - ErrorF ("timeout\n"); - tmp = chipsReadXR (0, 0x20); - chipsWriteXR (0, 0x20, tmp | 2); - sleep (1); - chipsWriteXR (0, 0x20, tmp); - sleep (1); - } - } -#else - while (*(VOL32 *) (mmio + CHIPS_DR4) & 0x00100000) - ; -#endif -} - -static void -chipsWaitMarker (ScreenPtr pScreen, int marker) -{ - chipsSet (pScreen); - chipsWaitIdle (); -} - -static Bool -chipsPrepareSolid (PixmapPtr pPixmap, - int alu, - Pixel pm, - Pixel fg) -{ - FbBits depthMask; - - DBG(ErrorF ("PrepareSolid %d 0x%x\n", alu, fg)); - depthMask = FbFullMask(pPixmap->drawable.depth); - if ((pm & depthMask) != depthMask) - return FALSE; - else - { - chipsSet (pPixmap->drawable.pScreen); - chipsWaitIdle (); - chipsFillPix(pPixmap->drawable.bitsPerPixel,fg); - chipsFg (fg); - chipsBg (fg); - chipsRopSolid (alu); - chipsPitch (byteStride, byteStride); - return TRUE; - } -} - -static void -chipsSolid (int x1, int y1, int x2, int y2) -{ - CARD32 dst; - int w, h; - - DBG(ErrorF (" Solid %dx%d %dx%d\n", x1, y1, x2, y2)); - dst = y1 * byteStride + x1 * bytesPerPixel; - w = (x2 - x1) * bytesPerPixel; - h = (y2 - y1); - chipsWaitIdle (); - chipsDst (dst); - chipsWidthHeightGo (w, h); -} - -static void -chipsDoneSolid (void) -{ -} - -static CARD32 copyOp; - -static Bool -chipsPrepareCopy (PixmapPtr pSrcPixmap, - PixmapPtr pDstPixmap, - int dx, - int dy, - int alu, - Pixel pm) -{ - FbBits depthMask; - - DBG(ErrorF ("PrepareSolid %d 0x%x\n", alu, fg)); - depthMask = FbFullMask(pDstPixmap->drawable.depth); - if ((pm & depthMask) != depthMask) - return FALSE; - else - { - copyOp = chipsBltRop[alu]; - if (dy >= 0) - copyOp |= ctTOP2BOTTOM; - else - copyOp |= ctBOTTOM2TOP; - if (dx >= 0) - copyOp |= ctLEFT2RIGHT; - else - copyOp |= ctRIGHT2LEFT; - chipsSet (pDstPixmap->drawable.pScreen); - chipsWaitIdle (); - chipsOp (copyOp); - chipsPitch (byteStride, byteStride); - return TRUE; - } -} - -static void -chipsCopy (int srcX, - int srcY, - int dstX, - int dstY, - int w, - int h) -{ - int src, dst; - if ((copyOp & (ctTOP2BOTTOM|ctBOTTOM2TOP)) == ctBOTTOM2TOP) - { - src = (srcY + h - 1) * byteStride; - dst = (dstY + h - 1) * byteStride; - } - else - { - src = srcY * byteStride; - dst = dstY * byteStride; - } - if ((copyOp & (ctLEFT2RIGHT|ctRIGHT2LEFT)) == ctRIGHT2LEFT) - { - src = src + (srcX + w) * bytesPerPixel - 1; - dst = dst + (dstX + w) * bytesPerPixel - 1; - } - else - { - src = src + srcX * bytesPerPixel; - dst = dst + dstX * bytesPerPixel; - } - chipsWaitIdle (); - chipsSrc (src); - chipsDst (dst); - chipsWidthHeightGo (w * bytesPerPixel, h); -} - -static void -chipsDoneCopy (void) -{ -} - -Bool -chipsDrawInit (ScreenPtr pScreen) -{ - KdScreenPriv(pScreen); - chipsScreenInfo(pScreenPriv); - - switch (pScreenPriv->screen->fb[0].bitsPerPixel) { - case 8: - case 16: - break; - default: - return FALSE; - } - - memset(&chipss->kaa, 0, sizeof(KaaScreenInfoRec)); - chipss->kaa.waitMarker = chipsWaitMarker; - chipss->kaa.PrepareSolid = chipsPrepareSolid; - chipss->kaa.Solid = chipsSolid; - chipss->kaa.DoneSolid = chipsDoneSolid; - chipss->kaa.PrepareCopy = chipsPrepareCopy; - chipss->kaa.Copy = chipsCopy; - chipss->kaa.DoneCopy = chipsDoneCopy; - - if (!kaaDrawInit (pScreen, &chipss->kaa)) - return FALSE; - - return TRUE; -} - -void -chipsDrawEnable (ScreenPtr pScreen) -{ - KdScreenPriv(pScreen); - chipsScreenInfo(pScreenPriv); - CARD8 mode = 0x00; - - switch (pScreenPriv->screen->fb[0].bitsPerPixel) { - case 8: - mode = 0x00; - break; - case 16: - mode = 0x10; - break; - } - chipsSet (pScreen); - chipsWaitIdle (); - chipsWriteXR (chipss, 0x20, mode); - - kaaMarkSync (pScreen); -} - -void -chipsDrawDisable (ScreenPtr pScreen) -{ -} - -void -chipsDrawFini (ScreenPtr pScreen) -{ -} - diff --git a/xorg-server/hw/kdrive/chips/chipsstub.c b/xorg-server/hw/kdrive/chips/chipsstub.c deleted file mode 100644 index 9024a7d44..000000000 --- a/xorg-server/hw/kdrive/chips/chipsstub.c +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Copyright 1999 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. - * - * Author: Keith Packard, SuSE, Inc. - */ - -#ifdef HAVE_CONFIG_H -#include -#endif -#include "chips.h" - -extern int chips_clk, chips_mclk; - -void -InitCard (char *name) -{ - KdCardAttr attr; - - KdCardInfoAdd (&chipsFuncs, &attr, 0); -} - -void -InitOutput (ScreenInfo *pScreenInfo, int argc, char **argv) -{ - KdInitOutput (pScreenInfo, argc, argv); -} - -void -InitInput (int argc, char **argv) -{ - KdOsAddInputDrivers (); - KdInitInput (); -} - -void -ddxUseMsg (void) -{ - KdUseMsg(); - vesaUseMsg(); -} - -int -ddxProcessArgument (int argc, char **argv, int i) -{ - int ret; - - if (!(ret = vesaProcessArgument (argc, argv, i))) - ret = KdProcessArgument(argc, argv, i); - return ret; -} diff --git a/xorg-server/hw/kdrive/ephyr/Makefile.am b/xorg-server/hw/kdrive/ephyr/Makefile.am index 7a56d34a8..9380e4d0a 100644 --- a/xorg-server/hw/kdrive/ephyr/Makefile.am +++ b/xorg-server/hw/kdrive/ephyr/Makefile.am @@ -1,86 +1,79 @@ -INCLUDES = \ - @KDRIVE_INCS@ \ - @KDRIVE_CFLAGS@ \ - -I$(srcdir)/../../../exa +INCLUDES = \ + @KDRIVE_INCS@ \ + @KDRIVE_CFLAGS@ \ + @XEPHYR_INCS@ \ + @XEPHYR_CFLAGS@ \ + @DRIPROTO_CFLAGS@ \ + -I$(top_srcdir) \ + -I$(top_srcdir)/exa if XV - LIBXEPHYR_HOSTXV=libxephyr-hostxv.a -else - LIBXEPHYR_HOSTXV= +LIBXEPHYR_HOSTXV=libxephyr-hostxv.a endif -if XEPHYR_HAS_DRI - LIBXEPHYR_HOSTDRI=libxephyr-hostdri.a -else - LIBXEPHYR_HOSTDRI= +if DRI +LIBXEPHYR_HOSTDRI=libxephyr-hostdri.a endif noinst_LIBRARIES = libxephyr-hostx.a $(LIBXEPHYR_HOSTXV) $(LIBXEPHYR_HOSTDRI) libxephyr.a bin_PROGRAMS = Xephyr -libxephyr_hostx_a_SOURCES = \ - hostx.c \ +HOSTX_SRCS = \ + hostx.c \ hostx.h -libxephyr_hostxv_a_INCLUDES = @XEPHYR_INCS@ - -if XV -libxephyr_hostxv_a_SOURCES= \ - ephyrhostvideo.c \ +HOSTVIDEO_SRCS = \ + ephyrvideo.c \ + ephyrhostvideo.c \ ephyrhostvideo.h -endif - -if XEPHYR_HAS_DRI -libxephyr_hostdri_a_SOURCES= \ -ephyrdriext.c \ -ephyrdriext.h \ -ephyrdri.c \ -ephyrdri.h \ -XF86dri.c \ -ephyrglxext.c \ -ephyrglxext.h \ -ephyrhostglx.c \ -ephyrhostglx.h - -libxephyr_hostdri_a_CFLAGS= \ --I$(top_srcdir) \ -@LIBDRM_CFLAGS@ \ -@DRIPROTO_CFLAGS@ +HOSTDRI_SRCS = \ + ephyrdriext.c \ + ephyrdriext.h \ + ephyrdri.c \ + ephyrdri.h \ + XF86dri.c \ + xf86dri.h \ + ephyrglxext.c \ + ephyrglxext.h \ + ephyrhostglx.c \ + ephyrhostglx.h + +XEPHYR_SRCS = \ + ephyr.c \ + ephyr.h \ + ephyrlog.h \ + ephyr_draw.c \ + os.c + +libxephyr_hostx_a_SOURCES = $(HOSTX_SRCS) +if XV +libxephyr_hostxv_a_SOURCES = $(HOSTVIDEO_SRCS) endif -libxephyr_a_SOURCES = \ - ephyr.c \ - ephyr_draw.c \ - ephyrvideo.c \ - os.c \ - hostx.h \ - ephyr.h \ - ephyrlog.h +if DRI +libxephyr_hostdri_a_SOURCES = $(HOSTDRI_SRCS) +endif -libxephyr_a_CFLAGS = \ --I$(top_srcdir) \ -@LIBDRM_CFLAGS@ +libxephyr_a_SOURCES = $(XEPHYR_SRCS) Xephyr_SOURCES = \ ephyrinit.c Xephyr_LDADD = \ libxephyr.a \ - libxephyr-hostx.a \ + libxephyr-hostx.a \ $(LIBXEPHYR_HOSTXV) \ $(LIBXEPHYR_HOSTDRI) \ - ../../../exa/libexa.la \ + $(top_builddir)/exa/libexa.la \ @KDRIVE_LIBS@ \ - @XEPHYR_LIBS@ \ - @LIBDRM_LIBS@ \ - @XEPHYR_DRI_LIBS@ + @XEPHYR_LIBS@ Xephyr_DEPENDENCIES = \ libxephyr.a \ - libxephyr-hostx.a \ + libxephyr-hostx.a \ $(LIBXEPHYR_HOSTXV) \ $(LIBXEPHYR_HOSTDRI) \ @KDRIVE_LOCAL_LIBS@ @@ -89,3 +82,21 @@ Xephyr_LDFLAGS = $(LD_EXPORT_SYMBOLS_FLAG) relink: rm -f $(bin_PROGRAMS) && make $(bin_PROGRAMS) + +MAN_SRCS = Xephyr.man.pre + +appmandir = $(APP_MAN_DIR) +appman_DATA = Xephyr.$(APP_MAN_SUFFIX) + +Xephyr.$(APP_MAN_SUFFIX): Xephyr.man + -rm -f Xephyr.$(APP_MAN_SUFFIX) + $(LN_S) Xephyr.man Xephyr.$(APP_MAN_SUFFIX) + +include $(top_srcdir)/cpprules.in + +CLEANFILES = $(appman_DATA) Xephyr.man + +EXTRA_DIST = \ + $(HOSTVIDEO_SRCS) \ + $(HOSTDRI_SRCS) \ + $(MAN_SRCS) diff --git a/xorg-server/hw/kdrive/ephyr/Makefile.in b/xorg-server/hw/kdrive/ephyr/Makefile.in index 67efca081..a996d19e6 100644 --- a/xorg-server/hw/kdrive/ephyr/Makefile.in +++ b/xorg-server/hw/kdrive/ephyr/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -14,6 +14,11 @@ @SET_MAKE@ +# -*- Makefile -*- +# Rules for generating files using the C pre-processor +# (Replaces CppFileTarget from Imake) + + VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ @@ -34,8 +39,9 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ bin_PROGRAMS = Xephyr$(EXEEXT) +DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ + $(top_srcdir)/cpprules.in subdir = hw/kdrive/ephyr -DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ $(top_srcdir)/configure.ac @@ -45,7 +51,6 @@ 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 \ @@ -56,37 +61,34 @@ ARFLAGS = cru libxephyr_hostdri_a_AR = $(AR) $(ARFLAGS) libxephyr_hostdri_a_LIBADD = am__libxephyr_hostdri_a_SOURCES_DIST = ephyrdriext.c ephyrdriext.h \ - ephyrdri.c ephyrdri.h XF86dri.c ephyrglxext.c ephyrglxext.h \ - ephyrhostglx.c ephyrhostglx.h -@XEPHYR_HAS_DRI_TRUE@am_libxephyr_hostdri_a_OBJECTS = libxephyr_hostdri_a-ephyrdriext.$(OBJEXT) \ -@XEPHYR_HAS_DRI_TRUE@ libxephyr_hostdri_a-ephyrdri.$(OBJEXT) \ -@XEPHYR_HAS_DRI_TRUE@ libxephyr_hostdri_a-XF86dri.$(OBJEXT) \ -@XEPHYR_HAS_DRI_TRUE@ libxephyr_hostdri_a-ephyrglxext.$(OBJEXT) \ -@XEPHYR_HAS_DRI_TRUE@ libxephyr_hostdri_a-ephyrhostglx.$(OBJEXT) + ephyrdri.c ephyrdri.h XF86dri.c xf86dri.h ephyrglxext.c \ + ephyrglxext.h ephyrhostglx.c ephyrhostglx.h +am__objects_1 = ephyrdriext.$(OBJEXT) ephyrdri.$(OBJEXT) \ + XF86dri.$(OBJEXT) ephyrglxext.$(OBJEXT) ephyrhostglx.$(OBJEXT) +@DRI_TRUE@am_libxephyr_hostdri_a_OBJECTS = $(am__objects_1) libxephyr_hostdri_a_OBJECTS = $(am_libxephyr_hostdri_a_OBJECTS) libxephyr_hostx_a_AR = $(AR) $(ARFLAGS) libxephyr_hostx_a_LIBADD = -am_libxephyr_hostx_a_OBJECTS = hostx.$(OBJEXT) +am__objects_2 = hostx.$(OBJEXT) +am_libxephyr_hostx_a_OBJECTS = $(am__objects_2) libxephyr_hostx_a_OBJECTS = $(am_libxephyr_hostx_a_OBJECTS) libxephyr_hostxv_a_AR = $(AR) $(ARFLAGS) libxephyr_hostxv_a_LIBADD = -am__libxephyr_hostxv_a_SOURCES_DIST = ephyrhostvideo.c \ +am__libxephyr_hostxv_a_SOURCES_DIST = ephyrvideo.c ephyrhostvideo.c \ ephyrhostvideo.h -@XV_TRUE@am_libxephyr_hostxv_a_OBJECTS = ephyrhostvideo.$(OBJEXT) +am__objects_3 = ephyrvideo.$(OBJEXT) ephyrhostvideo.$(OBJEXT) +@XV_TRUE@am_libxephyr_hostxv_a_OBJECTS = $(am__objects_3) libxephyr_hostxv_a_OBJECTS = $(am_libxephyr_hostxv_a_OBJECTS) libxephyr_a_AR = $(AR) $(ARFLAGS) libxephyr_a_LIBADD = -am_libxephyr_a_OBJECTS = libxephyr_a-ephyr.$(OBJEXT) \ - libxephyr_a-ephyr_draw.$(OBJEXT) \ - libxephyr_a-ephyrvideo.$(OBJEXT) libxephyr_a-os.$(OBJEXT) +am__objects_4 = ephyr.$(OBJEXT) ephyr_draw.$(OBJEXT) os.$(OBJEXT) +am_libxephyr_a_OBJECTS = $(am__objects_4) libxephyr_a_OBJECTS = $(am_libxephyr_a_OBJECTS) -am__installdirs = "$(DESTDIR)$(bindir)" +am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(appmandir)" binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) PROGRAMS = $(bin_PROGRAMS) am_Xephyr_OBJECTS = ephyrinit.$(OBJEXT) Xephyr_OBJECTS = $(am_Xephyr_OBJECTS) -@XV_TRUE@am__DEPENDENCIES_1 = libxephyr-hostxv.a -@XEPHYR_HAS_DRI_TRUE@am__DEPENDENCIES_2 = libxephyr-hostdri.a Xephyr_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(Xephyr_LDFLAGS) \ $(LDFLAGS) -o $@ @@ -95,9 +97,6 @@ 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) \ @@ -109,6 +108,14 @@ DIST_SOURCES = $(am__libxephyr_hostdri_a_SOURCES_DIST) \ $(libxephyr_hostx_a_SOURCES) \ $(am__libxephyr_hostxv_a_SOURCES_DIST) $(libxephyr_a_SOURCES) \ $(Xephyr_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|^.*/||'`; +appmanDATA_INSTALL = $(INSTALL_DATA) +DATA = $(appman_DATA) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) @@ -117,8 +124,9 @@ ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ -APPDEFAULTDIR = @APPDEFAULTDIR@ APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +APPLE_APPLICATION_ID = @APPLE_APPLICATION_ID@ +APPLE_APPLICATION_NAME = @APPLE_APPLICATION_NAME@ APP_MAN_DIR = @APP_MAN_DIR@ APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ AR = @AR@ @@ -139,10 +147,6 @@ 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@ @@ -164,6 +168,7 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOLT_BASH = @DOLT_BASH@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ @@ -173,18 +178,15 @@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ DSYMUTIL = @DSYMUTIL@ DTRACE = @DTRACE@ -ECHO = @ECHO@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ -FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ -FREETYPE_LIBS = @FREETYPE_LIBS@ GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ GLX_DEFINES = @GLX_DEFINES@ GL_CFLAGS = @GL_CFLAGS@ @@ -203,7 +205,7 @@ KDRIVE_LIBS = @KDRIVE_LIBS@ KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ -LAUNCHD = @LAUNCHD@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ LEX = @LEX@ @@ -217,7 +219,10 @@ LIBTOOL = @LIBTOOL@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LINUXDOC = @LINUXDOC@ +LIPO = @LIPO@ LN_S = @LN_S@ +LTCOMPILE = @LTCOMPILE@ +LTCXXCOMPILE = @LTCXXCOMPILE@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ @@ -229,8 +234,7 @@ MESA_SOURCE = @MESA_SOURCE@ MISC_MAN_DIR = @MISC_MAN_DIR@ MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ MKDIR_P = @MKDIR_P@ -MKFONTDIR = @MKFONTDIR@ -MKFONTSCALE = @MKFONTSCALE@ +NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCCLD = @OBJCCLD@ @@ -239,8 +243,8 @@ OBJCFLAGS = @OBJCFLAGS@ OBJCLINK = @OBJCLINK@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ @@ -258,7 +262,7 @@ PS2PDF = @PS2PDF@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ -SED = @SED@ +SED = sed SERVER_MISC_CONFIG_PATH = @SERVER_MISC_CONFIG_PATH@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ @@ -273,7 +277,6 @@ VENDOR_NAME = @VENDOR_NAME@ VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ VENDOR_RELEASE = @VENDOR_RELEASE@ VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ XDMCP_CFLAGS = @XDMCP_CFLAGS@ @@ -283,27 +286,12 @@ XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@ XDMX_CFLAGS = @XDMX_CFLAGS@ XDMX_LIBS = @XDMX_LIBS@ XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ XEPHYR_INCS = @XEPHYR_INCS@ XEPHYR_LIBS = @XEPHYR_LIBS@ 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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ @@ -314,10 +302,6 @@ XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ XNEST_LIBS = @XNEST_LIBS@ XNEST_SYS_LIBS = @XNEST_SYS_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_INCS = @XORG_INCS@ XORG_LIBS = @XORG_LIBS@ @@ -326,13 +310,8 @@ XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ XORG_OS = @XORG_OS@ XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_LIBS@ +XPBPROXY_CFLAGS = @XPBPROXY_CFLAGS@ +XPBPROXY_LIBS = @XPBPROXY_LIBS@ XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ XSDL_INCS = @XSDL_INCS@ @@ -365,8 +344,7 @@ 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@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -386,7 +364,6 @@ driverdir = @driverdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ extdir = @extdir@ -ft_config = @ft_config@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ @@ -396,12 +373,12 @@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ -launchagentsdir = @launchagentsdir@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ logdir = @logdir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ moduledir = @moduledir@ @@ -419,88 +396,123 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ INCLUDES = \ - @KDRIVE_INCS@ \ - @KDRIVE_CFLAGS@ \ - -I$(srcdir)/../../../exa + @KDRIVE_INCS@ \ + @KDRIVE_CFLAGS@ \ + @XEPHYR_INCS@ \ + @XEPHYR_CFLAGS@ \ + @DRIPROTO_CFLAGS@ \ + -I$(top_srcdir) \ + -I$(top_srcdir)/exa -@XV_FALSE@LIBXEPHYR_HOSTXV = @XV_TRUE@LIBXEPHYR_HOSTXV = libxephyr-hostxv.a -@XEPHYR_HAS_DRI_FALSE@LIBXEPHYR_HOSTDRI = -@XEPHYR_HAS_DRI_TRUE@LIBXEPHYR_HOSTDRI = libxephyr-hostdri.a +@DRI_TRUE@LIBXEPHYR_HOSTDRI = libxephyr-hostdri.a noinst_LIBRARIES = libxephyr-hostx.a $(LIBXEPHYR_HOSTXV) $(LIBXEPHYR_HOSTDRI) libxephyr.a -libxephyr_hostx_a_SOURCES = \ - hostx.c \ +HOSTX_SRCS = \ + hostx.c \ hostx.h -libxephyr_hostxv_a_INCLUDES = @XEPHYR_INCS@ -@XV_TRUE@libxephyr_hostxv_a_SOURCES = \ -@XV_TRUE@ ephyrhostvideo.c \ -@XV_TRUE@ ephyrhostvideo.h - -@XEPHYR_HAS_DRI_TRUE@libxephyr_hostdri_a_SOURCES = \ -@XEPHYR_HAS_DRI_TRUE@ephyrdriext.c \ -@XEPHYR_HAS_DRI_TRUE@ephyrdriext.h \ -@XEPHYR_HAS_DRI_TRUE@ephyrdri.c \ -@XEPHYR_HAS_DRI_TRUE@ephyrdri.h \ -@XEPHYR_HAS_DRI_TRUE@XF86dri.c \ -@XEPHYR_HAS_DRI_TRUE@ephyrglxext.c \ -@XEPHYR_HAS_DRI_TRUE@ephyrglxext.h \ -@XEPHYR_HAS_DRI_TRUE@ephyrhostglx.c \ -@XEPHYR_HAS_DRI_TRUE@ephyrhostglx.h - -@XEPHYR_HAS_DRI_TRUE@libxephyr_hostdri_a_CFLAGS = \ -@XEPHYR_HAS_DRI_TRUE@-I$(top_srcdir) \ -@XEPHYR_HAS_DRI_TRUE@@LIBDRM_CFLAGS@ \ -@XEPHYR_HAS_DRI_TRUE@@DRIPROTO_CFLAGS@ - -libxephyr_a_SOURCES = \ - ephyr.c \ - ephyr_draw.c \ - ephyrvideo.c \ - os.c \ - hostx.h \ - ephyr.h \ - ephyrlog.h - -libxephyr_a_CFLAGS = \ --I$(top_srcdir) \ -@LIBDRM_CFLAGS@ +HOSTVIDEO_SRCS = \ + ephyrvideo.c \ + ephyrhostvideo.c \ + ephyrhostvideo.h +HOSTDRI_SRCS = \ + ephyrdriext.c \ + ephyrdriext.h \ + ephyrdri.c \ + ephyrdri.h \ + XF86dri.c \ + xf86dri.h \ + ephyrglxext.c \ + ephyrglxext.h \ + ephyrhostglx.c \ + ephyrhostglx.h + +XEPHYR_SRCS = \ + ephyr.c \ + ephyr.h \ + ephyrlog.h \ + ephyr_draw.c \ + os.c + +libxephyr_hostx_a_SOURCES = $(HOSTX_SRCS) +@XV_TRUE@libxephyr_hostxv_a_SOURCES = $(HOSTVIDEO_SRCS) +@DRI_TRUE@libxephyr_hostdri_a_SOURCES = $(HOSTDRI_SRCS) +libxephyr_a_SOURCES = $(XEPHYR_SRCS) Xephyr_SOURCES = \ ephyrinit.c Xephyr_LDADD = \ libxephyr.a \ - libxephyr-hostx.a \ + libxephyr-hostx.a \ $(LIBXEPHYR_HOSTXV) \ $(LIBXEPHYR_HOSTDRI) \ - ../../../exa/libexa.la \ + $(top_builddir)/exa/libexa.la \ @KDRIVE_LIBS@ \ - @XEPHYR_LIBS@ \ - @LIBDRM_LIBS@ \ - @XEPHYR_DRI_LIBS@ + @XEPHYR_LIBS@ Xephyr_DEPENDENCIES = \ libxephyr.a \ - libxephyr-hostx.a \ + libxephyr-hostx.a \ $(LIBXEPHYR_HOSTXV) \ $(LIBXEPHYR_HOSTDRI) \ @KDRIVE_LOCAL_LIBS@ Xephyr_LDFLAGS = $(LD_EXPORT_SYMBOLS_FLAG) +MAN_SRCS = Xephyr.man.pre +appmandir = $(APP_MAN_DIR) +appman_DATA = Xephyr.$(APP_MAN_SUFFIX) +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) + +CLEANFILES = $(appman_DATA) Xephyr.man +EXTRA_DIST = \ + $(HOSTVIDEO_SRCS) \ + $(HOSTDRI_SRCS) \ + $(MAN_SRCS) + all: all-am .SUFFIXES: -.SUFFIXES: .c .lo .o .obj -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) +.SUFFIXES: .pre .man .man.pre .c .lo .o .obj +$(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; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ @@ -581,18 +593,18 @@ mostlyclean-compile: distclean-compile: -rm -f *.tab.c +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/XF86dri.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ephyr.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ephyr_draw.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ephyrdri.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ephyrdriext.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ephyrglxext.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ephyrhostglx.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ephyrhostvideo.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ephyrinit.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ephyrvideo.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hostx.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libxephyr_a-ephyr.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libxephyr_a-ephyr_draw.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libxephyr_a-ephyrvideo.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libxephyr_a-os.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libxephyr_hostdri_a-XF86dri.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libxephyr_hostdri_a-ephyrdri.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libxephyr_hostdri_a-ephyrdriext.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libxephyr_hostdri_a-ephyrglxext.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libxephyr_hostdri_a-ephyrhostglx.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/os.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @@ -615,144 +627,35 @@ distclean-compile: @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< -libxephyr_hostdri_a-ephyrdriext.o: ephyrdriext.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libxephyr_hostdri_a_CFLAGS) $(CFLAGS) -MT libxephyr_hostdri_a-ephyrdriext.o -MD -MP -MF $(DEPDIR)/libxephyr_hostdri_a-ephyrdriext.Tpo -c -o libxephyr_hostdri_a-ephyrdriext.o `test -f 'ephyrdriext.c' || echo '$(srcdir)/'`ephyrdriext.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libxephyr_hostdri_a-ephyrdriext.Tpo $(DEPDIR)/libxephyr_hostdri_a-ephyrdriext.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ephyrdriext.c' object='libxephyr_hostdri_a-ephyrdriext.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) $(libxephyr_hostdri_a_CFLAGS) $(CFLAGS) -c -o libxephyr_hostdri_a-ephyrdriext.o `test -f 'ephyrdriext.c' || echo '$(srcdir)/'`ephyrdriext.c - -libxephyr_hostdri_a-ephyrdriext.obj: ephyrdriext.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libxephyr_hostdri_a_CFLAGS) $(CFLAGS) -MT libxephyr_hostdri_a-ephyrdriext.obj -MD -MP -MF $(DEPDIR)/libxephyr_hostdri_a-ephyrdriext.Tpo -c -o libxephyr_hostdri_a-ephyrdriext.obj `if test -f 'ephyrdriext.c'; then $(CYGPATH_W) 'ephyrdriext.c'; else $(CYGPATH_W) '$(srcdir)/ephyrdriext.c'; fi` -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libxephyr_hostdri_a-ephyrdriext.Tpo $(DEPDIR)/libxephyr_hostdri_a-ephyrdriext.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ephyrdriext.c' object='libxephyr_hostdri_a-ephyrdriext.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) $(libxephyr_hostdri_a_CFLAGS) $(CFLAGS) -c -o libxephyr_hostdri_a-ephyrdriext.obj `if test -f 'ephyrdriext.c'; then $(CYGPATH_W) 'ephyrdriext.c'; else $(CYGPATH_W) '$(srcdir)/ephyrdriext.c'; fi` - -libxephyr_hostdri_a-ephyrdri.o: ephyrdri.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libxephyr_hostdri_a_CFLAGS) $(CFLAGS) -MT libxephyr_hostdri_a-ephyrdri.o -MD -MP -MF $(DEPDIR)/libxephyr_hostdri_a-ephyrdri.Tpo -c -o libxephyr_hostdri_a-ephyrdri.o `test -f 'ephyrdri.c' || echo '$(srcdir)/'`ephyrdri.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libxephyr_hostdri_a-ephyrdri.Tpo $(DEPDIR)/libxephyr_hostdri_a-ephyrdri.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ephyrdri.c' object='libxephyr_hostdri_a-ephyrdri.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) $(libxephyr_hostdri_a_CFLAGS) $(CFLAGS) -c -o libxephyr_hostdri_a-ephyrdri.o `test -f 'ephyrdri.c' || echo '$(srcdir)/'`ephyrdri.c - -libxephyr_hostdri_a-ephyrdri.obj: ephyrdri.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libxephyr_hostdri_a_CFLAGS) $(CFLAGS) -MT libxephyr_hostdri_a-ephyrdri.obj -MD -MP -MF $(DEPDIR)/libxephyr_hostdri_a-ephyrdri.Tpo -c -o libxephyr_hostdri_a-ephyrdri.obj `if test -f 'ephyrdri.c'; then $(CYGPATH_W) 'ephyrdri.c'; else $(CYGPATH_W) '$(srcdir)/ephyrdri.c'; fi` -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libxephyr_hostdri_a-ephyrdri.Tpo $(DEPDIR)/libxephyr_hostdri_a-ephyrdri.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ephyrdri.c' object='libxephyr_hostdri_a-ephyrdri.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) $(libxephyr_hostdri_a_CFLAGS) $(CFLAGS) -c -o libxephyr_hostdri_a-ephyrdri.obj `if test -f 'ephyrdri.c'; then $(CYGPATH_W) 'ephyrdri.c'; else $(CYGPATH_W) '$(srcdir)/ephyrdri.c'; fi` - -libxephyr_hostdri_a-XF86dri.o: XF86dri.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libxephyr_hostdri_a_CFLAGS) $(CFLAGS) -MT libxephyr_hostdri_a-XF86dri.o -MD -MP -MF $(DEPDIR)/libxephyr_hostdri_a-XF86dri.Tpo -c -o libxephyr_hostdri_a-XF86dri.o `test -f 'XF86dri.c' || echo '$(srcdir)/'`XF86dri.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libxephyr_hostdri_a-XF86dri.Tpo $(DEPDIR)/libxephyr_hostdri_a-XF86dri.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='XF86dri.c' object='libxephyr_hostdri_a-XF86dri.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) $(libxephyr_hostdri_a_CFLAGS) $(CFLAGS) -c -o libxephyr_hostdri_a-XF86dri.o `test -f 'XF86dri.c' || echo '$(srcdir)/'`XF86dri.c - -libxephyr_hostdri_a-XF86dri.obj: XF86dri.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libxephyr_hostdri_a_CFLAGS) $(CFLAGS) -MT libxephyr_hostdri_a-XF86dri.obj -MD -MP -MF $(DEPDIR)/libxephyr_hostdri_a-XF86dri.Tpo -c -o libxephyr_hostdri_a-XF86dri.obj `if test -f 'XF86dri.c'; then $(CYGPATH_W) 'XF86dri.c'; else $(CYGPATH_W) '$(srcdir)/XF86dri.c'; fi` -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libxephyr_hostdri_a-XF86dri.Tpo $(DEPDIR)/libxephyr_hostdri_a-XF86dri.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='XF86dri.c' object='libxephyr_hostdri_a-XF86dri.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) $(libxephyr_hostdri_a_CFLAGS) $(CFLAGS) -c -o libxephyr_hostdri_a-XF86dri.obj `if test -f 'XF86dri.c'; then $(CYGPATH_W) 'XF86dri.c'; else $(CYGPATH_W) '$(srcdir)/XF86dri.c'; fi` - -libxephyr_hostdri_a-ephyrglxext.o: ephyrglxext.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libxephyr_hostdri_a_CFLAGS) $(CFLAGS) -MT libxephyr_hostdri_a-ephyrglxext.o -MD -MP -MF $(DEPDIR)/libxephyr_hostdri_a-ephyrglxext.Tpo -c -o libxephyr_hostdri_a-ephyrglxext.o `test -f 'ephyrglxext.c' || echo '$(srcdir)/'`ephyrglxext.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libxephyr_hostdri_a-ephyrglxext.Tpo $(DEPDIR)/libxephyr_hostdri_a-ephyrglxext.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ephyrglxext.c' object='libxephyr_hostdri_a-ephyrglxext.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) $(libxephyr_hostdri_a_CFLAGS) $(CFLAGS) -c -o libxephyr_hostdri_a-ephyrglxext.o `test -f 'ephyrglxext.c' || echo '$(srcdir)/'`ephyrglxext.c - -libxephyr_hostdri_a-ephyrglxext.obj: ephyrglxext.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libxephyr_hostdri_a_CFLAGS) $(CFLAGS) -MT libxephyr_hostdri_a-ephyrglxext.obj -MD -MP -MF $(DEPDIR)/libxephyr_hostdri_a-ephyrglxext.Tpo -c -o libxephyr_hostdri_a-ephyrglxext.obj `if test -f 'ephyrglxext.c'; then $(CYGPATH_W) 'ephyrglxext.c'; else $(CYGPATH_W) '$(srcdir)/ephyrglxext.c'; fi` -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libxephyr_hostdri_a-ephyrglxext.Tpo $(DEPDIR)/libxephyr_hostdri_a-ephyrglxext.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ephyrglxext.c' object='libxephyr_hostdri_a-ephyrglxext.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) $(libxephyr_hostdri_a_CFLAGS) $(CFLAGS) -c -o libxephyr_hostdri_a-ephyrglxext.obj `if test -f 'ephyrglxext.c'; then $(CYGPATH_W) 'ephyrglxext.c'; else $(CYGPATH_W) '$(srcdir)/ephyrglxext.c'; fi` - -libxephyr_hostdri_a-ephyrhostglx.o: ephyrhostglx.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libxephyr_hostdri_a_CFLAGS) $(CFLAGS) -MT libxephyr_hostdri_a-ephyrhostglx.o -MD -MP -MF $(DEPDIR)/libxephyr_hostdri_a-ephyrhostglx.Tpo -c -o libxephyr_hostdri_a-ephyrhostglx.o `test -f 'ephyrhostglx.c' || echo '$(srcdir)/'`ephyrhostglx.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libxephyr_hostdri_a-ephyrhostglx.Tpo $(DEPDIR)/libxephyr_hostdri_a-ephyrhostglx.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ephyrhostglx.c' object='libxephyr_hostdri_a-ephyrhostglx.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) $(libxephyr_hostdri_a_CFLAGS) $(CFLAGS) -c -o libxephyr_hostdri_a-ephyrhostglx.o `test -f 'ephyrhostglx.c' || echo '$(srcdir)/'`ephyrhostglx.c - -libxephyr_hostdri_a-ephyrhostglx.obj: ephyrhostglx.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libxephyr_hostdri_a_CFLAGS) $(CFLAGS) -MT libxephyr_hostdri_a-ephyrhostglx.obj -MD -MP -MF $(DEPDIR)/libxephyr_hostdri_a-ephyrhostglx.Tpo -c -o libxephyr_hostdri_a-ephyrhostglx.obj `if test -f 'ephyrhostglx.c'; then $(CYGPATH_W) 'ephyrhostglx.c'; else $(CYGPATH_W) '$(srcdir)/ephyrhostglx.c'; fi` -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libxephyr_hostdri_a-ephyrhostglx.Tpo $(DEPDIR)/libxephyr_hostdri_a-ephyrhostglx.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ephyrhostglx.c' object='libxephyr_hostdri_a-ephyrhostglx.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) $(libxephyr_hostdri_a_CFLAGS) $(CFLAGS) -c -o libxephyr_hostdri_a-ephyrhostglx.obj `if test -f 'ephyrhostglx.c'; then $(CYGPATH_W) 'ephyrhostglx.c'; else $(CYGPATH_W) '$(srcdir)/ephyrhostglx.c'; fi` - -libxephyr_a-ephyr.o: ephyr.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libxephyr_a_CFLAGS) $(CFLAGS) -MT libxephyr_a-ephyr.o -MD -MP -MF $(DEPDIR)/libxephyr_a-ephyr.Tpo -c -o libxephyr_a-ephyr.o `test -f 'ephyr.c' || echo '$(srcdir)/'`ephyr.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libxephyr_a-ephyr.Tpo $(DEPDIR)/libxephyr_a-ephyr.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ephyr.c' object='libxephyr_a-ephyr.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) $(libxephyr_a_CFLAGS) $(CFLAGS) -c -o libxephyr_a-ephyr.o `test -f 'ephyr.c' || echo '$(srcdir)/'`ephyr.c - -libxephyr_a-ephyr.obj: ephyr.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libxephyr_a_CFLAGS) $(CFLAGS) -MT libxephyr_a-ephyr.obj -MD -MP -MF $(DEPDIR)/libxephyr_a-ephyr.Tpo -c -o libxephyr_a-ephyr.obj `if test -f 'ephyr.c'; then $(CYGPATH_W) 'ephyr.c'; else $(CYGPATH_W) '$(srcdir)/ephyr.c'; fi` -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libxephyr_a-ephyr.Tpo $(DEPDIR)/libxephyr_a-ephyr.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ephyr.c' object='libxephyr_a-ephyr.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) $(libxephyr_a_CFLAGS) $(CFLAGS) -c -o libxephyr_a-ephyr.obj `if test -f 'ephyr.c'; then $(CYGPATH_W) 'ephyr.c'; else $(CYGPATH_W) '$(srcdir)/ephyr.c'; fi` - -libxephyr_a-ephyr_draw.o: ephyr_draw.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libxephyr_a_CFLAGS) $(CFLAGS) -MT libxephyr_a-ephyr_draw.o -MD -MP -MF $(DEPDIR)/libxephyr_a-ephyr_draw.Tpo -c -o libxephyr_a-ephyr_draw.o `test -f 'ephyr_draw.c' || echo '$(srcdir)/'`ephyr_draw.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libxephyr_a-ephyr_draw.Tpo $(DEPDIR)/libxephyr_a-ephyr_draw.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ephyr_draw.c' object='libxephyr_a-ephyr_draw.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) $(libxephyr_a_CFLAGS) $(CFLAGS) -c -o libxephyr_a-ephyr_draw.o `test -f 'ephyr_draw.c' || echo '$(srcdir)/'`ephyr_draw.c - -libxephyr_a-ephyr_draw.obj: ephyr_draw.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libxephyr_a_CFLAGS) $(CFLAGS) -MT libxephyr_a-ephyr_draw.obj -MD -MP -MF $(DEPDIR)/libxephyr_a-ephyr_draw.Tpo -c -o libxephyr_a-ephyr_draw.obj `if test -f 'ephyr_draw.c'; then $(CYGPATH_W) 'ephyr_draw.c'; else $(CYGPATH_W) '$(srcdir)/ephyr_draw.c'; fi` -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libxephyr_a-ephyr_draw.Tpo $(DEPDIR)/libxephyr_a-ephyr_draw.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ephyr_draw.c' object='libxephyr_a-ephyr_draw.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) $(libxephyr_a_CFLAGS) $(CFLAGS) -c -o libxephyr_a-ephyr_draw.obj `if test -f 'ephyr_draw.c'; then $(CYGPATH_W) 'ephyr_draw.c'; else $(CYGPATH_W) '$(srcdir)/ephyr_draw.c'; fi` - -libxephyr_a-ephyrvideo.o: ephyrvideo.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libxephyr_a_CFLAGS) $(CFLAGS) -MT libxephyr_a-ephyrvideo.o -MD -MP -MF $(DEPDIR)/libxephyr_a-ephyrvideo.Tpo -c -o libxephyr_a-ephyrvideo.o `test -f 'ephyrvideo.c' || echo '$(srcdir)/'`ephyrvideo.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libxephyr_a-ephyrvideo.Tpo $(DEPDIR)/libxephyr_a-ephyrvideo.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ephyrvideo.c' object='libxephyr_a-ephyrvideo.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) $(libxephyr_a_CFLAGS) $(CFLAGS) -c -o libxephyr_a-ephyrvideo.o `test -f 'ephyrvideo.c' || echo '$(srcdir)/'`ephyrvideo.c - -libxephyr_a-ephyrvideo.obj: ephyrvideo.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libxephyr_a_CFLAGS) $(CFLAGS) -MT libxephyr_a-ephyrvideo.obj -MD -MP -MF $(DEPDIR)/libxephyr_a-ephyrvideo.Tpo -c -o libxephyr_a-ephyrvideo.obj `if test -f 'ephyrvideo.c'; then $(CYGPATH_W) 'ephyrvideo.c'; else $(CYGPATH_W) '$(srcdir)/ephyrvideo.c'; fi` -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libxephyr_a-ephyrvideo.Tpo $(DEPDIR)/libxephyr_a-ephyrvideo.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ephyrvideo.c' object='libxephyr_a-ephyrvideo.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) $(libxephyr_a_CFLAGS) $(CFLAGS) -c -o libxephyr_a-ephyrvideo.obj `if test -f 'ephyrvideo.c'; then $(CYGPATH_W) 'ephyrvideo.c'; else $(CYGPATH_W) '$(srcdir)/ephyrvideo.c'; fi` - -libxephyr_a-os.o: os.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libxephyr_a_CFLAGS) $(CFLAGS) -MT libxephyr_a-os.o -MD -MP -MF $(DEPDIR)/libxephyr_a-os.Tpo -c -o libxephyr_a-os.o `test -f 'os.c' || echo '$(srcdir)/'`os.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libxephyr_a-os.Tpo $(DEPDIR)/libxephyr_a-os.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='os.c' object='libxephyr_a-os.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) $(libxephyr_a_CFLAGS) $(CFLAGS) -c -o libxephyr_a-os.o `test -f 'os.c' || echo '$(srcdir)/'`os.c - -libxephyr_a-os.obj: os.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libxephyr_a_CFLAGS) $(CFLAGS) -MT libxephyr_a-os.obj -MD -MP -MF $(DEPDIR)/libxephyr_a-os.Tpo -c -o libxephyr_a-os.obj `if test -f 'os.c'; then $(CYGPATH_W) 'os.c'; else $(CYGPATH_W) '$(srcdir)/os.c'; fi` -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libxephyr_a-os.Tpo $(DEPDIR)/libxephyr_a-os.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='os.c' object='libxephyr_a-os.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) $(libxephyr_a_CFLAGS) $(CFLAGS) -c -o libxephyr_a-os.obj `if test -f 'os.c'; then $(CYGPATH_W) 'os.c'; else $(CYGPATH_W) '$(srcdir)/os.c'; fi` - mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs +install-appmanDATA: $(appman_DATA) + @$(NORMAL_INSTALL) + test -z "$(appmandir)" || $(MKDIR_P) "$(DESTDIR)$(appmandir)" + @list='$(appman_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(appmanDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(appmandir)/$$f'"; \ + $(appmanDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(appmandir)/$$f"; \ + done + +uninstall-appmanDATA: + @$(NORMAL_UNINSTALL) + @list='$(appman_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(appmandir)/$$f'"; \ + rm -f "$(DESTDIR)$(appmandir)/$$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; nonemtpy = 1; } \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS @@ -822,9 +725,9 @@ distdir: $(DISTFILES) done check-am: all-am check: check-am -all-am: Makefile $(LIBRARIES) $(PROGRAMS) +all-am: Makefile $(LIBRARIES) $(PROGRAMS) $(DATA) installdirs: - for dir in "$(DESTDIR)$(bindir)"; do \ + for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(appmandir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am @@ -844,6 +747,7 @@ install-strip: mostlyclean-generic: clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) @@ -872,7 +776,7 @@ info: info-am info-am: -install-data-am: +install-data-am: install-appmanDATA install-dvi: install-dvi-am @@ -908,7 +812,7 @@ ps: ps-am ps-am: -uninstall-am: uninstall-binPROGRAMS +uninstall-am: uninstall-appmanDATA uninstall-binPROGRAMS .MAKE: install-am install-strip @@ -916,19 +820,30 @@ uninstall-am: uninstall-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-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-binPROGRAMS + html-am info info-am install install-am install-appmanDATA \ + 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-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-appmanDATA uninstall-binPROGRAMS relink: rm -f $(bin_PROGRAMS) && make $(bin_PROGRAMS) + +Xephyr.$(APP_MAN_SUFFIX): Xephyr.man + -rm -f Xephyr.$(APP_MAN_SUFFIX) + $(LN_S) Xephyr.man Xephyr.$(APP_MAN_SUFFIX) + +.pre: + $(RAWCPP) $(RAWCPPFLAGS) $(CPP_FILES_FLAGS) < $< | $(CPP_SED_MAGIC) > $@ + +.man.pre.man: + $(RAWCPP) $(RAWCPPFLAGS) $(MANDEFS) $(EXTRAMANDEFS) < $< | $(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/xorg-server/hw/kdrive/ephyr/XF86dri.c b/xorg-server/hw/kdrive/ephyr/XF86dri.c index 63e630c9c..31f796331 100644 --- a/xorg-server/hw/kdrive/ephyr/XF86dri.c +++ b/xorg-server/hw/kdrive/ephyr/XF86dri.c @@ -56,8 +56,6 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #undef _XSERVER64 #endif -#ifdef XEPHYR_DRI - /* THIS IS NOT AN X CONSORTIUM STANDARD */ #define NEED_REPLIES @@ -65,9 +63,8 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #include #include #include -#include +#include "xf86dri.h" #include -#include "GL/internal/dri_interface.h" static XExtensionInfo _xf86dri_info_data; static XExtensionInfo *xf86dri_info = &_xf86dri_info_data; @@ -650,5 +647,3 @@ XF86DRICloseFullScreen(Display *dpy, int screen, Drawable drawable) (void) drawable; return True; } -#endif /*EPHYR_DRI*/ - diff --git a/xorg-server/hw/kdrive/ephyr/Xephyr.man.pre b/xorg-server/hw/kdrive/ephyr/Xephyr.man.pre new file mode 100644 index 000000000..7f0e811a2 --- /dev/null +++ b/xorg-server/hw/kdrive/ephyr/Xephyr.man.pre @@ -0,0 +1,84 @@ +." +." Copyright (c) Matthieu Herrb +." +." 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 THE AUTHOR DISCLAIMS ALL WARRANTIES +." WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +." MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR 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. +." +.TH Xephyr __appmansuffix__ __vendorversion__ +.SH NAME +Xephyr - X server outputting to a window on a pre-existing X display +.SH SYNOPSIS +.B Xephyr +.RI [\fB:\fP display ] +.RI [ option +.IR ... ] +.SH DESCRIPTION +.B Xephyr +is a a kdrive server that outputs to a window on a pre-existing +'host' X display. +Think +.I Xnest +but with support for modern extensions like composite, damage and randr. +.PP +Unlike +.I Xnest +which is an X proxy, i.e. limited to the capabilities of the host X server, +.B Xephyr +is a real X server which +uses the host X server window as "framebuffer" via fast SHM XImages. +.PP +It also has support for "visually" debugging what the server is +painting. +.SH OPTIONS +.TP 8 +.BI -screen " width" x height +sets the screen size. +.TP 8 +.BI -parent " id" +uses exiting window +.I id . +.TP 8 +.B -host-cursor +set 'cursor acceleration': +The host's cursor is reused. This is only really there to aid +debugging by avoiding server paints for the cursor. Performance +improvement is negligible. +.SH "SIGNALS" +Send a SIGUSR1 to the server (e.g. pkill -USR1 Xephyr) to +toggle the debugging mode. +In this mode red rectangles are painted to +screen areas getting painted before painting the actual content. +The +delay between this can be altered by setting a XEPHYR_PAUSE env var to +a value in micro seconds. +.SH CAVEATS +.PP +.IP \(bu 2 +Rotated displays are currently updated via full blits. This +is slower than a normal orientated display. Debug mode will +therefore not be of much use rotated. +.IP \(bu 2 +The '-host-cursor' cursor is static in its appearance. +.IP \(bu 2 +The build gets a warning about 'nanosleep'. I think the various '-D' +build flags are causing this. I haven't figured as yet how to work +round it. It doesn't appear to break anything however. +.IP \(bu 2 +Keyboard handling is basic but works. +.TP \(bu 2 +Mouse button 5 probably wont work. +.SH "SEE ALSO" +X(__miscmansuffix__), Xserver(__appmansuffix__) +.SH AUTHOR +Matthew Allum 2004 + + diff --git a/xorg-server/hw/kdrive/ephyr/ephyr.c b/xorg-server/hw/kdrive/ephyr/ephyr.c index b02f9903c..ab8459cfc 100644 --- a/xorg-server/hw/kdrive/ephyr/ephyr.c +++ b/xorg-server/hw/kdrive/ephyr/ephyr.c @@ -32,11 +32,11 @@ #include "scrnintstr.h" #include "ephyrlog.h" -#ifdef XEPHYR_DRI +#ifdef XF86DRI #include "ephyrdri.h" #include "ephyrdriext.h" #include "ephyrglxext.h" -#endif /*XEPHYR_DRI*/ +#endif /* XF86DRI */ extern int KdTsPhyScreen; #ifdef GLXEXT @@ -91,7 +91,7 @@ Bool ephyrScreenInitialize (KdScreenInfo *screen, EphyrScrPriv *scrpriv) { int width = 640, height = 480; - unsigned long redMask, greenMask, blueMask; + CARD32 redMask, greenMask, blueMask; if (hostx_want_screen_size(screen, &width, &height) || !screen->width || !screen->height) @@ -150,11 +150,22 @@ ephyrScreenInitialize (KdScreenInfo *screen, EphyrScrPriv *scrpriv) screen->fb[0].depth = 16; screen->fb[0].bitsPerPixel = 16; } - else + else if (screen->fb[0].depth <= 24) { screen->fb[0].depth = 24; screen->fb[0].bitsPerPixel = 32; } + else if (screen->fb[0].depth <= 30) + { + screen->fb[0].depth = 30; + screen->fb[0].bitsPerPixel = 32; + } + else + { + ErrorF("\nXephyr: Unsupported screen depth %d\n", + screen->fb[0].depth); + return FALSE; + } hostx_get_visual_masks (screen, &redMask, &greenMask, &blueMask); @@ -174,12 +185,11 @@ ephyrScreenInit (KdScreenInfo *screen) { EphyrScrPriv *scrpriv; - scrpriv = xalloc (sizeof (EphyrScrPriv)); + scrpriv = xcalloc (1, sizeof (EphyrScrPriv)); if (!scrpriv) return FALSE; - memset (scrpriv, 0, sizeof (EphyrScrPriv)); screen->driver = scrpriv; if (!ephyrScreenInitialize (screen, scrpriv)) @@ -515,8 +525,6 @@ ephyrRandRSetConfig (ScreenPtr pScreen, scrpriv->randr = KdAddRotation (screen->randr, randr); - KdOffscreenSwapOut (screen->pScreen); - ephyrUnmapFramebuffer (screen); screen->width = newwidth; @@ -631,7 +639,7 @@ ephyrInitScreen (ScreenPtr pScreen) } #endif /*XV*/ -#ifdef XEPHYR_DRI +#ifdef XF86DRI if (!ephyrNoDRI && !hostx_has_dri ()) { EPHYR_LOG ("host x does not support DRI. Disabling DRI forwarding\n") ; ephyrNoDRI = TRUE ; @@ -826,11 +834,11 @@ ephyrCrossScreen (ScreenPtr pScreen, Bool entering) int ephyrCurScreen; /*current event screen*/ static void -ephyrWarpCursor (ScreenPtr pScreen, int x, int y) +ephyrWarpCursor (DeviceIntPtr pDev, ScreenPtr pScreen, int x, int y) { ephyrBlockSigio (); ephyrCurScreen = pScreen->myNum; - miPointerWarpCursor (pScreen, x, y); + miPointerWarpCursor (inputInfo.pointer, pScreen, x, y); ephyrUnblockSigio (); } @@ -838,10 +846,12 @@ miPointerScreenFuncRec ephyrPointerScreenFuncs = { ephyrCursorOffScreen, ephyrCrossScreen, - ephyrWarpCursor + ephyrWarpCursor, + NULL, + NULL }; -#ifdef XEPHYR_DRI +#ifdef XF86DRI /** * find if the remote window denoted by a_remote * is paired with an internal Window within the Xephyr server. @@ -873,7 +883,7 @@ ephyrExposePairedWindow (int a_remote) screen->WindowExposures (pair->local, ®, NullRegion); REGION_UNINIT (screen, ®); } -#endif /*XEPHYR_DRI*/ +#endif /* XF86DRI */ void ephyrPoll(void) @@ -900,7 +910,7 @@ ephyrPoll(void) if (ev.data.mouse_motion.screen >= 0) { ephyrWarpCursor - (screenInfo.screens[ev.data.mouse_motion.screen], + (inputInfo.pointer, screenInfo.screens[ev.data.mouse_motion.screen], ev.data.mouse_motion.x, ev.data.mouse_motion.y ); } @@ -908,14 +918,14 @@ ephyrPoll(void) else { int x=0, y=0; -#ifdef XEPHYR_DRI +#ifdef XF86DRI EphyrWindowPair *pair = NULL; #endif EPHYR_LOG ("enqueuing mouse motion:%d\n", ephyrCurScreen) ; x = ev.data.mouse_motion.x; y = ev.data.mouse_motion.y; EPHYR_LOG ("initial (x,y):(%d,%d)\n", x, y) ; -#ifdef XEPHYR_DRI +#ifdef XF86DRI EPHYR_LOG ("is this window peered by a gl drawable ?\n") ; if (findWindowPairFromRemote (ev.data.mouse_motion.window, &pair)) @@ -972,7 +982,7 @@ ephyrPoll(void) KdEnqueueKeyboardEvent (ephyrKbd, ev.data.key_up.scancode, TRUE); break; -#ifdef XEPHYR_DRI +#ifdef XF86DRI case EPHYR_EV_EXPOSE: /* * We only receive expose events when the expose event have @@ -982,7 +992,7 @@ ephyrPoll(void) */ ephyrExposePairedWindow (ev.data.expose.window); break; -#endif /*XEPHYR_DRI*/ +#endif /* XF86DRI */ default: break; diff --git a/xorg-server/hw/kdrive/ephyr/ephyr_draw.c b/xorg-server/hw/kdrive/ephyr/ephyr_draw.c index 422b7c6b6..7b579c24b 100644 --- a/xorg-server/hw/kdrive/ephyr/ephyr_draw.c +++ b/xorg-server/hw/kdrive/ephyr/ephyr_draw.c @@ -28,7 +28,6 @@ #ifdef HAVE_CONFIG_H #include #endif -#undef NDEBUG /* No, really. The whole point of this module is to crash. */ #include "ephyr.h" #include "exa_priv.h" diff --git a/xorg-server/hw/kdrive/ephyr/ephyrdri.c b/xorg-server/hw/kdrive/ephyr/ephyrdri.c index 53a96ba11..932e46886 100644 --- a/xorg-server/hw/kdrive/ephyr/ephyrdri.c +++ b/xorg-server/hw/kdrive/ephyr/ephyrdri.c @@ -29,13 +29,10 @@ #include #endif -#ifdef XEPHYR_DRI - #include #include -/*#define _XF86DRI_SERVER_*/ #include -#include +#include "xf86dri.h" #include "hostx.h" #include "ephyrdri.h" #define _HAVE_XALLOC_DECLS @@ -146,7 +143,7 @@ ephyrDRIGetClientDriverName (int a_screen, Bool ephyrDRICreateContext (int a_screen, int a_visual_id, - unsigned long int *a_returned_ctxt_id, + XID *a_returned_ctxt_id, drm_context_t *a_hw_ctxt) { Display *dpy = hostx_get_display () ; @@ -287,5 +284,3 @@ ephyrDRIGetDeviceInfo (int a_screen, EPHYR_LOG ("leave:%d\n", is_ok) ; return is_ok ; } -#endif /*EPHYR_DRI*/ - diff --git a/xorg-server/hw/kdrive/ephyr/ephyrdri.h b/xorg-server/hw/kdrive/ephyr/ephyrdri.h index af8bb11fd..28ae8eae0 100644 --- a/xorg-server/hw/kdrive/ephyr/ephyrdri.h +++ b/xorg-server/hw/kdrive/ephyr/ephyrdri.h @@ -42,7 +42,7 @@ Bool ephyrDRIGetClientDriverName (int a_screen, char ** a_client_driver_name) ; Bool ephyrDRICreateContext (int a_screen, int a_visual_id, - unsigned long int *a_returned_ctx_id, + XID *a_returned_ctx_id, drm_context_t *a_hw_ctx) ; Bool ephyrDRIDestroyContext (int a_screen, int a_context_id) ; diff --git a/xorg-server/hw/kdrive/ephyr/ephyrdriext.c b/xorg-server/hw/kdrive/ephyr/ephyrdriext.c index fafe56d1f..a906ad170 100644 --- a/xorg-server/hw/kdrive/ephyr/ephyrdriext.c +++ b/xorg-server/hw/kdrive/ephyr/ephyrdriext.c @@ -32,8 +32,6 @@ #include #endif -#ifdef XEPHYR_DRI - #include #define NEED_REPLIES @@ -94,8 +92,6 @@ static DISPATCH_PROC(SProcXF86DRIQueryVersion); static DISPATCH_PROC(SProcXF86DRIQueryDirectRenderingCapable); static DISPATCH_PROC(SProcXF86DRIDispatch); -static void XF86DRIResetProc(ExtensionEntry* extEntry); - static Bool ephyrDRIScreenInit (ScreenPtr a_screen) ; static Bool ephyrDRICreateWindow (WindowPtr a_win) ; static Bool ephyrDRIDestroyWindow (WindowPtr a_win) ; @@ -115,8 +111,10 @@ static Bool findWindowPairFromLocal (WindowPtr a_local, static unsigned char DRIReqCode = 0; -static DevPrivateKey ephyrDRIWindowKey = &ephyrDRIWindowKey; -static DevPrivateKey ephyrDRIScreenKey = &ephyrDRIScreenKey; +static int ephyrDRIWindowKeyIndex; +static DevPrivateKey ephyrDRIWindowKey = &ephyrDRIWindowKeyIndex; +static int ephyrDRIScreenKeyIndex; +static DevPrivateKey ephyrDRIScreenKey = &ephyrDRIScreenKeyIndex; #define GET_EPHYR_DRI_WINDOW_PRIV(win) ((EphyrDRIWindowPrivPtr) \ dixLookupPrivate(&(win)->devPrivates, ephyrDRIWindowKey)) @@ -152,7 +150,7 @@ ephyrDRIExtensionInit (ScreenPtr a_screen) XF86DRINumberErrors, ProcXF86DRIDispatch, SProcXF86DRIDispatch, - XF86DRIResetProc, + NULL, StandardMinorOpcode))) { DRIReqCode = (unsigned char)extEntry->base; DRIErrorBase = extEntry->errorBase; @@ -221,8 +219,7 @@ ephyrDRICreateWindow (WindowPtr a_win) && screen_priv->CreateWindow, FALSE) ; - EPHYR_LOG ("enter. win:%#x\n", - (unsigned int)a_win) ; + EPHYR_LOG ("enter. win:%p\n", a_win) ; screen->CreateWindow = screen_priv->CreateWindow ; is_ok = (*screen->CreateWindow) (a_win) ; @@ -296,7 +293,7 @@ ephyrDRIMoveWindow (WindowPtr a_win, } screen->MoveWindow = ephyrDRIMoveWindow ; - EPHYR_LOG ("window: %#x\n", (unsigned int)a_win) ; + EPHYR_LOG ("window: %p\n", a_win) ; if (!a_win->parent) { EPHYR_LOG ("cannot move root window\n") ; is_ok = TRUE ; @@ -356,7 +353,7 @@ ephyrDRIPositionWindow (WindowPtr a_win, } screen->PositionWindow = ephyrDRIPositionWindow ; - EPHYR_LOG ("window: %#x\n", (unsigned int)a_win) ; + EPHYR_LOG ("window: %p\n", a_win) ; win_priv = GET_EPHYR_DRI_WINDOW_PRIV (a_win) ; if (!win_priv) { EPHYR_LOG ("not a DRI peered window\n") ; @@ -408,7 +405,7 @@ ephyrDRIClipNotify (WindowPtr a_win, } screen->ClipNotify = ephyrDRIClipNotify ; - EPHYR_LOG ("window: %#x\n", (unsigned int)a_win) ; + EPHYR_LOG ("window: %p\n", a_win) ; win_priv = GET_EPHYR_DRI_WINDOW_PRIV (a_win) ; if (!win_priv) { EPHYR_LOG ("not a DRI peered window\n") ; @@ -615,14 +612,6 @@ out: } -/*ARGSUSED*/ -static void -XF86DRIResetProc ( - ExtensionEntry* extEntry -) -{ -} - static int ProcXF86DRIQueryVersion (register ClientPtr client) { @@ -914,7 +903,7 @@ appendWindowPairToList (WindowPtr a_local, EPHYR_RETURN_VAL_IF_FAIL (a_local, FALSE) ; - EPHYR_LOG ("(local,remote):(%#x, %d)\n", (unsigned int)a_local, a_remote) ; + EPHYR_LOG ("(local,remote):(%p, %d)\n", a_local, a_remote) ; for (i=0; i < NUM_WINDOW_PAIRS; i++) { if (window_pairs[i].local == NULL) { @@ -937,8 +926,8 @@ findWindowPairFromLocal (WindowPtr a_local, for (i=0; i < NUM_WINDOW_PAIRS; i++) { if (window_pairs[i].local == a_local) { *a_pair = &window_pairs[i] ; - EPHYR_LOG ("found (%#x, %d)\n", - (unsigned int)(*a_pair)->local, + EPHYR_LOG ("found (%p, %d)\n", + (*a_pair)->local, (*a_pair)->remote) ; return TRUE ; } @@ -978,7 +967,7 @@ createHostPeerWindow (const WindowPtr a_win, EPHYR_RETURN_VAL_IF_FAIL (a_win->drawable.pScreen, FALSE) ; - EPHYR_LOG ("enter. a_win '%#x'\n", (unsigned int)a_win) ; + EPHYR_LOG ("enter. a_win '%p'\n", a_win) ; if (!getWindowVisual (a_win, &visual)) { EPHYR_LOG_ERROR ("failed to get window visual\n") ; goto out ; @@ -1058,12 +1047,12 @@ ProcXF86DRICreateDrawable (ClientPtr client) EPHYR_LOG_ERROR ("non drawable windows are not yet supported\n") ; return BadImplementation ; } - EPHYR_LOG ("lookedup drawable %#x\n", (unsigned int)drawable) ; + EPHYR_LOG ("lookedup drawable %p\n", drawable) ; window = (WindowPtr)drawable; if (findWindowPairFromLocal (window, &pair) && pair) { remote_win = pair->remote ; - EPHYR_LOG ("found window '%#x' paire with remote '%d'\n", - (unsigned int)window, remote_win) ; + EPHYR_LOG ("found window '%p' paire with remote '%d'\n", + window, remote_win) ; } else if (!createHostPeerWindow (window, &remote_win)) { EPHYR_LOG_ERROR ("failed to create host peer window\n") ; return BadAlloc ; @@ -1084,8 +1073,8 @@ ProcXF86DRICreateDrawable (ClientPtr client) return BadAlloc ; } dixSetPrivate(&window->devPrivates, ephyrDRIWindowKey, win_priv); - EPHYR_LOG ("paired window '%#x' with remote '%d'\n", - (unsigned int)window, remote_win) ; + EPHYR_LOG ("paired window '%p' with remote '%d'\n", + window, remote_win) ; } WriteToClient(client, sizeof(xXF86DRICreateDrawableReply), (char *)&rep); @@ -1439,5 +1428,3 @@ SProcXF86DRIDispatch (register ClientPtr client) } } } - -#endif /*XEPHYR_DRI*/ diff --git a/xorg-server/hw/kdrive/ephyr/ephyrglxext.c b/xorg-server/hw/kdrive/ephyr/ephyrglxext.c index 2cc14517b..63c4ceda4 100644 --- a/xorg-server/hw/kdrive/ephyr/ephyrglxext.c +++ b/xorg-server/hw/kdrive/ephyr/ephyrglxext.c @@ -42,8 +42,6 @@ #include "hostx.h" -#ifdef XEPHYR_DRI - #ifndef TRUE #define TRUE 1 #endif @@ -727,6 +725,3 @@ ephyrGLXIsDirectSwap (__GLXclientState *a_cl, GLbyte *a_pc) { return ephyrGLXIsDirectReal (a_cl, a_pc, TRUE) ; } - -#endif /*XEPHYR_DRI*/ - diff --git a/xorg-server/hw/kdrive/ephyr/ephyrhostglx.c b/xorg-server/hw/kdrive/ephyr/ephyrhostglx.c index 1eec4e02b..a05bba2e3 100644 --- a/xorg-server/hw/kdrive/ephyr/ephyrhostglx.c +++ b/xorg-server/hw/kdrive/ephyr/ephyrhostglx.c @@ -52,7 +52,6 @@ #include "ephyrlog.h" #include "hostx.h" -#ifdef XEPHYR_DRI enum VisualConfRequestType { EPHYR_GET_FB_CONFIG, EPHYR_VENDOR_PRIV_GET_FB_CONFIG_SGIX, @@ -698,6 +697,3 @@ out: EPHYR_LOG ("leave\n") ; return is_ok ; } - -#endif /*XEPHYR_DRI*/ - diff --git a/xorg-server/hw/kdrive/ephyr/ephyrinit.c b/xorg-server/hw/kdrive/ephyr/ephyrinit.c index 47ddb3d82..1399d7aaa 100644 --- a/xorg-server/hw/kdrive/ephyr/ephyrinit.c +++ b/xorg-server/hw/kdrive/ephyr/ephyrinit.c @@ -64,7 +64,7 @@ InitInput (int argc, char **argv) { KdKeyboardInfo *ki; KdPointerInfo *pi; - + KdAddKeyboardDriver(&EphyrKeyboardDriver); #ifdef linux KdAddKeyboardDriver(&LinuxEvdevKeyboardDriver); @@ -267,43 +267,51 @@ OsVendorInit (void) /* 'Fake' cursor stuff, could be improved */ static Bool -ephyrRealizeCursor(ScreenPtr pScreen, CursorPtr pCursor) +ephyrRealizeCursor(DeviceIntPtr pDev, ScreenPtr pScreen, CursorPtr pCursor) { return TRUE; } static Bool -ephyrUnrealizeCursor(ScreenPtr pScreen, CursorPtr pCursor) +ephyrUnrealizeCursor(DeviceIntPtr pDev, ScreenPtr pScreen, CursorPtr pCursor) { return TRUE; } static void -ephyrSetCursor(ScreenPtr pScreen, CursorPtr pCursor, int x, int y) +ephyrSetCursor(DeviceIntPtr pDev, ScreenPtr pScreen, CursorPtr pCursor, int x, int y) { ; } static void -ephyrMoveCursor(ScreenPtr pScreen, int x, int y) +ephyrMoveCursor(DeviceIntPtr pDev, ScreenPtr pScreen, int x, int y) { ; } +static Bool +ephyrDeviceCursorInitialize(DeviceIntPtr pDev, ScreenPtr pScreen) +{ + return TRUE; +} + miPointerSpriteFuncRec EphyrPointerSpriteFuncs = { ephyrRealizeCursor, ephyrUnrealizeCursor, ephyrSetCursor, ephyrMoveCursor, + ephyrDeviceCursorInitialize, + NULL }; Bool ephyrCursorInit(ScreenPtr pScreen) { - miPointerInitialize(pScreen, + miPointerInitialize(pScreen, &EphyrPointerSpriteFuncs, - &ephyrPointerScreenFuncs, + &ephyrPointerScreenFuncs, FALSE); return TRUE; @@ -328,18 +336,18 @@ KdCardFuncs ephyrFuncs = { ephyrRestore, /* restore */ ephyrScreenFini, /* scrfini */ ephyrCardFini, /* cardfini */ - - 0, /* initCursor */ - 0, /* enableCursor */ + + 0, /* initCursor */ + 0, /* enableCursor */ 0, /* disableCursor */ 0, /* finiCursor */ 0, /* recolorCursor */ - + 0, /* initAccel */ 0, /* enableAccel */ 0, /* disableAccel */ 0, /* finiAccel */ - - ephyrGetColors, /* getColors */ + + ephyrGetColors,/* getColors */ ephyrPutColors, /* putColors */ }; diff --git a/xorg-server/hw/kdrive/ephyr/ephyrlog.h b/xorg-server/hw/kdrive/ephyr/ephyrlog.h index 71f797777..a07a0a097 100644 --- a/xorg-server/hw/kdrive/ephyr/ephyrlog.h +++ b/xorg-server/hw/kdrive/ephyr/ephyrlog.h @@ -31,11 +31,11 @@ #include #include "os.h" -#ifdef NDEBUG +#ifndef DEBUG /*we are not in debug mode*/ #define EPHYR_LOG(...) #define EPHYR_LOG_ERROR(...) -#endif /*NDEBUG*/ +#endif /*!DEBUG*/ #define ERROR_LOG_LEVEL 3 #define INFO_LOG_LEVEL 4 diff --git a/xorg-server/hw/kdrive/ephyr/ephyrvideo.c b/xorg-server/hw/kdrive/ephyr/ephyrvideo.c index bfe4d7223..c4eb06607 100644 --- a/xorg-server/hw/kdrive/ephyr/ephyrvideo.c +++ b/xorg-server/hw/kdrive/ephyr/ephyrvideo.c @@ -1259,8 +1259,8 @@ ephyrQueryImageAttributes (KdScreenInfo *a_info, EPHYR_RETURN_VAL_IF_FAIL (a_w && a_h, FALSE) ; - EPHYR_LOG ("enter: dim (%dx%d), pitches: %#x, offsets: %#x\n", - *a_w, *a_h, (unsigned int)a_pitches, (unsigned int)a_offsets) ; + EPHYR_LOG ("enter: dim (%dx%d), pitches: %p, offsets: %p\n", + *a_w, *a_h, a_pitches, a_offsets) ; if (!ephyrHostXVQueryImageAttributes (s_base_port_id, a_id, diff --git a/xorg-server/hw/kdrive/ephyr/hostx.c b/xorg-server/hw/kdrive/ephyr/hostx.c index c870a291d..d289d7335 100644 --- a/xorg-server/hw/kdrive/ephyr/hostx.c +++ b/xorg-server/hw/kdrive/ephyr/hostx.c @@ -57,12 +57,12 @@ #include #include #include -#ifdef XEPHYR_DRI +#ifdef XF86DRI #include -#endif /*XEPHYR_DRI*/ +#endif /* XF86DRI */ #include "ephyrlog.h" -#ifdef XEPHYR_DRI +#ifdef XF86DRI extern Bool XF86DRIQueryExtension (Display *dpy, int *event_basep, int *error_basep); @@ -577,14 +577,37 @@ hostx_get_visual_masks (EphyrScreenInfo screen, } } +static int +hostx_calculate_color_shift(unsigned long mask) +{ + int shift = 1; + /* count # of bits in mask */ + while (mask=(mask>>1)) shift++; + /* cmap entry is an unsigned char so adjust it by size of that */ + shift = shift - sizeof(unsigned char) * 8; + if (shift < 0) shift = 0; + return shift; +} + void hostx_set_cmap_entry(unsigned char idx, unsigned char r, unsigned char g, unsigned char b) { - /* XXX Will likely break for 8 on 16, not sure if this is correct */ - HostX.cmap[idx] = (r << 16) | (g << 8) | (b); +/* need to calculate the shifts for RGB because server could be BGR. */ +/* XXX Not sure if this is correct for 8 on 16, but this works for 8 on 24.*/ + static int rshift, bshift, gshift = 0; + static int first_time = 1; + if (first_time) { + first_time = 0; + rshift = hostx_calculate_color_shift(HostX.visual->red_mask); + gshift = hostx_calculate_color_shift(HostX.visual->green_mask); + bshift = hostx_calculate_color_shift(HostX.visual->blue_mask); + } + HostX.cmap[idx] = ((r << rshift) & HostX.visual->red_mask) | + ((g << gshift) & HostX.visual->green_mask) | + ((b << bshift) & HostX.visual->blue_mask); } /** @@ -1327,7 +1350,7 @@ hostx_has_xshape (void) return TRUE; } -#ifdef XEPHYR_DRI +#ifdef XF86DRI typedef struct { int is_valid ; int local_id ; @@ -1430,5 +1453,4 @@ hostx_has_glx (void) return TRUE ; } -#endif /*XEPHYR_DRI*/ - +#endif /* XF86DRI */ diff --git a/xorg-server/hw/kdrive/ephyr/hostx.h b/xorg-server/hw/kdrive/ephyr/hostx.h index 47ba61b5b..c1b1958de 100644 --- a/xorg-server/hw/kdrive/ephyr/hostx.h +++ b/xorg-server/hw/kdrive/ephyr/hostx.h @@ -244,7 +244,7 @@ int hostx_set_window_clipping_rectangles (int a_window, int a_num_rects) ; int hostx_has_xshape (void) ; -#ifdef XEPHYR_DRI +#ifdef XF86DRI int hostx_lookup_peer_window (void *a_local_window, int *a_host_peer /*out parameter*/) ; int @@ -256,6 +256,6 @@ hostx_get_resource_id_peer (int a_local_resource_id, int hostx_has_dri (void) ; int hostx_has_glx (void) ; -#endif /*XEPHYR_DRI*/ +#endif /* XF86DRI */ #endif /*_XLIBS_STUFF_H_*/ diff --git a/xorg-server/hw/kdrive/ephyr/xf86dri.h b/xorg-server/hw/kdrive/ephyr/xf86dri.h new file mode 100644 index 000000000..cd650b582 --- /dev/null +++ b/xorg-server/hw/kdrive/ephyr/xf86dri.h @@ -0,0 +1,120 @@ +/* $XFree86: xc/lib/GL/dri/xf86dri.h,v 1.8 2002/10/30 12:51:25 alanh Exp $ */ +/************************************************************************** + +Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas. +Copyright 2000 VA Linux Systems, 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 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. + +**************************************************************************/ + +/** + * \file xf86dri.h + * Protocol numbers and function prototypes for DRI X protocol. + * + * \author Kevin E. Martin + * \author Jens Owen + * \author Rickard E. (Rik) Faith + */ + +#ifndef _XF86DRI_H_ +#define _XF86DRI_H_ + +#include +#include + +#define X_XF86DRIQueryVersion 0 +#define X_XF86DRIQueryDirectRenderingCapable 1 +#define X_XF86DRIOpenConnection 2 +#define X_XF86DRICloseConnection 3 +#define X_XF86DRIGetClientDriverName 4 +#define X_XF86DRICreateContext 5 +#define X_XF86DRIDestroyContext 6 +#define X_XF86DRICreateDrawable 7 +#define X_XF86DRIDestroyDrawable 8 +#define X_XF86DRIGetDrawableInfo 9 +#define X_XF86DRIGetDeviceInfo 10 +#define X_XF86DRIAuthConnection 11 +#define X_XF86DRIOpenFullScreen 12 /* Deprecated */ +#define X_XF86DRICloseFullScreen 13 /* Deprecated */ + +#define XF86DRINumberEvents 0 + +#define XF86DRIClientNotLocal 0 +#define XF86DRIOperationNotSupported 1 +#define XF86DRINumberErrors (XF86DRIOperationNotSupported + 1) + +#ifndef _XF86DRI_SERVER_ + +_XFUNCPROTOBEGIN + +Bool XF86DRIQueryExtension( Display *dpy, int *event_base, int *error_base ); + +Bool XF86DRIQueryVersion( Display *dpy, int *majorVersion, int *minorVersion, + int *patchVersion ); + +Bool XF86DRIQueryDirectRenderingCapable( Display *dpy, int screen, + Bool *isCapable ); + +Bool XF86DRIOpenConnection( Display *dpy, int screen, drm_handle_t *hSAREA, + char **busIDString ); + +Bool XF86DRIAuthConnection( Display *dpy, int screen, drm_magic_t magic ); + +Bool XF86DRICloseConnection( Display *dpy, int screen ); + +Bool XF86DRIGetClientDriverName( Display *dpy, int screen, + int *ddxDriverMajorVersion, int *ddxDriverMinorVersion, + int *ddxDriverPatchVersion, char **clientDriverName ); + +Bool XF86DRICreateContext( Display *dpy, int screen, Visual *visual, + XID *ptr_to_returned_context_id, drm_context_t *hHWContext ); + +Bool XF86DRICreateContextWithConfig( Display *dpy, int screen, int configID, + XID *ptr_to_returned_context_id, drm_context_t *hHWContext ); + +extern GLboolean XF86DRIDestroyContext( Display *dpy, int screen, + XID context_id ); + +extern GLboolean XF86DRICreateDrawable( Display *dpy, int screen, + XID drawable, drm_drawable_t *hHWDrawable ); + +extern GLboolean XF86DRIDestroyDrawable( Display *dpy, int screen, + XID drawable); + +Bool XF86DRIGetDrawableInfo( Display *dpy, int screen, Drawable drawable, + unsigned int *index, unsigned int *stamp, + int *X, int *Y, int *W, int *H, + int *numClipRects, drm_clip_rect_t ** pClipRects, + int *backX, int *backY, + int *numBackClipRects, drm_clip_rect_t **pBackClipRects ); + +Bool XF86DRIGetDeviceInfo( Display *dpy, int screen, + drm_handle_t *hFrameBuffer, int *fbOrigin, int *fbSize, + int *fbStride, int *devPrivateSize, void **pDevPrivate ); + +_XFUNCPROTOEND + +#endif /* _XF86DRI_SERVER_ */ + +#endif /* _XF86DRI_H_ */ + diff --git a/xorg-server/hw/kdrive/epson/Makefile.am b/xorg-server/hw/kdrive/epson/Makefile.am deleted file mode 100644 index 14bb04996..000000000 --- a/xorg-server/hw/kdrive/epson/Makefile.am +++ /dev/null @@ -1,36 +0,0 @@ -INCLUDES = \ - @KDRIVE_INCS@ \ - @KDRIVE_CFLAGS@ - -bin_PROGRAMS = Xepson - -noinst_LIBRARIES = libepson.a - -libepson_a_SOURCES = \ - epson13806.c \ - epson13806.h \ - epson13806draw.c\ - epson13806draw.h\ - epson13806reg.h - -Xepson_SOURCES = \ - epson13806stub.c - -EPSON_LIBS = \ - libepson.a \ - @KDRIVE_LIBS@ - -if GLX -Xepson_LDFLAGS = $(LD_EXPORT_SYMBOLS_FLAG) -endif - -Xepson_LDADD = \ - $(EPSON_LIBS) \ - @KDRIVE_LIBS@ - -Xepson_DEPENDENCIES = \ - libepson.a \ - @KDRIVE_LOCAL_LIBS@ - -relink: - rm -f $(bin_PROGRAMS) && make $(bin_PROGRAMS) diff --git a/xorg-server/hw/kdrive/epson/Makefile.in b/xorg-server/hw/kdrive/epson/Makefile.in deleted file mode 100644 index 7e7083e5b..000000000 --- a/xorg-server/hw/kdrive/epson/Makefile.in +++ /dev/null @@ -1,716 +0,0 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008 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 = Xepson$(EXEEXT) -subdir = hw/kdrive/epson -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 -libepson_a_AR = $(AR) $(ARFLAGS) -libepson_a_LIBADD = -am_libepson_a_OBJECTS = epson13806.$(OBJEXT) epson13806draw.$(OBJEXT) -libepson_a_OBJECTS = $(am_libepson_a_OBJECTS) -am__installdirs = "$(DESTDIR)$(bindir)" -binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) -PROGRAMS = $(bin_PROGRAMS) -am_Xepson_OBJECTS = epson13806stub.$(OBJEXT) -Xepson_OBJECTS = $(am_Xepson_OBJECTS) -am__DEPENDENCIES_1 = libepson.a -Xepson_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(Xepson_LDFLAGS) \ - $(LDFLAGS) -o $@ -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include -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 = $(libepson_a_SOURCES) $(Xepson_SOURCES) -DIST_SOURCES = $(libepson_a_SOURCES) $(Xepson_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@ -DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ -DRI2PROTO_LIBS = @DRI2PROTO_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@ -DSYMUTIL = @DSYMUTIL@ -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@ -GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ -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@ -LAUNCHD = @LAUNCHD@ -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@ -NMEDIT = @NMEDIT@ -OBJC = @OBJC@ -OBJCCLD = @OBJCCLD@ -OBJCDEPMODE = @OBJCDEPMODE@ -OBJCFLAGS = @OBJCFLAGS@ -OBJCLINK = @OBJCLINK@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ -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@ -PCIACCESS_CFLAGS = @PCIACCESS_CFLAGS@ -PCIACCESS_LIBS = @PCIACCESS_LIBS@ -PCI_TXT_IDS_PATH = @PCI_TXT_IDS_PATH@ -PERL = @PERL@ -PKG_CONFIG = @PKG_CONFIG@ -PROJECTROOT = @PROJECTROOT@ -PS2PDF = @PS2PDF@ -RANLIB = @RANLIB@ -RAWCPP = @RAWCPP@ -RAWCPPFLAGS = @RAWCPPFLAGS@ -SED = @SED@ -SERVER_MISC_CONFIG_PATH = @SERVER_MISC_CONFIG_PATH@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ -SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ -STRIP = @STRIP@ -TSLIB_CFLAGS = @TSLIB_CFLAGS@ -TSLIB_LIBS = @TSLIB_LIBS@ -UTILS_SYS_LIBS = @UTILS_SYS_LIBS@ -VENDOR_MAN_VERSION = @VENDOR_MAN_VERSION@ -VENDOR_NAME = @VENDOR_NAME@ -VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ -VENDOR_RELEASE = @VENDOR_RELEASE@ -VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ -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_CFLAGS = @XDMX_CFLAGS@ -XDMX_LIBS = @XDMX_LIBS@ -XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ -XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ -XEPHYR_INCS = @XEPHYR_INCS@ -XEPHYR_LIBS = @XEPHYR_LIBS@ -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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ -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@ -XNEST_SYS_LIBS = @XNEST_SYS_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_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@ -XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_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@ -XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ -XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ -XTSTEXAMPLES_DEP_LIBS = @XTSTEXAMPLES_DEP_LIBS@ -XVFB_LIBS = @XVFB_LIBS@ -XVFB_SYS_LIBS = @XVFB_SYS_LIBS@ -XWINMODULES_CFLAGS = @XWINMODULES_CFLAGS@ -XWINMODULES_LIBS = @XWINMODULES_LIBS@ -XWIN_LIBS = @XWIN_LIBS@ -XWIN_SERVER_NAME = @XWIN_SERVER_NAME@ -XWIN_SYS_LIBS = @XWIN_SYS_LIBS@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -__XCONFIGFILE__ = @__XCONFIGFILE__@ -abi_ansic = @abi_ansic@ -abi_extension = @abi_extension@ -abi_font = @abi_font@ -abi_videodrv = @abi_videodrv@ -abi_xinput = @abi_xinput@ -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@ -launchagentsdir = @launchagentsdir@ -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_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ -INCLUDES = \ - @KDRIVE_INCS@ \ - @KDRIVE_CFLAGS@ - -noinst_LIBRARIES = libepson.a -libepson_a_SOURCES = \ - epson13806.c \ - epson13806.h \ - epson13806draw.c\ - epson13806draw.h\ - epson13806reg.h - -Xepson_SOURCES = \ - epson13806stub.c - -EPSON_LIBS = \ - libepson.a \ - @KDRIVE_LIBS@ - -@GLX_TRUE@Xepson_LDFLAGS = $(LD_EXPORT_SYMBOLS_FLAG) -Xepson_LDADD = \ - $(EPSON_LIBS) \ - @KDRIVE_LIBS@ - -Xepson_DEPENDENCIES = \ - libepson.a \ - @KDRIVE_LOCAL_LIBS@ - -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/kdrive/epson/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign hw/kdrive/epson/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) -libepson.a: $(libepson_a_OBJECTS) $(libepson_a_DEPENDENCIES) - -rm -f libepson.a - $(libepson_a_AR) libepson.a $(libepson_a_OBJECTS) $(libepson_a_LIBADD) - $(RANLIB) libepson.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) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ - $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --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 -Xepson$(EXEEXT): $(Xepson_OBJECTS) $(Xepson_DEPENDENCIES) - @rm -f Xepson$(EXEEXT) - $(Xepson_LINK) $(Xepson_OBJECTS) $(Xepson_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/epson13806.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/epson13806draw.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/epson13806stub.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; nonemtpy = 1; } \ - END { if (nonempty) { 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; nonempty = 1; } \ - END { if (nonempty) { 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=; \ - 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; nonempty = 1; } \ - END { if (nonempty) { 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) -installdirs: - for dir in "$(DESTDIR)$(bindir)"; 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-dvi: install-dvi-am - -install-exec-am: install-binPROGRAMS - -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-binPROGRAMS - -.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-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-binPROGRAMS - - -relink: - rm -f $(bin_PROGRAMS) && make $(bin_PROGRAMS) -# 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/xorg-server/hw/kdrive/epson/epson13806.c b/xorg-server/hw/kdrive/epson/epson13806.c deleted file mode 100644 index 6cf8c9ad9..000000000 --- a/xorg-server/hw/kdrive/epson/epson13806.c +++ /dev/null @@ -1,604 +0,0 @@ -/* - * 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. - */ -/* - * epson13806.c - Implementation of hardware accelerated functions for - * Epson S1D13806 graphics controller. - * - * History: - * 28-Jan-04 C.Stylianou PRJ NBL: Created from fbdev.c. - * 30-Mar-04 Phil Blundell/Peter Naulls Integration with XFree 4.3 - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include - -#include "epson13806.h" -#include "epson13806reg.h" - -extern int KdTsPhyScreen; - -Bool -epsonInitialize (KdCardInfo *card, EpsonPriv *priv) -{ - int k; - unsigned long off; - if ((priv->fd = open("/dev/fb0", O_RDWR)) < 0) { - perror("Error opening /dev/fb0\n"); - return FALSE; - } - - if ((k=ioctl(priv->fd, FBIOGET_FSCREENINFO, &priv->fix)) < 0) { - perror("Error with /dev/fb ioctl FIOGET_FSCREENINFO"); - close (priv->fd); - return FALSE; - } - - if ((k=ioctl(priv->fd, FBIOGET_VSCREENINFO, &priv->var)) < 0) { - perror("Error with /dev/fb ioctl FIOGET_VSCREENINFO"); - close (priv->fd); - return FALSE; - } - - priv->fb_base = KdMapDevice (EPSON13806_PHYSICAL_VMEM_ADDR, EPSON13806_VMEM_SIZE); - - - if (priv->fb_base == (char *)-1) { - perror("ERROR: mmap framebuffer fails!"); - close (priv->fd); - return FALSE; - } - - off = (unsigned long) priv->fix.smem_start % (unsigned long) getpagesize(); - priv->fb = priv->fb_base + off; - return TRUE; -} - -Bool -epsonCardInit (KdCardInfo *card) -{ - EpsonPriv *priv; - - priv = (EpsonPriv *) xalloc (sizeof (EpsonPriv)); - if (!priv) - return FALSE; - - if (!epsonInitialize (card, priv)) - { - xfree (priv); - return FALSE; - } - card->driver = priv; - - // Call InitEpson to map onto Epson registers - initEpson13806(); - - return TRUE; -} - -#define FBDEV_KLUDGE_FORMAT -#ifdef FBDEV_KLUDGE_FORMAT -static Pixel -epsonMakeContig (Pixel orig, Pixel others) -{ - Pixel low; - - low = lowbit (orig) >> 1; - while (low && (others & low) == 0) - { - orig |= low; - low >>= 1; - } - return orig; -} -#endif - -Bool -epsonScreenInitialize (KdScreenInfo *screen, EpsonScrPriv *scrpriv) -{ - EpsonPriv *priv = screen->card->driver; - Pixel allbits; - int depth; - Bool gray; - depth = priv->var.bits_per_pixel; - gray = priv->var.grayscale; - - - screen->fb[0].visuals = (1 << TrueColor); -#define Mask(o,l) (((1 << l) - 1) << o) - screen->fb[0].redMask = Mask (priv->var.red.offset, priv->var.red.length); - screen->fb[0].greenMask = Mask (priv->var.green.offset, priv->var.green.length); - screen->fb[0].blueMask = Mask (priv->var.blue.offset, priv->var.blue.length); -#ifdef FBDEV_KLUDGE_FORMAT - /* - * This is a kludge so that Render will work -- fill in the gaps - * in the pixel - */ - screen->fb[0].redMask = epsonMakeContig (screen->fb[0].redMask, - screen->fb[0].greenMask| - screen->fb[0].blueMask); - - screen->fb[0].greenMask = epsonMakeContig (screen->fb[0].greenMask, - screen->fb[0].redMask| - screen->fb[0].blueMask); - - screen->fb[0].blueMask = epsonMakeContig (screen->fb[0].blueMask, - screen->fb[0].redMask| - screen->fb[0].greenMask); - -#endif - allbits = screen->fb[0].redMask | screen->fb[0].greenMask | screen->fb[0].blueMask; - depth = 32; - while (depth && !(allbits & (1 << (depth - 1)))) - depth--; - - screen->rate = 60; - scrpriv->randr = screen->randr; - - { - screen->fb[0].depth = depth; - screen->fb[0].bitsPerPixel = priv->var.bits_per_pixel; - screen->width = priv->var.xres; - screen->height = priv->var.yres; - screen->fb[0].byteStride = priv->fix.line_length; - screen->fb[0].pixelStride = (priv->fix.line_length * 8 / - priv->var.bits_per_pixel); - screen->fb[0].frameBuffer = (CARD8 *) (priv->fb); - screen->off_screen_base = screen->fb[0].byteStride * screen->height; - screen->memory_base = priv->fb; - screen->memory_size = EPSON13806_VMEM_SIZE; - } - return TRUE; -} - -Bool -epsonScreenInit (KdScreenInfo *screen) -{ - EpsonScrPriv *scrpriv; - - scrpriv = xalloc (sizeof (EpsonScrPriv)); - if (!scrpriv) - return FALSE; - memset (scrpriv, '\0', sizeof (EpsonScrPriv)); - screen->driver = scrpriv; - if (!epsonScreenInitialize (screen, scrpriv)) { - screen->driver = 0; - xfree (scrpriv); - return FALSE; - } - return TRUE; -} - -static void * -epsonWindowLinear (ScreenPtr pScreen, - CARD32 row, - CARD32 offset, - int mode, - CARD32 *size, - void *closure) -{ - KdScreenPriv(pScreen); - EpsonPriv *priv = pScreenPriv->card->driver; - - if (!pScreenPriv->enabled) - return 0; - *size = priv->fix.line_length; - return (CARD8 *) priv->fb + row * priv->fix.line_length + offset; -} - - -#ifdef RANDR -static Bool -epsonRandRGetInfo (ScreenPtr pScreen, Rotation *rotations) -{ - KdScreenPriv(pScreen); - KdScreenInfo *screen = pScreenPriv->screen; - EpsonScrPriv *scrpriv = screen->driver; -#if 0 - RRVisualGroupPtr pVisualGroup; - RRGroupOfVisualGroupPtr pGroupOfVisualGroup; -#endif - RRScreenSizePtr pSize; - Rotation randr; - int n; - - *rotations = RR_Rotate_0|RR_Rotate_90|RR_Rotate_180|RR_Rotate_270; - - for (n = 0; n < pScreen->numDepths; n++) - if (pScreen->allowedDepths[n].numVids) - break; - if (n == pScreen->numDepths) - return FALSE; - -#if 0 - pVisualGroup = RRCreateVisualGroup (pScreen); - if (!pVisualGroup) - return FALSE; - - if (!RRAddDepthToVisualGroup (pScreen, pVisualGroup, &pScreen->allowedDepths[n])) { - RRDestroyVisualGroup (pScreen, pVisualGroup); - return FALSE; - } - - pVisualGroup = RRRegisterVisualGroup (pScreen, pVisualGroup); - if (!pVisualGroup) - return FALSE; - - pGroupOfVisualGroup = RRCreateGroupOfVisualGroup (pScreen); - - if (!RRAddVisualGroupToGroupOfVisualGroup (pScreen, - pGroupOfVisualGroup, - pVisualGroup)) - { - RRDestroyGroupOfVisualGroup (pScreen, pGroupOfVisualGroup); - /* pVisualGroup left until screen closed */ - return FALSE; - } - - pGroupOfVisualGroup = RRRegisterGroupOfVisualGroup (pScreen, pGroupOfVisualGroup); - if (!pGroupOfVisualGroup) - return FALSE; -#endif - - pSize = RRRegisterSize (pScreen, - screen->width, - screen->height, - screen->width_mm, - screen->height_mm); - - randr = KdSubRotation (scrpriv->randr, screen->randr); - - RRSetCurrentConfig (pScreen, randr, RR_Rotate_0, pSize); - - return TRUE; -} - -static Bool -epsonRandRSetConfig (ScreenPtr pScreen, - Rotation randr, - int rate, - RRScreenSizePtr pSize) -{ - KdScreenPriv(pScreen); - KdScreenInfo *screen = pScreenPriv->screen; - EpsonScrPriv *scrpriv = screen->driver; - Bool wasEnabled = pScreenPriv->enabled; - - randr = KdAddRotation (randr, screen->randr); - - if (scrpriv->randr != randr) - { - if (wasEnabled) - KdDisableScreen (pScreen); - - scrpriv->randr = randr; - - if (wasEnabled) - KdEnableScreen (pScreen); - } - return TRUE; -} - -static Bool -epsonRandRInit (ScreenPtr pScreen) -{ - rrScrPrivPtr pScrPriv; - - if (!RRScreenInit (pScreen)) - return FALSE; - - pScrPriv = rrGetScrPriv(pScreen); - pScrPriv->rrGetInfo = epsonRandRGetInfo; - pScrPriv->rrSetConfig = epsonRandRSetConfig; - return TRUE; -} -#endif - -static Bool -epsonCreateColormap (ColormapPtr pmap) -{ - ScreenPtr pScreen = pmap->pScreen; - KdScreenPriv(pScreen); - EpsonPriv *priv = pScreenPriv->card->driver; - VisualPtr pVisual; - int i; - int nent; - xColorItem *pdefs; - - switch (priv->fix.visual) { - case FB_VISUAL_STATIC_PSEUDOCOLOR: - pVisual = pmap->pVisual; - nent = pVisual->ColormapEntries; - pdefs = xalloc (nent * sizeof (xColorItem)); - if (!pdefs) - return FALSE; - for (i = 0; i < nent; i++) - pdefs[i].pixel = i; - epsonGetColors (pScreen, 0, nent, pdefs); - for (i = 0; i < nent; i++) - { - pmap->red[i].co.local.red = pdefs[i].red; - pmap->red[i].co.local.green = pdefs[i].green; - pmap->red[i].co.local.blue = pdefs[i].blue; - } - xfree (pdefs); - return TRUE; - - default: - return fbInitializeColormap (pmap); - } -} - -Bool -epsonInitScreen (ScreenPtr pScreen) -{ -#ifdef TOUCHSCREEN - KdTsPhyScreen = pScreen->myNum; -#endif - - pScreen->CreateColormap = epsonCreateColormap; - - return TRUE; -} - -static Bool -epsonFinishInitScreen (ScreenPtr pScreen) -{ - if (!shadowSetup (pScreen)) - return FALSE; - -#ifdef RANDR - if (!epsonRandRInit (pScreen)) - return FALSE; -#endif - - return TRUE; -} - -static Bool -epsonSetShadow (ScreenPtr pScreen) -{ - KdScreenPriv(pScreen); - KdScreenInfo *screen = pScreenPriv->screen; - EpsonScrPriv *scrpriv = screen->driver; - ShadowUpdateProc update; - ShadowWindowProc window; - - window = epsonWindowLinear; - update = shadowUpdatePacked; - - return KdShadowSet (pScreen, scrpriv->randr, update, window); -} - -static Bool -epsonCreateResources (ScreenPtr pScreen) -{ - return epsonSetShadow (pScreen); -} - -void -epsonPreserve (KdCardInfo *card) -{ -} - -Bool -epsonEnable (ScreenPtr pScreen) -{ - KdScreenPriv(pScreen); - EpsonPriv *priv = pScreenPriv->card->driver; - int k; - - priv->var.activate = FB_ACTIVATE_NOW|FB_CHANGE_CMAP_VBL; - - /* display it on the LCD */ - k = ioctl (priv->fd, FBIOPUT_VSCREENINFO, &priv->var); - if (k < 0) { - perror ("FBIOPUT_VSCREENINFO"); - return FALSE; - } - - k = ioctl (priv->fd, FBIOGET_FSCREENINFO, &priv->fix); - if (k < 0) { - perror ("FBIOGET_FSCREENINFO"); - return FALSE; - } - - if (priv->fix.visual == FB_VISUAL_DIRECTCOLOR) { - struct fb_cmap cmap; - int i; - - for (i = 0; - i < (1 << priv->var.red.length) || - i < (1 << priv->var.green.length) || - i < (1 << priv->var.blue.length); i++) { - priv->red[i] = i * 65535 / ((1 << priv->var.red.length) - 1); - priv->green[i] = i * 65535 / ((1 << priv->var.green.length) - 1); - priv->blue[i] = i * 65535 / ((1 << priv->var.blue.length) - 1); - } - cmap.start = 0; - cmap.len = i; - cmap.red = &priv->red[0]; - cmap.green = &priv->green[0]; - cmap.blue = &priv->blue[0]; - cmap.transp = 0; - ioctl (priv->fd, FBIOPUTCMAP, &cmap); - } - return TRUE; -} - -Bool -epsonDPMS (ScreenPtr pScreen, int mode) -{ - KdScreenPriv(pScreen); - EpsonPriv *priv = pScreenPriv->card->driver; - static int oldmode = -1; - - if (mode == oldmode) - return TRUE; -#ifdef FBIOPUT_POWERMODE - if (ioctl (priv->fd, FBIOPUT_POWERMODE, &mode) >= 0) { - oldmode = mode; - return TRUE; - } -#endif -#ifdef FBIOBLANK - if (ioctl (priv->fd, FBIOBLANK, mode ? mode + 1 : 0) >= 0) { - oldmode = mode; - return TRUE; - } -#endif - return FALSE; -} - -void -epsonDisable (ScreenPtr pScreen) -{ -} - -void -epsonRestore (KdCardInfo *card) -{ -} - -void -epsonScreenFini (KdScreenInfo *screen) -{ -} - -void -epsonCardFini (KdCardInfo *card) -{ - EpsonPriv *priv = card->driver; - - munmap (priv->fb_base, priv->fix.smem_len); - close (priv->fd); - xfree (priv); -} - -void -epsonGetColors (ScreenPtr pScreen, int fb, int n, xColorItem *pdefs) -{ - KdScreenPriv(pScreen); - EpsonPriv *priv = pScreenPriv->card->driver; - struct fb_cmap cmap; - int p; - int k; - int min, max; - - min = 256; - max = 0; - for (k = 0; k < n; k++) { - if (pdefs[k].pixel < min) - min = pdefs[k].pixel; - if (pdefs[k].pixel > max) - max = pdefs[k].pixel; - } - cmap.start = min; - cmap.len = max - min + 1; - cmap.red = &priv->red[min]; - cmap.green = &priv->green[min];; - cmap.blue = &priv->blue[min]; - cmap.transp = 0; - k = ioctl (priv->fd, FBIOGETCMAP, &cmap); - if (k < 0) { - perror ("can't get colormap"); - return; - } - while (n--) { - p = pdefs->pixel; - pdefs->red = priv->red[p]; - pdefs->green = priv->green[p]; - pdefs->blue = priv->blue[p]; - pdefs++; - } -} - -void -epsonPutColors (ScreenPtr pScreen, int fb, int n, xColorItem *pdefs) -{ - KdScreenPriv(pScreen); - EpsonPriv *priv = pScreenPriv->card->driver; - struct fb_cmap cmap; - int p; - int min, max; - - min = 256; - max = 0; - while (n--) { - p = pdefs->pixel; - priv->red[p] = pdefs->red; - priv->green[p] = pdefs->green; - priv->blue[p] = pdefs->blue; - if (p < min) - min = p; - if (p > max) - max = p; - pdefs++; - } - cmap.start = min; - cmap.len = max - min + 1; - cmap.red = &priv->red[min]; - cmap.green = &priv->green[min]; - cmap.blue = &priv->blue[min]; - cmap.transp = 0; - ioctl (priv->fd, FBIOPUTCMAP, &cmap); -} - - - -KdCardFuncs epsonFuncs = { - epsonCardInit, /* cardinit */ - epsonScreenInit, /* scrinit */ - epsonInitScreen, /* initScreen */ - epsonFinishInitScreen, - epsonCreateResources, - epsonPreserve, /* preserve */ - epsonEnable, /* enable */ - epsonDPMS, /* dpms */ - epsonDisable, /* disable */ - epsonRestore, /* restore */ - epsonScreenFini, /* scrfini */ - epsonCardFini, /* cardfini */ - - 0, /* initCursor */ - 0, /* enableCursor */ - 0, /* disableCursor */ - 0, /* finiCursor */ - 0, /* recolorCursor */ - - /* - * History: - * 28-Jan-04 C.Stylianou NBL: Added the following for h/w accel. - * - */ - - epsonDrawInit, /* initAccel */ - epsonDrawEnable, /* enableAccel */ - epsonDrawDisable, /* disableAccel */ - epsonDrawFini, /* finiAccel */ - - epsonGetColors, /* getColors */ - epsonPutColors, /* putColors */ -}; diff --git a/xorg-server/hw/kdrive/epson/epson13806.h b/xorg-server/hw/kdrive/epson/epson13806.h deleted file mode 100644 index b28d7c085..000000000 --- a/xorg-server/hw/kdrive/epson/epson13806.h +++ /dev/null @@ -1,132 +0,0 @@ -/* - * 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. - */ -/* - * epson13806draw.h - Implementation of hard ware accelerated functions for epson S1D13806 - * Graphic controller. - * - * History: - * 28-Jan-04 C.Stylianou PRJ NBL: Created from fbdev.h - * - */ - -#ifndef _EPSON13806_H_ -#define _EPSON13806_H_ - -#include -#include -#include -#include - -#include "kdrive.h" - -#ifdef RANDR -#include "randrstr.h" -#endif - -typedef struct _epsonPriv { - struct fb_var_screeninfo var; - struct fb_fix_screeninfo fix; - __u16 red[256]; - __u16 green[256]; - __u16 blue[256]; - int fd; - char *fb; - char *fb_base; -} EpsonPriv; - -typedef struct _epsonScrPriv { - Rotation randr; - Bool shadow; - KaaScreenInfoRec kaa; -} EpsonScrPriv; - -extern KdCardFuncs epsonFuncs; - -Bool -epsonInitialize (KdCardInfo *card, EpsonPriv *priv); - -Bool -epsonCardInit (KdCardInfo *card); - -Bool -epsonScreenInit (KdScreenInfo *screen); - -Bool -epsonScreenInitialize (KdScreenInfo *screen, EpsonScrPriv *scrpriv); - -Bool -epsonInitScreen (ScreenPtr pScreen); - -void -epsonPreserve (KdCardInfo *card); - -Bool -epsonEnable (ScreenPtr pScreen); - -Bool -epsonDPMS (ScreenPtr pScreen, int mode); - -void -epsonDisable (ScreenPtr pScreen); - -void -epsonRestore (KdCardInfo *card); - -void -epsonScreenFini (KdScreenInfo *screen); - -void -epsonCardFini (KdCardInfo *card); - -void -epsonGetColors (ScreenPtr pScreen, int fb, int n, xColorItem *pdefs); - -void -epsonPutColors (ScreenPtr pScreen, int fb, int n, xColorItem *pdefs); - -/* - * History: - * 28-Jan-04 C.Stylianou NBL: Added the following prototypes for h/w accel. - * - */ -Bool -epsonDrawInit (ScreenPtr pScreen); - -void -epsonDrawEnable (ScreenPtr pScreen); - -void -epsonDrawDisable (ScreenPtr pScreen); - -void -epsonDrawFini (ScreenPtr pScreen); - -/* - * History: - * 28-Jan-04 C.Stylianou NBL: Maps to Epson registers - * - */ -void -initEpson13806(void); - - -#endif /* __EPSON13806_H_ */ diff --git a/xorg-server/hw/kdrive/epson/epson13806draw.c b/xorg-server/hw/kdrive/epson/epson13806draw.c deleted file mode 100644 index 3222353a3..000000000 --- a/xorg-server/hw/kdrive/epson/epson13806draw.c +++ /dev/null @@ -1,649 +0,0 @@ -/* - * 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. - */ -/* - * epson13806draw.c - Implementation of hardware accelerated functions for epson S1D13806 - * Graphic controller. - * - * History: - * 28-Jan-04 C.Stylianou PRJ NBL: Created from chipsdraw.c - * - */ - -#include "epson13806.h" -#include "epson13806draw.h" -#include "epson13806reg.h" - -#include "kaa.h" - -#include "gcstruct.h" -#include "scrnintstr.h" -#include "pixmapstr.h" -#include "regionstr.h" -#include "mistruct.h" -#include "dixfontstr.h" -#include "fb.h" -#include "migc.h" -#include "miline.h" - - -// Functionality of BitBLT ROP register for Epson S1D13806 Graphics controller -CARD8 epson13806Rop[16] = { - /* GXclear */ 0x00, /* 0 */ - /* GXand */ 0x08, /* src AND dst */ - /* GXandReverse */ 0x04, /* src AND NOT dst */ - /* GXcopy */ 0x0C, /* src */ - /* GXandInverted*/ 0x02, /* NOT src AND dst */ - /* GXnoop */ 0x0A, /* dst */ - /* GXxor */ 0x06, /* src XOR dst */ - /* GXor */ 0x0E, /* src OR dst */ - /* GXnor */ 0x01, /* NOT src AND NOT dst */ - /* GXequiv */ 0x09, /* NOT src XOR dst */ - /* GXinvert */ 0x05, /* NOT dst */ - /* GXorReverse */ 0x0D, /* src OR NOT dst */ - /* GXcopyInverted*/ 0x03, /* NOT src */ - /* GXorInverted */ 0x0B, /* NOT src OR dst */ - /* GXnand */ 0x07, /* NOT src OR NOT dst */ - /* GXset */ 0x0F, /* 1 */ -}; - - - -#undef __DEBUG_EPSON__ -#undef __DEBUG_EPSON_FBSET__ -#undef __DEBUG_EPSON_SOLID__ -#undef __DEBUG_EPSON_COPY__ - - -#ifdef __DEBUG_EPSON__ - #define EPSON_DEBUG(a) a -#else - #define EPSON_DEBUG(a) -#endif - -#ifdef __DEBUG_EPSON_FBSET__ - #define EPSON_DEBUG_FBSET(a) a -#else - #define EPSON_DEBUG_FBSET(a) -#endif - -#ifdef __DEBUG_EPSON_SOLID__ - #define EPSON_DEBUG_SOLID(a) a -#else - #define EPSON_DEBUG_SOLID(a) -#endif - -#ifdef __DEBUG_EPSON_COPY__ - #define EPSON_DEBUG_COPY(a) a -#else - #define EPSON_DEBUG_COPY(a) -#endif - - -static unsigned int byteStride; // Distance between lines in the frame buffer (in bytes) -static unsigned int bytesPerPixel; -static unsigned int pixelStride; - -static unsigned char *regbase; - -/* - * epsonSet - * - * Description: Sets Epson variables - * - * History: - * 11-Feb-04 C.Stylianou NBL: Created. - * - */ - -static void -epsonSet (ScreenPtr pScreen) -{ - EPSON_DEBUG_FBSET (fprintf(stderr,"+epsonSet\n")); - - KdScreenPriv(pScreen); - - byteStride = pScreenPriv->screen->fb[0].byteStride; - bytesPerPixel = pScreenPriv->screen->fb[0].bitsPerPixel >> 3; - pixelStride = pScreenPriv->screen->fb[0].pixelStride; - - EPSON_DEBUG_FBSET (fprintf(stderr,"byteStride: [%x]\n", pScreenPriv->screen->fb[0].byteStride)); - EPSON_DEBUG_FBSET (fprintf(stderr,"bytesPerPixel: [%x]\n", pScreenPriv->screen->fb[0].bitsPerPixel >> 3)); - EPSON_DEBUG_FBSET (fprintf(stderr,"pixelStride: [%x]\n", pScreenPriv->screen->fb[0].pixelStride)); - - EPSON_DEBUG_FBSET (fprintf(stderr,"-epsonSet\n")); -} - - -/* - * epsonBg - * - * Description: Sets background colour - * - * History: - * 11-Feb-04 C.Stylianou NBL: Created. - * - */ - -static void -epsonBg (Pixel bg) -{ - EPSON13806_REG16(EPSON13806_BLTBGCOLOR) = bg; -} - - -/* - * epsonFg - * - * Description: Sets foreground colour - * - * History: - * 11-Feb-04 C.Stylianou NBL: Created. - * - */ - -static void -epsonFg (Pixel fg) -{ - EPSON13806_REG16(EPSON13806_BLTFGCOLOR) = fg; -} - - -/* - * epsonWaitForHwBltDone - * - * Description: Wait for previous blt to be done before programming any blt registers - * - * History: - * 11-Feb-04 C.Stylianou NBL: Created. - * - */ - -static void -epsonWaitForHwBltDone (void) -{ - while (EPSON13806_REG (EPSON13806_BLTCTRL0) & EPSON13806_BLTCTRL0_ACTIVE) {} -} - - -/* - * epsonDrawSync - * - * Description: Sync hardware acceleration - * - * History: - * 11-Feb-04 C.Stylianou NBL: Created. - * - */ - -static void -epsonWaitMarker (ScreenPtr pScreen, int marker) -{ - EPSON_DEBUG (fprintf(stderr,"+epsonDrawSync\n")); - - epsonWaitForHwBltDone (); - - EPSON_DEBUG (fprintf(stderr,"-epsonDrawSync\n")); -} - - -/* - * epsonPrepareSolid - * - * Description: Prepare Solid Fill i.e, can it be accelerated - * - * History: - * 11-Feb-04 C.Stylianou NBL: Created. - * - */ - -static Bool -epsonPrepareSolid (PixmapPtr pPixmap, - int alu, - Pixel pm, - Pixel fg) -{ - EPSON_DEBUG_SOLID (fprintf(stderr,"+epsonPrepareSolid\n")); - - FbBits depthMask; - - depthMask = FbFullMask(pPixmap->drawable.depth); - if ((pm & depthMask) != depthMask) - return FALSE; - - epsonSet (pPixmap->drawable.pScreen); - fg &= 0xffff; - epsonFg (fg); - epsonBg (fg); - - epsonWaitForHwBltDone (); - - EPSON_DEBUG_SOLID (fprintf(stderr,"Solid.alu [0x%x], [%d]\n", alu ,epson13806Rop[alu])); - EPSON13806_REG(EPSON13806_BLTROP) = epson13806Rop[alu]; - - if (epson13806Rop[alu] == GXnoop) - { - EPSON13806_REG(EPSON13806_BLTOPERATION) = EPSON13806_BLTOPERATION_PATFILLROP; - } - else - { - EPSON13806_REG(EPSON13806_BLTOPERATION) = EPSON13806_BLTOPERATION_SOLIDFILL; - } - - - EPSON_DEBUG_SOLID (fprintf(stderr,"-epsonPrepareSolid\n")); - return TRUE; - -} - - -/* - * epsonSolid - * - * Description: Executes Solid Fill - * - * History: - * 11-Feb-04 C.Stylianou NBL: Created. - * - */ - -static void -epsonSolid (int x1, int y1, int x2, int y2) -{ - - EPSON_DEBUG_SOLID (fprintf(stderr,"+epsonSolid\n")); - - CARD32 dst_addr; - int width, height; - - EPSON_DEBUG_SOLID (fprintf(stderr,"Solid X1 [%d] Y1 [%d] X2 [%d] Y2 [%d]\n", x1, y1, x2, y2)); - - dst_addr = y1 * byteStride + x1 * bytesPerPixel; - width = ((x2 - x1)-1); - height = ((y2 - y1)-1); - - // program dst address - EPSON13806_REG16(EPSON13806_BLTDSTSTART01) = dst_addr; - EPSON13806_REG(EPSON13806_BLTDSTSTART2) = dst_addr >> 16; - - // program width and height of blit - EPSON13806_REG16(EPSON13806_BLTWIDTH) = width; - EPSON13806_REG16(EPSON13806_BLTHEIGHT) = height; - - EPSON13806_REG(EPSON13806_BLTCTRL0) = EPSON13806_BLTCTRL0_ACTIVE; - - // Wait for operation to complete - while (EPSON13806_REG(EPSON13806_BLTCTRL0) & EPSON13806_BLTCTRL0_ACTIVE) {} - - EPSON_DEBUG_SOLID (fprintf(stderr,"-epsonSolid\n")); -} - - -/* - * epsonDoneSolid - * - * Description: Done Solid - * - * History: - * 11-Feb-04 C.Stylianou NBL: Created. - * - */ - -static void -epsonDoneSolid (void) -{ - EPSON_DEBUG_SOLID (fprintf(stderr,"+epsonDoneSolid\n")); - - // Read from BitBLT data offset 0 to shut it down - //(void)EPSON13806_REG(EPSON13806_BITBLTDATA); - - EPSON_DEBUG_SOLID (fprintf(stderr,"-epsonDoneSolid\n")); - -} - - -/* - * epsonPrepareCopy - * - * Description: Prepares BitBLT, i.e, can it be accelerated - * - * History: - * 11-Feb-04 C.Stylianou NBL: Created. - * - */ - -static Bool -epsonPrepareCopy (PixmapPtr pSrcPixmap, - PixmapPtr pDstPixmap, - int dx, - int dy, - int alu, - Pixel pm) -{ - EPSON_DEBUG_COPY (fprintf(stderr,"+epsonPrepareCopy dx [0x%x] dy [0x%x]\n", dx, dy)); - - FbBits depthMask; - - depthMask = FbFullMask(pDstPixmap->drawable.depth); - - if ((pm & depthMask) != depthMask) - return FALSE; - - epsonSet (pDstPixmap->drawable.pScreen); - epsonWaitForHwBltDone (); - EPSON13806_REG(EPSON13806_BLTROP) = epson13806Rop[alu]; - - EPSON_DEBUG_COPY (fprintf(stderr,"-epsonPrepareCopy\n")); - - return TRUE; -} - - -/* - * epsonCopy - * - * Description: Executes BitBLT - * - * History: - * 11-Feb-04 C.Stylianou NBL: Created. - * - */ - -static void -epsonCopy (int srcX, - int srcY, - int dstX, - int dstY, - int width, - int height) -{ - EPSON_DEBUG_COPY (fprintf(stderr,"+epsonCopy\n")); - int src_addr, dst_addr; - int neg_dir = FALSE; - - if (!width || !height) - return; - - src_addr = srcX * bytesPerPixel + srcY * byteStride; - dst_addr = dstX * bytesPerPixel + dstY * byteStride; - - /* - * See if regions overlap and dest region is beyond source region. - * If so, we need to do a move BLT in negative direction. Only applies - * if the BLT is not transparent. - */ - - if ((srcX + width > dstX) && (srcX < dstX + width) && - (srcY + height > dstY) && (srcY < dstY + height) && - (dst_addr > src_addr)) - { - neg_dir = TRUE; - - // negative direction : get the coords of lower right corner - src_addr += byteStride * (height-1) + bytesPerPixel * (width-1); - dst_addr += byteStride * (height-1) + bytesPerPixel * (width-1); - } - - // program BLIT memory offset - EPSON13806_REG16(EPSON13806_BLTSTRIDE) = byteStride/2; - - // program src and dst addresses - EPSON13806_REG16(EPSON13806_BLTSRCSTART01) = src_addr; - EPSON13806_REG(EPSON13806_BLTSRCSTART2) = src_addr >> 16; - EPSON13806_REG16(EPSON13806_BLTDSTSTART01) = dst_addr; - EPSON13806_REG(EPSON13806_BLTDSTSTART2) = dst_addr >> 16; - - // program width and height of blit - EPSON13806_REG16(EPSON13806_BLTWIDTH) = width-1; - EPSON13806_REG16(EPSON13806_BLTHEIGHT) = height-1; - - // select pos/neg move BLIT - EPSON13806_REG(EPSON13806_BLTOPERATION) = neg_dir ? - EPSON13806_BLTOPERATION_MOVENEGROP : EPSON13806_BLTOPERATION_MOVEPOSROP; - - EPSON13806_REG(EPSON13806_BLTCTRL0) = EPSON13806_BLTCTRL0_ACTIVE; - - // Wait for operation to complete - while (EPSON13806_REG(EPSON13806_BLTCTRL0) & EPSON13806_BLTCTRL0_ACTIVE) {} - - EPSON_DEBUG_COPY (fprintf(stderr,"-epsonCopy\n")); -} - - -/* - * epsonDoneCopy - * - * Description: Done Copy - * - * History: - * 11-Feb-04 C.Stylianou NBL: Created. - * - */ - -static void -epsonDoneCopy (void) -{ - EPSON_DEBUG_COPY (fprintf(stderr,"+epsonDoneCopy\n")); - - // Read from BitBLT data offset 0 to shut it down - //(void)EPSON13806_REG(EPSON13806_BITBLTDATA); - - EPSON_DEBUG_COPY (fprintf(stderr,"-epsonDoneCopy\n")); -} - - -/* - * epsonDrawInit - * - * Description: Configure the Epson S1D13806 for a 800x600 TFT colour display - * - * History: - * 11-Feb-04 C.Stylianou NBL: Created. - * - */ - -Bool -epsonDrawInit (ScreenPtr pScreen) -{ - KdScreenPriv(pScreen); - KdScreenInfo *screen = pScreenPriv->screen; - EpsonScrPriv *epsons = screen->driver; - - EPSON_DEBUG (fprintf(stderr,"+epsonDrawInit\n")); - - epsonSet(pScreen); - -#if 0 - EPSON13806_REG(EPSON13806_MISC) = 0x00; - EPSON13806_REG(EPSON13806_DISPMODE) = 0x00; - EPSON13806_REG16(EPSON13806_GPIOCFG) = 0xffff; - EPSON13806_REG16(EPSON13806_GPIOCTRL) = 0x0001; - - EPSON13806_REG(EPSON13806_MEMCLKCFG) = 0x01; - EPSON13806_REG(EPSON13806_LCDPCLKCFG) = 0x00; - EPSON13806_REG(EPSON13806_CRTPCLKCFG) = 0x02; - EPSON13806_REG(EPSON13806_MPCLKCFG) = 0x02; - EPSON13806_REG(EPSON13806_CPUMEMWAITSEL) = 0x01; - EPSON13806_REG(EPSON13806_MEMCFG) = 0x80; - EPSON13806_REG(EPSON13806_DRAMREFRESH) = 0x03; - EPSON13806_REG16(EPSON13806_DRAMTIMINGCTRL) = 0x0100; - - // 5ms delay for internal LCD SDRAM to initialize - usleep(5000); - - EPSON13806_REG(EPSON13806_PANELTYPE) = 0x25; - EPSON13806_REG(EPSON13806_MODRATE) = 0x00; - EPSON13806_REG(EPSON13806_LCDHDP) = 0x63; - EPSON13806_REG(EPSON13806_LCDHNDP) = 0x1f; - EPSON13806_REG(EPSON13806_TFTFPLINESTART) = 0x01; - EPSON13806_REG(EPSON13806_TFTFPLINEPULSE) = 0x0b; - EPSON13806_REG16(EPSON13806_LCDVDP0) = 0x0257; - EPSON13806_REG(EPSON13806_LCDVNDP) = 0x1b; - EPSON13806_REG(EPSON13806_TFTFPFRAMESTART) = 0x0a; - EPSON13806_REG(EPSON13806_TFTFPFRAMEPULSE) = 0x01; - EPSON13806_REG(EPSON13806_LCDDISPMODE) = 0x85; - EPSON13806_REG(EPSON13806_LCDMISC) = 0x00; - EPSON13806_REG16(EPSON13806_LCDSTART01) = 0x0000; - EPSON13806_REG(EPSON13806_LCDSTART2) = 0x00; - EPSON13806_REG16(EPSON13806_LCDSTRIDE) = byteStride>>1; - EPSON13806_REG(EPSON13806_LCDPIXELPAN) = 0x00; - EPSON13806_REG(EPSON13806_LCDFIFOHIGH) = 0x00; - EPSON13806_REG(EPSON13806_LCDFIFOLOW) = 0x00; -#endif - - - EPSON13806_REG(EPSON13806_BLTCTRL0) = 0x00; - EPSON13806_REG(EPSON13806_BLTCTRL1) = 0x01; // We're using 16 bpp - EPSON13806_REG16(EPSON13806_BLTSTRIDE) = byteStride>>1; // program BLIT memory offset - -#if 0 - EPSON13806_REG(EPSON13806_LUTMODE) = 0x00; - EPSON13806_REG(EPSON13806_LUTADDR) = 0x00; - EPSON13806_REG(EPSON13806_PWRSAVECFG) = 0x10; - EPSON13806_REG(EPSON13806_PWRSAVESTATUS) = 0x00; - EPSON13806_REG(EPSON13806_CPUMEMWATCHDOG) = 0x00; - EPSON13806_REG(EPSON13806_DISPMODE) = 0x01; - - // Enable backlight voltage - EPSON13806_REG16(EPSON13806_GPIOCTRL) |= 1<<1; - // 10ms delay after turning on LCD. - usleep(10000); -#endif - - // Instruct the BitBLT unit to fill the screen with black, i.e clear fb. - static int addr = 0x00000000; - EPSON13806_REG16(EPSON13806_BLTDSTSTART01) = addr; - EPSON13806_REG(EPSON13806_BLTDSTSTART2) = addr >> 16; - EPSON13806_REG16(EPSON13806_BLTFGCOLOR) = 0x0000; - EPSON13806_REG(EPSON13806_BLTOPERATION) = EPSON13806_BLTOPERATION_SOLIDFILL; // solid fill blt - EPSON13806_REG16(EPSON13806_BLTWIDTH) = (0x0320-1); - EPSON13806_REG16(EPSON13806_BLTHEIGHT) = (0x0258-1); - EPSON13806_REG(EPSON13806_BLTCTRL0) = EPSON13806_BLTCTRL0_ACTIVE; - -#if 0 - // Enable LCD data - EPSON13806_REG(EPSON13806_LCDDISPMODE) &= ~(1<<7); - - // Turn on backlight full - EPSON13806_REG16(EPSON13806_GPIOCTRL) |= 0x00fc; -#endif - - memset(&epsons->kaa, 0, sizeof(KaaScreenInfoRec)); - epsons->kaa.waitMarker = epsonWaitMarker; - epsons->kaa.PrepareSolid = epsonPrepareSolid; - epsons->kaa.Solid = epsonSolid; - epsons->kaa.DoneSolid = epsonDoneSolid; - epsons->kaa.PrepareCopy = epsonPrepareCopy; - epsons->kaa.Copy = epsonCopy; - epsons->kaa.DoneCopy = epsonDoneCopy; - epsons->kaa.flags = KAA_OFFSCREEN_PIXMAPS; - - if (!kaaDrawInit (pScreen, &epsons->kaa)) - return FALSE; - - EPSON_DEBUG (fprintf(stderr,"-epsonDrawInit\n")); - return TRUE; -} - - -/* - * epsonDrawEnable - * - * Description: Enables hardware acceleration - * - * History: - * 11-Feb-04 C.Stylianou NBL: Created. - * - */ - -void -epsonDrawEnable (ScreenPtr pScreen) -{ - EPSON_DEBUG (fprintf(stderr,"+epsonDrawEnable\n")); - epsonWaitForHwBltDone (); - kaaMarkSync (pScreen); - EPSON_DEBUG (fprintf(stderr,"-epsonDrawEnable\n")); -} - - -/* - * epsonDrawDisable - * - * Description: Disables hardware acceleration - * - * History: - * 11-Feb-04 C.Stylianou NBL: Created. - * - */ - -void -epsonDrawDisable (ScreenPtr pScreen) -{ - EPSON_DEBUG (fprintf(stderr,"+epsonDrawDisable\n")); -} - - -/* - * epsonDrawFini - * - * Description: Finish hardware acceleration - * - * History: - * 11-Feb-04 C.Stylianou NBL: Created. - * - */ - -void -epsonDrawFini (ScreenPtr pScreen) -{ - EPSON_DEBUG (fprintf(stderr,"+epsonDrawFini\n")); -} - - -/* - * initEpson13806 - * - * Description: Maps Epson S1D13806 registers - * - * History: - * 11-Feb-04 C.Stylianou NBL: Created. - * - */ - -void -initEpson13806(void) -{ - EPSON_DEBUG (fprintf(stderr,"+initEpson\n")); - - // Map Epson S1D13806 registers - regbase = KdMapDevice (EPSON13806_PHYSICAL_REG_ADDR, EPSON13806_GPIO_REGSIZE); - if (!regbase) - perror("ERROR: regbase\n"); // Sets up register mappings in header files. - -#if 0 - CARD8 rev_code; - rev_code = EPSON13806_REG (EPSON13806_REVCODE); - if ((rev_code >> 2) != 0x07) - perror("ERROR: EPSON13806 Display Controller NOT FOUND!\n"); -#endif - - EPSON_DEBUG (fprintf(stderr,"-initEpson\n")); -} diff --git a/xorg-server/hw/kdrive/epson/epson13806draw.h b/xorg-server/hw/kdrive/epson/epson13806draw.h deleted file mode 100644 index b5f1bf5c2..000000000 --- a/xorg-server/hw/kdrive/epson/epson13806draw.h +++ /dev/null @@ -1,119 +0,0 @@ -/* - * 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. - */ -/* - * epson13806draw.h - Implementation of hard ware accelerated functions for epson S1D13806 - * Graphic controller. - * - * History: - * 28-Jan-04 C.Stylianou PRJ NBL: Created from chipsdraw.h - * - */ - -#ifndef _EPSON13806DRAW_H_ -#define _EPSON13806DRAW_H_ - - -/* - * offset from ioport beginning - */ - - -#define SetupEpson(s) KdScreenPriv(s); \ - epsonCardInfo(pScreenPriv); \ - EpsonPtr epson = epsonc->epson - - -typedef volatile CARD8 VOL8; -typedef volatile CARD16 VOL16; -typedef volatile CARD32 VOL32; - -typedef struct _epsonSave { - int dummy; -} EpsonSave; - -typedef struct _epsonCardInfo { - EpsonPriv epson; - CARD32 *window; - Bool mmio; - EpsonSave save; -} epsonCardInfo; - -#define getEpsonCardInfo(kd) ((epsonCardInfo *) ((kd)->card->driver)) -#define epsonCardInfo(kd) epsonCardInfo *epsonc = getEpsonCardInfo(kd) - -typedef struct _epsonCursor { - int width, height; - int xhot, yhot; - Bool has_cursor; - CursorPtr pCursor; - Pixel source, mask; -} EpsonCursor; - -#define epson_CURSOR_WIDTH 64 -#define epson_CURSOR_HEIGHT 64 - -typedef struct _epsonScreenInfo { - EpsonScrPriv epson; - CARD8 *cursor_base; - CARD8 *screen; - CARD8 *off_screen; - int off_screen_size; - EpsonCursor cursor; - void *regbase_virt; -} EpsonScreenInfo; - -#define getEpsonScreenInfo(kd) ((EpsonScreenInfo *) ((kd)->screen->driver)) -#define epsonScreenInfo(kd) EpsonScreenInfo *epsons = getEpsonScreenInfo(kd) - -Bool -epsonDrawInit (ScreenPtr pScreen); - -void -epsonDrawEnable (ScreenPtr pScreen); - -void -epsonDrawSync (ScreenPtr pScreen); - -void -epsonDrawDisable (ScreenPtr pScreen); - -void -epsonDrawFini (ScreenPtr pScreen); - -Bool -epsonCursorInit (ScreenPtr pScreen); - -void -epsonCursorEnable (ScreenPtr pScreen); - -void -epsonCursorDisable (ScreenPtr pScreen); - -void -epsonCursorFini (ScreenPtr pScreen); - -void -epsonRecolorCursor (ScreenPtr pScreen, int ndef, xColorItem *pdef); - -extern KdCardFuncs epsonFuncs; - -#endif diff --git a/xorg-server/hw/kdrive/epson/epson13806reg.h b/xorg-server/hw/kdrive/epson/epson13806reg.h deleted file mode 100644 index ee745a08f..000000000 --- a/xorg-server/hw/kdrive/epson/epson13806reg.h +++ /dev/null @@ -1,183 +0,0 @@ -/* - * 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. - */ -/* - * epson13806reg.h Epson S1D13806 LCD controller header file. - * - * History: - * 15-Feb-04 C.Stylianou PRJ NBL: Created. - * - */ - - -#ifndef EPSON13806REG_H -#define EPSON13806REG_H - - -#define TT_UNUSED(x) ((void) (x)) - - -#define EPSON13806_PHYSICAL_REG_ADDR 0x14000000 -#define EPSON13806_GPIO_REGSIZE 0x001f0000 - -#define EPSON13806_PHYSICAL_VMEM_ADDR 0x14200000 -#define EPSON13806_VMEM_SIZE 0x140000 - -#define PLATFORM_EPSON13806_BASE (regbase) -#define EPSON13806_REG_BASE (PLATFORM_EPSON13806_BASE + 0x000000) // Register base address -#define EPSON13806_SDRAM_BASE (PLATFORM_EPSON13806_BASE + 0x200000) // SDRAM base address - -////////////////////////////////////////////////////////////////////////////////////////// -// Register Offsets -////////////////////////////////////////////////////////////////////////////////////////// -#define EPSON13806_REVCODE (EPSON13806_REG_BASE + 0x0000) // Revision Code Register -#define EPSON13806_MISC (EPSON13806_REG_BASE + 0x0001) // Miscellaneous Register -#define EPSON13806_GPIOCFG (EPSON13806_REG_BASE + 0x0004) // General IO Pins Configuration Register (16 bits) -#define EPSON13806_GPIOCFG0 (EPSON13806_REG_BASE + 0x0004) // General IO Pins Configuration Register 0 -#define EPSON13806_GPIOCFG1 (EPSON13806_REG_BASE + 0x0005) // General IO Pins Configuration Register 1 -#define EPSON13806_GPIOCTRL (EPSON13806_REG_BASE + 0x0008) // General IO Pins Control Register (16 bits) -#define EPSON13806_GPIOCTRL0 (EPSON13806_REG_BASE + 0x0008) // General IO Pins Control Register 0 -#define EPSON13806_GPIOCTRL1 (EPSON13806_REG_BASE + 0x0009) // General IO Pins Control Register 1 -#define EPSON13806_MDCFGSTATUS (EPSON13806_REG_BASE + 0x000C) // Configuration Status Register -#define EPSON13806_MEMCLKCFG (EPSON13806_REG_BASE + 0x0010) // Memory Clock Configuration Register -#define EPSON13806_LCDPCLKCFG (EPSON13806_REG_BASE + 0x0014) // LCD Pixel Clock Configuration Register -#define EPSON13806_CRTPCLKCFG (EPSON13806_REG_BASE + 0x0018) // CRT/TV Clock Configuration Register -#define EPSON13806_MPCLKCFG (EPSON13806_REG_BASE + 0x001C) // MediaPlug Clock Configuration Register -#define EPSON13806_CPUMEMWAITSEL (EPSON13806_REG_BASE + 0x001E) // CPU To Memory Wait State Select Register -#define EPSON13806_MEMCFG (EPSON13806_REG_BASE + 0x0020) // Memory Configuration Register -#define EPSON13806_DRAMREFRESH (EPSON13806_REG_BASE + 0x0021) // DRAM Refresh Rate Register -#define EPSON13806_DRAMTIMINGCTRL (EPSON13806_REG_BASE + 0x002A) // DRAM Timings Control Register (16 bits) -#define EPSON13806_DRAMTIMINGCTRL0 (EPSON13806_REG_BASE + 0x002A) // DRAM Timings Control Register 0 -#define EPSON13806_DRAMTIMINGCTRL1 (EPSON13806_REG_BASE + 0x002B) // DRAM Timings Control Register 1 -#define EPSON13806_PANELTYPE (EPSON13806_REG_BASE + 0x0030) // Panel Type Register -#define EPSON13806_MODRATE (EPSON13806_REG_BASE + 0x0031) // MOD Rate Register -#define EPSON13806_LCDHDP (EPSON13806_REG_BASE + 0x0032) // LCD Horizontal Display Width Register -#define EPSON13806_LCDHNDP (EPSON13806_REG_BASE + 0x0034) // LCD Horizontal Non-Display Period Register -#define EPSON13806_TFTFPLINESTART (EPSON13806_REG_BASE + 0x0035) // TFT FPLINE Start Position Register -#define EPSON13806_TFTFPLINEPULSE (EPSON13806_REG_BASE + 0x0036) // TFT FPLINE Pulse Width Register -#define EPSON13806_LCDVDP (EPSON13806_REG_BASE + 0x0038) // LCD Vertical Display Height Register (16 bits) -#define EPSON13806_LCDVDP0 (EPSON13806_REG_BASE + 0x0038) // LCD Vertical Display Height Register 0 -#define EPSON13806_LCDVDP1 (EPSON13806_REG_BASE + 0x0039) // LCD Vertical Display Height Register 1 -#define EPSON13806_LCDVNDP (EPSON13806_REG_BASE + 0x003A) // LCD Vertical Non-Display Period Register -#define EPSON13806_TFTFPFRAMESTART (EPSON13806_REG_BASE + 0x003B) // TFT FPFRAME Start Position Register -#define EPSON13806_TFTFPFRAMEPULSE (EPSON13806_REG_BASE + 0x003C) // TFT FPFRAME Pulse Width Register -#define EPSON13806_LCDLINECOUNT (EPSON13806_REG_BASE + 0x003E) // LCD Line Count Register (16 bits) -#define EPSON13806_LCDLINECOUNT0 (EPSON13806_REG_BASE + 0x003E) // LCD Line Count Register 0 -#define EPSON13806_LCDLINECOUNT1 (EPSON13806_REG_BASE + 0x003F) // LCD Line Count Register 1 -#define EPSON13806_LCDDISPMODE (EPSON13806_REG_BASE + 0x0040) // LCD Display Mode Register -#define EPSON13806_LCDMISC (EPSON13806_REG_BASE + 0x0041) // LCD Miscellaneous Register -#define EPSON13806_LCDSTART01 (EPSON13806_REG_BASE + 0x0042) // LCD Display Start Address Register 0 and 1 (16 bits) -#define EPSON13806_LCDSTART0 (EPSON13806_REG_BASE + 0x0042) // LCD Display Start Address Register 0 -#define EPSON13806_LCDSTART1 (EPSON13806_REG_BASE + 0x0043) // LCD Display Start Address Register 1 -#define EPSON13806_LCDSTART2 (EPSON13806_REG_BASE + 0x0044) // LCD Display Start Address Register 2 -#define EPSON13806_LCDSTRIDE (EPSON13806_REG_BASE + 0x0046) // LCD Memory Address Offset Register (16 bits) -#define EPSON13806_LCDSTRIDE0 (EPSON13806_REG_BASE + 0x0046) // LCD Memory Address Offset Register 0 -#define EPSON13806_LCDSTRIDE1 (EPSON13806_REG_BASE + 0x0047) // LCD Memory Address Offset Register 1 -#define EPSON13806_LCDPIXELPAN (EPSON13806_REG_BASE + 0x0048) // LCD Pixel Panning Register -#define EPSON13806_LCDFIFOHIGH (EPSON13806_REG_BASE + 0x004A) // LCD Display FIFO High Threshold Control Register -#define EPSON13806_LCDFIFOLOW (EPSON13806_REG_BASE + 0x004B) // LCD Display FIFO Low Threshold Control Register - -#define EPSON13806_LCDINKCURSCTRL (EPSON13806_REG_BASE + 0x0070) // LCD INK/Cursor Control Register -#define EPSON13806_LCDINKCURSSTART (EPSON13806_REG_BASE + 0x0071) // LCD INK/Cursor Start Address Register -#define EPSON13806_LCDCURSORXPOS (EPSON13806_REG_BASE + 0x0072) // LCD Cursor X Position Register (16 bits) -#define EPSON13806_LCDCURSORXPOS0 (EPSON13806_REG_BASE + 0x0072) // LCD Cursor X Position Register 0 -#define EPSON13806_LCDCURSORXPOS1 (EPSON13806_REG_BASE + 0x0073) // LCD Cursor X Position Register 1 -#define EPSON13806_LCDCURSORYPOS (EPSON13806_REG_BASE + 0x0074) // LCD Cursor Y Position Register (16 bits) -#define EPSON13806_LCDCURSORYPOS0 (EPSON13806_REG_BASE + 0x0074) // LCD Cursor Y Position Register 0 -#define EPSON13806_LCDCURSORYPOS1 (EPSON13806_REG_BASE + 0x0075) // LCD Cursor Y Position Register 1 -#define EPSON13806_LCDINKCURSBLUE0 (EPSON13806_REG_BASE + 0x0076) // LCD INK/Cursor Blue Color 0 Register -#define EPSON13806_LCDINKCURSGREEN0 (EPSON13806_REG_BASE + 0x0077) // LCD INK/Cursor Green Color 0 Register -#define EPSON13806_LCDINKCURSRED0 (EPSON13806_REG_BASE + 0x0078) // LCD INK/Cursor Red Color 0 Register -#define EPSON13806_LCDINKCURSBLUE1 (EPSON13806_REG_BASE + 0x007A) // LCD INK/Cursor Blue Color 1 Register -#define EPSON13806_LCDINKCURSGREEN1 (EPSON13806_REG_BASE + 0x007B) // LCD INK/Cursor Green Colour 1 Register -#define EPSON13806_LCDINKCURSRED1 (EPSON13806_REG_BASE + 0x007C) // LCD INK/Cursor Red Color 1 Register -#define EPSON13806_LCDINKCURSFIFO (EPSON13806_REG_BASE + 0x007E) // LCD INK/Cursor FIFO Threshold Register - -#define EPSON13806_BLTCTRL0 (EPSON13806_REG_BASE + 0x0100) // BitBlt Control Register 0 -#define EPSON13806_BLTCTRL1 (EPSON13806_REG_BASE + 0x0101) // BitBlt Control Register 1 -#define EPSON13806_BLTROP (EPSON13806_REG_BASE + 0x0102) // BitBlt ROP Code/Color Expansion Register -#define EPSON13806_BLTOPERATION (EPSON13806_REG_BASE + 0x0103) // BitBlt Operation Register -#define EPSON13806_BLTSRCSTART01 (EPSON13806_REG_BASE + 0x0104) // BitBlt Source Start Address Register 0 and 1 (16 bits) -#define EPSON13806_BLTSRCSTART0 (EPSON13806_REG_BASE + 0x0104) // BitBlt Source Start Address Register 0 -#define EPSON13806_BLTSRCSTART1 (EPSON13806_REG_BASE + 0x0105) // BitBlt Source Start Address Register 1 -#define EPSON13806_BLTSRCSTART2 (EPSON13806_REG_BASE + 0x0106) // BitBlt Source Start Address Register 2 -#define EPSON13806_BLTDSTSTART01 (EPSON13806_REG_BASE + 0x0108) // BitBlt Destination Start Address Register 0 and 1 (16 bits) -#define EPSON13806_BLTDSTSTART0 (EPSON13806_REG_BASE + 0x0108) // BitBlt Destination Start Address Register 0 -#define EPSON13806_BLTDSTSTART1 (EPSON13806_REG_BASE + 0x0109) // BitBlt Destination Start Address Register 1 -#define EPSON13806_BLTDSTSTART2 (EPSON13806_REG_BASE + 0x010A) // BitBlt Destination Start Address Register 2 -#define EPSON13806_BLTSTRIDE (EPSON13806_REG_BASE + 0x010C) // BitBlt Memory Address Offset Register (16 bits) -#define EPSON13806_BLTSTRIDE0 (EPSON13806_REG_BASE + 0x010C) // BitBlt Memory Address Offset Register 0 -#define EPSON13806_BLTSTRIDE1 (EPSON13806_REG_BASE + 0x010D) // BitBlt Memory Address Offset Register 1 -#define EPSON13806_BLTWIDTH (EPSON13806_REG_BASE + 0x0110) // BitBlt Width Register (16 bits) -#define EPSON13806_BLTWIDTH0 (EPSON13806_REG_BASE + 0x0110) // BitBlt Width Register 0 -#define EPSON13806_BLTWIDTH1 (EPSON13806_REG_BASE + 0x0111) // BitBlt Width Register 1 -#define EPSON13806_BLTHEIGHT (EPSON13806_REG_BASE + 0x0112) // BitBlt Height Register (16 bits) -#define EPSON13806_BLTHEIGHT0 (EPSON13806_REG_BASE + 0x0112) // BitBlt Height Register 0 -#define EPSON13806_BLTHEIGHT1 (EPSON13806_REG_BASE + 0x0113) // BitBlt Height Register 1 -#define EPSON13806_BLTBGCOLOR (EPSON13806_REG_BASE + 0x0114) // BitBlt Background Color Register (16 bits) -#define EPSON13806_BLTBGCOLOR0 (EPSON13806_REG_BASE + 0x0114) // BitBlt Background Color Register 0 -#define EPSON13806_BLTBGCOLOR1 (EPSON13806_REG_BASE + 0x0115) // BitBlt Background Color Register 1 -#define EPSON13806_BLTFGCOLOR (EPSON13806_REG_BASE + 0x0118) // BitBlt Foreground Color Register (16 bits) -#define EPSON13806_BLTFGCOLOR0 (EPSON13806_REG_BASE + 0x0118) // BitBlt Foreground Color Register 0 -#define EPSON13806_BLTFGCOLOR1 (EPSON13806_REG_BASE + 0x0119) // BitBlt Foreground Color Register 0 - -#define EPSON13806_LUTMODE (EPSON13806_REG_BASE + 0x01E0) // Look-Up Table Mode Register -#define EPSON13806_LUTADDR (EPSON13806_REG_BASE + 0x01E2) // Look-Up Table Address Register -#define EPSON13806_LUTDATA (EPSON13806_REG_BASE + 0x01E4) // Look-Up Table Data Register -#define EPSON13806_PWRSAVECFG (EPSON13806_REG_BASE + 0x01F0) // Power Save Configuration Register -#define EPSON13806_PWRSAVESTATUS (EPSON13806_REG_BASE + 0x01F1) // Power Save Status Register -#define EPSON13806_CPUMEMWATCHDOG (EPSON13806_REG_BASE + 0x01F4) // CPU-to-Memory Access Watchdog Timer Register -#define EPSON13806_DISPMODE (EPSON13806_REG_BASE + 0x01FC) // Display Mode Register - -#define EPSON13806_MEDIALCMD (EPSON13806_REG_BASE + 0x1000) // MediaPlug LCMD Register -#define EPSON13806_MEDIARESERVEDLCMD (EPSON13806_REG_BASE + 0x1002) // MediaPlug Reserved LCMD Register -#define EPSON13806_MEDIACMD (EPSON13806_REG_BASE + 0x1004) // MediaPlug CMD Register -#define EPSON13806_MEDIARESERVEDCMD (EPSON13806_REG_BASE + 0x1006) // MediaPlug Reserved CMD Register -#define EPSON13806_MEDIADATA (EPSON13806_REG_BASE + 0x1008) // MediaPlug Data Registers (base) - -#define EPSON13806_BITBLTDATA (EPSON13806_REG_BASE + 0x100000) // BitBLT Data Registers (base) - -// BLTCTRL0 register defines -#define EPSON13806_BLTCTRL0_ACTIVE (1<<7) // Read: 1=busy, 0=idle / Write: 1=start, 0=no change - -// BLTOPERATION register defines -#define EPSON13806_BLTOPERATION_WRITEROP (0x00) // Write BitBLT with ROP -#define EPSON13806_BLTOPERATION_READ (0x01) // Read BitBLT -#define EPSON13806_BLTOPERATION_MOVEPOSROP (0x02) // Move BitBLT in positive direction with ROP -#define EPSON13806_BLTOPERATION_MOVENEGROP (0x03) // Move BitBLT in negative direction with ROP -#define EPSON13806_BLTOPERATION_TRANSWRITE (0x04) // Transparent Write BitBLT -#define EPSON13806_BLTOPERATION_TRANSMOVEPOS (0x05) // Transparent Move BitBLT in positive direction -#define EPSON13806_BLTOPERATION_PATFILLROP (0x06) // Pattern fill with ROP -#define EPSON13806_BLTOPERATION_PATFILLTRANS (0x07) // Pattern fill with transparency -#define EPSON13806_BLTOPERATION_COLOREXP (0x08) // Color expansion -#define EPSON13806_BLTOPERATION_COLOREXPTRANS (0x09) // Color expansion with transparency -#define EPSON13806_BLTOPERATION_MOVECOLOREXP (0x0A) // Move BitBLT with color expansion -#define EPSON13806_BLTOPERATION_MOVECOLOREXPTRANS (0x0B) // Move BitBLT with color expansion and transparency -#define EPSON13806_BLTOPERATION_SOLIDFILL (0x0C) // Solid fill - -////////////////////////////////////////////////////////////////////////////////////////// -// Epson register access macros -////////////////////////////////////////////////////////////////////////////////////////// -#define EPSON13806_REG(address) *(VOL8 *)(address) -#define EPSON13806_REG16(address) *(VOL16 *)(address) - - -#endif // EPSON13806 diff --git a/xorg-server/hw/kdrive/epson/epson13806stub.c b/xorg-server/hw/kdrive/epson/epson13806stub.c deleted file mode 100644 index 087a30fc7..000000000 --- a/xorg-server/hw/kdrive/epson/epson13806stub.c +++ /dev/null @@ -1,69 +0,0 @@ -/* - * 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. - */ -/* - * epson13806stub.c - * - * History: - * 28-Jan-04 C.Stylianou PRJ NBL: Created from fbdevinit.c - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include - -void -InitCard (char *name) -{ - KdCardAttr attr; - - fprintf(stderr, "Epson 13806 Tiny X Driver ver 1.01\n"); - - KdCardInfoAdd (&epsonFuncs, &attr, 0); -} - -void -InitOutput (ScreenInfo *pScreenInfo, int argc, char **argv) -{ - KdInitOutput (pScreenInfo, argc, argv); -} - -void -InitInput (int argc, char **argv) -{ - KdOsAddInputDrivers (); - KdInitInput (); -} - -int -ddxProcessArgument (int argc, char **argv, int i) -{ - return KdProcessArgument (argc, argv, i); -} - -void -ddxUseMsg (void) -{ - KdUseMsg(); -} diff --git a/xorg-server/hw/kdrive/fake/Makefile.in b/xorg-server/hw/kdrive/fake/Makefile.in index b9c1a4fbb..111f8ccc9 100644 --- a/xorg-server/hw/kdrive/fake/Makefile.in +++ b/xorg-server/hw/kdrive/fake/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -45,7 +45,6 @@ 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 \ @@ -71,9 +70,6 @@ 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) \ @@ -88,8 +84,9 @@ ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ -APPDEFAULTDIR = @APPDEFAULTDIR@ APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +APPLE_APPLICATION_ID = @APPLE_APPLICATION_ID@ +APPLE_APPLICATION_NAME = @APPLE_APPLICATION_NAME@ APP_MAN_DIR = @APP_MAN_DIR@ APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ AR = @AR@ @@ -110,10 +107,6 @@ 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@ @@ -135,6 +128,7 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOLT_BASH = @DOLT_BASH@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ @@ -144,18 +138,15 @@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ DSYMUTIL = @DSYMUTIL@ DTRACE = @DTRACE@ -ECHO = @ECHO@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ -FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ -FREETYPE_LIBS = @FREETYPE_LIBS@ GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ GLX_DEFINES = @GLX_DEFINES@ GL_CFLAGS = @GL_CFLAGS@ @@ -174,7 +165,7 @@ KDRIVE_LIBS = @KDRIVE_LIBS@ KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ -LAUNCHD = @LAUNCHD@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ LEX = @LEX@ @@ -188,7 +179,10 @@ LIBTOOL = @LIBTOOL@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LINUXDOC = @LINUXDOC@ +LIPO = @LIPO@ LN_S = @LN_S@ +LTCOMPILE = @LTCOMPILE@ +LTCXXCOMPILE = @LTCXXCOMPILE@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ @@ -200,8 +194,7 @@ MESA_SOURCE = @MESA_SOURCE@ MISC_MAN_DIR = @MISC_MAN_DIR@ MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ MKDIR_P = @MKDIR_P@ -MKFONTDIR = @MKFONTDIR@ -MKFONTSCALE = @MKFONTSCALE@ +NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCCLD = @OBJCCLD@ @@ -210,8 +203,8 @@ OBJCFLAGS = @OBJCFLAGS@ OBJCLINK = @OBJCLINK@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ @@ -244,7 +237,6 @@ VENDOR_NAME = @VENDOR_NAME@ VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ VENDOR_RELEASE = @VENDOR_RELEASE@ VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ XDMCP_CFLAGS = @XDMCP_CFLAGS@ @@ -254,27 +246,12 @@ XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@ XDMX_CFLAGS = @XDMX_CFLAGS@ XDMX_LIBS = @XDMX_LIBS@ XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ XEPHYR_INCS = @XEPHYR_INCS@ XEPHYR_LIBS = @XEPHYR_LIBS@ 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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ @@ -285,10 +262,6 @@ XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ XNEST_LIBS = @XNEST_LIBS@ XNEST_SYS_LIBS = @XNEST_SYS_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_INCS = @XORG_INCS@ XORG_LIBS = @XORG_LIBS@ @@ -297,13 +270,8 @@ XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ XORG_OS = @XORG_OS@ XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_LIBS@ +XPBPROXY_CFLAGS = @XPBPROXY_CFLAGS@ +XPBPROXY_LIBS = @XPBPROXY_LIBS@ XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ XSDL_INCS = @XSDL_INCS@ @@ -336,8 +304,7 @@ 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@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -357,7 +324,6 @@ driverdir = @driverdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ extdir = @extdir@ -ft_config = @ft_config@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ @@ -367,12 +333,12 @@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ -launchagentsdir = @launchagentsdir@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ logdir = @logdir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ moduledir = @moduledir@ @@ -390,8 +356,6 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ INCLUDES = \ @KDRIVE_INCS@ \ @KDRIVE_CFLAGS@ @@ -425,8 +389,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ @@ -533,7 +497,7 @@ ID: $(HEADERS) $(SOURCES) $(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; nonemtpy = 1; } \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS diff --git a/xorg-server/hw/kdrive/fake/fake.c b/xorg-server/hw/kdrive/fake/fake.c index 6211ab871..ff597981d 100644 --- a/xorg-server/hw/kdrive/fake/fake.c +++ b/xorg-server/hw/kdrive/fake/fake.c @@ -121,10 +121,9 @@ fakeScreenInit (KdScreenInfo *screen) { FakeScrPriv *scrpriv; - scrpriv = xalloc (sizeof (FakeScrPriv)); + scrpriv = xcalloc (1, sizeof (FakeScrPriv)); if (!scrpriv) return FALSE; - memset (scrpriv, '\0', sizeof (FakeScrPriv)); screen->driver = scrpriv; if (!fakeScreenInitialize (screen, scrpriv)) { @@ -324,8 +323,6 @@ fakeRandRSetConfig (ScreenPtr pScreen, scrpriv->randr = KdAddRotation (screen->randr, randr); - KdOffscreenSwapOut (screen->pScreen); - fakeUnmapFramebuffer (screen); if (!fakeMapFramebuffer (screen)) diff --git a/xorg-server/hw/kdrive/fbdev/Makefile.in b/xorg-server/hw/kdrive/fbdev/Makefile.in index 687f1171d..d021a88f1 100644 --- a/xorg-server/hw/kdrive/fbdev/Makefile.in +++ b/xorg-server/hw/kdrive/fbdev/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -45,7 +45,6 @@ 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 \ @@ -71,9 +70,6 @@ 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) \ @@ -88,8 +84,9 @@ ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ -APPDEFAULTDIR = @APPDEFAULTDIR@ APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +APPLE_APPLICATION_ID = @APPLE_APPLICATION_ID@ +APPLE_APPLICATION_NAME = @APPLE_APPLICATION_NAME@ APP_MAN_DIR = @APP_MAN_DIR@ APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ AR = @AR@ @@ -110,10 +107,6 @@ 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@ @@ -135,6 +128,7 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOLT_BASH = @DOLT_BASH@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ @@ -144,18 +138,15 @@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ DSYMUTIL = @DSYMUTIL@ DTRACE = @DTRACE@ -ECHO = @ECHO@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ -FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ -FREETYPE_LIBS = @FREETYPE_LIBS@ GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ GLX_DEFINES = @GLX_DEFINES@ GL_CFLAGS = @GL_CFLAGS@ @@ -174,7 +165,7 @@ KDRIVE_LIBS = @KDRIVE_LIBS@ KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ -LAUNCHD = @LAUNCHD@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ LEX = @LEX@ @@ -188,7 +179,10 @@ LIBTOOL = @LIBTOOL@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LINUXDOC = @LINUXDOC@ +LIPO = @LIPO@ LN_S = @LN_S@ +LTCOMPILE = @LTCOMPILE@ +LTCXXCOMPILE = @LTCXXCOMPILE@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ @@ -200,8 +194,7 @@ MESA_SOURCE = @MESA_SOURCE@ MISC_MAN_DIR = @MISC_MAN_DIR@ MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ MKDIR_P = @MKDIR_P@ -MKFONTDIR = @MKFONTDIR@ -MKFONTSCALE = @MKFONTSCALE@ +NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCCLD = @OBJCCLD@ @@ -210,8 +203,8 @@ OBJCFLAGS = @OBJCFLAGS@ OBJCLINK = @OBJCLINK@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ @@ -244,7 +237,6 @@ VENDOR_NAME = @VENDOR_NAME@ VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ VENDOR_RELEASE = @VENDOR_RELEASE@ VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ XDMCP_CFLAGS = @XDMCP_CFLAGS@ @@ -254,27 +246,12 @@ XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@ XDMX_CFLAGS = @XDMX_CFLAGS@ XDMX_LIBS = @XDMX_LIBS@ XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ XEPHYR_INCS = @XEPHYR_INCS@ XEPHYR_LIBS = @XEPHYR_LIBS@ 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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ @@ -285,10 +262,6 @@ XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ XNEST_LIBS = @XNEST_LIBS@ XNEST_SYS_LIBS = @XNEST_SYS_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_INCS = @XORG_INCS@ XORG_LIBS = @XORG_LIBS@ @@ -297,13 +270,8 @@ XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ XORG_OS = @XORG_OS@ XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_LIBS@ +XPBPROXY_CFLAGS = @XPBPROXY_CFLAGS@ +XPBPROXY_LIBS = @XPBPROXY_LIBS@ XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ XSDL_INCS = @XSDL_INCS@ @@ -336,8 +304,7 @@ 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@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -357,7 +324,6 @@ driverdir = @driverdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ extdir = @extdir@ -ft_config = @ft_config@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ @@ -367,12 +333,12 @@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ -launchagentsdir = @launchagentsdir@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ logdir = @logdir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ moduledir = @moduledir@ @@ -390,8 +356,6 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ INCLUDES = \ @KDRIVE_INCS@ \ @KDRIVE_CFLAGS@ @@ -421,8 +385,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ @@ -526,7 +490,7 @@ ID: $(HEADERS) $(SOURCES) $(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; nonemtpy = 1; } \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS diff --git a/xorg-server/hw/kdrive/fbdev/fbdev.c b/xorg-server/hw/kdrive/fbdev/fbdev.c index 177be0bdc..4eeca289a 100644 --- a/xorg-server/hw/kdrive/fbdev/fbdev.c +++ b/xorg-server/hw/kdrive/fbdev/fbdev.c @@ -99,8 +99,6 @@ fbdevCardInit (KdCardInfo *card) return TRUE; } -#define FBDEV_KLUDGE_FORMAT -#ifdef FBDEV_KLUDGE_FORMAT static Pixel fbdevMakeContig (Pixel orig, Pixel others) { @@ -114,7 +112,6 @@ fbdevMakeContig (Pixel orig, Pixel others) } return orig; } -#endif static Bool fbdevModeSupported (KdScreenInfo *screen, @@ -179,16 +176,24 @@ fbdevScreenInitialize (KdScreenInfo *screen, FbdevScrPriv *scrpriv) screen->rate = 103; /* FIXME: should get proper value from fb driver */ } if (!screen->fb[0].depth) - screen->fb[0].depth = 16; - - t = KdFindMode (screen, fbdevModeSupported); - screen->rate = t->rate; - screen->width = t->horizontal; - screen->height = t->vertical; + { + if (k >= 0) + screen->fb[0].depth = var.bits_per_pixel; + else + screen->fb[0].depth = 16; + } - /* Now try setting the mode */ - if (k < 0 || (t->horizontal != var.xres || t->vertical != var.yres)) - fbdevConvertMonitorTiming (t, &var); + if ((screen->width != var.xres) || (screen->height != var.yres)) + { + t = KdFindMode (screen, fbdevModeSupported); + screen->rate = t->rate; + screen->width = t->horizontal; + screen->height = t->vertical; + + /* Now try setting the mode */ + if (k < 0 || (t->horizontal != var.xres || t->vertical != var.yres)) + fbdevConvertMonitorTiming (t, &var); + } var.activate = FB_ACTIVATE_NOW; var.bits_per_pixel = screen->fb[0].depth; @@ -253,7 +258,7 @@ fbdevScreenInitialize (KdScreenInfo *screen, FbdevScrPriv *scrpriv) screen->fb[0].redMask = Mask (priv->var.red.offset, priv->var.red.length); screen->fb[0].greenMask = Mask (priv->var.green.offset, priv->var.green.length); screen->fb[0].blueMask = Mask (priv->var.blue.offset, priv->var.blue.length); -#ifdef FBDEV_KLUDGE_FORMAT + /* * This is a kludge so that Render will work -- fill in the gaps * in the pixel @@ -270,7 +275,6 @@ fbdevScreenInitialize (KdScreenInfo *screen, FbdevScrPriv *scrpriv) screen->fb[0].redMask| screen->fb[0].greenMask); -#endif allbits = screen->fb[0].redMask | screen->fb[0].greenMask | screen->fb[0].blueMask; depth = 32; while (depth && !(allbits & (1 << (depth - 1)))) @@ -293,10 +297,9 @@ fbdevScreenInit (KdScreenInfo *screen) { FbdevScrPriv *scrpriv; - scrpriv = xalloc (sizeof (FbdevScrPriv)); + scrpriv = xcalloc (1, sizeof (FbdevScrPriv)); if (!scrpriv) return FALSE; - memset (scrpriv, '\0', sizeof (FbdevScrPriv)); screen->driver = scrpriv; if (!fbdevScreenInitialize (screen, scrpriv)) { @@ -521,8 +524,6 @@ fbdevRandRSetConfig (ScreenPtr pScreen, scrpriv->randr = KdAddRotation (screen->randr, randr); - KdOffscreenSwapOut (screen->pScreen); - fbdevUnmapFramebuffer (screen); if (!fbdevMapFramebuffer (screen)) @@ -769,7 +770,7 @@ fbdevGetColors (ScreenPtr pScreen, int fb, int n, xColorItem *pdefs) cmap.start = min; cmap.len = max - min + 1; cmap.red = &priv->red[min]; - cmap.green = &priv->green[min];; + cmap.green = &priv->green[min]; cmap.blue = &priv->blue[min]; cmap.transp = 0; k = ioctl (priv->fd, FBIOGETCMAP, &cmap); diff --git a/xorg-server/hw/kdrive/i810/Makefile.am b/xorg-server/hw/kdrive/i810/Makefile.am deleted file mode 100644 index 30919fad9..000000000 --- a/xorg-server/hw/kdrive/i810/Makefile.am +++ /dev/null @@ -1,39 +0,0 @@ -INCLUDES = \ - @KDRIVE_INCS@ \ - @KDRIVE_CFLAGS@ - -bin_PROGRAMS = Xi810 - -noinst_LIBRARIES = libi810.a - - -libi810_a_SOURCES = \ - i810_cursor.c \ - i810_video.c \ - i810draw.c \ - i810draw.h \ - i810_reg.h \ - i810.c \ - i810.h - -Xi810_SOURCES = \ - i810stub.c - -I810_LIBS = \ - libi810.a \ - @KDRIVE_LIBS@ - -if GLX -Xi810_LDFLAGS = $(LD_EXPORT_SYMBOLS_FLAG) -endif - -Xi810_LDADD = \ - $(I810_LIBS) \ - @KDRIVE_LIBS@ - -Xi810_DEPENDENCIES = \ - libi810.a \ - @KDRIVE_LOCAL_LIBS@ - -relink: - rm -f $(bin_PROGRAMS) && make $(bin_PROGRAMS) diff --git a/xorg-server/hw/kdrive/i810/Makefile.in b/xorg-server/hw/kdrive/i810/Makefile.in deleted file mode 100644 index ba05704b7..000000000 --- a/xorg-server/hw/kdrive/i810/Makefile.in +++ /dev/null @@ -1,721 +0,0 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008 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 = Xi810$(EXEEXT) -subdir = hw/kdrive/i810 -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 -libi810_a_AR = $(AR) $(ARFLAGS) -libi810_a_LIBADD = -am_libi810_a_OBJECTS = i810_cursor.$(OBJEXT) i810_video.$(OBJEXT) \ - i810draw.$(OBJEXT) i810.$(OBJEXT) -libi810_a_OBJECTS = $(am_libi810_a_OBJECTS) -am__installdirs = "$(DESTDIR)$(bindir)" -binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) -PROGRAMS = $(bin_PROGRAMS) -am_Xi810_OBJECTS = i810stub.$(OBJEXT) -Xi810_OBJECTS = $(am_Xi810_OBJECTS) -am__DEPENDENCIES_1 = libi810.a -Xi810_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(Xi810_LDFLAGS) \ - $(LDFLAGS) -o $@ -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include -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 = $(libi810_a_SOURCES) $(Xi810_SOURCES) -DIST_SOURCES = $(libi810_a_SOURCES) $(Xi810_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@ -DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ -DRI2PROTO_LIBS = @DRI2PROTO_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@ -DSYMUTIL = @DSYMUTIL@ -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@ -GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ -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@ -LAUNCHD = @LAUNCHD@ -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@ -NMEDIT = @NMEDIT@ -OBJC = @OBJC@ -OBJCCLD = @OBJCCLD@ -OBJCDEPMODE = @OBJCDEPMODE@ -OBJCFLAGS = @OBJCFLAGS@ -OBJCLINK = @OBJCLINK@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ -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@ -PCIACCESS_CFLAGS = @PCIACCESS_CFLAGS@ -PCIACCESS_LIBS = @PCIACCESS_LIBS@ -PCI_TXT_IDS_PATH = @PCI_TXT_IDS_PATH@ -PERL = @PERL@ -PKG_CONFIG = @PKG_CONFIG@ -PROJECTROOT = @PROJECTROOT@ -PS2PDF = @PS2PDF@ -RANLIB = @RANLIB@ -RAWCPP = @RAWCPP@ -RAWCPPFLAGS = @RAWCPPFLAGS@ -SED = @SED@ -SERVER_MISC_CONFIG_PATH = @SERVER_MISC_CONFIG_PATH@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ -SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ -STRIP = @STRIP@ -TSLIB_CFLAGS = @TSLIB_CFLAGS@ -TSLIB_LIBS = @TSLIB_LIBS@ -UTILS_SYS_LIBS = @UTILS_SYS_LIBS@ -VENDOR_MAN_VERSION = @VENDOR_MAN_VERSION@ -VENDOR_NAME = @VENDOR_NAME@ -VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ -VENDOR_RELEASE = @VENDOR_RELEASE@ -VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ -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_CFLAGS = @XDMX_CFLAGS@ -XDMX_LIBS = @XDMX_LIBS@ -XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ -XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ -XEPHYR_INCS = @XEPHYR_INCS@ -XEPHYR_LIBS = @XEPHYR_LIBS@ -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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ -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@ -XNEST_SYS_LIBS = @XNEST_SYS_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_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@ -XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_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@ -XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ -XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ -XTSTEXAMPLES_DEP_LIBS = @XTSTEXAMPLES_DEP_LIBS@ -XVFB_LIBS = @XVFB_LIBS@ -XVFB_SYS_LIBS = @XVFB_SYS_LIBS@ -XWINMODULES_CFLAGS = @XWINMODULES_CFLAGS@ -XWINMODULES_LIBS = @XWINMODULES_LIBS@ -XWIN_LIBS = @XWIN_LIBS@ -XWIN_SERVER_NAME = @XWIN_SERVER_NAME@ -XWIN_SYS_LIBS = @XWIN_SYS_LIBS@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -__XCONFIGFILE__ = @__XCONFIGFILE__@ -abi_ansic = @abi_ansic@ -abi_extension = @abi_extension@ -abi_font = @abi_font@ -abi_videodrv = @abi_videodrv@ -abi_xinput = @abi_xinput@ -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@ -launchagentsdir = @launchagentsdir@ -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_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ -INCLUDES = \ - @KDRIVE_INCS@ \ - @KDRIVE_CFLAGS@ - -noinst_LIBRARIES = libi810.a -libi810_a_SOURCES = \ - i810_cursor.c \ - i810_video.c \ - i810draw.c \ - i810draw.h \ - i810_reg.h \ - i810.c \ - i810.h - -Xi810_SOURCES = \ - i810stub.c - -I810_LIBS = \ - libi810.a \ - @KDRIVE_LIBS@ - -@GLX_TRUE@Xi810_LDFLAGS = $(LD_EXPORT_SYMBOLS_FLAG) -Xi810_LDADD = \ - $(I810_LIBS) \ - @KDRIVE_LIBS@ - -Xi810_DEPENDENCIES = \ - libi810.a \ - @KDRIVE_LOCAL_LIBS@ - -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/kdrive/i810/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign hw/kdrive/i810/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) -libi810.a: $(libi810_a_OBJECTS) $(libi810_a_DEPENDENCIES) - -rm -f libi810.a - $(libi810_a_AR) libi810.a $(libi810_a_OBJECTS) $(libi810_a_LIBADD) - $(RANLIB) libi810.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) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ - $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --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 -Xi810$(EXEEXT): $(Xi810_OBJECTS) $(Xi810_DEPENDENCIES) - @rm -f Xi810$(EXEEXT) - $(Xi810_LINK) $(Xi810_OBJECTS) $(Xi810_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/i810.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/i810_cursor.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/i810_video.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/i810draw.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/i810stub.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; nonemtpy = 1; } \ - END { if (nonempty) { 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; nonempty = 1; } \ - END { if (nonempty) { 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=; \ - 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; nonempty = 1; } \ - END { if (nonempty) { 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) -installdirs: - for dir in "$(DESTDIR)$(bindir)"; 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-dvi: install-dvi-am - -install-exec-am: install-binPROGRAMS - -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-binPROGRAMS - -.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-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-binPROGRAMS - - -relink: - rm -f $(bin_PROGRAMS) && make $(bin_PROGRAMS) -# 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/xorg-server/hw/kdrive/i810/i810.c b/xorg-server/hw/kdrive/i810/i810.c deleted file mode 100644 index 49090f9eb..000000000 --- a/xorg-server/hw/kdrive/i810/i810.c +++ /dev/null @@ -1,2112 +0,0 @@ -/* COPYRIGHT AND PERMISSION NOTICE - -Copyright (c) 2000, 2001 Nokia Home Communications - -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. - -X Window System is a trademark of The Open Group */ - -/* - * i810.c - KDrive driver for the i810 chipset - * - * Authors: - * Pontus Lidman - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif -#include "kdrive.h" -#include "kxv.h" -#include "klinux.h" - -#include "i810.h" -#include "agp.h" - -#include "i810draw.h" - -#ifndef I810_DEBUG -int I810_DEBUG = (0 -/* | DEBUG_ALWAYS_SYNC */ -/* | DEBUG_VERBOSE_ACCEL */ -/* | DEBUG_VERBOSE_SYNC */ -/* | DEBUG_VERBOSE_VGA */ -/* | DEBUG_VERBOSE_RING */ -/* | DEBUG_VERBOSE_OUTREG */ -/* | DEBUG_VERBOSE_MEMORY */ -/* | DEBUG_VERBOSE_CURSOR */ - ); -#endif - - -static Bool -i810ModeInit(KdScreenInfo *screen, const KdMonitorTiming *t); - -static void -i810PrintMode( vgaRegPtr vgaReg, I810RegPtr mode ); - -Bool -i810CardInit (KdCardInfo *card) -{ - int i; - - I810CardInfo *i810c; - -/* fprintf(stderr,"i810CardInit\n"); */ - - i810c = (I810CardInfo *) xalloc (sizeof (I810CardInfo)); - - if (!i810c) - return FALSE; - - /* 2MB Video RAM */ - i810c->videoRam=2048; - - /* Find FB address */ - - if (card->attr.address[1] != 0) { - i810c->LinearAddr = card->attr.address[0] & 0xFF000000; - - if (!i810c->LinearAddr) { - fprintf(stderr,"No valid FB address in PCI config space(1)\n"); - xfree(i810c); - return FALSE; - } else { -/* fprintf(stderr,"Linear framebuffer at %lx\n",i810c->LinearAddr); */ - } - } else { - fprintf(stderr,"No valid FB address in PCI config space(2)\n"); - xfree(i810c); - return FALSE; - } - - if (card->attr.address[1]) { - - i810c->MMIOAddr = card->attr.address[1] & 0xFFF80000; - - i810c->MMIOBase = - KdMapDevice (i810c->MMIOAddr, I810_REG_SIZE); - if (!i810c->MMIOBase) { - fprintf(stderr,"No valid MMIO address in PCI config space(1)\n"); - xfree(i810c); - return FALSE; - } else { - - } - } else { - fprintf(stderr,"No valid MMIO address in PCI config space(2)\n"); - xfree(i810c); - return FALSE; - } - -/* fprintf(stderr,"Mapped 0x%x bytes of MMIO regs at phys 0x%lx virt %p\n", */ -/* I810_REG_SIZE,i810c->MMIOAddr,i810c->MMIOBase); */ - - /* Find out memory bus frequency. - */ - - { - unsigned long *p; - - if (!(p= (unsigned long *) LinuxGetPciCfg(&card->attr))) - return FALSE; - -/* fprintf(stderr,"Frequency long %lx\n",p[WHTCFG_PAMR_DRP]); */ - - if ( (p[WHTCFG_PAMR_DRP] & LM_FREQ_MASK) == LM_FREQ_133 ) - i810c->LmFreqSel = 133; - else - i810c->LmFreqSel = 100; - - xfree(p); - -/* fprintf(stderr,"Selected frequency %d\n",i810c->LmFreqSel); */ - } - -/* fprintf(stderr,"Will alloc AGP framebuffer: %d kByte\n",i810c->videoRam); */ - - /* Since we always want write combining on first 32 mb of framebuffer - * we pass a mapsize of 32 mb */ - i810c->FbMapSize = 32*1024*1024; - - for (i = 2 ; i < i810c->FbMapSize ; i <<= 1); - i810c->FbMapSize = i; - - i810c->FbBase = - KdMapDevice (i810c->LinearAddr, i810c->FbMapSize); - - if (!i810c->FbBase) return FALSE; -/* fprintf(stderr,"Mapped 0x%lx bytes of framebuffer at %p\n", */ -/* i810c->FbMapSize,i810c->FbBase); */ - - card->driver=i810c; - - return TRUE; -} - -static void -i810ScreenFini (KdScreenInfo *screen) -{ - I810ScreenInfo *i810s = (I810ScreenInfo *) screen->driver; - - xfree (i810s); - screen->driver = 0; -} - -static Bool -i810InitScreen (ScreenPtr pScreen) { - -#ifdef XV - i810InitVideo(pScreen); -#endif - return TRUE; -} - -static Bool -i810FinishInitScreen(ScreenPtr pScreen) -{ - /* XXX: RandR init */ - return TRUE; -} - -static void -i810CardFini (KdCardInfo *card) -{ - I810CardInfo *i810c = (I810CardInfo *) card->driver; - - KdUnmapDevice (i810c->FbBase, i810c->FbMapSize); - KdUnmapDevice (i810c->MMIOBase, I810_REG_SIZE); - xfree (i810c); - card->driver = 0; -} - -struct wm_info { - double freq; - unsigned int wm; -}; - -struct wm_info i810_wm_8_100[] = { - { 0, 0x22003000 }, - { 25.2, 0x22003000 }, - { 28.0, 0x22003000 }, - { 31.5, 0x22003000 }, - { 36.0, 0x22007000 }, - { 40.0, 0x22007000 }, - { 45.0, 0x22007000 }, - { 49.5, 0x22008000 }, - { 50.0, 0x22008000 }, - { 56.3, 0x22008000 }, - { 65.0, 0x22008000 }, - { 75.0, 0x22008000 }, - { 78.8, 0x22008000 }, - { 80.0, 0x22008000 }, - { 94.0, 0x22008000 }, - { 96.0, 0x22107000 }, - { 99.0, 0x22107000 }, - { 108.0, 0x22107000 }, - { 121.0, 0x22107000 }, - { 128.9, 0x22107000 }, - { 132.0, 0x22109000 }, - { 135.0, 0x22109000 }, - { 157.5, 0x2210b000 }, - { 162.0, 0x2210b000 }, - { 175.5, 0x2210b000 }, - { 189.0, 0x2220e000 }, - { 202.5, 0x2220e000 } -}; - -struct wm_info i810_wm_16_100[] = { - { 0, 0x22004000 }, - { 25.2, 0x22006000 }, - { 28.0, 0x22006000 }, - { 31.5, 0x22007000 }, - { 36.0, 0x22007000 }, - { 40.0, 0x22007000 }, - { 45.0, 0x22007000 }, - { 49.5, 0x22009000 }, - { 50.0, 0x22009000 }, - { 56.3, 0x22108000 }, - { 65.0, 0x2210e000 }, - { 75.0, 0x2210e000 }, - { 78.8, 0x2210e000 }, - { 80.0, 0x22210000 }, - { 94.5, 0x22210000 }, - { 96.0, 0x22210000 }, - { 99.0, 0x22210000 }, - { 108.0, 0x22210000 }, - { 121.0, 0x22210000 }, - { 128.9, 0x22210000 }, - { 132.0, 0x22314000 }, - { 135.0, 0x22314000 }, - { 157.5, 0x22415000 }, - { 162.0, 0x22416000 }, - { 175.5, 0x22416000 }, - { 189.0, 0x22416000 }, - { 195.0, 0x22416000 }, - { 202.5, 0x22416000 } -}; - - -struct wm_info i810_wm_24_100[] = { - { 0, 0x22006000 }, - { 25.2, 0x22009000 }, - { 28.0, 0x22009000 }, - { 31.5, 0x2200a000 }, - { 36.0, 0x2210c000 }, - { 40.0, 0x2210c000 }, - { 45.0, 0x2210c000 }, - { 49.5, 0x22111000 }, - { 50.0, 0x22111000 }, - { 56.3, 0x22111000 }, - { 65.0, 0x22214000 }, - { 75.0, 0x22214000 }, - { 78.8, 0x22215000 }, - { 80.0, 0x22216000 }, - { 94.5, 0x22218000 }, - { 96.0, 0x22418000 }, - { 99.0, 0x22418000 }, - { 108.0, 0x22418000 }, - { 121.0, 0x22418000 }, - { 128.9, 0x22419000 }, - { 132.0, 0x22519000 }, - { 135.0, 0x4441d000 }, - { 157.5, 0x44419000 }, - { 162.0, 0x44419000 }, - { 175.5, 0x44419000 }, - { 189.0, 0x44419000 }, - { 195.0, 0x44419000 }, - { 202.5, 0x44419000 } -}; - -struct wm_info i810_wm_32_100[] = { - { 0, 0x2210b000 }, - { 60, 0x22415000 }, /* 0x314000 works too */ - { 80, 0x22419000 } /* 0x518000 works too */ -}; - - -struct wm_info i810_wm_8_133[] = { - { 0, 0x22003000 }, - { 25.2, 0x22003000 }, - { 28.0, 0x22003000 }, - { 31.5, 0x22003000 }, - { 36.0, 0x22007000 }, - { 40.0, 0x22007000 }, - { 45.0, 0x22007000 }, - { 49.5, 0x22008000 }, - { 50.0, 0x22008000 }, - { 56.3, 0x22008000 }, - { 65.0, 0x22008000 }, - { 75.0, 0x22008000 }, - { 78.8, 0x22008000 }, - { 80.0, 0x22008000 }, - { 94.0, 0x22008000 }, - { 96.0, 0x22107000 }, - { 99.0, 0x22107000 }, - { 108.0, 0x22107000 }, - { 121.0, 0x22107000 }, - { 128.9, 0x22107000 }, - { 132.0, 0x22109000 }, - { 135.0, 0x22109000 }, - { 157.5, 0x2210b000 }, - { 162.0, 0x2210b000 }, - { 175.5, 0x2210b000 }, - { 189.0, 0x2220e000 }, - { 202.5, 0x2220e000 } -}; - - -struct wm_info i810_wm_16_133[] = { - { 0, 0x22004000 }, - { 25.2, 0x22006000 }, - { 28.0, 0x22006000 }, - { 31.5, 0x22007000 }, - { 36.0, 0x22007000 }, - { 40.0, 0x22007000 }, - { 45.0, 0x22007000 }, - { 49.5, 0x22009000 }, - { 50.0, 0x22009000 }, - { 56.3, 0x22108000 }, - { 65.0, 0x2210e000 }, - { 75.0, 0x2210e000 }, - { 78.8, 0x2210e000 }, - { 80.0, 0x22210000 }, - { 94.5, 0x22210000 }, - { 96.0, 0x22210000 }, - { 99.0, 0x22210000 }, - { 108.0, 0x22210000 }, - { 121.0, 0x22210000 }, - { 128.9, 0x22210000 }, - { 132.0, 0x22314000 }, - { 135.0, 0x22314000 }, - { 157.5, 0x22415000 }, - { 162.0, 0x22416000 }, - { 175.5, 0x22416000 }, - { 189.0, 0x22416000 }, - { 195.0, 0x22416000 }, - { 202.5, 0x22416000 } -}; - -struct wm_info i810_wm_24_133[] = { - { 0, 0x22006000 }, - { 25.2, 0x22009000 }, - { 28.0, 0x22009000 }, - { 31.5, 0x2200a000 }, - { 36.0, 0x2210c000 }, - { 40.0, 0x2210c000 }, - { 45.0, 0x2210c000 }, - { 49.5, 0x22111000 }, - { 50.0, 0x22111000 }, - { 56.3, 0x22111000 }, - { 65.0, 0x22214000 }, - { 75.0, 0x22214000 }, - { 78.8, 0x22215000 }, - { 80.0, 0x22216000 }, - { 94.5, 0x22218000 }, - { 96.0, 0x22418000 }, - { 99.0, 0x22418000 }, - { 108.0, 0x22418000 }, - { 121.0, 0x22418000 }, - { 128.9, 0x22419000 }, - { 132.0, 0x22519000 }, - { 135.0, 0x4441d000 }, - { 157.5, 0x44419000 }, - { 162.0, 0x44419000 }, - { 175.5, 0x44419000 }, - { 189.0, 0x44419000 }, - { 195.0, 0x44419000 }, - { 202.5, 0x44419000 } -}; - -static void -i810WriteControlMMIO(I810CardInfo *i810c, int addr, CARD8 index, CARD8 val) { - moutb(addr, index); - moutb(addr+1, val); -} - -static CARD8 -i810ReadControlMMIO(I810CardInfo *i810c, int addr, CARD8 index) { - moutb(addr, index); - return minb(addr+1); -} - -static Bool -i810ModeSupported (KdScreenInfo *screen, const KdMonitorTiming *t) -{ - /* This is just a guess. */ - if (t->horizontal > 1600 || t->horizontal < 640) return FALSE; - if (t->vertical > 1200 || t->horizontal < 350) return FALSE; - return TRUE; -} - -static Bool -i810ModeUsable (KdScreenInfo *screen) -{ - KdCardInfo *card = screen->card; - I810CardInfo *i810c = (I810CardInfo *) card->driver; - int byte_width, pixel_width, screen_size; - -/* fprintf(stderr,"i810ModeUsable\n"); */ - - if (screen->fb[0].depth >= 24) - { - screen->fb[0].depth = 24; - screen->fb[0].bitsPerPixel = 24; - screen->dumb = TRUE; - } - else if (screen->fb[0].depth >= 16) - { - screen->fb[0].depth = 16; - screen->fb[0].bitsPerPixel = 16; - } - else if (screen->fb[0].depth >= 15) - { - screen->fb[0].depth = 15; - screen->fb[0].bitsPerPixel = 16; - } - else - { - screen->fb[0].depth = 8; - screen->fb[0].bitsPerPixel = 8; - } - byte_width = screen->width * (screen->fb[0].bitsPerPixel >> 3); - pixel_width = screen->width; - - screen->fb[0].pixelStride = pixel_width; - screen->fb[0].byteStride = byte_width; - - screen_size = byte_width * screen->height; - - return screen_size <= (i810c->videoRam * 1024); -} - -static int i810AllocateGARTMemory( KdScreenInfo *screen ) -{ - KdCardInfo *card = screen->card; - I810CardInfo *i810c = (I810CardInfo *) card->driver; - unsigned long size = i810c->videoRam * 1024; - - int key; - long tom = 0; - unsigned long physical; - - if (!KdAgpGARTSupported()) - return FALSE; - - if (!KdAcquireGART(screen->mynum)) - return FALSE; - - /* This allows the 2d only Xserver to regen */ - i810c->agpAcquired2d = TRUE; - - /* Treat the gart like video memory - we assume we own all that is - * there, so ignore EBUSY errors. Don't try to remove it on - * failure, either, as other X server may be using it. - */ - - if ((key = KdAllocateGARTMemory(screen->mynum, size, 0, NULL)) == -1) - return FALSE; - - i810c->VramOffset = 0; - i810c->VramKey = key; - - if (!KdBindGARTMemory(screen->mynum, key, 0)) - return FALSE; - - - i810c->SysMem.Start = 0; - i810c->SysMem.Size = size; - i810c->SysMem.End = size; - i810c->SavedSysMem = i810c->SysMem; - - tom = i810c->SysMem.End; - - i810c->DcacheMem.Start = 0; - i810c->DcacheMem.End = 0; - i810c->DcacheMem.Size = 0; - i810c->CursorPhysical = 0; - - /* Dcache - half the speed of normal ram, so not really useful for - * a 2d server. Don't bother reporting its presence. This is - * mapped in addition to the requested amount of system ram. - */ - size = 1024 * 4096; - - /* Keep it 512K aligned for the sake of tiled regions. - */ - tom += 0x7ffff; - tom &= ~0x7ffff; - - if ((key = KdAllocateGARTMemory(screen->mynum, size, AGP_DCACHE_MEMORY, NULL)) != -1) { - i810c->DcacheOffset= tom; - i810c->DcacheKey = key; - if (!KdBindGARTMemory(screen->mynum, key, tom)) { - fprintf(stderr,"Allocation of %ld bytes for DCACHE failed\n", size); - i810c->DcacheKey = -1; - } else { - i810c->DcacheMem.Start = tom; - i810c->DcacheMem.Size = size; - i810c->DcacheMem.End = i810c->DcacheMem.Start + i810c->DcacheMem.Size; - tom = i810c->DcacheMem.End; - } - } else { - fprintf(stderr, - "No physical memory available for %ld bytes of DCACHE\n", - size); - i810c->DcacheKey = -1; - } - - /* Mouse cursor -- The i810 (crazy) needs a physical address in - * system memory from which to upload the cursor. We get this from - * the agpgart module using a special memory type. - */ - - /* 4k for the cursor is excessive, I'm going to steal 3k for - * overlay registers later - */ - - size = 4096; - - if ((key = KdAllocateGARTMemory(screen->mynum, size, AGP_PHYS_MEMORY, - &physical)) == -1) { - fprintf(stderr, - "No physical memory available for HW cursor\n"); - i810c->HwcursKey = -1; - } else { - i810c->HwcursOffset= tom; - i810c->HwcursKey = key; - if (!KdBindGARTMemory(screen->mynum, key, tom)) { - fprintf(stderr, - "Allocation of %ld bytes for HW cursor failed\n", - size); - i810c->HwcursKey = -1; - } else { - i810c->CursorPhysical = physical; - i810c->CursorStart = tom; - tom += size; - } - } - - /* Overlay register buffer -- Just like the cursor, the i810 needs a - * physical address in system memory from which to upload the overlay - * registers. - */ - if (i810c->CursorStart != 0) { - i810c->OverlayPhysical = i810c->CursorPhysical + 1024; - i810c->OverlayStart = i810c->CursorStart + 1024; - } - - - i810c->GttBound = 1; - - return TRUE; -} - -/* Allocate from a memrange, returns success */ - -static int i810AllocLow( I810MemRange *result, I810MemRange *pool, int size ) -{ - if (size > pool->Size) return FALSE; - - pool->Size -= size; - result->Size = size; - result->Start = pool->Start; - result->End = pool->Start += size; - return TRUE; -} - -static int i810AllocHigh( I810MemRange *result, I810MemRange *pool, int size ) -{ - if (size > pool->Size) return 0; - - pool->Size -= size; - result->Size = size; - result->End = pool->End; - result->Start = pool->End -= size; - return 1; -} - -static Bool -i810AllocateFront(KdScreenInfo *screen) { - - KdCardInfo *card = screen->card; - I810CardInfo *i810c = (I810CardInfo *) card->driver; - - int cache_lines = -1; - - if(i810c->DoneFrontAlloc) - return TRUE; - - memset(&(i810c->FbMemBox), 0, sizeof(BoxRec)); - /* Alloc FrontBuffer/Ring/Accel memory */ - i810c->FbMemBox.x1=0; - i810c->FbMemBox.x2=screen->width; - i810c->FbMemBox.y1=0; - i810c->FbMemBox.y2=screen->height; - - /* This could be made a command line option */ - cache_lines = 0; - - if(cache_lines >= 0) - i810c->FbMemBox.y2 += cache_lines; - else { - /* make sure there is enough for two DVD sized YUV buffers */ - i810c->FbMemBox.y2 += (screen->fb[0].depth == 24) ? 256 : 384; - if (screen->width <= 1024) - i810c->FbMemBox.y2 += (screen->fb[0].depth == 24) ? 256 : 384; - cache_lines = i810c->FbMemBox.y2 - screen->height; - } - - if (I810_DEBUG) - ErrorF("Adding %i scanlines for pixmap caching\n", cache_lines); - - /* Reserve room for the framebuffer and pixcache. Put at the top - * of memory so we can have nice alignment for the tiled regions at - * the start of memory. - */ - i810AllocLow( &(i810c->FrontBuffer), - &(i810c->SysMem), - ((i810c->FbMemBox.x2 * - i810c->FbMemBox.y2 * - i810c->cpp) + 4095) & ~4095); - - memset( &(i810c->LpRing), 0, sizeof( I810RingBuffer ) ); - if(i810AllocLow( &(i810c->LpRing.mem), &(i810c->SysMem), 16*4096 )) { - if (I810_DEBUG & DEBUG_VERBOSE_MEMORY) - ErrorF( "ring buffer at local %lx\n", - i810c->LpRing.mem.Start); - - i810c->LpRing.tail_mask = i810c->LpRing.mem.Size - 1; - i810c->LpRing.virtual_start = i810c->FbBase + i810c->LpRing.mem.Start; - i810c->LpRing.head = 0; - i810c->LpRing.tail = 0; - i810c->LpRing.space = 0; - } - - if ( i810AllocLow( &i810c->Scratch, &(i810c->SysMem), 64*1024 ) || - i810AllocLow( &i810c->Scratch, &(i810c->SysMem), 16*1024 ) ) { - if (I810_DEBUG & DEBUG_VERBOSE_MEMORY) - ErrorF("Allocated Scratch Memory\n"); - } - -#ifdef XV - /* 720x720 is just how much memory the mpeg player needs for overlays */ - - if ( i810AllocHigh( &i810c->XvMem, &(i810c->SysMem), 720*720*2 )) { - if (I810_DEBUG & DEBUG_VERBOSE_MEMORY) - ErrorF("Allocated overlay Memory\n"); - } -#endif - - i810c->DoneFrontAlloc = TRUE; - return TRUE; -} - -static Bool -i810MapMem(KdScreenInfo *screen) -{ - - KdCardInfo *card = screen->card; - I810CardInfo *i810c = (I810CardInfo *) card->driver; - - i810c->LpRing.virtual_start = i810c->FbBase + i810c->LpRing.mem.Start; - - return TRUE; -} - - -Bool -i810ScreenInit (KdScreenInfo *screen) -{ - KdCardInfo *card = screen->card; - I810CardInfo *i810c = (I810CardInfo *) card->driver; - I810ScreenInfo *i810s; - - int i; - - const KdMonitorTiming *t; - -/* fprintf(stderr,"i810ScreenInit\n"); */ - - i810s = (I810ScreenInfo *) xalloc (sizeof (I810ScreenInfo)); - if (!i810s) - return FALSE; - - memset (i810s, '\0', sizeof (I810ScreenInfo)); - - i810s->i810c = i810c; - - /* Default dimensions */ - if (!screen->width || !screen->height) - { - screen->width = 720; - screen->height = 576; - screen->rate = 52; -#if 0 - screen->width = 1024; - screen->height = 768; - screen->rate = 72; -#endif - } - - if (!screen->fb[0].depth) - screen->fb[0].depth = 16; - - t = KdFindMode (screen, i810ModeSupported); - - screen->rate = t->rate; - screen->width = t->horizontal; - screen->height = t->vertical; - - if (!KdTuneMode (screen, i810ModeUsable, i810ModeSupported)) - { - xfree (i810c); - return FALSE; - } - -/* fprintf(stderr,"Screen rate %d horiz %d vert %d\n",t->rate,t->horizontal,t->vertical); */ - - switch (screen->fb[0].depth) { - case 8: - screen->fb[0].visuals = ((1 << StaticGray) | - (1 << GrayScale) | - (1 << StaticColor) | - (1 << PseudoColor) | - (1 << TrueColor) | - (1 << DirectColor)); - screen->fb[0].blueMask = 0x00; - screen->fb[0].greenMask = 0x00; - screen->fb[0].redMask = 0x00; - break; - case 15: - screen->fb[0].visuals = (1 << TrueColor); - screen->fb[0].blueMask = 0x001f; - screen->fb[0].greenMask = 0x03e0; - screen->fb[0].redMask = 0x7c00; - - i810c->colorKey = 0x043f; - - break; - case 16: - screen->fb[0].visuals = (1 << TrueColor); - screen->fb[0].blueMask = 0x001f; - screen->fb[0].greenMask = 0x07e0; - screen->fb[0].redMask = 0xf800; - - i810c->colorKey = 0x083f; - - break; - case 24: - screen->fb[0].visuals = (1 << TrueColor); - screen->fb[0].blueMask = 0x0000ff; - screen->fb[0].greenMask = 0x00ff00; - screen->fb[0].redMask = 0xff0000; - - i810c->colorKey = 0x0101ff; - - break; - default: - fprintf(stderr,"Unsupported depth %d\n",screen->fb[0].depth); - return FALSE; - } - - - - /* Set all colours to black */ - for (i=0; i<768; i++) i810c->vga.ModeReg.DAC[i] = 0x00; - - /* ... and the overscan */ - if (screen->fb[0].depth >= 4) - i810c->vga.ModeReg.Attribute[OVERSCAN] = 0xFF; - - /* Could be made a command-line option */ - -#ifdef I810CFG_SHOW_OVERSCAN - i810c->vga.ModeReg.DAC[765] = 0x3F; - i810c->vga.ModeReg.DAC[766] = 0x00; - i810c->vga.ModeReg.DAC[767] = 0x3F; - i810c->vga.ModeReg.Attribute[OVERSCAN] = 0xFF; - i810c->vga.ShowOverscan = TRUE; -#else - i810c->vga.ShowOverscan = FALSE; -#endif - - i810c->vga.paletteEnabled = FALSE; - i810c->vga.cmapSaved = FALSE; - i810c->vga.MMIOBase = i810c->MMIOBase; - - i810c->cpp = screen->fb[0].bitsPerPixel/8; - - /* move to initscreen? */ - - switch (screen->fb[0].bitsPerPixel) { - case 8: - i810c->MaxClock = 203000; - break; - case 16: - i810c->MaxClock = 163000; - break; - case 24: - i810c->MaxClock = 136000; - break; - case 32: /* not supported */ - i810c->MaxClock = 86000; - default: - fprintf(stderr,"Unsupported bpp %d\n",screen->fb[0].bitsPerPixel); - return FALSE; - } - - if (!i810AllocateGARTMemory( screen )) { - return FALSE; - } - - i810AllocateFront(screen); - - /* Map LpRing memory */ - if (!i810MapMem(screen)) return FALSE; - - screen->fb[0].frameBuffer = i810c->FbBase; - - screen->driver = i810s; - - return TRUE; -} - -/* - * I810Save -- - * - * This function saves the video state. It reads all of the SVGA registers - * into the vgaI810Rec data structure. There is in general no need to - * mask out bits here - just read the registers. - */ -static void -DoSave(KdCardInfo *card, vgaRegPtr vgaReg, I810RegPtr i810Reg, Bool saveFonts) -{ - - I810CardInfo *i810c = card->driver; - i810VGAPtr vgap = &i810c->vga; - - int i; - - /* Save VGA registers */ - - vgaReg->MiscOutReg = mmioReadMiscOut(vgap); - if (vgaReg->MiscOutReg & 0x01) - vgap->IOBase = VGA_IOBASE_COLOR; - else - vgap->IOBase = VGA_IOBASE_MONO; - - for (i = 0; i < VGA_NUM_CRTC; i++) { - vgaReg->CRTC[i] = mmioReadCrtc(vgap, i); - } - - mmioEnablePalette(vgap); - for (i = 0; i < VGA_NUM_ATTR; i++) { - vgaReg->Attribute[i] = mmioReadAttr(vgap, i); - } - mmioDisablePalette(vgap); - - for (i = 0; i < VGA_NUM_GFX; i++) { - vgaReg->Graphics[i] = mmioReadGr(vgap, i); - } - - for (i = 1; i < VGA_NUM_SEQ; i++) { - vgaReg->Sequencer[i] = mmioReadSeq(vgap, i); - } - - /* - * The port I/O code necessary to read in the extended registers - * into the fields of the I810Rec structure goes here. - */ - i810Reg->IOControl = mmioReadCrtc(vgap, IO_CTNL); - i810Reg->AddressMapping = i810ReadControlMMIO(i810c, GRX, ADDRESS_MAPPING); - i810Reg->BitBLTControl = INREG8(BITBLT_CNTL); - i810Reg->VideoClk2_M = INREG16(VCLK2_VCO_M); - i810Reg->VideoClk2_N = INREG16(VCLK2_VCO_N); - i810Reg->VideoClk2_DivisorSel = INREG8(VCLK2_VCO_DIV_SEL); - - i810Reg->ExtVertTotal=mmioReadCrtc(vgap, EXT_VERT_TOTAL); - i810Reg->ExtVertDispEnd=mmioReadCrtc(vgap, EXT_VERT_DISPLAY); - i810Reg->ExtVertSyncStart=mmioReadCrtc(vgap, EXT_VERT_SYNC_START); - i810Reg->ExtVertBlankStart=mmioReadCrtc(vgap, EXT_VERT_BLANK_START); - i810Reg->ExtHorizTotal=mmioReadCrtc(vgap, EXT_HORIZ_TOTAL); - i810Reg->ExtHorizBlank=mmioReadCrtc(vgap, EXT_HORIZ_BLANK); - i810Reg->ExtOffset=mmioReadCrtc(vgap, EXT_OFFSET); - i810Reg->InterlaceControl=mmioReadCrtc(vgap, INTERLACE_CNTL); - - i810Reg->PixelPipeCfg0 = INREG8(PIXPIPE_CONFIG_0); - i810Reg->PixelPipeCfg1 = INREG8(PIXPIPE_CONFIG_1); - i810Reg->PixelPipeCfg2 = INREG8(PIXPIPE_CONFIG_2); - i810Reg->DisplayControl = INREG8(DISPLAY_CNTL); - i810Reg->LMI_FIFO_Watermark = INREG(FWATER_BLC); - - for (i = 0 ; i < 8 ; i++) - i810Reg->Fence[i] = INREG(FENCE+i*4); - - i810Reg->LprbTail = INREG(LP_RING + RING_TAIL); - i810Reg->LprbHead = INREG(LP_RING + RING_HEAD); - i810Reg->LprbStart = INREG(LP_RING + RING_START); - i810Reg->LprbLen = INREG(LP_RING + RING_LEN); - - if ((i810Reg->LprbTail & TAIL_ADDR) != (i810Reg->LprbHead & HEAD_ADDR) && - i810Reg->LprbLen & RING_VALID) { - i810PrintErrorState( i810c ); - FatalError( "Active ring not flushed\n"); - } - - if (I810_DEBUG) { - fprintf(stderr,"Got mode in I810Save:\n"); - i810PrintMode( vgaReg, i810Reg ); - } -} - -static void -i810Preserve(KdCardInfo *card) -{ - I810CardInfo *i810c = card->driver; - i810VGAPtr vgap = &i810c->vga; - -/* fprintf(stderr,"i810Preserve\n"); */ - DoSave(card, &vgap->SavedReg, &i810c->SavedReg, TRUE); -} - -/* Famous last words - */ -void -i810PrintErrorState(i810CardInfo *i810c) -{ - - fprintf(stderr, "pgetbl_ctl: 0x%lx pgetbl_err: 0x%lx\n", - INREG(PGETBL_CTL), - INREG(PGE_ERR)); - - fprintf(stderr, "ipeir: %lx iphdr: %lx\n", - INREG(IPEIR), - INREG(IPEHR)); - - fprintf(stderr, "LP ring tail: %lx head: %lx len: %lx start %lx\n", - INREG(LP_RING + RING_TAIL), - INREG(LP_RING + RING_HEAD) & HEAD_ADDR, - INREG(LP_RING + RING_LEN), - INREG(LP_RING + RING_START)); - - fprintf(stderr, "eir: %x esr: %x emr: %x\n", - INREG16(EIR), - INREG16(ESR), - INREG16(EMR)); - - fprintf(stderr, "instdone: %x instpm: %x\n", - INREG16(INST_DONE), - INREG8(INST_PM)); - - fprintf(stderr, "memmode: %lx instps: %lx\n", - INREG(MEMMODE), - INREG(INST_PS)); - - fprintf(stderr, "hwstam: %x ier: %x imr: %x iir: %x\n", - INREG16(HWSTAM), - INREG16(IER), - INREG16(IMR), - INREG16(IIR)); -} - -static Bool -i810BindGARTMemory( KdScreenInfo *screen ) -{ - - KdCardInfo *card = screen->card; - I810CardInfo *i810c = card->driver; - - if (!i810c->GttBound) { - if (!KdAcquireGART(screen->mynum)) - return FALSE; - if (!KdBindGARTMemory(screen->mynum, i810c->VramKey, - i810c->VramOffset)) - - return FALSE; - if (i810c->DcacheKey != -1) { - if (!KdBindGARTMemory(screen->mynum, i810c->DcacheKey, - i810c->DcacheOffset)) - return FALSE; - } - if (i810c->HwcursKey != -1) { - if (!KdBindGARTMemory(screen->mynum, i810c->HwcursKey, - i810c->HwcursOffset)) - return FALSE; - } - i810c->GttBound = 1; - } - return TRUE; -} - -static Bool -i810UnbindGARTMemory(KdScreenInfo *screen) -{ - KdCardInfo *card = screen->card; - I810CardInfo *i810c = card->driver; - - - if (KdAgpGARTSupported() && i810c->GttBound) { - if (!KdUnbindGARTMemory(screen->mynum, i810c->VramKey)) - return FALSE; - if (i810c->DcacheKey != -1) { - if (!KdUnbindGARTMemory(screen->mynum, i810c->DcacheKey)) - return FALSE; - } - if (i810c->HwcursKey != -1) { - if (!KdUnbindGARTMemory(screen->mynum, i810c->HwcursKey)) - return FALSE; - } - if (!KdReleaseGART(screen->mynum)) - return FALSE; - i810c->GttBound = 0; - } - return TRUE; -} - -/* - * I810CalcVCLK -- - * - * Determine the closest clock frequency to the one requested. - */ - -#define MAX_VCO_FREQ 600.0 -#define TARGET_MAX_N 30 -#define REF_FREQ 24.0 - -#define CALC_VCLK(m,n,p) \ - (double)m / ((double)n * (1 << p)) * 4 * REF_FREQ - -static void -i810CalcVCLK( KdScreenInfo *screen, double freq ) -{ - - KdCardInfo *card = screen->card; - I810CardInfo *i810c = card->driver; - I810RegPtr i810Reg = &i810c->ModeReg; - - int m, n, p; - double f_out, f_best; - double f_err; - double f_vco; - int m_best = 0, n_best = 0, p_best = 0; - double f_target = freq; - double err_max = 0.005; - double err_target = 0.001; - double err_best = 999999.0; - - p_best = p = log(MAX_VCO_FREQ/f_target)/log((double)2); - f_vco = f_target * (1 << p); - - n = 2; - do { - n++; - m = f_vco / (REF_FREQ / (double)n) / (double)4.0 + 0.5; - if (m < 3) m = 3; - f_out = CALC_VCLK(m,n,p); - f_err = 1.0 - (f_target/f_out); - if (fabs(f_err) < err_max) { - m_best = m; - n_best = n; - f_best = f_out; - err_best = f_err; - } - } while ((fabs(f_err) >= err_target) && - ((n <= TARGET_MAX_N) || (fabs(err_best) > err_max))); - - if (fabs(f_err) < err_target) { - m_best = m; - n_best = n; - } - - i810Reg->VideoClk2_M = (m_best-2) & 0x3FF; - i810Reg->VideoClk2_N = (n_best-2) & 0x3FF; - i810Reg->VideoClk2_DivisorSel = (p_best << 4); - -/* fprintf(stderr, "Setting dot clock to %.1f MHz " */ -/* "[ 0x%x 0x%x 0x%x ] " */ -/* "[ %d %d %d ]\n", */ -/* CALC_VCLK(m_best,n_best,p_best), */ -/* i810Reg->VideoClk2_M, */ -/* i810Reg->VideoClk2_N, */ -/* i810Reg->VideoClk2_DivisorSel, */ -/* m_best, n_best, p_best); */ -} - -/* - * I810CalcFIFO -- - * - * Calculate burst length and FIFO watermark. - */ - -#define Elements(x) (sizeof(x)/sizeof(*x)) - -static unsigned int -i810CalcWatermark( KdScreenInfo *screen, double freq, Bool dcache ) -{ - - KdCardInfo *card = screen->card; - I810CardInfo *i810c = card->driver; - - - struct wm_info *tab; - int nr; - int i; - - if (i810c->LmFreqSel == 100) { - switch(screen->fb[0].bitsPerPixel) { - case 8: - tab = i810_wm_8_100; - nr = Elements(i810_wm_8_100); - break; - case 16: - tab = i810_wm_16_100; - nr = Elements(i810_wm_16_100); - break; - case 24: - tab = i810_wm_24_100; - nr = Elements(i810_wm_24_100); - break; - default: - return 0; - } - } else { - switch(screen->fb[0].bitsPerPixel) { - case 8: - tab = i810_wm_8_133; - nr = Elements(i810_wm_8_133); - break; - case 16: - tab = i810_wm_16_133; - nr = Elements(i810_wm_16_133); - break; - case 24: - tab = i810_wm_24_133; - nr = Elements(i810_wm_24_133); - break; - default: - return 0; - } - } - - for (i = 0 ; i < nr && tab[i].freq < freq ; i++); - - if (i == nr) - i--; - -/* fprintf(stderr,"chose watermark 0x%x: (tab.freq %.1f)\n", */ -/* tab[i].wm, tab[i].freq); */ - - /* None of these values (sourced from intel) have watermarks for - * the dcache memory. Fake it for now by using the same watermark - * for both... - * - * Update: this is probably because dcache isn't real useful as - * framebuffer memory, so intel's drivers don't need watermarks - * for that memory because they never use it to feed the ramdacs. - * We do use it in the fallback mode, so keep the watermarks for - * now. - */ - if (dcache) - return (tab[i].wm & ~0xffffff) | ((tab[i].wm>>12) & 0xfff); - else - return tab[i].wm; -} - -static void i810PrintMode( vgaRegPtr vgaReg, I810RegPtr mode ) -{ - int i; - - fprintf(stderr," MiscOut: %x\n", vgaReg->MiscOutReg); - - - fprintf(stderr,"SEQ: "); - for (i = 0 ; i < VGA_NUM_SEQ ; i++) { - if ((i&7)==0) fprintf(stderr,"\n"); - fprintf(stderr," %d: %x", i, vgaReg->Sequencer[i]); - } - fprintf(stderr,"\n"); - - fprintf(stderr,"CRTC: "); - for (i = 0 ; i < VGA_NUM_CRTC ; i++) { - if ((i&3)==0) fprintf(stderr,"\n"); - fprintf(stderr," CR%02x: %2x", i, vgaReg->CRTC[i]); - } - fprintf(stderr,"\n"); - - fprintf(stderr,"GFX: "); - for (i = 0 ; i < VGA_NUM_GFX ; i++) { - if ((i&3)==0) fprintf(stderr,"\n"); - fprintf(stderr," GR%02x: %02x", i, vgaReg->Graphics[i]); - } - fprintf(stderr,"\n"); - - fprintf(stderr,"ATTR: "); - for (i = 0 ; i < VGA_NUM_ATTR ; i++) { - if ((i&7)==0) fprintf(stderr,"\n"); - fprintf(stderr," %d: %x", i, vgaReg->Attribute[i]); - } - fprintf(stderr,"\n"); - - - fprintf(stderr," DisplayControl: %x\n", mode->DisplayControl); - fprintf(stderr," PixelPipeCfg0: %x\n", mode->PixelPipeCfg0); - fprintf(stderr," PixelPipeCfg1: %x\n", mode->PixelPipeCfg1); - fprintf(stderr," PixelPipeCfg2: %x\n", mode->PixelPipeCfg2); - fprintf(stderr," VideoClk2_M: %x\n", mode->VideoClk2_M); - fprintf(stderr," VideoClk2_N: %x\n", mode->VideoClk2_N); - fprintf(stderr," VideoClk2_DivisorSel: %x\n", mode->VideoClk2_DivisorSel); - fprintf(stderr," AddressMapping: %x\n", mode->AddressMapping); - fprintf(stderr," IOControl: %x\n", mode->IOControl); - fprintf(stderr," BitBLTControl: %x\n", mode->BitBLTControl); - fprintf(stderr," ExtVertTotal: %x\n", mode->ExtVertTotal); - fprintf(stderr," ExtVertDispEnd: %x\n", mode->ExtVertDispEnd); - fprintf(stderr," ExtVertSyncStart: %x\n", mode->ExtVertSyncStart); - fprintf(stderr," ExtVertBlankStart: %x\n", mode->ExtVertBlankStart); - fprintf(stderr," ExtHorizTotal: %x\n", mode->ExtHorizTotal); - fprintf(stderr," ExtHorizBlank: %x\n", mode->ExtHorizBlank); - fprintf(stderr," ExtOffset: %x\n", mode->ExtOffset); - fprintf(stderr," InterlaceControl: %x\n", mode->InterlaceControl); - fprintf(stderr," LMI_FIFO_Watermark: %x\n", mode->LMI_FIFO_Watermark); - fprintf(stderr," LprbTail: %x\n", mode->LprbTail); - fprintf(stderr," LprbHead: %x\n", mode->LprbHead); - fprintf(stderr," LprbStart: %x\n", mode->LprbStart); - fprintf(stderr," LprbLen: %x\n", mode->LprbLen); - fprintf(stderr," OverlayActiveStart: %x\n", mode->OverlayActiveStart); - fprintf(stderr," OverlayActiveEnd: %x\n", mode->OverlayActiveEnd); -} - - -/* - * i810VGASeqReset - * perform a sequencer reset. - * - * The i815 documentation states that these bits are not used by the - * HW, but still warns about not programming them... - */ - -static void -i810VGASeqReset(i810VGAPtr vgap, Bool start) -{ - if (start) - { - mmioWriteSeq(vgap, 0x00, 0x01); /* Synchronous Reset */ - } - else - { - mmioWriteSeq(vgap, 0x00, 0x03); /* End Reset */ - } -} - -static void -i810VGAProtect(KdCardInfo *card, Bool on) -{ - - I810CardInfo *i810c = card->driver; - i810VGAPtr vgap = &i810c->vga; - - unsigned char tmp; - - if (on) { - /* - * Turn off screen and disable sequencer. - */ - tmp = mmioReadSeq(vgap, 0x01); - - i810VGASeqReset(vgap, TRUE); /* start synchronous reset */ - mmioWriteSeq(vgap, 0x01, tmp | 0x20); /* disable the display */ - - mmioEnablePalette(vgap); - } else { - /* - * Reenable sequencer, then turn on screen. - */ - - tmp = mmioReadSeq(vgap, 0x01); - - mmioWriteSeq(vgap, 0x01, tmp & ~0x20); /* reenable display */ - i810VGASeqReset(vgap, FALSE); /* clear synchronousreset */ - - mmioDisablePalette(vgap); - } -} - -/* - * i810VGABlankScreen -- blank the screen. - */ - -void -i810VGABlankScreen(KdCardInfo *card, Bool on) -{ - I810CardInfo *i810c = card->driver; - i810VGAPtr vgap = &i810c->vga; - - unsigned char scrn; - - scrn = mmioReadSeq(vgap, 0x01); - - if (on) { - scrn &= ~0x20; /* enable screen */ - } else { - scrn |= 0x20; /* blank screen */ - } - - mmioWriteSeq(vgap,0x00,0x01); - mmioWriteSeq(vgap, 0x01, scrn); /* change mode */ - mmioWriteSeq(vgap,0x00,0x03); -} - -/* Restore hardware state */ - -static void -DoRestore(KdCardInfo *card, vgaRegPtr vgaReg, I810RegPtr i810Reg, - Bool restoreFonts) { - - - I810CardInfo *i810c = card->driver; - - i810VGAPtr vgap = &i810c->vga; - - unsigned char temp; - unsigned int itemp; - int i; - - if (I810_DEBUG & DEBUG_VERBOSE_VGA) { - fprintf(stderr,"Setting mode in DoRestore:\n"); - i810PrintMode( vgaReg, i810Reg ); - } - - /* Blank screen (i810vgaprotect) */ - i810VGAProtect(card, TRUE); - - /* Should wait for at least two hsync and no more than two vsync - before writing PIXCONF and turning the display on (?) */ - usleep(50000); - - /* Turn off DRAM Refresh */ - temp = INREG8( DRAM_ROW_CNTL_HI ); - temp &= ~DRAM_REFRESH_RATE; - temp |= DRAM_REFRESH_DISABLE; - OUTREG8( DRAM_ROW_CNTL_HI, temp ); - - usleep(1000); /* Wait 1 ms */ - - /* Write the M, N and P values */ - OUTREG16( VCLK2_VCO_M, i810Reg->VideoClk2_M); - OUTREG16( VCLK2_VCO_N, i810Reg->VideoClk2_N); - OUTREG8( VCLK2_VCO_DIV_SEL, i810Reg->VideoClk2_DivisorSel); - - /* - * Turn on 8 bit dac mode, if requested. This is needed to make - * sure that vgaHWRestore writes the values into the DAC properly. - * The problem occurs if 8 bit dac mode is requested and the HW is - * in 6 bit dac mode. If this happens, all the values are - * automatically shifted left twice by the HW and incorrect colors - * will be displayed on the screen. The only time this can happen - * is at server startup time and when switching back from a VT. - */ - temp = INREG8(PIXPIPE_CONFIG_0); - temp &= 0x7F; /* Save all but the 8 bit dac mode bit */ - temp |= (i810Reg->PixelPipeCfg0 & DAC_8_BIT); - OUTREG8( PIXPIPE_CONFIG_0, temp ); - - /* - * Code to restore any SVGA registers that have been saved/modified - * goes here. Note that it is allowable, and often correct, to - * only modify certain bits in a register by a read/modify/write cycle. - * - * A special case - when using an external clock-setting program, - * this function must not change bits associated with the clock - * selection. This condition can be checked by the condition: - * - * if (i810Reg->std.NoClock >= 0) - * restore clock-select bits. - */ - - /* VGA restore */ - if (vgaReg->MiscOutReg & 0x01) - vgap->IOBase = VGA_IOBASE_COLOR; - else - vgap->IOBase = VGA_IOBASE_MONO; - - mmioWriteMiscOut(vgap, vgaReg->MiscOutReg); - - for (i = 1; i < VGA_NUM_SEQ; i++) - mmioWriteSeq(vgap, i, vgaReg->Sequencer[i]); - - /* Ensure CRTC registers 0-7 are unlocked by clearing bit 7 or CRTC[17] */ - /* = CR11 */ - mmioWriteCrtc(vgap, 17, vgaReg->CRTC[17] & ~0x80); - - for (i = 0; i < VGA_NUM_CRTC; i++) { - mmioWriteCrtc(vgap, i, vgaReg->CRTC[i]); - } - - for (i = 0; i < VGA_NUM_GFX; i++) - mmioWriteGr(vgap, i, vgaReg->Graphics[i]); - - mmioEnablePalette(vgap); - for (i = 0; i < VGA_NUM_ATTR; i++) - mmioWriteAttr(vgap, i, vgaReg->Attribute[i]); - mmioDisablePalette(vgap); - - - mmioWriteCrtc(vgap, EXT_VERT_TOTAL, i810Reg->ExtVertTotal); - mmioWriteCrtc(vgap, EXT_VERT_DISPLAY, i810Reg->ExtVertDispEnd); - mmioWriteCrtc(vgap, EXT_VERT_SYNC_START, i810Reg->ExtVertSyncStart); - mmioWriteCrtc(vgap, EXT_VERT_BLANK_START, i810Reg->ExtVertBlankStart); - mmioWriteCrtc(vgap, EXT_HORIZ_TOTAL, i810Reg->ExtHorizTotal); - mmioWriteCrtc(vgap, EXT_HORIZ_BLANK, i810Reg->ExtHorizBlank); - - /* write CR40, CR42 first etc to get CR13 written as described in PRM */ - - mmioWriteCrtc(vgap, EXT_START_ADDR_HI, 0); - mmioWriteCrtc(vgap, EXT_START_ADDR, EXT_START_ADDR_ENABLE); - - mmioWriteCrtc(vgap, EXT_OFFSET, i810Reg->ExtOffset); - mmioWriteCrtc(vgap, 0x13, vgaReg->CRTC[0x13]); - - temp=mmioReadCrtc(vgap, INTERLACE_CNTL); - temp &= ~INTERLACE_ENABLE; - temp |= i810Reg->InterlaceControl; - mmioWriteCrtc(vgap, INTERLACE_CNTL, temp); - - temp=i810ReadControlMMIO(i810c, GRX, ADDRESS_MAPPING); - temp &= 0xE0; /* Save reserved bits 7:5 */ - temp |= i810Reg->AddressMapping; - i810WriteControlMMIO(i810c, GRX, ADDRESS_MAPPING, temp); - - /* Setting the OVRACT Register for video overlay*/ - OUTREG(0x6001C, (i810Reg->OverlayActiveEnd << 16) | i810Reg->OverlayActiveStart); - - /* Turn on DRAM Refresh */ - temp = INREG8( DRAM_ROW_CNTL_HI ); - temp &= ~DRAM_REFRESH_RATE; - temp |= DRAM_REFRESH_60HZ; - OUTREG8( DRAM_ROW_CNTL_HI, temp ); - - temp = INREG8( BITBLT_CNTL ); - temp &= ~COLEXP_MODE; - temp |= i810Reg->BitBLTControl; - OUTREG8( BITBLT_CNTL, temp ); - - temp = INREG8( DISPLAY_CNTL ); - temp &= ~(VGA_WRAP_MODE | GUI_MODE); - temp |= i810Reg->DisplayControl; - OUTREG8( DISPLAY_CNTL, temp ); - - - temp = INREG8( PIXPIPE_CONFIG_0 ); - temp &= 0x64; /* Save reserved bits 6:5,2 */ - temp |= i810Reg->PixelPipeCfg0; - OUTREG8( PIXPIPE_CONFIG_0, temp ); - - temp = INREG8( PIXPIPE_CONFIG_2 ); - temp &= 0xF3; /* Save reserved bits 7:4,1:0 */ - temp |= i810Reg->PixelPipeCfg2; - OUTREG8( PIXPIPE_CONFIG_2, temp ); - - temp = INREG8( PIXPIPE_CONFIG_1 ); - temp &= ~DISPLAY_COLOR_MODE; - temp &= 0xEF; /* Restore the CRT control bit */ - temp |= i810Reg->PixelPipeCfg1; - OUTREG8( PIXPIPE_CONFIG_1, temp ); - - OUTREG16(EIR, 0); - - itemp = INREG(FWATER_BLC); - itemp &= ~(LM_BURST_LENGTH | LM_FIFO_WATERMARK | - MM_BURST_LENGTH | MM_FIFO_WATERMARK ); - itemp |= i810Reg->LMI_FIFO_Watermark; - OUTREG(FWATER_BLC, itemp); - - - for (i = 0 ; i < 8 ; i++) { - OUTREG( FENCE+i*4, i810Reg->Fence[i] ); - if (I810_DEBUG & DEBUG_VERBOSE_VGA) - fprintf(stderr,"Fence Register : %x\n", i810Reg->Fence[i]); - } - - /* First disable the ring buffer (Need to wait for empty first?, if so - * should probably do it before entering this section) - */ - itemp = INREG(LP_RING + RING_LEN); - itemp &= ~RING_VALID_MASK; - OUTREG(LP_RING + RING_LEN, itemp ); - - /* Set up the low priority ring buffer. - */ - OUTREG(LP_RING + RING_TAIL, 0 ); - OUTREG(LP_RING + RING_HEAD, 0 ); - - i810c->LpRing.head = 0; - i810c->LpRing.tail = 0; - - itemp = INREG(LP_RING + RING_START); - itemp &= ~(START_ADDR); - itemp |= i810Reg->LprbStart; - OUTREG(LP_RING + RING_START, itemp ); - - itemp = INREG(LP_RING + RING_LEN); - itemp &= ~(RING_NR_PAGES | RING_REPORT_MASK | RING_VALID_MASK); - itemp |= i810Reg->LprbLen; - OUTREG(LP_RING + RING_LEN, itemp ); - - i810VGAProtect(card, FALSE); - - temp=mmioReadCrtc(vgap, IO_CTNL); - temp &= ~(EXTENDED_ATTR_CNTL | EXTENDED_CRTC_CNTL); - temp |= i810Reg->IOControl; - mmioWriteCrtc(vgap, IO_CTNL, temp); - /* Protect CRTC[0-7] */ - mmioWriteCrtc(vgap, 0x11, mmioReadCrtc(vgap, 0x11) | 0x80); -} - - -static Bool -i810SetMode(KdScreenInfo *screen, const KdMonitorTiming *t) -{ - - KdCardInfo *card = screen->card; - I810CardInfo *i810c = card->driver; - i810VGAPtr vgap = &i810c->vga; - - I810RegPtr i810Reg = &i810c->ModeReg; - vgaRegPtr pVga = &vgap->ModeReg; - - double dclk = t->clock/1000.0; - - switch (screen->fb[0].bitsPerPixel) { - case 8: - pVga->CRTC[0x13] = screen->width >> 3; - i810Reg->ExtOffset = screen->width >> 11; - i810Reg->PixelPipeCfg1 = DISPLAY_8BPP_MODE; - i810Reg->BitBLTControl = COLEXP_8BPP; - break; - case 16: - i810Reg->PixelPipeCfg1 = DISPLAY_16BPP_MODE; - pVga->CRTC[0x13] = screen->width >> 2; - i810Reg->ExtOffset = screen->width >> 10; - i810Reg->BitBLTControl = COLEXP_16BPP; - break; - case 24: - pVga->CRTC[0x13] = (screen->width * 3) >> 3; - i810Reg->ExtOffset = (screen->width * 3) >> 11; - - i810Reg->PixelPipeCfg1 = DISPLAY_24BPP_MODE; - i810Reg->BitBLTControl = COLEXP_24BPP; - break; - default: - break; - } - - i810Reg->PixelPipeCfg0 = DAC_8_BIT; - - /* Do not delay CRT Blank: needed for video overlay */ - i810Reg->PixelPipeCfg1 |= 0x10; - - /* Turn on Extended VGA Interpretation */ - i810Reg->IOControl = EXTENDED_CRTC_CNTL; - - /* Turn on linear and page mapping */ - i810Reg->AddressMapping = (LINEAR_MODE_ENABLE | - GTT_MEM_MAP_ENABLE); - - /* Turn on GUI mode */ - i810Reg->DisplayControl = HIRES_MODE; - - i810Reg->OverlayActiveStart = t->horizontal + t->hblank - 32; - i810Reg->OverlayActiveEnd = t->horizontal - 32; - - /* Turn on interlaced mode if necessary (it's not) */ - i810Reg->InterlaceControl = INTERLACE_DISABLE; - - /* - * Set the overscan color to 0. - * NOTE: This only affects >8bpp mode. - */ - pVga->Attribute[0x11] = 0; - - /* - * Calculate the VCLK that most closely matches the requested dot - * clock. - */ - i810CalcVCLK(screen, dclk); - - /* Since we program the clocks ourselves, always use VCLK2. */ - pVga->MiscOutReg |= 0x0C; - - /* Calculate the FIFO Watermark and Burst Length. */ - i810Reg->LMI_FIFO_Watermark = i810CalcWatermark(screen, dclk, FALSE); - - /* Setup the ring buffer */ - i810Reg->LprbTail = 0; - i810Reg->LprbHead = 0; - i810Reg->LprbStart = i810c->LpRing.mem.Start; - - if (i810Reg->LprbStart) - i810Reg->LprbLen = ((i810c->LpRing.mem.Size-4096) | - RING_NO_REPORT | RING_VALID); - else - i810Reg->LprbLen = RING_INVALID; - - return TRUE; -} - -static Bool -i810ModeInit(KdScreenInfo *screen, const KdMonitorTiming *t) -{ - - KdCardInfo *card = screen->card; - I810CardInfo *i810c = card->driver; - i810VGAPtr vgap = &i810c->vga; - vgaRegPtr pVga; - -/* fprintf(stderr,"i810ModeInit\n"); */ - - i810VGAUnlock(vgap); - - if (!i810VGAInit(screen, t)) return FALSE; - pVga = &vgap->ModeReg; - - if (!i810SetMode(screen, t)) return FALSE; - - DoRestore(screen->card, &vgap->ModeReg, &i810c->ModeReg, FALSE); - - return TRUE; -} - -Bool -i810VGAInit(KdScreenInfo *screen, const KdMonitorTiming *t) -{ - unsigned int i; - - int hactive, hblank, hbp, hfp; - int vactive, vblank, vbp, vfp; - int h_screen_off = 0, h_adjust = 0, h_total, h_display_end, h_blank_start; - int h_blank_end, h_sync_start, h_sync_end, v_total, v_retrace_start; - int v_retrace_end, v_display_end, v_blank_start, v_blank_end; - - KdCardInfo *card = screen->card; - I810CardInfo *i810c = card->driver; - - i810VGAPtr vgap = &i810c->vga; - I810RegPtr ireg = &i810c->ModeReg; - - - vgaRegPtr regp; - int depth = screen->fb[0].depth; - - regp = &vgap->ModeReg; - - /* - * compute correct Hsync & Vsync polarity - */ - - regp->MiscOutReg = 0x23; - if (t->vpol == KdSyncNegative) regp->MiscOutReg |= 0x40; - if (t->hpol == KdSyncNegative) regp->MiscOutReg |= 0x80; - - /* - * Time Sequencer - */ - if (depth == 4) - regp->Sequencer[0] = 0x02; - else - regp->Sequencer[0] = 0x00; - /* No support for 320 or 360 x resolution */ - regp->Sequencer[1] = 0x01; - - if (depth == 1) - regp->Sequencer[2] = 1 << BIT_PLANE; - else - regp->Sequencer[2] = 0x0F; - - regp->Sequencer[3] = 0x00; /* Font select */ - - if (depth < 8) - regp->Sequencer[4] = 0x06; /* Misc */ - else - regp->Sequencer[4] = 0x0E; /* Misc */ - - hactive = t->horizontal; - hblank = t->hblank; - hbp = t->hbp; - hfp = t->hfp; - - vactive = t->vertical; - vblank = t->vblank; - vbp = t->vbp; - vfp = t->vfp; - - switch (screen->fb[0].bitsPerPixel) { - case 8: - hactive /= 8; - hblank /= 8; - hfp /= 8; - hbp /= 8; - h_screen_off = hactive; - h_adjust = 1; - break; - case 16: - hactive /= 8; - hblank /= 8; - hfp /= 8; - hbp /= 8; - - h_screen_off = hactive * 2; - h_adjust = 1; - break; - case 24: - hactive /= 8; - hblank /= 8; - hfp /= 8; - hbp /= 8; - - h_screen_off = hactive * 3; - h_adjust = 1; - break; - case 32: - hactive /= 8; - hblank /= 8; - hfp /= 8; - hbp /= 8; - - h_screen_off = hactive * 4; - h_adjust = 1; - break; - } - - /* - * Compute horizontal register values from timings - */ - h_total = hactive + hblank - 5; - h_display_end = hactive - 1; - h_blank_start = h_display_end; - h_blank_end = h_blank_start + hblank; - - h_sync_start = hactive + hfp + h_adjust; - h_sync_end = h_sync_start + hblank - hbp - hfp; - - /* Set CRTC regs for horizontal timings */ - regp->CRTC[0x0] = h_total; - ireg->ExtHorizTotal=(h_total & 0x100) >> 8; - - regp->CRTC[0x1] = h_display_end; - - regp->CRTC[0x2] = h_blank_start; - - regp->CRTC[0x3] = 0x80 | (h_blank_end & 0x1f); - regp->CRTC[0x5] = (h_blank_end & 0x20) << 2; - - regp->CRTC[0x4] = h_sync_start; - - regp->CRTC[0x5] |= h_sync_end & 0x1f; - - regp->CRTC[0x13] = h_screen_off; - ireg->ExtOffset = h_screen_off >> 8; - - /* Compute vertical timings */ - v_total = vactive + vblank - 2; - v_retrace_start = vactive + vfp - 1; - v_retrace_end = v_retrace_start + vblank - vbp - vfp; - v_display_end = vactive - 1; - v_blank_start = vactive - 1; - v_blank_end = v_blank_start + vblank /* - 1 */; - - regp->CRTC[0x6] = v_total; - ireg->ExtVertTotal = v_total >> 8; - - regp->CRTC[0x10] = v_retrace_start; - ireg->ExtVertSyncStart = v_retrace_start >> 8; - - regp->CRTC[0x11] = v_retrace_end; - - regp->CRTC[0x12] = v_display_end; - ireg->ExtVertDispEnd = v_display_end >> 8; - - regp->CRTC[0x15] = v_blank_start; - ireg->ExtVertBlankStart = v_blank_start >> 8; - - regp->CRTC[0x16] = v_blank_end; - - if (depth < 8) - regp->CRTC[23] = 0xE3; - else - regp->CRTC[23] = 0xC3; - regp->CRTC[24] = 0xFF; - - /* - * Graphics Display Controller - */ - regp->Graphics[0] = 0x00; - regp->Graphics[1] = 0x00; - regp->Graphics[2] = 0x00; - regp->Graphics[3] = 0x00; - if (depth == 1) { - regp->Graphics[4] = BIT_PLANE; - regp->Graphics[5] = 0x00; - } else { - regp->Graphics[4] = 0x00; - if (depth == 4) - regp->Graphics[5] = 0x02; - else - regp->Graphics[5] = 0x40; - } - regp->Graphics[6] = 0x05; - regp->Graphics[7] = 0x0F; - regp->Graphics[8] = 0xFF; - - if (depth == 1) { - /* Initialise the Mono map according to which bit-plane gets used */ - - Bool flipPixels = FALSE; /* maybe support this in the future? */ - - for (i=0; i<16; i++) - if (((i & (1 << BIT_PLANE)) != 0) != flipPixels) - regp->Attribute[i] = WHITE_VALUE; - else - regp->Attribute[i] = BLACK_VALUE; - - regp->Attribute[16] = 0x01; /* -VGA2- */ - if (!vgap->ShowOverscan) - regp->Attribute[OVERSCAN] = OVERSCAN_VALUE; /* -VGA2- */ - } else { - regp->Attribute[0] = 0x00; /* standard colormap translation */ - regp->Attribute[1] = 0x01; - regp->Attribute[2] = 0x02; - regp->Attribute[3] = 0x03; - regp->Attribute[4] = 0x04; - regp->Attribute[5] = 0x05; - regp->Attribute[6] = 0x06; - regp->Attribute[7] = 0x07; - regp->Attribute[8] = 0x08; - regp->Attribute[9] = 0x09; - regp->Attribute[10] = 0x0A; - regp->Attribute[11] = 0x0B; - regp->Attribute[12] = 0x0C; - regp->Attribute[13] = 0x0D; - regp->Attribute[14] = 0x0E; - regp->Attribute[15] = 0x0F; - if (depth == 4) - regp->Attribute[16] = 0x81; - else - regp->Attribute[16] = 0x41; - /* Attribute[17] (overscan) was initialised earlier */ - } - regp->Attribute[18] = 0x0F; - regp->Attribute[19] = 0x00; - regp->Attribute[20] = 0x00; - - return(TRUE); -} - -void -i810VGALock(i810VGAPtr vgap) -{ - /* Protect CRTC[0-7] */ - mmioWriteCrtc(vgap, 0x11, mmioReadCrtc(vgap, 0x11) & ~0x80); -} - -void -i810VGAUnlock(i810VGAPtr vgap) -{ - /* Unprotect CRTC[0-7] */ - mmioWriteCrtc(vgap, 0x11, mmioReadCrtc(vgap, 0x11) | 0x80); -} - -static void -i810Restore(KdCardInfo *card) { - - I810CardInfo *i810c = card->driver; - - i810VGAPtr vgap = &i810c->vga; - - if (I810_DEBUG) - fprintf(stderr,"i810Restore\n"); - - DoRestore(card, &vgap->SavedReg, &i810c->SavedReg, TRUE); -} - -static Bool -i810Enable (ScreenPtr pScreen) -{ - KdScreenPriv(pScreen); - KdScreenInfo *screen = pScreenPriv->screen; - KdCardInfo *card = pScreenPriv->card; - I810CardInfo *i810c = card->driver; - i810VGAPtr vgap = &i810c->vga; - const KdMonitorTiming *t; - - if (I810_DEBUG) - fprintf(stderr,"i810Enable\n"); - - vgap->IOBase = (mmioReadMiscOut(vgap) & 0x01) ? - VGA_IOBASE_COLOR : VGA_IOBASE_MONO; - - { - I810RegPtr i810Reg = &i810c->ModeReg; - int i; - - for (i = 0 ; i < 8 ; i++) - i810Reg->Fence[i] = 0; - } - - t = KdFindMode (screen, i810ModeSupported); - - if (!i810BindGARTMemory(screen)) - return FALSE; - - if (!i810ModeInit(screen, t)) return FALSE; - - { - /* DPMS power on state */ - - unsigned char SEQ01=0; - int DPMSSyncSelect=0; - - SEQ01 = 0x00; - DPMSSyncSelect = HSYNC_ON | VSYNC_ON; - - SEQ01 |= i810ReadControlMMIO(i810c, SRX, 0x01) & ~0x20; - i810WriteControlMMIO(i810c, SRX, 0x01, SEQ01); - - /* Set the DPMS mode */ - OUTREG8(DPMS_SYNC_SELECT, DPMSSyncSelect); - } -#ifdef XV - KdXVEnable (pScreen); -#endif - return TRUE; -} - - -static void -i810Disable(ScreenPtr pScreen) { - - KdScreenPriv(pScreen); - KdScreenInfo *screen = pScreenPriv->screen; - KdCardInfo *card = pScreenPriv->card; - I810CardInfo *i810c = card->driver; - - i810VGAPtr vgap = &i810c->vga; - - if (I810_DEBUG) - fprintf(stderr,"i810Disable\n"); - -#ifdef XV - KdXVDisable (pScreen); -#endif - i810Restore(screen->card); - - if (!i810UnbindGARTMemory(screen)) - return; - - i810VGALock(vgap); -} - - -static Bool -i810DPMS(ScreenPtr pScreen, int mode) -{ - KdScreenPriv(pScreen); - KdCardInfo *card = pScreenPriv->card; - I810CardInfo *i810c = card->driver; - - unsigned char SEQ01=0; - int DPMSSyncSelect=0; - - if (I810_DEBUG) - fprintf(stderr,"i810DPMS: %d\n",mode); - - switch (mode) { - case KD_DPMS_NORMAL: - /* Screen: On; HSync: On, VSync: On */ - SEQ01 = 0x00; - DPMSSyncSelect = HSYNC_ON | VSYNC_ON; - break; - case KD_DPMS_STANDBY: - /* Screen: Off; HSync: Off, VSync: On */ - SEQ01 = 0x20; - DPMSSyncSelect = HSYNC_OFF | VSYNC_ON; - break; - case KD_DPMS_SUSPEND: - /* Screen: Off; HSync: On, VSync: Off */ - SEQ01 = 0x20; - DPMSSyncSelect = HSYNC_ON | VSYNC_OFF; - break; - case KD_DPMS_POWERDOWN: - /* Screen: Off; HSync: Off, VSync: Off */ - SEQ01 = 0x20; - DPMSSyncSelect = HSYNC_OFF | VSYNC_OFF; - break; - } - - /* Turn the screen on/off */ - SEQ01 |= i810ReadControlMMIO(i810c, SRX, 0x01) & ~0x20; - i810WriteControlMMIO(i810c, SRX, 0x01, SEQ01); - - /* Set the DPMS mode */ - OUTREG8(DPMS_SYNC_SELECT, DPMSSyncSelect); - return TRUE; -} - - -static void -i810GetColors (ScreenPtr pScreen, int fb, int ndefs, xColorItem *c) -{ - - if (I810_DEBUG) - fprintf(stderr,"i810GetColors (NOT IMPLEMENTED)\n"); -} - -#define DACDelay(hw) \ - do { \ - unsigned char temp = Vminb((hw)->IOBase + VGA_IN_STAT_1_OFFSET); \ - temp = Vminb((hw)->IOBase + VGA_IN_STAT_1_OFFSET); \ - } while (0) - -static void -i810PutColors (ScreenPtr pScreen, int fb, int ndef, xColorItem *pdefs) -{ - - KdScreenPriv(pScreen); - KdScreenInfo *screen = pScreenPriv->screen; - KdCardInfo *card = screen->card; - I810CardInfo *i810c = (I810CardInfo *) card->driver; - - i810VGAPtr vgap = &i810c->vga; - - if (I810_DEBUG) - fprintf(stderr,"i810PutColors\n"); - - while (ndef--) - { - mmioWriteDacWriteAddr(vgap, pdefs->pixel); - DACDelay(vgap); - mmioWriteDacData(vgap, pdefs->red); - DACDelay(vgap); - mmioWriteDacData(vgap, pdefs->green); - DACDelay(vgap); - mmioWriteDacData(vgap, pdefs->blue); - DACDelay(vgap); - - pdefs++; - } -} - - -KdCardFuncs i810Funcs = { - i810CardInit, /* cardinit */ - i810ScreenInit, /* scrinit */ - i810InitScreen, /* initScreen */ - i810FinishInitScreen, /* finishInitScreen */ - NULL, /* createResources */ - i810Preserve, /* preserve */ - i810Enable, /* enable */ - i810DPMS, /* dpms */ - i810Disable, /* disable */ - i810Restore, /* restore */ - i810ScreenFini, /* scrfini */ - i810CardFini, /* cardfini */ - - i810CursorInit, /* initCursor */ - i810CursorEnable, /* enableCursor */ - i810CursorDisable, /* disableCursor */ - i810CursorFini, /* finiCursor */ - NULL, /* recolorCursor */ - - i810InitAccel, /* initAccel */ - i810EnableAccel, /* enableAccel */ - i810DisableAccel, /* disableAccel */ - i810FiniAccel, /* finiAccel */ - - i810GetColors, /* getColors */ - i810PutColors, /* putColors */ -}; diff --git a/xorg-server/hw/kdrive/i810/i810.h b/xorg-server/hw/kdrive/i810/i810.h deleted file mode 100644 index 8fc2d56be..000000000 --- a/xorg-server/hw/kdrive/i810/i810.h +++ /dev/null @@ -1,511 +0,0 @@ -/* COPYRIGHT AND PERMISSION NOTICE - -Copyright (c) 2000, 2001 Nokia Home Communications - -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. - -X Window System is a trademark of The Open Group */ - -/* - * Author: - * Pontus Lidman - */ - -#ifndef _I810_H_ -#define _I810_H_ - -#include "i810_reg.h" - -/* Globals */ - -typedef struct _I810Rec *I810Ptr; - -/* Linear region allocated in framebuffer. - */ -typedef struct { - unsigned long Start; - unsigned long End; - unsigned long Size; -} I810MemRange; - -typedef struct { - int tail_mask; - I810MemRange mem; - unsigned char *virtual_start; - int head; - int tail; - int space; -} I810RingBuffer; - -typedef struct { - unsigned char DisplayControl; - unsigned char PixelPipeCfg0; - unsigned char PixelPipeCfg1; - unsigned char PixelPipeCfg2; - unsigned short VideoClk2_M; - unsigned short VideoClk2_N; - unsigned char VideoClk2_DivisorSel; - unsigned char AddressMapping; - unsigned char IOControl; - unsigned char BitBLTControl; - unsigned char ExtVertTotal; - unsigned char ExtVertDispEnd; - unsigned char ExtVertSyncStart; - unsigned char ExtVertBlankStart; - unsigned char ExtHorizTotal; - unsigned char ExtHorizBlank; - unsigned char ExtOffset; - unsigned char InterlaceControl; - unsigned int LMI_FIFO_Watermark; - - unsigned int LprbTail; - unsigned int LprbHead; - unsigned int LprbStart; - unsigned int LprbLen; - - unsigned int Fence[8]; - - unsigned short OverlayActiveStart; - unsigned short OverlayActiveEnd; - - -} I810RegRec, *I810RegPtr; - -#define minb(p) *(volatile CARD8 *)(i810c->MMIOBase + (p)) -#define moutb(p,v) *(volatile CARD8 *)(i810c->MMIOBase + (p)) = (v) - -#define OUT_RING(n) { \ - if (I810_DEBUG & DEBUG_VERBOSE_RING) \ - ErrorF( "OUT_RING %x: %x\n", outring, n); \ - *(volatile unsigned int *)(virt + outring) = n; \ - outring += 4; \ - outring &= ringmask; \ -} - -#define ADVANCE_LP_RING() { \ - i810c->LpRing.tail = outring; \ - OUTREG(LP_RING + RING_TAIL, outring); \ -} - -#ifdef __GNUC__ -#define LP_RING_MESSAGE(n) \ - ErrorF("BEGIN_LP_RING %d in %s\n", n, __FUNCTION__) -#else -#define LP_RING_MESSAGE(n) \ - ErrorF("BEGIN_LP_RING %d in %s:%d\n", n, __FILE__, __LINE__) -#endif - -#define LP_RING_LOCALS \ - unsigned int outring, ringmask; \ - volatile unsigned char *virt - -#define BEGIN_LP_RING(n) \ - if (n>2 && (I810_DEBUG&DEBUG_ALWAYS_SYNC)) \ - i810Sync(i810s); \ - if (i810c->LpRing.space < n*4) i810WaitLpRing(i810s, n*4, 0); \ - i810c->LpRing.space -= n*4; \ - if (I810_DEBUG & DEBUG_VERBOSE_RING) \ - LP_RING_MESSAGE(n); \ - outring = i810c->LpRing.tail; \ - ringmask = i810c->LpRing.tail_mask; \ - virt = i810c->LpRing.virtual_start; - -/* Memory mapped register access macros */ -#define INREG8(addr) *(volatile CARD8 *)(i810c->MMIOBase + (addr)) -#define INREG16(addr) *(volatile CARD16 *)(i810c->MMIOBase + (addr)) -#define INREG(addr) *(volatile CARD32 *)(i810c->MMIOBase + (addr)) - -#define OUTREG8(addr, val) do { \ - *(volatile CARD8 *)(i810c->MMIOBase + (addr)) = (val); \ - if (I810_DEBUG&DEBUG_VERBOSE_OUTREG) \ - ErrorF( "OUTREG8(%x, %x)\n", addr, val); \ -} while (0) - -#define OUTREG16(addr, val) do { \ - *(volatile CARD16 *)(i810c->MMIOBase + (addr)) = (val); \ - if (I810_DEBUG&DEBUG_VERBOSE_OUTREG) \ - ErrorF( "OUTREG16(%x, %x)\n", addr, val); \ -} while (0) - -#define OUTREG(addr, val) do { \ - *(volatile CARD32 *)(i810c->MMIOBase + (addr)) = (val); \ - if (I810_DEBUG&DEBUG_VERBOSE_OUTREG) \ - ErrorF( "OUTREG(%x, %x)\n", addr, val); \ -} while (0) - -/* To remove all debugging, make sure I810_DEBUG is defined as a - * preprocessor symbol, and equal to zero. - */ - -#define I810_DEBUG 0 - -#ifndef I810_DEBUG -#warning "Debugging enabled - expect reduced performance" -extern int I810_DEBUG; -#endif - -#define DEBUG_VERBOSE_ACCEL 0x1 -#define DEBUG_VERBOSE_SYNC 0x2 -#define DEBUG_VERBOSE_VGA 0x4 -#define DEBUG_VERBOSE_RING 0x8 -#define DEBUG_VERBOSE_OUTREG 0x10 -#define DEBUG_VERBOSE_MEMORY 0x20 -#define DEBUG_VERBOSE_CURSOR 0x40 -#define DEBUG_ALWAYS_SYNC 0x80 -#define DEBUG_VERBOSE_DRI 0x100 - - -/* Size of the mmio region. - */ -#define I810_REG_SIZE 0x80000 - -/* PCI identifiers */ -#ifndef PCI_CHIP_I810 -#define PCI_CHIP_I810 0x7121 -#define PCI_CHIP_I810_DC100 0x7123 -#define PCI_CHIP_I810_E 0x7125 -#define PCI_CHIP_I815 0x1132 -#define PCI_CHIP_I810_BRIDGE 0x7120 -#define PCI_CHIP_I810_DC100_BRIDGE 0x7122 -#define PCI_CHIP_I810_E_BRIDGE 0x7124 -#define PCI_CHIP_I815_BRIDGE 0x1130 -#define PCI_CHIP_I845G 0x2562 -#endif - - -#define IS_I810(i810c) (i810c->PciInfo->chipType == PCI_CHIP_I810 || \ - i810c->PciInfo->chipType == PCI_CHIP_I810_DC100 || \ - i810c->PciInfo->chipType == PCI_CHIP_I810_E) -#define IS_I815(i810c) (i810c->PciInfo->chipType == PCI_CHIP_I815) - - -/* default number of VGA registers stored internally */ -#define VGA_NUM_CRTC 25 /* 0x19 */ -#define VGA_NUM_SEQ 5 -#define VGA_NUM_GFX 9 -#define VGA_NUM_ATTR 21 - -/* - * Settings of standard VGA registers. - */ -typedef struct { - unsigned char MiscOutReg; /* */ - unsigned char CRTC[VGA_NUM_CRTC]; /* Crtc Controller */ - unsigned char Sequencer[VGA_NUM_SEQ]; /* Video Sequencer */ - unsigned char Graphics[VGA_NUM_GFX]; /* Video Graphics */ - unsigned char Attribute[VGA_NUM_ATTR]; /* Video Atribute */ - unsigned char DAC[768]; /* Internal Colorlookuptable */ -} vgaRegRec, *vgaRegPtr; - - -typedef struct _i810VGARec *i810VGAPtr; - -/* VGA registers */ -typedef struct _i810VGARec { - int IOBase; /* I/O Base address */ - CARD8 * MMIOBase; /* Pointer to MMIO start */ - vgaRegRec SavedReg; /* saved registers */ - vgaRegRec ModeReg; /* register settings for - current mode */ - Bool ShowOverscan; - Bool paletteEnabled; - Bool cmapSaved; -} i810VGARec; - -typedef struct _i810CardInfo { - int videoRam; - int MaxClock; - long FbMapSize; - int cpp; /* chars per pixel */ - - unsigned long LinearAddr; - unsigned long MMIOAddr; - - unsigned char *MMIOBase; - unsigned char *FbBase; - - Bool GttBound; - Bool agpAcquired2d; - int VramKey; - unsigned long VramOffset; - int DcacheKey; - unsigned long DcacheOffset; - int HwcursKey; - unsigned long HwcursOffset; - - I810MemRange DcacheMem; - I810MemRange SysMem; - - I810MemRange SavedDcacheMem; - I810MemRange SavedSysMem; - - unsigned int bufferOffset; /* for I810SelectBuffer */ - Bool DoneFrontAlloc; - BoxRec FbMemBox; - I810MemRange FrontBuffer; - I810MemRange Scratch; - I810MemRange XvMem; - - int LmFreqSel; - - i810VGARec vga; - - I810RegRec SavedReg; - I810RegRec ModeReg; - I810RingBuffer LpRing; - - unsigned int BR[20]; - - int CursorOffset; - unsigned long CursorPhysical; - unsigned long CursorStart; - unsigned long OverlayPhysical; - unsigned long OverlayStart; - int colorKey; - - int nextColorExpandBuf; - - ScreenBlockHandlerProcPtr BlockHandler; - -#ifdef XV - KdVideoAdaptorPtr adaptor; -#endif - -} i810CardInfo; - -typedef struct _i810CardInfo I810CardInfo; /* compatibility */ - -#define getI810CardInfo(kd) ((I810CardInfo *) ((kd)->card->driver)) -#define i810CardInfo(kd) I810CardInfo *i810c = getI810CardInfo(kd) - -#define getI810ScreenInfo(kd) ((I810ScreenInfo *) ((kd)->screen->driver)) -#define i810ScreenInfo(kd) I810ScreenInfo *i810s = getI810ScreenInfo(kd) - -typedef struct _i810Cursor { - int width, height; - int xhot, yhot; - Bool has_cursor; - CursorPtr pCursor; -} i810Cursor, *i810CursorPtr; - -typedef struct _i810ScreenInfo { - i810CardInfo *i810c; - i810Cursor cursor; - - int pitch; - KaaScreenInfoRec kaa; -} i810ScreenInfo; - -typedef struct _i810ScreenInfo I810ScreenInfo; /* compatibility */ - -#define I810_CURSOR_HEIGHT 64 -#define I810_CURSOR_WIDTH 64 - -/* init functions (i810.c) */ - -Bool -i810CardInit (KdCardInfo *card); - -Bool -i810ScreenInit (KdScreenInfo *screen); - -/* The cursor functions (i810_cursor.c) */ - -Bool -i810CursorInit(ScreenPtr pScreen); - -void -i810CursorEnable (ScreenPtr pScreen); - -void -i810CursorDisable (ScreenPtr pScreen); - -void -i810CursorFini (ScreenPtr pScreen); - -/* Accel functions (i810draw.c) */ - -Bool -i810InitAccel(ScreenPtr); - -void -i810EnableAccel (ScreenPtr); - -void -i810DisableAccel (ScreenPtr); - -void -i810FiniAccel (ScreenPtr); - -void -i810FillBoxSolid (KdScreenInfo *screen, int nBox, BoxPtr pBox, - unsigned long pixel, int alu, unsigned long planemask); - - -extern KdCardFuncs i810Funcs; - -/* Standard VGA registers */ - -#define VGA_ATTR_INDEX 0x3C0 -#define VGA_ATTR_DATA_W 0x3C0 -#define VGA_ATTR_DATA_R 0x3C1 -#define VGA_IN_STAT_0 0x3C2 /* read */ -#define VGA_MISC_OUT_W 0x3C2 /* write */ -#define VGA_ENABLE 0x3C3 -#define VGA_SEQ_INDEX 0x3C4 -#define VGA_SEQ_DATA 0x3C5 -#define VGA_DAC_MASK 0x3C6 -#define VGA_DAC_READ_ADDR 0x3C7 -#define VGA_DAC_WRITE_ADDR 0x3C8 -#define VGA_DAC_DATA 0x3C9 -#define VGA_FEATURE_R 0x3CA /* read */ -#define VGA_MISC_OUT_R 0x3CC /* read */ -#define VGA_GRAPH_INDEX 0x3CE -#define VGA_GRAPH_DATA 0x3CF - -#define VGA_IOBASE_MONO 0x3B0 -#define VGA_IOBASE_COLOR 0x3D0 - -#define VGA_CRTC_INDEX_OFFSET 0x04 -#define VGA_CRTC_DATA_OFFSET 0x05 -#define VGA_IN_STAT_1_OFFSET 0x0A /* read */ -#define VGA_FEATURE_W_OFFSET 0x0A /* write */ - -/* VGA stuff */ -#define BIT_PLANE 3 /* Which plane we write to in mono mode */ - -/* DAC indices for white and black */ -#define WHITE_VALUE 0x3F -#define BLACK_VALUE 0x00 -#define OVERSCAN_VALUE 0x01 - -#define OVERSCAN 0x11 /* Index of OverScan register */ - -void -i810VGAUnlock(i810VGAPtr vgap); - -void -i810VGALock(i810VGAPtr vgap); - -Bool -i810VGAInit(KdScreenInfo *scrninfp, const KdMonitorTiming *t); - -void -i810VGABlankScreen(KdCardInfo *card, Bool on); - -void -i810AdjustFrame(KdScreenInfo *screen, int x, int y, int flags); - -Bool -i810VGAMapMem(KdCardInfo *card); - -void -i810VGASave(KdCardInfo *card, vgaRegPtr save, int flags); - -void -i810PrintErrorState(i810CardInfo *i810c); - -void -i810VGAGetIOBase(i810VGAPtr vgap); - -Bool -i810InitVideo(ScreenPtr pScreen); - -/* - * MMIO versions of the register access functions. These require - * hwp->MemBase to be set in such a way that when the standard VGA port - * address is added the correct memory address results. - */ - -#define Vminb(p) ( *(volatile CARD8 *)(vgap->MMIOBase + (p))) -#define Vmoutb(p,v) ( *(volatile CARD8 *)(vgap->MMIOBase + (p)) = (v)) - -#define mmioWriteCrtc(vgap, index, value) { \ - Vmoutb(vgap->IOBase + VGA_CRTC_INDEX_OFFSET, index); \ - Vmoutb(vgap->IOBase + VGA_CRTC_DATA_OFFSET, value); \ -} - -#define mmioReadCrtc(vgap, index) ( \ - Vmoutb(vgap->IOBase + VGA_CRTC_INDEX_OFFSET, index), \ - Vminb(vgap->IOBase + VGA_CRTC_DATA_OFFSET) \ -) - -#define mmioWriteGr(vgap, index, value) { \ - Vmoutb(VGA_GRAPH_INDEX, index); \ - Vmoutb(VGA_GRAPH_DATA, value); \ -} - -#define mmioReadGr(vgap, index) ( \ - Vmoutb(VGA_GRAPH_INDEX, index), \ - Vminb(VGA_GRAPH_DATA) \ -) - -#define mmioWriteSeq(vgap, index, value) {\ - Vmoutb(VGA_SEQ_INDEX, index); \ - Vmoutb(VGA_SEQ_DATA, value); \ -} - -#define mmioReadSeq(vgap, index) ( \ - Vmoutb(VGA_SEQ_INDEX, index), \ - Vminb(VGA_SEQ_DATA) \ -) - -#define mmioWriteAttr(vgap, index, value) { \ - (void) Vminb(vgap->IOBase + VGA_IN_STAT_1_OFFSET); \ - Vmoutb(VGA_ATTR_INDEX, index); \ - Vmoutb(VGA_ATTR_DATA_W, value); \ -} - -#define mmioReadAttr(vgap, index) ( \ - (void) Vminb(vgap->IOBase + VGA_IN_STAT_1_OFFSET), \ - Vmoutb(VGA_ATTR_INDEX, index), \ - Vminb(VGA_ATTR_DATA_R) \ -) - -#define mmioWriteMiscOut(vgap, value) Vmoutb(VGA_MISC_OUT_W, value) - - -#define mmioReadMiscOut(vgap) Vminb(VGA_MISC_OUT_R) - -#define mmioEnablePalette(vgap) { \ - (void) Vminb(vgap->IOBase + VGA_IN_STAT_1_OFFSET); \ - Vmoutb(VGA_ATTR_INDEX, 0x00); \ - vgap->paletteEnabled = TRUE; \ -} - -#define mmioDisablePalette(vgap) { \ - (void) Vminb(vgap->IOBase + VGA_IN_STAT_1_OFFSET); \ - Vmoutb(VGA_ATTR_INDEX, 0x20); \ - vgap->paletteEnabled = FALSE; \ -} - -#define mmioWriteDacWriteAddr(vgap, value) Vmoutb(VGA_DAC_WRITE_ADDR, value) - -#define mmioWriteDacData(vgap, value) Vmoutb(VGA_DAC_DATA, value) - -#endif /* _I810_H_ */ diff --git a/xorg-server/hw/kdrive/i810/i810_cursor.c b/xorg-server/hw/kdrive/i810/i810_cursor.c deleted file mode 100644 index 434fc4087..000000000 --- a/xorg-server/hw/kdrive/i810/i810_cursor.c +++ /dev/null @@ -1,435 +0,0 @@ -/* COPYRIGHT AND PERMISSION NOTICE - -Copyright (c) 2000, 2001 Nokia Home Communications - -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. - -X Window System is a trademark of The Open Group */ - -/************************************************************************** - -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. - -**************************************************************************/ - -/* i810_cursor.c: KDrive hardware cursor routines for the i810 chipset */ - -/* - * Authors: - * Keith Whitwell - * Pontus Lidman - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif -#include "kdrive.h" -#include "kxv.h" -#include "i810.h" -#include "cursorstr.h" - -#define SetupCursor(s) KdScreenPriv(pScreen); \ - i810CardInfo(pScreenPriv); \ - i810ScreenInfo(pScreenPriv); \ - i810Cursor *pCurPriv = &i810s->cursor - - -static void -writeStandardMMIO(I810CardInfo *i810c, int addr, CARD8 val) -{ - moutb(addr, val); -} - -static void -_i810MoveCursor(ScreenPtr pScreen, int x, int y) -{ - KdScreenPriv(pScreen); - i810CardInfo(pScreenPriv); - int flag; - - if (I810_DEBUG & DEBUG_VERBOSE_CURSOR) - ErrorF( "I810SetCursorPosition %d %d\n", x, y); - - x += i810c->CursorOffset; - - if (x >= 0) flag = CURSOR_X_POS; - else { - flag = CURSOR_X_NEG; - x=-x; - } - - OUTREG8( CURSOR_X_LO, x&0xFF); - OUTREG8( CURSOR_X_HI, (((x >> 8) & 0x07) | flag)); - - if (y >= 0) flag = CURSOR_Y_POS; - else { - flag = CURSOR_Y_NEG; - y=-y; - } - OUTREG8( CURSOR_Y_LO, y&0xFF); - OUTREG8( CURSOR_Y_HI, (((y >> 8) & 0x07) | flag)); - - /* Enable cursor */ - OUTREG( CURSOR_BASEADDR, i810c->CursorPhysical); - OUTREG8( CURSOR_CONTROL, CURSOR_ORIGIN_DISPLAY | CURSOR_MODE_64_3C); - -} - -static void i810LoadCursor(ScreenPtr pScreen, int x, int y); - -static void -i810MoveCursor (ScreenPtr pScreen, int x, int y) -{ - KdScreenPriv(pScreen); - i810ScreenInfo(pScreenPriv); - i810Cursor *pCurPriv = &i810s->cursor; - - if (!pCurPriv->has_cursor) - return; - - if (!pScreenPriv->enabled) - return; - - _i810MoveCursor (pScreen, x, y); - - i810LoadCursor(pScreen, x, y); -} - -static void -_i810SetCursorColors(ScreenPtr pScreen) -{ - - KdScreenPriv(pScreen); - i810CardInfo(pScreenPriv); - int tmp; - - int bg = 0xffffff; - int fg = 0x000000; - - tmp=INREG8(PIXPIPE_CONFIG_0); - tmp |= EXTENDED_PALETTE; - OUTREG8( PIXPIPE_CONFIG_0, tmp); - - writeStandardMMIO(i810c, DACMASK, 0xFF); - writeStandardMMIO(i810c, DACWX, 0x04); - - writeStandardMMIO(i810c, DACDATA, (bg & 0x00FF0000) >> 16); - writeStandardMMIO(i810c, DACDATA, (bg & 0x0000FF00) >> 8); - writeStandardMMIO(i810c, DACDATA, (bg & 0x000000FF)); - - writeStandardMMIO(i810c, DACDATA, (fg & 0x00FF0000) >> 16); - writeStandardMMIO(i810c, DACDATA, (fg & 0x0000FF00) >> 8); - writeStandardMMIO(i810c, DACDATA, (fg & 0x000000FF)); - - tmp=INREG8( PIXPIPE_CONFIG_0 ); - tmp &= ~EXTENDED_PALETTE; - OUTREG8( PIXPIPE_CONFIG_0, tmp ); -} - -#define InvertBits32(v) { \ - v = ((v & 0x55555555) << 1) | ((v >> 1) & 0x55555555); \ - v = ((v & 0x33333333) << 2) | ((v >> 2) & 0x33333333); \ - v = ((v & 0x0f0f0f0f) << 4) | ((v >> 4) & 0x0f0f0f0f); \ -} - -static void i810LoadCursor(ScreenPtr pScreen, int x, int y) -{ - SetupCursor(pScreen); - - int h; - unsigned int *msk, *mskLine, *src, *srcLine; - - int i, j; - int src_stride, src_width; - - CursorPtr pCursor = pCurPriv->pCursor; - CursorBitsPtr bits = pCursor->bits; - CARD8 tmp; - unsigned int *ram, *ramLine; - - pCurPriv->pCursor = pCursor; - pCurPriv->xhot = pCursor->bits->xhot; - pCurPriv->yhot = pCursor->bits->yhot; - - ramLine = (unsigned int *) (i810c->FbBase + i810c->CursorStart); - mskLine = (unsigned int *) (bits->mask); - srcLine = (unsigned int *) (bits->source); - - h = bits->height; - if (h > I810_CURSOR_HEIGHT) - h = I810_CURSOR_HEIGHT; - - src_stride = BitmapBytePad(bits->width); /* bytes per line */ - src_stride = (src_stride +3) >> 2; - src_width = (bits->width + 31) >> 5; - - for (i = 0; i < I810_CURSOR_HEIGHT; i++) { - - msk = mskLine; - src = srcLine; - ram = ramLine; - mskLine += src_stride; - srcLine += src_stride; - ramLine += I810_CURSOR_WIDTH / 16; - - for (j = 0; j < I810_CURSOR_WIDTH / 32; j++) { - - unsigned long m, s; - - if (i < h && j < src_width) - { - m = *msk++; - s = *src++ & m; - m = ~m; - /* mask off right side */ - if (j == src_width - 1 && (bits->width & 31)) - { - m |= 0xffffffff << (bits->width & 31); - } - } - else - { - m = 0xffffffff; - s = 0x00000000; - } - - InvertBits32(s); - InvertBits32(m); - - ram[2+j]=s; - ram[0+j]=m; - } - } - /* Set new color */ - _i810SetCursorColors (pScreen); - - /* Move to new position */ - _i810MoveCursor (pScreen, x, y); - - /* Enable cursor */ - OUTREG( CURSOR_BASEADDR, i810c->CursorPhysical); - OUTREG8( CURSOR_CONTROL, CURSOR_ORIGIN_DISPLAY | CURSOR_MODE_64_3C); - - tmp = INREG8( PIXPIPE_CONFIG_0 ); - tmp |= HW_CURSOR_ENABLE; - OUTREG8( PIXPIPE_CONFIG_0, tmp); -} - -static void -i810UnloadCursor(ScreenPtr pScreen) -{ - KdScreenPriv(pScreen); - i810CardInfo(pScreenPriv); - - unsigned char tmp; - - tmp=INREG8( PIXPIPE_CONFIG_0 ); - tmp &= ~HW_CURSOR_ENABLE; - OUTREG8( PIXPIPE_CONFIG_0, tmp); -} - - -static Bool -i810RealizeCursor (ScreenPtr pScreen, CursorPtr pCursor) -{ - KdScreenPriv(pScreen); - i810ScreenInfo(pScreenPriv); - i810Cursor *pCurPriv = &i810s->cursor; - - if (!pScreenPriv->enabled) - return TRUE; - - /* miRecolorCursor does this */ - if (pCurPriv->pCursor == pCursor) - { - if (pCursor) - { - int x, y; - - miPointerPosition (&x, &y); - i810LoadCursor (pScreen, x, y); - } - } - return TRUE; -} - -static Bool -i810UnrealizeCursor (ScreenPtr pScreen, CursorPtr pCursor) -{ - return TRUE; -} - -static void -i810SetCursor (ScreenPtr pScreen, CursorPtr pCursor, int x, int y) -{ - KdScreenPriv(pScreen); - i810ScreenInfo(pScreenPriv); - i810Cursor *pCurPriv = &i810s->cursor; - - pCurPriv->pCursor = pCursor; - - if (!pScreenPriv->enabled) - return; - - if (pCursor) - i810LoadCursor (pScreen, x, y); - else - i810UnloadCursor (pScreen); -} - -miPointerSpriteFuncRec i810PointerSpriteFuncs = { - i810RealizeCursor, - i810UnrealizeCursor, - i810SetCursor, - i810MoveCursor, -}; - -static void -i810QueryBestSize (int class, - unsigned short *pwidth, unsigned short *pheight, - ScreenPtr pScreen) -{ - KdScreenPriv(pScreen); - i810ScreenInfo(pScreenPriv); - i810Cursor *pCurPriv = &i810s->cursor; - - switch (class) - { - case CursorShape: - if (*pwidth > pCurPriv->width) - *pwidth = pCurPriv->width; - if (*pheight > pCurPriv->height) - *pheight = pCurPriv->height; - if (*pwidth > pScreen->width) - *pwidth = pScreen->width; - if (*pheight > pScreen->height) - *pheight = pScreen->height; - break; - default: - fbQueryBestSize (class, pwidth, pheight, pScreen); - break; - } -} - -Bool -i810CursorInit(ScreenPtr pScreen) -{ - KdScreenPriv(pScreen); - i810ScreenInfo(pScreenPriv); - i810CardInfo(pScreenPriv); - i810Cursor *pCurPriv = &i810s->cursor; - - if (!i810c->CursorStart) { - pCurPriv->has_cursor = FALSE; - return FALSE; - } - - pCurPriv->width = I810_CURSOR_WIDTH; - pCurPriv->height= I810_CURSOR_HEIGHT; - pScreen->QueryBestSize = i810QueryBestSize; - miPointerInitialize (pScreen, - &i810PointerSpriteFuncs, - &kdPointerScreenFuncs, - FALSE); - pCurPriv->has_cursor = TRUE; - pCurPriv->pCursor = NULL; - return TRUE; -} - -void -i810CursorEnable (ScreenPtr pScreen) -{ - KdScreenPriv(pScreen); - i810ScreenInfo(pScreenPriv); - i810Cursor *pCurPriv = &i810s->cursor; - - if (pCurPriv->has_cursor) - { - if (pCurPriv->pCursor) - { - int x, y; - - miPointerPosition (&x, &y); - i810LoadCursor (pScreen, x, y); - } - else - i810UnloadCursor (pScreen); - } -} - -void -i810CursorDisable (ScreenPtr pScreen) -{ - KdScreenPriv(pScreen); - i810ScreenInfo(pScreenPriv); - i810Cursor *pCurPriv = &i810s->cursor; - - if (!pScreenPriv->enabled) - return; - - if (pCurPriv->has_cursor) - { - if (pCurPriv->pCursor) - { - i810UnloadCursor (pScreen); - } - } -} - -void -i810CursorFini (ScreenPtr pScreen) -{ - KdScreenPriv(pScreen); - i810ScreenInfo(pScreenPriv); - i810Cursor *pCurPriv = &i810s->cursor; - - pCurPriv->pCursor = NULL; -} - diff --git a/xorg-server/hw/kdrive/i810/i810_reg.h b/xorg-server/hw/kdrive/i810/i810_reg.h deleted file mode 100644 index d9f4c8f48..000000000 --- a/xorg-server/hw/kdrive/i810/i810_reg.h +++ /dev/null @@ -1,695 +0,0 @@ -/* COPYRIGHT AND PERMISSION NOTICE - -Copyright (c) 2000, 2001 Nokia Home Communications - -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. - -X Window System is a trademark of The Open Group */ - -/************************************************************************** - -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: - * Keith Whitwell - * Pontus Lidman - * - * based on the i740 driver by - * Kevin E. Martin - * - * - */ - -/* I/O register offsets - */ -#define SRX 0x3C4 /* p208 */ -#define GRX 0x3CE /* p213 */ -#define ARX 0x3C0 /* p224 */ - -/* VGA Color Palette Registers */ -#define DACMASK 0x3C6 /* p232 */ -#define DACSTATE 0x3C7 /* p232 */ -#define DACRX 0x3C7 /* p233 */ -#define DACWX 0x3C8 /* p233 */ -#define DACDATA 0x3C9 /* p233 */ - -/* CRT Controller Registers (CRX) */ -#define START_ADDR_HI 0x0C /* p246 */ -#define START_ADDR_LO 0x0D /* p247 */ -#define VERT_SYNC_END 0x11 /* p249 */ -#define EXT_VERT_TOTAL 0x30 /* p257 */ -#define EXT_VERT_DISPLAY 0x31 /* p258 */ -#define EXT_VERT_SYNC_START 0x32 /* p259 */ -#define EXT_VERT_BLANK_START 0x33 /* p260 */ -#define EXT_HORIZ_TOTAL 0x35 /* p261 */ -#define EXT_HORIZ_BLANK 0x39 /* p261 */ -#define EXT_START_ADDR 0x40 /* p262 */ -#define EXT_START_ADDR_ENABLE 0x80 -#define EXT_OFFSET 0x41 /* p263 */ -#define EXT_START_ADDR_HI 0x42 /* p263 */ -#define INTERLACE_CNTL 0x70 /* p264 */ -#define INTERLACE_ENABLE 0x80 -#define INTERLACE_DISABLE 0x00 - -/* Miscellaneous Output Register - */ -#define MSR_R 0x3CC /* p207 */ -#define MSR_W 0x3C2 /* p207 */ -#define IO_ADDR_SELECT 0x01 - -#define MDA_BASE 0x3B0 /* p207 */ -#define CGA_BASE 0x3D0 /* p207 */ - -/* CR80 - IO Control, p264 - */ -#define IO_CTNL 0x80 -#define EXTENDED_ATTR_CNTL 0x02 -#define EXTENDED_CRTC_CNTL 0x01 - -/* GR10 - Address mapping, p221 - */ -#define ADDRESS_MAPPING 0x10 -#define PAGE_TO_LOCAL_MEM_ENABLE 0x10 -#define GTT_MEM_MAP_ENABLE 0x08 -#define PACKED_MODE_ENABLE 0x04 -#define LINEAR_MODE_ENABLE 0x02 -#define PAGE_MAPPING_ENABLE 0x01 - -/* Blitter control, p378 - */ -#define BITBLT_CNTL 0x7000c -#define COLEXP_MODE 0x30 -#define COLEXP_8BPP 0x00 -#define COLEXP_16BPP 0x10 -#define COLEXP_24BPP 0x20 -#define COLEXP_RESERVED 0x30 -#define BITBLT_STATUS 0x01 - -/* p375. - */ -#define DISPLAY_CNTL 0x70008 -#define VGA_WRAP_MODE 0x02 -#define VGA_WRAP_AT_256KB 0x00 -#define VGA_NO_WRAP 0x02 -#define GUI_MODE 0x01 -#define STANDARD_VGA_MODE 0x00 -#define HIRES_MODE 0x01 - -/* p375 - */ -#define PIXPIPE_CONFIG_0 0x70009 -#define DAC_8_BIT 0x80 -#define DAC_6_BIT 0x00 -#define HW_CURSOR_ENABLE 0x10 -#define EXTENDED_PALETTE 0x01 - -/* p375 - */ -#define PIXPIPE_CONFIG_1 0x7000a -#define DISPLAY_COLOR_MODE 0x0F -#define DISPLAY_VGA_MODE 0x00 -#define DISPLAY_8BPP_MODE 0x02 -#define DISPLAY_15BPP_MODE 0x04 -#define DISPLAY_16BPP_MODE 0x05 -#define DISPLAY_24BPP_MODE 0x06 -#define DISPLAY_32BPP_MODE 0x07 - -/* p375 - */ -#define PIXPIPE_CONFIG_2 0x7000b -#define DISPLAY_GAMMA_ENABLE 0x08 -#define DISPLAY_GAMMA_DISABLE 0x00 -#define OVERLAY_GAMMA_ENABLE 0x04 -#define OVERLAY_GAMMA_DISABLE 0x00 - - -/* p380 - */ -#define DISPLAY_BASE 0x70020 -#define DISPLAY_BASE_MASK 0x03fffffc - - -/* Cursor control registers, pp383-384 - */ -#define CURSOR_CONTROL 0x70080 -#define CURSOR_ORIGIN_SCREEN 0x00 -#define CURSOR_ORIGIN_DISPLAY 0x10 -#define CURSOR_MODE 0x07 -#define CURSOR_MODE_DISABLE 0x00 -#define CURSOR_MODE_32_4C_AX 0x01 -#define CURSOR_MODE_64_3C 0x04 -#define CURSOR_MODE_64_4C_AX 0x05 -#define CURSOR_MODE_64_4C 0x06 -#define CURSOR_MODE_RESERVED 0x07 -#define CURSOR_BASEADDR 0x70084 -#define CURSOR_BASEADDR_MASK 0x1FFFFF00 -#define CURSOR_X_LO 0x70088 -#define CURSOR_X_HI 0x70089 -#define CURSOR_X_POS 0x00 -#define CURSOR_X_NEG 0x80 -#define CURSOR_Y_LO 0x7008A -#define CURSOR_Y_HI 0x7008B -#define CURSOR_Y_POS 0x00 -#define CURSOR_Y_NEG 0x80 - - - -/* Similar registers exist in Device 0 on the i810 (pp55-65), but I'm - * not sure they refer to local (graphics) memory. - * - * These details are for the local memory control registers, - * (pp301-310). The test machines are not equiped with local memory, - * so nothing is tested. Only a single row seems to be supported. - */ -#define DRAM_ROW_TYPE 0x3000 -#define DRAM_ROW_0 0x01 -#define DRAM_ROW_0_SDRAM 0x01 -#define DRAM_ROW_0_EMPTY 0x00 -#define DRAM_ROW_CNTL_LO 0x3001 -#define DRAM_PAGE_MODE_CTRL 0x10 -#define DRAM_RAS_TO_CAS_OVRIDE 0x08 -#define DRAM_CAS_LATENCY 0x04 -#define DRAM_RAS_TIMING 0x02 -#define DRAM_RAS_PRECHARGE 0x01 -#define DRAM_ROW_CNTL_HI 0x3002 -#define DRAM_REFRESH_RATE 0x18 -#define DRAM_REFRESH_DISABLE 0x00 -#define DRAM_REFRESH_60HZ 0x08 -#define DRAM_REFRESH_FAST_TEST 0x10 -#define DRAM_REFRESH_RESERVED 0x18 -#define DRAM_SMS 0x07 -#define DRAM_SMS_NORMAL 0x00 -#define DRAM_SMS_NOP_ENABLE 0x01 -#define DRAM_SMS_ABPCE 0x02 -#define DRAM_SMS_MRCE 0x03 -#define DRAM_SMS_CBRCE 0x04 - -/* p307 - */ -#define DPMS_SYNC_SELECT 0x5002 -#define VSYNC_CNTL 0x08 -#define VSYNC_ON 0x00 -#define VSYNC_OFF 0x08 -#define HSYNC_CNTL 0x02 -#define HSYNC_ON 0x00 -#define HSYNC_OFF 0x02 - - - -/* p317, 319 - */ -#define VCLK2_VCO_M 0x6008 /* treat as 16 bit? (includes msbs) */ -#define VCLK2_VCO_N 0x600a -#define VCLK2_VCO_DIV_SEL 0x6012 -#define POST_DIV_SELECT 0x70 -#define POST_DIV_1 0x00 -#define POST_DIV_2 0x10 -#define POST_DIV_4 0x20 -#define POST_DIV_8 0x30 -#define POST_DIV_16 0x40 -#define POST_DIV_32 0x50 -#define VCO_LOOP_DIV_BY_4M 0x00 -#define VCO_LOOP_DIV_BY_16M 0x04 - - -/* Instruction Parser Mode Register - * - p281 - * - 2 new bits. - */ -#define INST_PM 0x20c0 -#define AGP_SYNC_PACKET_FLUSH_ENABLE 0x20 /* reserved */ -#define SYNC_PACKET_FLUSH_ENABLE 0x10 -#define TWO_D_INST_DISABLE 0x08 -#define THREE_D_INST_DISABLE 0x04 -#define STATE_VAR_UPDATE_DISABLE 0x02 -#define PAL_STIP_DISABLE 0x01 - -#define INST_DONE 0x2090 -#define INST_PS 0x20c4 - -#define MEMMODE 0x20dc - - -/* Instruction parser error register. p279 - */ -#define IPEIR 0x2088 -#define IPEHR 0x208C - - -/* General error reporting regs, p296 - */ -#define EIR 0x20B0 -#define EMR 0x20B4 -#define ESR 0x20B8 -#define IP_ERR 0x0001 -#define ERROR_RESERVED 0xffc6 - - -/* Interrupt Control Registers - * - new bits for i810 - * - new register hwstam (mask) - */ -#define HWSTAM 0x2098 /* p290 */ -#define IER 0x20a0 /* p291 */ -#define IIR 0x20a4 /* p292 */ -#define IMR 0x20a8 /* p293 */ -#define ISR 0x20ac /* p294 */ -#define HW_ERROR 0x8000 -#define SYNC_STATUS_TOGGLE 0x1000 -#define DPY_0_FLIP_PENDING 0x0800 -#define DPY_1_FLIP_PENDING 0x0400 /* not implemented on i810 */ -#define OVL_0_FLIP_PENDING 0x0200 -#define OVL_1_FLIP_PENDING 0x0100 /* not implemented on i810 */ -#define DPY_0_VBLANK 0x0080 -#define DPY_0_EVENT 0x0040 -#define DPY_1_VBLANK 0x0020 /* not implemented on i810 */ -#define DPY_1_EVENT 0x0010 /* not implemented on i810 */ -#define HOST_PORT_EVENT 0x0008 /* */ -#define CAPTURE_EVENT 0x0004 /* */ -#define USER_DEFINED 0x0002 -#define BREAKPOINT 0x0001 - - -#define INTR_RESERVED (0x6000 | \ - DPY_1_FLIP_PENDING | \ - OVL_1_FLIP_PENDING | \ - DPY_1_VBLANK | \ - DPY_1_EVENT | \ - HOST_PORT_EVENT | \ - CAPTURE_EVENT ) - -/* FIFO Watermark and Burst Length Control Register - * - * - different offset and contents on i810 (p299) (fewer bits per field) - * - some overlay fields added - * - what does it all mean? - */ -#define FWATER_BLC 0x20d8 -#define MM_BURST_LENGTH 0x00700000 -#define MM_FIFO_WATERMARK 0x0001F000 -#define LM_BURST_LENGTH 0x00000700 -#define LM_FIFO_WATERMARK 0x0000001F - - -/* Fence/Tiling ranges [0..7] - */ -#define FENCE 0x2000 -#define FENCE_NR 8 - -#define FENCE_START_MASK 0x03F80000 -#define FENCE_X_MAJOR 0x00000000 -#define FENCE_Y_MAJOR 0x00001000 -#define FENCE_SIZE_MASK 0x00000700 -#define FENCE_SIZE_512K 0x00000000 -#define FENCE_SIZE_1M 0x00000100 -#define FENCE_SIZE_2M 0x00000200 -#define FENCE_SIZE_4M 0x00000300 -#define FENCE_SIZE_8M 0x00000400 -#define FENCE_SIZE_16M 0x00000500 -#define FENCE_SIZE_32M 0x00000600 -#define FENCE_PITCH_MASK 0x00000070 -#define FENCE_PITCH_1 0x00000000 -#define FENCE_PITCH_2 0x00000010 -#define FENCE_PITCH_4 0x00000020 -#define FENCE_PITCH_8 0x00000030 -#define FENCE_PITCH_16 0x00000040 -#define FENCE_PITCH_32 0x00000050 -#define FENCE_VALID 0x00000001 - - -/* Registers to control page table, p274 - */ -#define PGETBL_CTL 0x2020 -#define PGETBL_ADDR_MASK 0xFFFFF000 -#define PGETBL_ENABLE_MASK 0x00000001 -#define PGETBL_ENABLED 0x00000001 - -/* Register containing pge table error results, p276 - */ -#define PGE_ERR 0x2024 -#define PGE_ERR_ADDR_MASK 0xFFFFF000 -#define PGE_ERR_ID_MASK 0x00000038 -#define PGE_ERR_CAPTURE 0x00000000 -#define PGE_ERR_OVERLAY 0x00000008 -#define PGE_ERR_DISPLAY 0x00000010 -#define PGE_ERR_HOST 0x00000018 -#define PGE_ERR_RENDER 0x00000020 -#define PGE_ERR_BLITTER 0x00000028 -#define PGE_ERR_MAPPING 0x00000030 -#define PGE_ERR_CMD_PARSER 0x00000038 -#define PGE_ERR_TYPE_MASK 0x00000007 -#define PGE_ERR_INV_TABLE 0x00000000 -#define PGE_ERR_INV_PTE 0x00000001 -#define PGE_ERR_MIXED_TYPES 0x00000002 -#define PGE_ERR_PAGE_MISS 0x00000003 -#define PGE_ERR_ILLEGAL_TRX 0x00000004 -#define PGE_ERR_LOCAL_MEM 0x00000005 -#define PGE_ERR_TILED 0x00000006 - - - -/* Page table entries loaded via mmio region, p323 - */ -#define PTE_BASE 0x10000 -#define PTE_ADDR_MASK 0x3FFFF000 -#define PTE_TYPE_MASK 0x00000006 -#define PTE_LOCAL 0x00000002 -#define PTE_MAIN_UNCACHED 0x00000000 -#define PTE_MAIN_CACHED 0x00000006 -#define PTE_VALID_MASK 0x00000001 -#define PTE_VALID 0x00000001 - - -/* Ring buffer registers, p277, overview p19 - */ -#define LP_RING 0x2030 -#define HP_RING 0x2040 - -#define RING_TAIL 0x00 -#define TAIL_ADDR 0x000FFFF8 - -#define RING_HEAD 0x04 -#define HEAD_WRAP_COUNT 0xFFE00000 -#define HEAD_WRAP_ONE 0x00200000 -#define HEAD_ADDR 0x001FFFFC - -#define RING_START 0x08 -#define START_ADDR 0x00FFFFF8 - -#define RING_LEN 0x0C -#define RING_NR_PAGES 0x000FF000 -#define RING_REPORT_MASK 0x00000006 -#define RING_REPORT_64K 0x00000002 -#define RING_REPORT_128K 0x00000004 -#define RING_NO_REPORT 0x00000000 -#define RING_VALID_MASK 0x00000001 -#define RING_VALID 0x00000001 -#define RING_INVALID 0x00000000 - - - -/* BitBlt Instructions - * - * There are many more masks & ranges yet to add. - */ -#define BR00_BITBLT_CLIENT 0x40000000 -#define BR00_OP_COLOR_BLT 0x10000000 -#define BR00_OP_SRC_COPY_BLT 0x10C00000 -#define BR00_OP_FULL_BLT 0x11400000 -#define BR00_OP_MONO_SRC_BLT 0x11800000 -#define BR00_OP_MONO_SRC_COPY_BLT 0x11000000 -#define BR00_OP_MONO_PAT_BLT 0x11C00000 -#define BR00_OP_MONO_SRC_COPY_IMMEDIATE_BLT (0x61 << 22) -#define BR00_OP_TEXT_IMMEDIATE_BLT 0xc000000 - - -#define BR00_TPCY_DISABLE 0x00000000 -#define BR00_TPCY_ENABLE 0x00000010 - -#define BR00_TPCY_ROP 0x00000000 -#define BR00_TPCY_NO_ROP 0x00000020 -#define BR00_TPCY_EQ 0x00000000 -#define BR00_TPCY_NOT_EQ 0x00000040 - -#define BR00_PAT_MSB_FIRST 0x00000000 /* ? */ - -#define BR00_PAT_VERT_ALIGN 0x000000e0 - -#define BR00_LENGTH 0x0000000F - -#define BR09_DEST_ADDR 0x03FFFFFF - -#define BR11_SOURCE_PITCH 0x00003FFF - -#define BR12_SOURCE_ADDR 0x03FFFFFF - -#define BR13_SOLID_PATTERN 0x80000000 -#define BR13_RIGHT_TO_LEFT 0x40000000 -#define BR13_LEFT_TO_RIGHT 0x00000000 -#define BR13_MONO_TRANSPCY 0x20000000 -#define BR13_USE_DYN_DEPTH 0x04000000 -#define BR13_DYN_8BPP 0x00000000 -#define BR13_DYN_16BPP 0x01000000 -#define BR13_DYN_24BPP 0x02000000 -#define BR13_ROP_MASK 0x00FF0000 -#define BR13_DEST_PITCH 0x0000FFFF -#define BR13_PITCH_SIGN_BIT 0x00008000 - -#define BR14_DEST_HEIGHT 0xFFFF0000 -#define BR14_DEST_WIDTH 0x0000FFFF - -#define BR15_PATTERN_ADDR 0x03FFFFFF - -#define BR16_SOLID_PAT_COLOR 0x00FFFFFF -#define BR16_BACKGND_PAT_CLR 0x00FFFFFF - -#define BR17_FGND_PAT_CLR 0x00FFFFFF - -#define BR18_SRC_BGND_CLR 0x00FFFFFF -#define BR19_SRC_FGND_CLR 0x00FFFFFF - - -/* Instruction parser instructions - */ - -#define INST_PARSER_CLIENT 0x00000000 -#define INST_OP_FLUSH 0x02000000 -#define INST_FLUSH_MAP_CACHE 0x00000001 - -#define INST_DEST_BUFFER_INFO 0x06800000 - -#define INST_FRONT_BUFFER_INFO 0x06000000 -#define FRONT_INFO_ASYNC_FLIP 1<<6 -#define FRONT_INFO_PITCH_B 8 - -#define GFX_OP_USER_INTERRUPT ((0<<29)|(2<<23)) - - -/* Registers in the i810 host-pci bridge pci config space which affect - * the i810 graphics operations. - */ -#define SMRAM_MISCC 0x70 -#define GMS 0x000000c0 -#define GMS_DISABLE 0x00000000 -#define GMS_ENABLE_BARE 0x00000040 -#define GMS_ENABLE_512K 0x00000080 -#define GMS_ENABLE_1M 0x000000c0 -#define USMM 0x00000030 -#define USMM_DISABLE 0x00000000 -#define USMM_TSEG_ZERO 0x00000010 -#define USMM_TSEG_512K 0x00000020 -#define USMM_TSEG_1M 0x00000030 -#define GFX_MEM_WIN_SIZE 0x00010000 -#define GFX_MEM_WIN_32M 0x00010000 -#define GFX_MEM_WIN_64M 0x00000000 - -/* Overkill? I don't know. Need to figure out top of mem to make the - * SMRAM calculations come out. Linux seems to have problems - * detecting it all on its own, so this seems a reasonable double - * check to any user supplied 'mem=...' boot param. - * - * ... unfortunately this reg doesn't work according to spec on the - * test hardware. - */ -#define WHTCFG_PAMR_DRP 0x50 -#define SYS_DRAM_ROW_0_SHIFT 16 -#define SYS_DRAM_ROW_1_SHIFT 20 -#define DRAM_MASK 0x0f -#define DRAM_VALUE_0 0 -#define DRAM_VALUE_1 8 -/* No 2 value defined */ -#define DRAM_VALUE_3 16 -#define DRAM_VALUE_4 16 -#define DRAM_VALUE_5 24 -#define DRAM_VALUE_6 32 -#define DRAM_VALUE_7 32 -#define DRAM_VALUE_8 48 -#define DRAM_VALUE_9 64 -#define DRAM_VALUE_A 64 -#define DRAM_VALUE_B 96 -#define DRAM_VALUE_C 128 -#define DRAM_VALUE_D 128 -#define DRAM_VALUE_E 192 -#define DRAM_VALUE_F 256 /* nice one, geezer */ -#define LM_FREQ_MASK 0x10 -#define LM_FREQ_133 0x10 -#define LM_FREQ_100 0x00 - - - - -/* These are 3d state registers, but the state is invarient, so we let - * the X server handle it: - */ - - - -/* GFXRENDERSTATE_COLOR_CHROMA_KEY, p135 - */ -#define GFX_OP_COLOR_CHROMA_KEY ((0x3<<29)|(0x1d<<24)|(0x2<<16)|0x1) -#define CC1_UPDATE_KILL_WRITE (1<<28) -#define CC1_ENABLE_KILL_WRITE (1<<27) -#define CC1_DISABLE_KILL_WRITE 0 -#define CC1_UPDATE_COLOR_IDX (1<<26) -#define CC1_UPDATE_CHROMA_LOW (1<<25) -#define CC1_UPDATE_CHROMA_HI (1<<24) -#define CC1_CHROMA_LOW_MASK ((1<<24)-1) -#define CC2_COLOR_IDX_SHIFT 24 -#define CC2_COLOR_IDX_MASK (0xff<<24) -#define CC2_CHROMA_HI_MASK ((1<<24)-1) - - -#define GFX_CMD_CONTEXT_SEL ((0<<29)|(0x5<<23)) -#define CS_UPDATE_LOAD (1<<17) -#define CS_UPDATE_USE (1<<16) -#define CS_UPDATE_LOAD (1<<17) -#define CS_LOAD_CTX0 0 -#define CS_LOAD_CTX1 (1<<8) -#define CS_USE_CTX0 0 -#define CS_USE_CTX1 (1<<0) - -/* 3D Rendering Engine */ - -#define RENDER_CLIENT 0x60000000 - -/* Primitive rendering instruction */ - -#define GFX_PRIMITIVE 0x1f000000 -#define PRIMITIVE_TRIANGLE 0 << 18 -#define PRIMITIVE_TRI_STRIP 1 << 18 -#define PRIMITIVE_TRI_REV_STRIP 2 << 18 -#define PRIMITIVE_TRI_FAN 3 << 18 -#define PRIMITIVE_POLYGON 4 << 18 -#define PRIMITIVE_LINE 5 << 18 -#define PRIMITIVE_LINE_STRIP 6 << 18 -#define PRIMITIVE_RECTANGLE 7 << 18 - -/* Vertex format instruction */ -#define GFX_VERTEX_FORMAT 0x05000000 -#define VERTEX_0_TEXCOORDS 0 << 8 -#define VERTEX_1_TEXCOORDS 1 << 8 -#define VERTEX_2_TEXCOORDS 2 << 8 -#define VERTEX_SPECULAR_FOG 1 << 7 -#define VERTEX_DIFFUSE_ALPHA 1 << 6 -#define VERTEX_Z_OFFSET 1 << 5 -#define VERTEX_POS_XYZ 1 << 1 -#define VERTEX_POS_XYZ_RHW 2 << 1 -#define VERTEX_POS_XY 3 << 1 -#define VERTEX_POS_XY_RHW 4 << 1 - -/* Drawing Rectangle Info instruction */ - -#define GFX_DRAWING_RECTANGLE_INFO 0x1d800003 -#define GFX_DRAWING_CLIP_DISABLE 1<<31 - -/* Boolean enable 1 */ -#define GFX_BOOLEAN_ENA_1 0x03000000 -#define BOOL1_ALPHA_SETUP_MASK 1<<17 -#define BOOL1_ALPHA_SETUP_BIT 1<<16 -#define BOOL1_FOG_ENABLE_MASK 1<<7 -#define BOOL1_FOG_ENABLE_BIT 1<<6 -#define BOOL1_ALPHA_TEST_MASK 1<<5 -#define BOOL1_ALPHA_TEST_BIT 1<<4 -#define BOOL1_BLEND_ENABLE_MASK 1<<3 -#define BOOL1_BLEND_ENABLE_BIT 1<<2 -#define BOOL1_Z_ENABLE_MASK 1<<1 -#define BOOL1_Z_ENABLE_BIT 1<<0 - -/* Boolean enable 2 */ -#define GFX_BOOLEAN_ENA_2 0x04000000 -#define BOOL2_MAPPING_CACHE_MASK 1<<17 -#define BOOL2_MAPPING_CACHE_BIT 1<<16 -#define BOOL2_ALPHA_DITHER_MASK 1<<15 -#define BOOL2_ALPHA_DITHER_BIT 1<<14 -#define BOOL2_FOG_DITHER_MASK 1<<13 -#define BOOL2_FOG_DITHER_BIT 1<<12 -#define BOOL2_SPECULAR_DITHER_MASK 1<<11 -#define BOOL2_SPECULAR_DITHER_BIT 1<<10 -#define BOOL2_COLOR_DITHER_MASK 1<<9 -#define BOOL2_COLOR_DITHER_BIT 1<<8 -#define BOOL2_FB_WRITE_MASK 1<<3 -#define BOOL2_FB_WRITE_BIT 1<<2 -#define BOOL2_Z_WRITE_MASK 1<<1 -#define BOOL2_Z_WRITE_BIT 1<<0 - -/* Dest buffer variables */ - -#define GFX_DEST_BUFFER_VARIABLES 0x1d850000 - -#define DEST_BUF_VAR_8BIT 0 << 8 -#define DEST_BUF_VAR_555 1 << 8 -#define DEST_BUF_VAR_565 2 << 8 - -/* map color blend stages */ - -#define GFX_MAP_COLOR_BLEND_STAGES 0 - -#define MAP_BLEND_STAGE_B 20 -#define MAP_BLEND_ACC_SEL_MASK 1<<19 -#define MAP_BLEND_ACC_SEL_BIT 1<<18 -#define MAP_BLEND_ARG1_MASK 1<<17 -#define MAP_BLEND_ARG1_B 14 -#define MAP_BLEND_REPLICATE_ARG1 1<<13 -#define MAP_BLEND_INVERT_ARG1 1<<12 - -#define MAP_BLEND_ARG2_MASK 1<<11 -#define MAP_BLEND_ARG2_B 8 -#define MAP_BLEND_REPLICATE_ARG2 1<<7 -#define MAP_BLEND_INVERT_ARG2 1<<6 - -#define MAP_BLEND_COLOR_OP_MASK 1<<5 -#define MAP_BLEND_COLOR_OP_B 0 - -#define GFX_SCISSOR_ENABLE 0x1c800000 - -#define SCISSOR_ENABLE_MASK 1<<1 -#define SCISSOR_ENABLE_BIT 1<<0 diff --git a/xorg-server/hw/kdrive/i810/i810_video.c b/xorg-server/hw/kdrive/i810/i810_video.c deleted file mode 100644 index ac881d51d..000000000 --- a/xorg-server/hw/kdrive/i810/i810_video.c +++ /dev/null @@ -1,1136 +0,0 @@ -/* COPYRIGHT AND PERMISSION NOTICE - -Copyright (c) 2000, 2001 Nokia Home Communications - -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. - -X Window System is a trademark of The Open Group */ - -/*************************************************************************** - -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. - -**************************************************************************/ - - -/* - * i810_video.c: i810 KDrive Xv driver. - * Based on the XFree86 i810 Xv driver by Jonathan Bian. - * - * Authors: - * Jonathan Bian - * Pontus Lidman - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif -#include "kdrive.h" -#include "kxv.h" -#include "i810.h" - -#include - -#include "fourcc.h" - -typedef struct { - CARD32 size; - CARD32 offset; -} FBLinearRec, *FBLinearPtr; - -#define OFF_DELAY 250 /* milliseconds */ -#define FREE_DELAY 15000 - -#define OFF_TIMER 0x01 -#define FREE_TIMER 0x02 -#define CLIENT_VIDEO_ON 0x04 - -#define TIMER_MASK (OFF_TIMER | FREE_TIMER) - -static KdVideoAdaptorPtr i810SetupImageVideo(ScreenPtr); -static void i810StopVideo(KdScreenInfo *, pointer, Bool); -static int i810SetPortAttribute(KdScreenInfo *, Atom, int, pointer); -static int i810GetPortAttribute(KdScreenInfo *, Atom, int *, pointer); -static void i810QueryBestSize(KdScreenInfo *, Bool, - short, short, short, short, unsigned int *, unsigned int *, pointer); -static int i810PutImage( KdScreenInfo *, DrawablePtr, - short, short, short, short, short, short, short, short, - int, unsigned char*, short, short, Bool, RegionPtr, pointer); -static int i810QueryImageAttributes(KdScreenInfo *, - int, unsigned short *, unsigned short *, int *, int *); - -static void i810BlockHandler(int, pointer, pointer, pointer); - -#define MAKE_ATOM(a) MakeAtom(a, sizeof(a) - 1, TRUE) - -static Atom xvBrightness, xvContrast, xvColorKey; - -#define IMAGE_MAX_WIDTH 720 -#define IMAGE_MAX_HEIGHT 576 -#define Y_BUF_SIZE (IMAGE_MAX_WIDTH * IMAGE_MAX_HEIGHT) - -#define OVERLAY_UPDATE(p) OUTREG(0x30000, p | 0x80000000); - -/* - * OV0CMD - Overlay Command Register - */ -#define VERTICAL_CHROMINANCE_FILTER 0x70000000 -#define VC_SCALING_OFF 0x00000000 -#define VC_LINE_REPLICATION 0x10000000 -#define VC_UP_INTERPOLATION 0x20000000 -#define VC_PIXEL_DROPPING 0x50000000 -#define VC_DOWN_INTERPOLATION 0x60000000 -#define VERTICAL_LUMINANCE_FILTER 0x0E000000 -#define VL_SCALING_OFF 0x00000000 -#define VL_LINE_REPLICATION 0x02000000 -#define VL_UP_INTERPOLATION 0x04000000 -#define VL_PIXEL_DROPPING 0x0A000000 -#define VL_DOWN_INTERPOLATION 0x0C000000 -#define HORIZONTAL_CHROMINANCE_FILTER 0x01C00000 -#define HC_SCALING_OFF 0x00000000 -#define HC_LINE_REPLICATION 0x00400000 -#define HC_UP_INTERPOLATION 0x00800000 -#define HC_PIXEL_DROPPING 0x01400000 -#define HC_DOWN_INTERPOLATION 0x01800000 -#define HORIZONTAL_LUMINANCE_FILTER 0x00380000 -#define HL_SCALING_OFF 0x00000000 -#define HL_LINE_REPLICATION 0x00080000 -#define HL_UP_INTERPOLATION 0x00100000 -#define HL_PIXEL_DROPPING 0x00280000 -#define HL_DOWN_INTERPOLATION 0x00300000 - -#define Y_ADJUST 0x00010000 -#define OV_BYTE_ORDER 0x0000C000 -#define UV_SWAP 0x00004000 -#define Y_SWAP 0x00008000 -#define Y_AND_UV_SWAP 0x0000C000 -#define SOURCE_FORMAT 0x00003C00 -#define RGB_555 0x00000800 -#define RGB_565 0x00000C00 -#define YUV_422 0x00002000 -#define YUV_411 0x00002400 -#define YUV_420 0x00003000 -#define YUV_410 0x00003800 -#define BUFFER_AND_FIELD 0x00000006 -#define BUFFER0_FIELD0 0x00000000 -#define BUFFER1_FIELD0 0x00000004 -#define OVERLAY_ENABLE 0x00000001 - -/* - * DOV0STA - Display/Overlay 0 Status Register - */ -#define DOV0STA 0x30008 - -#define MINUV_SCALE 0x1 - -#define RGB16ToColorKey(c) \ - (((c & 0xF800) << 8) | ((c & 0x07E0) << 5) | ((c & 0x001F) << 3)) - -#define RGB15ToColorKey(c) \ - (((c & 0x7c00) << 9) | ((c & 0x03E0) << 6) | ((c & 0x001F) << 3)) - -Bool i810InitVideo(ScreenPtr pScreen) -{ - KdScreenPriv(pScreen); - KdScreenInfo *screen = pScreenPriv->screen; - KdVideoAdaptorPtr *adaptors, *newAdaptors = NULL; - KdVideoAdaptorPtr newAdaptor = NULL; - int num_adaptors; - -/* fprintf(stderr,"i810InitVideo\n"); */ - - if (screen->fb[0].bitsPerPixel != 8) - { - newAdaptor = i810SetupImageVideo(pScreen); - } - - num_adaptors = KdXVListGenericAdaptors(screen, &adaptors); - - if(newAdaptor) { - if(!num_adaptors) { - num_adaptors = 1; - adaptors = &newAdaptor; - } else { - newAdaptors = /* need to free this someplace */ - xalloc((num_adaptors + 1) * sizeof(KdVideoAdaptorPtr*)); - if(newAdaptors) { - memcpy(newAdaptors, adaptors, num_adaptors * - sizeof(KdVideoAdaptorPtr)); - newAdaptors[num_adaptors] = newAdaptor; - adaptors = newAdaptors; - num_adaptors++; - } - } - } - - if(num_adaptors) - KdXVScreenInit(pScreen, adaptors, num_adaptors); - - if(newAdaptors) - xfree(newAdaptors); - return TRUE; -} - -/* client libraries expect an encoding */ -static KdVideoEncodingRec DummyEncoding[1] = -{ - { - 0, - "XV_IMAGE", - IMAGE_MAX_WIDTH, IMAGE_MAX_HEIGHT, - {1, 1} - } -}; - -#define NUM_FORMATS 3 - -static KdVideoFormatRec Formats[NUM_FORMATS] = -{ - {15, TrueColor}, {16, TrueColor}, {24, TrueColor} -}; - -#define NUM_ATTRIBUTES 3 - -static KdAttributeRec Attributes[NUM_ATTRIBUTES] = -{ - {XvSettable | XvGettable, 0, (1 << 24) - 1, "XV_COLORKEY"}, - {XvSettable | XvGettable, -128, 127, "XV_BRIGHTNESS"}, - {XvSettable | XvGettable, 0, 255, "XV_CONTRAST"} -}; - -#define NUM_IMAGES 4 - -static KdImageRec Images[NUM_IMAGES] = -{ - XVIMAGE_YUY2, - XVIMAGE_YV12, - XVIMAGE_I420, - XVIMAGE_UYVY -}; - -typedef struct { - CARD32 OBUF_0Y; - CARD32 OBUF_1Y; - CARD32 OBUF_0U; - CARD32 OBUF_0V; - CARD32 OBUF_1U; - CARD32 OBUF_1V; - CARD32 OV0STRIDE; - CARD32 YRGB_VPH; - CARD32 UV_VPH; - CARD32 HORZ_PH; - CARD32 INIT_PH; - CARD32 DWINPOS; - CARD32 DWINSZ; - CARD32 SWID; - CARD32 SWIDQW; - CARD32 SHEIGHT; - CARD32 YRGBSCALE; - CARD32 UVSCALE; - CARD32 OV0CLRC0; - CARD32 OV0CLRC1; - CARD32 DCLRKV; - CARD32 DCLRKM; - CARD32 SCLRKVH; - CARD32 SCLRKVL; - CARD32 SCLRKM; - CARD32 OV0CONF; - CARD32 OV0CMD; -} I810OverlayRegRec, *I810OverlayRegPtr; - -typedef struct { - CARD32 YBuf0offset; - CARD32 UBuf0offset; - CARD32 VBuf0offset; - - CARD32 YBuf1offset; - CARD32 UBuf1offset; - CARD32 VBuf1offset; - - unsigned char currentBuf; - - unsigned char brightness; - unsigned char contrast; - - RegionRec clip; - CARD32 colorKey; - - CARD32 videoStatus; - Time offTime; - Time freeTime; - FBLinearPtr linear; -} I810PortPrivRec, *I810PortPrivPtr; - -#define GET_PORT_PRIVATE(screen) \ - (I810PortPrivPtr)(((I810CardInfo *) (screen->card->driver))->adaptor->pPortPrivates[0].ptr) - -static void i810ResetVideo(KdScreenInfo *screen) -{ - ScreenPtr pScreen = screen->pScreen; - KdScreenPriv(pScreen); - KdCardInfo *card = pScreenPriv->card; - I810CardInfo *i810c = (I810CardInfo *) card->driver; - - I810PortPrivPtr pPriv = i810c->adaptor->pPortPrivates[0].ptr; - I810OverlayRegPtr overlay = (I810OverlayRegPtr) (i810c->FbBase + i810c->OverlayStart); - - /* - * Default to maximum image size in YV12 - */ - - overlay->YRGB_VPH = 0; - overlay->UV_VPH = 0; - overlay->HORZ_PH = 0; - overlay->INIT_PH = 0; - overlay->DWINPOS = 0; - overlay->DWINSZ = (IMAGE_MAX_HEIGHT << 16) | IMAGE_MAX_WIDTH; - overlay->SWID = IMAGE_MAX_WIDTH | (IMAGE_MAX_WIDTH << 15); - overlay->SWIDQW = (IMAGE_MAX_WIDTH >> 3) | (IMAGE_MAX_WIDTH << 12); - overlay->SHEIGHT = IMAGE_MAX_HEIGHT | (IMAGE_MAX_HEIGHT << 15); - overlay->YRGBSCALE = 0x80004000; /* scale factor 1 */ - overlay->UVSCALE = 0x80004000; /* scale factor 1 */ - overlay->OV0CLRC0 = 0x4000; /* brightness: 0 contrast: 1.0 */ - overlay->OV0CLRC1 = 0x80; /* saturation: bypass */ - - /* - * Enable destination color keying - */ - switch(screen->fb[0].depth) { - case 16: overlay->DCLRKV = RGB16ToColorKey(pPriv->colorKey); - overlay->DCLRKM = 0x80070307; - break; - case 15: overlay->DCLRKV = RGB15ToColorKey(pPriv->colorKey); - overlay->DCLRKM = 0x80070707; - break; - default: overlay->DCLRKV = pPriv->colorKey; - overlay->DCLRKM = 0x80000000; - break; - } - - overlay->SCLRKVH = 0; - overlay->SCLRKVL = 0; - overlay->SCLRKM = 0; /* source color key disable */ - overlay->OV0CONF = 0; /* two 720 pixel line buffers */ - - overlay->OV0CMD = VC_UP_INTERPOLATION | HC_UP_INTERPOLATION | Y_ADJUST | - YUV_420; - - OVERLAY_UPDATE(i810c->OverlayPhysical); -} - - -static KdVideoAdaptorPtr -i810SetupImageVideo(ScreenPtr pScreen) -{ - KdScreenPriv(pScreen); - KdScreenInfo *screen = pScreenPriv->screen; - KdCardInfo *card = pScreenPriv->card; - I810CardInfo *i810c = (I810CardInfo *) card->driver; - - - KdVideoAdaptorPtr adapt; - I810PortPrivPtr pPriv; - -/* fprintf(stderr,"i810SetupImageVideo\n"); */ - - if(!(adapt = xcalloc(1, sizeof(KdVideoAdaptorRec) + - sizeof(I810PortPrivRec) + - sizeof(DevUnion)))) - return NULL; - - adapt->type = XvWindowMask | XvInputMask | XvImageMask; - adapt->flags = VIDEO_OVERLAID_IMAGES | VIDEO_CLIP_TO_VIEWPORT; - adapt->name = "I810 Video Overlay"; - adapt->nEncodings = 1; - adapt->pEncodings = DummyEncoding; - adapt->nFormats = NUM_FORMATS; - adapt->pFormats = Formats; - adapt->nPorts = 1; - adapt->pPortPrivates = (DevUnion*)(&adapt[1]); - - pPriv = (I810PortPrivPtr)(&adapt->pPortPrivates[1]); - - adapt->pPortPrivates[0].ptr = (pointer)(pPriv); - adapt->pAttributes = Attributes; - adapt->nImages = NUM_IMAGES; - adapt->nAttributes = NUM_ATTRIBUTES; - adapt->pImages = Images; - adapt->PutVideo = NULL; - adapt->PutStill = NULL; - adapt->GetVideo = NULL; - adapt->GetStill = NULL; - adapt->StopVideo = i810StopVideo; - adapt->SetPortAttribute = i810SetPortAttribute; - adapt->GetPortAttribute = i810GetPortAttribute; - adapt->QueryBestSize = i810QueryBestSize; - adapt->PutImage = i810PutImage; - adapt->QueryImageAttributes = i810QueryImageAttributes; - - pPriv->colorKey = i810c->colorKey & ((1 << screen->fb[0].depth) - 1); - pPriv->videoStatus = 0; - pPriv->brightness = 0; - pPriv->contrast = 128; - pPriv->linear = NULL; - pPriv->currentBuf = 0; - - /* gotta uninit this someplace */ - REGION_INIT(pScreen, &pPriv->clip, NullBox, 0); - - i810c->adaptor = adapt; - - i810c->BlockHandler = pScreen->BlockHandler; - pScreen->BlockHandler = i810BlockHandler; - - xvBrightness = MAKE_ATOM("XV_BRIGHTNESS"); - xvContrast = MAKE_ATOM("XV_CONTRAST"); - xvColorKey = MAKE_ATOM("XV_COLORKEY"); - - i810ResetVideo(screen); - - return adapt; -} - - -/* I810ClipVideo - - - Takes the dst box in standard X BoxRec form (top and left - edges inclusive, bottom and right exclusive). The new dst - box is returned. The source boundaries are given (x1, y1 - inclusive, x2, y2 exclusive) and returned are the new source - boundaries in 16.16 fixed point. -*/ - -static void -I810ClipVideo( - BoxPtr dst, - INT32 *x1, - INT32 *x2, - INT32 *y1, - INT32 *y2, - BoxPtr extents, /* extents of the clip region */ - INT32 width, - INT32 height -){ - INT32 vscale, hscale, delta; - int diff; - - hscale = ((*x2 - *x1) << 16) / (dst->x2 - dst->x1); - vscale = ((*y2 - *y1) << 16) / (dst->y2 - dst->y1); - - *x1 <<= 16; *x2 <<= 16; - *y1 <<= 16; *y2 <<= 16; - - diff = extents->x1 - dst->x1; - if(diff > 0) { - dst->x1 = extents->x1; - *x1 += diff * hscale; - } - diff = dst->x2 - extents->x2; - if(diff > 0) { - dst->x2 = extents->x2; - *x2 -= diff * hscale; - } - diff = extents->y1 - dst->y1; - if(diff > 0) { - dst->y1 = extents->y1; - *y1 += diff * vscale; - } - diff = dst->y2 - extents->y2; - if(diff > 0) { - dst->y2 = extents->y2; - *y2 -= diff * vscale; - } - - if(*x1 < 0) { - diff = (- *x1 + hscale - 1)/ hscale; - dst->x1 += diff; - *x1 += diff * hscale; - } - delta = *x2 - (width << 16); - if(delta > 0) { - diff = (delta + hscale - 1)/ hscale; - dst->x2 -= diff; - *x2 -= diff * hscale; - } - if(*y1 < 0) { - diff = (- *y1 + vscale - 1)/ vscale; - dst->y1 += diff; - *y1 += diff * vscale; - } - delta = *y2 - (height << 16); - if(delta > 0) { - diff = (delta + vscale - 1)/ vscale; - dst->y2 -= diff; - *y2 -= diff * vscale; - } -} - -static void -i810StopVideo(KdScreenInfo *screen, pointer data, Bool exit) -{ - I810PortPrivPtr pPriv = (I810PortPrivPtr)data; - KdCardInfo *card = screen->card; - I810CardInfo *i810c = (I810CardInfo *) card->driver; - - I810OverlayRegPtr overlay = (I810OverlayRegPtr) (i810c->FbBase + i810c->OverlayStart); - - REGION_EMPTY(screen->pScreen, &pPriv->clip); - - if(exit) { - if(pPriv->videoStatus & CLIENT_VIDEO_ON) { - overlay->OV0CMD &= 0xFFFFFFFE; - OVERLAY_UPDATE(i810c->OverlayPhysical); - } - if(pPriv->linear) { - xfree(pPriv->linear); - pPriv->linear = NULL; - } - pPriv->videoStatus = 0; - } else { - if(pPriv->videoStatus & CLIENT_VIDEO_ON) { - pPriv->videoStatus |= OFF_TIMER; - pPriv->offTime = currentTime.milliseconds + OFF_DELAY; - } - } - -} - -static int -i810SetPortAttribute( - KdScreenInfo *screen, - Atom attribute, - int value, - pointer data -){ - I810PortPrivPtr pPriv = (I810PortPrivPtr)data; - KdCardInfo *card = screen->card; - I810CardInfo *i810c = (I810CardInfo *) card->driver; - - I810OverlayRegPtr overlay = (I810OverlayRegPtr) (i810c->FbBase + i810c->OverlayStart); - - if(attribute == xvBrightness) { - if((value < -128) || (value > 127)) - return BadValue; - pPriv->brightness = value; - overlay->OV0CLRC0 &= 0xFFFFFF00; - overlay->OV0CLRC0 |= value; - OVERLAY_UPDATE(i810c->OverlayPhysical); - } else - if(attribute == xvContrast) { - if((value < 0) || (value > 255)) - return BadValue; - pPriv->contrast = value; - overlay->OV0CLRC0 &= 0xFFFE00FF; - overlay->OV0CLRC0 |= value << 9; - OVERLAY_UPDATE(i810c->OverlayPhysical); - } else - if(attribute == xvColorKey) { - pPriv->colorKey = value; - switch(screen->fb[0].depth) { - case 16: overlay->DCLRKV = RGB16ToColorKey(pPriv->colorKey); - break; - case 15: overlay->DCLRKV = RGB15ToColorKey(pPriv->colorKey); - break; - default: overlay->DCLRKV = pPriv->colorKey; - break; - } - OVERLAY_UPDATE(i810c->OverlayPhysical); - REGION_EMPTY(screen->pScreen, &pPriv->clip); - } else return BadMatch; - - return Success; -} - -static int -i810GetPortAttribute( - KdScreenInfo *screen, - Atom attribute, - int *value, - pointer data -){ - I810PortPrivPtr pPriv = (I810PortPrivPtr)data; - - if(attribute == xvBrightness) { - *value = pPriv->brightness; - } else - if(attribute == xvContrast) { - *value = pPriv->contrast; - } else - if(attribute == xvColorKey) { - *value = pPriv->colorKey; - } else return BadMatch; - - return Success; -} - -static void -i810QueryBestSize( - KdScreenInfo *screen, - Bool motion, - short vid_w, short vid_h, - short drw_w, short drw_h, - unsigned int *p_w, unsigned int *p_h, - pointer data -){ - *p_w = drw_w; - *p_h = drw_h; -} - - -static void -I810CopyPackedData( - KdScreenInfo *screen, - unsigned char *buf, - int srcPitch, - int dstPitch, - int top, - int left, - int h, - int w - ) -{ - KdCardInfo *card = screen->card; - I810CardInfo *i810c = (I810CardInfo *) card->driver; - I810PortPrivPtr pPriv = i810c->adaptor->pPortPrivates[0].ptr; - unsigned char *src, *dst; - - src = buf + (top*srcPitch) + (left<<1); - - if (pPriv->currentBuf == 0) - dst = i810c->FbBase + pPriv->YBuf0offset; - else - dst = i810c->FbBase + pPriv->YBuf1offset; - - w <<= 1; - while(h--) { - memcpy(dst, src, w); - src += srcPitch; - dst += dstPitch; - } -} - -static void -i810CopyPlanarData( - KdScreenInfo *screen, - unsigned char *buf, - int srcPitch, - int dstPitch, /* of chroma */ - int srcH, - int top, - int left, - int h, - int w, - int id - ) -{ - KdCardInfo *card = screen->card; - I810CardInfo *i810c = (I810CardInfo *) card->driver; - I810PortPrivPtr pPriv = i810c->adaptor->pPortPrivates[0].ptr; - int i; - unsigned char *src1, *src2, *src3, *dst1, *dst2, *dst3; - - /* Copy Y data */ - src1 = buf + (top*srcPitch) + left; - if (pPriv->currentBuf == 0) - dst1 = i810c->FbBase + pPriv->YBuf0offset; - else - dst1 = i810c->FbBase + pPriv->YBuf1offset; - - for (i = 0; i < h; i++) { - memcpy(dst1, src1, w); - src1 += srcPitch; - dst1 += dstPitch << 1; - } - - /* Copy V data for YV12, or U data for I420 */ - src2 = buf + (srcH*srcPitch) + ((top*srcPitch)>>2) + (left>>1); - if (pPriv->currentBuf == 0) { - if (id == FOURCC_I420) - dst2 = i810c->FbBase + pPriv->UBuf0offset; - else - dst2 = i810c->FbBase + pPriv->VBuf0offset; - } else { - if (id == FOURCC_I420) - dst2 = i810c->FbBase + pPriv->UBuf1offset; - else - dst2 = i810c->FbBase + pPriv->VBuf1offset; - } - - for (i = 0; i < h/2; i++) { - memcpy(dst2, src2, w/2); - src2 += srcPitch>>1; - dst2 += dstPitch; - } - - /* Copy U data for YV12, or V data for I420 */ - src3 = buf + (srcH*srcPitch) + ((srcH*srcPitch)>>2) + ((top*srcPitch)>>2) + (left>>1); - if (pPriv->currentBuf == 0) { - if (id == FOURCC_I420) - dst3 = i810c->FbBase + pPriv->VBuf0offset; - else - dst3 = i810c->FbBase + pPriv->UBuf0offset; - } else { - if (id == FOURCC_I420) - dst3 = i810c->FbBase + pPriv->VBuf1offset; - else - dst3 = i810c->FbBase + pPriv->UBuf1offset; - } - - for (i = 0; i < h/2; i++) { - memcpy(dst3, src3, w/2); - src3 += srcPitch>>1; - dst3 += dstPitch; - } -} - -static void -i810DisplayVideo( - KdScreenInfo *screen, - int id, - short width, short height, - int dstPitch, /* of chroma for 4:2:0 */ - int x1, int y1, int x2, int y2, - BoxPtr dstBox, - short src_w, short src_h, - short drw_w, short drw_h -){ - KdCardInfo *card = screen->card; - I810CardInfo *i810c = (I810CardInfo *) card->driver; - I810PortPrivPtr pPriv = i810c->adaptor->pPortPrivates[0].ptr; - I810OverlayRegPtr overlay = (I810OverlayRegPtr) (i810c->FbBase + i810c->OverlayStart); - int xscaleInt, xscaleFract, yscaleInt, yscaleFract; - int xscaleIntUV = 0, xscaleFractUV = 0, yscaleIntUV = 0, yscaleFractUV = 0; - unsigned int swidth; - - switch(id) { - case FOURCC_YV12: - case FOURCC_I420: - swidth = (width + 7) & ~7; - overlay->SWID = (swidth << 15) | swidth; - overlay->SWIDQW = (swidth << 12) | (swidth >> 3); - break; - case FOURCC_UYVY: - case FOURCC_YUY2: - default: - swidth = ((width + 3) & ~3) << 1; - overlay->SWID = swidth; - overlay->SWIDQW = swidth >> 3; - break; - } - - overlay->SHEIGHT = height | (height << 15); - overlay->DWINPOS = (dstBox->y1 << 16) | dstBox->x1; - overlay->DWINSZ = ((dstBox->y2 - dstBox->y1) << 16) | - (dstBox->x2 - dstBox->x1); - - /* buffer locations */ - overlay->OBUF_0Y = pPriv->YBuf0offset; - overlay->OBUF_1Y = pPriv->YBuf1offset; - overlay->OBUF_0U = pPriv->UBuf0offset; - overlay->OBUF_0V = pPriv->VBuf0offset; - overlay->OBUF_1U = pPriv->UBuf1offset; - overlay->OBUF_1V = pPriv->VBuf1offset; - - /* - * Calculate horizontal and vertical scaling factors, default to 1:1 - */ - overlay->YRGBSCALE = 0x80004000; - overlay->UVSCALE = 0x80004000; - - /* - * Initially, YCbCr and Overlay Enable and - * vertical chrominance up interpolation and horozontal chrominance - * up interpolation - */ - overlay->OV0CMD = VC_UP_INTERPOLATION | HC_UP_INTERPOLATION | Y_ADJUST | - OVERLAY_ENABLE; - - if ((drw_w != src_w) || (drw_h != src_h)) - { - xscaleInt = (src_w / drw_w) & 0x3; - xscaleFract = (src_w << 12) / drw_w; - yscaleInt = (src_h / drw_h) & 0x3; - yscaleFract = (src_h << 12) / drw_h; - - overlay->YRGBSCALE = (xscaleInt << 15) | - ((xscaleFract & 0xFFF) << 3) | - (yscaleInt) | - ((yscaleFract & 0xFFF) << 20); - - if (drw_w > src_w) - { - /* horizontal up-scaling */ - overlay->OV0CMD &= ~HORIZONTAL_CHROMINANCE_FILTER; - overlay->OV0CMD &= ~HORIZONTAL_LUMINANCE_FILTER; - overlay->OV0CMD |= (HC_UP_INTERPOLATION | HL_UP_INTERPOLATION); - } - - if (drw_h > src_h) - { - /* vertical up-scaling */ - overlay->OV0CMD &= ~VERTICAL_CHROMINANCE_FILTER; - overlay->OV0CMD &= ~VERTICAL_LUMINANCE_FILTER; - overlay->OV0CMD |= (VC_UP_INTERPOLATION | VL_UP_INTERPOLATION); - } - - if (drw_w < src_w) - { - /* horizontal down-scaling */ - overlay->OV0CMD &= ~HORIZONTAL_CHROMINANCE_FILTER; - overlay->OV0CMD &= ~HORIZONTAL_LUMINANCE_FILTER; - overlay->OV0CMD |= (HC_DOWN_INTERPOLATION | HL_DOWN_INTERPOLATION); - } - - if (drw_h < src_h) - { - /* vertical down-scaling */ - overlay->OV0CMD &= ~VERTICAL_CHROMINANCE_FILTER; - overlay->OV0CMD &= ~VERTICAL_LUMINANCE_FILTER; - overlay->OV0CMD |= (VC_DOWN_INTERPOLATION | VL_DOWN_INTERPOLATION); - } - - /* now calculate the UV scaling factor */ - - if (xscaleFract) - { - xscaleFractUV = xscaleFract >> MINUV_SCALE; - overlay->OV0CMD &= ~HC_DOWN_INTERPOLATION; - overlay->OV0CMD |= HC_UP_INTERPOLATION; - } - - if (xscaleInt) - { - xscaleIntUV = xscaleInt >> MINUV_SCALE; - if (xscaleIntUV) - { - overlay->OV0CMD &= ~HC_UP_INTERPOLATION; - } - } - - if (yscaleFract) - { - yscaleFractUV = yscaleFract >> MINUV_SCALE; - overlay->OV0CMD &= ~VC_DOWN_INTERPOLATION; - overlay->OV0CMD |= VC_UP_INTERPOLATION; - } - - if (yscaleInt) - { - yscaleIntUV = yscaleInt >> MINUV_SCALE; - if (yscaleIntUV) - { - overlay->OV0CMD &= ~VC_UP_INTERPOLATION; - overlay->OV0CMD |= VC_DOWN_INTERPOLATION; - } - } - - overlay->UVSCALE = yscaleIntUV | ((xscaleFractUV & 0xFFF) << 3) | - ((yscaleFractUV & 0xFFF) << 20); - } - - switch(id) { - case FOURCC_YV12: - case FOURCC_I420: - overlay->OV0STRIDE = (dstPitch << 1) | (dstPitch << 16); - overlay->OV0CMD &= ~SOURCE_FORMAT; - overlay->OV0CMD |= YUV_420; - break; - case FOURCC_UYVY: - case FOURCC_YUY2: - default: - overlay->OV0STRIDE = dstPitch; - overlay->OV0CMD &= ~SOURCE_FORMAT; - overlay->OV0CMD |= YUV_422; - overlay->OV0CMD &= ~OV_BYTE_ORDER; - if (id == FOURCC_UYVY) - overlay->OV0CMD |= Y_SWAP; - break; - } - - overlay->OV0CMD &= ~BUFFER_AND_FIELD; - if (pPriv->currentBuf == 0) - overlay->OV0CMD |= BUFFER0_FIELD0; - else - overlay->OV0CMD |= BUFFER1_FIELD0; - - OVERLAY_UPDATE(i810c->OverlayPhysical); - -} - -static FBLinearPtr -i810AllocateMemory( - KdScreenInfo *screen, - FBLinearPtr linear, - int size -){ - KdCardInfo *card=screen->card; - I810CardInfo *i810c = (I810CardInfo *) card->driver; - FBLinearPtr new_linear; - - if(linear) { - if(linear->size >= size) - return linear; - else - ErrorF("Ran out of memory for overlay buffer, requested size = %d\n",size); - } - - new_linear = xalloc(sizeof(FBLinearRec)); - new_linear->size = i810c->XvMem.Size; - new_linear->offset = i810c->XvMem.Start; - -/* fprintf(stderr,"Overlay mem offset %lx\n",new_linear->offset); */ - - return new_linear; -} - -static int -i810PutImage(KdScreenInfo *screen, - DrawablePtr pDraw, - short src_x, - short src_y, - short drw_x, - short drw_y, - short src_w, - short src_h, - short drw_w, - short drw_h, - int id, - unsigned char *buf, - short width, - short height, - Bool sync, - RegionPtr clipBoxes, - pointer data) -{ - KdCardInfo *card = screen->card; - I810CardInfo *i810c = (I810CardInfo *) card->driver; - I810PortPrivPtr pPriv = (I810PortPrivPtr)data; - INT32 x1, x2, y1, y2; - int srcPitch, dstPitch; - int top, left, npixels, nlines, size; - BoxRec dstBox; - - /* Clip */ - x1 = src_x; - x2 = src_x + src_w; - y1 = src_y; - y2 = src_y + src_h; - - dstBox.x1 = drw_x; - dstBox.x2 = drw_x + drw_w; - dstBox.y1 = drw_y; - dstBox.y2 = drw_y + drw_h; - - I810ClipVideo(&dstBox, &x1, &x2, &y1, &y2, - REGION_EXTENTS(pScreen, clipBoxes), width, height); - - if((x1 >= x2) || (y1 >= y2)) - return Success; - - switch(id) { - case FOURCC_YV12: - case FOURCC_I420: - srcPitch = (width + 3) & ~3; - dstPitch = ((width >> 1) + 7) & ~7; /* of chroma */ - size = dstPitch * height * 3; - break; - case FOURCC_UYVY: - case FOURCC_YUY2: - default: - srcPitch = (width << 1); - dstPitch = (srcPitch + 7) & ~7; - size = dstPitch * height; - break; - } - - if(!(pPriv->linear = i810AllocateMemory(screen, pPriv->linear, - (screen->fb[0].bitsPerPixel == 16) ? size : (size >> 1)))) - return BadAlloc; - - /* fixup pointers */ - pPriv->YBuf0offset = pPriv->linear->offset; - pPriv->UBuf0offset = pPriv->YBuf0offset + (dstPitch * 2 * height); - pPriv->VBuf0offset = pPriv->UBuf0offset + (dstPitch * height >> 1); - - pPriv->YBuf1offset = pPriv->linear->offset + size; - pPriv->UBuf1offset = pPriv->YBuf1offset + (dstPitch * 2 * height); - pPriv->VBuf1offset = pPriv->UBuf1offset + (dstPitch * height >> 1); - - /* wait for the last rendered buffer to be flipped in */ - while (((INREG(DOV0STA)&0x00100000)>>20) != pPriv->currentBuf); - - /* buffer swap */ - if (pPriv->currentBuf == 0) - pPriv->currentBuf = 1; - else - pPriv->currentBuf = 0; - - /* copy data */ - top = y1 >> 16; - left = (x1 >> 16) & ~1; - npixels = ((((x2 + 0xffff) >> 16) + 1) & ~1) - left; - - switch(id) { - case FOURCC_YV12: - case FOURCC_I420: - top &= ~1; - nlines = ((((y2 + 0xffff) >> 16) + 1) & ~1) - top; - i810CopyPlanarData(screen, buf, srcPitch, dstPitch, height, top, left, - nlines, npixels, id); - break; - case FOURCC_UYVY: - case FOURCC_YUY2: - default: - nlines = ((y2 + 0xffff) >> 16) - top; - I810CopyPackedData(screen, buf, srcPitch, dstPitch, top, left, nlines, - npixels); - break; - } - - /* update cliplist */ - if(!REGION_EQUAL(screen->pScreen, &pPriv->clip, clipBoxes)) { - REGION_COPY(screen->pScreen, &pPriv->clip, clipBoxes); - KXVPaintRegion (pDraw, &pPriv->clip, pPriv->colorKey); - } - - - i810DisplayVideo(screen, id, width, height, dstPitch, - x1, y1, x2, y2, &dstBox, src_w, src_h, drw_w, drw_h); - - pPriv->videoStatus = CLIENT_VIDEO_ON; - - return Success; -} - - -static int -i810QueryImageAttributes( - KdScreenInfo *screen, - int id, - unsigned short *w, unsigned short *h, - int *pitches, int *offsets -){ - int size, tmp; - - if(*w > 720) *w = 720; - if(*h > 576) *h = 576; - - *w = (*w + 1) & ~1; - if(offsets) offsets[0] = 0; - - switch(id) { - case FOURCC_YV12: - case FOURCC_I420: - *h = (*h + 1) & ~1; - size = (*w + 3) & ~3; - if(pitches) pitches[0] = size; - size *= *h; - if(offsets) offsets[1] = size; - tmp = ((*w >> 1) + 3) & ~3; - if(pitches) pitches[1] = pitches[2] = tmp; - tmp *= (*h >> 1); - size += tmp; - if(offsets) offsets[2] = size; - size += tmp; - break; - case FOURCC_UYVY: - case FOURCC_YUY2: - default: - size = *w << 1; - if(pitches) pitches[0] = size; - size *= *h; - break; - } - - return size; -} - -static void -i810BlockHandler ( - int i, - pointer blockData, - pointer pTimeout, - pointer pReadmask -){ - ScreenPtr pScreen = screenInfo.screens[i]; - KdScreenPriv(pScreen); - KdScreenInfo *screen = pScreenPriv->screen; - KdCardInfo *card = screen->card; - I810CardInfo *i810c = (I810CardInfo *) card->driver; - I810PortPrivPtr pPriv = GET_PORT_PRIVATE(screen); - I810OverlayRegPtr overlay = (I810OverlayRegPtr) (i810c->FbBase + i810c->OverlayStart); - - pScreen->BlockHandler = i810c->BlockHandler; - - (*pScreen->BlockHandler) (i, blockData, pTimeout, pReadmask); - - pScreen->BlockHandler = i810BlockHandler; - - if(pPriv->videoStatus & TIMER_MASK) { - UpdateCurrentTime(); - if(pPriv->videoStatus & OFF_TIMER) { - if(pPriv->offTime < currentTime.milliseconds) { - /* Turn off the overlay */ - overlay->OV0CMD &= 0xFFFFFFFE; - OVERLAY_UPDATE(i810c->OverlayPhysical); - - pPriv->videoStatus = FREE_TIMER; - pPriv->freeTime = currentTime.milliseconds + FREE_DELAY; - } - } else { /* FREE_TIMER */ - if(pPriv->freeTime < currentTime.milliseconds) { - if(pPriv->linear) { - xfree(pPriv->linear); - pPriv->linear = NULL; - } - pPriv->videoStatus = 0; - } - } - } -} diff --git a/xorg-server/hw/kdrive/i810/i810draw.c b/xorg-server/hw/kdrive/i810/i810draw.c deleted file mode 100644 index b571efbe0..000000000 --- a/xorg-server/hw/kdrive/i810/i810draw.c +++ /dev/null @@ -1,352 +0,0 @@ -/* COPYRIGHT AND PERMISSION NOTICE - -Copyright (c) 2000, 2001 Nokia Home Communications - -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. - -X Window System is a trademark of The Open Group */ - -/* Hardware accelerated drawing for KDrive i810 driver. - Author: Pontus Lidman -*/ - -#ifdef HAVE_CONFIG_H -#include -#endif -#include "kdrive.h" -#include "kaa.h" -#ifdef XV -#include "kxv.h" -#endif -#include "i810.h" -#include "i810_reg.h" - -//#include "Xmd.h" -#include "gcstruct.h" -#include "scrnintstr.h" -#include "pixmapstr.h" -#include "regionstr.h" -#include "mistruct.h" -#include "dixfontstr.h" -#include "fb.h" -#include "migc.h" -#include "miline.h" -#include "picturestr.h" - -#define NUM_STACK_RECTS 1024 - -i810ScreenInfo *accel_i810s; - -static int -i810WaitLpRing(i810ScreenInfo *i810s, int n, int timeout_millis) -{ - i810CardInfo *i810c = i810s->i810c; - I810RingBuffer *ring = &(i810c->LpRing); - int iters = 0; - int start = 0; - int now = 0; - int last_head = 0; - int first = 0; - - /* If your system hasn't moved the head pointer in 2 seconds, I'm going to - * call it crashed. - */ - if (timeout_millis == 0) - timeout_millis = 2000; - - if (I810_DEBUG) { - fprintf(stderr, "i810WaitLpRing %d\n", n); - first = GetTimeInMillis(); - } - - while (ring->space < n) - { - int i; - - ring->head = INREG(LP_RING + RING_HEAD) & HEAD_ADDR; - ring->space = ring->head - (ring->tail+8); - - if (ring->space < 0) - ring->space += ring->mem.Size; - - iters++; - now = GetTimeInMillis(); - if ( start == 0 || now < start || ring->head != last_head) { - if (I810_DEBUG) - if (now > start) - fprintf(stderr, "space: %d wanted %d\n", ring->space, n ); - start = now; - last_head = ring->head; - } else if ( now - start > timeout_millis ) { - - i810PrintErrorState(i810c); - fprintf(stderr, "space: %d wanted %d\n", ring->space, n ); - FatalError("lockup\n"); - } - - for (i = 0 ; i < 2000 ; i++) - ; - } - - if (I810_DEBUG) - { - now = GetTimeInMillis(); - if (now - first) { - fprintf(stderr,"Elapsed %d ms\n", now - first); - fprintf(stderr, "space: %d wanted %d\n", ring->space, n ); - } - } - - return iters; -} - -static void -i810Sync(i810ScreenInfo *i810s) -{ - i810CardInfo *i810c = i810s->i810c; - LP_RING_LOCALS; - - if (I810_DEBUG) - fprintf(stderr, "i810Sync\n"); - - /* Send a flush instruction and then wait till the ring is empty. - * This is stronger than waiting for the blitter to finish as it also - * flushes the internal graphics caches. - */ - BEGIN_LP_RING(2); - OUT_RING( INST_PARSER_CLIENT | INST_OP_FLUSH | INST_FLUSH_MAP_CACHE ); - OUT_RING( 0 ); /* pad to quadword */ - ADVANCE_LP_RING(); - - i810WaitLpRing(i810s, i810c->LpRing.mem.Size - 8, 0); - - i810c->LpRing.space = i810c->LpRing.mem.Size - 8; - i810c->nextColorExpandBuf = 0; -} - -static void -i810WaitMarker(ScreenPtr pScreen, int marker) -{ - KdScreenPriv(pScreen); - i810ScreenInfo(pScreenPriv); - - i810Sync(i810s); -} - -#if 0 -static void -i810EmitInvarientState(ScreenPtr pScreen) -{ - KdScreenPriv(pScreen); - i810CardInfo(pScreenPriv); - i810ScreenInfo(pScreenPriv); - LP_RING_LOCALS; - - BEGIN_LP_RING( 10 ); - - OUT_RING( INST_PARSER_CLIENT | INST_OP_FLUSH | INST_FLUSH_MAP_CACHE ); - OUT_RING( GFX_CMD_CONTEXT_SEL | CS_UPDATE_USE | CS_USE_CTX0 ); - OUT_RING( INST_PARSER_CLIENT | INST_OP_FLUSH | INST_FLUSH_MAP_CACHE); - OUT_RING( 0 ); - - - OUT_RING( GFX_OP_COLOR_CHROMA_KEY ); - OUT_RING( CC1_UPDATE_KILL_WRITE | - CC1_DISABLE_KILL_WRITE | - CC1_UPDATE_COLOR_IDX | - CC1_UPDATE_CHROMA_LOW | - CC1_UPDATE_CHROMA_HI | - 0); - OUT_RING( 0 ); - OUT_RING( 0 ); - - /* No depth buffer in KDrive yet */ - /* OUT_RING( CMD_OP_Z_BUFFER_INFO ); */ - /* OUT_RING( pI810->DepthBuffer.Start | pI810->auxPitchBits); */ - - ADVANCE_LP_RING(); -} -#endif - -static unsigned int i810PatternRop[16] = { - 0x00, /* GXclear */ - 0xA0, /* GXand */ - 0x50, /* GXandReverse */ - 0xF0, /* GXcopy */ - 0x0A, /* GXandInvert */ - 0xAA, /* GXnoop */ - 0x5A, /* GXxor */ - 0xFA, /* GXor */ - 0x05, /* GXnor */ - 0xA5, /* GXequiv */ - 0x55, /* GXinvert */ - 0xF5, /* GXorReverse */ - 0x0F, /* GXcopyInvert */ - 0xAF, /* GXorInverted */ - 0x5F, /* GXnand */ - 0xFF /* GXset */ -}; - -static Bool -i810PrepareSolid(PixmapPtr pPix, int alu, Pixel pm, Pixel fg) -{ - KdScreenPriv(pPix->drawable.pScreen); - i810ScreenInfo(pScreenPriv); - i810CardInfo(pScreenPriv); - - if (I810_DEBUG & DEBUG_VERBOSE_ACCEL) - ErrorF( "i810PrepareSolid color: %x rop: %x mask: %x\n", - fg, alu, pm); - - /* Color blit, p166 */ - i810c->BR[13] = BR13_SOLID_PATTERN | - (i810PatternRop[alu] << 16) | - (pPix->drawable.pScreen->width * i810c->cpp); - i810c->BR[16] = fg; - - accel_i810s = i810s; - - return TRUE; -} - -static void -i810Solid(int x1, int y1, int x2, int y2) -{ - I810ScreenInfo *i810s = accel_i810s; - I810CardInfo *i810c = i810s->i810c; - LP_RING_LOCALS; - - if (I810_DEBUG & DEBUG_VERBOSE_ACCEL) - ErrorF( "i810SubsequentFillRectSolid %d,%d %d,%d\n", x1, y1, x2, y2); - - BEGIN_LP_RING(6); - - OUT_RING( BR00_BITBLT_CLIENT | BR00_OP_COLOR_BLT | 0x3 ); - OUT_RING( i810c->BR[13] ); - OUT_RING( ((y2 - y1) << 16) | ((x2 - x1) * i810c->cpp)); - OUT_RING( i810c->bufferOffset + y1 * i810s->pitch + x1 * i810c->cpp ); - - OUT_RING( i810c->BR[16]); - OUT_RING( 0 ); /* pad to quadword */ - - ADVANCE_LP_RING(); -} - -static void -i810DoneSolid(void) -{ -} - -static Bool -i810PrepareCopy(PixmapPtr pSrc, PixmapPtr pDst, int dx, int dy, int alu, Pixel pm) -{ - return FALSE; -} - -static void -i810RefreshRing(i810CardInfo *i810c) -{ - i810c->LpRing.head = INREG(LP_RING + RING_HEAD) & HEAD_ADDR; - i810c->LpRing.tail = INREG(LP_RING + RING_TAIL); - i810c->LpRing.space = i810c->LpRing.head - (i810c->LpRing.tail+8); - if (i810c->LpRing.space < 0) - i810c->LpRing.space += i810c->LpRing.mem.Size; -} - - -static void -i810SetRingRegs(i810CardInfo *i810c) -{ - unsigned int itemp; - - OUTREG(LP_RING + RING_TAIL, 0 ); - OUTREG(LP_RING + RING_HEAD, 0 ); - - itemp = INREG(LP_RING + RING_START); - itemp &= ~(START_ADDR); - itemp |= i810c->LpRing.mem.Start; - OUTREG(LP_RING + RING_START, itemp ); - - itemp = INREG(LP_RING + RING_LEN); - itemp &= ~(RING_NR_PAGES | RING_REPORT_MASK | RING_VALID_MASK); - itemp |= ((i810c->LpRing.mem.Size-4096) | RING_NO_REPORT | RING_VALID); - OUTREG(LP_RING + RING_LEN, itemp ); -} - -Bool -i810InitAccel(ScreenPtr pScreen) -{ - KdScreenPriv(pScreen); - i810ScreenInfo(pScreenPriv); - i810CardInfo(pScreenPriv); - - memset(&i810s->kaa, 0, sizeof(KaaScreenInfoRec)); - i810s->kaa.waitMarker = i810WaitMarker; - i810s->kaa.PrepareSolid = i810PrepareSolid; - i810s->kaa.Solid = i810Solid; - i810s->kaa.DoneSolid = i810DoneSolid; - i810s->kaa.PrepareCopy = i810PrepareCopy; - i810s->kaa.Copy = NULL; - i810s->kaa.DoneCopy = NULL; - - i810s->pitch = pScreen->width * i810c->cpp; - - return FALSE; -} - -void -i810EnableAccel(ScreenPtr pScreen) -{ - KdScreenPriv(pScreen); - i810CardInfo(pScreenPriv); - - if (i810c->LpRing.mem.Size == 0) { - ErrorF("No memory for LpRing!! Acceleration not functional!!\n"); - } - - i810SetRingRegs(i810c); - - kaaMarkSync (pScreen); -} - - -void -i810DisableAccel(ScreenPtr pScreen) -{ - KdScreenPriv(pScreen); - i810CardInfo(pScreenPriv); - i810ScreenInfo(pScreenPriv); - - i810RefreshRing(i810c); - i810Sync(i810s); -} - -void -i810FiniAccel(ScreenPtr pScreen) -{ -} diff --git a/xorg-server/hw/kdrive/i810/i810draw.h b/xorg-server/hw/kdrive/i810/i810draw.h deleted file mode 100644 index 7c8c04489..000000000 --- a/xorg-server/hw/kdrive/i810/i810draw.h +++ /dev/null @@ -1,46 +0,0 @@ -/* COPYRIGHT AND PERMISSION NOTICE - -Copyright (c) 2000, 2001 Nokia Home Communications - -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. - -X Window System is a trademark of The Open Group */ - -/* Hardware accelerated drawing for KDrive i810 driver, header file. - Author: Pontus Lidman -*/ - - -#ifndef _I810DRAW_H_ -#define _I810DRAW_H_ - -void i810RefreshRing(KdScreenInfo *screen); -int i810WaitLpRing( KdScreenInfo *screen, int n, int timeout_millis ); -void i810Sync( KdScreenInfo *screen ); - -#endif /* _I810DRAW_H_ */ diff --git a/xorg-server/hw/kdrive/i810/i810stub.c b/xorg-server/hw/kdrive/i810/i810stub.c deleted file mode 100644 index 3109984e0..000000000 --- a/xorg-server/hw/kdrive/i810/i810stub.c +++ /dev/null @@ -1,92 +0,0 @@ -/* COPYRIGHT AND PERMISSION NOTICE - -Copyright (c) 2000, 2001 Nokia Home Communications - -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. - -X Window System is a trademark of The Open Group */ - -/* Stub functions for the i810 KDrive driver - Author: Pontus Lidman -*/ - -#ifdef HAVE_CONFIG_H -#include -#endif -#include "kdrive.h" -#include "kxv.h" -#include "i810.h" -#include "klinux.h" - -static const int i810Cards[]={ - PCI_CHIP_I810, - PCI_CHIP_I810_DC100, - PCI_CHIP_I810_E -}; - -#define numI810Cards (sizeof(i810Cards) / sizeof(i810Cards[0])) - -void -InitCard (char *name) -{ - KdCardAttr attr; - int i; - - for (i = 0; i < numI810Cards; i++) - if (LinuxFindPci (0x8086, i810Cards[i], 0, &attr)) - KdCardInfoAdd (&i810Funcs, &attr, (void *) i810Cards[i]); -} - - -void -InitOutput (ScreenInfo *pScreenInfo, int argc, char **argv) -{ - KdInitOutput (pScreenInfo, argc, argv); -} - -void -InitInput (int argc, char **argv) -{ - KdOsAddInputDrivers (); - KdInitInput (); -} - -void -ddxUseMsg (void) -{ - KdUseMsg(); -} - -int -ddxProcessArgument (int argc, char **argv, int i) -{ - int ret; - - ret = KdProcessArgument(argc, argv, i); - return ret; -} diff --git a/xorg-server/hw/kdrive/linux/Makefile.am b/xorg-server/hw/kdrive/linux/Makefile.am index e13d08312..6380bd5ab 100644 --- a/xorg-server/hw/kdrive/linux/Makefile.am +++ b/xorg-server/hw/kdrive/linux/Makefile.am @@ -10,10 +10,6 @@ if TSLIB TSLIB_C = tslib.c endif -if H3600_TS -TS_C = ts.c -endif - if KDRIVE_HW KDRIVE_HW_SOURCES = \ agp.c \ @@ -30,5 +26,4 @@ liblinux_a_SOURCES = \ ms.c \ ps2.c \ $(KDRIVE_HW_SOURCES) \ - $(TSLIB_C) \ - $(TS_C) + $(TSLIB_C) diff --git a/xorg-server/hw/kdrive/linux/Makefile.in b/xorg-server/hw/kdrive/linux/Makefile.in index 331f45ec7..7615299c3 100644 --- a/xorg-server/hw/kdrive/linux/Makefile.in +++ b/xorg-server/hw/kdrive/linux/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -43,7 +43,6 @@ 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 \ @@ -54,23 +53,18 @@ ARFLAGS = cru liblinux_a_AR = $(AR) $(ARFLAGS) liblinux_a_LIBADD = am__liblinux_a_SOURCES_DIST = bus.c klinux.h mouse.c ms.c ps2.c agp.c \ - agp.h evdev.c keyboard.c linux.c tslib.c ts.c + agp.h evdev.c keyboard.c linux.c tslib.c @KDRIVE_HW_TRUE@am__objects_1 = agp.$(OBJEXT) evdev.$(OBJEXT) \ @KDRIVE_HW_TRUE@ keyboard.$(OBJEXT) linux.$(OBJEXT) @TSLIB_TRUE@am__objects_2 = tslib.$(OBJEXT) -@H3600_TS_TRUE@am__objects_3 = ts.$(OBJEXT) am_liblinux_a_OBJECTS = bus.$(OBJEXT) mouse.$(OBJEXT) ms.$(OBJEXT) \ - ps2.$(OBJEXT) $(am__objects_1) $(am__objects_2) \ - $(am__objects_3) + ps2.$(OBJEXT) $(am__objects_1) $(am__objects_2) liblinux_a_OBJECTS = $(am_liblinux_a_OBJECTS) DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include 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) \ @@ -85,8 +79,9 @@ ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ -APPDEFAULTDIR = @APPDEFAULTDIR@ APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +APPLE_APPLICATION_ID = @APPLE_APPLICATION_ID@ +APPLE_APPLICATION_NAME = @APPLE_APPLICATION_NAME@ APP_MAN_DIR = @APP_MAN_DIR@ APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ AR = @AR@ @@ -107,10 +102,6 @@ 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@ @@ -132,6 +123,7 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOLT_BASH = @DOLT_BASH@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ @@ -141,18 +133,15 @@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ DSYMUTIL = @DSYMUTIL@ DTRACE = @DTRACE@ -ECHO = @ECHO@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ -FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ -FREETYPE_LIBS = @FREETYPE_LIBS@ GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ GLX_DEFINES = @GLX_DEFINES@ GL_CFLAGS = @GL_CFLAGS@ @@ -171,7 +160,7 @@ KDRIVE_LIBS = @KDRIVE_LIBS@ KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ -LAUNCHD = @LAUNCHD@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ LEX = @LEX@ @@ -185,7 +174,10 @@ LIBTOOL = @LIBTOOL@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LINUXDOC = @LINUXDOC@ +LIPO = @LIPO@ LN_S = @LN_S@ +LTCOMPILE = @LTCOMPILE@ +LTCXXCOMPILE = @LTCXXCOMPILE@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ @@ -197,8 +189,7 @@ MESA_SOURCE = @MESA_SOURCE@ MISC_MAN_DIR = @MISC_MAN_DIR@ MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ MKDIR_P = @MKDIR_P@ -MKFONTDIR = @MKFONTDIR@ -MKFONTSCALE = @MKFONTSCALE@ +NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCCLD = @OBJCCLD@ @@ -207,8 +198,8 @@ OBJCFLAGS = @OBJCFLAGS@ OBJCLINK = @OBJCLINK@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ @@ -241,7 +232,6 @@ VENDOR_NAME = @VENDOR_NAME@ VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ VENDOR_RELEASE = @VENDOR_RELEASE@ VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ XDMCP_CFLAGS = @XDMCP_CFLAGS@ @@ -251,27 +241,12 @@ XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@ XDMX_CFLAGS = @XDMX_CFLAGS@ XDMX_LIBS = @XDMX_LIBS@ XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ XEPHYR_INCS = @XEPHYR_INCS@ XEPHYR_LIBS = @XEPHYR_LIBS@ 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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ @@ -282,10 +257,6 @@ XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ XNEST_LIBS = @XNEST_LIBS@ XNEST_SYS_LIBS = @XNEST_SYS_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_INCS = @XORG_INCS@ XORG_LIBS = @XORG_LIBS@ @@ -294,13 +265,8 @@ XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ XORG_OS = @XORG_OS@ XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_LIBS@ +XPBPROXY_CFLAGS = @XPBPROXY_CFLAGS@ +XPBPROXY_LIBS = @XPBPROXY_LIBS@ XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ XSDL_INCS = @XSDL_INCS@ @@ -333,8 +299,7 @@ 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@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -354,7 +319,6 @@ driverdir = @driverdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ extdir = @extdir@ -ft_config = @ft_config@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ @@ -364,12 +328,12 @@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ -launchagentsdir = @launchagentsdir@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ logdir = @logdir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ moduledir = @moduledir@ @@ -387,8 +351,6 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ INCLUDES = \ @KDRIVE_INCS@ \ @KDRIVE_CFLAGS@ @@ -396,7 +358,6 @@ INCLUDES = \ AM_CFLAGS = -DHAVE_DIX_CONFIG_H noinst_LIBRARIES = liblinux.a @TSLIB_TRUE@TSLIB_C = tslib.c -@H3600_TS_TRUE@TS_C = ts.c @KDRIVE_HW_TRUE@KDRIVE_HW_SOURCES = \ @KDRIVE_HW_TRUE@ agp.c \ @KDRIVE_HW_TRUE@ agp.h \ @@ -411,8 +372,7 @@ liblinux_a_SOURCES = \ ms.c \ ps2.c \ $(KDRIVE_HW_SOURCES) \ - $(TSLIB_C) \ - $(TS_C) + $(TSLIB_C) all: all-am @@ -422,8 +382,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ @@ -469,7 +429,6 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mouse.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ms.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ps2.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ts.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tslib.Po@am__quote@ .c.o: @@ -504,7 +463,7 @@ ID: $(HEADERS) $(SOURCES) $(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; nonemtpy = 1; } \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS diff --git a/xorg-server/hw/kdrive/linux/evdev.c b/xorg-server/hw/kdrive/linux/evdev.c index 2eaa1e332..4ccd82239 100644 --- a/xorg-server/hw/kdrive/linux/evdev.c +++ b/xorg-server/hw/kdrive/linux/evdev.c @@ -251,13 +251,12 @@ EvdevPtrEnable (KdPointerInfo *pi) close (fd); return BadMatch; } - ke = xalloc (sizeof (Kevdev)); + ke = xcalloc (1, 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)), @@ -440,12 +439,11 @@ EvdevKbdEnable (KdKeyboardInfo *ki) return BadMatch; } - ke = xalloc (sizeof (Kevdev)); + ke = xcalloc (1, sizeof (Kevdev)); if (!ke) { close (fd); return BadAlloc; } - memset (ke, '\0', sizeof (Kevdev)); if (!KdRegisterFd (fd, EvdevKbdRead, ki)) { xfree (ke); diff --git a/xorg-server/hw/kdrive/linux/keyboard.c b/xorg-server/hw/kdrive/linux/keyboard.c index 3193ab761..ae981b776 100644 --- a/xorg-server/hw/kdrive/linux/keyboard.c +++ b/xorg-server/hw/kdrive/linux/keyboard.c @@ -42,6 +42,8 @@ #include extern int LinuxConsoleFd; +static unsigned char mediumraw_data, mediumraw_up; +static enum { DEFAULT, EXTBYTE1, EXTBYTE2 } mediumraw_state = DEFAULT; static const KeySym linux_to_x[256] = { NoSymbol, NoSymbol, NoSymbol, NoSymbol, @@ -701,7 +703,29 @@ LinuxKeyboardRead (int fd, void *closure) else #endif scancode = b[0] & 0x7f; - KdEnqueueKeyboardEvent (closure, scancode, b[0] & 0x80); + /* This is extended medium raw mode interpreter + see linux/drivers/keyboard.c (kbd->kbdmode == VC_MEDIUMRAW) */ + switch (mediumraw_state) + { + case DEFAULT: + if (scancode == 0) + { + mediumraw_state = EXTBYTE1; + mediumraw_up = b[0] & 0x80; + } + else + KdEnqueueKeyboardEvent (closure, scancode, b[0] & 0x80); + break; + case EXTBYTE1: + mediumraw_data = scancode; + mediumraw_state = EXTBYTE2; + break; + case EXTBYTE2: + /* Note: Only codes < 256 will pass correctly through KdEnqueueKeyboardEvent() */ + KdEnqueueKeyboardEvent (closure, (int)mediumraw_data << 7 | scancode, mediumraw_up); + mediumraw_state = DEFAULT; + break; + } b++; } } diff --git a/xorg-server/hw/kdrive/linux/ts.c b/xorg-server/hw/kdrive/linux/ts.c deleted file mode 100644 index 831953f02..000000000 --- a/xorg-server/hw/kdrive/linux/ts.c +++ /dev/null @@ -1,209 +0,0 @@ -/* - * Derived from ps2.c by Jim Gettys - * - * Copyright © 1999 Keith Packard - * Copyright © 2000 Compaq 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 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. - */ - -#ifdef HAVE_CONFIG_H -#include -#endif -#define NEED_EVENTS -#include -#include -#include -#include "inputstr.h" -#include "scrnintstr.h" -#include "kdrive.h" -#include -#include /* touch screen events */ - -static long lastx = 0, lasty = 0; - -int KdTsPhyScreen = 0; - -static int -TsReadBytes (int fd, char *buf, int len, int min) -{ - int n, tot; - fd_set set; - struct timeval tv; - - tot = 0; - while (len) - { - n = read (fd, buf, len); - if (n > 0) - { - tot += n; - buf += n; - len -= n; - } - if (tot % min == 0) - break; - FD_ZERO (&set); - FD_SET (fd, &set); - tv.tv_sec = 0; - tv.tv_usec = 100 * 1000; - n = select (fd + 1, &set, 0, 0, &tv); - if (n <= 0) - break; - } - return tot; -} - -static void -TsRead (int tsPort, void *closure) -{ - KdPointerInfo *pi = closure; - TS_EVENT event; - int n; - long x, y; - unsigned long flags; - - n = TsReadBytes (tsPort, (char *) &event, sizeof (event), sizeof (event)); - if (n == sizeof (event)) - { - if (event.pressure) - { - /* - * HACK ATTACK. (static global variables used !) - * 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 == KdTsPhyScreen) { - flags = KD_BUTTON_1; - x = event.x; - y = event.y; - } - else - { - flags = /* KD_BUTTON_1 |*/ KD_MOUSE_DELTA; - if ((lastx == 0) || (lasty == 0)) { - x = 0; - y = 0; - } else { - x = event.x - lastx; - y = event.y - lasty; - } - lastx = event.x; - lasty = event.y; - } - } else { - flags = KD_MOUSE_DELTA; - x = 0; - y = 0; - lastx = 0; - lasty = 0; - } - KdEnqueuePointerEvent (pi, flags, x, y, 0); - } -} - -char *TsNames[] = { - "/dev/ts", - "/dev/h3600_ts" /* temporary name; note this code can try - to open more than one device */ -}; - -#define NUM_TS_NAMES (sizeof (TsNames) / sizeof (TsNames[0])) - -static Status -TsInit (KdPointerInfo *pi) -{ - int i; - int fd; - int n = 0; - - 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); - } - - 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 (KdPointerInfo *pi) -{ - KdUnregisterFds (pi, (int)pi->driverPrivate, TRUE); - mi->driverPrivate = NULL; -} - -KdPointerDriver TsDriver = { - TsInit, - TsEnable, - TsDisable, - TsFini, - NULL, -}; diff --git a/xorg-server/hw/kdrive/linux/tslib.c b/xorg-server/hw/kdrive/linux/tslib.c index 371aeced9..e0e860e48 100644 --- a/xorg-server/hw/kdrive/linux/tslib.c +++ b/xorg-server/hw/kdrive/linux/tslib.c @@ -95,8 +95,8 @@ TsRead (int fd, void *closure) y = event.y - private->lasty; } } - private->lastx = x; - private->lasty = y; + private->lastx = event.x; + private->lasty = event.y; } else { flags = 0; x = private->lastx; @@ -114,6 +114,10 @@ TslibEnable (KdPointerInfo *pi) private->raw_event_hook = NULL; private->raw_event_closure = NULL; + if (!pi->path) { + pi->path = "/dev/input/touchscreen0"; + ErrorF("[tslib/TslibEnable] no device path given, trying %s\n", pi->path); + } private->tsDev = ts_open(pi->path, 0); private->fd = ts_fd(private->tsDev); if (!private->tsDev || ts_config(private->tsDev) || private->fd < 0) { diff --git a/xorg-server/hw/kdrive/mach64/Makefile.am b/xorg-server/hw/kdrive/mach64/Makefile.am deleted file mode 100644 index 6ca376ab2..000000000 --- a/xorg-server/hw/kdrive/mach64/Makefile.am +++ /dev/null @@ -1,43 +0,0 @@ -INCLUDES = \ - @KDRIVE_INCS@ \ - -I$(top_srcdir)/hw/kdrive/vesa \ - @KDRIVE_CFLAGS@ - -bin_PROGRAMS = Xmach64 - -if TSLIB -TSLIB_FLAG = -lts -endif - - -noinst_LIBRARIES = libmach64.a - -libmach64_a_SOURCES = \ - mach64.c \ - mach64draw.c \ - mach64video.c \ - mach64.h \ - mach64draw.h - -Xmach64_SOURCES = \ - mach64stub.c - -MACH64_LIBS = \ - libmach64.a \ - $(top_builddir)/hw/kdrive/vesa/libvesa.a - - -if GLX -Xmach64_LDFLAGS = $(LD_EXPORT_SYMBOLS_FLAG) -endif - -Xmach64_LDADD = \ - $(MACH64_LIBS) \ - @KDRIVE_LIBS@ - -Xmach64_DEPENDENCIES = \ - libmach64.a \ - @KDRIVE_LOCAL_LIBS@ - -relink: - rm -f $(bin_PROGRAMS) && make $(bin_PROGRAMS) diff --git a/xorg-server/hw/kdrive/mach64/Makefile.in b/xorg-server/hw/kdrive/mach64/Makefile.in deleted file mode 100644 index f1dc13650..000000000 --- a/xorg-server/hw/kdrive/mach64/Makefile.in +++ /dev/null @@ -1,719 +0,0 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008 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 = Xmach64$(EXEEXT) -subdir = hw/kdrive/mach64 -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 -libmach64_a_AR = $(AR) $(ARFLAGS) -libmach64_a_LIBADD = -am_libmach64_a_OBJECTS = mach64.$(OBJEXT) mach64draw.$(OBJEXT) \ - mach64video.$(OBJEXT) -libmach64_a_OBJECTS = $(am_libmach64_a_OBJECTS) -am__installdirs = "$(DESTDIR)$(bindir)" -binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) -PROGRAMS = $(bin_PROGRAMS) -am_Xmach64_OBJECTS = mach64stub.$(OBJEXT) -Xmach64_OBJECTS = $(am_Xmach64_OBJECTS) -Xmach64_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(Xmach64_LDFLAGS) \ - $(LDFLAGS) -o $@ -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include -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 = $(libmach64_a_SOURCES) $(Xmach64_SOURCES) -DIST_SOURCES = $(libmach64_a_SOURCES) $(Xmach64_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@ -DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ -DRI2PROTO_LIBS = @DRI2PROTO_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@ -DSYMUTIL = @DSYMUTIL@ -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@ -GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ -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@ -LAUNCHD = @LAUNCHD@ -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@ -NMEDIT = @NMEDIT@ -OBJC = @OBJC@ -OBJCCLD = @OBJCCLD@ -OBJCDEPMODE = @OBJCDEPMODE@ -OBJCFLAGS = @OBJCFLAGS@ -OBJCLINK = @OBJCLINK@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ -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@ -PCIACCESS_CFLAGS = @PCIACCESS_CFLAGS@ -PCIACCESS_LIBS = @PCIACCESS_LIBS@ -PCI_TXT_IDS_PATH = @PCI_TXT_IDS_PATH@ -PERL = @PERL@ -PKG_CONFIG = @PKG_CONFIG@ -PROJECTROOT = @PROJECTROOT@ -PS2PDF = @PS2PDF@ -RANLIB = @RANLIB@ -RAWCPP = @RAWCPP@ -RAWCPPFLAGS = @RAWCPPFLAGS@ -SED = @SED@ -SERVER_MISC_CONFIG_PATH = @SERVER_MISC_CONFIG_PATH@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ -SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ -STRIP = @STRIP@ -TSLIB_CFLAGS = @TSLIB_CFLAGS@ -TSLIB_LIBS = @TSLIB_LIBS@ -UTILS_SYS_LIBS = @UTILS_SYS_LIBS@ -VENDOR_MAN_VERSION = @VENDOR_MAN_VERSION@ -VENDOR_NAME = @VENDOR_NAME@ -VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ -VENDOR_RELEASE = @VENDOR_RELEASE@ -VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ -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_CFLAGS = @XDMX_CFLAGS@ -XDMX_LIBS = @XDMX_LIBS@ -XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ -XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ -XEPHYR_INCS = @XEPHYR_INCS@ -XEPHYR_LIBS = @XEPHYR_LIBS@ -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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ -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@ -XNEST_SYS_LIBS = @XNEST_SYS_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_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@ -XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_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@ -XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ -XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ -XTSTEXAMPLES_DEP_LIBS = @XTSTEXAMPLES_DEP_LIBS@ -XVFB_LIBS = @XVFB_LIBS@ -XVFB_SYS_LIBS = @XVFB_SYS_LIBS@ -XWINMODULES_CFLAGS = @XWINMODULES_CFLAGS@ -XWINMODULES_LIBS = @XWINMODULES_LIBS@ -XWIN_LIBS = @XWIN_LIBS@ -XWIN_SERVER_NAME = @XWIN_SERVER_NAME@ -XWIN_SYS_LIBS = @XWIN_SYS_LIBS@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -__XCONFIGFILE__ = @__XCONFIGFILE__@ -abi_ansic = @abi_ansic@ -abi_extension = @abi_extension@ -abi_font = @abi_font@ -abi_videodrv = @abi_videodrv@ -abi_xinput = @abi_xinput@ -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@ -launchagentsdir = @launchagentsdir@ -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_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ -INCLUDES = \ - @KDRIVE_INCS@ \ - -I$(top_srcdir)/hw/kdrive/vesa \ - @KDRIVE_CFLAGS@ - -@TSLIB_TRUE@TSLIB_FLAG = -lts -noinst_LIBRARIES = libmach64.a -libmach64_a_SOURCES = \ - mach64.c \ - mach64draw.c \ - mach64video.c \ - mach64.h \ - mach64draw.h - -Xmach64_SOURCES = \ - mach64stub.c - -MACH64_LIBS = \ - libmach64.a \ - $(top_builddir)/hw/kdrive/vesa/libvesa.a - -@GLX_TRUE@Xmach64_LDFLAGS = $(LD_EXPORT_SYMBOLS_FLAG) -Xmach64_LDADD = \ - $(MACH64_LIBS) \ - @KDRIVE_LIBS@ - -Xmach64_DEPENDENCIES = \ - libmach64.a \ - @KDRIVE_LOCAL_LIBS@ - -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/kdrive/mach64/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign hw/kdrive/mach64/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) -libmach64.a: $(libmach64_a_OBJECTS) $(libmach64_a_DEPENDENCIES) - -rm -f libmach64.a - $(libmach64_a_AR) libmach64.a $(libmach64_a_OBJECTS) $(libmach64_a_LIBADD) - $(RANLIB) libmach64.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) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ - $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --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 -Xmach64$(EXEEXT): $(Xmach64_OBJECTS) $(Xmach64_DEPENDENCIES) - @rm -f Xmach64$(EXEEXT) - $(Xmach64_LINK) $(Xmach64_OBJECTS) $(Xmach64_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mach64.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mach64draw.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mach64stub.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mach64video.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; nonemtpy = 1; } \ - END { if (nonempty) { 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; nonempty = 1; } \ - END { if (nonempty) { 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=; \ - 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; nonempty = 1; } \ - END { if (nonempty) { 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) -installdirs: - for dir in "$(DESTDIR)$(bindir)"; 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-dvi: install-dvi-am - -install-exec-am: install-binPROGRAMS - -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-binPROGRAMS - -.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-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-binPROGRAMS - - -relink: - rm -f $(bin_PROGRAMS) && make $(bin_PROGRAMS) -# 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/xorg-server/hw/kdrive/mach64/mach64.c b/xorg-server/hw/kdrive/mach64/mach64.c deleted file mode 100644 index 3c513ba17..000000000 --- a/xorg-server/hw/kdrive/mach64/mach64.c +++ /dev/null @@ -1,433 +0,0 @@ -/* - * Copyright © 2001 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 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. - */ - -#ifdef HAVE_CONFIG_H -#include -#endif -#include "mach64.h" -#include "kaa.h" - -static Bool -mach64CardInit (KdCardInfo *card) -{ - Mach64CardInfo *mach64c; - - mach64c = (Mach64CardInfo *) xalloc (sizeof (Mach64CardInfo)); - if (!mach64c) - return FALSE; - - (void) mach64MapReg (card, mach64c); - mach64c->lcdEnabled = FALSE; - - if (!vesaInitialize (card, &mach64c->vesa)) - { - xfree (mach64c); - return FALSE; - } - - card->driver = mach64c; - - return TRUE; -} - -static Bool -mach64ScreenInit (KdScreenInfo *screen) -{ - Mach64CardInfo *mach64c = screen->card->driver; - Mach64ScreenInfo *mach64s; - - mach64s = (Mach64ScreenInfo *) xalloc (sizeof (Mach64ScreenInfo)); - if (!mach64s) - return FALSE; - memset (mach64s, '\0', sizeof (Mach64ScreenInfo)); - if (!vesaScreenInitialize (screen, &mach64s->vesa)) - { - xfree (mach64s); - return FALSE; - } - if (!mach64c->reg) - screen->dumb = TRUE; - if (mach64s->vesa.mapping != VESA_LINEAR) - screen->dumb = TRUE; - switch (screen->fb[0].depth) { - case 8: - mach64s->colorKey = 0xff; - break; - case 15: - case 16: - mach64s->colorKey = 0x001e; - break; - case 24: - mach64s->colorKey = 0x0000fe; - break; - default: - mach64s->colorKey = 1; - break; - } - screen->driver = mach64s; - return TRUE; -} - -static Bool -mach64InitScreen (ScreenPtr pScreen) -{ -#ifdef XV - mach64InitVideo(pScreen); -#endif - return vesaInitScreen (pScreen); -} - -#ifdef RANDR -static Bool -mach64RandRSetConfig (ScreenPtr pScreen, - Rotation rotation, - int rate, - RRScreenSizePtr pSize) -{ - kaaWaitSync (pScreen); - - if (!vesaRandRSetConfig (pScreen, rotation, rate, pSize)) - return FALSE; - - return TRUE; -} - -static void -mach64RandRInit (ScreenPtr pScreen) -{ - rrScrPriv(pScreen); - - pScrPriv->rrSetConfig = mach64RandRSetConfig; -} -#endif - -static Bool -mach64FinishInitScreen (ScreenPtr pScreen) -{ - Bool ret; - ret = vesaFinishInitScreen (pScreen); -#ifdef RANDR - mach64RandRInit (pScreen); -#endif - return ret; -} - -static Bool -mach64CreateResources (ScreenPtr pScreen) -{ - return vesaCreateResources (pScreen); -} - -CARD32 -mach64ReadLCD (Reg *reg, int id) -{ - CARD32 LCD_INDEX; - - LCD_INDEX = reg->LCD_INDEX & ~(0x3f); - reg->LCD_INDEX = (LCD_INDEX | id); - return reg->LCD_DATA; -} - -void -mach64WriteLCD (Reg *reg, int id, CARD32 data) -{ - CARD32 LCD_INDEX; - - LCD_INDEX = reg->LCD_INDEX & ~(0x3f); - reg->LCD_INDEX = (LCD_INDEX | id); - reg->LCD_DATA = data; -} - -void -mach64Preserve (KdCardInfo *card) -{ - Mach64CardInfo *mach64c = card->driver; - Reg *reg = mach64c->reg; - - vesaPreserve(card); - if (reg) - { - mach64c->save.LCD_GEN_CTRL = mach64ReadLCD (reg, 1); - } -} - -Bool -mach64MapReg (KdCardInfo *card, Mach64CardInfo *mach64c) -{ - mach64c->reg_base = (CARD8 *) KdMapDevice (MACH64_REG_BASE(card), - MACH64_REG_SIZE(card)); - - if (!mach64c->reg_base) - { - mach64c->reg = 0; - mach64c->media_reg = 0; - return FALSE; - } - - KdSetMappedMode (MACH64_REG_BASE(card), - MACH64_REG_SIZE(card), - KD_MAPPED_MODE_REGISTERS); - mach64c->reg = (Reg *) (mach64c->reg_base + MACH64_REG_OFF(card)); - mach64c->media_reg = (MediaReg *) (mach64c->reg_base + MACH64_MEDIA_REG_OFF(card)); - return TRUE; -} - -void -mach64UnmapReg (KdCardInfo *card, Mach64CardInfo *mach64c) -{ - if (mach64c->reg_base) - { - KdResetMappedMode (MACH64_REG_BASE(card), - MACH64_REG_SIZE(card), - KD_MAPPED_MODE_REGISTERS); - KdUnmapDevice ((void *) mach64c->reg_base, MACH64_REG_SIZE(card)); - mach64c->reg_base = 0; - mach64c->reg = 0; - mach64c->media_reg = 0; - } -} - -void -mach64SetMMIO (KdCardInfo *card, Mach64CardInfo *mach64c) -{ - if (!mach64c->reg_base) - mach64MapReg (card, mach64c); - if (mach64c->reg) - { - if (mach64c->reg->GUI_STAT == 0xffffffff) - FatalError ("Mach64 REG not visible\n"); - } -} - -void -mach64ResetMMIO (KdCardInfo *card, Mach64CardInfo *mach64c) -{ - mach64UnmapReg (card, mach64c); -} - -Bool -mach64Enable (ScreenPtr pScreen) -{ - KdScreenPriv(pScreen); - Mach64CardInfo *mach64c = pScreenPriv->card->driver; - - if (!vesaEnable (pScreen)) - return FALSE; - - mach64SetMMIO (pScreenPriv->card, mach64c); - mach64DPMS (pScreen, KD_DPMS_NORMAL); -#ifdef XV - KdXVEnable (pScreen); -#endif - return TRUE; -} - -void -mach64Disable (ScreenPtr pScreen) -{ - KdScreenPriv(pScreen); - Mach64CardInfo *mach64c = pScreenPriv->card->driver; - -#ifdef XV - KdXVDisable (pScreen); -#endif - mach64ResetMMIO (pScreenPriv->card, mach64c); - vesaDisable (pScreen); -} - -const CARD8 mach64DPMSModes[4] = { - 0x80, /* KD_DPMS_NORMAL */ - 0x8c, /* KD_DPMS_STANDBY */ - 0x8c, /* KD_DPMS_STANDBY */ - 0x8c, /* KD_DPMS_STANDBY */ -/* 0xb0, KD_DPMS_SUSPEND */ -/* 0xbc, KD_DPMS_POWERDOWN */ -}; - -#define PWR_MGT_ON (1 << 0) -#define PWR_MGT_MODE (3 << 1) -#define PWR_MGT_MODE_PIN (0 << 1) -#define PWR_MGT_MODE_REG (1 << 1) -#define PWR_MGT_MODE_TIMER (2 << 1) -#define PWR_MGR_MODE_PCI (3 << 1) -#define AUTO_PWRUP_EN (1 << 3) -#define ACTIVITY_PIN_ON (1 << 4) -#define STANDBY_POL (1 << 5) -#define SUSPEND_POL (1 << 6) -#define SELF_REFRESH (1 << 7) -#define ACTIVITY_PIN_EN (1 << 8) -#define KEYBD_SNOOP (1 << 9) -#define DONT_USE_F32KHZ (1 << 10) -#define TRISTATE_MEM_EN (1 << 11) -#define LCDENG_TEST_MODE (0xf << 12) -#define STANDBY_COUNT (0xf << 16) -#define SUSPEND_COUNT (0xf << 20) -#define BIASON (1 << 24) -#define BLON (1 << 25) -#define DIGON (1 << 26) -#define PM_D3_RST_ENB (1 << 27) -#define STANDBY_NOW (1 << 28) -#define SUSPEND_NOW (1 << 29) -#define PWR_MGT_STATUS (3 << 30) -#define PWR_MGT_STATUS_ON (0 << 30) -#define PWR_MGT_STATUS_STANDBY (1 << 30) -#define PWR_MGT_STATUS_SUSPEND (2 << 30) -#define PWR_MGT_STATUS_TRANSITION (3 << 30) - -Bool -mach64DPMS (ScreenPtr pScreen, int mode) -{ - KdScreenPriv(pScreen); - Mach64CardInfo *mach64c = pScreenPriv->card->driver; - int hsync_off = 0, vsync_off = 0, blank = 0; - CARD32 CRTC_GEN_CNTL; - CARD32 LCD_GEN_CTRL; - Reg *reg = mach64c->reg; - - if (!reg) - return FALSE; - - CRTC_GEN_CNTL = reg->CRTC_GEN_CNTL; - LCD_GEN_CTRL = mach64ReadLCD (reg, 1); - - switch (mode) { - case KD_DPMS_NORMAL: - hsync_off = 0; - vsync_off = 0; - blank = 0; - break; - case KD_DPMS_STANDBY: - hsync_off = 1; - vsync_off = 0; - blank = 1; - break; - case KD_DPMS_SUSPEND: - hsync_off = 0; - vsync_off = 1; - blank = 1; - break; - case KD_DPMS_POWERDOWN: - hsync_off = 1; - vsync_off = 1; - blank = 1; - } - - if (hsync_off) - CRTC_GEN_CNTL |= (1 << 2); - else - CRTC_GEN_CNTL &= ~(1 << 2); - if (vsync_off) - CRTC_GEN_CNTL |= (1 << 3); - else - CRTC_GEN_CNTL &= ~(1 << 3); - if (blank) - { - mach64c->lcdEnabled = (LCD_GEN_CTRL & (1 << 1)) != 0; - LCD_GEN_CTRL &= ~(1 << 1); - CRTC_GEN_CNTL |= (1 << 6); - - } - else - { - if (!(LCD_GEN_CTRL & 3) || mach64c->lcdEnabled) - LCD_GEN_CTRL |= (1 << 1); - CRTC_GEN_CNTL &= ~(1 << 6); - } - - kaaWaitSync (pScreen); - - mach64WriteLCD (reg, 1, LCD_GEN_CTRL); - - reg->CRTC_GEN_CNTL = CRTC_GEN_CNTL; - return TRUE; -} - -static void -mach64Restore (KdCardInfo *card) -{ - Mach64CardInfo *mach64c = card->driver; - Reg *reg = mach64c->reg; - - if (reg) - { - mach64WriteLCD (reg, 1, mach64c->save.LCD_GEN_CTRL); - } - mach64ResetMMIO (card, mach64c); - vesaRestore (card); -} - -static void -mach64ScreenFini (KdScreenInfo *screen) -{ - Mach64ScreenInfo *mach64s = (Mach64ScreenInfo *) screen->driver; -#ifdef XV - mach64FiniVideo(screen->pScreen); -#endif - vesaScreenFini (screen); - xfree (mach64s); - screen->driver = 0; -} - -static void -mach64CardFini (KdCardInfo *card) -{ - Mach64CardInfo *mach64c = card->driver; - - mach64UnmapReg (card, mach64c); - vesaCardFini (card); - xfree (mach64c); -} - -#define mach64CursorInit 0 /* initCursor */ -#define mach64CursorEnable 0 /* enableCursor */ -#define mach64CursorDisable 0 /* disableCursor */ -#define mach64CursorFini 0 /* finiCursor */ -#define mach64RecolorCursor 0 /* recolorCursor */ - -KdCardFuncs mach64Funcs = { - mach64CardInit, /* cardinit */ - mach64ScreenInit, /* scrinit */ - mach64InitScreen, /* initScreen */ - mach64FinishInitScreen, /* finishInitScreen */ - mach64CreateResources, /* createRes */ - mach64Preserve, /* preserve */ - mach64Enable, /* enable */ - mach64DPMS, /* dpms */ - mach64Disable, /* disable */ - mach64Restore, /* restore */ - mach64ScreenFini, /* scrfini */ - mach64CardFini, /* cardfini */ - - mach64CursorInit, /* initCursor */ - mach64CursorEnable, /* enableCursor */ - mach64CursorDisable, /* disableCursor */ - mach64CursorFini, /* finiCursor */ - mach64RecolorCursor, /* recolorCursor */ - - mach64DrawInit, /* initAccel */ - mach64DrawEnable, /* enableAccel */ - mach64DrawDisable, /* disableAccel */ - mach64DrawFini, /* finiAccel */ - - vesaGetColors, /* getColors */ - vesaPutColors, /* putColors */ -}; diff --git a/xorg-server/hw/kdrive/mach64/mach64.h b/xorg-server/hw/kdrive/mach64/mach64.h deleted file mode 100644 index fbb10b2ba..000000000 --- a/xorg-server/hw/kdrive/mach64/mach64.h +++ /dev/null @@ -1,653 +0,0 @@ -/* - * Copyright © 2001 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 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. - */ - -#ifndef _MACH64_H_ -#define _MACH64_H_ -#include -#include "kxv.h" - -/* - * offset from ioport beginning - */ - -#define MACH64_REG_BASE(c) ((c)->attr.address[1]) -#define MACH64_REG_SIZE(c) (4096) - -#define MACH64_REG_OFF(c) (1024) -#define MACH64_MEDIA_REG_OFF(c) (0) - -typedef volatile CARD8 VOL8; -typedef volatile CARD16 VOL16; -typedef volatile CARD32 VOL32; - -typedef struct _Reg { - VOL32 CRTC_H_TOTAL_DISP; /* 0x00 */ - VOL32 CRTC_H_SYNC_STRT_WID; /* 0x01 */ - VOL32 CRTC_V_TOTAL_DISP; /* 0x02 */ - VOL32 CRTC_V_SYNC_STRT_WID; /* 0x03 */ - VOL32 CRTC_VLINE_CRNT_VLINE; /* 0x04 */ - VOL32 CRTC_OFF_PITCH; /* 0x05 */ - VOL32 CRTC_INT_CNTL; /* 0x06 */ - VOL32 CRTC_GEN_CNTL; /* 0x07 */ - VOL32 DSP_CONFIG; /* 0x08 */ - VOL32 DSP_ON_OFF; /* 0x09 */ - VOL32 TIMER_CONFIG; /* 0x0a */ - VOL32 MEM_BUF_CNTL; /* 0x0b */ - VOL32 unused0; /* 0x0c */ - VOL32 MEM_ADDR_CONFIG; /* 0x0d */ - VOL32 CRT_TRAP; /* 0x0e */ - VOL32 I2C_CNTL_0; /* 0x0f */ - VOL32 OVR_CLR; /* 0x10 */ - VOL32 OVR_WID_LEFT_RIGHT; /* 0x11 */ - VOL32 OVR_WID_TOP_BOTTOM; /* 0x12 */ - VOL32 VGA_DSP_CONFIG; /* 0x13 */ - VOL32 VGA_DSP_ON_OFF; /* 0x14 */ - VOL32 DSP2_CONFIG; /* 0x15 */ - VOL32 DSP2_ON_OFF; /* 0x16 */ - VOL32 CRTC2_OFF_PITCH; /* 0x17 */ - VOL32 CUR_CLR0; /* 0x18 */ - VOL32 CUR_CLR1; /* 0x19 */ - VOL32 CUR_OFFSET; /* 0x1a */ - VOL32 CUR_HORZ_VERT_POSN; /* 0x1b */ - VOL32 CUR_HORZ_VERT_OFF; /* 0x1c */ - VOL32 TV_OUT_INDEX; /* 0x1d */ - VOL32 GP_IO; /* 0x1e */ - VOL32 HW_DEBUG; /* 0x1f */ - VOL32 SCRATCH_REG0; /* 0x20 */ - VOL32 SCRATCH_REG1; - VOL32 SCRATCH_REG2; - VOL32 SCRATCH_REG3; - VOL32 CLOCK_CNTL; - VOL32 CONFIG_STAT1; - VOL32 CONFIG_STAT2; - VOL32 TV_OUT_DATA; - VOL32 BUS_CNTL; /* 0x28 */ - VOL32 LCD_INDEX; /* 0x29 */ - VOL32 LCD_DATA; /* 0x2a */ - VOL32 EXT_MEM_CNTL; - VOL32 MEM_CNTL; - VOL32 MEM_VGA_WP_SEL; - VOL32 MEM_VGA_RP_SEL; - VOL32 I2C_CNTL_1; - VOL32 DAC_REGS; /* 0x30 */ - VOL32 DAC_CNTL; /* 0x31 */ - VOL32 unused_32; - VOL32 unused_33; - VOL32 GEN_TEST_CNTL; /* 0x34 */ - VOL32 CUSTOM_MACRO_CNTL; - VOL32 unused36; - VOL32 CONFIG_CNTL; - VOL32 CONFIG_CHIP_ID; - VOL32 CONFIG_STAT0; - VOL32 CRC_SIG; - VOL32 unused_3b; - VOL32 unused_3c; - VOL32 unused_3d; - VOL32 unused_3e; - VOL32 unused_3f; - VOL32 DST_OFF_PITCH; /* 0x40 */ - VOL32 DST_X; - VOL32 DST_Y; - VOL32 DST_Y_X; - VOL32 DST_WIDTH; - VOL32 DST_HEIGHT; - VOL32 DST_HEIGHT_WIDTH; - VOL32 DST_X_WIDTH; - VOL32 DST_BRES_LNTH; - VOL32 DST_BRES_ERR; - VOL32 DST_BRES_INC; - VOL32 DST_BRES_DEC; - VOL32 DST_CNTL; - VOL32 DST_Y_X_ALIAS; - VOL32 TRAIL_BRES_ERR; - VOL32 TRAIL_BRES_INC; - VOL32 TRAIL_BRES_DEC; - VOL32 LEAD_BRES_LNTH; - VOL32 Z_OFF_PITCH; - VOL32 Z_CNTL; - VOL32 ALPHA_TST_CNTL; - VOL32 unused55; - VOL32 SECONDARY_STW_EXP; - VOL32 SECONDARY_S_X_INC; - VOL32 SECONDARY_S_Y_INC; - VOL32 SECONDARY_S_START; - VOL32 SECONDARY_W_X_INC; - VOL32 SECONDARY_W_Y_INC; - VOL32 SECONDARY_W_START; - VOL32 SECONDARY_T_X_INC; - VOL32 SECONDARY_T_Y_INC; - VOL32 SECONDARY_T_START; - VOL32 SRC_OFF_PITCH; - VOL32 SRC_X; - VOL32 SRC_Y; - VOL32 SRC_Y_X; - VOL32 SRC_WIDTH1; - VOL32 SRC_HEIGHT1; - VOL32 SRC_HEIGHT1_WIDTH1; - VOL32 SRC_X_START; - VOL32 SRC_Y_START; - VOL32 SRC_Y_X_START; - VOL32 SRC_WIDTH2; - VOL32 SRC_HEIGHT2; - VOL32 SRC_HEIGHT2_WIDTH2; - VOL32 SRC_CNTL; - VOL32 unused6e; - VOL32 unused6f; - union { - struct { - VOL32 SCALE_OFF; /* 0x70 */ - VOL32 unused71; - VOL32 unused72; - VOL32 unused73; - VOL32 unused74; - VOL32 unused75; - VOL32 unused76; - VOL32 SCALE_WIDTH; - VOL32 SCALE_HEIGHT; - VOL32 unused79; - VOL32 unused7a; - VOL32 SCALE_PITCH; - VOL32 SCALE_X_INC; - VOL32 SCALE_Y_INC; - VOL32 SCALE_VACC; - VOL32 SCALE_3D_CNTL; /* 0x7f */ - } scaler; - struct { - VOL32 TEX_0_OFF; /* 0x70 */ - VOL32 TEX_1_OFF; - VOL32 TEX_2_OFF; - VOL32 TEX_3_OFF; - VOL32 TEX_4_OFF; - VOL32 TEX_5_OFF; - VOL32 TEX_6_OFF; - VOL32 TEX_7_OFF; - VOL32 TEX_8_OFF; - VOL32 TEX_9_OFF; - VOL32 TEX_10_OFF; - VOL32 S_Y_INC; - VOL32 RED_X_INC; - VOL32 GREEN_X_INC; /* 0x7d */ - VOL32 unused7e; - VOL32 unused7f; - } texture; - } u; - VOL32 HOST_DATA[16]; /* 0x80 */ - VOL32 HOST_CNTL; /* 0x90 */ - VOL32 BM_HOSTDATA; /* 0x91 */ - VOL32 BM_ADDR; /* 0x92 */ - VOL32 BM_GUI_TABLE_CMD; /* 0x93 */ - VOL32 unused94; /* 0x94 */ - VOL32 unused95; /* 0x95 */ - VOL32 unused96; /* 0x96 */ - VOL32 FOG_TABLE_INDEX; /* 0x97 */ - VOL32 FOG_TABLE_DATA[8]; /* 0x98 */ - VOL32 PAT_REG0; /* 0xa0 */ - VOL32 PAT_REG1; - VOL32 PAT_CNTL; - VOL32 unused_0a3; - VOL32 unused_0a4; - VOL32 unused_0a5; - VOL32 unused_0a6; - VOL32 unused_0a7; - VOL32 SC_LEFT; - VOL32 SC_RIGHT; - VOL32 SC_LEFT_RIGHT; - VOL32 SC_TOP; - VOL32 SC_BOTTOM; - VOL32 SC_TOP_BOTTOM; - VOL32 USR1_DST_OFF_PITCH; - VOL32 USR2_DST_OFF_PITCH; - VOL32 DP_BKGD_CLR; /* 0xb0 */ - VOL32 DP_FRGD_CLR; - VOL32 DP_WRITE_MSK; - VOL32 unused_0b3; - VOL32 DP_PIX_WIDTH; - VOL32 DP_MIX; - VOL32 DP_SRC; - VOL32 DP_FRGD_CLR_MIX; - VOL32 DP_FRGD_BKGD_CLR; - VOL32 unused_0b9; - VOL32 DST_X_Y; - VOL32 DST_WIDTH_HEIGHT; - VOL32 USR_DST_PITCH; - VOL32 unused_0bd; - VOL32 DP_SET_GUI_ENGINE2; - VOL32 DP_SET_GUI_ENGINE; - VOL32 CLR_CMP_CLR; /* 0xc0 */ - VOL32 CLR_CMP_MSK; - VOL32 CLR_CMP_CNTL; - VOL32 unused_0c3; - VOL32 FIFO_STAT; - VOL32 unused_0c5; - VOL32 unused_0c6; - VOL32 unused_0c7; - VOL32 unused_0c8; - VOL32 unused_0c9; - VOL32 unused_0ca; - VOL32 unused_0cb; - VOL32 GUI_TRAJ_CNTL; - VOL32 unused_0cd; - VOL32 GUI_STAT; - VOL32 unused_0cf; - VOL32 TEX_PALETTE_INDEX; - VOL32 STW_EXP; - VOL32 LOG_MAX_INC; - VOL32 S_X_INC; - VOL32 S_Y_INC_2_SCALE_PITCH; - VOL32 S_START; - VOL32 W_X_INC; - VOL32 W_Y_INC; - VOL32 W_START; - VOL32 T_X_INC; - VOL32 T_Y_INC_SECONDARY_SCALE_PITCH; - VOL32 T_START; - VOL32 TEX_SIZE_PITCH; - VOL32 TEX_CNTL; - VOL32 SECONDARY_TEX_OFFSET_SECONDARY_SCALE_OFF; - VOL32 TEX_PALETTE; - VOL32 SCALE_PITCH_BOTH; /* 0xe0 */ - VOL32 SECONDARY_SCALE_OFF_ACC; - VOL32 SCALE_OFF_ACC; - VOL32 SCALE_DST_Y_X; - VOL32 unused_0e4; - VOL32 unused_0e5; - VOL32 COMPOSITE_SHADOW_ID; - VOL32 SECONDARY_SCALE_X_INC_SPECULAR_RED_X_INC; - VOL32 SPECULAR_RED_Y_INC; - VOL32 SPECULAR_RED_START_SECONDARY_SCALE_HACC;; - VOL32 SPECULAR_GREEN_X_INC; - VOL32 SPECULAR_GREEN_Y_INC; - VOL32 SPECULAR_GREEN_START; - VOL32 SPECULAR_BLUE_X_INC; - VOL32 SPECULAR_BLUE_Y_INC; - VOL32 SPECULAR_BLUE_START; - VOL32 RED_X_INC_SCALE_X_INC; - VOL32 RED_Y_INC; - VOL32 RED_START_SCALE_HACC; - VOL32 GREEN_X_INC_SCALE_Y_INC; - VOL32 GREEN_Y_INC_SECONDARY_SCALE_Y_INC; - VOL32 GREEN_START_SECONDARY_SCALE_VACC; - VOL32 BLUE_X_INC; - VOL32 BLUE_Y_INC; - VOL32 BLUE_START; - VOL32 Z_X_INC; - VOL32 Z_Y_INC; - VOL32 Z_START; - VOL32 ALPHA_X_INC; - VOL32 FOG_X_INC; - VOL32 ALPHA_Y_INC; - VOL32 FOG_Y_INC; - VOL32 ALPHA_START; - VOL32 FOG_START; - VOL32 unused_0ff; -} Reg; /* 0x100 */ - -#define DST_X_DIR (1 << 0) -#define DST_Y_DIR (1 << 1) -#define DST_Y_MAJOR (1 << 2) -#define DST_X_TILE (1 << 3) -#define DST_Y_TILE (1 << 4) -#define DST_LAST_PEL (1 << 5) -#define DST_POLYGON_EN (1 << 6) -#define DST_24_ROT_EN (1 << 7) -#define DST_24_ROT(n) ((n) << 8) -#define DST_BRES_ZERO (1 << 11) -#define DST_POLYGON_RTEDGE_DIS (1 << 12) -#define TRAIL_X_DIR (1 << 13) -#define TRAP_FILL_DIR (1 << 14) -#define TRAIL_BRES_SIGN (1 << 15) -#define SRC_PATT_EN (1 << 16) -#define SRC_PATT_ROT_EN (1 << 17) -#define SRC_LINEAR_EN (1 << 18) -#define SRC_BYTE_ALIGN (1 << 19) -#define SRC_LINE_X_DIR (1 << 20) -#define SRC_8x8x8_BRUSH (1 << 21) -#define FAST_FILL_EN (1 << 22) -#define SRC_TRACK_DST (1 << 23) -#define PAT_MONO_EN (1 << 24) -#define PAT_CLR_4x2_EN (1 << 25) -#define PAT_CLR_8x1_EN (1 << 26) -#define HOST_BYTE_ALIGN (1 << 28) -#define HOST_BIG_ENDIAN_EN (1 << 29) - -/* BUS_CNTL bits */ -#define BUS_DBL_RESYNC (1 << 0) -#define BUS_MSTR_RESET (1 << 1) -#define BUS_FLUSH_BUF (1 << 2) -#define BUS_STOP_REQ_DIS (1 << 3) -#define BUS_APER_REG_DIS (1 << 4) -#define BUS_EXTRA_PIPE_DIS (1 << 5) -#define BUS_MASTER_DIS (1 << 6) -#define ROM_WRT_EN (1 << 7) -#define CHIP_HIDDEN_REV (3 << 8) -#define BUS_PCI_READ_RETRY_EN (1 << 13) -#define BUS_PCI_WRT_RETRY_EN (1 << 15) -#define BUS_RETRY_WS (0xf << 16) -#define BUS_MSTR_RD_MULT (1 << 20) -#define BUS_MSTR_RD_LINE (1 << 21) -#define BUS_SUSPEND (1 << 22) -#define LAT16X (1 << 23) -#define BUS_RD_DISCARD_EN (1 << 24) -#define BUS_RD_ABORT_EN (1 << 25) -#define BUS_MSTR_WS (1 << 26) -#define BUS_EXT_REG_EN (1 << 27) -#define BUS_MSTR_DISCONNECT_EN (1 << 28) -#define BUS_WRT_BURST (1 << 29) -#define BUS_READ_BURST (1 << 30) -#define BUS_RDY_READ_DLY (1 << 31) - -#define SCALE_PIX_EXPAND (1 << 0) -#define SCALE_Y2R_TEMP (1 << 1) -#define SCALE_HORZ_MODE (1 << 2) -#define SCALE_VERT_MODE (1 << 3) -#define SCALE_SIGNED_UV (1 << 4) -#define SCALE_GAMMA_SEL (3 << 5) -#define SCALE_GAMMA_BRIGHT (0 << 5) -#define SCALE_GAMMA_22 (1 << 5) -#define SCALE_GAMMA_18 (2 << 5) -#define SCALE_GAMMA_14 (3 << 5) -#define SCALE_DISP_SEL (1 << 7) -#define SCALE_BANDWIDTH (1 << 26) -#define SCALE_DIS_LIMIT (1 << 27) -#define SCALE_CLK_FORCE_ON (1 << 29) -#define SCALE_OVERLAY_EN (1 << 30) -#define SCALE_EN (1 << 31) - -#define VIDEO_IN_VYUY422 (0xb) -#define VIDEO_IN_YVYU422 (0xc) -#define SCALER_IN_15bpp (0x3 << 16) -#define SCALER_IN_16bpp (0x4 << 16) -#define SCALER_IN_32bpp (0x6 << 16) -#define SCALER_IN_YUV_9 (0x9 << 16) -#define SCALER_IN_YUV_12 (0xa << 16) -#define SCALER_IN_VYUY422 (0xb << 16) -#define SCALER_IN_YVYU422 (0xc << 16) - -#define CAP_INPUT_MODE (1 << 0) -#define CAP_BUF_MODE (1 << 2) -#define CAP_START_BUF (1 << 3) -#define CAP_BUF_TYPE_FIELD (0 << 4) -#define CAP_BUF_TYPE_ALTERNATING (1 << 4) -#define CAP_BUF_TYPE_FRAME (2 << 4) - -#define OVL_BUF_MODE (1 << 28) -#define OVL_BUF_NEXT (1 << 29) - -#define CAP_TRIGGER (3 << 0) -#define OVL_CUR_BUF (1 << 5) -#define OVL_BUF_STATUS (1 << 6) -#define CAP_BUF_STATUS (1 << 7) -#define CAPTURE_EN (1 << 31) - -typedef struct _MediaReg { - VOL32 OVERLAY_Y_X_START; /* 0x100 */ - VOL32 OVERLAY_Y_X_END; - VOL32 OVERLAY_VIDEO_KEY_CLR; - VOL32 OVERLAY_VIDEO_KEY_MSK; - VOL32 OVERLAY_GRAPHICS_KEY_CLR; - VOL32 OVERLAY_GRAPHICS_KEY_MSK; - VOL32 OVERLAY_KEY_CNTL; - VOL32 unused_107; - VOL32 OVERLAY_SCALE_INC; - VOL32 OVERLAY_SCALE_CNTL; - VOL32 SCALER_HEIGHT_WIDTH; - VOL32 SCALER_TEST; - VOL32 unused_10c; - VOL32 SCALER_BUF0_OFFSET; - VOL32 SCALER_BUF1_OFFSET; - VOL32 SCALER_BUF_PITCH; - VOL32 CAPTURE_START_END; /* 0x110 */ - VOL32 CAPTURE_X_WIDTH; - VOL32 VIDEO_FORMAT; - VOL32 VBI_START_END; - VOL32 CAPTURE_CONFIG; - VOL32 TRIG_CNTL; - VOL32 OVERLAY_EXCLUSIVE_HORZ; - VOL32 OVERLAY_EXCLUSIVE_VERT; - VOL32 VBI_WIDTH; - VOL32 CAPTURE_DEBUG; - VOL32 VIDEO_SYNC_TEST; - VOL32 unused_11b; - VOL32 SNAPSHOT_VH_COUNTS; - VOL32 SNAPSHOT_F_COUNT; - VOL32 N_VIF_COUNT; - VOL32 SNAPSHOT_VIF_COUNT; - VOL32 CAPTURE_BUF0_OFFSET; /* 0x120 */ - VOL32 CAPTURE_BUF1_OFFSET; - VOL32 ONESHOT_BUF_OFFSET; - VOL32 unused_123; - VOL32 unused_124; - VOL32 unused_125; - VOL32 unused_126; - VOL32 unused_127; - VOL32 unused_128; - VOL32 unused_129; - VOL32 unused_12a; - VOL32 unused_12b; - VOL32 SNAPSHOT2_VH_COUNTS; - VOL32 SNAPSHOT2_F_COUNT; - VOL32 N_VIF2_COUNT; - VOL32 SNAPSHOT2_VIF_COUNT; - VOL32 MPP_CONFIG; /* 0x130 */ - VOL32 MPP_STROBE_SEQ; - VOL32 MPP_ADDR; - VOL32 MPP_DATA; - VOL32 unused_134; - VOL32 unused_135; - VOL32 unused_136; - VOL32 unused_137; - VOL32 unused_138; - VOL32 unused_139; - VOL32 unused_13a; - VOL32 unused_13b; - VOL32 unused_13c; - VOL32 unused_13d; - VOL32 unused_13e; - VOL32 unused_13f; - VOL32 TVO_CNTL; /* 0x140 */ - VOL32 unused_141[15]; - VOL32 unused_150; /* 0x150 */ - VOL32 CRT_HORZ_VERT_LOAD; /* 0x151 */ - VOL32 AGP_BASE; /* 0x152 */ - VOL32 AGP_CNTL; /* 0x153 */ - VOL32 SCALER_COLOUR_CNTL; /* 0x154 */ - VOL32 SCALER_H_COEFF0; /* 0x155 */ - VOL32 SCALER_H_COEFF1; /* 0x156 */ - VOL32 SCALER_H_COEFF2; /* 0x157 */ - VOL32 SCALER_H_COEFF3; /* 0x158 */ - VOL32 SCALER_H_COEFF4; /* 0x159 */ - VOL32 unused_15a; - VOL32 unused_15b; - VOL32 GUI_CMDFIFO_DEBUG; - VOL32 GUI_CMDFIFO_DATA; - VOL32 GUI_CNTL; - VOL32 unused_15f; - VOL32 BM_FRAME_BUF_OFFSET; /* 0x160 */ - VOL32 BM_SYSTEM_MEM_ADDR; - VOL32 BM_COMMAND; - VOL32 BM_STATUS; - VOL32 unused_164[10]; - VOL32 BM_GUI_TABLE; - VOL32 BM_SYSTEM_TABLE; - VOL32 unused_170[5]; /* 0x170 */ - VOL32 SCALER_BUF0_OFFSET_U; - VOL32 SCALER_BUF0_OFFSET_V; - VOL32 SCALER_BUF1_OFFSET_U; - VOL32 SCALER_BUF1_OFFSET_V; - VOL32 unused_179[7]; - VOL32 unused_180[16]; /* 0x180 */ - VOL32 setup_engine[0x40]; /* 0x190 */ - VOL32 dvd_subpicture[0x30]; /* 0x1d0 */ -} MediaReg; - -#define MACH64_XY(x,y) (((x) & 0x7fff) | (((y) & 0x7fff) << 16)) -#define MACH64_YX(x,y) (((y) & 0x7fff) | (((x) & 0x7fff) << 16)) - -typedef struct _mach64Save { - CARD32 LCD_GEN_CTRL; -} Mach64Save; - -typedef struct _mach64CardInfo { - VesaCardPrivRec vesa; - CARD8 *reg_base; - Reg *reg; - MediaReg *media_reg; - Mach64Save save; - Bool lcdEnabled; -} Mach64CardInfo; - -#define getMach64CardInfo(kd) ((Mach64CardInfo *) ((kd)->card->driver)) -#define mach64CardInfo(kd) Mach64CardInfo *mach64c = getMach64CardInfo(kd) - -typedef struct _mach64Cursor { - int width, height; - int xhot, yhot; - Bool has_cursor; - CursorPtr pCursor; - Pixel source, mask; -} Mach64Cursor; - -#define MACH64_CURSOR_WIDTH 64 -#define MACH64_CURSOR_HEIGHT 64 - -/* - * Xv information, optional - */ -typedef struct _mach64PortPriv { - CARD32 YBuf0Offset; - - CARD32 YBuf1Offset; - - CARD8 currentBuf; - - int brightness; - int saturation; - - RegionRec clip; - CARD32 colorKey; - - Bool videoOn; - Time offTime; - Time freeTime; - CARD32 size; - CARD32 offset; - KdOffscreenArea *off_screen; -} Mach64PortPrivRec, *Mach64PortPrivPtr; - -Bool mach64InitVideo(ScreenPtr pScreen); -void mach64FiniVideo(ScreenPtr pScreen); - -/* - * These values are per-format, which is essentially per-depth/per-bpp. - * Because bpp is fixed for the screen by depth, they're computed - * per-screen per-depth. - */ - -typedef struct _mach64ScreenInfo { - VesaScreenPrivRec vesa; - Mach64Cursor cursor; - CARD32 colorKey; - KdVideoAdaptorPtr pAdaptor; - KaaScreenInfoRec kaa; -} Mach64ScreenInfo; - -#define getMach64ScreenInfo(kd) ((Mach64ScreenInfo *) ((kd)->screen->driver)) -#define mach64ScreenInfo(kd) Mach64ScreenInfo *mach64s = getMach64ScreenInfo(kd) - -CARD32 -mach64ReadLCD (Reg *reg, int id); - -void -mach64WriteLCD (Reg *reg, int id, CARD32 data); - -void -mach64Preserve (KdCardInfo *card); - -Bool -mach64MapReg (KdCardInfo *card, Mach64CardInfo *mach64c); - -void -mach64UnmapReg (KdCardInfo *card, Mach64CardInfo *mach64c); - -void -mach64SetMMIO (KdCardInfo *card, Mach64CardInfo *mach64c); - -void -mach64ResetMMIO (KdCardInfo *card, Mach64CardInfo *mach64c); - -Bool -mach64Enable (ScreenPtr pScreen); - -void -mach64Disable (ScreenPtr pScreen); - -Bool -mach64DPMS (ScreenPtr pScreen, int mode); - -void -mach64WaitAvail(Reg *reg, int n); - -void -mach64WaitIdle (Reg *reg); - -Bool -mach64DrawSetup (ScreenPtr pScreen); - -Bool -mach64DrawInit (ScreenPtr pScreen); - -void -mach64DrawReinit (ScreenPtr pScreen); - -void -mach64DrawEnable (ScreenPtr pScreen); - -void -mach64DrawDisable (ScreenPtr pScreen); - -void -mach64DrawFini (ScreenPtr pScreen); - -CARD8 -mach64ReadIndex (Mach64CardInfo *mach64c, CARD16 port, CARD8 index); - -void -mach64WriteIndex (Mach64CardInfo *mach64c, CARD16 port, CARD8 index, CARD8 value); - -Bool -mach64CursorInit (ScreenPtr pScreen); - -void -mach64CursorEnable (ScreenPtr pScreen); - -void -mach64CursorDisable (ScreenPtr pScreen); - -void -mach64CursorFini (ScreenPtr pScreen); - -void -mach64RecolorCursor (ScreenPtr pScreen, int ndef, xColorItem *pdef); - -extern KdCardFuncs mach64Funcs; - -#endif /* _MACH64_H_ */ diff --git a/xorg-server/hw/kdrive/mach64/mach64draw.c b/xorg-server/hw/kdrive/mach64/mach64draw.c deleted file mode 100644 index 15d4d417a..000000000 --- a/xorg-server/hw/kdrive/mach64/mach64draw.c +++ /dev/null @@ -1,590 +0,0 @@ -/* - * Copyright © 1999 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 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. - */ - -#ifdef HAVE_CONFIG_H -#include -#endif -#include "mach64.h" -#include "mach64draw.h" - -#include -#include "gcstruct.h" -#include "scrnintstr.h" -#include "pixmapstr.h" -#include "regionstr.h" -#include "mistruct.h" -#include "dixfontstr.h" -#include "fb.h" -#include "migc.h" -#include "miline.h" -#include "picturestr.h" -#include "kaa.h" - -CARD8 mach64Rop[16] = { - /* GXclear */ 0x01, /* 0 */ - /* GXand */ 0x0c, /* src AND dst */ - /* GXandReverse */ 0x0d, /* src AND NOT dst */ - /* GXcopy */ 0x07, /* src */ - /* GXandInverted*/ 0x0e, /* NOT src AND dst */ - /* GXnoop */ 0x03, /* dst */ - /* GXxor */ 0x05, /* src XOR dst */ - /* GXor */ 0x0b, /* src OR dst */ - /* GXnor */ 0x0f, /* NOT src AND NOT dst */ - /* GXequiv */ 0x06, /* NOT src XOR dst */ - /* GXinvert */ 0x00, /* NOT dst */ - /* GXorReverse */ 0x0a, /* src OR NOT dst */ - /* GXcopyInverted*/ 0x04, /* NOT src */ - /* GXorInverted */ 0x09, /* NOT src OR dst */ - /* GXnand */ 0x08, /* NOT src OR NOT dst */ - /* GXset */ 0x02, /* 1 */ -}; - -#define MACH64_DRAW_COMBO_SOLID 0x1 -#define MACH64_DRAW_COMBO_COPY 0x8 - -#define SYNC_ALWAYS 0 -static Reg *reg; -static CARD32 avail; -static CARD32 triple; - -#define IDX(reg,n) (&(reg)->n - &(reg)->CRTC_H_TOTAL_DISP) - -void -mach64WaitAvail(Reg *reg, int n) -{ - if (avail < n) - { - while ((avail = ((reg->GUI_STAT) >> 16) & 0x3ff) < n) - ; - } - avail -= n; -} - -void -mach64WaitIdle (Reg *reg) -{ - while (reg->GUI_STAT & 1) - ; -} - -#define PIX_FORMAT_MONO 0 -#define PIX_FORMAT_PSEUDO_8 2 -#define PIX_FORMAT_TRUE_1555 3 -#define PIX_FORMAT_TRUE_565 4 -#define PIX_FORMAT_TRUE_8888 6 -#define PIX_FORMAT_TRUE_332 7 -#define PIX_FORMAT_GRAY_8 8 -#define PIX_FORMAT_YUV_422 0xb -#define PIX_FORMAT_YUV_444 0xe -#define PIX_FORMAT_TRUE_4444 0xf - -typedef struct _mach64AccelReg { - int depth; - int bitsPerPixel; - CARD32 DP_PIX_WIDTH; - CARD32 DP_SET_GUI_ENGINE; -} Mach64AccelReg; - -static const Mach64AccelReg mach64AccelReg[] = { - { 1, 1, - /* DP_PIX_WIDTH */ - ((PIX_FORMAT_MONO << 0) | /* DP_DST_PIX_WIDTH */ - (PIX_FORMAT_MONO << 4) | /* COMPOSITE_PIX_WIDTH */ - (PIX_FORMAT_MONO << 8) | /* DP_SRC_PIX_WIDTH */ - (0 << 13) | /* DP_HOST_TRIPLE_EN */ - (0 << 14) | /* DP_PALETTE_TYPE */ - (PIX_FORMAT_MONO << 16) | /* DP_HOST_PIX_WIDTH */ - (0 << 20) | /* DP_C14_RGB_INDEX */ - (0 << 24) | /* DP_BYTE_PIX_ORDER */ - (0 << 25) | /* DP_CONVERSION_TEMP */ - (0 << 26) | /* DP_C14_RGB_LOW_NIBBLE */ - (0 << 27) | /* DP_C14_RGB_HIGH_NIBBLE */ - (PIX_FORMAT_MONO << 28) | /* DP_SCALE_PIX_WIDTH */ - 0), - /* DP_SET_GUI_ENGINE */ - ((PIX_FORMAT_MONO << 3) | - (1 << 6) | /* SET_DP_SRC_PIX_WIDTH */ - (6 << 7) | /* SET_DST_OFFSET */ - (0 << 10) | /* SET_DST_PITCH */ - (0 << 14) | /* SET_DST_PITCH_BY_2 */ - (0 << 15) | /* SET_SRC_OFFPITCH_COPY */ - (0 << 16) | /* SET_SRC_HGTWID1_2 */ - (0 << 20) | /* SET_DRAWING_COMBO */ - (1 << 24) | /* SET_BUS_MASTER_OP */ - (0 << 26) | /* SET_BUS_MASTER_EN */ - (0 << 27) | /* SET_BUS_MASTER_SYNC */ - (0 << 28) | /* DP_HOST_TRIPLE_EN */ - (0 << 29) | /* FAST_FILL_EN */ - (0 << 30) | /* BLOCK_WRITE_EN */ - 0) - }, - { 8, 8, - /* DP_PIX_WIDTH */ - ((PIX_FORMAT_PSEUDO_8 << 0) | /* DP_DST_PIX_WIDTH */ - (PIX_FORMAT_PSEUDO_8 << 4) | /* COMPOSITE_PIX_WIDTH */ - (PIX_FORMAT_PSEUDO_8 << 8) | /* DP_SRC_PIX_WIDTH */ - (0 << 13) | /* DP_HOST_TRIPLE_EN */ - (0 << 14) | /* DP_PALETTE_TYPE */ - (PIX_FORMAT_PSEUDO_8 << 16) | /* DP_HOST_PIX_WIDTH */ - (0 << 20) | /* DP_C14_RGB_INDEX */ - (0 << 24) | /* DP_BYTE_PIX_ORDER */ - (0 << 25) | /* DP_CONVERSION_TEMP */ - (0 << 26) | /* DP_C14_RGB_LOW_NIBBLE */ - (0 << 27) | /* DP_C14_RGB_HIGH_NIBBLE */ - (PIX_FORMAT_PSEUDO_8 << 28) | /* DP_SCALE_PIX_WIDTH */ - 0), - /* DP_SET_GUI_ENGINE */ - ((PIX_FORMAT_PSEUDO_8 << 3) | - (1 << 6) | /* SET_DP_SRC_PIX_WIDTH */ - (6 << 7) | /* SET_DST_OFFSET */ - (0 << 10) | /* SET_DST_PITCH */ - (0 << 14) | /* SET_DST_PITCH_BY_2 */ - (0 << 15) | /* SET_SRC_OFFPITCH_COPY */ - (0 << 16) | /* SET_SRC_HGTWID1_2 */ - (0 << 20) | /* SET_DRAWING_COMBO */ - (1 << 24) | /* SET_BUS_MASTER_OP */ - (0 << 26) | /* SET_BUS_MASTER_EN */ - (0 << 27) | /* SET_BUS_MASTER_SYNC */ - (0 << 28) | /* DP_HOST_TRIPLE_EN */ - (0 << 29) | /* FAST_FILL_EN */ - (0 << 30) | /* BLOCK_WRITE_EN */ - 0) - }, - { 15, 16, - /* DP_PIX_WIDTH */ - ((PIX_FORMAT_TRUE_1555 << 0) | /* DP_DST_PIX_WIDTH */ - (PIX_FORMAT_TRUE_1555 << 4) | /* COMPOSITE_PIX_WIDTH */ - (PIX_FORMAT_TRUE_1555 << 8) | /* DP_SRC_PIX_WIDTH */ - (0 << 13) | /* DP_HOST_TRIPLE_EN */ - (0 << 14) | /* DP_PALETTE_TYPE */ - (PIX_FORMAT_TRUE_1555 << 16) | /* DP_HOST_PIX_WIDTH */ - (0 << 20) | /* DP_C14_RGB_INDEX */ - (0 << 24) | /* DP_BYTE_PIX_ORDER */ - (0 << 25) | /* DP_CONVERSION_TEMP */ - (0 << 26) | /* DP_C14_RGB_LOW_NIBBLE */ - (0 << 27) | /* DP_C14_RGB_HIGH_NIBBLE */ - (PIX_FORMAT_TRUE_1555 << 28) | /* DP_SCALE_PIX_WIDTH */ - 0), - /* DP_SET_GUI_ENGINE */ - ((PIX_FORMAT_TRUE_1555 << 3) | - (1 << 6) | /* SET_DP_SRC_PIX_WIDTH */ - (6 << 7) | /* SET_DST_OFFSET */ - (0 << 10) | /* SET_DST_PITCH */ - (0 << 14) | /* SET_DST_PITCH_BY_2 */ - (0 << 15) | /* SET_SRC_OFFPITCH_COPY */ - (0 << 16) | /* SET_SRC_HGTWID1_2 */ - (0 << 20) | /* SET_DRAWING_COMBO */ - (1 << 24) | /* SET_BUS_MASTER_OP */ - (0 << 26) | /* SET_BUS_MASTER_EN */ - (0 << 27) | /* SET_BUS_MASTER_SYNC */ - (0 << 28) | /* DP_HOST_TRIPLE_EN */ - (0 << 29) | /* FAST_FILL_EN */ - (0 << 30) | /* BLOCK_WRITE_EN */ - 0) - }, - { 16, 16, - /* DP_PIX_WIDTH */ - ((PIX_FORMAT_TRUE_565 << 0) | /* DP_DST_PIX_WIDTH */ - (PIX_FORMAT_TRUE_565 << 4) | /* COMPOSITE_PIX_WIDTH */ - (PIX_FORMAT_TRUE_565 << 8) | /* DP_SRC_PIX_WIDTH */ - (0 << 13) | /* DP_HOST_TRIPLE_EN */ - (0 << 14) | /* DP_PALETTE_TYPE */ - (PIX_FORMAT_TRUE_565 << 16) | /* DP_HOST_PIX_WIDTH */ - (0 << 20) | /* DP_C14_RGB_INDEX */ - (0 << 24) | /* DP_BYTE_PIX_ORDER */ - (0 << 25) | /* DP_CONVERSION_TEMP */ - (0 << 26) | /* DP_C14_RGB_LOW_NIBBLE */ - (0 << 27) | /* DP_C14_RGB_HIGH_NIBBLE */ - (PIX_FORMAT_TRUE_565 << 28) | /* DP_SCALE_PIX_WIDTH */ - 0), - /* DP_SET_GUI_ENGINE */ - ((PIX_FORMAT_TRUE_565 << 3) | - (1 << 6) | /* SET_DP_SRC_PIX_WIDTH */ - (6 << 7) | /* SET_DST_OFFSET */ - (0 << 10) | /* SET_DST_PITCH */ - (0 << 14) | /* SET_DST_PITCH_BY_2 */ - (0 << 15) | /* SET_SRC_OFFPITCH_COPY */ - (0 << 16) | /* SET_SRC_HGTWID1_2 */ - (0 << 20) | /* SET_DRAWING_COMBO */ - (1 << 24) | /* SET_BUS_MASTER_OP */ - (0 << 26) | /* SET_BUS_MASTER_EN */ - (0 << 27) | /* SET_BUS_MASTER_SYNC */ - (0 << 28) | /* DP_HOST_TRIPLE_EN */ - (0 << 29) | /* FAST_FILL_EN */ - (0 << 30) | /* BLOCK_WRITE_EN */ - 0) - }, - { 24, 24, - /* DP_PIX_WIDTH */ - ((PIX_FORMAT_PSEUDO_8 << 0) | /* DP_DST_PIX_WIDTH */ - (PIX_FORMAT_PSEUDO_8 << 4) | /* COMPOSITE_PIX_WIDTH */ - (PIX_FORMAT_PSEUDO_8 << 8) | /* DP_SRC_PIX_WIDTH */ - (0 << 13) | /* DP_HOST_TRIPLE_EN */ - (0 << 14) | /* DP_PALETTE_TYPE */ - (PIX_FORMAT_PSEUDO_8 << 16) | /* DP_HOST_PIX_WIDTH */ - (0 << 20) | /* DP_C14_RGB_INDEX */ - (0 << 24) | /* DP_BYTE_PIX_ORDER */ - (0 << 25) | /* DP_CONVERSION_TEMP */ - (0 << 26) | /* DP_C14_RGB_LOW_NIBBLE */ - (0 << 27) | /* DP_C14_RGB_HIGH_NIBBLE */ - (PIX_FORMAT_PSEUDO_8 << 28) | /* DP_SCALE_PIX_WIDTH */ - 0), - /* DP_SET_GUI_ENGINE */ - ((PIX_FORMAT_PSEUDO_8 << 3) | - (1 << 6) | /* SET_DP_SRC_PIX_WIDTH */ - (6 << 7) | /* SET_DST_OFFSET */ - (0 << 10) | /* SET_DST_PITCH */ - (0 << 14) | /* SET_DST_PITCH_BY_2 */ - (0 << 15) | /* SET_SRC_OFFPITCH_COPY */ - (0 << 16) | /* SET_SRC_HGTWID1_2 */ - (0 << 20) | /* SET_DRAWING_COMBO */ - (1 << 24) | /* SET_BUS_MASTER_OP */ - (0 << 26) | /* SET_BUS_MASTER_EN */ - (0 << 27) | /* SET_BUS_MASTER_SYNC */ - (0 << 28) | /* DP_HOST_TRIPLE_EN */ - (0 << 29) | /* FAST_FILL_EN */ - (0 << 30) | /* BLOCK_WRITE_EN */ - 0) - }, - { 24, 32, - /* DP_PIX_WIDTH */ - ((PIX_FORMAT_TRUE_8888 << 0) | /* DP_DST_PIX_WIDTH */ - (PIX_FORMAT_TRUE_8888 << 4) | /* COMPOSITE_PIX_WIDTH */ - (PIX_FORMAT_TRUE_8888 << 8) | /* DP_SRC_PIX_WIDTH */ - (0 << 13) | /* DP_HOST_TRIPLE_EN */ - (0 << 14) | /* DP_PALETTE_TYPE */ - (PIX_FORMAT_TRUE_8888 << 16) | /* DP_HOST_PIX_WIDTH */ - (0 << 20) | /* DP_C14_RGB_INDEX */ - (0 << 24) | /* DP_BYTE_PIX_ORDER */ - (0 << 25) | /* DP_CONVERSION_TEMP */ - (0 << 26) | /* DP_C14_RGB_LOW_NIBBLE */ - (0 << 27) | /* DP_C14_RGB_HIGH_NIBBLE */ - (PIX_FORMAT_TRUE_8888 << 28) | /* DP_SCALE_PIX_WIDTH */ - 0), - /* DP_SET_GUI_ENGINE */ - ((PIX_FORMAT_TRUE_8888 << 3) | - (1 << 6) | /* SET_DP_SRC_PIX_WIDTH */ - (6 << 7) | /* SET_DST_OFFSET */ - (0 << 10) | /* SET_DST_PITCH */ - (0 << 14) | /* SET_DST_PITCH_BY_2 */ - (0 << 15) | /* SET_SRC_OFFPITCH_COPY */ - (0 << 16) | /* SET_SRC_HGTWID1_2 */ - (0 << 20) | /* SET_DRAWING_COMBO */ - (1 << 24) | /* SET_BUS_MASTER_OP */ - (0 << 26) | /* SET_BUS_MASTER_EN */ - (0 << 27) | /* SET_BUS_MASTER_SYNC */ - (0 << 28) | /* DP_HOST_TRIPLE_EN */ - (0 << 29) | /* FAST_FILL_EN */ - (0 << 30) | /* BLOCK_WRITE_EN */ - 0) - }, - { 32, 32, - /* DP_PIX_WIDTH */ - ((PIX_FORMAT_TRUE_8888 << 0) | /* DP_DST_PIX_WIDTH */ - (PIX_FORMAT_TRUE_8888 << 4) | /* COMPOSITE_PIX_WIDTH */ - (PIX_FORMAT_TRUE_8888 << 8) | /* DP_SRC_PIX_WIDTH */ - (0 << 13) | /* DP_HOST_TRIPLE_EN */ - (0 << 14) | /* DP_PALETTE_TYPE */ - (PIX_FORMAT_TRUE_8888 << 16) | /* DP_HOST_PIX_WIDTH */ - (0 << 20) | /* DP_C14_RGB_INDEX */ - (0 << 24) | /* DP_BYTE_PIX_ORDER */ - (0 << 25) | /* DP_CONVERSION_TEMP */ - (0 << 26) | /* DP_C14_RGB_LOW_NIBBLE */ - (0 << 27) | /* DP_C14_RGB_HIGH_NIBBLE */ - (PIX_FORMAT_TRUE_8888 << 28) | /* DP_SCALE_PIX_WIDTH */ - 0), - /* DP_SET_GUI_ENGINE */ - ((PIX_FORMAT_TRUE_8888 << 3) | - (1 << 6) | /* SET_DP_SRC_PIX_WIDTH */ - (6 << 7) | /* SET_DST_OFFSET */ - (0 << 10) | /* SET_DST_PITCH */ - (0 << 14) | /* SET_DST_PITCH_BY_2 */ - (0 << 15) | /* SET_SRC_OFFPITCH_COPY */ - (0 << 16) | /* SET_SRC_HGTWID1_2 */ - (0 << 20) | /* SET_DRAWING_COMBO */ - (1 << 24) | /* SET_BUS_MASTER_OP */ - (0 << 26) | /* SET_BUS_MASTER_EN */ - (0 << 27) | /* SET_BUS_MASTER_SYNC */ - (0 << 28) | /* DP_HOST_TRIPLE_EN */ - (0 << 29) | /* FAST_FILL_EN */ - (0 << 30) | /* BLOCK_WRITE_EN */ - 0) - } -}; - -#define NACCELREG (sizeof mach64AccelReg / sizeof mach64AccelReg[0]) - -static void -mach64WaitMarker (ScreenPtr pScreen, int marker) -{ - KdScreenPriv(pScreen); - mach64CardInfo(pScreenPriv); - reg = mach64c->reg; - - mach64WaitIdle (reg); -} - -static Bool -mach64Setup (PixmapPtr pDst, PixmapPtr pSrc, CARD32 combo, int wait) -{ - ScreenPtr pScreen = pDst->drawable.pScreen; - KdScreenPriv(pScreen); - mach64CardInfo(pScreenPriv); - CARD32 DST_PITCH; - CARD32 DST_OFFSET; - CARD32 SRC_PITCH; - CARD32 SRC_OFFSET; - CARD32 DP_PIX_WIDTH; - CARD32 DP_SET_GUI_ENGINE; - int i; - - for (i = 0; i < NACCELREG; i++) - if (mach64AccelReg[i].depth == pDst->drawable.depth && - mach64AccelReg[i].bitsPerPixel == pDst->drawable.bitsPerPixel) - break; - if (i == NACCELREG) - return FALSE; - DP_PIX_WIDTH = mach64AccelReg[i].DP_PIX_WIDTH; - DP_SET_GUI_ENGINE = mach64AccelReg[i].DP_SET_GUI_ENGINE; - - reg = mach64c->reg; - if (!reg) - return FALSE; - - triple = (pDst->drawable.bitsPerPixel == 24); - - if (triple) - { - /* bytes / 8 = bytes >> 3 */ - DST_PITCH = pDst->devKind >> 3; - } - else - { - /* pixels / 8 = ((bytes * 8) / bpp) / 8 = bytes / bpp */ - DST_PITCH = pDst->devKind / pDst->drawable.bitsPerPixel; - } - - /* bytes / 8 */ - DST_OFFSET = ((CARD8 *) pDst->devPrivate.ptr - pScreenPriv->screen->memory_base) >> 3; - - mach64WaitAvail(reg, wait + (pSrc ? 5 : 4)); - reg->DP_SET_GUI_ENGINE = DP_SET_GUI_ENGINE | (combo << 20); - reg->DP_PIX_WIDTH = DP_PIX_WIDTH; - reg->DST_OFF_PITCH = ((DST_OFFSET << 0) | /* USR1_DST_OFFSET */ - (DST_PITCH << 22) | /* USR1_DST_PITCH */ - 0); - if (pSrc) - { - if (triple) - { - SRC_PITCH = pSrc->devKind >> 3; - } - else - { - /* pixels / 8 = ((bytes * 8) / bpp) / 8 = bytes / bpp */ - SRC_PITCH = pSrc->devKind / pSrc->drawable.bitsPerPixel; - } - /* bytes / 8 */ - SRC_OFFSET = ((CARD8 *) pSrc->devPrivate.ptr - pScreenPriv->screen->memory_base) >> 3; - - reg->SRC_OFF_PITCH = ((SRC_OFFSET << 0) | - (SRC_PITCH << 22) | - 0); - } - return TRUE; -} - -static Bool -mach64PrepareSolid (PixmapPtr pPixmap, - int alu, - Pixel pm, - Pixel fg) -{ - if (!mach64Setup (pPixmap, 0, 1, 3)) - return FALSE; - reg->DP_MIX = (mach64Rop[alu] << 16) | 0; - reg->DP_WRITE_MSK = pm; - reg->DP_FRGD_CLR = fg; - return TRUE; -} - -static void -mach64Solid (int x1, int y1, int x2, int y2) -{ - if (triple) - { - CARD32 traj; - - x1 *= 3; - x2 *= 3; - - traj = (DST_X_DIR | - DST_Y_DIR | - DST_24_ROT_EN | - DST_24_ROT((x1 / 4) % 6)); - mach64WaitAvail (reg, 1); - reg->GUI_TRAJ_CNTL = traj; - } - mach64WaitAvail(reg,2); - reg->DST_X_Y = MACH64_XY(x1,y1); - reg->DST_WIDTH_HEIGHT = MACH64_XY(x2-x1,y2-y1); -} - -static void -mach64DoneSolid (void) -{ -#if SYNC_ALWAYS - mach64WaitIdle (reg); -#endif -} - -static int copyDx; -static int copyDy; -static CARD32 copyCombo; - -static Bool -mach64PrepareCopy (PixmapPtr pSrcPixmap, - PixmapPtr pDstPixmap, - int dx, - int dy, - int alu, - Pixel pm) -{ - copyCombo = 8 | 2 | 1; - copyDx = dx; - copyDy = dy; - - /* - * Avoid going backwards when copying pixmaps to the screen. - * This should reduce tearing somewhat - */ - if (pSrcPixmap == pDstPixmap) - { - if (dx <= 0) - copyCombo &= ~1; - if (dy <= 0) - copyCombo &= ~2; - } - - if (!mach64Setup (pDstPixmap, pSrcPixmap, copyCombo, 2)) - return FALSE; - - reg->DP_MIX = (mach64Rop[alu] << 16) | 0; - reg->DP_WRITE_MSK = pm; - return TRUE; -} - -static void -mach64Copy (int srcX, - int srcY, - int dstX, - int dstY, - int w, - int h) -{ - if (triple) - { - CARD32 traj; - - srcX *= 3; - dstX *= 3; - w *= 3; - - traj = DST_24_ROT_EN | DST_24_ROT((dstX / 4) % 6); - - if (copyCombo & 1) - traj |= 1; - if (copyCombo & 2) - traj |= 2; - - mach64WaitAvail (reg, 1); - reg->GUI_TRAJ_CNTL = traj; - } - if ((copyCombo & 1) == 0) - { - srcX += w - 1; - dstX += w - 1; - } - if ((copyCombo & 2) == 0) - { - srcY += h - 1; - dstY += h - 1; - } - mach64WaitAvail (reg, 4); - reg->SRC_Y_X = MACH64_YX(srcX, srcY); - reg->SRC_WIDTH1 = w; - reg->DST_Y_X = MACH64_YX(dstX, dstY); - reg->DST_HEIGHT_WIDTH = MACH64_YX(w,h); -} - -static void -mach64DoneCopy (void) -{ -#if SYNC_ALWAYS - mach64WaitIdle (reg); -#endif -} - - -Bool -mach64DrawInit (ScreenPtr pScreen) -{ - KdScreenPriv(pScreen); - mach64ScreenInfo(pScreenPriv); - - memset(&mach64s->kaa, 0, sizeof(KaaScreenInfoRec)); - mach64s->kaa.waitMarker = mach64WaitMarker; - mach64s->kaa.PrepareSolid = mach64PrepareSolid; - mach64s->kaa.Solid = mach64Solid; - mach64s->kaa.DoneSolid = mach64DoneSolid; - mach64s->kaa.PrepareCopy = mach64PrepareCopy; - mach64s->kaa.Copy = mach64Copy; - mach64s->kaa.DoneCopy = mach64DoneCopy; - mach64s->kaa.offsetAlign = 64; - mach64s->kaa.pitchAlign = 64; - mach64s->kaa.flags = KAA_OFFSCREEN_PIXMAPS; - - if (pScreenPriv->screen->fb[0].depth == 4) - return FALSE; - - if (!kaaDrawInit (pScreen, &mach64s->kaa)) - return FALSE; - - return TRUE; -} - -void -mach64DrawEnable (ScreenPtr pScreen) -{ - kaaMarkSync (pScreen); -} - -void -mach64DrawDisable (ScreenPtr pScreen) -{ -} - -void -mach64DrawFini (ScreenPtr pScreen) -{ - kaaDrawFini (pScreen); -} diff --git a/xorg-server/hw/kdrive/mach64/mach64draw.h b/xorg-server/hw/kdrive/mach64/mach64draw.h deleted file mode 100644 index bac11c2a6..000000000 --- a/xorg-server/hw/kdrive/mach64/mach64draw.h +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Copyright © 1999 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 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. - */ - -#ifndef _TRIDENTDRAW_H_ -#define _TRIDENTDRAW_H_ - -#define SetupTrident(s) KdScreenPriv(s); \ - tridentCardInfo(pScreenPriv); \ - Cop *cop = tridentc->cop - -#define TridentAlpha (COP_MULTI_ALPHA|COP_ALPHA_WRITE_ENABLE) - -#define _tridentInit(cop,tridentc) { \ - if ((cop)->status == 0xffffffff) tridentSetMMIO(tridentc); \ - (cop)->multi = (tridentc)->cop_depth; \ - (cop)->multi = (tridentc)->cop_stride; \ - (cop)->multi = TridentAlpha; \ -} \ - -#define _tridentSetSolidRect(cop,pix,alu,cmd) {\ - cop->multi = COP_MULTI_PATTERN; \ - cop->multi = COP_MULTI_ROP | tridentRop[alu]; \ - cop->fg = (pix); \ - cmd = COP_OP_BLT | COP_SCL_OPAQUE | COP_OP_ROP | COP_OP_FG; \ -} - -#define _tridentRect(cop,x1,y1,x2,y2,cmd) { \ - (cop)->dst_start_xy = TRI_XY (x1,y1); \ - (cop)->dst_end_xy = TRI_XY(x2,y2); \ - _tridentWaitDone(cop); \ - (cop)->command = (cmd); \ -} - -#define COP_STATUS_BUSY (COP_STATUS_BE_BUSY | \ - COP_STATUS_DPE_BUSY | \ - COP_STATUS_MI_BUSY) - -#define _tridentWaitDone(cop) { \ - int __q__ = 500000; \ - while (__q__-- && (cop)->status & COP_STATUS_BUSY) \ - ; \ - if (!__q__) \ - (cop)->status = 0; \ -} - -#define _tridentWaitIdleEmpty(cop) _tridentWaitDone(cop) - -#define sourceInvarient(alu) (((alu) & 3) == (((alu) >> 2) & 3)) - -#endif diff --git a/xorg-server/hw/kdrive/mach64/mach64stub.c b/xorg-server/hw/kdrive/mach64/mach64stub.c deleted file mode 100644 index 5895a3cb7..000000000 --- a/xorg-server/hw/kdrive/mach64/mach64stub.c +++ /dev/null @@ -1,75 +0,0 @@ -/* - * Copyright 1999 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. - * - * Author: Keith Packard, SuSE, Inc. - */ - -#ifdef HAVE_CONFIG_H -#include -#endif -#include "mach64.h" -#include - -void -InitCard (char *name) -{ - KdCardAttr attr; - - if (LinuxFindPci (0x1002, 0x4750, 0, &attr)) - KdCardInfoAdd (&mach64Funcs, &attr, 0); - else if (LinuxFindPci (0x1002, 0x4c42, 0, &attr)) - KdCardInfoAdd (&mach64Funcs, &attr, 0); - else if (LinuxFindPci (0x1002, 0x4c46, 0, &attr)) - KdCardInfoAdd (&mach64Funcs, &attr, 0); - else if (LinuxFindPci (0x1002, 0x4c49, 0, &attr)) - KdCardInfoAdd (&mach64Funcs, &attr, 0); - else if (LinuxFindPci (0x1002, 0x4c4d, 0, &attr)) - KdCardInfoAdd (&mach64Funcs, &attr, 0); -} - -void -InitOutput (ScreenInfo *pScreenInfo, int argc, char **argv) -{ - KdInitOutput (pScreenInfo, argc, argv); -} - -void -InitInput (int argc, char **argv) -{ - KdOsAddInputDrivers (); - KdInitInput (); -} - -void -ddxUseMsg (void) -{ - KdUseMsg(); - vesaUseMsg(); -} - -int -ddxProcessArgument (int argc, char **argv, int i) -{ - int ret; - - if (!(ret = vesaProcessArgument (argc, argv, i))) - ret = KdProcessArgument(argc, argv, i); - return ret; -} diff --git a/xorg-server/hw/kdrive/mach64/mach64video.c b/xorg-server/hw/kdrive/mach64/mach64video.c deleted file mode 100644 index 38fcef7eb..000000000 --- a/xorg-server/hw/kdrive/mach64/mach64video.c +++ /dev/null @@ -1,994 +0,0 @@ -/* - * Copyright © 2001 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 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. - */ -#ifdef HAVE_CONFIG_H -#include -#endif -#include "mach64.h" - -#include -#include "fourcc.h" - -#define MAKE_ATOM(a) MakeAtom(a, sizeof(a) - 1, TRUE) - -static Atom xvBrightness, xvSaturation, xvColorKey; - -#define IMAGE_MAX_WIDTH 720 -#define IMAGE_MAX_HEIGHT 576 - -static void -mach64StopVideo(KdScreenInfo *screen, pointer data, Bool exit) -{ - ScreenPtr pScreen = screen->pScreen; - KdScreenPriv(pScreen); - KdCardInfo *card = pScreenPriv->card; - Mach64ScreenInfo *mach64s = (Mach64ScreenInfo *) screen->driver; - Mach64CardInfo *mach64c = (Mach64CardInfo *) card->driver; - Mach64PortPrivPtr pPortPriv = mach64s->pAdaptor->pPortPrivates[0].ptr; - Reg *reg = mach64c->reg; - MediaReg *media = mach64c->media_reg; - - REGION_EMPTY(screen->pScreen, &pPortPriv->clip); - - if (!media) - return; - - if(pPortPriv->videoOn) - { - mach64WaitIdle (reg); - /* wait for buffer to be displayed */ - while (((media->TRIG_CNTL >> 5) & 1) != pPortPriv->currentBuf) - ; - /* wait for buffer to be finished */ - while (((media->TRIG_CNTL >> 6) & 1) != 0) - ; - mach64WaitAvail (reg, 1); - media->OVERLAY_SCALE_CNTL = 0; - pPortPriv->videoOn = FALSE; - mach64WaitIdle (reg); - } - if (pPortPriv->off_screen) - { - KdOffscreenFree (pScreen, pPortPriv->off_screen); - pPortPriv->off_screen = 0; - } -} - -static int -mach64SetPortAttribute(KdScreenInfo *screen, - Atom attribute, - int value, - pointer data) -{ - Mach64ScreenInfo *mach64s = (Mach64ScreenInfo *) screen->driver; - Mach64PortPrivPtr pPortPriv = mach64s->pAdaptor->pPortPrivates[0].ptr; - - if(attribute == xvBrightness) - { - if(value < -1000) - value = -1000; - if (value > 1000) - value = 1000; - pPortPriv->brightness = value; - } - else if(attribute == xvSaturation) - { - if (value < -1000) - value = -1000; - if (value > 1000) - value = 1000; - pPortPriv->saturation = value; - } - else if(attribute == xvColorKey) - { - if (pPortPriv->colorKey != value) - { - pPortPriv->colorKey = value; - REGION_EMPTY(screen->pScreen, &pPortPriv->clip); - } - } - else - return BadMatch; - - return Success; -} - -static int -mach64GetPortAttribute(KdScreenInfo *screen, - Atom attribute, - int *value, - pointer data) -{ - Mach64PortPrivPtr pPortPriv = (Mach64PortPrivPtr)data; - - if(attribute == xvBrightness) - *value = pPortPriv->brightness; - else if(attribute == xvSaturation) - *value = pPortPriv->saturation; - else if(attribute == xvColorKey) - *value = pPortPriv->colorKey; - else - return BadMatch; - - return Success; -} - -static void -mach64QueryBestSize(KdScreenInfo *screen, - Bool motion, - short vid_w, - short vid_h, - short drw_w, - short drw_h, - unsigned int *p_w, - unsigned int *p_h, - pointer data) -{ - *p_w = drw_w; - *p_h = drw_h; -} - - -static void -mach64CopyPackedData(KdScreenInfo *screen, - unsigned char *buf, - int randr, - int srcPitch, - int dstPitch, - int srcW, - int srcH, - int top, - int left, - int h, - int w) -{ - Mach64ScreenInfo *mach64s = (Mach64ScreenInfo *) screen->driver; - Mach64PortPrivPtr pPortPriv = mach64s->pAdaptor->pPortPrivates[0].ptr; - CARD8 *src = buf, *dst; - int srcDown = srcPitch, srcRight = 2, srcNext; - int p; - - switch (randr & RR_Rotate_All) { - case RR_Rotate_0: - src = buf; - srcDown = srcPitch; - srcRight = 2; - break; - case RR_Rotate_90: - src = buf + (srcH - 1) * 2; - srcDown = -2; - srcRight = srcPitch; - break; - case RR_Rotate_180: - src = buf + srcPitch * (srcH - 1) + (srcW - 1) * 2; - srcDown = -srcPitch; - srcRight = -2; - break; - case RR_Rotate_270: - src = buf + srcPitch * (srcW - 1); - srcDown = 2; - srcRight = -srcPitch; - break; - } - - src = src + top*srcDown + left*srcRight; - - if (pPortPriv->currentBuf == 0) - dst = (CARD8 *) mach64s->vesa.fb + pPortPriv->YBuf0Offset; - else - dst = (CARD8 *) mach64s->vesa.fb + pPortPriv->YBuf1Offset; - - w >>= 1; - srcRight >>= 1; - srcNext = srcRight >> 1; - while(h--) - { - CARD16 *s = (CARD16 *) src; - CARD32 *d = (CARD32 *) dst; - p = w; - while (p--) - { - *d++ = s[0] | (s[srcNext] << 16); - s += srcRight; - } - src += srcPitch; - dst += dstPitch; - } -} - -static void -mach64CopyPlanarData(KdScreenInfo *screen, - unsigned char *buf, - int randr, - int srcPitch, - int srcPitch2, - int dstPitch, /* of chroma */ - int srcW, - int srcH, - int height, - int top, - int left, - int h, - int w, - int id) -{ - Mach64ScreenInfo *mach64s = (Mach64ScreenInfo *) screen->driver; - Mach64PortPrivPtr pPortPriv = mach64s->pAdaptor->pPortPrivates[0].ptr; - int i, j; - CARD8 *src1, *src2, *src3, *dst1; - int srcDown = srcPitch, srcDown2 = srcPitch2; - int srcRight = 2, srcRight2 = 1, srcNext = 1; - - /* compute source data pointers */ - src1 = buf; - src2 = src1 + height * srcPitch; - src3 = src2 + (height >> 1) * srcPitch2; - switch (randr & RR_Rotate_All) { - case RR_Rotate_0: - srcDown = srcPitch; - srcDown2 = srcPitch2; - srcRight = 2; - srcRight2 = 1; - srcNext = 1; - break; - case RR_Rotate_90: - src1 = src1 + srcH - 1; - src2 = src2 + (srcH >> 1) - 1; - src3 = src3 + (srcH >> 1) - 1; - srcDown = -1; - srcDown2 = -1; - srcRight = srcPitch * 2; - srcRight2 = srcPitch2; - srcNext = srcPitch; - break; - case RR_Rotate_180: - src1 = src1 + srcPitch * (srcH - 1) + (srcW - 1); - src2 = src2 + srcPitch2 * ((srcH >> 1) - 1) + ((srcW >> 1) - 1); - src3 = src3 + srcPitch2 * ((srcH >> 1) - 1) + ((srcW >> 1) - 1); - srcDown = -srcPitch; - srcDown2 = -srcPitch2; - srcRight = -2; - srcRight2 = -1; - srcNext = -1; - break; - case RR_Rotate_270: - src1 = src1 + srcPitch * (srcW - 1); - src2 = src2 + srcPitch2 * ((srcW >> 1) - 1); - src3 = src3 + srcPitch2 * ((srcW >> 1) - 1); - srcDown = 1; - srcDown2 = 1; - srcRight = -srcPitch * 2; - srcRight2 = -srcPitch2; - srcNext = -srcPitch; - break; - } - - /* adjust for origin */ - src1 += top * srcDown + left * srcNext; - src2 += (top >> 1) * srcDown2 + (left >> 1) * srcRight2; - src3 += (top >> 1) * srcDown2 + (left >> 1) * srcRight2; - - if (id == FOURCC_I420) - { - CARD8 *srct = src2; - src2 = src3; - src3 = srct; - } - - if (pPortPriv->currentBuf == 0) - dst1 = (CARD8 *) mach64s->vesa.fb + pPortPriv->YBuf0Offset; - else - dst1 = (CARD8 *) mach64s->vesa.fb + pPortPriv->YBuf1Offset; - - w >>= 1; - for (j = 0; j < h; j++) - { - CARD32 *dst = (CARD32 *) dst1; - CARD8 *s1l = src1; - CARD8 *s1r = src1 + srcNext; - CARD8 *s2 = src2; - CARD8 *s3 = src3; - - for (i = 0; i < w; i++) - { - *dst++ = *s1l | (*s1r << 16) | (*s3 << 8) | (*s2 << 24); - s1l += srcRight; - s1r += srcRight; - s2 += srcRight2; - s3 += srcRight2; - } - src1 += srcDown; - dst1 += dstPitch; - if (j & 1) - { - src2 += srcDown2; - src3 += srcDown2; - } - } -} - - -/* Mach64ClipVideo - - - Takes the dst box in standard X BoxRec form (top and left - edges inclusive, bottom and right exclusive). The new dst - box is returned. The source boundaries are given (x1, y1 - inclusive, x2, y2 exclusive) and returned are the new source - boundaries in 16.16 fixed point. -*/ - -static void -Mach64ClipVideo(BoxPtr dst, - INT32 *x1, - INT32 *x2, - INT32 *y1, - INT32 *y2, - BoxPtr extents, /* extents of the clip region */ - INT32 width, - INT32 height) -{ - INT32 vscale, hscale, delta; - int diff; - - hscale = ((*x2 - *x1) << 16) / (dst->x2 - dst->x1); - vscale = ((*y2 - *y1) << 16) / (dst->y2 - dst->y1); - - *x1 <<= 16; *x2 <<= 16; - *y1 <<= 16; *y2 <<= 16; - - diff = extents->x1 - dst->x1; - if(diff > 0) { - dst->x1 = extents->x1; - *x1 += diff * hscale; - } - diff = dst->x2 - extents->x2; - if(diff > 0) { - dst->x2 = extents->x2; - *x2 -= diff * hscale; - } - diff = extents->y1 - dst->y1; - if(diff > 0) { - dst->y1 = extents->y1; - *y1 += diff * vscale; - } - diff = dst->y2 - extents->y2; - if(diff > 0) { - dst->y2 = extents->y2; - *y2 -= diff * vscale; - } - - if(*x1 < 0) { - diff = (- *x1 + hscale - 1)/ hscale; - dst->x1 += diff; - *x1 += diff * hscale; - } - delta = *x2 - (width << 16); - if(delta > 0) { - diff = (delta + hscale - 1)/ hscale; - dst->x2 -= diff; - *x2 -= diff * hscale; - } - if(*y1 < 0) { - diff = (- *y1 + vscale - 1)/ vscale; - dst->y1 += diff; - *y1 += diff * vscale; - } - delta = *y2 - (height << 16); - if(delta > 0) { - diff = (delta + vscale - 1)/ vscale; - dst->y2 -= diff; - *y2 -= diff * vscale; - } -} - -static void -mach64DisplayVideo(KdScreenInfo *screen, - int id, - int dstPitch, /* of chroma for 4:2:0 */ - int x1, - int y1, - int x2, - int y2, - int dst_x1, - int dst_y1, - int dst_x2, - int dst_y2, - short src_w, - short src_h, - short drw_w, - short drw_h) -{ - ScreenPtr pScreen = screen->pScreen; - KdScreenPriv(pScreen); - KdCardInfo *card = pScreenPriv->card; - Mach64ScreenInfo *mach64s = (Mach64ScreenInfo *) screen->driver; - Mach64CardInfo *mach64c = (Mach64CardInfo *) card->driver; - Mach64PortPrivPtr pPortPriv = mach64s->pAdaptor->pPortPrivates[0].ptr; - Reg *reg = mach64c->reg; - MediaReg *media = mach64c->media_reg; - int HORZ_INC, VERT_INC; - CARD32 SCALER_IN; - int bright; - int sat; - - if (id == FOURCC_UYVY) - SCALER_IN = SCALER_IN_YVYU422; - else - SCALER_IN = SCALER_IN_VYUY422; - - mach64WaitAvail (reg, 4); - - media->VIDEO_FORMAT = SCALER_IN | VIDEO_IN_VYUY422; - - /* color key */ - media->OVERLAY_GRAPHICS_KEY_MSK = (1 << screen->fb[0].depth) - 1; - media->OVERLAY_GRAPHICS_KEY_CLR = pPortPriv->colorKey; - /* set key control to obey only graphics color key */ - media->OVERLAY_KEY_CNTL = 0x50; - - mach64WaitAvail (reg, 9); - media->CAPTURE_DEBUG = 0; - /* no exclusive video region */ - media->OVERLAY_EXCLUSIVE_HORZ = 0; - media->OVERLAY_EXCLUSIVE_VERT = 0; - /* scaling coefficients */ - media->SCALER_H_COEFF0 = 0x00002000; - media->SCALER_H_COEFF1 = 0x0D06200D; - media->SCALER_H_COEFF2 = 0x0D0A1C0D; - media->SCALER_H_COEFF3 = 0x0C0E1A0C; - media->SCALER_H_COEFF4 = 0x0C14140C; - media->SCALER_TEST = 0; - - mach64WaitAvail (reg, 2); - media->OVERLAY_SCALE_CNTL = (SCALE_PIX_EXPAND | - SCALE_GAMMA_BRIGHT | - SCALE_BANDWIDTH | - SCALE_OVERLAY_EN | - SCALE_EN); - - bright = (pPortPriv->brightness * 64 / 1000); - if (bright < -0x40) - bright = -0x40; - if (bright > 0x3f) - bright = 0x3f; - bright = bright & 0x7f; - sat = ((pPortPriv->saturation * 31 + 31000) / 2000); - if (sat > 0x1f) - sat = 0x1f; - if (sat < 0) - sat = 0; - - media->SCALER_COLOUR_CNTL = ((bright << 0) | /* BRIGHTNESS */ - (sat << 8) | /* SATURATION_U */ - (sat << 16) | /* SATURATION_V */ - (0 << 21) | /* SCALER_VERT_ADJ_UV */ - (0 << 28)); /* SCALER_HORZ_ADJ_UV */ - - VERT_INC = (src_h << 12) / drw_h; - HORZ_INC = (src_w << 12) / drw_w; - - mach64WaitAvail (reg, 13); - - /* lock registers to prevent non-atomic update */ - media->OVERLAY_Y_X_START = 0x80000000 | MACH64_YX (dst_x1, dst_y1); - /* ending screen coordinate */ - media->OVERLAY_Y_X_END = 0x80000000 | MACH64_YX (dst_x2, dst_y2); - - media->OVERLAY_SCALE_INC = MACH64_YX(HORZ_INC, VERT_INC); - - media->SCALER_BUF0_OFFSET = pPortPriv->YBuf0Offset; - media->SCALER_BUF1_OFFSET = pPortPriv->YBuf1Offset; - - media->SCALER_BUF0_OFFSET_U = pPortPriv->YBuf0Offset; - media->SCALER_BUF1_OFFSET_U = pPortPriv->YBuf1Offset; - - media->SCALER_BUF0_OFFSET_V = pPortPriv->YBuf0Offset; - media->SCALER_BUF1_OFFSET_V = pPortPriv->YBuf1Offset; - - media->SCALER_BUF_PITCH = dstPitch >> 1; - media->SCALER_HEIGHT_WIDTH = MACH64_YX(src_w - (x1 >> 16), src_h - (y1 >> 16)); - - media->CAPTURE_CONFIG = pPortPriv->currentBuf << 28; - - /* set XY location and unlock */ - media->OVERLAY_Y_X_START = MACH64_YX (dst_x1, dst_y1); -} - -static void -mach64VideoSave (ScreenPtr pScreen, KdOffscreenArea *area) -{ - KdScreenPriv(pScreen); - KdScreenInfo *screen = pScreenPriv->screen; - Mach64ScreenInfo *mach64s = (Mach64ScreenInfo *) screen->driver; - Mach64PortPrivPtr pPortPriv = mach64s->pAdaptor->pPortPrivates[0].ptr; - - if (pPortPriv->off_screen == area) - pPortPriv->off_screen = 0; -} - -static int -mach64PutImage(KdScreenInfo *screen, - DrawablePtr pDraw, - short src_x, - short src_y, - short drw_x, - short drw_y, - short src_w, - short src_h, - short drw_w, - short drw_h, - int id, - unsigned char *buf, - short width, - short height, - Bool sync, - RegionPtr clipBoxes, - pointer data) -{ - KdCardInfo *card = screen->card; - Mach64ScreenInfo *mach64s = (Mach64ScreenInfo *) screen->driver; - Mach64CardInfo *mach64c = (Mach64CardInfo *) card->driver; - Mach64PortPrivPtr pPortPriv = (Mach64PortPrivPtr)data; - MediaReg *media = mach64c->media_reg; - INT32 x1, x2, y1, y2; - int randr = mach64s->vesa.randr; - int srcPitch, srcPitch2, dstPitch; - int top, left, npixels, nlines, size; - BoxRec dstBox; - int dst_width = width, dst_height = height; - int rot_x1, rot_y1, rot_x2, rot_y2; - int dst_x1, dst_y1, dst_x2, dst_y2; - int rot_src_w, rot_src_h, rot_drw_w, rot_drw_h; - - /* Clip */ - x1 = src_x; - x2 = src_x + src_w; - y1 = src_y; - y2 = src_y + src_h; - - dstBox.x1 = drw_x; - dstBox.x2 = drw_x + drw_w; - dstBox.y1 = drw_y; - dstBox.y2 = drw_y + drw_h; - - Mach64ClipVideo(&dstBox, &x1, &x2, &y1, &y2, - REGION_EXTENTS(pScreen, clipBoxes), width, height); - - if((x1 >= x2) || (y1 >= y2)) - return Success; - - if (!media) - return BadAlloc; - - if (randr & (RR_Rotate_0|RR_Rotate_180)) - { - dst_width = width; - dst_height = height; - rot_src_w = src_w; - rot_src_h = src_h; - rot_drw_w = drw_w; - rot_drw_h = drw_h; - } - else - { - dst_width = height; - dst_height = width; - rot_src_w = src_h; - rot_src_h = src_w; - rot_drw_w = drw_h; - rot_drw_h = drw_w; - } - - switch (randr & RR_Rotate_All) { - case RR_Rotate_0: - default: - dst_x1 = dstBox.x1; - dst_y1 = dstBox.y1; - dst_x2 = dstBox.x2; - dst_y2 = dstBox.y2; - rot_x1 = x1; - rot_y1 = y1; - rot_x2 = x2; - rot_y2 = y2; - break; - case RR_Rotate_90: - dst_x1 = dstBox.y1; - dst_y1 = screen->height - dstBox.x2; - dst_x2 = dstBox.y2; - dst_y2 = screen->height - dstBox.x1; - - rot_x1 = y1; - rot_y1 = (src_w << 16) - x2; - rot_x2 = y2; - rot_y2 = (src_w << 16) - x1; - break; - case RR_Rotate_180: - dst_x1 = screen->width - dstBox.x2; - dst_y1 = screen->height - dstBox.y2; - dst_x2 = screen->width - dstBox.x1; - dst_y2 = screen->height - dstBox.y1; - rot_x1 = (src_w << 16) - x2; - rot_y1 = (src_h << 16) - y2; - rot_x2 = (src_w << 16) - x1; - rot_y2 = (src_h << 16) - y1; - break; - case RR_Rotate_270: - dst_x1 = screen->width - dstBox.y2; - dst_y1 = dstBox.x1; - dst_x2 = screen->width - dstBox.y1; - dst_y2 = dstBox.x2; - rot_x1 = (src_h << 16) - y2; - rot_y1 = x1; - rot_x2 = (src_h << 16) - y1; - rot_y2 = x2; - break; - } - - switch(id) { - case FOURCC_YV12: - case FOURCC_I420: - dstPitch = ((dst_width << 1) + 15) & ~15; - srcPitch = (width + 3) & ~3; - srcPitch2 = ((width >> 1) + 3) & ~3; - size = dstPitch * (int) dst_height; - break; - case FOURCC_UYVY: - case FOURCC_YUY2: - default: - dstPitch = ((dst_width << 1) + 15) & ~15; - srcPitch = (width << 1); - srcPitch2 = 0; - size = dstPitch * (int) dst_height; - break; - } - - if (pPortPriv->off_screen && size != pPortPriv->size) - { - KdOffscreenFree (screen->pScreen, pPortPriv->off_screen); - pPortPriv->off_screen = 0; - } - - if (!pPortPriv->off_screen) - { - pPortPriv->off_screen = KdOffscreenAlloc (screen->pScreen, size * 2, 64, - TRUE, mach64VideoSave, - pPortPriv); - if (!pPortPriv->off_screen) - return BadAlloc; - } - - pPortPriv->offset = pPortPriv->off_screen->offset; - pPortPriv->size = size; - /* fixup pointers */ - - pPortPriv->YBuf0Offset = pPortPriv->offset; - pPortPriv->YBuf1Offset = pPortPriv->offset + size; - -#if 0 - mach64WaitIdle (reg); - - if (pPortPriv->videoOn) - { - /* wait for buffer to be displayed */ - while (((media->TRIG_CNTL >> 5) & 1) != pPortPriv->currentBuf) - ; - } -#endif - /* - * Use the other buffer - */ - pPortPriv->currentBuf = 1 - pPortPriv->currentBuf; - - /* copy data */ - top = rot_y1 >> 16; - left = (rot_x1 >> 16) & ~1; - npixels = ((((rot_x2 + 0xffff) >> 16) + 1) & ~1) - left; - - switch(id) { - case FOURCC_YV12: - case FOURCC_I420: - top &= ~1; - nlines = ((((rot_y2 + 0xffff) >> 16) + 1) & ~1) - top; - mach64CopyPlanarData(screen, buf, randr, - srcPitch, srcPitch2, dstPitch, - rot_src_w, rot_src_h, height, - top, left, nlines, npixels, id); - break; - case FOURCC_UYVY: - case FOURCC_YUY2: - default: - nlines = ((rot_y2 + 0xffff) >> 16) - top; - mach64CopyPackedData(screen, buf, randr, - srcPitch, dstPitch, - rot_src_w, rot_src_h, - top, left, nlines, - npixels); - break; - } - - mach64DisplayVideo(screen, id, dstPitch, - rot_x1, rot_y1, rot_x2, rot_y2, - dst_x1, dst_y1, - dst_x2, dst_y2, - rot_src_w, rot_src_h, rot_drw_w, rot_drw_h); - - /* update cliplist */ - if (!REGION_EQUAL (screen->pScreen, &pPortPriv->clip, clipBoxes)) - { - REGION_COPY (screen->pScreen, &pPortPriv->clip, clipBoxes); - KXVPaintRegion (pDraw, &pPortPriv->clip, pPortPriv->colorKey); - } - - pPortPriv->videoOn = TRUE; - - return Success; -} - -static int -mach64QueryImageAttributes(KdScreenInfo *screen, - int id, - unsigned short *w, - unsigned short *h, - int *pitches, - int *offsets) -{ - int size, tmp; - - if(*w > IMAGE_MAX_WIDTH) - *w = IMAGE_MAX_WIDTH; - if(*h > IMAGE_MAX_HEIGHT) - *h = IMAGE_MAX_HEIGHT; - - *w = (*w + 1) & ~1; - if(offsets) offsets[0] = 0; - - switch(id) { - case FOURCC_YV12: - case FOURCC_I420: - *h = (*h + 1) & ~1; - size = (*w + 3) & ~3; - if(pitches) - pitches[0] = size; - size *= *h; - if(offsets) - offsets[1] = size; - tmp = ((*w >> 1) + 3) & ~3; - if(pitches) - pitches[1] = pitches[2] = tmp; - tmp *= (*h >> 1); - size += tmp; - if(offsets) - offsets[2] = size; - size += tmp; - break; - case FOURCC_UYVY: - case FOURCC_YUY2: - default: - size = *w << 1; - if(pitches) - pitches[0] = size; - size *= *h; - break; - } - - return size; -} - - -/* client libraries expect an encoding */ -static KdVideoEncodingRec DummyEncoding[1] = -{ - { - 0, - "XV_IMAGE", - IMAGE_MAX_WIDTH, IMAGE_MAX_HEIGHT, - {1, 1} - } -}; - -#define NUM_FORMATS 3 - -static KdVideoFormatRec Formats[NUM_FORMATS] = -{ - {15, TrueColor}, {16, TrueColor}, {24, TrueColor} -}; - -#define NUM_ATTRIBUTES 3 - -static KdAttributeRec Attributes[NUM_ATTRIBUTES] = -{ - {XvSettable | XvGettable, 0, ~0, "XV_COLORKEY"}, - {XvSettable | XvGettable, -1000, 1000, "XV_BRIGHTNESS"}, - {XvSettable | XvGettable, -1000, 1000, "XV_SATURATION"} -}; - -#define NUM_IMAGES 4 - -static KdImageRec Images[NUM_IMAGES] = -{ - XVIMAGE_YUY2, - XVIMAGE_YV12, - XVIMAGE_I420, - XVIMAGE_UYVY -}; - -static void mach64ResetVideo(KdScreenInfo *screen) -{ -} - -static int -mach64ReputImage (KdScreenInfo *screen, - DrawablePtr pDraw, - short drw_x, - short drw_y, - RegionPtr clipBoxes, - pointer data) -{ - Mach64PortPrivPtr pPortPriv = (Mach64PortPrivPtr)data; - BoxPtr pOldExtents = REGION_EXTENTS (screen->pScreen, &pPortPriv->clip); - BoxPtr pNewExtents = REGION_EXTENTS (screen->pScreen, clipBoxes); - - if (pOldExtents->x1 == pNewExtents->x1 && - pOldExtents->x2 == pNewExtents->x2 && - pOldExtents->y1 == pNewExtents->y1 && - pOldExtents->y2 == pNewExtents->y2) - { - /* update cliplist */ - if (!REGION_EQUAL (screen->pScreen, &pPortPriv->clip, clipBoxes)) - { - REGION_COPY (screen->pScreen, &pPortPriv->clip, clipBoxes); - KXVPaintRegion (pDraw, &pPortPriv->clip, pPortPriv->colorKey); - } - return Success; - } - return BadMatch; -} - -static KdVideoAdaptorPtr -mach64SetupImageVideo(ScreenPtr pScreen) -{ - KdScreenPriv(pScreen); - mach64ScreenInfo(pScreenPriv); - KdScreenInfo *screen = pScreenPriv->screen; - KdVideoAdaptorPtr adapt; - Mach64PortPrivPtr pPortPriv; - - if(!(adapt = xcalloc(1, sizeof(KdVideoAdaptorRec) + - sizeof(Mach64PortPrivRec) + - sizeof(DevUnion)))) - return NULL; - - adapt->type = XvWindowMask | XvInputMask | XvImageMask; - adapt->flags = VIDEO_OVERLAID_IMAGES | VIDEO_CLIP_TO_VIEWPORT; - adapt->name = "Mach64 Video Overlay"; - adapt->nEncodings = 1; - adapt->pEncodings = DummyEncoding; - adapt->nFormats = NUM_FORMATS; - adapt->pFormats = Formats; - adapt->nPorts = 1; - adapt->pPortPrivates = (DevUnion*)(&adapt[1]); - - pPortPriv = (Mach64PortPrivPtr)(&adapt->pPortPrivates[1]); - - adapt->pPortPrivates[0].ptr = (pointer)(pPortPriv); - adapt->pAttributes = Attributes; - adapt->nImages = NUM_IMAGES; - adapt->nAttributes = NUM_ATTRIBUTES; - adapt->pImages = Images; - adapt->PutVideo = NULL; - adapt->PutStill = NULL; - adapt->GetVideo = NULL; - adapt->GetStill = NULL; - adapt->StopVideo = mach64StopVideo; - adapt->SetPortAttribute = mach64SetPortAttribute; - adapt->GetPortAttribute = mach64GetPortAttribute; - adapt->QueryBestSize = mach64QueryBestSize; - adapt->PutImage = mach64PutImage; - adapt->ReputImage = mach64ReputImage; - adapt->QueryImageAttributes = mach64QueryImageAttributes; - - pPortPriv->colorKey = mach64s->colorKey; - pPortPriv->videoOn = FALSE; - pPortPriv->brightness = 0; - pPortPriv->saturation = 0; - pPortPriv->currentBuf = 0; - pPortPriv->off_screen = 0; - pPortPriv->size = 0; - pPortPriv->offset = 0; - - /* gotta uninit this someplace */ - REGION_INIT(pScreen, &pPortPriv->clip, NullBox, 0); - - mach64s->pAdaptor = adapt; - - xvBrightness = MAKE_ATOM("XV_BRIGHTNESS"); - xvSaturation = MAKE_ATOM("XV_SATURATION"); - xvColorKey = MAKE_ATOM("XV_COLORKEY"); - - mach64ResetVideo(screen); - - return adapt; -} - -Bool mach64InitVideo(ScreenPtr pScreen) -{ - KdScreenPriv(pScreen); - KdScreenInfo *screen = pScreenPriv->screen; - KdVideoAdaptorPtr *adaptors, *newAdaptors = NULL; - KdVideoAdaptorPtr newAdaptor = NULL; - int num_adaptors; - KdCardInfo *card = pScreenPriv->card; - Mach64CardInfo *mach64c = (Mach64CardInfo *) card->driver; - Mach64ScreenInfo *mach64s = (Mach64ScreenInfo *) screen->driver; - - mach64s->pAdaptor = NULL; - - if (!mach64c->media_reg) - return FALSE; - - newAdaptor = mach64SetupImageVideo(pScreen); - - num_adaptors = KdXVListGenericAdaptors(screen, &adaptors); - - if(newAdaptor) - { - if(!num_adaptors) - { - num_adaptors = 1; - adaptors = &newAdaptor; - } - else - { - newAdaptors = xalloc((num_adaptors + 1) * - sizeof(KdVideoAdaptorPtr*)); - if(newAdaptors) - { - memcpy(newAdaptors, adaptors, - num_adaptors * sizeof(KdVideoAdaptorPtr)); - newAdaptors[num_adaptors] = newAdaptor; - adaptors = newAdaptors; - num_adaptors++; - } - } - } - - if(num_adaptors) - KdXVScreenInit(pScreen, adaptors, num_adaptors); - - if(newAdaptors) - xfree(newAdaptors); - return TRUE; -} - -void -mach64FiniVideo (ScreenPtr pScreen) -{ - KdScreenPriv(pScreen); - mach64ScreenInfo(pScreenPriv); - KdVideoAdaptorPtr adapt = mach64s->pAdaptor; - - if (adapt) - { - Mach64PortPrivPtr pPortPriv = (Mach64PortPrivPtr)(&adapt->pPortPrivates[1]); - REGION_UNINIT (pScreen, &pPortPriv->clip); - xfree (adapt); - } -} diff --git a/xorg-server/hw/kdrive/mga/Makefile.am b/xorg-server/hw/kdrive/mga/Makefile.am deleted file mode 100644 index a7dd2cbf6..000000000 --- a/xorg-server/hw/kdrive/mga/Makefile.am +++ /dev/null @@ -1,38 +0,0 @@ -INCLUDES = \ - @KDRIVE_INCS@ \ - -I$(top_srcdir)/hw/kdrive/vesa \ - @KDRIVE_CFLAGS@ - -bin_PROGRAMS = Xmga - -noinst_LIBRARIES = libmga.a - -libmga_a_SOURCES = \ - mgadraw.c \ - g400_composite.c \ - g400_common.h \ - mga.c \ - mga.h - -Xmga_SOURCES = \ - mgastub.c - -MGA_LIBS = \ - libmga.a \ - $(top_builddir)/hw/kdrive/vesa/libvesa.a \ - @KDRIVE_LIBS@ - -if GLX -Xmga_LDFLAGS = $(LD_EXPORT_SYMBOLS_FLAG) -endif - -Xmga_LDADD = \ - $(MGA_LIBS) \ - @KDRIVE_LIBS@ - -Xmga_DEPENDENCIES = \ - libmga.a \ - @KDRIVE_LOCAL_LIBS@ - -relink: - rm -f $(bin_PROGRAMS) && make $(bin_PROGRAMS) diff --git a/xorg-server/hw/kdrive/mga/Makefile.in b/xorg-server/hw/kdrive/mga/Makefile.in deleted file mode 100644 index 45b95f2e0..000000000 --- a/xorg-server/hw/kdrive/mga/Makefile.in +++ /dev/null @@ -1,720 +0,0 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008 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 = Xmga$(EXEEXT) -subdir = hw/kdrive/mga -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 -libmga_a_AR = $(AR) $(ARFLAGS) -libmga_a_LIBADD = -am_libmga_a_OBJECTS = mgadraw.$(OBJEXT) g400_composite.$(OBJEXT) \ - mga.$(OBJEXT) -libmga_a_OBJECTS = $(am_libmga_a_OBJECTS) -am__installdirs = "$(DESTDIR)$(bindir)" -binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) -PROGRAMS = $(bin_PROGRAMS) -am_Xmga_OBJECTS = mgastub.$(OBJEXT) -Xmga_OBJECTS = $(am_Xmga_OBJECTS) -am__DEPENDENCIES_1 = libmga.a $(top_builddir)/hw/kdrive/vesa/libvesa.a -Xmga_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(Xmga_LDFLAGS) \ - $(LDFLAGS) -o $@ -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include -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 = $(libmga_a_SOURCES) $(Xmga_SOURCES) -DIST_SOURCES = $(libmga_a_SOURCES) $(Xmga_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@ -DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ -DRI2PROTO_LIBS = @DRI2PROTO_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@ -DSYMUTIL = @DSYMUTIL@ -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@ -GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ -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@ -LAUNCHD = @LAUNCHD@ -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@ -NMEDIT = @NMEDIT@ -OBJC = @OBJC@ -OBJCCLD = @OBJCCLD@ -OBJCDEPMODE = @OBJCDEPMODE@ -OBJCFLAGS = @OBJCFLAGS@ -OBJCLINK = @OBJCLINK@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ -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@ -PCIACCESS_CFLAGS = @PCIACCESS_CFLAGS@ -PCIACCESS_LIBS = @PCIACCESS_LIBS@ -PCI_TXT_IDS_PATH = @PCI_TXT_IDS_PATH@ -PERL = @PERL@ -PKG_CONFIG = @PKG_CONFIG@ -PROJECTROOT = @PROJECTROOT@ -PS2PDF = @PS2PDF@ -RANLIB = @RANLIB@ -RAWCPP = @RAWCPP@ -RAWCPPFLAGS = @RAWCPPFLAGS@ -SED = @SED@ -SERVER_MISC_CONFIG_PATH = @SERVER_MISC_CONFIG_PATH@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ -SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ -STRIP = @STRIP@ -TSLIB_CFLAGS = @TSLIB_CFLAGS@ -TSLIB_LIBS = @TSLIB_LIBS@ -UTILS_SYS_LIBS = @UTILS_SYS_LIBS@ -VENDOR_MAN_VERSION = @VENDOR_MAN_VERSION@ -VENDOR_NAME = @VENDOR_NAME@ -VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ -VENDOR_RELEASE = @VENDOR_RELEASE@ -VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ -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_CFLAGS = @XDMX_CFLAGS@ -XDMX_LIBS = @XDMX_LIBS@ -XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ -XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ -XEPHYR_INCS = @XEPHYR_INCS@ -XEPHYR_LIBS = @XEPHYR_LIBS@ -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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ -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@ -XNEST_SYS_LIBS = @XNEST_SYS_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_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@ -XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_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@ -XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ -XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ -XTSTEXAMPLES_DEP_LIBS = @XTSTEXAMPLES_DEP_LIBS@ -XVFB_LIBS = @XVFB_LIBS@ -XVFB_SYS_LIBS = @XVFB_SYS_LIBS@ -XWINMODULES_CFLAGS = @XWINMODULES_CFLAGS@ -XWINMODULES_LIBS = @XWINMODULES_LIBS@ -XWIN_LIBS = @XWIN_LIBS@ -XWIN_SERVER_NAME = @XWIN_SERVER_NAME@ -XWIN_SYS_LIBS = @XWIN_SYS_LIBS@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -__XCONFIGFILE__ = @__XCONFIGFILE__@ -abi_ansic = @abi_ansic@ -abi_extension = @abi_extension@ -abi_font = @abi_font@ -abi_videodrv = @abi_videodrv@ -abi_xinput = @abi_xinput@ -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@ -launchagentsdir = @launchagentsdir@ -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_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ -INCLUDES = \ - @KDRIVE_INCS@ \ - -I$(top_srcdir)/hw/kdrive/vesa \ - @KDRIVE_CFLAGS@ - -noinst_LIBRARIES = libmga.a -libmga_a_SOURCES = \ - mgadraw.c \ - g400_composite.c \ - g400_common.h \ - mga.c \ - mga.h - -Xmga_SOURCES = \ - mgastub.c - -MGA_LIBS = \ - libmga.a \ - $(top_builddir)/hw/kdrive/vesa/libvesa.a \ - @KDRIVE_LIBS@ - -@GLX_TRUE@Xmga_LDFLAGS = $(LD_EXPORT_SYMBOLS_FLAG) -Xmga_LDADD = \ - $(MGA_LIBS) \ - @KDRIVE_LIBS@ - -Xmga_DEPENDENCIES = \ - libmga.a \ - @KDRIVE_LOCAL_LIBS@ - -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/kdrive/mga/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign hw/kdrive/mga/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) -libmga.a: $(libmga_a_OBJECTS) $(libmga_a_DEPENDENCIES) - -rm -f libmga.a - $(libmga_a_AR) libmga.a $(libmga_a_OBJECTS) $(libmga_a_LIBADD) - $(RANLIB) libmga.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) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ - $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --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 -Xmga$(EXEEXT): $(Xmga_OBJECTS) $(Xmga_DEPENDENCIES) - @rm -f Xmga$(EXEEXT) - $(Xmga_LINK) $(Xmga_OBJECTS) $(Xmga_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/g400_composite.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mga.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mgadraw.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mgastub.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; nonemtpy = 1; } \ - END { if (nonempty) { 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; nonempty = 1; } \ - END { if (nonempty) { 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=; \ - 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; nonempty = 1; } \ - END { if (nonempty) { 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) -installdirs: - for dir in "$(DESTDIR)$(bindir)"; 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-dvi: install-dvi-am - -install-exec-am: install-binPROGRAMS - -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-binPROGRAMS - -.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-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-binPROGRAMS - - -relink: - rm -f $(bin_PROGRAMS) && make $(bin_PROGRAMS) -# 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/xorg-server/hw/kdrive/mga/g400_common.h b/xorg-server/hw/kdrive/mga/g400_common.h deleted file mode 100644 index 9f16d2431..000000000 --- a/xorg-server/hw/kdrive/mga/g400_common.h +++ /dev/null @@ -1,185 +0,0 @@ -/* - * 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. - */ - -#ifndef __G400_COMMON_H__ -#define __G400_COMMON_H__ - -/* Color registers */ -#define MGA_REG_DR4 (0x1CD0) -#define MGA_REG_DR6 (0x1CD8) -#define MGA_REG_DR7 (0x1CDC) -#define MGA_REG_DR8 (0x1CE0) -#define MGA_REG_DR10 (0x1CE8) -#define MGA_REG_DR11 (0x1CEC) -#define MGA_REG_DR12 (0x1CF0) -#define MGA_REG_DR14 (0x1CF8) -#define MGA_REG_DR15 (0x1CFC) - -/* Alpha registers */ -#define MGA_REG_ALPHASTART (0x2C70) -#define MGA_REG_ALPHAXINC (0x2C74) -#define MGA_REG_ALPHAYINC (0x2C78) -#define MGA_REG_ALPHACTRL (0x2C7C) -# define MGA_SRC_ZERO (0x00000000) -# define MGA_SRC_ONE (0x00000001) -# define MGA_SRC_DST_COLOR (0x00000002) -# define MGA_SRC_ONE_MINUS_DST_COLOR (0x00000003) -# define MGA_SRC_ALPHA (0x00000004) -# define MGA_SRC_ONE_MINUS_SRC_ALPHA (0x00000005) -# define MGA_SRC_DST_ALPHA (0x00000006) -# define MGA_SRC_ONE_MINUS_DST_ALPHA (0x00000007) -# define MGA_SRC_SRC_ALPHA_SATURATE (0x00000008) -# define MGA_SRC_BLEND_MASK (0x0000000f) - -# define MGA_DST_ZERO (0x00000000) -# define MGA_DST_ONE (0x00000010) -# define MGA_DST_SRC_COLOR (0x00000020) -# define MGA_DST_ONE_MINUS_SRC_COLOR (0x00000030) -# define MGA_DST_SRC_ALPHA (0x00000040) -# define MGA_DST_ONE_MINUS_SRC_ALPHA (0x00000050) -# define MGA_DST_DST_ALPHA (0x00000060) -# define MGA_DST_ONE_MINUS_DST_ALPHA (0x00000070) -# define MGA_DST_BLEND_MASK (0x00000070) - -# define MGA_ALPHACHANNEL (0x00000100) -# define MGA_VIDEOALPHA (0x00000200) -# define MGA_DIFFUSEDALPHA (0x01000000) -# define MGA_MODULATEDALPHA (0x02000000) - -/* Textures registers */ -#define MGA_REG_TEXORG (0x2c24) -#define MGA_REG_TEXORG1 (0x2ca4) -#define MGA_REG_TEXWIDTH (0x2C28) -#define MGA_REG_TEXHEIGHT (0x2C2C) -#define MGA_REG_TMR0 (0x2C00) -#define MGA_REG_TMR1 (0x2C04) -#define MGA_REG_TMR2 (0x2C08) -#define MGA_REG_TMR3 (0x2C0C) -#define MGA_REG_TMR4 (0x2C10) -#define MGA_REG_TMR5 (0x2C14) -#define MGA_REG_TMR6 (0x2C18) -#define MGA_REG_TMR7 (0x2C1C) -#define MGA_REG_TMR8 (0x2C20) - -/* Texture Control Registers */ -#define MGA_REG_TEXCTL (0x2C30) -# define MGA_TW4 (0x00000000) -# define MGA_TW8 (0x00000001) -# define MGA_TW15 (0x00000002) -# define MGA_TW16 (0x00000003) -# define MGA_TW12 (0x00000004) -# define MGA_TW32 (0x00000006) -# define MGA_TW8A (0x00000007) -# define MGA_TW8AL (0x00000008) -# define MGA_TW422 (0x0000000A) -# define MGA_TW422UYVY (0x0000000B) -# define MGA_PITCHLIN (0x00000100) -# define MGA_NOPERSPECTIVE (0x00200000) -# define MGA_TAKEY (0x02000000) -# define MGA_TAMASK (0x04000000) -# define MGA_CLAMPUV (0x18000000) -#define MGA_REG_TEXCTL2 (0x2C3C) -# define MGA_G400_TC2_MAGIC (0x00008000) -# define MGA_TC2_DECALBLEND (0x00000001) -# define MGA_TC2_IDECAL (0x00000002) -# define MGA_TC2_DECALDIS (0x00000004) -# define MGA_TC2_CKSTRANSDIS (0x00000010) -# define MGA_TC2_BORDEREN (0x00000020) -# define MGA_TC2_SPECEN (0x00000040) -# define MGA_TC2_DUALTEX (0x00000080) -# define MGA_TC2_TABLEFOG (0x00000100) -# define MGA_TC2_BUMPMAP (0x00000200) -# define MGA_TC2_SELECT_TMU1 (0x80000000) -#define MGA_REG_TEXFILTER (0x2C58) -# define MGA_MIN_NRST (0x00000000) -# define MGA_MIN_BILIN (0x00000002) -# define MGA_MIN_ANISO (0x0000000D) -# define MGA_MAG_NRST (0x00000000) -# define MGA_MAG_BILIN (0x00000020) - -/* Multi-Textures Control Registers */ -#define MGA_REG_TDUALSTAGE0 (0x2CF8) -#define MGA_REG_TDUALSTAGE1 (0x2CFC) -# define MGA_TDS_COLOR_ARG2_DIFFUSE (0x00000000) -# define MGA_TDS_COLOR_ARG2_SPECULAR (0x00000001) -# define MGA_TDS_COLOR_ARG2_FCOL (0x00000002) -# define MGA_TDS_COLOR_ARG2_PREVSTAGE (0x00000003) -# define MGA_TDS_COLOR_ALPHA_DIFFUSE (0x00000000) -# define MGA_TDS_COLOR_ALPHA_FCOL (0x00000004) -# define MGA_TDS_COLOR_ALPHA_CURRTEX (0x00000008) -# define MGA_TDS_COLOR_ALPHA_PREVTEX (0x0000000c) -# define MGA_TDS_COLOR_ALPHA_PREVSTAGE (0x00000010) -# define MGA_TDS_COLOR_ARG1_REPLICATEALPHA (0x00000020) -# define MGA_TDS_COLOR_ARG1_INV (0x00000040) -# define MGA_TDS_COLOR_ARG2_REPLICATEALPHA (0x00000080) -# define MGA_TDS_COLOR_ARG2_INV (0x00000100) -# define MGA_TDS_COLOR_ALPHA1INV (0x00000200) -# define MGA_TDS_COLOR_ALPHA2INV (0x00000400) -# define MGA_TDS_COLOR_ARG1MUL_ALPHA1 (0x00000800) -# define MGA_TDS_COLOR_ARG2MUL_ALPHA2 (0x00001000) -# define MGA_TDS_COLOR_ARG1ADD_MULOUT (0x00002000) -# define MGA_TDS_COLOR_ARG2ADD_MULOUT (0x00004000) -# define MGA_TDS_COLOR_MODBRIGHT_2X (0x00008000) -# define MGA_TDS_COLOR_MODBRIGHT_4X (0x00010000) -# define MGA_TDS_COLOR_ADD_SUB (0x00000000) -# define MGA_TDS_COLOR_ADD_ADD (0x00020000) -# define MGA_TDS_COLOR_ADD2X (0x00040000) -# define MGA_TDS_COLOR_ADDBIAS (0x00080000) -# define MGA_TDS_COLOR_BLEND (0x00100000) -# define MGA_TDS_COLOR_SEL_ARG1 (0x00000000) -# define MGA_TDS_COLOR_SEL_ARG2 (0x00200000) -# define MGA_TDS_COLOR_SEL_ADD (0x00400000) -# define MGA_TDS_COLOR_SEL_MUL (0x00600000) -# define MGA_TDS_ALPHA_ARG1_INV (0x00800000) -# define MGA_TDS_ALPHA_ARG2_DIFFUSE (0x00000000) -# define MGA_TDS_ALPHA_ARG2_FCOL (0x01000000) -# define MGA_TDS_ALPHA_ARG2_PREVTEX (0x02000000) -# define MGA_TDS_ALPHA_ARG2_PREVSTAGE (0x03000000) -# define MGA_TDS_ALPHA_ARG2_INV (0x04000000) -# define MGA_TDS_ALPHA_ADD (0x08000000) -# define MGA_TDS_ALPHA_ADDBIAS (0x10000000) -# define MGA_TDS_ALPHA_ADD2X (0x20000000) -# define MGA_TDS_ALPHA_SEL_ARG1 (0x00000000) -# define MGA_TDS_ALPHA_SEL_ARG2 (0x40000000) -# define MGA_TDS_ALPHA_SEL_ADD (0x80000000) -# define MGA_TDS_ALPHA_SEL_MUL (0xc0000000) - - - -/* Composition Prototypes. MMIO Access */ -Bool -mgaCheckComposite(int op, PicturePtr pSrcPicture, PicturePtr pMaskPicture, - PicturePtr pDstPicture); - -Bool -mgaPrepareComposite(int op, PicturePtr pSrcPicture, PicturePtr pMaskPicture, - PicturePtr pDstPicture, PixmapPtr pSrc, - PixmapPtr pMask, PixmapPtr pDst); - -void -mgaComposite(int srcX, int srcY, int maskX, int maskY, - int dstX, int dstY, int w, int h); - -void -mgaDoneComposite(void); - -#endif diff --git a/xorg-server/hw/kdrive/mga/g400_composite.c b/xorg-server/hw/kdrive/mga/g400_composite.c deleted file mode 100644 index dda9d9347..000000000 --- a/xorg-server/hw/kdrive/mga/g400_composite.c +++ /dev/null @@ -1,510 +0,0 @@ -/* - * 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. - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include "mga.h" -#include "g400_common.h" - - -static PicturePtr currentSrcPicture; -static PicturePtr currentMaskPicture; -static PixmapPtr currentSrc; -static PixmapPtr currentMask; -static int src_w2; -static int src_h2; -static int mask_w2; -static int mask_h2; - -struct blendinfo { - Bool dst_alpha; - Bool src_alpha; - CARD32 blend_cntl; -}; - -static struct blendinfo mgaBlendOP[] = { - /* Clear */ - {0, 0, MGA_SRC_ZERO | MGA_DST_ZERO}, - /* Src */ - {0, 0, MGA_SRC_ONE | MGA_DST_ZERO}, - /* Dst */ - {0, 0, MGA_SRC_ZERO | MGA_DST_ONE}, - /* Over */ - {0, 1, MGA_SRC_ONE | MGA_DST_ONE_MINUS_SRC_ALPHA}, - /* OverReverse */ - {1, 0, MGA_SRC_ONE_MINUS_DST_ALPHA | MGA_DST_ONE}, - /* In */ - {1, 0, MGA_SRC_DST_ALPHA | MGA_DST_ZERO}, - /* InReverse */ - {0, 1, MGA_SRC_ZERO | MGA_DST_SRC_ALPHA}, - /* Out */ - {1, 0, MGA_SRC_ONE_MINUS_DST_ALPHA | MGA_DST_ZERO}, - /* OutReverse */ - {0, 1, MGA_SRC_ZERO | MGA_DST_ONE_MINUS_SRC_ALPHA}, - /* Atop */ - {1, 1, MGA_SRC_DST_ALPHA | MGA_DST_ONE_MINUS_SRC_ALPHA}, - /* AtopReverse */ - {1, 1, MGA_SRC_ONE_MINUS_DST_ALPHA | MGA_DST_SRC_ALPHA}, - /* Xor */ - {1, 1, MGA_SRC_ONE_MINUS_DST_ALPHA | MGA_DST_ONE_MINUS_SRC_ALPHA}, - /* Add */ - {0, 0, MGA_SRC_ONE | MGA_DST_ONE}, -}; - -struct formatinfo { - int fmt; - CARD32 card_fmt; -}; - -static struct formatinfo texformats[] = { - {PICT_a8r8g8b8, MGA_TW32}, - {PICT_x8r8g8b8, MGA_TW32}, - {PICT_r5g6b5, MGA_TW16}, - {PICT_a1r5g5b5, MGA_TW15}, - {PICT_x1r5g5b5, MGA_TW15}, - {PICT_a4r4g4b4, MGA_TW12}, - {PICT_x4r4g4b4, MGA_TW12}, - {PICT_a8, MGA_TW8A}, -}; - -static int -MGA_LOG2( int val ) -{ - int ret = 0; - if (val==1) return 0; - while (val >> ret) - ret++; - - return ((1 << (ret-1)) == val) ? (ret-1) : ret; -} - - -static Bool -mgaCheckSourceTexture (int tmu, - PicturePtr pPict) -{ - int w = pPict->pDrawable->width; - int h = pPict->pDrawable->height; - int i; - CARD32 texctl = 0; - - if ((w > 2047) || (h > 2047)) - MGA_FALLBACK(("Picture w/h too large (%dx%d)\n", w, h)); - - for (i = 0; i < sizeof(texformats) / sizeof(texformats[0]); i++) { - if (texformats[i].fmt == pPict->format) { - texctl = texformats[i].card_fmt; - break; - } - } - if (texctl == 0) { - MGA_FALLBACK(("Unsupported picture format 0x%x\n", pPict->format)); - } - - if (pPict->repeat && ((w & (w - 1)) != 0 || (h & (h - 1)) != 0)) - MGA_FALLBACK(("NPOT repeat unsupported (%dx%d)\n", w, h)); - - if (pPict->filter != PictFilterNearest && - pPict->filter != PictFilterBilinear) - MGA_FALLBACK(("Unsupported filter 0x%x\n", pPict->filter)); - - return TRUE; -} - -static Bool -PrepareSourceTexture (int tmu, - PicturePtr pSrcPicture, - PixmapPtr pSrc) -{ - KdScreenPriv (pSrc->drawable.pScreen); - int mem_base=(int)pScreenPriv->screen->memory_base; - int pitch = pSrc->devKind / (pSrc->drawable.bitsPerPixel >> 3); - int i; - - int w = pSrc->drawable.width; - int h = pSrc->drawable.height; - int w_log2 = MGA_LOG2(w); - int h_log2 = MGA_LOG2(h); - - int texctl = MGA_PITCHLIN | ((pitch & (2048 - 1)) << 9) | - MGA_CLAMPUV | MGA_NOPERSPECTIVE; - int flags = 0; - int texctl2 = MGA_G400_TC2_MAGIC | flags; - - for (i = 0; i < sizeof(texformats) / sizeof(texformats[0]); i++) { - if (texformats[i].fmt == pSrcPicture->format) { - texctl |= texformats[i].card_fmt; - break; - } - } - - if (PICT_FORMAT_A(pSrcPicture->format) != 0) { - texctl |= MGA_TAKEY; - } else { - texctl |= MGA_TAMASK | MGA_TAKEY; - } - - if (pSrcPicture->repeat) { - texctl &= ~MGA_CLAMPUV; - } - - if (tmu == 1) - texctl2 |= MGA_TC2_DUALTEX | MGA_TC2_SELECT_TMU1 | flags; - - mgaWaitAvail (6); - MGA_OUT32 (mmio, MGA_REG_TEXCTL2, texctl2); - MGA_OUT32 (mmio, MGA_REG_TEXCTL, texctl); - /* Source (texture) address + pitch */ - MGA_OUT32 (mmio, MGA_REG_TEXORG, ((int)pSrc->devPrivate.ptr - mem_base)); - MGA_OUT32 (mmio, MGA_REG_TEXWIDTH, (w-1)<<18 | ((8-w_log2)&63)<<9 | w_log2); - MGA_OUT32 (mmio, MGA_REG_TEXHEIGHT, (h-1)<<18 | ((8-h_log2)&63)<<9 | h_log2); - /* Set blit filtering flags */ - if (pSrcPicture->filter == PictFilterBilinear) { - MGA_OUT32 (mmio, MGA_REG_TEXFILTER, - (0x10<<21) | MGA_MAG_BILIN | MGA_MIN_BILIN); - } else { - MGA_OUT32 (mmio, MGA_REG_TEXFILTER, - (0x10<<21) | MGA_MAG_NRST | MGA_MIN_NRST); - } - - if (tmu == 1) { - mgaWaitAvail (1); - MGA_OUT32 (mmio, MGA_REG_TEXCTL2, MGA_G400_TC2_MAGIC | MGA_TC2_DUALTEX | flags); - } - - return TRUE; -} - - -/* - * The formals params are the elements of the following matrix: - * - * Dest Transform Src - * coords coords - * / Xdst \ / X_incx X_incy X_init \ / Xsrc \ - * | Ydst | = | Y_incx Y_incy Y_init | x | Ysrc | - * \ 1 / \ H_incx H_incy H_init / \ 1 / - * - * matrix elements are 32bits fixed points (16.16) - * mga_fx_* is the size of the fixed point for the TMU - */ -static void -setTMIncrementsRegs(int X_incx, - int X_incy, - int X_init, - int Y_incx, - int Y_incy, - int Y_init, - int H_incx, - int H_incy, - int H_init, - int mga_fx_width_size, - int mga_fx_height_size) { - int decalw = mga_fx_width_size - 16; - int decalh = mga_fx_height_size - 16; - - /* Convert 16 bits fixpoint -> MGA variable size fixpoint */ - if (decalw >= 0) { - X_incx = X_incx << decalw; - X_incy = X_incy << decalw; - X_init = X_init << decalw; - } else { - decalw =- decalw; - X_incx = X_incx >> decalw; - X_incy = X_incy >> decalw; - X_init = X_init >> decalw; - } - - /* Convert 16 bits fixpoint -> MGA variable size fixpoint */ - if (decalh >= 0) { - Y_incx = Y_incx << decalh; - Y_incy = Y_incy << decalh; - Y_init = Y_init << decalh; - } else { - decalh =- decalh; - Y_incx = Y_incx >> decalh; - Y_incy = Y_incy >> decalh; - Y_init = Y_init >> decalh; - } - - /* Set TM registers */ - mgaWaitAvail (9); - MGA_OUT32 (mmio, MGA_REG_TMR0, X_incx); - MGA_OUT32 (mmio, MGA_REG_TMR1, Y_incx); - MGA_OUT32 (mmio, MGA_REG_TMR2, X_incy); - MGA_OUT32 (mmio, MGA_REG_TMR3, Y_incy); - MGA_OUT32 (mmio, MGA_REG_TMR4, H_incx); - MGA_OUT32 (mmio, MGA_REG_TMR5, H_incy); - MGA_OUT32 (mmio, MGA_REG_TMR6, X_init); - MGA_OUT32 (mmio, MGA_REG_TMR7, Y_init); - MGA_OUT32 (mmio, MGA_REG_TMR8, H_init); -} - - - - -Bool -mgaCheckComposite(int op, PicturePtr pSrcPicture, PicturePtr pMaskPicture, - PicturePtr pDstPicture) -{ - if (op >= sizeof(mgaBlendOP) / sizeof(mgaBlendOP[0])) - MGA_FALLBACK(("unsupported op %x", op)); - if (!mgaCheckSourceTexture (0, pSrcPicture)) - return FALSE; - - if (pMaskPicture != NULL) { - if (PICT_FORMAT_A(pMaskPicture->format) == 0) - MGA_FALLBACK(("Mask without alpha unsupported")); - if (!mgaCheckSourceTexture (1, pMaskPicture)) - return FALSE; - } - - if (pMaskPicture->componentAlpha) - MGA_FALLBACK(("Component alpha unsupported")); - - if (pDstPicture->format == PICT_a8) - MGA_FALLBACK(("render to A8 unsupported")); - - return TRUE; -} - -#define C_ARG1_CUR 0x0 -#define C_ARG1_ALPHA MGA_TDS_COLOR_ARG1_REPLICATEALPHA -#define C_ARG2_DIFFUSE MGA_TDS_COLOR_ARG2_DIFFUSE -#define C_ARG2_FCOL MGA_TDS_COLOR_ARG2_FCOL -#define C_ARG2_PREV MGA_TDS_COLOR_ARG2_PREVSTAGE -#define C_ARG1_INV MGA_TDS_COLOR_ARG1_INV -#define C_ARG2_INV MGA_TDS_COLOR_ARG2_INV -#define COLOR_MUL MGA_TDS_COLOR_SEL_MUL -#define COLOR_ARG1 MGA_TDS_COLOR_SEL_ARG1 -#define COLOR_ARG2 MGA_TDS_COLOR_SEL_ARG2 -#define A_ARG1_CUR 0x0 -#define A_ARG2_IGN A_ARG2_DIFFUSE -#define A_ARG2_FCOL MGA_TDS_ALPHA_ARG2_FCOL -#define A_ARG2_DIFFUSE MGA_TDS_ALPHA_ARG2_DIFFUSE -#define A_ARG2_PREV MGA_TDS_ALPHA_ARG2_PREVSTAGE -#define ALPHA_MUL MGA_TDS_ALPHA_SEL_MUL -#define ALPHA_ARG1 MGA_TDS_ALPHA_SEL_ARG1 -#define ALPHA_ARG2 MGA_TDS_ALPHA_SEL_ARG2 - - -Bool -mgaPrepareComposite (int op, - PicturePtr pSrcPicture, - PicturePtr pMaskPicture, - PicturePtr pDstPicture, - PixmapPtr pSrc, - PixmapPtr pMask, - PixmapPtr pDst) -{ - KdScreenPriv (pSrc->drawable.pScreen); - int mem_base=(int)pScreenPriv->screen->memory_base; - int cmd, blendcntl; - int ds0, ds1; - - /* Init MGA (clipping) */ - mgaSetup (pSrc->drawable.pScreen, pDst->drawable.bitsPerPixel, 1); - - /* Initialize fg color to 0, used in the src = A8 case */ - MGA_OUT32 (mmio, MGA_REG_FCOL, 0xff000000); - - /* Destination flags */ - mgaWaitAvail (2); - MGA_OUT32 (mmio, MGA_REG_DSTORG, ((int)pDst->devPrivate.ptr - mem_base)); - MGA_OUT32 (mmio, MGA_REG_PITCH, - pDst->devKind / (pDst->drawable.bitsPerPixel >> 3)); - - - /* Source(s) flags */ - if (!PrepareSourceTexture (0, pSrcPicture, pSrc)) return FALSE; - if (pMask != NULL) { - if (!PrepareSourceTexture (1, pMaskPicture, pMask)) return FALSE; - } - - /* Prepare multi-texture registers */ - ds0=ds1=0; - - if (pSrcPicture->format == PICT_a8) { - /* C = 0 A = As */ - /* MGA HW: A8 format makes RGB white. We use FCOL for the black - * If FCOL was not 0, it would have been be premultiplied (RENDER) - * color component would have been: - * C_ARG1_ALPHA | C_ARG2_FCOL | COLOR_MUL - */ - ds0=C_ARG2_FCOL | COLOR_ARG2 | - A_ARG1_CUR | ALPHA_ARG1; - /* MGA HW: TMU1 must be enabled when DUALSTAGE0 contains something */ - if (pMask == NULL) { - if (!PrepareSourceTexture (1, pSrcPicture, pSrc)) return FALSE; - ds1=C_ARG2_PREV | COLOR_ARG2 | - A_ARG2_PREV | ALPHA_ARG2; - } - } else { - /* C = Cs A = As */ - ds0=C_ARG1_CUR | COLOR_ARG1 | - A_ARG1_CUR | ALPHA_ARG1; - } - - if (pMask != NULL) { - /* As or Am might be NULL. in this case we don't multiply because, - * the alpha component holds garbage. - */ - int color,alpha; - if (PICT_FORMAT_A (pMaskPicture->format) == 0) { - /* C = Cs */ - color = C_ARG2_PREV | COLOR_ARG2; - } else { - /* C = Am * Cs */ - color = C_ARG1_ALPHA | C_ARG2_PREV | COLOR_MUL; - } - - if (PICT_FORMAT_A (pMaskPicture->format) == 0) { - /* A = As */ - alpha = A_ARG2_PREV | ALPHA_ARG2; - } else if (PICT_FORMAT_A (pSrcPicture->format) == 0) { - /* A = Am */ - alpha = A_ARG1_CUR | ALPHA_ARG1; - } else { - /* A = Am * As */ - alpha = A_ARG1_CUR | A_ARG2_PREV | ALPHA_MUL; - } - - ds1 = color | alpha; - } - - /* MultiTexture modulation */ - mgaWaitAvail (2); - MGA_OUT32 (mmio, MGA_REG_TDUALSTAGE0, ds0); - MGA_OUT32 (mmio, MGA_REG_TDUALSTAGE1, ds1); - - - cmd = MGA_OPCOD_TEXTURE_TRAP | MGA_ATYPE_RSTR | 0x000c0000 | - MGA_DWGCTL_SHIFTZERO | MGA_DWGCTL_SGNZERO | MGA_DWGCTL_ARZERO | - MGA_ATYPE_I; - - blendcntl = mgaBlendOP[op].blend_cntl; - if (PICT_FORMAT_A(pDstPicture->format) == 0 && mgaBlendOP[op].dst_alpha) { - if ((blendcntl & MGA_SRC_BLEND_MASK) == MGA_SRC_DST_ALPHA) - blendcntl = (blendcntl & ~MGA_SRC_BLEND_MASK) | MGA_SRC_ONE; - else if ((blendcntl & MGA_SRC_BLEND_MASK) == MGA_SRC_ONE_MINUS_DST_ALPHA) - blendcntl = (blendcntl & ~MGA_SRC_BLEND_MASK) | MGA_SRC_ZERO; - } - - mgaWaitAvail (2); - MGA_OUT32 (mmio, MGA_REG_DWGCTL, cmd); - MGA_OUT32 (mmio, MGA_REG_ALPHACTRL, MGA_ALPHACHANNEL | blendcntl); - - currentSrcPicture = pSrcPicture; - currentMaskPicture = pMaskPicture; - currentSrc = pSrc; - currentMask = pMask; - src_w2 = MGA_LOG2 (currentSrc->drawable.width); - src_h2 = MGA_LOG2 (currentSrc->drawable.height); - mask_w2 = MGA_LOG2 (currentMask->drawable.width); - mask_h2 = MGA_LOG2 (currentMask->drawable.height); - - return TRUE; -} - - -void -mgaComposite (int srcX, - int srcY, - int maskX, - int maskY, - int dstX, - int dstY, - int width, - int height) -{ - /* Source positions can be outside source textures' boundaries. - * We clamp the values here to avoid rendering glitches. - */ - srcX=srcX % currentSrc->drawable.width; - srcY=srcY % currentSrc->drawable.height; - maskX=maskX % currentMask->drawable.width; - maskY=maskY % currentMask->drawable.height; - - if (currentSrcPicture->transform) { - setTMIncrementsRegs (currentSrcPicture->transform->matrix[0][0], - currentSrcPicture->transform->matrix[0][1], - currentSrcPicture->transform->matrix[0][2] + - (srcX << 16), - currentSrcPicture->transform->matrix[1][0], - currentSrcPicture->transform->matrix[1][1], - currentSrcPicture->transform->matrix[1][2] + - (srcY << 16), - currentSrcPicture->transform->matrix[2][0], - currentSrcPicture->transform->matrix[2][1], - currentSrcPicture->transform->matrix[2][2], - 20-src_w2, 20-src_h2); - } else { - setTMIncrementsRegs (1 << 16, 0, srcX << 16, - 0, 1 << 16, srcY << 16, - 0, 0, 0x10000, - 20-src_w2, 20-src_h2); - } - - if (currentMask != NULL) { - mgaWaitAvail (1); - MGA_OUT32 (mmio, MGA_REG_TEXCTL2, - MGA_G400_TC2_MAGIC | MGA_TC2_DUALTEX | MGA_TC2_SELECT_TMU1); - if (currentMaskPicture->transform) { - setTMIncrementsRegs (currentMaskPicture->transform->matrix[0][0], - currentMaskPicture->transform->matrix[0][1], - currentMaskPicture->transform->matrix[0][2] + - (maskX << 16), - currentMaskPicture->transform->matrix[1][0], - currentMaskPicture->transform->matrix[1][1], - currentMaskPicture->transform->matrix[1][2] + - (maskY << 16), - currentMaskPicture->transform->matrix[2][0], - currentMaskPicture->transform->matrix[2][1], - currentMaskPicture->transform->matrix[2][2], - 20-mask_w2, 20-mask_h2); - } else { - setTMIncrementsRegs (1 << 16, 0, maskX << 16, - 0, 1 << 16, maskY << 16, - 0, 0, 0x10000, - 20-mask_w2, 20-mask_h2); - } - - mgaWaitAvail (1); - MGA_OUT32 (mmio, MGA_REG_TEXCTL2, MGA_G400_TC2_MAGIC | MGA_TC2_DUALTEX); - } - - /* Destination Bounding Box - * (Boundary Right | Boundary Left, Y dest | Height) - */ - mgaWaitAvail (2); - MGA_OUT32 (mmio, MGA_REG_FXBNDRY, - ((dstX + width) << 16) | (dstX & 0xffff)); - MGA_OUT32 (mmio, MGA_REG_YDSTLEN | MGA_REG_EXEC, - (dstY << 16) | (height & 0xffff)); -} - -void -mgaDoneComposite (void) -{ -} diff --git a/xorg-server/hw/kdrive/mga/mga.c b/xorg-server/hw/kdrive/mga/mga.c deleted file mode 100644 index 2ae35d143..000000000 --- a/xorg-server/hw/kdrive/mga/mga.c +++ /dev/null @@ -1,240 +0,0 @@ -/* - * Copyright © 2003 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. - */ -#ifdef HAVE_CONFIG_H -#include -#endif -#include "mga.h" - -static Bool -mgaCardInit (KdCardInfo *card) -{ - MgaCardInfo *mgac; - - mgac = (MgaCardInfo *) xalloc (sizeof (MgaCardInfo)); - if (!mgac) - return FALSE; - - mgaMapReg (card, mgac); - - if (!vesaInitialize (card, &mgac->vesa)) - { - xfree (mgac); - return FALSE; - } - - mgac->fifo_size = 0; - - card->driver = mgac; - - return TRUE; -} - -static Bool -mgaScreenInit (KdScreenInfo *screen) -{ - MgaScreenInfo *mgas; - - mgas = (MgaScreenInfo *) xalloc (sizeof (MgaScreenInfo)); - if (!mgas) - return FALSE; - memset (mgas, '\0', sizeof (MgaScreenInfo)); - if (!vesaScreenInitialize (screen, &mgas->vesa)) - { - xfree (mgas); - return FALSE; - } -#if 0 - /* if (!mgac->reg) - screen->dumb = TRUE; */ - - if (mgas->vesa.mapping != VESA_LINEAR) - screen->dumb = TRUE; - - fprintf (stderr, "vesa mapping is %d\n", mgas->vesa.mapping); -#endif - screen->driver = mgas; - return TRUE; -} - -static Bool -mgaInitScreen (ScreenPtr pScreen) -{ - return vesaInitScreen (pScreen); -} - -static Bool -mgaFinishInitScreen (ScreenPtr pScreen) -{ - Bool ret; - - ret = vesaFinishInitScreen (pScreen); - - return ret; -} - -static Bool -mgaCreateResources (ScreenPtr pScreen) -{ - return vesaCreateResources (pScreen); -} - -static void -mgaPreserve (KdCardInfo *card) -{ - vesaPreserve (card); -} - -Bool -mgaMapReg (KdCardInfo *card, MgaCardInfo *mgac) -{ - mgac->reg_base = (CARD8 *) KdMapDevice (MGA_REG_BASE (card), - MGA_REG_SIZE (card)); - - if (!mgac->reg_base) - { - return FALSE; - } - - KdSetMappedMode (MGA_REG_BASE (card), - MGA_REG_SIZE (card), - KD_MAPPED_MODE_REGISTERS); - - return TRUE; -} - -void -mgaUnmapReg (KdCardInfo *card, MgaCardInfo *mgac) -{ - if (mgac->reg_base) - { - KdResetMappedMode (MGA_REG_BASE (card), - MGA_REG_SIZE (card), - KD_MAPPED_MODE_REGISTERS); - KdUnmapDevice ((void *) mgac->reg_base, MGA_REG_SIZE (card)); - mgac->reg_base = 0; - /* mgac->reg = 0; */ - } -} - -void -mgaSetMMIO (KdCardInfo *card, MgaCardInfo *mgac) -{ - if (!mgac->reg_base) - mgaMapReg (card, mgac); -} - -void -mgaResetMMIO (KdCardInfo *card, MgaCardInfo *mgac) -{ - mgaUnmapReg (card, mgac); -} - -static Bool -mgaDPMS (ScreenPtr pScreen, int mode) -{ - /* XXX */ - return TRUE; -} - -static Bool -mgaEnable (ScreenPtr pScreen) -{ - KdScreenPriv (pScreen); - MgaCardInfo *mgac = pScreenPriv->card->driver; - - if (!vesaEnable (pScreen)) - return FALSE; - - mgaSetMMIO (pScreenPriv->card, mgac); - mgaDPMS (pScreen, KD_DPMS_NORMAL); - - return TRUE; -} - -static void -mgaDisable (ScreenPtr pScreen) -{ - KdScreenPriv (pScreen); - MgaCardInfo *mgac = pScreenPriv->card->driver; - - mgaResetMMIO (pScreenPriv->card, mgac); - - vesaDisable (pScreen); -} - -static void -mgaRestore (KdCardInfo *card) -{ - MgaCardInfo *mgac = card->driver; - - mgaResetMMIO (card, mgac); - vesaRestore (card); -} - -static void -mgaScreenFini (KdScreenInfo *screen) -{ - MgaScreenInfo *mgas = (MgaScreenInfo *) screen->driver; - - vesaScreenFini (screen); - xfree (mgas); - screen->driver = 0; -} - -static void -mgaCardFini (KdCardInfo *card) -{ - MgaCardInfo *mgac = (MgaCardInfo *)card->driver; - - mgaUnmapReg (card, mgac); - vesaCardFini (card); -} - -KdCardFuncs mgaFuncs = { - mgaCardInit, /* cardinit */ - mgaScreenInit, /* scrinit */ - mgaInitScreen, /* initScreen */ - mgaFinishInitScreen, /* finishInitScreen */ - mgaCreateResources, /* createRes */ - mgaPreserve, /* preserve */ - mgaEnable, /* enable */ - mgaDPMS, /* dpms */ - mgaDisable, /* disable */ - mgaRestore, /* restore */ - mgaScreenFini, /* scrfini */ - mgaCardFini, /* cardfini */ - - 0, /* initCursor */ - 0, /* enableCursor */ - 0, /* disableCursor */ - 0, /* finiCursor */ - 0, /* recolorCursor */ - - mgaDrawInit, /* initAccel */ - mgaDrawEnable, /* enableAccel */ - mgaDrawDisable, /* disableAccel */ - mgaDrawFini, /* finiAccel */ - - vesaGetColors, /* getColors */ - vesaPutColors, /* putColors */ -}; - diff --git a/xorg-server/hw/kdrive/mga/mga.h b/xorg-server/hw/kdrive/mga/mga.h deleted file mode 100644 index 8fa956096..000000000 --- a/xorg-server/hw/kdrive/mga/mga.h +++ /dev/null @@ -1,164 +0,0 @@ -/* - * 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. - */ - -#ifndef _MGA_H_ -#define _MGA_H_ -#include -#include - -#define MGA_REG_BASE(c) ((c)->attr.address[1]) -#define MGA_REG_SIZE(c) (0x4000) - -#define MGA_OUT32(mmio, a, v) (*(VOL32 *) ((mmio) + (a)) = (v)) -#define MGA_IN32(mmio, a) (*(VOL32 *) ((mmio) + (a))) - -#define MGA_REG_EXEC (0x0100) -#define MGA_REG_DWGCTL (0x1c00) -#define MGA_REG_PLNWT (0x1c1c) -#define MGA_REG_FCOL (0x1c24) -#define MGA_REG_MACCESS (0x1c04) -#define MGA_REG_SGN (0x1c58) -#define MGA_REG_AR0 (0x1c60) -#define MGA_REG_AR1 (0x1c64) -#define MGA_REG_AR2 (0x1c68) -#define MGA_REG_AR3 (0x1c6C) -#define MGA_REG_AR4 (0x1c70) -#define MGA_REG_AR5 (0x1c74) -#define MGA_REG_AR6 (0x1c78) - -#define MGA_REG_CXBNDRY (0x1c80) -#define MGA_REG_FXBNDRY (0x1c84) -#define MGA_REG_YDSTLEN (0x1c88) -#define MGA_REG_PITCH (0x1c8c) -#define MGA_REG_YTOP (0x1c98) -#define MGA_REG_YBOT (0x1c9c) -#define MGA_REG_FIFOSTATUS (0x1e10) -#define MGA_REG_STATUS (0x1e14) -#define MGA_REG_CACHEFLUSH (0x1fff) -#define MGA_REG_SRCORG (0x2cb4) -#define MGA_REG_DSTORG (0x2cb8) - -#define MGA_G4XX_DEVICE_ID (0x0525) - -#define MGA_PW8 (0) -#define MGA_PW16 (1) -#define MGA_PW24 (2) -#define MGA_PW32 (3) - -/* Drawing opcodes */ -#define MGA_OPCOD_TRAP (4) -#define MGA_OPCOD_TEXTURE_TRAP (6) -#define MGA_OPCOD_BITBLT (8) - -#define MGA_DWGCTL_SOLID (1 << 11) -#define MGA_DWGCTL_ARZERO (1 << 12) -#define MGA_DWGCTL_SGNZERO (1 << 13) -#define MGA_DWGCTL_SHIFTZERO (1 << 14) - -#define MGA_DWGCTL_BFCOL (2 << 25) - -#define MGA_ATYPE_RPL (0 << 4) -#define MGA_ATYPE_RSTR (1 << 4) -#define MGA_ATYPE_ZI (3 << 4) -#define MGA_ATYPE_BLK (4 << 4) -#define MGA_ATYPE_I (7 << 4) - -typedef volatile CARD8 VOL8; -typedef volatile CARD16 VOL16; -typedef volatile CARD32 VOL32; - -typedef struct _mgaCardInfo { - VesaCardPrivRec vesa; - CARD8 *reg_base; - int fifo_size; -} MgaCardInfo; - -#define getMgaCardInfo(kd) ((MgaCardInfo *) ((kd)->card->driver)) -#define mgaCardInfo(kd) MgaCardInfo *mgac = getMgaCardInfo(kd) - -typedef struct _mgaScreenInfo { - VesaScreenPrivRec vesa; - - KaaScreenInfoRec kaa; - - int pitch; - int pw; -} MgaScreenInfo; - -#define getMgaScreenInfo(kd) ((MgaScreenInfo *) ((kd)->screen->driver)) -#define mgaScreenInfo(kd) MgaScreenInfo *mgas = getMgaScreenInfo(kd) - - -VOL8 *mmio; - - -Bool -mgaMapReg (KdCardInfo *card, MgaCardInfo *mgac); - -void -mgaUnmapReg (KdCardInfo *card, MgaCardInfo *mgac); - -void -mgaSetMMIO (KdCardInfo *card, MgaCardInfo *mgac); - -void -mgaResetMMIO (KdCardInfo *card, MgaCardInfo *mgac); - -Bool -mgaDrawSetup (ScreenPtr pScreen); - -Bool -mgaDrawInit (ScreenPtr pScreen); - -void -mgaDrawEnable (ScreenPtr pScreen); - -void -mgaDrawDisable (ScreenPtr pScreen); - -void -mgaDrawFini (ScreenPtr pScreen); - -extern KdCardFuncs mgaFuncs; - - -void -mgaWaitAvail (int n); - -void -mgaWaitIdle (void); - -Bool -mgaSetup (ScreenPtr pScreen, int dest_bpp, int wait); - - -#if 0 -#define MGA_FALLBACK(x) \ -do { \ - ErrorF x; \ - return FALSE; \ -} while (0); -#else -#define MGA_FALLBACK(x) return FALSE; -#endif - -#endif /* _MGA_H_ */ diff --git a/xorg-server/hw/kdrive/mga/mgadraw.c b/xorg-server/hw/kdrive/mga/mgadraw.c deleted file mode 100644 index d27e8c9cc..000000000 --- a/xorg-server/hw/kdrive/mga/mgadraw.c +++ /dev/null @@ -1,324 +0,0 @@ -/* - * 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. - */ -#ifdef HAVE_CONFIG_H -#include -#endif -#include "mga.h" -#include "g400_common.h" -#include "kaa.h" -#include - -CARD32 mgaRop[16] = { - /* GXclear */ MGA_ATYPE_RPL | 0x00000000, /* 0 */ - /* GXand */ MGA_ATYPE_RSTR | 0x00080000, /* src AND dst */ - /* GXandReverse */ MGA_ATYPE_RSTR | 0x00040000, /* src AND NOT dst */ - /* GXcopy */ MGA_ATYPE_RSTR | 0x000c0000, /* src */ - /* GXandInverted */ MGA_ATYPE_RSTR | 0x00020000, /* NOT src AND dst */ - /* GXnoop */ MGA_ATYPE_RSTR | 0x000a0000, /* dst */ - /* GXxor */ MGA_ATYPE_RSTR | 0x00060000, /* src XOR dst */ - /* GXor */ MGA_ATYPE_RSTR | 0x000e0000, /* src OR dst */ - /* GXnor */ MGA_ATYPE_RSTR | 0x00010000, /* NOT src AND NOT dst */ - /* GXequiv */ MGA_ATYPE_RSTR | 0x00090000, /* NOT src XOR dst */ - /* GXinvert */ MGA_ATYPE_RSTR | 0x00050000, /* NOT dst */ - /* GXorReverse */ MGA_ATYPE_RSTR | 0x000d0000, /* src OR NOT dst */ - /* GXcopyInverted */ MGA_ATYPE_RPL | 0x00030000, /* NOT src */ - /* GXorInverted */ MGA_ATYPE_RSTR | 0x000b0000, /* NOT src OR dst */ - /* GXnand */ MGA_ATYPE_RSTR | 0x00070000, /* NOT src OR NOT dst */ - /* GXset */ MGA_ATYPE_RPL | 0x000f0000 /* 1 */ -}; - -VOL8 *mmio; -int fifo_size; -int pitch, src_pitch; -int dir; - -void -mgaWaitAvail (int n) -{ - if (fifo_size < n) { - while ((fifo_size = MGA_IN32 (mmio, MGA_REG_FIFOSTATUS) & 0xff) < n) - ; - } - - fifo_size -= n; -} - -#define MGA_OUT8(mmio, a, v) (*(VOL8 *) ((mmio) + (a)) = (v)) -#define MGA_REG_CRTC_INDEX (0x1fd4) - -void -mgaWaitIdle (void) -{ - - mgaWaitAvail (2); - MGA_OUT32(mmio, MGA_REG_CACHEFLUSH, 0); - /* MGA_OUT8 (mmio, MGA_REG_CRTC_INDEX, 0); */ - while (MGA_IN32 (mmio, MGA_REG_STATUS) & 0x10000) - ; -} - -static void -mgaWaitMarker (ScreenPtr pScreen, int marker) -{ - KdScreenPriv (pScreen); - mgaCardInfo (pScreenPriv); - - mmio = mgac->reg_base; - - mgaWaitIdle (); -} - -Bool -mgaSetup (ScreenPtr pScreen, int dest_bpp, int wait) -{ - KdScreenPriv (pScreen); - mgaScreenInfo (pScreenPriv); - mgaCardInfo (pScreenPriv); - - fifo_size = 0; - mmio = mgac->reg_base; - pitch = mgas->pitch; - - if (!mmio) - return FALSE; - - mgaWaitAvail (wait + 4); - /* Set the format of the destination pixmap */ - switch (dest_bpp) { - case 8: - MGA_OUT32 (mmio, MGA_REG_MACCESS, MGA_PW8); - break; - case 16: - MGA_OUT32 (mmio, MGA_REG_MACCESS, MGA_PW16); - break; - case 24: - case 32: - MGA_OUT32 (mmio, MGA_REG_MACCESS, MGA_PW24); - break; - } - MGA_OUT32 (mmio, MGA_REG_CXBNDRY, 0xffff0000); - MGA_OUT32 (mmio, MGA_REG_YTOP, 0x00000000); - MGA_OUT32 (mmio, MGA_REG_YBOT, 0x007fffff); - - return TRUE; -} - -static Bool -mgaPrepareSolid (PixmapPtr pPixmap, int alu, Pixel pm, Pixel fg) -{ - - KdScreenPriv(pPixmap->drawable.pScreen); - int cmd; - int dst_org; - /* We must pad pm and fg depending on the format of the - * destination pixmap - */ - switch (pPixmap->drawable.bitsPerPixel) { - case 16: - fg |= fg << 16; - pm |= pm << 16; - break; - case 8: - fg |= (fg << 8) | (fg << 16) | (fg << 24); - pm |= (pm << 8) | (pm << 16) | (pm << 24); - break; - } - - cmd = MGA_OPCOD_TRAP | MGA_DWGCTL_SOLID | MGA_DWGCTL_ARZERO | MGA_DWGCTL_SGNZERO | - MGA_DWGCTL_SHIFTZERO | mgaRop[alu]; - - dst_org = (int)pPixmap->devPrivate.ptr - (int)pScreenPriv->screen->memory_base; - - mgaSetup (pPixmap->drawable.pScreen, pPixmap->drawable.bitsPerPixel, 5); - MGA_OUT32 (mmio, MGA_REG_DSTORG, dst_org); - MGA_OUT32 (mmio, MGA_REG_PITCH, pPixmap->devKind / (pPixmap->drawable.bitsPerPixel >> 3)); - MGA_OUT32 (mmio, MGA_REG_DWGCTL, cmd); - MGA_OUT32 (mmio, MGA_REG_FCOL, fg); - MGA_OUT32 (mmio, MGA_REG_PLNWT, pm); - - return TRUE; -} - -static void -mgaSolid (int x1, int y1, int x2, int y2) -{ - mgaWaitAvail (2); - MGA_OUT32 (mmio, MGA_REG_FXBNDRY, (x2 << 16) | (x1 & 0xffff)); - MGA_OUT32 (mmio, MGA_REG_YDSTLEN | MGA_REG_EXEC, (y1 << 16) | (y2 - y1)); -} - -static void -mgaDoneSolid (void) -{ -} - -#define BLIT_LEFT 1 -#define BLIT_UP 4 - -static Bool -mgaPrepareCopy (PixmapPtr pSrcPixmap, PixmapPtr pDstPixmap, - int dx, int dy, int alu, Pixel pm) -{ - KdScreenPriv(pSrcPixmap->drawable.pScreen); - int cmd; - - cmd = MGA_OPCOD_BITBLT | MGA_DWGCTL_BFCOL | MGA_DWGCTL_SHIFTZERO | mgaRop[alu]; - - dir = 0; - - if (dy < 0) - dir |= BLIT_UP; - if (dx < 0) - dir |= BLIT_LEFT; - - mgaSetup (pSrcPixmap->drawable.pScreen, - pDstPixmap->drawable.bitsPerPixel, 7); - - MGA_OUT32 (mmio, MGA_REG_SRCORG, ((int)pSrcPixmap->devPrivate.ptr - - (int)pScreenPriv->screen->memory_base)); - MGA_OUT32 (mmio, MGA_REG_DSTORG, ((int)pDstPixmap->devPrivate.ptr - - (int)pScreenPriv->screen->memory_base)); - MGA_OUT32 (mmio, MGA_REG_PITCH, (pDstPixmap->devKind / - (pDstPixmap->drawable.bitsPerPixel >> 3))); - src_pitch = pSrcPixmap->devKind / (pSrcPixmap->drawable.bitsPerPixel >> 3); - - MGA_OUT32 (mmio, MGA_REG_DWGCTL, cmd); - MGA_OUT32 (mmio, MGA_REG_SGN, dir); - MGA_OUT32 (mmio, MGA_REG_PLNWT, pm); - MGA_OUT32 (mmio, MGA_REG_AR5, src_pitch * (dy < 0 ? -1 : 1) ); - - return TRUE; -} - -static void -mgaCopy (int srcX, int srcY, int dstX, int dstY, int w, int h) -{ - int start, end; - if (dir & BLIT_UP) - { - srcY += h - 1; - dstY += h - 1; - } - - w--; - start = end = srcY * src_pitch + srcX; - - if (dir & BLIT_LEFT) - start += w; - else - end += w; - - mgaWaitAvail (4); - MGA_OUT32 (mmio, MGA_REG_AR0, end); - MGA_OUT32 (mmio, MGA_REG_AR3, start); - MGA_OUT32 (mmio, MGA_REG_FXBNDRY, ((dstX + w) << 16) | (dstX & 0xffff)); - MGA_OUT32 (mmio, MGA_REG_YDSTLEN | MGA_REG_EXEC, (dstY << 16) | h); -} - -static void -mgaDoneCopy (void) -{ -} - -#if 0 -static Bool -mgaUploadToScreen(PixmapPtr pDst, char *src, int src_pitch) { - /*fprintf(stderr,"Upload to Screen %p [%d]\n",src,src_pitch);*/ - return TRUE; -} -#endif - -Bool -mgaDrawInit (ScreenPtr pScreen) -{ - KdScreenPriv(pScreen); - mgaScreenInfo (pScreenPriv); - KdCardInfo *card = pScreenPriv->card; - - memset(&mgas->kaa, 0, sizeof(KaaScreenInfoRec)); - mgas->kaa.waitMarker = mgaWaitMarker; - mgas->kaa.PrepareSolid = mgaPrepareSolid; - mgas->kaa.Solid = mgaSolid; - mgas->kaa.DoneSolid = mgaDoneSolid; - mgas->kaa.PrepareCopy = mgaPrepareCopy; - mgas->kaa.Copy = mgaCopy; - mgas->kaa.DoneCopy = mgaDoneCopy; - /* In PW24 mode, we need to align to "3 64-bytes" */ - mgas->kaa.offsetAlign = 192; - /* Pitch alignment is in sets of 32 pixels, and we need to cover 32bpp, so - * 128 bytes - */ - mgas->kaa.pitchAlign = 128; - mgas->kaa.flags = KAA_OFFSCREEN_PIXMAPS; - - if (card->attr.deviceID == MGA_G4XX_DEVICE_ID) { - mgas->kaa.CheckComposite = mgaCheckComposite; - mgas->kaa.PrepareComposite = mgaPrepareComposite; - mgas->kaa.Composite = mgaComposite; - mgas->kaa.DoneComposite = mgaDoneComposite; - } - - /*mgas->kaa.UploadToScreen=mgaUploadToScreen;*/ - - if (!kaaDrawInit (pScreen, &mgas->kaa)) - return FALSE; - - return TRUE; -} - -void -mgaDrawEnable (ScreenPtr pScreen) -{ - KdScreenPriv (pScreen); - mgaScreenInfo (pScreenPriv); - - mgas->pitch = pScreenPriv->screen->width; - - switch (pScreenPriv->screen->fb[0].depth) { - case 8: - mgas->pw = MGA_PW8; - break; - case 16: - mgas->pw = MGA_PW16; - break; - case 24: - case 32: - mgas->pw = MGA_PW24; - break; - default: - FatalError ("unsupported pixel format"); - } - - kaaMarkSync (pScreen); -} - -void -mgaDrawDisable (ScreenPtr pScreen) -{ - kaaWaitSync(pScreen); -} - -void -mgaDrawFini (ScreenPtr pScreen) -{ -} - diff --git a/xorg-server/hw/kdrive/mga/mgastub.c b/xorg-server/hw/kdrive/mga/mgastub.c deleted file mode 100644 index 61e6963b8..000000000 --- a/xorg-server/hw/kdrive/mga/mgastub.c +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Copyright © 2003 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. - */ -#ifdef HAVE_CONFIG_H -#include -#endif -#include "mga.h" - -void -InitCard (char *name) -{ - KdCardAttr attr; - - if (LinuxFindPci (0x102b, 0x0525, 0, &attr)) - KdCardInfoAdd (&mgaFuncs, &attr, 0); -} - -void -InitOutput (ScreenInfo *pScreenInfo, int argc, char **argv) -{ - KdInitOutput (pScreenInfo, argc, argv); -} - -void -InitInput (int argc, char **argv) -{ - KdOsAddInputDrivers (); - KdInitInput (); -} - -void -ddxUseMsg (void) -{ - KdUseMsg(); - vesaUseMsg(); -} - -int -ddxProcessArgument (int argc, char **argv, int i) -{ - int ret; - - if (!(ret = vesaProcessArgument (argc, argv, i))) - ret = KdProcessArgument(argc, argv, i); - return ret; -} diff --git a/xorg-server/hw/kdrive/neomagic/Makefile.am b/xorg-server/hw/kdrive/neomagic/Makefile.am deleted file mode 100644 index b449c37c5..000000000 --- a/xorg-server/hw/kdrive/neomagic/Makefile.am +++ /dev/null @@ -1,49 +0,0 @@ -if KDRIVEFBDEV -FBDEV_INCLUDES =-I$(top_srcdir)/hw/kdrive/fbdev -FBDEV_LIBS = $(top_builddir)/hw/kdrive/fbdev/libfbdev.a -endif - -if KDRIVEVESA -VESA_INCLUDES = -I$(top_srcdir)/hw/kdrive/vesa -VESA_LIBS = $(top_builddir)/hw/kdrive/vesa/libvesa.a -endif - -INCLUDES = \ - @KDRIVE_INCS@ \ - $(FBDEV_INCLUDES) \ - $(VESA_INCLUDES) \ - @KDRIVE_CFLAGS@ - -bin_PROGRAMS = Xneomagic - -noinst_LIBRARIES = libneomagic.a - -libneomagic_a_SOURCES = \ - neomagic.c \ - neomagic.h \ - neo_draw.c - -Xneomagic_SOURCES = \ - neomagicstub.c - -NEOMAGIC_LIBS = \ - libneomagic.a \ - ${FBDEV_LIBS} \ - ${VESA_LIBS} \ - @KDRIVE_LIBS@ - -if GLX -Xneomagic_LDFLAGS = $(LD_EXPORT_SYMBOLS_FLAG) -endif - -Xneomagic_LDADD = \ - $(NEOMAGIC_LIBS) \ - @KDRIVE_LIBS@ \ - @XSERVER_LIBS@ - -Xneomagic_DEPENDENCIES = \ - libneomagic.a \ - @KDRIVE_LOCAL_LIBS@ - -relink: - rm -f $(bin_PROGRAMS) && make $(bin_PROGRAMS) diff --git a/xorg-server/hw/kdrive/neomagic/Makefile.in b/xorg-server/hw/kdrive/neomagic/Makefile.in deleted file mode 100644 index db610a6dc..000000000 --- a/xorg-server/hw/kdrive/neomagic/Makefile.in +++ /dev/null @@ -1,723 +0,0 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008 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 = Xneomagic$(EXEEXT) -subdir = hw/kdrive/neomagic -DIST_COMMON = README $(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 -libneomagic_a_AR = $(AR) $(ARFLAGS) -libneomagic_a_LIBADD = -am_libneomagic_a_OBJECTS = neomagic.$(OBJEXT) neo_draw.$(OBJEXT) -libneomagic_a_OBJECTS = $(am_libneomagic_a_OBJECTS) -am__installdirs = "$(DESTDIR)$(bindir)" -binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) -PROGRAMS = $(bin_PROGRAMS) -am_Xneomagic_OBJECTS = neomagicstub.$(OBJEXT) -Xneomagic_OBJECTS = $(am_Xneomagic_OBJECTS) -am__DEPENDENCIES_1 = libneomagic.a $(FBDEV_LIBS) $(VESA_LIBS) -Xneomagic_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(Xneomagic_LDFLAGS) $(LDFLAGS) -o $@ -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include -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 = $(libneomagic_a_SOURCES) $(Xneomagic_SOURCES) -DIST_SOURCES = $(libneomagic_a_SOURCES) $(Xneomagic_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@ -DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ -DRI2PROTO_LIBS = @DRI2PROTO_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@ -DSYMUTIL = @DSYMUTIL@ -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@ -GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ -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@ -LAUNCHD = @LAUNCHD@ -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@ -NMEDIT = @NMEDIT@ -OBJC = @OBJC@ -OBJCCLD = @OBJCCLD@ -OBJCDEPMODE = @OBJCDEPMODE@ -OBJCFLAGS = @OBJCFLAGS@ -OBJCLINK = @OBJCLINK@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ -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@ -PCIACCESS_CFLAGS = @PCIACCESS_CFLAGS@ -PCIACCESS_LIBS = @PCIACCESS_LIBS@ -PCI_TXT_IDS_PATH = @PCI_TXT_IDS_PATH@ -PERL = @PERL@ -PKG_CONFIG = @PKG_CONFIG@ -PROJECTROOT = @PROJECTROOT@ -PS2PDF = @PS2PDF@ -RANLIB = @RANLIB@ -RAWCPP = @RAWCPP@ -RAWCPPFLAGS = @RAWCPPFLAGS@ -SED = @SED@ -SERVER_MISC_CONFIG_PATH = @SERVER_MISC_CONFIG_PATH@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ -SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ -STRIP = @STRIP@ -TSLIB_CFLAGS = @TSLIB_CFLAGS@ -TSLIB_LIBS = @TSLIB_LIBS@ -UTILS_SYS_LIBS = @UTILS_SYS_LIBS@ -VENDOR_MAN_VERSION = @VENDOR_MAN_VERSION@ -VENDOR_NAME = @VENDOR_NAME@ -VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ -VENDOR_RELEASE = @VENDOR_RELEASE@ -VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ -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_CFLAGS = @XDMX_CFLAGS@ -XDMX_LIBS = @XDMX_LIBS@ -XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ -XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ -XEPHYR_INCS = @XEPHYR_INCS@ -XEPHYR_LIBS = @XEPHYR_LIBS@ -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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ -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@ -XNEST_SYS_LIBS = @XNEST_SYS_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_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@ -XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_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@ -XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ -XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ -XTSTEXAMPLES_DEP_LIBS = @XTSTEXAMPLES_DEP_LIBS@ -XVFB_LIBS = @XVFB_LIBS@ -XVFB_SYS_LIBS = @XVFB_SYS_LIBS@ -XWINMODULES_CFLAGS = @XWINMODULES_CFLAGS@ -XWINMODULES_LIBS = @XWINMODULES_LIBS@ -XWIN_LIBS = @XWIN_LIBS@ -XWIN_SERVER_NAME = @XWIN_SERVER_NAME@ -XWIN_SYS_LIBS = @XWIN_SYS_LIBS@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -__XCONFIGFILE__ = @__XCONFIGFILE__@ -abi_ansic = @abi_ansic@ -abi_extension = @abi_extension@ -abi_font = @abi_font@ -abi_videodrv = @abi_videodrv@ -abi_xinput = @abi_xinput@ -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@ -launchagentsdir = @launchagentsdir@ -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_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ -@KDRIVEFBDEV_TRUE@FBDEV_INCLUDES = -I$(top_srcdir)/hw/kdrive/fbdev -@KDRIVEFBDEV_TRUE@FBDEV_LIBS = $(top_builddir)/hw/kdrive/fbdev/libfbdev.a -@KDRIVEVESA_TRUE@VESA_INCLUDES = -I$(top_srcdir)/hw/kdrive/vesa -@KDRIVEVESA_TRUE@VESA_LIBS = $(top_builddir)/hw/kdrive/vesa/libvesa.a -INCLUDES = \ - @KDRIVE_INCS@ \ - $(FBDEV_INCLUDES) \ - $(VESA_INCLUDES) \ - @KDRIVE_CFLAGS@ - -noinst_LIBRARIES = libneomagic.a -libneomagic_a_SOURCES = \ - neomagic.c \ - neomagic.h \ - neo_draw.c - -Xneomagic_SOURCES = \ - neomagicstub.c - -NEOMAGIC_LIBS = \ - libneomagic.a \ - ${FBDEV_LIBS} \ - ${VESA_LIBS} \ - @KDRIVE_LIBS@ - -@GLX_TRUE@Xneomagic_LDFLAGS = $(LD_EXPORT_SYMBOLS_FLAG) -Xneomagic_LDADD = \ - $(NEOMAGIC_LIBS) \ - @KDRIVE_LIBS@ \ - @XSERVER_LIBS@ - -Xneomagic_DEPENDENCIES = \ - libneomagic.a \ - @KDRIVE_LOCAL_LIBS@ - -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/kdrive/neomagic/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign hw/kdrive/neomagic/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) -libneomagic.a: $(libneomagic_a_OBJECTS) $(libneomagic_a_DEPENDENCIES) - -rm -f libneomagic.a - $(libneomagic_a_AR) libneomagic.a $(libneomagic_a_OBJECTS) $(libneomagic_a_LIBADD) - $(RANLIB) libneomagic.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) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ - $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --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 -Xneomagic$(EXEEXT): $(Xneomagic_OBJECTS) $(Xneomagic_DEPENDENCIES) - @rm -f Xneomagic$(EXEEXT) - $(Xneomagic_LINK) $(Xneomagic_OBJECTS) $(Xneomagic_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/neo_draw.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/neomagic.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/neomagicstub.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; nonemtpy = 1; } \ - END { if (nonempty) { 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; nonempty = 1; } \ - END { if (nonempty) { 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=; \ - 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; nonempty = 1; } \ - END { if (nonempty) { 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) -installdirs: - for dir in "$(DESTDIR)$(bindir)"; 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-dvi: install-dvi-am - -install-exec-am: install-binPROGRAMS - -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-binPROGRAMS - -.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-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-binPROGRAMS - - -relink: - rm -f $(bin_PROGRAMS) && make $(bin_PROGRAMS) -# 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/xorg-server/hw/kdrive/neomagic/README b/xorg-server/hw/kdrive/neomagic/README deleted file mode 100644 index 2b086d75c..000000000 --- a/xorg-server/hw/kdrive/neomagic/README +++ /dev/null @@ -1,15 +0,0 @@ -Neomagic KDrive driver for xserver - -This is a very simple implementation for Neomagic based cards. -Almost all functions are handled by the VESA driver, and -only solid drawing and bitblt are done with acceleration, - -This driver has been tested in MagicGraph 256AV+(NM2230) card -but it should work on other cards as well. - -The only warning is to choose a working mode. You can ask -for supported modes using -listmodes. I use -mode 0x117. - --- -Franco Catrin L. -fcatrin@tuxpan.com diff --git a/xorg-server/hw/kdrive/neomagic/neo_draw.c b/xorg-server/hw/kdrive/neomagic/neo_draw.c deleted file mode 100644 index 89452b3d8..000000000 --- a/xorg-server/hw/kdrive/neomagic/neo_draw.c +++ /dev/null @@ -1,210 +0,0 @@ -/* - * - * 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. - */ - -#ifdef HAVE_CONFIG_H -#include -#endif -#include "neomagic.h" - -#include -#include "gcstruct.h" -#include "scrnintstr.h" -#include "pixmapstr.h" -#include "regionstr.h" -#include "mistruct.h" -#include "dixfontstr.h" -#include "fb.h" -#include "migc.h" -#include "miline.h" -#include "picturestr.h" - -NeoMMIO *mmio; -NeoScreenInfo *screen; -NeoCardInfo *card; -CARD32 fgColor; -CARD32 rop; - -CARD32 neoRop[16] = { - 0x000000, /* GXclear */ - 0x080000, /* GXand */ - 0x040000, /* GXandReverse */ - 0x0c0000, /* GXcopy */ - 0x020000, /* GXandInvert */ - 0x0a0000, /* GXnoop */ - 0x060000, /* GXxor */ - 0x0e0000, /* GXor */ - 0x010000, /* GXnor */ - 0x090000, /* GXequiv */ - 0x050000, /* GXinvert */ - 0x0d0000, /* GXorReverse */ - 0x030000, /* GXcopyInvert */ - 0x0b0000, /* GXorInverted */ - 0x070000, /* GXnand */ - 0x0f0000 /* GXset */ -}; - -static void neoWaitIdle(NeoCardInfo *neoc) -{ - // if MMIO is not working it may halt the machine - unsigned int i = 0; - while ((mmio->bltStat & 1) && ++i<100000); -} - -static void neoWaitMarker (ScreenPtr pScreen, int marker) -{ - KdScreenPriv(pScreen); - neoCardInfo(pScreenPriv); - - neoWaitIdle(neoc); -} - - -static Bool neoPrepareSolid(PixmapPtr pPixmap, - int alu, - Pixel pm, - Pixel fg) -{ - FbBits depthMask = FbFullMask(pPixmap->drawable.depth); - if ((pm & depthMask) != depthMask) { - return FALSE; - } else { - fgColor = fg; - if (alu!=3) DBGOUT("used ROP %i\n", alu); - rop = neoRop[alu]; - return TRUE; - } -} - -static void neoSolid (int x1, int y1, int x2, int y2) -{ - int x, y, w, h; - x = x1; - y = y1; - w = x2-x1; - h = y2-y1; - neoWaitIdle(card); - mmio->fgColor = fgColor; - mmio->bltCntl = - NEO_BC3_FIFO_EN | - NEO_BC0_SRC_IS_FG | - NEO_BC3_SKIP_MAPPING | rop; - mmio->dstStart = y * screen->pitch + x * screen->depth; - - mmio->xyExt = (unsigned long)(h << 16) | (w & 0xffff); - -} - - -static void neoDoneSolid(void) -{ -} - -static Bool neoPrepareCopy (PixmapPtr pSrcPixpam, PixmapPtr pDstPixmap, - int dx, int dy, int alu, Pixel pm) -{ - rop = neoRop[alu]; - return TRUE; -} - -static void neoCopy (int srcX, int srcY, int dstX, int dstY, int w, int h) -{ - neoWaitIdle(card); - - if ((dstY < srcY) || ((dstY == srcY) && (dstX < srcX))) { - mmio->bltCntl = - NEO_BC3_FIFO_EN | - NEO_BC3_SKIP_MAPPING | rop; - mmio->srcStart = srcY * screen->pitch + srcX * screen->depth; - mmio->dstStart = dstY * screen->pitch + dstX * screen->depth; - - mmio->xyExt = (unsigned long)(h << 16) | (w & 0xffff); - } else { - mmio->bltCntl = NEO_BC0_X_DEC | - NEO_BC0_DST_Y_DEC | - NEO_BC0_SRC_Y_DEC | - NEO_BC3_FIFO_EN | - NEO_BC3_SKIP_MAPPING | rop; - srcX+=w-1; - dstX+=w-1; - srcY+=h-1; - dstY+=h-1; - mmio->srcStart = srcY * screen->pitch + srcX * screen->depth; - mmio->dstStart = dstY * screen->pitch + dstX * screen->depth; - mmio->xyExt = (unsigned long)(h << 16) | (w & 0xffff); - } - -} - -static void neoDoneCopy (void) -{ -} - - -Bool neoDrawInit (ScreenPtr pScreen) -{ - KdScreenPriv(pScreen); - neoScreenInfo(pScreenPriv); - - ENTER(); - - memset(&neos->kaa, 0, sizeof(KaaScreenInfoRec)); - neos->kaa.waitMarker = neoWaitMarker; - neos->kaa.PrepareSolid = neoPrepareSolid; - neos->kaa.Solid = neoSolid; - neos->kaa.DoneSolid = neoDoneSolid; - neos->kaa.PrepareCopy = neoPrepareCopy; - neos->kaa.Copy = neoCopy; - neos->kaa.DoneCopy = neoDoneCopy; - - if (!kaaDrawInit (pScreen, &neos->kaa)) { - return FALSE; - } - LEAVE(); - return TRUE; -} - -void neoDrawEnable (ScreenPtr pScreen) -{ - ENTER(); - SetupNeo(pScreen); - screen = neos; - card = neoc; - mmio = neoc->mmio; - screen->depth = (screen->backendScreen.mode.BitsPerPixel+7)/8; - screen->pitch = screen->backendScreen.mode.BytesPerScanLine; - DBGOUT("NEO depth=%x, pitch=%x\n", screen->depth, screen->pitch); - LEAVE(); -} - -void neoDrawDisable (ScreenPtr pScreen) -{ - ENTER(); - LEAVE(); -} - -void neoDrawFini (ScreenPtr pScreen) -{ - ENTER(); - LEAVE(); -} - diff --git a/xorg-server/hw/kdrive/neomagic/neomagic.c b/xorg-server/hw/kdrive/neomagic/neomagic.c deleted file mode 100644 index ac0c7569a..000000000 --- a/xorg-server/hw/kdrive/neomagic/neomagic.c +++ /dev/null @@ -1,335 +0,0 @@ -/* - * - * 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. - */ - -#ifdef HAVE_CONFIG_H -#include -#endif -#include "neomagic.h" -#include - -struct NeoChipInfo neoChips[] = { - {NEO_VENDOR, 0x0001, CAP_NM2070, "MagicGraph 128(NM2070)", - 896, 65000, 2048, 0x100, 1024, 1024, 1024}, - {NEO_VENDOR, 0x0002, CAP_NM2090, "MagicGraph 128V(NM2090)", - 1152, 80000, 2048, 0x100, 2048, 1024, 1024}, - {NEO_VENDOR, 0x0003, CAP_NM2090, "MagicGraph 128ZV(NM2093)", - 1152, 80000, 2048, 0x100, 2048, 1024, 1024}, - {NEO_VENDOR, 0x0083, CAP_NM2097, "MagicGraph 128ZV+(NM2097)", - 1152, 80000, 1024, 0x100, 2048, 1024, 1024}, - {NEO_VENDOR, 0x0004, CAP_NM2097, "MagicGraph 128XD(NM2160)", - 2048, 90000, 1024, 0x100, 2048, 1024, 1024}, - {NEO_VENDOR, 0x0005, CAP_NM2200, "MagicGraph 256AV(NM2200)", - 2560, 110000, 1024, 0x1000, 4096, 1280, 1024}, - {NEO_VENDOR, 0x0025, CAP_NM2200, "MagicGraph 256AV+(NM2230)", - 3008, 110000, 1024, 0x1000, 4096, 1280, 1024}, - {NEO_VENDOR, 0x0006, CAP_NM2200, "MagicGraph 256ZX(NM2360)", - 4096, 110000, 1024, 0x1000, 4096, 1280, 1024}, - {NEO_VENDOR, 0x0016, CAP_NM2200, "MagicGraph 256XL+(NM2380)", - 6144, 110000, 1024, 0x1000, 8192, 1280, 1024}, - {0, 0, 0, NULL}, -}; - -static Bool -neoCardInit(KdCardInfo *card) -{ - NeoCardInfo *neoc; - struct NeoChipInfo *chip; - - neoc =(NeoCardInfo *) xalloc(sizeof(NeoCardInfo)); - if(!neoc) { - return FALSE; - } - - if(!vesaInitialize(card, &neoc->backendCard)) { - xfree(neoc); - return FALSE; - } - - for(chip = neoChips; chip->name != NULL; ++chip) { - if(chip->device == card->attr.deviceID) { - neoc->chip = chip; - break; - } - } - - ErrorF("Using Neomagic card: %s\n", neoc->chip->name); - - neoMapReg(card, neoc); - - card->driver = neoc; - - return TRUE; -} - -static Bool -neoScreenInit(KdScreenInfo *screen) -{ - NeoScreenInfo *neos; - int screen_size, memory; - - neos = xcalloc(sizeof(NeoScreenInfo), 1); - if(neos == NULL) { - return FALSE; - } - - memset (neos, '\0', sizeof (NeoScreenInfo)); - - - if(!vesaScreenInitialize(screen, &neos->backendScreen)) { - xfree(neos); - return FALSE; - } - - screen->softCursor = TRUE; // no hardware color cursor available - - neos->screen = neos->backendScreen.fb; - - memory = neos->backendScreen.fb_size; - screen_size = screen->fb[0].byteStride * screen->height; - memory -= screen_size; - - if(memory > screen->fb[0].byteStride) { - neos->off_screen = neos->screen + screen_size; - neos->off_screen_size = memory; - } else { - neos->off_screen = 0; - neos->off_screen_size = 0; - } - - screen->driver = neos; - - return TRUE; -} - -static Bool -neoInitScreen(ScreenPtr pScreen) -{ - return vesaInitScreen(pScreen); -} - -static Bool -neoFinishInitScreen(ScreenPtr pScreen) -{ - return vesaFinishInitScreen(pScreen); -} - -static Bool -neoCreateResources(ScreenPtr pScreen) -{ - return vesaCreateResources(pScreen); -} - -void -neoPreserve(KdCardInfo *card) -{ - vesaPreserve(card); -} - -CARD8 -neoGetIndex(NeoCardInfo *nvidiac, CARD16 addr, CARD8 index) -{ - outb(index, addr); - - return inb(addr+1); -} - -void -neoSetIndex(NeoCardInfo *nvidiac, CARD16 addr, CARD8 index, CARD8 val) -{ - outb(index, addr); - outb(val, addr+1); -} - -static void neoLock(NeoCardInfo *neoc){ - CARD8 cr11; - neoSetIndex(neoc, 0x3ce, 0x09, 0x00); - neoSetIndex(neoc, 0x3ce, 0x11, 0x0); // disable MMIO and linear mode - cr11 = neoGetIndex(neoc, 0x3d4, 0x11); - neoSetIndex(neoc, 0x3d4, 0x11, cr11 | 0x80); -} - -static void neoUnlock(NeoCardInfo *neoc){ - CARD8 cr11; - cr11 = neoGetIndex(neoc, 0x3d4, 0x11); - neoSetIndex(neoc, 0x3d4, 0x11, cr11 & 0x7F); - neoSetIndex(neoc, 0x3ce, 0x09, 0x26); - neoSetIndex(neoc, 0x3ce, 0x11, 0xc0); // enable MMIO and linear mode -} - - -Bool -neoMapReg(KdCardInfo *card, NeoCardInfo *neoc) -{ - neoc->reg_base = card->attr.address[1] & 0xFFF80000; - if(!neoc->reg_base) { - return FALSE; - } - - neoc->mmio = KdMapDevice(neoc->reg_base, NEO_REG_SIZE(card)); - if(!neoc->mmio) { - return FALSE; - } - - KdSetMappedMode(neoc->reg_base, NEO_REG_SIZE(card), KD_MAPPED_MODE_REGISTERS); - - return TRUE; -} - -void -neoUnmapReg(KdCardInfo *card, NeoCardInfo *neoc) -{ - if(neoc->reg_base) - { - neoSetIndex(neoc, 0x3ce, 0x82,0); - KdResetMappedMode(neoc->reg_base, NEO_REG_SIZE(card), KD_MAPPED_MODE_REGISTERS); - KdUnmapDevice((void *)neoc->mmio, NEO_REG_SIZE(card)); - neoc->reg_base = 0; - } -} - -static void -neoSetMMIO(KdCardInfo *card, NeoCardInfo *neoc) -{ - if(!neoc->reg_base) - neoMapReg(card, neoc); - neoUnlock(neoc); -} - -static void -neoResetMMIO(KdCardInfo *card, NeoCardInfo *neoc) -{ - neoUnmapReg(card, neoc); - neoLock(neoc); -} - - -Bool -neoEnable(ScreenPtr pScreen) -{ - KdScreenPriv(pScreen); - neoCardInfo(pScreenPriv); - - if(!vesaEnable(pScreen)) { - return FALSE; - } - - neoSetMMIO(pScreenPriv->card, neoc); - return TRUE; -} - -void -neoDisable(ScreenPtr pScreen) -{ - KdScreenPriv(pScreen); - neoCardInfo(pScreenPriv); - - neoResetMMIO(pScreenPriv->card, neoc); - - vesaDisable(pScreen); -} - -static void -neoGetColors(ScreenPtr pScreen, int fb, int n, xColorItem *pdefs) -{ - vesaGetColors(pScreen, fb, n, pdefs); -} - -static void -neoPutColors(ScreenPtr pScreen, int fb, int n, xColorItem *pdefs) -{ - vesaPutColors(pScreen, fb, n, pdefs); -} - -static Bool -neoDPMS(ScreenPtr pScreen, int mode) -{ - return vesaDPMS(pScreen, mode); -} - -static void -neoRestore(KdCardInfo *card) -{ - NeoCardInfo *neoc = card->driver; - - neoResetMMIO(card, neoc); - vesaRestore(card); -} - -static void -neoScreenFini(KdScreenInfo *screen) -{ - NeoScreenInfo *neos =(NeoScreenInfo *) screen->driver; - - vesaScreenFini(screen); - xfree(neos); - screen->driver = 0; -} - -static void -neoCardFini(KdCardInfo *card) -{ - NeoCardInfo *neoc = card->driver; - - neoUnmapReg(card, neoc); - vesaCardFini(card); -} - -#define neoCursorInit 0 // initCursor -#define neoCursorEnable 0 // enableCursor -#define neoCursorDisable 0 // disableCursor -#define neoCursorFini 0 // finiCursor */ -#define neoRecolorCursor 0 // recolorCursor */ -//#define neoDrawInit 0 // initAccel -//#define neoDrawEnable 0 // enableAccel -//#define neoDrawSync 0 // syncAccel -//#define neoDrawDisable 0 // disableAccel -//#define neoDrawFini 0 // finiAccel - -KdCardFuncs neoFuncs = { - neoCardInit, // cardinit - neoScreenInit, // scrinit - neoInitScreen, // initScreen - neoFinishInitScreen, // finishInitScreen - neoCreateResources, // createRes - neoPreserve, // preserve - neoEnable, // enable - neoDPMS, // dpms - neoDisable, // disable - neoRestore, // restore - neoScreenFini, // scrfini - neoCardFini, // cardfini - - neoCursorInit, // initCursor - neoCursorEnable, // enableCursor - neoCursorDisable, // disableCursor - neoCursorFini, // finiCursor - neoRecolorCursor, // recolorCursor - - neoDrawInit, // initAccel - neoDrawEnable, // enableAccel - neoDrawDisable, // disableAccel - neoDrawFini, // finiAccel - - neoGetColors, // getColors - neoPutColors, // putColors -}; diff --git a/xorg-server/hw/kdrive/neomagic/neomagic.h b/xorg-server/hw/kdrive/neomagic/neomagic.h deleted file mode 100644 index 9b100051b..000000000 --- a/xorg-server/hw/kdrive/neomagic/neomagic.h +++ /dev/null @@ -1,210 +0,0 @@ -/* - * - * 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. - */ - -#ifndef _NEOMAGIC_H_ -#define _NEOMAGIC_H_ -#include -#include "kxv.h" -#include "klinux.h" -#include "vesa.h" - - -#define DBGOUT DebugF - -#define ENTER() DBGOUT("Enter %s\n", __FUNCTION__) -#define LEAVE() DBGOUT("Leave %s\n", __FUNCTION__) - -#define NEO_VENDOR 0x10c8 -#define CAP_NM2070 0x01 /* If it's a NM2070 series */ -#define CAP_NM2090 0x02 /* If it's a NM2090 series */ -#define CAP_NM2097 0x03 /* If it's a NM2097 series */ -#define CAP_NM2200 0x04 /* If it's a NM2200 series */ - -#define NEO_BS0_BLT_BUSY 0x00000001 -#define NEO_BS0_FIFO_AVAIL 0x00000002 -#define NEO_BS0_FIFO_PEND 0x00000004 - -#define NEO_BC0_DST_Y_DEC 0x00000001 -#define NEO_BC0_X_DEC 0x00000002 -#define NEO_BC0_SRC_TRANS 0x00000004 -#define NEO_BC0_SRC_IS_FG 0x00000008 -#define NEO_BC0_SRC_Y_DEC 0x00000010 -#define NEO_BC0_FILL_PAT 0x00000020 -#define NEO_BC0_SRC_MONO 0x00000040 -#define NEO_BC0_SYS_TO_VID 0x00000080 - -#define NEO_BC1_DEPTH8 0x00000100 -#define NEO_BC1_DEPTH16 0x00000200 -#define NEO_BC1_X_320 0x00000400 -#define NEO_BC1_X_640 0x00000800 -#define NEO_BC1_X_800 0x00000c00 -#define NEO_BC1_X_1024 0x00001000 -#define NEO_BC1_X_1152 0x00001400 -#define NEO_BC1_X_1280 0x00001800 -#define NEO_BC1_X_1600 0x00001c00 -#define NEO_BC1_DST_TRANS 0x00002000 -#define NEO_BC1_MSTR_BLT 0x00004000 -#define NEO_BC1_FILTER_Z 0x00008000 - -#define NEO_BC2_WR_TR_DST 0x00800000 - -#define NEO_BC3_SRC_XY_ADDR 0x01000000 -#define NEO_BC3_DST_XY_ADDR 0x02000000 -#define NEO_BC3_CLIP_ON 0x04000000 -#define NEO_BC3_FIFO_EN 0x08000000 -#define NEO_BC3_BLT_ON_ADDR 0x10000000 -#define NEO_BC3_SKIP_MAPPING 0x80000000 - -#define NEO_MODE1_DEPTH8 0x0100 -#define NEO_MODE1_DEPTH16 0x0200 -#define NEO_MODE1_DEPTH24 0x0300 -#define NEO_MODE1_X_320 0x0400 -#define NEO_MODE1_X_640 0x0800 -#define NEO_MODE1_X_800 0x0c00 -#define NEO_MODE1_X_1024 0x1000 -#define NEO_MODE1_X_1152 0x1400 -#define NEO_MODE1_X_1280 0x1800 -#define NEO_MODE1_X_1600 0x1c00 -#define NEO_MODE1_BLT_ON_ADDR 0x2000 - -typedef volatile CARD8 VOL8; -typedef volatile CARD16 VOL16; -typedef volatile CARD32 VOL32; - -#define NEO_REG_SIZE(c) (0x200000L) - -typedef volatile struct { - CARD32 bltStat; - CARD32 bltCntl; - CARD32 xpColor; - CARD32 fgColor; - CARD32 bgColor; - CARD32 pitch; - CARD32 clipLT; - CARD32 clipRB; - CARD32 srcBitOffset; - CARD32 srcStart; - CARD32 reserved0; - CARD32 dstStart; - CARD32 xyExt; - - CARD32 reserved1[19]; - - CARD32 pageCntl; - CARD32 pageBase; - CARD32 postBase; - CARD32 postPtr; - CARD32 dataPtr; -} NeoMMIO; - -typedef struct _neoCardInfo { - VesaCardPrivRec backendCard; - - CARD32 reg_base; - NeoMMIO *mmio; - int dstOrg; - int dstPitch; - int dstPixelWidth; - - int srcOrg; - int srcPitch; - int srcPixelWidth; - - struct NeoChipInfo *chip; - - CARD32 bltCntl; - -} NeoCardInfo; - -struct NeoChipInfo { - CARD16 vendor; - CARD16 device; - CARD8 caps; - char *name; - int videoRam; - int maxClock; - int cursorMem; - int cursorOff; - int linearSize; - int maxWidth; - int maxHeight; -}; - -#define getNeoCardInfo(kd) ((NeoCardInfo *) ((kd)->card->driver)) -#define neoCardInfo(kd) NeoCardInfo *neoc = getNeoCardInfo(kd) - -typedef struct _neoScreenInfo { - VesaScreenPrivRec backendScreen; - - CARD8 *screen; - CARD8 *off_screen; - int off_screen_size; - int pitch; - int depth; - KdVideoAdaptorPtr pAdaptor; - KaaScreenInfoRec kaa; -} NeoScreenInfo; - -#define getNeoScreenInfo(kd) ((NeoScreenInfo *) ((kd)->screen->driver)) -#define neoScreenInfo(kd) NeoScreenInfo *neos = getNeoScreenInfo(kd) - -#define SetupNeo(s) KdScreenPriv(s); \ - neoCardInfo(pScreenPriv); \ - neoScreenInfo(pScreenPriv); - -void -neoPreserve (KdCardInfo *card); - -Bool -neoEnable (ScreenPtr pScreen); - -void -neoDisable (ScreenPtr pScreen); - -Bool -neoMapReg (KdCardInfo *card, NeoCardInfo *nvidiac); - -void -neoUnmapReg (KdCardInfo *card, NeoCardInfo *nvidiac); - -CARD8 -neoGetIndex (NeoCardInfo *nvidiac, CARD16 addr, CARD8 id); - -void -neoSetIndex (NeoCardInfo *nvidiac, CARD16 addr, CARD8 id, CARD8 val); - -Bool -neoDrawInit (ScreenPtr pScreen); - -void -neoDrawEnable (ScreenPtr pScreen); - -void -neoDrawDisable (ScreenPtr pScreen); - -void -neoDrawFini (ScreenPtr pScreen); - -extern KdCardFuncs neoFuncs; - -#endif /* _NEOMAGIC_H_ */ diff --git a/xorg-server/hw/kdrive/neomagic/neomagicstub.c b/xorg-server/hw/kdrive/neomagic/neomagicstub.c deleted file mode 100644 index c7ec83b44..000000000 --- a/xorg-server/hw/kdrive/neomagic/neomagicstub.c +++ /dev/null @@ -1,73 +0,0 @@ -/* - * - * 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. - */ - -#ifdef HAVE_CONFIG_H -#include -#endif -#include "neomagic.h" - -extern struct NeoChipInfo neoChips[]; - -void -InitCard (char *name) -{ - KdCardAttr attr; - struct NeoChipInfo *chip; - - for (chip = neoChips; chip->name != NULL; ++chip) { - int j = 0; - while (LinuxFindPci(chip->vendor, chip->device, j++, &attr)) { - KdCardInfoAdd(&neoFuncs, &attr, 0); - } - } -} - -void -InitOutput (ScreenInfo *pScreenInfo, int argc, char **argv) -{ - KdInitOutput (pScreenInfo, argc, argv); -} - -void -InitInput (int argc, char **argv) -{ - KdOsAddInputDrivers (); - KdInitInput (); -} - -void -ddxUseMsg (void) -{ - KdUseMsg(); - vesaUseMsg(); -} - -int -ddxProcessArgument (int argc, char **argv, int i) -{ - int ret; - - if (!(ret = vesaProcessArgument (argc, argv, i))) - ret = KdProcessArgument(argc, argv, i); - return ret; -} diff --git a/xorg-server/hw/kdrive/nvidia/Makefile.am b/xorg-server/hw/kdrive/nvidia/Makefile.am deleted file mode 100644 index 81736c311..000000000 --- a/xorg-server/hw/kdrive/nvidia/Makefile.am +++ /dev/null @@ -1,39 +0,0 @@ -INCLUDES = \ - @KDRIVE_INCS@ \ - -I$(top_srcdir)/hw/kdrive/vesa \ - @KDRIVE_CFLAGS@ - -bin_PROGRAMS = Xnvidia - -noinst_LIBRARIES = libnvidia.a - -# nvidiavideo.c - -libnvidia_a_SOURCES = \ - nvidia.c \ - nvidiadraw.c \ - nvidia.h \ - nvidiadraw.h - -Xnvidia_SOURCES = \ - nvidiastub.c - -NVIDIA_LIBS = \ - libnvidia.a \ - $(top_builddir)/hw/kdrive/vesa/libvesa.a \ - @KDRIVE_LIBS@ - -if GLX -Xnvidia_LDFLAGS = $(LD_EXPORT_SYMBOLS_FLAG) -endif - -Xnvidia_LDADD = \ - $(NVIDIA_LIBS) \ - @KDRIVE_LIBS@ - -Xnvidia_DEPENDENCIES = \ - libnvidia.a \ - @KDRIVE_LOCAL_LIBS@ - -relink: - rm -f $(bin_PROGRAMS) && make $(bin_PROGRAMS) diff --git a/xorg-server/hw/kdrive/nvidia/Makefile.in b/xorg-server/hw/kdrive/nvidia/Makefile.in deleted file mode 100644 index e93f94789..000000000 --- a/xorg-server/hw/kdrive/nvidia/Makefile.in +++ /dev/null @@ -1,720 +0,0 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008 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 = Xnvidia$(EXEEXT) -subdir = hw/kdrive/nvidia -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 -libnvidia_a_AR = $(AR) $(ARFLAGS) -libnvidia_a_LIBADD = -am_libnvidia_a_OBJECTS = nvidia.$(OBJEXT) nvidiadraw.$(OBJEXT) -libnvidia_a_OBJECTS = $(am_libnvidia_a_OBJECTS) -am__installdirs = "$(DESTDIR)$(bindir)" -binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) -PROGRAMS = $(bin_PROGRAMS) -am_Xnvidia_OBJECTS = nvidiastub.$(OBJEXT) -Xnvidia_OBJECTS = $(am_Xnvidia_OBJECTS) -am__DEPENDENCIES_1 = libnvidia.a \ - $(top_builddir)/hw/kdrive/vesa/libvesa.a -Xnvidia_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(Xnvidia_LDFLAGS) \ - $(LDFLAGS) -o $@ -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include -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 = $(libnvidia_a_SOURCES) $(Xnvidia_SOURCES) -DIST_SOURCES = $(libnvidia_a_SOURCES) $(Xnvidia_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@ -DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ -DRI2PROTO_LIBS = @DRI2PROTO_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@ -DSYMUTIL = @DSYMUTIL@ -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@ -GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ -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@ -LAUNCHD = @LAUNCHD@ -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@ -NMEDIT = @NMEDIT@ -OBJC = @OBJC@ -OBJCCLD = @OBJCCLD@ -OBJCDEPMODE = @OBJCDEPMODE@ -OBJCFLAGS = @OBJCFLAGS@ -OBJCLINK = @OBJCLINK@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ -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@ -PCIACCESS_CFLAGS = @PCIACCESS_CFLAGS@ -PCIACCESS_LIBS = @PCIACCESS_LIBS@ -PCI_TXT_IDS_PATH = @PCI_TXT_IDS_PATH@ -PERL = @PERL@ -PKG_CONFIG = @PKG_CONFIG@ -PROJECTROOT = @PROJECTROOT@ -PS2PDF = @PS2PDF@ -RANLIB = @RANLIB@ -RAWCPP = @RAWCPP@ -RAWCPPFLAGS = @RAWCPPFLAGS@ -SED = @SED@ -SERVER_MISC_CONFIG_PATH = @SERVER_MISC_CONFIG_PATH@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ -SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ -STRIP = @STRIP@ -TSLIB_CFLAGS = @TSLIB_CFLAGS@ -TSLIB_LIBS = @TSLIB_LIBS@ -UTILS_SYS_LIBS = @UTILS_SYS_LIBS@ -VENDOR_MAN_VERSION = @VENDOR_MAN_VERSION@ -VENDOR_NAME = @VENDOR_NAME@ -VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ -VENDOR_RELEASE = @VENDOR_RELEASE@ -VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ -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_CFLAGS = @XDMX_CFLAGS@ -XDMX_LIBS = @XDMX_LIBS@ -XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ -XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ -XEPHYR_INCS = @XEPHYR_INCS@ -XEPHYR_LIBS = @XEPHYR_LIBS@ -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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ -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@ -XNEST_SYS_LIBS = @XNEST_SYS_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_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@ -XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_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@ -XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ -XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ -XTSTEXAMPLES_DEP_LIBS = @XTSTEXAMPLES_DEP_LIBS@ -XVFB_LIBS = @XVFB_LIBS@ -XVFB_SYS_LIBS = @XVFB_SYS_LIBS@ -XWINMODULES_CFLAGS = @XWINMODULES_CFLAGS@ -XWINMODULES_LIBS = @XWINMODULES_LIBS@ -XWIN_LIBS = @XWIN_LIBS@ -XWIN_SERVER_NAME = @XWIN_SERVER_NAME@ -XWIN_SYS_LIBS = @XWIN_SYS_LIBS@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -__XCONFIGFILE__ = @__XCONFIGFILE__@ -abi_ansic = @abi_ansic@ -abi_extension = @abi_extension@ -abi_font = @abi_font@ -abi_videodrv = @abi_videodrv@ -abi_xinput = @abi_xinput@ -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@ -launchagentsdir = @launchagentsdir@ -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_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ -INCLUDES = \ - @KDRIVE_INCS@ \ - -I$(top_srcdir)/hw/kdrive/vesa \ - @KDRIVE_CFLAGS@ - -noinst_LIBRARIES = libnvidia.a - -# nvidiavideo.c -libnvidia_a_SOURCES = \ - nvidia.c \ - nvidiadraw.c \ - nvidia.h \ - nvidiadraw.h - -Xnvidia_SOURCES = \ - nvidiastub.c - -NVIDIA_LIBS = \ - libnvidia.a \ - $(top_builddir)/hw/kdrive/vesa/libvesa.a \ - @KDRIVE_LIBS@ - -@GLX_TRUE@Xnvidia_LDFLAGS = $(LD_EXPORT_SYMBOLS_FLAG) -Xnvidia_LDADD = \ - $(NVIDIA_LIBS) \ - @KDRIVE_LIBS@ - -Xnvidia_DEPENDENCIES = \ - libnvidia.a \ - @KDRIVE_LOCAL_LIBS@ - -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/kdrive/nvidia/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign hw/kdrive/nvidia/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) -libnvidia.a: $(libnvidia_a_OBJECTS) $(libnvidia_a_DEPENDENCIES) - -rm -f libnvidia.a - $(libnvidia_a_AR) libnvidia.a $(libnvidia_a_OBJECTS) $(libnvidia_a_LIBADD) - $(RANLIB) libnvidia.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) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ - $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --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 -Xnvidia$(EXEEXT): $(Xnvidia_OBJECTS) $(Xnvidia_DEPENDENCIES) - @rm -f Xnvidia$(EXEEXT) - $(Xnvidia_LINK) $(Xnvidia_OBJECTS) $(Xnvidia_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nvidia.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nvidiadraw.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nvidiastub.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; nonemtpy = 1; } \ - END { if (nonempty) { 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; nonempty = 1; } \ - END { if (nonempty) { 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=; \ - 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; nonempty = 1; } \ - END { if (nonempty) { 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) -installdirs: - for dir in "$(DESTDIR)$(bindir)"; 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-dvi: install-dvi-am - -install-exec-am: install-binPROGRAMS - -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-binPROGRAMS - -.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-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-binPROGRAMS - - -relink: - rm -f $(bin_PROGRAMS) && make $(bin_PROGRAMS) -# 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/xorg-server/hw/kdrive/nvidia/nvidia.c b/xorg-server/hw/kdrive/nvidia/nvidia.c deleted file mode 100644 index be42e561a..000000000 --- a/xorg-server/hw/kdrive/nvidia/nvidia.c +++ /dev/null @@ -1,361 +0,0 @@ -/* - * Copyright © 2003 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 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. - */ - -#ifdef HAVE_CONFIG_H -#include -#endif -#include "nvidia.h" -#include "kaa.h" -#include - -static Bool -nvidiaCardInit (KdCardInfo *card) -{ - NvidiaCardInfo *nvidiac; - - nvidiac = (NvidiaCardInfo *) xalloc (sizeof (NvidiaCardInfo)); - if (!nvidiac) - return FALSE; - - (void) nvidiaMapReg (card, nvidiac); - - if (!vesaInitialize (card, &nvidiac->vesa)) - { - xfree (nvidiac); - return FALSE; - } - - card->driver = nvidiac; - - return TRUE; -} - -static Bool -nvidiaScreenInit (KdScreenInfo *screen) -{ - NvidiaCardInfo *nvidiac = screen->card->driver; - NvidiaScreenInfo *nvidias; - int screen_size, memory; - - nvidias = (NvidiaScreenInfo *) xalloc (sizeof (NvidiaScreenInfo)); - if (!nvidias) - return FALSE; - memset (nvidias, '\0', sizeof (NvidiaScreenInfo)); - if (!vesaScreenInitialize (screen, &nvidias->vesa)) - { - xfree (nvidias); - return FALSE; - } - if (!nvidiac->reg_base) - screen->dumb = TRUE; - if (nvidias->vesa.mapping != VESA_LINEAR) - screen->dumb = TRUE; - nvidias->screen = nvidias->vesa.fb; - memory = nvidias->vesa.fb_size; - screen_size = screen->fb[0].byteStride * screen->height; - if (nvidias->screen && memory >= screen_size + 2048) - { - memory -= 2048; - nvidias->cursor_base = nvidias->screen + memory - 2048; - } - else - nvidias->cursor_base = 0; - screen->softCursor = TRUE; /* XXX for now */ - memory -= screen_size; - if (memory > screen->fb[0].byteStride) - { - nvidias->off_screen = nvidias->screen + screen_size; - nvidias->off_screen_size = memory; - } - else - { - nvidias->off_screen = 0; - nvidias->off_screen_size = 0; - } - screen->driver = nvidias; - return TRUE; -} - -static Bool -nvidiaInitScreen (ScreenPtr pScreen) -{ -#if 0 -#ifdef XV - KdScreenPriv(pScreen); - NvidiaCardInfo *nvidiac = pScreenPriv->screen->card->driver; - if (nvidiac->media_reg && nvidiac->reg) - nvidiaInitVideo(pScreen); -#endif -#endif - return vesaInitScreen (pScreen); -} - -#ifdef RANDR -static Bool -nvidiaRandRSetConfig (ScreenPtr pScreen, - Rotation rotation, - int rate, - RRScreenSizePtr pSize) -{ - kaaWaitSync (pScreen); - - if (!vesaRandRSetConfig (pScreen, rotation, rate, pSize)) - return FALSE; - - return TRUE; -} - -static void -nvidiaRandRInit (ScreenPtr pScreen) -{ - rrScrPriv(pScreen); - - pScrPriv->rrSetConfig = nvidiaRandRSetConfig; -} -#endif - -static Bool -nvidiaFinishInitScreen (ScreenPtr pScreen) -{ - Bool ret; - ret = vesaFinishInitScreen (pScreen); -#ifdef RANDR - nvidiaRandRInit (pScreen); -#endif - return ret; -} - -void -nvidiaPreserve (KdCardInfo *card) -{ - vesaPreserve(card); -} - -void -nvidiaOutb (NvidiaCardInfo *nvidiac, CARD16 port, CARD8 val) -{ - asm volatile ("outb %b0,%w1" : : "a" (val), "d" (port)); -} - -CARD8 -nvidiaInb (NvidiaCardInfo *nvidiac, CARD16 port) -{ - CARD8 v; - asm volatile ("inb %w1,%b0" : "=a" (v) : "d" (port)); - return v; -} - -CARD8 -nvidiaGetIndex (NvidiaCardInfo *nvidiac, CARD16 addr, CARD16 data, CARD8 id) -{ - CARD8 ret; - DBGOUT ("nvidiaGetIndex(0x%x,0x%x)\n", addr, id); - nvidiaOutb (nvidiac, addr, id); - ret = nvidiaInb (nvidiac, data); - DBGOUT (" -> 0x%x\n", ret); - return ret; -} - -void -nvidiaSetIndex (NvidiaCardInfo *nvidiac, CARD16 addr, CARD16 data, CARD8 id, CARD8 val) -{ - DBGOUT ("nvidiaSetIndex(0x%x,0x%x) = 0x%x\n", addr, id, val); - nvidiaOutb (nvidiac, addr, id); - nvidiaOutb (nvidiac, data, val); -} - -static void vgaLockUnlock (NvidiaCardInfo *nvidiac, Bool lock) -{ - CARD8 cr11; - ENTER (); - cr11 = nvidiaGetIndex (nvidiac, 0x3d4, 0x3d5, 0x11); - if (lock) cr11 |= 0x80; - else cr11 &= ~0x80; - nvidiaSetIndex (nvidiac, 0x3d4, 0x3d5, 0x11, cr11); - LEAVE (); -} - -static void nvidiaLockUnlock (NvidiaCardInfo *nvidiac, Bool lock) -{ - if (NVIDIA_IS_3(nvidiac)) - nvidiaSetIndex (nvidiac, 0x3c4, 0x3c5, 0x06, lock ? 0x99 : 0x57); - else - nvidiaSetIndex (nvidiac, 0x3c4, 0x3c5, 0x1f, lock ? 0x99 : 0x57); - vgaLockUnlock(nvidiac, lock); -} - -Bool -nvidiaMapReg (KdCardInfo *card, NvidiaCardInfo *nvidiac) -{ - nvidiac->reg_base = (CARD8 *) KdMapDevice (NVIDIA_REG_BASE(card), - NVIDIA_REG_SIZE(card)); - - if (!nvidiac->reg_base) - { - nvidiac->mmio = 0; - nvidiac->rop = 0; - nvidiac->blt = 0; - nvidiac->rect = 0; - return FALSE; - } - - nvidiac->mmio = (CARD8 *) (nvidiac->reg_base + NVIDIA_MMIO_OFF(card)); - nvidiac->rop = (NvidiaRop *) (nvidiac->reg_base + NVIDIA_ROP_OFF(card)); - nvidiac->rect = (NvidiaRectangle *) (nvidiac->reg_base + NVIDIA_RECTANGLE_OFF(card)); - nvidiac->blt = (NvidiaScreenBlt *) (nvidiac->reg_base + NVIDIA_BLT_OFF(card)); - nvidiac->busy = (NvidiaBusy *) (nvidiac->reg_base + NVIDIA_BUSY_OFF(card)); - KdSetMappedMode (NVIDIA_REG_BASE(card), - NVIDIA_REG_SIZE(card), - KD_MAPPED_MODE_REGISTERS); - return TRUE; -} - -void -nvidiaUnmapReg (KdCardInfo *card, NvidiaCardInfo *nvidiac) -{ - if (nvidiac->reg_base) - { - KdResetMappedMode (NVIDIA_REG_BASE(card), - NVIDIA_REG_SIZE(card), - KD_MAPPED_MODE_REGISTERS); - KdUnmapDevice ((void *) nvidiac->reg_base, NVIDIA_REG_SIZE(card)); - nvidiac->reg_base = 0; - nvidiac->rop = 0; - nvidiac->blt = 0; - nvidiac->rect = 0; - } -} - -void -nvidiaSetMMIO (KdCardInfo *card, NvidiaCardInfo *nvidiac) -{ - if (!nvidiac->reg_base) - nvidiaMapReg (card, nvidiac); - nvidiaLockUnlock (nvidiac, FALSE); - nvidiac->fifo_free = 0; - nvidiac->fifo_size = nvidiac->rop->FifoFree.FifoFree; -} - -void -nvidiaResetMMIO (KdCardInfo *card, NvidiaCardInfo *nvidiac) -{ - nvidiaUnmapReg (card, nvidiac); - nvidiaLockUnlock (nvidiac, TRUE); -} - -Bool -nvidiaEnable (ScreenPtr pScreen) -{ - KdScreenPriv(pScreen); - NvidiaCardInfo *nvidiac = pScreenPriv->card->driver; - - if (!vesaEnable (pScreen)) - return FALSE; - - nvidiaSetMMIO (pScreenPriv->card, nvidiac); -#ifdef XV - KdXVEnable (pScreen); -#endif - return TRUE; -} - -void -nvidiaDisable (ScreenPtr pScreen) -{ - KdScreenPriv(pScreen); - NvidiaCardInfo *nvidiac = pScreenPriv->card->driver; - -#ifdef XV - KdXVDisable (pScreen); -#endif - nvidiaResetMMIO (pScreenPriv->card, nvidiac); - vesaDisable (pScreen); -} - -static Bool -nvidiaDPMS (ScreenPtr pScreen, int mode) -{ - return vesaDPMS (pScreen, mode); -} - -static void -nvidiaRestore (KdCardInfo *card) -{ - NvidiaCardInfo *nvidiac = card->driver; - - nvidiaResetMMIO (card, nvidiac); - vesaRestore (card); -} - -static void -nvidiaScreenFini (KdScreenInfo *screen) -{ - NvidiaScreenInfo *nvidias = (NvidiaScreenInfo *) screen->driver; - - vesaScreenFini (screen); - xfree (nvidias); - screen->driver = 0; -} - -static void -nvidiaCardFini (KdCardInfo *card) -{ - NvidiaCardInfo *nvidiac = card->driver; - - nvidiaUnmapReg (card, nvidiac); - vesaCardFini (card); -} - -#define nvidiaCursorInit 0 /* initCursor */ -#define nvidiaCursorEnable 0 /* enableCursor */ -#define nvidiaCursorDisable 0 /* disableCursor */ -#define nvidiaCursorFini 0 /* finiCursor */ -#define nvidiaRecolorCursor 0 /* recolorCursor */ - -KdCardFuncs nvidiaFuncs = { - nvidiaCardInit, /* cardinit */ - nvidiaScreenInit, /* scrinit */ - nvidiaInitScreen, /* initScreen */ - nvidiaFinishInitScreen, /* finishInitScreen */ - vesaCreateResources, /* createRes */ - nvidiaPreserve, /* preserve */ - nvidiaEnable, /* enable */ - nvidiaDPMS, /* dpms */ - nvidiaDisable, /* disable */ - nvidiaRestore, /* restore */ - nvidiaScreenFini, /* scrfini */ - nvidiaCardFini, /* cardfini */ - - nvidiaCursorInit, /* initCursor */ - nvidiaCursorEnable, /* enableCursor */ - nvidiaCursorDisable, /* disableCursor */ - nvidiaCursorFini, /* finiCursor */ - nvidiaRecolorCursor, /* recolorCursor */ - - nvidiaDrawInit, /* initAccel */ - nvidiaDrawEnable, /* enableAccel */ - nvidiaDrawDisable, /* disableAccel */ - nvidiaDrawFini, /* finiAccel */ - - vesaGetColors, /* getColors */ - vesaPutColors, /* putColors */ -}; diff --git a/xorg-server/hw/kdrive/nvidia/nvidia.h b/xorg-server/hw/kdrive/nvidia/nvidia.h deleted file mode 100644 index 026233cc1..000000000 --- a/xorg-server/hw/kdrive/nvidia/nvidia.h +++ /dev/null @@ -1,247 +0,0 @@ -/* - * Copyright © 2003 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 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. - */ - -#ifndef _NVIDIA_H_ -#define _NVIDIA_H_ -#include -#include "kxv.h" -#include "klinux.h" - -/* - * offset from ioport beginning - */ - -#define DEBUG -#ifdef DEBUG -#define DBGOUT(fmt,a...) fprintf (stderr, fmt, ##a) -#else -#define DBGOUT(fmt,a...) -#endif - -#define ENTER() DBGOUT("Enter %s\n", __FUNCTION__) -#define LEAVE() DBGOUT("Leave %s\n", __FUNCTION__) - -#define NVIDIA_REG_BASE(c) ((c)->attr.address[0]) -#define NVIDIA_REG_SIZE(c) (16 * 1024 * 1024) - -#define NVIDIA_PCIO_OFF(c) (0x601000) -#define NVIDIA_MMIO_OFF(c) (NVIDIA_PCIO_OFF(c) + 0) -#define NVIDIA_FIFO_OFF(c) (0x800000) -#define NVIDIA_ROP_OFF(c) (NVIDIA_FIFO_OFF(c) + 0) -#define NVIDIA_CLIP_OFF(c) (NVIDIA_FIFO_OFF(c) + 0x2000) -#define NVIDIA_PATT_OFF(c) (NVIDIA_FIFO_OFF(c) + 0x4000) -#define NVIDIA_PIXMAP_OFF(c) (NVIDIA_FIFO_OFF(c) + 0x6000) -#define NVIDIA_BLT_OFF(c) (NVIDIA_FIFO_OFF(c) + 0x8000) -#define NVIDIA_RECTANGLE_OFF(c) (NVIDIA_FIFO_OFF(c) + 0xa000) -#define NVIDIA_LINE_OFF(c) (NVIDIA_FIFO_OFF(c) + 0xc000) -#define NVIDIA_IS_3(c) (0) -#define NVIDIA_BUSY(c) (NVIDIA_IS_3(c) ? 0x6b0 : 0x700) -#define NVIDIA_BUSY_OFF(c) (0x400000 + NVIDIA_BUSY(c)) - -typedef volatile CARD8 VOL8; -typedef volatile CARD16 VOL16; -typedef volatile CARD32 VOL32; - -#define NVIDIA_XY(x,y) ((x) | ((y) << 16)) - -typedef struct { -#if X_BYTE_ORDER == X_BIG_ENDIAN - VOL32 FifoFree; -#else - VOL16 FifoFree; - VOL16 Nop; -#endif -} NvidiaFifoFree; - -/* - * Raster OPeration. Windows style ROP3. - */ -typedef struct { - VOL32 reserved00[4]; - NvidiaFifoFree FifoFree; - VOL32 reserved01[0x0BB]; - VOL32 Rop3; -} NvidiaRop; - -/* - * 2D filled rectangle. - */ -typedef struct { - VOL32 reserved00[4]; - NvidiaFifoFree FifoFree; - VOL32 reserved01[0x0BB]; - VOL32 reserved03[(0x040)-1]; - VOL32 Color1A; - VOL32 TopLeft; - VOL32 WidthHeight; -} NvidiaRectangle; - -/* - * 2D screen-screen BLT. - */ -typedef struct { - VOL32 reserved00[4]; - NvidiaFifoFree FifoFree; - VOL32 reserved01[0x0BB]; - VOL32 TopLeftSrc; - VOL32 TopLeftDst; - VOL32 WidthHeight; -} NvidiaScreenBlt; - -typedef struct { - VOL32 busy; -} NvidiaBusy; - -typedef struct _nvidiaCardInfo { - VesaCardPrivRec vesa; - CARD8 *reg_base; - int fifo_free; - int fifo_size; - CARD8 *mmio; - NvidiaRop *rop; - NvidiaRectangle *rect; - NvidiaScreenBlt *blt; - NvidiaBusy *busy; -} NvidiaCardInfo; - -#define getNvidiaCardInfo(kd) ((NvidiaCardInfo *) ((kd)->card->driver)) -#define nvidiaCardInfo(kd) NvidiaCardInfo *nvidiac = getNvidiaCardInfo(kd) - -/* - * Xv information, optional - */ -typedef struct _nvidiaPortPriv { - CARD32 YBuf0Offset; - - CARD32 YBuf1Offset; - - CARD8 currentBuf; - - int brightness; - int saturation; - - RegionRec clip; - CARD32 colorKey; - - Bool videoOn; - Time offTime; - Time freeTime; - CARD32 size; - CARD32 offset; -} NvidiaPortPrivRec, *NvidiaPortPrivPtr; - -Bool nvidiaInitVideo(ScreenPtr pScreen); - -typedef struct _nvidiaScreenInfo { - VesaScreenPrivRec vesa; - CARD8 *cursor_base; - CARD8 *screen; - CARD8 *off_screen; - int off_screen_size; - KdVideoAdaptorPtr pAdaptor; - KaaScreenInfoRec kaa; -} NvidiaScreenInfo; - -#define getNvidiaScreenInfo(kd) ((NvidiaScreenInfo *) ((kd)->screen->driver)) -#define nvidiaScreenInfo(kd) NvidiaScreenInfo *nvidias = getNvidiaScreenInfo(kd) - -void -nvidiaPreserve (KdCardInfo *card); - -void -nvidiaOutb (NvidiaCardInfo *nvidiac, CARD16 port, CARD8 val); - -CARD8 -nvidiaInb (NvidiaCardInfo *nvidiac, CARD16 port); - -CARD8 -nvidiaGetIndex (NvidiaCardInfo *nvidiac, CARD16 addr, CARD16 data, CARD8 id); - -void -nvidiaSetIndex (NvidiaCardInfo *nvidiac, CARD16 addr, CARD16 data, CARD8 id, CARD8 val); - -Bool -nvidiaMapReg (KdCardInfo *card, NvidiaCardInfo *nvidiac); - -void -nvidiaUnmapReg (KdCardInfo *card, NvidiaCardInfo *nvidiac); - -void -nvidiaSetMMIO (KdCardInfo *card, NvidiaCardInfo *nvidiac); - -void -nvidiaResetMMIO (KdCardInfo *card, NvidiaCardInfo *nvidiac); - -Bool -nvidiaEnable (ScreenPtr pScreen); - -void -nvidiaDisable (ScreenPtr pScreen); - -void -nvidiaWait (NvidiaCardInfo *card, NvidiaFifoFree *free, int n); - -void -nvidiaWaitIdle (NvidiaCardInfo *card); - -Bool -nvidiaDrawSetup (ScreenPtr pScreen); - -Bool -nvidiaDrawInit (ScreenPtr pScreen); - -void -nvidiaDrawReinit (ScreenPtr pScreen); - -void -nvidiaDrawEnable (ScreenPtr pScreen); - -void -nvidiaDrawDisable (ScreenPtr pScreen); - -void -nvidiaDrawFini (ScreenPtr pScreen); - -CARD8 -nvidiaReadIndex (NvidiaCardInfo *nvidiac, CARD16 port, CARD8 index); - -void -nvidiaWriteIndex (NvidiaCardInfo *nvidiac, CARD16 port, CARD8 index, CARD8 value); - -Bool -nvidiaCursorInit (ScreenPtr pScreen); - -void -nvidiaCursorEnable (ScreenPtr pScreen); - -void -nvidiaCursorDisable (ScreenPtr pScreen); - -void -nvidiaCursorFini (ScreenPtr pScreen); - -void -nvidiaRecolorCursor (ScreenPtr pScreen, int ndef, xColorItem *pdef); - -extern KdCardFuncs nvidiaFuncs; - -#endif /* _NVIDIA_H_ */ diff --git a/xorg-server/hw/kdrive/nvidia/nvidiadraw.c b/xorg-server/hw/kdrive/nvidia/nvidiadraw.c deleted file mode 100644 index a39f79888..000000000 --- a/xorg-server/hw/kdrive/nvidia/nvidiadraw.c +++ /dev/null @@ -1,238 +0,0 @@ -/* - * Copyright © 2003 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 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. - */ - -#ifdef HAVE_CONFIG_H -#include -#endif -#include "nvidia.h" -#include "nvidiadraw.h" - -#include -#include "gcstruct.h" -#include "scrnintstr.h" -#include "pixmapstr.h" -#include "regionstr.h" -#include "mistruct.h" -#include "dixfontstr.h" -#include "fb.h" -#include "migc.h" -#include "miline.h" -#include "picturestr.h" -#include "kaa.h" - -CARD8 nvidiaRop[16] = { - /* GXclear */ 0x01, /* 0 */ - /* GXand */ 0x0c, /* src AND dst */ - /* GXandReverse */ 0x0d, /* src AND NOT dst */ - /* GXcopy */ 0x07, /* src */ - /* GXandInverted*/ 0x0e, /* NOT src AND dst */ - /* GXnoop */ 0x03, /* dst */ - /* GXxor */ 0x05, /* src XOR dst */ - /* GXor */ 0x0b, /* src OR dst */ - /* GXnor */ 0x0f, /* NOT src AND NOT dst */ - /* GXequiv */ 0x06, /* NOT src XOR dst */ - /* GXinvert */ 0x00, /* NOT dst */ - /* GXorReverse */ 0x0a, /* src OR NOT dst */ - /* GXcopyInverted*/ 0x04, /* NOT src */ - /* GXorInverted */ 0x09, /* NOT src OR dst */ - /* GXnand */ 0x08, /* NOT src OR NOT dst */ - /* GXset */ 0x02, /* 1 */ -}; - -static NvidiaCardInfo *card; - -void -nvidiaWait (NvidiaCardInfo *card, NvidiaFifoFree *free, int n) -{ - while (card->fifo_free < n) - { - card->fifo_free = free->FifoFree >> 2; - } - card->fifo_free -= n; -} - -void -nvidiaWaitIdle (NvidiaCardInfo *card) -{ - while (card->fifo_free < card->fifo_size || (card->busy->busy & 1)) - { - card->fifo_free = card->rop->FifoFree.FifoFree >> 2; - } -} - -static void -nvidiaWaitMarker (ScreenPtr pScreen, int marker) -{ - KdScreenPriv(pScreen); - nvidiaCardInfo(pScreenPriv); - - nvidiaWaitIdle (nvidiac); -} - -static Bool -nvidiaPrepareSolid (PixmapPtr pPixmap, - int alu, - Pixel pm, - Pixel fg) -{ - ScreenPtr pScreen = pPixmap->drawable.pScreen; - KdScreenPriv(pScreen); - nvidiaCardInfo(pScreenPriv); - - card = nvidiac; - if (~pm & FbFullMask(pPixmap->drawable.depth)) - return FALSE; - nvidiaWait (nvidiac, &nvidiac->rop->FifoFree, 1); - nvidiac->rop->Rop3 = nvidiaRop[alu]; - nvidiaWait (nvidiac, &nvidiac->rect->FifoFree, 1); - nvidiac->rect->Color1A = fg; - return TRUE; -} - -static void -nvidiaSolid (int x1, int y1, int x2, int y2) -{ - nvidiaWait (card, &card->rect->FifoFree, 2); - card->rect->TopLeft = NVIDIA_XY(x1,y1); - card->rect->WidthHeight = NVIDIA_XY(x2-x1,y2-y1); -} - -static void -nvidiaDoneSolid (void) -{ -} - - -static Bool -nvidiaPrepareCopy (PixmapPtr pSrcPixmap, - PixmapPtr pDstPixmap, - int dx, - int dy, - int alu, - Pixel pm) -{ - ScreenPtr pScreen = pDstPixmap->drawable.pScreen; - KdScreenPriv(pScreen); - nvidiaCardInfo(pScreenPriv); - - card = nvidiac; - if (~pm & FbFullMask(pDstPixmap->drawable.depth)) - return FALSE; - nvidiaWait (nvidiac, &card->rop->FifoFree, 1); - nvidiac->rop->Rop3 = nvidiaRop[alu]; - return TRUE; -} - -static void -nvidiaCopy (int srcX, - int srcY, - int dstX, - int dstY, - int w, - int h) -{ - nvidiaWait (card, &card->blt->FifoFree, 3); - card->blt->TopLeftSrc = NVIDIA_XY(srcX, srcY); - card->blt->TopLeftDst = NVIDIA_XY(dstX, dstY); - card->blt->WidthHeight = NVIDIA_XY(w, h); -} - -static void -nvidiaDoneCopy (void) -{ -} - -Bool -nvidiaDrawInit (ScreenPtr pScreen) -{ - KdScreenPriv(pScreen); - nvidiaCardInfo(pScreenPriv); - nvidiaScreenInfo(pScreenPriv); - Bool ret = TRUE; - - ENTER (); - if (pScreenPriv->screen->fb[0].depth == 4) - ret = FALSE; - - memset(&nvidias->kaa, 0, sizeof(KaaScreenInfoRec)); - nvidias->kaa.waitMarker = nvidiaWaitMarker; - nvidias->kaa.PrepareSolid = nvidiaPrepareSolid; - nvidias->kaa.Solid = nvidiaSolid; - nvidias->kaa.DoneSolid = nvidiaDoneSolid; - nvidias->kaa.PrepareCopy = nvidiaPrepareCopy; - nvidias->kaa.Copy = nvidiaCopy; - nvidias->kaa.DoneCopy = nvidiaDoneCopy; - - if (ret && !nvidiac->rop) - { - ErrorF ("Failed to map fifo registers\n"); - ret = FALSE; - } - if (ret && !nvidiac->rop->FifoFree.FifoFree) - { - ErrorF ("Fifo appears broken\n"); - ret = FALSE; - } - if (ret && !kaaDrawInit (pScreen, &nvidias->kaa)) - { - ErrorF ("kaaDrawInit failed\n"); - ret = FALSE; - } - - LEAVE (); - return ret; -} - -#define PIX_FORMAT_MONO 0 -#define PIX_FORMAT_PSEUDO_8 2 -#define PIX_FORMAT_TRUE_1555 3 -#define PIX_FORMAT_TRUE_565 4 -#define PIX_FORMAT_TRUE_8888 6 -#define PIX_FORMAT_TRUE_332 7 -#define PIX_FORMAT_GRAY_8 8 -#define PIX_FORMAT_YUV_422 0xb -#define PIX_FORMAT_YUV_444 0xe -#define PIX_FORMAT_TRUE_4444 0xf - -void -nvidiaDrawEnable (ScreenPtr pScreen) -{ - KdScreenPriv(pScreen); - nvidiaCardInfo(pScreenPriv); - - ENTER (); - nvidiac->fifo_size = nvidiac->rop->FifoFree.FifoFree; - nvidiac->fifo_free = 0; - kaaMarkSync (pScreen); - LEAVE (); -} - -void -nvidiaDrawDisable (ScreenPtr pScreen) -{ -} - -void -nvidiaDrawFini (ScreenPtr pScreen) -{ -} - diff --git a/xorg-server/hw/kdrive/nvidia/nvidiadraw.h b/xorg-server/hw/kdrive/nvidia/nvidiadraw.h deleted file mode 100644 index bac11c2a6..000000000 --- a/xorg-server/hw/kdrive/nvidia/nvidiadraw.h +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Copyright © 1999 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 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. - */ - -#ifndef _TRIDENTDRAW_H_ -#define _TRIDENTDRAW_H_ - -#define SetupTrident(s) KdScreenPriv(s); \ - tridentCardInfo(pScreenPriv); \ - Cop *cop = tridentc->cop - -#define TridentAlpha (COP_MULTI_ALPHA|COP_ALPHA_WRITE_ENABLE) - -#define _tridentInit(cop,tridentc) { \ - if ((cop)->status == 0xffffffff) tridentSetMMIO(tridentc); \ - (cop)->multi = (tridentc)->cop_depth; \ - (cop)->multi = (tridentc)->cop_stride; \ - (cop)->multi = TridentAlpha; \ -} \ - -#define _tridentSetSolidRect(cop,pix,alu,cmd) {\ - cop->multi = COP_MULTI_PATTERN; \ - cop->multi = COP_MULTI_ROP | tridentRop[alu]; \ - cop->fg = (pix); \ - cmd = COP_OP_BLT | COP_SCL_OPAQUE | COP_OP_ROP | COP_OP_FG; \ -} - -#define _tridentRect(cop,x1,y1,x2,y2,cmd) { \ - (cop)->dst_start_xy = TRI_XY (x1,y1); \ - (cop)->dst_end_xy = TRI_XY(x2,y2); \ - _tridentWaitDone(cop); \ - (cop)->command = (cmd); \ -} - -#define COP_STATUS_BUSY (COP_STATUS_BE_BUSY | \ - COP_STATUS_DPE_BUSY | \ - COP_STATUS_MI_BUSY) - -#define _tridentWaitDone(cop) { \ - int __q__ = 500000; \ - while (__q__-- && (cop)->status & COP_STATUS_BUSY) \ - ; \ - if (!__q__) \ - (cop)->status = 0; \ -} - -#define _tridentWaitIdleEmpty(cop) _tridentWaitDone(cop) - -#define sourceInvarient(alu) (((alu) & 3) == (((alu) >> 2) & 3)) - -#endif diff --git a/xorg-server/hw/kdrive/nvidia/nvidiastub.c b/xorg-server/hw/kdrive/nvidia/nvidiastub.c deleted file mode 100644 index 0e8250e31..000000000 --- a/xorg-server/hw/kdrive/nvidia/nvidiastub.c +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Copyright © 2003 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 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. - */ - -#ifdef HAVE_CONFIG_H -#include -#endif -#include "nvidia.h" - -void -InitCard (char *name) -{ - KdCardAttr attr; - - if (LinuxFindPci (0x10de, 0x0112, 0, &attr)) - KdCardInfoAdd (&nvidiaFuncs, &attr, 0); -} - -void -InitOutput (ScreenInfo *pScreenInfo, int argc, char **argv) -{ - KdInitOutput (pScreenInfo, argc, argv); -} - -void -InitInput (int argc, char **argv) -{ - KdOsAddInputDrivers (); - KdInitInput (); -} - -void -ddxUseMsg (void) -{ - KdUseMsg(); - vesaUseMsg(); -} - -int -ddxProcessArgument (int argc, char **argv, int i) -{ - int ret; - - if (!(ret = vesaProcessArgument (argc, argv, i))) - ret = KdProcessArgument(argc, argv, i); - return ret; -} diff --git a/xorg-server/hw/kdrive/pm2/Makefile.am b/xorg-server/hw/kdrive/pm2/Makefile.am deleted file mode 100644 index cb28de6cb..000000000 --- a/xorg-server/hw/kdrive/pm2/Makefile.am +++ /dev/null @@ -1,37 +0,0 @@ -INCLUDES = \ - @KDRIVE_INCS@ \ - -I$(top_srcdir)/hw/kdrive/vesa \ - @KDRIVE_CFLAGS@ - -bin_PROGRAMS = Xpm2 - -noinst_LIBRARIES = libpm2.a - -libpm2_a_SOURCES = \ - glint_regs.h \ - pm2.c \ - pm2_draw.c \ - pm2.h - -Xpm2_SOURCES = \ - pm2stub.c - -PM2_LIBS = \ - libpm2.a \ - $(top_builddir)/hw/kdrive/vesa/libvesa.a \ - @KDRIVE_LIBS@ - -if GLX -Xpm2_LDFLAGS = $(LD_EXPORT_SYMBOLS_FLAG) -endif - -Xpm2_LDADD = \ - $(PM2_LIBS) \ - @KDRIVE_LIBS@ - -Xpm2_DEPENDENCIES = \ - libpm2.a \ - @KDRIVE_LOCAL_LIBS@ - -relink: - rm -f $(bin_PROGRAMS) && make $(bin_PROGRAMS) diff --git a/xorg-server/hw/kdrive/pm2/Makefile.in b/xorg-server/hw/kdrive/pm2/Makefile.in deleted file mode 100644 index 2f583eb92..000000000 --- a/xorg-server/hw/kdrive/pm2/Makefile.in +++ /dev/null @@ -1,717 +0,0 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008 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 = Xpm2$(EXEEXT) -subdir = hw/kdrive/pm2 -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 -libpm2_a_AR = $(AR) $(ARFLAGS) -libpm2_a_LIBADD = -am_libpm2_a_OBJECTS = pm2.$(OBJEXT) pm2_draw.$(OBJEXT) -libpm2_a_OBJECTS = $(am_libpm2_a_OBJECTS) -am__installdirs = "$(DESTDIR)$(bindir)" -binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) -PROGRAMS = $(bin_PROGRAMS) -am_Xpm2_OBJECTS = pm2stub.$(OBJEXT) -Xpm2_OBJECTS = $(am_Xpm2_OBJECTS) -am__DEPENDENCIES_1 = libpm2.a $(top_builddir)/hw/kdrive/vesa/libvesa.a -Xpm2_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(Xpm2_LDFLAGS) \ - $(LDFLAGS) -o $@ -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include -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 = $(libpm2_a_SOURCES) $(Xpm2_SOURCES) -DIST_SOURCES = $(libpm2_a_SOURCES) $(Xpm2_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@ -DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ -DRI2PROTO_LIBS = @DRI2PROTO_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@ -DSYMUTIL = @DSYMUTIL@ -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@ -GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ -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@ -LAUNCHD = @LAUNCHD@ -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@ -NMEDIT = @NMEDIT@ -OBJC = @OBJC@ -OBJCCLD = @OBJCCLD@ -OBJCDEPMODE = @OBJCDEPMODE@ -OBJCFLAGS = @OBJCFLAGS@ -OBJCLINK = @OBJCLINK@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ -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@ -PCIACCESS_CFLAGS = @PCIACCESS_CFLAGS@ -PCIACCESS_LIBS = @PCIACCESS_LIBS@ -PCI_TXT_IDS_PATH = @PCI_TXT_IDS_PATH@ -PERL = @PERL@ -PKG_CONFIG = @PKG_CONFIG@ -PROJECTROOT = @PROJECTROOT@ -PS2PDF = @PS2PDF@ -RANLIB = @RANLIB@ -RAWCPP = @RAWCPP@ -RAWCPPFLAGS = @RAWCPPFLAGS@ -SED = @SED@ -SERVER_MISC_CONFIG_PATH = @SERVER_MISC_CONFIG_PATH@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ -SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ -STRIP = @STRIP@ -TSLIB_CFLAGS = @TSLIB_CFLAGS@ -TSLIB_LIBS = @TSLIB_LIBS@ -UTILS_SYS_LIBS = @UTILS_SYS_LIBS@ -VENDOR_MAN_VERSION = @VENDOR_MAN_VERSION@ -VENDOR_NAME = @VENDOR_NAME@ -VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ -VENDOR_RELEASE = @VENDOR_RELEASE@ -VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ -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_CFLAGS = @XDMX_CFLAGS@ -XDMX_LIBS = @XDMX_LIBS@ -XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ -XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ -XEPHYR_INCS = @XEPHYR_INCS@ -XEPHYR_LIBS = @XEPHYR_LIBS@ -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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ -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@ -XNEST_SYS_LIBS = @XNEST_SYS_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_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@ -XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_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@ -XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ -XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ -XTSTEXAMPLES_DEP_LIBS = @XTSTEXAMPLES_DEP_LIBS@ -XVFB_LIBS = @XVFB_LIBS@ -XVFB_SYS_LIBS = @XVFB_SYS_LIBS@ -XWINMODULES_CFLAGS = @XWINMODULES_CFLAGS@ -XWINMODULES_LIBS = @XWINMODULES_LIBS@ -XWIN_LIBS = @XWIN_LIBS@ -XWIN_SERVER_NAME = @XWIN_SERVER_NAME@ -XWIN_SYS_LIBS = @XWIN_SYS_LIBS@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -__XCONFIGFILE__ = @__XCONFIGFILE__@ -abi_ansic = @abi_ansic@ -abi_extension = @abi_extension@ -abi_font = @abi_font@ -abi_videodrv = @abi_videodrv@ -abi_xinput = @abi_xinput@ -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@ -launchagentsdir = @launchagentsdir@ -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_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ -INCLUDES = \ - @KDRIVE_INCS@ \ - -I$(top_srcdir)/hw/kdrive/vesa \ - @KDRIVE_CFLAGS@ - -noinst_LIBRARIES = libpm2.a -libpm2_a_SOURCES = \ - glint_regs.h \ - pm2.c \ - pm2_draw.c \ - pm2.h - -Xpm2_SOURCES = \ - pm2stub.c - -PM2_LIBS = \ - libpm2.a \ - $(top_builddir)/hw/kdrive/vesa/libvesa.a \ - @KDRIVE_LIBS@ - -@GLX_TRUE@Xpm2_LDFLAGS = $(LD_EXPORT_SYMBOLS_FLAG) -Xpm2_LDADD = \ - $(PM2_LIBS) \ - @KDRIVE_LIBS@ - -Xpm2_DEPENDENCIES = \ - libpm2.a \ - @KDRIVE_LOCAL_LIBS@ - -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/kdrive/pm2/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign hw/kdrive/pm2/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) -libpm2.a: $(libpm2_a_OBJECTS) $(libpm2_a_DEPENDENCIES) - -rm -f libpm2.a - $(libpm2_a_AR) libpm2.a $(libpm2_a_OBJECTS) $(libpm2_a_LIBADD) - $(RANLIB) libpm2.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) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ - $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --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 -Xpm2$(EXEEXT): $(Xpm2_OBJECTS) $(Xpm2_DEPENDENCIES) - @rm -f Xpm2$(EXEEXT) - $(Xpm2_LINK) $(Xpm2_OBJECTS) $(Xpm2_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pm2.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pm2_draw.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pm2stub.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; nonemtpy = 1; } \ - END { if (nonempty) { 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; nonempty = 1; } \ - END { if (nonempty) { 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=; \ - 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; nonempty = 1; } \ - END { if (nonempty) { 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) -installdirs: - for dir in "$(DESTDIR)$(bindir)"; 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-dvi: install-dvi-am - -install-exec-am: install-binPROGRAMS - -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-binPROGRAMS - -.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-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-binPROGRAMS - - -relink: - rm -f $(bin_PROGRAMS) && make $(bin_PROGRAMS) -# 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/xorg-server/hw/kdrive/pm2/glint_regs.h b/xorg-server/hw/kdrive/pm2/glint_regs.h deleted file mode 100644 index 84f220298..000000000 --- a/xorg-server/hw/kdrive/pm2/glint_regs.h +++ /dev/null @@ -1,1370 +0,0 @@ - -/* - * glint register file - * - * Copyright by Stefan Dirsch, Dirk Hohndel, Alan Hourihane - * Authors: Alan Hourihane, - * Dirk Hohndel, - * Stefan Dirsch, - * Simon P., - * - * this work is sponsored by S.u.S.E. GmbH, Fuerth, Elsa GmbH, Aachen and - * Siemens Nixdorf Informationssysteme - * - */ - -#ifndef _GLINTREG_H_ -#define _GLINTREG_H_ - -/* The chips we know */ -#define PCI_CHIP_3DLABS_300SX 0x01 -#define PCI_CHIP_3DLABS_500TX 0x02 -#define PCI_CHIP_3DLABS_DELTA 0x03 -#define PCI_CHIP_3DLABS_PERMEDIA 0x04 -#define PCI_CHIP_3DLABS_MX 0x06 -#define PCI_CHIP_3DLABS_PERMEDIA2 0x07 -#define PCI_CHIP_3DLABS_GAMMA 0x08 -#define PCI_CHIP_3DLABS_PERMEDIA2V 0x09 -#define PCI_CHIP_3DLABS_PERMEDIA3 0x0A -#define PCI_CHIP_3DLABS_PERMEDIA4 0x0C -#define PCI_CHIP_3DLABS_R4 0x0D -#define PCI_CHIP_3DLABS_GAMMA2 0x0E - -/* The boards we know */ -#define IS_GLORIAXXL ((pGlint->PciInfo->subsysVendor == 0x1048) && \ - (pGlint->PciInfo->subsysCard == 0x0a42)) - -#define IS_GLORIASYNERGY ((pGlint->PciInfo->subsysVendor == 0x1048) && \ - (pGlint->PciInfo->subsysCard == 0x0a32)) - -#define IS_GMX2000 ((pGlint->PciInfo->subsysVendor == 0x3d3d) && \ - (pGlint->PciInfo->subsysCard == 0x0106)) - -#define IS_J2000 ((pGlint->PciInfo->subsysVendor == 0x1097) && \ - (pGlint->PciInfo->subsysCard == 0x3d32)) - -#define IS_JPRO ((pGlint->PciInfo->subsysVendor == 0x1097) && \ - (pGlint->PciInfo->subsysCard == 0x3db3)) - -/* COMPAQ OEM VX1 PCI - * subsys == 0x0121 if VGA is enabled - * subsys == 0x000a if VGA has never been enabled - */ -#define IS_PCI_QVX1 (pGlint->PciInfo->subsysVendor == 0x3d3d && \ - ((pGlint->PciInfo->subsysCard == 0x0121) || \ - (pGlint->PciInfo->subsysCard == 0x000a))) - -/* COMPAQ OEM VX1 AGP - * subsys == 0x0144 if VGA is enabled - * subsys == 0x000c if VGA has never been enabled - */ -#define IS_AGP_QVX1 (pGlint->PciInfo->subsysVendor == 0x3d3d && \ - ((pGlint->PciInfo->subsysCard == 0x0144) || \ - (pGlint->PciInfo->subsysCard == 0x000c))) - -#define IS_QVX1 (IS_PCI_QVX1 || IS_AGP_QVX1) - -#define IS_ELSA_SYNERGY ((pGlint->PciInfo->subsysVendor == 0x1048) && \ - (pGlint->PciInfo->subsysCard == 0x0a32)) - -/* COMPAQ OEM Permedia 2V with VGA disable jumper - 0x13e9 ? */ -#define IS_QPM2V ((pGlint->PciInfo->subsysVendor == 0x13e9) && \ - ((pGlint->PciInfo->subsysCard == 0x0100) || \ - (pGlint->PciInfo->subsysCard == 0x0002))) - -/********************************************** -* GLINT 500TX Configuration Region Registers * -***********************************************/ - -/* Device Identification */ -#define CFGVendorId 0x0000 -#define PCI_VENDOR_3DLABS 0x3D3D -#define PCI_VENDOR_TI 0x104C -#define CFGDeviceId 0x0002 - -#define CFGRevisionId 0x08 -#define CFGClassCode 0x09 -#define CFGHeaderType 0x0E - -/* Device Control/Status */ -#define CFGCommand 0x04 -#define CFGStatus 0x06 - -/* Miscellaneous Functions */ -#define CFGBist 0x0f -#define CFGLatTimer 0x0d -#define CFGCacheLine 0x0c -#define CFGMaxLat 0x3f -#define CFGMinGrant 0x3e -#define CFGIntPin 0x3d -#define CFGIntLine 0x3c - -/* Base Adresses */ -#define CFGBaseAddr0 0x10 -#define CFGBaseAddr1 0x14 -#define CFGBaseAddr2 0x18 -#define CFGBaseAddr3 0x1C -#define CFGBaseAddr4 0x20 -#define CFGRomAddr 0x30 - - - -/********************************** - * GLINT 500TX Region 0 Registers * - **********************************/ - -/* Control Status Registers */ -#define ResetStatus 0x0000 -#define IntEnable 0x0008 -#define IntFlags 0x0010 -#define InFIFOSpace 0x0018 -#define OutFIFOWords 0x0020 -#define DMAAddress 0x0028 -#define DMACount 0x0030 -#define ErrorFlags 0x0038 -#define VClkCtl 0x0040 -#define TestRegister 0x0048 -#define Aperture0 0x0050 -#define Aperture1 0x0058 -#define DMAControl 0x0060 -#define FIFODis 0x0068 - -/* GLINT PerMedia Region 0 additional Registers */ -#define ChipConfig 0x0070 -# define SCLK_SEL_MASK (3 << 10) -# define SCLK_SEL_MCLK_HALF (3 << 10) - -#define ByDMAControl 0x00D8 - -/* GLINT 500TX LocalBuffer Registers */ -#define LBMemoryCtl 0x1000 -# define LBNumBanksMask 0x00000001 -# define LBNumBanks1 (0) -# define LBNumBanks2 (1) -# define LBPageSizeMask 0x00000006 -# define LBPageSize256 (0<<1) -# define LBPageSize512 (1<<1) -# define LBPageSize1024 (2<<1) -# define LBPageSize2048 (3<<1) -# define LBRASCASLowMask 0x00000018 -# define LBRASCASLow2 (0<<3) -# define LBRASCASLow3 (1<<3) -# define LBRASCASLow4 (2<<3) -# define LBRASCASLow5 (3<<3) -# define LBRASPrechargeMask 0x00000060 -# define LBRASPrecharge2 (0<<5) -# define LBRASPrecharge3 (1<<5) -# define LBRASPrecharge4 (2<<5) -# define LBRASPrecharge5 (3<<5) -# define LBCASLowMask 0x00000180 -# define LBCASLow1 (0<<7) -# define LBCASLow2 (1<<7) -# define LBCASLow3 (2<<7) -# define LBCASLow4 (3<<7) -# define LBPageModeMask 0x00000200 -# define LBPageModeEnabled (0<<9) -# define LBPageModeDisabled (1<<9) -# define LBRefreshCountMask 0x0003fc00 -# define LBRefreshCountShift 10 - -#define LBMemoryEDO 0x1008 -# define LBEDOMask 0x00000001 -# define LBEDODisabled (0) -# define LBEDOEnabled (1) -# define LBEDOBankSizeMask 0x0000000e -# define LBEDOBankSizeDiabled (0<<1) -# define LBEDOBankSize256K (1<<1) -# define LBEDOBankSize512K (2<<1) -# define LBEDOBankSize1M (3<<1) -# define LBEDOBankSize2M (4<<1) -# define LBEDOBankSize4M (5<<1) -# define LBEDOBankSize8M (6<<1) -# define LBEDOBankSize16M (7<<1) -# define LBTwoPageDetectorMask 0x00000010 -# define LBSinglePageDetector (0<<4) -# define LBTwoPageDetector (1<<4) - -/* GLINT PerMedia Memory Control Registers */ -#define PMReboot 0x1000 -#define PMRomControl 0x1040 -#define PMBootAddress 0x1080 -#define PMMemConfig 0x10C0 -# define RowCharge8 1 << 10 -# define TimeRCD8 1 << 7 -# define TimeRC8 0x6 << 3 -# define TimeRP8 1 -# define CAS3Latency8 0 << 16 -# define BootAdress8 0x10 -# define NumberBanks8 0x3 << 29 -# define RefreshCount8 0x41 << 21 -# define TimeRASMin8 1 << 13 -# define DeadCycle8 1 << 17 -# define BankDelay8 0 << 18 -# define Burst1Cycle8 1 << 31 -# define SDRAM8 0 << 4 - -# define RowCharge6 1 << 10 -# define TimeRCD6 1 << 7 -# define TimeRC6 0x6 << 3 -# define TimeRP6 0x2 -# define CAS3Latency6 1 << 16 -# define BootAdress6 0x60 -# define NumberBanks6 0x2 << 29 -# define RefreshCount6 0x41 << 21 -# define TimeRASMin6 1 << 13 -# define DeadCycle6 1 << 17 -# define BankDelay6 0 << 18 -# define Burst1Cycle6 1 << 31 -# define SDRAM6 0 << 4 - -# define RowCharge4 0 << 10 -# define TimeRCD4 0 << 7 -# define TimeRC4 0x4 << 3 -# define TimeRP4 1 -# define CAS3Latency4 0 << 16 -# define BootAdress4 0x10 -# define NumberBanks4 1 << 29 -# define RefreshCount4 0x30 << 21 -# define TimeRASMin4 1 << 13 -# define DeadCycle4 0 << 17 -# define BankDelay4 0 << 18 -# define Burst1Cycle4 1 << 31 -# define SDRAM4 0 << 4 - -/* Permedia 2 Control */ -#define MemControl 0x1040 - -#define PMBypassWriteMask 0x1100 -#define PMFramebufferWriteMask 0x1140 -#define PMCount 0x1180 - -/* Framebuffer Registers */ -#define FBMemoryCtl 0x1800 -#define FBModeSel 0x1808 -#define FBGCWrMask 0x1810 -#define FBGCColorLower 0x1818 -#define FBTXMemCtl 0x1820 -#define FBWrMaskk 0x1830 -#define FBGCColorUpper 0x1838 - -/* Core FIFO */ -#define OutputFIFO 0x2000 - -/* 500TX Internal Video Registers */ -#define VTGHLimit 0x3000 -#define VTGHSyncStart 0x3008 -#define VTGHSyncEnd 0x3010 -#define VTGHBlankEnd 0x3018 -#define VTGVLimit 0x3020 -#define VTGVSyncStart 0x3028 -#define VTGVSyncEnd 0x3030 -#define VTGVBlankEnd 0x3038 -#define VTGHGateStart 0x3040 -#define VTGHGateEnd 0x3048 -#define VTGVGateStart 0x3050 -#define VTGVGateEnd 0x3058 -#define VTGPolarity 0x3060 -#define VTGFrameRowAddr 0x3068 -#define VTGVLineNumber 0x3070 -#define VTGSerialClk 0x3078 -#define VTGModeCtl 0x3080 - -/* Permedia Video Control Registers */ -#define PMScreenBase 0x3000 -#define PMScreenStride 0x3008 -#define PMHTotal 0x3010 -#define PMHgEnd 0x3018 -#define PMHbEnd 0x3020 -#define PMHsStart 0x3028 -#define PMHsEnd 0x3030 -#define PMVTotal 0x3038 -#define PMVbEnd 0x3040 -#define PMVsStart 0x3048 -#define PMVsEnd 0x3050 -#define PMVideoControl 0x3058 -#define PMInterruptLine 0x3060 -#define PMDDCData 0x3068 -# define DataIn (1<<0) -# define ClkIn (1<<1) -# define DataOut (1<<2) -# define ClkOut (1<<3) -#define PMLineCount 0x3070 -#define PMFifoControl 0x3078 - -/* Permedia 2 RAMDAC Registers */ -#define PM2DACWriteAddress 0x4000 -#define PM2DACIndexReg 0x4000 -#define PM2DACData 0x4008 -#define PM2DACReadMask 0x4010 -#define PM2DACReadAddress 0x4018 -#define PM2DACCursorColorAddress 0x4020 -#define PM2DACCursorColorData 0x4028 -#define PM2DACIndexData 0x4050 -#define PM2DACCursorData 0x4058 -#define PM2DACCursorXLsb 0x4060 -#define PM2DACCursorXMsb 0x4068 -#define PM2DACCursorYLsb 0x4070 -#define PM2DACCursorYMsb 0x4078 -#define PM2DACCursorControl 0x06 - -#define PM2DACIndexCMR 0x18 -# define PM2DAC_TRUECOLOR 0x80 -# define PM2DAC_RGB 0x20 -# define PM2DAC_GRAPHICS 0x10 -# define PM2DAC_PACKED 0x09 -# define PM2DAC_8888 0x08 -# define PM2DAC_565 0x06 -# define PM2DAC_4444 0x05 -# define PM2DAC_5551 0x04 -# define PM2DAC_2321 0x03 -# define PM2DAC_2320 0x02 -# define PM2DAC_332 0x01 -# define PM2DAC_CI8 0x00 - -#define PM2DACIndexMDCR 0x19 -#define PM2DACIndexPalettePage 0x1c -#define PM2DACIndexMCR 0x1e -#define PM2DACIndexClockAM 0x20 -#define PM2DACIndexClockAN 0x21 -#define PM2DACIndexClockAP 0x22 -#define PM2DACIndexClockBM 0x23 -#define PM2DACIndexClockBN 0x24 -#define PM2DACIndexClockBP 0x25 -#define PM2DACIndexClockCM 0x26 -#define PM2DACIndexClockCN 0x27 -#define PM2DACIndexClockCP 0x28 -#define PM2DACIndexClockStatus 0x29 -#define PM2DACIndexMemClockM 0x30 -#define PM2DACIndexMemClockN 0x31 -#define PM2DACIndexMemClockP 0x32 -#define PM2DACIndexMemClockStatus 0x33 -#define PM2DACIndexColorKeyControl 0x40 -#define PM2DACIndexColorKeyOverlay 0x41 -#define PM2DACIndexColorKeyRed 0x42 -#define PM2DACIndexColorKeyGreen 0x43 -#define PM2DACIndexColorKeyBlue 0x44 - -/* Permedia 2V extensions */ -#define PM2VDACRDMiscControl 0x000 -#define PM2VDACRDSyncControl 0x001 -#define PM2VDACRDDACControl 0x002 -#define PM2VDACRDPixelSize 0x003 -#define PM2VDACRDColorFormat 0x004 -#define PM2VDACRDCursorMode 0x005 -#define PM2VDACRDCursorXLow 0x007 -#define PM2VDACRDCursorXHigh 0x008 -#define PM2VDACRDCursorYLow 0x009 -#define PM2VDACRDCursorYHigh 0x00A -#define PM2VDACRDCursorHotSpotX 0x00B -#define PM2VDACRDCursorHotSpotY 0x00C -#define PM2VDACRDOverlayKey 0x00D -#define PM2VDACRDPan 0x00E -#define PM2VDACRDSense 0x00F -#define PM2VDACRDCheckControl 0x018 -#define PM2VDACIndexClockControl 0x200 -#define PM2VDACRDDClk0PreScale 0x201 -#define PM2VDACRDDClk0FeedbackScale 0x202 -#define PM2VDACRDDClk0PostScale 0x203 -#define PM2VDACRDDClk1PreScale 0x204 -#define PM2VDACRDDClk1FeedbackScale 0x205 -#define PM2VDACRDDClk1PostScale 0x206 -#define PM2VDACRDMClkControl 0x20D -#define PM2VDACRDMClkPreScale 0x20E -#define PM2VDACRDMClkFeedbackScale 0x20F -#define PM2VDACRDMClkPostScale 0x210 -#define PM2VDACRDCursorPalette 0x303 -#define PM2VDACRDCursorPattern 0x400 -#define PM2VDACIndexRegLow 0x4020 -#define PM2VDACIndexRegHigh 0x4028 -#define PM2VDACIndexData 0x4030 - -#define PM2VDACRDIndexControl 0x4038 -/* Permedia 2 Video Streams Unit Registers */ -# define VSBIntFlag (1<<8) -# define VSAIntFlag (1<<9) - -#define VSConfiguration 0x5800 -# define VS_UnitMode_ROM 0 -# define VS_UnitMode_AB8 3 -# define VS_UnitMode_Mask 7 -# define VS_GPBusMode_A (1<<3) -# define VS_HRefPolarityA (1<<9) -# define VS_VRefPolarityA (1<<10) -# define VS_VActivePolarityA (1<<11) -# define VS_UseFieldA (1<<12) -# define VS_FieldPolarityA (1<<13) -# define VS_FieldEdgeA (1<<14) -# define VS_VActiveVBIA (1<<15) -# define VS_InterlaceA (1<<16) -# define VS_ReverseDataA (1<<17) -# define VS_HRefPolarityB (1<<18) -# define VS_VRefPolarityB (1<<19) -# define VS_VActivePolarityB (1<<20) -# define VS_UseFieldB (1<<21) -# define VS_FieldPolarityB (1<<22) -# define VS_FieldEdgeB (1<<23) -# define VS_VActiveVBIB (1<<24) -# define VS_InterlaceB (1<<25) -# define VS_ColorSpaceB_RGB (1<<26) -# define VS_ReverseDataB (1<<27) -# define VS_DoubleEdgeB (1<<28) - -#define VSStatus 0x5808 -# define VS_FieldOne0A (1<<9) -# define VS_FieldOne1A (1<<10) -# define VS_FieldOne2A (1<<11) -# define VS_InvalidInterlaceA (1<<12) -# define VS_FieldOne0B (1<<17) -# define VS_FieldOne1B (1<<18) -# define VS_FieldOne2B (1<<19) -# define VS_InvalidInterlaceB (1<<20) - -#define VSSerialBusControl 0x5810 - -#define VSABase 0x5900 -# define VSA_Video (1<<0) -# define VSA_VBI (1<<1) -# define VSA_BufferCtl (1<<2) -# define VSA_MirrorX (1<<7) -# define VSA_MirrorY (1<<8) -# define VSA_Discard_None (0<<9) -# define VSA_Discard_FieldOne (1<<9) -# define VSA_Discard_FieldTwo (2<<9) -# define VSA_CombineFields (1<<11) -# define VSA_LockToStreamB (1<<12) - -#define VSBBase 0x5A00 -# define VSB_Video (1<<0) -# define VSB_VBI (1<<1) -# define VSB_BufferCtl (1<<2) -# define VSB_CombineFields (1<<3) -# define VSB_RGBOrder (1<<11) -# define VSB_GammaCorrect (1<<12) -# define VSB_LockToStreamA (1<<13) - -#define VSControl 0x0000 -#define VSInterrupt 0x0008 -#define VSCurrentLine 0x0010 -#define VSVideoAddressHost 0x0018 -#define VSVideoAddressIndex 0x0020 -#define VSVideoAddress0 0x0028 -#define VSVideoAddress1 0x0030 -#define VSVideoAddress2 0x0038 -#define VSVideoStride 0x0040 -#define VSVideoStartLine 0x0048 -#define VSVideoEndLine 0x0050 -#define VSVideoStartData 0x0058 -#define VSVideoEndData 0x0060 -#define VSVBIAddressHost 0x0068 -#define VSVBIAddressIndex 0x0070 -#define VSVBIAddress0 0x0078 -#define VSVBIAddress1 0x0080 -#define VSVBIAddress2 0x0088 -#define VSVBIStride 0x0090 -#define VSVBIStartLine 0x0098 -#define VSVBIEndLine 0x00A0 -#define VSVBIStartData 0x00A8 -#define VSVBIEndData 0x00B0 -#define VSFifoControl 0x00B8 - -/********************************** - * GLINT Delta Region 0 Registers * - **********************************/ - -/* Control Status Registers */ -#define DResetStatus 0x0800 -#define DIntEnable 0x0808 -#define DIntFlags 0x0810 -#define DErrorFlags 0x0838 -#define DTestRegister 0x0848 -#define DFIFODis 0x0868 - - - -/********************************** - * GLINT Gamma Region 0 Registers * - **********************************/ - -/* Control Status Registers */ -#define GInFIFOSpace 0x0018 -#define GDMAAddress 0x0028 -#define GDMACount 0x0030 -#define GDMAControl 0x0060 -#define GOutDMA 0x0080 -#define GOutDMACount 0x0088 -#define GResetStatus 0x0800 -#define GIntEnable 0x0808 -#define GIntFlags 0x0810 -#define GErrorFlags 0x0838 -#define GTestRegister 0x0848 -#define GFIFODis 0x0868 - -#define GChipConfig 0x0870 -# define GChipAGPCapable 1 << 0 -# define GChipAGPSideband 1 << 1 -# define GChipMultiGLINTApMask 3 << 19 -# define GChipMultiGLINTAp_0M 0 << 19 -# define GChipMultiGLINTAp_16M 1 << 19 -# define GChipMultiGLINTAp_32M 2 << 19 -# define GChipMultiGLINTAp_64M 3 << 19 - -#define GCSRAperture 0x0878 -# define GCSRSecondaryGLINTMapEn 1 << 0 -# define GCSRBitSwap 1 << 1 - -#define GPageTableAddr 0x0c00 -#define GPageTableLength 0x0c08 -#define GDelayTimer 0x0c38 -#define GCommandMode 0x0c40 -#define GCommandIntEnable 0x0c48 -#define GCommandIntFlags 0x0c50 -#define GCommandErrorFlags 0x0c58 -#define GCommandStatus 0x0c60 -#define GCommandFaultingAddr 0x0c68 -#define GVertexFaultingAddr 0x0c70 -#define GWriteFaultingAddr 0x0c88 -#define GFeedbackSelectCount 0x0c98 -#define GGammaProcessorMode 0x0cb8 -#define GVGAShadow 0x0d00 -#define GMultGLINTAperture 0x0d08 -#define GMultGLINT1 0x0d10 -#define GMultGLINT2 0x0d18 - -/************************ - * GLINT Core Registers * - ************************/ - -#define GLINT_TAG(major,offset) (((major) << 7) | ((offset) << 3)) -#define GLINT_TAG_ADDR(major,offset) (0x8000 | GLINT_TAG((major),(offset))) - -#define UNIT_DISABLE 0 -#define UNIT_ENABLE 1 - -#define StartXDom GLINT_TAG_ADDR(0x00,0x00) -#define dXDom GLINT_TAG_ADDR(0x00,0x01) -#define StartXSub GLINT_TAG_ADDR(0x00,0x02) -#define dXSub GLINT_TAG_ADDR(0x00,0x03) -#define StartY GLINT_TAG_ADDR(0x00,0x04) -#define dY GLINT_TAG_ADDR(0x00,0x05) -#define GLINTCount GLINT_TAG_ADDR(0x00,0x06) - -#define Render GLINT_TAG_ADDR(0x00,0x07) -# define AreaStippleEnable 0x00001 -# define LineStippleEnable 0x00002 -# define ResetLineStipple 0x00004 -# define FastFillEnable 0x00008 -# define PrimitiveLine 0 -# define PrimitiveTrapezoid 0x00040 -# define PrimitivePoint 0x00080 -# define PrimitiveRectangle 0x000C0 -# define AntialiasEnable 0x00100 -# define AntialiasingQuality 0x00200 -# define UsePointTable 0x00400 -# define SyncOnBitMask 0x00800 -# define SyncOnHostData 0x01000 -# define TextureEnable 0x02000 -# define FogEnable 0x04000 -# define CoverageEnable 0x08000 -# define SubPixelCorrectionEnable 0x10000 -# define SpanOperation 0x40000 -# define XPositive 1<<21 -# define YPositive 1<<22 - -#define ContinueNewLine GLINT_TAG_ADDR(0x00,0x08) -#define ContinueNewDom GLINT_TAG_ADDR(0x00,0x09) -#define ContinueNewSub GLINT_TAG_ADDR(0x00,0x0a) -#define Continue GLINT_TAG_ADDR(0x00,0x0b) -#define FlushSpan GLINT_TAG_ADDR(0x00,0x0c) -#define BitMaskPattern GLINT_TAG_ADDR(0x00,0x0d) - -#define PointTable0 GLINT_TAG_ADDR(0x01,0x00) -#define PointTable1 GLINT_TAG_ADDR(0x01,0x01) -#define PointTable2 GLINT_TAG_ADDR(0x01,0x02) -#define PointTable3 GLINT_TAG_ADDR(0x01,0x03) - -#define RasterizerMode GLINT_TAG_ADDR(0x01,0x04) -#define RMMultiGLINT 1<<17 -#define BitMaskPackingEachScanline 1<<9 -#define ForceBackgroundColor 1<<6 -#define InvertBitMask 1<<1 - -#define YLimits GLINT_TAG_ADDR(0x01,0x05) -#define ScanLineOwnership GLINT_TAG_ADDR(0x01,0x06) -#define WaitForCompletion GLINT_TAG_ADDR(0x01,0x07) -#define PixelSize GLINT_TAG_ADDR(0x01,0x08) -#define XLimits GLINT_TAG_ADDR(0x01,0x09) /* PM only */ - -#define RectangleOrigin GLINT_TAG_ADDR(0x01,0x0A) /* PM2 only */ -#define RectangleSize GLINT_TAG_ADDR(0x01,0x0B) /* PM2 only */ - -#define PackedDataLimits GLINT_TAG_ADDR(0x02,0x0a) /* PM only */ - -#define ScissorMode GLINT_TAG_ADDR(0x03,0x00) -# define SCI_USER 0x01 -# define SCI_SCREEN 0x02 -# define SCI_USERANDSCREEN 0x03 - -#define ScissorMinXY GLINT_TAG_ADDR(0x03,0x01) -#define ScissorMaxXY GLINT_TAG_ADDR(0x03,0x02) -#define ScreenSize GLINT_TAG_ADDR(0x03,0x03) -#define AreaStippleMode GLINT_TAG_ADDR(0x03,0x04) - /* 0: */ - /* NoMirrorY */ - /* NoMirrorX */ - /* NoInvertPattern */ - /* YAddress_1bit */ - /* XAddress_1bit */ - /* UNIT_DISABLE */ - -# define ASM_XAddress_2bit 1 << 1 -# define ASM_XAddress_3bit 2 << 1 -# define ASM_XAddress_4bit 3 << 1 -# define ASM_XAddress_5bit 4 << 1 -# define ASM_YAddress_2bit 1 << 4 -# define ASM_YAddress_3bit 2 << 4 -# define ASM_YAddress_4bit 3 << 4 -# define ASM_YAddress_5bit 4 << 4 -# define ASM_InvertPattern 1 << 17 -# define ASM_MirrorX 1 << 18 -# define ASM_MirrorY 1 << 19 - -#define LineStippleMode GLINT_TAG_ADDR(0x03,0x05) -#define LoadLineStippleCounters GLINT_TAG_ADDR(0x03,0x06) -#define UpdateLineStippleCounters GLINT_TAG_ADDR(0x03,0x07) -#define SaveLineStippleState GLINT_TAG_ADDR(0x03,0x08) -#define WindowOrigin GLINT_TAG_ADDR(0x03,0x09) - -#define AreaStipplePattern0 GLINT_TAG_ADDR(0x04,0x00) -#define AreaStipplePattern1 GLINT_TAG_ADDR(0x04,0x01) -#define AreaStipplePattern2 GLINT_TAG_ADDR(0x04,0x02) -#define AreaStipplePattern3 GLINT_TAG_ADDR(0x04,0x03) -#define AreaStipplePattern4 GLINT_TAG_ADDR(0x04,0x04) -#define AreaStipplePattern5 GLINT_TAG_ADDR(0x04,0x05) -#define AreaStipplePattern6 GLINT_TAG_ADDR(0x04,0x06) -#define AreaStipplePattern7 GLINT_TAG_ADDR(0x04,0x07) - -#define TextureAddressMode GLINT_TAG_ADDR(0x07,0x00) -#define SStart GLINT_TAG_ADDR(0x07,0x01) -#define dSdx GLINT_TAG_ADDR(0x07,0x02) -#define dSdyDom GLINT_TAG_ADDR(0x07,0x03) -#define TStart GLINT_TAG_ADDR(0x07,0x04) -#define dTdx GLINT_TAG_ADDR(0x07,0x05) -#define dTdyDom GLINT_TAG_ADDR(0x07,0x06) -#define QStart GLINT_TAG_ADDR(0x07,0x07) -#define dQdx GLINT_TAG_ADDR(0x07,0x08) -#define dQdyDom GLINT_TAG_ADDR(0x07,0x09) -#define LOD GLINT_TAG_ADDR(0x07,0x0A) -#define dSdy GLINT_TAG_ADDR(0x07,0x0B) -#define dTdy GLINT_TAG_ADDR(0x07,0x0C) -#define dQdy GLINT_TAG_ADDR(0x07,0x0D) - -#define TextureReadMode GLINT_TAG_ADDR(0x09,0x00) - -#define TextureFormat GLINT_TAG_ADDR(0x09,0x01) -# define Texture_4_Components 3 << 3 -# define Texture_Texel 0 - -#define TextureCacheControl GLINT_TAG_ADDR(0x09,0x02) -# define TextureCacheControlEnable 2 -# define TextureCacheControlInvalidate 1 - -#define GLINTBorderColor GLINT_TAG_ADDR(0x09,0x05) - -#define TexelLUTIndex GLINT_TAG_ADDR(0x09,0x08) -#define TexelLUTData GLINT_TAG_ADDR(0x09,0x09) -#define TexelLUTAddress GLINT_TAG_ADDR(0x09,0x0A) -#define TexelLUTTransfer GLINT_TAG_ADDR(0x09,0x0B) - -#define TextureFilterMode GLINT_TAG_ADDR(0x09,0x0C) - -#define TextureChromaUpper GLINT_TAG_ADDR(0x09,0x0D) -#define TextureChromaLower GLINT_TAG_ADDR(0x09,0x0E) - -#define TxBaseAddr0 GLINT_TAG_ADDR(0x0A,0x00) -#define TxBaseAddr1 GLINT_TAG_ADDR(0x0A,0x01) -#define TxBaseAddr2 GLINT_TAG_ADDR(0x0A,0x02) -#define TxBaseAddr3 GLINT_TAG_ADDR(0x0A,0x03) -#define TxBaseAddr4 GLINT_TAG_ADDR(0x0A,0x04) -#define TxBaseAddr5 GLINT_TAG_ADDR(0x0A,0x05) -#define TxBaseAddr6 GLINT_TAG_ADDR(0x0A,0x06) -#define TxBaseAddr7 GLINT_TAG_ADDR(0x0A,0x07) -#define TxBaseAddr8 GLINT_TAG_ADDR(0x0A,0x08) -#define TxBaseAddr9 GLINT_TAG_ADDR(0x0A,0x09) -#define TxBaseAddr10 GLINT_TAG_ADDR(0x0A,0x0A) -#define TxBaseAddr11 GLINT_TAG_ADDR(0x0A,0x0B) - -#define PMTextureBaseAddress GLINT_TAG_ADDR(0x0b,0x00) -#define PMTextureMapFormat GLINT_TAG_ADDR(0x0b,0x01) -#define PMTextureDataFormat GLINT_TAG_ADDR(0x0b,0x02) - -#define Texel0 GLINT_TAG_ADDR(0x0c,0x00) -#define Texel1 GLINT_TAG_ADDR(0x0c,0x01) -#define Texel2 GLINT_TAG_ADDR(0x0c,0x02) -#define Texel3 GLINT_TAG_ADDR(0x0c,0x03) -#define Texel4 GLINT_TAG_ADDR(0x0c,0x04) -#define Texel5 GLINT_TAG_ADDR(0x0c,0x05) -#define Texel6 GLINT_TAG_ADDR(0x0c,0x06) -#define Texel7 GLINT_TAG_ADDR(0x0c,0x07) - -#define Interp0 GLINT_TAG_ADDR(0x0c,0x08) -#define Interp1 GLINT_TAG_ADDR(0x0c,0x09) -#define Interp2 GLINT_TAG_ADDR(0x0c,0x0a) -#define Interp3 GLINT_TAG_ADDR(0x0c,0x0b) -#define Interp4 GLINT_TAG_ADDR(0x0c,0x0c) - -#define TextureFilter GLINT_TAG_ADDR(0x0c,0x0d) -#define PMTextureReadMode GLINT_TAG_ADDR(0x0c,0x0e) -#define TexelLUTMode GLINT_TAG_ADDR(0x0c,0x0f) - -#define TextureColorMode GLINT_TAG_ADDR(0x0d,0x00) -# define TextureTypeOpenGL 0 -# define TextureTypeApple 1 << 4 -# define TextureKsDDA 1 << 5 /* only Apple-Mode */ -# define TextureKdDDA 1 << 6 /* only Apple-Mode */ - -#define TextureEnvColor GLINT_TAG_ADDR(0x0d,0x01) -#define FogMode GLINT_TAG_ADDR(0x0d,0x02) - /* 0: */ - /* FOG RGBA */ - /* UNIT_DISABLE */ -# define FOG_CI 0x0002 - -#define FogColor GLINT_TAG_ADDR(0x0d,0x03) -#define FStart GLINT_TAG_ADDR(0x0d,0x04) -#define dFdx GLINT_TAG_ADDR(0x0d,0x05) -#define dFdyDom GLINT_TAG_ADDR(0x0d,0x06) -#define KsStart GLINT_TAG_ADDR(0x0d,0x09) -#define dKsdx GLINT_TAG_ADDR(0x0d,0x0a) -#define dKsdyDom GLINT_TAG_ADDR(0x0d,0x0b) -#define KdStart GLINT_TAG_ADDR(0x0d,0x0c) -#define dKdStart GLINT_TAG_ADDR(0x0d,0x0d) -#define dKddyDom GLINT_TAG_ADDR(0x0d,0x0e) - -#define RStart GLINT_TAG_ADDR(0x0f,0x00) -#define dRdx GLINT_TAG_ADDR(0x0f,0x01) -#define dRdyDom GLINT_TAG_ADDR(0x0f,0x02) -#define GStart GLINT_TAG_ADDR(0x0f,0x03) -#define dGdx GLINT_TAG_ADDR(0x0f,0x04) -#define dGdyDom GLINT_TAG_ADDR(0x0f,0x05) -#define BStart GLINT_TAG_ADDR(0x0f,0x06) -#define dBdx GLINT_TAG_ADDR(0x0f,0x07) -#define dBdyDom GLINT_TAG_ADDR(0x0f,0x08) -#define AStart GLINT_TAG_ADDR(0x0f,0x09) -#define dAdx GLINT_TAG_ADDR(0x0f,0x0a) -#define dAdyDom GLINT_TAG_ADDR(0x0f,0x0b) -#define ColorDDAMode GLINT_TAG_ADDR(0x0f,0x0c) - /* 0:*/ - /* UNIT_DISABLE */ -# define CDDA_FlatShading 0 -# define CDDA_GouraudShading 0x0002 - - -#define ConstantColor GLINT_TAG_ADDR(0x0f,0x0d) -#define GLINTColor GLINT_TAG_ADDR(0x0f,0x0e) -#define AlphaTestMode GLINT_TAG_ADDR(0x10,0x00) -#define AntialiasMode GLINT_TAG_ADDR(0x10,0x01) -#define AlphaBlendMode GLINT_TAG_ADDR(0x10,0x02) - /* 0: */ - /* SrcZERO */ - /* DstZERO */ - /* ColorFormat8888 */ - /* AlphaBuffer present */ - /* ColorOrderBGR */ - /* TypeOpenGL */ - /* DstFBData */ - /* UNIT_DISABLE */ - -# define ABM_SrcONE 1 << 1 -# define ABM_SrcDST_COLOR 2 << 1 -# define ABM_SrcONE_MINUS_DST_COLOR 3 << 1 -# define ABM_SrcSRC_ALPHA 4 << 1 -# define ABM_SrcONE_MINUS_SRC_ALPHA 5 << 1 -# define ABM_SrcDST_ALPHA 6 << 1 -# define ABM_SrcONE_MINUS_DST_ALPHA 7 << 1 -# define ABM_SrcSRC_ALPHA_SATURATE 8 << 1 -# define ABM_DstONE 1 << 5 -# define ABM_DstSRC_COLOR 2 << 5 -# define ABM_DstONE_MINUS_SRC_COLOR 3 << 5 -# define ABM_DstSRC_ALPHA 4 << 5 -# define ABM_DstONE_MINUS_SRC_ALPHA 5 << 5 -# define ABM_DstDST_ALPHA 6 << 5 -# define ABM_DstONE_MINUS_DST_ALPHA 7 << 5 -# define ABM_ColorFormat5555 1 << 8 -# define ABM_ColorFormat4444 2 << 8 -# define ABM_ColorFormat4444_Front 3 << 8 -# define ABM_ColorFormat4444_Back 4 << 8 -# define ABM_ColorFormat332_Front 5 << 8 -# define ABM_ColorFormat332_Back 6 << 8 -# define ABM_ColorFormat121_Front 7 << 8 -# define ABM_ColorFormat121_Back 8 << 8 -# define ABM_ColorFormat555_Back 13 << 8 -# define ABM_ColorFormat_CI8 14 << 8 -# define ABM_ColorFormat_CI4 15 << 8 -# define ABM_NoAlphaBuffer 0x1000 -# define ABM_ColorOrderRGB 0x2000 -# define ABM_TypeQuickDraw3D 0x4000 -# define ABM_DstFBSourceData 0x8000 - -#define DitherMode GLINT_TAG_ADDR(0x10,0x03) - /* 0: */ - /* ColorOrder BGR */ - /* AlphaDitherDefault */ - /* ColorFormat8888 */ - /* TruncateMode */ - /* DitherDisable */ - /* UNIT_DISABLE */ - -# define DTM_DitherEnable 1 << 1 -# define DTM_ColorFormat5555 1 << 2 -# define DTM_ColorFormat4444 2 << 2 -# define DTM_ColorFormat4444_Front 3 << 2 -# define DTM_ColorFormat4444_Back 4 << 2 -# define DTM_ColorFormat332_Front 5 << 2 -# define DTM_ColorFormat332_Back 6 << 2 -# define DTM_ColorFormat121_Front 7 << 2 -# define DTM_ColorFormat121_Back 8 << 2 -# define DTM_ColorFormat555_Back 13 << 2 -# define DTM_ColorFormat_CI8 14 << 2 -# define DTM_ColorFormat_CI4 15 << 2 -# define DTM_ColorOrderRGB 1 << 10 -# define DTM_NoAlphaDither 1 << 14 -# define DTM_RoundMode 1 << 15 - -#define FBSoftwareWriteMask GLINT_TAG_ADDR(0x10,0x04) -#define LogicalOpMode GLINT_TAG_ADDR(0x10,0x05) -# define Use_ConstantFBWriteData 0x40 - - -#define FBWriteData GLINT_TAG_ADDR(0x10,0x06) -#define RouterMode GLINT_TAG_ADDR(0x10,0x08) -# define ROUTER_Depth_Texture 1 -# define ROUTER_Texture_Depth 0 - - -#define LBReadMode GLINT_TAG_ADDR(0x11,0x00) - /* 0: */ - /* SrcNoRead */ - /* DstNoRead */ - /* DataLBDefault */ - /* WinTopLeft */ - /* NoPatch */ - /* ScanlineInterval1 */ - -# define LBRM_SrcEnable 1 << 9 -# define LBRM_DstEnable 1 << 10 -# define LBRM_DataLBStencil 1 << 16 -# define LBRM_DataLBDepth 2 << 16 -# define LBRM_WinBottomLeft 1 << 18 -# define LBRM_DoPatch 1 << 19 - -# define LBRM_ScanlineInt2 1 << 20 -# define LBRM_ScanlineInt4 2 << 20 -# define LBRM_ScanlineInt8 3 << 20 - - -#define LBReadFormat GLINT_TAG_ADDR(0x11,0x01) -# define LBRF_DepthWidth15 0x03 /* only permedia */ -# define LBRF_DepthWidth16 0x00 -# define LBRF_DepthWidth24 0x01 -# define LBRF_DepthWidth32 0x02 - -# define LBRF_StencilWidth0 (0 << 2) -# define LBRF_StencilWidth4 (1 << 2) -# define LBRF_StencilWidth8 (2 << 2) - -# define LBRF_StencilPos16 (0 << 4) -# define LBRF_StencilPos20 (1 << 4) -# define LBRF_StencilPos24 (2 << 4) -# define LBRF_StencilPos28 (3 << 4) -# define LBRF_StencilPos32 (4 << 4) - -# define LBRF_FrameCount0 (0 << 7) -# define LBRF_FrameCount4 (1 << 7) -# define LBRF_FrameCount8 (2 << 7) - -# define LBRF_FrameCountPos16 (0 << 9) -# define LBRF_FrameCountPos20 (1 << 9) -# define LBRF_FrameCountPos24 (2 << 9) -# define LBRF_FrameCountPos28 (3 << 9) -# define LBRF_FrameCountPos32 (4 << 9) -# define LBRF_FrameCountPos36 (5 << 9) -# define LBRF_FrameCountPos40 (6 << 9) - -# define LBRF_GIDWidth0 (0 << 12) -# define LBRF_GIDWidth4 (1 << 12) - -# define LBRF_GIDPos16 (0 << 13) -# define LBRF_GIDPos20 (1 << 13) -# define LBRF_GIDPos24 (2 << 13) -# define LBRF_GIDPos28 (3 << 13) -# define LBRF_GIDPos32 (4 << 13) -# define LBRF_GIDPos36 (5 << 13) -# define LBRF_GIDPos40 (6 << 13) -# define LBRF_GIDPos44 (7 << 13) -# define LBRF_GIDPos48 (8 << 13) - -# define LBRF_Compact32 (1 << 17) - - - -#define LBSourceOffset GLINT_TAG_ADDR(0x11,0x02) -#define LBStencil GLINT_TAG_ADDR(0x11,0x05) -#define LBDepth GLINT_TAG_ADDR(0x11,0x06) -#define LBWindowBase GLINT_TAG_ADDR(0x11,0x07) -#define LBWriteMode GLINT_TAG_ADDR(0x11,0x08) -# define LBWM_WriteEnable 0x1 -# define LBWM_UpLoad_LBDepth 0x2 -# define LBWM_UpLoad_LBStencil 0x4 - -#define LBWriteFormat GLINT_TAG_ADDR(0x11,0x09) - - -#define TextureData GLINT_TAG_ADDR(0x11,0x0d) -#define TextureDownloadOffset GLINT_TAG_ADDR(0x11,0x0e) -#define LBWindowOffset GLINT_TAG_ADDR(0x11,0x0f) - -#define GLINTWindow GLINT_TAG_ADDR(0x13,0x00) -# define GWIN_UnitEnable (1 << 0) -# define GWIN_ForceLBUpdate (1 << 3) -# define GWIN_LBUpdateSourceREG (1 << 4) -# define GWIN_LBUpdateSourceLB (0 << 4) -# define GWIN_StencilFCP (1 << 17) -# define GWIN_DepthFCP (1 << 18) -# define GWIN_OverrideWriteFilter (1 << 19) -# define GWIN_DisableLBUpdate 0x40000 /* ??? is this needed, set by permedia (2) modules */ - -#define StencilMode GLINT_TAG_ADDR(0x13,0x01) -#define StencilData GLINT_TAG_ADDR(0x13,0x02) -#define GLINTStencil GLINT_TAG_ADDR(0x13,0x03) -#define DepthMode GLINT_TAG_ADDR(0x13,0x04) - /* 0: */ - /* WriteDisable */ - /* SrcCompFragment */ - /* CompFuncNEVER */ - /* UNIT_DISABLE */ - -# define DPM_WriteEnable 1 << 1 -# define DPM_SrcCompLBData 1 << 2 -# define DPM_SrcCompDregister 2 << 2 -# define DPM_SrcCompLBSourceData 3 << 2 -# define DPM_CompFuncLESS 1 << 4 -# define DPM_CompFuncEQUAL 2 << 4 -# define DPM_CompFuncLESS_OR_EQ 3 << 4 -# define DPM_CompFuncGREATER 4 << 4 -# define DPM_CompFuncNOT_EQ 5 << 4 -# define DPM_CompFuncGREATER_OR_EQ 6 << 4 -# define DPM_CompFuncALWAYS 7 << 4 - -#define GLINTDepth GLINT_TAG_ADDR(0x13,0x05) -#define ZStartU GLINT_TAG_ADDR(0x13,0x06) -#define ZStartL GLINT_TAG_ADDR(0x13,0x07) -#define dZdxU GLINT_TAG_ADDR(0x13,0x08) -#define dZdxL GLINT_TAG_ADDR(0x13,0x09) -#define dZdyDomU GLINT_TAG_ADDR(0x13,0x0a) -#define dZdyDomL GLINT_TAG_ADDR(0x13,0x0b) -#define FastClearDepth GLINT_TAG_ADDR(0x13,0x0c) - -#define FBReadMode GLINT_TAG_ADDR(0x15,0x00) - /* 0: */ - /* SrcNoRead */ - /* DstNoRead */ - /* DataFBDefault */ - /* WinTopLeft */ - /* ScanlineInterval1 */ - -# define FBRM_SrcEnable 1 << 9 -# define FBRM_DstEnable 1 << 10 -# define FBRM_DataFBColor 1 << 15 -# define FBRM_WinBottomLeft 1 << 16 -# define FBRM_Packed 1 << 19 -# define FBRM_ScanlineInt2 1 << 23 -# define FBRM_ScanlineInt4 2 << 23 -# define FBRM_ScanlineInt8 3 << 23 - - -#define FBSourceOffset GLINT_TAG_ADDR(0x15,0x01) -#define FBPixelOffset GLINT_TAG_ADDR(0x15,0x02) -#define FBColor GLINT_TAG_ADDR(0x15,0x03) -#define FBData GLINT_TAG_ADDR(0x15,0x04) -#define FBSourceData GLINT_TAG_ADDR(0x15,0x05) - -#define FBWindowBase GLINT_TAG_ADDR(0x15,0x06) -#define FBWriteMode GLINT_TAG_ADDR(0x15,0x07) - /* 0: */ - /* FBWM_NoColorUpload */ - /* FBWM_WriteDisable */ -# define FBWM_WriteEnable 1 -# define FBWM_UploadColor 1 << 3 -# define FBWM_Enable0 1 << 12 /* PM3 */ - -#define FBHardwareWriteMask GLINT_TAG_ADDR(0x15,0x08) -#define FBBlockColor GLINT_TAG_ADDR(0x15,0x09) -#define FBReadPixel GLINT_TAG_ADDR(0x15,0x0a) /* PM */ -#define PatternRamMode GLINT_TAG_ADDR(0x15,0x0f) - -#define PatternRamData0 GLINT_TAG_ADDR(0x16,0x00) -#define PatternRamData1 GLINT_TAG_ADDR(0x16,0x01) -#define PatternRamData2 GLINT_TAG_ADDR(0x16,0x02) -#define PatternRamData3 GLINT_TAG_ADDR(0x16,0x03) -#define PatternRamData4 GLINT_TAG_ADDR(0x16,0x04) -#define PatternRamData5 GLINT_TAG_ADDR(0x16,0x05) -#define PatternRamData6 GLINT_TAG_ADDR(0x16,0x06) -#define PatternRamData7 GLINT_TAG_ADDR(0x16,0x07) - -#define FilterMode GLINT_TAG_ADDR(0x18,0x00) - /* 0: */ - /* CullDepthTags */ - /* CullDepthData */ - /* CullStencilTags */ - /* CullStencilData */ - /* CullColorTag */ - /* CullColorData */ - /* CullSyncTag */ - /* CullSyncData */ - /* CullStatisticTag */ - /* CullStatisticData */ - -# define FM_PassDepthTags 0x0010 -# define FM_PassDepthData 0x0020 -# define FM_PassStencilTags 0x0040 -# define FM_PassStencilData 0x0080 -# define FM_PassColorTag 0x0100 -# define FM_PassColorData 0x0200 -# define FM_PassSyncTag 0x0400 -# define FM_PassSyncData 0x0800 -# define FM_PassStatisticTag 0x1000 -# define FM_PassStatisticData 0x2000 - -#define Sync_tag 0x0188 - -#define StatisticMode GLINT_TAG_ADDR(0x18,0x01) -#define MinRegion GLINT_TAG_ADDR(0x18,0x02) -#define MaxRegion GLINT_TAG_ADDR(0x18,0x03) -#define ResetPickResult GLINT_TAG_ADDR(0x18,0x04) -#define MitHitRegion GLINT_TAG_ADDR(0x18,0x05) -#define MaxHitRegion GLINT_TAG_ADDR(0x18,0x06) -#define PickResult GLINT_TAG_ADDR(0x18,0x07) -#define GlintSync GLINT_TAG_ADDR(0x18,0x08) - -#define FBBlockColorU GLINT_TAG_ADDR(0x18,0x0d) -#define FBBlockColorL GLINT_TAG_ADDR(0x18,0x0e) -#define SuspendUntilFrameBlank GLINT_TAG_ADDR(0x18,0x0f) - -#define KsRStart GLINT_TAG_ADDR(0x19,0x00) -#define dKsRdx GLINT_TAG_ADDR(0x19,0x01) -#define dKsRdyDom GLINT_TAG_ADDR(0x19,0x02) -#define KsGStart GLINT_TAG_ADDR(0x19,0x03) -#define dKsGdx GLINT_TAG_ADDR(0x19,0x04) -#define dKsGdyDom GLINT_TAG_ADDR(0x19,0x05) -#define KsBStart GLINT_TAG_ADDR(0x19,0x06) -#define dKsBdx GLINT_TAG_ADDR(0x19,0x07) -#define dKsBdyDom GLINT_TAG_ADDR(0x19,0x08) - -#define KdRStart GLINT_TAG_ADDR(0x1A,0x00) -#define dKdRdx GLINT_TAG_ADDR(0x1A,0x01) -#define dKdRdyDom GLINT_TAG_ADDR(0x1A,0x02) -#define KdGStart GLINT_TAG_ADDR(0x1A,0x03) -#define dKdGdx GLINT_TAG_ADDR(0x1A,0x04) -#define dKdGdyDom GLINT_TAG_ADDR(0x1A,0x05) -#define KdBStart GLINT_TAG_ADDR(0x1A,0x06) -#define dKdBdx GLINT_TAG_ADDR(0x1A,0x07) -#define dKdBdyDom GLINT_TAG_ADDR(0x1A,0x08) - -#define FBSourceBase GLINT_TAG_ADDR(0x1B,0x00) -#define FBSourceDelta GLINT_TAG_ADDR(0x1B,0x01) -#define Config GLINT_TAG_ADDR(0x1B,0x02) -#define CFBRM_SrcEnable 1<<0 -#define CFBRM_DstEnable 1<<1 -#define CFBRM_Packed 1<<2 -#define CWM_Enable 1<<3 -#define CCDDA_Enable 1<<4 -#define CLogOp_Enable 1<<5 -#define ContextDump GLINT_TAG_ADDR(0x1B,0x08) -#define ContextRestore GLINT_TAG_ADDR(0x1B,0x09) -#define ContextData GLINT_TAG_ADDR(0x1B,0x0a) - -#define TexelLUT0 GLINT_TAG_ADDR(0x1D,0x00) -#define TexelLUT1 GLINT_TAG_ADDR(0x1D,0x01) -#define TexelLUT2 GLINT_TAG_ADDR(0x1D,0x02) -#define TexelLUT3 GLINT_TAG_ADDR(0x1D,0x03) -#define TexelLUT4 GLINT_TAG_ADDR(0x1D,0x04) -#define TexelLUT5 GLINT_TAG_ADDR(0x1D,0x05) -#define TexelLUT6 GLINT_TAG_ADDR(0x1D,0x06) -#define TexelLUT7 GLINT_TAG_ADDR(0x1D,0x07) -#define TexelLUT8 GLINT_TAG_ADDR(0x1D,0x08) -#define TexelLUT9 GLINT_TAG_ADDR(0x1D,0x09) -#define TexelLUT10 GLINT_TAG_ADDR(0x1D,0x0A) -#define TexelLUT11 GLINT_TAG_ADDR(0x1D,0x0B) -#define TexelLUT12 GLINT_TAG_ADDR(0x1D,0x0C) -#define TexelLUT13 GLINT_TAG_ADDR(0x1D,0x0D) -#define TexelLUT14 GLINT_TAG_ADDR(0x1D,0x0E) -#define TexelLUT15 GLINT_TAG_ADDR(0x1D,0x0F) - -#define YUVMode GLINT_TAG_ADDR(0x1E,0x00) -#define ChromaUpper GLINT_TAG_ADDR(0x1E,0x01) -#define ChromaLower GLINT_TAG_ADDR(0x1E,0x02) -#define ChromaTestMode GLINT_TAG_ADDR(0x1E,0x03) - - -/****************************** - * GLINT Delta Core Registers * - ******************************/ - -#define V0FixedTag GLINT_TAG_ADDR(0x20,0x00) -#define V1FixedTag GLINT_TAG_ADDR(0x21,0x00) -#define V2FixedTag GLINT_TAG_ADDR(0x22,0x00) -#define V0FloatTag GLINT_TAG_ADDR(0x23,0x00) -#define V1FloatTag GLINT_TAG_ADDR(0x24,0x00) -#define V2FloatTag GLINT_TAG_ADDR(0x25,0x00) - -#define VPAR_s 0x00 -#define VPAR_t 0x08 -#define VPAR_q 0x10 -#define VPAR_Ks 0x18 -#define VPAR_Kd 0x20 - -/* have changed colors in ramdac ! -#define VPAR_R 0x28 -#define VPAR_G 0x30 -#define VPAR_B 0x38 -#define VPAR_A 0x40 -*/ -#define VPAR_B 0x28 -#define VPAR_G 0x30 -#define VPAR_R 0x38 -#define VPAR_A 0x40 - -#define VPAR_f 0x48 - -#define VPAR_x 0x50 -#define VPAR_y 0x58 -#define VPAR_z 0x60 - -#define DeltaModeTag GLINT_TAG_ADDR(0x26,0x00) - /* 0: */ - /* GLINT_300SX */ - - /* DeltaMode Register Bit Field Assignments */ -# define DM_GLINT_300SX 0x0000 -# define DM_GLINT_500TX 0x0001 -# define DM_PERMEDIA 0x0002 -# define DM_Depth_16BPP (1 << 2) -# define DM_Depth_24BPP (2 << 2) -# define DM_Depth_32BPP (3 << 2) -# define DM_FogEnable 0x0010 -# define DM_TextureEnable 0x0020 -# define DM_SmoothShadingEnable 0x0040 -# define DM_DepthEnable 0x0080 -# define DM_SpecularTextureEnable 0x0100 -# define DM_DiffuseTextureEnable 0x0200 -# define DM_SubPixelCorrectionEnable 0x0400 -# define DM_DiamondExit 0x0800 -# define DM_NoDraw 0x1000 -# define DM_ClampEnable 0x2000 -# define DM_ClampedTexParMode 0x4000 -# define DM_NormalizedTexParMode 0xC000 - - -# define DDCMD_AreaStrippleEnable 0x0001 -# define DDCMD_LineStrippleEnable 0x0002 -# define DDCMD_ResetLineStripple 1 << 2 -# define DDCMD_FastFillEnable 1 << 3 - /* 2 Bits reserved */ -# define DDCMD_PrimitiveType_Point 2 << 6 -# define DDCMD_PrimitiveType_Line 0 << 6 -# define DDCMD_PrimitiveType_Trapezoid 1 << 6 -# define DDCMD_AntialiasEnable 1 << 8 -# define DDCMD_AntialiasingQuality 1 << 9 -# define DDCMD_UsePointTable 1 << 10 -# define DDCMD_SyncOnBitMask 1 << 11 -# define DDCMD_SyncOnHostDate 1 << 12 -# define DDCMD_TextureEnable 1 << 13 -# define DDCMD_FogEnable 1 << 14 -# define DDCMD_CoverageEnable 1 << 15 -# define DDCMD_SubPixelCorrectionEnable 1 << 16 - - - -#define DrawTriangle GLINT_TAG_ADDR(0x26,0x01) -#define RepeatTriangle GLINT_TAG_ADDR(0x26,0x02) -#define DrawLine01 GLINT_TAG_ADDR(0x26,0x03) -#define DrawLine10 GLINT_TAG_ADDR(0x26,0x04) -#define RepeatLine GLINT_TAG_ADDR(0x26,0x05) -#define BroadcastMask GLINT_TAG_ADDR(0x26,0x0F) - -/* Permedia 3 - Accelerator Extensions */ -#define FillRectanglePosition 0x8348 -#define FillRender2D 0x8350 -#define FBDstReadBufAddr0 0xAE80 -#define FBDstReadBufOffset0 0xAEA0 -#define FBDstReadBufWidth0 0xAEC0 -#define FBDstReadMode 0xAEE0 -#define FBDRM_Enable0 1<<8 -#define FBDRM_Blocking 1<<24 -#define FBDstReadEnables 0xAEE8 -#define FBSrcReadMode 0xAF00 -#define FBSRM_Blocking 1<<11 -#define FBSrcReadBufAddr 0xAF08 -#define FBSrcReadBufOffset0 0xAF10 -#define FBSrcReadBufWidth 0xAF18 -#define FBWriteBufAddr0 0xB000 -#define FBWriteBufOffset0 0xB020 -#define FBWriteBufWidth0 0xB040 -#define FBBlockColorBack 0xB0A0 -#define ForegroundColor 0xB0C0 -#define BackgroundColor 0xB0C8 -#define RectanglePosition 0xB600 -#define Render2D 0xB640 - -/* Colorformats */ -#define BGR555 1 -#define BGR565 16 -#define CI8 14 -#define CI4 15 - -#if 0 - -#ifdef DEBUG -#define GLINT_WRITE_REG(v,r) \ - GLINT_VERB_WRITE_REG(pGlint,v,r,__FILE__,__LINE__) -#define GLINT_READ_REG(r) \ - GLINT_VERB_READ_REG(pGlint,r,__FILE__,__LINE__) -#else - -#define GLINT_WRITE_REG(v,r) \ - MMIO_OUT32(pGlint->IOBase + pGlint->IOOffset,(unsigned long)(r), (v)) -#define GLINT_READ_REG(r) \ - MMIO_IN32(pGlint->IOBase + pGlint->IOOffset,(unsigned long)(r)) - -#endif /* DEBUG */ - -#define GLINT_WAIT(n) \ -do{ \ - if (pGlint->InFifoSpace>=(n)) \ - pGlint->InFifoSpace -= (n); \ - else { \ - int tmp; \ - while((tmp=GLINT_READ_REG(InFIFOSpace))<(n)); \ - /* Clamp value due to bugs in PM3 */ \ - if (tmp > pGlint->FIFOSize) \ - tmp = pGlint->FIFOSize; \ - pGlint->InFifoSpace = tmp - (n); \ - } \ -}while(0) - -#define GLINTDACDelay(x) do { \ - int delay = x; \ - while(delay--){(void)GLINT_READ_REG(InFIFOSpace);}; \ - } while(0) - -#define GLINT_MASK_WRITE_REG(v,m,r) \ - GLINT_WRITE_REG((GLINT_READ_REG(r)&(m))|(v),r) - -#define GLINT_SLOW_WRITE_REG(v,r) \ -do{ \ - mem_barrier(); \ - GLINT_WAIT(pGlint->FIFOSize); \ - mem_barrier(); \ - GLINT_WRITE_REG(v,r); \ -}while(0) - -#define GLINT_SET_INDEX(index) \ -do{ \ - GLINT_SLOW_WRITE_REG(((index)>>8)&0xff,PM2VDACIndexRegHigh); \ - GLINT_SLOW_WRITE_REG((index)&0xff,PM2VDACIndexRegLow); \ -} while(0) - -#define REPLICATE(r) \ -{ \ - if (pScrn->bitsPerPixel == 16) { \ - r &= 0xFFFF; \ - r |= (r<<16); \ - } else \ - if (pScrn->bitsPerPixel == 8) { \ - r &= 0xFF; \ - r |= (r<<8); \ - r |= (r<<16); \ - } \ -} - -#ifndef XF86DRI -#define LOADROP(rop) \ -{ \ - if (pGlint->ROP != rop) { \ - GLINT_WRITE_REG(rop<<1|UNIT_ENABLE, LogicalOpMode); \ - pGlint->ROP = rop; \ - } \ -} -#else -#define LOADROP(rop) \ - { \ - GLINT_WRITE_REG(rop<<1|UNIT_ENABLE, LogicalOpMode); \ - pGlint->ROP = rop; \ - } -#endif - -#define CHECKCLIPPING \ -{ \ - if (pGlint->ClippingOn) { \ - pGlint->ClippingOn = FALSE; \ - GLINT_WAIT(1); \ - GLINT_WRITE_REG(0, ScissorMode); \ - } \ -} - -#ifndef XF86DRI -#define DO_PLANEMASK(planemask) \ -{ \ - if (planemask != pGlint->planemask) { \ - pGlint->planemask = planemask; \ - REPLICATE(planemask); \ - GLINT_WRITE_REG(planemask, FBHardwareWriteMask);\ - } \ -} -#else -#define DO_PLANEMASK(planemask) \ - { \ - pGlint->planemask = planemask; \ - REPLICATE(planemask); \ - GLINT_WRITE_REG(planemask, FBHardwareWriteMask);\ - } -#endif - -/* Permedia Save/Restore functions */ - -#define STOREREG(address,value) \ - pReg->glintRegs[address >> 3] = value; - -#define SAVEREG(address) \ - pReg->glintRegs[address >> 3] = GLINT_READ_REG(address); - -#define RESTOREREG(address) \ - GLINT_SLOW_WRITE_REG(pReg->glintRegs[address >> 3], address); - -#define STOREDAC(address,value) \ - pReg->DacRegs[address] = value; - -#define P2VOUT(address) \ - Permedia2vOutIndReg(pScrn, address, 0x00, pReg->DacRegs[address]); - -#define P2VIN(address) \ - pReg->DacRegs[address] = Permedia2vInIndReg(pScrn, address); - -/* RamDac Save/Restore functions, used by external DAC's */ - -#define STORERAMDAC(address,value) \ - ramdacReg->DacRegs[address] = value; - -/* Multi Chip access */ - -#define ACCESSCHIP1() \ - pGlint->IOOffset = 0; - -#define ACCESSCHIP2() \ - pGlint->IOOffset = 0x10000; - -#endif /* 0 */ - -#define GLINT_XY(x,y) (((x) & 0x0FFF) | (((y) & 0x0FFF) << 16)) - -#endif diff --git a/xorg-server/hw/kdrive/pm2/pm2.c b/xorg-server/hw/kdrive/pm2/pm2.c deleted file mode 100644 index 148f03abd..000000000 --- a/xorg-server/hw/kdrive/pm2/pm2.c +++ /dev/null @@ -1,295 +0,0 @@ -#ifdef HAVE_CONFIG_H -#include -#endif -#include "kdrive.h" -#include "kaa.h" - -#include "pm2.h" - -#define PARTPROD(a,b,c) (((a)<<6) | ((b)<<3) | (c)) - -char bppand[4] = { 0x03, /* 8bpp */ - 0x01, /* 16bpp */ - 0x00, /* 24bpp */ - 0x00 /* 32bpp */}; - -int partprodPermedia[] = { - -1, - PARTPROD(0,0,1), PARTPROD(0,1,1), PARTPROD(1,1,1), PARTPROD(1,1,2), - PARTPROD(1,2,2), PARTPROD(2,2,2), PARTPROD(1,2,3), PARTPROD(2,2,3), - PARTPROD(1,3,3), PARTPROD(2,3,3), PARTPROD(1,2,4), PARTPROD(3,3,3), - PARTPROD(1,3,4), PARTPROD(2,3,4), -1, PARTPROD(3,3,4), - PARTPROD(1,4,4), PARTPROD(2,4,4), -1, PARTPROD(3,4,4), - -1, PARTPROD(2,3,5), -1, PARTPROD(4,4,4), - PARTPROD(1,4,5), PARTPROD(2,4,5), PARTPROD(3,4,5), -1, - -1, -1, -1, PARTPROD(4,4,5), - PARTPROD(1,5,5), PARTPROD(2,5,5), -1, PARTPROD(3,5,5), - -1, -1, -1, PARTPROD(4,5,5), - -1, -1, -1, PARTPROD(3,4,6), - -1, -1, -1, PARTPROD(5,5,5), - PARTPROD(1,5,6), PARTPROD(2,5,6), -1, PARTPROD(3,5,6), - -1, -1, -1, PARTPROD(4,5,6), - -1, -1, -1, -1, - -1, -1, -1, PARTPROD(5,5,6), - -1, -1, -1, -1, - -1, -1, -1, -1, - -1, -1, -1, -1, - -1, -1, -1, -1, - -1, -1, -1, -1, - -1, -1, -1, -1, - -1, -1, -1, -1, - -1, -1, -1, -1, - -1, -1, -1, -1, - -1, -1, -1, -1, - -1, -1, -1, -1, - -1, -1, -1, -1, - -1, -1, -1, -1, - -1, -1, -1, -1, - -1, -1, -1, -1, - -1, -1, -1, -1, - 0}; - -static Bool -pmMapReg(KdCardInfo *card, PM2CardInfo *pm2c) -{ - pm2c->reg_base = (CARD8 *)KdMapDevice(PM2_REG_BASE(card), - PM2_REG_SIZE(card)); - - if (pm2c->reg_base == NULL) - return FALSE; - - KdSetMappedMode(PM2_REG_BASE(card), PM2_REG_SIZE(card), - KD_MAPPED_MODE_REGISTERS); - - return TRUE; -} - -static void -pmUnmapReg(KdCardInfo *card, PM2CardInfo *pm2c) -{ - if (pm2c->reg_base) { - KdResetMappedMode(PM2_REG_BASE(card), PM2_REG_SIZE(card), - KD_MAPPED_MODE_REGISTERS); - KdUnmapDevice((void *)pm2c->reg_base, PM2_REG_SIZE(card)); - pm2c->reg_base = 0; - } -} - -Bool -pmCardInit (KdCardInfo *card) -{ - PM2CardInfo *pm2c; - - pm2c = (PM2CardInfo *) xalloc (sizeof (PM2CardInfo)); - if (!pm2c) - return FALSE; - memset (pm2c, '\0', sizeof (PM2CardInfo)); - - (void) pmMapReg (card, pm2c); - - if (!vesaInitialize (card, &pm2c->vesa)) - { - xfree (pm2c); - return FALSE; - } - - pm2c->InFifoSpace = 0; - - card->driver = pm2c; - - return TRUE; -} - -static void -pmCardFini (KdCardInfo *card) -{ - PM2CardInfo *pm2c = (PM2CardInfo *) card->driver; - - pmUnmapReg (card, pm2c); - vesaCardFini (card); -} - -Bool -pmScreenInit (KdScreenInfo *screen) -{ - PM2CardInfo *pm2c = screen->card->driver; - PM2ScreenInfo *pm2s; - int screen_size, memory; - - pm2s = (PM2ScreenInfo *) xalloc (sizeof (PM2ScreenInfo)); - if (!pm2s) - return FALSE; - memset (pm2s, '\0', sizeof (PM2ScreenInfo)); - - if (!vesaScreenInitialize (screen, &pm2s->vesa)) - { - xfree (pm2s); - return FALSE; - } - - pm2c->pprod = partprodPermedia[screen->width >> 5]; - pm2c->bppalign = bppand[(screen->fb[0].bitsPerPixel>>3)-1]; - - pm2s->screen = pm2s->vesa.fb; - memory = pm2s->vesa.fb_size; - - screen_size = screen->fb[0].byteStride * screen->height; - - if (pm2s->screen && memory >= screen_size + 2048) - { - memory -= 2048; - pm2s->cursor_base = pm2s->screen + memory - 2048; - } - else - pm2s->cursor_base = 0; - memory -= screen_size; - if (memory > screen->fb[0].byteStride) - { - pm2s->off_screen = pm2s->screen + screen_size; - pm2s->off_screen_size = memory; - } - else - { - pm2s->off_screen = 0; - pm2s->off_screen_size = 0; - } - - switch (screen->fb[0].bitsPerPixel) { - case 8: - pm2c->BppShift = 2; - break; - case 16: - pm2c->BppShift = 1; - break; - case 24: - pm2c->BppShift = 2; - break; - case 32: - pm2c->BppShift = 0; - break; - } - - screen->driver = pm2s; - - return TRUE; -} - -static void -pmScreenFini (KdScreenInfo *screen) -{ - PM2ScreenInfo *pm2s = (PM2ScreenInfo *) screen->driver; - - vesaScreenFini (screen); - xfree (pm2s); - screen->driver = 0; -} - -static Bool -pmInitScreen (ScreenPtr pScreen) -{ - return vesaInitScreen (pScreen); -} - -#ifdef RANDR -static Bool -pmRandRSetConfig (ScreenPtr pScreen, - Rotation rotation, - int rate, - RRScreenSizePtr pSize) -{ - kaaWaitSync (pScreen); - - if (!vesaRandRSetConfig (pScreen, rotation, rate, pSize)) - return FALSE; - - return TRUE; -} - -static void -pmRandRInit (ScreenPtr pScreen) -{ - rrScrPriv(pScreen); - - pScrPriv->rrSetConfig = pmRandRSetConfig; -} -#endif - -static Bool -pmFinishInitScreen (ScreenPtr pScreen) -{ - Bool ret; - ret = vesaFinishInitScreen (pScreen); -#ifdef RANDR - pmRandRInit (pScreen); -#endif - return ret; -} - -static void -pmPreserve(KdCardInfo *card) -{ - vesaPreserve(card); -} - -static void -pmRestore(KdCardInfo *card) -{ - vesaRestore (card); -} - -static Bool -pmEnable (ScreenPtr pScreen) -{ - if (!vesaEnable (pScreen)) - return FALSE; - -#ifdef XV - KdXVEnable (pScreen); -#endif - - return TRUE; -} - -static void -pmDisable(ScreenPtr pScreen) -{ -#ifdef XV - KdXVDisable (pScreen); -#endif - vesaDisable (pScreen); -} - -static Bool -pmDPMS(ScreenPtr pScreen, int mode) -{ - return vesaDPMS (pScreen, mode); -} - -KdCardFuncs PM2Funcs = { - pmCardInit, /* cardinit */ - pmScreenInit, /* scrinit */ - pmInitScreen, /* initScreen */ - pmFinishInitScreen, /* finishInitScreen */ - vesaCreateResources, /* createRes */ - pmPreserve, /* preserve */ - pmEnable, /* enable */ - pmDPMS, /* dpms */ - pmDisable, /* disable */ - pmRestore, /* restore */ - pmScreenFini, /* scrfini */ - pmCardFini, /* cardfini */ - - 0, /* initCursor */ - 0, /* enableCursor */ - 0, /* disableCursor */ - 0, /* finiCursor */ - NULL, /* recolorCursor */ - - pmDrawInit, /* initAccel */ - pmDrawEnable, /* enableAccel */ - pmDrawDisable, /* disableAccel */ - pmDrawFini, /* finiAccel */ - - vesaGetColors, /* getColors */ - vesaPutColors, /* putColors */ -}; diff --git a/xorg-server/hw/kdrive/pm2/pm2.h b/xorg-server/hw/kdrive/pm2/pm2.h deleted file mode 100644 index e05903365..000000000 --- a/xorg-server/hw/kdrive/pm2/pm2.h +++ /dev/null @@ -1,162 +0,0 @@ -#ifndef _PM2_H_ -#define _PM2_H_ -#include -#include "kxv.h" -#include "klinux.h" - -#include "glint_regs.h" - -typedef volatile CARD8 VOL8; -typedef volatile CARD16 VOL16; -typedef volatile CARD32 VOL32; - -#define PM2_REG_BASE(c) ((c)->attr.address[0] & 0xFFFFC000) -#define PM2_REG_SIZE(c) (0x10000) - -typedef struct _PM2CardInfo { - VesaCardPrivRec vesa; - CARD8 *reg_base; - - int InFifoSpace; - int FIFOSize; - - int pprod; - int bppalign; - - int ClippingOn; - - int ROP; - - int x; - int y; - int w; - int h; - - int FrameBufferReadMode; - int BppShift; - int BltScanDirection; - - int RasterizerSwap; - int PixelWidth; - int TexMapFormat; - int startxdom; - int startxsub; - int starty; - int count; - int dy; - int dxdom; - - int planemask; -} PM2CardInfo; - -#define getPM2CardInfo(kd) ((PM2CardInfo *) ((kd)->card->driver)) -#define pmCardInfo(kd) PM2CardInfo *pm2c = getPM2CardInfo(kd) - -typedef struct _PM2ScreenInfo { - VesaScreenPrivRec vesa; - CARD8 *cursor_base; - CARD8 *screen; - CARD8 *off_screen; - int off_screen_size; - KdVideoAdaptorPtr pAdaptor; - KaaScreenInfoRec kaa; -} PM2ScreenInfo; - -#define getPM2ScreenInfo(kd) ((PM2ScreenInfo *) ((kd)->screen->driver)) -#define pmScreenInfo(kd) PM2ScreenInfo *pm2s = getPM2ScreenInfo(kd) - -Bool -pmCardInit (KdCardInfo *card); - -Bool -pmScreenInit (KdScreenInfo *screen); - -Bool -pmDrawInit(ScreenPtr); - -void -pmDrawEnable (ScreenPtr); - -void -pmDrawDisable (ScreenPtr); - -void -pmDrawFini (ScreenPtr); - - -extern KdCardFuncs PM2Funcs; - -#define MMIO_OUT32(base, offset, val) \ -do { \ - *(volatile CARD32 *)(void *)(((CARD8*)(base)) + (offset)) = (val); \ -} while (0) - -# define MMIO_IN32(base, offset) \ - *(volatile CARD32 *)(void *)(((CARD8*)(base)) + (offset)) - -#define GLINT_WRITE_REG(v,r) \ - MMIO_OUT32(mmio,(unsigned long)(r), (v)) - -#define GLINT_READ_REG(r) \ - MMIO_IN32(mmio,(unsigned long)(r)) - -#define GLINT_SLOW_WRITE_REG(v,r) \ -do{ \ - GLINT_WAIT(card->FIFOSize); \ - GLINT_WRITE_REG(v,r); \ -}while(0) - -#define REPLICATE(r) \ -{ \ - if (pScreenPriv->screen->fb[0].bitsPerPixel == 16) { \ - r &= 0xFFFF; \ - r |= (r<<16); \ - } else \ - if (pScreenPriv->screen->fb[0].bitsPerPixel == 8) { \ - r &= 0xFF; \ - r |= (r<<8); \ - r |= (r<<16); \ - } \ -} - -#define DO_PLANEMASK(planemask) \ -{ \ - if (planemask != card->planemask) { \ - card->planemask = planemask; \ - REPLICATE(planemask); \ - GLINT_WRITE_REG(planemask, FBHardwareWriteMask);\ - } \ -} - -#define LOADROP(rop) \ -{ \ - if (card->ROP != rop) { \ - GLINT_WRITE_REG(rop<<1|UNIT_ENABLE, LogicalOpMode); \ - card->ROP = rop; \ - } \ -} - -#define GLINT_WAIT(n) \ -do{ \ - if (card->InFifoSpace>=(n)) \ - card->InFifoSpace -= (n); \ - else { \ - int tmp; \ - while((tmp=GLINT_READ_REG(InFIFOSpace))<(n)); \ - /* Clamp value due to bugs in PM3 */ \ - if (tmp > card->FIFOSize) \ - tmp = card->FIFOSize; \ - card->InFifoSpace = tmp - (n); \ - } \ -}while(0) - -#define CHECKCLIPPING \ -{ \ - if (card->ClippingOn) { \ - card->ClippingOn = FALSE; \ - GLINT_WAIT(1); \ - GLINT_WRITE_REG(0, ScissorMode); \ - } \ -} - -#endif /* _PM2_H_ */ diff --git a/xorg-server/hw/kdrive/pm2/pm2_draw.c b/xorg-server/hw/kdrive/pm2/pm2_draw.c deleted file mode 100644 index 332fc8c8a..000000000 --- a/xorg-server/hw/kdrive/pm2/pm2_draw.c +++ /dev/null @@ -1,318 +0,0 @@ -#ifdef HAVE_CONFIG_H -#include -#endif -#include "kdrive.h" -#include "kaa.h" - -#include "pm2.h" - -static PM2CardInfo *card; -static VOL8 *mmio; - -static void Permedia2LoadCoord(int x, int y, int w, int h); - -static void -pmWaitMarker (ScreenPtr pScreen, int marker) -{ - CHECKCLIPPING; - - while (GLINT_READ_REG(DMACount) != 0); - GLINT_WAIT(2); - GLINT_WRITE_REG(0x400, FilterMode); - GLINT_WRITE_REG(0, GlintSync); - do { - while(GLINT_READ_REG(OutFIFOWords) == 0); - } while (GLINT_READ_REG(OutputFIFO) != Sync_tag); -} - -static Bool -pmPrepareSolid (PixmapPtr pPixmap, - int rop, - Pixel planemask, - Pixel color) -{ - ScreenPtr pScreen = pPixmap->drawable.pScreen; - KdScreenPriv(pScreen); - pmCardInfo(pScreenPriv); - - card = pm2c; - mmio = pm2c->reg_base; - - if (~planemask & FbFullMask(pPixmap->drawable.depth)) - return FALSE; - - REPLICATE(color); - - GLINT_WAIT(6); - DO_PLANEMASK(planemask); - if (rop == GXcopy) { - GLINT_WRITE_REG(UNIT_DISABLE, ColorDDAMode); - GLINT_WRITE_REG(card->pprod, FBReadMode); - GLINT_WRITE_REG(color, FBBlockColor); - } else { - GLINT_WRITE_REG(UNIT_ENABLE, ColorDDAMode); - GLINT_WRITE_REG(color, ConstantColor); - /* We can use Packed mode for filling solid non-GXcopy rasters */ - GLINT_WRITE_REG(card->pprod|FBRM_DstEnable|FBRM_Packed, FBReadMode); - } - LOADROP(rop); - - return TRUE; -} - -static void -pmSolid (int x1, int y1, int x2, int y2) -{ - int speed = 0; - - if (card->ROP == GXcopy) { - GLINT_WAIT(3); - Permedia2LoadCoord(x1, y1, x2-x1, y2-y1); - speed = FastFillEnable; - } else { - GLINT_WAIT(4); - Permedia2LoadCoord(x1>>card->BppShift, y1, - ((x2-x1)+7)>>card->BppShift, y2-y1); - GLINT_WRITE_REG(x1<<16|(x1+(x2-x1)), PackedDataLimits); - speed = 0; - } - GLINT_WRITE_REG(PrimitiveRectangle | XPositive | YPositive | speed, Render); -} - -static void -pmDoneSolid (void) -{ -} - -static Bool -pmPrepareCopy (PixmapPtr pSrcPixmap, - PixmapPtr pDstPixmap, - int dx, - int dy, - int rop, - Pixel planemask) -{ - ScreenPtr pScreen = pDstPixmap->drawable.pScreen; - KdScreenPriv(pScreen); - pmCardInfo(pScreenPriv); - - card = pm2c; - mmio = pm2c->reg_base; - - if (~planemask & FbFullMask(pDstPixmap->drawable.depth)) - return FALSE; - - card->BltScanDirection = ((dx >= 0 ? XPositive : 0) | (dy >= 0 ? YPositive : 0)); - - GLINT_WAIT(4); - DO_PLANEMASK(planemask); - - GLINT_WRITE_REG(UNIT_DISABLE, ColorDDAMode); - if ((rop == GXset) || (rop == GXclear)) { - card->FrameBufferReadMode = card->pprod; - } else - if ((rop == GXcopy) || (rop == GXcopyInverted)) { - card->FrameBufferReadMode = card->pprod |FBRM_SrcEnable; - } else { - card->FrameBufferReadMode = card->pprod | FBRM_SrcEnable | - FBRM_DstEnable; - } - LOADROP(rop); - - return TRUE; -} - - -static void -pmCopy (int x1, - int y1, - int x2, - int y2, - int w, - int h) -{ - char align; - - /* We can only use GXcopy for Packed modes */ - if (card->ROP != GXcopy) { - GLINT_WAIT(5); - GLINT_WRITE_REG(card->FrameBufferReadMode, FBReadMode); - Permedia2LoadCoord(x2, y2, w, h); - GLINT_WRITE_REG(((y1-y2)&0x0FFF)<<16 | ((x1-x2)&0x0FFF), FBSourceDelta); - } else { - align = (x2 & card->bppalign) - (x1 & card->bppalign); - GLINT_WAIT(6); - GLINT_WRITE_REG(card->FrameBufferReadMode|FBRM_Packed, FBReadMode); - Permedia2LoadCoord(x2>>card->BppShift, y2, - (w+7)>>card->BppShift, h); - GLINT_WRITE_REG(align<<29|x2<<16|(x2+w), PackedDataLimits); - GLINT_WRITE_REG(((y1-y2)&0x0FFF)<<16 | (((x1 & ~card->bppalign)-(x2 & ~card->bppalign))&0x0FFF), FBSourceDelta); - } - - GLINT_WRITE_REG(PrimitiveRectangle | card->BltScanDirection, Render); -} - - -static void -pmDoneCopy (void) -{ -} - -static void -Permedia2LoadCoord(int x, int y, - int w, int h) -{ - if ((h != card->h) || (w != card->w)) { - card->w = w; - card->h = h; - GLINT_WRITE_REG(((h&0x0FFF)<<16)|(w&0x0FFF), RectangleSize); - } - if ((y != card->y) || (x != card->x)) { - card->x = x; - card->y = y; - GLINT_WRITE_REG(((y&0x0FFF)<<16)|(x&0x0FFF), RectangleOrigin); - } -} - - -Bool -pmDrawInit (ScreenPtr pScreen) -{ - KdScreenPriv(pScreen); - pmCardInfo(pScreenPriv); - pmScreenInfo(pScreenPriv); - Bool ret = TRUE; - - card = pm2c; - mmio = pm2c->reg_base; - - memset(&pm2s->kaa, 0, sizeof(KaaScreenInfoRec)); - pm2s->kaa.waitMarker = pmWaitMarker; - pm2s->kaa.PrepareSolid = pmPrepareSolid; - pm2s->kaa.Solid = pmSolid; - pm2s->kaa.DoneSolid = pmDoneSolid; - pm2s->kaa.PrepareCopy = pmPrepareCopy; - pm2s->kaa.Copy = pmCopy; - pm2s->kaa.DoneCopy = pmDoneCopy; - - if (ret && !kaaDrawInit (pScreen, &pm2s->kaa)) - { - ErrorF ("kaaDrawInit failed\n"); - ret = FALSE; - } - - return ret; -} - - -void -pmDrawEnable (ScreenPtr pScreen) -{ - KdScreenPriv(pScreen); - pmCardInfo(pScreenPriv); - - card = pm2c; - mmio = pm2c->reg_base; - - GLINT_SLOW_WRITE_REG(UNIT_DISABLE, ScissorMode); - GLINT_SLOW_WRITE_REG(UNIT_ENABLE, FBWriteMode); - GLINT_SLOW_WRITE_REG(0, dXSub); - GLINT_SLOW_WRITE_REG(GWIN_DisableLBUpdate, GLINTWindow); - GLINT_SLOW_WRITE_REG(UNIT_DISABLE, DitherMode); - GLINT_SLOW_WRITE_REG(UNIT_DISABLE, AlphaBlendMode); - GLINT_SLOW_WRITE_REG(UNIT_DISABLE, ColorDDAMode); - GLINT_SLOW_WRITE_REG(UNIT_DISABLE, TextureColorMode); - GLINT_SLOW_WRITE_REG(UNIT_DISABLE, TextureAddressMode); - GLINT_SLOW_WRITE_REG(UNIT_DISABLE, PMTextureReadMode); - GLINT_SLOW_WRITE_REG(card->pprod, LBReadMode); - GLINT_SLOW_WRITE_REG(UNIT_DISABLE, AlphaBlendMode); - GLINT_SLOW_WRITE_REG(UNIT_DISABLE, TexelLUTMode); - GLINT_SLOW_WRITE_REG(UNIT_DISABLE, YUVMode); - GLINT_SLOW_WRITE_REG(UNIT_DISABLE, DepthMode); - GLINT_SLOW_WRITE_REG(UNIT_DISABLE, RouterMode); - GLINT_SLOW_WRITE_REG(UNIT_DISABLE, FogMode); - GLINT_SLOW_WRITE_REG(UNIT_DISABLE, AntialiasMode); - GLINT_SLOW_WRITE_REG(UNIT_DISABLE, AlphaTestMode); - GLINT_SLOW_WRITE_REG(UNIT_DISABLE, StencilMode); - GLINT_SLOW_WRITE_REG(UNIT_DISABLE, AreaStippleMode); - GLINT_SLOW_WRITE_REG(UNIT_DISABLE, LogicalOpMode); - GLINT_SLOW_WRITE_REG(UNIT_DISABLE, DepthMode); - GLINT_SLOW_WRITE_REG(UNIT_DISABLE, StatisticMode); - GLINT_SLOW_WRITE_REG(0x400, FilterMode); - GLINT_SLOW_WRITE_REG(0xffffffff, FBHardwareWriteMask); - GLINT_SLOW_WRITE_REG(0xffffffff, FBSoftwareWriteMask); - GLINT_SLOW_WRITE_REG(UNIT_DISABLE, RasterizerMode); - GLINT_SLOW_WRITE_REG(UNIT_DISABLE, GLINTDepth); - GLINT_SLOW_WRITE_REG(UNIT_DISABLE, FBSourceOffset); - GLINT_SLOW_WRITE_REG(UNIT_DISABLE, FBPixelOffset); - GLINT_SLOW_WRITE_REG(UNIT_DISABLE, LBSourceOffset); - GLINT_SLOW_WRITE_REG(UNIT_DISABLE, WindowOrigin); - GLINT_SLOW_WRITE_REG(UNIT_DISABLE, FBWindowBase); - GLINT_SLOW_WRITE_REG(UNIT_DISABLE, FBSourceBase); - GLINT_SLOW_WRITE_REG(UNIT_DISABLE, LBWindowBase); - -#if X_BYTE_ORDER == X_BIG_ENDIAN - card->RasterizerSwap = 1; -#else - card->RasterizerSwap = 0; -#endif - - switch (pScreenPriv->screen->fb[0].bitsPerPixel) { - case 8: - card->PixelWidth = 0x0; /* 8 Bits */ - card->TexMapFormat = card->pprod; -#if X_BYTE_ORDER == X_BIG_ENDIAN - card->RasterizerSwap |= 3<<15; /* Swap host data */ -#endif - break; - case 16: - card->PixelWidth = 0x1; /* 16 Bits */ - card->TexMapFormat = card->pprod | 1<<19; -#if X_BYTE_ORDER == X_BIG_ENDIAN - card->RasterizerSwap |= 2<<15; /* Swap host data */ -#endif - break; - case 24: - card->PixelWidth = 0x4; /* 24 Bits */ - card->TexMapFormat = card->pprod | 2<<19; - break; - case 32: - card->PixelWidth = 0x2; /* 32 Bits */ - card->TexMapFormat = card->pprod | 2<<19; - break; - } - card->ClippingOn = FALSE; - card->startxdom = 0; - card->startxsub = 0; - card->starty = 0; - card->count = 0; - card->dy = 1<<16; - card->dxdom = 0; - card->x = 0; - card->y = 0; - card->h = 0; - card->w = 0; - card->ROP = 0xFF; - GLINT_SLOW_WRITE_REG(card->PixelWidth, FBReadPixel); - GLINT_SLOW_WRITE_REG(card->TexMapFormat, PMTextureMapFormat); - GLINT_SLOW_WRITE_REG(0, RectangleSize); - GLINT_SLOW_WRITE_REG(0, RectangleOrigin); - GLINT_SLOW_WRITE_REG(0, dXDom); - GLINT_SLOW_WRITE_REG(1<<16, dY); - GLINT_SLOW_WRITE_REG(0, StartXDom); - GLINT_SLOW_WRITE_REG(0, StartXSub); - GLINT_SLOW_WRITE_REG(0, StartY); - GLINT_SLOW_WRITE_REG(0, GLINTCount); - - kaaMarkSync (pScreen); -} - -void -pmDrawDisable (ScreenPtr pScreen) -{ -} - -void -pmDrawFini (ScreenPtr pScreen) -{ -} diff --git a/xorg-server/hw/kdrive/pm2/pm2stub.c b/xorg-server/hw/kdrive/pm2/pm2stub.c deleted file mode 100644 index 1f824b347..000000000 --- a/xorg-server/hw/kdrive/pm2/pm2stub.c +++ /dev/null @@ -1,54 +0,0 @@ -#ifdef HAVE_CONFIG_H -#include -#endif -#include "kdrive.h" -#include "klinux.h" - -#include "pm2.h" - -static const int PM2Cards[]={ PCI_CHIP_3DLABS_PERMEDIA2, PCI_CHIP_3DLABS_PERMEDIA2V }; - - -#define numPM2Cards (sizeof(PM2Cards) / sizeof(PM2Cards[0])) - -void -InitCard (char *name) -{ - KdCardAttr attr; - int i; - - for (i = 0; i < numPM2Cards; i++) - if (LinuxFindPci (0x3d3d, PM2Cards[i], 0, &attr)) - KdCardInfoAdd (&PM2Funcs, &attr, (void *) PM2Cards[i]); -} - - -void -InitOutput (ScreenInfo *pScreenInfo, int argc, char **argv) -{ - KdInitOutput (pScreenInfo, argc, argv); -} - -void -InitInput (int argc, char **argv) -{ - KdOsAddInputDrivers (); - KdInitInput (); -} - -void -ddxUseMsg (void) -{ - KdUseMsg(); - vesaUseMsg(); -} - -int -ddxProcessArgument (int argc, char **argv, int i) -{ - int ret; - - if (!(ret = vesaProcessArgument (argc, argv, i))) - ret = KdProcessArgument(argc, argv, i); - return ret; -} diff --git a/xorg-server/hw/kdrive/r128/Makefile.am b/xorg-server/hw/kdrive/r128/Makefile.am deleted file mode 100644 index 344fbebf7..000000000 --- a/xorg-server/hw/kdrive/r128/Makefile.am +++ /dev/null @@ -1,36 +0,0 @@ -INCLUDES = \ - @KDRIVE_INCS@ \ - -I$(top_srcdir)/hw/kdrive/vesa \ - @KDRIVE_CFLAGS@ - -bin_PROGRAMS = Xr128 - -noinst_LIBRARIES = libr128.a - -libr128_a_SOURCES = \ - r128draw.c \ - r128.c \ - r128.h - -Xr128_SOURCES = \ - r128stub.c - -R128_LIBS = \ - libr128.a \ - $(top_builddir)/hw/kdrive/vesa/libvesa.a \ - @KDRIVE_LIBS@ - -if GLX -Xr128_LDFLAGS = $(LD_EXPORT_SYMBOLS_FLAG) -endif - -Xr128_LDADD = \ - $(R128_LIBS) \ - @KDRIVE_LIBS@ - -Xr128_DEPENDENCIES = \ - libr128.a \ - @KDRIVE_LOCAL_LIBS@ - -relink: - rm -f $(bin_PROGRAMS) && make $(bin_PROGRAMS) diff --git a/xorg-server/hw/kdrive/r128/Makefile.in b/xorg-server/hw/kdrive/r128/Makefile.in deleted file mode 100644 index bb7aae627..000000000 --- a/xorg-server/hw/kdrive/r128/Makefile.in +++ /dev/null @@ -1,717 +0,0 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008 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 = Xr128$(EXEEXT) -subdir = hw/kdrive/r128 -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 -libr128_a_AR = $(AR) $(ARFLAGS) -libr128_a_LIBADD = -am_libr128_a_OBJECTS = r128draw.$(OBJEXT) r128.$(OBJEXT) -libr128_a_OBJECTS = $(am_libr128_a_OBJECTS) -am__installdirs = "$(DESTDIR)$(bindir)" -binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) -PROGRAMS = $(bin_PROGRAMS) -am_Xr128_OBJECTS = r128stub.$(OBJEXT) -Xr128_OBJECTS = $(am_Xr128_OBJECTS) -am__DEPENDENCIES_1 = libr128.a \ - $(top_builddir)/hw/kdrive/vesa/libvesa.a -Xr128_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(Xr128_LDFLAGS) \ - $(LDFLAGS) -o $@ -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include -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 = $(libr128_a_SOURCES) $(Xr128_SOURCES) -DIST_SOURCES = $(libr128_a_SOURCES) $(Xr128_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@ -DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ -DRI2PROTO_LIBS = @DRI2PROTO_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@ -DSYMUTIL = @DSYMUTIL@ -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@ -GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ -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@ -LAUNCHD = @LAUNCHD@ -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@ -NMEDIT = @NMEDIT@ -OBJC = @OBJC@ -OBJCCLD = @OBJCCLD@ -OBJCDEPMODE = @OBJCDEPMODE@ -OBJCFLAGS = @OBJCFLAGS@ -OBJCLINK = @OBJCLINK@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ -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@ -PCIACCESS_CFLAGS = @PCIACCESS_CFLAGS@ -PCIACCESS_LIBS = @PCIACCESS_LIBS@ -PCI_TXT_IDS_PATH = @PCI_TXT_IDS_PATH@ -PERL = @PERL@ -PKG_CONFIG = @PKG_CONFIG@ -PROJECTROOT = @PROJECTROOT@ -PS2PDF = @PS2PDF@ -RANLIB = @RANLIB@ -RAWCPP = @RAWCPP@ -RAWCPPFLAGS = @RAWCPPFLAGS@ -SED = @SED@ -SERVER_MISC_CONFIG_PATH = @SERVER_MISC_CONFIG_PATH@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ -SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ -STRIP = @STRIP@ -TSLIB_CFLAGS = @TSLIB_CFLAGS@ -TSLIB_LIBS = @TSLIB_LIBS@ -UTILS_SYS_LIBS = @UTILS_SYS_LIBS@ -VENDOR_MAN_VERSION = @VENDOR_MAN_VERSION@ -VENDOR_NAME = @VENDOR_NAME@ -VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ -VENDOR_RELEASE = @VENDOR_RELEASE@ -VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ -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_CFLAGS = @XDMX_CFLAGS@ -XDMX_LIBS = @XDMX_LIBS@ -XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ -XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ -XEPHYR_INCS = @XEPHYR_INCS@ -XEPHYR_LIBS = @XEPHYR_LIBS@ -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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ -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@ -XNEST_SYS_LIBS = @XNEST_SYS_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_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@ -XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_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@ -XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ -XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ -XTSTEXAMPLES_DEP_LIBS = @XTSTEXAMPLES_DEP_LIBS@ -XVFB_LIBS = @XVFB_LIBS@ -XVFB_SYS_LIBS = @XVFB_SYS_LIBS@ -XWINMODULES_CFLAGS = @XWINMODULES_CFLAGS@ -XWINMODULES_LIBS = @XWINMODULES_LIBS@ -XWIN_LIBS = @XWIN_LIBS@ -XWIN_SERVER_NAME = @XWIN_SERVER_NAME@ -XWIN_SYS_LIBS = @XWIN_SYS_LIBS@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -__XCONFIGFILE__ = @__XCONFIGFILE__@ -abi_ansic = @abi_ansic@ -abi_extension = @abi_extension@ -abi_font = @abi_font@ -abi_videodrv = @abi_videodrv@ -abi_xinput = @abi_xinput@ -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@ -launchagentsdir = @launchagentsdir@ -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_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ -INCLUDES = \ - @KDRIVE_INCS@ \ - -I$(top_srcdir)/hw/kdrive/vesa \ - @KDRIVE_CFLAGS@ - -noinst_LIBRARIES = libr128.a -libr128_a_SOURCES = \ - r128draw.c \ - r128.c \ - r128.h - -Xr128_SOURCES = \ - r128stub.c - -R128_LIBS = \ - libr128.a \ - $(top_builddir)/hw/kdrive/vesa/libvesa.a \ - @KDRIVE_LIBS@ - -@GLX_TRUE@Xr128_LDFLAGS = $(LD_EXPORT_SYMBOLS_FLAG) -Xr128_LDADD = \ - $(R128_LIBS) \ - @KDRIVE_LIBS@ - -Xr128_DEPENDENCIES = \ - libr128.a \ - @KDRIVE_LOCAL_LIBS@ - -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/kdrive/r128/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign hw/kdrive/r128/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) -libr128.a: $(libr128_a_OBJECTS) $(libr128_a_DEPENDENCIES) - -rm -f libr128.a - $(libr128_a_AR) libr128.a $(libr128_a_OBJECTS) $(libr128_a_LIBADD) - $(RANLIB) libr128.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) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ - $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --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 -Xr128$(EXEEXT): $(Xr128_OBJECTS) $(Xr128_DEPENDENCIES) - @rm -f Xr128$(EXEEXT) - $(Xr128_LINK) $(Xr128_OBJECTS) $(Xr128_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/r128.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/r128draw.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/r128stub.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; nonemtpy = 1; } \ - END { if (nonempty) { 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; nonempty = 1; } \ - END { if (nonempty) { 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=; \ - 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; nonempty = 1; } \ - END { if (nonempty) { 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) -installdirs: - for dir in "$(DESTDIR)$(bindir)"; 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-dvi: install-dvi-am - -install-exec-am: install-binPROGRAMS - -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-binPROGRAMS - -.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-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-binPROGRAMS - - -relink: - rm -f $(bin_PROGRAMS) && make $(bin_PROGRAMS) -# 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/xorg-server/hw/kdrive/r128/r128.c b/xorg-server/hw/kdrive/r128/r128.c deleted file mode 100644 index 9e7f312e0..000000000 --- a/xorg-server/hw/kdrive/r128/r128.c +++ /dev/null @@ -1,250 +0,0 @@ -/* - * Copyright © 2003 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. - */ -#ifdef HAVE_CONFIG_H -#include -#endif -#include "r128.h" - -static Bool -r128CardInit (KdCardInfo *card) -{ - R128CardInfo *r128c; - - r128c = (R128CardInfo *) xalloc (sizeof (R128CardInfo)); - if (!r128c) - return FALSE; - - r128MapReg (card, r128c); - - if (!vesaInitialize (card, &r128c->vesa)) - { - xfree (r128c); - return FALSE; - } - - r128c->fifo_size = 0; - - card->driver = r128c; - - return TRUE; -} - -static Bool -r128ScreenInit (KdScreenInfo *screen) -{ - R128ScreenInfo *r128s; - int screen_size, memory; - - r128s = (R128ScreenInfo *) xalloc (sizeof (R128ScreenInfo)); - if (!r128s) - return FALSE; - memset (r128s, '\0', sizeof (R128ScreenInfo)); - if (!vesaScreenInitialize (screen, &r128s->vesa)) - { - xfree (r128s); - return FALSE; - } -#if 0 - /* if (!r128c->reg) - screen->dumb = TRUE; */ - - if (r128s->vesa.mapping != VESA_LINEAR) - screen->dumb = TRUE; - - fprintf (stderr, "vesa mapping is %d\n", r128s->vesa.mapping); -#endif - r128s->screen = r128s->vesa.fb; - - memory = r128s->vesa.fb_size; - screen_size = screen->fb[0].byteStride * screen->height; - - memory -= screen_size; - if (memory > screen->fb[0].byteStride) - { - r128s->off_screen = r128s->screen + screen_size; - r128s->off_screen_size = memory; - } - else - { - r128s->off_screen = 0; - r128s->off_screen_size = 0; - } - screen->driver = r128s; - return TRUE; -} - -static Bool -r128InitScreen (ScreenPtr pScreen) -{ - return vesaInitScreen (pScreen); -} - -static Bool -r128FinishInitScreen (ScreenPtr pScreen) -{ - Bool ret; - - ret = vesaFinishInitScreen (pScreen); - - return ret; -} - -static void -r128Preserve (KdCardInfo *card) -{ - vesaPreserve (card); -} - -Bool -r128MapReg (KdCardInfo *card, R128CardInfo *r128c) -{ - r128c->reg_base = (CARD8 *) KdMapDevice (R128_REG_BASE (card), - R128_REG_SIZE (card)); - - if (!r128c->reg_base) - { - return FALSE; - } - - KdSetMappedMode (R128_REG_BASE (card), - R128_REG_SIZE (card), - KD_MAPPED_MODE_REGISTERS); - - return TRUE; -} - -void -r128UnmapReg (KdCardInfo *card, R128CardInfo *r128c) -{ - if (r128c->reg_base) - { - KdResetMappedMode (R128_REG_BASE (card), - R128_REG_SIZE (card), - KD_MAPPED_MODE_REGISTERS); - KdUnmapDevice ((void *) r128c->reg_base, R128_REG_SIZE (card)); - r128c->reg_base = 0; - } -} - -void -r128SetMMIO (KdCardInfo *card, R128CardInfo *r128c) -{ - if (!r128c->reg_base) - r128MapReg (card, r128c); -} - -void -r128ResetMMIO (KdCardInfo *card, R128CardInfo *r128c) -{ - r128UnmapReg (card, r128c); -} - - -static Bool -r128DPMS (ScreenPtr pScreen, int mode) -{ - /* XXX */ - return TRUE; -} - -static Bool -r128Enable (ScreenPtr pScreen) -{ - KdScreenPriv (pScreen); - R128CardInfo *r128c = pScreenPriv->card->driver; - - if (!vesaEnable (pScreen)) - return FALSE; - - r128SetMMIO (pScreenPriv->card, r128c); - r128DPMS (pScreen, KD_DPMS_NORMAL); - - return TRUE; -} - -static void -r128Disable (ScreenPtr pScreen) -{ - KdScreenPriv (pScreen); - R128CardInfo *r128c = pScreenPriv->card->driver; - - r128ResetMMIO (pScreenPriv->card, r128c); - vesaDisable (pScreen); -} - -static void -r128Restore (KdCardInfo *card) -{ - R128CardInfo *r128c = card->driver; - - r128ResetMMIO (card, r128c); - vesaRestore (card); -} - -static void -r128ScreenFini (KdScreenInfo *screen) -{ - R128ScreenInfo *r128s = (R128ScreenInfo *) screen->driver; - - vesaScreenFini (screen); - xfree (r128s); - screen->driver = 0; -} - -static void -r128CardFini (KdCardInfo *card) -{ - R128CardInfo *r128c = (R128CardInfo *)card->driver; - - r128UnmapReg (card, r128c); - vesaCardFini (card); -} - -KdCardFuncs r128Funcs = { - r128CardInit, /* cardinit */ - r128ScreenInit, /* scrinit */ - r128InitScreen, /* initScreen */ - r128FinishInitScreen, /* finishInitScreen */ - vesaCreateResources,/* createRes */ - r128Preserve, /* preserve */ - r128Enable, /* enable */ - r128DPMS, /* dpms */ - r128Disable, /* disable */ - r128Restore, /* restore */ - r128ScreenFini, /* scrfini */ - r128CardFini, /* cardfini */ - - 0, /* initCursor */ - 0, /* enableCursor */ - 0, /* disableCursor */ - 0, /* finiCursor */ - 0, /* recolorCursor */ - - r128DrawInit, /* initAccel */ - r128DrawEnable, /* enableAccel */ - r128DrawDisable, /* disableAccel */ - r128DrawFini, /* finiAccel */ - - vesaGetColors, /* getColors */ - vesaPutColors, /* putColors */ -}; - diff --git a/xorg-server/hw/kdrive/r128/r128.h b/xorg-server/hw/kdrive/r128/r128.h deleted file mode 100644 index ae9ae03aa..000000000 --- a/xorg-server/hw/kdrive/r128/r128.h +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Copyright © 2003 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. - */ - -#ifndef _R128_H_ -#define _R128_H_ -#include - -#define R128_REG_BASE(c) ((c)->attr.address[1]) -#define R128_REG_SIZE(c) (0x4000) - -#define R128_OUT32(mmio, a, v) (*(VOL32 *) ((mmio) + (a)) = (v)) -#define R128_IN32(mmio, a) (*(VOL32 *) ((mmio) + (a))) - -#define R128_REG_GUI_STAT 0x1740 -#define R128_REG_DEFAULT_OFFSET 0x16e0 -#define R128_REG_DEFAULT_PITCH 0x16e4 -#define R128_REG_DP_GUI_MASTER_CNTL 0x146c -#define R128_REG_DP_BRUSH_FRGD_CLR 0x147c -#define R128_REG_DP_WRITE_MASK 0x16cc -#define R128_REG_DP_CNTL 0x16c0 -#define R128_REG_DST_WIDTH_HEIGHT 0x1598 -#define R128_REG_DST_Y_X 0x1438 -#define R128_REG_PC_NGUI_CTLSTAT 0x0184 -#define R128_REG_DST_HEIGHT_WIDTH 0x143c -#define R128_REG_SRC_Y_X 0x1434 -#define R128_DEFAULT_SC_BOTTOM_RIGHT 0x16e8 -#define R128_AUX_SC_CNTL 0x1660 -#define R128_SC_TOP_LEFT 0x16ec -#define R128_SC_BOTTOM_RIGHT 0x16f0 - -#define R128_GMC_DST_DATATYPE_SHIFT 8 -#define R128_GMC_CLR_CMP_CNTL_DIS (1 << 28) -#define R128_GMC_AUX_CLIP_DIS (1 << 29) -#define R128_GMC_BRUSH_SOLID_COLOR (13 << 4) -#define R128_GMC_SRC_DATATYPE_COLOR (3 << 12) -#define R128_GMC_ROP3_SHIFT 16 -#define R128_DST_X_LEFT_TO_RIGHT (1 << 0) -#define R128_DST_Y_TOP_TO_BOTTOM (1 << 1) -#define R128_GUI_ACTIVE (1 << 31) -#define R128_PC_BUSY (1 << 31) -#define R128_DP_SRC_SOURCE_MEMORY (2 << 24) -#define R128_DEFAULT_SC_RIGHT_MAX (0x1fff << 0) -#define R128_DEFAULT_SC_BOTTOM_MAX (0x1fff << 16) - -typedef volatile CARD8 VOL8; -typedef volatile CARD16 VOL16; -typedef volatile CARD32 VOL32; - -typedef struct _r128CardInfo { - VesaCardPrivRec vesa; - CARD8 *reg_base; - int fifo_size; -} R128CardInfo; - -#define getR128CardInfo(kd) ((R128CardInfo *) ((kd)->card->driver)) -#define r128CardInfo(kd) R128CardInfo *r128c = getR128CardInfo(kd) - -typedef struct _r128ScreenInfo { - VesaScreenPrivRec vesa; - CARD8 *screen; - CARD8 *off_screen; - int off_screen_size; - - KaaScreenInfoRec kaa; - - int pitch; - int datatype; - - int dp_gui_master_cntl; -} R128ScreenInfo; - -#define getR128ScreenInfo(kd) ((R128ScreenInfo *) ((kd)->screen->driver)) -#define r128ScreenInfo(kd) R128ScreenInfo *r128s = getR128ScreenInfo(kd) - -Bool -r128MapReg (KdCardInfo *card, R128CardInfo *r128c); - -void -r128UnmapReg (KdCardInfo *card, R128CardInfo *r128c); - -void -r128SetMMIO (KdCardInfo *card, R128CardInfo *r128c); - -void -r128ResetMMIO (KdCardInfo *card, R128CardInfo *r128c); - -Bool -r128DrawSetup (ScreenPtr pScreen); - -Bool -r128DrawInit (ScreenPtr pScreen); - -void -r128DrawEnable (ScreenPtr pScreen); - -void -r128DrawDisable (ScreenPtr pScreen); - -void -r128DrawFini (ScreenPtr pScreen); - -extern KdCardFuncs r128Funcs; - -#endif /* _R128_H_ */ diff --git a/xorg-server/hw/kdrive/r128/r128draw.c b/xorg-server/hw/kdrive/r128/r128draw.c deleted file mode 100644 index 142cc8b3e..000000000 --- a/xorg-server/hw/kdrive/r128/r128draw.c +++ /dev/null @@ -1,296 +0,0 @@ -/* - * Copyright © 2003 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. - */ -#ifdef HAVE_CONFIG_H -#include -#endif -#include "r128.h" -#include "kaa.h" - -CARD8 r128SolidRop[16] = { - /* GXclear */ 0x00, /* 0 */ - /* GXand */ 0xa0, /* src AND dst */ - /* GXandReverse */ 0x50, /* src AND NOT dst */ - /* GXcopy */ 0xf0, /* src */ - /* GXandInverted*/ 0x0a, /* NOT src AND dst */ - /* GXnoop */ 0xaa, /* dst */ - /* GXxor */ 0x5a, /* src XOR dst */ - /* GXor */ 0xfa, /* src OR dst */ - /* GXnor */ 0x05, /* NOT src AND NOT dst */ - /* GXequiv */ 0xa5, /* NOT src XOR dst */ - /* GXinvert */ 0x55, /* NOT dst */ - /* GXorReverse */ 0xf5, /* src OR NOT dst */ - /* GXcopyInverted*/ 0x0f, /* NOT src */ - /* GXorInverted */ 0xaf, /* NOT src OR dst */ - /* GXnand */ 0x5f, /* NOT src OR NOT dst */ - /* GXset */ 0xff, /* 1 */ -}; - -CARD8 r128BltRop[16] = { - /* GXclear */ 0x00, /* 0 */ - /* GXand */ 0x88, /* src AND dst */ - /* GXandReverse */ 0x44, /* src AND NOT dst */ - /* GXcopy */ 0xcc, /* src */ - /* GXandInverted*/ 0x22, /* NOT src AND dst */ - /* GXnoop */ 0xaa, /* dst */ - /* GXxor */ 0x66, /* src XOR dst */ - /* GXor */ 0xee, /* src OR dst */ - /* GXnor */ 0x11, /* NOT src AND NOT dst */ - /* GXequiv */ 0x99, /* NOT src XOR dst */ - /* GXinvert */ 0x55, /* NOT dst */ - /* GXorReverse */ 0xdd, /* src OR NOT dst */ - /* GXcopyInverted*/ 0x33, /* NOT src */ - /* GXorInverted */ 0xbb, /* NOT src OR dst */ - /* GXnand */ 0x77, /* NOT src OR NOT dst */ - /* GXset */ 0xff, /* 1 */ -}; - -int copydx, copydy; -int fifo_size; -char *mmio; - -static void -r128WaitAvail (int n) -{ - if (fifo_size < n) - { - while ((fifo_size = R128_IN32 (mmio, R128_REG_GUI_STAT) & 0xfff) < n) - ; - } - - fifo_size -= n; -} - -static void -r128WaitIdle (void) -{ - int tries; - - r128WaitAvail (64); - - tries = 1000000; - while (tries--) - { - if ((R128_IN32 (mmio, R128_REG_GUI_STAT) & R128_GUI_ACTIVE) == 0) - break; - } - - R128_OUT32 (mmio, R128_REG_PC_NGUI_CTLSTAT, - R128_IN32 (mmio, R128_REG_PC_NGUI_CTLSTAT | 0xff)); - - tries = 1000000; - while (tries--) - { - if ((R128_IN32 (mmio, R128_REG_PC_NGUI_CTLSTAT) & R128_PC_BUSY) != R128_PC_BUSY) - break; - } - -} - -static void -r128WaitMarker (ScreenPtr pScreen, int marker) -{ - KdScreenPriv (pScreen); - r128CardInfo (pScreenPriv); - - mmio = r128c->reg_base; - - r128WaitIdle (); -} - -static Bool -r128Setup (ScreenPtr pScreen, int wait) -{ - KdScreenPriv (pScreen); - r128ScreenInfo (pScreenPriv); - r128CardInfo (pScreenPriv); - - fifo_size = 0; - - mmio = r128c->reg_base; - - if (!mmio) - return FALSE; - - r128WaitAvail (2); - R128_OUT32 (mmio, R128_REG_DEFAULT_OFFSET, 0); - R128_OUT32 (mmio, R128_REG_DEFAULT_PITCH, r128s->pitch); - - r128WaitAvail (4); - R128_OUT32 (mmio, R128_AUX_SC_CNTL, 0); - R128_OUT32 (mmio, R128_DEFAULT_SC_BOTTOM_RIGHT, (R128_DEFAULT_SC_RIGHT_MAX - | R128_DEFAULT_SC_BOTTOM_MAX)); - R128_OUT32 (mmio, R128_SC_TOP_LEFT, 0); - R128_OUT32 (mmio, R128_SC_BOTTOM_RIGHT, (R128_DEFAULT_SC_RIGHT_MAX - | R128_DEFAULT_SC_BOTTOM_MAX)); - r128WaitAvail (wait); - return TRUE; -} - -static Bool -r128PrepareSolid (PixmapPtr pPixmap, int alu, Pixel pm, Pixel fg) -{ - KdScreenPriv (pPixmap->drawable.pScreen); - r128ScreenInfo (pScreenPriv); - - r128Setup (pPixmap->drawable.pScreen, 4); - R128_OUT32 (mmio, R128_REG_DP_GUI_MASTER_CNTL, r128s->dp_gui_master_cntl - | R128_GMC_BRUSH_SOLID_COLOR - | R128_GMC_SRC_DATATYPE_COLOR - | (r128SolidRop[alu] << R128_GMC_ROP3_SHIFT)); - R128_OUT32 (mmio, R128_REG_DP_BRUSH_FRGD_CLR, fg); - R128_OUT32 (mmio, R128_REG_DP_WRITE_MASK, pm); - R128_OUT32 (mmio, R128_REG_DP_CNTL, - (R128_DST_X_LEFT_TO_RIGHT | R128_DST_Y_TOP_TO_BOTTOM)); - - return TRUE; -} - -static void -r128Solid (int x1, int y1, int x2, int y2) -{ - r128WaitAvail (2); - R128_OUT32 (mmio, R128_REG_DST_Y_X, (y1 << 16) | x1); - R128_OUT32 (mmio, R128_REG_DST_WIDTH_HEIGHT, ((x2 - x1) << 16) | (y2 - y1)); - -} - -static void -r128DoneSolid (void) -{ -} - -static Bool -r128PrepareCopy (PixmapPtr pSrc, PixmapPtr pDst, int dx, int dy, int alu, Pixel pm) -{ - KdScreenPriv (pSrc->drawable.pScreen); - r128ScreenInfo (pScreenPriv); - - copydx = dx; - copydy = dy; - - r128Setup (pSrc->drawable.pScreen, 3); - R128_OUT32 (mmio, R128_REG_DP_GUI_MASTER_CNTL, r128s->dp_gui_master_cntl - | R128_GMC_BRUSH_SOLID_COLOR - | R128_GMC_SRC_DATATYPE_COLOR - | (r128BltRop[alu] << R128_GMC_ROP3_SHIFT) - | R128_DP_SRC_SOURCE_MEMORY); - R128_OUT32 (mmio, R128_REG_DP_WRITE_MASK, pm); - R128_OUT32 (mmio, R128_REG_DP_CNTL, - ((dx >= 0 ? R128_DST_X_LEFT_TO_RIGHT : 0) - | (dy >= 0 ? R128_DST_Y_TOP_TO_BOTTOM : 0))); - - - return TRUE; -} - -static void -r128Copy (int srcX, int srcY, int dstX, int dstY, int w, int h) -{ - if (copydx < 0) - { - srcX += w - 1; - dstX += w - 1; - } - - if (copydy < 0) - { - srcY += h - 1; - dstY += h - 1; - } - - r128WaitAvail (3); - R128_OUT32 (mmio, R128_REG_SRC_Y_X, (srcY << 16) | srcX); - R128_OUT32 (mmio, R128_REG_DST_Y_X, (dstY << 16) | dstX); - R128_OUT32 (mmio, R128_REG_DST_HEIGHT_WIDTH, (h << 16) | w); -} - -static void -r128DoneCopy (void) -{ -} - - -Bool -r128DrawInit (ScreenPtr pScreen) -{ - KdScreenPriv (pScreen); - r128ScreenInfo (pScreenPriv); - - memset(&r128s->kaa, 0, sizeof(KaaScreenInfoRec)); - r128s->kaa.waitMarker = r128WaitMarker; - r128s->kaa.PrepareSolid = r128PrepareSolid; - r128s->kaa.Solid = r128Solid; - r128s->kaa.DoneSolid = r128DoneSolid; - r128s->kaa.PrepareCopy = r128PrepareCopy; - r128s->kaa.Copy = r128Copy; - r128s->kaa.DoneCopy = r128DoneCopy; - - if (!kaaDrawInit (pScreen, &r128s->kaa)) - return FALSE; - - return TRUE; -} - -void -r128DrawEnable (ScreenPtr pScreen) -{ - KdScreenPriv (pScreen); - r128ScreenInfo (pScreenPriv); - - r128s->pitch = pScreenPriv->screen->width >> 3; - - switch (pScreenPriv->screen->fb[0].depth) { - case 8: - r128s->datatype = 2; - break; - case 15: - r128s->datatype = 3; - break; - case 16: - r128s->datatype = 4; - break; - case 24: - r128s->datatype = 5; - break; - case 32: - r128s->datatype = 6; - break; - default: - FatalError ("unsupported pixel format"); - } - - r128s->dp_gui_master_cntl = ((r128s->datatype << R128_GMC_DST_DATATYPE_SHIFT) - | R128_GMC_CLR_CMP_CNTL_DIS - | R128_GMC_AUX_CLIP_DIS); - - kaaMarkSync (pScreen); -} - -void -r128DrawDisable (ScreenPtr pScreen) -{ -} - -void -r128DrawFini (ScreenPtr pScreen) -{ -} diff --git a/xorg-server/hw/kdrive/r128/r128stub.c b/xorg-server/hw/kdrive/r128/r128stub.c deleted file mode 100644 index b5ffd9d77..000000000 --- a/xorg-server/hw/kdrive/r128/r128stub.c +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Copyright © 2003 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. - */ -#ifdef HAVE_CONFIG_H -#include -#endif -#include "r128.h" -#include "klinux.h" - -void -InitCard (char *name) -{ - KdCardAttr attr; - - if (LinuxFindPci (0x1002, 0x4c46, 0, &attr)) - KdCardInfoAdd (&r128Funcs, &attr, 0); - else if (LinuxFindPci (0x1002, 0x5046, 0, &attr)) - KdCardInfoAdd (&r128Funcs, &attr, 0); -} - -void -InitOutput (ScreenInfo *pScreenInfo, int argc, char **argv) -{ - KdInitOutput (pScreenInfo, argc, argv); -} - -void -InitInput (int argc, char **argv) -{ - KdOsAddInputDrivers (); - KdInitInput (); -} - -void -ddxUseMsg (void) -{ - KdUseMsg(); - vesaUseMsg(); -} - -int -ddxProcessArgument (int argc, char **argv, int i) -{ - int ret; - - if (!(ret = vesaProcessArgument (argc, argv, i))) - ret = KdProcessArgument(argc, argv, i); - return ret; -} diff --git a/xorg-server/hw/kdrive/sdl/Makefile.in b/xorg-server/hw/kdrive/sdl/Makefile.in index 9e5fc2606..8b270558b 100644 --- a/xorg-server/hw/kdrive/sdl/Makefile.in +++ b/xorg-server/hw/kdrive/sdl/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -44,7 +44,6 @@ 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 \ @@ -63,9 +62,6 @@ 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) \ @@ -80,8 +76,9 @@ ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ -APPDEFAULTDIR = @APPDEFAULTDIR@ APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +APPLE_APPLICATION_ID = @APPLE_APPLICATION_ID@ +APPLE_APPLICATION_NAME = @APPLE_APPLICATION_NAME@ APP_MAN_DIR = @APP_MAN_DIR@ APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ AR = @AR@ @@ -102,10 +99,6 @@ 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@ @@ -127,6 +120,7 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOLT_BASH = @DOLT_BASH@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ @@ -136,18 +130,15 @@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ DSYMUTIL = @DSYMUTIL@ DTRACE = @DTRACE@ -ECHO = @ECHO@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ -FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ -FREETYPE_LIBS = @FREETYPE_LIBS@ GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ GLX_DEFINES = @GLX_DEFINES@ GL_CFLAGS = @GL_CFLAGS@ @@ -166,7 +157,7 @@ KDRIVE_LIBS = @KDRIVE_LIBS@ KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ -LAUNCHD = @LAUNCHD@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ LEX = @LEX@ @@ -180,7 +171,10 @@ LIBTOOL = @LIBTOOL@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LINUXDOC = @LINUXDOC@ +LIPO = @LIPO@ LN_S = @LN_S@ +LTCOMPILE = @LTCOMPILE@ +LTCXXCOMPILE = @LTCXXCOMPILE@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ @@ -192,8 +186,7 @@ MESA_SOURCE = @MESA_SOURCE@ MISC_MAN_DIR = @MISC_MAN_DIR@ MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ MKDIR_P = @MKDIR_P@ -MKFONTDIR = @MKFONTDIR@ -MKFONTSCALE = @MKFONTSCALE@ +NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCCLD = @OBJCCLD@ @@ -202,8 +195,8 @@ OBJCFLAGS = @OBJCFLAGS@ OBJCLINK = @OBJCLINK@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ @@ -236,7 +229,6 @@ VENDOR_NAME = @VENDOR_NAME@ VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ VENDOR_RELEASE = @VENDOR_RELEASE@ VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ XDMCP_CFLAGS = @XDMCP_CFLAGS@ @@ -246,27 +238,12 @@ XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@ XDMX_CFLAGS = @XDMX_CFLAGS@ XDMX_LIBS = @XDMX_LIBS@ XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ XEPHYR_INCS = @XEPHYR_INCS@ XEPHYR_LIBS = @XEPHYR_LIBS@ 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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ @@ -277,10 +254,6 @@ XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ XNEST_LIBS = @XNEST_LIBS@ XNEST_SYS_LIBS = @XNEST_SYS_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_INCS = @XORG_INCS@ XORG_LIBS = @XORG_LIBS@ @@ -289,13 +262,8 @@ XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ XORG_OS = @XORG_OS@ XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_LIBS@ +XPBPROXY_CFLAGS = @XPBPROXY_CFLAGS@ +XPBPROXY_LIBS = @XPBPROXY_LIBS@ XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ XSDL_INCS = @XSDL_INCS@ @@ -328,8 +296,7 @@ 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@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -349,7 +316,6 @@ driverdir = @driverdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ extdir = @extdir@ -ft_config = @ft_config@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ @@ -359,12 +325,12 @@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ -launchagentsdir = @launchagentsdir@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ logdir = @logdir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ moduledir = @moduledir@ @@ -382,8 +348,6 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ INCLUDES = \ @KDRIVE_PURE_INCS@ \ @KDRIVE_CFLAGS@ \ @@ -404,8 +368,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ @@ -501,7 +465,7 @@ ID: $(HEADERS) $(SOURCES) $(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; nonemtpy = 1; } \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS diff --git a/xorg-server/hw/kdrive/sis300/Makefile.am b/xorg-server/hw/kdrive/sis300/Makefile.am deleted file mode 100644 index af2500aee..000000000 --- a/xorg-server/hw/kdrive/sis300/Makefile.am +++ /dev/null @@ -1,51 +0,0 @@ -if KDRIVEFBDEV -FBDEV_INCLUDES =-I$(top_srcdir)/hw/kdrive/fbdev -FBDEV_LIBS = $(top_builddir)/hw/kdrive/fbdev/libfbdev.a -endif - -if KDRIVEVESA -VESA_INCLUDES = -I$(top_srcdir)/hw/kdrive/vesa -VESA_LIBS = $(top_builddir)/hw/kdrive/vesa/libvesa.a -endif - -INCLUDES = \ - @KDRIVE_INCS@ \ - $(DRI_INCLUDES) \ - $(FBDEV_INCLUDES) \ - $(VESA_INCLUDES) \ - @KDRIVE_CFLAGS@ - -bin_PROGRAMS = Xsis - -noinst_LIBRARIES = libsis.a - -libsis_a_SOURCES = \ - sis.c \ - sis.h \ - sis_draw.c \ - sis_reg.h - -Xsis_SOURCES = \ - sis_stub.c - -SIS_LIBS = \ - libsis.a \ - $(FBDEV_LIBS) \ - $(VESA_LIBS) \ - @KDRIVE_LIBS@ - -if GLX -Xsis_LDFLAGS = $(LD_EXPORT_SYMBOLS_FLAG) -endif - -Xsis_LDADD = \ - $(SIS_LIBS) \ - @KDRIVE_LIBS@ \ - $(TSLIB_FLAG) - -Xsis_DEPENDENCIES = \ - libsis.a \ - @KDRIVE_LOCAL_LIBS@ - -relink: - rm -f $(bin_PROGRAMS) && make $(bin_PROGRAMS) diff --git a/xorg-server/hw/kdrive/sis300/Makefile.in b/xorg-server/hw/kdrive/sis300/Makefile.in deleted file mode 100644 index bbd059906..000000000 --- a/xorg-server/hw/kdrive/sis300/Makefile.in +++ /dev/null @@ -1,725 +0,0 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008 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 = Xsis$(EXEEXT) -subdir = hw/kdrive/sis300 -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 -libsis_a_AR = $(AR) $(ARFLAGS) -libsis_a_LIBADD = -am_libsis_a_OBJECTS = sis.$(OBJEXT) sis_draw.$(OBJEXT) -libsis_a_OBJECTS = $(am_libsis_a_OBJECTS) -am__installdirs = "$(DESTDIR)$(bindir)" -binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) -PROGRAMS = $(bin_PROGRAMS) -am_Xsis_OBJECTS = sis_stub.$(OBJEXT) -Xsis_OBJECTS = $(am_Xsis_OBJECTS) -am__DEPENDENCIES_1 = libsis.a $(FBDEV_LIBS) $(VESA_LIBS) -Xsis_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(Xsis_LDFLAGS) \ - $(LDFLAGS) -o $@ -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include -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 = $(libsis_a_SOURCES) $(Xsis_SOURCES) -DIST_SOURCES = $(libsis_a_SOURCES) $(Xsis_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@ -DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ -DRI2PROTO_LIBS = @DRI2PROTO_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@ -DSYMUTIL = @DSYMUTIL@ -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@ -GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ -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@ -LAUNCHD = @LAUNCHD@ -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@ -NMEDIT = @NMEDIT@ -OBJC = @OBJC@ -OBJCCLD = @OBJCCLD@ -OBJCDEPMODE = @OBJCDEPMODE@ -OBJCFLAGS = @OBJCFLAGS@ -OBJCLINK = @OBJCLINK@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ -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@ -PCIACCESS_CFLAGS = @PCIACCESS_CFLAGS@ -PCIACCESS_LIBS = @PCIACCESS_LIBS@ -PCI_TXT_IDS_PATH = @PCI_TXT_IDS_PATH@ -PERL = @PERL@ -PKG_CONFIG = @PKG_CONFIG@ -PROJECTROOT = @PROJECTROOT@ -PS2PDF = @PS2PDF@ -RANLIB = @RANLIB@ -RAWCPP = @RAWCPP@ -RAWCPPFLAGS = @RAWCPPFLAGS@ -SED = @SED@ -SERVER_MISC_CONFIG_PATH = @SERVER_MISC_CONFIG_PATH@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ -SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ -STRIP = @STRIP@ -TSLIB_CFLAGS = @TSLIB_CFLAGS@ -TSLIB_LIBS = @TSLIB_LIBS@ -UTILS_SYS_LIBS = @UTILS_SYS_LIBS@ -VENDOR_MAN_VERSION = @VENDOR_MAN_VERSION@ -VENDOR_NAME = @VENDOR_NAME@ -VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ -VENDOR_RELEASE = @VENDOR_RELEASE@ -VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ -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_CFLAGS = @XDMX_CFLAGS@ -XDMX_LIBS = @XDMX_LIBS@ -XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ -XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ -XEPHYR_INCS = @XEPHYR_INCS@ -XEPHYR_LIBS = @XEPHYR_LIBS@ -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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ -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@ -XNEST_SYS_LIBS = @XNEST_SYS_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_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@ -XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_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@ -XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ -XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ -XTSTEXAMPLES_DEP_LIBS = @XTSTEXAMPLES_DEP_LIBS@ -XVFB_LIBS = @XVFB_LIBS@ -XVFB_SYS_LIBS = @XVFB_SYS_LIBS@ -XWINMODULES_CFLAGS = @XWINMODULES_CFLAGS@ -XWINMODULES_LIBS = @XWINMODULES_LIBS@ -XWIN_LIBS = @XWIN_LIBS@ -XWIN_SERVER_NAME = @XWIN_SERVER_NAME@ -XWIN_SYS_LIBS = @XWIN_SYS_LIBS@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -__XCONFIGFILE__ = @__XCONFIGFILE__@ -abi_ansic = @abi_ansic@ -abi_extension = @abi_extension@ -abi_font = @abi_font@ -abi_videodrv = @abi_videodrv@ -abi_xinput = @abi_xinput@ -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@ -launchagentsdir = @launchagentsdir@ -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_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ -@KDRIVEFBDEV_TRUE@FBDEV_INCLUDES = -I$(top_srcdir)/hw/kdrive/fbdev -@KDRIVEFBDEV_TRUE@FBDEV_LIBS = $(top_builddir)/hw/kdrive/fbdev/libfbdev.a -@KDRIVEVESA_TRUE@VESA_INCLUDES = -I$(top_srcdir)/hw/kdrive/vesa -@KDRIVEVESA_TRUE@VESA_LIBS = $(top_builddir)/hw/kdrive/vesa/libvesa.a -INCLUDES = \ - @KDRIVE_INCS@ \ - $(DRI_INCLUDES) \ - $(FBDEV_INCLUDES) \ - $(VESA_INCLUDES) \ - @KDRIVE_CFLAGS@ - -noinst_LIBRARIES = libsis.a -libsis_a_SOURCES = \ - sis.c \ - sis.h \ - sis_draw.c \ - sis_reg.h - -Xsis_SOURCES = \ - sis_stub.c - -SIS_LIBS = \ - libsis.a \ - $(FBDEV_LIBS) \ - $(VESA_LIBS) \ - @KDRIVE_LIBS@ - -@GLX_TRUE@Xsis_LDFLAGS = $(LD_EXPORT_SYMBOLS_FLAG) -Xsis_LDADD = \ - $(SIS_LIBS) \ - @KDRIVE_LIBS@ \ - $(TSLIB_FLAG) - -Xsis_DEPENDENCIES = \ - libsis.a \ - @KDRIVE_LOCAL_LIBS@ - -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/kdrive/sis300/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign hw/kdrive/sis300/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) -libsis.a: $(libsis_a_OBJECTS) $(libsis_a_DEPENDENCIES) - -rm -f libsis.a - $(libsis_a_AR) libsis.a $(libsis_a_OBJECTS) $(libsis_a_LIBADD) - $(RANLIB) libsis.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) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ - $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --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 -Xsis$(EXEEXT): $(Xsis_OBJECTS) $(Xsis_DEPENDENCIES) - @rm -f Xsis$(EXEEXT) - $(Xsis_LINK) $(Xsis_OBJECTS) $(Xsis_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sis.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sis_draw.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sis_stub.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; nonemtpy = 1; } \ - END { if (nonempty) { 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; nonempty = 1; } \ - END { if (nonempty) { 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=; \ - 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; nonempty = 1; } \ - END { if (nonempty) { 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) -installdirs: - for dir in "$(DESTDIR)$(bindir)"; 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-dvi: install-dvi-am - -install-exec-am: install-binPROGRAMS - -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-binPROGRAMS - -.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-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-binPROGRAMS - - -relink: - rm -f $(bin_PROGRAMS) && make $(bin_PROGRAMS) -# 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/xorg-server/hw/kdrive/sis300/sis.c b/xorg-server/hw/kdrive/sis300/sis.c deleted file mode 100644 index 30b7ac2c5..000000000 --- a/xorg-server/hw/kdrive/sis300/sis.c +++ /dev/null @@ -1,311 +0,0 @@ -/* - * Copyright © 2003 Eric Anholt - * - * 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. - */ - -#ifdef HAVE_CONFIG_H -#include -#endif -#include "sis.h" -#include "sis_reg.h" - -struct pci_id_entry sis_pci_ids[] = { - {0x1039, 0x0300, 0x1, "SiS 300/305"}, - {0x1039, 0x5300, 0x1, "SiS 540"}, - {0x1039, 0x6300, 0x1, "SiS 630"}, - {0x1039, 0x7300, 0x1, "SiS 730"}, - {0, 0, 0, NULL} -}; - -static Bool -SiSCardInit(KdCardInfo *card) -{ - SiSCardInfo *sisc; - Bool initialized = FALSE; - - sisc = xcalloc(sizeof(SiSCardInfo), 1); - if (sisc == NULL) - return FALSE; - -#ifdef KDRIVEFBDEV - if (!initialized && fbdevInitialize(card, &sisc->backend_priv.fbdev)) { - sisc->use_fbdev = TRUE; - initialized = TRUE; - sisc->backend_funcs.cardfini = fbdevCardFini; - sisc->backend_funcs.scrfini = fbdevScreenFini; - sisc->backend_funcs.initScreen = fbdevInitScreen; - sisc->backend_funcs.finishInitScreen = fbdevFinishInitScreen; - sisc->backend_funcs.createRes = fbdevCreateResources; - sisc->backend_funcs.preserve = fbdevPreserve; - sisc->backend_funcs.restore = fbdevRestore; - sisc->backend_funcs.dpms = fbdevDPMS; - sisc->backend_funcs.enable = fbdevEnable; - sisc->backend_funcs.disable = fbdevDisable; - sisc->backend_funcs.getColors = fbdevGetColors; - sisc->backend_funcs.putColors = fbdevPutColors; - } -#endif -#ifdef KDRIVEVESA - if (!initialized && vesaInitialize(card, &sisc->backend_priv.vesa)) { - sisc->use_vesa = TRUE; - initialized = TRUE; - sisc->backend_funcs.cardfini = vesaCardFini; - sisc->backend_funcs.scrfini = vesaScreenFini; - sisc->backend_funcs.initScreen = vesaInitScreen; - sisc->backend_funcs.finishInitScreen = vesaFinishInitScreen; - sisc->backend_funcs.createRes = vesaCreateResources; - sisc->backend_funcs.preserve = vesaPreserve; - sisc->backend_funcs.restore = vesaRestore; - sisc->backend_funcs.dpms = vesaDPMS; - sisc->backend_funcs.enable = vesaEnable; - sisc->backend_funcs.disable = vesaDisable; - sisc->backend_funcs.getColors = vesaGetColors; - sisc->backend_funcs.putColors = vesaPutColors; - } -#endif - - if (!initialized || !SiSMapReg(card, sisc)) { - xfree(sisc); - return FALSE; - } - - card->driver = sisc; - - return TRUE; -} - -static void -SiSCardFini(KdCardInfo *card) -{ - SiSCardInfo *sisc = (SiSCardInfo *)card->driver; - - SiSUnmapReg(card, sisc); - sisc->backend_funcs.cardfini(card); -} - -static Bool -SiSScreenInit(KdScreenInfo *screen) -{ - SiSScreenInfo *siss; - SiSCardInfo(screen); - int success = FALSE; - - siss = xcalloc(sizeof(SiSScreenInfo), 1); - if (siss == NULL) - return FALSE; - - siss->sisc = sisc; - - screen->driver = siss; - -#ifdef KDRIVEFBDEV - if (sisc->use_fbdev) { - success = fbdevScreenInitialize(screen, - &siss->backend_priv.fbdev); - screen->memory_size = sisc->backend_priv.fbdev.fix.smem_len; - screen->off_screen_base = - sisc->backend_priv.fbdev.var.yres_virtual * - screen->fb[0].byteStride; - } -#endif -#ifdef KDRIVEVESA - if (sisc->use_vesa) { - if (screen->fb[0].depth == 0) - screen->fb[0].depth = 16; - success = vesaScreenInitialize(screen, - &siss->backend_priv.vesa); - } -#endif - if (!success) { - screen->driver = NULL; - xfree(siss); - return FALSE; - } - - return TRUE; -} - -static void -SiSScreenFini(KdScreenInfo *screen) -{ - SiSScreenInfo *siss = (SiSScreenInfo *)screen->driver; - SiSCardInfo *sisc = screen->card->driver; - - sisc->backend_funcs.scrfini(screen); - xfree(siss); - screen->driver = 0; -} - -Bool -SiSMapReg(KdCardInfo *card, SiSCardInfo *sisc) -{ - sisc->reg_base = (CARD8 *)KdMapDevice(SIS_REG_BASE(card), - SIS_REG_SIZE(card)); - - if (sisc->reg_base == NULL) - return FALSE; - - KdSetMappedMode(SIS_REG_BASE(card), SIS_REG_SIZE(card), - KD_MAPPED_MODE_REGISTERS); - - return TRUE; -} - -void -SiSUnmapReg(KdCardInfo *card, SiSCardInfo *sisc) -{ - if (sisc->reg_base) { - KdResetMappedMode(SIS_REG_BASE(card), SIS_REG_SIZE(card), - KD_MAPPED_MODE_REGISTERS); - KdUnmapDevice((void *)sisc->reg_base, SIS_REG_SIZE(card)); - sisc->reg_base = 0; - } -} - -static Bool -SiSInitScreen(ScreenPtr pScreen) -{ - KdScreenPriv(pScreen); - SiSCardInfo(pScreenPriv); - - return sisc->backend_funcs.initScreen(pScreen); -} - -static Bool -SiSFinishInitScreen(ScreenPtr pScreen) -{ - KdScreenPriv(pScreen); - SiSCardInfo(pScreenPriv); - - return sisc->backend_funcs.finishInitScreen(pScreen); -} - -static Bool -SiSCreateResources(ScreenPtr pScreen) -{ - KdScreenPriv(pScreen); - SiSCardInfo(pScreenPriv); - - return sisc->backend_funcs.createRes(pScreen); -} - -static void -SiSPreserve(KdCardInfo *card) -{ - SiSCardInfo *sisc = card->driver; - - sisc->backend_funcs.preserve(card); -} - -static void -SiSRestore(KdCardInfo *card) -{ - SiSCardInfo *sisc = card->driver; - - SiSUnmapReg(card, sisc); - - sisc->backend_funcs.restore(card); -} - -static Bool -SiSDPMS(ScreenPtr pScreen, int mode) -{ - KdScreenPriv(pScreen); - SiSCardInfo(pScreenPriv); - - return sisc->backend_funcs.dpms(pScreen, mode); -} - -static Bool -SiSEnable(ScreenPtr pScreen) -{ - KdScreenPriv(pScreen); - SiSCardInfo(pScreenPriv); - - if (!sisc->backend_funcs.enable(pScreen)) - return FALSE; - - if ((sisc->reg_base == NULL) && !SiSMapReg(pScreenPriv->screen->card, - sisc)) - return FALSE; - - SiSDPMS(pScreen, KD_DPMS_NORMAL); - - return TRUE; -} - -static void -SiSDisable(ScreenPtr pScreen) -{ - KdScreenPriv(pScreen); - SiSCardInfo(pScreenPriv); - - SiSUnmapReg(pScreenPriv->card, sisc); - - sisc->backend_funcs.disable(pScreen); -} - -static void -SiSGetColors(ScreenPtr pScreen, int fb, int n, xColorItem *pdefs) -{ - KdScreenPriv(pScreen); - SiSCardInfo(pScreenPriv); - - sisc->backend_funcs.getColors(pScreen, fb, n, pdefs); -} - -static void -SiSPutColors(ScreenPtr pScreen, int fb, int n, xColorItem *pdefs) -{ - KdScreenPriv(pScreen); - SiSCardInfo(pScreenPriv); - - sisc->backend_funcs.putColors(pScreen, fb, n, pdefs); -} - -KdCardFuncs SiSFuncs = { - SiSCardInit, /* cardinit */ - SiSScreenInit, /* scrinit */ - SiSInitScreen, /* initScreen */ - SiSFinishInitScreen, /* finishInitScreen */ - SiSCreateResources, /* createRes */ - SiSPreserve, /* preserve */ - SiSEnable, /* enable */ - SiSDPMS, /* dpms */ - SiSDisable, /* disable */ - SiSRestore, /* restore */ - SiSScreenFini, /* scrfini */ - SiSCardFini, /* cardfini */ - - 0, /* initCursor */ - 0, /* enableCursor */ - 0, /* disableCursor */ - 0, /* finiCursor */ - 0, /* recolorCursor */ - - SiSDrawInit, /* initAccel */ - SiSDrawEnable, /* enableAccel */ - SiSDrawSync, /* syncAccel */ - SiSDrawDisable, /* disableAccel */ - SiSDrawFini, /* finiAccel */ - - SiSGetColors, /* getColors */ - SiSPutColors, /* putColors */ -}; diff --git a/xorg-server/hw/kdrive/sis300/sis.h b/xorg-server/hw/kdrive/sis300/sis.h deleted file mode 100644 index 25d55be31..000000000 --- a/xorg-server/hw/kdrive/sis300/sis.h +++ /dev/null @@ -1,160 +0,0 @@ -/* - * Copyright © 2003 Eric Anholt - * - * 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. - */ - -#ifndef _SIS_H_ -#define _SIS_H_ - -#include "kdrive-config.h" - -#ifdef KDRIVEFBDEV -#include -#endif -#ifdef KDRIVEVESA -#include -#endif - -/* XXX */ -#define SIS_REG_BASE(c) ((c)->attr.address[1]) -#define SIS_REG_SIZE(c) (0x10000) - -#ifdef __powerpc__ - -static __inline__ void -MMIO_OUT32(__volatile__ void *base, const unsigned long offset, - const unsigned int val) -{ - __asm__ __volatile__( - "stwbrx %1,%2,%3\n\t" - "eieio" - : "=m" (*((volatile unsigned char *)base+offset)) - : "r" (val), "b" (base), "r" (offset)); -} - -static __inline__ CARD32 -MMIO_IN32(__volatile__ void *base, const unsigned long offset) -{ - register unsigned int val; - __asm__ __volatile__( - "lwbrx %0,%1,%2\n\t" - "eieio" - : "=r" (val) - : "b" (base), "r" (offset), - "m" (*((volatile unsigned char *)base+offset))); - return val; -} - -#else - -#define MMIO_OUT32(mmio, a, v) (*(VOL32 *)((mmio) + (a)) = (v)) -#define MMIO_IN32(mmio, a) (*(VOL32 *)((mmio) + (a))) - -#endif - -typedef volatile CARD8 VOL8; -typedef volatile CARD16 VOL16; -typedef volatile CARD32 VOL32; - -struct pci_id_entry { - CARD16 vendor; - CARD16 device; - CARD8 caps; - char *name; -}; - -struct backend_funcs { - void (*cardfini)(KdCardInfo *); - void (*scrfini)(KdScreenInfo *); - Bool (*initScreen)(ScreenPtr); - Bool (*finishInitScreen)(ScreenPtr pScreen); - Bool (*createRes)(ScreenPtr); - void (*preserve)(KdCardInfo *); - void (*restore)(KdCardInfo *); - Bool (*dpms)(ScreenPtr, int); - Bool (*enable)(ScreenPtr); - void (*disable)(ScreenPtr); - void (*getColors)(ScreenPtr, int, int, xColorItem *); - void (*putColors)(ScreenPtr, int, int, xColorItem *); -}; - -typedef struct _SiSCardInfo { - union { -#ifdef KDRIVEFBDEV - FbdevPriv fbdev; -#endif -#ifdef KDRIVEVESA - VesaCardPrivRec vesa; -#endif - } backend_priv; - struct backend_funcs backend_funcs; - - struct pci_id_entry *pci_id; - CARD8 *reg_base; - Bool use_fbdev, use_vesa; -} SiSCardInfo; - -#define getSiSCardInfo(kd) ((SiSCardInfo *) ((kd)->card->driver)) -#define SiSCardInfo(kd) SiSCardInfo *sisc = getSiSCardInfo(kd) - -typedef struct _SiSScreenInfo { - union { -#ifdef KDRIVEFBDEV - FbdevScrPriv fbdev; -#endif -#ifdef KDRIVEVESA - VesaScreenPrivRec vesa; -#endif - } backend_priv; - CARD32 depthSet; /* depth value for REG_BLT_SRCPITCH */ - KaaScreenInfoRec kaa; - SiSCardInfo *sisc; -} SiSScreenInfo; - -#define getSiSScreenInfo(kd) ((SiSScreenInfo *) ((kd)->screen->driver)) -#define SiSScreenInfo(kd) SiSScreenInfo *siss = getSiSScreenInfo(kd) - -Bool -SiSMapReg(KdCardInfo *card, SiSCardInfo *sisc); - -void -SiSUnmapReg(KdCardInfo *card, SiSCardInfo *sisc); - -Bool -SiSDrawSetup(ScreenPtr pScreen); - -Bool -SiSDrawInit(ScreenPtr pScreen); - -void -SiSDrawEnable(ScreenPtr pScreen); - -void -SiSDrawSync(ScreenPtr pScreen); - -void -SiSDrawDisable(ScreenPtr pScreen); - -void -SiSDrawFini(ScreenPtr pScreen); - -extern KdCardFuncs SiSFuncs; - -#endif /* _SIS_H_ */ diff --git a/xorg-server/hw/kdrive/sis300/sis_draw.c b/xorg-server/hw/kdrive/sis300/sis_draw.c deleted file mode 100644 index bbc905e1d..000000000 --- a/xorg-server/hw/kdrive/sis300/sis_draw.c +++ /dev/null @@ -1,320 +0,0 @@ -/* - * Copyright © 2003 Eric Anholt - * - * 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. - */ - -#include - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include "sis.h" -#include "sis_reg.h" - -#if 0 -#define SIS_FALLBACK(x) \ -do { \ - ErrorF x; \ - return FALSE; \ -} while (0) -#else -#define SIS_FALLBACK(x) return FALSE -#endif - -CARD8 SiSSolidRop[16] = { - /* GXclear */ 0x00, /* 0 */ - /* GXand */ 0xa0, /* src AND dst */ - /* GXandReverse */ 0x50, /* src AND NOT dst */ - /* GXcopy */ 0xf0, /* src */ - /* GXandInverted*/ 0x0a, /* NOT src AND dst */ - /* GXnoop */ 0xaa, /* dst */ - /* GXxor */ 0x5a, /* src XOR dst */ - /* GXor */ 0xfa, /* src OR dst */ - /* GXnor */ 0x05, /* NOT src AND NOT dst */ - /* GXequiv */ 0xa5, /* NOT src XOR dst */ - /* GXinvert */ 0x55, /* NOT dst */ - /* GXorReverse */ 0xf5, /* src OR NOT dst */ - /* GXcopyInverted*/ 0x0f, /* NOT src */ - /* GXorInverted */ 0xaf, /* NOT src OR dst */ - /* GXnand */ 0x5f, /* NOT src OR NOT dst */ - /* GXset */ 0xff, /* 1 */ -}; - -CARD8 SiSBltRop[16] = { - /* GXclear */ 0x00, /* 0 */ - /* GXand */ 0x88, /* src AND dst */ - /* GXandReverse */ 0x44, /* src AND NOT dst */ - /* GXcopy */ 0xcc, /* src */ - /* GXandInverted*/ 0x22, /* NOT src AND dst */ - /* GXnoop */ 0xaa, /* dst */ - /* GXxor */ 0x66, /* src XOR dst */ - /* GXor */ 0xee, /* src OR dst */ - /* GXnor */ 0x11, /* NOT src AND NOT dst */ - /* GXequiv */ 0x99, /* NOT src XOR dst */ - /* GXinvert */ 0x55, /* NOT dst */ - /* GXorReverse */ 0xdd, /* src OR NOT dst */ - /* GXcopyInverted*/ 0x33, /* NOT src */ - /* GXorInverted */ 0xbb, /* NOT src OR dst */ - /* GXnand */ 0x77, /* NOT src OR NOT dst */ - /* GXset */ 0xff, /* 1 */ -}; - -int copydx, copydy; -int fifo_size; -SiSScreenInfo *accel_siss; -char *mmio; -CARD32 sis_color = 0; -CARD32 blitCmd; - -static void -SiSWaitAvailMMIO(int n) -{ - while (fifo_size < n) { - fifo_size = MMIO_IN32(mmio, REG_CommandQueue) & MASK_QueueLen; - } - fifo_size -= n; -} - -static void -SiSWaitIdle(void) -{ - CARD32 engineState; - do { - engineState = MMIO_IN32(mmio, REG_CommandQueue); - } while ((engineState & SiS_EngIdle) != SiS_EngIdle); -} - -static Bool -SiSPrepareSolid(PixmapPtr pPixmap, int alu, Pixel pm, Pixel fg) -{ - KdScreenPriv(pPixmap->drawable.pScreen); - SiSScreenInfo(pScreenPriv); - SiSCardInfo(pScreenPriv); - - /* No acceleration for other formats (yet) */ - if (pPixmap->drawable.bitsPerPixel != - pScreenPriv->screen->fb[0].bitsPerPixel) - return FALSE; - - if ((pm & 0x00ffffff) != 0x00ffffff) /* XXX */ - SIS_FALLBACK(("Unsupported planemask 0x%x\n", pm)); - - accel_siss = siss; - mmio = sisc->reg_base; - - SiSWaitAvailMMIO(4); - MMIO_OUT32(mmio, REG_BLT_PATFG, fg); - MMIO_OUT32(mmio, REG_BLT_DSTRECT, (-1 << 16) | pPixmap->devKind); - MMIO_OUT32(mmio, REG_BLT_SRCPITCH, siss->depthSet); - MMIO_OUT32(mmio, REG_BLT_DSTBASE, ((CARD8 *)pPixmap->devPrivate.ptr - - pScreenPriv->screen->memory_base)); - - blitCmd = BLT_CMD_BITBLT | BLT_PAT_FG | BLT_X_INC | BLT_Y_INC | - BLT_NOCLIP | (SiSSolidRop[alu] << 8); - - return TRUE; -} - -static void -SiSSolid(int x1, int y1, int x2, int y2) -{ - SiSWaitAvailMMIO(3); - MMIO_OUT32(mmio, REG_BLT_DSTXY, (x1 << 16) | y1); - MMIO_OUT32(mmio, REG_BLT_H_W, ((y2 - y1) << 16) | (x2 - x1)); - MMIO_OUT32(mmio, REG_BLT_CMD, blitCmd); -} - -static void -SiSDoneSolid(void) -{ -} - -static Bool -SiSPrepareCopy(PixmapPtr pSrc, PixmapPtr pDst, int dx, int dy, int alu, - Pixel pm) -{ - KdScreenPriv(pDst->drawable.pScreen); - SiSScreenInfo(pScreenPriv); - SiSCardInfo(pScreenPriv); - - /* No acceleration for other formats (yet) */ - if (pDst->drawable.bitsPerPixel != - pScreenPriv->screen->fb[0].bitsPerPixel) - return FALSE; - - if ((pm & 0x00ffffff) != 0x00ffffff) /* XXX */ - SIS_FALLBACK(("Unsupported pixel mask 0x%x\n", pm)); - - accel_siss = siss; - mmio = sisc->reg_base; - - SiSWaitAvailMMIO(4); - MMIO_OUT32(mmio, REG_BLT_SRCPITCH, siss->depthSet | pSrc->devKind); - MMIO_OUT32(mmio, REG_BLT_DSTRECT, (-1 << 16) | pDst->devKind); - MMIO_OUT32(mmio, REG_BLT_SRCBASE, ((CARD8 *)pSrc->devPrivate.ptr - - pScreenPriv->screen->memory_base)); - MMIO_OUT32(mmio, REG_BLT_DSTBASE, ((CARD8 *)pDst->devPrivate.ptr - - pScreenPriv->screen->memory_base)); - - blitCmd = BLT_CMD_BITBLT | BLT_PAT_FG | BLT_NOCLIP | - (SiSBltRop[alu] << 8); - - if (pSrc != pDst || dx >= 0) - blitCmd |= BLT_X_INC; - if (pSrc != pDst || dy >= 0) - blitCmd |= BLT_Y_INC; - - return TRUE; -} - -static void -SiSCopy(int srcX, int srcY, int dstX, int dstY, int w, int h) -{ - if (!(blitCmd & BLT_X_INC)) { - srcX += w - 1; - dstX += w - 1; - } - - if (!(blitCmd & BLT_Y_INC)) { - srcY += h - 1; - dstY += h - 1; - } - - SiSWaitAvailMMIO(4); - MMIO_OUT32(mmio, REG_BLT_H_W, (h << 16) | w); - MMIO_OUT32(mmio, REG_BLT_SRCXY, (srcX << 16) | srcY); - MMIO_OUT32(mmio, REG_BLT_DSTXY, (dstX << 16) | dstY); - MMIO_OUT32(mmio, REG_BLT_CMD, blitCmd); -} - -static void -SiSDoneCopy(void) -{ -} - -KaaScreenInfoRec SiSKaa = { - SiSPrepareSolid, - SiSSolid, - SiSDoneSolid, - SiSPrepareCopy, - SiSCopy, - SiSDoneCopy, - KAA_OFFSCREEN_PIXMAPS, - 8, - 8 -}; - -#define USE_TURBOQUEUE 0 - -Bool -SiSDrawInit(ScreenPtr pScreen) -{ - KdScreenPriv(pScreen); - SiSScreenInfo(pScreenPriv); - CARD8 tmp; -#if USE_TURBOQUEUE - int tqsize; -#endif - - switch (pScreenPriv->screen->fb[0].depth) - { - case 8: - siss->depthSet = 0x00000000; - break; - case 15: - siss->depthSet = 0x40000000; - break; - case 16: - siss->depthSet = 0x80000000; - break; - case 24: - if (pScreenPriv->screen->fb[0].bitsPerPixel == 32) { - siss->depthSet = 0xc0000000; - break; - } - /* FALLTHROUGH*/ - default: - ErrorF("Unsupported depth/bpp %d/%d\n", - pScreenPriv->screen->fb[0].depth, - pScreenPriv->screen->fb[0].bitsPerPixel); - return FALSE; - } - - outb(0x05, 0x3c4); - outb(0x86, 0x3c5); /* unlock registers */ - - outb(0x20, 0x3c4); - outb(0xA1, 0x3c5); /* enable pci linear addressing, MMIO, PCI_IO */ - - outb(0x1e, 0x3c4); - tmp = inb(0x3c5); - outb(tmp | 0x42 | 0x18, 0x3c5); /* Enable 2d and 3d */ - -#if USE_TURBOQUEUE - tqsize = (pScreenPriv->screen->memory_size / 1024) / 64 - 8; - /* Enable TQ */ - outb(0x26, 0x3c4); - outb(tqsize & 0xff, 0x3c5); - outb(0x27, 0x3c4); - tmp = inb(0x3c5); - outb(((tqsize >> 8) & 0x03) | (tmp & 0x0c) | 0xF0, 0x3c5); - - /* XXX: Adjust offscreen size to avoid TQ area (last 512k) */ -#endif - - ErrorF("Screen: %d/%d depth/bpp\n", pScreenPriv->screen->fb[0].depth, - pScreenPriv->screen->fb[0].bitsPerPixel); - - if (!kaaDrawInit(pScreen, &SiSKaa)) - return FALSE; - - return TRUE; -} - -void -SiSDrawEnable(ScreenPtr pScreen) -{ - KdMarkSync(pScreen); -} - -void -SiSDrawDisable(ScreenPtr pScreen) -{ -} - -void -SiSDrawFini(ScreenPtr pScreen) -{ - kaaDrawFini (pScreen); -} - -void -SiSDrawSync(ScreenPtr pScreen) -{ - KdScreenPriv(pScreen); - SiSScreenInfo(pScreenPriv); - SiSCardInfo(pScreenPriv); - - accel_siss = siss; - mmio = sisc->reg_base; - - SiSWaitIdle(); -} diff --git a/xorg-server/hw/kdrive/sis300/sis_reg.h b/xorg-server/hw/kdrive/sis300/sis_reg.h deleted file mode 100644 index 6e5a8f6d5..000000000 --- a/xorg-server/hw/kdrive/sis300/sis_reg.h +++ /dev/null @@ -1,902 +0,0 @@ -/************************************************************************** - -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. - -**************************************************************************/ - -/* - * Authors: - * Sung-Ching Lin - * Eric Anholt - */ - -#ifndef _sis_reg_h_ -#define _sis_reg_h_ - -/* - * Define All the Register Address of 6327 - */ - -#define REG_BLT_SRCBASE 0x8200 -#define REG_BLT_SRCPITCH 0x8204 -#define REG_BLT_SRCXY 0x8208 -#define REG_BLT_DSTXY 0x820c -#define REG_BLT_DSTBASE 0x8210 -#define REG_BLT_DSTRECT 0x8214 -#define REG_BLT_H_W 0x8218 -#define REG_BLT_PATFG 0x821c -#define REG_BLT_PATBG 0x8220 -#define REG_BLT_SRCFG 0x8224 -#define REG_BLT_SRCBG 0x8228 -#define REG_BLT_MONOPAT0 0x822c -#define REG_BLT_MONOPAT1 0x8230 -#define REG_BLT_CLIPLT 0x8234 -#define REG_BLT_CLIBRB 0x8238 -#define REG_BLT_CMD 0x823c -#define REG_CommandQueue 0x8240 - -#define REG_3D_TSFSa 0x8800 -#define REG_3D_TSZa 0x8804 -#define REG_3D_TSXa 0x8808 -#define REG_3D_TSYa 0x880C -#define REG_3D_TSARGBa 0x8810 -#define REG_3D_TSWGa 0x8814 -#define REG_3D_TSUAa 0x8818 -#define REG_3D_TSVAa 0x881C -#define REG_3D_TSUBa 0x8820 -#define REG_3D_TSVBa 0x8824 -#define REG_3D_TSUCa 0x8828 -#define REG_3D_TSVCa 0x882C - -#define REG_3D_TSFSb 0x8830 -#define REG_3D_TSZb 0x8834 -#define REG_3D_TSXb 0x8838 -#define REG_3D_TSYb 0x883C -#define REG_3D_TSARGBb 0x8840 -#define REG_3D_TSWGb 0x8844 -#define REG_3D_TSUAb 0x8848 -#define REG_3D_TSVAb 0x884C -#define REG_3D_TSUBb 0x8850 -#define REG_3D_TSVBb 0x8854 -#define REG_3D_TSUCb 0x8858 -#define REG_3D_TSVCb 0x885C - -#define REG_3D_TSFSc 0x8860 -#define REG_3D_TSZc 0x8864 -#define REG_3D_TSXc 0x8868 -#define REG_3D_TSYc 0x886C -#define REG_3D_TSARGBc 0x8870 -#define REG_3D_TSWGc 0x8874 -#define REG_3D_TSUAc 0x8878 -#define REG_3D_TSVAc 0x887C -#define REG_3D_TSUBc 0x8880 -#define REG_3D_TSVBc 0x8884 -#define REG_3D_TSUCc 0x8888 -#define REG_3D_TSVCc 0x888C - -/* - * REG_3D_AGPCmdSetting (89e4h-89f7) - */ -#define REG_3D_AGPCmBase 0x89E4 -#define REG_3D_AGPRmDwNum 0x89E8 -#define REG_3D_AGPTtDwNum 0x89EC -#define REG_3D_AGPCmFire 0x89F0 - -#define REG_3D_ParsingSet 0x89F4 -#define REG_3D_PrimitiveSet 0x89F8 -#define REG_3D_ShadeMode 0x89F8 -#define REG_3D_EngineFire 0x89FC -#define REG_3D_EngineStatus 0x89FC -#define REG_3D_TEnable 0x8A00 -#define REG_3D_TEnable2 0x8A04 - -#define REG_3D_ZSet 0x8A08 -#define REG_3D_ZBias 0x8A0C -#define REG_3D_ZStWriteMask 0x8A10 - -#define REG_3D_ZAddress 0x8A14 -#define REG_3D_AlphaSet 0x8A18 -#define REG_3D_AlphaAddress 0x8A1C -#define REG_3D_DstSet 0x8A20 -#define REG_3D_DstAlphaWriteMask 0x8A24 - -#define REG_3D_DstAddress 0x8A28 - -#define REG_3D_LinePattern 0x8A2C - -#define REG_3D_FogSet 0x8A30 - -#define REG_3D_FogFarDistance 0x8A34 -#define REG_3D_FogInverseDistance 0x8A38 -#define REG_3D_FogFactorDensity 0x8A3C - -#define REG_3D_StencilSet 0x8A44 -#define REG_3D_StencilSet2 0x8A48 -#define REG_3D_StencilAddress 0x8A4C - -#define REG_3D_DstBlendMode 0x8A50 -#define REG_3D_SrcBlendMode 0x8A50 -#define REG_3D_ClipTopBottom 0x8A54 -#define REG_3D_ClipLeftRight 0x8A58 - -#define REG_3D_Brightness 0x8A5C - -#define REG_3D_BumpMapSet 0x8A68 -#define REG_3D_BumpMapAddress 0x8A6C -#define REG_3D_BumpMapPitch 0x8A70 -#define REG_3D_BumpMapMatrix0 0x8A74 -#define REG_3D_BumpMapMatrix1 0x8A78 - -/* - * Define the Texture Register Address of 6326 - */ -#define REG_3D_TextureSet 0x8A7C -#define REG_3D_TextureWidthHeight 0x8A7C -#define REG_3D_TextureMip 0x8A80 - -#define REG_3D_TextureTransparencyColorHigh 0x8A84 -#define REG_3D_TextureTransparencyColorLow 0x8A88 -#define REG_3D_TextureBorderColor 0x8A8C -#define REG_3D_TextureAddress0 0x8A90 -#define REG_3D_TextureAddress1 0x8A94 -#define REG_3D_TextureAddress2 0x8A98 -#define REG_3D_TextureAddress3 0x8A9C -#define REG_3D_TextureAddress4 0x8AA0 -#define REG_3D_TextureAddress5 0x8AA4 -#define REG_3D_TextureAddress6 0x8AA8 -#define REG_3D_TextureAddress7 0x8AAC -#define REG_3D_TextureAddress8 0x8AB0 -#define REG_3D_TextureAddress9 0x8AB4 -#define REG_3D_TextureAddress10 0x8AB8 -#define REG_3D_TextureAddress11 0x8ABC -#define REG_3D_TexturePitch0 0x8AC0 -#define REG_3D_TexturePitch1 0x8AC0 -#define REG_3D_TexturePitch2 0x8AC4 -#define REG_3D_TexturePitch3 0x8AC4 -#define REG_3D_TexturePitch4 0x8AC8 -#define REG_3D_TexturePitch5 0x8AC8 -#define REG_3D_TexturePitch6 0x8ACC -#define REG_3D_TexturePitch7 0x8ACC -#define REG_3D_TexturePitch8 0x8AD0 -#define REG_3D_TexturePitch9 0x8AD0 -#define REG_3D_TexturePitch10 0x8AD4 - -#define REG_3D_Texture1Set 0x8ADC -#define REG_3D_Texture1WidthHeight 0x8ADC -#define REG_3D_Texture1Mip 0x8AE0 - -#define REG_3D_Texture1TransparencyColorHigh 0x8AE4 -#define REG_3D_Texture1TransparencyColorLow 0x8AE8 -#define REG_3D_Texture1BorderColor 0x8AEC -#define REG_3D_Texture1Address0 0x8AF0 -#define REG_3D_Texture1Address1 0x8AF4 -#define REG_3D_Texture1Address2 0x8AF8 -#define REG_3D_Texture1Address3 0x8AFC -#define REG_3D_Texture1Address4 0x8B00 -#define REG_3D_Texture1Address5 0x8B04 -#define REG_3D_Texture1Address6 0x8B08 -#define REG_3D_Texture1Address7 0x8B0C -#define REG_3D_Texture1Address8 0x8B10 -#define REG_3D_Texture1Address9 0x8B14 -#define REG_3D_Texture1Address10 0x8B18 -#define REG_3D_Texture1Address11 0x8B1C -#define REG_3D_Texture1Pitch0 0x8B20 -#define REG_3D_Texture1Pitch1 0x8B20 -#define REG_3D_Texture1Pitch2 0x8B24 -#define REG_3D_Texture1Pitch3 0x8B24 -#define REG_3D_Texture1Pitch4 0x8B28 -#define REG_3D_Texture1Pitch5 0x8B28 -#define REG_3D_Texture1Pitch6 0x8B2C -#define REG_3D_Texture1Pitch7 0x8B2C -#define REG_3D_Texture1Pitch8 0x8B30 -#define REG_3D_Texture1Pitch9 0x8B30 -#define REG_3D_Texture1Pitch10 0x8B34 - -#define REG_3D_TextureBlendFactor 0x8B3C -#define REG_3D_TextureColorBlendSet0 0x8B40 -#define REG_3D_TextureColorBlendSet1 0x8B44 -#define REG_3D_TextureAlphaBlendSet0 0x8B48 -#define REG_3D_TextureAlphaBlendSet1 0x8B4C -/* - * Define the End of Primitive List of 6326 - */ -#define REG_3D_EndPrimitiveList 0X8B50 - - -/* - * Define the Stipple Register Address of 6326 - */ -#define REG_3D_Stipple0 0X8B60 - -#define REG_3D_TexturePalette 0x8C00 - -/* - * REG_BLT_CMD -- (8x823c-0x823f) - */ -#define BLT_CMD_BITBLT 0x00000000 -#define BLT_CMD_COLOREXP 0x00000001 -#define BLT_CMD_ENCOLOREXP 0x00000002 -#define BLT_CMD_MULTIPLE_SCANLINE 0x00000003 -#define BLT_CMD_LINE 0x00000004 -#define BLT_CMD_TRAPAZOID_FILL 0x00000005 -#define BLT_CMD_TRANSPARENT_BITBLT 0x00000006 - -#define BLT_X_INC 0x00010000 -#define BLT_Y_INC 0x00020000 - -#define BLT_SRC_VIDEO 0x00000000 -#define BLT_SRC_SYSTEM 0x00000010 -#define BLT_SRC_CPUBLITBUF BLT_SRC_SYSTEM -#define BLT_SRC_AGP 0x00000020 - -#define BLT_PAT_FG 0x00000000 -#define BLT_PAT_PATREG 0x00000040 -#define BLT_PAT_MONO 0x00000080 - -/* Clipping flags */ -#define BLT_NOCLIP 0x00000000 -#define BLT_NOMERGECLIP 0x04000000 -#define BLT_CLIPENABLE 0x00040000 -#define BLT_CLIPWITHOUTMERGE 0x04040000 - -/* - * REG_CommandQueue -- (8240h-8243h) - */ -#define MASK_QueueLen 0x0000ffff -#define SiS_EngIdle2d 0x80000000 -#define SiS_EngIdle 0xe0000000 -#define MASK_EngState 0xf0000000 - -/* - * REG_3D_ParsingSet -- Define Parsing Mask (89F4h-89F7h) - */ -#define MASK_VertexDWSize 0xF0000000 -#define MASK_VertexDataFormat 0x0FFF0000 -#define MASK_PsVertex_HAS_RHW 0x08000000 -#define MASK_PsVertex_HAS_NORMALXYZ 0x04000000 -#define MASK_PsVertex_HAS_DIFFUSE 0x02000000 -#define MASK_PsVertex_HAS_SPECULAR 0x01000000 -#define MASK_PsUVSet 0x00FF0000 -#define MASK_PsVertex_HAS_1SetUV 0x00800000 -#define MASK_PsVertex_HAS_2SetUV 0x00C00000 -#define MASK_PsVertex_HAS_3SetUV 0x00E00000 -#define MASK_PsVertex_HAS_UVSet1 0x00800000 -#define MASK_PsVertex_HAS_UVSet2 0x00400000 -#define MASK_PsVertex_HAS_UVSet3 0x00200000 -#define MASK_PsCullDirection_CCW 0x00008000 -#define MASK_PsShadingMode 0x00007000 -/* XXX Shading modes just a guess, but seem to work*/ -#define MASK_PsShadingFlatA 0x00001000 -#define MASK_PsShadingFlatB 0x00002000 -#define MASK_PsShadingFlatC 0x00003000 -#define MASK_PsShadingSmooth 0x00004000 -#define MASK_PsTextureFrom 0x000003F0 -#define MASK_PsTexture0FromA 0x00000000 -#define MASK_PsTexture1FromA 0x00000000 -#define MASK_PsTexture1FromB 0x00000040 -#define MASK_PsBumpTextureFromA 0x00000000 -#define MASK_PsBumpTextureFromB 0x00000010 -#define MASK_PsBumpTextureFromC 0x00000020 -#define MASK_PsDataType 0x0000000F -#define MASK_PsPointList 0x00000000 -#define MASK_PsLineList 0x00000004 -#define MASK_PsLineStrip 0x00000005 -#define MASK_PsTriangleList 0x00000008 -#define MASK_PsTriangleStrip 0x00000009 -#define MASK_PsTriangleFan 0x0000000A - -/* - * REG_3D_PrimitiveSet -- Define Fire Primitive Mask (89F8h-89FBh) - */ -#define MASK_DrawPrimitiveCommand 0x00000007 -#define MASK_SetFirePosition 0x00001F00 -#define MASK_BumpTextureFrom 0x00030000 -#define MASK_Texture1From 0x000C0000 -#define MASK_Texture0From 0x00300000 -#define MASK_ShadingMode 0x07000000 -#define MASK_CullDirection 0x08000000 - -#define OP_3D_POINT_DRAW 0x00000000 -#define OP_3D_LINE_DRAW 0x00000001 -#define OP_3D_TRIANGLE_DRAW 0x00000002 - -#define OP_3D_DIRECTION_RIGHT 0x00000000 -#define OP_3D_DIRECTION_LEFT 0x00000100 -#define OP_3D_DIRECTION_HORIZONTAL 0x00000000 -#define OP_3D_DIRECTION_VERTICAL 0x00000100 - -#define OP_3D_FIRE_TFIRE 0x00000000 -#define OP_3D_FIRE_TSARGBa 0x00000100 -#define OP_3D_FIRE_TSWa 0x00000200 -#define OP_3D_FIRE_TSVAa 0x00000300 -#define OP_3D_FIRE_TSVBa 0x00000400 -#define OP_3D_FIRE_TSVCa 0x00000500 - -#define OP_3D_FIRE_TSARGBb 0x00000900 -#define OP_3D_FIRE_TSWb 0x00000a00 -#define OP_3D_FIRE_TSVAb 0x00000b00 -#define OP_3D_FIRE_TSVBb 0x00000c00 -#define OP_3D_FIRE_TSVCb 0x00000d00 - -#define OP_3D_FIRE_TSARGBc 0x00001100 -#define OP_3D_FIRE_TSWc 0x00001200 -#define OP_3D_FIRE_TSVAc 0x00001300 -#define OP_3D_FIRE_TSVBc 0x00001400 -#define OP_3D_FIRE_TSVCc 0x00001500 - -#define OP_3D_Texture0FromA 0x00000000 -#define OP_3D_Texture0FromB 0x00100000 -#define OP_3D_Texture0FromC 0x00200000 -#define OP_3D_Texture1FromA 0x00000000 -#define OP_3D_Texture1FromB 0x00040000 -#define OP_3D_Texture1FromC 0x00080000 -#define OP_3D_TextureBumpFromA 0x00000000 -#define OP_3D_TextureBumpFromB 0x00010000 -#define OP_3D_TextureBumpFromC 0x00020000 - -#define OP_3D_CullDirection_CCW 0x08000000 - -#define SHADE_FLAT_VertexA 0x01000000 -#define SHADE_FLAT_VertexB 0x02000000 -#define SHADE_FLAT_VertexC 0x03000000 -#define SHADE_GOURAUD 0x04000000 - -/* - * Define Command Queue Length Mask (89FCh-89FF) - */ -#define MASK_CmdQueueLen 0x0FFF0000 - -/* - * REG_3D_TEnable -- Define Capility Enable Mask (8A00h-8A03h) - */ -#define MASK_DitherEnable 0x00000001 -#define MASK_BlendEnable 0x00000002 -#define MASK_FogTestEnable 0x00000004 -#define MASK_FogEnable 0x00000008 -#define MASK_SpecularEnable 0x00000010 -#define MASK_FogPerspectiveEnable 0x00000020 -#define MASK_TextureCacheClear 0x00000040 -#define MASK_TextureCacheEnable 0x00000080 -#define MASK_BumpMapEnable 0x00000100 -#define MASK_TexturePerspectiveEnable 0x00000200 -#define MASK_TextureEnable 0x00000400 -#define MASK_CullEnable 0x00000800 -#define MASK_TextureNumUsed 0x0000F000 -#define MASK_AlphaBufferEnable 0x00010000 -#define MASK_AlphaTestEnable 0x00020000 -#define MASK_AlphaWriteEnable 0x00040000 -#define MASK_ZTestEnable 0x00080000 -#define MASK_ZWriteEnable 0x00100000 -#define MASK_StencilBufferEnable 0x00200000 -#define MASK_StencilTestEnable 0x00400000 -#define MASK_StencilWriteEnable 0x00800000 -#define MASK_Texture0TransparencyEnable 0x01000000 -#define MASK_Texture1TransparencyEnable 0x02000000 -#define MASK_TextureAWrapUCorrection 0x04000000 -#define MASK_TextureAWrapVCorrection 0x08000000 -#define MASK_TextureBWrapUCorrection 0x10000000 -#define MASK_TextureBWrapVCorrection 0x20000000 -#define MASK_TextureCWrapUCorrection 0x40000000 -#define MASK_TextureCWrapVCorrection 0x80000000 - -/* - * REG_3D_TEnable2 -- Define Capility Enable Mask2 (8A04h-8A07h) - */ -#define MASK_Texture0BlockTextureEnable 0x00000001 -#define MASK_Texture1BlockTextureEnable 0x00000002 -#define MASK_Texture0AnisotropicEnable 0x00000010 -#define MASK_Texture1AnisotropicEnable 0x00000020 -#define MASK_TextureMipmapBiasEnable 0x00000040 -#define MASK_LinePatternEnable 0x00000100 -#define MASK_StippleAlphaEnable 0x00000200 -#define MASK_StippleEnable 0x00000400 -#define MASK_AntiAliasEnable 0x00000800 -#define MASK_ZMaskWriteEnable 0x00001000 -#define MASK_StencilMaskWriteEnable 0x00002000 -#define MASK_AlphaMaskWriteEnable 0x00004000 -#define MASK_ColorMaskWriteEnable 0x00008000 -#define MASK_ZCacheClear 0x00010000 -#define MASK_ZCacheEnable 0x00020000 -#define MASK_StencilCacheClear 0x00040000 -#define MASK_StencilCacheEnable 0x00080000 -#define MASK_AlphaCacheClear 0x00100000 -#define MASK_AlphaCacheEnable 0x00200000 -#define MASK_ColorCacheClear 0x00400000 -#define MASK_ColorCacheEnable 0x00800000 - -/* - * REG_3D_ZSet -- Define Z Buffer Setting Mask (8A08h-8A0Bh) - */ -#define MASK_ZBufferPitch 0x00000FFF -#define MASK_ZTestMode 0x00070000 -#define MASK_ZBufferInSystem 0x00080000 -#define MASK_ZBufferFormat 0x01F00000 - -#define SiS_Z_COMP_NEVER 0x00000000 -#define SiS_Z_COMP_S_LT_B 0x00010000 -#define SiS_Z_COMP_S_EQ_B 0x00020000 -#define SiS_Z_COMP_S_LE_B 0x00030000 -#define SiS_Z_COMP_S_GT_B 0x00040000 -#define SiS_Z_COMP_S_NE_B 0x00050000 -#define SiS_Z_COMP_S_GE_B 0x00060000 -#define SiS_Z_COMP_ALWAYS 0x00070000 - -#define SiS_ZFORMAT_Z16 0x00000000 -#define SiS_ZFORMAT_Z16_INT 0x00100000 -#define SiS_ZFORMAT_S1Z15 0x00400000 -#define SiS_ZFORMAT_S1Z15_INT 0x00500000 -#define SiS_ZFORMAT_Z32 0x00800000 -#define SiS_ZFORMAT_S1Z31 0x00C00000 -#define SiS_ZFORMAT_S2Z30 0x00D00000 -#define SiS_ZFORMAT_S4Z28 0x00E00000 -#define SiS_ZFORMAT_S8Z24 0x00F00000 -#define SiS_ZFORMAT_FZ30 0x01800000 -#define SiS_ZFORMAT_FS1Z30 0x01C00000 -#define SiS_ZFORMAT_FS2Z30 0x01D00000 - -/* - * REG_3D_ZBias -- Define Z Buffer Setting Mask (8A0Ch-8A0Fh) - */ -#define MASK_ZBias 0xFFFFFFFF - -/* - * REG_3D_ZStWriteMask -- Define Z and Stencil Buffer Mask (8A10h-8A13h) - */ -#define MASK_ZWriteMask 0x00FFFFFF - -/* - * REG_3D_ZAddress -- Define Z Buffer Base Address(8A14h-8A17h) - */ -#define MASK_ZAddress 0xFFFFFFFF - -/* - * REG_3D_AlphaSet -- Define Alpha Buffer Setting Mask (8A18h-8A1Bh) - */ -#define MASK_AlphaBufferPitch 0x000003FF -#define MASK_AlphaRefValue 0x00FF0000 -#define MASK_AlphaTestMode 0x07000000 -#define MASK_AlphaBufferInSystem 0x08000000 -#define MASK_AlphaBufferFormat 0x30000000 - -#define SiS_ALPHA_NEVER 0x00000000 -#define SiS_ALPHA_LESS 0x01000000 -#define SiS_ALPHA_EQUAL 0x02000000 -#define SiS_ALPHA_LEQUAL 0x03000000 -#define SiS_ALPHA_GREATER 0x04000000 -#define SiS_ALPHA_NOTEQUAL 0x05000000 -#define SiS_ALPHA_GEQUAL 0x06000000 -#define SiS_ALPHA_ALWAYS 0x07000000 - -/* - * REG_3D_AlphaAddress -- Define Alpha Buffer Base Address(8A1Ch-8A1Fh) - */ -#define MASK_AlphaAddress 0xFFFFFFFF - -/* - * REG_3D_DstSet -- Define Destination Buffer Setting Mask (8A20h-8A23h) - */ -#define MASK_DstBufferPitch 0x00000FFF -#define MASK_DstBufferFormat 0x000F0000 -#define MASK_DstBufferBitDepth 0x00300000 -#define MASK_DstBufferRgbOrder 0x00400000 -#define MASK_DstBufferInSystem 0x00800000 -#define MASK_Dst7BitFormat 0x007F0000 -#define MASK_ROP2 0x0F000000 - -#define DST_FORMAT_RGB_555 0x00100000 -#define DST_FORMAT_RGB_565 0x00110000 -#define DST_FORMAT_ARGB_1555 0x00120000 -#define DST_FORMAT_ARGB_4444 0x00130000 -#define DST_FORMAT_ARGB_1888 0x00300000 -#define DST_FORMAT_ARGB_2888 0x00310000 -#define DST_FORMAT_ARGB_4888 0x00320000 -#define DST_FORMAT_ARGB_8888 0x00330000 -#define DST_FORMAT_ARGB_0888 0x00340000 - -#define DST_FORMAT_BGR_555 0x00500000 -#define DST_FORMAT_BGR_565 0x00510000 -#define DST_FORMAT_ABGR_1555 0x00520000 -#define DST_FORMAT_ABGR_4444 0x00530000 -#define DST_FORMAT_ABGR_1888 0x00700000 -#define DST_FORMAT_ABGR_2888 0x00710000 -#define DST_FORMAT_ABGR_4888 0x00720000 -#define DST_FORMAT_ABGR_8888 0x00730000 -#define DST_FORMAT_ABGR_0888 0x00740000 - -#define LOP_CLEAR 0x00000000 -#define LOP_NOR 0x01000000 -#define LOP_AND_INVERTED 0x02000000 -#define LOP_COPY_INVERTED 0x03000000 -#define LOP_AND_REVERSE 0x04000000 -#define LOP_INVERT 0x05000000 -#define LOP_XOR 0x06000000 -#define LOP_NAND 0x07000000 -#define LOP_AND 0x08000000 -#define LOP_EQUIV 0x09000000 -#define LOP_NOOP 0x0a000000 -#define LOP_OR_INVERTED 0x0b000000 -#define LOP_COPY 0x0c000000 -#define LOP_OR_REVERSE 0x0d000000 -#define LOP_OR 0x0e000000 -#define LOP_SET 0x0f000000 - -/* - * REG_3D_DstAlphaWriteMask -- Define Destination/Alpha Buffer Write Mask (8A24h-8A27h) - */ -#define MASK_ColorWriteMask 0x00FFFFFF -#define MASK_AlphaWriteMask 0xFF000000 - -/* - * REG_3D_DstAddress -- Define Destination Buffer Base Address(8A1Ch-8A1Fh) - */ -#define MASK_DstAddress 0xFFFFFFFF - -/* - * REG_3D_LinePattern -- Define Line Pattern (8A2Ch-8A2Fh) - */ -#define MASK_LinePatternRepeatFactor 0x00007FFF -#define MASK_LinePatternLastPixelFlag 0x00008000 -#define MASK_LinePattern 0xFFFF0000 - -/* - * REG_3D_FogSet -- Define Fog Mask (8A30h-8A33h) - */ -#define MASK_FogColor 0x00FFFFFF -#define MASK_FogMode 0x07000000 -#define MASK_FogZLookup 0x08000000 - -#define FOGMODE_CHEAP 0x04000000 -#define FOGMODE_LINEAR 0x05000000 -#define FOGMODE_EXP 0x06000000 -#define FOGMODE_EXP2 0x07000000 - -/* - * REG_3D_FogStartEnd -- Define Fog Start End Setting (0x8A34 - 0x8A37) - */ -#define MASK_FogFarDistance 0x0007FFFF - -/* - * REG_3D_FogStartEnd -- Define Fog End Setting (0x8A38 - 0x8A3B) - */ -#define MASK_FogInvFarDistance 0x0007FFFF - -/* - * REG_3D_FogFactorDensity (0x8A3C - 0x8A3F) - */ -#define MASK_FogDensity 0x0003FFFF -#define MASK_FogFactor 0xFF000000 - -/* - * REG_3D_StencilSet -- Define stencil test (8A44h-8A47h) - */ -#define MASK_StencilValueMask 0x000000ff -#define MASK_StencilRefMask 0x0000ff00 -#define MASK_StencilTestMode 0x07000000 -#define MASK_StencilBufferInSystem 0x08000000 -#define MASK_StencilFormat 0x30000000 - -#define SiS_STENCIL_NEVER 0x00000000 -#define SiS_STENCIL_LESS 0x01000000 -#define SiS_STENCIL_EQUAL 0x02000000 -#define SiS_STENCIL_LEQUAL 0x03000000 -#define SiS_STENCIL_GREATER 0x04000000 -#define SiS_STENCIL_NOTEQUAL 0x05000000 -#define SiS_STENCIL_GEQUAL 0x06000000 -#define SiS_STENCIL_ALWAYS 0x07000000 - -#define STENCIL_FORMAT_1 0x00000000 -#define STENCIL_FORMAT_2 0x10000000 -#define STENCIL_FORMAT_4 0x20000000 -#define STENCIL_FORMAT_8 0x30000000 - -/* - * REG_3D_StencilSet2 -- Define stencil test (8A4h-8A47h) - */ -#define MASK_StencilBufferPitch 0x00000FFF -#define MASK_StencilZPassOp 0x00007000 -#define MASK_StencilZFailOp 0x00070000 -#define MASK_StencilFailOp 0x00700000 -#define MASK_StencilWriteMask 0xFF000000 - -#define SiS_SFAIL_KEEP 0x00000000 -#define SiS_SFAIL_ZERO 0x00100000 -#define SiS_SFAIL_REPLACE 0x00200000 -#define SiS_SFAIL_INVERT 0x00500000 -#define SiS_SFAIL_INCR 0x00600000 -#define SiS_SFAIL_DECR 0x00700000 - -#define SiS_SPASS_ZFAIL_KEEP 0x00000000 -#define SiS_SPASS_ZFAIL_ZERO 0x00010000 -#define SiS_SPASS_ZFAIL_REPLACE 0x00020000 -#define SiS_SPASS_ZFAIL_INVERT 0x00050000 -#define SiS_SPASS_ZFAIL_INCR 0x00060000 -#define SiS_SPASS_ZFAIL_DECR 0x00070000 - -#define SiS_SPASS_ZPASS_KEEP 0x00000000 -#define SiS_SPASS_ZPASS_ZERO 0x00001000 -#define SiS_SPASS_ZPASS_REPLACE 0x00002000 -#define SiS_SPASS_ZPASS_INVERT 0x00005000 -#define SiS_SPASS_ZPASS_INCR 0x00006000 -#define SiS_SPASS_ZPASS_DECR 0x00007000 - -/* - * REG_3D_DstBlendMode (0x8A50 - 0x8A53) - */ -#define MASK_SrcBlendMode 0x0000000F -#define MASK_DstBlendMode 0x000000F0 - -#define SiS_D_ZERO 0x00000000 -#define SiS_D_ONE 0x00000010 -#define SiS_D_SRC_COLOR 0x00000020 -#define SiS_D_ONE_MINUS_SRC_COLOR 0x00000030 -#define SiS_D_SRC_ALPHA 0x00000040 -#define SiS_D_ONE_MINUS_SRC_ALPHA 0x00000050 -#define SiS_D_DST_ALPHA 0x00000060 -#define SiS_D_ONE_MINUS_DST_ALPHA 0x00000070 -#define SiS_D_DST_COLOR 0x00000080 -#define SiS_D_ONE_MINUS_DST_COLOR 0x00000090 -#define SiS_D_SRC_ALPHA_SAT 0x000000a0 - -#define SiS_S_ZERO 0x00000000 -#define SiS_S_ONE 0x00000001 -#define SiS_S_SRC_COLOR 0x00000002 -#define SiS_S_ONE_MINUS_SRC_COLOR 0x00000003 -#define SiS_S_SRC_ALPHA 0x00000004 -#define SiS_S_ONE_MINUS_SRC_ALPHA 0x00000005 -#define SiS_S_DST_ALPHA 0x00000006 -#define SiS_S_ONE_MINUS_DST_ALPHA 0x00000007 -#define SiS_S_DST_COLOR 0x00000008 -#define SiS_S_ONE_MINUS_DST_COLOR 0x00000009 -#define SiS_S_SRC_ALPHA_SATURATE 0x0000000a -#define SiS_S_BOTH_SRC_ALPHA 0x0000000b -#define SiS_S_BOTH_ONE_MINUS_SRC_ALPHA 0x0000000c - -/* - * REG_3D_DstBlendMode (0x8A54 - 0x8A57) - */ -#define MASK_BottomClip 0x00001FFF -#define MASK_TopClip 0x03FFE000 - -/* - * REG_3D_DstBlendMode (0x8A58 - 0x8A5B) - */ -#define MASK_RightClip 0x00001FFF -#define MASK_LeftClip 0x03FFE000 - -/* - * REG_3D_TextureSet (0x8A7C - 0x8A7F) - * REG_3D_Texture1Set (0x8ADC - 0x8ADF) - */ -#define MASK_TextureHeight 0x0000000F -#define MASK_TextureWidth 0x000000F0 -#define MASK_TextureLevel 0x00000F00 -#define MASK_TextureSignYUVFormat 0x00001000 -#define MASK_TextureMappingMode 0x00FF0000 -#define MASK_TextureWrapU 0x00010000 -#define MASK_TextureWrapV 0x00020000 -#define MASK_TextureMirrorU 0x00040000 -#define MASK_TextureMirrorV 0x00080000 -#define MASK_TextureClampU 0x00100000 -#define MASK_TextureClampV 0x00200000 -#define MASK_TextureBorderU 0x00400000 -#define MASK_TextureBorderV 0x00800000 -#define MASK_TextureFormat 0xFF000000 -#define MASK_TextureBitDepth 0x70000000 -#define MASK_TextureRgbOrder 0x80000000 - -#define TEXEL_INDEX1 0x00000000 -#define TEXEL_INDEX2 0x01000000 -#define TEXEL_INDEX4 0x02000000 -#define TEXEL_INDEX8 0x03000000 - -#define TEXEL_INDEX1WithAlpha 0x04000000 -#define TEXEL_INDEX2WithAlpha 0x05000000 -#define TEXEL_INDEX4WithAlpha 0x06000000 -#define TEXEL_INDEX8WithAlpha 0x07000000 - -#define TEXEL_I1 0x10000000 -#define TEXEL_I2 0x11000000 -#define TEXEL_I4 0x12000000 -#define TEXEL_I8 0x13000000 - -#define TEXEL_DXT1 0x19000000 -#define TEXEL_DXT2 0x1A000000 -#define TEXEL_DXT3 0x1B000000 - -#define TEXEL_YUV422 0x20000000 -#define TEXEL_YVU422 0x21000000 -#define TEXEL_UVY422 0x22000000 -#define TEXEL_VUY422 0x23000000 -#define TEXEL_YUV411 0x24000000 - -#define TEXEL_L1 0x30000000 -#define TEXEL_L2 0x31000000 -#define TEXEL_L4 0x32000000 -#define TEXEL_L8 0x33000000 - -#define TEXEL_AL11 0x34000000 -#define TEXEL_AL44 0x35000000 -#define TEXEL_AL26 0x37000000 -#define TEXEL_AL88 0x38000000 - -#define TEXEL_A1 0x40000000 -#define TEXEL_A2 0x41000000 -#define TEXEL_A4 0x42000000 -#define TEXEL_A8 0x43000000 - -#define TEXEL_RGB_332_8 0x50000000 -#define TEXEL_RGB_233_8 0x51000000 -#define TEXEL_RGB_232_8 0x52000000 -#define TEXEL_ARGB_1232_8 0x53000000 -#define TEXEL_ARGB_2222_8 0x54000000 - -#define TEXEL_RGB_555_16 0x60000000 -#define TEXEL_RGB_565_16 0x61000000 -#define TEXEL_ARGB_1555_16 0x62000000 -#define TEXEL_ARGB_4444_16 0x63000000 - -#define TEXEL_ARGB_1888_32 0x70000000 -#define TEXEL_ARGB_2888_32 0x71000000 -#define TEXEL_ARGB_4888_32 0x72000000 -#define TEXEL_ARGB_8888_32 0x73000000 -#define TEXEL_ARGB_0888_32 0x74000000 - -#define TEXEL_BGR_332_8 0xD0000000 -#define TEXEL_BGR_233_8 0xD1000000 -#define TEXEL_BGR_232_8 0xD2000000 -#define TEXEL_ABGR_1232_8 0xD3000000 -#define TEXEL_ABGR_2222_8 0xD4000000 - -#define TEXEL_BGR_555_16 0xE0000000 -#define TEXEL_BGR_565_16 0xE1000000 -#define TEXEL_ABGR_1555_16 0xE2000000 -#define TEXEL_ABGR_4444_16 0xE3000000 - -#define TEXEL_ABGR_1888_32 0xF0000000 -#define TEXEL_ABGR_2888_32 0xF1000000 -#define TEXEL_ABGR_4888_32 0xF2000000 -#define TEXEL_ABGR_8888_32 0xF3000000 -#define TEXEL_ABGR_0888_32 0xF4000000 - -#define TEXEL_VU88 0x00000000 -#define TEXEL_LVU655 0x00800000 -#define TEXEL_LVU888 0x01000000 -#define TEXEL_UV88 0x02000000 -#define TEXEL_LUV655 0x02800000 -#define TEXEL_LUV888 0x03000000 - -/* - * REG_3D_TextureMip (0x8A80 - 0x8A83) - * REG_3D_Texture1Mip (0x8AE0 - 0x8AE3) - */ -#define MASK_TextureAnisotropyRatio 0x0000000F -#define MASK_TextureMipmapLodBias 0x00003FF0 -#define MASK_TextureFilterMin 0x0001C000 -#define MASK_TextureFilterMag 0x00020000 -#define MASK_TextureFilter 0x0003C000 -#define MASK_TextureLevelInSystem 0x3FFC0000 -#define MASK_TextureLevel0InSystem 0x00040000 -#define MASK_TextureBlockLength 0xF0000000 - -#define TEXTURE_FILTER_NEAREST 0x00000000 -#define TEXTURE_FILTER_LINEAR 0x00004000 -#define TEXTURE_FILTER_NEAREST_MIP_NEAREST 0x00008000 -#define TEXTURE_FILTER_NEAREST_MIP_LINEAR 0x00010000 -#define TEXTURE_FILTER_LINEAR_MIP_NEAREST 0x0000c000 -#define TEXTURE_FILTER_LINEAR_MIP_LINEAR 0x00014000 - -/* - * REG_3D_TextureTransparencyColorHigh (0x8A84 - 0x8A87) - * REG_3D_Texture1TransparencyColorHigh (0x8AE4 - 0x8AE7) - */ -#define MASK_TextureTransparencyColorHighB 0x000000FF -#define MASK_TextureTransparencyColorHighG 0x0000FF00 -#define MASK_TextureTransparencyColorHighR 0x00FF0000 -#define MASK_TextureAlphaTransparencyMode 0x08000000 - -/* - * REG_3D_TextureTransparencyColorLow (0x8A88 - 0x8A8B) - * REG_3D_Texture1TransparencyColorLow (0x8AE8 - 0x8AEB) - */ -#define MASK_TextureTransparencyColorLowB 0x000000FF -#define MASK_TextureTransparencyColorLowG 0x0000FF00 -#define MASK_TextureTransparencyColorLowR 0x00FF0000 -#define MASK_TextureBlockHeight 0x07000000 -#define MASK_TextureBlockWidth 0x70000000 - -/* - * REG_3D_TextureTransparencyColorLow (0x8A8C - 0x8A8F) - * REG_3D_Texture1TransparencyColorLow (0x8AEC - 0x8AEF) - */ -#define MASK_TextureBorderColorB 0x000000FF -#define MASK_TextureBorderColorG 0x0000FF00 -#define MASK_TextureBorderColorR 0x00FF0000 -#define MASK_TextureBorderColorA 0xFF000000 - -/* - * REG_3D_TexturePitch0-10 (0x8AC0 - 0x8AD7) - * REG_3D_Texture1Pitch0-10 (0x8B20 - 0x8B37) - */ -#define MASK_TexturePitchOdd 0x000003FF -#define MASK_TexturePitchEven 0x03FF0000 -#define SHIFT_TexturePitchEven 16 - -/* - * REG_3D_TextureColorBlendSet0 (0x8B40 - 0x8B43) - * REG_3D_TextureColorBlendSet1 (0x8B44 - 0x8B46) - * REG_3D_TextureAlphaBlendSet0 (0x8B40 - 0x8B43) - * REG_3D_TextureAlphaBlendSet1 (0x8B44 - 0x8B46) - */ -#define STAGE0_C_CF 0xa1485000 -#define STAGE0_C_CS 0xc1485000 -#define STAGE0_C_CFCS 0xa1705000 -#define STAGE0_C_CFOMAS_CSAS 0xc534c001 -#define STAGE0_C_CFOMCS_CCCS 0x4530c001 - -#define STAGE0_A_AF 0x63230000 -#define STAGE0_A_AS 0xc3230000 -#define STAGE0_A_AFAS 0x63c30000 -#define STAGE0_A_AFOMAS_ACAS 0x46c60001 - -#define STAGE1_C_CF 0xa1485000 -#define STAGE1_C_CS 0xe1485000 -#define STAGE1_C_CFCS 0xa1785000 -#define STAGE1_C_CFOMAS_CSAS 0xe5394001 -#define STAGE1_C_CFOMCS_CCCS 0x45394001 - -#define STAGE1_A_AF 0xa3230000 -#define STAGE1_A_AS 0xe3230000 -#define STAGE1_A_AFAS 0xa3e30000 -#define STAGE1_A_AFOMAS_ACAS 0x4aea0001 - -/* What registers are these associated with? */ -#define MASK_BMMemoryInSystem 0x00000080 -#define MASK_BMHeight 0x00000F00 -#define MASK_BMWidth 0x0000F000 -#define MASK_BMFilter 0x00010000 -#define MASK_BMMappingMode 0x007E0000 -#define MASK_BMFormat 0x07800000 -#define MASK_BMTxBumpmap 0x08000000 - -#define MASK_BMAddress 0xFFFFFFFC - -#define MASK_BMOffset 0xFF800000 -#define MASK_BMScale 0x007FE000 -#define MASK_BMPitch 0x00001FFF - -#define MASK_BMMatrix00 0x000007FF -#define MASK_BMMatrix01 0x07FF0000 -#define MASK_BMMatrix10 0x000007FF -#define MASK_BMMatrix11 0x07FF0000 - -#define MASK_TextureRealInSystem 0x00000001 -#define MASK_TextureDowngrade 0x00000002 - -#define ALPHA_BUFFER_FORMAT_1 0x00000000 -#define ALPHA_BUFFER_FORMAT_2 0x10000000 -#define ALPHA_BUFFER_FORMAT_4 0x20000000 -#define ALPHA_BUFFER_FORMAT_8 0x30000000 - -#endif diff --git a/xorg-server/hw/kdrive/sis300/sis_stub.c b/xorg-server/hw/kdrive/sis300/sis_stub.c deleted file mode 100644 index bce7d02d2..000000000 --- a/xorg-server/hw/kdrive/sis300/sis_stub.c +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Copyright © 2003 Eric Anholt - * - * 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. - */ - -#ifdef HAVE_CONFIG_H -#include -#endif -#include "sis.h" -#include "klinux.h" - -extern struct pci_id_entry sis_pci_ids[]; - -void -InitCard(char *name) -{ - struct pci_id_entry *id; - KdCardAttr attr; - - for (id = sis_pci_ids; id->name != NULL; id++) { - int j = 0; - while (LinuxFindPci(id->vendor, id->device, j++, &attr)) - KdCardInfoAdd(&SiSFuncs, &attr, 0); - } -} - -void -InitOutput(ScreenInfo *pScreenInfo, int argc, char **argv) -{ - KdInitOutput(pScreenInfo, argc, argv); -} - -void -InitInput(int argc, char **argv) -{ - KdOsAddInputDrivers(); - KdInitInput(); -} - -void -ddxUseMsg (void) -{ - KdUseMsg(); -#ifdef KDRIVEVESA - vesaUseMsg(); -#endif -} - -int -ddxProcessArgument(int argc, char **argv, int i) -{ - int ret; - -#ifdef KDRIVEVESA - if (!(ret = vesaProcessArgument (argc, argv, i))) -#endif - ret = KdProcessArgument(argc, argv, i); - - return ret; -} diff --git a/xorg-server/hw/kdrive/smi/Makefile.am b/xorg-server/hw/kdrive/smi/Makefile.am deleted file mode 100644 index bd7077c56..000000000 --- a/xorg-server/hw/kdrive/smi/Makefile.am +++ /dev/null @@ -1,41 +0,0 @@ -INCLUDES = \ - -I$(top_srcdir)/hw/kdrive/fbdev \ - -I$(top_srcdir)/hw/kdrive/vesa \ - @KDRIVE_INCS@ \ - @KDRIVE_CFLAGS@ - -bin_PROGRAMS = Xsmi - -noinst_LIBRARIES = libsmi.a - -# smivideo.c # not ready yet - -libsmi_a_SOURCES = \ - smi.c \ - smi.h \ - smidraw.c \ - smidraw.h - -Xsmi_SOURCES = \ - smistub.c - -SMI_LIBS = \ - libsmi.a \ - $(top_builddir)/hw/kdrive/fbdev/libfbdev.a \ - $(top_builddir)/hw/kdrive/vesa/libvesa.a \ - @KDRIVE_LIBS@ - -if GLX -Xsmi_LDFLAGS = $(LD_EXPORT_SYMBOLS_FLAG) -endif - -Xsmi_LDADD = \ - $(SMI_LIBS) \ - @KDRIVE_LIBS@ - -Xsmi_DEPENDENCIES = \ - libsmi.a \ - @KDRIVE_LOCAL_LIBS@ - -relink: - rm -f $(bin_PROGRAMS) && make $(bin_PROGRAMS) diff --git a/xorg-server/hw/kdrive/smi/Makefile.in b/xorg-server/hw/kdrive/smi/Makefile.in deleted file mode 100644 index 843e245a4..000000000 --- a/xorg-server/hw/kdrive/smi/Makefile.in +++ /dev/null @@ -1,723 +0,0 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008 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 = Xsmi$(EXEEXT) -subdir = hw/kdrive/smi -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 -libsmi_a_AR = $(AR) $(ARFLAGS) -libsmi_a_LIBADD = -am_libsmi_a_OBJECTS = smi.$(OBJEXT) smidraw.$(OBJEXT) -libsmi_a_OBJECTS = $(am_libsmi_a_OBJECTS) -am__installdirs = "$(DESTDIR)$(bindir)" -binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) -PROGRAMS = $(bin_PROGRAMS) -am_Xsmi_OBJECTS = smistub.$(OBJEXT) -Xsmi_OBJECTS = $(am_Xsmi_OBJECTS) -am__DEPENDENCIES_1 = libsmi.a \ - $(top_builddir)/hw/kdrive/fbdev/libfbdev.a \ - $(top_builddir)/hw/kdrive/vesa/libvesa.a -Xsmi_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(Xsmi_LDFLAGS) \ - $(LDFLAGS) -o $@ -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include -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 = $(libsmi_a_SOURCES) $(Xsmi_SOURCES) -DIST_SOURCES = $(libsmi_a_SOURCES) $(Xsmi_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@ -DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ -DRI2PROTO_LIBS = @DRI2PROTO_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@ -DSYMUTIL = @DSYMUTIL@ -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@ -GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ -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@ -LAUNCHD = @LAUNCHD@ -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@ -NMEDIT = @NMEDIT@ -OBJC = @OBJC@ -OBJCCLD = @OBJCCLD@ -OBJCDEPMODE = @OBJCDEPMODE@ -OBJCFLAGS = @OBJCFLAGS@ -OBJCLINK = @OBJCLINK@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ -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@ -PCIACCESS_CFLAGS = @PCIACCESS_CFLAGS@ -PCIACCESS_LIBS = @PCIACCESS_LIBS@ -PCI_TXT_IDS_PATH = @PCI_TXT_IDS_PATH@ -PERL = @PERL@ -PKG_CONFIG = @PKG_CONFIG@ -PROJECTROOT = @PROJECTROOT@ -PS2PDF = @PS2PDF@ -RANLIB = @RANLIB@ -RAWCPP = @RAWCPP@ -RAWCPPFLAGS = @RAWCPPFLAGS@ -SED = @SED@ -SERVER_MISC_CONFIG_PATH = @SERVER_MISC_CONFIG_PATH@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ -SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ -STRIP = @STRIP@ -TSLIB_CFLAGS = @TSLIB_CFLAGS@ -TSLIB_LIBS = @TSLIB_LIBS@ -UTILS_SYS_LIBS = @UTILS_SYS_LIBS@ -VENDOR_MAN_VERSION = @VENDOR_MAN_VERSION@ -VENDOR_NAME = @VENDOR_NAME@ -VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ -VENDOR_RELEASE = @VENDOR_RELEASE@ -VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ -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_CFLAGS = @XDMX_CFLAGS@ -XDMX_LIBS = @XDMX_LIBS@ -XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ -XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ -XEPHYR_INCS = @XEPHYR_INCS@ -XEPHYR_LIBS = @XEPHYR_LIBS@ -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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ -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@ -XNEST_SYS_LIBS = @XNEST_SYS_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_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@ -XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_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@ -XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ -XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ -XTSTEXAMPLES_DEP_LIBS = @XTSTEXAMPLES_DEP_LIBS@ -XVFB_LIBS = @XVFB_LIBS@ -XVFB_SYS_LIBS = @XVFB_SYS_LIBS@ -XWINMODULES_CFLAGS = @XWINMODULES_CFLAGS@ -XWINMODULES_LIBS = @XWINMODULES_LIBS@ -XWIN_LIBS = @XWIN_LIBS@ -XWIN_SERVER_NAME = @XWIN_SERVER_NAME@ -XWIN_SYS_LIBS = @XWIN_SYS_LIBS@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -__XCONFIGFILE__ = @__XCONFIGFILE__@ -abi_ansic = @abi_ansic@ -abi_extension = @abi_extension@ -abi_font = @abi_font@ -abi_videodrv = @abi_videodrv@ -abi_xinput = @abi_xinput@ -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@ -launchagentsdir = @launchagentsdir@ -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_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ -INCLUDES = \ - -I$(top_srcdir)/hw/kdrive/fbdev \ - -I$(top_srcdir)/hw/kdrive/vesa \ - @KDRIVE_INCS@ \ - @KDRIVE_CFLAGS@ - -noinst_LIBRARIES = libsmi.a - -# smivideo.c # not ready yet -libsmi_a_SOURCES = \ - smi.c \ - smi.h \ - smidraw.c \ - smidraw.h - -Xsmi_SOURCES = \ - smistub.c - -SMI_LIBS = \ - libsmi.a \ - $(top_builddir)/hw/kdrive/fbdev/libfbdev.a \ - $(top_builddir)/hw/kdrive/vesa/libvesa.a \ - @KDRIVE_LIBS@ - -@GLX_TRUE@Xsmi_LDFLAGS = $(LD_EXPORT_SYMBOLS_FLAG) -Xsmi_LDADD = \ - $(SMI_LIBS) \ - @KDRIVE_LIBS@ - -Xsmi_DEPENDENCIES = \ - libsmi.a \ - @KDRIVE_LOCAL_LIBS@ - -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/kdrive/smi/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign hw/kdrive/smi/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) -libsmi.a: $(libsmi_a_OBJECTS) $(libsmi_a_DEPENDENCIES) - -rm -f libsmi.a - $(libsmi_a_AR) libsmi.a $(libsmi_a_OBJECTS) $(libsmi_a_LIBADD) - $(RANLIB) libsmi.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) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ - $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --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 -Xsmi$(EXEEXT): $(Xsmi_OBJECTS) $(Xsmi_DEPENDENCIES) - @rm -f Xsmi$(EXEEXT) - $(Xsmi_LINK) $(Xsmi_OBJECTS) $(Xsmi_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/smi.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/smidraw.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/smistub.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; nonemtpy = 1; } \ - END { if (nonempty) { 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; nonempty = 1; } \ - END { if (nonempty) { 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=; \ - 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; nonempty = 1; } \ - END { if (nonempty) { 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) -installdirs: - for dir in "$(DESTDIR)$(bindir)"; 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-dvi: install-dvi-am - -install-exec-am: install-binPROGRAMS - -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-binPROGRAMS - -.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-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-binPROGRAMS - - -relink: - rm -f $(bin_PROGRAMS) && make $(bin_PROGRAMS) -# 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/xorg-server/hw/kdrive/smi/smi.c b/xorg-server/hw/kdrive/smi/smi.c deleted file mode 100644 index 7d4d725c7..000000000 --- a/xorg-server/hw/kdrive/smi/smi.c +++ /dev/null @@ -1,343 +0,0 @@ -/* - * Copyright © 2001 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 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. - */ - -#ifdef HAVE_CONFIG_H -#include -#endif -#include "smi.h" -#include "kaa.h" -#include - -static Bool -smiCardInit (KdCardInfo *card) -{ - SmiCardInfo *smic; - - ENTER (); - smic = (SmiCardInfo *) xalloc (sizeof (SmiCardInfo)); - if (!smic) - return FALSE; - memset (smic, '\0', sizeof (SmiCardInfo)); - - (void) smiMapReg (card, smic); - - if (!subInitialize (card, &smic->sub)) - { - xfree (smic); - return FALSE; - } - - card->driver = smic; - LEAVE(); - return TRUE; -} - -static Bool -smiScreenInit (KdScreenInfo *screen) -{ - SmiCardInfo *smic = screen->card->driver; - SmiScreenInfo *smis; - - ENTER(); - smis = (SmiScreenInfo *) xalloc (sizeof (SmiScreenInfo)); - if (!smis) - return FALSE; - memset (smis, '\0', sizeof (SmiScreenInfo)); - screen->driver = smis; - if (!subScreenInitialize (screen, &smis->sub)) - { - xfree (smis); - return FALSE; - } - if (!smic->reg_base) - screen->dumb = TRUE; - screen->softCursor = TRUE; -#if SMI_VESA - smis->screen = smis->sub.fb; -#else - smis->screen = smic->sub.fb; -#endif - LEAVE(); - return TRUE; -} - -static Bool -smiInitScreen (ScreenPtr pScreen) -{ - Bool ret; - ENTER (); -#if 0 -#ifdef XV - KdScreenPriv(pScreen); - SmiCardInfo *smic = pScreenPriv->screen->card->driver; - if (smic->media_reg && smic->reg) - smiInitVideo(pScreen); -#endif -#endif - ret = subInitScreen (pScreen); - LEAVE(); - return ret; -} - -#ifdef RANDR -static Bool -smiRandRSetConfig (ScreenPtr pScreen, - Rotation randr, - int rate, - RRScreenSizePtr pSize) -{ - Bool ret; - - ENTER (); - kaaWaitSync (pScreen); - - ret = subRandRSetConfig (pScreen, randr, rate, pSize); - LEAVE(); - return ret; -} - -static Bool -smiRandRInit (ScreenPtr pScreen) -{ - rrScrPriv(pScreen); - - ENTER (); - pScrPriv->rrSetConfig = smiRandRSetConfig; - LEAVE (); - return TRUE; -} -#endif - -static Bool -smiFinishInitScreen (ScreenPtr pScreen) -{ - Bool ret; - ret = subFinishInitScreen (pScreen); -#ifdef RANDR - smiRandRInit (pScreen); -#endif - return ret; -} - -void -smiPreserve (KdCardInfo *card) -{ - ENTER (); - subPreserve(card); - LEAVE(); -} - -Bool -smiMapReg (KdCardInfo *card, SmiCardInfo *smic) -{ - ENTER (); - smic->io_base = 0; /* only handles one SMI card at standard VGA address */ - smic->reg_base = (CARD8 *) KdMapDevice (SMI_REG_BASE(card), - SMI_REG_SIZE(card)); - - if (!smic->reg_base) - { - smic->dpr = 0; - return FALSE; - } - - KdSetMappedMode (SMI_REG_BASE(card), - SMI_REG_SIZE(card), - KD_MAPPED_MODE_REGISTERS); - smic->dpr = (DPR *) (smic->reg_base + SMI_DPR_OFF(card)); - LEAVE (); - return TRUE; -} - -void -smiUnmapReg (KdCardInfo *card, SmiCardInfo *smic) -{ - ENTER (); - if (smic->reg_base) - { - KdResetMappedMode (SMI_REG_BASE(card), - SMI_REG_SIZE(card), - KD_MAPPED_MODE_REGISTERS); - KdUnmapDevice ((void *) smic->reg_base, SMI_REG_SIZE(card)); - smic->reg_base = 0; - smic->dpr = 0; - } - LEAVE (); -} - -void -smiOutb (CARD16 port, CARD8 val) -{ - asm volatile ("outb %b0,%w1" : : "a" (val), "d" (port)); -} - -CARD8 -smiInb (CARD16 port) -{ - CARD8 v; - asm volatile ("inb %w1,%b0" : "=a" (v) : "d" (port)); - return v; -} - -CARD8 -smiGetIndex (SmiCardInfo *smic, CARD16 addr, CARD16 data, CARD8 id) -{ - smiOutb (smic->io_base + addr, id); - return smiInb (smic->io_base + data); -} - -void -smiSetIndex (SmiCardInfo *smic, CARD16 addr, CARD16 data, CARD8 id, CARD8 val) -{ - smiOutb (smic->io_base + addr, id); - smiOutb (smic->io_base + data, val); -} - -void -smiSetMMIO (KdCardInfo *card, SmiCardInfo *smic) -{ - ENTER (); - if (!smic->reg_base) - smiMapReg (card, smic); - LEAVE(); -} - -void -smiResetMMIO (KdCardInfo *card, SmiCardInfo *smic) -{ - smiUnmapReg (card, smic); -} - -static Bool -smiDPMS (ScreenPtr pScreen, int mode) -{ - Bool ret; - ENTER (); - ret = subDPMS (pScreen, mode); - LEAVE (); - return ret; -} - -Bool -smiEnable (ScreenPtr pScreen) -{ - KdScreenPriv(pScreen); - SmiCardInfo *smic = pScreenPriv->card->driver; - - ENTER (); - iopl (3); - if (!subEnable (pScreen)) - return FALSE; - - smiSetMMIO (pScreenPriv->card, smic); - smiDPMS (pScreen, KD_DPMS_NORMAL); -#if 0 -#ifdef XV - KdXVEnable (pScreen); -#endif -#endif - LEAVE (); - return TRUE; -} - -void -smiDisable (ScreenPtr pScreen) -{ - KdScreenPriv(pScreen); - SmiCardInfo *smic = pScreenPriv->card->driver; - - ENTER (); -#if 0 -#ifdef XV - KdXVDisable (pScreen); -#endif -#endif - smiResetMMIO (pScreenPriv->card, smic); - subDisable (pScreen); - LEAVE (); -} - -static void -smiRestore (KdCardInfo *card) -{ - ENTER (); - subRestore (card); - LEAVE(); -} - -static void -smiScreenFini (KdScreenInfo *screen) -{ - SmiScreenInfo *smis = (SmiScreenInfo *) screen->driver; - - ENTER (); - subScreenFini (screen); - xfree (smis); - screen->driver = 0; - LEAVE (); -} - -static void -smiCardFini (KdCardInfo *card) -{ - SmiCardInfo *smic = card->driver; - - ENTER (); - smiUnmapReg (card, smic); - subCardFini (card); - LEAVE (); -} - -#define smiCursorInit 0 /* initCursor */ -#define smiCursorEnable 0 /* enableCursor */ -#define smiCursorDisable 0 /* disableCursor */ -#define smiCursorFini 0 /* finiCursor */ -#define smiRecolorCursor 0 /* recolorCursor */ - -KdCardFuncs smiFuncs = { - smiCardInit, /* cardinit */ - smiScreenInit, /* scrinit */ - smiInitScreen, /* initScreen */ - smiFinishInitScreen, /* finishInitScreen */ - subCreateResources, /* createRes */ - smiPreserve, /* preserve */ - smiEnable, /* enable */ - smiDPMS, /* dpms */ - smiDisable, /* disable */ - smiRestore, /* restore */ - smiScreenFini, /* scrfini */ - smiCardFini, /* cardfini */ - - smiCursorInit, /* initCursor */ - smiCursorEnable, /* enableCursor */ - smiCursorDisable, /* disableCursor */ - smiCursorFini, /* finiCursor */ - smiRecolorCursor, /* recolorCursor */ - - smiDrawInit, /* initAccel */ - smiDrawEnable, /* enableAccel */ - smiDrawDisable, /* disableAccel */ - smiDrawFini, /* finiAccel */ - - subGetColors, /* getColors */ - subPutColors, /* putColors */ -}; diff --git a/xorg-server/hw/kdrive/smi/smi.h b/xorg-server/hw/kdrive/smi/smi.h deleted file mode 100644 index ef0fd110a..000000000 --- a/xorg-server/hw/kdrive/smi/smi.h +++ /dev/null @@ -1,257 +0,0 @@ -/* - * Copyright © 2001 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 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. - */ - -#ifndef _SMI_H_ -#define _SMI_H_ - -#define SMI_VESA 0 - -#if SMI_VESA -#include -#define subGetColors vesaGetColors -#define subPutColors vesaPutColors -#define subInitialize vesaInitialize -#define subScreenInitialize vesaScreenInitialize -#define subInitScreen vesaInitScreen -#define subFinishInitScreen vesaFinishInitScreen -#define subCreateResources vesaCreateResources -#define subRandRSetConfig vesaRandRSetConfig -#define subPreserve vesaPreserve -#define subEnable vesaEnable -#define subDPMS vesaDPMS -#define subRestore vesaRestore -#define subScreenFini vesaScreenFini -#define subCardFini vesaCardFini -#define subDisable vesaDisable -#define SubCardPrivRec VesaCardPrivRec -#define SubScreenPrivRec VesaScreenPrivRec -#define subUseMsg() vesaUseMsg() -#define subProcessArgument(c,v,i) vesaProcessArgument(c,v,i) -#else -#include -#define subGetColors fbdevGetColors -#define subPutColors fbdevPutColors -#define subInitialize fbdevInitialize -#define subScreenInitialize fbdevScreenInitialize -#define subInitScreen fbdevInitScreen -#define subFinishInitScreen fbdevFinishInitScreen -#define subCreateResources fbdevCreateResources -#define subRandRSetConfig fbdevRandRSetConfig -#define subPreserve fbdevPreserve -#define subEnable fbdevEnable -#define subDPMS fbdevDPMS -#define subRestore fbdevRestore -#define subScreenFini fbdevScreenFini -#define subCardFini fbdevCardFini -#define subDisable fbdevDisable -#define SubCardPrivRec FbdevPriv -#define SubScreenPrivRec FbdevScrPriv -#define subUseMsg() -#define subProcessArgument(c,v,i) 0 -#endif - -#include "kxv.h" - -#define SMI_DEBUG 0 -#if SMI_DEBUG -#define DBGOUT(fmt,a...) fprintf (stderr, fmt, ##a) -#else -#define DBGOUT(fmt,a...) -#endif - -#define ENTER() DBGOUT("Enter %s\n", __FUNCTION__) -#define LEAVE() DBGOUT("Leave %s\n", __FUNCTION__) - -/* - * offset from ioport beginning - */ - -#define SMI_IO_BASE(c) ((c)->attr.io) -#define SMI_REG_BASE(c) ((c)->attr.address[0]) -#define SMI_REG_SIZE(c) (4096) - -#define SMI_DPR_OFF(c) (0x00000) - -typedef volatile CARD8 VOL8; -typedef volatile CARD16 VOL16; -typedef volatile CARD32 VOL32; - -/* DPR reg */ -typedef struct _DPR { - VOL32 src_xy; /* 0x00 */ - VOL32 dst_xy; /* 0x04 */ - VOL32 dst_wh; /* 0x08 */ - VOL32 accel_cmd; /* 0x0c */ - VOL32 src_stride; /* 0x10 */ - VOL32 fg; /* 0x14 */ - VOL32 bg; /* 0x18 */ - VOL32 data_format; /* 0x1c */ - VOL32 transparent; /* 0x20 */ - VOL32 mask1; /* 0x24 ? */ - VOL32 mask2; /* 0x28 ? */ - VOL32 scissors_ul; /* 0x2c */ - VOL32 scissors_lr; /* 0x30 */ - VOL32 mask3; /* 0x34 */ - VOL32 mask4; /* 0x38 */ - VOL32 dst_stride; /* 0x3c */ - VOL32 unknown_40; /* 0x40 */ - VOL32 unknown_44; /* 0x44 */ -} DPR; - -#define SMI_XY(x,y) (((y) & 0x7fff) | (((x) & 0x7fff) << 16)) - -/* 2D Engine commands */ -#define SMI_TRANSPARENT_SRC 0x00000100 -#define SMI_TRANSPARENT_DEST 0x00000300 - -#define SMI_OPAQUE_PXL 0x00000000 -#define SMI_TRANSPARENT_PXL 0x00000400 - -#define SMI_MONO_PACK_8 0x00001000 -#define SMI_MONO_PACK_16 0x00002000 -#define SMI_MONO_PACK_32 0x00003000 - -#define SMI_ROP2_SRC 0x00008000 -#define SMI_ROP2_PAT 0x0000C000 -#define SMI_ROP3 0x00000000 - -#define SMI_BITBLT 0x00000000 -#define SMI_RECT_FILL 0x00010000 -#define SMI_TRAPEZOID_FILL 0x00030000 -#define SMI_SHORT_STROKE 0x00060000 -#define SMI_BRESENHAM_LINE 0x00070000 -#define SMI_HOSTBLT_WRITE 0x00080000 -#define SMI_HOSTBLT_READ 0x00090000 -#define SMI_ROTATE_BLT 0x000B0000 - -#define SMI_SRC_COLOR 0x00000000 -#define SMI_SRC_MONOCHROME 0x00400000 - -#define SMI_GRAPHICS_STRETCH 0x00800000 - -#define SMI_ROTATE_CW 0x01000000 -#define SMI_ROTATE_CCW 0x02000000 - -#define SMI_MAJOR_X 0x00000000 -#define SMI_MAJOR_Y 0x04000000 - -#define SMI_LEFT_TO_RIGHT 0x00000000 -#define SMI_RIGHT_TO_LEFT 0x08000000 - -#define SMI_COLOR_PATTERN 0x40000000 -#define SMI_MONO_PATTERN 0x00000000 - -#define SMI_QUICK_START 0x10000000 -#define SMI_START_ENGINE 0x80000000 - -#define VGA_SEQ_INDEX 0x3C4 -#define VGA_SEQ_DATA 0x3C5 - -typedef struct _smiCardInfo { - SubCardPrivRec sub; - CARD16 io_base; - CARD8 *reg_base; - DPR *dpr; - int avail; -} SmiCardInfo; - -#define getSmiCardInfo(kd) ((SmiCardInfo *) ((kd)->card->driver)) -#define smiCardInfo(kd) SmiCardInfo *smic = getSmiCardInfo(kd) - -typedef struct _smiScreenInfo { - SubScreenPrivRec sub; - CARD8 *screen; - CARD32 stride; - CARD32 data_format; - CARD8 dpr_vpr_enable; - KaaScreenInfoRec kaa; -} SmiScreenInfo; - -#define getSmiScreenInfo(kd) ((SmiScreenInfo *) ((kd)->screen->driver)) -#define smiScreenInfo(kd) SmiScreenInfo *smis = getSmiScreenInfo(kd) - -void -smiPreserve (KdCardInfo *card); - -Bool -smiMapReg (KdCardInfo *card, SmiCardInfo *smic); - -void -smiUnmapReg (KdCardInfo *card, SmiCardInfo *smic); - -void -smiOutb (CARD16 port, CARD8 val); - -CARD8 -smiInb (CARD16 port); - -CARD8 -smiGetIndex (SmiCardInfo *smic, CARD16 addr, CARD16 data, CARD8 id); - -void -smiSetIndex (SmiCardInfo *smic, CARD16 addr, CARD16 data, CARD8 id, CARD8 val); - -void -smiSetMMIO (KdCardInfo *card, SmiCardInfo *smic); - -void -smiResetMMIO (KdCardInfo *card, SmiCardInfo *smic); - -Bool -smiEnable (ScreenPtr pScreen); - -void -smiDisable (ScreenPtr pScreen); - -void -smiWaitAvail(SmiCardInfo *smic, int n); - -void -smiWaitIdle (SmiCardInfo *smic); - -Bool -smiDrawSetup (ScreenPtr pScreen); - -Bool -smiDrawInit (ScreenPtr pScreen); - -void -smiDrawReinit (ScreenPtr pScreen); - -void -smiDrawEnable (ScreenPtr pScreen); - -void -smiDrawDisable (ScreenPtr pScreen); - -void -smiDrawFini (ScreenPtr pScreen); - -CARD8 -smiReadIndex (SmiCardInfo *smic, CARD16 port, CARD8 index); - -void -smiWriteIndex (SmiCardInfo *smic, CARD16 port, CARD8 index, CARD8 value); - -extern KdCardFuncs smiFuncs; - -#endif /* _SMI_H_ */ diff --git a/xorg-server/hw/kdrive/smi/smidraw.c b/xorg-server/hw/kdrive/smi/smidraw.c deleted file mode 100644 index ba4e3904d..000000000 --- a/xorg-server/hw/kdrive/smi/smidraw.c +++ /dev/null @@ -1,340 +0,0 @@ -/* - * Copyright © 1999 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 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. - */ - -#ifdef HAVE_CONFIG_H -#include -#endif -#include "smi.h" -#include "smidraw.h" - -#include -#include "gcstruct.h" -#include "scrnintstr.h" -#include "pixmapstr.h" -#include "regionstr.h" -#include "mistruct.h" -#include "dixfontstr.h" -#include "fb.h" -#include "migc.h" -#include "miline.h" -#include "picturestr.h" -#include "kaa.h" - -CARD8 smiBltRop[16] = { - /* GXclear */ 0x00, /* 0 */ - /* GXand */ 0x88, /* src AND dst */ - /* GXandReverse */ 0x44, /* src AND NOT dst */ - /* GXcopy */ 0xcc, /* src */ - /* GXandInverted*/ 0x22, /* NOT src AND dst */ - /* GXnoop */ 0xaa, /* dst */ - /* GXxor */ 0x66, /* src XOR dst */ - /* GXor */ 0xee, /* src OR dst */ - /* GXnor */ 0x11, /* NOT src AND NOT dst */ - /* GXequiv */ 0x99, /* NOT src XOR dst */ - /* GXinvert */ 0x55, /* NOT dst */ - /* GXorReverse */ 0xdd, /* src OR NOT dst */ - /* GXcopyInverted*/ 0x33, /* NOT src */ - /* GXorInverted */ 0xbb, /* NOT src OR dst */ - /* GXnand */ 0x77, /* NOT src OR NOT dst */ - /* GXset */ 0xff, /* 1 */ -}; - -CARD8 smiSolidRop[16] = { - /* GXclear */ 0x00, /* 0 */ - /* GXand */ 0xa0, /* src AND dst */ - /* GXandReverse */ 0x50, /* src AND NOT dst */ - /* GXcopy */ 0xf0, /* src */ - /* GXandInverted*/ 0x0a, /* NOT src AND dst */ - /* GXnoop */ 0xaa, /* dst */ - /* GXxor */ 0x5a, /* src XOR dst */ - /* GXor */ 0xfa, /* src OR dst */ - /* GXnor */ 0x05, /* NOT src AND NOT dst */ - /* GXequiv */ 0xa5, /* NOT src XOR dst */ - /* GXinvert */ 0x55, /* NOT dst */ - /* GXorReverse */ 0xf5, /* src OR NOT dst */ - /* GXcopyInverted*/ 0x0f, /* NOT src */ - /* GXorInverted */ 0xaf, /* NOT src OR dst */ - /* GXnand */ 0x5f, /* NOT src OR NOT dst */ - /* GXset */ 0xff, /* 1 */ -}; - - -#define GET_STATUS(smic) smiGetIndex (smic, VGA_SEQ_INDEX, VGA_SEQ_DATA, 0x16) - -#define ENGINE_IDLE_EMPTY(smic) ((GET_STATUS(smic) & 0x18) == 0x10) -#define FIFO_EMPTY(smic) ((GET_STATUS(smic) & 0x10) == 0x10) - -#define MAX_FIFO 16 - -void -smiWaitAvail(SmiCardInfo *smic, int n) -{ - if (smic->avail < n) - { - while (!FIFO_EMPTY (smic)) - ; - smic->avail = MAX_FIFO; - } - smic->avail -= n; -} - -void -smiWaitIdle (SmiCardInfo *smic) -{ - while (!ENGINE_IDLE_EMPTY (smic)) - ; - smic->avail = MAX_FIFO; -} - -static SmiCardInfo *smic; -static SmiScreenInfo *smis; -static DPR *dpr; -static CARD32 accel_cmd; - -static Bool -smiSetup (ScreenPtr pScreen, int wait) -{ - KdScreenPriv(pScreen); - - smis = getSmiScreenInfo (pScreenPriv); - smic = getSmiCardInfo(pScreenPriv); - dpr = smic->dpr; - - if (!dpr) - return FALSE; - - /* enable DPR/VPR registers */ - smiSetIndex (smic, VGA_SEQ_INDEX, VGA_SEQ_DATA, 0x21, - smis->dpr_vpr_enable); - - smiWaitAvail (smic, wait + 9); - dpr->src_stride = (smis->stride << 16) | smis->stride; - dpr->data_format = smis->data_format; - dpr->mask1 = 0xffffffff; - dpr->mask2 = 0xffffffff; - dpr->dst_stride = (smis->stride << 16) | smis->stride; - dpr->unknown_40 = 0x0; - dpr->unknown_44 = 0x0; - dpr->scissors_ul = 0x0; - dpr->scissors_lr = SMI_XY(4095,4095); - - return TRUE; -} - -static void -smiWaitMarker (ScreenPtr pScreen, int marker) -{ - KdScreenPriv(pScreen); - smic = getSmiCardInfo(pScreenPriv); - - smiWaitIdle (smic); -} - -static Bool -smiPrepareSolid (PixmapPtr pPixmap, - int alu, - Pixel pm, - Pixel fg) -{ - if (~pm & FbFullMask(pPixmap->drawable.depth)) - return FALSE; - - if (!smiSetup (pPixmap->drawable.pScreen, 3)) - return FALSE; - - accel_cmd = smiSolidRop[alu] | SMI_BITBLT | SMI_START_ENGINE; - dpr->fg = fg; - dpr->mask3 = 0xffffffff; - dpr->mask4 = 0xffffffff; - return TRUE; -} - -static void -smiSolid (int x1, int y1, int x2, int y2) -{ - smiWaitAvail(smic,3); - dpr->dst_xy = SMI_XY(x1,y1); - dpr->dst_wh = SMI_XY(x2-x1,y2-y1); - dpr->accel_cmd = accel_cmd; -} - -static void -smiDoneSolid (void) -{ -} - -static int copyDx; -static int copyDy; - -static Bool -smiPrepareCopy (PixmapPtr pSrcPixmap, - PixmapPtr pDstPixmap, - int dx, - int dy, - int alu, - Pixel pm) -{ - if (~pm & FbFullMask(pSrcPixmap->drawable.depth)) - return FALSE; - - if (!smiSetup (pSrcPixmap->drawable.pScreen, 0)) - return FALSE; - - accel_cmd = smiBltRop[alu] | SMI_BITBLT | SMI_START_ENGINE; - - copyDx = dx; - copyDy = dy; - if (dy < 0 || (dy == 0 && dx < 0)) - accel_cmd |= SMI_RIGHT_TO_LEFT; - return TRUE; -} - -static void -smiCopy (int srcX, - int srcY, - int dstX, - int dstY, - int w, - int h) -{ - if (accel_cmd & SMI_RIGHT_TO_LEFT) - { - srcX += w - 1; - dstX += w - 1; - srcY += h - 1; - dstY += h - 1; - } - smiWaitAvail (smic, 4); - dpr->src_xy = SMI_XY (srcX, srcY); - dpr->dst_xy = SMI_XY (dstX, dstY); - dpr->dst_wh = SMI_XY (w, h); - dpr->accel_cmd = accel_cmd; -} - -static void -smiDoneCopy (void) -{ -} - - -Bool -smiDrawInit (ScreenPtr pScreen) -{ - KdScreenPriv(pScreen); - smiCardInfo (pScreenPriv); - - ENTER (); - if (pScreenPriv->screen->fb[0].depth == 4) - { - LEAVE (); - return FALSE; - } - - if (!smic->dpr) - { - LEAVE (); - return FALSE; - } - - memset(&smis->kaa, 0, sizeof(KaaScreenInfoRec)); - smis->kaa.PrepareSolid = smiPrepareSolid; - smis->kaa.Solid = smiSolid; - smis->kaa.DoneSolid = smiDoneSolid; - smis->kaa.PrepareCopy = smiPrepareCopy; - smis->kaa.Copy = smiCopy; - smis->kaa.DoneCopy = smiDoneCopy; - smis->kaa.waitMarker = smiWaitMarker; - - if (!kaaDrawInit (pScreen, &smis->kaa)) - { - LEAVE (); - return FALSE; - } - - LEAVE (); - return TRUE; -} - -void -smiDrawEnable (ScreenPtr pScreen) -{ - KdScreenPriv(pScreen); - int i; - static const int xyAddress[] = { 320, 400, 512, 640, 800, 1024, 1280, 1600, 2048 }; - - ENTER (); - smis = getSmiScreenInfo (pScreenPriv); - smic = getSmiCardInfo(pScreenPriv); - dpr = smic->dpr; - - smis->stride = pScreenPriv->screen->fb[0].byteStride; - smis->dpr_vpr_enable = smiGetIndex (smic, VGA_SEQ_INDEX, - VGA_SEQ_DATA, 0x21) & ~0x03; - - switch (pScreenPriv->screen->fb[0].depth) { - case 8: - smis->data_format = 0x00000000; - break; - case 15: - case 16: - smis->data_format = 0x00100000; - smis->stride >>= 1; - break; - case 24: - smis->data_format = 0x00300000; - break; - case 32: - smis->data_format = 0x00200000; - smis->stride >>= 2; - break; - } - for (i = 0; i < sizeof(xyAddress) / sizeof(xyAddress[0]); i++) - { - if (xyAddress[i] == pScreenPriv->screen->fb[0].pixelStride) - { - smis->data_format |= i << 16; - break; - } - } - - smiSetup (pScreen, 0); - kaaMarkSync (pScreen); - LEAVE (); -} - -void -smiDrawDisable (ScreenPtr pScreen) -{ - ENTER (); - smic = 0; - smis = 0; - dpr = 0; - accel_cmd = 0; - LEAVE (); -} - -void -smiDrawFini (ScreenPtr pScreen) -{ - ENTER (); - LEAVE (); -} diff --git a/xorg-server/hw/kdrive/smi/smidraw.h b/xorg-server/hw/kdrive/smi/smidraw.h deleted file mode 100644 index 4165c7406..000000000 --- a/xorg-server/hw/kdrive/smi/smidraw.h +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Copyright © 1999 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 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. - */ - -#ifndef _SMIDRAW_H_ -#define _SMIDRAW_H_ - -#define SetupSmi(s) KdScreenPriv(s); \ - smiCardInfo(pScreenPriv); \ - Cop *cop = smic->cop - -#define SmiAlpha (COP_MULTI_ALPHA|COP_ALPHA_WRITE_ENABLE) - -#define _smiInit(cop,smic) { \ - if ((cop)->status == 0xffffffff) smiSetMMIO(smic); \ - (cop)->multi = (smic)->cop_depth; \ - (cop)->multi = (smic)->cop_stride; \ - (cop)->multi = SmiAlpha; \ -} \ - -#define _smiSetSolidRect(cop,pix,alu,cmd) {\ - cop->multi = COP_MULTI_PATTERN; \ - cop->multi = COP_MULTI_ROP | smiRop[alu]; \ - cop->fg = (pix); \ - cmd = COP_OP_BLT | COP_SCL_OPAQUE | COP_OP_ROP | COP_OP_FG; \ -} - -#define _smiRect(cop,x1,y1,x2,y2,cmd) { \ - (cop)->dst_start_xy = TRI_XY (x1,y1); \ - (cop)->dst_end_xy = TRI_XY(x2,y2); \ - _smiWaitDone(cop); \ - (cop)->command = (cmd); \ -} - -#define COP_STATUS_BUSY (COP_STATUS_BE_BUSY | \ - COP_STATUS_DPE_BUSY | \ - COP_STATUS_MI_BUSY) - -#define _smiWaitDone(cop) { \ - int __q__ = 500000; \ - while (__q__-- && (cop)->status & COP_STATUS_BUSY) \ - ; \ - if (!__q__) \ - (cop)->status = 0; \ -} - -#define _smiWaitIdleEmpty(cop) _smiWaitDone(cop) - -#define sourceInvarient(alu) (((alu) & 3) == (((alu) >> 2) & 3)) - -#endif diff --git a/xorg-server/hw/kdrive/smi/smistub.c b/xorg-server/hw/kdrive/smi/smistub.c deleted file mode 100644 index 59faf2839..000000000 --- a/xorg-server/hw/kdrive/smi/smistub.c +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Copyright 1999 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. - * - * Author: Keith Packard, SuSE, Inc. - */ - -#ifdef HAVE_CONFIG_H -#include -#endif -#include "smi.h" -#include "klinux.h" - -void -InitCard (char *name) -{ - KdCardAttr attr; - - if (LinuxFindPci (0x126f, 0x0720, 0, &attr)) - KdCardInfoAdd (&smiFuncs, &attr, 0); -} - -void -InitOutput (ScreenInfo *pScreenInfo, int argc, char **argv) -{ - KdInitOutput (pScreenInfo, argc, argv); -} - -void -InitInput (int argc, char **argv) -{ - KdOsAddInputDrivers (); - KdInitInput (); -} - -void -ddxUseMsg (void) -{ - KdUseMsg(); - subUseMsg(); -} - -int -ddxProcessArgument (int argc, char **argv, int i) -{ - int ret; - - if (!(ret = subProcessArgument (argc, argv, i))) - ret = KdProcessArgument(argc, argv, i); - return ret; -} diff --git a/xorg-server/hw/kdrive/src/Makefile.am b/xorg-server/hw/kdrive/src/Makefile.am index 07ab8c859..792f64a4d 100644 --- a/xorg-server/hw/kdrive/src/Makefile.am +++ b/xorg-server/hw/kdrive/src/Makefile.am @@ -12,12 +12,14 @@ KDRIVE_HW_SOURCES = \ vga.h endif +if XV +KDRIVE_XV_SOURCES = \ + kxv.c \ + kxv.h +endif + libkdrive_a_SOURCES = \ fourcc.h \ - kaa.c \ - kaa.h \ - kaapict.c \ - kasync.c \ kcmap.c \ kcurscol.c \ kdrive.c \ @@ -27,12 +29,8 @@ libkdrive_a_SOURCES = \ kkeymap.c \ kmap.c \ kmode.c \ - knoop.c \ - koffscreen.c \ kshadow.c \ - ktest.c \ - kxv.c \ - kxv.h \ + $(KDRIVE_XV_SOURCES) \ $(KDRIVE_HW_SOURCES) \ $(top_srcdir)/mi/miinitext.c diff --git a/xorg-server/hw/kdrive/src/Makefile.in b/xorg-server/hw/kdrive/src/Makefile.in index 4938456a5..3d0af42c7 100644 --- a/xorg-server/hw/kdrive/src/Makefile.in +++ b/xorg-server/hw/kdrive/src/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -43,7 +43,6 @@ 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 \ @@ -53,17 +52,15 @@ LIBRARIES = $(noinst_LIBRARIES) ARFLAGS = cru libkdrive_a_AR = $(AR) $(ARFLAGS) libkdrive_a_LIBADD = -am__libkdrive_a_SOURCES_DIST = fourcc.h kaa.c kaa.h kaapict.c kasync.c \ - kcmap.c kcurscol.c kdrive.c kdrive.h kinfo.c kinput.c \ - kkeymap.c kmap.c kmode.c knoop.c koffscreen.c kshadow.c \ - ktest.c kxv.c kxv.h vga.c vga.h $(top_srcdir)/mi/miinitext.c -@KDRIVE_HW_TRUE@am__objects_1 = vga.$(OBJEXT) -am_libkdrive_a_OBJECTS = kaa.$(OBJEXT) kaapict.$(OBJEXT) \ - kasync.$(OBJEXT) kcmap.$(OBJEXT) kcurscol.$(OBJEXT) \ +am__libkdrive_a_SOURCES_DIST = fourcc.h kcmap.c kcurscol.c kdrive.c \ + kdrive.h kinfo.c kinput.c kkeymap.c kmap.c kmode.c kshadow.c \ + kxv.c kxv.h vga.c vga.h $(top_srcdir)/mi/miinitext.c +@XV_TRUE@am__objects_1 = kxv.$(OBJEXT) +@KDRIVE_HW_TRUE@am__objects_2 = vga.$(OBJEXT) +am_libkdrive_a_OBJECTS = kcmap.$(OBJEXT) kcurscol.$(OBJEXT) \ kdrive.$(OBJEXT) kinfo.$(OBJEXT) kinput.$(OBJEXT) \ kkeymap.$(OBJEXT) kmap.$(OBJEXT) kmode.$(OBJEXT) \ - knoop.$(OBJEXT) koffscreen.$(OBJEXT) kshadow.$(OBJEXT) \ - ktest.$(OBJEXT) kxv.$(OBJEXT) $(am__objects_1) \ + kshadow.$(OBJEXT) $(am__objects_1) $(am__objects_2) \ miinitext.$(OBJEXT) libkdrive_a_OBJECTS = $(am_libkdrive_a_OBJECTS) libkdrivestubs_a_AR = $(AR) $(ARFLAGS) @@ -75,9 +72,6 @@ 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) \ @@ -93,8 +87,9 @@ ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ -APPDEFAULTDIR = @APPDEFAULTDIR@ APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +APPLE_APPLICATION_ID = @APPLE_APPLICATION_ID@ +APPLE_APPLICATION_NAME = @APPLE_APPLICATION_NAME@ APP_MAN_DIR = @APP_MAN_DIR@ APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ AR = @AR@ @@ -115,10 +110,6 @@ 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@ @@ -140,6 +131,7 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOLT_BASH = @DOLT_BASH@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ @@ -149,18 +141,15 @@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ DSYMUTIL = @DSYMUTIL@ DTRACE = @DTRACE@ -ECHO = @ECHO@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ -FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ -FREETYPE_LIBS = @FREETYPE_LIBS@ GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ GLX_DEFINES = @GLX_DEFINES@ GL_CFLAGS = @GL_CFLAGS@ @@ -179,7 +168,7 @@ KDRIVE_LIBS = @KDRIVE_LIBS@ KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ -LAUNCHD = @LAUNCHD@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ LEX = @LEX@ @@ -193,7 +182,10 @@ LIBTOOL = @LIBTOOL@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LINUXDOC = @LINUXDOC@ +LIPO = @LIPO@ LN_S = @LN_S@ +LTCOMPILE = @LTCOMPILE@ +LTCXXCOMPILE = @LTCXXCOMPILE@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ @@ -205,8 +197,7 @@ MESA_SOURCE = @MESA_SOURCE@ MISC_MAN_DIR = @MISC_MAN_DIR@ MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ MKDIR_P = @MKDIR_P@ -MKFONTDIR = @MKFONTDIR@ -MKFONTSCALE = @MKFONTSCALE@ +NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCCLD = @OBJCCLD@ @@ -215,8 +206,8 @@ OBJCFLAGS = @OBJCFLAGS@ OBJCLINK = @OBJCLINK@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ @@ -249,7 +240,6 @@ VENDOR_NAME = @VENDOR_NAME@ VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ VENDOR_RELEASE = @VENDOR_RELEASE@ VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ XDMCP_CFLAGS = @XDMCP_CFLAGS@ @@ -259,27 +249,12 @@ XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@ XDMX_CFLAGS = @XDMX_CFLAGS@ XDMX_LIBS = @XDMX_LIBS@ XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ XEPHYR_INCS = @XEPHYR_INCS@ XEPHYR_LIBS = @XEPHYR_LIBS@ 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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ @@ -290,10 +265,6 @@ XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ XNEST_LIBS = @XNEST_LIBS@ XNEST_SYS_LIBS = @XNEST_SYS_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_INCS = @XORG_INCS@ XORG_LIBS = @XORG_LIBS@ @@ -302,13 +273,8 @@ XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ XORG_OS = @XORG_OS@ XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_LIBS@ +XPBPROXY_CFLAGS = @XPBPROXY_CFLAGS@ +XPBPROXY_LIBS = @XPBPROXY_LIBS@ XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ XSDL_INCS = @XSDL_INCS@ @@ -341,8 +307,7 @@ 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@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -362,7 +327,6 @@ driverdir = @driverdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ extdir = @extdir@ -ft_config = @ft_config@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ @@ -372,12 +336,12 @@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ -launchagentsdir = @launchagentsdir@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ logdir = @logdir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ moduledir = @moduledir@ @@ -395,8 +359,6 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ INCLUDES = \ @KDRIVE_INCS@ \ @KDRIVE_CFLAGS@ @@ -407,12 +369,12 @@ noinst_LIBRARIES = libkdrive.a libkdrivestubs.a @KDRIVE_HW_TRUE@ vga.c \ @KDRIVE_HW_TRUE@ vga.h +@XV_TRUE@KDRIVE_XV_SOURCES = \ +@XV_TRUE@ kxv.c \ +@XV_TRUE@ kxv.h + libkdrive_a_SOURCES = \ fourcc.h \ - kaa.c \ - kaa.h \ - kaapict.c \ - kasync.c \ kcmap.c \ kcurscol.c \ kdrive.c \ @@ -422,12 +384,8 @@ libkdrive_a_SOURCES = \ kkeymap.c \ kmap.c \ kmode.c \ - knoop.c \ - koffscreen.c \ kshadow.c \ - ktest.c \ - kxv.c \ - kxv.h \ + $(KDRIVE_XV_SOURCES) \ $(KDRIVE_HW_SOURCES) \ $(top_srcdir)/mi/miinitext.c @@ -442,8 +400,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ @@ -486,9 +444,6 @@ distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fbcmap_mi.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kaa.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kaapict.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kasync.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kcmap.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kcurscol.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kdrive.Po@am__quote@ @@ -497,10 +452,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kkeymap.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kmap.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kmode.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/knoop.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/koffscreen.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kshadow.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ktest.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kxv.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/miinitext.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vga.Po@am__quote@ @@ -565,7 +517,7 @@ ID: $(HEADERS) $(SOURCES) $(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; nonemtpy = 1; } \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS diff --git a/xorg-server/hw/kdrive/src/kaa.c b/xorg-server/hw/kdrive/src/kaa.c deleted file mode 100644 index db09e9dba..000000000 --- a/xorg-server/hw/kdrive/src/kaa.c +++ /dev/null @@ -1,1081 +0,0 @@ -/* - * Copyright © 2001 Keith Packard - * - * Partly based on code that is Copyright © 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 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. - */ - -#ifdef HAVE_CONFIG_H -#include -#endif -#include "kdrive.h" -#include "kaa.h" -#include "dixfontstr.h" - -#define DEBUG_MIGRATE 0 -#define DEBUG_PIXMAP 0 -#if DEBUG_MIGRATE -#define DBG_MIGRATE(a) ErrorF a -#else -#define DBG_MIGRATE(a) -#endif -#if DEBUG_PIXMAP -#define DBG_PIXMAP(a) ErrorF a -#else -#define DBG_PIXMAP(a) -#endif - -DevPrivateKey kaaScreenPrivateKey = &kaaScreenPrivateKey; -DevPrivateKey kaaPixmapPrivateKey = &kaaPixmapPrivateKey; - -#define KAA_PIXMAP_SCORE_MOVE_IN 10 -#define KAA_PIXMAP_SCORE_MAX 20 -#define KAA_PIXMAP_SCORE_MOVE_OUT -10 -#define KAA_PIXMAP_SCORE_MIN -20 -#define KAA_PIXMAP_SCORE_PINNED 1000 -#define KAA_PIXMAP_SCORE_INIT 1001 - -void -kaaDrawableDirty (DrawablePtr pDrawable) -{ - PixmapPtr pPixmap; - KaaPixmapPrivPtr pKaaPixmap; - - if (pDrawable->type == DRAWABLE_WINDOW) - pPixmap = (*pDrawable->pScreen->GetWindowPixmap)((WindowPtr) pDrawable); - else - pPixmap = (PixmapPtr)pDrawable; - - pKaaPixmap = KaaGetPixmapPriv(pPixmap); - if (pKaaPixmap != NULL) - pKaaPixmap->dirty = TRUE; -} - -static void -kaaPixmapSave (ScreenPtr pScreen, KdOffscreenArea *area) -{ - PixmapPtr pPixmap = area->privData; - KaaPixmapPriv(pPixmap); - int dst_pitch, src_pitch, bytes; - unsigned char *dst, *src; - int i; - - DBG_MIGRATE (("Save 0x%08x (0x%x) (%dx%d)\n", - pPixmap->drawable.id, - KaaGetPixmapPriv(pPixmap)->area ? - KaaGetPixmapPriv(pPixmap)->area->offset : -1, - pPixmap->drawable.width, - pPixmap->drawable.height)); - - src_pitch = pPixmap->devKind; - dst_pitch = pKaaPixmap->devKind; - - src = pPixmap->devPrivate.ptr; - dst = pKaaPixmap->devPrivate.ptr; - - pPixmap->devKind = dst_pitch; - pPixmap->devPrivate.ptr = dst; - pPixmap->drawable.serialNumber = NEXT_SERIAL_NUMBER; - pKaaPixmap->area = NULL; - -#if 0 - if (!pKaaPixmap->dirty) - return; -#endif - - kaaWaitSync (pPixmap->drawable.pScreen); - - bytes = src_pitch < dst_pitch ? src_pitch : dst_pitch; - - i = pPixmap->drawable.height; - while (i--) { - memcpy (dst, src, bytes); - dst += dst_pitch; - src += src_pitch; - } -} - -static int -kaaLog2(int val) -{ - int bits; - - if (!val) - return 0; - for (bits = 0; val != 0; bits++) - val >>= 1; - return bits - 1; -} - -static Bool -kaaPixmapAllocArea (PixmapPtr pPixmap) -{ - ScreenPtr pScreen = pPixmap->drawable.pScreen; - KaaScreenPriv (pScreen); - KaaPixmapPriv (pPixmap); - KdScreenPriv (pScreen); - int bpp = pPixmap->drawable.bitsPerPixel; - CARD16 h = pPixmap->drawable.height; - CARD16 w = pPixmap->drawable.width; - int pitch; - - if (pKaaScr->info->flags & KAA_OFFSCREEN_ALIGN_POT && w != 1) - w = 1 << (kaaLog2(w - 1) + 1); - pitch = (w * bpp / 8 + pKaaScr->info->pitchAlign - 1) & - ~(pKaaScr->info->pitchAlign - 1); - - pKaaPixmap->devKind = pPixmap->devKind; - pKaaPixmap->devPrivate = pPixmap->devPrivate; - pKaaPixmap->area = KdOffscreenAlloc (pScreen, pitch * h, - pKaaScr->info->offsetAlign, - FALSE, - kaaPixmapSave, (pointer) pPixmap); - if (!pKaaPixmap->area) - return FALSE; - - DBG_PIXMAP(("++ 0x%08x (0x%x) (%dx%d)\n", - pPixmap->drawable.id, - KaaGetPixmapPriv(pPixmap)->area ? - KaaGetPixmapPriv(pPixmap)->area->offset : -1, - pPixmap->drawable.width, - pPixmap->drawable.height)); - pPixmap->devKind = pitch; - pPixmap->devPrivate.ptr = (pointer) ((CARD8 *) pScreenPriv->screen->memory_base + pKaaPixmap->area->offset); - pPixmap->drawable.serialNumber = NEXT_SERIAL_NUMBER; - return TRUE; -} - -void -kaaMoveInPixmap (PixmapPtr pPixmap) -{ - ScreenPtr pScreen = pPixmap->drawable.pScreen; - KaaScreenPriv (pScreen); - KaaPixmapPriv (pPixmap); - int dst_pitch, src_pitch, bytes; - unsigned char *dst, *src; - int i; - - DBG_MIGRATE (("-> 0x%08x (0x%x) (%dx%d)\n", - pPixmap->drawable.id, - KaaGetPixmapPriv(pPixmap)->area ? - KaaGetPixmapPriv(pPixmap)->area->offset : -1, - pPixmap->drawable.width, - pPixmap->drawable.height)); - - src = pPixmap->devPrivate.ptr; - src_pitch = pPixmap->devKind; - - if (!kaaPixmapAllocArea (pPixmap)) - return; - - pKaaPixmap->dirty = FALSE; - - if (pKaaScr->info->UploadToScreen) - { - if (pKaaScr->info->UploadToScreen(pPixmap, (char *) src, src_pitch)) - return; - } - - dst = pPixmap->devPrivate.ptr; - dst_pitch = pPixmap->devKind; - - bytes = src_pitch < dst_pitch ? src_pitch : dst_pitch; - - kaaWaitSync (pPixmap->drawable.pScreen); - - i = pPixmap->drawable.height; - while (i--) { - memcpy (dst, src, bytes); - dst += dst_pitch; - src += src_pitch; - } -} - -static void -kaaMoveOutPixmap (PixmapPtr pPixmap) -{ - KaaPixmapPriv (pPixmap); - KdOffscreenArea *area = pKaaPixmap->area; - - DBG_MIGRATE (("<- 0x%08x (0x%x) (%dx%d)\n", - pPixmap->drawable.id, - KaaGetPixmapPriv(pPixmap)->area ? - KaaGetPixmapPriv(pPixmap)->area->offset : -1, - pPixmap->drawable.width, - pPixmap->drawable.height)); - if (area) - { - kaaPixmapSave (pPixmap->drawable.pScreen, area); - KdOffscreenFree (pPixmap->drawable.pScreen, area); - } -} - -void -kaaPixmapUseScreen (PixmapPtr pPixmap) -{ - KaaPixmapPriv (pPixmap); - - if (pKaaPixmap->score == KAA_PIXMAP_SCORE_PINNED) - return; - - if (pKaaPixmap->score == KAA_PIXMAP_SCORE_INIT) { - kaaMoveInPixmap(pPixmap); - pKaaPixmap->score = 0; - } - - if (pKaaPixmap->score < KAA_PIXMAP_SCORE_MAX) - { - pKaaPixmap->score++; - if (!kaaPixmapIsOffscreen(pPixmap) && - pKaaPixmap->score >= KAA_PIXMAP_SCORE_MOVE_IN) - kaaMoveInPixmap (pPixmap); - } - KdOffscreenMarkUsed (pPixmap); -} - -void -kaaPixmapUseMemory (PixmapPtr pPixmap) -{ - KaaPixmapPriv (pPixmap); - - if (pKaaPixmap->score == KAA_PIXMAP_SCORE_PINNED) - return; - - if (pKaaPixmap->score == KAA_PIXMAP_SCORE_INIT) - pKaaPixmap->score = 0; - - if (pKaaPixmap->score > KAA_PIXMAP_SCORE_MIN) - { - pKaaPixmap->score--; - if (pKaaPixmap->area && - pKaaPixmap->score <= KAA_PIXMAP_SCORE_MOVE_OUT) - kaaMoveOutPixmap (pPixmap); - } -} - -static Bool -kaaDestroyPixmap (PixmapPtr pPixmap) -{ - if (pPixmap->refcnt == 1) - { - KaaPixmapPriv (pPixmap); - if (pKaaPixmap->area) - { - DBG_PIXMAP(("-- 0x%08x (0x%x) (%dx%d)\n", - pPixmap->drawable.id, - KaaGetPixmapPriv(pPixmap)->area->offset, - pPixmap->drawable.width, - pPixmap->drawable.height)); - /* Free the offscreen area */ - KdOffscreenFree (pPixmap->drawable.pScreen, pKaaPixmap->area); - pPixmap->devPrivate = pKaaPixmap->devPrivate; - pPixmap->devKind = pKaaPixmap->devKind; - } - } - return fbDestroyPixmap (pPixmap); -} - -static PixmapPtr -kaaCreatePixmap(ScreenPtr pScreen, int w, int h, int depth, unsigned usage_hint) -{ - PixmapPtr pPixmap; - KaaPixmapPrivPtr pKaaPixmap; - int bpp; - - bpp = BitsPerPixel (depth); - if (bpp == 32 && depth == 24) - { - int fb; - KdScreenPriv (pScreen); - - for (fb = 0; fb < KD_MAX_FB && pScreenPriv->screen->fb[fb].depth; fb++) - if (pScreenPriv->screen->fb[fb].depth == 24) - { - bpp = pScreenPriv->screen->fb[fb].bitsPerPixel; - break; - } - } - - pPixmap = fbCreatePixmapBpp (pScreen, w, h, depth, bpp, usage_hint); - if (!pPixmap) - return NULL; - pKaaPixmap = KaaGetPixmapPriv(pPixmap); - if (!w || !h) - pKaaPixmap->score = KAA_PIXMAP_SCORE_PINNED; - else - pKaaPixmap->score = KAA_PIXMAP_SCORE_INIT; - - pKaaPixmap->area = NULL; - pKaaPixmap->dirty = FALSE; - - return pPixmap; -} - -Bool -kaaPixmapIsOffscreen(PixmapPtr p) -{ - ScreenPtr pScreen = p->drawable.pScreen; - KdScreenPriv(pScreen); - - return ((unsigned long) ((CARD8 *) p->devPrivate.ptr - - (CARD8 *) pScreenPriv->screen->memory_base) < - pScreenPriv->screen->memory_size); -} - -PixmapPtr -kaaGetOffscreenPixmap (DrawablePtr pDrawable, int *xp, int *yp) -{ - PixmapPtr pPixmap; - int x, y; - - 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 (kaaPixmapIsOffscreen (pPixmap)) - return pPixmap; - else - return NULL; -} - -Bool -kaaDrawableIsOffscreen (DrawablePtr pDrawable) -{ - PixmapPtr pPixmap; - if (pDrawable->type == DRAWABLE_WINDOW) - pPixmap = (*pDrawable->pScreen->GetWindowPixmap) ((WindowPtr) pDrawable); - else - pPixmap = (PixmapPtr) pDrawable; - return kaaPixmapIsOffscreen (pPixmap); -} - -#if 0 -static void -kaaFillTiled(int dst_x, - int dst_y, - int width, - int height, - int src_x, - int src_y, - int src_width, - int src_height, - void (*Copy) (int srcX, - int srcY, - int dstX, - int dstY, - int width, - int height)) -{ - modulus (src_x, src_width, src_x); - modulus (src_y, src_height, src_y); - - while (height) - { - int dst_x_tmp = dst_x; - int src_x_tmp = src_x; - int width_tmp = width; - int height_left = src_height - src_y; - int height_this = min (height, height_left); - - while (width_tmp) - { - int width_left = src_width - src_x_tmp; - int width_this = min (width_tmp, width_left); - - (*Copy) (src_x_tmp, src_y, - dst_x_tmp, dst_y, - width_this, height_this); - - width_tmp -= width_this; - dst_x_tmp += width_this; - } - height -= height_this; - dst_y += height_this; - src_y = 0; - } -} -#endif - -static void -kaaFillSpans(DrawablePtr pDrawable, GCPtr pGC, int n, - DDXPointPtr ppt, int *pwidth, int fSorted) -{ - ScreenPtr pScreen = pDrawable->pScreen; - KdScreenPriv (pScreen); - KaaScreenPriv (pScreen); - RegionPtr pClip = fbGetCompositeClip(pGC); - PixmapPtr pPixmap; - BoxPtr pextent, pbox; - int nbox; - int extentX1, extentX2, extentY1, extentY2; - int fullX1, fullX2, fullY1; - int partX1, partX2; - int off_x, off_y; - - if (!pScreenPriv->enabled || - pGC->fillStyle != FillSolid || - !(pPixmap = kaaGetOffscreenPixmap (pDrawable, &off_x, &off_y)) || - !(*pKaaScr->info->PrepareSolid) (pPixmap, - pGC->alu, - pGC->planemask, - pGC->fgPixel)) - { - KdCheckFillSpans (pDrawable, pGC, n, ppt, pwidth, fSorted); - return; - } - - pextent = REGION_EXTENTS(pGC->pScreen, pClip); - extentX1 = pextent->x1; - extentY1 = pextent->y1; - extentX2 = pextent->x2; - extentY2 = pextent->y2; - while (n--) - { - fullX1 = ppt->x; - fullY1 = ppt->y; - fullX2 = fullX1 + (int) *pwidth; - ppt++; - pwidth++; - - if (fullY1 < extentY1 || extentY2 <= fullY1) - continue; - - if (fullX1 < extentX1) - fullX1 = extentX1; - - if (fullX2 > extentX2) - fullX2 = extentX2; - - if (fullX1 >= fullX2) - continue; - - nbox = REGION_NUM_RECTS (pClip); - if (nbox == 1) - { - (*pKaaScr->info->Solid) (fullX1 + off_x, fullY1 + off_y, - fullX2 + off_x, fullY1 + 1 + off_y); - } - else - { - pbox = REGION_RECTS(pClip); - while(nbox--) - { - if (pbox->y1 <= fullY1 && fullY1 < pbox->y2) - { - partX1 = pbox->x1; - if (partX1 < fullX1) - partX1 = fullX1; - partX2 = pbox->x2; - if (partX2 > fullX2) - partX2 = fullX2; - if (partX2 > partX1) - (*pKaaScr->info->Solid) (partX1 + off_x, fullY1 + off_y, - partX2 + off_x, fullY1 + 1 + off_y); - } - pbox++; - } - } - } - (*pKaaScr->info->DoneSolid) (); - kaaDrawableDirty (pDrawable); - kaaMarkSync (pDrawable->pScreen); -} - -void -kaaCopyNtoN (DrawablePtr pSrcDrawable, - DrawablePtr pDstDrawable, - GCPtr pGC, - BoxPtr pbox, - int nbox, - int dx, - int dy, - Bool reverse, - Bool upsidedown, - Pixel bitplane, - void *closure) -{ - KdScreenPriv (pDstDrawable->pScreen); - KaaScreenPriv (pDstDrawable->pScreen); - PixmapPtr pSrcPixmap, pDstPixmap; - int src_off_x, src_off_y; - int dst_off_x, dst_off_y; - - /* Migrate pixmaps to same place as destination */ - if (pScreenPriv->enabled && pSrcDrawable->type == DRAWABLE_PIXMAP) { - if (kaaDrawableIsOffscreen (pDstDrawable)) - kaaPixmapUseScreen ((PixmapPtr) pSrcDrawable); - else - kaaPixmapUseMemory ((PixmapPtr) pSrcDrawable); - } - - if (pScreenPriv->enabled && - (pSrcPixmap = kaaGetOffscreenPixmap (pSrcDrawable, &src_off_x, &src_off_y)) && - (pDstPixmap = kaaGetOffscreenPixmap (pDstDrawable, &dst_off_x, &dst_off_y)) && - (*pKaaScr->info->PrepareCopy) (pSrcPixmap, - pDstPixmap, - dx, - dy, - pGC ? pGC->alu : GXcopy, - pGC ? pGC->planemask : FB_ALLONES)) - { - while (nbox--) - { - (*pKaaScr->info->Copy) (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++; - } - (*pKaaScr->info->DoneCopy) (); - kaaMarkSync (pDstDrawable->pScreen); - } - else - { - kaaWaitSync (pDstDrawable->pScreen); - fbCopyNtoN (pSrcDrawable, pDstDrawable, pGC, - pbox, nbox, dx, dy, reverse, upsidedown, - bitplane, closure); - } - kaaDrawableDirty (pDstDrawable); -} - -static RegionPtr -kaaCopyArea(DrawablePtr pSrcDrawable, DrawablePtr pDstDrawable, GCPtr pGC, - int srcx, int srcy, int width, int height, int dstx, int dsty) -{ - return fbDoCopy (pSrcDrawable, pDstDrawable, pGC, - srcx, srcy, width, height, - dstx, dsty, kaaCopyNtoN, 0, 0); -} - -static void -kaaPolyFillRect(DrawablePtr pDrawable, - GCPtr pGC, - int nrect, - xRectangle *prect) -{ - KdScreenPriv (pDrawable->pScreen); - KaaScreenPriv (pDrawable->pScreen); - RegionPtr pClip = fbGetCompositeClip(pGC); - PixmapPtr pPixmap; - register BoxPtr pbox; - BoxPtr pextent; - int extentX1, extentX2, extentY1, extentY2; - int fullX1, fullX2, fullY1, fullY2; - int partX1, partX2, partY1, partY2; - int xoff, yoff; - int xorg, yorg; - int n; - - if (!pScreenPriv->enabled || - pGC->fillStyle != FillSolid || - !(pPixmap = kaaGetOffscreenPixmap (pDrawable, &xoff, &yoff)) || - !(*pKaaScr->info->PrepareSolid) (pPixmap, - pGC->alu, - pGC->planemask, - pGC->fgPixel)) - { - KdCheckPolyFillRect (pDrawable, pGC, nrect, prect); - return; - } - - xorg = pDrawable->x; - yorg = pDrawable->y; - - pextent = REGION_EXTENTS(pGC->pScreen, pClip); - extentX1 = pextent->x1; - extentY1 = pextent->y1; - extentX2 = pextent->x2; - extentY2 = pextent->y2; - while (nrect--) - { - fullX1 = prect->x + xorg; - fullY1 = prect->y + yorg; - fullX2 = fullX1 + (int) prect->width; - fullY2 = fullY1 + (int) prect->height; - prect++; - - if (fullX1 < extentX1) - fullX1 = extentX1; - - if (fullY1 < extentY1) - fullY1 = extentY1; - - if (fullX2 > extentX2) - fullX2 = extentX2; - - if (fullY2 > extentY2) - fullY2 = extentY2; - - if ((fullX1 >= fullX2) || (fullY1 >= fullY2)) - continue; - n = REGION_NUM_RECTS (pClip); - if (n == 1) - { - (*pKaaScr->info->Solid) (fullX1 + xoff, fullY1 + yoff, - fullX2 + xoff, fullY2 + yoff); - } - else - { - pbox = REGION_RECTS(pClip); - /* - * clip the rectangle to each box in the clip region - * this is logically equivalent to calling Intersect() - */ - while(n--) - { - partX1 = pbox->x1; - if (partX1 < fullX1) - partX1 = fullX1; - partY1 = pbox->y1; - if (partY1 < fullY1) - partY1 = fullY1; - partX2 = pbox->x2; - if (partX2 > fullX2) - partX2 = fullX2; - partY2 = pbox->y2; - if (partY2 > fullY2) - partY2 = fullY2; - - pbox++; - - if (partX1 < partX2 && partY1 < partY2) - (*pKaaScr->info->Solid) (partX1 + xoff, partY1 + yoff, - partX2 + xoff, partY2 + yoff); - } - } - } - (*pKaaScr->info->DoneSolid) (); - kaaDrawableDirty (pDrawable); - kaaMarkSync (pDrawable->pScreen); -} - -static void -kaaSolidBoxClipped (DrawablePtr pDrawable, - RegionPtr pClip, - FbBits pm, - FbBits fg, - int x1, - int y1, - int x2, - int y2) -{ - KdScreenPriv (pDrawable->pScreen); - KaaScreenPriv (pDrawable->pScreen); - PixmapPtr pPixmap; - BoxPtr pbox; - int nbox; - int xoff, yoff; - int partX1, partX2, partY1, partY2; - - if (!pScreenPriv->enabled || - !(pPixmap = kaaGetOffscreenPixmap (pDrawable, &xoff, &yoff)) || - !(*pKaaScr->info->PrepareSolid) (pPixmap, GXcopy, pm, fg)) - { - kaaWaitSync (pDrawable->pScreen); - fg = fbReplicatePixel (fg, pDrawable->bitsPerPixel); - fbSolidBoxClipped (pDrawable, pClip, x1, y1, x2, y2, - fbAnd (GXcopy, fg, pm), - fbXor (GXcopy, fg, pm)); - kaaDrawableDirty (pDrawable); - return; - } - for (nbox = REGION_NUM_RECTS(pClip), pbox = REGION_RECTS(pClip); - nbox--; - pbox++) - { - partX1 = pbox->x1; - if (partX1 < x1) - partX1 = x1; - - partX2 = pbox->x2; - if (partX2 > x2) - partX2 = x2; - - if (partX2 <= partX1) - continue; - - partY1 = pbox->y1; - if (partY1 < y1) - partY1 = y1; - - partY2 = pbox->y2; - if (partY2 > y2) - partY2 = y2; - - if (partY2 <= partY1) - continue; - - (*pKaaScr->info->Solid) (partX1 + xoff, partY1 + yoff, - partX2 + xoff, partY2 + yoff); - } - (*pKaaScr->info->DoneSolid) (); - kaaDrawableDirty (pDrawable); - kaaMarkSync (pDrawable->pScreen); -} - -static void -kaaImageGlyphBlt (DrawablePtr pDrawable, - GCPtr pGC, - int x, - int y, - unsigned int nglyph, - CharInfoPtr *ppciInit, - pointer pglyphBase) -{ - FbGCPrivPtr pPriv = fbGetGCPrivate(pGC); - CharInfoPtr *ppci; - CharInfoPtr pci; - unsigned char *pglyph; /* pointer bits in glyph */ - int gWidth, gHeight; /* width and height of glyph */ - FbStride gStride; /* stride of glyph */ - Bool opaque; - int n; - int gx, gy; - void (*glyph) (FbBits *, - FbStride, - int, - FbStip *, - FbBits, - int, - int); - FbBits *dst; - FbStride dstStride; - int dstBpp; - int dstXoff, dstYoff; - FbBits depthMask; - - depthMask = FbFullMask(pDrawable->depth); - if ((pGC->planemask & depthMask) != depthMask) - { - KdCheckImageGlyphBlt(pDrawable, pGC, x, y, nglyph, ppciInit, pglyphBase); - return; - } - glyph = 0; - fbGetDrawable (pDrawable, dst, dstStride, dstBpp, dstXoff, dstYoff); - switch (dstBpp) { - case 8: glyph = fbGlyph8; break; - case 16: glyph = fbGlyph16; break; - case 24: glyph = fbGlyph24; break; - case 32: glyph = fbGlyph32; break; - } - - x += pDrawable->x; - y += pDrawable->y; - - if (TERMINALFONT (pGC->font) && !glyph) - { - opaque = TRUE; - } - 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); - kaaSolidBoxClipped (pDrawable, - fbGetCompositeClip(pGC), - pGC->planemask, - pGC->bgPixel, - xBack, - yBack, - xBack + widthBack, - yBack + heightBack); - opaque = FALSE; - } - - kaaWaitSync (pDrawable->pScreen); - kaaDrawableDirty (pDrawable); - - ppci = ppciInit; - while (nglyph--) - { - 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 (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); - } - } - x += pci->metrics.characterWidth; - } -} - -static const GCOps kaaOps = { - kaaFillSpans, - KdCheckSetSpans, - KdCheckPutImage, - kaaCopyArea, - KdCheckCopyPlane, - KdCheckPolyPoint, - KdCheckPolylines, - KdCheckPolySegment, - miPolyRectangle, - KdCheckPolyArc, - miFillPolygon, - kaaPolyFillRect, - miPolyFillArc, - miPolyText8, - miPolyText16, - miImageText8, - miImageText16, - kaaImageGlyphBlt, - KdCheckPolyGlyphBlt, - KdCheckPushPixels, -}; - -static void -kaaValidateGC (GCPtr pGC, Mask changes, DrawablePtr pDrawable) -{ - fbValidateGC (pGC, changes, pDrawable); - - if (kaaDrawableIsOffscreen (pDrawable)) - pGC->ops = (GCOps *) &kaaOps; - else - pGC->ops = (GCOps *) &kdAsyncPixmapGCOps; -} - -GCFuncs kaaGCFuncs = { - kaaValidateGC, - miChangeGC, - miCopyGC, - miDestroyGC, - miChangeClip, - miDestroyClip, - miCopyClip -}; - -static int -kaaCreateGC (GCPtr pGC) -{ - if (!fbCreateGC (pGC)) - return FALSE; - - pGC->funcs = &kaaGCFuncs; - - return TRUE; -} - - -static void -kaaCopyWindow(WindowPtr pWin, DDXPointRec ptOldOrg, RegionPtr prgnSrc) -{ - RegionRec rgnDst; - int dx, dy; - PixmapPtr pPixmap = (*pWin->drawable.pScreen->GetWindowPixmap) (pWin); - - dx = ptOldOrg.x - pWin->drawable.x; - dy = ptOldOrg.y - pWin->drawable.y; - REGION_TRANSLATE(pWin->drawable.pScreen, prgnSrc, -dx, -dy); - - REGION_INIT (pWin->drawable.pScreen, &rgnDst, NullBox, 0); - - REGION_INTERSECT(pWin->drawable.pScreen, &rgnDst, &pWin->borderClip, prgnSrc); -#ifdef COMPOSITE - if (pPixmap->screen_x || pPixmap->screen_y) - REGION_TRANSLATE (pWin->drawable.pScreen, &rgnDst, - -pPixmap->screen_x, -pPixmap->screen_y); -#endif - - fbCopyRegion (&pPixmap->drawable, &pPixmap->drawable, - 0, - &rgnDst, dx, dy, kaaCopyNtoN, 0, 0); - - REGION_UNINIT(pWin->drawable.pScreen, &rgnDst); -} - -static void -kaaFillRegionSolid (DrawablePtr pDrawable, - RegionPtr pRegion, - Pixel pixel) -{ - KdScreenPriv(pDrawable->pScreen); - KaaScreenPriv(pDrawable->pScreen); - PixmapPtr pPixmap; - int xoff, yoff; - - if (pScreenPriv->enabled && - (pPixmap = kaaGetOffscreenPixmap (pDrawable, &xoff, &yoff)) && - (*pKaaScr->info->PrepareSolid) (pPixmap, GXcopy, FB_ALLONES, pixel)) - { - int nbox = REGION_NUM_RECTS (pRegion); - BoxPtr pBox = REGION_RECTS (pRegion); - - while (nbox--) - { - (*pKaaScr->info->Solid) (pBox->x1 + xoff, pBox->y1 + yoff, - pBox->x2 + xoff, pBox->y2 + yoff); - pBox++; - } - (*pKaaScr->info->DoneSolid) (); - kaaMarkSync (pDrawable->pScreen); - } - else - { - kaaWaitSync (pDrawable->pScreen); - fbFillRegionSolid (pDrawable, pRegion, 0, - fbReplicatePixel (pixel, pDrawable->bitsPerPixel)); - } - kaaDrawableDirty (pDrawable); -} - -Bool -kaaDrawInit (ScreenPtr pScreen, - KaaScreenInfoPtr pScreenInfo) -{ - KaaScreenPrivPtr pKaaScr; - KdScreenPriv(pScreen); - KdScreenInfo *screen = pScreenPriv->screen; -#ifdef RENDER - PictureScreenPtr ps = GetPictureScreenIfSet(pScreen); -#endif - - pKaaScr = xalloc (sizeof (KaaScreenPrivRec)); - - if (!pKaaScr) - return FALSE; - - pKaaScr->info = pScreenInfo; - - dixSetPrivate(&pScreen->devPrivates, kaaScreenPrivateKey, pKaaScr); - - /* - * Hook up asynchronous drawing - */ - KdScreenInitAsync (pScreen); - /* - * Replace various fb screen functions - */ - pScreen->CreateGC = kaaCreateGC; - pScreen->CopyWindow = kaaCopyWindow; -#ifdef RENDER - if (ps) { - ps->Composite = kaaComposite; - ps->RasterizeTrapezoid = kaaRasterizeTrapezoid; - } -#endif - - /* - * Hookup offscreen pixmaps - */ - if ((pKaaScr->info->flags & KAA_OFFSCREEN_PIXMAPS) && - screen->off_screen_base < screen->memory_size) - { - if (!dixRequestPrivate(kaaPixmapPrivateKey, sizeof (KaaPixmapPrivRec))) - return FALSE; - pScreen->CreatePixmap = kaaCreatePixmap; - pScreen->DestroyPixmap = kaaDestroyPixmap; - } - - return TRUE; -} - -void -kaaDrawFini (ScreenPtr pScreen) -{ - KaaScreenPriv(pScreen); - - xfree (pKaaScr); -} - -void -kaaMarkSync (ScreenPtr pScreen) -{ - KdScreenPriv(pScreen); - KaaScreenPriv(pScreen); - - pScreenPriv->card->needSync = TRUE; - if (pKaaScr->info->markSync != NULL) { - pScreenPriv->card->lastMarker = (*pKaaScr->info->markSync) (pScreen); - } -} - -void -kaaWaitSync (ScreenPtr pScreen) -{ - KdScreenPriv(pScreen); - KaaScreenPriv(pScreen); - KdCardInfo *card = pScreenPriv->card; - - if (card->needSync) { - (*pKaaScr->info->waitMarker) (pScreen, card->lastMarker); - card->needSync = FALSE; - } -} diff --git a/xorg-server/hw/kdrive/src/kaa.h b/xorg-server/hw/kdrive/src/kaa.h deleted file mode 100644 index 90b963b10..000000000 --- a/xorg-server/hw/kdrive/src/kaa.h +++ /dev/null @@ -1,120 +0,0 @@ -/* - * Copyright © 2001 Keith Packard - * - * Partly based on code that is Copyright © 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 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. - */ - -#ifndef _KAA_H_ -#define _KAA_H_ - -#include "picturestr.h" - -#define KaaGetScreenPriv(s) ((KaaScreenPrivPtr) \ - dixLookupPrivate(&(s)->devPrivates, kaaScreenPrivateKey)) -#define KaaScreenPriv(s) KaaScreenPrivPtr pKaaScr = KaaGetScreenPriv(s) - -#define KaaGetPixmapPriv(p) ((KaaPixmapPrivPtr) \ - dixLookupPrivate(&(p)->devPrivates, kaaPixmapPrivateKey)) -#define KaaSetPixmapPriv(p,a) \ - dixSetPrivate(&(p)->devPrivates, kaaPixmapPrivateKey, a) -#define KaaPixmapPriv(p) KaaPixmapPrivPtr pKaaPixmap = KaaGetPixmapPriv(p) - -typedef struct { - KaaScreenInfoPtr info; -} KaaScreenPrivRec, *KaaScreenPrivPtr; - -typedef struct { - KdOffscreenArea *area; - int score; - int devKind; - DevUnion devPrivate; - Bool dirty; -} KaaPixmapPrivRec, *KaaPixmapPrivPtr; - -extern DevPrivateKey kaaScreenPrivateKey; -extern DevPrivateKey kaaPixmapPrivateKey; - - -void -kaaPixmapUseScreen (PixmapPtr pPixmap); - -void -kaaPixmapUseMemory (PixmapPtr pPixmap); - -void -kaaDrawableDirty(DrawablePtr pDrawable); - -Bool -kaaDrawableIsOffscreen (DrawablePtr pDrawable); - -Bool -kaaPixmapIsOffscreen(PixmapPtr p); - -PixmapPtr -kaaGetOffscreenPixmap (DrawablePtr pDrawable, int *xp, int *yp); - -void -kaaMoveInPixmap (PixmapPtr pPixmap); - -void -kaaMarkSync (ScreenPtr pScreen); - -void -kaaWaitSync (ScreenPtr pScreen); - -void -kaaCopyNtoN (DrawablePtr pSrcDrawable, - DrawablePtr pDstDrawable, - GCPtr pGC, - BoxPtr pbox, - int nbox, - int dx, - int dy, - Bool reverse, - Bool upsidedown, - Pixel bitplane, - void *closure); - -void -kaaComposite(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 -kaaRasterizeTrapezoid(PicturePtr pPict, - xTrapezoid *trap, - int xoff, - int yoff); - -void -kaaInitTrapOffsets(int grid_order, float *x_offsets, float *y_offsets, - float x_offset, float y_offset); - -#endif /* _KAA_H_ */ diff --git a/xorg-server/hw/kdrive/src/kaapict.c b/xorg-server/hw/kdrive/src/kaapict.c deleted file mode 100644 index 501b6b9c4..000000000 --- a/xorg-server/hw/kdrive/src/kaapict.c +++ /dev/null @@ -1,719 +0,0 @@ -/* - * Copyright © 2001 Keith Packard - * - * Partly based on code that is Copyright © 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 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. - */ - -#ifdef HAVE_CONFIG_H -#include -#endif -#include "kdrive.h" -#include "kaa.h" - -#ifdef RENDER -#include "mipict.h" - -#define KAA_DEBUG_FALLBACKS 0 - -#if KAA_DEBUG_FALLBACKS -static void kaaCompositeFallbackPictDesc(PicturePtr pict, char *string, int n) -{ - char format[20]; - char size[20]; - char loc; - int temp; - - if (!pict) { - snprintf(string, n, "None"); - return; - } - - switch (pict->format) - { - case PICT_a8r8g8b8: - snprintf(format, 20, "ARGB8888"); - break; - case PICT_r5g6b5: - snprintf(format, 20, "RGB565 "); - break; - case PICT_x1r5g5b5: - snprintf(format, 20, "RGB555 "); - break; - case PICT_a8: - snprintf(format, 20, "A8 "); - break; - case PICT_a1: - snprintf(format, 20, "A1 "); - break; - default: - snprintf(format, 20, "0x%x", (int)pict->format); - break; - } - - loc = kaaGetOffscreenPixmap(pict->pDrawable, &temp, &temp) ? 's' : 'm'; - - snprintf(size, 20, "%dx%d%s", pict->pDrawable->width, - pict->pDrawable->height, pict->repeat ? - " R" : ""); - - snprintf(string, n, "0x%lx:%c fmt %s (%s)", (long)pict, loc, format, size); -} - -static void -kaaPrintCompositeFallback(CARD8 op, - PicturePtr pSrc, - PicturePtr pMask, - PicturePtr pDst) -{ - char sop[20]; - char srcdesc[40], maskdesc[40], dstdesc[40]; - - switch(op) - { - case PictOpSrc: - sprintf(sop, "Src"); - break; - case PictOpOver: - sprintf(sop, "Over"); - break; - default: - sprintf(sop, "0x%x", (int)op); - break; - } - - kaaCompositeFallbackPictDesc(pSrc, srcdesc, 40); - kaaCompositeFallbackPictDesc(pMask, maskdesc, 40); - kaaCompositeFallbackPictDesc(pDst, dstdesc, 40); - - ErrorF("Composite fallback: op %s, \n" - " src %s, \n" - " mask %s, \n" - " dst %s, \n", - sop, srcdesc, maskdesc, dstdesc); -} - -static void -kaaPrintTrapezoidFallback(PicturePtr pDst) -{ - char dstdesc[40]; - - kaaCompositeFallbackPictDesc(pDst, dstdesc, 40); - - ErrorF("Trapezoid fallback: dst %s, %c/%s\n", - dstdesc, - (pDst->polyMode == PolyModePrecise) ? 'p' : 'i', - (pDst->polyEdge == PolyEdgeSharp) ? "a" : "aa"); -} -#endif - -static Bool -kaaGetPixelFromRGBA(CARD32 *pixel, - CARD16 red, - CARD16 green, - CARD16 blue, - CARD16 alpha, - CARD32 format) -{ - int rbits, bbits, gbits, abits; - int rshift, bshift, gshift, ashift; - - *pixel = 0; - - if (!PICT_FORMAT_COLOR(format)) - return FALSE; - - rbits = PICT_FORMAT_R(format); - gbits = PICT_FORMAT_G(format); - bbits = PICT_FORMAT_B(format); - abits = PICT_FORMAT_A(format); - - if (PICT_FORMAT_TYPE(format) == PICT_TYPE_ARGB) { - bshift = 0; - gshift = bbits; - rshift = gshift + gbits; - ashift = rshift + rbits; - } else { /* PICT_TYPE_ABGR */ - rshift = 0; - gshift = rbits; - bshift = gshift + gbits; - ashift = bshift + bbits; - } - - *pixel |= ( blue >> (16 - bbits)) << bshift; - *pixel |= ( red >> (16 - rbits)) << rshift; - *pixel |= (green >> (16 - gbits)) << gshift; - *pixel |= (alpha >> (16 - abits)) << ashift; - - return TRUE; -} - - -static Bool -kaaGetRGBAFromPixel(CARD32 pixel, - CARD16 *red, - CARD16 *green, - CARD16 *blue, - CARD16 *alpha, - CARD32 format) -{ - int rbits, bbits, gbits, abits; - int rshift, bshift, gshift, ashift; - - if (!PICT_FORMAT_COLOR(format)) - return FALSE; - - rbits = PICT_FORMAT_R(format); - gbits = PICT_FORMAT_G(format); - bbits = PICT_FORMAT_B(format); - abits = PICT_FORMAT_A(format); - - if (PICT_FORMAT_TYPE(format) == PICT_TYPE_ARGB) { - bshift = 0; - gshift = bbits; - rshift = gshift + gbits; - ashift = rshift + rbits; - } else { /* PICT_TYPE_ABGR */ - rshift = 0; - gshift = rbits; - bshift = gshift + gbits; - ashift = bshift + bbits; - } - - *red = ((pixel >> rshift ) & ((1 << rbits) - 1)) << (16 - rbits); - while (rbits < 16) { - *red |= *red >> rbits; - rbits <<= 1; - } - - *green = ((pixel >> gshift ) & ((1 << gbits) - 1)) << (16 - gbits); - while (gbits < 16) { - *green |= *green >> gbits; - gbits <<= 1; - } - - *blue = ((pixel >> bshift ) & ((1 << bbits) - 1)) << (16 - bbits); - while (bbits < 16) { - *blue |= *blue >> bbits; - bbits <<= 1; - } - - if (abits) { - *alpha = ((pixel >> ashift ) & ((1 << abits) - 1)) << (16 - abits); - while (abits < 16) { - *alpha |= *alpha >> abits; - abits <<= 1; - } - } else - *alpha = 0xffff; - - return TRUE; -} - -static int -kaaTryDriverSolidFill(PicturePtr pSrc, - PicturePtr pDst, - INT16 xSrc, - INT16 ySrc, - INT16 xDst, - INT16 yDst, - CARD16 width, - CARD16 height) -{ - KaaScreenPriv (pDst->pDrawable->pScreen); - RegionRec region; - BoxPtr pbox; - int nbox; - int dst_off_x, dst_off_y; - PixmapPtr pSrcPix, pDstPix; - CARD32 pixel; - CARD16 red, green, blue, alpha; - - xDst += pDst->pDrawable->x; - yDst += pDst->pDrawable->y; - xSrc += pSrc->pDrawable->x; - ySrc += pSrc->pDrawable->y; - - if (!miComputeCompositeRegion (®ion, pSrc, NULL, pDst, - xSrc, ySrc, 0, 0, xDst, yDst, - width, height)) - return 1; - - if (pSrc->pDrawable->type == DRAWABLE_PIXMAP) - kaaPixmapUseMemory ((PixmapPtr) pSrc->pDrawable); - if (pDst->pDrawable->type == DRAWABLE_PIXMAP) - kaaPixmapUseScreen ((PixmapPtr) pDst->pDrawable); - - pDstPix = kaaGetOffscreenPixmap (pDst->pDrawable, &dst_off_x, &dst_off_y); - if (!pDstPix) { - REGION_UNINIT(pDst->pDrawable->pScreen, ®ion); - return 0; - } - - if (pSrc->pDrawable->type == DRAWABLE_WINDOW) - pSrcPix = (*pSrc->pDrawable->pScreen->GetWindowPixmap)( - (WindowPtr) (pSrc->pDrawable)); - else - pSrcPix = (PixmapPtr) (pSrc->pDrawable); - - /* If source is offscreen, we need to sync the accelerator - * before accessing it. We'd prefer for it to be in memory. - */ - if (kaaPixmapIsOffscreen(pSrcPix)) { - kaaWaitSync(pDst->pDrawable->pScreen); - } - - pixel = *(CARD32 *)(pSrcPix->devPrivate.ptr); - if (!kaaGetRGBAFromPixel(pixel, &red, &green, &blue, &alpha, - pSrc->format)) - { - REGION_UNINIT(pDst->pDrawable->pScreen, ®ion); - return -1; - } - kaaGetPixelFromRGBA(&pixel, red, green, blue, alpha, - pDst->format); - - if (!(*pKaaScr->info->PrepareSolid) (pDstPix, GXcopy, 0xffffffff, pixel)) - { - REGION_UNINIT(pDst->pDrawable->pScreen, ®ion); - return -1; - } - - nbox = REGION_NUM_RECTS(®ion); - pbox = REGION_RECTS(®ion); - while (nbox--) - { - (*pKaaScr->info->Solid) (pbox->x1 + dst_off_x, - pbox->y1 + dst_off_y, - pbox->x2 + dst_off_x, - pbox->y2 + dst_off_y); - pbox++; - } - - (*pKaaScr->info->DoneSolid) (); - kaaMarkSync (pDst->pDrawable->pScreen); - kaaDrawableDirty (pDst->pDrawable); - - REGION_UNINIT(pDst->pDrawable->pScreen, ®ion); - return 1; -} - -static int -kaaTryDriverBlend(CARD8 op, - PicturePtr pSrc, - PicturePtr pDst, - INT16 xSrc, - INT16 ySrc, - INT16 xDst, - INT16 yDst, - CARD16 width, - CARD16 height) -{ - KaaScreenPriv (pDst->pDrawable->pScreen); - RegionRec region; - BoxPtr pbox; - int nbox; - int src_off_x, src_off_y, dst_off_x, dst_off_y; - PixmapPtr pSrcPix, pDstPix; - struct _Pixmap srcScratch; - - xDst += pDst->pDrawable->x; - yDst += pDst->pDrawable->y; - - xSrc += pSrc->pDrawable->x; - ySrc += pSrc->pDrawable->y; - - if (!miComputeCompositeRegion (®ion, pSrc, NULL, pDst, - xSrc, ySrc, 0, 0, xDst, yDst, - width, height)) - return 1; - - - if (pSrc->pDrawable->type == DRAWABLE_PIXMAP) - kaaPixmapUseScreen ((PixmapPtr) pSrc->pDrawable); - if (pDst->pDrawable->type == DRAWABLE_PIXMAP) - kaaPixmapUseScreen ((PixmapPtr) pDst->pDrawable); - - pSrcPix = kaaGetOffscreenPixmap (pSrc->pDrawable, &src_off_x, &src_off_y); - pDstPix = kaaGetOffscreenPixmap (pDst->pDrawable, &dst_off_x, &dst_off_y); - - if (!pDstPix) { - REGION_UNINIT(pDst->pDrawable->pScreen, ®ion); - return 0; - } - - if (!pSrcPix && pKaaScr->info->UploadToScratch) { - if ((*pKaaScr->info->UploadToScratch) ((PixmapPtr) pSrc->pDrawable, - &srcScratch)) - pSrcPix = &srcScratch; - } - - if (!pSrcPix) { - REGION_UNINIT(pDst->pDrawable->pScreen, ®ion); - return 0; - } - - if (!(*pKaaScr->info->PrepareBlend) (op, pSrc, pDst, pSrcPix, - pDstPix)) - { - REGION_UNINIT(pDst->pDrawable->pScreen, ®ion); - return -1; - } - - nbox = REGION_NUM_RECTS(®ion); - pbox = REGION_RECTS(®ion); - - xSrc -= xDst; - ySrc -= yDst; - - while (nbox--) - { - (*pKaaScr->info->Blend) (pbox->x1 + xSrc + src_off_x, - pbox->y1 + ySrc + src_off_y, - pbox->x1 + dst_off_x, - pbox->y1 + dst_off_y, - pbox->x2 - pbox->x1, - pbox->y2 - pbox->y1); - pbox++; - } - - (*pKaaScr->info->DoneBlend) (); - kaaMarkSync (pDst->pDrawable->pScreen); - kaaDrawableDirty (pDst->pDrawable); - - REGION_UNINIT(pDst->pDrawable->pScreen, ®ion); - return 1; -} - -static int -kaaTryDriverComposite(CARD8 op, - PicturePtr pSrc, - PicturePtr pMask, - PicturePtr pDst, - INT16 xSrc, - INT16 ySrc, - INT16 xMask, - INT16 yMask, - INT16 xDst, - INT16 yDst, - CARD16 width, - CARD16 height) -{ - KaaScreenPriv (pDst->pDrawable->pScreen); - RegionRec region; - BoxPtr pbox; - int nbox; - int src_off_x, src_off_y, mask_off_x, mask_off_y, dst_off_x, dst_off_y; - PixmapPtr pSrcPix, pMaskPix = NULL, pDstPix; - struct _Pixmap scratch; - - xDst += pDst->pDrawable->x; - yDst += pDst->pDrawable->y; - - if (pMask) { - xMask += pMask->pDrawable->x; - yMask += pMask->pDrawable->y; - } - - xSrc += pSrc->pDrawable->x; - ySrc += pSrc->pDrawable->y; - - if (!miComputeCompositeRegion (®ion, pSrc, pMask, pDst, - xSrc, ySrc, xMask, yMask, xDst, yDst, - width, height)) - return 1; - - if (pKaaScr->info->CheckComposite && - !(*pKaaScr->info->CheckComposite) (op, pSrc, pMask, pDst)) - { - REGION_UNINIT(pDst->pDrawable->pScreen, ®ion); - return -1; - } - - if (pSrc->pDrawable->type == DRAWABLE_PIXMAP) - kaaPixmapUseScreen ((PixmapPtr) pSrc->pDrawable); - if (pMask && pMask->pDrawable->type == DRAWABLE_PIXMAP) - kaaPixmapUseScreen ((PixmapPtr) pMask->pDrawable); - if (pDst->pDrawable->type == DRAWABLE_PIXMAP) - kaaPixmapUseScreen ((PixmapPtr) pDst->pDrawable); - - pSrcPix = kaaGetOffscreenPixmap (pSrc->pDrawable, &src_off_x, &src_off_y); - if (pMask) - pMaskPix = kaaGetOffscreenPixmap (pMask->pDrawable, &mask_off_x, - &mask_off_y); - pDstPix = kaaGetOffscreenPixmap (pDst->pDrawable, &dst_off_x, &dst_off_y); - - if (!pDstPix) { - REGION_UNINIT(pDst->pDrawable->pScreen, ®ion); - return 0; - } - - if (!pSrcPix && (!pMask || pMaskPix) && pKaaScr->info->UploadToScratch) { - if (pSrc->pDrawable->type == DRAWABLE_WINDOW) - pSrcPix = (*pSrc->pDrawable->pScreen->GetWindowPixmap) ( - (WindowPtr) pSrc->pDrawable); - else - pSrcPix = (PixmapPtr) pSrc->pDrawable; - if ((*pKaaScr->info->UploadToScratch) (pSrcPix, &scratch)) - pSrcPix = &scratch; - } else if (pSrcPix && pMask && !pMaskPix && pKaaScr->info->UploadToScratch) { - if (pMask->pDrawable->type == DRAWABLE_WINDOW) - pMaskPix = (*pMask->pDrawable->pScreen->GetWindowPixmap) ( - (WindowPtr) pMask->pDrawable); - else - pMaskPix = (PixmapPtr) pMask->pDrawable; - if ((*pKaaScr->info->UploadToScratch) (pMaskPix, &scratch)) - pMaskPix = &scratch; - } - - if (!pSrcPix || (pMask && !pMaskPix)) { - REGION_UNINIT(pDst->pDrawable->pScreen, ®ion); - return 0; - } - - if (!(*pKaaScr->info->PrepareComposite) (op, pSrc, pMask, pDst, pSrcPix, - pMaskPix, pDstPix)) - { - REGION_UNINIT(pDst->pDrawable->pScreen, ®ion); - return -1; - } - - nbox = REGION_NUM_RECTS(®ion); - pbox = REGION_RECTS(®ion); - - xMask -= xDst; - yMask -= yDst; - - xSrc -= xDst; - ySrc -= yDst; - - while (nbox--) - { - (*pKaaScr->info->Composite) (pbox->x1 + xSrc + src_off_x, - pbox->y1 + ySrc + src_off_y, - pbox->x1 + xMask + mask_off_x, - pbox->y1 + yMask + mask_off_y, - pbox->x1 + dst_off_x, - pbox->y1 + dst_off_y, - pbox->x2 - pbox->x1, - pbox->y2 - pbox->y1); - pbox++; - } - - (*pKaaScr->info->DoneComposite) (); - kaaMarkSync (pDst->pDrawable->pScreen); - kaaDrawableDirty (pDst->pDrawable); - - REGION_UNINIT(pDst->pDrawable->pScreen, ®ion); - return 1; -} - - -void -kaaComposite(CARD8 op, - PicturePtr pSrc, - PicturePtr pMask, - PicturePtr pDst, - INT16 xSrc, - INT16 ySrc, - INT16 xMask, - INT16 yMask, - INT16 xDst, - INT16 yDst, - CARD16 width, - CARD16 height) -{ - KdScreenPriv (pDst->pDrawable->pScreen); - KaaScreenPriv (pDst->pDrawable->pScreen); - int ret = -1; - - if (!pMask && pSrc->pDrawable) - { - if (op == PictOpSrc) - { - if (pScreenPriv->enabled && pSrc->pDrawable && pSrc->pDrawable->width == 1 && - pSrc->pDrawable->height == 1 && pSrc->repeat) - { - ret = kaaTryDriverSolidFill(pSrc, pDst, xSrc, ySrc, xDst, yDst, - width, height); - if (ret == 1) - return; - } - else if (!pSrc->repeat && !pSrc->transform && - pSrc->format == pDst->format) - { - RegionRec region; - - 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)) - return; - - - kaaCopyNtoN (pSrc->pDrawable, pDst->pDrawable, 0, - REGION_RECTS(®ion), REGION_NUM_RECTS(®ion), - xSrc - xDst, ySrc - yDst, - FALSE, FALSE, 0, 0); - return; - } - } - - if (pScreenPriv->enabled && pKaaScr->info->PrepareBlend && - !pSrc->alphaMap && !pDst->alphaMap) - { - ret = kaaTryDriverBlend(op, pSrc, pDst, xSrc, ySrc, xDst, yDst, - width, height); - if (ret == 1) - return; - } - } - - if (pSrc->pDrawable && (!pMask || pMask->pDrawable) && - pScreenPriv->enabled && pKaaScr->info->PrepareComposite && - !pSrc->alphaMap && (!pMask || !pMask->alphaMap) && !pDst->alphaMap) - { - ret = kaaTryDriverComposite(op, pSrc, pMask, pDst, xSrc, ySrc, xMask, - yMask, xDst, yDst, width, height); - if (ret == 1) - return; - } - - if (ret != 0) { - /* failure to accelerate was not due to pixmaps being in the wrong - * locations. - */ - if (pSrc->pDrawable->type == DRAWABLE_PIXMAP) - kaaPixmapUseMemory ((PixmapPtr) pSrc->pDrawable); - if (pMask && pMask->pDrawable->type == DRAWABLE_PIXMAP) - kaaPixmapUseMemory ((PixmapPtr) pMask->pDrawable); - if (pDst->pDrawable->type == DRAWABLE_PIXMAP) - kaaPixmapUseMemory ((PixmapPtr) pDst->pDrawable); - } - -#if KAA_DEBUG_FALLBACKS - kaaPrintCompositeFallback (op, pSrc, pMask, pDst); -#endif - - KdCheckComposite (op, pSrc, pMask, pDst, xSrc, ySrc, - xMask, yMask, xDst, yDst, width, height); -} -#endif - -static xFixed -miLineFixedX (xLineFixed *l, xFixed y, Bool ceil) -{ - xFixed dx = l->p2.x - l->p1.x; - xFixed_32_32 ex = (xFixed_32_32) (y - l->p1.y) * dx; - xFixed dy = l->p2.y - l->p1.y; - if (ceil) - ex += (dy - 1); - return l->p1.x + (xFixed) (ex / dy); -} - -/* Need to decide just how much to trim, to maintain translation independence - * when converted to floating point. - */ -#define XFIXED_TO_FLOAT(x) (((float)((x) & 0xffffff00)) / 65536.0) - -/* This is just to allow us to work on the hardware side of the problem while - * waiting for cairo to get a new tesselator. We may not be able to support - * RasterizeTrapezoid at all due to the abutting edges requirement, but it might - * be technically legal if we widened the trap by some epsilon, so that alpha - * values at abutting edges were a little too big and capped at one, rather than - * a little too small and looked bad. - */ -void kaaRasterizeTrapezoid(PicturePtr pDst, - xTrapezoid *trap, - int xoff, - int yoff) -{ - KdScreenPriv (pDst->pDrawable->pScreen); - KaaScreenPriv (pDst->pDrawable->pScreen); - KaaTrapezoid ktrap; - PixmapPtr pPix; - xFixed x1, x2; - - if (!pScreenPriv->enabled || - !pKaaScr->info->PrepareTrapezoids || - pDst->pDrawable->type != DRAWABLE_PIXMAP || - pDst->alphaMap || pDst->format != PICT_a8) - { - KdCheckRasterizeTrapezoid (pDst, trap, xoff, yoff); -#if KAA_DEBUG_FALLBACKS - kaaPrintTrapezoidFallback (pDst); -#endif - return; - } - pPix = (PixmapPtr)pDst->pDrawable; - - kaaPixmapUseScreen (pPix); - - if (!kaaPixmapIsOffscreen (pPix) || - !(*pKaaScr->info->PrepareTrapezoids) (pDst, pPix)) - { -#if KAA_DEBUG_FALLBACKS - kaaPrintTrapezoidFallback (pDst); -#endif - KdCheckRasterizeTrapezoid (pDst, trap, xoff, yoff); - return; - } - - ktrap.ty = XFIXED_TO_FLOAT(trap->top) + yoff; - x1 = miLineFixedX (&trap->left, trap->top, FALSE); - x2 = miLineFixedX (&trap->right, trap->top, TRUE); - ktrap.tl = XFIXED_TO_FLOAT(x1) + xoff; - ktrap.tr = XFIXED_TO_FLOAT(x2) + xoff; - ktrap.by = XFIXED_TO_FLOAT(trap->bottom) + yoff; - x1 = miLineFixedX (&trap->left, trap->bottom, FALSE); - x2 = miLineFixedX (&trap->right, trap->bottom, TRUE); - ktrap.bl = XFIXED_TO_FLOAT(x1) + xoff; - ktrap.br = XFIXED_TO_FLOAT(x2) + xoff; - - (*pKaaScr->info->Trapezoids) (&ktrap, 1); - (*pKaaScr->info->DoneTrapezoids) (); -} - -void -kaaInitTrapOffsets(int grid_order, float *x_offsets, float *y_offsets, - float x_offset, float y_offset) -{ - int i = 0; - float x, y, x_count, y_count; - - x_count = (1 << (grid_order / 2)) + 1; - y_count = (1 << (grid_order / 2)) - 1; - - x_offset += 1.0 / x_count / 2.0; - y_offset += 1.0 / y_count / 2.0; - - for (x = 0; x < x_count; x++) { - for (y = 0; y < y_count; y++) { - x_offsets[i] = x / x_count + x_offset; - y_offsets[i] = y / y_count + y_offset; - i++; - } - } -} - diff --git a/xorg-server/hw/kdrive/src/kasync.c b/xorg-server/hw/kdrive/src/kasync.c deleted file mode 100644 index 5388f217d..000000000 --- a/xorg-server/hw/kdrive/src/kasync.c +++ /dev/null @@ -1,341 +0,0 @@ -/* - * Copyright © 1999 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 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. - */ - -#ifdef HAVE_CONFIG_H -#include -#endif -#include "kdrive.h" -#include "kaa.h" -#include "picturestr.h" -#include "mipict.h" -#include "fbpict.h" - -/* - * These functions wrap the low-level fb rendering functions and - * synchronize framebuffer/accelerated drawing by stalling until - * the accelerator is idle - */ - -void -KdCheckFillSpans (DrawablePtr pDrawable, GCPtr pGC, int nspans, - DDXPointPtr ppt, int *pwidth, int fSorted) -{ - kaaWaitSync (pDrawable->pScreen); - kaaDrawableDirty (pDrawable); - fbFillSpans (pDrawable, pGC, nspans, ppt, pwidth, fSorted); -} - -void -KdCheckSetSpans (DrawablePtr pDrawable, GCPtr pGC, char *psrc, - DDXPointPtr ppt, int *pwidth, int nspans, int fSorted) -{ - kaaWaitSync (pDrawable->pScreen); - kaaDrawableDirty (pDrawable); - fbSetSpans (pDrawable, pGC, psrc, ppt, pwidth, nspans, fSorted); -} - -void -KdCheckPutImage (DrawablePtr pDrawable, GCPtr pGC, int depth, - int x, int y, int w, int h, int leftPad, int format, - char *bits) -{ - kaaWaitSync (pDrawable->pScreen); - kaaDrawableDirty (pDrawable); - fbPutImage (pDrawable, pGC, depth, x, y, w, h, leftPad, format, bits); -} - -RegionPtr -KdCheckCopyArea (DrawablePtr pSrc, DrawablePtr pDst, GCPtr pGC, - int srcx, int srcy, int w, int h, int dstx, int dsty) -{ - kaaWaitSync (pSrc->pScreen); - kaaDrawableDirty (pDst); - return fbCopyArea (pSrc, pDst, pGC, srcx, srcy, w, h, dstx, dsty); -} - -RegionPtr -KdCheckCopyPlane (DrawablePtr pSrc, DrawablePtr pDst, GCPtr pGC, - int srcx, int srcy, int w, int h, int dstx, int dsty, - unsigned long bitPlane) -{ - kaaWaitSync (pSrc->pScreen); - kaaDrawableDirty (pDst); - return fbCopyPlane (pSrc, pDst, pGC, srcx, srcy, w, h, dstx, dsty, - bitPlane); -} - -void -KdCheckPolyPoint (DrawablePtr pDrawable, GCPtr pGC, int mode, int npt, - DDXPointPtr pptInit) -{ - kaaWaitSync (pDrawable->pScreen); - kaaDrawableDirty (pDrawable); - fbPolyPoint (pDrawable, pGC, mode, npt, pptInit); -} - -void -KdCheckPolylines (DrawablePtr pDrawable, GCPtr pGC, - int mode, int npt, DDXPointPtr ppt) -{ - - if (pGC->lineWidth == 0) { - kaaWaitSync(pDrawable->pScreen); - kaaDrawableDirty (pDrawable); - } - kaaDrawableDirty (pDrawable); - fbPolyLine (pDrawable, pGC, mode, npt, ppt); -} - -void -KdCheckPolySegment (DrawablePtr pDrawable, GCPtr pGC, - int nsegInit, xSegment *pSegInit) -{ - if (pGC->lineWidth == 0) { - kaaWaitSync(pDrawable->pScreen); - kaaDrawableDirty (pDrawable); - } - kaaDrawableDirty (pDrawable); - fbPolySegment (pDrawable, pGC, nsegInit, pSegInit); -} - -void -KdCheckPolyRectangle (DrawablePtr pDrawable, GCPtr pGC, - int nrects, xRectangle *prect) -{ - if (pGC->lineWidth == 0) { - kaaWaitSync(pDrawable->pScreen); - kaaDrawableDirty (pDrawable); - } - fbPolyRectangle (pDrawable, pGC, nrects, prect); -} - -void -KdCheckPolyArc (DrawablePtr pDrawable, GCPtr pGC, - int narcs, xArc *pArcs) -{ - if (pGC->lineWidth == 0) - { - kaaWaitSync(pDrawable->pScreen); - kaaDrawableDirty (pDrawable); - fbPolyArc (pDrawable, pGC, narcs, pArcs); - } - else - miPolyArc (pDrawable, pGC, narcs, pArcs); -} - -#if 0 -void -KdCheckFillPolygon (DrawablePtr pDrawable, GCPtr pGC, - int shape, int mode, int count, DDXPointPtr pPts) -{ - kaaWaitSync(pDrawable->pScreen); - kaaDrawableDirty (pDrawable); - fbFillPolygon (pDrawable, pGC, mode, count, pPts); -} -#endif - -void -KdCheckPolyFillRect (DrawablePtr pDrawable, GCPtr pGC, - int nrect, xRectangle *prect) -{ - kaaWaitSync(pDrawable->pScreen); - kaaDrawableDirty (pDrawable); - fbPolyFillRect (pDrawable, pGC, nrect, prect); -} - -void -KdCheckPolyFillArc (DrawablePtr pDrawable, GCPtr pGC, - int narcs, xArc *pArcs) -{ - kaaWaitSync(pDrawable->pScreen); - kaaDrawableDirty (pDrawable); - fbPolyFillArc (pDrawable, pGC, narcs, pArcs); -} - -void -KdCheckImageGlyphBlt (DrawablePtr pDrawable, GCPtr pGC, - int x, int y, unsigned int nglyph, - CharInfoPtr *ppci, pointer pglyphBase) -{ - kaaWaitSync(pDrawable->pScreen); - kaaDrawableDirty (pDrawable); - fbImageGlyphBlt (pDrawable, pGC, x, y, nglyph, ppci, pglyphBase); -} - -void -KdCheckPolyGlyphBlt (DrawablePtr pDrawable, GCPtr pGC, - int x, int y, unsigned int nglyph, - CharInfoPtr *ppci, pointer pglyphBase) -{ - kaaWaitSync(pDrawable->pScreen); - kaaDrawableDirty (pDrawable); - fbPolyGlyphBlt (pDrawable, pGC, x, y, nglyph, ppci, pglyphBase); -} - -void -KdCheckPushPixels (GCPtr pGC, PixmapPtr pBitmap, - DrawablePtr pDrawable, - int w, int h, int x, int y) -{ - kaaWaitSync(pDrawable->pScreen); - kaaDrawableDirty (pDrawable); - fbPushPixels (pGC, pBitmap, pDrawable, w, h, x, y); -} - -void -KdCheckGetImage (DrawablePtr pDrawable, - int x, int y, int w, int h, - unsigned int format, unsigned long planeMask, - char *d) -{ - kaaWaitSync(pDrawable->pScreen); - fbGetImage (pDrawable, x, y, w, h, format, planeMask, d); -} - -void -KdCheckGetSpans (DrawablePtr pDrawable, - int wMax, - DDXPointPtr ppt, - int *pwidth, - int nspans, - char *pdstStart) -{ - kaaWaitSync(pDrawable->pScreen); - fbGetSpans (pDrawable, wMax, ppt, pwidth, nspans, pdstStart); -} - -void -KdCheckCopyWindow (WindowPtr pWin, DDXPointRec ptOldOrg, RegionPtr prgnSrc) -{ - kaaWaitSync (pWin->drawable.pScreen); - kaaDrawableDirty ((DrawablePtr)pWin); - fbCopyWindow (pWin, ptOldOrg, prgnSrc); -} - -#if KD_MAX_FB > 1 -void -KdCheckPaintKey(DrawablePtr pDrawable, - RegionPtr pRegion, - CARD32 pixel, - int layer) -{ - kaaWaitSync (pDrawable->pScreen); - kaaDrawableDirty (pDrawable); - fbOverlayPaintKey (pDrawable, pRegion, pixel, layer); -} - -void -KdCheckOverlayCopyWindow (WindowPtr pWin, DDXPointRec ptOldOrg, RegionPtr prgnSrc) -{ - kaaWaitSync (pWin->drawable.pScreen); - kaaDrawableDirty ((DrawablePtr)pWin); - fbOverlayCopyWindow (pWin, ptOldOrg, prgnSrc); -} -#endif - -void -KdScreenInitAsync (ScreenPtr pScreen) -{ - pScreen->GetImage = KdCheckGetImage; - pScreen->GetSpans = KdCheckGetSpans; - pScreen->CopyWindow = KdCheckCopyWindow; -#ifdef RENDER - KdPictureInitAsync (pScreen); -#endif -} - -void -KdCheckComposite (CARD8 op, - PicturePtr pSrc, - PicturePtr pMask, - PicturePtr pDst, - INT16 xSrc, - INT16 ySrc, - INT16 xMask, - INT16 yMask, - INT16 xDst, - INT16 yDst, - CARD16 width, - CARD16 height) -{ - kaaWaitSync (pDst->pDrawable->pScreen); - kaaDrawableDirty (pDst->pDrawable); - fbComposite (op, - pSrc, - pMask, - pDst, - xSrc, - ySrc, - xMask, - yMask, - xDst, - yDst, - width, - height); -} - -void -KdCheckRasterizeTrapezoid(PicturePtr pMask, - xTrapezoid *trap, - int x_off, - int y_off) -{ - kaaWaitSync (pMask->pDrawable->pScreen); - kaaDrawableDirty (pMask->pDrawable); - fbRasterizeTrapezoid (pMask, trap, x_off, y_off); -} - -/* - * Only need to stall for copyarea/copyplane - */ -const GCOps kdAsyncPixmapGCOps = { - fbFillSpans, - fbSetSpans, - fbPutImage, - KdCheckCopyArea, - KdCheckCopyPlane, - fbPolyPoint, - fbPolyLine, - fbPolySegment, - fbPolyRectangle, - fbPolyArc, - fbFillPolygon, - fbPolyFillRect, - fbPolyFillArc, - miPolyText8, - miPolyText16, - miImageText8, - miImageText16, - fbImageGlyphBlt, - fbPolyGlyphBlt, - fbPushPixels -}; - -void -KdPictureInitAsync (ScreenPtr pScreen) -{ - PictureScreenPtr ps; - - ps = GetPictureScreen(pScreen); - ps->Composite = KdCheckComposite; - ps->RasterizeTrapezoid = KdCheckRasterizeTrapezoid; -} diff --git a/xorg-server/hw/kdrive/src/kdrive.c b/xorg-server/hw/kdrive/src/kdrive.c index e2ee4adea..97d167e1e 100644 --- a/xorg-server/hw/kdrive/src/kdrive.c +++ b/xorg-server/hw/kdrive/src/kdrive.c @@ -67,7 +67,8 @@ KdDepths kdDepths[] = { #define KD_DEFAULT_BUTTONS 5 -DevPrivateKey kdScreenPrivateKey = &kdScreenPrivateKey; +static int kdScreenPrivateKeyIndex; +DevPrivateKey kdScreenPrivateKey = &kdScreenPrivateKeyIndex; unsigned long kdGeneration; Bool kdVideoTest; @@ -75,7 +76,7 @@ unsigned long kdVideoTestTime; Bool kdEmulateMiddleButton; Bool kdRawPointerCoordinates; Bool kdDisableZaphod; -Bool kdDontZap; +Bool kdAllowZap; Bool kdEnabled; int kdSubpixelOrder; int kdVirtualTerminal = -1; @@ -93,7 +94,6 @@ static Bool kdCaughtSignal = FALSE; */ KdOsFuncs *kdOsFuncs; -extern WindowPtr *WindowTable; void KdSetRootClip (ScreenPtr pScreen, BOOL enable) @@ -103,9 +103,6 @@ KdSetRootClip (ScreenPtr pScreen, BOOL enable) Bool WasViewable; Bool anyMarked = FALSE; RegionPtr pOldClip = 0; -#ifdef DO_SAVE_UNDERS - Bool dosave = FALSE; -#endif WindowPtr pLayerWin; BoxRec box; @@ -172,12 +169,6 @@ KdSetRootClip (ScreenPtr pScreen, BOOL enable) anyMarked = TRUE; } -#ifdef DO_SAVE_UNDERS - if (DO_SAVE_UNDERS(pWin)) - { - dosave = (*pScreen->ChangeSaveUnder)(pLayerWin, pLayerWin); - } -#endif /* DO_SAVE_UNDERS */ if (anyMarked) (*pScreen->ValidateTree)(pWin, NullWindow, VTOther); @@ -187,10 +178,6 @@ KdSetRootClip (ScreenPtr pScreen, BOOL enable) { if (anyMarked) (*pScreen->HandleExposures)(pWin); -#ifdef DO_SAVE_UNDERS - if (dosave) - (*pScreen->PostChangeSaveUnder)(pLayerWin, pLayerWin); -#endif /* DO_SAVE_UNDERS */ if (anyMarked && pScreen->PostValidateTree) (*pScreen->PostValidateTree)(pWin, NullWindow, VTOther); } @@ -208,7 +195,6 @@ KdDisableScreen (ScreenPtr pScreen) if (!pScreenPriv->closed) KdSetRootClip (pScreen, FALSE); KdDisableColormap (pScreen); - KdOffscreenSwapOut (pScreen); if (!pScreenPriv->screen->dumb && pScreenPriv->card->cfuncs->disableAccel) (*pScreenPriv->card->cfuncs->disableAccel) (pScreen); if (!pScreenPriv->screen->softCursor && pScreenPriv->card->cfuncs->disableCursor) @@ -285,7 +271,6 @@ KdEnableScreen (ScreenPtr pScreen) pScreenPriv->enabled = TRUE; pScreenPriv->dpmsState = KD_DPMS_NORMAL; pScreenPriv->card->selected = pScreenPriv->screen->mynum; - KdOffscreenSwapIn (pScreen); if (!pScreenPriv->screen->softCursor && pScreenPriv->card->cfuncs->enableCursor) (*pScreenPriv->card->cfuncs->enableCursor) (pScreen); if (!pScreenPriv->screen->dumb && pScreenPriv->card->cfuncs->enableAccel) @@ -582,7 +567,7 @@ KdUseMsg (void) ErrorF("-videoTest Start the server, pause momentarily and exit\n"); ErrorF("-origin X,Y Locates the next screen in the the virtual screen (Xinerama)\n"); ErrorF("-switchCmd Command to execute on vt switch\n"); - ErrorF("-nozap Don't terminate server on Ctrl+Alt+Backspace\n"); + ErrorF("-zap Terminate server on Ctrl+Alt+Backspace\n"); ErrorF("vtxx Use virtual terminal xx instead of the next available\n"); #ifdef PSEUDO8 p8UseMsg (); @@ -628,9 +613,9 @@ KdProcessArgument (int argc, char **argv, int i) kdDisableZaphod = TRUE; return 1; } - if (!strcmp (argv[i], "-nozap")) + if (!strcmp (argv[i], "-zap")) { - kdDontZap = TRUE; + kdAllowZap = TRUE; return 1; } if (!strcmp (argv[i], "-3button")) @@ -754,10 +739,9 @@ KdAllocatePrivates (ScreenPtr pScreen) if (kdGeneration != serverGeneration) kdGeneration = serverGeneration; - pScreenPriv = (KdPrivScreenPtr) xalloc(sizeof (*pScreenPriv)); + pScreenPriv = xcalloc(1, sizeof (*pScreenPriv)); if (!pScreenPriv) return FALSE; - memset (pScreenPriv, '\0', sizeof (KdPrivScreenRec)); KdSetScreenPriv (pScreen, pScreenPriv); return TRUE; } @@ -796,9 +780,6 @@ KdCloseScreen (int index, ScreenPtr pScreen) else ret = TRUE; - if (screen->off_screen_base < screen->memory_size) - KdOffscreenFini (pScreen); - if (pScreenPriv->dpmsState != KD_DPMS_NORMAL) (*card->cfuncs->dpms) (pScreen, KD_DPMS_NORMAL); @@ -1097,9 +1078,6 @@ KdScreenInit(int index, ScreenPtr pScreen, int argc, char **argv) if (!screen->dumb && card->cfuncs->initAccel) if (!(*card->cfuncs->initAccel) (pScreen)) screen->dumb = TRUE; - - if (screen->off_screen_base < screen->memory_size) - KdOffscreenInit (pScreen); #ifdef PSEUDO8 (void) p8Init (pScreen, PSEUDO8_USE_DEFAULT); @@ -1393,6 +1371,11 @@ KdInitOutput (ScreenInfo *pScreenInfo, signal(SIGSEGV, KdBacktrace); } +void +OsVendorFatalError(void) +{ +} + #ifdef DPMSExtension int DPMSSet(ClientPtr client, int level) @@ -1412,5 +1395,3 @@ DPMSSupported (void) } #endif -void ddxInitGlobals(void) { /* THANK YOU XPRINT */ } - diff --git a/xorg-server/hw/kdrive/src/kdrive.h b/xorg-server/hw/kdrive/src/kdrive.h index 4e04b59f7..8e1998ef9 100644 --- a/xorg-server/hw/kdrive/src/kdrive.h +++ b/xorg-server/hw/kdrive/src/kdrive.h @@ -43,13 +43,12 @@ #include "fboverlay.h" #include "shadow.h" #include "randrstr.h" +#include "globals.h" #ifdef XKB #include #endif -extern WindowPtr *WindowTable; - #define KD_DPMS_NORMAL 0 #define KD_DPMS_STANDBY 1 #define KD_DPMS_SUSPEND 2 @@ -114,30 +113,6 @@ typedef struct _KdFrameBuffer { void *closure; } KdFrameBuffer; -typedef struct _KdOffscreenArea KdOffscreenArea; - -typedef void (*KdOffscreenSaveProc) (ScreenPtr pScreen, KdOffscreenArea *area); - -typedef enum _KdOffscreenState { - KdOffscreenAvail, - KdOffscreenRemovable, - KdOffscreenLocked, -} KdOffscreenState; - -struct _KdOffscreenArea { - int offset; - int save_offset; - int size; - int score; - pointer privData; - - KdOffscreenSaveProc save; - - KdOffscreenState state; - - KdOffscreenArea *next; -}; - #define RR_Rotate_All (RR_Rotate_0|RR_Rotate_90|RR_Rotate_180|RR_Rotate_270) #define RR_Reflect_All (RR_Reflect_X|RR_Reflect_Y) @@ -205,8 +180,6 @@ typedef struct { int bytesPerPixel[KD_MAX_FB]; int dpmsState; - - KdOffscreenArea *off_screen_areas; ColormapPtr pInstalledmap[KD_MAX_FB]; /* current colormap */ xColorItem systemPalette[KD_MAX_PSEUDO_SIZE];/* saved windows colors */ @@ -401,90 +374,6 @@ typedef struct _KdPointerMatrix { int matrix[2][3]; } KdPointerMatrix; -typedef struct _KaaTrapezoid { - float tl, tr, ty; - float bl, br, by; -} KaaTrapezoid; - -typedef struct _KaaScreenInfo { - int offsetAlign; - int pitchAlign; - int flags; - - int (*markSync) (ScreenPtr pScreen); - void (*waitMarker) (ScreenPtr pScreen, int marker); - - Bool (*PrepareSolid) (PixmapPtr pPixmap, - int alu, - Pixel planemask, - Pixel fg); - void (*Solid) (int x1, int y1, int x2, int y2); - void (*DoneSolid) (void); - - Bool (*PrepareCopy) (PixmapPtr pSrcPixmap, - PixmapPtr pDstPixmap, - Bool upsidedown, - Bool reverse, - int alu, - Pixel planemask); - void (*Copy) (int srcX, - int srcY, - int dstX, - int dstY, - int width, - int height); - void (*DoneCopy) (void); - - Bool (*PrepareBlend) (int op, - PicturePtr pSrcPicture, - PicturePtr pDstPicture, - PixmapPtr pSrc, - PixmapPtr pDst); - void (*Blend) (int srcX, - int srcY, - int dstX, - int dstY, - int width, - int height); - void (*DoneBlend) (void); - - Bool (*CheckComposite) (int op, - PicturePtr pSrcPicture, - PicturePtr pMaskPicture, - PicturePtr pDstPicture); - Bool (*PrepareComposite) (int op, - PicturePtr pSrcPicture, - PicturePtr pMaskPicture, - PicturePtr pDstPicture, - PixmapPtr pSrc, - PixmapPtr pMask, - PixmapPtr pDst); - void (*Composite) (int srcX, - int srcY, - int maskX, - int maskY, - int dstX, - int dstY, - int width, - int height); - void (*DoneComposite) (void); - - Bool (*PrepareTrapezoids) (PicturePtr pDstPicture, - PixmapPtr pDst); - void (*Trapezoids) (KaaTrapezoid *traps, - int ntraps); - void (*DoneTrapezoids) (void); - - Bool (*UploadToScreen) (PixmapPtr pDst, - char *src, - int src_pitch); - Bool (*UploadToScratch) (PixmapPtr pSrc, - PixmapPtr pDst); -} KaaScreenInfoRec, *KaaScreenInfoPtr; - -#define KAA_OFFSCREEN_PIXMAPS (1 << 0) -#define KAA_OFFSCREEN_ALIGN_POT (1 << 1) - /* * This is the only completely portable way to * compute this info. @@ -504,7 +393,7 @@ extern Bool kdEnabled; extern Bool kdSwitchPending; extern Bool kdEmulateMiddleButton; extern Bool kdDisableZaphod; -extern Bool kdDontZap; +extern Bool kdAllowZap; extern int kdVirtualTerminal; extern char *kdSwitchCmd; extern KdOsFuncs *kdOsFuncs; @@ -515,119 +404,6 @@ extern KdOsFuncs *kdOsFuncs; dixSetPrivate(&(pScreen)->devPrivates, kdScreenPrivateKey, v) #define KdScreenPriv(pScreen) KdPrivScreenPtr pScreenPriv = KdGetScreenPriv(pScreen) -/* kaa.c */ -Bool -kaaDrawInit (ScreenPtr pScreen, - KaaScreenInfoPtr pScreenInfo); - -void -kaaDrawFini (ScreenPtr pScreen); - -void -kaaWrapGC (GCPtr pGC); - -void -kaaUnwrapGC (GCPtr pGC); - -/* kasync.c */ -void -KdCheckFillSpans (DrawablePtr pDrawable, GCPtr pGC, int nspans, - DDXPointPtr ppt, int *pwidth, int fSorted); - -void -KdCheckSetSpans (DrawablePtr pDrawable, GCPtr pGC, char *psrc, - DDXPointPtr ppt, int *pwidth, int nspans, int fSorted); - -void -KdCheckPutImage (DrawablePtr pDrawable, GCPtr pGC, int depth, - int x, int y, int w, int h, int leftPad, int format, - char *bits); - -RegionPtr -KdCheckCopyArea (DrawablePtr pSrc, DrawablePtr pDst, GCPtr pGC, - int srcx, int srcy, int w, int h, int dstx, int dsty); - -RegionPtr -KdCheckCopyPlane (DrawablePtr pSrc, DrawablePtr pDst, GCPtr pGC, - int srcx, int srcy, int w, int h, int dstx, int dsty, - unsigned long bitPlane); - -void -KdCheckPolyPoint (DrawablePtr pDrawable, GCPtr pGC, int mode, int npt, - DDXPointPtr pptInit); - -void -KdCheckPolylines (DrawablePtr pDrawable, GCPtr pGC, - int mode, int npt, DDXPointPtr ppt); - -void -KdCheckPolySegment (DrawablePtr pDrawable, GCPtr pGC, - int nsegInit, xSegment *pSegInit); - -void -KdCheckPolyRectangle (DrawablePtr pDrawable, GCPtr pGC, - int nrects, xRectangle *prect); - -void -KdCheckPolyArc (DrawablePtr pDrawable, GCPtr pGC, - int narcs, xArc *pArcs); - -#define KdCheckFillPolygon miFillPolygon - -void -KdCheckPolyFillRect (DrawablePtr pDrawable, GCPtr pGC, - int nrect, xRectangle *prect); - -void -KdCheckPolyFillArc (DrawablePtr pDrawable, GCPtr pGC, - int narcs, xArc *pArcs); - -void -KdCheckImageGlyphBlt (DrawablePtr pDrawable, GCPtr pGC, - int x, int y, unsigned int nglyph, - CharInfoPtr *ppci, pointer pglyphBase); - -void -KdCheckPolyGlyphBlt (DrawablePtr pDrawable, GCPtr pGC, - int x, int y, unsigned int nglyph, - CharInfoPtr *ppci, pointer pglyphBase); - -void -KdCheckPushPixels (GCPtr pGC, PixmapPtr pBitmap, - DrawablePtr pDrawable, - int w, int h, int x, int y); - -void -KdCheckGetImage (DrawablePtr pDrawable, - int x, int y, int w, int h, - unsigned int format, unsigned long planeMask, - char *d); - -void -KdCheckGetSpans (DrawablePtr pDrawable, - int wMax, - DDXPointPtr ppt, - int *pwidth, - int nspans, - char *pdstStart); - -void -KdCheckCopyWindow (WindowPtr pWin, DDXPointRec ptOldOrg, RegionPtr prgnSrc); - -void -KdCheckPaintKey(DrawablePtr pDrawable, - RegionPtr pRegion, - CARD32 pixel, - int layer); - -void -KdCheckOverlayCopyWindow (WindowPtr pWin, DDXPointRec ptOldOrg, RegionPtr prgnSrc); - -void -KdScreenInitAsync (ScreenPtr pScreen); - -extern const GCOps kdAsyncPixmapGCOps; - /* knoop.c */ extern GCOps kdNoopOps; @@ -921,32 +697,6 @@ KdRandRGetTiming (ScreenPtr pScreen, RRScreenSizePtr pSize); #endif -/* kpict.c */ -void -KdPictureInitAsync (ScreenPtr pScreen); - -#ifdef RENDER -void -KdCheckComposite (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 -KdCheckRasterizeTrapezoid(PicturePtr pMask, - xTrapezoid *trap, - int x_off, - int y_off); -#endif - /* kshadow.c */ Bool KdShadowFbAlloc (KdScreenInfo *screen, int fb, Bool rotate); @@ -960,39 +710,6 @@ KdShadowSet (ScreenPtr pScreen, int randr, ShadowUpdateProc update, ShadowWindow void KdShadowUnset (ScreenPtr pScreen); -/* ktest.c */ -Bool -KdFrameBufferValid (CARD8 *base, int size); - -int -KdFrameBufferSize (CARD8 *base, int max); - -/* koffscreen.c */ - -Bool -KdOffscreenInit (ScreenPtr pScreen); - -KdOffscreenArea * -KdOffscreenAlloc (ScreenPtr pScreen, int size, int align, - Bool locked, - KdOffscreenSaveProc save, - pointer privData); - -KdOffscreenArea * -KdOffscreenFree (ScreenPtr pScreen, KdOffscreenArea *area); - -void -KdOffscreenMarkUsed (PixmapPtr pPixmap); - -void -KdOffscreenSwapOut (ScreenPtr pScreen); - -void -KdOffscreenSwapIn (ScreenPtr pScreen); - -void -KdOffscreenFini (ScreenPtr pScreen); - /* function prototypes to be implemented by the drivers */ void InitCard (char *name); diff --git a/xorg-server/hw/kdrive/src/kinfo.c b/xorg-server/hw/kdrive/src/kinfo.c index 2621f10dd..d592e6803 100644 --- a/xorg-server/hw/kdrive/src/kinfo.c +++ b/xorg-server/hw/kdrive/src/kinfo.c @@ -34,10 +34,9 @@ KdCardInfoAdd (KdCardFuncs *funcs, { KdCardInfo *ci, **prev; - ci = (KdCardInfo *) xalloc (sizeof (KdCardInfo)); + ci = xcalloc (1, sizeof (KdCardInfo)); if (!ci) return 0; - bzero (ci, sizeof (KdCardInfo)); for (prev = &kdCardInfo; *prev; prev = &(*prev)->next); *prev = ci; ci->cfuncs = funcs; @@ -80,10 +79,9 @@ KdScreenInfoAdd (KdCardInfo *ci) KdScreenInfo *si, **prev; int n; - si = (KdScreenInfo *) xalloc (sizeof (KdScreenInfo)); + si = xcalloc (1, sizeof (KdScreenInfo)); if (!si) return 0; - bzero (si, sizeof (KdScreenInfo)); for (prev = &ci->screenList, n = 0; *prev; prev = &(*prev)->next, n++); *prev = si; si->next = 0; diff --git a/xorg-server/hw/kdrive/src/kinput.c b/xorg-server/hw/kdrive/src/kinput.c index 9ba11661c..8e6a475d1 100644 --- a/xorg-server/hw/kdrive/src/kinput.c +++ b/xorg-server/hw/kdrive/src/kinput.c @@ -65,7 +65,7 @@ static struct KdConfigDevice *kdConfigPointers = NULL; static KdKeyboardDriver *kdKeyboardDrivers = NULL; static KdPointerDriver *kdPointerDrivers = NULL; -static xEvent *kdEvents = NULL; +static EventListPtr kdEvents = NULL; static Bool kdInputEnabled; static Bool kdOffScreen; @@ -438,7 +438,6 @@ KdPointerProc(DeviceIntPtr pDevice, int onoff) } InitPointerDeviceStruct(pDev, pi->map, pi->nButtons, - GetMotionHistory, (PtrCtrlProcPtr)NoopDDA, GetMotionHistorySize(), pi->nAxes); @@ -1015,13 +1014,15 @@ KdAddKeyboard (KdKeyboardInfo *ki) if (!ki) return !Success; - ki->dixdev = AddInputDevice(KdKeyboardProc, TRUE); + ki->dixdev = AddInputDevice(serverClient, KdKeyboardProc, TRUE); if (!ki->dixdev) { ErrorF("Couldn't register keyboard device %s\n", ki->name ? ki->name : "(unnamed)"); return !Success; } + ki->dixdev->deviceGrab.ActivateGrab = ActivateKeyboardGrab; + ki->dixdev->deviceGrab.DeactivateGrab = DeactivateKeyboardGrab; RegisterOtherDevice(ki->dixdev); #ifdef DEBUG @@ -1084,13 +1085,15 @@ KdAddPointer (KdPointerInfo *pi) pi->mouseState = start; pi->eventHeld = FALSE; - pi->dixdev = AddInputDevice(KdPointerProc, TRUE); + pi->dixdev = AddInputDevice(serverClient, KdPointerProc, TRUE); if (!pi->dixdev) { ErrorF("Couldn't add pointer device %s\n", pi->name ? pi->name : "(unnamed)"); return BadDevice; } + pi->dixdev->deviceGrab.ActivateGrab = ActivatePointerGrab; + pi->dixdev->deviceGrab.DeactivateGrab = DeactivatePointerGrab; RegisterOtherDevice(pi->dixdev); for (prev = &kdPointers; *prev; prev = &(*prev)->next); @@ -1128,12 +1131,10 @@ KdGetOptions (InputOption **options, char *string) InputOption *newopt = NULL, **tmpo = NULL; int tam_key = 0; - newopt = (InputOption *) xalloc(sizeof (InputOption)); + newopt = xcalloc(1, sizeof (InputOption)); if (!newopt) return FALSE; - bzero(newopt, sizeof (InputOption)); - for (tmpo = options; *tmpo; tmpo = &(*tmpo)->next) ; /* Hello, I'm here */ *tmpo = newopt; @@ -1391,11 +1392,6 @@ KdInitInput (void) ErrorF("Failed to add keyboard!\n"); } - if (!kdEvents) - kdEvents = (xEvent *)xcalloc(sizeof(xEvent), GetMaximumEventsNum()); - if (!kdEvents) - FatalError("Couldn't allocate event buffer\n"); - mieqInit(); } @@ -1744,7 +1740,7 @@ KdClassifyInput (KdPointerInfo *pi, int type, int x, int y, int z, int b) return keyboard; } -#ifndef NDEBUG +#ifdef DEBUG char *kdStateNames[] = { "start", "button_1_pend", @@ -1777,7 +1773,7 @@ char *kdActionNames[] = { "gen_down_2", "gen_up_2", }; -#endif +#endif /* DEBUG */ static void KdQueueEvent (DeviceIntPtr pDev, xEvent *ev) @@ -1929,11 +1925,11 @@ KdCheckSpecialKeys(KdKeyboardInfo *ki, int type, int sym) case XK_BackSpace: case XK_Delete: case XK_KP_Delete: - /* + /* * Set the dispatch exception flag so the server will terminate the * next time through the dispatch loop. */ - if (kdDontZap == FALSE) + if (kdAllowZap || party_like_its_1989) dispatchException |= DE_TERMINATE; break; } @@ -1984,9 +1980,10 @@ KdReleaseAllKeys (void) key++) { if (IsKeyDown(ki, key)) { KdHandleKeyboardEvent(ki, KeyRelease, key); + GetEventList(&kdEvents); nEvents = GetKeyboardEvents(kdEvents, ki->dixdev, KeyRelease, key); for (i = 0; i < nEvents; i++) - KdQueueEvent (ki->dixdev, kdEvents + i); + KdQueueEvent (ki->dixdev, (kdEvents + i)->event); } } } @@ -2048,9 +2045,10 @@ KdEnqueueKeyboardEvent(KdKeyboardInfo *ki, KdHandleKeyboardEvent(ki, type, key_code); } + GetEventList(&kdEvents); nEvents = GetKeyboardEvents(kdEvents, ki->dixdev, type, key_code); for (i = 0; i < nEvents; i++) - KdQueueEvent(ki->dixdev, kdEvents + i); + KdQueueEvent(ki->dixdev, (kdEvents + i)->event); } else { ErrorF("driver %s wanted to post scancode %d outside of [%d, %d]!\n", @@ -2111,13 +2109,17 @@ KdEnqueuePointerEvent(KdPointerInfo *pi, unsigned long flags, int rx, int ry, if (flags & KD_MOUSE_DELTA) { if (x || y || z) + { dixflags = POINTER_RELATIVE | POINTER_ACCELERATE; - } else if ((pi->dixdev->valuator) && (x != pi->dixdev->valuator->lastx || - y != pi->dixdev->valuator->lasty)) - dixflags = POINTER_ABSOLUTE; - - if (dixflags) - _KdEnqueuePointerEvent(pi, MotionNotify, x, y, z, 0, dixflags, FALSE); + _KdEnqueuePointerEvent(pi, MotionNotify, x, y, z, 0, dixflags, FALSE); + } + } else + { + dixflags = POINTER_ABSOLUTE; + if (x != pi->dixdev->last.valuators[0] || + y != pi->dixdev->last.valuators[1]) + _KdEnqueuePointerEvent(pi, MotionNotify, x, y, z, 0, dixflags, FALSE); + } buttons = flags; @@ -2152,10 +2154,11 @@ _KdEnqueuePointerEvent (KdPointerInfo *pi, int type, int x, int y, int z, if (!force && KdHandlePointerEvent(pi, type, x, y, z, b, absrel)) return; - nEvents = GetPointerEvents(kdEvents, pi->dixdev, type, b, absrel, 0, 3, - valuators); + GetEventList(&kdEvents); + nEvents = GetPointerEvents(kdEvents, pi->dixdev, type, b, absrel, + 0, 3, valuators); for (i = 0; i < nEvents; i++) - KdQueueEvent(pi->dixdev, kdEvents + i); + KdQueueEvent(pi->dixdev, (kdEvents + i)->event); } void @@ -2330,11 +2333,11 @@ KdCrossScreen(ScreenPtr pScreen, Bool entering) int KdCurScreen; /* current event screen */ static void -KdWarpCursor (ScreenPtr pScreen, int x, int y) +KdWarpCursor (DeviceIntPtr pDev, ScreenPtr pScreen, int x, int y) { KdBlockSigio (); KdCurScreen = pScreen->myNum; - miPointerWarpCursor (pScreen, x, y); + miPointerWarpCursor(pDev, pScreen, x, y); KdUnblockSigio (); } @@ -2349,7 +2352,7 @@ void ProcessInputEvents () { mieqProcessInputEvents(); - miPointerUpdate(); + miPointerUpdateSprite(inputInfo.pointer); if (kdSwitchPending) KdProcessSwitch (); KdCheckLock (); @@ -2407,6 +2410,7 @@ ChangeDeviceControl(register ClientPtr client, DeviceIntPtr pDev, return Success; case DEVICE_CORE: + return BadMatch; case DEVICE_ENABLE: return Success; diff --git a/xorg-server/hw/kdrive/src/kmap.c b/xorg-server/hw/kdrive/src/kmap.c index ce1e28ae4..60e8ae134 100644 --- a/xorg-server/hw/kdrive/src/kmap.c +++ b/xorg-server/hw/kdrive/src/kmap.c @@ -75,9 +75,6 @@ KdMapDevice (CARD32 addr, CARD32 size) strerror (errno)); return a; #endif -#ifdef VXWORKS - return (void *) addr; -#endif } void @@ -90,9 +87,6 @@ KdUnmapDevice (void *addr, CARD32 size) #ifdef linux munmap (addr, size); #endif -#ifdef VXWORKS - ; -#endif } #ifdef HAVE_ASM_MTRR_H diff --git a/xorg-server/hw/kdrive/src/knoop.c b/xorg-server/hw/kdrive/src/knoop.c deleted file mode 100644 index a3e9468ed..000000000 --- a/xorg-server/hw/kdrive/src/knoop.c +++ /dev/null @@ -1,251 +0,0 @@ -/* - * Copyright © 1999 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 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. - */ - -/* - * GC ops that don't do anything - */ - -#ifdef HAVE_CONFIG_H -#include -#endif -#include "kdrive.h" -#include - -typedef void (* typeFillSpans)( - DrawablePtr /*pDrawable*/, - GCPtr /*pGC*/, - int /*nInit*/, - DDXPointPtr /*pptInit*/, - int * /*pwidthInit*/, - int /*fSorted*/ -); - -typedef void (* typeSetSpans)( - DrawablePtr /*pDrawable*/, - GCPtr /*pGC*/, - char * /*psrc*/, - DDXPointPtr /*ppt*/, - int * /*pwidth*/, - int /*nspans*/, - int /*fSorted*/ -); - -typedef void (* typePutImage)( - DrawablePtr /*pDrawable*/, - GCPtr /*pGC*/, - int /*depth*/, - int /*x*/, - int /*y*/, - int /*w*/, - int /*h*/, - int /*leftPad*/, - int /*format*/, - char * /*pBits*/ -); - -typedef RegionPtr (* typeCopyArea)( - DrawablePtr /*pSrc*/, - DrawablePtr /*pDst*/, - GCPtr /*pGC*/, - int /*srcx*/, - int /*srcy*/, - int /*w*/, - int /*h*/, - int /*dstx*/, - int /*dsty*/ -); - -typedef RegionPtr (* typeCopyPlane)( - DrawablePtr /*pSrcDrawable*/, - DrawablePtr /*pDstDrawable*/, - GCPtr /*pGC*/, - int /*srcx*/, - int /*srcy*/, - int /*width*/, - int /*height*/, - int /*dstx*/, - int /*dsty*/, - unsigned long /*bitPlane*/ -); -typedef void (* typePolyPoint)( - DrawablePtr /*pDrawable*/, - GCPtr /*pGC*/, - int /*mode*/, - int /*npt*/, - DDXPointPtr /*pptInit*/ -); - -typedef void (* typePolylines)( - DrawablePtr /*pDrawable*/, - GCPtr /*pGC*/, - int /*mode*/, - int /*npt*/, - DDXPointPtr /*pptInit*/ -); - -typedef void (* typePolySegment)( - DrawablePtr /*pDrawable*/, - GCPtr /*pGC*/, - int /*nseg*/, - xSegment * /*pSegs*/ -); - -typedef void (* typePolyRectangle)( - DrawablePtr /*pDrawable*/, - GCPtr /*pGC*/, - int /*nrects*/, - xRectangle * /*pRects*/ -); - -typedef void (* typePolyArc)( - DrawablePtr /*pDrawable*/, - GCPtr /*pGC*/, - int /*narcs*/, - xArc * /*parcs*/ -); - -typedef void (* typeFillPolygon)( - DrawablePtr /*pDrawable*/, - GCPtr /*pGC*/, - int /*shape*/, - int /*mode*/, - int /*count*/, - DDXPointPtr /*pPts*/ -); - -typedef void (* typePolyFillRect)( - DrawablePtr /*pDrawable*/, - GCPtr /*pGC*/, - int /*nrectFill*/, - xRectangle * /*prectInit*/ -); - -typedef void (* typePolyFillArc)( - DrawablePtr /*pDrawable*/, - GCPtr /*pGC*/, - int /*narcs*/, - xArc * /*parcs*/ -); - -typedef int (* typePolyText8)( - DrawablePtr /*pDrawable*/, - GCPtr /*pGC*/, - int /*x*/, - int /*y*/, - int /*count*/, - char * /*chars*/ -); - -typedef int (* typePolyText16)( - DrawablePtr /*pDrawable*/, - GCPtr /*pGC*/, - int /*x*/, - int /*y*/, - int /*count*/, - unsigned short * /*chars*/ -); - -typedef void (* typeImageText8)( - DrawablePtr /*pDrawable*/, - GCPtr /*pGC*/, - int /*x*/, - int /*y*/, - int /*count*/, - char * /*chars*/ -); - -typedef void (* typeImageText16)( - DrawablePtr /*pDrawable*/, - GCPtr /*pGC*/, - int /*x*/, - int /*y*/, - int /*count*/, - unsigned short * /*chars*/ -); - -typedef void (* typeImageGlyphBlt)( - DrawablePtr /*pDrawable*/, - GCPtr /*pGC*/, - int /*x*/, - int /*y*/, - unsigned int /*nglyph*/, - CharInfoPtr * /*ppci*/, - pointer /*pglyphBase*/ -); - -typedef void (* typePolyGlyphBlt)( - DrawablePtr /*pDrawable*/, - GCPtr /*pGC*/, - int /*x*/, - int /*y*/, - unsigned int /*nglyph*/, - CharInfoPtr * /*ppci*/, - pointer /*pglyphBase*/ -); - -typedef void (* typePushPixels)( - GCPtr /*pGC*/, - PixmapPtr /*pBitMap*/, - DrawablePtr /*pDst*/, - int /*w*/, - int /*h*/, - int /*x*/, - int /*y*/ -); - -static RegionPtr -KdNoopCopyArea(DrawablePtr pSrcDrawable, DrawablePtr pDstDrawable, GCPtr pGC, - int srcx, int srcy, int width, int height, int dstx, int dsty) -{ - return NullRegion; -} - -static RegionPtr -KdNoopCopyPlane(DrawablePtr pSrcDrawable, DrawablePtr pDstDrawable, GCPtr pGC, - int srcx, int srcy, int width, int height, - int dstx, int dsty, unsigned long bitPlane) -{ - return NullRegion; -} - -GCOps kdNoopOps = { - (typeFillSpans) NoopDDA, /* fill spans */ - (typeSetSpans) NoopDDA, /* set spans */ - (typePutImage) NoopDDA, /* put image */ - KdNoopCopyArea, /* copy area */ - KdNoopCopyPlane, /* copy plane */ - (typePolyPoint) NoopDDA, /* poly point */ - (typePolylines) NoopDDA, /* poly lines */ - (typePolySegment) NoopDDA, /* poly segment */ - (typePolyRectangle) NoopDDA, /* poly rectangle */ - (typePolyArc) NoopDDA, /* poly arc */ - (typeFillPolygon) NoopDDA, /* fill polygon */ - (typePolyFillRect) NoopDDA, /* poly fillrect */ - (typePolyFillArc) NoopDDA, /* poly fillarc */ - (typePolyText8) NoopDDA, /* text 8 */ - (typePolyText16) NoopDDA, /* text 16 */ - (typeImageText8) NoopDDA, /* itext 8 */ - (typeImageText16) NoopDDA, /* itext 16 */ - (typePolyGlyphBlt) NoopDDA, /* glyph blt */ - (typeImageGlyphBlt) NoopDDA, /* iglyph blt */ - (typePushPixels) NoopDDA, /* push pixels */ -}; diff --git a/xorg-server/hw/kdrive/src/koffscreen.c b/xorg-server/hw/kdrive/src/koffscreen.c deleted file mode 100644 index efe03642f..000000000 --- a/xorg-server/hw/kdrive/src/koffscreen.c +++ /dev/null @@ -1,375 +0,0 @@ -/* - * Copyright © 2003 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. - */ - -#ifdef HAVE_CONFIG_H -#include -#endif -#include "kdrive.h" -#include "kaa.h" - -#define DEBUG_OFFSCREEN 0 -#if DEBUG_OFFSCREEN -#define DBG_OFFSCREEN(a) ErrorF a -#else -#define DBG_OFFSCREEN(a) -#endif - -#if DEBUG_OFFSCREEN -static void -KdOffscreenValidate (ScreenPtr pScreen) -{ - KdScreenPriv (pScreen); - KdOffscreenArea *prev = 0, *area; - - assert (pScreenPriv->screen->off_screen_areas->area.offset == 0); - for (area = pScreenPriv->off_screen_areas; area; area = area->next) - { - if (prev) - assert (prev->offset + prev->size == area->offset); - - prev = area; - } - assert (prev->offset + prev->size == pScreenPriv->screen->memory_size); -} -#else -#define KdOffscreenValidate(s) -#endif - -static KdOffscreenArea * -KdOffscreenKickOut (ScreenPtr pScreen, KdOffscreenArea *area) -{ - if (area->save) - (*area->save) (pScreen, area); - return KdOffscreenFree (pScreen, area); -} - -KdOffscreenArea * -KdOffscreenAlloc (ScreenPtr pScreen, int size, int align, - Bool locked, - KdOffscreenSaveProc save, - pointer privData) -{ - KdOffscreenArea *area, *begin, *best; - KdScreenPriv (pScreen); - int tmp, real_size = 0, best_score; - - KdOffscreenValidate (pScreen); - if (!align) - align = 1; - - if (!size) - { - DBG_OFFSCREEN (("Alloc 0x%x -> EMPTY\n", size)); - return NULL; - } - - /* throw out requests that cannot fit */ - if (size > (pScreenPriv->screen->memory_size - pScreenPriv->screen->off_screen_base)) - { - DBG_OFFSCREEN (("Alloc 0x%x -> TOBIG\n", size)); - return NULL; - } - - /* Try to find a free space that'll fit. */ - for (area = pScreenPriv->off_screen_areas; area; area = area->next) - { - /* skip allocated areas */ - if (area->state != KdOffscreenAvail) - continue; - - /* adjust size to match alignment requirement */ - real_size = size; - tmp = area->offset % align; - if (tmp) - real_size += (align - tmp); - - /* does it fit? */ - if (real_size <= area->size) - break; - } - - if (!area) - { - /* - * Kick out existing users to make space. - * - * First, locate a region which can hold the desired object. - */ - - /* prev points at the first object to boot */ - best = NULL; - best_score = MAXINT; - for (begin = pScreenPriv->off_screen_areas; begin != NULL; - begin = begin->next) - { - int avail, score; - KdOffscreenArea *scan; - - if (begin->state == KdOffscreenLocked) - continue; - - /* adjust size to match alignment requirement */ - real_size = size; - tmp = begin->offset % align; - if (tmp) - real_size += (align - tmp); - - avail = 0; - score = 0; - /* now see if we can make room here, and how "costly" it'll be. */ - for (scan = begin; scan != NULL; scan = scan->next) - { - if (scan->state == KdOffscreenLocked) { - /* Can't make room here, start after this locked area. */ - begin = scan->next; - break; - } - /* Score should only be non-zero for KdOffscreenRemovable */ - score += scan->score; - avail += scan->size; - if (avail >= real_size) - break; - } - /* Is it the best option we've found so far? */ - if (avail >= real_size && score < best_score) { - best = begin; - best_score = score; - } - } - area = best; - if (!area) - { - DBG_OFFSCREEN (("Alloc 0x%x -> NOSPACE\n", size)); - /* Could not allocate memory */ - KdOffscreenValidate (pScreen); - return NULL; - } - - /* adjust size to match alignment requirement */ - real_size = size; - tmp = begin->offset % align; - if (tmp) - real_size += (align - tmp); - - /* - * Kick out first area if in use - */ - if (area->state != KdOffscreenAvail) - area = KdOffscreenKickOut (pScreen, area); - /* - * Now get the system to merge the other needed areas together - */ - while (area->size < real_size) - { - assert (area->next && area->next->state == KdOffscreenRemovable); - (void) KdOffscreenKickOut (pScreen, area->next); - } - } - - /* save extra space in new area */ - if (real_size < area->size) - { - KdOffscreenArea *new_area = xalloc (sizeof (KdOffscreenArea)); - if (!new_area) - return NULL; - new_area->offset = area->offset + real_size; - new_area->size = area->size - real_size; - new_area->state = KdOffscreenAvail; - new_area->save = 0; - new_area->score = 0; - new_area->next = area->next; - area->next = new_area; - area->size = real_size; - } - /* - * Mark this area as in use - */ - if (locked) - area->state = KdOffscreenLocked; - else - area->state = KdOffscreenRemovable; - area->privData = privData; - area->save = save; - area->score = 0; - - area->save_offset = area->offset; - { - int tmp = area->offset % align; - if (tmp) - area->offset += (align - tmp); - } - - KdOffscreenValidate (pScreen); - - DBG_OFFSCREEN (("Alloc 0x%x -> 0x%x\n", size, area->offset)); - return area; -} - -void -KdOffscreenSwapOut (ScreenPtr pScreen) -{ - KdScreenPriv (pScreen); - - KdOffscreenValidate (pScreen); - /* loop until a single free area spans the space */ - for (;;) - { - KdOffscreenArea *area = pScreenPriv->off_screen_areas; - - if (!area) - break; - if (area->state == KdOffscreenAvail) - { - area = area->next; - if (!area) - break; - } - assert (area->state != KdOffscreenAvail); - (void) KdOffscreenKickOut (pScreen, area); - KdOffscreenValidate (pScreen); - } - KdOffscreenValidate (pScreen); - KdOffscreenFini (pScreen); -} - -void -KdOffscreenSwapIn (ScreenPtr pScreen) -{ - KdOffscreenInit (pScreen); -} - -/* merge the next free area into this one */ -static void -KdOffscreenMerge (KdOffscreenArea *area) -{ - KdOffscreenArea *next = area->next; - - /* account for space */ - area->size += next->size; - /* frob pointer */ - area->next = next->next; - xfree (next); -} - -KdOffscreenArea * -KdOffscreenFree (ScreenPtr pScreen, KdOffscreenArea *area) -{ - KdScreenPriv(pScreen); - KdOffscreenArea *next = area->next; - KdOffscreenArea *prev; - - DBG_OFFSCREEN (("Free 0x%x -> 0x%x\n", area->size, area->offset)); - KdOffscreenValidate (pScreen); - - area->state = KdOffscreenAvail; - area->save = 0; - area->offset = area->save_offset; - area->score = 0; - - /* - * Find previous area - */ - if (area == pScreenPriv->off_screen_areas) - prev = 0; - else - for (prev = pScreenPriv->off_screen_areas; prev; prev = prev->next) - if (prev->next == area) - break; - - /* link with next area if free */ - if (next && next->state == KdOffscreenAvail) - KdOffscreenMerge (area); - - /* link with prev area if free */ - if (prev && prev->state == KdOffscreenAvail) - { - area = prev; - KdOffscreenMerge (area); - } - - KdOffscreenValidate (pScreen); - return area; -} - -void -KdOffscreenMarkUsed (PixmapPtr pPixmap) -{ - KaaPixmapPriv (pPixmap); - KdScreenPriv (pPixmap->drawable.pScreen); - static int iter = 0; - - if (!pKaaPixmap->area) - return; - - /* The numbers here are arbitrary. We may want to tune these. */ - pKaaPixmap->area->score += 100; - if (++iter == 10) { - KdOffscreenArea *area; - for (area = pScreenPriv->off_screen_areas; area != NULL; - area = area->next) - { - if (area->state == KdOffscreenRemovable) - area->score = (area->score * 7) / 8; - } - } -} - -Bool -KdOffscreenInit (ScreenPtr pScreen) -{ - KdScreenPriv (pScreen); - KdOffscreenArea *area; - - /* Allocate a big free area */ - area = xalloc (sizeof (KdOffscreenArea)); - - if (!area) - return FALSE; - - area->state = KdOffscreenAvail; - area->offset = pScreenPriv->screen->off_screen_base; - area->size = pScreenPriv->screen->memory_size - area->offset; - area->save = 0; - area->next = NULL; - area->score = 0; - - /* Add it to the free areas */ - pScreenPriv->off_screen_areas = area; - - KdOffscreenValidate (pScreen); - - return TRUE; -} - -void -KdOffscreenFini (ScreenPtr pScreen) -{ - KdScreenPriv (pScreen); - KdOffscreenArea *area; - - /* just free all of the area records */ - while ((area = pScreenPriv->off_screen_areas)) - { - pScreenPriv->off_screen_areas = area->next; - xfree (area); - } -} diff --git a/xorg-server/hw/kdrive/src/ktest.c b/xorg-server/hw/kdrive/src/ktest.c deleted file mode 100644 index 150af5639..000000000 --- a/xorg-server/hw/kdrive/src/ktest.c +++ /dev/null @@ -1,76 +0,0 @@ -/* - * Copyright © 1999 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 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. - */ - -#ifdef HAVE_CONFIG_H -#include -#endif -#include "kdrive.h" - - -static CARD8 memoryPatterns[] = { 0xff, 0x00, 0x5a, 0xa5, 0xaa, 0x55 }; - -#define NUM_PATTERNS (sizeof (memoryPatterns) / sizeof (memoryPatterns[0])) - -Bool -KdFrameBufferValid (CARD8 *base, int size) -{ - volatile CARD8 *b = (volatile CARD8 *) base; - CARD8 save, test, compare; - int i, j; - - b = base + (size - 1); - save = *b; - - for (i = 0; i < NUM_PATTERNS; i++) - { - test = memoryPatterns[i]; - *b = test; - for (j = 0; j < 1000; j++) - { - compare = *b; - if (compare != test) - return FALSE; - } - } - *b = save; - return TRUE; -} - -int -KdFrameBufferSize (CARD8 *base, int max) -{ - int min, cur; - - min = 0; - while (min + 1 < max) - { - cur = (max + min) / 2; - if (KdFrameBufferValid (base, cur)) - min = cur; - else - max = cur; - } - if (KdFrameBufferValid (base, max)) - return max; - else - return min; -} diff --git a/xorg-server/hw/kdrive/src/kxv.c b/xorg-server/hw/kdrive/src/kxv.c index 0b8d1c4e0..9a74654af 100644 --- a/xorg-server/hw/kdrive/src/kxv.c +++ b/xorg-server/hw/kdrive/src/kxv.c @@ -103,9 +103,10 @@ static void KdXVClipNotify(WindowPtr pWin, int dx, int dy); /* misc */ static Bool KdXVInitAdaptors(ScreenPtr, KdVideoAdaptorPtr*, int); - -DevPrivateKey KdXVWindowKey = &KdXVWindowKey; -DevPrivateKey KdXvScreenKey = &KdXvScreenKey; +static int KdXVWindowKeyIndex; +DevPrivateKey KdXVWindowKey = &KdXVWindowKeyIndex; +static int KdXvScreenKeyIndex; +DevPrivateKey KdXvScreenKey = &KdXvScreenKeyIndex; static unsigned long KdXVGeneration = 0; static unsigned long PortResource = 0; @@ -1728,47 +1729,6 @@ KdXVQueryImageAttributes( } -/**************** Offscreen surface stuff *******************/ - -typedef struct { - KdOffscreenImagePtr images; - int num; -} OffscreenImageRec; - -static OffscreenImageRec OffscreenImages[MAXSCREENS]; -static Bool offscreenInited = FALSE; - -Bool -KdXVRegisterOffscreenImages( - ScreenPtr pScreen, - KdOffscreenImagePtr images, - int num -){ - if(!offscreenInited) { - bzero(OffscreenImages, sizeof(OffscreenImages[MAXSCREENS])); - offscreenInited = TRUE; - } - - OffscreenImages[pScreen->myNum].num = num; - OffscreenImages[pScreen->myNum].images = images; - - return TRUE; -} - -KdOffscreenImagePtr -KdXVQueryOffscreenImages( - ScreenPtr pScreen, - int *num -){ - if(!offscreenInited) { - *num = 0; - return NULL; - } - - *num = OffscreenImages[pScreen->myNum].num; - return OffscreenImages[pScreen->myNum].images; -} - /**************** Common video manipulation functions *******************/ void diff --git a/xorg-server/hw/kdrive/src/kxv.h b/xorg-server/hw/kdrive/src/kxv.h index 5d1441642..900baefde 100644 --- a/xorg-server/hw/kdrive/src/kxv.h +++ b/xorg-server/hw/kdrive/src/kxv.h @@ -186,30 +186,6 @@ typedef struct { QueryImageAttributesFuncPtr QueryImageAttributes; } KdVideoAdaptorRec, *KdVideoAdaptorPtr; -typedef struct { - KdImagePtr image; - int flags; - int (*alloc_surface)(KdScreenInfo * screen, - int id, - unsigned short width, - unsigned short height, - KdSurfacePtr surface); - int (*free_surface)(KdSurfacePtr surface); - int (*display) (KdSurfacePtr surface, - short vid_x, short vid_y, - short drw_x, short drw_y, - short vid_w, short vid_h, - short drw_w, short drw_h, - RegionPtr clipBoxes); - int (*stop) (KdSurfacePtr surface); - int (*getAttribute) (KdScreenInfo * screen, Atom attr, INT32 *value); - int (*setAttribute) (KdScreenInfo * screen, Atom attr, INT32 value); - int max_width; - int max_height; - int num_attributes; - KdAttributePtr attributes; -} KdOffscreenImageRec, *KdOffscreenImagePtr; - Bool KdXVScreenInit( ScreenPtr pScreen, @@ -231,19 +207,6 @@ KdXVListGenericAdaptors( KdVideoAdaptorPtr **Adaptors ); -Bool -KdXVRegisterOffscreenImages( - ScreenPtr pScreen, - KdOffscreenImagePtr images, - int num -); - -KdOffscreenImagePtr -KdXVQueryOffscreenImages( - ScreenPtr pScreen, - int *num -); - void KdXVCopyPackedData(KdScreenInfo *screen, CARD8 *src, CARD8 *dst, int randr, int srcPitch, int dstPitch, int srcW, int srcH, int top, int left, diff --git a/xorg-server/hw/kdrive/src/vga.c b/xorg-server/hw/kdrive/src/vga.c index 862f074a2..5a0a9678c 100644 --- a/xorg-server/hw/kdrive/src/vga.c +++ b/xorg-server/hw/kdrive/src/vga.c @@ -43,17 +43,6 @@ #define _VgaBytePort(a) (a) #endif -#ifdef VXWORKS -#define _VgaInb(r) 0 -#define _VgaOutb(v,r) 0 - -#define _VgaByteAddr(a) ((VGAVOL8 *) ((VGA32) (a) ^ 3)) -#define _VgaBytePort(a) 0 - -#undef stderr -#define stderr stdout - -#endif #undef VGA_DEBUG_REGISTERS #ifdef VGA_DEBUG_REGISTERS diff --git a/xorg-server/hw/kdrive/vesa/Makefile.am b/xorg-server/hw/kdrive/vesa/Makefile.am deleted file mode 100644 index 4225dcfbc..000000000 --- a/xorg-server/hw/kdrive/vesa/Makefile.am +++ /dev/null @@ -1,33 +0,0 @@ -INCLUDES = \ - @KDRIVE_INCS@ \ - @KDRIVE_CFLAGS@ - -noinst_LIBRARIES = libvesa.a - -bin_PROGRAMS = Xvesa - -libvesa_a_SOURCES = \ - vesa.c \ - vesa.h \ - vbe.c \ - vbe.h \ - vga.c \ - vga.h \ - vm86.c \ - vm86.h - -Xvesa_SOURCES = \ - vesainit.c - -Xvesa_LDADD = \ - libvesa.a \ - @KDRIVE_LIBS@ - -Xvesa_DEPENDENCIES = \ - libvesa.a \ - @KDRIVE_LOCAL_LIBS@ - -Xvesa_LDFLAGS = $(LD_EXPORT_SYMBOLS_FLAG) - -relink: - rm -f $(bin_PROGRAMS) && make $(bin_PROGRAMS) diff --git a/xorg-server/hw/kdrive/vesa/Makefile.in b/xorg-server/hw/kdrive/vesa/Makefile.in deleted file mode 100644 index 0531ce07b..000000000 --- a/xorg-server/hw/kdrive/vesa/Makefile.in +++ /dev/null @@ -1,717 +0,0 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008 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 = Xvesa$(EXEEXT) -subdir = hw/kdrive/vesa -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 -libvesa_a_AR = $(AR) $(ARFLAGS) -libvesa_a_LIBADD = -am_libvesa_a_OBJECTS = vesa.$(OBJEXT) vbe.$(OBJEXT) vga.$(OBJEXT) \ - vm86.$(OBJEXT) -libvesa_a_OBJECTS = $(am_libvesa_a_OBJECTS) -am__installdirs = "$(DESTDIR)$(bindir)" -binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) -PROGRAMS = $(bin_PROGRAMS) -am_Xvesa_OBJECTS = vesainit.$(OBJEXT) -Xvesa_OBJECTS = $(am_Xvesa_OBJECTS) -Xvesa_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(Xvesa_LDFLAGS) \ - $(LDFLAGS) -o $@ -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include -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 = $(libvesa_a_SOURCES) $(Xvesa_SOURCES) -DIST_SOURCES = $(libvesa_a_SOURCES) $(Xvesa_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@ -DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ -DRI2PROTO_LIBS = @DRI2PROTO_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@ -DSYMUTIL = @DSYMUTIL@ -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@ -GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ -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@ -LAUNCHD = @LAUNCHD@ -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@ -NMEDIT = @NMEDIT@ -OBJC = @OBJC@ -OBJCCLD = @OBJCCLD@ -OBJCDEPMODE = @OBJCDEPMODE@ -OBJCFLAGS = @OBJCFLAGS@ -OBJCLINK = @OBJCLINK@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ -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@ -PCIACCESS_CFLAGS = @PCIACCESS_CFLAGS@ -PCIACCESS_LIBS = @PCIACCESS_LIBS@ -PCI_TXT_IDS_PATH = @PCI_TXT_IDS_PATH@ -PERL = @PERL@ -PKG_CONFIG = @PKG_CONFIG@ -PROJECTROOT = @PROJECTROOT@ -PS2PDF = @PS2PDF@ -RANLIB = @RANLIB@ -RAWCPP = @RAWCPP@ -RAWCPPFLAGS = @RAWCPPFLAGS@ -SED = @SED@ -SERVER_MISC_CONFIG_PATH = @SERVER_MISC_CONFIG_PATH@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ -SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ -STRIP = @STRIP@ -TSLIB_CFLAGS = @TSLIB_CFLAGS@ -TSLIB_LIBS = @TSLIB_LIBS@ -UTILS_SYS_LIBS = @UTILS_SYS_LIBS@ -VENDOR_MAN_VERSION = @VENDOR_MAN_VERSION@ -VENDOR_NAME = @VENDOR_NAME@ -VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ -VENDOR_RELEASE = @VENDOR_RELEASE@ -VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ -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_CFLAGS = @XDMX_CFLAGS@ -XDMX_LIBS = @XDMX_LIBS@ -XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ -XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ -XEPHYR_INCS = @XEPHYR_INCS@ -XEPHYR_LIBS = @XEPHYR_LIBS@ -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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ -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@ -XNEST_SYS_LIBS = @XNEST_SYS_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_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@ -XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_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@ -XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ -XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ -XTSTEXAMPLES_DEP_LIBS = @XTSTEXAMPLES_DEP_LIBS@ -XVFB_LIBS = @XVFB_LIBS@ -XVFB_SYS_LIBS = @XVFB_SYS_LIBS@ -XWINMODULES_CFLAGS = @XWINMODULES_CFLAGS@ -XWINMODULES_LIBS = @XWINMODULES_LIBS@ -XWIN_LIBS = @XWIN_LIBS@ -XWIN_SERVER_NAME = @XWIN_SERVER_NAME@ -XWIN_SYS_LIBS = @XWIN_SYS_LIBS@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -__XCONFIGFILE__ = @__XCONFIGFILE__@ -abi_ansic = @abi_ansic@ -abi_extension = @abi_extension@ -abi_font = @abi_font@ -abi_videodrv = @abi_videodrv@ -abi_xinput = @abi_xinput@ -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@ -launchagentsdir = @launchagentsdir@ -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_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ -INCLUDES = \ - @KDRIVE_INCS@ \ - @KDRIVE_CFLAGS@ - -noinst_LIBRARIES = libvesa.a -libvesa_a_SOURCES = \ - vesa.c \ - vesa.h \ - vbe.c \ - vbe.h \ - vga.c \ - vga.h \ - vm86.c \ - vm86.h - -Xvesa_SOURCES = \ - vesainit.c - -Xvesa_LDADD = \ - libvesa.a \ - @KDRIVE_LIBS@ - -Xvesa_DEPENDENCIES = \ - libvesa.a \ - @KDRIVE_LOCAL_LIBS@ - -Xvesa_LDFLAGS = $(LD_EXPORT_SYMBOLS_FLAG) -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/kdrive/vesa/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign hw/kdrive/vesa/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) -libvesa.a: $(libvesa_a_OBJECTS) $(libvesa_a_DEPENDENCIES) - -rm -f libvesa.a - $(libvesa_a_AR) libvesa.a $(libvesa_a_OBJECTS) $(libvesa_a_LIBADD) - $(RANLIB) libvesa.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) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ - $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --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 -Xvesa$(EXEEXT): $(Xvesa_OBJECTS) $(Xvesa_DEPENDENCIES) - @rm -f Xvesa$(EXEEXT) - $(Xvesa_LINK) $(Xvesa_OBJECTS) $(Xvesa_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vbe.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vesa.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vesainit.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vga.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vm86.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; nonemtpy = 1; } \ - END { if (nonempty) { 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; nonempty = 1; } \ - END { if (nonempty) { 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=; \ - 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; nonempty = 1; } \ - END { if (nonempty) { 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) -installdirs: - for dir in "$(DESTDIR)$(bindir)"; 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-dvi: install-dvi-am - -install-exec-am: install-binPROGRAMS - -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-binPROGRAMS - -.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-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-binPROGRAMS - - -relink: - rm -f $(bin_PROGRAMS) && make $(bin_PROGRAMS) -# 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/xorg-server/hw/kdrive/vesa/vbe.c b/xorg-server/hw/kdrive/vesa/vbe.c deleted file mode 100644 index cedefe9fc..000000000 --- a/xorg-server/hw/kdrive/vesa/vbe.c +++ /dev/null @@ -1,706 +0,0 @@ -/* -Copyright (c) 2000 by Juliusz Chroboczek - -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. -*/ - -#ifdef HAVE_CONFIG_H -#include -#endif -#include "vesa.h" - -int -VbeGetVib (Vm86InfoPtr vi, VbeInfoBlock *vib) -{ - int code; - int mark; - int vib_base; - VbeInfoBlock *vib_low; - - mark = Vm86MarkMemory (vi); - vib_base = Vm86AllocateMemory (vi, sizeof (VbeInfoBlock)); - vib_low = (VbeInfoBlock*)&(LM(vi, vib_base)); - vi->vms.regs.eax = 0x4F00; - vi->vms.regs.es = POINTER_SEGMENT(vib_base); - vi->vms.regs.edi = POINTER_OFFSET(vib_base); - memcpy(vib_low->VbeSignature, "VBE2", 4); - code = VbeDoInterrupt10(vi); - if(code >= 0) - { - if(memcmp(vib_low->VbeSignature, "VESA", 4) == 0) - *vib = *vib_low; - else - code = -1; - } - Vm86ReleaseMemory (vi, mark); - return code; -} - -int -VbeGetVmib (Vm86InfoPtr vi, int mode, VbeModeInfoBlock *vmib) -{ - int code; - int mark; - int vmib_base; - VbeModeInfoBlock *vmib_low; - - mark = Vm86MarkMemory (vi); - - vmib_base = Vm86AllocateMemory (vi, sizeof (VbeModeInfoBlock)); - vmib_low = (VbeModeInfoBlock*)&(LM(vi, vmib_base)); - - vi->vms.regs.eax = 0x4F01; - vi->vms.regs.ecx = mode&0xFFFF; - vi->vms.regs.es = POINTER_SEGMENT(vmib_base); - vi->vms.regs.edi = POINTER_OFFSET(vmib_base); - code = VbeDoInterrupt10(vi); - - if(code >= 0) - *vmib = *vmib_low; - Vm86ReleaseMemory (vi, mark); - return code; -} - -static int -VbeReportVib(Vm86InfoPtr vi, VbeInfoBlock *vib) -{ - U32 i, p; - unsigned char c; - int error = 0; - - ErrorF("VBE version %c.%c (", - ((vib->VbeVersion >> 8) & 0xFF) + '0', - (vib->VbeVersion & 0xFF)+'0'); - p = vib->OemStringPtr; - for(i = 0; 1; i++) { - c = Vm86Memory(vi, MAKE_POINTER_1(p+i)); - if(!c) break; - if (c >= ' ') - ErrorF("%c", c); - if (i > 32000) { - error = 1; - break; - } - } - ErrorF(")\n"); - ErrorF("DAC is %s, controller is %sVGA compatible%s\n", - (vib->Capabilities[0]&1)?"switchable":"fixed", - (vib->Capabilities[0]&2)?"not ":"", - (vib->Capabilities[0]&3)?", RAMDAC causes snow":""); - ErrorF("Total memory: %lu kilobytes\n", 64L*vib->TotalMemory); - if(error) - return -1; - return 0; -} - -#if 0 -static int -VbeReportModeInfo(Vm86InfoPtr vi, U16 mode, VbeModeInfoBlock *vmib) -{ - int supported = (vmib->ModeAttributes&0x1)?1:0; - int colour = (vmib->ModeAttributes&0x8)?1:0; - int graphics = (vmib->ModeAttributes&0x10)?1:0; - int vga_compatible = !((vmib->ModeAttributes&0x20)?1:0); - int linear_fb = (vmib->ModeAttributes&0x80)?1:0; - - ErrorF("0x%04X: %dx%dx%d%s", - (unsigned)mode, - (int)vmib->XResolution, (int)vmib->YResolution, - (int)vmib->BitsPerPixel, - colour?"":" (monochrome)", - graphics?"":" (graphics)", - vga_compatible?"":" (vga compatible)", - linear_fb?"":" (linear frame buffer)"); - switch(vmib->MemoryModel) { - case 0: - ErrorF(" text mode (%dx%d)", - (int)vmib->XCharSize, (int)vmib->YCharSize); - break; - case 1: - ErrorF(" CGA graphics"); - break; - case 2: - ErrorF(" Hercules graphics"); - break; - case 3: - ErrorF(" Planar (%d planes)", vmib->NumberOfPlanes); - break; - case 4: - ErrorF(" PseudoColor"); - break; - case 5: - ErrorF(" Non-chain 4, 256 colour"); - break; - case 6: - if(vmib->DirectColorModeInfo & 1) - ErrorF(" DirectColor"); - else - ErrorF(" TrueColor"); - ErrorF(" [%d:%d:%d:%d]", - vmib->RedMaskSize, vmib->GreenMaskSize, vmib->BlueMaskSize, - vmib->RsvdMaskSize); - if(vmib->DirectColorModeInfo & 2) - ErrorF(" (reserved bits are reserved)"); - break; - case 7: ErrorF("YUV"); - break; - default: - ErrorF("unknown MemoryModel 0x%X ", vmib->MemoryModel); - } - if(!supported) - ErrorF(" (unsupported)"); - else if(!linear_fb) - ErrorF(" (no linear framebuffer)"); - ErrorF("\n"); - return 0; -} -#endif - -void -VbeReportInfo (Vm86InfoPtr vi) -{ - VbeInfoBlock vib; - int code; - - code = VbeGetVib (vi, &vib); - if (code >= 0) - VbeReportVib(vi, &vib); -} - -int -VbeGetNmode (Vm86InfoPtr vi) -{ - VbeInfoBlock vib; - int code; - unsigned int p; - int n; - int mode; - - code = VbeGetVib (vi, &vib); - if (code >= 0) - { - p = MAKE_POINTER_1(vib.VideoModePtr); - for (n = 0; ; n++) - { - mode = Vm86MemoryW(vi, p); - if (mode == 0xffff) - break; - p += 2; - } - code = n; - } - return code; -} - -int -VbeGetModes (Vm86InfoPtr vi, VesaModePtr modes, int nmode) -{ - VbeInfoBlock vib; - int code; - unsigned int p; - int n; - int mode; - VbeModeInfoBlock vmib; - - code = VbeGetVib (vi, &vib); - if (code < 0) - return code; - - memset (modes, '\0', nmode * sizeof (VesaModeRec)); - - p = MAKE_POINTER_1(vib.VideoModePtr); - for (n = 0; n < nmode; n++) - { - mode = Vm86MemoryW(vi, p); - if (mode == 0xffff) - break; - modes[n].mode = mode; - modes[n].vbe = 1; - p += 2; - } - - nmode = n; - - for (n = 0; n < nmode; n++) - { - code = VbeGetVmib (vi, modes[n].mode, &vmib); - if (code >= 0) - { - modes[n].ModeAttributes = vmib.ModeAttributes; - modes[n].NumberOfPlanes = vmib.NumberOfPlanes; - modes[n].BitsPerPixel = vmib.BitsPerPixel; - modes[n].MemoryModel = vmib.MemoryModel; - modes[n].RedMaskSize = vmib.RedMaskSize; - modes[n].RedFieldPosition = vmib.RedFieldPosition; - modes[n].GreenMaskSize = vmib.GreenMaskSize; - modes[n].GreenFieldPosition = vmib.GreenFieldPosition; - modes[n].BlueMaskSize = vmib.BlueMaskSize; - modes[n].BlueFieldPosition = vmib.BlueFieldPosition; - modes[n].RsvdMaskSize = vmib.RsvdMaskSize; - modes[n].RsvdFieldPosition = vmib.RsvdFieldPosition; - modes[n].DirectColorModeInfo = vmib.DirectColorModeInfo; - modes[n].XResolution = vmib.XResolution; - modes[n].YResolution = vmib.YResolution; - modes[n].BytesPerScanLine = vmib.BytesPerScanLine; - } - } - - return nmode; -} - -VbeInfoPtr -VbeInit (Vm86InfoPtr vi) -{ - VbeInfoPtr vbe; - int code; - VbeInfoBlock vib; - - code = VbeGetVib (vi, &vib); - if (code < 0) - return 0; - - vbe = xalloc (sizeof (VbeInfoRec)); - if (!vbe) - return 0; - vbe->palette_format = 6; - vbe->palette_wait = TRUE; - return vbe; -} - -void -VbeCleanup (Vm86InfoPtr vi, VbeInfoPtr vbe) -{ - xfree (vbe); -} - -int -VbeSetMode (Vm86InfoPtr vi, VbeInfoPtr vbe, int mode, int linear, int direct) -{ - int code; - VbeInfoBlock vib; - int palette_wait = 0, palette_hi = 0; - - code = VbeGetVib (vi, &vib); - if (code < 0) - return -1; - - code = VbeGetVmib (vi, mode, &vbe->vmib); - if (code < 0) - return -1; - - mode = (mode & 0xffff) &~ 0x8000; - if (linear) - mode |= 0x4000; - - vi->vms.regs.eax = 0x4F02; - vi->vms.regs.ebx = mode; - code = VbeDoInterrupt10(vi); - if(code < 0) - return -1; - - vbe->windowA_offset = vbe->windowB_offset = -1; - vbe->last_window = 1; - - if (!direct) - { - if(vib.Capabilities[0] & 1) - palette_hi = 1; - if(vib.Capabilities[0] & 4) - palette_wait = 1; - - if(palette_hi || palette_wait) - VbeSetPaletteOptions(vi, vbe, palette_hi?8:6, palette_wait); - } - - return 0; -} - -int -VbeGetMode(Vm86InfoPtr vi, int *mode) -{ - int code; - - vi->vms.regs.eax = 0x4F03; - code = VbeDoInterrupt10(vi); - if(code < 0) - return - 1; - *mode = vi->vms.regs.ebx & 0xFFFF; - return 0; -} - -void * -VbeMapFramebuffer(Vm86InfoPtr vi, VbeInfoPtr vbe, int mode, int *ret_size, CARD32 *ret_phys) -{ - U8 *fb; - VbeInfoBlock vib; - VbeModeInfoBlock vmib; - int size; - int pagesize = getpagesize(); - int before, after; - - if (VbeGetVib (vi, &vib) < 0) - return 0; - - if (VbeGetVmib (vi, mode, &vmib) < 0) - return 0; - - size = 1024 * 64L * vib.TotalMemory; - - *ret_size = size; - *ret_phys = vmib.PhysBasePtr; - - before = vmib.PhysBasePtr % pagesize; - after = pagesize - ((vmib.PhysBasePtr + size) % pagesize); - if(after == pagesize) - after = 0; - - fb = KdMapDevice (vmib.PhysBasePtr - before, before + size + after); - - if(fb == 0) - { - ErrorF("Failed to map framebuffer\n"); - return NULL; - } - - KdSetMappedMode (vmib.PhysBasePtr - before, before + size + after, - KD_MAPPED_MODE_FRAMEBUFFER); - - return fb + before; -} - -void -VbeUnmapFramebuffer(Vm86InfoPtr vi, VbeInfoPtr vbe, int mode, void *fb) -{ - VbeInfoBlock vib; - VbeModeInfoBlock vmib; - int size; - int pagesize = getpagesize(); - int before, after; - - if (VbeGetVib (vi, &vib) < 0) - return; - - if (VbeGetVmib (vi, mode, &vmib) < 0) - return; - - size = 1024 * 64L * vib.TotalMemory; - - before = vmib.PhysBasePtr % pagesize; - after = pagesize - ((vmib.PhysBasePtr + size) % pagesize); - if(after == pagesize) - after = 0; - - fb = (void *) ((char *) fb - before); - - KdUnmapDevice (fb, before + size + after); - KdResetMappedMode (vmib.PhysBasePtr - before, before + size + after, - KD_MAPPED_MODE_FRAMEBUFFER); -} - -int -VbeSetPalette(Vm86InfoPtr vi, VbeInfoPtr vbe, int first, int number, U8 *entries) -{ - U8 *palette_scratch; - int mark; - int palette_base; - int i, code; - - if(number == 0) - return 0; - - if(first < 0 || number < 0 || first + number > 256) { - ErrorF("Cannot set %d, %d palette entries\n", first, number); - return -1; - } - if(vbe->palette_format < 6 || vbe->palette_format > 8) { - ErrorF("Impossible palette format %d\n", vbe->palette_format); - return -1; - } - - mark = Vm86MarkMemory (vi); - palette_base = Vm86AllocateMemory (vi, 4 * 256); - - palette_scratch = &LM(vi, palette_base); - - for(i=0; i> (8 - vbe->palette_format); - - vi->vms.regs.eax = 0x4F09; - if(vbe->palette_wait) - vi->vms.regs.ebx = 0x80; - else - vi->vms.regs.ebx = 0x00; - vi->vms.regs.ecx = number; - vi->vms.regs.edx = first; - vi->vms.regs.es = POINTER_SEGMENT(palette_base); - vi->vms.regs.edi = POINTER_OFFSET(palette_base); - code = VbeDoInterrupt10(vi); - Vm86ReleaseMemory (vi, mark); - - if(code < 0) - return -1; - return 0; -} - -int -VbeGetPalette(Vm86InfoPtr vi, VbeInfoPtr vbe, int first, int number, U8 *entries) -{ - U8 *palette_scratch; - int mark; - int palette_base; - int i, code; - - if(number == 0) - return 0; - - if(first < 0 || number < 0 || first + number > 256) { - ErrorF("Cannot get %d, %d palette entries\n", first, number); - return -1; - } - if(vbe->palette_format < 6 || vbe->palette_format > 8) { - ErrorF("Impossible palette format %d\n", vbe->palette_format); - return -1; - } - - mark = Vm86MarkMemory (vi); - palette_base = Vm86AllocateMemory (vi, 4 * 256); - - palette_scratch = &LM(vi, palette_base); - - vi->vms.regs.eax = 0x4F09; - vi->vms.regs.ebx = 0x01; - vi->vms.regs.ecx = number; - vi->vms.regs.edx = first; - vi->vms.regs.es = POINTER_SEGMENT(palette_base); - vi->vms.regs.edi = POINTER_OFFSET(palette_base); - code = VbeDoInterrupt10(vi); - if(code >= 0) - { - for(i=0; ipalette_format); - } - Vm86ReleaseMemory (vi, mark); - - return 0; -} - -int -VbeSetPaletteOptions(Vm86InfoPtr vi, VbeInfoPtr vbe, U8 bits, int wait) -{ - int code; - - if(bits < 6 || bits > 8) { - ErrorF("Impossible palette format %d\n", bits); - return -1; - } - if(bits != vbe->palette_format) - { - vbe->palette_format = 0; - vi->vms.regs.eax = 0x4F08; - vi->vms.regs.ebx = bits << 8; - code = VbeDoInterrupt10(vi); - if(code < 0) - return -1; - vbe->palette_format = bits; - } - vbe->palette_wait = wait; - return 0; -} - -static int -VbeReallySetWindow(Vm86InfoPtr vi, U8 window, U16 winnum) -{ - int code; - vi->vms.regs.eax = 0x4F05; - vi->vms.regs.ebx = window; - vi->vms.regs.edx = winnum; - code = VbeDoInterrupt10(vi); - if(code < 0) - return -1; - return 0; -} - -void * -VbeSetWindow(Vm86InfoPtr vi, VbeInfoPtr vbe, int offset, int purpose, int *size_return) -{ - int window_size = vbe->vmib.WinSize * 1024; - int code; - int winnum; - - if(vbe->windowA_offset >= 0) - if(vbe->windowA_offset <= offset && vbe->windowA_offset + window_size > offset) - if(vbe->vmib.WinAAttributes & purpose) - goto windowA; - - if(vbe->windowB_offset >= 0) - if(vbe->windowB_offset <= offset && vbe->windowB_offset + window_size > offset) - if(vbe->vmib.WinBAttributes & purpose) - goto windowB; - - if(!(vbe->vmib.WinBAttributes & purpose) || - !(vbe->vmib.WinBAttributes & VBE_WINDOW_RELOCATE)) - goto set_windowA; - - if(!(vbe->vmib.WinAAttributes & purpose) || - !(vbe->vmib.WinAAttributes & VBE_WINDOW_RELOCATE)) - goto set_windowB; - - if(vbe->last_window) - goto set_windowA; - else - goto set_windowB; - -set_windowA: - winnum = offset / (vbe->vmib.WinGranularity * 1024); - code = VbeReallySetWindow(vi, 0, winnum); - if(code < 0) { - ErrorF("Couldn't set window A to %d*%d\n", - (int)winnum, (int)vbe->vmib.WinGranularity); - return NULL; - } - vbe->windowA_offset = winnum * vbe->vmib.WinGranularity * 1024; -windowA: - vbe->last_window = 0; - *size_return = vbe->vmib.WinSize * 1024 - (offset - vbe->windowA_offset); - return ((U8*)&(LM(vi, MAKE_POINTER(vbe->vmib.WinASegment, 0)))) + offset - vbe->windowA_offset; - -set_windowB: - winnum = offset / (vbe->vmib.WinGranularity * 1024); - code = VbeReallySetWindow(vi, 1, winnum); - if(code < 0) { - ErrorF("Couldn't set window B to %d*%d\n", - (int)winnum, (int)vbe->vmib.WinGranularity); - return NULL; - } - vbe->windowB_offset = winnum * vbe->vmib.WinGranularity * 1024; -windowB: - vbe->last_window = 1; - *size_return = vbe->vmib.WinSize * 1024 - (offset - vbe->windowB_offset); - return ((U8*)&(LM(vi, MAKE_POINTER(vbe->vmib.WinBSegment, 0)))) + offset - vbe->windowB_offset; -} - -static const int VbeDPMSModes[4] = { - 0x00, /* KD_DPMS_NORMAL */ - 0x01, /* KD_DPMS_STANDBY */ - 0x02, /* KD_DPMS_SUSPEND */ - 0x04, /* KD_DPMS_POWERDOWN */ -}; - -Bool -VbeDPMS(Vm86InfoPtr vi, int mode) -{ - int code; - - /* - * Check which modes are supported - */ - vi->vms.regs.eax = 0x4f10; - vi->vms.regs.ebx = 0x0000; - vi->vms.regs.es = 0; - vi->vms.regs.edi = 0; - code = VbeDoInterrupt10 (vi); - if (code < 0) - { - ErrorF ("No DPMS Support %d\n", code); - return FALSE; - } - /* Skip this stage if it's not supported */ - if (((vi->vms.regs.ebx >> 4) & VbeDPMSModes[mode]) != VbeDPMSModes[mode]) - return FALSE; - - /* Select this mode */ - vi->vms.regs.eax = 0x4f10; - vi->vms.regs.ebx = (VbeDPMSModes[mode] << 8) | 0x01; - code = VbeDoInterrupt10 (vi); - if (code < 0) - { - ErrorF ("DPMS failed %d\n", code); - return FALSE; - } - - return TRUE; -} - -Bool -VbeBoot(Vm86InfoPtr vi) -{ - int code; - int bus = 1; - int device = 0; - int function = 0; - - vi->vms.regs.eax = (bus << 8) | (device << 3) | (function & 0x7); - code = VbeDoInterruptE6 (vi); - ErrorF ("Boot: %d\n", code); - return TRUE; -} - -int -VbeDoInterrupt10(Vm86InfoPtr vi) -{ - int code; - int oldax; - - oldax = vi->vms.regs.eax & 0xFFFF; - - code = Vm86DoInterrupt(vi, 0x10); - if(code < 0) - return -1; - - if((vi->vms.regs.eax & 0xFFFF) != 0x4F && (oldax & 0xFF00) == 0x4F00) { - ErrorF("Int 10h (0x%04X) failed: 0x%04X", - oldax, vi->vms.regs.eax & 0xFFFF); - if((oldax & 0xFF00) == 0x4F00) { - switch((vi->vms.regs.eax & 0xFF00)>>8) { - case 0: - ErrorF(" (success)\n"); - return 0; - case 1: - ErrorF(" (function call failed)\n"); - break; - case 2: - ErrorF(" (function not supported on this hardware)\n"); - break; - case 3: - ErrorF(" (function call invalid in this video mode)\n"); - break; - default: - ErrorF(" (unknown error)\n"); - break; - } return -1; - } else { - ErrorF("\n"); - } - } - return code; -} - -int -VbeDoInterruptE6(Vm86InfoPtr vi) -{ - int code; - int oldax; - - oldax = vi->vms.regs.eax & 0xffff; - - code = Vm86DoPOST (vi); - ErrorF("POST (0x%04X): 0x%04X\n", - oldax, vi->vms.regs.eax & 0xffff); - return code; -} diff --git a/xorg-server/hw/kdrive/vesa/vbe.h b/xorg-server/hw/kdrive/vesa/vbe.h deleted file mode 100644 index f67fbbe42..000000000 --- a/xorg-server/hw/kdrive/vesa/vbe.h +++ /dev/null @@ -1,165 +0,0 @@ -/* -Copyright (c) 2000 by Juliusz Chroboczek - -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. -*/ - -#ifndef _VBE_H -#define _VBE_H - -#define VBE_WINDOW_RELOCATE 1 -#define VBE_WINDOW_READ 2 -#define VBE_WINDOW_WRITE 4 - -typedef struct _VbeInfoBlock { - U8 VbeSignature[4]; /* VBE Signature */ - U16 VbeVersion; /* VBE Version */ - U32 OemStringPtr; /* Pointer to OEM String */ - U8 Capabilities[4]; /* Capabilities of graphics controller */ - U32 VideoModePtr; /* Pointer to VideoModeList */ - U16 TotalMemory; /* Number of 64kb memory blocks */ -/* Added for VBE 2.0 */ - U16 OemSoftwareRev; /* VBE implementation Software revision */ - U32 OemVendorNamePtr; /* Pointer to Vendor Name String */ - U32 OemProductNamePtr; /* Pointer to Product Name String */ - U32 OemProductRevPtr; /* Pointer to Product Revision String */ - U8 Reserved[222]; /* Reserved for VBE implementation */ - U8 OemData[256]; /* Data Area for OEM Strings*/ -} __attribute__((packed)) VbeInfoBlock; - -typedef struct _VbeModeInfoBlock { -/* Mandatory information for all VBE revisions */ - U16 ModeAttributes; /* mode attributes */ - U8 WinAAttributes; /* window A attributes */ - U8 WinBAttributes; /* window B attributes */ - U16 WinGranularity; /* window granularity */ - U16 WinSize; /* window size */ - U16 WinASegment; /* window A start segment */ - U16 WinBSegment; /* window B start segment */ - U32 WinFuncPtr; /* pointer to window function */ - U16 BytesPerScanLine; /* bytes per scan line */ -/* Mandatory information for VBE 1.2 and above */ - U16 XResolution; /* horizontal resolution */ - U16 YResolution; /* vertical resolution */ - U8 XCharSize; /* character cell width in pixels */ - U8 YCharSize; /* character cell height in pixels */ - U8 NumberOfPlanes; /* number of memory planes */ - U8 BitsPerPixel; /* bits per pixel */ - U8 NumberOfBanks; /* number of banks */ - U8 MemoryModel; /* memory model type */ - U8 BankSize; /* bank size in KB */ - U8 NumberOfImagePages; /* number of images */ - U8 Reserved; /* reserved for page function */ -/* Direct Color fields (required for direct/6 and YUV/7 memory models) */ - U8 RedMaskSize; /* size of direct color red mask in bits */ - U8 RedFieldPosition; /* bit position of lsb of red mask */ - U8 GreenMaskSize; /* size of direct color green mask in bits */ - U8 GreenFieldPosition; /* bit position of lsb of green mask */ - U8 BlueMaskSize; /* size of direct color blue mask in bits */ - U8 BlueFieldPosition; /* bit position of lsb of blue mask */ - U8 RsvdMaskSize; /* size of direct color reserved mask bits*/ - U8 RsvdFieldPosition; /* bit position of lsb of reserved mask */ - U8 DirectColorModeInfo; /* direct color mode attributes */ -/* Mandatory information for VBE 2.0 and above */ - U32 PhysBasePtr; /* physical address for flat memory fb */ - U32 OffScreenMemOffset; /* pointer to start of off screen memory */ - U16 OffScreenMemSize; /* amount of off screen memory in 1k units */ - U8 Reserved2[206]; /* remainder of ModeInfoBlock */ -} __attribute__((packed)) VbeModeInfoBlock; - -typedef struct _VbeInfoRec { - U8 palette_format; - int palette_wait; - int windowA_offset; - int windowB_offset; - int window_size; - int last_window; - VbeModeInfoBlock vmib; -} VbeInfoRec, *VbeInfoPtr; - -typedef struct _SupVbeInfoBlock { - U8 SupVbeSignature[7]; /* Supplemental VBE Signature */ - U16 SupVbeVersion; /* Supplemental VBE Version*/ - U8 SupVbeSubFunc[8]; /* Bitfield of supported subfunctions */ - U16 OemSoftwareRev; /* OEM Software revision */ - U32 OemVendorNamePtr; /* Pointer to Vendor Name String */ - U32 OemProductNamePtr; /* Pointer to Product Name String */ - U32 OemProductRevPtr; /* Pointer to Product Revision String */ - U32 OemStringPtr; /* Pointer to OEM String */ - U8 Reserved[221]; /* Reserved */ -} __attribute__((packed)) SupVbeInfoBlock; - -int -VbeGetVib (Vm86InfoPtr vi, VbeInfoBlock *vib); - -int -VbeGetVmib (Vm86InfoPtr vi, int mode, VbeModeInfoBlock *vmib); - -void -VbeReportInfo (Vm86InfoPtr vi); - -int -VbeGetNmode (Vm86InfoPtr vi); - -int -VbeGetModes (Vm86InfoPtr vi, VesaModePtr modes, int nmode); - -VbeInfoPtr -VbeInit (Vm86InfoPtr vi); - -void -VbeCleanup (Vm86InfoPtr vi, VbeInfoPtr vbe); - -int -VbeSetMode (Vm86InfoPtr vi, VbeInfoPtr vbe, int mode, int linear, int direct); - -int -VbeGetMode(Vm86InfoPtr vi, int *mode); - -void * -VbeMapFramebuffer(Vm86InfoPtr vi, VbeInfoPtr vbe, int mode, int *ret_size, CARD32 *ret_phys); - -void -VbeUnmapFramebuffer(Vm86InfoPtr vi, VbeInfoPtr vbe, int mode, void *fb); - -int -VbeSetPalette(Vm86InfoPtr vi, VbeInfoPtr vbe, int first, int number, U8 *entries); - -int -VbeGetPalette(Vm86InfoPtr vi, VbeInfoPtr vbe, int first, int number, U8 *entries); - -int -VbeSetPaletteOptions(Vm86InfoPtr vi, VbeInfoPtr vbe, U8 bits, int wait); - -void * -VbeSetWindow(Vm86InfoPtr vi, VbeInfoPtr vbe, int offset, int purpose, int *size_return); - -Bool -VbeDPMS(Vm86InfoPtr vi, int mode); - -int -VbeDoInterrupt10(Vm86InfoPtr vi); - -Bool -VbeBoot(Vm86InfoPtr vi); - -int -VbeDoInterruptE6(Vm86InfoPtr vi); - -#endif diff --git a/xorg-server/hw/kdrive/vesa/vesa.c b/xorg-server/hw/kdrive/vesa/vesa.c deleted file mode 100644 index d6fa5eb06..000000000 --- a/xorg-server/hw/kdrive/vesa/vesa.c +++ /dev/null @@ -1,1823 +0,0 @@ -/* -Copyright (c) 2000 by Juliusz Chroboczek - -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. -*/ - -#ifdef HAVE_CONFIG_H -#include -#endif -#include "vesa.h" -#include "vga.h" -#include "vbe.h" -#ifdef RANDR -#include -#endif - -int vesa_video_mode = 0; -Bool vesa_force_mode = FALSE; -Bool vesa_swap_rgb = FALSE; -Bool vesa_shadow = FALSE; -Bool vesa_linear_fb = TRUE; -Bool vesa_restore = FALSE; -Bool vesa_verbose = FALSE; -Bool vesa_force_text = FALSE; -Bool vesa_restore_font = TRUE; -Bool vesa_map_holes = TRUE; -Bool vesa_boot = FALSE; - -#define VesaPriv(scr) ((VesaScreenPrivPtr) (scr)->driver) - -#define vesaWidth(scr,vmib) ((vmib)->XResolution) -#define vesaHeight(scr,vmib) ((vmib)->YResolution) - -static Bool -vesaComputeFramebufferMapping (KdScreenInfo *screen); - -static Bool -vesaMapFramebuffer (KdScreenInfo *screen); - -static Bool -vesaModeSupportable (VesaModePtr mode, Bool complain) -{ - if((mode->ModeAttributes & 0x10) == 0) { - if(complain) - ErrorF("Text mode specified.\n"); - return FALSE; - } - if(mode->MemoryModel != 0x06 && mode->MemoryModel != 0x04 && mode->MemoryModel != 0x03) { - if(complain) - ErrorF("Unsupported memory model 0x%X\n", mode->MemoryModel); - return FALSE; - } - if((mode->ModeAttributes & 0x80) == 0) { - if ((mode->ModeAttributes & 0x40) != 0) { - if(complain) - ErrorF("Neither linear nor windowed framebuffer available in this mode\n"); - return FALSE; - } - } - if(!(mode->ModeAttributes & 1)) { - if(complain) - ErrorF("Mode not supported on this hardware\n"); - return FALSE; - } - return TRUE; -} - -static Bool -vesaModeSupported (VesaCardPrivPtr priv, VesaModePtr mode, Bool complain) -{ - if (!priv->vbeInfo && mode->vbe) { - if (complain) - ErrorF("VBE bios mode not usable.\n"); - return FALSE; - } - return vesaModeSupportable (mode, complain); -} - -void -vesaReportMode (VesaModePtr mode) -{ - int supported = (mode->ModeAttributes&MODE_SUPPORTED)?1:0; - int colour = (mode->ModeAttributes&MODE_COLOUR)?1:0; - int graphics = (mode->ModeAttributes&MODE_GRAPHICS)?1:0; - int vga_compatible = !((mode->ModeAttributes&MODE_VGA)?1:0); - int linear_fb = (mode->ModeAttributes&MODE_LINEAR)?1:0; - - ErrorF("0x%04X: %dx%dx%d%s%s", - (unsigned)mode->mode, - (int)mode->XResolution, (int)mode->YResolution, - vesaDepth (mode), - colour?"":" (monochrome)", - graphics?"":" (graphics)", - vga_compatible?"":" (vga compatible)", - linear_fb?"":" (linear frame buffer)"); - switch(mode->MemoryModel) { - case MEMORY_TEXT: - ErrorF(" text mode"); - break; - case MEMORY_CGA: - ErrorF(" CGA graphics"); - break; - case MEMORY_HERCULES: - ErrorF(" Hercules graphics"); - break; - case MEMORY_PLANAR: - ErrorF(" Planar (%d planes)", mode->NumberOfPlanes); - break; - case MEMORY_PSEUDO: - ErrorF(" PseudoColor"); - break; - case MEMORY_NONCHAIN: - ErrorF(" Non-chain 4, 256 colour"); - break; - case MEMORY_DIRECT: - if(mode->DirectColorModeInfo & MODE_DIRECT) - ErrorF(" DirectColor"); - else - ErrorF(" TrueColor"); - ErrorF(" [%d:%d:%d:%d]", - mode->RedMaskSize, mode->GreenMaskSize, mode->BlueMaskSize, - mode->RsvdMaskSize); - if(mode->DirectColorModeInfo & 2) - ErrorF(" (reserved bits are reserved)"); - break; - case MEMORY_YUV: - ErrorF("YUV"); - break; - default: - ErrorF("unknown MemoryModel 0x%X ", mode->MemoryModel); - } - if(!supported) - ErrorF(" (unsupported)"); - else if(!linear_fb) - ErrorF(" (no linear framebuffer)"); - ErrorF("\n"); -} - -VesaModePtr -vesaGetModes (Vm86InfoPtr vi, int *ret_nmode) -{ - VesaModePtr modes; - int nmode, nmodeVbe, nmodeVga; - int code; - - code = VgaGetNmode (vi); - if (code <= 0) - nmodeVga = 0; - else - nmodeVga = code; - - code = VbeGetNmode (vi); - if (code <= 0) - nmodeVbe = 0; - else - nmodeVbe = code; - - nmode = nmodeVga + nmodeVbe; - if (nmode <= 0) - return 0; - - modes = xalloc (nmode * sizeof (VesaModeRec)); - - memset (modes, '\0', nmode * sizeof (VesaModeRec)); - - if (nmodeVga) - { - code = VgaGetModes (vi, modes, nmodeVga); - if (code <= 0) - nmodeVga = 0; - else - nmodeVga = code; - } - - if (nmodeVbe) - { - code = VbeGetModes (vi, modes + nmodeVga, nmodeVbe); - if (code <= 0) - nmodeVbe = 0; - else - nmodeVbe = code; - } - - nmode = nmodeVga + nmodeVbe; - - if (nmode == 0) - { - xfree (modes); - modes = 0; - return 0; - } - *ret_nmode = nmode; - return modes; -} - -Bool -vesaInitialize (KdCardInfo *card, VesaCardPrivPtr priv) -{ - priv->vi = Vm86Setup(vesa_map_holes); - if(!priv->vi) - goto fail; - - if (vesa_boot) - VbeBoot (priv->vi); - - priv->modes = vesaGetModes (priv->vi, &priv->nmode); - - if (!priv->modes) - goto fail; - - priv->vbeInfo = VbeInit (priv->vi); - - card->driver = priv; - - return TRUE; - -fail: - if(priv->vi) - Vm86Cleanup(priv->vi); - return FALSE; -} - -void -vesaListModes (void) -{ - Vm86InfoPtr vi; - VesaModePtr modes; - int nmode; - int n; - - vi = Vm86Setup (vesa_map_holes); - if (!vi) - { - ErrorF ("Can't setup vm86\n"); - } - else - { - modes = vesaGetModes (vi, &nmode); - if (!modes) - { - ErrorF ("No modes available\n"); - } - else - { - VbeReportInfo (vi); - for (n = 0; n < nmode; n++) - { - if (vesa_force_mode || vesaModeSupportable (modes+n, 0)) - vesaReportMode (modes+n); - } - xfree (modes); - } - Vm86Cleanup (vi); - } -} - -void -vesaTestMode (void) -{ - Vm86InfoPtr vi; - VesaModePtr modes; - VesaModePtr mode; - VbeInfoPtr vbeInfo; - int nmode; - int n; - - vi = Vm86Setup (vesa_map_holes); - if (!vi) - { - ErrorF ("Can't setup vm86\n"); - return; - } - modes = vesaGetModes (vi, &nmode); - if (!modes) - { - ErrorF ("No modes available\n"); - return; - } - VbeReportInfo (vi); - vbeInfo = VbeInit (vi); - for (n = 0; n < nmode; n++) - { - if (modes[n].mode == vesa_video_mode) - break; - } - if (n == nmode) - { - ErrorF ("no mode specified\n"); - return; - } - mode = &modes[n]; - if (mode->vbe) - { - ErrorF ("Enable VBE mode 0x%x\n", mode->mode); - VbeSetMode(vi, vbeInfo, mode->mode, FALSE, FALSE); - } - else - { - ErrorF ("Enable BIOS mode 0x%x\n", mode->mode); - VgaSetMode (vi, mode->mode); - } - sleep (2); - ErrorF ("Restore BIOS mode 0x%x\n", 3); - VgaSetMode (vi, 3); - xfree (modes); - Vm86Cleanup (vi); -} - -Bool -vesaCardInit(KdCardInfo *card) -{ - VesaCardPrivPtr priv; - - priv = xalloc(sizeof(VesaCardPrivRec)); - if(!priv) - return FALSE; - - if (!vesaInitialize (card, priv)) - { - xfree(priv); - return FALSE; - } - - return TRUE; -} - -int -vesaDepth (VesaModePtr mode) -{ - if (mode->MemoryModel == MEMORY_DIRECT) - return (mode->RedMaskSize + - mode->GreenMaskSize + - mode->BlueMaskSize); - else - return mode->BitsPerPixel; -} - -Bool -vesaModeGood (KdScreenInfo *screen, - VesaModePtr a) -{ - if (vesaWidth(screen,a) <= screen->width && - vesaHeight(screen,a) <= screen->height && - vesaDepth (a) >= screen->fb[0].depth) - { - return TRUE; - } - return FALSE; -} - -#define vabs(a) ((a) >= 0 ? (a) : -(a)) - -int -vesaSizeError (KdScreenInfo *screen, - VesaModePtr a) -{ - int xdist, ydist; - xdist = vabs (screen->width - vesaWidth(screen,a)); - ydist = vabs (screen->height - vesaHeight(screen,a)); - return xdist * xdist + ydist * ydist; -} - -Bool -vesaModeBetter (KdScreenInfo *screen, - VesaModePtr a, - VesaModePtr b) -{ - int aerr, berr; - - if (vesaModeGood (screen, a)) - { - if (!vesaModeGood (screen, b)) - return TRUE; - } - else - { - if (vesaModeGood (screen, b)) - return FALSE; - } - aerr = vesaSizeError (screen, a); - berr = vesaSizeError (screen, b); - if (aerr < berr) - return TRUE; - if (berr < aerr) - return FALSE; - if (vabs (screen->fb[0].depth - vesaDepth (a)) < - vabs (screen->fb[0].depth - vesaDepth (b))) - return TRUE; - if (a->BitsPerPixel == 32 && b->BitsPerPixel == 24) - return TRUE; - return FALSE; -} - -VesaModePtr -vesaSelectMode (KdScreenInfo *screen) -{ - VesaCardPrivPtr priv = screen->card->driver; - int i, best; - - if (vesa_video_mode) - { - for (best = 0; best < priv->nmode; best++) - if (priv->modes[best].mode == vesa_video_mode && - (vesaModeSupported (priv, &priv->modes[best], FALSE) || - vesa_force_mode)) - return &priv->modes[best]; - } - for (best = 0; best < priv->nmode; best++) - { - if (vesaModeSupported (priv, &priv->modes[best], FALSE)) - break; - } - if (best == priv->nmode) - return 0; - for (i = best + 1; i < priv->nmode; i++) - if (vesaModeSupported (priv, &priv->modes[i], FALSE) && - vesaModeBetter (screen, &priv->modes[i], - &priv->modes[best])) - best = i; - return &priv->modes[best]; -} - -Bool -vesaScreenInitialize (KdScreenInfo *screen, VesaScreenPrivPtr pscr) -{ - VesaModePtr mode; - - screen->driver = pscr; - - if (!screen->width || !screen->height) - { - screen->width = 640; - screen->height = 480; - } - if (!screen->fb[0].depth) - screen->fb[0].depth = 4; - - if (vesa_verbose) - ErrorF ("Mode requested %dx%dx%d\n", - screen->width, screen->height, screen->fb[0].depth); - - mode = vesaSelectMode (screen); - - if (!mode) - { - if (vesa_verbose) - ErrorF ("No selectable mode\n"); - return FALSE; - } - pscr->mode = *mode; - - if (vesa_verbose) - { - ErrorF ("\t"); - vesaReportMode (&pscr->mode); - } - - pscr->randr = screen->randr; - pscr->shadow = vesa_shadow; - pscr->origDepth = screen->fb[0].depth; - /* - * Compute visual support for the selected depth - */ - - switch (pscr->mode.MemoryModel) { - case MEMORY_DIRECT: - /* TrueColor or DirectColor */ - screen->fb[0].visuals = (1 << TrueColor); - screen->fb[0].redMask = - FbStipMask(pscr->mode.RedFieldPosition, pscr->mode.RedMaskSize); - screen->fb[0].greenMask = - FbStipMask(pscr->mode.GreenFieldPosition, pscr->mode.GreenMaskSize); - screen->fb[0].blueMask = - FbStipMask(pscr->mode.BlueFieldPosition, pscr->mode.BlueMaskSize); - break; - case MEMORY_PSEUDO: - /* PseudoColor */ - screen->fb[0].visuals = ((1 << StaticGray) | - (1 << GrayScale) | - (1 << StaticColor) | - (1 << PseudoColor) | - (1 << TrueColor) | - (1 << DirectColor)); - screen->fb[0].blueMask = 0x00; - screen->fb[0].greenMask = 0x00; - screen->fb[0].redMask = 0x00; - break; - case MEMORY_PLANAR: - /* 4 plane planar */ - if (pscr->mode.ModeAttributes & MODE_COLOUR) - screen->fb[0].visuals = (1 << StaticColor); - else - screen->fb[0].visuals = (1 << StaticGray); - screen->fb[0].blueMask = 0x00; - screen->fb[0].greenMask = 0x00; - screen->fb[0].redMask = 0x00; - break; - default: - ErrorF("Unsupported VESA MemoryModel 0x%02X\n", - pscr->mode.MemoryModel); - return FALSE; - } - screen->rate = 72; - - if (!vesaComputeFramebufferMapping (screen)) - return FALSE; - if (!vesaMapFramebuffer (screen)) - return FALSE; - return TRUE; -} - -Bool -vesaScreenInit(KdScreenInfo *screen) -{ - VesaScreenPrivPtr pscr; - - pscr = xcalloc (1, sizeof (VesaScreenPrivRec)); - if (!pscr) - return FALSE; - if (!vesaScreenInitialize (screen, pscr)) - return FALSE; - return TRUE; -} - -void * -vesaSetWindowPlanar(ScreenPtr pScreen, - CARD32 row, - CARD32 offset, - int mode, - CARD32 *size) -{ - KdScreenPriv(pScreen); - VesaCardPrivPtr priv = pScreenPriv->card->driver; - VesaScreenPrivPtr pscr = pScreenPriv->screen->driver; - static int plane; - int winSize; - void *base; - - plane = offset & 3; - VgaSetWritePlaneMask (priv->vi, (1 << plane)); - offset = offset >> 2; - if (pscr->mode.vbe) - { - base = VbeSetWindow (priv->vi, - priv->vbeInfo, - pscr->mode.BytesPerScanLine * row + offset, - mode, - &winSize); - } - else - { - base = VgaSetWindow (priv->vi, - pscr->mode.mode, - pscr->mode.BytesPerScanLine * row + offset, - mode, - &winSize); - } - *size = (CARD32) winSize; - return base; -} - -void * -vesaSetWindowLinear (ScreenPtr pScreen, - CARD32 row, - CARD32 offset, - int mode, - CARD32 *size) -{ - KdScreenPriv(pScreen); - VesaScreenPrivPtr pscr = pScreenPriv->screen->driver; - - *size = pscr->mode.BytesPerScanLine; - return (CARD8 *) pscr->fb + row * pscr->mode.BytesPerScanLine + offset; -} - -void * -vesaSetWindowWindowed (ScreenPtr pScreen, - CARD32 row, - CARD32 offset, - int mode, - CARD32 *size) -{ - KdScreenPriv(pScreen); - VesaCardPrivPtr priv = pScreenPriv->card->driver; - VesaScreenPrivPtr pscr = pScreenPriv->screen->driver; - int winSize; - void *base; - - if (pscr->mode.vbe) - { - base = VbeSetWindow (priv->vi, - priv->vbeInfo, - pscr->mode.BytesPerScanLine * row + offset, - mode, - &winSize); - } - else - { - base = VgaSetWindow (priv->vi, - pscr->mode.mode, - pscr->mode.BytesPerScanLine * row + offset, - mode, - &winSize); - } - *size = (CARD32) winSize; - return base; -} - -void * -vesaWindowPlanar (ScreenPtr pScreen, - CARD32 row, - CARD32 offset, - int mode, - CARD32 *size, - void *closure) -{ - KdScreenPriv(pScreen); - - if (!pScreenPriv->enabled) - return 0; - return vesaSetWindowPlanar (pScreen, row, offset, mode, size); -} - -void * -vesaWindowLinear (ScreenPtr pScreen, - CARD32 row, - CARD32 offset, - int mode, - CARD32 *size, - void *closure) -{ - KdScreenPriv(pScreen); - - if (!pScreenPriv->enabled) - return 0; - return vesaSetWindowLinear (pScreen, row, offset, mode, size); -} - -void * -vesaWindowWindowed (ScreenPtr pScreen, - CARD32 row, - CARD32 offset, - int mode, - CARD32 *size, - void *closure) -{ - KdScreenPriv(pScreen); - - if (!pScreenPriv->enabled) - return 0; - return vesaSetWindowWindowed (pScreen, row, offset, mode, size); -} - -#define vesaInvertBits32(v) { \ - v = ((v & 0x55555555) << 1) | ((v >> 1) & 0x55555555); \ - v = ((v & 0x33333333) << 2) | ((v >> 2) & 0x33333333); \ - v = ((v & 0x0f0f0f0f) << 4) | ((v >> 4) & 0x0f0f0f0f); \ -} - -void * -vesaWindowCga (ScreenPtr pScreen, - CARD32 row, - CARD32 offset, - int mode, - CARD32 *size, - void *closure) -{ - KdScreenPriv(pScreen); - VesaScreenPrivPtr pscr = pScreenPriv->screen->driver; - int line; - - if (!pScreenPriv->enabled) - return 0; - *size = pscr->mode.BytesPerScanLine; - line = ((row & 1) << 13) + (row >> 1) * pscr->mode.BytesPerScanLine; - return (CARD8 *) pscr->fb + line + offset; -} - -void -vesaUpdateMono (ScreenPtr pScreen, - shadowBufPtr pBuf) -{ - RegionPtr damage = shadowDamage(pBuf); - PixmapPtr pShadow = pBuf->pPixmap; - int nbox = REGION_NUM_RECTS (damage); - BoxPtr pbox = REGION_RECTS (damage); - FbBits *shaBase, *shaLine, *sha; - FbStride shaStride; - int scrBase, scrLine, scr; - int shaBpp; - int shaXoff, shaYoff; /* XXX assumed to be zero */ - int x, y, w, h, width; - int i; - FbBits *winBase = 0, *win; - CARD32 winSize; - FbBits bits; - - fbGetDrawable (&pShadow->drawable, shaBase, shaStride, shaBpp, shaXoff, shaYoff); - while (nbox--) - { - x = pbox->x1 * shaBpp; - y = pbox->y1; - w = (pbox->x2 - pbox->x1) * shaBpp; - h = pbox->y2 - pbox->y1; - - scrLine = (x >> FB_SHIFT); - shaLine = shaBase + y * shaStride + (x >> FB_SHIFT); - - x &= FB_MASK; - w = (w + x + FB_MASK) >> FB_SHIFT; - - while (h--) - { - winSize = 0; - scrBase = 0; - width = w; - scr = scrLine; - sha = shaLine; - while (width) { - /* how much remains in this window */ - i = scrBase + winSize - scr; - if (i <= 0 || scr < scrBase) - { - winBase = (FbBits *) (*pBuf->window) (pScreen, - y, - scr * sizeof (FbBits), - SHADOW_WINDOW_WRITE, - &winSize, - pBuf->closure); - if(!winBase) - return; - scrBase = scr; - winSize /= sizeof (FbBits); - i = winSize; - } - win = winBase + (scr - scrBase); - if (i > width) - i = width; - width -= i; - scr += i; - while (i--) - { - bits = *sha++; - vesaInvertBits32(bits); - *win++ = bits; - } - } - shaLine += shaStride; - y++; - } - pbox++; - } -} - -static const CARD16 vga16Colors[16][3] = { - { 0, 0, 0, }, /* 0 */ - { 0, 0, 0xAA,}, /* 1 */ - { 0, 0xAA,0, }, /* 2 */ - { 0, 0xAA,0xAA,}, /* 3 */ - { 0xAA,0, 0, }, /* 4 */ - { 0xAA,0, 0xAA,}, /* 5 */ - { 0xAA,0x55,0, }, /* 6 */ - { 0xAA,0xAA,0xAA,}, /* 7 */ - { 0x55,0x55,0x55,}, /* 8 */ - { 0x55,0x55,0xFF,}, /* 9 */ - { 0x55,0xFF,0x55,}, /* 10 */ - { 0x55,0xFF,0xFF,}, /* 11 */ - { 0xFF,0x55,0x55,}, /* 12 */ - { 0xFF,0x55,0xFF,}, /* 13 */ - { 0xFF,0xFF,0x55,}, /* 14 */ - { 0xFF,0xFF,0xFF,}, /* 15 */ -}; - -Bool -vesaCreateColormap16 (ColormapPtr pmap) -{ - int i, j; - - if (pmap->pVisual->ColormapEntries == 16) - for (i = 0; i < pmap->pVisual->ColormapEntries; i++) - { - j = i & 0xf; - pmap->red[i].co.local.red = (vga16Colors[j][0]<<8)|vga16Colors[j][0]; - pmap->red[i].co.local.green = (vga16Colors[j][1]<<8)|vga16Colors[j][1]; - pmap->red[i].co.local.blue = (vga16Colors[j][2]<<8)|vga16Colors[j][2]; - } - return TRUE; -} - -void -vesaSetScreenSizes (ScreenPtr pScreen) -{ - KdScreenPriv(pScreen); - KdScreenInfo *screen = pScreenPriv->screen; - VesaScreenPrivPtr pscr = screen->driver; - - if (pscr->randr & (RR_Rotate_0|RR_Rotate_180)) - { - pScreen->width = pscr->mode.XResolution; - pScreen->height = pscr->mode.YResolution; - pScreen->mmWidth = screen->width_mm; - pScreen->mmHeight = screen->height_mm; - } - else - { - pScreen->width = pscr->mode.YResolution; - pScreen->height = pscr->mode.XResolution; - pScreen->mmWidth = screen->height_mm; - pScreen->mmHeight = screen->width_mm; - } -} - -Bool -vesaSetShadow (ScreenPtr pScreen) -{ - KdScreenPriv(pScreen); - VesaScreenPrivPtr pscr = pScreenPriv->screen->driver; - ShadowUpdateProc update; - ShadowWindowProc window = 0; - - if (pscr->randr != RR_Rotate_0) - update = shadowUpdateRotatePacked; - else - update = shadowUpdatePacked; - switch (pscr->mapping) { - case VESA_LINEAR: - window = vesaWindowLinear; - break; - case VESA_WINDOWED: - window = vesaWindowWindowed; - break; - case VESA_PLANAR: - if (pScreenPriv->screen->fb[0].bitsPerPixel == 8) - update = shadowUpdatePlanar4x8; - else - update = shadowUpdatePlanar4; - window = vesaWindowPlanar; - break; - case VESA_MONO: - update = vesaUpdateMono; - if (pscr->mode.mode < 8) - window = vesaWindowCga; - else - window = vesaWindowLinear; - break; - } - - return KdShadowSet (pScreen, pscr->randr, update, window); -} - -static Bool -vesaComputeFramebufferMapping (KdScreenInfo *screen) -{ - VesaScreenPrivPtr pscr = screen->driver; - int depth, bpp, fbbpp; - Pixel allbits; - KdPointerMatrix m; - - if (vesa_linear_fb) - { - pscr->mapping = VESA_LINEAR; - pscr->shadow = FALSE; - } - else - { - pscr->mapping = VESA_WINDOWED; - pscr->shadow = TRUE; - } - - depth = vesaDepth (&pscr->mode); - bpp = pscr->mode.BitsPerPixel; - - if (bpp > 24) - bpp = 32; - else if (bpp > 16) - bpp = 24; - else if (bpp > 8) - bpp = 16; - else if (bpp > 4) - bpp = 8; - else if (bpp > 1) - bpp = 4; - else - bpp = 1; - fbbpp = bpp; - - switch (pscr->mode.MemoryModel) { - case MEMORY_DIRECT: - allbits = (screen->fb[0].redMask | - screen->fb[0].greenMask | - screen->fb[0].blueMask); - depth = 32; - while (depth && !(allbits & (1 << (depth - 1)))) - depth--; - if (vesa_verbose) - ErrorF ("\tTrue Color %d/%d red 0x%x green 0x%x blue 0x%x\n", - bpp, depth, - screen->fb[0].redMask, - screen->fb[0].greenMask, - screen->fb[0].blueMask); - break; - case MEMORY_PSEUDO: - if (vesa_verbose) - ErrorF ("\tPseudo Color bpp %d depth %d\n", - bpp, depth); - break; - case MEMORY_PLANAR: - if (bpp == 4) - { - bpp = screen->fb[0].bitsPerPixel; - if (bpp != 8) - bpp = 4; - depth = bpp; - } - if (bpp == 1) - { - pscr->mapping = VESA_MONO; - if (vesa_verbose) - ErrorF ("\tMonochrome\n"); - } - else - { - pscr->mapping = VESA_PLANAR; - if (vesa_verbose) - ErrorF ("\tStatic color bpp %d depth %d\n", - bpp, depth); - } - pscr->randr = RR_Rotate_0; - pscr->shadow = TRUE; - break; - default: - return FALSE; - } - - switch (fbbpp) { - case 8: - case 16: - case 32: - break; - default: - pscr->randr = RR_Rotate_0; - break; - } - - if (pscr->randr != RR_Rotate_0) - pscr->shadow = TRUE; - - if (vesa_shadow) - pscr->shadow = vesa_shadow; - - if (pscr->mapping == VESA_LINEAR && !(pscr->mode.ModeAttributes & MODE_LINEAR)) - { - pscr->mapping = VESA_WINDOWED; - pscr->shadow = TRUE; - } - KdComputePointerMatrix (&m, pscr->randr, - pscr->mode.XResolution, pscr->mode.YResolution); - - KdSetPointerMatrix (&m); - - screen->width = pscr->mode.XResolution; - screen->height = pscr->mode.YResolution; - screen->fb[0].depth = depth; - screen->fb[0].bitsPerPixel = bpp; - - return TRUE; -} - -static Bool -vesaMapFramebuffer (KdScreenInfo *screen) -{ - VesaCardPrivPtr priv = screen->card->driver; - VesaScreenPrivPtr pscr = screen->driver; - - if (pscr->mapped) - return TRUE; - switch (pscr->mapping) { - case VESA_MONO: - case VESA_LINEAR: - if (pscr->mode.vbe) - pscr->fb = VbeMapFramebuffer(priv->vi, priv->vbeInfo, - pscr->mode.mode, - &pscr->fb_size, - &pscr->fb_phys); - else - pscr->fb = VgaMapFramebuffer (priv->vi, - pscr->mode.mode, - &pscr->fb_size, - &pscr->fb_phys); - if (!pscr->fb) - return FALSE; - break; - case VESA_WINDOWED: - pscr->fb = NULL; - break; - case VESA_PLANAR: - pscr->fb = NULL; - break; - } - - screen->memory_base = pscr->fb; - screen->memory_size = pscr->fb_size; - - if (pscr->shadow) - { - if (!KdShadowFbAlloc (screen, 0, - pscr->randr & (RR_Rotate_90|RR_Rotate_270))) - return FALSE; - screen->off_screen_base = screen->memory_size; - } - else - { - screen->fb[0].frameBuffer = (CARD8 *) (pscr->fb); - screen->fb[0].byteStride = pscr->mode.BytesPerScanLine; - screen->fb[0].pixelStride = ((pscr->mode.BytesPerScanLine * 8) / - screen->fb[0].bitsPerPixel); - screen->off_screen_base = screen->fb[0].byteStride * screen->height; - } - pscr->mapped = TRUE; - - return TRUE; -} - -static void -vesaUnmapFramebuffer (KdScreenInfo *screen) -{ - VesaCardPrivPtr priv = screen->card->driver; - VesaScreenPrivPtr pscr = screen->driver; - - if (!pscr->mapped) - return; - - pscr->mapped = FALSE; - KdShadowFbFree (screen, 0); - if (pscr->fb) - { - if (pscr->mode.vbe) - VbeUnmapFramebuffer(priv->vi, priv->vbeInfo, pscr->mode.mode, pscr->fb); - else - VgaUnmapFramebuffer (priv->vi); - pscr->fb = 0; - } -} - -#ifdef RANDR -Bool -vesaRandRGetInfo (ScreenPtr pScreen, Rotation *rotations) -{ - KdScreenPriv(pScreen); - VesaModePtr modes, mode; - KdScreenInfo *screen = pScreenPriv->screen; - VesaCardPrivPtr priv = pScreenPriv->card->driver; - VesaScreenPrivPtr pscr = pScreenPriv->screen->driver; - int nmode; - int n; - RRScreenSizePtr pSize; - - *rotations = (RR_Rotate_0|RR_Rotate_90|RR_Rotate_180|RR_Rotate_270| - RR_Reflect_X|RR_Reflect_Y); - /* - * Get mode information from BIOS -- every time in case - * something changes, like an external monitor is plugged in - */ - modes = vesaGetModes (priv->vi, &nmode); - if (!modes) - return FALSE; - if (priv->modes) - xfree (priv->modes); - priv->modes = modes; - priv->nmode = nmode; - for (n = 0; n < nmode; n++) - { - mode = &priv->modes[n]; - if (vesaModeSupported (priv, mode, FALSE)) - { - /* - * XXX limit reported modes to those matching the current - * format - */ - if (mode->NumberOfPlanes == pscr->mode.NumberOfPlanes && - mode->BitsPerPixel == pscr->mode.BitsPerPixel && - mode->MemoryModel == pscr->mode.MemoryModel && - mode->RedMaskSize == pscr->mode.RedMaskSize && - mode->RedFieldPosition == pscr->mode.RedFieldPosition && - mode->GreenMaskSize == pscr->mode.GreenMaskSize && - mode->GreenFieldPosition == pscr->mode.GreenFieldPosition && - mode->BlueMaskSize == pscr->mode.BlueMaskSize && - mode->BlueFieldPosition == pscr->mode.BlueFieldPosition) - { - int width, height, width_mm, height_mm; - if (screen->randr & (RR_Rotate_0|RR_Rotate_180)) - { - width = mode->XResolution; - height = mode->YResolution; - width_mm = screen->width_mm; - height_mm = screen->height_mm; - } - else - { - width = mode->YResolution; - height = mode->XResolution; - width_mm = screen->height_mm; - height_mm = screen->width_mm; - } - pSize = RRRegisterSize (pScreen, - width, height, - width_mm, height_mm); - if (mode->XResolution == screen->width && - mode->YResolution == screen->height) - { - int randr = KdSubRotation (pscr->randr, screen->randr); - RRSetCurrentConfig (pScreen, randr, 0, pSize); - } - } - } - } - return TRUE; -} - -Bool -vesaRandRSetConfig (ScreenPtr pScreen, - Rotation randr, - int rate, - RRScreenSizePtr pSize) -{ - KdScreenPriv(pScreen); - VesaModePtr mode = 0; - KdScreenInfo *screen = pScreenPriv->screen; - VesaCardPrivPtr priv = pScreenPriv->card->driver; - VesaScreenPrivPtr pscr = pScreenPriv->screen->driver; - int n; - Bool wasEnabled = pScreenPriv->enabled; - Bool ret = FALSE; - VesaScreenPrivRec oldscr; - int oldwidth; - int oldheight; - int oldmmwidth; - int oldmmheight; - int newwidth, newheight; - - if (screen->randr & (RR_Rotate_0|RR_Rotate_180)) - { - newwidth = pSize->width; - newheight = pSize->height; - } - else - { - newwidth = pSize->height; - newheight = pSize->width; - } - for (n = 0; n < priv->nmode; n++) - { - mode = &priv->modes[n]; - if (vesaModeSupported (priv, mode, FALSE)) - { - /* - * XXX all we have to match is the size - */ - if (mode->XResolution == newwidth && - mode->YResolution == newheight && - mode->NumberOfPlanes == pscr->mode.NumberOfPlanes && - mode->BitsPerPixel == pscr->mode.BitsPerPixel && - mode->RedMaskSize == pscr->mode.RedMaskSize && - mode->RedFieldPosition == pscr->mode.RedFieldPosition && - mode->GreenMaskSize == pscr->mode.GreenMaskSize && - mode->GreenFieldPosition == pscr->mode.GreenFieldPosition && - mode->BlueMaskSize == pscr->mode.BlueMaskSize && - mode->BlueFieldPosition == pscr->mode.BlueFieldPosition) - break; - } - } - if (n == priv->nmode) - goto bail0; - - if (wasEnabled) - KdDisableScreen (pScreen); - - if (mode->mode != pscr->mode.mode) - { - ret = vesaSetMode (pScreen, mode); - if (!ret) - goto bail1; - } - - oldscr = *pscr; - - oldwidth = screen->width; - oldheight = screen->height; - oldmmwidth = pScreen->mmWidth; - oldmmheight = pScreen->mmHeight; - - /* - * Set new configuration - */ - - pscr->mode = *mode; - pscr->randr = KdAddRotation (screen->randr, randr); - - /* - * Can't rotate some formats - */ - switch (screen->fb[0].bitsPerPixel) { - case 8: - case 16: - case 32: - break; - default: - if (pscr->randr) - goto bail2; - break; - } - - KdOffscreenSwapOut (screen->pScreen); - - vesaUnmapFramebuffer (screen); - - if (!vesaComputeFramebufferMapping (screen)) - goto bail3; - - if (!vesaMapFramebuffer (screen)) - goto bail3; - - vesaSetScreenSizes (screen->pScreen); - - if (!vesaSetShadow (screen->pScreen)) - goto bail4; - - /* - * Set frame buffer mapping - */ - (*pScreen->ModifyPixmapHeader) (fbGetScreenPixmap (pScreen), - pScreen->width, - pScreen->height, - screen->fb[0].depth, - screen->fb[0].bitsPerPixel, - screen->fb[0].byteStride, - screen->fb[0].frameBuffer); - - /* set the subpixel order */ - KdSetSubpixelOrder (pScreen, pscr->randr); - - if (wasEnabled) - KdEnableScreen (pScreen); - - return TRUE; - -bail4: - vesaUnmapFramebuffer (screen); - *pscr = oldscr; - (void) vesaComputeFramebufferMapping (screen); - (void) vesaMapFramebuffer (screen); - -bail3: - pScreen->width = oldwidth; - pScreen->height = oldheight; - pScreen->mmWidth = oldmmwidth; - pScreen->mmHeight = oldmmheight; - -bail2: - *pscr = oldscr; - - (void) vesaSetMode (pScreen, &pscr->mode); -bail1: - if (wasEnabled) - KdEnableScreen (pScreen); -bail0: - - return FALSE; -} - -Bool -vesaRandRInit (ScreenPtr pScreen) -{ - rrScrPrivPtr pScrPriv; - - if (!RRScreenInit (pScreen)) - return FALSE; - - pScrPriv = rrGetScrPriv(pScreen); - pScrPriv->rrGetInfo = vesaRandRGetInfo; - pScrPriv->rrSetConfig = vesaRandRSetConfig; - return TRUE; -} -#endif - -Bool -vesaInitScreen(ScreenPtr pScreen) -{ - KdScreenPriv(pScreen); - VesaScreenPrivPtr pscr = pScreenPriv->screen->driver; - switch (pscr->mapping) { - case VESA_PLANAR: - pScreen->CreateColormap = vesaCreateColormap16; - break; - } - return TRUE; -} - -Bool -vesaFinishInitScreen (ScreenPtr pScreen) -{ - if (!shadowSetup (pScreen)) - return FALSE; - -#ifdef RANDR - if (!vesaRandRInit (pScreen)) - return FALSE; -#endif - - return TRUE; -} - -Bool -vesaCreateResources (ScreenPtr pScreen) -{ - return vesaSetShadow (pScreen); -} - -Bool -vesaSetMode (ScreenPtr pScreen, - VesaModePtr mode) -{ - KdScreenPriv(pScreen); - VesaCardPrivPtr priv = pScreenPriv->card->driver; - VesaScreenPrivPtr pscr = pScreenPriv->screen->driver; - int code; - - if (mode->vbe) - { - if (vesa_verbose) - ErrorF ("Enable VBE mode 0x%x\n", mode->mode); - code = VbeSetMode(priv->vi, priv->vbeInfo, mode->mode, - pscr->mapping == VESA_LINEAR, - mode->MemoryModel == MEMORY_DIRECT); - } - else - { - if (vesa_verbose) - ErrorF ("Enable BIOS mode 0x%x\n", mode->mode); - code = VgaSetMode (priv->vi, mode->mode); - } - - if(code < 0) - return FALSE; - - return TRUE; -} - -Bool -vesaEnable(ScreenPtr pScreen) -{ - KdScreenPriv(pScreen); - VesaCardPrivPtr priv = pScreenPriv->card->driver; - VesaScreenPrivPtr pscr = pScreenPriv->screen->driver; - KdScreenInfo *screen = pScreenPriv->screen; - int i; - CARD32 size; - char *p; - Bool was_mapped = pscr->mapped; - - if (!vesaMapFramebuffer (screen)) - return FALSE; - - if (!vesaSetMode (pScreen, &pscr->mode)) - return FALSE; - - switch (pscr->mapping) { - case VESA_MONO: - VgaSetWritePlaneMask (priv->vi, 0x1); - case VESA_LINEAR: - if (vesa_restore_font) - memcpy (priv->text, pscr->fb, VESA_TEXT_SAVE); - break; - case VESA_WINDOWED: - if (vesa_restore_font) - { - for (i = 0; i < VESA_TEXT_SAVE;) - { - p = vesaSetWindowWindowed (pScreen, 0, i, VBE_WINDOW_READ, &size); - if(!p) { - ErrorF("Couldn't set window for saving VGA font\n"); - break; - } - if(i + size > VESA_TEXT_SAVE) - size = VESA_TEXT_SAVE - i; - memcpy(((char*)priv->text) + i, p, size); - i += size; - } - } - break; - case VESA_PLANAR: - if (vesa_restore_font) - { - for (i = 0; i < 4; i++) - { - p = vesaSetWindowPlanar (pScreen, 0, i, VBE_WINDOW_READ, &size); - memcpy (((char *)priv->text) + i * (VESA_TEXT_SAVE/4), p, - (VESA_TEXT_SAVE/4)); - } - } - break; - } - if (!was_mapped) - { - (*pScreen->ModifyPixmapHeader) (fbGetScreenPixmap (pScreen), - pScreen->width, - pScreen->height, - screen->fb[0].depth, - screen->fb[0].bitsPerPixel, - screen->fb[0].byteStride, - screen->fb[0].frameBuffer); - } - return TRUE; -} - -#ifndef TOSHIBA_SMM - -# ifdef linux -# define TOSHIBA_SMM 1 -# endif - -# ifndef TOSHIBA_SMM -# define TOSHIBA_SMM 0 -# endif - -#endif - -#if TOSHIBA_SMM -/* - * Toshiba laptops use a special interface to operate the backlight - */ -#include -#define TOSH_PROC "/proc/toshiba" -#define TOSH_DEVICE "/dev/toshiba" -#define TOSH_SMM _IOWR('t', 0x90, SMMRegisters) - -typedef struct { - unsigned int eax; - unsigned int ebx __attribute__ ((packed)); - unsigned int ecx __attribute__ ((packed)); - unsigned int edx __attribute__ ((packed)); - unsigned int esi __attribute__ ((packed)); - unsigned int edi __attribute__ ((packed)); -} SMMRegisters; - -#define HCI_BACKLIGHT 0x0002 -#define HCI_DISABLE 0x0000 -#define HCI_ENABLE 0x0001 -#define HCI_GET 0xfe00, -#define HCI_SET 0xff00 - -Bool -toshibaDPMS (ScreenPtr pScreen, int mode) -{ - SMMRegisters regs; - static int fd; - - if (!fd) - fd = open (TOSH_DEVICE, 2); - if (fd < 0) - return FALSE; - regs.eax = HCI_SET; - regs.ebx = HCI_BACKLIGHT; - regs.ecx = mode ? HCI_DISABLE : HCI_ENABLE; - if (ioctl (fd, TOSH_SMM, ®s) < 0) - return FALSE; - return TRUE; -} -#endif /* TOSHIBA_SMM */ - -Bool -vesaDPMS (ScreenPtr pScreen, int mode) -{ - KdScreenPriv(pScreen); - VesaCardPrivPtr priv = pScreenPriv->card->driver; - VesaScreenPrivPtr pscr = pScreenPriv->screen->driver; - -#if TOSHIBA_SMM - if (toshibaDPMS (pScreen, mode)) - return TRUE; -#endif - if (pscr->mode.vbe) - return VbeDPMS (priv->vi, mode); - return FALSE; -} - -void -vesaDisable(ScreenPtr pScreen) -{ - KdScreenPriv(pScreen); - KdScreenInfo *screen = pScreenPriv->screen; - VesaCardPrivPtr priv = pScreenPriv->card->driver; - VesaScreenPrivPtr pscr = screen->driver; - int i=0; - CARD32 size; - char *p; - - if (vesa_restore_font) { - switch (pscr->mapping) { - case VESA_LINEAR: - case VESA_MONO: - memcpy(pscr->fb, priv->text, VESA_TEXT_SAVE); - break; - case VESA_WINDOWED: - while(i < VESA_TEXT_SAVE) { - p = vesaSetWindowWindowed (pScreen, 0, i, VBE_WINDOW_WRITE, &size); - if(!p) { - ErrorF("Couldn't set window for restoring VGA font\n"); - break; - } - if(i + size > VESA_TEXT_SAVE) - size = VESA_TEXT_SAVE - i; - memcpy(p, ((char*)priv->text) + i, size); - i += size; - } - break; - case VESA_PLANAR: - for (i = 0; i < 4; i++) - { - p = vesaSetWindowPlanar (pScreen, 0, i, VBE_WINDOW_WRITE, &size); - memcpy (p, - ((char *)priv->text) + i * (VESA_TEXT_SAVE/4), - (VESA_TEXT_SAVE/4)); - } - break; - } - } - vesaUnmapFramebuffer (screen); -} - -void -vesaPreserve(KdCardInfo *card) -{ - VesaCardPrivPtr priv = card->driver; - - /* The framebuffer might not be valid at this point, so we cannot - save the VGA fonts now; we do it in vesaEnable. */ - - if (VbeGetMode (priv->vi, &priv->old_vbe_mode) < 0) - priv->old_vbe_mode = -1; - - if (VgaGetMode (priv->vi, &priv->old_vga_mode) < 0) - priv->old_vga_mode = -1; - - if (vesa_verbose) - ErrorF ("Previous modes: VBE 0x%x BIOS 0x%x\n", - priv->old_vbe_mode, priv->old_vga_mode); -} - -void -vesaRestore(KdCardInfo *card) -{ - VesaCardPrivPtr priv = card->driver; - int n; - - if (vesa_force_text) - { - if (vesa_verbose) - ErrorF ("Forcing switch back to mode 3 text\n"); - priv->old_vbe_mode = -1; - priv->old_vga_mode = 3; - } - for (n = 0; n < priv->nmode; n++) - if (priv->modes[n].vbe && priv->modes[n].mode == (priv->old_vbe_mode&0x3fff)) - break; - - if (n < priv->nmode) - { - if (vesa_verbose) - ErrorF ("Restore VBE mode 0x%x\n", priv->old_vbe_mode); - VbeSetMode (priv->vi, priv->vbeInfo, priv->old_vbe_mode, 0, 0); - } - else - { - if (vesa_verbose) - ErrorF ("Restore BIOS mode 0x%x\n", priv->old_vga_mode); - VgaSetMode (priv->vi, priv->old_vga_mode); - } -} - -void -vesaCardFini(KdCardInfo *card) -{ - VesaCardPrivPtr priv = card->driver; - - if (priv->vbeInfo) - VbeCleanup (priv->vi, priv->vbeInfo); - if (priv->modes) - xfree (priv->modes); - Vm86Cleanup(priv->vi); -} - -void -vesaScreenFini(KdScreenInfo *screen) -{ - VesaScreenPrivPtr pscr = screen->driver; - - KdShadowFbFree (screen, 0); - vesaUnmapFramebuffer (screen); - screen->fb[0].depth = pscr->origDepth; -} - -int -vesaSetPalette(VesaCardPrivPtr priv, int first, int number, U8 *entries) -{ - if (priv->vga_palette) - return VgaSetPalette (priv->vi, first, number, entries); - else - return VbeSetPalette (priv->vi, priv->vbeInfo, first, number, entries); -} - - -int -vesaGetPalette(VesaCardPrivPtr priv, int first, int number, U8 *entries) -{ - int code; - - if (priv->vga_palette) - code = VgaGetPalette (priv->vi, first, number, entries); - else - { - code = VbeGetPalette (priv->vi, priv->vbeInfo, first, number, entries); - if (code < 0) - { - priv->vga_palette = 1; - code = VgaGetPalette (priv->vi, first, number, entries); - } - } - return code; -} - -void -vesaPutColors (ScreenPtr pScreen, int fb, int n, xColorItem *pdefs) -{ - KdScreenPriv(pScreen); - VesaScreenPrivPtr pscr = pScreenPriv->screen->driver; - VesaCardPrivPtr priv = pScreenPriv->card->driver; - int p; - CARD8 *scratch; - int red, green, blue; - int min, max; - - if (vesa_swap_rgb) - { - red = 2; - green = 1; - blue = 0; - } - else - { - red = 0; - green = 1; - blue = 2; - } - - min = 256; - max = 0; - while (n--) - { - p = pdefs->pixel; - if (p < min) - min = p; - if (p > max) - max = p; - scratch = priv->cmap + (p * 4); - scratch[red] = pdefs->red >> 8; - scratch[green] = pdefs->green >> 8; - scratch[blue] = pdefs->blue >> 8; - scratch[3] = 0; - pdefs++; - if (pscr->mapping == VESA_PLANAR) - { - /* - * VGA modes are strange; this code covers all - * possible modes by duplicating the color information - * however the attribute registers might be set - */ - if (p < 16) - { - vesaSetPalette (priv, p, 1, scratch); - if (p >= 8) - vesaSetPalette (priv, p+0x30, 1, scratch); - else if (p == 6) - vesaSetPalette (priv, 0x14, 1, scratch); - } - } - } - if (pscr->mapping != VESA_PLANAR) - vesaSetPalette (priv, min, max-min+1, priv->cmap + min * 4); -} - -void -vesaGetColors (ScreenPtr pScreen, int fb, int n, xColorItem *pdefs) -{ - KdScreenPriv(pScreen); - VesaScreenPrivPtr pscr = pScreenPriv->screen->driver; - VesaCardPrivPtr priv = pScreenPriv->card->driver; - int i; - int red, green, blue; - int min, max; - int p; - CARD8 *scratch; - - if (vesa_swap_rgb) - { - red = 2; - green = 1; - blue = 0; - } - else - { - red = 0; - green = 1; - blue = 2; - } - - min = 256; - max = 0; - for(i = 0; i < n; i++) - { - p = pdefs[i].pixel; - if (p < min) - min = p; - if (p > max) - max = p; - if (pscr->mapping == VESA_PLANAR) - vesaGetPalette (priv, p, 1, priv->cmap + p * 4); - } - if (pscr->mapping != VESA_PLANAR) - vesaGetPalette (priv, min, max - min + 1, priv->cmap + min * 4); - for (i = 0; i < n; i++) - { - p = pdefs[i].pixel; - scratch = priv->cmap + p * 4; - pdefs[i].red = scratch[red]<<8; - pdefs[i].green = scratch[green]<<8; - pdefs[i].blue = scratch[blue]<<8; - } -} - -void -vesaUseMsg (void) -{ - ErrorF("\nTinyX VESA Usage:\n"); - ErrorF("-mode VESA video mode to use (Be careful!)\n"); - ErrorF("-listmodes List supported video modes\n"); - ErrorF("-force Attempt even unsupported modes\n"); - ErrorF("-shadow Always use shadow framebuffer (May increase performance)\n"); - ErrorF("-nolinear Never use linear framebuffer (Not useful)\n"); - ErrorF("-swaprgb Use if colors are wrong in PseudoColor and 16 color modes\n"); - ErrorF("-map-holes Use contiguous memory map (For seg fault with rare BIOS)\n"); - ErrorF("-verbose Emit diagnostic messages during BIOS initialization\n"); - ErrorF("-force-text Always use standard 25x80 text mode on server exit or VT switch\n"); - ErrorF("-boot Soft boot video card\n"); - /* XXX: usage for -vesatest, -no-map-holes (don't need?), - * XXX: and -trash-font. Also in man page. */ -} - -int -vesaProcessArgument (int argc, char **argv, int i) -{ - if(!strcmp(argv[i], "-mode")) { - if(i+1 < argc) { - vesa_video_mode = strtol(argv[i+1], NULL, 0); - } else - UseMsg(); - return 2; - } else if(!strcmp(argv[i], "-force")) { - vesa_force_mode = TRUE; - return 1; - } else if(!strcmp(argv[i], "-listmodes")) { - vesaListModes(); - exit(0); - } else if(!strcmp(argv[i], "-vesatest")) { - vesaTestMode(); - exit (0); - } else if(!strcmp(argv[i], "-swaprgb")) { - vesa_swap_rgb = TRUE; - return 1; - } else if(!strcmp(argv[i], "-shadow")) { - vesa_shadow = TRUE; - return 1; - } else if(!strcmp(argv[i], "-nolinear")) { - vesa_linear_fb = FALSE; - return 1; - } else if(!strcmp(argv[i], "-verbose")) { - vesa_verbose = TRUE; - return 1; - } else if(!strcmp(argv[i], "-force-text")) { - vesa_force_text = TRUE; - return 1; - } else if(!strcmp(argv[i], "-map-holes")) { - vesa_map_holes = TRUE; - return 1; - } else if(!strcmp(argv[i], "-no-map-holes")) { - vesa_map_holes = FALSE; - return 1; - } else if(!strcmp(argv[i], "-trash-font")) { - vesa_restore_font = FALSE; - return 1; - } else if(!strcmp(argv[i], "-boot")) { - vesa_boot = TRUE; - return 1; - } - - return 0; -} diff --git a/xorg-server/hw/kdrive/vesa/vesa.h b/xorg-server/hw/kdrive/vesa/vesa.h deleted file mode 100644 index f6b21e9f5..000000000 --- a/xorg-server/hw/kdrive/vesa/vesa.h +++ /dev/null @@ -1,295 +0,0 @@ -/* -Copyright (c) 2000 by Juliusz Chroboczek - -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. -*/ - -#ifndef _VESA_H_ -#define _VESA_H_ - -#include "kdrive.h" -#include "shadow.h" -#include "vm86.h" -#ifdef RANDR -#include "randrstr.h" -#endif - -#define VESA_TEXT_SAVE (64*1024) - -#define MODE_SUPPORTED 0x01 -#define MODE_COLOUR 0x08 -#define MODE_GRAPHICS 0x10 -#define MODE_VGA 0x20 -#define MODE_LINEAR 0x80 - -#define MODE_DIRECT 0x1 - -#define MEMORY_TEXT 0 -#define MEMORY_CGA 1 -#define MEMORY_HERCULES 2 -#define MEMORY_PLANAR 3 -#define MEMORY_PSEUDO 4 -#define MEMORY_NONCHAIN 5 -#define MEMORY_DIRECT 6 -#define MEMORY_YUV 7 - -typedef struct _VesaMode { - int mode; /* mode number */ - int vbe; /* a VBE mode */ - int ModeAttributes; /* mode attributes */ - int NumberOfPlanes; /* number of memory planes */ - int BitsPerPixel; /* bits per pixel */ - int MemoryModel; /* memory model type */ - int RedMaskSize; /* size of direct color red mask in bits */ - int RedFieldPosition; /* bit position of lsb of red mask */ - int GreenMaskSize; /* size of direct color green mask in bits */ - int GreenFieldPosition; /* bit position of lsb of green mask */ - int BlueMaskSize; /* size of direct color blue mask in bits */ - int BlueFieldPosition; /* bit position of lsb of blue mask */ - int RsvdMaskSize; /* size of direct color reserved mask bits*/ - int RsvdFieldPosition; /* bit position of lsb of reserved mask */ - int DirectColorModeInfo; /* direct color mode attributes */ - int XResolution; /* horizontal resolution */ - int YResolution; /* vertical resolution */ - int BytesPerScanLine; /* bytes per scan line */ -} VesaModeRec, *VesaModePtr; - -#include "vbe.h" -#include "vga.h" - -typedef struct _VesaCardPriv { - int vbe; - VesaModePtr modes; - int nmode; - Vm86InfoPtr vi; - int vga_palette; - int old_vbe_mode; - int old_vga_mode; - VbeInfoPtr vbeInfo; - char text[VESA_TEXT_SAVE]; - CARD8 cmap[256*4]; -} VesaCardPrivRec, *VesaCardPrivPtr; - -#define VESA_LINEAR 0 -#define VESA_WINDOWED 1 -#define VESA_PLANAR 2 -#define VESA_MONO 3 - -typedef struct _VesaScreenPriv { - VesaModeRec mode; - Bool shadow; - Rotation randr; - int mapping; - int origDepth; - void *fb; - int fb_size; - CARD32 fb_phys; - PixmapPtr pShadow; - Bool mapped; -} VesaScreenPrivRec, *VesaScreenPrivPtr; - -extern int vesa_video_mode; -extern Bool vesa_force_mode; - -void -vesaReportMode (VesaModePtr mode); - -VesaModePtr -vesaGetModes (Vm86InfoPtr vi, int *ret_nmode); - -void -vesaTestMode (void); - -void * -vesaSetWindowPlanar(ScreenPtr pScreen, - CARD32 row, - CARD32 offset, - int mode, - CARD32 *size); - -void * -vesaSetWindowLinear (ScreenPtr pScreen, - CARD32 row, - CARD32 offset, - int mode, - CARD32 *size); - -void * -vesaSetWindowWindowed (ScreenPtr pScreen, - CARD32 row, - CARD32 offset, - int mode, - CARD32 *size); - -void * -vesaWindowPlanar (ScreenPtr pScreen, - CARD32 row, - CARD32 offset, - int mode, - CARD32 *size, - void *closure); - -void * -vesaWindowLinear (ScreenPtr pScreen, - CARD32 row, - CARD32 offset, - int mode, - CARD32 *size, - void *closure); - -void * -vesaWindowWindowed (ScreenPtr pScreen, - CARD32 row, - CARD32 offset, - int mode, - CARD32 *size, - void *closure); - -void * -vesaWindowCga (ScreenPtr pScreen, - CARD32 row, - CARD32 offset, - int mode, - CARD32 *size, - void *closure); - -void -vesaUpdateMono (ScreenPtr pScreen, - shadowBufPtr pBuf); - -Bool -vesaCreateColormap16 (ColormapPtr pmap); - -void -vesaSetScreenSizes (ScreenPtr pScreen); - -Bool -vesaSetShadow (ScreenPtr pScreen); - - -void -vesaListModes(void); - -Bool -vesaInitialize(KdCardInfo *card, VesaCardPrivPtr priv); - -Bool -vesaCardInit(KdCardInfo *card); - -int -vesaDepth (VesaModePtr mode); - -Bool -vesaModeGood (KdScreenInfo *screen, - VesaModePtr a); - -int -vesaSizeError (KdScreenInfo *screen, - VesaModePtr a); - -Bool -vesaModeBetter (KdScreenInfo *screen, - VesaModePtr a, - VesaModePtr b); - -VesaModePtr -vesaSelectMode (KdScreenInfo *screen); - -Bool -vesaInitialize (KdCardInfo *card, VesaCardPrivPtr priv); - -Bool -vesaScreenInitialize (KdScreenInfo *screen, VesaScreenPrivPtr pscr); - -Bool -vesaScreenInit(KdScreenInfo *screen); - -PixmapPtr -vesaGetPixmap (ScreenPtr pScreen); - -Bool -vesaInitScreen(ScreenPtr pScreen); - -Bool -vesaFinishInitScreen(ScreenPtr pScreen); - -Bool -vesaCreateResources (ScreenPtr pScreen); - -Bool -vesaSetMode (ScreenPtr pScreen, - VesaModePtr mode); - -Bool -vesaEnable(ScreenPtr pScreen); - -Bool -vesaDPMS (ScreenPtr pScreen, int mode); - -void -vesaDisable(ScreenPtr pScreen); - -void -vesaPreserve(KdCardInfo *card); - -void -vesaRestore(KdCardInfo *card); - -void -vesaCardFini(KdCardInfo *card); - -void -vesaScreenFini(KdScreenInfo *screen); - -int -vesaSetPalette(VesaCardPrivPtr priv, int first, int number, U8 *entries); - -int -vesaGetPalette(VesaCardPrivPtr priv, int first, int number, U8 *entries); - -void -vesaPutColors (ScreenPtr pScreen, int fb, int n, xColorItem *pdefs); - -void -vesaGetColors (ScreenPtr pScreen, int fb, int n, xColorItem *pdefs); - -void -vesaUseMsg (void); - -int -vesaProcessArgument (int argc, char **argv, int i); - -#ifdef RANDR -Bool -vesaRandRGetInfo (ScreenPtr pScreen, Rotation *rotations); - -Bool -vesaRandRSetConfig (ScreenPtr pScreen, - Rotation randr, - int rate, - RRScreenSizePtr pSize); -Bool -vesaRandRInit (ScreenPtr pScreen); - -#endif - -Bool -toshibaDPMS (ScreenPtr pScreen, int mode); - -#endif /* _VESA_H_ */ diff --git a/xorg-server/hw/kdrive/vesa/vesainit.c b/xorg-server/hw/kdrive/vesa/vesainit.c deleted file mode 100644 index a5e216cfd..000000000 --- a/xorg-server/hw/kdrive/vesa/vesainit.c +++ /dev/null @@ -1,92 +0,0 @@ -/* -Copyright (c) 2000 by Juliusz Chroboczek - -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. -*/ - -#ifdef HAVE_CONFIG_H -#include -#endif -#include "vesa.h" - -const KdCardFuncs vesaFuncs = { - vesaCardInit, /* cardinit */ - vesaScreenInit, /* scrinit */ - vesaInitScreen, /* initScreen */ - vesaFinishInitScreen, /* finishInitScreen */ - vesaCreateResources, /* createRes */ - vesaPreserve, /* preserve */ - vesaEnable, /* enable */ - vesaDPMS, /* dpms */ - vesaDisable, /* disable */ - vesaRestore, /* restore */ - vesaScreenFini, /* scrfini */ - vesaCardFini, /* cardfini */ - - 0, /* initCursor */ - 0, /* enableCursor */ - 0, /* disableCursor */ - 0, /* finiCursor */ - 0, /* recolorCursor */ - - 0, /* initAccel */ - 0, /* enableAccel */ - 0, /* disableAccel */ - 0, /* finiAccel */ - - vesaGetColors, /* getColors */ - vesaPutColors, /* putColors */ -}; - -void -InitCard(char *name) -{ - KdCardAttr attr; - KdCardInfoAdd((KdCardFuncs *) &vesaFuncs, &attr, 0); -} - -void -InitOutput (ScreenInfo *pScreenInfo, int argc, char **argv) -{ - KdInitOutput (pScreenInfo, argc, argv); -} - -void -InitInput (int argc, char **argv) -{ - KdOsAddInputDrivers(); - KdInitInput(); -} - -void -ddxUseMsg (void) -{ - KdUseMsg(); - vesaUseMsg(); -} - -int -ddxProcessArgument (int argc, char **argv, int i) -{ - int ret; - - if (!(ret = vesaProcessArgument (argc, argv, i))) - ret = KdProcessArgument(argc, argv, i); - return ret; -} diff --git a/xorg-server/hw/kdrive/vesa/vga.c b/xorg-server/hw/kdrive/vesa/vga.c deleted file mode 100644 index 0367a5f06..000000000 --- a/xorg-server/hw/kdrive/vesa/vga.c +++ /dev/null @@ -1,242 +0,0 @@ -/* - * Copyright © 2000 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 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. - */ - -#ifdef HAVE_CONFIG_H -#include -#endif -#include "vesa.h" - -static const VesaModeRec vgaModes[] = { - { - 6, 0, - MODE_SUPPORTED | MODE_GRAPHICS | MODE_VGA | MODE_LINEAR, - 1, 1, MEMORY_PLANAR, - 0, 0, 0, 0, 0, 0, 0, 0, 0, - 640, 200, 80, - }, - { - 0xd, 0, - MODE_SUPPORTED | MODE_GRAPHICS | MODE_VGA | MODE_COLOUR, - 4, 4, MEMORY_PLANAR, - 0, 0, 0, 0, 0, 0, 0, 0, 0, - 320, 200, 40, - }, - { - 0xe, 0, - MODE_SUPPORTED | MODE_GRAPHICS | MODE_VGA | MODE_COLOUR, - 4, 4, MEMORY_PLANAR, - 0, 0, 0, 0, 0, 0, 0, 0, 0, - 640, 200, 80, - }, - { - 0x10, 0, - MODE_SUPPORTED | MODE_GRAPHICS | MODE_VGA | MODE_COLOUR, - 4, 4, MEMORY_PLANAR, - 0, 0, 0, 0, 0, 0, 0, 0, 0, - 640, 350, 80, - }, - { - 0x11, 0, - MODE_SUPPORTED | MODE_GRAPHICS | MODE_VGA | MODE_LINEAR, - 1, 1, MEMORY_PLANAR, - 0, 0, 0, 0, 0, 0, 0, 0, 0, - 640, 480, 80, - }, - { - 0x12, 0, - MODE_SUPPORTED | MODE_GRAPHICS | MODE_VGA | MODE_COLOUR, - 4, 4, MEMORY_PLANAR, - 0, 0, 0, 0, 0, 0, 0, 0, 0, - 640, 480, 80, - }, - { - 0x13, 0, - MODE_SUPPORTED | MODE_GRAPHICS | MODE_VGA | MODE_COLOUR | MODE_LINEAR, - 8, 8, MEMORY_PSEUDO, - 0, 0, 0, 0, 0, 0, 0, 0, 0, - 320, 200, 320, - }, -}; - -#define NUM_VGA_MODE (sizeof vgaModes / sizeof vgaModes[0]) - -int -VgaGetNmode (Vm86InfoPtr vi) -{ - return NUM_VGA_MODE; -} - -int -VgaGetModes (Vm86InfoPtr vi, VesaModePtr mode, int nmode) -{ - if (nmode > NUM_VGA_MODE) - nmode = NUM_VGA_MODE; - memcpy (mode, vgaModes, nmode * sizeof (VesaModeRec)); - return nmode; -} - -int -VgaSetMode(Vm86InfoPtr vi, int mode) -{ - int code; - - vi->vms.regs.eax = mode & 0x7f; - code = Vm86DoInterrupt (vi, 0x10); - if(code < 0) - return -1; - return 0; -} - -int -VgaGetMode (Vm86InfoPtr vi, int *mode) -{ - *mode = Vm86Memory (vi, 0x449); - return 0; -} - -void -VgaSetWritePlaneMask(Vm86InfoPtr vi, int mask) -{ - asm volatile ("outb %b0,%w1" : : "a" (2), "d" (0x3c4)); - asm volatile ("outb %b0,%w1" : : "a" (mask), "d" (0x3c5)); -} - -void -VgaSetReadPlaneMap(Vm86InfoPtr vi, int map) -{ - asm volatile ("outb %b0,%w1" : : "a" (4), "d" (0x3ce)); - asm volatile ("outb %b0,%w1" : : "a" (map), "d" (0x3cf)); -} - -int -VgaSetPalette(Vm86InfoPtr vi, int first, int number, U8 *entries) -{ - U8 *palette_scratch; - int mark; - int palette_base; - int i, j, code; - - if(number == 0) - return 0; - - if(first < 0 || number < 0 || first + number > 256) { - ErrorF("Cannot set %d, %d palette entries\n", first, number); - return -1; - } - - mark = Vm86MarkMemory (vi); - palette_base = Vm86AllocateMemory (vi, 3 * 256); - - palette_scratch = &LM(vi, palette_base); - - vi->vms.regs.eax = 0x1012; - vi->vms.regs.ebx = first; - vi->vms.regs.ecx = number; - vi->vms.regs.es = POINTER_SEGMENT(palette_base); - vi->vms.regs.edx = POINTER_OFFSET(palette_base); - j = 0; - i = 0; - while (number--) - { - palette_scratch[j++] = entries[i++] >> 2; - palette_scratch[j++] = entries[i++] >> 2; - palette_scratch[j++] = entries[i++] >> 2; - i++; - } - code = Vm86DoInterrupt(vi, 0x10); - Vm86ReleaseMemory (vi, mark); - - if(code < 0) - return -1; - return 0; -} - -int -VgaGetPalette(Vm86InfoPtr vi, int first, int number, U8 *entries) -{ - U8 *palette_scratch; - int mark; - int palette_base; - int i, j, code; - - if(number == 0) - return 0; - - if(first < 0 || number < 0 || first + number > 256) { - ErrorF("Cannot get %d, %d palette entries\n", first, number); - return -1; - } - - mark = Vm86MarkMemory (vi); - palette_base = Vm86AllocateMemory (vi, 3 * 256); - - palette_scratch = &LM(vi, palette_base); - - vi->vms.regs.eax = 0x1017; - vi->vms.regs.ebx = first; - vi->vms.regs.ecx = number; - vi->vms.regs.es = POINTER_SEGMENT(palette_base); - vi->vms.regs.edx = POINTER_OFFSET(palette_base); - - code = VbeDoInterrupt10(vi); - if(code < 0) - return -1; - - j = 0; - i = 0; - while (number--) - { - entries[i++] = palette_scratch[j++] << 2; - entries[i++] = palette_scratch[j++] << 2; - entries[i++] = palette_scratch[j++] << 2; - entries[i++] = 0; - } - - Vm86ReleaseMemory (vi, mark); - - return 0; -} - -#define VGA_FB(vm) ((vm) < 8 ? 0xb8000 : 0xa0000) - -void * -VgaSetWindow (Vm86InfoPtr vi, int vmode, int bytes, int mode, int *size) -{ - *size = 0x10000 - bytes; - return &LM(vi,VGA_FB(vmode) + bytes); -} - -void * -VgaMapFramebuffer (Vm86InfoPtr vi, int vmode, int *size, CARD32 *ret_phys) -{ - if (VGA_FB(vmode) == 0xa0000) - *size = 0x10000; - else - *size = 0x4000; - *ret_phys = VGA_FB(vmode); - return &LM(vi,VGA_FB(vmode)); -} - -void -VgaUnmapFramebuffer (Vm86InfoPtr vi) -{ -} diff --git a/xorg-server/hw/kdrive/vesa/vga.h b/xorg-server/hw/kdrive/vesa/vga.h deleted file mode 100644 index 9a368cef7..000000000 --- a/xorg-server/hw/kdrive/vesa/vga.h +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Copyright © 2000 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 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. - */ - -#ifndef _VGA_H_ -#define _VGA_H_ - -int -VgaGetNmode (Vm86InfoPtr vi); - -int -VgaGetModes (Vm86InfoPtr vi, VesaModePtr mode, int nmode); - -int -VgaSetMode(Vm86InfoPtr vi, int mode); - -int -VgaGetMode (Vm86InfoPtr vi, int *mode); - -void -VgaSetWritePlaneMask(Vm86InfoPtr vi, int mask); - -void -VgaSetReadPlaneMap(Vm86InfoPtr vi, int map); - -int -VgaSetPalette(Vm86InfoPtr vi, int first, int number, U8 *entries); - -int -VgaGetPalette(Vm86InfoPtr vi, int first, int number, U8 *entries); - -void * -VgaSetWindow (Vm86InfoPtr vi, int vmode, int bytes, int mode, int *size); - -void * -VgaMapFramebuffer (Vm86InfoPtr vi, int vmode, int *size, CARD32 *phys); - -void -VgaUnmapFramebuffer (Vm86InfoPtr vi); - -#endif /* _VGA_H_ */ diff --git a/xorg-server/hw/kdrive/vesa/vm86.c b/xorg-server/hw/kdrive/vesa/vm86.c deleted file mode 100644 index 0f7bb2262..000000000 --- a/xorg-server/hw/kdrive/vesa/vm86.c +++ /dev/null @@ -1,764 +0,0 @@ -/* - * Copyright © 2000 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 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 (c) 2000 by Juliusz Chroboczek - -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. -*/ - -#ifdef HAVE_CONFIG_H -#include -#endif -#include "vm86.h" - -#define PUSHW(vi, i) \ -{ vi->vms.regs.esp -= 2;\ - LMW(vi,MAKE_POINTER(vi->vms.regs.ss, vi->vms.regs.esp)) = i;} - -static int vm86old(struct vm86_struct *vms); -static int vm86_loop(Vm86InfoPtr vi); - -static const U8 rev_ints[32] = -{ 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0x80, -}; - -static const U8 retcode_data[2] = -{ 0xCD, 0xFF }; - -Vm86InfoPtr -Vm86Setup(int mapHoles) -{ - int devmem = -1, devzero = -1; - void *magicMem, *loMem, *hiMem; - void *hole1, *hole2; - U32 stack_base, ret_code; - Vm86InfoPtr vi = NULL; - - devmem = open("/dev/mem", O_RDWR); - if(devmem < 0) { - perror("open /dev/mem"); - goto fail; - } - - devzero = open("/dev/zero", O_RDWR); - if(devzero < 0) { - perror("open /dev/zero"); - goto fail; - } - - magicMem = MAP_FAILED; - loMem = MAP_FAILED; - hiMem = MAP_FAILED; - hole1 = MAP_FAILED; - hole2 = MAP_FAILED; - - - magicMem = mmap((void*)MAGICMEM_BASE, MAGICMEM_SIZE, - PROT_READ | PROT_WRITE | PROT_EXEC, - MAP_PRIVATE | MAP_FIXED, devmem, MAGICMEM_BASE); - - if(magicMem == MAP_FAILED) { - ErrorF("Couldn't map magic memory\n"); - goto unmapfail; - } - - if(mapHoles) { - hole1 = mmap((void*)HOLE1_BASE, HOLE1_SIZE, - PROT_READ | PROT_WRITE | PROT_EXEC, - MAP_PRIVATE | MAP_FIXED, devzero, HOLE1_BASE); - - if(hole1 == MAP_FAILED) { - ErrorF("Couldn't map first hole\n"); - goto unmapfail; - } - } - - loMem = mmap((void*)LOMEM_BASE, LOMEM_SIZE, - PROT_READ | PROT_WRITE | PROT_EXEC, - MAP_PRIVATE | MAP_FIXED, devzero, LOMEM_BASE); - if(loMem == MAP_FAILED) { - ErrorF("Couldn't map low memory\n"); - munmap(magicMem, MAGICMEM_SIZE); - goto unmapfail; - } - - if(mapHoles) { - hole2 = mmap((void*)HOLE2_BASE, HOLE2_SIZE, - PROT_READ | PROT_WRITE | PROT_EXEC, - MAP_PRIVATE | MAP_FIXED, devzero, HOLE2_BASE); - - if(hole2 == MAP_FAILED) { - ErrorF("Couldn't map first hole\n"); - goto unmapfail; - } - } - - hiMem = mmap((void*)HIMEM_BASE, HIMEM_SIZE, - PROT_READ | PROT_WRITE | PROT_EXEC, - MAP_SHARED | MAP_FIXED, - devmem, HIMEM_BASE); - if(hiMem == MAP_FAILED) { - ErrorF("Couldn't map high memory\n"); - goto unmapfail; - } - - vi = xalloc(sizeof(Vm86InfoRec)); - if (!vi) - goto unmapfail; - - vi->magicMem = magicMem; - vi->hole1 = hole1; - vi->loMem = loMem; - vi->hole2 = hole2; - vi->hiMem = hiMem; - vi->brk = LOMEM_BASE; - - stack_base = Vm86AllocateMemory(vi, STACK_SIZE); - if(stack_base == ALLOC_FAIL) - goto unmapfail; - ret_code = Vm86AllocateMemory(vi, sizeof(retcode_data)); - if(ret_code == ALLOC_FAIL) - goto unmapfail; - - vi->stack_base = stack_base; - vi->ret_code = ret_code; - - memset(&vi->vms, 0, sizeof(struct vm86_struct)); - vi->vms.flags = 0; - vi->vms.screen_bitmap = 0; - vi->vms.cpu_type = CPU_586; - memcpy(&vi->vms.int_revectored, rev_ints, sizeof(rev_ints)); - - iopl(3); - - if(devmem >= 0) - close(devmem); - if(devzero >= 0) - close(devzero); - - return vi; - -unmapfail: - if(magicMem != MAP_FAILED) munmap(magicMem, MAGICMEM_SIZE); - if(hole1 != MAP_FAILED) munmap(hole1, HOLE1_SIZE); - if(loMem != MAP_FAILED) munmap(loMem, LOMEM_SIZE); - if(hole2 != MAP_FAILED) munmap(hole2, HOLE2_SIZE); - if(hiMem != MAP_FAILED) munmap(hiMem, HIMEM_SIZE); -fail: - if(devmem >= 0) - close(devmem); - if(devzero >= 0) - close(devzero); - if(vi) - xfree(vi); - return NULL; -} - -void -Vm86Cleanup(Vm86InfoPtr vi) -{ - if(vi->magicMem != MAP_FAILED) munmap(vi->magicMem, MAGICMEM_SIZE); - if(vi->hole1 != MAP_FAILED) munmap(vi->hole1, HOLE1_SIZE); - if(vi->loMem != MAP_FAILED) munmap(vi->loMem, LOMEM_SIZE); - if(vi->hole2 != MAP_FAILED) munmap(vi->hole2, HOLE2_SIZE); - if(vi->hiMem != MAP_FAILED) munmap(vi->hiMem, HIMEM_SIZE); - xfree(vi); -} - -int -Vm86DoInterrupt(Vm86InfoPtr vi, int num) -{ - U16 seg, off; - int code; - - if(num < 0 || num>256) { - ErrorF("Interrupt %d doesn't exist\n"); - return -1; - } - seg = MMW(vi,num * 4 + 2); - off = MMW(vi,num * 4); - if(MAKE_POINTER(seg, off) < ROM_BASE || - MAKE_POINTER(seg, off) >= ROM_BASE + ROM_SIZE) { - ErrorF("Interrupt pointer (seg %x off %x) doesn't point at ROM\n", - seg, off); - return -1; - } - memcpy(&(LM(vi,vi->ret_code)), retcode_data, sizeof(retcode_data)); - vi->vms.regs.eflags = IF_MASK | IOPL_MASK; - vi->vms.regs.ss = POINTER_SEGMENT(vi->stack_base); - vi->vms.regs.esp = STACK_SIZE; - PUSHW(vi, IF_MASK | IOPL_MASK); - PUSHW(vi, POINTER_SEGMENT(vi->ret_code)); - PUSHW(vi, POINTER_OFFSET(vi->ret_code)); - vi->vms.regs.cs = seg; - vi->vms.regs.eip = off; - OsBlockSignals (); - code = vm86_loop(vi); - OsReleaseSignals (); - if(code != 0) - return -1; - else - return 0; -} - -int -Vm86DoPOST(Vm86InfoPtr vi) -{ - U16 seg, off; - int code; - - seg = 0xC000; - off = 3; - if(MAKE_POINTER(seg, off) < ROM_BASE || - MAKE_POINTER(seg, off) >= ROM_BASE + ROM_SIZE) { - ErrorF("BIOS pointer (seg %x off %x) doesn't point at ROM\n", - seg, off); - return -1; - } - memcpy(&(LM(vi,vi->ret_code)), retcode_data, sizeof(retcode_data)); - vi->vms.regs.ss = POINTER_SEGMENT(vi->stack_base); - vi->vms.regs.esp = STACK_SIZE; - PUSHW(vi, POINTER_SEGMENT(vi->ret_code)); - PUSHW(vi, POINTER_OFFSET(vi->ret_code)); - vi->vms.regs.cs = seg; - vi->vms.regs.eip = off; - OsBlockSignals (); - code = vm86_loop(vi); - OsReleaseSignals (); - if(code != 0) - return -1; - else - return 0; -} - -#define DEBUG_VBE 0 -#if DEBUG_VBE -#define DBG(x) ErrorF x; usleep(10*1000) -#else -#define DBG(x) -#endif - -static inline U8 -vm86_inb(U16 port) -{ - U8 value; - - if (port != 0x3da) - { - DBG(("inb 0x%04x", port)); - } - asm volatile ("inb %w1,%b0" : "=a" (value) : "d" (port)); - if (port != 0x3da) - { - DBG((" = 0x%02x\n", value)); - } - return value; -} - -static inline U16 -vm86_inw(U16 port) -{ - U16 value; - DBG(("inw 0x%04x", port)); - asm volatile ("inw %w1,%w0" : "=a" (value) : "d" (port)); - DBG((" = 0x%04x\n", value)); - return value; -} - -static inline U32 -vm86_inl(U16 port) -{ - U32 value; - DBG(("inl 0x%04x", port)); - asm volatile ("inl %w1,%0" : "=a" (value) : "d" (port)); - DBG((" = 0x%08x\n", value)); - return value; -} - -static inline void -vm86_outb(U16 port, U8 value) -{ -#if 0 - static U8 CR; - - if (port == 0x3d4) - CR = value; - if (port == 0x3d5 && CR == 0xa4) - { - DBG(("outb 0x%04x = 0x%02x (skipped)\n", port, value)); - return; - } -#endif - DBG(("outb 0x%04x = 0x%02x\n", port, value)); - asm volatile ("outb %b0,%w1" : : "a" (value), "d" (port)); -} - -static inline void -vm86_outw(U16 port, U16 value) -{ - DBG(("outw 0x%04x = 0x%04x\n", port, value)); - asm volatile ("outw %w0,%w1" : : "a" (value), "d" (port)); -} - -static inline void -vm86_outl(U16 port, U32 value) -{ - DBG(("outl 0x%04x = 0x%08x\n", port, value)); - asm volatile ("outl %0,%w1" : : "a" (value), "d" (port)); -} - -#define SEG_CS 1 -#define SEG_DS 2 -#define SEG_ES 3 -#define SEG_SS 4 -#define SEG_GS 5 -#define SEG_FS 6 -#define REP 1 -#define REPNZ 2 -#define SET_8(_x, _y) (_x) = ((_x) & ~0xFF) | ((_y) & 0xFF); -#define SET_16(_x, _y) (_x) = ((_x) & ~0xFFFF) | ((_y) & 0xFFFF); -#define INC_IP(_i) SET_16(regs->eip, (regs->eip + _i)) -#define AGAIN INC_IP(1); goto again; - -static int -vm86_emulate(Vm86InfoPtr vi) -{ - struct vm86_regs *regs = &vi->vms.regs; - U8 opcode; - int size; - int pref_seg = 0, pref_rep = 0, pref_66 = 0, pref_67 = 0; - - again: - if(!Vm86IsMemory(vi, MAKE_POINTER(regs->cs, regs->eip))) { - ErrorF("Trying to execute unmapped memory\n"); - return -1; - } - opcode = Vm86Memory(vi, MAKE_POINTER(regs->cs, regs->eip)); - switch(opcode) { - case 0x2E: pref_seg = SEG_CS; AGAIN; - case 0x3E: pref_seg = SEG_DS; AGAIN; - case 0x26: pref_seg = SEG_ES; AGAIN; - case 0x36: pref_seg = SEG_SS; AGAIN; - case 0x65: pref_seg = SEG_GS; AGAIN; - case 0x64: pref_seg = SEG_FS; AGAIN; - case 0x66: pref_66 = 1; AGAIN; - case 0x67: pref_67 = 1; AGAIN; - case 0xF2: pref_rep = REPNZ; AGAIN; - case 0xF3: pref_rep = REP; AGAIN; - - case 0xEC: /* IN AL, DX */ - SET_8(regs->eax, vm86_inb(regs->edx & 0xFFFF)); - INC_IP(1); - break; - case 0xED: /* IN AX, DX */ - if(pref_66) - regs->eax = vm86_inl(regs->edx & 0xFFFF); - else - SET_16(regs->eax, vm86_inw(regs->edx & 0xFFFF)); - INC_IP(1); - break; - case 0xE4: /* IN AL, imm8 */ - SET_8(regs->eax, - vm86_inb(Vm86Memory(vi, MAKE_POINTER(regs->cs, regs->eip+1)))); - INC_IP(2); - break; - case 0xE5: /* IN AX, imm8 */ - if(pref_66) - regs->eax = - vm86_inl(Vm86Memory(vi, MAKE_POINTER(regs->cs, regs->eip+1))); - else - SET_16(regs->eax, - vm86_inw(Vm86Memory(vi, MAKE_POINTER(regs->cs, regs->eip+1)))); - INC_IP(2); - break; - case 0x6C: /* INSB */ - case 0x6D: /* INSW */ - if(opcode == 0x6C) { - Vm86WriteMemory(vi, MAKE_POINTER(regs->es, regs->edi), - vm86_inb(regs->edx & 0xFFFF)); - size = 1; - } else if(pref_66) { - Vm86WriteMemoryL(vi, MAKE_POINTER(regs->es, regs->edi), - vm86_inl(regs->edx & 0xFFFF)); - size = 4; - } else { - Vm86WriteMemoryW(vi, MAKE_POINTER(regs->es, regs->edi), - vm86_inw(regs->edx & 0xFFFF)); - size = 2; - } - if(regs->eflags & (1<<10)) - regs->edi -= size; - else - regs->edi += size; - if(pref_rep) { - if(pref_66) { - regs->ecx--; - if(regs->ecx != 0) - goto again; - } else { - SET_16(regs->ecx, regs->ecx - 1); - if((regs->ecx & 0xFFFF) != 0) - goto again; - } - } - INC_IP(1); - break; - - case 0xEE: /* OUT DX, AL */ - vm86_outb(regs->edx & 0xFFFF, regs->eax & 0xFF); - INC_IP(1); - break; - case 0xEF: /* OUT DX, AX */ - if(pref_66) - vm86_outl(regs->edx & 0xFFFF, regs->eax); - else - vm86_outw(regs->edx & 0xFFFF, regs->eax & 0xFFFF); - INC_IP(1); - break; - case 0xE6: /* OUT imm8, AL */ - vm86_outb(Vm86Memory(vi, MAKE_POINTER(regs->cs, regs->eip+1)), - regs->eax & 0xFF); - INC_IP(2); - break; - case 0xE7: /* OUT imm8, AX */ - if(pref_66) - vm86_outl(Vm86Memory(vi, MAKE_POINTER(regs->cs, regs->eip+1)), - regs->eax); - else - vm86_outw(Vm86Memory(vi, MAKE_POINTER(regs->cs, regs->eip+1)), - regs->eax & 0xFFFF); - INC_IP(2); - break; - case 0x6E: /* OUTSB */ - case 0x6F: /* OUTSW */ - if(opcode == 0x6E) { - vm86_outb(regs->edx & 0xFFFF, - Vm86Memory(vi, MAKE_POINTER(regs->es, regs->edi))); - size = 1; - } else if(pref_66) { - vm86_outl(regs->edx & 0xFFFF, - Vm86Memory(vi, MAKE_POINTER(regs->es, regs->edi))); - size = 4; - } else { - vm86_outw(regs->edx & 0xFFFF, - Vm86Memory(vi, MAKE_POINTER(regs->es, regs->edi))); - size = 2; - } - if(regs->eflags & (1<<10)) - regs->edi -= size; - else - regs->edi += size; - if(pref_rep) { - if(pref_66) { - regs->ecx--; - if(regs->ecx != 0) - goto again; - } else { - SET_16(regs->ecx, regs->ecx - 1); - if((regs->ecx & 0xFFFF) != 0) - goto again; - } - } - INC_IP(1); - break; - - case 0x0F: - ErrorF("Hit 0F trap in VM86 code\n"); - return -1; - case 0xF0: - ErrorF("Hit lock prefix in VM86 code\n"); - return -1; - case 0xF4: - ErrorF("Hit HLT in VM86 code\n"); - return -1; - - default: - ErrorF("Unhandled GP fault in VM86 code (opcode = 0x%02X)\n", - opcode); - return -1; - } - return 0; -} -#undef SEG_CS -#undef SEG_DS -#undef SEG_ES -#undef SEG_SS -#undef SEG_GS -#undef SEG_FS -#undef REP -#undef REPNZ -#undef SET_8 -#undef SET_16 -#undef INC_IP -#undef AGAIN - -static int -vm86_loop(Vm86InfoPtr vi) -{ - int code; - - while(1) { - code = vm86old(&vi->vms); - switch(VM86_TYPE(code)) { - case VM86_SIGNAL: - continue; - case VM86_UNKNOWN: - code = vm86_emulate(vi); - if(code < 0) { - Vm86Debug(vi); - return -1; - } - break; - case VM86_INTx: - if(VM86_ARG(code) == 0xFF) - return 0; - else { - PUSHW(vi, vi->vms.regs.eflags) - PUSHW(vi, vi->vms.regs.cs); - PUSHW(vi, vi->vms.regs.eip); - vi->vms.regs.cs = MMW(vi,VM86_ARG(code) * 4 + 2); - vi->vms.regs.eip = MMW(vi,VM86_ARG(code) * 4); - } - break; - case VM86_STI: - ErrorF("VM86 code enabled interrupts\n"); - Vm86Debug(vi); - return -1; - default: - if(code < 0) { - if(errno == ENOSYS) { - ErrorF("No vm86 support. Are you running on AMD64?\n"); - } else { - ErrorF("vm86 failed (%s).\n", strerror(errno)); - Vm86Debug(vi); - } - } else { - ErrorF("Unexpected result code 0x%X from vm86\n", code); - Vm86Debug(vi); - } - return -1; - } - } -} - -int -Vm86IsMemory(Vm86InfoPtr vi, U32 i) -{ - if(i >= MAGICMEM_BASE && i< MAGICMEM_BASE + MAGICMEM_SIZE) - return 1; - else if(i >= LOMEM_BASE && i< LOMEM_BASE + LOMEM_SIZE) - return 1; - else if(i >= HIMEM_BASE && i< HIMEM_BASE + HIMEM_SIZE) - return 1; - else - return 0; -} - -U8 -Vm86Memory(Vm86InfoPtr vi, U32 i) -{ - if(i >= MAGICMEM_BASE && i< MAGICMEM_BASE + MAGICMEM_SIZE) - return MM(vi, i); - else if(i >= LOMEM_BASE && i< LOMEM_BASE + LOMEM_SIZE) - return LM(vi, i); - else if(i >= HIMEM_BASE && i< HIMEM_BASE + HIMEM_SIZE) - return HM(vi, i); - else { - ErrorF("Reading unmapped memory at 0x%08X\n", i); - return 0; - } -} - -U16 -Vm86MemoryW(Vm86InfoPtr vi, U32 i) -{ - if(i >= MAGICMEM_BASE && i< MAGICMEM_BASE + MAGICMEM_SIZE) - return MMW(vi, i); - else if(i >= LOMEM_BASE && i< LOMEM_BASE + LOMEM_SIZE) - return LMW(vi, i); - else if(i >= HIMEM_BASE && i< HIMEM_BASE + HIMEM_SIZE) - return HMW(vi, i); - else { - ErrorF("Reading unmapped memory at 0x%08X\n", i); - return 0; - } -} - -U32 -Vm86MemoryL(Vm86InfoPtr vi, U32 i) -{ - if(i >= MAGICMEM_BASE && i< MAGICMEM_BASE + MAGICMEM_SIZE) - return MML(vi, i); - else if(i >= LOMEM_BASE && i< LOMEM_BASE + LOMEM_SIZE) - return LML(vi, i); - else if(i >= HIMEM_BASE && i< HIMEM_BASE + HIMEM_SIZE) - return HML(vi, i); - else { - ErrorF("Reading unmapped memory at 0x%08X\n", i); - return 0; - } -} - -void -Vm86WriteMemory(Vm86InfoPtr vi, U32 i, U8 val) -{ - if(i >= MAGICMEM_BASE && i< MAGICMEM_BASE + MAGICMEM_SIZE) - MM(vi, i) = val; - else if(i >= LOMEM_BASE && i< LOMEM_BASE + LOMEM_SIZE) - LM(vi, i) = val; - else if(i >= HIMEM_BASE && i< HIMEM_BASE + HIMEM_SIZE) - HM(vi, i) = val; - else { - ErrorF("Writing unmapped memory at 0x%08X\n", i); - } -} - -void -Vm86WriteMemoryW(Vm86InfoPtr vi, U32 i, U16 val) -{ - if(i >= MAGICMEM_BASE && i< MAGICMEM_BASE + MAGICMEM_SIZE) - MMW(vi, i) = val; - else if(i >= LOMEM_BASE && i< LOMEM_BASE + LOMEM_SIZE) - LMW(vi, i) = val; - else if(i >= HIMEM_BASE && i< HIMEM_BASE + HIMEM_SIZE) - HMW(vi, i) = val; - else { - ErrorF("Writing unmapped memory at 0x%08X\n", i); - } -} - -void -Vm86WriteMemoryL(Vm86InfoPtr vi, U32 i, U32 val) -{ - if(i >= MAGICMEM_BASE && i< MAGICMEM_BASE + MAGICMEM_SIZE) - MML(vi, i) = val; - else if(i >= LOMEM_BASE && i< LOMEM_BASE + LOMEM_SIZE) - LML(vi, i) = val; - else if(i >= HIMEM_BASE && i< HIMEM_BASE + HIMEM_SIZE) - HML(vi, i) = val; - else { - ErrorF("Writing unmapped memory at 0x%08X\n", i); - } -} - -int -Vm86AllocateMemory(Vm86InfoPtr vi, int n) -{ - int ret; - if(n<0) { - ErrorF("Asked to allocate negative amount of memory\n"); - return vi->brk; - } - - n = (n + 15) & ~15; - if(vi->brk + n > LOMEM_BASE + LOMEM_SIZE) { - ErrorF("Out of low memory\n"); - exit(2); - } - ret = vi->brk; - vi->brk += n; - return ret; -} - -int -Vm86MarkMemory (Vm86InfoPtr vi) -{ - return vi->brk; -} - -void -Vm86ReleaseMemory (Vm86InfoPtr vi, int mark) -{ - vi->brk = mark; -} - -static int -vm86old(struct vm86_struct *vm) -{ - int res; - - asm volatile ( - "pushl %%ebx\n\t" - "movl %2, %%ebx\n\t" - "movl %1,%%eax\n\t" - "int $0x80\n\t" - "popl %%ebx" - : "=a" (res) : "n" (113), "r" (vm)); - if(res < 0) { - errno = -res; - res = -1; - } else - errno = 0; - return res; -} - -void -Vm86Debug(Vm86InfoPtr vi) -{ - struct vm86_regs *regs = &vi->vms.regs; - int i; - - ErrorF("eax=0x%08lX ebx=0x%08lX ecx=0x%08lX edx=0x%08lX\n", - regs->eax, regs->ebx, regs->ecx, regs->edx); - ErrorF("esi=0x%08lX edi=0x%08lX ebp=0x%08lX\n", - regs->esi, regs->edi, regs->ebp); - ErrorF("eip=0x%08lX esp=0x%08lX eflags=0x%08lX\n", - regs->eip, regs->esp, regs->eflags); - ErrorF("cs=0x%04lX ds=0x%04lX es=0x%04lX fs=0x%04lX gs=0x%04lX\n", - regs->cs, regs->ds, regs->es, regs->fs, regs->gs); - for(i=-7; i<8; i++) { - ErrorF(" %s%02X", - i==0?"->":"", - Vm86Memory(vi, MAKE_POINTER(regs->cs, regs->eip + i))); - } - ErrorF("\n"); -} - -#ifdef NOT_IN_X_SERVER -static void -ErrorF(char *f, ...) -{ - va_list args; - va_start(args, f); - vfprintf(stderr, f, args); - va_end(args); -} -#endif diff --git a/xorg-server/hw/kdrive/vesa/vm86.h b/xorg-server/hw/kdrive/vesa/vm86.h deleted file mode 100644 index 81693081a..000000000 --- a/xorg-server/hw/kdrive/vesa/vm86.h +++ /dev/null @@ -1,180 +0,0 @@ -/* - * Copyright © 2000 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 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 (c) 2000 by Juliusz Chroboczek - -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. -*/ - -#ifndef _VM86_H_ -#define _VM86_H_ - -#include -#include -#include -#include -#include -#include -#include - -#ifdef NOT_IN_X_SERVER -#include -#include -#include -static void ErrorF(char*, ...); -#define xalloc(a) malloc(a) -#define xcalloc(a,b) calloc(a,b) -#define xfree(a) free(a) -#else -#include -#include -#include -#include "os.h" -#endif - -#ifndef IF_MASK -#define IF_MASK X86_EFLAGS_IF -#endif -#ifndef IOPL_MASK -#define IOPL_MASK X86_EFLAGS_IOPL -#endif - -typedef unsigned char U8; -typedef unsigned short U16; -typedef unsigned int U32; - -/* The whole addressable memory */ -#define SYSMEM_BASE 0x00000 -#define SYSMEM_SIZE 0x100000 - -/* Interrupt vectors and BIOS data area */ -/* This is allocated privately from /dev/mem */ -#define MAGICMEM_BASE 0x00000 -#define MAGICMEM_SIZE 0x01000 - -/* The low memory, allocated privately from /dev/zero */ -/* 64KB should be enough for anyone, as they used to say */ -#define LOMEM_BASE 0x10000 -#define LOMEM_SIZE 0x10000 - -/* The video memory and BIOS ROM, allocated shared from /dev/mem */ -#define HIMEM_BASE 0xA0000 -#define HIMEM_SIZE (SYSMEM_BASE + SYSMEM_SIZE - HIMEM_BASE) - -#define HOLE1_BASE (MAGICMEM_BASE + MAGICMEM_SIZE) -#define HOLE1_SIZE (LOMEM_BASE - HOLE1_BASE) - -#define HOLE2_BASE (LOMEM_BASE + LOMEM_SIZE) -#define HOLE2_SIZE (HIMEM_BASE - HOLE2_BASE) - -/* The BIOS ROM */ -#define ROM_BASE 0xC0000 -#define ROM_SIZE 0x30000 - -#define STACK_SIZE 0x1000 - -#define POINTER_SEGMENT(ptr) (((unsigned int)ptr)>>4) -#define POINTER_OFFSET(ptr) (((unsigned int)ptr)&0x000F) -#define MAKE_POINTER(seg, off) (((((unsigned int)(seg))<<4) + (unsigned int)(off))) -#define MAKE_POINTER_1(lw) MAKE_POINTER(((lw)&0xFFFF0000)/0x10000, (lw)&0xFFFF) -#define ALLOC_FAIL ((U32)-1) - -typedef struct _Vm86InfoRec { - void *magicMem, *loMem, *hiMem; - void *hole1, *hole2; - U32 brk; - struct vm86_struct vms; - U32 ret_code, stack_base; -} Vm86InfoRec, *Vm86InfoPtr; - -#define LM(vi,i) (((char*)vi->loMem)[i-LOMEM_BASE]) -#define LMW(vi,i) (*(U16*)(&LM(vi,i))) -#define LML(vi,i) (*(U32*)(&LM(vi,i))) -#define MM(vi,i) (((char*)vi->magicMem)[i-MAGICMEM_BASE]) -#define MMW(vi,i) (*(U16*)(&MM(vi,i))) -#define MML(vi,i) (*(U32*)(&MM(vi,i))) -#define HM(vi,i) (((char*)vi->hiMem)[i-HIMEM_BASE]) -#define HMW(vi,i) (*(U16*)(&MM(vi,i))) -#define HML(vi,i) (*(U32*)(&MM(vi,i))) - -Vm86InfoPtr -Vm86Setup(int); - -void -Vm86Cleanup(Vm86InfoPtr vi); - -int -Vm86DoInterrupt(Vm86InfoPtr vi, int num); - -int -Vm86DoPOST(Vm86InfoPtr vi); - -int -Vm86IsMemory(Vm86InfoPtr vi, U32 i); - -U8 -Vm86Memory(Vm86InfoPtr, U32); - -U16 -Vm86MemoryW(Vm86InfoPtr, U32); - -U32 -Vm86MemoryL(Vm86InfoPtr, U32); - -void -Vm86WriteMemory(Vm86InfoPtr, U32, U8); - -void -Vm86WriteMemoryW(Vm86InfoPtr, U32, U16); - -void -Vm86WriteMemoryL(Vm86InfoPtr, U32, U32); - -int -Vm86AllocateMemory(Vm86InfoPtr, int); - -int -Vm86MarkMemory (Vm86InfoPtr vi); - -void -Vm86ReleaseMemory (Vm86InfoPtr vi, int mark); - -void -Vm86Debug(Vm86InfoPtr vi); - -#endif /* _VM86_H_ */ diff --git a/xorg-server/hw/kdrive/via/Makefile.am b/xorg-server/hw/kdrive/via/Makefile.am deleted file mode 100644 index c659379f0..000000000 --- a/xorg-server/hw/kdrive/via/Makefile.am +++ /dev/null @@ -1,37 +0,0 @@ -INCLUDES = \ - @KDRIVE_INCS@ \ - -I$(top_srcdir)/hw/kdrive/vesa \ - @KDRIVE_CFLAGS@ - -bin_PROGRAMS = Xvia - -noinst_LIBRARIES = libvia.a - -libvia_a_SOURCES = \ - via.c \ - viadraw.c \ - viadraw.h \ - via.h \ - via_regs.h - -Xvia_SOURCES = \ - viastub.c - -VIA_LIBS = \ - libvia.a \ - $(top_builddir)/hw/kdrive/vesa/libvesa.a - -if GLX -Xvia_LDFLAGS = $(LD_EXPORT_SYMBOLS_FLAG) -endif - -Xvia_LDADD = \ - $(VIA_LIBS) \ - @KDRIVE_LIBS@ - -Xvia_DEPENDENCIES = \ - libvia.a \ - @KDRIVE_LOCAL_LIBS@ - -relink: - rm -f $(bin_PROGRAMS) && make $(bin_PROGRAMS) diff --git a/xorg-server/hw/kdrive/via/Makefile.in b/xorg-server/hw/kdrive/via/Makefile.in deleted file mode 100644 index 4f4327e21..000000000 --- a/xorg-server/hw/kdrive/via/Makefile.in +++ /dev/null @@ -1,716 +0,0 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008 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 = Xvia$(EXEEXT) -subdir = hw/kdrive/via -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 -libvia_a_AR = $(AR) $(ARFLAGS) -libvia_a_LIBADD = -am_libvia_a_OBJECTS = via.$(OBJEXT) viadraw.$(OBJEXT) -libvia_a_OBJECTS = $(am_libvia_a_OBJECTS) -am__installdirs = "$(DESTDIR)$(bindir)" -binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) -PROGRAMS = $(bin_PROGRAMS) -am_Xvia_OBJECTS = viastub.$(OBJEXT) -Xvia_OBJECTS = $(am_Xvia_OBJECTS) -Xvia_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(Xvia_LDFLAGS) \ - $(LDFLAGS) -o $@ -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include -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 = $(libvia_a_SOURCES) $(Xvia_SOURCES) -DIST_SOURCES = $(libvia_a_SOURCES) $(Xvia_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@ -DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ -DRI2PROTO_LIBS = @DRI2PROTO_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@ -DSYMUTIL = @DSYMUTIL@ -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@ -GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ -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@ -LAUNCHD = @LAUNCHD@ -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@ -NMEDIT = @NMEDIT@ -OBJC = @OBJC@ -OBJCCLD = @OBJCCLD@ -OBJCDEPMODE = @OBJCDEPMODE@ -OBJCFLAGS = @OBJCFLAGS@ -OBJCLINK = @OBJCLINK@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ -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@ -PCIACCESS_CFLAGS = @PCIACCESS_CFLAGS@ -PCIACCESS_LIBS = @PCIACCESS_LIBS@ -PCI_TXT_IDS_PATH = @PCI_TXT_IDS_PATH@ -PERL = @PERL@ -PKG_CONFIG = @PKG_CONFIG@ -PROJECTROOT = @PROJECTROOT@ -PS2PDF = @PS2PDF@ -RANLIB = @RANLIB@ -RAWCPP = @RAWCPP@ -RAWCPPFLAGS = @RAWCPPFLAGS@ -SED = @SED@ -SERVER_MISC_CONFIG_PATH = @SERVER_MISC_CONFIG_PATH@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ -SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ -STRIP = @STRIP@ -TSLIB_CFLAGS = @TSLIB_CFLAGS@ -TSLIB_LIBS = @TSLIB_LIBS@ -UTILS_SYS_LIBS = @UTILS_SYS_LIBS@ -VENDOR_MAN_VERSION = @VENDOR_MAN_VERSION@ -VENDOR_NAME = @VENDOR_NAME@ -VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ -VENDOR_RELEASE = @VENDOR_RELEASE@ -VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ -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_CFLAGS = @XDMX_CFLAGS@ -XDMX_LIBS = @XDMX_LIBS@ -XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ -XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ -XEPHYR_INCS = @XEPHYR_INCS@ -XEPHYR_LIBS = @XEPHYR_LIBS@ -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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ -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@ -XNEST_SYS_LIBS = @XNEST_SYS_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_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@ -XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_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@ -XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ -XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ -XTSTEXAMPLES_DEP_LIBS = @XTSTEXAMPLES_DEP_LIBS@ -XVFB_LIBS = @XVFB_LIBS@ -XVFB_SYS_LIBS = @XVFB_SYS_LIBS@ -XWINMODULES_CFLAGS = @XWINMODULES_CFLAGS@ -XWINMODULES_LIBS = @XWINMODULES_LIBS@ -XWIN_LIBS = @XWIN_LIBS@ -XWIN_SERVER_NAME = @XWIN_SERVER_NAME@ -XWIN_SYS_LIBS = @XWIN_SYS_LIBS@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -__XCONFIGFILE__ = @__XCONFIGFILE__@ -abi_ansic = @abi_ansic@ -abi_extension = @abi_extension@ -abi_font = @abi_font@ -abi_videodrv = @abi_videodrv@ -abi_xinput = @abi_xinput@ -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@ -launchagentsdir = @launchagentsdir@ -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_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ -INCLUDES = \ - @KDRIVE_INCS@ \ - -I$(top_srcdir)/hw/kdrive/vesa \ - @KDRIVE_CFLAGS@ - -noinst_LIBRARIES = libvia.a -libvia_a_SOURCES = \ - via.c \ - viadraw.c \ - viadraw.h \ - via.h \ - via_regs.h - -Xvia_SOURCES = \ - viastub.c - -VIA_LIBS = \ - libvia.a \ - $(top_builddir)/hw/kdrive/vesa/libvesa.a - -@GLX_TRUE@Xvia_LDFLAGS = $(LD_EXPORT_SYMBOLS_FLAG) -Xvia_LDADD = \ - $(VIA_LIBS) \ - @KDRIVE_LIBS@ - -Xvia_DEPENDENCIES = \ - libvia.a \ - @KDRIVE_LOCAL_LIBS@ - -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/kdrive/via/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign hw/kdrive/via/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) -libvia.a: $(libvia_a_OBJECTS) $(libvia_a_DEPENDENCIES) - -rm -f libvia.a - $(libvia_a_AR) libvia.a $(libvia_a_OBJECTS) $(libvia_a_LIBADD) - $(RANLIB) libvia.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) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ - $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --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 -Xvia$(EXEEXT): $(Xvia_OBJECTS) $(Xvia_DEPENDENCIES) - @rm -f Xvia$(EXEEXT) - $(Xvia_LINK) $(Xvia_OBJECTS) $(Xvia_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/via.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/viadraw.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/viastub.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; nonemtpy = 1; } \ - END { if (nonempty) { 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; nonempty = 1; } \ - END { if (nonempty) { 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=; \ - 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; nonempty = 1; } \ - END { if (nonempty) { 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) -installdirs: - for dir in "$(DESTDIR)$(bindir)"; 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-dvi: install-dvi-am - -install-exec-am: install-binPROGRAMS - -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-binPROGRAMS - -.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-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-binPROGRAMS - - -relink: - rm -f $(bin_PROGRAMS) && make $(bin_PROGRAMS) -# 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/xorg-server/hw/kdrive/via/via.c b/xorg-server/hw/kdrive/via/via.c deleted file mode 100644 index b8e1036aa..000000000 --- a/xorg-server/hw/kdrive/via/via.c +++ /dev/null @@ -1,435 +0,0 @@ -/* - * 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. - */ -/* -** VIA CLE266 driver -** Copyright 2004 (C) Ralph Thomas -** -** http://www.viatech.com.tw/ -*/ - -#include "via.h" -#include "viadraw.h" - -/* -** viaCardInit( KdCardInfo* card ) -** -** Description: -** Create card specific structures, map chip registers and initialize the -** VESA driver. We make the VESA driver do boring stuff for us, like set -** up a framebuffer and program a mode. -** -** Parameters: -** card Information stucture for the card we want to bring up. -** It should be a VIA card. -** -** Return: -** TRUE Initialization went ok. -** FALSE Initialization failed. -*/ -static Bool -viaCardInit( KdCardInfo* card ) { - ViaCardInfo* viac; - - viac = (ViaCardInfo*) xalloc( sizeof( ViaCardInfo ) ); - if( !viac ) return FALSE; - memset( viac, '\0', sizeof( ViaCardInfo ) ); - - - viaMapReg( card, viac ); - - if( !vesaInitialize( card, &viac->vesa ) ) { - xfree( viac ); - return FALSE; - } - - card->driver = viac; - - return TRUE; -} - -/* -** Bool viaScreenInit( KdScreenInfo* screen ) -** -** Description: -** Initialize a single screen, described by the screen parameter. -** This is where fairly low-level screen related things get setup, -** such as video mode and resolution. Currently that all gets -** handed off to the VESA driver. -** -** Parameters: -** screen Information structure for the screen to enable. -** -** Return: -** TRUE Screen was initialized successfully -** FALSE Screen initialization failed -*/ -static Bool -viaScreenInit( KdScreenInfo* screen ) { - ViaCardInfo* viac = screen->card->driver; - ViaScreenInfo* vias; - - vias = (ViaScreenInfo*) xalloc( sizeof( ViaScreenInfo ) ); - if( !vias ) return FALSE; - memset( vias, '\0', sizeof( ViaScreenInfo ) ); - - if( !vesaScreenInitialize( screen, &vias->vesa ) ) { - xfree( vias ); - return FALSE; - } - - /* - ** XXX: What does this do? - */ - if( !viac->mapBase ) - screen->dumb = TRUE; - if( vias->vesa.mapping != VESA_LINEAR ) - screen->dumb = TRUE; - - screen->driver = vias; - return TRUE; -} - -/* -** Bool viaInitScreen( ScreenPtr pScreen ) -** -** Description: -** High level screen initialization occurs here. We could register XV -** adaptors, etc, here. -** -** Arguments: -** pScreen X screen information -** -** Return: -** TRUE Initialization was successful, -** FALSE Initialization failed. -*/ -static Bool -viaInitScreen( ScreenPtr pScreen ) { - return vesaInitScreen( pScreen ); -} - -/* -** Bool viaFinishInitScreen -** -** Description: -** Finish up any high-level screen initialization. Per-Screen extension -** initialization can be done here. -** -** Arguments: -** pScreen X screen information -** -** Return: -** TRUE Initialization was successful. -** FALSE Initialization failed. -*/ -static Bool -viaFinishInitScreen( ScreenPtr pScreen ) { - return vesaFinishInitScreen( pScreen ); -} - -/* -** Bool viaCreateResources( ScreenPtr pScreen ) -** -** Description: -** Do any screen specific configuration. -** -** Arguments: -** pScreen X screen information -** -** Return: -** TRUE configuration was successful. -** FALSE configuration failed. -*/ -static Bool -viaCreateResources( ScreenPtr pScreen ) { - return vesaCreateResources( pScreen ); -} - -/* -** void viaPreserve( KdCardInfo* card ) -** -** Description: -** Save the current state of the chip, so that it can be restored by -** viaRestore at a later time. -** -** Arguments: -** card Information structure for the chip we want to preserve the -** state of. -** -** Return: -** None. -** -** See Also: -** viaRestore -*/ -static void -viaPreserve( KdCardInfo* card ) { - vesaPreserve( card ); -} - -/* -** void viaRestore( KdCardInfo* card ) -** -** Description: -** Restore the previous state of the chip, as saved by viaPreserve -** earlier. -** -** Arguments: -** card Information structure for the chip we want to restore the -** state of. -** -** Return: -** None. -** -** See Also: -** viaPreserve -*/ -static void viaRestore( KdCardInfo* card ) { - ViaCardInfo* viac = card->driver; - - viaResetMMIO( card, viac ); - vesaRestore( card ); -} - -/* -** Bool viaEnable( ScreenPtr pScreen ) -** -** Description: -** This is where we set the card up for drawing the specified screen, e.g.: -** set the mode and mmap the framebuffer. -** -** Arguments: -** pScreen X screen information -** -** Return: -** TRUE the screen was enabled -** FALSE the screen could not be enabled -*/ -static Bool -viaEnable( ScreenPtr pScreen ) { - KdScreenPriv( pScreen ); - ViaCardInfo* viac = pScreenPriv->card->driver; - - if( !vesaEnable( pScreen ) ) return FALSE; - - viaSetMMIO( pScreenPriv->card, viac ); - - if( !viac->mapBase ) { - ErrorF( "Could not map CLE266 graphics registers" ); - return FALSE; - } - - return TRUE; -} - -/* -** void viaDisable( ScreenPtr pScreen ) -** -** Description: -** Shut down drawing: save some state and unmap the framebuffer. -** -** Arguments: -** pScreen X screen information -** -** Return: -** None. -*/ -static void -viaDisable( ScreenPtr pScreen ) { - KdScreenPriv( pScreen ); - ViaCardInfo* viac = pScreenPriv->card->driver; - - viaResetMMIO( pScreenPriv->card, viac ); - vesaDisable( pScreen ); -} - -/* -** void viaScreenFini( KdScreenInfo* screen ) -** -** Description: -** Release memory and resources allocated by viaScreenInit. -** -** Arguments: -** screen Information structure for the screen to release. -** -** Return: -** None. -** -** See Also: -** viaScreenInit -*/ -static void -viaScreenFini( KdScreenInfo* screen ) { - ViaScreenInfo* vias = screen->driver; - - vesaScreenFini( screen ); - xfree( vias ); - screen->driver = 0; -} - -/* -** void viaCardFini( KdCardInfo* card ) -** -** Description: -** Release memory and resources allocated by viaCardInit. -** -** Arguments: -** card Information structure for the chip to release. -** -** Return: -** None. -** -** See Also: -** viaCardInit -*/ -static void -viaCardFini( KdCardInfo* card ) { - ViaCardInfo* viac = card->driver; - - viaUnmapReg( card, viac ); - vesaCardFini( card ); - xfree( viac ); -} - -/* -** void viaSetMMIO( KdCardInfo* card, ViaCardInfo* viac ) -** -** Description: -** Map the card's registers, if they're not already -** mapped. -** -** Arguments: -** card generic chip information -** viac VIA-driver specific chip information -** -** Return: -** None. -*/ -void viaSetMMIO( KdCardInfo* card, ViaCardInfo* viac ) { - if( !viac->mapBase ) viaMapReg( card, viac ); -} - -/* -** void viaResetMMIO( KdCardInfo* card, ViaCardInfo* viac ) -** -** Description: -** Unmap chip's registers. -** -** Arguments: -** card generic chip information -** viac VIA-driver specific chip information -** -** Return: -** None. -*/ -void viaResetMMIO( KdCardInfo* card, ViaCardInfo* viac ) { - viaUnmapReg( card, viac ); -} - -/* -** Bool viaMapReg( KdCardInfo* card, ViaCardInfo* viac ) -** -** Description: -** Map the chip's registers into our address space. -** -** Arguments: -** card the card information -** viac the VIA-driver specific card information -** -** Return: -** TRUE the registers were succesfully mapped -** FALSE the registers could not be mapped -*/ -Bool -viaMapReg( KdCardInfo* card, ViaCardInfo* viac ) { - viac->mapBase = (VOL8*) KdMapDevice( VIA_REG_BASE( card ), - VIA_REG_SIZE( card ) ); - - if( !viac->mapBase ) { - ErrorF( "Couldn't allocate viac->mapBase\n" ); - return FALSE; - } - - KdSetMappedMode( VIA_REG_BASE( card ), VIA_REG_SIZE( card ), - KD_MAPPED_MODE_REGISTERS ); - - /* - ** Enable extended IO space - */ - VGAOUT8( 0x3C4, 0x10 ); - VGAOUT8( 0x3C5, 0x01 ); - - return TRUE; -} - -/* -** void viaUnmapReg( KdCardInfo* card, ViaCardInfo* viac ) -** -** Description: -** Unmap the the chip's registers. -** -** Arguments: -** card the card information -** viac the VIA-driver specific card information -** -** Return: -** None. -*/ -void -viaUnmapReg( KdCardInfo* card, ViaCardInfo* viac ) { - if( !viac->mapBase ) return; - - KdResetMappedMode( VIA_REG_BASE( card ), VIA_REG_SIZE( card ), - KD_MAPPED_MODE_REGISTERS ); - KdUnmapDevice( (void*) viac->mapBase, VIA_REG_SIZE( card ) ); - viac->mapBase = 0; -} - -KdCardFuncs viaFuncs = { - viaCardInit, /* cardinit */ - viaScreenInit, /* scrinit */ - viaInitScreen, /* initScreen */ - viaFinishInitScreen, /* finishInitScreen */ - viaCreateResources, /* createRes */ - viaPreserve, /* preserve */ - viaEnable, /* enable */ - vesaDPMS, /* dpms */ - viaDisable, /* disable */ - viaRestore, /* restore */ - viaScreenFini, /* scrfini */ - viaCardFini, /* cardfini */ - - 0, /* initCursor */ - 0, /* enableCursor */ - 0, /* disableCursor */ - 0, /* finiCursor */ - 0, /* recolorCursor */ - - viaDrawInit, /* initAccel */ - viaDrawEnable, /* enableAccel */ - viaDrawDisable, /* disableAccel */ - viaDrawFini, /* finiAccel */ - - vesaGetColors, /* getColors */ - vesaPutColors, /* putColors */ -}; - diff --git a/xorg-server/hw/kdrive/via/via.h b/xorg-server/hw/kdrive/via/via.h deleted file mode 100644 index 00f40bc04..000000000 --- a/xorg-server/hw/kdrive/via/via.h +++ /dev/null @@ -1,129 +0,0 @@ -/* - * 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. - */ -/* -** VIA CLE266 driver -** Copyright 2004 (C) Ralph Thomas -** -** http://www.viatech.com.tw/ -*/ - -#ifndef _VIA_H_ -#define _VIA_H_ - -#include -#include - -/* -** Define DebugF so that we can spot debug statements easily. -*/ -#define DebugF ErrorF - -typedef volatile CARD8 VOL8; -typedef volatile CARD16 VOL16; -typedef volatile CARD32 VOL32; - -/* -** These macros provide access to data on the card. The VIA graphics chips -** are only available on IA-32 architecture, so PCI address space and CPU -** address space are always the same (hence accesses can be performed by -** dereferencing a pointer into PCI space). -*/ -#define MMIO_OUT32( mmio, a, v ) (*(VOL32 *)((mmio) + (a)) = (v)) -#define MMIO_IN32( mmio, a ) (*(VOL32 *)((mmio) + (a))) -#define MMIO_OUT16( mmio, a, v ) (*(VOL16 *)((mmio) + (a)) = (v)) -#define MMIO_IN16( mmio, a ) (*(VOL16 *)((mmio) + (a))) -#define MMIO_OUT8( mmio, a, v ) (*(VOL8 *)((mmio) + (a)) = (v)) -#define MMIO_IN8( mmio, a, v ) (*(VOL8 *)((mmio) + (a))) - -/* -** VGA regisers are offset 0x8000 from the beginning of the mmap'd register -** space. -*/ -#define VIA_MMIO_VGABASE 0x8000 - -/* -** The size of the register space, used when we mmap the registers. The -** argument "c" should be a KdCardInfo*. -*/ -#define VIA_REG_SIZE(c) (0x9000) - -/* -** The base of the register space, used when we mmap the registers. The -** argument "c" should be a KdCardInfo*. -*/ -#define VIA_REG_BASE(c) ((c)->attr.address[1]) - -/* -** Access to the mmap'd VGA registers. The VGA registers are offset from the -** beginning of the 16M pci space by 0x8000. These macros get used just like -** outb/inb would be used to access VGA. -*/ -#define VGAOUT32( addr, v ) MMIO_OUT32( viac->mapBase + VIA_MMIO_VGABASE, addr, v ) -#define VGAIN32( addr ) MMIO_IN32( viac->mapBase + VIA_MMIO_VGABASE, addr ) -#define VGAOUT16( addr, v ) MMIO_OUT16( viac->mapBase + VIA_MMIO_VGABASE, addr, v ) -#define VGAIN16( addr ) MIIO_IN16( viac->mapBase + VIA_MMIO_VGABASE, addr ) -#define VGAOUT8( addr, v ) MMIO_OUT8( viac->mapBase + VIA_MMIO_VGABASE, addr, v ) -#define VGAIN8( addr ) MMIO_IN8( viac->mapBase + VIA_MMIO_VGABASE, addr ) - -/* -** Access to any of the registers on the chip. -*/ -#define OUTREG32( addr, v ) MMIO_OUT32( viac->mapBase, addr, v ) -#define INREG32( addr ) MMIO_IN32( viac->mapBase, addr ) -#define OUTREG16( addr, v ) MMIO_OUT16( viac->mapBase, addr, v ) -#define INREG16( addr ) MMIO_IN16( viac->mapBase, addr ) - -/* -** We keep all of our chip specific data in a ViaCardInfo. -*/ -typedef struct _viaCardInfo { - VesaCardPrivRec vesa; /* card info for VESA driver */ - VOL8* mapBase; /* mmap'd registers */ - CARD32 savedCommand; /* command to issue to GE */ - CARD32 savedFgColor; /* color to issue to GE */ -} ViaCardInfo; - -/* -** We keep all of our screen specific data in a ViaScreenInfo. -*/ -typedef struct _viaScreenInfo { - VesaScreenPrivRec vesa; - KaaScreenInfoRec kaa; -} ViaScreenInfo; - -/* -** These function prototypes are for support functions. More infomation on each -** function is available at the place the function is implemented, in via.c. -*/ -Bool viaMapReg( KdCardInfo* card, ViaCardInfo* viac ); -void viaUnmapReg( KdCardInfo* card, ViaCardInfo* viac ); -void viaSetMMIO( KdCardInfo* card, ViaCardInfo* viac ); -void viaResetMMIO( KdCardInfo* card, ViaCardInfo* viac ); - -/* -** The viaFuncs structure gets filled with the addresses of the functions -** that we use to talk to the graphics chip. -*/ -extern KdCardFuncs viaFuncs; - -#endif - diff --git a/xorg-server/hw/kdrive/via/via_regs.h b/xorg-server/hw/kdrive/via/via_regs.h deleted file mode 100644 index 2d8195d5d..000000000 --- a/xorg-server/hw/kdrive/via/via_regs.h +++ /dev/null @@ -1,154 +0,0 @@ -/* - * Copyright 1998-2003 VIA Technologies, Inc. All Rights Reserved. - * 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. - */ - -/************************************************************************* - * - * File: via_regs.h - * Content: The defines of Via registers - * - ************************************************************************/ - -#ifndef _VIA_REGS_H_ -#define _VIA_REGS_H_ - -/* defines for VIA 2D registers */ -#define VIA_REG_GECMD 0x000 -#define VIA_REG_GEMODE 0x004 -#define VIA_REG_GESTATUS 0x004 /* as same as VIA_REG_GEMODE */ -#define VIA_REG_SRCPOS 0x008 -#define VIA_REG_DSTPOS 0x00C -#define VIA_REG_LINE_K1K2 0x008 -#define VIA_REG_LINE_XY 0x00C -#define VIA_REG_DIMENSION 0x010 /* width and height */ -#define VIA_REG_PATADDR 0x014 -#define VIA_REG_FGCOLOR 0x018 -#define VIA_REG_DSTCOLORKEY 0x018 /* as same as VIA_REG_FG */ -#define VIA_REG_BGCOLOR 0x01C -#define VIA_REG_SRCCOLORKEY 0x01C /* as same as VIA_REG_BG */ -#define VIA_REG_CLIPTL 0x020 /* top and left of clipping */ -#define VIA_REG_CLIPBR 0x024 /* bottom and right of clipping */ -#define VIA_REG_OFFSET 0x028 -#define VIA_REG_LINE_ERROR 0x028 -#define VIA_REG_KEYCONTROL 0x02C /* color key control */ -#define VIA_REG_SRCBASE 0x030 -#define VIA_REG_DSTBASE 0x034 -#define VIA_REG_PITCH 0x038 /* pitch of src and dst */ -#define VIA_REG_MONOPAT0 0x03C -#define VIA_REG_MONOPAT1 0x040 -#define VIA_REG_COLORPAT 0x100 /* from 0x100 to 0x1ff */ - - - -/* defines for VIA video registers */ -#define VIA_REG_INTERRUPT 0x200 -#define VIA_REG_CRTCSTART 0x214 - - -/* defines for VIA HW cursor registers */ -#define VIA_REG_CURSOR_MODE 0x2D0 -#define VIA_REG_CURSOR_POS 0x2D4 -#define VIA_REG_CURSOR_ORG 0x2D8 -#define VIA_REG_CURSOR_BG 0x2DC -#define VIA_REG_CURSOR_FG 0x2E0 - - -/* defines for VIA 3D registers */ -#define VIA_REG_STATUS 0x400 -#define VIA_REG_TRANSET 0x43C -#define VIA_REG_TRANSPACE 0x440 - -/* VIA_REG_STATUS(0x400): Engine Status */ -#define VIA_CMD_RGTR_BUSY 0x00000080 /* Command Regulator is busy */ -#define VIA_2D_ENG_BUSY 0x00000001 /* 2D Engine is busy */ -#define VIA_3D_ENG_BUSY 0x00000002 /* 3D Engine is busy */ -#define VIA_VR_QUEUE_BUSY 0x00020000 /* Virtual Queue is busy */ -#define VIA_BUSY (VIA_CMD_RGTR_BUSY|VIA_2D_ENG_BUSY|VIA_3D_ENG_BUSY) - - -/* VIA_REG_GECMD(0x00): 2D Engine Command */ -#define VIA_GEC_NOOP 0x00000000 -#define VIA_GEC_BLT 0x00000001 -#define VIA_GEC_LINE 0x00000005 - -#define VIA_GEC_SRC_XY 0x00000000 -#define VIA_GEC_SRC_LINEAR 0x00000010 -#define VIA_GEC_DST_XY 0x00000000 -#define VIA_GEC_DST_LINRAT 0x00000020 - -#define VIA_GEC_SRC_FB 0x00000000 -#define VIA_GEC_SRC_SYS 0x00000040 -#define VIA_GEC_DST_FB 0x00000000 -#define VIA_GEC_DST_SYS 0x00000080 - -#define VIA_GEC_SRC_MONO 0x00000100 /* source is mono */ -#define VIA_GEC_PAT_MONO 0x00000200 /* pattern is mono */ - -#define VIA_GEC_MSRC_OPAQUE 0x00000000 /* mono src is opaque */ -#define VIA_GEC_MSRC_TRANS 0x00000400 /* mono src is transparent */ - -#define VIA_GEC_PAT_FB 0x00000000 /* pattern is in frame buffer */ -#define VIA_GEC_PAT_REG 0x00000800 /* pattern is from reg setting */ - -#define VIA_GEC_CLIP_DISABLE 0x00000000 -#define VIA_GEC_CLIP_ENABLE 0x00001000 - -#define VIA_GEC_FIXCOLOR_PAT 0x00002000 - -#define VIA_GEC_INCX 0x00000000 -#define VIA_GEC_DECY 0x00004000 -#define VIA_GEC_INCY 0x00000000 -#define VIA_GEC_DECX 0x00008000 - -#define VIA_GEC_MPAT_OPAQUE 0x00000000 /* mono pattern is opaque */ -#define VIA_GEC_MPAT_TRANS 0x00010000 /* mono pattern is transparent */ - -#define VIA_GEC_MONO_UNPACK 0x00000000 -#define VIA_GEC_MONO_PACK 0x00020000 -#define VIA_GEC_MONO_DWORD 0x00000000 -#define VIA_GEC_MONO_WORD 0x00040000 -#define VIA_GEC_MONO_BYTE 0x00080000 - -#define VIA_GEC_LASTPIXEL_ON 0x00000000 -#define VIA_GEC_LASTPIXEL_OFF 0x00100000 -#define VIA_GEC_X_MAJOR 0x00000000 -#define VIA_GEC_Y_MAJOR 0x00200000 -#define VIA_GEC_QUICK_START 0x00800000 - - -/* VIA_REG_GEMODE(0x04): GE mode */ -#define VIA_GEM_8bpp 0x00000000 -#define VIA_GEM_16bpp 0x00000100 -#define VIA_GEM_32bpp 0x00000300 - -#define VIA_GEM_640 0x00000000 /* 640*480 */ -#define VIA_GEM_800 0x00000400 /* 800*600 */ -#define VIA_GEM_1024 0x00000800 /* 1024*768 */ -#define VIA_GEM_1280 0x00000C00 /* 1280*1024 */ -#define VIA_GEM_1600 0x00001000 /* 1600*1200 */ -#define VIA_GEM_2048 0x00001400 /* 2048*1536 */ - -/* VIA_REG_PITCH(0x38): Pitch Setting */ -#define VIA_PITCH_ENABLE 0x80000000 - -#endif /* _VIA_REGS_H_ */ diff --git a/xorg-server/hw/kdrive/via/viadraw.c b/xorg-server/hw/kdrive/via/viadraw.c deleted file mode 100644 index a6544ee36..000000000 --- a/xorg-server/hw/kdrive/via/viadraw.c +++ /dev/null @@ -1,499 +0,0 @@ -/* - * 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. - */ -/* -** VIA CLE266 driver -** Copyright 2004 (C) Ralph Thomas -** -** http://www.viatech.com.tw/ -** -** This code is for accelerated drawing of solids and accelerated -** copies. Note that there is currently no software FIFO implemented, -** and no documentation on any hardware FIFO. -*/ - -#include "via.h" -#include "viadraw.h" -#include "via_regs.h" -#include -#include "kdrive.h" -#include "kaa.h" - -/* -** A global to contain card information between calls into this file. -** XXX: This is totally brain-damaged. Why don't I get the information -** I want in viaSolid/viaCopy/viaDoneXXX? -*/ -static ViaCardInfo* card; - -/* -** Translation table from GC raster operation values into ROP3 values -** that the VIA chip understands. -** -** viaPatternRop is used by viaPrepareSolid. -** viaCopyRop is used by viaPrepareCopy. -*/ -CARD8 viaPatternRop[16] = { - /* GXclear */ 0x00, /* ROP_0 0 */ - /* GXand */ 0xA0, /* ROP_DPa src AND dst */ - /* GXandReverse */ 0x50, /* ROP_PDna src AND NOT dst */ - /* GXcopy */ 0xF0, /* ROP_P src */ - /* GXandInverted*/ 0x0A, /* ROP_DPna NOT src AND dst */ - /* GXnoop */ 0xAA, /* ROP_D dst */ - /* GXxor */ 0x5A, /* ROP_DPx src XOR dst */ - /* GXor */ 0xFA, /* ROP_DPo src OR dst */ - /* GXnor */ 0x05, /* ROP_DPon NOT src AND NOT dst */ - /* GXequiv */ 0xA5, /* ROP_PDxn NOT src XOR dst */ - /* GXinvert */ 0x55, /* ROP_Dn NOT dst */ - /* GXorReverse */ 0xF5, /* ROP_PDno src OR NOT dst */ - /* GXcopyInverted*/ 0x0F, /* ROP_Pn NOT src */ - /* GXorInverted */ 0xAF, /* ROP_DPno NOT src OR dst */ - /* GXnand */ 0x5F, /* ROP_DPan NOT src OR NOT dst */ - /* GXset */ 0xFF, /* ROP_1 1 */ -}; - -CARD8 viaCopyRop[16] = { - /* GXclear */ 0x00, /* ROP_0 0 */ - /* GXand */ 0x88, /* ROP_DSa src AND dst */ - /* GXandReverse */ 0x44, /* ROP_SDna src AND NOT dst */ - /* GXcopy */ 0xCC, /* ROP_S src */ - /* GXandInverted*/ 0x22, /* ROP_DSna NOT src AND dst */ - /* GXnoop */ 0xAA, /* ROP_D dst */ - /* GXxor */ 0x66, /* ROP_DSx src XOR dst */ - /* GXor */ 0xEE, /* ROP_DSo src OR dst */ - /* GXnor */ 0x11, /* ROP_DSon NOT src AND NOT dst */ - /* GXequiv */ 0x99, /* ROP_DSxn NOT src XOR dst */ - /* GXinvert */ 0x55, /* ROP_Dn NOT dst */ - /* GXorReverse */ 0xDD, /* ROP_SDno src OR NOT dst */ - /* GXcopyInverted*/ 0x33, /* ROP_Sn NOT src */ - /* GXorInverted */ 0xBB, /* ROP_DSno NOT src OR dst */ - /* GXnand */ 0x77, /* ROP_DSan NOT src OR NOT dst */ - /* GXset */ 0xFF, /* ROP_1 1 */ -}; - -/* -** void viaWaitIdle( ViaCardInfo* viac ) -** -** Description: -** Block up the CPU while waiting for the last command sent to -** the chip to complete. As an experiment I'm going to try to -** yield my process to others instead of just tight looping. -** -** Arguments: -** viac VIA-driver specific chip information -** -** Return: -** None. -*/ -void -viaWaitIdle( ViaCardInfo* viac ) { - while( INREG32( VIA_REG_STATUS ) & VIA_BUSY ) - sched_yield(); -} - -/* -** void viaDrawSync( ScreenPtr pScreen, int marker ) -** -** Description: -** Block until the graphics chip has finished all outstanding drawing -** operations and the framebuffer contents is static. -** -** Arguments: -** pScreen Pointer to screen strucutre for the screen we're -** waiting for drawing to end on. -** -** Return: -** None. -*/ -static void -viaWaitMarker( ScreenPtr pScreen, int marker ) { - KdScreenPriv( pScreen ); - ViaCardInfo* viac = pScreenPriv->card->driver; - - viaWaitIdle( viac ); -} - - -/* -** Bool viaPrepareSolid( PixmapPtr pPixmap, int alu, Pixel planemask, Pixel fg ) -** -** Description: -** Decide if the specified solid fill operation can be accelerated or not, -** and if the fill can be accelerated, prepare the hardware for doing it. -** -** Arguments: -** pPixmap Pixmap to draw solid into. -** alu Raster operation to draw using, these are the same -** values which get set by XSetFunction(3X). See the -** Xlib PM p. 140 for a list of raster operations as -** well as descriptions. -** planemask This is the GC plane mask. We only copy bits which -** match the plane mask. -** fg The foreground pixel of the GC, the pixel to draw in. -** -** Return: -** TRUE This operation can be accelerated, call viaSolid to actually -** have it drawn. -** FALSE This operation cannot be accelerated, fall back to software. -** -** See Also: -** viaSolid - the function which actually draws the solid. -*/ -static Bool -viaPrepareSolid( PixmapPtr pPixmap, int alu, Pixel planeMask, Pixel fg ) { - ScreenPtr pScreen = pPixmap->drawable.pScreen; - KdScreenPriv( pScreen ); - ViaCardInfo* viac = pScreenPriv->card->driver; - - /* - ** We don't accelerate when the plane mask is not everything. - */ - if( ~planeMask & FbFullMask( pPixmap->drawable.depth ) ) return FALSE; - - /* - ** Compose the command, then store the composed command and color - ** in the viac structure so that when viaSolid gets called we can - ** write them out. - */ - viac->savedCommand = VIA_GEC_BLT | VIA_GEC_FIXCOLOR_PAT | - (viaPatternRop[alu] << 24); - viac->savedFgColor = fg; - - /* - ** Store pointer to chip information, due to brain-damaged KAA. - */ - card = viac; - - return TRUE; -} - -/* -** void viaSolid( int x1, int y1, int x2, int y2 ) -** -** Description: -** Perform a solid fill, using the data that was stored by viaPrepareSolid. -** -** Arguments: -** x1 x-coordinate of fill origin -** y1 y-coordinate of fill origin -** x2 x-coordinate of fill end point -** y2 y-coordinate of fill end point -** -** Return: -** None. -** -** See Also: -** viaPrepareSolid - the function that composes the GE command and saves -** the color for us. -*/ -static void -viaSolid( int x1, int y1, int x2, int y2 ) { - ViaCardInfo* viac = card; - int w = x2 - x1; int h = y2 - y1; - - if( !viac ) return; - if( !w || !h ) return; - - /* - ** Wait for the card to finish the current draw. - */ - viaWaitIdle( viac ); - - /* - ** Do the draw. - */ - OUTREG32( VIA_REG_DSTPOS, ((y1 << 16) | x1) ); - OUTREG32( VIA_REG_DIMENSION, (((h - 1) << 16) | (w - 1)) ); - OUTREG32( VIA_REG_FGCOLOR, viac->savedFgColor ); - OUTREG32( VIA_REG_GECMD, viac->savedCommand ); -} - -/* -** void viaDoneSolid -** -** Description: -** Finish up drawing of the solid. -** -** Arguments: -** None. -** -** Return: -** None. -*/ -static void -viaDoneSolid(void) { -} - -/* -** Bool viaPrepareCopy( PixmapPtr pSrcPixmap, PixmapPtr pDestPixmap, int dx, -** int dy, int alu, Pixel planeMask ) -** -** Description: -** Set up the VIA chip for a BitBlt. -** -** Arguments: -** pSrcPixmap the source pixmap to copy from -** pDestPixmap the destination pixmap to copy to -** dx direction of copy in x -** dy direction of copy in y -** alu Raster operation to draw using, these are the same -** values which get set by XSetFunction(3X). See the -** Xlib PM p. 140 for a list of raster operations as -** well as descriptions. -** planeMask This is the GC plane mask. We only copy bits which -** match the plane mask. -** -** Return: -** TRUE the requested copy operation can be accelerated using hardware, -** call viaCopy next. -** FALSE the requested copy operation cannot be accelerated using -** hardware - fallback to software. -** -** See Also: -** viaCopy - the function which does the actual copy. -*/ -static Bool -viaPrepareCopy( PixmapPtr pSrcPixmap, PixmapPtr pDestPixmap, int dx, int dy, - int alu, Pixel planeMask ) { - ScreenPtr pScreen = pDestPixmap->drawable.pScreen; - KdScreenPriv( pScreen ); - ViaCardInfo* viac = pScreenPriv->card->driver; - - /* - ** Don't accelerate when the plane mask is set. - */ - if( ~planeMask & FbFullMask( pDestPixmap->drawable.depth ) ) return FALSE; - - viac->savedCommand = VIA_GEC_BLT | (viaCopyRop[alu] << 24); - - if( dx < 0 ) viac->savedCommand |= VIA_GEC_DECX; - if( dy < 0 ) viac->savedCommand |= VIA_GEC_DECY; - - /* - ** Store pointer to chip structure, due to brain-damaged KAA. - */ - card = viac; - - return TRUE; -} - -/* -** void viaCopy( int srcX, int srcY, int dstX, int dstY, int w, int h ) -** -** Description: -** Perform a BitBlt from one screen area to another. -** -** Arguments: -** srcX source x-coordinate -** srcY source y-coordinate -** dstX destination x-coordinate -** dstY destination y-coordinate -** w width of area to copy (pixels) -** h height of area to copy (pixels) -** -** Return: -** None. -** -** See Also: -** viaPrepareCopy - the function which sets up for the copy. -*/ -static void -viaCopy( int srcX, int srcY, int dstX, int dstY, int w, int h ) { - ViaCardInfo* viac = card; - - if( !viac ) return; - if( !w | !h ) return; - - /* - ** XXX: Check these two "if"s out. - */ - if( viac->savedCommand & VIA_GEC_DECX ) { - srcX += ( w - 1 ); - dstX += ( w - 1 ); - } - - if( viac->savedCommand & VIA_GEC_DECY ) { - srcY += ( h - 1 ); - dstY += ( h - 1 ); - } - - OUTREG32( VIA_REG_SRCPOS, ((srcY << 16) | srcX) ); - OUTREG32( VIA_REG_DSTPOS, ((dstY << 16) | dstX) ); - OUTREG32( VIA_REG_DIMENSION, (((h - 1) << 16) | (w - 1)) ); - OUTREG32( VIA_REG_GECMD, viac->savedCommand ); -} - -/* -** void viaDoneCopy() -** -** Description: -** Finish up the copy. -** -** Arguments: -** None. -** -** Return: -** None. -*/ -static void -viaDoneCopy(void) { -} - - -/* -** Bool viaDrawInit( ScreenPtr pScreen ) -** -** Description: -** Initialize the 2D acceleration hardware and register the KAA -** acceleration layer with the VIA acceleration functions (above). -** -** Arguments: -** pScreen Pointer to screen structure for the screen we're -** enabling acceleration on. -** -** Return: -** TRUE initialization and setup of KAA acceleration was successful. -** FALSE initialization and setup of KAA acceleration failed. -*/ -Bool -viaDrawInit( ScreenPtr pScreen ) { - KdScreenPriv( pScreen ); - ViaCardInfo* viac = pScreenPriv->card->driver; - ViaScreenInfo* vias = pScreenPriv->card->driver; - CARD32 geMode = 0; - - if( !viac ) return FALSE; - DebugF( "viac->mapBase = 0x%x\n", viac->mapBase ); - - /* - ** We reset the 2D engine to a known state by setting all of it's - ** registers to zero. - */ - OUTREG32( VIA_REG_GEMODE, 0x0 ); - OUTREG32( VIA_REG_SRCPOS, 0x0 ); - OUTREG32( VIA_REG_DSTPOS, 0x0 ); - OUTREG32( VIA_REG_DIMENSION, 0x0 ); - OUTREG32( VIA_REG_PATADDR, 0x0 ); - OUTREG32( VIA_REG_FGCOLOR, 0x0 ); - OUTREG32( VIA_REG_BGCOLOR, 0x0 ); - OUTREG32( VIA_REG_CLIPTL, 0x0 ); - OUTREG32( VIA_REG_CLIPBR, 0x0 ); - OUTREG32( VIA_REG_OFFSET, 0x0 ); - OUTREG32( VIA_REG_KEYCONTROL, 0x0 ); - OUTREG32( VIA_REG_SRCBASE, 0x0 ); - OUTREG32( VIA_REG_DSTBASE, 0x0 ); - OUTREG32( VIA_REG_PITCH, 0x0 ); - OUTREG32( VIA_REG_MONOPAT0, 0x0 ); - OUTREG32( VIA_REG_MONOPAT1, 0x0 ); - - /* - ** Set the GE mode up. - ** XXX: What happens in 24bpp mode? - */ - switch( pScreenPriv->screen->fb[0].bitsPerPixel ) { - case 16: - geMode = VIA_GEM_16bpp; - break; - case 32: - geMode = VIA_GEM_32bpp; - break; - default: - geMode = VIA_GEM_8bpp; - break; - } - - OUTREG32( VIA_REG_GEMODE, geMode ); - - /* - ** Set the source and destination base addresses, and set pitch. - */ - OUTREG32( VIA_REG_SRCBASE, 0x0 ); - OUTREG32( VIA_REG_DSTBASE, 0x0 ); - OUTREG32( VIA_REG_PITCH, VIA_PITCH_ENABLE | - ((pScreen->width * pScreenPriv->screen->fb[0].bitsPerPixel >> 3) >> 3) | - (((pScreen->width * pScreenPriv->screen->fb[0].bitsPerPixel >> 3) >> 3) << 16)); - - DebugF( "Initialized 2D engine!\n" ); - - memset(&vias->kaa, 0, sizeof(KaaScreenInfoRec)); - vias->kaa.waitMarker = viaWaitMarker; - vias->kaa.PrepareSolid = viaPrepareSolid; - vias->kaa.Solid = viaSolid; - vias->kaa.DoneSolid = viaDoneSolid; - vias->kaa.PrepareCopy = viaPrepareCopy; - vias->kaa.Copy = viaCopy; - vias->kaa.DoneCopy = viaDoneCopy; - - return kaaDrawInit( pScreen, &vias->kaa ); -} - -/* -** void viaDrawEnable( ScreenPtr pScreen ) -** -** Description: -** Enable accelerated drawing on the specified screen. -** -** Arguments: -** pScreen Pointer to screen structure for the screen we're -** enabling acceleration on. -** -** Return: -** None. -*/ -void -viaDrawEnable( ScreenPtr pScreen ) { - kaaMarkSync( pScreen ); -} - -/* -** void viaDrawDisable( ScreenPtr pScreen ) -** -** Description: -** Disable accelerated drawing to the specified screen. -** -** Arguments: -** pScreen Pointer to screen structure for the screen we're -** disabling acceleration on. -** -** Return: -** None -*/ -void -viaDrawDisable( ScreenPtr pScreen ) { -} - -/* -** void viaDrawFini( ScreenPtr pScreen ) -** -** Description: -** Shutdown accelerated drawing and free associated strucures and -** resources. -** -** Arguments: -** pScreen Pointer to screen structure for the screen we're -** disabling acceleration on. -** -** Return: -** None. -*/ -void -viaDrawFini( ScreenPtr pScreen ) { -} diff --git a/xorg-server/hw/kdrive/via/viadraw.h b/xorg-server/hw/kdrive/via/viadraw.h deleted file mode 100644 index 404923053..000000000 --- a/xorg-server/hw/kdrive/via/viadraw.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * 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. - */ -/* -** VIA CLE266 driver -** Copyright 2004 (C) Ralph Thomas -** -** http://www.viatech.com.tw/ -** -** This header has some function prototypes for the hardware -** accelerated drawing code in viadraw.c. -*/ - -#ifndef _VIA_DRAW_H_ -#define _VIA_DRAW_H_ - -/* -** More information on these functions is in viadraw.c. -*/ -void viaWaitIdle( ViaCardInfo* card ); -Bool viaDrawInit( ScreenPtr pScreen ); -void viaDrawEnable( ScreenPtr pScreen ); -void viaDrawDisable( ScreenPtr pScreen ); -void viaDrawFini( ScreenPtr pScreen ); -void viaDrawSync( ScreenPtr pScreen ); - -#endif diff --git a/xorg-server/hw/kdrive/via/viastub.c b/xorg-server/hw/kdrive/via/viastub.c deleted file mode 100644 index 1439010a9..000000000 --- a/xorg-server/hw/kdrive/via/viastub.c +++ /dev/null @@ -1,135 +0,0 @@ -/* - * 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. - */ -/* -** VIA CLE266 driver -** Copyright 2004 (C) Ralph Thomas -** -** http://www.viatech.com.tw/ -** -** This is the stub code which links the VIA drawing code into the kdrive -** framework. -*/ - -#include "via.h" -#include - -/* -** void InitCard( char* name ) -** -** Description: -** Initialize the graphics chip. We find the chip on the PCI bus, -** register the functions to access the chip. -** -** Arguments: -** name XXX: unknown. -** -** Return: -** None. -*/ -void -InitCard( char* name ) { - KdCardAttr attr; - - if( LinuxFindPci( 0x1106, 0x3122, 0, &attr ) ) - KdCardInfoAdd( &viaFuncs, &attr, 0 ); -} - -/* -** void InitOutput( ScreenInfo* pScreenInfo, int argc, char** argv ) -** -** Description: -** Initialize I/O, or something. XXX: Or what? -** -** Arguments: -** pScreenInfo XXX -** argc command line argument count -** argv command line arguments -** -** Return: -** None. -*/ -void -InitOutput( ScreenInfo* pScreenInfo, int argc, char** argv ) { - KdInitOutput( pScreenInfo, argc, argv ); -} - -/* -** void InitInput( int argc, char** argv ) -** -** Description: -** Initialize keyboard and mouse input. -** -** Arguments: -** argc command line argument count -** argv command line arguments -** -** Return: -** None. -*/ -void -InitInput( int argc, char** argv ) { - KdOsAddInputDrivers(); - KdInitInput(); -} - -/* -** void ddxUseMsg() -** -** Description: -** Print the usage message for Xvia. -** -** Arguments: -** None. -** -** Return: -** None. -*/ -void -ddxUseMsg() { - KdUseMsg(); - vesaUseMsg(); -} - - -/* -** int ddxProcessArgument( int argc, char** argv, int i ) -** -** Description: -** Process a single command line argument. -** -** Arguments: -** argc command line argument count -** argv command line arguments -** i number of argument to process -** -** Return: -** some values. -*/ -int -ddxProcessArgument( int argc, char** argv, int i ) { - int ret; - - if( !( ret = vesaProcessArgument( argc, argv, i ) )) - ret = KdProcessArgument( argc, argv, i ); - return ret; -} - diff --git a/xorg-server/hw/vfb/InitInput.c b/xorg-server/hw/vfb/InitInput.c index 99cf56c70..2af3c6421 100644 --- a/xorg-server/hw/vfb/InitInput.c +++ b/xorg-server/hw/vfb/InitInput.c @@ -52,7 +52,6 @@ void ProcessInputEvents() { mieqProcessInputEvents(); - miPointerUpdate(); } void DDXRingBell(int volume, int pitch, int duration) @@ -296,7 +295,7 @@ vfbMouseProc(DeviceIntPtr pDevice, int onoff) map[1] = 1; map[2] = 2; map[3] = 3; - InitPointerDeviceStruct(pDev, map, 3, GetMotionHistory, + InitPointerDeviceStruct(pDev, map, 3, (PtrCtrlProcPtr)NoopDDA, GetMotionHistorySize(), 2); break; @@ -318,8 +317,8 @@ void InitInput(int argc, char *argv[]) { DeviceIntPtr p, k; - p = AddInputDevice(vfbMouseProc, TRUE); - k = AddInputDevice(vfbKeybdProc, TRUE); + p = AddInputDevice(serverClient, vfbMouseProc, TRUE); + k = AddInputDevice(serverClient, vfbKeybdProc, TRUE); RegisterPointerDevice(p); RegisterKeyboardDevice(k); (void)mieqInit(); diff --git a/xorg-server/hw/vfb/InitOutput.c b/xorg-server/hw/vfb/InitOutput.c index 1edceb930..fd383e1c2 100644 --- a/xorg-server/hw/vfb/InitOutput.c +++ b/xorg-server/hw/vfb/InitOutput.c @@ -266,11 +266,6 @@ ddxUseMsg() #endif } -/* ddxInitGlobals - called by |InitGlobals| from os/util.c */ -void ddxInitGlobals(void) -{ -} - int ddxProcessArgument(int argc, char *argv[], int i) { @@ -867,8 +862,6 @@ vfbScreenInit(int index, ScreenPtr pScreen, int argc, char **argv) pbits = vfbAllocateFramebufferMemory(pvfb); if (!pbits) return FALSE; - miSetPixmapDepths (); - switch (pvfb->depth) { case 8: miSetVisualTypesAndMasks (8, @@ -880,20 +873,6 @@ vfbScreenInit(int index, ScreenPtr pScreen, int argc, char **argv) (1 << DirectColor)), 8, PseudoColor, 0, 0, 0); break; -#if 0 - /* 12bit PseudoColor with 12bit color resolution - * (to simulate SGI hardware and the 12bit PseudoColor emulation layer) */ - case 12: - miSetVisualTypesAndMasks (12, - ((1 << StaticGray) | - (1 << GrayScale) | - (1 << StaticColor) | - (1 << PseudoColor) | - (1 << TrueColor) | - (1 << DirectColor)), - 12, PseudoColor, 0, 0, 0); - break; -#endif case 15: miSetVisualTypesAndMasks (15, ((1 << TrueColor) | @@ -912,18 +891,10 @@ vfbScreenInit(int index, ScreenPtr pScreen, int argc, char **argv) (1 << DirectColor)), 8, TrueColor, 0xff0000, 0x00ff00, 0x0000ff); break; -#if 0 - /* 30bit TrueColor (to simulate Sun's XVR-1000/-4000 high quality - * framebuffer series) */ - case 30: - miSetVisualTypesAndMasks (30, - ((1 << TrueColor) | - (1 << DirectColor)), - 10, TrueColor, 0x3ff00000, 0x000ffc00, 0x000003ff); - break; -#endif } - + + miSetPixmapDepths (); + ret = fbScreenInit(pScreen, pbits, pvfb->width, pvfb->height, dpix, dpiy, pvfb->paddedWidth,pvfb->bitsPerPixel); #ifdef RENDER @@ -1027,8 +998,3 @@ InitOutput(ScreenInfo *screenInfo, int argc, char **argv) } } /* end InitOutput */ - -/* this is just to get the server to link on AIX */ -#ifdef AIXV3 -int SelectWaitTime = 10000; /* usec */ -#endif diff --git a/xorg-server/hw/vfb/Makefile.in b/xorg-server/hw/vfb/Makefile.in index df0ed6cda..242a8b557 100644 --- a/xorg-server/hw/vfb/Makefile.in +++ b/xorg-server/hw/vfb/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -51,7 +51,6 @@ 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 \ @@ -80,9 +79,6 @@ 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) \ @@ -105,8 +101,9 @@ ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ -APPDEFAULTDIR = @APPDEFAULTDIR@ APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +APPLE_APPLICATION_ID = @APPLE_APPLICATION_ID@ +APPLE_APPLICATION_NAME = @APPLE_APPLICATION_NAME@ APP_MAN_DIR = @APP_MAN_DIR@ APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ AR = @AR@ @@ -127,10 +124,6 @@ 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@ @@ -152,6 +145,7 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOLT_BASH = @DOLT_BASH@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ @@ -161,18 +155,15 @@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ DSYMUTIL = @DSYMUTIL@ DTRACE = @DTRACE@ -ECHO = @ECHO@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ -FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ -FREETYPE_LIBS = @FREETYPE_LIBS@ GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ GLX_DEFINES = @GLX_DEFINES@ GL_CFLAGS = @GL_CFLAGS@ @@ -191,7 +182,7 @@ KDRIVE_LIBS = @KDRIVE_LIBS@ KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ -LAUNCHD = @LAUNCHD@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ LEX = @LEX@ @@ -205,7 +196,10 @@ LIBTOOL = @LIBTOOL@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LINUXDOC = @LINUXDOC@ +LIPO = @LIPO@ LN_S = @LN_S@ +LTCOMPILE = @LTCOMPILE@ +LTCXXCOMPILE = @LTCXXCOMPILE@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ @@ -217,8 +211,7 @@ MESA_SOURCE = @MESA_SOURCE@ MISC_MAN_DIR = @MISC_MAN_DIR@ MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ MKDIR_P = @MKDIR_P@ -MKFONTDIR = @MKFONTDIR@ -MKFONTSCALE = @MKFONTSCALE@ +NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCCLD = @OBJCCLD@ @@ -227,8 +220,8 @@ OBJCFLAGS = @OBJCFLAGS@ OBJCLINK = @OBJCLINK@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ @@ -261,7 +254,6 @@ VENDOR_NAME = @VENDOR_NAME@ VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ VENDOR_RELEASE = @VENDOR_RELEASE@ VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ XDMCP_CFLAGS = @XDMCP_CFLAGS@ @@ -271,27 +263,12 @@ XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@ XDMX_CFLAGS = @XDMX_CFLAGS@ XDMX_LIBS = @XDMX_LIBS@ XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ XEPHYR_INCS = @XEPHYR_INCS@ XEPHYR_LIBS = @XEPHYR_LIBS@ 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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ @@ -302,10 +279,6 @@ XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ XNEST_LIBS = @XNEST_LIBS@ XNEST_SYS_LIBS = @XNEST_SYS_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_INCS = @XORG_INCS@ XORG_LIBS = @XORG_LIBS@ @@ -314,13 +287,8 @@ XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ XORG_OS = @XORG_OS@ XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_LIBS@ +XPBPROXY_CFLAGS = @XPBPROXY_CFLAGS@ +XPBPROXY_LIBS = @XPBPROXY_LIBS@ XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ XSDL_INCS = @XSDL_INCS@ @@ -357,8 +325,7 @@ 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@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -378,7 +345,6 @@ driverdir = @driverdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ extdir = @extdir@ -ft_config = @ft_config@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ @@ -388,12 +354,12 @@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ -launchagentsdir = @launchagentsdir@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ logdir = @logdir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ moduledir = @moduledir@ @@ -411,8 +377,6 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ noinst_LIBRARIES = libfbcmap.a AM_CFLAGS = -DHAVE_DIX_CONFIG_H \ -DNO_HW_ONLY_EXTS \ @@ -484,8 +448,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ @@ -666,7 +630,7 @@ ID: $(HEADERS) $(SOURCES) $(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; nonemtpy = 1; } \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS diff --git a/xorg-server/hw/xfree86/Makefile.am b/xorg-server/hw/xfree86/Makefile.am index 03c2c3a3f..98d7ec806 100644 --- a/xorg-server/hw/xfree86/Makefile.am +++ b/xorg-server/hw/xfree86/Makefile.am @@ -12,24 +12,16 @@ if XF86UTILS XF86UTILS_SUBDIR = utils endif -if MFB -MFB_SUBDIR = xf1bpp xf4bpp -endif - -if CFB -CFB_SUBDIR = xf8_32bpp -endif - DOC_SUBDIR = doc -SUBDIRS = common ddc dummylib i2c x86emu int10 fbdevhw os-support parser rac \ - ramdac shadowfb vbe vgahw xaa $(MFB_SUBDIR) $(CFB_SUBDIR) \ +SUBDIRS = common ddc dummylib i2c x86emu int10 fbdevhw os-support parser \ + ramdac shadowfb vbe vgahw xaa \ xf8_16bpp loader dixmods exa modes \ $(DRI_SUBDIR) $(DRI2_SUBDIR) $(XF86UTILS_SUBDIR) $(DOC_SUBDIR) DIST_SUBDIRS = common ddc dummylib i2c x86emu int10 fbdevhw os-support \ - parser rac ramdac shadowfb vbe vgahw xaa xf1bpp xf4bpp \ - xf8_16bpp xf8_32bpp loader dixmods dri dri2 exa modes \ + parser ramdac shadowfb vbe vgahw xaa \ + xf8_16bpp loader dixmods dri dri2 exa modes \ utils doc bin_PROGRAMS = Xorg @@ -56,7 +48,6 @@ XORG_LIBS = \ common/libinit.a \ loader/libloader.a \ libosandcommon.la \ - rac/librac.a \ parser/libxf86config.a \ dixmods/libdixmods.la \ modes/libxf86modes.a \ diff --git a/xorg-server/hw/xfree86/Makefile.in b/xorg-server/hw/xfree86/Makefile.in index 7bfe644b5..4a49f8687 100644 --- a/xorg-server/hw/xfree86/Makefile.in +++ b/xorg-server/hw/xfree86/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -55,7 +55,6 @@ 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 \ @@ -73,11 +72,11 @@ am_Xorg_OBJECTS = xorg.$(OBJEXT) Xorg_OBJECTS = $(am_Xorg_OBJECTS) am__DEPENDENCIES_1 = am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1) common/libinit.a \ - loader/libloader.a libosandcommon.la rac/librac.a \ - parser/libxf86config.a dixmods/libdixmods.la \ - modes/libxf86modes.a ramdac/libramdac.a ddc/libddc.a \ - i2c/libi2c.a dixmods/libxorgxkb.la $(top_builddir)/mi/libmi.la \ - $(top_builddir)/os/libos.la dixmods/libxorgxkb.la + loader/libloader.a libosandcommon.la parser/libxf86config.a \ + dixmods/libdixmods.la modes/libxf86modes.a ramdac/libramdac.a \ + ddc/libddc.a i2c/libi2c.a dixmods/libxorgxkb.la \ + $(top_builddir)/mi/libmi.la $(top_builddir)/os/libos.la \ + dixmods/libxorgxkb.la Xorg_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(Xorg_LDFLAGS) \ $(LDFLAGS) -o $@ @@ -86,9 +85,6 @@ 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) \ @@ -120,8 +116,9 @@ ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ -APPDEFAULTDIR = @APPDEFAULTDIR@ APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +APPLE_APPLICATION_ID = @APPLE_APPLICATION_ID@ +APPLE_APPLICATION_NAME = @APPLE_APPLICATION_NAME@ APP_MAN_DIR = @APP_MAN_DIR@ APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ AR = @AR@ @@ -142,10 +139,6 @@ 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@ @@ -167,6 +160,7 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOLT_BASH = @DOLT_BASH@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ @@ -176,18 +170,15 @@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ DSYMUTIL = @DSYMUTIL@ DTRACE = @DTRACE@ -ECHO = @ECHO@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ -FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ -FREETYPE_LIBS = @FREETYPE_LIBS@ GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ GLX_DEFINES = @GLX_DEFINES@ GL_CFLAGS = @GL_CFLAGS@ @@ -206,7 +197,7 @@ KDRIVE_LIBS = @KDRIVE_LIBS@ KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ -LAUNCHD = @LAUNCHD@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ LEX = @LEX@ @@ -220,7 +211,10 @@ LIBTOOL = @LIBTOOL@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LINUXDOC = @LINUXDOC@ +LIPO = @LIPO@ LN_S = @LN_S@ +LTCOMPILE = @LTCOMPILE@ +LTCXXCOMPILE = @LTCXXCOMPILE@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ @@ -232,8 +226,7 @@ MESA_SOURCE = @MESA_SOURCE@ MISC_MAN_DIR = @MISC_MAN_DIR@ MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ MKDIR_P = @MKDIR_P@ -MKFONTDIR = @MKFONTDIR@ -MKFONTSCALE = @MKFONTSCALE@ +NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCCLD = @OBJCCLD@ @@ -242,8 +235,8 @@ OBJCFLAGS = @OBJCFLAGS@ OBJCLINK = @OBJCLINK@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ @@ -276,7 +269,6 @@ VENDOR_NAME = @VENDOR_NAME@ VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ VENDOR_RELEASE = @VENDOR_RELEASE@ VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ XDMCP_CFLAGS = @XDMCP_CFLAGS@ @@ -286,27 +278,12 @@ XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@ XDMX_CFLAGS = @XDMX_CFLAGS@ XDMX_LIBS = @XDMX_LIBS@ XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ XEPHYR_INCS = @XEPHYR_INCS@ XEPHYR_LIBS = @XEPHYR_LIBS@ 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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ @@ -317,10 +294,6 @@ XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ XNEST_LIBS = @XNEST_LIBS@ XNEST_SYS_LIBS = @XNEST_SYS_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_INCS = @XORG_INCS@ XORG_LIBS = \ @@ -328,7 +301,6 @@ XORG_LIBS = \ common/libinit.a \ loader/libloader.a \ libosandcommon.la \ - rac/librac.a \ parser/libxf86config.a \ dixmods/libdixmods.la \ modes/libxf86modes.a \ @@ -346,13 +318,8 @@ XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ XORG_OS = @XORG_OS@ XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_LIBS@ +XPBPROXY_CFLAGS = @XPBPROXY_CFLAGS@ +XPBPROXY_LIBS = @XPBPROXY_LIBS@ XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ XSDL_INCS = @XSDL_INCS@ @@ -385,8 +352,7 @@ 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@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -406,7 +372,6 @@ driverdir = @driverdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ extdir = @extdir@ -ft_config = @ft_config@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ @@ -416,12 +381,12 @@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ -launchagentsdir = @launchagentsdir@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ logdir = @logdir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ moduledir = @moduledir@ @@ -439,8 +404,6 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ SUFFIXES = .pre .man .man.pre # Translate XCOMM into pound sign with sed, rather than passing -DXCOMM=XCOMM @@ -478,17 +441,15 @@ MANDEFS = \ @DRI_TRUE@DRI_SUBDIR = dri @DRI2_TRUE@DRI2_SUBDIR = dri2 @XF86UTILS_TRUE@XF86UTILS_SUBDIR = utils -@MFB_TRUE@MFB_SUBDIR = xf1bpp xf4bpp -@CFB_TRUE@CFB_SUBDIR = xf8_32bpp DOC_SUBDIR = doc -SUBDIRS = common ddc dummylib i2c x86emu int10 fbdevhw os-support parser rac \ - ramdac shadowfb vbe vgahw xaa $(MFB_SUBDIR) $(CFB_SUBDIR) \ +SUBDIRS = common ddc dummylib i2c x86emu int10 fbdevhw os-support parser \ + ramdac shadowfb vbe vgahw xaa \ xf8_16bpp loader dixmods exa modes \ $(DRI_SUBDIR) $(DRI2_SUBDIR) $(XF86UTILS_SUBDIR) $(DOC_SUBDIR) DIST_SUBDIRS = common ddc dummylib i2c x86emu int10 fbdevhw os-support \ - parser rac ramdac shadowfb vbe vgahw xaa xf1bpp xf4bpp \ - xf8_16bpp xf8_32bpp loader dixmods dri dri2 exa modes \ + parser ramdac shadowfb vbe vgahw xaa \ + xf8_16bpp loader dixmods dri dri2 exa modes \ utils doc AM_CFLAGS = $(DIX_CFLAGS) @XORG_CFLAGS@ @@ -529,8 +490,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ @@ -725,7 +686,7 @@ ID: $(HEADERS) $(SOURCES) $(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; nonemtpy = 1; } \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS diff --git a/xorg-server/hw/xfree86/common/Makefile.am b/xorg-server/hw/xfree86/common/Makefile.am index 1379f457c..b38c14a7d 100644 --- a/xorg-server/hw/xfree86/common/Makefile.am +++ b/xorg-server/hw/xfree86/common/Makefile.am @@ -5,21 +5,16 @@ if XORG_BUS_SPARC SBUS_SOURCES = xf86sbusBus.c endif -if DEBUG -DEBUGSOURCES = xf86Debug.c -endif - if XV XVSOURCES = xf86xv.c xf86xvmc.c XVSDKINCS = xf86xv.h xf86xvmc.h endif -XKBSOURCES = xf86XKB.c XISOURCES = xf86Xinput.c xisb.c XISDKINCS = xf86Xinput.h xisb.h RANDRSOURCES = xf86RandR.c -BUSSOURCES = xf86isaBus.c xf86pciBus.c xf86fbBus.c xf86noBus.c $(SBUS_SOURCES) +BUSSOURCES = xf86pciBus.c xf86fbBus.c xf86noBus.c $(SBUS_SOURCES) MODEDEFSOURCES = $(srcdir)/vesamodes $(srcdir)/extramodes @@ -30,40 +25,38 @@ xf86DefModeSet.c: $(srcdir)/modeline2c.awk $(MODEDEFSOURCES) BUILT_SOURCES = xf86DefModeSet.c AM_LDFLAGS = -r -libcommon_la_SOURCES = xf86Configure.c xf86Bus.c xf86Config.c \ +libcommon_la_SOURCES = xf86Configure.c xf86ShowOpts.c xf86Bus.c xf86Config.c \ xf86Cursor.c xf86DGA.c xf86DPMS.c \ - xf86DoProbe.c xf86Events.c \ - xf86Globals.c xf86AutoConfig.c \ - xf86MiscExt.c xf86Option.c \ + xf86Events.c xf86Globals.c xf86AutoConfig.c \ + xf86Option.c \ xf86VidMode.c xf86fbman.c xf86cmap.c \ - xf86Helper.c xf86PM.c \ - xf86Mode.c xf86Build.h xorgHelper.c xf86Versions.c \ - $(XVSOURCES) $(BUSSOURCES) $(XKBSOURCES) \ - $(DEBUGSOURCES) $(XISOURCES) $(RANDRSOURCES) + xf86Helper.c xf86PM.c xf86RAC.c xf86Xinput.c xisb.c \ + xf86Mode.c xorgHelper.c \ + $(XVSOURCES) $(BUSSOURCES) $(RANDRSOURCES) nodist_libcommon_la_SOURCES = xf86DefModeSet.c -libinit_a_SOURCES = xf86Build.h xf86Init.c +libinit_a_SOURCES = xf86Init.c +nodist_libinit_a_SOURCES = xf86Build.h INCLUDES = $(XORG_INCS) -I$(srcdir)/../ddc -I$(srcdir)/../i2c \ -I$(srcdir)/../loader -I$(srcdir)/../rac -I$(srcdir)/../parser \ -I$(srcdir)/../vbe -I$(srcdir)/../int10 \ - -I$(srcdir)/../vgahw -I$(srcdir)/../dixmods/extmod + -I$(srcdir)/../vgahw -I$(srcdir)/../dixmods/extmod \ + -I$(srcdir)/../modes sdk_HEADERS = compiler.h fourcc.h xf86.h xf86Module.h xf86Opt.h \ xf86PciInfo.h xf86Priv.h xf86Privstr.h xf86Resources.h \ - xf86cmap.h xf86fbman.h xf86str.h $(XISDKINCS) \ - $(XVSDKINCS) atKeynames.h xf86Version.h xorgVersion.h \ - xf86sbusBus.h xf86xv.h xf86xvmc.h xf86xvpriv.h + xf86cmap.h xf86fbman.h xf86str.h xf86RAC.h xf86Xinput.h xisb.h \ + $(XVSDKINCS) xorgVersion.h \ + xf86sbusBus.h xf86xvpriv.h DISTCLEANFILES = xf86Build.h CLEANFILES = $(BUILT_SOURCES) EXTRA_DIST = \ - atKeynames.h \ compiler.h \ fourcc.h \ scoasm.h \ xf86.h \ - xf86Build.h \ xf86Bus.h \ xf86Config.h \ xf86InPriv.h \ @@ -82,8 +75,6 @@ EXTRA_DIST = \ xf86xvmc.h \ xf86xvpriv.h \ xisb.h \ - xf86Build.h.in \ - xf86Version.h \ xorgVersion.h \ xf86Date.h \ $(MODEDEFSOURCES) \ diff --git a/xorg-server/hw/xfree86/common/Makefile.in b/xorg-server/hw/xfree86/common/Makefile.in index 443492823..a93593a26 100644 --- a/xorg-server/hw/xfree86/common/Makefile.in +++ b/xorg-server/hw/xfree86/common/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -47,7 +47,6 @@ 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 \ @@ -58,33 +57,30 @@ ARFLAGS = cru libinit_a_AR = $(AR) $(ARFLAGS) libinit_a_LIBADD = am_libinit_a_OBJECTS = xf86Init.$(OBJEXT) -libinit_a_OBJECTS = $(am_libinit_a_OBJECTS) +nodist_libinit_a_OBJECTS = +libinit_a_OBJECTS = $(am_libinit_a_OBJECTS) \ + $(nodist_libinit_a_OBJECTS) LTLIBRARIES = $(noinst_LTLIBRARIES) libcommon_la_LIBADD = -am__libcommon_la_SOURCES_DIST = xf86Configure.c xf86Bus.c xf86Config.c \ - xf86Cursor.c xf86DGA.c xf86DPMS.c xf86DoProbe.c xf86Events.c \ - xf86Globals.c xf86AutoConfig.c xf86MiscExt.c xf86Option.c \ +am__libcommon_la_SOURCES_DIST = xf86Configure.c xf86ShowOpts.c \ + xf86Bus.c xf86Config.c xf86Cursor.c xf86DGA.c xf86DPMS.c \ + xf86Events.c xf86Globals.c xf86AutoConfig.c xf86Option.c \ xf86VidMode.c xf86fbman.c xf86cmap.c xf86Helper.c xf86PM.c \ - xf86Mode.c xf86Build.h xorgHelper.c xf86Versions.c xf86xv.c \ - xf86xvmc.c xf86isaBus.c xf86pciBus.c xf86fbBus.c xf86noBus.c \ - xf86sbusBus.c xf86XKB.c xf86Debug.c xf86Xinput.c xisb.c \ + xf86RAC.c xf86Xinput.c xisb.c xf86Mode.c xorgHelper.c xf86xv.c \ + xf86xvmc.c xf86pciBus.c xf86fbBus.c xf86noBus.c xf86sbusBus.c \ xf86RandR.c @XV_TRUE@am__objects_1 = xf86xv.lo xf86xvmc.lo @XORG_BUS_SPARC_TRUE@am__objects_2 = xf86sbusBus.lo -am__objects_3 = xf86isaBus.lo xf86pciBus.lo xf86fbBus.lo xf86noBus.lo \ +am__objects_3 = xf86pciBus.lo xf86fbBus.lo xf86noBus.lo \ $(am__objects_2) -am__objects_4 = xf86XKB.lo -@DEBUG_TRUE@am__objects_5 = xf86Debug.lo -am__objects_6 = xf86Xinput.lo xisb.lo -am__objects_7 = xf86RandR.lo -am_libcommon_la_OBJECTS = xf86Configure.lo xf86Bus.lo xf86Config.lo \ - xf86Cursor.lo xf86DGA.lo xf86DPMS.lo xf86DoProbe.lo \ - xf86Events.lo xf86Globals.lo xf86AutoConfig.lo xf86MiscExt.lo \ - xf86Option.lo xf86VidMode.lo xf86fbman.lo xf86cmap.lo \ - xf86Helper.lo xf86PM.lo xf86Mode.lo xorgHelper.lo \ - xf86Versions.lo $(am__objects_1) $(am__objects_3) \ - $(am__objects_4) $(am__objects_5) $(am__objects_6) \ - $(am__objects_7) +am__objects_4 = xf86RandR.lo +am_libcommon_la_OBJECTS = xf86Configure.lo xf86ShowOpts.lo xf86Bus.lo \ + xf86Config.lo xf86Cursor.lo xf86DGA.lo xf86DPMS.lo \ + xf86Events.lo xf86Globals.lo xf86AutoConfig.lo xf86Option.lo \ + xf86VidMode.lo xf86fbman.lo xf86cmap.lo xf86Helper.lo \ + xf86PM.lo xf86RAC.lo xf86Xinput.lo xisb.lo xf86Mode.lo \ + xorgHelper.lo $(am__objects_1) $(am__objects_3) \ + $(am__objects_4) nodist_libcommon_la_OBJECTS = xf86DefModeSet.lo libcommon_la_OBJECTS = $(am_libcommon_la_OBJECTS) \ $(nodist_libcommon_la_OBJECTS) @@ -93,21 +89,18 @@ 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 = $(libinit_a_SOURCES) $(libcommon_la_SOURCES) \ - $(nodist_libcommon_la_SOURCES) +SOURCES = $(libinit_a_SOURCES) $(nodist_libinit_a_SOURCES) \ + $(libcommon_la_SOURCES) $(nodist_libcommon_la_SOURCES) DIST_SOURCES = $(libinit_a_SOURCES) $(am__libcommon_la_SOURCES_DIST) am__sdk_HEADERS_DIST = compiler.h fourcc.h xf86.h xf86Module.h \ xf86Opt.h xf86PciInfo.h xf86Priv.h xf86Privstr.h \ - xf86Resources.h xf86cmap.h xf86fbman.h xf86str.h xf86Xinput.h \ - xisb.h xf86xv.h xf86xvmc.h atKeynames.h xf86Version.h \ - xorgVersion.h xf86sbusBus.h xf86xvpriv.h + xf86Resources.h xf86cmap.h xf86fbman.h xf86str.h xf86RAC.h \ + xf86Xinput.h xisb.h xf86xv.h xf86xvmc.h xorgVersion.h \ + xf86sbusBus.h xf86xvpriv.h am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ @@ -125,8 +118,9 @@ ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ -APPDEFAULTDIR = @APPDEFAULTDIR@ APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +APPLE_APPLICATION_ID = @APPLE_APPLICATION_ID@ +APPLE_APPLICATION_NAME = @APPLE_APPLICATION_NAME@ APP_MAN_DIR = @APP_MAN_DIR@ APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ AR = @AR@ @@ -147,10 +141,6 @@ 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@ @@ -172,6 +162,7 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOLT_BASH = @DOLT_BASH@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ @@ -181,18 +172,15 @@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ DSYMUTIL = @DSYMUTIL@ DTRACE = @DTRACE@ -ECHO = @ECHO@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ -FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ -FREETYPE_LIBS = @FREETYPE_LIBS@ GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ GLX_DEFINES = @GLX_DEFINES@ GL_CFLAGS = @GL_CFLAGS@ @@ -211,7 +199,7 @@ KDRIVE_LIBS = @KDRIVE_LIBS@ KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ -LAUNCHD = @LAUNCHD@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ LEX = @LEX@ @@ -225,7 +213,10 @@ LIBTOOL = @LIBTOOL@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LINUXDOC = @LINUXDOC@ +LIPO = @LIPO@ LN_S = @LN_S@ +LTCOMPILE = @LTCOMPILE@ +LTCXXCOMPILE = @LTCXXCOMPILE@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ @@ -237,8 +228,7 @@ MESA_SOURCE = @MESA_SOURCE@ MISC_MAN_DIR = @MISC_MAN_DIR@ MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ MKDIR_P = @MKDIR_P@ -MKFONTDIR = @MKFONTDIR@ -MKFONTSCALE = @MKFONTSCALE@ +NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCCLD = @OBJCCLD@ @@ -247,8 +237,8 @@ OBJCFLAGS = @OBJCFLAGS@ OBJCLINK = @OBJCLINK@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ @@ -281,7 +271,6 @@ VENDOR_NAME = @VENDOR_NAME@ VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ VENDOR_RELEASE = @VENDOR_RELEASE@ VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ XDMCP_CFLAGS = @XDMCP_CFLAGS@ @@ -291,27 +280,12 @@ XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@ XDMX_CFLAGS = @XDMX_CFLAGS@ XDMX_LIBS = @XDMX_LIBS@ XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ XEPHYR_INCS = @XEPHYR_INCS@ XEPHYR_LIBS = @XEPHYR_LIBS@ 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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ @@ -322,10 +296,6 @@ XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ XNEST_LIBS = @XNEST_LIBS@ XNEST_SYS_LIBS = @XNEST_SYS_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@ $(am__append_1) XORG_INCS = @XORG_INCS@ XORG_LIBS = @XORG_LIBS@ @@ -334,13 +304,8 @@ XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ XORG_OS = @XORG_OS@ XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_LIBS@ +XPBPROXY_CFLAGS = @XPBPROXY_CFLAGS@ +XPBPROXY_LIBS = @XPBPROXY_LIBS@ XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ XSDL_INCS = @XSDL_INCS@ @@ -373,8 +338,7 @@ 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@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -394,7 +358,6 @@ driverdir = @driverdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ extdir = @extdir@ -ft_config = @ft_config@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ @@ -404,12 +367,12 @@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ -launchagentsdir = @launchagentsdir@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ logdir = @logdir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ moduledir = @moduledir@ @@ -427,55 +390,49 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ noinst_LIBRARIES = libinit.a noinst_LTLIBRARIES = libcommon.la @XORG_BUS_SPARC_TRUE@SBUS_SOURCES = xf86sbusBus.c -@DEBUG_TRUE@DEBUGSOURCES = xf86Debug.c @XV_TRUE@XVSOURCES = xf86xv.c xf86xvmc.c @XV_TRUE@XVSDKINCS = xf86xv.h xf86xvmc.h -XKBSOURCES = xf86XKB.c XISOURCES = xf86Xinput.c xisb.c XISDKINCS = xf86Xinput.h xisb.h RANDRSOURCES = xf86RandR.c -BUSSOURCES = xf86isaBus.c xf86pciBus.c xf86fbBus.c xf86noBus.c $(SBUS_SOURCES) +BUSSOURCES = xf86pciBus.c xf86fbBus.c xf86noBus.c $(SBUS_SOURCES) MODEDEFSOURCES = $(srcdir)/vesamodes $(srcdir)/extramodes BUILT_SOURCES = xf86DefModeSet.c AM_LDFLAGS = -r -libcommon_la_SOURCES = xf86Configure.c xf86Bus.c xf86Config.c \ +libcommon_la_SOURCES = xf86Configure.c xf86ShowOpts.c xf86Bus.c xf86Config.c \ xf86Cursor.c xf86DGA.c xf86DPMS.c \ - xf86DoProbe.c xf86Events.c \ - xf86Globals.c xf86AutoConfig.c \ - xf86MiscExt.c xf86Option.c \ + xf86Events.c xf86Globals.c xf86AutoConfig.c \ + xf86Option.c \ xf86VidMode.c xf86fbman.c xf86cmap.c \ - xf86Helper.c xf86PM.c \ - xf86Mode.c xf86Build.h xorgHelper.c xf86Versions.c \ - $(XVSOURCES) $(BUSSOURCES) $(XKBSOURCES) \ - $(DEBUGSOURCES) $(XISOURCES) $(RANDRSOURCES) + xf86Helper.c xf86PM.c xf86RAC.c xf86Xinput.c xisb.c \ + xf86Mode.c xorgHelper.c \ + $(XVSOURCES) $(BUSSOURCES) $(RANDRSOURCES) nodist_libcommon_la_SOURCES = xf86DefModeSet.c -libinit_a_SOURCES = xf86Build.h xf86Init.c +libinit_a_SOURCES = xf86Init.c +nodist_libinit_a_SOURCES = xf86Build.h INCLUDES = $(XORG_INCS) -I$(srcdir)/../ddc -I$(srcdir)/../i2c \ -I$(srcdir)/../loader -I$(srcdir)/../rac -I$(srcdir)/../parser \ -I$(srcdir)/../vbe -I$(srcdir)/../int10 \ - -I$(srcdir)/../vgahw -I$(srcdir)/../dixmods/extmod + -I$(srcdir)/../vgahw -I$(srcdir)/../dixmods/extmod \ + -I$(srcdir)/../modes sdk_HEADERS = compiler.h fourcc.h xf86.h xf86Module.h xf86Opt.h \ xf86PciInfo.h xf86Priv.h xf86Privstr.h xf86Resources.h \ - xf86cmap.h xf86fbman.h xf86str.h $(XISDKINCS) \ - $(XVSDKINCS) atKeynames.h xf86Version.h xorgVersion.h \ - xf86sbusBus.h xf86xv.h xf86xvmc.h xf86xvpriv.h + xf86cmap.h xf86fbman.h xf86str.h xf86RAC.h xf86Xinput.h xisb.h \ + $(XVSDKINCS) xorgVersion.h \ + xf86sbusBus.h xf86xvpriv.h DISTCLEANFILES = xf86Build.h CLEANFILES = $(BUILT_SOURCES) EXTRA_DIST = \ - atKeynames.h \ compiler.h \ fourcc.h \ scoasm.h \ xf86.h \ - xf86Build.h \ xf86Bus.h \ xf86Config.h \ xf86InPriv.h \ @@ -494,8 +451,6 @@ EXTRA_DIST = \ xf86xvmc.h \ xf86xvpriv.h \ xisb.h \ - xf86Build.h.in \ - xf86Version.h \ xorgVersion.h \ xf86Date.h \ $(MODEDEFSOURCES) \ @@ -512,8 +467,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ @@ -571,26 +526,22 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xf86Cursor.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xf86DGA.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xf86DPMS.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xf86Debug.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xf86DefModeSet.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xf86DoProbe.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xf86Events.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xf86Globals.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xf86Helper.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xf86Init.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xf86MiscExt.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xf86Mode.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xf86Option.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xf86PM.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xf86RAC.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xf86RandR.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xf86Versions.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xf86ShowOpts.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xf86VidMode.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xf86XKB.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xf86Xinput.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xf86cmap.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xf86fbBus.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xf86fbman.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xf86isaBus.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xf86noBus.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xf86pciBus.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xf86sbusBus.Plo@am__quote@ @@ -648,7 +599,7 @@ ID: $(HEADERS) $(SOURCES) $(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; nonemtpy = 1; } \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS diff --git a/xorg-server/hw/xfree86/common/atKeynames.h b/xorg-server/hw/xfree86/common/atKeynames.h deleted file mode 100644 index 85f13ac32..000000000 --- a/xorg-server/hw/xfree86/common/atKeynames.h +++ /dev/null @@ -1,295 +0,0 @@ -/* - * 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 (c) 1994-2003 by The XFree86 Project, 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 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). - */ - -#ifndef _ATKEYNAMES_H -#define _ATKEYNAMES_H - -#define XK_TECHNICAL -#define XK_KATAKANA -#include -#include - -#define GLYPHS_PER_KEY 4 -#define NUM_KEYCODES 248 -#define MIN_KEYCODE 8 -#define MAX_KEYCODE (NUM_KEYCODES + MIN_KEYCODE - 1) - -#define AltMask Mod1Mask -#define NumLockMask Mod2Mask -#define AltLangMask Mod3Mask -#define KanaMask Mod4Mask -#define ScrollLockMask Mod5Mask - -#define KeyPressed(k) (keyc->postdown[k >> 3] & (1 << (k & 7))) -#define ModifierDown(k) ((keyc->state & (k)) == (k)) - -/* - * NOTE: The AT/MF keyboards can generate (via the 8042) two (MF: three) - * sets of scancodes. Set3 can only be generated by a MF keyboard. - * Set2 sends a makecode for keypress, and the same code prefixed by a - * F0 for keyrelease. This is a little bit ugly to handle. Thus we use - * here for X386 the PC/XT compatible Set1. This set uses 8bit scancodes. - * Bit 7 ist set if the key is released. The code E0 switches to a - * different meaning to add the new MF cursorkeys, while not breaking old - * applications. E1 is another special prefix. Since I assume that there - * will be further versions of PC/XT scancode compatible keyboards, we - * may be in trouble one day. - * - * IDEA: 1) Use Set2 on AT84 keyboards and translate it to MF Set3. - * 2) Use the keyboards native set and translate it to common keysyms. - */ - -/* - * definition of the AT84/MF101/MF102 Keyboard: - * ============================================================ - * Defined Key Cap Glyphs Pressed value - * Key Name Main Also (hex) (dec) - * ---------------- ---------- ------- ------ ------ - */ - -#define KEY_Escape /* Escape 0x01 */ 1 -#define KEY_1 /* 1 ! 0x02 */ 2 -#define KEY_2 /* 2 @ 0x03 */ 3 -#define KEY_3 /* 3 # 0x04 */ 4 -#define KEY_4 /* 4 $ 0x05 */ 5 -#define KEY_5 /* 5 % 0x06 */ 6 -#define KEY_6 /* 6 ^ 0x07 */ 7 -#define KEY_7 /* 7 & 0x08 */ 8 -#define KEY_8 /* 8 * 0x09 */ 9 -#define KEY_9 /* 9 ( 0x0a */ 10 -#define KEY_0 /* 0 ) 0x0b */ 11 -#define KEY_Minus /* - (Minus) _ (Under) 0x0c */ 12 -#define KEY_Equal /* = (Equal) + 0x0d */ 13 -#define KEY_BackSpace /* Back Space 0x0e */ 14 -#define KEY_Tab /* Tab 0x0f */ 15 -#define KEY_Q /* Q 0x10 */ 16 -#define KEY_W /* W 0x11 */ 17 -#define KEY_E /* E 0x12 */ 18 -#define KEY_R /* R 0x13 */ 19 -#define KEY_T /* T 0x14 */ 20 -#define KEY_Y /* Y 0x15 */ 21 -#define KEY_U /* U 0x16 */ 22 -#define KEY_I /* I 0x17 */ 23 -#define KEY_O /* O 0x18 */ 24 -#define KEY_P /* P 0x19 */ 25 -#define KEY_LBrace /* [ { 0x1a */ 26 -#define KEY_RBrace /* ] } 0x1b */ 27 -#define KEY_Enter /* Enter 0x1c */ 28 -#define KEY_LCtrl /* Ctrl(left) 0x1d */ 29 -#define KEY_A /* A 0x1e */ 30 -#define KEY_S /* S 0x1f */ 31 -#define KEY_D /* D 0x20 */ 32 -#define KEY_F /* F 0x21 */ 33 -#define KEY_G /* G 0x22 */ 34 -#define KEY_H /* H 0x23 */ 35 -#define KEY_J /* J 0x24 */ 36 -#define KEY_K /* K 0x25 */ 37 -#define KEY_L /* L 0x26 */ 38 -#define KEY_SemiColon /* ;(SemiColon) :(Colon) 0x27 */ 39 -#define KEY_Quote /* ' (Apostr) " (Quote) 0x28 */ 40 -#define KEY_Tilde /* ` (Accent) ~ (Tilde) 0x29 */ 41 -#define KEY_ShiftL /* Shift(left) 0x2a */ 42 -#define KEY_BSlash /* \(BckSlash) |(VertBar)0x2b */ 43 -#define KEY_Z /* Z 0x2c */ 44 -#define KEY_X /* X 0x2d */ 45 -#define KEY_C /* C 0x2e */ 46 -#define KEY_V /* V 0x2f */ 47 -#define KEY_B /* B 0x30 */ 48 -#define KEY_N /* N 0x31 */ 49 -#define KEY_M /* M 0x32 */ 50 -#define KEY_Comma /* , (Comma) < (Less) 0x33 */ 51 -#define KEY_Period /* . (Period) >(Greater)0x34 */ 52 -#define KEY_Slash /* / (Slash) ? 0x35 */ 53 -#define KEY_ShiftR /* Shift(right) 0x36 */ 54 -#define KEY_KP_Multiply /* * 0x37 */ 55 -#define KEY_Alt /* Alt(left) 0x38 */ 56 -#define KEY_Space /* (SpaceBar) 0x39 */ 57 -#define KEY_CapsLock /* CapsLock 0x3a */ 58 -#define KEY_F1 /* F1 0x3b */ 59 -#define KEY_F2 /* F2 0x3c */ 60 -#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_F8 /* F8 0x42 */ 66 -#define KEY_F9 /* F9 0x43 */ 67 -#define KEY_F10 /* F10 0x44 */ 68 -#define KEY_NumLock /* NumLock 0x45 */ 69 -#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_SysReqest /* SysReqest 0x54 */ 84 - /* NOTUSED 0x55 */ -#define KEY_Less /* < (Less) >(Greater) 0x56 */ 86 -#define KEY_F11 /* F11 0x57 */ 87 -#define KEY_F12 /* F12 0x58 */ 88 - -#define KEY_Prefix0 /* special 0x60 */ 96 -#define KEY_Prefix1 /* specail 0x61 */ 97 - -/* - * The 'scancodes' below are generated by the server, because the MF101/102 - * keyboard sends them as sequence of other scancodes - */ -#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_HKTG /* Hirugana/Katakana tog 0x70 */ 112 -#define KEY_F16 /* F16 0x71 */ 113 -#define KEY_F17 /* F17 0x72 */ 114 -#define KEY_KP_DEC /* KP_DEC 0x73 */ 115 -#define KEY_BSlash2 /* \ _ 0x73 */ 115 -#define KEY_KP_Equal /* Equal (Keypad) 0x76 */ 118 -#define KEY_XFER /* Kanji Transfer 0x79 */ 121 -#define KEY_NFER /* No Kanji Transfer 0x7b */ 123 -#define KEY_Yen /* Yen 0x7d */ 125 - -#define KEY_Power /* Power Key 0x84 */ 132 -#define KEY_Mute /* Audio Mute 0x85 */ 133 -#define KEY_AudioLower /* Audio Lower 0x86 */ 134 -#define KEY_AudioRaise /* Audio Raise 0x87 */ 135 -#define KEY_Help /* Help 0x88 */ 136 -#define KEY_L1 /* Stop 0x89 */ 137 -#define KEY_L2 /* Again 0x8a */ 138 -#define KEY_L3 /* Props 0x8b */ 139 -#define KEY_L4 /* Undo 0x8c */ 140 -#define KEY_L5 /* Front 0x8d */ 141 -#define KEY_L6 /* Copy 0x8e */ 142 -#define KEY_L7 /* Open 0x8f */ 143 -#define KEY_L8 /* Paste 0x90 */ 144 -#define KEY_L9 /* Find 0x91 */ 145 -#define KEY_L10 /* Cut 0x92 */ 146 - -/* - * Fake 'scancodes' in the following ranges are generated for 2-byte - * codes not handled elsewhere. These correspond to most extended keys - * on so-called "Internet" keyboards: - * - * 0x79-0x93 - * 0x96-0xa1 - * 0xa3-0xac - * 0xb1-0xb4 - * 0xba-0xbd - * 0xc2 - * 0xcc-0xd2 - * 0xd6-0xf7 - */ - -/* - * Remapped 'scancodes' are generated for single-byte codes in the range - * 0x59-0x5f,0x62-0x76. These are used for some extra keys on some keyboards. - */ - -#define KEY_0x59 0x95 -#define KEY_0x5A 0xA2 -#define KEY_0x5B 0xAD -#define KEY_0x5C KEY_KP_EQUAL -#define KEY_0x5D 0xAE -#define KEY_0x5E 0xAF -#define KEY_0x5F 0xB0 -#define KEY_0x62 0xB5 -#define KEY_0x63 0xB6 -#define KEY_0x64 0xB7 -#define KEY_0x65 0xB8 -#define KEY_0x66 0xB9 -#define KEY_0x67 0xBE -#define KEY_0x68 0xBF -#define KEY_0x69 0xC0 -#define KEY_0x6A 0xC1 -#define KEY_0x6B 0xC3 -#define KEY_0x6C 0xC4 -#define KEY_0x6D 0xC5 -#define KEY_0x6E 0xC6 -#define KEY_0x6F 0xC7 -#define KEY_0x70 0xC8 -#define KEY_0x71 0xC9 -#define KEY_0x72 0xCA -#define KEY_0x73 0xCB -#define KEY_0x74 0xD3 -#define KEY_0x75 0xD4 -#define KEY_0x76 0xD5 - -/* These are for "notused" and "unknown" entries in translation maps. */ -#define KEY_NOTUSED 0 -#define KEY_UNKNOWN 255 - -#endif /* _ATKEYNAMES_H */ diff --git a/xorg-server/hw/xfree86/common/compiler.h b/xorg-server/hw/xfree86/common/compiler.h index 7b65da844..285d9a3f6 100644 --- a/xorg-server/hw/xfree86/common/compiler.h +++ b/xorg-server/hw/xfree86/common/compiler.h @@ -75,43 +75,10 @@ # endif # endif /* __inline */ -# if defined(IODEBUG) && defined(__GNUC__) -# define outb RealOutb -# define outw RealOutw -# define outl RealOutl -# define inb RealInb -# define inw RealInw -# define inl RealInl -# endif - -# if defined(QNX4) /* Do this for now to keep Watcom happy */ -# define outb outp -# define outw outpw -# define outl outpd -# define inb inp -# define inw inpw -# define inl inpd - -/* Define the ffs function for inlining */ -extern int ffs(unsigned long); -# pragma aux ffs_ = \ - "bsf edx, eax" \ - "jnz bits_set" \ - "xor eax, eax" \ - "jmp exit1" \ - "bits_set:" \ - "mov eax, edx" \ - "inc eax" \ - "exit1:" \ - __parm [eax] \ - __modify [eax edx] \ - __value [eax] \ - ; -# endif - -# if defined(__SUNPRO_C) -# define DO_PROTOTYPES -# endif +/* Support gcc's __FUNCTION__ for people using other compilers */ +#if !defined(__GNUC__) && !defined(__FUNCTION__) +# define __FUNCTION__ __func__ /* C99 */ +#endif # if defined(NO_INLINE) || defined(DO_PROTOTYPES) @@ -250,7 +217,7 @@ struct __una_u16 { unsigned short x __attribute__((packed)); }; static __inline__ unsigned long ldq_u(unsigned long * r11) { -# if defined(__GNUC__) && ((__GNUC__ > 2) || (__GNUC_MINOR__ >= 91)) +# if defined(__GNUC__) const struct __una_u64 *ptr = (const struct __una_u64 *) r11; return ptr->x; # else @@ -269,7 +236,7 @@ static __inline__ unsigned long ldq_u(unsigned long * r11) static __inline__ unsigned long ldl_u(unsigned int * r11) { -# if defined(__GNUC__) && ((__GNUC__ > 2) || (__GNUC_MINOR__ >= 91)) +# if defined(__GNUC__) const struct __una_u32 *ptr = (const struct __una_u32 *) r11; return ptr->x; # else @@ -288,7 +255,7 @@ static __inline__ unsigned long ldl_u(unsigned int * r11) static __inline__ unsigned long ldw_u(unsigned short * r11) { -# if defined(__GNUC__) && ((__GNUC__ > 2) || (__GNUC_MINOR__ >= 91)) +# if defined(__GNUC__) const struct __una_u16 *ptr = (const struct __una_u16 *) r11; return ptr->x; # else @@ -311,7 +278,7 @@ static __inline__ unsigned long ldw_u(unsigned short * r11) static __inline__ void stq_u(unsigned long r5, unsigned long * r11) { -# if defined(__GNUC__) && ((__GNUC__ > 2) || (__GNUC_MINOR__ >= 91)) +# if defined(__GNUC__) struct __una_u64 *ptr = (struct __una_u64 *) r11; ptr->x = r5; # else @@ -336,7 +303,7 @@ static __inline__ void stq_u(unsigned long r5, unsigned long * r11) static __inline__ void stl_u(unsigned long r5, unsigned int * r11) { -# if defined(__GNUC__) && ((__GNUC__ > 2) || (__GNUC_MINOR__ >= 91)) +# if defined(__GNUC__) struct __una_u32 *ptr = (struct __una_u32 *) r11; ptr->x = r5; # else @@ -361,7 +328,7 @@ static __inline__ void stl_u(unsigned long r5, unsigned int * r11) static __inline__ void stw_u(unsigned long r5, unsigned short * r11) { -# if defined(__GNUC__) && ((__GNUC__ > 2) || (__GNUC_MINOR__ >= 91)) +# if defined(__GNUC__) struct __una_u16 *ptr = (struct __una_u16 *) r11; ptr->x = r5; # else @@ -498,7 +465,7 @@ extern unsigned int inb(unsigned long port); extern unsigned int inw(unsigned long port); extern unsigned int inl(unsigned long port); -# elif defined(linux) && (defined(__amd64__) || defined(__x86_64__)) +# elif defined(linux) && defined(__amd64__) # include @@ -564,9 +531,8 @@ inl(unsigned short port) return ret; } -# elif (defined(linux) || defined(Lynx) || defined(sun) || defined(__OpenBSD__) || defined(__FreeBSD__)) && defined(__sparc__) +# elif (defined(linux) || defined(sun) || defined(__OpenBSD__) || defined(__FreeBSD__)) && defined(__sparc__) -# if !defined(Lynx) # ifndef ASI_PL # define ASI_PL 0x88 # endif @@ -805,7 +771,6 @@ xf86WriteMmio32LeNB(__volatile__ void *base, const unsigned long offset, : "r" (val), "r" (addr), "i" (ASI_PL)); } -# endif /* !Lynx */ /* * EGCS 1.1 knows about arbitrary unaligned loads. Define some @@ -820,7 +785,7 @@ struct __una_u16 { unsigned short x __attribute__((packed)); }; static __inline__ unsigned long ldq_u(unsigned long *p) { -# if defined(__GNUC__) && ((__GNUC__ > 2) || (__GNUC_MINOR__ >= 91)) +# if defined(__GNUC__) # if defined(__arch64__) || defined(__sparcv9) const struct __una_u64 *ptr = (const struct __una_u64 *) p; # else @@ -836,7 +801,7 @@ static __inline__ unsigned long ldq_u(unsigned long *p) static __inline__ unsigned long ldl_u(unsigned int *p) { -# if defined(__GNUC__) && ((__GNUC__ > 2) || (__GNUC_MINOR__ >= 91)) +# if defined(__GNUC__) const struct __una_u32 *ptr = (const struct __una_u32 *) p; return ptr->x; # else @@ -848,7 +813,7 @@ static __inline__ unsigned long ldl_u(unsigned int *p) static __inline__ unsigned long ldw_u(unsigned short *p) { -# if defined(__GNUC__) && ((__GNUC__ > 2) || (__GNUC_MINOR__ >= 91)) +# if defined(__GNUC__) const struct __una_u16 *ptr = (const struct __una_u16 *) p; return ptr->x; # else @@ -860,7 +825,7 @@ static __inline__ unsigned long ldw_u(unsigned short *p) static __inline__ void stq_u(unsigned long val, unsigned long *p) { -# if defined(__GNUC__) && ((__GNUC__ > 2) || (__GNUC_MINOR__ >= 91)) +# if defined(__GNUC__) # if defined(__arch64__) || defined(__sparcv9) struct __una_u64 *ptr = (struct __una_u64 *) p; # else @@ -875,7 +840,7 @@ static __inline__ void stq_u(unsigned long val, unsigned long *p) static __inline__ void stl_u(unsigned long val, unsigned int *p) { -# if defined(__GNUC__) && ((__GNUC__ > 2) || (__GNUC_MINOR__ >= 91)) +# if defined(__GNUC__) struct __una_u32 *ptr = (struct __una_u32 *) p; ptr->x = val; # else @@ -886,7 +851,7 @@ static __inline__ void stl_u(unsigned long val, unsigned int *p) static __inline__ void stw_u(unsigned long val, unsigned short *p) { -# if defined(__GNUC__) && ((__GNUC__ > 2) || (__GNUC_MINOR__ >= 91)) +# if defined(__GNUC__) struct __una_u16 *ptr = (struct __una_u16 *) p; ptr->x = val; # else @@ -1067,7 +1032,7 @@ xf86WriteMmio32Be(__volatile__ void *base, const unsigned long offset, # define write_mem_barrier() /* NOP */ # endif /* __arm32__ */ -# elif (defined(Lynx) || defined(linux) || defined(__OpenBSD__) || defined(__NetBSD__) || defined(__FreeBSD__)) && defined(__powerpc__) +# elif (defined(linux) || defined(__OpenBSD__) || defined(__NetBSD__) || defined(__FreeBSD__)) && defined(__powerpc__) # ifndef MAP_FAILED # define MAP_FAILED ((void *)-1) @@ -1363,7 +1328,7 @@ do { \ # define write_mem_barrier() /* NOP */ # if !defined(__SUNPRO_C) -# if !defined(FAKEIT) && !defined(__mc68000__) && !defined(__arm__) && !defined(__sh__) && !defined(__hppa__) && !defined(__s390__) +# if !defined(FAKEIT) && !defined(__mc68000__) && !defined(__arm__) && !defined(__sh__) && !defined(__hppa__) && !defined(__s390__) && !defined(__m32r__) # ifdef GCCUSESGAS /* @@ -1472,7 +1437,7 @@ inl(unsigned short port) # endif /* GCCUSESGAS */ -# else /* !defined(FAKEIT) && !defined(__mc68000__) && !defined(__arm__) && !defined(__sh__) && !defined(__hppa__)*/ +# else /* !defined(FAKEIT) && !defined(__mc68000__) && !defined(__arm__) && !defined(__sh__) && !defined(__hppa__) && !defined(__m32r__) */ static __inline__ void outb(unsigned short port, unsigned char val) @@ -1513,7 +1478,6 @@ inl(unsigned short port) # endif /* ix86 */ # else /* !GNUC */ -# if !defined(QNX4) # if defined(__STDC__) && (__STDC__ == 1) # ifndef asm # define asm __asm @@ -1529,13 +1493,13 @@ inl(unsigned short port) # define uint_t unsigned int # define uchar_t unsigned char # endif /* __UNIXWARE__ */ -# if !defined(sgi) && !defined(__SUNPRO_C) +# if !defined(__SUNPRO_C) # include # endif # else # include "scoasm.h" # endif -# if (!defined(__HIGHC__) && !defined(sgi) && !defined(__SUNPRO_C)) || \ +# if !defined(__HIGHC__) && !defined(__SUNPRO_C) || \ defined(__USLC__) # pragma asm partial_optimization outl # pragma asm partial_optimization outw @@ -1544,7 +1508,6 @@ inl(unsigned short port) # pragma asm partial_optimization inw # pragma asm partial_optimization inb # endif -# endif # define ldq_u(p) (*((unsigned long *)(p))) # define ldl_u(p) (*((unsigned int *)(p))) # define ldw_u(p) (*((unsigned short *)(p))) @@ -1555,32 +1518,6 @@ inl(unsigned short port) # define write_mem_barrier() /* NOP */ # endif /* __GNUC__ */ -# if defined(QNX4) -# include -extern unsigned inb(unsigned port); -extern unsigned inw(unsigned port); -extern unsigned inl(unsigned port); -extern void outb(unsigned port, unsigned val); -extern void outw(unsigned port, unsigned val); -extern void outl(unsigned port, unsigned val); -# endif /* QNX4 */ - -# if defined(IODEBUG) && defined(__GNUC__) -# undef inb -# undef inw -# undef inl -# undef outb -# undef outw -# undef outl -# define inb(a) __extension__ ({unsigned char __c=RealInb(a); ErrorF("inb(0x%03x) = 0x%02x\t@ line %4d, file %s\n", a, __c, __LINE__, __FILE__);__c;}) -# define inw(a) __extension__ ({unsigned short __c=RealInw(a); ErrorF("inw(0x%03x) = 0x%04x\t@ line %4d, file %s\n", a, __c, __LINE__, __FILE__);__c;}) -# define inl(a) __extension__ ({unsigned int __c=RealInl(a); ErrorF("inl(0x%03x) = 0x%08x\t@ line %4d, file %s\n", a, __c, __LINE__, __FILE__);__c;}) - -# define outb(a,b) (ErrorF("outb(0x%03x, 0x%02x)\t@ line %4d, file %s\n", a, b, __LINE__, __FILE__),RealOutb(a,b)) -# define outw(a,b) (ErrorF("outw(0x%03x, 0x%04x)\t@ line %4d, file %s\n", a, b, __LINE__, __FILE__),RealOutw(a,b)) -# define outl(a,b) (ErrorF("outl(0x%03x, 0x%08x)\t@ line %4d, file %s\n", a, b, __LINE__, __FILE__),RealOutl(a,b)) -# endif - # endif /* NO_INLINE */ # ifdef __alpha__ @@ -1604,8 +1541,6 @@ extern void (*xf86WriteMmio32)(int, void *, unsigned long); extern void (*xf86WriteMmioNB8)(int, void *, unsigned long); extern void (*xf86WriteMmioNB16)(int, void *, unsigned long); extern void (*xf86WriteMmioNB32)(int, void *, unsigned long); -extern void xf86JensenMemToBus(char *, long, long, int); -extern void xf86JensenBusToMem(char *, char *, unsigned long, int); extern void xf86SlowBCopyFromBus(unsigned char *, unsigned char *, int); extern void xf86SlowBCopyToBus(unsigned char *, unsigned char *, int); @@ -1619,20 +1554,13 @@ extern void xf86SlowBCopyToBus(unsigned char *, unsigned char *, int); # define MMIO_IN32(base, offset) xf86ReadMmio32(base, offset) # endif -# if defined (JENSEN_SUPPORT) -# define MMIO_OUT32(base, offset, val) \ - (*xf86WriteMmio32)((CARD32)(val), base, offset) -# define MMIO_ONB32(base, offset, val) \ - (*xf86WriteMmioNB32)((CARD32)(val), base, offset) -# else -# define MMIO_OUT32(base, offset, val) \ +# define MMIO_OUT32(base, offset, val) \ do { \ write_mem_barrier(); \ *(volatile CARD32 *)(void *)(((CARD8*)(base)) + (offset)) = (val); \ } while (0) -# define MMIO_ONB32(base, offset, val) \ +# define MMIO_ONB32(base, offset, val) \ *(volatile CARD32 *)(void *)(((CARD8*)(base)) + (offset)) = (val) -# endif # define MMIO_OUT8(base, offset, val) \ (*xf86WriteMmio8)((CARD8)(val), base, offset) diff --git a/xorg-server/hw/xfree86/common/xf86.h b/xorg-server/hw/xfree86/common/xf86.h index e91521770..a32aa9bcc 100644 --- a/xorg-server/hw/xfree86/common/xf86.h +++ b/xorg-server/hw/xfree86/common/xf86.h @@ -56,6 +56,7 @@ /* General parameters */ extern int xf86DoConfigure; +extern int xf86DoShowOptions; extern Bool xf86DoModalias; extern Bool xf86DoConfigurePass1; extern DevPrivateKey xf86ScreenKey; @@ -65,7 +66,6 @@ extern ScrnInfoPtr *xf86Screens; /* List of pointers to ScrnInfoRecs */ extern const unsigned char byte_reversed[256]; extern ScrnInfoPtr xf86CurrentScreen; extern Bool pciSlotClaimed; -extern Bool isaSlotClaimed; extern Bool fbSlotClaimed; #if defined(__sparc__) || defined(__sparc) extern Bool sbusSlotClaimed; @@ -101,22 +101,15 @@ Bool xf86ParsePciBusString(const char *busID, int *bus, int *device, int *func); Bool xf86ComparePciBusString(const char *busID, int bus, int device, int func); void xf86FormatPciBusNumber(int busnum, char *buffer); -void xf86PrintResList(int verb, resPtr list); resPtr xf86AddRangesToList(resPtr list, resRange *pRange, int entityIndex); -int xf86ClaimIsaSlot(DriverPtr drvp, int chipset, GDevPtr dev, Bool active); -int xf86GetIsaInfoForScreen(int scrnIndex); int xf86GetFbInfoForScreen(int scrnIndex); -Bool xf86ParseIsaBusString(const char *busID); int xf86ClaimFbSlot(DriverPtr drvp, int chipset, GDevPtr dev, Bool active); int xf86ClaimNoSlot(DriverPtr drvp, int chipset, GDevPtr dev, Bool active); void xf86EnableAccess(ScrnInfoPtr pScrn); void xf86SetCurrentAccess(Bool Enable, ScrnInfoPtr pScrn); Bool xf86IsPrimaryPci(struct pci_device * pPci); -Bool xf86IsPrimaryIsa(void); /* new RAC */ resPtr xf86AddResToList(resPtr rlist, resRange *Range, int entityIndex); -resPtr xf86JoinResLists(resPtr rlist1, resPtr rlist2); -resPtr xf86DupResList(const resPtr rlist); void xf86FreeResList(resPtr rlist); void xf86ClaimFixedResources(resList list, int entityIndex); Bool xf86DriverHasEntities(DriverPtr drvp); @@ -140,7 +133,6 @@ Bool xf86IsEntityPrimary(int entityIndex); resPtr xf86ReallocatePciResources(int entityIndex, resPtr pRes); resPtr xf86SetOperatingState(resList list, int entityIndex, int mask); void xf86EnterServerState(xf86State state); -memType xf86ChkConflict(resRange *rgp, int entityIndex); ScrnInfoPtr xf86FindScreenForEntity(int entityIndex); Bool xf86NoSharedResources(int screenIndex, resType res); resPtr xf86FindIntersectOfLists(resPtr l1, resPtr l2); @@ -162,8 +154,6 @@ DevUnion *xf86GetEntityPrivate(int entityIndex, int privIndex); /* xf86Configure.c */ GDevPtr xf86AddBusDeviceToConfigure(const char *driver, BusType bus, void *busData, int chipset); -GDevPtr xf86AddDeviceToConfigure( const char *driver, - struct pci_device * pVideo, int chipset ); /* xf86Cursor.c */ @@ -205,8 +195,8 @@ void xf86EnableGeneralHandler(pointer handler); void xf86InterceptSignals(int *signo); void xf86InterceptSigIll(void (*sigillhandler)(void)); Bool xf86EnableVTSwitch(Bool new); -Bool xf86CommonSpecialKey(int key, Bool down, int modifiers); void xf86ProcessActionEvent(ActionEvent action, void *arg); +void xf86PrintBacktrace(void); /* xf86Helper.c */ @@ -246,10 +236,6 @@ int xf86MatchPciInstances(const char *driverName, int vendorID, SymTabPtr chipsets, PciChipsets *PCIchipsets, GDevPtr *devList, int numDevs, DriverPtr drvp, int **foundEntities); -int xf86MatchIsaInstances(const char *driverName, SymTabPtr chipsets, - IsaChipsets *ISAchipsets, DriverPtr drvp, - FindIsaDevProc FindIsaDevice, GDevPtr *devList, - int numDevs, int **foundEntities); void xf86GetClocks(ScrnInfoPtr pScrn, int num, Bool (*ClockFunc)(ScrnInfoPtr, int), void (*ProtectRegs)(ScrnInfoPtr, Bool), @@ -278,7 +264,6 @@ Bool xf86GetModInDevEnabled(void); Bool xf86GetAllowMouseOpenFail(void); Bool xf86IsPc98(void); void xf86DisableRandR(void); -CARD32 xf86GetVersion(void); CARD32 xorgGetVersion(void); CARD32 xf86GetModuleVersion(pointer module); pointer xf86LoadDrvSubModule(DriverPtr drv, const char *name); @@ -301,11 +286,6 @@ ScrnInfoPtr xf86ConfigPciEntity(ScrnInfoPtr pScrn, int scrnFlag, resList res, EntityProc init, EntityProc enter, EntityProc leave, pointer private); -ScrnInfoPtr xf86ConfigIsaEntity(ScrnInfoPtr pScrn, int scrnFlag, - int entityIndex, IsaChipsets *i_chip, - resList res, EntityProc init, - EntityProc enter, EntityProc leave, - pointer private); ScrnInfoPtr xf86ConfigFbEntity(ScrnInfoPtr pScrn, int scrnFlag, int entityIndex, EntityProc init, EntityProc enter, EntityProc leave, @@ -317,19 +297,10 @@ Bool xf86ConfigActivePciEntity(ScrnInfoPtr pScrn, EntityProc enter, EntityProc leave, pointer private); /* Obsolete! don't use */ -Bool xf86ConfigActiveIsaEntity(ScrnInfoPtr pScrn, - int entityIndex, IsaChipsets *i_chip, - resList res, EntityProc init, - EntityProc enter, EntityProc leave, - pointer private); void xf86ConfigPciEntityInactive(EntityInfoPtr pEnt, PciChipsets *p_chip, resList res, EntityProc init, EntityProc enter, EntityProc leave, pointer private); -void xf86ConfigIsaEntityInactive(EntityInfoPtr pEnt, IsaChipsets *i_chip, - resList res, EntityProc init, - EntityProc enter, EntityProc leave, - pointer private); void xf86ConfigFbEntityInactive(EntityInfoPtr pEnt, EntityProc init, EntityProc enter, EntityProc leave, pointer private); @@ -341,23 +312,6 @@ Bool xf86IsUnblank(int mode); _X_DEPRECATED void xf86AddModuleInfo(pointer info, pointer module); _X_DEPRECATED void xf86DeleteModuleInfo(int idx); -void xf86getsecs(long *, long *); - -/* xf86Debug.c */ -#ifdef BUILDDEBUG -CARD8 xf86PeekFb8(CARD8 *p); -CARD16 xf86PeekFb16(CARD16 *p); -CARD32 xf86PeekFb32(CARD32 *p); -void xf86PokeFb8(CARD8 *p, CARD8 v); -void xf86PokeFb16(CARD16 *p, CARD16 v); -void xf86PokeFb32(CARD16 *p, CARD32 v); -CARD8 xf86PeekMmio8(pointer Base, unsigned long Offset); -CARD16 xf86PeekMmio16(pointer Base, unsigned long Offset); -CARD32 xf86PeekMmio32(pointer Base, unsigned long Offset); -void xf86PokeMmio8(pointer Base, unsigned long Offset, CARD8 v); -void xf86PokeMmio16(pointer Base, unsigned long Offset, CARD16 v); -void xf86PokeMmio32(pointer Base, unsigned long Offset, CARD32 v); -#endif /* xf86Init.c */ @@ -390,13 +344,14 @@ void xf86PruneDriverModes(ScrnInfoPtr scrp); void xf86SetCrtcForModes(ScrnInfoPtr scrp, int adjustFlags); void xf86PrintModes(ScrnInfoPtr scrp); void xf86ShowClockRanges(ScrnInfoPtr scrp, ClockRangePtr clockRanges); -double xf86ModeHSync(DisplayModePtr mode); -double xf86ModeVRefresh(DisplayModePtr mode); +double xf86ModeHSync(const DisplayModeRec *mode); +double xf86ModeVRefresh(const DisplayModeRec *mode); void xf86SetModeDefaultName(DisplayModePtr mode); void xf86SetModeCrtc(DisplayModePtr p, int adjustFlags); -DisplayModePtr xf86DuplicateMode(DisplayModePtr pMode); +DisplayModePtr xf86DuplicateMode(const DisplayModeRec *pMode); DisplayModePtr xf86DuplicateModes(ScrnInfoPtr pScrn, DisplayModePtr modeList); -Bool xf86ModesEqual(DisplayModePtr pMode1, DisplayModePtr pMode2); +Bool xf86ModesEqual(const DisplayModeRec *pMode1, + const DisplayModeRec *pMode2); void xf86PrintModeline(int scrnIndex,DisplayModePtr mode); DisplayModePtr xf86ModesAdd(DisplayModePtr modes, DisplayModePtr new); @@ -419,12 +374,6 @@ Bool xf86RandRSetNewVirtualAndDimensions(ScreenPtr pScreen, Bool VidModeExtensionInit(ScreenPtr pScreen); -/* xf86Versions.c */ -CARD32 xf86GetBuiltinInterfaceVersion(BuiltinInterface iface, int flag); -Bool xf86RegisterBuiltinInterfaceVersion(BuiltinInterface iface, - CARD32 version, int flags); - - #endif /* _NO_XF86_PROTOTYPES */ #endif /* _XF86_H */ diff --git a/xorg-server/hw/xfree86/common/xf86AutoConfig.c b/xorg-server/hw/xfree86/common/xf86AutoConfig.c index 7e5fab412..a9a1fd207 100644 --- a/xorg-server/hw/xfree86/common/xf86AutoConfig.c +++ b/xorg-server/hw/xfree86/common/xf86AutoConfig.c @@ -39,8 +39,16 @@ #include "xf86Config.h" #include "xf86Priv.h" #include "xf86_OSlib.h" +#ifdef __sparc__ +# include "xf86sbusBus.h" +#endif #include "dirent.h" +#ifdef sun +# include +# include +#endif + /* Sections for the default built-in configuration. */ #define BUILTIN_DEVICE_NAME \ @@ -79,11 +87,8 @@ static const char **builtinConfig = NULL; static int builtinLines = 0; -static const char *deviceList[] = { - "fbdev", - "vesa", - NULL -}; + +static void listPossibleVideoDrivers(char *matches[], int nmatches); /* * A built-in config file is stored as an array of strings, with each string @@ -135,87 +140,97 @@ AppendToConfig(const char *s) AppendToList(s, &builtinConfig, &builtinLines); } -static const char * -videoPtrToDriverName(struct pci_device *dev) +static int +videoPtrToDriverList(struct pci_device *dev, + char *returnList[], int returnListMax) { /* * things not handled yet: * cyrix/nsc. should be merged into geode anyway. * xgi. */ + int i; + /* Add more entries here if we ever return more than 4 drivers for + any device */ + char *driverList[5] = { NULL, NULL, NULL, NULL, NULL }; switch (dev->vendor_id) { case 0x1022: - if (dev->device_id == 0x2081) - return "geode"; - else - return NULL; - case 0x1142: return "apm"; - case 0xedd8: return "ark"; - case 0x1a03: return "ast"; - case 0x1002: return "ati"; - case 0x102c: return "chips"; - case 0x1013: return "cirrus"; + if (dev->device_id == 0x2081) { + driverList[0] = "geode"; + driverList[1] = "amd"; + } + break; + case 0x1142: driverList[0] = "apm"; break; + case 0xedd8: driverList[0] = "ark"; break; + case 0x1a03: driverList[0] = "ast"; break; + case 0x1002: driverList[0] = "ati"; break; + case 0x102c: driverList[0] = "chips"; break; + case 0x1013: driverList[0] = "cirrus"; break; case 0x8086: - if ((dev->device_id == 0x00d1) || (dev->device_id == 0x7800)) - return "i740"; - else return "intel"; - case 0x102b: return "mga"; - case 0x10c8: return "neomagic"; - case 0x105d: return "i128"; - case 0x10de: case 0x12d2: return "nv"; - case 0x1163: return "rendition"; + if ((dev->device_id == 0x00d1) || (dev->device_id == 0x7800)) { + driverList[0] = "i740"; + } else { + driverList[0] = "intel"; + driverList[1] = "i810"; + } + break; + case 0x102b: driverList[0] = "mga"; break; + case 0x10c8: driverList[0] = "neomagic"; break; + case 0x105d: driverList[0] = "i128"; break; + case 0x10de: case 0x12d2: driverList[0] = "nv"; break; + case 0x1163: driverList[0] = "rendition"; break; case 0x5333: switch (dev->device_id) { case 0x88d0: case 0x88d1: case 0x88f0: case 0x8811: case 0x8812: case 0x8814: case 0x8901: - return "s3"; + driverList[0] = "s3"; break; case 0x5631: case 0x883d: case 0x8a01: case 0x8a10: case 0x8c01: case 0x8c03: case 0x8904: case 0x8a13: - return "s3virge"; + driverList[0] = "s3virge"; break; default: - return "savage"; + driverList[0] = "savage"; break; } - case 0x1039: return "sis"; - case 0x126f: return "siliconmotion"; + break; + case 0x1039: driverList[0] = "sis"; break; + case 0x126f: driverList[0] = "siliconmotion"; break; case 0x121a: if (dev->device_id < 0x0003) - return "voodoo"; + driverList[0] = "voodoo"; + else + driverList[0] = "tdfx"; + break; + case 0x3d3d: driverList[0] = "glint"; break; + case 0x1023: driverList[0] = "trident"; break; + case 0x100c: driverList[0] = "tseng"; break; + case 0x1106: driverList[0] = "openchrome"; break; + case 0x15ad: driverList[0] = "vmware"; break; + case 0x18ca: + if (dev->device_id == 0x47) + driverList[0] = "xgixp"; else - return "tdfx"; - case 0x3d3d: return "glint"; - case 0x1023: return "trident"; - case 0x100c: return "tseng"; - case 0x1106: return "openchrome"; - case 0x15ad: return "vmware"; + driverList[0] = "xgi"; + break; default: break; } - return NULL; + for (i = 0; (i < returnListMax) && (driverList[i] != NULL); i++) { + returnList[i] = xnfstrdup(driverList[i]); + } + return i; /* Number of entries added */ } Bool xf86AutoConfig(void) { - const char **p; + char *deviceList[20]; + char **p; + const char **cp; char buf[1024]; - const char *driver = NULL; ConfigStatus ret; - driver = chooseVideoDriver(); - - if (driver) { - snprintf(buf, sizeof(buf), BUILTIN_DEVICE_SECTION_PRE, - driver, 0, driver); - AppendToConfig(buf); - ErrorF("New driver is \"%s\"\n", driver); - buf[0] = '\t'; - AppendToConfig(BUILTIN_DEVICE_SECTION_POST); - snprintf(buf, sizeof(buf), BUILTIN_SCREEN_SECTION, - driver, 0, driver, 0); - AppendToConfig(buf); - } + listPossibleVideoDrivers(deviceList, 20); for (p = deviceList; *p; p++) { snprintf(buf, sizeof(buf), BUILTIN_DEVICE_SECTION, *p, 0, *p); @@ -225,23 +240,23 @@ xf86AutoConfig(void) } AppendToConfig(BUILTIN_LAYOUT_SECTION_PRE); - if (driver) { - snprintf(buf, sizeof(buf), BUILTIN_LAYOUT_SCREEN_LINE, driver, 0); - AppendToConfig(buf); - } for (p = deviceList; *p; p++) { snprintf(buf, sizeof(buf), BUILTIN_LAYOUT_SCREEN_LINE, *p, 0); AppendToConfig(buf); } AppendToConfig(BUILTIN_LAYOUT_SECTION_POST); + for (p = deviceList; *p; p++) { + xfree(*p); + } + xf86MsgVerb(X_DEFAULT, 0, "Using default built-in configuration (%d lines)\n", builtinLines); xf86MsgVerb(X_DEFAULT, 3, "--- Start of built-in configuration ---\n"); - for (p = builtinConfig; *p; p++) - xf86ErrorFVerb(3, "\t%s", *p); + for (cp = builtinConfig; *cp; cp++) + xf86ErrorFVerb(3, "\t%s", *cp); xf86MsgVerb(X_DEFAULT, 3, "--- End of built-in configuration ---\n"); xf86setBuiltinConfig(builtinConfig); @@ -283,11 +298,10 @@ autoConfigDevice(GDevPtr preconf_device) if (preconf_device) { ptr = preconf_device; } else { - ptr = (GDevPtr)xalloc(sizeof(GDevRec)); + ptr = xcalloc(1, sizeof(GDevRec)); if (!ptr) { return NULL; } - memset((GDevPtr)ptr, 0, sizeof(GDevRec)); ptr->chipID = -1; ptr->chipRev = -1; ptr->irq = -1; @@ -416,17 +430,58 @@ matchDriverFromFiles (char** matches, uint16_t match_vendor, uint16_t match_chip } #endif /* __linux__ */ -char* -chooseVideoDriver(void) +static void +listPossibleVideoDrivers(char *matches[], int nmatches) { struct pci_device * info = NULL; struct pci_device_iterator *iter; - char *chosen_driver = NULL; int i; - char *matches[20]; /* If we have more than 20 drivers we're in trouble */ - for (i=0 ; i<20 ; i++) + for (i = 0 ; i < nmatches ; i++) { matches[i] = NULL; + } + i = 0; + +#ifdef sun + /* Check for driver type based on /dev/fb type and if valid, use + it instead of PCI bus probe results */ + if (xf86Info.consoleFd >= 0) { + struct vis_identifier visid; + const char *cp; + + if (ioctl(xf86Info.consoleFd, VIS_GETIDENTIFIER, &visid) >= 0) { + xf86Msg(X_PROBED, "console driver: %s\n", visid.name); + + /* Special case from before the general case was set */ + if (strcmp(visid.name, "NVDAnvda") == 0) { + matches[i++] = xnfstrdup("nvidia"); + } + + /* General case - split into vendor name (initial all-caps + prefix) & driver name (rest of the string). */ + if (strcmp(visid.name, "SUNWtext") != 0) { + for (cp = visid.name; (*cp != '\0') && isupper(*cp); cp++) { + /* find end of all uppercase vendor section */ + } + if ((cp != visid.name) && (*cp != '\0')) { + char *driverName = xnfstrdup(cp); + char *vendorName = xnfstrdup(visid.name); + vendorName[cp - visid.name] = '\0'; + + matches[i++] = vendorName; + matches[i++] = driverName; + } + } + } + } +#endif +#ifdef __sparc__ + { + char *sbusDriver = sparcDriverName(); + if (sbusDriver) + matches[i++] = xnfstrdup(sbusDriver); + } +#endif /* Find the primary device, and get some information about it. */ iter = pci_slot_match_iterator_create(NULL); @@ -447,31 +502,52 @@ chooseVideoDriver(void) } #endif /* __linux__ */ - /* TODO Handle multiple drivers claiming to support the same PCI ID */ - if (matches[0]) { - chosen_driver = matches[0]; - } else { - if (info != NULL) - chosen_driver = videoPtrToDriverName(info); - if (chosen_driver == NULL) { -#if defined __i386__ || defined __amd64__ || defined __x86_64__ || defined __hurd__ - chosen_driver = "vesa"; -#elif defined __sparc__ - chosen_driver = "sunffb"; + for (i = 0; (i < nmatches) && (matches[i]); i++) { + /* find end of matches list */ + } + + if ((info != NULL) && (i < nmatches)) { + i += videoPtrToDriverList(info, &(matches[i]), nmatches - i); + } + + /* Fallback to platform default hardware */ + if (i < (nmatches - 1)) { +#if defined(__i386__) || defined(__amd64__) || defined(__hurd__) + matches[i++] = xnfstrdup("vesa"); +#elif defined(__sparc__) && !defined(sun) + matches[i++] = xnfstrdup("sunffb"); +#endif + } + + /* Fallback to platform default frame buffer driver */ + if (i < (nmatches - 1)) { +#if !defined(__linux__) && defined(__sparc__) + matches[i++] = xnfstrdup("wsfb"); #else - chosen_driver = "fbdev"; + matches[i++] = xnfstrdup("fbdev"); #endif - } } +} + +char* +chooseVideoDriver(void) +{ + char *chosen_driver = NULL; + int i; + char *matches[20]; /* If we have more than 20 drivers we're in trouble */ - xf86Msg(X_DEFAULT, "Matched %s for the autoconfigured driver\n", chosen_driver); + listPossibleVideoDrivers(matches, 20); - i = 0; - while (matches[i]) { + /* TODO Handle multiple drivers claiming to support the same PCI ID */ + chosen_driver = matches[0]; + + xf86Msg(X_DEFAULT, "Matched %s for the autoconfigured driver\n", + chosen_driver); + + for (i = 0; matches[i] ; i++) { if (matches[i] != chosen_driver) { xfree(matches[i]); } - i++; } return chosen_driver; diff --git a/xorg-server/hw/xfree86/common/xf86Build.h b/xorg-server/hw/xfree86/common/xf86Build.h deleted file mode 100644 index e261f1b5c..000000000 --- a/xorg-server/hw/xfree86/common/xf86Build.h +++ /dev/null @@ -1,2 +0,0 @@ -#define BUILD_DATE 20081105 -#define BUILD_TIME 1144728 diff --git a/xorg-server/hw/xfree86/common/xf86Bus.c b/xorg-server/hw/xfree86/common/xf86Bus.c index f7ffac85e..b94d500f0 100644 --- a/xorg-server/hw/xfree86/common/xf86Bus.c +++ b/xorg-server/hw/xfree86/common/xf86Bus.c @@ -25,7 +25,6 @@ * authorization from the copyright holder(s) and author(s). */ -#define REDUCER /* * This file contains the interfaces to the bus-specific code */ @@ -60,7 +59,10 @@ int xf86NumEntities = 0; static int xf86EntityPrivateCount = 0; BusAccPtr xf86BusAccInfo = NULL; -xf86AccessRec AccessNULL = {NULL,NULL,NULL}; +static void +noopEnableDisable(void *arg) { } + +xf86AccessRec AccessNULL = { noopEnableDisable, noopEnableDisable, NULL }; xf86CurrentAccessRec xf86CurrentAccess = {NULL,NULL}; @@ -68,10 +70,6 @@ BusRec primaryBus = { BUS_NONE, {{0}}}; static Bool xf86ResAccessEnter = FALSE; -#ifdef REDUCER -/* Resources that temporarily conflict with estimated resources */ -static resPtr AccReducers = NULL; -#endif /* resource lists */ resPtr Acc = NULL; @@ -96,10 +94,6 @@ static Bool doFramebufferMode = FALSE; static StateChangeNotificationPtr StateChangeNotificationList; static void notifyStateChange(xf86NotifyState state); -#undef MIN -#define MIN(x,y) ((xaccess->busAcc)->set_f (xf86Entities[i]->access->busAcc); pacc = xf86Entities[i]->access->fallback; - if (pacc->AccessEnable) - pacc->AccessEnable(pacc->arg); + pacc->AccessEnable(pacc->arg); xf86Entities[i]->entityInit(i,xf86Entities[i]->private); - if (pacc->AccessDisable) - pacc->AccessDisable(pacc->arg); - /* remove init resources after init is processed */ - pprev_next = &Acc; - res = Acc; - while (res) { - if (res->res_type & ResInit && (res->entityIndex == i)) { - (*pprev_next) = res->next; - xfree(res); - } else - pprev_next = &(res->next); - res = (*pprev_next); - } + pacc->AccessDisable(pacc->arg); } } @@ -213,11 +190,9 @@ EntityEnter(void) ((BusAccPtr)xf86Entities[i]->access->busAcc)->set_f (xf86Entities[i]->access->busAcc); pacc = xf86Entities[i]->access->fallback; - if (pacc->AccessEnable) - pacc->AccessEnable(pacc->arg); + pacc->AccessEnable(pacc->arg); xf86Entities[i]->entityEnter(i,xf86Entities[i]->private); - if (pacc->AccessDisable) - pacc->AccessDisable(pacc->arg); + pacc->AccessDisable(pacc->arg); } } @@ -233,11 +208,9 @@ EntityLeave(void) ((BusAccPtr)xf86Entities[i]->access->busAcc)->set_f (xf86Entities[i]->access->busAcc); pacc = xf86Entities[i]->access->fallback; - if (pacc->AccessEnable) - pacc->AccessEnable(pacc->arg); + pacc->AccessEnable(pacc->arg); xf86Entities[i]->entityLeave(i,xf86Entities[i]->private); - if (pacc->AccessDisable) - pacc->AccessDisable(pacc->arg); + pacc->AccessDisable(pacc->arg); } } @@ -251,8 +224,6 @@ xf86IsEntityPrimary(int entityIndex) switch (pEnt->busType) { case BUS_PCI: return (pEnt->bus.id.pci == primaryBus.id.pci); - case BUS_ISA: - return TRUE; case BUS_SBUS: return (pEnt->sbusBusId.fbNum == primaryBus.id.sbus.fbNum); default: @@ -260,7 +231,7 @@ xf86IsEntityPrimary(int entityIndex) } } -_X_EXPORT Bool +Bool xf86SetEntityFuncs(int entityIndex, EntityProc init, EntityProc enter, EntityProc leave, pointer private) { @@ -358,10 +329,10 @@ xf86RemoveEntityFromScreen(ScrnInfoPtr pScrn, int entityIndex) peacc = xf86Entities[pScrn->entityList[i]]->access; (*ptr) = peacc->next; /* disable entity: call disable func */ - if (peacc->pAccess && peacc->pAccess->AccessDisable) + if (peacc->pAccess) peacc->pAccess->AccessDisable(peacc->pAccess->arg); /* also disable fallback - just in case */ - if (peacc->fallback && peacc->fallback->AccessDisable) + if (peacc->fallback) peacc->fallback->AccessDisable(peacc->fallback->arg); for (i++; i < pScrn->numEntities; i++) pScrn->entityList[i-1] = pScrn->entityList[i]; @@ -391,10 +362,10 @@ xf86ClearEntityListForScreen(int scrnIndex) xf86Entities[entityIndex]->inUse = FALSE; /* disable resource: call the disable function */ peacc = xf86Entities[entityIndex]->access; - if (peacc->pAccess && peacc->pAccess->AccessDisable) + if (peacc->pAccess) peacc->pAccess->AccessDisable(peacc->pAccess->arg); /* and the fallback function */ - if (peacc->fallback && peacc->fallback->AccessDisable) + if (peacc->fallback) peacc->fallback->AccessDisable(peacc->fallback->arg); /* shared resources are only needed when entity is active: remove */ xf86DeallocateResourcesForEntity(entityIndex, ResShared); @@ -409,7 +380,7 @@ xf86ClearEntityListForScreen(int scrnIndex) pScrn->entityInstanceList = NULL; } -_X_EXPORT void +void xf86DeallocateResourcesForEntity(int entityIndex, unsigned long type) { resPtr *pprev_next = &Acc; @@ -525,14 +496,14 @@ disableAccess(void) for (i = 0; i < xf86NumScreens; i++) { peacc = xf86Screens[i]->CurrentAccess->pIoAccess; while (peacc) { - if (peacc->pAccess && peacc->pAccess->AccessDisable) + if (peacc->pAccess) peacc->pAccess->AccessDisable(peacc->pAccess->arg); peacc = peacc->next; } xf86Screens[i]->CurrentAccess->pIoAccess = NULL; peacc = xf86Screens[i]->CurrentAccess->pMemAccess; while (peacc) { - if (peacc->pAccess && peacc->pAccess->AccessDisable) + if (peacc->pAccess) peacc->pAccess->AccessDisable(peacc->pAccess->arg); peacc = peacc->next; } @@ -541,8 +512,7 @@ disableAccess(void) /* then call the generic entity disable funcs */ for (i = 0; i < xf86NumEntities; i++) { pacc = xf86Entities[i]->access->fallback; - if (pacc->AccessDisable) - pacc->AccessDisable(pacc->arg); + pacc->AccessDisable(pacc->arg); } } @@ -692,16 +662,16 @@ xf86EnableAccess(ScrnInfoPtr pScrn) pScrn->CurrentAccess->pMemAccess = NULL; while (pceAcc) { pAcc = pceAcc->pAccess; - if ( pAcc && pAcc->AccessDisable) - (*pAcc->AccessDisable)(pAcc->arg); + if (pAcc) + pAcc->AccessDisable(pAcc->arg); pceAcc = pceAcc->next; } if (pScrn->busAccess) ((BusAccPtr)pScrn->busAccess)->set_f(pScrn->busAccess); while (peAcc) { pAcc = peAcc->pAccess; - if (pAcc && pAcc->AccessEnable) - (*pAcc->AccessEnable)(pAcc->arg); + if (pAcc) + pAcc->AccessEnable(pAcc->arg); peAcc = peAcc->next; } pScrn->CurrentAccess->pIoAccess = (EntityAccessPtr) pScrn->access; @@ -713,8 +683,8 @@ xf86EnableAccess(ScrnInfoPtr pScrn) tmp = pceAcc; while (pceAcc) { pAcc = pceAcc->pAccess; - if (pAcc && pAcc->AccessDisable) - (*pAcc->AccessDisable)(pAcc->arg); + if (pAcc) + pAcc->AccessDisable(pAcc->arg); pceAcc = pceAcc->next; } pceAcc = pScrn->CurrentAccess->pMemAccess; @@ -722,8 +692,8 @@ xf86EnableAccess(ScrnInfoPtr pScrn) && tmp !=pceAcc) { while (pceAcc) { pAcc = pceAcc->pAccess; - if (pAcc && pAcc->AccessDisable) - (*pAcc->AccessDisable)(pAcc->arg); + if (pAcc) + pAcc->AccessDisable(pAcc->arg); pceAcc = pceAcc->next; } } @@ -734,8 +704,8 @@ xf86EnableAccess(ScrnInfoPtr pScrn) } while (pceAcc) { /* current Mem != pAccess */ pAcc = pceAcc->pAccess; - if (pAcc && pAcc->AccessDisable) - (*pAcc->AccessDisable)(pAcc->arg); + if (pAcc) + pAcc->AccessDisable(pAcc->arg); pceAcc = pceAcc->next; } } @@ -743,8 +713,8 @@ xf86EnableAccess(ScrnInfoPtr pScrn) ((BusAccPtr)pScrn->busAccess)->set_f(pScrn->busAccess); while (peAcc) { pAcc = peAcc->pAccess; - if (pAcc && pAcc->AccessEnable) - (*pAcc->AccessEnable)(pAcc->arg); + if (pAcc) + pAcc->AccessEnable(pAcc->arg); peAcc = peAcc->next; } pScrn->CurrentAccess->pMemAccess = @@ -760,16 +730,16 @@ xf86EnableAccess(ScrnInfoPtr pScrn) pScrn->CurrentAccess->pIoAccess = NULL; while (pceAcc) { pAcc = pceAcc->pAccess; - if ( pAcc && pAcc->AccessDisable) - (*pAcc->AccessDisable)(pAcc->arg); + if (pAcc) + pAcc->AccessDisable(pAcc->arg); pceAcc = pceAcc->next; } if (pScrn->busAccess) ((BusAccPtr)pScrn->busAccess)->set_f(pScrn->busAccess); while (peAcc) { pAcc = peAcc->pAccess; - if (pAcc && pAcc->AccessEnable) - (*pAcc->AccessEnable)(pAcc->arg); + if (pAcc) + pAcc->AccessEnable(pAcc->arg); peAcc = peAcc->next; } pScrn->CurrentAccess->pMemAccess = (EntityAccessPtr) pScrn->access; @@ -808,13 +778,11 @@ xf86SetCurrentAccess(Bool Enable, ScrnInfoPtr pScrn) while (pceAcc) { pAcc = pceAcc->pAccess; - if ( pAcc) { - if (!Enable) { - if (pAcc->AccessDisable) - (*pAcc->AccessDisable)(pAcc->arg); + if (pAcc) { + if (Enable) { + pAcc->AccessEnable(pAcc->arg); } else { - if (pAcc->AccessEnable) - (*pAcc->AccessEnable)(pAcc->arg); + pAcc->AccessDisable(pAcc->arg); } } pceAcc = pceAcc->next; @@ -836,11 +804,6 @@ xf86SetAccessFuncs(EntityInfoPtr pEnt, xf86SetAccessFuncPtr funcs, rac = xf86Entities[pEnt->index]->rac; - if (funcs->mem == funcs->io_mem && funcs->mem && funcs->io) - xf86Entities[pEnt->index]->entityProp |= NO_SEPARATE_MEM_FROM_IO; - if (funcs->io == funcs->io_mem && funcs->mem && funcs->io) - xf86Entities[pEnt->index]->entityProp |= NO_SEPARATE_IO_FROM_MEM; - rac->mem_new = funcs->mem; rac->io_new = funcs->io; rac->io_mem_new = funcs->io_mem; @@ -1011,10 +974,6 @@ needCheck(resPtr pRes, unsigned long type, int entityIndex, xf86State state) BusType loc = BUS_NONE; BusType r_loc = BUS_NONE; - /* Ignore overlapped ranges that have been nullified */ - if ((pRes->res_type & ResOverlap) && (pRes->block_begin > pRes->block_end)) - return FALSE; - if ((pRes->res_type & ResTypeMask) != (type & ResTypeMask)) return FALSE; @@ -1025,10 +984,6 @@ needCheck(resPtr pRes, unsigned long type, int entityIndex, xf86State state) if (pRes->res_type & type & ResBios) return FALSE; - /*If requested, skip over estimated resources */ - if (pRes->res_type & type & ResEstimated) - return FALSE; - if (type & pRes->res_type & ResUnused) return FALSE; @@ -1050,33 +1005,10 @@ needCheck(resPtr pRes, unsigned long type, int entityIndex, xf86State state) if (pRes->entityIndex > -1) r_loc = xf86Entities[pRes->entityIndex]->busType; - switch (type & ResAccMask) { - case ResExclusive: - switch (pRes->res_type & ResAccMask) { - case ResExclusive: - break; - case ResShared: - /* ISA buses are only locally exclusive on a PCI system */ - if (loc == BUS_ISA && r_loc == BUS_PCI) - return FALSE; - break; - } - break; - case ResShared: - switch (pRes->res_type & ResAccMask) { - case ResExclusive: - /* ISA buses are only locally exclusive on a PCI system */ - if (loc == BUS_PCI && r_loc == BUS_ISA) - return FALSE; - break; - case ResShared: - return FALSE; - } - break; - case ResAny: - break; - } - + if ((type & ResAccMask) == ResShared && + (pRes->res_type & ResAccMask) == ResShared) + return FALSE; + if (pRes->entityIndex == entityIndex) return FALSE; if (pRes->entityIndex > -1 && @@ -1106,7 +1038,7 @@ checkConflict(resRange *rgp, resPtr pRes, int entityIndex, case ResBlock: if (rgp->rEnd < rgp->rBegin) { xf86Msg(X_ERROR,"end of block range 0x%lx < begin 0x%lx\n", - rgp->rEnd,rgp->rBegin); + (long)rgp->rEnd, (long)rgp->rBegin); return 0; } if ((ret = checkConflictBlock(rgp, pRes))) { @@ -1119,7 +1051,7 @@ checkConflict(resRange *rgp, resPtr pRes, int entityIndex, if ((rgp->rBase & rgp->rMask) != rgp->rBase) { xf86Msg(X_ERROR,"sparse io range (base: 0x%lx mask: 0x%lx)" "doesn't satisfy (base & mask = mask)\n", - rgp->rBase, rgp->rMask); + (long)rgp->rBase, (long)rgp->rMask); return 0; } if ((ret = checkConflictSparse(rgp, pRes))) { @@ -1134,31 +1066,22 @@ checkConflict(resRange *rgp, resPtr pRes, int entityIndex, return 0; } -/* - * ChkConflict() -- used within xxxBus ; find conflict with any location. - */ -memType -ChkConflict(resRange *rgp, resPtr res, xf86State state) -{ - return checkConflict(rgp, res, -2, state,FALSE); -} - /* * xf86ChkConflict() - This function is the low level interface to * the resource broker that gets exported. Tests all resources ie. * performs test with SETUP flag. */ -_X_EXPORT memType +static memType xf86ChkConflict(resRange *rgp, int entityIndex) { - return checkConflict(rgp, Acc, entityIndex, SETUP,FALSE); + return checkConflict(rgp, Acc, entityIndex, SETUP, FALSE); } /* * Resources List handling */ -_X_EXPORT resPtr +static resPtr xf86JoinResLists(resPtr rlist1, resPtr rlist2) { resPtr pRes; @@ -1175,7 +1098,7 @@ xf86JoinResLists(resPtr rlist1, resPtr rlist2) return rlist1; } -_X_EXPORT resPtr +resPtr xf86AddResToList(resPtr rlist, resRange *range, int entityIndex) { resPtr new; @@ -1184,7 +1107,7 @@ xf86AddResToList(resPtr rlist, resRange *range, int entityIndex) case ResBlock: if (range->rEnd < range->rBegin) { xf86Msg(X_ERROR,"end of block range 0x%lx < begin 0x%lx\n", - range->rEnd,range->rBegin); + (long)range->rEnd, (long)range->rBegin); return rlist; } break; @@ -1192,7 +1115,7 @@ xf86AddResToList(resPtr rlist, resRange *range, int entityIndex) if ((range->rBase & range->rMask) != range->rBase) { xf86Msg(X_ERROR,"sparse io range (base: 0x%lx mask: 0x%lx)" "doesn't satisfy (base & mask = mask)\n", - range->rBase, range->rMask); + (long)range->rBase, (long)range->rMask); return rlist; } break; @@ -1225,7 +1148,7 @@ xf86FreeResList(resPtr rlist) xfree(rlist); } -_X_EXPORT resPtr +static resPtr xf86DupResList(const resPtr rlist) { resPtr pRes, ret, prev, new; @@ -1245,7 +1168,7 @@ xf86DupResList(const resPtr rlist) return ret; } -_X_EXPORT void +static void xf86PrintResList(int verb, resPtr list) { int i = 0; @@ -1267,14 +1190,17 @@ xf86PrintResList(int verb, resPtr list) "\t[%d] %d\t%ld\t0x%08lx - 0x%08lx (0x%lx)", i, list->entityIndex, (list->res_type & ResDomain) >> 24, - list->block_begin, list->block_end, - list->block_end - list->block_begin + 1); + (long)list->block_begin, + (long)list->block_end, + (long)(list->block_end - + list->block_begin + 1)); break; case ResSparse: xf86ErrorFVerb(verb, "\t[%d] %d\t%ld\t0x%08lx - 0x%08lx ", i, list->entityIndex, (list->res_type & ResDomain) >> 24, - list->sparse_base,list->sparse_mask); + (long)list->sparse_base, + (long)list->sparse_mask); break; default: list = list->next; @@ -1309,10 +1235,6 @@ xf86PrintResList(int verb, resPtr list) s = "[?]"; } xf86ErrorFVerb(verb, "%s", s); - if (list->res_type & ResEstimated) - xf86ErrorFVerb(verb, "E"); - if (list->res_type & ResOverlap) - xf86ErrorFVerb(verb, "O"); if (list->res_type & ResInit) xf86ErrorFVerb(verb, "t"); if (list->res_type & ResBios) @@ -1366,187 +1288,10 @@ xf86ResourceBrokerInit(void) xf86PrintResList(3, Acc); } -#define MEM_ALIGN (1024 * 1024) - -/* - * RemoveOverlaps() -- remove overlaps between resources of the - * same kind. - * Beware: This function doesn't check for access attributes. - * At resource broker initialization this is no problem as this - * only deals with exclusive resources. - */ -#if 0 -void -RemoveOverlaps(resPtr target, resPtr list, Bool pow2Alignment, Bool useEstimated) -{ - resPtr pRes; - memType size, newsize, adjust; - - if (!target) - return; - - for (pRes = list; pRes; pRes = pRes->next) { - if (pRes != target - && ((pRes->res_type & ResTypeMask) == - (target->res_type & ResTypeMask)) - && pRes->block_begin <= target->block_end - && pRes->block_end >= target->block_begin) { - /* Possibly ignore estimated resources */ - if (!useEstimated && (pRes->res_type & ResEstimated)) continue; - /* - * Target should be a larger region than pRes. If pRes fully - * contains target, don't do anything unless target can overlap. - */ - if (pRes->block_begin <= target->block_begin && - pRes->block_end >= target->block_end) { - if (target->res_type & ResOverlap) { - /* Nullify range but keep its ResOverlap bit on */ - target->block_end = target->block_begin - 1; - return; - } - continue; - } - /* - * In cases where the target and pRes have the same starting - * address, reduce the size of the target (given it's an estimate). - */ - if (pRes->block_begin == target->block_begin) { - if (target->res_type & ResOverlap) - target->block_end = target->block_begin - 1; - else - target->block_end = pRes->block_end; - } - /* Otherwise, trim target to remove the overlap */ - else if (pRes->block_begin <= target->block_end) { - target->block_end = pRes->block_begin - 1; - } else if (!pow2Alignment && - pRes->block_end >= target->block_begin) { - target->block_begin = pRes->block_end + 1; - } - if (pow2Alignment) { - /* - * Align to a power of two. This requires finding the - * largest power of two that is smaller than the adjusted - * size. - */ - size = target->block_end - target->block_begin + 1; - newsize = 1UL << (sizeof(memType) * 8 - 1); - while (!(newsize & size)) - newsize >>= 1; - target->block_end = target->block_begin + newsize - 1; - } else if (target->block_end > MEM_ALIGN) { - /* Align the end to MEM_ALIGN */ - if ((adjust = (target->block_end + 1) % MEM_ALIGN)) - target->block_end -= adjust; - } - } - } -} -#else - -void -RemoveOverlaps(resPtr target, resPtr list, Bool pow2Alignment, Bool useEstimated) -{ - resPtr pRes; - memType size, newsize, adjust; - - if (!target) - return; - - if (!(target->res_type & ResEstimated) /* Don't touch sure resources */ - && !(target->res_type & ResOverlap)) /* Unless they may overlap */ - return; - - for (pRes = list; pRes; pRes = pRes->next) { - if (pRes == target - || ((pRes->res_type & ResTypeMask) != - (target->res_type & ResTypeMask)) - || pRes->block_begin > target->block_end - || pRes->block_end < target->block_begin) - continue; - - if (pRes->block_begin <= target->block_begin) { - /* Possibly ignore estimated resources */ - if (!useEstimated && (pRes->res_type & ResEstimated)) - continue; - - /* Special cases */ - if (pRes->block_end >= target->block_end) { - /* - * If pRes fully contains target, don't do anything - * unless target can overlap. - */ - if (target->res_type & ResOverlap) { - /* Nullify range but keep its ResOverlap bit on */ - target->block_end = target->block_begin - 1; - return; - } else - continue; - } else { -#if 0 /* Don't trim start address - we trust what we got */ - /* - * If !pow2Alignment trim start address: !pow2Alingment - * is only set when estimated OS addresses are handled. - * In cases where the target and pRes have the same - * starting address, reduce the size of the target - * (given it's an estimate). - */ - if (!pow2Alignment) - target->block_begin = pRes->block_end + 1; - else -#endif - if (pRes->block_begin == target->block_begin) - target->block_end = pRes->block_end; - else - continue; - } - } else { - /* Trim target to remove the overlap */ - target->block_end = pRes->block_begin - 1; - } - if (pow2Alignment) { - /* - * Align to a power of two. This requires finding the - * largest power of two that is smaller than the adjusted - * size. - */ - size = target->block_end - target->block_begin + 1; - newsize = 1UL << (sizeof(memType) * 8 - 1); - while (!(newsize & size)) - newsize >>= 1; - target->block_end = target->block_begin + newsize - 1; - } else if (target->block_end > MEM_ALIGN) { - /* Align the end to MEM_ALIGN */ - if ((adjust = (target->block_end + 1) % MEM_ALIGN)) - target->block_end -= adjust; - } - } -} - -#endif - /* - * Resource registrarion + * Resource registration */ -static resList -xf86GetResourcesImplicitly(int entityIndex) -{ - if (entityIndex >= xf86NumEntities) return NULL; - - switch (xf86Entities[entityIndex]->bus.type) { - case BUS_ISA: - case BUS_NONE: - case BUS_SBUS: - return NULL; - case BUS_PCI: - return NULL; - case BUS_last: - return NULL; - } - return NULL; -} - static void convertRange2Host(int entityIndex, resRange *pRange) { @@ -1555,9 +1300,6 @@ convertRange2Host(int entityIndex, resRange *pRange) case BUS_PCI: pciConvertRange2Host(entityIndex,pRange); break; - case BUS_ISA: - isaConvertRange2Host(pRange); - break; default: break; } @@ -1577,24 +1319,19 @@ xf86ConvertListToHost(int entityIndex, resPtr list) /* * xf86RegisterResources() -- attempts to register listed resources. - * If list is NULL it tries to obtain resources implicitly. Function - * returns a resPtr listing all resources not successfully registered. + * Returns a resPtr listing all resources not successfully registered, by + * which we mean, NULL. */ _X_EXPORT resPtr xf86RegisterResources(int entityIndex, resList list, unsigned long access) { - resPtr res = NULL; resRange range; resList list_f = NULL; - if (!list) { - list = xf86GetResourcesImplicitly(entityIndex); - /* these resources have to be in host address space already */ - if (!list) return NULL; - list_f = list; - } - + if (!list) + return NULL; + while(list->type != ResEnd) { range = *list; @@ -1604,15 +1341,7 @@ xf86RegisterResources(int entityIndex, resList list, unsigned long access) range.type = (range.type & ~ResAccMask) | (access & ResAccMask); } range.type &= ~ResEstimated; /* Not allowed for drivers */ -#if !((defined(__alpha__) || (defined(__ia64__))) && defined(linux)) - /* On Alpha Linux, do not check for conflicts, trust the kernel. */ - if (checkConflict(&range, Acc, entityIndex, SETUP,TRUE)) - res = xf86AddResToList(res,&range,entityIndex); - else -#endif - { - Acc = xf86AddResToList(Acc,&range,entityIndex); - } + Acc = xf86AddResToList(Acc,&range,entityIndex); list++; } if (list_f) @@ -1621,12 +1350,8 @@ xf86RegisterResources(int entityIndex, resList list, unsigned long access) #ifdef DEBUG xf86MsgVerb(X_INFO, 3,"Resources after driver initialization\n"); xf86PrintResList(3, Acc); - if (res) xf86MsgVerb(X_INFO, 3, - "Failed Resources after driver initialization " - "for Entity: %i\n",entityIndex); - xf86PrintResList(3, res); #endif - return res; + return NULL; } @@ -1635,7 +1360,6 @@ busTypeSpecific(EntityPtr pEnt, xf86AccessPtr *acc_mem, xf86AccessPtr *acc_io, xf86AccessPtr *acc_mem_io) { switch (pEnt->bus.type) { - case BUS_ISA: case BUS_SBUS: *acc_mem = *acc_io = *acc_mem_io = &AccessNULL; break; @@ -1733,7 +1457,7 @@ setAccess(EntityPtr pEnt, xf86State state) if (pEnt->rac->old) { /* give it to the driver, leave state disabled */ pEnt->rac->old->io = org_io; - } else if (org_io->AccessEnable) { + } else { /* driver doesn't want it - enable generic access */ org_io->AccessEnable(org_io->arg); } @@ -1744,7 +1468,7 @@ setAccess(EntityPtr pEnt, xf86State state) if (pEnt->rac->old) { /* give it to the driver, leave state disabled */ pEnt->rac->old->io_mem = org_mem_io; - } else if (org_mem_io->AccessEnable) { + } else { /* driver doesn't want it - enable generic access */ org_mem_io->AccessEnable(org_mem_io->arg); } @@ -1755,7 +1479,7 @@ setAccess(EntityPtr pEnt, xf86State state) if (pEnt->rac->old) { /* give it to the driver, leave state disabled */ pEnt->rac->old->mem = org_mem; - } else if (org_mem->AccessEnable) { + } else { /* driver doesn't want it - enable generic access */ org_mem->AccessEnable(org_mem->arg); } @@ -1763,27 +1487,26 @@ setAccess(EntityPtr pEnt, xf86State state) if (!(prop & NEED_MEM_SHARED)){ if (prop & NEED_MEM) { - if (acc_mem && acc_mem->AccessEnable) + if (acc_mem) acc_mem->AccessEnable(acc_mem->arg); } else { - if (acc_mem && acc_mem->AccessDisable) + if (acc_mem) acc_mem->AccessDisable(acc_mem->arg); } } if (!(prop & NEED_IO_SHARED)) { if (prop & NEED_IO) { - if (acc_io && acc_io->AccessEnable) - acc_io->AccessEnable(acc_io->arg); + if (acc_io) + acc_io->AccessEnable(acc_io->arg); } else { - if (acc_io && acc_io->AccessDisable) + if (acc_io) acc_io->AccessDisable(acc_io->arg); } } /* disable shared resources */ - if (pEnt->access->pAccess - && pEnt->access->pAccess->AccessDisable) + if (pEnt->access->pAccess) pEnt->access->pAccess->AccessDisable(pEnt->access->pAccess->arg); /* @@ -1820,7 +1543,7 @@ SetSIGIOForState(xf86State state) } } -_X_EXPORT void +void xf86EnterServerState(xf86State state) { EntityPtr pEnt; @@ -1962,44 +1685,6 @@ xf86SetOperatingState(resList list, int entityIndex, int mask) /* * Stage specific code */ - /* - * ProcessEstimatedConflicts() -- Do something about driver-registered - * resources that conflict with estimated resources. For now, just register - * them with a logged warning. - */ -#ifdef REDUCER -static void -ProcessEstimatedConflicts(void) -{ - if (!AccReducers) - return; - - /* Temporary */ - xf86MsgVerb(X_WARNING, 3, - "Registering the following despite conflicts with estimated" - " resources:\n"); - xf86PrintResList(3, AccReducers); - Acc = xf86JoinResLists(Acc, AccReducers); - AccReducers = NULL; -} -#endif - -/* - * xf86ClaimFixedResources() -- This function gets called from the - * driver Probe() function to claim fixed resources. - */ -static void -resError(resList list) -{ - FatalError("A driver tried to allocate the %s %sresource at \n" - "0x%lx:0x%lx which conflicted with another resource. Send the\n" - "output of the server to %s. Please \n" - "specify your computer hardware as closely as possible.\n", - ResIsBlock(list)?"Block":"Sparse", - ResIsMem(list)?"Mem":"Io", - ResIsBlock(list)?list->rBegin:list->rBase, - ResIsBlock(list)?list->rEnd:list->rMask,BUILDERADDR); -} /* * xf86ClaimFixedResources() is used to allocate non-relocatable resources. @@ -2023,20 +1708,7 @@ xf86ClaimFixedResources(resList list, int entityIndex) case ResExclusive: if (!xf86ChkConflict(&range, entityIndex)) { Acc = xf86AddResToList(Acc, &range, entityIndex); -#ifdef REDUCER - } else { - range.type |= ResEstimated; - if (!xf86ChkConflict(&range, entityIndex) && - !checkConflict(&range, AccReducers, entityIndex, - SETUP, FALSE)) { - range.type &= ~(ResEstimated | ResBios); - AccReducers = - xf86AddResToList(AccReducers, &range, entityIndex); -#endif - } else resError(&range); /* no return */ -#ifdef REDUCER - } -#endif + } else FatalError("xf86ClaimFixedResources conflict\n"); break; case ResShared: /* at this stage the resources are just added to the @@ -2058,9 +1730,6 @@ xf86ClaimFixedResources(resList list, int entityIndex) xf86MsgVerb(X_INFO, 3, "resource ranges after xf86ClaimFixedResources() call:\n"); xf86PrintResList(3,Acc); -#ifdef REDUCER - ProcessEstimatedConflicts(); -#endif #ifdef DEBUG if (ptr) { xf86MsgVerb(X_INFO, 3, "to be registered later:\n"); @@ -2156,10 +1825,10 @@ xf86PostProbe(void) { memType val; int i,j; - resPtr resp, acc, tmp, resp_x, *pprev_next; + resPtr resp, acc, tmp, resp_x; if (fbSlotClaimed) { - if (pciSlotClaimed || isaSlotClaimed + if (pciSlotClaimed #if (defined(__sparc__) || defined(__sparc)) && !defined(__OpenBSD__) || sbusSlotClaimed #endif @@ -2176,17 +1845,7 @@ xf86PostProbe(void) return; } } - /* don't compare against ResInit - remove it from clone.*/ acc = tmp = xf86DupResList(Acc); - pprev_next = &acc; - while (tmp) { - if (tmp->res_type & ResInit) { - (*pprev_next) = tmp->next; - xfree(tmp); - } else - pprev_next = &(tmp->next); - tmp = (*pprev_next); - } for (i=0; iresources; @@ -2199,32 +1858,17 @@ xf86PostProbe(void) resp_x = resp; resp = resp->next; resp_x->next = tmp; -#ifdef REDUCER - } else { - resp->res_type |= ResEstimated; - if (!checkConflict(&resp->val, acc, i, SETUP, FALSE)) { - resp->res_type &= ~(ResEstimated | ResBios); - tmp = AccReducers; - AccReducers = resp; - resp = resp->next; - AccReducers->next = tmp; -#endif } else { - xf86MsgVerb(X_INFO, 3, "Found conflict at: 0x%lx\n",val); + xf86MsgVerb(X_INFO, 3, "Found conflict at: 0x%lx\n", + (long)val); resp->res_type &= ~ResEstimated; tmp = xf86Entities[i]->resources; xf86Entities[i]->resources = resp; resp = resp->next; xf86Entities[i]->resources->next = tmp; } -#ifdef REDUCER - } -#endif } xf86JoinResLists(Acc,resp_x); -#ifdef REDUCER - ProcessEstimatedConflicts(); -#endif } xf86FreeResList(acc); @@ -2276,13 +1920,6 @@ checkRequiredResources(int entityIndex) pAcc = pAcc->next; } - /* check if we can separately enable mem/io resources */ - /* XXX we still need to find out how to set this yet */ - if ( ((pEnt->entityProp & NO_SEPARATE_MEM_FROM_IO) - && (pEnt->entityProp & NEED_MEM_SHARED)) - || ((pEnt->entityProp & NO_SEPARATE_IO_FROM_MEM) - && (pEnt->entityProp & NEED_IO_SHARED)) ) - pEnt->entityProp |= NEED_SHARED; /* * After we have checked all resources of an entity agains any * other resource we know if the entity need this resource type @@ -2290,13 +1927,11 @@ checkRequiredResources(int entityIndex) * so no need to share it either. */ if ((pEnt->entityProp & NEED_MEM_SHARED) - && (!(pEnt->entityProp & NEED_MEM)) - && (!(pEnt->entityProp & NO_SEPARATE_MEM_FROM_IO))) + && (!(pEnt->entityProp & NEED_MEM))) pEnt->entityProp &= ~(unsigned long)NEED_MEM_SHARED; if ((pEnt->entityProp & NEED_IO_SHARED) - && (!(pEnt->entityProp & NEED_IO)) - && (!(pEnt->entityProp & NO_SEPARATE_IO_FROM_MEM))) + && (!(pEnt->entityProp & NEED_IO))) pEnt->entityProp &= ~(unsigned long)NEED_IO_SHARED; } @@ -2730,9 +2365,6 @@ xf86ExtractTypeFromList(resPtr list, unsigned long type) return ret; } -/*------------------------------------------------------------*/ -static void CheckGenericGA(void); - /* * xf86FindPrimaryDevice() - Find the display device which * was active when the server was started. @@ -2740,9 +2372,6 @@ static void CheckGenericGA(void); void xf86FindPrimaryDevice() { - /* if no VGA device is found check for primary PCI device */ - if (primaryBus.type == BUS_NONE && xorgHWAccess) - CheckGenericGA(); if (primaryBus.type != BUS_NONE) { char *bus; char loc[16]; @@ -2756,10 +2385,6 @@ xf86FindPrimaryDevice() primaryBus.id.pci->dev, primaryBus.id.pci->func); break; - case BUS_ISA: - bus = "ISA"; - loc[0] = '\0'; - break; case BUS_SBUS: bus = "SBUS"; snprintf(loc, sizeof(loc), " %2.2x", primaryBus.id.sbus.fbNum); @@ -2773,40 +2398,7 @@ xf86FindPrimaryDevice() } } -#if !defined(__sparc) && !defined(__sparc__) && !defined(__powerpc__) && !defined(__mips__) && !defined(__arm__) -#include "vgaHW.h" -#include "compiler.h" -#endif - -/* - * CheckGenericGA() - Check for presence of a VGA device. - */ -static void -CheckGenericGA() -{ -/* This needs to be changed for multiple domains */ -#if !defined(__sparc__) && !defined(__sparc) && !defined(__powerpc__) && !defined(__mips__) && !defined(__ia64__) && !defined(__arm__) && !defined(__s390__) - IOADDRESS GenericIOBase = VGAHW_GET_IOBASE(); - CARD8 CurrentValue, TestValue; - - /* VGA CRTC registers are not used here, so don't bother unlocking them */ - - /* VGA has one more read/write attribute register than EGA */ - (void) inb(GenericIOBase + VGA_IN_STAT_1_OFFSET); /* Reset flip-flop */ - outb(VGA_ATTR_INDEX, 0x14 | 0x20); - CurrentValue = inb(VGA_ATTR_DATA_R); - outb(VGA_ATTR_DATA_W, CurrentValue ^ 0x0F); - outb(VGA_ATTR_INDEX, 0x14 | 0x20); - TestValue = inb(VGA_ATTR_DATA_R); - outb(VGA_ATTR_DATA_W, CurrentValue); - - if ((CurrentValue ^ 0x0F) == TestValue) { - primaryBus.type = BUS_ISA; - } -#endif -} - -_X_EXPORT Bool +Bool xf86NoSharedResources(int screenIndex,resType res) { int j; diff --git a/xorg-server/hw/xfree86/common/xf86Bus.h b/xorg-server/hw/xfree86/common/xf86Bus.h index 489ee3459..c2d5bb7d4 100644 --- a/xorg-server/hw/xfree86/common/xf86Bus.h +++ b/xorg-server/hw/xfree86/common/xf86Bus.h @@ -137,11 +137,8 @@ extern BusAccPtr xf86BusAccInfo; int xf86AllocateEntity(void); BusType StringToBusType(const char* busID, const char **retID); -memType ChkConflict(resRange *rgp, resPtr res, xf86State state); Bool xf86IsSubsetOf(resRange range, resPtr list); resPtr xf86ExtractTypeFromList(resPtr list, unsigned long type); resPtr xf86FindIntersect(resRange Range, resPtr list); -void RemoveOverlaps(resPtr target, resPtr list, Bool pow2Alignment, - Bool useEstimated); #endif /* _XF86_BUS_H */ diff --git a/xorg-server/hw/xfree86/common/xf86Config.c b/xorg-server/hw/xfree86/common/xf86Config.c index e91eadd19..93761193e 100644 --- a/xorg-server/hw/xfree86/common/xf86Config.c +++ b/xorg-server/hw/xfree86/common/xf86Config.c @@ -62,10 +62,8 @@ #include "extension.h" #include "Pci.h" -#ifdef XINPUT #include "xf86Xinput.h" extern DeviceAssocRec mouse_assoc; -#endif #ifdef XKB #undef XKB_IN_SERVER @@ -112,13 +110,10 @@ extern DeviceAssocRec mouse_assoc; #define PROJECTROOT "/usr/X11R6" #endif -static char *fontPath = NULL; - static ModuleDefault ModuleDefaults[] = { {.name = "extmod", .toLoad = TRUE, .load_opt=NULL}, {.name = "dbe", .toLoad = TRUE, .load_opt=NULL}, {.name = "glx", .toLoad = TRUE, .load_opt=NULL}, - {.name = "freetype", .toLoad = TRUE, .load_opt=NULL}, #ifdef XRECORD {.name = "record", .toLoad = TRUE, .load_opt=NULL}, #endif @@ -309,7 +304,7 @@ xf86ModulelistFromConfig(pointer **optlist) } } if (found == FALSE) { - XF86ConfModulePtr ptr = xf86configptr->conf_modules; + XF86LoadPtr ptr = (XF86LoadPtr)xf86configptr->conf_modules; ptr = xf86addNewLoadDirective(ptr, ModuleDefaults[i].name, XF86_LOAD_MODULE, ModuleDefaults[i].load_opt); xf86Msg(X_INFO, "\"%s\" will be loaded by default.\n", ModuleDefaults[i].name); } @@ -318,7 +313,7 @@ xf86ModulelistFromConfig(pointer **optlist) xf86configptr->conf_modules = xnfcalloc(1, sizeof(XF86ConfModuleRec)); for (i=0 ; ModuleDefaults[i].name != NULL ; i++) { if (ModuleDefaults[i].toLoad == TRUE) { - XF86ConfModulePtr ptr = xf86configptr->conf_modules; + XF86LoadPtr ptr = (XF86LoadPtr)xf86configptr->conf_modules; ptr = xf86addNewLoadDirective(ptr, ModuleDefaults[i].name, XF86_LOAD_MODULE, ModuleDefaults[i].load_opt); } } @@ -589,89 +584,64 @@ xf86ConfigError(char *msg, ...) static void configFiles(XF86ConfFilesPtr fileconf) { - MessageType pathFrom = X_DEFAULT; - int countDirs; - char *temp_path; - char *log_buf; - - /* FontPath */ - /* Try XF86Config FontPath first */ - if (!xf86fpFlag) { - if (fileconf) { - if (fileconf->file_fontpath) { - char *f = xf86ValidateFontPath(fileconf->file_fontpath); - pathFrom = X_CONFIG; - if (*f) { - if (xf86Info.useDefaultFontPath) { - xf86Msg(X_DEFAULT, "Including the default font path %s.\n", defaultFontPath); - char *g = xnfalloc(strlen(defaultFontPath) + strlen(f) + 3); - strcpy(g, f); - strcat(g, ","); - defaultFontPath = strcat(g, defaultFontPath); - xfree(f); - } else { - defaultFontPath = f; - } - } else { - xf86Msg(X_WARNING, - "FontPath is completely invalid. Using compiled-in default.\n"); - fontPath = NULL; - pathFrom = X_DEFAULT; - } - } - } else { - xf86Msg(X_DEFAULT, - "No FontPath specified. Using compiled-in default.\n"); - pathFrom = X_DEFAULT; - } - } else { - /* Use fontpath specified with '-fp' */ - if (fontPath) - { - fontPath = NULL; + MessageType pathFrom; + Bool must_copy; + int size, countDirs; + char *temp_path, *log_buf, *start, *end; + + /* FontPath */ + must_copy = TRUE; + + temp_path = defaultFontPath ? defaultFontPath : ""; + if (xf86fpFlag) + pathFrom = X_CMDLINE; + else if (fileconf && fileconf->file_fontpath) { + pathFrom = X_CONFIG; + if (xf86Info.useDefaultFontPath) { + defaultFontPath = Xprintf("%s%s%s", + fileconf->file_fontpath, + *temp_path ? "," : "", temp_path); + if (defaultFontPath != NULL) { + must_copy = FALSE; + } + } + else + defaultFontPath = fileconf->file_fontpath; } - pathFrom = X_CMDLINE; - } - if (!fileconf) { - /* xf86ValidateFontPath will write into it's arg, but defaultFontPath - could be static, so we make a copy. */ - char *f = xnfalloc(strlen(defaultFontPath) + 1); - f[0] = '\0'; - strcpy (f, defaultFontPath); - defaultFontPath = xf86ValidateFontPath(f); - xfree(f); - } else { - if (fileconf) { - if (!fileconf->file_fontpath) { - /* xf86ValidateFontPath will write into it's arg, but defaultFontPath - could be static, so we make a copy. */ - char *f = xnfalloc(strlen(defaultFontPath) + 1); - f[0] = '\0'; - strcpy (f, defaultFontPath); - defaultFontPath = xf86ValidateFontPath(f); - xfree(f); - } - } - } - - /* If defaultFontPath is still empty, exit here */ + else + pathFrom = X_DEFAULT; + temp_path = defaultFontPath ? defaultFontPath : ""; + + /* ensure defaultFontPath contains "built-ins" */ + start = strstr(temp_path, "built-ins"); + end = start + strlen("built-ins"); + if (start == NULL || + !((start == temp_path || start[-1] == ',') && (!*end || *end == ','))) { + defaultFontPath = Xprintf("%s%sbuilt-ins", + temp_path, *temp_path ? "," : ""); + if (must_copy == TRUE) { + if (defaultFontPath != NULL) { + must_copy = FALSE; + } + } else { + /* already made a copy of the font path */ + xfree(temp_path); + } + } + /* xf86ValidateFontPath modifies its argument, but returns a copy of it. */ + temp_path = must_copy ? XNFstrdup(defaultFontPath) : defaultFontPath; + defaultFontPath = xf86ValidateFontPath(temp_path); + free(temp_path); - if (! *defaultFontPath) - FatalError("No valid FontPath could be found."); + /* make fontpath more readable in the logfiles */ + countDirs = 1; + temp_path = defaultFontPath; + while ((temp_path = index(temp_path, ',')) != NULL) { + countDirs++; + temp_path++; + } - /* make fontpath more readable in the logfiles */ - countDirs = 1; - temp_path = defaultFontPath; - while((temp_path = index(temp_path, ',')) != NULL) { - countDirs++; - temp_path++; - } - log_buf = xnfalloc(strlen(defaultFontPath) + (2 * countDirs) + 1); - if(!log_buf) /* fallback to old method */ - xf86Msg(pathFrom, "FontPath set to \"%s\"\n", defaultFontPath); - else { - char *start, *end; - int size; + log_buf = xnfalloc(strlen(defaultFontPath) + (2 * countDirs) + 1); temp_path = log_buf; start = defaultFontPath; while((end = index(start, ',')) != NULL) { @@ -687,7 +657,6 @@ configFiles(XF86ConfFilesPtr fileconf) strcpy(temp_path, start); xf86Msg(pathFrom, "FontPath set to:\n%s\n", log_buf); xfree(log_buf); - } if (fileconf && fileconf->file_inputdevs) { @@ -708,6 +677,11 @@ configFiles(XF86ConfFilesPtr fileconf) xf86Msg(xf86ModPathFrom, "ModulePath set to \"%s\"\n", xf86ModulePath); + if (!xf86xkbdirFlag && fileconf && fileconf->file_xkbdir) { + XkbBaseDirectory = fileconf->file_xkbdir; + xf86Msg(X_CONFIG, "XKB base directory set to \"%s\"\n", + XkbBaseDirectory); + } #if 0 /* LogFile */ /* @@ -740,23 +714,14 @@ typedef enum { FLAG_ALLOWMOUSEOPENFAIL, FLAG_VTSYSREQ, FLAG_XKBDISABLE, - FLAG_PCIPROBE1, - FLAG_PCIPROBE2, - FLAG_PCIFORCECONFIG1, - FLAG_PCIFORCECONFIG2, - FLAG_PCIFORCENONE, - FLAG_PCIOSCONFIG, FLAG_SAVER_BLANKTIME, FLAG_DPMS_STANDBYTIME, FLAG_DPMS_SUSPENDTIME, FLAG_DPMS_OFFTIME, FLAG_PIXMAP, FLAG_PC98, - FLAG_ESTIMATE_SIZES_AGGRESSIVELY, FLAG_NOPM, FLAG_XINERAMA, - FLAG_ALLOW_DEACTIVATE_GRABS, - FLAG_ALLOW_CLOSEDOWN_GRABS, FLAG_LOG, FLAG_RENDER_COLORMAP_MODE, FLAG_HANDLE_SPECIAL_KEYS, @@ -794,18 +759,6 @@ static OptionInfoRec FlagOptions[] = { {0}, FALSE }, { FLAG_XKBDISABLE, "XkbDisable", OPTV_BOOLEAN, {0}, FALSE }, - { FLAG_PCIPROBE1, "PciProbe1" , OPTV_BOOLEAN, - {0}, FALSE }, - { FLAG_PCIPROBE2, "PciProbe2", OPTV_BOOLEAN, - {0}, FALSE }, - { FLAG_PCIFORCECONFIG1, "PciForceConfig1", OPTV_BOOLEAN, - {0}, FALSE }, - { FLAG_PCIFORCECONFIG2, "PciForceConfig2", OPTV_BOOLEAN, - {0}, FALSE }, - { FLAG_PCIFORCENONE, "PciForceNone", OPTV_BOOLEAN, - {0}, FALSE }, - { FLAG_PCIOSCONFIG, "PciOsConfig", OPTV_BOOLEAN, - {0}, FALSE }, { FLAG_SAVER_BLANKTIME, "BlankTime" , OPTV_INTEGER, {0}, FALSE }, { FLAG_DPMS_STANDBYTIME, "StandbyTime", OPTV_INTEGER, @@ -818,16 +771,10 @@ static OptionInfoRec FlagOptions[] = { {0}, FALSE }, { FLAG_PC98, "PC98", OPTV_BOOLEAN, {0}, FALSE }, - { FLAG_ESTIMATE_SIZES_AGGRESSIVELY,"EstimateSizesAggressively",OPTV_INTEGER, - {0}, FALSE }, { FLAG_NOPM, "NoPM", OPTV_BOOLEAN, {0}, FALSE }, { FLAG_XINERAMA, "Xinerama", OPTV_BOOLEAN, {0}, FALSE }, - { FLAG_ALLOW_DEACTIVATE_GRABS,"AllowDeactivateGrabs", OPTV_BOOLEAN, - {0}, FALSE }, - { FLAG_ALLOW_CLOSEDOWN_GRABS, "AllowClosedownGrabs", OPTV_BOOLEAN, - {0}, FALSE }, { FLAG_LOG, "Log", OPTV_STRING, {0}, FALSE }, { FLAG_RENDER_COLORMAP_MODE, "RenderColormapMode", OPTV_STRING, @@ -884,6 +831,9 @@ configServerFlags(XF86ConfFlagsPtr flagsconf, XF86OptionPtr layoutopts) Bool value; MessageType from; const char *s; +#ifdef XKB + char *rules = "base"; +#endif /* * Merge the ServerLayout and ServerFlags options. The former have @@ -907,10 +857,6 @@ configServerFlags(XF86ConfFlagsPtr flagsconf, XF86OptionPtr layoutopts) xf86GetOptValBool(FlagOptions, FLAG_DONTZAP, &xf86Info.dontZap); xf86GetOptValBool(FlagOptions, FLAG_DONTZOOM, &xf86Info.dontZoom); - xf86GetOptValBool(FlagOptions, FLAG_ALLOW_DEACTIVATE_GRABS, - &(xf86Info.grabInfo.allowDeactivate)); - xf86GetOptValBool(FlagOptions, FLAG_ALLOW_CLOSEDOWN_GRABS, - &(xf86Info.grabInfo.allowClosedown)); xf86GetOptValBool(FlagOptions, FLAG_IGNORE_ABI, &xf86Info.ignoreABI); if (xf86Info.ignoreABI) { xf86Msg(X_CONFIG, "Ignoring ABI Version\n"); @@ -922,7 +868,6 @@ configServerFlags(XF86ConfFlagsPtr flagsconf, XF86OptionPtr layoutopts) from = X_CONFIG; } else { - xf86Info.autoAddDevices = TRUE; from = X_DEFAULT; } xf86Msg(from, "%sutomatically adding devices\n", @@ -934,7 +879,6 @@ configServerFlags(XF86ConfFlagsPtr flagsconf, XF86OptionPtr layoutopts) from = X_CONFIG; } else { - xf86Info.autoEnableDevices = TRUE; from = X_DEFAULT; } xf86Msg(from, "%sutomatically enabling devices\n", @@ -952,13 +896,6 @@ configServerFlags(XF86ConfFlagsPtr flagsconf, XF86OptionPtr layoutopts) xf86Info.vidModeAllowNonLocal = value; #endif -#ifdef XF86MISC - if (xf86GetOptValBool(FlagOptions, FLAG_DISABLEMODINDEV, &value)) - xf86Info.miscModInDevEnabled = !value; - if (xf86GetOptValBool(FlagOptions, FLAG_MODINDEVALLOWNONLOCAL, &value)) - xf86Info.miscModInDevAllowNonLocal = value; -#endif - if (xf86GetOptValBool(FlagOptions, FLAG_ALLOWMOUSEOPENFAIL, &value)) xf86Info.allowMouseOpenFail = value; @@ -982,19 +919,6 @@ configServerFlags(XF86ConfFlagsPtr flagsconf, XF86OptionPtr layoutopts) #endif } - if (xf86IsOptionSet(FlagOptions, FLAG_PCIPROBE1)) - xf86Info.pciFlags = PCIProbe1; - if (xf86IsOptionSet(FlagOptions, FLAG_PCIPROBE2)) - xf86Info.pciFlags = PCIProbe2; - if (xf86IsOptionSet(FlagOptions, FLAG_PCIFORCECONFIG1)) - xf86Info.pciFlags = PCIForceConfig1; - if (xf86IsOptionSet(FlagOptions, FLAG_PCIFORCECONFIG2)) - xf86Info.pciFlags = PCIForceConfig2; - if (xf86IsOptionSet(FlagOptions, FLAG_PCIOSCONFIG)) - xf86Info.pciFlags = PCIOsConfig; - if (xf86IsOptionSet(FlagOptions, FLAG_PCIFORCENONE)) - xf86Info.pciFlags = PCIForceNone; - xf86Info.pmFlag = TRUE; if (xf86GetOptValBool(FlagOptions, FLAG_NOPM, &value)) xf86Info.pmFlag = !value; @@ -1053,12 +977,6 @@ configServerFlags(XF86ConfFlagsPtr flagsconf, XF86OptionPtr layoutopts) xf86Info.randRFrom = X_CONFIG; } #endif - i = -1; - xf86GetOptValInteger(FlagOptions, FLAG_ESTIMATE_SIZES_AGGRESSIVELY, &i); - if (i >= 0) - xf86Info.estimateSizesAggressively = i; - else - xf86Info.estimateSizesAggressively = 0; xf86Info.aiglx = TRUE; xf86Info.aiglxFrom = X_DEFAULT; @@ -1078,7 +996,7 @@ configServerFlags(XF86ConfFlagsPtr flagsconf, XF86OptionPtr layoutopts) } else if (!xf86NameCmp(s, "all")) { xf86Info.glxVisuals = XF86_GlxVisualsAll; } else { - xf86Msg(X_WARNING,"Unknown HandleSpecialKeys option\n"); + xf86Msg(X_WARNING,"Unknown GlxVisuals option\n"); } } @@ -1092,6 +1010,15 @@ configServerFlags(XF86ConfFlagsPtr flagsconf, XF86OptionPtr layoutopts) xf86Info.allowEmptyInput = (xf86Info.autoAddDevices && xf86Info.autoEnableDevices); xf86GetOptValBool(FlagOptions, FLAG_ALLOW_EMPTY_INPUT, &xf86Info.allowEmptyInput); + /* AEI on? Then we're not using kbd, so use the evdev rules set. */ +#ifdef XKB +#if defined(linux) + if (xf86Info.allowEmptyInput) + rules = "evdev"; +#endif + XkbSetRulesDflts(rules, "pc105", "us", NULL, NULL); +#endif + xf86Info.useDefaultFontPath = TRUE; xf86Info.useDefaultFontPathFrom = X_DEFAULT; if (xf86GetOptValBool(FlagOptions, FLAG_USE_DEFAULT_FONT_PATH, &value)) { @@ -1237,8 +1164,8 @@ checkCoreInputDevices(serverLayoutPtr servlayoutp, Bool implicitLayout) * remove the core attribute from the later ones. */ for (devs = servlayoutp->inputs; devs && *devs; devs++) { - indp = *devs; pointer opt1 = NULL, opt2 = NULL; + indp = *devs; if (indp->commonOptions && xf86CheckBoolOption(indp->commonOptions, "CorePointer", FALSE)) { opt1 = indp->commonOptions; @@ -1552,9 +1479,14 @@ checkCoreInputDevices(serverLayoutPtr servlayoutp, Bool implicitLayout) } if (xf86Info.allowEmptyInput && !(foundPointer && foundKeyboard)) { +#ifdef CONFIG_HAL xf86Msg(X_INFO, "The server relies on HAL to provide the list of " "input devices.\n\tIf no devices become available, " "reconfigure HAL or disable AllowEmptyInput.\n"); +#else + xf86Msg(X_INFO, "HAL is disabled and no input devices were configured.\n" + "\tTry disabling AllowEmptyInput.\n"); +#endif } return TRUE; @@ -1631,10 +1563,14 @@ configLayout(serverLayoutPtr servlayoutp, XF86ConfLayoutPtr conf_layout, count++; adjp = (XF86ConfAdjacencyPtr)adjp->list.next; } + #ifdef DEBUG ErrorF("Found %d screens in the layout section %s", count, conf_layout->lay_identifier); #endif + if (!count) /* alloc enough storage even if no screen is specified */ + count = 1; + slp = xnfcalloc(1, (count + 1) * sizeof(screenLayoutRec)); slp[count].screen = NULL; /* @@ -1689,6 +1625,20 @@ configLayout(serverLayoutPtr servlayoutp, XF86ConfLayoutPtr conf_layout, adjp = (XF86ConfAdjacencyPtr)adjp->list.next; } + /* No screen was specified in the layout. take the first one from the + * config file, or - if it is NULL - configScreen autogenerates one for + * us */ + if (!count) + { + slp[0].screen = xnfcalloc(1, sizeof(confScreenRec)); + if (!configScreen(slp[0].screen, xf86configptr->conf_screen_lst, + 0, X_CONFIG)) { + xfree(slp[0].screen); + xfree(slp); + return FALSE; + } + } + /* XXX Need to tie down the upper left screen. */ /* Fill in the refscreen and top/bottom/left/right values */ @@ -1879,7 +1829,7 @@ configImpliedLayout(serverLayoutPtr servlayoutp, XF86ConfScreenPtr conf_screen) indp = xnfalloc(sizeof(IDevPtr)); *indp = NULL; servlayoutp->inputs = indp; - + return TRUE; } @@ -2064,6 +2014,7 @@ configMonitor(MonPtr monitorp, XF86ConfMonitorPtr conf_monitor) XF86ConfModesLinkPtr modeslnk = conf_monitor->mon_modes_sect_lst; Gamma zeros = {0.0, 0.0, 0.0}; float badgamma = 0.0; + double maxPixClock; xf86Msg(X_CONFIG, "| |-->Monitor \"%s\"\n", conf_monitor->mon_identifier); @@ -2198,8 +2149,11 @@ configMonitor(MonPtr monitorp, XF86ConfMonitorPtr conf_monitor) xf86ProcessOptions(-1, monitorp->options, MonitorOptions); xf86GetOptValBool(MonitorOptions, MON_REDUCEDBLANKING, &monitorp->reducedblanking); - xf86GetOptValFreq(MonitorOptions, MON_MAX_PIX_CLOCK, OPTUNITS_KHZ, - &monitorp->maxPixClock); + if (xf86GetOptValFreq(MonitorOptions, MON_MAX_PIX_CLOCK, OPTUNITS_KHZ, + &maxPixClock) == TRUE) { + monitorp->maxPixClock = (int) maxPixClock; + } + return TRUE; } @@ -2493,13 +2447,14 @@ checkInput(serverLayoutPtr layout, Bool implicit_layout) { while(*dev) { if (strcmp((*dev)->driver, "kbd") == 0 || - strcmp((*dev)->driver, "mouse") == 0) + strcmp((*dev)->driver, "mouse") == 0 || + strcmp((*dev)->driver, "vmmouse") == 0) { IDevPtr *current; if (!warned) { xf86Msg(X_WARNING, "AllowEmptyInput is on, devices using " - "drivers 'kbd' or 'mouse' will be disabled.\n"); + "drivers 'kbd', 'mouse' or 'vmmouse' will be disabled.\n"); warned = TRUE; } @@ -2545,10 +2500,9 @@ xf86HandleConfigFile(Bool autoconfig) xf86MsgVerb(from, 0, "Using config file: \"%s\"\n", filename); xf86ConfigFile = xnfstrdup(filename); } else { - xf86Msg(X_ERROR, "Unable to locate/open config file"); if (xf86ConfigFile) - xf86ErrorFVerb(0, ": \"%s\"", xf86ConfigFile); - xf86ErrorFVerb(0, "\n"); + xf86Msg(X_ERROR, "Unable to locate/open config file: \"%s\"\n", + xf86ConfigFile); return CONFIG_NOFILE; } } @@ -2653,13 +2607,6 @@ xf86HandleConfigFile(Bool autoconfig) xf86Info.vidModeAllowNonLocal = TRUE; #endif -#ifdef XF86MISC - if (xf86MiscModInDevDisabled) - xf86Info.miscModInDevEnabled = FALSE; - if (xf86MiscModInDevAllowNonLocal) - xf86Info.miscModInDevAllowNonLocal = TRUE; -#endif - if (xf86AllowMouseOpenFail) xf86Info.allowMouseOpenFail = TRUE; diff --git a/xorg-server/hw/xfree86/common/xf86Configure.c b/xorg-server/hw/xfree86/common/xf86Configure.c index 536f89700..77326b6d4 100644 --- a/xorg-server/hw/xfree86/common/xf86Configure.c +++ b/xorg-server/hw/xfree86/common/xf86Configure.c @@ -76,12 +76,6 @@ static char *DFLT_MOUSE_PROTO = "OSMouse"; #elif defined(__UNIXWARE__) static char *DFLT_MOUSE_PROTO = "OSMouse"; static char *DFLT_MOUSE_DEV = "/dev/mouse"; -#elif defined(QNX4) -static char *DFLT_MOUSE_PROTO = "OSMouse"; -static char *DFLT_MOUSE_DEV = "/dev/mouse"; -#elif defined(__QNXNTO__) -static char *DFLT_MOUSE_PROTO = "OSMouse"; -static char *DFLT_MOUSE_DEV = "/dev/devi/mouse0"; #elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__) static char *DFLT_MOUSE_DEV = "/dev/sysmouse"; static char *DFLT_MOUSE_PROTO = "auto"; @@ -121,18 +115,6 @@ xf86AddBusDeviceToConfigure(const char *driver, BusType bus, void *busData, int return NULL; isPrimary = xf86IsPrimaryPci(pVideo); break; - case BUS_ISA: - /* - * This needs to be revisited as it doesn't allow for non-PCI - * multihead. - */ - if (!xf86IsPrimaryIsa()) - return NULL; - isPrimary = TRUE; - for (i = 0; i < nDevToConfig; i++) - if (!DevToConfig[i].pVideo) - return NULL; - break; #if (defined(__sparc__) || defined(__sparc)) && !defined(__OpenBSD__) case BUS_SBUS: for (i = 0; i < nDevToConfig; i++) @@ -208,10 +190,6 @@ xf86AddBusDeviceToConfigure(const char *driver, BusType bus, void *busData, int chipset = (pVideo->vendor_id << 16) | pVideo->device_id; } break; - case BUS_ISA: - NewDevice.GDev.identifier = "ISA Adapter"; - NewDevice.GDev.busID = "ISA"; - break; #if (defined(__sparc__) || defined(__sparc)) && !defined(__OpenBSD__) case BUS_SBUS: { char *promPath = NULL; @@ -247,17 +225,6 @@ xf86AddBusDeviceToConfigure(const char *driver, BusType bus, void *busData, int # undef NewDevice } -/* - * Backwards compatibility - */ -_X_EXPORT GDevPtr -xf86AddDeviceToConfigure(const char *driver, struct pci_device * pVideo, - int chipset) -{ - return xf86AddBusDeviceToConfigure(driver, pVideo ? BUS_PCI : BUS_ISA, - pVideo, chipset); -} - static XF86ConfInputPtr configureInputSection (void) { @@ -293,8 +260,7 @@ configureInputSection (void) #endif } - mouse = xf86confmalloc(sizeof(XF86ConfInputRec)); - memset((XF86ConfInputPtr)mouse,0,sizeof(XF86ConfInputRec)); + mouse = xf86confcalloc(1, sizeof(XF86ConfInputRec)); mouse->inp_identifier = "Mouse0"; mouse->inp_driver = "mouse"; mouse->inp_option_lst = @@ -330,8 +296,7 @@ configureScreenSection (int screennum) { XF86ConfDisplayPtr display; - display = xf86confmalloc(sizeof(XF86ConfDisplayRec)); - memset((XF86ConfDisplayPtr)display,0,sizeof(XF86ConfDisplayRec)); + display = xf86confcalloc(1, sizeof(XF86ConfDisplayRec)); display->disp_depth = depths[i]; display->disp_black.red = display->disp_white.red = -1; display->disp_black.green = display->disp_white.green = -1; @@ -532,8 +497,7 @@ configureModuleSection (void) for (el = elist; *el; el++) { XF86LoadPtr module; - module = xf86confmalloc(sizeof(XF86LoadRec)); - memset((XF86LoadPtr)module,0,sizeof(XF86LoadRec)); + module = xf86confcalloc(1, sizeof(XF86LoadRec)); module->load_name = *el; ptr->mod_load_lst = (XF86LoadPtr)xf86addListItem( (glp)ptr->mod_load_lst, (glp)module); @@ -547,8 +511,7 @@ configureModuleSection (void) for (el = elist; *el; el++) { XF86LoadPtr module; - module = xf86confmalloc(sizeof(XF86LoadRec)); - memset((XF86LoadPtr)module,0,sizeof(XF86LoadRec)); + module = xf86confcalloc(1, sizeof(XF86LoadRec)); module->load_name = *el; /* Add only those font backends which are referenced by fontpath */ @@ -672,12 +635,17 @@ configureDDCMonitorSection (int screennum) return ptr; } +#if !defined(PATH_MAX) +# define PATH_MAX 1024 +#endif + void -DoConfigure() +DoConfigure(void) { int i,j, screennum = -1; char *home = NULL; - char *filename = NULL; + char filename[PATH_MAX]; + char *addslash = ""; XF86ConfigPtr xf86config = NULL; char **vlist, **vl; int *dev2screen; @@ -722,11 +690,7 @@ DoConfigure() xf86FindPrimaryDevice(); /* Create XF86Config file structure */ - xf86config = malloc(sizeof(XF86ConfigRec)); - memset ((XF86ConfigPtr)xf86config, 0, sizeof(XF86ConfigRec)); - xf86config->conf_device_lst = NULL; - xf86config->conf_screen_lst = NULL; - xf86config->conf_monitor_lst = NULL; + xf86config = calloc(1, sizeof(XF86ConfigRec)); /* Call all of the probe functions, reporting the results. */ for (CurrentDriver = 0; CurrentDriver < xf86NumDrivers; CurrentDriver++) { @@ -779,33 +743,26 @@ DoConfigure() xf86config->conf_input_lst = configureInputSection(); xf86config->conf_layout_lst = configureLayoutSection(); - if (!(home = getenv("HOME"))) + home = getenv("HOME"); + if ((home == NULL) || (home[0] == '\0')) { home = "/"; - { -#if !defined(PATH_MAX) -#define PATH_MAX 1024 -#endif - const char* configfile = XF86CONFIGFILE".new"; - char homebuf[PATH_MAX]; - /* getenv might return R/O memory, as with OS/2 */ - strncpy(homebuf,home,PATH_MAX-1); - homebuf[PATH_MAX-1] = '\0'; - home = homebuf; - if (!(filename = - (char *)xalloc(strlen(home) + - strlen(configfile) + 3))) - - if (home[0] == '/' && home[1] == '\0') - home[0] = '\0'; -#ifndef QNX4 - sprintf(filename, "%s/%s", home,configfile); -#else - sprintf(filename, "//%d%s/%s", getnid(),home,configfile); -#endif - + } else { + /* Determine if trailing slash is present or needed */ + int l = strlen(home); + + if (home[l-1] != '/') { + addslash = "/"; + } } - xf86writeConfigFile(filename, xf86config); + snprintf(filename, sizeof(filename), "%s%s" XF86CONFIGFILE ".new", + home, addslash); + + if (xf86writeConfigFile(filename, xf86config) == 0) { + xf86Msg(X_ERROR, "Unable to write config file: \"%s\": %s\n", + filename, strerror(errno)); + goto bail; + } xf86DoConfigurePass1 = FALSE; /* Try to get DDC information filled in */ @@ -901,7 +858,11 @@ DoConfigure() (glp)xf86config->conf_screen_lst, (glp)ScreenPtr); } - xf86writeConfigFile(filename, xf86config); + if (xf86writeConfigFile(filename, xf86config) == 0) { + xf86Msg(X_ERROR, "Unable to write config file: \"%s\": %s\n", + filename, strerror(errno)); + goto bail; + } ErrorF("\n"); diff --git a/xorg-server/hw/xfree86/common/xf86Cursor.c b/xorg-server/hw/xfree86/common/xf86Cursor.c index 3ea1b4d91..c6f603959 100644 --- a/xorg-server/hw/xfree86/common/xf86Cursor.c +++ b/xorg-server/hw/xfree86/common/xf86Cursor.c @@ -44,10 +44,8 @@ #include "xf86Priv.h" #include "xf86_OSproc.h" -#ifdef XINPUT #include #include "xf86Xinput.h" -#endif #ifdef XFreeXDGA #include "dgaproc.h" @@ -67,7 +65,7 @@ typedef struct { static Bool xf86CursorOffScreen(ScreenPtr *pScreen, int *x, int *y); static void xf86CrossScreen(ScreenPtr pScreen, Bool entering); -static void xf86WarpCursor(ScreenPtr pScreen, int x, int y); +static void xf86WarpCursor(DeviceIntPtr pDev, ScreenPtr pScreen, int x, int y); static void xf86PointerMoved(int scrnIndex, int x, int y); @@ -206,6 +204,7 @@ xf86SwitchMode(ScreenPtr pScreen, DisplayModePtr mode) ScreenPtr pCursorScreen; Bool Switched; int px, py; + DeviceIntPtr dev, it; if (!pScr->vtSema || !mode || !pScr->SwitchMode) return FALSE; @@ -221,9 +220,20 @@ xf86SwitchMode(ScreenPtr pScreen, DisplayModePtr mode) if (mode->HDisplay > pScr->virtualX || mode->VDisplay > pScr->virtualY) return FALSE; - pCursorScreen = miPointerGetScreen(inputInfo.pointer); + /* Let's take an educated guess for which pointer to take here. And about as + educated as it gets is to take the first pointer we find. + */ + for (dev = inputInfo.devices; dev; dev = dev->next) + { + if (IsPointerDevice(dev) && dev->spriteInfo->spriteOwner) + break; + } + if (!dev) + dev = inputInfo.pointer; + + pCursorScreen = miPointerGetScreen(dev); if (pScreen == pCursorScreen) - miPointerGetPosition(inputInfo.pointer, &px, &py); + miPointerGetPosition(dev, &px, &py); xf86EnterServerState(SETUP); Switched = (*pScr->SwitchMode)(pScr->scrnIndex, mode, 0); @@ -232,6 +242,7 @@ xf86SwitchMode(ScreenPtr pScreen, DisplayModePtr mode) /* * Adjust frame for new display size. + * Frame is centered around cursor position if cursor is on same screen. */ if (pScreen == pCursorScreen) pScr->frameX0 = px - (mode->HDisplay / 2) + 1; @@ -266,8 +277,42 @@ xf86SwitchMode(ScreenPtr pScreen, DisplayModePtr mode) if (pScr->AdjustFrame) (*pScr->AdjustFrame)(pScr->scrnIndex, pScr->frameX0, pScr->frameY0, 0); + /* The original code centered the frame around the cursor if possible. + * Since this is hard to achieve with multiple cursors, we do the following: + * - center around the first pointer + * - move all other pointers to the nearest edge on the screen (or leave + * them unmodified if they are within the boundaries). + */ if (pScreen == pCursorScreen) - xf86WarpCursor(pScreen, px, py); + { + xf86WarpCursor(dev, pScreen, px, py); + } + + for (it = inputInfo.devices; it; it = it->next) + { + if (it == dev) + continue; + + if (IsPointerDevice(it) && it->spriteInfo->spriteOwner) + { + pCursorScreen = miPointerGetScreen(it); + if (pScreen == pCursorScreen) + { + miPointerGetPosition(it, &px, &py); + if (px < pScr->frameX0) + px = pScr->frameX0; + else if (px > pScr->frameX1) + px = pScr->frameX1; + + if(py < pScr->frameY0) + py = pScr->frameY0; + else if(py > pScr->frameY1) + py = pScr->frameY1; + + xf86WarpCursor(it, pScreen, px, py); + } + } + } return Switched; } @@ -424,13 +469,13 @@ xf86CrossScreen (ScreenPtr pScreen, Bool entering) /* ARGSUSED */ static void -xf86WarpCursor (ScreenPtr pScreen, int x, int y) +xf86WarpCursor (DeviceIntPtr pDev, ScreenPtr pScreen, int x, int y) { int sigstate; sigstate = xf86BlockSIGIO (); - miPointerWarpCursor(pScreen,x,y); + miPointerWarpCursor(pDev, pScreen, x, y); - xf86Info.currentScreen = pScreen; + xf86Info.currentScreen = pScreen; xf86UnblockSIGIO (sigstate); } diff --git a/xorg-server/hw/xfree86/common/xf86DGA.c b/xorg-server/hw/xfree86/common/xf86DGA.c index 0daf1de44..a06f285f1 100644 --- a/xorg-server/hw/xfree86/common/xf86DGA.c +++ b/xorg-server/hw/xfree86/common/xf86DGA.c @@ -46,10 +46,13 @@ #include #endif #include "xf86Xinput.h" +#include "exglobals.h" +#include "exevents.h" #include "mi.h" -static DevPrivateKey DGAScreenKey = NULL; +static int DGAScreenKeyIndex; +static DevPrivateKey DGAScreenKey; static int mieq_installed = 0; static Bool DGACloseScreen(int i, ScreenPtr pScreen); @@ -115,7 +118,7 @@ DGAInit( if(!modes || num <= 0) return FALSE; - DGAScreenKey = &DGAScreenKey; + DGAScreenKey = &DGAScreenKeyIndex; if(!(pScreenPriv = (DGAScreenPtr)xalloc(sizeof(DGAScreenRec)))) return FALSE; @@ -912,7 +915,7 @@ DGAVTSwitch(void) } Bool -DGAStealKeyEvent(int index, int key_code, int is_down) +DGAStealKeyEvent(DeviceIntPtr dev, int index, int key_code, int is_down) { DGAScreenPtr pScreenPriv; dgaEvent de; @@ -920,6 +923,9 @@ DGAStealKeyEvent(int index, int key_code, int is_down) if(DGAScreenKey == NULL) /* no DGA */ return FALSE; + if (key_code < 8 || key_code > 255) + return FALSE; + pScreenPriv = DGA_GET_SCREEN_PRIV(screenInfo.screens[index]); if(!pScreenPriv || !pScreenPriv->grabKeyboard) /* no direct mode */ @@ -928,7 +934,7 @@ DGAStealKeyEvent(int index, int key_code, int is_down) de.u.u.type = *XDGAEventBase + (is_down ? KeyPress : KeyRelease); de.u.u.detail = key_code; de.u.event.time = GetTimeInMillis(); - mieqEnqueue (inputInfo.keyboard, (xEvent *) &de); + mieqEnqueue (dev, (xEvent *) &de); return TRUE; } @@ -936,7 +942,7 @@ DGAStealKeyEvent(int index, int key_code, int is_down) static int DGAMouseX, DGAMouseY; Bool -DGAStealMotionEvent(int index, int dx, int dy) +DGAStealMotionEvent(DeviceIntPtr dev, int index, int dx, int dy) { DGAScreenPtr pScreenPriv; dgaEvent de; @@ -966,12 +972,12 @@ DGAStealMotionEvent(int index, int dx, int dy) de.u.event.dy = dy; de.u.event.pad1 = DGAMouseX; de.u.event.pad2 = DGAMouseY; - mieqEnqueue (inputInfo.pointer, (xEvent *) &de); + mieqEnqueue (dev, (xEvent *) &de); return TRUE; } Bool -DGAStealButtonEvent(int index, int button, int is_down) +DGAStealButtonEvent(DeviceIntPtr dev, int index, int button, int is_down) { DGAScreenPtr pScreenPriv; dgaEvent de; @@ -991,7 +997,7 @@ DGAStealButtonEvent(int index, int button, int is_down) de.u.event.dy = 0; de.u.event.pad1 = DGAMouseX; de.u.event.pad2 = DGAMouseY; - mieqEnqueue (inputInfo.pointer, (xEvent *) &de); + mieqEnqueue (dev, (xEvent *) &de); return TRUE; } @@ -1025,16 +1031,12 @@ static Mask filters[] = static void DGAProcessKeyboardEvent (ScreenPtr pScreen, dgaEvent *de, DeviceIntPtr keybd) { - int key, bit; - register BYTE *kptr; - register int i; - register CARD8 modifiers; - register CARD16 mask; int coreEquiv; - xEvent core; + xEvent xi; KeyClassPtr keyc = keybd->key; DGAScreenPtr pScreenPriv = DGA_GET_SCREEN_PRIV(pScreen); - + DeviceIntPtr pointer = GetPairedDevice(keybd); + coreEquiv = de->u.u.type - *XDGAEventBase; /* @@ -1043,84 +1045,36 @@ DGAProcessKeyboardEvent (ScreenPtr pScreen, dgaEvent *de, DeviceIntPtr keybd) de->u.event.dx = 0; de->u.event.dy = 0; de->u.event.screen = pScreen->myNum; - de->u.event.state = keyc->state | (inputInfo.pointer)->button->state; + de->u.event.state = keyc->state | pointer->button->state; + + de->u.u.type = (IEventBase - 1) + coreEquiv; /* change to XI event */ + UpdateDeviceState(keybd, (xEvent*)de, 1); + de->u.u.type = *XDGAEventBase + coreEquiv; /* change back */ - /* - * Keep the core state in sync by duplicating what - * CoreProcessKeyboardEvent does - */ - key = de->u.u.detail; - kptr = &keyc->down[key >> 3]; - bit = 1 << (key & 7); - modifiers = keyc->modifierMap[key]; - switch (coreEquiv) - { - case KeyPress: - inputInfo.pointer->valuator->motionHintWindow = NullWindow; - *kptr |= bit; - keyc->prev_state = keyc->state; -#ifdef XKB - if (noXkbExtension) -#endif - { - - for (i = 0, mask = 1; modifiers; i++, mask <<= 1) - { - if (mask & modifiers) - { - /* This key affects modifier "i" */ - keyc->modifierKeyCount[i]++; - keyc->state |= mask; - modifiers &= ~mask; - } - } - } - break; - case KeyRelease: - inputInfo.pointer->valuator->motionHintWindow = NullWindow; - *kptr &= ~bit; - keyc->prev_state = keyc->state; -#ifdef XKB - if (noXkbExtension) -#endif - { - for (i = 0, mask = 1; modifiers; i++, mask <<= 1) - { - if (mask & modifiers) { - /* This key affects modifier "i" */ - if (--keyc->modifierKeyCount[i] <= 0) { - keyc->state &= ~mask; - keyc->modifierKeyCount[i] = 0; - } - modifiers &= ~mask; - } - } - } - break; - } /* * Deliver the DGA event */ if (pScreenPriv->client) { /* If the DGA client has selected input, then deliver based on the usual filter */ - TryClientEvents (pScreenPriv->client, (xEvent *) de, 1, + TryClientEvents (pScreenPriv->client, keybd, (xEvent *) de, 1, filters[coreEquiv], pScreenPriv->input, 0); } else { /* If the keyboard is actively grabbed, deliver a grabbed core event */ - if (keybd->grab && !keybd->fromPassiveGrab) + if (keybd->deviceGrab.grab && !keybd->deviceGrab.fromPassiveGrab) { - core.u.u.type = coreEquiv; - core.u.u.detail = de->u.u.detail; - core.u.keyButtonPointer.time = de->u.event.time; - core.u.keyButtonPointer.eventX = de->u.event.dx; - core.u.keyButtonPointer.eventY = de->u.event.dy; - core.u.keyButtonPointer.rootX = de->u.event.dx; - core.u.keyButtonPointer.rootY = de->u.event.dy; - core.u.keyButtonPointer.state = de->u.event.state; - DeliverGrabbedEvent (&core, keybd, FALSE, 1); + xi.u.u.type = (IEventBase - 1) + coreEquiv; + xi.u.u.detail = de->u.u.detail; + xi.u.keyButtonPointer.time = de->u.event.time; + xi.u.keyButtonPointer.eventX = de->u.event.dx; + xi.u.keyButtonPointer.eventY = de->u.event.dy; + xi.u.keyButtonPointer.rootX = de->u.event.dx; + xi.u.keyButtonPointer.rootY = de->u.event.dy; + xi.u.keyButtonPointer.state = de->u.event.state; + ((deviceKeyButtonPointer*)&xi)->deviceid = keybd->id; + DeliverGrabbedEvent (&xi, keybd, FALSE, 1); } } } @@ -1129,77 +1083,44 @@ static void DGAProcessPointerEvent (ScreenPtr pScreen, dgaEvent *de, DeviceIntPtr mouse) { ButtonClassPtr butc = mouse->button; - int coreEquiv; + int coreEquiv; DGAScreenPtr pScreenPriv = DGA_GET_SCREEN_PRIV(pScreen); - xEvent core; + xEvent xi; coreEquiv = de->u.u.type - *XDGAEventBase; /* * Fill in remaining event state */ de->u.event.screen = pScreen->myNum; - de->u.event.state = butc->state | inputInfo.keyboard->key->state; - /* - * Keep the core state in sync by duplicating what - * CoreProcessPointerEvent does - */ - if (coreEquiv != MotionNotify) - { - register int key; - register BYTE *kptr; - int bit; - - key = de->u.u.detail; - kptr = &butc->down[key >> 3]; - bit = 1 << (key & 7); - switch (coreEquiv) - { - case ButtonPress: - mouse->valuator->motionHintWindow = NullWindow; - if (!(*kptr & bit)) - butc->buttonsDown++; - butc->motionMask = ButtonMotionMask; - *kptr |= bit; - if (key <= 5) - butc->state |= (Button1Mask >> 1) << key; - break; - case ButtonRelease: - mouse->valuator->motionHintWindow = NullWindow; - if (*kptr & bit) - --butc->buttonsDown; - if (!butc->buttonsDown) - butc->motionMask = 0; - *kptr &= ~bit; - if (key == 0) - return; - if (key <= 5) - butc->state &= ~((Button1Mask >> 1) << key); - break; - } - } + de->u.event.state = butc->state | GetPairedDevice(mouse)->key->state; + + de->u.u.type = (IEventBase - 1) + coreEquiv; /* change to XI event */ + UpdateDeviceState(mouse, (xEvent*)de, 1); + de->u.u.type = *XDGAEventBase + coreEquiv; /* change back */ + /* * Deliver the DGA event */ if (pScreenPriv->client) { /* If the DGA client has selected input, then deliver based on the usual filter */ - TryClientEvents (pScreenPriv->client, (xEvent *) de, 1, + TryClientEvents (pScreenPriv->client, mouse, (xEvent *) de, 1, filters[coreEquiv], pScreenPriv->input, 0); } else { /* If the pointer is actively grabbed, deliver a grabbed core event */ - if (mouse->grab && !mouse->fromPassiveGrab) + if (mouse->deviceGrab.grab && !mouse->deviceGrab.fromPassiveGrab) { - core.u.u.type = coreEquiv; - core.u.u.detail = de->u.u.detail; - core.u.keyButtonPointer.time = de->u.event.time; - core.u.keyButtonPointer.eventX = de->u.event.dx; - core.u.keyButtonPointer.eventY = de->u.event.dy; - core.u.keyButtonPointer.rootX = de->u.event.dx; - core.u.keyButtonPointer.rootY = de->u.event.dy; - core.u.keyButtonPointer.state = de->u.event.state; - DeliverGrabbedEvent (&core, mouse, FALSE, 1); + xi.u.u.type = (IEventBase - 1 ) + coreEquiv; + xi.u.u.detail = de->u.u.detail; + xi.u.keyButtonPointer.time = de->u.event.time; + xi.u.keyButtonPointer.eventX = de->u.event.dx; + xi.u.keyButtonPointer.eventY = de->u.event.dy; + xi.u.keyButtonPointer.rootX = de->u.event.dx; + xi.u.keyButtonPointer.rootY = de->u.event.dy; + xi.u.keyButtonPointer.state = de->u.event.state; + DeliverGrabbedEvent (&xi, mouse, FALSE, 1); } } } @@ -1287,10 +1208,10 @@ DGAHandleEvent(int screen_num, xEvent *event, DeviceIntPtr device, int nevents) switch (coreEquiv) { case KeyPress: case KeyRelease: - DGAProcessKeyboardEvent (pScreen, de, inputInfo.keyboard); + DGAProcessKeyboardEvent (pScreen, de, device); break; default: - DGAProcessPointerEvent (pScreen, de, inputInfo.pointer); + DGAProcessPointerEvent (pScreen, de, device); break; } } diff --git a/xorg-server/hw/xfree86/common/xf86DPMS.c b/xorg-server/hw/xfree86/common/xf86DPMS.c index 4fb901aae..5ee5e2451 100644 --- a/xorg-server/hw/xfree86/common/xf86DPMS.c +++ b/xorg-server/hw/xfree86/common/xf86DPMS.c @@ -47,7 +47,8 @@ #ifdef DPMSExtension -static DevPrivateKey DPMSKey = NULL; +static int DPMSKeyIndex; +static DevPrivateKey DPMSKey; static Bool DPMSClose(int i, ScreenPtr pScreen); static int DPMSCount = 0; #endif @@ -62,7 +63,7 @@ xf86DPMSInit(ScreenPtr pScreen, DPMSSetProcPtr set, int flags) pointer DPMSOpt; MessageType enabled_from = X_INFO; - DPMSKey = &DPMSKey; + DPMSKey = &DPMSKeyIndex; if (DPMSDisabledSwitch) DPMSEnabled = FALSE; diff --git a/xorg-server/hw/xfree86/common/xf86Debug.c b/xorg-server/hw/xfree86/common/xf86Debug.c deleted file mode 100644 index 5b609652b..000000000 --- a/xorg-server/hw/xfree86/common/xf86Debug.c +++ /dev/null @@ -1,77 +0,0 @@ - -/* - * Copyright (c) 2000-2003 by The XFree86 Project, 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 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_XORG_CONFIG_H -#include -#endif - -#include -#include -#include -#include "os.h" -#include "xf86.h" -#include "xf86Priv.h" -#include "xf86_OSlib.h" -#include "compiler.h" - -CARD8 xf86PeekFb8(CARD8 *p) { return *p; } -CARD16 xf86PeekFb16(CARD16 *p) { return *p; } -CARD32 xf86PeekFb32(CARD32 *p) { return *p; } -void xf86PokeFb8(CARD8 *p, CARD8 v) { *p = v; } -void xf86PokeFb16(CARD16 *p, CARD16 v) { *p = v; } -void xf86PokeFb32(CARD16 *p, CARD32 v) { *p = v; } - -CARD8 xf86PeekMmio8(pointer Base, unsigned long Offset) -{ - return MMIO_IN8(Base,Offset); -} - -CARD16 xf86PeekMmio16(pointer Base, unsigned long Offset) -{ - return MMIO_IN16(Base,Offset); -} - -CARD32 xf86PeekMmio32(pointer Base, unsigned long Offset) -{ - return MMIO_IN32(Base,Offset); -} - -void xf86PokeMmio8(pointer Base, unsigned long Offset, CARD8 v) -{ - MMIO_OUT8(Base,Offset,v); -} - -void xf86PokeMmio16(pointer Base, unsigned long Offset, CARD16 v) -{ - MMIO_OUT16(Base,Offset,v); -} - -void xf86PokeMmio32(pointer Base, unsigned long Offset, CARD32 v) -{ - MMIO_OUT32(Base,Offset,v); -} diff --git a/xorg-server/hw/xfree86/common/xf86DoProbe.c b/xorg-server/hw/xfree86/common/xf86DoProbe.c deleted file mode 100644 index bba6ab7e8..000000000 --- a/xorg-server/hw/xfree86/common/xf86DoProbe.c +++ /dev/null @@ -1,116 +0,0 @@ -/* - * Copyright (c) 1999-2002 by The XFree86 Project, 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 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). - */ - -/* - * finish setting up the server - * Load the driver modules and call their probe functions. - */ - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include "os.h" -#include "loaderProcs.h" -#include "xf86Config.h" -#include "xf86_OSlib.h" -#include "xf86.h" -#include "xf86Priv.h" - -void -DoProbe() -{ - int i; - Bool probeResult; - Bool ioEnableFailed = FALSE; - - /* Find the list of video driver modules. */ - char **list = xf86DriverlistFromCompile(); - char **l; - - if (list) { - ErrorF("List of video driver modules:\n"); - for (l = list; *l; l++) - ErrorF("\t%s\n", *l); - } else { - ErrorF("No video driver modules found\n"); - } - - /* Load all the drivers that were found. */ - xf86LoadModules(list, NULL); - - /* Disable PCI devices */ - xf86AccessInit(); - - /* Call all of the probe functions, reporting the results. */ - for (i = 0; i < xf86NumDrivers; i++) { - DriverRec * const drv = xf86DriverList[i]; - - if (!xorgHWAccess) { - xorgHWFlags flags; - if (!drv->driverFunc - || !drv->driverFunc( NULL, GET_REQUIRED_HW_INTERFACES, &flags ) - || NEED_IO_ENABLED(flags)) { - if (ioEnableFailed) - continue; - if (!xf86EnableIO()) { - ioEnableFailed = TRUE; - continue; - } - xorgHWAccess = TRUE; - } - } - - - xf86MsgVerb(X_INFO, 3, "Probing in driver %s\n", drv->driverName); - - probeResult = xf86CallDriverProbe( drv, TRUE ); - if (!probeResult) { - xf86ErrorF("Probe in driver `%s' returns FALSE\n", - drv->driverName); - } else { - xf86ErrorF("Probe in driver `%s' returns TRUE\n", - drv->driverName); - - /* If we have a result, then call driver's Identify function */ - if (drv->Identify != NULL) { - const int verbose = xf86SetVerbosity(1); - (*drv->Identify)(0); - xf86SetVerbosity(verbose); - } - } - } - - OsCleanup(TRUE); - AbortDDX(); - fflush(stderr); - exit(0); -} diff --git a/xorg-server/hw/xfree86/common/xf86Events.c b/xorg-server/hw/xfree86/common/xf86Events.c index 76c207a13..d6ef93a1b 100644 --- a/xorg-server/hw/xfree86/common/xf86Events.c +++ b/xorg-server/hw/xfree86/common/xf86Events.c @@ -57,26 +57,20 @@ #include #include #include "misc.h" - #include "compiler.h" - #include "xf86.h" #include "xf86Priv.h" #define XF86_OS_PRIVS #include "xf86_OSlib.h" -#include "atKeynames.h" - +#include #ifdef XFreeXDGA #include "dgaproc.h" #endif -#ifdef XINPUT #include #include -#else #include "inputstr.h" -#endif #include "xf86Xinput.h" #include "mi.h" @@ -87,25 +81,12 @@ #include #endif -#ifdef XKB -extern Bool noXkbExtension; -#endif - #ifdef DPMSExtension #define DPMS_SERVER #include #include "dpmsproc.h" #endif -#define XE_POINTER 1 -#define XE_KEYBOARD 2 - -#define EqEnqueue(pDev, ev) { \ - int __sigstate = xf86BlockSIGIO (); \ - mieqEnqueue (pDev, ev); \ - xf86UnblockSIGIO(__sigstate); \ -} - /* * The first of many hacks to get VT switching to work under * Solaris 2.1 for x86. The basic problem is that Solaris is supposed @@ -160,7 +141,6 @@ LegalModifier(unsigned int key, DeviceIntPtr pDev) * Function used for screensaver purposes by the os module. Returns the * time in milliseconds since there last was any input. */ - int TimeSinceLastInputEvent() { @@ -170,90 +150,34 @@ TimeSinceLastInputEvent() return GetTimeInMillis() - xf86Info.lastEventTime; } - - /* * SetTimeSinceLastInputEvent -- * Set the lastEventTime to now. */ - _X_EXPORT void SetTimeSinceLastInputEvent() { xf86Info.lastEventTime = GetTimeInMillis(); } - - /* * ProcessInputEvents -- * Retrieve all waiting input events and pass them to DIX in their * correct chronological order. Only reads from the system pointer * and keyboard. */ - void ProcessInputEvents () { int x, y; -#ifdef INHERIT_LOCK_STATE - static int generation = 0; -#endif - - /* - * With INHERIT_LOCK_STATE defined, the initial state of CapsLock, NumLock - * and ScrollLock will be set to match that of the VT the server is - * running on. - */ -#ifdef INHERIT_LOCK_STATE - if (generation != serverGeneration) { - xEvent kevent; - DevicePtr pKeyboard = xf86Info.pKeyboard; - extern unsigned int xf86InitialCaps, xf86InitialNum, xf86InitialScroll; - - generation = serverGeneration; - kevent.u.keyButtonPointer.time = GetTimeInMillis(); - kevent.u.keyButtonPointer.rootX = 0; - kevent.u.keyButtonPointer.rootY = 0; - kevent.u.u.type = KeyPress; - - - if (xf86InitialCaps) { - kevent.u.u.detail = xf86InitialCaps; - (* pKeyboard->processInputProc)(&kevent, (DeviceIntPtr)pKeyboard, 1); - xf86InitialCaps = 0; - } - if (xf86InitialNum) { - kevent.u.u.detail = xf86InitialNum; - (* pKeyboard->processInputProc)(&kevent, (DeviceIntPtr)pKeyboard, 1); - xf86InitialNum = 0; - } - if (xf86InitialScroll) { - kevent.u.u.detail = xf86InitialScroll; - (* pKeyboard->processInputProc)(&kevent, (DeviceIntPtr)pKeyboard, 1); - xf86InitialScroll = 0; - } - } -#endif - - xf86Info.inputPending = FALSE; mieqProcessInputEvents(); - miPointerUpdateSprite(inputInfo.pointer); + /* FIXME: This is a problem if we have multiple pointers */ miPointerGetPosition(inputInfo.pointer, &x, &y); xf86SetViewport(xf86Info.currentScreen, x, y); } -void -xf86GrabServerCallback(CallbackListPtr *callbacks, pointer data, pointer args) -{ - ServerGrabInfoRec *grab = (ServerGrabInfoRec*)args; - - xf86Info.grabInfo.server.client = grab->client; - xf86Info.grabInfo.server.grabstate = grab->grabstate; -} - /* * Handle keyboard events that cause some kind of "action" * (i.e., server termination, video mode changes, VT switches, etc.) @@ -281,42 +205,7 @@ xf86ProcessActionEvent(ActionEvent action, void *arg) if (!xf86Info.dontZoom) xf86ZoomViewport(xf86Info.currentScreen, -1); break; - case ACTION_DISABLEGRAB: - if (!xf86Info.grabInfo.disabled && xf86Info.grabInfo.allowDeactivate) { - if (inputInfo.pointer && inputInfo.pointer->grab != NULL && - inputInfo.pointer->DeactivateGrab) - inputInfo.pointer->DeactivateGrab(inputInfo.pointer); - if (inputInfo.keyboard && inputInfo.keyboard->grab != NULL && - inputInfo.keyboard->DeactivateGrab) - inputInfo.keyboard->DeactivateGrab(inputInfo.keyboard); - } - break; - case ACTION_CLOSECLIENT: - if (!xf86Info.grabInfo.disabled && xf86Info.grabInfo.allowClosedown) { - ClientPtr pointer, keyboard, server; - - pointer = keyboard = server = NULL; - if (inputInfo.pointer && inputInfo.pointer->grab != NULL) - pointer = clients[CLIENT_ID(inputInfo.pointer->grab->resource)]; - if (inputInfo.keyboard && inputInfo.keyboard->grab != NULL) { - keyboard = clients[CLIENT_ID(inputInfo.keyboard->grab->resource)]; - if (keyboard == pointer) - keyboard = NULL; - } - if ((xf86Info.grabInfo.server.grabstate == SERVER_GRABBED) && - (((server = xf86Info.grabInfo.server.client) == pointer) || - (server == keyboard))) - server = NULL; - - if (pointer) - CloseDownClient(pointer); - if (keyboard) - CloseDownClient(keyboard); - if (server) - CloseDownClient(server); - } - break; -#if !defined(__SOL8__) && !defined(sgi) && \ +#if !defined(__SOL8__) && \ (!defined(sun) || defined(__i386__)) && defined(VT_ACTIVATE) case ACTION_SWITCHSCREEN: if (VTSwitchEnabled && !xf86Info.dontVTSwitch && arg) { @@ -324,12 +213,8 @@ xf86ProcessActionEvent(ActionEvent action, void *arg) #if defined(__SCO__) || defined(__UNIXWARE__) vtno--; #endif -#if defined(QNX4) - xf86Info.vtRequestsPending = vtno; -#else if (ioctl(xf86Info.consoleFd, VT_ACTIVATE, vtno) < 0) ErrorF("Failed to switch consoles (%s)\n", strerror(errno)); -#endif } break; case ACTION_SWITCHSCREEN_NEXT: @@ -355,78 +240,11 @@ xf86ProcessActionEvent(ActionEvent action, void *arg) } break; #endif - case ACTION_MESSAGE: - { - char *retstr, *message = (char *) arg; - ScrnInfoPtr pScr = XF86SCRNINFO(xf86Info.currentScreen); - -#ifdef DEBUG - ErrorF("ActionMessage: '%s'\n", message); -#endif - /* Okay the message made it to the ddx. The common layer */ - /* can check for relevant messages here and react to any */ - /* that have a global effect. For example: */ - /* */ - /* if (!strcmp(message, "foo") { */ - /* do_foo(); break */ - /* } */ - /* */ - /* otherwise fallback to sending a key event message to */ - /* the current screen's driver: */ - if (*pScr->HandleMessage != NULL) { - (void) (*pScr->HandleMessage)(pScr->scrnIndex, - "KeyEventMessage", message, &retstr); - } - } - break; default: break; } } -#define ModifierIsSet(k) ((modifiers & (k)) == (k)) - -_X_EXPORT Bool -xf86CommonSpecialKey(int key, Bool down, int modifiers) -{ - if ((!ModifierIsSet(ShiftMask)) && - (((ModifierIsSet(ControlMask | AltMask)) || - (ModifierIsSet(ControlMask | AltLangMask))))) { - switch (key) { - - case KEY_BackSpace: - xf86ProcessActionEvent(ACTION_TERMINATE, NULL); - break; - - /* - * Check grabs - */ - case KEY_KP_Divide: - xf86ProcessActionEvent(ACTION_DISABLEGRAB, NULL); - break; - case KEY_KP_Multiply: - xf86ProcessActionEvent(ACTION_CLOSECLIENT, NULL); - break; - - /* - * The idea here is to pass the scancode down to a list of - * registered routines. There should be some standard conventions - * for processing certain keys. - */ - case KEY_KP_Minus: /* Keypad - */ - if (down) xf86ProcessActionEvent(ACTION_PREV_MODE, NULL); - if (!xf86Info.dontZoom) return TRUE; - break; - - case KEY_KP_Plus: /* Keypad + */ - if (down) xf86ProcessActionEvent(ACTION_NEXT_MODE, NULL); - if (!xf86Info.dontZoom) return TRUE; - break; - } - } - return FALSE; -} - /* * xf86Wakeup -- * Os wakeup handler. @@ -436,7 +254,6 @@ xf86CommonSpecialKey(int key, Bool down, int modifiers) void xf86Wakeup(pointer blockData, int err, pointer pReadmask) { -#if !defined(__QNX__) fd_set* LastSelectMask = (fd_set*)pReadmask; fd_set devicesWithInput; InputInfoPtr pInfo; @@ -463,27 +280,6 @@ xf86Wakeup(pointer blockData, int err, pointer pReadmask) } } } -#else /* __QNX__ */ - - InputInfoPtr pInfo; - - pInfo = xf86InputDevs; - while (pInfo) { - if (pInfo->read_input && pInfo->fd >= 0) { - int sigstate = xf86BlockSIGIO(); - - pInfo->read_input(pInfo); - xf86UnblockSIGIO(sigstate); - /* - * Must break here because more than one device may share - * the same file descriptor. - */ - break; - } - pInfo = pInfo->next; - } - -#endif /* __QNX__ */ if (err >= 0) { /* we don't want the handlers called if select() */ IHPtr ih; /* returned with an error condition, do we? */ @@ -497,8 +293,6 @@ xf86Wakeup(pointer blockData, int err, pointer pReadmask) } if (xf86VTSwitchPending()) xf86VTSwitch(); - - if (xf86Info.inputPending) ProcessInputEvents(); } @@ -593,6 +387,19 @@ xf86SigHandler(int signo) FatalError("Caught signal %d. Server aborting\n", signo); } +/* + * xf86PrintBacktrace -- + * Print a stack backtrace for debugging purposes. + */ +_X_EXPORT void +xf86PrintBacktrace(void) +{ + xorg_backtrace(); +} + +#define KeyPressed(k) (keyc->postdown[k >> 3] & (1 << (k & 7))) +#define ModifierDown(k) ((keyc->state & (k)) == (k)) + static void xf86ReleaseKeys(DeviceIntPtr pDev) { @@ -643,7 +450,7 @@ xf86ReleaseKeys(DeviceIntPtr pDev) int sigstate = xf86BlockSIGIO (); nevents = GetKeyboardEvents(xf86Events, pDev, KeyRelease, i); for (j = 0; j < nevents; j++) - mieqEnqueue(pDev, xf86Events + j); + mieqEnqueue(pDev, (xf86Events + j)->event); xf86UnblockSIGIO(sigstate); } break; diff --git a/xorg-server/hw/xfree86/common/xf86Globals.c b/xorg-server/hw/xfree86/common/xf86Globals.c index f5babbc49..04a96cbdc 100644 --- a/xorg-server/hw/xfree86/common/xf86Globals.c +++ b/xorg-server/hw/xfree86/common/xf86Globals.c @@ -47,10 +47,13 @@ /* Globals that video drivers may access */ /* Index into pScreen.devPrivates */ -DevPrivateKey xf86CreateRootWindowKey = &xf86CreateRootWindowKey; +static int xf86CreateRootWindowKeyIndex; +DevPrivateKey xf86CreateRootWindowKey = &xf86CreateRootWindowKeyIndex; /* Index of ScrnInfo in pScreen.devPrivates */ -_X_EXPORT DevPrivateKey xf86ScreenKey = &xf86ScreenKey; -_X_EXPORT DevPrivateKey xf86PixmapKey = &xf86PixmapKey; +static int xf86ScreenKeyIndex; +_X_EXPORT DevPrivateKey xf86ScreenKey = &xf86ScreenKeyIndex; +static int xf86PixmapKeyIndex; +_X_EXPORT DevPrivateKey xf86PixmapKey = &xf86PixmapKeyIndex; _X_EXPORT ScrnInfoPtr *xf86Screens = NULL; /* List of ScrnInfos */ _X_EXPORT const unsigned char byte_reversed[256] = { @@ -95,45 +98,46 @@ InputInfoPtr xf86InputDevs = NULL; /* Globals that video drivers may not access */ xf86InfoRec xf86Info = { - -1, /* consoleFd */ - -1, /* vtno */ - FALSE, /* vtSysreq */ - SKWhenNeeded, /* ddxSpecialKeys */ - NULL, /* pMouse */ -#ifdef XINPUT - NULL, /* mouseLocal */ -#endif - -1, /* lastEventTime */ - FALSE, /* vtRequestsPending */ - FALSE, /* inputPending */ - FALSE, /* dontVTSwitch */ - FALSE, /* dontZap */ - FALSE, /* dontZoom */ - FALSE, /* notrapSignals */ - FALSE, /* caughtSignal */ - FALSE, /* sharedMonitor */ - NULL, /* currentScreen */ + .consoleFd = -1, + .vtno = -1, + .vtSysreq = FALSE, + .ddxSpecialKeys = SKWhenNeeded, + .lastEventTime = -1, + .vtRequestsPending = FALSE, + .dontVTSwitch = FALSE, + .dontZap = FALSE, + .dontZoom = FALSE, + .notrapSignals = FALSE, + .caughtSignal = FALSE, + .currentScreen = NULL, #ifdef CSRG_BASED - -1, /* screenFd */ - -1, /* consType */ + .screenFd = -1, + .consType = -1, #endif - FALSE, /* allowMouseOpenFail */ - TRUE, /* vidModeEnabled */ - FALSE, /* vidModeAllowNonLocal */ - TRUE, /* miscModInDevEnabled */ - FALSE, /* miscModInDevAllowNonLocal */ - PCIOsConfig, /* pciFlags */ - Pix24DontCare, /* pixmap24 */ - X_DEFAULT, /* pix24From */ + .allowMouseOpenFail = FALSE, + .vidModeEnabled = TRUE, + .vidModeAllowNonLocal = FALSE, + .miscModInDevEnabled = TRUE, + .miscModInDevAllowNonLocal = FALSE, + .pixmap24 = Pix24DontCare, + .pix24From = X_DEFAULT, #ifdef __i386__ - FALSE, /* pc98 */ + .pc98 = FALSE, +#endif + .pmFlag = TRUE, + .log = LogNone, + .kbdCustomKeycodes = FALSE, + .disableRandR = FALSE, + .randRFrom = X_DEFAULT, +#ifdef CONFIG_HAL + .allowEmptyInput = TRUE, + .autoAddDevices = TRUE, + .autoEnableDevices = TRUE +#else + .allowEmptyInput = FALSE, + .autoAddDevices = FALSE, + .autoEnableDevices = FALSE #endif - TRUE, /* pmFlag */ - LogNone, /* syncLog */ - 0, /* estimateSizesAggressively */ - FALSE, /* kbdCustomKeycodes */ - FALSE, /* disableRandR */ - X_DEFAULT /* randRFrom */ }; const char *xf86ConfigFile = NULL; const char *xf86InputDeviceList = NULL; @@ -149,6 +153,7 @@ Bool xf86Resetting = FALSE; Bool xf86Initialising = FALSE; Bool xf86DoProbe = FALSE; Bool xf86DoConfigure = FALSE; +Bool xf86DoShowOptions = FALSE; Bool xf86DoModalias = FALSE; DriverPtr *xf86DriverList = NULL; int xf86NumDrivers = 0; @@ -168,11 +173,11 @@ const char *xf86VisualNames[] = { /* Parameters set only from the command line */ char *xf86ServerName = "no-name"; Bool xf86fpFlag = FALSE; -Bool xf86coFlag = FALSE; Bool xf86sFlag = FALSE; Bool xf86bsEnableFlag = FALSE; Bool xf86bsDisableFlag = FALSE; Bool xf86silkenMouseDisableFlag = FALSE; +Bool xf86xkbdirFlag = FALSE; #ifdef HAVE_ACPI Bool xf86acpiDisableFlag = FALSE; #endif @@ -189,17 +194,11 @@ int xf86Depth = -1; rgb xf86Weight = {0, 0, 0}; Bool xf86FlipPixels = FALSE; Gamma xf86Gamma = {0.0, 0.0, 0.0}; -Bool xf86ShowUnresolved = DEFAULT_UNRESOLVED; -Bool xf86BestRefresh = DEFAULT_BEST_REFRESH; Bool xf86AllowMouseOpenFail = FALSE; #ifdef XF86VIDMODE Bool xf86VidModeDisabled = FALSE; Bool xf86VidModeAllowNonLocal = FALSE; #endif -#ifdef XF86MISC -Bool xf86MiscModInDevDisabled = FALSE; -Bool xf86MiscModInDevAllowNonLocal = FALSE; -#endif RootWinPropPtr *xf86RegisteredPropertiesTable = NULL; _X_EXPORT Bool xf86inSuspend = FALSE; Bool xorgHWAccess = FALSE; diff --git a/xorg-server/hw/xfree86/common/xf86Helper.c b/xorg-server/hw/xfree86/common/xf86Helper.c index 282eb49f9..00df10574 100644 --- a/xorg-server/hw/xfree86/common/xf86Helper.c +++ b/xorg-server/hw/xfree86/common/xf86Helper.c @@ -60,7 +60,6 @@ #include "mivalidate.h" #include "xf86RAC.h" #include "xf86Bus.h" -#include "xf86Version.h" /* For xf86GetClocks */ #if defined(CSRG_BASED) || defined(__GNU__) @@ -357,11 +356,11 @@ xf86DeleteInput(InputInfoPtr pInp, int flags) if (pInp->drv) pInp->drv->refCount--; - /* This should *really* be handled in drv->UnInit(dev) call instead */ -#if 0 + /* This should *really* be handled in drv->UnInit(dev) call instead, but + * if the driver forgets about it make sure we free it or at least crash + * with flying colors */ if (pInp->private) xfree(pInp->private); -#endif /* Remove the entry from the list. */ if (pInp == xf86InputDevs) @@ -448,10 +447,6 @@ xf86AddPixFormat(ScrnInfoPtr pScrn, int depth, int bpp, int pad) #define GLOBAL_DEFAULT_DEPTH 24 #endif -#ifndef GLOBAL_DEFAULT_FBBPP -#define GLOBAL_DEFAULT_FBBPP 32 -#endif - _X_EXPORT Bool xf86SetDepthBpp(ScrnInfoPtr scrp, int depth, int dummy, int fbbpp, int depth24flags) @@ -529,7 +524,6 @@ xf86SetDepthBpp(ScrnInfoPtr scrp, int depth, int dummy, int fbbpp, if (depth > 0) scrp->depth = depth; } else { - scrp->bitsPerPixel = GLOBAL_DEFAULT_FBBPP; scrp->depth = GLOBAL_DEFAULT_DEPTH; } } @@ -1097,9 +1091,6 @@ xf86SetRootClip (ScreenPtr pScreen, Bool enable) WindowPtr pChild; Bool WasViewable = (Bool)(pWin->viewable); Bool anyMarked = FALSE; -#ifdef DO_SAVE_UNDERS - Bool dosave = FALSE; -#endif WindowPtr pLayerWin; BoxRec box; @@ -1169,12 +1160,6 @@ xf86SetRootClip (ScreenPtr pScreen, Bool enable) anyMarked = TRUE; } -#ifdef DO_SAVE_UNDERS - if (DO_SAVE_UNDERS(pWin)) - { - dosave = (*pScreen->ChangeSaveUnder)(pLayerWin, pLayerWin); - } -#endif /* DO_SAVE_UNDERS */ if (anyMarked) (*pScreen->ValidateTree)(pWin, NullWindow, VTOther); @@ -1184,10 +1169,6 @@ xf86SetRootClip (ScreenPtr pScreen, Bool enable) { if (anyMarked) (*pScreen->HandleExposures)(pWin); -#ifdef DO_SAVE_UNDERS - if (dosave) - (*pScreen->PostChangeSaveUnder)(pLayerWin, pLayerWin); -#endif /* DO_SAVE_UNDERS */ if (anyMarked && pScreen->PostValidateTree) (*pScreen->PostValidateTree)(pWin, NullWindow, VTOther); } @@ -1552,6 +1533,21 @@ xf86MatchDevice(const char *drivername, GDevPtr **sectlist) return i; } +static Bool +pciDeviceHasBars(struct pci_device *pci) +{ + int i; + + for (i = 0; i < 6; i++) + if (pci->regions[i].size) + return TRUE; + + if (pci->rom_size) + return TRUE; + + return FALSE; +} + struct Inst { struct pci_device * pci; GDevPtr dev; @@ -1687,8 +1683,8 @@ xf86MatchPciInstances(const char *driverName, int vendorID, if ( xf86DoConfigure && xf86DoConfigurePass1 ) { if (xf86CheckPciSlot(pPci)) { GDevPtr pGDev = - xf86AddDeviceToConfigure(drvp->driverName, - pPci, -1); + xf86AddBusDeviceToConfigure(drvp->driverName, + BUS_PCI, pPci, -1); if (pGDev) { /* After configure pass 1, chipID and chipRev * are treated as over-rides, so clobber them @@ -1806,7 +1802,7 @@ xf86MatchPciInstances(const char *driverName, int vendorID, } if (devBus) dev = devBus; /* busID preferred */ if (!dev) { - if ( xf86CheckPciSlot( pPci ) ) { + if (xf86CheckPciSlot(pPci) && pciDeviceHasBars(pPci)) { xf86MsgVerb(X_WARNING, 0, "%s: No matching Device section " "for instance (BusID PCI:%u@%u:%u:%u) found\n", driverName, pPci->domain, pPci->bus, pPci->dev, @@ -1957,108 +1953,6 @@ xf86MatchPciInstances(const char *driverName, int vendorID, return numFound; } -_X_EXPORT int -xf86MatchIsaInstances(const char *driverName, SymTabPtr chipsets, - IsaChipsets *ISAchipsets, DriverPtr drvp, - FindIsaDevProc FindIsaDevice, GDevPtr *devList, - int numDevs, int **foundEntities) -{ - SymTabRec *c; - IsaChipsets *Chips; - int i; - int numFound = 0; - int foundChip = -1; - int *retEntities = NULL; - - *foundEntities = NULL; - -#if defined(__sparc__) || defined(__powerpc__) - FindIsaDevice = NULL; /* Temporary */ -#endif - - if (xf86DoProbe || (xf86DoConfigure && xf86DoConfigurePass1)) { - if (FindIsaDevice && - ((foundChip = (*FindIsaDevice)(NULL)) != -1)) { - xf86AddDeviceToConfigure(drvp->driverName, NULL, foundChip); - return 1; - } - return 0; - } - - for (i = 0; i < numDevs; i++) { - MessageType from = X_CONFIG; - GDevPtr dev = NULL; - GDevPtr devBus = NULL; - - if (devList[i]->busID && *devList[i]->busID) { - if (xf86ParseIsaBusString(devList[i]->busID)) { - if (devBus) xf86MsgVerb(X_WARNING,0, - "%s: More than one matching Device " - "section for ISA-Bus found: %s\n", - driverName,devList[i]->identifier); - else devBus = devList[i]; - } - } else { - if (xf86IsPrimaryIsa()) { - if (dev) xf86MsgVerb(X_WARNING,0, - "%s: More than one matching " - "Device section found: %s\n", - driverName,devList[i]->identifier); - else dev = devList[i]; - } - } - if (devBus) dev = devBus; - if (dev) { - if (dev->chipset) { - for (c = chipsets; c->token >= 0; c++) { - if (xf86NameCmp(c->name, dev->chipset) == 0) - break; - } - if (c->token == -1) { - xf86MsgVerb(X_WARNING, 0, "%s: Chipset \"%s\" in Device " - "section \"%s\" isn't valid for this driver\n", - driverName, dev->chipset, - dev->identifier); - } else - foundChip = c->token; - } else { - if (FindIsaDevice) foundChip = (*FindIsaDevice)(dev); - /* Probe it */ - from = X_PROBED; - } - } - - /* Check if the chip type is listed in the chipset table - for sanity*/ - - if (foundChip >= 0){ - for (Chips = ISAchipsets; Chips->numChipset >= 0; Chips++) { - if (Chips->numChipset == foundChip) - break; - } - if (Chips->numChipset == -1){ - foundChip = -1; - xf86MsgVerb(X_WARNING,0, - "%s: Driver detected unknown ISA-Bus Chipset\n", - driverName); - } - } - if (foundChip != -1) { - numFound++; - retEntities = xnfrealloc(retEntities,numFound * sizeof(int)); - retEntities[numFound - 1] = - xf86ClaimIsaSlot(drvp,foundChip,dev, dev->active ? TRUE : FALSE); - for (c = chipsets; c->token >= 0; c++) { - if (c->token == foundChip) - break; - } - xf86Msg(from, "Chipset %s found\n", c->name); - } - } - *foundEntities = retEntities; - - return numFound; -} - /* * xf86GetClocks -- get the dot-clocks via a BIG BAD hack ... */ @@ -2098,14 +1992,6 @@ xf86GetClocks(ScrnInfoPtr pScrn, int num, Bool (*ClockFunc)(ScrnInfoPtr, int), cnt = 0; sync = 200000; - /* XXX How critical is this? */ - if (!xf86DisableInterrupts()) - { - (*ClockFunc)(pScrn, CLK_REG_RESTORE); - ErrorF("Failed to disable interrupts during clock probe. If\n"); - ErrorF("your OS does not support disabling interrupts, then you\n"); - FatalError("must specify a Clocks line in the XF86Config file.\n"); - } while ((inb(status) & maskval) == 0x00) if (sync-- == 0) goto finish; /* Something appears to be happening, so reset sync count */ @@ -2126,8 +2012,6 @@ xf86GetClocks(ScrnInfoPtr pScrn, int num, Bool (*ClockFunc)(ScrnInfoPtr, int), } finish: - xf86EnableInterrupts(); - pScrn->clock[i] = cnt ? cnt : -1; if (BlankScreen) (*BlankScreen)(pScrn, TRUE); @@ -2338,12 +2222,6 @@ xf86DisableRandR() xf86Info.randRFrom = X_PROBED; } -_X_EXPORT CARD32 -xf86GetVersion() -{ - return XF86_VERSION_CURRENT; -} - _X_EXPORT CARD32 xf86GetModuleVersion(pointer module) { @@ -2567,49 +2445,6 @@ xf86FindXvOptions(int scrnIndex, int adaptor_index, char *port_name, #include "loader/os.c" /* new RAC */ -/* - * xf86ConfigIsa/PciEntity() -- These helper functions assign an - * active entity to a screen, registers its fixed resources, assign - * special enter/leave functions and their private scratch area to - * this entity, take the dog for a walk... - */ -_X_EXPORT ScrnInfoPtr -xf86ConfigIsaEntity(ScrnInfoPtr pScrn, int scrnFlag, int entityIndex, - IsaChipsets *i_chip, resList res, EntityProc init, - EntityProc enter, EntityProc leave, pointer private) -{ - IsaChipsets *i_id; - EntityInfoPtr pEnt = xf86GetEntityInfo(entityIndex); - if (!pEnt) return pScrn; - - if (!(pEnt->location.type == BUS_ISA)) { - xfree(pEnt); - return pScrn; - } - - if (!pEnt->active) { - xf86ConfigIsaEntityInactive(pEnt, i_chip, res, init, enter, - leave, private); - xfree(pEnt); - return pScrn; - } - - if (!pScrn) - pScrn = xf86AllocateScreen(pEnt->driver,scrnFlag); - xf86AddEntityToScreen(pScrn,entityIndex); - - if (i_chip) { - for (i_id = i_chip; i_id->numChipset != -1; i_id++) { - if (pEnt->chipset == i_id->numChipset) break; - } - xf86ClaimFixedResources(i_id->resList,entityIndex); - } - xfree(pEnt); - xf86ClaimFixedResources(res,entityIndex); - xf86SetEntityFuncs(entityIndex,init,enter,leave,private); - - return pScrn; -} _X_EXPORT ScrnInfoPtr xf86ConfigPciEntity(ScrnInfoPtr pScrn, int scrnFlag, int entityIndex, @@ -2685,39 +2520,9 @@ xf86ConfigFbEntity(ScrnInfoPtr pScrn, int scrnFlag, int entityIndex, /* * - * OBSOLETE ! xf86ConfigActiveIsaEntity() and xf86ConfigActivePciEntity() - * are obsolete functions. They the are likely to be removed - * Don't use! + * OBSOLETE ! xf86ConfigActivePciEntity() is an obsolete functions. + * They the are likely to be removed. Don't use! */ -_X_EXPORT Bool -xf86ConfigActiveIsaEntity(ScrnInfoPtr pScrn, int entityIndex, - IsaChipsets *i_chip, resList res, EntityProc init, - EntityProc enter, EntityProc leave, pointer private) -{ - IsaChipsets *i_id; - EntityInfoPtr pEnt = xf86GetEntityInfo(entityIndex); - if (!pEnt) return FALSE; - - if (!pEnt->active || !(pEnt->location.type == BUS_ISA)) { - xfree(pEnt); - return FALSE; - } - - xf86AddEntityToScreen(pScrn,entityIndex); - - if (i_chip) { - for (i_id = i_chip; i_id->numChipset != -1; i_id++) { - if (pEnt->chipset == i_id->numChipset) break; - } - xf86ClaimFixedResources(i_id->resList,entityIndex); - } - xfree(pEnt); - xf86ClaimFixedResources(res,entityIndex); - if (!xf86SetEntityFuncs(entityIndex,init,enter,leave,private)) - return FALSE; - - return TRUE; -} _X_EXPORT Bool xf86ConfigActivePciEntity(ScrnInfoPtr pScrn, int entityIndex, @@ -2750,10 +2555,10 @@ xf86ConfigActivePciEntity(ScrnInfoPtr pScrn, int entityIndex, } /* - * xf86ConfigPci/IsaEntityInactive() -- These functions can be used + * xf86ConfigPciEntityInactive() -- This functions can be used * to configure an inactive entity as well as to reconfigure an * previously active entity inactive. If the entity has been - * assigned to a screen before it will be removed. If p_pci(p_isa) is + * assigned to a screen before it will be removed. If p_pci is * non-NULL all static resources listed there will be registered. */ _X_EXPORT void @@ -2778,28 +2583,6 @@ xf86ConfigPciEntityInactive(EntityInfoPtr pEnt, PciChipsets *p_chip, xf86SetEntityFuncs(pEnt->index,init,enter,leave,private); } -_X_EXPORT void -xf86ConfigIsaEntityInactive(EntityInfoPtr pEnt, IsaChipsets *i_chip, - resList res, EntityProc init, EntityProc enter, - EntityProc leave, pointer private) -{ - IsaChipsets *i_id; - ScrnInfoPtr pScrn; - - if ((pScrn = xf86FindScreenForEntity(pEnt->index))) - xf86RemoveEntityFromScreen(pScrn,pEnt->index); - else if (i_chip) { - for (i_id = i_chip; i_id->numChipset != -1; i_id++) { - if (pEnt->chipset == i_id->numChipset) break; - } - xf86ClaimFixedResources(i_id->resList,pEnt->index); - } - xf86ClaimFixedResources(res,pEnt->index); - /* shared resources are only needed when entity is active: remove */ - xf86DeallocateResourcesForEntity(pEnt->index, ResShared); - xf86SetEntityFuncs(pEnt->index,init,enter,leave,private); -} - void xf86ConfigFbEntityInactive(EntityInfoPtr pEnt, EntityProc init, EntityProc enter, EntityProc leave, pointer private) @@ -2939,21 +2722,7 @@ xf86MotionHistoryAllocate(LocalDevicePtr local) _X_EXPORT int xf86GetMotionEvents(DeviceIntPtr pDev, xTimecoord *buff, unsigned long start, - unsigned long stop, ScreenPtr pScreen) -{ - return GetMotionHistory(pDev, buff, start, stop, pScreen); -} - -_X_EXPORT void -xf86getsecs(long * secs, long * usecs) + unsigned long stop, ScreenPtr pScreen, BOOL core) { - struct timeval tv; - - X_GETTIMEOFDAY(&tv); - if (secs) - *secs = tv.tv_sec; - if (usecs) - *usecs= tv.tv_usec; - - return; + return GetMotionHistory(pDev, buff, start, stop, pScreen, core); } diff --git a/xorg-server/hw/xfree86/common/xf86InPriv.h b/xorg-server/hw/xfree86/common/xf86InPriv.h index 62e4820cb..3838d6940 100644 --- a/xorg-server/hw/xfree86/common/xf86InPriv.h +++ b/xorg-server/hw/xfree86/common/xf86InPriv.h @@ -38,7 +38,7 @@ extern InputDriverPtr *xf86InputDriverList; extern int xf86NumInputDrivers; /* xf86Xinput.c */ -void xf86ActivateDevice(InputInfoPtr pInfo); +int xf86ActivateDevice(InputInfoPtr pInfo); /* xf86Helper.c */ InputDriverPtr xf86LookupInputDriver(const char *name); diff --git a/xorg-server/hw/xfree86/common/xf86Init.c b/xorg-server/hw/xfree86/common/xf86Init.c index fc50cafc7..f029915c6 100644 --- a/xorg-server/hw/xfree86/common/xf86Init.c +++ b/xorg-server/hw/xfree86/common/xf86Init.c @@ -71,12 +71,8 @@ #include "xf86Date.h" #include "xf86Build.h" #include "mipointer.h" -#ifdef XINPUT #include #include -#else -#include "inputstr.h" -#endif #include "xf86DDC.h" #include "xf86Xinput.h" #include "xf86InPriv.h" @@ -97,12 +93,6 @@ #include "xf86Bus.h" /* forward declarations */ - -static void xf86PrintBanner(void); -static void xf86PrintMarkers(void); -static void xf86PrintDefaultModulePath(void); -static void xf86PrintDefaultLibraryPath(void); - static Bool probe_devices_from_device_sections(DriverPtr drvp); static Bool add_matching_devices_to_configure_list(DriverPtr drvp); static Bool check_for_matching_devices(DriverPtr drvp); @@ -142,7 +132,7 @@ static Bool formatsDone = FALSE; #endif static void -xf86PrintBanner() +xf86PrintBanner(void) { #if PRE_RELEASE ErrorF("\n" @@ -249,13 +239,13 @@ xf86PrintBanner() } static void -xf86PrintMarkers() +xf86PrintMarkers(void) { LogPrintMarkers(); } static void -DoModalias() +DoModalias(void) { int i = -1; char **vlist; @@ -379,10 +369,10 @@ xf86CreateRootWindow(WindowPtr pWin) pProp->size, pProp->data, FALSE); } - + /* Look at err */ ret &= (err==Success); - + } else { xf86Msg(X_ERROR, "xf86CreateRootWindow unexpectedly called with " "non-root window %p (parent %p)\n", @@ -399,7 +389,7 @@ xf86CreateRootWindow(WindowPtr pWin) static void -PostConfigInit(void) +InstallSignalHandlers(void) { /* * Install signal handler for unexpected signals @@ -425,13 +415,6 @@ PostConfigInit(void) signal(SIGXFSZ,xf86SigHandler); #endif } - -#ifdef XF86PM - xf86OSPMClose = xf86OSPMOpen(); -#endif - - /* Do this after XF86Config is read (it's normally in OsInit()) */ - OsInitColors(); } @@ -459,7 +442,7 @@ probe_devices_from_device_sections(DriverPtr drvp) iter = pci_id_match_iterator_create(NULL); while ((pPci = pci_device_next(iter)) != NULL) { if (devList[i]->busID && *devList[i]->busID) { - if (xf86ComparePciBusString(devList[i]->busID, + if (xf86ComparePciBusString(devList[i]->busID, ((pPci->domain << 8) | pPci->bus), pPci->dev, @@ -506,7 +489,7 @@ probe_devices_from_device_sections(DriverPtr drvp) ErrorF("%s: card at %d:%d:%d is claimed by a Device section\n", drvp->driverName, pPci->bus, pPci->dev, pPci->func); #endif - + /* Allocate an entry in the lists to be returned */ entry = xf86ClaimPciSlot(pPci, drvp, device_id, devList[i], devList[i]->active); @@ -526,7 +509,7 @@ probe_devices_from_device_sections(DriverPtr drvp) } } } - + if (entry != -1) { if ((*drvp->PciProbe)(drvp, entry, pPci, devices[j].match_data)) { @@ -539,7 +522,7 @@ probe_devices_from_device_sections(DriverPtr drvp) } } - + return foundScreen; } @@ -565,8 +548,8 @@ add_matching_devices_to_configure_list(DriverPtr drvp) && ((devices[j].device_class_mask & pPci->device_class) == devices[j].device_class) ) { if (xf86CheckPciSlot(pPci)) { - GDevPtr pGDev = - xf86AddDeviceToConfigure(drvp->driverName, pPci, -1); + GDevPtr pGDev = xf86AddBusDeviceToConfigure( + drvp->driverName, BUS_PCI, pPci, -1); if (pGDev != NULL) { /* After configure pass 1, chipID and chipRev are * treated as over-rides, so clobber them here. @@ -600,11 +583,11 @@ check_for_matching_devices(DriverPtr drvp) for (j = 0; ! END_OF_MATCHES(devices[j]); j++) { struct pci_device_iterator *iter; struct pci_device *dev; - + iter = pci_id_match_iterator_create(& devices[j]); dev = pci_device_next(iter); pci_iterator_destroy(iter); - + if (dev != NULL) { return TRUE; } @@ -623,9 +606,9 @@ check_for_matching_devices(DriverPtr drvp) * is found, it is called. If \c DriverRec::PciProbe or no devices can be * successfully probed with it (e.g., only non-PCI devices are available), * the driver's \c DriverRec::Probe function is called. - * + * * \param drv Driver to probe - * + * * \return * If a device can be successfully probed by the driver, \c TRUE is * returned. Otherwise, \c FALSE is returned. @@ -653,13 +636,83 @@ xf86CallDriverProbe( DriverPtr drv, Bool detect_only ) if ( ! foundScreen && (drv->Probe != NULL) ) { xf86Msg( X_WARNING, "Falling back to old probe method for %s\n", drv->driverName ); - foundScreen = (*drv->Probe)( drv, (detect_only) ? PROBE_DETECT + foundScreen = (*drv->Probe)( drv, (detect_only) ? PROBE_DETECT : PROBE_DEFAULT ); } return foundScreen; } +static void +DoProbe(void) +{ + int i; + Bool probeResult; + Bool ioEnableFailed = FALSE; + + /* Find the list of video driver modules. */ + char **list = xf86DriverlistFromCompile(); + char **l; + + if (list) { + ErrorF("List of video driver modules:\n"); + for (l = list; *l; l++) + ErrorF("\t%s\n", *l); + } else { + ErrorF("No video driver modules found\n"); + } + + /* Load all the drivers that were found. */ + xf86LoadModules(list, NULL); + + /* Disable PCI devices */ + xf86AccessInit(); + + /* Call all of the probe functions, reporting the results. */ + for (i = 0; i < xf86NumDrivers; i++) { + DriverRec * const drv = xf86DriverList[i]; + + if (!xorgHWAccess) { + xorgHWFlags flags; + if (!drv->driverFunc + || !drv->driverFunc( NULL, GET_REQUIRED_HW_INTERFACES, &flags ) + || NEED_IO_ENABLED(flags)) { + if (ioEnableFailed) + continue; + if (!xf86EnableIO()) { + ioEnableFailed = TRUE; + continue; + } + xorgHWAccess = TRUE; + } + } + + + xf86MsgVerb(X_INFO, 3, "Probing in driver %s\n", drv->driverName); + + probeResult = xf86CallDriverProbe( drv, TRUE ); + if (!probeResult) { + xf86ErrorF("Probe in driver `%s' returns FALSE\n", + drv->driverName); + } else { + xf86ErrorF("Probe in driver `%s' returns TRUE\n", + drv->driverName); + + /* If we have a result, then call driver's Identify function */ + if (drv->Identify != NULL) { + const int verbose = xf86SetVerbosity(1); + (*drv->Identify)(0); + xf86SetVerbosity(verbose); + } + } + } + + OsCleanup(TRUE); + AbortDDX(); + fflush(stderr); + exit(0); +} + /* * InitOutput -- * Initialize screenInfo for all actually accessible framebuffers. @@ -677,7 +730,8 @@ InitOutput(ScreenInfo *pScreenInfo, int argc, char **argv) MessageType pix24From = X_DEFAULT; Bool pix24Fail = FALSE; Bool autoconfig = FALSE; - + GDevPtr configured_device; + xf86Initialising = TRUE; if (serverGeneration == 1) { @@ -703,7 +757,7 @@ InitOutput(ScreenInfo *pScreenInfo, int argc, char **argv) } /* Read and parse the config file */ - if (!xf86DoProbe && !xf86DoConfigure && !xf86DoModalias) { + if (!xf86DoProbe && !xf86DoConfigure && !xf86DoModalias && !xf86DoShowOptions) { switch (xf86HandleConfigFile(FALSE)) { case CONFIG_OK: break; @@ -716,8 +770,7 @@ InitOutput(ScreenInfo *pScreenInfo, int argc, char **argv) } } - if (!autoconfig) - PostConfigInit(); + InstallSignalHandlers(); /* Initialise the loader */ LoaderInit(); @@ -729,6 +782,9 @@ InitOutput(ScreenInfo *pScreenInfo, int argc, char **argv) LoaderSetOptions(LDR_OPT_ABI_MISMATCH_NONFATAL); } + if (xf86DoShowOptions) + DoShowOptions(); + xf86OpenConsole(); /* Do a general bus probe. This will be a PCI probe for x86 platforms */ @@ -749,9 +805,12 @@ InitOutput(ScreenInfo *pScreenInfo, int argc, char **argv) xf86Msg(X_ERROR, "Auto configuration failed\n"); return; } - PostConfigInit(); } +#ifdef XF86PM + xf86OSPMClose = xf86OSPMOpen(); +#endif + /* Initialise the resource broker */ xf86ResourceBrokerInit(); @@ -766,7 +825,7 @@ InitOutput(ScreenInfo *pScreenInfo, int argc, char **argv) /* If there aren't any specified in the config file, autoconfig them */ /* FIXME: Does not handle multiple active screen sections, but I'm not * sure if we really want to handle that case*/ - GDevPtr configured_device = xf86ConfigLayout.screens->screen->device; + configured_device = xf86ConfigLayout.screens->screen->device; if ((!configured_device) || (!configured_device->driver)) { if (!autoConfigDevice(configured_device)) { xf86Msg(X_ERROR, "Automatic driver configuration failed\n"); @@ -812,14 +871,10 @@ InitOutput(ScreenInfo *pScreenInfo, int argc, char **argv) for (i = 0; i < xf86NumDrivers; i++) { xorgHWFlags flags; - /* The Identify function is mandatory, but if it isn't there continue */ + if (xf86DriverList[i]->Identify != NULL) xf86DriverList[i]->Identify(0); - else { - xf86Msg(X_WARNING, "Driver `%s' has no Identify function\n", - xf86DriverList[i]->driverName ? xf86DriverList[i]->driverName - : "noname"); - } + if (!xorgHWAccess && (!xf86DriverList[i]->driverFunc || !xf86DriverList[i]->driverFunc(NULL, @@ -830,19 +885,16 @@ InitOutput(ScreenInfo *pScreenInfo, int argc, char **argv) } /* Enable full I/O access */ - if (xorgHWAccess) { - if(!xf86EnableIO()) - /* oops, we have failed */ - xorgHWAccess = FALSE; - } + if (xorgHWAccess) + xorgHWAccess = xf86EnableIO(); /* * Locate bus slot that had register IO enabled at server startup */ - - xf86AccessInit(); - xf86FindPrimaryDevice(); - + if (xorgHWAccess) { + xf86AccessInit(); + xf86FindPrimaryDevice(); + } /* * Now call each of the Probe functions. Each successful probe will * result in an extra entry added to the xf86Screens[] list for each @@ -856,7 +908,7 @@ InitOutput(ScreenInfo *pScreenInfo, int argc, char **argv) || !xf86DriverList[i]->driverFunc(NULL, GET_REQUIRED_HW_INTERFACES, &flags) - || NEED_IO_ENABLED(flags)) + || NEED_IO_ENABLED(flags)) continue; } @@ -892,7 +944,7 @@ InitOutput(ScreenInfo *pScreenInfo, int argc, char **argv) layout++) { Bool found = FALSE; for (j = 0; j < xf86Screens[i]->numEntities; j++) { - + GDevPtr dev = xf86GetDevFromEntity(xf86Screens[i]->entityList[j], xf86Screens[i]->entityInstanceList[j]); @@ -950,7 +1002,7 @@ InitOutput(ScreenInfo *pScreenInfo, int argc, char **argv) * Call the driver's PreInit()'s to complete initialisation for the first * generation. */ - + for (i = 0; i < xf86NumScreens; i++) { xf86EnableAccess(xf86Screens[i]); if (xf86Screens[i]->PreInit && @@ -960,7 +1012,7 @@ InitOutput(ScreenInfo *pScreenInfo, int argc, char **argv) for (i = 0; i < xf86NumScreens; i++) if (!xf86Screens[i]->configured) xf86DeleteScreen(i--, 0); - + /* * If no screens left, return now. */ @@ -971,46 +1023,14 @@ InitOutput(ScreenInfo *pScreenInfo, int argc, char **argv) return; } - /* This could be moved into a separate function */ - - /* - * Check that all screens have initialised the mandatory function - * entry points. Delete those which have not. - */ - -#define WARN_SCREEN(func) \ - xf86Msg(X_ERROR, "Driver `%s' has no %s function, deleting.\n", \ - xf86Screens[i]->name, (warned++, func)) - for (i = 0; i < xf86NumScreens; i++) { - int warned = 0; if (xf86Screens[i]->name == NULL) { - xf86Screens[i]->name = xnfalloc(strlen("screen") + 1 + 1); - if (i < 10) - sprintf(xf86Screens[i]->name, "screen%c", i + '0'); - else - sprintf(xf86Screens[i]->name, "screen%c", i - 10 + 'A'); + xf86Screens[i]->name = xnfalloc(strlen("screen") + 10 + 1); + sprintf(xf86Screens[i]->name, "screen%d", i); xf86MsgVerb(X_WARNING, 0, "Screen driver %d has no name set, using `%s'.\n", i, xf86Screens[i]->name); } - if (xf86Screens[i]->ScreenInit == NULL) - WARN_SCREEN("ScreenInit"); - if (xf86Screens[i]->EnterVT == NULL) - WARN_SCREEN("EnterVT"); - if (xf86Screens[i]->LeaveVT == NULL) - WARN_SCREEN("LeaveVT"); - if (warned) - xf86DeleteScreen(i--, 0); - } - - /* - * If no screens left, return now. - */ - - if (xf86NumScreens == 0) { - xf86Msg(X_ERROR, "Screen(s) found, but drivers were unusable.\n"); - return; } /* XXX Should this be before or after loading dependent modules? */ @@ -1121,12 +1141,12 @@ InitOutput(ScreenInfo *pScreenInfo, int argc, char **argv) FatalError("Unable to make VT property - out of memory. Exiting...\n"); } *VT = xf86Info.vtno; - + VTAtom = MakeAtom(VT_ATOM_NAME, sizeof(VT_ATOM_NAME) - 1, TRUE); for (i = 0, ret = Success; i < xf86NumScreens && ret == Success; i++) { ret = xf86RegisterRootWindowProperty(xf86Screens[i]->scrnIndex, - VTAtom, XA_INTEGER, 32, + VTAtom, XA_INTEGER, 32, 1, VT ); if (ret != Success) xf86DrvMsg(xf86Screens[i]->scrnIndex, X_WARNING, @@ -1143,14 +1163,9 @@ InitOutput(ScreenInfo *pScreenInfo, int argc, char **argv) } } -#ifdef XKB - xf86InitXkb(); -#endif /* set up the proper access funcs */ xf86PostPreInit(); - AddCallback(&ServerGrabCallback, xf86GrabServerCallback, NULL); - } else { /* * serverGeneration != 1; some OSs have to do things here, too. @@ -1174,34 +1189,6 @@ InitOutput(ScreenInfo *pScreenInfo, int argc, char **argv) xf86EnableIO(); } -#if 0 - /* - * Install signal handler for unexpected signals - */ - xf86Info.caughtSignal=FALSE; - if (!xf86Info.notrapSignals) - { - signal(SIGSEGV,xf86SigHandler); - signal(SIGILL,xf86SigHandler); -#ifdef SIGEMT - signal(SIGEMT,xf86SigHandler); -#endif - signal(SIGFPE,xf86SigHandler); -#ifdef SIGBUS - signal(SIGBUS,xf86SigHandler); -#endif -#ifdef SIGSYS - signal(SIGSYS,xf86SigHandler); -#endif -#ifdef SIGXCPU - signal(SIGXCPU,xf86SigHandler); -#endif -#ifdef SIGXFSZ - signal(SIGXFSZ,xf86SigHandler); -#endif - } -#endif - /* * Use the previously collected parts to setup pScreenInfo */ @@ -1215,7 +1202,7 @@ InitOutput(ScreenInfo *pScreenInfo, int argc, char **argv) pScreenInfo->formats[i] = formats[i]; /* Make sure the server's VT is active */ - + if (serverGeneration != 1) { xf86Resetting = TRUE; /* All screens are in the same state, so just check the first */ @@ -1225,7 +1212,7 @@ InitOutput(ScreenInfo *pScreenInfo, int argc, char **argv) #endif xf86AccessEnter(); xf86EnterServerState(SETUP); - } + } } #ifdef SCO325 else { @@ -1242,8 +1229,8 @@ InitOutput(ScreenInfo *pScreenInfo, int argc, char **argv) } #endif /* SCO325 */ - for (i = 0; i < xf86NumScreens; i++) { - xf86EnableAccess(xf86Screens[i]); + for (i = 0; i < xf86NumScreens; i++) { + xf86EnableAccess(xf86Screens[i]); /* * Almost everything uses these defaults, and many of those that * don't, will wrap them. @@ -1251,7 +1238,7 @@ InitOutput(ScreenInfo *pScreenInfo, int argc, char **argv) xf86Screens[i]->EnableDisableFBAccess = xf86EnableDisableFBAccess; xf86Screens[i]->SetDGAMode = xf86SetDGAMode; xf86Screens[i]->DPMSSet = NULL; - xf86Screens[i]->LoadPalette = NULL; + xf86Screens[i]->LoadPalette = NULL; xf86Screens[i]->SetOverscan = NULL; xf86Screens[i]->DriverFunc = NULL; xf86Screens[i]->pScreen = NULL; @@ -1286,7 +1273,7 @@ InitOutput(ScreenInfo *pScreenInfo, int argc, char **argv) #ifdef RENDER if (PictureGetSubpixelOrder (xf86Screens[i]->pScreen) == SubPixelUnknown) { - xf86MonPtr DDC = (xf86MonPtr)(xf86Screens[i]->monitor->DDC); + xf86MonPtr DDC = (xf86MonPtr)(xf86Screens[i]->monitor->DDC); PictureSetSubpixelOrder (xf86Screens[i]->pScreen, DDC ? (DDC->features.input_type ? @@ -1320,15 +1307,15 @@ InitOutput(ScreenInfo *pScreenInfo, int argc, char **argv) void InitInput(argc, argv) - int argc; - char **argv; + int argc; + char **argv; { IDevPtr* pDev; - InputDriverPtr pDrv; - InputInfoPtr pInfo; + DeviceIntPtr dev; xf86Info.vtRequestsPending = FALSE; - xf86Info.inputPending = FALSE; + + mieqInit(); /* Call the PreInit function for each input device instance. */ for (pDev = xf86ConfigLayout.inputs; pDev && *pDev; pDev++) { @@ -1337,51 +1324,18 @@ InitInput(argc, argv) strcpy((*pDev)->driver, "kbd"); } - if ((pDrv = xf86LookupInputDriver((*pDev)->driver)) == NULL) { - xf86Msg(X_ERROR, "No Input driver matching `%s'\n", (*pDev)->driver); - /* XXX For now, just continue. */ - continue; - } - if (!pDrv->PreInit) { - xf86MsgVerb(X_WARNING, 0, - "Input driver `%s' has no PreInit function (ignoring)\n", - pDrv->driverName); - continue; - } - pInfo = pDrv->PreInit(pDrv, *pDev, 0); - if (!pInfo) { - xf86Msg(X_ERROR, "PreInit returned NULL for \"%s\"\n", - (*pDev)->identifier); - continue; - } else if (!(pInfo->flags & XI86_CONFIGURED)) { - xf86Msg(X_ERROR, "PreInit failed for input device \"%s\"\n", - (*pDev)->identifier); - xf86DeleteInput(pInfo, 0); - continue; - } - } - - /* Initialise all input devices. */ - pInfo = xf86InputDevs; - while (pInfo) { - xf86Msg(X_INFO, "evaluating device (%s)\n", pInfo->name); - xf86ActivateDevice(pInfo); - pInfo = pInfo->next; + /* If one fails, the others will too */ + if (xf86NewInputDevice(*pDev, &dev, TRUE) == BadAlloc) + break; } - - mieqInit(); } -#ifndef SET_STDERR_NONBLOCKING -#define SET_STDERR_NONBLOCKING 1 -#endif - /* * OsVendorInit -- * OS/Vendor-specific initialisations. Called from OsInit(), which * is called by dix before establishing the well known sockets. */ - + void OsVendorInit() { @@ -1390,15 +1344,10 @@ OsVendorInit() #ifdef SIGCHLD signal(SIGCHLD, SIG_DFL); /* Need to wait for child processes */ #endif - OsDelayInitColors = TRUE; -#ifndef BUILTIN_FONTS - loadableFonts = TRUE; -#endif if (!beenHere) xf86LogInit(); -#if SET_STDERR_NONBLOCKING /* Set stderr to non-blocking. */ #ifndef O_NONBLOCK #if defined(FNDELAY) @@ -1406,7 +1355,6 @@ OsVendorInit() #elif defined(O_NDELAY) #define O_NONBLOCK O_NDELAY #endif -#endif #ifdef O_NONBLOCK if (!beenHere) { @@ -1456,9 +1404,6 @@ ddxGiveUp() xf86Screens[i]->busAccess = NULL; } -#ifdef USE_XF86_SERVERLOCK - xf86UnlockServer(); -#endif #ifdef XFreeXDGA DGAShutdown(); #endif @@ -1507,9 +1452,9 @@ AbortDDX() (xf86Screens[i]->LeaveVT)(i, 0); } } - + xf86AccessLeave(); - + /* * This is needed for an abnormal server exit, since the normal exit stuff * MUST also be performed (i.e. the vt must be left in a defined state) @@ -1553,6 +1498,18 @@ xf86SetLogVerbosity(int verb) return save; } +static void +xf86PrintDefaultModulePath(void) +{ + ErrorF("%s\n", DEFAULT_MODULE_PATH); +} + +static void +xf86PrintDefaultLibraryPath(void) +{ + ErrorF("%s\n", DEFAULT_LIBRARY_PATH); +} + /* * ddxProcessArgument -- * Process device-dependent command line args. Returns 0 if argument is @@ -1561,8 +1518,6 @@ xf86SetLogVerbosity(int verb) * */ - - /* ARGSUSED */ int ddxProcessArgument(int argc, char **argv, int i) @@ -1578,7 +1533,7 @@ ddxProcessArgument(int argc, char **argv, int i) UseMsg(); \ FatalError("Required argument to %s not specified\n", argv[i]); \ } - + /* First the options that are only allowed for root */ if (getuid() == 0 || geteuid() != 0) { @@ -1622,11 +1577,6 @@ ddxProcessArgument(int argc, char **argv, int i) xf86ConfigFile = argv[i + 1]; return 2; } - if (!strcmp(argv[i],"-showunresolved")) - { - xf86ShowUnresolved = TRUE; - return 1; - } if (!strcmp(argv[i],"-probeonly")) { xf86ProbeOnly = TRUE; @@ -1648,29 +1598,12 @@ ddxProcessArgument(int argc, char **argv, int i) xf86VidModeAllowNonLocal = TRUE; return 1; } -#endif -#ifdef XF86MISC - if (!strcmp(argv[i],"-disableModInDev")) - { - xf86MiscModInDevDisabled = TRUE; - return 1; - } - if (!strcmp(argv[i],"-allowNonLocalModInDev")) - { - xf86MiscModInDevAllowNonLocal = TRUE; - return 1; - } #endif if (!strcmp(argv[i],"-allowMouseOpenFail")) { xf86AllowMouseOpenFail = TRUE; return 1; } - if (!strcmp(argv[i],"-bestRefresh")) - { - xf86BestRefresh = TRUE; - return 1; - } if (!strcmp(argv[i],"-ignoreABI")) { LoaderSetOptions(LDR_OPT_ABI_MISMATCH_NONFATAL); @@ -1734,12 +1667,6 @@ ddxProcessArgument(int argc, char **argv, int i) xf86fpFlag = TRUE; return 0; } - /* Notice the -co flag, but allow it to pass to the dix layer */ - if (!strcmp(argv[i], "-co")) - { - xf86coFlag = TRUE; - return 0; - } /* Notice the -bs flag, but allow it to pass to the dix layer */ if (!strcmp(argv[i], "-bs")) { @@ -1815,11 +1742,11 @@ ddxProcessArgument(int argc, char **argv, int i) return 0; } } - if (!strcmp(argv[i], "-gamma") || !strcmp(argv[i], "-rgamma") || + if (!strcmp(argv[i], "-gamma") || !strcmp(argv[i], "-rgamma") || !strcmp(argv[i], "-ggamma") || !strcmp(argv[i], "-bgamma")) { double gamma; - CHECK_FOR_REQUIRED_ARGUMENT(); + CHECK_FOR_REQUIRED_ARGUMENT(); if (sscanf(argv[++i], "%lf", &gamma) == 1) { if (gamma < GAMMA_MIN || gamma > GAMMA_MAX) { ErrorF("gamma out of range, only %.2f <= gamma_value <= %.1f" @@ -1854,7 +1781,7 @@ ddxProcessArgument(int argc, char **argv, int i) } if (!strcmp(argv[i], "-keyboard")) { - CHECK_FOR_REQUIRED_ARGUMENT(); + CHECK_FOR_REQUIRED_ARGUMENT(); xf86KeyboardName = argv[++i]; return 2; } @@ -1891,6 +1818,15 @@ ddxProcessArgument(int argc, char **argv, int i) xf86AllowMouseOpenFail = TRUE; return 1; } + if (!strcmp(argv[i], "-showopts")) + { + if (getuid() != 0 && geteuid() == 0) { + ErrorF("The '-showopts' option can only be used by root.\n"); + exit(1); + } + xf86DoShowOptions = TRUE; + return 1; + } if (!strcmp(argv[i], "-isolateDevice")) { int bus, device, func; @@ -1908,15 +1844,17 @@ ddxProcessArgument(int argc, char **argv, int i) FatalError("Invalid isolated device specification\n"); } } + /* Notice cmdline xkbdir, but pass to dix as well */ + if (!strcmp(argv[i], "-xkbdir")) + { + xf86xkbdirFlag = TRUE; + return 0; + } + /* OS-specific processing */ return xf86ProcessArgument(argc, argv, i); } -/* ddxInitGlobals - called by |InitGlobals| from os/util.c */ -void ddxInitGlobals(void) -{ -} - /* * ddxUseMsg -- * Print out correct use of device dependent commandline options. @@ -1934,6 +1872,7 @@ ddxUseMsg() ErrorF("-modulepath paths specify the module search path\n"); ErrorF("-logfile file specify a log file name\n"); ErrorF("-configure probe for devices and write an "__XCONFIGFILE__"\n"); + ErrorF("-showopts print available options for all installed drivers\n"); } ErrorF("-modalias output a modalias-style filter for each driver installed\n"); ErrorF("-config file specify a configuration file, relative to the\n"); @@ -1961,13 +1900,7 @@ ddxUseMsg() ErrorF("-disableVidMode disable mode adjustments with xvidtune\n"); ErrorF("-allowNonLocalXvidtune allow xvidtune to be run as a non-local client\n"); #endif -#ifdef XF86MISC - ErrorF("-disableModInDev disable dynamic modification of input device settings\n"); - ErrorF("-allowNonLocalModInDev allow changes to keyboard and mouse settings\n"); - ErrorF(" from non-local clients\n"); ErrorF("-allowMouseOpenFail start server even if the mouse can't be initialized\n"); -#endif - ErrorF("-bestRefresh choose modes with the best refresh rate\n"); ErrorF("-ignoreABI make module ABI mismatches non-fatal\n"); ErrorF("-isolateDevice bus_id restrict device resets to bus_id (PCI only)\n"); ErrorF("-version show the server version\n"); @@ -1978,21 +1911,10 @@ ddxUseMsg() ErrorF("\n"); } -static void -xf86PrintDefaultModulePath(void) -{ - ErrorF("%s\n", DEFAULT_MODULE_PATH); -} - -static void -xf86PrintDefaultLibraryPath(void) -{ - ErrorF("%s\n", DEFAULT_LIBRARY_PATH); -} /* * xf86LoadModules iterates over a list that is being passed in. - */ + */ Bool xf86LoadModules(char **list, pointer *optlist) { @@ -2063,7 +1985,7 @@ xf86GetPixFormat(ScrnInfoPtr pScrn, int depth) return &format; } } - + for (i = 0; i < numFormats; i++) if (formats[i].depth == depth) break; @@ -2085,11 +2007,10 @@ xf86GetBppFromDepth(ScrnInfoPtr pScrn, int depth) { PixmapFormatPtr format; - + format = xf86GetPixFormat(pScrn, depth); if (format) return format->bitsPerPixel; else return 0; } - diff --git a/xorg-server/hw/xfree86/common/xf86MiscExt.c b/xorg-server/hw/xfree86/common/xf86MiscExt.c deleted file mode 100644 index 40c196a3e..000000000 --- a/xorg-server/hw/xfree86/common/xf86MiscExt.c +++ /dev/null @@ -1,561 +0,0 @@ -/* - * Copyright (c) 1999-2003 by The XFree86 Project, 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 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). - */ - -/* - * This file contains the Pointer/Keyboard functions needed by the - * XFree86-Misc extension. - */ - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include -#include "os.h" -#include "xf86.h" -#include "xf86Priv.h" - -#ifdef XF86MISC -#define _XF86MISC_SERVER_ -#include -#include "xf86miscproc.h" -#endif - -#define XF86_OS_PRIVS -#include "xf86_OSlib.h" - -#ifdef XINPUT -#include -#include -#include "xf86Xinput.h" -#else -#include "inputstr.h" -#endif - -#include "xf86OSmouse.h" - -#ifdef DEBUG -# define DEBUG_P(x) ErrorF(x"\n"); -#else -# define DEBUG_P(x) /**/ -#endif - -#ifdef XF86MISC - -typedef struct { - int type; - int baudrate; - int samplerate; - int resolution; - int buttons; - Bool em3buttons; - int em3timeout; - Bool chordmiddle; - int flags; - char* device; - pointer private; -} mseParamsRec, *mseParamsPtr; - -typedef struct { - int type; - int rate; - int delay; - int serverNumLock; /* obsolete */ - pointer private; -} kbdParamsRec, *kbdParamsPtr; - -/* - Sigh... - - The extension should probably be changed to use protocol - names instead of ID numbers -*/ -static struct mouse_map { - int mtype; - MouseProtocolID proto; -} m_map[] = -{ - { MTYPE_MICROSOFT, PROT_MS }, - { MTYPE_MOUSESYS, PROT_MSC }, - { MTYPE_MMSERIES, PROT_MM }, - { MTYPE_LOGITECH, PROT_LOGI }, - { MTYPE_LOGIMAN, PROT_LOGIMAN }, - { MTYPE_MMHIT, PROT_MMHIT }, - { MTYPE_GLIDEPOINT, PROT_GLIDE }, - { MTYPE_IMSERIAL, PROT_IMSERIAL }, - { MTYPE_THINKING, PROT_THINKING }, - { MTYPE_ACECAD, PROT_ACECAD }, - { MTYPE_PS_2, PROT_PS2 }, - { MTYPE_IMPS2, PROT_IMPS2 }, - { MTYPE_EXPPS2, PROT_EXPPS2 }, - { MTYPE_THINKINGPS2, PROT_THINKPS2 }, - { MTYPE_MMANPLUSPS2, PROT_MMPS2 }, - { MTYPE_GLIDEPOINTPS2, PROT_GLIDEPS2 }, - { MTYPE_NETPS2, PROT_NETPS2 }, - { MTYPE_NETSCROLLPS2, PROT_NETSCPS2 }, - { MTYPE_BUSMOUSE, PROT_BM }, - { MTYPE_AUTOMOUSE, PROT_AUTO }, - { MTYPE_SYSMOUSE, PROT_SYSMOUSE }, - { MTYPE_UNKNOWN, PROT_UNKNOWN } -}; - -static int -MapMseProtoToMisc(MouseProtocolID proto) -{ - int i; - - for (i = 0; m_map[i].proto != PROT_UNKNOWN; i++) - if (proto == m_map[i].proto) - return m_map[i].mtype; - - return MTYPE_UNKNOWN; -} - -static MouseProtocolID -MapMseMiscToProto(int proto) -{ - int i; - - for (i = 0; m_map[i].mtype != MTYPE_UNKNOWN; i++) - if (proto == m_map[i].mtype) - return m_map[i].proto; - - return PROT_UNKNOWN; -} - -_X_EXPORT Bool -MiscExtGetMouseSettings(pointer *mouse, char **devname) -{ - mseParamsPtr mseptr; - - mseptr = MiscExtCreateStruct(MISC_POINTER); - if (!mseptr) - return FALSE; - - { - InputInfoPtr pInfo = mseptr->private; - MouseDevPtr pMse; - - *devname = xf86FindOptionValue(pInfo->options, "Device"); - pMse = pInfo->private; - - mseptr->type = MapMseProtoToMisc(pMse->protocolID); - mseptr->baudrate = pMse->baudRate; - mseptr->samplerate = pMse->sampleRate; - mseptr->resolution = pMse->resolution; - mseptr->buttons = pMse->buttons; - mseptr->em3buttons = pMse->emulate3Buttons; - mseptr->em3timeout = pMse->emulate3Timeout; - mseptr->chordmiddle = pMse->chordMiddle; - mseptr->flags = pMse->mouseFlags; - } - *mouse = mseptr; - return TRUE; -} - -_X_EXPORT int -MiscExtGetMouseValue(pointer mouse, MiscExtMseValType valtype) -{ - mseParamsPtr mse = mouse; - - switch (valtype) { - case MISC_MSE_PROTO: return mse->type; - case MISC_MSE_BAUDRATE: return mse->baudrate; - case MISC_MSE_SAMPLERATE: return mse->samplerate; - case MISC_MSE_RESOLUTION: return mse->resolution; - case MISC_MSE_BUTTONS: return mse->buttons; - case MISC_MSE_EM3BUTTONS: return mse->em3buttons; - case MISC_MSE_EM3TIMEOUT: return mse->em3timeout; - case MISC_MSE_CHORDMIDDLE: return mse->chordmiddle; - case MISC_MSE_FLAGS: return mse->flags; - } - return 0; -} - -_X_EXPORT Bool -MiscExtSetMouseValue(pointer mouse, MiscExtMseValType valtype, int value) -{ - mseParamsPtr mse = mouse; - - switch (valtype) { - case MISC_MSE_PROTO: - mse->type = value; - return TRUE; - case MISC_MSE_BAUDRATE: - mse->baudrate = value; - return TRUE; - case MISC_MSE_SAMPLERATE: - mse->samplerate = value; - return TRUE; - case MISC_MSE_RESOLUTION: - mse->resolution = value; - return TRUE; - case MISC_MSE_BUTTONS: - mse->buttons = value; - return TRUE; - case MISC_MSE_EM3BUTTONS: - mse->em3buttons = value; - return TRUE; - case MISC_MSE_EM3TIMEOUT: - mse->em3timeout = value; - return TRUE; - case MISC_MSE_CHORDMIDDLE: - mse->chordmiddle = value; - return TRUE; - case MISC_MSE_FLAGS: - mse->flags = value; - return TRUE; - } - return FALSE; -} - -_X_EXPORT Bool -MiscExtSetMouseDevice(pointer mouse, char* device) -{ - mseParamsPtr mse = mouse; - mse->device = device; - - return TRUE; -} - -_X_EXPORT Bool -MiscExtGetKbdSettings(pointer *kbd) -{ - return FALSE; -} - -_X_EXPORT int -MiscExtGetKbdValue(pointer keyboard, MiscExtKbdValType valtype) -{ - return 0; -} - -_X_EXPORT Bool -MiscExtSetKbdValue(pointer keyboard, MiscExtKbdValType valtype, int value) -{ - return FALSE; -} - -static void -MiscExtClientStateCallback(CallbackListPtr *callbacks, - pointer data, pointer args) -{ - NewClientInfoRec *clientinfo = (NewClientInfoRec*)args; - - if (clientinfo->client == xf86Info.grabInfo.override && - clientinfo->client->clientState == ClientStateGone) { - xf86Info.grabInfo.override = NULL; - xf86Info.grabInfo.disabled = 0; - DeleteCallback(&ClientStateCallback, MiscExtClientStateCallback, NULL); - } -} - -#define MiscExtGrabStateSuccess 0 /* No errors */ -#define MiscExtGrabStateLocked 1 /* A client already requested that - * grabs cannot be removed/killed */ -#define MiscExtGrabStateAlready 2 /* Request for enabling/disabling - * grab removeal/kill already done */ -_X_EXPORT int -MiscExtSetGrabKeysState(ClientPtr client, int state) -{ - if (xf86Info.grabInfo.override == NULL || - xf86Info.grabInfo.override == client) { - if (state == 0 && xf86Info.grabInfo.disabled == 0) { - xf86Info.grabInfo.disabled = 1; - AddCallback(&ClientStateCallback, - MiscExtClientStateCallback, NULL); - xf86Info.grabInfo.override = client; - } - else if (state == 1 && xf86Info.grabInfo.disabled == 1) { - xf86Info.grabInfo.disabled = 0; - DeleteCallback(&ClientStateCallback, - MiscExtClientStateCallback, NULL); - xf86Info.grabInfo.override = NULL; - } - else - return MiscExtGrabStateAlready; - - return MiscExtGrabStateSuccess; - } - - return MiscExtGrabStateLocked; -} - -_X_EXPORT pointer -MiscExtCreateStruct(MiscExtStructType mse_or_kbd) -{ - switch (mse_or_kbd) { - case MISC_POINTER: - { - mseParamsPtr mseptr; - InputInfoPtr pInfo = xf86InputDevs; - - while (pInfo) { - if (pInfo->dev == inputInfo.pointer) - break; - pInfo = pInfo->next; - } - if (!pInfo) - return NULL; - - mseptr = xcalloc(sizeof(mseParamsRec),1); - if (mseptr) - mseptr->private = pInfo; - return mseptr; - } - case MISC_KEYBOARD: - return xcalloc(sizeof(kbdParamsRec),1); - } - return 0; -} - -_X_EXPORT void -MiscExtDestroyStruct(pointer structure, MiscExtStructType mse_or_kbd) -{ - switch (mse_or_kbd) { - case MISC_POINTER: - case MISC_KEYBOARD: - xfree(structure); - } -} - -static Bool -MiscExtAuthorizeDevice(InputInfoPtr pInfo, char *device) -{ - Bool authorized = FALSE; - char *elem; - struct stat dev, dev_list; - const char *olddev = xf86FindOptionValue(pInfo->options, "Device"); - - if (stat(device,&dev)) - return FALSE; - - if (!S_ISCHR(dev.st_mode)) - return FALSE; - - if (!stat(olddev,&dev_list)) { - if (dev_list.st_dev == dev.st_dev - && dev_list.st_ino == dev.st_ino) { - authorized = TRUE; - } - } - - if (!authorized) { - char *path; - - if (!xf86InputDeviceList - || (path = strdup(xf86InputDeviceList)) == NULL) - return FALSE; - - elem = strtok(path,","); - - while (elem) { - - if (!stat(elem,&dev_list)) { - if (dev_list.st_dev == dev.st_dev - && dev_list.st_ino == dev.st_ino) { - authorized = TRUE; - break; - - } - } - elem = strtok(NULL,","); - } - xfree(path); - } -#if 0 - ErrorF("AUTHORIZED: %s\n",authorized?"Yes":"No"); -#endif - return (authorized); -} - -_X_EXPORT MiscExtReturn -MiscExtApply(pointer structure, MiscExtStructType mse_or_kbd) -{ - if (mse_or_kbd == MISC_POINTER) { - Bool protoChanged = FALSE; - int oldflags; - Bool reopen = FALSE; - MouseProtocolID newProtocol; - mseParamsPtr mse = structure; - InputInfoPtr pInfo; - MouseDevPtr pMse; - pointer xf86MouseProtocolIDToName - = LoaderSymbol("xf86MouseProtocolIDToName"); - if (!xf86MouseProtocolIDToName) - return MISC_RET_NOMODULE; - if (mse->type < MTYPE_MICROSOFT - || (mse->type > MTYPE_EXPPS2 - && (mse->type != MTYPE_OSMOUSE))) - return MISC_RET_BADMSEPROTO; -#ifdef OSMOUSE_ONLY - if (mse->type != MTYPE_OSMOUSE) - return MISC_RET_BADMSEPROTO; -#else - if (mse->type == MTYPE_OSMOUSE) - return MISC_RET_BADMSEPROTO; -#endif /* OSMOUSE_ONLY */ - - if (mse->em3timeout < 0) - return MISC_RET_BADVAL; - - if (mse->type == MTYPE_LOGIMAN - && !(mse->baudrate == 0 - || mse->baudrate == 1200 - || mse->baudrate == 9600)) - return MISC_RET_BADBAUDRATE; - if (mse->type == MTYPE_LOGIMAN && mse->samplerate) - return MISC_RET_BADCOMBO; - - if (mse->flags & MF_REOPEN) { - reopen = TRUE; - mse->flags &= ~MF_REOPEN; - } - if (mse->type != MTYPE_OSMOUSE - && mse->type != MTYPE_PS_2 - && mse->type != MTYPE_BUSMOUSE - && mse->type != MTYPE_IMPS2 - && mse->type != MTYPE_THINKINGPS2 - && mse->type != MTYPE_MMANPLUSPS2 - && mse->type != MTYPE_GLIDEPOINTPS2 - && mse->type != MTYPE_NETPS2 - && mse->type != MTYPE_NETSCROLLPS2 - && mse->type != MTYPE_SYSMOUSE) - { - if (mse->baudrate % 1200 != 0 - || (mse->baudrate != 0 && mse->baudrate < 1200) - || mse->baudrate > 9600) - return MISC_RET_BADBAUDRATE; - } - if ((mse->flags & (MF_CLEAR_DTR|MF_CLEAR_RTS)) - && (mse->type != MTYPE_MOUSESYS)) - return MISC_RET_BADFLAGS; - - if (mse->type != MTYPE_OSMOUSE - && mse->type != MTYPE_BUSMOUSE) - { - if (mse->samplerate < 0) - return MISC_RET_BADVAL; - } - - if (mse->resolution < 0) - return MISC_RET_BADVAL; - if (mse->chordmiddle) - { - if (mse->em3buttons || !(mse->type == MTYPE_MICROSOFT - || mse->type == MTYPE_LOGIMAN) ) - return MISC_RET_BADCOMBO; - } - - /* XXX - This still needs work */ - - pInfo = mse->private; - pMse = pInfo->private; - oldflags = pMse->mouseFlags; - - newProtocol = MapMseMiscToProto(mse->type); - protoChanged = pMse->protocolID != newProtocol; - if (protoChanged - || pMse->baudRate != mse->baudrate - || pMse->sampleRate != mse->samplerate - || pMse->resolution != mse->resolution - || pMse->mouseFlags != mse->flags) - reopen = TRUE; - - if (mse->device) - reopen = TRUE; - - if (reopen) - (pMse->device->deviceProc)(pMse->device, DEVICE_CLOSE); - - pMse->protocolID = newProtocol; - pMse->baudRate = mse->baudrate; - pMse->sampleRate = mse->samplerate; - pMse->resolution = mse->resolution; - pMse->buttons = mse->buttons; - pMse->emulate3Buttons = mse->em3buttons; - pMse->emulate3Timeout = mse->em3timeout; - pMse->chordMiddle = mse->chordmiddle; - pMse->mouseFlags = mse->flags; - - pMse->protocol = ((const char *(*)(MouseProtocolID)) - xf86MouseProtocolIDToName)(pMse->protocolID); - - if (mse->device) { - if (MiscExtAuthorizeDevice(pInfo, mse->device)) { - xf86ReplaceStrOption(pInfo->options, "Device", mse->device); - } else { - return MISC_RET_BADVAL; - } - } - - if (reopen) { - /* Only if protocol is changed explicitely disable auto detect */ - if (protoChanged) - pMse->autoProbe = FALSE; - (pMse->device->deviceProc)(pMse->device, DEVICE_ON); - } - /* Set pInfo->options too */ - - if ((oldflags & MF_CLEAR_DTR) != (pMse->mouseFlags & MF_CLEAR_DTR)) - xf86ReplaceBoolOption(pInfo->options, "ClearDTR", - pMse->mouseFlags | MF_CLEAR_DTR); - if ((oldflags & MF_CLEAR_RTS) != (pMse->mouseFlags & MF_CLEAR_RTS)) - xf86ReplaceBoolOption(pInfo->options, "ClearRTS", - pMse->mouseFlags | MF_CLEAR_RTS); - } - return MISC_RET_BADVAL; -} - -_X_EXPORT Bool -MiscExtGetFilePaths(const char **configfile, const char **modulepath, - const char **logfile) -{ - *configfile = xf86ConfigFile; - *modulepath = xf86ModulePath; - *logfile = xf86LogFile; - - return TRUE; -} - -_X_EXPORT int -MiscExtPassMessage(int scrnIndex, const char *msgtype, const char *msgval, - char **retstr) -{ - ScrnInfoPtr pScr = xf86Screens[scrnIndex]; - - /* should check this in the protocol, but xf86NumScreens isn't exported */ - if (scrnIndex >= xf86NumScreens) - return BadValue; - - if (*pScr->HandleMessage == NULL) - return BadImplementation; - return (*pScr->HandleMessage)(scrnIndex, msgtype, msgval, retstr); -} - -#endif /* XF86MISC */ - diff --git a/xorg-server/hw/xfree86/common/xf86Mode.c b/xorg-server/hw/xfree86/common/xf86Mode.c index c1b0a5fc9..24a431dc5 100644 --- a/xorg-server/hw/xfree86/common/xf86Mode.c +++ b/xorg-server/hw/xfree86/common/xf86Mode.c @@ -39,6 +39,7 @@ #endif #include +#include "xf86Modes.h" #include "os.h" #include "servermd.h" #include "mibank.h" @@ -705,16 +706,9 @@ xf86CheckModeForMonitor(DisplayModePtr mode, MonPtr monitor) * -- libv */ - /* Is the horizontal blanking a bit lowish? */ - if (((mode->HDisplay * 5 / 4) & ~0x07) > mode->HTotal) { - /* is this a cvt -r mode, and only a cvt -r mode? */ - if (((mode->HTotal - mode->HDisplay) == 160) && - ((mode->HSyncEnd - mode->HDisplay) == 80) && - ((mode->HSyncEnd - mode->HSyncStart) == 32) && - ((mode->VSyncStart - mode->VDisplay) == 3)) { - if (!monitor->reducedblanking && !(mode->type & M_T_DRIVER)) - return MODE_NO_REDUCED; - } + if (xf86ModeIsReduced(mode)) { + if (!monitor->reducedblanking && !(mode->type & M_T_DRIVER)) + return MODE_NO_REDUCED; } if ((monitor->maxPixClock) && (mode->Clock > monitor->maxPixClock)) diff --git a/xorg-server/hw/xfree86/common/xf86Module.h b/xorg-server/hw/xfree86/common/xf86Module.h index 5ce6e8a26..81011e163 100644 --- a/xorg-server/hw/xfree86/common/xf86Module.h +++ b/xorg-server/hw/xfree86/common/xf86Module.h @@ -42,7 +42,6 @@ #define _XF86MODULE_H #include "misc.h" -#include "xf86Version.h" #ifndef NULL #define NULL ((void *)0) #endif @@ -83,9 +82,9 @@ typedef enum { * mask is 0xFFFF0000. */ #define ABI_ANSIC_VERSION SET_ABI_VERSION(0, 4) -#define ABI_VIDEODRV_VERSION SET_ABI_VERSION(4, 1) -#define ABI_XINPUT_VERSION SET_ABI_VERSION(2, 1) -#define ABI_EXTENSION_VERSION SET_ABI_VERSION(1, 1) +#define ABI_VIDEODRV_VERSION SET_ABI_VERSION(5, 0) +#define ABI_XINPUT_VERSION SET_ABI_VERSION(4, 0) +#define ABI_EXTENSION_VERSION SET_ABI_VERSION(2, 0) #define ABI_FONT_VERSION SET_ABI_VERSION(0, 6) #define MODINFOSTRING1 0xef23fdc5 @@ -194,7 +193,6 @@ pointer LoadSubModuleLocal(pointer, const char *, const char **, const char **, pointer, const XF86ModReqInfo *, int *, int *); void UnloadSubModule(pointer); -void LoadFont(pointer); void UnloadModule (pointer); #endif pointer LoaderSymbol(const char *); @@ -209,6 +207,7 @@ void LoaderReqSymLists(const char **, ...); void LoaderReqSymbols(const char *, ...); int LoaderCheckUnresolved(int); void LoaderGetOS(const char **name, int *major, int *minor, int *teeny); +Bool LoaderShouldIgnoreABI(void); int LoaderGetABIVersion(const char *abiclass); typedef pointer (*ModuleSetupProc)(pointer, pointer, int *, int *); diff --git a/xorg-server/hw/xfree86/common/xf86Priv.h b/xorg-server/hw/xfree86/common/xf86Priv.h index c0d240dd5..41ca8f531 100644 --- a/xorg-server/hw/xfree86/common/xf86Priv.h +++ b/xorg-server/hw/xfree86/common/xf86Priv.h @@ -39,6 +39,7 @@ #include "xf86Privstr.h" #include "propertyst.h" +#include "input.h" /* * Parameters set ONLY from the command line options @@ -50,16 +51,12 @@ extern Bool xf86AllowMouseOpenFail; extern Bool xf86VidModeDisabled; extern Bool xf86VidModeAllowNonLocal; #endif -#ifdef XF86MISC -extern Bool xf86MiscModInDevDisabled; -extern Bool xf86MiscModInDevAllowNonLocal; -#endif extern Bool xf86fpFlag; -extern Bool xf86coFlag; extern Bool xf86sFlag; extern Bool xf86bsEnableFlag; extern Bool xf86bsDisableFlag; extern Bool xf86silkenMouseDisableFlag; +extern Bool xf86xkbdirFlag; extern Bool xf86acpiDisableFlag; extern char *xf86LayoutName; extern char *xf86ScreenName; @@ -73,10 +70,8 @@ extern int xf86Depth; extern Pix24Flags xf86Pix24; extern rgb xf86Weight; extern Bool xf86FlipPixels; -extern Bool xf86BestRefresh; extern Gamma xf86Gamma; extern char *xf86ServerName; -extern Bool xf86ShowUnresolved; extern struct pci_slot_match xf86IsolateDevice; /* Other parameters */ @@ -156,20 +151,19 @@ Bool xf86PathIsSafe(const char *path); extern const DisplayModeRec xf86DefaultModes[]; extern const int xf86NumDefaultModes; -/* xf86DoProbe.c */ -void DoProbe(void); +/* xf86Configure.c */ void DoConfigure(void); +/* xf86ShowOpts.c */ +void DoShowOptions(void); + /* xf86Events.c */ -void xf86PostKbdEvent(unsigned key); -void xf86PostMseEvent(DeviceIntPtr device, int buttons, int dx, int dy); void xf86Wakeup(pointer blockData, int err, pointer pReadmask); void xf86SigHandler(int signo); void xf86HandlePMEvents(int fd, pointer data); extern int (*xf86PMGetEventFromOs)(int fd,pmEvent *events,int num); extern pmWait (*xf86PMConfirmEventToOs)(int fd,pmEvent event); -void xf86GrabServerCallback(CallbackListPtr *, pointer, pointer); /* xf86Helper.c */ void xf86LogInit(void); @@ -181,18 +175,8 @@ int xf86SetVerbosity(int verb); int xf86SetLogVerbosity(int verb); Bool xf86CallDriverProbe( struct _DriverRec * drv, Bool detect_only ); -/* xf86Lock.c */ - -#ifdef USE_XF86_SERVERLOCK -void xf86UnlockServer(void); -#endif - -/* xf86XKB.c */ - -void xf86InitXkb(void); - /* xf86Xinput.c */ -extern xEvent *xf86Events; +extern EventList *xf86Events; #endif /* _NO_XF86_PROTOTYPES */ diff --git a/xorg-server/hw/xfree86/common/xf86Privstr.h b/xorg-server/hw/xfree86/common/xf86Privstr.h index 8cab56ec8..6a7a6dc86 100644 --- a/xorg-server/hw/xfree86/common/xf86Privstr.h +++ b/xorg-server/hw/xfree86/common/xf86Privstr.h @@ -37,17 +37,6 @@ #include "xf86Pci.h" #include "xf86str.h" -/* PCI probe flags */ - -typedef enum { - PCIProbe1 = 0, - PCIProbe2, - PCIForceConfig1, - PCIForceConfig2, - PCIForceNone, - PCIOsConfig -} PciProbeType; - typedef enum { LogNone, LogFlush, @@ -78,16 +67,9 @@ typedef struct { Bool vtSysreq; SpecialKeysInDDX ddxSpecialKeys; - /* mouse part */ - DeviceIntPtr pMouse; -#ifdef XINPUT - pointer mouseLocal; -#endif - /* event handler part */ int lastEventTime; Bool vtRequestsPending; - Bool inputPending; Bool dontVTSwitch; Bool dontZap; Bool dontZoom; @@ -95,7 +77,6 @@ typedef struct { Bool caughtSignal; /* graphics part */ - Bool sharedMonitor; ScreenPtr currentScreen; #if defined(CSRG_BASED) || defined(__FreeBSD_kernel__) int screenFd; /* fd for memory mapped access to @@ -111,7 +92,6 @@ typedef struct { Bool miscModInDevEnabled; /* Allow input devices to be * changed */ Bool miscModInDevAllowNonLocal; - PciProbeType pciFlags; Pix24Flags pixmap24; MessageType pix24From; #ifdef __i386__ @@ -119,7 +99,6 @@ typedef struct { #endif Bool pmFlag; Log log; - int estimateSizesAggressively; Bool kbdCustomKeycodes; Bool disableRandR; MessageType randRFrom; @@ -131,18 +110,6 @@ typedef struct { Bool useDefaultFontPath; MessageType useDefaultFontPathFrom; Bool ignoreABI; - struct { - Bool disabled; /* enable/disable deactivating - * grabs or closing the - * connection to the grabbing - * client */ - ClientPtr override; /* client that disabled - * grab deactivation. - */ - Bool allowDeactivate; - Bool allowClosedown; - ServerGrabInfoRec server; - } grabInfo; Bool allowEmptyInput; /* Allow the server to start with no input * devices. */ diff --git a/xorg-server/hw/xfree86/common/xf86RAC.c b/xorg-server/hw/xfree86/common/xf86RAC.c new file mode 100644 index 000000000..24d29e445 --- /dev/null +++ b/xorg-server/hw/xfree86/common/xf86RAC.c @@ -0,0 +1,1171 @@ +#ifdef HAVE_XORG_CONFIG_H +#include +#endif + +#include "misc.h" +#include "xf86.h" +#include "xf86_OSproc.h" + +#include +#include "colormapst.h" +#include "scrnintstr.h" +#include "screenint.h" +#include "gcstruct.h" +#include "pixmapstr.h" +#include "pixmap.h" +#include "windowstr.h" +#include "window.h" +#include "xf86str.h" +#include "xf86RAC.h" +#include "mipointer.h" +#include "mipointrst.h" +#ifdef RENDER +# include "picturestr.h" +#endif + +#ifdef DEBUG +#define DPRINT_S(x,y) ErrorF(x ": %i\n",y); +#define DPRINT(x) ErrorF(x "\n"); +#else +#define DPRINT_S(x,y) +#define DPRINT(x) +#endif + +#define WRAP_SCREEN(x,y) {pScreenPriv->x = pScreen->x;\ + pScreen->x = y;} +#define WRAP_SCREEN_COND(x,y,cond) \ + {pScreenPriv->x = pScreen->x;\ + if (flag & (cond))\ + pScreen->x = y;} +#define UNWRAP_SCREEN(x) pScreen->x = pScreenPriv->x + +#define SCREEN_PROLOG(x) pScreen->x = ((RACScreenPtr) \ + dixLookupPrivate(&(pScreen)->devPrivates, RACScreenKey))->x +#define SCREEN_EPILOG(x,y) pScreen->x = y; + +#define WRAP_PICT_COND(x,y,cond) if (ps)\ + {pScreenPriv->x = ps->x;\ + if (flag & (cond))\ + ps->x = y;} +#define UNWRAP_PICT(x) if (ps) {ps->x = pScreenPriv->x;} + +#define PICTURE_PROLOGUE(field) ps->field = \ + ((RACScreenPtr)dixLookupPrivate(&(pScreen)->devPrivates, RACScreenKey))->field +#define PICTURE_EPILOGUE(field, wrap) \ + ps->field = wrap + +#define WRAP_SCREEN_INFO(x,y) {pScreenPriv->x = pScrn->x;\ + pScrn->x = y;} +#define WRAP_SCREEN_INFO_COND(x,y,cond) \ + {pScreenPriv->x = pScrn->x;\ + if (flag & (cond))\ + pScrn->x = y;} +#define UNWRAP_SCREEN_INFO(x) pScrn->x = pScreenPriv->x + +#define SPRITE_PROLOG miPointerScreenPtr PointPriv = \ + (miPointerScreenPtr)dixLookupPrivate(&pScreen->devPrivates, miPointerScreenKey); \ + RACScreenPtr pScreenPriv = \ + ((RACScreenPtr)dixLookupPrivate(&(pScreen)->devPrivates, RACScreenKey));\ + PointPriv->spriteFuncs = pScreenPriv->miSprite; +#define SPRITE_EPILOG pScreenPriv->miSprite = PointPriv->spriteFuncs;\ + PointPriv->spriteFuncs = &RACSpriteFuncs; +#define WRAP_SPRITE_COND(cond){pScreenPriv->miSprite = PointPriv->spriteFuncs;\ + if(flag & (cond))\ + PointPriv->spriteFuncs = &RACSpriteFuncs;} +#define UNWRAP_SPRITE PointPriv->spriteFuncs = pScreenPriv->miSprite + + +#define GC_WRAP(x) pGCPriv->wrapOps = (x)->ops;\ + pGCPriv->wrapFuncs = (x)->funcs;\ + (x)->ops = &RACGCOps;\ + (x)->funcs = &RACGCFuncs; +#define GC_UNWRAP(x)\ + RACGCPtr pGCPriv = (RACGCPtr)dixLookupPrivate(&(x)->devPrivates, RACGCKey);\ + (x)->ops = pGCPriv->wrapOps;\ + (x)->funcs = pGCPriv->wrapFuncs; + +#define GC_SCREEN register ScrnInfoPtr pScrn \ + = xf86Screens[pGC->pScreen->myNum] + +#define ENABLE xf86EnableAccess(xf86Screens[pScreen->myNum]) +#define ENABLE_GC xf86EnableAccess(xf86Screens[pGC->pScreen->myNum]) + +typedef struct _RACScreen { + CreateGCProcPtr CreateGC; + CloseScreenProcPtr CloseScreen; + GetImageProcPtr GetImage; + GetSpansProcPtr GetSpans; + SourceValidateProcPtr SourceValidate; + CopyWindowProcPtr CopyWindow; + ClearToBackgroundProcPtr ClearToBackground; + CreatePixmapProcPtr CreatePixmap; + SaveScreenProcPtr SaveScreen; + /* Colormap */ + StoreColorsProcPtr StoreColors; + /* Cursor */ + DisplayCursorProcPtr DisplayCursor; + RealizeCursorProcPtr RealizeCursor; + UnrealizeCursorProcPtr UnrealizeCursor; + RecolorCursorProcPtr RecolorCursor; + SetCursorPositionProcPtr SetCursorPosition; + void (*AdjustFrame)(int,int,int,int); + Bool (*SwitchMode)(int, DisplayModePtr,int); + Bool (*EnterVT)(int, int); + void (*LeaveVT)(int, int); + void (*FreeScreen)(int, int); + miPointerSpriteFuncPtr miSprite; +#ifdef RENDER + CompositeProcPtr Composite; + GlyphsProcPtr Glyphs; + CompositeRectsProcPtr CompositeRects; +#endif +} RACScreenRec, *RACScreenPtr; + +typedef struct _RACGC { + GCOps *wrapOps; + GCFuncs *wrapFuncs; +} RACGCRec, *RACGCPtr; + +/* Screen funcs */ +static Bool RACCloseScreen (int i, ScreenPtr pScreen); +static void RACGetImage (DrawablePtr pDrawable, int sx, int sy, + int w, int h, unsigned int format, + unsigned long planemask, char *pdstLine); +static void RACGetSpans (DrawablePtr pDrawable, int wMax, DDXPointPtr ppt, + int *pwidth, int nspans, char *pdstStart); +static void RACSourceValidate (DrawablePtr pDrawable, + int x, int y, int width, int height ); +static void RACCopyWindow(WindowPtr pWin, DDXPointRec ptOldOrg, + RegionPtr prgnSrc ); +static void RACClearToBackground (WindowPtr pWin, int x, int y, + int w, int h, Bool generateExposures ); +static PixmapPtr RACCreatePixmap(ScreenPtr pScreen, int w, int h, int depth, + unsigned usage_hint); +static Bool RACCreateGC(GCPtr pGC); +static Bool RACSaveScreen(ScreenPtr pScreen, Bool unblank); +static void RACStoreColors (ColormapPtr pmap, int ndef, xColorItem *pdefs); +static void RACRecolorCursor (DeviceIntPtr pDev, ScreenPtr pScreen, + CursorPtr pCurs, Bool displayed); +static Bool RACRealizeCursor (DeviceIntPtr pDev, ScreenPtr pScreen, + CursorPtr pCursor); +static Bool RACUnrealizeCursor (DeviceIntPtr pDev, ScreenPtr pScreen, + CursorPtr pCursor); +static Bool RACDisplayCursor (DeviceIntPtr pDev, ScreenPtr pScreen, + CursorPtr pCursor); +static Bool RACSetCursorPosition (DeviceIntPtr pDev, ScreenPtr pScreen, + int x, int y, Bool generateEvent); +static void RACAdjustFrame(int index, int x, int y, int flags); +static Bool RACSwitchMode(int index, DisplayModePtr mode, int flags); +static Bool RACEnterVT(int index, int flags); +static void RACLeaveVT(int index, int flags); +static void RACFreeScreen(int index, int flags); +/* GC funcs */ +static void RACValidateGC(GCPtr pGC, unsigned long changes, DrawablePtr pDraw); +static void RACChangeGC(GCPtr pGC, unsigned long mask); +static void RACCopyGC(GCPtr pGCSrc, unsigned long mask, GCPtr pGCDst); +static void RACDestroyGC(GCPtr pGC); +static void RACChangeClip(GCPtr pGC, int type, pointer pvalue, int nrects); +static void RACDestroyClip(GCPtr pGC); +static void RACCopyClip(GCPtr pgcDst, GCPtr pgcSrc); +/* GC ops */ +static void RACFillSpans( DrawablePtr pDraw, GC *pGC, int nInit, + DDXPointPtr pptInit, int *pwidthInit, int fSorted ); +static void RACSetSpans(DrawablePtr pDraw, GCPtr pGC, char *pcharsrc, + register DDXPointPtr ppt, int *pwidth, int nspans, + int fSorted ); +static void RACPutImage(DrawablePtr pDraw, GCPtr pGC, int depth, + int x, int y, int w, int h, int leftPad, + int format, char *pImage ); +static RegionPtr RACCopyArea(DrawablePtr pSrc, DrawablePtr pDst, + GC *pGC, int srcx, int srcy, + int width, int height, + int dstx, int dsty ); +static RegionPtr RACCopyPlane(DrawablePtr pSrc, DrawablePtr pDst, + GCPtr pGC, int srcx, int srcy, + int width, int height, int dstx, int dsty, + unsigned long bitPlane ); +static void RACPolyPoint(DrawablePtr pDraw, GCPtr pGC, int mode, + int npt, xPoint *pptInit ); +static void RACPolylines(DrawablePtr pDraw, GCPtr pGC, int mode, + int npt, DDXPointPtr pptInit ); +static void RACPolySegment(DrawablePtr pDraw, GCPtr pGC, int nseg, + xSegment *pSeg ); +static void RACPolyRectangle(DrawablePtr pDraw, GCPtr pGC, int nRectsInit, + xRectangle *pRectsInit ); +static void RACPolyArc(DrawablePtr pDraw, GCPtr pGC, int narcs, + xArc *parcs ); +static void RACFillPolygon(DrawablePtr pDraw, GCPtr pGC, int shape, int mode, + int count, DDXPointPtr ptsIn ); +static void RACPolyFillRect( DrawablePtr pDraw, GCPtr pGC, int nrectFill, + xRectangle *prectInit ); +static void RACPolyFillArc(DrawablePtr pDraw, GCPtr pGC, int narcs, + xArc *parcs ); +static int RACPolyText8(DrawablePtr pDraw, GCPtr pGC, int x, int y, + int count, char *chars ); +static int RACPolyText16(DrawablePtr pDraw, GCPtr pGC, int x, int y, + int count, unsigned short *chars ); +static void RACImageText8(DrawablePtr pDraw, GCPtr pGC, int x, int y, + int count, char *chars ); +static void RACImageText16(DrawablePtr pDraw, GCPtr pGC, int x, int y, + int count, unsigned short *chars ); +static void RACImageGlyphBlt(DrawablePtr pDraw, GCPtr pGC, int xInit, + int yInit, unsigned int nglyph, + CharInfoPtr *ppci, pointer pglyphBase ); +static void RACPolyGlyphBlt(DrawablePtr pDraw, GCPtr pGC, int xInit, + int yInit, unsigned int nglyph, + CharInfoPtr *ppci, pointer pglyphBase ); +static void RACPushPixels(GCPtr pGC, PixmapPtr pBitMap, DrawablePtr pDraw, + int dx, int dy, int xOrg, int yOrg ); +/* miSpriteFuncs */ +static Bool RACSpriteRealizeCursor(DeviceIntPtr pDev, ScreenPtr pScreen, + CursorPtr pCur); +static Bool RACSpriteUnrealizeCursor(DeviceIntPtr pDev, ScreenPtr pScreen, + CursorPtr pCur); +static void RACSpriteSetCursor(DeviceIntPtr pDev, ScreenPtr pScreen, + CursorPtr pCur, int x, int y); +static void RACSpriteMoveCursor(DeviceIntPtr pDev, ScreenPtr pScreen, + int x, int y); +#ifdef RENDER +static void RACComposite(CARD8 op, PicturePtr pSrc, PicturePtr pMask, + PicturePtr pDst, INT16 xSrc, INT16 ySrc, + INT16 xMask, INT16 yMask, INT16 xDst, + INT16 yDst, CARD16 width, CARD16 height); +static void RACGlyphs(CARD8 op, PicturePtr pSrc, PicturePtr pDst, + PictFormatPtr maskFormat, INT16 xSrc, INT16 ySrc, + int nlist, GlyphListPtr list, GlyphPtr *glyphs); +static void RACCompositeRects(CARD8 op, PicturePtr pDst, xRenderColor *color, + int nRect, xRectangle *rects); +#endif + +static GCFuncs RACGCFuncs = { + RACValidateGC, RACChangeGC, RACCopyGC, RACDestroyGC, + RACChangeClip, RACDestroyClip, RACCopyClip +}; + +static GCOps RACGCOps = { + RACFillSpans, RACSetSpans, RACPutImage, RACCopyArea, + RACCopyPlane, RACPolyPoint, RACPolylines, RACPolySegment, + RACPolyRectangle, RACPolyArc, RACFillPolygon, RACPolyFillRect, + RACPolyFillArc, RACPolyText8, RACPolyText16, RACImageText8, + RACImageText16, RACImageGlyphBlt, RACPolyGlyphBlt, RACPushPixels, + {NULL} /* devPrivate */ +}; + +static miPointerSpriteFuncRec RACSpriteFuncs = { + RACSpriteRealizeCursor, RACSpriteUnrealizeCursor, RACSpriteSetCursor, + RACSpriteMoveCursor +}; + +static int RACScreenKeyIndex; +static DevPrivateKey RACScreenKey = &RACScreenKeyIndex; +static int RACGCKeyIndex; +static DevPrivateKey RACGCKey = &RACGCKeyIndex; + + +Bool +xf86RACInit(ScreenPtr pScreen, unsigned int flag) +{ + ScrnInfoPtr pScrn; + RACScreenPtr pScreenPriv; + miPointerScreenPtr PointPriv; +#ifdef RENDER + PictureScreenPtr ps = GetPictureScreenIfSet(pScreen); +#endif + + pScrn = xf86Screens[pScreen->myNum]; + PointPriv = (miPointerScreenPtr)dixLookupPrivate(&pScreen->devPrivates, + miPointerScreenKey); + DPRINT_S("RACInit",pScreen->myNum); + + if (!dixRequestPrivate(RACGCKey, sizeof(RACGCRec))) + return FALSE; + + if (!(pScreenPriv = xalloc(sizeof(RACScreenRec)))) + return FALSE; + + dixSetPrivate(&pScreen->devPrivates, RACScreenKey, pScreenPriv); + + WRAP_SCREEN(CloseScreen, RACCloseScreen); + WRAP_SCREEN(SaveScreen, RACSaveScreen); + WRAP_SCREEN_COND(CreateGC, RACCreateGC, RAC_FB); + WRAP_SCREEN_COND(GetImage, RACGetImage, RAC_FB); + WRAP_SCREEN_COND(GetSpans, RACGetSpans, RAC_FB); + WRAP_SCREEN_COND(SourceValidate, RACSourceValidate, RAC_FB); + WRAP_SCREEN_COND(CopyWindow, RACCopyWindow, RAC_FB); + WRAP_SCREEN_COND(ClearToBackground, RACClearToBackground, RAC_FB); + WRAP_SCREEN_COND(CreatePixmap, RACCreatePixmap, RAC_FB); + WRAP_SCREEN_COND(StoreColors, RACStoreColors, RAC_COLORMAP); + WRAP_SCREEN_COND(DisplayCursor, RACDisplayCursor, RAC_CURSOR); + WRAP_SCREEN_COND(RealizeCursor, RACRealizeCursor, RAC_CURSOR); + WRAP_SCREEN_COND(UnrealizeCursor, RACUnrealizeCursor, RAC_CURSOR); + WRAP_SCREEN_COND(RecolorCursor, RACRecolorCursor, RAC_CURSOR); + WRAP_SCREEN_COND(SetCursorPosition, RACSetCursorPosition, RAC_CURSOR); +#ifdef RENDER + WRAP_PICT_COND(Composite,RACComposite,RAC_FB); + WRAP_PICT_COND(Glyphs,RACGlyphs,RAC_FB); + WRAP_PICT_COND(CompositeRects,RACCompositeRects,RAC_FB); +#endif + WRAP_SCREEN_INFO_COND(AdjustFrame, RACAdjustFrame, RAC_VIEWPORT); + WRAP_SCREEN_INFO(SwitchMode, RACSwitchMode); + WRAP_SCREEN_INFO(EnterVT, RACEnterVT); + WRAP_SCREEN_INFO(LeaveVT, RACLeaveVT); + WRAP_SCREEN_INFO(FreeScreen, RACFreeScreen); + WRAP_SPRITE_COND(RAC_CURSOR); + + return TRUE; +} + +/* Screen funcs */ +static Bool +RACCloseScreen (int i, ScreenPtr pScreen) +{ + ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + RACScreenPtr pScreenPriv = (RACScreenPtr)dixLookupPrivate( + &pScreen->devPrivates, RACScreenKey); + miPointerScreenPtr PointPriv = (miPointerScreenPtr)dixLookupPrivate( + &pScreen->devPrivates, miPointerScreenKey); +#ifdef RENDER + PictureScreenPtr ps = GetPictureScreenIfSet(pScreen); +#endif + + DPRINT_S("RACCloseScreen",pScreen->myNum); + UNWRAP_SCREEN(CreateGC); + UNWRAP_SCREEN(CloseScreen); + UNWRAP_SCREEN(GetImage); + UNWRAP_SCREEN(GetSpans); + UNWRAP_SCREEN(SourceValidate); + UNWRAP_SCREEN(CopyWindow); + UNWRAP_SCREEN(ClearToBackground); + UNWRAP_SCREEN(SaveScreen); + UNWRAP_SCREEN(StoreColors); + UNWRAP_SCREEN(DisplayCursor); + UNWRAP_SCREEN(RealizeCursor); + UNWRAP_SCREEN(UnrealizeCursor); + UNWRAP_SCREEN(RecolorCursor); + UNWRAP_SCREEN(SetCursorPosition); +#ifdef RENDER + UNWRAP_PICT(Composite); + UNWRAP_PICT(Glyphs); + UNWRAP_PICT(CompositeRects); +#endif + UNWRAP_SCREEN_INFO(AdjustFrame); + UNWRAP_SCREEN_INFO(SwitchMode); + UNWRAP_SCREEN_INFO(EnterVT); + UNWRAP_SCREEN_INFO(LeaveVT); + UNWRAP_SCREEN_INFO(FreeScreen); + UNWRAP_SPRITE; + + xfree ((pointer) pScreenPriv); + + if (xf86Screens[pScreen->myNum]->vtSema) { + xf86EnterServerState(SETUP); + ENABLE; + } + return (*pScreen->CloseScreen) (i, pScreen); +} + +static void +RACGetImage ( + DrawablePtr pDrawable, + int sx, int sy, int w, int h, + unsigned int format, + unsigned long planemask, + char *pdstLine + ) +{ + ScreenPtr pScreen = pDrawable->pScreen; + DPRINT_S("RACGetImage",pScreen->myNum); + SCREEN_PROLOG(GetImage); + if (xf86Screens[pScreen->myNum]->vtSema) { + ENABLE; + } + (*pScreen->GetImage) (pDrawable, sx, sy, w, h, + format, planemask, pdstLine); + SCREEN_EPILOG (GetImage, RACGetImage); +} + +static void +RACGetSpans ( + DrawablePtr pDrawable, + int wMax, + DDXPointPtr ppt, + int *pwidth, + int nspans, + char *pdstStart + ) +{ + ScreenPtr pScreen = pDrawable->pScreen; + + DPRINT_S("RACGetSpans",pScreen->myNum); + SCREEN_PROLOG (GetSpans); + ENABLE; + (*pScreen->GetSpans) (pDrawable, wMax, ppt, pwidth, nspans, pdstStart); + SCREEN_EPILOG (GetSpans, RACGetSpans); +} + +static void +RACSourceValidate ( + DrawablePtr pDrawable, + int x, int y, int width, int height ) +{ + ScreenPtr pScreen = pDrawable->pScreen; + DPRINT_S("RACSourceValidate",pScreen->myNum); + SCREEN_PROLOG (SourceValidate); + ENABLE; + if (pScreen->SourceValidate) + (*pScreen->SourceValidate) (pDrawable, x, y, width, height); + SCREEN_EPILOG (SourceValidate, RACSourceValidate); +} + +static void +RACCopyWindow( + WindowPtr pWin, + DDXPointRec ptOldOrg, + RegionPtr prgnSrc ) +{ + ScreenPtr pScreen = pWin->drawable.pScreen; + + DPRINT_S("RACCopyWindow",pScreen->myNum); + SCREEN_PROLOG (CopyWindow); + ENABLE; + (*pScreen->CopyWindow) (pWin, ptOldOrg, prgnSrc); + SCREEN_EPILOG (CopyWindow, RACCopyWindow); +} + +static void +RACClearToBackground ( + WindowPtr pWin, + int x, int y, + int w, int h, + Bool generateExposures ) +{ + ScreenPtr pScreen = pWin->drawable.pScreen; + + DPRINT_S("RACClearToBackground",pScreen->myNum); + SCREEN_PROLOG ( ClearToBackground); + ENABLE; + (*pScreen->ClearToBackground) (pWin, x, y, w, h, generateExposures); + SCREEN_EPILOG (ClearToBackground, RACClearToBackground); +} + +static PixmapPtr +RACCreatePixmap(ScreenPtr pScreen, int w, int h, int depth, unsigned usage_hint) +{ + PixmapPtr pPix; + + DPRINT_S("RACCreatePixmap",pScreen->myNum); + SCREEN_PROLOG ( CreatePixmap); + ENABLE; + pPix = (*pScreen->CreatePixmap) (pScreen, w, h, depth, usage_hint); + SCREEN_EPILOG (CreatePixmap, RACCreatePixmap); + + return pPix; +} + +static Bool +RACSaveScreen(ScreenPtr pScreen, Bool unblank) +{ + Bool val; + + DPRINT_S("RACSaveScreen",pScreen->myNum); + SCREEN_PROLOG (SaveScreen); + ENABLE; + val = (*pScreen->SaveScreen) (pScreen, unblank); + SCREEN_EPILOG (SaveScreen, RACSaveScreen); + + return val; +} + +static void +RACStoreColors ( + ColormapPtr pmap, + int ndef, + xColorItem *pdefs) +{ + ScreenPtr pScreen = pmap->pScreen; + + DPRINT_S("RACStoreColors",pScreen->myNum); + SCREEN_PROLOG (StoreColors); + ENABLE; + (*pScreen->StoreColors) (pmap,ndef,pdefs); + + SCREEN_EPILOG ( StoreColors, RACStoreColors); +} + +static void +RACRecolorCursor ( + DeviceIntPtr pDev, + ScreenPtr pScreen, + CursorPtr pCurs, + Bool displayed + ) +{ + DPRINT_S("RACRecolorCursor",pScreen->myNum); + SCREEN_PROLOG (RecolorCursor); + ENABLE; + (*pScreen->RecolorCursor) (pDev, pScreen,pCurs,displayed); + + SCREEN_EPILOG ( RecolorCursor, RACRecolorCursor); +} + +static Bool +RACRealizeCursor ( + DeviceIntPtr pDev, + ScreenPtr pScreen, + CursorPtr pCursor + ) +{ + Bool val; + + DPRINT_S("RACRealizeCursor",pScreen->myNum); + SCREEN_PROLOG (RealizeCursor); + ENABLE; + val = (*pScreen->RealizeCursor) (pDev, pScreen,pCursor); + + SCREEN_EPILOG ( RealizeCursor, RACRealizeCursor); + return val; +} + +static Bool +RACUnrealizeCursor ( + DeviceIntPtr pDev, + ScreenPtr pScreen, + CursorPtr pCursor + ) +{ + Bool val; + + DPRINT_S("RACUnrealizeCursor",pScreen->myNum); + SCREEN_PROLOG (UnrealizeCursor); + ENABLE; + val = (*pScreen->UnrealizeCursor) (pDev, pScreen,pCursor); + + SCREEN_EPILOG ( UnrealizeCursor, RACUnrealizeCursor); + return val; +} + +static Bool +RACDisplayCursor ( + DeviceIntPtr pDev, + ScreenPtr pScreen, + CursorPtr pCursor + ) +{ + Bool val; + + DPRINT_S("RACDisplayCursor",pScreen->myNum); + SCREEN_PROLOG (DisplayCursor); + ENABLE; + val = (*pScreen->DisplayCursor) (pDev, pScreen,pCursor); + + SCREEN_EPILOG ( DisplayCursor, RACDisplayCursor); + return val; +} + +static Bool +RACSetCursorPosition ( + DeviceIntPtr pDev, + ScreenPtr pScreen, + int x, int y, + Bool generateEvent) +{ + Bool val; + + DPRINT_S("RACSetCursorPosition",pScreen->myNum); + SCREEN_PROLOG (SetCursorPosition); + ENABLE; + val = (*pScreen->SetCursorPosition) (pDev, pScreen,x,y,generateEvent); + + SCREEN_EPILOG ( SetCursorPosition, RACSetCursorPosition); + return val; +} + +static void +RACAdjustFrame(int index, int x, int y, int flags) +{ + ScreenPtr pScreen = screenInfo.screens[index]; + RACScreenPtr pScreenPriv = (RACScreenPtr)dixLookupPrivate( + &pScreen->devPrivates, RACScreenKey); + + DPRINT_S("RACAdjustFrame",index); + xf86EnableAccess(xf86Screens[index]); + + (*pScreenPriv->AdjustFrame)(index, x, y, flags); +} + +static Bool +RACSwitchMode(int index, DisplayModePtr mode, int flags) +{ + ScreenPtr pScreen = screenInfo.screens[index]; + RACScreenPtr pScreenPriv = (RACScreenPtr)dixLookupPrivate( + &pScreen->devPrivates, RACScreenKey); + + DPRINT_S("RACSwitchMode",index); + xf86EnableAccess(xf86Screens[index]); + + return (*pScreenPriv->SwitchMode)(index, mode, flags); +} + +static Bool +RACEnterVT(int index, int flags) +{ + ScreenPtr pScreen = screenInfo.screens[index]; + RACScreenPtr pScreenPriv = (RACScreenPtr)dixLookupPrivate( + &pScreen->devPrivates, RACScreenKey); + + DPRINT_S("RACEnterVT",index); + xf86EnableAccess(xf86Screens[index]); + + return (*pScreenPriv->EnterVT)(index, flags); +} + +static void +RACLeaveVT(int index, int flags) +{ + ScreenPtr pScreen = screenInfo.screens[index]; + RACScreenPtr pScreenPriv = (RACScreenPtr)dixLookupPrivate( + &pScreen->devPrivates, RACScreenKey); + + DPRINT_S("RACLeaveVT",index); + xf86EnableAccess(xf86Screens[index]); + + (*pScreenPriv->LeaveVT)(index, flags); +} + +static void +RACFreeScreen(int index, int flags) +{ + ScreenPtr pScreen = screenInfo.screens[index]; + RACScreenPtr pScreenPriv = (RACScreenPtr)dixLookupPrivate( + &pScreen->devPrivates, RACScreenKey); + + DPRINT_S("RACFreeScreen",index); + xf86EnableAccess(xf86Screens[index]); + + (*pScreenPriv->FreeScreen)(index, flags); +} + +static Bool +RACCreateGC(GCPtr pGC) +{ + ScreenPtr pScreen = pGC->pScreen; + RACGCPtr pGCPriv = (RACGCPtr)dixLookupPrivate(&pGC->devPrivates, RACGCKey); + Bool ret; + + DPRINT_S("RACCreateGC",pScreen->myNum); + SCREEN_PROLOG(CreateGC); + + ret = (*pScreen->CreateGC)(pGC); + + GC_WRAP(pGC); + SCREEN_EPILOG(CreateGC,RACCreateGC); + + return ret; +} + +/* GC funcs */ +static void +RACValidateGC( + GCPtr pGC, + unsigned long changes, + DrawablePtr pDraw ) +{ + GC_UNWRAP(pGC); + DPRINT("RACValidateGC"); + (*pGC->funcs->ValidateGC)(pGC, changes, pDraw); + GC_WRAP(pGC); +} + + +static void +RACDestroyGC(GCPtr pGC) +{ + GC_UNWRAP (pGC); + DPRINT("RACDestroyGC"); + (*pGC->funcs->DestroyGC)(pGC); + GC_WRAP (pGC); +} + +static void +RACChangeGC ( + GCPtr pGC, + unsigned long mask) +{ + GC_UNWRAP (pGC); + DPRINT("RACChangeGC"); + (*pGC->funcs->ChangeGC) (pGC, mask); + GC_WRAP (pGC); +} + +static void +RACCopyGC ( + GCPtr pGCSrc, + unsigned long mask, + GCPtr pGCDst) +{ + GC_UNWRAP (pGCDst); + DPRINT("RACCopyGC"); + (*pGCDst->funcs->CopyGC) (pGCSrc, mask, pGCDst); + GC_WRAP (pGCDst); +} + +static void +RACChangeClip ( + GCPtr pGC, + int type, + pointer pvalue, + int nrects ) +{ + GC_UNWRAP (pGC); + DPRINT("RACChangeClip"); + (*pGC->funcs->ChangeClip) (pGC, type, pvalue, nrects); + GC_WRAP (pGC); +} + +static void +RACCopyClip(GCPtr pgcDst, GCPtr pgcSrc) +{ + GC_UNWRAP (pgcDst); + DPRINT("RACCopyClip"); + (* pgcDst->funcs->CopyClip)(pgcDst, pgcSrc); + GC_WRAP (pgcDst); +} + +static void +RACDestroyClip(GCPtr pGC) +{ + GC_UNWRAP (pGC); + DPRINT("RACDestroyClip"); + (* pGC->funcs->DestroyClip)(pGC); + GC_WRAP (pGC); +} + +/* GC Ops */ +static void +RACFillSpans( + DrawablePtr pDraw, + GC *pGC, + int nInit, + DDXPointPtr pptInit, + int *pwidthInit, + int fSorted ) +{ + GC_UNWRAP(pGC); + DPRINT("RACFillSpans"); + ENABLE_GC; + (*pGC->ops->FillSpans)(pDraw, pGC, nInit, pptInit, pwidthInit, fSorted); + GC_WRAP(pGC); +} + +static void +RACSetSpans( + DrawablePtr pDraw, + GCPtr pGC, + char *pcharsrc, + register DDXPointPtr ppt, + int *pwidth, + int nspans, + int fSorted ) +{ + GC_UNWRAP(pGC); + DPRINT("RACSetSpans"); + ENABLE_GC; + (*pGC->ops->SetSpans)(pDraw, pGC, pcharsrc, ppt, pwidth, nspans, fSorted); + GC_WRAP(pGC); +} + +static void +RACPutImage( + DrawablePtr pDraw, + GCPtr pGC, + int depth, + int x, int y, int w, int h, + int leftPad, + int format, + char *pImage ) +{ + GC_UNWRAP(pGC); + DPRINT("RACPutImage"); + ENABLE_GC; + (*pGC->ops->PutImage)(pDraw, pGC, depth, x, y, w, h, + leftPad, format, pImage); + GC_WRAP(pGC); +} + +static RegionPtr +RACCopyArea( + DrawablePtr pSrc, + DrawablePtr pDst, + GC *pGC, + int srcx, int srcy, + int width, int height, + int dstx, int dsty ) +{ + RegionPtr ret; + + GC_UNWRAP(pGC); + DPRINT("RACCopyArea"); + ENABLE_GC; + ret = (*pGC->ops->CopyArea)(pSrc, pDst, + pGC, srcx, srcy, width, height, dstx, dsty); + GC_WRAP(pGC); + return ret; +} + +static RegionPtr +RACCopyPlane( + DrawablePtr pSrc, + DrawablePtr pDst, + GCPtr pGC, + int srcx, int srcy, + int width, int height, + int dstx, int dsty, + unsigned long bitPlane ) +{ + RegionPtr ret; + + GC_UNWRAP(pGC); + DPRINT("RACCopyPlane"); + ENABLE_GC; + ret = (*pGC->ops->CopyPlane)(pSrc, pDst, pGC, srcx, srcy, + width, height, dstx, dsty, bitPlane); + GC_WRAP(pGC); + return ret; +} + +static void +RACPolyPoint( + DrawablePtr pDraw, + GCPtr pGC, + int mode, + int npt, + xPoint *pptInit ) +{ + GC_UNWRAP(pGC); + DPRINT("RACPolyPoint"); + ENABLE_GC; + (*pGC->ops->PolyPoint)(pDraw, pGC, mode, npt, pptInit); + GC_WRAP(pGC); +} + + +static void +RACPolylines( + DrawablePtr pDraw, + GCPtr pGC, + int mode, + int npt, + DDXPointPtr pptInit ) +{ + GC_UNWRAP(pGC); + DPRINT("RACPolylines"); + ENABLE_GC; + (*pGC->ops->Polylines)(pDraw, pGC, mode, npt, pptInit); + GC_WRAP(pGC); +} + +static void +RACPolySegment( + DrawablePtr pDraw, + GCPtr pGC, + int nseg, + xSegment *pSeg ) +{ + GC_UNWRAP(pGC); + DPRINT("RACPolySegment"); + ENABLE_GC; + (*pGC->ops->PolySegment)(pDraw, pGC, nseg, pSeg); + GC_WRAP(pGC); +} + +static void +RACPolyRectangle( + DrawablePtr pDraw, + GCPtr pGC, + int nRectsInit, + xRectangle *pRectsInit ) +{ + GC_UNWRAP(pGC); + DPRINT("RACPolyRectangle"); + ENABLE_GC; + (*pGC->ops->PolyRectangle)(pDraw, pGC, nRectsInit, pRectsInit); + GC_WRAP(pGC); +} + +static void +RACPolyArc( + DrawablePtr pDraw, + GCPtr pGC, + int narcs, + xArc *parcs ) +{ + GC_UNWRAP(pGC); + DPRINT("RACPolyArc"); + ENABLE_GC; + (*pGC->ops->PolyArc)(pDraw, pGC, narcs, parcs); + GC_WRAP(pGC); +} + +static void +RACFillPolygon( + DrawablePtr pDraw, + GCPtr pGC, + int shape, + int mode, + int count, + DDXPointPtr ptsIn ) +{ + GC_UNWRAP(pGC); + DPRINT("RACFillPolygon"); + ENABLE_GC; + (*pGC->ops->FillPolygon)(pDraw, pGC, shape, mode, count, ptsIn); + GC_WRAP(pGC); +} + + +static void +RACPolyFillRect( + DrawablePtr pDraw, + GCPtr pGC, + int nrectFill, + xRectangle *prectInit ) +{ + GC_UNWRAP(pGC); + DPRINT("RACPolyFillRect"); + ENABLE_GC; + (*pGC->ops->PolyFillRect)(pDraw, pGC, nrectFill, prectInit); + GC_WRAP(pGC); +} + + +static void +RACPolyFillArc( + DrawablePtr pDraw, + GCPtr pGC, + int narcs, + xArc *parcs ) +{ + GC_UNWRAP(pGC); + DPRINT("RACPolyFillArc"); + ENABLE_GC; + (*pGC->ops->PolyFillArc)(pDraw, pGC, narcs, parcs); + GC_WRAP(pGC); +} + +static int +RACPolyText8( + DrawablePtr pDraw, + GCPtr pGC, + int x, + int y, + int count, + char *chars ) +{ + int ret; + + GC_UNWRAP(pGC); + DPRINT("RACPolyText8"); + ENABLE_GC; + ret = (*pGC->ops->PolyText8)(pDraw, pGC, x, y, count, chars); + GC_WRAP(pGC); + return ret; +} + +static int +RACPolyText16( + DrawablePtr pDraw, + GCPtr pGC, + int x, + int y, + int count, + unsigned short *chars ) +{ + int ret; + + GC_UNWRAP(pGC); + DPRINT("RACPolyText16"); + ENABLE_GC; + ret = (*pGC->ops->PolyText16)(pDraw, pGC, x, y, count, chars); + GC_WRAP(pGC); + return ret; +} + +static void +RACImageText8( + DrawablePtr pDraw, + GCPtr pGC, + int x, + int y, + int count, + char *chars ) +{ + GC_UNWRAP(pGC); + DPRINT("RACImageText8"); + ENABLE_GC; + (*pGC->ops->ImageText8)(pDraw, pGC, x, y, count, chars); + GC_WRAP(pGC); +} + +static void +RACImageText16( + DrawablePtr pDraw, + GCPtr pGC, + int x, + int y, + int count, + unsigned short *chars ) +{ + GC_UNWRAP(pGC); + DPRINT("RACImageText16"); + ENABLE_GC; + (*pGC->ops->ImageText16)(pDraw, pGC, x, y, count, chars); + GC_WRAP(pGC); +} + + +static void +RACImageGlyphBlt( + DrawablePtr pDraw, + GCPtr pGC, + int xInit, int yInit, + unsigned int nglyph, + CharInfoPtr *ppci, + pointer pglyphBase ) +{ + GC_UNWRAP(pGC); + DPRINT("RACImageGlyphBlt"); + ENABLE_GC; + (*pGC->ops->ImageGlyphBlt)(pDraw, pGC, xInit, yInit, + nglyph, ppci, pglyphBase); + GC_WRAP(pGC); +} + +static void +RACPolyGlyphBlt( + DrawablePtr pDraw, + GCPtr pGC, + int xInit, int yInit, + unsigned int nglyph, + CharInfoPtr *ppci, + pointer pglyphBase ) +{ + GC_UNWRAP(pGC); + DPRINT("RACPolyGlyphBlt"); + ENABLE_GC; + (*pGC->ops->PolyGlyphBlt)(pDraw, pGC, xInit, yInit, + nglyph, ppci, pglyphBase); + GC_WRAP(pGC); +} + +static void +RACPushPixels( + GCPtr pGC, + PixmapPtr pBitMap, + DrawablePtr pDraw, + int dx, int dy, int xOrg, int yOrg ) +{ + GC_UNWRAP(pGC); + DPRINT("RACPushPixels"); + ENABLE_GC; + (*pGC->ops->PushPixels)(pGC, pBitMap, pDraw, dx, dy, xOrg, yOrg); + GC_WRAP(pGC); +} + + +/* miSpriteFuncs */ +static Bool +RACSpriteRealizeCursor(DeviceIntPtr pDev, ScreenPtr pScreen, CursorPtr pCur) +{ + Bool val; + SPRITE_PROLOG; + DPRINT_S("RACSpriteRealizeCursor",pScreen->myNum); + ENABLE; + val = PointPriv->spriteFuncs->RealizeCursor(pDev, pScreen, pCur); + SPRITE_EPILOG; + return val; +} + +static Bool +RACSpriteUnrealizeCursor(DeviceIntPtr pDev, ScreenPtr pScreen, CursorPtr pCur) +{ + Bool val; + SPRITE_PROLOG; + DPRINT_S("RACSpriteUnrealizeCursor",pScreen->myNum); + ENABLE; + val = PointPriv->spriteFuncs->UnrealizeCursor(pDev, pScreen, pCur); + SPRITE_EPILOG; + return val; +} + +static void +RACSpriteSetCursor(DeviceIntPtr pDev, ScreenPtr pScreen, + CursorPtr pCur, int x, int y) +{ + SPRITE_PROLOG; + DPRINT_S("RACSpriteSetCursor",pScreen->myNum); + ENABLE; + PointPriv->spriteFuncs->SetCursor(pDev, pScreen, pCur, x, y); + SPRITE_EPILOG; +} + +static void +RACSpriteMoveCursor(DeviceIntPtr pDev, ScreenPtr pScreen, int x, int y) +{ + SPRITE_PROLOG; + DPRINT_S("RACSpriteMoveCursor",pScreen->myNum); + ENABLE; + PointPriv->spriteFuncs->MoveCursor(pDev, pScreen, x, y); + SPRITE_EPILOG; +} + +#ifdef RENDER +static void +RACComposite(CARD8 op, PicturePtr pSrc, PicturePtr pMask, + PicturePtr pDst, INT16 xSrc, INT16 ySrc, INT16 xMask, + INT16 yMask, INT16 xDst, INT16 yDst, CARD16 width, + CARD16 height) +{ + ScreenPtr pScreen = pDst->pDrawable->pScreen; + PictureScreenPtr ps = GetPictureScreen(pScreen); + + PICTURE_PROLOGUE(Composite); + + ENABLE; + (*ps->Composite) (op, pSrc, pMask, pDst, xSrc, ySrc, xMask, yMask, xDst, + yDst, width, height); + + PICTURE_EPILOGUE(Composite, RACComposite); +} + +static void +RACGlyphs(CARD8 op, PicturePtr pSrc, PicturePtr pDst, + PictFormatPtr maskFormat, INT16 xSrc, INT16 ySrc, int nlist, + GlyphListPtr list, GlyphPtr *glyphs) +{ + ScreenPtr pScreen = pDst->pDrawable->pScreen; + PictureScreenPtr ps = GetPictureScreen(pScreen); + + PICTURE_PROLOGUE(Glyphs); + + ENABLE; + (*ps->Glyphs)(op, pSrc, pDst, maskFormat, xSrc, ySrc, nlist, list, glyphs); + + PICTURE_EPILOGUE (Glyphs, RACGlyphs); +} + +static void +RACCompositeRects(CARD8 op, PicturePtr pDst, xRenderColor *color, int nRect, + xRectangle *rects) +{ + ScreenPtr pScreen = pDst->pDrawable->pScreen; + PictureScreenPtr ps = GetPictureScreen(pScreen); + + PICTURE_PROLOGUE(CompositeRects); + + ENABLE; + (*ps->CompositeRects)(op, pDst, color, nRect, rects); + + PICTURE_EPILOGUE (CompositeRects, RACCompositeRects); +} +#endif + diff --git a/xorg-server/hw/xfree86/common/xf86RAC.h b/xorg-server/hw/xfree86/common/xf86RAC.h new file mode 100644 index 000000000..366c21485 --- /dev/null +++ b/xorg-server/hw/xfree86/common/xf86RAC.h @@ -0,0 +1,17 @@ + +#ifndef __XF86RAC_H +#define __XF86RAC_H 1 + +#include "screenint.h" +#include "misc.h" +#include "xf86.h" + +Bool xf86RACInit(ScreenPtr pScreen, unsigned int flag); + +/* flags */ +#define RAC_FB 0x01 +#define RAC_CURSOR 0x02 +#define RAC_COLORMAP 0x04 +#define RAC_VIEWPORT 0x08 + +#endif /* __XF86RAC_H */ diff --git a/xorg-server/hw/xfree86/common/xf86RandR.c b/xorg-server/hw/xfree86/common/xf86RandR.c index a55b93d4c..de2f78c5f 100644 --- a/xorg-server/hw/xfree86/common/xf86RandR.c +++ b/xorg-server/hw/xfree86/common/xf86RandR.c @@ -34,6 +34,7 @@ #include "xf86DDC.h" #include "mipointer.h" #include +#include "inputstr.h" typedef struct _xf86RandRInfo { CreateScreenResourcesProcPtr CreateScreenResources; @@ -45,7 +46,8 @@ typedef struct _xf86RandRInfo { Rotation rotation; } XF86RandRInfoRec, *XF86RandRInfoPtr; -static DevPrivateKey xf86RandRKey = NULL; +static int xf86RandRKeyIndex; +static DevPrivateKey xf86RandRKey; #define XF86RANDRINFO(p) ((XF86RandRInfoPtr)dixLookupPrivate(&(p)->devPrivates, xf86RandRKey)) @@ -72,7 +74,7 @@ xf86RandRGetInfo (ScreenPtr pScreen, Rotation *rotations) *rotations = RR_Rotate_0; - for (mode = scrp->modes; ; mode = mode->next) + for (mode = scrp->modes; mode != NULL ; mode = mode->next) { int refresh = xf86RandRModeRefresh (mode); @@ -244,7 +246,7 @@ xf86RandRSetConfig (ScreenPtr pScreen, Bool useVirtual = FALSE; Rotation oldRotation = randrp->rotation; - miPointerPosition (&px, &py); + miPointerGetPosition(inputInfo.pointer, &px, &py); for (mode = scrp->modes; ; mode = mode->next) { if (mode->HDisplay == pSize->width && @@ -311,7 +313,7 @@ xf86RandRSetConfig (ScreenPtr pScreen, xf86SetViewport(pScreen, px, py); - (*pScreen->SetCursorPosition) (pScreen, px, py, FALSE); + (*pScreen->SetCursorPosition) (inputInfo.pointer, pScreen, px, py, FALSE); } return TRUE; @@ -422,7 +424,7 @@ xf86RandRInit (ScreenPtr pScreen) return TRUE; #endif - xf86RandRKey = &xf86RandRKey; + xf86RandRKey = &xf86RandRKeyIndex; randrp = xalloc (sizeof (XF86RandRInfoRec)); if (!randrp) diff --git a/xorg-server/hw/xfree86/common/xf86ShowOpts.c b/xorg-server/hw/xfree86/common/xf86ShowOpts.c new file mode 100644 index 000000000..b8efa73c2 --- /dev/null +++ b/xorg-server/hw/xfree86/common/xf86ShowOpts.c @@ -0,0 +1,129 @@ +/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86ShopwOpts.c,v 3.80 2003/10/08 14:58:27 dawes Exp $ */ +/* + * 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. + * + * Author: Marcus Schaefer, ms@suse.de + * + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include "os.h" +#ifdef XFree86LOADER +#include "loaderProcs.h" +#endif +#include "xf86.h" +#include "xf86Config.h" +#include "xf86_OSlib.h" +#include "xf86Priv.h" +/* #include "xf86PciData.h" */ +#define IN_XSERVER +#include "xf86Parser.h" +#include "xf86tokens.h" +#include "Configint.h" +#include "vbe.h" +#include "xf86DDC.h" +#if defined(__sparc__) && !defined(__OpenBSD__) +#include "xf86Bus.h" +#include "xf86Sbus.h" +#endif +#include "globals.h" + +static const char* +optionTypeToSting(OptionValueType type) +{ + switch (type) { + case OPTV_NONE: + return ""; + case OPTV_INTEGER: + return ""; + case OPTV_STRING: + return ""; + case OPTV_ANYSTR: + return ""; + case OPTV_REAL: + return ""; + case OPTV_BOOLEAN: + return ""; + case OPTV_FREQ: + return ""; + default: + return ""; + } +} + +void DoShowOptions (void) { + int i = 0; + char **vlist = 0; + char *pSymbol = 0; + XF86ModuleData *initData = 0; + if (! (vlist = xf86DriverlistFromCompile())) { + ErrorF("Missing output drivers\n"); + goto bail; + } + xf86LoadModules (vlist,0); + xfree (vlist); + for (i = 0; i < xf86NumDrivers; i++) { + if (xf86DriverList[i]->AvailableOptions) { + OptionInfoPtr pOption = (OptionInfoPtr)(*xf86DriverList[i]->AvailableOptions)(0,0); + if (! pOption) { + ErrorF ("(EE) Couldn't read option table for %s driver\n", + xf86DriverList[i]->driverName + ); + continue; + } + pSymbol = xalloc ( + strlen(xf86DriverList[i]->driverName) + strlen("ModuleData") + 1 + ); + strcpy (pSymbol, xf86DriverList[i]->driverName); + strcat (pSymbol, "ModuleData"); + initData = LoaderSymbol (pSymbol); + if (initData) { + XF86ModuleVersionInfo *vers = initData->vers; + ErrorF ("Driver[%d]:%s[%s] {\n", + i,xf86DriverList[i]->driverName,vers->vendor + ); + OptionInfoPtr p; + for (p = pOption; p->name != NULL; p++) { + const char *opttype = optionTypeToSting(p->type); + char *optname = xalloc(strlen(p->name) + 2 + 1); + if (!optname) { + continue; + } + sprintf(optname, "%s", p->name); + ErrorF ("\t%s:%s\n", optname,opttype); + } + ErrorF ("}\n"); + } + } + } + bail: + OsCleanup (TRUE); + AbortDDX (); + fflush (stderr); + exit (0); +} diff --git a/xorg-server/hw/xfree86/common/xf86Version.h b/xorg-server/hw/xfree86/common/xf86Version.h deleted file mode 100644 index b93ac7d23..000000000 --- a/xorg-server/hw/xfree86/common/xf86Version.h +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Copyright (c) 1994-2003 by The XFree86 Project, 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 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). - */ - -#ifndef XF86_VERSION_CURRENT - -#define XF86_VERSION_MAJOR 4 -#define XF86_VERSION_MINOR 3 -#define XF86_VERSION_PATCH 99 -#define XF86_VERSION_SNAP 902 - -/* This has five arguments for compatibilty reasons */ -#define XF86_VERSION_NUMERIC(major,minor,patch,snap,dummy) \ - (((major) * 10000000) + ((minor) * 100000) + ((patch) * 1000) + snap) - -#define XF86_GET_MAJOR_VERSION(vers) ((vers) / 10000000) -#define XF86_GET_MINOR_VERSION(vers) (((vers) % 10000000) / 100000) -#define XF86_GET_PATCH_VERSION(vers) (((vers) % 100000) / 1000) -#define XF86_GET_SNAP_VERSION(vers) ((vers) % 1000) - -/* Define these for compatibility. They'll be removed at some point. */ -#define XF86_VERSION_SUBMINOR XF86_VERSION_PATCH -#define XF86_VERSION_BETA 0 -#define XF86_VERSION_ALPHA XF86_VERSION_SNAP - -#define XF86_VERSION_CURRENT \ - XF86_VERSION_NUMERIC(XF86_VERSION_MAJOR, \ - XF86_VERSION_MINOR, \ - XF86_VERSION_PATCH, \ - XF86_VERSION_SNAP, \ - 0) - -#endif diff --git a/xorg-server/hw/xfree86/common/xf86Versions.c b/xorg-server/hw/xfree86/common/xf86Versions.c deleted file mode 100644 index 97a35590e..000000000 --- a/xorg-server/hw/xfree86/common/xf86Versions.c +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Copyright (c) 2003 by The XFree86 Project, 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 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_XORG_CONFIG_H -#include -#endif - -#include "xf86.h" -#include "xf86OSmouse.h" - -static CARD32 registeredVersions[NUM_BUILTIN_IFS]; - -_X_EXPORT CARD32 -xf86GetBuiltinInterfaceVersion(BuiltinInterface iface, int flags) -{ - if (iface < 0 || iface >= NUM_BUILTIN_IFS) { - xf86Msg(X_ERROR, "xf86GetBuiltinInterfaceVersion: Unexpected interface" - "query: %d\n", iface); - return 0; - } - - if (registeredVersions[iface]) - return registeredVersions[iface]; - - /* Most built-in interfaces are handled this way. */ - switch (iface) { - case BUILTIN_IF_OSMOUSE: - return OS_MOUSE_VERSION_CURRENT; - default: - xf86Msg(X_ERROR, "xf86GetBuiltinInterfaceVersion: internal error: " - "interface %d not handled\n", iface); - return 0; - } -} - -_X_EXPORT Bool -xf86RegisterBuiltinInterfaceVersion(BuiltinInterface iface, CARD32 version, - int flags) -{ - if (iface < 0 || iface >= NUM_BUILTIN_IFS) { - xf86Msg(X_ERROR, "xf86RegisterBuiltinInterfaceVersion: " - "unexpected interface number: %d\n", iface); - return FALSE; - } - if (version == 0) { - xf86Msg(X_ERROR, "xf86RegisterBuiltinInterfaceVersion: " - "versions must be greater than zero\n"); - return FALSE; - } - registeredVersions[iface] = version; - return TRUE; -} - diff --git a/xorg-server/hw/xfree86/common/xf86VidMode.c b/xorg-server/hw/xfree86/common/xf86VidMode.c index 9260bb57b..24fccd31b 100644 --- a/xorg-server/hw/xfree86/common/xf86VidMode.c +++ b/xorg-server/hw/xfree86/common/xf86VidMode.c @@ -47,7 +47,8 @@ #include "vidmodeproc.h" #include "xf86cmap.h" -static DevPrivateKey VidModeKey = NULL; +static int VidModeKeyIndex; +static DevPrivateKey VidModeKey; static int VidModeCount = 0; static Bool VidModeClose(int i, ScreenPtr pScreen); @@ -72,7 +73,7 @@ VidModeExtensionInit(ScreenPtr pScreen) return FALSE; } - VidModeKey = &VidModeKey; + VidModeKey = &VidModeKeyIndex; if (!dixSetPrivate(&pScreen->devPrivates, VidModeKey, xcalloc(sizeof(VidModeRec), 1))) { diff --git a/xorg-server/hw/xfree86/common/xf86XKB.c b/xorg-server/hw/xfree86/common/xf86XKB.c deleted file mode 100644 index 11694544a..000000000 --- a/xorg-server/hw/xfree86/common/xf86XKB.c +++ /dev/null @@ -1,80 +0,0 @@ -/************************************************************ -Copyright (c) 1993 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. - -********************************************************/ -/* - * Copyright (c) 1994-2002 by The XFree86 Project, 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 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_XORG_CONFIG_H -#include -#endif - -#include -#define NEED_EVENTS 1 -#include -#include -#include -#include "inputstr.h" -#include "scrnintstr.h" -#include "windowstr.h" -#include - -#include "compiler.h" - -#include "xf86.h" -#include "xf86Priv.h" -#define XF86_OS_PRIVS -#include "xf86_OSlib.h" - -#include - -void -xf86InitXkb(void) -{ -} diff --git a/xorg-server/hw/xfree86/common/xf86Xinput.c b/xorg-server/hw/xfree86/common/xf86Xinput.c index 710e787fd..1f412349c 100644 --- a/xorg-server/hw/xfree86/common/xf86Xinput.c +++ b/xorg-server/hw/xfree86/common/xf86Xinput.c @@ -52,19 +52,17 @@ #include #include -#ifdef XINPUT #include #include -#endif #include "xf86.h" #include "xf86Priv.h" #include "xf86Xinput.h" -#ifdef XINPUT #include "XIstubs.h" #include "xf86Optrec.h" -#endif #include "mipointer.h" #include "xf86InPriv.h" +#include "compiler.h" +#include "extinit.h" #ifdef DPMSExtension #define DPMS_SERVER @@ -86,11 +84,157 @@ #include "mi.h" +#include /* dix pointer acceleration */ + #ifdef XFreeXDGA #include "dgaproc.h" #endif -xEvent *xf86Events = NULL; +#ifdef XKB +#include "xkbsrv.h" +#endif + +#include "os.h" + +EventListPtr xf86Events = NULL; + +/** + * Eval config and modify DeviceVelocityRec accordingly + */ +static void +ProcessVelocityConfiguration(char* devname, pointer list, DeviceVelocityPtr s){ + int tempi, i; + float tempf, tempf2; + + if(!s) + return; + + tempf = xf86SetRealOption(list, "FilterHalflife", -1); + if(tempf > 0) + tempf = 1.0 / tempf; /* set reciprocal if possible */ + + tempf2 = xf86SetRealOption(list, "FilterChainProgression", 2.0); + xf86Msg(X_CONFIG, "%s: (accel) filter chain progression: %.2f\n", + devname, tempf2); + if(tempf2 < 1) + tempf2 = 2; + + tempi = xf86SetIntOption(list, "FilterChainLength", 1); + if(tempi < 1 || tempi > MAX_VELOCITY_FILTERS) + tempi = 1; + + if(tempf > 0.0f && tempi >= 1 && tempf2 >= 1.0f) + InitFilterChain(s, tempf, tempf2, tempi, 40); + + for(i = 0; i < tempi; i++) + xf86Msg(X_CONFIG, "%s: (accel) filter stage %i: %.2f ms\n", + devname, i, 1.0f / (s->filters[i].rdecay)); + + tempf = xf86SetRealOption(list, "ConstantDeceleration", 1.0); + if(tempf > 1.0){ + xf86Msg(X_CONFIG, "%s: (accel) constant deceleration by %.1f\n", + devname, tempf); + s->const_acceleration = 1.0 / tempf; /* set reciprocal deceleration + alias acceleration */ + } + + tempf = xf86SetRealOption(list, "AdaptiveDeceleration", 1.0); + if(tempf > 1.0){ + xf86Msg(X_CONFIG, "%s: (accel) adaptive deceleration by %.1f\n", + devname, tempf); + s->min_acceleration = 1.0 / tempf; /* set minimum acceleration */ + } + + tempf = xf86SetRealOption(list, "VelocityCoupling", -1); + if(tempf >= 0){ + xf86Msg(X_CONFIG, "%s: (accel) velocity coupling is %.1f%%\n", devname, + tempf*100.0); + s->coupling = tempf; + } + + /* Configure softening. If const deceleration is used, this is expected + * to provide better subpixel information so we enable + * softening by default only if ConstantDeceleration is not used + */ + s->use_softening = xf86SetBoolOption(list, "Softening", + s->const_acceleration == 1.0); + + s->average_accel = xf86SetBoolOption(list, "AccelerationProfileAveraging", + s->average_accel); + + s->reset_time = xf86SetIntOption(list, "VelocityReset", s->reset_time); + + tempf = xf86SetRealOption(list, "ExpectedRate", 0); + if(tempf > 0){ + s->corr_mul = 1000.0 / tempf; + }else{ + s->corr_mul = xf86SetRealOption(list, "VelocityScale", s->corr_mul); + } + + /* select profile by number */ + tempi= xf86SetIntOption(list, "AccelerationProfile", + s->statistics.profile_number); + + if(SetAccelerationProfile(s, tempi)){ + xf86Msg(X_CONFIG, "%s: (accel) set acceleration profile %i\n", devname, tempi); + }else{ + xf86Msg(X_CONFIG, "%s: (accel) acceleration profile %i is unknown\n", + devname, tempi); + } +} + +static void +ApplyAccelerationSettings(DeviceIntPtr dev){ + int scheme; + DeviceVelocityPtr pVel; + LocalDevicePtr local = (LocalDevicePtr)dev->public.devicePrivate; + char* schemeStr; + + if(dev->valuator){ + schemeStr = xf86SetStrOption(local->options, "AccelerationScheme", ""); + + scheme = dev->valuator->accelScheme.number; + + if(!xf86NameCmp(schemeStr, "predictable")) + scheme = PtrAccelPredictable; + + if(!xf86NameCmp(schemeStr, "lightweight")) + scheme = PtrAccelLightweight; + + if(!xf86NameCmp(schemeStr, "none")) + scheme = PtrAccelNoOp; + + /* reinit scheme if needed */ + if(dev->valuator->accelScheme.number != scheme){ + if(dev->valuator->accelScheme.AccelCleanupProc){ + dev->valuator->accelScheme.AccelCleanupProc(dev); + } + + if(InitPointerAccelerationScheme(dev, scheme)){ + xf86Msg(X_CONFIG, "%s: (accel) selected scheme %s/%i\n", + local->name, schemeStr, scheme); + }else{ + xf86Msg(X_CONFIG, "%s: (accel) could not init scheme %s\n", + local->name, schemeStr); + scheme = dev->valuator->accelScheme.number; + } + }else{ + xf86Msg(X_CONFIG, "%s: (accel) keeping acceleration scheme %i\n", + local->name, scheme); + } + + xfree(schemeStr); + + /* process special configuration */ + switch(scheme){ + case PtrAccelPredictable: + pVel = GetDevicePredictableAccelData(dev); + ProcessVelocityConfiguration (local->name, local->options, + pVel); + break; + } + } +} static Bool xf86SendDragEvents(DeviceIntPtr device) @@ -135,7 +279,7 @@ xf86ProcessCommonOptions(LocalDevicePtr local, local->history_size = GetMotionHistorySize(); /* Preallocate xEvent store */ if (!xf86Events) - xf86Events = (xEvent *)xcalloc(sizeof(xEvent), GetMaximumEventsNum()); + GetEventList(&xf86Events); if (!xf86Events) FatalError("Couldn't allocate event store\n"); } @@ -143,22 +287,28 @@ xf86ProcessCommonOptions(LocalDevicePtr local, /*********************************************************************** * * xf86ActivateDevice -- - * + * * Initialize an input device. * + * Returns TRUE on success, or FALSE otherwise. *********************************************************************** */ -_X_EXPORT void +_X_EXPORT int xf86ActivateDevice(LocalDevicePtr local) { DeviceIntPtr dev; if (local->flags & XI86_CONFIGURED) { - dev = AddInputDevice(local->device_control, TRUE); + dev = AddInputDevice(serverClient, local->device_control, TRUE); if (dev == NULL) - FatalError("Too many input devices"); - + { + xf86Msg(X_ERROR, "Too many input devices. Ignoring %s\n", + local->name); + local->dev = NULL; + return FALSE; + } + local->atom = MakeAtom(local->type_name, strlen(local->type_name), TRUE); @@ -166,9 +316,21 @@ xf86ActivateDevice(LocalDevicePtr local) dev->public.devicePrivate = (pointer) local; local->dev = dev; - dev->coreEvents = local->flags & XI86_ALWAYS_CORE; - RegisterOtherDevice(dev); + dev->coreEvents = local->flags & XI86_ALWAYS_CORE; + dev->isMaster = FALSE; + dev->spriteInfo->spriteOwner = FALSE; + + if (DeviceIsPointerType(dev)) + { + dev->deviceGrab.ActivateGrab = ActivatePointerGrab; + dev->deviceGrab.DeactivateGrab = DeactivatePointerGrab; + } else + { + dev->deviceGrab.ActivateGrab = ActivateKeyboardGrab; + dev->deviceGrab.DeactivateGrab = DeactivateKeyboardGrab; + } + RegisterOtherDevice(dev); #ifdef XKB if (!noXkbExtension) XkbSetExtension(dev, ProcessKeyboardEvent); @@ -178,10 +340,11 @@ xf86ActivateDevice(LocalDevicePtr local) xf86Msg(X_INFO, "XINPUT: Adding extended input device \"%s\" (type: %s)\n", local->name, local->type_name); } + + return TRUE; } -#ifdef XINPUT /*********************************************************************** * * Caller: ProcXOpenDevice @@ -292,6 +455,7 @@ ChangeDeviceControl (ClientPtr client, DeviceIntPtr dev, xDeviceCtl *control) if (!local->control_proc) { switch (control->control) { case DEVICE_CORE: + return BadMatch; case DEVICE_RESOLUTION: case DEVICE_ABS_CALIB: case DEVICE_ABS_AREA: @@ -310,16 +474,107 @@ void AddOtherInputDevices() { } -#endif -int -NewInputDeviceRequest (InputOption *options, DeviceIntPtr *pdev) +/** + * Create a new input device, activate and enable it. + * + * Possible return codes: + * BadName .. a bad driver name was supplied. + * BadImplementation ... The driver does not have a PreInit function. This + * is a driver bug. + * BadMatch .. device initialization failed. + * BadAlloc .. too many input devices + * + * @param idev The device, already set up with identifier, driver, and the + * options. + * @param pdev Pointer to the new device, if Success was reported. + * @param enable Enable the device after activating it. + * + * @return Success or an error code + */ +_X_INTERNAL int +xf86NewInputDevice(IDevPtr idev, DeviceIntPtr *pdev, BOOL enable) { - IDevRec *idev = NULL; InputDriverPtr drv = NULL; InputInfoPtr pInfo = NULL; - InputOption *option = NULL; DeviceIntPtr dev = NULL; + int rval; + + /* Memory leak for every attached device if we don't + * test if the module is already loaded first */ + drv = xf86LookupInputDriver(idev->driver); + if (!drv) + if (xf86LoadOneModule(idev->driver, NULL)) + drv = xf86LookupInputDriver(idev->driver); + if (!drv) { + xf86Msg(X_ERROR, "No input driver matching `%s'\n", idev->driver); + rval = BadName; + goto unwind; + } + + if (!drv->PreInit) { + xf86Msg(X_ERROR, + "Input driver `%s' has no PreInit function (ignoring)\n", + drv->driverName); + rval = BadImplementation; + goto unwind; + } + + pInfo = drv->PreInit(drv, idev, 0); + + if (!pInfo) { + xf86Msg(X_ERROR, "PreInit returned NULL for \"%s\"\n", idev->identifier); + rval = BadMatch; + goto unwind; + } + else if (!(pInfo->flags & XI86_CONFIGURED)) { + xf86Msg(X_ERROR, "PreInit failed for input device \"%s\"\n", + idev->identifier); + rval = BadMatch; + goto unwind; + } + + if (!xf86ActivateDevice(pInfo)) + { + rval = BadAlloc; + goto unwind; + } + + dev = pInfo->dev; + rval = ActivateDevice(dev); + if (rval != Success) + { + xf86Msg(X_ERROR, "Couldn't init device \"%s\"\n", idev->identifier); + RemoveDevice(dev); + goto unwind; + } + + /* Enable it if it's properly initialised and we're currently in the VT */ + if (enable && dev->inited && dev->startup && xf86Screens[0]->vtSema) + { + EnableDevice(dev); + /* send enter/leave event, update sprite window */ + CheckMotion(NULL, dev); + } + + *pdev = dev; + return Success; + +unwind: + if(pInfo) { + if(drv->UnInit) + drv->UnInit(drv, pInfo, 0); + else + xf86DeleteInput(pInfo, 0); + } + return rval; +} + +_X_EXPORT int +NewInputDeviceRequest (InputOption *options, DeviceIntPtr *pdev) +{ + IDevRec *idev = NULL; + InputOption *option = NULL; int rval = Success; int is_auto = 0; @@ -333,18 +588,6 @@ NewInputDeviceRequest (InputOption *options, DeviceIntPtr *pdev) rval = BadRequest; goto unwind; } - /* Memory leak for every attached device if we don't - * test if the module is already loaded first */ - drv = xf86LookupInputDriver(option->value); - if (!drv) - if (xf86LoadOneModule(option->value, NULL)) - drv = xf86LookupInputDriver(option->value); - if (!drv) { - xf86Msg(X_ERROR, "No input driver matching `%s'\n", - option->value); - rval = BadName; - goto unwind; - } idev->driver = xstrdup(option->value); if (!idev->driver) { rval = BadAlloc; @@ -382,12 +625,9 @@ NewInputDeviceRequest (InputOption *options, DeviceIntPtr *pdev) goto unwind; } - if (!drv->PreInit) { - xf86Msg(X_ERROR, - "Input driver `%s' has no PreInit function (ignoring)\n", - drv->driverName); - rval = BadImplementation; - goto unwind; + if (!idev->identifier) { + xf86Msg(X_ERROR, "No device identifier specified (ignoring)\n"); + return BadMatch; } for (option = options; option; option = option->next) { @@ -399,40 +639,12 @@ NewInputDeviceRequest (InputOption *options, DeviceIntPtr *pdev) option->value = NULL; } - pInfo = drv->PreInit(drv, idev, 0); - - if (!pInfo) { - xf86Msg(X_ERROR, "PreInit returned NULL for \"%s\"\n", idev->identifier); - rval = BadMatch; - goto unwind; - } - else if (!(pInfo->flags & XI86_CONFIGURED)) { - xf86Msg(X_ERROR, "PreInit failed for input device \"%s\"\n", - idev->identifier); - rval = BadMatch; - goto unwind; - } - - xf86ActivateDevice(pInfo); - - dev = pInfo->dev; - ActivateDevice(dev); - /* Enable it if it's properly initialised, we're currently in the VT, and - * either it's a manual request, or we're automatically enabling devices. */ - if (dev->inited && dev->startup && xf86Screens[0]->vtSema && - (!is_auto || xf86Info.autoEnableDevices)) - EnableDevice(dev); - - *pdev = dev; - return Success; + rval = xf86NewInputDevice(idev, pdev, + (!is_auto || (is_auto && xf86Info.autoEnableDevices))); + if (rval == Success) + return Success; unwind: - if(pInfo) { - if(drv->UnInit) - drv->UnInit(drv, pInfo, 0); - else - xf86DeleteInput(pInfo, 0); - } if(idev->driver) xfree(idev->driver); if(idev->identifier) @@ -442,50 +654,51 @@ unwind: return rval; } -void +_X_EXPORT void DeleteInputDeviceRequest(DeviceIntPtr pDev) { LocalDevicePtr pInfo = (LocalDevicePtr) pDev->public.devicePrivate; - InputDriverPtr drv; - IDevRec *idev; - BOOL found; + InputDriverPtr drv = NULL; + IDevRec *idev = NULL; IDevPtr *it; + Bool isMaster = pDev->isMaster; if (pInfo) /* need to get these before RemoveDevice */ { drv = pInfo->drv; idev = pInfo->conf_idev; } - RemoveDevice(pDev); - if (!pInfo) /* VCP and VCK */ - return; - - if(drv->UnInit) - drv->UnInit(drv, pInfo, 0); - else - xf86DeleteInput(pInfo, 0); - - /* devices added through HAL aren't in the config layout */ - it = xf86ConfigLayout.inputs; - while(*it && *it != idev) - it++; + OsBlockSignals(); + RemoveDevice(pDev); - if (!(*it)) /* end of list, not in the layout */ + if (!isMaster) { - xfree(idev->driver); - xfree(idev->identifier); - xf86optionListFree(idev->commonOptions); - xfree(idev); + if(drv->UnInit) + drv->UnInit(drv, pInfo, 0); + else + xf86DeleteInput(pInfo, 0); + + /* devices added through HAL aren't in the config layout */ + it = xf86ConfigLayout.inputs; + while(*it && *it != idev) + it++; + + if (!(*it)) /* end of list, not in the layout */ + { + xfree(idev->driver); + xfree(idev->identifier); + xf86optionListFree(idev->commonOptions); + xfree(idev); + } } + OsReleaseSignals(); } /* * convenient functions to post events */ -#define MAX_VALUATORS 36 /* XXX from comment in dix/getevents.c */ - _X_EXPORT void xf86PostMotionEvent(DeviceIntPtr device, int is_absolute, @@ -498,8 +711,8 @@ xf86PostMotionEvent(DeviceIntPtr device, static int valuators[MAX_VALUATORS]; if (num_valuators > MAX_VALUATORS) { - xf86Msg(X_ERROR, "xf86PostMotionEvent: num_valuator %d" - " is greater than MAX_VALUATORS\n", num_valuators); + xf86Msg(X_ERROR, "%s: num_valuator %d is greater than" + " MAX_VALUATORS\n", __FUNCTION__, num_valuators); return; } @@ -519,15 +732,15 @@ xf86PostMotionEventP(DeviceIntPtr device, int *valuators) { int i = 0, nevents = 0; - int dx, dy; + int dx = 0, dy = 0; Bool drag = xf86SendDragEvents(device); xEvent *xE = NULL; int index; int flags = 0; if (num_valuators > MAX_VALUATORS) { - xf86Msg(X_ERROR, "xf86PostMotionEvent: num_valuator %d" - " is greater than MAX_VALUATORS\n", num_valuators); + xf86Msg(X_ERROR, "%s: num_valuator %d is greater than" + " MAX_VALUATORS\n", __FUNCTION__, num_valuators); return; } @@ -537,36 +750,41 @@ xf86PostMotionEventP(DeviceIntPtr device, flags = POINTER_RELATIVE | POINTER_ACCELERATE; #if XFreeXDGA - if (first_valuator == 0 && num_valuators >= 2) { - if (miPointerGetScreen(inputInfo.pointer)) { - index = miPointerGetScreen(inputInfo.pointer)->myNum; - if (is_absolute) { - dx = valuators[0] - device->valuator->lastx; - dy = valuators[1] - device->valuator->lasty; - } - else { + /* The evdev driver may not always send all axes across. */ + if (num_valuators >= 1 && first_valuator <= 1) { + if (miPointerGetScreen(device)) { + index = miPointerGetScreen(device)->myNum; + if (first_valuator == 0) + { dx = valuators[0]; - dy = valuators[1]; + if (is_absolute) + dx -= device->last.valuators[0]; } - if (DGAStealMotionEvent(index, dx, dy)) + + if (first_valuator == 1 || num_valuators >= 2) + { + dy = valuators[1 - first_valuator]; + if (is_absolute) + dy -= device->last.valuators[1]; + } + + if (DGAStealMotionEvent(device, index, dx, dy)) return; } } #endif - if (!xf86Events) - FatalError("Didn't allocate event store\n"); - + GetEventList(&xf86Events); nevents = GetPointerEvents(xf86Events, device, MotionNotify, 0, flags, first_valuator, num_valuators, valuators); for (i = 0; i < nevents; i++) { - xE = xf86Events + i; + xE = (xf86Events + i)->event; /* Don't post core motion events for devices not registered to send * drag events. */ if (xE->u.u.type != MotionNotify || drag) { - mieqEnqueue(device, xf86Events + i); + mieqEnqueue(device, (xf86Events + i)->event); } } } @@ -584,8 +802,8 @@ xf86PostProximityEvent(DeviceIntPtr device, if (num_valuators > MAX_VALUATORS) { - xf86Msg(X_ERROR, "xf86PostMotionEvent: num_valuator %d" - " is greater than MAX_VALUATORS\n", num_valuators); + xf86Msg(X_ERROR, "%s: num_valuator %d is greater than" + " MAX_VALUATORS\n", __FUNCTION__, num_valuators); return; } @@ -594,14 +812,12 @@ xf86PostProximityEvent(DeviceIntPtr device, valuators[i] = va_arg(var, int); va_end(var); - if (!xf86Events) - FatalError("Didn't allocate event store\n"); - + GetEventList(&xf86Events); nevents = GetProximityEvents(xf86Events, device, is_in ? ProximityIn : ProximityOut, first_valuator, num_valuators, valuators); for (i = 0; i < nevents; i++) - mieqEnqueue(device, xf86Events + i); + mieqEnqueue(device, (xf86Events + i)->event); } @@ -620,34 +836,32 @@ xf86PostButtonEvent(DeviceIntPtr device, int index; #if XFreeXDGA - if (miPointerGetScreen(inputInfo.pointer)) { - index = miPointerGetScreen(inputInfo.pointer)->myNum; - if (DGAStealButtonEvent(index, button, is_down)) + if (miPointerGetScreen(device)) { + index = miPointerGetScreen(device)->myNum; + if (DGAStealButtonEvent(device, index, button, is_down)) return; } #endif if (num_valuators > MAX_VALUATORS) { - xf86Msg(X_ERROR, "xf86PostMotionEvent: num_valuator %d" - " is greater than MAX_VALUATORS\n", num_valuators); + xf86Msg(X_ERROR, "%s: num_valuator %d is greater than" + " MAX_VALUATORS\n", __FUNCTION__, num_valuators); return; } - + va_start(var, num_valuators); for (i = 0; i < num_valuators; i++) valuators[i] = va_arg(var, int); va_end(var); - if (!xf86Events) - FatalError("Didn't allocate event store\n"); - + GetEventList(&xf86Events); nevents = GetPointerEvents(xf86Events, device, is_down ? ButtonPress : ButtonRelease, button, - is_absolute ? POINTER_ABSOLUTE : - POINTER_RELATIVE, + (is_absolute) ? POINTER_ABSOLUTE : POINTER_RELATIVE, first_valuator, num_valuators, valuators); for (i = 0; i < nevents; i++) - mieqEnqueue(device, xf86Events + i); + mieqEnqueue(device, (xf86Events + i)->event); + } _X_EXPORT void @@ -669,20 +883,18 @@ xf86PostKeyEvent(DeviceIntPtr device, "broken.\n"); if (num_valuators > MAX_VALUATORS) { - xf86Msg(X_ERROR, "xf86PostMotionEvent: num_valuator %d" - " is greater than MAX_VALUATORS\n", num_valuators); + xf86Msg(X_ERROR, "%s: num_valuator %d is greater than" + " MAX_VALUATORS\n", __FUNCTION__, num_valuators); return; } - if (!xf86Events) - FatalError("Didn't allocate event store\n"); - if (is_absolute) { va_start(var, num_valuators); for (i = 0; i < num_valuators; i++) valuators[i] = va_arg(var, int); va_end(var); + GetEventList(&xf86Events); nevents = GetKeyboardValuatorEvents(xf86Events, device, is_down ? KeyPress : KeyRelease, key_code, first_valuator, @@ -695,7 +907,7 @@ xf86PostKeyEvent(DeviceIntPtr device, } for (i = 0; i < nevents; i++) - mieqEnqueue(device, xf86Events + i); + mieqEnqueue(device, (xf86Events + i)->event); } _X_EXPORT void @@ -707,21 +919,24 @@ xf86PostKeyboardEvent(DeviceIntPtr device, int index; #if XFreeXDGA - if (miPointerGetScreen(inputInfo.pointer)) { - index = miPointerGetScreen(inputInfo.pointer)->myNum; - if (DGAStealKeyEvent(index, key_code, is_down)) + DeviceIntPtr pointer; + + /* Some pointers send key events, paired device is wrong then. */ + pointer = IsPointerDevice(device) ? device : GetPairedDevice(device); + + if (miPointerGetScreen(pointer)) { + index = miPointerGetScreen(pointer)->myNum; + if (DGAStealKeyEvent(device, index, key_code, is_down)) return; } #endif - if (!xf86Events) - FatalError("Didn't allocate event store\n"); - + GetEventList(&xf86Events); nevents = GetKeyboardEvents(xf86Events, device, is_down ? KeyPress : KeyRelease, key_code); for (i = 0; i < nevents; i++) - mieqEnqueue(device, xf86Events + i); + mieqEnqueue(device, (xf86Events + i)->event); } _X_EXPORT LocalDevicePtr @@ -763,10 +978,10 @@ xf86ScaleAxis(int Cx, ErrorF ("Divide by Zero in xf86ScaleAxis"); } - if (X > Sxlow) - X = Sxlow; - if (X < Sxhigh) + if (X > Sxhigh) X = Sxhigh; + if (X < Sxlow) + X = Sxlow; return (X); } @@ -810,12 +1025,15 @@ xf86InitValuatorDefaults(DeviceIntPtr dev, int axnum) { if (axnum == 0) { dev->valuator->axisVal[0] = screenInfo.screens[0]->width / 2; - dev->valuator->lastx = dev->valuator->axisVal[0]; + dev->last.valuators[0] = dev->valuator->axisVal[0]; } else if (axnum == 1) { dev->valuator->axisVal[1] = screenInfo.screens[0]->height / 2; - dev->valuator->lasty = dev->valuator->axisVal[1]; + dev->last.valuators[1] = dev->valuator->axisVal[1]; } + + if(axnum == 0) /* to prevent double invocation */ + ApplyAccelerationSettings(dev); } diff --git a/xorg-server/hw/xfree86/common/xf86Xinput.h b/xorg-server/hw/xfree86/common/xf86Xinput.h index d88bbbeee..2ca2073f9 100644 --- a/xorg-server/hw/xfree86/common/xf86Xinput.h +++ b/xorg-server/hw/xfree86/common/xf86Xinput.h @@ -57,11 +57,9 @@ #endif #include "xf86str.h" #include "inputstr.h" -#ifdef XINPUT #include #include #include "XIstubs.h" -#endif /* Input device flags */ #define XI86_OPEN_ON_INIT 0x01 /* open the device at startup time */ @@ -89,7 +87,6 @@ #define TS_Raw 60 #define TS_Scaled 61 -#ifdef XINPUT /* This holds the input driver entry and module information. */ typedef struct _InputDriverRec { int driverVersion; @@ -103,7 +100,6 @@ typedef struct _InputDriverRec { pointer module; int refCount; } InputDriverRec, *InputDriverPtr; -#endif /* This is to input devices what the ScrnInfoRec is to screens. */ @@ -174,10 +170,7 @@ void xf86PostKeyEvent(DeviceIntPtr device, unsigned int key_code, int is_down, ...); void xf86PostKeyboardEvent(DeviceIntPtr device, unsigned int key_code, int is_down); -void xf86XinputFinalizeInit(DeviceIntPtr dev); -void xf86ActivateDevice(LocalDevicePtr local); -Bool xf86CheckButton(int button, int down); -void xf86SwitchCoreDevice(LocalDevicePtr device, DeviceIntPtr core); +int xf86ActivateDevice(LocalDevicePtr local); LocalDevicePtr xf86FirstLocalDevice(void); int xf86ScaleAxis(int Cx, int Sxhigh, int Sxlow, int Rxhigh, int Rxlow); void xf86XInputSetScreen(LocalDevicePtr local, int screen_number, int x, int y); @@ -190,6 +183,7 @@ void xf86AddEnabledDevice(InputInfoPtr pInfo); void xf86RemoveEnabledDevice(InputInfoPtr pInfo); void xf86DisableDevice(DeviceIntPtr dev, Bool panic); void xf86EnableDevice(DeviceIntPtr dev); +int xf86NewInputDevice(IDevPtr idev, DeviceIntPtr *pdev, BOOL is_auto); /* xf86Helper.c */ void xf86AddInputDriver(InputDriverPtr driver, pointer module, int flags); @@ -201,7 +195,7 @@ void xf86DeleteInput(InputInfoPtr pInp, int flags); void xf86MotionHistoryAllocate(LocalDevicePtr local); int xf86GetMotionEvents(DeviceIntPtr dev, xTimecoord *buff, unsigned long start, unsigned long stop, - ScreenPtr pScreen); + ScreenPtr pScreen, BOOL core); /* xf86Option.c */ void xf86CollectInputOptions(InputInfoPtr pInfo, const char **defaultOpts, diff --git a/xorg-server/hw/xfree86/common/xf86cmap.c b/xorg-server/hw/xfree86/common/xf86cmap.c index 764647ee4..e57844764 100644 --- a/xorg-server/hw/xfree86/common/xf86cmap.c +++ b/xorg-server/hw/xfree86/common/xf86cmap.c @@ -29,8 +29,7 @@ #include #endif -#if defined(_XOPEN_SOURCE) || defined(__QNXNTO__) \ - || (defined(sun) && defined(__SVR4)) +#if defined(_XOPEN_SOURCE) || defined(sun) && defined(__SVR4) #include #else #define _XOPEN_SOURCE /* to get prototype for pow on some systems */ @@ -102,8 +101,10 @@ typedef struct { int overscan; } CMapColormapRec, *CMapColormapPtr; -static DevPrivateKey CMapScreenKey = NULL; -static DevPrivateKey CMapColormapKey = &CMapColormapKey; +static int CMapScreenKeyIndex; +static DevPrivateKey CMapScreenKey; +static int CMapColormapKeyIndex; +static DevPrivateKey CMapColormapKey = &CMapColormapKeyIndex; static void CMapInstallColormap(ColormapPtr); static void CMapStoreColors(ColormapPtr, int, xColorItem *); @@ -143,7 +144,7 @@ _X_EXPORT Bool xf86HandleColormaps( if(!maxColors || !sigRGBbits || !loadPalette) return FALSE; - CMapScreenKey = &CMapScreenKey; + CMapScreenKey = &CMapScreenKeyIndex; elements = 1 << sigRGBbits; diff --git a/xorg-server/hw/xfree86/common/xf86fbman.c b/xorg-server/hw/xfree86/common/xf86fbman.c index 9fd2e6c70..5471c58f0 100644 --- a/xorg-server/hw/xfree86/common/xf86fbman.c +++ b/xorg-server/hw/xfree86/common/xf86fbman.c @@ -42,14 +42,15 @@ #define DEBUG */ -static DevPrivateKey xf86FBManagerKey = NULL; +static int xf86FBManagerKeyIndex; +static DevPrivateKey xf86FBManagerKey; _X_EXPORT Bool xf86RegisterOffscreenManager( ScreenPtr pScreen, FBManagerFuncsPtr funcs ){ - xf86FBManagerKey = &xf86FBManagerKey; + xf86FBManagerKey = &xf86FBManagerKeyIndex; dixSetPrivate(&pScreen->devPrivates, xf86FBManagerKey, funcs); return TRUE; @@ -269,7 +270,8 @@ xf86PurgeUnlockedOffscreenAreas(ScreenPtr pScreen) \************************************************************/ -static DevPrivateKey xf86FBScreenKey = &xf86FBScreenKey; +static int xf86FBScreenKeyIndex; +static DevPrivateKey xf86FBScreenKey = &xf86FBScreenKeyIndex; typedef struct _FBLink { FBArea area; diff --git a/xorg-server/hw/xfree86/common/xf86isaBus.c b/xorg-server/hw/xfree86/common/xf86isaBus.c deleted file mode 100644 index 3abad38ef..000000000 --- a/xorg-server/hw/xfree86/common/xf86isaBus.c +++ /dev/null @@ -1,141 +0,0 @@ -/* - * Copyright (c) 1997-2000 by The XFree86 Project, 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 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). - */ - - -/* - * This file contains the interfaces to the bus-specific code - */ - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include "os.h" -#include "xf86.h" -#include "xf86Priv.h" -#include "xf86Resources.h" - -#include "xf86Bus.h" - -#define XF86_OS_PRIVS -#define NEED_OS_RAC_PROTOS -#include "xf86_OSproc.h" - -#include "xf86RAC.h" - -Bool isaSlotClaimed = FALSE; - -/* - * If the slot requested is already in use, return FALSE. - * Otherwise, claim the slot for the screen requesting it. - */ - -_X_EXPORT int -xf86ClaimIsaSlot(DriverPtr drvp, int chipset, GDevPtr dev, Bool active) -{ - EntityPtr p; - BusAccPtr pbap = xf86BusAccInfo; - int num; - - num = xf86AllocateEntity(); - p = xf86Entities[num]; - p->driver = drvp; - p->chipset = chipset; - p->busType = BUS_ISA; - p->active = active; - p->inUse = FALSE; - xf86AddDevToEntity(num, dev); - p->access = xnfcalloc(1,sizeof(EntityAccessRec)); - p->access->fallback = &AccessNULL; - p->access->pAccess = &AccessNULL; - p->busAcc = NULL; - while (pbap) { - if (pbap->type == BUS_ISA) - p->busAcc = pbap; - pbap = pbap->next; - } - isaSlotClaimed = TRUE; - return num; -} - -/* - * Get the list of ISA "slots" claimed by a screen - * - * Note: The ISA implementation here assumes that only one ISA "slot" type - * can be claimed by any one screen. That means a return value other than - * 0 or 1 isn't useful. - */ -int -xf86GetIsaInfoForScreen(int scrnIndex) -{ - int num = 0; - int i; - EntityPtr p; - - for (i = 0; i < xf86Screens[scrnIndex]->numEntities; i++) { - p = xf86Entities[xf86Screens[scrnIndex]->entityList[i]]; - if (p->busType == BUS_ISA) { - num++; - } - } - return num; -} - -/* - * Parse a BUS ID string, and return True if it is a ISA bus id. - */ - -_X_EXPORT Bool -xf86ParseIsaBusString(const char *busID) -{ - /* - * The format assumed to be "isa" or "isa:" - */ - return (StringToBusType(busID,NULL) == BUS_ISA); -} - - -/* - * xf86IsPrimaryIsa() -- return TRUE if primary device - * is ISA. - */ - -_X_EXPORT Bool -xf86IsPrimaryIsa(void) -{ - return ( primaryBus.type == BUS_ISA ); -} - -void -isaConvertRange2Host(resRange *pRange) -{ - return; -} diff --git a/xorg-server/hw/xfree86/common/xf86pciBus.c b/xorg-server/hw/xfree86/common/xf86pciBus.c index d5ae75b3a..5b29a1511 100644 --- a/xorg-server/hw/xfree86/common/xf86pciBus.c +++ b/xorg-server/hw/xfree86/common/xf86pciBus.c @@ -417,18 +417,16 @@ xf86PciProbe(void) if (xf86IsPrimaryPci(info)) prim = "*"; - xf86Msg( X_PROBED, "PCI:%s(%u@%u:%u:%u) ", prim, info->domain, - info->bus, info->dev, info->func ); + xf86Msg(X_PROBED, "PCI:%s(%u:%u:%u:%u) %04x:%04x:%04x:%04x ", prim, + info->domain, info->bus, info->dev, info->func, + info->vendor_id, info->device_id, + info->subvendor_id, info->subdevice_id); if (vendorname) xf86ErrorF("%s ", vendorname); - else - xf86ErrorF("unknown vendor (0x%04x) ", info->vendor_id); if (chipname) xf86ErrorF("%s ", chipname); - else - xf86ErrorF("unknown chipset (0x%04x) ", info->device_id); xf86ErrorF("rev %d", info->revision); @@ -441,7 +439,7 @@ xf86PciProbe(void) memdone = TRUE; } else xf86ErrorF(", "); - xf86ErrorF("0x%08lx/%ld", r->base_addr, r->size); + xf86ErrorF("0x%08lx/%ld", (long)r->base_addr, (long)r->size); } } @@ -454,12 +452,12 @@ xf86PciProbe(void) iodone = TRUE; } else xf86ErrorF(", "); - xf86ErrorF("0x%08lx/%ld", r->base_addr, r->size); + xf86ErrorF("0x%08lx/%ld", (long)r->base_addr, (long)r->size); } } if ( info->rom_size ) { - xf86ErrorF(", BIOS @ 0x\?\?\?\?\?\?\?\?/%ld", info->rom_size); + xf86ErrorF(", BIOS @ 0x\?\?\?\?\?\?\?\?/%ld", (long)info->rom_size); } xf86ErrorF("\n"); @@ -564,11 +562,6 @@ initPciBusState(void) pbap->disable_f = pciBusAccessDisable; savePciBusState(pbap); break; - case PCI_SUBCLASS_BRIDGE_ISA: - case PCI_SUBCLASS_BRIDGE_EISA: - case PCI_SUBCLASS_BRIDGE_MC: - pbap->type = BUS_ISA; - break; } pbap->next = xf86BusAccInfo; xf86BusAccInfo = pbap; diff --git a/xorg-server/hw/xfree86/common/xf86pciBus.h b/xorg-server/hw/xfree86/common/xf86pciBus.h index 7d08502fc..1cbfa38ea 100644 --- a/xorg-server/hw/xfree86/common/xf86pciBus.h +++ b/xorg-server/hw/xfree86/common/xf86pciBus.h @@ -70,6 +70,5 @@ void PciBusStateEnter(void); void PciStateLeave(void); void PciBusStateLeave(void); void pciConvertRange2Host(int entityIndex, resRange *pRange); -void isaConvertRange2Host(resRange *pRange); #endif /* _XF86_PCI_BUS_H */ diff --git a/xorg-server/hw/xfree86/common/xf86sbusBus.c b/xorg-server/hw/xfree86/common/xf86sbusBus.c index 63d1cb31c..af2b14539 100644 --- a/xorg-server/hw/xfree86/common/xf86sbusBus.c +++ b/xorg-server/hw/xfree86/common/xf86sbusBus.c @@ -602,7 +602,8 @@ xf86SbusUseBuiltinMode(ScrnInfoPtr pScrn, sbusDevicePtr psdp) pScrn->virtualY = psdp->height; } -static DevPrivateKey sbusPaletteKey = &sbusPaletteKey; +static sbusPaletteKeyIndex; +static DevPrivateKey sbusPaletteKey = &sbusPaletteKeyIndex; typedef struct _sbusCmap { sbusDevicePtr psdp; CloseScreenProcPtr CloseScreen; diff --git a/xorg-server/hw/xfree86/common/xf86sbusBus.h b/xorg-server/hw/xfree86/common/xf86sbusBus.h index 8576409d4..6161a08e2 100644 --- a/xorg-server/hw/xfree86/common/xf86sbusBus.h +++ b/xorg-server/hw/xfree86/common/xf86sbusBus.h @@ -60,6 +60,7 @@ extern struct sbus_devtable { int devId; int fbType; char *promName; + char *driverName; char *descr; } sbusDeviceTable[]; @@ -93,5 +94,6 @@ int sparcPromGetBool(sbusPromNodePtr pnode, const char *prop); void sparcPromAssignNodes(void); char * sparcPromNode2Pathname(sbusPromNodePtr pnode); int sparcPromPathname2Node(const char *pathName); +char *sparcDriverName(void); #endif /* _XF86_SBUSBUS_H */ diff --git a/xorg-server/hw/xfree86/common/xf86str.h b/xorg-server/hw/xfree86/common/xf86str.h index fc94284cb..904c369a6 100644 --- a/xorg-server/hw/xfree86/common/xf86str.h +++ b/xorg-server/hw/xfree86/common/xf86str.h @@ -382,10 +382,6 @@ typedef enum { struct pci_device; -typedef struct { - unsigned int dummy; -} IsaBusId; - typedef struct { int fbNum; } SbusBusId; @@ -393,7 +389,6 @@ typedef struct { typedef struct _bus { BusType type; union { - IsaBusId isa; struct pci_device *pci; SbusBusId sbus; } id; @@ -436,8 +431,6 @@ typedef struct { int screen; /* For multi-CRTC cards */ } GDevRec, *GDevPtr; -typedef int (*FindIsaDevProc)(GDevPtr dev); - typedef struct { char * identifier; char * driver; @@ -623,9 +616,6 @@ typedef struct _CurrAccRec { #define ResMem 0x0001 #define ResIo 0x0002 -#define ResIrq 0x0003 -#define ResDma 0x0004 -#define ResPciCfg 0x000e /* PCI Configuration space */ #define ResPhysMask 0x000F #define ResExclusive 0x0010 @@ -648,7 +638,6 @@ typedef struct _CurrAccRec { #define ResMiscMask 0x00F000 #define ResBus 0x010000 -#define ResOverlap 0x020000 #if defined(__alpha__) && defined(linux) # define ResDomain 0x1ff000000ul @@ -687,7 +676,6 @@ typedef struct _CurrAccRec { #define ResIsBlock(r) (((r)->type & ResExtMask) == ResBlock) #define ResIsSparse(r) (((r)->type & ResExtMask) == ResSparse) #define ResIsEstimated(r) (((r)->type & ResMiscMask) == ResEstimated) -#define ResCanOverlap(r) (ResIsEstimated(r) || ((r)->type & ResOverlap)) typedef struct { unsigned long type; /* shared, exclusive, unused etc. */ @@ -722,11 +710,6 @@ typedef struct _resRec { #define block_end val.rEnd #define res_type val.type -typedef struct { - int numChipset; - resRange *resList; -} IsaChipsets; - typedef struct _PciChipsets { /** * Key used to match this device with its name in an array of @@ -851,7 +834,6 @@ typedef int xf86SetDGAModeProc (int, int, DGADevicePtr); typedef int xf86ChangeGammaProc (int, Gamma); typedef void xf86PointerMovedProc (int, int, int); typedef Bool xf86PMEventProc (int, pmEvent, Bool); -typedef int xf86HandleMessageProc (int, const char*, const char*, char**); typedef void xf86DPMSSetProc (ScrnInfoPtr, int, int); typedef void xf86LoadPaletteProc (ScrnInfoPtr, int, int *, LOCO *, VisualPtr); typedef void xf86SetOverscanProc (ScrnInfoPtr, int); @@ -1006,7 +988,6 @@ typedef struct _ScrnInfoRec { xf86ChangeGammaProc *ChangeGamma; xf86PointerMovedProc *PointerMoved; xf86PMEventProc *PMEvent; - xf86HandleMessageProc *HandleMessage; xf86DPMSSetProc *DPMSSet; xf86LoadPaletteProc *LoadPalette; xf86SetOverscanProc *SetOverscan; @@ -1090,14 +1071,6 @@ typedef void (*InputHandlerProc)(int fd, pointer data); #define CLK_REG_SAVE -1 #define CLK_REG_RESTORE -2 -/* xf86Debug.c */ -#ifdef BUILDDEBUG -typedef struct { - long sec; - long usec; -} xf86TsRec, *xf86TsPtr; -#endif - /* * misc constants */ @@ -1111,13 +1084,6 @@ typedef struct { #define OVERLAY_8_16_DUALFB 0x00000004 #define OVERLAY_8_32_PLANAR 0x00000008 -#if 0 -#define LD_RESOLV_IFDONE 0 /* only check if no more - delays pending */ -#define LD_RESOLV_NOW 1 /* finish one delay step */ -#define LD_RESOLV_FORCE 2 /* force checking... */ -#endif - /* Values of xf86Info.mouseFlags */ #define MF_CLEAR_DTR 1 #define MF_CLEAR_RTS 2 @@ -1127,36 +1093,9 @@ typedef enum { ACTION_TERMINATE = 0, /* Terminate Server */ ACTION_NEXT_MODE = 10, /* Switch to next video mode */ ACTION_PREV_MODE, - ACTION_DISABLEGRAB = 20, /* Cancel server/pointer/kbd grabs */ - ACTION_CLOSECLIENT, /* Kill client holding grab */ ACTION_SWITCHSCREEN = 100, /* VT switch */ ACTION_SWITCHSCREEN_NEXT, ACTION_SWITCHSCREEN_PREV, - ACTION_MESSAGE = 9999 /* Generic message passing */ } ActionEvent; -/* xf86Versions.c */ -/* - * Never change existing values, and always assign values explicitly. - * NUM_BUILTIN_IFS must always be the last entry. - */ -typedef enum { - BUILTIN_IF_OSMOUSE = 0, - BUILTIN_IF_OSKBD = 1, - NUM_BUILTIN_IFS -} BuiltinInterface; - -/* - * These are intentionally the same as the module version macros. - * It is possible to register a module as providing a specific interface, - * in which case the module's version is used. This feature isn't - * really ready for use yet though. - */ - -#define BUILTIN_INTERFACE_VERSION_NUMERIC(maj, min, patch) \ - ((((maj) & 0xFF) << 24) | (((min) & 0xFF) << 16) | (patch & 0xFFFF)) -#define GET_BUILTIN_INTERFACE_MAJOR_VERSION(vers) (((vers) >> 24) & 0xFF) -#define GET_BUILTIN_INTERFACE_MINOR_VERSION(vers) (((vers) >> 16) & 0xFF) -#define GET_BUILTIN_INTERFACE_PATCH_VERSION(vers) ((vers) & 0xFFFF) - #endif /* _XF86STR_H */ diff --git a/xorg-server/hw/xfree86/common/xf86xv.c b/xorg-server/hw/xfree86/common/xf86xv.c index 7483e20d2..02d6e37a4 100644 --- a/xorg-server/hw/xfree86/common/xf86xv.c +++ b/xorg-server/hw/xfree86/common/xf86xv.c @@ -110,8 +110,10 @@ static void xf86XVAdjustFrame(int index, int x, int y, int flags); static Bool xf86XVInitAdaptors(ScreenPtr, XF86VideoAdaptorPtr*, int); -static DevPrivateKey XF86XVWindowKey = &XF86XVWindowKey; -DevPrivateKey XF86XvScreenKey; +static int XF86XVWindowKeyIndex; +static DevPrivateKey XF86XVWindowKey = &XF86XVWindowKeyIndex; +static int XF86XvScreenKeyIndex; +DevPrivateKey XF86XvScreenKey = &XF86XvScreenKeyIndex; static unsigned long PortResource = 0; DevPrivateKey (*XvGetScreenKeyProc)(void) = NULL; @@ -962,9 +964,8 @@ xf86XVEnlistPortInWindow(WindowPtr pWin, XvPortRecPrivatePtr portPriv) } if(!winPriv) { - winPriv = xalloc(sizeof(XF86XVWindowRec)); + winPriv = xcalloc(1, sizeof(XF86XVWindowRec)); if(!winPriv) return BadAlloc; - memset(winPriv, 0, sizeof(XF86XVWindowRec)); winPriv->PortRec = portPriv; winPriv->next = PrivRoot; dixSetPrivate(&pWin->devPrivates, XF86XVWindowKey, winPriv); @@ -1173,7 +1174,7 @@ xf86XVCloseScreen(int i, ScreenPtr pScreen) int c; /* Clear offscreen images */ - (void)memset(&OffscreenImages[pScreen->myNum], 0, sizeof(OffscreenImages[0])); + memset(&OffscreenImages[pScreen->myNum], 0, sizeof(OffscreenImages[0])); if(!ScreenPriv) return TRUE; diff --git a/xorg-server/hw/xfree86/common/xf86xvmc.c b/xorg-server/hw/xfree86/common/xf86xvmc.c index 05267a240..41ef0a0ca 100644 --- a/xorg-server/hw/xfree86/common/xf86xvmc.c +++ b/xorg-server/hw/xfree86/common/xf86xvmc.c @@ -56,7 +56,8 @@ typedef struct { XvMCAdaptorPtr dixinfo; } xf86XvMCScreenRec, *xf86XvMCScreenPtr; -static DevPrivateKey XF86XvMCScreenKey = &XF86XvMCScreenKey; +static int XF86XvMCScreenKeyIndex; +static DevPrivateKey XF86XvMCScreenKey = &XF86XvMCScreenKeyIndex; #define XF86XVMC_GET_PRIVATE(pScreen) (xf86XvMCScreenPtr) \ dixLookupPrivate(&(pScreen)->devPrivates, XF86XvMCScreenKey) diff --git a/xorg-server/hw/xfree86/common/xisb.c b/xorg-server/hw/xfree86/common/xisb.c index d021ec15b..6314094a0 100644 --- a/xorg-server/hw/xfree86/common/xisb.c +++ b/xorg-server/hw/xfree86/common/xisb.c @@ -41,7 +41,6 @@ #include #include -#include #include #include #include diff --git a/xorg-server/hw/xfree86/ddc/DDC.HOWTO b/xorg-server/hw/xfree86/ddc/DDC.HOWTO index 833a7ab54..1d06ca124 100644 --- a/xorg-server/hw/xfree86/ddc/DDC.HOWTO +++ b/xorg-server/hw/xfree86/ddc/DDC.HOWTO @@ -6,24 +6,24 @@ When implementing DDC in the driver one has the choice between DDC1 and DDC2. - DDC1 data is contiuously transmitted by a DDC1 capable display + DDC1 data is continuously transmitted by a DDC1 capable display device. The data is send serially over a data line; the Vsync signal serves as clock. Only one EDID 1.x data block can be transmitted using DDC1. Since transmission of an EDID1 block using a regular Vsync frequency would take up several seconds the driver can increase the Vsync frequency to up to 25 kHz as - soon as it detects DDC1 activety on the data line. + soon as it detects DDC1 activity on the data line. DDC2 data is transmitted using the I2C protocol. This requires an additional clock line. DDC2 is capable of transmitting EDID1 and EDID2 block as well as a VDIF block on display devices that support these. Display devices switch into the DDC2 mode as soon as they detect - activety on the DDC clock line. Once the are in DDC2 mode they + activity on the DDC clock line. Once the are in DDC2 mode they stop transmitting DDC1 signals until the next power cycle. Some graphics chipset configurations which are not capable of DDC2 might still be able to read DDC1 data. Where available - DDC2 it is preferrable. + DDC2 it is preferable. All relevant prototypes and defines are in xf86DDC.h. DDC2 additionally requires I2C support. The I2C prototypes @@ -37,7 +37,7 @@ unsigned int XXX_ddc1Read(ScrnInfoPtr pScrn) - Additionally a function is required to inclrease the Vsync + Additionally a function is required to increase the Vsync frequency to max. 25 kHz. void XXX_ddc1SetSpeed(ScrnInfoPtr pScrn, xf86ddcSpeed speed) @@ -58,7 +58,7 @@ in PreInit(). DDC1SetSpeed is a pointer to the SetSpeed() function, DDC1Read has to point to the DDC1 read function. The function will return a pointer to the xf86Monitor structure - which contains all information retreived by DDC. + which contains all information retrieved by DDC. NULL will be returned on failure. DDC2 Support @@ -73,7 +73,7 @@ to the I2CBusRec of the appropriate I2C Bus has to be passed as the second argument. The function will return a pointer to the xf86Monitor structure - which contains all information retreived by DDC. + which contains all information retrieved by DDC. NULL will be returned on failure. Printing monitor parameters @@ -86,7 +86,7 @@ is provided. Further processing of the xf86Monitor structure is not yet - implemented. Howerver it is planned to use the information + implemented. However, it is planned to use the information about video modes, gamma values etc. Therefore it is strongly recommended to read out DDC data before any video mode processing is done. diff --git a/xorg-server/hw/xfree86/ddc/Makefile.in b/xorg-server/hw/xfree86/ddc/Makefile.in index 9016bc200..3e7813965 100644 --- a/xorg-server/hw/xfree86/ddc/Makefile.in +++ b/xorg-server/hw/xfree86/ddc/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -45,7 +45,6 @@ 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 \ @@ -64,9 +63,6 @@ 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) \ @@ -90,8 +86,9 @@ ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ -APPDEFAULTDIR = @APPDEFAULTDIR@ APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +APPLE_APPLICATION_ID = @APPLE_APPLICATION_ID@ +APPLE_APPLICATION_NAME = @APPLE_APPLICATION_NAME@ APP_MAN_DIR = @APP_MAN_DIR@ APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ AR = @AR@ @@ -112,10 +109,6 @@ 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@ @@ -137,6 +130,7 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOLT_BASH = @DOLT_BASH@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ @@ -146,18 +140,15 @@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ DSYMUTIL = @DSYMUTIL@ DTRACE = @DTRACE@ -ECHO = @ECHO@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ -FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ -FREETYPE_LIBS = @FREETYPE_LIBS@ GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ GLX_DEFINES = @GLX_DEFINES@ GL_CFLAGS = @GL_CFLAGS@ @@ -176,7 +167,7 @@ KDRIVE_LIBS = @KDRIVE_LIBS@ KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ -LAUNCHD = @LAUNCHD@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ LEX = @LEX@ @@ -190,7 +181,10 @@ LIBTOOL = @LIBTOOL@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LINUXDOC = @LINUXDOC@ +LIPO = @LIPO@ LN_S = @LN_S@ +LTCOMPILE = @LTCOMPILE@ +LTCXXCOMPILE = @LTCXXCOMPILE@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ @@ -202,8 +196,7 @@ MESA_SOURCE = @MESA_SOURCE@ MISC_MAN_DIR = @MISC_MAN_DIR@ MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ MKDIR_P = @MKDIR_P@ -MKFONTDIR = @MKFONTDIR@ -MKFONTSCALE = @MKFONTSCALE@ +NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCCLD = @OBJCCLD@ @@ -212,8 +205,8 @@ OBJCFLAGS = @OBJCFLAGS@ OBJCLINK = @OBJCLINK@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ @@ -246,7 +239,6 @@ VENDOR_NAME = @VENDOR_NAME@ VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ VENDOR_RELEASE = @VENDOR_RELEASE@ VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ XDMCP_CFLAGS = @XDMCP_CFLAGS@ @@ -256,27 +248,12 @@ XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@ XDMX_CFLAGS = @XDMX_CFLAGS@ XDMX_LIBS = @XDMX_LIBS@ XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ XEPHYR_INCS = @XEPHYR_INCS@ XEPHYR_LIBS = @XEPHYR_LIBS@ 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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ @@ -287,10 +264,6 @@ XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ XNEST_LIBS = @XNEST_LIBS@ XNEST_SYS_LIBS = @XNEST_SYS_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_INCS = @XORG_INCS@ XORG_LIBS = @XORG_LIBS@ @@ -299,13 +272,8 @@ XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ XORG_OS = @XORG_OS@ XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_LIBS@ +XPBPROXY_CFLAGS = @XPBPROXY_CFLAGS@ +XPBPROXY_LIBS = @XPBPROXY_LIBS@ XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ XSDL_INCS = @XSDL_INCS@ @@ -338,8 +306,7 @@ 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@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -359,7 +326,6 @@ driverdir = @driverdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ extdir = @extdir@ -ft_config = @ft_config@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ @@ -369,12 +335,12 @@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ -launchagentsdir = @launchagentsdir@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ logdir = @logdir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ moduledir = @moduledir@ @@ -392,8 +358,6 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ sdk_HEADERS = edid.h xf86DDC.h noinst_LIBRARIES = libddc.a libddc_a_SOURCES = xf86DDC.c edid.c interpret_edid.c print_edid.c \ @@ -410,8 +374,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ @@ -504,7 +468,7 @@ ID: $(HEADERS) $(SOURCES) $(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; nonemtpy = 1; } \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS diff --git a/xorg-server/hw/xfree86/ddc/ddcProperty.c b/xorg-server/hw/xfree86/ddc/ddcProperty.c index 02125dff7..a4384f1d3 100644 --- a/xorg-server/hw/xfree86/ddc/ddcProperty.c +++ b/xorg-server/hw/xfree86/ddc/ddcProperty.c @@ -83,13 +83,18 @@ addRootWindowProperties(ScrnInfoPtr pScrn, xf86MonPtr DDC) } if (makeEDID1prop) { - if ((EDID1rawdata = xalloc(128*sizeof(CARD8)))==NULL) + int size = 128; + + if (DDC->flags & EDID_COMPLETE_RAWDATA) + size += DDC->no_sections * 128; + + if ((EDID1rawdata = xalloc(size*sizeof(CARD8)))==NULL) return; EDID1Atom = MakeAtom(EDID1_ATOM_NAME, sizeof(EDID1_ATOM_NAME) - 1, TRUE); - memcpy(EDID1rawdata, DDC->rawData, 128); + memcpy(EDID1rawdata, DDC->rawData, size); xf86RegisterRootWindowProperty(scrnIndex, EDID1Atom, XA_INTEGER, 8, - 128, (unsigned char *)EDID1rawdata); + size, (unsigned char *)EDID1rawdata); } if (makeEDID2prop) { diff --git a/xorg-server/hw/xfree86/ddc/edid.h b/xorg-server/hw/xfree86/ddc/edid.h index a4e79dae0..3ca402f57 100644 --- a/xorg-server/hw/xfree86/ddc/edid.h +++ b/xorg-server/hw/xfree86/ddc/edid.h @@ -527,10 +527,13 @@ struct detailed_monitor_section { struct whitePoints wp[2]; /* 32 */ /* color management data */ struct cvt_timings cvt[4]; /* 64 */ - /* established timings III */ + Uchar est_iii[6]; /* 6 */ } section; /* max: 80 */ }; +/* flags */ +#define EDID_COMPLETE_RAWDATA 0x1 + typedef struct { int scrnIndex; struct vendor vendor; @@ -539,7 +542,7 @@ typedef struct { struct established_timings timings1; struct std_timings timings2[8]; struct detailed_monitor_section det_mon[4]; - void *vdif; /* unused */ + unsigned long flags; int no_sections; Uchar *rawData; } xf86Monitor, *xf86MonPtr; diff --git a/xorg-server/hw/xfree86/ddc/interpret_edid.c b/xorg-server/hw/xfree86/ddc/interpret_edid.c index 879308520..310606c7c 100644 --- a/xorg-server/hw/xfree86/ddc/interpret_edid.c +++ b/xorg-server/hw/xfree86/ddc/interpret_edid.c @@ -163,6 +163,20 @@ xf86InterpretEDID(int scrnIndex, Uchar *block) return NULL; } +xf86MonPtr +xf86InterpretEEDID(int scrnIndex, Uchar *block) +{ + xf86MonPtr m; + + m = xf86InterpretEDID(scrnIndex, block); + if (!m) + return NULL; + + /* extension parse */ + + return m; +} + static void get_vendor_section(Uchar *c, struct vendor *r) { @@ -270,6 +284,8 @@ get_std_timing_section(Uchar *c, struct std_timings *r, } } +static const unsigned char empty_block[18]; + static void get_dt_md_section(Uchar *c, struct edid_version *ver, struct detailed_monitor_section *det_mon) @@ -313,6 +329,7 @@ get_dt_md_section(Uchar *c, struct edid_version *ver, break; case ADD_EST_TIMINGS: det_mon[i].type = DS_EST_III; + memcpy(det_mon[i].section.est_iii, c + 6, 6); break; case ADD_DUMMY: det_mon[i].type = DS_DUMMY; @@ -321,10 +338,10 @@ get_dt_md_section(Uchar *c, struct edid_version *ver, det_mon[i].type = DS_UNKOWN; break; } - if (c[3] <= 0x0F) { + if (c[3] <= 0x0F && memcmp(c, empty_block, sizeof(empty_block))) { det_mon[i].type = DS_VENDOR + c[3]; } - } else { + } else { det_mon[i].type = DT; get_detailed_timing_section(c,&det_mon[i].section.d_timings); } @@ -394,14 +411,14 @@ get_monitor_ranges(Uchar *c, struct monitor_ranges *r) static void get_whitepoint_section(Uchar *c, struct whitePoints *wp) { - wp[1].white_x = WHITEX1; - wp[1].white_y = WHITEY1; - wp[2].white_x = WHITEX2; - wp[2].white_y = WHITEY2; - wp[1].index = WHITE_INDEX1; - wp[2].index = WHITE_INDEX2; - wp[1].white_gamma = WHITE_GAMMA1; - wp[2].white_gamma = WHITE_GAMMA2; + wp[0].white_x = WHITEX1; + wp[0].white_y = WHITEY1; + wp[1].white_x = WHITEX2; + wp[1].white_y = WHITEY2; + wp[0].index = WHITE_INDEX1; + wp[1].index = WHITE_INDEX2; + wp[0].white_gamma = WHITE_GAMMA1; + wp[1].white_gamma = WHITE_GAMMA2; } static void @@ -445,3 +462,56 @@ validate_version(int scrnIndex, struct edid_version *r) return TRUE; } + +/* + * Returns true if HDMI, false if definitely not or unknown. + */ +_X_EXPORT Bool +xf86MonitorIsHDMI(xf86MonPtr mon) +{ + int i = 0, version, offset; + char *edid = NULL; + + if (!mon) + return FALSE; + + if (!(mon->flags & EDID_COMPLETE_RAWDATA)) + return FALSE; + + if (!mon->no_sections) + return FALSE; + + edid = (char *)mon->rawData; + if (!edid) + return FALSE; + + /* find the CEA extension block */ + for (i = 1; i <= mon->no_sections; i++) + if (edid[i * 128] == 0x02) + break; + if (i == mon->no_sections + 1) + return FALSE; + edid += (i * 128); + + version = edid[1]; + offset = edid[2]; + if (version < 3 || offset < 4) + return FALSE; + + /* walk the cea data blocks */ + for (i = 4; i < offset; i += (edid[i] & 0x1f) + 1) { + char *x = edid + i; + + /* find a vendor specific block */ + if ((x[0] & 0xe0) >> 5 == 0x03) { + int oui = (x[3] << 16) + (x[2] << 8) + x[1]; + + /* find the HDMI vendor OUI */ + if (oui == 0x000c03) + return TRUE; + } + } + + /* guess it's not HDMI after all */ + return FALSE; +} diff --git a/xorg-server/hw/xfree86/ddc/print_edid.c b/xorg-server/hw/xfree86/ddc/print_edid.c index df11bfb3d..e9c8cbdf7 100644 --- a/xorg-server/hw/xfree86/ddc/print_edid.c +++ b/xorg-server/hw/xfree86/ddc/print_edid.c @@ -168,7 +168,7 @@ print_dpms_features(int scrnIndex, struct disp_features *c, } else if (v->revision == 3) { xf86DrvMsg(scrnIndex,X_INFO, "First detailed timing not preferred " - "mode in violation of standard!"); + "mode in violation of standard!\n"); } if (v->revision >= 4) { @@ -230,7 +230,7 @@ print_established_timings(int scrnIndex, struct established_timings *t) unsigned char c; if (t->t1 || t->t2 || t->t_manu) - xf86DrvMsg(scrnIndex,X_INFO,"Supported VESA Video Modes:\n"); + xf86DrvMsg(scrnIndex,X_INFO,"Supported established timings:\n"); c=t->t1; if (c&0x80) xf86DrvMsg(scrnIndex,X_INFO,"720x400@70Hz\n"); if (c&0x40) xf86DrvMsg(scrnIndex,X_INFO,"720x400@88Hz\n"); @@ -262,7 +262,7 @@ print_std_timings(int scrnIndex, struct std_timings *t) for (i=0;i 256) { /* sanity check */ if (!done) { - xf86DrvMsg(scrnIndex,X_INFO,"Supported Future Video Modes:\n"); + xf86DrvMsg(scrnIndex,X_INFO,"Supported standard timings:\n"); done = 1; } xf86DrvMsg(scrnIndex,X_INFO, @@ -295,7 +295,7 @@ print_detailed_timings(int scrnIndex, struct detailed_timings *t) { if (t->clock > 15000000) { /* sanity check */ - xf86DrvMsg(scrnIndex,X_INFO,"Supported additional Video Mode:\n"); + xf86DrvMsg(scrnIndex,X_INFO,"Supported detailed timing:\n"); xf86DrvMsg(scrnIndex,X_INFO,"clock: %.1f MHz ",t->clock/1000000.0); xf86ErrorF("Image Size: %i x %i mm\n",t->h_size,t->v_size); xf86DrvMsg(scrnIndex,X_INFO, @@ -463,22 +463,28 @@ print_number_sections(int scrnIndex, int num) xf86MonPtr xf86PrintEDID(xf86MonPtr m) { - CARD16 i, j; + CARD16 i, j, n; char buf[EDID_WIDTH * 2 + 1]; - if (!(m)) return NULL; + if (!m) return NULL; - print_vendor(m->scrnIndex,&m->vendor); - print_version(m->scrnIndex,&m->ver); - print_display(m->scrnIndex,&m->features, &m->ver); - print_established_timings(m->scrnIndex,&m->timings1); - print_std_timings(m->scrnIndex,m->timings2); - print_detailed_monitor_section(m->scrnIndex,m->det_mon); - print_number_sections(m->scrnIndex,m->no_sections); + print_vendor(m->scrnIndex, &m->vendor); + print_version(m->scrnIndex, &m->ver); + print_display(m->scrnIndex, &m->features, &m->ver); + print_established_timings(m->scrnIndex, &m->timings1); + print_std_timings(m->scrnIndex, m->timings2); + print_detailed_monitor_section(m->scrnIndex, m->det_mon); + print_number_sections(m->scrnIndex, m->no_sections); + + /* extension block section stuff */ xf86DrvMsg(m->scrnIndex, X_INFO, "EDID (in hex):\n"); - - for (i = 0; i < 128; i += j) { + + n = 128; + if (m->flags & EDID_COMPLETE_RAWDATA) + n += m->no_sections * 128; + + for (i = 0; i < n; i += j) { for (j = 0; j < EDID_WIDTH; ++j) { sprintf(&buf[j * 2], "%02x", m->rawData[i + j]); } diff --git a/xorg-server/hw/xfree86/ddc/xf86DDC.c b/xorg-server/hw/xfree86/ddc/xf86DDC.c index 28e2ead28..0d8677637 100644 --- a/xorg-server/hw/xfree86/ddc/xf86DDC.c +++ b/xorg-server/hw/xfree86/ddc/xf86DDC.c @@ -2,6 +2,14 @@ * * Copyright 1998,1999 by Egbert Eich */ + +/* + * Note that DDC1 does not define any method for returning blocks beyond + * the first. DDC2 does, but the original implementation would only ever + * read the first block. If you want to read and parse all blocks, use + * xf86DoEEDID(). + */ + #ifdef HAVE_XORG_CONFIG_H #include #endif @@ -31,18 +39,6 @@ static unsigned int *FetchEDID_DDC1( register unsigned int (*)(ScrnInfoPtr) ); -static unsigned char* EDID1Read_DDC2( - int scrnIndex, - I2CBusPtr pBus -); - -static unsigned char * DDCRead_DDC2( - int scrnIndex, - I2CBusPtr pBus, - int start, - int len -); - typedef enum { DDCOPT_NODDC1, DDCOPT_NODDC2, @@ -107,10 +103,102 @@ xf86DoEDID_DDC1( return tmp; } +static I2CDevPtr +DDC2MakeDevice(I2CBusPtr pBus, int address, char *name) +{ + I2CDevPtr dev = NULL; + + if (!(dev = xf86I2CFindDev(pBus, address))) { + dev = xf86CreateI2CDevRec(); + dev->DevName = name; + dev->SlaveAddr = address; + dev->ByteTimeout = 2200; /* VESA DDC spec 3 p. 43 (+10 %) */ + dev->StartTimeout = 550; + dev->BitTimeout = 40; + dev->AcknTimeout = 40; + + dev->pI2CBus = pBus; + if (!xf86I2CDevInit(dev)) { + xf86DrvMsg(pBus->scrnIndex, X_PROBED, "No DDC2 device\n"); + return NULL; + } + } + + return dev; +} + +static I2CDevPtr +DDC2Init(int scrnIndex, I2CBusPtr pBus) +{ + I2CDevPtr dev = NULL; + + /* + * Slow down the bus so that older monitors don't + * miss things. + */ + pBus->RiseFallTime = 20; + + DDC2MakeDevice(pBus, 0x0060, "E-EDID segment register"); + dev = DDC2MakeDevice(pBus, 0x00A0, "ddc2"); + + return dev; +} + +/* Mmmm, smell the hacks */ +static void +EEDIDStop(I2CDevPtr d) +{ +} + +/* block is the EDID block number. a segment is two blocks. */ +static Bool +DDC2Read(I2CDevPtr dev, int block, unsigned char *R_Buffer) +{ + unsigned char W_Buffer[1]; + int i, segment; + I2CDevPtr seg; + void (*stop)(I2CDevPtr); + + for (i = 0; i < RETRIES; i++) { + /* Stop bits reset the segment pointer to 0, so be careful here. */ + segment = block >> 1; + if (segment) { + Bool b; + + if (!(seg = xf86I2CFindDev(dev->pI2CBus, 0x0060))) + return FALSE; + + W_Buffer[0] = segment; + + stop = dev->pI2CBus->I2CStop; + dev->pI2CBus->I2CStop = EEDIDStop; + + b = xf86I2CWriteRead(seg, W_Buffer, 1, NULL, 0); + + dev->pI2CBus->I2CStop = stop; + if (!b) { + dev->pI2CBus->I2CStop(dev); + continue; + } + } + + W_Buffer[0] = (block & 0x01) * EDID1_LEN; + + if (xf86I2CWriteRead(dev, W_Buffer, 1, R_Buffer, EDID1_LEN)) { + if (!DDC_checksum(R_Buffer, EDID1_LEN)) + return TRUE; + } + } + + return FALSE; +} + /** * Attempts to probe the monitor for EDID information, if NoDDC and NoDDC2 are * unset. EDID information blocks are interpreted and the results returned in - * an xf86MonPtr. + * an xf86MonPtr. Unlike xf86DoEDID_DDC[12](), this function will return + * the complete EDID data, including all extension blocks, if the 'complete' + * parameter is TRUE; * * This function does not affect the list of modes used by drivers -- it is up * to the driver to decide policy on what to do with EDID information. @@ -119,46 +207,72 @@ xf86DoEDID_DDC1( * @return NULL if no monitor attached or failure to interpret the EDID. */ xf86MonPtr -xf86DoEDID_DDC2(int scrnIndex, I2CBusPtr pBus) +xf86DoEEDID(int scrnIndex, I2CBusPtr pBus, Bool complete) { ScrnInfoPtr pScrn = xf86Screens[scrnIndex]; unsigned char *EDID_block = NULL; xf86MonPtr tmp = NULL; + I2CDevPtr dev = NULL; /* Default DDC and DDC2 to enabled. */ Bool noddc = FALSE, noddc2 = FALSE; OptionInfoPtr options; - options = xnfalloc(sizeof(DDCOptions)); - (void)memcpy(options, DDCOptions, sizeof(DDCOptions)); + options = xalloc(sizeof(DDCOptions)); + if (!options) + return NULL; + memcpy(options, DDCOptions, sizeof(DDCOptions)); xf86ProcessOptions(pScrn->scrnIndex, pScrn->options, options); xf86GetOptValBool(options, DDCOPT_NODDC, &noddc); xf86GetOptValBool(options, DDCOPT_NODDC2, &noddc2); xfree(options); - + if (noddc || noddc2) return NULL; - EDID_block = EDID1Read_DDC2(scrnIndex,pBus); + if (!(dev = DDC2Init(scrnIndex, pBus))) + return NULL; - if (EDID_block){ - tmp = xf86InterpretEDID(scrnIndex,EDID_block); - } else { -#ifdef DEBUG - ErrorF("No EDID block returned\n"); -#endif + EDID_block = xcalloc(1, EDID1_LEN); + if (!EDID_block) return NULL; + + if (DDC2Read(dev, 0, EDID_block)) { + int i, n = EDID_block[0x7e]; + + if (complete && n) { + EDID_block = xrealloc(EDID_block, EDID1_LEN * (1+n)); + + for (i = 0; i < n; i++) + DDC2Read(dev, i+1, EDID_block + (EDID1_LEN * (1+i))); + } + + tmp = xf86InterpretEEDID(scrnIndex, EDID_block); } -#ifdef DEBUG - if (!tmp) - ErrorF("Cannot interpret EDID block\n"); - else - ErrorF("Sections to follow: %i\n",tmp->no_sections); -#endif - + + if (tmp && complete) + tmp->flags |= EDID_COMPLETE_RAWDATA; + return tmp; } +/** + * Attempts to probe the monitor for EDID information, if NoDDC and NoDDC2 are + * unset. EDID information blocks are interpreted and the results returned in + * an xf86MonPtr. + * + * This function does not affect the list of modes used by drivers -- it is up + * to the driver to decide policy on what to do with EDID information. + * + * @return pointer to a new xf86MonPtr containing the EDID information. + * @return NULL if no monitor attached or failure to interpret the EDID. + */ +xf86MonPtr +xf86DoEDID_DDC2(int scrnIndex, I2CBusPtr pBus) +{ + return xf86DoEEDID(scrnIndex, pBus, FALSE); +} + /* * read EDID record , pass it to callback function to interpret. * callback function will store it for further use by calling @@ -225,68 +339,3 @@ FetchEDID_DDC1(register ScrnInfoPtr pScrn, } while(--count); return (ptr); } - -static unsigned char* -EDID1Read_DDC2(int scrnIndex, I2CBusPtr pBus) -{ - return DDCRead_DDC2(scrnIndex, pBus, 0, EDID1_LEN); -} - -static unsigned char * -DDCRead_DDC2(int scrnIndex, I2CBusPtr pBus, int start, int len) -{ - I2CDevPtr dev; - unsigned char W_Buffer[2]; - int w_bytes; - unsigned char *R_Buffer; - int i; - - /* - * Slow down the bus so that older monitors don't - * miss things. - */ - pBus->RiseFallTime = 20; - - if (!(dev = xf86I2CFindDev(pBus, 0x00A0))) { - dev = xf86CreateI2CDevRec(); - dev->DevName = "ddc2"; - dev->SlaveAddr = 0xA0; - dev->ByteTimeout = 2200; /* VESA DDC spec 3 p. 43 (+10 %) */ - dev->StartTimeout = 550; - dev->BitTimeout = 40; - dev->AcknTimeout = 40; - - dev->pI2CBus = pBus; - if (!xf86I2CDevInit(dev)) { - xf86DrvMsg(scrnIndex, X_PROBED, "No DDC2 device\n"); - return NULL; - } - } - if (start < 0x100) { - w_bytes = 1; - W_Buffer[0] = start; - } else { - w_bytes = 2; - W_Buffer[0] = start & 0xFF; - W_Buffer[1] = (start & 0xFF00) >> 8; - } - R_Buffer = xcalloc(1,sizeof(unsigned char) - * (len)); - for (i=0; i -#endif - -#include "xf86Module.h" - -static MODULESETUPPROTO(afbSetup); - -static XF86ModuleVersionInfo VersRec = -{ - "afb", - MODULEVENDORSTRING, - MODINFOSTRING1, - MODINFOSTRING2, - XORG_VERSION_CURRENT, - 1, 0, 0, - ABI_CLASS_ANSIC, /* Only need the ansic layer */ - ABI_ANSIC_VERSION, - MOD_CLASS_NONE, - {0,0,0,0} /* signature, to be patched into the file by a tool */ -}; - -_X_EXPORT XF86ModuleData afbModuleData = { &VersRec, afbSetup, NULL }; - -static pointer -afbSetup(pointer module, pointer opts, int *errmaj, int *errmin) -{ - /* This modules requires mfb, so load it */ - return LoadSubModule(module, "mfb", NULL, NULL, NULL, NULL, - errmaj, errmin); -} diff --git a/xorg-server/hw/xfree86/dixmods/cfb32module.c b/xorg-server/hw/xfree86/dixmods/cfb32module.c deleted file mode 100644 index 23708e4c2..000000000 --- a/xorg-server/hw/xfree86/dixmods/cfb32module.c +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Copyright (C) 1998 The XFree86 Project, 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 - * 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. - */ - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include "xf86Module.h" - -static MODULESETUPPROTO(cfb32Setup); - -static XF86ModuleVersionInfo VersRec = -{ - "cfb32", - MODULEVENDORSTRING, - MODINFOSTRING1, - MODINFOSTRING2, - XORG_VERSION_CURRENT, - 1, 0, 0, - ABI_CLASS_ANSIC, /* Only need the ansic layer */ - ABI_ANSIC_VERSION, - MOD_CLASS_NONE, - {0,0,0,0} /* signature, to be patched into the file by a tool */ -}; - -_X_EXPORT XF86ModuleData cfb32ModuleData = { &VersRec, cfb32Setup, NULL }; - -static pointer -cfb32Setup(pointer module, pointer opts, int *errmaj, int *errmin) -{ - /* This modules requires cfb, so load it */ - return LoadSubModule(module, "cfb", NULL, NULL, NULL, NULL, - errmaj, errmin); -} diff --git a/xorg-server/hw/xfree86/dixmods/cfbmodule.c b/xorg-server/hw/xfree86/dixmods/cfbmodule.c deleted file mode 100644 index 07074c158..000000000 --- a/xorg-server/hw/xfree86/dixmods/cfbmodule.c +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Copyright (C) 1998 The XFree86 Project, 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 - * 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. - */ - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include "xf86Module.h" - -static MODULESETUPPROTO(cfbSetup); - -static XF86ModuleVersionInfo VersRec = -{ - "cfb", - MODULEVENDORSTRING, - MODINFOSTRING1, - MODINFOSTRING2, - XORG_VERSION_CURRENT, - 1, 0, 0, - ABI_CLASS_ANSIC, /* Only need the ansic layer */ - ABI_ANSIC_VERSION, - MOD_CLASS_NONE, - {0,0,0,0} /* signature, to be patched into the file by a tool */ -}; - -_X_EXPORT XF86ModuleData cfbModuleData = { &VersRec, cfbSetup, NULL }; - -static pointer -cfbSetup(pointer module, pointer opts, int *errmaj, int *errmin) -{ - /* This modules requires mfb, so load it */ - return LoadSubModule(module, "mfb", NULL, NULL, NULL, NULL, - errmaj, errmin); -} diff --git a/xorg-server/hw/xfree86/dixmods/extmod/Makefile.am b/xorg-server/hw/xfree86/dixmods/extmod/Makefile.am index f90e144ea..dd4ccd633 100644 --- a/xorg-server/hw/xfree86/dixmods/extmod/Makefile.am +++ b/xorg-server/hw/xfree86/dixmods/extmod/Makefile.am @@ -4,26 +4,19 @@ extsmoduledir = $(moduledir)/extensions extsmodule_LTLIBRARIES = libextmod.la if DGA -DGA_SRCS = xf86dga.c xf86dga2.c dgaproc.h xf86dgaext.h +DGA_SRCS = xf86dga2.c dgaproc.h xf86dgaext.h endif if XV XV_SRCS = xvmod.c xvmodproc.h endif -if XF86MISC -XF86MISC_SRCS = xf86misc.c xf86miscproc.h -endif - if XF86VIDMODE XF86VMODE_SRCS = xf86vmode.c vidmodeproc.h endif AM_CFLAGS = @DIX_CFLAGS@ @XORG_CFLAGS@ INCLUDES = @XORG_INCS@ \ - -I$(top_srcdir)/afb \ - -I$(top_srcdir)/mfb \ - -I$(top_srcdir)/cfb \ -I$(top_srcdir)/dbe \ -I$(top_srcdir)/hw/xfree86/loader \ -I$(top_srcdir)/miext/shadow @@ -32,7 +25,6 @@ libextmod_la_LDFLAGS = -avoid-version libextmod_la_SOURCES = modinit.c \ modinit.h \ $(DGA_SRCS) \ - $(XF86MISC_SRCS) \ $(XF86VMODE_SRCS) \ $(XV_SRCS) libextmod_la_LIBADD = $(top_builddir)/Xext/libXextmodule.la diff --git a/xorg-server/hw/xfree86/dixmods/extmod/Makefile.in b/xorg-server/hw/xfree86/dixmods/extmod/Makefile.in index 157358c47..d4ead8762 100644 --- a/xorg-server/hw/xfree86/dixmods/extmod/Makefile.in +++ b/xorg-server/hw/xfree86/dixmods/extmod/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -45,7 +45,6 @@ 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 \ @@ -61,15 +60,14 @@ am__installdirs = "$(DESTDIR)$(extsmoduledir)" "$(DESTDIR)$(sdkdir)" extsmoduleLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(extsmodule_LTLIBRARIES) libextmod_la_DEPENDENCIES = $(top_builddir)/Xext/libXextmodule.la -am__libextmod_la_SOURCES_DIST = modinit.c modinit.h xf86dga.c \ - xf86dga2.c dgaproc.h xf86dgaext.h xf86misc.c xf86miscproc.h \ - xf86vmode.c vidmodeproc.h xvmod.c xvmodproc.h -@DGA_TRUE@am__objects_1 = xf86dga.lo xf86dga2.lo -@XF86MISC_TRUE@am__objects_2 = xf86misc.lo -@XF86VIDMODE_TRUE@am__objects_3 = xf86vmode.lo -@XV_TRUE@am__objects_4 = xvmod.lo +am__libextmod_la_SOURCES_DIST = modinit.c modinit.h xf86dga2.c \ + dgaproc.h xf86dgaext.h xf86vmode.c vidmodeproc.h xvmod.c \ + xvmodproc.h +@DGA_TRUE@am__objects_1 = xf86dga2.lo +@XF86VIDMODE_TRUE@am__objects_2 = xf86vmode.lo +@XV_TRUE@am__objects_3 = xvmod.lo am_libextmod_la_OBJECTS = modinit.lo $(am__objects_1) $(am__objects_2) \ - $(am__objects_3) $(am__objects_4) + $(am__objects_3) libextmod_la_OBJECTS = $(am_libextmod_la_OBJECTS) libextmod_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ @@ -79,9 +77,6 @@ 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) \ @@ -98,8 +93,9 @@ ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ -APPDEFAULTDIR = @APPDEFAULTDIR@ APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +APPLE_APPLICATION_ID = @APPLE_APPLICATION_ID@ +APPLE_APPLICATION_NAME = @APPLE_APPLICATION_NAME@ APP_MAN_DIR = @APP_MAN_DIR@ APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ AR = @AR@ @@ -120,10 +116,6 @@ 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@ @@ -145,6 +137,7 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOLT_BASH = @DOLT_BASH@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ @@ -154,18 +147,15 @@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ DSYMUTIL = @DSYMUTIL@ DTRACE = @DTRACE@ -ECHO = @ECHO@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ -FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ -FREETYPE_LIBS = @FREETYPE_LIBS@ GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ GLX_DEFINES = @GLX_DEFINES@ GL_CFLAGS = @GL_CFLAGS@ @@ -184,7 +174,7 @@ KDRIVE_LIBS = @KDRIVE_LIBS@ KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ -LAUNCHD = @LAUNCHD@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ LEX = @LEX@ @@ -198,7 +188,10 @@ LIBTOOL = @LIBTOOL@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LINUXDOC = @LINUXDOC@ +LIPO = @LIPO@ LN_S = @LN_S@ +LTCOMPILE = @LTCOMPILE@ +LTCXXCOMPILE = @LTCXXCOMPILE@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ @@ -210,8 +203,7 @@ MESA_SOURCE = @MESA_SOURCE@ MISC_MAN_DIR = @MISC_MAN_DIR@ MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ MKDIR_P = @MKDIR_P@ -MKFONTDIR = @MKFONTDIR@ -MKFONTSCALE = @MKFONTSCALE@ +NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCCLD = @OBJCCLD@ @@ -220,8 +212,8 @@ OBJCFLAGS = @OBJCFLAGS@ OBJCLINK = @OBJCLINK@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ @@ -254,7 +246,6 @@ VENDOR_NAME = @VENDOR_NAME@ VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ VENDOR_RELEASE = @VENDOR_RELEASE@ VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ XDMCP_CFLAGS = @XDMCP_CFLAGS@ @@ -264,27 +255,12 @@ XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@ XDMX_CFLAGS = @XDMX_CFLAGS@ XDMX_LIBS = @XDMX_LIBS@ XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ XEPHYR_INCS = @XEPHYR_INCS@ XEPHYR_LIBS = @XEPHYR_LIBS@ 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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ @@ -295,10 +271,6 @@ XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ XNEST_LIBS = @XNEST_LIBS@ XNEST_SYS_LIBS = @XNEST_SYS_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_INCS = @XORG_INCS@ XORG_LIBS = @XORG_LIBS@ @@ -307,13 +279,8 @@ XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ XORG_OS = @XORG_OS@ XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_LIBS@ +XPBPROXY_CFLAGS = @XPBPROXY_CFLAGS@ +XPBPROXY_LIBS = @XPBPROXY_LIBS@ XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ XSDL_INCS = @XSDL_INCS@ @@ -346,8 +313,7 @@ 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@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -367,7 +333,6 @@ driverdir = @driverdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ extdir = @extdir@ -ft_config = @ft_config@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ @@ -377,12 +342,12 @@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ -launchagentsdir = @launchagentsdir@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ logdir = @logdir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ moduledir = @moduledir@ @@ -400,20 +365,14 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ sdk_HEADERS = dgaproc.h extsmoduledir = $(moduledir)/extensions extsmodule_LTLIBRARIES = libextmod.la -@DGA_TRUE@DGA_SRCS = xf86dga.c xf86dga2.c dgaproc.h xf86dgaext.h +@DGA_TRUE@DGA_SRCS = xf86dga2.c dgaproc.h xf86dgaext.h @XV_TRUE@XV_SRCS = xvmod.c xvmodproc.h -@XF86MISC_TRUE@XF86MISC_SRCS = xf86misc.c xf86miscproc.h @XF86VIDMODE_TRUE@XF86VMODE_SRCS = xf86vmode.c vidmodeproc.h AM_CFLAGS = @DIX_CFLAGS@ @XORG_CFLAGS@ INCLUDES = @XORG_INCS@ \ - -I$(top_srcdir)/afb \ - -I$(top_srcdir)/mfb \ - -I$(top_srcdir)/cfb \ -I$(top_srcdir)/dbe \ -I$(top_srcdir)/hw/xfree86/loader \ -I$(top_srcdir)/miext/shadow @@ -422,7 +381,6 @@ libextmod_la_LDFLAGS = -avoid-version libextmod_la_SOURCES = modinit.c \ modinit.h \ $(DGA_SRCS) \ - $(XF86MISC_SRCS) \ $(XF86VMODE_SRCS) \ $(XV_SRCS) @@ -435,8 +393,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ @@ -497,9 +455,7 @@ distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/modinit.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xf86dga.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xf86dga2.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xf86misc.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xf86vmode.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xvmod.Plo@am__quote@ @@ -552,7 +508,7 @@ ID: $(HEADERS) $(SOURCES) $(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; nonemtpy = 1; } \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS diff --git a/xorg-server/hw/xfree86/dixmods/extmod/dgaproc.h b/xorg-server/hw/xfree86/dixmods/extmod/dgaproc.h index aaea4e20c..f4d3fe45b 100644 --- a/xorg-server/hw/xfree86/dixmods/extmod/dgaproc.h +++ b/xorg-server/hw/xfree86/dixmods/extmod/dgaproc.h @@ -120,9 +120,10 @@ int DGAGetOldDGAMode(int Index); int DGAGetModeInfo(int Index, XDGAModePtr mode, int num); Bool DGAVTSwitch(void); -Bool DGAStealButtonEvent(int Index, int button, int is_down); -Bool DGAStealMotionEvent(int Index, int dx, int dy); -Bool DGAStealKeyEvent(int Index, int key_code, int is_down); +Bool DGAStealButtonEvent(DeviceIntPtr dev, int Index, int button, + int is_down); +Bool DGAStealMotionEvent(DeviceIntPtr dev, int Index, int dx, int dy); +Bool DGAStealKeyEvent(DeviceIntPtr dev, int Index, int key_code, int is_down); Bool DGAIsDgaEvent (xEvent *e); Bool DGADeliverEvent (ScreenPtr pScreen, xEvent *e); diff --git a/xorg-server/hw/xfree86/dixmods/extmod/modinit.c b/xorg-server/hw/xfree86/dixmods/extmod/modinit.c index 8c8a4ceeb..9bcf51f00 100644 --- a/xorg-server/hw/xfree86/dixmods/extmod/modinit.c +++ b/xorg-server/hw/xfree86/dixmods/extmod/modinit.c @@ -47,15 +47,6 @@ static ExtensionModule extensionModules[] = { NULL }, #endif -#ifdef SHAPE - { - ShapeExtensionInit, - SHAPENAME, - &noShapeExtension, - NULL, - NULL - }, -#endif #ifdef MULTIBUFFER { MultibufferExtensionInit, @@ -65,15 +56,6 @@ static ExtensionModule extensionModules[] = { NULL }, #endif -#ifdef MITMISC - { - MITMiscExtensionInit, - MITMISCNAME, - &noMITMiscExtension, - NULL, - NULL - }, -#endif #ifdef notyet { XTestExtensionInit, @@ -83,24 +65,6 @@ static ExtensionModule extensionModules[] = { NULL }, #endif -#ifdef BIGREQS - { - BigReqExtensionInit, - XBigReqExtensionName, - &noBigReqExtension, - NULL, - NULL - }, -#endif -#ifdef XSYNC - { - SyncExtensionInit, - SYNC_NAME, - &noSyncExtension, - NULL, - NULL - }, -#endif #ifdef SCREENSAVER { ScreenSaverExtensionInit, @@ -110,15 +74,6 @@ static ExtensionModule extensionModules[] = { NULL }, #endif -#ifdef XCMISC - { - XCMiscExtensionInit, - XCMiscExtensionName, - &noXCMiscExtension, - NULL, - NULL - }, -#endif #ifdef XF86VIDMODE { XFree86VidModeExtensionInit, @@ -128,15 +83,6 @@ static ExtensionModule extensionModules[] = { NULL }, #endif -#ifdef XF86MISC - { - XFree86MiscExtensionInit, - XF86MISCNAME, - &noXFree86MiscExtension, - NULL, - NULL - }, -#endif #ifdef XFreeXDGA { XFree86DGAExtensionInit, @@ -155,33 +101,6 @@ static ExtensionModule extensionModules[] = { NULL }, #endif -#ifdef FONTCACHE - { - FontCacheExtensionInit, - FONTCACHENAME, - &noFontCacheExtension, - NULL, - NULL - }, -#endif -#ifdef TOGCUP - { - XcupExtensionInit, - XCUPNAME, - &noXcupExtension, - NULL, - NULL - }, -#endif -#ifdef EVI - { - EVIExtensionInit, - EVINAME, - &noEVIExtension, - NULL, - NULL - }, -#endif #ifdef XV { XvExtensionInit, diff --git a/xorg-server/hw/xfree86/dixmods/extmod/modinit.h b/xorg-server/hw/xfree86/dixmods/extmod/modinit.h index 3c2e2022a..1de14858c 100644 --- a/xorg-server/hw/xfree86/dixmods/extmod/modinit.h +++ b/xorg-server/hw/xfree86/dixmods/extmod/modinit.h @@ -7,10 +7,8 @@ #define INITARGS void #endif -#ifdef SHAPE #define _SHAPE_SERVER_ /* don't want Xlib structures */ #include -#endif #ifdef MULTIBUFFER extern void MultibufferExtensionInit(INITARGS); @@ -18,12 +16,6 @@ extern void MultibufferExtensionInit(INITARGS); #include #endif -#ifdef MITMISC -extern void MITMiscExtensionInit(INITARGS); -#define _MITMISC_SERVER_ -#include -#endif - #ifdef XTEST extern void XTestExtensionInit(INITARGS); #define _XTEST_SERVER_ @@ -35,41 +27,17 @@ extern void XTestExtensionInit(INITARGS); extern void XTestExtension1Init(INITARGS); #endif -#ifdef BIGREQS -extern void BigReqExtensionInit(INITARGS); -#include -#endif - -#ifdef XSYNC -extern void SyncExtensionInit(INITARGS); -#define _SYNC_SERVER -#include -#include -#endif - #ifdef SCREENSAVER extern void ScreenSaverExtensionInit (INITARGS); #include #endif -#ifdef XCMISC -extern void XCMiscExtensionInit(INITARGS); -#include -#endif - #ifdef XF86VIDMODE extern void XFree86VidModeExtensionInit(INITARGS); #define _XF86VIDMODE_SERVER_ #include #endif -#ifdef XF86MISC -extern void XFree86MiscExtensionInit(INITARGS); -#define _XF86MISC_SERVER_ -#define _XF86MISC_SAVER_COMPAT_ -#include -#endif - #ifdef XFreeXDGA extern void XFree86DGAExtensionInit(INITARGS); extern void XFree86DGARegister(INITARGS); @@ -82,25 +50,6 @@ extern void DPMSExtensionInit(INITARGS); #include #endif -#ifdef FONTCACHE -extern void FontCacheExtensionInit(INITARGS); -#define _FONTCACHE_SERVER_ -#include "fontcacheP.h" -#include "fontcachstr.h" -#endif - -#ifdef TOGCUP -extern void XcupExtensionInit(INITARGS); -#define _XCUP_SERVER_ -#include -#endif - -#ifdef EVI -extern void EVIExtensionInit(INITARGS); -#define _XEVI_SERVER_ -#include -#endif - #ifdef XV extern void XvExtensionInit(INITARGS); extern void XvMCExtensionInit(INITARGS); @@ -117,9 +66,6 @@ extern void ResExtensionInit(INITARGS); #ifdef SHM extern void ShmExtensionInit(INITARGS); #include -extern void ShmSetPixmapFormat( - ScreenPtr pScreen, - int format); extern void ShmRegisterFuncs( ScreenPtr pScreen, ShmFuncsPtr funcs); @@ -130,16 +76,12 @@ extern void SELinuxExtensionInit(INITARGS); #include "xselinux.h" #endif -#if 1 -extern void SecurityExtensionInit(INITARGS); -#endif - -#if 1 -extern void XagExtensionInit(INITARGS); +#ifdef XEVIE +extern void XevieExtensionInit(INITARGS); #endif #if 1 -extern void XpExtensionInit(INITARGS); +extern void SecurityExtensionInit(INITARGS); #endif #if 1 diff --git a/xorg-server/hw/xfree86/dixmods/extmod/xf86dga.c b/xorg-server/hw/xfree86/dixmods/extmod/xf86dga.c deleted file mode 100644 index c66bca26b..000000000 --- a/xorg-server/hw/xfree86/dixmods/extmod/xf86dga.c +++ /dev/null @@ -1,309 +0,0 @@ - -/* - -Copyright (c) 1995 Jon Tombs -Copyright (c) 1995, 1996, 1999 XFree86 Inc - -*/ - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#define NEED_REPLIES -#define NEED_EVENTS -#include -#include -#include "misc.h" -#include "dixstruct.h" -#include "extnsionst.h" -#include "colormapst.h" -#include "cursorstr.h" -#include "scrnintstr.h" -#include "servermd.h" -#define _XF86DGA_SERVER_ -#include -#include -#include "swaprep.h" -#include "dgaproc.h" - -#include "xf86dgaext.h" - - -static DISPATCH_PROC(ProcXF86DGADirectVideo); -static DISPATCH_PROC(ProcXF86DGAGetVidPage); -static DISPATCH_PROC(ProcXF86DGAGetVideoLL); -static DISPATCH_PROC(ProcXF86DGAGetViewPortSize); -static DISPATCH_PROC(ProcXF86DGASetVidPage); -static DISPATCH_PROC(ProcXF86DGASetViewPort); -static DISPATCH_PROC(ProcXF86DGAInstallColormap); -static DISPATCH_PROC(ProcXF86DGAQueryDirectVideo); -static DISPATCH_PROC(ProcXF86DGAViewPortChanged); - - -static int -ProcXF86DGAGetVideoLL(ClientPtr client) -{ - REQUEST(xXF86DGAGetVideoLLReq); - xXF86DGAGetVideoLLReply rep; - XDGAModeRec mode; - int num, offset, flags; - char *name; - - if (stuff->screen > screenInfo.numScreens) - return BadValue; - - REQUEST_SIZE_MATCH(xXF86DGAGetVideoLLReq); - rep.type = X_Reply; - rep.length = 0; - rep.sequenceNumber = client->sequence; - - if(!DGAAvailable(stuff->screen)) - return (DGAErrorBase + XF86DGANoDirectVideoMode); - - if(!(num = DGAGetOldDGAMode(stuff->screen))) - return (DGAErrorBase + XF86DGANoDirectVideoMode); - - /* get the parameters for the mode that best matches */ - DGAGetModeInfo(stuff->screen, &mode, num); - - if(!DGAOpenFramebuffer(stuff->screen, &name, - (unsigned char**)(&rep.offset), - (int*)(&rep.bank_size), &offset, &flags)) - return BadAlloc; - - rep.offset += mode.offset; - rep.width = mode.bytesPerScanline / (mode.bitsPerPixel >> 3); - rep.ram_size = rep.bank_size >> 10; - - WriteToClient(client, SIZEOF(xXF86DGAGetVideoLLReply), (char *)&rep); - return (client->noClientException); -} - -static int -ProcXF86DGADirectVideo(ClientPtr client) -{ - int num; - PixmapPtr pix; - XDGAModeRec mode; - REQUEST(xXF86DGADirectVideoReq); - - if (stuff->screen > screenInfo.numScreens) - return BadValue; - - REQUEST_SIZE_MATCH(xXF86DGADirectVideoReq); - - if (!DGAAvailable(stuff->screen)) - return DGAErrorBase + XF86DGANoDirectVideoMode; - - if (stuff->enable & XF86DGADirectGraphics) { - if(!(num = DGAGetOldDGAMode(stuff->screen))) - return (DGAErrorBase + XF86DGANoDirectVideoMode); - } else - num = 0; - - if(Success != DGASetMode(stuff->screen, num, &mode, &pix)) - return (DGAErrorBase + XF86DGAScreenNotActive); - - DGASetInputMode (stuff->screen, - (stuff->enable & XF86DGADirectKeyb) != 0, - (stuff->enable & XF86DGADirectMouse) != 0); - - return (client->noClientException); -} - -static int -ProcXF86DGAGetViewPortSize(ClientPtr client) -{ - int num; - XDGAModeRec mode; - REQUEST(xXF86DGAGetViewPortSizeReq); - xXF86DGAGetViewPortSizeReply rep; - - if (stuff->screen > screenInfo.numScreens) - return BadValue; - - REQUEST_SIZE_MATCH(xXF86DGAGetViewPortSizeReq); - rep.type = X_Reply; - rep.length = 0; - rep.sequenceNumber = client->sequence; - - if (!DGAAvailable(stuff->screen)) - return (DGAErrorBase + XF86DGANoDirectVideoMode); - - if(!(num = DGAGetOldDGAMode(stuff->screen))) - return (DGAErrorBase + XF86DGANoDirectVideoMode); - - DGAGetModeInfo(stuff->screen, &mode, num); - - rep.width = mode.viewportWidth; - rep.height = mode.viewportHeight; - - WriteToClient(client, SIZEOF(xXF86DGAGetViewPortSizeReply), (char *)&rep); - return (client->noClientException); -} - -static int -ProcXF86DGASetViewPort(ClientPtr client) -{ - REQUEST(xXF86DGASetViewPortReq); - - if (stuff->screen > screenInfo.numScreens) - return BadValue; - - REQUEST_SIZE_MATCH(xXF86DGASetViewPortReq); - - if (!DGAAvailable(stuff->screen)) - return (DGAErrorBase + XF86DGANoDirectVideoMode); - - if (!DGAActive(stuff->screen)) - { - int num; - PixmapPtr pix; - XDGAModeRec mode; - - if(!(num = DGAGetOldDGAMode(stuff->screen))) - return (DGAErrorBase + XF86DGANoDirectVideoMode); - if(Success != DGASetMode(stuff->screen, num, &mode, &pix)) - return (DGAErrorBase + XF86DGAScreenNotActive); - } - - if (DGASetViewport(stuff->screen, stuff->x, stuff->y, DGA_FLIP_RETRACE) - != Success) - return DGAErrorBase + XF86DGADirectNotActivated; - - return (client->noClientException); -} - -static int -ProcXF86DGAGetVidPage(ClientPtr client) -{ - REQUEST(xXF86DGAGetVidPageReq); - xXF86DGAGetVidPageReply rep; - - if (stuff->screen > screenInfo.numScreens) - return BadValue; - - REQUEST_SIZE_MATCH(xXF86DGAGetVidPageReq); - rep.type = X_Reply; - rep.length = 0; - rep.sequenceNumber = client->sequence; - rep.vpage = 0; /* silently fail */ - - WriteToClient(client, SIZEOF(xXF86DGAGetVidPageReply), (char *)&rep); - return (client->noClientException); -} - - -static int -ProcXF86DGASetVidPage(ClientPtr client) -{ - REQUEST(xXF86DGASetVidPageReq); - - if (stuff->screen > screenInfo.numScreens) - return BadValue; - - REQUEST_SIZE_MATCH(xXF86DGASetVidPageReq); - - /* silently fail */ - - return (client->noClientException); -} - - -static int -ProcXF86DGAInstallColormap(ClientPtr client) -{ - ColormapPtr pcmp; - REQUEST(xXF86DGAInstallColormapReq); - - REQUEST_SIZE_MATCH(xXF86DGAInstallColormapReq); - - if (!DGAActive(stuff->screen)) - return (DGAErrorBase + XF86DGADirectNotActivated); - - pcmp = (ColormapPtr )LookupIDByType(stuff->id, RT_COLORMAP); - if (pcmp) { - DGAInstallCmap(pcmp); - return (client->noClientException); - } else { - client->errorValue = stuff->id; - return (BadColor); - } -} - -static int -ProcXF86DGAQueryDirectVideo(ClientPtr client) -{ - REQUEST(xXF86DGAQueryDirectVideoReq); - xXF86DGAQueryDirectVideoReply rep; - - if (stuff->screen > screenInfo.numScreens) - return BadValue; - - REQUEST_SIZE_MATCH(xXF86DGAQueryDirectVideoReq); - rep.type = X_Reply; - rep.length = 0; - rep.sequenceNumber = client->sequence; - rep.flags = 0; - - if (DGAAvailable(stuff->screen)) - rep.flags = XF86DGADirectPresent; - - WriteToClient(client, SIZEOF(xXF86DGAQueryDirectVideoReply), (char *)&rep); - return (client->noClientException); -} - -static int -ProcXF86DGAViewPortChanged(ClientPtr client) -{ - REQUEST(xXF86DGAViewPortChangedReq); - xXF86DGAViewPortChangedReply rep; - - if (stuff->screen > screenInfo.numScreens) - return BadValue; - - REQUEST_SIZE_MATCH(xXF86DGAViewPortChangedReq); - - if (!DGAActive(stuff->screen)) - return (DGAErrorBase + XF86DGADirectNotActivated); - - rep.type = X_Reply; - rep.length = 0; - rep.sequenceNumber = client->sequence; - rep.result = 1; - - WriteToClient(client, SIZEOF(xXF86DGAViewPortChangedReply), (char *)&rep); - return (client->noClientException); -} - -int -ProcXF86DGADispatch(register ClientPtr client) -{ - REQUEST(xReq); - - switch (stuff->data) - { - case X_XF86DGAGetVideoLL: - return ProcXF86DGAGetVideoLL(client); - case X_XF86DGADirectVideo: - return ProcXF86DGADirectVideo(client); - case X_XF86DGAGetViewPortSize: - return ProcXF86DGAGetViewPortSize(client); - case X_XF86DGASetViewPort: - return ProcXF86DGASetViewPort(client); - case X_XF86DGAGetVidPage: - return ProcXF86DGAGetVidPage(client); - case X_XF86DGASetVidPage: - return ProcXF86DGASetVidPage(client); - case X_XF86DGAInstallColormap: - return ProcXF86DGAInstallColormap(client); - case X_XF86DGAQueryDirectVideo: - return ProcXF86DGAQueryDirectVideo(client); - case X_XF86DGAViewPortChanged: - return ProcXF86DGAViewPortChanged(client); - default: - return BadRequest; - } -} - diff --git a/xorg-server/hw/xfree86/dixmods/extmod/xf86dga2.c b/xorg-server/hw/xfree86/dixmods/extmod/xf86dga2.c index 295e05e9e..df0030e80 100644 --- a/xorg-server/hw/xfree86/dixmods/extmod/xf86dga2.c +++ b/xorg-server/hw/xfree86/dixmods/extmod/xf86dga2.c @@ -1,8 +1,10 @@ /* - Copyright (c) 1999 - The XFree86 Project Inc. - - Written by Mark Vojkovich -*/ + * Copyright (c) 1995 Jon Tombs + * Copyright (c) 1995, 1996, 1999 XFree86 Inc + * Copyright (c) 1999 - The XFree86 Project Inc. + * + * Written by Mark Vojkovich + */ #ifdef HAVE_XORG_CONFIG_H @@ -33,6 +35,8 @@ #include "modinit.h" +#define DGA_PROTOCOL_OLD_SUPPORT 1 + static DISPATCH_PROC(ProcXDGADispatch); static DISPATCH_PROC(SProcXDGADispatch); static DISPATCH_PROC(ProcXDGAQueryVersion); @@ -62,7 +66,8 @@ unsigned char DGAReqCode = 0; int DGAErrorBase; int DGAEventBase; -static DevPrivateKey DGAClientPrivateKey = &DGAClientPrivateKey; +static int DGAClientPrivateKeyIndex; +static DevPrivateKey DGAClientPrivateKey = &DGAClientPrivateKeyIndex; static int DGACallbackRefCount = 0; /* This holds the client's version information */ @@ -140,7 +145,7 @@ ProcXDGAOpenFramebuffer(ClientPtr client) if (stuff->screen > screenInfo.numScreens) return BadValue; - if (!DGAAvailable(stuff->screen)) + if (!DGAAvailable(stuff->screen)) return DGAErrorBase + XF86DGANoDirectVideoMode; REQUEST_SIZE_MATCH(xXDGAOpenFramebufferReq); @@ -148,9 +153,9 @@ ProcXDGAOpenFramebuffer(ClientPtr client) rep.length = 0; rep.sequenceNumber = client->sequence; - if(!DGAOpenFramebuffer(stuff->screen, &deviceName, + if(!DGAOpenFramebuffer(stuff->screen, &deviceName, (unsigned char**)(&rep.mem1), - (int*)&rep.size, (int*)&rep.offset, (int*)&rep.extra)) + (int*)&rep.size, (int*)&rep.offset, (int*)&rep.extra)) { return BadAlloc; } @@ -174,7 +179,7 @@ ProcXDGACloseFramebuffer(ClientPtr client) if (stuff->screen > screenInfo.numScreens) return BadValue; - if (!DGAAvailable(stuff->screen)) + if (!DGAAvailable(stuff->screen)) return DGAErrorBase + XF86DGANoDirectVideoMode; REQUEST_SIZE_MATCH(xXDGACloseFramebufferReq); @@ -258,7 +263,7 @@ ProcXDGAQueryModes(ClientPtr client) info.viewport_flags = mode[i].viewportFlags; info.reserved1 = mode[i].reserved1; info.reserved2 = mode[i].reserved2; - + WriteToClient(client, sz_xXDGAModeInfo, (char*)(&info)); WriteToClient(client, size, mode[i].name); } @@ -269,7 +274,7 @@ ProcXDGAQueryModes(ClientPtr client) } -static void +static void DGAClientStateChange ( CallbackListPtr* pcbl, pointer nulldata, @@ -286,7 +291,7 @@ DGAClientStateChange ( } } - if(client && + if(client && ((client->clientState == ClientStateGone) || (client->clientState == ClientStateRetained))) { XDGAModeRec mode; @@ -321,10 +326,10 @@ ProcXDGASetMode(ClientPtr client) rep.flags = 0; rep.sequenceNumber = client->sequence; - if (!DGAAvailable(stuff->screen)) + if (!DGAAvailable(stuff->screen)) return DGAErrorBase + XF86DGANoDirectVideoMode; - if(DGAClients[stuff->screen] && + if(DGAClients[stuff->screen] && (DGAClients[stuff->screen] != client)) return DGAErrorBase + XF86DGANoDirectVideoMode; @@ -338,7 +343,7 @@ ProcXDGASetMode(ClientPtr client) DGASetMode(stuff->screen, 0, &mode, &pPix); WriteToClient(client, sz_xXDGASetModeReply, (char*)&rep); return (client->noClientException); - } + } if(Success != DGASetMode(stuff->screen, stuff->mode, &mode, &pPix)) return BadValue; @@ -358,7 +363,7 @@ ProcXDGASetMode(ClientPtr client) } size = strlen(mode.name) + 1; - + info.byte_order = mode.byteOrder; info.depth = mode.depth; info.num = mode.num; @@ -426,7 +431,7 @@ ProcXDGAInstallColormap(ClientPtr client) return DGAErrorBase + XF86DGADirectNotActivated; REQUEST_SIZE_MATCH(xXDGAInstallColormapReq); - + cmap = (ColormapPtr)LookupIDByType(stuff->cmap, RT_COLORMAP); if (cmap) { DGAInstallCmap(cmap); @@ -452,7 +457,7 @@ ProcXDGASelectInput(ClientPtr client) return DGAErrorBase + XF86DGADirectNotActivated; REQUEST_SIZE_MATCH(xXDGASelectInputReq); - + if(DGAClients[stuff->screen] == client) DGASelectInput(stuff->screen, client, stuff->mask); @@ -472,7 +477,7 @@ ProcXDGAFillRectangle(ClientPtr client) return DGAErrorBase + XF86DGADirectNotActivated; REQUEST_SIZE_MATCH(xXDGAFillRectangleReq); - + if(Success != DGAFillRect(stuff->screen, stuff->x, stuff->y, stuff->width, stuff->height, stuff->color)) return BadMatch; @@ -492,7 +497,7 @@ ProcXDGACopyArea(ClientPtr client) return DGAErrorBase + XF86DGADirectNotActivated; REQUEST_SIZE_MATCH(xXDGACopyAreaReq); - + if(Success != DGABlitRect(stuff->screen, stuff->srcx, stuff->srcy, stuff->width, stuff->height, stuff->dstx, stuff->dsty)) return BadMatch; @@ -513,7 +518,7 @@ ProcXDGACopyTransparentArea(ClientPtr client) return DGAErrorBase + XF86DGADirectNotActivated; REQUEST_SIZE_MATCH(xXDGACopyTransparentAreaReq); - + if(Success != DGABlitTransRect(stuff->screen, stuff->srcx, stuff->srcy, stuff->width, stuff->height, stuff->dstx, stuff->dsty, stuff->key)) return BadMatch; @@ -606,7 +611,7 @@ ProcXDGAChangePixmapMode(ClientPtr client) rep.type = X_Reply; rep.length = 0; rep.sequenceNumber = client->sequence; - + x = stuff->x; y = stuff->y; @@ -637,8 +642,8 @@ ProcXDGACreateColormap(ClientPtr client) if(!stuff->mode) return BadValue; - - result = DGACreateColormap(stuff->screen, client, stuff->id, + + result = DGACreateColormap(stuff->screen, client, stuff->id, stuff->mode, stuff->alloc); if(result != Success) return result; @@ -646,6 +651,287 @@ ProcXDGACreateColormap(ClientPtr client) return (client->noClientException); } +/* + * + * Support for the old DGA protocol, used to live in xf86dga.c + * + */ + +#ifdef DGA_PROTOCOL_OLD_SUPPORT + +static DISPATCH_PROC(ProcXF86DGADirectVideo); +static DISPATCH_PROC(ProcXF86DGAGetVidPage); +static DISPATCH_PROC(ProcXF86DGAGetVideoLL); +static DISPATCH_PROC(ProcXF86DGAGetViewPortSize); +static DISPATCH_PROC(ProcXF86DGASetVidPage); +static DISPATCH_PROC(ProcXF86DGASetViewPort); +static DISPATCH_PROC(ProcXF86DGAInstallColormap); +static DISPATCH_PROC(ProcXF86DGAQueryDirectVideo); +static DISPATCH_PROC(ProcXF86DGAViewPortChanged); + + +static int +ProcXF86DGAGetVideoLL(ClientPtr client) +{ + REQUEST(xXF86DGAGetVideoLLReq); + xXF86DGAGetVideoLLReply rep; + XDGAModeRec mode; + int num, offset, flags; + char *name; + + if (stuff->screen > screenInfo.numScreens) + return BadValue; + + REQUEST_SIZE_MATCH(xXF86DGAGetVideoLLReq); + rep.type = X_Reply; + rep.length = 0; + rep.sequenceNumber = client->sequence; + + if(!DGAAvailable(stuff->screen)) + return (DGAErrorBase + XF86DGANoDirectVideoMode); + + if(!(num = DGAGetOldDGAMode(stuff->screen))) + return (DGAErrorBase + XF86DGANoDirectVideoMode); + + /* get the parameters for the mode that best matches */ + DGAGetModeInfo(stuff->screen, &mode, num); + + if(!DGAOpenFramebuffer(stuff->screen, &name, + (unsigned char**)(&rep.offset), + (int*)(&rep.bank_size), &offset, &flags)) + return BadAlloc; + + rep.offset += mode.offset; + rep.width = mode.bytesPerScanline / (mode.bitsPerPixel >> 3); + rep.ram_size = rep.bank_size >> 10; + + WriteToClient(client, SIZEOF(xXF86DGAGetVideoLLReply), (char *)&rep); + return (client->noClientException); +} + +static int +ProcXF86DGADirectVideo(ClientPtr client) +{ + int num; + PixmapPtr pix; + XDGAModeRec mode; + REQUEST(xXF86DGADirectVideoReq); + + if (stuff->screen > screenInfo.numScreens) + return BadValue; + + REQUEST_SIZE_MATCH(xXF86DGADirectVideoReq); + + if (!DGAAvailable(stuff->screen)) + return DGAErrorBase + XF86DGANoDirectVideoMode; + + if (DGAClients[stuff->screen] && + (DGAClients[stuff->screen] != client)) + return DGAErrorBase + XF86DGANoDirectVideoMode; + + if (stuff->enable & XF86DGADirectGraphics) { + if(!(num = DGAGetOldDGAMode(stuff->screen))) + return (DGAErrorBase + XF86DGANoDirectVideoMode); + } else + num = 0; + + if(Success != DGASetMode(stuff->screen, num, &mode, &pix)) + return (DGAErrorBase + XF86DGAScreenNotActive); + + DGASetInputMode (stuff->screen, + (stuff->enable & XF86DGADirectKeyb) != 0, + (stuff->enable & XF86DGADirectMouse) != 0); + + /* We need to track the client and attach the teardown callback */ + if (stuff->enable & + (XF86DGADirectGraphics | XF86DGADirectKeyb | XF86DGADirectMouse)) { + if (!DGAClients[stuff->screen]) { + if (DGACallbackRefCount++ == 0) + AddCallback (&ClientStateCallback, DGAClientStateChange, NULL); + } + + DGAClients[stuff->screen] = client; + } else { + if (DGAClients[stuff->screen]) { + if (--DGACallbackRefCount == 0) + DeleteCallback(&ClientStateCallback, DGAClientStateChange, NULL); + } + + DGAClients[stuff->screen] = NULL; + } + + return (client->noClientException); +} + +static int +ProcXF86DGAGetViewPortSize(ClientPtr client) +{ + int num; + XDGAModeRec mode; + REQUEST(xXF86DGAGetViewPortSizeReq); + xXF86DGAGetViewPortSizeReply rep; + + if (stuff->screen > screenInfo.numScreens) + return BadValue; + + REQUEST_SIZE_MATCH(xXF86DGAGetViewPortSizeReq); + rep.type = X_Reply; + rep.length = 0; + rep.sequenceNumber = client->sequence; + + if (!DGAAvailable(stuff->screen)) + return (DGAErrorBase + XF86DGANoDirectVideoMode); + + if(!(num = DGAGetOldDGAMode(stuff->screen))) + return (DGAErrorBase + XF86DGANoDirectVideoMode); + + DGAGetModeInfo(stuff->screen, &mode, num); + + rep.width = mode.viewportWidth; + rep.height = mode.viewportHeight; + + WriteToClient(client, SIZEOF(xXF86DGAGetViewPortSizeReply), (char *)&rep); + return (client->noClientException); +} + +static int +ProcXF86DGASetViewPort(ClientPtr client) +{ + REQUEST(xXF86DGASetViewPortReq); + + if (stuff->screen > screenInfo.numScreens) + return BadValue; + + if (DGAClients[stuff->screen] != client) + return DGAErrorBase + XF86DGADirectNotActivated; + + REQUEST_SIZE_MATCH(xXF86DGASetViewPortReq); + + if (!DGAAvailable(stuff->screen)) + return (DGAErrorBase + XF86DGANoDirectVideoMode); + + if (!DGAActive(stuff->screen)) + return DGAErrorBase + XF86DGADirectNotActivated; + + if (DGASetViewport(stuff->screen, stuff->x, stuff->y, DGA_FLIP_RETRACE) + != Success) + return DGAErrorBase + XF86DGADirectNotActivated; + + return (client->noClientException); +} + +static int +ProcXF86DGAGetVidPage(ClientPtr client) +{ + REQUEST(xXF86DGAGetVidPageReq); + xXF86DGAGetVidPageReply rep; + + if (stuff->screen > screenInfo.numScreens) + return BadValue; + + REQUEST_SIZE_MATCH(xXF86DGAGetVidPageReq); + rep.type = X_Reply; + rep.length = 0; + rep.sequenceNumber = client->sequence; + rep.vpage = 0; /* silently fail */ + + WriteToClient(client, SIZEOF(xXF86DGAGetVidPageReply), (char *)&rep); + return (client->noClientException); +} + + +static int +ProcXF86DGASetVidPage(ClientPtr client) +{ + REQUEST(xXF86DGASetVidPageReq); + + if (stuff->screen > screenInfo.numScreens) + return BadValue; + + REQUEST_SIZE_MATCH(xXF86DGASetVidPageReq); + + /* silently fail */ + + return (client->noClientException); +} + + +static int +ProcXF86DGAInstallColormap(ClientPtr client) +{ + ColormapPtr pcmp; + REQUEST(xXF86DGAInstallColormapReq); + + if (stuff->screen > screenInfo.numScreens) + return BadValue; + + if (DGAClients[stuff->screen] != client) + return DGAErrorBase + XF86DGADirectNotActivated; + + REQUEST_SIZE_MATCH(xXF86DGAInstallColormapReq); + + if (!DGAActive(stuff->screen)) + return (DGAErrorBase + XF86DGADirectNotActivated); + + pcmp = (ColormapPtr )LookupIDByType(stuff->id, RT_COLORMAP); + if (pcmp) { + DGAInstallCmap(pcmp); + return (client->noClientException); + } else { + client->errorValue = stuff->id; + return (BadColor); + } +} + +static int +ProcXF86DGAQueryDirectVideo(ClientPtr client) +{ + REQUEST(xXF86DGAQueryDirectVideoReq); + xXF86DGAQueryDirectVideoReply rep; + + if (stuff->screen > screenInfo.numScreens) + return BadValue; + + REQUEST_SIZE_MATCH(xXF86DGAQueryDirectVideoReq); + rep.type = X_Reply; + rep.length = 0; + rep.sequenceNumber = client->sequence; + rep.flags = 0; + + if (DGAAvailable(stuff->screen)) + rep.flags = XF86DGADirectPresent; + + WriteToClient(client, SIZEOF(xXF86DGAQueryDirectVideoReply), (char *)&rep); + return (client->noClientException); +} + +static int +ProcXF86DGAViewPortChanged(ClientPtr client) +{ + REQUEST(xXF86DGAViewPortChangedReq); + xXF86DGAViewPortChangedReply rep; + + if (stuff->screen > screenInfo.numScreens) + return BadValue; + + if (DGAClients[stuff->screen] != client) + return DGAErrorBase + XF86DGADirectNotActivated; + + REQUEST_SIZE_MATCH(xXF86DGAViewPortChangedReq); + + if (!DGAActive(stuff->screen)) + return (DGAErrorBase + XF86DGADirectNotActivated); + + rep.type = X_Reply; + rep.length = 0; + rep.sequenceNumber = client->sequence; + rep.result = 1; + + WriteToClient(client, SIZEOF(xXF86DGAViewPortChangedReply), (char *)&rep); + return (client->noClientException); +} + +#endif /* DGA_PROTOCOL_OLD_SUPPORT */ static int SProcXDGADispatch (ClientPtr client) @@ -701,15 +987,11 @@ ProcXDGADispatch (ClientPtr client) if (stuff->data <= X_XDGACreateColormap) fprintf (stderr, " DGA %s\n", dgaMinor[stuff->data]); #endif - - /* divert old protocol */ -#if 1 - if( (stuff->data <= X_XF86DGAViewPortChanged) && - (stuff->data >= X_XF86DGAGetVideoLL)) - return ProcXF86DGADispatch(client); -#endif switch (stuff->data){ + /* + * DGA2 Protocol + */ case X_XDGAQueryVersion: return ProcXDGAQueryVersion(client); case X_XDGAQueryModes: @@ -742,6 +1024,29 @@ ProcXDGADispatch (ClientPtr client) return ProcXDGAChangePixmapMode(client); case X_XDGACreateColormap: return ProcXDGACreateColormap(client); + /* + * Old DGA Protocol + */ +#ifdef DGA_PROTOCOL_OLD_SUPPORT + case X_XF86DGAGetVideoLL: + return ProcXF86DGAGetVideoLL(client); + case X_XF86DGADirectVideo: + return ProcXF86DGADirectVideo(client); + case X_XF86DGAGetViewPortSize: + return ProcXF86DGAGetViewPortSize(client); + case X_XF86DGASetViewPort: + return ProcXF86DGASetViewPort(client); + case X_XF86DGAGetVidPage: + return ProcXF86DGAGetVidPage(client); + case X_XF86DGASetVidPage: + return ProcXF86DGASetVidPage(client); + case X_XF86DGAInstallColormap: + return ProcXF86DGAInstallColormap(client); + case X_XF86DGAQueryDirectVideo: + return ProcXF86DGAQueryDirectVideo(client); + case X_XF86DGAViewPortChanged: + return ProcXF86DGAViewPortChanged(client); +#endif /* DGA_PROTOCOL_OLD_SUPPORT */ default: return BadRequest; } @@ -750,5 +1055,5 @@ ProcXDGADispatch (ClientPtr client) void XFree86DGARegister(INITARGS) { - XDGAEventBase = &DGAEventBase; + XDGAEventBase = &DGAEventBase; } diff --git a/xorg-server/hw/xfree86/dixmods/extmod/xf86misc.c b/xorg-server/hw/xfree86/dixmods/extmod/xf86misc.c deleted file mode 100644 index 8127afdff..000000000 --- a/xorg-server/hw/xfree86/dixmods/extmod/xf86misc.c +++ /dev/null @@ -1,821 +0,0 @@ - -/* - * Copyright (c) 1995, 1996 The XFree86 Project, Inc - */ - -/* THIS IS NOT AN X CONSORTIUM STANDARD */ - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#define NEED_REPLIES -#define NEED_EVENTS -#include -#include -#include "misc.h" -#include "dixstruct.h" -#include "extnsionst.h" -#include "scrnintstr.h" -#include "inputstr.h" -#include "servermd.h" -#define _XF86MISC_SERVER_ -#undef _XF86MISC_SAVER_COMPAT_ -#include -#include "swaprep.h" -#include "xf86.h" -#include -#include "xf86miscproc.h" - -#if 0 -#include -#include "../os/osdep.h" -#include -#ifndef USL -#ifndef Lynx -#include -#else -#include -#endif -#endif /* USL */ -#endif - -static int miscErrorBase; -static DevPrivateKey MiscClientPrivateKey = &MiscClientPrivateKey; - -/* This holds the client's version information */ -typedef struct { - int major; - int minor; -} MiscPrivRec, *MiscPrivPtr; - -#define M_GETPRIV(c) ((MiscPrivPtr) \ - dixLookupPrivate(&(c)->devPrivates, MiscClientPrivateKey)) -#define M_SETPRIV(c,p) \ - dixSetPrivate(&(c)->devPrivates, MiscClientPrivateKey, p) - -static void XF86MiscResetProc( - ExtensionEntry* /* extEntry */ -); - -static void -ClientVersion(ClientPtr client, int *major, int *minor) -{ - MiscPrivPtr pPriv; - - pPriv = M_GETPRIV(client); - if (!pPriv) { - if (major) *major = 0; - if (minor) *minor = 0; - return; - } - - if (major) *major = pPriv->major; - if (minor) *minor = pPriv->minor; -} - -static DISPATCH_PROC(ProcXF86MiscDispatch); -static DISPATCH_PROC(ProcXF86MiscQueryVersion); -static DISPATCH_PROC(ProcXF86MiscGetKbdSettings); -static DISPATCH_PROC(ProcXF86MiscGetMouseSettings); -static DISPATCH_PROC(ProcXF86MiscSetKbdSettings); -static DISPATCH_PROC(ProcXF86MiscSetMouseSettings); -static DISPATCH_PROC(ProcXF86MiscSetGrabKeysState); -static DISPATCH_PROC(ProcXF86MiscSetClientVersion); -static DISPATCH_PROC(ProcXF86MiscGetFilePaths); -static DISPATCH_PROC(ProcXF86MiscPassMessage); -#ifdef _XF86MISC_SAVER_COMPAT_ -static DISPATCH_PROC(ProcXF86MiscGetSaver); -static DISPATCH_PROC(ProcXF86MiscSetSaver); -#endif -static DISPATCH_PROC(SProcXF86MiscDispatch); -static DISPATCH_PROC(SProcXF86MiscQueryVersion); -static DISPATCH_PROC(SProcXF86MiscGetKbdSettings); -static DISPATCH_PROC(SProcXF86MiscGetMouseSettings); -static DISPATCH_PROC(SProcXF86MiscSetKbdSettings); -static DISPATCH_PROC(SProcXF86MiscSetMouseSettings); -static DISPATCH_PROC(SProcXF86MiscSetGrabKeysState); -static DISPATCH_PROC(SProcXF86MiscSetClientVersion); -static DISPATCH_PROC(SProcXF86MiscGetFilePaths); -static DISPATCH_PROC(SProcXF86MiscPassMessage); -#ifdef _XF86MISC_SAVER_COMPAT_ -static DISPATCH_PROC(SProcXF86MiscGetSaver); -static DISPATCH_PROC(SProcXF86MiscSetSaver); -#endif - -#if 0 -static unsigned char XF86MiscReqCode = 0; -#endif - -#ifdef DEBUG -# define DEBUG_P(x) ErrorF x; -#else -# define DEBUG_P(x) do {} while (0) -#endif - -#define MISCERR(x) (miscErrorBase + x) - -void -XFree86MiscExtensionInit(void) -{ - ExtensionEntry* extEntry; - - if (!xf86GetModInDevEnabled()) - return; - - if ( - (extEntry = AddExtension(XF86MISCNAME, - XF86MiscNumberEvents, - XF86MiscNumberErrors, - ProcXF86MiscDispatch, - SProcXF86MiscDispatch, - XF86MiscResetProc, - StandardMinorOpcode))) { -#if 0 - XF86MiscReqCode = (unsigned char)extEntry->base; -#endif - miscErrorBase = extEntry->errorBase; - } -} - -/*ARGSUSED*/ -static void -XF86MiscResetProc (extEntry) - ExtensionEntry* extEntry; -{ -} - -static int -ProcXF86MiscQueryVersion(client) - register ClientPtr client; -{ - xXF86MiscQueryVersionReply rep; - register int n; - - REQUEST_SIZE_MATCH(xXF86MiscQueryVersionReq); - rep.type = X_Reply; - rep.length = 0; - rep.sequenceNumber = client->sequence; - rep.majorVersion = XF86MISC_MAJOR_VERSION; - rep.minorVersion = XF86MISC_MINOR_VERSION; - if (client->swapped) { - swaps(&rep.sequenceNumber, n); - swapl(&rep.length, n); - swaps(&rep.majorVersion, n); - swaps(&rep.minorVersion, n); - } - WriteToClient(client, sizeof(xXF86MiscQueryVersionReply), (char *)&rep); - return (client->noClientException); -} - -#ifdef _XF86MISC_SAVER_COMPAT_ -/* THESE HAVE NOT BEEN CONVERTED TO THE NEW DESIGN */ - -/* - * This will go away, but remains for now for compatibility with older - * clients. - */ -static int -ProcXF86MiscSetSaver(client) - register ClientPtr client; -{ - REQUEST(xXF86MiscSetSaverReq); - ScrnInfoPtr vptr; - - if (stuff->screen > screenInfo.numScreens) - return BadValue; - - vptr = (ScrnInfoPtr) - dixLookupPrivate(&screenInfo.screens[stuff->screen]->devPrivates, - xf86ScreenKey); - - REQUEST_SIZE_MATCH(xXF86MiscSetSaverReq); - - if (stuff->suspendTime < 0) - return BadValue; - if (stuff->offTime < 0) - return BadValue; - - return (client->noClientException); -} - -/* - * This will go away, but remains for now for compatibility with older - * clients. - */ -static int -ProcXF86MiscGetSaver(client) - register ClientPtr client; -{ - REQUEST(xXF86MiscGetSaverReq); - xXF86MiscGetSaverReply rep; - register int n; - ScrnInfoPtr vptr; - - if (stuff->screen > screenInfo.numScreens) - return BadValue; - - vptr = (ScrnInfoPtr) - dixLookupPrivate(&screenInfo.screens[stuff->screen]->devPrivates, - xf86ScreenKey); - - REQUEST_SIZE_MATCH(xXF86MiscGetSaverReq); - rep.type = X_Reply; - rep.length = 0; - rep.sequenceNumber = client->sequence; - rep.suspendTime = 0; - rep.offTime = 0; - - if (client->swapped) { - swaps(&rep.sequenceNumber, n); - swapl(&rep.length, n); - swapl(&rep.suspendTime, n); - swapl(&rep.offTime, n); - } - WriteToClient(client, SIZEOF(xXF86MiscGetSaverReply), (char *)&rep); - return (client->noClientException); -} - -#endif /* _XF86MISC_SAVER_COMPAT_ */ - -static int -ProcXF86MiscGetMouseSettings(client) - register ClientPtr client; -{ - xXF86MiscGetMouseSettingsReply rep; - char *devname; - pointer mouse; - register int n; - int devnamelen; - - REQUEST_SIZE_MATCH(xXF86MiscGetMouseSettingsReq); - rep.type = X_Reply; - rep.sequenceNumber = client->sequence; - - if (!MiscExtGetMouseSettings(&mouse, &devname)) - return BadValue; - - rep.mousetype = MiscExtGetMouseValue(mouse, MISC_MSE_PROTO); - rep.baudrate = MiscExtGetMouseValue(mouse, MISC_MSE_BAUDRATE); - rep.samplerate = MiscExtGetMouseValue(mouse, MISC_MSE_SAMPLERATE); - rep.resolution = MiscExtGetMouseValue(mouse, MISC_MSE_RESOLUTION); - rep.buttons = MiscExtGetMouseValue(mouse, MISC_MSE_BUTTONS); - rep.emulate3buttons = MiscExtGetMouseValue(mouse, MISC_MSE_EM3BUTTONS); - rep.emulate3timeout = MiscExtGetMouseValue(mouse, MISC_MSE_EM3TIMEOUT); - rep.chordmiddle = MiscExtGetMouseValue(mouse, MISC_MSE_CHORDMIDDLE); - rep.flags = MiscExtGetMouseValue(mouse, MISC_MSE_FLAGS); - devnamelen = rep.devnamelen = (devname? strlen(devname): 0); - rep.length = (sizeof(xXF86MiscGetMouseSettingsReply) - - sizeof(xGenericReply) + ((rep.devnamelen+3) & ~3)) >> 2; - - if (client->swapped) { - swaps(&rep.sequenceNumber, n); - swapl(&rep.length, n); - swapl(&rep.mousetype, n); - swapl(&rep.baudrate, n); - swapl(&rep.samplerate, n); - swapl(&rep.resolution, n); - swapl(&rep.buttons, n); - swapl(&rep.emulate3buttons, n); - swapl(&rep.emulate3timeout, n); - swapl(&rep.chordmiddle, n); - swapl(&rep.flags, n); - } - WriteToClient(client, SIZEOF(xXF86MiscGetMouseSettingsReply), (char *)&rep); - MiscExtDestroyStruct(mouse, MISC_POINTER); - - if (devnamelen) - WriteToClient(client, devnamelen, devname); - return (client->noClientException); -} - -static int -ProcXF86MiscGetKbdSettings(client) - register ClientPtr client; -{ - xXF86MiscGetKbdSettingsReply rep; - pointer kbd; - register int n; - - REQUEST_SIZE_MATCH(xXF86MiscGetKbdSettingsReq); - rep.type = X_Reply; - rep.length = 0; - rep.sequenceNumber = client->sequence; - if (!MiscExtGetKbdSettings(&kbd)) - return BadValue; - - rep.kbdtype = MiscExtGetKbdValue(kbd, MISC_KBD_TYPE); - rep.rate = MiscExtGetKbdValue(kbd, MISC_KBD_RATE); - rep.delay = MiscExtGetKbdValue(kbd, MISC_KBD_DELAY); - rep.servnumlock = MiscExtGetKbdValue(kbd, MISC_KBD_SERVNUMLOCK); - if (client->swapped) { - swaps(&rep.sequenceNumber, n); - swapl(&rep.length, n); - swapl(&rep.kbdtype, n); - swapl(&rep.rate, n); - swapl(&rep.delay, n); - } - WriteToClient(client, SIZEOF(xXF86MiscGetKbdSettingsReply), (char *)&rep); - return (client->noClientException); -} - -static int -ProcXF86MiscSetMouseSettings(client) - register ClientPtr client; -{ - MiscExtReturn ret; - pointer mouse; - char *devname = NULL; - int major, minor; - - REQUEST(xXF86MiscSetMouseSettingsReq); - - REQUEST_AT_LEAST_SIZE(xXF86MiscSetMouseSettingsReq); - - ClientVersion(client, &major, &minor); - - if (xf86GetVerbosity() > 1) { - DEBUG_P(("SetMouseSettings - type: %d brate: %d srate: %d chdmid: %d\n", - (int)stuff->mousetype, (int)stuff->baudrate, - (int)stuff->samplerate, stuff->chordmiddle)); - DEBUG_P((" em3but: %d em3tim: %d res: %d flags: %ld\n", - stuff->emulate3buttons, (int)stuff->emulate3timeout, - (int)stuff->resolution, (unsigned long)stuff->flags)); - } - - if ((mouse = MiscExtCreateStruct(MISC_POINTER)) == (pointer) 0) - return BadAlloc; - - MiscExtSetMouseValue(mouse, MISC_MSE_PROTO, stuff->mousetype); - MiscExtSetMouseValue(mouse, MISC_MSE_BAUDRATE, stuff->baudrate); - MiscExtSetMouseValue(mouse, MISC_MSE_SAMPLERATE, stuff->samplerate); - MiscExtSetMouseValue(mouse, MISC_MSE_RESOLUTION, stuff->resolution); - MiscExtSetMouseValue(mouse, MISC_MSE_BUTTONS, stuff->buttons); - MiscExtSetMouseValue(mouse, MISC_MSE_EM3BUTTONS, stuff->emulate3buttons); - MiscExtSetMouseValue(mouse, MISC_MSE_EM3TIMEOUT, stuff->emulate3timeout); - MiscExtSetMouseValue(mouse, MISC_MSE_CHORDMIDDLE, stuff->chordmiddle); - MiscExtSetMouseValue(mouse, MISC_MSE_FLAGS, stuff->flags); - - if ((major > 0 || minor > 5) && stuff->devnamelen) { - int size = sizeof(xXF86MiscSetMouseSettingsReq) + stuff->devnamelen; - size = (size + 3) >> 2; - if (client->req_len < size) - return BadLength; - if (stuff->devnamelen) { - if (!(devname = xalloc(stuff->devnamelen))) - return BadAlloc; - strncpy(devname,(char*)(&stuff[1]),stuff->devnamelen); - if (xf86GetVerbosity() > 1) - DEBUG_P(("SetMouseSettings - device: %s\n",devname)); - MiscExtSetMouseDevice(mouse, devname); - } - } - - ret = MiscExtApply(mouse, MISC_POINTER); - - if (devname) - xfree(devname); - - switch ((ret)) { - case MISC_RET_SUCCESS: break; - case MISC_RET_BADVAL: return BadValue; - case MISC_RET_BADMSEPROTO: return MISCERR(XF86MiscBadMouseProtocol); - case MISC_RET_BADBAUDRATE: return MISCERR(XF86MiscBadMouseBaudRate); - case MISC_RET_BADFLAGS: return MISCERR(XF86MiscBadMouseFlags); - case MISC_RET_BADCOMBO: return MISCERR(XF86MiscBadMouseCombo); - case MISC_RET_NOMODULE: return MISCERR(XF86MiscNoModule); - default: - DEBUG_P(("Unexpected return from MiscExtApply(POINTER) = %d\n", ret)); - return BadImplementation; - } - - if (xf86GetVerbosity() > 1) - DEBUG_P(("SetMouseSettings - Succeeded\n")); - return (client->noClientException); -} - -static int -ProcXF86MiscSetKbdSettings(client) - register ClientPtr client; -{ - MiscExtReturn ret; - pointer kbd; - REQUEST(xXF86MiscSetKbdSettingsReq); - - REQUEST_SIZE_MATCH(xXF86MiscSetKbdSettingsReq); - - if (xf86GetVerbosity() > 1) - DEBUG_P(("SetKbdSettings - type: %d rate: %d delay: %d snumlk: %d\n", - (int)stuff->kbdtype, (int)stuff->rate, - (int)stuff->delay, stuff->servnumlock)); - - if ((kbd = MiscExtCreateStruct(MISC_KEYBOARD)) == (pointer) 0) - return BadAlloc; - - MiscExtSetKbdValue(kbd, MISC_KBD_TYPE, stuff->kbdtype); - MiscExtSetKbdValue(kbd, MISC_KBD_RATE, stuff->rate); - MiscExtSetKbdValue(kbd, MISC_KBD_DELAY, stuff->delay); - MiscExtSetKbdValue(kbd, MISC_KBD_SERVNUMLOCK, stuff->servnumlock); - - switch ((ret = MiscExtApply(kbd, MISC_KEYBOARD))) { - case MISC_RET_SUCCESS: break; - case MISC_RET_BADVAL: return BadValue; - case MISC_RET_BADKBDTYPE: return MISCERR(XF86MiscBadKbdType); - default: - DEBUG_P(("Unexpected return from MiscExtApply(KEYBOARD) = %d\n", ret)); - return BadImplementation; - } - - if (xf86GetVerbosity() > 1) - DEBUG_P(("SetKbdSettings - Succeeded\n")); - return (client->noClientException); -} - -static int -ProcXF86MiscSetGrabKeysState(client) - register ClientPtr client; -{ - int n, status; - xXF86MiscSetGrabKeysStateReply rep; - REQUEST(xXF86MiscSetGrabKeysStateReq); - - REQUEST_SIZE_MATCH(xXF86MiscSetGrabKeysStateReq); - - if ((status = MiscExtSetGrabKeysState(client, stuff->enable)) == 0) { - if (xf86GetVerbosity() > 1) - DEBUG_P(("SetGrabKeysState - %s\n", - stuff->enable ? "enabled" : "disabled")); - } - - rep.type = X_Reply; - rep.length = 0; - rep.sequenceNumber = client->sequence; - rep.status = status; - if (client->swapped) { - swaps(&rep.sequenceNumber, n); - swapl(&rep.length, n); - swapl(&rep.status, n); - } - WriteToClient(client, SIZEOF(xXF86MiscSetGrabKeysStateReply), (char *)&rep); - - return (client->noClientException); -} - -static int -ProcXF86MiscSetClientVersion(ClientPtr client) -{ - REQUEST(xXF86MiscSetClientVersionReq); - - MiscPrivPtr pPriv; - - REQUEST_SIZE_MATCH(xXF86MiscSetClientVersionReq); - - if ((pPriv = M_GETPRIV(client)) == NULL) { - pPriv = xalloc(sizeof(MiscPrivRec)); - if (!pPriv) - return BadAlloc; - M_SETPRIV(client, pPriv); - } - if (xf86GetVerbosity() > 1) - DEBUG_P(("SetClientVersion: %i %i\n",stuff->major,stuff->minor)); - pPriv->major = stuff->major; - pPriv->minor = stuff->minor; - - return (client->noClientException); -} - -static int -ProcXF86MiscGetFilePaths(client) - register ClientPtr client; -{ - xXF86MiscGetFilePathsReply rep; - const char *configfile; - const char *modulepath; - const char *logfile; - register int n; - int configlen, modulelen, loglen; - - REQUEST_SIZE_MATCH(xXF86MiscGetFilePathsReq); - rep.type = X_Reply; - rep.sequenceNumber = client->sequence; - - if (!MiscExtGetFilePaths(&configfile, &modulepath, &logfile)) - return BadValue; - - configlen = rep.configlen = (configfile? strlen(configfile): 0); - modulelen = rep.modulelen = (modulepath? strlen(modulepath): 0); - loglen = rep.loglen = (logfile? strlen(logfile): 0); - rep.length = (SIZEOF(xXF86MiscGetFilePathsReply) - SIZEOF(xGenericReply) + - ((rep.configlen + 3) & ~3) + - ((rep.modulelen + 3) & ~3) + - ((rep.loglen + 3) & ~3) ) >> 2; - - if (client->swapped) { - swaps(&rep.sequenceNumber, n); - swapl(&rep.length, n); - swaps(&rep.configlen, n); - swaps(&rep.modulelen, n); - swaps(&rep.loglen, n); - } - WriteToClient(client, SIZEOF(xXF86MiscGetFilePathsReply), (char *)&rep); - - if (configlen) - WriteToClient(client, configlen, (char *)configfile); - if (modulelen) - WriteToClient(client, modulelen, (char *)modulepath); - if (loglen) - WriteToClient(client, loglen, (char *)logfile); - - return (client->noClientException); -} - -static int -ProcXF86MiscPassMessage(client) - register ClientPtr client; -{ - xXF86MiscPassMessageReply rep; - char *msgtype, *msgval, *retstr; - int retval, size; - register int n; - int mesglen; - - REQUEST(xXF86MiscPassMessageReq); - - REQUEST_AT_LEAST_SIZE(xXF86MiscPassMessageReq); - size = (sizeof(xXF86MiscPassMessageReq) + 3) >> 2; - size+= (stuff->typelen + 3) >> 2; - size+= (stuff->vallen + 3) >> 2; - if (client->req_len < size) - return BadLength; - if (stuff->typelen) { - if (!(msgtype = xalloc(stuff->typelen))) - return BadAlloc; - strncpy(msgtype,(char*)(&stuff[1]),stuff->typelen); - } else return BadValue; - if (stuff->vallen) { - if (!(msgval = xalloc(stuff->vallen))) { - xfree(msgtype); - return BadAlloc; - } - strncpy(msgval,(char*)((char*)&stuff[1] + ((stuff->typelen + 3) & ~3)), - stuff->vallen); - } else { - xfree(msgtype); - return BadValue; - } - - if ((retval = MiscExtPassMessage(stuff->screen,msgtype,msgval,&retstr)) != 0) { - xfree(msgtype); - xfree(msgval); - return retval; - } - - rep.type = X_Reply; - rep.sequenceNumber = client->sequence; - mesglen = rep.mesglen = (retstr? strlen(retstr): 0); - rep.length = (SIZEOF(xXF86MiscPassMessageReply) - SIZEOF(xGenericReply) + - ((rep.mesglen + 3) & ~3)) >> 2; - rep.status = 0; - - if (client->swapped) { - swaps(&rep.sequenceNumber, n); - swapl(&rep.length, n); - swaps(&rep.mesglen, n); - } - WriteToClient(client, SIZEOF(xXF86MiscPassMessageReply), (char *)&rep); - - if (mesglen) - WriteToClient(client, mesglen, (char *)retstr); - - xfree(msgtype); - xfree(msgval); - - return (client->noClientException); -} - -static int -ProcXF86MiscDispatch (client) - register ClientPtr client; -{ - REQUEST(xReq); - switch (stuff->data) - { - case X_XF86MiscQueryVersion: - return ProcXF86MiscQueryVersion(client); -#ifdef _XF86MISC_SAVER_COMPAT_ - case X_XF86MiscGetSaver: - return ProcXF86MiscGetSaver(client); - case X_XF86MiscSetSaver: - return ProcXF86MiscSetSaver(client); -#endif - case X_XF86MiscGetMouseSettings: - return ProcXF86MiscGetMouseSettings(client); - case X_XF86MiscGetKbdSettings: - return ProcXF86MiscGetKbdSettings(client); - case X_XF86MiscSetClientVersion: - return ProcXF86MiscSetClientVersion(client); - case X_XF86MiscGetFilePaths: - return ProcXF86MiscGetFilePaths(client); - case X_XF86MiscPassMessage: - return ProcXF86MiscPassMessage(client); - default: - if (!xf86GetModInDevEnabled()) - return miscErrorBase + XF86MiscModInDevDisabled; - if (xf86GetModInDevAllowNonLocal() || LocalClient (client)) { - switch (stuff->data) { - case X_XF86MiscSetMouseSettings: - return ProcXF86MiscSetMouseSettings(client); - case X_XF86MiscSetKbdSettings: - return ProcXF86MiscSetKbdSettings(client); - case X_XF86MiscSetGrabKeysState: - return ProcXF86MiscSetGrabKeysState(client); - default: - return BadRequest; - } - } else - return miscErrorBase + XF86MiscModInDevClientNotLocal; - } -} - -static int -SProcXF86MiscQueryVersion(client) - register ClientPtr client; -{ - register int n; - REQUEST(xXF86MiscQueryVersionReq); - swaps(&stuff->length, n); - return ProcXF86MiscQueryVersion(client); -} - -#ifdef _XF86MISC_SAVER_COMPAT_ -static int -SProcXF86MiscGetSaver(client) - ClientPtr client; -{ - register int n; - REQUEST(xXF86MiscGetSaverReq); - swaps(&stuff->length, n); - REQUEST_SIZE_MATCH(xXF86MiscGetSaverReq); - swaps(&stuff->screen, n); - return ProcXF86MiscGetSaver(client); -} - -static int -SProcXF86MiscSetSaver(client) - ClientPtr client; -{ - register int n; - REQUEST(xXF86MiscSetSaverReq); - swaps(&stuff->length, n); - REQUEST_SIZE_MATCH(xXF86MiscSetSaverReq); - swaps(&stuff->screen, n); - swapl(&stuff->suspendTime, n); - swapl(&stuff->offTime, n); - return ProcXF86MiscSetSaver(client); -} -#endif /* _XF86MISC_SAVER_COMPAT_ */ - -static int -SProcXF86MiscGetMouseSettings(client) - ClientPtr client; -{ - register int n; - REQUEST(xXF86MiscGetMouseSettingsReq); - swaps(&stuff->length, n); - REQUEST_SIZE_MATCH(xXF86MiscGetMouseSettingsReq); - return ProcXF86MiscGetMouseSettings(client); -} - -static int -SProcXF86MiscGetKbdSettings(client) - ClientPtr client; -{ - register int n; - REQUEST(xXF86MiscGetKbdSettingsReq); - swaps(&stuff->length, n); - REQUEST_SIZE_MATCH(xXF86MiscGetKbdSettingsReq); - return ProcXF86MiscGetKbdSettings(client); -} - -static int -SProcXF86MiscSetMouseSettings(client) - ClientPtr client; -{ - register int n; - REQUEST(xXF86MiscSetMouseSettingsReq); - swaps(&stuff->length, n); - REQUEST_SIZE_MATCH(xXF86MiscSetMouseSettingsReq); - swapl(&stuff->mousetype, n); - swapl(&stuff->baudrate, n); - swapl(&stuff->samplerate, n); - swapl(&stuff->resolution, n); - swapl(&stuff->buttons, n); - swapl(&stuff->emulate3timeout, n); - swapl(&stuff->flags, n); - return ProcXF86MiscSetMouseSettings(client); -} - -static int -SProcXF86MiscSetKbdSettings(client) - ClientPtr client; -{ - register int n; - REQUEST(xXF86MiscSetKbdSettingsReq); - swaps(&stuff->length, n); - REQUEST_SIZE_MATCH(xXF86MiscSetKbdSettingsReq); - swapl(&stuff->kbdtype, n); - swapl(&stuff->rate, n); - swapl(&stuff->delay, n); - return ProcXF86MiscSetKbdSettings(client); -} - -static int -SProcXF86MiscSetGrabKeysState(client) - ClientPtr client; -{ - register int n; - REQUEST(xXF86MiscSetGrabKeysStateReq); - swaps(&stuff->length, n); - REQUEST_SIZE_MATCH(xXF86MiscSetGrabKeysStateReq); - swaps(&stuff->enable, n); - return ProcXF86MiscSetGrabKeysState(client); -} - -static int -SProcXF86MiscSetClientVersion(ClientPtr client) -{ - register int n; - REQUEST(xXF86MiscSetClientVersionReq); - swaps(&stuff->length, n); - REQUEST_SIZE_MATCH(xXF86MiscSetClientVersionReq); - swaps(&stuff->major, n); - swaps(&stuff->minor, n); - return ProcXF86MiscSetClientVersion(client); -} - -static int -SProcXF86MiscGetFilePaths(client) - ClientPtr client; -{ - register int n; - REQUEST(xXF86MiscGetFilePathsReq); - swaps(&stuff->length, n); - REQUEST_SIZE_MATCH(xXF86MiscGetFilePathsReq); - return ProcXF86MiscGetFilePaths(client); -} - -static int -SProcXF86MiscPassMessage(client) - ClientPtr client; -{ - register int n; - REQUEST(xXF86MiscPassMessageReq); - swaps(&stuff->length, n); - REQUEST_SIZE_MATCH(xXF86MiscPassMessageReq); - return ProcXF86MiscPassMessage(client); -} - -static int -SProcXF86MiscDispatch (client) - register ClientPtr client; -{ - REQUEST(xReq); - switch (stuff->data) - { - case X_XF86MiscQueryVersion: - return SProcXF86MiscQueryVersion(client); -#ifdef _XF86MISC_SAVER_COMPAT_ - case X_XF86MiscGetSaver: - return SProcXF86MiscGetSaver(client); - case X_XF86MiscSetSaver: - return SProcXF86MiscSetSaver(client); -#endif - case X_XF86MiscGetMouseSettings: - return SProcXF86MiscGetMouseSettings(client); - case X_XF86MiscGetKbdSettings: - return SProcXF86MiscGetKbdSettings(client); - case X_XF86MiscSetClientVersion: - return SProcXF86MiscSetClientVersion(client); - case X_XF86MiscGetFilePaths: - return SProcXF86MiscGetFilePaths(client); - case X_XF86MiscPassMessage: - return SProcXF86MiscPassMessage(client); - default: - if (!xf86GetModInDevEnabled()) - return miscErrorBase + XF86MiscModInDevDisabled; - if (xf86GetModInDevAllowNonLocal() || LocalClient (client)) { - switch (stuff->data) { - case X_XF86MiscSetMouseSettings: - return SProcXF86MiscSetMouseSettings(client); - case X_XF86MiscSetKbdSettings: - return SProcXF86MiscSetKbdSettings(client); - case X_XF86MiscSetGrabKeysState: - return SProcXF86MiscSetGrabKeysState(client); - default: - return BadRequest; - } - } else - return miscErrorBase + XF86MiscModInDevClientNotLocal; - } -} - diff --git a/xorg-server/hw/xfree86/dixmods/extmod/xf86miscproc.h b/xorg-server/hw/xfree86/dixmods/extmod/xf86miscproc.h deleted file mode 100644 index 93b193ca7..000000000 --- a/xorg-server/hw/xfree86/dixmods/extmod/xf86miscproc.h +++ /dev/null @@ -1,69 +0,0 @@ - -/* Prototypes for Pointer/Keyboard functions that the DDX must provide */ - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#ifndef _XF86MISCPROC_H_ -#define _XF86MISCPROC_H_ - -typedef enum { - MISC_MSE_PROTO, - MISC_MSE_BAUDRATE, - MISC_MSE_SAMPLERATE, - MISC_MSE_RESOLUTION, - MISC_MSE_BUTTONS, - MISC_MSE_EM3BUTTONS, - MISC_MSE_EM3TIMEOUT, - MISC_MSE_CHORDMIDDLE, - MISC_MSE_FLAGS -} MiscExtMseValType; - -typedef enum { - MISC_KBD_TYPE, - MISC_KBD_RATE, - MISC_KBD_DELAY, - MISC_KBD_SERVNUMLOCK -} MiscExtKbdValType; - -typedef enum { - MISC_RET_SUCCESS, - MISC_RET_BADVAL, - MISC_RET_BADMSEPROTO, - MISC_RET_BADBAUDRATE, - MISC_RET_BADFLAGS, - MISC_RET_BADCOMBO, - MISC_RET_BADKBDTYPE, - MISC_RET_NOMODULE -} MiscExtReturn; - -typedef enum { - MISC_POINTER, - MISC_KEYBOARD -} MiscExtStructType; - -#define MISC_MSEFLAG_CLEARDTR 1 -#define MISC_MSEFLAG_CLEARRTS 2 -#define MISC_MSEFLAG_REOPEN 128 - -void XFree86MiscExtensionInit(void); - -Bool MiscExtGetMouseSettings(pointer *mouse, char **devname); -int MiscExtGetMouseValue(pointer mouse, MiscExtMseValType valtype); -Bool MiscExtSetMouseValue(pointer mouse, MiscExtMseValType valtype, int value); -Bool MiscExtGetKbdSettings(pointer *kbd); -int MiscExtGetKbdValue(pointer kbd, MiscExtKbdValType valtype); -Bool MiscExtSetKbdValue(pointer kbd, MiscExtKbdValType valtype, int value); -int MiscExtSetGrabKeysState(ClientPtr client, int enable); -pointer MiscExtCreateStruct(MiscExtStructType mse_or_kbd); -void MiscExtDestroyStruct(pointer structure, MiscExtStructType mse_or_kbd); -MiscExtReturn MiscExtApply(pointer structure, MiscExtStructType mse_or_kbd); -Bool MiscExtSetMouseDevice(pointer mouse, char* device); -Bool MiscExtGetFilePaths(const char **configfile, const char **modulepath, - const char **logfile); -int MiscExtPassMessage(int scrn, const char *msgtype, const char *msgval, - char **retstr); - -#endif - diff --git a/xorg-server/hw/xfree86/dixmods/extmod/xf86vmode.c b/xorg-server/hw/xfree86/dixmods/extmod/xf86vmode.c index 718d40fbd..aecaf94ff 100644 --- a/xorg-server/hw/xfree86/dixmods/extmod/xf86vmode.c +++ b/xorg-server/hw/xfree86/dixmods/extmod/xf86vmode.c @@ -48,11 +48,13 @@ from Kaleb S. KEITHLEY #include "swaprep.h" #include "xf86.h" #include "vidmodeproc.h" +#include "globals.h" #define DEFAULT_XF86VIDMODE_VERBOSITY 3 static int VidModeErrorBase; -static DevPrivateKey VidModeClientPrivateKey = &VidModeClientPrivateKey; +static int VidModeClientPrivateKeyIndex; +static DevPrivateKey VidModeClientPrivateKey = &VidModeClientPrivateKeyIndex; /* This holds the client's version information */ typedef struct { @@ -65,10 +67,6 @@ typedef struct { #define VM_SETPRIV(c,p) \ dixSetPrivate(&(c)->devPrivates, VidModeClientPrivateKey, p) -static void XF86VidModeResetProc( - ExtensionEntry* /* extEntry */ -); - static DISPATCH_PROC(ProcXF86VidModeDispatch); static DISPATCH_PROC(ProcXF86VidModeGetAllModeLines); static DISPATCH_PROC(ProcXF86VidModeGetModeLine); @@ -126,8 +124,6 @@ static void SXF86VidModeNotifyEvent(); xXF86VidModeNotifyEvent * /* to */ ); -extern WindowPtr *WindowTable; - static RESTYPE EventType; /* resource type for event masks */ typedef struct _XF86VidModeEvent *XF86VidModeEventPtr; @@ -146,8 +142,9 @@ typedef struct _XF86VidModeScreenPrivate { XF86VidModeEventPtr events; Bool hasWindow; } XF86VidModeScreenPrivateRec, *XF86VidModeScreenPrivatePtr; - -static DevPrivateKey ScreenPrivateKey = &ScreenPrivateKey; + +static int ScreenPrivateKeyIndex; +static DevPrivateKey ScreenPrivateKey = &ScreenPrivateKeyIndex; #define GetScreenPrivate(s) ((ScreenSaverScreenPrivatePtr) \ dixLookupPrivate(&(s)->devPrivates, ScreenPrivateKey)) @@ -199,7 +196,7 @@ XFree86VidModeExtensionInit(void) XF86VidModeNumberErrors, ProcXF86VidModeDispatch, SProcXF86VidModeDispatch, - XF86VidModeResetProc, + NULL, StandardMinorOpcode))) { #if 0 XF86VidModeReqCode = (unsigned char)extEntry->base; @@ -212,13 +209,6 @@ XFree86VidModeExtensionInit(void) } } -/*ARGSUSED*/ -static void -XF86VidModeResetProc (extEntry) - ExtensionEntry* extEntry; -{ -} - static int ClientMajorVersion(ClientPtr client) { @@ -1553,6 +1543,7 @@ ProcXF86VidModeGetGammaRamp(ClientPtr client) { CARD16 *ramp = NULL; int n, length, i; + size_t ramplen; xXF86VidModeGetGammaRampReply rep; REQUEST(xXF86VidModeGetGammaRampReq); @@ -1567,7 +1558,8 @@ ProcXF86VidModeGetGammaRamp(ClientPtr client) length = (stuff->size + 1) & ~1; if(stuff->size) { - if(!(ramp = xalloc(length * 3 * sizeof(CARD16)))) + ramplen = length * 3 * sizeof(CARD16); + if (!(ramp = xalloc(ramplen))) return BadAlloc; if (!VidModeGetGammaRamp(stuff->screen, stuff->size, @@ -1585,13 +1577,12 @@ ProcXF86VidModeGetGammaRamp(ClientPtr client) swaps(&rep.sequenceNumber, n); swapl(&rep.length, n); swaps(&rep.size, n); - for(i = 0; i < length * 3; i++) - swaps(&ramp[i],n); + SwapShorts(ramp, length * 3); } WriteToClient(client, sizeof(xXF86VidModeGetGammaRampReply), (char *)&rep); if(stuff->size) { - WriteToClient(client, rep.length << 2, (char*)ramp); + WriteToClient(client, ramplen, (char*)ramp); xfree(ramp); } @@ -2072,7 +2063,6 @@ SProcXF86VidModeGetGamma(ClientPtr client) static int SProcXF86VidModeSetGammaRamp(ClientPtr client) { - CARD16 *ramp; int length, n; REQUEST(xXF86VidModeSetGammaRampReq); swaps(&stuff->length, n); @@ -2081,11 +2071,7 @@ SProcXF86VidModeSetGammaRamp(ClientPtr client) swaps(&stuff->screen, n); length = ((stuff->size + 1) & ~1) * 6; REQUEST_FIXED_SIZE(xXF86VidModeSetGammaRampReq, length); - ramp = (CARD16*)&stuff[1]; - while(length--) { - swaps(ramp, n); - ramp++; - } + SwapRestS(stuff); return ProcXF86VidModeSetGammaRamp(client); } diff --git a/xorg-server/hw/xfree86/dixmods/ftmodule.c b/xorg-server/hw/xfree86/dixmods/ftmodule.c deleted file mode 100644 index 382c0b3b7..000000000 --- a/xorg-server/hw/xfree86/dixmods/ftmodule.c +++ /dev/null @@ -1,75 +0,0 @@ -/* - * Copyright (C) 1998-2002 The XFree86 Project, 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 - * 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. - */ - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include "misc.h" - -#include -#include "xf86Module.h" - -static MODULESETUPPROTO(freetypeSetup); - - /* - * This is the module data function that is accessed when loading - * libfreetype as a module. - */ - -static XF86ModuleVersionInfo VersRec = -{ - "freetype", - MODULEVENDORSTRING " & the After X-TT Project", - MODINFOSTRING1, - MODINFOSTRING2, - XORG_VERSION_CURRENT, - 2, 1, 0, - ABI_CLASS_FONT, /* Font module */ - ABI_FONT_VERSION, - MOD_CLASS_FONT, - {0,0,0,0} /* signature, to be patched into the file by a tool */ -}; - -_X_EXPORT XF86ModuleData freetypeModuleData = { &VersRec, freetypeSetup, NULL }; - -extern void FreeTypeRegisterFontFileFunctions(void); - -static FontModule freetypeModule = { - FreeTypeRegisterFontFileFunctions, - "FreeType", - NULL -}; - -static pointer -freetypeSetup(pointer module, pointer opts, int *errmaj, int *errmin) -{ - freetypeModule.module = module; - LoadFont(&freetypeModule); - - /* Need a non-NULL return */ - return (pointer)1; -} diff --git a/xorg-server/hw/xfree86/dixmods/glxmodule.c b/xorg-server/hw/xfree86/dixmods/glxmodule.c index f6fda4b07..62a047e26 100644 --- a/xorg-server/hw/xfree86/dixmods/glxmodule.c +++ b/xorg-server/hw/xfree86/dixmods/glxmodule.c @@ -101,21 +101,6 @@ glxSetup(pointer module, pointer opts, int *errmaj, int *errmin) GlxPushProvider(provider); } - switch (xf86Info.glxVisuals) { - case XF86_GlxVisualsMinimal: - GlxSetVisualConfig(GLX_MINIMAL_VISUALS); - xf86Msg(xf86Info.aiglxFrom, "Exporting only minimal set of GLX visuals\n"); - break; - case XF86_GlxVisualsTypical: - GlxSetVisualConfig(GLX_TYPICAL_VISUALS); - xf86Msg(xf86Info.aiglxFrom, "Exporting typical set of GLX visuals\n"); - break; - case XF86_GlxVisualsAll: - GlxSetVisualConfig(GLX_ALL_VISUALS); - xf86Msg(xf86Info.aiglxFrom, "Exporting all GLX visuals\n"); - break; - } - LoadExtension(&GLXExt, FALSE); return module; diff --git a/xorg-server/hw/xfree86/dixmods/mfbmodule.c b/xorg-server/hw/xfree86/dixmods/mfbmodule.c deleted file mode 100644 index 91539d709..000000000 --- a/xorg-server/hw/xfree86/dixmods/mfbmodule.c +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright (C) 1998 The XFree86 Project, 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 - * 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. - */ - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include "xf86Module.h" - -static XF86ModuleVersionInfo VersRec = -{ - "mfb", - MODULEVENDORSTRING, - MODINFOSTRING1, - MODINFOSTRING2, - XORG_VERSION_CURRENT, - 1, 0, 0, - ABI_CLASS_ANSIC, /* Only need the ansic layer */ - ABI_ANSIC_VERSION, - MOD_CLASS_NONE, - {0,0,0,0} /* signature, to be patched into the file by a tool */ -}; - -_X_EXPORT XF86ModuleData mfbModuleData = { &VersRec, NULL, NULL }; diff --git a/xorg-server/hw/xfree86/dixmods/xf86XTrapModule.c b/xorg-server/hw/xfree86/dixmods/xf86XTrapModule.c deleted file mode 100644 index e89d7751d..000000000 --- a/xorg-server/hw/xfree86/dixmods/xf86XTrapModule.c +++ /dev/null @@ -1,45 +0,0 @@ -/* This is the xf86 module code for the DEC_XTRAP extension. */ - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#include "xf86Module.h" - -#include - -extern void DEC_XTRAPInit(INITARGS); - -static MODULESETUPPROTO(xtrapSetup); - -static ExtensionModule xtrapExt = -{ - DEC_XTRAPInit, - XTrapExtName, - NULL, - NULL, - NULL -}; - -static XF86ModuleVersionInfo xtrapVersRec = -{ - "xtrap", - MODULEVENDORSTRING, - MODINFOSTRING1, - MODINFOSTRING2, - XORG_VERSION_CURRENT, - 1, 0, 0, - ABI_CLASS_EXTENSION, /* needs the server extension ABI */ - ABI_EXTENSION_VERSION, - MOD_CLASS_EXTENSION, - {0,0,0,0} -}; - -_X_EXPORT XF86ModuleData xtrapModuleData = { &xtrapVersRec, xtrapSetup, NULL }; - -static pointer -xtrapSetup(pointer module, pointer opts, int *errmaj, int *errmin) { - LoadExtension(&xtrapExt, FALSE); - /* Need a non-NULL return value to indicate success */ - return (pointer)1; -} diff --git a/xorg-server/hw/xfree86/dixmods/xkbPrivate.c b/xorg-server/hw/xfree86/dixmods/xkbPrivate.c index e0cd21739..db21a4e17 100644 --- a/xorg-server/hw/xfree86/dixmods/xkbPrivate.c +++ b/xorg-server/hw/xfree86/dixmods/xkbPrivate.c @@ -14,6 +14,7 @@ #define XKBSRV_NEED_FILE_FUNCS #include +#include "os.h" #include "xf86.h" int @@ -29,12 +30,6 @@ XkbDDXPrivate(DeviceIntPtr dev,KeyCode key,XkbAction *act) xf86ProcessActionEvent(ACTION_PREV_MODE, NULL); else if (strcasecmp(msgbuf, "+vmode")==0) xf86ProcessActionEvent(ACTION_NEXT_MODE, NULL); - else if (strcasecmp(msgbuf, "ungrab")==0) - xf86ProcessActionEvent(ACTION_DISABLEGRAB, NULL); - else if (strcasecmp(msgbuf, "clsgrb")==0) - xf86ProcessActionEvent(ACTION_CLOSECLIENT, NULL); - else - xf86ProcessActionEvent(ACTION_MESSAGE, (void *) msgbuf); } return 0; diff --git a/xorg-server/hw/xfree86/doc/Makefile.am b/xorg-server/hw/xfree86/doc/Makefile.am index 6d8f4d213..5809fa05f 100644 --- a/xorg-server/hw/xfree86/doc/Makefile.am +++ b/xorg-server/hw/xfree86/doc/Makefile.am @@ -6,5 +6,4 @@ endif EXTRA_DIST = \ README.DRI \ - README.fonts \ README.rapidaccess diff --git a/xorg-server/hw/xfree86/doc/Makefile.in b/xorg-server/hw/xfree86/doc/Makefile.in index 434646e22..64e8d0a9e 100644 --- a/xorg-server/hw/xfree86/doc/Makefile.in +++ b/xorg-server/hw/xfree86/doc/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -42,7 +42,6 @@ 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 \ @@ -68,8 +67,9 @@ ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ -APPDEFAULTDIR = @APPDEFAULTDIR@ APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +APPLE_APPLICATION_ID = @APPLE_APPLICATION_ID@ +APPLE_APPLICATION_NAME = @APPLE_APPLICATION_NAME@ APP_MAN_DIR = @APP_MAN_DIR@ APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ AR = @AR@ @@ -90,10 +90,6 @@ 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@ @@ -115,6 +111,7 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOLT_BASH = @DOLT_BASH@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ @@ -124,18 +121,15 @@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ DSYMUTIL = @DSYMUTIL@ DTRACE = @DTRACE@ -ECHO = @ECHO@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ -FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ -FREETYPE_LIBS = @FREETYPE_LIBS@ GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ GLX_DEFINES = @GLX_DEFINES@ GL_CFLAGS = @GL_CFLAGS@ @@ -154,7 +148,7 @@ KDRIVE_LIBS = @KDRIVE_LIBS@ KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ -LAUNCHD = @LAUNCHD@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ LEX = @LEX@ @@ -168,7 +162,10 @@ LIBTOOL = @LIBTOOL@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LINUXDOC = @LINUXDOC@ +LIPO = @LIPO@ LN_S = @LN_S@ +LTCOMPILE = @LTCOMPILE@ +LTCXXCOMPILE = @LTCXXCOMPILE@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ @@ -180,8 +177,7 @@ MESA_SOURCE = @MESA_SOURCE@ MISC_MAN_DIR = @MISC_MAN_DIR@ MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ MKDIR_P = @MKDIR_P@ -MKFONTDIR = @MKFONTDIR@ -MKFONTSCALE = @MKFONTSCALE@ +NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCCLD = @OBJCCLD@ @@ -190,8 +186,8 @@ OBJCFLAGS = @OBJCFLAGS@ OBJCLINK = @OBJCLINK@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ @@ -224,7 +220,6 @@ VENDOR_NAME = @VENDOR_NAME@ VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ VENDOR_RELEASE = @VENDOR_RELEASE@ VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ XDMCP_CFLAGS = @XDMCP_CFLAGS@ @@ -234,27 +229,12 @@ XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@ XDMX_CFLAGS = @XDMX_CFLAGS@ XDMX_LIBS = @XDMX_LIBS@ XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ XEPHYR_INCS = @XEPHYR_INCS@ XEPHYR_LIBS = @XEPHYR_LIBS@ 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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ @@ -265,10 +245,6 @@ XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ XNEST_LIBS = @XNEST_LIBS@ XNEST_SYS_LIBS = @XNEST_SYS_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_INCS = @XORG_INCS@ XORG_LIBS = @XORG_LIBS@ @@ -277,13 +253,8 @@ XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ XORG_OS = @XORG_OS@ XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_LIBS@ +XPBPROXY_CFLAGS = @XPBPROXY_CFLAGS@ +XPBPROXY_LIBS = @XPBPROXY_LIBS@ XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ XSDL_INCS = @XSDL_INCS@ @@ -316,8 +287,7 @@ 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@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -337,7 +307,6 @@ driverdir = @driverdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ extdir = @extdir@ -ft_config = @ft_config@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ @@ -347,12 +316,12 @@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ -launchagentsdir = @launchagentsdir@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ logdir = @logdir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ moduledir = @moduledir@ @@ -370,13 +339,10 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ @BUILDDOCS_FALSE@SUBDIRS = man @BUILDDOCS_TRUE@SUBDIRS = devel man sgml EXTRA_DIST = \ README.DRI \ - README.fonts \ README.rapidaccess all: all-recursive @@ -386,8 +352,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ @@ -493,7 +459,7 @@ ID: $(HEADERS) $(SOURCES) $(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; nonemtpy = 1; } \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS diff --git a/xorg-server/hw/xfree86/doc/README.fonts b/xorg-server/hw/xfree86/doc/README.fonts deleted file mode 100644 index 0ad2b49d0..000000000 --- a/xorg-server/hw/xfree86/doc/README.fonts +++ /dev/null @@ -1,1158 +0,0 @@ - Fonts in X11R6.9 - - Juliusz Chroboczek, - - 25 March 2004 - -1. Introduction - -This document describes the support for fonts in X11R6.9. Installing fonts -(section 2., page 1) is aimed at the casual user wishing to install fonts in -X11R6.9 the rest of the document describes the font support in more detail. - -We assume some familiarity with digital fonts. If anything is not clear to -you, please consult Appendix: Background (section 5., page 1) at the end of -this document for background information. - -1.1 Two font systems - -X includes two font systems: the original core X11 fonts system, which is -present in all implementations of X11, and the Xft fonts system, which may -not be distributed with implementations of X11 that are not based on X11R6.9 -but will hopefully be included by them in the future - -The core X11 fonts system is directly derived from the fonts system included -with X11R1 in 1987, which could only use monochrome bitmap fonts. Over the -years, it has been more or less happily coerced into dealing with scalable -fonts and rotated glyphs. - -Xft was designed from the start to provide good support for scalable fonts, -and do so efficiently. Unlike the core fonts system, it supports features -such as anti-aliasing and sub-pixel rasterisation. Perhaps more importantly, -it gives applications full control over the way glyphs are rendered, making -fine typesetting and WYSIWIG display possible. Finally, it allows applica- -tions to use fonts that are not installed system-wide for displaying docu- -ments with embedded fonts. - -Xft is not compatible with the core fonts system: usage of Xft requires mak- -ing fairly extensive changes to toolkits (user-interface libraries). While -X.org will continue to maintain the core fonts system, toolkit authors are -encouraged to switch to Xft as soon as possible. - -2. Installing fonts - -This section explains how to configure both Xft and the core fonts system to -access newly-installed fonts. - -2.1 Configuring Xft - -Xft has no configuration mechanism itself, rather it relies upon the fontcon- -fig library to configure and customize fonts. That library is not specific -to X11R6.9 or indeed on any particular font output mechanism. This discus- -sion describes how fontconfig, rather than Xft, works. - -2.1.1 Installing fonts in Xft - -Fontconfig looks for fonts in a set of well-known directories that include -all of X11R6.9's standard font directories (`/usr/X11R6/lib/X11/lib/fonts/*') -by default) as well as a directory called `.fonts/' in the user's home direc- -tory. Installing a font for use by Xft applications is as simple as copying -a font file into one of these directories. - - $ cp lucbr.ttf ~/.fonts/ - -Fontconfig will notice the new font at the next opportunity and rebuild its -list of fonts. If you want to trigger this update from the command line (for -example in order to globally update the system-wide Fontconfig information), -you may run the command `fc-cache'. - - $ fc-cache - -2.1.2 Fine-tuning Xft - -Fontconfig's behaviour is controlled by a set of configuration files: a sys- -tem-wide configuration file, `/etc/fonts/fonts.conf', and a user-specific -file called `.fonts.conf' in the user's home directory (this can be overrid- -den with the `FONTCONFIG_FILE' environment variable). - -Every Fontconfig configuration file must start with the following boiler- -plate: - - - - - -In addition, every Fontconfig configuration file must end with the following -line: - - - -The default Fontconfig configuration file includes the directory `~/.fonts/' -in the list of directories searched for font files, and this is where user- -specific font files should be installed. In the unlikely case that a new -font directory needs to be added, this can be done with the following syntax: - - /usr/local/share/fonts/ - -Another useful option is the ability to disable anti-aliasing (font smooth- -ing) for selected fonts. This can be done with the following syntax: - - - - Lucida Console - - - false - - - -Anti-aliasing can be disabled for all fonts by the following incantation: - - - - false - - - -Xft supports sub-pixel rasterisation on LCD displays. X11R6.9 should auto- -matically enable this feature on laptops and when using an LCD monitor con- -nected with a DVI cable; you can check whether this was done by typing - - $ xdpyinfo -ext RENDER | grep sub-pixel - -If this doesn't print anything, you will need to configure Render for your -particular LCD hardware manually; this is done with the following syntax: - - - - rgb - - - -The string `rgb' within the `'...`' specifies the order of -pixel components on your display, and should be changed to match your hard- -ware; it can be one of `rgb (normal LCD screen), `bgr' (backwards LCD -screen), `vrgb' (LCD screen rotated clockwise) or `vbgr' (LCD screen rotated -counterclockwise). - -2.1.3 Configuring applications - -Because most current applications use the core fonts system by default, it is -necessary to explicitly configure them to use Xft. How this is done depends -on the application. - -XTerm can be set to use Xft by using the `-fa' command line option or by set- -ting the `XTerm*faceName' resource: - - XTerm*faceName: Courier - -or - - $ xterm -fa "Courier" - -For applications based on GTK+ 2.0 (including GNOME 2 applications), the -environment variable `GDK_USE_XFT' should be set to `1': - - $ export GDK_USE_XFT=1 - -GTK+ 2.2 uses Xft by default. - -For KDE applications, you should select ``Anti-alias fonts'' in the ``Fonts'' -panel of KDE's ``Control Center''. Note that this option is misnamed: it -switches KDE to using Xft but doesn't enable anti-aliasing in case it was -disabled by your Xft configuration file. - -(What about Mozilla?) - -2.1.4 Troubleshooting - -If some Xft-based applications don't seem to notice the changes you are mak- -ing to your configuration files, they may be linked against an old version of -Xft. In order to fix the problem, you should relink them against a current -version of Xft; on most systems, it is enough to install the current version -of the Xft and Fontconfig libraries. - -If, for some reason, you cannot upgrade the shared libraries, please check -the Xft(3) manual page included with XFree86 4.2 for the configuration mecha- -nisms of the previous version of Xft. - -2.2 Configuring the core X11 fonts system - -Installing fonts in the core system is a two step process. First, you need -to create a font directory that contains all the relevant font files as well -as some index files. You then need to inform the X server of the existence -of this new directory by including it in the font path. - -2.2.1 Installing bitmap fonts - -The X11R6.9 server can use bitmap fonts in both the cross-platform BDF format -and the somewhat more efficient binary PCF format. (X11R6.9 also supports -the obsolete SNF format.) - -Bitmap fonts are normally distributed in the BDF format. Before installing -such fonts, it is desirable (but not absolutely necessary) to convert the -font files to the PCF format. This is done by using the command `bdftopcf', -e.g. - - $ bdftopcf courier12.bdf - -You will then want to compress the resulting PCF font files: - - $ gzip courier12.pcf - -After the fonts have been converted, you should copy all the font files that -you wish to make available into a arbitrary directory, say -`/usr/local/share/fonts/bitmap/'. You should then create the index file -`fonts.dir' by running the command `mkfontdir' (please see the mkfontdir(1) -manual page for more information): - - $ mkdir /usr/local/share/fonts/bitmap/ - $ cp *.pcf.gz /usr/local/share/fonts/bitmap/ - $ mkfontdir /usr/local/share/fonts/bitmap/ - -All that remains is to tell the X server about the existence of the new font -directory; see Setting the server font path (section 2.2.4, page 1) below. - -2.2.2 Installing scalable fonts - -The X11R6.9 server supports scalable fonts in three formats: Type 1, TrueType -and CIDFont. This section only applies to the first two; for information on -CIDFonts, please see Installing CIDFonts (section 2.2.3, page 1) later in -this document. Previous versions also included support for the Speedo scal- -able font format, but that is disabled in the default builds of X11R6.9 and -not included in X11R7.0 and later releases. - -Installing scalable fonts is very similar to installing bitmap fonts: you -create a directory with the font files, and run `mkfontdir' to create an -index file called `fonts.dir'. - -There is, however, a big difference: `mkfontdir' cannot automatically recog- -nise scalable font files. For that reason, you must first index all the font -files in a file called `fonts.scale'. While this can be done by hand, it is -best done by using the `mkfontscale' utility. - - $ mkfontscale /usr/local/share/fonts/Type1/ - $ mkfontdir /usr/local/share/fonts/Type1/ - -Under some circumstances, it may be necessary to modify the `fonts.scale' -file generated by mkfontscale; for more information, please see the mkfont- -dir(1) and mkfontscale(1) manual pages and Core fonts and internationalisa- -tion (section 4.1, page 1) later in this document. - -2.2.3 Installing CID-keyed fonts - -The CID-keyed font format was designed by Adobe Systems for fonts with large -character sets. A CID-keyed font, or CIDFont for short, contains a collec- -tion of glyphs indexed by character ID (CID). - -In order to map such glyphs to meaningful indices, Adobe provide a set of -CMap files. The PostScript name of a font generated from a CIDFont consists -of the name of the CIDFont and the name of the CMap separated by two dashes. -For example, the font generated from the CIDFont `Munhwa-Regular' using the -CMap `UniKS-UCS2-H' is called - - Munhwa-Regular--UniKS-UCS2-H - -The CIDFont code in X11R6.9 requires a very rigid directory structure. The -main directory must be called `CID' (its location defaults to -`/usr/X11R6/lib/X11/fonts/CID' but it may be located anywhere), and it should -contain a subdirectory for every CID collection. Every subdirectory must -contain subdirectories called CIDFont (containing the actual CIDFont files), -CMap (containing all the needed CMaps), AFM (containing the font metric -files) and CFM (initially empty). For example, in the case of the font -Munhwa-Regular that uses the CID collection Adobe-Korea1-0, the directory -structure should be as follows: - - CID/Adobe-Korea1/CIDFont/Munhwa-Regular - CID/Adobe-Korea1/CMap/UniKS-UCS2-H - CID/Adobe-Korea1/AFM/Munhwa-Regular.afm - CID/Adobe-Korea1/CFM/ - CID/fonts.dir - CID/fonts.scale - -After creating this directory structure and copying the relevant files, you -should create a `fonts.scale' file. This file has the same format as in the -case of (non-CID) scalable fonts, except that its first column contains -PostScript font names with the extension `.cid' appended rather than actual -filenames: - - 1 - Adobe-Korea1/Munhwa-Regular--UniKS-UCS2-H.cid \ - -adobe-munhwa-medium-r-normal--0-0-0-0-p-0-iso10646-1 - -(both names on the same line). Running `mkfontdir' creates the `fonts.dir' -file: - - $ cd /usr/local/share/fonts/CID - $ mkfontdir - -Finally, you should create the font metrics summary files in the directory -`CFM' by running the command `mkcfm': - - $ mkcfm /usr/local/share/fonts/CID - -If no CFM files are available, the server will still be able to use the CID -fonts but querying them will take a long time. You should run `mkcfm' again -whenever a change is made to any of the CID-keyed fonts, or when the CID- -keyed fonts are copied to a machine with a different architecture. - -2.2.4 Setting the server's font path - -The list of directories where the server looks for fonts is known as the font -path. Informing the server of the existence of a new font directory consists -of putting it on the font path. - -The font path is an ordered list; if a client's request matches multiple -fonts, the first one in the font path is the one that gets used. When match- -ing fonts, the server makes two passes over the font path: during the first -pass, it searches for an exact match; during the second, it searches for -fonts suitable for scaling. - -For best results, scalable fonts should appear in the font path before the -bitmap fonts; this way, the server will prefer bitmap fonts to scalable fonts -when an exact match is possible, but will avoid scaling bitmap fonts when a -scalable font can be used. (The `:unscaled' hack, while still supported, -should no longer be necessary in X11R6.9.) - -You may check the font path of the running server by typing the command - - $ xset q - -2.2.4.1 Temporary modification of the font path - -The `xset' utility may be used to modify the font path for the current ses- -sion. The font path is set with the command xset fp; a new element is added -to the front with xset +fp, and added to the end with xset fp+. For example, - - $ xset +fp /usr/local/fonts/Type1 - $ xset fp+ /usr/local/fonts/bitmap - -Conversely, an element may be removed from the front of the font path with -`xset -fp', and removed from the end with `xset fp-'. You may reset the font -path to its default value with `xset fp default'. - -For more information, please consult the xset(1) manual page. - -2.2.4.2 Permanent modification of the font path - -The default font path (the one used just after server startup or after `xset -fp default') is specified in the X server's `xorg.conf' file. It is computed -by appending all the directories mentioned in the `FontPath' entries of the -`Files' section in the order in which they appear. - - FontPath "/usr/local/fonts/Type1" - ... - FontPath "/usr/local/fonts/bitmap" - -For more information, please consult the xorg.conf(5) manual page. - -2.2.5 Troubleshooting - -If you seem to be unable to use some of the fonts you have installed, the -first thing to check is that the `fonts.dir' files are correct and that they -are readable by the server (the X server usually runs as root, beware of NFS- -mounted font directories). If this doesn't help, it is quite possible that -you are trying to use a font in a format that is not supported by your -server. - -X11R6.9 supports the BDF, PCF, SNF, Type 1, TrueType, OpenType and CIDFont -font formats. However, not all X11R6.9 servers come with all the font back- -ends configured in. - -On most platforms, the X11R6.9 servers are modular: the font backends are -included in modules that are loaded at runtime. The modules to be loaded are -specified in the `xorg.conf' file using the `Load' directive: - - Load "type1" - -If you have trouble installing fonts in a specific format, you may want to -check the server's log file in order to see whether the relevant modules are -properly loaded. The list of font modules distributed with X11R6.9 is as -follows: - - o "bitmap": bitmap fonts (`*.bdf', `*.pcf' and `*.snf'); - - o "freetype": TrueType fonts (`*.ttf' and `*.ttc'), OpenType fonts - (`*.otf' and `*.otc') and Type 1 fonts (`*.pfa' and `*.pfb'); - - o "type1": alternate Type 1 backend (`*.pfa' and `*.pfb') and CIDFont - backend; - - o "xtt": alternate TrueType backend (`*.ttf' and `*.ttc'). - -Please note that the argument of the `Load' directive is case-sensitive. - -3. Fonts included with X11R6.9 - -3.1 Standard bitmap fonts - -The Sample Implementation of X11 (SI) comes with a large number of bitmap -fonts, including the `fixed' family, and bitmap versions of Courier, Times, -Helvetica and some members of the Lucida family. In the SI, these fonts are -provided in the ISO 8859-1 encoding (ISO Latin Western-European). - -In X11R6.9, a number of these fonts are provided in Unicode-encoded font -files instead. At build time, these fonts are split into font files encoded -according to legacy encodings, a process which allows us to provide the stan- -dard fonts in a number of regional encodings with no duplication of work. - -For example, the font file - - /usr/X11R6/lib/X11/fonts/misc/6x13.bdf - -with XLFD - - -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso10646-1 - -is a Unicode-encoded version of the standard `fixed' font with added support -for the Latin, Greek, Cyrillic, Georgian, Armenian, IPA and other scripts -plus numerous technical symbols. It contains over 2800 glyphs, covering all -characters of ISO 8859 parts 1-5, 7-10, 13-15, as well as all European IBM -and Microsoft code pages, KOI8, WGL4, and the repertoires of many other char- -acter sets. - -This font is used at build time for generating the font files - - 6x13-ISO8859-1.bdf - 6x13-ISO8859-2.bdf - ... - 6x13-ISO8859-15.bdf - 6x13-KOI8-R.bdf - -with respective XLFDs - - -misc-fixed-medium-r-normal--13-120-75-75-c-60-iso8859-1 - ... - -misc-fixed-medium-r-normal--13-120-75-75-c-60-iso8859-15 - -misc-fixed-medium-r-normal--13-120-75-75-c-60-koi8-r - -The standard short name `fixed' is normally an alias for - - -misc-fixed-medium-r-normal--13-120-75-75-c-60-iso8859-1 - -3.2 The ClearlyU Unicode font family - -The ClearlyU family of fonts provides a set of 12 pt, 100 dpi proportional -fonts with many of the glyphs needed for Unicode text. Together, the fonts -contain approximately 7500 glyphs. - -The main ClearlyU font has the XLFD - - -mutt-clearlyu-medium-r-normal--17-120-100-100-p-101-iso10646-1 - -and resides in the font file - - /usr/X11R6/lib/X11/fonts/misc/cu12.pcf.gz - -Additional ClearlyU fonts include - - -mutt-clearlyu alternate glyphs-medium-r-normal--17-120-100-100-p-91-iso10646-1 - -mutt-clearlyu pua-medium-r-normal--17-120-100-100-p-111-iso10646-1 - -mutt-clearlyu arabic extra-medium-r-normal--17-120-100-100-p-103-fontspecific-0 - -mutt-clearlyu ligature-medium-r-normal--17-120-100-100-p-141-fontspecific-0 - -The Alternate Glyphs font contains additional glyph shapes that are needed -for certain languages. A second alternate glyph font will be provided later -for cases where a character has more than one commonly used alternate shape -(e.g. the Urdu heh). - -The PUA font contains extra glyphs that are useful for certain rendering pur- -poses. - -The Arabic Extra font contains the glyphs necessary for characters that don't -have all of their possible shapes encoded in ISO 10646. The glyphs are -roughly ordered according to the order of the characters in the ISO 10646 -standard. - -The Ligature font contains ligatures for various scripts that may be useful -for improved presentation of text. - -3.3 Standard scalable fonts - -X11R6.9 includes all the scalable fonts distributed with X11R6. - -3.3.1 Standard Type 1 fonts - -The IBM Courier set of fonts cover ISO 8859-1 and ISO 8859-2 as well as Adobe -Standard Encoding. These fonts have XLFD - - -adobe-courier-medium-*-*--0-0-0-0-m-0-*-* - -and reside in the font files - - /usr/X11R6/lib/X11/fonts/Type1/cour*.pfa - -The Adobe Utopia set of fonts only cover ISO 8859-1 as well as Adobe Standard -Encoding. These fonts have XLFD - - -adobe-utopia-*-*-normal--0-0-0-0-p-0-iso8859-1 - -and reside in the font files - - /usr/X11R6/lib/X11/fonts/Type1/UT*.pfa - -Finally, X11R6.9 also comes with Type 1 versions of Bitstream Courier and -Charter. These fonts have XLFD - - -bitstream-courier-*-*-normal--0-0-0-0-m-0-iso8859-1 - -bitstream-charter-*-*-normal--0-0-0-0-p-0-iso8859-1 - -and reside in the font files - - /usr/X11R6/lib/X11/fonts/Type1/c*bt_.pfb - -3.4 The Bigelow & Holmes Luxi family - -X11R6.9 includes the Luxi family of scalable fonts, in both TrueType and -Type 1 format. This family consists of the fonts Luxi Serif, with XLFD - - -b&h-luxi serif-medium-*-normal--*-*-*-*-p-*-*-* - -Luxi Sans, with XLFD - - -b&h-luxi sans-medium-*-normal--*-*-*-*-p-*-*-* - -and Luxi Mono, with XLFD - - -b&h-luxi mono-medium-*-normal--*-*-*-*-m-*-*-* - -Each of these fonts comes Roman, oblique, bold and bold oblique variants The -TrueType version have glyphs covering the basic ASCII Unicode range, the -Latin 1 range, as well as the Extended Latin range and some additional punc- -tuation characters. In particular, these fonts include all the glyphs needed -for ISO 8859 parts 1, 2, 3, 4, 9, 13 and 15, as well as all the glyphs in the -Adobe Standard encoding and the Windows 3.1 character set. - -The glyph coverage of the Type 1 versions is somewhat reduced, and only cov- -ers ISO 8859 parts 1, 2 and 15 as well as the Adobe Standard encoding. - -The Luxi fonts are original designs by Kris Holmes and Charles Bigelow. Luxi -fonts include seriffed, sans serif, and monospaced styles, in roman and -oblique, and normal and bold weights. The fonts share stem weight, x-height, -capital height, ascent and descent, for graphical harmony. - -The character width metrics of Luxi roman and bold fonts match those of core -fonts bundled with popular operating and window systems. - -The license terms for the Luxi fonts are included in the file `COPYRIGHT.BH', -as well as in the License document. - -Charles Bigelow and Kris Holmes from Bigelow and Holmes Inc. developed the -Luxi typeface designs in Ikarus digital format. - -URW++ Design and Development GmbH converted the Ikarus format fonts to True- -Type and Type1 font programs and implemented the grid-fitting "hints" and -kerning tables in the Luxi fonts. - -For more information, please contact or -, or consult the URW++ web site . - -An earlier version of the Luxi fonts was made available under the name -Lucidux. This name should no longer be used due to trademark uncertainties, -and all traces of the Lucidux name have been removed from X11R6.9. - -4. More about core fonts - -This section describes X11R6.9-specific enhancements to the core X11 fonts -system. - -4.1 Core fonts and internationalisation - -The scalable font backends (Type 1 and TrueType) can automatically re-encode -fonts to the encoding specified in the XLFD in `fonts.dir'. For example, a -`fonts.dir' file can contain entries for the Type 1 Courier font such as - - cour.pfa -adobe-courier-medium-r-normal--0-0-0-0-m-0-iso8859-1 - cour.pfa -adobe-courier-medium-r-normal--0-0-0-0-m-0-iso8859-2 - -which will lead to the font being recoded to ISO 8859-1 and ISO 8859-2 -respectively. - -4.1.1 The fontenc layer - -Two of the scalable backends (Type 1 and the FreeType TrueType backend) use a -common fontenc layer for font re-encoding. This allows these backends to -share their encoding data, and allows simple configuration of new locales -independently of font type. - -Please note: the X-TrueType (X-TT) backend is not included in X11R6.9. That -functionality has been merged into the FreeType backend.> - -In the fontenc layer, an encoding is defined by a name (such as iso8859-1), -possibly a number of aliases (alternate names), and an ordered collection of -mappings. A mapping defines the way the encoding can be mapped into one of -the target encodings known to fontenc; currently, these consist of Unicode, -Adobe glyph names, and arbitrary TrueType ``cmap''s. - -A number of encodings are hardwired into fontenc, and are therefore always -available; the hardcoded encodings cannot easily be redefined. These -include: - - o iso10646-1: Unicode; - - o iso8859-1: ISO Latin-1 (Western Europe); - - o iso8859-2: ISO Latin-2 (Eastern Europe); - - o iso8859-3: ISO Latin-3 (Southern Europe); - - o iso8859-4: ISO Latin-4 (Northern Europe); - - o iso8859-5: ISO Cyrillic; - - o iso8859-6: ISO Arabic; - - o iso8859-7: ISO Greek; - - o iso8859-8: ISO Hebrew; - - o iso8859-9: ISO Latin-5 (Turkish); - - o iso8859-10: ISO Latin-6 (Nordic); - - o iso8859-15: ISO Latin-9, or Latin-0 (Revised Western-European); - - o koi8-r: KOI8 Russian; - - o koi8-u: KOI8 Ukrainian (see RFC 2319); - - o koi8-ru: KOI8 Russian/Ukrainian; - - o koi8-uni: KOI8 ``Unified'' (Russian, Ukrainian, and Byelorussian); - - o koi8-e: KOI8 ``European,'' ISO-IR-111, or ECMA-Cyrillic; - - o microsoft-symbol and apple-roman: these are only likely to be useful - with TrueType symbol fonts. - -Additional encodings can be added by defining encoding files. When a font -encoding is requested that the fontenc layer doesn't know about, the backend -checks the directory in which the font file resides (not necessarily the -directory with fonts.dir!) for a file named `encodings.dir'. If found, this -file is scanned for the requested encoding, and the relevant encoding defini- -tion file is read in. The `mkfontdir' utility, when invoked with the `-e' -option followed by the name of a directory containing encoding files, can be -used to automatically build `encodings.dir' files. Please see the mkfont- -dir(1) manual page for more details. - -A number of encoding files for common encodings are included with X11R6.9. -Information on writing new encoding files can be found in Format of encodings -directory files (section 4.1.3, page 1) and Format of encoding files (section -4.1.4, page 1) later in this document. - -4.1.2 Backend-specific notes about fontenc - -4.1.2.1 The FreeType backend - -For TrueType and OpenType fonts, the FreeType backend scans the mappings in -order. Mappings with a target of PostScript are ignored; mappings with a -TrueType or Unicode target are checked against all the cmaps in the file. -The first applicable mapping is used. - -For Type 1 fonts, the FreeType backend first searches for a mapping with a -target of PostScript. If one is found, it is used. Otherwise, the backend -searches for a mapping with target Unicode, which is then composed with a -built-in table mapping codes to glyph names. Note that this table only cov- -ers part of the Unicode code points that have been assigned names by Adobe. - -Specifying an encoding value of adobe-fontspecific for a Type 1 font disables -the encoding mechanism. This is useful with symbol and incorrectly encoded -fonts (see Incorrectly encoded fonts (section 4.1.6, page 1) below). - -If a suitable mapping is not found, the FreeType backend defaults to -ISO 8859-1. - -4.1.2.2 Type 1 - -The Type 1 backend behaves similarly to the FreeType backend with Type 1 -fonts, except that it limits all encodings to 8-bit codes. - -4.1.3 Format of encoding directory files - -In order to use a font in an encoding that the font backend does not know -about, you need to have an `encodings.dir' file either in the same directory -as the font file used or in a system-wide location -(`/usr/X11R6/lib/X11/fonts/encodings/' by default). - -The `encodings.dir' file has a similar format to `fonts.dir'. Its first line -specifies the number of encodings, while every successive line has two -columns, the name of the encoding, and the name of the encoding file; this -can be relative to the current directory, or absolute. Every encoding name -should agree with the encoding name defined in the encoding file. For exam- -ple, - - 3 - mulearabic-0 /usr/X11R6/lib/X11/fonts/encodings/mulearabic-0.enc - mulearabic-1 /usr/X11R6/lib/X11/fonts/encodings/mulearabic-1.enc - mulearabic-2 /usr/X11R6/lib/X11/fonts/encodings/mulearabic-2.enc - -The name of an encoding must be specified in the encoding file's `STARTENCOD- -ING' or `ALIAS' line. It is not enough to create an `encodings.dir' entry. - -If your platform supports it (it probably does), encoding files may be com- -pressed or gzipped. - -The `encoding.dir' files are best maintained by the `mkfontdir' utility. -Please see the mkfontdir(1) manual page for more information. - -4.1.4 Format of encoding files - -The encoding files are ``free form,'' i.e. any string of whitespace is equiv- -alent to a single space. Keywords are parsed in a non-case-sensitive manner, -meaning that `size', `SIZE', and `SiZE' all parse as the same keyword; on the -other hand, case is significant in glyph names. - -Numbers can be written in decimal, as in `256', in hexadecimal, as in -`0x100', or in octal, as in `0400'. - -Comments are introduced by a hash sign `#'. A `#' may appear at any point in -a line, and all characters following the `#' are ignored, up to the end of -the line. - -The encoding file starts with the definition of the name of the encoding, and -possibly its alternate names (aliases): - - STARTENCODING mulearabic-0 - ALIAS arabic-0 - -The name of the encoding and its aliases should be suitable for use in an -XLFD font name, and therefore contain exactly one dash `-'. - -The encoding file may then optionally declare the size of the encoding. For -a linear encoding (such as ISO 8859-1), the SIZE line specifies the maximum -code plus one: - - SIZE 0x2B - -For a matrix encoding, it should specify two numbers. The first is the num- -ber of the last row plus one, the other, the highest column number plus one. -In the case of `jisx0208.1990-0' (JIS X 0208(1990), double-byte encoding, -high bit clear), it should be - - SIZE 0x75 0x80 - -In the case of a matrix encoding, a `FIRSTINDEX' line may be included to -specify the minimum glyph index in an encoding. The keyword `FIRSTINDEX' is -followed by two integers, the minimum row number followed by the minimum col- -umn number: - - FIRSTINDEX 0x20 0x20 - -In the case of a linear encoding, a `FIRSTINDEX' line is not very useful. If -for some reason however you chose to include on, it should be followed by a -single integer. - -Note that in most font backends inclusion of a `FIRSTINDEX' line has the side -effect of disabling default glyph generation, and this keyword should there- -fore be avoided unless absolutely necessary. - -Codes outside the region defined by the `SIZE' and `FIRSTINDEX' lines are -understood to be undefined. Encodings default to linear encoding with a size -of 256 (0x100). This means that you must declare the size of all 16 bit -encodings. - -What follows is one or more mapping sections. A mapping section starts with -a `STARTMAPPING' line stating the target of the mapping. The target may be -one of: - - o Unicode (ISO 10646): - - STARTMAPPING unicode - - o a given TrueType ``cmap'': - - STARTMAPPING cmap 3 1 - - o PostScript glyph names: - - STARTMAPPING postscript - -Every line in a mapping section maps one from the encoding being defined to -the target of the mapping. In mappings with a Unicode or TrueType mapping, -codes are mapped to codes: - - 0x21 0x0660 - 0x22 0x0661 - ... - -As an abbreviation, it is possible to map a contiguous range of codes in a -single line. A line consisting of three integers - - ) and has the X-TT functionalities for CJKV -support provided by the After X-TT Project (see the After X-TT Project web -site ). The FreeType module has support for -the ``fontenc'' style of internationalisation (see The fontenc layer (section -4.1.1, page 1)). This backend supports TrueType font files (`*.ttf'), Open- -Type font files (`*.otf'), TrueType Collections (`*.ttc'), OpenType Collec- -tions (`*.otc') and Type 1 font files (`*.pfa' and `*.pfb'). - -In order to access the faces in a TrueType Collection file, the face number -must be specified in the fonts.dir file before the filename, within a pair of -colons, or by setting the 'fn' TTCap option. For example, - - :1:mincho.ttc -misc-pmincho-medium-r-normal--0-0-0-0-p-0-jisx0208.1990-0 - -refers to face 1 in the `mincho.ttc' TrueType Collection file. - -The new FreeType backend supports the extended `fonts.dir' syntax introduced -by X-TrueType with a number of options, collectively known as `TTCap'. A -`TTCap' entry follows the general syntax - - option=value: - -and should be specified before the filename. The new FreeType almost per- -fectly supports TTCap options that are compatible with X-TT 1.4. The Auto- -matic Italic (`ai'), Double Strike (`ds') and Bounding box Width (`bw') -options are indispensable in CJKV. For example, - - mincho.ttc -misc-mincho-medium-r-normal--0-0-0-0-c-0-jisx0208.1990-0 - ds=y:mincho.ttc -misc-mincho-bold-r-normal--0-0-0-0-c-0-jisx0208.1990-0 - ai=0.2:mincho.ttc -misc-mincho-medium-i-normal--0-0-0-0-c-0-jisx0208.1990-0 - ds=y:ai=0.2:mincho.ttc -misc-mincho-bold-i-normal--0-0-0-0-c-0-jisx0208.1990-0 - bw=0.5:mincho.ttc -misc-mincho-medium-r-normal--0-0-0-0-c-0-jisx0201.1976-0 - bw=0.5:ds=y:mincho.ttc -misc-mincho-bold-r-normal--0-0-0-0-c-0-jisx0201.1976-0 - bw=0.5:ai=0.2:mincho.ttc -misc-mincho-medium-i-normal--0-0-0-0-c-0-jisx0201.1976-0 - bw=0.5:ds=y:ai=0.2:mincho.ttc -misc-mincho-bold-i-normal--0-0-0-0-c-0-jisx0201.1976-0 - -setup the complete combination of jisx0208 and jisx0201 using mincho.ttc -only. More information on the TTCap syntax is found on the After X-TT Pro- -ject page . - -The FreeType backend uses the fontenc layer in order to support recoding of -fonts; this was described in The fontenc layer (section 4.1.1, page 1) and -especially FreeType-specific notes about fontenc (section 4.1.2.1, page 1) -earlier in this document. - -4.2.2 About the X-TrueType TrueType backend - -The `X-TrueType' backend is a backend based on version 1 of the FreeType -library. X-TrueType doesn't use the `fontenc' layer for managing font encod- -ings, but instead uses its own database of encodings. - -Since the functionalities for CJKV support introduced by X-TT have been -merged into the new FreeType backend, the X-TT backend will be removed from -X11R6.9's tree near the future. Therefore, the use of FreeType backend is -preferred over the X-TT backend. - -General information on X-TrueType may be found at the After X-TT Project page -. - -4.2.3 Delayed glyph rasterisation - -When loading a proportional fonts which contain a huge number of glyphs, the -old FreeType delayed glyph rasterisation until the time at which the glyph -was first used. The new FreeType (libfreetype-xtt2) has an improved `very -lazy' metric calculation method to speed up the process when loading TrueType -or OpenType fonts. Although the X-TT module also has this method, the -"vl=y" TTCap option must be set if you want to use it. This is the default -method for FreeType when it loads multi-byte fonts. Even if you use a uni- -code font which has tens of thousands of glyphs, this delay will not be wor- -risome as long as you use the new FreeType backend -- its `very lazy' method -is super-fast. - -The maximum error of bitmap position using `very lazy' method is 1 pixel, and -is the same as that of a character-cell spacing. When the X-TT backend is -used with the `vl=y' option, a chipped bitmap is displayed with certain -fonts. However, the new FreeType backend has minimal problem with this, -since it corrects left- and right-side bearings using `italicAngle' in the -TrueType/OpenType post table, and does automatic correction of bitmap posi- -tions when rasterisation so that chipped bitmaps are not displayed. Never- -theless if you don't want to use the `very lazy' method when using multi- -bytes fonts, set `vl=n' in the TTCap option to disable it: - - vl=n:luxirr.ttf -b&h-Luxi Serif-medium-r-normal--0-0-0-0-p-0-iso10646-1 - -Of course, both backends also support an optimisation for character-cell -fonts (fonts with all glyph metrics equal, or terminal fonts). A font with -an XLFD specifying a character-cell spacing `c', as in - - -misc-mincho-medium-r-normal--0-0-0-0-c-0-jisx0208.1990-0 - -or - - fs=c:mincho.ttc -misc-mincho-medium-r-normal--0-0-0-0-p-0-jisx0208.1990-0 - -will not compute the metric for each glyph, but instead trust the font to be -a character-cell font. You are encouraged to make use of this optimisation -when useful, but be warned that not all monospaced fonts are character-cell -fonts. - -5. Appendix: background and terminology - -5.1 Characters and glyphs - -A computer text-processing system inputs keystrokes and outputs glyphs, small -pictures that are assembled on paper or on a computer screen. Keystrokes and -glyphs do not, in general, coincide: for example, if the system does generate -ligatures, then to the sequence of two keystrokes will typically cor- -respond a single glyph. Similarly, if the system shapes Arabic glyphs in a -vaguely reasonable manner, then multiple different glyphs may correspond to a -single keystroke. - -The complex transformation rules from keystrokes to glyphs are usually fac- -tored into two simpler transformations, from keystrokes to characters and -from characters to glyphs. You may want to think of characters as the basic -unit of text that is stored e.g. in the buffer of your text editor. While -the definition of a character is intrinsically application-specific, a number -of standardised collections of characters have been defined. - -A coded character set is a set of characters together with a mapping from -integer codes --- known as codepoints --- to characters. Examples of coded -character sets include US-ASCII, ISO 8859-1, KOI8-R, and JIS X 0208(1990). - -A coded character set need not use 8 bit integers to index characters. Many -early systems used 6 bit character sets, while 16 bit (or more) character -sets are necessary for ideographic writing systems. - -5.2 Font files, fonts, and XLFD - -Traditionally, typographers speak about typefaces and founts. A typeface is -a particular style or design, such as Times Italic, while a fount is a -molten-lead incarnation of a given typeface at a given size. - -Digital fonts come in font files. A font file contains the information nec- -essary for generating glyphs of a given typeface, and applications using font -files may access glyph information in an arbitrary order. - -Digital fonts may consist of bitmap data, in which case they are said to be -bitmap fonts. They may also consist of a mathematical description of glyph -shapes, in which case they are said to be scalable fonts. Common formats for -scalable font files are Type 1 (sometimes incorrectly called ATM fonts or -PostScript fonts), TrueType and OpenType. - -The glyph data in a digital font needs to be indexed somehow. How this is -done depends on the font file format. In the case of Type 1 fonts, glyphs -are identified by glyph names. In the case of TrueType fonts, glyphs are -indexed by integers corresponding to one of a number of indexing schemes -(usually Unicode --- see below). - -The X11 core fonts system uses the data in a font file to generate font -instances, which are collections of glyphs at a given size indexed according -to a given encoding. - -X11 core font instances are usually specified using a notation known as the X -Logical Font Description (XLFD). An XLFD starts with a dash `-', and con- -sists of fourteen fields separated by dashes, for example: - - -adobe-courier-medium-r-normal--12-120-75-75-m-70-iso8859-1 - -Or particular interest are the last two fields `iso8859-1', which specify the -font instance's encoding. - -A scalable font is specified by an XLFD which contains zeroes instead of some -fields: - - -adobe-courier-medium-r-normal--0-0-0-0-m-0-iso8859-1 - -X11 font instances may also be specified by short name. Unlike an XLFD, a -short name has no structure and is simply a conventional name for a font -instance. Two short names are of particular interest, as the server will not -start if font instances with these names cannot be opened. These are -`fixed', which specifies the fallback font to use when the requested font -cannot be opened, and `cursor', which specifies the set of glyphs to be used -by the mouse pointer. - -Short names are usually implemented as aliases to XLFDs; the standard `fixed' -and `cursor' aliases are defined in - - /usr/X11R6/lib/X11/font/misc/fonts.alias - -5.3 Unicode - -Unicode (urlnam ) is a coded character set with -the goal of uniquely identifying all characters for all scripts, current and -historical. While Unicode was explicitly not designed as a glyph encoding -scheme, it is often possible to use it as such. - -Unicode is an open character set, meaning that codepoint assignments may be -added to Unicode at any time (once specified, though, an assignment can never -be changed). For this reason, a Unicode font will be sparse, meaning that it -only defines glyphs for a subset of the character registry of Unicode. - -The Unicode standard is defined in parallel with the international standard -ISO 10646. Assignments in the two standards are always equivalent, and we -often use the terms Unicode and ISO 10646 interchangeably. - -When used in the X11 core fonts system, Unicode-encoded fonts should have the -last two fields of their XLFD set to `iso10646-1'. - -6. References - -X11R6.9 comes with extensive documentation in the form of manual pages and -typeset documents. Before installing fonts, you really should read the font- -config(3) and mkfontdir(1) manual pages; other manual pages of interest -include X(7), Xserver(1), xset(1), Xft(3), xlsfonts(1) and showfont(1). In -addition, you may want to read the X Logical Font Description document, by -Jim Flowers, which is provided in the file `xc/doc/xlfd.PS.Z'. - -The latest released version of the X11R6.9 documentation (including this doc- -ument and all manual pages) can be found from current X11R6.9 documentation -. - -The comp.fonts FAQ , which is -unfortunately no longer being maintained, contains a wealth of information -about digital fonts. - -Xft and Fontconfig are described on Keith Packard's Fontconfig site -. - -The xfsft home page -has been superseded by this document, and is now obsolete; you may however -still find some of the information that it contains useful. Joerg Pommnitz' -xfsft page is the -canonical source for the `ttmkfdir' utility, which is the ancestor of -mkfontscale. - -The author's software pages -might or might not contain related scribbles and development versions of -software. - -The documentation of X-TrueType is available from the After X-TT Project page -. - -A number of East-Asian CIDFonts are available from O'Reilly's FTP site -. - -While the Unicode consortium site may be of -interest, you are more likely to find what you need in Markus Kuhn's UTF-8 -and Unicode FAQ . - -The IANA RFC documents, available from a number of sites throughout the -world, often provide interesting information about character set issues; see -for example RFC 373. - - -$XdotOrg$ diff --git a/xorg-server/hw/xfree86/doc/devel/DebuggingHints b/xorg-server/hw/xfree86/doc/devel/DebuggingHints deleted file mode 100644 index 300fe4813..000000000 --- a/xorg-server/hw/xfree86/doc/devel/DebuggingHints +++ /dev/null @@ -1,192 +0,0 @@ - - Xserver Debugging - ================= - -This file is intended to collect helpful hints on Xserver debugging. -I merely outline my experiences here. Somebody else might have better -methods on doing it. This person is therefore invited to share this -experience with the rest of the world by adding it here. - -Paul Flinders has made some patches to gdb to add support for loadable -modules. This version of gdb is currently available as binary for -Linux/x86 on Paul's web site: - - www.dawa.demon.co.uk/xfree-gdb - -This web-site also contains the patches to gdb 4.18 so you may port it -to other platforms. - -It loads the module symbols and supports all gdb features like -breakpointing, disassembling and single stepping. It also shows the -exact location of a signal 11. Paul has fixed the code so that all of -this is working even if using modules compiled without -g. You can -find his latest version on his web site. - -If no module aware gdb is available the following hints might help: - -1. Use remote login. This can be done thru a network connection or - simply by connecting a serial console. This enables you to watch - the Xservers output while running set breakpoints with gdb etc. - Don't even try to run the Xserver from a system console. Whenever - something happens gdb waits for input. However the Xserver has - locked the system console including the keyboard, therefore you'll - never be able to send any input to gdb. Even if your process - doesn't crash or you haven't set any breakpoints a vt switch can be - hazardous: When doing vt switching a signal is sent; unless you did - - gdb> handle SIGUSR1 nostop - - gdb waits for you to continue the program which cannot happen as - you don't have access to gdb's console. - -2. You can compile any source file with debugging symbols to obtain - more information about where an error occurred. Simply go to the - directory which holds the corresponding object file and do: - - # rm .o - # xc/config/util/makeg.sh .o - - After relinking the server or module gdb is able to obtain the - necessary debugging information and will show the exact line in the - source where the error ccurred. See also: - xc/config/util/makeg.man. - -3. In some cases it might be useful to have the assembler output of a - compiled source file. This can be obtained by doing: - - # make .s - - or - - # xc/config/util/makeg.sh .s - - Make will use exactly the same rules it uses for building *.o files. - -4. In some cases it might be useful to set breakpoints in modules. If - no module aware gdb is available you should add a call to one of - the three dummy breakpoint functions - - xf86Break1(), xf86Break2() and xf86Break3() - - to the source file and recompile the module. You now just have to - set a breakpoint onto the appropriate dummy functions. These - functions are located in the core part of the server and therefore - will be available any time. - -5. Without module support gdb is not able to print the function where - an error occurred in a module. - - If you get a line like: - - (gdb) bt - #0 0x823b4f5 in ?? () - .... - - You may obtain the function the address belongs to by calling - LoaderPrintSymbol(): - - (gdb) call LoaderPrintSymbol(0x823b4f5) - - The symbol returned might not always be the name of the function - which contains the address. In case of static functions the symbol - is not known to the loader. However LoaderPrintSymbol() will print - the nearest known function and the offset from its start. You may - easily find the exact location of the address if you do: - - # objdump --disassemble .o - - .o is the name of the object file containing the symbol printed. - -6. Locating static symbols in modules is simpler if the module is a - single object file instead of a library. Such a object file can - easily be build from a library: # mkdir tmp # cd tmp; ar x - module-path/.a # ld -r *.o -o module-path/.o - - When calling LoaderPrintSymbol() the closes public symbol will be - printed together with the offset from the symbol's address. If a - static symbol comes before the first public symbol in a module The - following trick may help: - - create a file 1-.c in tmp/ - containing: - void Dummy-() {} - - Compile it: - - # gcc -c 1-.c - - and do the link step above. - - This way Dummy-() will be the first public function in the - module. All addresses in static function can now be printed - relatively to this address if no other public function comes before - this static one. - -7. In some situations it is quite helpful to add debugging symbols to - the binary. This can be done per object file. Simply remove the - object file and do - - # makeg - - When looking for a bug in a module these debugging infos can be - very helpful: Calling LoaderPrintSymbol() as described above will - return a function and an offset giving the exact location of the - address with respect to this function entry point. When - disassembling an object file with debugging symbols: # objdump -d - -l .o one will receive a disassembled output containing line - number information. Thus one can locate the exact line of code - where the error occurred. - -8. To quickly trace the value of a variable declared in a module three - dummy variables have been added to the core part: - - CARD32 xf86DummyVar1; - CARD32 xf86DummyVar2; - CARD32 xf86DummyVar3; - - The variable can be assigned to one of them. One can then use gdb - to return the value of this variable: - - gdb> p /x xf86DummyVar1 - -9. Sometimes it might be useful to check how the preprocessor replaced - symbols. One can obtain a preprocessed version of the source file - by doing: - - make .i - - This will generate a preprocessed source in .i. - -10. xfree() can catch if one tries to free a memory range twice. You - will get the message: - - Xalloc error: range already freed in Xrealloc() :-( - - To find the location from which xfree() was called one can - breakpoint on XfreeTrap(). The backtrace should show the origin of the - call this call. - -11. To access mapped physical memory the following functions might be - useful. - - These may be used to access physical memory that was mapped using - the flags VIDMEM_FRAMEBUFFER or VIDMEM_MMIO32: - - CARD8 xf86PeekFb8(CARD8 *p); - CARD16 xf86PeekFb16(CARD16 *p); - CARD32 xf86PeekFb32(CARD32 *p); - void xf86PokeFb8(CARD8 *p, CARD8 v); - void xf86PokeFb16(CARD16 *p, CARD16 v); - void xf86PokeFb32(CARD16 *p, CARD32 v); - - Physical memory which was mapped by setting VIDMEM_MMIO should be - accessed using the following. Here the base address to which the - memory is mapped and the offset are required separately. - - CARD8 xf86PeekMmio8(pointer Base, unsigned long Offset); - CARD16 xf86PeekMmio16(pointer Base, unsigned long Offset); - CARD32 xf86PeekMmio32(pointer Base, unsigned long Offset); - void xf86PokeMmio8(pointer Base, unsigned long Offset, CARD8 v); - void xf86PokeMmio16(pointer Base, unsigned long Offset, CARD16 v); - void xf86PokeMmio32(pointer Base, unsigned long Offset, CARD32 v); - diff --git a/xorg-server/hw/xfree86/doc/devel/Makefile.am b/xorg-server/hw/xfree86/doc/devel/Makefile.am index 6ca350c38..eb8b1cb29 100644 --- a/xorg-server/hw/xfree86/doc/devel/Makefile.am +++ b/xorg-server/hw/xfree86/doc/devel/Makefile.am @@ -2,7 +2,6 @@ # not installed on the system for end-users EXTRA_DIST = \ - DebuggingHints \ Domain.note \ RAC.Notes \ Registry \ diff --git a/xorg-server/hw/xfree86/doc/devel/Makefile.in b/xorg-server/hw/xfree86/doc/devel/Makefile.in index 7c169aff3..d5d45e4a9 100644 --- a/xorg-server/hw/xfree86/doc/devel/Makefile.in +++ b/xorg-server/hw/xfree86/doc/devel/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -45,7 +45,6 @@ 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 \ @@ -59,8 +58,9 @@ ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ -APPDEFAULTDIR = @APPDEFAULTDIR@ APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +APPLE_APPLICATION_ID = @APPLE_APPLICATION_ID@ +APPLE_APPLICATION_NAME = @APPLE_APPLICATION_NAME@ APP_MAN_DIR = @APP_MAN_DIR@ APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ AR = @AR@ @@ -81,10 +81,6 @@ 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@ @@ -106,6 +102,7 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOLT_BASH = @DOLT_BASH@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ @@ -115,18 +112,15 @@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ DSYMUTIL = @DSYMUTIL@ DTRACE = @DTRACE@ -ECHO = @ECHO@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ -FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ -FREETYPE_LIBS = @FREETYPE_LIBS@ GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ GLX_DEFINES = @GLX_DEFINES@ GL_CFLAGS = @GL_CFLAGS@ @@ -145,7 +139,7 @@ KDRIVE_LIBS = @KDRIVE_LIBS@ KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ -LAUNCHD = @LAUNCHD@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ LEX = @LEX@ @@ -159,7 +153,10 @@ LIBTOOL = @LIBTOOL@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LINUXDOC = @LINUXDOC@ +LIPO = @LIPO@ LN_S = @LN_S@ +LTCOMPILE = @LTCOMPILE@ +LTCXXCOMPILE = @LTCXXCOMPILE@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ @@ -171,8 +168,7 @@ MESA_SOURCE = @MESA_SOURCE@ MISC_MAN_DIR = @MISC_MAN_DIR@ MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ MKDIR_P = @MKDIR_P@ -MKFONTDIR = @MKFONTDIR@ -MKFONTSCALE = @MKFONTSCALE@ +NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCCLD = @OBJCCLD@ @@ -181,8 +177,8 @@ OBJCFLAGS = @OBJCFLAGS@ OBJCLINK = @OBJCLINK@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ @@ -215,7 +211,6 @@ VENDOR_NAME = @VENDOR_NAME@ VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ VENDOR_RELEASE = @VENDOR_RELEASE@ VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ XDMCP_CFLAGS = @XDMCP_CFLAGS@ @@ -225,27 +220,12 @@ XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@ XDMX_CFLAGS = @XDMX_CFLAGS@ XDMX_LIBS = @XDMX_LIBS@ XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ XEPHYR_INCS = @XEPHYR_INCS@ XEPHYR_LIBS = @XEPHYR_LIBS@ 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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ @@ -256,10 +236,6 @@ XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ XNEST_LIBS = @XNEST_LIBS@ XNEST_SYS_LIBS = @XNEST_SYS_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_INCS = @XORG_INCS@ XORG_LIBS = @XORG_LIBS@ @@ -268,13 +244,8 @@ XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ XORG_OS = @XORG_OS@ XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_LIBS@ +XPBPROXY_CFLAGS = @XPBPROXY_CFLAGS@ +XPBPROXY_LIBS = @XPBPROXY_LIBS@ XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ XSDL_INCS = @XSDL_INCS@ @@ -307,8 +278,7 @@ 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@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -328,7 +298,6 @@ driverdir = @driverdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ extdir = @extdir@ -ft_config = @ft_config@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ @@ -338,12 +307,12 @@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ -launchagentsdir = @launchagentsdir@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ logdir = @logdir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ moduledir = @moduledir@ @@ -361,10 +330,7 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ EXTRA_DIST = \ - DebuggingHints \ Domain.note \ RAC.Notes \ Registry \ @@ -378,8 +344,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ diff --git a/xorg-server/hw/xfree86/doc/man/Makefile.in b/xorg-server/hw/xfree86/doc/man/Makefile.in index 09fbe07f1..b48fa6263 100644 --- a/xorg-server/hw/xfree86/doc/man/Makefile.in +++ b/xorg-server/hw/xfree86/doc/man/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -48,7 +48,6 @@ 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 \ @@ -72,8 +71,9 @@ ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ -APPDEFAULTDIR = @APPDEFAULTDIR@ APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +APPLE_APPLICATION_ID = @APPLE_APPLICATION_ID@ +APPLE_APPLICATION_NAME = @APPLE_APPLICATION_NAME@ APP_MAN_DIR = @APP_MAN_DIR@ APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ AR = @AR@ @@ -94,10 +94,6 @@ 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@ @@ -119,6 +115,7 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOLT_BASH = @DOLT_BASH@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ @@ -128,18 +125,15 @@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ DSYMUTIL = @DSYMUTIL@ DTRACE = @DTRACE@ -ECHO = @ECHO@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ -FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ -FREETYPE_LIBS = @FREETYPE_LIBS@ GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ GLX_DEFINES = @GLX_DEFINES@ GL_CFLAGS = @GL_CFLAGS@ @@ -158,7 +152,7 @@ KDRIVE_LIBS = @KDRIVE_LIBS@ KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ -LAUNCHD = @LAUNCHD@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ LEX = @LEX@ @@ -172,7 +166,10 @@ LIBTOOL = @LIBTOOL@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LINUXDOC = @LINUXDOC@ +LIPO = @LIPO@ LN_S = @LN_S@ +LTCOMPILE = @LTCOMPILE@ +LTCXXCOMPILE = @LTCXXCOMPILE@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ @@ -184,8 +181,7 @@ MESA_SOURCE = @MESA_SOURCE@ MISC_MAN_DIR = @MISC_MAN_DIR@ MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ MKDIR_P = @MKDIR_P@ -MKFONTDIR = @MKFONTDIR@ -MKFONTSCALE = @MKFONTSCALE@ +NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCCLD = @OBJCCLD@ @@ -194,8 +190,8 @@ OBJCFLAGS = @OBJCFLAGS@ OBJCLINK = @OBJCLINK@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ @@ -228,7 +224,6 @@ VENDOR_NAME = @VENDOR_NAME@ VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ VENDOR_RELEASE = @VENDOR_RELEASE@ VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ XDMCP_CFLAGS = @XDMCP_CFLAGS@ @@ -238,27 +233,12 @@ XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@ XDMX_CFLAGS = @XDMX_CFLAGS@ XDMX_LIBS = @XDMX_LIBS@ XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ XEPHYR_INCS = @XEPHYR_INCS@ XEPHYR_LIBS = @XEPHYR_LIBS@ 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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ @@ -269,10 +249,6 @@ XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ XNEST_LIBS = @XNEST_LIBS@ XNEST_SYS_LIBS = @XNEST_SYS_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_INCS = @XORG_INCS@ XORG_LIBS = @XORG_LIBS@ @@ -281,13 +257,8 @@ XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ XORG_OS = @XORG_OS@ XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_LIBS@ +XPBPROXY_CFLAGS = @XPBPROXY_CFLAGS@ +XPBPROXY_LIBS = @XPBPROXY_LIBS@ XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ XSDL_INCS = @XSDL_INCS@ @@ -320,8 +291,7 @@ 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@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -341,7 +311,6 @@ driverdir = @driverdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ extdir = @extdir@ -ft_config = @ft_config@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ @@ -351,12 +320,12 @@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ -launchagentsdir = @launchagentsdir@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ logdir = @logdir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ moduledir = @moduledir@ @@ -374,8 +343,6 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ # Xserver.man covers options generic to all X servers built in this tree MAN_SRCS = Xorg.man.pre xorg.conf.man.pre @@ -428,8 +395,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ diff --git a/xorg-server/hw/xfree86/doc/man/Xorg.man.pre b/xorg-server/hw/xfree86/doc/man/Xorg.man.pre index 8b48951e7..4992dc715 100644 --- a/xorg-server/hw/xfree86/doc/man/Xorg.man.pre +++ b/xorg-server/hw/xfree86/doc/man/Xorg.man.pre @@ -30,7 +30,7 @@ SPARC and PowerPC. The most widely supported operating systems are the free/OpenSource UNIX-like systems such as Linux, FreeBSD, NetBSD, OpenBSD, and Solaris. Commercial UNIX operating systems such as UnixWare are also supported. Other supported operating systems include -LynxOS, and GNU Hurd. Darwin and Mac OS X are supported with the +GNU Hurd. Darwin and Mac OS X are supported with the XDarwin(__appmansuffix__) X server. Win32/Cygwin is supported with the XWin(__appmansuffix__) X server. .PP @@ -133,8 +133,8 @@ specifies the Virtual Terminal device number which will use. Without this option, .B __xservername__ will pick the first available Virtual Terminal that it can locate. This -option applies only to platforms such as Linux, BSD, SVR3 and SVR4, that -have virtual terminal support. +option applies only to platforms that have virtual terminal support, such +as Linux, BSD, SVR3, and SVR4. .TP .B \-allowMouseOpenFail Allow the server to start up even if the mouse device can't be opened @@ -142,13 +142,6 @@ or initialised. This is equivalent to the .B AllowMouseOpenFail __xconfigfile__(__filemansuffix__) file option. .TP 8 -.B \-allowNonLocalModInDev -Allow changes to keyboard and mouse settings from non-local clients. -By default, connections from non-local clients are not allowed to do -this. This is equivalent to the -.B AllowNonLocalModInDev -__xconfigfile__(__filemansuffix__) file option. -.TP 8 .B \-allowNonLocalXvidtune Make the VidMode extension available to remote clients. This allows the xvidtune client to connect from another host. This is equivalent @@ -175,7 +168,14 @@ to set the color depth, and use .B \-fbbpp if you really need to force a non-default framebuffer (hardware) pixel format. -.TP +.TP 8 +.BI \-config " file" +Read the server configuration from +.IR file . +This option will work for any file when the server is run as root (i.e, +with real-uid 0), or for files relative to a directory in the config +search path for all other users. +.TP 8 .B \-configure When this option is specified, the .B __xservername__ @@ -195,12 +195,6 @@ option, and is provided for compatibility with the native SCO X server. Sets the default color depth. Legal values are 1, 4, 8, 15, 16, and 24. Not all drivers support all values. .TP 8 -.B \-disableModInDev -Disable dynamic modification of input device settings. This is equivalent -to the -.B DisableModInDev -__xconfigfile__(__filemansuffix__) file option. -.TP 8 .B \-disableVidMode Disable the parts of the VidMode extension (used by the xvidtune client) that can be used to change the video modes. This is equivalent @@ -319,6 +313,10 @@ file verbosity level. When the value is supplied, the log file verbosity level is set to that value. The default log file verbosity level is 3. .TP 8 +.B \-modalias +Print a list of device ids each installed driver module claims to support, +in a format similar to Linux modalias. +.TP 8 .BI \-modulepath " searchpath" Set the module search path to .IR searchpath . @@ -399,6 +397,16 @@ in a future release, so the .B \-version option should be used instead. .TP 8 +.B \-showDefaultModulePath +Print out the default module path the server was compiled with. +.TP 8 +.B \-showDefaultLibPath +Print out the path libraries should be installed to. +.TP 8 +.B \-showopts +For each driver module installed, print out the list of options and their +argument types. +.TP 8 .BI \-weight " nnn" Set RGB weighting at 16 bpp. The default is 565. This applies only to those drivers which support 16 bpp. @@ -416,19 +424,6 @@ verbosity level is 0. Print out the server version, patchlevel, release date, the operating system/platform it was built on, and whether it includes module loader support. -.TP 8 -.B \-showDefaultModulePath -Print out the default module path the server was compiled with. -.TP 8 -.B \-showDefaultLibPath -Print out the path libraries should be installed to. -.TP 8 -.BI \-config " file" -Read the server configuration from -.IR file . -This option will work for any file when the server is run as root (i.e, -with real-uid 0), or for files relative to a directory in the config -search path for all other users. .SH "KEYBOARD" .PP The @@ -454,10 +449,11 @@ by are: .TP 8 .B Ctrl+Alt+Backspace -Immediately kills the server -- no questions asked. This can be disabled -with the +Immediately kills the server -- no questions asked. This is disabled by +default. It can be enabled with the -retro command line flag or by setting +the .B DontZap -__xconfigfile__(__filemansuffix__) file option. +__xconfigfile__(__filemansuffix__) file option to a FALSE value. .TP 8 .B Ctrl+Alt+Keypad-Plus Change video mode to next one specified in the configuration file. @@ -471,22 +467,8 @@ This can be disabled with the .B DontZoom __xconfigfile__(__filemansuffix__) file option. .TP 8 -.B Ctrl+Alt+Keypad-Multiply -Not treated specially by default. If the -.B AllowClosedownGrabs -__xconfigfile__(__filemansuffix__) file option is specified, this key sequence -kills clients with an active keyboard or mouse grab as well as killing any -application that may have locked the server, normally using the -XGrabServer(__libmansuffix__) Xlib function. -.TP 8 -.B Ctrl+Alt+Keypad-Divide -Not treated specially by default. If the -.B AllowDeactivateGrabs -__xconfigfile__(__filemansuffix__) file option is specified, this key sequence -deactivates any active keyboard and mouse grabs. -.TP 8 .B Ctrl+Alt+F1...F12 -For BSD and Linux systems with virtual terminal support, these keystroke +For systems with virtual terminal support, these keystroke combinations are used to switch to virtual terminals 1 through 12, respectively. This can be disabled with the .B DontVTSwitch @@ -560,9 +542,6 @@ Libraries. .B __projectroot__/lib/X11/fonts/\(** Fonts. .TP 30 -.B __projectroot__/share/X11/rgb.txt -Color names to RGB mapping. -.TP 30 .B __projectroot__/share/X11/XErrorDB Client error message database. .TP 30 @@ -577,7 +556,7 @@ Initial access control list for display .IR n . .SH "SEE ALSO" X(__miscmansuffix__), Xserver(__appmansuffix__), xdm(__appmansuffix__), xinit(__appmansuffix__), -__xconfigfile__(__filemansuffix__), xorgconfig(__appmansuffix__), xorgcfg(__appmansuffix__), xvidtune(__appmansuffix__), +__xconfigfile__(__filemansuffix__), xvidtune(__appmansuffix__), apm(__drivermansuffix__), ati(__drivermansuffix__), chips(__drivermansuffix__), @@ -588,12 +567,13 @@ glide(__drivermansuffix__), glint(__drivermansuffix__), i128(__drivermansuffix__), i740(__drivermansuffix__), -i810(__drivermansuffix__), imstt(__drivermansuffix__), +intel(__drivermansuffix__), mga(__drivermansuffix__), neomagic(__drivermansuffix__), nsc(__drivermansuffix__), nv(__drivermansuffix__), +openchrome (__drivermansuffix__), r128(__drivermansuffix__), rendition(__drivermansuffix__), s3virge(__drivermansuffix__), @@ -612,7 +592,6 @@ trident(__drivermansuffix__), tseng(__drivermansuffix__), v4l(__drivermansuffix__), vesa(__drivermansuffix__), -vga(__drivermansuffix__), vmware(__drivermansuffix__), .br Web site @@ -620,7 +599,7 @@ Web site .SH AUTHORS __xservername__ has many contributors world wide. The names of most of them -can be found in the documentation, CHANGELOG files in the source tree, +can be found in the documentation, ChangeLog files in the source tree, and in the actual source code. .PP __xservername__ was originally based on XFree86 4.4rc2. diff --git a/xorg-server/hw/xfree86/doc/man/xorg.conf.man.pre b/xorg-server/hw/xfree86/doc/man/xorg.conf.man.pre index de93aaf36..96ad0160f 100644 --- a/xorg-server/hw/xfree86/doc/man/xorg.conf.man.pre +++ b/xorg-server/hw/xfree86/doc/man/xorg.conf.man.pre @@ -54,7 +54,7 @@ is the relative path (with no \(lq..\(rq components) specified by that environment variable, and .I is the machine's hostname as reported by -.BR gethostname (__oslibmansuffix__). +.BR gethostname (__libmansuffix__). .PP When the __xservername__ server is started by the \(lqroot\(rq user, the config file search locations are as follows: @@ -67,7 +67,6 @@ search locations are as follows: .B $XORGCONFIG .IB /etc/X11/ $XORGCONFIG .IB __projectroot__/etc/X11/ $XORGCONFIG -.BI $HOME /__xconfigfile__ .I /etc/X11/__xconfigfile__\-4 .I /etc/X11/__xconfigfile__ .I /etc/__xconfigfile__ @@ -93,7 +92,7 @@ is the path specified by that environment variable (usually the home directory), and .I is the machine's hostname as reported by -.BR gethostname (__oslibmansuffix__). +.BR gethostname (__libmansuffix__). .PP The .I __xconfigfile__ @@ -116,6 +115,7 @@ The section names are: .BR "Files " "File pathnames" .BR "ServerFlags " "Server flags" .BR "Module " "Dynamic module loading" +.BR "Extensions " "Extension enabling" .BR "InputDevice " "Input device description" .BR "Device " "Graphics device description" .BR "VideoAdaptor " "Xv video adaptor description" @@ -314,7 +314,7 @@ where .I is an alphanumeric identifier, .I [attribute] -is an attribute wich will be passed to the underlying FPE and +is an attribute which will be passed to the underlying FPE and .I is a number used to order the fontfile FPEs. Examples: .PP @@ -464,11 +464,10 @@ Default: off. .TP 7 .BI "Option \*qDontZap\*q \*q" boolean \*q This disallows the use of the -.B Ctrl+Alt+Backspace -sequence. -That sequence is normally used to terminate the __xservername__ server. -When this option is enabled, that key sequence has no special meaning and -is passed to clients. +.B Terminate_Server +XKB action (usually on Ctrl+Alt+Backspace, depending on XKB options). +This action is normally used to terminate the __xservername__ server. +When this option is enabled, the action has no effect. Default: off. .TP 7 .BI "Option \*qDontZoom\*q \*q" boolean \*q @@ -492,16 +491,6 @@ This allows the xvidtune client (and other clients that use the VidMode extension) to connect from another host. Default: off. .TP 7 -.BI "Option \*qDisableModInDev\*q \*q" boolean \*q -This disables the parts of the XFree86\-Misc extension that can be used to -modify the input device settings dynamically. -Default: that functionality is enabled. -.TP 7 -.BI "Option \*qAllowNonLocalModInDev\*q \*q" boolean \*q -This allows a client to connect from another host and change keyboard -and mouse settings in the running server. -Default: off. -.TP 7 .BI "Option \*qAllowMouseOpenFail\*q \*q" boolean \*q This allows the server to start up even if the mouse device can't be opened/initialised. @@ -626,31 +615,6 @@ Default: PM enabled on platforms that support it. enable or disable XINERAMA extension. Default is disabled. .TP 7 -.BI "Option \*qAllowDeactivateGrabs\*q \*q" boolean \*q -This option enables the use of the -.B Ctrl+Alt+Keypad\-Divide -key sequence to deactivate any active keyboard and mouse grabs. -Default: off. -.TP 7 -.BI "Option \*qAllowClosedownGrabs\*q \*q" boolean \*q -This option enables the use of the -.B Ctrl+Alt+Keypad\-Multiply -key sequence to kill clients with an active keyboard or mouse grab as well -as killing any application that may have locked the server, normally using -the -.BR XGrabServer(__libmansuffix__) -Xlib function. -Default: off. -.br -Note that the options -.B AllowDeactivateGrabs -and -.B AllowClosedownGrabs -will allow users to remove the grab used by screen saver/locker programs. -An API was written to such cases. -If you enable this option, make sure your screen saver/locker is updated. -Default: off. -.TP 7 .BI "Option \*qHandleSpecialKeys\*q \*q" when \*q This option controls when the server uses the builtin handler to process special key combinations (such as @@ -698,7 +662,7 @@ the X server to load. Disabled by default. If enabled, don't add the standard keyboard and mouse drivers, if there are no input devices in the config file. Enabled by default if AutoAddDevices and AutoEnableDevices is enabled, otherwise disabled. -If AllowEmptyInput is on, devices using the kbd or mouse driver are ignored. +If AllowEmptyInput is on, devices using the kbd, mouse or vmmouse driver are ignored. .TP 7 .BI "Option \*qAutoAddDevices\*q \*q" boolean \*q If this option is disabled, then no devices will be added from HAL events. @@ -709,6 +673,15 @@ If this option is disabled, then the devices will be added (and the DevicePresenceNotify event sent), but not enabled, thus leaving policy up to the client. Enabled by default. +.TP 7 +.BI "Option \*qLog\*q \*q" string \*q +This option controls whether the log is flushed and/or synced to disk after +each message. +Possible values are +.B flush +or +.BR sync . +Unset by default. .SH "MODULE SECTION" The .B Module @@ -795,11 +768,38 @@ __projectroot__/lib/modules/extensions .fi .RE .PP -The \(lqbitmap\(rq font module is loaded automatically. +The \(lqextmod\(rq, \(lqdbe\(rq, \(lqglx\(rq, and \(lqdri\(rq extension +modules are loaded automatically, unless disabled with \*qDisable\*q entries. It is recommended that at very least the \(lqextmod\(rq extension module be loaded. If it isn't, some commonly used server extensions (like the SHAPE extension) will not be available. +.SH "EXTENSIONS SECTION" +The +.B Extensions +section is used to specify which X11 protocol extensions should be enabled +or disabled. +The +.B Extensions +section is optional, as are all of the entries that may be specified in +it. +.PP +Entries in this section are listed as Option statements with the name of +the extension as the first argument, and a boolean value as the second. +The extension name is case\-sensitive, and matches the form shown in the output +of \*qXorg -extension ?\*q. +.PP +.RS 7 +Example: the MIT-SHM extension can be disabled with the following entry: +.PP +.RS 4 +.nf +.B "Section \*qExtensions\*q" +.B " Option \*qMIT-SHM\*q \*qDisable\*q" +.B "EndSection" +.fi +.RE +.RE .SH "INPUTDEVICE SECTION" The config file may have multiple .B InputDevice @@ -855,9 +855,12 @@ or command line options, or if it is selected implicitly as the core pointer or keyboard device in the absence of such explicit references. The most commonly used input drivers are -.BR keyboard (__drivermansuffix__) +.BR evdev (__drivermansuffix__) +on Linux systems, and +.BR kbd (__drivermansuffix__) and -.BR mouse (__drivermansuffix__). +.BR mouse (__drivermansuffix__) +on other platforms. .PP In the absence of an explicitly specified core input device, the first .B InputDevice @@ -868,7 +871,7 @@ marked as is used. If there is no match there, the first .B InputDevice -that uses the \(lqmouse\(rq (or \(lqkeyboard\(rq or \(lqkbd\(rq) driver is used. +that uses the \(lqmouse\(rq (or \(lqkbd\(rq) driver is used. The final fallback is to use built\-in default configurations. .PP .B InputDevice @@ -1626,8 +1629,8 @@ Others are driver\-independent, and will eventually be described here. .\" XXX These should really be in an xaa man page. .TP 7 .BI "Option \*qAccel\*q" -Enables XAA (X Acceleration Architecture), a mechanism that makes video -cards' 2D hardware acceleration available to the __xservername__ server. +Enables XAA (X Acceleration Architecture), a mechanism that makes video cards' +2D hardware acceleration available to the __xservername__ server. This option is on by default, but it may be necessary to turn it off if there are bugs in the driver. There are many options to disable specific accelerated operations, listed @@ -2151,11 +2154,11 @@ General: .BR cvt (__appmansuffix__), .BR gtf (__appmansuffix__). .PP -.B Not all modules or interfaces are available on all platforms. +.B "Not all modules or interfaces are available on all platforms." .PP Display drivers: .BR apm (__drivermansuffix__), -.\" .BR ati (__drivermansuffix__), +.BR ati (__drivermansuffix__), .BR chips (__drivermansuffix__), .BR cirrus (__drivermansuffix__), .BR cyrix (__drivermansuffix__), @@ -2164,17 +2167,20 @@ Display drivers: .BR glint (__drivermansuffix__), .BR i128 (__drivermansuffix__), .BR i740 (__drivermansuffix__), -.BR i810 (__drivermansuffix__), .BR imstt (__drivermansuffix__), +.BR intel (__drivermansuffix__), .BR mga (__drivermansuffix__), .BR neomagic (__drivermansuffix__), .BR nv (__drivermansuffix__), +.BR openchrome (__drivermansuffix__), .BR r128 (__drivermansuffix__), +.BR radeon (__drivermansuffix__), .BR rendition (__drivermansuffix__), .BR savage (__drivermansuffix__), .BR s3virge (__drivermansuffix__), .BR siliconmotion (__drivermansuffix__), .BR sis (__drivermansuffix__), +.BR sisusb (__drivermansuffix__), .BR sunbw2 (__drivermansuffix__), .BR suncg14 (__drivermansuffix__), .BR suncg3 (__drivermansuffix__), @@ -2183,37 +2189,43 @@ Display drivers: .BR sunleo (__drivermansuffix__), .BR suntcx (__drivermansuffix__), .BR tdfx (__drivermansuffix__), -.BR tga (__drivermansuffix__), +.\" .BR tga (__drivermansuffix__), .BR trident (__drivermansuffix__), .BR tseng (__drivermansuffix__), .BR vesa (__drivermansuffix__), -.BR vga (__drivermansuffix__), -.BR via (__drivermansuffix__), -.BR vmware (__drivermansuffix__). +.BR vmware (__drivermansuffix__), +.BR voodoo (__drivermansuffix__), +.BR wsfb (__drivermansuffix__), +.BR xgi (__drivermansuffix__), +.BR xgixp (__drivermansuffix__). .PP Input drivers: -.\" .BR acecad (__drivermansuffix__), -.\" .BR calcomp (__drivermansuffix__), +.BR acecad (__drivermansuffix__), +.BR calcomp (__drivermansuffix__), .BR citron (__drivermansuffix__), .BR dmc (__drivermansuffix__), .BR dynapro (__drivermansuffix__), .BR elographics (__drivermansuffix__), +.BR evdev (__drivermansuffix__), .BR fpit (__drivermansuffix__), .BR js_x (__drivermansuffix__), +.BR joystick (__drivermansuffix__), .BR kbd (__drivermansuffix__), -.BR keyboard (__drivermansuffix__), -.\" .BR magictouch (__drivermansuffix__), +.BR magictouch (__drivermansuffix__), .BR microtouch (__drivermansuffix__), -.BR mouse (__drivermansuffix__), +.BR mousedrv (__drivermansuffix__), .BR mutouch (__drivermansuffix__), .BR palmax (__drivermansuffix__), .BR penmount (__drivermansuffix__), +.BR synaptics (__drivermansuffix__), .BR tek4957 (__drivermansuffix__), -.\" .BR ur98 (__drivermansuffix__), +.BR ur98 (__drivermansuffix__), +.BR vmmouse (__drivermansuffix__), .BR void (__drivermansuffix__), .BR wacom (__drivermansuffix__). .PP Other modules and interfaces: +.BR exa (__drivermansuffix__), .BR fbdevhw (__drivermansuffix__), .\" .BR shadowfb (__drivermansuffix__), .BR v4l (__drivermansuffix__). diff --git a/xorg-server/hw/xfree86/doc/sgml/Makefile.in b/xorg-server/hw/xfree86/doc/sgml/Makefile.in index 3ee4d8cdd..c70a3941b 100644 --- a/xorg-server/hw/xfree86/doc/sgml/Makefile.in +++ b/xorg-server/hw/xfree86/doc/sgml/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -64,7 +64,6 @@ 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 \ @@ -79,8 +78,9 @@ ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ -APPDEFAULTDIR = @APPDEFAULTDIR@ APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +APPLE_APPLICATION_ID = @APPLE_APPLICATION_ID@ +APPLE_APPLICATION_NAME = @APPLE_APPLICATION_NAME@ APP_MAN_DIR = @APP_MAN_DIR@ APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ AR = @AR@ @@ -101,10 +101,6 @@ 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@ @@ -126,6 +122,7 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOLT_BASH = @DOLT_BASH@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ @@ -135,18 +132,15 @@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ DSYMUTIL = @DSYMUTIL@ DTRACE = @DTRACE@ -ECHO = @ECHO@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ -FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ -FREETYPE_LIBS = @FREETYPE_LIBS@ GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ GLX_DEFINES = @GLX_DEFINES@ GL_CFLAGS = @GL_CFLAGS@ @@ -165,7 +159,7 @@ KDRIVE_LIBS = @KDRIVE_LIBS@ KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ -LAUNCHD = @LAUNCHD@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ LEX = @LEX@ @@ -179,7 +173,10 @@ LIBTOOL = @LIBTOOL@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LINUXDOC = @LINUXDOC@ +LIPO = @LIPO@ LN_S = @LN_S@ +LTCOMPILE = @LTCOMPILE@ +LTCXXCOMPILE = @LTCXXCOMPILE@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ @@ -191,8 +188,7 @@ MESA_SOURCE = @MESA_SOURCE@ MISC_MAN_DIR = @MISC_MAN_DIR@ MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ MKDIR_P = @MKDIR_P@ -MKFONTDIR = @MKFONTDIR@ -MKFONTSCALE = @MKFONTSCALE@ +NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCCLD = @OBJCCLD@ @@ -201,8 +197,8 @@ OBJCFLAGS = @OBJCFLAGS@ OBJCLINK = @OBJCLINK@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ @@ -235,7 +231,6 @@ VENDOR_NAME = @VENDOR_NAME@ VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ VENDOR_RELEASE = @VENDOR_RELEASE@ VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ XDMCP_CFLAGS = @XDMCP_CFLAGS@ @@ -245,27 +240,12 @@ XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@ XDMX_CFLAGS = @XDMX_CFLAGS@ XDMX_LIBS = @XDMX_LIBS@ XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ XEPHYR_INCS = @XEPHYR_INCS@ XEPHYR_LIBS = @XEPHYR_LIBS@ 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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ @@ -276,10 +256,6 @@ XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ XNEST_LIBS = @XNEST_LIBS@ XNEST_SYS_LIBS = @XNEST_SYS_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_INCS = @XORG_INCS@ XORG_LIBS = @XORG_LIBS@ @@ -288,13 +264,8 @@ XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ XORG_OS = @XORG_OS@ XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_LIBS@ +XPBPROXY_CFLAGS = @XPBPROXY_CFLAGS@ +XPBPROXY_LIBS = @XPBPROXY_LIBS@ XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ XSDL_INCS = @XSDL_INCS@ @@ -327,8 +298,7 @@ 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@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -348,7 +318,6 @@ driverdir = @driverdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ extdir = @extdir@ -ft_config = @ft_config@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ @@ -358,12 +327,12 @@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ -launchagentsdir = @launchagentsdir@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ logdir = @logdir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ moduledir = @moduledir@ @@ -381,8 +350,6 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ SGML_FILES = DESIGN.sgml @BUILD_LINUXDOC_TRUE@TXT_FILES = $(SGML_FILES:%.sgml=%.txt) @BUILD_LINUXDOC_TRUE@PS_FILES = $(SGML_FILES:%.sgml=%.ps) @@ -400,8 +367,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ diff --git a/xorg-server/hw/xfree86/dri/Makefile.am b/xorg-server/hw/xfree86/dri/Makefile.am index e17cea7fd..3ec30beec 100644 --- a/xorg-server/hw/xfree86/dri/Makefile.am +++ b/xorg-server/hw/xfree86/dri/Makefile.am @@ -1,6 +1,11 @@ libdri_la_LTLIBRARIES = libdri.la libdri_la_CFLAGS = -I$(top_srcdir)/hw/xfree86/common \ -I$(top_srcdir)/hw/xfree86/os-support \ + -I$(top_srcdir)/hw/xfree86/modes \ + -I$(top_srcdir)/hw/xfree86/ddc \ + -I$(top_srcdir)/hw/xfree86/i2c \ + -I$(top_srcdir)/hw/xfree86/parser \ + -I$(top_srcdir)/hw/xfree86/ramdac \ -I$(top_srcdir)/hw/xfree86/os-support/bus \ -I$(top_srcdir)/glx \ -I$(top_srcdir)/GL/include \ diff --git a/xorg-server/hw/xfree86/dri/Makefile.in b/xorg-server/hw/xfree86/dri/Makefile.in index fae6a213e..c25627429 100644 --- a/xorg-server/hw/xfree86/dri/Makefile.in +++ b/xorg-server/hw/xfree86/dri/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -45,7 +45,6 @@ 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 \ @@ -72,9 +71,6 @@ 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) \ @@ -91,8 +87,9 @@ ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ -APPDEFAULTDIR = @APPDEFAULTDIR@ APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +APPLE_APPLICATION_ID = @APPLE_APPLICATION_ID@ +APPLE_APPLICATION_NAME = @APPLE_APPLICATION_NAME@ APP_MAN_DIR = @APP_MAN_DIR@ APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ AR = @AR@ @@ -113,10 +110,6 @@ 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@ @@ -138,6 +131,7 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOLT_BASH = @DOLT_BASH@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ @@ -147,18 +141,15 @@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ DSYMUTIL = @DSYMUTIL@ DTRACE = @DTRACE@ -ECHO = @ECHO@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ -FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ -FREETYPE_LIBS = @FREETYPE_LIBS@ GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ GLX_DEFINES = @GLX_DEFINES@ GL_CFLAGS = @GL_CFLAGS@ @@ -177,7 +168,7 @@ KDRIVE_LIBS = @KDRIVE_LIBS@ KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ -LAUNCHD = @LAUNCHD@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ LEX = @LEX@ @@ -191,7 +182,10 @@ LIBTOOL = @LIBTOOL@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LINUXDOC = @LINUXDOC@ +LIPO = @LIPO@ LN_S = @LN_S@ +LTCOMPILE = @LTCOMPILE@ +LTCXXCOMPILE = @LTCXXCOMPILE@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ @@ -203,8 +197,7 @@ MESA_SOURCE = @MESA_SOURCE@ MISC_MAN_DIR = @MISC_MAN_DIR@ MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ MKDIR_P = @MKDIR_P@ -MKFONTDIR = @MKFONTDIR@ -MKFONTSCALE = @MKFONTSCALE@ +NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCCLD = @OBJCCLD@ @@ -213,8 +206,8 @@ OBJCFLAGS = @OBJCFLAGS@ OBJCLINK = @OBJCLINK@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ @@ -247,7 +240,6 @@ VENDOR_NAME = @VENDOR_NAME@ VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ VENDOR_RELEASE = @VENDOR_RELEASE@ VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ XDMCP_CFLAGS = @XDMCP_CFLAGS@ @@ -257,27 +249,12 @@ XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@ XDMX_CFLAGS = @XDMX_CFLAGS@ XDMX_LIBS = @XDMX_LIBS@ XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ XEPHYR_INCS = @XEPHYR_INCS@ XEPHYR_LIBS = @XEPHYR_LIBS@ 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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ @@ -288,10 +265,6 @@ XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ XNEST_LIBS = @XNEST_LIBS@ XNEST_SYS_LIBS = @XNEST_SYS_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_INCS = @XORG_INCS@ XORG_LIBS = @XORG_LIBS@ @@ -300,13 +273,8 @@ XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ XORG_OS = @XORG_OS@ XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_LIBS@ +XPBPROXY_CFLAGS = @XPBPROXY_CFLAGS@ +XPBPROXY_LIBS = @XPBPROXY_LIBS@ XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ XSDL_INCS = @XSDL_INCS@ @@ -339,8 +307,7 @@ 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@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -360,7 +327,6 @@ driverdir = @driverdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ extdir = @extdir@ -ft_config = @ft_config@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ @@ -370,12 +336,12 @@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ -launchagentsdir = @launchagentsdir@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ logdir = @logdir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ moduledir = @moduledir@ @@ -393,11 +359,14 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ libdri_la_LTLIBRARIES = libdri.la libdri_la_CFLAGS = -I$(top_srcdir)/hw/xfree86/common \ -I$(top_srcdir)/hw/xfree86/os-support \ + -I$(top_srcdir)/hw/xfree86/modes \ + -I$(top_srcdir)/hw/xfree86/ddc \ + -I$(top_srcdir)/hw/xfree86/i2c \ + -I$(top_srcdir)/hw/xfree86/parser \ + -I$(top_srcdir)/hw/xfree86/ramdac \ -I$(top_srcdir)/hw/xfree86/os-support/bus \ -I$(top_srcdir)/glx \ -I$(top_srcdir)/GL/include \ @@ -426,8 +395,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ @@ -561,7 +530,7 @@ ID: $(HEADERS) $(SOURCES) $(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; nonemtpy = 1; } \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS diff --git a/xorg-server/hw/xfree86/dri/dri.c b/xorg-server/hw/xfree86/dri/dri.c index 79934a1c5..bddb6510e 100644 --- a/xorg-server/hw/xfree86/dri/dri.c +++ b/xorg-server/hw/xfree86/dri/dri.c @@ -70,6 +70,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #include "mi.h" #include "mipointer.h" #include "xf86_OSproc.h" +#include "inputstr.h" #define PCI_BUS_NO_DOMAIN(bus) ((bus) & 0xffu) @@ -78,8 +79,10 @@ extern Bool noPanoramiXExtension; #endif static int DRIEntPrivIndex = -1; -static DevPrivateKey DRIScreenPrivKey = &DRIScreenPrivKey; -static DevPrivateKey DRIWindowPrivKey = &DRIWindowPrivKey; +static int DRIScreenPrivKeyIndex; +static DevPrivateKey DRIScreenPrivKey = &DRIScreenPrivKeyIndex; +static int DRIWindowPrivKeyIndex; +static DevPrivateKey DRIWindowPrivKey = &DRIWindowPrivKeyIndex; static unsigned long DRIGeneration = 0; static unsigned int DRIDrawableValidationStamp = 0; @@ -299,6 +302,18 @@ DRIOpenDRMMaster(ScrnInfoPtr pScrn, return FALSE; } +static void +DRIClipNotifyAllDrawables(ScreenPtr pScreen); + +static void +dri_crtc_notify(ScreenPtr pScreen) +{ + DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen); + DRIClipNotifyAllDrawables(pScreen); + xf86_unwrap_crtc_notify(pScreen, pDRIPriv->xf86_crtc_notify); + xf86_crtc_notify(pScreen); + pDRIPriv->xf86_crtc_notify = xf86_wrap_crtc_notify(pScreen, dri_crtc_notify); +} Bool DRIScreenInit(ScreenPtr pScreen, DRIInfoPtr pDRIInfo, int *pDRMFD) @@ -342,7 +357,6 @@ DRIScreenInit(ScreenPtr pScreen, DRIInfoPtr pDRIInfo, int *pDRMFD) pDRIEntPriv = DRI_ENT_PRIV(pScrn); - DRIScreenPrivKey = &DRIScreenPrivKey; if (DRIGeneration != serverGeneration) DRIGeneration = serverGeneration; @@ -603,6 +617,9 @@ DRIFinishScreenInit(ScreenPtr pScreen) pDRIPriv->DestroyWindow = pScreen->DestroyWindow; pScreen->DestroyWindow = DRIDestroyWindow; + pDRIPriv->xf86_crtc_notify = xf86_wrap_crtc_notify(pScreen, + dri_crtc_notify); + if (pDRIInfo->wrap.CopyWindow) { pDRIPriv->wrap.CopyWindow = pScreen->CopyWindow; pScreen->CopyWindow = pDRIInfo->wrap.CopyWindow; @@ -656,6 +673,9 @@ DRICloseScreen(ScreenPtr pScreen) pScreen->DestroyWindow = pDRIPriv->DestroyWindow; pDRIPriv->DestroyWindow = NULL; } + + xf86_unwrap_crtc_notify(pScreen, pDRIPriv->xf86_crtc_notify); + if (pDRIInfo->wrap.CopyWindow) { pScreen->CopyWindow = pDRIPriv->wrap.CopyWindow; pDRIPriv->wrap.CopyWindow = NULL; @@ -669,6 +689,7 @@ DRICloseScreen(ScreenPtr pScreen) pScrn->AdjustFrame = pDRIPriv->wrap.AdjustFrame; pDRIPriv->wrap.AdjustFrame = NULL; } + pDRIPriv->wrapped = FALSE; } @@ -1270,7 +1291,7 @@ DRICreateDrawable(ScreenPtr pScreen, ClientPtr client, DrawablePtr pDrawable, *hHWDrawable = pDRIDrawablePriv->hwDrawable; } } - else { /* pixmap (or for GLX 1.3, a PBuffer) */ + else if (pDrawable->type != DRAWABLE_PIXMAP) { /* PBuffer */ /* NOT_DONE */ return FALSE; } @@ -2298,12 +2319,12 @@ DRIAdjustFrame(int scrnIndex, int x, int y, int flags) pScrn->frameY1 = pScrn->frameY0 + pDRIPriv->pSAREA->frame.height - 1; /* Fix up cursor */ - miPointerPosition(&px, &py); + miPointerGetPosition(inputInfo.pointer, &px, &py); if (px < pScrn->frameX0) px = pScrn->frameX0; if (px > pScrn->frameX1) px = pScrn->frameX1; if (py < pScrn->frameY0) py = pScrn->frameY0; if (py > pScrn->frameY1) py = pScrn->frameY1; - pScreen->SetCursorPosition(pScreen, px, py, TRUE); + pScreen->SetCursorPosition(inputInfo.pointer, pScreen, px, py, TRUE); return; } @@ -2434,7 +2455,7 @@ static void drmSIGIOHandler(int interrupt, void *closure) #if 0 fprintf(stderr, "Trying %d\n", entry->fd); #endif - if ((count = read(entry->fd, buf, sizeof(buf))) > 0) { + if ((count = read(entry->fd, buf, sizeof(buf) - 1)) > 0) { buf[count] = '\0'; #if 0 fprintf(stderr, "Got %s\n", buf); diff --git a/xorg-server/hw/xfree86/dri/dristruct.h b/xorg-server/hw/xfree86/dri/dristruct.h index ae970d834..fc929c2f9 100644 --- a/xorg-server/hw/xfree86/dri/dristruct.h +++ b/xorg-server/hw/xfree86/dri/dristruct.h @@ -35,6 +35,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define DRI_STRUCT_H #include "xf86drm.h" +#include "xf86Crtc.h" #define DRI_DRAWABLE_PRIV_FROM_WINDOW(pWin) ((DRIDrawablePrivPtr) \ @@ -106,6 +107,7 @@ typedef struct _DRIScreenPrivRec XF86DRILSAREAPtr pLSAREA; /* Mapped pointer to SAREA containing lock */ int* pLockRefCount; int* pLockingContext; + xf86_crtc_notify_proc_ptr xf86_crtc_notify; } DRIScreenPrivRec, *DRIScreenPrivPtr; diff --git a/xorg-server/hw/xfree86/dri2/Makefile.in b/xorg-server/hw/xfree86/dri2/Makefile.in index c37499cf3..74cc5d42f 100644 --- a/xorg-server/hw/xfree86/dri2/Makefile.in +++ b/xorg-server/hw/xfree86/dri2/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -45,7 +45,6 @@ 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 \ @@ -71,9 +70,6 @@ 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) \ @@ -90,8 +86,9 @@ ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ -APPDEFAULTDIR = @APPDEFAULTDIR@ APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +APPLE_APPLICATION_ID = @APPLE_APPLICATION_ID@ +APPLE_APPLICATION_NAME = @APPLE_APPLICATION_NAME@ APP_MAN_DIR = @APP_MAN_DIR@ APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ AR = @AR@ @@ -112,10 +109,6 @@ 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@ @@ -137,6 +130,7 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOLT_BASH = @DOLT_BASH@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ @@ -146,18 +140,15 @@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ DSYMUTIL = @DSYMUTIL@ DTRACE = @DTRACE@ -ECHO = @ECHO@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ -FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ -FREETYPE_LIBS = @FREETYPE_LIBS@ GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ GLX_DEFINES = @GLX_DEFINES@ GL_CFLAGS = @GL_CFLAGS@ @@ -176,7 +167,7 @@ KDRIVE_LIBS = @KDRIVE_LIBS@ KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ -LAUNCHD = @LAUNCHD@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ LEX = @LEX@ @@ -190,7 +181,10 @@ LIBTOOL = @LIBTOOL@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LINUXDOC = @LINUXDOC@ +LIPO = @LIPO@ LN_S = @LN_S@ +LTCOMPILE = @LTCOMPILE@ +LTCXXCOMPILE = @LTCXXCOMPILE@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ @@ -202,8 +196,7 @@ MESA_SOURCE = @MESA_SOURCE@ MISC_MAN_DIR = @MISC_MAN_DIR@ MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ MKDIR_P = @MKDIR_P@ -MKFONTDIR = @MKFONTDIR@ -MKFONTSCALE = @MKFONTSCALE@ +NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCCLD = @OBJCCLD@ @@ -212,8 +205,8 @@ OBJCFLAGS = @OBJCFLAGS@ OBJCLINK = @OBJCLINK@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ @@ -246,7 +239,6 @@ VENDOR_NAME = @VENDOR_NAME@ VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ VENDOR_RELEASE = @VENDOR_RELEASE@ VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ XDMCP_CFLAGS = @XDMCP_CFLAGS@ @@ -256,27 +248,12 @@ XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@ XDMX_CFLAGS = @XDMX_CFLAGS@ XDMX_LIBS = @XDMX_LIBS@ XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ XEPHYR_INCS = @XEPHYR_INCS@ XEPHYR_LIBS = @XEPHYR_LIBS@ 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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ @@ -287,10 +264,6 @@ XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ XNEST_LIBS = @XNEST_LIBS@ XNEST_SYS_LIBS = @XNEST_SYS_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_INCS = @XORG_INCS@ XORG_LIBS = @XORG_LIBS@ @@ -299,13 +272,8 @@ XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ XORG_OS = @XORG_OS@ XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_LIBS@ +XPBPROXY_CFLAGS = @XPBPROXY_CFLAGS@ +XPBPROXY_LIBS = @XPBPROXY_LIBS@ XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ XSDL_INCS = @XSDL_INCS@ @@ -338,8 +306,7 @@ 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@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -359,7 +326,6 @@ driverdir = @driverdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ extdir = @extdir@ -ft_config = @ft_config@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ @@ -369,12 +335,12 @@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ -launchagentsdir = @launchagentsdir@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ logdir = @logdir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ moduledir = @moduledir@ @@ -392,8 +358,6 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ libdri2_la_LTLIBRARIES = libdri2.la libdri2_la_CFLAGS = \ -DHAVE_XORG_CONFIG_H \ @@ -418,8 +382,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ @@ -545,7 +509,7 @@ ID: $(HEADERS) $(SOURCES) $(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; nonemtpy = 1; } \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS diff --git a/xorg-server/hw/xfree86/dri2/dri2.c b/xorg-server/hw/xfree86/dri2/dri2.c index 74aef7196..580383dbc 100644 --- a/xorg-server/hw/xfree86/dri2/dri2.c +++ b/xorg-server/hw/xfree86/dri2/dri2.c @@ -1,5 +1,5 @@ /* - * Copyright © 2007 Red Hat, Inc. + * Copyright © 2007, 2008 Red Hat, Inc. * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Soft- @@ -38,40 +38,40 @@ #include "xf86Module.h" #include "scrnintstr.h" #include "windowstr.h" -#include "region.h" -#include "damage.h" #include "dri2.h" -#include #include "xf86.h" -static DevPrivateKey dri2ScreenPrivateKey = &dri2ScreenPrivateKey; -static DevPrivateKey dri2WindowPrivateKey = &dri2WindowPrivateKey; -static DevPrivateKey dri2PixmapPrivateKey = &dri2PixmapPrivateKey; - -typedef struct _DRI2DrawablePriv { - unsigned int refCount; - unsigned int boHandle; - unsigned int dri2Handle; -} DRI2DrawablePrivRec, *DRI2DrawablePrivPtr; +static int dri2ScreenPrivateKeyIndex; +static DevPrivateKey dri2ScreenPrivateKey = &dri2ScreenPrivateKeyIndex; +static int dri2WindowPrivateKeyIndex; +static DevPrivateKey dri2WindowPrivateKey = &dri2WindowPrivateKeyIndex; +static int dri2PixmapPrivateKeyIndex; +static DevPrivateKey dri2PixmapPrivateKey = &dri2PixmapPrivateKeyIndex; + +typedef struct _DRI2Drawable { + unsigned int refCount; + int width; + int height; + DRI2Buffer2Ptr *buffers; + int bufferCount; + unsigned int pendingSequence; +} DRI2DrawableRec, *DRI2DrawablePtr; typedef struct _DRI2Screen { - int fd; - drmBO sareaBO; - void *sarea; - unsigned int sareaSize; const char *driverName; - unsigned int nextHandle; + const char *deviceName; + int fd; + unsigned int lastSequence; - __DRIEventBuffer *buffer; - int locked; + DRI2CreateBuffersProcPtr CreateBuffers; + DRI2DestroyBuffersProcPtr DestroyBuffers; - DRI2GetPixmapHandleProcPtr getPixmapHandle; - DRI2BeginClipNotifyProcPtr beginClipNotify; - DRI2EndClipNotifyProcPtr endClipNotify; + DRI2CreateBufferProcPtr CreateBuffer; + DRI2DestroyBufferProcPtr DestroyBuffer; + DRI2CopyRegionProcPtr CopyRegion; - ClipNotifyProcPtr ClipNotify; - HandleExposuresProcPtr HandleExposures; + HandleExposuresProcPtr HandleExposures; } DRI2ScreenRec, *DRI2ScreenPtr; static DRI2ScreenPtr @@ -80,292 +80,414 @@ DRI2GetScreen(ScreenPtr pScreen) return dixLookupPrivate(&pScreen->devPrivates, dri2ScreenPrivateKey); } -static void * -DRI2ScreenAllocEvent(DRI2ScreenPtr ds, size_t size) +static DRI2DrawablePtr +DRI2GetDrawable(DrawablePtr pDraw) { - unsigned int *pad, mask = ds->buffer->size - 1; - size_t pad_size; - void *p; - - if ((ds->buffer->head & mask) + size > ds->buffer->size) { - /* The requested event size would wrap the buffer, so pad to - * the end and allocate the event from the start. */ - pad_size = ds->buffer->size - (ds->buffer->head & mask); - pad = (unsigned int *) - (ds->buffer->data + (ds->buffer->prealloc & mask)); - *pad = DRI2_EVENT_HEADER(DRI2_EVENT_PAD, pad_size); - ds->buffer->prealloc += pad_size; - } - - p = ds->buffer->data + (ds->buffer->prealloc & mask); - ds->buffer->prealloc += size; - - return p; -} + WindowPtr pWin; + PixmapPtr pPixmap; -static void -DRI2ScreenCommitEvents(DRI2ScreenPtr ds) -{ - ds->buffer->head = ds->buffer->prealloc; + if (pDraw->type == DRAWABLE_WINDOW) + { + pWin = (WindowPtr) pDraw; + return dixLookupPrivate(&pWin->devPrivates, dri2WindowPrivateKey); + } + else + { + pPixmap = (PixmapPtr) pDraw; + return dixLookupPrivate(&pPixmap->devPrivates, dri2PixmapPrivateKey); + } } -static void -DRI2PostDrawableConfig(DrawablePtr pDraw) +int +DRI2CreateDrawable(DrawablePtr pDraw) { - ScreenPtr pScreen = pDraw->pScreen; - DRI2ScreenPtr ds = DRI2GetScreen(pScreen); - DRI2DrawablePrivPtr pPriv; - WindowPtr pWin; - PixmapPtr pPixmap; - BoxPtr pBox; - BoxRec pixmapBox; - int nBox; - int i; - __DRIDrawableConfigEvent *e; - size_t size; - - if (pDraw->type == DRAWABLE_WINDOW) { - pWin = (WindowPtr) pDraw; - pPriv = dixLookupPrivate(&pWin->devPrivates, dri2WindowPrivateKey); - - nBox = REGION_NUM_RECTS(&pWin->clipList); - pBox = REGION_RECTS(&pWin->clipList); + WindowPtr pWin; + PixmapPtr pPixmap; + DRI2DrawablePtr pPriv; - pPixmap = pScreen->GetWindowPixmap(pWin); - } else { - pPixmap = (PixmapPtr) pDraw; - pPriv = dixLookupPrivate(&pPixmap->devPrivates, dri2PixmapPrivateKey); - - pixmapBox.x1 = 0; - pixmapBox.y1 = 0; - pixmapBox.x2 = pDraw->width; - pixmapBox.y2 = pDraw->height; - nBox = 1; - pBox = &pixmapBox; + pPriv = DRI2GetDrawable(pDraw); + if (pPriv != NULL) + { + pPriv->refCount++; + return Success; } - if (!pPriv) - return; + pPriv = xalloc(sizeof *pPriv); + if (pPriv == NULL) + return BadAlloc; - size = sizeof *e + nBox * sizeof e->rects[0]; - - e = DRI2ScreenAllocEvent(ds, size); - e->event_header = DRI2_EVENT_HEADER(DRI2_EVENT_DRAWABLE_CONFIG, size); - e->drawable = pPriv->dri2Handle; - e->x = pDraw->x - pPixmap->screen_x; - e->y = pDraw->y - pPixmap->screen_y; - e->width = pDraw->width; - e->height = pDraw->height; - - e->num_rects = nBox; - for (i = 0; i < nBox; i++) { - e->rects[i].x1 = pBox->x1 - pPixmap->screen_x; - e->rects[i].y1 = pBox->y1 - pPixmap->screen_y; - e->rects[i].x2 = pBox->x2 - pPixmap->screen_x; - e->rects[i].y2 = pBox->y2 - pPixmap->screen_y; - pBox++; - } -} + pPriv->refCount = 1; + pPriv->width = pDraw->width; + pPriv->height = pDraw->height; + pPriv->buffers = NULL; + pPriv->bufferCount = 0; -static void -DRI2PostBufferAttach(DrawablePtr pDraw, Bool force) -{ - ScreenPtr pScreen = pDraw->pScreen; - DRI2ScreenPtr ds = DRI2GetScreen(pScreen); - DRI2DrawablePrivPtr pPriv; - WindowPtr pWin; - PixmapPtr pPixmap; - __DRIBufferAttachEvent *e; - size_t size; - unsigned int flags; - unsigned int boHandle; - - if (pDraw->type == DRAWABLE_WINDOW) { + if (pDraw->type == DRAWABLE_WINDOW) + { pWin = (WindowPtr) pDraw; - pPixmap = pScreen->GetWindowPixmap(pWin); - pPriv = dixLookupPrivate(&pWin->devPrivates, dri2WindowPrivateKey); - } else { + dixSetPrivate(&pWin->devPrivates, dri2WindowPrivateKey, pPriv); + } + else + { pPixmap = (PixmapPtr) pDraw; - pPriv = dixLookupPrivate(&pPixmap->devPrivates, dri2PixmapPrivateKey); + dixSetPrivate(&pPixmap->devPrivates, dri2PixmapPrivateKey, pPriv); } - if (!pPriv) - return; - - boHandle = ds->getPixmapHandle(pPixmap, &flags); - if (boHandle == pPriv->boHandle && !force) - return; - - pPriv->boHandle = boHandle; - size = sizeof *e; - e = DRI2ScreenAllocEvent(ds, size); - e->event_header = DRI2_EVENT_HEADER(DRI2_EVENT_BUFFER_ATTACH, size); - e->drawable = pPriv->dri2Handle; - e->buffer.attachment = DRI_DRAWABLE_BUFFER_FRONT_LEFT; - e->buffer.handle = pPriv->boHandle; - e->buffer.pitch = pPixmap->devKind; - e->buffer.cpp = pPixmap->drawable.bitsPerPixel / 8; - e->buffer.flags = flags; + return Success; } -static void -DRI2ClipNotify(WindowPtr pWin, int dx, int dy) +static int +find_attachment(DRI2DrawablePtr pPriv, unsigned attachment) { - ScreenPtr pScreen = pWin->drawable.pScreen; - DRI2ScreenPtr ds = DRI2GetScreen(pScreen); + int i; - if (!ds->locked) { - ds->beginClipNotify(pScreen); - ds->locked = 1; + if (pPriv->buffers == NULL) { + return -1; } - if (ds->ClipNotify) { - pScreen->ClipNotify = ds->ClipNotify; - pScreen->ClipNotify(pWin, dx, dy); - pScreen->ClipNotify = DRI2ClipNotify; + for (i = 0; i < pPriv->bufferCount; i++) { + if ((pPriv->buffers[i] != NULL) + && (pPriv->buffers[i]->attachment == attachment)) { + return i; + } } - DRI2PostDrawableConfig(&pWin->drawable); - DRI2PostBufferAttach(&pWin->drawable, FALSE); + return -1; } -static void -DRI2HandleExposures(WindowPtr pWin) +static DRI2Buffer2Ptr +allocate_or_reuse_buffer(DrawablePtr pDraw, DRI2ScreenPtr ds, + DRI2DrawablePtr pPriv, + unsigned int attachment, unsigned int format, + int dimensions_match) { - ScreenPtr pScreen = pWin->drawable.pScreen; - DRI2ScreenPtr ds = DRI2GetScreen(pScreen); + DRI2Buffer2Ptr buffer; + int old_buf; - if (ds->HandleExposures) { - pScreen->HandleExposures = ds->HandleExposures; - pScreen->HandleExposures(pWin); - pScreen->HandleExposures = DRI2HandleExposures; - } + old_buf = find_attachment(pPriv, attachment); - DRI2ScreenCommitEvents(ds); - - if (ds->locked) { - ds->endClipNotify(pScreen); - ds->locked = 0; + if ((old_buf < 0) + || !dimensions_match + || (pPriv->buffers[old_buf]->format != format)) { + buffer = (*ds->CreateBuffer)(pDraw, attachment, format); + } else { + buffer = pPriv->buffers[old_buf]; + pPriv->buffers[old_buf] = NULL; } + + return buffer; } -void -DRI2CloseScreen(ScreenPtr pScreen) +static DRI2Buffer2Ptr * +do_get_buffers(DrawablePtr pDraw, int *width, int *height, + unsigned int *attachments, int count, int *out_count, + int has_format) { - DRI2ScreenPtr ds = DRI2GetScreen(pScreen); + DRI2ScreenPtr ds = DRI2GetScreen(pDraw->pScreen); + DRI2DrawablePtr pPriv = DRI2GetDrawable(pDraw); + DRI2Buffer2Ptr *buffers; + int need_real_front = 0; + int need_fake_front = 0; + int have_fake_front = 0; + int front_format = 0; + const int dimensions_match = (pDraw->width == pPriv->width) + && (pDraw->height == pPriv->height); + int i; + + + buffers = xalloc((count + 1) * sizeof(buffers[0])); + + if (ds->CreateBuffer) { + /* Version 2 API with CreateBuffer */ + for (i = 0; i < count; i++) { + const unsigned attachment = *(attachments++); + const unsigned format = (has_format) ? *(attachments++) : 0; + + buffers[i] = allocate_or_reuse_buffer(pDraw, ds, pPriv, attachment, + format, dimensions_match); + + /* If the drawable is a window and the front-buffer is requested, + * silently add the fake front-buffer to the list of requested + * attachments. The counting logic in the loop accounts for the case + * where the client requests both the fake and real front-buffer. + */ + if (attachment == DRI2BufferBackLeft) { + need_real_front++; + front_format = format; + } + + if (attachment == DRI2BufferFrontLeft) { + need_real_front--; + front_format = format; + + if (pDraw->type == DRAWABLE_WINDOW) { + need_fake_front++; + } + } + + if (pDraw->type == DRAWABLE_WINDOW) { + if (attachment == DRI2BufferFakeFrontLeft) { + need_fake_front--; + have_fake_front = 1; + } + } + } + + if (need_real_front > 0) { + buffers[i++] = allocate_or_reuse_buffer(pDraw, ds, pPriv, + DRI2BufferFrontLeft, + front_format, dimensions_match); + } + + if (need_fake_front > 0) { + buffers[i++] = allocate_or_reuse_buffer(pDraw, ds, pPriv, + DRI2BufferFakeFrontLeft, + front_format, dimensions_match); + have_fake_front = 1; + } + + *out_count = i; + + + if (pPriv->buffers != NULL) { + for (i = 0; i < pPriv->bufferCount; i++) { + if (pPriv->buffers[i] != NULL) { + (*ds->DestroyBuffer)(pDraw, pPriv->buffers[i]); + } + } + + xfree(pPriv->buffers); + } + } else { + DRI2BufferPtr buffers1; + unsigned int temp_buf[32]; + unsigned int *temp = temp_buf; + int i; + int buffers_match = 1; + + /* Version 1 API with CreateBuffers */ + + if ((count + 1) > 32) { + temp = xalloc((count + 1) * sizeof(temp[0])); + } + + for (i = 0; i < count; i++) { + const unsigned attachment = *(attachments++); + + /* Version 1 doesn't deal with the format at all */ + if (has_format) + attachments++; + + /* + * Make sure the client also gets the front buffer when + * it asks for a back buffer + */ + if (attachment == DRI2BufferBackLeft) + need_real_front++; + + /* + * If the drawable is a window and the front-buffer is requested, + * silently add the fake front-buffer to the list of requested + * attachments. The counting logic in the loop accounts for the + * case where the client requests both the fake and real + * front-buffer. + */ + if (attachment == DRI2BufferFrontLeft) { + need_real_front--; + if (pDraw->type == DRAWABLE_WINDOW) + need_fake_front++; + } + if (pDraw->type == DRAWABLE_WINDOW && + attachment == DRI2BufferFakeFrontLeft) + { + need_fake_front--; + have_fake_front = 1; + } + + temp[i] = attachment; + } + + if (need_real_front > 0) + temp[count++] = DRI2BufferFrontLeft; + + if (need_fake_front > 0) { + temp[count++] = DRI2BufferFakeFrontLeft; + have_fake_front = 1; + } + + if (count != pPriv->bufferCount) + buffers_match = 0; + else { + for (i = 0; i < count; i++) + if (pPriv->buffers[i]->attachment != temp[i]) { + buffers_match = 0; + break; + } + } + if (pPriv->buffers == NULL || !dimensions_match || !buffers_match) + { + buffers1 = (*ds->CreateBuffers)(pDraw, temp, count); + if (pPriv->buffers != NULL) + (*ds->DestroyBuffers)(pDraw, (DRI2BufferPtr) pPriv->buffers[0], + pPriv->bufferCount); + } + else + buffers1 = (DRI2BufferPtr) pPriv->buffers[0]; + + for (i = 0; i < count; i++) + buffers[i] = (DRI2Buffer2Ptr) &buffers1[i]; + + *out_count = count; + + if (pPriv->buffers) + xfree (pPriv->buffers); + + if (temp != temp_buf) { + xfree(temp); + } + } - pScreen->ClipNotify = ds->ClipNotify; - pScreen->HandleExposures = ds->HandleExposures; + pPriv->buffers = buffers; + pPriv->bufferCount = *out_count; + pPriv->width = pDraw->width; + pPriv->height = pDraw->height; + *width = pPriv->width; + *height = pPriv->height; + + + /* If the client is getting a fake front-buffer, pre-fill it with the + * contents of the real front-buffer. This ensures correct operation of + * applications that call glXWaitX before calling glDrawBuffer. + */ + if (have_fake_front) { + BoxRec box; + RegionRec region; + + box.x1 = 0; + box.y1 = 0; + box.x2 = pPriv->width; + box.y2 = pPriv->height; + REGION_INIT(pDraw->pScreen, ®ion, &box, 0); + + DRI2CopyRegion(pDraw, ®ion, DRI2BufferFakeFrontLeft, + DRI2BufferFrontLeft); + } - drmBOUnmap(ds->fd, &ds->sareaBO); - drmBOUnreference(ds->fd, &ds->sareaBO); + return pPriv->buffers; +} - xfree(ds); - dixSetPrivate(&pScreen->devPrivates, dri2ScreenPrivateKey, NULL); +DRI2Buffer2Ptr * +DRI2GetBuffers(DrawablePtr pDraw, int *width, int *height, + unsigned int *attachments, int count, int *out_count) +{ + return do_get_buffers(pDraw, width, height, attachments, count, + out_count, FALSE); } -Bool -DRI2CreateDrawable(DrawablePtr pDraw, - unsigned int *handle, unsigned int *head) +DRI2Buffer2Ptr * +DRI2GetBuffersWithFormat(DrawablePtr pDraw, int *width, int *height, + unsigned int *attachments, int count, int *out_count) { - DRI2ScreenPtr ds = DRI2GetScreen(pDraw->pScreen); - WindowPtr pWin; - PixmapPtr pPixmap; - DRI2DrawablePrivPtr pPriv; - DevPrivateKey key; - PrivateRec **devPrivates; - - if (pDraw->type == DRAWABLE_WINDOW) { - pWin = (WindowPtr) pDraw; - devPrivates = &pWin->devPrivates; - key = dri2WindowPrivateKey; - } else { - pPixmap = (PixmapPtr) pDraw; - devPrivates = &pPixmap->devPrivates; - key = dri2PixmapPrivateKey; - } + return do_get_buffers(pDraw, width, height, attachments, count, + out_count, TRUE); +} - pPriv = dixLookupPrivate(devPrivates, key); - if (pPriv != NULL) { - pPriv->refCount++; - } else { - pPriv = xalloc(sizeof *pPriv); - pPriv->refCount = 1; - pPriv->boHandle = 0; - pPriv->dri2Handle = ds->nextHandle++; - dixSetPrivate(devPrivates, key, pPriv); - } +int +DRI2CopyRegion(DrawablePtr pDraw, RegionPtr pRegion, + unsigned int dest, unsigned int src) +{ + DRI2ScreenPtr ds = DRI2GetScreen(pDraw->pScreen); + DRI2DrawablePtr pPriv; + DRI2BufferPtr pDestBuffer, pSrcBuffer; + int i; - *handle = pPriv->dri2Handle; - *head = ds->buffer->head; + pPriv = DRI2GetDrawable(pDraw); + if (pPriv == NULL) + return BadDrawable; + + pDestBuffer = NULL; + pSrcBuffer = NULL; + for (i = 0; i < pPriv->bufferCount; i++) + { + if (pPriv->buffers[i]->attachment == dest) + pDestBuffer = (DRI2BufferPtr) pPriv->buffers[i]; + if (pPriv->buffers[i]->attachment == src) + pSrcBuffer = (DRI2BufferPtr) pPriv->buffers[i]; + } + if (pSrcBuffer == NULL || pDestBuffer == NULL) + return BadValue; - DRI2PostDrawableConfig(pDraw); - DRI2PostBufferAttach(pDraw, TRUE); - DRI2ScreenCommitEvents(ds); + (*ds->CopyRegion)(pDraw, pRegion, pDestBuffer, pSrcBuffer); - return TRUE; + return Success; } void DRI2DestroyDrawable(DrawablePtr pDraw) { - PixmapPtr pPixmap; - WindowPtr pWin; - DRI2DrawablePrivPtr pPriv; - DevPrivateKey key; - PrivateRec **devPrivates; - - if (pDraw->type == DRAWABLE_WINDOW) { - pWin = (WindowPtr) pDraw; - devPrivates = &pWin->devPrivates; - key = dri2WindowPrivateKey; - } else { - pPixmap = (PixmapPtr) pDraw; - devPrivates = &pPixmap->devPrivates; - key = dri2PixmapPrivateKey; - } + DRI2ScreenPtr ds = DRI2GetScreen(pDraw->pScreen); + DRI2DrawablePtr pPriv; + WindowPtr pWin; + PixmapPtr pPixmap; - pPriv = dixLookupPrivate(devPrivates, key); + pPriv = DRI2GetDrawable(pDraw); if (pPriv == NULL) return; - + pPriv->refCount--; - if (pPriv->refCount == 0) { - dixSetPrivate(devPrivates, key, NULL); - xfree(pPriv); - } -} + if (pPriv->refCount > 0) + return; -void -DRI2ReemitDrawableInfo(DrawablePtr pDraw, unsigned int *head) -{ - DRI2ScreenPtr ds = DRI2GetScreen(pDraw->pScreen); + if (pPriv->buffers != NULL) { + int i; - *head = ds->buffer->head; + if (ds->DestroyBuffer) { + for (i = 0; i < pPriv->bufferCount; i++) { + (*ds->DestroyBuffer)(pDraw, pPriv->buffers[i]); + } + } else { + (*ds->DestroyBuffers)(pDraw, (DRI2BufferPtr) pPriv->buffers[0], + pPriv->bufferCount); + } - DRI2PostDrawableConfig(pDraw); - DRI2PostBufferAttach(pDraw, TRUE); - DRI2ScreenCommitEvents(ds); + xfree(pPriv->buffers); + } + + xfree(pPriv); + + if (pDraw->type == DRAWABLE_WINDOW) + { + pWin = (WindowPtr) pDraw; + dixSetPrivate(&pWin->devPrivates, dri2WindowPrivateKey, NULL); + } + else + { + pPixmap = (PixmapPtr) pDraw; + dixSetPrivate(&pPixmap->devPrivates, dri2PixmapPrivateKey, NULL); + } } Bool -DRI2Connect(ScreenPtr pScreen, int *fd, const char **driverName, - unsigned int *sareaHandle) +DRI2Connect(ScreenPtr pScreen, unsigned int driverType, int *fd, + const char **driverName, const char **deviceName) { DRI2ScreenPtr ds = DRI2GetScreen(pScreen); if (ds == NULL) return FALSE; + if (driverType != DRI2DriverDRI) + return BadValue; + *fd = ds->fd; *driverName = ds->driverName; - *sareaHandle = ds->sareaBO.handle; + *deviceName = ds->deviceName; return TRUE; } Bool -DRI2AuthConnection(ScreenPtr pScreen, drm_magic_t magic) +DRI2Authenticate(ScreenPtr pScreen, drm_magic_t magic) { DRI2ScreenPtr ds = DRI2GetScreen(pScreen); @@ -375,86 +497,61 @@ DRI2AuthConnection(ScreenPtr pScreen, drm_magic_t magic) return TRUE; } -unsigned int -DRI2GetPixmapHandle(PixmapPtr pPixmap, unsigned int *flags) -{ - DRI2ScreenPtr ds = DRI2GetScreen(pPixmap->drawable.pScreen); - - return ds->getPixmapHandle(pPixmap, flags); -} - -static void * -DRI2SetupSAREA(ScreenPtr pScreen, size_t driverSareaSize) -{ - DRI2ScreenPtr ds = DRI2GetScreen(pScreen); - unsigned long mask; - const size_t event_buffer_size = 32 * 1024; - - ds->sareaSize = - sizeof(*ds->buffer) + event_buffer_size + - driverSareaSize + - sizeof (unsigned int); - - mask = DRM_BO_FLAG_READ | DRM_BO_FLAG_WRITE | DRM_BO_FLAG_MAPPABLE | - DRM_BO_FLAG_MEM_LOCAL | DRM_BO_FLAG_SHAREABLE; - - if (drmBOCreate(ds->fd, ds->sareaSize, 1, NULL, mask, 0, &ds->sareaBO)) - return NULL; - - if (drmBOMap(ds->fd, &ds->sareaBO, - DRM_BO_FLAG_READ | DRM_BO_FLAG_WRITE, 0, &ds->sarea)) { - drmBOUnreference(ds->fd, &ds->sareaBO); - return NULL; - } - - xf86DrvMsg(pScreen->myNum, X_INFO, - "[DRI2] Allocated %d byte SAREA, BO handle 0x%08x\n", - ds->sareaSize, ds->sareaBO.handle); - memset(ds->sarea, 0, ds->sareaSize); - - ds->buffer = ds->sarea; - ds->buffer->block_header = - DRI2_SAREA_BLOCK_HEADER(DRI2_SAREA_BLOCK_EVENT_BUFFER, - sizeof *ds->buffer + event_buffer_size); - ds->buffer->size = event_buffer_size; - - return DRI2_SAREA_BLOCK_NEXT(ds->buffer); -} - -void * +Bool DRI2ScreenInit(ScreenPtr pScreen, DRI2InfoPtr info) { DRI2ScreenPtr ds; - void *p; ds = xalloc(sizeof *ds); if (!ds) - return NULL; - - ds->fd = info->fd; - ds->driverName = info->driverName; - ds->nextHandle = 1; - - ds->getPixmapHandle = info->getPixmapHandle; - ds->beginClipNotify = info->beginClipNotify; - ds->endClipNotify = info->endClipNotify; - - ds->ClipNotify = pScreen->ClipNotify; - pScreen->ClipNotify = DRI2ClipNotify; - ds->HandleExposures = pScreen->HandleExposures; - pScreen->HandleExposures = DRI2HandleExposures; + return FALSE; - dixSetPrivate(&pScreen->devPrivates, dri2ScreenPrivateKey, ds); + ds->fd = info->fd; + ds->driverName = info->driverName; + ds->deviceName = info->deviceName; + + /* Prefer the new one-at-a-time buffer API */ + if (info->version >= 2 && info->CreateBuffer && info->DestroyBuffer) { + ds->CreateBuffer = info->CreateBuffer; + ds->DestroyBuffer = info->DestroyBuffer; + ds->CreateBuffers = NULL; + ds->DestroyBuffers = NULL; + } else if (info->CreateBuffers && info->DestroyBuffers) { + xf86DrvMsg(pScreen->myNum, X_WARNING, + "[DRI2] Version 1 API (broken front buffer rendering)\n"); + ds->CreateBuffer = NULL; + ds->DestroyBuffer = NULL; + ds->CreateBuffers = info->CreateBuffers; + ds->DestroyBuffers = info->DestroyBuffers; + } else { + xf86DrvMsg(pScreen->myNum, X_ERROR, + "[DRI2] Missing buffer management functions\n"); + xfree(ds); + return FALSE; + } - p = DRI2SetupSAREA(pScreen, info->driverSareaSize); - if (p == NULL) { + if (!info->CopyRegion) { + xf86DrvMsg(pScreen->myNum, X_ERROR, + "[DRI2] Missing copy region function\n"); xfree(ds); - return NULL; + return FALSE; } + ds->CopyRegion = info->CopyRegion; + + dixSetPrivate(&pScreen->devPrivates, dri2ScreenPrivateKey, ds); xf86DrvMsg(pScreen->myNum, X_INFO, "[DRI2] Setup complete\n"); - return p; + return TRUE; +} + +void +DRI2CloseScreen(ScreenPtr pScreen) +{ + DRI2ScreenPtr ds = DRI2GetScreen(pScreen); + + xfree(ds); + dixSetPrivate(&pScreen->devPrivates, dri2ScreenPrivateKey, NULL); } extern ExtensionModule dri2ExtensionModule; @@ -464,10 +561,13 @@ DRI2Setup(pointer module, pointer opts, int *errmaj, int *errmin) { static Bool setupDone = FALSE; - if (!setupDone) { + if (!setupDone) + { setupDone = TRUE; LoadExtension(&dri2ExtensionModule, FALSE); - } else { + } + else + { if (errmaj) *errmaj = LDR_ONCEONLY; } @@ -482,7 +582,7 @@ static XF86ModuleVersionInfo DRI2VersRec = MODINFOSTRING1, MODINFOSTRING2, XORG_VERSION_CURRENT, - 1, 0, 0, + 1, 1, 0, ABI_CLASS_EXTENSION, ABI_EXTENSION_VERSION, MOD_CLASS_NONE, @@ -491,3 +591,12 @@ static XF86ModuleVersionInfo DRI2VersRec = _X_EXPORT XF86ModuleData dri2ModuleData = { &DRI2VersRec, DRI2Setup, NULL }; +void +DRI2Version(int *major, int *minor) +{ + if (major != NULL) + *major = DRI2VersRec.majorversion; + + if (minor != NULL) + *minor = DRI2VersRec.minorversion; +} diff --git a/xorg-server/hw/xfree86/dri2/dri2.h b/xorg-server/hw/xfree86/dri2/dri2.h index 85b3da41c..f3692673a 100644 --- a/xorg-server/hw/xfree86/dri2/dri2.h +++ b/xorg-server/hw/xfree86/dri2/dri2.h @@ -33,49 +33,124 @@ #ifndef _DRI2_H_ #define _DRI2_H_ -typedef unsigned int (*DRI2GetPixmapHandleProcPtr)(PixmapPtr p, - unsigned int *flags); -typedef void (*DRI2BeginClipNotifyProcPtr)(ScreenPtr pScreen); -typedef void (*DRI2EndClipNotifyProcPtr)(ScreenPtr pScreen); +#include +/* Version 1 structure (for ABI compatibility) */ typedef struct { - unsigned int version; /* Version of this struct */ + unsigned int attachment; + unsigned int name; + unsigned int pitch; + unsigned int cpp; + unsigned int flags; + void *driverPrivate; +} DRI2BufferRec, *DRI2BufferPtr; + +/* Version 2 structure (with format at the end) */ +typedef struct { + unsigned int attachment; + unsigned int name; + unsigned int pitch; + unsigned int cpp; + unsigned int flags; + void *driverPrivate; + unsigned int format; +} DRI2Buffer2Rec, *DRI2Buffer2Ptr; + +typedef DRI2BufferPtr (*DRI2CreateBuffersProcPtr)(DrawablePtr pDraw, + unsigned int *attachments, + int count); +typedef void (*DRI2DestroyBuffersProcPtr)(DrawablePtr pDraw, + DRI2BufferPtr buffers, + int count); +typedef void (*DRI2CopyRegionProcPtr)(DrawablePtr pDraw, + RegionPtr pRegion, + DRI2BufferPtr pDestBuffer, + DRI2BufferPtr pSrcBuffer); + +typedef void (*DRI2WaitProcPtr)(WindowPtr pWin, + unsigned int sequence); + +typedef DRI2Buffer2Ptr (*DRI2CreateBufferProcPtr)(DrawablePtr pDraw, + unsigned int attachment, + unsigned int format); +typedef void (*DRI2DestroyBufferProcPtr)(DrawablePtr pDraw, + DRI2Buffer2Ptr buffer); + +/** + * Version of the DRI2InfoRec structure defined in this header + */ +#define DRI2INFOREC_VERSION 2 + +typedef struct { + unsigned int version; /**< Version of this struct */ int fd; - size_t driverSareaSize; const char *driverName; - DRI2GetPixmapHandleProcPtr getPixmapHandle; - DRI2BeginClipNotifyProcPtr beginClipNotify; - DRI2EndClipNotifyProcPtr endClipNotify; + const char *deviceName; + + DRI2CreateBuffersProcPtr CreateBuffers; + DRI2DestroyBuffersProcPtr DestroyBuffers; + DRI2CopyRegionProcPtr CopyRegion; + DRI2WaitProcPtr Wait; + + /** + * \name Fields added in version 2 of the structure. + */ + /*@{*/ + DRI2CreateBufferProcPtr CreateBuffer; + DRI2DestroyBufferProcPtr DestroyBuffer; + /*@}*/ + } DRI2InfoRec, *DRI2InfoPtr; -void *DRI2ScreenInit(ScreenPtr pScreen, - DRI2InfoPtr info); +Bool DRI2ScreenInit(ScreenPtr pScreen, + DRI2InfoPtr info); void DRI2CloseScreen(ScreenPtr pScreen); Bool DRI2Connect(ScreenPtr pScreen, + unsigned int driverType, int *fd, const char **driverName, - unsigned int *sareaHandle); + const char **deviceName); -Bool DRI2AuthConnection(ScreenPtr pScreen, drm_magic_t magic); +Bool DRI2Authenticate(ScreenPtr pScreen, drm_magic_t magic); -unsigned int DRI2GetPixmapHandle(PixmapPtr pPixmap, - unsigned int *flags); +int DRI2CreateDrawable(DrawablePtr pDraw); -void DRI2Lock(ScreenPtr pScreen); -void DRI2Unlock(ScreenPtr pScreen); +void DRI2DestroyDrawable(DrawablePtr pDraw); -Bool DRI2CreateDrawable(DrawablePtr pDraw, - unsigned int *handle, - unsigned int *head); +DRI2Buffer2Ptr *DRI2GetBuffers(DrawablePtr pDraw, + int *width, + int *height, + unsigned int *attachments, + int count, + int *out_count); -void DRI2DestroyDrawable(DrawablePtr pDraw); +int DRI2CopyRegion(DrawablePtr pDraw, + RegionPtr pRegion, + unsigned int dest, + unsigned int src); -void DRI2ReemitDrawableInfo(DrawablePtr pDraw, - unsigned int *head); +/** + * Determine the major and minor version of the DRI2 extension. + * + * Provides a mechanism to other modules (e.g., 2D drivers) to determine the + * version of the DRI2 extension. While it is possible to peek directly at + * the \c XF86ModuleData from a layered module, such a module will fail to + * load (due to an unresolved symbol) if the DRI2 extension is not loaded. + * + * \param major Location to store the major verion of the DRI2 extension + * \param minor Location to store the minor verion of the DRI2 extension + * + * \note + * This interface was added some time after the initial release of the DRI2 + * module. Layered modules that wish to use this interface must first test + * its existance by calling \c xf86LoaderCheckSymbol. + */ +extern _X_EXPORT void DRI2Version(int *major, int *minor); -Bool DRI2PostDamage(DrawablePtr pDrawable, - struct drm_clip_rect *rects, int numRects); +extern _X_EXPORT DRI2Buffer2Ptr *DRI2GetBuffersWithFormat(DrawablePtr pDraw, + int *width, int *height, unsigned int *attachments, int count, + int *out_count); #endif diff --git a/xorg-server/hw/xfree86/dri2/dri2ext.c b/xorg-server/hw/xfree86/dri2/dri2ext.c index 4ae0fda3a..3c06174cb 100644 --- a/xorg-server/hw/xfree86/dri2/dri2ext.c +++ b/xorg-server/hw/xfree86/dri2/dri2ext.c @@ -38,11 +38,13 @@ #include #include #include +#include #include "dixstruct.h" #include "scrnintstr.h" #include "pixmapstr.h" #include "extnsionst.h" #include "xf86drm.h" +#include "xfixes.h" #include "dri2.h" /* The only xf86 include */ @@ -51,19 +53,6 @@ static ExtensionEntry *dri2Extension; static RESTYPE dri2DrawableRes; -static Bool -validScreen(ClientPtr client, int screen, ScreenPtr *pScreen) -{ - if (screen >= screenInfo.numScreens) { - client->errorValue = screen; - return FALSE; - } - - *pScreen = screenInfo.screens[screen]; - - return TRUE; -} - static Bool validDrawable(ClientPtr client, XID drawable, DrawablePtr *pDrawable, int *status) @@ -91,8 +80,8 @@ ProcDRI2QueryVersion(ClientPtr client) rep.type = X_Reply; rep.length = 0; rep.sequenceNumber = client->sequence; - rep.majorVersion = DRI2_MAJOR; - rep.minorVersion = DRI2_MINOR; + rep.majorVersion = 1; + rep.minorVersion = 1; if (client->swapped) { swaps(&rep.sequenceNumber, n); @@ -111,67 +100,55 @@ ProcDRI2Connect(ClientPtr client) { REQUEST(xDRI2ConnectReq); xDRI2ConnectReply rep; - ScreenPtr pScreen; - int fd; + DrawablePtr pDraw; + int fd, status; const char *driverName; - char *busId = NULL; - unsigned int sareaHandle; + const char *deviceName; REQUEST_SIZE_MATCH(xDRI2ConnectReq); - if (!validScreen(client, stuff->screen, &pScreen)) - return BadValue; + if (!validDrawable(client, stuff->window, &pDraw, &status)) + return status; rep.type = X_Reply; rep.length = 0; rep.sequenceNumber = client->sequence; rep.driverNameLength = 0; - rep.busIdLength = 0; - rep.sareaHandle = 0; - - if (!DRI2Connect(pScreen, &fd, &driverName, &sareaHandle)) - goto fail; + rep.deviceNameLength = 0; - busId = drmGetBusid(fd); - if (busId == NULL) + if (!DRI2Connect(pDraw->pScreen, + stuff->driverType, &fd, &driverName, &deviceName)) goto fail; rep.driverNameLength = strlen(driverName); - rep.busIdLength = strlen(busId); - rep.sareaHandle = sareaHandle; - rep.length = (rep.driverNameLength + 3) / 4 + (rep.busIdLength + 3) / 4; + rep.deviceNameLength = strlen(deviceName); + rep.length = (rep.driverNameLength + 3) / 4 + + (rep.deviceNameLength + 3) / 4; fail: WriteToClient(client, sizeof(xDRI2ConnectReply), &rep); WriteToClient(client, rep.driverNameLength, driverName); - WriteToClient(client, rep.busIdLength, busId); - drmFreeBusid(busId); + WriteToClient(client, rep.deviceNameLength, deviceName); return client->noClientException; } static int -ProcDRI2AuthConnection(ClientPtr client) +ProcDRI2Authenticate(ClientPtr client) { - REQUEST(xDRI2AuthConnectionReq); - xDRI2AuthConnectionReply rep; - ScreenPtr pScreen; + REQUEST(xDRI2AuthenticateReq); + xDRI2AuthenticateReply rep; + DrawablePtr pDraw; + int status; - REQUEST_SIZE_MATCH(xDRI2AuthConnectionReq); - if (!validScreen(client, stuff->screen, &pScreen)) - return BadValue; + REQUEST_SIZE_MATCH(xDRI2AuthenticateReq); + if (!validDrawable(client, stuff->window, &pDraw, &status)) + return status; rep.type = X_Reply; - rep.length = 0; rep.sequenceNumber = client->sequence; - rep.authenticated = 1; - - if (!DRI2AuthConnection(pScreen, stuff->magic)) { - ErrorF("DRI2: Failed to authenticate %lu\n", - (unsigned long) stuff->magic); - rep.authenticated = 0; - } - - WriteToClient(client, sizeof(xDRI2AuthConnectionReply), &rep); + rep.length = 0; + rep.authenticated = DRI2Authenticate(pDraw->pScreen, stuff->magic); + WriteToClient(client, sizeof(xDRI2AuthenticateReply), &rep); return client->noClientException; } @@ -180,9 +157,7 @@ static int ProcDRI2CreateDrawable(ClientPtr client) { REQUEST(xDRI2CreateDrawableReq); - xDRI2CreateDrawableReply rep; DrawablePtr pDrawable; - unsigned int handle, head; int status; REQUEST_SIZE_MATCH(xDRI2CreateDrawableReq); @@ -190,22 +165,15 @@ ProcDRI2CreateDrawable(ClientPtr client) if (!validDrawable(client, stuff->drawable, &pDrawable, &status)) return status; - if (!DRI2CreateDrawable(pDrawable, &handle, &head)) - return BadMatch; + status = DRI2CreateDrawable(pDrawable); + if (status != Success) + return status; if (!AddResource(stuff->drawable, dri2DrawableRes, pDrawable)) { DRI2DestroyDrawable(pDrawable); return BadAlloc; } - rep.type = X_Reply; - rep.length = 0; - rep.sequenceNumber = client->sequence; - rep.handle = handle; - rep.head = head; - - WriteToClient(client, sizeof(xDRI2CreateDrawableReply), &rep); - return client->noClientException; } @@ -225,27 +193,131 @@ ProcDRI2DestroyDrawable(ClientPtr client) return client->noClientException; } + +static void +send_buffers_reply(ClientPtr client, DrawablePtr pDrawable, + DRI2Buffer2Ptr *buffers, int count, int width, int height) +{ + xDRI2GetBuffersReply rep; + int skip = 0; + int i; + + if (pDrawable->type == DRAWABLE_WINDOW) { + for (i = 0; i < count; i++) { + /* Do not send the real front buffer of a window to the client. + */ + if (buffers[i]->attachment == DRI2BufferFrontLeft) { + skip++; + continue; + } + } + } + + rep.type = X_Reply; + rep.length = (count - skip) * sizeof(xDRI2Buffer) / 4; + rep.sequenceNumber = client->sequence; + rep.width = width; + rep.height = height; + rep.count = count - skip; + WriteToClient(client, sizeof(xDRI2GetBuffersReply), &rep); + + for (i = 0; i < count; i++) { + xDRI2Buffer buffer; + + /* Do not send the real front buffer of a window to the client. + */ + if ((pDrawable->type == DRAWABLE_WINDOW) + && (buffers[i]->attachment == DRI2BufferFrontLeft)) { + continue; + } + + buffer.attachment = buffers[i]->attachment; + buffer.name = buffers[i]->name; + buffer.pitch = buffers[i]->pitch; + buffer.cpp = buffers[i]->cpp; + buffer.flags = buffers[i]->flags; + WriteToClient(client, sizeof(xDRI2Buffer), &buffer); + } +} + + +static int +ProcDRI2GetBuffers(ClientPtr client) +{ + REQUEST(xDRI2GetBuffersReq); + DrawablePtr pDrawable; + DRI2Buffer2Ptr *buffers; + int status, width, height, count; + unsigned int *attachments; + + REQUEST_FIXED_SIZE(xDRI2GetBuffersReq, stuff->count * 4); + if (!validDrawable(client, stuff->drawable, &pDrawable, &status)) + return status; + + attachments = (unsigned int *) &stuff[1]; + buffers = DRI2GetBuffers(pDrawable, &width, &height, + attachments, stuff->count, &count); + + + send_buffers_reply(client, pDrawable, buffers, count, width, height); + + return client->noClientException; +} + static int -ProcDRI2ReemitDrawableInfo(ClientPtr client) +ProcDRI2GetBuffersWithFormat(ClientPtr client) { - REQUEST(xDRI2ReemitDrawableInfoReq); - xDRI2ReemitDrawableInfoReply rep; + REQUEST(xDRI2GetBuffersReq); + DrawablePtr pDrawable; + DRI2Buffer2Ptr *buffers; + int status, width, height, count; + unsigned int *attachments; + + REQUEST_FIXED_SIZE(xDRI2GetBuffersReq, stuff->count * (2 * 4)); + if (!validDrawable(client, stuff->drawable, &pDrawable, &status)) + return status; + + attachments = (unsigned int *) &stuff[1]; + buffers = DRI2GetBuffersWithFormat(pDrawable, &width, &height, + attachments, stuff->count, &count); + + send_buffers_reply(client, pDrawable, buffers, count, width, height); + + return client->noClientException; +} + +static int +ProcDRI2CopyRegion(ClientPtr client) +{ + REQUEST(xDRI2CopyRegionReq); + xDRI2CopyRegionReply rep; DrawablePtr pDrawable; - unsigned int head; int status; + RegionPtr pRegion; + + REQUEST_SIZE_MATCH(xDRI2CopyRegionReq); - REQUEST_SIZE_MATCH(xDRI2ReemitDrawableInfoReq); if (!validDrawable(client, stuff->drawable, &pDrawable, &status)) return status; - DRI2ReemitDrawableInfo(pDrawable, &head); + VERIFY_REGION(pRegion, stuff->region, client, DixReadAccess); + + status = DRI2CopyRegion(pDrawable, pRegion, stuff->dest, stuff->src); + if (status != Success) + return status; + + /* CopyRegion needs to be a round trip to make sure the X server + * queues the swap buffer rendering commands before the DRI client + * continues rendering. The reply has a bitmask to signal the + * presense of optional return values as well, but we're not using + * that yet. + */ rep.type = X_Reply; rep.length = 0; rep.sequenceNumber = client->sequence; - rep.head = head; - WriteToClient(client, sizeof(xDRI2ReemitDrawableInfoReply), &rep); + WriteToClient(client, sizeof(xDRI2CopyRegionReply), &rep); return client->noClientException; } @@ -266,14 +338,18 @@ ProcDRI2Dispatch (ClientPtr client) switch (stuff->data) { case X_DRI2Connect: return ProcDRI2Connect(client); - case X_DRI2AuthConnection: - return ProcDRI2AuthConnection(client); + case X_DRI2Authenticate: + return ProcDRI2Authenticate(client); case X_DRI2CreateDrawable: return ProcDRI2CreateDrawable(client); case X_DRI2DestroyDrawable: return ProcDRI2DestroyDrawable(client); - case X_DRI2ReemitDrawableInfo: - return ProcDRI2ReemitDrawableInfo(client); + case X_DRI2GetBuffers: + return ProcDRI2GetBuffers(client); + case X_DRI2CopyRegion: + return ProcDRI2CopyRegion(client); + case X_DRI2GetBuffersWithFormat: + return ProcDRI2GetBuffersWithFormat(client); default: return BadRequest; } @@ -296,8 +372,7 @@ SProcDRI2Connect(ClientPtr client) swaps(&rep.sequenceNumber, n); rep.length = 0; rep.driverNameLength = 0; - rep.busIdLength = 0; - rep.sareaHandle = 0; + rep.deviceNameLength = 0; return client->noClientException; } @@ -322,11 +397,6 @@ SProcDRI2Dispatch (ClientPtr client) } } -static void -DRI2ResetProc (ExtensionEntry *extEntry) -{ -} - static int DRI2DrawableGone(pointer p, XID id) { DrawablePtr pDrawable = p; @@ -344,7 +414,7 @@ DRI2ExtensionInit(void) DRI2NumberErrors, ProcDRI2Dispatch, SProcDRI2Dispatch, - DRI2ResetProc, + NULL, StandardMinorOpcode); dri2DrawableRes = CreateNewResourceType(DRI2DrawableGone); diff --git a/xorg-server/hw/xfree86/dummylib/Makefile.in b/xorg-server/hw/xfree86/dummylib/Makefile.in index 3611a3d02..f71e34427 100644 --- a/xorg-server/hw/xfree86/dummylib/Makefile.in +++ b/xorg-server/hw/xfree86/dummylib/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -47,7 +47,6 @@ 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 \ @@ -82,9 +81,6 @@ 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) \ @@ -99,8 +95,9 @@ ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ -APPDEFAULTDIR = @APPDEFAULTDIR@ APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +APPLE_APPLICATION_ID = @APPLE_APPLICATION_ID@ +APPLE_APPLICATION_NAME = @APPLE_APPLICATION_NAME@ APP_MAN_DIR = @APP_MAN_DIR@ APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ AR = @AR@ @@ -121,10 +118,6 @@ 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@ @@ -146,6 +139,7 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOLT_BASH = @DOLT_BASH@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ @@ -155,18 +149,15 @@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ DSYMUTIL = @DSYMUTIL@ DTRACE = @DTRACE@ -ECHO = @ECHO@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ -FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ -FREETYPE_LIBS = @FREETYPE_LIBS@ GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ GLX_DEFINES = @GLX_DEFINES@ GL_CFLAGS = @GL_CFLAGS@ @@ -185,7 +176,7 @@ KDRIVE_LIBS = @KDRIVE_LIBS@ KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ -LAUNCHD = @LAUNCHD@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ LEX = @LEX@ @@ -199,7 +190,10 @@ LIBTOOL = @LIBTOOL@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LINUXDOC = @LINUXDOC@ +LIPO = @LIPO@ LN_S = @LN_S@ +LTCOMPILE = @LTCOMPILE@ +LTCXXCOMPILE = @LTCXXCOMPILE@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ @@ -211,8 +205,7 @@ MESA_SOURCE = @MESA_SOURCE@ MISC_MAN_DIR = @MISC_MAN_DIR@ MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ MKDIR_P = @MKDIR_P@ -MKFONTDIR = @MKFONTDIR@ -MKFONTSCALE = @MKFONTSCALE@ +NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCCLD = @OBJCCLD@ @@ -221,8 +214,8 @@ OBJCFLAGS = @OBJCFLAGS@ OBJCLINK = @OBJCLINK@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ @@ -255,7 +248,6 @@ VENDOR_NAME = @VENDOR_NAME@ VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ VENDOR_RELEASE = @VENDOR_RELEASE@ VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ XDMCP_CFLAGS = @XDMCP_CFLAGS@ @@ -265,27 +257,12 @@ XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@ XDMX_CFLAGS = @XDMX_CFLAGS@ XDMX_LIBS = @XDMX_LIBS@ XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ XEPHYR_INCS = @XEPHYR_INCS@ XEPHYR_LIBS = @XEPHYR_LIBS@ 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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ @@ -296,10 +273,6 @@ XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ XNEST_LIBS = @XNEST_LIBS@ XNEST_SYS_LIBS = @XNEST_SYS_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_INCS = @XORG_INCS@ XORG_LIBS = @XORG_LIBS@ @@ -308,13 +281,8 @@ XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ XORG_OS = @XORG_OS@ XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_LIBS@ +XPBPROXY_CFLAGS = @XPBPROXY_CFLAGS@ +XPBPROXY_LIBS = @XPBPROXY_LIBS@ XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ XSDL_INCS = @XSDL_INCS@ @@ -347,8 +315,7 @@ 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@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -368,7 +335,6 @@ driverdir = @driverdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ extdir = @extdir@ -ft_config = @ft_config@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ @@ -378,12 +344,12 @@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ -launchagentsdir = @launchagentsdir@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ logdir = @logdir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ moduledir = @moduledir@ @@ -401,8 +367,6 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ noinst_LIBRARIES = libdummy-nonserver.a INCLUDES = $(XORG_INCS) AM_CFLAGS = $(DIX_CFLAGS) $(XORG_CFLAGS) @@ -439,8 +403,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ @@ -575,7 +539,7 @@ ID: $(HEADERS) $(SOURCES) $(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; nonemtpy = 1; } \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS diff --git a/xorg-server/hw/xfree86/dummylib/xf86info.c b/xorg-server/hw/xfree86/dummylib/xf86info.c index 221a9d2bb..7db6817c3 100644 --- a/xorg-server/hw/xfree86/dummylib/xf86info.c +++ b/xorg-server/hw/xfree86/dummylib/xf86info.c @@ -8,5 +8,5 @@ #include "xf86Priv.h" /* Dummy variables */ -xf86InfoRec xf86Info = {NULL, }; +xf86InfoRec xf86Info; diff --git a/xorg-server/hw/xfree86/exa/Makefile.in b/xorg-server/hw/xfree86/exa/Makefile.in index 0311735a6..69c409f54 100644 --- a/xorg-server/hw/xfree86/exa/Makefile.in +++ b/xorg-server/hw/xfree86/exa/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -49,7 +49,6 @@ 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 \ @@ -75,9 +74,6 @@ 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) \ @@ -94,8 +90,9 @@ ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ -APPDEFAULTDIR = @APPDEFAULTDIR@ APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +APPLE_APPLICATION_ID = @APPLE_APPLICATION_ID@ +APPLE_APPLICATION_NAME = @APPLE_APPLICATION_NAME@ APP_MAN_DIR = @APP_MAN_DIR@ APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ AR = @AR@ @@ -116,10 +113,6 @@ 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@ @@ -141,6 +134,7 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOLT_BASH = @DOLT_BASH@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ @@ -150,18 +144,15 @@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ DSYMUTIL = @DSYMUTIL@ DTRACE = @DTRACE@ -ECHO = @ECHO@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ -FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ -FREETYPE_LIBS = @FREETYPE_LIBS@ GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ GLX_DEFINES = @GLX_DEFINES@ GL_CFLAGS = @GL_CFLAGS@ @@ -180,7 +171,7 @@ KDRIVE_LIBS = @KDRIVE_LIBS@ KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ -LAUNCHD = @LAUNCHD@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ LEX = @LEX@ @@ -194,7 +185,10 @@ LIBTOOL = @LIBTOOL@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LINUXDOC = @LINUXDOC@ +LIPO = @LIPO@ LN_S = @LN_S@ +LTCOMPILE = @LTCOMPILE@ +LTCXXCOMPILE = @LTCXXCOMPILE@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ @@ -206,8 +200,7 @@ MESA_SOURCE = @MESA_SOURCE@ MISC_MAN_DIR = @MISC_MAN_DIR@ MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ MKDIR_P = @MKDIR_P@ -MKFONTDIR = @MKFONTDIR@ -MKFONTSCALE = @MKFONTSCALE@ +NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCCLD = @OBJCCLD@ @@ -216,8 +209,8 @@ OBJCFLAGS = @OBJCFLAGS@ OBJCLINK = @OBJCLINK@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ @@ -250,7 +243,6 @@ VENDOR_NAME = @VENDOR_NAME@ VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ VENDOR_RELEASE = @VENDOR_RELEASE@ VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ XDMCP_CFLAGS = @XDMCP_CFLAGS@ @@ -260,27 +252,12 @@ XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@ XDMX_CFLAGS = @XDMX_CFLAGS@ XDMX_LIBS = @XDMX_LIBS@ XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ XEPHYR_INCS = @XEPHYR_INCS@ XEPHYR_LIBS = @XEPHYR_LIBS@ 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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ @@ -291,10 +268,6 @@ XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ XNEST_LIBS = @XNEST_LIBS@ XNEST_SYS_LIBS = @XNEST_SYS_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_INCS = @XORG_INCS@ XORG_LIBS = @XORG_LIBS@ @@ -303,13 +276,8 @@ XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ XORG_OS = @XORG_OS@ XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_LIBS@ +XPBPROXY_CFLAGS = @XPBPROXY_CFLAGS@ +XPBPROXY_LIBS = @XPBPROXY_LIBS@ XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ XSDL_INCS = @XSDL_INCS@ @@ -342,8 +310,7 @@ 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@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -363,7 +330,6 @@ driverdir = @driverdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ extdir = @extdir@ -ft_config = @ft_config@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ @@ -373,12 +339,12 @@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ -launchagentsdir = @launchagentsdir@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ logdir = @logdir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ moduledir = @moduledir@ @@ -396,8 +362,6 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ module_LTLIBRARIES = libexa.la libexa_la_LDFLAGS = -avoid-version INCLUDES = \ @@ -458,8 +422,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ @@ -570,7 +534,7 @@ ID: $(HEADERS) $(SOURCES) $(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; nonemtpy = 1; } \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS diff --git a/xorg-server/hw/xfree86/exa/exa.man.pre b/xorg-server/hw/xfree86/exa/exa.man.pre index 14859bc8f..5c953e256 100644 --- a/xorg-server/hw/xfree86/exa/exa.man.pre +++ b/xorg-server/hw/xfree86/exa/exa.man.pre @@ -6,24 +6,23 @@ exa \- new 2D acceleration architecture for X.Org .SH DESCRIPTION .B EXA provides a simple API for video drivers to implement for 2D acceleration. It -is a module loaded by drivers, and is not intended to be loaded on its own. See -your driver's manual page for how to enable -.B EXA -. +is a module loaded by drivers, and is not intended to be loaded on its own. +See your driver's manual page for how to enable +.BR EXA . .PP The .B EXA architecture is designed to make accelerating the Render extension simple and efficient, and results in various performance tradeoffs compared to XAA. Some -options are available for debugging performance issues or driver rendering -problems. They are not intended for general use. +__xconfigfile__ options are available for debugging performance issues or +driver rendering problems. They are not intended for general use. .TP .BI "Option \*qEXANoComposite\*q \*q" boolean \*q Disables acceleration of the Composite operation, which is at the heart of the Render extension. Not related to the Composite extension. Default: No. .TP .BI "Option \*qEXANoUploadToScreen\*q \*q" boolean \*q -Disables acceleration of uploading pixmap data to the freamebuffer. Default: No. +Disables acceleration of uploading pixmap data to the framebuffer. Default: No. .TP .BI "Option \*qEXANoDownloadFromScreen\*q \*q" boolean \*q Disables acceleration of downloading of pixmap data from the framebuffer. @@ -31,16 +30,13 @@ Disables acceleration of downloading of pixmap data from the framebuffer. Not usable with drivers which rely on DownloadFromScreen succeeding. Default: No. .TP -.BI "Option \*qEXAOptimizeMigration\*q \*q" boolean \*q -Enables an additional optimization for migration of destination pixmaps. This -may improve performance in some cases (e.g. when switching virtual desktops with -no compositing manager) but causes corruption in others (e.g. when starting -compiz). Default: No. -.TP .BI "Option \*qMigrationHeuristic\*q \*q" anystr \*q Chooses an alternate pixmap migration heuristic, for debugging purposes. The default is intended to be the best performing one for general use, though others may help with specific use cases. Available options include \*qalways\*q, \*qgreedy\*q, and \*qsmart\*q. Default: always. +.SH "SEE ALSO" +.BR __xservername__ (__appmansuffix__), +.BR __xconfigfile__(__filemansuffix__). .SH AUTHORS Authors include: Keith Packard, Eric Anholt, Zack Rusin, and Michel D\(:anzer diff --git a/xorg-server/hw/xfree86/exa/examodule.c b/xorg-server/hw/xfree86/exa/examodule.c index e18da0a37..27607a1ac 100644 --- a/xorg-server/hw/xfree86/exa/examodule.c +++ b/xorg-server/hw/xfree86/exa/examodule.c @@ -42,7 +42,8 @@ typedef struct _ExaXorgScreenPrivRec { OptionInfoPtr options; } ExaXorgScreenPrivRec, *ExaXorgScreenPrivPtr; -static DevPrivateKey exaXorgScreenPrivateKey = &exaXorgScreenPrivateKey; +static int exaXorgScreenPrivateKeyIndex; +static DevPrivateKey exaXorgScreenPrivateKey = &exaXorgScreenPrivateKeyIndex; typedef enum { EXAOPT_MIGRATION_HEURISTIC, @@ -179,13 +180,6 @@ exaDDXDriverInit(ScreenPtr pScreen) } -/*ARGSUSED*/ -static const OptionInfoRec * -EXAAvailableOptions(void *unused) -{ - return (EXAOptions); -} - static XF86ModuleVersionInfo exaVersRec = { "exa", diff --git a/xorg-server/hw/xfree86/fbdevhw/Makefile.in b/xorg-server/hw/xfree86/fbdevhw/Makefile.in index 7de912cbb..694956505 100644 --- a/xorg-server/hw/xfree86/fbdevhw/Makefile.in +++ b/xorg-server/hw/xfree86/fbdevhw/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -50,7 +50,6 @@ 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 \ @@ -79,9 +78,6 @@ 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) \ @@ -100,8 +96,9 @@ ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ -APPDEFAULTDIR = @APPDEFAULTDIR@ APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +APPLE_APPLICATION_ID = @APPLE_APPLICATION_ID@ +APPLE_APPLICATION_NAME = @APPLE_APPLICATION_NAME@ APP_MAN_DIR = @APP_MAN_DIR@ APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ AR = @AR@ @@ -122,10 +119,6 @@ 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@ @@ -147,6 +140,7 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOLT_BASH = @DOLT_BASH@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ @@ -156,18 +150,15 @@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ DSYMUTIL = @DSYMUTIL@ DTRACE = @DTRACE@ -ECHO = @ECHO@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ -FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ -FREETYPE_LIBS = @FREETYPE_LIBS@ GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ GLX_DEFINES = @GLX_DEFINES@ GL_CFLAGS = @GL_CFLAGS@ @@ -186,7 +177,7 @@ KDRIVE_LIBS = @KDRIVE_LIBS@ KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ -LAUNCHD = @LAUNCHD@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ LEX = @LEX@ @@ -200,7 +191,10 @@ LIBTOOL = @LIBTOOL@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LINUXDOC = @LINUXDOC@ +LIPO = @LIPO@ LN_S = @LN_S@ +LTCOMPILE = @LTCOMPILE@ +LTCXXCOMPILE = @LTCXXCOMPILE@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ @@ -212,8 +206,7 @@ MESA_SOURCE = @MESA_SOURCE@ MISC_MAN_DIR = @MISC_MAN_DIR@ MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ MKDIR_P = @MKDIR_P@ -MKFONTDIR = @MKFONTDIR@ -MKFONTSCALE = @MKFONTSCALE@ +NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCCLD = @OBJCCLD@ @@ -222,8 +215,8 @@ OBJCFLAGS = @OBJCFLAGS@ OBJCLINK = @OBJCLINK@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ @@ -256,7 +249,6 @@ VENDOR_NAME = @VENDOR_NAME@ VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ VENDOR_RELEASE = @VENDOR_RELEASE@ VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ XDMCP_CFLAGS = @XDMCP_CFLAGS@ @@ -266,27 +258,12 @@ XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@ XDMX_CFLAGS = @XDMX_CFLAGS@ XDMX_LIBS = @XDMX_LIBS@ XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ XEPHYR_INCS = @XEPHYR_INCS@ XEPHYR_LIBS = @XEPHYR_LIBS@ 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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ @@ -297,10 +274,6 @@ XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ XNEST_LIBS = @XNEST_LIBS@ XNEST_SYS_LIBS = @XNEST_SYS_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_INCS = @XORG_INCS@ XORG_LIBS = @XORG_LIBS@ @@ -309,13 +282,8 @@ XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ XORG_OS = @XORG_OS@ XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_LIBS@ +XPBPROXY_CFLAGS = @XPBPROXY_CFLAGS@ +XPBPROXY_LIBS = @XPBPROXY_LIBS@ XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ XSDL_INCS = @XSDL_INCS@ @@ -348,8 +316,7 @@ 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@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -369,7 +336,6 @@ driverdir = @driverdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ extdir = @extdir@ -ft_config = @ft_config@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ @@ -379,12 +345,12 @@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ -launchagentsdir = @launchagentsdir@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ logdir = @logdir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ moduledir = @moduledir@ @@ -402,8 +368,6 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ linuxmoduledir = $(moduledir)/linux linuxmodule_LTLIBRARIES = libfbdevhw.la libfbdevhw_la_LDFLAGS = -avoid-version @@ -458,8 +422,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ @@ -588,7 +552,7 @@ ID: $(HEADERS) $(SOURCES) $(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; nonemtpy = 1; } \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS diff --git a/xorg-server/hw/xfree86/fbdevhw/fbdevhw.c b/xorg-server/hw/xfree86/fbdevhw/fbdevhw.c index 4d514226e..5269277ef 100644 --- a/xorg-server/hw/xfree86/fbdevhw/fbdevhw.c +++ b/xorg-server/hw/xfree86/fbdevhw/fbdevhw.c @@ -245,7 +245,6 @@ fbdev_modes_equal(struct fb_var_screeninfo *set, struct fb_var_screeninfo *req) set->green.length == req->green.length && set->blue.length == req->blue.length && set->xres == req->xres && set->yres == req->yres && - set->pixclock == req->pixclock && set->right_margin == req->right_margin && set->hsync_len == req->hsync_len && set->left_margin == req->left_margin && diff --git a/xorg-server/hw/xfree86/i2c/Makefile.in b/xorg-server/hw/xfree86/i2c/Makefile.in index dec6218fd..d5cc978ba 100644 --- a/xorg-server/hw/xfree86/i2c/Makefile.in +++ b/xorg-server/hw/xfree86/i2c/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -46,7 +46,6 @@ 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 \ @@ -114,9 +113,6 @@ 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) \ @@ -139,8 +135,9 @@ ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ -APPDEFAULTDIR = @APPDEFAULTDIR@ APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +APPLE_APPLICATION_ID = @APPLE_APPLICATION_ID@ +APPLE_APPLICATION_NAME = @APPLE_APPLICATION_NAME@ APP_MAN_DIR = @APP_MAN_DIR@ APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ AR = @AR@ @@ -161,10 +158,6 @@ 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@ @@ -186,6 +179,7 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOLT_BASH = @DOLT_BASH@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ @@ -195,18 +189,15 @@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ DSYMUTIL = @DSYMUTIL@ DTRACE = @DTRACE@ -ECHO = @ECHO@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ -FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ -FREETYPE_LIBS = @FREETYPE_LIBS@ GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ GLX_DEFINES = @GLX_DEFINES@ GL_CFLAGS = @GL_CFLAGS@ @@ -225,7 +216,7 @@ KDRIVE_LIBS = @KDRIVE_LIBS@ KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ -LAUNCHD = @LAUNCHD@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ LEX = @LEX@ @@ -239,7 +230,10 @@ LIBTOOL = @LIBTOOL@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LINUXDOC = @LINUXDOC@ +LIPO = @LIPO@ LN_S = @LN_S@ +LTCOMPILE = @LTCOMPILE@ +LTCXXCOMPILE = @LTCXXCOMPILE@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ @@ -251,8 +245,7 @@ MESA_SOURCE = @MESA_SOURCE@ MISC_MAN_DIR = @MISC_MAN_DIR@ MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ MKDIR_P = @MKDIR_P@ -MKFONTDIR = @MKFONTDIR@ -MKFONTSCALE = @MKFONTSCALE@ +NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCCLD = @OBJCCLD@ @@ -261,8 +254,8 @@ OBJCFLAGS = @OBJCFLAGS@ OBJCLINK = @OBJCLINK@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ @@ -295,7 +288,6 @@ VENDOR_NAME = @VENDOR_NAME@ VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ VENDOR_RELEASE = @VENDOR_RELEASE@ VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ XDMCP_CFLAGS = @XDMCP_CFLAGS@ @@ -305,27 +297,12 @@ XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@ XDMX_CFLAGS = @XDMX_CFLAGS@ XDMX_LIBS = @XDMX_LIBS@ XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ XEPHYR_INCS = @XEPHYR_INCS@ XEPHYR_LIBS = @XEPHYR_LIBS@ 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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ @@ -336,10 +313,6 @@ XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ XNEST_LIBS = @XNEST_LIBS@ XNEST_SYS_LIBS = @XNEST_SYS_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_INCS = @XORG_INCS@ XORG_LIBS = @XORG_LIBS@ @@ -348,13 +321,8 @@ XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ XORG_OS = @XORG_OS@ XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_LIBS@ +XPBPROXY_CFLAGS = @XPBPROXY_CFLAGS@ +XPBPROXY_LIBS = @XPBPROXY_LIBS@ XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ XSDL_INCS = @XSDL_INCS@ @@ -387,8 +355,7 @@ 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@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -408,7 +375,6 @@ driverdir = @driverdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ extdir = @extdir@ -ft_config = @ft_config@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ @@ -418,12 +384,12 @@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ -launchagentsdir = @launchagentsdir@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ logdir = @logdir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ moduledir = @moduledir@ @@ -441,8 +407,6 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ noinst_LIBRARIES = libi2c.a multimediadir = $(moduledir)/multimedia multimedia_LTLIBRARIES = \ @@ -484,8 +448,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ @@ -629,7 +593,7 @@ ID: $(HEADERS) $(SOURCES) $(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; nonemtpy = 1; } \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS diff --git a/xorg-server/hw/xfree86/i2c/xf86i2c.c b/xorg-server/hw/xfree86/i2c/xf86i2c.c index 5cc83faa3..59832d6f9 100644 --- a/xorg-server/hw/xfree86/i2c/xf86i2c.c +++ b/xorg-server/hw/xfree86/i2c/xf86i2c.c @@ -35,12 +35,6 @@ #define I2C_TIMEOUT(x) /*(x)*/ /* Report timeouts */ #define I2C_TRACE(x) /*(x)*/ /* Report progress */ -/* Set which OSs have bad gettimeofday resolution. */ -#if defined(SVR4) && !defined(sun) -#define BAD_GETTIMEOFDAY_RESOLUTION -#endif - - /* This is the default I2CUDelay function if not supplied by the driver. * High level I2C interfaces implementing the bus protocol in hardware * should supply this function too. @@ -49,23 +43,6 @@ * All values 0 to 1e6 inclusive must be expected. */ -#ifdef BAD_GETTIMEOFDAY_RESOLUTION -/* - * This is temporary until a better, portable - * way is found. Adjust bogo_usec to match CPU speed. - */ -static int bogo_usec = 500; - -static void -I2CUDelay(I2CBusPtr b, int usec) -{ - volatile long i; - - if (usec > 0) - for (i = usec * bogo_usec; i > 0; i--) - /* (perhaps hw delay action) */; -} -#else static void I2CUDelay(I2CBusPtr b, int usec) { @@ -86,7 +63,6 @@ I2CUDelay(I2CBusPtr b, int usec) } while (diff>=0 && diff< (usec + 1)); } } -#endif /* Most drivers will register just with GetBits/PutBits functions. * The following functions implement a software I2C protocol diff --git a/xorg-server/hw/xfree86/int10/Makefile.in b/xorg-server/hw/xfree86/int10/Makefile.in index c0f829260..e434023dc 100644 --- a/xorg-server/hw/xfree86/int10/Makefile.in +++ b/xorg-server/hw/xfree86/int10/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -45,7 +45,6 @@ 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 \ @@ -85,9 +84,6 @@ 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) \ @@ -104,8 +100,9 @@ ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ -APPDEFAULTDIR = @APPDEFAULTDIR@ APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +APPLE_APPLICATION_ID = @APPLE_APPLICATION_ID@ +APPLE_APPLICATION_NAME = @APPLE_APPLICATION_NAME@ APP_MAN_DIR = @APP_MAN_DIR@ APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ AR = @AR@ @@ -126,10 +123,6 @@ 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@ @@ -151,6 +144,7 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOLT_BASH = @DOLT_BASH@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ @@ -160,18 +154,15 @@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ DSYMUTIL = @DSYMUTIL@ DTRACE = @DTRACE@ -ECHO = @ECHO@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ -FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ -FREETYPE_LIBS = @FREETYPE_LIBS@ GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ GLX_DEFINES = @GLX_DEFINES@ GL_CFLAGS = @GL_CFLAGS@ @@ -190,7 +181,7 @@ KDRIVE_LIBS = @KDRIVE_LIBS@ KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ -LAUNCHD = @LAUNCHD@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ LEX = @LEX@ @@ -204,7 +195,10 @@ LIBTOOL = @LIBTOOL@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LINUXDOC = @LINUXDOC@ +LIPO = @LIPO@ LN_S = @LN_S@ +LTCOMPILE = @LTCOMPILE@ +LTCXXCOMPILE = @LTCXXCOMPILE@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ @@ -216,8 +210,7 @@ MESA_SOURCE = @MESA_SOURCE@ MISC_MAN_DIR = @MISC_MAN_DIR@ MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ MKDIR_P = @MKDIR_P@ -MKFONTDIR = @MKFONTDIR@ -MKFONTSCALE = @MKFONTSCALE@ +NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCCLD = @OBJCCLD@ @@ -226,8 +219,8 @@ OBJCFLAGS = @OBJCFLAGS@ OBJCLINK = @OBJCLINK@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ @@ -260,7 +253,6 @@ VENDOR_NAME = @VENDOR_NAME@ VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ VENDOR_RELEASE = @VENDOR_RELEASE@ VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ XDMCP_CFLAGS = @XDMCP_CFLAGS@ @@ -270,27 +262,12 @@ XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@ XDMX_CFLAGS = @XDMX_CFLAGS@ XDMX_LIBS = @XDMX_LIBS@ XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ XEPHYR_INCS = @XEPHYR_INCS@ XEPHYR_LIBS = @XEPHYR_LIBS@ 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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ @@ -301,10 +278,6 @@ XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ XNEST_LIBS = @XNEST_LIBS@ XNEST_SYS_LIBS = @XNEST_SYS_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_INCS = @XORG_INCS@ XORG_LIBS = @XORG_LIBS@ @@ -313,13 +286,8 @@ XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ XORG_OS = @XORG_OS@ XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_LIBS@ +XPBPROXY_CFLAGS = @XPBPROXY_CFLAGS@ +XPBPROXY_LIBS = @XPBPROXY_LIBS@ XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ XSDL_INCS = @XSDL_INCS@ @@ -352,8 +320,7 @@ 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@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -373,7 +340,6 @@ driverdir = @driverdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ extdir = @extdir@ -ft_config = @ft_config@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ @@ -383,12 +349,12 @@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ -launchagentsdir = @launchagentsdir@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ logdir = @logdir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ moduledir = @moduledir@ @@ -406,8 +372,6 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ module_LTLIBRARIES = libint10.la sdk_HEADERS = xf86int10.h EXTRA_CFLAGS = @@ -447,8 +411,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ @@ -582,7 +546,7 @@ ID: $(HEADERS) $(SOURCES) $(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; nonemtpy = 1; } \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS diff --git a/xorg-server/hw/xfree86/int10/generic.c b/xorg-server/hw/xfree86/int10/generic.c index a30dee103..0af7c1baa 100644 --- a/xorg-server/hw/xfree86/int10/generic.c +++ b/xorg-server/hw/xfree86/int10/generic.c @@ -176,7 +176,7 @@ xf86ExtendedInitInt10(int entityIndex, int Flags) * have executable code there. Note that xf86ReadBIOS() can only read in * 64kB at a time. */ - (void)memset((char *)base + V_BIOS, 0, SYS_BIOS - V_BIOS); + memset((char *)base + V_BIOS, 0, SYS_BIOS - V_BIOS); #if 0 for (cs = V_BIOS; cs < SYS_BIOS; cs += V_BIOS_SIZE) if (xf86ReadBIOS(cs, 0, (unsigned char *)base + cs, V_BIOS_SIZE) < @@ -220,19 +220,6 @@ xf86ExtendedInitInt10(int entityIndex, int Flags) INTPriv(pInt)->highMemory = GET_HIGH_BASE(rom_device->rom_size); break; } - case BUS_ISA: - vbiosMem = (unsigned char *)sysMem + bios_location; -#if 0 - (void)memset(vbiosMem, 0, V_BIOS_SIZE); - if (xf86ReadBIOS(bios_location, 0, vbiosMem, V_BIOS_SIZE) - < V_BIOS_SIZE) - xf86DrvMsg(screen, X_WARNING, - "Unable to retrieve all of segment 0x%x.\n",bios_location); -#endif - if (!int10_check_bios(screen, bios_location >> 4, vbiosMem)) { - xf86DrvMsg(screen,X_ERROR,"Cannot read V_BIOS (4)\n"); - goto error1; - } default: goto error1; } @@ -255,7 +242,7 @@ xf86ExtendedInitInt10(int entityIndex, int Flags) * 128KiB. */ vbiosMem = (char *)base + V_BIOS; - (void)memset(vbiosMem, 0, 2 * V_BIOS_SIZE); + memset(vbiosMem, 0, 2 * V_BIOS_SIZE); if (read_legacy_video_BIOS(pInt->dev, vbiosMem) < V_BIOS_SIZE) { xf86DrvMsg(screen, X_WARNING, "Unable to retrieve all of segment 0x0C0000.\n"); diff --git a/xorg-server/hw/xfree86/int10/helper_exec.c b/xorg-server/hw/xfree86/int10/helper_exec.c index 15eba4928..1c89ce508 100644 --- a/xorg-server/hw/xfree86/int10/helper_exec.c +++ b/xorg-server/hw/xfree86/int10/helper_exec.c @@ -32,6 +32,8 @@ #include "Pci.h" #ifdef _X86EMU #include "x86emu/x86emui.h" +#else +#define DEBUG_IO_TRACE() 0 #endif #include diff --git a/xorg-server/hw/xfree86/int10/helper_mem.c b/xorg-server/hw/xfree86/int10/helper_mem.c index b59f47358..6f6ecc2b3 100644 --- a/xorg-server/hw/xfree86/int10/helper_mem.c +++ b/xorg-server/hw/xfree86/int10/helper_mem.c @@ -253,7 +253,7 @@ int10_check_bios(int scrnIndex, int codeSeg, const unsigned char* vbiosMem) return FALSE; if (bios_checksum(vbiosMem, size)) - xf86DrvMsg(scrnIndex, X_WARNING, "Bad V_BIOS checksum\n"); + xf86DrvMsg(scrnIndex, X_INFO, "Bad V_BIOS checksum\n"); return TRUE; } diff --git a/xorg-server/hw/xfree86/int10/xf86int10.c b/xorg-server/hw/xfree86/int10/xf86int10.c index f50607cfc..51eb91fbb 100644 --- a/xorg-server/hw/xfree86/int10/xf86int10.c +++ b/xorg-server/hw/xfree86/int10/xf86int10.c @@ -655,6 +655,32 @@ find_pci_class(CARD8 intf, CARD8 subClass, CARD16 _class, } #endif +/* + * Return the last bus number in the same domain as dev. Only look at the + * one domain since this is going into %cl, and VGA I/O is per-domain anyway. + */ +static int +int1A_last_bus_number(struct pci_device *dev) +{ + struct pci_device *d; + struct pci_slot_match m = { dev->domain, + PCI_MATCH_ANY, + PCI_MATCH_ANY, + PCI_MATCH_ANY }; + struct pci_device_iterator *iter; + int i = 0; + + iter = pci_slot_match_iterator_create(&m); + + while ((d = pci_device_next(iter))) + if (d->bus > i) + i = d->bus; + + pci_iterator_destroy(iter); + + return i; +} + static int int1A_handler(xf86Int10InfoPtr pInt) { @@ -674,7 +700,7 @@ int1A_handler(xf86Int10InfoPtr pInt) X86_EDX = 0x20494350; /* " ICP" */ X86_EBX = 0x0210; /* Version 2.10 */ X86_ECX &= 0xFF00; - X86_ECX |= (pciNumBuses & 0xFF); /* Max bus number in system */ + X86_ECX |= int1A_last_bus_number(pvp); X86_EFLAGS &= ~((unsigned long)0x01); /* clear carry flag */ #ifdef PRINT_INT ErrorF("ax=0x%x dx=0x%x bx=0x%x cx=0x%x flags=0x%x\n", diff --git a/xorg-server/hw/xfree86/loader/Makefile.am b/xorg-server/hw/xfree86/loader/Makefile.am index ef9ab9ab3..fa9dbfe5d 100644 --- a/xorg-server/hw/xfree86/loader/Makefile.am +++ b/xorg-server/hw/xfree86/loader/Makefile.am @@ -8,28 +8,20 @@ INCLUDES = $(XORG_INCS) -I$(srcdir)/../parser -I$(srcdir)/../dixmods/extmod \ #AM_LDFLAGS = -r AM_CFLAGS = -DIN_LOADER $(DIX_CFLAGS) $(XORG_CFLAGS) -if XORG_LOADER_SPARC -SPARC_SOURCES = SparcMulDiv.S -endif - EXTRA_DIST = \ dlloader.h \ loader.h \ - loaderProcs.h \ - SparcMulDiv.S + loaderProcs.h libloader_a_SOURCES = \ loader.c \ loaderProcs.h \ loadext.c \ loadmod.c \ - loadfont.c \ dlloader.c \ os.c \ dixsym.c \ extsym.c \ - fontsym.c \ misym.c \ xf86sym.c \ - sym.h \ - $(SPARC_SOURCES) + sym.h diff --git a/xorg-server/hw/xfree86/loader/Makefile.in b/xorg-server/hw/xfree86/loader/Makefile.in index 82161d088..cc12b39f8 100644 --- a/xorg-server/hw/xfree86/loader/Makefile.in +++ b/xorg-server/hw/xfree86/loader/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -43,7 +43,6 @@ 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 \ @@ -53,35 +52,22 @@ LIBRARIES = $(noinst_LIBRARIES) ARFLAGS = cru libloader_a_AR = $(AR) $(ARFLAGS) libloader_a_LIBADD = -am__libloader_a_SOURCES_DIST = loader.c loaderProcs.h loadext.c \ - loadmod.c loadfont.c dlloader.c os.c dixsym.c extsym.c \ - fontsym.c misym.c xf86sym.c sym.h SparcMulDiv.S -@XORG_LOADER_SPARC_TRUE@am__objects_1 = SparcMulDiv.$(OBJEXT) am_libloader_a_OBJECTS = loader.$(OBJEXT) loadext.$(OBJEXT) \ - loadmod.$(OBJEXT) loadfont.$(OBJEXT) dlloader.$(OBJEXT) \ - os.$(OBJEXT) dixsym.$(OBJEXT) extsym.$(OBJEXT) \ - fontsym.$(OBJEXT) misym.$(OBJEXT) xf86sym.$(OBJEXT) \ - $(am__objects_1) + loadmod.$(OBJEXT) dlloader.$(OBJEXT) os.$(OBJEXT) \ + dixsym.$(OBJEXT) extsym.$(OBJEXT) misym.$(OBJEXT) \ + xf86sym.$(OBJEXT) libloader_a_OBJECTS = $(am_libloader_a_OBJECTS) DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles -CPPASCOMPILE = $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ - $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS) -LTCPPASCOMPILE = $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=compile $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ - $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS) 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 = $(libloader_a_SOURCES) -DIST_SOURCES = $(am__libloader_a_SOURCES_DIST) +DIST_SOURCES = $(libloader_a_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) @@ -90,8 +76,9 @@ ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ -APPDEFAULTDIR = @APPDEFAULTDIR@ APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +APPLE_APPLICATION_ID = @APPLE_APPLICATION_ID@ +APPLE_APPLICATION_NAME = @APPLE_APPLICATION_NAME@ APP_MAN_DIR = @APP_MAN_DIR@ APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ AR = @AR@ @@ -112,10 +99,6 @@ 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@ @@ -137,6 +120,7 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOLT_BASH = @DOLT_BASH@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ @@ -146,18 +130,15 @@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ DSYMUTIL = @DSYMUTIL@ DTRACE = @DTRACE@ -ECHO = @ECHO@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ -FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ -FREETYPE_LIBS = @FREETYPE_LIBS@ GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ GLX_DEFINES = @GLX_DEFINES@ GL_CFLAGS = @GL_CFLAGS@ @@ -176,7 +157,7 @@ KDRIVE_LIBS = @KDRIVE_LIBS@ KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ -LAUNCHD = @LAUNCHD@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ LEX = @LEX@ @@ -190,7 +171,10 @@ LIBTOOL = @LIBTOOL@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LINUXDOC = @LINUXDOC@ +LIPO = @LIPO@ LN_S = @LN_S@ +LTCOMPILE = @LTCOMPILE@ +LTCXXCOMPILE = @LTCXXCOMPILE@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ @@ -202,8 +186,7 @@ MESA_SOURCE = @MESA_SOURCE@ MISC_MAN_DIR = @MISC_MAN_DIR@ MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ MKDIR_P = @MKDIR_P@ -MKFONTDIR = @MKFONTDIR@ -MKFONTSCALE = @MKFONTSCALE@ +NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCCLD = @OBJCCLD@ @@ -212,8 +195,8 @@ OBJCFLAGS = @OBJCFLAGS@ OBJCLINK = @OBJCLINK@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ @@ -246,7 +229,6 @@ VENDOR_NAME = @VENDOR_NAME@ VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ VENDOR_RELEASE = @VENDOR_RELEASE@ VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ XDMCP_CFLAGS = @XDMCP_CFLAGS@ @@ -256,27 +238,12 @@ XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@ XDMX_CFLAGS = @XDMX_CFLAGS@ XDMX_LIBS = @XDMX_LIBS@ XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ XEPHYR_INCS = @XEPHYR_INCS@ XEPHYR_LIBS = @XEPHYR_LIBS@ 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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ @@ -287,10 +254,6 @@ XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ XNEST_LIBS = @XNEST_LIBS@ XNEST_SYS_LIBS = @XNEST_SYS_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_INCS = @XORG_INCS@ XORG_LIBS = @XORG_LIBS@ @@ -299,13 +262,8 @@ XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ XORG_OS = @XORG_OS@ XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_LIBS@ +XPBPROXY_CFLAGS = @XPBPROXY_CFLAGS@ +XPBPROXY_LIBS = @XPBPROXY_LIBS@ XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ XSDL_INCS = @XSDL_INCS@ @@ -338,8 +296,7 @@ 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@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -359,7 +316,6 @@ driverdir = @driverdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ extdir = @extdir@ -ft_config = @ft_config@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ @@ -369,12 +325,12 @@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ -launchagentsdir = @launchagentsdir@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ logdir = @logdir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ moduledir = @moduledir@ @@ -392,8 +348,6 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ noinst_LIBRARIES = libloader.a INCLUDES = $(XORG_INCS) -I$(srcdir)/../parser -I$(srcdir)/../dixmods/extmod \ -I$(srcdir)/../vbe -I$(top_srcdir)/miext/cw -I$(srcdir)/../int10 \ @@ -403,39 +357,34 @@ INCLUDES = $(XORG_INCS) -I$(srcdir)/../parser -I$(srcdir)/../dixmods/extmod \ #AM_LDFLAGS = -r AM_CFLAGS = -DIN_LOADER $(DIX_CFLAGS) $(XORG_CFLAGS) -@XORG_LOADER_SPARC_TRUE@SPARC_SOURCES = SparcMulDiv.S EXTRA_DIST = \ dlloader.h \ loader.h \ - loaderProcs.h \ - SparcMulDiv.S + loaderProcs.h libloader_a_SOURCES = \ loader.c \ loaderProcs.h \ loadext.c \ loadmod.c \ - loadfont.c \ dlloader.c \ os.c \ dixsym.c \ extsym.c \ - fontsym.c \ misym.c \ xf86sym.c \ - sym.h \ - $(SPARC_SOURCES) + sym.h all: all-am .SUFFIXES: -.SUFFIXES: .S .c .lo .o .obj +.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; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ @@ -473,40 +422,16 @@ mostlyclean-compile: distclean-compile: -rm -f *.tab.c -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SparcMulDiv.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dixsym.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dlloader.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/extsym.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fontsym.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/loader.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/loadext.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/loadfont.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/loadmod.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/misym.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/os.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xf86sym.Po@am__quote@ -.S.o: -@am__fastdepCCAS_TRUE@ $(CPPASCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCCAS_FALSE@ $(CPPASCOMPILE) -c -o $@ $< - -.S.obj: -@am__fastdepCCAS_TRUE@ $(CPPASCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCCAS_FALSE@ $(CPPASCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -.S.lo: -@am__fastdepCCAS_TRUE@ $(LTCPPASCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCCAS_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCCAS_FALSE@ $(LTCPPASCOMPILE) -c -o $@ $< - .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @@ -539,7 +464,7 @@ ID: $(HEADERS) $(SOURCES) $(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; nonemtpy = 1; } \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS diff --git a/xorg-server/hw/xfree86/loader/SparcMulDiv.S b/xorg-server/hw/xfree86/loader/SparcMulDiv.S deleted file mode 100644 index 11139d192..000000000 --- a/xorg-server/hw/xfree86/loader/SparcMulDiv.S +++ /dev/null @@ -1,87 +0,0 @@ -/* - * Hardware integer division and multiplication routines for SPARC v8 and higher. - * - * 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. - */ -/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/misc/SparcMulDiv.S,v 1.1 1999/07/10 07:24:51 dawes Exp $ */ - - .globl urem_sparcv89, umul_sparcv89, udiv_sparcv89 - .globl rem_sparcv89, mul_sparcv89, div_sparcv89 - - .align 32 -urem_sparcv89: - wr %g0, 0x0, %y - nop - nop - nop - udiv %o0, %o1, %o2 - umul %o2, %o1, %o2 - retl - sub %o0, %o2, %o0 - - .align 32 -umul_sparcv89: - umul %o0, %o1, %o0 - retl - rd %y, %o1 - - .align 32 -udiv_sparcv89: - wr %g0, 0x0, %y - nop - nop - retl - udiv %o0, %o1, %o0 - - .align 32 -rem_sparcv89: - sra %o0, 0x1f, %o4 - wr %o4, 0x0, %y - nop - nop - nop - sdivcc %o0, %o1, %o2 - bvs,a 1f - xnor %o2, %g0, %o2 -1: smul %o2, %o1, %o2 - retl - sub %o0, %o2, %o0 - - .align 32 -mul_sparcv89: - smul %o0, %o1, %o0 - retl - rd %y, %o1 - nop - - .align 32 -div_sparcv89: - sra %o0, 0x1f, %o2 - wr %o2, 0x0, %y - nop - nop - nop - sdivcc %o0, %o1, %o0 - bvs,a 1f - xnor %o0, %g0, %o0 -1: retl - nop diff --git a/xorg-server/hw/xfree86/loader/dixsym.c b/xorg-server/hw/xfree86/loader/dixsym.c index a8bde756b..19b93c5f0 100644 --- a/xorg-server/hw/xfree86/loader/dixsym.c +++ b/xorg-server/hw/xfree86/loader/dixsym.c @@ -57,7 +57,6 @@ #include "cursorstr.h" #include "dix.h" #include "dixevents.h" -#include "dixfont.h" #include "dixstruct.h" #include "misc.h" #include "globals.h" @@ -99,6 +98,7 @@ _X_HIDDEN void *dixLookupTab[] = { /* dix */ /* atom.c */ SYMFUNC(MakeAtom) + SYMFUNC(NameForAtom) SYMFUNC(ValidAtom) /* colormap.c */ SYMFUNC(AllocColor) @@ -138,7 +138,6 @@ _X_HIDDEN void *dixLookupTab[] = { SYMFUNC(SendMappingNotify) SYMFUNC(InitPointerDeviceStruct) /* dispatch.c */ - SYMFUNC(SetInputCheck) SYMFUNC(SendErrorToClient) SYMFUNC(UpdateCurrentTime) SYMFUNC(UpdateCurrentTimeIf) @@ -147,11 +146,6 @@ _X_HIDDEN void *dixLookupTab[] = { SYMVAR(isItTimeToYield) SYMVAR(ClientStateCallback) SYMVAR(ServerGrabCallback) - /* dixfonts.c */ - SYMFUNC(CloseFont) - SYMFUNC(FontToXError) - SYMFUNC(LoadGlyphs) - SYMVAR(fpe_functions) /* dixutils.c */ SYMFUNC(AddCallback) SYMFUNC(ClientSleep) @@ -179,7 +173,6 @@ _X_HIDDEN void *dixLookupTab[] = { SYMFUNC(GetSpritePosition) SYMFUNC(GetSpriteWindow) SYMFUNC(GetSpriteCursor) - SYMFUNC(WindowsRestructured) SYMVAR(DeviceEventCallback) SYMVAR(EventCallback) SYMVAR(inputInfo) @@ -200,10 +193,6 @@ _X_HIDDEN void *dixLookupTab[] = { SYMFUNC(CheckExtension) SYMFUNC(MinorOpcodeOfRequest) SYMFUNC(StandardMinorOpcode) -#ifdef XEVIE - SYMVAR(xeviehot) - SYMVAR(xeviewin) -#endif /* gc.c */ SYMFUNC(CopyGC) SYMFUNC(CreateGC) @@ -214,10 +203,8 @@ _X_HIDDEN void *dixLookupTab[] = { SYMFUNC(FreeGC) SYMFUNC(FreeScratchGC) SYMFUNC(GetScratchGC) - SYMFUNC(SetClipRects) SYMFUNC(ValidateGC) SYMFUNC(VerifyRectOrder) - SYMFUNC(SetDashes) /* globals.c */ SYMVAR(ScreenSaverTime) #ifdef DPMSExtension @@ -229,10 +216,7 @@ _X_HIDDEN void *dixLookupTab[] = { SYMVAR(DPMSSuspendTime) SYMVAR(DPMSEnabledSwitch) SYMVAR(DPMSDisabledSwitch) - SYMVAR(defaultDPMSEnabled) #endif - /* bigreq */ - SYMVAR(maxBigRequestSize) #ifdef XV /* XXX These are exported from the DDX, not DIX. */ SYMVAR(XvScreenInitProc) @@ -280,8 +264,6 @@ _X_HIDDEN void *dixLookupTab[] = { SYMFUNC(FakeClientID) SYMFUNC(FreeResource) SYMFUNC(FreeResourceByType) - SYMFUNC(GetXIDList) - SYMFUNC(GetXIDRange) SYMFUNC(LegalNewID) SYMFUNC(FindClientResourcesByType) SYMFUNC(FindAllClientResources) @@ -308,8 +290,6 @@ _X_HIDDEN void *dixLookupTab[] = { SYMFUNC(SwapColorItem) /* tables.c */ SYMVAR(EventSwapVector) - SYMVAR(ReplySwapVector) - SYMVAR(ProcVector) /* window.c */ SYMFUNC(ChangeWindowAttributes) SYMFUNC(CheckWindowOptionalNeed) @@ -319,19 +299,12 @@ _X_HIDDEN void *dixLookupTab[] = { SYMFUNC(GravityTranslate) SYMFUNC(MakeWindowOptional) SYMFUNC(MapWindow) - SYMFUNC(MoveWindowInStack) SYMFUNC(NotClippedByChildren) - SYMFUNC(ResizeChildrenWinSize) SYMFUNC(SaveScreens) SYMFUNC(dixSaveScreens) - SYMFUNC(SendVisibilityNotify) - SYMFUNC(SetWinSize) - SYMFUNC(SetBorderSize) SYMFUNC(TraverseTree) SYMFUNC(UnmapWindow) SYMFUNC(WalkTree) - SYMVAR(deltaSaveUndersViewable) - SYMVAR(numSaveUndersViewable) SYMVAR(savedScreenInfo) SYMVAR(screenIsSaved) @@ -341,14 +314,10 @@ _X_HIDDEN void *dixLookupTab[] = { /* utils.c */ SYMFUNC(Xstrdup) SYMFUNC(XNFstrdup) - SYMVAR(Must_have_memory) SYMFUNC(AdjustWaitForDelay) SYMVAR(noTestExtensions) SYMFUNC(GiveUp) -#ifdef BIGREQS - SYMVAR(noBigReqExtension) -#endif #ifdef COMPOSITE SYMVAR(noCompositeExtension) #endif @@ -361,12 +330,6 @@ _X_HIDDEN void *dixLookupTab[] = { #ifdef DPMSExtension SYMVAR(noDPMSExtension) #endif -#ifdef EVI - SYMVAR(noEVIExtension) -#endif -#ifdef FONTCACHE - SYMVAR(noFontCacheExtension) -#endif #ifdef GLXEXT SYMVAR(noGlxExtension) #endif @@ -376,9 +339,6 @@ _X_HIDDEN void *dixLookupTab[] = { #ifdef MITSHM SYMVAR(noMITShmExtension) #endif -#ifdef MITMISC - SYMVAR(noMITMiscExtension) -#endif #ifdef MULTIBUFFER SYMVAR(noMultibufferExtension) #endif @@ -388,30 +348,12 @@ _X_HIDDEN void *dixLookupTab[] = { #ifdef RENDER SYMVAR(noRenderExtension) #endif -#ifdef SHAPE - SYMVAR(noShapeExtension) -#endif #ifdef XCSECURITY SYMVAR(noSecurityExtension) #endif -#ifdef XSYNC - SYMVAR(noSyncExtension) -#endif -#ifdef TOGCUP - SYMVAR(noXcupExtension) -#endif #ifdef RES SYMVAR(noResExtension) #endif -#ifdef XAPPGROUP - SYMVAR(noXagExtension) -#endif -#ifdef XCMISC - SYMVAR(noXCMiscExtension) -#endif -#ifdef XEVIE - SYMVAR(noXevieExtension) -#endif #ifdef XF86BIGFONT SYMVAR(noXFree86BigfontExtension) #endif @@ -421,9 +363,6 @@ _X_HIDDEN void *dixLookupTab[] = { #ifdef XF86DRI SYMVAR(noXFree86DRIExtension) #endif -#ifdef XF86MISC - SYMVAR(noXFree86MiscExtension) -#endif #ifdef XF86VIDMODE SYMVAR(noXFree86VidModeExtension) #endif @@ -437,12 +376,6 @@ _X_HIDDEN void *dixLookupTab[] = { #ifdef PANORAMIX SYMVAR(noPanoramiXExtension) #endif -#ifdef XINPUT - SYMVAR(noXInputExtension) -#endif -#ifdef XIDLE - SYMVAR(noXIdleExtension) -#endif #ifdef XSELINUX SYMVAR(noSELinuxExtension) #endif @@ -477,15 +410,12 @@ _X_HIDDEN void *dixLookupTab[] = { SYMFUNC(SetCriticalOutputPending) SYMVAR(FlushCallback) SYMVAR(ReplyCallback) - SYMVAR(SkippedRequestsCallback) SYMFUNC(ResetCurrentRequest) /* connection.c */ SYMFUNC(IgnoreClient) SYMFUNC(AttendClient) SYMFUNC(AddEnabledDevice) SYMFUNC(RemoveEnabledDevice) - SYMFUNC(MakeClientGrabPervious) - SYMFUNC(MakeClientGrabImpervious) SYMVAR(GrabInProgress) #ifdef XKB @@ -496,14 +426,10 @@ _X_HIDDEN void *dixLookupTab[] = { SYMVAR(XkbDfltRepeatInterval) #endif -#ifdef XINPUT /* Xi */ /* exevents.c */ SYMFUNC(InitValuatorAxisStruct) SYMFUNC(InitProximityClassDeviceStruct) - /* extinit.c */ - SYMFUNC(AssignTypeAndName) -#endif /* xf86DGA.c */ /* XXX This is exported from the DDX, not DIX. */ diff --git a/xorg-server/hw/xfree86/loader/dlloader.c b/xorg-server/hw/xfree86/loader/dlloader.c index 4caefd071..18dcb76c6 100644 --- a/xorg-server/hw/xfree86/loader/dlloader.c +++ b/xorg-server/hw/xfree86/loader/dlloader.c @@ -87,16 +87,15 @@ DLFindSymbolLocal(pointer module, const char *name) static const char symPrefix[] = DLSYM_PREFIX; - if (strlen(symPrefix)) { + if (sizeof(symPrefix) > 1) { n = malloc(strlen(symPrefix) + strlen(name) + 1); sprintf(n, "%s%s", symPrefix, name); - } else { - n = name; + name = n; } - p = dlsym(module, n); + p = dlsym(module, name); - if (strlen(symPrefix)) + if (sizeof(symPrefix) > 1) free(n); return p; diff --git a/xorg-server/hw/xfree86/loader/fontsym.c b/xorg-server/hw/xfree86/loader/fontsym.c deleted file mode 100644 index 82d4b1cf8..000000000 --- a/xorg-server/hw/xfree86/loader/fontsym.c +++ /dev/null @@ -1,109 +0,0 @@ -/* - * Copyright (c) 1998-2002 by The XFree86 Project, 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 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_XORG_CONFIG_H -#include -#endif - -#include -#include "sym.h" -#include -#include -#ifdef FONTENC_COMPATIBILITY -#include -#endif -#include -#include -#include -#include -#ifdef FONTCACHE -#define _FONTCACHE_SERVER_ -#include "fontcache.h" -#endif - -_X_HIDDEN void *fontLookupTab[] = { - - SYMFUNC(TwoByteSwap) - SYMFUNC(FourByteSwap) - SYMFUNC(FontCouldBeTerminal) - SYMFUNC(BufFileRead) - SYMFUNC(BufFileWrite) - SYMFUNC(CheckFSFormat) - SYMFUNC(FontFileOpen) - SYMFUNC(FontFilePriorityRegisterRenderer) - SYMFUNC(FontFileRegisterRenderer) - SYMFUNC(FontParseXLFDName) - SYMFUNC(FontFileCloseFont) - SYMFUNC(FontFileOpenBitmap) - SYMFUNC(FontFileCompleteXLFD) - SYMFUNC(FontFileCountDashes) - SYMFUNC(FontFileFindNameInDir) - SYMFUNC(FontFileClose) - SYMFUNC(FontComputeInfoAccelerators) - SYMFUNC(FontDefaultFormat) - SYMFUNC(NameForAtom) - SYMFUNC(BitOrderInvert) - SYMFUNC(FontFileMatchRenderer) - SYMFUNC(RepadBitmap) - SYMFUNC(FontEncName) - SYMFUNC(FontEncRecode) - SYMFUNC(FontEncFind) - SYMFUNC(FontMapFind) - SYMFUNC(FontEncMapFind) - SYMFUNC(FontEncFromXLFD) - SYMFUNC(FontEncDirectory) - SYMFUNC(FontMapReverse) - SYMFUNC(FontMapReverseFree) - SYMFUNC(CreateFontRec) - SYMFUNC(DestroyFontRec) - SYMFUNC(GetGlyphs) - SYMFUNC(QueryGlyphExtents) - - SYMVAR(FontFileBitmapSources) - -#ifdef FONTENC_COMPATIBILITY - /* Obsolete backwards compatibility symbols -- fontencc.c */ - SYMFUNC(font_encoding_from_xlfd) - SYMFUNC(font_encoding_find) - SYMFUNC(font_encoding_recode) - SYMFUNC(font_encoding_name) - SYMFUNC(identifyEncodingFile) -#endif - -#ifdef FONTCACHE - /* fontcache.c */ - SYMFUNC(FontCacheGetSettings) - SYMFUNC(FontCacheGetStatistics) - SYMFUNC(FontCacheChangeSettings) - SYMFUNC(FontCacheOpenCache) - SYMFUNC(FontCacheCloseCache) - SYMFUNC(FontCacheSearchEntry) - SYMFUNC(FontCacheGetEntry) - SYMFUNC(FontCacheInsertEntry) - SYMFUNC(FontCacheGetBitmap) -#endif -}; diff --git a/xorg-server/hw/xfree86/loader/loader.c b/xorg-server/hw/xfree86/loader/loader.c index a00269b70..fc0db2886 100644 --- a/xorg-server/hw/xfree86/loader/loader.c +++ b/xorg-server/hw/xfree86/loader/loader.c @@ -63,7 +63,7 @@ #include #if defined(linux) && \ (defined(__alpha__) || defined(__powerpc__) || defined(__ia64__) \ - || defined(__amd64__) || defined(__x86_64__)) + || defined(__amd64__)) #include #endif #include @@ -76,11 +76,6 @@ #include "compiler.h" #include "sym.h" -#if defined(Lynx) && defined(sun) -/* Cross build machine doesn;t have strerror() */ -#define strerror(err) "strerror unsupported" -#endif - /* * handles are used to identify files that are loaded. Even archives * are counted as a single file. @@ -113,8 +108,7 @@ LoaderInit(void) xf86MsgVerb(X_INFO, 2, "Loader magic: %p\n", (void *) ((long)dixLookupTab ^ (long)extLookupTab - ^ (long)fontLookupTab ^ (long)miLookupTab - ^ (long)xfree86LookupTab)); + ^ (long)miLookupTab ^ (long)xfree86LookupTab)); xf86MsgVerb(X_INFO, 2, "Module ABI versions:\n"); xf86ErrorFVerb(2, "\t%s: %d.%d\n", ABI_CLASS_ANSIC, GET_ABI_MAJOR(LoaderVersionInfo.ansicVersion), @@ -128,9 +122,6 @@ LoaderInit(void) xf86ErrorFVerb(2, "\t%s : %d.%d\n", ABI_CLASS_EXTENSION, GET_ABI_MAJOR(LoaderVersionInfo.extensionVersion), GET_ABI_MINOR(LoaderVersionInfo.extensionVersion)); - xf86ErrorFVerb(2, "\t%s : %d.%d\n", ABI_CLASS_FONT, - GET_ABI_MAJOR(LoaderVersionInfo.fontVersion), - GET_ABI_MINOR(LoaderVersionInfo.fontVersion)); LoaderGetOS(&osname, NULL, NULL, NULL); if (osname) @@ -258,7 +249,7 @@ LoaderOpen(const char *module, const char *cname, int handle, * Find a free handle. */ new_handle = 1; - while (freeHandles[new_handle] && new_handle < MAX_HANDLE) + while (new_handle < MAX_HANDLE && freeHandles[new_handle]) new_handle++; if (new_handle == MAX_HANDLE) { @@ -363,6 +354,12 @@ LoaderSetOptions(unsigned long opts) LoaderOptions |= opts; } +_X_EXPORT Bool +LoaderShouldIgnoreABI(void) +{ + return (LoaderOptions & LDR_OPT_ABI_MISMATCH_NONFATAL) != 0; +} + _X_EXPORT int LoaderGetABIVersion(const char *abiclass) { diff --git a/xorg-server/hw/xfree86/loader/loader.h b/xorg-server/hw/xfree86/loader/loader.h index 46d4c3ed3..ac5f99cf5 100644 --- a/xorg-server/hw/xfree86/loader/loader.h +++ b/xorg-server/hw/xfree86/loader/loader.h @@ -53,9 +53,6 @@ #ifndef _LOADER_H #define _LOADER_H -#if defined(Lynx) && defined(sun) -#define const /**/ -#endif #include #include #include diff --git a/xorg-server/hw/xfree86/loader/loaderProcs.h b/xorg-server/hw/xfree86/loader/loaderProcs.h index 9c73db3a6..a10f0b3a6 100644 --- a/xorg-server/hw/xfree86/loader/loaderProcs.h +++ b/xorg-server/hw/xfree86/loader/loaderProcs.h @@ -56,7 +56,6 @@ #undef IN_LOADER #define IN_LOADER #include "xf86Module.h" -#include typedef struct module_desc { struct module_desc *child; @@ -87,7 +86,6 @@ ModuleDescPtr LoadSubModuleLocal(ModuleDescPtr, const char *, pointer, const XF86ModReqInfo *, int *, int *); ModuleDescPtr DuplicateModule(ModuleDescPtr mod, ModuleDescPtr parent); -void LoadFont(FontModule *); void UnloadModule(ModuleDescPtr); void UnloadSubModule(ModuleDescPtr); void UnloadDriver(ModuleDescPtr); diff --git a/xorg-server/hw/xfree86/loader/loadfont.c b/xorg-server/hw/xfree86/loader/loadfont.c deleted file mode 100644 index 94d31d6c1..000000000 --- a/xorg-server/hw/xfree86/loader/loadfont.c +++ /dev/null @@ -1,81 +0,0 @@ -/* - * Copyright (c) 1998 by The XFree86 Project, 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 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). - */ - -/* Maybe this file belongs in lib/font/fontfile/module/ ? */ - -#define LOADERDECLARATIONS -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include "loaderProcs.h" -#include "misc.h" -#include "xf86.h" - -/* XXX this should be static, but xorgcfg needs it, nngh */ -FontModule *FontModuleList = NULL; -static int numFontModules = 0; - -static FontModule * -NewFontModule(void) -{ - FontModule *save = FontModuleList; - int n; - - /* Sanity check */ - if (!FontModuleList) - numFontModules = 0; - - n = numFontModules + 1; - FontModuleList = xrealloc(FontModuleList, (n + 1) * sizeof(FontModule)); - if (FontModuleList == NULL) { - FontModuleList = save; - return NULL; - } else { - numFontModules++; - FontModuleList[numFontModules].name = NULL; - return FontModuleList + (numFontModules - 1); - } -} - -_X_EXPORT void -LoadFont(FontModule * f) -{ - FontModule *newfont; - - if (f == NULL) - return; - - if (!(newfont = NewFontModule())) - return; - - xf86MsgVerb(X_INFO, 2, "Loading font %s\n", f->name); - - newfont->name = f->name; - newfont->initFunc = f->initFunc; - newfont->module = f->module; -} diff --git a/xorg-server/hw/xfree86/loader/loadmod.c b/xorg-server/hw/xfree86/loader/loadmod.c index 7f3bbe49c..22b540c5d 100644 --- a/xorg-server/hw/xfree86/loader/loadmod.c +++ b/xorg-server/hw/xfree86/loader/loadmod.c @@ -59,9 +59,7 @@ #include "misc.h" #include "xf86.h" #include "xf86Priv.h" -#ifdef XINPUT #include "xf86Xinput.h" -#endif #include "loader.h" #include "xf86Optrec.h" @@ -200,7 +198,6 @@ LoaderSetPath(const char *path) /* Standard set of module subdirectories to search, in order of preference */ static const char *stdSubdirs[] = { "", - "fonts/", "input/", "drivers/", "multimedia/", @@ -850,14 +847,7 @@ doLoadModule(const char *module, const char *path, const char **subdirlist, char *m = NULL; const char **cim; - xf86MsgVerb(X_INFO, 3, "LoadModule: \"%s\"\n", module); - - for (cim = compiled_in_modules; *cim; cim++) - if (!strcmp (module, *cim)) - { - xf86MsgVerb(X_INFO, 3, "Module \"%s\" already built-in\n", module); - return (ModuleDescPtr) 1; - } + xf86MsgVerb(X_INFO, 3, "LoadModule: \"%s\"", module); patterns = InitPatterns(patternlist); name = LoaderGetCanonicalName(module, patterns); @@ -872,6 +862,15 @@ doLoadModule(const char *module, const char *path, const char **subdirlist, xf86ErrorFVerb(3, "\n"); m = (char *)module; } + + for (cim = compiled_in_modules; *cim; cim++) + if (!strcmp (m, *cim)) + { + xf86MsgVerb(X_INFO, 3, "Module \"%s\" already built-in\n", m); + ret = (ModuleDescPtr) 1; + goto LoadModule_exit; + } + if (!name) { if (errmaj) *errmaj = LDR_BADUSAGE; @@ -1135,24 +1134,6 @@ UnloadSubModule(ModuleDescPtr mod) xfree(mod); } -static void -FreeModuleDesc(ModuleDescPtr head) -{ - ModuleDescPtr sibs, prev; - - if (head == (ModuleDescPtr) 1) - return; - if (head->child) - FreeModuleDesc(head->child); - sibs = head; - while (sibs) { - prev = sibs; - sibs = sibs->sib; - TestFree(prev->name); - xfree(prev); - } -} - static void RemoveChild(ModuleDescPtr child) { diff --git a/xorg-server/hw/xfree86/loader/misym.c b/xorg-server/hw/xfree86/loader/misym.c index aa712c03a..91f2529b0 100644 --- a/xorg-server/hw/xfree86/loader/misym.c +++ b/xorg-server/hw/xfree86/loader/misym.c @@ -84,127 +84,102 @@ extern miPointerSpriteFuncRec miSpritePointerFuncs; _X_HIDDEN void *miLookupTab[] = { + SYMFUNC(miChangeClip) + SYMFUNC(miChangeGC) + SYMFUNC(miClearDrawable) SYMFUNC(miClearToBackground) - SYMFUNC(miSendGraphicsExpose) + SYMFUNC(miClearVisualTypes) + SYMFUNC(miClipSpans) + SYMFUNC(miComputeCompositeClip) + SYMFUNC(miCopyClip) + SYMFUNC(miCopyGC) + SYMFUNC(miCreateDefColormap) + SYMFUNC(miCreateScreenResources) + SYMFUNC(miDCInitialize) + SYMFUNC(miDestroyClip) + SYMFUNC(miDestroyGC) + SYMFUNC(miExpandDirectColors) + SYMFUNC(miFillArcSetup) + SYMFUNC(miFillArcSliceSetup) + SYMFUNC(miFillPolygon) + SYMFUNC(miGetDefaultVisualMask) + SYMFUNC(miHandleExposures) + SYMFUNC(miImageGlyphBlt) + SYMFUNC(miImageText16) + SYMFUNC(miImageText8) + SYMFUNC(miInitOverlay) + SYMFUNC(miInitVisuals) + SYMFUNC(miInitializeBackingStore) + SYMFUNC(miInitializeBanking) + SYMFUNC(miInitializeColormap) + SYMFUNC(miInstallColormap) + SYMFUNC(miIntersect) + SYMFUNC(miInverse) + SYMFUNC(miListInstalledColormaps) SYMFUNC(miModifyPixmapHeader) - SYMFUNC(miHandleValidateExposures) - SYMFUNC(miSetShape) - SYMFUNC(miChangeBorderWidth) - SYMFUNC(miShapedWindowIn) - SYMFUNC(miRectIn) - SYMFUNC(miZeroClipLine) - SYMFUNC(miZeroDashLine) - SYMFUNC(miClearDrawable) + SYMFUNC(miOverlayCollectUnderlayRegions) + SYMFUNC(miOverlayComputeCompositeClip) + SYMFUNC(miOverlayCopyUnderlay) + SYMFUNC(miOverlayGetPrivateClips) + SYMFUNC(miOverlaySetRootClip) + SYMFUNC(miOverlaySetTransFunction) + SYMFUNC(miPointInRegion) + SYMFUNC(miPointerAbsoluteCursor) + SYMFUNC(miPointerCurrentScreen) + SYMFUNC(miPointerInitialize) + SYMFUNC(miPointerWarpCursor) + SYMFUNC(miPolyArc) + SYMFUNC(miPolyBuildEdge) + SYMFUNC(miPolyBuildPoly) + SYMFUNC(miPolyFillArc) + SYMFUNC(miPolyFillRect) + SYMFUNC(miPolyGlyphBlt) SYMFUNC(miPolyPoint) - SYMFUNC(miStepDash) - SYMFUNC(miIntersect) + SYMFUNC(miPolyRectangle) + SYMFUNC(miPolySegment) + SYMFUNC(miPolyText16) + SYMFUNC(miPolyText8) + SYMFUNC(miRectAlloc) + SYMFUNC(miRectIn) + SYMFUNC(miRectsToRegion) SYMFUNC(miRegionAppend) SYMFUNC(miRegionCopy) + SYMFUNC(miRegionCreate) SYMFUNC(miRegionDestroy) SYMFUNC(miRegionEmpty) + SYMFUNC(miRegionEqual) SYMFUNC(miRegionExtents) SYMFUNC(miRegionInit) SYMFUNC(miRegionNotEmpty) - SYMFUNC(miRegionEqual) SYMFUNC(miRegionReset) SYMFUNC(miRegionUninit) SYMFUNC(miRegionValidate) - SYMFUNC(miTranslateRegion) - SYMFUNC(miHandleExposures) - SYMFUNC(miPolyFillRect) - SYMFUNC(miPolyFillArc) - SYMFUNC(miImageGlyphBlt) - SYMFUNC(miPolyGlyphBlt) - SYMFUNC(miFillPolygon) - SYMFUNC(miFillConvexPoly) - SYMFUNC(miPolySegment) - SYMFUNC(miZeroLine) - SYMFUNC(miWideLine) - SYMFUNC(miWideDash) - SYMFUNC(miZeroPolyArc) - SYMFUNC(miPolyArc) - SYMFUNC(miCreateGCOps) - SYMFUNC(miDestroyGCOps) - SYMFUNC(miComputeCompositeClip) - SYMFUNC(miChangeGC) - SYMFUNC(miCopyGC) - SYMFUNC(miDestroyGC) - SYMFUNC(miChangeClip) - SYMFUNC(miDestroyClip) - SYMFUNC(miCopyClip) - SYMFUNC(miPolyRectangle) - SYMFUNC(miPolyText8) - SYMFUNC(miPolyText16) - SYMFUNC(miImageText8) - SYMFUNC(miImageText16) - SYMFUNC(miRegionCreate) - SYMFUNC(miPaintWindow) - SYMFUNC(miZeroArcSetup) - SYMFUNC(miFillArcSetup) - SYMFUNC(miFillArcSliceSetup) - SYMFUNC(miFindMaxBand) - SYMFUNC(miClipSpans) - SYMFUNC(miAllocateGCPrivateIndex) - SYMFUNC(miScreenInit) - SYMFUNC(miGetScreenPixmap) - SYMFUNC(miSetScreenPixmap) - SYMFUNC(miPointerCurrentScreen) - SYMFUNC(miRectAlloc) - SYMFUNC(miInitializeBackingStore) - SYMFUNC(miInitializeBanking) - SYMFUNC(miModifyBanking) - SYMFUNC(miCopyPlane) - SYMFUNC(miCopyArea) - SYMFUNC(miCreateScreenResources) - SYMFUNC(miGetImage) - SYMFUNC(miPutImage) - SYMFUNC(miPushPixels) - SYMFUNC(miPointerInitialize) - SYMFUNC(miPointerPosition) - SYMFUNC(miRecolorCursor) - SYMFUNC(miPointerWarpCursor) - SYMFUNC(miDCInitialize) - SYMFUNC(miRectsToRegion) - SYMFUNC(miPointInRegion) - SYMFUNC(miInverse) - SYMFUNC(miSubtract) - SYMFUNC(miUnion) - SYMFUNC(miPolyBuildEdge) - SYMFUNC(miPolyBuildPoly) - SYMFUNC(miRoundJoinClip) - SYMFUNC(miRoundCapClip) - SYMFUNC(miSetZeroLineBias) SYMFUNC(miResolveColor) - SYMFUNC(miInitializeColormap) - SYMFUNC(miInstallColormap) - SYMFUNC(miUninstallColormap) - SYMFUNC(miListInstalledColormaps) - SYMFUNC(miExpandDirectColors) - SYMFUNC(miCreateDefColormap) - SYMFUNC(miClearVisualTypes) + SYMFUNC(miRoundCapClip) + SYMFUNC(miRoundJoinClip) + SYMFUNC(miScreenInit) + SYMFUNC(miSegregateChildren) + SYMFUNC(miSetPixmapDepths) SYMFUNC(miSetVisualTypes) SYMFUNC(miSetVisualTypesAndMasks) - SYMFUNC(miGetDefaultVisualMask) - SYMFUNC(miSetPixmapDepths) - SYMFUNC(miInitVisuals) + SYMFUNC(miSetZeroLineBias) + SYMFUNC(miSubtract) + SYMFUNC(miTranslateRegion) + SYMFUNC(miUninstallColormap) + SYMFUNC(miUnion) + SYMFUNC(miWideDash) + SYMFUNC(miWideLine) SYMFUNC(miWindowExposures) - SYMFUNC(miSegregateChildren) - SYMFUNC(miHookInitVisuals) - SYMFUNC(miPointerAbsoluteCursor) - SYMFUNC(miOverlayCopyUnderlay) - SYMFUNC(miOverlaySetTransFunction) - SYMFUNC(miOverlayCollectUnderlayRegions) - SYMFUNC(miInitOverlay) - SYMFUNC(miOverlayComputeCompositeClip) - SYMFUNC(miOverlayGetPrivateClips) - SYMFUNC(miOverlaySetRootClip) + SYMFUNC(miZeroArcSetup) + SYMFUNC(miZeroClipLine) + SYMFUNC(miZeroLine) + SYMFUNC(miZeroPolyArc) SYMVAR(miEmptyBox) SYMVAR(miEmptyData) - SYMVAR(miZeroLineScreenKey) - SYMVAR(miSpritePointerFuncs) - SYMVAR(miPointerScreenKey) SYMVAR(miInstalledMaps) - SYMVAR(miInitVisualsProc) + SYMVAR(miPointerScreenKey) + SYMVAR(miSpritePointerFuncs) + SYMVAR(miZeroLineScreenKey) #ifdef DAMAGE SYMFUNC(DamageDamageRegion) #endif diff --git a/xorg-server/hw/xfree86/loader/os.c b/xorg-server/hw/xfree86/loader/os.c index 12cf3d859..ef9ac38b4 100644 --- a/xorg-server/hw/xfree86/loader/os.c +++ b/xorg-server/hw/xfree86/loader/os.c @@ -48,16 +48,10 @@ #define OSNAME "netbsd" #elif defined(__OpenBSD__) #define OSNAME "openbsd" -#elif defined(Lynx) -#define OSNAME "lynxos" #elif defined(__GNU__) #define OSNAME "hurd" #elif defined(__SCO__) #define OSNAME "sco" -#elif defined(DGUX) -#define OSNAME "dgux" -#elif defined(ISC) -#define OSNAME "isc" #elif defined(SVR4) && defined(sun) #define OSNAME "solaris" #elif defined(SVR5) diff --git a/xorg-server/hw/xfree86/loader/xf86sym.c b/xorg-server/hw/xfree86/loader/xf86sym.c index 24fc44c1b..6378948d4 100644 --- a/xorg-server/hw/xfree86/loader/xf86sym.c +++ b/xorg-server/hw/xfree86/loader/xf86sym.c @@ -64,10 +64,7 @@ #include "xf86_OSproc.h" #include "xf86Parser.h" #include "xf86Config.h" -#ifdef XINPUT -# include "xf86Xinput.h" -#endif -#include "xf86OSmouse.h" +#include "xf86Xinput.h" #ifdef XV #include "xf86xv.h" #include "xf86xvmc.h" @@ -79,7 +76,6 @@ #include "dpmsproc.h" #endif #include "vidmodeproc.h" -#include "xf86miscproc.h" #include "loader.h" #include "xisb.h" #include "vbe.h" @@ -100,6 +96,9 @@ #include "IBM.h" #include "TI.h" +#include "xf86RamDac.h" +#include "BT.h" + #ifndef HAS_GLIBC_SIGSETJMP #if defined(setjmp) && defined(__GNU_LIBRARY__) && \ (!defined(__GLIBC__) || (__GLIBC__ < 2) || \ @@ -188,7 +187,7 @@ extern long __umodsi3(long, long); #include #endif -#if defined(__powerpc__) && (defined(Lynx) || defined(linux)) +#if defined(__powerpc__) && defined(linux) void _restf14(); void _restf17(); void _restf18(); @@ -245,8 +244,6 @@ _X_HIDDEN void *xfree86LookupTab[] = { SYMFUNC(xf86ReadBIOS) SYMFUNC(xf86EnableIO) SYMFUNC(xf86DisableIO) - SYMFUNC(xf86DisableInterrupts) - SYMFUNC(xf86EnableInterrupts) SYMFUNC(xf86LinearVidMem) SYMFUNC(xf86CheckMTRR) SYMFUNC(xf86MapVidMem) @@ -254,7 +251,6 @@ _X_HIDDEN void *xfree86LookupTab[] = { SYMFUNC(xf86MapReadSideEffects) SYMFUNC(xf86MapDomainMemory) SYMFUNC(xf86UDelay) - SYMFUNC(xf86IODelay) SYMFUNC(xf86SlowBcopy) SYMFUNC(xf86SetReallySlowBcopy) #ifdef __alpha__ @@ -277,7 +273,6 @@ _X_HIDDEN void *xfree86LookupTab[] = { SYMFUNC(xf86SerialModemSetBits) SYMFUNC(xf86SerialModemClearBits) SYMFUNC(xf86LoadKernelModule) - SYMFUNC(xf86OSMouseInit) SYMFUNC(xf86AgpGARTSupported) SYMFUNC(xf86GetAGPInfo) SYMFUNC(xf86AcquireGART) @@ -288,33 +283,24 @@ _X_HIDDEN void *xfree86LookupTab[] = { SYMFUNC(xf86UnbindGARTMemory) SYMFUNC(xf86EnableAGP) SYMFUNC(xf86GARTCloseScreen) -#ifdef XINPUT SYMFUNC(XisbNew) SYMFUNC(XisbFree) SYMFUNC(XisbRead) SYMFUNC(XisbWrite) SYMFUNC(XisbTrace) SYMFUNC(XisbBlockDuration) -#endif /* xf86Bus.c */ SYMFUNC(xf86CheckPciSlot) SYMFUNC(xf86ClaimPciSlot) - SYMFUNC(xf86ClaimIsaSlot) SYMFUNC(xf86ClaimFbSlot) SYMFUNC(xf86ClaimNoSlot) SYMFUNC(xf86ParsePciBusString) SYMFUNC(xf86ComparePciBusString) SYMFUNC(xf86FormatPciBusNumber) - SYMFUNC(xf86ParseIsaBusString) SYMFUNC(xf86EnableAccess) SYMFUNC(xf86SetCurrentAccess) SYMFUNC(xf86IsPrimaryPci) - SYMFUNC(xf86IsPrimaryIsa) - SYMFUNC(xf86PrintResList) - SYMFUNC(xf86AddResToList) - SYMFUNC(xf86JoinResLists) - SYMFUNC(xf86DupResList) SYMFUNC(xf86FreeResList) SYMFUNC(xf86ClaimFixedResources) SYMFUNC(xf86AddEntityToScreen) @@ -324,19 +310,14 @@ _X_HIDDEN void *xfree86LookupTab[] = { SYMFUNC(xf86GetNumEntityInstances) SYMFUNC(xf86GetDevFromEntity) SYMFUNC(xf86GetPciInfoForEntity) - SYMFUNC(xf86SetEntityFuncs) - SYMFUNC(xf86DeallocateResourcesForEntity) SYMFUNC(xf86RegisterResources) SYMFUNC(xf86CheckPciMemBase) SYMFUNC(xf86SetAccessFuncs) SYMFUNC(xf86IsEntityPrimary) SYMFUNC(xf86SetOperatingState) - SYMFUNC(xf86EnterServerState) - SYMFUNC(xf86ChkConflict) SYMFUNC(xf86FindScreenForEntity) SYMFUNC(xf86RegisterStateChangeNotificationCallback) SYMFUNC(xf86DeregisterStateChangeNotificationCallback) - SYMFUNC(xf86NoSharedResources) /* Shared Accel Accessor Functions */ SYMFUNC(xf86GetLastScrnFlag) SYMFUNC(xf86SetLastScrnFlag) @@ -350,9 +331,6 @@ _X_HIDDEN void *xfree86LookupTab[] = { SYMFUNC(xf86AllocateEntityPrivateIndex) SYMFUNC(xf86GetEntityPrivate) - /* xf86Configure.c */ - SYMFUNC(xf86AddDeviceToConfigure) - /* xf86Cursor.c */ SYMFUNC(xf86GetPointerScreenFuncs) @@ -427,7 +405,6 @@ _X_HIDDEN void *xfree86LookupTab[] = { SYMFUNC(xf86PrintChipsets) SYMFUNC(xf86MatchDevice) SYMFUNC(xf86MatchPciInstances) - SYMFUNC(xf86MatchIsaInstances) SYMFUNC(xf86GetVerbosity) SYMFUNC(xf86GetVisualName) SYMFUNC(xf86GetPix24) @@ -446,11 +423,9 @@ _X_HIDDEN void *xfree86LookupTab[] = { SYMFUNC(xf86GetModInDevAllowNonLocal) SYMFUNC(xf86GetModInDevEnabled) SYMFUNC(xf86GetAllowMouseOpenFail) - SYMFUNC(xf86CommonSpecialKey) SYMFUNC(xf86IsPc98) SYMFUNC(xf86DisableRandR) SYMFUNC(xf86GetRotation) - SYMFUNC(xf86GetVersion) SYMFUNC(xf86GetModuleVersion) SYMFUNC(xf86GetClocks) SYMFUNC(xf86SetPriority) @@ -469,12 +444,9 @@ _X_HIDDEN void *xfree86LookupTab[] = { SYMFUNC(xf86FindXvOptions) SYMFUNC(xf86GetOS) SYMFUNC(xf86ConfigPciEntity) - SYMFUNC(xf86ConfigIsaEntity) SYMFUNC(xf86ConfigFbEntity) SYMFUNC(xf86ConfigActivePciEntity) - SYMFUNC(xf86ConfigActiveIsaEntity) SYMFUNC(xf86ConfigPciEntityInactive) - SYMFUNC(xf86ConfigIsaEntityInactive) SYMFUNC(xf86IsScreenPrimary) SYMFUNC(xf86RegisterRootWindowProperty) SYMFUNC(xf86IsUnblank) @@ -645,32 +617,10 @@ _X_HIDDEN void *xfree86LookupTab[] = { SYMFUNC(VidModeGetGammaRampSize) #endif - /* xf86Versions.c */ - SYMFUNC(xf86GetBuiltinInterfaceVersion) - SYMFUNC(xf86RegisterBuiltinInterfaceVersion) - - /* xf86MiscExt.c */ -#ifdef XF86MISC - SYMFUNC(MiscExtGetMouseSettings) - SYMFUNC(MiscExtGetMouseValue) - SYMFUNC(MiscExtSetMouseValue) - SYMFUNC(MiscExtSetMouseDevice) - SYMFUNC(MiscExtGetKbdSettings) - SYMFUNC(MiscExtGetKbdValue) - SYMFUNC(MiscExtSetKbdValue) - SYMFUNC(MiscExtSetGrabKeysState) - SYMFUNC(MiscExtCreateStruct) - SYMFUNC(MiscExtDestroyStruct) - SYMFUNC(MiscExtApply) - SYMFUNC(MiscExtGetFilePaths) - SYMFUNC(MiscExtPassMessage) -#endif - /* Misc */ SYMFUNC(GetTimeInMillis) /* xf86Xinput.c */ -#ifdef XINPUT SYMFUNC(xf86ProcessCommonOptions) SYMFUNC(xf86PostMotionEvent) SYMFUNC(xf86PostProximityEvent) @@ -681,24 +631,16 @@ _X_HIDDEN void *xfree86LookupTab[] = { SYMFUNC(xf86ActivateDevice) SYMFUNC(xf86XInputSetScreen) SYMFUNC(xf86ScaleAxis) -#endif + SYMFUNC(NewInputDeviceRequest) + SYMFUNC(DeleteInputDeviceRequest) #ifdef DPMSExtension SYMFUNC(DPMSGet) SYMFUNC(DPMSSet) SYMFUNC(DPMSSupported) #endif -/* xf86Debug.c */ -#ifdef BUILDDEBUG - SYMFUNC(xf86Break1) - SYMFUNC(xf86Break2) - SYMFUNC(xf86Break3) - SYMFUNC(xf86SPTimestamp) - SYMFUNC(xf86STimestamp) -#endif SYMFUNC(pciTag) SYMFUNC(pciBusAddrToHostAddr) - SYMFUNC(xf86scanpci) /* Loader functions */ SYMFUNC(LoadSubModule) @@ -706,7 +648,6 @@ _X_HIDDEN void *xfree86LookupTab[] = { SYMFUNC(LoaderErrorMsg) SYMFUNC(LoaderCheckUnresolved) SYMFUNC(LoadExtension) - SYMFUNC(LoadFont) SYMFUNC(LoaderReqSymbols) SYMFUNC(LoaderReqSymLists) SYMFUNC(LoaderRefSymbols) @@ -716,6 +657,7 @@ _X_HIDDEN void *xfree86LookupTab[] = { SYMFUNC(LoaderListDirs) SYMFUNC(LoaderFreeDirList) SYMFUNC(LoaderGetOS) + SYMFUNC(LoaderShouldIgnoreABI) SYMFUNC(LoaderGetABIVersion) #ifdef XF86DRI @@ -789,7 +731,7 @@ _X_HIDDEN void *xfree86LookupTab[] = { SYMFUNC(outb) SYMFUNC(outw) SYMFUNC(outl) -# if defined(NO_INLINE) || defined(Lynx) +# if defined(NO_INLINE) SYMFUNC(mem_barrier) SYMFUNC(ldl_u) SYMFUNC(eieio) @@ -804,34 +746,6 @@ _X_HIDDEN void *xfree86LookupTab[] = { SYMFUNC(stw_u) SYMFUNC(write_mem_barrier) # endif -# if defined(Lynx) - SYMFUNC(_restf14) - SYMFUNC(_restf17) - SYMFUNC(_restf18) - SYMFUNC(_restf19) - SYMFUNC(_restf20) - SYMFUNC(_restf22) - SYMFUNC(_restf23) - SYMFUNC(_restf24) - SYMFUNC(_restf25) - SYMFUNC(_restf26) - SYMFUNC(_restf27) - SYMFUNC(_restf28) - SYMFUNC(_restf29) - SYMFUNC(_savef14) - SYMFUNC(_savef17) - SYMFUNC(_savef18) - SYMFUNC(_savef19) - SYMFUNC(_savef20) - SYMFUNC(_savef22) - SYMFUNC(_savef23) - SYMFUNC(_savef24) - SYMFUNC(_savef25) - SYMFUNC(_savef26) - SYMFUNC(_savef27) - SYMFUNC(_savef28) - SYMFUNC(_savef29) -# endif # if PPCIO_DEBUG SYMFUNC(debug_inb) SYMFUNC(debug_inw) @@ -842,39 +756,23 @@ _X_HIDDEN void *xfree86LookupTab[] = { # endif #endif #if defined(__GNUC__) -#if !defined(Lynx) SYMFUNC(__div64) -#endif -#if !defined(Lynx) /* FIXME: test on others than x86 and !3.1.0a/x86 */ SYMFUNC(__divdf3) -#endif SYMFUNC(__divdi3) -#if !defined(Lynx) SYMFUNC(__divsf3) SYMFUNC(__divsi3) -#endif SYMFUNC(__moddi3) -#if !defined(Lynx) SYMFUNC(__modsi3) -#endif -#if !defined(Lynx) SYMFUNC(__mul64) -#endif -#if !defined(Lynx) SYMFUNC(__muldf3) -#endif SYMFUNC(__muldi3) -#if !defined(Lynx) SYMFUNC(__mulsf3) SYMFUNC(__mulsi3) SYMFUNC(__udivdi3) SYMFUNC(__udivsi3) -#endif SYMFUNC(__umoddi3) -#if !defined(Lynx) SYMFUNC(__umodsi3) #endif -#endif #if defined(__ia64__) SYMFUNC(outw) SYMFUNC(outb) @@ -921,7 +819,7 @@ _X_HIDDEN void *xfree86LookupTab[] = { SYMVAR(res8514Exclusive) SYMVAR(res8514Shared) -#if defined(__powerpc__) && (!defined(NO_INLINE) || defined(Lynx)) +#if defined(__powerpc__) && !defined(NO_INLINE) SYMVAR(ioBase) #endif @@ -931,9 +829,6 @@ _X_HIDDEN void *xfree86LookupTab[] = { /* Globals from xf86Configure.c */ SYMVAR(ConfiguredMonitor) - /* Pci.c */ - SYMVAR(pciNumBuses) - /* modes */ SYMVAR(xf86CrtcConfigPrivateIndex) SYMFUNC(xf86CrtcConfigInit) @@ -942,6 +837,7 @@ _X_HIDDEN void *xfree86LookupTab[] = { SYMFUNC(xf86CrtcDestroy) SYMFUNC(xf86CrtcInUse) SYMFUNC(xf86CrtcSetScreenSubpixelOrder) + SYMFUNC(xf86RotateFreeShadow) SYMFUNC(xf86RotateCloseScreen) SYMFUNC(xf86CrtcRotate) SYMFUNC(xf86CrtcSetMode) @@ -1004,13 +900,18 @@ _X_HIDDEN void *xfree86LookupTab[] = { SYMFUNC(xf86_hide_cursors) SYMFUNC(xf86_cursors_fini) SYMFUNC(xf86_crtc_clip_video_helper) + SYMFUNC(xf86_wrap_crtc_notify) + SYMFUNC(xf86_unwrap_crtc_notify) + SYMFUNC(xf86_crtc_notify) SYMFUNC(xf86DoEDID_DDC1) SYMFUNC(xf86DoEDID_DDC2) SYMFUNC(xf86InterpretEDID) SYMFUNC(xf86PrintEDID) + SYMFUNC(xf86DoEEDID) SYMFUNC(xf86DDCMonitorSet) SYMFUNC(xf86SetDDCproperties) + SYMFUNC(xf86MonitorIsHDMI) SYMFUNC(xf86CreateI2CBusRec) SYMFUNC(xf86CreateI2CDevRec) diff --git a/xorg-server/hw/xfree86/modes/Makefile.in b/xorg-server/hw/xfree86/modes/Makefile.in index ff0a94f9f..0af44e357 100644 --- a/xorg-server/hw/xfree86/modes/Makefile.in +++ b/xorg-server/hw/xfree86/modes/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -45,7 +45,6 @@ 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 \ @@ -65,9 +64,6 @@ 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) \ @@ -91,8 +87,9 @@ ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ -APPDEFAULTDIR = @APPDEFAULTDIR@ APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +APPLE_APPLICATION_ID = @APPLE_APPLICATION_ID@ +APPLE_APPLICATION_NAME = @APPLE_APPLICATION_NAME@ APP_MAN_DIR = @APP_MAN_DIR@ APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ AR = @AR@ @@ -113,10 +110,6 @@ 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@ @@ -138,6 +131,7 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOLT_BASH = @DOLT_BASH@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ @@ -147,18 +141,15 @@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ DSYMUTIL = @DSYMUTIL@ DTRACE = @DTRACE@ -ECHO = @ECHO@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ -FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ -FREETYPE_LIBS = @FREETYPE_LIBS@ GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ GLX_DEFINES = @GLX_DEFINES@ GL_CFLAGS = @GL_CFLAGS@ @@ -177,7 +168,7 @@ KDRIVE_LIBS = @KDRIVE_LIBS@ KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ -LAUNCHD = @LAUNCHD@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ LEX = @LEX@ @@ -191,7 +182,10 @@ LIBTOOL = @LIBTOOL@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LINUXDOC = @LINUXDOC@ +LIPO = @LIPO@ LN_S = @LN_S@ +LTCOMPILE = @LTCOMPILE@ +LTCXXCOMPILE = @LTCXXCOMPILE@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ @@ -203,8 +197,7 @@ MESA_SOURCE = @MESA_SOURCE@ MISC_MAN_DIR = @MISC_MAN_DIR@ MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ MKDIR_P = @MKDIR_P@ -MKFONTDIR = @MKFONTDIR@ -MKFONTSCALE = @MKFONTSCALE@ +NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCCLD = @OBJCCLD@ @@ -213,8 +206,8 @@ OBJCFLAGS = @OBJCFLAGS@ OBJCLINK = @OBJCLINK@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ @@ -247,7 +240,6 @@ VENDOR_NAME = @VENDOR_NAME@ VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ VENDOR_RELEASE = @VENDOR_RELEASE@ VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ XDMCP_CFLAGS = @XDMCP_CFLAGS@ @@ -257,27 +249,12 @@ XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@ XDMX_CFLAGS = @XDMX_CFLAGS@ XDMX_LIBS = @XDMX_LIBS@ XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ XEPHYR_INCS = @XEPHYR_INCS@ XEPHYR_LIBS = @XEPHYR_LIBS@ 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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ @@ -288,10 +265,6 @@ XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ XNEST_LIBS = @XNEST_LIBS@ XNEST_SYS_LIBS = @XNEST_SYS_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_INCS = @XORG_INCS@ XORG_LIBS = @XORG_LIBS@ @@ -300,13 +273,8 @@ XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ XORG_OS = @XORG_OS@ XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_LIBS@ +XPBPROXY_CFLAGS = @XPBPROXY_CFLAGS@ +XPBPROXY_LIBS = @XPBPROXY_LIBS@ XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ XSDL_INCS = @XSDL_INCS@ @@ -339,8 +307,7 @@ 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@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -360,7 +327,6 @@ driverdir = @driverdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ extdir = @extdir@ -ft_config = @ft_config@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ @@ -370,12 +336,12 @@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ -launchagentsdir = @launchagentsdir@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ logdir = @logdir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ moduledir = @moduledir@ @@ -393,8 +359,6 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ noinst_LIBRARIES = libxf86modes.a libxf86modes_a_SOURCES = \ xf86Crtc.c \ @@ -432,8 +396,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ @@ -530,7 +494,7 @@ ID: $(HEADERS) $(SOURCES) $(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; nonemtpy = 1; } \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS diff --git a/xorg-server/hw/xfree86/modes/xf86Crtc.c b/xorg-server/hw/xfree86/modes/xf86Crtc.c index 1facf86e9..84d3cac3e 100644 --- a/xorg-server/hw/xfree86/modes/xf86Crtc.c +++ b/xorg-server/hw/xfree86/modes/xf86Crtc.c @@ -96,6 +96,7 @@ xf86CrtcCreate (ScrnInfoPtr scrn, crtc = xcalloc (sizeof (xf86CrtcRec), 1); if (!crtc) return NULL; + crtc->version = XF86_CRTC_VERSION; crtc->scrn = scrn; crtc->funcs = funcs; #ifdef RANDR_12_INTERFACE @@ -103,6 +104,19 @@ xf86CrtcCreate (ScrnInfoPtr scrn, #endif crtc->rotation = RR_Rotate_0; crtc->desiredRotation = RR_Rotate_0; + pixman_transform_init_identity (&crtc->crtc_to_framebuffer); + pixman_f_transform_init_identity (&crtc->f_crtc_to_framebuffer); + pixman_f_transform_init_identity (&crtc->f_framebuffer_to_crtc); + crtc->filter = NULL; + crtc->params = NULL; + crtc->nparams = 0; + crtc->filter_width = 0; + crtc->filter_height = 0; + crtc->transform_in_use = FALSE; + crtc->transformPresent = FALSE; + crtc->desiredTransformPresent = FALSE; + memset (&crtc->bounds, '\0', sizeof (crtc->bounds)); + if (xf86_config->crtc) crtcs = xrealloc (xf86_config->crtc, (xf86_config->num_crtc + 1) * sizeof (xf86CrtcPtr)); @@ -134,6 +148,8 @@ xf86CrtcDestroy (xf86CrtcPtr crtc) xf86_config->num_crtc--; break; } + if (crtc->params) + xfree (crtc->params); xfree (crtc); } @@ -224,8 +240,8 @@ xf86CrtcSetScreenSubpixelOrder (ScreenPtr pScreen) * Sets the given video mode on the given crtc */ _X_EXPORT Bool -xf86CrtcSetMode (xf86CrtcPtr crtc, DisplayModePtr mode, Rotation rotation, - int x, int y) +xf86CrtcSetModeTransform (xf86CrtcPtr crtc, DisplayModePtr mode, Rotation rotation, + RRTransformPtr transform, int x, int y) { ScrnInfoPtr scrn = crtc->scrn; xf86CrtcConfigPtr xf86_config = XF86_CRTC_CONFIG_PTR(scrn); @@ -236,12 +252,14 @@ xf86CrtcSetMode (xf86CrtcPtr crtc, DisplayModePtr mode, Rotation rotation, DisplayModeRec saved_mode; int saved_x, saved_y; Rotation saved_rotation; + RRTransformRec saved_transform; + Bool saved_transform_present; if (crtc->funcs->set_mode_major) return crtc->funcs->set_mode_major(crtc, mode, rotation, x, y); - + crtc->enabled = xf86CrtcInUse (crtc); - + if (!crtc->enabled) { /* XXX disable crtc? */ @@ -256,6 +274,12 @@ xf86CrtcSetMode (xf86CrtcPtr crtc, DisplayModePtr mode, Rotation rotation, saved_x = crtc->x; saved_y = crtc->y; saved_rotation = crtc->rotation; + if (crtc->transformPresent) { + RRTransformInit (&saved_transform); + RRTransformCopy (&saved_transform, &crtc->transform); + } + saved_transform_present = crtc->transformPresent; + /* Update crtc values up front so the driver can rely on them for mode * setting. */ @@ -263,33 +287,25 @@ xf86CrtcSetMode (xf86CrtcPtr crtc, DisplayModePtr mode, Rotation rotation, crtc->x = x; crtc->y = y; crtc->rotation = rotation; + if (transform) { + RRTransformCopy (&crtc->transform, transform); + crtc->transformPresent = TRUE; + } else + crtc->transformPresent = FALSE; - /* Shift offsets that move us out of virtual size */ - if (x + mode->HDisplay > xf86_config->maxWidth || - y + mode->VDisplay > xf86_config->maxHeight) + if (crtc->funcs->set_origin && + memcmp (mode, &saved_mode, sizeof(saved_mode)) == 0 && + saved_rotation == rotation && + saved_transform_present == crtc->transformPresent && + (!crtc->transformPresent || RRTransformEqual(&saved_transform, &crtc->transform))) { - if (x + mode->HDisplay > xf86_config->maxWidth) - crtc->x = xf86_config->maxWidth - mode->HDisplay; - if (y + mode->VDisplay > xf86_config->maxHeight) - crtc->y = xf86_config->maxHeight - mode->VDisplay; - if (crtc->x < 0 || crtc->y < 0) - { - xf86DrvMsg (scrn->scrnIndex, X_ERROR, - "Mode %dx%d does not fit virtual size %dx%d - " - "internal error\n", mode->HDisplay, mode->VDisplay, - xf86_config->maxWidth, xf86_config->maxHeight); - goto done; - } - xf86DrvMsg (scrn->scrnIndex, X_ERROR, - "Mode %dx%d+%d+%d does not fit virtual size %dx%d - " - "offset updated to +%d+%d\n", - mode->HDisplay, mode->VDisplay, x, y, - xf86_config->maxWidth, xf86_config->maxHeight, - crtc->x, crtc->y); + if (!xf86CrtcRotate (crtc)) + goto done; + crtc->funcs->set_origin (crtc, crtc->x, crtc->y); + ret = TRUE; + goto done; } - /* XXX short-circuit changes to base location only */ - /* Pass our mode to the outputs and the CRTC to give them a chance to * adjust it according to limitations or output properties, and also * a chance to reject the mode entirely. @@ -309,9 +325,8 @@ xf86CrtcSetMode (xf86CrtcPtr crtc, DisplayModePtr mode, Rotation rotation, goto done; } - if (!xf86CrtcRotate (crtc, mode, rotation)) { + if (!xf86CrtcRotate (crtc)) goto done; - } /* Prepare the outputs and CRTCs before setting the mode. */ for (i = 0; i < xf86_config->num_output; i++) { @@ -343,13 +358,7 @@ xf86CrtcSetMode (xf86CrtcPtr crtc, DisplayModePtr mode, Rotation rotation, { xf86OutputPtr output = xf86_config->output[i]; if (output->crtc == crtc) - { output->funcs->commit(output); -#ifdef RANDR_12_INTERFACE - if (output->randr_output) - RRPostPendingProperties (output->randr_output); -#endif - } } /* XXX free adjustedmode */ @@ -363,6 +372,9 @@ done: crtc->y = saved_y; crtc->rotation = saved_rotation; crtc->mode = saved_mode; + if (saved_transform_present) + RRTransformCopy (&crtc->transform, &saved_transform); + crtc->transformPresent = saved_transform_present; } if (didLock) @@ -371,6 +383,34 @@ done: return ret; } +/** + * Sets the given video mode on the given crtc, but without providing + * a transform + */ +_X_EXPORT Bool +xf86CrtcSetMode (xf86CrtcPtr crtc, DisplayModePtr mode, Rotation rotation, + int x, int y) +{ + return xf86CrtcSetModeTransform (crtc, mode, rotation, NULL, x, y); +} + +/** + * Pans the screen, does not change the mode + */ +_X_EXPORT void +xf86CrtcSetOrigin (xf86CrtcPtr crtc, int x, int y) +{ + crtc->x = x; + crtc->y = y; + if (crtc->funcs->set_origin) { + if (!xf86CrtcRotate (crtc)) + return; + crtc->funcs->set_origin (crtc, x, y); + } + else + xf86CrtcSetMode (crtc, &crtc->mode, crtc->rotation, x, y); +} + /* * Output functions */ @@ -390,6 +430,7 @@ typedef enum { OPTION_MAX_CLOCK, OPTION_IGNORE, OPTION_ROTATE, + OPTION_PANNING, } OutputOpts; static OptionInfoRec xf86OutputOptions[] = { @@ -405,6 +446,7 @@ static OptionInfoRec xf86OutputOptions[] = { {OPTION_MAX_CLOCK, "MaxClock", OPTV_FREQ, {0}, FALSE }, {OPTION_IGNORE, "Ignore", OPTV_BOOLEAN, {0}, FALSE }, {OPTION_ROTATE, "Rotate", OPTV_STRING, {0}, FALSE }, + {OPTION_PANNING, "Panning", OPTV_STRING, {0}, FALSE }, {-1, NULL, OPTV_NONE, {0}, FALSE }, }; @@ -694,7 +736,12 @@ xf86CrtcCloseScreen (int index, ScreenPtr screen) /* * Called at ScreenInit time to set up */ -_X_EXPORT Bool +_X_EXPORT +#ifdef RANDR_13_INTERFACE +int +#else +Bool +#endif xf86CrtcScreenInit (ScreenPtr screen) { ScrnInfoPtr scrn = xf86Screens[screen->myNum]; @@ -714,11 +761,17 @@ xf86CrtcScreenInit (ScreenPtr screen) break; } if (c == config->num_crtc) + { xf86RandR12SetRotations (screen, RR_Rotate_0 | RR_Rotate_90 | RR_Rotate_180 | RR_Rotate_270 | RR_Reflect_X | RR_Reflect_Y); + xf86RandR12SetTransformSupport (screen, TRUE); + } else + { xf86RandR12SetRotations (screen, RR_Rotate_0); + xf86RandR12SetTransformSupport (screen, FALSE); + } /* Wrap CreateScreenResources so we can initialize the RandR code */ config->CreateScreenResources = screen->CreateScreenResources; @@ -727,7 +780,11 @@ xf86CrtcScreenInit (ScreenPtr screen) config->CloseScreen = screen->CloseScreen; screen->CloseScreen = xf86CrtcCloseScreen; +#ifdef RANDR_13_INTERFACE + return RANDR_INTERFACE_VERSION; +#else return TRUE; +#endif } static DisplayModePtr @@ -905,7 +962,7 @@ xf86PickCrtcs (ScrnInfoPtr scrn, * see if they can be cloned */ if (xf86ModesEqual (modes[o], modes[n]) && - config->output[0]->initial_rotation == config->output[n]->initial_rotation && + config->output[o]->initial_rotation == config->output[n]->initial_rotation && config->output[o]->initial_x == config->output[n]->initial_x && config->output[o]->initial_y == config->output[n]->initial_y) { @@ -1176,10 +1233,12 @@ xf86InitialOutputPositions (ScrnInfoPtr scrn, DisplayModePtr *modes) output->initial_x += xf86ModeWidth (modes[or], relative->initial_rotation); break; case OPTION_ABOVE: - output->initial_y -= xf86ModeHeight (modes[o], relative->initial_rotation); + if (modes[o]) + output->initial_y -= xf86ModeHeight (modes[o], output->initial_rotation); break; case OPTION_LEFT_OF: - output->initial_x -= xf86ModeWidth (modes[o], relative->initial_rotation); + if (modes[o]) + output->initial_x -= xf86ModeWidth (modes[o], output->initial_rotation); break; default: break; @@ -1237,6 +1296,59 @@ xf86InitialOutputPositions (ScrnInfoPtr scrn, DisplayModePtr *modes) return TRUE; } +static void +xf86InitialPanning (ScrnInfoPtr scrn) +{ + xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(scrn); + int o; + + for (o = 0; o < config->num_output; o++) + { + xf86OutputPtr output = config->output[o]; + char *panning = xf86GetOptValString (output->options, OPTION_PANNING); + int width, height, left, top; + int track_width, track_height, track_left, track_top; + int brdr[4]; + + memset (&output->initialTotalArea, 0, sizeof(BoxRec)); + memset (&output->initialTrackingArea, 0, sizeof(BoxRec)); + memset (output->initialBorder, 0, 4*sizeof(INT16)); + + if (! panning) + continue; + + switch (sscanf (panning, "%dx%d+%d+%d/%dx%d+%d+%d/%d/%d/%d/%d", + &width, &height, &left, &top, + &track_width, &track_height, &track_left, &track_top, + &brdr[0], &brdr[1], &brdr[2], &brdr[3])) { + case 12: + output->initialBorder[0] = brdr[0]; + output->initialBorder[1] = brdr[1]; + output->initialBorder[2] = brdr[2]; + output->initialBorder[3] = brdr[3]; + /* fall through */ + case 8: + output->initialTrackingArea.x1 = track_left; + output->initialTrackingArea.y1 = track_top; + output->initialTrackingArea.x2 = track_left + track_width; + output->initialTrackingArea.y2 = track_top + track_height; + /* fall through */ + case 4: + output->initialTotalArea.x1 = left; + output->initialTotalArea.y1 = top; + /* fall through */ + case 2: + output->initialTotalArea.x2 = output->initialTotalArea.x1 + width; + output->initialTotalArea.y2 = output->initialTotalArea.y1 + height; + break; + default: + xf86DrvMsg (scrn->scrnIndex, X_ERROR, + "Broken panning specification '%s' for output %s in config file\n", + panning, output->name); + } + } +} + /* * XXX walk the monitor mode list and prune out duplicates that * are inserted by xf86DDCMonitorSet. In an ideal world, that @@ -1407,7 +1519,7 @@ xf86ProbeOutputModes (ScrnInfoPtr scrn, int maxX, int maxY) { xf86OutputPtr output = config->output[o]; DisplayModePtr mode; - DisplayModePtr config_modes = NULL, output_modes, default_modes; + DisplayModePtr config_modes = NULL, output_modes, default_modes = NULL; char *preferred_mode; xf86MonPtr edid_monitor; XF86ConfMonitorPtr conf_monitor; @@ -1415,6 +1527,7 @@ xf86ProbeOutputModes (ScrnInfoPtr scrn, int maxX, int maxY) int min_clock = 0; int max_clock = 0; double clock; + Bool add_default_modes = TRUE; enum { sync_config, sync_edid, sync_default } sync_source = sync_default; while (output->probed_modes != NULL) @@ -1465,6 +1578,11 @@ xf86ProbeOutputModes (ScrnInfoPtr scrn, int maxX, int maxY) int i; Bool set_hsync = mon_rec.nHsync == 0; Bool set_vrefresh = mon_rec.nVrefresh == 0; + struct disp_features *features = &edid_monitor->features; + + /* if display is not continuous-frequency, don't add default modes */ + if (!GTF_SUPPORTED(features->msc)) + add_default_modes = FALSE; for (i = 0; i < sizeof (edid_monitor->det_mon) / sizeof (edid_monitor->det_mon[0]); i++) { @@ -1521,8 +1639,10 @@ xf86ProbeOutputModes (ScrnInfoPtr scrn, int maxX, int maxY) mon_rec.vrefresh[0].hi = 62.0; mon_rec.nVrefresh = 1; } - default_modes = xf86GetDefaultModes (output->interlaceAllowed, - output->doubleScanAllowed); + + if (add_default_modes) + default_modes = xf86GetDefaultModes (output->interlaceAllowed, + output->doubleScanAllowed); /* * If this is not an RB monitor, remove RB modes from the default @@ -1808,6 +1928,66 @@ nextEnabledOutput(xf86CrtcConfigPtr config, Bool *enabled, int *index) return FALSE; } +static Bool +aspectMatch(float a, float b) +{ + return fabs(1 - (a / b)) < 0.05; +} + +static DisplayModePtr +nextAspectMode(xf86OutputPtr o, DisplayModePtr last, float aspect) +{ + DisplayModePtr m = NULL; + + if (!o) + return NULL; + + if (!last) + m = o->probed_modes; + else + m = last->next; + + for (; m; m = m->next) + if (aspectMatch(aspect, (float)m->HDisplay / (float)m->VDisplay)) + return m; + + return NULL; +} + +static DisplayModePtr +bestModeForAspect(xf86CrtcConfigPtr config, Bool *enabled, float aspect) +{ + int o = -1, p; + DisplayModePtr mode = NULL, test = NULL, match = NULL; + + if (!nextEnabledOutput(config, enabled, &o)) + return NULL; + while ((mode = nextAspectMode(config->output[o], mode, aspect))) { + test = mode; + for (p = o; nextEnabledOutput(config, enabled, &p); ) { + test = xf86OutputFindClosestMode(config->output[p], mode); + if (!test) + break; + if (test->HDisplay != mode->HDisplay || + test->VDisplay != mode->VDisplay) { + test = NULL; + break; + } + } + + /* if we didn't match it on all outputs, try the next one */ + if (!test) + continue; + + /* if it's bigger than the last one, save it */ + if (!match || (test->HDisplay > match->HDisplay)) + match = test; + } + + /* return the biggest one found */ + return match; +} + static Bool xf86TargetPreferred(ScrnInfoPtr scrn, xf86CrtcConfigPtr config, DisplayModePtr *modes, Bool *enabled, @@ -1860,75 +2040,43 @@ xf86TargetPreferred(ScrnInfoPtr scrn, xf86CrtcConfigPtr config, } } - if (ret) { - /* oh good, there is a match. stash the selected modes and return. */ - memcpy(modes, preferred_match, - config->num_output * sizeof(DisplayModePtr)); - } - - xfree(preferred); - xfree(preferred_match); - return ret; -} - -static Bool -aspectMatch(float a, float b) -{ - return fabs(1 - (a / b)) < 0.05; -} - -static DisplayModePtr -nextAspectMode(xf86OutputPtr o, DisplayModePtr last, float aspect) -{ - DisplayModePtr m = NULL; - - if (!o) - return NULL; + /* + * If there's no preferred mode, but only one monitor, pick the + * biggest mode for its aspect ratio, assuming one exists. + */ + if (!ret) do { + int i = 0; + float aspect = 0.0; - if (!last) - m = o->probed_modes; - else - m = last->next; + /* count the number of enabled outputs */ + for (i = 0, p = -1; nextEnabledOutput(config, enabled, &p); i++) ; - for (; m; m = m->next) - if (aspectMatch(aspect, (float)m->HDisplay / (float)m->VDisplay)) - return m; + if (i != 1) + break; - return NULL; -} + p = -1; + nextEnabledOutput(config, enabled, &p); + if (config->output[p]->mm_height) + aspect = (float)config->output[p]->mm_width / + (float)config->output[p]->mm_height; -static DisplayModePtr -bestModeForAspect(xf86CrtcConfigPtr config, Bool *enabled, float aspect) -{ - int o = -1, p; - DisplayModePtr mode = NULL, test = NULL, match = NULL; + if (aspect) + preferred_match[p] = bestModeForAspect(config, enabled, aspect); - if (!nextEnabledOutput(config, enabled, &o)) - return NULL; - while ((mode = nextAspectMode(config->output[o], mode, aspect))) { - test = mode; - for (p = o; nextEnabledOutput(config, enabled, &p); ) { - test = xf86OutputFindClosestMode(config->output[p], mode); - if (!test) - break; - if (test->HDisplay != mode->HDisplay || - test->VDisplay != mode->VDisplay) { - test = NULL; - break; - } - } + if (preferred_match[p]) + ret = TRUE; - /* if we didn't match it on all outputs, try the next one */ - if (!test) - continue; + } while (0); - /* if it's bigger than the last one, save it */ - if (!match || (test->HDisplay > match->HDisplay)) - match = test; + if (ret) { + /* oh good, there is a match. stash the selected modes and return. */ + memcpy(modes, preferred_match, + config->num_output * sizeof(DisplayModePtr)); } - /* return the biggest one found */ - return match; + xfree(preferred); + xfree(preferred_match); + return ret; } static Bool @@ -2127,6 +2275,11 @@ xf86InitialConfiguration (ScrnInfoPtr scrn, Bool canGrow) xfree (modes); return FALSE; } + + /* + * Set initial panning of each output + */ + xf86InitialPanning (scrn); /* * Assign CRTCs to fit output configuration @@ -2166,9 +2319,13 @@ xf86InitialConfiguration (ScrnInfoPtr scrn, Bool canGrow) crtc->desiredRotation = output->initial_rotation; crtc->desiredX = output->initial_x; crtc->desiredY = output->initial_y; + crtc->desiredTransformPresent = FALSE; crtc->enabled = TRUE; crtc->x = output->initial_x; crtc->y = output->initial_y; + memcpy (&crtc->panningTotalArea, &output->initialTotalArea, sizeof(BoxRec)); + memcpy (&crtc->panningTrackingArea, &output->initialTrackingArea, sizeof(BoxRec)); + memcpy (crtc->panningBorder, output->initialBorder, 4*sizeof(INT16)); output->crtc = crtc; } else { output->crtc = NULL; @@ -2216,6 +2373,68 @@ xf86InitialConfiguration (ScrnInfoPtr scrn, Bool canGrow) return TRUE; } +/* + * Check the CRTC we're going to map each output to vs. it's current + * CRTC. If they don't match, we have to disable the output and the CRTC + * since the driver will have to re-route things. + */ +static void +xf86PrepareOutputs (ScrnInfoPtr scrn) +{ + xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(scrn); + int o; + + for (o = 0; o < config->num_output; o++) { + xf86OutputPtr output = config->output[o]; +#if RANDR_GET_CRTC_INTERFACE + /* Disable outputs that are unused or will be re-routed */ + if (!output->funcs->get_crtc || + output->crtc != (*output->funcs->get_crtc)(output) || + output->crtc == NULL) +#endif + (*output->funcs->dpms)(output, DPMSModeOff); + } +} + +static void +xf86PrepareCrtcs (ScrnInfoPtr scrn) +{ + xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(scrn); + int c; + + for (c = 0; c < config->num_crtc; c++) { +#if RANDR_GET_CRTC_INTERFACE + xf86CrtcPtr crtc = config->crtc[c]; + xf86OutputPtr output = NULL; + uint32_t desired_outputs = 0, current_outputs = 0; + int o; + + for (o = 0; o < config->num_output; o++) { + output = config->output[o]; + if (output->crtc == crtc) + desired_outputs |= (1<funcs->get_crtc) { + desired_outputs = 0; + break; + } + if ((*output->funcs->get_crtc)(output) == crtc) + current_outputs |= (1<funcs->dpms)(crtc, DPMSModeOff); +#else + (*crtc->funcs->dpms)(crtc, DPMSModeOff); +#endif + } +} + /* * Using the desired mode information in each crtc, set * modes (used in EnterVT functions, or at server startup) @@ -2225,31 +2444,22 @@ _X_EXPORT Bool xf86SetDesiredModes (ScrnInfoPtr scrn) { xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(scrn); - int c, o; + xf86CrtcPtr crtc = config->crtc[0]; + int c; - /* - * Turn off everything so mode setting is done - * with hardware in a consistent state - */ - for (o = 0; o < config->num_output; o++) - { - xf86OutputPtr output = config->output[o]; - (*output->funcs->dpms)(output, DPMSModeOff); + /* A driver with this hook will take care of this */ + if (!crtc->funcs->set_mode_major) { + xf86PrepareOutputs(scrn); + xf86PrepareCrtcs(scrn); } - for (c = 0; c < config->num_crtc; c++) - { - xf86CrtcPtr crtc = config->crtc[c]; - - crtc->funcs->dpms(crtc, DPMSModeOff); - memset(&crtc->mode, 0, sizeof(crtc->mode)); - } - for (c = 0; c < config->num_crtc; c++) { - xf86CrtcPtr crtc = config->crtc[c]; xf86OutputPtr output = NULL; int o; + RRTransformPtr transform; + + crtc = config->crtc[c]; /* Skip disabled CRTCs */ if (!crtc->enabled) @@ -2280,12 +2490,17 @@ xf86SetDesiredModes (ScrnInfoPtr scrn) return FALSE; crtc->desiredMode = *mode; crtc->desiredRotation = RR_Rotate_0; + crtc->desiredTransformPresent = FALSE; crtc->desiredX = 0; crtc->desiredY = 0; } - if (!xf86CrtcSetMode (crtc, &crtc->desiredMode, crtc->desiredRotation, - crtc->desiredX, crtc->desiredY)) + if (crtc->desiredTransformPresent) + transform = &crtc->desiredTransform; + else + transform = NULL; + if (!xf86CrtcSetModeTransform (crtc, &crtc->desiredMode, crtc->desiredRotation, + transform, crtc->desiredX, crtc->desiredY)) return FALSE; } @@ -2414,18 +2629,19 @@ xf86SetSingleMode (ScrnInfoPtr pScrn, DisplayModePtr desired, Rotation rotation) crtc->enabled = FALSE; continue; } - if (!xf86CrtcSetMode (crtc, crtc_mode, rotation, 0, 0)) + if (!xf86CrtcSetModeTransform (crtc, crtc_mode, rotation, NULL, 0, 0)) ok = FALSE; else { crtc->desiredMode = *crtc_mode; crtc->desiredRotation = rotation; + crtc->desiredTransformPresent = FALSE; crtc->desiredX = 0; crtc->desiredY = 0; } } xf86DisableUnusedFunctions(pScrn); -#if RANDR_12_INTERFACE +#ifdef RANDR_12_INTERFACE xf86RandR12TellChanged (pScrn->pScreen); #endif return ok; @@ -2513,8 +2729,11 @@ xf86DisableUnusedFunctions(ScrnInfoPtr pScrn) { crtc->funcs->dpms(crtc, DPMSModeOff); memset(&crtc->mode, 0, sizeof(crtc->mode)); + xf86RotateDestroy(crtc); } } + if (pScrn->pScreen) + xf86_crtc_notify(pScrn->pScreen); } #ifdef RANDR_12_INTERFACE @@ -2576,9 +2795,11 @@ xf86OutputSetEDID (xf86OutputPtr output, xf86MonPtr edid_mon) size = 0; if (edid_mon) { - if (edid_mon->ver.version == 1) + if (edid_mon->ver.version == 1) { size = 128; - else if (edid_mon->ver.version == 2) + if (edid_mon->flags & EDID_COMPLETE_RAWDATA) + size += edid_mon->no_sections * 128; + } else if (edid_mon->ver.version == 2) size = 256; } xf86OutputSetEDIDProperty (output, edid_mon ? edid_mon->rawData : NULL, size); @@ -2623,15 +2844,16 @@ xf86OutputGetEDIDModes (xf86OutputPtr output) return xf86DDCGetModes(scrn->scrnIndex, edid_mon); } +/* maybe we should care about DDC1? meh. */ _X_EXPORT xf86MonPtr xf86OutputGetEDID (xf86OutputPtr output, I2CBusPtr pDDCBus) { ScrnInfoPtr scrn = output->scrn; xf86MonPtr mon; - mon = xf86DoEDID_DDC2 (scrn->scrnIndex, pDDCBus); + mon = xf86DoEEDID(scrn->scrnIndex, pDDCBus, TRUE); if (mon) - xf86DDCApplyQuirks (scrn->scrnIndex, mon); + xf86DDCApplyQuirks(scrn->scrnIndex, mon); return mon; } @@ -2766,3 +2988,41 @@ xf86_crtc_clip_video_helper(ScrnInfoPtr pScrn, return ret; } + +xf86_crtc_notify_proc_ptr +xf86_wrap_crtc_notify (ScreenPtr screen, xf86_crtc_notify_proc_ptr new) +{ + if (xf86CrtcConfigPrivateIndex != -1) + { + ScrnInfoPtr scrn = xf86Screens[screen->myNum]; + xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(scrn); + xf86_crtc_notify_proc_ptr old; + + old = config->xf86_crtc_notify; + config->xf86_crtc_notify = new; + return old; + } + return NULL; +} + +void +xf86_unwrap_crtc_notify(ScreenPtr screen, xf86_crtc_notify_proc_ptr old) +{ + if (xf86CrtcConfigPrivateIndex != -1) + { + ScrnInfoPtr scrn = xf86Screens[screen->myNum]; + xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(scrn); + + config->xf86_crtc_notify = old; + } +} + +void +xf86_crtc_notify(ScreenPtr screen) +{ + ScrnInfoPtr scrn = xf86Screens[screen->myNum]; + xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(scrn); + + if (config->xf86_crtc_notify) + config->xf86_crtc_notify(screen); +} diff --git a/xorg-server/hw/xfree86/modes/xf86Crtc.h b/xorg-server/hw/xfree86/modes/xf86Crtc.h index cc045b229..0a596bc49 100644 --- a/xorg-server/hw/xfree86/modes/xf86Crtc.h +++ b/xorg-server/hw/xfree86/modes/xf86Crtc.h @@ -213,9 +213,23 @@ typedef struct _xf86CrtcFuncs { Bool (*set_mode_major)(xf86CrtcPtr crtc, DisplayModePtr mode, Rotation rotation, int x, int y); + + /** + * Callback for panning. Doesn't change the mode. + */ + void + (*set_origin)(xf86CrtcPtr crtc, int x, int y); + } xf86CrtcFuncsRec, *xf86CrtcFuncsPtr; +#define XF86_CRTC_VERSION 2 + struct _xf86Crtc { + /** + * ABI versioning + */ + int version; + /** * Associated ScrnInfo */ @@ -298,12 +312,35 @@ struct _xf86Crtc { * Current transformation matrix */ PictTransform crtc_to_framebuffer; - PictTransform framebuffer_to_crtc; + struct pict_f_transform f_crtc_to_framebuffer; + struct pict_f_transform f_framebuffer_to_crtc; + PictFilterPtr filter; + xFixed *params; + int nparams; + int filter_width; + int filter_height; Bool transform_in_use; + RRTransformRec transform; + Bool transformPresent; + RRTransformRec desiredTransform; + Bool desiredTransformPresent; /** * Bounding box in screen space */ BoxRec bounds; + /** + * Panning: + * TotalArea: total panning area, larger than CRTC's size + * TrackingArea: Area of the pointer for which the CRTC is panned + * border: Borders of the displayed CRTC area which induces panning if the pointer reaches them + */ + BoxRec panningTotalArea; + BoxRec panningTrackingArea; + INT16 panningBorder[4]; + /** + * Clear the shadow + */ + Bool shadowClear; }; typedef struct _xf86OutputFuncs { @@ -409,6 +446,21 @@ typedef struct _xf86OutputFuncs { (*set_property)(xf86OutputPtr output, Atom property, RRPropertyValuePtr value); +#endif +#ifdef RANDR_13_INTERFACE + /** + * Callback to get an updated property value + */ + Bool + (*get_property)(xf86OutputPtr output, + Atom property); +#endif +#ifdef RANDR_GET_CRTC_INTERFACE + /** + * Callback to get current CRTC for a given output + */ + xf86CrtcPtr + (*get_crtc)(xf86OutputPtr output); #endif /** * Clean up driver-specific bits of the output @@ -417,7 +469,15 @@ typedef struct _xf86OutputFuncs { (*destroy) (xf86OutputPtr output); } xf86OutputFuncsRec, *xf86OutputFuncsPtr; + +#define XF86_OUTPUT_VERSION 2 + struct _xf86Output { + /** + * ABI versioning + */ + int version; + /** * Associated ScrnInfo */ @@ -518,6 +578,10 @@ struct _xf86Output { #else void *randr_output; #endif + /** Desired initial panning */ + BoxRec initialTotalArea; + BoxRec initialTrackingArea; + INT16 initialBorder[4]; }; typedef struct _xf86CrtcConfigFuncs { @@ -539,6 +603,8 @@ typedef struct _xf86CrtcConfigFuncs { int height); } xf86CrtcConfigFuncsRec, *xf86CrtcConfigFuncsPtr; +typedef void (*xf86_crtc_notify_proc_ptr) (ScreenPtr pScreen); + typedef struct _xf86CrtcConfig { int num_output; xf86OutputPtr *output; @@ -591,6 +657,9 @@ typedef struct _xf86CrtcConfig { /* wrap screen BlockHandler for rotation */ ScreenBlockHandlerProcPtr BlockHandler; + /* callback when crtc configuration changes */ + xf86_crtc_notify_proc_ptr xf86_crtc_notify; + } xf86CrtcConfigRec, *xf86CrtcConfigPtr; extern int xf86CrtcConfigPrivateIndex; @@ -624,15 +693,36 @@ xf86CrtcDestroy (xf86CrtcPtr crtc); /** * Sets the given video mode on the given crtc */ + +Bool +xf86CrtcSetModeTransform (xf86CrtcPtr crtc, DisplayModePtr mode, Rotation rotation, + RRTransformPtr transform, int x, int y); + Bool xf86CrtcSetMode (xf86CrtcPtr crtc, DisplayModePtr mode, Rotation rotation, int x, int y); +void +xf86CrtcSetOrigin (xf86CrtcPtr crtc, int x, int y); + /* * Assign crtc rotation during mode set */ Bool -xf86CrtcRotate (xf86CrtcPtr crtc, DisplayModePtr mode, Rotation rotation); +xf86CrtcRotate (xf86CrtcPtr crtc); + +/* + * Clean up any rotation data, used when a crtc is turned off + * as well as when rotation is disabled. + */ +void +xf86RotateDestroy (xf86CrtcPtr crtc); + +/* + * free shadow memory allocated for all crtcs + */ +void +xf86RotateFreeShadow(ScrnInfoPtr pScrn); /* * Clean up rotation during CloseScreen @@ -669,7 +759,11 @@ xf86ProbeOutputModes (ScrnInfoPtr pScrn, int maxX, int maxY); void xf86SetScrnInfoModes (ScrnInfoPtr pScrn); +#ifdef RANDR_13_INTERFACE +int +#else Bool +#endif xf86CrtcScreenInit (ScreenPtr pScreen); Bool @@ -798,4 +892,28 @@ xf86_crtc_clip_video_helper(ScrnInfoPtr pScrn, INT32 width, INT32 height); +xf86_crtc_notify_proc_ptr +xf86_wrap_crtc_notify (ScreenPtr pScreen, xf86_crtc_notify_proc_ptr new); + +void +xf86_unwrap_crtc_notify(ScreenPtr pScreen, xf86_crtc_notify_proc_ptr old); + +void +xf86_crtc_notify(ScreenPtr pScreen); + +/** + * Panning + */ +Bool +xf86_crtc_get_panning(ScrnInfoPtr pScrn, + BoxPtr totalArea, + BoxPtr TrackingArea, + INT16 *border); + +Bool +xf86_crtc_set_panning(ScrnInfoPtr pScrn, + BoxPtr totalArea, + BoxPtr TrackingArea, + INT16 *border); + #endif /* _XF86CRTC_H_ */ diff --git a/xorg-server/hw/xfree86/modes/xf86Cursors.c b/xorg-server/hw/xfree86/modes/xf86Cursors.c index fee02df38..3106f051b 100644 --- a/xorg-server/hw/xfree86/modes/xf86Cursors.c +++ b/xorg-server/hw/xfree86/modes/xf86Cursors.c @@ -37,6 +37,7 @@ #include "xf86Crtc.h" #include "xf86Modes.h" #include "xf86RandR12.h" +#include "xf86CursorPriv.h" #include "X11/extensions/render.h" #define DPMS_SERVER #include "X11/extensions/dpms.h" @@ -45,6 +46,7 @@ #include "picturestr.h" #endif #include "cursorstr.h" +#include "inputstr.h" /* * Given a screen coordinate, rotate back to a cursor source coordinate @@ -227,8 +229,13 @@ xf86_set_cursor_colors (ScrnInfoPtr scrn, int bg, int fg) xf86CrtcConfigPtr xf86_config = XF86_CRTC_CONFIG_PTR(scrn); CursorPtr cursor = xf86_config->cursor; int c; - CARD8 *bits = cursor ? dixLookupPrivate(&cursor->devPrivates, - screen) : NULL; + CARD8 *bits = cursor ? +#if XORG_VERSION_CURRENT < XORG_VERSION_NUMERIC(7,0,0,0,0) + dixLookupPrivate(&cursor->devPrivates, CursorScreenKey(screen)) +#else + cursor->devPriv[screen->myNum] +#endif + : NULL; /* Save ARGB versions of these colors */ xf86_config->cursor_fg = (CARD32) fg | 0xff000000; @@ -315,25 +322,31 @@ xf86_crtc_set_cursor_position (xf86CrtcPtr crtc, int x, int y) */ if (crtc->transform_in_use) { - PictVector v; - v.vector[0] = IntToxFixed (x); v.vector[1] = IntToxFixed (y); v.vector[2] = IntToxFixed(1); - PictureTransformPoint (&crtc->framebuffer_to_crtc, &v); - x = xFixedToInt (v.vector[0]); y = xFixedToInt (v.vector[1]); - } + ScreenPtr screen = scrn->pScreen; + xf86CursorScreenPtr ScreenPriv = + (xf86CursorScreenPtr)dixLookupPrivate(&screen->devPrivates, + xf86CursorScreenKey); + struct pict_f_vector v; + + v.v[0] = x + ScreenPriv->HotX; v.v[1] = y + ScreenPriv->HotY; v.v[2] = 1; + pixman_f_transform_point (&crtc->f_framebuffer_to_crtc, &v); + x = floor (v.v[0] + 0.5); + y = floor (v.v[1] + 0.5); + /* + * Transform position of cursor upper left corner + */ + xf86_crtc_rotate_coord_back (crtc->rotation, + cursor_info->MaxWidth, + cursor_info->MaxHeight, + ScreenPriv->HotX, ScreenPriv->HotY, &dx, &dy); + x -= dx; + y -= dy; + } else { x -= crtc->x; y -= crtc->y; } - /* - * Transform position of cursor upper left corner - */ - xf86_crtc_rotate_coord_back (crtc->rotation, - cursor_info->MaxWidth, - cursor_info->MaxHeight, - 0, 0, &dx, &dy); - x -= dx; - y -= dy; /* * Disable the cursor when it is outside the viewport @@ -589,10 +602,19 @@ xf86_reload_cursors (ScreenPtr screen) xf86CursorInfoPtr cursor_info; CursorPtr cursor; int x, y; + xf86CursorScreenPtr cursor_screen_priv; - /* initial mode setting will not have set a screen yet */ - if (!screen) + /* initial mode setting will not have set a screen yet. + May be called before the devices are initialised. + */ + if (!screen || !inputInfo.pointer) + return; + cursor_screen_priv = dixLookupPrivate(&screen->devPrivates, + xf86CursorScreenKey); + /* return if HW cursor is inactive, to avoid displaying two cursors */ + if (!cursor_screen_priv->isUp) return; + scrn = xf86Screens[screen->myNum]; xf86_config = XF86_CRTC_CONFIG_PTR(scrn); @@ -600,16 +622,16 @@ xf86_reload_cursors (ScreenPtr screen) cursor_info = xf86_config->cursor_info; if (!cursor_info) return; - + cursor = xf86_config->cursor; - GetSpritePosition (&x, &y); + GetSpritePosition (inputInfo.pointer, &x, &y); if (!(cursor_info->Flags & HARDWARE_CURSOR_UPDATE_UNHIDDEN)) (*cursor_info->HideCursor)(scrn); if (cursor) { #if XORG_VERSION_CURRENT < XORG_VERSION_NUMERIC(7,0,0,0,0) - void *src = dixLookupPrivate(&cursor->devPrivates, screen); + void *src = dixLookupPrivate(&cursor->devPrivates, CursorScreenKey(screen)); #else void *src = cursor->devPriv[screen->myNum]; #endif @@ -621,7 +643,6 @@ xf86_reload_cursors (ScreenPtr screen) (*cursor_info->LoadCursorImage)(cursor_info->pScrn, src); (*cursor_info->SetCursorPosition)(cursor_info->pScrn, x, y); - (*cursor_info->ShowCursor)(cursor_info->pScrn); } } diff --git a/xorg-server/hw/xfree86/modes/xf86EdidModes.c b/xorg-server/hw/xfree86/modes/xf86EdidModes.c index bf0ea3f64..087f66376 100644 --- a/xorg-server/hw/xfree86/modes/xf86EdidModes.c +++ b/xorg-server/hw/xfree86/modes/xf86EdidModes.c @@ -1,5 +1,6 @@ /* * Copyright 2006 Luc Verhaegen. + * Copyright 2008 Red Hat, Inc. * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), @@ -34,16 +35,39 @@ #endif #endif +#define _PARSE_EDID_ #include "xf86.h" #include "xf86DDC.h" #include #include "property.h" #include "propertyst.h" -#include "xf86DDC.h" #include "xf86Crtc.h" #include #include +static Bool +xf86MonitorSupportsReducedBlanking(xf86MonPtr DDC) +{ + /* EDID 1.4 explicitly defines RB support */ + if (DDC->ver.revision >= 4) { + int i; + for (i = 0; i < DET_TIMINGS; i++) { + struct detailed_monitor_section *det_mon = &DDC->det_mon[i]; + if (det_mon->type == DS_RANGES) + if (det_mon->section.ranges.supported_blanking & CVT_REDUCED) + return TRUE; + } + + return FALSE; + } + + /* For anything older, assume digital means RB support. Boo. */ + if (DDC->features.input_type) + return TRUE; + + return FALSE; +} + /* * Quirks to work around broken EDID data from various monitors. */ @@ -68,6 +92,8 @@ typedef enum { DDC_QUIRK_FIRST_DETAILED_PREFERRED = 1 << 6, /* use +hsync +vsync for detailed mode */ DDC_QUIRK_DETAILED_SYNC_PP = 1 << 7, + /* Force single-link DVI bandwidth limit */ + DDC_QUIRK_DVI_SINGLE_LINK = 1 << 8, } ddc_quirk_t; static Bool quirk_prefer_large_60 (int scrnIndex, xf86MonPtr DDC) @@ -129,6 +155,11 @@ static Bool quirk_detailed_v_in_cm (int scrnIndex, xf86MonPtr DDC) DDC->vendor.prod_id == 13600) return TRUE; + /* Bug #21000: LGPhilipsLCD LP154W01-TLAJ */ + if (memcmp (DDC->vendor.name, "LPL", 4) == 0 && + DDC->vendor.prod_id == 47360) + return TRUE; + return FALSE; } @@ -139,6 +170,11 @@ static Bool quirk_detailed_use_maximum_size (int scrnIndex, xf86MonPtr DDC) (DDC->vendor.prod_id == 0 || DDC->vendor.prod_id == 0x2a00)) return TRUE; + /* Bug #21324: Iiyama Vision Master 450 */ + if (memcmp (DDC->vendor.name, "IVM", 4) == 0 && + DDC->vendor.prod_id == 6400) + return TRUE; + return FALSE; } @@ -181,6 +217,16 @@ static Bool quirk_detailed_sync_pp(int scrnIndex, xf86MonPtr DDC) return FALSE; } +/* This should probably be made more generic */ +static Bool quirk_dvi_single_link(int scrnIndex, xf86MonPtr DDC) +{ + /* Red Hat bug #453106: Apple 23" Cinema Display */ + if (memcmp (DDC->vendor.name, "APL", 4) == 0 && + DDC->vendor.prod_id == 0x921c) + return TRUE; + return FALSE; +} + typedef struct { Bool (*detect) (int scrnIndex, xf86MonPtr DDC); ddc_quirk_t quirk; @@ -220,6 +266,10 @@ static const ddc_quirk_map_t ddc_quirks[] = { quirk_detailed_sync_pp, DDC_QUIRK_DETAILED_SYNC_PP, "Use +hsync +vsync for detailed timing." }, + { + quirk_dvi_single_link, DDC_QUIRK_DVI_SINGLE_LINK, + "Forcing maximum pixel clock to single DVI link." + }, { NULL, DDC_QUIRK_NONE, "No known quirks" @@ -227,8 +277,13 @@ static const ddc_quirk_map_t ddc_quirks[] = { }; /* - * TODO: - * - for those with access to the VESA DMT standard; review please. + * These more or less come from the DMT spec. The 720x400 modes are + * inferred from historical 80x25 practice. The 640x480@67 and 832x624@75 + * modes are old-school Mac modes. The EDID spec says the 1152x864@75 mode + * should be 1152x870, again for the Mac, but instead we use the x864 DMT + * mode. + * + * The DMT modes have been fact-checked; the rest are mild guesses. */ #define MODEPREFIX NULL, NULL, NULL, 0, M_T_DRIVER #define MODESUFFIX 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FALSE,FALSE,0,NULL,0,0.0,0.0 @@ -237,16 +292,16 @@ static const DisplayModeRec DDCEstablishedModes[17] = { { MODEPREFIX, 40000, 800, 840, 968, 1056, 0, 600, 601, 605, 628, 0, V_PHSYNC | V_PVSYNC, MODESUFFIX }, /* 800x600@60Hz */ { MODEPREFIX, 36000, 800, 824, 896, 1024, 0, 600, 601, 603, 625, 0, V_PHSYNC | V_PVSYNC, MODESUFFIX }, /* 800x600@56Hz */ { MODEPREFIX, 31500, 640, 656, 720, 840, 0, 480, 481, 484, 500, 0, V_NHSYNC | V_NVSYNC, MODESUFFIX }, /* 640x480@75Hz */ - { MODEPREFIX, 31500, 640, 664, 704, 832, 0, 480, 489, 491, 520, 0, V_NHSYNC | V_NVSYNC, MODESUFFIX }, /* 640x480@72Hz */ + { MODEPREFIX, 31500, 640, 664, 704, 832, 0, 480, 489, 492, 520, 0, V_NHSYNC | V_NVSYNC, MODESUFFIX }, /* 640x480@72Hz */ { MODEPREFIX, 30240, 640, 704, 768, 864, 0, 480, 483, 486, 525, 0, V_NHSYNC | V_NVSYNC, MODESUFFIX }, /* 640x480@67Hz */ - { MODEPREFIX, 25200, 640, 656, 752, 800, 0, 480, 490, 492, 525, 0, V_NHSYNC | V_NVSYNC, MODESUFFIX }, /* 640x480@60Hz */ + { MODEPREFIX, 25175, 640, 656, 752, 800, 0, 480, 490, 492, 525, 0, V_NHSYNC | V_NVSYNC, MODESUFFIX }, /* 640x480@60Hz */ { MODEPREFIX, 35500, 720, 738, 846, 900, 0, 400, 421, 423, 449, 0, V_NHSYNC | V_NVSYNC, MODESUFFIX }, /* 720x400@88Hz */ { MODEPREFIX, 28320, 720, 738, 846, 900, 0, 400, 412, 414, 449, 0, V_NHSYNC | V_PVSYNC, MODESUFFIX }, /* 720x400@70Hz */ { MODEPREFIX, 135000, 1280, 1296, 1440, 1688, 0, 1024, 1025, 1028, 1066, 0, V_PHSYNC | V_PVSYNC, MODESUFFIX }, /* 1280x1024@75Hz */ - { MODEPREFIX, 78800, 1024, 1040, 1136, 1312, 0, 768, 769, 772, 800, 0, V_PHSYNC | V_PVSYNC, MODESUFFIX }, /* 1024x768@75Hz */ + { MODEPREFIX, 78750, 1024, 1040, 1136, 1312, 0, 768, 769, 772, 800, 0, V_PHSYNC | V_PVSYNC, MODESUFFIX }, /* 1024x768@75Hz */ { MODEPREFIX, 75000, 1024, 1048, 1184, 1328, 0, 768, 771, 777, 806, 0, V_NHSYNC | V_NVSYNC, MODESUFFIX }, /* 1024x768@70Hz */ { MODEPREFIX, 65000, 1024, 1048, 1184, 1344, 0, 768, 771, 777, 806, 0, V_NHSYNC | V_NVSYNC, MODESUFFIX }, /* 1024x768@60Hz */ - { MODEPREFIX, 44900, 1024, 1032, 1208, 1264, 0, 768, 768, 776, 817, 0, V_PHSYNC | V_PVSYNC | V_INTERLACE, MODESUFFIX }, /* 1024x768@43Hz */ + { MODEPREFIX, 44900, 1024, 1032, 1208, 1264, 0, 768, 768, 772, 817, 0, V_PHSYNC | V_PVSYNC | V_INTERLACE, MODESUFFIX }, /* 1024x768@43Hz */ { MODEPREFIX, 57284, 832, 864, 928, 1152, 0, 624, 625, 628, 667, 0, V_NHSYNC | V_NVSYNC, MODESUFFIX }, /* 832x624@75Hz */ { MODEPREFIX, 49500, 800, 816, 896, 1056, 0, 600, 601, 604, 625, 0, V_PHSYNC | V_PVSYNC, MODESUFFIX }, /* 800x600@75Hz */ { MODEPREFIX, 50000, 800, 856, 976, 1040, 0, 600, 637, 643, 666, 0, V_PHSYNC | V_PVSYNC, MODESUFFIX }, /* 800x600@72Hz */ @@ -272,6 +327,90 @@ DDCModesFromEstablished(int scrnIndex, struct established_timings *timing, return Modes; } +/* Autogenerated from the DMT spec */ +static const DisplayModeRec DMTModes[] = { + { MODEPREFIX, 31500, 640, 672, 736, 832, 0, 350, 382, 385, 445, 0, V_PHSYNC | V_NVSYNC, MODESUFFIX }, /* 640x350@85Hz */ + { MODEPREFIX, 31500, 640, 672, 736, 832, 0, 400, 401, 404, 445, 0, V_NHSYNC | V_PVSYNC, MODESUFFIX }, /* 640x400@85Hz */ + { MODEPREFIX, 35500, 720, 756, 828, 936, 0, 400, 401, 404, 446, 0, V_NHSYNC | V_PVSYNC, MODESUFFIX }, /* 720x400@85Hz */ + { MODEPREFIX, 25175, 640, 656, 752, 800, 0, 480, 490, 492, 525, 0, V_NHSYNC | V_NVSYNC, MODESUFFIX }, /* 640x480@60Hz */ + { MODEPREFIX, 31500, 640, 664, 704, 832, 0, 480, 489, 492, 520, 0, V_NHSYNC | V_NVSYNC, MODESUFFIX }, /* 640x480@72Hz */ + { MODEPREFIX, 31500, 640, 656, 720, 840, 0, 480, 481, 484, 500, 0, V_NHSYNC | V_NVSYNC, MODESUFFIX }, /* 640x480@75Hz */ + { MODEPREFIX, 36000, 640, 696, 752, 832, 0, 480, 481, 484, 509, 0, V_NHSYNC | V_NVSYNC, MODESUFFIX }, /* 640x480@85Hz */ + { MODEPREFIX, 36000, 800, 824, 896, 1024, 0, 600, 601, 603, 625, 0, V_PHSYNC | V_PVSYNC, MODESUFFIX }, /* 800x600@56Hz */ + { MODEPREFIX, 40000, 800, 840, 968, 1056, 0, 600, 601, 605, 628, 0, V_PHSYNC | V_PVSYNC, MODESUFFIX }, /* 800x600@60Hz */ + { MODEPREFIX, 50000, 800, 856, 976, 1040, 0, 600, 637, 643, 666, 0, V_PHSYNC | V_PVSYNC, MODESUFFIX }, /* 800x600@72Hz */ + { MODEPREFIX, 49500, 800, 816, 896, 1056, 0, 600, 601, 604, 625, 0, V_PHSYNC | V_PVSYNC, MODESUFFIX }, /* 800x600@75Hz */ + { MODEPREFIX, 56250, 800, 832, 896, 1048, 0, 600, 601, 604, 631, 0, V_PHSYNC | V_PVSYNC, MODESUFFIX }, /* 800x600@85Hz */ + { MODEPREFIX, 73250, 800, 848, 880, 960, 0, 600, 603, 607, 636, 0, V_PHSYNC | V_NVSYNC, MODESUFFIX }, /* 800x600@120Hz RB */ + { MODEPREFIX, 33750, 848, 864, 976, 1088, 0, 480, 486, 494, 517, 0, V_PHSYNC | V_PVSYNC, MODESUFFIX }, /* 848x480@60Hz */ + { MODEPREFIX, 44900, 1024, 1032, 1208, 1264, 0, 768, 768, 772, 817, 0, V_PHSYNC | V_PVSYNC | V_INTERLACE, MODESUFFIX }, /* 1024x768@43Hz (interlaced) */ + { MODEPREFIX, 65000, 1024, 1048, 1184, 1344, 0, 768, 771, 777, 806, 0, V_NHSYNC | V_NVSYNC, MODESUFFIX }, /* 1024x768@60Hz */ + { MODEPREFIX, 75000, 1024, 1048, 1184, 1328, 0, 768, 771, 777, 806, 0, V_NHSYNC | V_NVSYNC, MODESUFFIX }, /* 1024x768@70Hz */ + { MODEPREFIX, 78750, 1024, 1040, 1136, 1312, 0, 768, 769, 772, 800, 0, V_PHSYNC | V_PVSYNC, MODESUFFIX }, /* 1024x768@75Hz */ + { MODEPREFIX, 94500, 1024, 1072, 1168, 1376, 0, 768, 769, 772, 808, 0, V_PHSYNC | V_PVSYNC, MODESUFFIX }, /* 1024x768@85Hz */ + { MODEPREFIX, 115500, 1024, 1072, 1104, 1184, 0, 768, 771, 775, 813, 0, V_PHSYNC | V_NVSYNC, MODESUFFIX }, /* 1024x768@120Hz RB */ + { MODEPREFIX, 108000, 1152, 1216, 1344, 1600, 0, 864, 865, 868, 900, 0, V_PHSYNC | V_PVSYNC, MODESUFFIX }, /* 1152x864@75Hz */ + { MODEPREFIX, 68250, 1280, 1328, 1360, 1440, 0, 768, 771, 778, 790, 0, V_PHSYNC | V_NVSYNC, MODESUFFIX }, /* 1280x768@60Hz RB */ + { MODEPREFIX, 79500, 1280, 1344, 1472, 1664, 0, 768, 771, 778, 798, 0, V_NHSYNC | V_PVSYNC, MODESUFFIX }, /* 1280x768@60Hz */ + { MODEPREFIX, 102250, 1280, 1360, 1488, 1696, 0, 768, 771, 778, 805, 0, V_NHSYNC | V_PVSYNC, MODESUFFIX }, /* 1280x768@75Hz */ + { MODEPREFIX, 117500, 1280, 1360, 1496, 1712, 0, 768, 771, 778, 809, 0, V_NHSYNC | V_PVSYNC, MODESUFFIX }, /* 1280x768@85Hz */ + { MODEPREFIX, 140250, 1280, 1328, 1360, 1440, 0, 768, 771, 778, 813, 0, V_PHSYNC | V_NVSYNC, MODESUFFIX }, /* 1280x768@120Hz RB */ + { MODEPREFIX, 71000, 1280, 1328, 1360, 1440, 0, 800, 803, 809, 823, 0, V_PHSYNC | V_NVSYNC, MODESUFFIX }, /* 1280x800@60Hz RB */ + { MODEPREFIX, 83500, 1280, 1352, 1480, 1680, 0, 800, 803, 809, 831, 0, V_NHSYNC | V_PVSYNC, MODESUFFIX }, /* 1280x800@60Hz */ + { MODEPREFIX, 106500, 1280, 1360, 1488, 1696, 0, 800, 803, 809, 838, 0, V_NHSYNC | V_PVSYNC, MODESUFFIX }, /* 1280x800@75Hz */ + { MODEPREFIX, 122500, 1280, 1360, 1496, 1712, 0, 800, 803, 809, 843, 0, V_NHSYNC | V_PVSYNC, MODESUFFIX }, /* 1280x800@85Hz */ + { MODEPREFIX, 146250, 1280, 1328, 1360, 1440, 0, 800, 803, 809, 847, 0, V_PHSYNC | V_NVSYNC, MODESUFFIX }, /* 1280x800@120Hz RB */ + { MODEPREFIX, 108000, 1280, 1376, 1488, 1800, 0, 960, 961, 964, 1000, 0, V_PHSYNC | V_PVSYNC, MODESUFFIX }, /* 1280x960@60Hz */ + { MODEPREFIX, 148500, 1280, 1344, 1504, 1728, 0, 960, 961, 964, 1011, 0, V_PHSYNC | V_PVSYNC, MODESUFFIX }, /* 1280x960@85Hz */ + { MODEPREFIX, 175500, 1280, 1328, 1360, 1440, 0, 960, 963, 967, 1017, 0, V_PHSYNC | V_NVSYNC, MODESUFFIX }, /* 1280x960@120Hz RB */ + { MODEPREFIX, 108000, 1280, 1328, 1440, 1688, 0, 1024, 1025, 1028, 1066, 0, V_PHSYNC | V_PVSYNC, MODESUFFIX }, /* 1280x1024@60Hz */ + { MODEPREFIX, 135000, 1280, 1296, 1440, 1688, 0, 1024, 1025, 1028, 1066, 0, V_PHSYNC | V_PVSYNC, MODESUFFIX }, /* 1280x1024@75Hz */ + { MODEPREFIX, 157500, 1280, 1344, 1504, 1728, 0, 1024, 1025, 1028, 1072, 0, V_PHSYNC | V_PVSYNC, MODESUFFIX }, /* 1280x1024@85Hz */ + { MODEPREFIX, 187250, 1280, 1328, 1360, 1440, 0, 1024, 1027, 1034, 1084, 0, V_PHSYNC | V_NVSYNC, MODESUFFIX }, /* 1280x1024@120Hz RB */ + { MODEPREFIX, 85500, 1360, 1424, 1536, 1792, 0, 768, 771, 777, 795, 0, V_PHSYNC | V_PVSYNC, MODESUFFIX }, /* 1360x768@60Hz */ + { MODEPREFIX, 148250, 1360, 1408, 1440, 1520, 0, 768, 771, 776, 813, 0, V_PHSYNC | V_NVSYNC, MODESUFFIX }, /* 1360x768@120Hz RB */ + { MODEPREFIX, 101000, 1400, 1448, 1480, 1560, 0, 1050, 1053, 1057, 1080, 0, V_PHSYNC | V_NVSYNC, MODESUFFIX }, /* 1400x1050@60Hz RB */ + { MODEPREFIX, 121750, 1400, 1488, 1632, 1864, 0, 1050, 1053, 1057, 1089, 0, V_NHSYNC | V_PVSYNC, MODESUFFIX }, /* 1400x1050@60Hz */ + { MODEPREFIX, 156000, 1400, 1504, 1648, 1896, 0, 1050, 1053, 1057, 1099, 0, V_NHSYNC | V_PVSYNC, MODESUFFIX }, /* 1400x1050@75Hz */ + { MODEPREFIX, 179500, 1400, 1504, 1656, 1912, 0, 1050, 1053, 1057, 1105, 0, V_NHSYNC | V_PVSYNC, MODESUFFIX }, /* 1400x1050@85Hz */ + { MODEPREFIX, 208000, 1400, 1448, 1480, 1560, 0, 1050, 1053, 1057, 1112, 0, V_PHSYNC | V_NVSYNC, MODESUFFIX }, /* 1400x1050@120Hz RB */ + { MODEPREFIX, 88750, 1440, 1488, 1520, 1600, 0, 900, 903, 909, 926, 0, V_PHSYNC | V_NVSYNC, MODESUFFIX }, /* 1440x900@60Hz RB */ + { MODEPREFIX, 106500, 1440, 1520, 1672, 1904, 0, 900, 903, 909, 934, 0, V_NHSYNC | V_PVSYNC, MODESUFFIX }, /* 1440x900@60Hz */ + { MODEPREFIX, 136750, 1440, 1536, 1688, 1936, 0, 900, 903, 909, 942, 0, V_NHSYNC | V_PVSYNC, MODESUFFIX }, /* 1440x900@75Hz */ + { MODEPREFIX, 157000, 1440, 1544, 1696, 1952, 0, 900, 903, 909, 948, 0, V_NHSYNC | V_PVSYNC, MODESUFFIX }, /* 1440x900@85Hz */ + { MODEPREFIX, 182750, 1440, 1488, 1520, 1600, 0, 900, 903, 909, 953, 0, V_PHSYNC | V_NVSYNC, MODESUFFIX }, /* 1440x900@120Hz RB */ + { MODEPREFIX, 162000, 1600, 1664, 1856, 2160, 0, 1200, 1201, 1204, 1250, 0, V_PHSYNC | V_PVSYNC, MODESUFFIX }, /* 1600x1200@60Hz */ + { MODEPREFIX, 175500, 1600, 1664, 1856, 2160, 0, 1200, 1201, 1204, 1250, 0, V_PHSYNC | V_PVSYNC, MODESUFFIX }, /* 1600x1200@65Hz */ + { MODEPREFIX, 189000, 1600, 1664, 1856, 2160, 0, 1200, 1201, 1204, 1250, 0, V_PHSYNC | V_PVSYNC, MODESUFFIX }, /* 1600x1200@70Hz */ + { MODEPREFIX, 202500, 1600, 1664, 1856, 2160, 0, 1200, 1201, 1204, 1250, 0, V_PHSYNC | V_PVSYNC, MODESUFFIX }, /* 1600x1200@75Hz */ + { MODEPREFIX, 229500, 1600, 1664, 1856, 2160, 0, 1200, 1201, 1204, 1250, 0, V_PHSYNC | V_PVSYNC, MODESUFFIX }, /* 1600x1200@85Hz */ + { MODEPREFIX, 268250, 1600, 1648, 1680, 1760, 0, 1200, 1203, 1207, 1271, 0, V_PHSYNC | V_NVSYNC, MODESUFFIX }, /* 1600x1200@120Hz RB */ + { MODEPREFIX, 119000, 1680, 1728, 1760, 1840, 0, 1050, 1053, 1059, 1080, 0, V_PHSYNC | V_NVSYNC, MODESUFFIX }, /* 1680x1050@60Hz RB */ + { MODEPREFIX, 146250, 1680, 1784, 1960, 2240, 0, 1050, 1053, 1059, 1089, 0, V_NHSYNC | V_PVSYNC, MODESUFFIX }, /* 1680x1050@60Hz */ + { MODEPREFIX, 187000, 1680, 1800, 1976, 2272, 0, 1050, 1053, 1059, 1099, 0, V_NHSYNC | V_PVSYNC, MODESUFFIX }, /* 1680x1050@75Hz */ + { MODEPREFIX, 214750, 1680, 1808, 1984, 2288, 0, 1050, 1053, 1059, 1105, 0, V_NHSYNC | V_PVSYNC, MODESUFFIX }, /* 1680x1050@85Hz */ + { MODEPREFIX, 245500, 1680, 1728, 1760, 1840, 0, 1050, 1053, 1059, 1112, 0, V_PHSYNC | V_NVSYNC, MODESUFFIX }, /* 1680x1050@120Hz RB */ + { MODEPREFIX, 204750, 1792, 1920, 2120, 2448, 0, 1344, 1345, 1348, 1394, 0, V_NHSYNC | V_PVSYNC, MODESUFFIX }, /* 1792x1344@60Hz */ + { MODEPREFIX, 261000, 1792, 1888, 2104, 2456, 0, 1344, 1345, 1348, 1417, 0, V_NHSYNC | V_PVSYNC, MODESUFFIX }, /* 1792x1344@75Hz */ + { MODEPREFIX, 333250, 1792, 1840, 1872, 1952, 0, 1344, 1347, 1351, 1423, 0, V_PHSYNC | V_NVSYNC, MODESUFFIX }, /* 1792x1344@120Hz RB */ + { MODEPREFIX, 218250, 1856, 1952, 2176, 2528, 0, 1392, 1393, 1396, 1439, 0, V_NHSYNC | V_PVSYNC, MODESUFFIX }, /* 1856x1392@60Hz */ + { MODEPREFIX, 288000, 1856, 1984, 2208, 2560, 0, 1392, 1393, 1396, 1500, 0, V_NHSYNC | V_PVSYNC, MODESUFFIX }, /* 1856x1392@75Hz */ + { MODEPREFIX, 356500, 1856, 1904, 1936, 2016, 0, 1392, 1395, 1399, 1474, 0, V_PHSYNC | V_NVSYNC, MODESUFFIX }, /* 1856x1392@120Hz RB */ + { MODEPREFIX, 154000, 1920, 1968, 2000, 2080, 0, 1200, 1203, 1209, 1235, 0, V_PHSYNC | V_NVSYNC, MODESUFFIX }, /* 1920x1200@60Hz RB */ + { MODEPREFIX, 193250, 1920, 2056, 2256, 2592, 0, 1200, 1203, 1209, 1245, 0, V_NHSYNC | V_PVSYNC, MODESUFFIX }, /* 1920x1200@60Hz */ + { MODEPREFIX, 245250, 1920, 2056, 2264, 2608, 0, 1200, 1203, 1209, 1255, 0, V_NHSYNC | V_PVSYNC, MODESUFFIX }, /* 1920x1200@75Hz */ + { MODEPREFIX, 281250, 1920, 2064, 2272, 2624, 0, 1200, 1203, 1209, 1262, 0, V_NHSYNC | V_PVSYNC, MODESUFFIX }, /* 1920x1200@85Hz */ + { MODEPREFIX, 317000, 1920, 1968, 2000, 2080, 0, 1200, 1203, 1209, 1271, 0, V_PHSYNC | V_NVSYNC, MODESUFFIX }, /* 1920x1200@120Hz RB */ + { MODEPREFIX, 234000, 1920, 2048, 2256, 2600, 0, 1440, 1441, 1444, 1500, 0, V_NHSYNC | V_PVSYNC, MODESUFFIX }, /* 1920x1440@60Hz */ + { MODEPREFIX, 297000, 1920, 2064, 2288, 2640, 0, 1440, 1441, 1444, 1500, 0, V_NHSYNC | V_PVSYNC, MODESUFFIX }, /* 1920x1440@75Hz */ + { MODEPREFIX, 380500, 1920, 1968, 2000, 2080, 0, 1440, 1443, 1447, 1525, 0, V_PHSYNC | V_NVSYNC, MODESUFFIX }, /* 1920x1440@120Hz RB */ + { MODEPREFIX, 268500, 2560, 2608, 2640, 2720, 0, 1600, 1603, 1609, 1646, 0, V_PHSYNC | V_NVSYNC, MODESUFFIX }, /* 2560x1600@60Hz RB */ + { MODEPREFIX, 348500, 2560, 2752, 3032, 3504, 0, 1600, 1603, 1609, 1658, 0, V_NHSYNC | V_PVSYNC, MODESUFFIX }, /* 2560x1600@60Hz */ + { MODEPREFIX, 443250, 2560, 2768, 3048, 3536, 0, 1600, 1603, 1609, 1672, 0, V_NHSYNC | V_PVSYNC, MODESUFFIX }, /* 2560x1600@75Hz */ + { MODEPREFIX, 505250, 2560, 2768, 3048, 3536, 0, 1600, 1603, 1609, 1682, 0, V_NHSYNC | V_PVSYNC, MODESUFFIX }, /* 2560x1600@85Hz */ + { MODEPREFIX, 552750, 2560, 2608, 2640, 2720, 0, 1600, 1603, 1609, 1694, 0, V_PHSYNC | V_NVSYNC, MODESUFFIX }, /* 2560x1600@120Hz RB */ +}; + #define LEVEL_DMT 0 #define LEVEL_GTF 1 #define LEVEL_CVT 2 @@ -288,12 +427,43 @@ MonitorStandardTimingLevel(xf86MonPtr DDC) return LEVEL_DMT; } +static int +ModeRefresh(const DisplayModeRec *mode) +{ + return (int)(xf86ModeVRefresh(mode) + 0.5); +} + /* - * This is not really correct. Appendix B of the EDID 1.4 spec defines - * the right thing to do here. If the timing given here matches a mode - * defined in the VESA DMT standard, we _must_ use that. If the device - * supports CVT modes, then we should generate a CVT timing. If both - * of the above fail, use GTF. + * If rb is not set, then we'll not consider reduced-blanking modes as + * part of the DMT pool. For the 'standard' EDID mode descriptor there's + * no way to specify whether the mode should be RB or not. + */ +static DisplayModePtr +FindDMTMode(int hsize, int vsize, int refresh, Bool rb) +{ + int i; + const DisplayModeRec *ret; + + for (i = 0; i < sizeof(DMTModes) / sizeof(DisplayModeRec); i++) { + ret = &DMTModes[i]; + + if (!rb && xf86ModeIsReduced(ret)) + continue; + + if (ret->HDisplay == hsize && + ret->VDisplay == vsize && + refresh == ModeRefresh(ret)) + return xf86DuplicateMode(ret); + } + + return NULL; +} + +/* + * Appendix B of the EDID 1.4 spec defines the right thing to do here. + * If the timing given here matches a mode defined in the VESA DMT standard, + * we _must_ use that. If the device supports CVT modes, then we should + * generate a CVT timing. If both of the above fail, use GTF. * * There are some wrinkles here. EDID 1.1 and 1.0 sinks can't really * "support" GTF, since it wasn't a standard yet; so if they ask for a @@ -308,20 +478,28 @@ MonitorStandardTimingLevel(xf86MonPtr DDC) */ static DisplayModePtr DDCModesFromStandardTiming(struct std_timings *timing, ddc_quirk_t quirks, - int timing_level) + int timing_level, Bool rb) { DisplayModePtr Modes = NULL, Mode = NULL; int i; for (i = 0; i < STD_TIMINGS; i++) { if (timing[i].hsize && timing[i].vsize && timing[i].refresh) { - /* XXX check for DMT first, else... */ - if (timing_level == LEVEL_CVT) - Mode = xf86CVTMode(timing[i].hsize, timing[i].vsize, - timing[i].refresh, FALSE, FALSE); - else - Mode = xf86GTFMode(timing[i].hsize, timing[i].vsize, - timing[i].refresh, FALSE, FALSE); + Mode = FindDMTMode(timing[i].hsize, timing[i].vsize, + timing[i].refresh, rb); + + if (!Mode) { + if (timing_level == LEVEL_CVT) + /* pass rb here too? */ + Mode = xf86CVTMode(timing[i].hsize, timing[i].vsize, + timing[i].refresh, FALSE, FALSE); + else if (timing_level == LEVEL_GTF) + Mode = xf86GTFMode(timing[i].hsize, timing[i].vsize, + timing[i].refresh, FALSE, FALSE); + } + + if (!Mode) + continue; Mode->type = M_T_DRIVER; Modes = xf86ModesAdd(Modes, Mode); @@ -363,7 +541,7 @@ DDCModeFromDetailedTiming(int scrnIndex, struct detailed_timings *timing, /* We only do seperate sync currently */ if (timing->sync != 0x03) { xf86DrvMsg(scrnIndex, X_INFO, - "%s: %dx%d Warning: We only handle seperate" + "%s: %dx%d Warning: We only handle separate" " sync.\n", __func__, timing->h_active, timing->v_active); } @@ -419,6 +597,7 @@ DDCModeFromDetailedTiming(int scrnIndex, struct detailed_timings *timing, return Mode; } +#if XORG_VERSION_CURRENT < XORG_VERSION_NUMERIC(7,0,0,0,0) static DisplayModePtr DDCModesFromCVT(int scrnIndex, struct cvt_timings *t) { @@ -447,7 +626,87 @@ DDCModesFromCVT(int scrnIndex, struct cvt_timings *t) return modes; } +#endif + +static const struct { + short w; + short h; + short r; + short rb; +} EstIIIModes[] = { + /* byte 6 */ + { 640, 350, 85, 0 }, + { 640, 400, 85, 0 }, + { 720, 400, 85, 0 }, + { 640, 480, 85, 0 }, + { 848, 480, 60, 0 }, + { 800, 600, 85, 0 }, + { 1024, 768, 85, 0 }, + { 1152, 864, 75, 0 }, + /* byte 7 */ + { 1280, 768, 60, 1 }, + { 1280, 768, 60, 0 }, + { 1280, 768, 75, 0 }, + { 1280, 768, 85, 0 }, + { 1280, 960, 60, 0 }, + { 1280, 960, 85, 0 }, + { 1280, 1024, 60, 0 }, + { 1280, 1024, 85, 0 }, + /* byte 8 */ + { 1360, 768, 60, 0 }, + { 1440, 900, 60, 1 }, + { 1440, 900, 60, 0 }, + { 1440, 900, 75, 0 }, + { 1440, 900, 85, 0 }, + { 1400, 1050, 60, 1 }, + { 1400, 1050, 60, 0 }, + { 1400, 1050, 75, 0 }, + /* byte 9 */ + { 1400, 1050, 85, 0 }, + { 1680, 1050, 60, 1 }, + { 1680, 1050, 60, 0 }, + { 1680, 1050, 75, 0 }, + { 1680, 1050, 85, 0 }, + { 1600, 1200, 60, 0 }, + { 1600, 1200, 65, 0 }, + { 1600, 1200, 70, 0 }, + /* byte 10 */ + { 1600, 1200, 75, 0 }, + { 1600, 1200, 85, 0 }, + { 1792, 1344, 60, 0 }, + { 1792, 1344, 85, 0 }, + { 1856, 1392, 60, 0 }, + { 1856, 1392, 75, 0 }, + { 1920, 1200, 60, 1 }, + { 1920, 1200, 60, 0 }, + /* byte 11 */ + { 1920, 1200, 75, 0 }, + { 1920, 1200, 85, 0 }, + { 1920, 1440, 60, 0 }, + { 1920, 1440, 75, 0 }, +}; + +static DisplayModePtr +DDCModesFromEstIII(unsigned char *est) +{ + DisplayModePtr modes = NULL; + int i, j, m; + + for (i = 0; i < 6; i++) { + for (j = 7; j > 0; j--) { + if (est[i] & (1 << j)) { + m = (i * 8) + (7 - j); + modes = xf86ModesAdd(modes, + FindDMTMode(EstIIIModes[m].w, + EstIIIModes[m].h, + EstIIIModes[m].r, + EstIIIModes[m].rb)); + } + } + } + return modes; +} /* * This is only valid when the sink claims to be continuous-frequency @@ -595,7 +854,7 @@ xf86DDCGetModes(int scrnIndex, xf86MonPtr DDC) int i; DisplayModePtr Modes = NULL, Mode; ddc_quirk_t quirks; - Bool preferred; + Bool preferred, rb; int timing_level; xf86DrvMsg (scrnIndex, X_INFO, "EDID vendor \"%s\", prod id %d\n", @@ -611,11 +870,14 @@ xf86DDCGetModes(int scrnIndex, xf86MonPtr DDC) if (quirks & (DDC_QUIRK_PREFER_LARGE_60 | DDC_QUIRK_PREFER_LARGE_75)) preferred = FALSE; + rb = xf86MonitorSupportsReducedBlanking(DDC); + timing_level = MonitorStandardTimingLevel(DDC); for (i = 0; i < DET_TIMINGS; i++) { struct detailed_monitor_section *det_mon = &DDC->det_mon[i]; + Mode = NULL; switch (det_mon->type) { case DT: Mode = DDCModeFromDetailedTiming(scrnIndex, @@ -623,20 +885,23 @@ xf86DDCGetModes(int scrnIndex, xf86MonPtr DDC) preferred, quirks); preferred = FALSE; - Modes = xf86ModesAdd(Modes, Mode); break; case DS_STD_TIMINGS: Mode = DDCModesFromStandardTiming(det_mon->section.std_t, - quirks, timing_level); - Modes = xf86ModesAdd(Modes, Mode); + quirks, timing_level, rb); break; +#if XORG_VERSION_CURRENT < XORG_VERSION_NUMERIC(7,0,0,0,0) case DS_CVT: Mode = DDCModesFromCVT(scrnIndex, det_mon->section.cvt); - Modes = xf86ModesAdd(Modes, Mode); + break; +#endif + case DS_EST_III: + Mode = DDCModesFromEstIII(det_mon->section.est_iii); break; default: break; } + Modes = xf86ModesAdd(Modes, Mode); } /* Add established timings */ @@ -644,7 +909,7 @@ xf86DDCGetModes(int scrnIndex, xf86MonPtr DDC) Modes = xf86ModesAdd(Modes, Mode); /* Add standard timings */ - Mode = DDCModesFromStandardTiming(DDC->timings2, quirks, timing_level); + Mode = DDCModesFromStandardTiming(DDC->timings2, quirks, timing_level, rb); Modes = xf86ModesAdd(Modes, Mode); if (quirks & DDC_QUIRK_PREFER_LARGE_60) @@ -665,23 +930,21 @@ xf86DDCMonitorSet(int scrnIndex, MonPtr Monitor, xf86MonPtr DDC) DisplayModePtr Modes = NULL, Mode; int i, clock; Bool have_hsync = FALSE, have_vrefresh = FALSE, have_maxpixclock = FALSE; + ddc_quirk_t quirks; if (!Monitor || !DDC) return; Monitor->DDC = DDC; + quirks = xf86DDCDetectQuirks(scrnIndex, DDC, FALSE); + if (Monitor->widthmm <= 0 && Monitor->heightmm <= 0) { Monitor->widthmm = 10 * DDC->features.hsize; Monitor->heightmm = 10 * DDC->features.vsize; } - /* - * If this is a digital display, then we can use reduced blanking. - * XXX This is a 1.3 heuristic. 1.4 explicitly defines rb support. - */ - if (DDC->features.input_type) - Monitor->reducedblanking = TRUE; + Monitor->reducedblanking = xf86MonitorSupportsReducedBlanking(DDC); Modes = xf86DDCGetModes(scrnIndex, DDC); @@ -723,6 +986,8 @@ xf86DDCMonitorSet(int scrnIndex, MonPtr Monitor, xf86MonPtr DDC) } clock = DDC->det_mon[i].section.ranges.max_clock * 1000; + if (quirks & DDC_QUIRK_DVI_SINGLE_LINK) + clock = min(clock, 165000); if (!have_maxpixclock && clock > Monitor->maxPixClock) Monitor->maxPixClock = clock; diff --git a/xorg-server/hw/xfree86/modes/xf86Modes.c b/xorg-server/hw/xfree86/modes/xf86Modes.c index ea398ad81..1522fa731 100644 --- a/xorg-server/hw/xfree86/modes/xf86Modes.c +++ b/xorg-server/hw/xfree86/modes/xf86Modes.c @@ -52,7 +52,7 @@ extern XF86ConfigPtr xf86configptr; * Exact copy of xf86Mode.c's. */ _X_EXPORT double -xf86ModeHSync(DisplayModePtr mode) +xf86ModeHSync(const DisplayModeRec *mode) { double hsync = 0.0; @@ -70,7 +70,7 @@ xf86ModeHSync(DisplayModePtr mode) * Exact copy of xf86Mode.c's. */ _X_EXPORT double -xf86ModeVRefresh(DisplayModePtr mode) +xf86ModeVRefresh(const DisplayModeRec *mode) { double refresh = 0.0; @@ -89,7 +89,7 @@ xf86ModeVRefresh(DisplayModePtr mode) } _X_EXPORT int -xf86ModeWidth (DisplayModePtr mode, Rotation rotation) +xf86ModeWidth (const DisplayModeRec *mode, Rotation rotation) { switch (rotation & 0xf) { case RR_Rotate_0: @@ -104,7 +104,7 @@ xf86ModeWidth (DisplayModePtr mode, Rotation rotation) } _X_EXPORT int -xf86ModeHeight (DisplayModePtr mode, Rotation rotation) +xf86ModeHeight (const DisplayModeRec *mode, Rotation rotation) { switch (rotation & 0xf) { case RR_Rotate_0: @@ -206,7 +206,7 @@ xf86SetModeCrtc(DisplayModePtr p, int adjustFlags) * Allocates and returns a copy of pMode, including pointers within pMode. */ _X_EXPORT DisplayModePtr -xf86DuplicateMode(DisplayModePtr pMode) +xf86DuplicateMode(const DisplayModeRec *pMode) { DisplayModePtr pNew; @@ -264,7 +264,7 @@ xf86DuplicateModes(ScrnInfoPtr pScrn, DisplayModePtr modeList) * This isn't in xf86Modes.c, but it might deserve to be there. */ _X_EXPORT Bool -xf86ModesEqual(DisplayModePtr pMode1, DisplayModePtr pMode2) +xf86ModesEqual(const DisplayModeRec *pMode1, const DisplayModeRec *pMode2) { if (pMode1->Clock == pMode2->Clock && pMode1->HDisplay == pMode2->HDisplay && @@ -509,10 +509,27 @@ xf86ValidateModesBandwidth(ScrnInfoPtr pScrn, DisplayModePtr modeList, for (mode = modeList; mode != NULL; mode = mode->next) { if (xf86ModeBandwidth(mode, depth) > bandwidth) +#if XORG_VERSION_CURRENT < XORG_VERSION_NUMERIC(7,0,0,0,0) mode->status = MODE_BANDWIDTH; +#else + /* MODE_BANDWIDTH didn't exist in xserver 1.2 */ + mode->status = MODE_BAD; +#endif } } +Bool +xf86ModeIsReduced(const DisplayModeRec *mode) +{ + if ((((mode->HDisplay * 5 / 4) & ~0x07) > mode->HTotal) && + ((mode->HTotal - mode->HDisplay) == 160) && + ((mode->HSyncEnd - mode->HDisplay) == 80) && + ((mode->HSyncEnd - mode->HSyncStart) == 32) && + ((mode->VSyncStart - mode->VDisplay) == 3)) + return TRUE; + return FALSE; +} + /** * Marks as bad any reduced-blanking modes. * @@ -521,7 +538,6 @@ xf86ValidateModesBandwidth(ScrnInfoPtr pScrn, DisplayModePtr modeList, _X_EXPORT void xf86ValidateModesReducedBlanking(ScrnInfoPtr pScrn, DisplayModePtr modeList) { - Bool mode_is_reduced = FALSE; DisplayModePtr mode; for (mode = modeList; mode != NULL; mode = mode->next) { @@ -677,12 +693,12 @@ xf86GetMonitorModes (ScrnInfoPtr pScrn, XF86ConfMonitorPtr conf_monitor) _X_EXPORT DisplayModePtr xf86GetDefaultModes (Bool interlaceAllowed, Bool doubleScanAllowed) { - DisplayModePtr head = NULL, prev = NULL, mode; + DisplayModePtr head = NULL, mode; int i; for (i = 0; i < xf86NumDefaultModes; i++) { - DisplayModePtr defMode = &xf86DefaultModes[i]; + const DisplayModeRec *defMode = &xf86DefaultModes[i]; if (!interlaceAllowed && (defMode->Flags & V_INTERLACE)) continue; diff --git a/xorg-server/hw/xfree86/modes/xf86Modes.h b/xorg-server/hw/xfree86/modes/xf86Modes.h index acdea65d8..2fb6a374d 100644 --- a/xorg-server/hw/xfree86/modes/xf86Modes.h +++ b/xorg-server/hw/xfree86/modes/xf86Modes.h @@ -40,22 +40,23 @@ #include "xf86Rename.h" #endif -double xf86ModeHSync(DisplayModePtr mode); -double xf86ModeVRefresh(DisplayModePtr mode); +double xf86ModeHSync(const DisplayModeRec *mode); +double xf86ModeVRefresh(const DisplayModeRec *mode); unsigned int xf86ModeBandwidth(DisplayModePtr mode, int depth); int -xf86ModeWidth (DisplayModePtr mode, Rotation rotation); +xf86ModeWidth (const DisplayModeRec *mode, Rotation rotation); int -xf86ModeHeight (DisplayModePtr mode, Rotation rotation); +xf86ModeHeight (const DisplayModeRec *mode, Rotation rotation); -DisplayModePtr xf86DuplicateMode(DisplayModePtr pMode); +DisplayModePtr xf86DuplicateMode(const DisplayModeRec *pMode); DisplayModePtr xf86DuplicateModes(ScrnInfoPtr pScrn, DisplayModePtr modeList); void xf86SetModeDefaultName(DisplayModePtr mode); void xf86SetModeCrtc(DisplayModePtr p, int adjustFlags); -Bool xf86ModesEqual(DisplayModePtr pMode1, DisplayModePtr pMode2); +Bool xf86ModesEqual(const DisplayModeRec *pMode1, + const DisplayModeRec *pMode2); void xf86PrintModeline(int scrnIndex,DisplayModePtr mode); DisplayModePtr xf86ModesAdd(DisplayModePtr modes, DisplayModePtr new); @@ -64,6 +65,9 @@ DisplayModePtr xf86CVTMode(int HDisplay, int VDisplay, float VRefresh, Bool Reduced, Bool Interlaced); DisplayModePtr xf86GTFMode(int h_pixels, int v_lines, float freq, int interlaced, int margins); +Bool +xf86ModeIsReduced(const DisplayModeRec *mode); + void xf86ValidateModesFlags(ScrnInfoPtr pScrn, DisplayModePtr modeList, int flags); diff --git a/xorg-server/hw/xfree86/modes/xf86RandR12.c b/xorg-server/hw/xfree86/modes/xf86RandR12.c index 6f8ccdf84..454649213 100644 --- a/xorg-server/hw/xfree86/modes/xf86RandR12.c +++ b/xorg-server/hw/xfree86/modes/xf86RandR12.c @@ -37,6 +37,7 @@ #include "xf86DDC.h" #include "mipointer.h" #include "windowstr.h" +#include "inputstr.h" #include #include @@ -50,6 +51,8 @@ typedef struct _xf86RandR12Info { int mmHeight; int maxX; int maxY; + int pointerX; + int pointerY; Rotation rotation; /* current mode */ Rotation supported_rotations; /* driver supported */ } XF86RandRInfoRec, *XF86RandRInfoPtr; @@ -60,11 +63,22 @@ static Bool xf86RandR12CreateScreenResources12 (ScreenPtr pScreen); #endif static int xf86RandR12Generation; -static DevPrivateKey xf86RandR12Key; +#if XORG_VERSION_CURRENT < XORG_VERSION_NUMERIC(7,0,0,0,0) +static int xf86RandR12KeyIndex; +static DevPrivateKey xf86RandR12Key; #define XF86RANDRINFO(p) ((XF86RandRInfoPtr) \ dixLookupPrivate(&(p)->devPrivates, xf86RandR12Key)) +#else /* XORG_VERSION_CURRENT < 7.0 */ + +static int xf86RandR12Index; +#define XF86RANDRINFO(p) \ + ((XF86RandRInfoPtr)(p)->devPrivates[xf86RandR12Index].ptr) + +#endif /* XORG_VERSION_CURRENT < 7.0 */ + + static int xf86RandR12ModeRefresh (DisplayModePtr mode) { @@ -74,6 +88,355 @@ xf86RandR12ModeRefresh (DisplayModePtr mode) return (int) (mode->Clock * 1000.0 / mode->HTotal / mode->VTotal + 0.5); } +/* Adapt panning area; return TRUE if panning area was valid without adaption */ +static int +xf86RandR13VerifyPanningArea (xf86CrtcPtr crtc, int screenWidth, int screenHeight) +{ + int ret = TRUE; + + if (crtc->version < 2) + return FALSE; + + if (crtc->panningTotalArea.x2 <= crtc->panningTotalArea.x1) { + /* Panning in X is disabled */ + if (crtc->panningTotalArea.x1 || crtc->panningTotalArea.x2) + /* Illegal configuration -> fail/disable */ + ret = FALSE; + crtc->panningTotalArea.x1 = crtc->panningTotalArea.x2 = 0; + crtc->panningTrackingArea.x1 = crtc->panningTrackingArea.x2 = 0; + crtc->panningBorder[0] = crtc->panningBorder[2] = 0; + } else { + /* Panning in X is enabled */ + if (crtc->panningTotalArea.x1 < 0) { + /* Panning region outside screen -> move inside */ + crtc->panningTotalArea.x2 -= crtc->panningTotalArea.x1; + crtc->panningTotalArea.x1 = 0; + ret = FALSE; + } + if (crtc->panningTotalArea.x2 < crtc->panningTotalArea.x1 + crtc->mode.HDisplay) { + /* Panning region smaller than displayed area -> crop to displayed area */ + crtc->panningTotalArea.x2 = crtc->panningTotalArea.x1 + crtc->mode.HDisplay; + ret = FALSE; + } + if (crtc->panningTotalArea.x2 > screenWidth) { + /* Panning region larger than screen -> move inside, then crop to screen */ + crtc->panningTotalArea.x1 -= crtc->panningTotalArea.x2 - screenWidth; + crtc->panningTotalArea.x2 = screenWidth; + ret = FALSE; + if (crtc->panningTotalArea.x1 < 0) + crtc->panningTotalArea.x1 = 0; + } + if (crtc->panningBorder[0] + crtc->panningBorder[2] > crtc->mode.HDisplay) { + /* Borders too large -> set to 0 */ + crtc->panningBorder[0] = crtc->panningBorder[2] = 0; + ret = FALSE; + } + } + + if (crtc->panningTotalArea.y2 <= crtc->panningTotalArea.y1) { + /* Panning in Y is disabled */ + if (crtc->panningTotalArea.y1 || crtc->panningTotalArea.y2) + /* Illegal configuration -> fail/disable */ + ret = FALSE; + crtc->panningTotalArea.y1 = crtc->panningTotalArea.y2 = 0; + crtc->panningTrackingArea.y1 = crtc->panningTrackingArea.y2 = 0; + crtc->panningBorder[1] = crtc->panningBorder[3] = 0; + } else { + /* Panning in Y is enabled */ + if (crtc->panningTotalArea.y1 < 0) { + /* Panning region outside screen -> move inside */ + crtc->panningTotalArea.y2 -= crtc->panningTotalArea.y1; + crtc->panningTotalArea.y1 = 0; + ret = FALSE; + } + if (crtc->panningTotalArea.y2 < crtc->panningTotalArea.y1 + crtc->mode.VDisplay) { + /* Panning region smaller than displayed area -> crop to displayed area */ + crtc->panningTotalArea.y2 = crtc->panningTotalArea.y1 + crtc->mode.VDisplay; + ret = FALSE; + } + if (crtc->panningTotalArea.y2 > screenHeight) { + /* Panning region larger than screen -> move inside, then crop to screen */ + crtc->panningTotalArea.y1 -= crtc->panningTotalArea.y2 - screenHeight; + crtc->panningTotalArea.y2 = screenHeight; + ret = FALSE; + if (crtc->panningTotalArea.y1 < 0) + crtc->panningTotalArea.y1 = 0; + } + if (crtc->panningBorder[1] + crtc->panningBorder[3] > crtc->mode.VDisplay) { + /* Borders too large -> set to 0 */ + crtc->panningBorder[1] = crtc->panningBorder[3] = 0; + ret = FALSE; + } + } + + return ret; +} + +/* + * The heart of the panning operation: + * + * Given a frame buffer position (fb_x, fb_y), + * and a crtc position (crtc_x, crtc_y), + * and a transform matrix which maps frame buffer to crtc, + * compute a panning position (pan_x, pan_y) that + * makes the resulting transform line those two up + */ + +static void +xf86ComputeCrtcPan (Bool transform_in_use, + struct pixman_f_transform *m, + double screen_x, double screen_y, + double crtc_x, double crtc_y, + int old_pan_x, int old_pan_y, + int *new_pan_x, int *new_pan_y) +{ + if (transform_in_use) { + /* + * Given the current transform, M, the current position + * on the Screen, S, and the desired position on the CRTC, + * C, compute a translation, T, such that: + * + * M T S = C + * + * where T is of the form + * + * | 1 0 dx | + * | 0 1 dy | + * | 0 0 1 | + * + * M T S = + * | M00 Sx + M01 Sy + M00 dx + M01 dy + M02 | | Cx F | + * | M10 Sx + M11 Sy + M10 dx + M11 dy + M12 | = | Cy F | + * | M20 Sx + M21 Sy + M20 dx + M21 dy + M22 | | F | + * + * R = M S + * + * Cx F = M00 dx + M01 dy + R0 + * Cy F = M10 dx + M11 dy + R1 + * F = M20 dx + M21 dy + R2 + * + * Zero out dx, then dy + * + * F (Cx M10 - Cy M00) = + * (M10 M01 - M00 M11) dy + M10 R0 - M00 R1 + * F (M10 - Cy M20) = + * (M10 M21 - M20 M11) dy + M10 R2 - M20 R1 + * + * F (Cx M11 - Cy M01) = + * (M11 M00 - M01 M10) dx + M11 R0 - M01 R1 + * F (M11 - Cy M21) = + * (M11 M20 - M21 M10) dx + M11 R2 - M21 R1 + * + * Make some temporaries + * + * T = | Cx M10 - Cy M00 | + * | Cx M11 - Cy M01 | + * + * U = | M10 M01 - M00 M11 | + * | M11 M00 - M01 M10 | + * + * Q = | M10 R0 - M00 R1 | + * | M11 R0 - M01 R1 | + * + * P = | M10 - Cy M20 | + * | M11 - Cy M21 | + * + * W = | M10 M21 - M20 M11 | + * | M11 M20 - M21 M10 | + * + * V = | M10 R2 - M20 R1 | + * | M11 R2 - M21 R1 | + * + * Rewrite: + * + * F T0 = U0 dy + Q0 + * F P0 = W0 dy + V0 + * F T1 = U1 dx + Q1 + * F P1 = W1 dx + V1 + * + * Solve for F (two ways) + * + * F (W0 T0 - U0 P0) = W0 Q0 - U0 V0 + * + * W0 Q0 - U0 V0 + * F = ------------- + * W0 T0 - U0 P0 + * + * F (W1 T1 - U1 P1) = W1 Q1 - U1 V1 + * + * W1 Q1 - U1 V1 + * F = ------------- + * W1 T1 - U1 P1 + * + * We'll use which ever solution works (denominator != 0) + * + * Finally, solve for dx and dy: + * + * dx = (F T1 - Q1) / U1 + * dx = (F P1 - V1) / W1 + * + * dy = (F T0 - Q0) / U0 + * dy = (F P0 - V0) / W0 + */ + double r[3]; + double q[2], u[2], t[2], v[2], w[2], p[2]; + double f; + struct pict_f_vector d; + int i; + + /* Get the un-normalized crtc coordinates again */ + for (i = 0; i < 3; i++) + r[i] = m->m[i][0] * screen_x + m->m[i][1] * screen_y + m->m[i][2]; + + /* Combine values into temporaries */ + for (i = 0; i < 2; i++) { + q[i] = m->m[1][i] * r[0] - m->m[0][i] * r[1]; + u[i] = m->m[1][i] * m->m[0][1-i] - m->m[0][i] * m->m[1][1-i]; + t[i] = m->m[1][i] * crtc_x - m->m[0][i] * crtc_y; + + v[i] = m->m[1][i] * r[2] - m->m[2][i] * r[1]; + w[i] = m->m[1][i] * m->m[2][1-i] - m->m[2][i] * m->m[1][1-i]; + p[i] = m->m[1][i] - m->m[2][i] * crtc_y; + } + + /* Find a way to compute f */ + f = 0; + for (i = 0; i < 2; i++) { + double a = w[i] * q[i] - u[i] * v[i]; + double b = w[i] * t[i] - u[i] * p[i]; + if (b != 0) { + f = a/b; + break; + } + } + + /* Solve for the resulting transform vector */ + for (i = 0; i < 2; i++) { + if (u[i]) + d.v[1-i] = (t[i] * f - q[i]) / u[i]; + else if (w[1]) + d.v[1-i] = (p[i] * f - v[i]) / w[i]; + else + d.v[1-i] = 0; + } + *new_pan_x = old_pan_x - floor (d.v[0] + 0.5); + *new_pan_y = old_pan_y - floor (d.v[1] + 0.5); + } else { + *new_pan_x = screen_x - crtc_x; + *new_pan_y = screen_y - crtc_y; + } +} + +static void +xf86RandR13Pan (xf86CrtcPtr crtc, int x, int y) +{ + int newX, newY; + int width, height; + Bool panned = FALSE; + + if (crtc->version < 2) + return; + + if (! crtc->enabled || + (crtc->panningTotalArea.x2 <= crtc->panningTotalArea.x1 && + crtc->panningTotalArea.y2 <= crtc->panningTotalArea.y1)) + return; + + newX = crtc->x; + newY = crtc->y; + width = crtc->mode.HDisplay; + height = crtc->mode.VDisplay; + + if ((crtc->panningTrackingArea.x2 <= crtc->panningTrackingArea.x1 || + (x >= crtc->panningTrackingArea.x1 && x < crtc->panningTrackingArea.x2)) && + (crtc->panningTrackingArea.y2 <= crtc->panningTrackingArea.y1 || + (y >= crtc->panningTrackingArea.y1 && y < crtc->panningTrackingArea.y2))) + { + struct pict_f_vector c; + + /* + * Pre-clip the mouse position to the panning area so that we don't + * push the crtc outside. This doesn't deal with changes to the + * panning values, only mouse position changes. + */ + if (crtc->panningTotalArea.x2 > crtc->panningTotalArea.x1) + { + if (x < crtc->panningTotalArea.x1) + x = crtc->panningTotalArea.x1; + if (x >= crtc->panningTotalArea.x2) + x = crtc->panningTotalArea.x2 - 1; + } + if (crtc->panningTotalArea.y2 > crtc->panningTotalArea.y1) + { + if (y < crtc->panningTotalArea.y1) + y = crtc->panningTotalArea.y1; + if (y >= crtc->panningTotalArea.y2) + y = crtc->panningTotalArea.y2 - 1; + } + + c.v[0] = x; + c.v[1] = y; + c.v[2] = 1.0; + if (crtc->transform_in_use) { + pixman_f_transform_point(&crtc->f_framebuffer_to_crtc, &c); + } else { + c.v[0] -= crtc->x; + c.v[1] -= crtc->y; + } + + if (crtc->panningTotalArea.x2 > crtc->panningTotalArea.x1) { + if (c.v[0] < crtc->panningBorder[0]) { + c.v[0] = crtc->panningBorder[0]; + panned = TRUE; + } + if (c.v[0] >= width - crtc->panningBorder[2]) { + c.v[0] = width - crtc->panningBorder[2] - 1; + panned = TRUE; + } + } + if (crtc->panningTotalArea.y2 > crtc->panningTotalArea.y1) { + if (c.v[1] < crtc->panningBorder[1]) { + c.v[1] = crtc->panningBorder[1]; + panned = TRUE; + } + if (c.v[1] >= height - crtc->panningBorder[3]) { + c.v[1] = height - crtc->panningBorder[3] - 1; + panned = TRUE; + } + } + if (panned) + xf86ComputeCrtcPan (crtc->transform_in_use, + &crtc->f_framebuffer_to_crtc, + x, y, c.v[0], c.v[1], + newX, newY, &newX, &newY); + } + + /* + * Ensure that the crtc is within the panning region. + * + * XXX This computation only works when we do not have a transform + * in use. + */ + if (!crtc->transform_in_use) + { + /* Validate against [xy]1 after [xy]2, to be sure that results are > 0 for [xy]1 > 0 */ + if (crtc->panningTotalArea.x2 > crtc->panningTotalArea.x1) { + if (newX > crtc->panningTotalArea.x2 - width) + newX = crtc->panningTotalArea.x2 - width; + if (newX < crtc->panningTotalArea.x1) + newX = crtc->panningTotalArea.x1; + } + if (crtc->panningTotalArea.y2 > crtc->panningTotalArea.y1) { + if (newY > crtc->panningTotalArea.y2 - height) + newY = crtc->panningTotalArea.y2 - height; + if (newY < crtc->panningTotalArea.y1) + newY = crtc->panningTotalArea.y1; + } + } + if (newX != crtc->x || newY != crtc->y) + xf86CrtcSetOrigin (crtc, newX, newY); +} + static Bool xf86RandR12GetInfo (ScreenPtr pScreen, Rotation *rotations) { @@ -247,7 +610,7 @@ xf86RandR12SetConfig (ScreenPtr pScreen, randrp->virtualY = scrp->virtualY; } - miPointerPosition (&px, &py); + miPointerGetPosition (inputInfo.pointer, &px, &py); for (mode = scrp->modes; ; mode = mode->next) { if (randrp->maxX == 0 || randrp->maxY == 0) @@ -294,14 +657,14 @@ xf86RandR12SetConfig (ScreenPtr pScreen, /* * Move the cursor back where it belongs; SwitchMode repositions it */ - if (pScreen == miPointerCurrentScreen ()) + if (pScreen == miPointerGetScreen(inputInfo.pointer)) { px = (px >= pScreen->width ? (pScreen->width - 1) : px); py = (py >= pScreen->height ? (pScreen->height - 1) : py); xf86SetViewport(pScreen, px, py); - (*pScreen->SetCursorPosition) (pScreen, px, py, FALSE); + (*pScreen->SetCursorPosition) (inputInfo.pointer, pScreen, px, py, FALSE); } return TRUE; @@ -320,14 +683,19 @@ xf86RandR12ScreenSetSize (ScreenPtr pScreen, WindowPtr pRoot = WindowTable[pScreen->myNum]; PixmapPtr pScrnPix = (*pScreen->GetScreenPixmap)(pScreen); Bool ret = FALSE; + int c; +#if XORG_VERSION_CURRENT < XORG_VERSION_NUMERIC(7,0,0,0,0) if (xf86RandR12Key) { +#endif if (randrp->virtualX == -1 || randrp->virtualY == -1) { randrp->virtualX = pScrn->virtualX; randrp->virtualY = pScrn->virtualY; } +#if XORG_VERSION_CURRENT < XORG_VERSION_NUMERIC(7,0,0,0,0) } +#endif if (pRoot && pScrn->vtSema) (*pScrn->EnableDisableFBAccess) (pScreen->myNum, FALSE); @@ -336,6 +704,23 @@ xf86RandR12ScreenSetSize (ScreenPtr pScreen, goto finish; ret = TRUE; + /* Update panning information */ + for (c = 0; c < config->num_crtc; c++) { + xf86CrtcPtr crtc = config->crtc[c]; + if (crtc->panningTotalArea.x2 > crtc->panningTotalArea.x1 || + crtc->panningTotalArea.y2 > crtc->panningTotalArea.y1) { + if (crtc->panningTotalArea.x2 > crtc->panningTrackingArea.x1) + crtc->panningTotalArea.x2 += width - pScreen->width; + if (crtc->panningTotalArea.y2 > crtc->panningTrackingArea.y1) + crtc->panningTotalArea.y2 += height - pScreen->height; + if (crtc->panningTrackingArea.x2 > crtc->panningTrackingArea.x1) + crtc->panningTrackingArea.x2 += width - pScreen->width; + if (crtc->panningTrackingArea.y2 > crtc->panningTrackingArea.y1) + crtc->panningTrackingArea.y2 += height - pScreen->height; + xf86RandR13VerifyPanningArea (crtc, width, height); + xf86RandR13Pan (crtc, randrp->pointerX, randrp->pointerY); + } + } pScreen->width = pScrnPix->drawable.width = width; pScreen->height = pScrnPix->drawable.height = height; @@ -367,8 +752,8 @@ _X_EXPORT Bool xf86RandR12CreateScreenResources (ScreenPtr pScreen) { ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; - xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(pScrn); - XF86RandRInfoPtr randrp = XF86RANDRINFO(pScreen); + xf86CrtcConfigPtr config; + XF86RandRInfoPtr randrp; int c; int width, height; int mmWidth, mmHeight; @@ -378,6 +763,8 @@ xf86RandR12CreateScreenResources (ScreenPtr pScreen) return TRUE; #endif + config = XF86_CRTC_CONFIG_PTR(pScrn); + randrp = XF86RANDRINFO(pScreen); /* * Compute size of screen */ @@ -388,10 +775,16 @@ xf86RandR12CreateScreenResources (ScreenPtr pScreen) int crtc_width = crtc->x + xf86ModeWidth (&crtc->mode, crtc->rotation); int crtc_height = crtc->y + xf86ModeHeight (&crtc->mode, crtc->rotation); - if (crtc->enabled && crtc_width > width) - width = crtc_width; - if (crtc->enabled && crtc_height > height) - height = crtc_height; + if (crtc->enabled) { + if (crtc_width > width) + width = crtc_width; + if (crtc_height > height) + height = crtc_height; + if (crtc->panningTotalArea.x2 > width) + width = crtc->panningTotalArea.x2; + if (crtc->panningTotalArea.y2 > height) + height = crtc->panningTotalArea.y2; + } } if (width && height) @@ -442,6 +835,13 @@ xf86RandR12CreateScreenResources (ScreenPtr pScreen) xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Setting screen physical size to %d x %d\n", mmWidth, mmHeight); + /* + * This is the initial setting of the screen size. + * We have to pre-set it here, otherwise panning would be adapted + * to the new screen size. + */ + pScreen->width = width; + pScreen->height = height; xf86RandR12ScreenSetSize (pScreen, width, height, @@ -449,8 +849,10 @@ xf86RandR12CreateScreenResources (ScreenPtr pScreen) mmHeight); } +#if XORG_VERSION_CURRENT < XORG_VERSION_NUMERIC(7,0,0,0,0) if (xf86RandR12Key == NULL) return TRUE; +#endif if (randrp->virtualX == -1 || randrp->virtualY == -1) { @@ -481,7 +883,11 @@ xf86RandR12Init (ScreenPtr pScreen) if (xf86RandR12Generation != serverGeneration) xf86RandR12Generation = serverGeneration; - xf86RandR12Key = &xf86RandR12Key; +#if XORG_VERSION_CURRENT < XORG_VERSION_NUMERIC(7,0,0,0,0) + xf86RandR12Key = &xf86RandR12KeyIndex; +#else + xf86RandR12Index = AllocateScreenPrivateIndex(); +#endif randrp = xalloc (sizeof (XF86RandRInfoRec)); if (!randrp) @@ -507,7 +913,11 @@ xf86RandR12Init (ScreenPtr pScreen) randrp->maxX = randrp->maxY = 0; +#if XORG_VERSION_CURRENT < XORG_VERSION_NUMERIC(7,0,0,0,0) dixSetPrivate(&pScreen->devPrivates, xf86RandR12Key, randrp); +#else + pScreen->devPrivates[xf86RandR12Index].ptr = randrp; +#endif #if RANDR_12_INTERFACE if (!xf86RandR12Init12 (pScreen)) @@ -526,8 +936,10 @@ xf86RandR12SetRotations (ScreenPtr pScreen, Rotation rotations) xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(pScrn); #endif +#if XORG_VERSION_CURRENT < XORG_VERSION_NUMERIC(7,0,0,0,0) if (xf86RandR12Key == NULL) return; +#endif randrp = XF86RANDRINFO(pScreen); #if RANDR_12_INTERFACE @@ -540,6 +952,31 @@ xf86RandR12SetRotations (ScreenPtr pScreen, Rotation rotations) randrp->supported_rotations = rotations; } +_X_EXPORT void +xf86RandR12SetTransformSupport (ScreenPtr pScreen, Bool transforms) +{ + XF86RandRInfoPtr randrp; +#if RANDR_13_INTERFACE + ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + int c; + xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(pScrn); +#endif + +#if XORG_VERSION_CURRENT < XORG_VERSION_NUMERIC(7,0,0,0,0) + if (xf86RandR12Key == NULL) + return; +#endif + + randrp = XF86RANDRINFO(pScreen); +#if RANDR_13_INTERFACE + for (c = 0; c < config->num_crtc; c++) { + xf86CrtcPtr crtc = config->crtc[c]; + + RRCrtcSetTransformSupport (crtc->randr_crtc, transforms); + } +#endif +} + _X_EXPORT void xf86RandR12GetOriginalVirtualSize(ScrnInfoPtr pScrn, int *x, int *y) { @@ -662,7 +1099,9 @@ xf86RandR12CrtcNotify (RRCrtcPtr randr_crtc) } } ret = RRCrtcNotify (randr_crtc, randr_mode, x, y, - rotation, numOutputs, randr_outputs); + rotation, + crtc->transformPresent ? &crtc->transform : NULL, + numOutputs, randr_outputs); xfree(randr_outputs); return ret; } @@ -698,18 +1137,20 @@ xf86RandRModeConvert (ScrnInfoPtr scrn, } static Bool -xf86RandR12CrtcSet (ScreenPtr pScreen, - RRCrtcPtr randr_crtc, - RRModePtr randr_mode, - int x, - int y, - Rotation rotation, - int num_randr_outputs, - RROutputPtr *randr_outputs) +xf86RandR12CrtcSet (ScreenPtr pScreen, + RRCrtcPtr randr_crtc, + RRModePtr randr_mode, + int x, + int y, + Rotation rotation, + int num_randr_outputs, + RROutputPtr *randr_outputs) { + XF86RandRInfoPtr randrp = XF86RANDRINFO(pScreen); ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(pScrn); xf86CrtcPtr crtc = randr_crtc->devPrivate; + RRTransformPtr transform; Bool changed = FALSE; int o, ro; xf86CrtcPtr *save_crtcs; @@ -727,6 +1168,13 @@ xf86RandR12CrtcSet (ScreenPtr pScreen, if (rotation != crtc->rotation) changed = TRUE; + transform = RRCrtcGetTransform (randr_crtc); + if ((transform != NULL) != crtc->transformPresent) + changed = TRUE; + else if (transform && memcmp (&transform->transform, &crtc->transform.transform, + sizeof (transform->transform)) != 0) + changed = TRUE; + if (x != crtc->x || y != crtc->y) changed = TRUE; for (o = 0; o < config->num_output; o++) @@ -764,9 +1212,10 @@ xf86RandR12CrtcSet (ScreenPtr pScreen, if (randr_mode) { DisplayModeRec mode; + RRTransformPtr transform = RRCrtcGetTransform (randr_crtc); xf86RandRModeConvert (pScrn, randr_mode, &mode); - if (!xf86CrtcSetMode (crtc, &mode, rotation, x, y)) + if (!xf86CrtcSetModeTransform (crtc, &mode, rotation, transform, x, y)) { crtc->enabled = save_enabled; for (o = 0; o < config->num_output; o++) @@ -777,11 +1226,19 @@ xf86RandR12CrtcSet (ScreenPtr pScreen, xfree(save_crtcs); return FALSE; } + xf86RandR13VerifyPanningArea (crtc, pScreen->width, pScreen->height); + xf86RandR13Pan (crtc, randrp->pointerX, randrp->pointerY); /* * Save the last successful setting for EnterVT */ crtc->desiredMode = mode; crtc->desiredRotation = rotation; + if (transform) { + crtc->desiredTransform = *transform; + crtc->desiredTransformPresent = TRUE; + } else + crtc->desiredTransformPresent = FALSE; + crtc->desiredX = x; crtc->desiredY = y; } @@ -831,6 +1288,20 @@ xf86RandR12OutputSetProperty (ScreenPtr pScreen, return output->funcs->set_property(output, property, value); } +static Bool +xf86RandR13OutputGetProperty (ScreenPtr pScreen, + RROutputPtr randr_output, + Atom property) +{ + xf86OutputPtr output = randr_output->devPrivate; + + if (output->funcs->get_property == NULL) + return TRUE; + + /* Should be safe even w/o vtSema */ + return output->funcs->get_property(output, property); +} + static Bool xf86RandR12OutputValidateMode (ScreenPtr pScreen, RROutputPtr randr_output, @@ -1060,8 +1531,10 @@ xf86RandR12CreateScreenResources12 (ScreenPtr pScreen) ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(pScrn); +#if XORG_VERSION_CURRENT < XORG_VERSION_NUMERIC(7,0,0,0,0) if (xf86RandR12Key == NULL) return TRUE; +#endif for (c = 0; c < config->num_crtc; c++) xf86RandR12CrtcNotify (config->crtc[c]->randr_crtc); @@ -1083,8 +1556,13 @@ xf86RandR12TellChanged (ScreenPtr pScreen) xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(pScrn); int c; +#if XORG_VERSION_CURRENT < XORG_VERSION_NUMERIC(7,0,0,0,0) if (xf86RandR12Key == NULL) return; +#else + if (!XF86RANDRINFO(pScreen)) + return; +#endif xf86RandR12SetInfo12 (pScreen); for (c = 0; c < config->num_crtc; c++) @@ -1096,6 +1574,77 @@ xf86RandR12TellChanged (ScreenPtr pScreen) static void xf86RandR12PointerMoved (int scrnIndex, int x, int y) { + ScreenPtr pScreen = screenInfo.screens[scrnIndex]; + ScrnInfoPtr pScrn = XF86SCRNINFO(pScreen); + xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(pScrn); + XF86RandRInfoPtr randrp = XF86RANDRINFO(pScreen); + int c; + + randrp->pointerX = x; + randrp->pointerY = y; + for (c = 0; c < config->num_crtc; c++) + xf86RandR13Pan (config->crtc[c], x, y); +} + +static Bool +xf86RandR13GetPanning (ScreenPtr pScreen, + RRCrtcPtr randr_crtc, + BoxPtr totalArea, + BoxPtr trackingArea, + INT16 *border) +{ + xf86CrtcPtr crtc = randr_crtc->devPrivate; + + if (crtc->version < 2) + return FALSE; + if (totalArea) + memcpy (totalArea, &crtc->panningTotalArea, sizeof(BoxRec)); + if (trackingArea) + memcpy (trackingArea, &crtc->panningTrackingArea, sizeof(BoxRec)); + if (border) + memcpy (border, crtc->panningBorder, 4*sizeof(INT16)); + + return TRUE; +} + +static Bool +xf86RandR13SetPanning (ScreenPtr pScreen, + RRCrtcPtr randr_crtc, + BoxPtr totalArea, + BoxPtr trackingArea, + INT16 *border) +{ + XF86RandRInfoPtr randrp = XF86RANDRINFO(pScreen); + xf86CrtcPtr crtc = randr_crtc->devPrivate; + BoxRec oldTotalArea; + BoxRec oldTrackingArea; + INT16 oldBorder[4]; + + + if (crtc->version < 2) + return FALSE; + + memcpy (&oldTotalArea, &crtc->panningTotalArea, sizeof(BoxRec)); + memcpy (&oldTrackingArea, &crtc->panningTrackingArea, sizeof(BoxRec)); + memcpy (oldBorder, crtc->panningBorder, 4*sizeof(INT16)); + + if (totalArea) + memcpy (&crtc->panningTotalArea, totalArea, sizeof(BoxRec)); + if (trackingArea) + memcpy (&crtc->panningTrackingArea, trackingArea, sizeof(BoxRec)); + if (border) + memcpy (crtc->panningBorder, border, 4*sizeof(INT16)); + + if (xf86RandR13VerifyPanningArea (crtc, pScreen->width, pScreen->height)) { + xf86RandR13Pan (crtc, randrp->pointerX, randrp->pointerY); + return TRUE; + } else { + /* Restore old settings */ + memcpy (&crtc->panningTotalArea, &oldTotalArea, sizeof(BoxRec)); + memcpy (&crtc->panningTrackingArea, &oldTrackingArea, sizeof(BoxRec)); + memcpy (crtc->panningBorder, oldBorder, 4*sizeof(INT16)); + return FALSE; + } } static Bool @@ -1110,6 +1659,11 @@ xf86RandR12Init12 (ScreenPtr pScreen) rp->rrCrtcSetGamma = xf86RandR12CrtcSetGamma; rp->rrOutputSetProperty = xf86RandR12OutputSetProperty; rp->rrOutputValidateMode = xf86RandR12OutputValidateMode; +#if RANDR_13_INTERFACE + rp->rrOutputGetProperty = xf86RandR13OutputGetProperty; + rp->rrGetPanning = xf86RandR13GetPanning; + rp->rrSetPanning = xf86RandR13SetPanning; +#endif rp->rrModeDestroy = xf86RandR12ModeDestroy; rp->rrSetConfig = NULL; pScrn->PointerMoved = xf86RandR12PointerMoved; diff --git a/xorg-server/hw/xfree86/modes/xf86RandR12.h b/xorg-server/hw/xfree86/modes/xf86RandR12.h index 4fd855cf5..17a2dcc7f 100644 --- a/xorg-server/hw/xfree86/modes/xf86RandR12.h +++ b/xorg-server/hw/xfree86/modes/xf86RandR12.h @@ -31,6 +31,7 @@ Bool xf86RandR12CreateScreenResources (ScreenPtr pScreen); Bool xf86RandR12Init(ScreenPtr pScreen); void xf86RandR12SetRotations (ScreenPtr pScreen, Rotation rotation); +void xf86RandR12SetTransformSupport (ScreenPtr pScreen, Bool transforms); Bool xf86RandR12SetConfig(ScreenPtr pScreen, Rotation rotation, int rate, RRScreenSizePtr pSize); Rotation xf86RandR12GetRotation(ScreenPtr pScreen); diff --git a/xorg-server/hw/xfree86/modes/xf86Rename.h b/xorg-server/hw/xfree86/modes/xf86Rename.h index b8c1d70ef..e3418caad 100644 --- a/xorg-server/hw/xfree86/modes/xf86Rename.h +++ b/xorg-server/hw/xfree86/modes/xf86Rename.h @@ -38,6 +38,7 @@ #define xf86CrtcInUse XF86NAME(xf86CrtcInUse) #define xf86CrtcRotate XF86NAME(xf86CrtcRotate) #define xf86CrtcScreenInit XF86NAME(xf86CrtcScreenInit) +#define xf86CrtcSetModeTransform XF86NAME(xf86CrtcSetModeTransform) #define xf86CrtcSetMode XF86NAME(xf86CrtcSetMode) #define xf86CrtcSetSizeRange XF86NAME(xf86CrtcSetSizeRange) #define xf86CVTMode XF86NAME(xf86CVTMode) diff --git a/xorg-server/hw/xfree86/modes/xf86Rotate.c b/xorg-server/hw/xfree86/modes/xf86Rotate.c index e2d6295b9..6be77d556 100644 --- a/xorg-server/hw/xfree86/modes/xf86Rotate.c +++ b/xorg-server/hw/xfree86/modes/xf86Rotate.c @@ -70,204 +70,8 @@ compWindowFormat (WindowPtr pWin) #define F(x) IntToxFixed(x) -static void -PictureTransformIdentity (PictTransformPtr matrix) -{ - int i; - memset (matrix, '\0', sizeof (PictTransform)); - for (i = 0; i < 3; i++) - matrix->matrix[i][i] = F(1); -} - -static Bool -PictureTransformMultiply (PictTransformPtr dst, PictTransformPtr l, PictTransformPtr r) -{ - PictTransform d; - int dx, dy; - int o; - - for (dy = 0; dy < 3; dy++) - for (dx = 0; dx < 3; dx++) - { - xFixed_48_16 v; - xFixed_32_32 partial; - v = 0; - for (o = 0; o < 3; o++) - { - partial = (xFixed_32_32) l->matrix[dy][o] * (xFixed_32_32) r->matrix[o][dx]; - v += partial >> 16; - } - if (v > MAX_FIXED_48_16 || v < MIN_FIXED_48_16) - return FALSE; - d.matrix[dy][dx] = (xFixed) v; - } - *dst = d; - return TRUE; -} - -static void -PictureTransformInitScale (PictTransformPtr t, xFixed sx, xFixed sy) -{ - memset (t, '\0', sizeof (PictTransform)); - t->matrix[0][0] = sx; - t->matrix[1][1] = sy; - t->matrix[2][2] = F (1); -} - -static xFixed -fixed_inverse (xFixed x) -{ - return (xFixed) ((((xFixed_48_16) F(1)) * F(1)) / x); -} - -static Bool -PictureTransformScale (PictTransformPtr forward, - PictTransformPtr reverse, - xFixed sx, xFixed sy) -{ - PictTransform t; - - PictureTransformInitScale (&t, sx, sy); - if (!PictureTransformMultiply (forward, &t, forward)) - return FALSE; - PictureTransformInitScale (&t, fixed_inverse (sx), fixed_inverse (sy)); - if (!PictureTransformMultiply (reverse, reverse, &t)) - return FALSE; - return TRUE; -} - -static void -PictureTransformInitRotate (PictTransformPtr t, xFixed c, xFixed s) -{ - memset (t, '\0', sizeof (PictTransform)); - t->matrix[0][0] = c; - t->matrix[0][1] = -s; - t->matrix[1][0] = s; - t->matrix[1][1] = c; - t->matrix[2][2] = F (1); -} - -static Bool -PictureTransformRotate (PictTransformPtr forward, - PictTransformPtr reverse, - xFixed c, xFixed s) -{ - PictTransform t; - PictureTransformInitRotate (&t, c, s); - if (!PictureTransformMultiply (forward, &t, forward)) - return FALSE; - - PictureTransformInitRotate (&t, c, -s); - if (!PictureTransformMultiply (reverse, reverse, &t)) - return FALSE; - return TRUE; -} - -static void -PictureTransformInitTranslate (PictTransformPtr t, xFixed tx, xFixed ty) -{ - memset (t, '\0', sizeof (PictTransform)); - t->matrix[0][0] = F (1); - t->matrix[0][2] = tx; - t->matrix[1][1] = F (1); - t->matrix[1][2] = ty; - t->matrix[2][2] = F (1); -} - -static Bool -PictureTransformTranslate (PictTransformPtr forward, - PictTransformPtr reverse, - xFixed tx, xFixed ty) -{ - PictTransform t; - PictureTransformInitTranslate (&t, tx, ty); - if (!PictureTransformMultiply (forward, &t, forward)) - return FALSE; - - PictureTransformInitTranslate (&t, -tx, -ty); - if (!PictureTransformMultiply (reverse, reverse, &t)) - return FALSE; - return TRUE; -} - -static void -PictureTransformBounds (BoxPtr b, PictTransformPtr matrix) -{ - PictVector v[4]; - int i; - int x1, y1, x2, y2; - - v[0].vector[0] = F (b->x1); v[0].vector[1] = F (b->y1); v[0].vector[2] = F(1); - v[1].vector[0] = F (b->x2); v[1].vector[1] = F (b->y1); v[1].vector[2] = F(1); - v[2].vector[0] = F (b->x2); v[2].vector[1] = F (b->y2); v[2].vector[2] = F(1); - v[3].vector[0] = F (b->x1); v[3].vector[1] = F (b->y2); v[3].vector[2] = F(1); - for (i = 0; i < 4; i++) - { - PictureTransformPoint (matrix, &v[i]); - x1 = xFixedToInt (v[i].vector[0]); - y1 = xFixedToInt (v[i].vector[1]); - x2 = xFixedToInt (xFixedCeil (v[i].vector[0])); - y2 = xFixedToInt (xFixedCeil (v[i].vector[1])); - if (i == 0) - { - b->x1 = x1; b->y1 = y1; - b->x2 = x2; b->y2 = y2; - } - else - { - if (x1 < b->x1) b->x1 = x1; - if (y1 < b->y1) b->y1 = y1; - if (x2 > b->x2) b->x2 = x2; - if (y2 > b->y2) b->y2 = y2; - } - } -} - -static Bool -PictureTransformIsIdentity(PictTransform *t) -{ - return ((t->matrix[0][0] == t->matrix[1][1]) && - (t->matrix[0][0] == t->matrix[2][2]) && - (t->matrix[0][0] != 0) && - (t->matrix[0][1] == 0) && - (t->matrix[0][2] == 0) && - (t->matrix[1][0] == 0) && - (t->matrix[1][2] == 0) && - (t->matrix[2][0] == 0) && - (t->matrix[2][1] == 0)); -} - #define toF(x) ((float) (x) / 65536.0f) -static void -PictureTransformErrorF (PictTransform *t) -{ - ErrorF ("{ { %f %f %f } { %f %f %f } { %f %f %f } }", - toF(t->matrix[0][0]), toF(t->matrix[0][1]), toF(t->matrix[0][2]), - toF(t->matrix[1][0]), toF(t->matrix[1][1]), toF(t->matrix[1][2]), - toF(t->matrix[2][0]), toF(t->matrix[2][1]), toF(t->matrix[2][2])); -} - -static Bool -PictureTransformIsInverse (char *where, PictTransform *a, PictTransform *b) -{ - PictTransform t; - - PictureTransformMultiply (&t, a, b); - if (!PictureTransformIsIdentity (&t)) - { - ErrorF ("%s: ", where); - PictureTransformErrorF (a); - ErrorF (" * "); - PictureTransformErrorF (b); - ErrorF (" = "); - PictureTransformErrorF (a); - ErrorF ("\n"); - return FALSE; - } - return TRUE; -} - static void xf86RotateCrtcRedisplay (xf86CrtcPtr crtc, RegionPtr region) { @@ -305,19 +109,37 @@ xf86RotateCrtcRedisplay (xf86CrtcPtr crtc, RegionPtr region) error = SetPictureTransform (src, &crtc->crtc_to_framebuffer); if (error) return; + if (crtc->transform_in_use && crtc->filter) + SetPicturePictFilter (src, crtc->filter, + crtc->params, crtc->nparams); - while (n--) + if (crtc->shadowClear) { - BoxRec dst_box; - - dst_box = *b; - PictureTransformBounds (&dst_box, &crtc->framebuffer_to_crtc); CompositePicture (PictOpSrc, src, NULL, dst, - dst_box.x1, dst_box.y1, 0, 0, dst_box.x1, dst_box.y1, - dst_box.x2 - dst_box.x1, - dst_box.y2 - dst_box.y1); - b++; + 0, 0, 0, 0, 0, 0, + crtc->mode.HDisplay, crtc->mode.VDisplay); + crtc->shadowClear = FALSE; + } + else + { + while (n--) + { + BoxRec dst_box; + + dst_box = *b; + dst_box.x1 -= crtc->filter_width >> 1; + dst_box.x2 += crtc->filter_width >> 1; + dst_box.y1 -= crtc->filter_height >> 1; + dst_box.y2 += crtc->filter_height >> 1; + pixman_f_transform_bounds (&crtc->f_framebuffer_to_crtc, &dst_box); + CompositePicture (PictOpSrc, + src, NULL, dst, + dst_box.x1, dst_box.y1, 0, 0, dst_box.x1, dst_box.y1, + dst_box.x2 - dst_box.x1, + dst_box.y2 - dst_box.y1); + b++; + } } FreePicture (src, None); FreePicture (dst, None); @@ -331,14 +153,26 @@ xf86CrtcDamageShadow (xf86CrtcPtr crtc) RegionRec damage_region; ScreenPtr pScreen = pScrn->pScreen; - damage_box.x1 = crtc->x; - damage_box.x2 = crtc->x + xf86ModeWidth (&crtc->mode, crtc->rotation); - damage_box.y1 = crtc->y; - damage_box.y2 = crtc->y + xf86ModeHeight (&crtc->mode, crtc->rotation); + damage_box.x1 = 0; + damage_box.x2 = crtc->mode.HDisplay; + damage_box.y1 = 0; + damage_box.y2 = crtc->mode.VDisplay; + if (!pixman_transform_bounds (&crtc->crtc_to_framebuffer, &damage_box)) + { + damage_box.x1 = 0; + damage_box.y1 = 0; + damage_box.x2 = pScreen->width; + damage_box.y2 = pScreen->height; + } + if (damage_box.x1 < 0) damage_box.x1 = 0; + if (damage_box.y1 < 0) damage_box.y1 = 0; + if (damage_box.x2 > pScreen->width) damage_box.x2 = pScreen->width; + if (damage_box.y2 > pScreen->height) damage_box.y2 = pScreen->height; REGION_INIT (pScreen, &damage_region, &damage_box, 1); - DamageDamageRegion (&(*pScreen->GetScreenPixmap)(pScreen)->drawable, + DamageRegionAppend (&(*pScreen->GetScreenPixmap)(pScreen)->drawable, &damage_region); REGION_UNINIT (pScreen, &damage_region); + crtc->shadowClear = TRUE; } static void @@ -401,7 +235,7 @@ xf86RotateRedisplay(ScreenPtr pScreen) { xf86CrtcPtr crtc = xf86_config->crtc[c]; - if (crtc->rotation != RR_Rotate_0 && crtc->enabled) + if (crtc->transform_in_use && crtc->enabled) { RegionRec crtc_damage; @@ -437,10 +271,12 @@ xf86RotateBlockHandler(int screenNum, pointer blockData, /* Re-wrap if rotation is still happening */ xf86_config->BlockHandler = pScreen->BlockHandler; pScreen->BlockHandler = xf86RotateBlockHandler; + } else { + xf86_config->BlockHandler = NULL; } } -static void +void xf86RotateDestroy (xf86CrtcPtr crtc) { ScrnInfoPtr pScrn = crtc->scrn; @@ -457,8 +293,7 @@ xf86RotateDestroy (xf86CrtcPtr crtc) } for (c = 0; c < xf86_config->num_crtc; c++) - if (xf86_config->crtc[c]->rotatedPixmap || - xf86_config->crtc[c]->rotatedData) + if (xf86_config->crtc[c]->transform_in_use) return; /* @@ -478,6 +313,24 @@ xf86RotateDestroy (xf86CrtcPtr crtc) } } +_X_EXPORT void +xf86RotateFreeShadow(ScrnInfoPtr pScrn) +{ + xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(pScrn); + int c; + + for (c = 0; c < config->num_crtc; c++) { + xf86CrtcPtr crtc = config->crtc[c]; + + if (crtc->rotatedPixmap || crtc->rotatedData) { + crtc->funcs->shadow_destroy(crtc, crtc->rotatedPixmap, + crtc->rotatedData); + crtc->rotatedPixmap = NULL; + crtc->rotatedData = NULL; + } + } +} + _X_EXPORT void xf86RotateCloseScreen (ScreenPtr screen) { @@ -489,112 +342,93 @@ xf86RotateCloseScreen (ScreenPtr screen) xf86RotateDestroy (xf86_config->crtc[c]); } +static Bool +xf86CrtcFitsScreen (xf86CrtcPtr crtc, struct pict_f_transform *crtc_to_fb) +{ + ScrnInfoPtr pScrn = crtc->scrn; + BoxRec b; + + /* When called before PreInit, the driver is + * presumably doing load detect + */ + if (pScrn->virtualX == 0 || pScrn->virtualY == 0) + return TRUE; + + b.x1 = 0; + b.y1 = 0; + b.x2 = crtc->mode.HDisplay; + b.y2 = crtc->mode.VDisplay; + if (crtc_to_fb) + pixman_f_transform_bounds (crtc_to_fb, &b); + else { + b.x1 += crtc->x; + b.y1 += crtc->y; + b.x2 += crtc->x; + b.y2 += crtc->y; + } + + return (0 <= b.x1 && b.x2 <= pScrn->virtualX && + 0 <= b.y1 && b.y2 <= pScrn->virtualY); +} + _X_EXPORT Bool -xf86CrtcRotate (xf86CrtcPtr crtc, DisplayModePtr mode, Rotation rotation) +xf86CrtcRotate (xf86CrtcPtr crtc) { ScrnInfoPtr pScrn = crtc->scrn; xf86CrtcConfigPtr xf86_config = XF86_CRTC_CONFIG_PTR(pScrn); /* if this is called during ScreenInit() we don't have pScrn->pScreen yet */ ScreenPtr pScreen = screenInfo.screens[pScrn->scrnIndex]; - PictTransform crtc_to_fb, fb_to_crtc; - - PictureTransformIdentity (&crtc_to_fb); - PictureTransformIdentity (&fb_to_crtc); - PictureTransformIsInverse ("identity", &crtc_to_fb, &fb_to_crtc); - if (rotation != RR_Rotate_0) + PictTransform crtc_to_fb; + struct pict_f_transform f_crtc_to_fb, f_fb_to_crtc; + xFixed *new_params = NULL; + int new_nparams = 0; + PictFilterPtr new_filter = NULL; + int new_width = 0; + int new_height = 0; + RRTransformPtr transform = NULL; + Bool damage = FALSE; + + if (crtc->transformPresent) + transform = &crtc->transform; + + if (!RRTransformCompute (crtc->x, crtc->y, + crtc->mode.HDisplay, crtc->mode.VDisplay, + crtc->rotation, + transform, + + &crtc_to_fb, + &f_crtc_to_fb, + &f_fb_to_crtc) && + xf86CrtcFitsScreen (crtc, &f_crtc_to_fb)) { - xFixed rot_cos, rot_sin, rot_dx, rot_dy; - xFixed scale_x, scale_y, scale_dx, scale_dy; - int mode_w = crtc->mode.HDisplay; - int mode_h = crtc->mode.VDisplay; - - /* rotation */ - switch (rotation & 0xf) { - default: - case RR_Rotate_0: - rot_cos = F ( 1); rot_sin = F ( 0); - rot_dx = F ( 0); rot_dy = F ( 0); - break; - case RR_Rotate_90: - rot_cos = F ( 0); rot_sin = F ( 1); - rot_dx = F ( mode_h); rot_dy = F (0); - break; - case RR_Rotate_180: - rot_cos = F (-1); rot_sin = F ( 0); - rot_dx = F (mode_w); rot_dy = F ( mode_h); - break; - case RR_Rotate_270: - rot_cos = F ( 0); rot_sin = F (-1); - rot_dx = F ( 0); rot_dy = F ( mode_w); - break; - } - - PictureTransformRotate (&crtc_to_fb, &fb_to_crtc, rot_cos, rot_sin); - PictureTransformIsInverse ("rotate", &crtc_to_fb, &fb_to_crtc); - - PictureTransformTranslate (&crtc_to_fb, &fb_to_crtc, rot_dx, rot_dy); - PictureTransformIsInverse ("rotate translate", &crtc_to_fb, &fb_to_crtc); - - /* reflection */ - scale_x = F (1); - scale_dx = 0; - scale_y = F (1); - scale_dy = 0; - if (rotation & RR_Reflect_X) - { - scale_x = F(-1); - if (rotation & (RR_Rotate_0|RR_Rotate_180)) - scale_dx = F(mode_w); - else - scale_dx = F(mode_h); - } - if (rotation & RR_Reflect_Y) - { - scale_y = F(-1); - if (rotation & (RR_Rotate_0|RR_Rotate_180)) - scale_dy = F(mode_h); - else - scale_dy = F(mode_w); - } - - PictureTransformScale (&crtc_to_fb, &fb_to_crtc, scale_x, scale_y); - PictureTransformIsInverse ("scale", &crtc_to_fb, &fb_to_crtc); - - PictureTransformTranslate (&crtc_to_fb, &fb_to_crtc, scale_dx, scale_dy); - PictureTransformIsInverse ("scale translate", &crtc_to_fb, &fb_to_crtc); - - } - - /* - * If the untranslated transformation is the identity, - * disable the shadow buffer - */ - if (PictureTransformIsIdentity (&crtc_to_fb)) - { - crtc->transform_in_use = FALSE; - PictureTransformInitTranslate (&crtc->crtc_to_framebuffer, - F (-crtc->x), F (-crtc->y)); - PictureTransformInitTranslate (&crtc->framebuffer_to_crtc, - F ( crtc->x), F ( crtc->y)); + /* + * If the untranslated transformation is the identity, + * disable the shadow buffer + */ xf86RotateDestroy (crtc); + crtc->transform_in_use = FALSE; + if (new_params) + xfree (new_params); + new_params = NULL; + new_nparams = 0; + new_filter = NULL; + new_width = 0; + new_height = 0; } else { - PictureTransformTranslate (&crtc_to_fb, &fb_to_crtc, F(crtc->x), F(crtc->y)); - PictureTransformIsInverse ("offset", &crtc_to_fb, &fb_to_crtc); - - /* + /* * these are the size of the shadow pixmap, which * matches the mode, not the pre-rotated copy in the * frame buffer */ - int width = mode->HDisplay; - int height = mode->VDisplay; + int width = crtc->mode.HDisplay; + int height = crtc->mode.VDisplay; void *shadowData = crtc->rotatedData; PixmapPtr shadow = crtc->rotatedPixmap; int old_width = shadow ? shadow->drawable.width : 0; int old_height = shadow ? shadow->drawable.height : 0; - + /* Allocate memory for rotation */ if (old_width != width || old_height != height) { @@ -613,9 +447,9 @@ xf86CrtcRotate (xf86CrtcPtr crtc, DisplayModePtr mode, Rotation rotation) else { /* mark shadowed area as damaged so it will be repainted */ - xf86CrtcDamageShadow (crtc); + damage = TRUE; } - + if (!xf86_config->rotation_damage) { /* Create damage structure */ @@ -626,9 +460,32 @@ xf86CrtcRotate (xf86CrtcPtr crtc, DisplayModePtr mode, Rotation rotation) goto bail2; /* Wrap block handler */ - xf86_config->BlockHandler = pScreen->BlockHandler; - pScreen->BlockHandler = xf86RotateBlockHandler; + if (!xf86_config->BlockHandler) { + xf86_config->BlockHandler = pScreen->BlockHandler; + pScreen->BlockHandler = xf86RotateBlockHandler; + } } +#ifdef RANDR_12_INTERFACE + if (transform) + { + if (transform->nparams) { + new_params = xalloc (transform->nparams * sizeof (xFixed)); + if (new_params) { + memcpy (new_params, transform->params, + transform->nparams * sizeof (xFixed)); + new_nparams = transform->nparams; + new_filter = transform->filter; + } + } else + new_filter = transform->filter; + if (new_filter) + { + new_width = new_filter->width; + new_height = new_filter->height; + } + } +#endif + if (0) { bail2: @@ -647,15 +504,26 @@ xf86CrtcRotate (xf86CrtcPtr crtc, DisplayModePtr mode, Rotation rotation) return FALSE; } crtc->transform_in_use = TRUE; - crtc->crtc_to_framebuffer = crtc_to_fb; - crtc->framebuffer_to_crtc = fb_to_crtc; - crtc->bounds.x1 = 0; - crtc->bounds.x2 = crtc->mode.HDisplay; - crtc->bounds.y1 = 0; - crtc->bounds.y2 = crtc->mode.VDisplay; - PictureTransformBounds (&crtc->bounds, &crtc_to_fb); } - + crtc->crtc_to_framebuffer = crtc_to_fb; + crtc->f_crtc_to_framebuffer = f_crtc_to_fb; + crtc->f_framebuffer_to_crtc = f_fb_to_crtc; + if (crtc->params) + xfree (crtc->params); + crtc->params = new_params; + crtc->nparams = new_nparams; + crtc->filter = new_filter; + crtc->filter_width = new_width; + crtc->filter_height = new_height; + crtc->bounds.x1 = 0; + crtc->bounds.x2 = crtc->mode.HDisplay; + crtc->bounds.y1 = 0; + crtc->bounds.y2 = crtc->mode.VDisplay; + pixman_f_transform_bounds (&f_crtc_to_fb, &crtc->bounds); + + if (damage) + xf86CrtcDamageShadow (crtc); + /* All done */ return TRUE; } diff --git a/xorg-server/hw/xfree86/modes/xf86gtf.c b/xorg-server/hw/xfree86/modes/xf86gtf.c index acbac83b6..fed56bd12 100644 --- a/xorg-server/hw/xfree86/modes/xf86gtf.c +++ b/xorg-server/hw/xfree86/modes/xf86gtf.c @@ -62,6 +62,10 @@ #ifdef HAVE_XORG_CONFIG_H # include +#else +#ifdef HAVE_CONFIG_H +#include +#endif #endif #include "xf86.h" diff --git a/xorg-server/hw/xfree86/os-support/Makefile.am b/xorg-server/hw/xfree86/os-support/Makefile.am index f9a82c68d..04997a6cb 100644 --- a/xorg-server/hw/xfree86/os-support/Makefile.am +++ b/xorg-server/hw/xfree86/os-support/Makefile.am @@ -1,10 +1,9 @@ SUBDIRS = bus @XORG_OS_SUBDIR@ misc $(DRI_SUBDIRS) -DIST_SUBDIRS = bsd bus misc linux lynxos solaris sysv sco usl hurd +DIST_SUBDIRS = bsd bus misc linux solaris sysv sco hurd -sdk_HEADERS = xf86_OSproc.h xf86_OSlib.h \ - assyntax.h xf86OSmouse.h +sdk_HEADERS = xf86_OSproc.h xf86_OSlib.h -EXTRA_DIST = int10Defines.h xf86OSpriv.h README.OS-lib +EXTRA_DIST = int10Defines.h xf86OSpriv.h # to get the grouping semantics right, you have to glom these three together # as one library, otherwise libtool will actively defeat your attempts to @@ -24,5 +23,4 @@ DISTCLEANFILES = xorgos.c # FIXME: These don't seem to be used anywhere EXTRA_DIST += \ - shared/bios_devmem.c \ - shared/inout.S + shared/bios_devmem.c diff --git a/xorg-server/hw/xfree86/os-support/Makefile.in b/xorg-server/hw/xfree86/os-support/Makefile.in index 6982a4366..18e2ffde3 100644 --- a/xorg-server/hw/xfree86/os-support/Makefile.in +++ b/xorg-server/hw/xfree86/os-support/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -45,7 +45,6 @@ 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 \ @@ -61,9 +60,6 @@ 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) \ @@ -96,8 +92,9 @@ ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ -APPDEFAULTDIR = @APPDEFAULTDIR@ APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +APPLE_APPLICATION_ID = @APPLE_APPLICATION_ID@ +APPLE_APPLICATION_NAME = @APPLE_APPLICATION_NAME@ APP_MAN_DIR = @APP_MAN_DIR@ APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ AR = @AR@ @@ -118,10 +115,6 @@ 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@ @@ -143,6 +136,7 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOLT_BASH = @DOLT_BASH@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ @@ -152,18 +146,15 @@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ DSYMUTIL = @DSYMUTIL@ DTRACE = @DTRACE@ -ECHO = @ECHO@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ -FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ -FREETYPE_LIBS = @FREETYPE_LIBS@ GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ GLX_DEFINES = @GLX_DEFINES@ GL_CFLAGS = @GL_CFLAGS@ @@ -182,7 +173,7 @@ KDRIVE_LIBS = @KDRIVE_LIBS@ KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ -LAUNCHD = @LAUNCHD@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ LEX = @LEX@ @@ -196,7 +187,10 @@ LIBTOOL = @LIBTOOL@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LINUXDOC = @LINUXDOC@ +LIPO = @LIPO@ LN_S = @LN_S@ +LTCOMPILE = @LTCOMPILE@ +LTCXXCOMPILE = @LTCXXCOMPILE@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ @@ -208,8 +202,7 @@ MESA_SOURCE = @MESA_SOURCE@ MISC_MAN_DIR = @MISC_MAN_DIR@ MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ MKDIR_P = @MKDIR_P@ -MKFONTDIR = @MKFONTDIR@ -MKFONTSCALE = @MKFONTSCALE@ +NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCCLD = @OBJCCLD@ @@ -218,8 +211,8 @@ OBJCFLAGS = @OBJCFLAGS@ OBJCLINK = @OBJCLINK@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ @@ -252,7 +245,6 @@ VENDOR_NAME = @VENDOR_NAME@ VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ VENDOR_RELEASE = @VENDOR_RELEASE@ VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ XDMCP_CFLAGS = @XDMCP_CFLAGS@ @@ -262,27 +254,12 @@ XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@ XDMX_CFLAGS = @XDMX_CFLAGS@ XDMX_LIBS = @XDMX_LIBS@ XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ XEPHYR_INCS = @XEPHYR_INCS@ XEPHYR_LIBS = @XEPHYR_LIBS@ 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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ @@ -293,10 +270,6 @@ XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ XNEST_LIBS = @XNEST_LIBS@ XNEST_SYS_LIBS = @XNEST_SYS_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_INCS = @XORG_INCS@ XORG_LIBS = @XORG_LIBS@ @@ -305,13 +278,8 @@ XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ XORG_OS = @XORG_OS@ XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_LIBS@ +XPBPROXY_CFLAGS = @XPBPROXY_CFLAGS@ +XPBPROXY_LIBS = @XPBPROXY_LIBS@ XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ XSDL_INCS = @XSDL_INCS@ @@ -344,8 +312,7 @@ 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@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -365,7 +332,6 @@ driverdir = @driverdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ extdir = @extdir@ -ft_config = @ft_config@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ @@ -375,12 +341,12 @@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ -launchagentsdir = @launchagentsdir@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ logdir = @logdir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ moduledir = @moduledir@ @@ -398,17 +364,12 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ SUBDIRS = bus @XORG_OS_SUBDIR@ misc $(DRI_SUBDIRS) -DIST_SUBDIRS = bsd bus misc linux lynxos solaris sysv sco usl hurd -sdk_HEADERS = xf86_OSproc.h xf86_OSlib.h \ - assyntax.h xf86OSmouse.h - +DIST_SUBDIRS = bsd bus misc linux solaris sysv sco hurd +sdk_HEADERS = xf86_OSproc.h xf86_OSlib.h # FIXME: These don't seem to be used anywhere -EXTRA_DIST = int10Defines.h xf86OSpriv.h README.OS-lib \ - shared/bios_devmem.c shared/inout.S +EXTRA_DIST = int10Defines.h xf86OSpriv.h shared/bios_devmem.c # to get the grouping semantics right, you have to glom these three together # as one library, otherwise libtool will actively defeat your attempts to @@ -429,8 +390,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ @@ -593,7 +554,7 @@ ID: $(HEADERS) $(SOURCES) $(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; nonemtpy = 1; } \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS diff --git a/xorg-server/hw/xfree86/os-support/README.OS-lib b/xorg-server/hw/xfree86/os-support/README.OS-lib deleted file mode 100644 index e410906f9..000000000 --- a/xorg-server/hw/xfree86/os-support/README.OS-lib +++ /dev/null @@ -1,505 +0,0 @@ - - README for XFree86 OS-support Layer - ----------------------------------- - -Contents --------- - 1) Overview - 2) Directory Layout - 3) Adding a new OS - 4) OS Support API - -1 - Overview ------------- - This directory contains the OS support layer functions for the XFree86 -servers. In addition, some miscellaneous server support functions (not -OS-dependent) are included here, to take advantage of the fact that this -library comes last in the linking order. - -Most of the functionality required to support a new OS is encapsulated in -this library. It is hoped that all OS-specific details can be encapsulated, -but that is not likely ever to be completely possible. Hence some minor -changes will wind up being made in other parts of the server. The major -design principles for this library are maintainability, readability, and -portability. Sometimes these goals conflict; some somewhat arbitrary choices -have been made in implementation. - -2 - Directory Layout --------------------- - os-support/ Contains headers and documentation; no code - misc/ Non-OS-specific miscellaneous functions that - fit best into the link architecture this way. - shared/ Contains files with functions used by more than one - OS. These are symlinked into the OS subdirectories - at build time via Imakefile rules. This is alway - preferable to reproducing functions in more than one - OS library. - bsd/ OS support for the 386BSD/NetBSD/FreeBSD operating - systems. - bsdi/ OS support for the BSD/386 operating system. - linux/ OS support for the Linux operating system. - sco/ OS support for the SCO SVR3.x operating system. - solx86/ OS support for the Solaris x86 operating system. - sysv/ OS support for all SVR4.0 and SVR4.2, and for - ISC and AT&T SVR3.2 operating systems. - -3 - Adding A New OS -------------------- - Adding a support for a new operating system entails implementing all of -the functions described in the API below. Many of these functions are no-ops -for many operating systems, and appropriate files with dummy declarations are -available in the 'shared' subdirectory. - -If your OS is sufficiently similar to an existing OS, you can make use of -the existing subdirectory. One of the reasons for implementing this OS -library was the unmaintainability of the spagetti-#ifdef code that existed -before. You should try to avoid cluttering the code with #ifdef's. If -you find that the subdirectory is getting cluttered, split off into a -seperate subdirectory (e.g. as was done for SCO, rather than cluttering -the 'sysv' subdirectory). You can split functions out of an existing -subdirectory into the 'shared' subdirectory, if that is appropriate. Just -remember to update the Imakefile for the old subdirectory. - -You will still likely have to make some small changes to other parts of -the server. You should not put OS-specific #define's or #include's anywhere -else in the server. These should all go in the "xf86_OSlib.h" header file -in this directory. - -4 - OS Support API ------------------ -void xf86OpenConsole(void) -{ - /* - * Open console device, activate VTs, etc, etc. Fill in requisite - * pieces of xf86Info. Most of this code comes from xf86Init.c - */ -} - -void xf86CloseConsole(void) -{ - /* - * Close console at server exit. - */ -} - -Bool xf86VTSwitchPending(void) -{ - /* - * Returns TRUE iff there is a VT switch operation pending for - * the server. In the USL VT model, this is indicated via a - * signal handler. Should return FALSE always for OSs without - * VTs. - */ -} - -Bool xf86VTSwitchAway(void) -{ - /* - * Handles the OS-specific action for switching away from the active - * VT. Returns FALSE if the switch away fails. Should return - * FALSE always for OSs without VTs (then again, this function - * should never be called in that case). - */ -} - -Bool xf86VTSwitchTo(void) -{ - /* - * Handles the OS-specific action for switching to the active VT. - * Returns FALSE if the switch to fails. Should return TRUE - * always for OSs without VTs (then again, this function should - * never be called in that case). - */ -} - -Bool xf86LinearVidMem(void) -{ - /* - * Returns TRUE if the OS supports mapping linear frame buffers - * (ie memory at addresses above physical memory). - */ -} - -pointer xf86MapVidMem(int ScreenNum, pointer Base, unsigned long Size) -{ - /* - * Handle mapping the video memory. Returns (pointer *)0 for - * failure; causes server exit. It is allowable to call FatalError() - * from inside this function and exit directly. - */ -} - -void xf86UnMapVidMem(int ScreenNum, pointer Base, unsigned long Size) -{ - /* - * Handle unmapping the video memory. This should undo what - * xf86MapVidMem() does. Base is a pointer obtained from - * a previous call to xf86MapVidMem(). - */ -} - -void xf86MapDisplay(int ScreenNum, int Region) -{ - /* - * For OSs that require the screen be mapped when entering a VT. - * A dummy function will be defined for OSs that don't require - * this (or don't have VTs at all). - */ -} - -void xf86UnMapDisplay(int ScreenNum, int Region) -{ - /* - * For Os that require that the screen be unmapped when leaving a - * VT. A dummy function will be defined for OSs that don't require - * this (or don't have VTs at all). - */ -} - -int xf86ReadBIOS(unsigned long Base, unsigned long Offset, - unsigned char *Buf, int Len) -{ - /* - * Read Len bytes from the BIOS at address Base, offset Offset, - * into buffer Buf. Returns -1 for failure or if the OS does - * not support reading the BIOS. This causes a driver probe - * to fail, but does not cause the server to abort. - */ -} - - -void xf86EnableIOPorts(int ScreenNum) -{ - /* - * Enables I/O permissions. The OS layer should - * enable all I/O port access. - */ -} - -void xf86DisableIOPorts(int ScreenNum) -{ - /* - * Disables I/O permissions. - */ -} - -Bool xf86DisableInterrupts(void) -{ - /* - * Disable interrupts if allowed for this OS. Returns FALSE if - * this is not allowed or if the attempt fails for some reason. - */ -} - -void xf86EnableInterrupts(void) -{ - /* - * Reenable interrupts - */ -} - -int xf86ProcessArgument(int argc, char *argv[], int i) -{ - /* - * Process OS-specific command-line arguments. See - * ddxProcessArgument() for more info. - */ -} - -void xf86UseMsg(void) -{ - /* - * Print list of OS-specific command-line arguments. See - * ddxUseMsg() for more info. - */ -} - -void xf86SoundKbdBell(int loudness, int pitch, int duration) -{ - /* - * Sound the keyboard bell. pitch is in Hz, duration in ms, - * loudness is in the range 0-100 (0 -> off). For systems - * where the loudness can't be controlled, scale the duration - * by loudness/50. - */ -} - -void xf86SetKbdLeds(int leds) -{ - /* - * Set the keyboard LEDs to the state indicated in leds - */ -} - -int xf86GetKbdLeds(void) -{ - /* - * Return the state of the keyboard LEDs. If the OS doesn't - * support this, return 0. - */ -} - -void xf86SetKbdRepeat(char rad) -{ - /* - * Set the keyboard repeat rate and delay according the - * the rad value. The lower 5 bits determine the repeat - * rate (lower value -> higher rate). The next 2 bits - * determine the delay. - * This should possibly be changed to take separate rate and - * delay parameters. - */ -} - -void xf86KbdInit(void) -{ - /* - * Save initial keyboard state. This is called at the start of - * each server generation. - */ -} - -int xf86KbdOn(void) -{ - /* - * Set the keyboard up for use with X. This is called whenever - * the server becomes active (ie at the start of each generation and - * whenever its VT becomes active). Return the file descriptor - * for keyboard input. Return -1 if there is no file descriptor - * to add as an input device. If there are errors encountered, - * call FatalError(). A return value of -1 is not considered an - * error condition. - */ -} - -int xf86KbdOff(void) -{ - /* - * Return the keyboard to the state saved by xf86KbdInit(). This is - * called at the end of a server generation, and also when the - * server's VT ceases being active. Returns the keyboard file - * descriptor. Returns -1 if there is no file descriptor to be - * removed as an input device. Errors should be handled the same - * way as in xf86KbdOn(). - */ -} - -void xf86KbdEvents(void) -{ - /* - * Read characters from the keyboard device, and post the events - * by calling xf86PostKbdEvent(). Read as much as is available - * without waiting. - */ -} - -void xf86SetMouseSpeed(int old, int new, unsigned cflag) -{ - /* - * Set the speed of the mouse port. old is the previous speed, - * new is the new speed, and cflag is the value of the termio[s] - * c_cflag field. For mice that have programmable speed operation, - * this should send the appropriate commands to the mouse. - */ -} - -void xf86MouseInit(void) -{ - /* - * This is called at the start of each server generation. In most - * cases this is a noop. If the mouse must not be opened/closed - * when VT switching, the open should be done here. - */ -} - -int xf86MousedOn(void) -{ - /* - * Set the mouse up for use with X. This is called whenever - * the server becomes active (ie at the start of each generation and - * whenever its VT becomes active). This function normally opens - * the mouse device, and may call xf86SetupMouse() to initialise - * the mouse parameters. Return the file descriptor for mouse input. - * Return -1 if there is no file descriptor to add as an input - * device. If there are errors encountered, call FatalError(). - * A return value of -1 is not considered an error condition. - */ -} - -int xf86MouseOff(Bool doclose) -{ - /* - * Release the mouse from use with X. This is called at the end - * of a server generation (with doclose==TRUE), and also when the - * server's VT ceases being active (with doclose==FALSE). If the - * mouse should not be opened/closed when VT switching, the close - * should be done here when doclose==TRUE. For other systems, the - * mouse device should be closed regardless of the doclose value. - * Returns the mouse file descriptor. Returns -1 if there is no - * file descriptor to be removed as an input device. Errors - * should be handled the same way as in xf86MouseOn(). - */ -} - -void xf86MouseEvents(void) -{ - /* - * Read characters from the mouse device, and post the events - * by calling xf86PostMseEvent(). Read as much as is available - * without waiting. If the OS doesn't handle the mouse protocol - * translation, xf86MouseProtocol() may be called to do the - * translation and event posting. If the OS does handle the protocol - * translation, MOUSE_PROTOCOL_IN_KERNEL should be #define'd in - * xf86_OSlib.h. - */ -} - -int xf86OsMouseProc(DevicePtr pPointer, int what) -{ - /* - * Implements the device-proc for the pointer device when an - * OS-based mouse driver is being used (as opposed to the - * server's internal mouse driver). Implemented as any other - * device-proc in the server. - * - * This function only needs to be implemented if USE_OSMOUSE is - * defined for the OS. - */ -} - -int xf86OsMouseEvents(void) -{ - /* - * When supporting an OS-based mouse driver (as opposed to the - * server's internal mouse driver), read some events from the device - * and post them to the DIX layer through xf86PostMseEvent(). - * - * This function only needs to be implemented if USE_OSMOUSE is - * defined for the OS. - */ -} - -void xf86OsMouseOption(int token, pointer lex_ptr) -{ - /* - * Used in parsing an OsMouse keyword from the Xconfig file. - * Passed the token type and a pointer to the token value. - * The function should do whatever is appropriate for the OS's - * mouse driver. - * - * This function only needs to be implemented if USE_OSMOUSE is - * defined for the OS. - */ -} - -/* - * The following functions are simply wrappers around the OS specific - * libc functions - */ - -void * -xf86memmove(void * dest, const void * src, INT32 n) -{ - return(memmove(dest,src,n)); -} - -void * -xf86memset(void * s, int c, INT32 n) -{ - return(memset(s,c,n)); -} - -void * -xf86memcpy(void * dest, const void * src, INT32 n) -{ - return(memcpy(dest,src,n)); -} - -int -xf86memcmp(const void * s1, const void * s2, INT32 n) -{ - return(memcmp(s1,s2,n)); -} - -char * -xf86strcat(char * dest, const char * src) -{ - return(strcat(dest,src)); -} - -char * -xf86strcpy(char * dest, const char * src) -{ - return(strcpy(dest,src)); -} - -int -xf86strcmp(const char * s1, const char * s2) -{ - return(strcmp(s1,s2)); -} - -int -xf86strncmp(const char * s1, const char * s2, INT32 n) -{ - return(strncmp(s1,s2,n)); -} - -size_t -xf86strlen(const char * s) -{ - return(strlen(s)); -} - -void -xf86getsecs(INT32 * secs, INT32 * usecs) -{ - struct timeval tv; - - gettimeofday(&tv, NULL); - *secs = tv.tv_sec; - *usecs= tv.tv_usec; - - return; -} - -double -xf86exp(double x) -{ - return(exp(x)); -} - -double -xf86log(double x) -{ - return(log(x)); -} - -double -xf86pow(double x, double y) -{ - return(pow(x,y)); -} - -double -xf86sqrt(double x) -{ - return(sqrt(x)); -} - -double -xf86cos(double x) -{ - return(cos(x)); -} - - - - -$XFree86: xc/programs/Xserver/hw/xfree86/os-support/README.OS-lib,v 3.10 2001/12/17 20:00:45 dawes Exp $ - - - - - -$XConsortium: README.OS-lib /main/5 1996/02/21 17:50:28 kaleb $ diff --git a/xorg-server/hw/xfree86/os-support/assyntax.h b/xorg-server/hw/xfree86/os-support/assyntax.h deleted file mode 100644 index d3e96e5fd..000000000 --- a/xorg-server/hw/xfree86/os-support/assyntax.h +++ /dev/null @@ -1,749 +0,0 @@ -#ifndef __ASSYNTAX_H__ -#define __ASSYNTAX_H__ - -/* - * 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 (c) 1993-1999 by The XFree86 Project, 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 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). - */ - - /* - * assyntax.h - * - * Select the syntax appropriate to the 386 assembler being used - * To add support for more assemblers add more columns to the CHOICE - * macro. Note that register names must also have uppercase names - * to avoid macro recursion. e.g., #define ah %ah recurses! - * - * NB 1. Some of the macros for certain assemblers imply that the code is to - * run in protected mode!! Caveat emptor. - * - * NB 2. 486 specific instructions are not included. This is to discourage - * their accidental use in code that is intended to run on 386 and 486 - * systems. - * - * Supported assemblers: - * - * (a) AT&T SysVr4 as(1): default - * (b) GNU Assembler gas: define USE_GAS or GNU_ASSEMBLER - * (c) Amsterdam Compiler kit: define ACK_ASSEMBLER - * - * The following naming conventions have been used to identify the various - * data types: - * _SR = segment register version - * Integer: - * _Q = quadword = 64 bits - * _L = long = 32 bits - * _W = short = 16 bits - * _B = byte = 8 bits - * Floating-point: - * _X = m80real = 80 bits - * _D = double = 64 bits - * _S = single = 32 bits - * - * Author: Gregory J. Sharp, Sept 1992 - * Vrije Universiteit, Amsterdam, The Netherlands - */ - -#if defined(USE_GAS) && !defined(GNU_ASSEMBLER) -#define GNU_ASSEMBLER -#endif - -#if (defined(__STDC__) && !defined(UNIXCPP)) || (defined (sun) && defined (__i386__) && defined (SVR4) && defined (__STDC__) && !defined (__GNUC__)) -#define CONCAT(x, y) x ## y -#else -#define CONCAT(x, y) x/**/y -#endif - -#ifdef ACK_ASSEMBLER - -/* Assume we write code for 32-bit protected mode! */ - -/* Redefine register names for GAS & AT&T assemblers */ -#define AL al -#define AH ah -#define AX ax -#define EAX ax -#define BL bl -#define BH bh -#define BX bx -#define EBX bx -#define CL cl -#define CH ch -#define CX cx -#define ECX cx -#define DL dl -#define DH dh -#define DX dx -#define EDX dx -#define BP bp -#define EBP bp -#define SI si -#define ESI si -#define DI di -#define EDI di -#define SP sp -#define ESP sp -#define CS cs -#define SS ss -#define DS ds -#define ES es -#define FS fs -#define GS gs -/* Control Registers */ -#define CR0 cr0 -#define CR1 cr1 -#define CR2 cr2 -#define CR3 cr3 -/* Debug Registers */ -#define DR0 dr0 -#define DR1 dr1 -#define DR2 dr2 -#define DR3 dr3 -#define DR4 dr4 -#define DR5 dr5 -#define DR6 dr6 -#define DR7 dr7 -/* Floating-point Stack */ -#define ST st - -#define AS_BEGIN .sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text - - -#define _WTOG o16 /* word toggle for _W instructions */ -#define _LTOG /* long toggle for _L instructions */ -#define ADDR_TOGGLE a16 -#define OPSZ_TOGGLE o16 -#define USE16 .use16 -#define USE32 .use32 - -#define CHOICE(a,b,c) c - -#else /* AT&T or GAS */ - -/* Redefine register names for GAS & AT&T assemblers */ -#define AL %al -#define AH %ah -#define AX %ax -#define EAX %eax -#define BL %bl -#define BH %bh -#define BX %bx -#define EBX %ebx -#define CL %cl -#define CH %ch -#define CX %cx -#define ECX %ecx -#define DL %dl -#define DH %dh -#define DX %dx -#define EDX %edx -#define BP %bp -#define EBP %ebp -#define SI %si -#define ESI %esi -#define DI %di -#define EDI %edi -#define SP %sp -#define ESP %esp -#define CS %cs -#define SS %ss -#define DS %ds -#define ES %es -#define FS %fs -#define GS %gs -/* Control Registers */ -#define CR0 %cr0 -#define CR1 %cr1 -#define CR2 %cr2 -#define CR3 %cr3 -/* Debug Registers */ -#define DR0 %db0 -#define DR1 %db1 -#define DR2 %db2 -#define DR3 %db3 -#define DR4 %db4 -#define DR5 %db5 -#define DR6 %db6 -#define DR7 %db7 -/* Floating-point Stack */ -#define ST %st - -#define AS_BEGIN -#define USE16 -#define USE32 - -#ifdef GNU_ASSEMBLER - -#define ADDR_TOGGLE aword -#define OPSZ_TOGGLE word - -#define CHOICE(a,b,c) b - -#else -/* - * AT&T ASSEMBLER SYNTAX - * ********************* - */ -#define CHOICE(a,b,c) a - -#define ADDR_TOGGLE addr16 -#define OPSZ_TOGGLE data16 - -#endif /* GNU_ASSEMBLER */ -#endif /* ACK_ASSEMBLER */ - - -#if defined(__QNX__) || defined(Lynx) || (defined(SYSV) || defined(SVR4)) && !defined(ACK_ASSEMBLER) || defined(__ELF__) || defined(__GNU__) -#define GLNAME(a) a -#else -#define GLNAME(a) CONCAT(_,a) -#endif - - - /****************************************/ - /* */ - /* Select the various choices */ - /* */ - /****************************************/ - - -/* Redefine assembler directives */ -/*********************************/ -#define GLOBL CHOICE(.globl, .globl, .extern) -#define ALIGNTEXT4 CHOICE(.align 4, .align ARG2(2,0x90), .align 4) -#define ALIGNTEXT2 CHOICE(.align 2, .align ARG2(1,0x90), .align 2) -/* ALIGNTEXT4ifNOP is the same as ALIGNTEXT4, but only if the space is - * guaranteed to be filled with NOPs. Otherwise it does nothing. - */ -#define ALIGNTEXT4ifNOP CHOICE(.align 4, .align ARG2(2,0x90), /*can't do it*/) -#define ALIGNDATA4 CHOICE(.align 4, .align ARG2(2,0x0), .align 4) -#define ALIGNDATA2 CHOICE(.align 2, .align ARG2(1,0x0), .align 2) -#define FILE(s) CHOICE(.file s, .file s, .file s) -#define STRING(s) CHOICE(.string s, .asciz s, .asciz s) -#define D_LONG CHOICE(.long, .long, .data4) -#define D_WORD CHOICE(.value, .short, .data2) -#define D_BYTE CHOICE(.byte, .byte, .data1) -#define SPACE CHOICE(.comm, .space, .space) -#define COMM CHOICE(.comm, .comm, .comm) -#define SEG_DATA CHOICE(.data, .data, .sect .data) -#define SEG_TEXT CHOICE(.text, .text, .sect .text) -#define SEG_BSS CHOICE(.bss, .bss, .sect .bss) - -#ifdef GNU_ASSEMBLER -#define D_SPACE(n) . = . + n -#else -#define D_SPACE(n) .space n -#endif - -/* Addressing Modes */ -/* Immediate Mode */ -#define ADDR(a) CHOICE(CONCAT($,a), CONCAT($,a), a) -#define CONST(a) CHOICE(CONCAT($,a), CONCAT($,a), a) - -/* Indirect Mode */ -#define CONTENT(a) CHOICE(a, a, (a)) /* take contents of variable */ -#define REGIND(a) CHOICE((a), (a), (a)) /* Register a indirect */ -/* Register b indirect plus displacement a */ -#define REGOFF(a, b) CHOICE(a(b), a(b), a(b)) -/* Reg indirect Base + Index + Displacement - this is mainly for 16-bit mode - * which has no scaling - */ -#define REGBID(b,i,d) CHOICE(d(b,i), d(b,i), d(b)(i)) -/* Reg indirect Base + (Index * Scale) + Displacement */ -#define REGBISD(b,i,s,d) CHOICE(d(b,i,s), d(b,i,s), d(b)(i*s)) -/* Displaced Scaled Index: */ -#define REGDIS(d,i,s) CHOICE(d(,i,s), d(,i,s), d(i * s)) -/* Indexed Base: */ -#define REGBI(b,i) CHOICE((b,i), (b,i), (b)(i)) -/* Displaced Base: */ -#define REGDB(d,b) CHOICE(d(b), d(b), d(b)) -/* Variable indirect: */ -#define VARINDIRECT(var) CHOICE(*var, *var, (var)) -/* Use register contents as jump/call target: */ -#define CODEPTR(reg) CHOICE(*reg, *reg, reg) - -/* For expressions requiring bracketing - * eg. (CRT0_PM | CRT_EM) - */ - -#define EXPR(a) CHOICE([a], (a), [a]) -#define ENOT(a) CHOICE(0!a, ~a, ~a) -#define EMUL(a,b) CHOICE(a\*b, a*b, a*b) -#define EDIV(a,b) CHOICE(a\/b, a/b, a/b) - -/* - * We have to beat the problem of commas within arguments to choice. - * eg. choice (add a,b, add b,a) will get argument mismatch. Luckily ANSI - * and other known cpp definitions evaluate arguments before substitution - * so the following works. - */ -#define ARG2(a, b) a,b -#define ARG3(a,b,c) a,b,c - -/* Redefine assembler commands */ -#define AAA CHOICE(aaa, aaa, aaa) -#define AAD CHOICE(aad, aad, aad) -#define AAM CHOICE(aam, aam, aam) -#define AAS CHOICE(aas, aas, aas) -#define ADC_L(a, b) CHOICE(adcl ARG2(a,b), adcl ARG2(a,b), _LTOG adc ARG2(b,a)) -#define ADC_W(a, b) CHOICE(adcw ARG2(a,b), adcw ARG2(a,b), _WTOG adc ARG2(b,a)) -#define ADC_B(a, b) CHOICE(adcb ARG2(a,b), adcb ARG2(a,b), adcb ARG2(b,a)) -#define ADD_L(a, b) CHOICE(addl ARG2(a,b), addl ARG2(a,b), _LTOG add ARG2(b,a)) -#define ADD_W(a, b) CHOICE(addw ARG2(a,b), addw ARG2(a,b), _WTOG add ARG2(b,a)) -#define ADD_B(a, b) CHOICE(addb ARG2(a,b), addb ARG2(a,b), addb ARG2(b,a)) -#define AND_L(a, b) CHOICE(andl ARG2(a,b), andl ARG2(a,b), _LTOG and ARG2(b,a)) -#define AND_W(a, b) CHOICE(andw ARG2(a,b), andw ARG2(a,b), _WTOG and ARG2(b,a)) -#define AND_B(a, b) CHOICE(andb ARG2(a,b), andb ARG2(a,b), andb ARG2(b,a)) -#define ARPL(a,b) CHOICE(arpl ARG2(a,b), arpl ARG2(a,b), arpl ARG2(b,a)) -#define BOUND_L(a, b) CHOICE(boundl ARG2(a,b), boundl ARG2(b,a), _LTOG bound ARG2(b,a)) -#define BOUND_W(a, b) CHOICE(boundw ARG2(a,b), boundw ARG2(b,a), _WTOG bound ARG2(b,a)) -#define BSF_L(a, b) CHOICE(bsfl ARG2(a,b), bsfl ARG2(a,b), _LTOG bsf ARG2(b,a)) -#define BSF_W(a, b) CHOICE(bsfw ARG2(a,b), bsfw ARG2(a,b), _WTOG bsf ARG2(b,a)) -#define BSR_L(a, b) CHOICE(bsrl ARG2(a,b), bsrl ARG2(a,b), _LTOG bsr ARG2(b,a)) -#define BSR_W(a, b) CHOICE(bsrw ARG2(a,b), bsrw ARG2(a,b), _WTOG bsr ARG2(b,a)) -#define BT_L(a, b) CHOICE(btl ARG2(a,b), btl ARG2(a,b), _LTOG bt ARG2(b,a)) -#define BT_W(a, b) CHOICE(btw ARG2(a,b), btw ARG2(a,b), _WTOG bt ARG2(b,a)) -#define BTC_L(a, b) CHOICE(btcl ARG2(a,b), btcl ARG2(a,b), _LTOG btc ARG2(b,a)) -#define BTC_W(a, b) CHOICE(btcw ARG2(a,b), btcw ARG2(a,b), _WTOG btc ARG2(b,a)) -#define BTR_L(a, b) CHOICE(btrl ARG2(a,b), btrl ARG2(a,b), _LTOG btr ARG2(b,a)) -#define BTR_W(a, b) CHOICE(btrw ARG2(a,b), btrw ARG2(a,b), _WTOG btr ARG2(b,a)) -#define BTS_L(a, b) CHOICE(btsl ARG2(a,b), btsl ARG2(a,b), _LTOG bts ARG2(b,a)) -#define BTS_W(a, b) CHOICE(btsw ARG2(a,b), btsw ARG2(a,b), _WTOG bts ARG2(b,a)) -#define CALL(a) CHOICE(call a, call a, call a) -#define CALLF(s,a) CHOICE(lcall ARG2(s,a), lcall ARG2(s,a), callf s:a) -#define CBW CHOICE(cbtw, cbw, cbw) -#define CWDE CHOICE(cwtd, cwde, cwde) -#define CLC CHOICE(clc, clc, clc) -#define CLD CHOICE(cld, cld, cld) -#define CLI CHOICE(cli, cli, cli) -#define CLTS CHOICE(clts, clts, clts) -#define CMC CHOICE(cmc, cmc, cmc) -#define CMP_L(a, b) CHOICE(cmpl ARG2(a,b), cmpl ARG2(a,b), _LTOG cmp ARG2(b,a)) -#define CMP_W(a, b) CHOICE(cmpw ARG2(a,b), cmpw ARG2(a,b), _WTOG cmp ARG2(b,a)) -#define CMP_B(a, b) CHOICE(cmpb ARG2(a,b), cmpb ARG2(a,b), cmpb ARG2(b,a)) -#define CMPS_L CHOICE(cmpsl, cmpsl, _LTOG cmps) -#define CMPS_W CHOICE(cmpsw, cmpsw, _WTOG cmps) -#define CMPS_B CHOICE(cmpsb, cmpsb, cmpsb) -#define CWD CHOICE(cwtl, cwd, cwd) -#define CDQ CHOICE(cltd, cdq, cdq) -#define DAA CHOICE(daa, daa, daa) -#define DAS CHOICE(das, das, das) -#define DEC_L(a) CHOICE(decl a, decl a, _LTOG dec a) -#define DEC_W(a) CHOICE(decw a, decw a, _WTOG dec a) -#define DEC_B(a) CHOICE(decb a, decb a, decb a) -#define DIV_L(a) CHOICE(divl a, divl a, div a) -#define DIV_W(a) CHOICE(divw a, divw a, div a) -#define DIV_B(a) CHOICE(divb a, divb a, divb a) -#define ENTER(a,b) CHOICE(enter ARG2(a,b), enter ARG2(a,b), enter ARG2(b,a)) -#define HLT CHOICE(hlt, hlt, hlt) -#define IDIV_L(a) CHOICE(idivl a, idivl a, _LTOG idiv a) -#define IDIV_W(a) CHOICE(idivw a, idivw a, _WTOG idiv a) -#define IDIV_B(a) CHOICE(idivb a, idivb a, idivb a) -/* More forms than this for imul!! */ -#define IMUL_L(a, b) CHOICE(imull ARG2(a,b), imull ARG2(a,b), _LTOG imul ARG2(b,a)) -#define IMUL_W(a, b) CHOICE(imulw ARG2(a,b), imulw ARG2(a,b), _WTOG imul ARG2(b,a)) -#define IMUL_B(a) CHOICE(imulb a, imulb a, imulb a) -#define IN_L CHOICE(inl (DX), inl ARG2(DX,EAX), _LTOG in DX) -#define IN_W CHOICE(inw (DX), inw ARG2(DX,AX), _WTOG in DX) -#define IN_B CHOICE(inb (DX), inb ARG2(DX,AL), inb DX) -/* Please AS code writer: use the following ONLY, if you refer to ports<256 - * directly, but not in IN1_W(DX), for instance, even if IN1_ looks nicer - */ -#if defined (sun) -#define IN1_L(a) CHOICE(inl (a), inl ARG2(a,EAX), _LTOG in a) -#define IN1_W(a) CHOICE(inw (a), inw ARG2(a,AX), _WTOG in a) -#define IN1_B(a) CHOICE(inb (a), inb ARG2(a,AL), inb a) -#else -#define IN1_L(a) CHOICE(inl a, inl ARG2(a,EAX), _LTOG in a) -#define IN1_W(a) CHOICE(inw a, inw ARG2(a,AX), _WTOG in a) -#define IN1_B(a) CHOICE(inb a, inb ARG2(a,AL), inb a) -#endif -#define INC_L(a) CHOICE(incl a, incl a, _LTOG inc a) -#define INC_W(a) CHOICE(incw a, incw a, _WTOG inc a) -#define INC_B(a) CHOICE(incb a, incb a, incb a) -#define INS_L CHOICE(insl, insl, _LTOG ins) -#define INS_W CHOICE(insw, insw, _WTOG ins) -#define INS_B CHOICE(insb, insb, insb) -#define INT(a) CHOICE(int a, int a, int a) -#define INT3 CHOICE(int CONST(3), int3, int CONST(3)) -#define INTO CHOICE(into, into, into) -#define IRET CHOICE(iret, iret, iret) -#define IRETD CHOICE(iret, iret, iretd) -#define JA(a) CHOICE(ja a, ja a, ja a) -#define JAE(a) CHOICE(jae a, jae a, jae a) -#define JB(a) CHOICE(jb a, jb a, jb a) -#define JBE(a) CHOICE(jbe a, jbe a, jbe a) -#define JC(a) CHOICE(jc a, jc a, jc a) -#define JE(a) CHOICE(je a, je a, je a) -#define JG(a) CHOICE(jg a, jg a, jg a) -#define JGE(a) CHOICE(jge a, jge a, jge a) -#define JL(a) CHOICE(jl a, jl a, jl a) -#define JLE(a) CHOICE(jle a, jle a, jle a) -#define JNA(a) CHOICE(jna a, jna a, jna a) -#define JNAE(a) CHOICE(jnae a, jnae a, jnae a) -#define JNB(a) CHOICE(jnb a, jnb a, jnb a) -#define JNBE(a) CHOICE(jnbe a, jnbe a, jnbe a) -#define JNC(a) CHOICE(jnc a, jnc a, jnc a) -#define JNE(a) CHOICE(jne a, jne a, jne a) -#define JNG(a) CHOICE(jng a, jng a, jng a) -#define JNGE(a) CHOICE(jnge a, jnge a, jnge a) -#define JNL(a) CHOICE(jnl a, jnl a, jnl a) -#define JNLE(a) CHOICE(jnle a, jnle a, jnle a) -#define JNO(a) CHOICE(jno a, jno a, jno a) -#define JNP(a) CHOICE(jnp a, jnp a, jnp a) -#define JNS(a) CHOICE(jns a, jns a, jns a) -#define JNZ(a) CHOICE(jnz a, jnz a, jnz a) -#define JO(a) CHOICE(jo a, jo a, jo a) -#define JP(a) CHOICE(jp a, jp a, jp a) -#define JPE(a) CHOICE(jpe a, jpe a, jpe a) -#define JPO(a) CHOICE(jpo a, jpo a, jpo a) -#define JS(a) CHOICE(js a, js a, js a) -#define JZ(a) CHOICE(jz a, jz a, jz a) -#define JMP(a) CHOICE(jmp a, jmp a, jmp a) -#define JMPF(s,a) CHOICE(ljmp ARG2(s,a), ljmp ARG2(s,a), jmpf s:a) -#define LAHF CHOICE(lahf, lahf, lahf) -#if !defined(_REAL_MODE) && !defined(_V86_MODE) -#define LAR(a, b) CHOICE(lar ARG2(a, b), lar ARG2(a, b), lar ARG2(b, a)) -#endif -#define LEA_L(a, b) CHOICE(leal ARG2(a,b), leal ARG2(a,b), _LTOG lea ARG2(b,a)) -#define LEA_W(a, b) CHOICE(leaw ARG2(a,b), leaw ARG2(a,b), _WTOG lea ARG2(b,a)) -#define LEAVE CHOICE(leave, leave, leave) -#define LGDT(a) CHOICE(lgdt a, lgdt a, lgdt a) -#define LIDT(a) CHOICE(lidt a, lidt a, lidt a) -#define LDS(a, b) CHOICE(ldsl ARG2(a,b), lds ARG2(a,b), lds ARG2(b,a)) -#define LES(a, b) CHOICE(lesl ARG2(a,b), les ARG2(a,b), les ARG2(b,a)) -#define LFS(a, b) CHOICE(lfsl ARG2(a,b), lfs ARG2(a,b), lfs ARG2(b,a)) -#define LGS(a, b) CHOICE(lgsl ARG2(a,b), lgs ARG2(a,b), lgs ARG2(b,a)) -#define LSS(a, b) CHOICE(lssl ARG2(a,b), lss ARG2(a,b), lss ARG2(b,a)) -#define LLDT(a) CHOICE(lldt a, lldt a, lldt a) -#define LMSW(a) CHOICE(lmsw a, lmsw a, lmsw a) -#define LOCK CHOICE(lock, lock, lock) -#define LODS_L CHOICE(lodsl, lodsl, _LTOG lods) -#define LODS_W CHOICE(lodsw, lodsw, _WTOG lods) -#define LODS_B CHOICE(lodsb, lodsb, lodsb) -#define LOOP(a) CHOICE(loop a, loop a, loop a) -#define LOOPE(a) CHOICE(loope a, loope a, loope a) -#define LOOPZ(a) CHOICE(loopz a, loopz a, loopz a) -#define LOOPNE(a) CHOICE(loopne a, loopne a, loopne a) -#define LOOPNZ(a) CHOICE(loopnz a, loopnz a, loopnz a) -#if !defined(_REAL_MODE) && !defined(_V86_MODE) -#define LSL(a, b) CHOICE(lsl ARG2(a,b), lsl ARG2(a,b), lsl ARG2(b,a)) -#endif -#define LTR(a) CHOICE(ltr a, ltr a, ltr a) -#define MOV_SR(a, b) CHOICE(movw ARG2(a,b), mov ARG2(a,b), mov ARG2(b,a)) -#define MOV_L(a, b) CHOICE(movl ARG2(a,b), movl ARG2(a,b), _LTOG mov ARG2(b,a)) -#define MOV_W(a, b) CHOICE(movw ARG2(a,b), movw ARG2(a,b), _WTOG mov ARG2(b,a)) -#define MOV_B(a, b) CHOICE(movb ARG2(a,b), movb ARG2(a,b), movb ARG2(b,a)) -#define MOVS_L CHOICE(movsl, movsl, _LTOG movs) -#define MOVS_W CHOICE(movsw, movsw, _WTOG movs) -#define MOVS_B CHOICE(movsb, movsb, movsb) -#define MOVSX_BL(a, b) CHOICE(movsbl ARG2(a,b), movsbl ARG2(a,b), movsx ARG2(b,a)) -#define MOVSX_BW(a, b) CHOICE(movsbw ARG2(a,b), movsbw ARG2(a,b), movsx ARG2(b,a)) -#define MOVSX_WL(a, b) CHOICE(movswl ARG2(a,b), movswl ARG2(a,b), movsx ARG2(b,a)) -#define MOVZX_BL(a, b) CHOICE(movzbl ARG2(a,b), movzbl ARG2(a,b), movzx ARG2(b,a)) -#define MOVZX_BW(a, b) CHOICE(movzbw ARG2(a,b), movzbw ARG2(a,b), movzx ARG2(b,a)) -#define MOVZX_WL(a, b) CHOICE(movzwl ARG2(a,b), movzwl ARG2(a,b), movzx ARG2(b,a)) -#define MUL_L(a) CHOICE(mull a, mull a, _LTOG mul a) -#define MUL_W(a) CHOICE(mulw a, mulw a, _WTOG mul a) -#define MUL_B(a) CHOICE(mulb a, mulb a, mulb a) -#define NEG_L(a) CHOICE(negl a, negl a, _LTOG neg a) -#define NEG_W(a) CHOICE(negw a, negw a, _WTOG neg a) -#define NEG_B(a) CHOICE(negb a, negb a, negb a) -#define NOP CHOICE(nop, nop, nop) -#define NOT_L(a) CHOICE(notl a, notl a, _LTOG not a) -#define NOT_W(a) CHOICE(notw a, notw a, _WTOG not a) -#define NOT_B(a) CHOICE(notb a, notb a, notb a) -#define OR_L(a,b) CHOICE(orl ARG2(a,b), orl ARG2(a,b), _LTOG or ARG2(b,a)) -#define OR_W(a,b) CHOICE(orw ARG2(a,b), orw ARG2(a,b), _WTOG or ARG2(b,a)) -#define OR_B(a,b) CHOICE(orb ARG2(a,b), orb ARG2(a,b), orb ARG2(b,a)) -#define OUT_L CHOICE(outl (DX), outl ARG2(EAX,DX), _LTOG out DX) -#define OUT_W CHOICE(outw (DX), outw ARG2(AX,DX), _WTOG out DX) -#define OUT_B CHOICE(outb (DX), outb ARG2(AL,DX), outb DX) -/* Please AS code writer: use the following ONLY, if you refer to ports<256 - * directly, but not in OUT1_W(DX), for instance, even if OUT1_ looks nicer - */ -#define OUT1_L(a) CHOICE(outl (a), outl ARG2(EAX,a), _LTOG out a) -#define OUT1_W(a) CHOICE(outw (a), outw ARG2(AX,a), _WTOG out a) -#define OUT1_B(a) CHOICE(outb (a), outb ARG2(AL,a), outb a) -#define OUTS_L CHOICE(outsl, outsl, _LTOG outs) -#define OUTS_W CHOICE(outsw, outsw, _WTOG outs) -#define OUTS_B CHOICE(outsb, outsb, outsb) -#define POP_SR(a) CHOICE(pop a, pop a, pop a) -#define POP_L(a) CHOICE(popl a, popl a, _LTOG pop a) -#define POP_W(a) CHOICE(popw a, popw a, _WTOG pop a) -#define POPA_L CHOICE(popal, popal, _LTOG popa) -#define POPA_W CHOICE(popaw, popaw, _WTOG popa) -#define POPF_L CHOICE(popfl, popfl, _LTOG popf) -#define POPF_W CHOICE(popfw, popfw, _WTOG popf) -#define PUSH_SR(a) CHOICE(push a, push a, push a) -#define PUSH_L(a) CHOICE(pushl a, pushl a, _LTOG push a) -#define PUSH_W(a) CHOICE(pushw a, pushw a, _WTOG push a) -#define PUSH_B(a) CHOICE(push a, pushb a, push a) -#define PUSHA_L CHOICE(pushal, pushal, _LTOG pusha) -#define PUSHA_W CHOICE(pushaw, pushaw, _WTOG pusha) -#define PUSHF_L CHOICE(pushfl, pushfl, _LTOG pushf) -#define PUSHF_W CHOICE(pushfw, pushfw, _WTOG pushf) -#define RCL_L(a, b) CHOICE(rcll ARG2(a,b), rcll ARG2(a,b), _LTOG rcl ARG2(b,a)) -#define RCL_W(a, b) CHOICE(rclw ARG2(a,b), rclw ARG2(a,b), _WTOG rcl ARG2(b,a)) -#define RCL_B(a, b) CHOICE(rclb ARG2(a,b), rclb ARG2(a,b), rclb ARG2(b,a)) -#define RCR_L(a, b) CHOICE(rcrl ARG2(a,b), rcrl ARG2(a,b), _LTOG rcr ARG2(b,a)) -#define RCR_W(a, b) CHOICE(rcrw ARG2(a,b), rcrw ARG2(a,b), _WTOG rcr ARG2(b,a)) -#define RCR_B(a, b) CHOICE(rcrb ARG2(a,b), rcrb ARG2(a,b), rcrb ARG2(b,a)) -#define ROL_L(a, b) CHOICE(roll ARG2(a,b), roll ARG2(a,b), _LTOG rol ARG2(b,a)) -#define ROL_W(a, b) CHOICE(rolw ARG2(a,b), rolw ARG2(a,b), _WTOG rol ARG2(b,a)) -#define ROL_B(a, b) CHOICE(rolb ARG2(a,b), rolb ARG2(a,b), rolb ARG2(b,a)) -#define ROR_L(a, b) CHOICE(rorl ARG2(a,b), rorl ARG2(a,b), _LTOG ror ARG2(b,a)) -#define ROR_W(a, b) CHOICE(rorw ARG2(a,b), rorw ARG2(a,b), _WTOG ror ARG2(b,a)) -#define ROR_B(a, b) CHOICE(rorb ARG2(a,b), rorb ARG2(a,b), rorb ARG2(b,a)) -#define REP CHOICE(rep ;, rep ;, repe) -#define REPE CHOICE(repz ;, repe ;, repe) -#define REPNE CHOICE(repnz ;, repne ;, repne) -#define REPNZ REPNE -#define REPZ REPE -#define RET CHOICE(ret, ret, ret) -#define SAHF CHOICE(sahf, sahf, sahf) -#define SAL_L(a, b) CHOICE(sall ARG2(a,b), sall ARG2(a,b), _LTOG sal ARG2(b,a)) -#define SAL_W(a, b) CHOICE(salw ARG2(a,b), salw ARG2(a,b), _WTOG sal ARG2(b,a)) -#define SAL_B(a, b) CHOICE(salb ARG2(a,b), salb ARG2(a,b), salb ARG2(b,a)) -#define SAR_L(a, b) CHOICE(sarl ARG2(a,b), sarl ARG2(a,b), _LTOG sar ARG2(b,a)) -#define SAR_W(a, b) CHOICE(sarw ARG2(a,b), sarw ARG2(a,b), _WTOG sar ARG2(b,a)) -#define SAR_B(a, b) CHOICE(sarb ARG2(a,b), sarb ARG2(a,b), sarb ARG2(b,a)) -#define SBB_L(a, b) CHOICE(sbbl ARG2(a,b), sbbl ARG2(a,b), _LTOG sbb ARG2(b,a)) -#define SBB_W(a, b) CHOICE(sbbw ARG2(a,b), sbbw ARG2(a,b), _WTOG sbb ARG2(b,a)) -#define SBB_B(a, b) CHOICE(sbbb ARG2(a,b), sbbb ARG2(a,b), sbbb ARG2(b,a)) -#define SCAS_L CHOICE(scasl, scasl, _LTOG scas) -#define SCAS_W CHOICE(scasw, scasw, _WTOG scas) -#define SCAS_B CHOICE(scasb, scasb, scasb) -#define SETA(a) CHOICE(seta a, seta a, seta a) -#define SETAE(a) CHOICE(setae a, setae a, setae a) -#define SETB(a) CHOICE(setb a, setb a, setb a) -#define SETBE(a) CHOICE(setbe a, setbe a, setbe a) -#define SETC(a) CHOICE(setc a, setb a, setb a) -#define SETE(a) CHOICE(sete a, sete a, sete a) -#define SETG(a) CHOICE(setg a, setg a, setg a) -#define SETGE(a) CHOICE(setge a, setge a, setge a) -#define SETL(a) CHOICE(setl a, setl a, setl a) -#define SETLE(a) CHOICE(setle a, setle a, setle a) -#define SETNA(a) CHOICE(setna a, setna a, setna a) -#define SETNAE(a) CHOICE(setnae a, setnae a, setnae a) -#define SETNB(a) CHOICE(setnb a, setnb a, setnb a) -#define SETNBE(a) CHOICE(setnbe a, setnbe a, setnbe a) -#define SETNC(a) CHOICE(setnc a, setnb a, setnb a) -#define SETNE(a) CHOICE(setne a, setne a, setne a) -#define SETNG(a) CHOICE(setng a, setng a, setng a) -#define SETNGE(a) CHOICE(setnge a, setnge a, setnge a) -#define SETNL(a) CHOICE(setnl a, setnl a, setnl a) -#define SETNLE(a) CHOICE(setnle a, setnle a, setnle a) -#define SETNO(a) CHOICE(setno a, setno a, setno a) -#define SETNP(a) CHOICE(setnp a, setnp a, setnp a) -#define SETNS(a) CHOICE(setns a, setns a, setna a) -#define SETNZ(a) CHOICE(setnz a, setnz a, setnz a) -#define SETO(a) CHOICE(seto a, seto a, seto a) -#define SETP(a) CHOICE(setp a, setp a, setp a) -#define SETPE(a) CHOICE(setpe a, setpe a, setpe a) -#define SETPO(a) CHOICE(setpo a, setpo a, setpo a) -#define SETS(a) CHOICE(sets a, sets a, seta a) -#define SETZ(a) CHOICE(setz a, setz a, setz a) -#define SGDT(a) CHOICE(sgdt a, sgdt a, sgdt a) -#define SIDT(a) CHOICE(sidt a, sidt a, sidt a) -#define SHL_L(a, b) CHOICE(shll ARG2(a,b), shll ARG2(a,b), _LTOG shl ARG2(b,a)) -#define SHL_W(a, b) CHOICE(shlw ARG2(a,b), shlw ARG2(a,b), _WTOG shl ARG2(b,a)) -#define SHL_B(a, b) CHOICE(shlb ARG2(a,b), shlb ARG2(a,b), shlb ARG2(b,a)) -#define SHLD_L(a,b,c) CHOICE(shldl ARG3(a,b,c), shldl ARG3(a,b,c), _LTOG shld ARG3(c,b,a)) -#define SHLD2_L(a,b) CHOICE(shldl ARG2(a,b), shldl ARG3(CL,a,b), _LTOG shld ARG3(b,a,CL)) -#define SHLD_W(a,b,c) CHOICE(shldw ARG3(a,b,c), shldw ARG3(a,b,c), _WTOG shld ARG3(c,b,a)) -#define SHLD2_W(a,b) CHOICE(shldw ARG2(a,b), shldw ARG3(CL,a,b), _WTOG shld ARG3(b,a,CL)) -#define SHR_L(a, b) CHOICE(shrl ARG2(a,b), shrl ARG2(a,b), _LTOG shr ARG2(b,a)) -#define SHR_W(a, b) CHOICE(shrw ARG2(a,b), shrw ARG2(a,b), _WTOG shr ARG2(b,a)) -#define SHR_B(a, b) CHOICE(shrb ARG2(a,b), shrb ARG2(a,b), shrb ARG2(b,a)) -#define SHRD_L(a,b,c) CHOICE(shrdl ARG3(a,b,c), shrdl ARG3(a,b,c), _LTOG shrd ARG3(c,b,a)) -#define SHRD2_L(a,b) CHOICE(shrdl ARG2(a,b), shrdl ARG3(CL,a,b), _LTOG shrd ARG3(b,a,CL)) -#define SHRD_W(a,b,c) CHOICE(shrdw ARG3(a,b,c), shrdw ARG3(a,b,c), _WTOG shrd ARG3(c,b,a)) -#define SHRD2_W(a,b) CHOICE(shrdw ARG2(a,b), shrdw ARG3(CL,a,b), _WTOG shrd ARG3(b,a,CL)) -#define SLDT(a) CHOICE(sldt a, sldt a, sldt a) -#define SMSW(a) CHOICE(smsw a, smsw a, smsw a) -#define STC CHOICE(stc, stc, stc) -#define STD CHOICE(std, std, std) -#define STI CHOICE(sti, sti, sti) -#define STOS_L CHOICE(stosl, stosl, _LTOG stos) -#define STOS_W CHOICE(stosw, stosw, _WTOG stos) -#define STOS_B CHOICE(stosb, stosb, stosb) -#define STR(a) CHOICE(str a, str a, str a) -#define SUB_L(a, b) CHOICE(subl ARG2(a,b), subl ARG2(a,b), _LTOG sub ARG2(b,a)) -#define SUB_W(a, b) CHOICE(subw ARG2(a,b), subw ARG2(a,b), _WTOG sub ARG2(b,a)) -#define SUB_B(a, b) CHOICE(subb ARG2(a,b), subb ARG2(a,b), subb ARG2(b,a)) -#define TEST_L(a, b) CHOICE(testl ARG2(a,b), testl ARG2(a,b), _LTOG test ARG2(b,a)) -#define TEST_W(a, b) CHOICE(testw ARG2(a,b), testw ARG2(a,b), _WTOG test ARG2(b,a)) -#define TEST_B(a, b) CHOICE(testb ARG2(a,b), testb ARG2(a,b), testb ARG2(b,a)) -#define VERR(a) CHOICE(verr a, verr a, verr a) -#define VERW(a) CHOICE(verw a, verw a, verw a) -#define WAIT CHOICE(wait, wait, wait) -#define XCHG_L(a, b) CHOICE(xchgl ARG2(a,b), xchgl ARG2(a,b), _LTOG xchg ARG2(b,a)) -#define XCHG_W(a, b) CHOICE(xchgw ARG2(a,b), xchgw ARG2(a,b), _WTOG xchg ARG2(b,a)) -#define XCHG_B(a, b) CHOICE(xchgb ARG2(a,b), xchgb ARG2(a,b), xchgb ARG2(b,a)) -#define XLAT CHOICE(xlat, xlat, xlat) -#define XOR_L(a, b) CHOICE(xorl ARG2(a,b), xorl ARG2(a,b), _LTOG xor ARG2(b,a)) -#define XOR_W(a, b) CHOICE(xorw ARG2(a,b), xorw ARG2(a,b), _WTOG xor ARG2(b,a)) -#define XOR_B(a, b) CHOICE(xorb ARG2(a,b), xorb ARG2(a,b), xorb ARG2(b,a)) - - -/* Floating Point Instructions */ -#define F2XM1 CHOICE(f2xm1, f2xm1, f2xm1) -#define FABS CHOICE(fabs, fabs, fabs) -#define FADD_D(a) CHOICE(faddl a, faddl a, faddd a) -#define FADD_S(a) CHOICE(fadds a, fadds a, fadds a) -#define FADD2(a, b) CHOICE(fadd ARG2(a,b), fadd ARG2(a,b), fadd ARG2(b,a)) -#define FADDP(a, b) CHOICE(faddp ARG2(a,b), faddp ARG2(a,b), faddp ARG2(b,a)) -#define FIADD_L(a) CHOICE(fiaddl a, fiaddl a, fiaddl a) -#define FIADD_W(a) CHOICE(fiadd a, fiadds a, fiadds a) -#define FBLD(a) CHOICE(fbld a, fbld a, fbld a) -#define FBSTP(a) CHOICE(fbstp a, fbstp a, fbstp a) -#define FCHS CHOICE(fchs, fchs, fchs) -#define FCLEX CHOICE(fclex, wait; fnclex, wait; fclex) -#define FNCLEX CHOICE(fnclex, fnclex, fclex) -#define FCOM(a) CHOICE(fcom a, fcom a, fcom a) -#define FCOM_D(a) CHOICE(fcoml a, fcoml a, fcomd a) -#define FCOM_S(a) CHOICE(fcoms a, fcoms a, fcoms a) -#define FCOMP(a) CHOICE(fcomp a, fcomp a, fcomp a) -#define FCOMP_D(a) CHOICE(fcompl a, fcompl a, fcompd a) -#define FCOMP_S(a) CHOICE(fcomps a, fcomps a, fcomps a) -#define FCOMPP CHOICE(fcompp, fcompp, fcompp) -#define FCOS CHOICE(fcos, fcos, fcos) -#define FDECSTP CHOICE(fdecstp, fdecstp, fdecstp) -#define FDIV_D(a) CHOICE(fdivl a, fdivl a, fdivd a) -#define FDIV_S(a) CHOICE(fdivs a, fdivs a, fdivs a) -#define FDIV2(a, b) CHOICE(fdiv ARG2(a,b), fdiv ARG2(a,b), fdiv ARG2(b,a)) -#define FDIVP(a, b) CHOICE(fdivp ARG2(a,b), fdivp ARG2(a,b), fdivp ARG2(b,a)) -#define FIDIV_L(a) CHOICE(fidivl a, fidivl a, fidivl a) -#define FIDIV_W(a) CHOICE(fidiv a, fidivs a, fidivs a) -#define FDIVR_D(a) CHOICE(fdivrl a, fdivrl a, fdivrd a) -#define FDIVR_S(a) CHOICE(fdivrs a, fdivrs a, fdivrs a) -#define FDIVR2(a, b) CHOICE(fdivr ARG2(a,b), fdivr ARG2(a,b), fdivr ARG2(b,a)) -#define FDIVRP(a, b) CHOICE(fdivrp ARG2(a,b), fdivrp ARG2(a,b), fdivrp ARG2(b,a)) -#define FIDIVR_L(a) CHOICE(fidivrl a, fidivrl a, fidivrl a) -#define FIDIVR_W(a) CHOICE(fidivr a, fidivrs a, fidivrs a) -#define FFREE(a) CHOICE(ffree a, ffree a, ffree a) -#define FICOM_L(a) CHOICE(ficoml a, ficoml a, ficoml a) -#define FICOM_W(a) CHOICE(ficom a, ficoms a, ficoms a) -#define FICOMP_L(a) CHOICE(ficompl a, ficompl a, ficompl a) -#define FICOMP_W(a) CHOICE(ficomp a, ficomps a, ficomps a) -#define FILD_Q(a) CHOICE(fildll a, fildq a, fildq a) -#define FILD_L(a) CHOICE(fildl a, fildl a, fildl a) -#define FILD_W(a) CHOICE(fild a, filds a, filds a) -#define FINCSTP CHOICE(fincstp, fincstp, fincstp) -#define FINIT CHOICE(finit, wait; fninit, wait; finit) -#define FNINIT CHOICE(fninit, fninit, finit) -#define FIST_L(a) CHOICE(fistl a, fistl a, fistl a) -#define FIST_W(a) CHOICE(fist a, fists a, fists a) -#define FISTP_Q(a) CHOICE(fistpll a, fistpq a, fistpq a) -#define FISTP_L(a) CHOICE(fistpl a, fistpl a, fistpl a) -#define FISTP_W(a) CHOICE(fistp a, fistps a, fistps a) -#define FLD_X(a) CHOICE(fldt a, fldt a, fldx a) /* 80 bit data type! */ -#define FLD_D(a) CHOICE(fldl a, fldl a, fldd a) -#define FLD_S(a) CHOICE(flds a, flds a, flds a) -#define FLD1 CHOICE(fld1, fld1, fld1) -#define FLDL2T CHOICE(fldl2t, fldl2t, fldl2t) -#define FLDL2E CHOICE(fldl2e, fldl2e, fldl2e) -#define FLDPI CHOICE(fldpi, fldpi, fldpi) -#define FLDLG2 CHOICE(fldlg2, fldlg2, fldlg2) -#define FLDLN2 CHOICE(fldln2, fldln2, fldln2) -#define FLDZ CHOICE(fldz, fldz, fldz) -#define FLDCW(a) CHOICE(fldcw a, fldcw a, fldcw a) -#define FLDENV(a) CHOICE(fldenv a, fldenv a, fldenv a) -#define FMUL_S(a) CHOICE(fmuls a, fmuls a, fmuls a) -#define FMUL_D(a) CHOICE(fmull a, fmull a, fmuld a) -#define FMUL2(a, b) CHOICE(fmul ARG2(a,b), fmul ARG2(a,b), fmul ARG2(b,a)) -#define FMULP(a, b) CHOICE(fmulp ARG2(a,b), fmulp ARG2(a,b), fmulp ARG2(b,a)) -#define FIMUL_L(a) CHOICE(fimull a, fimull a, fimull a) -#define FIMUL_W(a) CHOICE(fimul a, fimuls a, fimuls a) -#define FNOP CHOICE(fnop, fnop, fnop) -#define FPATAN CHOICE(fpatan, fpatan, fpatan) -#define FPREM CHOICE(fprem, fprem, fprem) -#define FPREM1 CHOICE(fprem1, fprem1, fprem1) -#define FPTAN CHOICE(fptan, fptan, fptan) -#define FRNDINT CHOICE(frndint, frndint, frndint) -#define FRSTOR(a) CHOICE(frstor a, frstor a, frstor a) -#define FSAVE(a) CHOICE(fsave a, wait; fnsave a, wait; fsave a) -#define FNSAVE(a) CHOICE(fnsave a, fnsave a, fsave a) -#define FSCALE CHOICE(fscale, fscale, fscale) -#define FSIN CHOICE(fsin, fsin, fsin) -#define FSINCOS CHOICE(fsincos, fsincos, fsincos) -#define FSQRT CHOICE(fsqrt, fsqrt, fsqrt) -#define FST_D(a) CHOICE(fstl a, fstl a, fstd a) -#define FST_S(a) CHOICE(fsts a, fsts a, fsts a) -#define FSTP_X(a) CHOICE(fstpt a, fstpt a, fstpx a) -#define FSTP_D(a) CHOICE(fstpl a, fstpl a, fstpd a) -#define FSTP_S(a) CHOICE(fstps a, fstps a, fstps a) -#define FSTCW(a) CHOICE(fstcw a, wait; fnstcw a, wait; fstcw a) -#define FNSTCW(a) CHOICE(fnstcw a, fnstcw a, fstcw a) -#define FSTENV(a) CHOICE(fstenv a, wait; fnstenv a, fstenv a) -#define FNSTENV(a) CHOICE(fnstenv a, fnstenv a, fstenv a) -#define FSTSW(a) CHOICE(fstsw a, wait; fnstsw a, wait; fstsw a) -#define FNSTSW(a) CHOICE(fnstsw a, fnstsw a, fstsw a) -#define FSUB_S(a) CHOICE(fsubs a, fsubs a, fsubs a) -#define FSUB_D(a) CHOICE(fsubl a, fsubl a, fsubd a) -#define FSUB2(a, b) CHOICE(fsub ARG2(a,b), fsub ARG2(a,b), fsub ARG2(b,a)) -#define FSUBP(a, b) CHOICE(fsubp ARG2(a,b), fsubp ARG2(a,b), fsubp ARG2(b,a)) -#define FISUB_L(a) CHOICE(fisubl a, fisubl a, fisubl a) -#define FISUB_W(a) CHOICE(fisub a, fisubs a, fisubs a) -#define FSUBR_S(a) CHOICE(fsubrs a, fsubrs a, fsubrs a) -#define FSUBR_D(a) CHOICE(fsubrl a, fsubrl a, fsubrd a) -#define FSUBR2(a, b) CHOICE(fsubr ARG2(a,b), fsubr ARG2(a,b), fsubr ARG2(b,a)) -#define FSUBRP(a, b) CHOICE(fsubrp ARG2(a,b), fsubrp ARG2(a,b), fsubrp ARG2(b,a)) -#define FISUBR_L(a) CHOICE(fisubrl a, fisubrl a, fisubrl a) -#define FISUBR_W(a) CHOICE(fisubr a, fisubrs a, fisubrs a) -#define FTST CHOICE(ftst, ftst, ftst) -#define FUCOM(a) CHOICE(fucom a, fucom a, fucom a) -#define FUCOMP(a) CHOICE(fucomp a, fucomp a, fucomp a) -#define FUCOMPP CHOICE(fucompp, fucompp, fucompp) -#define FWAIT CHOICE(wait, wait, wait) -#define FXAM CHOICE(fxam, fxam, fxam) -#define FXCH(a) CHOICE(fxch a, fxch a, fxch a) -#define FXTRACT CHOICE(fxtract, fxtract, fxtract) -#define FYL2X CHOICE(fyl2x, fyl2x, fyl2x) -#define FYL2XP1 CHOICE(fyl2xp1, fyl2xp1, fyl2xp1) - -#endif /* __ASSYNTAX_H__ */ diff --git a/xorg-server/hw/xfree86/os-support/bsd/Makefile.am b/xorg-server/hw/xfree86/os-support/bsd/Makefile.am index 4fc270aa9..e52dac13b 100644 --- a/xorg-server/hw/xfree86/os-support/bsd/Makefile.am +++ b/xorg-server/hw/xfree86/os-support/bsd/Makefile.am @@ -1,9 +1,15 @@ noinst_LTLIBRARIES = libbsd.la -# FIXME: Add USB mouse support? - -# FIXME: APM support. +# APM support. +if BSD_KQUEUE_APM +APM_SOURCES = $(srcdir)/bsd_kqueue_apm.c +else +if BSD_APM +APM_SOURCES = $(srcdir)/bsd_apm.c +else APM_SOURCES = $(srcdir)/../shared/pm_noop.c +endif +endif if FREEBSD_KLDLOAD KMOD_SOURCES = bsd_kmod.c @@ -59,7 +65,6 @@ libbsd_la_SOURCES = \ $(srcdir)/../shared/vidmem.c \ bsd_VTsw.c \ bsd_init.c \ - bsd_mouse.c \ bsd_bell.c \ $(ARCH_SOURCES) \ $(AGP_SOURCES) \ @@ -71,16 +76,4 @@ libbsd_la_SOURCES = \ # FIXME: Add these files to the build as needed EXTRA_DIST = \ - bsd_apm.c \ - bsd_jstk.c \ - bsd_kqueue_apm.c \ - bsdResource.c \ - memrange.h \ - libusb/data.c \ - libusb/descr.c \ - libusb/parse.c \ - libusb/usage.c \ - libusb/usb.3 \ - libusb/usb.h \ - libusb/usb_hid_usages \ - libusb/usbvar.h + memrange.h diff --git a/xorg-server/hw/xfree86/os-support/bsd/Makefile.in b/xorg-server/hw/xfree86/os-support/bsd/Makefile.in index d59e73c87..fa86db8ae 100644 --- a/xorg-server/hw/xfree86/os-support/bsd/Makefile.in +++ b/xorg-server/hw/xfree86/os-support/bsd/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -43,7 +43,6 @@ 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 \ @@ -53,12 +52,13 @@ LTLIBRARIES = $(noinst_LTLIBRARIES) libbsd_la_LIBADD = am__libbsd_la_SOURCES_DIST = $(srcdir)/../shared/posix_tty.c \ $(srcdir)/../shared/sigio.c $(srcdir)/../shared/vidmem.c \ - bsd_VTsw.c bsd_init.c bsd_mouse.c bsd_bell.c alpha_video.c \ - bsd_ev56.c bsd_axp.c $(srcdir)/../shared/xf86Axp.c arm_video.c \ + bsd_VTsw.c bsd_init.c bsd_bell.c alpha_video.c bsd_ev56.c \ + bsd_axp.c $(srcdir)/../shared/xf86Axp.c arm_video.c \ i386_video.c ppc_video.c sparc64_video.c \ $(srcdir)/../shared/ioperm_noop.c \ $(srcdir)/../shared/agp_noop.c $(srcdir)/../linux/lnx_agp.c \ - $(srcdir)/../shared/pm_noop.c $(srcdir)/../shared/kmod_noop.c \ + $(srcdir)/../shared/pm_noop.c $(srcdir)/bsd_apm.c \ + $(srcdir)/bsd_kqueue_apm.c $(srcdir)/../shared/kmod_noop.c \ bsd_kmod.c $(srcdir)/../shared/stdResource.c @ALPHA_VIDEO_FALSE@@ARM_VIDEO_FALSE@@I386_VIDEO_FALSE@@PPC_VIDEO_FALSE@@SPARC64_VIDEO_TRUE@am__objects_1 = sparc64_video.lo \ @ALPHA_VIDEO_FALSE@@ARM_VIDEO_FALSE@@I386_VIDEO_FALSE@@PPC_VIDEO_FALSE@@SPARC64_VIDEO_TRUE@ ioperm_noop.lo @@ -69,23 +69,21 @@ am__libbsd_la_SOURCES_DIST = $(srcdir)/../shared/posix_tty.c \ @ALPHA_VIDEO_TRUE@ bsd_axp.lo xf86Axp.lo @AGP_FALSE@am__objects_2 = agp_noop.lo @AGP_TRUE@am__objects_2 = lnx_agp.lo -am__objects_3 = pm_noop.lo +@BSD_APM_FALSE@@BSD_KQUEUE_APM_FALSE@am__objects_3 = pm_noop.lo +@BSD_APM_TRUE@@BSD_KQUEUE_APM_FALSE@am__objects_3 = bsd_apm.lo +@BSD_KQUEUE_APM_TRUE@am__objects_3 = bsd_kqueue_apm.lo @FREEBSD_KLDLOAD_FALSE@am__objects_4 = kmod_noop.lo @FREEBSD_KLDLOAD_TRUE@am__objects_4 = bsd_kmod.lo am__objects_5 = stdResource.lo am_libbsd_la_OBJECTS = posix_tty.lo sigio.lo vidmem.lo bsd_VTsw.lo \ - bsd_init.lo bsd_mouse.lo bsd_bell.lo $(am__objects_1) \ - $(am__objects_2) $(am__objects_3) $(am__objects_4) \ - $(am__objects_5) + bsd_init.lo bsd_bell.lo $(am__objects_1) $(am__objects_2) \ + $(am__objects_3) $(am__objects_4) $(am__objects_5) libbsd_la_OBJECTS = $(am_libbsd_la_OBJECTS) DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include 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) \ @@ -100,8 +98,9 @@ ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ -APPDEFAULTDIR = @APPDEFAULTDIR@ APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +APPLE_APPLICATION_ID = @APPLE_APPLICATION_ID@ +APPLE_APPLICATION_NAME = @APPLE_APPLICATION_NAME@ APP_MAN_DIR = @APP_MAN_DIR@ APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ AR = @AR@ @@ -122,10 +121,6 @@ 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@ @@ -147,6 +142,7 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOLT_BASH = @DOLT_BASH@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ @@ -156,18 +152,15 @@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ DSYMUTIL = @DSYMUTIL@ DTRACE = @DTRACE@ -ECHO = @ECHO@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ -FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ -FREETYPE_LIBS = @FREETYPE_LIBS@ GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ GLX_DEFINES = @GLX_DEFINES@ GL_CFLAGS = @GL_CFLAGS@ @@ -186,7 +179,7 @@ KDRIVE_LIBS = @KDRIVE_LIBS@ KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ -LAUNCHD = @LAUNCHD@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ LEX = @LEX@ @@ -200,7 +193,10 @@ LIBTOOL = @LIBTOOL@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LINUXDOC = @LINUXDOC@ +LIPO = @LIPO@ LN_S = @LN_S@ +LTCOMPILE = @LTCOMPILE@ +LTCXXCOMPILE = @LTCXXCOMPILE@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ @@ -212,8 +208,7 @@ MESA_SOURCE = @MESA_SOURCE@ MISC_MAN_DIR = @MISC_MAN_DIR@ MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ MKDIR_P = @MKDIR_P@ -MKFONTDIR = @MKFONTDIR@ -MKFONTSCALE = @MKFONTSCALE@ +NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCCLD = @OBJCCLD@ @@ -222,8 +217,8 @@ OBJCFLAGS = @OBJCFLAGS@ OBJCLINK = @OBJCLINK@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ @@ -256,7 +251,6 @@ VENDOR_NAME = @VENDOR_NAME@ VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ VENDOR_RELEASE = @VENDOR_RELEASE@ VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ XDMCP_CFLAGS = @XDMCP_CFLAGS@ @@ -266,27 +260,12 @@ XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@ XDMX_CFLAGS = @XDMX_CFLAGS@ XDMX_LIBS = @XDMX_LIBS@ XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ XEPHYR_INCS = @XEPHYR_INCS@ XEPHYR_LIBS = @XEPHYR_LIBS@ 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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ @@ -297,10 +276,6 @@ XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ XNEST_LIBS = @XNEST_LIBS@ XNEST_SYS_LIBS = @XNEST_SYS_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_INCS = @XORG_INCS@ XORG_LIBS = @XORG_LIBS@ @@ -309,13 +284,8 @@ XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ XORG_OS = @XORG_OS@ XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_LIBS@ +XPBPROXY_CFLAGS = @XPBPROXY_CFLAGS@ +XPBPROXY_LIBS = @XPBPROXY_LIBS@ XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ XSDL_INCS = @XSDL_INCS@ @@ -348,8 +318,7 @@ 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@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -369,7 +338,6 @@ driverdir = @driverdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ extdir = @extdir@ -ft_config = @ft_config@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ @@ -379,12 +347,12 @@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ -launchagentsdir = @launchagentsdir@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ logdir = @logdir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ moduledir = @moduledir@ @@ -402,14 +370,12 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ noinst_LTLIBRARIES = libbsd.la +@BSD_APM_FALSE@@BSD_KQUEUE_APM_FALSE@APM_SOURCES = $(srcdir)/../shared/pm_noop.c +@BSD_APM_TRUE@@BSD_KQUEUE_APM_FALSE@APM_SOURCES = $(srcdir)/bsd_apm.c -# FIXME: Add USB mouse support? - -# FIXME: APM support. -APM_SOURCES = $(srcdir)/../shared/pm_noop.c +# APM support. +@BSD_KQUEUE_APM_TRUE@APM_SOURCES = $(srcdir)/bsd_kqueue_apm.c @FREEBSD_KLDLOAD_FALSE@KMOD_SOURCES = $(srcdir)/../shared/kmod_noop.c @FREEBSD_KLDLOAD_TRUE@KMOD_SOURCES = bsd_kmod.c @@ -444,7 +410,6 @@ libbsd_la_SOURCES = \ $(srcdir)/../shared/vidmem.c \ bsd_VTsw.c \ bsd_init.c \ - bsd_mouse.c \ bsd_bell.c \ $(ARCH_SOURCES) \ $(AGP_SOURCES) \ @@ -457,19 +422,7 @@ libbsd_la_SOURCES = \ # FIXME: Add these files to the build as needed EXTRA_DIST = \ - bsd_apm.c \ - bsd_jstk.c \ - bsd_kqueue_apm.c \ - bsdResource.c \ - memrange.h \ - libusb/data.c \ - libusb/descr.c \ - libusb/parse.c \ - libusb/usage.c \ - libusb/usb.3 \ - libusb/usb.h \ - libusb/usb_hid_usages \ - libusb/usbvar.h + memrange.h all: all-am @@ -479,8 +432,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ @@ -526,12 +479,13 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/alpha_video.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/arm_video.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bsd_VTsw.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bsd_apm.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bsd_axp.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bsd_bell.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bsd_ev56.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bsd_init.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bsd_kmod.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bsd_mouse.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bsd_kqueue_apm.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/i386_video.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioperm_noop.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kmod_noop.Plo@am__quote@ @@ -622,6 +576,20 @@ pm_noop.lo: $(srcdir)/../shared/pm_noop.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o pm_noop.lo `test -f '$(srcdir)/../shared/pm_noop.c' || echo '$(srcdir)/'`$(srcdir)/../shared/pm_noop.c +bsd_apm.lo: $(srcdir)/bsd_apm.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT bsd_apm.lo -MD -MP -MF $(DEPDIR)/bsd_apm.Tpo -c -o bsd_apm.lo `test -f '$(srcdir)/bsd_apm.c' || echo '$(srcdir)/'`$(srcdir)/bsd_apm.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/bsd_apm.Tpo $(DEPDIR)/bsd_apm.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/bsd_apm.c' object='bsd_apm.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o bsd_apm.lo `test -f '$(srcdir)/bsd_apm.c' || echo '$(srcdir)/'`$(srcdir)/bsd_apm.c + +bsd_kqueue_apm.lo: $(srcdir)/bsd_kqueue_apm.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT bsd_kqueue_apm.lo -MD -MP -MF $(DEPDIR)/bsd_kqueue_apm.Tpo -c -o bsd_kqueue_apm.lo `test -f '$(srcdir)/bsd_kqueue_apm.c' || echo '$(srcdir)/'`$(srcdir)/bsd_kqueue_apm.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/bsd_kqueue_apm.Tpo $(DEPDIR)/bsd_kqueue_apm.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/bsd_kqueue_apm.c' object='bsd_kqueue_apm.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o bsd_kqueue_apm.lo `test -f '$(srcdir)/bsd_kqueue_apm.c' || echo '$(srcdir)/'`$(srcdir)/bsd_kqueue_apm.c + kmod_noop.lo: $(srcdir)/../shared/kmod_noop.c @am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT kmod_noop.lo -MD -MP -MF $(DEPDIR)/kmod_noop.Tpo -c -o kmod_noop.lo `test -f '$(srcdir)/../shared/kmod_noop.c' || echo '$(srcdir)/'`$(srcdir)/../shared/kmod_noop.c @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/kmod_noop.Tpo $(DEPDIR)/kmod_noop.Plo @@ -647,7 +615,7 @@ ID: $(HEADERS) $(SOURCES) $(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; nonemtpy = 1; } \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS diff --git a/xorg-server/hw/xfree86/os-support/bsd/alpha_video.c b/xorg-server/hw/xfree86/os-support/bsd/alpha_video.c index 523c4488e..9de25f66b 100644 --- a/xorg-server/hw/xfree86/os-support/bsd/alpha_video.c +++ b/xorg-server/hw/xfree86/os-support/bsd/alpha_video.c @@ -433,24 +433,6 @@ xf86DisableIO() #endif /* USE_ALPHA_PIO */ -/***************************************************************************/ -/* Interrupt Handling section */ -/***************************************************************************/ - -_X_EXPORT Bool -xf86DisableInterrupts() -{ - - return(TRUE); -} - -_X_EXPORT void -xf86EnableInterrupts() -{ - return; -} - - #define vuip volatile unsigned int * static unsigned long msb_set = 0; diff --git a/xorg-server/hw/xfree86/os-support/bsd/arm_video.c b/xorg-server/hw/xfree86/os-support/bsd/arm_video.c index 23948b5d6..a0ebdf2e6 100644 --- a/xorg-server/hw/xfree86/os-support/bsd/arm_video.c +++ b/xorg-server/hw/xfree86/os-support/bsd/arm_video.c @@ -522,27 +522,6 @@ xf86DisableIO() #endif /* USE_ARC_MMAP */ - -/***************************************************************************/ -/* Interrupt Handling section */ -/***************************************************************************/ - -_X_EXPORT Bool -xf86DisableInterrupts() -{ - - return(TRUE); -} - -_X_EXPORT void -xf86EnableInterrupts() -{ - - return; -} - - - #if 0 /* * XXX This is here for reference. It needs to be handled differently for the diff --git a/xorg-server/hw/xfree86/os-support/bsd/bsdResource.c b/xorg-server/hw/xfree86/os-support/bsd/bsdResource.c deleted file mode 100644 index d1ee787f1..000000000 --- a/xorg-server/hw/xfree86/os-support/bsd/bsdResource.c +++ /dev/null @@ -1,92 +0,0 @@ - -/* Resource information code */ - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include -#include "xf86.h" -#include "xf86Priv.h" -#include "xf86Privstr.h" -#include "xf86Pci.h" -#include "xf86Resources.h" -#define NEED_OS_RAC_PROTOS -#include "xf86_OSlib.h" - -/* Avoid Imakefile changes */ -#include "bus/Pci.h" - -#ifdef INCLUDE_XF86_NO_DOMAIN - -#if defined(__alpha__) || defined(__sparc64__) || defined(__amd64__) || defined(__x86_64__) - -resPtr -xf86AccResFromOS(resPtr ret) -{ - resRange range; - - /* - * Fallback is to claim the following areas: - * - * 0x000c0000 - 0x000effff location of VGA and other extensions ROMS - */ - - RANGE(range, 0x000c0000, 0x000effff, ResExcMemBlock); - ret = xf86AddResToList(ret, &range, -1); - - /* - * Fallback would be to claim well known ports in the 0x0 - 0x3ff range - * along with their sparse I/O aliases, but that's too imprecise. Instead - * claim a bare minimum here. - */ - RANGE(range, 0x00000000, 0x000000ff, ResExcIoBlock); /* For mainboard */ - ret = xf86AddResToList(ret, &range, -1); - - /* - * At minimum, the top and bottom resources must be claimed, so that - * resources that are (or appear to be) unallocated can be relocated. - */ - RANGE(range, 0x00000000, 0x00000000, ResExcMemBlock); - ret = xf86AddResToList(ret, &range, -1); - RANGE(range, 0xffffffff, 0xffffffff, ResExcMemBlock); - ret = xf86AddResToList(ret, &range, -1); -/* RANGE(range, 0x00000000, 0x00000000, ResExcIoBlock); - ret = xf86AddResToList(ret, &range, -1); */ - RANGE(range, 0xffffffff, 0xffffffff, ResExcIoBlock); - ret = xf86AddResToList(ret, &range, -1); - - /* XXX add others */ - return ret; -} - -#elif defined(__powerpc__) - -resPtr -xf86AccResFromOS(resPtr ret) -{ - resRange range; - - /* - * At minimum, the top and bottom resources must be claimed, so that - * resources that are (or appear to be) unallocated can be relocated. - */ - RANGE(range, 0x00000000, 0x00000000, ResExcMemBlock); - ret = xf86AddResToList(ret, &range, -1); - RANGE(range, 0xffffffff, 0xffffffff, ResExcMemBlock); - ret = xf86AddResToList(ret, &range, -1); - RANGE(range, 0x00000000, 0x00000000, ResExcIoBlock); - ret = xf86AddResToList(ret, &range, -1); - RANGE(range, 0x0000ffff, 0x0000ffff, ResExcIoBlock); - ret = xf86AddResToList(ret, &range, -1); - - return ret; -} - -#else - -#error : Put your platform dependent code here!! - -#endif - -#endif /* INCLUDE_XF86_NO_DOMAIN */ diff --git a/xorg-server/hw/xfree86/os-support/bsd/bsd_axp.c b/xorg-server/hw/xfree86/os-support/bsd/bsd_axp.c index 51ffef148..cb10a9d40 100644 --- a/xorg-server/hw/xfree86/os-support/bsd/bsd_axp.c +++ b/xorg-server/hw/xfree86/os-support/bsd/bsd_axp.c @@ -7,7 +7,7 @@ #include "os.h" #include "xf86.h" #include "xf86Priv.h" -#include "xf86Axp.h" +#include "shared/xf86Axp.h" #include #include "xf86_OSlib.h" #include diff --git a/xorg-server/hw/xfree86/os-support/bsd/bsd_init.c b/xorg-server/hw/xfree86/os-support/bsd/bsd_init.c index 83583d5b9..7698084ee 100644 --- a/xorg-server/hw/xfree86/os-support/bsd/bsd_init.c +++ b/xorg-server/hw/xfree86/os-support/bsd/bsd_init.c @@ -45,6 +45,7 @@ static int devConsoleFd = -1; #if defined (SYSCONS_SUPPORT) || defined (PCVT_SUPPORT) static int VTnum = -1; static int initialVT = -1; +static Bool ShareVTs = FALSE; #endif #ifdef PCCONS_SUPPORT @@ -269,49 +270,52 @@ xf86OpenConsole() } #endif acquire_vt: - /* - * now get the VT - */ - SYSCALL(result = - ioctl(xf86Info.consoleFd, VT_ACTIVATE, xf86Info.vtno)); - if (result != 0) - { - xf86Msg(X_WARNING, "xf86OpenConsole: VT_ACTIVATE failed\n"); - } - SYSCALL(result = + if (!ShareVTs) { + /* + * now get the VT + */ + SYSCALL(result = + ioctl(xf86Info.consoleFd, VT_ACTIVATE, xf86Info.vtno)); + if (result != 0) + { + xf86Msg(X_WARNING, "xf86OpenConsole: VT_ACTIVATE failed\n"); + } + SYSCALL(result = ioctl(xf86Info.consoleFd, VT_WAITACTIVE, xf86Info.vtno)); - if (result != 0) - { - xf86Msg(X_WARNING, "xf86OpenConsole: VT_WAITACTIVE failed\n"); - } + if (result != 0) + { + xf86Msg(X_WARNING, "xf86OpenConsole: VT_WAITACTIVE failed\n"); + } - signal(SIGUSR1, xf86VTRequest); + signal(SIGUSR1, xf86VTRequest); - vtmode.mode = VT_PROCESS; - vtmode.relsig = SIGUSR1; - vtmode.acqsig = SIGUSR1; - vtmode.frsig = SIGUSR1; - if (ioctl(xf86Info.consoleFd, VT_SETMODE, &vtmode) < 0) - { - FatalError("xf86OpenConsole: VT_SETMODE VT_PROCESS failed"); - } -#if !defined(USE_DEV_IO) && !defined(USE_I386_IOPL) - if (ioctl(xf86Info.consoleFd, KDENABIO, 0) < 0) - { - FatalError("xf86OpenConsole: KDENABIO failed (%s)", - strerror(errno)); - } -#endif - if (ioctl(xf86Info.consoleFd, KDSETMODE, KD_GRAPHICS) < 0) - { - FatalError("xf86OpenConsole: KDSETMODE KD_GRAPHICS failed"); - } - break; + vtmode.mode = VT_PROCESS; + vtmode.relsig = SIGUSR1; + vtmode.acqsig = SIGUSR1; + vtmode.frsig = SIGUSR1; + if (ioctl(xf86Info.consoleFd, VT_SETMODE, &vtmode) < 0) + { + FatalError("xf86OpenConsole: VT_SETMODE VT_PROCESS failed"); + } + #if !defined(USE_DEV_IO) && !defined(USE_I386_IOPL) + if (ioctl(xf86Info.consoleFd, KDENABIO, 0) < 0) + { + FatalError("xf86OpenConsole: KDENABIO failed (%s)", + strerror(errno)); + } + #endif + if (ioctl(xf86Info.consoleFd, KDSETMODE, KD_GRAPHICS) < 0) + { + FatalError("xf86OpenConsole: KDSETMODE KD_GRAPHICS failed"); + } + } else { /* ShareVTs */ + close(xf86Info.consoleFd); + } + break; #endif /* SYSCONS_SUPPORT || PCVT_SUPPORT */ #ifdef WSCONS_SUPPORT case WSCONS: - fprintf(stderr, "xf86OpenConsole\n"); - /* xf86Info.consoleFd = open("/dev/wskbd0", 0); */ + /* Nothing to do */ break; #endif } @@ -320,7 +324,7 @@ acquire_vt: { /* serverGeneration != 1 */ #if defined (SYSCONS_SUPPORT) || defined (PCVT_SUPPORT) - if (xf86Info.consType == SYSCONS || xf86Info.consType == PCVT) + if (!ShareVTs) if (xf86Info.consType == SYSCONS || xf86Info.consType == PCVT) { if (ioctl(xf86Info.consoleFd, VT_ACTIVATE, xf86Info.vtno) != 0) { @@ -393,6 +397,9 @@ xf86OpenSyscons() if (ioctl(fd, VT_GETACTIVE, &initialVT) < 0) initialVT = -1; #endif + if (ShareVTs) + xf86Info.vtno = initialVT; + if (xf86Info.vtno == -1) { /* @@ -575,8 +582,14 @@ xf86OpenPcvt() sprintf(vtname, "%s%01x", vtprefix, xf86Info.vtno - 1); if ((fd = open(vtname, PCVT_CONSOLE_MODE, 0)) < 0) { - FatalError("xf86OpenPcvt: Cannot open %s (%s)", + ErrorF("xf86OpenPcvt: Cannot open %s (%s)", vtname, strerror(errno)); + xf86Info.vtno = initialVT; + sprintf(vtname, "%s%01x", vtprefix, xf86Info.vtno - 1); + if ((fd = open(vtname, PCVT_CONSOLE_MODE, 0)) < 0) { + FatalError("xf86OpenPcvt: Cannot open %s (%s)", + vtname, strerror(errno)); + } } if (ioctl(fd, VT_GETMODE, &vtmode) < 0) { @@ -585,8 +598,8 @@ xf86OpenPcvt() xf86Info.consType = PCVT; #ifdef WSCONS_SUPPORT xf86Msg(X_PROBED, - "Using wscons driver in pcvt compatibility mode " - "(version %d.%d)\n", + "Using wscons driver on %s in pcvt compatibility mode " + "(version %d.%d)\n", vtname, pcvt_version.rmajor, pcvt_version.rminor); #else xf86Msg(X_PROBED, "Using pcvt driver (version %d.%d)\n", @@ -620,7 +633,7 @@ xf86OpenWScons() #if defined(__NetBSD__) sprintf(ttyname, "/dev/ttyE%d", i); #elif defined(__OpenBSD__) - sprintf(ttyname, "/dev/ttyC%d", i); + sprintf(ttyname, "/dev/ttyC%x", i); #endif if ((fd = open(ttyname, 2)) != -1) break; @@ -646,6 +659,8 @@ xf86CloseConsole() struct vt_mode VT; #endif + if (ShareVTs) return; + switch (xf86Info.consType) { #ifdef PCCONS_SUPPORT @@ -662,7 +677,7 @@ xf86CloseConsole() VT.mode = VT_AUTO; ioctl(xf86Info.consoleFd, VT_SETMODE, &VT); /* dflt vt handling */ } -#if !defined(USE_DEV_IO) && !defined(USE_I386_IOPL) +#if !defined(OpenBSD) && !defined(USE_DEV_IO) && !defined(USE_I386_IOPL) if (ioctl(xf86Info.consoleFd, KDDISABIO, 0) < 0) { xf86FatalError("xf86CloseConsole: KDDISABIO failed (%s)", @@ -712,6 +727,11 @@ xf86ProcessArgument(int argc, char *argv[], int i) return(1); } #if defined (SYSCONS_SUPPORT) || defined (PCVT_SUPPORT) + if (!strcmp(argv[i], "-sharevts")) + { + ShareVTs = TRUE; + return(1); + } if ((argv[i][0] == 'v') && (argv[i][1] == 't')) { if (sscanf(argv[i], "vt%2d", &VTnum) == 0 || @@ -732,6 +752,7 @@ xf86UseMsg() { #if defined (SYSCONS_SUPPORT) || defined (PCVT_SUPPORT) ErrorF("vtXX use the specified VT number (1-12)\n"); + ErrorF("-sharevts share VTs with another X server\n"); #endif /* SYSCONS_SUPPORT || PCVT_SUPPORT */ ErrorF("-keeptty "); ErrorF("don't detach controlling tty (for debugging only)\n"); diff --git a/xorg-server/hw/xfree86/os-support/bsd/bsd_jstk.c b/xorg-server/hw/xfree86/os-support/bsd/bsd_jstk.c deleted file mode 100644 index b5b91b0c7..000000000 --- a/xorg-server/hw/xfree86/os-support/bsd/bsd_jstk.c +++ /dev/null @@ -1,183 +0,0 @@ -/* - * Copyright 1995 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. - * - */ - -/* Modified for FreeBSD by David Dawes */ - - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include - -#include "misc.h" -#include "xf86.h" - -#define JS_RETURN sizeof(struct joystick) - -/*********************************************************************** - * - * xf86JoystickOn -- - * - * open the device and init timeout according to the device value. - * - *********************************************************************** - */ - -int -xf86JoystickOn(char * name, int *timeout, int *centerX, int *centerY) -{ - int status; - int changed = 0; - int timeinmicros; - struct joystick js; - -#ifdef DEBUG - ErrorF("xf86JoystickOn: %s\n", name); -#endif - - if ((status = open(name, O_RDWR | O_NDELAY, 0)) < 0) - { - xf86Msg(X_WARNING, "xf86JoystickOn: Cannot open joystick '%s' (%s)\n", - name, strerror(errno)); - return -1; - } - - if (*timeout <= 0) { - /* Use the current setting */ - ioctl(status, JOY_GETTIMEOUT, (char *)&timeinmicros); - *timeout = timeinmicros / 1000; - if (*timeout == 0) - *timeout = 1; - changed = 1; - } - /* Maximum allowed timeout in the FreeBSD driver is 10ms */ - if (*timeout > 10) { - *timeout = 10; - changed = 1; - } - - if (changed) - xf86Msg(X_PROBED, "Joystick: timeout value = %d\n", *timeout); - - timeinmicros = *timeout * 1000; - - /* Assume the joystick is centred when this is called */ - read(status, &js, JS_RETURN); - if (*centerX < 0) { - *centerX = js.x; - xf86Msg(X_PROBED, "Joystick: CenterX set to %d\n", *centerX); - } - if (*centerY < 0) { - *centerY = js.y; - xf86Msg(X_PROBED, "Joystick: CenterY set to %d\n", *centerY); - } - - return status; -} - -/*********************************************************************** - * - * xf86JoystickInit -- - * - * called when X device is initialized. - * - *********************************************************************** - */ - -void -xf86JoystickInit() -{ - return; -} - -/*********************************************************************** - * - * xf86JoystickOff -- - * - * close the handle. - * - *********************************************************************** - */ - -int -xf86JoystickOff(int *fd, int doclose) -{ - int oldfd; - - if (((oldfd = *fd) >= 0) && doclose) { - close(*fd); - *fd = -1; - } - return oldfd; -} - -/*********************************************************************** - * - * xf86JoystickGetState -- - * - * return the state of buttons and the position of the joystick. - * - *********************************************************************** - */ - -int -xf86JoystickGetState(int fd, int *x, int *y, int *buttons) -{ - struct joystick js; - int status; - - status = read(fd, &js, JS_RETURN); - - if (status != JS_RETURN) - { - Error("Joystick read"); - return 0; - } - - *x = js.x; - *y = js.y; - *buttons = js.b1 | (js.b2 << 1); -#ifdef DEBUG - ErrorF("xf86JoystickGetState: x = %d, y = %d, buttons = %d\n", *x, *y, - *buttons); -#endif - - return 1; -} - -/* - * Entry point for XFree86 Loader - */ -void -bsd_jstkModuleInit(pointer *data, INT32 *magic) -{ - *magic = MAGIC_DONE; - *data = NULL; -} -/* end of bsd_jstk.c */ diff --git a/xorg-server/hw/xfree86/os-support/bsd/bsd_mouse.c b/xorg-server/hw/xfree86/os-support/bsd/bsd_mouse.c deleted file mode 100644 index ca2c1bbd5..000000000 --- a/xorg-server/hw/xfree86/os-support/bsd/bsd_mouse.c +++ /dev/null @@ -1,791 +0,0 @@ - -/* - * Copyright (c) 1999-2003 by The XFree86 Project, 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 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_XORG_CONFIG_H -#include -#endif - -#include -#include "xf86.h" -#include "xf86Priv.h" -#include "xf86_OSlib.h" -#include "xf86Xinput.h" -#include "xf86OSmouse.h" -#include "xisb.h" -#include "mipointer.h" -#ifdef WSCONS_SUPPORT -#include -#endif -#ifdef USBMOUSE_SUPPORT -#ifdef HAS_LIB_USB_HID -#include -#else -#include "usb.h" -#endif - -#include -#ifdef USB_GET_REPORT_ID -#define USB_NEW_HID -#endif - -#define HUP_GENERIC_DESKTOP 0x0001 -#define HUP_BUTTON 0x0009 - -#define HUG_X 0x0030 -#define HUG_Y 0x0031 -#define HUG_Z 0x0032 -#define HUG_WHEEL 0x0038 - -#define HID_USAGE2(p,u) (((p) << 16) | u) - -/* The UMS mices have middle button as number 3 */ -#define UMS_BUT(i) ((i) == 0 ? 2 : (i) == 1 ? 0 : (i) == 2 ? 1 : (i)) -#endif /* USBMOUSE_SUPPORT */ - -#ifdef USBMOUSE_SUPPORT -static void usbSigioReadInput (int fd, void *closure); -#endif - -#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__) -/* These are for FreeBSD and DragonFly */ -#define DEFAULT_MOUSE_DEV "/dev/mouse" -#define DEFAULT_SYSMOUSE_DEV "/dev/sysmouse" -#define DEFAULT_PS2_DEV "/dev/psm0" - -static const char *mouseDevs[] = { - DEFAULT_MOUSE_DEV, - DEFAULT_SYSMOUSE_DEV, - DEFAULT_PS2_DEV, - NULL -}; -#elif (defined(__OpenBSD__) || defined(__NetBSD__)) && defined(WSCONS_SUPPORT) -/* Only wsmouse mices are autoconfigured for now on OpenBSD */ -#define DEFAULT_WSMOUSE_DEV "/dev/wsmouse" -#define DEFAULT_WSMOUSE0_DEV "/dev/wsmouse0" - -static const char *mouseDevs[] = { - DEFAULT_WSMOUSE_DEV, - DEFAULT_WSMOUSE0_DEV, - NULL -}; -#endif - -static int -SupportedInterfaces(void) -{ -#if defined(__NetBSD__) - return MSE_SERIAL | MSE_BUS | MSE_PS2 | MSE_AUTO; -#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__) - return MSE_SERIAL | MSE_BUS | MSE_PS2 | MSE_AUTO | MSE_MISC; -#else - return MSE_SERIAL | MSE_BUS | MSE_PS2 | MSE_XPS2 | MSE_AUTO; -#endif -} - -/* Names of protocols that are handled internally here. */ -static const char *internalNames[] = { -#if defined(WSCONS_SUPPORT) - "WSMouse", -#endif -#if defined(USBMOUSE_SUPPORT) - "usb", -#endif - NULL -}; - -/* - * Names of MSC_MISC protocols that the OS supports. These are decoded by - * main "mouse" driver. - */ -static const char *miscNames[] = { -#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__) - "SysMouse", -#endif - NULL -}; - -static const char ** -BuiltinNames(void) -{ - return internalNames; -} - -static Bool -CheckProtocol(const char *protocol) -{ - int i; - - for (i = 0; internalNames[i]; i++) - if (xf86NameCmp(protocol, internalNames[i]) == 0) - return TRUE; - for (i = 0; miscNames[i]; i++) - if (xf86NameCmp(protocol, miscNames[i]) == 0) - return TRUE; - return FALSE; -} - -static const char * -DefaultProtocol(void) -{ -#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__) - return "Auto"; -#elif (defined(__OpenBSD__) || defined(__NetBSD__)) && defined(WSCONS_SUPPORT) - return "WSMouse"; -#else - return NULL; -#endif -} - -#if (defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__)) && defined(MOUSE_PROTO_SYSMOUSE) -static struct { - int dproto; - const char *name; -} devproto[] = { - { MOUSE_PROTO_MS, "Microsoft" }, - { MOUSE_PROTO_MSC, "MouseSystems" }, - { MOUSE_PROTO_LOGI, "Logitech" }, - { MOUSE_PROTO_MM, "MMSeries" }, - { MOUSE_PROTO_LOGIMOUSEMAN, "MouseMan" }, - { MOUSE_PROTO_BUS, "BusMouse" }, - { MOUSE_PROTO_INPORT, "BusMouse" }, - { MOUSE_PROTO_PS2, "PS/2" }, - { MOUSE_PROTO_HITTAB, "MMHitTab" }, - { MOUSE_PROTO_GLIDEPOINT, "GlidePoint" }, - { MOUSE_PROTO_INTELLI, "Intellimouse" }, - { MOUSE_PROTO_THINK, "ThinkingMouse" }, - { MOUSE_PROTO_SYSMOUSE, "SysMouse" } -}; - -static const char * -SetupAuto(InputInfoPtr pInfo, int *protoPara) -{ - int i; - mousehw_t hw; - mousemode_t mode; - - if (pInfo->fd == -1) - return NULL; - - /* set the driver operation level, if applicable */ - i = 1; - ioctl(pInfo->fd, MOUSE_SETLEVEL, &i); - - /* interrogate the driver and get some intelligence on the device. */ - hw.iftype = MOUSE_IF_UNKNOWN; - hw.model = MOUSE_MODEL_GENERIC; - ioctl(pInfo->fd, MOUSE_GETHWINFO, &hw); - xf86MsgVerb(X_INFO, 3, "%s: SetupAuto: hw.iftype is %d, hw.model is %d\n", - pInfo->name, hw.iftype, hw.model); - if (ioctl(pInfo->fd, MOUSE_GETMODE, &mode) == 0) { - for (i = 0; i < sizeof(devproto)/sizeof(devproto[0]); ++i) { - if (mode.protocol == devproto[i].dproto) { - /* override some parameters */ - if (protoPara) { - protoPara[4] = mode.packetsize; - protoPara[0] = mode.syncmask[0]; - protoPara[1] = mode.syncmask[1]; - } - xf86MsgVerb(X_INFO, 3, "%s: SetupAuto: protocol is %s\n", - pInfo->name, devproto[i].name); - return devproto[i].name; - } - } - } - return NULL; -} - -static void -SetSysMouseRes(InputInfoPtr pInfo, const char *protocol, int rate, int res) -{ - mousemode_t mode; - MouseDevPtr pMse; - - pMse = pInfo->private; - - mode.rate = rate > 0 ? rate : -1; - mode.resolution = res > 0 ? res : -1; - mode.accelfactor = -1; -#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__) - if (pMse->autoProbe || - (protocol && xf86NameCmp(protocol, "SysMouse") == 0)) { - /* - * As the FreeBSD sysmouse driver defaults to protocol level 0 - * everytime it is opened we enforce protocol level 1 again at - * this point. - */ - mode.level = 1; - } else - mode.level = -1; -#else - mode.level = -1; -#endif - ioctl(pInfo->fd, MOUSE_SETMODE, &mode); -} -#endif - -#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__) - -#define MOUSED_PID_FILE "/var/run/moused.pid" - -/* - * Try to check if moused is running. DEFAULT_SYSMOUSE_DEV is useless without - * it. There doesn't seem to be a better way of checking. - */ -static Bool -MousedRunning(void) -{ - FILE *f = NULL; - unsigned int pid; - - if ((f = fopen(MOUSED_PID_FILE, "r")) != NULL) { - if (fscanf(f, "%u", &pid) == 1 && pid > 0) { - if (kill(pid, 0) == 0) { - fclose(f); - return TRUE; - } - } - fclose(f); - } - return FALSE; -} - -static const char * -FindDevice(InputInfoPtr pInfo, const char *protocol, int flags) -{ - int fd = -1; - const char **pdev, *dev = NULL; - Bool devMouse = FALSE; - struct stat devMouseStat; - struct stat sb; - - for (pdev = mouseDevs; *pdev; pdev++) { - SYSCALL (fd = open(*pdev, O_RDWR | O_NONBLOCK)); - if (fd == -1) { -#ifdef DEBUG - ErrorF("Cannot open %s (%s)\n", *pdev, strerror(errno)); -#endif - } else { - /* - * /dev/mouse is held until checks for matches with other devices - * are done. This is so that when it points to /dev/sysmouse, - * the test for whether /dev/sysmouse is usable can be made. - */ - if (!strcmp(*pdev, DEFAULT_MOUSE_DEV)) { - if (fstat(fd, &devMouseStat) == 0) - devMouse = TRUE; - close(fd); - continue; - } else if (!strcmp(*pdev, DEFAULT_SYSMOUSE_DEV)) { - /* Check if /dev/mouse is the same as /dev/sysmouse. */ - if (devMouse && fstat(fd, &sb) == 0 && - devMouseStat.st_dev == sb.st_dev && - devMouseStat.st_ino == sb.st_ino) { - /* If the same, use /dev/sysmouse. */ - devMouse = FALSE; - } - close(fd); - if (MousedRunning()) - break; - else { -#ifdef DEBUG - ErrorF("moused isn't running\n"); -#endif - } - } else { - close(fd); - break; - } - } - } - - if (*pdev) - dev = *pdev; - else if (devMouse) - dev = DEFAULT_MOUSE_DEV; - - if (dev) { - /* Set the Device option. */ - pInfo->conf_idev->commonOptions = - xf86AddNewOption(pInfo->conf_idev->commonOptions, "Device", dev); - xf86Msg(X_INFO, "%s: Setting Device option to \"%s\"\n", - pInfo->name, dev); - } - - return *pdev; -} -#endif - -#if (defined(__OpenBSD__) || defined(__NetBSD__)) && defined(WSCONS_SUPPORT) - -/* Only support wsmouse configuration for now */ -static const char * -SetupAuto(InputInfoPtr pInfo, int *protoPara) -{ - - xf86MsgVerb(X_INFO, 3, "%s: SetupAuto: protocol is %s\n", - pInfo->name, "wsmouse"); - return "wsmouse"; -} - -static void -SetMouseRes(InputInfoPtr pInfo, const char *protocol, int rate, int res) -{ - - xf86MsgVerb(X_INFO, 3, "%s: SetMouseRes: protocol %s rate %d res %d\n", - pInfo->name, protocol, rate, res); -} - -static const char * -FindDevice(InputInfoPtr pInfo, const char *protocol, int flags) -{ - int fd = -1; - const char **pdev; - - for (pdev = mouseDevs; *pdev; pdev++) { - SYSCALL(fd = open(*pdev, O_RDWR | O_NONBLOCK)); - if (fd != -1) { - /* Set the Device option. */ - pInfo->conf_idev->commonOptions = - xf86AddNewOption(pInfo->conf_idev->commonOptions, - "Device", *pdev); - xf86Msg(X_INFO, "%s: found Device \"%s\"\n", - pInfo->name, *pdev); - close(fd); - break; - } - } - return *pdev; -} -#endif /* __OpenBSD__ || __NetBSD__ && WSCONS_SUPPORT */ - -#ifdef WSCONS_SUPPORT -#define NUMEVENTS 64 - -static void -wsconsReadInput(InputInfoPtr pInfo) -{ - MouseDevPtr pMse; - static struct wscons_event eventList[NUMEVENTS]; - int n, c; - struct wscons_event *event = eventList; - unsigned char *pBuf; - - pMse = pInfo->private; - - XisbBlockDuration(pMse->buffer, -1); - pBuf = (unsigned char *)eventList; - n = 0; - while (n < sizeof(eventList) && (c = XisbRead(pMse->buffer)) >= 0) { - pBuf[n++] = (unsigned char)c; - } - - if (n == 0) - return; - - n /= sizeof(struct wscons_event); - while( n-- ) { - int buttons = pMse->lastButtons; - int dx = 0, dy = 0, dz = 0, dw = 0; - switch (event->type) { - case WSCONS_EVENT_MOUSE_UP: -#define BUTBIT (1 << (event->value <= 2 ? 2 - event->value : event->value)) - buttons &= ~BUTBIT; - break; - case WSCONS_EVENT_MOUSE_DOWN: - buttons |= BUTBIT; - break; - case WSCONS_EVENT_MOUSE_DELTA_X: - dx = event->value; - break; - case WSCONS_EVENT_MOUSE_DELTA_Y: - dy = -event->value; - break; -#ifdef WSCONS_EVENT_MOUSE_DELTA_Z - case WSCONS_EVENT_MOUSE_DELTA_Z: - dz = event->value; - break; -#endif - default: - xf86Msg(X_WARNING, "%s: bad wsmouse event type=%d\n", pInfo->name, - event->type); - ++event; - continue; - } - - pMse->PostEvent(pInfo, buttons, dx, dy, dz, dw); - ++event; - } - return; -} - - -/* This function is called when the protocol is "wsmouse". */ -static Bool -wsconsPreInit(InputInfoPtr pInfo, const char *protocol, int flags) -{ - MouseDevPtr pMse = pInfo->private; - - pMse->protocol = protocol; - xf86Msg(X_CONFIG, "%s: Protocol: %s\n", pInfo->name, protocol); - - /* Collect the options, and process the common options. */ - xf86CollectInputOptions(pInfo, NULL, NULL); - xf86ProcessCommonOptions(pInfo, pInfo->options); - - /* Check if the device can be opened. */ - pInfo->fd = xf86OpenSerial(pInfo->options); - if (pInfo->fd == -1) { - if (xf86GetAllowMouseOpenFail()) - xf86Msg(X_WARNING, "%s: cannot open input device\n", pInfo->name); - else { - xf86Msg(X_ERROR, "%s: cannot open input device\n", pInfo->name); - xfree(pMse); - return FALSE; - } - } - xf86CloseSerial(pInfo->fd); - pInfo->fd = -1; - - /* Process common mouse options (like Emulate3Buttons, etc). */ - pMse->CommonOptions(pInfo); - - /* Setup the local input proc. */ - pInfo->read_input = wsconsReadInput; - pMse->xisbscale = sizeof(struct wscons_event); - - pInfo->flags |= XI86_CONFIGURED; - return TRUE; -} -#endif - -#if defined(USBMOUSE_SUPPORT) - -typedef struct _UsbMseRec { - int packetSize; - int iid; - hid_item_t loc_x; /* x locator item */ - hid_item_t loc_y; /* y locator item */ - hid_item_t loc_z; /* z (wheel) locator item */ - hid_item_t loc_btn[MSE_MAXBUTTONS]; /* buttons locator items */ - unsigned char *buffer; -} UsbMseRec, *UsbMsePtr; - -static int -usbMouseProc(DeviceIntPtr pPointer, int what) -{ - InputInfoPtr pInfo; - MouseDevPtr pMse; - UsbMsePtr pUsbMse; - unsigned char map[MSE_MAXBUTTONS + 1]; - int nbuttons; - - pInfo = pPointer->public.devicePrivate; - pMse = pInfo->private; - pMse->device = pPointer; - pUsbMse = pMse->mousePriv; - - switch (what) { - case DEVICE_INIT: - pPointer->public.on = FALSE; - - for (nbuttons = 0; nbuttons < MSE_MAXBUTTONS; ++nbuttons) - map[nbuttons + 1] = nbuttons + 1; - - InitPointerDeviceStruct((DevicePtr)pPointer, - map, - min(pMse->buttons, MSE_MAXBUTTONS), - miPointerGetMotionEvents, - pMse->Ctrl, - miPointerGetMotionBufferSize()); - - /* X valuator */ - xf86InitValuatorAxisStruct(pPointer, 0, 0, -1, 1, 0, 1); - xf86InitValuatorDefaults(pPointer, 0); - /* Y valuator */ - xf86InitValuatorAxisStruct(pPointer, 1, 0, -1, 1, 0, 1); - xf86InitValuatorDefaults(pPointer, 1); - xf86MotionHistoryAllocate(pInfo); - break; - - case DEVICE_ON: - pInfo->fd = xf86OpenSerial(pInfo->options); - if (pInfo->fd == -1) - xf86Msg(X_WARNING, "%s: cannot open input device\n", pInfo->name); - else { - pMse->buffer = XisbNew(pInfo->fd, pUsbMse->packetSize); - if (!pMse->buffer) { - xfree(pMse); - xf86CloseSerial(pInfo->fd); - pInfo->fd = -1; - } else { - xf86FlushInput(pInfo->fd); - if (!xf86InstallSIGIOHandler (pInfo->fd, usbSigioReadInput, - pInfo)) - AddEnabledDevice(pInfo->fd); - } - } - pMse->lastButtons = 0; - pMse->lastMappedButtons = 0; - pMse->emulateState = 0; - pPointer->public.on = TRUE; - break; - - case DEVICE_OFF: - case DEVICE_CLOSE: - if (pInfo->fd != -1) { - RemoveEnabledDevice(pInfo->fd); - if (pUsbMse->packetSize > 8 && pUsbMse->buffer) { - xfree(pUsbMse->buffer); - } - if (pMse->buffer) { - XisbFree(pMse->buffer); - pMse->buffer = NULL; - } - xf86CloseSerial(pInfo->fd); - pInfo->fd = -1; - } - pPointer->public.on = FALSE; - usleep(300000); - break; - } - return Success; -} - -static void -usbReadInput(InputInfoPtr pInfo) -{ - MouseDevPtr pMse; - UsbMsePtr pUsbMse; - int buttons = pMse->lastButtons; - int dx = 0, dy = 0, dz = 0, dw = 0; - int n, c; - unsigned char *pBuf; - - pMse = pInfo->private; - pUsbMse = pMse->mousePriv; - - XisbBlockDuration(pMse->buffer, -1); - pBuf = pUsbMse->buffer; - n = 0; - while ((c = XisbRead(pMse->buffer)) >= 0 && n < pUsbMse->packetSize) { - pBuf[n++] = (unsigned char)c; - } - if (n == 0) - return; - if (n != pUsbMse->packetSize) { - xf86Msg(X_WARNING, "%s: incomplete packet, size %d\n", pInfo->name, - n); - } - /* discard packets with an id that don't match the mouse */ - /* XXX this is probably not the right thing */ - if (pUsbMse->iid != 0) { - if (*pBuf++ != pUsbMse->iid) - return; - } - dx = hid_get_data(pBuf, &pUsbMse->loc_x); - dy = hid_get_data(pBuf, &pUsbMse->loc_y); - dz = hid_get_data(pBuf, &pUsbMse->loc_z); - - buttons = 0; - for (n = 0; n < pMse->buttons; n++) { - if (hid_get_data(pBuf, &pUsbMse->loc_btn[n])) - buttons |= (1 << UMS_BUT(n)); - } - pMse->PostEvent(pInfo, buttons, dx, dy, dz, dw); - return; -} - -static void -usbSigioReadInput (int fd, void *closure) -{ - usbReadInput ((InputInfoPtr) closure); -} - -/* This function is called when the protocol is "usb". */ -static Bool -usbPreInit(InputInfoPtr pInfo, const char *protocol, int flags) -{ - MouseDevPtr pMse = pInfo->private; - UsbMsePtr pUsbMse; - report_desc_t reportDesc; - int i; - - pUsbMse = xalloc(sizeof(UsbMseRec)); - if (pUsbMse == NULL) { - xf86Msg(X_ERROR, "%s: cannot allocate UsbMouseRec\n", pInfo->name); - xfree(pMse); - return FALSE; - } - - pMse->protocol = protocol; - xf86Msg(X_CONFIG, "%s: Protocol: %s\n", pInfo->name, protocol); - - /* Collect the options, and process the common options. */ - xf86CollectInputOptions(pInfo, NULL, NULL); - xf86ProcessCommonOptions(pInfo, pInfo->options); - - /* Check if the device can be opened. */ - pInfo->fd = xf86OpenSerial(pInfo->options); - if (pInfo->fd == -1) { - if (xf86GetAllowMouseOpenFail()) - xf86Msg(X_WARNING, "%s: cannot open input device\n", pInfo->name); - else { - xf86Msg(X_ERROR, "%s: cannot open input device\n", pInfo->name); - xfree(pUsbMse); - xfree(pMse); - return FALSE; - } - } - /* Get USB informations */ - reportDesc = hid_get_report_desc(pInfo->fd); - /* Get packet size & iid */ -#ifdef USB_NEW_HID - if (ioctl(pInfo->fd, USB_GET_REPORT_ID, &pUsbMse->iid) == -1) { - xf86Msg(X_ERROR, "Error ioctl USB_GET_REPORT_ID on %s : %s\n", - pInfo->name, strerror(errno)); - return FALSE; - } - pUsbMse->packetSize = hid_report_size(reportDesc, hid_input, - pUsbMse->iid); -#else - pUsbMse->packetSize = hid_report_size(reportDesc, hid_input, - &pUsbMse->iid); -#endif - /* Allocate buffer */ - if (pUsbMse->packetSize <= 8) { - pUsbMse->buffer = pMse->protoBuf; - } else { - pUsbMse->buffer = xalloc(pUsbMse->packetSize); - } - if (pUsbMse->buffer == NULL) { - xf86Msg(X_ERROR, "%s: cannot allocate buffer\n", pInfo->name); - xfree(pUsbMse); - xfree(pMse); - xf86CloseSerial(pInfo->fd); - return FALSE; - } -#ifdef USB_NEW_HID - if (hid_locate(reportDesc, HID_USAGE2(HUP_GENERIC_DESKTOP, HUG_X), - hid_input, &pUsbMse->loc_x, pUsbMse->iid) < 0) { - xf86Msg(X_WARNING, "%s: no x locator\n", pInfo->name); - } - if (hid_locate(reportDesc, HID_USAGE2(HUP_GENERIC_DESKTOP, HUG_Y), - hid_input, &pUsbMse->loc_y, pUsbMse->iid) < 0) { - xf86Msg(X_WARNING, "%s: no y locator\n", pInfo->name); - } - if (hid_locate(reportDesc, HID_USAGE2(HUP_GENERIC_DESKTOP, HUG_WHEEL), - hid_input, &pUsbMse->loc_z, pUsbMse->iid) < 0) { - } -#else - if (hid_locate(reportDesc, HID_USAGE2(HUP_GENERIC_DESKTOP, HUG_X), - hid_input, &pUsbMse->loc_x) < 0) { - xf86Msg(X_WARNING, "%s: no x locator\n", pInfo->name); - } - if (hid_locate(reportDesc, HID_USAGE2(HUP_GENERIC_DESKTOP, HUG_Y), - hid_input, &pUsbMse->loc_y) < 0) { - xf86Msg(X_WARNING, "%s: no y locator\n", pInfo->name); - } - if (hid_locate(reportDesc, HID_USAGE2(HUP_GENERIC_DESKTOP, HUG_WHEEL), - hid_input, &pUsbMse->loc_z) < 0) { - } -#endif - /* Probe for number of buttons */ - for (i = 1; i <= MSE_MAXBUTTONS; i++) { - if (!hid_locate(reportDesc, HID_USAGE2(HUP_BUTTON, i), - hid_input, &pUsbMse->loc_btn[i-1] -#ifdef USB_NEW_HID - , pUsbMse->iid -#endif - )) - break; - } - pMse->buttons = i-1; - - xf86CloseSerial(pInfo->fd); - pInfo->fd = -1; - - /* Private structure */ - pMse->mousePriv = pUsbMse; - - /* Process common mouse options (like Emulate3Buttons, etc). */ - pMse->CommonOptions(pInfo); - - /* Setup the local procs. */ - pInfo->device_control = usbMouseProc; - pInfo->read_input = usbReadInput; - - pInfo->flags |= XI86_CONFIGURED; - return TRUE; -} -#endif /* USBMOUSE */ - -static Bool -bsdMousePreInit(InputInfoPtr pInfo, const char *protocol, int flags) -{ - /* The protocol is guaranteed to be one of the internalNames[] */ -#ifdef WSCONS_SUPPORT - if (xf86NameCmp(protocol, "WSMouse") == 0) { - return wsconsPreInit(pInfo, protocol, flags); - } -#endif -#ifdef USBMOUSE_SUPPORT - if (xf86NameCmp(protocol, "usb") == 0) { - return usbPreInit(pInfo, protocol, flags); - } -#endif - return TRUE; -} - -_X_EXPORT OSMouseInfoPtr -xf86OSMouseInit(int flags) -{ - OSMouseInfoPtr p; - - p = xcalloc(sizeof(OSMouseInfoRec), 1); - if (!p) - return NULL; - p->SupportedInterfaces = SupportedInterfaces; - p->BuiltinNames = BuiltinNames; - p->DefaultProtocol = DefaultProtocol; - p->CheckProtocol = CheckProtocol; -#if (defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__)) && defined(MOUSE_PROTO_SYSMOUSE) - p->SetupAuto = SetupAuto; - p->SetPS2Res = SetSysMouseRes; - p->SetBMRes = SetSysMouseRes; - p->SetMiscRes = SetSysMouseRes; -#endif -#if (defined(__OpenBSD__) || defined(__NetBSD__)) && defined(WSCONS_SUPPORT) - p->SetupAuto = SetupAuto; - p->SetMiscRes = SetMouseRes; -#endif -#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__OpenBSD__) || defined(__DragonFly__) || defined(__NetBSD__) - p->FindDevice = FindDevice; -#endif - p->PreInit = bsdMousePreInit; - return p; -} diff --git a/xorg-server/hw/xfree86/os-support/bsd/i386_video.c b/xorg-server/hw/xfree86/os-support/bsd/i386_video.c index e2f6420d8..83dabc9c6 100644 --- a/xorg-server/hw/xfree86/os-support/bsd/i386_video.c +++ b/xorg-server/hw/xfree86/os-support/bsd/i386_video.c @@ -55,11 +55,6 @@ #endif #endif -#if defined(__OpenBSD__) && (defined(__amd64__) || defined(__x86_64__)) -#include -#include -#endif - #include "xf86_OSlib.h" #include "xf86OSpriv.h" @@ -108,11 +103,6 @@ static pointer NetBSDsetWC(int, unsigned long, unsigned long, Bool, MessageType); static void NetBSDundoWC(int, pointer); #endif -#if (defined(__amd64__) || defined(__x86_64__)) && defined(__OpenBSD__) -static pointer amd64setWC(int, unsigned long, unsigned long, Bool, - MessageType); -static void amd64undoWC(int, pointer); -#endif /* * Check if /dev/mem can be mmap'd. If it can't print a warning when @@ -228,10 +218,6 @@ xf86OSInitVidMem(VidMemInfoPtr pVidMem) #if defined(HAS_MTRR_BUILTIN) && defined(__NetBSD__) pVidMem->setWC = NetBSDsetWC; pVidMem->undoWC = NetBSDundoWC; -#endif -#if (defined(__amd64__) || defined(__x86_64__)) && defined(__OpenBSD__) - pVidMem->setWC = amd64setWC; - pVidMem->undoWC = amd64undoWC; #endif pVidMem->initialised = TRUE; } @@ -458,38 +444,6 @@ xf86DisableIO() #endif - -/***************************************************************************/ -/* Interrupt Handling section */ -/***************************************************************************/ - -_X_EXPORT Bool -xf86DisableInterrupts() -{ - -#ifdef __GNUC__ - __asm__ __volatile__("cli"); -#else - asm("cli"); -#endif /* __GNUC__ */ - - return(TRUE); -} - -_X_EXPORT void -xf86EnableInterrupts() -{ - -#ifdef __GNUC__ - __asm__ __volatile__("sti"); -#else - asm("sti"); -#endif /* __GNUC__ */ - - return; -} - - #ifdef __NetBSD__ /***************************************************************************/ /* Set TV output mode */ @@ -952,55 +906,3 @@ NetBSDundoWC(int screenNum, pointer list) xfree(mtrrp); } #endif - -#if defined(__OpenBSD__) && (defined(__amd64__) || defined(__x86_64__)) -static pointer -amd64setWC(int screenNum, unsigned long base, unsigned long size, Bool enable, - MessageType from) -{ - struct mtrr *mtrrp; - int n; - - xf86DrvMsg(screenNum, X_WARNING, - "%s MTRR %lx - %lx\n", enable ? "set" : "remove", - base, (base + size)); - - mtrrp = xnfalloc(sizeof (struct mtrr)); - mtrrp->base = base; - mtrrp->len = size; - mtrrp->type = MTRR_TYPE_WC; - - /* - * MTRR_PRIVATE will make this MTRR get reset automatically - * if this process exits, so we have no need for an explicit - * cleanup operation when starting a new server. - */ - - if (enable) - mtrrp->flags = MTRR_VALID | MTRR_PRIVATE; - else - mtrrp->flags = 0; - n = 1; - - if (amd64_set_mtrr(mtrrp, &n) < 0) { - xfree(mtrrp); - return NULL; - } - return mtrrp; -} - -static void -amd64undoWC(int screenNum, pointer list) -{ - struct mtrr *mtrrp = (struct mtrr *)list; - int n; - - if (mtrrp == NULL) - return; - n = 1; - mtrrp->flags &= ~MTRR_VALID; - amd64_set_mtrr(mtrrp, &n); - xfree(mtrrp); -} -#endif /* OpenBSD/amd64 */ - diff --git a/xorg-server/hw/xfree86/os-support/bsd/libusb/data.c b/xorg-server/hw/xfree86/os-support/bsd/libusb/data.c deleted file mode 100644 index 292e5d885..000000000 --- a/xorg-server/hw/xfree86/os-support/bsd/libusb/data.c +++ /dev/null @@ -1,92 +0,0 @@ -/* - * 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. - */ - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include -#include -#include "usb.h" - -int -hid_get_data(void *p, hid_item_t *h) -{ - unsigned char *buf; - unsigned int hpos; - unsigned int hsize; - int data; - int i, end, offs; - - _DIAGASSERT(p != NULL); - _DIAGASSERT(h != NULL); - - buf = p; - hpos = h->pos; /* bit position of data */ - hsize = h->report_size; /* bit length of data */ - - if (hsize == 0) - return (0); - offs = hpos / 8; - end = (hpos + hsize) / 8 - offs; - data = 0; - for (i = 0; i <= end; i++) - data |= buf[offs + i] << (i*8); - data >>= hpos % 8; - data &= (1 << hsize) - 1; - if (h->logical_minimum < 0) { - /* Need to sign extend */ - hsize = sizeof data * 8 - hsize; - data = (data << hsize) >> hsize; - } - return (data); -} - -void -hid_set_data(void *p, hid_item_t *h, int data) -{ - unsigned char *buf; - unsigned int hpos; - unsigned int hsize; - int i, end, offs; - - _DIAGASSERT(p != NULL); - _DIAGASSERT(h != NULL); - - buf = p; - hpos = h->pos; /* bit position of data */ - hsize = h->report_size; /* bit length of data */ - - if (hsize != 32) - data &= (1 << hsize) - 1; - data <<= (hpos % 8); - - offs = hpos / 8; - end = (hpos + hsize) / 8 - offs; - data = 0; - for (i = 0; i <= end; i++) - buf[offs + i] |= (data >> (i*8)) & 0xff; -} diff --git a/xorg-server/hw/xfree86/os-support/bsd/libusb/descr.c b/xorg-server/hw/xfree86/os-support/bsd/libusb/descr.c deleted file mode 100644 index 4dc3524d5..000000000 --- a/xorg-server/hw/xfree86/os-support/bsd/libusb/descr.c +++ /dev/null @@ -1,73 +0,0 @@ -/* - * 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. - */ - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include - -#include -#include -#include -#include -#include -#include - -#include - -#include "usb.h" -#include "usbvar.h" - -report_desc_t -hid_get_report_desc(fd) - int fd; -{ - struct usb_ctl_report_desc rep; - report_desc_t r; - - _DIAGASSERT(fd != -1); - - rep.size = 0; - if (ioctl(fd, USB_GET_REPORT_DESC, &rep) < 0) - return (0); - r = malloc(sizeof *r + rep.size); - if (r == 0) { - errno = ENOMEM; - return (0); - } - r->size = rep.size; - memcpy(r->data, rep.data, (unsigned int)rep.size); - return (r); -} - -void -hid_dispose_report_desc(r) - report_desc_t r; -{ - - free(r); -} diff --git a/xorg-server/hw/xfree86/os-support/bsd/libusb/parse.c b/xorg-server/hw/xfree86/os-support/bsd/libusb/parse.c deleted file mode 100644 index 0a846e42b..000000000 --- a/xorg-server/hw/xfree86/os-support/bsd/libusb/parse.c +++ /dev/null @@ -1,401 +0,0 @@ -/* - * 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. - */ - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include -#include -#include -#include - -#include -#include - -#include "usb.h" -#include "usbvar.h" - -#define MAXUSAGE 100 -struct hid_data { - u_char *start; - u_char *end; - u_char *p; - hid_item_t cur; - unsigned int usages[MAXUSAGE]; - int nusage; - int minset; - int multi; - int multimax; - int kindset; -}; - -static int min(int x, int y) { return x < y ? x : y; } - -static void -hid_clear_local(hid_item_t *c) -{ - - _DIAGASSERT(c != NULL); - - c->usage = 0; - c->usage_minimum = 0; - c->usage_maximum = 0; - c->designator_index = 0; - c->designator_minimum = 0; - c->designator_maximum = 0; - c->string_index = 0; - c->string_minimum = 0; - c->string_maximum = 0; - c->set_delimiter = 0; -} - -hid_data_t -hid_start_parse(report_desc_t d, int kindset) -{ - struct hid_data *s; - - _DIAGASSERT(d != NULL); - - s = malloc(sizeof *s); - memset(s, 0, sizeof *s); - s->start = s->p = d->data; - s->end = d->data + d->size; - s->kindset = kindset; - return (s); -} - -void -hid_end_parse(hid_data_t s) -{ - - _DIAGASSERT(s != NULL); - - while (s->cur.next) { - hid_item_t *hi = s->cur.next->next; - free(s->cur.next); - s->cur.next = hi; - } - free(s); -} - -int -hid_get_item(hid_data_t s, hid_item_t *h) -{ - hid_item_t *c; - unsigned int bTag = 0, bType = 0, bSize; - unsigned char *data; - int dval; - unsigned char *p; - hid_item_t *hi; - int i; - - _DIAGASSERT(s != NULL); - _DIAGASSERT(h != NULL); - - c = &s->cur; - - top: - if (s->multimax) { - if (s->multi < s->multimax) { - c->usage = s->usages[min(s->multi, s->nusage-1)]; - s->multi++; - *h = *c; - c->pos += c->report_size; - h->next = 0; - return (1); - } else { - c->report_count = s->multimax; - s->multimax = 0; - s->nusage = 0; - hid_clear_local(c); - } - } - for (;;) { - p = s->p; - if (p >= s->end) - return (0); - - bSize = *p++; - if (bSize == 0xfe) { - /* long item */ - bSize = *p++; - bSize |= *p++ << 8; - bTag = *p++; - data = p; - p += bSize; - } else { - /* short item */ - bTag = bSize >> 4; - bType = (bSize >> 2) & 3; - bSize &= 3; - if (bSize == 3) bSize = 4; - data = p; - p += bSize; - } - s->p = p; - /* - * The spec is unclear if the data is signed or unsigned. - */ - switch(bSize) { - case 0: - dval = 0; - break; - case 1: - dval = (int8_t)*data++; - break; - case 2: - dval = *data++; - dval |= *data++ << 8; - dval = (int16_t)dval; - break; - case 4: - dval = *data++; - dval |= *data++ << 8; - dval |= *data++ << 16; - dval |= *data++ << 24; - break; - default: - return (-1); - } - - switch (bType) { - case 0: /* Main */ - switch (bTag) { - case 8: /* Input */ - if (!(s->kindset & (1 << hid_input))) - continue; - c->kind = hid_input; - c->flags = dval; - ret: - if (c->flags & HIO_VARIABLE) { - s->multimax = c->report_count; - s->multi = 0; - c->report_count = 1; - if (s->minset) { - for (i = c->usage_minimum; - i <= c->usage_maximum; - i++) { - s->usages[s->nusage] = i; - if (s->nusage < MAXUSAGE-1) - s->nusage++; - } - s->minset = 0; - } - goto top; - } else { - if (s->minset) - c->usage = c->usage_minimum; - *h = *c; - h->next = 0; - c->pos += c->report_size * c->report_count; - hid_clear_local(c); - s->minset = 0; - return (1); - } - case 9: /* Output */ - if (!(s->kindset & (1 << hid_output))) - continue; - c->kind = hid_output; - c->flags = dval; - goto ret; - case 10: /* Collection */ - c->kind = hid_collection; - c->collection = dval; - c->collevel++; - *h = *c; - hid_clear_local(c); - s->nusage = 0; - return (1); - case 11: /* Feature */ - if (!(s->kindset & (1 << hid_feature))) - continue; - c->kind = hid_feature; - c->flags = dval; - goto ret; - case 12: /* End collection */ - c->kind = hid_endcollection; - c->collevel--; - *h = *c; - hid_clear_local(c); - s->nusage = 0; - return (1); - default: - return (-2); - } - - case 1: /* Global */ - switch (bTag) { - case 0: - c->_usage_page = dval << 16; - break; - case 1: - c->logical_minimum = dval; - break; - case 2: - c->logical_maximum = dval; - break; - case 3: - c->physical_maximum = dval; - break; - case 4: - c->physical_maximum = dval; - break; - case 5: - c->unit_exponent = dval; - break; - case 6: - c->unit = dval; - break; - case 7: - c->report_size = dval; - break; - case 8: - c->report_ID = dval; - break; - case 9: - c->report_count = dval; - break; - case 10: /* Push */ - hi = malloc(sizeof *hi); - *hi = s->cur; - c->next = hi; - break; - case 11: /* Pop */ - hi = c->next; - s->cur = *hi; - free(hi); - break; - default: - return (-3); - } - break; - case 2: /* Local */ - switch (bTag) { - case 0: - if (bSize == 1) - dval = c->_usage_page | (dval&0xff); - else if (bSize == 2) - dval = c->_usage_page | (dval&0xffff); - c->usage = dval; - if (s->nusage < MAXUSAGE) - s->usages[s->nusage++] = dval; - /* else XXX */ - break; - case 1: - s->minset = 1; - if (bSize == 1) - dval = c->_usage_page | (dval&0xff); - else if (bSize == 2) - dval = c->_usage_page | (dval&0xffff); - c->usage_minimum = dval; - break; - case 2: - if (bSize == 1) - dval = c->_usage_page | (dval&0xff); - else if (bSize == 2) - dval = c->_usage_page | (dval&0xffff); - c->usage_maximum = dval; - break; - case 3: - c->designator_index = dval; - break; - case 4: - c->designator_minimum = dval; - break; - case 5: - c->designator_maximum = dval; - break; - case 7: - c->string_index = dval; - break; - case 8: - c->string_minimum = dval; - break; - case 9: - c->string_maximum = dval; - break; - case 10: - c->set_delimiter = dval; - break; - default: - return (-4); - } - break; - default: - return (-5); - } - } -} - -int -hid_report_size(report_desc_t r, enum hid_kind k, int *idp) -{ - struct hid_data *d; - hid_item_t h; - int size, id; - - _DIAGASSERT(r != NULL); - /* idp may be NULL */ - - id = 0; - if (idp) - *idp = 0; - memset(&h, 0, sizeof h); - for (d = hid_start_parse(r, 1<kind == k && !(h->flags & HIO_CONST) && h->usage == u) { - hid_end_parse(d); - return (1); - } - } - hid_end_parse(d); - h->report_size = 0; - return (0); -} diff --git a/xorg-server/hw/xfree86/os-support/bsd/libusb/usage.c b/xorg-server/hw/xfree86/os-support/bsd/libusb/usage.c deleted file mode 100644 index 9b491c57a..000000000 --- a/xorg-server/hw/xfree86/os-support/bsd/libusb/usage.c +++ /dev/null @@ -1,196 +0,0 @@ -/* - * 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. - */ - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include - -#include "usb.h" - -#define _PATH_HIDTABLE "/usr/share/misc/usb_hid_usages" - -struct usage_in_page { - char *name; - int usage; -}; - -static struct usage_page { - char *name; - int usage; - struct usage_in_page *page_contents; - int pagesize, pagesizemax; -} *pages; -static int npages, npagesmax; - -#ifdef DEBUG -void -dump_hid_table(void) -{ - int i, j; - - for (i = 0; i < npages; i++) { - printf("%d\t%s\n", pages[i].usage, pages[i].name); - for (j = 0; j < pages[i].pagesize; j++) { - printf("\t%d\t%s\n", pages[i].page_contents[j].usage, - pages[i].page_contents[j].name); - } - } -} -#endif - -void -hid_init(char *hidname) -{ - FILE *f; - char line[100], name[100], *p, *n; - int no; - int lineno; - struct usage_page *curpage = 0; - - if (hidname == 0) - hidname = _PATH_HIDTABLE; - - f = fopen(hidname, "r"); - if (f == NULL) - err(1, "%s", hidname); - for (lineno = 1; ; lineno++) { - if (fgets(line, sizeof line, f) == NULL) - break; - if (line[0] == '#') - continue; - for (p = line; *p && isspace(*p); p++) - ; - if (!*p) - continue; - if (sscanf(line, " * %[^\n]", name) == 1) - no = -1; - else if (sscanf(line, " 0x%x %[^\n]", &no, name) != 2 && - sscanf(line, " %d %[^\n]", &no, name) != 2) - errx(1, "file %s, line %d, syntax error\n", - hidname, lineno); - for (p = name; *p; p++) - if (isspace(*p) || *p == '.') - *p = '_'; - n = strdup(name); - if (!n) - err(1, "strdup"); - if (isspace(line[0])) { - if (!curpage) - errx(1, "file %s, line %d, syntax error\n", - hidname, lineno); - if (curpage->pagesize >= curpage->pagesizemax) { - curpage->pagesizemax += 10; - curpage->page_contents = - realloc(curpage->page_contents, - curpage->pagesizemax * - sizeof (struct usage_in_page)); - if (!curpage->page_contents) - err(1, "realloc"); - } - curpage->page_contents[curpage->pagesize].name = n; - curpage->page_contents[curpage->pagesize].usage = no; - curpage->pagesize++; - } else { - if (npages >= npagesmax) { - if (pages == 0) { - npagesmax = 5; - pages = malloc(npagesmax * - sizeof (struct usage_page)); - } else { - npagesmax += 5; - pages = realloc(pages, - npagesmax * - sizeof (struct usage_page)); - } - if (!pages) - err(1, "alloc"); - } - curpage = &pages[npages++]; - curpage->name = n; - curpage->usage = no; - curpage->pagesize = 0; - curpage->pagesizemax = 10; - curpage->page_contents = - malloc(curpage->pagesizemax * - sizeof (struct usage_in_page)); - if (!curpage->page_contents) - err(1, "malloc"); - } - } - fclose(f); -#ifdef DEBUG - dump_hid_table(); -#endif -} - -char * -hid_usage_page(int i) -{ - static char b[10]; - int k; - - if (!pages) - errx(1, "no hid table\n"); - - for (k = 0; k < npages; k++) - if (pages[k].usage == i) - return pages[k].name; - sprintf(b, "0x%02x", i); - return b; -} - -char * -hid_usage_in_page(unsigned int u) -{ - int page = HID_PAGE(u); - int i = HID_USAGE(u); - static char b[100]; - int j, k, us; - - for (k = 0; k < npages; k++) - if (pages[k].usage == page) - break; - if (k >= npages) - goto bad; - for (j = 0; j < pages[k].pagesize; j++) { - us = pages[k].page_contents[j].usage; - if (us == -1) { - sprintf(b, pages[k].page_contents[j].name, i); - return b; - } - if (us == i) - return pages[k].page_contents[j].name; - } - bad: - sprintf(b, "0x%02x", i); - return b; -} diff --git a/xorg-server/hw/xfree86/os-support/bsd/libusb/usb.3 b/xorg-server/hw/xfree86/os-support/bsd/libusb/usb.3 deleted file mode 100644 index f88a28cd6..000000000 --- a/xorg-server/hw/xfree86/os-support/bsd/libusb/usb.3 +++ /dev/null @@ -1,191 +0,0 @@ -.\" $NetBSD: usb.3,v 1.9 1999/11/08 22:33:40 augustss Exp $ -.\" -.\" 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. -.\" -.\" $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bsd/libusb/usb.3,v 1.1 2000/02/11 18:06:50 dawes Exp $ -.\" -.Dd May 11, 1999 -.Dt USB 3 -.Os -.Sh NAME -.Nm usb , -.Nm hid_get_report_desc , -.Nm hid_dispose_report_desc , -.Nm hid_start_parse , -.Nm hid_end_parse , -.Nm hid_get_item , -.Nm hid_report_size , -.Nm hid_locate , -.Nm hid_usage_page , -.Nm hid_usage_in_page , -.Nm hid_init , -.Nm hid_get_data , -.Nm hid_set_data -.Nd USB HID access routines -.Sh LIBRARY -.Lb libusb -.Sh SYNOPSIS -.Fd #include -.Ft report_desc_t -.Fn hid_get_report_desc "int file" -.Ft void -.Fn hid_dispose_report_desc "report_desc_t d" -.Ft hid_data_t -.Fn hid_start_parse "report_desc_t d" "int kindset" -.Ft void -.Fn hid_end_parse "hid_data_t s" -.Ft int -.Fn hid_get_item "hid_data_t s" "hid_item_t *h" -.Ft int -.Fn hid_report_size "report_desc_t d" "hid_kind_t k" "int *idp" -.Ft int -.Fn hid_locate "report_desc_t d" "u_int usage" "hid_kind_t k" "hid_item_t *h" -.Ft char * -.Fn hid_usage_page "int i" -.Ft char * -.Fn hid_usage_in_page "u_int u" -.Ft void -.Fn hid_init "char *file" -.Ft int -.Fn hid_get_data "void *data" "hid_item_t *h" -.Ft void -.Fn hid_set_data "void *data" "hid_item_t *h" "u_int data" -.Sh DESCRIPTION -The -.Nm -library provides routines to extract data from USB Human Interface Devices. -.Ss INTRODUCTION -USB HID devices send and receive data layed out a device dependent -way. The -.Nm -library contains routines to extract the -.Em report descriptor -which contains the data layout information and then use this information. -.Pp -The routines can be divided into four parts: extraction of the descriptor, -parsing of the descriptor, translating to/from symbolic names, and -data manipulation. -.Ss DESCRIPTOR FUNCTIONS -A report descriptor can be obtained by calling -.Fn hid_get_report_desc -with a file descriptor obtained by opening a -.Xr uhid 4 -device. -When the report descriptor is no longer needed it should be freed -by calling -.Fn hid_dispose_report_desc . -The type -.Fa report_desc_t -is opaque and should be used when calling the parsing functions. -.Ss DESCRIPTOR PARSING FUNCTIONS -To parse the report descriptor the -.Fn hid_start_parse -function should be called with a report descriptor and a set that -describes which items that are interesting. The set is obtained -by oring together values -.Fa "(1 << k)" -where -.Fa k -is an item of type -.Fa hid_kind_t . -The function returns -.Fa NULL -if the initialization fails, otherwise an opaque value to be used -in subsequent calls. -After parsing the -.Fn hid_end_parse -function should be called to free internal data structures. -.Pp -To iterate through all the items in the report descriptor -.Fn hid_get_item -should be called while it returns a value greater than 0. -When the report descriptor ends it will returns 0; a syntax -error within the report descriptor will cause a return value less -than 0. -The struct pointed to by -.Fa h -will be filled with the relevant data for the item. -The definition of -.Fa hid_item_t -can be found in -.Pa -and the meaning of the components in the USB HID documentation. -.Pp -Data should be read/written to the device in the size of -the report. The size of a report (of a certain kind) can be -computed by the -.Fn hid_report_size -function. If the report is prefixed by an ID byte it is -stored at -.Fa idp , -otherwise it will contain 0. -.Pp -To locate a single item the -.Fn hid_locate -function can be used. It should be given the usage code of -the item and its kind and it will fill the item and return -non-zero if the item was found. -.Pp -.Ss NAME TRANSLATION FUNCTIONS -The function -.Fn hid_usage_page -will return the symbolic name of a usage page, and the function -.Fn hid_usage_in_page -will return the symbolic name of the usage within the page. -Both these functions may return a pointer to static data. -Before either of these functions can be called the usage table -must be parsed, this is done by calling -.Fn hid_init -with the name of the table. Passing -.Fa NULL -to this function will cause it to use the default table. -.Ss DATA EXTRACTION FUNCTIONS -Given the data obtained from a HID device and an item in the -report descriptor the -.Fn hid_get_data -function extracts the value of the item. -Conversely -.Fn hid_set_data -can be used to put data into a report (which must be zeroed first). -.Sh EXAMPLE -Not yet. -.Sh FILES -.Pa /usr/share/misc/usb_hid_usages -The default HID usage table. -.Sh BUGS -This man page is woefully incomplete. -.Sh SEE ALSO -The -.Tn USB -specifications can be found at -.Dv http://www.usb.org/developers/docs.htm . -.Pp -.Xr hid 4 , -.Xr usb 4 . -.Sh HISTORY -The -.Nm -library first appeared in -.Nx 1.5 . diff --git a/xorg-server/hw/xfree86/os-support/bsd/libusb/usb.h b/xorg-server/hw/xfree86/os-support/bsd/libusb/usb.h deleted file mode 100644 index c39dc063a..000000000 --- a/xorg-server/hw/xfree86/os-support/bsd/libusb/usb.h +++ /dev/null @@ -1,92 +0,0 @@ -/* - * 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. - */ - -#define _DIAGASSERT(e) assert(e) - -typedef struct report_desc *report_desc_t; - -typedef struct hid_data *hid_data_t; - -typedef enum hid_kind { - hid_input, hid_output, hid_feature, hid_collection, hid_endcollection -}hid_kind_t; - -typedef struct hid_item { - /* Global */ - int _usage_page; - int logical_minimum; - int logical_maximum; - int physical_minimum; - int physical_maximum; - int unit_exponent; - int unit; - int report_size; - int report_ID; - int report_count; - /* Local */ - unsigned int usage; - int usage_minimum; - int usage_maximum; - int designator_index; - int designator_minimum; - int designator_maximum; - int string_index; - int string_minimum; - int string_maximum; - int set_delimiter; - /* Misc */ - int collection; - int collevel; - enum hid_kind kind; - unsigned int flags; - /* Absolute data position (bits) */ - unsigned int pos; - /* */ - struct hid_item *next; -} hid_item_t; - -#define HID_PAGE(u) ((u) >> 16) -#define HID_USAGE(u) ((u) & 0xffff) - -/* Obtaining a report descriptor, descr.c: */ -report_desc_t hid_get_report_desc __P((int file)); -void hid_dispose_report_desc __P((report_desc_t)); - -/* Parsing of a HID report descriptor, parse.c: */ -hid_data_t hid_start_parse __P((report_desc_t d, int kindset)); -void hid_end_parse __P((hid_data_t s)); -int hid_get_item __P((hid_data_t s, hid_item_t *h)); -int hid_report_size __P((report_desc_t d, enum hid_kind k, int *idp)); -int hid_locate __P((report_desc_t d, unsigned int usage, enum hid_kind k, hid_item_t *h)); - -/* Conversion to/from usage names, usage.c: */ -char *hid_usage_page __P((int i)); -char *hid_usage_in_page __P((unsigned int u)); -void hid_init __P((char *file)); - -/* Extracting/insertion of data, data.c: */ -int hid_get_data __P((void *p, hid_item_t *h)); -void hid_set_data __P((void *p, hid_item_t *h, int data)); diff --git a/xorg-server/hw/xfree86/os-support/bsd/libusb/usb_hid_usages b/xorg-server/hw/xfree86/os-support/bsd/libusb/usb_hid_usages deleted file mode 100644 index 02f122028..000000000 --- a/xorg-server/hw/xfree86/os-support/bsd/libusb/usb_hid_usages +++ /dev/null @@ -1,1079 +0,0 @@ -# $NetBSD: usb_hid_usages,v 1.3 1999/07/02 15:46:53 simonb Exp $ -# -# USB HID usage table -# Syntax: -# - lines that do not start with a white space give the number and name of -# a usage page. -# - lines that start with a white space give the number and name of -# a usage with the last given page. -# If the number is * then the line matches all usages and the name -# is a printf formatting string that will be given the usage number. -# -# $XFree86: xc/programs/Xserver/hw/xfree86/os-support/libusb/usb_hid_usages,v 1.1.2.2 1999/12/03 10:12:43 hohndel Exp $ -# -1 Generic Desktop - 0x00 Undefined - 0x01 Pointer - 0x02 Mouse - 0x03 Reserved - 0x04 Joystick - 0x05 Game Pad - 0x06 Keyboard - 0x07 Keypad - 0x08 Multi-axis Controller - 0x30 X - 0x31 Y - 0x32 Z - 0x33 Rx - 0x34 Ry - 0x35 Rz - 0x36 Slider - 0x37 Dial - 0x38 Wheel - 0x39 Hat Switch - 0x3A Counted Buffer - 0x3B Byte Count - 0x3C Motion Wakeup - 0x40 Vx - 0x41 Vy - 0x42 Vz - 0x43 Vbrx - 0x44 Vbry - 0x45 Vbrx - 0x46 Vno - 0x80 System Control - 0x81 System Power Down - 0x82 System Sleep - 0x83 System Wake Up - 0x84 System Context Menu - 0x85 System Main Menu - 0x86 System App Menu - 0x87 System Menu Help - 0x88 System Menu Exit - 0x89 System Menu Select - 0x8A System Menu Right - 0x8B System Menu Left - 0x8C System Menu Up - 0x8D System Menu Down - 0x90 D-pad Up - 0x91 D-pad Down - 0x92 D-pad Right - 0x93 D-pad Left - -2 Simulation Controls - 0x00 Undefined - 0x01 Flight Simulation Device - 0x02 Automobile Simulation Device - 0x03 Tank Simulation Device - 0x04 Spaceship Simulation Device - 0x05 Submarine Simulation Device - 0x06 Sailing Simulation Device - 0x07 Motorcycle Simulation Device - 0x08 Sports Simulation Device - 0x09 Airplane Simulation Device - 0x0A Helicopter Simulation Device - 0x0B Magic Carpet Simulation Device - 0x0C Bicycle - 0x20 Flight Control Stick - 0x21 Flight Stick - 0x22 Cyclic Control - 0x23 Cyclic Trim - 0x24 Flight Yoke - 0x25 Track Control - 0x26 Driving Control - 0xB0 Aileron - 0xB1 Aileron Trim - 0xB2 Anti-Torque Control - 0xB3 Auto-pilot Enable - 0xB4 Chaff Release - 0xB5 Collective Control - 0xB6 Dive Brake - 0xB7 Electronic Counter Measures - 0xB8 Elevator - 0xB9 Elevator Trim - 0xBA Rudder - 0xBB Throttle - 0xBC Flight Communication - 0xBD Flare Release - 0xBE Landing Gear - 0xBF Toe Brake - 0xC0 Trigger - 0xC1 Weapons Arm - 0xC2 Weapons Select - 0xC3 Wing Flaps - 0xC4 Accelerator - 0xC5 Brake - 0xC6 Clutch - 0xC7 Shifter - 0xC8 Steering - 0xC9 Turret Direction - 0xCA Barrel Elevation - 0xCB Dive Plane - 0xCC Ballast - 0xCD Bicycle Crank - 0xCE Handle Bars - 0xCF Front Brake - 0xD0 Rear Brake - -3 VR Controls - 0x00 Unidentified - 0x01 Belt - 0x02 Body Suit - 0x03 Flexor - 0x04 Glove - 0x05 Head Tracker - 0x06 Head Mounted Display - 0x07 Hand Tracker - 0x08 Oculometer - 0x09 Vest - 0x0A Animatronic Device - 0x20 Stereo Enable - 0x21 Display Enable - -4 Sports Controls - 0x00 Unidentified - 0x01 Baseball Bat - 0x02 Golf Club - 0x03 Rowing Machine - 0x04 Treadmill - 0x30 Oar - 0x31 Slope - 0x32 Rate - 0x33 Stick Speed - 0x34 Stick Face Angle - 0x35 Stick Heel/Toe - 0x36 Stick Follow Through - 0x37 Stick Tempo - 0x38 Stick Type - 0x39 Stick Height - 0x50 Putter - 0x51 1 Iron - 0x52 2 Iron - 0x53 3 Iron - 0x54 4 Iron - 0x55 5 Iron - 0x56 6 Iron - 0x57 7 Iron - 0x58 8 Iron - 0x59 9 Iron - 0x5A 10 Iron - 0x5B 11 Iron - 0x5C Sand Wedge - 0x5D Loft Wedge - 0x5E Power Wedge - 0x5F 1 Wood - 0x60 3 Wood - 0x61 5 Wood - 0x62 7 Wood - 0x63 9 Wood - -5 Game Controls - 0x00 Undefined - 0x01 3D Game Controller - 0x02 Pinball Device - 0x03 Gun Device - 0x20 Point of View - 0x21 Turn Right/Left - 0x22 Pitch Right/Left - 0x23 Roll Forward/Backward - 0x24 Move Right/Left - 0x25 Move Forward/Backward - 0x26 Move Up/Down - 0x27 Lean Right/Left - 0x28 Lean Forward/Backward - 0x29 Height of POV - 0x2A Flipper - 0x2B Secondary Flipper - 0x2C Bump - 0x2D New Game - 0x2E Shoot Ball - 0x2F Player - 0x30 Gun Bolt - 0x31 Gun Clip - 0x32 Gun Selector - 0x33 Gun Single Shot - 0x34 Gun Burst - 0x35 Gun Automatic - 0x36 Gun Safety - 0x37 Gamepad Fire/Jump - 0x39 Gamepad Trigger - -7 Keyboard - 0x00 Reserved (no event indicated) - 0x01 Keyboard ErrorRollOver - 0x02 Keyboard POSTFail - 0x03 Keyboard ErrorUndefined - 0x04 Keyboard a and A - 0x05 Keyboard b and B - 0x06 Keyboard c and C - 0x07 Keyboard d and D - 0x08 Keyboard e and E - 0x09 Keyboard f and F - 0x0A Keyboard g and G - 0x0B Keyboard h and H - 0x0C Keyboard i and I - 0x0D Keyboard j and J - 0x0E Keyboard k and K - 0x0F Keyboard l and L - 0x10 Keyboard m and M - 0x11 Keyboard n and N - 0x12 Keyboard o and O - 0x13 Keyboard p and P - 0x14 Keyboard q and Q - 0x15 Keyboard r and R - 0x16 Keyboard s and S - 0x17 Keyboard t and T - 0x18 Keyboard u and U - 0x19 Keyboard v and V - 0x1A Keyboard w and W - 0x1B Keyboard x and X - 0x1C Keyboard y and Y - 0x1D Keyboard z and Z - 0x1E Keyboard 1 and ! - 0x1F Keyboard 2 and @ - 0x20 Keyboard 3 and # - 0x21 Keyboard 4 and $ - 0x22 Keyboard 5 and % - 0x23 Keyboard 6 and ^ - 0x24 Keyboard 7 and & - 0x25 Keyboard 8 and * - 0x26 Keyboard 9 and ( - 0x27 Keyboard 0 and ) - 0x28 Keyboard Return (ENTER) - 0x29 Keyboard ESCAPE - 0x2A Keyboard DELETE (Backspace) - 0x2B Keyboard Tab - 0x2C Keyboard Spacebar - 0x2D Keyboard - and (underscore) - 0x2E Keyboard = and + - 0x2F Keyboard [ and { - 0x30 Keyboard ] and } - 0x31 Keyboard \ and | - 0x32 Keyboard Non-US # and ~ - 0x33 Keyboard ; and : - 0x34 Keyboard ' and " - 0x35 Keyboard Grave Accent and Tilde - 0x36 Keyboard, and < - 0x37 Keyboard . and > - 0x38 Keyboard / and ? - 0x39 Keyboard Caps Lock - 0x3A Keyboard F1 - 0x3B Keyboard F2 - 0x3C Keyboard F3 - 0x3D Keyboard F4 - 0x3E Keyboard F5 - 0x3F Keyboard F6 - 0x40 Keyboard F7 - 0x41 Keyboard F8 - 0x42 Keyboard F9 - 0x43 Keyboard F10 - 0x44 Keyboard F11 - 0x45 Keyboard F12 - 0x46 Keyboard PrintScreen - 0x47 Keyboard Scroll Lock - 0x48 Keyboard Pause - 0x49 Keyboard Insert - 0x4A Keyboard Home - 0x4B Keyboard PageUp - 0x4C Keyboard Delete Forward - 0x4D Keyboard End - 0x4E Keyboard PageDown - 0x4F Keyboard RightArrow - 0x50 Keyboard LeftArrow - 0x51 Keyboard DownArrow - 0x52 Keyboard UpArrow - 0x53 Keypad Num Lock and Clear - 0x54 Keypad / - 0x55 Keypad * - 0x56 Keypad - - 0x57 Keypad + - 0x58 Keypad ENTER - 0x59 Keypad 1 and End - 0x5A Keypad 2 and Down Arrow - 0x5B Keypad 3 and PageDn - 0x5C Keypad 4 and Left Arrow - 0x5D Keypad 5 - 0x5E Keypad 6 and Right Arrow - 0x5F Keypad 7 and Home - 0x60 Keypad 8 and Up Arrow - 0x61 Keypad 9 and PageUp - 0x62 Keypad 0 and Insert - 0x63 Keypad . and Delete - 0x64 Keyboard Non-US \ and | - 0x65 Keyboard Application - 0x66 Keyboard Power - 0x67 Keypad = - 0x68 Keyboard F13 - 0x69 Keyboard F14 - 0x6A Keyboard F15 - 0x6B Keyboard F16 - 0x6C Keyboard F17 - 0x6D Keyboard F18 - 0x6E Keyboard F19 - 0x6F Keyboard F20 - 0x70 Keyboard F21 - 0x71 Keyboard F22 - 0x72 Keyboard F23 - 0x73 Keyboard F24 - 0x74 Keyboard Execute - 0x75 Keyboard Help - 0x76 Keyboard Menu - 0x77 Keyboard Select - 0x78 Keyboard Stop - 0x79 Keyboard Again - 0x7A Keyboard Undo - 0x7B Keyboard Cut - 0x7C Keyboard Copy - 0x7D Keyboard Paste - 0x7E Keyboard Find - 0x7F Keyboard Mute - 0x80 Keyboard Volume Up - 0x81 Keyboard Volume Down - 0x82 Keyboard Locking Caps Lock - 0x83 Keyboard Locking Num Lock - 0x84 Keyboard Locking Scroll Lock - 0x85 Keypad Comma - 0x86 Keypad Equal Sign - 0x87 Keyboard International1 - 0x88 Keyboard International2 - 0x89 Keyboard International3 - 0x8A Keyboard International4 - 0x8B Keyboard International5 - 0x8C Keyboard International6 - 0x8D Keyboard International7 - 0x8E Keyboard International8 - 0x8F Keyboard International9 - 0x90 Keyboard LANG1 - 0x91 Keyboard LANG2 - 0x92 Keyboard LANG3 - 0x93 Keyboard LANG4 - 0x94 Keyboard LANG5 - 0x95 Keyboard LANG6 - 0x96 Keyboard LANG7 - 0x97 Keyboard LANG8 - 0x98 Keyboard LANG9 - 0x99 Keyboard Alternate Erase - 0x9A Keyboard SysReq/Attention - 0x9B Keyboard Cancel - 0x9C Keyboard Clear - 0x9D Keyboard Prior - 0x9E Keyboard Return - 0x9F Keyboard Separator - 0xA0 Keyboard Out - 0xA1 Keyboard Oper - 0xA2 Keyboard Clear/Again - 0xA3 Keyboard CrSel/Props - 0xA4 Keyboard ExSel - 0xE0 Keyboard LeftControl - 0xE1 Keyboard LeftShift - 0xE2 Keyboard LeftAlt - 0xE3 Keyboard Left GUI - 0xE4 Keyboard RightControl - 0xE5 Keyboard RightShift - 0xE6 Keyboard RightAlt - 0xE7 Keyboard Right GUI - -8 LEDs - 0x00 Undefined - 0x01 Num Lock - 0x02 Caps Lock - 0x03 Scroll Lock - 0x04 Compose - 0x05 Kana - 0x06 Power - 0x07 Shift - 0x08 Do Not Disturb - 0x09 Mute - 0x0A Tone Enable - 0x0B High Cut Filter - 0x0C Low Cut Filter - 0x0D Equalizer Enable - 0x0E Sound Field On - 0x0F Surround Field On - 0x10 Repeat - 0x11 Stereo - 0x12 Sampling Rate Detect - 0x13 Spinning - 0x14 CAV - 0x15 CLV - 0x16 Recording Format Detect - 0x17 Off-Hook - 0x18 Ring - 0x19 Message Waiting - 0x1A Data Mode - 0x1B Battery Operation - 0x1C Battery OK - 0x1D Battery Low - 0x1E Speaker - 0x1F Head Set - 0x20 Hold - 0x21 Microphone - 0x22 Coverage - 0x23 Night Mode - 0x24 Send Calls - 0x25 Call Pickup - 0x26 Conference - 0x27 Stand-by - 0x28 Camera On - 0x29 Camera Off - 0x2A On-Line - 0x2B Off-Line - 0x2C Busy - 0x2D Ready - 0x2E Paper-Out - 0x2F Paper-Jam - 0x30 Remote - 0x31 Forward - 0x32 Reverse - 0x33 Stop - 0x34 Rewind - 0x35 Fast Forward - 0x36 Play - 0x37 Pause - 0x38 Record - 0x39 Error - 0x3A Usage Selected Indicator - 0x3B Usage In Use Indicator - 0x3C Usage Multi Mode Indicator - 0x3D Indicator On - 0x3E Indicator Flash - 0x3F Indicator Slow Blink - 0x40 Indicator Fast Blink - 0x41 Indicator Off - 0x42 Flash On Time - 0x43 Slow Blink On Time - 0x44 Slow Blink Off Time - 0x45 Fast Blink On Time - 0x46 Fast Blink Off Time - 0x47 Usage Indicator Color - 0x48 Red - 0x49 Green - 0x4A Amber - 0x4B Generic Indicator - 0x4C System Suspend - 0x4D External Power Connected - 0x4C-FFFF Reserved - -9 Button - 0x00 No Button Pressed - * Button %d - -10 Ordinal - 0x00 Unused - * Instance %d - -11 Telephony - 0x00 Unassigned - 0x01 Phone - 0x02 Answering Machine - 0x03 Message Controls - 0x04 Handset - 0x05 Headset - 0x06 Telephony Key Pad - 0x07 Programmable Button - 0x20 Hook Switch - 0x21 Flash - 0x22 Feature - 0x23 Hold - 0x24 Redial - 0x25 Transfer - 0x26 Drop - 0x27 Park - 0x28 Forward Calls - 0x29 Alternate Function - 0x2A Line - 0x2B Speaker Phone - 0x2C Conference - 0x2D Ring Enable - 0x2E Ring Select - 0x2F Phone Mute - 0x30 Caller ID - 0x50 Speed Dial - 0x51 Store Number - 0x52 Recall Number - 0x53 Phone Directory - 0x70 Voice Mail - 0x71 Screen Calls - 0x72 Do Not Disturb - 0x73 Message - 0x74 Answer On/Off - 0x90 Inside Dial Tone - 0x91 Outside Dial Tone - 0x92 Inside Ring Tone - 0x93 Outside Ring Tone - 0x94 Priority Ring Tone - 0x95 Inside Ringback - 0x96 Priority Ringback - 0x97 Line Busy Tone - 0x98 Reorder Tone - 0x99 Call Waiting Tone - 0x9A Confirmation Tone 1 - 0x9B Confirmation Tone 2 - 0x9C Tones Off - 0xB0 Phone Key 0 - 0xB1 Phone Key 1 - 0xB2 Phone Key 2 - 0xB3 Phone Key 3 - 0xB4 Phone Key 4 - 0xB5 Phone Key 5 - 0xB6 Phone Key 6 - 0xB7 Phone Key 7 - 0xB8 Phone Key 8 - 0xB9 Phone Key 9 - 0xBA Phone Key Star - 0xBB Phone Key Pound - 0xBC Phone Key A - 0xBD Phone Key B - 0xBE Phone Key C - 0xBF Phone Key D - -12 Consumer - 0x00 Unassigned - 0x01 Consumer Control - 0x02 Numeric Key Pad - 0x03 Programmable Buttons - 0x20 +10 - 0x21 +100 - 0x22 AM/PM - 0x30 Power - 0x31 Reset - 0x32 Sleep - 0x33 Sleep After - 0x34 Sleep Mode - 0x35 Illumination - 0x36 Function Buttons - 0x40 Menu - 0x41 Menu Pick - 0x42 Menu Up - 0x43 Menu Down - 0x44 Menu Left - 0x45 Menu Right - 0x46 Menu Escape - 0x47 Menu Value Increase - 0x48 Menu Value Decrease - 0x60 Data On Screen - 0x61 Closed Caption - 0x62 Closed Caption Select - 0x63 VCR/TV - 0x64 Broadcast Mode - 0x65 Snapshot - 0x66 Still - 0x80 Selection - 0x81 Assign Selection - 0x82 Mode Step - 0x83 Recall Last - 0x84 Enter Channel - 0x85 Order Movie - 0x86 Channel - 0x87 Media Selection - 0x88 Media Select Computer - 0x89 Media Select TV - 0x8A Media Select WWW - 0x8B Media Select DVD - 0x8C Media Select Telephone - 0x8D Media Select Program Guide - 0x8E Media Select Video Phone - 0x8F Media Select Games - 0x90 Media Select Messages - 0x91 Media Select CD - 0x92 Media Select VCR - 0x93 Media Select Tuner - 0x94 Quit - 0x95 Help - 0x96 Media Select Tape - 0x97 Media Select Cable - 0x98 Media Select Satellite - 0x99 Media Select Security - 0x9A Media Select Home - 0x9B Media Select Call - 0x9C Channel Increment - 0x9D Channel Decrement - 0x9E Media Select SAP - 0xA0 VCR Plus - 0xA1 Once - 0xA2 Daily - 0xA3 Weekly - 0xA4 Monthly - 0xB0 Play - 0xB1 Pause - 0xB2 Record - 0xB3 Fast Forward - 0xB4 Rewind - 0xB5 Scan Next Track - 0xB6 Scan Previous Track - 0xB7 Stop - 0xB8 Eject - 0xB9 Random Play - 0xBA Select DisC - 0xBB Enter Disc - 0xBC Repeat - 0xBD Tracking - 0xBE Track Normal - 0xBF Slow Tracking - 0xC0 Frame Forward - 0xC1 Frame Back - 0xC2 Mark - 0xC3 Clear Mark - 0xC4 Repeat From Mark - 0xC5 Return To Mark - 0xC6 Search Mark Forward - 0xC7 Search Mark Backwards - 0xC8 Counter Reset - 0xC9 Show Counter - 0xCA Tracking Increment - 0xCB Tracking Decrement - 0xE0 Volume - 0xE1 Balance - 0xE2 Mute - 0xE3 Bass - 0xE4 Treble - 0xE5 Bass Boost - 0xE6 Surround Mode - 0xE7 Loudness - 0xE8 MPX - 0xE9 Volume Up - 0xEA Volume Down - 0xF0 Speed Select - 0xF1 Playback Speed - 0xF2 Standard Play - 0xF3 Long Play - 0xF4 Extended Play - 0xF5 Slow - 0x100 Fan Enable - 0x101 Fan Speed - 0x102 Light - 0x103 Light Illumination Level - 0x104 Climate Control Enable - 0x105 Room Temperature - 0x106 Security Enable - 0x107 Fire Alarm - 0x108 Police Alarm - 0x150 Balance Right - 0x151 Balance Left - 0x152 Bass Increment - 0x153 Bass Decrement - 0x154 Treble Increment - 0x155 Treble Decrement - 0x160 Speaker System - 0x161 Channel Left - 0x162 Channel Right - 0x163 Channel Center - 0x164 Channel Front - 0x165 Channel Center Front - 0x166 Channel Side - 0x167 Channel Surround - 0x168 Channel Low Frequency Enhancement - 0x169 Channel Top - 0x16A Channel Unknown - 0x170 Sub-channel - 0x171 Sub-channel Increment - 0x172 Sub-channel Decrement - 0x173 Alternate Audio Increment - 0x174 Alternate Audio Decrement - 0x180 Application Launch Buttons - 0x181 AL Launch Button Configuration Tool - 0x182 AL Programmable Button Configuration - 0x183 AL Consumer Control Configuration - 0x184 AL Word Processor - 0x185 AL Text Editor - 0x186 AL Spreadsheet - 0x187 AL Graphics Editor - 0x188 AL Presentation App - 0x189 AL Database App - 0x18A AL Email Reader - 0x18B AL Newsreader - 0x18C AL Voicemail - 0x18D AL Contacts/Address Book - 0x18E AL Calendar/Schedule - 0x18F AL Task/Project Manager - 0x190 AL Log/Journal/Timecard - 0x191 AL Checkbook/Finance - 0x192 AL Calculator - 0x193 AL A/V Capture/Playback - 0x194 AL Local Machine Browser - 0x195 AL LAN/WAN Browser - 0x196 AL Internet Browser - 0x197 AL Remote Networking/ISP Connect - 0x198 AL Network Conference - 0x199 AL Network Chat - 0x19A AL Telephony/Dialer - 0x19B AL Logon - 0x19C AL Logoff - 0x19D AL Logon/Logoff - 0x19E AL Terminal Lock/Screensaver - 0x19F AL Control Panel - 0x1A0 AL Command Line Processor/Run - 0x1A1 AL Process/Task Manager - 0x1A2 AL Select Tast/Application - 0x1A3 AL Next Task/Application - 0x1A4 AL Previous Task/Application - 0x1A5 AL Preemptive Halt Task/Application - 0x200 Generic GUI Application Controls - 0x201 AC New - 0x202 AC Open - 0x203 AC Close - 0x204 AC Exit - 0x205 AC Maximize - 0x206 AC Minimize - 0x207 AC Save - 0x208 AC Print - 0x209 AC Properties - 0x21A AC Undo - 0x21B AC Copy - 0x21C AC Cut - 0x21D AC Paste - 0x21E AC Select All - 0x21F AC Find - 0x220 AC Find and Replace - 0x221 AC Search - 0x222 AC Go To - 0x223 AC Home - 0x224 AC Back - 0x225 AC Forward - 0x226 AC Stop - 0x227 AC Refresh - 0x228 AC Previous Link - 0x229 AC Next Link - 0x22A AC Bookmarks - 0x22B AC History - 0x22C AC Subscriptions - 0x22D AC Zoom In - 0x22E AC Zoom Out - 0x22F AC Zoom - 0x230 AC Full Screen View - 0x231 AC Normal View - 0x232 AC View Toggle - 0x233 AC Scroll Up - 0x234 AC Scroll Down - 0x235 AC Scroll - 0x236 AC Pan Left - 0x237 AC Pan Right - 0x238 AC Pan - 0x239 AC New Window - 0x23A AC Tile Horizontally - 0x23B AC Tile Vertically - 0x23C AC Format - -13 Digitizer - 0x00 Undefined - 0x01 Digitizer - 0x02 Pen - 0x03 Light Pen - 0x04 Touch Screen - 0x05 Touch Pad - 0x06 White Board - 0x07 Coordinate Measuring Machine - 0x08 3-D Digitizer - 0x09 Stereo Plotter - 0x0A Articulated Arm - 0x0B Armature - 0x0C Multiple Point Digitizer - 0x0D Free Space Wand - 0x20 Stylus - 0x21 Puck - 0x22 Finger - 0x30 Tip Pressure - 0x31 Barrel Pressure - 0x32 In Range - 0x33 Touch - 0x34 Untouch - 0x35 Tap - 0x36 Quality - 0x37 Data Valid - 0x38 Transducer Index - 0x39 Tablet Function Keys - 0x3A Program Change Keys - 0x3B Battery Strength - 0x3C Invert - 0x3D X Tilt - 0x3E Y Tilt - 0x3F Azimuth - 0x40 Altitude - 0x41 Twist - 0x42 Tip Switch - 0x43 Secondary Tip Switch - 0x44 Barrel Switch - 0x45 Eraser - 0x46 Tablet Pick - -15 Physical Interface Device - -16 Unicode - * Unicode Char u%04x - -20 Alphnumeric Display - 0x00 Undefined - 0x01 Alphanumeric Display - 0x20 Display Attributes Report - 0x21 ASCII Character Set - 0x22 Data Read Back - 0x23 Font Read Back - 0x24 Display Control Report - 0x25 Clear Display - 0x26 Display Enable - 0x27 Screen Saver Delay - 0x28 Screen Saver Enable - 0x29 Vertical Scroll - 0x2A Horizontal Scroll - 0x2B Character Report - 0x2C Display Data - 0x2D Display Status - 0x2E Stat Not Ready - 0x2F Stat Ready - 0x30 Err Not a loadable character - 0x31 Err Font data cannot be read - 0x32 Cursor Position Report - 0x33 Row - 0x34 Column - 0x35 Rows - 0x36 Columns - 0x37 Cursor Pixel Positioning - 0x38 Cursor Mode - 0x39 Cursor Enable - 0x3A Cursor Blink - 0x3B Font Report - 0x3C Font Data - 0x3D Character Width - 0x3E Character Height - 0x3F Character Spacing Horizontal - 0x40 Character Spacing Vertical - 0x41 Unicode Character Set - -128 Monitor - 0x00 Undefined - 0x01 Monitor Control - 0x02 EDID Information - 0x03 VDIF Information - 0x04 VESA Version - 0x05 On Screen Display - 0x06 Auto Size Center - 0x07 Polarity Horz Synch - 0x08 Polarity Vert Synch - 0x09 Sync Type - 0x0A Screen Position - 0x0B Horizontal Frequency - 0x0C Vertical Frequency - -129 Monitor Enumerated Values - 0x00 unassigned - * ENUM %d - -130 VESA Virtual Controls - 0x10 Brightness - 0x12 Contrast - 0x16 Video Gain Red - 0x18 Video Gain Green - 0x1A Video Gain Blue - 0x1C Focus - 0x20 Horizontal Position - 0x22 Horizontal Size - 0x24 Horizontal Pincushion - 0x26 Horizontal Pincushion Balance - 0x28 Horizontal Misconvergence - 0x2A Horizontal Linearity - 0x2C Horizontal Linearity Balance - 0x30 Vertical Position - 0x32 Vertical Size - 0x34 Vertical Pincushion - 0x36 Vertical Pincushion Balance - 0x38 Vertical Misconvergence - 0x3A Vertical Linearity - 0x3C Vertical Linearity Balance - 0x40 Parallelogram Distortion - 0x42 Trapezoidal Distortion - 0x44 Tilt - 0x46 Top Corner Distortion Control - 0x48 Top Corner Distortion Balance - 0x4A Bottom Corner Distortion Control - 0x4C Bottom Corner Distortion Balance - 0x56 Moiré Horizontal - 0x58 Moiré Vertical - 0x5E Input Level Select - 0x60 Input Source Select - 0x62 Stereo Mode - 0x6C Video Black Level Red - 0x6E Video Black Level Green - 0x70 Video Black Level Blue - -131 VESA Command - 0x00 Undefined - 0x01 Settings - 0x02 Degauss - -132 Power Device - 0x00 Undefined - 0x01 iName - 0x02 PresentStatus - 0x03 ChangedStatus - 0x04 UPS - 0x05 PowerSupply - 0x10 BatterySystem - 0x11 BatterySystemID - 0x12 Battery - 0x13 BatteryID - 0x14 Charger - 0x15 ChargerID - 0x16 PowerConverter - 0x17 PowerConverterID - 0x18 OutletSystem - 0x19 OutletSystemID - 0x1A Input - 0x1B InputID - 0x1C Output - 0x1D OutputID - 0x1E Flow - 0x1F FlowID - 0x20 Outlet - 0x21 OutletID - 0x22 Gang - 0x23 GangID - 0x24 Sink - 0x25 SinkID - 0x30 Voltage - 0x31 Current - 0x32 Frequency - 0x33 ApparentPower - 0x34 ActivePower - 0x35 PercentLoad - 0x36 Temperature - 0x37 Humidity - 0x40 ConfigVoltage - 0x41 ConfigCurrent - 0x42 ConfigFrequency - 0x43 ConfigApparentPower - 0x44 ConfigActivePower - 0x45 ConfigPercentLoad - 0x46 ConfigTemperature - 0x47 ConfigHumidity - 0x50 SwitchOnControl - 0x51 SwitchOffControl - 0x52 ToggleControl - 0x53 LowVoltageTransfer - 0x54 HighVoltageTransfer - 0x55 DelayBeforeReboot - 0x56 DelayBeforeStartup - 0x57 DelayBeforeShutdown - 0x58 Test - 0x59 Vendorspecificcommand - 0x60 Present - 0x61 Good - 0x62 InternalFailure - 0x63 VoltageOutOfRange - 0x64 FrequencyOutOfRange - 0x65 Overload - 0x66 OverCharged - 0x67 OverTemperature - 0x68 ShutdownRequested - 0x69 ShutdownImminent - 0x6A VendorSpecificAnswerValid - 0x6B SwitchOn/Off - 0x6C Switcheble - 0x6D Used - 0x6E Boost - 0x6F Buck - 0x70 Initialized - 0x71 Tested - -133 Battery System - 0x00 Undefined - 0x01 SMBBatteryMode - 0x02 SMBBatteryStatus - 0x03 SMBAlarmWarning - 0x04 SMBChargerMode - 0x05 SMBChargerStatus - 0x06 SMBChargerSpecInfo - 0x07 SMBSelectorState - 0x08 SMBSelectorPreset - 0x09 SMBSelectorInfo - 0x10 OptionalMfgFunction1 - 0x11 OptionalMfgFunction2 - 0x12 OptionalMfgFunction3 - 0x13 OptionalMfgFunction4 - 0x14 OptionalMfgFunction5 - 0x15 ConnectionToSMBus - 0x16 OutputConnection - 0x17 ChargerConnection - 0x18 BatteryInsertion - 0x19 Usenext - 0x1A OKToUse - 0x28 ManufacturerAccess - 0x29 RemainingCapacityLimit - 0x2A RemainingTimeLimit - 0x2B AtRate - 0x2C CapacityMode - 0x2D BroadcastToCharger - 0x2E PrimaryBattery - 0x2F ChargeController - 0x40 TerminateCharge - 0x41 TermminateDischarge - 0x42 BelowRemainingCapacityLimit - 0x43 RemainingTimeLimitExpired - 0x44 Charging - 0x45 Discharging - 0x46 FullyCharged - 0x47 FullyDischarged - 0x48 ConditionningFlag - 0x49 AtRateOK - 0x4A SMBErrorCode - 0x4B NeedReplacement - 0x60 AtRateTimeToFull - 0x61 AtRateTimeToEmpty - 0x62 AverageCurrent - 0x63 Maxerror - 0x64 RelativeStateOfCharge - 0x65 AbsoluteStateOfCharge - 0x66 RemainingCapacity - 0x67 FullChargeCapacity - 0x68 RunTimeToEmpty - 0x69 AverageTimeToEmpty - 0x6A AverageTimeToFull - 0x6B CycleCount - 0x80 BattPackModelLevel - 0x81 InternalChargeController - 0x82 PrimaryBatterySupport - 0x83 DesignCapacity - 0x84 SpecificationInfo - 0x85 ManufacturerDate - 0x86 SerialNumber - 0x87 iManufacturerName - 0x88 iDevicename - 0x89 iDeviceChemistery - 0x8A iManufacturerData - 0x8B Rechargeable - 0x8C WarningCapacityLimit - 0x8D CapacityGranularity1 - 0x8E CapacityGranularity2 - 0xC0 InhibitCharge - 0xC1 EnablePolling - 0xC2 ResetToZero - 0xD0 ACPresent - 0xD1 BatteryPresent - 0xD2 PowerFail - 0xD3 AlarmInhibited - 0xD4 ThermistorUnderRange - 0xD5 ThermistorHot - 0xD6 ThermistorCold - 0xD7 ThermistorOverRange - 0xD8 VoltageOutOfRange - 0xD9 CurrentOutOfRange - 0xDA CurrentNotRegulated - 0xDB VoltageNotRegulated - 0xDC MasterMode - 0xDD ChargerBattery/HostControlled - 0xF0 ChargerSpecInfo - 0xF1 ChargerSpecRef - 0xF2 Level2 - 0xF3 Level3 - -140 Bar Code Scanner - -141 Scale Device - -144 Camera Control - -145 Arcade Device - -# Some Micro$oft non-standard extensions -0xff00 Microsoft - 0xe9 Base Up - 0xea Base Down diff --git a/xorg-server/hw/xfree86/os-support/bsd/libusb/usbvar.h b/xorg-server/hw/xfree86/os-support/bsd/libusb/usbvar.h deleted file mode 100644 index ce38a0730..000000000 --- a/xorg-server/hw/xfree86/os-support/bsd/libusb/usbvar.h +++ /dev/null @@ -1,31 +0,0 @@ -/* - * 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. - */ - -struct report_desc { - unsigned int size; - unsigned char data[1]; -}; - diff --git a/xorg-server/hw/xfree86/os-support/bsd/ppc_video.c b/xorg-server/hw/xfree86/os-support/bsd/ppc_video.c index 06be654e1..f1ff64c2a 100644 --- a/xorg-server/hw/xfree86/os-support/bsd/ppc_video.c +++ b/xorg-server/hw/xfree86/os-support/bsd/ppc_video.c @@ -123,24 +123,6 @@ xf86ReadBIOS(unsigned long Base, unsigned long Offset, unsigned char *Buf, return rv; } -/***************************************************************************/ -/* Interrupt Handling section */ -/***************************************************************************/ - -_X_EXPORT Bool -xf86DisableInterrupts() -{ - - return(TRUE); -} - -_X_EXPORT void -xf86EnableInterrupts() -{ - - return; -} - Bool xf86EnableIO() { int fd = xf86Info.screenFd; diff --git a/xorg-server/hw/xfree86/os-support/bsd/sparc64_video.c b/xorg-server/hw/xfree86/os-support/bsd/sparc64_video.c index fb5e8529b..fe3b5e7f2 100644 --- a/xorg-server/hw/xfree86/os-support/bsd/sparc64_video.c +++ b/xorg-server/hw/xfree86/os-support/bsd/sparc64_video.c @@ -89,21 +89,3 @@ xf86ReadBIOS(unsigned long Base, unsigned long Offset, unsigned char *Buf, return (0); } - -/***************************************************************************/ -/* Interrupt Handling section */ -/***************************************************************************/ - -_X_EXPORT Bool -xf86DisableInterrupts() -{ - - return(TRUE); -} - -_X_EXPORT void -xf86EnableInterrupts() -{ - - return; -} diff --git a/xorg-server/hw/xfree86/os-support/bus/Makefile.am b/xorg-server/hw/xfree86/os-support/bus/Makefile.am index d48fcb67d..92a519bcc 100644 --- a/xorg-server/hw/xfree86/os-support/bus/Makefile.am +++ b/xorg-server/hw/xfree86/os-support/bus/Makefile.am @@ -11,18 +11,6 @@ if XORG_BUS_BSDPCI PCI_SOURCES += bsd_pci.c endif -if XORG_BUS_IX86PCI -PCI_SOURCES += ix86Pci.c -endif - -if XORG_BUS_PPCPCI -PCI_SOURCES += ppcPci.c -endif - -if XORG_BUS_SPARCPCI -PCI_SOURCES += sparcPci.c -endif - if XORG_BUS_SPARC PLATFORM_SOURCES = Sbus.c sdk_HEADERS += xf86Sbus.h diff --git a/xorg-server/hw/xfree86/os-support/bus/Makefile.in b/xorg-server/hw/xfree86/os-support/bus/Makefile.in index fb2391280..77110b7d2 100644 --- a/xorg-server/hw/xfree86/os-support/bus/Makefile.in +++ b/xorg-server/hw/xfree86/os-support/bus/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -35,10 +35,7 @@ build_triplet = @build@ host_triplet = @host@ @XORG_BUS_LINUXPCI_TRUE@am__append_1 = linuxPci.c @XORG_BUS_BSDPCI_TRUE@am__append_2 = bsd_pci.c -@XORG_BUS_IX86PCI_TRUE@am__append_3 = ix86Pci.c -@XORG_BUS_PPCPCI_TRUE@am__append_4 = ppcPci.c -@XORG_BUS_SPARCPCI_TRUE@am__append_5 = sparcPci.c -@XORG_BUS_SPARC_TRUE@am__append_6 = xf86Sbus.h +@XORG_BUS_SPARC_TRUE@am__append_3 = xf86Sbus.h subdir = hw/xfree86/os-support/bus DIST_COMMON = $(am__sdk_HEADERS_DIST) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in @@ -51,7 +48,6 @@ 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 \ @@ -59,26 +55,18 @@ CONFIG_HEADER = $(top_builddir)/include/do-not-use-config.h \ CONFIG_CLEAN_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) libbus_la_LIBADD = -am__libbus_la_SOURCES_DIST = Pci.c Pci.h linuxPci.c bsd_pci.c \ - ix86Pci.c ppcPci.c sparcPci.c Sbus.c +am__libbus_la_SOURCES_DIST = Pci.c Pci.h linuxPci.c bsd_pci.c Sbus.c @XORG_BUS_LINUXPCI_TRUE@am__objects_1 = linuxPci.lo @XORG_BUS_BSDPCI_TRUE@am__objects_2 = bsd_pci.lo -@XORG_BUS_IX86PCI_TRUE@am__objects_3 = ix86Pci.lo -@XORG_BUS_PPCPCI_TRUE@am__objects_4 = ppcPci.lo -@XORG_BUS_SPARCPCI_TRUE@am__objects_5 = sparcPci.lo -am__objects_6 = $(am__objects_1) $(am__objects_2) $(am__objects_3) \ - $(am__objects_4) $(am__objects_5) -@XORG_BUS_SPARC_TRUE@am__objects_7 = Sbus.lo -am_libbus_la_OBJECTS = Pci.lo $(am__objects_6) $(am__objects_7) +am__objects_3 = $(am__objects_1) $(am__objects_2) +@XORG_BUS_SPARC_TRUE@am__objects_4 = Sbus.lo +am_libbus_la_OBJECTS = Pci.lo $(am__objects_3) $(am__objects_4) libbus_la_OBJECTS = $(am_libbus_la_OBJECTS) DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include 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) \ @@ -103,8 +91,9 @@ ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ -APPDEFAULTDIR = @APPDEFAULTDIR@ APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +APPLE_APPLICATION_ID = @APPLE_APPLICATION_ID@ +APPLE_APPLICATION_NAME = @APPLE_APPLICATION_NAME@ APP_MAN_DIR = @APP_MAN_DIR@ APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ AR = @AR@ @@ -125,10 +114,6 @@ 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@ @@ -150,6 +135,7 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOLT_BASH = @DOLT_BASH@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ @@ -159,18 +145,15 @@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ DSYMUTIL = @DSYMUTIL@ DTRACE = @DTRACE@ -ECHO = @ECHO@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ -FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ -FREETYPE_LIBS = @FREETYPE_LIBS@ GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ GLX_DEFINES = @GLX_DEFINES@ GL_CFLAGS = @GL_CFLAGS@ @@ -189,7 +172,7 @@ KDRIVE_LIBS = @KDRIVE_LIBS@ KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ -LAUNCHD = @LAUNCHD@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ LEX = @LEX@ @@ -203,7 +186,10 @@ LIBTOOL = @LIBTOOL@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LINUXDOC = @LINUXDOC@ +LIPO = @LIPO@ LN_S = @LN_S@ +LTCOMPILE = @LTCOMPILE@ +LTCXXCOMPILE = @LTCXXCOMPILE@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ @@ -215,8 +201,7 @@ MESA_SOURCE = @MESA_SOURCE@ MISC_MAN_DIR = @MISC_MAN_DIR@ MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ MKDIR_P = @MKDIR_P@ -MKFONTDIR = @MKFONTDIR@ -MKFONTSCALE = @MKFONTSCALE@ +NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCCLD = @OBJCCLD@ @@ -225,8 +210,8 @@ OBJCFLAGS = @OBJCFLAGS@ OBJCLINK = @OBJCLINK@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ @@ -259,7 +244,6 @@ VENDOR_NAME = @VENDOR_NAME@ VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ VENDOR_RELEASE = @VENDOR_RELEASE@ VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ XDMCP_CFLAGS = @XDMCP_CFLAGS@ @@ -269,27 +253,12 @@ XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@ XDMX_CFLAGS = @XDMX_CFLAGS@ XDMX_LIBS = @XDMX_LIBS@ XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ XEPHYR_INCS = @XEPHYR_INCS@ XEPHYR_LIBS = @XEPHYR_LIBS@ 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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ @@ -300,10 +269,6 @@ XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ XNEST_LIBS = @XNEST_LIBS@ XNEST_SYS_LIBS = @XNEST_SYS_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_INCS = @XORG_INCS@ XORG_LIBS = @XORG_LIBS@ @@ -312,13 +277,8 @@ XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ XORG_OS = @XORG_OS@ XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_LIBS@ +XPBPROXY_CFLAGS = @XPBPROXY_CFLAGS@ +XPBPROXY_LIBS = @XPBPROXY_LIBS@ XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ XSDL_INCS = @XSDL_INCS@ @@ -351,8 +311,7 @@ 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@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -372,7 +331,6 @@ driverdir = @driverdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ extdir = @extdir@ -ft_config = @ft_config@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ @@ -382,12 +340,12 @@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ -launchagentsdir = @launchagentsdir@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ logdir = @logdir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ moduledir = @moduledir@ @@ -405,12 +363,9 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ noinst_LTLIBRARIES = libbus.la -sdk_HEADERS = xf86Pci.h $(am__append_6) -PCI_SOURCES = $(am__append_1) $(am__append_2) $(am__append_3) \ - $(am__append_4) $(am__append_5) +sdk_HEADERS = xf86Pci.h $(am__append_3) +PCI_SOURCES = $(am__append_1) $(am__append_2) @XORG_BUS_SPARC_TRUE@PLATFORM_SOURCES = Sbus.c libbus_la_SOURCES = Pci.c Pci.h $(PCI_SOURCES) $(PLATFORM_PCI_SOURCES) \ $(PLATFORM_SOURCES) @@ -426,8 +381,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ @@ -472,10 +427,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Pci.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Sbus.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bsd_pci.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ix86Pci.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linuxPci.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ppcPci.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sparcPci.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @@ -526,7 +478,7 @@ ID: $(HEADERS) $(SOURCES) $(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; nonemtpy = 1; } \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS diff --git a/xorg-server/hw/xfree86/os-support/bus/Pci.c b/xorg-server/hw/xfree86/os-support/bus/Pci.c index 064533c77..8ca2f1f9b 100644 --- a/xorg-server/hw/xfree86/os-support/bus/Pci.c +++ b/xorg-server/hw/xfree86/os-support/bus/Pci.c @@ -136,28 +136,17 @@ #include -#define PCI_MFDEV_SUPPORT 1 /* Include PCI multifunction device support */ -#define PCI_BRIDGE_SUPPORT 1 /* Include support for PCI-to-PCI bridges */ - -/* - * Global data - */ - -pciBusInfo_t *pciBusInfo[MAX_PCI_BUSES] = { NULL, }; -_X_EXPORT int pciNumBuses = 0; /* Actual number of PCI buses */ -int pciMaxBusNum = MAX_PCI_BUSES; +/* Global data */ +pciBusFuncs_t *pciBusFuncs = NULL; _X_EXPORT ADDRESS pciBusAddrToHostAddr(PCITAG tag, PciAddrType type, ADDRESS addr) { - int bus = PCI_BUS_FROM_TAG(tag); - - if ((bus >= 0) && (bus < pciNumBuses) && pciBusInfo[bus] && - pciBusInfo[bus]->funcs->pciAddrBusToHost) - return (*pciBusInfo[bus]->funcs->pciAddrBusToHost)(tag, type, addr); - else - return(addr); + if (pciBusFuncs && pciBusFuncs->pciAddrBusToHost) + return pciBusFuncs->pciAddrBusToHost(tag, type, addr); + else + return addr; } _X_EXPORT PCITAG @@ -172,7 +161,7 @@ pciAddrNOOP(PCITAG tag, PciAddrType type, ADDRESS addr) return(addr); } -_X_EXPORT Bool +Bool xf86scanpci(void) { Bool success = FALSE; diff --git a/xorg-server/hw/xfree86/os-support/bus/Pci.h b/xorg-server/hw/xfree86/os-support/bus/Pci.h index 557483b9b..5feb73349 100644 --- a/xorg-server/hw/xfree86/os-support/bus/Pci.h +++ b/xorg-server/hw/xfree86/os-support/bus/Pci.h @@ -115,16 +115,10 @@ /* * Global Definitions */ -#define MAX_PCI_DEVICES 128 /* Max number of devices accomodated */ - /* by xf86scanpci */ -#if defined(sun) && defined(SVR4) && defined(sparc) -# define MAX_PCI_BUSES 4096 /* Max number of PCI buses */ -#elif (defined(__alpha__) || defined(__ia64__)) && defined (linux) -# define MAX_PCI_DOMAINS 512 -# define PCI_DOM_MASK 0x01fful -# define MAX_PCI_BUSES (MAX_PCI_DOMAINS*256) /* 256 per domain */ +#if (defined(__alpha__) || defined(__ia64__)) && defined (linux) +#define PCI_DOM_MASK 0x01fful #else -# define MAX_PCI_BUSES 256 /* Max number of PCI buses */ +#define PCI_DOM_MASK 0x0ffu #endif #define DEVID(vendor, device) \ @@ -174,58 +168,21 @@ #endif /* !defined(DEBUGPCI) */ -/* - * PCI Config mechanism definitions - */ -#define PCI_EN 0x80000000 - -#define PCI_CFGMECH1_ADDRESS_REG 0xCF8 -#define PCI_CFGMECH1_DATA_REG 0xCFC - -#define PCI_CFGMECH1_MAXDEV 32 - #if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) || \ - defined(__DragonFly__) + defined(__DragonFly__) || defined(__sun) #define ARCH_PCI_INIT bsdPciInit #endif #if defined(linux) -# define ARCH_PCI_INIT linuxPciInit -# if defined(__m32r__) -# define INCLUDE_XF86_MAP_PCI_MEM -# define INCLUDE_XF86_NO_DOMAIN -# endif +#define ARCH_PCI_INIT linuxPciInit #endif /* defined(linux) */ - -#if !defined(ARCH_PCI_INIT) -/* - * Select architecture specific PCI init function - */ -#if defined(__i386__) || defined(__i386) || defined(__amd64__) || defined(__amd64) || defined(__x86_64__) -# define ARCH_PCI_INIT ix86PciInit -#elif defined(__powerpc__) || defined(__powerpc64__) -# define ARCH_PCI_INIT ppcPciInit -#elif defined(__sparc__) || defined(sparc) -# define ARCH_PCI_INIT sparcPciInit -# define ARCH_PCI_PCI_BRIDGE sparcPciPciBridge -#endif -#endif /* !defined(ARCH_PCI_INIT) */ - #ifndef ARCH_PCI_INIT #error No PCI support available for this architecture/OS combination #endif extern void ARCH_PCI_INIT(void); -#if defined(XF86SCANPCI_WRAPPER) -typedef enum { - SCANPCI_INIT, - SCANPCI_TERM -} scanpciWrapperOpt; -extern void XF86SCANPCI_WRAPPER(scanpciWrapperOpt flags); -#endif - /* * Table of functions used to access a specific PCI bus domain * (e.g. a primary PCI bus and all of its secondaries) @@ -234,36 +191,9 @@ typedef struct pci_bus_funcs { ADDRESS (*pciAddrBusToHost)(PCITAG, PciAddrType, ADDRESS); } pciBusFuncs_t, *pciBusFuncs_p; -/* - * pciBusInfo_t - One structure per defined PCI bus - */ -typedef struct pci_bus_info { - unsigned char configMech; /* PCI config type to use */ - unsigned char numDevices; /* Range of valid devnums */ - unsigned char secondary; /* Boolean: bus is a secondary */ - int primary_bus; /* Parent bus */ - pciBusFuncs_p funcs; /* PCI access functions */ - void *pciBusPriv; /* Implementation private data */ - struct pci_device *bridge; /* bridge that opens this bus */ -} pciBusInfo_t; - -#define HOST_NO_BUS ((pciBusInfo_t *)(-1)) - -/* configMech values */ -#define PCI_CFG_MECH_UNKNOWN 0 /* Not yet known */ -#define PCI_CFG_MECH_1 1 /* Most machines */ -#define PCI_CFG_MECH_2 2 /* Older PC's */ -#define PCI_CFG_MECH_OTHER 3 /* Something else */ - /* Generic PCI service functions and helpers */ -CARD32 pciCfgMech1Read(PCITAG tag, int offset); -void pciCfgMech1Write(PCITAG tag, int offset, CARD32 val); -void pciCfgMech1SetBits(PCITAG tag, int offset, CARD32 mask, - CARD32 val); ADDRESS pciAddrNOOP(PCITAG tag, PciAddrType type, ADDRESS); -extern int pciMaxBusNum; - -extern pciBusInfo_t *pciBusInfo[]; +extern pciBusFuncs_t *pciBusFuncs; #endif /* _PCI_H */ diff --git a/xorg-server/hw/xfree86/os-support/bus/Sbus.c b/xorg-server/hw/xfree86/os-support/bus/Sbus.c index ff257a8c7..1363d5746 100644 --- a/xorg-server/hw/xfree86/os-support/bus/Sbus.c +++ b/xorg-server/hw/xfree86/os-support/bus/Sbus.c @@ -54,20 +54,20 @@ static struct openpromio *promOpio; sbusDevicePtr *xf86SbusInfo = NULL; struct sbus_devtable sbusDeviceTable[] = { - { SBUS_DEVICE_BW2, FBTYPE_SUN2BW, "bwtwo", "Sun Monochrome (bwtwo)" }, - { SBUS_DEVICE_CG2, FBTYPE_SUN2COLOR, "cgtwo", "Sun Color2 (cgtwo)" }, - { SBUS_DEVICE_CG3, FBTYPE_SUN3COLOR, "cgthree", "Sun Color3 (cgthree)" }, - { SBUS_DEVICE_CG4, FBTYPE_SUN4COLOR, "cgfour", "Sun Color4 (cgfour)" }, - { SBUS_DEVICE_CG6, FBTYPE_SUNFAST_COLOR, "cgsix", "Sun GX" }, - { SBUS_DEVICE_CG8, FBTYPE_MEMCOLOR, "cgeight", "Sun CG8/RasterOps" }, - { SBUS_DEVICE_CG12, FBTYPE_SUNGP3, "cgtwelve", "Sun GS (cgtwelve)" }, - { SBUS_DEVICE_CG14, FBTYPE_MDICOLOR, "cgfourteen", "Sun SX" }, - { SBUS_DEVICE_GT, FBTYPE_SUNGT, "gt", "Sun Graphics Tower" }, - { SBUS_DEVICE_MGX, -1, "mgx", "Quantum 3D MGXplus" }, - { SBUS_DEVICE_LEO, FBTYPE_SUNLEO, "leo", "Sun ZX or Turbo ZX" }, - { SBUS_DEVICE_TCX, FBTYPE_TCXCOLOR, "tcx", "Sun TCX" }, - { SBUS_DEVICE_FFB, FBTYPE_CREATOR, "ffb", "Sun FFB" }, - { SBUS_DEVICE_FFB, FBTYPE_CREATOR, "afb", "Sun Elite3D" }, + { SBUS_DEVICE_BW2, FBTYPE_SUN2BW, "bwtwo", "sunbw2", "Sun Monochrome (bwtwo)" }, + { SBUS_DEVICE_CG2, FBTYPE_SUN2COLOR, "cgtwo", NULL, "Sun Color2 (cgtwo)" }, + { SBUS_DEVICE_CG3, FBTYPE_SUN3COLOR, "cgthree", "suncg3", "Sun Color3 (cgthree)" }, + { SBUS_DEVICE_CG4, FBTYPE_SUN4COLOR, "cgfour", NULL, "Sun Color4 (cgfour)" }, + { SBUS_DEVICE_CG6, FBTYPE_SUNFAST_COLOR, "cgsix", "suncg6", "Sun GX" }, + { SBUS_DEVICE_CG8, FBTYPE_MEMCOLOR, "cgeight", NULL, "Sun CG8/RasterOps" }, + { SBUS_DEVICE_CG12, FBTYPE_SUNGP3, "cgtwelve", NULL, "Sun GS (cgtwelve)" }, + { SBUS_DEVICE_CG14, FBTYPE_MDICOLOR, "cgfourteen", "suncg14", "Sun SX" }, + { SBUS_DEVICE_GT, FBTYPE_SUNGT, "gt", NULL, "Sun Graphics Tower" }, + { SBUS_DEVICE_MGX, -1, "mgx", NULL, "Quantum 3D MGXplus" }, + { SBUS_DEVICE_LEO, FBTYPE_SUNLEO, "leo", "sunleo", "Sun ZX or Turbo ZX" }, + { SBUS_DEVICE_TCX, FBTYPE_TCXCOLOR, "tcx", "suntcx", "Sun TCX" }, + { SBUS_DEVICE_FFB, FBTYPE_CREATOR, "ffb", "sunffb", "Sun FFB" }, + { SBUS_DEVICE_FFB, FBTYPE_CREATOR, "afb", "sunffb", "Sun Elite3D" }, { 0, 0, NULL } }; @@ -240,6 +240,60 @@ sparcPromGetBool(sbusPromNodePtr pnode, const char *prop) return promGetBool(prop); } +static char * +promWalkGetDriverName(int node, int oldnode) +{ + int nextnode; + int len; + char *prop; + int devId, i; + + prop = promGetProperty("device_type", &len); + if (prop && (len > 0)) do { + if (!strcmp(prop, "display")) { + prop = promGetProperty("name", &len); + if (!prop || len <= 0) + break; + while ((*prop >= 'A' && *prop <= 'Z') || *prop == ',') + prop++; + for (i = 0; sbusDeviceTable[i].devId; i++) + if (!strcmp(prop, sbusDeviceTable[i].promName)) + break; + devId = sbusDeviceTable[i].devId; + if (!devId) + break; + if (sbusDeviceTable[i].driverName) + return sbusDeviceTable[i].driverName; + } + } while (0); + + nextnode = promGetChild(node); + if (nextnode) { + char *name; + name = promWalkGetDriverName(nextnode, node); + if (name) + return name; + } + + nextnode = promGetSibling(node); + if (nextnode) + return promWalkGetDriverName(nextnode, node); + return NULL; +} + +char * +sparcDriverName(void) +{ + char *name; + + if (sparcPromInit() < 0) + return NULL; + promGetSibling(0); + name = promWalkGetDriverName(promRootNode, 0); + sparcPromClose(); + return name; +} + static void promWalkAssignNodes(int node, int oldnode, int flags, sbusDevicePtr *devicePtrs) { @@ -321,7 +375,7 @@ sparcPromAssignNodes(void) FILE *f; sbusDevicePtr devicePtrs[32]; - (void)memset(devicePtrs, 0, sizeof(devicePtrs)); + memset(devicePtrs, 0, sizeof(devicePtrs)); for (psdpp = xf86SbusInfo, n = 0; (psdp = *psdpp); psdpp++, n++) { if (psdp->fbNum != n) holes = 1; diff --git a/xorg-server/hw/xfree86/os-support/bus/bsd_pci.c b/xorg-server/hw/xfree86/os-support/bus/bsd_pci.c index 57ad09b6a..9b55d3a44 100644 --- a/xorg-server/hw/xfree86/os-support/bus/bsd_pci.c +++ b/xorg-server/hw/xfree86/os-support/bus/bsd_pci.c @@ -48,20 +48,6 @@ #include "pciaccess.h" -static pciBusFuncs_t bsd_funcs = { - .pciAddrBusToHost = pciAddrNOOP, -}; - -static pciBusInfo_t bsd_pci = { - .configMech = PCI_CFG_MECH_OTHER, - .numDevices = 32, - .secondary = FALSE, - .primary_bus = 0, - .funcs = &bsd_funcs, - .pciBusPriv = NULL, - .bridge = NULL, -}; - _X_EXPORT pointer xf86MapDomainMemory(int ScreenNum, int Flags, struct pci_device *dev, ADDRESS Base, unsigned long Size) @@ -79,8 +65,5 @@ xf86MapLegacyIO(struct pci_device *dev) void bsdPciInit(void) { - pciNumBuses = 1; - pciBusInfo[0] = &bsd_pci; - xf86InitVidMem(); } diff --git a/xorg-server/hw/xfree86/os-support/bus/ix86Pci.c b/xorg-server/hw/xfree86/os-support/bus/ix86Pci.c deleted file mode 100644 index e54246355..000000000 --- a/xorg-server/hw/xfree86/os-support/bus/ix86Pci.c +++ /dev/null @@ -1,718 +0,0 @@ -/* - * ix86Pci.c - x86 PCI driver - * - * The XFree86 server PCI access functions have been reimplemented as a - * framework that allows each supported platform/OS to have their own - * platform/OS specific PCI driver. - * - * Most of the code of these functions was simply lifted from the - * Intel architecture specifric portion of the original Xfree86 - * PCI code in hw/xfree86/common_hw/xf86_PCI.C... - * - * Gary Barton - * Concurrent Computer Corporation - * garyb@gate.net - */ - -/* - * 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 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. - * - * This software is derived from the original XFree86 PCI code - * which includes the following copyright notices as well: - * - * Copyright 1995 by Robin Cutshaw - * - * 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. - * - * This code is also based heavily on the code in FreeBSD-current, which was - * written by Wolfgang Stanglmeier, and contains the following copyright: - * - * 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) 1999-2003 by The XFree86 Project, 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 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_XORG_CONFIG_H -#include -#endif - -#include -#include "compiler.h" -#include "xf86.h" -#include "xf86Priv.h" -#include "xf86_OSlib.h" -#include "Pci.h" - -#ifdef PC98 -#define outb(port,data) _outb(port,data) -#define outl(port,data) _outl(port,data) -#define inb(port) _inb(port) -#define inl(port) _inl(port) -#endif - -#define PCI_CFGMECH2_ENABLE_REG 0xCF8 -#ifdef PC98 -#define PCI_CFGMECH2_FORWARD_REG 0xCF9 -#else -#define PCI_CFGMECH2_FORWARD_REG 0xCFA -#endif - -#define PCI_CFGMECH2_MAXDEV 16 - -#define PCI_ADDR_FROM_TAG_CFG1(tag,reg) (PCI_EN | tag | (reg & 0xfc)) -#define PCI_FORWARD_FROM_TAG(tag) PCI_BUS_FROM_TAG(tag) -#define PCI_ENABLE_FROM_TAG(tag) (0xf0 | (((tag) & 0x00000700) >> 7)) -#define PCI_ADDR_FROM_TAG_CFG2(tag,reg) (0xc000 | (((tag) & 0x0000f800) >> 3) \ - | (reg & 0xfc)) - -/* - * Intel x86 platform specific PCI access functions - */ -#if 0 -static CARD32 ix86PciReadLongSetup(PCITAG tag, int off); -static void ix86PciWriteLongSetup(PCITAG, int off, CARD32 val); -static void ix86PciSetBitsLongSetup(PCITAG, int off, CARD32 mask, CARD32 val); -static CARD32 ix86PciReadLongCFG1(PCITAG tag, int off); -static void ix86PciWriteLongCFG1(PCITAG, int off, CARD32 val); -static void ix86PciSetBitsLongCFG1(PCITAG, int off, CARD32 mask, CARD32 val); -static CARD32 ix86PciReadLongCFG2(PCITAG tag, int off); -static void ix86PciWriteLongCFG2(PCITAG, int off, CARD32 val); -static void ix86PciSetBitsLongCFG2(PCITAG, int off, CARD32 mask, CARD32 val); -#endif - -static pciBusFuncs_t ix86Funcs0 = { -#if 0 -/* pciReadLong */ ix86PciReadLongSetup, -/* pciWriteLong */ ix86PciWriteLongSetup, -/* pciSetBitsLong */ ix86PciSetBitsLongSetup, -/* pciAddrHostToBus */ pciAddrNOOP, -#endif -/* pciAddrBusToHost */ pciAddrNOOP -}; - -static pciBusFuncs_t ix86Funcs1 = { -#if 0 -/* pciReadLong */ ix86PciReadLongCFG1, -/* pciWriteLong */ ix86PciWriteLongCFG1, -/* pciSetBitsLong */ ix86PciSetBitsLongCFG1, -/* pciAddrHostToBus */ pciAddrNOOP, -#endif -/* pciAddrBusToHost */ pciAddrNOOP -}; - -static pciBusFuncs_t ix86Funcs2 = { -#if 0 -/* pciReadLong */ ix86PciReadLongCFG2, -/* pciWriteLong */ ix86PciWriteLongCFG2, -/* pciSetBitsLong */ ix86PciSetBitsLongCFG2, -/* pciAddrHostToBus */ pciAddrNOOP, -#endif -/* pciAddrBusToHost */ pciAddrNOOP -}; - -static pciBusInfo_t ix86Pci0 = { -/* configMech */ PCI_CFG_MECH_UNKNOWN, /* Set by ix86PciInit() */ -/* numDevices */ 0, /* Set by ix86PciInit() */ -/* secondary */ FALSE, -/* primary_bus */ 0, -/* funcs */ &ix86Funcs0, /* Set by ix86PciInit() */ -/* pciBusPriv */ NULL, -/* bridge */ NULL -}; - -_X_EXPORT pointer -xf86MapDomainMemory(int ScreenNum, int Flags, struct pci_device *dev, - ADDRESS Base, unsigned long Size) -{ - return xf86MapVidMem(ScreenNum, Flags, Base, Size); -} - -IOADDRESS -xf86MapLegacyIO(struct pci_device *dev) -{ - (void)dev; - return 0; -} - -static Bool -ix86PciBusCheck(void) -{ -#if 0 - PCITAG tag; - CARD32 id, class; - CARD8 device; - - for (device = 0; device < ix86Pci0.numDevices; device++) { - tag = PCI_MAKE_TAG(0, device, 0); - id = (*ix86Pci0.funcs->pciReadLong)(tag, PCI_ID_REG); - - if ((CARD16)(id + 1U) <= (CARD16)1UL) - continue; - - /* The rest of this is inspired by the Linux kernel */ - class = (*ix86Pci0.funcs->pciReadLong)(tag, PCI_CLASS_REG); - - /* Ignore revision id and programming interface */ - switch (class >> 16) { - case (PCI_CLASS_PREHISTORIC << 8) | PCI_SUBCLASS_PREHISTORIC_MISC: - /* Check for vendors of known buggy chipsets */ - id &= 0x0000ffff; - if ((id == PCI_VENDOR_INTEL) || (id == PCI_VENDOR_COMPAQ)) - return TRUE; - continue; - - case (PCI_CLASS_PREHISTORIC << 8) | PCI_SUBCLASS_PREHISTORIC_VGA: - case (PCI_CLASS_DISPLAY << 8) | PCI_SUBCLASS_DISPLAY_VGA: - case (PCI_CLASS_BRIDGE << 8) | PCI_SUBCLASS_BRIDGE_HOST: - return TRUE; - - default: - break; - } - } -#endif - return FALSE; -} - -static -void ix86PciSelectCfgmech(void) -{ - static Bool beenhere = FALSE; - CARD32 mode1Res1 = 0, mode1Res2 = 0, oldVal1 = 0; - CARD8 mode2Res1 = 0, mode2Res2 = 0, oldVal2 = 0; - int stages = 0; - - if (beenhere) - return; /* Been there, done that */ - - beenhere = TRUE; - - /* - * Determine if motherboard chipset supports PCI Config Mech 1 or 2 - * We rely on xf86Info.pciFlags to tell which mechanisms to try.... - */ - switch (xf86Info.pciFlags) { - case PCIOsConfig: - case PCIProbe1: - if (!xf86EnableIO()) - return; - - xf86MsgVerb(X_INFO, 2, - "PCI: Probing config type using method 1\n"); - oldVal1 = inl(PCI_CFGMECH1_ADDRESS_REG); - -#ifdef DEBUGPCI - if (xf86Verbose > 2) { - ErrorF("Checking config type 1:\n" - "\tinitial value of MODE1_ADDR_REG is 0x%08x\n", oldVal1); - ErrorF("\tChecking that all bits in mask 0x7f000000 are clear\n"); - } -#endif - - /* Assuming config type 1 to start with */ - if ((oldVal1 & 0x7f000000) == 0) { - - stages |= 0x01; - -#ifdef DEBUGPCI - if (xf86Verbose > 2) { - ErrorF("\tValue indicates possibly config type 1\n"); - ErrorF("\tWriting 32-bit value 0x%08x to MODE1_ADDR_REG\n", PCI_EN); -#if 0 - ErrorF("\tWriting 8-bit value 0x00 to MODE1_ADDR_REG + 3\n"); -#endif - } -#endif - - ix86Pci0.configMech = PCI_CFG_MECH_1; - ix86Pci0.numDevices = PCI_CFGMECH1_MAXDEV; - ix86Pci0.funcs = &ix86Funcs1; - - outl(PCI_CFGMECH1_ADDRESS_REG, PCI_EN); - -#if 0 - /* - * This seems to cause some Neptune-based PCI machines to switch - * from config type 1 to config type 2 - */ - outb(PCI_CFGMECH1_ADDRESS_REG + 3, 0); -#endif - mode1Res1 = inl(PCI_CFGMECH1_ADDRESS_REG); - -#ifdef DEBUGPCI - if (xf86Verbose > 2) { - ErrorF("\tValue read back from MODE1_ADDR_REG is 0x%08x\n", - mode1Res1); - ErrorF("\tRestoring original contents of MODE1_ADDR_REG\n"); - } -#endif - - outl(PCI_CFGMECH1_ADDRESS_REG, oldVal1); - - if (mode1Res1) { - - stages |= 0x02; - -#ifdef DEBUGPCI - if (xf86Verbose > 2) { - ErrorF("\tValue read back is non-zero, and indicates possible" - " config type 1\n"); - } -#endif - - if (ix86PciBusCheck()) { - -#ifdef DEBUGPCI - if (xf86Verbose > 2) - ErrorF("\tBus check Confirms this: "); -#endif - - xf86MsgVerb(X_INFO, 2, "PCI: Config type is 1\n"); - xf86MsgVerb(X_INFO, 3, - "PCI: stages = 0x%02x, oldVal1 = 0x%08lx, mode1Res1" - " = 0x%08lx\n", stages, (unsigned long)oldVal1, - (unsigned long)mode1Res1); - return; - } - -#ifdef DEBUGPCI - if (xf86Verbose > 2) { - ErrorF("\tBus check fails to confirm this, continuing type 1" - " check ...\n"); - } -#endif - - } - - stages |= 0x04; - -#ifdef DEBUGPCI - if (xf86Verbose > 2) { - ErrorF("\tWriting 0xff000001 to MODE1_ADDR_REG\n"); - } -#endif - outl(PCI_CFGMECH1_ADDRESS_REG, 0xff000001); - mode1Res2 = inl(PCI_CFGMECH1_ADDRESS_REG); - -#ifdef DEBUGPCI - if (xf86Verbose > 2) { - ErrorF("\tValue read back from MODE1_ADDR_REG is 0x%08x\n", - mode1Res2); - ErrorF("\tRestoring original contents of MODE1_ADDR_REG\n"); - } -#endif - - outl(PCI_CFGMECH1_ADDRESS_REG, oldVal1); - - if ((mode1Res2 & 0x80000001) == 0x80000000) { - - stages |= 0x08; - -#ifdef DEBUGPCI - if (xf86Verbose > 2) { - ErrorF("\tValue read back has only the msb set\n" - "\tThis indicates possible config type 1\n"); - } -#endif - - if (ix86PciBusCheck()) { - -#ifdef DEBUGPCI - if (xf86Verbose > 2) - ErrorF("\tBus check Confirms this: "); -#endif - - xf86MsgVerb(X_INFO, 2, "PCI: Config type is 1\n"); - xf86MsgVerb(X_INFO, 3, - "PCI: stages = 0x%02x, oldVal1 = 0x%08lx,\n" - "\tmode1Res1 = 0x%08lx, mode1Res2 = 0x%08lx\n", - stages, (unsigned long)oldVal1, - (unsigned long)mode1Res1, (unsigned long)mode1Res2); - return; - } - -#ifdef DEBUGPCI - if (xf86Verbose > 2) { - ErrorF("\tBus check fails to confirm this.\n"); - } -#endif - - } - } - - xf86MsgVerb(X_INFO, 3, "PCI: Standard check for type 1 failed.\n"); - xf86MsgVerb(X_INFO, 3, "PCI: stages = 0x%02x, oldVal1 = 0x%08lx,\n" - "\tmode1Res1 = 0x%08lx, mode1Res2 = 0x%08lx\n", - stages, (unsigned long)oldVal1, (unsigned long)mode1Res1, - (unsigned long)mode1Res2); - - /* Try config type 2 */ - oldVal2 = inb(PCI_CFGMECH2_ENABLE_REG); - if ((oldVal2 & 0xf0) == 0) { - ix86Pci0.configMech = PCI_CFG_MECH_2; - ix86Pci0.numDevices = PCI_CFGMECH2_MAXDEV; - ix86Pci0.funcs = &ix86Funcs2; - - outb(PCI_CFGMECH2_ENABLE_REG, 0x0e); - mode2Res1 = inb(PCI_CFGMECH2_ENABLE_REG); - outb(PCI_CFGMECH2_ENABLE_REG, oldVal2); - - if (mode2Res1 == 0x0e) { - if (ix86PciBusCheck()) { - xf86MsgVerb(X_INFO, 2, "PCI: Config type is 2\n"); - return; - } - } - } - break; /* } */ - - case PCIProbe2: /* { */ - if (!xf86EnableIO()) - return; - - /* The scanpci-style detection method */ - - xf86MsgVerb(X_INFO, 2, "PCI: Probing config type using method 2\n"); - - outb(PCI_CFGMECH2_ENABLE_REG, 0x00); - outb(PCI_CFGMECH2_FORWARD_REG, 0x00); - mode2Res1 = inb(PCI_CFGMECH2_ENABLE_REG); - mode2Res2 = inb(PCI_CFGMECH2_FORWARD_REG); - - if (mode2Res1 == 0 && mode2Res2 == 0) { - xf86MsgVerb(X_INFO, 2, "PCI: Config type is 2\n"); - ix86Pci0.configMech = PCI_CFG_MECH_2; - ix86Pci0.numDevices = PCI_CFGMECH2_MAXDEV; - ix86Pci0.funcs = &ix86Funcs2; - return; - } - - oldVal1 = inl(PCI_CFGMECH1_ADDRESS_REG); - outl(PCI_CFGMECH1_ADDRESS_REG, PCI_EN); - mode1Res1 = inl(PCI_CFGMECH1_ADDRESS_REG); - outl(PCI_CFGMECH1_ADDRESS_REG, oldVal1); - if (mode1Res1 == PCI_EN) { - xf86MsgVerb(X_INFO, 2, "PCI: Config type is 1\n"); - ix86Pci0.configMech = PCI_CFG_MECH_1; - ix86Pci0.numDevices = PCI_CFGMECH1_MAXDEV; - ix86Pci0.funcs = &ix86Funcs1; - return; - } - break; /* } */ - - case PCIForceConfig1: - if (!xf86EnableIO()) - return; - - xf86MsgVerb(X_INFO, 2, "PCI: Forcing config type 1\n"); - - ix86Pci0.configMech = PCI_CFG_MECH_1; - ix86Pci0.numDevices = PCI_CFGMECH1_MAXDEV; - ix86Pci0.funcs = &ix86Funcs1; - return; - - case PCIForceConfig2: - if (!xf86EnableIO()) - return; - - xf86MsgVerb(X_INFO, 2, "PCI: Forcing config type 2\n"); - - ix86Pci0.configMech = PCI_CFG_MECH_2; - ix86Pci0.numDevices = PCI_CFGMECH2_MAXDEV; - ix86Pci0.funcs = &ix86Funcs2; - return; - - case PCIForceNone: - break; - } - - /* No PCI found */ - ix86Pci0.configMech = PCI_CFG_MECH_UNKNOWN; - xf86MsgVerb(X_INFO, 2, "PCI: No PCI bus found or probed for\n"); -} - -#if 0 -static pciTagRec -ix86PcibusTag(CARD8 bus, CARD8 cardnum, CARD8 func) -{ - pciTagRec tag; - - tag.cfg1 = 0; - - if (func > 7 || cardnum >= pciBusInfo[bus]->numDevices) - return tag; - - switch (ix86Pci0.configMech) { - case PCI_CFG_MECH_1: - tag.cfg1 = PCI_EN | ((CARD32)bus << 16) | - ((CARD32)cardnum << 11) | - ((CARD32)func << 8); - break; - - case PCI_CFG_MECH_2: - tag.cfg2.port = 0xc000 | ((CARD16)cardnum << 8); - tag.cfg2.enable = 0xf0 | (func << 1); - tag.cfg2.forward = bus; - break; - } - - return tag; -} -#endif - -#if 0 -static CARD32 -ix86PciReadLongSetup(PCITAG Tag, int reg) -{ - ix86PciSelectCfgmech(); - return (*ix86Pci0.funcs->pciReadLong)(Tag,reg); -} - -static CARD32 -ix86PciReadLongCFG1(PCITAG Tag, int reg) -{ - CARD32 addr, data = 0; - -#ifdef DEBUGPCI - ErrorF("ix86PciReadLong 0x%lx, %d\n", Tag, reg); -#endif - - addr = PCI_ADDR_FROM_TAG_CFG1(Tag,reg); - outl(PCI_CFGMECH1_ADDRESS_REG, addr); - data = inl(PCI_CFGMECH1_DATA_REG); - outl(PCI_CFGMECH1_ADDRESS_REG, 0); - -#ifdef DEBUGPCI - ErrorF("ix86PciReadLong 0x%lx\n", data); -#endif - - return data; -} - -static CARD32 -ix86PciReadLongCFG2(PCITAG Tag, int reg) -{ - CARD32 addr, data = 0; - CARD8 forward, enable; - -#ifdef DEBUGPCI - ErrorF("ix86PciReadLong 0x%lx, %d\n", Tag, reg); -#endif - - forward = PCI_FORWARD_FROM_TAG(Tag); - enable = PCI_ENABLE_FROM_TAG(Tag); - addr = PCI_ADDR_FROM_TAG_CFG2(Tag,reg); - - outb(PCI_CFGMECH2_ENABLE_REG, enable); - outb(PCI_CFGMECH2_FORWARD_REG, forward); - data = inl((CARD16)addr); - outb(PCI_CFGMECH2_ENABLE_REG, 0); - outb(PCI_CFGMECH2_FORWARD_REG, 0); - -#ifdef DEBUGPCI - ErrorF("ix86PciReadLong 0x%lx\n", data); -#endif - - return data; -} - -static void -ix86PciWriteLongSetup(PCITAG Tag, int reg, CARD32 data) -{ - ix86PciSelectCfgmech(); - (*ix86Pci0.funcs->pciWriteLong)(Tag,reg,data); -} - -static void -ix86PciWriteLongCFG1(PCITAG Tag, int reg, CARD32 data) -{ - CARD32 addr; - - addr = PCI_ADDR_FROM_TAG_CFG1(Tag,reg); - outl(PCI_CFGMECH1_ADDRESS_REG, addr); - outl(PCI_CFGMECH1_DATA_REG, data); - outl(PCI_CFGMECH1_ADDRESS_REG, 0); -} - -static void -ix86PciWriteLongCFG2(PCITAG Tag, int reg, CARD32 data) -{ - CARD32 addr; - CARD8 forward, enable; - - forward = PCI_FORWARD_FROM_TAG(Tag); - enable = PCI_ENABLE_FROM_TAG(Tag); - addr = PCI_ADDR_FROM_TAG_CFG2(Tag,reg); - - outb(PCI_CFGMECH2_ENABLE_REG, enable); - outb(PCI_CFGMECH2_FORWARD_REG, forward); - outl((CARD16)addr, data); - outb(PCI_CFGMECH2_ENABLE_REG, 0); - outb(PCI_CFGMECH2_FORWARD_REG, 0); -} - -static void -ix86PciSetBitsLongSetup(PCITAG Tag, int reg, CARD32 mask, CARD32 val) -{ - ix86PciSelectCfgmech(); - (*ix86Pci0.funcs->pciSetBitsLong)(Tag,reg,mask,val); -} - -static void -ix86PciSetBitsLongCFG1(PCITAG Tag, int reg, CARD32 mask, CARD32 val) -{ - CARD32 addr, data = 0; - -#ifdef DEBUGPCI - ErrorF("ix86PciSetBitsLong 0x%lx, %d\n", Tag, reg); -#endif - - addr = PCI_ADDR_FROM_TAG_CFG1(Tag,reg); - outl(PCI_CFGMECH1_ADDRESS_REG, addr); - data = inl(PCI_CFGMECH1_DATA_REG); - data = (data & ~mask) | (val & mask); - outl(PCI_CFGMECH1_DATA_REG, data); - outl(PCI_CFGMECH1_ADDRESS_REG, 0); -} - -static void -ix86PciSetBitsLongCFG2(PCITAG Tag, int reg, CARD32 mask, CARD32 val) -{ - CARD32 addr, data = 0; - CARD8 enable, forward; - -#ifdef DEBUGPCI - ErrorF("ix86PciSetBitsLong 0x%lx, %d\n", Tag, reg); -#endif - - forward = PCI_FORWARD_FROM_TAG(Tag); - enable = PCI_ENABLE_FROM_TAG(Tag); - addr = PCI_ADDR_FROM_TAG_CFG2(Tag,reg); - - outb(PCI_CFGMECH2_ENABLE_REG, enable); - outb(PCI_CFGMECH2_FORWARD_REG, forward); - data = inl((CARD16)addr); - data = (data & ~mask) | (val & mask); - outl((CARD16)addr, data); - outb(PCI_CFGMECH2_ENABLE_REG, 0); - outb(PCI_CFGMECH2_FORWARD_REG, 0); -} -#endif - -void -ix86PciInit() -{ - /* Initialize pciBusInfo[] array and function pointers */ - pciNumBuses = 1; - pciBusInfo[0] = &ix86Pci0; - - /* Make sure that there is a PCI bus present. */ - ix86PciSelectCfgmech(); - if (ix86Pci0.configMech == PCI_CFG_MECH_UNKNOWN) { - pciNumBuses = 0; - pciBusInfo[0] = NULL; - } -} diff --git a/xorg-server/hw/xfree86/os-support/bus/linuxPci.c b/xorg-server/hw/xfree86/os-support/bus/linuxPci.c index 11eb4f9e8..263fd8ff1 100644 --- a/xorg-server/hw/xfree86/os-support/bus/linuxPci.c +++ b/xorg-server/hw/xfree86/os-support/bus/linuxPci.c @@ -79,44 +79,28 @@ static pciBusFuncs_t linuxFuncs0 = { #endif }; -static pciBusInfo_t linuxPci0 = { -/* configMech */ PCI_CFG_MECH_OTHER, -/* numDevices */ 32, -/* secondary */ FALSE, -/* primary_bus */ 0, -/* funcs */ &linuxFuncs0, -/* pciBusPriv */ NULL, -/* bridge */ NULL -}; - static const struct pci_id_match match_host_bridge = { PCI_MATCH_ANY, PCI_MATCH_ANY, PCI_MATCH_ANY, PCI_MATCH_ANY, (PCI_CLASS_BRIDGE << 16) | (PCI_SUBCLASS_BRIDGE_HOST << 8), 0x0000ffff00, 0 }; -#ifndef INCLUDE_XF86_NO_DOMAIN #define MAX_DOMAINS 257 static pointer DomainMmappedIO[MAX_DOMAINS]; -#endif void linuxPciInit(void) { - struct stat st; + struct stat st; -#ifndef INCLUDE_XF86_NO_DOMAIN - (void) memset(DomainMmappedIO, 0, sizeof(DomainMmappedIO)); -#endif + memset(DomainMmappedIO, 0, sizeof(DomainMmappedIO)); - if ((xf86Info.pciFlags == PCIForceNone) || - (-1 == stat("/proc/bus/pci", &st))) { - /* when using this as default for all linux architectures, - we'll need a fallback for 2.0 kernels here */ - return; - } - pciNumBuses = 1; - pciBusInfo[0] = &linuxPci0; + if (-1 == stat("/proc/bus/pci", &st)) { + /* when using this as default for all linux architectures, + we'll need a fallback for 2.0 kernels here */ + return; + } + pciBusFuncs = &linuxFuncs0; } /** @@ -239,7 +223,6 @@ linuxPpcBusAddrToHostAddr(PCITAG tag, PciAddrType type, ADDRESS addr) #endif /* __powerpc__ */ -#ifndef INCLUDE_XF86_NO_DOMAIN /* * Compiling the following simply requires the presence of . @@ -603,4 +586,3 @@ xf86AccResFromOS(resPtr pRes) return pRes; } -#endif /* !INCLUDE_XF86_NO_DOMAIN */ diff --git a/xorg-server/hw/xfree86/os-support/bus/ppcPci.c b/xorg-server/hw/xfree86/os-support/bus/ppcPci.c deleted file mode 100644 index 49c1a2a39..000000000 --- a/xorg-server/hw/xfree86/os-support/bus/ppcPci.c +++ /dev/null @@ -1,82 +0,0 @@ -/* - * ppcPci.c - PowerPC PCI access functions - * - * PCI driver functions supporting Motorola PowerPC platforms - * including Powerstack(RiscPC/RiscPC+), PowerStackII, MTX, and - * MVME 160x/260x/360x/460x VME boards - * - * Gary Barton - * Concurrent Computer Corporation - * garyb@gate.net - * - */ - -/* - * 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 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. - */ - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include -#include "compiler.h" -#include "xf86.h" -#include "xf86Priv.h" -#include "xf86_OSlib.h" -#include "Pci.h" - -#ifndef MAP_FAILED -#define MAP_FAILED (pointer)(-1) -#endif - -void -ppcPciInit() -{ - - static void motoppcPciInit(void); - motoppcPciInit(); - -} diff --git a/xorg-server/hw/xfree86/os-support/bus/sparcPci.c b/xorg-server/hw/xfree86/os-support/bus/sparcPci.c deleted file mode 100644 index 2d8039c29..000000000 --- a/xorg-server/hw/xfree86/os-support/bus/sparcPci.c +++ /dev/null @@ -1,979 +0,0 @@ -/* - * Copyright (C) 2001-2003 The XFree86 Project, 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 - * 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. - */ - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include "xf86.h" -#include "xf86Priv.h" -#include "xf86_OSlib.h" -#include "Pci.h" -#include "xf86sbusBus.h" - -#if defined(sun) - -extern char *apertureDevName; -static int apertureFd = -1; - -/* - * A version of xf86MapVidMem() that allows for 64-bit displacements (but not - * sizes). Areas thus mapped can be unmapped by xf86UnMapVidMem(). - */ -static pointer -sparcMapAperture(int iScreen, int Flags, - unsigned long long Base, unsigned long Size) -{ - pointer result; - static int lastFlags = 0; - - /* Assume both Base & Size are multiples of the page size */ - - if ((apertureFd < 0) || (Flags != lastFlags)) { - if (apertureFd >= 0) - close(apertureFd); - lastFlags = Flags; - apertureFd = open(apertureDevName, - (Flags & VIDMEM_READONLY) ? O_RDONLY : O_RDWR); - if (apertureFd < 0) - FatalError("sparcMapAperture: open failure: %s\n", - strerror(errno)); - } - - result = mmap(NULL, Size, - (Flags & VIDMEM_READONLY) ? - PROT_READ : (PROT_READ | PROT_WRITE), - MAP_SHARED, apertureFd, (off_t)Base); - - if (result == MAP_FAILED) - FatalError("sparcMapAperture: mmap failure: %s\n", strerror(errno)); - - return result; -} - -/* - * Platform-specific bus privates. - */ -typedef struct _sparcDomainRec { - unsigned long long io_addr, io_size; - unsigned long long mem_addr, mem_size; - pointer pci, io; - int bus_min, bus_max; - unsigned char dfn_mask[256 / 8]; -} sparcDomainRec, *sparcDomainPtr; - -#define SetBitInMap(bit, map) \ - do { \ - int _bit = (bit); \ - (map)[_bit >> 3] |= 1 << (_bit & 7); \ - } while (0) - -#define IsBitSetInMap(bit, map) \ - ((map)[(bit) >> 3] & (1 << ((bit) & 7))) - -/* - * Domain 0 is reserved for the one that represents the system as a whole, i.e. - * the one without any resource relocations. - */ -#define MAX_DOMAINS (MAX_PCI_BUSES / 256) -static sparcDomainPtr xf86DomainInfo[MAX_DOMAINS]; -static int pciNumDomains = 1; - -/* Variables that are assigned this must be declared volatile */ -#define PciReg(base, tag, off, type) \ - *(volatile type *)(pointer)((char *)(base) + \ - (PCI_TAG_NO_DOMAIN(tag) | (off))) - -/* Generic SPARC PCI access functions */ -static CARD32 -sparcPciCfgRead32(PCITAG tag, int off) -{ - pciBusInfo_t *pBusInfo; - sparcDomainPtr pDomain; - volatile CARD32 result = (CARD32)(-1); /* Must be volatile */ - int bus; - - if ((off >= 0) && (off <= 252) && !(off & 3) && - ((bus = PCI_BUS_FROM_TAG(tag)) < pciNumBuses) && - (pBusInfo = pciBusInfo[bus]) && (pDomain = pBusInfo->pciBusPriv) && - (bus >= pDomain->bus_min) && (bus < pDomain->bus_max) && - ((bus > pDomain->bus_min) || - IsBitSetInMap(PCI_DFN_FROM_TAG(tag), pDomain->dfn_mask))) { - result = PciReg(pDomain->pci, tag, off, CARD32); - - result = PCI_CPU(result); - } - - return result; -} - -static void -sparcPciCfgWrite32(PCITAG tag, int off, CARD32 val) -{ - pciBusInfo_t *pBusInfo; - sparcDomainPtr pDomain; - int bus; - - if ((off < 0) || (off > 252) || (off & 3) || - ((bus = PCI_BUS_FROM_TAG(tag)) >= pciNumBuses) || - !(pBusInfo = pciBusInfo[bus]) || !(pDomain = pBusInfo->pciBusPriv) || - (bus < pDomain->bus_min) || (bus >= pDomain->bus_max) || - ((bus == pDomain->bus_min) && - !IsBitSetInMap(PCI_DFN_FROM_TAG(tag), pDomain->dfn_mask))) - return; - - val = PCI_CPU(val); - PciReg(pDomain->pci, tag, off, CARD32) = val; -} - -static void -sparcPciCfgSetBits32(PCITAG tag, int off, CARD32 mask, CARD32 bits) -{ - CARD32 PciVal; - - PciVal = sparcPciCfgRead32(tag, off); - PciVal &= ~mask; - PciVal |= bits; - sparcPciCfgWrite32(tag, off, PciVal); -} - -static pciBusFuncs_t sparcPCIFunctions = -{ - sparcPciCfgRead32, - sparcPciCfgWrite32, - sparcPciCfgSetBits32, - pciAddrNOOP, - pciAddrNOOP -}; - -/* - * Sabre-specific versions of the above because of its peculiar access size - * requirements. - */ -static CARD32 -sabrePciCfgRead32(PCITAG tag, int off) -{ - pciBusInfo_t *pBusInfo; - sparcDomainPtr pDomain; - volatile CARD32 result; /* Must be volatile */ - int bus; - - if (PCI_BDEV_FROM_TAG(tag)) - return sparcPciCfgRead32(tag, off); - - if (PCI_FUNC_FROM_TAG(tag) || (off < 0) || (off > 252) || (off & 3) || - ((bus = PCI_BUS_FROM_TAG(tag)) >= pciNumBuses) || - !(pBusInfo = pciBusInfo[bus]) || !(pDomain = pBusInfo->pciBusPriv) || - (bus != pDomain->bus_min)) - return (CARD32)(-1); - - if (off < 8) { - result = (PciReg(pDomain->pci, tag, off, CARD16) << 16) | - PciReg(pDomain->pci, tag, off + 2, CARD16); - return PCI_CPU(result); - } - - result = (PciReg(pDomain->pci, tag, off + 3, CARD8) << 24) | - (PciReg(pDomain->pci, tag, off + 2, CARD8) << 16) | - (PciReg(pDomain->pci, tag, off + 1, CARD8) << 8) | - (PciReg(pDomain->pci, tag, off , CARD8) ); - return result; -} - -static void -sabrePciCfgWrite32(PCITAG tag, int off, CARD32 val) -{ - pciBusInfo_t *pBusInfo; - sparcDomainPtr pDomain; - int bus; - - if (PCI_BDEV_FROM_TAG(tag)) - sparcPciCfgWrite32(tag, off, val); - else if (!PCI_FUNC_FROM_TAG(tag) && - (off >= 0) && (off <= 252) && !(off & 3) && - ((bus = PCI_BUS_FROM_TAG(tag)) < pciNumBuses) && - (pBusInfo = pciBusInfo[bus]) && - (pDomain = pBusInfo->pciBusPriv) && - (bus == pDomain->bus_min)) { - if (off < 8) { - val = PCI_CPU(val); - PciReg(pDomain->pci, tag, off , CARD16) = val >> 16; - PciReg(pDomain->pci, tag, off + 2, CARD16) = val; - } else { - PciReg(pDomain->pci, tag, off , CARD8) = val; - PciReg(pDomain->pci, tag, off + 1, CARD8) = val >> 8; - PciReg(pDomain->pci, tag, off + 2, CARD8) = val >> 16; - PciReg(pDomain->pci, tag, off + 3, CARD8) = val >> 24; - } - } -} - -static void -sabrePciCfgSetBits32(PCITAG tag, int off, CARD32 mask, CARD32 bits) -{ - CARD32 PciVal; - - PciVal = sabrePciCfgRead32(tag, off); - PciVal &= ~mask; - PciVal |= bits; - sabrePciCfgWrite32(tag, off, PciVal); -} - -static pciBusFuncs_t sabrePCIFunctions = -{ - sabrePciCfgRead32, - sabrePciCfgWrite32, - sabrePciCfgSetBits32, - pciAddrNOOP, - pciAddrNOOP -}; - -static int pagemask; - -/* Scan PROM for all PCI host bridges in the system */ -void -sparcPciInit(void) -{ - int node, node2; - - if (!xf86LinearVidMem()) - return; - - apertureFd = open(apertureDevName, O_RDWR); - if (apertureFd < 0) { - xf86Msg(X_ERROR, - "sparcPciInit: open failure: %s\n", strerror(errno)); - return; - } - - sparcPromInit(); - pagemask = getpagesize() - 1; - - for (node = promGetChild(promRootNode); - node; - node = promGetSibling(node)) { - unsigned long long pci_addr; - sparcDomainRec domain; - sparcDomainPtr pDomain; - pciBusFuncs_p pFunctions; - char *prop_val; - int prop_len, bus; - - prop_val = promGetProperty("name", &prop_len); - /* Some PROMs include the trailing null; some don't */ - if (!prop_val || (prop_len < 3) || (prop_len > 4) || - strcmp(prop_val, "pci")) - continue; - - prop_val = promGetProperty("model", &prop_len); - if (!prop_val || (prop_len <= 0)) { - prop_val = promGetProperty("compatible", &prop_len); - if (!prop_val || (prop_len <= 0)) - continue; - } - - pFunctions = &sparcPCIFunctions; - (void)memset(&domain, 0, sizeof(domain)); - - if (!strncmp("SUNW,sabre", prop_val, prop_len) || - !strncmp("pci108e,a000", prop_val, prop_len) || - !strncmp("pci108e,a001", prop_val, prop_len)) { - /* - * There can only be one "Sabre" bridge in a system. It provides - * PCI configuration space, a 24-bit I/O space and a 32-bit memory - * space, all three of which are at fixed physical CPU addresses. - */ - static Bool sabre_seen = FALSE; - - xf86Msg(X_INFO, - "Sabre or Hummingbird PCI host bridge found (\"%s\")\n", - prop_val); - - /* There can only be one Sabre */ - if (sabre_seen) - continue; - sabre_seen = TRUE; - - /* Get "bus-range" property */ - prop_val = promGetProperty("bus-range", &prop_len); - if (!prop_val || (prop_len != 8) || - (((unsigned int *)prop_val)[0]) || - (((unsigned int *)prop_val)[1] >= 256)) - continue; - - pci_addr = 0x01fe01000000ull; - domain.io_addr = 0x01fe02000000ull; - domain.io_size = 0x000001000000ull; - domain.mem_addr = 0x01ff00000000ull; - domain.mem_size = 0x000100000000ull; - domain.bus_min = 0; /* Always */ - domain.bus_max = ((int *)prop_val)[1]; - - pFunctions = &sabrePCIFunctions; - } else - if (!strncmp("SUNW,psycho", prop_val, prop_len) || - !strncmp("pci108e,8000", prop_val, prop_len)) { - /* - * A "Psycho" host bridge provides two PCI interfaces, each with - * its own 16-bit I/O and 31-bit memory spaces. Both share the - * same PCI configuration space. Here, they are assigned separate - * domain numbers to prevent unintentional I/O and/or memory - * resource conflicts. - */ - xf86Msg(X_INFO, - "Psycho PCI host bridge found (\"%s\")\n", prop_val); - - /* Get "bus-range" property */ - prop_val = promGetProperty("bus-range", &prop_len); - if (!prop_val || (prop_len != 8) || - (((unsigned int *)prop_val)[1] >= 256) || - (((unsigned int *)prop_val)[0] > ((unsigned int *)prop_val)[1])) - continue; - - domain.bus_min = ((int *)prop_val)[0]; - domain.bus_max = ((int *)prop_val)[1]; - - /* Get "ranges" property */ - prop_val = promGetProperty("ranges", &prop_len); - if (!prop_val || (prop_len != 112) || - prop_val[0] || (prop_val[28] != 0x01u) || - (prop_val[56] != 0x02u) || (prop_val[84] != 0x03u) || - (((unsigned int *)prop_val)[4] != 0x01000000u) || - ((unsigned int *)prop_val)[5] || - ((unsigned int *)prop_val)[12] || - (((unsigned int *)prop_val)[13] != 0x00010000u) || - ((unsigned int *)prop_val)[19] || - (((unsigned int *)prop_val)[20] != 0x80000000u) || - ((((unsigned int *)prop_val)[11] & ~0x00010000u) != - 0x02000000u) || - (((unsigned int *)prop_val)[18] & ~0x80000000u) || - (((unsigned int *)prop_val)[3] != - ((unsigned int *)prop_val)[10]) || - (((unsigned int *)prop_val)[17] != - ((unsigned int *)prop_val)[24]) || - (((unsigned int *)prop_val)[18] != - ((unsigned int *)prop_val)[25]) || - (((unsigned int *)prop_val)[19] != - ((unsigned int *)prop_val)[26]) || - (((unsigned int *)prop_val)[20] != - ((unsigned int *)prop_val)[27])) - continue; - - /* Use memcpy() to avoid alignment issues */ - (void)memcpy(&pci_addr, prop_val + 12, - sizeof(pci_addr)); - (void)memcpy(&domain.io_addr, prop_val + 40, - sizeof(domain.io_addr)); - (void)memcpy(&domain.mem_addr, prop_val + 68, - sizeof(domain.mem_addr)); - - domain.io_size = 0x000000010000ull; - domain.mem_size = 0x000080000000ull; - } else - if (!strncmp("SUNW,schizo", prop_val, prop_len) || - !strncmp("pci108e,8001", prop_val, prop_len)) { - /* - * I have no docs on the "Schizo", but judging from the Linux - * kernel, it also provides two PCI domains. Each PCI - * configuration space is the usual 16M in size, followed by a - * variable-length I/O space. Each domain also provides a - * variable-length memory space. The kernel seems to think the I/O - * spaces are 16M long, and the memory spaces, 2G, but these - * assumptions are actually only present in source code comments. - * Sun has, however, confirmed to me the validity of these - * assumptions. - */ - volatile unsigned long long mem_match, mem_mask, io_match, io_mask; - unsigned long Offset; - pointer pSchizo; - - xf86Msg(X_INFO, - "Schizo PCI host bridge found (\"%s\")\n", prop_val); - - /* Get "bus-range" property */ - prop_val = promGetProperty("bus-range", &prop_len); - if (!prop_val || (prop_len != 8) || - (((unsigned int *)prop_val)[1] >= 256) || - (((unsigned int *)prop_val)[0] > ((unsigned int *)prop_val)[1])) - continue; - - domain.bus_min = ((int *)prop_val)[0]; - domain.bus_max = ((int *)prop_val)[1]; - - /* Get "reg" property */ - prop_val = promGetProperty("reg", &prop_len); - if (!prop_val || (prop_len != 48)) - continue; - - /* Temporarily map some of Schizo's registers */ - pSchizo = sparcMapAperture(-1, VIDMEM_MMIO, - ((unsigned long long *)prop_val)[2] - 0x000000010000ull, - 0x00010000ul); - - /* Determine where PCI config, I/O and memory spaces reside */ - if ((((unsigned long long *)prop_val)[0] & 0x000000700000ull) == - 0x000000600000ull) - Offset = 0x0040; - else - Offset = 0x0060; - - mem_match = PciReg(pSchizo, 0, Offset, unsigned long long); - mem_mask = PciReg(pSchizo, 0, Offset + 8, unsigned long long); - io_match = PciReg(pSchizo, 0, Offset + 16, unsigned long long); - io_mask = PciReg(pSchizo, 0, Offset + 24, unsigned long long); - - /* Unmap Schizo registers */ - xf86UnMapVidMem(-1, pSchizo, 0x00010000ul); - - /* Calculate sizes */ - mem_mask = (((mem_mask - 1) ^ mem_mask) >> 1) + 1; - io_mask = (((io_mask - 1) ^ io_mask ) >> 1) + 1; - - if (io_mask <= 0x000001000000ull) /* Nothing left for I/O */ - continue; - - domain.mem_addr = mem_match & ~0x8000000000000000ull; - domain.mem_size = mem_mask; - pci_addr = io_match & ~0x8000000000000000ull; - domain.io_addr = pci_addr + 0x0000000001000000ull; - domain.io_size = io_mask - 0x0000000001000000ull; - } else { - xf86Msg(X_WARNING, "Unknown PCI host bridge: \"%s\"\n", prop_val); - continue; - } - - /* Only map as much PCI configuration as we need */ - domain.pci = (char *)sparcMapAperture(-1, VIDMEM_MMIO, - pci_addr + PCI_MAKE_TAG(domain.bus_min, 0, 0), - PCI_MAKE_TAG(domain.bus_max - domain.bus_min + 1, 0, 0)) - - PCI_MAKE_TAG(domain.bus_min, 0, 0); - - /* Allocate a domain record */ - pDomain = xnfalloc(sizeof(sparcDomainRec)); - *pDomain = domain; - - /* - * Allocate and prime pciBusInfo records. These are allocated one at a - * time because those for empty buses are eventually released. - */ - bus = pDomain->bus_min = - PCI_MAKE_BUS(pciNumDomains, domain.bus_min); - pciNumBuses = pDomain->bus_max = - PCI_MAKE_BUS(pciNumDomains, domain.bus_max) + 1; - - pciBusInfo[bus] = xnfcalloc(1, sizeof(pciBusInfo_t)); - pciBusInfo[bus]->configMech = PCI_CFG_MECH_OTHER; - pciBusInfo[bus]->numDevices = 32; - pciBusInfo[bus]->funcs = pFunctions; - pciBusInfo[bus]->pciBusPriv = pDomain; - while (++bus < pciNumBuses) { - pciBusInfo[bus] = xnfalloc(sizeof(pciBusInfo_t)); - *(pciBusInfo[bus]) = *(pciBusInfo[bus - 1]); - pciBusInfo[bus]->funcs = &sparcPCIFunctions; - } - - /* Next domain, please... */ - xf86DomainInfo[pciNumDomains++] = pDomain; - - /* - * OK, enough of the straight-forward stuff. Time to deal with some - * brokenness... - * - * The PCI specs require that when a bus transaction remains unclaimed - * for too long, the master entity on that bus is to cancel the - * transaction it issued or passed on with a master abort. Two - * outcomes are possible: - * - * - the master abort can be treated as an error that is propogated - * back through the bus tree to the entity that ultimately originated - * the transaction; or - * - the transaction can be allowed to complete normally, which means - * that writes are ignored and reads return all ones. - * - * In the first case, if the CPU happens to be at the tail end of the - * tree path through one of its host bridges, it will be told there is - * a hardware mal-function, despite being generated by software. - * - * For a software function (be it firmware, OS or userland application) - * to determine how a PCI bus tree is populated, it must be able to - * detect when master aborts occur. Obviously, PCI discovery is much - * simpler when master aborts are allowed to complete normally. - * - * Unfortunately, a number of non-Intel PCI implementations have chosen - * to treat master aborts as severe errors. The net effect is to - * cripple PCI discovery algorithms in userland. - * - * On SPARCs, master aborts cause a number of different behaviours, - * including delivering a signal to the userland application, rebooting - * the system, "dropping down" to firmware, or, worst of all, bus - * lockouts. Even in the first case, the SIGBUS signal that is - * eventually generated isn't delivered in a timely enough fashion to - * allow an application to reliably detect the master abort that - * ultimately caused it. - * - * This can be somewhat mitigated. On all architectures, master aborts - * that occur on secondary buses can be forced to complete normally - * because the PCI-to-PCI bridges that serve them are governed by an - * industry-wide specification. (This is just another way of saying - * that whatever justification there might be for erroring out master - * aborts is deemed by the industry as insufficient to generate more - * PCI non-compliance than there already is...) - * - * This leaves us with master aborts that occur on primary buses. - * There is no specification for host-to-PCI bridges. Bridges used in - * SPARCs can be told to ignore all PCI errors, but not specifically - * master aborts. Not only is this too coarse-grained, but - * master-aborted read transactions on the primary bus end up returning - * garbage rather than all ones. - * - * I have elected to work around this the only way I can think of doing - * so right now. The following scans an additional PROM level and - * builds a device/function map for the primary bus. I can only hope - * this PROM information represents all devices on the primary bus, - * rather than only a subset of them. - * - * Master aborts are useful in other ways too, that are not addressed - * here. These include determining whether or not a domain provides - * VGA, or if a PCI device actually implements PCI disablement. - * - * --- TSI @ UQV 2001.09.19 - */ - for (node2 = promGetChild(node); - node2; - node2 = promGetSibling(node2)) { - /* Get "reg" property */ - prop_val = promGetProperty("reg", &prop_len); - if (!prop_val || (prop_len % 20)) - continue; - - /* - * It's unnecessary to scan the entire "reg" property, but I'll do - * so anyway. - */ - prop_len /= 20; - for (; prop_len--; prop_val += 20) - SetBitInMap(PCI_DFN_FROM_TAG(*(PCITAG *)prop_val), - pDomain->dfn_mask); - } - - /* Assume the host bridge is device 0, function 0 on its bus */ - SetBitInMap(0, pDomain->dfn_mask); - } - - sparcPromClose(); - - close(apertureFd); - apertureFd = -1; -} - -#ifndef INCLUDE_XF86_NO_DOMAIN - -_X_EXPORT int -xf86GetPciDomain(PCITAG Tag) -{ - return PCI_DOM_FROM_TAG(Tag); -} - -_X_EXPORT pointer -xf86MapDomainMemory(int ScreenNum, int Flags, PCITAG Tag, - ADDRESS Base, unsigned long Size) -{ - sparcDomainPtr pDomain; - pointer result; - int domain = PCI_DOM_FROM_TAG(Tag); - - if ((domain <= 0) || (domain >= pciNumDomains) || - !(pDomain = xf86DomainInfo[domain]) || - (((unsigned long long)Base + (unsigned long long)Size) > - pDomain->mem_size)) - FatalError("xf86MapDomainMemory() called with invalid parameters.\n"); - - result = sparcMapAperture(ScreenNum, Flags, pDomain->mem_addr + Base, Size); - - if (apertureFd >= 0) { - close(apertureFd); - apertureFd = -1; - } - - return result; -} - -_X_EXPORT IOADDRESS -xf86MapLegacyIO(int ScreenNum, int Flags, PCITAG Tag, - IOADDRESS Base, unsigned long Size) -{ - sparcDomainPtr pDomain; - int domain = PCI_DOM_FROM_TAG(Tag); - - if ((domain <= 0) || (domain >= pciNumDomains) || - !(pDomain = xf86DomainInfo[domain]) || - (((unsigned long long)Base + (unsigned long long)Size) > - pDomain->io_size)) - FatalError("xf86MapLegacyIO() called with invalid parameters.\n"); - - /* Permanently map all of I/O space */ - if (!pDomain->io) { - pDomain->io = sparcMapAperture(ScreenNum, Flags, - pDomain->io_addr, pDomain->io_size); - - if (apertureFd >= 0) { - close(apertureFd); - apertureFd = -1; - } - } - - return (IOADDRESS)pDomain->io + Base; -} - -resPtr -xf86AccResFromOS(resPtr pRes) -{ - sparcDomainPtr pDomain; - resRange range; - int domain; - - for (domain = 1; domain < pciNumDomains; domain++) { - if (!(pDomain = xf86DomainInfo[domain])) - continue; - - /* - * At minimum, the top and bottom resources must be claimed, so that - * resources that are (or appear to be) unallocated can be relocated. - */ - RANGE(range, 0x00000000u, 0x0009ffffu, - RANGE_TYPE(ResExcMemBlock, domain)); - pRes = xf86AddResToList(pRes, &range, -1); - RANGE(range, 0x000c0000u, 0x000effffu, - RANGE_TYPE(ResExcMemBlock, domain)); - pRes = xf86AddResToList(pRes, &range, -1); - RANGE(range, 0x000f0000u, 0x000fffffu, - RANGE_TYPE(ResExcMemBlock, domain)); - pRes = xf86AddResToList(pRes, &range, -1); - - RANGE(range, pDomain->mem_size - 1, pDomain->mem_size - 1, - RANGE_TYPE(ResExcMemBlock, domain)); - pRes = xf86AddResToList(pRes, &range, -1); - - RANGE(range, 0x00000000u, 0x00000000u, - RANGE_TYPE(ResExcIoBlock, domain)); - pRes = xf86AddResToList(pRes, &range, -1); - RANGE(range, pDomain->io_size - 1, pDomain->io_size - 1, - RANGE_TYPE(ResExcIoBlock, domain)); - pRes = xf86AddResToList(pRes, &range, -1); - } - - return pRes; -} - -#endif /* !INCLUDE_XF86_NO_DOMAIN */ - -#endif /* defined(sun) */ - -#if defined(ARCH_PCI_PCI_BRIDGE) - -/* Definitions specific to Sun's APB P2P bridge (a.k.a. Simba) */ -#define APB_IO_ADDRESS_MAP 0xDE -#define APB_MEM_ADDRESS_MAP 0xDF - -/* - * Simba's can only occur on bus 0. Furthermore, Simba's must have a non-zero - * device/function number because the Sabre interface they must connect to - * occupies the 0:0:0 slot. Also, there can be only one Sabre interface in the - * system, and therefore, only one Simba function can route any particular - * resource. Thus, it is appropriate to use a single set of static variables - * to hold the tag of the Simba function routing a VGA resource range at any - * one time, and to test these variables for non-zero to determine whether or - * not the Sabre would master-abort a VGA access (and kill the system). - * - * The trick is to determine when it is safe to re-route VGA, because doing so - * re-routes much more. - */ -static PCITAG simbavgaIOTag = 0, simbavgaMemTag = 0; -static Bool simbavgaRoutingAllow = TRUE; - -/* - * Scan the bus subtree rooted at 'bus' for a non-display device that might be - * decoding the bottom 2 MB of I/O space and/or the bottom 512 MB of memory - * space. Reset simbavgaRoutingAllow if such a device is found. - * - * XXX For now, this is very conservative and should be made less so as the - * need arises. - */ -static void -simbaCheckBus(CARD16 pcicommand, int bus) -{ - pciConfigPtr pPCI, *ppPCI = xf86scanpci(0); - - while ((pPCI = *ppPCI++)) { - if (pPCI->busnum < bus) - continue; - if (pPCI->busnum > bus) - break; - - /* XXX Assume all devices respect PCI disablement */ - if (!(pcicommand & pPCI->pci_command)) - continue; - - /* XXX This doesn't deal with mis-advertised classes */ - switch (pPCI->pci_base_class) { - case PCI_CLASS_PREHISTORIC: - if (pPCI->pci_sub_class == PCI_SUBCLASS_PREHISTORIC_VGA) - continue; /* Ignore VGA */ - break; - - case PCI_CLASS_DISPLAY: - continue; - - case PCI_CLASS_BRIDGE: - switch (pPCI->pci_sub_class) { - case PCI_SUBCLASS_BRIDGE_PCI: - case PCI_SUBCLASS_BRIDGE_CARDBUS: - /* Scan secondary bus */ - /* XXX First check bridge routing? */ - simbaCheckBus(pcicommand & pPCI->pci_command, - PCI_SECONDARY_BUS_EXTRACT(pPCI->pci_pp_bus_register, - pPCI->tag)); - if (!simbavgaRoutingAllow) - return; - - default: - break; - } - - default: - break; - } - - /* - * XXX We could check the device's bases here, but PCI doesn't limit - * the device's decoding to them. - */ - - simbavgaRoutingAllow = FALSE; - break; - } -} - -static pciConfigPtr -simbaVerifyBus(int bus) -{ - pciConfigPtr pPCI; - if ((bus < 0) || (bus >= pciNumBuses) || - !pciBusInfo[bus] || !(pPCI = pciBusInfo[bus]->bridge) || - (pPCI->pci_device_vendor != DEVID(VENDOR_SUN, CHIP_SIMBA))) - return NULL; - - return pPCI; -} - -static CARD16 -simbaControlBridge(int bus, CARD16 mask, CARD16 value) -{ - pciConfigPtr pPCI; - CARD16 current = 0, tmp; - CARD8 iomap, memmap; - - if ((pPCI = simbaVerifyBus(bus))) { - /* - * The Simba does not implement VGA enablement as described in the P2P - * spec. It does however route I/O and memory in large enough chunks - * so that we can determine were VGA resources would be routed - * (including ISA VGA I/O aliases). We can allow changes to that - * routing only under certain circumstances. - */ - iomap = pciReadByte(pPCI->tag, APB_IO_ADDRESS_MAP); - memmap = pciReadByte(pPCI->tag, APB_MEM_ADDRESS_MAP); - if (iomap & memmap & 0x01) { - current |= PCI_PCI_BRIDGE_VGA_EN; - if ((mask & PCI_PCI_BRIDGE_VGA_EN) && - !(value & PCI_PCI_BRIDGE_VGA_EN)) { - if (!simbavgaRoutingAllow) { - xf86MsgVerb(X_WARNING, 3, "Attempt to disable VGA routing" - " through Simba at %x:%x:%x disallowed.\n", - pPCI->busnum, pPCI->devnum, pPCI->funcnum); - value |= PCI_PCI_BRIDGE_VGA_EN; - } else { - pciWriteByte(pPCI->tag, APB_IO_ADDRESS_MAP, - iomap & ~0x01); - pciWriteByte(pPCI->tag, APB_MEM_ADDRESS_MAP, - memmap & ~0x01); - simbavgaIOTag = simbavgaMemTag = 0; - } - } - } else { - if (mask & value & PCI_PCI_BRIDGE_VGA_EN) { - if (!simbavgaRoutingAllow) { - xf86MsgVerb(X_WARNING, 3, "Attempt to enable VGA routing" - " through Simba at %x:%x:%x disallowed.\n", - pPCI->busnum, pPCI->devnum, pPCI->funcnum); - value &= ~PCI_PCI_BRIDGE_VGA_EN; - } else { - if (pPCI->tag != simbavgaIOTag) { - if (simbavgaIOTag) { - tmp = pciReadByte(simbavgaIOTag, - APB_IO_ADDRESS_MAP); - pciWriteByte(simbavgaIOTag, APB_IO_ADDRESS_MAP, - tmp & ~0x01); - } - - pciWriteByte(pPCI->tag, APB_IO_ADDRESS_MAP, - iomap | 0x01); - simbavgaIOTag = pPCI->tag; - } - - if (pPCI->tag != simbavgaMemTag) { - if (simbavgaMemTag) { - tmp = pciReadByte(simbavgaMemTag, - APB_MEM_ADDRESS_MAP); - pciWriteByte(simbavgaMemTag, APB_MEM_ADDRESS_MAP, - tmp & ~0x01); - } - - pciWriteByte(pPCI->tag, APB_MEM_ADDRESS_MAP, - memmap | 0x01); - simbavgaMemTag = pPCI->tag; - } - } - } - } - - /* Move on to master abort failure enablement (as per P2P spec) */ - tmp = pciReadWord(pPCI->tag, PCI_PCI_BRIDGE_CONTROL_REG); - current |= tmp; - if (tmp & PCI_PCI_BRIDGE_MASTER_ABORT_EN) { - if ((mask & PCI_PCI_BRIDGE_MASTER_ABORT_EN) && - !(value & PCI_PCI_BRIDGE_MASTER_ABORT_EN)) - pciWriteWord(pPCI->tag, PCI_PCI_BRIDGE_CONTROL_REG, - tmp & ~PCI_PCI_BRIDGE_MASTER_ABORT_EN); - } else { - if (mask & value & PCI_PCI_BRIDGE_MASTER_ABORT_EN) - pciWriteWord(pPCI->tag, PCI_PCI_BRIDGE_CONTROL_REG, - tmp | PCI_PCI_BRIDGE_MASTER_ABORT_EN); - } - - /* Insert emulation of other P2P controls here */ - } - - return (current & ~mask) | (value & mask); -} - -static void -simbaGetBridgeResources(int bus, - pointer *ppIoRes, - pointer *ppMemRes, - pointer *ppPmemRes) -{ - pciConfigPtr pPCI = simbaVerifyBus(bus); - resRange range; - int i; - - if (!pPCI) - return; - - if (ppIoRes) { - xf86FreeResList(*ppIoRes); - *ppIoRes = NULL; - - if (pPCI->pci_command & PCI_CMD_IO_ENABLE) { - unsigned char iomap = pciReadByte(pPCI->tag, APB_IO_ADDRESS_MAP); - if (simbavgaRoutingAllow) - iomap |= 0x01; - for (i = 0; i < 8; i++) { - if (iomap & (1 << i)) { - RANGE(range, i << 21, ((i + 1) << 21) - 1, - RANGE_TYPE(ResExcIoBlock, - xf86GetPciDomain(pPCI->tag))); - *ppIoRes = xf86AddResToList(*ppIoRes, &range, -1); - } - } - } - } - - if (ppMemRes) { - xf86FreeResList(*ppMemRes); - *ppMemRes = NULL; - - if (pPCI->pci_command & PCI_CMD_MEM_ENABLE) { - unsigned char memmap = pciReadByte(pPCI->tag, APB_MEM_ADDRESS_MAP); - if (simbavgaRoutingAllow) - memmap |= 0x01; - for (i = 0; i < 8; i++) { - if (memmap & (1 << i)) { - RANGE(range, i << 29, ((i + 1) << 29) - 1, - RANGE_TYPE(ResExcMemBlock, - xf86GetPciDomain(pPCI->tag))); - *ppMemRes = xf86AddResToList(*ppMemRes, &range, -1); - } - } - } - } - - if (ppPmemRes) { - xf86FreeResList(*ppPmemRes); - *ppPmemRes = NULL; - } -} - -void ARCH_PCI_PCI_BRIDGE(pciConfigPtr pPCI) -{ - static pciBusFuncs_t simbaBusFuncs; - pciBusInfo_t *pBusInfo; - CARD16 pcicommand; - - if (pPCI->pci_device_vendor != DEVID(VENDOR_SUN, CHIP_SIMBA)) - return; - - pBusInfo = pPCI->businfo; - - simbaBusFuncs = *(pBusInfo->funcs); - simbaBusFuncs.pciControlBridge = simbaControlBridge; - simbaBusFuncs.pciGetBridgeResources = simbaGetBridgeResources; - - pBusInfo->funcs = &simbaBusFuncs; - - if (!simbavgaRoutingAllow) - return; - - pcicommand = 0; - - if (pciReadByte(pPCI->tag, APB_IO_ADDRESS_MAP) & 0x01) { - pcicommand |= PCI_CMD_IO_ENABLE; - simbavgaIOTag = pPCI->tag; - } - - if (pciReadByte(pPCI->tag, APB_MEM_ADDRESS_MAP) & 0x01) { - pcicommand |= PCI_CMD_MEM_ENABLE; - simbavgaMemTag = pPCI->tag; - } - - if (!pcicommand) - return; - - simbaCheckBus(pcicommand, - PCI_SECONDARY_BUS_EXTRACT(pPCI->pci_pp_bus_register, pPCI->tag)); -} - -#endif /* defined(ARCH_PCI_PCI_BRIDGE) */ diff --git a/xorg-server/hw/xfree86/os-support/bus/xf86Pci.h b/xorg-server/hw/xfree86/os-support/bus/xf86Pci.h index 2b8a4f76b..3a73678b3 100644 --- a/xorg-server/hw/xfree86/os-support/bus/xf86Pci.h +++ b/xorg-server/hw/xfree86/os-support/bus/xf86Pci.h @@ -255,8 +255,6 @@ ADDRESS pciBusAddrToHostAddr(PCITAG tag, PciAddrType type, ADDRESS addr); PCITAG pciTag(int busnum, int devnum, int funcnum); Bool xf86scanpci(void); -extern int pciNumBuses; - /* Domain access functions. Some of these probably shouldn't be public */ pointer xf86MapDomainMemory(int ScreenNum, int Flags, struct pci_device *dev, ADDRESS Base, unsigned long Size); diff --git a/xorg-server/hw/xfree86/os-support/hurd/Makefile.am b/xorg-server/hw/xfree86/os-support/hurd/Makefile.am index 2214b1c2d..b405b1f2a 100644 --- a/xorg-server/hw/xfree86/os-support/hurd/Makefile.am +++ b/xorg-server/hw/xfree86/os-support/hurd/Makefile.am @@ -1,7 +1,7 @@ noinst_LTLIBRARIES = libhurd.la libhurd_la_SOURCES = hurd_bell.c hurd_init.c hurd_mmap.c \ - hurd_mouse.c hurd_video.c \ + hurd_video.c \ $(srcdir)/../shared/VTsw_noop.c \ $(srcdir)/../shared/posix_tty.c \ $(srcdir)/../shared/stdResource.c \ diff --git a/xorg-server/hw/xfree86/os-support/hurd/Makefile.in b/xorg-server/hw/xfree86/os-support/hurd/Makefile.in index 4f7be3e1e..56206bd51 100644 --- a/xorg-server/hw/xfree86/os-support/hurd/Makefile.in +++ b/xorg-server/hw/xfree86/os-support/hurd/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -43,7 +43,6 @@ 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 \ @@ -52,18 +51,14 @@ CONFIG_CLEAN_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) libhurd_la_LIBADD = am_libhurd_la_OBJECTS = hurd_bell.lo hurd_init.lo hurd_mmap.lo \ - hurd_mouse.lo hurd_video.lo VTsw_noop.lo posix_tty.lo \ - stdResource.lo sigiostubs.lo pm_noop.lo kmod_noop.lo \ - agp_noop.lo + hurd_video.lo VTsw_noop.lo posix_tty.lo stdResource.lo \ + sigiostubs.lo pm_noop.lo kmod_noop.lo agp_noop.lo libhurd_la_OBJECTS = $(am_libhurd_la_OBJECTS) DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include 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) \ @@ -78,8 +73,9 @@ ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ -APPDEFAULTDIR = @APPDEFAULTDIR@ APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +APPLE_APPLICATION_ID = @APPLE_APPLICATION_ID@ +APPLE_APPLICATION_NAME = @APPLE_APPLICATION_NAME@ APP_MAN_DIR = @APP_MAN_DIR@ APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ AR = @AR@ @@ -100,10 +96,6 @@ 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@ @@ -125,6 +117,7 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOLT_BASH = @DOLT_BASH@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ @@ -134,18 +127,15 @@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ DSYMUTIL = @DSYMUTIL@ DTRACE = @DTRACE@ -ECHO = @ECHO@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ -FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ -FREETYPE_LIBS = @FREETYPE_LIBS@ GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ GLX_DEFINES = @GLX_DEFINES@ GL_CFLAGS = @GL_CFLAGS@ @@ -164,7 +154,7 @@ KDRIVE_LIBS = @KDRIVE_LIBS@ KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ -LAUNCHD = @LAUNCHD@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ LEX = @LEX@ @@ -178,7 +168,10 @@ LIBTOOL = @LIBTOOL@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LINUXDOC = @LINUXDOC@ +LIPO = @LIPO@ LN_S = @LN_S@ +LTCOMPILE = @LTCOMPILE@ +LTCXXCOMPILE = @LTCXXCOMPILE@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ @@ -190,8 +183,7 @@ MESA_SOURCE = @MESA_SOURCE@ MISC_MAN_DIR = @MISC_MAN_DIR@ MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ MKDIR_P = @MKDIR_P@ -MKFONTDIR = @MKFONTDIR@ -MKFONTSCALE = @MKFONTSCALE@ +NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCCLD = @OBJCCLD@ @@ -200,8 +192,8 @@ OBJCFLAGS = @OBJCFLAGS@ OBJCLINK = @OBJCLINK@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ @@ -234,7 +226,6 @@ VENDOR_NAME = @VENDOR_NAME@ VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ VENDOR_RELEASE = @VENDOR_RELEASE@ VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ XDMCP_CFLAGS = @XDMCP_CFLAGS@ @@ -244,27 +235,12 @@ XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@ XDMX_CFLAGS = @XDMX_CFLAGS@ XDMX_LIBS = @XDMX_LIBS@ XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ XEPHYR_INCS = @XEPHYR_INCS@ XEPHYR_LIBS = @XEPHYR_LIBS@ 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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ @@ -275,10 +251,6 @@ XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ XNEST_LIBS = @XNEST_LIBS@ XNEST_SYS_LIBS = @XNEST_SYS_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_INCS = @XORG_INCS@ XORG_LIBS = @XORG_LIBS@ @@ -287,13 +259,8 @@ XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ XORG_OS = @XORG_OS@ XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_LIBS@ +XPBPROXY_CFLAGS = @XPBPROXY_CFLAGS@ +XPBPROXY_LIBS = @XPBPROXY_LIBS@ XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ XSDL_INCS = @XSDL_INCS@ @@ -326,8 +293,7 @@ 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@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -347,7 +313,6 @@ driverdir = @driverdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ extdir = @extdir@ -ft_config = @ft_config@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ @@ -357,12 +322,12 @@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ -launchagentsdir = @launchagentsdir@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ logdir = @logdir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ moduledir = @moduledir@ @@ -380,11 +345,9 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ noinst_LTLIBRARIES = libhurd.la libhurd_la_SOURCES = hurd_bell.c hurd_init.c hurd_mmap.c \ - hurd_mouse.c hurd_video.c \ + hurd_video.c \ $(srcdir)/../shared/VTsw_noop.c \ $(srcdir)/../shared/posix_tty.c \ $(srcdir)/../shared/stdResource.c \ @@ -403,8 +366,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ @@ -451,7 +414,6 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hurd_bell.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hurd_init.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hurd_mmap.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hurd_mouse.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hurd_video.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kmod_noop.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pm_noop.Plo@am__quote@ @@ -540,7 +502,7 @@ ID: $(HEADERS) $(SOURCES) $(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; nonemtpy = 1; } \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS diff --git a/xorg-server/hw/xfree86/os-support/hurd/hurd_mouse.c b/xorg-server/hw/xfree86/os-support/hurd/hurd_mouse.c deleted file mode 100644 index 089cba38d..000000000 --- a/xorg-server/hw/xfree86/os-support/hurd/hurd_mouse.c +++ /dev/null @@ -1,242 +0,0 @@ -/* - * 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. - * - */ - -#define NEED_EVENTS -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include -#include -#include "inputstr.h" -#include "scrnintstr.h" -#include "mipointer.h" - -#include "xf86.h" -#include "xf86Xinput.h" -#include "xf86OSmouse.h" -#include "xf86_OSlib.h" -#include "xisb.h" - -#include -#include -#include -#include -#include -#include -#include - -#define DEFAULT_MOUSE_DEV "/dev/mouse" - -typedef unsigned short kev_type; /* kd event type */ -typedef unsigned char Scancode; - -struct mouse_motion { - short mm_deltaX; /* units? */ - short mm_deltaY; -}; - -typedef struct { - kev_type type; /* see below */ - struct timeval time; /* timestamp */ - union { /* value associated with event */ - boolean_t up; /* MOUSE_LEFT .. MOUSE_RIGHT */ - Scancode sc; /* KEYBD_EVENT */ - struct mouse_motion mmotion; /* MOUSE_MOTION */ - } value; -} kd_event; - -/* - * kd_event ID's. - */ -#define MOUSE_LEFT 1 /* mouse left button up/down */ -#define MOUSE_MIDDLE 2 -#define MOUSE_RIGHT 3 -#define MOUSE_MOTION 4 /* mouse motion */ -#define KEYBD_EVENT 5 /* key up/down */ - -#define NUMEVENTS 64 - -/* - * OsMouseReadInput -- - * Get some events from our queue. Process all outstanding events now. - */ -static void -OsMouseReadInput(InputInfoPtr pInfo) -{ - MouseDevPtr pMse; - static kd_event eventList[NUMEVENTS]; - int n, c; - kd_event *event = eventList; - unsigned char *pBuf; - - pMse = pInfo->private; - - XisbBlockDuration(pMse->buffer, -1); - pBuf = (unsigned char *)eventList; - n = 0; - while ((c = XisbRead(pMse->buffer)) >= 0 && n < sizeof(eventList)) - pBuf[n++] = (unsigned char)c; - - if (n == 0) - return; - - n /= sizeof(kd_event); - while( n-- ) { - int buttons = pMse->lastButtons; - int dx = 0, dy = 0; - switch (event->type) { - case MOUSE_RIGHT: - buttons = buttons & 6 |(event->value.up ? 0 : 1); - break; - case MOUSE_MIDDLE: - buttons = buttons & 5 |(event->value.up ? 0 : 2); - break; - case MOUSE_LEFT: - buttons = buttons & 3 |(event->value.up ? 0 : 4) ; - break; - case MOUSE_MOTION: - dx = event->value.mmotion.mm_deltaX; - dy = - event->value.mmotion.mm_deltaY; - break; - default: - ErrorF("Bad mouse event (%d)\n",event->type); - continue; - } - pMse->PostEvent(pInfo, buttons, dx, dy, 0, 0); - ++event; - } - return; -} - -static Bool -OsMousePreInit(InputInfoPtr pInfo, const char *protocol, int flags) -{ - MouseDevPtr pMse; - - /* This is called when the protocol is "OSMouse". */ - - pMse = pInfo->private; - pMse->protocol = protocol; - xf86Msg(X_CONFIG, "%s: Protocol: %s\n", pInfo->name, protocol); - - /* Collect the options, and process the common options. */ - xf86CollectInputOptions(pInfo, NULL, NULL); - xf86ProcessCommonOptions(pInfo, pInfo->options); - - /* Check if the device can be opened. */ - pInfo->fd = xf86OpenSerial(pInfo->options); - if (pInfo->fd == -1) { - if (xf86GetAllowMouseOpenFail()) - xf86Msg(X_WARNING, "%s: cannot open input device\n", pInfo->name); - else { - xf86Msg(X_ERROR, "%s: cannot open input device\n", pInfo->name); - xfree(pMse); - return FALSE; - } - } - xf86CloseSerial(pInfo->fd); - pInfo->fd = -1; - - /* Process common mouse options (like Emulate3Buttons, etc). */ - pMse->CommonOptions(pInfo); - - /* Setup the local procs. */ - pInfo->read_input = OsMouseReadInput; - - pInfo->flags |= XI86_CONFIGURED; - return TRUE; -} - -static const char * -FindDevice(InputInfoPtr pInfo, const char *protocol, int flags) -{ - const char path[] = DEFAULT_MOUSE_DEV; - int fd; - - SYSCALL (fd = open(path, O_RDWR | O_NONBLOCK | O_EXCL)); - - if (fd == -1) - return NULL; - - close(fd); - pInfo->conf_idev->commonOptions = - xf86AddNewOption(pInfo->conf_idev->commonOptions, "Device", path); - xf86Msg(X_INFO, "%s: Setting Device option to \"%s\"\n", pInfo->name, - path); - - return path; -} - -static int -SupportedInterfaces(void) -{ - /* XXX Need to check this. */ - return MSE_SERIAL | MSE_BUS | MSE_PS2 | MSE_XPS2 | MSE_AUTO; -} - -static const char *internalNames[] = { - "OSMouse", - NULL -}; - -static const char ** -BuiltinNames(void) -{ - return internalNames; -} - -static Bool -CheckProtocol(const char *protocol) -{ - int i; - - for (i = 0; internalNames[i]; i++) - if (xf86NameCmp(protocol, internalNames[i]) == 0) - return TRUE; - return FALSE; -} - -static const char * -DefaultProtocol(void) -{ - return "OSMouse"; -} - -OSMouseInfoPtr -xf86OSMouseInit(int flags) -{ - OSMouseInfoPtr p; - - p = xcalloc(sizeof(OSMouseInfoRec), 1); - if (!p) - return NULL; - p->SupportedInterfaces = SupportedInterfaces; - p->BuiltinNames = BuiltinNames; - p->FindDevice = FindDevice; - p->DefaultProtocol = DefaultProtocol; - p->CheckProtocol = CheckProtocol; - p->PreInit = OsMousePreInit; - return p; -} - diff --git a/xorg-server/hw/xfree86/os-support/hurd/hurd_video.c b/xorg-server/hw/xfree86/os-support/hurd/hurd_video.c index 04763ada7..b814072cb 100644 --- a/xorg-server/hw/xfree86/os-support/hurd/hurd_video.c +++ b/xorg-server/hw/xfree86/os-support/hurd/hurd_video.c @@ -142,20 +142,6 @@ xf86DisableIO() return; } -/************************************************************************** - * Interrupt Handling section - **************************************************************************/ -Bool -xf86DisableInterrupts() -{ - return TRUE; -} -void -xf86EnableInterrupts() -{ - return; -} - void xf86MapReadSideEffects(int ScreenNum, int Flags, pointer Base, unsigned long Size) diff --git a/xorg-server/hw/xfree86/os-support/linux/Makefile.am b/xorg-server/hw/xfree86/os-support/linux/Makefile.am index beaae3d5b..da1dcf690 100644 --- a/xorg-server/hw/xfree86/os-support/linux/Makefile.am +++ b/xorg-server/hw/xfree86/os-support/linux/Makefile.am @@ -2,7 +2,6 @@ noinst_LTLIBRARIES = liblinux.la if LINUX_IA64 PLATFORM_PCI_SUPPORT = $(srcdir)/../shared/ia64Pci.c -PLATFORM_DEFINES = -DOS_PROBE_PCI_CHIPSET=lnxProbePciChipset PLATFORM_INCLUDES = -I$(srcdir)/../shared endif if LINUX_ALPHA @@ -26,7 +25,7 @@ APM_SRCS = lnx_apm.c XORG_CFLAGS += -DHAVE_APM endif -liblinux_la_SOURCES = lnx_init.c lnx_video.c lnx_mouse.c \ +liblinux_la_SOURCES = lnx_init.c lnx_video.c \ lnx_pci.c lnx_agp.c lnx_kmod.c lnx_bell.c \ $(srcdir)/../shared/bios_mmap.c \ $(srcdir)/../shared/VTsw_usl.c \ @@ -40,13 +39,11 @@ liblinux_la_SOURCES = lnx_init.c lnx_video.c lnx_mouse.c \ AM_CFLAGS = -DUSESTDRES -DHAVE_SYSV_IPC $(DIX_CFLAGS) $(XORG_CFLAGS) $(PLATFORM_DEFINES) -INCLUDES = $(XORG_INCS) $(PLATFORM_INCLUDES) -I/usr/include/drm # FIXME this last part is crack +INCLUDES = $(XORG_INCS) $(PLATFORM_INCLUDES) $(LIBDRM_CFLAGS) # FIXME: These need to be added to the build LNX_EXTRA_SRCS = \ - lnx_font.c \ - lnx_jstk.c \ - lnxResource.c + lnx_font.c EXTRA_DIST = \ $(LNX_EXTRA_SRCS) \ diff --git a/xorg-server/hw/xfree86/os-support/linux/Makefile.in b/xorg-server/hw/xfree86/os-support/linux/Makefile.in index a753ac9a0..2d3aa3e34 100644 --- a/xorg-server/hw/xfree86/os-support/linux/Makefile.in +++ b/xorg-server/hw/xfree86/os-support/linux/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -46,7 +46,6 @@ 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 \ @@ -54,8 +53,8 @@ CONFIG_HEADER = $(top_builddir)/include/do-not-use-config.h \ CONFIG_CLEAN_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) @LINUX_ALPHA_TRUE@liblinux_la_DEPENDENCIES = liblinuxev56.la -am__liblinux_la_SOURCES_DIST = lnx_init.c lnx_video.c lnx_mouse.c \ - lnx_pci.c lnx_agp.c lnx_kmod.c lnx_bell.c \ +am__liblinux_la_SOURCES_DIST = lnx_init.c lnx_video.c lnx_pci.c \ + lnx_agp.c lnx_kmod.c lnx_bell.c \ $(srcdir)/../shared/bios_mmap.c $(srcdir)/../shared/VTsw_usl.c \ $(srcdir)/../shared/posix_tty.c $(srcdir)/../shared/vidmem.c \ $(srcdir)/../shared/sigio.c $(srcdir)/../shared/stdResource.c \ @@ -65,9 +64,9 @@ am__liblinux_la_SOURCES_DIST = lnx_init.c lnx_video.c lnx_mouse.c \ @LNXAPM_TRUE@am__objects_2 = lnx_apm.lo @LINUX_ALPHA_FALSE@@LINUX_IA64_TRUE@am__objects_3 = ia64Pci.lo @LINUX_ALPHA_TRUE@am__objects_3 = lnx_axp.lo xf86Axp.lo -am_liblinux_la_OBJECTS = lnx_init.lo lnx_video.lo lnx_mouse.lo \ - lnx_pci.lo lnx_agp.lo lnx_kmod.lo lnx_bell.lo bios_mmap.lo \ - VTsw_usl.lo posix_tty.lo vidmem.lo sigio.lo stdResource.lo \ +am_liblinux_la_OBJECTS = lnx_init.lo lnx_video.lo lnx_pci.lo \ + lnx_agp.lo lnx_kmod.lo lnx_bell.lo bios_mmap.lo VTsw_usl.lo \ + posix_tty.lo vidmem.lo sigio.lo stdResource.lo \ $(am__objects_1) $(am__objects_2) $(am__objects_3) liblinux_la_OBJECTS = $(am_liblinux_la_OBJECTS) liblinuxev56_la_LIBADD = @@ -84,9 +83,6 @@ 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) \ @@ -102,8 +98,9 @@ ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ -APPDEFAULTDIR = @APPDEFAULTDIR@ APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +APPLE_APPLICATION_ID = @APPLE_APPLICATION_ID@ +APPLE_APPLICATION_NAME = @APPLE_APPLICATION_NAME@ APP_MAN_DIR = @APP_MAN_DIR@ APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ AR = @AR@ @@ -124,10 +121,6 @@ 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@ @@ -149,6 +142,7 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOLT_BASH = @DOLT_BASH@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ @@ -158,18 +152,15 @@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ DSYMUTIL = @DSYMUTIL@ DTRACE = @DTRACE@ -ECHO = @ECHO@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ -FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ -FREETYPE_LIBS = @FREETYPE_LIBS@ GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ GLX_DEFINES = @GLX_DEFINES@ GL_CFLAGS = @GL_CFLAGS@ @@ -188,7 +179,7 @@ KDRIVE_LIBS = @KDRIVE_LIBS@ KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ -LAUNCHD = @LAUNCHD@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ LEX = @LEX@ @@ -202,7 +193,10 @@ LIBTOOL = @LIBTOOL@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LINUXDOC = @LINUXDOC@ +LIPO = @LIPO@ LN_S = @LN_S@ +LTCOMPILE = @LTCOMPILE@ +LTCXXCOMPILE = @LTCXXCOMPILE@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ @@ -214,8 +208,7 @@ MESA_SOURCE = @MESA_SOURCE@ MISC_MAN_DIR = @MISC_MAN_DIR@ MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ MKDIR_P = @MKDIR_P@ -MKFONTDIR = @MKFONTDIR@ -MKFONTSCALE = @MKFONTSCALE@ +NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCCLD = @OBJCCLD@ @@ -224,8 +217,8 @@ OBJCFLAGS = @OBJCFLAGS@ OBJCLINK = @OBJCLINK@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ @@ -258,7 +251,6 @@ VENDOR_NAME = @VENDOR_NAME@ VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ VENDOR_RELEASE = @VENDOR_RELEASE@ VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ XDMCP_CFLAGS = @XDMCP_CFLAGS@ @@ -268,27 +260,12 @@ XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@ XDMX_CFLAGS = @XDMX_CFLAGS@ XDMX_LIBS = @XDMX_LIBS@ XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ XEPHYR_INCS = @XEPHYR_INCS@ XEPHYR_LIBS = @XEPHYR_LIBS@ 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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ @@ -299,10 +276,6 @@ XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ XNEST_LIBS = @XNEST_LIBS@ XNEST_SYS_LIBS = @XNEST_SYS_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@ $(am__append_2) $(am__append_3) XORG_INCS = @XORG_INCS@ XORG_LIBS = @XORG_LIBS@ @@ -311,13 +284,8 @@ XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ XORG_OS = @XORG_OS@ XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_LIBS@ +XPBPROXY_CFLAGS = @XPBPROXY_CFLAGS@ +XPBPROXY_LIBS = @XPBPROXY_LIBS@ XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ XSDL_INCS = @XSDL_INCS@ @@ -350,8 +318,7 @@ 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@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -371,7 +338,6 @@ driverdir = @driverdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ extdir = @extdir@ -ft_config = @ft_config@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ @@ -381,12 +347,12 @@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ -launchagentsdir = @launchagentsdir@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ logdir = @logdir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ moduledir = @moduledir@ @@ -404,21 +370,18 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ noinst_LTLIBRARIES = liblinux.la $(am__append_1) @LINUX_ALPHA_TRUE@PLATFORM_PCI_SUPPORT = \ @LINUX_ALPHA_TRUE@ $(srcdir)/lnx_axp.c \ @LINUX_ALPHA_TRUE@ $(srcdir)/../shared/xf86Axp.c @LINUX_IA64_TRUE@PLATFORM_PCI_SUPPORT = $(srcdir)/../shared/ia64Pci.c -@LINUX_IA64_TRUE@PLATFORM_DEFINES = -DOS_PROBE_PCI_CHIPSET=lnxProbePciChipset @LINUX_IA64_TRUE@PLATFORM_INCLUDES = -I$(srcdir)/../shared @LINUX_ALPHA_TRUE@liblinuxev56_la_CFLAGS = $(AM_CFLAGS) -mcpu=ev56 @LINUX_ALPHA_TRUE@liblinuxev56_la_SOURCES = lnx_ev56.c @LNXACPI_TRUE@ACPI_SRCS = lnx_acpi.c lnx_apm.c @LNXAPM_TRUE@APM_SRCS = lnx_apm.c -liblinux_la_SOURCES = lnx_init.c lnx_video.c lnx_mouse.c \ +liblinux_la_SOURCES = lnx_init.c lnx_video.c \ lnx_pci.c lnx_agp.c lnx_kmod.c lnx_bell.c \ $(srcdir)/../shared/bios_mmap.c \ $(srcdir)/../shared/VTsw_usl.c \ @@ -431,13 +394,11 @@ liblinux_la_SOURCES = lnx_init.c lnx_video.c lnx_mouse.c \ $(PLATFORM_PCI_SUPPORT) AM_CFLAGS = -DUSESTDRES -DHAVE_SYSV_IPC $(DIX_CFLAGS) $(XORG_CFLAGS) $(PLATFORM_DEFINES) -INCLUDES = $(XORG_INCS) $(PLATFORM_INCLUDES) -I/usr/include/drm # FIXME this last part is crack +INCLUDES = $(XORG_INCS) $(PLATFORM_INCLUDES) $(LIBDRM_CFLAGS) # FIXME: These need to be added to the build LNX_EXTRA_SRCS = \ - lnx_font.c \ - lnx_jstk.c \ - lnxResource.c + lnx_font.c EXTRA_DIST = \ $(LNX_EXTRA_SRCS) \ @@ -453,8 +414,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ @@ -509,7 +470,6 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lnx_bell.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lnx_init.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lnx_kmod.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lnx_mouse.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lnx_pci.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lnx_video.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/posix_tty.Plo@am__quote@ @@ -620,7 +580,7 @@ ID: $(HEADERS) $(SOURCES) $(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; nonemtpy = 1; } \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS diff --git a/xorg-server/hw/xfree86/os-support/linux/int10/linux.c b/xorg-server/hw/xfree86/os-support/linux/int10/linux.c index 9e2c6199c..8274bbbfb 100644 --- a/xorg-server/hw/xfree86/os-support/linux/int10/linux.c +++ b/xorg-server/hw/xfree86/os-support/linux/int10/linux.c @@ -1,6 +1,6 @@ /* * linux specific part of the int10 module - * Copyright 1999, 2000, 2001, 2002, 2003, 2004 Egbert Eich + * Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2008 Egbert Eich */ #ifdef HAVE_XORG_CONFIG_H #include @@ -245,14 +245,15 @@ xf86ExtendedInitInt10(int entityIndex, int Flags) * 64K bytes at a time. */ if (!videoBiosMapped) { - (void)memset((pointer)V_BIOS, 0, SYS_BIOS - V_BIOS); + memset((pointer)V_BIOS, 0, SYS_BIOS - V_BIOS); #ifdef DEBUG ErrorF("Reading BIOS\n"); #endif for (cs = V_BIOS; cs < SYS_BIOS; cs += V_BIOS_SIZE) if (xf86ReadBIOS(cs, 0, (pointer)cs, V_BIOS_SIZE) < V_BIOS_SIZE) xf86DrvMsg(screen, X_WARNING, - "Unable to retrieve all of segment 0x%06lX.\n", cs); + "Unable to retrieve all of segment 0x%06lX.\n", + (long)cs); #ifdef DEBUG ErrorF("done\n"); #endif @@ -292,10 +293,6 @@ xf86ExtendedInitInt10(int entityIndex, int Flags) pInt->BIOSseg = V_BIOS >> 4; break; } - case BUS_ISA: - if (!xf86int10GetBiosSegment(pInt, NULL)) - goto error3; - break; default: goto error3; } @@ -357,7 +354,10 @@ MapCurrentInt10(xf86Int10InfoPtr pInt) "shmat(low_mem) error: %s\n",strerror(errno)); return FALSE; } - + if (mprotect((void*)0, V_RAM, PROT_READ|PROT_WRITE|PROT_EXEC) != 0) + xf86DrvMsg(pInt->scrnIndex, X_ERROR, + "Cannot set EXEC bit on low memory: %s\n", strerror(errno)); + if (((linuxInt10Priv*)pInt->private)->highMem >= 0) { addr = shmat(((linuxInt10Priv*)pInt->private)->highMem, (char*)HIGH_MEM, 0); @@ -368,6 +368,11 @@ MapCurrentInt10(xf86Int10InfoPtr pInt) "shmget error: %s\n",strerror(errno)); return FALSE; } + if (mprotect((void*)HIGH_MEM, HIGH_MEM_SIZE, + PROT_READ|PROT_WRITE|PROT_EXEC) != 0) + xf86DrvMsg(pInt->scrnIndex, X_ERROR, + "Cannot set EXEC bit on high memory: %s\n", + strerror(errno)); } else { if ((fd = open(DEV_MEM, O_RDWR, 0)) >= 0) { if (mmap((void *)(V_BIOS), SYS_BIOS - V_BIOS, diff --git a/xorg-server/hw/xfree86/os-support/linux/lnxResource.c b/xorg-server/hw/xfree86/os-support/linux/lnxResource.c deleted file mode 100644 index 67af9db3d..000000000 --- a/xorg-server/hw/xfree86/os-support/linux/lnxResource.c +++ /dev/null @@ -1,104 +0,0 @@ - -/* Resource information code */ - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include -#include "xf86.h" -#include "xf86Priv.h" -#include "xf86Privstr.h" -#include "xf86Pci.h" -#include "xf86Resources.h" -#define NEED_OS_RAC_PROTOS -#include "xf86_OSlib.h" -#include "lnx.h" - -/* Avoid Imakefile changes */ -#include "bus/Pci.h" - -#ifdef INCLUDE_XF86_NO_DOMAIN - -#ifdef __alpha__ - -resPtr -xf86AccResFromOS(resPtr ret) -{ - resRange range; - - /* - * Fallback is to claim the following areas: - * - * 0x000c0000 - 0x000effff location of VGA and other extensions ROMS - */ - - RANGE(range, 0x000c0000, 0x000effff, ResExcMemBlock); - ret = xf86AddResToList(ret, &range, -1); - - /* - * Fallback would be to claim well known ports in the 0x0 - 0x3ff range - * along with their sparse I/O aliases, but that's too imprecise. Instead - * claim a bare minimum here. - */ - RANGE(range, 0x00000000, 0x000000ff, ResExcIoBlock); /* For mainboard */ - ret = xf86AddResToList(ret, &range, -1); - - /* - * At minimum, the top and bottom resources must be claimed, so that - * resources that are (or appear to be) unallocated can be relocated. - */ - RANGE(range, 0x00000000, 0x00000000, ResExcMemBlock); - ret = xf86AddResToList(ret, &range, -1); - RANGE(range, 0xffffffff, 0xffffffff, ResExcMemBlock); - ret = xf86AddResToList(ret, &range, -1); -/* RANGE(range, 0x00000000, 0x00000000, ResExcIoBlock); - ret = xf86AddResToList(ret, &range, -1); */ - RANGE(range, 0xffffffff, 0xffffffff, ResExcIoBlock); - ret = xf86AddResToList(ret, &range, -1); - - /* XXX add others */ - return ret; -} - -#elif defined(__powerpc__) || \ - defined(__sparc__) || \ - defined(__mips__) || \ - defined(__sh__) || \ - defined(__mc68000__) || \ - defined(__arm__) || \ - defined(__s390__) || \ - defined(__hppa__) - -resPtr -xf86AccResFromOS(resPtr ret) -{ - resRange range; - - /* - * At minimum, the top and bottom resources must be claimed, so that - * resources that are (or appear to be) unallocated can be relocated. - */ - RANGE(range, 0x00000000, 0x00000000, ResExcMemBlock); - ret = xf86AddResToList(ret, &range, -1); - RANGE(range, 0xffffffff, 0xffffffff, ResExcMemBlock); - ret = xf86AddResToList(ret, &range, -1); - RANGE(range, 0x00000000, 0x00000000, ResExcIoBlock); - ret = xf86AddResToList(ret, &range, -1); -#if defined(__sparc__) || defined(__powerpc__) - RANGE(range, 0x00ffffff, 0x00ffffff, ResExcIoBlock); -#else - RANGE(range, 0x0000ffff, 0x0000ffff, ResExcIoBlock); -#endif - ret = xf86AddResToList(ret, &range, -1); - - return ret; -} - -#else - -#error : Put your platform dependent code here!! - -#endif - -#endif /* INCLUDE_XF86_NO_DOMAIN */ diff --git a/xorg-server/hw/xfree86/os-support/linux/lnx_axp.c b/xorg-server/hw/xfree86/os-support/linux/lnx_axp.c index a8ad161b6..e8b6d4749 100644 --- a/xorg-server/hw/xfree86/os-support/linux/lnx_axp.c +++ b/xorg-server/hw/xfree86/os-support/linux/lnx_axp.c @@ -179,7 +179,6 @@ _alpha_iobase_query(unsigned flags, int hose, int bus, int devfn) */ _iobase = _alpha_iobase; -#ifndef INCLUDE_XF86_NO_DOMAIN /* * Only take over the inx/outx functions if this is a dense I/O * system *and* addressing domains are being used. The dense I/O @@ -191,7 +190,6 @@ _alpha_iobase_query(unsigned flags, int hose, int bus, int devfn) _alpha_inb = _dense_inb; _alpha_inw = _dense_inw; _alpha_inl = _dense_inl; -#endif /* !INCLUDE_XF86_NO_DOMAIN */ } else _iobase = _alpha_iobase_legacy; return _iobase(flags, hose, bus, devfn); diff --git a/xorg-server/hw/xfree86/os-support/linux/lnx_bell.c b/xorg-server/hw/xfree86/os-support/linux/lnx_bell.c index 93ad680d7..702dfa675 100644 --- a/xorg-server/hw/xfree86/os-support/linux/lnx_bell.c +++ b/xorg-server/hw/xfree86/os-support/linux/lnx_bell.c @@ -32,6 +32,7 @@ #include "xf86.h" #include "xf86Priv.h" +#include "xf86_OSproc.h" _X_EXPORT void xf86OSRingBell(int loudness, int pitch, int duration) diff --git a/xorg-server/hw/xfree86/os-support/linux/lnx_ev56.c b/xorg-server/hw/xfree86/os-support/linux/lnx_ev56.c index 11c45e538..e751da2d0 100644 --- a/xorg-server/hw/xfree86/os-support/linux/lnx_ev56.c +++ b/xorg-server/hw/xfree86/os-support/linux/lnx_ev56.c @@ -90,7 +90,6 @@ writeDense32(int Value, pointer Base, register unsigned long Offset) } -#ifndef INCLUDE_XF86_NO_DOMAIN void _dense_outb(char val, unsigned long port) @@ -146,5 +145,4 @@ _dense_inl(unsigned long port) return *(volatile CARD32 *)port; } -#endif /* !INCLUDE_XF86_NO_DOMAIN */ diff --git a/xorg-server/hw/xfree86/os-support/linux/lnx_init.c b/xorg-server/hw/xfree86/os-support/linux/lnx_init.c index da5ca57cc..7f408573a 100644 --- a/xorg-server/hw/xfree86/os-support/linux/lnx_init.c +++ b/xorg-server/hw/xfree86/os-support/linux/lnx_init.c @@ -250,6 +250,8 @@ xf86OpenConsole(void) if (!ShareVTs) { + struct termios nTty; + #if defined(DO_OS_FONTRESTORE) lnx_savefont(); #endif @@ -282,37 +284,27 @@ xf86OpenConsole(void) FatalError("xf86OpenConsole: KDSETMODE KD_GRAPHICS failed %s\n", strerror(errno)); - /* Set the keyboard to RAW mode. If we're using the keyboard - * driver, the driver does it for us. If we have AEI on, then - * we're expecting the devices to be added (i.e. evdev) and we - * have to set it manually. - */ - if (xf86Info.allowEmptyInput) - { - struct termios nTty; - - tcgetattr(xf86Info.consoleFd, &tty_attr); - ioctl(xf86Info.consoleFd, KDGKBMODE, &tty_mode); - - if (ioctl(xf86Info.consoleFd, KDSKBMODE, K_RAW) < 0) - FatalError("xf86OpenConsole: KDSKBMODE K_RAW failed %s\n", - strerror(errno)); - - nTty = tty_attr; - nTty.c_iflag = (IGNPAR | IGNBRK) & (~PARMRK) & (~ISTRIP); - nTty.c_oflag = 0; - nTty.c_cflag = CREAD | CS8; - nTty.c_lflag = 0; - nTty.c_cc[VTIME]=0; - nTty.c_cc[VMIN]=1; - cfsetispeed(&nTty, 9600); - cfsetospeed(&nTty, 9600); - tcsetattr(xf86Info.consoleFd, TCSANOW, &nTty); - - /* need to keep the buffer clean, else the kernel gets angry */ - console_handler = xf86AddGeneralHandler(xf86Info.consoleFd, - drain_console, NULL); - } + tcgetattr(xf86Info.consoleFd, &tty_attr); + ioctl(xf86Info.consoleFd, KDGKBMODE, &tty_mode); + + if (ioctl(xf86Info.consoleFd, KDSKBMODE, K_RAW) < 0) + FatalError("xf86OpenConsole: KDSKBMODE K_RAW failed %s\n", + strerror(errno)); + + nTty = tty_attr; + nTty.c_iflag = (IGNPAR | IGNBRK) & (~PARMRK) & (~ISTRIP); + nTty.c_oflag = 0; + nTty.c_cflag = CREAD | CS8; + nTty.c_lflag = 0; + nTty.c_cc[VTIME]=0; + nTty.c_cc[VMIN]=1; + cfsetispeed(&nTty, 9600); + cfsetospeed(&nTty, 9600); + tcsetattr(xf86Info.consoleFd, TCSANOW, &nTty); + + /* need to keep the buffer clean, else the kernel gets angry */ + console_handler = xf86AddGeneralHandler(xf86Info.consoleFd, + drain_console, NULL); /* we really should have a InitOSInputDevices() function instead * of Init?$#*&Device(). So I just place it here */ diff --git a/xorg-server/hw/xfree86/os-support/linux/lnx_jstk.c b/xorg-server/hw/xfree86/os-support/linux/lnx_jstk.c deleted file mode 100644 index d77631ba4..000000000 --- a/xorg-server/hw/xfree86/os-support/linux/lnx_jstk.c +++ /dev/null @@ -1,180 +0,0 @@ -/* - * Copyright 1995 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. - * - */ - - -static const char rcs_id[] = "Id: lnx_jstk.c,v 1.1 1995/12/20 14:06:09 lepied Exp"; - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#define inline __inline__ -#include -#include -#include - -#include "xf86.h" - -#if !defined(JSIOCGTIMELIMIT) -/* make 2.1.x joystick.h backward compatable */ -#define JSIOCGTIMELIMIT JS_GET_TIMELIMIT -#define JSIOCSTIMELIMIT JS_SET_TIMELIMIT -#define js_status JS_DATA_TYPE -#endif - - -/*********************************************************************** - * - * xf86JoystickOn -- - * - * open the device and init timeout according to the device value. - * - *********************************************************************** - */ - -int -xf86JoystickOn(char *name, int *timeout, int *centerX, int *centerY) -{ - int fd; - struct js_status js; - -#ifdef DEBUG - ErrorF("xf86JoystickOn %s\n", name); -#endif - - if ((fd = open(name, O_RDWR | O_NDELAY, 0)) < 0) - { - xf86Msg(X_WARNING, "Cannot open joystick '%s' (%s)\n", name, - strerror(errno)); - return -1; - } - - if (*timeout == 0) { - if (ioctl (fd, JSIOCGTIMELIMIT, timeout) == -1) { - Error("joystick JSIOCGTIMELIMIT ioctl"); - } - else { - xf86Msg(X_CONFIG, "Joystick: timeout value = %d\n", *timeout); - } - } - else { - if (ioctl(fd, JSIOCSTIMELIMIT, timeout) == -1) { - Error("joystick JSIOCSTIMELIMIT ioctl"); - } - } - - /* Assume the joystick is centred when this is called */ - read(fd, &js, JS_RETURN); - if (*centerX < 0) { - *centerX = js.x; - xf86Msg(X_CONFIG, "Joystick: CenterX set to %d\n", *centerX); - } - if (*centerY < 0) { - *centerY = js.y; - xf86Msg(X_CONFIG, "Joystick: CenterY set to %d\n", *centerY); - } - - return fd; -} - -/*********************************************************************** - * - * xf86JoystickInit -- - * - * called when X device is initialized. - * - *********************************************************************** - */ - -void -xf86JoystickInit() -{ - return; -} - -/*********************************************************************** - * - * xf86JoystickOff -- - * - * close the handle. - * - *********************************************************************** - */ - -int -xf86JoystickOff(int *fd, int doclose) -{ - int oldfd; - - if (((oldfd = *fd) >= 0) && doclose) { - close(*fd); - *fd = -1; - } - return oldfd; -} - -/*********************************************************************** - * - * xf86JoystickGetState -- - * - * return the state of buttons and the position of the joystick. - * - *********************************************************************** - */ - -int -xf86JoystickGetState(int fd, int *x, int *y, int *buttons) -{ - struct js_status js; - int status; - - status = read(fd, &js, JS_RETURN); - - if (status != JS_RETURN) - { - Error("Joystick read"); - return 0; - } - - *x = js.x; - *y = js.y; - *buttons = js.buttons; - - return 1; -} - -/* - * Entry point for XFree86 Loader - */ -void -linux_jstkModuleInit(pointer *data, INT32 *magic) -{ - *magic = MAGIC_DONE; - *data = NULL; -} - -/* end of lnx_jstk.c */ diff --git a/xorg-server/hw/xfree86/os-support/linux/lnx_mouse.c b/xorg-server/hw/xfree86/os-support/linux/lnx_mouse.c deleted file mode 100644 index d2822153f..000000000 --- a/xorg-server/hw/xfree86/os-support/linux/lnx_mouse.c +++ /dev/null @@ -1,221 +0,0 @@ - -/* - * Copyright 1999 by The XFree86 Project, Inc. - */ - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include -#include "xf86.h" -#include "xf86Xinput.h" -#include "xf86OSmouse.h" -#include "xf86_OSlib.h" -#include -#include -#include - -static int -SupportedInterfaces(void) -{ - return MSE_SERIAL | MSE_BUS | MSE_PS2 | MSE_XPS2 | MSE_AUTO; -} - -static const char * -DefaultProtocol(void) -{ - return "Auto"; -} - -#define DEFAULT_MOUSE_DEV "/dev/input/mice" -#define DEFAULT_PS2_DEV "/dev/psaux" -#define DEFAULT_GPM_DATA_DEV "/dev/gpmdata" -#define DEFAULT_GPM_CTL_DEV "/dev/gpmdata" - -static const char *mouseDevs[] = { - DEFAULT_MOUSE_DEV, - DEFAULT_PS2_DEV, - DEFAULT_GPM_DATA_DEV, - NULL -}; - -typedef enum { - MOUSE_PROTO_UNKNOWN = 0, - MOUSE_PROTO_SERIAL, - MOUSE_PROTO_PS2, - MOUSE_PROTO_MSC, - MOUSE_PROTO_GPM, - MOUSE_PROTO_EXPPS2, -} protocolTypes; - -static struct { - protocolTypes proto; - const char *name; -} devproto[] = { - { MOUSE_PROTO_UNKNOWN, NULL }, - { MOUSE_PROTO_PS2, "PS/2" }, - { MOUSE_PROTO_MSC, "MouseSystems" }, - { MOUSE_PROTO_GPM, "GPM" }, - { MOUSE_PROTO_EXPPS2, "ExplorerPS/2" }, -}; - -static const char * -FindDevice(InputInfoPtr pInfo, const char *protocol, int flags) -{ - int fd = -1; - const char **pdev; - - for (pdev = mouseDevs; *pdev; pdev++) { - SYSCALL (fd = open(*pdev, O_RDWR | O_NONBLOCK | O_EXCL)); - if (fd == -1) { -#ifdef DEBUG - ErrorF("Cannot open %s (%s)\n", *pdev, strerror(errno)); -#endif - } else - break; - } - - if (*pdev) { - close(fd); - /* Set the Device option. */ - pInfo->conf_idev->commonOptions = - xf86AddNewOption(pInfo->conf_idev->commonOptions, "Device", *pdev); - xf86Msg(X_INFO, "%s: Setting Device option to \"%s\"\n", - pInfo->name, *pdev); - } - - return *pdev; -} - -static const char * -lnxMouseMagic(InputInfoPtr pInfo) -{ - int fd = -1; - const char *dev; - char *realdev; - struct stat sbuf; - int i; - int proto = MOUSE_PROTO_UNKNOWN; - - dev = xf86SetStrOption(pInfo->conf_idev->commonOptions, "Device", NULL); - if (!dev) { -#ifdef DEBUG - ErrorF("xf86SetStrOption failed to return the device name\n"); -#endif - return NULL; - } - /* Look at the device name to guess the protocol. */ - realdev = NULL; - if (strcmp(dev, DEFAULT_MOUSE_DEV) == 0) { - if (lstat(dev, &sbuf) != 0) { -#ifdef DEBUG - ErrorF("lstat failed for %s (%s)\n", dev, strerror(errno)); -#endif - return NULL; - } - if (S_ISLNK(sbuf.st_mode)) { - realdev = xnfalloc(PATH_MAX + 1); - i = readlink(dev, realdev, PATH_MAX); - if (i <= 0) { -#ifdef DEBUG - ErrorF("readlink failed for %s (%s)\n", dev, strerror(errno)); -#endif - xfree(realdev); - return NULL; - } - realdev[i] = '\0'; - } - } - if (!realdev) - realdev = xnfstrdup(dev); - else { - /* If realdev doesn't contain a '/' then prepend "/dev/" */ - if (!strchr(realdev, '/')) { - char *tmp = xnfalloc(strlen(realdev) + 5 + 1); - sprintf(tmp, "/dev/%s", realdev); - xfree(realdev); - realdev = tmp; - } - } - - if (strcmp(realdev, DEFAULT_MOUSE_DEV) == 0) - proto = MOUSE_PROTO_EXPPS2; - else if (strcmp(realdev, DEFAULT_PS2_DEV) == 0) - proto = MOUSE_PROTO_EXPPS2; - else if (strcmp(realdev, DEFAULT_GPM_DATA_DEV) == 0) - proto = MOUSE_PROTO_MSC; - else if (strcmp(realdev, DEFAULT_GPM_CTL_DEV) == 0) - proto = MOUSE_PROTO_GPM; - xfree(realdev); - /* - * If the protocol can't be guessed from the device name, - * try to characterise it. - */ - if (proto == MOUSE_PROTO_UNKNOWN) { - SYSCALL (fd = open(dev, O_RDWR | O_NONBLOCK | O_EXCL)); - if (isatty(fd)) { - /* Serial PnP has already failed, so give up. */ - } else { - if (fstat(fd, &sbuf) != 0) { -#ifdef DEBUG - ErrorF("fstat failed for %s (%s)\n", dev, strerror(errno)); -#endif - close(fd); - return NULL; - } - if (S_ISFIFO(sbuf.st_mode)) { - /* Assume GPM data in MSC format. */ - proto = MOUSE_PROTO_MSC; - } else { - /* Default to PS/2 */ - proto = MOUSE_PROTO_PS2; - } - } - close(fd); - } - if (proto == MOUSE_PROTO_UNKNOWN) { - xf86Msg(X_ERROR, "%s: Cannot find mouse protocol.\n", - pInfo->name); - return NULL; - } else { - for (i = 0; i < sizeof(devproto)/sizeof(devproto[0]); i++) { - if (devproto[i].proto == proto) { - xf86Msg(X_INFO, - "%s: Setting mouse protocol to \"%s\"\n", - pInfo->name, devproto[i].name); - return devproto[i].name; - } - } - } - return NULL; -} - -static const char * -GuessProtocol(InputInfoPtr pInfo, int flags) -{ - return lnxMouseMagic(pInfo); -} - -static const char * -SetupAuto(InputInfoPtr pInfo, int *protoPara) -{ - return lnxMouseMagic(pInfo); -} - -_X_EXPORT OSMouseInfoPtr -xf86OSMouseInit(int flags) -{ - OSMouseInfoPtr p; - - p = xcalloc(sizeof(OSMouseInfoRec), 1); - if (!p) - return NULL; - p->SupportedInterfaces = SupportedInterfaces; - p->DefaultProtocol = DefaultProtocol; - p->FindDevice = FindDevice; - p->GuessProtocol = GuessProtocol; - p->SetupAuto = SetupAuto; - return p; -} - diff --git a/xorg-server/hw/xfree86/os-support/linux/lnx_video.c b/xorg-server/hw/xfree86/os-support/linux/lnx_video.c index 1bd2d575f..688106af4 100644 --- a/xorg-server/hw/xfree86/os-support/linux/lnx_video.c +++ b/xorg-server/hw/xfree86/os-support/linux/lnx_video.c @@ -75,19 +75,7 @@ extern int iopl(int __level); #ifdef __alpha__ -# ifdef LIBC_IS_FIXED extern void sethae(unsigned long hae); -# else -# include -# define sethae(x) syscall(301,x); -# endif - -/* define to test the Sparse addressing on a non-Jensen */ -# ifdef TEST_JENSEN_CODE -# define isJensen (1) -# else -# define isJensen (axpSystem == JENSEN) -# endif # define BUS_BASE bus_base @@ -107,10 +95,6 @@ static void unmapVidMem(int, pointer, unsigned long); static pointer mapVidMemSparse(int, unsigned long, unsigned long, int); extern axpDevice lnxGetAXP(void); static void unmapVidMemSparse(int, pointer, unsigned long); -# if defined(JENSEN_SUPPORT) -static pointer mapVidMemJensen(int, unsigned long, unsigned long, int); -static void unmapVidMemJensen(int, pointer, unsigned long); -# endif static axpDevice axpSystem = -1; static Bool needSparse; static unsigned long hae_thresh; @@ -398,17 +382,7 @@ xf86OSInitVidMem(VidMemInfoPtr pVidMem) } bus_base = _bus_base(); } - if (isJensen) { -# ifndef JENSEN_SUPPORT - FatalError("Jensen is not supported any more\n" - "If you are intereseted in fixing Jensen support\n" - "please contact xorg@lists.freedesktop.org\n"); -# else - xf86Msg(X_INFO,"Machine type is Jensen\n"); - pVidMem->mapMem = mapVidMemJensen; - pVidMem->unmapMem = unmapVidMemJensen; -# endif /* JENSEN_SUPPORT */ - } else if (needSparse) { + if (needSparse) { xf86Msg(X_INFO,"Machine needs sparse mapping\n"); pVidMem->mapMem = mapVidMemSparse; pVidMem->unmapMem = unmapVidMemSparse; @@ -558,7 +532,7 @@ xf86EnableIO(void) #endif } close(fd); -#elif !defined(__mc68000__) && !defined(__sparc__) && !defined(__mips__) && !defined(__sh__) && !defined(__hppa__) && !defined(__s390__) && !defined(__arm__) +#elif !defined(__mc68000__) && !defined(__sparc__) && !defined(__mips__) && !defined(__sh__) && !defined(__hppa__) && !defined(__s390__) && !defined(__arm__) && !defined(__m32r__) if (ioperm(0, 1024, 1) || iopl(3)) { if (errno == ENODEV) ErrorF("xf86EnableIOPorts: no I/O ports found\n"); @@ -585,7 +559,7 @@ xf86DisableIO(void) #if defined(__powerpc__) munmap(ioBase, 0x20000); ioBase = NULL; -#elif !defined(__mc68000__) && !defined(__sparc__) && !defined(__mips__) && !defined(__sh__) && !defined(__hppa__) && !defined(__arm__) && !defined(__s390__) +#elif !defined(__mc68000__) && !defined(__sparc__) && !defined(__mips__) && !defined(__sh__) && !defined(__hppa__) && !defined(__arm__) && !defined(__s390__) && !defined(__m32r__) iopl(0); ioperm(0, 1024, 0); #endif @@ -594,24 +568,6 @@ xf86DisableIO(void) return; } -/* - * Don't use these two functions. They can't possibly work. If you actually - * need interrupts off for something, you ought to be doing it in the kernel - * anyway. - */ - -_X_EXPORT Bool -xf86DisableInterrupts() -{ - return (TRUE); -} - -_X_EXPORT void -xf86EnableInterrupts() -{ - return; -} - #if defined (__alpha__) #define vuip volatile unsigned int * @@ -932,175 +888,4 @@ _X_EXPORT int (*xf86ReadMmio16)(pointer Base, unsigned long Offset) _X_EXPORT int (*xf86ReadMmio32)(pointer Base, unsigned long Offset) = readDense32; -#ifdef JENSEN_SUPPORT - -static int -readSparseJensen8(pointer Base, register unsigned long Offset); -static int -readSparseJensen16(pointer Base, register unsigned long Offset); -static int -readSparseJensen32(pointer Base, register unsigned long Offset); -static void -writeSparseJensen8(int Value, pointer Base, register unsigned long Offset); -static void -writeSparseJensen16(int Value, pointer Base, register unsigned long Offset); -static void -writeSparseJensen32(int Value, pointer Base, register unsigned long Offset); -static void -writeSparseJensenNB8(int Value, pointer Base, register unsigned long Offset); -static void -writeSparseJensenNB16(int Value, pointer Base, register unsigned long Offset); -static void -writeSparseJensenNB32(int Value, pointer Base, register unsigned long Offset); - -/* - * The Jensen lacks dense memory, thus we have to address the bus via - * the sparse addressing scheme. - * - * Martin Ostermann (ost@comnets.rwth-aachen.de) - Apr.-Sep. 1996 - */ - -#ifdef TEST_JENSEN_CODE -#define SPARSE (5) -#else -#define SPARSE (7) -#endif - -#define JENSEN_SHIFT(x) ((long)x<>= shift; - return 0xffUL & result; -} - -static int -readSparseJensen16(pointer Base, register unsigned long Offset) -{ - register unsigned long result, shift; - - mem_barrier(); - shift = (Offset & 0x2) << 3; - - result = *(vuip)((unsigned long)Base+(Offset<>= shift; - return 0xffffUL & result; -} - -static int -readSparseJensen32(pointer Base, register unsigned long Offset) -{ - register unsigned long result; - - mem_barrier(); - result = *(vuip)((unsigned long)Base+(Offset< -#endif - -#include -#include - -#include "compiler.h" - -#include "xf86.h" -#include "xf86Priv.h" -#include "xf86_OSlib.h" - -static int VTnum = -1; - -void -xf86OpenConsole() -{ - struct vt_mode VT; - char vtname1[11]; - int fd, pgrp; - MessageType from = X_PROBED; - - if (serverGeneration == 1) - { - /* check if we're run with euid==0 */ - if (geteuid() != 0) - { - FatalError("xf86OpenConsole: Server must be suid root\n"); - } - - /* - * setup the virtual terminal manager - * NOTE: - * We use the out-of-the-box atc terminal driver, - * not the GE contributed vdt driver. - * Also, we do setup signals for VT switching which - * is not really necessary because we don't feed the - * VT switch keystrokes to the kernel in xf86Events.c - * (it bombs occasionally...) - */ - if (VTnum != -1) - { - xf86Info.vtno = VTnum; - from = X_CMDLINE; - } - else - { - /* We could use /dev/con which is usually a symlink - * to /dev/atc0 but one could configure the system - * to use a serial line as console device, so to - * be sure we take /dev/atc0. - */ - if ((fd = open("/dev/atc0",O_WRONLY,0)) < 0) - { - FatalError( - "xf86OpenConsole: Cannot open /dev/atc0 (%s)\n", - strerror(errno)); - } - if ((ioctl(fd, VT_OPENQRY, &xf86Info.vtno) < 0) || - (xf86Info.vtno == -1)) - { - FatalError("xf86OpenConsole: Cannot find a free VT\n"); - } - close(fd); - } - xf86Msg(from, "using VT number %d\n", xf86Info.vtno); - - sprintf(vtname1,"/dev/atc%d",xf86Info.vtno); - - pgrp = getpgrp(); /* POSIX version ! */ - ioctl(xf86Info.consoleFd, TIOCSPGRP, &pgrp); - - if ((xf86Info.consoleFd = open(vtname1,O_RDWR|O_NDELAY,0)) < 0) - { - FatalError( - "xf86OpenConsole: Cannot open %s (%s)\n", - vtname1, strerror(errno)); - } - /* change ownership of the vt */ - chown(vtname1, getuid(), getgid()); - - /* - * now get the VT - */ - if (ioctl(xf86Info.consoleFd, VT_ACTIVATE, xf86Info.vtno) != 0) - { - xf86Msg(X_WARNING, "xf86OpenConsole: VT_ACTIVATE failed\n"); - } - if (ioctl(xf86Info.consoleFd, VT_GETMODE, &VT) < 0) - { - FatalError("xf86OpenConsole: VT_GETMODE failed\n"); - } - - /* for future use... */ - signal(SIGUSR1, xf86VTRequest); - - VT.mode = VT_PROCESS; - VT.relsig = SIGUSR1; - VT.acqsig = SIGUSR1; - if (ioctl(xf86Info.consoleFd, VT_SETMODE, &VT) < 0) - { - FatalError("xf86OpenConsole: VT_SETMODE VT_PROCESS failed\n"); - } - } - else - { - /* serverGeneration != 1 */ - /* - * now get the VT - */ - if (ioctl(xf86Info.consoleFd, VT_ACTIVATE, xf86Info.vtno) != 0) - { - xf86Msg(X_WARNING, "xf86OpenConsole: VT_ACTIVATE failed\n"); - } - /* - * If the server doesn't have the VT when the reset occurs, - * this is to make sure we don't continue until the activate - * signal is received. - */ - if (!xf86Screens[0]->vtSema) - sleep(5); - } - return; -} - -void -xf86CloseConsole() -{ - struct vt_mode VT; - -#if 0 - ioctl(xf86Info.consoleFd, VT_ACTIVATE, xf86Info.vtno); - ioctl(xf86Info.consoleFd, VT_WAITACTIVE, 0); -#endif - if (ioctl(xf86Info.consoleFd, VT_GETMODE, &VT) != -1) - { - VT.mode = VT_AUTO; - ioctl(xf86Info.consoleFd, VT_SETMODE, &VT); /* set dflt vt handling */ - } - close(xf86Info.consoleFd); /* make the vt-manager happy */ - return; -} - -int -xf86ProcessArgument(int argc, char *argv[], int i) -{ - if ((argv[i][0] == 'v') && (argv[i][1] == 't')) - { - if (sscanf(argv[i], "vt%2d", &VTnum) == 0) - { - UseMsg(); - VTnum = -1; - return(0); - } - return(1); - } - return(0); -} - -void -xf86UseMsg() -{ - ErrorF("vtXX use the specified VT number\n"); - return; -} - diff --git a/xorg-server/hw/xfree86/os-support/lynxos/lynx_mmap.c b/xorg-server/hw/xfree86/os-support/lynxos/lynx_mmap.c deleted file mode 100644 index 3364399aa..000000000 --- a/xorg-server/hw/xfree86/os-support/lynxos/lynx_mmap.c +++ /dev/null @@ -1,72 +0,0 @@ -/* - * 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. - * - */ - - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include - -#include "xf86.h" -#include "xf86Priv.h" -#include "xf86_OSlib.h" - -/* - * Read BIOS using smem_create facility - */ - -_X_EXPORT int -xf86ReadBIOS(unsigned long Base, unsigned long Offset, unsigned char *Buf, - int Len) -{ -#if defined(__powerpc__) - xf86Msg(X_WARNING, "xf86ReadBios: no BIOS-probe on PowerPC\n"); - return(-1); -#else - char *p; - int mlen; - - mlen = (Offset + Len + 4095) & ~4095; - p = smem_create("BIOS-probe", (char *)Base, mlen, SM_READ); - if (p == NULL) - { - /* check if there is a stale segment around */ - if (smem_remove("BIOS-probe") == 0) { - xf86Msg(X_INFO, - "xf86ReadBios: removed stale smem_ segment\n"); - p = smem_create("BIOS-probe", (char *)Base, mlen, SM_READ); - } - if (p == NULL) { - xf86Msg(X_WARNING, "xf86ReadBios: Failed to smem_create " - "Base %x len %x %s \n", - Base, mlen, strerror(errno)); - return(-1); - } - } - memcpy(Buf, p + Offset, Len); - smem_create(NULL, p, 0, SM_DETACH); - smem_remove("BIOS-probe"); - return(Len); -#endif -} diff --git a/xorg-server/hw/xfree86/os-support/lynxos/lynx_mouse.c b/xorg-server/hw/xfree86/os-support/lynxos/lynx_mouse.c deleted file mode 100644 index b48202977..000000000 --- a/xorg-server/hw/xfree86/os-support/lynxos/lynx_mouse.c +++ /dev/null @@ -1,33 +0,0 @@ - -/* - * Copyright 1999 by The XFree86 Project, Inc. - */ - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include -#include "xf86.h" -#include "xf86Xinput.h" -#include "xf86OSmouse.h" - -static int -SupportedInterfaces(void) -{ - /* XXX Need to check this. */ - return MSE_SERIAL | MSE_BUS | MSE_PS2 | MSE_AUTO; -} - -_X_EXPORT OSMouseInfoPtr -xf86OSMouseInit(int flags) -{ - OSMouseInfoPtr p; - - p = xcalloc(sizeof(OSMouseInfoRec), 1); - if (!p) - return NULL; - p->SupportedInterfaces = SupportedInterfaces; - return p; -} - diff --git a/xorg-server/hw/xfree86/os-support/lynxos/lynx_noinline.c b/xorg-server/hw/xfree86/os-support/lynxos/lynx_noinline.c deleted file mode 100644 index d4db82cca..000000000 --- a/xorg-server/hw/xfree86/os-support/lynxos/lynx_noinline.c +++ /dev/null @@ -1,177 +0,0 @@ -/* - * 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. - */ - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#if /* NO_INLINE && */ defined(__powerpc__) - -#include "xf86Pci.h" - -extern volatile unsigned char *ioBase; - -_X_EXPORT void -eieio() -{ - __asm__ __volatile__ ("eieio"); -} - -_X_EXPORT unsigned long -ldl_brx(volatile unsigned char *base, int ndx) -{ - register unsigned long tmp = *(volatile unsigned long *)(base+ndx); - return( ((tmp & 0x000000ff) << 24) | - ((tmp & 0x0000ff00) << 8) | - ((tmp & 0x00ff0000) >> 8) | - ((tmp & 0xff000000) >> 24) ); -} - -_X_EXPORT unsigned short -ldw_brx(volatile unsigned char *base, int ndx) -{ - register unsigned short tmp = *(volatile unsigned short *)(base+ndx); - return((tmp << 8) | (tmp >> 8)); -} - -_X_EXPORT void -stl_brx(unsigned long val, volatile unsigned char *base, int ndx) -{ - unsigned char *p = (unsigned char *)&val; - unsigned long tmp = (p[3] << 24) | (p[2] << 16) | (p[1] << 8) | (p[0] << 0); - *(volatile unsigned long *)(base+ndx) = tmp; -} - -_X_EXPORT void -stw_brx(unsigned short val, volatile unsigned char *base, int ndx) -{ - unsigned char *p = (unsigned char *)&val; - unsigned short tmp = (p[1] << 8) | p[0]; - *(volatile unsigned short *)(base+ndx) = tmp; -} - -_X_EXPORT void -outb(IOADDRESS port, unsigned char value) -{ - *((volatile unsigned char *)(ioBase + port)) = value; eieio(); -} - -_X_EXPORT void -outw(IOADDRESS port, unsigned short value) -{ - stw_brx(value, ioBase, port); eieio(); -} - -_X_EXPORT void -outl(IOADDRESS port, unsigned int value) -{ - stl_brx(value, ioBase, port); eieio(); -} - -_X_EXPORT unsigned char -inb(IOADDRESS port) -{ - unsigned char val; - - val = *((volatile unsigned char *)(ioBase + port)); eieio(); - return(val); -} - -_X_EXPORT unsigned short -inw(IOADDRESS port) -{ - unsigned short val; - - val = ldw_brx(ioBase, port); eieio(); - return(val); -} - -_X_EXPORT unsigned int -inl(IOADDRESS port) -{ - unsigned int val; - - val = ldl_brx(ioBase, port); eieio(); - return(val); -} - -_X_EXPORT unsigned long -ldl_u(void *p) -{ - return (((*(unsigned char *)(p)) | - (*((unsigned char *)(p)+1)<<8) | - (*((unsigned char *)(p)+2)<<16) | - (*((unsigned char *)(p)+3)<<24))); -} - -_X_EXPORT unsigned long -ldq_u(void *p) -{ - return ldl_u(p); -} - -_X_EXPORT unsigned short -ldw_u(void *p) -{ - return(((*(unsigned char *)(p)) | - (*((unsigned char *)(p)+1)<<8))); -} - -_X_EXPORT void -stl_u(unsigned long v, void *p) -{ - - (*(unsigned char *)(p)) = (v); - (*((unsigned char *)(p)+1)) = ((v) >> 8); - (*((unsigned char *)(p)+2)) = ((v) >> 16); - (*((unsigned char *)(p)+3)) = ((v) >> 24); -} - -_X_EXPORT void -stq_u(unsigned long v, void *p) -{ - stl_u(v,p); -} - -_X_EXPORT void -stw_u(unsigned short v, void *p) -{ - (*(unsigned char *)(p)) = (v); - (*((unsigned char *)(p)+1)) = ((v) >> 8); -} - - -_X_EXPORT void -mem_barrier(void) -{ - __asm__ __volatile__("eieio"); -} - -_X_EXPORT void -write_mem_barrier(void) -{ - __asm__ __volatile__("eieio"); -} - -#endif /* NO_INLINE && __powerpc__ */ diff --git a/xorg-server/hw/xfree86/os-support/lynxos/lynx_ppc.S b/xorg-server/hw/xfree86/os-support/lynxos/lynx_ppc.S deleted file mode 100644 index 3865850d1..000000000 --- a/xorg-server/hw/xfree86/os-support/lynxos/lynx_ppc.S +++ /dev/null @@ -1,70 +0,0 @@ -/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/lynxos/lynx_ppc.S,v 1.1 1999/07/10 07:24:49 dawes Exp $ */ -/* - * 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. - */ - - .file "ppc.s" -.toc - .csect .text[PR] - .balign 4 - .globl ppc_flush_icache - .globl .ppc_flush_icache -.csect ppc_flush_icache[DS] -ppc_flush_icache: - .long .ppc_flush_icache, TOC[tc0], 0 -.csect .text[PR] -.ppc_flush_icache: - mflr 0 - stw 31,-4(1) - stw 0,8(1) - stwu 1,-64(1) - mr 31,1 - stw 3,88(31) - li 6, 0 /* __inst_dcbf (addr, 0); */ - dcbf 3, 6 - li 5, 32 /* __inst_dcbf (addr, LINESIZE); */ - dcbf 3, 5 - sync /* __inst_sync (); */ - li 4,0 /* __inst_icbi (addr, 0); */ - icbi 3,4 - li 7,32 /* __inst_icbi (addr, LINESIZE); */ - icbi 3,7 - sync /* __inst_sync (); */ - isync /* __inst_isync (); */ -L..1: - lwz 1,0(1) - lwz 0,8(1) - mtlr 0 - lwz 31,-4(1) - blr -LT..ppc_flush_icache: - .long 0 - .byte 0,0,32,97,128,1,1,1 - .long 0 - .long LT..ppc_flush_icache-.ppc_flush_icache - .short 16 - .byte "ppc_flush_icache" - .byte 31 -_section_.text: - .csect .data[RW] - .long _section_.text diff --git a/xorg-server/hw/xfree86/os-support/lynxos/lynx_ppc.c b/xorg-server/hw/xfree86/os-support/lynxos/lynx_ppc.c deleted file mode 100644 index 6300f38c8..000000000 --- a/xorg-server/hw/xfree86/os-support/lynxos/lynx_ppc.c +++ /dev/null @@ -1,51 +0,0 @@ -/* - * 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. - */ - -void ppc_flush_icache() -{ -__asm__ __volatile__ (" \ - mflr 0 ;\ - stw 31,-4(1) ;\ - stw 0,8(1) ;\ - stwu 1,-64(1) ;\ - mr 31,1 ;\ - stw 3,88(31) ;\ - li 6, 0 ;\ - dcbf 3, 6 ;\ - li 5, 32 ;\ - dcbf 3, 5 ;\ - sync ;\ - li 4,0 ;\ - icbi 3,4 ;\ - li 7,32 ;\ - icbi 3,7 ;\ - sync ;\ - isync ;\ - lwz 1,0(1) ;\ - lwz 0,8(1) ;\ - mtlr 0 ;\ - lwz 31,-4(1) ;\ - blr ;\ -"); -} diff --git a/xorg-server/hw/xfree86/os-support/lynxos/lynx_video.c b/xorg-server/hw/xfree86/os-support/lynxos/lynx_video.c deleted file mode 100644 index 4602076c7..000000000 --- a/xorg-server/hw/xfree86/os-support/lynxos/lynx_video.c +++ /dev/null @@ -1,710 +0,0 @@ -/* - * 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. - * - */ - - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include -#include "input.h" -#include "scrnintstr.h" - -#include "xf86.h" -#include "xf86Priv.h" -#include "xf86_OSlib.h" -#include "xf86OSpriv.h" - -#if defined(__powerpc__) - -# if defined(USE_MACHINE_ABSOLUTE) -# include -# else -# define __USER_SPACE_INCLUDE -# include -# endif - -void ppcPciIoMap(int bus); -#endif - -#if 0 -#define DEBUG -#endif - -#ifdef HAS_MTRR_SUPPORT -#include -#define X_MTRR_ID "XFree86" - -static pointer setWC(int, unsigned long, unsigned long, Bool, MessageType); -static void undoWC(int, pointer); -static Bool cleanMTRR(void); -static int devMemFd = -1; -#define MTRR_DEVICE "/dev/mtrr" -#endif - - -#if !defined(NO_MMAP) -#include - -int smem_remove(char *name) -{ - return(0); -} - -char *smem_create(char *name, char *arg_addr, long size, int mode) -{ - int fd; - void *addr = 0; - char *retval; - size_t len = size; - int prot = PROT_READ|PROT_WRITE|PROT_UNCACHE; - int flags = MAP_SHARED; - off_t off = (off_t)arg_addr; - - if ((fd = open("/dev/mem" , O_RDWR)) < 0) - { - retval = (char *)-1; - } - else - { - if (mode == SM_DETACH) - { - munmap(arg_addr, len); - retval = 0; - } - else - { - if ((retval = mmap (addr, len, prot, flags, fd, off) ) == MAP_FAILED) - { - retval = (char *)-1; - } - } - - close(fd); - } - - return(retval); -} - -#endif - - -/***************************************************************************/ -/* Video Memory Mapping section */ -/***************************************************************************/ - -typedef struct -{ - char name[16]; - unsigned long Base; - unsigned long Size; - char *ptr; - int RefCnt; -} -_SMEMS; - -#define MAX_SMEMS 16 - -static _SMEMS smems[MAX_SMEMS]; - - -#ifndef MAP_FAILED -#define MAP_FAILED ((void *)-1) -#endif - -static void -smemCleanup(void) -{ - int i; - - for (i = 0; i < MAX_SMEMS; i++) { - if (*smems[i].name && smems[i].ptr) { - (void)smem_create(NULL, smems[i].ptr, 0, SM_DETACH); - (void)smem_remove(smems[i].name); - *smems[i].name = '\0'; - smems[i].ptr = NULL; - smems[i].Base = 0; - smems[i].Size = 0; - smems[i].RefCnt = 0; - } - } -} - -static pointer -MapVidMem(int ScreenNum, unsigned long Base, unsigned long Size, int flags) -{ - static int once; - int free_slot = -1; - int i; - - if (!once) - { - atexit(smemCleanup); - once = 1; - } - for (i = 0; i < MAX_SMEMS; i++) - { - if (!*smems[i].name && free_slot == -1) - free_slot = i; - if (smems[i].Base == Base && smems[i].Size == Size - && *smems[i].name) { - smems[i].RefCnt++; - return smems[i].ptr; - } - } - if (i == MAX_SMEMS && free_slot == -1) - { - FatalError("MapVidMem: failed to smem_create Base %x Size %x (out of SMEMS entries)\n", - Base, Size); - } - - i = free_slot; - sprintf(smems[i].name, "Video-%d", i); - smems[i].Base = Base; - smems[i].Size = Size; - - xf86MsgVerb(X_INFO, 3, "MapVidMem: Base=0x%x Size=0x%x\n", - Base, Size); - -#if defined(__powerpc__) - if (((unsigned long)Base & PHYS_IO_MEM_START) != PHYS_IO_MEM_START) { - Base = Base | PHYS_IO_MEM_START; - } -#endif - - smems[i].ptr = smem_create(smems[i].name, (char *)Base, Size, SM_READ|SM_WRITE); - smems[i].RefCnt = 1; - if (smems[i].ptr == NULL) - { - /* check if there is a stale segment around */ - if (smem_remove(smems[i].name) == 0) { - xf86Msg(X_INFO, - "MapVidMem: removed stale smem_ segment %s\n", - smems[i].name); - smems[i].ptr = smem_create(smems[i].name, - (char *)Base, Size, SM_READ|SM_WRITE); - } - if (smems[i].ptr == NULL) { - *smems[i].name = '\0'; - FatalError("MapVidMem: failed to smem_create Base %x Size %x (%s)\n", - Base, Size, strerror(errno)); - } - } - xf86MsgVerb(X_INFO, 3, "MapVidMem: Base=0x%x Size=0x%x Ptr=0x%x\n", - Base, Size, smems[i].ptr); - return smems[i].ptr; -} - -static void -UnMapVidMem(int ScreenNum, pointer Base, unsigned long Size) -{ - int i; - - xf86MsgVerb(X_INFO, 3, "UnMapVidMem: Base/Ptr=0x%x Size=0x%x\n", - Base, Size); - for (i = 0; i < MAX_SMEMS; i++) - { - if (*smems[i].name && smems[i].ptr == Base - && smems[i].Size == Size) - { - if (--smems[i].RefCnt > 0) - return; - - (void)smem_create(NULL, smems[i].ptr, 0, SM_DETACH); - xf86MsgVerb(X_INFO, 3, - "UnMapVidMem: smem_create(%s, 0x%08x, ... " - "SM_DETACH)\n", smems[i].name, smems[i].ptr); - (void)smem_remove(smems[i].name); - *smems[i].name = '\0'; - smems[i].RefCnt = 0; - return; - } - } - xf86MsgVerb(X_WARNING, 2, - "UnMapVidMem: no SMEM found for Base = %lx Size = %lx\n", - Base, Size); -} - - -void -xf86OSInitVidMem(VidMemInfoPtr pVidMem) -{ - pVidMem->linearSupported = TRUE; - pVidMem->mapMem = MapVidMem; - pVidMem->unmapMem = UnMapVidMem; - pVidMem->setWC = 0; - pVidMem->undoWC = 0; -#ifdef HAS_MTRR_SUPPORT - if (cleanMTRR()) { - pVidMem->setWC = setWC; - pVidMem->undoWC = undoWC; - } -#endif - pVidMem->initialised = TRUE; -} - - -/***************************************************************************/ -/* Interrupt Handling section */ -/***************************************************************************/ - -_X_EXPORT Bool -xf86DisableInterrupts() -{ - return(TRUE); -} - -_X_EXPORT void -xf86EnableInterrupts() -{ - return; -} - -/***************************************************************************/ -/* I/O Permissions section for PowerPC */ -/***************************************************************************/ - -#if defined(__powerpc__) - -_X_EXPORT volatile unsigned char *ioBase = MAP_FAILED; -volatile unsigned char *pciConfBase = MAP_FAILED; - -static int IOEnabled; - - -static void -removeIOSmem(void) -{ - smem_create(NULL, (char *) ioBase, 0, SM_DETACH); - smem_remove("IOBASE"); - ioBase = MAP_FAILED; -} - -_X_EXPORT Bool -xf86EnableIO() -{ - if (IOEnabled++ == 0) { - ioBase = (unsigned char *) smem_create("IOBASE", - (char *)PHYS_ISA_IO_SPACE, 64*1024, SM_READ|SM_WRITE); - if (ioBase == MAP_FAILED) { - --IOEnabled; - xf86Msg(X_WARNING,"xf86EnableIO: Failed to map I/O\n"); - return FALSE; - } else { -#ifdef DEBUG - ErrorF("xf86EnableIO: mapped I/O at vaddr 0x%08x\n", - ioBase); -#endif - atexit(removeIOSmem); - } - } - return TRUE; -} - -_X_EXPORT void -xf86DisableIO() -{ - if (!IOEnabled) - return; - - if (--IOEnabled == 0) - removeIOSmem(); - return; -} - -#if 0 -void -xf86DisableIOPrivs(void) -{ - return; -} -#endif -void -ppcPciIoMap(int bus) -{ - xf86EnableIO(); -} - -#endif - - -#ifdef HAS_MTRR_SUPPORT -/* memory range (MTRR) support for LynxOS (taken from BSD MTRR support) */ - -/* - * This code is experimental. Some parts may be overkill, and other parts - * may be incomplete. - */ - -/* - * getAllRanges returns the full list of memory ranges with attributes set. - */ - -static struct mem_range_desc * -getAllRanges(int *nmr) -{ - struct mem_range_desc *mrd; - struct mem_range_op mro; - - /* - * Find how many ranges there are. If this fails, then the kernel - * probably doesn't have MTRR support. - */ - mro.mo_arg[0] = 0; - if (ioctl(devMemFd, MEMRANGE_GET, &mro)) - return NULL; - *nmr = mro.mo_arg[0]; - mrd = xnfalloc(*nmr * sizeof(struct mem_range_desc)); - mro.mo_arg[0] = *nmr; - mro.mo_desc = mrd; - if (ioctl(devMemFd, MEMRANGE_GET, &mro)) { - xfree(mrd); - return NULL; - } - return mrd; -} - -/* - * cleanMTRR removes any memory attribute that may be left by a previous - * X server. Normally there won't be any, but this takes care of the - * case where a server crashed without being able finish cleaning up. - */ - -static Bool -cleanMTRR() -{ - struct mem_range_desc *mrd; - struct mem_range_op mro; - int nmr, i; - - /* This shouldn't happen */ - if (devMemFd < 0) { - if ((devMemFd = open(MTRR_DEVICE, O_RDONLY)) < 0) { -perror("open MTRR"); - return FALSE; - } - } - - if (!(mrd = getAllRanges(&nmr))) - return FALSE; - - for (i = 0; i < nmr; i++) { - if (strcmp(mrd[i].mr_owner, X_MTRR_ID) == 0 && - (mrd[i].mr_flags & MDF_ACTIVE)) { -#ifdef DEBUG - ErrorF("Clean for (0x%lx,0x%lx)\n", - (unsigned long)mrd[i].mr_base, - (unsigned long)mrd[i].mr_len); -#endif - if (mrd[i].mr_flags & MDF_FIXACTIVE) { - mro.mo_arg[0] = MEMRANGE_SET_UPDATE; - mrd[i].mr_flags = MDF_UNCACHEABLE; - } else { - mro.mo_arg[0] = MEMRANGE_SET_REMOVE; - } - mro.mo_desc = mrd + i; - ioctl(devMemFd, MEMRANGE_SET, &mro); - } - } -#ifdef DEBUG - sleep(10); -#endif - xfree(mrd); - return TRUE; -} - -typedef struct x_RangeRec { - struct mem_range_desc mrd; - Bool wasWC; - struct x_RangeRec * next; -} RangeRec, *RangePtr; - -static void -freeRangeList(RangePtr range) -{ - RangePtr rp; - - while (range) { - rp = range; - range = rp->next; - xfree(rp); - } -} - -static RangePtr -dupRangeList(RangePtr list) -{ - RangePtr new = NULL, rp, p; - - rp = list; - while (rp) { - p = xnfalloc(sizeof(RangeRec)); - *p = *rp; - p->next = new; - new = p; - rp = rp->next; - } - return new; -} - -static RangePtr -sortRangeList(RangePtr list) -{ - RangePtr rp1, rp2, copy, sorted = NULL, minp, prev, minprev; - unsigned long minBase; - - /* Sort by base address */ - rp1 = copy = dupRangeList(list); - while (rp1) { - minBase = rp1->mrd.mr_base; - minp = rp1; - minprev = NULL; - prev = rp1; - rp2 = rp1->next; - while (rp2) { - if (rp2->mrd.mr_base < minBase) { - minBase = rp2->mrd.mr_base; - minp = rp2; - minprev = prev; - } - prev = rp2; - rp2 = rp2->next; - } - if (minprev) { - minprev->next = minp->next; - rp1 = copy; - } else { - rp1 = minp->next; - } - minp->next = sorted; - sorted = minp; - } - return sorted; -} - -/* - * findRanges returns a list of ranges that overlap the specified range. - */ - -static void -findRanges(unsigned long base, unsigned long size, RangePtr *ucp, RangePtr *wcp) -{ - struct mem_range_desc *mrd; - int nmr, i; - RangePtr rp, *p; - - if (!(mrd = getAllRanges(&nmr))) - return; - - for (i = 0; i < nmr; i++) { - if ((mrd[i].mr_flags & MDF_ACTIVE) && - mrd[i].mr_base < base + size && - mrd[i].mr_base + mrd[i].mr_len > base) { - if (mrd[i].mr_flags & MDF_WRITECOMBINE) - p = wcp; - else if (mrd[i].mr_flags & MDF_UNCACHEABLE) - p = ucp; - else - continue; - rp = xnfalloc(sizeof(RangeRec)); - rp->mrd = mrd[i]; - rp->next = *p; - *p = rp; - } - } - xfree(mrd); -} - -/* - * This checks if the existing overlapping ranges fully cover the requested - * range. Is this overkill? - */ - -static Bool -fullCoverage(unsigned long base, unsigned long size, RangePtr overlap) -{ - RangePtr rp1, sorted = NULL; - unsigned long end; - - sorted = sortRangeList(overlap); - /* Look for gaps */ - rp1 = sorted; - end = base + size; - while (rp1) { - if (rp1->mrd.mr_base > base) { - freeRangeList(sorted); - return FALSE; - } else { - base = rp1->mrd.mr_base + rp1->mrd.mr_len; - } - if (base >= end) { - freeRangeList(sorted); - return TRUE; - } - rp1 = rp1->next; - } - freeRangeList(sorted); - return FALSE; -} - -static pointer -addWC(int screenNum, unsigned long base, unsigned long size, MessageType from) -{ - RangePtr uc = NULL, wc = NULL, retlist = NULL; - struct mem_range_desc mrd; - struct mem_range_op mro; - - findRanges(base, size, &uc, &wc); - - /* See of the full range is already WC */ - if (!uc && fullCoverage(base, size, wc)) { - xf86DrvMsg(screenNum, from, - "Write-combining range (0x%lx,0x%lx) was already set\n", - base, size); - return NULL; - } - - /* Otherwise, try to add the new range */ - mrd.mr_base = base; - mrd.mr_len = size; - strcpy(mrd.mr_owner, X_MTRR_ID); - mrd.mr_flags = MDF_WRITECOMBINE; - mro.mo_desc = &mrd; - mro.mo_arg[0] = MEMRANGE_SET_UPDATE; - if (ioctl(devMemFd, MEMRANGE_SET, &mro)) { - xf86DrvMsg(screenNum, X_WARNING, - "Failed to set write-combining range " - "(0x%lx,0x%lx)\n", base, size); - return NULL; - } else { - xf86DrvMsg(screenNum, from, - "Write-combining range (0x%lx,0x%lx)\n", base, size); - retlist = xnfalloc(sizeof(RangeRec)); - retlist->mrd = mrd; - retlist->wasWC = FALSE; - retlist->next = NULL; - return retlist; - } -} - -static pointer -delWC(int screenNum, unsigned long base, unsigned long size, MessageType from) -{ - RangePtr uc = NULL, wc = NULL, retlist = NULL; - struct mem_range_desc mrd; - struct mem_range_op mro; - - findRanges(base, size, &uc, &wc); - - /* - * See of the full range is already not WC, or if there is full - * coverage from UC ranges. - */ - if (!wc || fullCoverage(base, size, uc)) { - xf86DrvMsg(screenNum, from, - "Write-combining range (0x%lx,0x%lx) was already clear\n", - base, size); - return NULL; - } - - /* Otherwise, try to add the new range */ - mrd.mr_base = base; - mrd.mr_len = size; - strcpy(mrd.mr_owner, X_MTRR_ID); - mrd.mr_flags = MDF_UNCACHEABLE; - mro.mo_desc = &mrd; - mro.mo_arg[0] = MEMRANGE_SET_UPDATE; - if (ioctl(devMemFd, MEMRANGE_SET, &mro)) { - xf86DrvMsg(screenNum, X_WARNING, - "Failed to remove write-combining range " - "(0x%lx,0x%lx)\n", base, size); - /* XXX Should then remove all of the overlapping WC ranges */ - return NULL; - } else { - xf86DrvMsg(screenNum, from, - "Removed Write-combining range (0x%lx,0x%lx)\n", - base, size); - retlist = xnfalloc(sizeof(RangeRec)); - retlist->mrd = mrd; - retlist->wasWC = TRUE; - retlist->next = NULL; - return retlist; - } -} - -static pointer -setWC(int screenNum, unsigned long base, unsigned long size, Bool enable, - MessageType from) -{ - if (enable) - return addWC(screenNum, base, size, from); - else - return delWC(screenNum, base, size, from); -} - -static void -undoWC(int screenNum, pointer list) -{ - RangePtr rp; - struct mem_range_op mro; - Bool failed; - - rp = list; - while (rp) { -#ifdef DEBUG - ErrorF("Undo for (0x%lx,0x%lx), %d\n", - (unsigned long)rp->mrd.mr_base, - (unsigned long)rp->mrd.mr_len, rp->wasWC); -#endif - failed = FALSE; - if (rp->wasWC) { - mro.mo_arg[0] = MEMRANGE_SET_UPDATE; - rp->mrd.mr_flags = MDF_WRITECOMBINE; - strcpy(rp->mrd.mr_owner, "unknown"); - } else { - mro.mo_arg[0] = MEMRANGE_SET_REMOVE; - } - mro.mo_desc = &rp->mrd; - - if (ioctl(devMemFd, MEMRANGE_SET, &mro)) { - if (!rp->wasWC) { - mro.mo_arg[0] = MEMRANGE_SET_UPDATE; - rp->mrd.mr_flags = MDF_UNCACHEABLE; - strcpy(rp->mrd.mr_owner, "unknown"); - if (ioctl(devMemFd, MEMRANGE_SET, &mro)) - failed = TRUE; - } else - failed = TRUE; - } - if (failed) { - xf86DrvMsg(screenNum, X_WARNING, - "Failed to restore MTRR range (0x%lx,0x%lx)\n", - (unsigned long)rp->mrd.mr_base, - (unsigned long)rp->mrd.mr_len); - } - rp = rp->next; - } -} - -#endif /* HAS_MTRR_SUPPORT */ - diff --git a/xorg-server/hw/xfree86/os-support/misc/BUSmemcpy.S b/xorg-server/hw/xfree86/os-support/misc/BUSmemcpy.S deleted file mode 100644 index 373723c7d..000000000 --- a/xorg-server/hw/xfree86/os-support/misc/BUSmemcpy.S +++ /dev/null @@ -1,153 +0,0 @@ -/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/misc/BUSmemcpy.s,v 1.2 1998/07/25 16:56:49 dawes Exp $ */ -/****************************************************************************** - Copyright 1993 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 copyright 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. - -Glenn G. Lai -P.O. Box 4314 -Austin, Tx 78765 -(glenn@cs.utexas.edu) -8/9/93 -******************************************************************************/ -/* $XConsortium: BUSmemcpy.s /main/4 1996/02/21 17:39:34 kaleb $ */ - -/* - * Modified to use long-alignment of video memory rather than word-alignment - * to improve performance for LocalBus video cards. Function names changed - * from ISAToMem and MemToISA to BusToMem and MemToBus. - * - * David Dawes , 25 August 1993. - */ - - -#include "assyntax.h" - - FILE("BUSmemcpy.s") - - AS_BEGIN - -/* BusToMem copies from video memory to main memory - MemToBus copies from main memory to video memory - - void xf86BusToMem(unsigned char *dst, unsigned char *src, int len); - void xf86MemToBus(unsigned char *dst, unsigned char *src, int len); -*/ - -#define dst REGOFF(4,ESP) -#define src REGOFF(8,ESP) -#define len REGOFF(12,ESP) - - GLOBL GLNAME(xf86BusToMem) - GLOBL GLNAME(xf86MemToBus) - - SEG_DATA -copyright: - STRING("Copyright 8/9/1993 by Glenn G. Lai") - - SEG_TEXT - ALIGNTEXT4 -GLNAME(xf86BusToMem): - CLD - PUSH_L (ESI) - MOV_L (EDI, EDX) - - MOV_L (src, ESI) - MOV_L (dst, EDI) - MOV_L (len, ECX) - - CMP_L (CONST(7), ECX) - JC (quickBM) - - TEST_L (CONST(1), ESI) - JZ (BwM) - - MOVS_B - DEC_L (ECX) - -BwM: - TEST_L (CONST(2), ESI) - JZ (BlM) - - MOVS_W - DEC_L (ECX) - DEC_L (ECX) - -BlM: - MOV_L (ECX, EAX) - AND_L (CONST(3), EAX) - SHR_L (CONST(2), ECX) - REP - MOVS_L - MOV_L (EAX, ECX) -quickBM: - OR_L (ECX, ECX) - JZ (return) - REP - MOVS_B -return: - POP_L (ESI) - MOV_L (EDX, EDI) - RET -/************************/ - - ALIGNTEXT4 -GLNAME(xf86MemToBus): - CLD - PUSH_L (ESI) - MOV_L (EDI, EDX) - - MOV_L (src, ESI) - MOV_L (dst, EDI) - MOV_L (len, ECX) - - CMP_L (CONST(7), ECX) - JC (quickMB) - - TEST_L (CONST(1), EDI) - JZ (MwB) - - MOVS_B - DEC_L (ECX) - -MwB: - TEST_L (CONST(2), EDI) - JZ (MlB) - - MOVS_W - DEC_L (ECX) - DEC_L (ECX) - -MlB: - MOV_L (ECX, EAX) - AND_L (CONST(3), EAX) - SHR_L (CONST(2), ECX) - REP - MOVS_L - MOV_L (EAX, ECX) -quickMB: - OR_L (ECX, ECX) - JZ (return) - REP - MOVS_B - - POP_L (ESI) - MOV_L (EDX, EDI) - RET - diff --git a/xorg-server/hw/xfree86/os-support/misc/BUSmemcpy.c b/xorg-server/hw/xfree86/os-support/misc/BUSmemcpy.c index b482b867a..0500bf6c1 100644 --- a/xorg-server/hw/xfree86/os-support/misc/BUSmemcpy.c +++ b/xorg-server/hw/xfree86/os-support/misc/BUSmemcpy.c @@ -26,233 +26,8 @@ Thanks to Linus Torvalds for contributing this code. #include "compiler.h" -/* - * The Jensen lacks dense memory, thus we have to address the bus via - * the sparse addressing scheme. These routines are only used in s3im.c - * Non time critical code uses SlowBCopy_{from/to} bus. - * - * Martin Ostermann (ost@comnets.rwth-aachen.de) - Apr.-Sep. 1996 - */ - -#ifdef TEST_JENSEN_CODE /* define to test the Sparse addressing on a non-Jensen */ -#define LWORD_CODING (0x18) -#define SPARSE (5) -#else #define LWORD_CODING (0x60) #define SPARSE (7) -#endif - -void -xf86JensenMemToBus(char *Base, long dst, long src, int count) -{ - if( ((long)src^((long)dst)) & 3) { - /* src & dst are NOT aligned to each other */ - unsigned long addr; - unsigned long low_word, high_word,last_read; - long rm,loop; - unsigned long tmp,org,org2,mask,src_org,count_org; - - src_org=src; - count_org=count; - - /* add EISA longword coding and round off*/ - addr = (long)(Base+(dst< 4 ) { - last_read = src_org+count_org - 1; - __asm__("ldq_u %0,%1" - :"=r" (high_word):"m" (*(unsigned long *)(src+4))); - __asm__("extll %1,%2,%0" - :"=r" (low_word) - :"r" (low_word), "r" ((unsigned long)(src))); - __asm__("extlh %1,%2,%0" - :"=r" (tmp) - :"r" (high_word), "r" ((unsigned long)(src))); - tmp |= low_word; - src += 4; - __asm__("mskqh %1,%2,%0" - :"=r" (tmp) - :"r" (tmp), "r" (rm)); - __asm__("mskql %1,%2,%0" - :"=r" (org2) - :"r" (org), "r" (rm)); - tmp |= org2; - - loop = (count-4) >> 2; /* loop eqv. count>=4 ; count -= 4 */ - while (loop) { - /* tmp to be stored completly -- need to read next word*/ - low_word = high_word; - *(volatile unsigned int *) (addr) = tmp; - __asm__("ldq_u %0,%1" - :"=r" (high_word):"m" (*(unsigned long*)(src+4))); - loop --; - __asm__("extll %1,%2,%0" - :"=r" (low_word) - :"r" (low_word), "r" ((unsigned long)src)); - __asm__("extlh %1,%2,%0" - :"=r" (tmp) - :"r" (high_word), "r" ((unsigned long)src)); - src += 4; - tmp |= low_word; - addr += 4< 4 */ - __asm__("ldq_u %0,%1" - :"=r" (high_word):"m" (*(unsigned long *)(src+4))); - __asm__("extll %1,%2,%0" - :"=r" (low_word) - :"r" (low_word), "r" ((unsigned long)(src))); - __asm__("extlh %1,%2,%0" - :"=r" (tmp) - :"r" (high_word), "r" ((unsigned long)(src))); - tmp |= low_word; - if( count < 4 ) { - - mask = -1; - __asm__("mskqh %1,%2,%0" - :"=r" (mask) - :"r" (mask), "r" (rm)); - __asm__("mskql %1,%2,%0" - :"=r" (mask) - :"r" (mask), "r" (count)); - tmp = (tmp & mask) | (org & ~mask); - *(volatile unsigned int *) (addr) = tmp; - return; - } else { - __asm__("mskqh %1,%2,%0" - :"=r" (tmp) - :"r" (tmp), "r" (rm)); - __asm__("mskql %1,%2,%0" - :"=r" (org2) - :"r" (org), "r" (rm)); - - tmp |= org2; - *(volatile unsigned int *) (addr) = tmp; - return; - } - } - } else { /* src & dst are aligned to each other */ - unsigned long addr; - unsigned int tmp,org,rm; - unsigned int *src_r; - - /* add EISA longword coding and round off*/ - addr = (long)(Base+(dst< 4) { - *(volatile unsigned int *) addr = tmp; - addr += 4<>= ((addr>>SPARSE) & 3) * 8; - *dst++ = (char) result; - addr += 1<= 0){ - int i; - - result = *(volatile int *) (addr+LWORD_CODING); - for(i=4;i--;) { - *dst++ = (char) result; - result >>= 8; - } - addr += 4<>= ((addr>>SPARSE) & 3) * 8; - *dst++ = (char) result; - addr += 1< -#endif - -#include -#include "xf86.h" -#include "xf86Priv.h" -#include "xf86_OSlib.h" - -/* - * All we really need is a delay of about 40ns for I/O recovery for just - * about any occasion, but we'll be more conservative here: On a - * 100-MHz CPU, produce at least a delay of 1,000ns. - */ -_X_EXPORT void -xf86IODelay() -{ - xf86UDelay(1); -} - diff --git a/xorg-server/hw/xfree86/os-support/misc/Makefile.am b/xorg-server/hw/xfree86/os-support/misc/Makefile.am index 65fbe92b4..3d4b8ff0e 100644 --- a/xorg-server/hw/xfree86/os-support/misc/Makefile.am +++ b/xorg-server/hw/xfree86/os-support/misc/Makefile.am @@ -1,18 +1,7 @@ -# FIXME: Add the *.S files to build when applicable -I386_SRCS = BUSmemcpy.S IODelay.S SlowBcopy.S -OTHER_SRCS = BUSmemcpy.c IODelay.c SlowBcopy.c - -ARCH_SRCS = $(OTHER_SRCS) - -# FIXME: Add to the build (NeedPortIO) -PORTIO_SRCS = PortIO.S - -# FIXME: Add to the build (if HasGcc || HasGcc2) -ILHACK_SRCS = xf86_IlHack.c noinst_LTLIBRARIES = libmisc.la -libmisc_la_SOURCES = xf86_Util.c Delay.c $(ARCH_SRCS) +libmisc_la_SOURCES = Delay.c BUSmemcpy.c SlowBcopy.c #AM_LDFLAGS = -r @@ -20,4 +9,4 @@ INCLUDES = $(XORG_INCS) AM_CFLAGS = $(XORG_CFLAGS) $(DIX_CFLAGS) -EXTRA_DIST = $(I386_SRCS) $(PORTIO_SRCS) $(ILHACK_SRCS) +EXTRA_DIST = $(I386_SRCS) $(PORTIO_SRCS) diff --git a/xorg-server/hw/xfree86/os-support/misc/Makefile.in b/xorg-server/hw/xfree86/os-support/misc/Makefile.in index 19a94d7cc..a641ebf57 100644 --- a/xorg-server/hw/xfree86/os-support/misc/Makefile.in +++ b/xorg-server/hw/xfree86/os-support/misc/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -43,7 +43,6 @@ 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 \ @@ -51,18 +50,13 @@ CONFIG_HEADER = $(top_builddir)/include/do-not-use-config.h \ CONFIG_CLEAN_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) libmisc_la_LIBADD = -am__objects_1 = BUSmemcpy.lo IODelay.lo SlowBcopy.lo -am__objects_2 = $(am__objects_1) -am_libmisc_la_OBJECTS = xf86_Util.lo Delay.lo $(am__objects_2) +am_libmisc_la_OBJECTS = Delay.lo BUSmemcpy.lo SlowBcopy.lo libmisc_la_OBJECTS = $(am_libmisc_la_OBJECTS) DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include 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) \ @@ -77,8 +71,9 @@ ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ -APPDEFAULTDIR = @APPDEFAULTDIR@ APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +APPLE_APPLICATION_ID = @APPLE_APPLICATION_ID@ +APPLE_APPLICATION_NAME = @APPLE_APPLICATION_NAME@ APP_MAN_DIR = @APP_MAN_DIR@ APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ AR = @AR@ @@ -99,10 +94,6 @@ 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@ @@ -124,6 +115,7 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOLT_BASH = @DOLT_BASH@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ @@ -133,18 +125,15 @@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ DSYMUTIL = @DSYMUTIL@ DTRACE = @DTRACE@ -ECHO = @ECHO@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ -FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ -FREETYPE_LIBS = @FREETYPE_LIBS@ GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ GLX_DEFINES = @GLX_DEFINES@ GL_CFLAGS = @GL_CFLAGS@ @@ -163,7 +152,7 @@ KDRIVE_LIBS = @KDRIVE_LIBS@ KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ -LAUNCHD = @LAUNCHD@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ LEX = @LEX@ @@ -177,7 +166,10 @@ LIBTOOL = @LIBTOOL@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LINUXDOC = @LINUXDOC@ +LIPO = @LIPO@ LN_S = @LN_S@ +LTCOMPILE = @LTCOMPILE@ +LTCXXCOMPILE = @LTCXXCOMPILE@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ @@ -189,8 +181,7 @@ MESA_SOURCE = @MESA_SOURCE@ MISC_MAN_DIR = @MISC_MAN_DIR@ MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ MKDIR_P = @MKDIR_P@ -MKFONTDIR = @MKFONTDIR@ -MKFONTSCALE = @MKFONTSCALE@ +NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCCLD = @OBJCCLD@ @@ -199,8 +190,8 @@ OBJCFLAGS = @OBJCFLAGS@ OBJCLINK = @OBJCLINK@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ @@ -233,7 +224,6 @@ VENDOR_NAME = @VENDOR_NAME@ VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ VENDOR_RELEASE = @VENDOR_RELEASE@ VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ XDMCP_CFLAGS = @XDMCP_CFLAGS@ @@ -243,27 +233,12 @@ XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@ XDMX_CFLAGS = @XDMX_CFLAGS@ XDMX_LIBS = @XDMX_LIBS@ XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ XEPHYR_INCS = @XEPHYR_INCS@ XEPHYR_LIBS = @XEPHYR_LIBS@ 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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ @@ -274,10 +249,6 @@ XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ XNEST_LIBS = @XNEST_LIBS@ XNEST_SYS_LIBS = @XNEST_SYS_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_INCS = @XORG_INCS@ XORG_LIBS = @XORG_LIBS@ @@ -286,13 +257,8 @@ XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ XORG_OS = @XORG_OS@ XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_LIBS@ +XPBPROXY_CFLAGS = @XPBPROXY_CFLAGS@ +XPBPROXY_LIBS = @XPBPROXY_LIBS@ XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ XSDL_INCS = @XSDL_INCS@ @@ -325,8 +291,7 @@ 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@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -346,7 +311,6 @@ driverdir = @driverdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ extdir = @extdir@ -ft_config = @ft_config@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ @@ -356,12 +320,12 @@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ -launchagentsdir = @launchagentsdir@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ logdir = @logdir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ moduledir = @moduledir@ @@ -379,26 +343,13 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ - -# FIXME: Add the *.S files to build when applicable -I386_SRCS = BUSmemcpy.S IODelay.S SlowBcopy.S -OTHER_SRCS = BUSmemcpy.c IODelay.c SlowBcopy.c -ARCH_SRCS = $(OTHER_SRCS) - -# FIXME: Add to the build (NeedPortIO) -PORTIO_SRCS = PortIO.S - -# FIXME: Add to the build (if HasGcc || HasGcc2) -ILHACK_SRCS = xf86_IlHack.c noinst_LTLIBRARIES = libmisc.la -libmisc_la_SOURCES = xf86_Util.c Delay.c $(ARCH_SRCS) +libmisc_la_SOURCES = Delay.c BUSmemcpy.c SlowBcopy.c #AM_LDFLAGS = -r INCLUDES = $(XORG_INCS) AM_CFLAGS = $(XORG_CFLAGS) $(DIX_CFLAGS) -EXTRA_DIST = $(I386_SRCS) $(PORTIO_SRCS) $(ILHACK_SRCS) +EXTRA_DIST = $(I386_SRCS) $(PORTIO_SRCS) all: all-am .SUFFIXES: @@ -407,8 +358,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ @@ -452,9 +403,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/BUSmemcpy.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Delay.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/IODelay.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SlowBcopy.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xf86_Util.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @@ -488,7 +437,7 @@ ID: $(HEADERS) $(SOURCES) $(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; nonemtpy = 1; } \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS diff --git a/xorg-server/hw/xfree86/os-support/misc/PortIO.S b/xorg-server/hw/xfree86/os-support/misc/PortIO.S deleted file mode 100644 index 75db31156..000000000 --- a/xorg-server/hw/xfree86/os-support/misc/PortIO.S +++ /dev/null @@ -1,57 +0,0 @@ -/* $XFree86$ */ - -/* Port I/O functions for platforms with no inlining. */ - -#include "assyntax.h" - - FILE("PortIO.s") - - AS_BEGIN - - GLOBL GLNAME(outb) - GLOBL GLNAME(outw) - GLOBL GLNAME(outl) - GLOBL GLNAME(inb) - GLOBL GLNAME(inw) - GLOBL GLNAME(inl) - - SEG_TEXT - ALIGNTEXT4 -GLNAME(outb): - MOV_L (REGOFF(4,ESP), EDX) - MOV_L (REGOFF(8,ESP), EAX) - OUT_B - RET - - ALIGNTEXT4 -GLNAME(outw): - MOV_L (REGOFF(4,ESP), EDX) - MOV_L (REGOFF(8,ESP), EAX) - OUT_W - RET - - ALIGNTEXT4 -GLNAME(outl): - MOV_L (REGOFF(4,ESP), EDX) - MOV_L (REGOFF(8,ESP), EAX) - OUT_L - RET - - ALIGNTEXT4 -GLNAME(inb): - MOV_L (REGOFF(4,ESP), EDX) - IN_B - RET - - ALIGNTEXT4 -GLNAME(inw): - MOV_L (REGOFF(4,ESP), EDX) - IN_L - RET - - ALIGNTEXT4 -GLNAME(inl): - MOV_L (REGOFF(4,ESP), EDX) - IN_L - RET - diff --git a/xorg-server/hw/xfree86/os-support/misc/SlowBcopy.S b/xorg-server/hw/xfree86/os-support/misc/SlowBcopy.S deleted file mode 100644 index 9b6af1d69..000000000 --- a/xorg-server/hw/xfree86/os-support/misc/SlowBcopy.S +++ /dev/null @@ -1,108 +0,0 @@ -/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/misc/SlowBcopy.S,v 1.1 1999/07/10 07:24:51 dawes Exp $ */ -/******************************************************************************* - 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 copyr 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. - -Glenn G. Lai -P.O. Box 4314 -Austin, Tx 78765 -glenn@cs.utexas.edu) -7/21/94 -*******************************************************************************/ -/* $XConsortium: SlowBcopy.s /main/4 1996/02/21 17:40:52 kaleb $ */ - -/* - * Modified from the output generated by GCC - * - * Create a dependency that should be immune from the effect of register - * renaming as is commonly seen in superscalar processors. This should - * insert a minimum of 100-ns delays between reads/writes at clock rates - * up to 100 MHz---GGL - * - * Slowbcopy(char *src, char *dst, int count) - * - */ - -#include "assyntax.h" - - FILE("SlowBcopy.s") - - AS_BEGIN - -gcc2_compiled.: -___gnu_compiled_c: - - GLOBL GLNAME(xf86SlowBcopy) - - SEG_TEXT - ALIGNTEXT4 -GLNAME(xf86SlowBcopy): - PUSH_L (EBP) - MOV_L (ESP,EBP) - PUSH_L (ESI) - PUSH_L (EBX) - MOV_L (REGOFF(8,EBP),ECX) - MOV_L (REGOFF(12,EBP),EDX) - MOV_L (REGOFF(16,EBP),ESI) - XOR_L (EAX,EAX) - CMP_L (ESI,EAX) - JGE (L3) - - ALIGNTEXT4 -L5: - MOV_B (REGIND(ECX),BL) - - MOV_B (BL, BH) - MOV_B (BH, BL) - MOV_B (BL, BH) - MOV_B (BH, BL) - MOV_B (BL, BH) - MOV_B (BH, BL) - MOV_B (BL, BH) - MOV_B (BH, BL) - MOV_B (BL, BH) - MOV_B (BH, BL) - - MOV_B (BL,REGIND(EDX)) - - INC_L (ECX) - DEC_L (ECX) - INC_L (ECX) - DEC_L (ECX) - INC_L (ECX) - DEC_L (ECX) - INC_L (ECX) - DEC_L (ECX) - INC_L (ECX) - DEC_L (ECX) - - INC_L (ECX) - INC_L (EDX) - INC_L (EAX) - CMP_L (ESI,EAX) - JL (L5) -L3: - LEA_L (REGOFF(-8,EBP),ESP) - POP_L (EBX) - POP_L (ESI) - MOV_L (EBP,ESP) - POP_L (EBP) - RET - diff --git a/xorg-server/hw/xfree86/os-support/misc/SlowBcopy.c b/xorg-server/hw/xfree86/os-support/misc/SlowBcopy.c index 5cd716823..be69b9dd1 100644 --- a/xorg-server/hw/xfree86/os-support/misc/SlowBcopy.c +++ b/xorg-server/hw/xfree86/os-support/misc/SlowBcopy.c @@ -30,7 +30,7 @@ xf86SetReallySlowBcopy(void) really_slow_bcopy = 1; } -#if defined(__i386__) || defined(__x86_64__) +#if defined(__i386__) || defined(__amd64__) static void xf86_really_slow_bcopy(unsigned char *src, unsigned char *dst, int len) { while(len--) @@ -45,7 +45,7 @@ static void xf86_really_slow_bcopy(unsigned char *src, unsigned char *dst, int l _X_EXPORT void xf86SlowBcopy(unsigned char *src, unsigned char *dst, int len) { -#if defined(__i386__) || defined(__x86_64__) +#if defined(__i386__) || defined(__amd64__) if (really_slow_bcopy) { xf86_really_slow_bcopy(src, dst, len); return; @@ -56,29 +56,13 @@ xf86SlowBcopy(unsigned char *src, unsigned char *dst, int len) } #ifdef __alpha__ -/* - * The Jensen lacks dense memory, thus we have to address the bus via - * the sparse addressing scheme. Time critical code uses routines from - * BUSmemcpy.c - * - * Martin Ostermann (ost@comnets.rwth-aachen.de) - Apr.-Sep. 1996 - */ #ifdef linux -unsigned long _bus_base(void); - -#ifdef TEST_JENSEN_CODE /* define to test the Sparse addressing on a non-Jensen */ -#define SPARSE (5) -#else #define SPARSE (7) -#endif - -#define isJensen() (!_bus_base()) #else -#define isJensen() 0 #define SPARSE 0 #endif @@ -86,42 +70,32 @@ unsigned long _bus_base(void); _X_EXPORT void xf86SlowBCopyFromBus(unsigned char *src, unsigned char *dst, int count) { - if (isJensen()) - { - unsigned long addr; - long result; - - addr = (unsigned long) src; - while( count ){ - result = *(volatile int *) addr; - result >>= ((addr>>SPARSE) & 3) * 8; - *dst++ = (unsigned char) (0xffUL & result); - addr += 1<>= ((addr>>SPARSE) & 3) * 8; + *dst++ = (unsigned char) (0xffUL & result); + addr += 1< -#endif - -#include "compiler.h" diff --git a/xorg-server/hw/xfree86/os-support/misc/xf86_Util.c b/xorg-server/hw/xfree86/os-support/misc/xf86_Util.c deleted file mode 100644 index 9e690591d..000000000 --- a/xorg-server/hw/xfree86/os-support/misc/xf86_Util.c +++ /dev/null @@ -1,94 +0,0 @@ -/* - * 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 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. - * - */ - -/* - * This file is for utility functions that will be shared by other pieces - * of the system. Putting things here ensure that all the linking order - * dependencies are dealt with, as this library will be linked in last. - */ - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include - -/* To prevent empty source file warnings */ -int _xf86misc; - -#if 0 -/* For use only with gcc */ -#ifdef __GNUC__ - -#include "os.h" - -char * -debug_alloca(char *file, int line, int size) -{ - char *ptr; - - ptr = Xalloc(size); - ErrorF("Alloc: %s line %d; ptr = 0x%x, length = %d\n", file, line, - ptr, size); - return ptr; -} - -void -debug_dealloca(char *file, int line, char *ptr) -{ - ErrorF("Dealloc: %s line %d; ptr = 0x%x\n", file, line, ptr); - Xfree(ptr); -} -#endif -#endif - -#if defined(ISC) || defined(Lynx) - -#include - -/* Needed for apm_driver.c */ -/* These functions are modeled after the functions inside gnu's libc */ - -static double -copysign(double x, double y) -{ - x = fabs(x); - return y < 0 ? - x : x; -} - -double -RInt(double x) -{ - double s,t; - const double one = 1.0; - const static double L = 4503599627370496.0E0; - - if (x!=x) - return(x); - if (copysign(x,one) >= L) - return(x); - s = copysign(L,x); - t = x + s; - return (t - s); -} -#endif diff --git a/xorg-server/hw/xfree86/os-support/sco/Makefile.am b/xorg-server/hw/xfree86/os-support/sco/Makefile.am index 9cb5011fb..b5d40f7a5 100644 --- a/xorg-server/hw/xfree86/os-support/sco/Makefile.am +++ b/xorg-server/hw/xfree86/os-support/sco/Makefile.am @@ -2,5 +2,4 @@ EXTRA_DIST = \ VTsw_sco.c \ sco_init.c \ sco_iop.c \ - sco_mouse.c \ sco_video.c diff --git a/xorg-server/hw/xfree86/os-support/sco/Makefile.in b/xorg-server/hw/xfree86/os-support/sco/Makefile.in index a417e9a94..a5156c488 100644 --- a/xorg-server/hw/xfree86/os-support/sco/Makefile.in +++ b/xorg-server/hw/xfree86/os-support/sco/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -42,7 +42,6 @@ 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 \ @@ -56,8 +55,9 @@ ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ -APPDEFAULTDIR = @APPDEFAULTDIR@ APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +APPLE_APPLICATION_ID = @APPLE_APPLICATION_ID@ +APPLE_APPLICATION_NAME = @APPLE_APPLICATION_NAME@ APP_MAN_DIR = @APP_MAN_DIR@ APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ AR = @AR@ @@ -78,10 +78,6 @@ 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@ @@ -103,6 +99,7 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOLT_BASH = @DOLT_BASH@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ @@ -112,18 +109,15 @@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ DSYMUTIL = @DSYMUTIL@ DTRACE = @DTRACE@ -ECHO = @ECHO@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ -FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ -FREETYPE_LIBS = @FREETYPE_LIBS@ GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ GLX_DEFINES = @GLX_DEFINES@ GL_CFLAGS = @GL_CFLAGS@ @@ -142,7 +136,7 @@ KDRIVE_LIBS = @KDRIVE_LIBS@ KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ -LAUNCHD = @LAUNCHD@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ LEX = @LEX@ @@ -156,7 +150,10 @@ LIBTOOL = @LIBTOOL@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LINUXDOC = @LINUXDOC@ +LIPO = @LIPO@ LN_S = @LN_S@ +LTCOMPILE = @LTCOMPILE@ +LTCXXCOMPILE = @LTCXXCOMPILE@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ @@ -168,8 +165,7 @@ MESA_SOURCE = @MESA_SOURCE@ MISC_MAN_DIR = @MISC_MAN_DIR@ MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ MKDIR_P = @MKDIR_P@ -MKFONTDIR = @MKFONTDIR@ -MKFONTSCALE = @MKFONTSCALE@ +NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCCLD = @OBJCCLD@ @@ -178,8 +174,8 @@ OBJCFLAGS = @OBJCFLAGS@ OBJCLINK = @OBJCLINK@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ @@ -212,7 +208,6 @@ VENDOR_NAME = @VENDOR_NAME@ VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ VENDOR_RELEASE = @VENDOR_RELEASE@ VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ XDMCP_CFLAGS = @XDMCP_CFLAGS@ @@ -222,27 +217,12 @@ XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@ XDMX_CFLAGS = @XDMX_CFLAGS@ XDMX_LIBS = @XDMX_LIBS@ XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ XEPHYR_INCS = @XEPHYR_INCS@ XEPHYR_LIBS = @XEPHYR_LIBS@ 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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ @@ -253,10 +233,6 @@ XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ XNEST_LIBS = @XNEST_LIBS@ XNEST_SYS_LIBS = @XNEST_SYS_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_INCS = @XORG_INCS@ XORG_LIBS = @XORG_LIBS@ @@ -265,13 +241,8 @@ XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ XORG_OS = @XORG_OS@ XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_LIBS@ +XPBPROXY_CFLAGS = @XPBPROXY_CFLAGS@ +XPBPROXY_LIBS = @XPBPROXY_LIBS@ XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ XSDL_INCS = @XSDL_INCS@ @@ -304,8 +275,7 @@ 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@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -325,7 +295,6 @@ driverdir = @driverdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ extdir = @extdir@ -ft_config = @ft_config@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ @@ -335,12 +304,12 @@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ -launchagentsdir = @launchagentsdir@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ logdir = @logdir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ moduledir = @moduledir@ @@ -358,13 +327,10 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ EXTRA_DIST = \ VTsw_sco.c \ sco_init.c \ sco_iop.c \ - sco_mouse.c \ sco_video.c all: all-am @@ -374,8 +340,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ diff --git a/xorg-server/hw/xfree86/os-support/sco/sco_iop.c b/xorg-server/hw/xfree86/os-support/sco/sco_iop.c index bb8d06d2e..86210d71a 100644 --- a/xorg-server/hw/xfree86/os-support/sco/sco_iop.c +++ b/xorg-server/hw/xfree86/os-support/sco/sco_iop.c @@ -88,47 +88,3 @@ xf86DisableIO(void) sysi86(SI86V86, V86SC_IOPL, 0); IOEnabled = FALSE; } - -/***************************************************************************/ -/* Interrupt Handling section */ -/***************************************************************************/ - -_X_EXPORT Bool -xf86DisableInterrupts(void) -{ - if (!IOEnabled) { - if (sysi86(SI86V86, V86SC_IOPL, PS_IOPL) < 0) - return FALSE; - } - -#ifdef __GNUC__ - __asm__ __volatile__("cli"); -#else - asm("cli"); -#endif /* __GNUC__ */ - - if (!IOEnabled) { - sysi86(SI86V86, V86SC_IOPL, PS_IOPL); - } - - return(TRUE); -} - -_X_EXPORT void -xf86EnableInterrupts(void) -{ - if (!IOEnabled) { - if (sysi86(SI86V86, V86SC_IOPL, PS_IOPL) < 0) - return; - } - -#ifdef __GNUC__ - __asm__ __volatile__("sti"); -#else - asm("sti"); -#endif /* __GNUC__ */ - - if (!IOEnabled) { - sysi86(SI86V86, V86SC_IOPL, PS_IOPL); - } -} diff --git a/xorg-server/hw/xfree86/os-support/sco/sco_mouse.c b/xorg-server/hw/xfree86/os-support/sco/sco_mouse.c deleted file mode 100644 index af57cdedf..000000000 --- a/xorg-server/hw/xfree86/os-support/sco/sco_mouse.c +++ /dev/null @@ -1,258 +0,0 @@ -/* - * Copyright 2001 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. - */ - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include -#include "compiler.h" - -#include "xf86.h" -#include "xf86Priv.h" -#include "xf86_OSlib.h" -#include "xf86Xinput.h" -#include "xf86OSmouse.h" -#include "mipointer.h" -#include -#include - -static int -SupportedInterfaces (void) -{ - return MSE_MISC; -} - -static const char *internalNames[] = { - "OSMouse", - NULL -}; - -static const char ** -BuiltinNames (void) -{ - return internalNames; -} - -static Bool -CheckProtocol (const char *protocol) -{ - int i; - - for (i = 0; internalNames[i]; i++) { - if (xf86NameCmp (protocol, internalNames[i]) == 0) - return TRUE; - } - - return FALSE; -} - -static const char * -DefaultProtocol (void) -{ - return "OSMouse"; -} - -static const char * -evtErrStr (int evterr) -{ - switch (evterr) { - case -1: return "error in config files"; - case -2: return "no mouse devices to attach"; - case -3: return "unable to open device"; - case -4: return "unable to open event queue"; - case -999: return "unable to initialize event driver"; - default: return "unknown event driver error"; - } -} - -static int -OsMouseProc (DeviceIntPtr pPointer, int what) -{ - InputInfoPtr pInfo; - MouseDevPtr pMse; - unsigned char map[9]; - dmask_t dmask; - MessageType from = X_CONFIG; - int evi; - - pInfo = pPointer->public.devicePrivate; - pMse = pInfo->private; - pMse->device = pPointer; - - switch (what) { - case DEVICE_INIT: - pPointer->public.on = FALSE; - - dmask = D_ABS | D_REL | D_BUTTON; - if ((evi = ev_initf(xf86Info.consoleFd)) < 0) { - FatalError ("OsMouseProc: Event driver initialization failed (%s)\n", - evtErrStr(evi)); - } - pInfo->fd = ev_open (&dmask); - if (pInfo->fd < 0) { - FatalError ("OsMouseProc: DEVICE_INIT failed (%s)\n", evtErrStr(pInfo->fd)); - } - - pMse->buttons = xf86SetIntOption (pInfo->options, "Buttons", 0); - if (pMse->buttons == 0) { - pMse->buttons = 8; - from = X_DEFAULT; - } - xf86Msg (from, "%s: Buttons: %d\n", pInfo->name, pMse->buttons); - - for (evi = 0; evi <= 8; evi++) - map[evi] = evi; - - InitPointerDeviceStruct((DevicePtr)pPointer, map, 8, - miPointerGetMotionEvents, pMse->Ctrl, - miPointerGetMotionBufferSize()); - - /* X valuator */ - xf86InitValuatorAxisStruct(pPointer, 0, 0, -1, 1, 0, 1); - xf86InitValuatorDefaults(pPointer, 0); - - /* Y valuator */ - xf86InitValuatorAxisStruct(pPointer, 1, 0, -1, 1, 0, 1); - xf86InitValuatorDefaults(pPointer, 1); - - xf86MotionHistoryAllocate(pInfo); - - ev_flush(); - ev_suspend(); - break; - - case DEVICE_ON: - pMse->lastButtons = 0; - pMse->lastMappedButtons = 0; - pMse->emulateState = 0; - pPointer->public.on = TRUE; - ev_resume(); - AddEnabledDevice (pInfo->fd); - break; - - case DEVICE_OFF: - case DEVICE_CLOSE: - pPointer->public.on = FALSE; - RemoveEnabledDevice (pInfo->fd); - if (what == DEVICE_CLOSE) { - ev_close(); - pInfo->fd = -1; - } else { - ev_suspend(); - } - break; - } - - return Success; -} - -static void -OsMouseReadInput (InputInfoPtr pInfo) -{ - MouseDevPtr pMse; - EVENT *evp; - - pMse = pInfo->private; - - while ((evp = ev_read()) != (EVENT *)0) { - int buttons = EV_BUTTONS(*evp); - int dx = EV_DX(*evp), dy = -(EV_DY(*evp)), dz = 0; - - if (buttons & WHEEL_FWD) - dz = -1; - else if (buttons & WHEEL_BACK) - dz = 1; - - buttons &= ~(WHEEL_FWD | WHEEL_BACK); - - pMse->PostEvent (pInfo, buttons, dx, dy, dz, 0); - ev_pop(); - } -} - -static Bool -OsMousePreInit(InputInfoPtr pInfo, const char *protocol, int flags) -{ - MouseDevPtr pMse; - - /* This is called when the protocol is "OSMouse". */ - - pMse = pInfo->private; - pMse->protocol = protocol; - xf86Msg(X_CONFIG, "%s: Protocol: %s\n", pInfo->name, protocol); - - /* Collect the options, and process the common options. */ - xf86CollectInputOptions(pInfo, NULL, NULL); - xf86ProcessCommonOptions(pInfo, pInfo->options); - - /* Check if the device can be opened. */ - pInfo->fd = ev_initf(xf86Info.consoleFd); - if (pInfo->fd != -1) { - dmask_t dmask = (D_ABS | D_REL | D_BUTTON); - pInfo->fd = ev_open(&dmask); - } else { - pInfo->fd = -999; - } - - if (pInfo->fd < 0) { - if (xf86GetAllowMouseOpenFail()) - xf86Msg(X_WARNING, "%s: cannot open event manager (%s)\n", - pInfo->name, evtErrStr(pInfo->fd)); - else { - xf86Msg(X_ERROR, "%s: cannot open event manager (%s)\n", - pInfo->name, evtErrStr(pInfo->fd)); - xfree(pMse); - return FALSE; - } - } - ev_close(); - pInfo->fd = -1; - - /* Process common mouse options (like Emulate3Buttons, etc). */ - pMse->CommonOptions(pInfo); - - /* Setup the local procs. */ - pInfo->device_control = OsMouseProc; - pInfo->read_input = OsMouseReadInput; - - pInfo->flags |= XI86_CONFIGURED; - return TRUE; -} - -_X_EXPORT OSMouseInfoPtr -xf86OSMouseInit (int flags) -{ - OSMouseInfoPtr p; - - p = xcalloc(sizeof(OSMouseInfoRec), 1); - if (!p) - return NULL; - - p->SupportedInterfaces = SupportedInterfaces; - p->BuiltinNames = BuiltinNames; - p->DefaultProtocol = DefaultProtocol; - p->CheckProtocol = CheckProtocol; - p->PreInit = OsMousePreInit; - - return p; -} diff --git a/xorg-server/hw/xfree86/os-support/shared/bios_mmap.c b/xorg-server/hw/xfree86/os-support/shared/bios_mmap.c index 8bac87ebe..0c368e713 100644 --- a/xorg-server/hw/xfree86/os-support/shared/bios_mmap.c +++ b/xorg-server/hw/xfree86/os-support/shared/bios_mmap.c @@ -91,33 +91,15 @@ xf86ReadBIOS(unsigned long Base, unsigned long Offset, unsigned char *Buf, * re: boundaries and sizes and such... */ -/* - * The Jensen lacks dense memory, thus we have to address the bus via - * the sparse addressing scheme. - * - * Martin Ostermann (ost@comnets.rwth-aachen.de) - Apr.-Sep. 1996 - */ - #ifdef linux -#ifdef TEST_JENSEN_CODE /* define to test the Sparse addressing on a non-Jensen */ -#define SPARSE (5) -#define isJensen (1) -#else -#define isJensen (!_bus_base()) -#define SPARSE (7) -#endif - extern unsigned long _bus_base(void); -extern unsigned long _bus_base_sparse(void); -#define BUS_BASE (isJensen ? _bus_base_sparse() : _bus_base()) -#define JENSEN_SHIFT(x) (isJensen ? ((long)x< $@ noinst_LTLIBRARIES = libsolaris.la -libsolaris_la_SOURCES = sun_bios.c sun_init.c \ - sun_mouse.c sun_vid.c sun_bell.c $(AGP_SRC) sun_apm.c \ +libsolaris_la_SOURCES = sun_init.c \ + sun_vid.c sun_bell.c $(AGP_SRC) sun_apm.c \ $(srcdir)/../shared/kmod_noop.c \ $(srcdir)/../shared/posix_tty.c $(srcdir)/../shared/sigiostubs.c \ $(srcdir)/../shared/stdResource.c \ + $(srcdir)/../shared/vidmem.c \ $(VTSW_SRC) nodist_libsolaris_la_SOURCES = $(SOLARIS_INOUT_SRC) diff --git a/xorg-server/hw/xfree86/os-support/solaris/Makefile.in b/xorg-server/hw/xfree86/os-support/solaris/Makefile.in index cf4e440c8..f248e41d2 100644 --- a/xorg-server/hw/xfree86/os-support/solaris/Makefile.in +++ b/xorg-server/hw/xfree86/os-support/solaris/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -45,7 +45,6 @@ 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 \ @@ -53,20 +52,18 @@ CONFIG_HEADER = $(top_builddir)/include/do-not-use-config.h \ CONFIG_CLEAN_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) libsolaris_la_LIBADD = -am__libsolaris_la_SOURCES_DIST = sun_bios.c sun_init.c sun_mouse.c \ - sun_vid.c sun_bell.c sun_agp.c sun_apm.c \ - $(srcdir)/../shared/kmod_noop.c \ +am__libsolaris_la_SOURCES_DIST = sun_init.c sun_vid.c sun_bell.c \ + sun_agp.c sun_apm.c $(srcdir)/../shared/kmod_noop.c \ $(srcdir)/../shared/posix_tty.c \ $(srcdir)/../shared/sigiostubs.c \ - $(srcdir)/../shared/stdResource.c \ + $(srcdir)/../shared/stdResource.c $(srcdir)/../shared/vidmem.c \ $(srcdir)/../shared/VTsw_noop.c $(srcdir)/../shared/VTsw_usl.c am__objects_1 = sun_agp.lo @SOLARIS_USL_CONSOLE_FALSE@am__objects_2 = VTsw_noop.lo @SOLARIS_USL_CONSOLE_TRUE@am__objects_2 = VTsw_usl.lo -am_libsolaris_la_OBJECTS = sun_bios.lo sun_init.lo sun_mouse.lo \ - sun_vid.lo sun_bell.lo $(am__objects_1) sun_apm.lo \ - kmod_noop.lo posix_tty.lo sigiostubs.lo stdResource.lo \ - $(am__objects_2) +am_libsolaris_la_OBJECTS = sun_init.lo sun_vid.lo sun_bell.lo \ + $(am__objects_1) sun_apm.lo kmod_noop.lo posix_tty.lo \ + sigiostubs.lo stdResource.lo vidmem.lo $(am__objects_2) am__objects_3 = solaris-@SOLARIS_INOUT_ARCH@.lo nodist_libsolaris_la_OBJECTS = $(am__objects_3) libsolaris_la_OBJECTS = $(am_libsolaris_la_OBJECTS) \ @@ -81,9 +78,6 @@ LTCPPASCOMPILE = $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS) 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) \ @@ -108,8 +102,9 @@ ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ -APPDEFAULTDIR = @APPDEFAULTDIR@ APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +APPLE_APPLICATION_ID = @APPLE_APPLICATION_ID@ +APPLE_APPLICATION_NAME = @APPLE_APPLICATION_NAME@ APP_MAN_DIR = @APP_MAN_DIR@ APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ AR = @AR@ @@ -130,10 +125,6 @@ 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@ @@ -155,6 +146,7 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOLT_BASH = @DOLT_BASH@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ @@ -164,18 +156,15 @@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ DSYMUTIL = @DSYMUTIL@ DTRACE = @DTRACE@ -ECHO = @ECHO@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ -FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ -FREETYPE_LIBS = @FREETYPE_LIBS@ GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ GLX_DEFINES = @GLX_DEFINES@ GL_CFLAGS = @GL_CFLAGS@ @@ -194,7 +183,7 @@ KDRIVE_LIBS = @KDRIVE_LIBS@ KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ -LAUNCHD = @LAUNCHD@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ LEX = @LEX@ @@ -208,7 +197,10 @@ LIBTOOL = @LIBTOOL@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LINUXDOC = @LINUXDOC@ +LIPO = @LIPO@ LN_S = @LN_S@ +LTCOMPILE = @LTCOMPILE@ +LTCXXCOMPILE = @LTCXXCOMPILE@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ @@ -220,8 +212,7 @@ MESA_SOURCE = @MESA_SOURCE@ MISC_MAN_DIR = @MISC_MAN_DIR@ MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ MKDIR_P = @MKDIR_P@ -MKFONTDIR = @MKFONTDIR@ -MKFONTSCALE = @MKFONTSCALE@ +NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCCLD = @OBJCCLD@ @@ -230,8 +221,8 @@ OBJCFLAGS = @OBJCFLAGS@ OBJCLINK = @OBJCLINK@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ @@ -264,7 +255,6 @@ VENDOR_NAME = @VENDOR_NAME@ VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ VENDOR_RELEASE = @VENDOR_RELEASE@ VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ XDMCP_CFLAGS = @XDMCP_CFLAGS@ @@ -274,27 +264,12 @@ XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@ XDMX_CFLAGS = @XDMX_CFLAGS@ XDMX_LIBS = @XDMX_LIBS@ XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ XEPHYR_INCS = @XEPHYR_INCS@ XEPHYR_LIBS = @XEPHYR_LIBS@ 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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ @@ -305,10 +280,6 @@ XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ XNEST_LIBS = @XNEST_LIBS@ XNEST_SYS_LIBS = @XNEST_SYS_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_INCS = @XORG_INCS@ XORG_LIBS = @XORG_LIBS@ @@ -317,13 +288,8 @@ XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ XORG_OS = @XORG_OS@ XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_LIBS@ +XPBPROXY_CFLAGS = @XPBPROXY_CFLAGS@ +XPBPROXY_LIBS = @XPBPROXY_LIBS@ XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ XSDL_INCS = @XSDL_INCS@ @@ -356,8 +322,7 @@ 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@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -377,7 +342,6 @@ driverdir = @driverdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ extdir = @extdir@ -ft_config = @ft_config@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ @@ -387,12 +351,12 @@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ -launchagentsdir = @launchagentsdir@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ logdir = @logdir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ moduledir = @moduledir@ @@ -410,8 +374,6 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ @SOLARIS_USL_CONSOLE_FALSE@VTSW_SRC = $(srcdir)/../shared/VTsw_noop.c @SOLARIS_USL_CONSOLE_TRUE@VTSW_SRC = $(srcdir)/../shared/VTsw_usl.c @@ -424,11 +386,12 @@ AGP_SRC = sun_agp.c SOLARIS_INOUT_SRC = solaris-@SOLARIS_INOUT_ARCH@.S DISTCLEANFILES = solaris-@SOLARIS_INOUT_ARCH@.il noinst_LTLIBRARIES = libsolaris.la -libsolaris_la_SOURCES = sun_bios.c sun_init.c \ - sun_mouse.c sun_vid.c sun_bell.c $(AGP_SRC) sun_apm.c \ +libsolaris_la_SOURCES = sun_init.c \ + sun_vid.c sun_bell.c $(AGP_SRC) sun_apm.c \ $(srcdir)/../shared/kmod_noop.c \ $(srcdir)/../shared/posix_tty.c $(srcdir)/../shared/sigiostubs.c \ $(srcdir)/../shared/stdResource.c \ + $(srcdir)/../shared/vidmem.c \ $(VTSW_SRC) nodist_libsolaris_la_SOURCES = $(SOLARIS_INOUT_SRC) @@ -447,8 +410,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ @@ -500,10 +463,9 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sun_agp.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sun_apm.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sun_bell.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sun_bios.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sun_init.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sun_mouse.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sun_vid.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vidmem.Plo@am__quote@ .S.o: @am__fastdepCCAS_TRUE@ $(CPPASCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @@ -575,6 +537,13 @@ stdResource.lo: $(srcdir)/../shared/stdResource.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o stdResource.lo `test -f '$(srcdir)/../shared/stdResource.c' || echo '$(srcdir)/'`$(srcdir)/../shared/stdResource.c +vidmem.lo: $(srcdir)/../shared/vidmem.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT vidmem.lo -MD -MP -MF $(DEPDIR)/vidmem.Tpo -c -o vidmem.lo `test -f '$(srcdir)/../shared/vidmem.c' || echo '$(srcdir)/'`$(srcdir)/../shared/vidmem.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/vidmem.Tpo $(DEPDIR)/vidmem.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../shared/vidmem.c' object='vidmem.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vidmem.lo `test -f '$(srcdir)/../shared/vidmem.c' || echo '$(srcdir)/'`$(srcdir)/../shared/vidmem.c + VTsw_noop.lo: $(srcdir)/../shared/VTsw_noop.c @am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT VTsw_noop.lo -MD -MP -MF $(DEPDIR)/VTsw_noop.Tpo -c -o VTsw_noop.lo `test -f '$(srcdir)/../shared/VTsw_noop.c' || echo '$(srcdir)/'`$(srcdir)/../shared/VTsw_noop.c @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/VTsw_noop.Tpo $(DEPDIR)/VTsw_noop.Plo @@ -634,7 +603,7 @@ ID: $(HEADERS) $(SOURCES) $(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; nonemtpy = 1; } \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS diff --git a/xorg-server/hw/xfree86/os-support/solaris/sun_bios.c b/xorg-server/hw/xfree86/os-support/solaris/sun_bios.c deleted file mode 100644 index a27a5a5a7..000000000 --- a/xorg-server/hw/xfree86/os-support/solaris/sun_bios.c +++ /dev/null @@ -1,103 +0,0 @@ -/* - * Copyright 1990,91 by Thomas Roell, Dinkelscherben, Germany - * Copyright 1993 by David Wexelblat - * Copyright 1999 by David Holland - * - * 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 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. - */ - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#if defined(__i386__) || defined(__i386) -#define _NEED_SYSI86 -#endif -#include "xf86.h" -#include "xf86Priv.h" -#include "xf86_OSlib.h" - -#ifndef MAP_FAILED -#define MAP_FAILED ((void *)-1) -#endif - -extern char *apertureDevName; - -/* - * Read BIOS via mmap()ing physical memory. - */ -_X_EXPORT int -xf86ReadBIOS(unsigned long Base, unsigned long Offset, unsigned char *Buf, - int Len) -{ - int fd; - unsigned char *ptr; - char solx86_vtname[20]; - int psize; - int mlen; - - /* - * Solaris 2.1 x86 SVR4 (10/27/93) - * The server must treat the virtual terminal device file - * as the standard SVR4 /dev/pmem. By default, then used VT - * is considered the "default" file to open. - * - * Solaris 2.8 x86 (7/26/99) - DWH - * - * Use /dev/xsvc for everything. - */ - psize = getpagesize(); - Offset += Base & (psize - 1); - Base &= ~(psize - 1); - mlen = (Offset + Len + psize - 1) & ~(psize - 1); -#if (defined(__i386__) || defined(__i386)) && !defined(__SOL8__) - if (Base >= 0xA0000 && Base + mlen < 0xFFFFF && xf86Info.vtno >= 0) - sprintf(solx86_vtname, "/dev/vt%02d", xf86Info.vtno); - else -#endif - { - if (!xf86LinearVidMem()) - FatalError("xf86ReadBIOS: Could not mmap BIOS" - " [a=%lx]\n", Base); - sprintf(solx86_vtname, apertureDevName); - } - - if ((fd = open(solx86_vtname, O_RDONLY)) < 0) - { - xf86Msg(X_WARNING, "xf86ReadBIOS: Failed to open %s (%s)\n", - solx86_vtname, strerror(errno)); - return(-1); - } - ptr = (unsigned char *)mmap((caddr_t)0, mlen, PROT_READ, - MAP_SHARED, fd, (off_t)Base); - if (ptr == MAP_FAILED) - { - xf86Msg(X_WARNING, "xf86ReadBIOS: %s mmap failed " - "[0x%08lx, 0x%04x]\n", - solx86_vtname, Base, mlen); - close(fd); - return -1; - } - - (void)memcpy(Buf, (void *)(ptr + Offset), Len); - (void)munmap((caddr_t)ptr, mlen); - (void)close(fd); - - return Len; -} diff --git a/xorg-server/hw/xfree86/os-support/solaris/sun_init.c b/xorg-server/hw/xfree86/os-support/solaris/sun_init.c index 1f389cb40..795b0c13c 100644 --- a/xorg-server/hw/xfree86/os-support/solaris/sun_init.c +++ b/xorg-server/hw/xfree86/os-support/solaris/sun_init.c @@ -29,7 +29,7 @@ #include "xf86.h" #include "xf86Priv.h" #include "xf86_OSlib.h" -#if defined(__i386__) || defined(__i386) || defined(__x86) +#ifdef HAVE_SYS_KD_H # include #endif @@ -49,8 +49,9 @@ static char fb_dev[PATH_MAX] = "/dev/console"; void xf86OpenConsole(void) { + int i; #ifdef HAS_USL_VTS - int fd, i; + int fd; struct vt_mode VT; struct vt_stat vtinfo; int FreeVTslot; @@ -173,9 +174,14 @@ xf86OpenConsole(void) if (ioctl(xf86Info.consoleFd, VT_SETMODE, &VT) < 0) FatalError("xf86OpenConsole: VT_SETMODE VT_PROCESS failed\n"); #endif + #ifdef KDSETMODE - if (ioctl(xf86Info.consoleFd, KDSETMODE, KD_GRAPHICS) < 0) - FatalError("xf86OpenConsole: KDSETMODE KD_GRAPHICS failed\n"); + SYSCALL(i = ioctl(xf86Info.consoleFd, KDSETMODE, KD_GRAPHICS)); + if (i < 0) { + xf86Msg(X_WARNING, + "xf86OpenConsole: KDSETMODE KD_GRAPHICS failed on %s (%s)\n", + fb_dev, strerror(errno)); + } #endif } else /* serverGeneration != 1 */ @@ -244,8 +250,8 @@ xf86CloseConsole(void) "xf86CloseConsole(): unable to mmap framebuffer" " (%s)\n", strerror(errno)); } else { - (void)memset(fbdata, 0, fbattr.fbtype.fb_size); - (void)munmap(fbdata, fbattr.fbtype.fb_size); + memset(fbdata, 0, fbattr.fbtype.fb_size); + munmap(fbdata, fbattr.fbtype.fb_size); } } @@ -257,7 +263,7 @@ xf86CloseConsole(void) #ifdef KDSETMODE /* Reset the display back to text mode */ - ioctl(xf86Info.consoleFd, KDSETMODE, KD_TEXT); + SYSCALL(ioctl(xf86Info.consoleFd, KDSETMODE, KD_TEXT)); #endif #ifdef HAS_USL_VTS @@ -329,8 +335,6 @@ xf86ProcessArgument(int argc, char **argv, int i) #endif /* HAS_USL_VTS */ -#if defined(__SOL8__) || (!defined(__i386__) && !defined(__i386)) - if ((i + 1) < argc) { if (!strcmp(argv[i], "-dev")) { strncpy(fb_dev, argv[i+1], PATH_MAX); @@ -339,8 +343,6 @@ xf86ProcessArgument(int argc, char **argv, int i) } } -#endif - return 0; } @@ -349,9 +351,7 @@ void xf86UseMsg() #ifdef HAS_USL_VTS ErrorF("vtXX Use the specified VT number\n"); #endif -#if defined(__SOL8__) || !defined(__i386__) ErrorF("-dev Framebuffer device\n"); -#endif ErrorF("-keeptty Don't detach controlling tty\n"); ErrorF(" (for debugging only)\n"); } diff --git a/xorg-server/hw/xfree86/os-support/solaris/sun_mouse.c b/xorg-server/hw/xfree86/os-support/solaris/sun_mouse.c deleted file mode 100644 index a5955ef2c..000000000 --- a/xorg-server/hw/xfree86/os-support/solaris/sun_mouse.c +++ /dev/null @@ -1,717 +0,0 @@ -/* - * Copyright 1999-2001 The XFree86 Project, 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 - * 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 2004-2005 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_XORG_CONFIG_H -#include -#endif - -#include "xf86.h" -#include "xf86_OSlib.h" -#include "xf86OSmouse.h" - -#if defined(__SOL8__) || !defined(__i386) - -#include "xisb.h" -#include "mipointer.h" -#include -#include -#include - -/* Wheel mouse support in VUID drivers in Solaris 9 updates & Solaris 10 */ -#ifdef WHEEL_DEVID /* Defined in vuid_event.h if VUID wheel support present */ -# define HAVE_VUID_WHEEL -#endif -#ifdef HAVE_VUID_WHEEL -# include -#endif - -/* Support for scaling absolute coordinates to screen size in - * Solaris 10 updates and beyond */ -#if !defined(HAVE_ABSOLUTE_MOUSE_SCALING) -# ifdef MSIOSRESOLUTION /* Defined in msio.h if scaling support present */ -# define HAVE_ABSOLUTE_MOUSE_SCALING -# endif -#endif - -/* Names of protocols that are handled internally here. */ - -static const char *internalNames[] = { - "VUID", - NULL -}; - -static const char *solarisMouseDevs[] = { - /* Device file: Protocol: */ - "/dev/mouse", "VUID", /* USB or SPARC */ -#if defined(__i386) || defined(__x86) - "/dev/kdmouse", "PS/2", /* PS/2 */ -#endif - NULL -}; - -typedef struct _VuidMseRec { - struct _VuidMseRec *next; - InputInfoPtr pInfo; - Firm_event event; - unsigned char * buffer; - char * strmod; - Bool(*wrapped_device_control)(DeviceIntPtr device, int what); -#ifdef HAVE_ABSOLUTE_MOUSE_SCALING - Ms_screen_resolution absres; -#endif -} VuidMseRec, *VuidMsePtr; - -static VuidMsePtr vuidMouseList = NULL; - -static int vuidMouseProc(DeviceIntPtr pPointer, int what); -static void vuidReadInput(InputInfoPtr pInfo); - -#ifdef HAVE_ABSOLUTE_MOUSE_SCALING -static void vuidMouseSendScreenSize(ScreenPtr pScreen, VuidMsePtr pVuidMse); -static void vuidMouseAdjustFrame(int index, int x, int y, int flags); - -static int vuidMouseGeneration = 0; -static DevPrivateKey vuidMouseScreenKey = &vuidMouseScreenKey; -#define vuidMouseGetScreenPrivate(s) ( \ - dixLookupPrivate(&(s)->devPrivates, vuidMouseScreenKey)) -#define vuidMouseSetScreenPrivate(s,p) \ - dixSetPrivate(&(s)->devPrivates, vuidMouseScreenKey, (void *) p) -#endif /* HAVE_ABSOLUTE_MOUSE_SCALING */ - -static inline -VuidMsePtr getVuidMsePriv(InputInfoPtr pInfo) -{ - VuidMsePtr m = vuidMouseList; - - while ((m != NULL) && (m->pInfo != pInfo)) { - m = m->next; - } - - return m; -} - - -/* - * Initialize and enable the mouse wheel, if present. - * - * Returns 1 if mouse wheel was successfully enabled. - * Returns 0 if an error occurred or if there is no mouse wheel. - */ -static int -vuidMouseWheelInit(InputInfoPtr pInfo) -{ -#ifdef HAVE_VUID_WHEEL - wheel_state wstate; - int nwheel = -1; - int i; - - wstate.vers = VUID_WHEEL_STATE_VERS; - wstate.id = 0; - wstate.stateflags = -1; - - SYSCALL(i = ioctl(pInfo->fd, VUIDGWHEELCOUNT, &nwheel)); - if (i != 0) - return (0); - - SYSCALL(i = ioctl(pInfo->fd, VUIDGWHEELSTATE, &wstate)); - if (i != 0) { - xf86Msg(X_WARNING, "%s: couldn't get wheel state\n", pInfo->name); - return (0); - } - - wstate.stateflags |= VUID_WHEEL_STATE_ENABLED; - - SYSCALL(i = ioctl(pInfo->fd, VUIDSWHEELSTATE, &wstate)); - if (i != 0) { - xf86Msg(X_WARNING, "%s: couldn't enable wheel\n", pInfo->name); - return (0); - } - - return (1); -#else - return (0); -#endif -} - - -/* This function is called when the protocol is "VUID". */ -static Bool -vuidPreInit(InputInfoPtr pInfo, const char *protocol, int flags) -{ - MouseDevPtr pMse = pInfo->private; - VuidMsePtr pVuidMse; - int buttons, i; - - pVuidMse = xcalloc(sizeof(VuidMseRec), 1); - if (pVuidMse == NULL) { - xf86Msg(X_ERROR, "%s: cannot allocate VuidMouseRec\n", pInfo->name); - xfree(pMse); - return FALSE; - } - - pMse->protocol = protocol; - xf86Msg(X_CONFIG, "%s: Protocol: %s\n", pInfo->name, protocol); - - /* Collect the options, and process the common options. */ - xf86CollectInputOptions(pInfo, NULL, NULL); - xf86ProcessCommonOptions(pInfo, pInfo->options); - - /* Check if the device can be opened. */ - pInfo->fd = xf86OpenSerial(pInfo->options); - if (pInfo->fd == -1) { - if (xf86GetAllowMouseOpenFail()) - xf86Msg(X_WARNING, "%s: cannot open input device\n", pInfo->name); - else { - xf86Msg(X_ERROR, "%s: cannot open input device\n", pInfo->name); - xfree(pVuidMse); - xfree(pMse); - return FALSE; - } - } - - pVuidMse->buffer = (unsigned char *)&pVuidMse->event; - - pVuidMse->strmod = xf86SetStrOption(pInfo->options, "StreamsModule", NULL); - if (pVuidMse->strmod) { - SYSCALL(i = ioctl(pInfo->fd, I_PUSH, pVuidMse->strmod)); - if (i < 0) { - xf86Msg(X_ERROR, - "%s: cannot push module '%s' onto mouse device: %s\n", - pInfo->name, pVuidMse->strmod, strerror(errno)); - xf86CloseSerial(pInfo->fd); - pInfo->fd = -1; - xfree(pVuidMse->strmod); - xfree(pVuidMse); - xfree(pMse); - return FALSE; - } - } - - buttons = xf86SetIntOption(pInfo->options, "Buttons", 0); - if (buttons == 0) { - SYSCALL(i = ioctl(pInfo->fd, MSIOBUTTONS, &buttons)); - if (i == 0) { - pInfo->conf_idev->commonOptions = - xf86ReplaceIntOption(pInfo->conf_idev->commonOptions, - "Buttons", buttons); - xf86Msg(X_INFO, "%s: Setting Buttons option to \"%d\"\n", - pInfo->name, buttons); - } - } - - if (pVuidMse->strmod) { - SYSCALL(i = ioctl(pInfo->fd, I_POP, pVuidMse->strmod)); - if (i == -1) { - xf86Msg(X_WARNING, - "%s: cannot pop module '%s' off mouse device: %s\n", - pInfo->name, pVuidMse->strmod, strerror(errno)); - } - } - - xf86CloseSerial(pInfo->fd); - pInfo->fd = -1; - - /* Process common mouse options (like Emulate3Buttons, etc). */ - pMse->CommonOptions(pInfo); - - /* Setup the local procs. */ - pVuidMse->wrapped_device_control = pInfo->device_control; - pInfo->device_control = vuidMouseProc; - pInfo->read_input = vuidReadInput; - - pMse->xisbscale = sizeof(Firm_event); - -#ifdef HAVE_ABSOLUTE_MOUSE_SCALING - pVuidMse->absres.height = pVuidMse->absres.width = 0; -#endif - pVuidMse->pInfo = pInfo; - pVuidMse->next = vuidMouseList; - vuidMouseList = pVuidMse; - - pInfo->flags |= XI86_CONFIGURED; - return TRUE; -} - -static void -vuidFlushAbsEvents(InputInfoPtr pInfo, int absX, int absY, - Bool *absXset, Bool *absYset) -{ -#ifdef DEBUG - ErrorF("vuidFlushAbsEvents: %d,%d (set: %d, %d)\n", absX, absY, - *absXset, *absYset); -#endif - if ((*absXset) && (*absYset)) { - xf86PostMotionEvent(pInfo->dev, - /* is_absolute: */ TRUE, - /* first_valuator: */ 0, - /* num_valuators: */ 2, - absX, absY); - } else if (*absXset) { - xf86PostMotionEvent(pInfo->dev, - /* is_absolute: */ TRUE, - /* first_valuator: */ 0, - /* num_valuators: */ 1, - absX); - } else if (*absYset) { - xf86PostMotionEvent(pInfo->dev, - /* is_absolute: */ TRUE, - /* first_valuator: */ 1, - /* num_valuators: */ 1, - absY); - } - - *absXset = FALSE; - *absYset = FALSE; -} - -static void -vuidReadInput(InputInfoPtr pInfo) -{ - MouseDevPtr pMse; - VuidMsePtr pVuidMse; - int buttons; - int dx = 0, dy = 0, dz = 0, dw = 0; - unsigned int n; - int c; - unsigned char *pBuf; - int wmask; - int absX, absY; - Bool absXset = FALSE, absYset = FALSE; - - pMse = pInfo->private; - pVuidMse = getVuidMsePriv(pInfo); - buttons = pMse->lastButtons; - XisbBlockDuration(pMse->buffer, -1); - pBuf = pVuidMse->buffer; - n = 0; - - do { - while (n < sizeof(Firm_event) && (c = XisbRead(pMse->buffer)) >= 0) { - pBuf[n++] = (unsigned char)c; - } - - if (n == 0) - return; - - if (n != sizeof(Firm_event)) { - xf86Msg(X_WARNING, "%s: incomplete packet, size %d\n", - pInfo->name, n); - } - -#ifdef DEBUG - ErrorF("vuidReadInput: event type: %3d value: %5d\n", - pVuidMse->event.id, pVuidMse->event.value); -#endif - - if (pVuidMse->event.id >= BUT_FIRST && pVuidMse->event.id <= BUT_LAST) { - /* button */ - int butnum = pVuidMse->event.id - BUT_FIRST; - - if (butnum < 3) - butnum = 2 - butnum; - if (!pVuidMse->event.value) - buttons &= ~(1 << butnum); - else - buttons |= (1 << butnum); - } else if (pVuidMse->event.id >= VLOC_FIRST && - pVuidMse->event.id <= VLOC_LAST) { - /* axis */ - int delta = pVuidMse->event.value; - switch(pVuidMse->event.id) { - case LOC_X_DELTA: - dx += delta; - break; - case LOC_Y_DELTA: - dy -= delta; - break; - case LOC_X_ABSOLUTE: - if (absXset) { - vuidFlushAbsEvents(pInfo, absX, absY, &absXset, &absYset); - } - absX = delta; - absXset = TRUE; - break; - case LOC_Y_ABSOLUTE: - if (absYset) { - vuidFlushAbsEvents(pInfo, absX, absY, &absXset, &absYset); - } - absY = delta; - absYset = TRUE; - break; - } - } -#ifdef HAVE_VUID_WHEEL - else if (vuid_in_range(VUID_WHEEL, pVuidMse->event.id)) { - if (vuid_id_offset(pVuidMse->event.id) == 0) - dz -= VUID_WHEEL_GETDELTA(pVuidMse->event.value); - else - dw -= VUID_WHEEL_GETDELTA(pVuidMse->event.value); - } -#endif -#ifdef HAVE_ABSOLUTE_MOUSE_SCALING - else if (pVuidMse->event.id == MOUSE_TYPE_ABSOLUTE) { - /* force sending absolute resolution scaling ioctl */ - pVuidMse->absres.height = pVuidMse->absres.width = 0; - vuidMouseSendScreenSize(miPointerCurrentScreen(), pVuidMse); - } -#endif - - n = 0; - if ((c = XisbRead(pMse->buffer)) >= 0) { - /* Another packet. Handle it right away. */ - pBuf[n++] = c; - } - } while (n != 0); - - if (absXset || absYset) { - vuidFlushAbsEvents(pInfo, absX, absY, &absXset, &absYset); - } - - pMse->PostEvent(pInfo, buttons, dx, dy, dz, dw); - return; -} - -#ifdef HAVE_ABSOLUTE_MOUSE_SCALING -static void vuidMouseSendScreenSize(ScreenPtr pScreen, VuidMsePtr pVuidMse) -{ - InputInfoPtr pInfo = pVuidMse->pInfo; - ScrnInfoPtr pScr = XF86SCRNINFO(pScreen); - int result; - - if ((pVuidMse->absres.width != pScr->currentMode->HDisplay) || - (pVuidMse->absres.height != pScr->currentMode->VDisplay)) - { - pVuidMse->absres.width = pScr->currentMode->HDisplay; - pVuidMse->absres.height = pScr->currentMode->VDisplay; - - do { - result = ioctl(pInfo->fd, MSIOSRESOLUTION, &(pVuidMse->absres)); - } while ( (result != 0) && (errno == EINTR) ); - - if (result != 0) { - xf86Msg(X_WARNING, - "%s: couldn't set absolute mouse scaling resolution: %s\n", - pInfo->name, strerror(errno)); -#ifdef DEBUG - } else { - xf86Msg(X_INFO, - "%s: absolute mouse scaling resolution set to %d x %d\n", - pInfo->name, - pVuidMse->absres.width, pVuidMse->absres.height); -#endif - } - } -} - -static void vuidMouseAdjustFrame(int index, int x, int y, int flags) -{ - ScrnInfoPtr pScrn = xf86Screens[index]; - ScreenPtr pScreen = pScrn->pScreen; - xf86AdjustFrameProc *wrappedAdjustFrame - = (xf86AdjustFrameProc *) vuidMouseGetScreenPrivate(pScreen); - VuidMsePtr m; - - if(wrappedAdjustFrame) { - pScrn->AdjustFrame = wrappedAdjustFrame; - (*pScrn->AdjustFrame)(index, x, y, flags); - pScrn->AdjustFrame = vuidMouseAdjustFrame; - } - - if (miPointerCurrentScreen() == pScreen) { - for (m = vuidMouseList; m != NULL ; m = m->next) { - vuidMouseSendScreenSize(pScreen, m); - } - } -} -#endif /* HAVE_ABSOLUTE_MOUSE_SCALING */ - - -static int -vuidMouseProc(DeviceIntPtr pPointer, int what) -{ - InputInfoPtr pInfo; - MouseDevPtr pMse; - VuidMsePtr pVuidMse; - int ret = Success; - int i; - - pInfo = pPointer->public.devicePrivate; - pMse = pInfo->private; - pMse->device = pPointer; - - pVuidMse = getVuidMsePriv(pInfo); - if (pVuidMse == NULL) { - return BadImplementation; - } - - switch (what) { - - case DEVICE_INIT: -#ifdef HAVE_ABSOLUTE_MOUSE_SCALING - if (vuidMouseGeneration != serverGeneration) { - for (i = 0; i < screenInfo.numScreens; i++) { - ScreenPtr pScreen = screenInfo.screens[i]; - ScrnInfoPtr pScrn = XF86SCRNINFO(pScreen); - vuidMouseSetScreenPrivate(pScreen, pScrn->AdjustFrame); - pScrn->AdjustFrame = vuidMouseAdjustFrame; - } - vuidMouseGeneration = serverGeneration; - } -#endif - ret = pVuidMse->wrapped_device_control(pPointer, what); - break; - - case DEVICE_ON: - ret = pVuidMse->wrapped_device_control(pPointer, DEVICE_ON); - - if ((ret == Success) && (pInfo->fd != -1)) { - int fmt = VUID_FIRM_EVENT; - - if (pVuidMse->strmod) { - SYSCALL(i = ioctl(pInfo->fd, I_PUSH, pVuidMse->strmod)); - if (i < 0) { - xf86Msg(X_WARNING, - "%s: cannot push module '%s' onto mouse device: %s\n", - pInfo->name, pVuidMse->strmod, strerror(errno)); - xfree(pVuidMse->strmod); - pVuidMse->strmod = NULL; - } - } - SYSCALL(i = ioctl(pInfo->fd, VUIDSFORMAT, &fmt)); - if (i < 0) { - xf86Msg(X_WARNING, - "%s: cannot set mouse device to VUID mode: %s\n", - pInfo->name, strerror(errno)); - } - vuidMouseWheelInit(pInfo); -#ifdef HAVE_ABSOLUTE_MOUSE_SCALING - vuidMouseSendScreenSize(screenInfo.screens[0], pVuidMse); -#endif - xf86FlushInput(pInfo->fd); - } - break; - - case DEVICE_OFF: - case DEVICE_CLOSE: - if (pInfo->fd != -1) { - if (pVuidMse->strmod) { - SYSCALL(i = ioctl(pInfo->fd, I_POP, pVuidMse->strmod)); - if (i == -1) { - xf86Msg(X_WARNING, - "%s: cannot pop module '%s' off mouse device: %s\n", - pInfo->name, pVuidMse->strmod, strerror(errno)); - } - } - } - ret = pVuidMse->wrapped_device_control(pPointer, what); - break; - - default: /* Should never be called, but just in case */ - ret = pVuidMse->wrapped_device_control(pPointer, what); - break; - } - return ret; -} - -static Bool -sunMousePreInit(InputInfoPtr pInfo, const char *protocol, int flags) -{ - /* The protocol is guaranteed to be one of the internalNames[] */ - if (xf86NameCmp(protocol, "VUID") == 0) { - return vuidPreInit(pInfo, protocol, flags); - } - return TRUE; -} - -static const char ** -BuiltinNames(void) -{ - return internalNames; -} - -static Bool -CheckProtocol(const char *protocol) -{ - int i; - - for (i = 0; internalNames[i]; i++) - if (xf86NameCmp(protocol, internalNames[i]) == 0) - return TRUE; - - return FALSE; -} - -static const char * -DefaultProtocol(void) -{ - return "Auto"; -} - -static Bool -solarisMouseAutoProbe(InputInfoPtr pInfo, const char **protocol, - const char **device) -{ - const char **pdev, **pproto, *dev = NULL; - int fd = -1; - Bool found; - - for (pdev = solarisMouseDevs; *pdev; pdev += 2) { - pproto = pdev + 1; - if ((*protocol != NULL) && (strcmp(*protocol, "Auto") != 0) && - (*pproto != NULL) && (strcmp(*pproto, *protocol) != 0)) { - continue; - } - if ((*device != NULL) && (strcmp(*device, *pdev) != 0)) { - continue; - } - SYSCALL (fd = open(*pdev, O_RDWR | O_NONBLOCK)); - if (fd == -1) { -#ifdef DEBUG - ErrorF("Cannot open %s (%s)\n", pdev, strerror(errno)); -#endif - } else { - found = TRUE; - if ((*pproto != NULL) && (strcmp(*pproto, "VUID") == 0)) { - int i, r; - SYSCALL(r = ioctl(fd, VUIDGFORMAT, &i)); - if (r < 0) { - found = FALSE; - } - } - close(fd); - if (found == TRUE) { - if (*pproto != NULL) { - *protocol = *pproto; - } - *device = *pdev; - return TRUE; - } - } - } - return FALSE; -} - -static const char * -SetupAuto(InputInfoPtr pInfo, int *protoPara) -{ - const char *pdev = NULL; - const char *pproto = NULL; - MouseDevPtr pMse = pInfo->private; - - if (pInfo->fd == -1) { - /* probe to find device/protocol to use */ - if (solarisMouseAutoProbe(pInfo, &pproto, &pdev) != FALSE) { - /* Set the Device option. */ - pInfo->conf_idev->commonOptions = - xf86AddNewOption(pInfo->conf_idev->commonOptions, "Device", pdev); - xf86Msg(X_INFO, "%s: Setting Device option to \"%s\"\n", - pInfo->name, pdev); - } - } else if (pMse->protocolID == PROT_AUTO) { - pdev = xf86CheckStrOption(pInfo->conf_idev->commonOptions, - "Device", NULL); - solarisMouseAutoProbe(pInfo, &pproto, &pdev); - } - return pproto; -} - -static const char * -FindDevice(InputInfoPtr pInfo, const char *protocol, int flags) -{ - const char *pdev = NULL; - const char *pproto = protocol; - - if (solarisMouseAutoProbe(pInfo, &pproto, &pdev) != FALSE) { - /* Set the Device option. */ - pInfo->conf_idev->commonOptions = - xf86AddNewOption(pInfo->conf_idev->commonOptions, "Device", pdev); - xf86Msg(X_INFO, "%s: Setting Device option to \"%s\"\n", - pInfo->name, pdev); - } - return pdev; -} - -#else /* __SOL8__ || !__i386 */ - -#undef MSE_MISC -#define MSE_MISC 0 - -#endif /* !__SOL8__ && __i386 */ - -static int -SupportedInterfaces(void) -{ - /* XXX This needs to be checked. */ - return MSE_SERIAL | MSE_BUS | MSE_PS2 | MSE_AUTO | MSE_XPS2 | MSE_MISC; -} - -_X_EXPORT OSMouseInfoPtr -xf86OSMouseInit(int flags) -{ - OSMouseInfoPtr p; - - p = xcalloc(sizeof(OSMouseInfoRec), 1); - if (!p) - return NULL; - p->SupportedInterfaces = SupportedInterfaces; -#if defined(__SOL8__) || !defined(__i386) - p->BuiltinNames = BuiltinNames; - p->CheckProtocol = CheckProtocol; - p->PreInit = sunMousePreInit; - p->DefaultProtocol = DefaultProtocol; - p->SetupAuto = SetupAuto; - p->FindDevice = FindDevice; -#endif - return p; -} - diff --git a/xorg-server/hw/xfree86/os-support/solaris/sun_vid.c b/xorg-server/hw/xfree86/os-support/solaris/sun_vid.c index e7b529ccb..3982f631f 100644 --- a/xorg-server/hw/xfree86/os-support/solaris/sun_vid.c +++ b/xorg-server/hw/xfree86/os-support/solaris/sun_vid.c @@ -1,6 +1,7 @@ /* * Copyright 1990,91 by Thomas Roell, Dinkelscherben, Germany * Copyright 1993 by David Wexelblat + * Copyright 1999 by David Holland * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that @@ -21,6 +22,33 @@ * OF THIS SOFTWARE. * */ +/* Copyright 2008 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_XORG_CONFIG_H #include @@ -29,121 +57,176 @@ #include /* get __x86 definition if not set by compiler */ #if defined(__i386__) || defined(__i386) || defined(__x86) -#define _NEED_SYSI86 +# define _NEED_SYSI86 #endif #include "xf86.h" #include "xf86Priv.h" #include "xf86_OSlib.h" - -#ifndef MAP_FAILED -#define MAP_FAILED ((void *)-1) -#endif +#include "xf86OSpriv.h" +#include /***************************************************************************/ /* Video Memory Mapping section */ /***************************************************************************/ -char *apertureDevName = NULL; +static char *apertureDevName = NULL; +static int apertureDevFD_ro = -1; +static int apertureDevFD_rw = -1; -_X_EXPORT Bool -xf86LinearVidMem(void) +static Bool +solOpenAperture(void) { - int mmapFd; - - if (apertureDevName) - return TRUE; - + if (apertureDevName == NULL) + { apertureDevName = "/dev/xsvc"; - if ((mmapFd = open(apertureDevName, O_RDWR)) < 0) + if ((apertureDevFD_rw = open(apertureDevName, O_RDWR)) < 0) { + xf86MsgVerb(X_WARNING, 0, + "solOpenAperture: failed to open %s (%s)\n", + apertureDevName, strerror(errno)); apertureDevName = "/dev/fbs/aperture"; - if((mmapFd = open(apertureDevName, O_RDWR)) < 0) + apertureDevFD_rw = open(apertureDevName, O_RDWR); + } + apertureDevFD_ro = open(apertureDevName, O_RDONLY); + + if ((apertureDevFD_rw < 0) || (apertureDevFD_ro < 0)) + { + xf86MsgVerb(X_WARNING, 0, + "solOpenAperture: failed to open %s (%s)\n", + apertureDevName, strerror(errno)); + xf86MsgVerb(X_WARNING, 0, + "solOpenAperture: either /dev/fbs/aperture" + " or /dev/xsvc required\n"); + + apertureDevName = NULL; + + if (apertureDevFD_rw >= 0) + { + close(apertureDevFD_rw); + } + apertureDevFD_rw = -1; + + if (apertureDevFD_ro >= 0) { - xf86MsgVerb(X_WARNING, 0, - "xf86LinearVidMem: failed to open %s (%s)\n", - apertureDevName, strerror(errno)); - xf86MsgVerb(X_WARNING, 0, - "xf86LinearVidMem: either /dev/fbs/aperture or /dev/xsvc" - " device driver required\n"); - xf86MsgVerb(X_WARNING, 0, - "xf86LinearVidMem: linear memory access disabled\n"); - apertureDevName = NULL; - return FALSE; + close(apertureDevFD_ro); } + apertureDevFD_ro = -1; + + return FALSE; } - close(mmapFd); - return TRUE; + } + return TRUE; } -_X_EXPORT pointer -xf86MapVidMem(int ScreenNum, int Flags, unsigned long Base, unsigned long Size) +static pointer +solMapVidMem(int ScreenNum, unsigned long Base, unsigned long Size, int Flags) { - pointer base; - int fd; - char vtname[20]; - - /* - * Solaris 2.1 x86 SVR4 (10/27/93) - * The server must treat the virtual terminal device file as the - * standard SVR4 /dev/pmem. - * - * Using the /dev/vtXX device as /dev/pmem only works for the - * A0000-FFFFF region - If we wish you mmap the linear aperture - * it requires a device driver. - * - * So what we'll do is use /dev/vtXX for the A0000-FFFFF stuff, and - * try to use the /dev/fbs/aperture or /dev/xsvc driver if the server - * tries to mmap anything > FFFFF. Its very very unlikely that the - * server will try to mmap anything below FFFFF that can't be handled - * by /dev/vtXX. - * - * DWH - 2/23/94 - * DWH - 1/31/99 (Gee has it really been 5 years?) - * - * Solaris 2.8 7/26/99 - * Use /dev/xsvc for everything - * - * DWH - 7/26/99 - Solaris8/dev/xsvc changes - * - * TSI - 2001.09 - SPARC changes - */ - -#if defined(__i386__) && !defined(__SOL8__) - if(Base < 0xFFFFF) - sprintf(vtname, "/dev/vt%02d", xf86Info.vtno); - else -#endif - { - if (!xf86LinearVidMem()) - FatalError("xf86MapVidMem: no aperture device\n"); + pointer base; + int fd; + int prot; + + if (Flags & VIDMEM_READONLY) + { + fd = apertureDevFD_ro; + prot = PROT_READ; + } + else + { + fd = apertureDevFD_rw; + prot = PROT_READ | PROT_WRITE; + } + + if (fd < 0) + { + xf86DrvMsg(ScreenNum, X_ERROR, + "solMapVidMem: failed to open %s (%s)\n", + apertureDevName, strerror(errno)); + return NULL; + } + + base = mmap(NULL, Size, prot, MAP_SHARED, fd, (off_t)Base); + + if (base == MAP_FAILED) { + xf86DrvMsg(ScreenNum, X_ERROR, + "solMapVidMem: failed to mmap %s (0x%08lx,0x%lx) (%s)\n", + apertureDevName, Base, Size, strerror(errno)); + return NULL; + } + + return base; +} - strcpy(vtname, apertureDevName); - } +/* ARGSUSED */ +static void +solUnMapVidMem(int ScreenNum, pointer Base, unsigned long Size) +{ + if (munmap(Base, Size) != 0) { + xf86DrvMsgVerb(ScreenNum, X_WARNING, 0, + "solUnMapVidMem: failed to unmap %s" + " (0x%08lx,0x%lx) (%s)\n", + apertureDevName, Base, Size, + strerror(errno)); + } +} - fd = open(vtname, (Flags & VIDMEM_READONLY) ? O_RDONLY : O_RDWR); - if (fd < 0) - FatalError("xf86MapVidMem: failed to open %s (%s)\n", - vtname, strerror(errno)); - - base = mmap(NULL, Size, - (Flags & VIDMEM_READONLY) ? - PROT_READ : (PROT_READ | PROT_WRITE), - MAP_SHARED, fd, (off_t)Base); - close(fd); - if (base == MAP_FAILED) - FatalError("xf86MapVidMem: mmap failure: %s\n", - strerror(errno)); - - return(base); +_X_HIDDEN void +xf86OSInitVidMem(VidMemInfoPtr pVidMem) +{ + pVidMem->linearSupported = solOpenAperture(); + if (pVidMem->linearSupported) { + pVidMem->mapMem = solMapVidMem; + pVidMem->unmapMem = solUnMapVidMem; + } else { + xf86MsgVerb(X_WARNING, 0, + "xf86OSInitVidMem: linear memory access disabled\n"); + } + pVidMem->initialised = TRUE; } -/* ARGSUSED */ -_X_EXPORT void -xf86UnMapVidMem(int ScreenNum, pointer Base, unsigned long Size) +/* + * Read BIOS via mmap()ing physical memory. + */ +_X_EXPORT int +xf86ReadBIOS(unsigned long Base, unsigned long Offset, unsigned char *Buf, + int Len) { - munmap(Base, Size); + unsigned char *ptr; + int psize; + int mlen; + + psize = getpagesize(); + Offset += Base & (psize - 1); + Base &= ~(psize - 1); + mlen = (Offset + Len + psize - 1) & ~(psize - 1); + + if (solOpenAperture() == FALSE) + { + xf86Msg(X_WARNING, + "xf86ReadBIOS: Failed to open aperture to read BIOS\n"); + return -1; + } + + ptr = (unsigned char *)mmap(NULL, mlen, PROT_READ, + MAP_SHARED, apertureDevFD_ro, (off_t)Base); + if (ptr == MAP_FAILED) + { + xf86Msg(X_WARNING, "xf86ReadBIOS: %s mmap failed [0x%08lx, 0x%04x]\n", + apertureDevName, Base, mlen); + return -1; + } + + (void)memcpy(Buf, (void *)(ptr + Offset), Len); + if (munmap((caddr_t)ptr, mlen) != 0) { + xf86MsgVerb(X_WARNING, 0, + "solUnMapVidMem: failed to unmap %s" + " (0x%08lx,0x%lx) (%s)\n", + apertureDevName, ptr, mlen, strerror(errno)); + } + + return Len; } + /***************************************************************************/ /* I/O Permissions section */ /***************************************************************************/ @@ -156,81 +239,27 @@ _X_EXPORT Bool xf86EnableIO(void) { #if defined(__i386__) || defined(__i386) || defined(__x86) - if (ExtendedEnabled) - return TRUE; + if (ExtendedEnabled) + return TRUE; - if (sysi86(SI86V86, V86SC_IOPL, PS_IOPL) < 0) { - xf86Msg(X_WARNING,"xf86EnableIOPorts: Failed to set IOPL for I/O\n"); - return FALSE; - } - ExtendedEnabled = TRUE; + if (sysi86(SI86V86, V86SC_IOPL, PS_IOPL) < 0) { + xf86Msg(X_WARNING, "xf86EnableIOPorts: Failed to set IOPL for I/O\n"); + return FALSE; + } + ExtendedEnabled = TRUE; #endif /* i386 */ - return TRUE; + return TRUE; } _X_EXPORT void xf86DisableIO(void) { #if defined(__i386__) || defined(__i386) || defined(__x86) - if(!ExtendedEnabled) - return; + if(!ExtendedEnabled) + return; - sysi86(SI86V86, V86SC_IOPL, 0); + sysi86(SI86V86, V86SC_IOPL, 0); - ExtendedEnabled = FALSE; + ExtendedEnabled = FALSE; #endif /* i386 */ } - - -/***************************************************************************/ -/* Interrupt Handling section */ -/***************************************************************************/ - -_X_EXPORT Bool xf86DisableInterrupts(void) -{ -#if defined(__i386__) || defined(__i386) || defined(__x86) - if (!ExtendedEnabled && (sysi86(SI86V86, V86SC_IOPL, PS_IOPL) < 0)) - return FALSE; - -#ifdef __GNUC__ - __asm__ __volatile__("cli"); -#else - asm("cli"); -#endif /* __GNUC__ */ - - if (!ExtendedEnabled) - sysi86(SI86V86, V86SC_IOPL, 0); -#endif /* i386 */ - - return TRUE; -} - -_X_EXPORT void xf86EnableInterrupts(void) -{ -#if defined(__i386__) || defined(__i386) || defined(__x86) - if (!ExtendedEnabled && (sysi86(SI86V86, V86SC_IOPL, PS_IOPL) < 0)) - return; - -#ifdef __GNUC__ - __asm__ __volatile__("sti"); -#else - asm("sti"); -#endif /* __GNUC__ */ - - if (!ExtendedEnabled) - sysi86(SI86V86, V86SC_IOPL, 0); -#endif /* i386 */ -} - -_X_EXPORT void -xf86MapReadSideEffects(int ScreenNum, int Flags, pointer Base, - unsigned long Size) -{ -} - -_X_EXPORT Bool -xf86CheckMTRR(int ScreenNum) -{ - return FALSE; -} - diff --git a/xorg-server/hw/xfree86/os-support/sysv/Makefile.am b/xorg-server/hw/xfree86/os-support/sysv/Makefile.am index f9d2f237a..e86e70ad1 100644 --- a/xorg-server/hw/xfree86/os-support/sysv/Makefile.am +++ b/xorg-server/hw/xfree86/os-support/sysv/Makefile.am @@ -1 +1 @@ -EXTRA_DIST = sysv_init.c sysv_mouse.c sysv_video.c +EXTRA_DIST = sysv_init.c sysv_video.c diff --git a/xorg-server/hw/xfree86/os-support/sysv/Makefile.in b/xorg-server/hw/xfree86/os-support/sysv/Makefile.in index 2a27a19e1..b574c0288 100644 --- a/xorg-server/hw/xfree86/os-support/sysv/Makefile.in +++ b/xorg-server/hw/xfree86/os-support/sysv/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -42,7 +42,6 @@ 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 \ @@ -56,8 +55,9 @@ ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ -APPDEFAULTDIR = @APPDEFAULTDIR@ APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +APPLE_APPLICATION_ID = @APPLE_APPLICATION_ID@ +APPLE_APPLICATION_NAME = @APPLE_APPLICATION_NAME@ APP_MAN_DIR = @APP_MAN_DIR@ APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ AR = @AR@ @@ -78,10 +78,6 @@ 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@ @@ -103,6 +99,7 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOLT_BASH = @DOLT_BASH@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ @@ -112,18 +109,15 @@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ DSYMUTIL = @DSYMUTIL@ DTRACE = @DTRACE@ -ECHO = @ECHO@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ -FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ -FREETYPE_LIBS = @FREETYPE_LIBS@ GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ GLX_DEFINES = @GLX_DEFINES@ GL_CFLAGS = @GL_CFLAGS@ @@ -142,7 +136,7 @@ KDRIVE_LIBS = @KDRIVE_LIBS@ KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ -LAUNCHD = @LAUNCHD@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ LEX = @LEX@ @@ -156,7 +150,10 @@ LIBTOOL = @LIBTOOL@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LINUXDOC = @LINUXDOC@ +LIPO = @LIPO@ LN_S = @LN_S@ +LTCOMPILE = @LTCOMPILE@ +LTCXXCOMPILE = @LTCXXCOMPILE@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ @@ -168,8 +165,7 @@ MESA_SOURCE = @MESA_SOURCE@ MISC_MAN_DIR = @MISC_MAN_DIR@ MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ MKDIR_P = @MKDIR_P@ -MKFONTDIR = @MKFONTDIR@ -MKFONTSCALE = @MKFONTSCALE@ +NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCCLD = @OBJCCLD@ @@ -178,8 +174,8 @@ OBJCFLAGS = @OBJCFLAGS@ OBJCLINK = @OBJCLINK@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ @@ -212,7 +208,6 @@ VENDOR_NAME = @VENDOR_NAME@ VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ VENDOR_RELEASE = @VENDOR_RELEASE@ VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ XDMCP_CFLAGS = @XDMCP_CFLAGS@ @@ -222,27 +217,12 @@ XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@ XDMX_CFLAGS = @XDMX_CFLAGS@ XDMX_LIBS = @XDMX_LIBS@ XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ XEPHYR_INCS = @XEPHYR_INCS@ XEPHYR_LIBS = @XEPHYR_LIBS@ 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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ @@ -253,10 +233,6 @@ XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ XNEST_LIBS = @XNEST_LIBS@ XNEST_SYS_LIBS = @XNEST_SYS_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_INCS = @XORG_INCS@ XORG_LIBS = @XORG_LIBS@ @@ -265,13 +241,8 @@ XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ XORG_OS = @XORG_OS@ XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_LIBS@ +XPBPROXY_CFLAGS = @XPBPROXY_CFLAGS@ +XPBPROXY_LIBS = @XPBPROXY_LIBS@ XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ XSDL_INCS = @XSDL_INCS@ @@ -304,8 +275,7 @@ 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@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -325,7 +295,6 @@ driverdir = @driverdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ extdir = @extdir@ -ft_config = @ft_config@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ @@ -335,12 +304,12 @@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ -launchagentsdir = @launchagentsdir@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ logdir = @logdir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ moduledir = @moduledir@ @@ -358,9 +327,7 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ -EXTRA_DIST = sysv_init.c sysv_mouse.c sysv_video.c +EXTRA_DIST = sysv_init.c sysv_video.c all: all-am .SUFFIXES: @@ -368,8 +335,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ diff --git a/xorg-server/hw/xfree86/os-support/sysv/sysv_mouse.c b/xorg-server/hw/xfree86/os-support/sysv/sysv_mouse.c deleted file mode 100644 index e62010515..000000000 --- a/xorg-server/hw/xfree86/os-support/sysv/sysv_mouse.c +++ /dev/null @@ -1,60 +0,0 @@ - -/* - * Copyright 1999 by The XFree86 Project, Inc. - */ - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include -#include "xf86.h" -#include "xf86Xinput.h" -#include "xf86OSmouse.h" - -static int -SupportedInterfaces(void) -{ - /* XXX Need to check this. */ - return MSE_SERIAL | MSE_AUTO; -} - -#ifndef ISC -static const char *internalNames[] = { - NULL -}; - -static const char ** -BuiltinNames(void) -{ - return internalNames; -} - -static Bool -CheckProtocol(const char *protocol) -{ - int i; - - for (i = 0; internalNames[i]; i++) - if (xf86NameCmp(protocol, internalNames[i]) == 0) - return TRUE; - return FALSE; -} -#endif - -_X_EXPORT OSMouseInfoPtr -xf86OSMouseInit(int flags) -{ - OSMouseInfoPtr p; - - p = xcalloc(sizeof(OSMouseInfoRec), 1); - if (!p) - return NULL; - p->SupportedInterfaces = SupportedInterfaces; -#ifndef ISC - p->BuiltinNames = BuiltinNames; - p->CheckProtocol = CheckProtocol; -#endif - return p; -} - diff --git a/xorg-server/hw/xfree86/os-support/sysv/sysv_video.c b/xorg-server/hw/xfree86/os-support/sysv/sysv_video.c index 9972bcaa4..a9bbd6580 100644 --- a/xorg-server/hw/xfree86/os-support/sysv/sysv_video.c +++ b/xorg-server/hw/xfree86/os-support/sysv/sysv_video.c @@ -313,55 +313,3 @@ xf86DisableIO() return; } - -/***************************************************************************/ -/* Interrupt Handling section */ -/***************************************************************************/ - -_X_EXPORT Bool -xf86DisableInterrupts() -{ - if (!ExtendedEnabled) - { - if (SET_IOPL() < 0) - { - return(FALSE); - } - } - -#ifdef __GNUC__ - __asm__ __volatile__("cli"); -#else - asm("cli"); -#endif /* __GNUC__ */ - - if (!ExtendedEnabled) - { - RESET_IOPL(); - } - return(TRUE); -} - -_X_EXPORT void -xf86EnableInterrupts() -{ - if (!ExtendedEnabled) - { - if (SET_IOPL() < 0) - { - return; - } - } - -#ifdef __GNUC__ - __asm__ __volatile__("sti"); -#else - asm("sti"); -#endif /* __GNUC__ */ - - if (!ExtendedEnabled) - { - RESET_IOPL(); - } - return; -} diff --git a/xorg-server/hw/xfree86/os-support/usl/Makefile.am b/xorg-server/hw/xfree86/os-support/usl/Makefile.am deleted file mode 100644 index db08f5d85..000000000 --- a/xorg-server/hw/xfree86/os-support/usl/Makefile.am +++ /dev/null @@ -1,6 +0,0 @@ -EXTRA_DIST = \ - usl_init.c \ - usl_iop.c \ - usl_mouse.c \ - usl_video.c \ - usl_vtsw.c diff --git a/xorg-server/hw/xfree86/os-support/usl/Makefile.in b/xorg-server/hw/xfree86/os-support/usl/Makefile.in deleted file mode 100644 index bf5c2ac17..000000000 --- a/xorg-server/hw/xfree86/os-support/usl/Makefile.in +++ /dev/null @@ -1,538 +0,0 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008 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 = hw/xfree86/os-support/usl -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 = -SOURCES = -DIST_SOURCES = -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@ -DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ -DRI2PROTO_LIBS = @DRI2PROTO_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@ -DSYMUTIL = @DSYMUTIL@ -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@ -GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ -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@ -LAUNCHD = @LAUNCHD@ -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@ -NMEDIT = @NMEDIT@ -OBJC = @OBJC@ -OBJCCLD = @OBJCCLD@ -OBJCDEPMODE = @OBJCDEPMODE@ -OBJCFLAGS = @OBJCFLAGS@ -OBJCLINK = @OBJCLINK@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ -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@ -PCIACCESS_CFLAGS = @PCIACCESS_CFLAGS@ -PCIACCESS_LIBS = @PCIACCESS_LIBS@ -PCI_TXT_IDS_PATH = @PCI_TXT_IDS_PATH@ -PERL = @PERL@ -PKG_CONFIG = @PKG_CONFIG@ -PROJECTROOT = @PROJECTROOT@ -PS2PDF = @PS2PDF@ -RANLIB = @RANLIB@ -RAWCPP = @RAWCPP@ -RAWCPPFLAGS = @RAWCPPFLAGS@ -SED = @SED@ -SERVER_MISC_CONFIG_PATH = @SERVER_MISC_CONFIG_PATH@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ -SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ -STRIP = @STRIP@ -TSLIB_CFLAGS = @TSLIB_CFLAGS@ -TSLIB_LIBS = @TSLIB_LIBS@ -UTILS_SYS_LIBS = @UTILS_SYS_LIBS@ -VENDOR_MAN_VERSION = @VENDOR_MAN_VERSION@ -VENDOR_NAME = @VENDOR_NAME@ -VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ -VENDOR_RELEASE = @VENDOR_RELEASE@ -VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ -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_CFLAGS = @XDMX_CFLAGS@ -XDMX_LIBS = @XDMX_LIBS@ -XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ -XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ -XEPHYR_INCS = @XEPHYR_INCS@ -XEPHYR_LIBS = @XEPHYR_LIBS@ -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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ -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@ -XNEST_SYS_LIBS = @XNEST_SYS_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_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@ -XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_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@ -XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ -XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ -XTSTEXAMPLES_DEP_LIBS = @XTSTEXAMPLES_DEP_LIBS@ -XVFB_LIBS = @XVFB_LIBS@ -XVFB_SYS_LIBS = @XVFB_SYS_LIBS@ -XWINMODULES_CFLAGS = @XWINMODULES_CFLAGS@ -XWINMODULES_LIBS = @XWINMODULES_LIBS@ -XWIN_LIBS = @XWIN_LIBS@ -XWIN_SERVER_NAME = @XWIN_SERVER_NAME@ -XWIN_SYS_LIBS = @XWIN_SYS_LIBS@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -__XCONFIGFILE__ = @__XCONFIGFILE__@ -abi_ansic = @abi_ansic@ -abi_extension = @abi_extension@ -abi_font = @abi_font@ -abi_videodrv = @abi_videodrv@ -abi_xinput = @abi_xinput@ -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@ -launchagentsdir = @launchagentsdir@ -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_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ -EXTRA_DIST = \ - usl_init.c \ - usl_iop.c \ - usl_mouse.c \ - usl_video.c \ - usl_vtsw.c - -all: all-am - -.SUFFIXES: -$(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/xfree86/os-support/usl/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign hw/xfree86/os-support/usl/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 -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 -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 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-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: - -.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-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 - -# 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/xorg-server/hw/xfree86/os-support/usl/usl_init.c b/xorg-server/hw/xfree86/os-support/usl/usl_init.c deleted file mode 100644 index d27b206c8..000000000 --- a/xorg-server/hw/xfree86/os-support/usl/usl_init.c +++ /dev/null @@ -1,357 +0,0 @@ -/* - * 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. - * - */ - -#include "X.h" -#include "Xmd.h" - -#include "compiler.h" - -#include "xf86.h" -#include "xf86Priv.h" -#include "xf86_OSlib.h" - -#include - -static Bool KeepTty = FALSE; -static Bool Protect0 = FALSE; -static Bool CRTSpecified = FALSE; -static int VTnum = -1; -static char vtdevice[48]; - -int usl_is_osr6 = -1; - -static Bool -IsConsoleDevice(const char *dev) -{ - if ((!strcmp (dev, "/dev/console")) || - (!strcmp (dev, "/dev/syscon")) || - (!strcmp (dev, "/dev/systty"))) - return TRUE; - - return FALSE; -} - -static int -is_osr6 (void) -{ - struct utsname uts; - - if (usl_is_osr6 == -1) { - if (uname (&uts) < 0) { - FatalError ("get_usl_ver: Failed to determine UNIX name (%s)\n", - strerror (errno)); - } - - if (uts.version[0] == '6') - usl_is_osr6 = 1; - else - usl_is_osr6 = 0; - } - - return usl_is_osr6; -} - - -void -xf86OpenConsole(void) -{ - int fd, i, ioctl_ret; - struct vt_mode VT; - struct vt_stat vts; - MessageType from = X_PROBED; - struct sigaction sigvtsw; - char *ttn; - - if (serverGeneration == 1) { - int isconsole = 0, consdev = 0; - - /* check if we're run with euid==0 */ - if (geteuid() != 0) { - FatalError("xf86OpenConsole: Server must be suid root\n"); - } - - /* If we are run in the background we will get SIGTTOU. Ignore it. */ - OsSignal (SIGTTOU, SIG_IGN); - - /* Protect page 0 to help find NULL dereferencing */ - /* mprotect() doesn't seem to work */ - if (Protect0) { - int fd = -1; - - if ((fd = open("/dev/zero", O_RDONLY, 0)) < 0) { - xf86Msg(X_WARNING, "xf86OpenConsole: cannot open /dev/zero (%s)\n", - strerror(errno)); - } else { - if ((int)mmap(0, 0x1000, PROT_NONE, - MAP_FIXED | MAP_SHARED, fd, 0) == -1) { - xf86Msg(X_WARNING, "xf86OpenConsole: failed to protect page 0 (%s)\n", - strerror(errno)); - } - close(fd); - } - } - - /* - * setup the virtual terminal manager - */ - if (VTnum == -1) { - /* - * No device was specified. We need to query the kernel to see which - * console device we are on (and in fact if we are on a console at all). - */ - if (ioctl (0, VT_GETSTATE, &vts) < 0) { - FatalError("xf86OpenConsole: Could not query active VT: %s\n", - strerror(errno)); - } - VTnum = vts.v_active; - if (is_osr6()) - snprintf (vtdevice, sizeof(vtdevice), "/dev/tty%02d", VTnum + 1); - else - snprintf (vtdevice, sizeof(vtdevice), "/dev/vt%02d", VTnum); - } else { - from = X_CMDLINE; - if (is_osr6()) - snprintf (vtdevice, sizeof(vtdevice), "/dev/tty%02d", VTnum + 1); - else - snprintf (vtdevice, sizeof(vtdevice), "/dev/vt%02d", VTnum); - } - - if (IsConsoleDevice(vtdevice)) { - isconsole = 1; - CRTSpecified = FALSE; /* Dont honour -crt /dev/console */ - } - - if (ioctl (0, KIOCINFO, 0) >= 0) - consdev = 1 + isconsole; - - if ((!CRTSpecified) && (isconsole || (!consdev))) { - /* - * Need to find a free VT - */ - if ((fd = open ("/dev/console", O_WRONLY | O_NOCTTY)) < 0) { - FatalError ("xf86OpenConsole: Could not open /dev/console: %s\n", - strerror (errno)); - } - - if (ioctl (fd, VT_OPENQRY, &VTnum) < 0) { - FatalError ("xf86OpenConsole: Cannot find a free VT: %s\n", - strerror(errno)); - } - close (fd); - if (usl_is_osr6) - snprintf (vtdevice, sizeof(vtdevice), "/dev/tty%02d", VTnum + 1); - else - snprintf (vtdevice, sizeof(vtdevice), "/dev/vt%02d", VTnum); - } - - /* - * Now we can dispose of stdin/stdout - */ - fclose (stdin); - fclose (stdout); - - if (CRTSpecified || isconsole || consdev != 1) { - if (!KeepTty) { - setpgrp(); - } - } - - if ((xf86Info.consoleFd = open(vtdevice, O_RDWR | O_NONBLOCK, 0)) < 0) { - FatalError("xf86OpenConsole: Cannot open %s: %s\n", vtdevice, - strerror(errno)); - } - - xf86Msg (from, "using VT number %d (%s)\n\n", VTnum, vtdevice); - xf86Info.vtno = VTnum; - - /* change ownership of the vt */ - chown(vtdevice, getuid(), getgid()); - - /* - * now get the VT - */ - if (ioctl(xf86Info.consoleFd, VT_ACTIVATE, xf86Info.vtno) != 0) { - FatalError("xf86OpenConsole: VT_ACTIVATE failed: %s\n", - strerror(errno)); - } - if (ioctl(xf86Info.consoleFd, VT_WAITACTIVE, xf86Info.vtno) != 0) { - FatalError("xf86OpenConsole: VT_WAITACTIVE failed: %s\n",strerror(errno)); - } - - if (ioctl(xf86Info.consoleFd, VT_GETMODE, &VT) < 0) { - FatalError("xf86OpenConsole: VT_GETMODE failed: %s\n", strerror(errno)); - } - - sigvtsw.sa_handler = xf86VTRequest; - sigfillset(&sigvtsw.sa_mask); - sigvtsw.sa_flags = 0; - sigaction(SIGUSR1, &sigvtsw, NULL); - - VT.mode = VT_PROCESS; - VT.relsig = SIGUSR1; - VT.acqsig = SIGUSR1; - - ioctl_ret = ioctl(xf86Info.consoleFd, VT_SETMODE, &VT); - if (ioctl_ret < 0) { - FatalError("xf86OpenConsole: VT_SETMODE failed: %s\n", strerror(errno)); - } - - if (ioctl(xf86Info.consoleFd, KDSETMODE, KD_GRAPHICS) < 0) { - FatalError("xf86OpenConsole: KD_GRAPHICS failed: %s\n", strerror(errno)); - } - } else { /* serverGeneration != 1 */ - /* - * now get the VT - */ - if (ioctl(xf86Info.consoleFd, VT_ACTIVATE, xf86Info.vtno) != 0) { - FatalError("xf86OpenConsole: VT_ACTIVATE failed: %s\n", strerror(errno)); - } - if (ioctl(xf86Info.consoleFd, VT_WAITACTIVE, xf86Info.vtno) != 0) { - FatalError("xf86OpenConsole: VT_WAITACTIVE failed: %s\n",strerror(errno)); - } - /* - * If the server doesn't have the VT when the reset occurs, - * this is to make sure we don't continue until the activate - * signal is received. - */ - if (!xf86Screens[0]->vtSema) - sleep(5); - } - return; -} - -void -xf86CloseConsole(void) -{ - struct vt_mode VT; - struct sigaction sigvtsw; - - ioctl(xf86Info.consoleFd, KDSETMODE, KD_TEXT); /* Back to text mode ... */ - - sigvtsw.sa_handler = SIG_DFL; - sigfillset(&sigvtsw.sa_mask); - sigvtsw.sa_flags = 0; - sigaction(SIGUSR1, &sigvtsw, NULL); - - if (ioctl(xf86Info.consoleFd, VT_GETMODE, &VT) != -1) { - VT.mode = VT_AUTO; - VT.waitv = 0; - ioctl(xf86Info.consoleFd, VT_SETMODE, &VT); /* set dflt vt handling */ - } - close(xf86Info.consoleFd); /* make the vt-manager happy */ - return; -} - -int -xf86ProcessArgument(int argc, char *argv[], int i) -{ - /* - * Keep server from detaching from controlling tty. This is useful - * when debugging (so the server can receive keyboard signals. - */ - if (!strcmp(argv[i], "-keeptty")) { - KeepTty = TRUE; - return(1); - } - - /* - * Undocumented flag to protect page 0 from read/write to help - * catch NULL pointer dereferences. This is purely a debugging - * flag. - */ - if (!strcmp(argv[i], "-protect0")) { - Protect0 = TRUE; - return(1); - } - - if ((argv[i][0] == 'v') && (argv[i][1] == 't')) { - if (sscanf(argv[i], "vt%2d", &VTnum) == 0) { - UseMsg(); - VTnum = -1; - return(0); - } - VTnum -= is_osr6(); - CRTSpecified = TRUE; - return(1); - } - - /* - * Use a device the user specifies. - */ - if (!strcmp(argv[i], "-crt")) { - if (++i > argc) { - UseMsg(); - VTnum = -1; - return(0); - } else { - char *mytty = ttyname(0); - char *arg = argv[i]; - - if (!mytty) - mytty = "\1"; - if (!arg[0]) - arg = "\2"; /* Prevent idiots from using -crt "" */ - - if (strcmp (mytty, arg) != 0) { - char *fmt; - - if (is_osr6()) - fmt = "/dev/tty%02d"; - else - fmt = "/dev/vt%02d"; - - if (sscanf(arg, fmt, &VTnum) == 0) { - UseMsg(); - VTnum = -1; - return(0); - } - - /* OSR6 devices start names at 1, UW7 starts at 0 */ - VTnum -= is_osr6(); - CRTSpecified = TRUE; - } - return(2); - } - } - return(0); -} - -void -xf86UseMsg(void) -{ - if (is_osr6()) { - ErrorF("-crt /dev/ttyXX use the specified VT device\n"); - ErrorF("vtXX use the specified VT number (01-16)\n"); - } else { - ErrorF("-crt /dev/vtXX use the specified VT device\n"); - ErrorF("vtXX use the specified VT number (00-15)\n"); - } - - ErrorF("-keeptty "); - ErrorF("don't detach controlling tty (for debugging only)\n"); - return; -} diff --git a/xorg-server/hw/xfree86/os-support/usl/usl_iop.c b/xorg-server/hw/xfree86/os-support/usl/usl_iop.c deleted file mode 100644 index c6382fc7e..000000000 --- a/xorg-server/hw/xfree86/os-support/usl/usl_iop.c +++ /dev/null @@ -1,106 +0,0 @@ -/* - * 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. - */ - - -#include "X.h" - -#include "compiler.h" - -#define _NEED_SYSI86 -#include "xf86.h" -#include "xf86Priv.h" -#include "xf86OSpriv.h" -#include "xf86_OSlib.h" - - -/***************************************************************************/ -/* I/O Permissions section */ -/***************************************************************************/ - -static Bool IOEnabled = FALSE; - -_X_EXPORT Bool -xf86EnableIO(void) -{ - if (IOEnabled) - return TRUE; - - if (sysi86(SI86IOPL, 3) < 0) - FatalError("Failed to set IOPL for extended I/O\n"); - IOEnabled = TRUE; - return TRUE; -} - -_X_EXPORT void -xf86DisableIO(void) -{ - if (!IOEnabled) - return; - - sysi86(SI86IOPL, 0); - IOEnabled = FALSE; -} - -/***************************************************************************/ -/* Interrupt Handling section */ -/***************************************************************************/ - -_X_EXPORT Bool -xf86DisableInterrupts(void) -{ - if (!IOEnabled) { - if (sysi86(SI86IOPL, 3) < 0) - return FALSE; - } - -#ifdef __GNUC__ - __asm__ __volatile__("cli"); -#else - asm("cli"); -#endif /* __GNUC__ */ - - if (!IOEnabled) { - sysi86(SI86IOPL, 0); - } - - return(TRUE); -} - -_X_EXPORT void -xf86EnableInterrupts(void) -{ - if (!IOEnabled) { - if (sysi86(SI86IOPL, 3) < 0) - return; - } - -#ifdef __GNUC__ - __asm__ __volatile__("sti"); -#else - asm("sti"); -#endif /* __GNUC__ */ - - if (!IOEnabled) { - sysi86(SI86IOPL, 0); - } -} - diff --git a/xorg-server/hw/xfree86/os-support/usl/usl_mouse.c b/xorg-server/hw/xfree86/os-support/usl/usl_mouse.c deleted file mode 100644 index aa4600f79..000000000 --- a/xorg-server/hw/xfree86/os-support/usl/usl_mouse.c +++ /dev/null @@ -1,177 +0,0 @@ - -/* - * 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 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. - * - */ - -#include "X.h" -#include "compiler.h" -#include "xf86.h" -#include "xf86Xinput.h" -#include "xf86OSmouse.h" -#include "xf86Priv.h" -#include "xf86_OSlib.h" -#include "mipointer.h" - -static int -SupportedInterfaces(void) -{ - return MSE_MISC; -} - -static const char *internalNames[] = { - NULL -}; - -static const char ** -BuiltinNames(void) -{ - return internalNames; -} - -static const char * -DefaultProtocol (void) -{ - return "OSMouse"; -} - -static Bool -CheckProtocol(const char *protocol) -{ - int i; - - for (i = 0; internalNames[i]; i++) - if (xf86NameCmp(protocol, internalNames[i]) == 0) - return TRUE; - return FALSE; -} - -static int -OsMouseProc(DeviceIntPtr pPointer, int what) -{ - InputInfoPtr pInfo; - MouseDevPtr pMse; - unsigned char map[9]; - int ret; - - pInfo = pPointer->public.devicePrivate; - pMse = pInfo->private; - pMse->device = pPointer; - - switch (what) { - case DEVICE_INIT: - pPointer->public.on = FALSE; - - for (ret = 0; ret <= 8; ret++) - map[ret] = ret; - - InitPointerDeviceStruct((DevicePtr)pPointer, map, 8, - miPointerGetMotionEvents, pMse->Ctrl, - miPointerGetMotionBufferSize()); - /* X valuator */ - xf86InitValuatorAxisStruct(pPointer, 0, 0, -1, 1, 0, 1); - xf86InitValuatorDefaults(pPointer, 0); - - /* Y valuator */ - xf86InitValuatorAxisStruct(pPointer, 1, 0, -1, 1, 0, 1); - xf86InitValuatorDefaults(pPointer, 1); - - xf86MotionHistoryAllocate(pInfo); - break; - - case DEVICE_ON: - pMse->lastButtons = 0; - pMse->emulateState = 0; - pPointer->public.on = TRUE; - XqMseOnOff (pInfo, 1); - break; - - case DEVICE_CLOSE: - case DEVICE_OFF: - pPointer->public.on = FALSE; - XqMseOnOff (pInfo, 0); - break; - } - return Success; -} - -static Bool -OsMousePreInit(InputInfoPtr pInfo, const char *protocol, int flags) -{ - MouseDevPtr pMse; - - pMse = pInfo->private; - pMse->protocol = protocol; - xf86Msg(X_CONFIG, "%s: Protocol: %s\n", pInfo->name, protocol); - - /* Collect the options, and process the common options. */ - xf86CollectInputOptions(pInfo, NULL, NULL); - xf86ProcessCommonOptions(pInfo, pInfo->options); - - pInfo->fd = -1; -#if 0 - /* Make sure we can open the mouse */ - pInfo->fd = open ("/dev/mouse", O_RDONLY | O_NONBLOCK); - - if (pInfo->fd < 0) { - if (xf86GetAllowMouseOpenFail()) { - xf86Msg(X_WARNING, "%s: cannot open /dev/mouse (%s)\n", - pInfo->name, strerror(errno)); - } else { - xf86Msg(X_ERROR, "%s: cannot open /dev/mouse (%s)\n", - pInfo->name, strerror(errno)); - xfree(pMse); - return FALSE; - } - } -#endif - - /* Process common mouse options (like Emulate3Buttons, etc). */ - pMse->CommonOptions(pInfo); - - /* Setup the local procs. */ - pInfo->device_control = OsMouseProc; - pInfo->read_input = NULL; - - pInfo->flags |= XI86_CONFIGURED; - return TRUE; -} - -_X_EXPORT OSMouseInfoPtr -xf86OSMouseInit(int flags) -{ - OSMouseInfoPtr p; - - p = xcalloc(sizeof(OSMouseInfoRec), 1); - if (!p) - return NULL; - - p->SupportedInterfaces = SupportedInterfaces; - p->BuiltinNames = BuiltinNames; - p->DefaultProtocol = DefaultProtocol; - p->CheckProtocol = CheckProtocol; - p->PreInit = OsMousePreInit; - return p; -} - diff --git a/xorg-server/hw/xfree86/os-support/usl/usl_video.c b/xorg-server/hw/xfree86/os-support/usl/usl_video.c deleted file mode 100644 index 41abd2259..000000000 --- a/xorg-server/hw/xfree86/os-support/usl/usl_video.c +++ /dev/null @@ -1,109 +0,0 @@ -/* - * Copyrught 2005 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 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. - * - */ - -#include "X.h" - -#define _NEED_SYSI86 -#include "xf86.h" -#include "xf86Priv.h" -#include "xf86_OSlib.h" -#include "xf86OSpriv.h" - -#ifndef MAP_FAILED -#define MAP_FAILED ((void *)-1) -#endif - -static Bool -linearVidMem(void) -{ - return TRUE; -} - -static pointer -mapVidMem(int ScreenNum, unsigned long Base, unsigned long Size, int flags) -{ - pointer base; - int fd; - - fd = open(DEV_MEM, (flags & VIDMEM_READONLY) ? O_RDONLY : O_RDWR); - if (fd < 0) { - FatalError("xf86MapVidMem: failed to open %s (%s)\n", - DEV_MEM, strerror(errno)); - } - base = mmap((caddr_t)0, Size, (flags & VIDMEM_READONLY) ? - PROT_READ : (PROT_READ | PROT_WRITE), - MAP_SHARED, fd, (off_t)Base); - close(fd); - - if (base == MAP_FAILED) { - FatalError("%s: Could not mmap framebuffer [s=%x,a=%x] (%s)\n", - "xf86MapVidMem", Size, Base, strerror(errno)); - } - return(base); -} - -/* ARGSUSED */ -static void -unmapVidMem(int ScreenNum, pointer Base, unsigned long Size) -{ - munmap(Base, Size); -} - -/* - * For some SVR4 versions, a 32-bit read is done for the first location - * in each page when the page is first mapped. If this is done while - * memory access is enabled for regions that have read side-effects, - * this can cause unexpected results, including lockups on some hardware. - * This function is called to make sure each page is mapped while it is - * safe to do so. - */ - -#define X_PAGE_SIZE 4096 - -static void -readSideEffects(int ScreenNum, pointer Base, unsigned long Size) -{ - unsigned long base, end, addr; - CARD32 val; - - base = (unsigned long)Base; - end = base + Size; - - for (addr = base; addr < end; addr += X_PAGE_SIZE) - val = *(volatile CARD32 *)addr; -} - -void -xf86OSInitVidMem(VidMemInfoPtr pVidMem) -{ - pVidMem->linearSupported = linearVidMem(); - pVidMem->mapMem = mapVidMem; - pVidMem->unmapMem = unmapVidMem; - pVidMem->readSideEffects = readSideEffects; - pVidMem->initialised = TRUE; -} - diff --git a/xorg-server/hw/xfree86/os-support/usl/usl_vtsw.c b/xorg-server/hw/xfree86/os-support/usl/usl_vtsw.c deleted file mode 100644 index 812e5bddb..000000000 --- a/xorg-server/hw/xfree86/os-support/usl/usl_vtsw.c +++ /dev/null @@ -1,95 +0,0 @@ -/* - * Copyright 2005 by Kean Johnston - * Copyright 1993 by David Wexelblat - * 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. - * - */ - -#include "X.h" - -#include "xf86.h" -#include "xf86Priv.h" -#include "xf86_OSlib.h" - -/* - * Handle the VT-switching interface for SCO UnixWare / OpenServer 6 - */ - -/* - * This function is the signal handler for the VT-switching signal. It - * is only referenced inside the OS-support layer. NOTE: we do NOT need - * to re-arm the signal here, since we used sigaction() to set the signal - * disposition in usl_init.c. If we had used signal(), we would need to - * re-arm the signal here. All we need to do now is record the fact that - * we got the signal. XFree86 handles the rest. - */ -void -xf86VTRequest(int sig) -{ - xf86Info.vtRequestsPending = TRUE; - return; -} - -Bool -xf86VTSwitchPending(void) -{ - return(xf86Info.vtRequestsPending ? TRUE : FALSE); -} - -static int usl_ledstatus = -1; -static unsigned int usl_ledstate = 0; - -Bool -xf86VTSwitchAway(void) -{ - usl_ledstatus = ioctl(xf86Info.consoleFd, KDGETLED, &usl_ledstate); - - xf86Info.vtRequestsPending = FALSE; - if (ioctl(xf86Info.consoleFd, VT_RELDISP, 1) < 0) { - return(FALSE); - } else { - return(TRUE); - } -} - -Bool -xf86VTSwitchTo(void) -{ - xf86Info.vtRequestsPending = FALSE; - if (ioctl(xf86Info.consoleFd, VT_RELDISP, VT_ACKACQ) < 0) { - return(FALSE); - } else { - if (usl_ledstatus >= 0) { - ioctl (xf86Info.consoleFd, KDSETLED, usl_ledstate); - } - usl_ledstatus = -1; - - /* - * Convince the console driver this screen is in graphics mode, - * otherwise it assumes it can do more to the screen than it should. - */ - if (ioctl(xf86Info.consoleFd, KDSETMODE, KD_GRAPHICS) < 0) { - ErrorF("Failed to set graphics mode (%s)\n", strerror(errno)); - } - - return TRUE; - } -} diff --git a/xorg-server/hw/xfree86/os-support/xf86OSmouse.h b/xorg-server/hw/xfree86/os-support/xf86OSmouse.h deleted file mode 100644 index 600683866..000000000 --- a/xorg-server/hw/xfree86/os-support/xf86OSmouse.h +++ /dev/null @@ -1,294 +0,0 @@ -/* - * Copyright (c) 1999-2003 by The XFree86 Project, 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 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). - */ - -/* Public interface to OS-specific mouse support. */ - -#ifndef _XF86OSMOUSE_H_ -#define _XF86OSMOUSE_H_ - -#include "xf86Xinput.h" - -/* Mouse interface classes */ -#define MSE_NONE 0x00 -#define MSE_SERIAL 0x01 /* serial port */ -#define MSE_BUS 0x02 /* old bus mouse */ -#define MSE_PS2 0x04 /* standard read-only PS/2 */ -#define MSE_XPS2 0x08 /* extended PS/2 */ -#define MSE_AUTO 0x10 /* auto-detect (PnP) */ -#define MSE_MISC 0x20 /* The OS layer will identify the - * specific protocol names that are - * supported for this class. */ - -/* Mouse Protocol IDs. */ -typedef enum { - PROT_UNKNOWN = -2, - PROT_UNSUP = -1, /* protocol is not supported */ - PROT_MS = 0, - PROT_MSC, - PROT_MM, - PROT_LOGI, - PROT_LOGIMAN, - PROT_MMHIT, - PROT_GLIDE, - PROT_IMSERIAL, - PROT_THINKING, - PROT_ACECAD, - PROT_VALUMOUSESCROLL, - PROT_PS2, - PROT_GENPS2, - PROT_IMPS2, - PROT_EXPPS2, - PROT_THINKPS2, - PROT_MMPS2, - PROT_GLIDEPS2, - PROT_NETPS2, - PROT_NETSCPS2, - PROT_BM, - PROT_AUTO, - PROT_SYSMOUSE, - PROT_NUMPROTOS /* This must always be last. */ -} MouseProtocolID; - -struct _MouseDevRec; - -typedef int (*GetInterfaceTypesProc)(void); -typedef const char **(*BuiltinNamesProc)(void); -typedef Bool (*CheckProtocolProc)(const char *protocol); -typedef Bool (*BuiltinPreInitProc)(InputInfoPtr pInfo, const char *protocol, - int flags); -typedef const char *(*DefaultProtocolProc)(void); -typedef const char *(*SetupAutoProc)(InputInfoPtr pInfo, int *protoPara); -typedef void (*SetResProc)(InputInfoPtr pInfo, const char* protocol, int rate, - int res); -typedef const char *(*FindDeviceProc)(InputInfoPtr pInfo, const char *protocol, - int flags); -typedef const char *(*GuessProtocolProc)(InputInfoPtr pInfo, int flags); - -/* - * OSMouseInfoRec is used to pass information from the OSMouse layer to the - * OS-independent mouse driver. - */ -typedef struct { - GetInterfaceTypesProc SupportedInterfaces; - BuiltinNamesProc BuiltinNames; - CheckProtocolProc CheckProtocol; - BuiltinPreInitProc PreInit; - DefaultProtocolProc DefaultProtocol; - SetupAutoProc SetupAuto; - SetResProc SetPS2Res; - SetResProc SetBMRes; - SetResProc SetMiscRes; - FindDeviceProc FindDevice; - GuessProtocolProc GuessProtocol; -} OSMouseInfoRec, *OSMouseInfoPtr; - -/* - * SupportedInterfaces: Returns the mouse interface types that the OS support. - * If MSE_MISC is returned, then the BuiltinNames and - * CheckProtocol should be set. - * - * BuiltinNames: Returns the names of the protocols that are fully handled - * in the OS-specific code. These are names that don't appear - * directly in the main "mouse" driver. - * - * CheckProtocol: Checks if the protocol name given is supported by the - * OS. It should return TRUE for both "builtin" protocols and - * protocols of type MSE_MISC that are supported by the OS. - * - * PreInit: The PreInit function for protocols that are builtin. This - * function is passed the protocol name. - * - * DefaultProtocol: Returns the name of a default protocol that should be used - * for the OS when none has been supplied in the config file. - * This should only be set when there is a reasonable default. - * - * SetupAuto: This function can be used to do OS-specific protocol - * auto-detection. It returns the name of the detected protocol, - * or NULL when detection fails. It may also adjust one or more - * of the "protoPara" values for the detected protocol by setting - * then to something other than -1. SetupAuto gets called in two - * ways. The first is before any devices have been opened. This - * can be used when the protocol "Auto" always maps to a single - * protocol type. The second is with the device open, allowing - * OS-specific probing to be done. - * - * SetPS2Res: Set the resolution and sample rate for MSE_PS2 and MSE_XPS2 - * protocol types. - * - * SetBMRes: Set the resolution and sample rate for MSE_BM protocol types. - * - * SetMiscRes: Set the resolution and sample rate for MSE_MISC protocol types. - * - * FindDevice: This function gets called when no Device has been specified - * in the config file. OS-specific methods may be used to guess - * which input device to use. This function is called after the - * pre-open attempts at protocol discovery are done, but before - * the device is open. I.e., after the first SetupAuto() call, - * after the DefaultProtocol() call, but before the PreInit() - * call. Available protocol information may be used in locating - * the default input device. - * - * GuessProtocol: A last resort attempt at guessing the mouse protocol by - * whatever OS-specific means might be available. OS-independent - * things should be in the mouse driver. This function gets - * called after the mouse driver's OS-independent methods have - * failed. - */ - -extern OSMouseInfoPtr xf86OSMouseInit(int flags); - -/* Adjust this when the mouse interface changes. */ - -/* - * History: - * - * 1.0.0 - Everything up to when versioning was started. - * 1.1.0 - FindDevice and GuessProtocol added to OSMouseInfoRec - * 1.2.0 - xisbscale added to MouseDevRec - * - */ - -#define OS_MOUSE_VERSION_MAJOR 1 -#define OS_MOUSE_VERSION_MINOR 2 -#define OS_MOUSE_VERSION_PATCH 0 - -#define OS_MOUSE_VERSION_CURRENT \ - BUILTIN_INTERFACE_VERSION_NUMERIC(OS_MOUSE_VERSION_MAJOR, \ - OS_MOUSE_VERSION_MINOR, \ - OS_MOUSE_VERSION_PATCH) - -#define HAVE_GUESS_PROTOCOL \ - (xf86GetBuiltinInterfaceVersion(BUILTIN_IF_OSMOUSE, 0) >= \ - BUILTIN_INTERFACE_VERSION_NUMERIC(1, 1, 0)) - -#define HAVE_FIND_DEVICE \ - (xf86GetBuiltinInterfaceVersion(BUILTIN_IF_OSMOUSE, 0) >= \ - BUILTIN_INTERFACE_VERSION_NUMERIC(1, 1, 0)) - -/* Z axis mapping */ -#define MSE_NOZMAP 0 -#define MSE_MAPTOX -1 -#define MSE_MAPTOY -2 -#define MSE_MAPTOZ -3 -#define MSE_MAPTOW -4 - -/* Generalize for other axes. */ -#define MSE_NOAXISMAP MSE_NOZMAP - -#define MSE_MAXBUTTONS 24 -#define MSE_DFLTBUTTONS 3 - -/* - * Mouse device record. This is shared by the mouse driver and the OSMouse - * layer. - */ - -typedef void (*checkMovementsProc)(InputInfoPtr,int, int); -typedef void (*autoProbeProc)(InputInfoPtr, Bool, Bool); -typedef Bool (*collectDataProc)(struct _MouseDevRec *, unsigned char); -typedef Bool (*dataGoodProc)(struct _MouseDevRec *); - -typedef void (*PostMseEventProc)(InputInfoPtr pInfo, int buttons, - int dx, int dy, int dz, int dw); -typedef void (*MouseCommonOptProc)(InputInfoPtr pInfo); - -typedef struct _MouseDevRec { - PtrCtrlProcPtr Ctrl; - PostMseEventProc PostEvent; - MouseCommonOptProc CommonOptions; - DeviceIntPtr device; - const char * mseDevice; - const char * protocol; - MouseProtocolID protocolID; - MouseProtocolID oldProtocolID; /* hack */ - int class; - int mseModel; - int baudRate; - int oldBaudRate; - int sampleRate; - int lastButtons; - int threshold; /* acceleration */ - int num; - int den; - int buttons; /* # of buttons */ - int emulateState; /* automata state for 2 button mode */ - Bool emulate3Buttons; - Bool emulate3ButtonsSoft; - int emulate3Timeout;/* Timeout for 3 button emulation */ - Bool chordMiddle; - Bool flipXY; - int invX; - int invY; - int mouseFlags; /* Flags to Clear after opening - * mouse dev */ - int truebuttons; /* (not used) - * Arg to maintain before - * emulate3buttons timer callback */ - int resolution; - int negativeZ; /* button mask */ - int positiveZ; /* button mask */ - int negativeW; /* button mask */ - int positiveW; /* button mask */ - pointer buffer; /* usually an XISBuffer* */ - int protoBufTail; - unsigned char protoBuf[8]; - unsigned char protoPara[8]; - unsigned char inSync; /* driver in sync with datastream */ - pointer mousePriv; /* private area */ - InputInfoPtr pInfo; - int origProtocolID; - const char * origProtocol; - Bool emulate3Pending;/* timer waiting */ - CARD32 emulate3Expires;/* time to fire emulation code */ - Bool emulateWheel; - int wheelInertia; - int wheelButton; - int negativeX; /* Button values. Unlike the Z and */ - int positiveX; /* W equivalents, these are button */ - int negativeY; /* values rather than button masks. */ - int positiveY; - int wheelYDistance; - int wheelXDistance; - Bool autoProbe; - checkMovementsProc checkMovements; - autoProbeProc autoProbeMouse; - collectDataProc collectData; - dataGoodProc dataGood; - int angleOffset; - pointer pDragLock; /* drag lock area */ - int xisbscale; /* buffer size for 1 event */ - int wheelButtonTimeout;/* Timeout for the wheel button emulation */ - CARD32 wheelButtonExpires; - int doubleClickSourceButtonMask; - int doubleClickTargetButton; - int doubleClickTargetButtonMask; - int doubleClickOldSourceState; - int lastMappedButtons; - int buttonMap[MSE_MAXBUTTONS]; -} MouseDevRec, *MouseDevPtr; - -#endif /* _XF86OSMOUSE_H_ */ diff --git a/xorg-server/hw/xfree86/os-support/xf86_OSlib.h b/xorg-server/hw/xfree86/os-support/xf86_OSlib.h index aba47581f..48d922301 100644 --- a/xorg-server/hw/xfree86/os-support/xf86_OSlib.h +++ b/xorg-server/hw/xfree86/os-support/xf86_OSlib.h @@ -84,7 +84,6 @@ /* SYSV386 (SVR3, SVR4), including Solaris */ /**************************************************************************/ #if (defined(SYSV) || defined(SVR4)) && \ - !defined(DGUX) && !defined(sgi) && \ (defined(sun) || defined(__i386__)) # ifdef SCO325 # ifndef _SVID3 @@ -99,16 +98,10 @@ # include # include # include -# if defined(__SCO__) || defined(ISC) +# if defined(__SCO__) # include # endif -# ifdef ISC -# define TIOCMSET (TIOC|26) /* set all modem bits */ -# define TIOCMBIS (TIOC|27) /* bis modem bits */ -# define TIOCMBIC (TIOC|28) /* bic modem bits */ -# define TIOCMGET (TIOC|29) /* get all modem bits */ -# endif # include @@ -204,90 +197,13 @@ # define POSIX_TTY # endif /* SVR4 */ -# ifdef ISC -# include -# define POSIX_TTY -# endif # if defined(sun) && (defined (__i386__) || defined(__i386)) && defined (SVR4) && !defined(__SOL8__) # define USE_VT_SYSREQ # define VT_SYSREQ_DEFAULT TRUE # endif -# ifdef SYSV -# if !defined(ISC) || defined(ISC202) || defined(ISC22) -# define NEED_STRERROR -# endif -# endif - -#endif /* (SYSV || SVR4) && !DGUX */ - - - -/**************************************************************************/ -/* DG/ux R4.20MU03 Intel AViion Machines */ -/**************************************************************************/ -#if defined(DGUX) && defined(SVR4) -#include -#include -#include -#include /* Use termios for BSD Flavor ttys */ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include /* Memory handling */ -#include /* definitios for KDENABIO KDDISABIO needed for IOPL s */ -#include -#include -#include -#include -#include - -#include -#include -#include -#include - - -#define POSIX_TTY - -#undef HAS_USL_VTS -#undef USE_VT_SYSREQ -#undef VT_ACKACQ - -#define LED_CAP KBD_LED_CAPS_LOCK -#define LED_NUM KBD_LED_NUM_LOCK -#define LED_SCR KBD_LED_SCROLL_LOCK - -#define KDGKBTYPE KBD_GET_LANGUAGE - - -/* General keyboard types */ -# define KB_84 2 -# define KB_101 1 /* Because ioctl(dgkeybdFd,KBD_GET_LANGUAGE,&type) gives 1=US keyboard */ -# define KB_OTHER 3 - -#define KDSETLED KBD_SET_LED -#define KDGETLED KBD_GET_STATE -#undef KDMKTONE -#define KDMKTONE KBD_TONE_HIGH - - -#undef DEV_MEM -#define DEV_MEM "/dev/mem" -#define CLEARDTR_SUPPORT - -#undef VT_SYSREQ_DEFAULT -#define VT_SYSREQ_DEFAULT FALSE /* Make sure that we dont define any VTs since DG/ux has none */ - -#endif /* DGUX && SVR4 */ +#endif /* (SYSV || SVR4) */ /**************************************************************************/ /* Linux or Glibc-based system */ @@ -299,10 +215,6 @@ # include # include -#ifdef __GNU__ /* GNU/Hurd */ -# define USE_OSMOUSE -#endif - # ifdef __linux__ # include # else /* __GLIBC__ */ @@ -332,46 +244,6 @@ #endif /* __linux__ || __GLIBC__ */ -/**************************************************************************/ -/* LynxOS AT */ -/**************************************************************************/ -#if defined(Lynx) - -# include -# include -# include -# include -# include -# include -# include - -# include -extern int errno; - -/* smem_create et.al. to access physical memory */ -# include - -/* keyboard types */ -# define KB_84 1 -# define KB_101 2 -# define KB_OTHER 3 - -/* atc drivers ignores argument to VT_RELDISP ioctl */ -# define VT_ACKACQ 2 - -# include -# define POSIX_TTY -# define CLEARDTR_SUPPORT - -/* LynxOS 2.5.1 has these */ -# ifdef LED_NUMLOCK -# define LED_CAP LED_CAPSLOCK -# define LED_NUM LED_NUMLOCK -# define LED_SCR LED_SCROLLOCK -# endif - -#endif /* Lynx */ - /**************************************************************************/ /* 386BSD and derivatives, BSD/386 */ /**************************************************************************/ @@ -526,85 +398,9 @@ extern int errno; #endif /* __FreeBSD_kernel__ || __NetBSD__ || __OpenBSD__ || __bsdi__ */ -/**************************************************************************/ -/* QNX4 */ -/**************************************************************************/ -/* This is the QNX code for Watcom 10.6 and QNX 4.x */ -#if defined(QNX4) -#include -#include -#include -#include -#include -#include - -/* Warning: by default, the fd_set size is 32 in QNX! */ -#define FD_SETSIZE 256 -#include - - /* keyboard types */ -# define KB_84 1 -# define KB_101 2 -# define KB_OTHER 3 - - /* LEDs */ -# define LED_CAP 0x04 -# define LED_NUM 0x02 -# define LED_SCR 0x01 - -# define POSIX_TTY -# define OSMOUSE_ONLY -# define MOUSE_PROTOCOL_IN_KERNEL - -#define TIOCM_DTR 0x0001 /* data terminal ready */ -#define TIOCM_RTS 0x0002 /* request to send */ -#define TIOCM_CTS 0x1000 /* clear to send */ -#define TIOCM_DSR 0x2000 /* data set ready */ -#define TIOCM_RI 0x4000 /* ring */ -#define TIOCM_RNG TIOCM_RI -#define TIOCM_CD 0x8000 /* carrier detect */ -#define TIOCM_CAR TIOCM_CD -#define TIOCM_LE 0x0100 /* line enable */ -#define TIOCM_ST 0x0200 /* secondary transmit */ -#define TIOCM_SR 0x0400 /* secondary receive */ - -#endif - -/**************************************************************************/ -/* QNX/Neutrino */ -/**************************************************************************/ -/* This is the Neutrino code for for NTO2.0 and GCC */ -#if defined(__QNXNTO__) -#include -#include -#include -#include -#include -#include - -/* Warning: by default, the fd_set size is 32 in NTO! */ -#define FD_SETSIZE 256 -#include - - /* keyboard types */ -# define KB_84 1 -# define KB_101 2 -# define KB_OTHER 3 - -# define POSIX_TTY - -#endif - /**************************************************************************/ /* IRIX */ /**************************************************************************/ -#if defined(sgi) - -#include -#include -#include - -#endif /**************************************************************************/ /* Generic */ @@ -624,15 +420,14 @@ extern int errno; # define MAXHOSTNAMELEN 32 #endif /* !MAXHOSTNAMELEN */ -#if !defined(X_NOT_POSIX) -# if defined(_POSIX_SOURCE) -# include -# else -# define _POSIX_SOURCE -# include -# undef _POSIX_SOURCE -# endif /* _POSIX_SOURCE */ -#endif /* !X_NOT_POSIX */ +#if defined(_POSIX_SOURCE) +# include +#else +# define _POSIX_SOURCE +# include +# undef _POSIX_SOURCE +#endif /* _POSIX_SOURCE */ + #if !defined(PATH_MAX) # if defined(MAXPATHLEN) # define PATH_MAX MAXPATHLEN @@ -641,21 +436,6 @@ extern int errno; # endif /* MAXPATHLEN */ #endif /* !PATH_MAX */ -#ifdef NEED_STRERROR -# ifndef strerror -extern char *sys_errlist[]; -extern int sys_nerr; -# define strerror(n) \ - ((n) >= 0 && (n) < sys_nerr) ? sys_errlist[n] : "unknown error" -# endif /* !strerror */ -#endif /* NEED_STRERROR */ - -#if defined(ISC) || defined(Lynx) -#define rint(x) RInt(x) -double RInt( - double x -); -#endif #ifndef DEV_MEM #define DEV_MEM "/dev/mem" @@ -665,12 +445,6 @@ double RInt( #define VT_SYSREQ_DEFAULT FALSE #endif -#ifdef OSMOUSE_ONLY -# ifndef MOUSE_PROTOCOL_IN_KERNEL -# define MOUSE_PROTOCOL_IN_KERNEL -# endif -#endif - #define SYSCALL(call) while(((call) == -1) && (errno == EINTR)) #define XF86_OS_PRIVS diff --git a/xorg-server/hw/xfree86/os-support/xf86_OSproc.h b/xorg-server/hw/xfree86/os-support/xf86_OSproc.h index abf5a47c2..b4513d65f 100644 --- a/xorg-server/hw/xfree86/os-support/xf86_OSproc.h +++ b/xorg-server/hw/xfree86/os-support/xf86_OSproc.h @@ -146,18 +146,11 @@ extern void xf86MapReadSideEffects(int, int, pointer, unsigned long); extern int xf86ReadBIOS(unsigned long, unsigned long, unsigned char *, int); extern Bool xf86EnableIO(void); extern void xf86DisableIO(void); -extern Bool xf86DisableInterrupts(void); -extern void xf86EnableInterrupts(void); extern void xf86SetTVOut(int); extern void xf86SetRGBOut(void); extern void xf86OSRingBell(int, int, int); -#if defined(QNX4) -#pragma aux xf86BusToMem modify [eax ebx ecx edx esi edi]; -#pragma aux xf86MemToBus modify [eax ebx ecx edx esi edi]; -#endif extern void xf86BusToMem(unsigned char *, unsigned char *, int); extern void xf86MemToBus(unsigned char *, unsigned char *, int); -extern void xf86IODelay(void); extern void xf86UDelay(long usec); extern void xf86SetReallySlowBcopy(void); extern void xf86SlowBcopy(unsigned char *, unsigned char *, int); diff --git a/xorg-server/hw/xfree86/parser/Configint.h b/xorg-server/hw/xfree86/parser/Configint.h index 684a001fc..815c1a376 100644 --- a/xorg-server/hw/xfree86/parser/Configint.h +++ b/xorg-server/hw/xfree86/parser/Configint.h @@ -100,12 +100,10 @@ LexRec, *LexPtr; #define TestFree(a) if (a) { xf86conffree (a); a = NULL; } #define parsePrologue(typeptr,typerec) typeptr ptr; \ -if( (ptr=(typeptr)xf86confcalloc(1,sizeof(typerec))) == NULL ) { return NULL; } \ -memset(ptr,0,sizeof(typerec)); +if( (ptr=(typeptr)xf86confcalloc(1,sizeof(typerec))) == NULL ) { return NULL; } #define parsePrologueVoid(typeptr,typerec) int token; typeptr ptr; \ -if( (ptr=(typeptr)xf86confcalloc(1,sizeof(typerec))) == NULL ) { return; } \ -memset(ptr,0,sizeof(typerec)); +if( (ptr=(typeptr)xf86confcalloc(1,sizeof(typerec))) == NULL ) { return; } #define HANDLE_RETURN(f,func)\ if ((ptr->f=func) == NULL)\ diff --git a/xorg-server/hw/xfree86/parser/Files.c b/xorg-server/hw/xfree86/parser/Files.c index 3777432b1..c3523024d 100644 --- a/xorg-server/hw/xfree86/parser/Files.c +++ b/xorg-server/hw/xfree86/parser/Files.c @@ -72,6 +72,9 @@ static xf86ConfigSymTabRec FilesTab[] = {MODULEPATH, "modulepath"}, {INPUTDEVICES, "inputdevices"}, {LOGFILEPATH, "logfile"}, + {XKBDIR, "xkbdir"}, + /* Obsolete keywords that aren't used but shouldn't cause errors: */ + {OBSOLETE_TOKEN, "rgbpath"}, {-1, ""}, }; @@ -180,9 +183,18 @@ xf86parseFilesSection (void) Error (QUOTE_MSG, "LogFile"); ptr->file_logfile = val.str; break; + case XKBDIR: + if (xf86getSubToken (&(ptr->file_xkbdir)) != STRING) + Error (QUOTE_MSG, "XkbDir"); + ptr->file_xkbdir = val.str; + break; case EOF_TOKEN: Error (UNEXPECTED_EOF_MSG, NULL); break; + case OBSOLETE_TOKEN: + xf86parseError (OBSOLETE_MSG, xf86tokenString ()); + xf86getSubToken (&(ptr->file_comment)); + break; default: Error (INVALID_KEYWORD_MSG, xf86tokenString ()); break; @@ -255,6 +267,8 @@ xf86printFileSection (FILE * cf, XF86ConfFilesPtr ptr) } fprintf (cf, "\tFontPath \"%s\"\n", s); } + if (ptr->file_xkbdir) + fprintf (cf, "\tXkbDir \"%s\"\n", ptr->file_xkbdir); } void @@ -268,6 +282,7 @@ xf86freeFiles (XF86ConfFilesPtr p) TestFree (p->file_inputdevs); TestFree (p->file_fontpath); TestFree (p->file_comment); + TestFree (p->file_xkbdir); xf86conffree (p); } diff --git a/xorg-server/hw/xfree86/parser/Makefile.am b/xorg-server/hw/xfree86/parser/Makefile.am index 849ee8bab..6ed181461 100644 --- a/xorg-server/hw/xfree86/parser/Makefile.am +++ b/xorg-server/hw/xfree86/parser/Makefile.am @@ -32,10 +32,7 @@ EXTRA_DIST = \ configProcs.h \ xf86Optrec.h \ xf86Parser.h \ - xf86tokens.h \ - cpconfig.c + xf86tokens.h sdk_HEADERS = \ - $(LIBHEADERS) \ - xf86Parser.h \ - xf86Optrec.h + $(LIBHEADERS) diff --git a/xorg-server/hw/xfree86/parser/Makefile.in b/xorg-server/hw/xfree86/parser/Makefile.in index 1298ecdbc..ce3156ec1 100644 --- a/xorg-server/hw/xfree86/parser/Makefile.in +++ b/xorg-server/hw/xfree86/parser/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -45,7 +45,6 @@ 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 \ @@ -75,9 +74,6 @@ 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) \ @@ -95,8 +91,9 @@ ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ -APPDEFAULTDIR = @APPDEFAULTDIR@ APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +APPLE_APPLICATION_ID = @APPLE_APPLICATION_ID@ +APPLE_APPLICATION_NAME = @APPLE_APPLICATION_NAME@ APP_MAN_DIR = @APP_MAN_DIR@ APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ AR = @AR@ @@ -117,10 +114,6 @@ 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@ @@ -142,6 +135,7 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOLT_BASH = @DOLT_BASH@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ @@ -151,18 +145,15 @@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ DSYMUTIL = @DSYMUTIL@ DTRACE = @DTRACE@ -ECHO = @ECHO@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ -FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ -FREETYPE_LIBS = @FREETYPE_LIBS@ GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ GLX_DEFINES = @GLX_DEFINES@ GL_CFLAGS = @GL_CFLAGS@ @@ -181,7 +172,7 @@ KDRIVE_LIBS = @KDRIVE_LIBS@ KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ -LAUNCHD = @LAUNCHD@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ LEX = @LEX@ @@ -195,7 +186,10 @@ LIBTOOL = @LIBTOOL@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LINUXDOC = @LINUXDOC@ +LIPO = @LIPO@ LN_S = @LN_S@ +LTCOMPILE = @LTCOMPILE@ +LTCXXCOMPILE = @LTCXXCOMPILE@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ @@ -207,8 +201,7 @@ MESA_SOURCE = @MESA_SOURCE@ MISC_MAN_DIR = @MISC_MAN_DIR@ MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ MKDIR_P = @MKDIR_P@ -MKFONTDIR = @MKFONTDIR@ -MKFONTSCALE = @MKFONTSCALE@ +NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCCLD = @OBJCCLD@ @@ -217,8 +210,8 @@ OBJCFLAGS = @OBJCFLAGS@ OBJCLINK = @OBJCLINK@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ @@ -251,7 +244,6 @@ VENDOR_NAME = @VENDOR_NAME@ VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ VENDOR_RELEASE = @VENDOR_RELEASE@ VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ XDMCP_CFLAGS = @XDMCP_CFLAGS@ @@ -261,27 +253,12 @@ XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@ XDMX_CFLAGS = @XDMX_CFLAGS@ XDMX_LIBS = @XDMX_LIBS@ XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ XEPHYR_INCS = @XEPHYR_INCS@ XEPHYR_LIBS = @XEPHYR_LIBS@ 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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ @@ -292,10 +269,6 @@ XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ XNEST_LIBS = @XNEST_LIBS@ XNEST_SYS_LIBS = @XNEST_SYS_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_INCS = @XORG_INCS@ XORG_LIBS = @XORG_LIBS@ @@ -304,13 +277,8 @@ XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ XORG_OS = @XORG_OS@ XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_LIBS@ +XPBPROXY_CFLAGS = @XPBPROXY_CFLAGS@ +XPBPROXY_LIBS = @XPBPROXY_LIBS@ XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ XSDL_INCS = @XSDL_INCS@ @@ -343,8 +311,7 @@ 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@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -364,7 +331,6 @@ driverdir = @driverdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ extdir = @extdir@ -ft_config = @ft_config@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ @@ -374,12 +340,12 @@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ -launchagentsdir = @launchagentsdir@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ logdir = @logdir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ moduledir = @moduledir@ @@ -397,8 +363,6 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ @INSTALL_LIBXF86CONFIG_TRUE@lib_LIBRARIES = libxf86config.a @INSTALL_LIBXF86CONFIG_TRUE@LIBHEADERS = \ @INSTALL_LIBXF86CONFIG_TRUE@ xf86Optrec.h \ @@ -429,13 +393,10 @@ EXTRA_DIST = \ configProcs.h \ xf86Optrec.h \ xf86Parser.h \ - xf86tokens.h \ - cpconfig.c + xf86tokens.h sdk_HEADERS = \ - $(LIBHEADERS) \ - xf86Parser.h \ - xf86Optrec.h + $(LIBHEADERS) all: all-am @@ -445,8 +406,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ @@ -579,7 +540,7 @@ ID: $(HEADERS) $(SOURCES) $(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; nonemtpy = 1; } \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS diff --git a/xorg-server/hw/xfree86/parser/cpconfig.c b/xorg-server/hw/xfree86/parser/cpconfig.c deleted file mode 100644 index 0347f7d2a..000000000 --- a/xorg-server/hw/xfree86/parser/cpconfig.c +++ /dev/null @@ -1,122 +0,0 @@ -/* - * - * 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. - * - */ - -/* View/edit this file with tab stops set to 4 */ - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include "xf86Parser.h" -#include "configProcs.h" - -#ifdef MALLOC_FUNCTIONS -void -xfree (void *p) -{ - free (p); - return; -} - -void * -xalloc (int size) -{ - return malloc (size); -} - -void * -xrealloc (void *p, int size) -{ - return realloc (p, size); -} - -#endif - -#define CONFPATH "%A,%R,/etc/X11/%R,%P/etc/X11/%R,%E,%F,/etc/X11/%F," \ - "%P/etc/X11/%F,/etc/X11/%X,/etc/%X,%P/etc/X11/%X.%H," \ - "%P/etc/X11/%X,%P/lib/X11/%X.%H,%P/lib/X11/%X" - -int -main (int argc, char *argv[]) -{ - const char *filename; - char *cmdline = NULL; - XF86ConfigPtr conf; - - if (argc > 1) - { - cmdline = argv[1]; - } - if ((filename = xf86openConfigFile (CONFPATH, cmdline, NULL))) - { - fprintf (stderr, "Opened %s for the config file\n", filename); - } - else - { - fprintf (stderr, "Unable to open config file\n"); - exit (1); - } - - if ((conf = xf86readConfigFile ()) == NULL) - { - fprintf (stderr, "Problem when parsing config file\n"); - } - else - { - fprintf (stderr, "Config file parsed OK\n"); - } - xf86closeConfigFile (); - - if (argc > 2) { - fprintf(stderr, "Writing config file to `%s'\n", argv[2]); - xf86writeConfigFile (argv[2], conf); - } - exit(0); -} - -/* Functions that the parser requires */ - -_X_EXPORT void -VErrorF(const char *f, va_list args) -{ - vfprintf(stderr, f, args); -} - -_X_EXPORT void -ErrorF(const char *f, ...) -{ - va_list args; - - va_start(args, f); - vfprintf(stderr, f, args); - va_end(args); -} diff --git a/xorg-server/hw/xfree86/parser/read.c b/xorg-server/hw/xfree86/parser/read.c index 430da0a5a..b044a6af8 100644 --- a/xorg-server/hw/xfree86/parser/read.c +++ b/xorg-server/hw/xfree86/parser/read.c @@ -100,7 +100,6 @@ xf86readConfigFile (void) { return NULL; } - memset (ptr, 0, sizeof (XF86ConfigRec)); while ((token = xf86getToken (TopLevelTab)) != EOF_TOKEN) { diff --git a/xorg-server/hw/xfree86/parser/scan.c b/xorg-server/hw/xfree86/parser/scan.c index 851b91161..7f10c0daa 100644 --- a/xorg-server/hw/xfree86/parser/scan.c +++ b/xorg-server/hw/xfree86/parser/scan.c @@ -66,7 +66,6 @@ #include #include -#if !defined(X_NOT_POSIX) #if defined(_POSIX_SOURCE) #include #else @@ -74,7 +73,7 @@ #include #undef _POSIX_SOURCE #endif /* _POSIX_SOURCE */ -#endif /* !X_NOT_POSIX */ + #if !defined(PATH_MAX) #if defined(MAXPATHLEN) #define PATH_MAX MAXPATHLEN @@ -436,7 +435,7 @@ again: i = 0; do { - configRBuf[++i] = (c = configBuf[configPos++]);; + configRBuf[++i] = (c = configBuf[configPos++]); } while ((c != ' ') && (c != '\t') && (c != '\n') && (c != '\r') && (c != '\0') && (c != '#')); --configPos; diff --git a/xorg-server/hw/xfree86/parser/write.c b/xorg-server/hw/xfree86/parser/write.c index 6589fdc72..3b77b9314 100644 --- a/xorg-server/hw/xfree86/parser/write.c +++ b/xorg-server/hw/xfree86/parser/write.c @@ -68,15 +68,6 @@ #include #include -#if ((defined(sun) && !defined(SVR4)) || defined(macII)) && !defined(__GLIBC__) -#ifndef strerror -extern char *sys_errlist[]; -extern int sys_nerr; -#define strerror(n) \ - (((n) >= 0 && (n) < sys_nerr) ? sys_errlist[n] : "unknown error") -#endif -#endif - #if defined(SVR4) || defined(__linux__) || defined(CSRG_BASED) #define HAS_SAVED_IDS_AND_SETEUID #endif diff --git a/xorg-server/hw/xfree86/parser/xf86Parser.h b/xorg-server/hw/xfree86/parser/xf86Parser.h index fd6cc530b..1c7b285c8 100644 --- a/xorg-server/hw/xfree86/parser/xf86Parser.h +++ b/xorg-server/hw/xfree86/parser/xf86Parser.h @@ -75,6 +75,7 @@ typedef struct char *file_inputdevs; char *file_fontpath; char *file_comment; + char *file_xkbdir; } XF86ConfFilesRec, *XF86ConfFilesPtr; diff --git a/xorg-server/hw/xfree86/parser/xf86tokens.h b/xorg-server/hw/xfree86/parser/xf86tokens.h index 6e4fdeab5..b2d23508d 100644 --- a/xorg-server/hw/xfree86/parser/xf86tokens.h +++ b/xorg-server/hw/xfree86/parser/xf86tokens.h @@ -70,6 +70,7 @@ typedef enum { /* errno-style tokens */ + OBSOLETE_TOKEN = -5, EOF_TOKEN = -4, LOCK_TOKEN = -3, ERROR_TOKEN = -2, @@ -100,6 +101,7 @@ typedef enum { MODULEPATH, INPUTDEVICES, LOGFILEPATH, + XKBDIR, /* Server Flag tokens. These are deprecated in favour of generic Options */ NOTRAPSIGNALS, diff --git a/xorg-server/hw/xfree86/rac/Makefile.am b/xorg-server/hw/xfree86/rac/Makefile.am deleted file mode 100644 index b25068271..000000000 --- a/xorg-server/hw/xfree86/rac/Makefile.am +++ /dev/null @@ -1,8 +0,0 @@ -noinst_LIBRARIES = librac.a -librac_a_SOURCES = xf86RAC.c - -sdk_HEADERS = xf86RAC.h - -INCLUDES = $(XORG_INCS) - -AM_CFLAGS = $(DIX_CFLAGS) $(XORG_CFLAGS) diff --git a/xorg-server/hw/xfree86/rac/Makefile.in b/xorg-server/hw/xfree86/rac/Makefile.in deleted file mode 100644 index 03a1c920b..000000000 --- a/xorg-server/hw/xfree86/rac/Makefile.in +++ /dev/null @@ -1,674 +0,0 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008 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 = hw/xfree86/rac -DIST_COMMON = $(sdk_HEADERS) $(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 -librac_a_AR = $(AR) $(ARFLAGS) -librac_a_LIBADD = -am_librac_a_OBJECTS = xf86RAC.$(OBJEXT) -librac_a_OBJECTS = $(am_librac_a_OBJECTS) -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include -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 = $(librac_a_SOURCES) -DIST_SOURCES = $(librac_a_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)$(sdkdir)" -sdkHEADERS_INSTALL = $(INSTALL_HEADER) -HEADERS = $(sdk_HEADERS) -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@ -DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ -DRI2PROTO_LIBS = @DRI2PROTO_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@ -DSYMUTIL = @DSYMUTIL@ -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@ -GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ -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@ -LAUNCHD = @LAUNCHD@ -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@ -NMEDIT = @NMEDIT@ -OBJC = @OBJC@ -OBJCCLD = @OBJCCLD@ -OBJCDEPMODE = @OBJCDEPMODE@ -OBJCFLAGS = @OBJCFLAGS@ -OBJCLINK = @OBJCLINK@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ -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@ -PCIACCESS_CFLAGS = @PCIACCESS_CFLAGS@ -PCIACCESS_LIBS = @PCIACCESS_LIBS@ -PCI_TXT_IDS_PATH = @PCI_TXT_IDS_PATH@ -PERL = @PERL@ -PKG_CONFIG = @PKG_CONFIG@ -PROJECTROOT = @PROJECTROOT@ -PS2PDF = @PS2PDF@ -RANLIB = @RANLIB@ -RAWCPP = @RAWCPP@ -RAWCPPFLAGS = @RAWCPPFLAGS@ -SED = @SED@ -SERVER_MISC_CONFIG_PATH = @SERVER_MISC_CONFIG_PATH@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ -SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ -STRIP = @STRIP@ -TSLIB_CFLAGS = @TSLIB_CFLAGS@ -TSLIB_LIBS = @TSLIB_LIBS@ -UTILS_SYS_LIBS = @UTILS_SYS_LIBS@ -VENDOR_MAN_VERSION = @VENDOR_MAN_VERSION@ -VENDOR_NAME = @VENDOR_NAME@ -VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ -VENDOR_RELEASE = @VENDOR_RELEASE@ -VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ -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_CFLAGS = @XDMX_CFLAGS@ -XDMX_LIBS = @XDMX_LIBS@ -XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ -XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ -XEPHYR_INCS = @XEPHYR_INCS@ -XEPHYR_LIBS = @XEPHYR_LIBS@ -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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ -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@ -XNEST_SYS_LIBS = @XNEST_SYS_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_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@ -XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_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@ -XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ -XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ -XTSTEXAMPLES_DEP_LIBS = @XTSTEXAMPLES_DEP_LIBS@ -XVFB_LIBS = @XVFB_LIBS@ -XVFB_SYS_LIBS = @XVFB_SYS_LIBS@ -XWINMODULES_CFLAGS = @XWINMODULES_CFLAGS@ -XWINMODULES_LIBS = @XWINMODULES_LIBS@ -XWIN_LIBS = @XWIN_LIBS@ -XWIN_SERVER_NAME = @XWIN_SERVER_NAME@ -XWIN_SYS_LIBS = @XWIN_SYS_LIBS@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -__XCONFIGFILE__ = @__XCONFIGFILE__@ -abi_ansic = @abi_ansic@ -abi_extension = @abi_extension@ -abi_font = @abi_font@ -abi_videodrv = @abi_videodrv@ -abi_xinput = @abi_xinput@ -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@ -launchagentsdir = @launchagentsdir@ -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_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ -noinst_LIBRARIES = librac.a -librac_a_SOURCES = xf86RAC.c -sdk_HEADERS = xf86RAC.h -INCLUDES = $(XORG_INCS) -AM_CFLAGS = $(DIX_CFLAGS) $(XORG_CFLAGS) -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/xfree86/rac/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign hw/xfree86/rac/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) -librac.a: $(librac_a_OBJECTS) $(librac_a_DEPENDENCIES) - -rm -f librac.a - $(librac_a_AR) librac.a $(librac_a_OBJECTS) $(librac_a_LIBADD) - $(RANLIB) librac.a - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xf86RAC.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-sdkHEADERS: $(sdk_HEADERS) - @$(NORMAL_INSTALL) - test -z "$(sdkdir)" || $(MKDIR_P) "$(DESTDIR)$(sdkdir)" - @list='$(sdk_HEADERS)'; for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f=$(am__strip_dir) \ - echo " $(sdkHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(sdkdir)/$$f'"; \ - $(sdkHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(sdkdir)/$$f"; \ - done - -uninstall-sdkHEADERS: - @$(NORMAL_UNINSTALL) - @list='$(sdk_HEADERS)'; for p in $$list; do \ - f=$(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(sdkdir)/$$f'"; \ - rm -f "$(DESTDIR)$(sdkdir)/$$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; nonemtpy = 1; } \ - END { if (nonempty) { 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; nonempty = 1; } \ - END { if (nonempty) { 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=; \ - 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; nonempty = 1; } \ - END { if (nonempty) { 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) $(HEADERS) -installdirs: - for dir in "$(DESTDIR)$(sdkdir)"; 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-sdkHEADERS - -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-sdkHEADERS - -.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-sdkHEADERS 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-sdkHEADERS - -# 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/xorg-server/hw/xfree86/rac/xf86RAC.c b/xorg-server/hw/xfree86/rac/xf86RAC.c deleted file mode 100644 index 8985f38b0..000000000 --- a/xorg-server/hw/xfree86/rac/xf86RAC.c +++ /dev/null @@ -1,1157 +0,0 @@ -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include "misc.h" -#include "xf86.h" -#include "xf86_OSproc.h" - -#include -#include "colormapst.h" -#include "scrnintstr.h" -#include "screenint.h" -#include "gcstruct.h" -#include "pixmapstr.h" -#include "pixmap.h" -#include "windowstr.h" -#include "window.h" -#include "xf86str.h" -#include "xf86RAC.h" -#include "mipointer.h" -#include "mipointrst.h" -#ifdef RENDER -# include "picturestr.h" -#endif - -#ifdef DEBUG -#define DPRINT_S(x,y) ErrorF(x ": %i\n",y); -#define DPRINT(x) ErrorF(x "\n"); -#else -#define DPRINT_S(x,y) -#define DPRINT(x) -#endif - -#define WRAP_SCREEN(x,y) {pScreenPriv->x = pScreen->x;\ - pScreen->x = y;} -#define WRAP_SCREEN_COND(x,y,cond) \ - {pScreenPriv->x = pScreen->x;\ - if (flag & (cond))\ - pScreen->x = y;} -#define UNWRAP_SCREEN(x) pScreen->x = pScreenPriv->x - -#define SCREEN_PROLOG(x) pScreen->x = ((RACScreenPtr) \ - dixLookupPrivate(&(pScreen)->devPrivates, RACScreenKey))->x -#define SCREEN_EPILOG(x,y) pScreen->x = y; - -#define WRAP_PICT_COND(x,y,cond) if (ps)\ - {pScreenPriv->x = ps->x;\ - if (flag & (cond))\ - ps->x = y;} -#define UNWRAP_PICT(x) if (ps) {ps->x = pScreenPriv->x;} - -#define PICTURE_PROLOGUE(field) ps->field = \ - ((RACScreenPtr)dixLookupPrivate(&(pScreen)->devPrivates, RACScreenKey))->field -#define PICTURE_EPILOGUE(field, wrap) \ - ps->field = wrap - -#define WRAP_SCREEN_INFO(x,y) {pScreenPriv->x = pScrn->x;\ - pScrn->x = y;} -#define WRAP_SCREEN_INFO_COND(x,y,cond) \ - {pScreenPriv->x = pScrn->x;\ - if (flag & (cond))\ - pScrn->x = y;} -#define UNWRAP_SCREEN_INFO(x) pScrn->x = pScreenPriv->x - -#define SPRITE_PROLOG miPointerScreenPtr PointPriv = \ - (miPointerScreenPtr)dixLookupPrivate(&pScreen->devPrivates, miPointerScreenKey); \ - RACScreenPtr pScreenPriv = \ - ((RACScreenPtr)dixLookupPrivate(&(pScreen)->devPrivates, RACScreenKey));\ - PointPriv->spriteFuncs = pScreenPriv->miSprite; -#define SPRITE_EPILOG pScreenPriv->miSprite = PointPriv->spriteFuncs;\ - PointPriv->spriteFuncs = &RACSpriteFuncs; -#define WRAP_SPRITE_COND(cond){pScreenPriv->miSprite = PointPriv->spriteFuncs;\ - if(flag & (cond))\ - PointPriv->spriteFuncs = &RACSpriteFuncs;} -#define UNWRAP_SPRITE PointPriv->spriteFuncs = pScreenPriv->miSprite - - -#define GC_WRAP(x) pGCPriv->wrapOps = (x)->ops;\ - pGCPriv->wrapFuncs = (x)->funcs;\ - (x)->ops = &RACGCOps;\ - (x)->funcs = &RACGCFuncs; -#define GC_UNWRAP(x)\ - RACGCPtr pGCPriv = (RACGCPtr)dixLookupPrivate(&(x)->devPrivates, RACGCKey);\ - (x)->ops = pGCPriv->wrapOps;\ - (x)->funcs = pGCPriv->wrapFuncs; - -#define GC_SCREEN register ScrnInfoPtr pScrn \ - = xf86Screens[pGC->pScreen->myNum] - -#define ENABLE xf86EnableAccess(xf86Screens[pScreen->myNum]) -#define ENABLE_GC xf86EnableAccess(xf86Screens[pGC->pScreen->myNum]) - -typedef struct _RACScreen { - CreateGCProcPtr CreateGC; - CloseScreenProcPtr CloseScreen; - GetImageProcPtr GetImage; - GetSpansProcPtr GetSpans; - SourceValidateProcPtr SourceValidate; - CopyWindowProcPtr CopyWindow; - ClearToBackgroundProcPtr ClearToBackground; - CreatePixmapProcPtr CreatePixmap; - SaveScreenProcPtr SaveScreen; - /* Colormap */ - StoreColorsProcPtr StoreColors; - /* Cursor */ - DisplayCursorProcPtr DisplayCursor; - RealizeCursorProcPtr RealizeCursor; - UnrealizeCursorProcPtr UnrealizeCursor; - RecolorCursorProcPtr RecolorCursor; - SetCursorPositionProcPtr SetCursorPosition; - void (*AdjustFrame)(int,int,int,int); - Bool (*SwitchMode)(int, DisplayModePtr,int); - Bool (*EnterVT)(int, int); - void (*LeaveVT)(int, int); - void (*FreeScreen)(int, int); - miPointerSpriteFuncPtr miSprite; -#ifdef RENDER - CompositeProcPtr Composite; - GlyphsProcPtr Glyphs; - CompositeRectsProcPtr CompositeRects; -#endif -} RACScreenRec, *RACScreenPtr; - -typedef struct _RACGC { - GCOps *wrapOps; - GCFuncs *wrapFuncs; -} RACGCRec, *RACGCPtr; - -/* Screen funcs */ -static Bool RACCloseScreen (int i, ScreenPtr pScreen); -static void RACGetImage (DrawablePtr pDrawable, int sx, int sy, - int w, int h, unsigned int format, - unsigned long planemask, char *pdstLine); -static void RACGetSpans (DrawablePtr pDrawable, int wMax, DDXPointPtr ppt, - int *pwidth, int nspans, char *pdstStart); -static void RACSourceValidate (DrawablePtr pDrawable, - int x, int y, int width, int height ); -static void RACCopyWindow(WindowPtr pWin, DDXPointRec ptOldOrg, - RegionPtr prgnSrc ); -static void RACClearToBackground (WindowPtr pWin, int x, int y, - int w, int h, Bool generateExposures ); -static PixmapPtr RACCreatePixmap(ScreenPtr pScreen, int w, int h, int depth, - unsigned usage_hint); -static Bool RACCreateGC(GCPtr pGC); -static Bool RACSaveScreen(ScreenPtr pScreen, Bool unblank); -static void RACStoreColors (ColormapPtr pmap, int ndef, xColorItem *pdefs); -static void RACRecolorCursor (ScreenPtr pScreen, CursorPtr pCurs, - Bool displayed); -static Bool RACRealizeCursor (ScreenPtr pScreen, CursorPtr pCursor); -static Bool RACUnrealizeCursor (ScreenPtr pScreen, CursorPtr pCursor); -static Bool RACDisplayCursor (ScreenPtr pScreen, CursorPtr pCursor); -static Bool RACSetCursorPosition (ScreenPtr pScreen, int x, int y, - Bool generateEvent); -static void RACAdjustFrame(int index, int x, int y, int flags); -static Bool RACSwitchMode(int index, DisplayModePtr mode, int flags); -static Bool RACEnterVT(int index, int flags); -static void RACLeaveVT(int index, int flags); -static void RACFreeScreen(int index, int flags); -/* GC funcs */ -static void RACValidateGC(GCPtr pGC, unsigned long changes, DrawablePtr pDraw); -static void RACChangeGC(GCPtr pGC, unsigned long mask); -static void RACCopyGC(GCPtr pGCSrc, unsigned long mask, GCPtr pGCDst); -static void RACDestroyGC(GCPtr pGC); -static void RACChangeClip(GCPtr pGC, int type, pointer pvalue, int nrects); -static void RACDestroyClip(GCPtr pGC); -static void RACCopyClip(GCPtr pgcDst, GCPtr pgcSrc); -/* GC ops */ -static void RACFillSpans( DrawablePtr pDraw, GC *pGC, int nInit, - DDXPointPtr pptInit, int *pwidthInit, int fSorted ); -static void RACSetSpans(DrawablePtr pDraw, GCPtr pGC, char *pcharsrc, - register DDXPointPtr ppt, int *pwidth, int nspans, - int fSorted ); -static void RACPutImage(DrawablePtr pDraw, GCPtr pGC, int depth, - int x, int y, int w, int h, int leftPad, - int format, char *pImage ); -static RegionPtr RACCopyArea(DrawablePtr pSrc, DrawablePtr pDst, - GC *pGC, int srcx, int srcy, - int width, int height, - int dstx, int dsty ); -static RegionPtr RACCopyPlane(DrawablePtr pSrc, DrawablePtr pDst, - GCPtr pGC, int srcx, int srcy, - int width, int height, int dstx, int dsty, - unsigned long bitPlane ); -static void RACPolyPoint(DrawablePtr pDraw, GCPtr pGC, int mode, - int npt, xPoint *pptInit ); -static void RACPolylines(DrawablePtr pDraw, GCPtr pGC, int mode, - int npt, DDXPointPtr pptInit ); -static void RACPolySegment(DrawablePtr pDraw, GCPtr pGC, int nseg, - xSegment *pSeg ); -static void RACPolyRectangle(DrawablePtr pDraw, GCPtr pGC, int nRectsInit, - xRectangle *pRectsInit ); -static void RACPolyArc(DrawablePtr pDraw, GCPtr pGC, int narcs, - xArc *parcs ); -static void RACFillPolygon(DrawablePtr pDraw, GCPtr pGC, int shape, int mode, - int count, DDXPointPtr ptsIn ); -static void RACPolyFillRect( DrawablePtr pDraw, GCPtr pGC, int nrectFill, - xRectangle *prectInit ); -static void RACPolyFillArc(DrawablePtr pDraw, GCPtr pGC, int narcs, - xArc *parcs ); -static int RACPolyText8(DrawablePtr pDraw, GCPtr pGC, int x, int y, - int count, char *chars ); -static int RACPolyText16(DrawablePtr pDraw, GCPtr pGC, int x, int y, - int count, unsigned short *chars ); -static void RACImageText8(DrawablePtr pDraw, GCPtr pGC, int x, int y, - int count, char *chars ); -static void RACImageText16(DrawablePtr pDraw, GCPtr pGC, int x, int y, - int count, unsigned short *chars ); -static void RACImageGlyphBlt(DrawablePtr pDraw, GCPtr pGC, int xInit, - int yInit, unsigned int nglyph, - CharInfoPtr *ppci, pointer pglyphBase ); -static void RACPolyGlyphBlt(DrawablePtr pDraw, GCPtr pGC, int xInit, - int yInit, unsigned int nglyph, - CharInfoPtr *ppci, pointer pglyphBase ); -static void RACPushPixels(GCPtr pGC, PixmapPtr pBitMap, DrawablePtr pDraw, - int dx, int dy, int xOrg, int yOrg ); -/* miSpriteFuncs */ -static Bool RACSpriteRealizeCursor(ScreenPtr pScreen, CursorPtr pCur); -static Bool RACSpriteUnrealizeCursor(ScreenPtr pScreen, CursorPtr pCur); -static void RACSpriteSetCursor(ScreenPtr pScreen, CursorPtr pCur, - int x, int y); -static void RACSpriteMoveCursor(ScreenPtr pScreen, int x, int y); -#ifdef RENDER -static void RACComposite(CARD8 op, PicturePtr pSrc, PicturePtr pMask, - PicturePtr pDst, INT16 xSrc, INT16 ySrc, - INT16 xMask, INT16 yMask, INT16 xDst, - INT16 yDst, CARD16 width, CARD16 height); -static void RACGlyphs(CARD8 op, PicturePtr pSrc, PicturePtr pDst, - PictFormatPtr maskFormat, INT16 xSrc, INT16 ySrc, - int nlist, GlyphListPtr list, GlyphPtr *glyphs); -static void RACCompositeRects(CARD8 op, PicturePtr pDst, xRenderColor *color, - int nRect, xRectangle *rects); -#endif - -static GCFuncs RACGCFuncs = { - RACValidateGC, RACChangeGC, RACCopyGC, RACDestroyGC, - RACChangeClip, RACDestroyClip, RACCopyClip -}; - -static GCOps RACGCOps = { - RACFillSpans, RACSetSpans, RACPutImage, RACCopyArea, - RACCopyPlane, RACPolyPoint, RACPolylines, RACPolySegment, - RACPolyRectangle, RACPolyArc, RACFillPolygon, RACPolyFillRect, - RACPolyFillArc, RACPolyText8, RACPolyText16, RACImageText8, - RACImageText16, RACImageGlyphBlt, RACPolyGlyphBlt, RACPushPixels, - {NULL} /* devPrivate */ -}; - -static miPointerSpriteFuncRec RACSpriteFuncs = { - RACSpriteRealizeCursor, RACSpriteUnrealizeCursor, RACSpriteSetCursor, - RACSpriteMoveCursor -}; - -static DevPrivateKey RACScreenKey = &RACScreenKey; -static DevPrivateKey RACGCKey = &RACGCKey; - - -Bool -xf86RACInit(ScreenPtr pScreen, unsigned int flag) -{ - ScrnInfoPtr pScrn; - RACScreenPtr pScreenPriv; - miPointerScreenPtr PointPriv; -#ifdef RENDER - PictureScreenPtr ps = GetPictureScreenIfSet(pScreen); -#endif - - pScrn = xf86Screens[pScreen->myNum]; - PointPriv = (miPointerScreenPtr)dixLookupPrivate(&pScreen->devPrivates, - miPointerScreenKey); - DPRINT_S("RACInit",pScreen->myNum); - - if (!dixRequestPrivate(RACGCKey, sizeof(RACGCRec))) - return FALSE; - - if (!(pScreenPriv = xalloc(sizeof(RACScreenRec)))) - return FALSE; - - dixSetPrivate(&pScreen->devPrivates, RACScreenKey, pScreenPriv); - - WRAP_SCREEN(CloseScreen, RACCloseScreen); - WRAP_SCREEN(SaveScreen, RACSaveScreen); - WRAP_SCREEN_COND(CreateGC, RACCreateGC, RAC_FB); - WRAP_SCREEN_COND(GetImage, RACGetImage, RAC_FB); - WRAP_SCREEN_COND(GetSpans, RACGetSpans, RAC_FB); - WRAP_SCREEN_COND(SourceValidate, RACSourceValidate, RAC_FB); - WRAP_SCREEN_COND(CopyWindow, RACCopyWindow, RAC_FB); - WRAP_SCREEN_COND(ClearToBackground, RACClearToBackground, RAC_FB); - WRAP_SCREEN_COND(CreatePixmap, RACCreatePixmap, RAC_FB); - WRAP_SCREEN_COND(StoreColors, RACStoreColors, RAC_COLORMAP); - WRAP_SCREEN_COND(DisplayCursor, RACDisplayCursor, RAC_CURSOR); - WRAP_SCREEN_COND(RealizeCursor, RACRealizeCursor, RAC_CURSOR); - WRAP_SCREEN_COND(UnrealizeCursor, RACUnrealizeCursor, RAC_CURSOR); - WRAP_SCREEN_COND(RecolorCursor, RACRecolorCursor, RAC_CURSOR); - WRAP_SCREEN_COND(SetCursorPosition, RACSetCursorPosition, RAC_CURSOR); -#ifdef RENDER - WRAP_PICT_COND(Composite,RACComposite,RAC_FB); - WRAP_PICT_COND(Glyphs,RACGlyphs,RAC_FB); - WRAP_PICT_COND(CompositeRects,RACCompositeRects,RAC_FB); -#endif - WRAP_SCREEN_INFO_COND(AdjustFrame, RACAdjustFrame, RAC_VIEWPORT); - WRAP_SCREEN_INFO(SwitchMode, RACSwitchMode); - WRAP_SCREEN_INFO(EnterVT, RACEnterVT); - WRAP_SCREEN_INFO(LeaveVT, RACLeaveVT); - WRAP_SCREEN_INFO(FreeScreen, RACFreeScreen); - WRAP_SPRITE_COND(RAC_CURSOR); - - return TRUE; -} - -/* Screen funcs */ -static Bool -RACCloseScreen (int i, ScreenPtr pScreen) -{ - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; - RACScreenPtr pScreenPriv = (RACScreenPtr)dixLookupPrivate( - &pScreen->devPrivates, RACScreenKey); - miPointerScreenPtr PointPriv = (miPointerScreenPtr)dixLookupPrivate( - &pScreen->devPrivates, miPointerScreenKey); -#ifdef RENDER - PictureScreenPtr ps = GetPictureScreenIfSet(pScreen); -#endif - - DPRINT_S("RACCloseScreen",pScreen->myNum); - UNWRAP_SCREEN(CreateGC); - UNWRAP_SCREEN(CloseScreen); - UNWRAP_SCREEN(GetImage); - UNWRAP_SCREEN(GetSpans); - UNWRAP_SCREEN(SourceValidate); - UNWRAP_SCREEN(CopyWindow); - UNWRAP_SCREEN(ClearToBackground); - UNWRAP_SCREEN(SaveScreen); - UNWRAP_SCREEN(StoreColors); - UNWRAP_SCREEN(DisplayCursor); - UNWRAP_SCREEN(RealizeCursor); - UNWRAP_SCREEN(UnrealizeCursor); - UNWRAP_SCREEN(RecolorCursor); - UNWRAP_SCREEN(SetCursorPosition); -#ifdef RENDER - UNWRAP_PICT(Composite); - UNWRAP_PICT(Glyphs); - UNWRAP_PICT(CompositeRects); -#endif - UNWRAP_SCREEN_INFO(AdjustFrame); - UNWRAP_SCREEN_INFO(SwitchMode); - UNWRAP_SCREEN_INFO(EnterVT); - UNWRAP_SCREEN_INFO(LeaveVT); - UNWRAP_SCREEN_INFO(FreeScreen); - UNWRAP_SPRITE; - - xfree ((pointer) pScreenPriv); - - if (xf86Screens[pScreen->myNum]->vtSema) { - xf86EnterServerState(SETUP); - ENABLE; - } - return (*pScreen->CloseScreen) (i, pScreen); -} - -static void -RACGetImage ( - DrawablePtr pDrawable, - int sx, int sy, int w, int h, - unsigned int format, - unsigned long planemask, - char *pdstLine - ) -{ - ScreenPtr pScreen = pDrawable->pScreen; - DPRINT_S("RACGetImage",pScreen->myNum); - SCREEN_PROLOG(GetImage); - if (xf86Screens[pScreen->myNum]->vtSema) { - ENABLE; - } - (*pScreen->GetImage) (pDrawable, sx, sy, w, h, - format, planemask, pdstLine); - SCREEN_EPILOG (GetImage, RACGetImage); -} - -static void -RACGetSpans ( - DrawablePtr pDrawable, - int wMax, - DDXPointPtr ppt, - int *pwidth, - int nspans, - char *pdstStart - ) -{ - ScreenPtr pScreen = pDrawable->pScreen; - - DPRINT_S("RACGetSpans",pScreen->myNum); - SCREEN_PROLOG (GetSpans); - ENABLE; - (*pScreen->GetSpans) (pDrawable, wMax, ppt, pwidth, nspans, pdstStart); - SCREEN_EPILOG (GetSpans, RACGetSpans); -} - -static void -RACSourceValidate ( - DrawablePtr pDrawable, - int x, int y, int width, int height ) -{ - ScreenPtr pScreen = pDrawable->pScreen; - DPRINT_S("RACSourceValidate",pScreen->myNum); - SCREEN_PROLOG (SourceValidate); - ENABLE; - if (pScreen->SourceValidate) - (*pScreen->SourceValidate) (pDrawable, x, y, width, height); - SCREEN_EPILOG (SourceValidate, RACSourceValidate); -} - -static void -RACCopyWindow( - WindowPtr pWin, - DDXPointRec ptOldOrg, - RegionPtr prgnSrc ) -{ - ScreenPtr pScreen = pWin->drawable.pScreen; - - DPRINT_S("RACCopyWindow",pScreen->myNum); - SCREEN_PROLOG (CopyWindow); - ENABLE; - (*pScreen->CopyWindow) (pWin, ptOldOrg, prgnSrc); - SCREEN_EPILOG (CopyWindow, RACCopyWindow); -} - -static void -RACClearToBackground ( - WindowPtr pWin, - int x, int y, - int w, int h, - Bool generateExposures ) -{ - ScreenPtr pScreen = pWin->drawable.pScreen; - - DPRINT_S("RACClearToBackground",pScreen->myNum); - SCREEN_PROLOG ( ClearToBackground); - ENABLE; - (*pScreen->ClearToBackground) (pWin, x, y, w, h, generateExposures); - SCREEN_EPILOG (ClearToBackground, RACClearToBackground); -} - -static PixmapPtr -RACCreatePixmap(ScreenPtr pScreen, int w, int h, int depth, unsigned usage_hint) -{ - PixmapPtr pPix; - - DPRINT_S("RACCreatePixmap",pScreen->myNum); - SCREEN_PROLOG ( CreatePixmap); - ENABLE; - pPix = (*pScreen->CreatePixmap) (pScreen, w, h, depth, usage_hint); - SCREEN_EPILOG (CreatePixmap, RACCreatePixmap); - - return pPix; -} - -static Bool -RACSaveScreen(ScreenPtr pScreen, Bool unblank) -{ - Bool val; - - DPRINT_S("RACSaveScreen",pScreen->myNum); - SCREEN_PROLOG (SaveScreen); - ENABLE; - val = (*pScreen->SaveScreen) (pScreen, unblank); - SCREEN_EPILOG (SaveScreen, RACSaveScreen); - - return val; -} - -static void -RACStoreColors ( - ColormapPtr pmap, - int ndef, - xColorItem *pdefs) -{ - ScreenPtr pScreen = pmap->pScreen; - - DPRINT_S("RACStoreColors",pScreen->myNum); - SCREEN_PROLOG (StoreColors); - ENABLE; - (*pScreen->StoreColors) (pmap,ndef,pdefs); - - SCREEN_EPILOG ( StoreColors, RACStoreColors); -} - -static void -RACRecolorCursor ( - ScreenPtr pScreen, - CursorPtr pCurs, - Bool displayed - ) -{ - DPRINT_S("RACRecolorCursor",pScreen->myNum); - SCREEN_PROLOG (RecolorCursor); - ENABLE; - (*pScreen->RecolorCursor) (pScreen,pCurs,displayed); - - SCREEN_EPILOG ( RecolorCursor, RACRecolorCursor); -} - -static Bool -RACRealizeCursor ( - ScreenPtr pScreen, - CursorPtr pCursor - ) -{ - Bool val; - - DPRINT_S("RACRealizeCursor",pScreen->myNum); - SCREEN_PROLOG (RealizeCursor); - ENABLE; - val = (*pScreen->RealizeCursor) (pScreen,pCursor); - - SCREEN_EPILOG ( RealizeCursor, RACRealizeCursor); - return val; -} - -static Bool -RACUnrealizeCursor ( - ScreenPtr pScreen, - CursorPtr pCursor - ) -{ - Bool val; - - DPRINT_S("RACUnrealizeCursor",pScreen->myNum); - SCREEN_PROLOG (UnrealizeCursor); - ENABLE; - val = (*pScreen->UnrealizeCursor) (pScreen,pCursor); - - SCREEN_EPILOG ( UnrealizeCursor, RACUnrealizeCursor); - return val; -} - -static Bool -RACDisplayCursor ( - ScreenPtr pScreen, - CursorPtr pCursor - ) -{ - Bool val; - - DPRINT_S("RACDisplayCursor",pScreen->myNum); - SCREEN_PROLOG (DisplayCursor); - ENABLE; - val = (*pScreen->DisplayCursor) (pScreen,pCursor); - - SCREEN_EPILOG ( DisplayCursor, RACDisplayCursor); - return val; -} - -static Bool -RACSetCursorPosition ( - ScreenPtr pScreen, - int x, int y, - Bool generateEvent) -{ - Bool val; - - DPRINT_S("RACSetCursorPosition",pScreen->myNum); - SCREEN_PROLOG (SetCursorPosition); - ENABLE; - val = (*pScreen->SetCursorPosition) (pScreen,x,y,generateEvent); - - SCREEN_EPILOG ( SetCursorPosition, RACSetCursorPosition); - return val; -} - -static void -RACAdjustFrame(int index, int x, int y, int flags) -{ - ScreenPtr pScreen = screenInfo.screens[index]; - RACScreenPtr pScreenPriv = (RACScreenPtr)dixLookupPrivate( - &pScreen->devPrivates, RACScreenKey); - - DPRINT_S("RACAdjustFrame",index); - xf86EnableAccess(xf86Screens[index]); - - (*pScreenPriv->AdjustFrame)(index, x, y, flags); -} - -static Bool -RACSwitchMode(int index, DisplayModePtr mode, int flags) -{ - ScreenPtr pScreen = screenInfo.screens[index]; - RACScreenPtr pScreenPriv = (RACScreenPtr)dixLookupPrivate( - &pScreen->devPrivates, RACScreenKey); - - DPRINT_S("RACSwitchMode",index); - xf86EnableAccess(xf86Screens[index]); - - return (*pScreenPriv->SwitchMode)(index, mode, flags); -} - -static Bool -RACEnterVT(int index, int flags) -{ - ScreenPtr pScreen = screenInfo.screens[index]; - RACScreenPtr pScreenPriv = (RACScreenPtr)dixLookupPrivate( - &pScreen->devPrivates, RACScreenKey); - - DPRINT_S("RACEnterVT",index); - xf86EnableAccess(xf86Screens[index]); - - return (*pScreenPriv->EnterVT)(index, flags); -} - -static void -RACLeaveVT(int index, int flags) -{ - ScreenPtr pScreen = screenInfo.screens[index]; - RACScreenPtr pScreenPriv = (RACScreenPtr)dixLookupPrivate( - &pScreen->devPrivates, RACScreenKey); - - DPRINT_S("RACLeaveVT",index); - xf86EnableAccess(xf86Screens[index]); - - (*pScreenPriv->LeaveVT)(index, flags); -} - -static void -RACFreeScreen(int index, int flags) -{ - ScreenPtr pScreen = screenInfo.screens[index]; - RACScreenPtr pScreenPriv = (RACScreenPtr)dixLookupPrivate( - &pScreen->devPrivates, RACScreenKey); - - DPRINT_S("RACFreeScreen",index); - xf86EnableAccess(xf86Screens[index]); - - (*pScreenPriv->FreeScreen)(index, flags); -} - -static Bool -RACCreateGC(GCPtr pGC) -{ - ScreenPtr pScreen = pGC->pScreen; - RACGCPtr pGCPriv = (RACGCPtr)dixLookupPrivate(&pGC->devPrivates, RACGCKey); - Bool ret; - - DPRINT_S("RACCreateGC",pScreen->myNum); - SCREEN_PROLOG(CreateGC); - - ret = (*pScreen->CreateGC)(pGC); - - GC_WRAP(pGC); - SCREEN_EPILOG(CreateGC,RACCreateGC); - - return ret; -} - -/* GC funcs */ -static void -RACValidateGC( - GCPtr pGC, - unsigned long changes, - DrawablePtr pDraw ) -{ - GC_UNWRAP(pGC); - DPRINT("RACValidateGC"); - (*pGC->funcs->ValidateGC)(pGC, changes, pDraw); - GC_WRAP(pGC); -} - - -static void -RACDestroyGC(GCPtr pGC) -{ - GC_UNWRAP (pGC); - DPRINT("RACDestroyGC"); - (*pGC->funcs->DestroyGC)(pGC); - GC_WRAP (pGC); -} - -static void -RACChangeGC ( - GCPtr pGC, - unsigned long mask) -{ - GC_UNWRAP (pGC); - DPRINT("RACChangeGC"); - (*pGC->funcs->ChangeGC) (pGC, mask); - GC_WRAP (pGC); -} - -static void -RACCopyGC ( - GCPtr pGCSrc, - unsigned long mask, - GCPtr pGCDst) -{ - GC_UNWRAP (pGCDst); - DPRINT("RACCopyGC"); - (*pGCDst->funcs->CopyGC) (pGCSrc, mask, pGCDst); - GC_WRAP (pGCDst); -} - -static void -RACChangeClip ( - GCPtr pGC, - int type, - pointer pvalue, - int nrects ) -{ - GC_UNWRAP (pGC); - DPRINT("RACChangeClip"); - (*pGC->funcs->ChangeClip) (pGC, type, pvalue, nrects); - GC_WRAP (pGC); -} - -static void -RACCopyClip(GCPtr pgcDst, GCPtr pgcSrc) -{ - GC_UNWRAP (pgcDst); - DPRINT("RACCopyClip"); - (* pgcDst->funcs->CopyClip)(pgcDst, pgcSrc); - GC_WRAP (pgcDst); -} - -static void -RACDestroyClip(GCPtr pGC) -{ - GC_UNWRAP (pGC); - DPRINT("RACDestroyClip"); - (* pGC->funcs->DestroyClip)(pGC); - GC_WRAP (pGC); -} - -/* GC Ops */ -static void -RACFillSpans( - DrawablePtr pDraw, - GC *pGC, - int nInit, - DDXPointPtr pptInit, - int *pwidthInit, - int fSorted ) -{ - GC_UNWRAP(pGC); - DPRINT("RACFillSpans"); - ENABLE_GC; - (*pGC->ops->FillSpans)(pDraw, pGC, nInit, pptInit, pwidthInit, fSorted); - GC_WRAP(pGC); -} - -static void -RACSetSpans( - DrawablePtr pDraw, - GCPtr pGC, - char *pcharsrc, - register DDXPointPtr ppt, - int *pwidth, - int nspans, - int fSorted ) -{ - GC_UNWRAP(pGC); - DPRINT("RACSetSpans"); - ENABLE_GC; - (*pGC->ops->SetSpans)(pDraw, pGC, pcharsrc, ppt, pwidth, nspans, fSorted); - GC_WRAP(pGC); -} - -static void -RACPutImage( - DrawablePtr pDraw, - GCPtr pGC, - int depth, - int x, int y, int w, int h, - int leftPad, - int format, - char *pImage ) -{ - GC_UNWRAP(pGC); - DPRINT("RACPutImage"); - ENABLE_GC; - (*pGC->ops->PutImage)(pDraw, pGC, depth, x, y, w, h, - leftPad, format, pImage); - GC_WRAP(pGC); -} - -static RegionPtr -RACCopyArea( - DrawablePtr pSrc, - DrawablePtr pDst, - GC *pGC, - int srcx, int srcy, - int width, int height, - int dstx, int dsty ) -{ - RegionPtr ret; - - GC_UNWRAP(pGC); - DPRINT("RACCopyArea"); - ENABLE_GC; - ret = (*pGC->ops->CopyArea)(pSrc, pDst, - pGC, srcx, srcy, width, height, dstx, dsty); - GC_WRAP(pGC); - return ret; -} - -static RegionPtr -RACCopyPlane( - DrawablePtr pSrc, - DrawablePtr pDst, - GCPtr pGC, - int srcx, int srcy, - int width, int height, - int dstx, int dsty, - unsigned long bitPlane ) -{ - RegionPtr ret; - - GC_UNWRAP(pGC); - DPRINT("RACCopyPlane"); - ENABLE_GC; - ret = (*pGC->ops->CopyPlane)(pSrc, pDst, pGC, srcx, srcy, - width, height, dstx, dsty, bitPlane); - GC_WRAP(pGC); - return ret; -} - -static void -RACPolyPoint( - DrawablePtr pDraw, - GCPtr pGC, - int mode, - int npt, - xPoint *pptInit ) -{ - GC_UNWRAP(pGC); - DPRINT("RACPolyPoint"); - ENABLE_GC; - (*pGC->ops->PolyPoint)(pDraw, pGC, mode, npt, pptInit); - GC_WRAP(pGC); -} - - -static void -RACPolylines( - DrawablePtr pDraw, - GCPtr pGC, - int mode, - int npt, - DDXPointPtr pptInit ) -{ - GC_UNWRAP(pGC); - DPRINT("RACPolylines"); - ENABLE_GC; - (*pGC->ops->Polylines)(pDraw, pGC, mode, npt, pptInit); - GC_WRAP(pGC); -} - -static void -RACPolySegment( - DrawablePtr pDraw, - GCPtr pGC, - int nseg, - xSegment *pSeg ) -{ - GC_UNWRAP(pGC); - DPRINT("RACPolySegment"); - ENABLE_GC; - (*pGC->ops->PolySegment)(pDraw, pGC, nseg, pSeg); - GC_WRAP(pGC); -} - -static void -RACPolyRectangle( - DrawablePtr pDraw, - GCPtr pGC, - int nRectsInit, - xRectangle *pRectsInit ) -{ - GC_UNWRAP(pGC); - DPRINT("RACPolyRectangle"); - ENABLE_GC; - (*pGC->ops->PolyRectangle)(pDraw, pGC, nRectsInit, pRectsInit); - GC_WRAP(pGC); -} - -static void -RACPolyArc( - DrawablePtr pDraw, - GCPtr pGC, - int narcs, - xArc *parcs ) -{ - GC_UNWRAP(pGC); - DPRINT("RACPolyArc"); - ENABLE_GC; - (*pGC->ops->PolyArc)(pDraw, pGC, narcs, parcs); - GC_WRAP(pGC); -} - -static void -RACFillPolygon( - DrawablePtr pDraw, - GCPtr pGC, - int shape, - int mode, - int count, - DDXPointPtr ptsIn ) -{ - GC_UNWRAP(pGC); - DPRINT("RACFillPolygon"); - ENABLE_GC; - (*pGC->ops->FillPolygon)(pDraw, pGC, shape, mode, count, ptsIn); - GC_WRAP(pGC); -} - - -static void -RACPolyFillRect( - DrawablePtr pDraw, - GCPtr pGC, - int nrectFill, - xRectangle *prectInit ) -{ - GC_UNWRAP(pGC); - DPRINT("RACPolyFillRect"); - ENABLE_GC; - (*pGC->ops->PolyFillRect)(pDraw, pGC, nrectFill, prectInit); - GC_WRAP(pGC); -} - - -static void -RACPolyFillArc( - DrawablePtr pDraw, - GCPtr pGC, - int narcs, - xArc *parcs ) -{ - GC_UNWRAP(pGC); - DPRINT("RACPolyFillArc"); - ENABLE_GC; - (*pGC->ops->PolyFillArc)(pDraw, pGC, narcs, parcs); - GC_WRAP(pGC); -} - -static int -RACPolyText8( - DrawablePtr pDraw, - GCPtr pGC, - int x, - int y, - int count, - char *chars ) -{ - int ret; - - GC_UNWRAP(pGC); - DPRINT("RACPolyText8"); - ENABLE_GC; - ret = (*pGC->ops->PolyText8)(pDraw, pGC, x, y, count, chars); - GC_WRAP(pGC); - return ret; -} - -static int -RACPolyText16( - DrawablePtr pDraw, - GCPtr pGC, - int x, - int y, - int count, - unsigned short *chars ) -{ - int ret; - - GC_UNWRAP(pGC); - DPRINT("RACPolyText16"); - ENABLE_GC; - ret = (*pGC->ops->PolyText16)(pDraw, pGC, x, y, count, chars); - GC_WRAP(pGC); - return ret; -} - -static void -RACImageText8( - DrawablePtr pDraw, - GCPtr pGC, - int x, - int y, - int count, - char *chars ) -{ - GC_UNWRAP(pGC); - DPRINT("RACImageText8"); - ENABLE_GC; - (*pGC->ops->ImageText8)(pDraw, pGC, x, y, count, chars); - GC_WRAP(pGC); -} - -static void -RACImageText16( - DrawablePtr pDraw, - GCPtr pGC, - int x, - int y, - int count, - unsigned short *chars ) -{ - GC_UNWRAP(pGC); - DPRINT("RACImageText16"); - ENABLE_GC; - (*pGC->ops->ImageText16)(pDraw, pGC, x, y, count, chars); - GC_WRAP(pGC); -} - - -static void -RACImageGlyphBlt( - DrawablePtr pDraw, - GCPtr pGC, - int xInit, int yInit, - unsigned int nglyph, - CharInfoPtr *ppci, - pointer pglyphBase ) -{ - GC_UNWRAP(pGC); - DPRINT("RACImageGlyphBlt"); - ENABLE_GC; - (*pGC->ops->ImageGlyphBlt)(pDraw, pGC, xInit, yInit, - nglyph, ppci, pglyphBase); - GC_WRAP(pGC); -} - -static void -RACPolyGlyphBlt( - DrawablePtr pDraw, - GCPtr pGC, - int xInit, int yInit, - unsigned int nglyph, - CharInfoPtr *ppci, - pointer pglyphBase ) -{ - GC_UNWRAP(pGC); - DPRINT("RACPolyGlyphBlt"); - ENABLE_GC; - (*pGC->ops->PolyGlyphBlt)(pDraw, pGC, xInit, yInit, - nglyph, ppci, pglyphBase); - GC_WRAP(pGC); -} - -static void -RACPushPixels( - GCPtr pGC, - PixmapPtr pBitMap, - DrawablePtr pDraw, - int dx, int dy, int xOrg, int yOrg ) -{ - GC_UNWRAP(pGC); - DPRINT("RACPushPixels"); - ENABLE_GC; - (*pGC->ops->PushPixels)(pGC, pBitMap, pDraw, dx, dy, xOrg, yOrg); - GC_WRAP(pGC); -} - - -/* miSpriteFuncs */ -static Bool -RACSpriteRealizeCursor(ScreenPtr pScreen, CursorPtr pCur) -{ - Bool val; - SPRITE_PROLOG; - DPRINT_S("RACSpriteRealizeCursor",pScreen->myNum); - ENABLE; - val = PointPriv->spriteFuncs->RealizeCursor(pScreen, pCur); - SPRITE_EPILOG; - return val; -} - -static Bool -RACSpriteUnrealizeCursor(ScreenPtr pScreen, CursorPtr pCur) -{ - Bool val; - SPRITE_PROLOG; - DPRINT_S("RACSpriteUnrealizeCursor",pScreen->myNum); - ENABLE; - val = PointPriv->spriteFuncs->UnrealizeCursor(pScreen, pCur); - SPRITE_EPILOG; - return val; -} - -static void -RACSpriteSetCursor(ScreenPtr pScreen, CursorPtr pCur, int x, int y) -{ - SPRITE_PROLOG; - DPRINT_S("RACSpriteSetCursor",pScreen->myNum); - ENABLE; - PointPriv->spriteFuncs->SetCursor(pScreen, pCur, x, y); - SPRITE_EPILOG; -} - -static void -RACSpriteMoveCursor(ScreenPtr pScreen, int x, int y) -{ - SPRITE_PROLOG; - DPRINT_S("RACSpriteMoveCursor",pScreen->myNum); - ENABLE; - PointPriv->spriteFuncs->MoveCursor(pScreen, x, y); - SPRITE_EPILOG; -} - -#ifdef RENDER -static void -RACComposite(CARD8 op, PicturePtr pSrc, PicturePtr pMask, - PicturePtr pDst, INT16 xSrc, INT16 ySrc, INT16 xMask, - INT16 yMask, INT16 xDst, INT16 yDst, CARD16 width, - CARD16 height) -{ - ScreenPtr pScreen = pDst->pDrawable->pScreen; - PictureScreenPtr ps = GetPictureScreen(pScreen); - - PICTURE_PROLOGUE(Composite); - - ENABLE; - (*ps->Composite) (op, pSrc, pMask, pDst, xSrc, ySrc, xMask, yMask, xDst, - yDst, width, height); - - PICTURE_EPILOGUE(Composite, RACComposite); -} - -static void -RACGlyphs(CARD8 op, PicturePtr pSrc, PicturePtr pDst, - PictFormatPtr maskFormat, INT16 xSrc, INT16 ySrc, int nlist, - GlyphListPtr list, GlyphPtr *glyphs) -{ - ScreenPtr pScreen = pDst->pDrawable->pScreen; - PictureScreenPtr ps = GetPictureScreen(pScreen); - - PICTURE_PROLOGUE(Glyphs); - - ENABLE; - (*ps->Glyphs)(op, pSrc, pDst, maskFormat, xSrc, ySrc, nlist, list, glyphs); - - PICTURE_EPILOGUE (Glyphs, RACGlyphs); -} - -static void -RACCompositeRects(CARD8 op, PicturePtr pDst, xRenderColor *color, int nRect, - xRectangle *rects) -{ - ScreenPtr pScreen = pDst->pDrawable->pScreen; - PictureScreenPtr ps = GetPictureScreen(pScreen); - - PICTURE_PROLOGUE(CompositeRects); - - ENABLE; - (*ps->CompositeRects)(op, pDst, color, nRect, rects); - - PICTURE_EPILOGUE (CompositeRects, RACCompositeRects); -} -#endif - diff --git a/xorg-server/hw/xfree86/rac/xf86RAC.h b/xorg-server/hw/xfree86/rac/xf86RAC.h deleted file mode 100644 index 366c21485..000000000 --- a/xorg-server/hw/xfree86/rac/xf86RAC.h +++ /dev/null @@ -1,17 +0,0 @@ - -#ifndef __XF86RAC_H -#define __XF86RAC_H 1 - -#include "screenint.h" -#include "misc.h" -#include "xf86.h" - -Bool xf86RACInit(ScreenPtr pScreen, unsigned int flag); - -/* flags */ -#define RAC_FB 0x01 -#define RAC_CURSOR 0x02 -#define RAC_COLORMAP 0x04 -#define RAC_VIEWPORT 0x08 - -#endif /* __XF86RAC_H */ diff --git a/xorg-server/hw/xfree86/ramdac/Makefile.in b/xorg-server/hw/xfree86/ramdac/Makefile.in index dc47ab102..9be7b8179 100644 --- a/xorg-server/hw/xfree86/ramdac/Makefile.in +++ b/xorg-server/hw/xfree86/ramdac/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -45,7 +45,6 @@ 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 \ @@ -64,9 +63,6 @@ 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) \ @@ -90,8 +86,9 @@ ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ -APPDEFAULTDIR = @APPDEFAULTDIR@ APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +APPLE_APPLICATION_ID = @APPLE_APPLICATION_ID@ +APPLE_APPLICATION_NAME = @APPLE_APPLICATION_NAME@ APP_MAN_DIR = @APP_MAN_DIR@ APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ AR = @AR@ @@ -112,10 +109,6 @@ 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@ @@ -137,6 +130,7 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOLT_BASH = @DOLT_BASH@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ @@ -146,18 +140,15 @@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ DSYMUTIL = @DSYMUTIL@ DTRACE = @DTRACE@ -ECHO = @ECHO@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ -FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ -FREETYPE_LIBS = @FREETYPE_LIBS@ GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ GLX_DEFINES = @GLX_DEFINES@ GL_CFLAGS = @GL_CFLAGS@ @@ -176,7 +167,7 @@ KDRIVE_LIBS = @KDRIVE_LIBS@ KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ -LAUNCHD = @LAUNCHD@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ LEX = @LEX@ @@ -190,7 +181,10 @@ LIBTOOL = @LIBTOOL@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LINUXDOC = @LINUXDOC@ +LIPO = @LIPO@ LN_S = @LN_S@ +LTCOMPILE = @LTCOMPILE@ +LTCXXCOMPILE = @LTCXXCOMPILE@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ @@ -202,8 +196,7 @@ MESA_SOURCE = @MESA_SOURCE@ MISC_MAN_DIR = @MISC_MAN_DIR@ MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ MKDIR_P = @MKDIR_P@ -MKFONTDIR = @MKFONTDIR@ -MKFONTSCALE = @MKFONTSCALE@ +NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCCLD = @OBJCCLD@ @@ -212,8 +205,8 @@ OBJCFLAGS = @OBJCFLAGS@ OBJCLINK = @OBJCLINK@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ @@ -246,7 +239,6 @@ VENDOR_NAME = @VENDOR_NAME@ VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ VENDOR_RELEASE = @VENDOR_RELEASE@ VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ XDMCP_CFLAGS = @XDMCP_CFLAGS@ @@ -256,27 +248,12 @@ XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@ XDMX_CFLAGS = @XDMX_CFLAGS@ XDMX_LIBS = @XDMX_LIBS@ XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ XEPHYR_INCS = @XEPHYR_INCS@ XEPHYR_LIBS = @XEPHYR_LIBS@ 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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ @@ -287,10 +264,6 @@ XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ XNEST_LIBS = @XNEST_LIBS@ XNEST_SYS_LIBS = @XNEST_SYS_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_INCS = @XORG_INCS@ XORG_LIBS = @XORG_LIBS@ @@ -299,13 +272,8 @@ XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ XORG_OS = @XORG_OS@ XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_LIBS@ +XPBPROXY_CFLAGS = @XPBPROXY_CFLAGS@ +XPBPROXY_LIBS = @XPBPROXY_LIBS@ XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ XSDL_INCS = @XSDL_INCS@ @@ -338,8 +306,7 @@ 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@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -359,7 +326,6 @@ driverdir = @driverdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ extdir = @extdir@ -ft_config = @ft_config@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ @@ -369,12 +335,12 @@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ -launchagentsdir = @launchagentsdir@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ logdir = @logdir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ moduledir = @moduledir@ @@ -392,8 +358,6 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ noinst_LIBRARIES = libramdac.a libramdac_a_SOURCES = xf86RamDac.c xf86RamDacCmap.c \ xf86Cursor.c xf86HWCurs.c IBM.c BT.c TI.c \ @@ -416,8 +380,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ @@ -513,7 +477,7 @@ ID: $(HEADERS) $(SOURCES) $(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; nonemtpy = 1; } \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS diff --git a/xorg-server/hw/xfree86/ramdac/xf86Cursor.c b/xorg-server/hw/xfree86/ramdac/xf86Cursor.c index 5b1ce5e1f..896ed3700 100644 --- a/xorg-server/hw/xfree86/ramdac/xf86Cursor.c +++ b/xorg-server/hw/xfree86/ramdac/xf86Cursor.c @@ -8,26 +8,41 @@ #include "colormapst.h" #include "cursorstr.h" -DevPrivateKey xf86CursorScreenKey = &xf86CursorScreenKey; +/* FIXME: This was added with the ABI change of the miPointerSpriteFuncs for + * MPX. + * inputInfo is needed to pass the core pointer as the default argument into + * the cursor functions. + * + * Externing inputInfo is not the nice way to do it but it works. + */ +#include "inputstr.h" +extern InputInfo inputInfo; + +static int xf86CursorScreenKeyIndex; +DevPrivateKey xf86CursorScreenKey = &xf86CursorScreenKeyIndex; /* sprite functions */ -static Bool xf86CursorRealizeCursor(ScreenPtr, CursorPtr); -static Bool xf86CursorUnrealizeCursor(ScreenPtr, CursorPtr); -static void xf86CursorSetCursor(ScreenPtr, CursorPtr, int, int); -static void xf86CursorMoveCursor(ScreenPtr, int, int); +static Bool xf86CursorRealizeCursor(DeviceIntPtr, ScreenPtr, CursorPtr); +static Bool xf86CursorUnrealizeCursor(DeviceIntPtr, ScreenPtr, CursorPtr); +static void xf86CursorSetCursor(DeviceIntPtr, ScreenPtr, CursorPtr, int, int); +static void xf86CursorMoveCursor(DeviceIntPtr, ScreenPtr, int, int); +static Bool xf86DeviceCursorInitialize(DeviceIntPtr, ScreenPtr); +static void xf86DeviceCursorCleanup(DeviceIntPtr, ScreenPtr); static miPointerSpriteFuncRec xf86CursorSpriteFuncs = { xf86CursorRealizeCursor, xf86CursorUnrealizeCursor, xf86CursorSetCursor, - xf86CursorMoveCursor + xf86CursorMoveCursor, + xf86DeviceCursorInitialize, + xf86DeviceCursorCleanup }; /* Screen functions */ static void xf86CursorInstallColormap(ColormapPtr); -static void xf86CursorRecolorCursor(ScreenPtr, CursorPtr, Bool); +static void xf86CursorRecolorCursor(DeviceIntPtr pDev, ScreenPtr, CursorPtr, Bool); static Bool xf86CursorCloseScreen(int, ScreenPtr); static void xf86CursorQueryBestSize(int, unsigned short*, unsigned short*, ScreenPtr); @@ -164,6 +179,7 @@ xf86CursorInstallColormap(ColormapPtr pMap) static void xf86CursorRecolorCursor( + DeviceIntPtr pDev, ScreenPtr pScreen, CursorPtr pCurs, Bool displayed) @@ -175,7 +191,7 @@ xf86CursorRecolorCursor( return; if (ScreenPriv->SWCursor) - (*ScreenPriv->RecolorCursor)(pScreen, pCurs, displayed); + (*ScreenPriv->RecolorCursor)(pDev, pScreen, pCurs, displayed); else xf86RecolorCursor(pScreen, pCurs, displayed); } @@ -187,14 +203,17 @@ xf86CursorEnableDisableFBAccess( int index, Bool enable) { + DeviceIntPtr pDev = inputInfo.pointer; + ScreenPtr pScreen = screenInfo.screens[index]; xf86CursorScreenPtr ScreenPriv = (xf86CursorScreenPtr)dixLookupPrivate( &pScreen->devPrivates, xf86CursorScreenKey); if (!enable && ScreenPriv->CurrentCursor != NullCursor) { - CursorPtr currentCursor = ScreenPriv->CurrentCursor; - xf86CursorSetCursor(pScreen, NullCursor, ScreenPriv->x, ScreenPriv->y); - ScreenPriv->isUp = FALSE; + CursorPtr currentCursor = ScreenPriv->CurrentCursor; + xf86CursorSetCursor(pDev, pScreen, NullCursor, ScreenPriv->x, + ScreenPriv->y); + ScreenPriv->isUp = FALSE; ScreenPriv->SWCursor = TRUE; ScreenPriv->SavedCursor = currentCursor; } @@ -208,7 +227,7 @@ xf86CursorEnableDisableFBAccess( * Re-set current cursor so drivers can react to FB access having been * temporarily disabled. */ - xf86CursorSetCursor(pScreen, ScreenPriv->SavedCursor, + xf86CursorSetCursor(pDev, pScreen, ScreenPriv->SavedCursor, ScreenPriv->x, ScreenPriv->y); ScreenPriv->SavedCursor = NULL; } @@ -245,123 +264,141 @@ xf86CursorSwitchMode(int index, DisplayModePtr mode, int flags) /****** miPointerSpriteFunctions *******/ static Bool -xf86CursorRealizeCursor(ScreenPtr pScreen, CursorPtr pCurs) +xf86CursorRealizeCursor(DeviceIntPtr pDev, ScreenPtr pScreen, CursorPtr pCurs) { xf86CursorScreenPtr ScreenPriv = (xf86CursorScreenPtr)dixLookupPrivate( &pScreen->devPrivates, xf86CursorScreenKey); if (pCurs->refcnt <= 1) - dixSetPrivate(&pCurs->devPrivates, pScreen, NULL); + dixSetPrivate(&pCurs->devPrivates, CursorScreenKey(pScreen), NULL); - return (*ScreenPriv->spriteFuncs->RealizeCursor)(pScreen, pCurs); + return (*ScreenPriv->spriteFuncs->RealizeCursor)(pDev, pScreen, pCurs); } static Bool -xf86CursorUnrealizeCursor(ScreenPtr pScreen, CursorPtr pCurs) +xf86CursorUnrealizeCursor(DeviceIntPtr pDev, ScreenPtr pScreen, + CursorPtr pCurs) { xf86CursorScreenPtr ScreenPriv = (xf86CursorScreenPtr)dixLookupPrivate( &pScreen->devPrivates, xf86CursorScreenKey); if (pCurs->refcnt <= 1) { - xfree(dixLookupPrivate(&pCurs->devPrivates, pScreen)); - dixSetPrivate(&pCurs->devPrivates, pScreen, NULL); + xfree(dixLookupPrivate(&pCurs->devPrivates, CursorScreenKey(pScreen))); + dixSetPrivate(&pCurs->devPrivates, CursorScreenKey(pScreen), NULL); } - return (*ScreenPriv->spriteFuncs->UnrealizeCursor)(pScreen, pCurs); + return (*ScreenPriv->spriteFuncs->UnrealizeCursor)(pDev, pScreen, pCurs); } static void -xf86CursorSetCursor(ScreenPtr pScreen, CursorPtr pCurs, int x, int y) +xf86CursorSetCursor(DeviceIntPtr pDev, ScreenPtr pScreen, CursorPtr pCurs, + int x, int y) { xf86CursorScreenPtr ScreenPriv = (xf86CursorScreenPtr)dixLookupPrivate( &pScreen->devPrivates, xf86CursorScreenKey); xf86CursorInfoPtr infoPtr = ScreenPriv->CursorInfoPtr; - miPointerScreenPtr PointPriv; - - ScreenPriv->CurrentCursor = pCurs; - ScreenPriv->x = x; - ScreenPriv->y = y; - ScreenPriv->CursorToRestore = NULL; + miPointerScreenPtr PointPriv = (miPointerScreenPtr)dixLookupPrivate( + &pScreen->devPrivates, miPointerScreenKey); - if (!infoPtr->pScrn->vtSema) - ScreenPriv->SavedCursor = pCurs; if (pCurs == NullCursor) { /* means we're supposed to remove the cursor */ - if (ScreenPriv->SWCursor) - (*ScreenPriv->spriteFuncs->SetCursor)(pScreen, NullCursor, x, y); - else if (ScreenPriv->isUp) { - xf86SetCursor(pScreen, NullCursor, x, y); - ScreenPriv->isUp = FALSE; - } - return; + if (ScreenPriv->SWCursor || + !(pDev == inputInfo.pointer || !pDev->isMaster && pDev->u.master == inputInfo.pointer)) + (*ScreenPriv->spriteFuncs->SetCursor)(pDev, pScreen, NullCursor, x, y); + else if (ScreenPriv->isUp) { + xf86SetCursor(pScreen, NullCursor, x, y); + ScreenPriv->isUp = FALSE; + } + return; } - ScreenPriv->HotX = pCurs->bits->xhot; - ScreenPriv->HotY = pCurs->bits->yhot; + /* only update for VCP, otherwise we get cursor jumps when removing a + sprite. The second cursor is never HW rendered anyway. */ + if (pDev == inputInfo.pointer || + (!pDev->isMaster && pDev->u.master == inputInfo.pointer)) + { + ScreenPriv->CurrentCursor = pCurs; + ScreenPriv->x = x; + ScreenPriv->y = y; + ScreenPriv->CursorToRestore = NULL; + ScreenPriv->HotX = pCurs->bits->xhot; + ScreenPriv->HotY = pCurs->bits->yhot; - PointPriv = (miPointerScreenPtr)dixLookupPrivate(&pScreen->devPrivates, - miPointerScreenKey); - if (infoPtr->pScrn->vtSema && (ScreenPriv->ForceHWCursorCount || (( + if (!infoPtr->pScrn->vtSema) + ScreenPriv->SavedCursor = pCurs; + + if (infoPtr->pScrn->vtSema && (ScreenPriv->ForceHWCursorCount || (( #ifdef ARGB_CURSOR - pCurs->bits->argb && infoPtr->UseHWCursorARGB && - (*infoPtr->UseHWCursorARGB) (pScreen, pCurs) ) || ( - pCurs->bits->argb == 0 && + pCurs->bits->argb && infoPtr->UseHWCursorARGB && + (*infoPtr->UseHWCursorARGB) (pScreen, pCurs) ) || ( + pCurs->bits->argb == 0 && #endif - (pCurs->bits->height <= infoPtr->MaxHeight) && - (pCurs->bits->width <= infoPtr->MaxWidth) && - (!infoPtr->UseHWCursor || (*infoPtr->UseHWCursor)(pScreen, pCurs)))))) - { + (pCurs->bits->height <= infoPtr->MaxHeight) && + (pCurs->bits->width <= infoPtr->MaxWidth) && + (!infoPtr->UseHWCursor || (*infoPtr->UseHWCursor)(pScreen, pCurs)))))) + { - if (ScreenPriv->SWCursor) /* remove the SW cursor */ - (*ScreenPriv->spriteFuncs->SetCursor)(pScreen, NullCursor, x, y); + if (ScreenPriv->SWCursor) /* remove the SW cursor */ + (*ScreenPriv->spriteFuncs->SetCursor)(pDev, pScreen, NullCursor, x, y); - xf86SetCursor(pScreen, pCurs, x, y); - ScreenPriv->SWCursor = FALSE; - ScreenPriv->isUp = TRUE; - PointPriv->waitForUpdate = !infoPtr->pScrn->silkenMouse; - return; - } + xf86SetCursor(pScreen, pCurs, x, y); + ScreenPriv->SWCursor = FALSE; + ScreenPriv->isUp = TRUE; + PointPriv->waitForUpdate = !infoPtr->pScrn->silkenMouse; + return; + } - PointPriv->waitForUpdate = TRUE; + PointPriv->waitForUpdate = TRUE; - if (ScreenPriv->isUp) { - /* Remove the HW cursor, or make it transparent */ - if (infoPtr->Flags & HARDWARE_CURSOR_SHOW_TRANSPARENT) { - xf86SetTransparentCursor(pScreen); - } else { - xf86SetCursor(pScreen, NullCursor, x, y); - ScreenPriv->isUp = FALSE; - } - } + if (ScreenPriv->isUp) { + /* Remove the HW cursor, or make it transparent */ + if (infoPtr->Flags & HARDWARE_CURSOR_SHOW_TRANSPARENT) { + xf86SetTransparentCursor(pScreen); + } else { + xf86SetCursor(pScreen, NullCursor, x, y); + ScreenPriv->isUp = FALSE; + } + } - ScreenPriv->SWCursor = TRUE; + if (!ScreenPriv->SWCursor) + ScreenPriv->SWCursor = TRUE; + + } if (pCurs->bits->emptyMask && !ScreenPriv->showTransparent) pCurs = NullCursor; - (*ScreenPriv->spriteFuncs->SetCursor)(pScreen, pCurs, x, y); + + (*ScreenPriv->spriteFuncs->SetCursor)(pDev, pScreen, pCurs, x, y); } static void -xf86CursorMoveCursor(ScreenPtr pScreen, int x, int y) +xf86CursorMoveCursor(DeviceIntPtr pDev, ScreenPtr pScreen, int x, int y) { xf86CursorScreenPtr ScreenPriv = (xf86CursorScreenPtr)dixLookupPrivate( &pScreen->devPrivates, xf86CursorScreenKey); - ScreenPriv->x = x; - ScreenPriv->y = y; - - if (ScreenPriv->CursorToRestore) - xf86CursorSetCursor(pScreen, ScreenPriv->CursorToRestore, - ScreenPriv->x, ScreenPriv->y); - else if (ScreenPriv->SWCursor) - (*ScreenPriv->spriteFuncs->MoveCursor)(pScreen, x, y); - else if (ScreenPriv->isUp) - xf86MoveCursor(pScreen, x, y); + /* only update coordinate state for first sprite, otherwise we get jumps + when removing a sprite. The second sprite is never HW rendered anyway */ + if (pDev == inputInfo.pointer || + (!pDev->isMaster && pDev->u.master == inputInfo.pointer)) + { + ScreenPriv->x = x; + ScreenPriv->y = y; + + if (ScreenPriv->CursorToRestore) + xf86CursorSetCursor(pDev, pScreen, ScreenPriv->CursorToRestore, x, y); + else if (ScreenPriv->SWCursor) + (*ScreenPriv->spriteFuncs->MoveCursor)(pDev, pScreen, x, y); + else if (ScreenPriv->isUp) + xf86MoveCursor(pScreen, x, y); + } else + (*ScreenPriv->spriteFuncs->MoveCursor)(pDev, pScreen, x, y); } void xf86ForceHWCursor (ScreenPtr pScreen, Bool on) { + DeviceIntPtr pDev = inputInfo.pointer; xf86CursorScreenPtr ScreenPriv = (xf86CursorScreenPtr)dixLookupPrivate( &pScreen->devPrivates, xf86CursorScreenKey); @@ -372,7 +409,7 @@ xf86ForceHWCursor (ScreenPtr pScreen, Bool on) if (ScreenPriv->SWCursor && ScreenPriv->CurrentCursor) { ScreenPriv->HWCursorForced = TRUE; - xf86CursorSetCursor (pScreen, ScreenPriv->CurrentCursor, + xf86CursorSetCursor (pDev, pScreen, ScreenPriv->CurrentCursor, ScreenPriv->x, ScreenPriv->y); } else @@ -384,7 +421,7 @@ xf86ForceHWCursor (ScreenPtr pScreen, Bool on) if (--ScreenPriv->ForceHWCursorCount == 0) { if (ScreenPriv->HWCursorForced && ScreenPriv->CurrentCursor) - xf86CursorSetCursor (pScreen, ScreenPriv->CurrentCursor, + xf86CursorSetCursor (pDev, pScreen, ScreenPriv->CurrentCursor, ScreenPriv->x, ScreenPriv->y); } } @@ -401,3 +438,33 @@ xf86DestroyCursorInfoRec(xf86CursorInfoPtr infoPtr) { xfree(infoPtr); } + +/** + * New cursor has been created. Do your initalizations here. + */ +static Bool +xf86DeviceCursorInitialize(DeviceIntPtr pDev, ScreenPtr pScreen) +{ + int ret; + xf86CursorScreenPtr ScreenPriv = (xf86CursorScreenPtr)dixLookupPrivate( + &pScreen->devPrivates, xf86CursorScreenKey); + + /* Init SW cursor */ + ret = (*ScreenPriv->spriteFuncs->DeviceCursorInitialize)(pDev, pScreen); + + return ret; +} + +/** + * Cursor has been removed. Clean up after yourself. + */ +static void +xf86DeviceCursorCleanup(DeviceIntPtr pDev, ScreenPtr pScreen) +{ + xf86CursorScreenPtr ScreenPriv = (xf86CursorScreenPtr)dixLookupPrivate( + &pScreen->devPrivates, xf86CursorScreenKey); + + /* Clean up SW cursor */ + (*ScreenPriv->spriteFuncs->DeviceCursorCleanup)(pDev, pScreen); +} + diff --git a/xorg-server/hw/xfree86/ramdac/xf86HWCurs.c b/xorg-server/hw/xfree86/ramdac/xf86HWCurs.c index d10e283d7..4374e51d4 100644 --- a/xorg-server/hw/xfree86/ramdac/xf86HWCurs.c +++ b/xorg-server/hw/xfree86/ramdac/xf86HWCurs.c @@ -123,7 +123,7 @@ xf86SetCursor(ScreenPtr pScreen, CursorPtr pCurs, int x, int y) return; } - bits = (unsigned char *)dixLookupPrivate(&pCurs->devPrivates, pScreen); + bits = dixLookupPrivate(&pCurs->devPrivates, CursorScreenKey(pScreen)); x -= infoPtr->pScrn->frameX0 + ScreenPriv->HotX; y -= infoPtr->pScrn->frameY0 + ScreenPriv->HotY; @@ -133,7 +133,7 @@ xf86SetCursor(ScreenPtr pScreen, CursorPtr pCurs, int x, int y) #endif if (!bits) { bits = (*infoPtr->RealizeCursor)(infoPtr, pCurs); - dixSetPrivate(&pCurs->devPrivates, pScreen, bits); + dixSetPrivate(&pCurs->devPrivates, CursorScreenKey(pScreen), bits); } if (!(infoPtr->Flags & HARDWARE_CURSOR_UPDATE_UNHIDDEN)) @@ -255,7 +255,7 @@ RealizeCursorInterleave0(xf86CursorInfoPtr infoPtr, CursorPtr pCurs) DstM = (SCANLINE*)mem; if (!(infoPtr->Flags & HARDWARE_CURSOR_SWAP_SOURCE_AND_MASK)) DstM += words; - (void)memset(DstM, -1, words * sizeof(SCANLINE)); + memset(DstM, -1, words * sizeof(SCANLINE)); } return mem; } diff --git a/xorg-server/hw/xfree86/shadowfb/Makefile.in b/xorg-server/hw/xfree86/shadowfb/Makefile.in index ad684bff8..05c16caea 100644 --- a/xorg-server/hw/xfree86/shadowfb/Makefile.in +++ b/xorg-server/hw/xfree86/shadowfb/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -45,7 +45,6 @@ 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 \ @@ -71,9 +70,6 @@ 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) \ @@ -90,8 +86,9 @@ ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ -APPDEFAULTDIR = @APPDEFAULTDIR@ APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +APPLE_APPLICATION_ID = @APPLE_APPLICATION_ID@ +APPLE_APPLICATION_NAME = @APPLE_APPLICATION_NAME@ APP_MAN_DIR = @APP_MAN_DIR@ APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ AR = @AR@ @@ -112,10 +109,6 @@ 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@ @@ -137,6 +130,7 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOLT_BASH = @DOLT_BASH@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ @@ -146,18 +140,15 @@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ DSYMUTIL = @DSYMUTIL@ DTRACE = @DTRACE@ -ECHO = @ECHO@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ -FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ -FREETYPE_LIBS = @FREETYPE_LIBS@ GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ GLX_DEFINES = @GLX_DEFINES@ GL_CFLAGS = @GL_CFLAGS@ @@ -176,7 +167,7 @@ KDRIVE_LIBS = @KDRIVE_LIBS@ KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ -LAUNCHD = @LAUNCHD@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ LEX = @LEX@ @@ -190,7 +181,10 @@ LIBTOOL = @LIBTOOL@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LINUXDOC = @LINUXDOC@ +LIPO = @LIPO@ LN_S = @LN_S@ +LTCOMPILE = @LTCOMPILE@ +LTCXXCOMPILE = @LTCXXCOMPILE@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ @@ -202,8 +196,7 @@ MESA_SOURCE = @MESA_SOURCE@ MISC_MAN_DIR = @MISC_MAN_DIR@ MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ MKDIR_P = @MKDIR_P@ -MKFONTDIR = @MKFONTDIR@ -MKFONTSCALE = @MKFONTSCALE@ +NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCCLD = @OBJCCLD@ @@ -212,8 +205,8 @@ OBJCFLAGS = @OBJCFLAGS@ OBJCLINK = @OBJCLINK@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ @@ -246,7 +239,6 @@ VENDOR_NAME = @VENDOR_NAME@ VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ VENDOR_RELEASE = @VENDOR_RELEASE@ VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ XDMCP_CFLAGS = @XDMCP_CFLAGS@ @@ -256,27 +248,12 @@ XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@ XDMX_CFLAGS = @XDMX_CFLAGS@ XDMX_LIBS = @XDMX_LIBS@ XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ XEPHYR_INCS = @XEPHYR_INCS@ XEPHYR_LIBS = @XEPHYR_LIBS@ 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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ @@ -287,10 +264,6 @@ XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ XNEST_LIBS = @XNEST_LIBS@ XNEST_SYS_LIBS = @XNEST_SYS_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_INCS = @XORG_INCS@ XORG_LIBS = @XORG_LIBS@ @@ -299,13 +272,8 @@ XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ XORG_OS = @XORG_OS@ XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_LIBS@ +XPBPROXY_CFLAGS = @XPBPROXY_CFLAGS@ +XPBPROXY_LIBS = @XPBPROXY_LIBS@ XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ XSDL_INCS = @XSDL_INCS@ @@ -338,8 +306,7 @@ 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@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -359,7 +326,6 @@ driverdir = @driverdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ extdir = @extdir@ -ft_config = @ft_config@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ @@ -369,12 +335,12 @@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ -launchagentsdir = @launchagentsdir@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ logdir = @logdir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ moduledir = @moduledir@ @@ -392,8 +358,6 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ module_LTLIBRARIES = libshadowfb.la libshadowfb_la_LDFLAGS = -avoid-version libshadowfb_la_SOURCES = sfbmodule.c shadow.c @@ -408,8 +372,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ @@ -521,7 +485,7 @@ ID: $(HEADERS) $(SOURCES) $(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; nonemtpy = 1; } \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS diff --git a/xorg-server/hw/xfree86/shadowfb/shadow.c b/xorg-server/hw/xfree86/shadowfb/shadow.c index 74beefb67..ff775efbd 100644 --- a/xorg-server/hw/xfree86/shadowfb/shadow.c +++ b/xorg-server/hw/xfree86/shadowfb/shadow.c @@ -94,8 +94,10 @@ typedef struct { } ShadowGCRec, *ShadowGCPtr; -static DevPrivateKey ShadowScreenKey = &ShadowScreenKey; -static DevPrivateKey ShadowGCKey = &ShadowGCKey; +static int ShadowScreenKeyIndex; +static DevPrivateKey ShadowScreenKey = &ShadowScreenKeyIndex; +static int ShadowGCKeyIndex; +static DevPrivateKey ShadowGCKey = &ShadowGCKeyIndex; #define GET_SCREEN_PRIVATE(pScreen) \ (ShadowScreenPtr)dixLookupPrivate(&(pScreen)->devPrivates, ShadowScreenKey) diff --git a/xorg-server/hw/xfree86/utils/Makefile.am b/xorg-server/hw/xfree86/utils/Makefile.am index e3e7a6177..d27861b03 100644 --- a/xorg-server/hw/xfree86/utils/Makefile.am +++ b/xorg-server/hw/xfree86/utils/Makefile.am @@ -1,7 +1,3 @@ SUBDIRS = \ gtf \ - cvt \ - ioport \ - kbd_mode \ - xorgcfg \ - xorgconfig + cvt diff --git a/xorg-server/hw/xfree86/utils/Makefile.in b/xorg-server/hw/xfree86/utils/Makefile.in index 1a7c5f3b2..1fdee4a54 100644 --- a/xorg-server/hw/xfree86/utils/Makefile.in +++ b/xorg-server/hw/xfree86/utils/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -42,7 +42,6 @@ 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 \ @@ -68,8 +67,9 @@ ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ -APPDEFAULTDIR = @APPDEFAULTDIR@ APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +APPLE_APPLICATION_ID = @APPLE_APPLICATION_ID@ +APPLE_APPLICATION_NAME = @APPLE_APPLICATION_NAME@ APP_MAN_DIR = @APP_MAN_DIR@ APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ AR = @AR@ @@ -90,10 +90,6 @@ 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@ @@ -115,6 +111,7 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOLT_BASH = @DOLT_BASH@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ @@ -124,18 +121,15 @@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ DSYMUTIL = @DSYMUTIL@ DTRACE = @DTRACE@ -ECHO = @ECHO@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ -FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ -FREETYPE_LIBS = @FREETYPE_LIBS@ GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ GLX_DEFINES = @GLX_DEFINES@ GL_CFLAGS = @GL_CFLAGS@ @@ -154,7 +148,7 @@ KDRIVE_LIBS = @KDRIVE_LIBS@ KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ -LAUNCHD = @LAUNCHD@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ LEX = @LEX@ @@ -168,7 +162,10 @@ LIBTOOL = @LIBTOOL@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LINUXDOC = @LINUXDOC@ +LIPO = @LIPO@ LN_S = @LN_S@ +LTCOMPILE = @LTCOMPILE@ +LTCXXCOMPILE = @LTCXXCOMPILE@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ @@ -180,8 +177,7 @@ MESA_SOURCE = @MESA_SOURCE@ MISC_MAN_DIR = @MISC_MAN_DIR@ MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ MKDIR_P = @MKDIR_P@ -MKFONTDIR = @MKFONTDIR@ -MKFONTSCALE = @MKFONTSCALE@ +NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCCLD = @OBJCCLD@ @@ -190,8 +186,8 @@ OBJCFLAGS = @OBJCFLAGS@ OBJCLINK = @OBJCLINK@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ @@ -224,7 +220,6 @@ VENDOR_NAME = @VENDOR_NAME@ VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ VENDOR_RELEASE = @VENDOR_RELEASE@ VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ XDMCP_CFLAGS = @XDMCP_CFLAGS@ @@ -234,27 +229,12 @@ XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@ XDMX_CFLAGS = @XDMX_CFLAGS@ XDMX_LIBS = @XDMX_LIBS@ XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ XEPHYR_INCS = @XEPHYR_INCS@ XEPHYR_LIBS = @XEPHYR_LIBS@ 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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ @@ -265,10 +245,6 @@ XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ XNEST_LIBS = @XNEST_LIBS@ XNEST_SYS_LIBS = @XNEST_SYS_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_INCS = @XORG_INCS@ XORG_LIBS = @XORG_LIBS@ @@ -277,13 +253,8 @@ XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ XORG_OS = @XORG_OS@ XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_LIBS@ +XPBPROXY_CFLAGS = @XPBPROXY_CFLAGS@ +XPBPROXY_LIBS = @XPBPROXY_LIBS@ XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ XSDL_INCS = @XSDL_INCS@ @@ -316,8 +287,7 @@ 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@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -337,7 +307,6 @@ driverdir = @driverdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ extdir = @extdir@ -ft_config = @ft_config@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ @@ -347,12 +316,12 @@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ -launchagentsdir = @launchagentsdir@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ logdir = @logdir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ moduledir = @moduledir@ @@ -370,15 +339,9 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ SUBDIRS = \ gtf \ - cvt \ - ioport \ - kbd_mode \ - xorgcfg \ - xorgconfig + cvt all: all-recursive @@ -387,8 +350,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ @@ -494,7 +457,7 @@ ID: $(HEADERS) $(SOURCES) $(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; nonemtpy = 1; } \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS diff --git a/xorg-server/hw/xfree86/utils/cvt/Makefile.in b/xorg-server/hw/xfree86/utils/cvt/Makefile.in index 9c1b9c585..7cf615b34 100644 --- a/xorg-server/hw/xfree86/utils/cvt/Makefile.in +++ b/xorg-server/hw/xfree86/utils/cvt/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -77,7 +77,6 @@ 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 \ @@ -98,9 +97,6 @@ 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) \ @@ -118,8 +114,9 @@ ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ -APPDEFAULTDIR = @APPDEFAULTDIR@ APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +APPLE_APPLICATION_ID = @APPLE_APPLICATION_ID@ +APPLE_APPLICATION_NAME = @APPLE_APPLICATION_NAME@ APP_MAN_DIR = @APP_MAN_DIR@ APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ AR = @AR@ @@ -140,10 +137,6 @@ 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@ @@ -165,6 +158,7 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOLT_BASH = @DOLT_BASH@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ @@ -174,18 +168,15 @@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ DSYMUTIL = @DSYMUTIL@ DTRACE = @DTRACE@ -ECHO = @ECHO@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ -FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ -FREETYPE_LIBS = @FREETYPE_LIBS@ GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ GLX_DEFINES = @GLX_DEFINES@ GL_CFLAGS = @GL_CFLAGS@ @@ -204,7 +195,7 @@ KDRIVE_LIBS = @KDRIVE_LIBS@ KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ -LAUNCHD = @LAUNCHD@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ LEX = @LEX@ @@ -218,7 +209,10 @@ LIBTOOL = @LIBTOOL@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LINUXDOC = @LINUXDOC@ +LIPO = @LIPO@ LN_S = @LN_S@ +LTCOMPILE = @LTCOMPILE@ +LTCXXCOMPILE = @LTCXXCOMPILE@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ @@ -230,8 +224,7 @@ MESA_SOURCE = @MESA_SOURCE@ MISC_MAN_DIR = @MISC_MAN_DIR@ MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ MKDIR_P = @MKDIR_P@ -MKFONTDIR = @MKFONTDIR@ -MKFONTSCALE = @MKFONTSCALE@ +NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCCLD = @OBJCCLD@ @@ -240,8 +233,8 @@ OBJCFLAGS = @OBJCFLAGS@ OBJCLINK = @OBJCLINK@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ @@ -274,7 +267,6 @@ VENDOR_NAME = @VENDOR_NAME@ VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ VENDOR_RELEASE = @VENDOR_RELEASE@ VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ XDMCP_CFLAGS = @XDMCP_CFLAGS@ @@ -284,27 +276,12 @@ XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@ XDMX_CFLAGS = @XDMX_CFLAGS@ XDMX_LIBS = @XDMX_LIBS@ XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ XEPHYR_INCS = @XEPHYR_INCS@ XEPHYR_LIBS = @XEPHYR_LIBS@ 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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ @@ -315,10 +292,6 @@ XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ XNEST_LIBS = @XNEST_LIBS@ XNEST_SYS_LIBS = @XNEST_SYS_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_INCS = @XORG_INCS@ XORG_LIBS = @XORG_LIBS@ @@ -327,13 +300,8 @@ XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ XORG_OS = @XORG_OS@ XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_LIBS@ +XPBPROXY_CFLAGS = @XPBPROXY_CFLAGS@ +XPBPROXY_LIBS = @XPBPROXY_LIBS@ XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ XSDL_INCS = @XSDL_INCS@ @@ -366,8 +334,7 @@ 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@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -387,7 +354,6 @@ driverdir = @driverdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ extdir = @extdir@ -ft_config = @ft_config@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ @@ -397,12 +363,12 @@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ -launchagentsdir = @launchagentsdir@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ logdir = @logdir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ moduledir = @moduledir@ @@ -420,8 +386,6 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ INCLUDES = $(XORG_INCS) \ -I$(top_srcdir)/hw/xfree86/ddc \ -I$(top_srcdir)/hw/xfree86/parser @@ -477,8 +441,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ @@ -608,8 +572,8 @@ install-man1: $(man1_MANS) $(man_MANS) esac; \ done; \ for i in $$list; do \ - if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ - else file=$$i; fi; \ + if test -f $$i; then file=$$i; \ + else file=$(srcdir)/$$i; fi; \ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ case "$$ext" in \ 1*) ;; \ @@ -648,7 +612,7 @@ ID: $(HEADERS) $(SOURCES) $(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; nonemtpy = 1; } \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS diff --git a/xorg-server/hw/xfree86/utils/gtf/Makefile.in b/xorg-server/hw/xfree86/utils/gtf/Makefile.in index 2dd8c08f5..0e33af399 100644 --- a/xorg-server/hw/xfree86/utils/gtf/Makefile.in +++ b/xorg-server/hw/xfree86/utils/gtf/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -78,7 +78,6 @@ 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 \ @@ -98,9 +97,6 @@ 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) \ @@ -123,8 +119,9 @@ ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ -APPDEFAULTDIR = @APPDEFAULTDIR@ APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +APPLE_APPLICATION_ID = @APPLE_APPLICATION_ID@ +APPLE_APPLICATION_NAME = @APPLE_APPLICATION_NAME@ APP_MAN_DIR = @APP_MAN_DIR@ APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ AR = @AR@ @@ -145,10 +142,6 @@ 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@ @@ -170,6 +163,7 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOLT_BASH = @DOLT_BASH@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ @@ -179,18 +173,15 @@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ DSYMUTIL = @DSYMUTIL@ DTRACE = @DTRACE@ -ECHO = @ECHO@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ -FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ -FREETYPE_LIBS = @FREETYPE_LIBS@ GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ GLX_DEFINES = @GLX_DEFINES@ GL_CFLAGS = @GL_CFLAGS@ @@ -209,7 +200,7 @@ KDRIVE_LIBS = @KDRIVE_LIBS@ KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ -LAUNCHD = @LAUNCHD@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ LEX = @LEX@ @@ -223,7 +214,10 @@ LIBTOOL = @LIBTOOL@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LINUXDOC = @LINUXDOC@ +LIPO = @LIPO@ LN_S = @LN_S@ +LTCOMPILE = @LTCOMPILE@ +LTCXXCOMPILE = @LTCXXCOMPILE@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ @@ -235,8 +229,7 @@ MESA_SOURCE = @MESA_SOURCE@ MISC_MAN_DIR = @MISC_MAN_DIR@ MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ MKDIR_P = @MKDIR_P@ -MKFONTDIR = @MKFONTDIR@ -MKFONTSCALE = @MKFONTSCALE@ +NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCCLD = @OBJCCLD@ @@ -245,8 +238,8 @@ OBJCFLAGS = @OBJCFLAGS@ OBJCLINK = @OBJCLINK@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ @@ -279,7 +272,6 @@ VENDOR_NAME = @VENDOR_NAME@ VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ VENDOR_RELEASE = @VENDOR_RELEASE@ VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ XDMCP_CFLAGS = @XDMCP_CFLAGS@ @@ -289,27 +281,12 @@ XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@ XDMX_CFLAGS = @XDMX_CFLAGS@ XDMX_LIBS = @XDMX_LIBS@ XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ XEPHYR_INCS = @XEPHYR_INCS@ XEPHYR_LIBS = @XEPHYR_LIBS@ 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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ @@ -320,10 +297,6 @@ XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ XNEST_LIBS = @XNEST_LIBS@ XNEST_SYS_LIBS = @XNEST_SYS_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_INCS = @XORG_INCS@ XORG_LIBS = @XORG_LIBS@ @@ -332,13 +305,8 @@ XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ XORG_OS = @XORG_OS@ XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_LIBS@ +XPBPROXY_CFLAGS = @XPBPROXY_CFLAGS@ +XPBPROXY_LIBS = @XPBPROXY_LIBS@ XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ XSDL_INCS = @XSDL_INCS@ @@ -371,8 +339,7 @@ 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@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -392,7 +359,6 @@ driverdir = @driverdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ extdir = @extdir@ -ft_config = @ft_config@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ @@ -402,12 +368,12 @@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ -launchagentsdir = @launchagentsdir@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ logdir = @logdir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ moduledir = @moduledir@ @@ -425,8 +391,6 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ gtf_SOURCES = gtf.c gtf_CFLAGS = $(XORG_CFLAGS) gtf_LDADD = -lm @@ -479,8 +443,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ @@ -607,7 +571,7 @@ ID: $(HEADERS) $(SOURCES) $(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; nonemtpy = 1; } \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS diff --git a/xorg-server/hw/xfree86/utils/gtf/gtf.c b/xorg-server/hw/xfree86/utils/gtf/gtf.c index fd4a4f23c..8ce93276a 100644 --- a/xorg-server/hw/xfree86/utils/gtf/gtf.c +++ b/xorg-server/hw/xfree86/utils/gtf/gtf.c @@ -112,11 +112,6 @@ #include #include - -#if defined(__Lynx__) -#define rint(x) floor(x) -#endif - #define MARGIN_PERCENT 1.8 /* % of active vertical image */ #define CELL_GRAN 8.0 /* assumed character cell granularity */ #define MIN_PORCH 1 /* minimum front porch */ diff --git a/xorg-server/hw/xfree86/utils/ioport/Makefile.am b/xorg-server/hw/xfree86/utils/ioport/Makefile.am deleted file mode 100644 index 12f861372..000000000 --- a/xorg-server/hw/xfree86/utils/ioport/Makefile.am +++ /dev/null @@ -1,58 +0,0 @@ -# Copyright 2005 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. -# - -bin_PROGRAMS = ioport - -XFREE86_SRCDIR = $(top_srcdir)/hw/xfree86 -DUMMYLIB_SRCDIR = $(XFREE86_SRCDIR)/dummylib - -INCLUDES = $(XORG_INCS) -I$(DUMMYLIB_SRCDIR) - -ioport_CFLAGS = $(DIX_CFLAGS) $(XORG_CFLAGS) -ioport_LDADD = \ - ../../os-support/libxorgos.la \ - ../../dummylib/libdummy-nonserver.a \ - ${UTILS_SYS_LIBS} ${PCIACCESS_LIBS} - - -ioport_SOURCES = \ - ioport.c - -ioport_PROGRAM_LINKS = inb inw inl outb outw outl - -all-local: - @for i in $(ioport_PROGRAM_LINKS); do (set -x; \ - rm -f $$i; $(LN_S) ioport $$i); \ - done - -install-exec-hook: - @for i in $(ioport_PROGRAM_LINKS); do (set -x; \ - rm -f $(DESTDIR)$(bindir)/$$i; \ - (cd $(DESTDIR)$(bindir); $(LN_S) ioport $$i)); \ - done - diff --git a/xorg-server/hw/xfree86/utils/ioport/Makefile.in b/xorg-server/hw/xfree86/utils/ioport/Makefile.in deleted file mode 100644 index f2afaa3cc..000000000 --- a/xorg-server/hw/xfree86/utils/ioport/Makefile.in +++ /dev/null @@ -1,739 +0,0 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008 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@ - -# Copyright 2005 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. -# - -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 = ioport$(EXEEXT) -subdir = hw/xfree86/utils/ioport -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)" -binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) -PROGRAMS = $(bin_PROGRAMS) -am_ioport_OBJECTS = ioport-ioport.$(OBJEXT) -ioport_OBJECTS = $(am_ioport_OBJECTS) -am__DEPENDENCIES_1 = -ioport_DEPENDENCIES = ../../os-support/libxorgos.la \ - ../../dummylib/libdummy-nonserver.a $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) -ioport_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=link $(CCLD) $(ioport_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ - $(LDFLAGS) -o $@ -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include -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 = $(ioport_SOURCES) -DIST_SOURCES = $(ioport_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@ -DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ -DRI2PROTO_LIBS = @DRI2PROTO_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@ -DSYMUTIL = @DSYMUTIL@ -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@ -GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ -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@ -LAUNCHD = @LAUNCHD@ -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@ -NMEDIT = @NMEDIT@ -OBJC = @OBJC@ -OBJCCLD = @OBJCCLD@ -OBJCDEPMODE = @OBJCDEPMODE@ -OBJCFLAGS = @OBJCFLAGS@ -OBJCLINK = @OBJCLINK@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ -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@ -PCIACCESS_CFLAGS = @PCIACCESS_CFLAGS@ -PCIACCESS_LIBS = @PCIACCESS_LIBS@ -PCI_TXT_IDS_PATH = @PCI_TXT_IDS_PATH@ -PERL = @PERL@ -PKG_CONFIG = @PKG_CONFIG@ -PROJECTROOT = @PROJECTROOT@ -PS2PDF = @PS2PDF@ -RANLIB = @RANLIB@ -RAWCPP = @RAWCPP@ -RAWCPPFLAGS = @RAWCPPFLAGS@ -SED = @SED@ -SERVER_MISC_CONFIG_PATH = @SERVER_MISC_CONFIG_PATH@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ -SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ -STRIP = @STRIP@ -TSLIB_CFLAGS = @TSLIB_CFLAGS@ -TSLIB_LIBS = @TSLIB_LIBS@ -UTILS_SYS_LIBS = @UTILS_SYS_LIBS@ -VENDOR_MAN_VERSION = @VENDOR_MAN_VERSION@ -VENDOR_NAME = @VENDOR_NAME@ -VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ -VENDOR_RELEASE = @VENDOR_RELEASE@ -VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ -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_CFLAGS = @XDMX_CFLAGS@ -XDMX_LIBS = @XDMX_LIBS@ -XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ -XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ -XEPHYR_INCS = @XEPHYR_INCS@ -XEPHYR_LIBS = @XEPHYR_LIBS@ -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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ -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@ -XNEST_SYS_LIBS = @XNEST_SYS_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_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@ -XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_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@ -XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ -XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ -XTSTEXAMPLES_DEP_LIBS = @XTSTEXAMPLES_DEP_LIBS@ -XVFB_LIBS = @XVFB_LIBS@ -XVFB_SYS_LIBS = @XVFB_SYS_LIBS@ -XWINMODULES_CFLAGS = @XWINMODULES_CFLAGS@ -XWINMODULES_LIBS = @XWINMODULES_LIBS@ -XWIN_LIBS = @XWIN_LIBS@ -XWIN_SERVER_NAME = @XWIN_SERVER_NAME@ -XWIN_SYS_LIBS = @XWIN_SYS_LIBS@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -__XCONFIGFILE__ = @__XCONFIGFILE__@ -abi_ansic = @abi_ansic@ -abi_extension = @abi_extension@ -abi_font = @abi_font@ -abi_videodrv = @abi_videodrv@ -abi_xinput = @abi_xinput@ -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@ -launchagentsdir = @launchagentsdir@ -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_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ -XFREE86_SRCDIR = $(top_srcdir)/hw/xfree86 -DUMMYLIB_SRCDIR = $(XFREE86_SRCDIR)/dummylib -INCLUDES = $(XORG_INCS) -I$(DUMMYLIB_SRCDIR) -ioport_CFLAGS = $(DIX_CFLAGS) $(XORG_CFLAGS) -ioport_LDADD = \ - ../../os-support/libxorgos.la \ - ../../dummylib/libdummy-nonserver.a \ - ${UTILS_SYS_LIBS} ${PCIACCESS_LIBS} - -ioport_SOURCES = \ - ioport.c - -ioport_PROGRAM_LINKS = inb inw inl outb outw outl -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/xfree86/utils/ioport/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign hw/xfree86/utils/ioport/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) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ - $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --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 -ioport$(EXEEXT): $(ioport_OBJECTS) $(ioport_DEPENDENCIES) - @rm -f ioport$(EXEEXT) - $(ioport_LINK) $(ioport_OBJECTS) $(ioport_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioport-ioport.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 $@ $< - -ioport-ioport.o: ioport.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ioport_CFLAGS) $(CFLAGS) -MT ioport-ioport.o -MD -MP -MF $(DEPDIR)/ioport-ioport.Tpo -c -o ioport-ioport.o `test -f 'ioport.c' || echo '$(srcdir)/'`ioport.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/ioport-ioport.Tpo $(DEPDIR)/ioport-ioport.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ioport.c' object='ioport-ioport.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) $(ioport_CFLAGS) $(CFLAGS) -c -o ioport-ioport.o `test -f 'ioport.c' || echo '$(srcdir)/'`ioport.c - -ioport-ioport.obj: ioport.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ioport_CFLAGS) $(CFLAGS) -MT ioport-ioport.obj -MD -MP -MF $(DEPDIR)/ioport-ioport.Tpo -c -o ioport-ioport.obj `if test -f 'ioport.c'; then $(CYGPATH_W) 'ioport.c'; else $(CYGPATH_W) '$(srcdir)/ioport.c'; fi` -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/ioport-ioport.Tpo $(DEPDIR)/ioport-ioport.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ioport.c' object='ioport-ioport.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) $(ioport_CFLAGS) $(CFLAGS) -c -o ioport-ioport.obj `if test -f 'ioport.c'; then $(CYGPATH_W) 'ioport.c'; else $(CYGPATH_W) '$(srcdir)/ioport.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; nonemtpy = 1; } \ - END { if (nonempty) { 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; nonempty = 1; } \ - END { if (nonempty) { 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=; \ - 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; nonempty = 1; } \ - END { if (nonempty) { 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) all-local -installdirs: - for dir in "$(DESTDIR)$(bindir)"; 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-dvi: install-dvi-am - -install-exec-am: install-binPROGRAMS - @$(NORMAL_INSTALL) - $(MAKE) $(AM_MAKEFLAGS) install-exec-hook - -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-binPROGRAMS - -.MAKE: install-am install-exec-am install-strip - -.PHONY: CTAGS GTAGS all all-am all-local 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-exec-hook 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-binPROGRAMS - - -all-local: - @for i in $(ioport_PROGRAM_LINKS); do (set -x; \ - rm -f $$i; $(LN_S) ioport $$i); \ - done - -install-exec-hook: - @for i in $(ioport_PROGRAM_LINKS); do (set -x; \ - rm -f $(DESTDIR)$(bindir)/$$i; \ - (cd $(DESTDIR)$(bindir); $(LN_S) ioport $$i)); \ - done -# 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/xorg-server/hw/xfree86/utils/ioport/ioport.c b/xorg-server/hw/xfree86/utils/ioport/ioport.c deleted file mode 100644 index 737043462..000000000 --- a/xorg-server/hw/xfree86/utils/ioport/ioport.c +++ /dev/null @@ -1,491 +0,0 @@ -/* - * Copyright 2002 through 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. - */ - -#include "compiler.h" -#include "xf86_OSproc.h" - -#include - -static char *MyName; -static int Port = -1, Index = -1; -static unsigned int Value; - -static void -inb_usage -( -#ifdef __STDC__ - void -#endif -) -{ - fprintf(stderr, "inb [-i ] \n"); -} - -static void -inw_usage -( -#ifdef __STDC__ - void -#endif -) -{ - fprintf(stderr, "inw [-i ] \n"); -} - -static void -inl_usage -( -#ifdef __STDC__ - void -#endif -) -{ - fprintf(stderr, "inl [-i ] \n"); -} - - -static void -outb_usage -( -#ifdef __STDC__ - void -#endif -) -{ - fprintf(stderr, "outb [-i ] \n"); -} - -static void -outw_usage -( -#ifdef __STDC__ - void -#endif -) -{ - fprintf(stderr, "outw [-i ] \n"); -} - -static void -outl_usage -( -#ifdef __STDC__ - void -#endif -) -{ - fprintf(stderr, "outl [-i ] \n"); -} - -static int -#ifdef __STDC__ -parse_number -( - const char *String, - void (* Usage)(void), - unsigned int Maximum) -#else -parse_number(String, Usage, Maximum) - const char *String; - void (* Usage)(); - unsigned int Maximum; -#endif -{ - char *BadString = (char *)0; - unsigned int Number = strtoul(String, &BadString, 0); - if ((Number > Maximum) || errno || - (BadString && *BadString)) - { - (*Usage)(); - exit(1); - } - - return (Number); -} - -static void -#ifdef __STDC__ -input_parse -( - int argc, - char **argv, - void (* Usage)(void)) -#else -input_parse(argc, argv, Usage) - int argc; - char **argv; - void (* Usage)(); -#endif -{ - if ((argc < 2) || (argc > 4)) - { - (*Usage)(); - exit(1); - } - - for(; (++argv, --argc); ) - { - if ((Index < 0) && - (argv[0][0] == '-') && - (argv[0][1] == 'i')) - { - if ((++argv[0], *(++argv[0])) || (++argv, --argc)) - Index = parse_number(argv[0], Usage, 0xFFU); - else - { - (*Usage)(); - exit(1); - } - } - else if (Port < 0) - { - Port = parse_number(argv[0], Usage, 0xFFFFU); - } - else - { - (*Usage)(); - exit(1); - } - } -} - -static void -#ifdef __STDC__ -output_parse -( - int argc, - char **argv, - void (* Usage)(void), - unsigned int Maximum -) -#else -output_parse(argc, argv, Usage, Maximum) - int argc; - char **argv; - void (* Usage)(); - unsigned int Maximum; -#endif -{ - char ValueSpecified = 0; - - if ((argc < 3) || (argc > 5)) - { - (*Usage)(); - exit(1); - } - - for (; (++argv, --argc); ) - { - if ((Index < 0) && - (argv[0][0] == '-') && - (argv[0][1] == 'i')) - { - if ((++argv[0], *(++argv[0])) || (++argv, --argc)) - Index = parse_number(argv[0], Usage, 0xFFU); - else - { - (*Usage)(); - exit(1); - } - } - else if (Port < 0) - { - Port = parse_number(argv[0], Usage, 0xFFFFU); - } - else if (!ValueSpecified) - { - Value = parse_number(argv[0], Usage, Maximum); - ValueSpecified = 1; - } - else - { - (*Usage)(); - exit(1); - } - } - - if (!ValueSpecified) - { - (*Usage)(); - exit(1); - } -} - -static void -#ifdef __STDC__ -do_inb -( - int argc, - char **argv -) -#else -do_inb(argc, argv) - int argc; - char **argv; -#endif -{ - input_parse(argc, argv, inb_usage); - - xf86EnableIO(); - - if (Index >= 0) - { - if (Port == 0x03C0U) - { /* Attribute Controller is different */ - unsigned short gens1; - - gens1 = ((inb(0x03CCU) & 0x01U) << 5) + 0x03BA; - (void) inb(gens1); - Index = (Index & 0x1FU) | 0x20U; - } - outb(Port, Index); - Port++; - } - Value = inb(Port); - - xf86DisableIO(); - - printf("0x%02X\n", Value); -} - -static void -#ifdef __STDC__ -do_inw -( - int argc, - char **argv -) -#else -do_inw(argc, argv) - int argc; - char **argv; -#endif -{ - input_parse(argc, argv, inw_usage); - - xf86EnableIO(); - - if (Index >= 0) - { - outb(Port, Index); - Port++; - } - Value = inw(Port); - - xf86DisableIO(); - - printf("0x%04X\n", Value); -} - -static void -#ifdef __STDC__ -do_inl -( - int argc, - char **argv -) -#else -do_inl(argc, argv) - int argc; - char **argv; -#endif -{ - input_parse(argc, argv, inl_usage); - - xf86EnableIO(); - - if (Index >= 0) - { - outb(Port, Index); - Port++; - } - Value = inl(Port); - - xf86DisableIO(); - - printf("0x%08X\n", Value); -} - -static void -#ifdef __STDC__ -do_outb -( - int argc, - char **argv -) -#else -do_outb(argc, argv) - int argc; - char **argv; -#endif -{ - output_parse(argc, argv, outb_usage, 0xFFU); - - xf86EnableIO(); - - if (Index >= 0) - { - if (Port == 0x03C0U) - { /* Attribute controller is different */ - unsigned short gens1; - - gens1 = ((inb(0x03CCU) & 0x01U) << 5) + 0x03BA; - (void) inb(gens1); - outb(0x03C0U, (Index & 0x1FU) | 0x20U); - } - else - { - outb(Port, Index); - Port++; - } - } - outb(Port, Value); - - xf86DisableIO(); - -} - -static void -#ifdef __STDC__ -do_outw -( - int argc, - char **argv -) -#else -do_outw(argc, argv) - int argc; - char **argv; -#endif -{ - output_parse(argc, argv, outw_usage, 0xFFFFU); - - xf86EnableIO(); - - if (Index >= 0) - { - outb(Port, Index); - Port++; - } - outw(Port, Value); - - xf86DisableIO(); - -} - -static void -#ifdef __STDC__ -do_outl -( - int argc, - char **argv -) -#else -do_outl(argc, argv) - int argc; - char **argv; -#endif -{ - output_parse(argc, argv, outl_usage, 0xFFFFFFFFU); - - xf86EnableIO(); - - if (Index >= 0) - { - outb(Port, Index); - Port++; - } - outl(Port, Value); - - xf86DisableIO(); - -} - -static void -usage -( -#ifdef __STDC__ - void -#endif -) -{ - inb_usage(); - inw_usage(); - inl_usage(); - outb_usage(); - outw_usage(); - outl_usage(); - exit(1); -} - -int -#ifdef __STDC__ -main -( - int argc, - char **argv -) -#else -main(argc, argv) - int argc; - char **argv; -#endif -{ - struct - { - char *Name; -#ifdef __STDC__ - void (* Function)(int, char **); -#else - void (* Function)(); -#endif - } - *Function_Entry, Function_Table[] = - { - {"inb", do_inb}, - {"inw", do_inw}, - {"inl", do_inl}, - {"outb", do_outb}, - {"outw", do_outw}, - {"outl", do_outl}, -#ifdef __STDC__ - {(char *)0, (void (*)(int, char **))usage} -#else - {(char *)0, usage} -#endif - }; - - /* Get name by which we were invoked */ - for (MyName = argv[0]; argv[0][0]; ) - if (*(argv[0]++) == '/') - MyName = argv[0]; - - /* Look up name in table and call corresponding function */ - for (Function_Entry = Function_Table; - Function_Entry->Name && - strcmp(MyName, Function_Entry->Name); - Function_Entry++); - (*Function_Entry->Function)(argc, argv); - - return (0); -} - diff --git a/xorg-server/hw/xfree86/utils/kbd_mode/Makefile.am b/xorg-server/hw/xfree86/utils/kbd_mode/Makefile.am deleted file mode 100644 index 1b28411cf..000000000 --- a/xorg-server/hw/xfree86/utils/kbd_mode/Makefile.am +++ /dev/null @@ -1,70 +0,0 @@ -# $Id$ -# -# Copyright 2005 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. -# - -if BUILD_KBD_MODE -bin_PROGRAMS = kbd_mode - -if BSD_KBD_MODE -INCLUDES = $(XORG_INCS) -kbd_mode_CFLAGS = $(XORG_CFLAGS) -kbd_mode_SOURCES = bsd-kbd_mode.c -MAN_SRC = bsd-kbd_mode.man.pre -endif - -if SUN_KBD_MODE -kbd_mode_SOURCES = sun-kbd_mode.c -MAN_SRC = sun-kbd_mode.man.pre -endif - -appmandir = $(APP_MAN_DIR) - -appman_PRE = kbd_mode.man -appman_DATA = $(appman_PRE:man=@APP_MAN_SUFFIX@) -BUILT_SOURCES = $(appman_PRE) -CLEANFILES = $(appman_PRE) $(appman_DATA) - -all-local: kbd_mode.man.pre $(appman_DATA) - -kbd_mode.man.pre: $(MAN_SRC) - $(LN_S) $(MAN_SRC) kbd_mode.man.pre - -else -all-local: -endif - -include $(top_srcdir)/cpprules.in - -SUFFIXES += .$(APP_MAN_SUFFIX) .man - -.man.$(APP_MAN_SUFFIX): - -rm -f $@ - $(LN_S) $< $@ - -EXTRA_DIST = bsd-kbd_mode.man.pre sun-kbd_mode.man.pre diff --git a/xorg-server/hw/xfree86/utils/kbd_mode/Makefile.in b/xorg-server/hw/xfree86/utils/kbd_mode/Makefile.in deleted file mode 100644 index 2de3e8eaa..000000000 --- a/xorg-server/hw/xfree86/utils/kbd_mode/Makefile.in +++ /dev/null @@ -1,829 +0,0 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008 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@ - -# $Id$ -# -# Copyright 2005 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. -# - -# -*- 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@ -@BUILD_KBD_MODE_TRUE@bin_PROGRAMS = kbd_mode$(EXEEXT) -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ - $(top_srcdir)/cpprules.in -subdir = hw/xfree86/utils/kbd_mode -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)$(appmandir)" -binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) -PROGRAMS = $(bin_PROGRAMS) -am__kbd_mode_SOURCES_DIST = bsd-kbd_mode.c sun-kbd_mode.c -@BSD_KBD_MODE_FALSE@@BUILD_KBD_MODE_TRUE@@SUN_KBD_MODE_TRUE@am_kbd_mode_OBJECTS = kbd_mode-sun-kbd_mode.$(OBJEXT) -@BSD_KBD_MODE_TRUE@@BUILD_KBD_MODE_TRUE@am_kbd_mode_OBJECTS = kbd_mode-bsd-kbd_mode.$(OBJEXT) -kbd_mode_OBJECTS = $(am_kbd_mode_OBJECTS) -kbd_mode_LDADD = $(LDADD) -kbd_mode_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=link $(CCLD) $(kbd_mode_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ - $(LDFLAGS) -o $@ -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include -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 = $(kbd_mode_SOURCES) -DIST_SOURCES = $(am__kbd_mode_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|^.*/||'`; -appmanDATA_INSTALL = $(INSTALL_DATA) -DATA = $(appman_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@ -DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ -DRI2PROTO_LIBS = @DRI2PROTO_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@ -DSYMUTIL = @DSYMUTIL@ -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@ -GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ -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@ -LAUNCHD = @LAUNCHD@ -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@ -NMEDIT = @NMEDIT@ -OBJC = @OBJC@ -OBJCCLD = @OBJCCLD@ -OBJCDEPMODE = @OBJCDEPMODE@ -OBJCFLAGS = @OBJCFLAGS@ -OBJCLINK = @OBJCLINK@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ -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@ -PCIACCESS_CFLAGS = @PCIACCESS_CFLAGS@ -PCIACCESS_LIBS = @PCIACCESS_LIBS@ -PCI_TXT_IDS_PATH = @PCI_TXT_IDS_PATH@ -PERL = @PERL@ -PKG_CONFIG = @PKG_CONFIG@ -PROJECTROOT = @PROJECTROOT@ -PS2PDF = @PS2PDF@ -RANLIB = @RANLIB@ -RAWCPP = @RAWCPP@ -RAWCPPFLAGS = @RAWCPPFLAGS@ -SED = sed -SERVER_MISC_CONFIG_PATH = @SERVER_MISC_CONFIG_PATH@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ -SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ -STRIP = @STRIP@ -TSLIB_CFLAGS = @TSLIB_CFLAGS@ -TSLIB_LIBS = @TSLIB_LIBS@ -UTILS_SYS_LIBS = @UTILS_SYS_LIBS@ -VENDOR_MAN_VERSION = @VENDOR_MAN_VERSION@ -VENDOR_NAME = @VENDOR_NAME@ -VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ -VENDOR_RELEASE = @VENDOR_RELEASE@ -VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ -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_CFLAGS = @XDMX_CFLAGS@ -XDMX_LIBS = @XDMX_LIBS@ -XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ -XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ -XEPHYR_INCS = @XEPHYR_INCS@ -XEPHYR_LIBS = @XEPHYR_LIBS@ -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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ -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@ -XNEST_SYS_LIBS = @XNEST_SYS_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_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@ -XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_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@ -XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ -XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ -XTSTEXAMPLES_DEP_LIBS = @XTSTEXAMPLES_DEP_LIBS@ -XVFB_LIBS = @XVFB_LIBS@ -XVFB_SYS_LIBS = @XVFB_SYS_LIBS@ -XWINMODULES_CFLAGS = @XWINMODULES_CFLAGS@ -XWINMODULES_LIBS = @XWINMODULES_LIBS@ -XWIN_LIBS = @XWIN_LIBS@ -XWIN_SERVER_NAME = @XWIN_SERVER_NAME@ -XWIN_SYS_LIBS = @XWIN_SYS_LIBS@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -__XCONFIGFILE__ = @__XCONFIGFILE__@ -abi_ansic = @abi_ansic@ -abi_extension = @abi_extension@ -abi_font = @abi_font@ -abi_videodrv = @abi_videodrv@ -abi_xinput = @abi_xinput@ -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@ -launchagentsdir = @launchagentsdir@ -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_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ -@BSD_KBD_MODE_TRUE@@BUILD_KBD_MODE_TRUE@INCLUDES = $(XORG_INCS) -@BSD_KBD_MODE_TRUE@@BUILD_KBD_MODE_TRUE@kbd_mode_CFLAGS = $(XORG_CFLAGS) -@BSD_KBD_MODE_TRUE@@BUILD_KBD_MODE_TRUE@kbd_mode_SOURCES = bsd-kbd_mode.c -@BUILD_KBD_MODE_TRUE@@SUN_KBD_MODE_TRUE@kbd_mode_SOURCES = sun-kbd_mode.c -@BSD_KBD_MODE_TRUE@@BUILD_KBD_MODE_TRUE@MAN_SRC = bsd-kbd_mode.man.pre -@BUILD_KBD_MODE_TRUE@@SUN_KBD_MODE_TRUE@MAN_SRC = sun-kbd_mode.man.pre -@BUILD_KBD_MODE_TRUE@appmandir = $(APP_MAN_DIR) -@BUILD_KBD_MODE_TRUE@appman_PRE = kbd_mode.man -@BUILD_KBD_MODE_TRUE@appman_DATA = $(appman_PRE:man=@APP_MAN_SUFFIX@) -@BUILD_KBD_MODE_TRUE@BUILT_SOURCES = $(appman_PRE) -@BUILD_KBD_MODE_TRUE@CLEANFILES = $(appman_PRE) $(appman_DATA) -SUFFIXES = .pre .man .man.pre .$(APP_MAN_SUFFIX) .man - -# 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) - -EXTRA_DIST = bsd-kbd_mode.man.pre sun-kbd_mode.man.pre -all: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) all-am - -.SUFFIXES: -.SUFFIXES: .pre .man .man.pre .$(APP_MAN_SUFFIX) .man .c .lo .o .obj -$(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/xfree86/utils/kbd_mode/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign hw/xfree86/utils/kbd_mode/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) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ - $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --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 -kbd_mode$(EXEEXT): $(kbd_mode_OBJECTS) $(kbd_mode_DEPENDENCIES) - @rm -f kbd_mode$(EXEEXT) - $(kbd_mode_LINK) $(kbd_mode_OBJECTS) $(kbd_mode_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kbd_mode-bsd-kbd_mode.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kbd_mode-sun-kbd_mode.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 $@ $< - -kbd_mode-bsd-kbd_mode.o: bsd-kbd_mode.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(kbd_mode_CFLAGS) $(CFLAGS) -MT kbd_mode-bsd-kbd_mode.o -MD -MP -MF $(DEPDIR)/kbd_mode-bsd-kbd_mode.Tpo -c -o kbd_mode-bsd-kbd_mode.o `test -f 'bsd-kbd_mode.c' || echo '$(srcdir)/'`bsd-kbd_mode.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/kbd_mode-bsd-kbd_mode.Tpo $(DEPDIR)/kbd_mode-bsd-kbd_mode.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='bsd-kbd_mode.c' object='kbd_mode-bsd-kbd_mode.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) $(kbd_mode_CFLAGS) $(CFLAGS) -c -o kbd_mode-bsd-kbd_mode.o `test -f 'bsd-kbd_mode.c' || echo '$(srcdir)/'`bsd-kbd_mode.c - -kbd_mode-bsd-kbd_mode.obj: bsd-kbd_mode.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(kbd_mode_CFLAGS) $(CFLAGS) -MT kbd_mode-bsd-kbd_mode.obj -MD -MP -MF $(DEPDIR)/kbd_mode-bsd-kbd_mode.Tpo -c -o kbd_mode-bsd-kbd_mode.obj `if test -f 'bsd-kbd_mode.c'; then $(CYGPATH_W) 'bsd-kbd_mode.c'; else $(CYGPATH_W) '$(srcdir)/bsd-kbd_mode.c'; fi` -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/kbd_mode-bsd-kbd_mode.Tpo $(DEPDIR)/kbd_mode-bsd-kbd_mode.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='bsd-kbd_mode.c' object='kbd_mode-bsd-kbd_mode.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) $(kbd_mode_CFLAGS) $(CFLAGS) -c -o kbd_mode-bsd-kbd_mode.obj `if test -f 'bsd-kbd_mode.c'; then $(CYGPATH_W) 'bsd-kbd_mode.c'; else $(CYGPATH_W) '$(srcdir)/bsd-kbd_mode.c'; fi` - -kbd_mode-sun-kbd_mode.o: sun-kbd_mode.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(kbd_mode_CFLAGS) $(CFLAGS) -MT kbd_mode-sun-kbd_mode.o -MD -MP -MF $(DEPDIR)/kbd_mode-sun-kbd_mode.Tpo -c -o kbd_mode-sun-kbd_mode.o `test -f 'sun-kbd_mode.c' || echo '$(srcdir)/'`sun-kbd_mode.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/kbd_mode-sun-kbd_mode.Tpo $(DEPDIR)/kbd_mode-sun-kbd_mode.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sun-kbd_mode.c' object='kbd_mode-sun-kbd_mode.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) $(kbd_mode_CFLAGS) $(CFLAGS) -c -o kbd_mode-sun-kbd_mode.o `test -f 'sun-kbd_mode.c' || echo '$(srcdir)/'`sun-kbd_mode.c - -kbd_mode-sun-kbd_mode.obj: sun-kbd_mode.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(kbd_mode_CFLAGS) $(CFLAGS) -MT kbd_mode-sun-kbd_mode.obj -MD -MP -MF $(DEPDIR)/kbd_mode-sun-kbd_mode.Tpo -c -o kbd_mode-sun-kbd_mode.obj `if test -f 'sun-kbd_mode.c'; then $(CYGPATH_W) 'sun-kbd_mode.c'; else $(CYGPATH_W) '$(srcdir)/sun-kbd_mode.c'; fi` -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/kbd_mode-sun-kbd_mode.Tpo $(DEPDIR)/kbd_mode-sun-kbd_mode.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sun-kbd_mode.c' object='kbd_mode-sun-kbd_mode.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) $(kbd_mode_CFLAGS) $(CFLAGS) -c -o kbd_mode-sun-kbd_mode.obj `if test -f 'sun-kbd_mode.c'; then $(CYGPATH_W) 'sun-kbd_mode.c'; else $(CYGPATH_W) '$(srcdir)/sun-kbd_mode.c'; fi` - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -install-appmanDATA: $(appman_DATA) - @$(NORMAL_INSTALL) - test -z "$(appmandir)" || $(MKDIR_P) "$(DESTDIR)$(appmandir)" - @list='$(appman_DATA)'; for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f=$(am__strip_dir) \ - echo " $(appmanDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(appmandir)/$$f'"; \ - $(appmanDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(appmandir)/$$f"; \ - done - -uninstall-appmanDATA: - @$(NORMAL_UNINSTALL) - @list='$(appman_DATA)'; for p in $$list; do \ - f=$(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(appmandir)/$$f'"; \ - rm -f "$(DESTDIR)$(appmandir)/$$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; nonemtpy = 1; } \ - END { if (nonempty) { 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; nonempty = 1; } \ - END { if (nonempty) { 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=; \ - 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; nonempty = 1; } \ - END { if (nonempty) { 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: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) check-am -all-am: Makefile $(PROGRAMS) $(DATA) all-local -installdirs: - for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(appmandir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) 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." - -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) -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-appmanDATA - -install-dvi: install-dvi-am - -install-exec-am: install-binPROGRAMS - -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-appmanDATA uninstall-binPROGRAMS - -.MAKE: install-am install-strip - -.PHONY: CTAGS GTAGS all all-am all-local 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-appmanDATA 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-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-appmanDATA \ - uninstall-binPROGRAMS - - -@BUILD_KBD_MODE_TRUE@all-local: kbd_mode.man.pre $(appman_DATA) - -@BUILD_KBD_MODE_TRUE@kbd_mode.man.pre: $(MAN_SRC) -@BUILD_KBD_MODE_TRUE@ $(LN_S) $(MAN_SRC) kbd_mode.man.pre - -@BUILD_KBD_MODE_FALSE@all-local: - -.pre: - $(RAWCPP) $(RAWCPPFLAGS) $(CPP_FILES_FLAGS) < $< | $(CPP_SED_MAGIC) > $@ - -.man.pre.man: - $(RAWCPP) $(RAWCPPFLAGS) $(MANDEFS) $(EXTRAMANDEFS) < $< | $(CPP_SED_MAGIC) > $@ - -.man.$(APP_MAN_SUFFIX): - -rm -f $@ - $(LN_S) $< $@ -# 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/xorg-server/hw/xfree86/utils/kbd_mode/bsd-kbd_mode.c b/xorg-server/hw/xfree86/utils/kbd_mode/bsd-kbd_mode.c deleted file mode 100644 index 5f8bdbd7f..000000000 --- a/xorg-server/hw/xfree86/utils/kbd_mode/bsd-kbd_mode.c +++ /dev/null @@ -1,91 +0,0 @@ -/* Keyboard mode control program for 386BSD */ - -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include "input.h" -#include "scrnintstr.h" - -#include "xf86.h" -#include "xf86Priv.h" -#include "xf86_OSlib.h" - -static int fd; - -void -msg (char* s) -{ - perror (s); - close (fd); - exit (-1); -} - -int -main(int argc, char** argv) -{ -#if defined(SYSCONS_SUPPORT) || defined(PCVT_SUPPORT) - vtmode_t vtmode; -#endif - Bool syscons = FALSE; - - if ((fd = open("/dev/vga",O_RDONLY,0)) <0) - msg ("Cannot open /dev/vga"); - -#if defined(SYSCONS_SUPPORT) || defined(PCVT_SUPPORT) - /* Check if syscons */ - if (ioctl(fd, VT_GETMODE, &vtmode) >= 0) - syscons = TRUE; -#endif - - if (0 == strcmp (argv[1], "-u")) - { - if (syscons) - { -#if defined(SYSCONS_SUPPORT) || defined(PCVT_SUPPORT) - ioctl (fd, KDSKBMODE, K_RAW); -#endif - } - else - { - if (ioctl (fd, CONSOLE_X_MODE_ON, 0) < 0) - { - close (fd); - exit (0); /* Assume codrv, so nothing to do */ - } - } - } - else if (0 == strcmp (argv[1], "-a")) - { - if (syscons) - { -#if defined(SYSCONS_SUPPORT) || defined(PCVT_SUPPORT) - ioctl (fd, KDSKBMODE, K_XLATE); -#endif - } - else - { - if (ioctl (fd, CONSOLE_X_MODE_OFF, 0) < 0) - { - close (fd); - exit (0); /* Assume codrv, so nothing to do */ - } - } - } - else - { - close (fd); - fprintf (stderr,"Usage: %s [-u|-a]\n",argv[0]); - fprintf (stderr,"-u for sending up down key events in x mode.\n"); - fprintf (stderr,"-a for sending ascii keys in normal use.\n"); - exit (-1); - } - close (fd); - exit (0); -} diff --git a/xorg-server/hw/xfree86/utils/kbd_mode/bsd-kbd_mode.man.pre b/xorg-server/hw/xfree86/utils/kbd_mode/bsd-kbd_mode.man.pre deleted file mode 100644 index 3f7842cfd..000000000 --- a/xorg-server/hw/xfree86/utils/kbd_mode/bsd-kbd_mode.man.pre +++ /dev/null @@ -1,36 +0,0 @@ -.\" $XFree86: xc/programs/Xserver/hw/xfree86/etc/kbd_mode.man,v 3.4 1998/04/05 02:28:42 dawes Exp $ -.TH KBD_MODE 1 __vendorversion__ -.SH NAME -kbd_mode \- recover the PC console keyboard -.SH SYNOPSIS -.B kbd_mode -[ -a -u ] -.SH DESCRIPTION -.I Kbd_mode -resets the PC console keyboard to a rational state. -.SH OPTIONS -The following options are supported: -.TP 8 -.B \-a -Set the keyboard so that ASCII characters are read from the console. -.TP 8 -.B \-u -Set the keyboard so that undecoded keyboard values are read from the -console. -.SH EXAMPLES -If the server crashes or otherwise fails to put the keyboard back in -ascii mode when it exits, it can leave your keyboard dead. If you are -able to login remotely, you can reset it typing: -.sp - kbd_mode -a -.sp -.PP -Conversely, changing the keyboard to ascii mode while the server is -running will make the keyboard appear to be dead while the the mouse -continues to work. Again, if you are able to login remotely, you can -reset it typing: -.sp - kbd_mode -u -.sp - -.\" $TOG: kbd_mode.man /main/6 1997/07/19 10:37:14 kaleb $ diff --git a/xorg-server/hw/xfree86/utils/kbd_mode/sun-kbd_mode.c b/xorg-server/hw/xfree86/utils/kbd_mode/sun-kbd_mode.c deleted file mode 100644 index f2802a6b8..000000000 --- a/xorg-server/hw/xfree86/utils/kbd_mode/sun-kbd_mode.c +++ /dev/null @@ -1,152 +0,0 @@ -/************************************************************ -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. - -********************************************************/ - -/* -static char sccsid[] = "@(#)kbd_mode.c 7.1 87/04/13"; - */ - -/* - * Copyright 1986 by Sun Microsystems, Inc. - * - * kbd_mode: set keyboard encoding mode - */ - -#include -#include -#include -#if defined(SVR4) || defined(__SVR4) || defined(__bsdi__) -#include -#ifndef __bsdi__ -#include -#include -#else -#include -#include -#include -#endif -#else -#ifndef CSRG_BASED -#include -#include -#else -#include -#include -#endif -#endif -#include -#include -#include - -static void die(char*); -static void usage(void); -static int kbd_fd; - -int -main(argc, argv) - int argc; - char** argv; -{ - int code = 0, translate, direct = -1; - char led; - int click; - - if ((kbd_fd = open("/dev/kbd", O_RDONLY, 0)) < 0) { - die("Couldn't open /dev/kbd"); - } - argc--; argv++; - if (argc-- && **argv == '-') { - code = *(++*argv); - } else { - usage(); - } - switch (code) { - case 'a': - case 'A': - translate = TR_ASCII; - direct = 0; - break; - case 'e': - case 'E': - translate = TR_EVENT; - break; - case 'n': - case 'N': - translate = TR_NONE; - break; - case 'u': - case 'U': - translate = TR_UNTRANS_EVENT; - break; - default: - usage(); - } -#ifdef KIOCSLED - led = 0; - if (ioctl(kbd_fd, KIOCSLED, &led)) - die("Couldn't set LEDs"); -#endif -#ifdef KIOCCMD - click = KBD_CMD_NOCLICK; - if (ioctl(kbd_fd, KIOCCMD, &click)) - die("Couldn't set click"); -#endif - if (ioctl(kbd_fd, KIOCTRANS, (caddr_t) &translate)) - die("Couldn't set translation"); - if (direct != -1 && ioctl(kbd_fd, KIOCSDIRECT, (caddr_t) &direct)) - die("Couldn't set redirect"); - return 0; -} - -static void -die(char *msg) -{ - fprintf(stderr, "%s\n", msg); - exit(1); -} - -static void -usage(void) -{ - int translate; - - if (ioctl(kbd_fd, KIOCGTRANS, (caddr_t) &translate)) { - die("Couldn't inquire current translation"); - } - fprintf(stderr, "kbd_mode {-a | -e | -n | -u }\n"); - fprintf(stderr, "\tfor ascii, encoded (normal) SunView events,\n"); - fprintf(stderr, " \tnon-encoded, or unencoded SunView events, resp.\n"); - fprintf(stderr, "Current mode is %s.\n", - ( translate == 0 ? "n (non-translated bytes)" : - ( translate == 1 ? "a (ascii bytes)" : - ( translate == 2 ? "e (encoded events)" : - /* translate == 3 */ "u (unencoded events)")))); - exit(1); -} - - diff --git a/xorg-server/hw/xfree86/utils/kbd_mode/sun-kbd_mode.man.pre b/xorg-server/hw/xfree86/utils/kbd_mode/sun-kbd_mode.man.pre deleted file mode 100644 index 367b4fc9a..000000000 --- a/xorg-server/hw/xfree86/utils/kbd_mode/sun-kbd_mode.man.pre +++ /dev/null @@ -1,53 +0,0 @@ -.\" $Xorg: kbd_mode.man,v 1.4 2001/02/09 02:04:43 xorgcvs Exp $ -.\" Copyright 1987 Sun Microsystems, Inc. -.\" Copyright 1993, 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/hw/sun/kbd_mode.man,v 1.6 2001/01/27 18:20:41 dawes Exp $ -.\" -.TH KBD_MODE 1 __xorgversion__ -.SH NAME -kbd_mode \- recover the Sun console keyboard -.SH SYNOPSIS -.B kbd_mode -[ -a -e -n -u ] -.SH DESCRIPTION -.I Kbd_mode -resets the Sun console keyboard to a rational state. -.SH OPTIONS -The following options are supported, see \fIkb(4S)\fP for details: -.TP 8 -.B \-a -Causes ASCII to be reported. -.TP 8 -.B \-e -Causes \fIFirm_events\fP to be reported. -.TP 8 -.B \-n -Causes up/down key codes to be reported. -.TP 8 -.B \-u -Causes undecoded keyboard values to be reported. -.SH SEE ALSO -kb(4S) diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/Makefile.am b/xorg-server/hw/xfree86/utils/xorgcfg/Makefile.am deleted file mode 100644 index 31d1b3f00..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/Makefile.am +++ /dev/null @@ -1,164 +0,0 @@ -# Copyright 2005 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. -# - -if BUILD_XORGCFG -bin_PROGRAMS = xorgcfg - -INCLUDES = $(XORG_INCS) -I$(top_srcdir)/hw/xfree86/parser - -OPTIONSPATH=$(libdir)/X11 - -xorgcfg_CFLAGS = $(DIX_CFLAGS) $(XORG_CFLAGS) $(CURSESDEFINES) \ - $(XORGCFG_DEP_CFLAGS) -DXKB_RULES_DIR=\"$(XKB_BASE_DIRECTORY)/rules\" \ - -DPROJECT_ROOT=\"$(PROJECTROOT)\" -DOPTIONSPATH=\"$(OPTIONSPATH)\" -xorgcfg_LDADD = $(XORGCFG_DEP_LIBS) ../../parser/libxf86config.a $(LOADERLIB) \ - ../../os-support/libxorgos.la ../../dummylib/libdummy-nonserver.a \ - ${SYS_LIBS} - -#if DoLoadableServer -LDSRCS = \ - loader.c loadmod.c -LOADERLIB = ../../loader/libloader.a -#endif - -if USE_CURSES -TEXTSRC = text-mode.c -TEXTOBJ = text-mode.o -CURSESDEFINES = -DHAS_NCURSES -endif - -if NEED_STRLCAT -STRL_SRCS = $(top_srcdir)/os/strlcat.c $(top_srcdir)/os/strlcpy.c -endif -endif BUILD_XORGCFG - -xorgcfg_SOURCES = \ - accessx.c \ - card-cfg.c \ - cards.c \ - config.c \ - expert.c \ - help.c \ - interface.c \ - keyboard-cfg.c \ - $(LDSRCS) \ - monitor-cfg.c \ - mouse-cfg.c \ - options.c \ - screen-cfg.c \ - screen.c \ - $(SNPRINTFSRCS) \ - startx.c \ - $(STRLSRCS) \ - stubs.c \ - $(TEXTSRC) \ - vidmode.c \ - xf86config.c \ - card-cfg.h \ - cards.h \ - config.h \ - help.h \ - keyboard-cfg.h \ - loader.h \ - monitor-cfg.h \ - mouse-cfg.h \ - options.h \ - screen-cfg.h \ - screen.h \ - stubs.h \ - vidmode.h \ - xf86config.h \ - $(STRL_SRCS) - -BITMAPS = \ - card.xbm \ - keyboard.xbm \ - monitor.xbm \ - mouse.xbm \ - left.xbm \ - right.xbm \ - up.xbm \ - down.xbm \ - wider.xbm \ - narrower.xbm \ - shorter.xbm \ - taller.xbm - -PIXMAPS = \ - card.xpm \ - computer.xpm \ - keyboard.xpm \ - monitor.xpm \ - mouse.xpm - -# Rules needed to cpp man page & app-defaults -include $(top_srcdir)/cpprules.in - -if BUILD_XORGCFG -XBMdir = $(includedir)/X11/bitmaps -XPMdir = $(includedir)/X11/pixmaps - -XBM_DATA = $(BITMAPS) -XPM_DATA = $(PIXMAPS) - -# App default files (*.ad) - -appdefaultdir = @APPDEFAULTDIR@ - -APPDEFAULTFILES = XOrgCfg - -appdefault_DATA = $(APPDEFAULTFILES) - -CPP_FILES_FLAGS = -D__VENDORNAME__="@VENDOR_STRING_SHORT@" \ - -D__VENDORVERS__="@VENDOR_MAN_VERSION@" - -# dear automake: it would be really nice if you would actually put things into -# .SUFFIXES so i wouldnt' have to do this. -XOrgCfg: XOrgCfg.pre - $(RAWCPP) $(RAWCPPFLAGS) $(CPP_FILES_FLAGS) < XOrgCfg.pre | $(CPP_SED_MAGIC) > $@ - -# Man page -appmandir = $(APP_MAN_DIR) - -appman_PRE = xorgcfg.man -appman_DATA = $(appman_PRE:man=@APP_MAN_SUFFIX@) - -all-local: $(appman_PRE) $(appman_DATA) - -BUILT_SOURCES = $(appman_PRE) -CLEANFILES = $(APPDEFAULTFILES) $(BUILT_SOURCES) $(appman_DATA) - -SUFFIXES += .$(APP_MAN_SUFFIX) .man - -.man.$(APP_MAN_SUFFIX): - -rm -f $@ - $(LN_S) $< $@ - -endif BUILD_XORGCFG - -EXTRA_DIST = $(BITMAPS) $(PIXMAPS) XOrgCfg.pre xorgcfg.man.pre diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/Makefile.in b/xorg-server/hw/xfree86/utils/xorgcfg/Makefile.in deleted file mode 100644 index df043f868..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/Makefile.in +++ /dev/null @@ -1,1305 +0,0 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008 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@ - -# Copyright 2005 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. -# - -# -*- 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@ -@BUILD_XORGCFG_TRUE@bin_PROGRAMS = xorgcfg$(EXEEXT) -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ - $(top_srcdir)/cpprules.in TODO -@BUILD_XORGCFG_TRUE@am__append_1 = .$(APP_MAN_SUFFIX) .man -subdir = hw/xfree86/utils/xorgcfg -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)$(XBMdir)" \ - "$(DESTDIR)$(XPMdir)" "$(DESTDIR)$(appdefaultdir)" \ - "$(DESTDIR)$(appmandir)" -binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) -PROGRAMS = $(bin_PROGRAMS) -am__xorgcfg_SOURCES_DIST = accessx.c card-cfg.c cards.c config.c \ - expert.c help.c interface.c keyboard-cfg.c loader.c loadmod.c \ - monitor-cfg.c mouse-cfg.c options.c screen-cfg.c screen.c \ - startx.c stubs.c text-mode.c vidmode.c xf86config.c card-cfg.h \ - cards.h config.h help.h keyboard-cfg.h loader.h monitor-cfg.h \ - mouse-cfg.h options.h screen-cfg.h screen.h stubs.h vidmode.h \ - xf86config.h $(top_srcdir)/os/strlcat.c \ - $(top_srcdir)/os/strlcpy.c -@BUILD_XORGCFG_TRUE@am__objects_1 = xorgcfg-loader.$(OBJEXT) \ -@BUILD_XORGCFG_TRUE@ xorgcfg-loadmod.$(OBJEXT) -@BUILD_XORGCFG_TRUE@@USE_CURSES_TRUE@am__objects_2 = xorgcfg-text-mode.$(OBJEXT) -@BUILD_XORGCFG_TRUE@@NEED_STRLCAT_TRUE@am__objects_3 = xorgcfg-strlcat.$(OBJEXT) \ -@BUILD_XORGCFG_TRUE@@NEED_STRLCAT_TRUE@ xorgcfg-strlcpy.$(OBJEXT) -am_xorgcfg_OBJECTS = xorgcfg-accessx.$(OBJEXT) \ - xorgcfg-card-cfg.$(OBJEXT) xorgcfg-cards.$(OBJEXT) \ - xorgcfg-config.$(OBJEXT) xorgcfg-expert.$(OBJEXT) \ - xorgcfg-help.$(OBJEXT) xorgcfg-interface.$(OBJEXT) \ - xorgcfg-keyboard-cfg.$(OBJEXT) $(am__objects_1) \ - xorgcfg-monitor-cfg.$(OBJEXT) xorgcfg-mouse-cfg.$(OBJEXT) \ - xorgcfg-options.$(OBJEXT) xorgcfg-screen-cfg.$(OBJEXT) \ - xorgcfg-screen.$(OBJEXT) xorgcfg-startx.$(OBJEXT) \ - xorgcfg-stubs.$(OBJEXT) $(am__objects_2) \ - xorgcfg-vidmode.$(OBJEXT) xorgcfg-xf86config.$(OBJEXT) \ - $(am__objects_3) -xorgcfg_OBJECTS = $(am_xorgcfg_OBJECTS) -am__DEPENDENCIES_1 = -@BUILD_XORGCFG_TRUE@xorgcfg_DEPENDENCIES = $(am__DEPENDENCIES_1) \ -@BUILD_XORGCFG_TRUE@ ../../parser/libxf86config.a $(LOADERLIB) \ -@BUILD_XORGCFG_TRUE@ ../../os-support/libxorgos.la \ -@BUILD_XORGCFG_TRUE@ ../../dummylib/libdummy-nonserver.a -xorgcfg_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=link $(CCLD) $(xorgcfg_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ - $(LDFLAGS) -o $@ -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include -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 = $(xorgcfg_SOURCES) -DIST_SOURCES = $(am__xorgcfg_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|^.*/||'`; -XBMDATA_INSTALL = $(INSTALL_DATA) -XPMDATA_INSTALL = $(INSTALL_DATA) -appdefaultDATA_INSTALL = $(INSTALL_DATA) -appmanDATA_INSTALL = $(INSTALL_DATA) -DATA = $(XBM_DATA) $(XPM_DATA) $(appdefault_DATA) $(appman_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@ -DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ -DRI2PROTO_LIBS = @DRI2PROTO_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@ -DSYMUTIL = @DSYMUTIL@ -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@ -GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ -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@ -LAUNCHD = @LAUNCHD@ -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@ -NMEDIT = @NMEDIT@ -OBJC = @OBJC@ -OBJCCLD = @OBJCCLD@ -OBJCDEPMODE = @OBJCDEPMODE@ -OBJCFLAGS = @OBJCFLAGS@ -OBJCLINK = @OBJCLINK@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ -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@ -PCIACCESS_CFLAGS = @PCIACCESS_CFLAGS@ -PCIACCESS_LIBS = @PCIACCESS_LIBS@ -PCI_TXT_IDS_PATH = @PCI_TXT_IDS_PATH@ -PERL = @PERL@ -PKG_CONFIG = @PKG_CONFIG@ -PROJECTROOT = @PROJECTROOT@ -PS2PDF = @PS2PDF@ -RANLIB = @RANLIB@ -RAWCPP = @RAWCPP@ -RAWCPPFLAGS = @RAWCPPFLAGS@ -SED = sed -SERVER_MISC_CONFIG_PATH = @SERVER_MISC_CONFIG_PATH@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ -SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ -STRIP = @STRIP@ -TSLIB_CFLAGS = @TSLIB_CFLAGS@ -TSLIB_LIBS = @TSLIB_LIBS@ -UTILS_SYS_LIBS = @UTILS_SYS_LIBS@ -VENDOR_MAN_VERSION = @VENDOR_MAN_VERSION@ -VENDOR_NAME = @VENDOR_NAME@ -VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ -VENDOR_RELEASE = @VENDOR_RELEASE@ -VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ -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_CFLAGS = @XDMX_CFLAGS@ -XDMX_LIBS = @XDMX_LIBS@ -XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ -XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ -XEPHYR_INCS = @XEPHYR_INCS@ -XEPHYR_LIBS = @XEPHYR_LIBS@ -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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ -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@ -XNEST_SYS_LIBS = @XNEST_SYS_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_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@ -XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_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@ -XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ -XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ -XTSTEXAMPLES_DEP_LIBS = @XTSTEXAMPLES_DEP_LIBS@ -XVFB_LIBS = @XVFB_LIBS@ -XVFB_SYS_LIBS = @XVFB_SYS_LIBS@ -XWINMODULES_CFLAGS = @XWINMODULES_CFLAGS@ -XWINMODULES_LIBS = @XWINMODULES_LIBS@ -XWIN_LIBS = @XWIN_LIBS@ -XWIN_SERVER_NAME = @XWIN_SERVER_NAME@ -XWIN_SYS_LIBS = @XWIN_SYS_LIBS@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -__XCONFIGFILE__ = @__XCONFIGFILE__@ -abi_ansic = @abi_ansic@ -abi_extension = @abi_extension@ -abi_font = @abi_font@ -abi_videodrv = @abi_videodrv@ -abi_xinput = @abi_xinput@ -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@ -launchagentsdir = @launchagentsdir@ -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_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ -@BUILD_XORGCFG_TRUE@INCLUDES = $(XORG_INCS) -I$(top_srcdir)/hw/xfree86/parser -@BUILD_XORGCFG_TRUE@OPTIONSPATH = $(libdir)/X11 -@BUILD_XORGCFG_TRUE@xorgcfg_CFLAGS = $(DIX_CFLAGS) $(XORG_CFLAGS) $(CURSESDEFINES) \ -@BUILD_XORGCFG_TRUE@ $(XORGCFG_DEP_CFLAGS) -DXKB_RULES_DIR=\"$(XKB_BASE_DIRECTORY)/rules\" \ -@BUILD_XORGCFG_TRUE@ -DPROJECT_ROOT=\"$(PROJECTROOT)\" -DOPTIONSPATH=\"$(OPTIONSPATH)\" - -@BUILD_XORGCFG_TRUE@xorgcfg_LDADD = $(XORGCFG_DEP_LIBS) ../../parser/libxf86config.a $(LOADERLIB) \ -@BUILD_XORGCFG_TRUE@ ../../os-support/libxorgos.la ../../dummylib/libdummy-nonserver.a \ -@BUILD_XORGCFG_TRUE@ ${SYS_LIBS} - - -#if DoLoadableServer -@BUILD_XORGCFG_TRUE@LDSRCS = \ -@BUILD_XORGCFG_TRUE@ loader.c loadmod.c - -@BUILD_XORGCFG_TRUE@LOADERLIB = ../../loader/libloader.a -#endif -@BUILD_XORGCFG_TRUE@@USE_CURSES_TRUE@TEXTSRC = text-mode.c -@BUILD_XORGCFG_TRUE@@USE_CURSES_TRUE@TEXTOBJ = text-mode.o -@BUILD_XORGCFG_TRUE@@USE_CURSES_TRUE@CURSESDEFINES = -DHAS_NCURSES -@BUILD_XORGCFG_TRUE@@NEED_STRLCAT_TRUE@STRL_SRCS = $(top_srcdir)/os/strlcat.c $(top_srcdir)/os/strlcpy.c -xorgcfg_SOURCES = \ - accessx.c \ - card-cfg.c \ - cards.c \ - config.c \ - expert.c \ - help.c \ - interface.c \ - keyboard-cfg.c \ - $(LDSRCS) \ - monitor-cfg.c \ - mouse-cfg.c \ - options.c \ - screen-cfg.c \ - screen.c \ - $(SNPRINTFSRCS) \ - startx.c \ - $(STRLSRCS) \ - stubs.c \ - $(TEXTSRC) \ - vidmode.c \ - xf86config.c \ - card-cfg.h \ - cards.h \ - config.h \ - help.h \ - keyboard-cfg.h \ - loader.h \ - monitor-cfg.h \ - mouse-cfg.h \ - options.h \ - screen-cfg.h \ - screen.h \ - stubs.h \ - vidmode.h \ - xf86config.h \ - $(STRL_SRCS) - -BITMAPS = \ - card.xbm \ - keyboard.xbm \ - monitor.xbm \ - mouse.xbm \ - left.xbm \ - right.xbm \ - up.xbm \ - down.xbm \ - wider.xbm \ - narrower.xbm \ - shorter.xbm \ - taller.xbm - -PIXMAPS = \ - card.xpm \ - computer.xpm \ - keyboard.xpm \ - monitor.xpm \ - mouse.xpm - -SUFFIXES = .pre .man .man.pre $(am__append_1) - -# 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) - - -# Rules needed to cpp man page & app-defaults -@BUILD_XORGCFG_TRUE@XBMdir = $(includedir)/X11/bitmaps -@BUILD_XORGCFG_TRUE@XPMdir = $(includedir)/X11/pixmaps -@BUILD_XORGCFG_TRUE@XBM_DATA = $(BITMAPS) -@BUILD_XORGCFG_TRUE@XPM_DATA = $(PIXMAPS) - -# App default files (*.ad) -@BUILD_XORGCFG_TRUE@appdefaultdir = @APPDEFAULTDIR@ -@BUILD_XORGCFG_TRUE@APPDEFAULTFILES = XOrgCfg -@BUILD_XORGCFG_TRUE@appdefault_DATA = $(APPDEFAULTFILES) -@BUILD_XORGCFG_TRUE@CPP_FILES_FLAGS = -D__VENDORNAME__="@VENDOR_STRING_SHORT@" \ -@BUILD_XORGCFG_TRUE@ -D__VENDORVERS__="@VENDOR_MAN_VERSION@" - - -# Man page -@BUILD_XORGCFG_TRUE@appmandir = $(APP_MAN_DIR) -@BUILD_XORGCFG_TRUE@appman_PRE = xorgcfg.man -@BUILD_XORGCFG_TRUE@appman_DATA = $(appman_PRE:man=@APP_MAN_SUFFIX@) -@BUILD_XORGCFG_TRUE@BUILT_SOURCES = $(appman_PRE) -@BUILD_XORGCFG_TRUE@CLEANFILES = $(APPDEFAULTFILES) $(BUILT_SOURCES) $(appman_DATA) -EXTRA_DIST = $(BITMAPS) $(PIXMAPS) XOrgCfg.pre xorgcfg.man.pre -all: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) all-am - -.SUFFIXES: -.SUFFIXES: .pre .man .man.pre .$(APP_MAN_SUFFIX) .man .c .lo .o .obj -$(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/xfree86/utils/xorgcfg/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign hw/xfree86/utils/xorgcfg/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) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ - $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --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 -xorgcfg$(EXEEXT): $(xorgcfg_OBJECTS) $(xorgcfg_DEPENDENCIES) - @rm -f xorgcfg$(EXEEXT) - $(xorgcfg_LINK) $(xorgcfg_OBJECTS) $(xorgcfg_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xorgcfg-accessx.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xorgcfg-card-cfg.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xorgcfg-cards.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xorgcfg-config.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xorgcfg-expert.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xorgcfg-help.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xorgcfg-interface.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xorgcfg-keyboard-cfg.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xorgcfg-loader.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xorgcfg-loadmod.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xorgcfg-monitor-cfg.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xorgcfg-mouse-cfg.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xorgcfg-options.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xorgcfg-screen-cfg.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xorgcfg-screen.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xorgcfg-startx.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xorgcfg-strlcat.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xorgcfg-strlcpy.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xorgcfg-stubs.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xorgcfg-text-mode.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xorgcfg-vidmode.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xorgcfg-xf86config.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 $@ $< - -xorgcfg-accessx.o: accessx.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-accessx.o -MD -MP -MF $(DEPDIR)/xorgcfg-accessx.Tpo -c -o xorgcfg-accessx.o `test -f 'accessx.c' || echo '$(srcdir)/'`accessx.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-accessx.Tpo $(DEPDIR)/xorgcfg-accessx.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='accessx.c' object='xorgcfg-accessx.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) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-accessx.o `test -f 'accessx.c' || echo '$(srcdir)/'`accessx.c - -xorgcfg-accessx.obj: accessx.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-accessx.obj -MD -MP -MF $(DEPDIR)/xorgcfg-accessx.Tpo -c -o xorgcfg-accessx.obj `if test -f 'accessx.c'; then $(CYGPATH_W) 'accessx.c'; else $(CYGPATH_W) '$(srcdir)/accessx.c'; fi` -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-accessx.Tpo $(DEPDIR)/xorgcfg-accessx.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='accessx.c' object='xorgcfg-accessx.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) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-accessx.obj `if test -f 'accessx.c'; then $(CYGPATH_W) 'accessx.c'; else $(CYGPATH_W) '$(srcdir)/accessx.c'; fi` - -xorgcfg-card-cfg.o: card-cfg.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-card-cfg.o -MD -MP -MF $(DEPDIR)/xorgcfg-card-cfg.Tpo -c -o xorgcfg-card-cfg.o `test -f 'card-cfg.c' || echo '$(srcdir)/'`card-cfg.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-card-cfg.Tpo $(DEPDIR)/xorgcfg-card-cfg.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='card-cfg.c' object='xorgcfg-card-cfg.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) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-card-cfg.o `test -f 'card-cfg.c' || echo '$(srcdir)/'`card-cfg.c - -xorgcfg-card-cfg.obj: card-cfg.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-card-cfg.obj -MD -MP -MF $(DEPDIR)/xorgcfg-card-cfg.Tpo -c -o xorgcfg-card-cfg.obj `if test -f 'card-cfg.c'; then $(CYGPATH_W) 'card-cfg.c'; else $(CYGPATH_W) '$(srcdir)/card-cfg.c'; fi` -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-card-cfg.Tpo $(DEPDIR)/xorgcfg-card-cfg.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='card-cfg.c' object='xorgcfg-card-cfg.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) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-card-cfg.obj `if test -f 'card-cfg.c'; then $(CYGPATH_W) 'card-cfg.c'; else $(CYGPATH_W) '$(srcdir)/card-cfg.c'; fi` - -xorgcfg-cards.o: cards.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-cards.o -MD -MP -MF $(DEPDIR)/xorgcfg-cards.Tpo -c -o xorgcfg-cards.o `test -f 'cards.c' || echo '$(srcdir)/'`cards.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-cards.Tpo $(DEPDIR)/xorgcfg-cards.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cards.c' object='xorgcfg-cards.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) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-cards.o `test -f 'cards.c' || echo '$(srcdir)/'`cards.c - -xorgcfg-cards.obj: cards.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-cards.obj -MD -MP -MF $(DEPDIR)/xorgcfg-cards.Tpo -c -o xorgcfg-cards.obj `if test -f 'cards.c'; then $(CYGPATH_W) 'cards.c'; else $(CYGPATH_W) '$(srcdir)/cards.c'; fi` -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-cards.Tpo $(DEPDIR)/xorgcfg-cards.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cards.c' object='xorgcfg-cards.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) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-cards.obj `if test -f 'cards.c'; then $(CYGPATH_W) 'cards.c'; else $(CYGPATH_W) '$(srcdir)/cards.c'; fi` - -xorgcfg-config.o: config.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-config.o -MD -MP -MF $(DEPDIR)/xorgcfg-config.Tpo -c -o xorgcfg-config.o `test -f 'config.c' || echo '$(srcdir)/'`config.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-config.Tpo $(DEPDIR)/xorgcfg-config.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='config.c' object='xorgcfg-config.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) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-config.o `test -f 'config.c' || echo '$(srcdir)/'`config.c - -xorgcfg-config.obj: config.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-config.obj -MD -MP -MF $(DEPDIR)/xorgcfg-config.Tpo -c -o xorgcfg-config.obj `if test -f 'config.c'; then $(CYGPATH_W) 'config.c'; else $(CYGPATH_W) '$(srcdir)/config.c'; fi` -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-config.Tpo $(DEPDIR)/xorgcfg-config.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='config.c' object='xorgcfg-config.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) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-config.obj `if test -f 'config.c'; then $(CYGPATH_W) 'config.c'; else $(CYGPATH_W) '$(srcdir)/config.c'; fi` - -xorgcfg-expert.o: expert.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-expert.o -MD -MP -MF $(DEPDIR)/xorgcfg-expert.Tpo -c -o xorgcfg-expert.o `test -f 'expert.c' || echo '$(srcdir)/'`expert.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-expert.Tpo $(DEPDIR)/xorgcfg-expert.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='expert.c' object='xorgcfg-expert.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) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-expert.o `test -f 'expert.c' || echo '$(srcdir)/'`expert.c - -xorgcfg-expert.obj: expert.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-expert.obj -MD -MP -MF $(DEPDIR)/xorgcfg-expert.Tpo -c -o xorgcfg-expert.obj `if test -f 'expert.c'; then $(CYGPATH_W) 'expert.c'; else $(CYGPATH_W) '$(srcdir)/expert.c'; fi` -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-expert.Tpo $(DEPDIR)/xorgcfg-expert.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='expert.c' object='xorgcfg-expert.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) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-expert.obj `if test -f 'expert.c'; then $(CYGPATH_W) 'expert.c'; else $(CYGPATH_W) '$(srcdir)/expert.c'; fi` - -xorgcfg-help.o: help.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-help.o -MD -MP -MF $(DEPDIR)/xorgcfg-help.Tpo -c -o xorgcfg-help.o `test -f 'help.c' || echo '$(srcdir)/'`help.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-help.Tpo $(DEPDIR)/xorgcfg-help.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='help.c' object='xorgcfg-help.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) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-help.o `test -f 'help.c' || echo '$(srcdir)/'`help.c - -xorgcfg-help.obj: help.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-help.obj -MD -MP -MF $(DEPDIR)/xorgcfg-help.Tpo -c -o xorgcfg-help.obj `if test -f 'help.c'; then $(CYGPATH_W) 'help.c'; else $(CYGPATH_W) '$(srcdir)/help.c'; fi` -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-help.Tpo $(DEPDIR)/xorgcfg-help.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='help.c' object='xorgcfg-help.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) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-help.obj `if test -f 'help.c'; then $(CYGPATH_W) 'help.c'; else $(CYGPATH_W) '$(srcdir)/help.c'; fi` - -xorgcfg-interface.o: interface.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-interface.o -MD -MP -MF $(DEPDIR)/xorgcfg-interface.Tpo -c -o xorgcfg-interface.o `test -f 'interface.c' || echo '$(srcdir)/'`interface.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-interface.Tpo $(DEPDIR)/xorgcfg-interface.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='interface.c' object='xorgcfg-interface.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) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-interface.o `test -f 'interface.c' || echo '$(srcdir)/'`interface.c - -xorgcfg-interface.obj: interface.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-interface.obj -MD -MP -MF $(DEPDIR)/xorgcfg-interface.Tpo -c -o xorgcfg-interface.obj `if test -f 'interface.c'; then $(CYGPATH_W) 'interface.c'; else $(CYGPATH_W) '$(srcdir)/interface.c'; fi` -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-interface.Tpo $(DEPDIR)/xorgcfg-interface.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='interface.c' object='xorgcfg-interface.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) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-interface.obj `if test -f 'interface.c'; then $(CYGPATH_W) 'interface.c'; else $(CYGPATH_W) '$(srcdir)/interface.c'; fi` - -xorgcfg-keyboard-cfg.o: keyboard-cfg.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-keyboard-cfg.o -MD -MP -MF $(DEPDIR)/xorgcfg-keyboard-cfg.Tpo -c -o xorgcfg-keyboard-cfg.o `test -f 'keyboard-cfg.c' || echo '$(srcdir)/'`keyboard-cfg.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-keyboard-cfg.Tpo $(DEPDIR)/xorgcfg-keyboard-cfg.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='keyboard-cfg.c' object='xorgcfg-keyboard-cfg.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) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-keyboard-cfg.o `test -f 'keyboard-cfg.c' || echo '$(srcdir)/'`keyboard-cfg.c - -xorgcfg-keyboard-cfg.obj: keyboard-cfg.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-keyboard-cfg.obj -MD -MP -MF $(DEPDIR)/xorgcfg-keyboard-cfg.Tpo -c -o xorgcfg-keyboard-cfg.obj `if test -f 'keyboard-cfg.c'; then $(CYGPATH_W) 'keyboard-cfg.c'; else $(CYGPATH_W) '$(srcdir)/keyboard-cfg.c'; fi` -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-keyboard-cfg.Tpo $(DEPDIR)/xorgcfg-keyboard-cfg.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='keyboard-cfg.c' object='xorgcfg-keyboard-cfg.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) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-keyboard-cfg.obj `if test -f 'keyboard-cfg.c'; then $(CYGPATH_W) 'keyboard-cfg.c'; else $(CYGPATH_W) '$(srcdir)/keyboard-cfg.c'; fi` - -xorgcfg-loader.o: loader.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-loader.o -MD -MP -MF $(DEPDIR)/xorgcfg-loader.Tpo -c -o xorgcfg-loader.o `test -f 'loader.c' || echo '$(srcdir)/'`loader.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-loader.Tpo $(DEPDIR)/xorgcfg-loader.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='loader.c' object='xorgcfg-loader.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) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-loader.o `test -f 'loader.c' || echo '$(srcdir)/'`loader.c - -xorgcfg-loader.obj: loader.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-loader.obj -MD -MP -MF $(DEPDIR)/xorgcfg-loader.Tpo -c -o xorgcfg-loader.obj `if test -f 'loader.c'; then $(CYGPATH_W) 'loader.c'; else $(CYGPATH_W) '$(srcdir)/loader.c'; fi` -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-loader.Tpo $(DEPDIR)/xorgcfg-loader.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='loader.c' object='xorgcfg-loader.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) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-loader.obj `if test -f 'loader.c'; then $(CYGPATH_W) 'loader.c'; else $(CYGPATH_W) '$(srcdir)/loader.c'; fi` - -xorgcfg-loadmod.o: loadmod.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-loadmod.o -MD -MP -MF $(DEPDIR)/xorgcfg-loadmod.Tpo -c -o xorgcfg-loadmod.o `test -f 'loadmod.c' || echo '$(srcdir)/'`loadmod.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-loadmod.Tpo $(DEPDIR)/xorgcfg-loadmod.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='loadmod.c' object='xorgcfg-loadmod.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) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-loadmod.o `test -f 'loadmod.c' || echo '$(srcdir)/'`loadmod.c - -xorgcfg-loadmod.obj: loadmod.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-loadmod.obj -MD -MP -MF $(DEPDIR)/xorgcfg-loadmod.Tpo -c -o xorgcfg-loadmod.obj `if test -f 'loadmod.c'; then $(CYGPATH_W) 'loadmod.c'; else $(CYGPATH_W) '$(srcdir)/loadmod.c'; fi` -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-loadmod.Tpo $(DEPDIR)/xorgcfg-loadmod.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='loadmod.c' object='xorgcfg-loadmod.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) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-loadmod.obj `if test -f 'loadmod.c'; then $(CYGPATH_W) 'loadmod.c'; else $(CYGPATH_W) '$(srcdir)/loadmod.c'; fi` - -xorgcfg-monitor-cfg.o: monitor-cfg.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-monitor-cfg.o -MD -MP -MF $(DEPDIR)/xorgcfg-monitor-cfg.Tpo -c -o xorgcfg-monitor-cfg.o `test -f 'monitor-cfg.c' || echo '$(srcdir)/'`monitor-cfg.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-monitor-cfg.Tpo $(DEPDIR)/xorgcfg-monitor-cfg.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='monitor-cfg.c' object='xorgcfg-monitor-cfg.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) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-monitor-cfg.o `test -f 'monitor-cfg.c' || echo '$(srcdir)/'`monitor-cfg.c - -xorgcfg-monitor-cfg.obj: monitor-cfg.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-monitor-cfg.obj -MD -MP -MF $(DEPDIR)/xorgcfg-monitor-cfg.Tpo -c -o xorgcfg-monitor-cfg.obj `if test -f 'monitor-cfg.c'; then $(CYGPATH_W) 'monitor-cfg.c'; else $(CYGPATH_W) '$(srcdir)/monitor-cfg.c'; fi` -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-monitor-cfg.Tpo $(DEPDIR)/xorgcfg-monitor-cfg.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='monitor-cfg.c' object='xorgcfg-monitor-cfg.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) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-monitor-cfg.obj `if test -f 'monitor-cfg.c'; then $(CYGPATH_W) 'monitor-cfg.c'; else $(CYGPATH_W) '$(srcdir)/monitor-cfg.c'; fi` - -xorgcfg-mouse-cfg.o: mouse-cfg.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-mouse-cfg.o -MD -MP -MF $(DEPDIR)/xorgcfg-mouse-cfg.Tpo -c -o xorgcfg-mouse-cfg.o `test -f 'mouse-cfg.c' || echo '$(srcdir)/'`mouse-cfg.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-mouse-cfg.Tpo $(DEPDIR)/xorgcfg-mouse-cfg.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mouse-cfg.c' object='xorgcfg-mouse-cfg.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) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-mouse-cfg.o `test -f 'mouse-cfg.c' || echo '$(srcdir)/'`mouse-cfg.c - -xorgcfg-mouse-cfg.obj: mouse-cfg.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-mouse-cfg.obj -MD -MP -MF $(DEPDIR)/xorgcfg-mouse-cfg.Tpo -c -o xorgcfg-mouse-cfg.obj `if test -f 'mouse-cfg.c'; then $(CYGPATH_W) 'mouse-cfg.c'; else $(CYGPATH_W) '$(srcdir)/mouse-cfg.c'; fi` -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-mouse-cfg.Tpo $(DEPDIR)/xorgcfg-mouse-cfg.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mouse-cfg.c' object='xorgcfg-mouse-cfg.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) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-mouse-cfg.obj `if test -f 'mouse-cfg.c'; then $(CYGPATH_W) 'mouse-cfg.c'; else $(CYGPATH_W) '$(srcdir)/mouse-cfg.c'; fi` - -xorgcfg-options.o: options.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-options.o -MD -MP -MF $(DEPDIR)/xorgcfg-options.Tpo -c -o xorgcfg-options.o `test -f 'options.c' || echo '$(srcdir)/'`options.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-options.Tpo $(DEPDIR)/xorgcfg-options.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='options.c' object='xorgcfg-options.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) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-options.o `test -f 'options.c' || echo '$(srcdir)/'`options.c - -xorgcfg-options.obj: options.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-options.obj -MD -MP -MF $(DEPDIR)/xorgcfg-options.Tpo -c -o xorgcfg-options.obj `if test -f 'options.c'; then $(CYGPATH_W) 'options.c'; else $(CYGPATH_W) '$(srcdir)/options.c'; fi` -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-options.Tpo $(DEPDIR)/xorgcfg-options.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='options.c' object='xorgcfg-options.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) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-options.obj `if test -f 'options.c'; then $(CYGPATH_W) 'options.c'; else $(CYGPATH_W) '$(srcdir)/options.c'; fi` - -xorgcfg-screen-cfg.o: screen-cfg.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-screen-cfg.o -MD -MP -MF $(DEPDIR)/xorgcfg-screen-cfg.Tpo -c -o xorgcfg-screen-cfg.o `test -f 'screen-cfg.c' || echo '$(srcdir)/'`screen-cfg.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-screen-cfg.Tpo $(DEPDIR)/xorgcfg-screen-cfg.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='screen-cfg.c' object='xorgcfg-screen-cfg.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) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-screen-cfg.o `test -f 'screen-cfg.c' || echo '$(srcdir)/'`screen-cfg.c - -xorgcfg-screen-cfg.obj: screen-cfg.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-screen-cfg.obj -MD -MP -MF $(DEPDIR)/xorgcfg-screen-cfg.Tpo -c -o xorgcfg-screen-cfg.obj `if test -f 'screen-cfg.c'; then $(CYGPATH_W) 'screen-cfg.c'; else $(CYGPATH_W) '$(srcdir)/screen-cfg.c'; fi` -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-screen-cfg.Tpo $(DEPDIR)/xorgcfg-screen-cfg.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='screen-cfg.c' object='xorgcfg-screen-cfg.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) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-screen-cfg.obj `if test -f 'screen-cfg.c'; then $(CYGPATH_W) 'screen-cfg.c'; else $(CYGPATH_W) '$(srcdir)/screen-cfg.c'; fi` - -xorgcfg-screen.o: screen.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-screen.o -MD -MP -MF $(DEPDIR)/xorgcfg-screen.Tpo -c -o xorgcfg-screen.o `test -f 'screen.c' || echo '$(srcdir)/'`screen.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-screen.Tpo $(DEPDIR)/xorgcfg-screen.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='screen.c' object='xorgcfg-screen.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) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-screen.o `test -f 'screen.c' || echo '$(srcdir)/'`screen.c - -xorgcfg-screen.obj: screen.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-screen.obj -MD -MP -MF $(DEPDIR)/xorgcfg-screen.Tpo -c -o xorgcfg-screen.obj `if test -f 'screen.c'; then $(CYGPATH_W) 'screen.c'; else $(CYGPATH_W) '$(srcdir)/screen.c'; fi` -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-screen.Tpo $(DEPDIR)/xorgcfg-screen.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='screen.c' object='xorgcfg-screen.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) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-screen.obj `if test -f 'screen.c'; then $(CYGPATH_W) 'screen.c'; else $(CYGPATH_W) '$(srcdir)/screen.c'; fi` - -xorgcfg-startx.o: startx.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-startx.o -MD -MP -MF $(DEPDIR)/xorgcfg-startx.Tpo -c -o xorgcfg-startx.o `test -f 'startx.c' || echo '$(srcdir)/'`startx.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-startx.Tpo $(DEPDIR)/xorgcfg-startx.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='startx.c' object='xorgcfg-startx.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) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-startx.o `test -f 'startx.c' || echo '$(srcdir)/'`startx.c - -xorgcfg-startx.obj: startx.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-startx.obj -MD -MP -MF $(DEPDIR)/xorgcfg-startx.Tpo -c -o xorgcfg-startx.obj `if test -f 'startx.c'; then $(CYGPATH_W) 'startx.c'; else $(CYGPATH_W) '$(srcdir)/startx.c'; fi` -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-startx.Tpo $(DEPDIR)/xorgcfg-startx.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='startx.c' object='xorgcfg-startx.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) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-startx.obj `if test -f 'startx.c'; then $(CYGPATH_W) 'startx.c'; else $(CYGPATH_W) '$(srcdir)/startx.c'; fi` - -xorgcfg-stubs.o: stubs.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-stubs.o -MD -MP -MF $(DEPDIR)/xorgcfg-stubs.Tpo -c -o xorgcfg-stubs.o `test -f 'stubs.c' || echo '$(srcdir)/'`stubs.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-stubs.Tpo $(DEPDIR)/xorgcfg-stubs.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='stubs.c' object='xorgcfg-stubs.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) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-stubs.o `test -f 'stubs.c' || echo '$(srcdir)/'`stubs.c - -xorgcfg-stubs.obj: stubs.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-stubs.obj -MD -MP -MF $(DEPDIR)/xorgcfg-stubs.Tpo -c -o xorgcfg-stubs.obj `if test -f 'stubs.c'; then $(CYGPATH_W) 'stubs.c'; else $(CYGPATH_W) '$(srcdir)/stubs.c'; fi` -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-stubs.Tpo $(DEPDIR)/xorgcfg-stubs.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='stubs.c' object='xorgcfg-stubs.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) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-stubs.obj `if test -f 'stubs.c'; then $(CYGPATH_W) 'stubs.c'; else $(CYGPATH_W) '$(srcdir)/stubs.c'; fi` - -xorgcfg-text-mode.o: text-mode.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-text-mode.o -MD -MP -MF $(DEPDIR)/xorgcfg-text-mode.Tpo -c -o xorgcfg-text-mode.o `test -f 'text-mode.c' || echo '$(srcdir)/'`text-mode.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-text-mode.Tpo $(DEPDIR)/xorgcfg-text-mode.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='text-mode.c' object='xorgcfg-text-mode.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) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-text-mode.o `test -f 'text-mode.c' || echo '$(srcdir)/'`text-mode.c - -xorgcfg-text-mode.obj: text-mode.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-text-mode.obj -MD -MP -MF $(DEPDIR)/xorgcfg-text-mode.Tpo -c -o xorgcfg-text-mode.obj `if test -f 'text-mode.c'; then $(CYGPATH_W) 'text-mode.c'; else $(CYGPATH_W) '$(srcdir)/text-mode.c'; fi` -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-text-mode.Tpo $(DEPDIR)/xorgcfg-text-mode.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='text-mode.c' object='xorgcfg-text-mode.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) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-text-mode.obj `if test -f 'text-mode.c'; then $(CYGPATH_W) 'text-mode.c'; else $(CYGPATH_W) '$(srcdir)/text-mode.c'; fi` - -xorgcfg-vidmode.o: vidmode.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-vidmode.o -MD -MP -MF $(DEPDIR)/xorgcfg-vidmode.Tpo -c -o xorgcfg-vidmode.o `test -f 'vidmode.c' || echo '$(srcdir)/'`vidmode.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-vidmode.Tpo $(DEPDIR)/xorgcfg-vidmode.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='vidmode.c' object='xorgcfg-vidmode.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) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-vidmode.o `test -f 'vidmode.c' || echo '$(srcdir)/'`vidmode.c - -xorgcfg-vidmode.obj: vidmode.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-vidmode.obj -MD -MP -MF $(DEPDIR)/xorgcfg-vidmode.Tpo -c -o xorgcfg-vidmode.obj `if test -f 'vidmode.c'; then $(CYGPATH_W) 'vidmode.c'; else $(CYGPATH_W) '$(srcdir)/vidmode.c'; fi` -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-vidmode.Tpo $(DEPDIR)/xorgcfg-vidmode.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='vidmode.c' object='xorgcfg-vidmode.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) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-vidmode.obj `if test -f 'vidmode.c'; then $(CYGPATH_W) 'vidmode.c'; else $(CYGPATH_W) '$(srcdir)/vidmode.c'; fi` - -xorgcfg-xf86config.o: xf86config.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-xf86config.o -MD -MP -MF $(DEPDIR)/xorgcfg-xf86config.Tpo -c -o xorgcfg-xf86config.o `test -f 'xf86config.c' || echo '$(srcdir)/'`xf86config.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-xf86config.Tpo $(DEPDIR)/xorgcfg-xf86config.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='xf86config.c' object='xorgcfg-xf86config.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) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-xf86config.o `test -f 'xf86config.c' || echo '$(srcdir)/'`xf86config.c - -xorgcfg-xf86config.obj: xf86config.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-xf86config.obj -MD -MP -MF $(DEPDIR)/xorgcfg-xf86config.Tpo -c -o xorgcfg-xf86config.obj `if test -f 'xf86config.c'; then $(CYGPATH_W) 'xf86config.c'; else $(CYGPATH_W) '$(srcdir)/xf86config.c'; fi` -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-xf86config.Tpo $(DEPDIR)/xorgcfg-xf86config.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='xf86config.c' object='xorgcfg-xf86config.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) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-xf86config.obj `if test -f 'xf86config.c'; then $(CYGPATH_W) 'xf86config.c'; else $(CYGPATH_W) '$(srcdir)/xf86config.c'; fi` - -xorgcfg-strlcat.o: $(top_srcdir)/os/strlcat.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-strlcat.o -MD -MP -MF $(DEPDIR)/xorgcfg-strlcat.Tpo -c -o xorgcfg-strlcat.o `test -f '$(top_srcdir)/os/strlcat.c' || echo '$(srcdir)/'`$(top_srcdir)/os/strlcat.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-strlcat.Tpo $(DEPDIR)/xorgcfg-strlcat.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/os/strlcat.c' object='xorgcfg-strlcat.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) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-strlcat.o `test -f '$(top_srcdir)/os/strlcat.c' || echo '$(srcdir)/'`$(top_srcdir)/os/strlcat.c - -xorgcfg-strlcat.obj: $(top_srcdir)/os/strlcat.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-strlcat.obj -MD -MP -MF $(DEPDIR)/xorgcfg-strlcat.Tpo -c -o xorgcfg-strlcat.obj `if test -f '$(top_srcdir)/os/strlcat.c'; then $(CYGPATH_W) '$(top_srcdir)/os/strlcat.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/os/strlcat.c'; fi` -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-strlcat.Tpo $(DEPDIR)/xorgcfg-strlcat.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/os/strlcat.c' object='xorgcfg-strlcat.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) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-strlcat.obj `if test -f '$(top_srcdir)/os/strlcat.c'; then $(CYGPATH_W) '$(top_srcdir)/os/strlcat.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/os/strlcat.c'; fi` - -xorgcfg-strlcpy.o: $(top_srcdir)/os/strlcpy.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-strlcpy.o -MD -MP -MF $(DEPDIR)/xorgcfg-strlcpy.Tpo -c -o xorgcfg-strlcpy.o `test -f '$(top_srcdir)/os/strlcpy.c' || echo '$(srcdir)/'`$(top_srcdir)/os/strlcpy.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-strlcpy.Tpo $(DEPDIR)/xorgcfg-strlcpy.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/os/strlcpy.c' object='xorgcfg-strlcpy.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) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-strlcpy.o `test -f '$(top_srcdir)/os/strlcpy.c' || echo '$(srcdir)/'`$(top_srcdir)/os/strlcpy.c - -xorgcfg-strlcpy.obj: $(top_srcdir)/os/strlcpy.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgcfg_CFLAGS) $(CFLAGS) -MT xorgcfg-strlcpy.obj -MD -MP -MF $(DEPDIR)/xorgcfg-strlcpy.Tpo -c -o xorgcfg-strlcpy.obj `if test -f '$(top_srcdir)/os/strlcpy.c'; then $(CYGPATH_W) '$(top_srcdir)/os/strlcpy.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/os/strlcpy.c'; fi` -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgcfg-strlcpy.Tpo $(DEPDIR)/xorgcfg-strlcpy.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/os/strlcpy.c' object='xorgcfg-strlcpy.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) $(xorgcfg_CFLAGS) $(CFLAGS) -c -o xorgcfg-strlcpy.obj `if test -f '$(top_srcdir)/os/strlcpy.c'; then $(CYGPATH_W) '$(top_srcdir)/os/strlcpy.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/os/strlcpy.c'; fi` - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -install-XBMDATA: $(XBM_DATA) - @$(NORMAL_INSTALL) - test -z "$(XBMdir)" || $(MKDIR_P) "$(DESTDIR)$(XBMdir)" - @list='$(XBM_DATA)'; for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f=$(am__strip_dir) \ - echo " $(XBMDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(XBMdir)/$$f'"; \ - $(XBMDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(XBMdir)/$$f"; \ - done - -uninstall-XBMDATA: - @$(NORMAL_UNINSTALL) - @list='$(XBM_DATA)'; for p in $$list; do \ - f=$(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(XBMdir)/$$f'"; \ - rm -f "$(DESTDIR)$(XBMdir)/$$f"; \ - done -install-XPMDATA: $(XPM_DATA) - @$(NORMAL_INSTALL) - test -z "$(XPMdir)" || $(MKDIR_P) "$(DESTDIR)$(XPMdir)" - @list='$(XPM_DATA)'; for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f=$(am__strip_dir) \ - echo " $(XPMDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(XPMdir)/$$f'"; \ - $(XPMDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(XPMdir)/$$f"; \ - done - -uninstall-XPMDATA: - @$(NORMAL_UNINSTALL) - @list='$(XPM_DATA)'; for p in $$list; do \ - f=$(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(XPMdir)/$$f'"; \ - rm -f "$(DESTDIR)$(XPMdir)/$$f"; \ - done -install-appdefaultDATA: $(appdefault_DATA) - @$(NORMAL_INSTALL) - test -z "$(appdefaultdir)" || $(MKDIR_P) "$(DESTDIR)$(appdefaultdir)" - @list='$(appdefault_DATA)'; for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f=$(am__strip_dir) \ - echo " $(appdefaultDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(appdefaultdir)/$$f'"; \ - $(appdefaultDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(appdefaultdir)/$$f"; \ - done - -uninstall-appdefaultDATA: - @$(NORMAL_UNINSTALL) - @list='$(appdefault_DATA)'; for p in $$list; do \ - f=$(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(appdefaultdir)/$$f'"; \ - rm -f "$(DESTDIR)$(appdefaultdir)/$$f"; \ - done -install-appmanDATA: $(appman_DATA) - @$(NORMAL_INSTALL) - test -z "$(appmandir)" || $(MKDIR_P) "$(DESTDIR)$(appmandir)" - @list='$(appman_DATA)'; for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f=$(am__strip_dir) \ - echo " $(appmanDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(appmandir)/$$f'"; \ - $(appmanDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(appmandir)/$$f"; \ - done - -uninstall-appmanDATA: - @$(NORMAL_UNINSTALL) - @list='$(appman_DATA)'; for p in $$list; do \ - f=$(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(appmandir)/$$f'"; \ - rm -f "$(DESTDIR)$(appmandir)/$$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; nonemtpy = 1; } \ - END { if (nonempty) { 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; nonempty = 1; } \ - END { if (nonempty) { 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=; \ - 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; nonempty = 1; } \ - END { if (nonempty) { 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: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) check-am -@BUILD_XORGCFG_FALSE@all-local: -all-am: Makefile $(PROGRAMS) $(DATA) all-local -installdirs: - for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(XBMdir)" "$(DESTDIR)$(XPMdir)" "$(DESTDIR)$(appdefaultdir)" "$(DESTDIR)$(appmandir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) 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." - -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) -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-XBMDATA install-XPMDATA \ - install-appdefaultDATA install-appmanDATA - -install-dvi: install-dvi-am - -install-exec-am: install-binPROGRAMS - -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-XBMDATA uninstall-XPMDATA \ - uninstall-appdefaultDATA uninstall-appmanDATA \ - uninstall-binPROGRAMS - -.MAKE: install-am install-strip - -.PHONY: CTAGS GTAGS all all-am all-local 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-XBMDATA install-XPMDATA install-am \ - install-appdefaultDATA install-appmanDATA 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-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-XBMDATA uninstall-XPMDATA \ - uninstall-am uninstall-appdefaultDATA uninstall-appmanDATA \ - uninstall-binPROGRAMS - - -.pre: - $(RAWCPP) $(RAWCPPFLAGS) $(CPP_FILES_FLAGS) < $< | $(CPP_SED_MAGIC) > $@ - -.man.pre.man: - $(RAWCPP) $(RAWCPPFLAGS) $(MANDEFS) $(EXTRAMANDEFS) < $< | $(CPP_SED_MAGIC) > $@ - -# dear automake: it would be really nice if you would actually put things into -# .SUFFIXES so i wouldnt' have to do this. -@BUILD_XORGCFG_TRUE@XOrgCfg: XOrgCfg.pre -@BUILD_XORGCFG_TRUE@ $(RAWCPP) $(RAWCPPFLAGS) $(CPP_FILES_FLAGS) < XOrgCfg.pre | $(CPP_SED_MAGIC) > $@ - -@BUILD_XORGCFG_TRUE@all-local: $(appman_PRE) $(appman_DATA) - -@BUILD_XORGCFG_TRUE@.man.$(APP_MAN_SUFFIX): -@BUILD_XORGCFG_TRUE@ -rm -f $@ -@BUILD_XORGCFG_TRUE@ $(LN_S) $< $@ -# 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/xorg-server/hw/xfree86/utils/xorgcfg/TODO b/xorg-server/hw/xfree86/utils/xorgcfg/TODO deleted file mode 100644 index d8d1cd5ee..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/TODO +++ /dev/null @@ -1,33 +0,0 @@ -$XFree86$ - -o Have code to fetch the SymTabRec chipset list from a video driver. - This is mostly useful for the testing tool/interface, so that the - Cards file "uptodate" state can also be verified. - Probably it is better to forgot about the Cards file, and - either parse the output of scanpci, or link libscanpci.a - (and whatever else be required) in xorgcfg. - -o Check if a module is "certified", there was some talk about a - certification process in the past. - -o Rewrite mouse driver to use the same code as video drivers, so that - it is possible to store all available options in a single place. - This would also require rewriting all existing input device modules. - (Probably most of this can be made with cpp macros). - -o Create a protocol to allow 3rd part xorgcfg modules. - -o Write an interface for testing extensions/accel, maybe a frontend to - xdpyinfo, x11perf, glxinfo, etc. - -o Write a "wizard" mode, as several users find the graphical interface - too complicated, but find the text one easier to user. - -o Write code to use a Monitors database, either update the old Monitors - file or use RedHat MonitorsDB. - Chris Morgan is writting code to use MonitorsDB. - If xorgcfg could be changed to ddcprobe (in all supported platforms), - it would be even be a better solution than using a database. - -o Add interface to allow changing comments without the need of editing - config file with a text editor. diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/XOrgCfg.pre b/xorg-server/hw/xfree86/utils/xorgcfg/XOrgCfg.pre deleted file mode 100644 index 0e7148de6..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/XOrgCfg.pre +++ /dev/null @@ -1,1852 +0,0 @@ -!! $XdotOrg: $ -!! -!! 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. -!! -!! Author: Paulo César Pereira de Andrade -!! -!! $XFree86: xc/programs/Xserver/hw/xfree86/xf86cfg/XF86Cfg.ad,v 1.13 2001/05/15 18:22:23 paulo Exp $ -!! - -*Form.background: gray85 -*Label.background: gray85 -!! keyboard -*Core.background: gray85 -*Label.foreground: gray20 -*Command.background: gray80 -*Command.foreground: gray20 -*Command.borderWidth: 0 -*Command.displayList:\ -foreground gray60;\ -lines 1,-1,-1,-1,-1,1;\ -foreground gray90;\ -lines -1,0,0,0,0,-1 - -*Text.?.foreground: gray20 -*Text.borderWidth: 0 -*Text.background: gray96 -*Text.?.cursorColor: rgb:d/5/5 -*Text.displayList:\ -foreground white;\ -lines 1,-1,-1,-1,-1,1;\ -foreground gray40;\ -lines -1,0,0,0,0,-1 - -*baseTranslations: #override \ -Escape: vidmode-restore() - -*List.background: gray96 -*List.foreground: gray20 -*Viewport.borderColor: gray40 -*List.borderColor: gray40 - -*MenuButton.background: gray80 -*MenuButton.foreground: gray20 -*MenuButton.borderWidth: 0 -*MenuButton.displayList:\ -line-style solid;\ -foreground gray40;\ -lines 1,-1,-1,-1,-1,1;\ -foreground gray90;\ -lines -1,0,0,0,0,-1;\ -line-style onoffdash;\ -foreground gray80;\ -draw-rect 1,1,-2,-2 - -*SimpleMenu.background: gray80 -*SimpleMenu.?.foreground: gray20 -*SimpleMenu.borderWidth: 0 -*SimpleMenu.displayList:\ -foreground gray40;\ -lines 1,-1,-1,-1,-1,1;\ -foreground gray90;\ -lines -1,0,0,0,0,-1 - -*Dialog.displayList:\ -foreground gray40;\ -lines 1,-1,-1,-1,-1,1;\ -foreground gray90;\ -lines -1,0,0,0,0,-1 - -*Toggle.background: gray80 -*Toggle.foreground: gray20 -*Toggle.borderWidth: 0 -*Toggle.displayList:\ -foreground gray90;\ -lines 1,-1,-1,-1,-1,1;\ -foreground gray40;\ -lines -1,0,0,0,0,-1 - -*mouse.bitmap: mouse.xbm -*keyboard.bitmap: keyboard.xbm -*card.bitmap: card.xbm -*monitor.bitmap: monitor.xbm - -*Label.borderWidth: 0 -*Viewport.forceBars: True -*Viewport.allowVert: True -*Viewport.useRight: True - -.xorgcfg.geometry: 320x400 -.xorgcfg.minWidth: 320 -.xorgcfg.minHeight: 400 -.xorgcfg.maxWidth: 320 -.xorgcfg.maxHeight: 400 - -.xorgcfg.config.geometry: 320x369 -.xorgcfg.config.minWidth: 320 -.xorgcfg.config.maxWidth: 320 -.xorgcfg.config.minHeight: 369 -.xorgcfg.config.maxHeight: 369 - -*work.width: 320 -*work.height: 240 - -*error.label.label:\ -Not all required fields\n\ -were filled, or the specified\n\ -identifier is duplicated. -*error.label.vertDistance: 30 -*error.label.borderWidth: 0 -*error.label.leftBitmap: Excl -*error.command.fromVert: label -*error.command.label: Ok -*error.command.vertDistance: 20 - -*Scrollbar.translations:\ -: StartScroll(Continuous) MoveThumb() NotifyThumb()\n\ -: MoveThumb() NotifyThumb()\n\ -: NotifyScroll(Proportional) EndScroll() - -*Scrollbar.background: gray80 -*Scrollbar.foreground: rgb:a/5/5 -*Scrollbar.borderWidth: 0 -*Scrollbar.thumb: vlines2 -*Scrollbar.displayList:\ -foreground gray90;\ -lines 1,-1,-1,-1,-1,1;\ -foreground gray40;\ -lines -1,0,0,0,0,-1 - -*Text.Translations: #override \ -: no-op()\n\ -: no-op()\n\ -: set-keyboard-focus() select-start() - -*top.identifier.Translations: #override \ -: no-op()\n\ -: no-op()\n\ -Return: no-op()\n\ -: set-keyboard-focus() select-start() - -*List.showCurrent: True -*Tip.timeout: 100 -*Tip.background: rgb:f/f/8 -*Tip.foreground: gray20 -*Tip.borderWidth: 0 -*Tip.displayList:\ -foreground rgb:8/8/4;\ -lines 1,-1,-1,-1,-1,1;\ -foreground rgb:f/f/c;\ -lines -1,0,0,0,0,-1 - -*Toggle.internalHeight: 2 -*Toggle.internalWidth: 2 -*mouse.label: Mouse -*keyboard.label: Keyboard -*card.label: Card -*monitor.label: Monitor - -*commands.borderWidth: 0 -*commands.defaultDistance: 2 -*commands.?.bottom: chainTop -*commands.height: 50 - -*commands.keyboard.fromHoriz: mouse -*card.fromHoriz: keyboard -*monitor.fromHoriz: card - -*commands.mouse*new.label: Add new mouse -*commands.keyboard*new.label: Add new keyboard -*commands.card*new.label: Add new video card -*commands.monitor*new.label: Add new monitor -*commands.mouse*configure.label: Configure mouse(s) -*commands.keyboard*configure.label: Configure keyboard(s) -*commands.card*configure.label: Configure video card(s) -*commands.monitor*configure.label: Configure monitor(s) -*commands.mouse*SimpleMenu*newMouse.label: New mouse -*commands.keyboard*SimpleMenu*newKeyboard.label:New keyboard -*commands.card*SimpleMenu*newcard.label: New card -*commands.monitor*SimpleMenu*newMonitor.label: New monitor - -*commands.MenuButton.translations: \ -: highlight()\n\ -: reset()\n\ -Any: highlight() set() PopupMenu() - -*hpane.showGrip: False -*hpane.expert.label: Expert Mode -*topM.min: 200 -*topM.max: 200 -*topM.justify: left -*topM.label: Configure Layout -*topM*layout.label: Configure Layout -*topM*screen.label: Configure Screen -*topM*modeline.label: Configure Modeline -*topM*accessx.label: Configure AccessX -*topM.showGrip: False -*work.showGrip: False - -*MenuButton.leftBitmap: menu10 -*SmeBSB.HorizontalMargins: 18 - -*back.label: << Back -*next.label: Next >> -*ok.label: Ok -*cancel.label: Cancel -*yes.label: Yes -*no.label: No - -*help.label: Help -*quit.label: Quit -*next.fromHoriz: back -*config*ok.fromHoriz: next -*bottom*cancel.fromHoriz: ok -*top.displayList:\ -foreground gray60;\ -lines 1,-1,-1,-1,-1,1;\ -foreground white;\ -lines -1,0,0,0,0,-1 -*bottom.displayList:\ -foreground gray60;\ -lines 1,-1,-1,-1,-1,1;\ -foreground white;\ -lines -1,0,0,0,0,-1 -*work.displayList:\ -foreground gray60;\ -lines 1,-1,-1,-1,-1,1;\ -foreground white;\ -lines -1,0,0,0,0,-1 -*options.pane.Form.displayList:\ -foreground gray60;\ -lines 1,-1,-1,-1,-1,1;\ -foreground white;\ -lines -1,0,0,0,0,-1 - -*top.label.label: Identifier: -*top.label.borderWidth: 0 -*top.identifier.fromHoriz: label -*top.label.internalHeight: 3 -*top.label.justify: left -*top.label.left: chainLeft -*top.label.right: chainLeft -*top.identifier.left: chainLeft -*top.identifier.right: chainRight - -*bottom.layout.translations: #override \ -Return: rename-layout() -*bottom.layout.label: New server layout -*bottom.layout.tip: Type a text and press Return to rename this layout -*bottom.Command.height: 19 -*bottom.Text.height: 19 -*bottom.MenuButton.height: 19 -*bottom*new.label: New server layout -*layout.fromHoriz: select -*help.fromHoriz: layout -*bottom.layout.justify: left -*bottom.select.label: Layout -*bottom.select.left: chainLeft -*bottom.select.right: chainLeft -*bottom.layout.left: chainLeft -*quit.fromHoriz: help -*bottom.?.left: chainRight -*bottom.?.right: chainRight -*bottom.?.top: chainBottom -*bottom.?.bottom: chainBottom - -*pane.bottom.min: 30 -*pane.bottom.max: 30 -*pane.bottom.showGrip: False -*pane.bottom.defaultDistance: 5 - -!! Wellcome message -*work.wellcome.borderWidth: 0 -*work.wellcome.label: Welcome to __VENDORNAME__ __VENDORVERS__ setup program -*work.?.borderWidth: 0 -!*work.?.width: 310 -*work.?.height: 290 - -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! mouseDP widget -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -*mouseDP*Label.internalHeight: 0 -*mouseDP*Label.borderWidth: 0 -*mouseDP.labelD.vertDistance: 0 -*mouseDP.labelD.label: Select mouse device -*mouseDP.device.fromVert: labelD -*mouseDP.viewportD.fromVert: device -*mouseDP.device.width: 302 -*mouseDP.viewportD.vertDistance: 2 -*mouseDP.viewportD.listD.longest: 135 -*mouseDP.viewportD.width: 302 -*mouseDP.viewportD.height: 87 -*mouseDP.labelP.label: Select mouse protocol -*mouseDP.labelP.vertDistance: 10 -*mouseDP.labelP.fromVert: viewportD -*mouseDP.viewportP.fromVert: labelP -*mouseDP.viewportP.forceBars: True -*mouseDP.viewportP.allowVert: True -*mouseDP.viewportP.useRight: True -*mouseDP.viewportP.listP.longest: 135 -*mouseDP.viewportP.width: 302 -*mouseDP.viewportP.height: 110 -*mouseDP.viewportP.vertDistance: 6 -*mouseDP*List.verticalList: True -*mouseDP.emulate3.fromVert: viewportP -*mouseDP.emulate3.width: 180 -*mouseDP.apply.label: Apply changes -*mouseDP.apply.fromVert: viewportP -*mouseDP.apply.fromHoriz: emulate3 -*mouseDP.apply.width: 116 -*mouseDP.emulate3.vertDistance: 10 -*mouseDP.apply.vertDistance: 10 -*mouseDP.emulate3.label: Emulate 3 buttons -*mouseDP.emulate3.tip: Select if your mouse has only two buttons - -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! keyboardML widget -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -*keyboardML.Label.vertDistance: 8 -*keyboardML.MenuButton.vertDistance: 8 -*keyboardML.keyboard.vertDistance: 10 -*keyboardML.Label.borderWidth: 0 -*keyboardML.Label.width: 115 -*keyboardML.MenuButton.width: 185 -*keyboardML.MenuButton.justify: left -*keyboardML.Label.internalWidth: 0 -*keyboardML.Label.justify: right -*keyboardML.labelR.label: Xkb rules: -*keyboardML.rules.left: chainRight -*keyboardML.rules.right: chainRight -*keyboardML.rules.fromHoriz: labelR -*keyboardML.model.fromVert: rules -*keyboardML.labelM.fromVert: rules -*keyboardML.model.left: chainRight -*keyboardML.model.right: chainRight -*keyboardML.model.fromHoriz: labelM -*keyboardML.labelM.label: Keyboard model: -*keyboardML.layout.left: chainRight -*keyboardML.layout.right: chainRight -*keyboardML.layout.fromVert: model -*keyboardML.labelL.fromVert: model -*keyboardML.layout.fromHoriz: labelL -*keyboardML.labelL.label: Keyboard layout: -*keyboardML.variant.fromVert: labelL -*keyboardML.variant.fromHoriz: labelV -*keyboardML.labelV.fromVert: labelL -*keyboardML.labelV.label: Xkb variant: -*keyboardML.options.fromVert: labelV -*keyboardML.options.fromHoriz: labelO -*keyboardML.labelO.fromVert: labelV -*keyboardML.labelO.label: Xkb options: -*keyboardML.keyboard.fromVert: labelO -*keyboardML.keyboard.borderWidth: 0 -*keyboardML.keyboard.width: 305 -*keyboardML.keyboard.height: 121 -*keyboardML.apply.vertDistance: 16 -*keyboardML.apply.fromVert: keyboard -*keyboardML.apply.label: Apply changes - -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! cardModel widget -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -*cardModel.label.internalHeight: 0 -*cardModel.keyboard.borderWidth: 0 -*cardModel.label.label: Card model filter -*cardModel.label.internalHeight: 2 -*cardModel.label.borderWidth: 0 -*cardModel.viewport.vertDistance: 2 -*cardModel.viewport.fromVert: filter -*cardModel.filter.fromHoriz: label -*cardModel.filter.width: 171 -*cardModel.viewport.width: 302 -*cardModel.viewport.height: 212 -*cardModel.driver.justify: left -*cardModel.driverL.label: Driver -*cardModel.driverL.fromVert: viewport -*cardModel.driverL.width: 50 -*cardModel.driverL.justify: right -*cardModel.driver.fromVert: viewport -*cardModel.driver.fromHoriz: driverL -*cardModel.driver.width: 250 -*cardModel.driver.left: chainRight -*cardModel.driver.right: chainRight -*cardModel.busidL.label: BusID -*cardModel.busidL.fromVert: driver -*cardModel.busidL.width: 50 -*cardModel.busidL.justify: right -*cardModel.busid.fromVert: driver -*cardModel.busid.fromHoriz: busidL -*cardModel.busid.width: 250 -*cardModel.busid.left: chainRight -*cardModel.busid.right: chainRight -*cardModel.viewport.forceBars: True -*cardModel.viewport.allowVert: True -*cardModel.viewport.useRight: True -*cardModel.viewport.list.longest: 277 -*cardModel.filter.tip: Type name or vendor of your card and press enter -*cardModel.filter.translations: #override \ -Return: filter-card() - - -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! main widget -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -*work.cpu.backgroundPixmap: computer.xpm -*work.mouse.backgroundPixmap: mouse.xpm -*work.keyboard.backgroundPixmap: keyboard.xpm -*work.card.backgroundPixmap: card.xpm -*work.monitor.backgroundPixmap: monitor.xpm - -*work.cpu.x: 130 -*work.cpu.y: 160 -*work.cpu.width: 30 -*work.cpu.height: 50 -*work.mouse.width: 26 -*work.mouse.height: 35 -*work.keyboard.width: 60 -*work.keyboard.height: 28 -*work.card.width: 41 -*work.card.height: 40 -*work.monitor.width: 47 -*work.monitor.height: 40 - -.xorgcfg.pane.work.Simple.borderWidth: 1 -.xorgcfg.pane.work.Simple.translations:\ -Any: select-device()\n\ -Any: move-device()\n\ -Any: unselect-device()\n\ -Any: device-popup()\n\ -Any: device-popdown() - -.xorgcfg.pane.work.screen.translations:\ -Any: select-device()\n\ -Any: move-device()\n\ -Any: unselect-device()\n\ -Any: device-popup()\n\ -Any: device-popdown() - -Xorgcfg.translations: #override \ -WM_PROTOCOLS: quit() -.xorgcfg.config.translations: #override \ -WM_PROTOCOLS: config-cancel() -.xorgcfg.options.translations: #override \ -WM_PROTOCOLS: options-cancel() -.xorgcfg.quit.translations: #override \ -WM_PROTOCOLS: quit-cancel() -.xorgcfg.error.translations: #override \ -WM_PROTOCOLS: error-cancel() -.xorgcfg.force.translations: #override \ -WM_PROTOCOLS: addmode-cancel() -.xorgcfg.addMode.translations: #override \ -WM_PROTOCOLS: addmode-cancel() -.xorgcfg.accessx.translations: #override \ -WM_PROTOCOLS: accessx-close() -.xorgcfg.test.translations: #override \ -WM_PROTOCOLS: testmode-cancel() -.xorgcfg.Expert.translations: #override \ -WM_PROTOCOLS: expert-close() -.xorgcfg.options.moduleOptions.translations: #override \ -WM_PROTOCOLS: module-options-close() - - -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! Options -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -.xorgcfg.options.geometry: 400x176 -.xorgcfg.options.minWidth: 400 -.xorgcfg.options.maxWidth: 400 -.xorgcfg.options.minHeight: 176 -.xorgcfg.options.maxHeight: 176 - -*options*commands.remove.fromHoriz: add -*options*commands.update.fromHoriz: remove -*options*commands.help.fromHoriz: update -*options*commands.min: 30 -*options*commands.max: 30 -*options*commands.showGrip: False -*options*commands.defaultDistance: 4 -*options*commands.?.width: 100 -*options*commands.?.height: 20 - -*options*name.fromHoriz: label1 -*options*label2.fromHoriz: name -*options*value.fromHoriz: label2 -*options*label3.fromHoriz: value -*options*viewport.fromVert: name -*options*Label.borderWidth: 0 -*options.pane.form.Label.internalWidth: 0 -*options.pane.form.Label.height: 21 -*options.pane.form.Text.height: 19 -*options.pane.form.Label.top: chainTop -*options.pane.form.Text.top: chainTop -*options.pane.form.Label.bottom: chainTop -*options.pane.form.Text.bottom: chainTop -*options.pane.form.Label.horizDistance: 0 -*options.pane.form.Text.horizDistance: 0 -*options.pane.form.Label.vertDistance: 8 -*options.pane.form.Text.vertDistance: 8 -*options.pane.form.Text.width: 147 -*options*viewport.width: 390 -*options*viewport.height: 50 - -*options*viewport.horizDistance: 7 -*options*label1.horizDistance: 5 -*options*viewport.left: chainLeft -*options*viewport.right: chainRight -*options*list.longest: 376 - -*options*driverOpts.label: Options for module -*options*driverOpts.justify: left -*options*driverOpts.width: 278 -*options*popdown.label: Popdown dialog -*options*driverOpts.tip: This menu shows:\n\ - o option name\n\ - o option type - -.xorgcfg*options.moduleOptions.geometry: 360x245 -.xorgcfg*options.moduleOptions.minWidth: 360 -.xorgcfg*options.moduleOptions.maxWidth: 360 -.xorgcfg*options.moduleOptions.minHeight: 245 -.xorgcfg*options.moduleOptions.maxHeight: 245 -*options.moduleOptions*descriptions*labelType.label: Select option -*options.moduleOptions*descriptions*labelType.width: 348 -*options.moduleOptions*descriptions*module.fromVert: labelType -*options.moduleOptions*descriptions*module.label: Module -*options.moduleOptions*descriptions*Label.horizDistance: 8 -*options.moduleOptions*descriptions*option.fromVert: labelType -*options.moduleOptions*descriptions*option.label: Option -*options.moduleOptions*descriptions*option.fromHoriz: viewM -*options.moduleOptions*descriptions*viewM.fromVert: module -*options.moduleOptions*descriptions*viewM.width: 120 -*options.moduleOptions*descriptions*viewM.height: 94 -*options.moduleOptions*descriptions*modL.longest: 100 -*options.moduleOptions*descriptions*viewO.fromHoriz: viewM -*options.moduleOptions*descriptions*viewO.fromVert: option -*options.moduleOptions*descriptions*viewO.width: 220 -*options.moduleOptions*descriptions*viewO.height: 94 -*options.moduleOptions*descriptions*optL.longest: 220 -*options.moduleOptions*descriptions*desc.horizDistance: 4 -*options.moduleOptions*descriptions*desc.fromVert: viewM -*options.moduleOptions*descriptions*desc.width: 348 -*options.moduleOptions*descriptions*desc.height: 62 -*options.moduleOptions*descriptions*desc.wrap: word -*options.moduleOptions*descriptions*desc.scrollVertical: Always -*options.moduleOptions*descriptions*desc.Scrollbar.foreground: rgb:a/5/5 -*options.moduleOptions*descriptions*desc.Scrollbar.borderWidth: 1 -*options.moduleOptions*descriptions*desc.Scrollbar.borderColor: gray60 -*options.moduleOptions*descriptions.showGrip: False -*options.moduleOptions*popdown.label: Popdown dialog - -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! monitor -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -*monitorl*Viewport.width: 302 -*monitorl*Text.width: 160 -*monitorl*Text.tip:\ -Select standard value from the list\n\ -below, or enter specific value here. - -*monitorl*hlabel.justify: right -*monitorl*hlabel.width: 138 -*monitorl*hlabel.label: Horizontal sync -*monitorl*hsync.fromHoriz: hlabel -*monitorl*hviewport.fromVert: hsync -*monitorl*hviewport.height: 156 -*monitorl*hlist.longest: 288 - -*monitorl*vlabel.justify: right -*monitorl*vlabel.width: 138 -*monitorl*vlabel.vertDistance: 12 -*monitorl*vsync.vertDistance: 12 -*monitorl*vlabel.fromVert: hviewport -*monitorl*vsync.fromVert: hviewport -*monitorl*vlabel.label: Vertical sync -*monitorl*vsync.fromHoriz: vlabel -*monitorl*vviewport.fromVert: vsync -*monitorl*vviewport.height: 20 -*monitorl*vlist.longest: 64 - -*monitorl*clabel.vertDistance: 12 -*monitorl*clabel.fromVert: vviewport -*monitorl*clabel.label: Select card connected to monitor -*monitorl*cmenu.fromVert: clabel -*monitorl*cmenu.width: 302 -*monitorl*cmenu.justify: left -*monitorl*none.label: None - -!! vidtune -*vidtune.Repeater.borderWidth: 1 -*vidtune.Repeater.borderColor: gray90 -*vidtune.Repeater.shapeStyle: ellipse -*vidtune.Repeater.foreground: gray30 -*vidtune.Repeater.background: gray80 -*vidtune.Repeater.width: 31 -*vidtune.Repeater.height: 29 -*vidtune.Repeater.repeatDelay: 200 -*vidtune.Repeater.decay: 0 -*vidtune.Repeater.displayList:\ -line-width 2;\ -foreground gray65;\ -draw-arc 0,0,-0,-0,230,180;\ -foreground gray95;\ -draw-arc 0,0,-0,-0,40,180;\ -foreground gray80;\ -draw-arc 0,0,-0,-0,220,10;\ -draw-arc 0,0,-0,-0,40,10 -*vidtune.Repeater.translations:\ -: set-values(1, borderColor, gray50)\n\ -: set-values(1, borderColor, gray90)\n\ -: set-values(1, borderColor, gray90) set() start()\n\ -: stop() unset() -*vidtune.left.bitmap: left.xbm -*vidtune.right.bitmap: right.xbm -*vidtune.up.bitmap: up.xbm -*vidtune.down.bitmap: down.xbm -*vidtune.wider.bitmap: wider.xbm -*vidtune.narrower.bitmap: narrower.xbm -*vidtune.shorter.bitmap: shorter.xbm -*vidtune.taller.bitmap: taller.xbm - -*vidtune.vesaB.label: Add standard VESA mode to current screen -*vidtune.vesaB.width: 312 - -*vidtune.screenB.fromVert: mode -*vidtune.screenB.width: 160 -*vidtune.screenB.horizDistance: 80 -*vidtune.prev.fromVert: vesaB -*vidtune.mode.fromVert: vesaB -*vidtune.next.fromVert: vesaB -*vidtune.prev.horizDistance: 54 -*vidtune.prev.label: << -*vidtune.mode.fromHoriz: prev -*vidtune.mode.width: 160 -*vidtune.next.label: >> -*vidtune.next.fromHoriz: mode - -*vidtune.up.fromVert: screenB -*vidtune.up.horizDistance: 143 -*vidtune.left.horizDistance: 98 -*vidtune.left.vertDistance: 16 -*vidtune.left.fromVert: up -*vidtune.monitor.fromVert: up -*vidtune.monitor.vertDistance: 0 -*vidtune.monitor.fromHoriz: left -*vidtune.right.vertDistance: 16 -*vidtune.right.fromVert: up -*vidtune.right.fromHoriz: monitor -*vidtune.down.horizDistance: 143 -*vidtune.down.fromVert: monitor -*vidtune.wider.fromVert: left -*vidtune.wider.horizDistance: 91 -*vidtune.narrower.fromVert: down -*vidtune.narrower.fromHoriz: wider -*vidtune.shorter.fromVert: down -*vidtune.shorter.fromHoriz: narrower -*vidtune.taller.fromVert: right -*vidtune.taller.fromHoriz: shorter -*vidtune.monitor.width: 47 -*vidtune.monitor.height: 40 -*vidtune.monitor.backgroundPixmap: monitor.xpm -*vidtune.narrower.horizDistance: 0 -*vidtune.shorter.horizDistance: 2 -*vidtune.taller.horizDistance: 0 -*vidtune.wider.vertDistance: 20 -*vidtune.taller.vertDistance: 20 -*vidtune.narrower.vertDistance: 0 -*vidtune.shorter.vertDistance: 0 -*vidtune.down.vertDistance: 0 - -*vidtune.monitor.tip:\ -\ WARNING\n\ -\ Using the controls here may damage your\n\ -monitor. You can safely skip this section\n\ -of the configuration process.\n\ -\n\ -Press ESC if your monitor goes out of sync. - -*vidtune.background: white -*vidtune.form.borderWidth: 0 -*vidtune.form.background: white -*vidtune.form.defaultDistance: 0 -*vidtune.form.vertDistance: 3 -*vidtune.form.horizDistance: 4 -*vidtune.form.Label.foreground: gray20 -*vidtune.form.Label.background: white -*vidtune.form.Label.font: -*-fixed-*-*-*-*-10-*-*-*-*-*-*-1 -*vidtune.form.Label.vertDistance: 0 -*vidtune*Label.justify: right - -*vidtune.form.fromVert: auto -*vidtune*hsyncstart.label: HSyncStart: -*vidtune*hsyncstart.width: 95 -*vidtune*v-hsyncstart.width: 40 -*vidtune*v-hsyncstart.fromHoriz: hsyncstart -*vidtune*vsyncstart.fromHoriz: v-hsyncstart -*vidtune*v-vsyncstart.fromHoriz: vsyncstart -*vidtune*vsyncstart.label: VSyncStart: -*vidtune*vsyncstart.width: 95 -*vidtune*v-vsyncstart.width: 40 -*vidtune*hsyncend.label: HSyncEnd: -*vidtune*hsyncend.width: 95 -*vidtune*v-hsyncend.width: 40 -*vidtune*v-hsyncend.fromHoriz: hsyncend -*vidtune*hsyncend.fromVert: hsyncstart -*vidtune*v-hsyncend.fromVert: v-hsyncstart -*vidtune*vsyncend.label: VSyncEnd: -*vidtune*vsyncend.width: 95 -*vidtune*v-vsyncend.width: 40 -*vidtune*vsyncend.fromHoriz: v-hsyncend -*vidtune*v-vsyncend.fromHoriz: vsyncend -*vidtune*vsyncend.fromVert: hsyncstart -*vidtune*v-vsyncend.fromVert: v-vsyncstart -*vidtune*htotal.label: HTotal: -*vidtune*htotal.width: 95 -*vidtune*v-htotal.width: 40 -*vidtune*v-htotal.fromHoriz: htotal -*vidtune*htotal.fromVert: hsyncend -*vidtune*v-htotal.fromVert: v-hsyncend -*vidtune*vtotal.label: VTotal: -*vidtune*vtotal.width: 95 -*vidtune*v-vtotal.width: 40 -*vidtune*vtotal.fromHoriz: v-htotal -*vidtune*v-vtotal.fromHoriz: vtotal -*vidtune*vtotal.fromVert: vsyncend -*vidtune*v-vtotal.fromVert: v-vsyncend -*vidtune*flags.label: Flags: -*vidtune*flags.width: 142 -*vidtune*v-flags.width: 156 -*vidtune*v-flags.justify: left -*vidtune*v-flags.fromHoriz: flags -*vidtune*flags.fromVert: vtotal -*vidtune*v-flags.fromVert: v-vtotal -*vidtune*clock.label: Pixel Clock (MHz): -*vidtune*clock.width: 142 -*vidtune*v-clock.width: 48 -*vidtune*v-clock.fromHoriz: clock -*vidtune*clock.fromVert: flags -*vidtune*v-clock.fromVert: v-flags -*vidtune*hsync.label: Horizontal Sync (kHz): -*vidtune*hsync.width: 142 -*vidtune*v-hsync.width: 48 -*vidtune*v-hsync.fromHoriz: hsync -*vidtune*hsync.fromVert: clock -*vidtune*v-hsync.fromVert: v-clock -*vidtune*vsync.label: Vertical Sync (Hz): -*vidtune*vsync.width: 142 -*vidtune*v-vsync.width: 48 -*vidtune*v-vsync.fromHoriz: vsync -*vidtune*vsync.fromVert: hsync -*vidtune*v-vsync.fromVert: v-hsync - -*vidtune.auto.horizDistance: 43 -*vidtune.auto.fromVert: narrower -*vidtune.auto.label: Auto -!*vidtune.auto.state: True -*vidtune.apply.fromVert: narrower -*vidtune.apply.fromHoriz: auto -*vidtune.apply.label: Apply -*vidtune.restore.fromHoriz: apply -*vidtune.restore.horizDistance: 4 -*vidtune.restore.fromVert: narrower -*vidtune.restore.label: Restore -*vidtune.update.fromVert: narrower -*vidtune.update.fromHoriz: restore -*vidtune.update.label: Update -*vidtune.test.fromVert: narrower -*vidtune.test.fromHoriz: update -*vidtune.test.label: Test - -*vidtune.Label.background: white -*vidtune.addto.vertDistance: 4 -*vidtune.addto.fromHoriz: add -*vidtune.addto.fromVert: form -*vidtune.addto.label: mode to -*vidtune.addto.horizDistance: 0 -*vidtune.ident.vertDistance: 4 -*vidtune.ident.horizDistance: 0 -*vidtune.ident.fromVert: form -*vidtune.ident.fromHoriz: addto -*vidtune.ident.width: 98 -*vidtune.ident.justify: left -*vidtune.as.vertDistance: 4 -*vidtune.as.horizDistance: 0 -*vidtune.as.fromVert: form -*vidtune.as.fromHoriz: ident -*vidtune.as.label: as: -*vidtune.text.vertDistance: 4 -*vidtune.text.horizDistance: 0 -*vidtune.text.fromVert: form -*vidtune.text.fromHoriz: as -*vidtune.text.width: 98 -*vidtune.add.vertDistance: 4 -*vidtune.add.fromVert: form -*vidtune.add.label: Add -.xorgcfg.force.geometry: 268x58 -.xorgcfg.force.minWidth: 268 -.xorgcfg.force.maxWidth: 268 -.xorgcfg.force.minHeight: 58 -.xorgcfg.force.maxHeight: 58 -.xorgcfg.force.?.label: There is already a modeline with the\n\ -specified identifier. Add anyway? - -.xorgcfg.addMode.geometry: 350x80 -.xorgcfg.addMode.minWidth: 350 -.xorgcfg.addMode.maxWidth: 350 -.xorgcfg.addMode.minHeight: 80 -.xorgcfg.addMode.maxHeight: 80 -.xorgcfg.addMode.?.label: XF86VidModeAddModeLine returned True,\n\ -but no modeline was added to the current Screen.\n\ -Do you want to add it to the Monitor section? - -.xorgcfg.test.?.label: \ Testing modeline...\n\n\ -Press ESC or stop button to quit. -.xorgcfg.test.geometry: 250x72 -.xorgcfg.test.minWidth: 250 -.xorgcfg.test.maxWidth: 250 -.xorgcfg.test.minHeight: 72 -.xorgcfg.test.maxHeight: 72 - -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! screen -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -*screenD*depthL.label: Default color depth: -*screenD*depthL.height: 20 -*screenD*1.fromHoriz: depthL -*screenD*4.fromHoriz: 1 -*screenD*8.fromHoriz: 4 -*screenD*16.fromHoriz: 8 -*screenD*24.fromHoriz: 16 -*screenD*1.width: 24 -*screenD*4.width: 24 -*screenD*8.width: 24 -*screenD*16.width: 24 -*screenD*24.width: 24 -*screenD*1.horizDistance: 5 -*screenD*4.horizDistance: 5 -*screenD*8.horizDistance: 5 -*screenD*16.horizDistance: 5 -*screenD*24.horizDistance: 5 -*screenD*modeL.fromVert: depthL -*screenD*modeL.vertDistance: 14 -*screenD*modeL.label: Select resolution(s): -*screenD*viewL.fromVert: modeL -*screenD*select.fromHoriz: viewL -*screenD*unselect.fromHoriz: viewL -*screenD*select.fromVert: modeL -*screenD*unselect.fromVert: select -*screenD*up.fromHoriz: viewL -*screenD*down.fromHoriz: viewL -*screenD*up.fromVert: unselect -*screenD*down.fromVert: up -*screenD*viewR.fromHoriz: select -*screenD*viewR.fromVert: modeL -*screenD*select.bitmap: right.xbm -*screenD*unselect.bitmap: left.xbm -*screenD*up.bitmap: up.xbm -*screenD*down.bitmap: down.xbm -*screenD*viewL.width: 133 -*screenD*viewR.width: 133 -*screenD*viewL.height: 184 -*screenD*viewR.height: 184 -*screenD*listLeft.longest: 128 -*screenD*listRight.longest: 128 -*screenD*rotate.tip: Don't select any option if\n\ -your monitor is not rotated. -*screenD*rotate.vertDistance: 14 -*screenD*rotate.fromVert: viewL -*screenD*rotate.label: Rotate screen: -*screenD*CW.tip: Clock wise -*screenD*CW.vertDistance: 14 -*screenD*CW.fromVert: viewL -*screenD*CW.fromHoriz: rotate -*screenD*CW.label: CW -*screenD*CW.width: 40 -*screenD*CCW.tip: Counter-clock wise -*screenD*CCW.vertDistance: 14 -*screenD*CCW.fromVert: viewL -*screenD*CCW.fromHoriz: CW -*screenD*CCW.label: CCW -*screenD*CCW.width: 40 - -*work.screen.width: 100 -*work.screen.height: 80 - - -*Dialog.background: gray85 -*quit.ask.label: Write configuration to -*quit.ask.value.translations: #override \ -Return: write-config() -*quit.ask.label.justify: left -*quit.ask.value.width: 222 -*quit.ask.icon: Excl -.xorgcfg.quit.geometry: 230x92 -.xorgcfg.quit.minWidth: 230 -.xorgcfg.quit.maxWidth: 230 -.xorgcfg.quit.minHeight: 92 -.xorgcfg.quit.maxHeight: 92 - -*error.notice.label: Failed to write configuration file. -.xorgcfg.error.geometry: 280x50 -.xorgcfg.error.minWidth: 260 -.xorgcfg.error.maxWidth: 260 -.xorgcfg.error.minHeight: 50 -.xorgcfg.error.maxHeight: 50 - -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! accessx -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -*Accessx*Label.font: -*-fixed-medium-r-*-*-13-*-*-*-*-*-iso8859-1 -*Accessx.Form.Toggle.font: -*-fixed-medium-r-*-*-13-*-*-*-*-*-iso8859-1 -*Accessx*Label.background: white -*Accessx*Label.justify: left -*Accessx*Label.internalHeight: 0 -*Accessx*Label.internalWidth: 0 -*Accessx*Label.foreground: gray35 -*Accessx*Toggle.internalHeight: 0 -*Accessx.Toggle.internalWidth: 18 -*Accessx.Toggle.justify: left -*Accessx.Toggle.foreground: gray30 -*Accessx.Toggle.background: white -*Accessx*Toggle.highlightThickness: 0 -*Accessx.Toggle.foreground: rgb:f/7/7 -*Accessx.Toggle.displayList:\ -foreground white;\ -points 0,0,-1,0;\ -foreground rgb:f/7/7;\ -fill-poly 0,2,0,-3,8,6 -*Accessx.Toggle.translations: \ -,: toggle() notify()\n\ -: set-values(1, displayList, "foreground white;points 0,0,-1,0;fill-poly 0,1,10,6,0,-2;foreground rgb:7/7/f;fill-poly 0,2,0,-3,8,6")\n\ -: set-values(1, displayList, "foreground white;points 0,0,-1,0;foreground rgb:f/7/7;fill-poly 0,2,0,-3,8,6") -*Accessx.Form.borderWidth: 1 -*Accessx.Form.borderColor: rgb:f/a/a -*Accessx.Form.vertDistance: 0 -*Accessx.Form.defaultDistance: 2 -*Accessx.borderWidth: 0 -*accessxForm.background: white -*Accessx*Form.background: white -*Accessx.background: white -*accessxForm.enable.label: Enable AccessX -*accessxForm.enable.width: 208 -*accessxForm.apply.fromHoriz: enable -*accessxForm.apply.label: Apply changes -*accessxForm.Accessx.fromVert: enable -*Accessx.timeoutToggle.background: white -*Accessx.timeoutToggle.foreground: rgb:7/7/f -*Accessx.timeoutToggle.displayList:\ -foreground rgb:a/a/f;\ -lines 1,-1,-1,-1,-1,1;\ -foreground rgb:2/2/a;\ -lines -1,0,0,0,0,-1 - -*Accessx.Form.Toggle.background: white -*Accessx.Form.Toggle.foreground: rgb:7/7/f -*Accessx.Form.Toggle.displayList:\ -foreground rgb:a/a/f;\ -lines 1,-1,-1,-1,-1,1;\ -foreground rgb:2/2/a;\ -lines -1,0,0,0,0,-1 -*Accessx.Form.Toggle.translations: \ -,: toggle() notify()\n\ -: set-values(1, displayList, "foreground rgb:a/a/f;lines 1,-1,-1,-1,-1,1;foreground rgb:2/2/a;lines -1,0,0,0,0,-1;foreground rgb:f/7/7;draw-rect 1,1,-2,-2")\n\ -: set-values(1, displayList, "foreground rgb:a/a/f;lines 1,-1,-1,-1,-1,1;foreground rgb:2/2/a;lines -1,0,0,0,0,-1") - -*Accessx.timeoutToggle.internalWidth: 4 -*Accessx.timeoutToggle.translations:\ -,: toggle() notify() -*Accessx.timeoutToggle.internalWidth: 4 -*Accessx.timeoutToggle.internalHeight: 1 -*Accessx.timeoutToggle.vertDistance: 6 -*Accessx.timeoutToggle.label: Time Out -*Accessx.timeoutLabel.fromHoriz: timeoutToggle -*Accessx.timeoutLabel.vertDistance: 7 -*Accessx.timeoutLabel.label: Time (min) -*Accessx.Label.background: white -*Accessx.timeoutNumber.vertDistance: 1 -*Accessx.timeoutNumber.fromHoriz: timeoutLabel -*Accessx.timeoutNumber.font: 6x9 -*Accessx.timeoutNumber.label: ?? -*Accessx.timeoutScroller.fromVert: timeoutNumber -*Accessx.timeoutScroller.fromHoriz: timeoutLabel -*Accessx.timeoutScroller.width: 133 -*Accessx.timeoutScroller.horizDistance: 31 -*Accessx*Scrollbar.vertDistance: 0 -*Accessx*Scrollbar.orientation: horizontal -*Accessx*Scrollbar.thumb: black -*Accessx*Scrollbar.height: 8 -*Accessx*Scrollbar.minimumThumb: 5 -*Accessx*Scrollbar.borderWidth: 1 -*Accessx*Scrollbar.borderColor: white -*Accessx*Scrollbar.foreground: rgb:f/7/7 -*Accessx*Scrollbar.background: gray95 -*Accessx*Scrollbar.displayList:\ -foreground gray80;\ -lines 1,-1,-1,-1,-1,1;\ -foreground gray90;\ -lines -1,0,0,0,0,-1 -*Accessx.sticky.fromVert: timeoutToggle -*Accessx.sticky.vertDistance: 6 -*Accessx.sticky.label: Enable StickyKeys -*Accessx.sticky.width: 304 -*Accessx.stickyForm.fromVert: sticky -*Accessx.stickyForm.Toggle.width: 148 -*Accessx.stickyForm.Toggle.internalHeight: 1 -*Accessx.stickyForm.auto.label: Auto off -*Accessx.stickyForm.beep.fromHoriz: auto -*Accessx.stickyForm.beep.label: Modifiers beep -*Accessx.mouseKeys.fromVert: stickyForm -*Accessx.mouseKeys.width: 304 -*Accessx.mouseKeys.vertDistance: 6 -*Accessx.mouseKeys.label: Enable MouseKeys -*Accessx.mouseForm.fromVert: mouseKeys -*Accessx.mouseForm.speedLabel.vertDistance: 7 -*Accessx.mouseForm.speedLabel.label: Peak speed (pixels/sec) -*Accessx.mouseForm.speedNumber.fromHoriz: speedLabel -*Accessx.mouseForm.speedNumber.font: 6x9 -*Accessx.mouseForm.speedNumber.label: ??? -*Accessx.mouseForm.speedScroller.fromHoriz: speedLabel -*Accessx.mouseForm.speedScroller.fromVert: speedNumber -*Accessx.mouseForm.speedScroller.width: 133 -*Accessx.mouseForm.timeLabel.fromVert: speedScroller -*Accessx.mouseForm.timeLabel.label: Time to peak (sec) -*Accessx.mouseForm.timeLabel.vertDistance: 7 -*Accessx.mouseForm.timeNumber.label: ??? -*Accessx.mouseForm.timeNumber.fromVert: speedScroller -*Accessx.mouseForm.timeNumber.fromHoriz: timeLabel -*Accessx.mouseForm.timeNumber.font: 6x9 -*Accessx.mouseForm.timeScroller.fromHoriz: timeLabel -*Accessx.mouseForm.timeScroller.fromVert: timeNumber -*Accessx.mouseForm.timeScroller.width: 133 -*Accessx.mouseForm.timeScroller.horizDistance: 37 -*Accessx.mouseForm.delayLabel.fromVert: timeScroller -*Accessx.mouseForm.delayLabel.label: Motion delay (sec) -*Accessx.mouseForm.delayLabel.tip:\ -Time between the initial key press\n\ -and the first repeated motion event -*Accessx.mouseForm.delayLabel.vertDistance: 7 -*Accessx.mouseForm.delayNumber.label: ??? -*Accessx.mouseForm.delayNumber.fromVert: timeScroller -*Accessx.mouseForm.delayNumber.fromHoriz: delayLabel -*Accessx.mouseForm.delayNumber.font: 6x9 -*Accessx.mouseForm.delayScroller.fromHoriz: delayLabel -*Accessx.mouseForm.delayScroller.fromVert: delayNumber -*Accessx.mouseForm.delayScroller.width: 133 -*Accessx.mouseForm.delayScroller.horizDistance: 37 -*Accessx.repeatKeys.fromVert: mouseForm -*Accessx.repeatKeys.width: 304 -*Accessx.repeatKeys.vertDistance: 6 -*Accessx.repeatKeys.label: Enable RepeatKeys -*Accessx.repeatForm.fromVert: repeatKeys -*Accessx.repeatForm.rateLabel.vertDistance: 7 -*Accessx.repeatForm.rateLabel.label: Repeat rate (sec/key) -*Accessx.repeatForm.rateNumber.fromHoriz: rateLabel -*Accessx.repeatForm.rateNumber.font: 6x9 -*Accessx.repeatForm.rateNumber.label: ???? -*Accessx.repeatForm.rateScroller.fromHoriz: rateLabel -*Accessx.repeatForm.rateScroller.fromVert: rateNumber -*Accessx.repeatForm.rateScroller.width: 133 -*Accessx.repeatForm.rateScroller.horizDistance: 16 -*Accessx.repeatForm.delayLabel.fromVert: rateScroller -*Accessx.repeatForm.delayLabel.label: Repeat delay (sec) -*Accessx.repeatForm.delayLabel.vertDistance: 7 -*Accessx.repeatForm.delayNumber.label: ???? -*Accessx.repeatForm.delayNumber.fromVert: rateScroller -*Accessx.repeatForm.delayNumber.fromHoriz: delayLabel -*Accessx.repeatForm.delayNumber.font: 6x9 -*Accessx.repeatForm.delayScroller.fromHoriz: delayLabel -*Accessx.repeatForm.delayScroller.fromVert: delayNumber -*Accessx.repeatForm.delayScroller.width: 133 -*Accessx.repeatForm.delayScroller.horizDistance: 37 -*Accessx.slow.fromVert: repeatForm -*Accessx.slow.vertDistance: 6 -*Accessx.slow.label: Enable SlowKeys -*Accessx.slow.width: 304 -*Accessx.slowForm.fromVert: slow -*Accessx.slowForm.Toggle.horizDistance: 4 -*Accessx.slowForm.Toggle.internalWidth: 4 -*Accessx.slowForm.Toggle.internalHeight: 1 -*Accessx.slowForm.beep.label: Beep when key is -*Accessx.slowForm.beep.vertDistance: 3 -*Accessx.slowForm.pressed.fromHoriz: beep -*Accessx.slowForm.pressed.label: pressed -*Accessx.slowForm.accepted.fromHoriz: pressed -*Accessx.slowForm.accepted.label: accepted -*Accessx.slowForm.slowLabel.fromVert: accepted -*Accessx.slowForm.slowLabel.label: Key delay (sec) -*Accessx.slowForm.slowLabel.vertDistance: 7 -*Accessx.slowForm.slowNumber.label: ??? -*Accessx.slowForm.slowNumber.fromVert: accepted -*Accessx.slowForm.slowNumber.fromHoriz: slowLabel -*Accessx.slowForm.slowNumber.font: 6x9 -*Accessx.slowForm.slowScroller.fromHoriz: slowLabel -*Accessx.slowForm.slowScroller.fromVert: slowNumber -*Accessx.slowForm.slowScroller.width: 133 -*Accessx.slowForm.slowScroller.horizDistance: 58 -*Accessx.bounce.fromVert: slowForm -*Accessx.bounce.vertDistance: 6 -*Accessx.bounce.label: Enable BounceKeys -*Accessx.bounce.width: 304 -*Accessx.bounceForm.fromVert: bounce -*Accessx.bounceForm.bounceLabel.label: Debounce time (sec) -*Accessx.bounceForm.bounceLabel.vertDistance: 7 -*Accessx.bounceForm.bounceNumber.label: ??? -*Accessx.bounceForm.bounceNumber.fromHoriz: bounceLabel -*Accessx.bounceForm.bounceNumber.font: 6x9 -*Accessx.bounceForm.bounceScroller.fromHoriz: bounceLabel -*Accessx.bounceForm.bounceScroller.fromVert: bounceNumber -*Accessx.bounceForm.bounceScroller.width: 133 -*Accessx.bounceForm.bounceScroller.horizDistance: 30 - -*accessx.geometry: 220x253 -*accessx.minWidth: 220 -*accessx.maxWidth: 220 -*accessx.minHeight: 253 -*accessx.maxHeight: 253 -*accessx*lock.fromVert: label -*accessx*div.fromVert: label -*accessx*div.fromHoriz: lock -*accessx*mul.fromVert: label -*accessx*mul.fromHoriz: div -*accessx*minus.fromVert: label -*accessx*minus.fromHoriz: mul -*accessx*7.fromVert: lock -*accessx*8.fromVert: div -*accessx*8.fromHoriz: 7 -*accessx*9.fromVert: mul -*accessx*9.fromHoriz: 8 -*accessx*plus.fromVert: minus -*accessx*plus.fromHoriz: 9 -*accessx*4.fromVert: 7 -*accessx*5.fromVert: 8 -*accessx*5.fromHoriz: 4 -*accessx*6.fromVert: 9 -*accessx*6.fromHoriz: 5 -*accessx*1.fromVert: 4 -*accessx*2.fromVert: 5 -*accessx*2.fromHoriz: 1 -*accessx*3.fromVert: 6 -*accessx*3.fromHoriz: 2 -*accessx*enter.fromVert: plus -*accessx*enter.fromHoriz: 3 -*accessx*0.fromVert: 2 -*accessx*del.fromVert: 3 -*accessx*del.fromHoriz: 0 -*accessx.form.background: gray80 -*accessx*Label.displayList:\ -foreground gray20;\ -lines +1,-1,-1,-1,-1,+1;\ -foreground white;\ -lines -1,0,0,0,0,-1 -*accessx*label.font: fixed -*accessx*Label.font: -*-helvetica-bold-o-*-*-10-*-*-*-*-*-*-1 -*accessx*Label.width: 50 -*accessx*Label.height: 35 -*accessx*label.width: 212 -*accessx*label.height: 50 -*accessx*plus.height: 74 -*accessx*enter.height: 74 -*accessx*0.width: 104 -*accessx*lock.label: Num\nLock -*accessx*div.label: /\n -*accessx*mul.label: *\n -*accessx*minus.label: -\n -*accessx*7.label: 7\n -*accessx*8.label: 8\n -*accessx*9.label: 9\n -*accessx*plus.label: +\n\ \n\ \n\ \n -*accessx*4.label: 4\n -*accessx*5.label: 5\n -*accessx*6.label: 6\n -*accessx*1.label: 1\n -*accessx*2.label: 2\n -*accessx*3.label: 3\n -*accessx*enter.label: Enter\n\ \n\ \n\ \n -*accessx*0.label: 0\n -*accessx*del.label: .\n\ \n -*accessx*label.displayList:\ -foreground white;\ -lines +1,-1,-1,-1,-1,+1;\ -foreground gray20;\ -lines -1,0,0,0,0,-1 -*accessx*label.label:\ -If your mouse does not work, use\n\ -the numeric keypad, following\n\ -the diagram bellow. -*accessx*div.displayList:\ -foreground gray20;\ -lines +1,-1,-1,-1,-1,+1;\ -foreground white;\ -lines -1,0,0,0,0,-1;\ -foreground red;\ -font -*-helvetica-bold-o-*-*-10-*-*-*-*-*-*-1;\ -draw-string 4,30, "Button 1" -*accessx*mul.displayList:\ -foreground gray20;\ -lines +1,-1,-1,-1,-1,+1;\ -foreground white;\ -lines -1,0,0,0,0,-1;\ -foreground red;\ -font -*-helvetica-bold-o-*-*-10-*-*-*-*-*-*-1;\ -draw-string 4,30, "Button 2" -*accessx*minus.displayList:\ -foreground gray20;\ -lines +1,-1,-1,-1,-1,+1;\ -foreground white;\ -lines -1,0,0,0,0,-1;\ -foreground red;\ -font -*-helvetica-bold-o-*-*-10-*-*-*-*-*-*-1;\ -draw-string 4,30, "Button 3" -*accessx*7.displayList:\ -foreground gray20;\ -lines +1,-1,-1,-1,-1,+1;\ -foreground white;\ -lines -1,0,0,0,0,-1;\ -foreground red;\ -fill-poly 20,20,20,30,30,20 -*accessx*8.displayList:\ -foreground gray20;\ -lines +1,-1,-1,-1,-1,+1;\ -foreground white;\ -lines -1,0,0,0,0,-1;\ -foreground red;\ -fill-poly 30,20,20,30,40,30 -*accessx*9.displayList:\ -foreground gray20;\ -lines +1,-1,-1,-1,-1,+1;\ -foreground white;\ -lines -1,0,0,0,0,-1;\ -foreground red;\ -fill-poly 20,20,30,30,30,20 -*accessx*plus.displayList:\ -foreground gray20;\ -lines +1,-1,-1,-1,-1,+1;\ -foreground white;\ -lines -1,0,0,0,0,-1;\ -foreground red;\ -font -*-helvetica-bold-o-*-*-10-*-*-*-*-*-*-1;\ -draw-string 9,46, "Double";\ -draw-string 14,60, "Click" -*accessx*4.displayList:\ -foreground gray20;\ -lines +1,-1,-1,-1,-1,+1;\ -foreground white;\ -lines -1,0,0,0,0,-1;\ -foreground red;\ -fill-poly 22,22,30,30,30,14 -*accessx*5.displayList:\ -foreground gray20;\ -lines +1,-1,-1,-1,-1,+1;\ -foreground white;\ -lines -1,0,0,0,0,-1;\ -foreground red;\ -font -*-helvetica-bold-o-*-*-10*-*-*-*-*-*-1;\ -draw-string 14,30, "Click" -*accessx*6.displayList:\ -foreground gray20;\ -lines +1,-1,-1,-1,-1,+1;\ -foreground white;\ -lines -1,0,0,0,0,-1;\ -foreground red;\ -fill-poly 30,22,22,30,22,14 -*accessx*1.displayList:\ -foreground gray20;\ -lines +1,-1,-1,-1,-1,+1;\ -foreground white;\ -lines -1,0,0,0,0,-1;\ -foreground red;\ -fill-poly 20,20,20,30,30,30 -*accessx*2.displayList:\ -foreground gray20;\ -lines +1,-1,-1,-1,-1,+1;\ -foreground white;\ -lines -1,0,0,0,0,-1;\ -foreground red;\ -fill-poly 28,30,20,22,36,22 -*accessx*3.displayList:\ -foreground gray20;\ -lines +1,-1,-1,-1,-1,+1;\ -foreground white;\ -lines -1,0,0,0,0,-1;\ -foreground red;\ -fill-poly 20,30,30,30,30,20 -*accessx*enter.displayList:\ -foreground gray20;\ -lines +1,-1,-1,-1,-1,+1;\ -foreground white;\ -lines -1,0,0,0,0,-1;\ -foreground red;\ -font -*-helvetica-bold-o-*-*-10-*-*-*-*-*-*-1;\ -draw-string 9,46, "Toggle";\ -draw-string 10,60, "Speed" -*accessx*0.displayList:\ -foreground gray20;\ -lines +1,-1,-1,-1,-1,+1;\ -foreground white;\ -lines -1,0,0,0,0,-1;\ -foreground red;\ -font -*-helvetica-bold-o-*-*-10-*-*-*-*-*-*-1;\ -draw-string 26,30, "Button Lock" -*accessx*del.displayList:\ -foreground gray20;\ -lines +1,-1,-1,-1,-1,+1;\ -foreground white;\ -lines -1,0,0,0,0,-1;\ -foreground red;\ -font -*-helvetica-bold-o-*-*-8-*-*-*-*-*-*-1;\ -draw-string 12,21, "Button";\ -draw-string 9,30, "Release" - -*panner.width: 100 -*panner.height: 100 - -*help*text.properties:\ -default?family=Times&weight=Medium&slant=R&pixelsize=12®istry=ISO8859&encoding=1,\ -b?weight=Bold,\ -strong?weight=Bold,\ -i?slant=I,\ -em?slant=I,\ -address?slant=I,\ -h1?pixelsize=24&weight=Bold,\ -h2?pixelsize=20&weight=Bold,\ -h3?pixelsize=17&weight=Bold,\ -h4?pixelsize=14&weight=Bold,\ -h5?pixelsize=12&weight=Bold,\ -h6?pixelsize=10&weight=Bold,\ -pre?family=Courier&pixelsize=10,\ -kbd?family=Courier&pixelsize=10,\ -code?family=Courier&pixelsize=10,\ -samp?family=Courier&pixelsize=10,\ -tt?family=Courier&pixelsize=10 -*help*commands.min: 22 -*help*commands.max: 22 -*help*commands.showGrip:False -*help*wrap: word -*help*commands.close.label: Close -.xorgcfg.help.geometry: 320x369 -.xorgcfg.help.minWidth: 320 -.xorgcfg.help.maxWidth: 320 -.xorgcfg.help.minHeight: 369 -.xorgcfg.help.maxHeight: 369 -.xorgcfg.help.translations: #override \ -WM_PROTOCOLS: help-close() -*help*text.translations:\ -Up: scroll-one-line-down()\n\ -Down: scroll-one-line-up()\n\ -Next: next-page()\n\ -Prior: previous-page()\n\ -space: next-page()\n\ -BackSpace: previous-page()\n\ -Home: beginning-of-file()\n\ -End: end-of-file() -*help*text*displayCaret: False -*help*text.leftMargin: 10 -*help*text.rightMargin: 10 - -*help.helpDevices:\ -

Configuring devices

\ -You can arrange the icons pressing the left mouse button \ -and dragging them.\ -

\ -To configure a device, press the right mouse button and choose the \ -configure option.\ - -*help.helpScreen:\ -

Configuring screens

\ -You can drag the monitors to set the screen layout form Xinerama \ -pressing the left mouse button and moving them.\ -

\ -Press the right mouse button to set configure or set options for \ -the given screen. - -*help.helpModeline:\ -

Configuring modelines

\ -The controls here may damage your \ -monitor. \ -

\ -You can safelly skip this stage of the configuration process.\ -

\ -When not running in Xinerama mode, you can configure modelines \ -for every configured monitor. Set the Auto toggle to see the changes \ -while the control buttons are pressed.\ -

\ -Note that the arrow buttons are repeaters. Press they only once \ -and they will show the changes in the text labels.\ -

\ -Press ESC if the monitor goes out of sync. - -*help.helpAccessX:\ -

Configuring accessx

\ -This interface is expected to allow customizing most of the accessx \ -options.\ -

\ -Press in the Enable ??? label to set specific options.\ -

\ -Note: currently, if you press the \ -Apply changes button there is no way to undo your changes. - - -*Expert.geometry: 640x460 -*Expert*vpane.min: 64 -*Expert*vpane.max: 64 -*Expert*vpane.showGrip: False -*Expert*vpane.close.showGrip: False -*Expert*vpane.close.min: 26 -*Expert*vpane.close.max: 26 -*panner.internalSpace: 1 -*panner.shadowThickness: 0 -*panner.shadowColor: gray60 -*panner.backgroundStipple: black -*panner.borderColor: gray40 - -*expert*tree.hSpace: 12 -*expert*tree*Box.hSpace: 4 -*expert*tree*vSpace: 4 -*expert*tree*LogFile.Text.width: 192 -*expert*tree*RgbPath.Text.width: 192 -*expert*tree*ModulePath.Text.width: 192 - -*expert*tree*Form.defaultDistance: 4 - -*expert*tree.backgroundPixmap: xlogo64?foreground=gray90&background=gray92 -*expert*tree.foreground: gray45 - -*expert*tree*Label.backgroundPixmap: ParentRelative - -*expert*tree*Box.backgroundPixmap: gradient:vertical?dimension=3&start=gray85&end=gray95 -*expert*tree*Box.borderWidth: 0 -*expert*tree*Box.background: gray85 -*expert*Box.displayList:\ -foreground gray40;\ -lines 1,-1,-1,-1,-1,1;\ -foreground white;\ -lines -1,0,0,0,0,-1 - -*expert*tree*Form.backgroundPixmap: gradient:vertical?dimension=3&start=gray85&end=gray95 -*expert*tree*Form.borderWidth: 0 -*expert*tree*Form.background: gray85 -*expert*Form.displayList:\ -foreground gray40;\ -lines 1,-1,-1,-1,-1,1;\ -foreground white;\ -lines -1,0,0,0,0,-1 - -*expert*tree*Text.width: 160 - -*expert*tree*fontpath.Text.width: 228 -*expert*tree*fontpath.up.fromHoriz: remove -*expert*tree*fontpath.down.fromHoriz: up -*expert*tree*fontpath.value.fromVert: remove -*expert*tree*fontpath.valueNew.fromVert: new - -*expert*tree*modulepath.Text.width: 228 -*expert*tree*modulepath.value.fromVert: remove -*expert*tree*modulepath.valueNew.fromVert: new - -*expert*tree*module.options.fromHoriz: remove -*expert*tree*module.label.fromVert: remove -*expert*tree*module.value.fromHoriz: new -*expert*tree*module.value.width: 78 - -*expert*tree*video*Label.justify: left -*expert*tree*video.options.fromHoriz: remove -*expert*tree*video.adaptor.fromHoriz: options -*expert*tree*video.vendorL.width: 78 -*expert*tree*video.vendorL.label: VendorName -*expert*tree*video.vendorL.fromVert: remove -*expert*tree*video.vendor.fromVert: remove -*expert*tree*video.vendor.fromHoriz: vendorL -*expert*tree*video.boardL.width: 78 -*expert*tree*video.boardL.label: BoardName -*expert*tree*video.boardL.fromVert: vendor -*expert*tree*video.board.fromVert: vendor -*expert*tree*video.board.fromHoriz: boardL -*expert*tree*video.busidL.width: 78 -*expert*tree*video.busidL.label: BusID -*expert*tree*video.busidL.fromVert: board -*expert*tree*video.busid.fromVert: board -*expert*tree*video.busid.fromHoriz: busidL -*expert*tree*video.driverL.width: 78 -*expert*tree*video.driverL.label: Driver -*expert*tree*video.driverL.fromVert: busid -*expert*tree*video.driver.fromVert: busid -*expert*tree*video.driver.fromHoriz: driverL -*expert*tree*video.value.fromHoriz: new -*expert*tree*video.value.width: 78 -*expert*tree*VideoPort.fromVert: driver -*expert*tree*VideoPort.horizDistance: 120 -*expert*tree*video.value.width: 149 - -*expert*tree*port.value.fromHoriz: new -*expert*tree*port.options.fromHoriz: remove -*expert*tree*port.label.fromVert: remove -*expert*tree*port.value.width: 78 - -*expert*tree*modes.mode.fromHoriz: remove -*expert*tree*modes.value.fromHoriz: new -*expert*tree*modes.value.width: 78 - -*expert*tree*modeline.label.fromHoriz: remove -*expert*tree*modeline.modeline.fromVert: remove -*expert*tree*modeline.modeline.width: 480 -*expert*tree*modeline.value.fromHoriz: new -*expert*tree*modeline.value.width: 120 -*expert*tree*modeline.modelineNew.fromVert: value -*expert*tree*modeline.modelineNew.width: 480 - -*expert*tree*monitor.options.fromHoriz: remove -*expert*tree*monitor.label.fromHoriz: options - -*expert*tree*monitor.Label.justify: left -*expert*tree*monitor.Text.width: 120 -*expert*tree*monitor.vendorL.width: 100 -*expert*tree*monitor.vendorL.label: VendorName -*expert*tree*monitor.vendorL.fromVert: remove -*expert*tree*monitor.vendor.fromVert: remove -*expert*tree*monitor.vendor.fromHoriz: vendorL -*expert*tree*monitor.modelnameL.width: 100 -*expert*tree*monitor.modelnameL.label: ModelName -*expert*tree*monitor.modelnameL.fromVert: vendor -*expert*tree*monitor.modelname.fromVert: vendor -*expert*tree*monitor.modelname.fromHoriz: modelnameL -*expert*tree*monitor.widthL.width: 100 -*expert*tree*monitor.widthL.label: Width (mm) -*expert*tree*monitor.widthL.fromVert: modelname -*expert*tree*monitor.width.fromVert: modelname -*expert*tree*monitor.width.fromHoriz: widthL -*expert*tree*monitor.heightL.width: 100 -*expert*tree*monitor.heightL.label: Height (mm) -*expert*tree*monitor.heightL.fromVert: width -*expert*tree*monitor.height.fromVert: width -*expert*tree*monitor.height.fromHoriz: heightL -*expert*tree*monitor.hsyncL.width: 100 -*expert*tree*monitor.hsyncL.label: Hsync -*expert*tree*monitor.hsyncL.fromVert: heightL -*expert*tree*monitor.hsync.fromVert: height -*expert*tree*monitor.hsync.fromHoriz: hsyncL -*expert*tree*monitor.vrefreshL.width: 100 -*expert*tree*monitor.vrefreshL.label: Vrefresh -*expert*tree*monitor.vrefreshL.fromVert: hsync -*expert*tree*monitor.vrefresh.fromVert: hsync -*expert*tree*monitor.vrefresh.fromHoriz: vrefreshL -*expert*tree*monitor.gammaRedL.width: 100 -*expert*tree*monitor.gammaRedL.label: Gamma (red) -*expert*tree*monitor.gammaRedL.fromVert: vrefresh -*expert*tree*monitor.gammaRed.fromVert: vrefresh -*expert*tree*monitor.gammaRed.fromHoriz: gammaRedL -*expert*tree*monitor.gammaGreenL.width: 100 -*expert*tree*monitor.gammaGreenL.label: Gamma (green) -*expert*tree*monitor.gammaGreenL.fromVert: gammaRed -*expert*tree*monitor.gammaGreen.fromVert: gammaRed -*expert*tree*monitor.gammaGreen.fromHoriz: gammaGreenL -*expert*tree*monitor.gammaBlueL.width: 100 -*expert*tree*monitor.gammaBlueL.label: Gamma (blue) -*expert*tree*monitor.gammaBlueL.fromVert: gammaGreen -*expert*tree*monitor.gammaBlue.fromVert: gammaGreen -*expert*tree*monitor.gammaBlue.fromHoriz: gammaBlueL -*expert*tree*monitor.value.width: 191 -*expert*tree*monitor.value.fromHoriz: new - -*expert*tree*device.Label.justify: left -*expert*tree*device.options.fromHoriz: remove -*expert*tree*device.label.fromHoriz: options -*expert*tree*device.vendorL.label: VendorName -*expert*tree*device.vendorL.width: 100 -*expert*tree*device.vendorL.fromVert: remove -*expert*tree*device.vendor.fromVert: remove -*expert*tree*device.vendor.fromHoriz: vendorL -*expert*tree*device.boardL.label: BoardName -*expert*tree*device.boardL.width: 100 -*expert*tree*device.boardL.fromVert: vendor -*expert*tree*device.board.fromVert: vendor -*expert*tree*device.board.fromHoriz: boardL -*expert*tree*device.chipsetL.label: Chipset -*expert*tree*device.chipsetL.width: 100 -*expert*tree*device.chipsetL.fromVert: board -*expert*tree*device.chipset.fromVert: board -*expert*tree*device.chipset.fromHoriz: chipsetL -*expert*tree*device.busidL.label: BusID -*expert*tree*device.busidL.width: 100 -*expert*tree*device.busidL.fromVert: chipset -*expert*tree*device.busid.fromVert: chipset -*expert*tree*device.busid.fromHoriz: chipsetL -*expert*tree*device.cardL.label: Card -*expert*tree*device.cardL.width: 100 -*expert*tree*device.cardL.fromVert: busid -*expert*tree*device.card.fromVert: busid -*expert*tree*device.card.fromHoriz: cardL -*expert*tree*device.driverL.label: Driver -*expert*tree*device.driverL.width: 100 -*expert*tree*device.driverL.fromVert: card -*expert*tree*device.driver.fromVert: card -*expert*tree*device.driver.fromHoriz: driverL -*expert*tree*device.ramdacL.label: Ramdac -*expert*tree*device.ramdacL.width: 100 -*expert*tree*device.ramdacL.fromVert: driverL -*expert*tree*device.ramdac.fromVert: driver -*expert*tree*device.ramdac.fromHoriz: ramdacL -*expert*tree*device.dacSpeedL.label: DacSpeed -*expert*tree*device.dacSpeedL.width: 100 -*expert*tree*device.dacSpeedL.fromVert: ramdac -*expert*tree*device.dacSpeed.fromVert: ramdac -*expert*tree*device.dacSpeed.fromHoriz: dacSpeedL -*expert*tree*device.videoRamL.label: VideoRam -*expert*tree*device.videoRamL.width: 100 -*expert*tree*device.videoRamL.fromVert: dacSpeed -*expert*tree*device.videoRam.fromVert: dacSpeed -*expert*tree*device.videoRam.fromHoriz: videoRamL -*expert*tree*device.textClockFreqL.label: TextClockFreq -*expert*tree*device.textClockFreqL.width: 100 -*expert*tree*device.textClockFreqL.fromVert: videoRam -*expert*tree*device.textClockFreq.fromVert: videoRam -*expert*tree*device.textClockFreq.fromHoriz: textClockFreqL -*expert*tree*device.biosBaseL.label: BiosBase -*expert*tree*device.biosBaseL.width: 100 -*expert*tree*device.biosBaseL.fromVert: textClockFreq -*expert*tree*device.biosBase.fromVert: textClockFreq -*expert*tree*device.biosBase.fromHoriz: biosBaseL -*expert*tree*device.memBaseL.label: MemBase -*expert*tree*device.memBaseL.width: 100 -*expert*tree*device.memBaseL.fromVert: biosBase -*expert*tree*device.memBase.fromVert: biosBase -*expert*tree*device.memBase.fromHoriz: memBaseL -*expert*tree*device.ioBaseL.label: IOBase -*expert*tree*device.ioBaseL.width: 100 -*expert*tree*device.ioBaseL.fromVert: memBase -*expert*tree*device.ioBase.fromVert: memBase -*expert*tree*device.ioBase.fromHoriz: ioBaseL -*expert*tree*device.clockChipL.label: ClockChip -*expert*tree*device.clockChipL.width: 100 -*expert*tree*device.clockChipL.fromVert: ioBase -*expert*tree*device.clockChip.fromVert: ioBase -*expert*tree*device.clockChip.fromHoriz: clockChipL -*expert*tree*device.devClockL.label: Clocks -*expert*tree*device.devClockL.width: 100 -*expert*tree*device.devClockL.fromVert: clockChip -*expert*tree*device.devClock.fromVert: clockChip -*expert*tree*device.devClock.fromHoriz: devClockL -*expert*tree*device.chipIdL.label: ChipId -*expert*tree*device.chipIdL.width: 100 -*expert*tree*device.chipIdL.fromVert: devClock -*expert*tree*device.chipId.fromVert: devClock -*expert*tree*device.chipId.fromHoriz: chipIdL -*expert*tree*device.chipRevL.label: ChipRev -*expert*tree*device.chipRevL.width: 100 -*expert*tree*device.chipRevL.fromVert: chipId -*expert*tree*device.chipRev.fromVert: chipId -*expert*tree*device.chipRev.fromHoriz: chipRevL -*expert*tree*device.irqL.label: IRQ -*expert*tree*device.irqL.width: 100 -*expert*tree*device.irqL.fromVert: chipRev -*expert*tree*device.irq.fromVert: chipRev -*expert*tree*device.irq.fromHoriz: irqL -*expert*tree*device.screenL.label: Screen -*expert*tree*device.screenL.width: 100 -*expert*tree*device.screenL.fromVert: irq -*expert*tree*device.screen.fromVert: irq -*expert*tree*device.screen.fromHoriz: screenL -*expert*tree*device.value.fromHoriz: new - -*expert*tree*screen.Label.justify: left -*expert*tree*screen.options.fromHoriz: remove -*expert*tree*screen.label.fromHoriz: options -*expert*tree*screen.defaultDepthL.label: DefaultDepth -*expert*tree*screen.defaultDepthL.width: 92 -*expert*tree*screen.defaultDepthL.fromVert: remove -*expert*tree*screen.defaultDepth.fromVert: remove -*expert*tree*screen.defaultDepth.fromHoriz: defaultDepthL -*expert*tree*screen.defaultBppL.label: DefaultBpp -*expert*tree*screen.defaultBppL.width: 92 -*expert*tree*screen.defaultBppL.fromVert: defaultDepth -*expert*tree*screen.defaultBpp.fromVert: defaultDepth -*expert*tree*screen.defaultBpp.fromHoriz: defaultBppL -*expert*tree*screen.defaultFbBppL.label: DefaultFbBpp -*expert*tree*screen.defaultFbBppL.width: 92 -*expert*tree*screen.defaultFbBppL.fromVert: defaultBpp -*expert*tree*screen.defaultFbBpp.fromVert: defaultBpp -*expert*tree*screen.defaultFbBpp.fromHoriz: defaultFbBppL -*expert*tree*screen.monitorL.label: Monitor -*expert*tree*screen.monitorL.width: 92 -*expert*tree*screen.monitorL.fromVert: defaultFbBpp -*expert*tree*screen.monitor.fromVert: defaultFbBpp -*expert*tree*screen.monitor.fromHoriz: monitorL -*expert*tree*screen.deviceL.label: Device -*expert*tree*screen.deviceL.width: 92 -*expert*tree*screen.deviceL.fromVert: monitor -*expert*tree*screen.device.fromVert: monitor -*expert*tree*screen.device.fromHoriz: deviceL -*expert*tree*screen.value.fromHoriz: new - -*expert*tree*adaptor.label.fromHoriz: remove - -*expert*tree*display.Label.width: 64 -*expert*tree*display.Label.justify: left -*expert*tree*display.options.fromHoriz: remove -*expert*tree*display.viewportL.label: Viewport -*expert*tree*display.viewportL.fromVert: remove -*expert*tree*display.viewport.fromVert: remove -*expert*tree*display.viewport.fromHoriz: viewportL -*expert*tree*display.virtualL.label: Virtual -*expert*tree*display.virtualL.fromVert: viewport -*expert*tree*display.virtual.fromVert: viewport -*expert*tree*display.virtual.fromHoriz: virtualL -*expert*tree*display.depthL.label: Depth -*expert*tree*display.depthL.fromVert: virtual -*expert*tree*display.depth.fromVert: virtual -*expert*tree*display.depth.fromHoriz: depthL -*expert*tree*display.bppL.label: FbBPP -*expert*tree*display.bppL.fromVert: depth -*expert*tree*display.bpp.fromVert: depth -*expert*tree*display.bpp.fromHoriz: bppL -*expert*tree*display.visualL.label: Visual -*expert*tree*display.visualL.fromVert: bpp -*expert*tree*display.visual.fromVert: bpp -*expert*tree*display.visual.fromHoriz: visualL -*expert*tree*display.weightL.label: Weight -*expert*tree*display.weightL.fromVert: visual -*expert*tree*display.weight.fromVert: visual -*expert*tree*display.weight.fromHoriz: weightL -*expert*tree*display.blackL.label: Black -*expert*tree*display.blackL.fromVert: weight -*expert*tree*display.black.fromVert: weight -*expert*tree*display.black.fromHoriz: blackL -*expert*tree*display.whiteL.label: White -*expert*tree*display.whiteL.fromVert: black -*expert*tree*display.white.fromVert: black -*expert*tree*display.white.fromHoriz: whiteL - -*expert*tree*mode.label.fromHoriz: remove -*expert*tree*mode.value.fromHoriz: new -*expert*tree*mode.value.width: 100 - -*expert*tree*input.options.fromHoriz: remove -*expert*tree*input.label.fromHoriz: options -*expert*tree*input.driverL.label: Driver -*expert*tree*input.driverL.fromVert: remove -*expert*tree*input.driver.fromVert: remove -*expert*tree*input.driver.fromHoriz: driverL -*expert*tree*input.value.fromHoriz: new - -*expert*tree*layout.options.fromHoriz: remove -*expert*tree*layout.label.fromHoriz: options -*expert*tree*layout.value.fromHoriz: new - -*expert*tree*adjacency.Text.width: 46 -*expert*tree*adjacency.MenuButton.width: 122 -*expert*tree*adjacency.label.fromHoriz: remove -*expert*tree*adjacency.scrnumL.label: Screen number -*expert*tree*adjacency.scrnumL.horizDistance: 50 -*expert*tree*adjacency.scrnum.width: 32 -*expert*tree*adjacency.scrnumL.fromVert: remove -*expert*tree*adjacency.scrnum.fromVert: remove -*expert*tree*adjacency.scrnum.fromHoriz: scrnumL -*expert*tree*adjacency.above.label: Above -*expert*tree*adjacency.above.fromVert: scrnumL -*expert*tree*adjacency.above.vertDistance: 20 -*expert*tree*adjacency.above.horizDistance: 96 -*expert*tree*adjacency.below.label: Below -*expert*tree*adjacency.below.horizDistance: 96 -*expert*tree*adjacency.leftOf.label: LeftOf -*expert*tree*adjacency.leftOf.fromVert: above -*expert*tree*adjacency.screen.fromVert: above -*expert*tree*adjacency.screen.fromHoriz: leftOf -*expert*tree*adjacency.rightOf.label: RightOf -*expert*tree*adjacency.rightOf.fromVert: above -*expert*tree*adjacency.rightOf.fromHoriz: screen -*expert*tree*adjacency.below.fromVert: screen -*expert*tree*adjacency.relative.label: Relative -*expert*tree*adjacency.relative.horizDistance: 53 -*expert*tree*adjacency.relative.fromVert: below -*expert*tree*adjacency.absolute.fromVert: below -*expert*tree*adjacency*absolute.label: Absolute -*expert*tree*adjacency*absolute.fromHoriz: relative -*expert*tree*adjacency*adjxL.label: X -*expert*tree*adjacency*adjxL.horizDistance: 42 -*expert*tree*adjacency*adjxL.fromVert: absolute -*expert*tree*adjacency*adjx.fromVert: absolute -*expert*tree*adjacency*adjx.fromHoriz: adjxL -*expert*tree*adjacency*adjyL.label: Y -*expert*tree*adjacency*adjyL.horizDistance: 12 -*expert*tree*adjacency*adjyL.fromVert: absolute -*expert*tree*adjacency*adjyL.fromHoriz: adjx -*expert*tree*adjacency*adjy.fromVert: absolute -*expert*tree*adjacency*adjy.fromHoriz: adjyL - -*expert*tree*inputref.options.fromHoriz: remove -*expert*tree*inputref.label.fromHoriz: options - -*expert*tree*vendor.Text.width: 100 -*expert*tree*vendor.options.fromHoriz: remove -*expert*tree*vendor.label.fromHoriz: options -*expert*tree*vendor.value.fromHoriz: new - -*expert*tree*vendorSub.Text.width: 140 -*expert*tree*vendorSub.options.fromHoriz: remove -*expert*tree*vendorSub.label.fromHoriz: options -*expert*tree*vendorSub.nameL.label: Name -*expert*tree*vendorSub.nameL.fromVert: remove -*expert*tree*vendorSub.name.fromVert: remove -*expert*tree*vendorSub.name.fromHoriz: nameL -*expert*tree*vendorSub.value.fromHoriz: new - -*expert*tree*dri.Text.width: 100 -*expert*tree*dri.Label.width: 78 -*expert*tree*dri.Label.justify: left -*expert*tree*dri.nameL.label: Group name -*expert*tree*dri.name.fromHoriz: nameL -*expert*tree*dri.groupL.label: Group -*expert*tree*dri.groupL.fromVert: name -*expert*tree*dri.group.fromVert: name -*expert*tree*dri.group.fromHoriz: groupL -*expert*tree*dri.modeL.label: Mode -*expert*tree*dri.modeL.fromVert: group -*expert*tree*dri.mode.fromVert: group -*expert*tree*dri.mode.fromHoriz: modeL - -*expert*tree*buffers.Label.width: 50 -*expert*tree*buffers.Text.width: 100 -*expert*tree*buffers.countL.label: Count -*expert*tree*buffers.countL.fromVert: remove -*expert*tree*buffers.count.fromVert: remove -*expert*tree*buffers.count.fromHoriz: countL -*expert*tree*buffers.sizeL.label: Size -*expert*tree*buffers.sizeL.fromVert: count -*expert*tree*buffers.size.fromVert: count -*expert*tree*buffers.size.fromHoriz: sizeL -*expert*tree*buffers.flagsL.label: Flags -*expert*tree*buffers.flagsL.fromVert: size -*expert*tree*buffers.flags.fromVert: size -*expert*tree*buffers.flags.fromHoriz: flagsL -*Expert*close.label: Close diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/accessx.c b/xorg-server/hw/xfree86/utils/xorgcfg/accessx.c deleted file mode 100644 index 38bda383a..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/accessx.c +++ /dev/null @@ -1,681 +0,0 @@ -/* - * 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. - * - * Author: Paulo César Pereira de Andrade - * - */ - -#include "config.h" -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "keyboard-cfg.h" - -#define MAX_TIMEOUT 20 -#define MAX_MOUSE_SPEED 500 -#define MAX_MOUSE_TIME 4 -#define MAX_MOUSE_DELAY 2.09 -#define MAX_REPEAT_RATE 8.04 -#define MAX_REPEAT_DELAY 6.04 -#define MAX_SLOW_TIME 4 -#define MAX_BOUNCE_TIME 4 - -/* - * Types - */ -typedef struct { - Widget label, number, scroller; - double min, max, value, resolution; - Bool integer; -} Scale; - -/* - * Initialization - */ -static Widget shell, accessx, enable, timeoutToggle, form, apply; -static Widget sticky, stickyAuto, stickyBeep; -static Widget mouse; -static Widget repeat; -static Widget slowToggle, slowPressed, slowAccepted; -static Widget bounceToggle; -static Scale *timeout, *mouseSpeed, *mouseTime, *mouseDelay, *slow, - *repeatRate, *repeatDelay, *bounce; -extern Widget work; - -/* - * Prototypes - */ -static void CreateAccessXHelpDialog(void); -static void EnableCallback(Widget, XtPointer, XtPointer); -static void ScaleEnableCallback(Widget, XtPointer, XtPointer); -static void ScaleJumpCallback(Widget, XtPointer, XtPointer); - -static void ApplyCallback(Widget, XtPointer, XtPointer); -static void AccessXInitialize(void); - -void CloseAccessXAction(Widget, XEvent*, String*, Cardinal*); -void AccessXConfigureStart(void); -void AccessXConfigureEnd(void); - -/* - * Implementation - */ -void -startaccessx(void) -{ - InitializeKeyboard(); - - if (xkb_info->xkb) { - XkbGetControls(DPY, XkbAllControlsMask, xkb_info->xkb); - if (xkb_info->xkb->ctrls == NULL) - xkb_info->xkb->ctrls = (XkbControlsPtr) - XtCalloc(1, sizeof(XkbControlsRec)); - - xkb_info->xkb->ctrls->enabled_ctrls |= XkbMouseKeysMask | - XkbMouseKeysAccelMask; - xkb_info->xkb->ctrls->mk_delay = 40; - xkb_info->xkb->ctrls->mk_interval = 10; - xkb_info->xkb->ctrls->mk_time_to_max = 1000; - xkb_info->xkb->ctrls->mk_max_speed = 500; - xkb_info->xkb->ctrls->mk_curve = 0; - XkbSetControls(DPY, XkbAllControlsMask, xkb_info->xkb); - (void)UpdateKeyboard(True); - CreateAccessXHelpDialog(); - } -} - -void -CreateAccessXHelpDialog() -{ - Widget form; - - shell = XtVaCreatePopupShell("accessx", transientShellWidgetClass, toplevel, - XtNx, toplevel->core.x + toplevel->core.width, - XtNy, toplevel->core.y, NULL); - form = XtCreateManagedWidget("form", formWidgetClass, shell, NULL, 0); - XtCreateManagedWidget("label", labelWidgetClass, form, NULL, 0); - XtCreateManagedWidget("lock", labelWidgetClass, form, NULL, 0); - XtCreateManagedWidget("div", labelWidgetClass, form, NULL, 0); - XtCreateManagedWidget("mul", labelWidgetClass, form, NULL, 0); - XtCreateManagedWidget("minus", labelWidgetClass, form, NULL, 0); - XtCreateManagedWidget("7", labelWidgetClass, form, NULL, 0); - XtCreateManagedWidget("8", labelWidgetClass, form, NULL, 0); - XtCreateManagedWidget("9", labelWidgetClass, form, NULL, 0); - XtCreateManagedWidget("plus", labelWidgetClass, form, NULL, 0); - XtCreateManagedWidget("4", labelWidgetClass, form, NULL, 0); - XtCreateManagedWidget("5", labelWidgetClass, form, NULL, 0); - XtCreateManagedWidget("6", labelWidgetClass, form, NULL, 0); - XtCreateManagedWidget("1", labelWidgetClass, form, NULL, 0); - XtCreateManagedWidget("2", labelWidgetClass, form, NULL, 0); - XtCreateManagedWidget("3", labelWidgetClass, form, NULL, 0); - XtCreateManagedWidget("enter", labelWidgetClass, form, NULL, 0); - XtCreateManagedWidget("0", labelWidgetClass, form, NULL, 0); - XtCreateManagedWidget("del", labelWidgetClass, form, NULL, 0); - - XtRealizeWidget(shell); - XSetWMProtocols(DPY, XtWindow(shell), &wm_delete_window, 1); - XtPopup(shell, XtGrabNone); -} - -/*ARGSUSED*/ -void -CloseAccessXAction(Widget w, XEvent *event, String *params, Cardinal *num_params) -{ - XtPopdown(shell); -} - -static void -AccessXInitialize(void) -{ - static int first = 1; - Arg args[1]; - Boolean state; - Widget stickyForm, mouseForm, repeatForm, slowForm, bounceForm; - float val, tmp; - - if (!first) - return; - first = 0; - - InitializeKeyboard(); - - XkbGetControls(DPY, XkbAllControlsMask, xkb_info->xkb); - if (xkb_info->xkb->ctrls == NULL) - xkb_info->xkb->ctrls = (XkbControlsPtr) - XtCalloc(1, sizeof(XkbControlsRec)); - - timeout = XtNew(Scale); - accessx = XtCreateWidget("accessxForm", formWidgetClass, work, NULL, 0); - enable = XtVaCreateManagedWidget("enable", toggleWidgetClass, accessx, - XtNstate, - (xkb_info->xkb->ctrls->enabled_ctrls & - (XkbAccessXKeysMask | XkbStickyKeysMask | - XkbSlowKeysMask | XkbBounceKeysMask)) != 0, NULL); - - apply = XtCreateManagedWidget("apply", commandWidgetClass, accessx, NULL, 0); - XtAddCallback(apply, XtNcallback, ApplyCallback, NULL); - - form = XtCreateManagedWidget("Accessx", formWidgetClass, accessx, NULL, 0); - timeoutToggle = XtVaCreateManagedWidget("timeoutToggle", toggleWidgetClass, - form, XtNstate, - xkb_info->xkb->ctrls->ax_timeout > 60 - && xkb_info->xkb->ctrls->ax_timeout - < 30000, NULL); - XtAddCallback(timeoutToggle, XtNcallback, ScaleEnableCallback, - (XtPointer)timeout); - timeout->label = XtCreateManagedWidget("timeoutLabel", labelWidgetClass, - form, NULL, 0); - timeout->number = XtCreateManagedWidget("timeoutNumber", labelWidgetClass, - form, NULL, 0); - timeout->scroller = XtCreateManagedWidget("timeoutScroller", - scrollbarWidgetClass, - form, NULL, 0); - XtAddCallback(timeout->scroller, XtNjumpProc, ScaleJumpCallback, - (XtPointer)timeout); - timeout->min = 1; - timeout->max = MAX_TIMEOUT; - timeout->resolution = 1; - timeout->integer = True; - - sticky = XtVaCreateManagedWidget("sticky", toggleWidgetClass, form, - XtNstate, - (xkb_info->xkb->ctrls->enabled_ctrls & - XkbStickyKeysMask) != 0, NULL); - stickyForm = XtCreateManagedWidget("stickyForm", formWidgetClass, - form, NULL, 0); - XtAddCallback(sticky, XtNcallback, EnableCallback, (XtPointer)stickyForm); - stickyAuto = XtVaCreateManagedWidget("auto", toggleWidgetClass, stickyForm, - XtNstate, - (xkb_info->xkb->ctrls->ax_options & - XkbAX_LatchToLockMask) == 0, NULL); - stickyBeep = XtVaCreateManagedWidget("beep", toggleWidgetClass, stickyForm, - XtNstate, - (xkb_info->xkb->ctrls->ax_options & - XkbAX_StickyKeysFBMask) != 0, NULL); - - mouse = XtVaCreateManagedWidget("mouseKeys", toggleWidgetClass, form, - XtNstate, - (xkb_info->xkb->ctrls->enabled_ctrls & - (XkbMouseKeysMask | XkbMouseKeysAccelMask)) - != 0, NULL); - mouseForm = XtCreateManagedWidget("mouseForm", formWidgetClass, - form, NULL, 0); - XtAddCallback(mouse, XtNcallback, EnableCallback, (XtPointer)mouseForm); - mouseSpeed = XtNew(Scale); - mouseSpeed->label = XtCreateManagedWidget("speedLabel", labelWidgetClass, - mouseForm, NULL, 0); - mouseSpeed->number = XtCreateManagedWidget("speedNumber", labelWidgetClass, - mouseForm, NULL, 0); - mouseSpeed->scroller = XtCreateManagedWidget("speedScroller", - scrollbarWidgetClass, - mouseForm, NULL, 0); - XtAddCallback(mouseSpeed->scroller, XtNjumpProc, ScaleJumpCallback, - (XtPointer)mouseSpeed); - mouseSpeed->min = 10; - mouseSpeed->max = MAX_MOUSE_SPEED; - mouseSpeed->resolution = 10; - mouseSpeed->integer = True; - mouseTime = XtNew(Scale); - mouseTime->label = XtCreateManagedWidget("timeLabel", labelWidgetClass, - mouseForm, NULL, 0); - mouseTime->number = XtCreateManagedWidget("timeNumber", labelWidgetClass, - mouseForm, NULL, 0); - mouseTime->scroller = XtCreateManagedWidget("timeScroller", - scrollbarWidgetClass, - mouseForm, NULL, 0); - XtAddCallback(mouseTime->scroller, XtNjumpProc, ScaleJumpCallback, - (XtPointer)mouseTime); - mouseTime->min = .1; - mouseTime->max = MAX_MOUSE_TIME; - mouseTime->resolution = .1; - mouseTime->integer = False; - mouseDelay = XtNew(Scale); - mouseDelay->label = XtCreateManagedWidget("delayLabel", labelWidgetClass, - mouseForm, NULL, 0); - mouseDelay->number = XtCreateManagedWidget("delayNumber", labelWidgetClass, - mouseForm, NULL, 0); - mouseDelay->scroller = XtCreateManagedWidget("delayScroller", - scrollbarWidgetClass, - mouseForm, NULL, 0); - XtAddCallback(mouseDelay->scroller, XtNjumpProc, ScaleJumpCallback, - (XtPointer)mouseDelay); - mouseDelay->min = .1; - mouseDelay->max = MAX_MOUSE_DELAY; - mouseDelay->resolution = .1; - mouseDelay->integer = False; - - repeat = XtVaCreateManagedWidget("repeatKeys", toggleWidgetClass, form, - XtNstate, - (xkb_info->xkb->ctrls->enabled_ctrls & - XkbRepeatKeysMask) != 0, NULL); - repeatForm = XtCreateManagedWidget("repeatForm", formWidgetClass, - form, NULL, 0); - XtAddCallback(repeat, XtNcallback, EnableCallback, (XtPointer)repeatForm); - repeatRate = XtNew(Scale); - repeatRate->label = XtCreateManagedWidget("rateLabel", labelWidgetClass, - repeatForm, NULL, 0); - repeatRate->number = XtCreateManagedWidget("rateNumber", labelWidgetClass, - repeatForm, NULL, 0); - repeatRate->scroller = XtCreateManagedWidget("rateScroller", - scrollbarWidgetClass, - repeatForm, NULL, 0); - XtAddCallback(repeatRate->scroller, XtNjumpProc, ScaleJumpCallback, - (XtPointer)repeatRate); - repeatRate->min = .05; - repeatRate->max = MAX_REPEAT_RATE; - repeatRate->resolution = .05; - repeatRate->integer = False; - repeatDelay = XtNew(Scale); - repeatDelay->label = XtCreateManagedWidget("delayLabel", labelWidgetClass, - repeatForm, NULL, 0); - repeatDelay->number = XtCreateManagedWidget("delayNumber", labelWidgetClass, - repeatForm, NULL, 0); - repeatDelay->scroller = XtCreateManagedWidget("delayScroller", - scrollbarWidgetClass, - repeatForm, NULL, 0); - XtAddCallback(repeatDelay->scroller, XtNjumpProc, ScaleJumpCallback, - (XtPointer)repeatDelay); - repeatDelay->min = .05; - repeatDelay->max = MAX_REPEAT_DELAY; - repeatDelay->resolution = .05; - repeatDelay->integer = False; - - slowToggle = XtVaCreateManagedWidget("slow", toggleWidgetClass, - form, XtNstate, - (xkb_info->xkb->ctrls->enabled_ctrls & - XkbSlowKeysMask) != 0, NULL); - slowForm = XtCreateManagedWidget("slowForm", formWidgetClass, - form, NULL, 0); - XtAddCallback(slowToggle, XtNcallback, EnableCallback, (XtPointer)slowForm); - XtCreateManagedWidget("beep", labelWidgetClass, slowForm, NULL, 0); - slowPressed = XtVaCreateManagedWidget("pressed", toggleWidgetClass, - slowForm, XtNstate, - (xkb_info->xkb->ctrls->ax_options & - XkbAX_SKPressFBMask) != 0, - NULL); - slowAccepted = XtVaCreateManagedWidget("accepted", toggleWidgetClass, - slowForm, XtNstate, - (xkb_info->xkb->ctrls->ax_options & - XkbAX_SKAcceptFBMask) != 0, - NULL); - slow = XtNew(Scale); - slow->label = XtCreateManagedWidget("slowLabel", labelWidgetClass, - slowForm, NULL, 0); - slow->number = XtCreateManagedWidget("slowNumber", labelWidgetClass, - slowForm, NULL, 0); - slow->scroller = XtCreateManagedWidget("slowScroller", - scrollbarWidgetClass, - slowForm, NULL, 0); - XtAddCallback(slow->scroller, XtNjumpProc, ScaleJumpCallback, - (XtPointer)slow); - slow->min = 0.1; - slow->max = MAX_SLOW_TIME; - slow->resolution = 0.1; - slow->integer = False; - - bounceToggle = XtVaCreateManagedWidget("bounce", toggleWidgetClass, - form, XtNstate, - (xkb_info->xkb->ctrls->enabled_ctrls & - XkbBounceKeysMask) != 0, - NULL); - bounceForm = XtCreateManagedWidget("bounceForm", formWidgetClass, - form, NULL, 0); - XtAddCallback(bounceToggle, XtNcallback, EnableCallback, (XtPointer)bounceForm); - bounce = XtNew(Scale); - bounce->label = XtCreateManagedWidget("bounceLabel", labelWidgetClass, - bounceForm, NULL, 0); - bounce->number = XtCreateManagedWidget("bounceNumber", labelWidgetClass, - bounceForm, NULL, 0); - bounce->scroller = XtCreateManagedWidget("bounceScroller", - scrollbarWidgetClass, - bounceForm, NULL, 0); - XtAddCallback(bounce->scroller, XtNjumpProc, ScaleJumpCallback, - (XtPointer)bounce); - bounce->min = 0.1; - bounce->max = MAX_BOUNCE_TIME; - bounce->resolution = 0.1; - bounce->integer = False; - - XtRealizeWidget(accessx); - - XtSetArg(args[0], XtNstate, &state); - XtGetValues(timeoutToggle, args, 1); - ScaleEnableCallback(enable, (XtPointer)timeout, (XtPointer)(long)state); - if (xkb_info->xkb->ctrls->ax_timeout > 60) - val = (float)(xkb_info->xkb->ctrls->ax_timeout - 60) / - (float)(MAX_TIMEOUT * 60); - else - val = 0; - ScaleJumpCallback(timeout->scroller, (XtPointer)timeout, (XtPointer)&val); - - XtSetArg(args[0], XtNstate, &state); - XtGetValues(sticky, args, 1); - EnableCallback(sticky, (XtPointer)stickyForm, (XtPointer)(long)state); - - XtSetArg(args[0], XtNstate, &state); - XtGetValues(mouse, args, 1); - EnableCallback(mouse, (XtPointer)mouseForm, (XtPointer)(long)state); - if (xkb_info->xkb->ctrls->mk_time_to_max > 10) - val = (float)((xkb_info->xkb->ctrls->mk_time_to_max * (40. / 10.))) / - (float)(MAX_MOUSE_TIME * 100); - else - val = 10.0 / (float)(MAX_MOUSE_TIME * 100); - ScaleJumpCallback(mouseTime->scroller, (XtPointer)mouseTime, - (XtPointer)&val); - tmp = mouseTime->value; - if (xkb_info->xkb->ctrls->mk_max_speed != 0) - val = (float)(xkb_info->xkb->ctrls->mk_max_speed / tmp - 10) / - (float)MAX_MOUSE_SPEED; - else - val = 10.0 / (float)MAX_MOUSE_SPEED; - ScaleJumpCallback(mouseSpeed->scroller, (XtPointer)mouseSpeed, - (XtPointer)&val); - if (xkb_info->xkb->ctrls->mk_delay > 10) - val = (float)(xkb_info->xkb->ctrls->mk_delay - 10) / - (float)(MAX_MOUSE_DELAY * 100); - else - val = 10.0 / (float)(MAX_MOUSE_DELAY * 100); - ScaleJumpCallback(mouseDelay->scroller, (XtPointer)mouseDelay, - (XtPointer)&val); - - XtSetArg(args[0], XtNstate, &state); - XtGetValues(repeat, args, 1); - EnableCallback(repeat, (XtPointer)repeatForm, (XtPointer)(long)state); - if (xkb_info->xkb->ctrls->repeat_interval > 5) - val = (float)(xkb_info->xkb->ctrls->repeat_interval - 5) / - (float)(MAX_REPEAT_RATE * 1000); - else - val = 5.0 / (float)(MAX_REPEAT_RATE * 1000); - ScaleJumpCallback(repeatRate->scroller, (XtPointer)repeatRate, - (XtPointer)&val); - if (xkb_info->xkb->ctrls->repeat_delay > 5) - val = (float)(xkb_info->xkb->ctrls->repeat_delay - 5) / - (float)(MAX_REPEAT_DELAY * 1000); - else - val = 5.0 / (float)(MAX_REPEAT_DELAY * 1000); - ScaleJumpCallback(repeatDelay->scroller, (XtPointer)repeatDelay, - (XtPointer)&val); - - XtSetArg(args[0], XtNstate, &state); - XtGetValues(slowToggle, args, 1); - EnableCallback(slowToggle, (XtPointer)slowForm, (XtPointer)(long)state); - if (xkb_info->xkb->ctrls->slow_keys_delay > 10) - val = (float)(xkb_info->xkb->ctrls->repeat_delay - 10) / - (float)(MAX_SLOW_TIME * 1000); - else - val = 10.0 / (float)(MAX_SLOW_TIME * 1000); - ScaleJumpCallback(slow->scroller, (XtPointer)slow, (XtPointer)&val); - - XtSetArg(args[0], XtNstate, &state); - XtGetValues(bounceToggle, args, 1); - EnableCallback(bounceToggle, (XtPointer)bounceForm, (XtPointer)(long)state); - if (xkb_info->xkb->ctrls->debounce_delay > 10) - val = (float)(xkb_info->xkb->ctrls->debounce_delay - 10) / - (float)(MAX_BOUNCE_TIME * 1000); - else - val = 10.0 / (float)(MAX_BOUNCE_TIME * 1000); - ScaleJumpCallback(bounce->scroller, (XtPointer)bounce, (XtPointer)&val); - - XtSetArg(args[0], XtNstate, &state); - XtGetValues(enable, args, 1); -} - -void -AccessXConfigureStart(void) -{ - AccessXInitialize(); - - XtMapWidget(accessx); -} - -void -AccessXConfigureEnd(void) -{ - XtUnmapWidget(accessx); -} - -/*ARGSUSED*/ -static void -EnableCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - XtSetSensitive((Widget)user_data, (long)call_data); -} - -/*ARGSUSED*/ -static void -ScaleEnableCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - Scale *scale = (Scale*)user_data; - - XtSetSensitive(scale->label, (long)call_data); - XtSetSensitive(scale->number, (long)call_data); - XtSetSensitive(scale->scroller, (long)call_data); -} - -static void -ScaleJumpCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - Scale *scale = (Scale*)user_data; - float percent = *(float *)call_data, timeout = percent * scale->max; - int x; - char str[8]; - Arg args[1]; - - if (timeout >= scale->max - scale->min) - timeout = scale->max - scale->min; - - if (scale->integer) { - int tm = timeout + scale->min; - - tm -= tm % (int)scale->resolution; - XmuSnprintf(str, sizeof(str), "%i", tm); - scale->value = tm; - } - else { - long tm = (timeout + scale->min) * 1e+6; - - tm -= tm % (long)(scale->resolution * 1e+6); - scale->value = (double)tm / 1e+6; - XmuSnprintf(str, sizeof(str), "%f", scale->value); - } - - XtSetArg(args[0], XtNlabel, str); - XtSetValues(scale->number, args, 1); - x = w->core.x + w->core.border_width; - x += ((double)(w->core.width - scale->number->core.width) / scale->max) * timeout; - XtMoveWidget(scale->number, x, scale->number->core.y); - XawScrollbarSetThumb(w, timeout / (scale->max - scale->min), - scale->resolution / (scale->max - scale->min)); -} - -/*ARGSUSED*/ -static void -ApplyCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - Arg args[1]; - Boolean state; - - XkbGetControls(DPY, XkbAllControlsMask, xkb_info->xkb); - - /* Enable AccessX */ - XtSetArg(args[0], XtNstate, &state); - XtGetValues(enable, args, 1); - if (state) { - xkb_info->config.initial_ctrls |= XkbAccessXKeysMask; - xkb_info->xkb->ctrls->enabled_ctrls |= XkbAccessXKeysMask; - } - else { - xkb_info->config.initial_ctrls &= ~XkbAccessXKeysMask; - xkb_info->xkb->ctrls->enabled_ctrls &= ~XkbAccessXKeysMask; - } - - /* Timeout */ - XtSetArg(args[0], XtNstate, &state); - XtGetValues(timeoutToggle, args, 1); - if (state) - xkb_info->config.ax_timeout = - xkb_info->xkb->ctrls->ax_timeout = timeout->value * 60; - else - xkb_info->config.ax_timeout = - xkb_info->xkb->ctrls->ax_timeout = 65535; - - /* Enable StickyKeys */ - XtSetArg(args[0], XtNstate, &state); - XtGetValues(sticky, args, 1); - if (state) { - xkb_info->config.initial_ctrls |= XkbStickyKeysMask; - xkb_info->xkb->ctrls->enabled_ctrls |= XkbStickyKeysMask; - } - else { - xkb_info->config.initial_ctrls &= ~XkbStickyKeysMask; - xkb_info->xkb->ctrls->enabled_ctrls &= ~XkbStickyKeysMask; - } - XtSetArg(args[0], XtNstate, &state); - XtGetValues(stickyAuto, args, 1); - if (state) { - xkb_info->config.initial_opts &= ~XkbAX_TwoKeysMask; - xkb_info->config.initial_opts &= ~XkbAX_LatchToLockMask; - xkb_info->xkb->ctrls->ax_options &= ~XkbAX_TwoKeysMask; - xkb_info->xkb->ctrls->ax_options &= ~XkbAX_LatchToLockMask; - } - else { - xkb_info->config.initial_opts &= ~XkbAX_TwoKeysMask; - xkb_info->config.initial_opts |= XkbAX_LatchToLockMask; - xkb_info->xkb->ctrls->ax_options &= ~XkbAX_TwoKeysMask; - xkb_info->xkb->ctrls->ax_options |= XkbAX_LatchToLockMask; - } - XtSetArg(args[0], XtNstate, &state); - XtGetValues(stickyBeep, args, 1); - if (state) { - xkb_info->config.initial_opts |= XkbAX_StickyKeysFBMask; - xkb_info->xkb->ctrls->ax_options |= XkbAX_StickyKeysFBMask; - } - else { - xkb_info->config.initial_opts &= ~XkbAX_StickyKeysFBMask; - xkb_info->xkb->ctrls->ax_options &= ~XkbAX_StickyKeysFBMask; - } - - /* Enable MouseKeys */ - XtSetArg(args[0], XtNstate, &state); - XtGetValues(mouse, args, 1); - if (state) { - xkb_info->config.initial_ctrls |= XkbMouseKeysAccelMask; - xkb_info->xkb->ctrls->enabled_ctrls |= XkbMouseKeysMask | - XkbMouseKeysAccelMask; - xkb_info->config.mk_delay = - xkb_info->xkb->ctrls->mk_delay = mouseDelay->value * 100; - xkb_info->config.mk_interval = - xkb_info->xkb->ctrls->mk_interval = 40; - xkb_info->config.mk_time_to_max = - xkb_info->xkb->ctrls->mk_time_to_max = - (mouseTime->value * 1000) / xkb_info->xkb->ctrls->mk_interval; - xkb_info->config.mk_max_speed = - xkb_info->xkb->ctrls->mk_max_speed = - mouseSpeed->value * mouseTime->value; - xkb_info->config.mk_curve = xkb_info->xkb->ctrls->mk_curve = 0; - } - else { - xkb_info->config.initial_ctrls &= ~(XkbMouseKeysMask | - XkbMouseKeysAccelMask); - xkb_info->xkb->ctrls->enabled_ctrls &= ~(XkbMouseKeysMask | - XkbMouseKeysAccelMask); - } - - /* Enable RepeatKeys */ - XtSetArg(args[0], XtNstate, &state); - XtGetValues(repeat, args, 1); - if (state) { - xkb_info->config.initial_ctrls |= XkbRepeatKeysMask; - xkb_info->xkb->ctrls->enabled_ctrls |= XkbRepeatKeysMask; - xkb_info->config.repeat_interval = - xkb_info->xkb->ctrls->repeat_interval = repeatRate->value * 1000; - xkb_info->config.repeat_delay = - xkb_info->xkb->ctrls->repeat_delay = repeatDelay->value * 1000; - } - else { - xkb_info->config.initial_ctrls &= ~XkbRepeatKeysMask; - xkb_info->xkb->ctrls->enabled_ctrls &= ~XkbRepeatKeysMask; - } - - /* Enable SlowKeys */ - XtSetArg(args[0], XtNstate, &state); - XtGetValues(slowToggle, args, 1); - if (state) { - xkb_info->config.initial_ctrls |= XkbSlowKeysMask; - xkb_info->xkb->ctrls->enabled_ctrls |= XkbSlowKeysMask; - xkb_info->config.slow_keys_delay = - xkb_info->xkb->ctrls->slow_keys_delay = slow->value * 1000; - } - else { - xkb_info->config.initial_ctrls &= ~XkbSlowKeysMask; - xkb_info->xkb->ctrls->enabled_ctrls &= ~XkbSlowKeysMask; - } - XtSetArg(args[0], XtNstate, &state); - XtGetValues(slowPressed, args, 1); - if (state) { - xkb_info->config.initial_opts |= XkbAX_SKPressFBMask; - xkb_info->xkb->ctrls->ax_options |= XkbAX_SKPressFBMask; - } - else { - xkb_info->config.initial_opts &= ~XkbAX_SKPressFBMask; - xkb_info->xkb->ctrls->ax_options &= ~XkbAX_SKPressFBMask; - } - XtSetArg(args[0], XtNstate, &state); - XtGetValues(slowAccepted, args, 1); - if (state) { - xkb_info->config.initial_opts |= XkbAX_SKAcceptFBMask; - xkb_info->xkb->ctrls->ax_options |= XkbAX_SKAcceptFBMask; - } - else { - xkb_info->config.initial_opts &= ~XkbAX_SKAcceptFBMask; - xkb_info->xkb->ctrls->ax_options &= ~XkbAX_SKAcceptFBMask; - } - - /* Enable BounceKeys */ - XtSetArg(args[0], XtNstate, &state); - XtGetValues(bounceToggle, args, 1); - if (state) { - xkb_info->config.initial_ctrls |= XkbBounceKeysMask; - xkb_info->xkb->ctrls->enabled_ctrls |= XkbBounceKeysMask; - xkb_info->config.debounce_delay = - xkb_info->xkb->ctrls->debounce_delay = bounce->value * 1000; - } - else { - xkb_info->config.initial_ctrls &= ~XkbBounceKeysMask; - xkb_info->xkb->ctrls->enabled_ctrls &= ~XkbBounceKeysMask; - } - - XkbSetControls(DPY, XkbAllControlsMask, xkb_info->xkb); - XSync(DPY, False); - (void)UpdateKeyboard(True); -} diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/card-cfg.c b/xorg-server/hw/xfree86/utils/xorgcfg/card-cfg.c deleted file mode 100644 index 1f3b7555e..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/card-cfg.c +++ /dev/null @@ -1,433 +0,0 @@ -/* - * 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. - * - * Author: Paulo César Pereira de Andrade - * - */ - -#include "xf86config.h" -#include "mouse-cfg.h" -#include "cards.h" -#include "card-cfg.h" -#include -#include -#include -#include -#include -#include -#include -#include -#ifdef USE_MODULES -#include "loader.h" -#endif - -/* - * Prototypes - */ -static Bool CardConfigCheck(void); -static void CardModelCallback(Widget, XtPointer, XtPointer); -#ifdef USE_MODULES -static void DriverCallback(Widget, XtPointer, XtPointer); -#endif - -/* - * Initialization - */ -static CardsEntry *card_entry; -static XF86ConfDevicePtr current_device; -static Widget filter, list, driver, busid; -static char **cards = NULL; -static int ncards; -#ifdef USE_MODULES -static char *driver_str; -#endif - -/* - * Implementation - */ -/*ARGSUSED*/ -XtPointer -CardConfig(XtPointer config) -{ - XF86ConfDevicePtr card = (XF86ConfDevicePtr)config; -/* XF86OptionPtr option;*/ - char card_name[32]; - Arg args[1]; - char *bus, *drv_nam; - - xf86info.cur_list = CARD; - XtSetSensitive(back, xf86info.lists[CARD].cur_function > 0); - XtSetSensitive(next, xf86info.lists[CARD].cur_function < - xf86info.lists[CARD].num_functions - 1); - (xf86info.lists[CARD].functions[xf86info.lists[CARD].cur_function]) - (&xf86info); - - card_entry = NULL; - current_device = card; - XawListUnhighlight(list); - XtSetArg(args[0], XtNstring, ""); - XtSetValues(filter, args, 1); - - if (card != NULL) { - if (card->dev_card != NULL) { - int i; - - for (i = 0; i < ncards; i++) { - if (strcasecmp(cards[i], card->dev_card) == 0) { - card_entry = LookupCard(cards[i]); - XawListHighlight(list, i); - XtSetArg(args[0], XtNstring, cards[i]); - XtSetValues(filter, args, 1); - break; - } - } - } - XtSetArg(args[0], XtNstring, card->dev_identifier); - XtSetValues(ident_widget, args, 1); - XtSetArg(args[0], XtNstring, card->dev_busid); - XtSetValues(busid, args, 1); -#ifdef USE_MODULES - if (!nomodules) - XtSetArg(args[0], XtNlabel, driver_str = XtNewString(card->dev_driver)); - else -#endif - XtSetArg(args[0], XtNstring, card->dev_driver); - XtSetValues(driver, args, 1); - } - else { - XF86ConfDevicePtr device = XF86Config->conf_device_lst; - int ndevices = 0; - - while (device != NULL) { - ++ndevices; - device = (XF86ConfDevicePtr)(device->list.next); - } - do { - XmuSnprintf(card_name, sizeof(card_name), "Card%d", ndevices); - ++ndevices; - } while (xf86findDevice(card_name, - XF86Config->conf_device_lst)); - - XtSetArg(args[0], XtNstring, card_name); - XtSetValues(ident_widget, args, 1); - XtSetArg(args[0], XtNstring, ""); - XtSetValues(busid, args, 1); -#ifdef USE_MODULES - if (!nomodules) - XtSetArg(args[0], XtNlabel, driver_str = XtNewString("vga")); - else -#endif - XtSetArg(args[0], XtNstring, "vga"); - XtSetValues(driver, args, 1); - } - - if (ConfigLoop(CardConfigCheck) == True) { - if (card_entry != NULL && card_entry->driver == NULL) { - fprintf(stderr, "No driver field in Cards database.\n" - "Please make sure you have the correct files installed.\n"); - exit(1); - } - if (card == NULL) { - card = (XF86ConfDevicePtr)XtCalloc(1, sizeof(XF86ConfDeviceRec)); - card->dev_identifier = XtNewString(ident_string); - if (card_entry) { - card->dev_driver = XtNewString(card_entry->driver); - card->dev_card = XtNewString(card_entry->name); - if (card_entry->chipset) - card->dev_chipset = XtNewString(card_entry->chipset); - if (card_entry->ramdac) - card->dev_ramdac = XtNewString(card_entry->ramdac); - if (card_entry->clockchip) - card->dev_clockchip = XtNewString(card_entry->clockchip); - } - /* else will fallback to "vga" */ - } - else if (card_entry != NULL) { - XtFree(card->dev_driver); - card->dev_driver = XtNewString(card_entry->driver); - if (card_entry->chipset) { - XtFree(card->dev_chipset); - card->dev_chipset = XtNewString(card_entry->chipset); - } - if (card_entry->ramdac) { - XtFree(card->dev_ramdac); - card->dev_ramdac = XtNewString(card_entry->ramdac); - } - if (card_entry->clockchip) { - XtFree(card->dev_clockchip); - card->dev_clockchip = XtNewString(card_entry->clockchip); - } - } - if (strcasecmp(card->dev_identifier, ident_string)) - xf86renameDevice(XF86Config, card, ident_string); - XtSetArg(args[0], XtNstring, &bus); - XtGetValues(busid, args, 1); - XtFree(card->dev_busid); - card->dev_busid = XtNewString(bus); - -#ifdef USE_MODULES - if (!nomodules) - drv_nam = driver_str; - else -#endif - { - XtSetArg(args[0], XtNstring, &drv_nam); - XtGetValues(driver, args, 1); - } - - XtFree(card->dev_driver); - card->dev_driver = XtNewString(drv_nam); - -#ifdef USE_MODULES - if (!nomodules) - XtFree(driver_str); -#endif - - return ((XtPointer)card); - } -#ifdef USE_MODULES - if (!nomodules) - XtFree(driver_str); -#endif - - return (NULL); -} - -static Bool -CardConfigCheck(void) -{ - XF86ConfDevicePtr device = XF86Config->conf_device_lst; - char *drv_nam; - -#ifdef USE_MODULES - if (!nomodules) - drv_nam = driver_str; - else -#endif - { - Arg args[1]; - - XtSetArg(args[0], XtNstring, &drv_nam); - XtGetValues(driver, args, 1); - } - - if (ident_string == NULL || strlen(ident_string) == 0 || -#if 0 - /* not all available cards are in the Cards database */ - (current_device == NULL && card_entry == NULL) || -#endif - drv_nam == NULL || *drv_nam == '\0') - return (False); - - while (device != NULL) { - if (device != current_device && - strcasecmp(ident_string, device->dev_identifier) == 0) - return (False); - device = (XF86ConfDevicePtr)(device->list.next); - } - - return (True); -} - -static void -CardModelCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - Arg args[1]; - XawListReturnStruct *info = (XawListReturnStruct *)call_data; - char tip[4096]; - int len; - - XtSetArg(args[0], XtNstring, info->string); - XtSetValues(filter, args, 1); - card_entry = LookupCard(info->string); - - if (card_entry == NULL) - return; - - len = XmuSnprintf(tip, sizeof(tip), "Name: %s\n", card_entry->name); - if (card_entry->flags & F_UNSUPPORTED) - len += XmuSnprintf(tip + len, sizeof(tip) - len, - "**THIS CARD IS UNSUPPORTED**\n"); - if (card_entry->chipset != NULL) - len += XmuSnprintf(tip + len, sizeof(tip) - len, - "Chipset: %s\n", card_entry->chipset); - if (card_entry->driver != NULL) { -#ifdef USE_MODULES - if (!nomodules) { - XtFree(driver_str); - driver_str = XtNewString(card_entry->driver); - XtVaSetValues(driver, XtNlabel, driver_str, NULL); - } -#endif - len += XmuSnprintf(tip + len, sizeof(tip) - len, - "Driver: %s\n", card_entry->driver); - } - if (card_entry->ramdac != NULL) - len += XmuSnprintf(tip + len, sizeof(tip), - "Ramdac: %s\n", card_entry->ramdac); - if (card_entry->clockchip != NULL) - len += XmuSnprintf(tip + len, sizeof(tip) - len, - "Clockchip: %s\n", card_entry->clockchip); - if (card_entry->dacspeed != NULL) - len += XmuSnprintf(tip + len, sizeof(tip) - len, - "Dacspeed: %s\n", card_entry->dacspeed); - if (card_entry->lines != NULL) - len += XmuSnprintf(tip + len, sizeof(tip) - len, - "\n%s\n", card_entry->lines); - -#ifndef USE_MODULES - XtSetArg(args[0], XtNstring, - card_entry->driver ? card_entry->driver : "vga"); - XtSetValues(driver, args, 1); -#endif - - XtSetArg(args[0], XtNtip, tip); - XtSetValues(filter, args, 1); -} - -/*ARGSUSED*/ -void -CardFilterAction(Widget w, XEvent *ev, String *params, Cardinal *num_params) -{ - char **cards, *pattern, **old_cards; - int ncards, old_ncards; - Arg args[2]; - - XtSetArg(args[0], XtNstring, &pattern); - XtGetValues(w, args, 1); - - XtSetArg(args[0], XtNlist, &old_cards); - XtSetArg(args[1], XtNnumberStrings, &old_ncards); - XtGetValues(list, args, 2); - - cards = FilterCardNames(pattern, &ncards); - - if (ncards == 0) { - cards = (char**)XtMalloc(sizeof(char*)); - cards[0] = XtNewString(""); - ncards = 1; - } - - XtSetArg(args[0], XtNlist, cards); - XtSetArg(args[1], XtNnumberStrings, ncards); - XtSetValues(list, args, 2); - - if (old_ncards > 1 || (XtName(list) != old_cards[0])) { - while (--old_ncards > -1) - XtFree(old_cards[old_ncards]); - XtFree((char*)old_cards); - } - - /* force relayout */ - XtUnmanageChild(list); - XtManageChild(list); -} - -#ifdef USE_MODULES -/*ARGSUSED*/ -static void -DriverCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - Arg args[1]; - - XtFree(driver_str); - driver_str = XtNewString(XtName(w)); - XtSetArg(args[0], XtNlabel, driver_str); - XtSetValues(driver, args, 1); -} -#endif - -void -CardModel(XF86SetupInfo *info) -{ - static int first = 1; - static Widget model; - - if (first) { - Widget viewport; - - first = 0; - - cards = GetCardNames(&ncards); - - model = XtCreateWidget("cardModel", formWidgetClass, - configp, NULL, 0); - (void) XtCreateManagedWidget("label", labelWidgetClass, - model, NULL, 0); - filter = XtVaCreateManagedWidget("filter", asciiTextWidgetClass, - model, - XtNeditType, XawtextEdit, - NULL); - viewport = XtCreateManagedWidget("viewport", viewportWidgetClass, - model, NULL, 0); - list = XtVaCreateManagedWidget("list", listWidgetClass, - viewport, - XtNlist, cards, - XtNnumberStrings, ncards, - NULL); - XtAddCallback(list, XtNcallback, CardModelCallback, - (XtPointer)info); - XtCreateManagedWidget("driverL", labelWidgetClass, model, NULL, 0); -#ifdef USE_MODULES - if (!nomodules) { - driver = XtVaCreateManagedWidget("driver", menuButtonWidgetClass, - model, - XtNmenuName, "driverM", - NULL); - { - Widget menu, sme; - xf86cfgModuleOptions *opts = module_options; - - menu = XtCreatePopupShell("driverM", simpleMenuWidgetClass, - driver, NULL, 0); - while (opts) { - if (opts->type == VideoModule) { - sme = XtCreateManagedWidget(opts->name, smeBSBObjectClass, - menu, NULL, 0); - XtAddCallback(sme, XtNcallback, DriverCallback, NULL); - } - opts = opts->next; - } - } - } - else -#endif - driver = XtVaCreateManagedWidget("driver", asciiTextWidgetClass, - model, - XtNeditType, XawtextEdit, - NULL); - - XtCreateManagedWidget("busidL", labelWidgetClass, model, NULL, 0); - busid = XtVaCreateManagedWidget("busid", asciiTextWidgetClass, - model, - XtNeditType, XawtextEdit, - NULL); - - XtRealizeWidget(model); - } - XtChangeManagedSet(¤t, 1, NULL, NULL, &model, 1); - current = model; -} diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/card-cfg.h b/xorg-server/hw/xfree86/utils/xorgcfg/card-cfg.h deleted file mode 100644 index fbb02a7ab..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/card-cfg.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * 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. - * - * Author: Paulo César Pereira de Andrade - * - */ - -#include "config.h" - -#ifndef _xf86cfg_card_h -#define _xf86cfg_card_h - -/* - * Prototypes - */ -XtPointer CardConfig(XtPointer); -void CardModel(XF86SetupInfo*); -void CardFilterAction(Widget, XEvent*, String*, Cardinal*); - -#endif /* _xf86cfg_card_h */ diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/card.xbm b/xorg-server/hw/xfree86/utils/xorgcfg/card.xbm deleted file mode 100644 index aad07a90a..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/card.xbm +++ /dev/null @@ -1,59 +0,0 @@ -/* - * 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. - * - * Author: Paulo César Pereira de Andrade - * - * $XFree86$ - */ -#define card_width 50 -#define card_height 44 -static unsigned char card_bits[] = { - 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x01, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, - 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xfd, 0xff, 0xff, 0xff, 0x07, - 0x00, 0x80, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, 0x80, 0x07, 0x00, 0x00, - 0x00, 0x1c, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x18, 0x00, 0x80, 0x01, - 0x00, 0x00, 0xf8, 0x19, 0x00, 0x80, 0xf9, 0x00, 0x00, 0xf8, 0x19, 0x00, - 0x80, 0xf9, 0xf8, 0x7f, 0x98, 0x19, 0x00, 0x80, 0x01, 0xf8, 0x7f, 0x98, - 0x19, 0x00, 0x80, 0x01, 0x18, 0x60, 0xf8, 0x19, 0x00, 0x80, 0xf9, 0x18, - 0x60, 0xf8, 0x19, 0x00, 0x80, 0xf9, 0x18, 0x60, 0x00, 0x18, 0x00, 0x80, - 0x01, 0x18, 0x60, 0xf8, 0x19, 0x00, 0x80, 0x01, 0x18, 0x60, 0xf8, 0x19, - 0x00, 0x80, 0xf9, 0x18, 0x60, 0x98, 0x19, 0x00, 0x80, 0xf9, 0x18, 0x60, - 0x98, 0x19, 0x00, 0x80, 0x01, 0x18, 0x60, 0xf8, 0x19, 0x00, 0x80, 0x01, - 0xf8, 0x7f, 0xf8, 0x19, 0x00, 0x80, 0xf9, 0xf8, 0x7f, 0x00, 0x18, 0x00, - 0x80, 0xf9, 0x00, 0x00, 0xf8, 0x19, 0x00, 0x80, 0x01, 0x00, 0x00, 0xf8, - 0x19, 0x00, 0x80, 0x01, 0x30, 0x33, 0x98, 0x19, 0x00, 0x80, 0xf9, 0x30, - 0x33, 0x98, 0x19, 0x00, 0x80, 0xf9, 0x30, 0x33, 0xf8, 0x19, 0x00, 0x80, - 0x01, 0x30, 0x33, 0xf8, 0x19, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x18, - 0x00, 0x80, 0x07, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x80, 0xff, 0x07, 0x00, - 0x80, 0x0f, 0x00, 0x80, 0xfd, 0x0f, 0x00, 0xc0, 0x07, 0x00, 0x80, 0x01, - 0xcc, 0xcc, 0xcc, 0x00, 0x00, 0x80, 0x01, 0xcc, 0xcc, 0xcc, 0x00, 0x00, - 0x80, 0x01, 0xcc, 0xcc, 0xcc, 0x00, 0x00, 0x80, 0x01, 0xcc, 0xcc, 0xcc, - 0x00, 0x00, 0x80, 0x01, 0xfc, 0xff, 0xff, 0x00, 0x00, 0x80, 0x01, 0xf8, - 0xff, 0x7f, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/card.xpm b/xorg-server/hw/xfree86/utils/xorgcfg/card.xpm deleted file mode 100644 index 32bccb689..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/card.xpm +++ /dev/null @@ -1,81 +0,0 @@ -/* XPM */ -/* - * 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. - * - * Author: Paulo César Pereira de Andrade - * - * $XFree86$ - */ -static char * card_xpm[] = { -"41 40 8 1", -" c none", -"A c #B6DABAEAB6DA", -"X c #0000AAAA0000", -"o c #000071C60000", -"O c #000041030000", -"+ c #618561856185", -"@ c #186118611861", -"# c #CF3CA2892081", -"AAA ", -" A ", -" A ", -" A ", -" A ", -" A ", -" A ", -" AXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ", -" AooooooooooooooooooooooooooooooooooooO", -" AooooooooooooooooooooooooooooooooooooO", -" AooooooooooooooooooooooooooooooooooooO", -" AooooooooooooooooooooooooOOOOOOOOOOOOO", -" AooooooooooooooooooAoAoAoAooAAAAAAA+oO", -" AooooooooooooooooooAoAoAoAooA++++++@oO", -" AooooooooooooooooooAoAoAoAooA+oooo+@oO", -" AoooooooooooooooooooooooooooA+AAAA+@oO", -" AoooooooooooooooooooooooooooA+oooo+@oO", -" AoooooooooooooooooooooooooooA++++++@oO", -" Aooooooooooooooooooooooooooo+@@@@@@@oO", -" AooooooooooooooooooooooooooooooooooooO", -" AoooooooooooooooooooooooooooAAAAAAA+oO", -" +AoooooooooooooooooAAAAAAAA@oA++++++@oO", -" AoooooooooooooooooA+++++++@oA+oooo+@oO", -" AoooooooooooooooooA+++++++@oA+AAAA+@oO", -" ++AoooooooooooooooooA+++++++@oA+oooo+@oO", -" ++AoooooooooooooooooA+++++++@oA++++++@oO", -" ++Aooooooooooooooooo@@@@@@@@@o+@@@@@@@oO", -" ++AooooooooooooooooooooooooooooooooooooO", -" AooooooooooooooooooooooooooooooooooooO", -" AooooooooooooooooooooooooooooooooooooO", -" +AooooooooooooooooooooooooooooooooooooO", -" AooooooooooooooooooooooooooooooooooooO", -" AoooOOOOooooooooooooooooooooOoooooOOO ", -" AooO X#o#o#o#o#o#o#o#o#oO X#o#O ", -" AOO X#o#o#o#o#o#o#o#o#oO X#o#O ", -" A X#o#o#o#o#o#o#o#o#oO X#o#O ", -" A X#o#o#o#o#o#o#o#o#oO X#o#O ", -" A OOOOOOOOOOOOOOOOOO OOO ", -" A ", -" A "}; diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/cards.c b/xorg-server/hw/xfree86/utils/xorgcfg/cards.c deleted file mode 100644 index dcd5828cb..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/cards.c +++ /dev/null @@ -1,695 +0,0 @@ -/* - * 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. - * - * Author: Paulo César Pereira de Andrade - * - */ - -#define CARDS_PRIVATE -#include "cards.h" - -#undef SERVER /* defined in config.h, but of no use here */ - -/* return values from ReadCardsLine. */ -#define ERROR -3 -#define UNKNOWN -2 -#define END -1 -#define NOTUSEFUL 0 -#define NAME 1 -#define CHIPSET 2 -#define SERVER 3 -#define DRIVER 4 -#define RAMDAC 5 -#define CLOCKCHIP 6 -#define DACSPEED 7 -#define NOCLOCKPROBE 8 -#define UNSUPPORTED 9 -#define SEE 10 -#define LINE 11 - -/* - * Prototypes - */ -static int ReadCardsLine(FILE*, char*); /* must have 256 bytes */ -static int CompareCards(_Xconst void *left, _Xconst void *right); -static int BCompareCards(_Xconst void *left, _Xconst void *right); -static void DoReadCardsDatabase(void); -static char **DoFilterCardNames(char *pattern, int *result); - -#ifdef USE_MODULES - -typedef struct { - int ivendor; - unsigned short vendor; - unsigned short valid_vendor; - char *chipsets; - int num_chipsets; -} chipset_check; -#endif - -/* - * Initialization - */ -static int linenum = 0; -static char *Cards = "lib/X11/Cards"; -CardsEntry **CardsDB; -int NumCardsEntry; - -/* - * Implementation - */ -#ifdef USE_MODULES -const pciVendorInfo *xf86PCIVendorInfo; -#endif - -#ifdef USE_MODULES -void -InitializePciInfo(void) -{ - xf86PCIVendorInfo = pciVendorInfoList; -} - -void -CheckChipsets(xf86cfgModuleOptions *opts, int *err) -{ - int i, j, ichk, ivnd = 0, vendor = -1, device; - const pciDeviceInfo **pDev; - SymTabPtr chips = opts->chipsets; - chipset_check *check = NULL; - int num_check = 0; - - if (!chips) { - CheckMsg(CHECKER_NO_CHIPSETS, "WARNING No chipsets specified.\n"); - ++*err; - return; - } - - while (chips->name) { - device = chips->token & 0xffff; - vendor = (chips->token & 0xffff0000) >> 16; - if (vendor == 0) - vendor = opts->vendor; - - for (ichk = 0; ichk < num_check; ichk++) - if (check[ichk].vendor == vendor) - break; - if (ichk >= num_check) { - check = (chipset_check*) - XtRealloc((XtPointer)check, - sizeof(chipset_check) * (num_check + 1)); - check[num_check].vendor = vendor; - memset(&check[num_check], 0, sizeof(chipset_check)); - ++num_check; - } - - /* Search for vendor in xf86PCIVendorInfo */ - if (xf86PCIVendorInfo) { - for (ivnd = 0; xf86PCIVendorInfo[ivnd].VendorID; ivnd++) - if (vendor == xf86PCIVendorInfo[ivnd].VendorID) - break; - } - if (xf86PCIVendorInfo && xf86PCIVendorInfo[ivnd].VendorID) { - check[ichk].valid_vendor = 1; - check[ichk].ivendor = ivnd; - } - else { - CheckMsg(CHECKER_CANNOT_VERIFY_CHIPSET, - "WARNING Cannot verify chipset \"%s\" (0x%x)\n", - chips->name, device); - ++*err; - ++chips; - continue; - } - - if (xf86PCIVendorInfo && - (pDev = xf86PCIVendorInfo[ivnd].Device) != NULL) { - if (check[ichk].chipsets == NULL) { - for (j = 0; pDev[j]; j++) - ; - check[ichk].chipsets = (char*)XtCalloc(1, j); - } - for (j = 0; pDev[j]; j++) { - if (device == pDev[j]->DeviceID) { - if (strcmp(chips->name, pDev[j]->DeviceName)) { - CheckMsg(CHECKER_NOMATCH_CHIPSET_STRINGS, - "WARNING chipset strings don't match: \"%s\" \"%s\" (0x%x)\n", - chips->name, xf86PCIVendorInfo[ivnd].Device[j]->DeviceName, - device); - ++*err; - } - break; - } - } - if (!pDev[j]) { - CheckMsg(CHECKER_CHIPSET_NOT_LISTED, - "WARNING chipset \"%s\" (0x%x) not in list.\n", chips->name, device); - ++*err; - } - else - check[ichk].chipsets[j] = 1; - } - ++chips; - } - - for (i = 0; i < num_check; i++) { - if (!check[i].valid_vendor) { - CheckMsg(CHECKER_CHIPSET_NO_VENDOR, - "WARNING No such vendor 0x%x\n", vendor); - ++*err; - } - for (j = 0; j < check[i].num_chipsets; j++) { - if (xf86PCIVendorInfo && !check[i].chipsets[j]) { - CheckMsg(CHECKER_CHIPSET_NOT_SUPPORTED, - "NOTICE chipset \"%s\" (0x%x) not listed as supported.\n", - xf86PCIVendorInfo[check[i].ivendor].Device[j]->DeviceName, - xf86PCIVendorInfo[check[i].ivendor].Device[j]->DeviceID); - } - } - XtFree(check[i].chipsets); - } - - XtFree((XtPointer)check); -} -#endif - -void -ReadCardsDatabase(void) -{ -#ifdef USE_MODULES - if (!nomodules) { - int i, j, ivendor, idevice; - char name[256]; - _Xconst char *vendor, *device; - CardsEntry *entry = NULL, *tmp; - xf86cfgModuleOptions *opts = module_options; - const pciDeviceInfo **pDev; - - /* Only list cards that have a driver installed */ - while (opts) { - if (opts->chipsets) { - SymTabPtr chips = opts->chipsets; - - while (chips->name) { - vendor = opts->name; - device = chips->name; - ivendor = (chips->token & 0xffff0000) >> 16; - idevice = chips->token & 0xffff0; - if (ivendor == 0) - ivendor = opts->vendor; - - if (xf86PCIVendorInfo) { - for (i = 0; xf86PCIVendorInfo[i].VendorName; i++) - if (ivendor == xf86PCIVendorInfo[i].VendorID) { - vendor = xf86PCIVendorInfo[i].VendorName; - break; - } - if (xf86PCIVendorInfo[i].VendorName) { - if ((pDev = xf86PCIVendorInfo[i].Device)) { - for (j = 0; pDev[j]; j++) - if (idevice == pDev[j]->DeviceID) { - device = pDev[j]->DeviceName; - break; - } - } - } - } - - /* Since frequently there is more than one driver for a - * single vendor, it is required to avoid duplicates. - */ - XmuSnprintf(name, sizeof(name), "%s %s", vendor, device); - tmp = LookupCard(name); - - if (tmp == NULL || strcmp(tmp->chipset, chips->name) || - strcmp(tmp->driver, opts->name)) { - entry = (CardsEntry*)XtCalloc(1, sizeof(CardsEntry)); - if (NumCardsEntry % 16 == 0) { - CardsDB = (CardsEntry**)XtRealloc((XtPointer)CardsDB, - sizeof(CardsEntry*) * (NumCardsEntry + 16)); - } - CardsDB[NumCardsEntry++] = entry; - entry->name = XtNewString(name); - - /* XXX no private copy of strings */ - entry->chipset = (char*)chips->name; - entry->driver = opts->name; - - /* better than linear searchs to find duplicates */ - qsort(CardsDB, NumCardsEntry, sizeof(CardsEntry*), - CompareCards); - } - ++chips; - } - } - opts = opts->next; - } - - /* fix entries with the same name */ - for (i = 0; i < NumCardsEntry - 2;) { - for (j = i + 1; j < NumCardsEntry - 1 && - strcmp(CardsDB[i]->name, CardsDB[j]->name) == 0; j++) - ; - - if (i + 1 != j) { - while (i < j) { - char *str; - - if (strcmp(CardsDB[i]->chipset, CardsDB[j]->chipset)) - str = CardsDB[i]->chipset; - else - str = CardsDB[i]->driver; - - XmuSnprintf(name, sizeof(name), "%s (%s)", - CardsDB[i]->name, str); - XtFree(CardsDB[i]->name); - CardsDB[i]->name = XtNewString(name); - - ++i; - } - } - else - ++i; - } - - /* make sure data is valid to bsearch in */ - qsort(CardsDB, NumCardsEntry, sizeof(CardsEntry*), CompareCards); - } - else -#endif - DoReadCardsDatabase(); -} - -static void -DoReadCardsDatabase(void) -{ - char buffer[256]; - FILE *fp = fopen(Cards, "r"); - int i, result; - CardsEntry *entry = NULL; - static char *CardsError = "Error reading Cards database, at line %d (%s).\n"; - - if (fp == NULL) { - fprintf(stderr, "Cannot open Cards database.\n"); - exit(1); - } - - while ((result = ReadCardsLine(fp, buffer)) != END) { - switch (result) { - case ERROR: - fprintf(stderr, CardsError, linenum, buffer); - break; - case UNKNOWN: - fprintf(stderr, - "Unknown field type in Cards database, at line %d (%s).\n", - linenum, buffer); - break; - case NAME: - entry = calloc(1, sizeof(CardsEntry)); - if (NumCardsEntry % 16 == 0) { - CardsDB = realloc(CardsDB, sizeof(CardsEntry*) * - (NumCardsEntry + 16)); - if (CardsDB == NULL) { - fprintf(stderr, "Out of memory reading Cards database.\n"); - exit(1); - } - } - CardsDB[NumCardsEntry++] = entry; - entry->name = strdup(buffer); - break; - case CHIPSET: - if (entry == NULL || entry->chipset != NULL) { - fprintf(stderr, CardsError, linenum, buffer); - } -#if 0 - else - entry->chipset = strdup(buffer); -#endif - break; - case SERVER: - if (entry == NULL || entry->server != NULL) { - fprintf(stderr, CardsError, linenum, buffer); - } - else - entry->server = strdup(buffer); - break; - case DRIVER: - if (entry == NULL || entry->driver != NULL) { - fprintf(stderr, CardsError, linenum, buffer); - } - else - entry->driver = strdup(buffer); - break; - case RAMDAC: - if (entry == NULL || entry->ramdac != NULL) { - fprintf(stderr, CardsError, linenum, buffer); - } - else - entry->ramdac = strdup(buffer); - break; - case CLOCKCHIP: - if (entry == NULL || entry->clockchip != NULL) { - fprintf(stderr, CardsError, linenum, buffer); - } - else - entry->clockchip = strdup(buffer); - break; - case DACSPEED: - if (entry == NULL || entry->dacspeed != NULL) { - fprintf(stderr, CardsError, linenum, buffer); - } - else - entry->dacspeed = strdup(buffer); - break; - case NOCLOCKPROBE: - if (entry == NULL) { - fprintf(stderr, CardsError, linenum, buffer); - } - else - entry->flags |= F_NOCLOCKPROBE; - break; - case UNSUPPORTED: - if (entry == NULL) { - fprintf(stderr, CardsError, linenum, buffer); - } - else - entry->flags |= F_UNSUPPORTED; - break; - case SEE: - if (entry == NULL || entry->see != NULL) { - fprintf(stderr, CardsError, linenum, buffer); - } - else - entry->see = strdup(buffer); - break; - case LINE: - if (entry == NULL) { - fprintf(stderr, CardsError, linenum, buffer); - } - else if (entry->lines == NULL) - entry->lines = strdup(buffer); - else { - char *str = malloc(strlen(entry->lines) + strlen(buffer) + 2); - - sprintf(str, "%s\n%s", entry->lines, buffer); - free(entry->lines); - entry->lines = str; - } - break; - } - } - - fclose(fp); - - qsort(CardsDB, NumCardsEntry, sizeof(CardsEntry*), CompareCards); - -#ifdef DEBUG - for (i = 0; i < NumCardsEntry - 1; i++) { - if (strcmp(CardsDB[i]->name, CardsDB[i+1]->name) == 0) - fprintf(stderr, "Duplicate entry in Cards database: (%s).\n", - CardsDB[i]->name); - } -#endif - - for (i = 0; i < NumCardsEntry - 1; i++) { - if (CardsDB[i]->see != NULL) { - if ((entry = LookupCard(CardsDB[i]->see)) == NULL) { - fprintf(stderr, "Cannot find card '%s' for filling defaults.\n", - CardsDB[i]->see); - continue; - } - if (CardsDB[i]->chipset == NULL && entry->chipset != NULL) - CardsDB[i]->chipset = strdup(entry->chipset); - if (CardsDB[i]->server == NULL && entry->server != NULL) - CardsDB[i]->server = strdup(entry->server); - if (CardsDB[i]->driver == NULL && entry->driver != NULL) - CardsDB[i]->driver = strdup(entry->driver); - if (CardsDB[i]->ramdac == NULL && entry->ramdac != NULL) - CardsDB[i]->ramdac = strdup(entry->ramdac); - if (CardsDB[i]->clockchip == NULL && entry->clockchip != NULL) - CardsDB[i]->clockchip = strdup(entry->clockchip); - if (CardsDB[i]->dacspeed == NULL && entry->dacspeed != NULL) - CardsDB[i]->dacspeed = strdup(entry->dacspeed); - if (CardsDB[i]->flags & F_NOCLOCKPROBE) - CardsDB[i]->flags |= F_NOCLOCKPROBE; - if (CardsDB[i]->flags & F_UNSUPPORTED) - CardsDB[i]->flags |= F_UNSUPPORTED; - if (entry->lines != NULL) { - if (CardsDB[i]->lines == NULL) - CardsDB[i]->lines = strdup(entry->lines); - else { - char *str = malloc(strlen(entry->lines) + - strlen(CardsDB[i]->lines) + 2); - - sprintf(str, "%s\n%s", CardsDB[i]->lines, entry->lines); - free(CardsDB[i]->lines); - CardsDB[i]->lines = str; - } - } - if (entry->see != NULL) { -#ifdef DEBUG - fprintf(stderr, "Nested SEE entry: %s -> %s -> %s\n", - CardsDB[i]->name, CardsDB[i]->see, entry->see); -#endif - CardsDB[i]->see = strdup(entry->see); - --i; - continue; - } - free(CardsDB[i]->see); - CardsDB[i]->see = NULL; - } - } -} - -CardsEntry * -LookupCard(char *name) -{ - CardsEntry **ptr; - - if (NumCardsEntry == 0 || CardsDB == 0) - return NULL; - - ptr = (CardsEntry**)bsearch(name, CardsDB, NumCardsEntry, - sizeof(CardsEntry*), BCompareCards); - - return (ptr != NULL ? *ptr : NULL); -} - -char ** -GetCardNames(int *result) -{ - char **cards = NULL; - int ncards; - - for (ncards = 0; ncards < NumCardsEntry; ncards++) { - if (ncards % 16 == 0) { - if ((cards = (char**)realloc(cards, sizeof(char*) * - (ncards + 16))) == NULL) { - fprintf(stderr, "Out of memory.\n"); - exit(1); - } - } - cards[ncards] = strdup(CardsDB[ncards]->name); - } - - *result = ncards; - - return (cards); -} - -char ** -FilterCardNames(char *pattern, int *result) -{ -#ifdef USE_MODULES - if (!nomodules) { - char **cards = NULL; - int i, ncards = 0; - - for (i = 0; i < NumCardsEntry; i++) { - if (strstr(CardsDB[i]->name, pattern) == NULL) - continue; - if (ncards % 16 == 0) { - if ((cards = (char**)realloc(cards, sizeof(char*) * - (ncards + 16))) == NULL) { - fprintf(stderr, "Out of memory.\n"); - exit(1); - } - } - cards[ncards] = strdup(CardsDB[i]->name); - ++ncards; - } - - *result = ncards; - - return (cards); - } -#endif - return (DoFilterCardNames(pattern, result)); -} - -static char ** -DoFilterCardNames(char *pattern, int *result) -{ - FILE *fp; - char **cards = NULL; - int len, ncards = 0; - char *cmd, *ptr, buffer[256]; - - cmd = malloc(32 + (strlen(pattern) * 2) + strlen(Cards)); - - strcpy(cmd, "egrep -i '^NAME\\ .*"); - len = strlen(cmd); - ptr = pattern; - while (*ptr) { - if (!isalnum(*ptr)) { - cmd[len++] = '\\'; - } - cmd[len++] = *ptr++; - } - cmd[len] = '\0'; - strcat(cmd, ".*$' "); - strcat(cmd, Cards); - strcat(cmd, " | sort"); - /*sprintf(cmd, "egrep -i '^NAME\\ .*%s.*$' %s | sort", pattern, Cards);*/ - - if ((fp = popen(cmd, "r")) == NULL) { - fprintf(stderr, "Cannot read Cards database.\n"); - exit(1); - } - while (fgets(buffer, sizeof(buffer), fp) != NULL) { - ptr = buffer + strlen(buffer) - 1; - while (isspace(*ptr) && ptr > buffer) - --ptr; - if (!isspace(*ptr) && ptr > buffer) - ptr[1] = '\0'; - ptr = buffer; - while (!isspace(*ptr) && *ptr) /* skip NAME */ - ++ptr; - while (isspace(*ptr) && *ptr) - ++ptr; - if (ncards % 16 == 0) { - if ((cards = (char**)realloc(cards, sizeof(char*) * - (ncards + 16))) == NULL) { - fprintf(stderr, "Out of memory.\n"); - exit(1); - } - } - cards[ncards++] = strdup(ptr); - } - free(cmd); - - *result = ncards; - - return (cards); -} - -static int -ReadCardsLine(FILE *fp, char *value) -{ - char name[32], buffer[256], *ptr, *end; - int result = NOTUSEFUL; - - ++linenum; - - if (fgets(buffer, sizeof(buffer), fp) == NULL) - return (END); - - ptr = buffer; - /* skip initial spaces; should'nt bother about this.. */ - while (isspace(*ptr) && *ptr) - ++ptr; - - if (*ptr == '#' || *ptr == '\0') - return (NOTUSEFUL); - - end = ptr; - while (!isspace(*end) && *end) - ++end; - if (end - ptr > sizeof(buffer) - 1) { - strncpy(value, buffer, 255); - value[255] = '\0'; - return (ERROR); - } - strncpy(name, ptr, end - ptr); - name[end - ptr] = '\0'; - - /* read the optional arguments */ - ptr = end; - while (isspace(*ptr) && *ptr) - ++ptr; - - end = ptr + strlen(ptr) - 1; - while (isspace(*end) && end > ptr) - --end; - if (!isspace(*end)) - ++end; - *end = '\0'; - - if (strcmp(name, "NAME") == 0) - result = NAME; - else if (strcmp(name, "CHIPSET") == 0) - result = CHIPSET; - else if (strcmp(name, "SERVER") == 0) - result = SERVER; - else if (strcmp(name, "DRIVER") == 0) - result = DRIVER; - else if (strcmp(name, "RAMDAC") == 0) - result = RAMDAC; - else if (strcmp(name, "CLOCKCHIP") == 0) - result = CLOCKCHIP; - else if (strcmp(name, "DACSPEED") == 0) - result = DACSPEED; - else if (strcmp(name, "NOCLOCKPROBE") == 0) - result = NOCLOCKPROBE; - else if (strcmp(name, "UNSUPPORTED") == 0) - result = UNSUPPORTED; - else if (strcmp(name, "SEE") == 0) - result = SEE; - else if (strcmp(name, "LINE") == 0) - result = LINE; - else if (strcmp(name, "END") == 0) - result = END; - else { - strcpy(value, name); - return (UNKNOWN); - } - - /* value *must* have at least 256 bytes */ - strcpy(value, ptr); - - return (result); -} - -static int -CompareCards(_Xconst void *left, _Xconst void *right) -{ - return strcasecmp((*(CardsEntry**)left)->name, (*(CardsEntry**)right)->name); -} - -static int -BCompareCards(_Xconst void *name, _Xconst void *card) -{ - return (strcasecmp((char*)name, (*(CardsEntry**)card)->name)); -} diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/cards.h b/xorg-server/hw/xfree86/utils/xorgcfg/cards.h deleted file mode 100644 index 8557e96df..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/cards.h +++ /dev/null @@ -1,89 +0,0 @@ -/* - * 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. - * - * Author: Paulo César Pereira de Andrade - * - */ - -#include -#include -#include -#include -#include -#include -#include -#include - -#ifndef _xf86cfg_cards_h -#define _xf86cfg_cards_h - -#ifdef USE_MODULES -#ifdef CARDS_PRIVATE -#include "loader.h" - -#include "xf86PciStr.h" -#include "xf86PciIds.h" -#endif /* CARDS_PRIVATE */ -#endif /* USE_MODULES */ - -/* Flags in CardsEntry */ -#define F_NOCLOCKPROBE 0x1 /* Never probe clocks of the card. */ -#define F_UNSUPPORTED 0x2 /* Card is not supported (only VGA). */ - -/* - * Types - */ -typedef struct { - char *name; /* Name of the card. */ - char *chipset; /* Chipset (decriptive). */ - char *server; /* Server identifier. */ - char *driver; /* Driver identifier. */ - char *ramdac; /* Ramdac identifier. */ - char *clockchip; /* Clockchip identifier. */ - char *dacspeed; /* DAC speed rating. */ - int flags; - char *lines; /* Additional Device section lines. */ - char *see; /* Must resolve in a last step. - * Allow more than one SEE entry? */ -} CardsEntry; - -extern CardsEntry **CardsDB; -extern int NumCardsEntry; - -/* - * Prototypes - */ -void ReadCardsDatabase(void); -CardsEntry *LookupCard(char*); -char **GetCardNames(int*); -char **FilterCardNames(char*, int*); -#ifdef USE_MODULES -void InitializePciInfo(void); -typedef struct _xf86cfgModuleOptions *xf86cfgModuleOptionsPtr; -void CheckChipsets(xf86cfgModuleOptionsPtr, int*); -#endif - -#endif /* _xf86cfg_cards_h */ diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/computer.xpm b/xorg-server/hw/xfree86/utils/xorgcfg/computer.xpm deleted file mode 100644 index 9167e3eaf..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/computer.xpm +++ /dev/null @@ -1,91 +0,0 @@ -/* XPM */ -/* - * 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. - * - * Author: Paulo César Pereira de Andrade - * - * $XFree86$ - */ -static char * computer_xpm[] = { -"30 50 8 1", -" c none", -". c #CF3CCF3CCF3C", -"X c #B6DABAEAB6DA", -"o c #8E388E388E38", -"O c #FFFFFFFFFFFF", -"+ c #FFFF00000000", -"@ c #514451445144", -"# c #0000FFFF0000", -" ............................ ", -"..XXXXXXXXXXXXXXXXXXXXXXXXXXXo", -".XXXXXXXXXXXXXXXXXXXXXXXXXXXXo", -".XXooooooooooooooooooooooooXXo", -".XXo.......................XXo", -".XXo.XXXXXXXXXXXXXXXXXXXXo.XXo", -".XXo.XX....XXXXXXXXXXXOoXo.XXo", -".XXo.XXooooXXXXXXXXXXXooXo.XXo", -".XXo.XXXXXXXXXXXXXXXXXXXXo.XXo", -".XXo.......................XXo", -".XXooooooooooooooooooooooooXXo", -".XXo.......................XXo", -".XXo.XXXXXXXXXXXXXXXXXXXXo.XXo", -".XXo.XXXXXXXXXXXXXXXXXXXXo.XXo", -".XXo.XXXXXXXXXXXXXXXXXXXXo.XXo", -".XXooooooooooooooooooooooo.XXo", -".XXo.......................XXo", -".XXoooooooooooooo.XXXXXXXo.XXo", -".XXo..............XXXXXXXo.XXo", -".XXo.XXXXXXXXXXXX.XX.O.XXo.XXo", -".XXo.oooooooooooX.XXO+OXXo.XXo", -".XXo.XXXXXXXXXOOX.XX.O.XXo.XXo", -".XXo.XXXXXXXXXXXX.XXXXXXXo.XXo", -".XXo..............XXXXXXXo.XXo", -".XXooooooooooooooooooooooo.XXo", -".XXo.XXXXXXXXXXXXXXXXXXXXo.XXo", -".XXo.XXXXXXXXXXXXXXXXXXXXo.XXo", -".XXo.XXX@@@@@@@@@XXX...XXo.XXo", -".XXo.XX@@+@@@@@#@@X.OXXoXo.XXo", -".XXo.XXX@@@@@@@@@XXXoooXXo.XXo", -".XXo.XXXXXXXXXXXXXXXXXXXXo.XXo", -".XXo.XXXXXXXXXXXXXXXXXXXXo.XXo", -".XXo.XXXXXXXXXXXXXXX..XXXo.XXo", -".XXo.XXXXXXXXXXXXXX.OXoXXo.XXo", -".XXo.XXXXXXXXXXXXXXXooXXXo.XXo", -".XXo.XXXXXXXXXXXXXXXXXXXXo.XXo", -".XXo.XXXXXXXXXXXXXXXXXXXXo.XXo", -".XXo.XXXXXXXXXXXXXXXXXXXXo.XXo", -".XXXo.XXXXXXXXXXXXXXXXXXo.XXXo", -".XXXo.XXXXXXXXXXXXXXXXXXo.XXXo", -".XXXo.XXXXXXXXXXXXXXXXXXo.XXXo", -".XXXo.oXXXoXXXoXXXoXXXoXo.XXXo", -".XXXXo.XXXXXXXXXXXXXXXXo.XXXXo", -".XXXXo..oXXXoXXXoXXoXXoo.XXXXo", -".XXXXXoo..XXXXXXXXXXoo..XXXXXo", -".XXXXXXXoo......oooo..XXXXXXXo", -".XXXXXXXXXoooooo....XXXXXXXXXo", -".XXXXXXXXXXXXXXXXXXXXXXXXXXXXo", -".XXXXXXXXXXXXXXXXXXXXXXXXXXXoo", -" oooooooooooooooooooooooooooo "}; diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/config.c b/xorg-server/hw/xfree86/utils/xorgcfg/config.c deleted file mode 100644 index 8c985bf34..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/config.c +++ /dev/null @@ -1,301 +0,0 @@ -/* - * 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. - * - * Author: Paulo César Pereira de Andrade - * - */ - -#include "config.h" -#include "mouse-cfg.h" -#include "keyboard-cfg.h" -#include "card-cfg.h" -#include "monitor-cfg.h" -#include "screen-cfg.h" -#include -#include -#include -#include -#include -#include - -/* - * Prototypes - */ -void BackCallback(Widget, XtPointer, XtPointer); -void NextCallback(Widget, XtPointer, XtPointer); -void ApplyCallback(Widget, XtPointer, XtPointer); -void CloseCallback(Widget, XtPointer, XtPointer); -void ErrorCallback(Widget, XtPointer, XtPointer); - -/* - * Initialization - */ -XF86SetupFunction mouse_functions[] = { - MouseDeviceAndProtocol, -}; - -XF86SetupFunction keyboard_functions[] = { - KeyboardModelAndLayout, -}; - -XF86SetupFunction card_functions[] = { - CardModel, -}; - -XF86SetupFunction monitor_functions[] = { - MonitorLayout, -}; - -XF86SetupFunction screen_functions[] = { - ScreenDialog, -}; - -XF86SetupFunctionList function_lists[] = { - {mouse_functions, sizeof(mouse_functions) / sizeof(mouse_functions[0]),}, - {keyboard_functions, sizeof(keyboard_functions) / sizeof(keyboard_functions[0]),}, - {card_functions, sizeof(card_functions) / sizeof(card_functions[0]),}, - {monitor_functions, sizeof(monitor_functions) / sizeof(monitor_functions[0]),}, - {screen_functions, sizeof(screen_functions) / sizeof(screen_functions[0]),}, -}; - -XF86SetupInfo xf86info = { - sizeof(function_lists) / sizeof(function_lists[0]), - MOUSE, - function_lists, -}; - -Widget configp, current, ok, back, next; -static Widget shell, errcurrent, oldcurrent; - -static int config_status, config_popped; - -static ConfigCheckFunction config_function; - -Widget ident_widget; -char *ident_string; -XF86ConfigPtr XF86Config; - -/* - * Implementation - */ -void -StartConfig(void) -{ - static int first = 1; - Widget pane, top, bottom, cancel; - const char *filename; - - if (!first) - return; - first = 0; - - /* Read initial configuration */ - if ((filename = xf86openConfigFile(getuid() == 0 ? CONFPATH : USER_CONFPATH, - XF86Config_path, NULL)) == NULL) { - int length = XF86Config_path ? strlen(XF86Config_path) : -1; - - if (length > 2 && - XF86Config_path[length - 2] == '-' && - XF86Config_path[length - 1] == '4') { - XF86Config_path[length - 2] = '\0'; - filename = xf86openConfigFile(getuid() == 0 ? - CONFPATH : USER_CONFPATH, - XF86Config_path, NULL); - } - - if (filename == NULL) { - fprintf(stderr, "Cannot open config file.\n"); - exit(1); - } - } - XF86Config_path = (char *)filename; - if ((XF86Config = xf86readConfigFile()) == NULL) { - fprintf(stderr, "Problem when parsing config file\n"); - exit(1); - } - - shell = XtCreatePopupShell("config", transientShellWidgetClass, - toplevel, NULL, 0); - pane = XtCreateManagedWidget("pane", panedWidgetClass, - shell, NULL, 0); - top = XtCreateManagedWidget("top", formWidgetClass, - pane, NULL, 0); - (void) XtCreateManagedWidget("label", labelWidgetClass, - top, NULL, 0); - ident_widget = XtVaCreateManagedWidget("identifier", asciiTextWidgetClass, - top, - XtNeditType, XawtextEdit, - NULL); - configp = XtCreateManagedWidget("work", formWidgetClass, - pane, NULL, 0); - current = XtCreateManagedWidget("wellcome", labelWidgetClass, - configp, NULL, 0); - bottom = XtCreateManagedWidget("bottom", formWidgetClass, - pane, NULL, 0); - back = XtCreateManagedWidget("back", commandWidgetClass, - bottom, NULL, 0); - XtAddCallback(back, XtNcallback, BackCallback, (XtPointer)&xf86info); - next = XtCreateManagedWidget("next", commandWidgetClass, - bottom, NULL, 0); - XtAddCallback(next, XtNcallback, NextCallback, (XtPointer)&xf86info); - ok = XtCreateManagedWidget("ok", commandWidgetClass, - bottom, NULL, 0); - XtAddCallback(ok, XtNcallback, ApplyCallback, (XtPointer)NULL); - cancel = XtCreateManagedWidget("cancel", commandWidgetClass, - bottom, NULL, 0); - XtAddCallback(cancel, XtNcallback, CloseCallback, (XtPointer)NULL); - - XtRealizeWidget(shell); - - XSetWMProtocols(DPY, XtWindow(shell), &wm_delete_window, 1); -} - -/*ARGSUSED*/ -Bool -ConfigLoop(ConfigCheckFunction config_fn) -{ - Arg args[1]; - config_popped = True; - XtPopup(shell, XtGrabExclusive); - - config_function = config_fn; - while (config_popped) - XtAppProcessEvent(XtWidgetToApplicationContext(shell), XtIMAll); - - XtSetArg(args[0], XtNstring, &ident_string); - XtGetValues(ident_widget, args, 1); - - return (config_status); -} - -/*ARGSUSED*/ -void -ConfigError(void) -{ - static int first = 1; - - if (first) { - Widget command; - - errcurrent = XtCreateWidget("error", formWidgetClass, - configp, NULL, 0); - (void) XtCreateManagedWidget("label", labelWidgetClass, - errcurrent, NULL, 0); - command = XtCreateManagedWidget("command", commandWidgetClass, - errcurrent, NULL, 0); - XtAddCallback(command, XtNcallback, ErrorCallback, NULL); - - XtRealizeWidget(errcurrent); - } - - oldcurrent = current; - XtChangeManagedSet(¤t, 1, NULL, NULL, &errcurrent, 1); - current = errcurrent; - - XtSetSensitive(ok, False); -} - -/*ARGSUSED*/ -void -ErrorCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - XtChangeManagedSet(&errcurrent, 1, NULL, NULL, &oldcurrent, 1); - current = oldcurrent; - - XtSetSensitive(ok, True); -} - -/*ARGSUSED*/ -void -BackCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - XF86SetupInfo *info = (XF86SetupInfo*)user_data; - int idx = info->lists[info->cur_list].cur_function - 1; - - if (idx >= 0 && info->lists[info->cur_list].num_functions > 0) { - info->lists[info->cur_list].cur_function = idx; - if (idx - 1 == -1) - XtSetSensitive(back, False); - if (!XtIsSensitive(next)) - XtSetSensitive(next, True); - (info->lists[info->cur_list].functions[idx])(info); - } -} - -/*ARGSUSED*/ -void -NextCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - XF86SetupInfo *info = (XF86SetupInfo*)user_data; - int idx = info->lists[info->cur_list].cur_function + 1; - - if (idx < info->lists[info->cur_list].num_functions) { - info->lists[info->cur_list].cur_function = idx; - if (idx + 1 == info->lists[info->cur_list].num_functions) - XtSetSensitive(next, False); - if (!XtIsSensitive(back)) - XtSetSensitive(back, True); - (info->lists[info->cur_list].functions[idx])(info); - } -} - -/*ARGSUSED*/ -void -CloseCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - XtPopdown(shell); - config_popped = False; - config_status = False; - /* make sure it is sensitive */ - XtSetSensitive(ok, True); - xf86info.lists[xf86info.cur_list].cur_function = 0; -} - -/*ARGSUSED*/ -void -ApplyCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - Arg args[1]; - - XtSetArg(args[0], XtNstring, &ident_string); - XtGetValues(ident_widget, args, 1); - - if (config_function == NULL || (*config_function)()) { - XtPopdown(shell); - config_popped = False; - config_status = True; - xf86info.lists[xf86info.cur_list].cur_function = 0; - } - else - ConfigError(); -} - -/*ARGSUSED*/ -void -ConfigCancelAction(Widget w, XEvent *event, String *params, Cardinal *num_params) -{ - CloseCallback(w, NULL, NULL); -} diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/config.h b/xorg-server/hw/xfree86/utils/xorgcfg/config.h deleted file mode 100644 index ea12e8879..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/config.h +++ /dev/null @@ -1,226 +0,0 @@ -/* - * 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. - * - * Author: Paulo César Pereira de Andrade - * - */ - -#ifdef HAVE_CONFIG_H -# include "xorg-config.h" -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#ifdef sun -#undef index -#undef rindex -#include -#endif -#include - -#include - -/* Get PATH_MAX */ -#ifndef PATH_MAX -# if defined(_POSIX_SOURCE) -# include -# else -# define _POSIX_SOURCE -# include -# undef _POSIX_SOURCE -# endif -# ifndef PATH_MAX -# ifdef MAXPATHLEN -# define PATH_MAX MAXPATHLEN -# else -# define PATH_MAX 1024 -# endif -# endif -#endif - -#include -#include -#include -#include -#include -#include -#include - -#ifndef _xf86cfg_config_h -#define _xf86cfg_config_h - -/* Must match the offset in the xf86info structure at config.c, - * and is used also by interface.c - */ -#define MOUSE 0 -#define KEYBOARD 1 -#define CARD 2 -#define MONITOR 3 -#define SCREEN 4 -#define SERVER 5 - -#define UNUSED 0 -#define USED 1 - -#define CONFIG_LAYOUT 0 -#define CONFIG_SCREEN 1 -#define CONFIG_MODELINE 2 -#define CONFIG_ACCESSX 3 -extern int config_mode; - -#define CONFPATH "%A," "%R," \ - "/etc/X11/%R," "%P/etc/X11/%R," \ - "%E," "%F," \ - "/etc/X11/%F," "%P/etc/X11/%F," \ - "/etc/X11/%X-%M," "/etc/X11/%X," "/etc/%X," \ - "%P/etc/X11/%X.%H," "%P/etc/X11/%X-%M," \ - "%P/etc/X11/%X," \ - "%P/lib/X11/%X.%H," "%P/lib/X11/%X-%M," \ - "%P/lib/X11/%X" -#define USER_CONFPATH "/etc/X11/%S," "%P/etc/X11/%S," \ - "/etc/X11/%G," "%P/etc/X11/%G," \ - "%P/etc/X11/%X.%H," "%P/etc/X11/%X-%M," \ - "%P/etc/X11/%X," \ - "%P/lib/X11/%X.%H," "%P/lib/X11/%X-%M," \ - "%P/lib/X11/%X" - -/* - * Types - */ -typedef struct _XF86SetupInfo XF86SetupInfo; -typedef void (*XF86SetupFunction)(XF86SetupInfo*); - -typedef struct _XF86SetupFunctionList { - XF86SetupFunction *functions; - int num_functions; - int cur_function; -} XF86SetupFunctionList; - -struct _XF86SetupInfo { - int num_lists; - int cur_list; - XF86SetupFunctionList *lists; -}; - -typedef Bool (*ConfigCheckFunction)(void); - -typedef struct _xf86cfgDevice xf86cfgDevice; - -struct _xf86cfgDevice { - XtPointer config; - Widget widget; - int type, state, refcount; -}; - -typedef struct { - XF86ConfScreenPtr screen; - Widget widget; - int type, state, refcount; - xf86cfgDevice *card; - xf86cfgDevice *monitor; - short row, column; - XRectangle rect; - short rotate; -} xf86cfgScreen; - -/* this structure is used just to restore - properly the monitors layout in the - screen window configuration. - */ -typedef struct { - XF86ConfLayoutPtr layout; - xf86cfgScreen **screen; - XPoint *position; - int num_layouts; -} xf86cfgLayout; - -/* The vidmode extension usage is controlled by this structure. - * The information is read at startup, and added monitors cannot - * be configured, since they are not attached to a particular screen. - */ -typedef struct _xf86cfgVidMode xf86cfgVidmode; - -typedef struct { - XF86ConfLayoutPtr layout; /* current layout */ - Widget cpu; - xf86cfgLayout **layouts; - Cardinal num_layouts; - xf86cfgScreen **screens; - Cardinal num_screens; - xf86cfgDevice **devices; - Cardinal num_devices; - xf86cfgVidmode **vidmodes; - Cardinal num_vidmodes; -} xf86cfgComputer; - -/* - * Prototypes - */ -void StartConfig(void); -Bool ConfigLoop(ConfigCheckFunction); -void ConfigError(void); -void ChangeScreen(XF86ConfMonitorPtr, XF86ConfMonitorPtr, - XF86ConfDevicePtr, XF86ConfDevicePtr); -void SetTip(xf86cfgDevice*); -Bool startx(void); -void endx(void); -void startaccessx(void); -void ConfigCancelAction(Widget, XEvent*, String*, Cardinal*); -void ExpertConfigureStart(void); -void ExpertConfigureEnd(void); -void ExpertCloseAction(Widget, XEvent*, String*, Cardinal*); -void ExpertCallback(Widget, XtPointer, XtPointer); - -/* - * Initialization - */ -extern Widget toplevel, configp, current, back, next; -extern XtAppContext appcon; -extern XF86SetupInfo xf86info; -extern Widget ident_widget; -extern char *ident_string; -extern XF86ConfigPtr XF86Config; -extern char *XF86Config_path; -extern char *XF86Module_path; -extern char *XFree86_path; -extern char *XF86Font_path; -extern char *XF86RGB_path; -extern char *XFree86Dir; -extern xf86cfgComputer computer; -extern Atom wm_delete_window; -extern Display *DPY; -extern Pixmap menuPixmap; -#ifdef USE_MODULES -extern int nomodules; -#endif - -#endif /* _xf86cfg_config_h */ diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/down.xbm b/xorg-server/hw/xfree86/utils/xorgcfg/down.xbm deleted file mode 100644 index 742adf202..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/down.xbm +++ /dev/null @@ -1,8 +0,0 @@ -#define down_width 19 -#define down_height 19 -static unsigned char down_bits[] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x0f, 0x00, - 0x80, 0x0f, 0x00, 0x80, 0x0f, 0x00, 0x80, 0x0f, 0x00, 0x80, 0x0f, 0x00, - 0x80, 0x0f, 0x00, 0xfc, 0xff, 0x01, 0xf8, 0xff, 0x00, 0xf0, 0x7f, 0x00, - 0xe0, 0x3f, 0x00, 0xc0, 0x1f, 0x00, 0x80, 0x0f, 0x00, 0x00, 0x07, 0x00, - 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/expert.c b/xorg-server/hw/xfree86/utils/xorgcfg/expert.c deleted file mode 100644 index bb6960ce7..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/expert.c +++ /dev/null @@ -1,4839 +0,0 @@ -/* - * 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. - * - * Author: Paulo César Pereira de Andrade - * - */ - -#include "config.h" -#include "xf86config.h" -#include "options.h" -#include "screen.h" -#include "vidmode.h" -#include "monitor-cfg.h" -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -/* - * Types - */ -typedef struct _TreeNode TreeNode; -typedef union _TreeData TreeData; -typedef void (*NodeDeleteFunc)(TreeNode*); -typedef void (*NodeUpdateFunc)(TreeNode*); - -union _TreeData { - struct { - Widget text; - } files; - struct { - Widget text; - XF86LoadPtr load; - } module; - struct { - Widget text; - XF86ConfModesPtr modes; - } modes; - struct { - Widget text, value; - XF86ConfModeLinePtr modeline; - } modeline; - struct { - Widget text, vendor, board, busid, driver; - XF86ConfVideoAdaptorPtr video; - } video; - struct { - Widget text; - XF86ConfVideoPortPtr port; - } port; - struct { - Widget text, vendor, model, width, height, hsync, vrefresh, - gammaRed, gammaGreen, gammaBlue; - XF86ConfMonitorPtr monitor; - } monitor; - struct { - Widget menu; - XF86ConfModesLinkPtr modeslink; - } modeslink; - struct { - Widget text, vendor, board, chipset, busid, card, driver, ramdac, - dacSpeed, videoRam, textClockFreq, biosBase, memBase, ioBase, - clockChip, devClock, chipId, chipRev, irq, screen; - XF86ConfDevicePtr device; - } device; - struct { - Widget text, defaultDepth, defaultBpp, defaultFbBpp, - monitor, device; - XF86ConfScreenPtr screen; - } screen; - struct { - Widget menu; - XF86ConfAdaptorLinkPtr adaptorlink; - } adaptorlink; - struct { - Widget viewport, c_virtual, depth, bpp, visual, weight, black, white; - XF86ConfDisplayPtr display; - } display; - struct { - Widget text; - XF86ModePtr mode; - } mode; - struct { - Widget text; - XF86ConfInputPtr input; - } input; - struct { - Widget text; - XF86ConfLayoutPtr layout; - } layout; - struct { - Widget menu, button, scrnum, adjx, adjy; - XF86ConfScreenPtr screen; - XF86ConfAdjacencyPtr adjacency; - } adjacency; - struct { - Widget menu; - XF86ConfInputrefPtr inputref; - } inputref; - struct { - Widget text; - XF86ConfVendorPtr vendor; - } vendor; - struct { - Widget text; - XF86ConfVendSubPtr vendsub; - } vendsub; - struct { - Widget name, group, mode; - XF86ConfDRIPtr dri; - } dri; - struct { - Widget count, size, flags; - XF86ConfBuffersPtr buffers; - } buffers; -}; - -struct _TreeNode { - Widget node, toggle, treeParent; - TreeNode *parent, *child, *next; - TreeData *data; - NodeDeleteFunc destroy; - NodeUpdateFunc update; -}; - -/* - * Prototypes - */ -static Bool ExpertInitialize(void); -static TreeNode *NewNode(TreeNode*, Widget, Widget, Widget, TreeData*); -static void DeleteNode(TreeNode*); -static void DestroyCallback(Widget, XtPointer, XtPointer); -static void PannerCallback(Widget, XtPointer, XtPointer); -static void PortholeCallback(Widget, XtPointer, XtPointer); -static void ToggleCallback(Widget, XtPointer, XtPointer); -static void ToggleNode(TreeNode*, Bool); -static void ToggleNodeRecursive(TreeNode*); -static void OptionsCallback(Widget, XtPointer, XtPointer); -static void RelayoutTree(void); -static void PopdownCallback(Widget, XtPointer, XtPointer); -static void UpdateConfig(TreeNode*); -static void DestroyTree(TreeNode*); - -static void CreateFiles(TreeNode*); -static void CreateFilesField(TreeNode*, char*, char*); -static void UpdateFiles(TreeNode*); - -static void CreateFontPath(TreeNode*, char*); -static Widget CreateFontPathField(TreeNode*, char*, Bool); -static void FontPathChanged(TreeNode*); -static void NewFontPathCallback(Widget, XtPointer, XtPointer); -static void FontPathCallback(Widget, XtPointer, XtPointer); - -static void CreateModulePath(TreeNode*, char*); -static Widget CreateModulePathField(TreeNode*, char*, Bool); -static void ModulePathChanged(TreeNode*); -static void NewModulePathCallback(Widget, XtPointer, XtPointer); - -static void CreateModule(TreeNode*, XF86LoadPtr); -static void CreateModuleField(TreeNode*, Bool); -static void ModuleDestroy(TreeNode*); -static void NewModuleCallback(Widget, XtPointer, XtPointer); - -static void CreateModes(TreeNode*, XF86ConfModesPtr); -static void CreateModesField(TreeNode*, Bool); -static void ModesDestroy(TreeNode*); -static void NewModesCallback(Widget, XtPointer, XtPointer); -static void CreateModesModeLine(TreeNode*, XF86ConfModeLinePtr); -static void ModesModeLineDestroy(TreeNode*); -static void NewModesModeLineCallback(Widget, XtPointer, XtPointer); - -static void CreateModeLineField(TreeNode*, Bool, Bool); -static XF86ConfModeLinePtr ParseModeLine(char*, char*); - -static void CreateVideoAdaptor(TreeNode*, XF86ConfVideoAdaptorPtr); -static void CreateVideoAdaptorField(TreeNode*, Bool); -static void VideoAdaptorDestroy(TreeNode*); -static void NewVideoAdaptorCallback(Widget, XtPointer, XtPointer); -static void VideoAdaptorUpdate(TreeNode*); -static void CreateVideoPort(TreeNode*, XF86ConfVideoPortPtr); -static void CreateVideoPortField(TreeNode*, Bool); -static void VideoPortDestroy(TreeNode*); -static void NewVideoPortCallback(Widget, XtPointer, XtPointer); - -static void CreateMonitor(TreeNode*, XF86ConfMonitorPtr); -static void CreateMonitorField(TreeNode*, Bool); -static void MonitorDestroy(TreeNode*); -static void NewMonitorCallback(Widget, XtPointer, XtPointer); -static void MonitorUpdate(TreeNode*); -static void CreateMonitorModeLine(TreeNode*, XF86ConfModeLinePtr); -static void MonitorModeLineDestroy(TreeNode*); -static void NewMonitorModeLineCallback(Widget, XtPointer, XtPointer); -static void CreateMonitorModes(TreeNode*, XF86ConfModesLinkPtr); -static void CreateMonitorModesField(TreeNode*, Bool); -static void MonitorModesLinkDestroy(TreeNode*); -static void NewMonitorModesCallback(Widget, XtPointer, XtPointer); - -static void CreateDevice(TreeNode*, XF86ConfDevicePtr); -static void CreateDeviceField(TreeNode*, Bool); -static void NewDeviceCallback(Widget, XtPointer, XtPointer); -static void DeviceDestroy(TreeNode*); -static void DeviceUpdate(TreeNode*); - -static void CreateScreen(TreeNode*, XF86ConfScreenPtr); -static void CreateScreenField(TreeNode*, Bool); -static void NewScreenCallback(Widget, XtPointer, XtPointer); -static void ScreenDestroy(TreeNode*); -static void ScreenUpdate(TreeNode*); -static void CreateScreenAdaptor(TreeNode*, XF86ConfAdaptorLinkPtr); -static void CreateScreenAdaptorField(TreeNode*, Bool); -static void NewScreenAdaptorCallback(Widget, XtPointer, XtPointer); -static void ScreenAdaptorDestroy(TreeNode*); -static void CreateScreenDisplay(TreeNode*, XF86ConfDisplayPtr); -static void CreateScreenDisplayField(TreeNode*, Bool); -static void NewScreenDisplayCallback(Widget, XtPointer, XtPointer); -static void ScreenDisplayDestroy(TreeNode*); -static void ScreenDisplayUpdate(TreeNode*); -static void CreateDisplayMode(TreeNode*, XF86ModePtr); -static void CreateDisplayModeField(TreeNode*, Bool); -static void NewDisplayModeCallback(Widget, XtPointer, XtPointer); -static void DisplayModeDestroy(TreeNode*); - -static void CreateInput(TreeNode*, XF86ConfInputPtr); -static void CreateInputField(TreeNode*, Bool); -static void InputDestroy(TreeNode*); -static void NewInputCallback(Widget, XtPointer, XtPointer); -static void InputUpdate(TreeNode*); - -static void CreateLayout(TreeNode*, XF86ConfLayoutPtr); -static void CreateLayoutField(TreeNode*, Bool); -static void LayoutDestroy(TreeNode*); -static void NewLayoutCallback(Widget, XtPointer, XtPointer); -static void CreateAdjacency(TreeNode*, XF86ConfAdjacencyPtr); -static void CreateAdjacencyField(TreeNode*, Bool); -static void AdjacencyDestroy(TreeNode*); -static void NewAdjacencyCallback(Widget, XtPointer, XtPointer); -static void AdjacencyMenuCallback(Widget, XtPointer, XtPointer); -static void AdjacencyToggleCallback(Widget, XtPointer, XtPointer); -static void CreateInputref(TreeNode*, XF86ConfInputrefPtr); -static void CreateInputrefField(TreeNode*, Bool); -static void InputrefDestroy(TreeNode*); -static void NewInputrefCallback(Widget, XtPointer, XtPointer); - -static void CreateVendor(TreeNode*, XF86ConfVendorPtr); -static void CreateVendorField(TreeNode*, Bool); -static void VendorDestroy(TreeNode*); -static void NewVendorCallback(Widget, XtPointer, XtPointer); -static void CreateVendorSub(TreeNode*, XF86ConfVendSubPtr); -static void CreateVendorSubField(TreeNode*, Bool); -static void NewVendorSubCallback(Widget, XtPointer, XtPointer); -static void VendorSubDestroy(TreeNode*); -static void VendorSubUpdate(TreeNode*); - -static void CreateDRI(TreeNode*, XF86ConfDRIPtr); -static void CreateDRIField(TreeNode*); -static void DRIUpdate(TreeNode*); - -static void CreateBuffers(TreeNode*, XF86ConfBuffersPtr); -static void CreateBuffersField(TreeNode*, Bool); -static void BuffersDestroy(TreeNode*); -static void NewBuffersCallback(Widget, XtPointer, XtPointer); -static void BuffersUpdate(TreeNode*); - -extern void RemoveDeviceCallback(Widget, XtPointer, XtPointer); - -/* interface.c */ -extern void InitializeDevices(void); -extern void SelectLayoutCallback(Widget, XtPointer, XtPointer); -extern void UpdateMenuDeviceList(int); -extern void SetConfigModeCallback(Widget, XtPointer, XtPointer); -extern void DefaultLayoutCallback(Widget, XtPointer, XtPointer); -extern void RemoveLayoutCallback(Widget, XtPointer, XtPointer); - -/* - * Initialization - */ -static Widget shell, expert, tree, panner; -extern Widget work, optionsShell, config, layoutp, topMenu; -extern xf86cfgDevice cpu_device; -static TreeNode *mainNode, *monitorTree, *screenTree, *layoutTree; - -/* - * Implementation - */ -void -ExpertConfigureStart(void) -{ - ExpertInitialize(); - - XtPopup(shell, XtGrabExclusive); - if (optionsShell == NULL) - CreateOptionsShell(); - XtVaSetValues(optionsShell, XtNtransientFor, shell, NULL); -} - -void -ExpertConfigureEnd(void) -{ - int i, save_config_mode = config_mode; - Widget sme, layopt, layoutsme = NULL; - XF86ConfLayoutPtr lay; - - XtVaSetValues(optionsShell, XtNtransientFor, toplevel, NULL); - XtPopdown(shell); - - /* Need to do this to avoid all code elsewhere needing to update the - * "expert" widget tree - */ - UpdateConfig(mainNode); - DestroyTree(mainNode); - XtDestroyWidget(shell); - expert = NULL; - - if (save_config_mode != CONFIG_LAYOUT) - SetConfigModeCallback(topMenu, (XtPointer)CONFIG_LAYOUT, NULL); - - /* Reset everything as the "expert" interface can do almost anything - * to the configuration. - */ - for (i = 0; i < computer.num_screens; i++) { - XtDestroyWidget(computer.screens[i]->widget); - XtFree((XtPointer)computer.screens[i]); - } - XtFree((XtPointer)computer.screens); - computer.screens = NULL; - computer.num_screens = 0; - - for (i = 0; i < computer.num_devices; i++) { - XtDestroyWidget(computer.devices[i]->widget); - XtFree((XtPointer)computer.devices[i]); - } - XtFree((XtPointer)computer.devices); - computer.devices = NULL; - computer.num_devices = 0; - - for (i = 0; i < computer.num_layouts; i++) { - XtFree((XtPointer)computer.layouts[i]->position); - XtFree((XtPointer)computer.layouts[i]); - } - XtFree((XtPointer)computer.layouts); - computer.layouts = NULL; - computer.num_layouts = 0; - - for (i = 0; i < computer.num_vidmodes; i++) - XtFree((XtPointer)computer.vidmodes[i]); - XtFree((XtPointer)computer.vidmodes); - computer.vidmodes = NULL; - computer.num_vidmodes = 0; - - /* Reinitialize devices/screens */ - InitializeDevices(); - UpdateMenuDeviceList(MOUSE); - UpdateMenuDeviceList(KEYBOARD); - UpdateMenuDeviceList(CARD); - UpdateMenuDeviceList(MONITOR); - - /* Update layout menu */ - /* first entry is "New server layout" */ - for (i = 1; i < ((CompositeWidget)layoutp)->composite.num_children; i++) - XtDestroyWidget(((CompositeWidget)layoutp)->composite.children[i]); - for (i = 0; i < layoutp->core.num_popups; i++) - XtDestroyWidget(layoutp->core.popup_list[i]); - lay = XF86Config->conf_layout_lst; - while (lay != NULL) { - sme = XtVaCreateManagedWidget("sme", smeBSBObjectClass, - layoutp, - XtNlabel, lay->lay_identifier, - XtNmenuName, lay->lay_identifier, - XtNleftBitmap, menuPixmap, - NULL); - XtAddCallback(sme, XtNcallback, SelectLayoutCallback, (XtPointer)lay); - if (layoutsme == NULL) - layoutsme = sme; - layopt = XtCreatePopupShell(lay->lay_identifier, simpleMenuWidgetClass, - layoutp, NULL, 0); - sme = XtCreateManagedWidget("default", smeBSBObjectClass, - layopt, NULL, 0); - XtAddCallback(sme, XtNcallback, DefaultLayoutCallback, NULL); - sme = XtCreateManagedWidget("remove", smeBSBObjectClass, - layopt, NULL, 0); - XtAddCallback(sme, XtNcallback, RemoveLayoutCallback, NULL); - XtRealizeWidget(layopt); - - lay = (XF86ConfLayoutPtr)(lay->list.next); - } - computer.layout = NULL; - SelectLayoutCallback(layoutsme, - XF86Config->conf_layout_lst, NULL); - - - if (XF86Config->conf_flags && XF86Config->conf_flags->flg_option_lst) - SetTip(&cpu_device); - for (i = 0; i < computer.num_devices; i++) - SetTip(computer.devices[i]); - - /* Reinitialize vidmodes */ - InitializeVidmodes(); - - if (save_config_mode != CONFIG_LAYOUT) - SetConfigModeCallback(topMenu, (XtPointer)(long)save_config_mode, NULL); -} - -/*ARGSUSED*/ -void -ExpertCloseAction(Widget w, XEvent *event, String *params, Cardinal *num_params) -{ - ExpertConfigureEnd(); -} - -/*ARGSUSED*/ -void -ExpertCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - ExpertConfigureStart(); -} - -/*ARGSUSED*/ -static void -PopdownCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - ExpertConfigureEnd(); -} - -/* Files */ -static void -CreateFiles(TreeNode *files) -{ - XF86ConfFilesPtr file = XF86Config->conf_files; - TreeNode *node, *fontpath, *modulepath; - Widget w; - char *value; - - value = file->file_logfile ? file->file_logfile : ""; - node = NewNode(files, NULL, NULL, files->node, - (TreeData*)XtCalloc(1, sizeof(TreeData))); - CreateFilesField(node, "LogFile", value); - files->child = node; - files->update = UpdateFiles; - - w = XtVaCreateManagedWidget("ModulePath", toggleWidgetClass, tree, - XtNtreeParent, files->node, NULL); - node->next = modulepath = NewNode(files, w, w, files->node, NULL); - node = node->next; - CreateModulePath(modulepath, NULL); - - w = XtVaCreateManagedWidget("FontPath", toggleWidgetClass, tree, - XtNtreeParent, files->node, NULL); - node->next = fontpath = NewNode(files, w, w, files->node, NULL); - node = node->next; - CreateFontPath(fontpath, NULL); -} - -static void -CreateFilesField(TreeNode *node, char *name, char *value) -{ - Widget box, text; - - box = XtVaCreateManagedWidget(name, boxWidgetClass, tree, - XtNtreeParent, node->node, NULL); - node->node = box; - (void) XtVaCreateManagedWidget("label", labelWidgetClass, box, - XtNlabel, name, NULL); - text = XtVaCreateManagedWidget("value", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, XtNstring, value, - NULL); - node->data->files.text = text; -} - -static void -UpdateFiles(TreeNode *files) -{ - char *str; - - /* LogFile */ - files = files->child; - XtVaGetValues(files->data->files.text, XtNstring, &str, NULL); - XtFree(XF86Config->conf_files->file_logfile); - if (*str) - XF86Config->conf_files->file_logfile = XtNewString(str); - else - XF86Config->conf_files->file_logfile = NULL; -} - -/* FontPath */ -/* Don't need to set the update tree field, as it is already set - * as the destroy field */ -static void -CreateFontPath(TreeNode *fontpath, char *path) -{ - TreeNode *prev = NULL, *node; - - if (path == NULL) { - if (XF86Font_path) { - path = XtNewString(XF86Font_path); - if (XF86Config->conf_files && XF86Config->conf_files->file_fontpath) { - XtFree(XF86Config->conf_files->file_fontpath); - XF86Config->conf_files->file_fontpath = XtNewString(path); - } - } - else if (XF86Config->conf_files && XF86Config->conf_files->file_fontpath) - path = XtNewString(XF86Config->conf_files->file_fontpath); - } - else { - path = XtNewString(path); - if ((prev = fontpath->child) != NULL) - while (prev->next) - prev = prev->next; - } - - if (path) { - char *s; - - for (s = strtok(path, ","); s != NULL; s = strtok(NULL, ",")) { - node = NewNode(fontpath, NULL, NULL, fontpath->node, NULL); - node->destroy = FontPathChanged; - (void) CreateFontPathField(node, s, False); - if (fontpath->child == NULL) - fontpath->child = node; - else - prev->next = node; - prev = node; - } - XtFree(path); - } - - node = NewNode(fontpath, NULL, NULL, fontpath->node, NULL); - (void) CreateFontPathField(node, "", True); - if (fontpath->child == NULL) - fontpath->child = node; - else - prev->next = node; -} - -static Widget -CreateFontPathField(TreeNode *fontpath, char *value, Bool addnew) -{ - Widget box, command, text; - TreeData *data; - - box = XtVaCreateWidget("fontpath", formWidgetClass, tree, - XtNtreeParent, fontpath->treeParent, NULL); - fontpath->node = box; - if (!addnew) { - command = XtCreateManagedWidget("remove", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, DestroyCallback, - (XtPointer)fontpath); - command = XtCreateManagedWidget("up", commandWidgetClass, box, NULL, 0); - XtAddCallback(command, XtNcallback, FontPathCallback, - (XtPointer)fontpath); - command = XtCreateManagedWidget("down", commandWidgetClass, box, NULL, 0); - XtAddCallback(command, XtNcallback, FontPathCallback, - (XtPointer)fontpath); - text = XtVaCreateManagedWidget("value", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, value, NULL); - } - else { - command = XtCreateManagedWidget("new", commandWidgetClass, box, NULL, 0); - XtAddCallback(command, XtNcallback, NewFontPathCallback, - (XtPointer)fontpath); - text = XtVaCreateManagedWidget("valueNew", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, value, NULL); - } - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - data->files.text = text; - fontpath->data = data; - - if (fontpath->treeParent && XtIsRealized(fontpath->treeParent)) - XtRealizeWidget(box); - XtManageChild(box); - - return (box); -} - -static void -FontPathChanged(TreeNode *node) -{ - TreeNode *parent = node->parent; - char *fontpath = NULL, *str; - Arg args[1]; - int pos = 0, len; - - /* last node is the "new" */ - for (node = parent->child; node->next != NULL; node = node->next) { - if (pos) - fontpath[pos++] = ','; - XtSetArg(args[0], XtNstring, &str); - XtGetValues(node->data->files.text, args, 1); - len = strlen(str) + 2; - fontpath = XtRealloc(fontpath, pos + len); - strcpy(fontpath + pos, str); - pos += len - 2; - } - - if (XF86Config->conf_files->file_fontpath) - XtFree(XF86Config->conf_files->file_fontpath); - XF86Config->conf_files->file_fontpath = fontpath; -} - -static void -NewFontPathCallback(Widget unused, XtPointer user_data, XtPointer call_data) -{ - TreeNode *fontpath, *node = (TreeNode*)user_data; - Arg args[1]; - char *str; - - XtSetArg(args[0], XtNstring, &str); - XtGetValues(node->data->files.text, args, 1); - if (*str == '\0') - return; - - fontpath = node->parent; - DeleteNode(node); - CreateFontPath(fontpath, str); - - FontPathChanged(fontpath->child); - RelayoutTree(); -} - -/*ARGSUSED*/ -static void -FontPathCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - TreeNode *parent, *node, *fontpath = (TreeNode*)user_data; - char *t1, *t2; - Widget w1, w2; - - parent = fontpath->parent; - node = parent->child; - if (!node->next->next) - return; - if (strcmp(XtName(w), "up") == 0) { - if (node == fontpath) - while (node->next->next) - node = node->next; - else - while (node && node->next != fontpath) - node = node->next; - } - else { - if (fontpath->next->next) - node = fontpath->next; - /* else is already correct */ - } - - w1 = node->data->files.text; - w2 = fontpath->data->files.text; - - XtVaGetValues(w1, XtNstring, &t1, NULL); - XtVaGetValues(w2, XtNstring, &t2, NULL); - t1 = XtNewString(t1); - XtVaSetValues(w1, XtNstring, t2, NULL); - XtVaSetValues(w2, XtNstring, t1, NULL); - XtFree(t1); -} - - -/* ModulePath */ -/* Don't need to set the update tree field, as it is already set - * as the destroy field */ -static void -CreateModulePath(TreeNode *modulepath, char *path) -{ - TreeNode *prev = NULL, *node; - - if (path == NULL) { - if (XF86Module_path) { - path = XtNewString(XF86Module_path); - if (XF86Config->conf_files && XF86Config->conf_files->file_modulepath) { - XtFree(XF86Config->conf_files->file_modulepath); - XF86Config->conf_files->file_modulepath = XtNewString(path); - } - } - else if (XF86Config->conf_files && XF86Config->conf_files->file_modulepath) - path = XtNewString(XF86Config->conf_files->file_modulepath); - } - else { - path = XtNewString(path); - if ((prev = modulepath->child) != NULL) - while (prev->next) - prev = prev->next; - } - - if (path) { - char *s; - - for (s = strtok(path, ","); s != NULL; s = strtok(NULL, ",")) { - node = NewNode(modulepath, NULL, NULL, modulepath->node, NULL); - node->destroy = ModulePathChanged; - (void) CreateModulePathField(node, s, False); - if (modulepath->child == NULL) - modulepath->child = node; - else - prev->next = node; - prev = node; - } - XtFree(path); - } - - node = NewNode(modulepath, NULL, NULL, modulepath->node, NULL); - (void) CreateModulePathField(node, "", True); - if (modulepath->child == NULL) - modulepath->child = node; - else - prev->next = node; -} - -static Widget -CreateModulePathField(TreeNode *modulepath, char *value, Bool addnew) -{ - Widget box, command, text; - TreeData *data; - - box = XtVaCreateWidget("modulepath", formWidgetClass, tree, - XtNtreeParent, modulepath->treeParent, NULL); - modulepath->node = box; - if (!addnew) { - command = XtCreateManagedWidget("remove", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, DestroyCallback, - (XtPointer)modulepath); - text = XtVaCreateManagedWidget("value", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, value, NULL); - } - else { - command = XtCreateManagedWidget("new", commandWidgetClass, box, NULL, 0); - XtAddCallback(command, XtNcallback, NewModulePathCallback, - (XtPointer)modulepath); - text = XtVaCreateManagedWidget("valueNew", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, value, NULL); - } - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - data->files.text = text; - modulepath->data = data; - - if (modulepath->treeParent && XtIsRealized(modulepath->treeParent)) - XtRealizeWidget(box); - XtManageChild(box); - - return (box); -} - -static void -ModulePathChanged(TreeNode *node) -{ - TreeNode *parent = node->parent; - char *modulepath = NULL, *str; - Arg args[1]; - int pos = 0, len; - - /* last node is the "new" */ - for (node = parent->child; node->next != NULL; node = node->next) { - if (pos) - modulepath[pos++] = ','; - XtSetArg(args[0], XtNstring, &str); - XtGetValues(node->data->files.text, args, 1); - len = strlen(str) + 2; - modulepath = XtRealloc(modulepath, pos + len); - strcpy(modulepath + pos, str); - pos += len - 2; - } - - if (XF86Config->conf_files->file_modulepath) - XtFree(XF86Config->conf_files->file_modulepath); - XF86Config->conf_files->file_modulepath = modulepath; -} - -static void -NewModulePathCallback(Widget unused, XtPointer user_data, XtPointer call_data) -{ - TreeNode *modulepath, *node = (TreeNode*)user_data; - Arg args[1]; - char *str; - - XtSetArg(args[0], XtNstring, &str); - XtGetValues(node->data->files.text, args, 1); - if (*str == '\0') - return; - - modulepath = node->parent; - DeleteNode(node); - CreateModulePath(modulepath, str); - - ModulePathChanged(modulepath->child); - RelayoutTree(); -} - -/* Module */ -static void -CreateModule(TreeNode *module, XF86LoadPtr load) -{ - TreeNode *prev, *node; - TreeData *data; - - if ((prev = module->child) != NULL) - while (prev->next) - prev = prev->next; - - while (load) { - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - data->module.load = load; - node = NewNode(module, NULL, NULL, module->node, data); - node->destroy = ModuleDestroy; - CreateModuleField(node, False); - if (module->child == NULL) - module->child = node; - else - prev->next = node; - prev = node; - load = (XF86LoadPtr)(load->list.next); - } - - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - node = NewNode(module, NULL, NULL, module->node, data); - CreateModuleField(node, True); - if (module->child == NULL) - module->child = node; - else - prev->next = node; -} - -static void -CreateModuleField(TreeNode *node, Bool addnew) -{ - Widget box, command, label; - - box = XtVaCreateWidget("module", formWidgetClass, tree, - XtNtreeParent, node->treeParent, NULL); - node->node = box; - - if (!addnew) { - XF86OptionPtr *options; - XF86LoadPtr load = node->data->module.load; - - options = &(load->load_opt); - command = XtCreateManagedWidget("remove", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, DestroyCallback, (XtPointer)node); - command = XtCreateManagedWidget("options", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, OptionsCallback, (XtPointer)options); - label = XtVaCreateManagedWidget("label", labelWidgetClass, box, - XtNlabel, load->load_name, NULL); - } - else { - command = XtCreateManagedWidget("new", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, NewModuleCallback, (XtPointer)node); - label = XtVaCreateManagedWidget("value", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - NULL); - node->data->module.text = label; - } - if (XtIsRealized(node->treeParent)) - XtRealizeWidget(box); - XtManageChild(box); -} - -/*ARGUSED*/ -static void -ModuleDestroy(TreeNode *node) -{ - if (node->data->module.load) - xf86removeModule(XF86Config, node->data->module.load); -} - -/*ARGSUSED*/ -static void -NewModuleCallback(Widget unused, XtPointer user_data, XtPointer call_data) -{ - TreeNode *module, *node = (TreeNode*)user_data; - XF86LoadPtr load; - Arg args[1]; - char *label; - - XtSetArg(args[0], XtNstring, &label); - XtGetValues(node->data->module.text, args, 1); - if (*label == '\0') - return; - - module = node->parent; - DeleteNode(node); - load = (XF86LoadPtr)XtCalloc(1, sizeof(XF86LoadRec)); - load->load_name = XtNewString(label); - XF86Config->conf_modules->mod_load_lst = - xf86addModule(XF86Config->conf_modules->mod_load_lst, load); - - CreateModule(module, load); - RelayoutTree(); -} - -/* Modes */ -static void -CreateModes(TreeNode *parent, XF86ConfModesPtr modes) -{ - TreeNode *node, *prev; - TreeData *data; - - if ((prev = parent->child) != NULL) - while (prev->next) - prev = prev->next; - - while (modes) { - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - data->modes.modes = modes; - node = NewNode(parent, NULL, NULL, parent->node, data); - node->destroy = ModesDestroy; - CreateModesField(node, False); - if (parent->child == NULL) - parent->child = node; - else - prev->next = node; - prev = node; - - modes = (XF86ConfModesPtr)(modes->list.next); - } - - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - node = NewNode(parent, NULL, NULL, parent->node, data); - CreateModesField(node, True); - if (parent->child == NULL) - parent->child = node; - else - prev->next = node; -} - -static void -CreateModesField(TreeNode *node, Bool addnew) -{ - Widget box, command, label; - - box = XtVaCreateWidget("modes", formWidgetClass, tree, - XtNtreeParent, node->treeParent, NULL); - node->node = box; - - if (!addnew) { - XF86ConfModesPtr modes = node->data->modes.modes; - - command = XtCreateManagedWidget("remove", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, DestroyCallback, (XtPointer)node); - label = XtVaCreateManagedWidget("mode", toggleWidgetClass, box, - XtNlabel, modes->modes_identifier, - XtNstate, True, - NULL); - node->toggle = label; - XtAddCallback(label, XtNcallback, ToggleCallback, (XtPointer)node); - CreateModesModeLine(node, node->data->modes.modes->mon_modeline_lst); - } - else { - command = XtCreateManagedWidget("new", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, NewModesCallback, (XtPointer)node); - label = XtVaCreateManagedWidget("value", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - NULL); - node->data->modes.text = label; - } - if (XtIsRealized(node->treeParent)) - XtRealizeWidget(box); - XtManageChild(box); -} - -/*ARGUSED*/ -static void -ModesDestroy(TreeNode *node) -{ - if (node->data->modes.modes) { - int i; - TreeNode *mon = monitorTree->child; - - /* last one is the "new" entry */ - while (mon && mon->next) { - /* UseModes is the second entry */ - TreeNode *mod = mon->child->next->child; - CompositeWidget composite; - - while (mod && mod->next) { - TreeNode *next = mod->next; - - if (mod && strcmp(mod->data->modeslink.modeslink->ml_modes_str, - node->data->modes.modes->modes_identifier) == 0) - /* Needs to do string comparison because may be deleting - * a "test" Modes section, with no Modelines. - */ - DeleteNode(mod); - mod = next; - } - composite = (CompositeWidget)mod->data->modeslink.menu; - - for (i = 0; i < composite->composite.num_children; ++i) - if (strcmp(XtName(composite->composite.children[i]), - node->data->modes.modes->modes_identifier) == 0) - XtDestroyWidget(composite->composite.children[i]); - - mon = mon->next; - } - - xf86removeModes(XF86Config, node->data->modes.modes); - } -} - -/*ARGSUSED*/ -static void -NewModesCallback(Widget unused, XtPointer user_data, XtPointer call_data) -{ - TreeNode *parent, *node = (TreeNode*)user_data; - XF86ConfModesPtr modes; - Arg args[1]; - char *label; - - XtSetArg(args[0], XtNstring, &label); - XtGetValues(node->data->modes.text, args, 1); - if (*label == '\0') - return; - - parent = node->parent; - DeleteNode(node); - modes = (XF86ConfModesPtr)XtCalloc(1, sizeof(XF86ConfModesRec)); - modes->modes_identifier = XtNewString(label); - XF86Config->conf_modes_lst = - xf86addModes(XF86Config->conf_modes_lst, modes); - - { - TreeNode *mon = monitorTree->child; - Widget sme; - - /* last one is the "new" entry */ - while (mon && mon->next) { - /* UseModes is the second entry */ - TreeNode *mod = mon->child->next->child; - - while (mod && mod->next) - mod = mod->next; - - sme = XtCreateManagedWidget(modes->modes_identifier, - smeBSBObjectClass, - mod->data->modeslink.menu, NULL, 0); - XtAddCallback(sme, XtNcallback, NewMonitorModesCallback, - (XtPointer)mod); - - mon = mon->next; - } - } - - CreateModes(parent, modes); - RelayoutTree(); -} - -static void -CreateModesModeLine(TreeNode *parent, XF86ConfModeLinePtr modeline) -{ - TreeNode *node, *prev; - TreeData *data; - - if ((prev = parent->child) != NULL) - while (prev->next) - prev = prev->next; - - while (modeline) { - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - data->modeline.modeline = modeline; - node = NewNode(parent, NULL, NULL, parent->node, data); - node->destroy = ModesModeLineDestroy; - CreateModeLineField(node, False, False); - if (parent->child == NULL) - parent->child = node; - else - prev->next = node; - prev = node; - modeline = (XF86ConfModeLinePtr)(modeline->list.next); - } - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - node = NewNode(parent, NULL, NULL, parent->node, data); - if (parent->child == NULL) - parent->child = node; - else - prev->next = node; - prev = node; - CreateModeLineField(node, True, False); -} - -/* This function should allow creating modelines for the - Mode and Monitor section */ -static void -CreateModeLineField(TreeNode *node, Bool addnew, Bool monitor) -{ - Widget box, command; - char buf[512], tmp[32]; - - box = XtVaCreateWidget("modeline", formWidgetClass, tree, - XtNtreeParent, node->treeParent, NULL); - node->node = box; - - if (!addnew) { - XF86ConfModeLinePtr mod = node->data->modeline.modeline; - - command = XtCreateManagedWidget("remove", commandWidgetClass, - box, NULL, 0); - XtAddCallback(command, XtNcallback, DestroyCallback, (XtPointer)node); - XtVaCreateManagedWidget("label", labelWidgetClass, box, - XtNlabel, mod->ml_identifier, NULL); - - XmuSnprintf(buf, sizeof(buf), "%g %d %d %d %d %d %d %d %d", - mod->ml_clock / 1000., mod->ml_hdisplay, mod->ml_hsyncstart, - mod->ml_hsyncend, mod->ml_htotal, mod->ml_vdisplay, - mod->ml_vsyncstart, mod->ml_vsyncend, mod->ml_vtotal); - if (mod->ml_flags & XF86CONF_INTERLACE) - strcat(buf, " interlace"); - if (mod->ml_flags & XF86CONF_PHSYNC) - strcat(buf, " +hsync"); - if (mod->ml_flags & XF86CONF_NHSYNC) - strcat(buf, " -hsync"); - if (mod->ml_flags & XF86CONF_PVSYNC) - strcat(buf, " +vsync"); - if (mod->ml_flags & XF86CONF_NVSYNC) - strcat(buf, " -vsync"); - if (mod->ml_flags & XF86CONF_CSYNC) - strcat(buf, " composite"); - if (mod->ml_flags & XF86CONF_PCSYNC) - strcat(buf, " +csync"); - if (mod->ml_flags & XF86CONF_NCSYNC) - strcat(buf, " -csync"); - if (mod->ml_flags & XF86CONF_DBLSCAN) - strcat(buf, " doublescan"); - if (mod->ml_flags & XF86CONF_BCAST) - strcat(buf, " bcast"); - if (mod->ml_flags & XF86CONF_HSKEW) { - XmuSnprintf(tmp, sizeof(tmp), " hskew %d", mod->ml_hskew); - strcat(buf, tmp); - } - if (mod->ml_flags & XF86CONF_VSCAN) { - XmuSnprintf(tmp, sizeof(tmp), " vscan %d", mod->ml_vscan); - strcat(buf, tmp); - } - if (mod->ml_flags & XF86CONF_CUSTOM) - strcat(buf, " custom"); - node->data->modeline.value = - XtVaCreateManagedWidget("modeline", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, buf, NULL); - } - else { - *buf = '\0'; - command = XtCreateManagedWidget("new", commandWidgetClass, - box, NULL, 0); - XtAddCallback(command, XtNcallback, monitor ? - NewMonitorModeLineCallback : NewModesModeLineCallback, - (XtPointer)node); - node->data->modeline.text = - XtVaCreateManagedWidget("value", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, NULL); - node->data->modeline.value = - XtVaCreateManagedWidget("modelineNew", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, NULL); - } - if (XtIsRealized(node->treeParent)) - XtRealizeWidget(box); - XtManageChild(box); -} - -/*ARGUSED*/ -static void -ModesModeLineDestroy(TreeNode *node) -{ - if (node->data->modeline.modeline) - xf86removeModesModeLine(node->parent->data->modes.modes, - node->data->modeline.modeline); -} - -/*ARGSUSED*/ -static void -NewModesModeLineCallback(Widget unused, XtPointer user_data, XtPointer call_data) -{ - TreeNode *parent, *node = (TreeNode*)user_data; - XF86ConfModeLinePtr modeline; - Arg args[1]; - char *ident, *value; - - XtSetArg(args[0], XtNstring, &ident); - XtGetValues(node->data->modeline.text, args, 1); - XtSetArg(args[0], XtNstring, &value); - XtGetValues(node->data->modeline.value, args, 1); - if (*ident == '\0' || *value == '\0') - return; - - parent = node->parent; - DeleteNode(node); - modeline = ParseModeLine(ident, value); - parent->data->modes.modes->mon_modeline_lst = - xf86addModeLine(parent->data->modes.modes->mon_modeline_lst, modeline); - - CreateModesModeLine(parent, modeline); - RelayoutTree(); -} - -static XF86ConfModeLinePtr -ParseModeLine(char *identifier, char *modeline) -{ - XF86ConfModeLinePtr ml = (XF86ConfModeLinePtr) - XtCalloc(1, sizeof(XF86ConfModeLineRec)); - char *s, *ptr = modeline; - - /* Identifier */ - ml->ml_identifier = XtNewString(identifier); - - ml->ml_clock = (int)(strtod(ptr, &ptr) * 1000.0 + 0.5); - while (*ptr && isspace(*ptr)) ++ptr; - - ml->ml_hdisplay = strtol(ptr, &ptr, 10); - while (*ptr && isspace(*ptr)) ++ptr; - - ml->ml_hsyncstart = strtol(ptr, &ptr, 10); - while (*ptr && isspace(*ptr)) ++ptr; - - ml->ml_hsyncend = strtol(ptr, &ptr, 10); - while (*ptr && isspace(*ptr)) ++ptr; - - ml->ml_htotal = strtol(ptr, &ptr, 10); - while (*ptr && isspace(*ptr)) ++ptr; - - ml->ml_vdisplay = strtol(ptr, &ptr, 10); - while (*ptr && isspace(*ptr)) ++ptr; - - ml->ml_vsyncstart = strtol(ptr, &ptr, 10); - while (*ptr && isspace(*ptr)) ++ptr; - - ml->ml_vsyncend = strtol(ptr, &ptr, 10); - while (*ptr && isspace(*ptr)) ++ptr; - - ml->ml_vtotal = strtol(ptr, &ptr, 10); - while (*ptr && isspace(*ptr)) ++ptr; - - s = ptr; - while (*s) { - *s = tolower(*s); - ++s; - } - s = ptr; - - while (*ptr) { - while (*s && isspace(*s)) - s++; - ptr = s; - while (*s && !isspace(*s)) - s++; - - if (s != ptr) { - Bool done = *s == '\0'; - - *s = '\0'; - if (strcmp(ptr, "interlace") == 0) - ml->ml_flags |= XF86CONF_INTERLACE; - else if (strcmp(ptr, "+hsync") == 0) - ml->ml_flags |= XF86CONF_PHSYNC; - else if (strcmp(ptr, "-hsync") == 0) - ml->ml_flags |= XF86CONF_NHSYNC; - else if (strcmp(ptr, "+vsync") == 0) - ml->ml_flags |= XF86CONF_PVSYNC; - else if (strcmp(ptr, "-vsync") == 0) - ml->ml_flags |= XF86CONF_NVSYNC; - else if (strcmp(ptr, "composite") == 0) - ml->ml_flags |= XF86CONF_CSYNC; - else if (strcmp(ptr, "+csync") == 0) - ml->ml_flags |= XF86CONF_PCSYNC; - else if (strcmp(ptr, "-csync") == 0) - ml->ml_flags |= XF86CONF_NCSYNC; - else if (strcmp(ptr, "doublescan") == 0) - ml->ml_flags |= XF86CONF_DBLSCAN; - else if (strcmp(ptr, "bcast") == 0) - ml->ml_flags |= XF86CONF_BCAST; - else if (strcmp(ptr, "hskew") == 0) { - ++s; - while (*s && isspace(*s)) - ++s; - ptr = s; - while (*s && !isspace(*s)) - ++s; - if (ptr != s) { - ml->ml_hskew = strtol(ptr, &s, 10); - ml->ml_flags |= XF86CONF_HSKEW; - --s; - } - } - else if (strcmp(ptr, "vscan") == 0) { - ++s; - while (*s && isspace(*s)) - ++s; - ptr = s; - while (*s && !isspace(*s)) - ++s; - if (ptr != s) { - ml->ml_vscan = strtol(ptr, &s, 10); - ml->ml_flags |= XF86CONF_VSCAN; - --s; - } - } - else if (strcmp(ptr, "custom") == 0) - ml->ml_flags |= XF86CONF_CUSTOM; - ++s; - if (done) - break; - ptr = s; - } - } - - return (ml); -} - -/* VideoAdpator */ -static void -CreateVideoAdaptor(TreeNode *parent, XF86ConfVideoAdaptorPtr video) -{ - TreeNode *node, *prev; - TreeData *data; - - if ((prev = parent->child) != NULL) - while (prev->next) - prev = prev->next; - - while (video) { - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - data->video.video = video; - node = NewNode(parent, NULL, NULL, parent->node, data); - node->destroy = VideoAdaptorDestroy; - node->update = VideoAdaptorUpdate; - CreateVideoAdaptorField(node, False); - if (parent->child == NULL) - parent->child = node; - else - prev->next = node; - prev = node; - - video = (XF86ConfVideoAdaptorPtr)(video->list.next); - } - - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - node = NewNode(parent, NULL, NULL, parent->node, data); - CreateVideoAdaptorField(node, True); - if (parent->child == NULL) - parent->child = node; - else - prev->next = node; -} - -static void -CreateVideoAdaptorField(TreeNode *node, Bool addnew) -{ - Widget box, command, label; - - box = XtVaCreateWidget("video", formWidgetClass, tree, - XtNtreeParent, node->treeParent, NULL); - node->node = box; - - if (!addnew) { - char *str; - TreeNode *port; - XF86ConfVideoAdaptorPtr video = node->data->video.video; - - command = XtCreateManagedWidget("remove", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, DestroyCallback, (XtPointer)node); - command = XtCreateManagedWidget("options", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, OptionsCallback, - (XtPointer)&(video->va_option_lst)); - label = XtVaCreateManagedWidget("adaptor", labelWidgetClass, box, - XtNlabel, video->va_identifier, - NULL); - - XtCreateManagedWidget("vendorL", labelWidgetClass, box, NULL, 0); - str = video->va_vendor ? video->va_vendor : ""; - node->data->video.vendor = - XtVaCreateManagedWidget("vendor", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, str, - NULL); - - XtCreateManagedWidget("boardL", labelWidgetClass, box, NULL, 0); - str = video->va_board ? video->va_board : ""; - node->data->video.board = - XtVaCreateManagedWidget("board", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, str, - NULL); - - XtCreateManagedWidget("busidL", labelWidgetClass, box, NULL, 0); - str = video->va_busid ? video->va_busid : ""; - node->data->video.busid = - XtVaCreateManagedWidget("busid", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, str, - NULL); - - XtCreateManagedWidget("driverL", labelWidgetClass, box, NULL, 0); - str = video->va_driver ? video->va_driver : ""; - node->data->video.driver = - XtVaCreateManagedWidget("driver", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, str, - NULL); - - label = XtVaCreateManagedWidget("VideoPort", toggleWidgetClass, tree, - XtNstate, True, - XtNtreeParent, box, - NULL); - port = NewNode(node, label, label, node->node, NULL); - node->child = port; - CreateVideoPort(port, video->va_port_lst); - } - else { - command = XtCreateManagedWidget("new", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, NewVideoAdaptorCallback, - (XtPointer)node); - label = XtVaCreateManagedWidget("value", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - NULL); - node->data->video.text = label; - } - if (XtIsRealized(node->treeParent)) - XtRealizeWidget(box); - XtManageChild(box); -} - -/*ARGUSED*/ -static void -VideoAdaptorDestroy(TreeNode *node) -{ - if (node->data->video.video) { - int i; - TreeNode *scrn = screenTree->child; - - /* last one is the "new" entry */ - while (scrn && scrn->next) { - /* VideoAdator is the first entry */ - TreeNode *ad = scrn->child->child; - CompositeWidget composite; - - while (ad && ad->next) { - TreeNode *next = ad->next; - - if (ad && strcmp(ad->data->adaptorlink.adaptorlink->al_adaptor_str, - node->data->video.video->va_identifier) == 0) - DeleteNode(ad); - ad = next; - } - composite = (CompositeWidget)ad->data->adaptorlink.menu; - - for (i = 0; i < composite->composite.num_children; ++i) - if (strcmp(XtName(composite->composite.children[i]), - node->data->video.video->va_identifier) == 0) - XtDestroyWidget(composite->composite.children[i]); - - scrn = scrn->next; - } - - xf86removeVideoAdaptor(XF86Config, node->data->video.video); - } -} - -/*ARGSUSED*/ -static void -NewVideoAdaptorCallback(Widget unused, XtPointer user_data, XtPointer call_data) -{ - TreeNode *parent, *node = (TreeNode*)user_data; - XF86ConfVideoAdaptorPtr video; - Arg args[1]; - char *label; - - XtSetArg(args[0], XtNstring, &label); - XtGetValues(node->data->video.text, args, 1); - if (*label == '\0') - return; - - parent = node->parent; - DeleteNode(node); - video = (XF86ConfVideoAdaptorPtr) - XtCalloc(1, sizeof(XF86ConfVideoAdaptorRec)); - video->va_identifier = XtNewString(label); - XF86Config->conf_videoadaptor_lst = - xf86addVideoAdaptor(XF86Config->conf_videoadaptor_lst, video); - - { - TreeNode *scrn = screenTree->child; - Widget sme; - - /* last one is the "new" entry */ - while (scrn && scrn->next) { - /* VideoAdaptor is the first entry */ - TreeNode *ad = scrn->child->child; - - while (ad && ad->next) - ad = ad->next; - - sme = XtCreateManagedWidget(video->va_identifier, - smeBSBObjectClass, - ad->data->adaptorlink.menu, NULL, 0); - XtAddCallback(sme, XtNcallback, NewScreenAdaptorCallback, - (XtPointer)ad); - - scrn = scrn->next; - } - } - - CreateVideoAdaptor(parent, video); - RelayoutTree(); -} - -static void -VideoAdaptorUpdate(TreeNode *node) -{ - char *str; - - /* vendor */ - XtVaGetValues(node->data->video.vendor, XtNstring, &str, NULL); - XtFree(node->data->video.video->va_vendor); - if (*str) - node->data->video.video->va_vendor = XtNewString(str); - else - node->data->video.video->va_vendor = NULL; - - /* board */ - XtVaGetValues(node->data->video.board, XtNstring, &str, NULL); - XtFree(node->data->video.video->va_board); - if (*str) - node->data->video.video->va_board = XtNewString(str); - else - node->data->video.video->va_board = NULL; - - /* busid */ - XtVaGetValues(node->data->video.busid, XtNstring, &str, NULL); - XtFree(node->data->video.video->va_busid); - if (*str) - node->data->video.video->va_busid = XtNewString(str); - else - node->data->video.video->va_busid = NULL; - - /* driver */ - XtVaGetValues(node->data->video.driver, XtNstring, &str, NULL); - XtFree(node->data->video.video->va_driver); - if (*str) - node->data->video.video->va_driver = XtNewString(str); - else - node->data->video.video->va_driver = NULL; -} - -static void -CreateVideoPort(TreeNode *parent, XF86ConfVideoPortPtr port) -{ - TreeNode *prev, *node; - TreeData *data; - - if ((prev = parent->child) != NULL) - while (prev->next) - prev = prev->next; - - while (port) { - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - data->port.port = port; - node = NewNode(parent, NULL, NULL, parent->node, data); - node->destroy = VideoPortDestroy; - CreateVideoPortField(node, False); - if (parent->child == NULL) - parent->child = node; - else - prev->next = node; - prev = node; - port = (XF86ConfVideoPortPtr)(port->list.next); - } - - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - node = NewNode(parent, NULL, NULL, parent->node, data); - CreateVideoPortField(node, True); - if (parent->child == NULL) - parent->child = node; - else - prev->next = node; -} - -static void -CreateVideoPortField(TreeNode *node, Bool addnew) -{ - Widget box, command, label; - - box = XtVaCreateWidget("port", formWidgetClass, tree, - XtNtreeParent, node->treeParent, NULL); - node->node = box; - - if (!addnew) { - XF86OptionPtr *options; - XF86ConfVideoPortPtr port = node->data->port.port; - - options = &(port->vp_option_lst); - command = XtCreateManagedWidget("remove", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, DestroyCallback, (XtPointer)node); - command = XtCreateManagedWidget("options", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, OptionsCallback, (XtPointer)options); - label = XtVaCreateManagedWidget("label", labelWidgetClass, box, - XtNlabel, port->vp_identifier, NULL); - } - else { - command = XtCreateManagedWidget("new", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, NewVideoPortCallback, (XtPointer)node); - label = XtVaCreateManagedWidget("value", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - NULL); - node->data->port.text = label; - } - if (XtIsRealized(node->treeParent)) - XtRealizeWidget(box); - XtManageChild(box); -} - -/*ARGUSED*/ -static void -VideoPortDestroy(TreeNode *node) -{ - if (node->data->port.port) - xf86removeVideoPort(node->parent->parent->data->video.video, - node->data->port.port); -} - -/*ARGSUSED*/ -static void -NewVideoPortCallback(Widget unused, XtPointer user_data, XtPointer call_data) -{ - TreeNode *video, *node = (TreeNode*)user_data; - XF86ConfVideoPortPtr port; - Arg args[1]; - char *label; - - XtSetArg(args[0], XtNstring, &label); - XtGetValues(node->data->port.text, args, 1); - if (*label == '\0') - return; - - video = node->parent->parent; - DeleteNode(node); - port = (XF86ConfVideoPortPtr)XtCalloc(1, sizeof(XF86ConfVideoPortRec)); - port->vp_identifier = XtNewString(label); - video->data->video.video->va_port_lst = - xf86addVideoPort(video->data->video.video->va_port_lst, port); - - CreateVideoPort(video, port); - RelayoutTree(); -} - -/* Monitor */ -static void -CreateMonitor(TreeNode *parent, XF86ConfMonitorPtr mon) -{ - TreeNode *prev, *node; - TreeData *data; - - if ((prev = parent->child) != NULL) - while (prev->next) - prev = prev->next; - - while (mon) { - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - data->monitor.monitor = mon; - node = NewNode(parent, NULL, NULL, parent->node, data); - node->destroy = MonitorDestroy; - node->update = MonitorUpdate; - CreateMonitorField(node, False); - if (parent->child == NULL) - parent->child = node; - else - prev->next = node; - prev = node; - mon = (XF86ConfMonitorPtr)(mon->list.next); - } - - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - node = NewNode(parent, NULL, NULL, parent->node, data); - CreateMonitorField(node, True); - if (parent->child == NULL) - parent->child = node; - else - prev->next = node; -} - -static void -CreateMonitorField(TreeNode *node, Bool addnew) -{ - Widget box, command, label; - - box = XtVaCreateWidget("monitor", formWidgetClass, tree, - XtNtreeParent, node->treeParent, NULL); - node->node = box; - - if (!addnew) { - char *str, buf[256]; - XF86OptionPtr *options; - XF86ConfMonitorPtr mon = node->data->monitor.monitor; - Widget useModes; - TreeNode *modeline, *modes, *prev; - - options = &(mon->mon_option_lst); - command = XtCreateManagedWidget("remove", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, DestroyCallback, (XtPointer)node); - command = XtCreateManagedWidget("options", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, OptionsCallback, (XtPointer)options); - label = XtVaCreateManagedWidget("label", labelWidgetClass, box, - XtNlabel, mon->mon_identifier, NULL); - - XtCreateManagedWidget("vendorL", labelWidgetClass, box, NULL, 0); - str = mon->mon_vendor ? mon->mon_vendor : ""; - node->data->monitor.vendor = - XtVaCreateManagedWidget("vendor", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, str, - NULL); - - XtCreateManagedWidget("modelnameL", labelWidgetClass, box, NULL, 0); - str = mon->mon_modelname ? mon->mon_modelname : ""; - node->data->monitor.model = - XtVaCreateManagedWidget("modelname", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, str, - NULL); - - XtCreateManagedWidget("widthL", labelWidgetClass, box, NULL, 0); - if (mon->mon_width) - XmuSnprintf(buf, sizeof(buf), "%d", mon->mon_width); - else - *buf = '\0'; - node->data->monitor.width = - XtVaCreateManagedWidget("width", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, buf, - NULL); - - XtCreateManagedWidget("heightL", labelWidgetClass, box, NULL, 0); - if (mon->mon_height) - XmuSnprintf(buf, sizeof(buf), "%d", mon->mon_height); - else - *buf = '\0'; - node->data->monitor.height = - XtVaCreateManagedWidget("height", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, buf, - NULL); - - XtCreateManagedWidget("hsyncL", labelWidgetClass, box, NULL, 0); - if (mon->mon_n_hsync > 0) - parser_range_to_string(buf, &(mon->mon_hsync[0]), - mon->mon_n_hsync); - else - *buf = '\0'; - node->data->monitor.hsync = - XtVaCreateManagedWidget("hsync", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, buf, - NULL); - - XtCreateManagedWidget("vrefreshL", labelWidgetClass, box, NULL, 0); - if (mon->mon_n_vrefresh > 0) - parser_range_to_string(buf, &(mon->mon_vrefresh[0]), - mon->mon_n_vrefresh); - else - *buf = '\0'; - node->data->monitor.vrefresh = - XtVaCreateManagedWidget("vrefresh", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, buf, - NULL); - - XtCreateManagedWidget("gammaRedL", labelWidgetClass, box, NULL, 0); - if (mon->mon_gamma_red) - XmuSnprintf(buf, sizeof(buf), "%g", mon->mon_gamma_red); - else - *buf = '\0'; - node->data->monitor.gammaRed = - XtVaCreateManagedWidget("gammaRed", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, buf, - NULL); - - XtCreateManagedWidget("gammaGreenL", labelWidgetClass, box, NULL, 0); - if (mon->mon_gamma_green) - XmuSnprintf(buf, sizeof(buf), "%g", mon->mon_gamma_green); - else - *buf = '\0'; - node->data->monitor.gammaGreen = - XtVaCreateManagedWidget("gammaGreen", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, buf, - NULL); - - XtCreateManagedWidget("gammaBlueL", labelWidgetClass, box, NULL, 0); - if (mon->mon_gamma_blue) - XmuSnprintf(buf, sizeof(buf), "%g", mon->mon_gamma_blue); - else - *buf = '\0'; - node->data->monitor.gammaBlue = - XtVaCreateManagedWidget("gammaBlue", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, buf, - NULL); - - if ((prev = node->child) != NULL) - while (prev->next) - prev = prev->next; - command = XtVaCreateManagedWidget("ModeLine", toggleWidgetClass, tree, - XtNstate, True, - XtNtreeParent, box, NULL); - modeline = NewNode(node, command, command, node->node, NULL); - CreateMonitorModeLine(modeline, - node->data->monitor.monitor->mon_modeline_lst); - if (prev == NULL) - prev = node->child = modeline; - else { - prev->next = modeline; - prev = prev->next; - } - - useModes = XtVaCreateManagedWidget("UseModes", toggleWidgetClass, tree, - XtNstate, True, - XtNtreeParent, box, NULL); - prev->next = modes = NewNode(node, useModes, useModes, node->node, NULL); - CreateMonitorModes(modes, - node->data->monitor.monitor->mon_modes_sect_lst); - } - else { - command = XtCreateManagedWidget("new", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, NewMonitorCallback, (XtPointer)node); - label = XtVaCreateManagedWidget("value", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - NULL); - node->data->monitor.text = label; - } - if (XtIsRealized(node->treeParent)) - XtRealizeWidget(box); - XtManageChild(box); -} - -static void -MonitorDestroy(TreeNode *node) -{ - int i; - TreeNode *sc = screenTree; - - for (i = 0; i < computer.num_devices; i++) - if ((XF86ConfMonitorPtr)(computer.devices[i]->config) == - node->data->monitor.monitor) { - config = computer.devices[i]->widget; - RemoveDeviceCallback(NULL, NULL, NULL); - } - - if (sc) { - TreeNode *prev; - - sc = prev = sc->child; - while (sc->next) { - TreeNode *next = sc->next; - - if (sc->data->screen.screen->scrn_monitor == - node->data->monitor.monitor) { - XtDestroyWidget(sc->node); - - if (sc->child) - DestroyTree(sc->child); - if (sc->data) - XtFree((XtPointer)sc->data); - XtFree((XtPointer)sc); - - if (sc == screenTree->child) - sc = prev = next = screenTree->child = next; - else - prev->next = sc = next; - continue; - } - prev = sc; - sc = next; - } - } -} - -static void -NewMonitorCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - TreeNode *parent, *node = (TreeNode*)user_data; - XF86ConfMonitorPtr mon; - Arg args[1]; - char *label; - - XtSetArg(args[0], XtNstring, &label); - XtGetValues(node->data->monitor.text, args, 1); - if (*label == '\0') - return; - - parent = node->parent; - DeleteNode(node); - mon = (XF86ConfMonitorPtr)XtCalloc(1, sizeof(XF86ConfMonitorRec)); - mon->mon_identifier = XtNewString(label); - XF86Config->conf_monitor_lst = - xf86addMonitor(XF86Config->conf_monitor_lst, mon); - - CreateMonitor(parent, mon); - - RelayoutTree(); -} - -static void -MonitorUpdate(TreeNode *node) -{ - char *str; - - /* vendor */ - XtVaGetValues(node->data->monitor.vendor, XtNstring, &str, NULL); - XtFree(node->data->monitor.monitor->mon_vendor); - if (*str) - node->data->monitor.monitor->mon_vendor = XtNewString(str); - else - node->data->monitor.monitor->mon_vendor = NULL; - - /* model */ - XtVaGetValues(node->data->monitor.model, XtNstring, &str, NULL); - XtFree(node->data->monitor.monitor->mon_modelname); - if (*str) - node->data->monitor.monitor->mon_modelname = XtNewString(str); - else - node->data->monitor.monitor->mon_modelname = NULL; - - /* width */ - XtVaGetValues(node->data->monitor.width, XtNstring, &str, NULL); - node->data->monitor.monitor->mon_width = strtoul(str, NULL, 0); - - /* height */ - XtVaGetValues(node->data->monitor.height, XtNstring, &str, NULL); - node->data->monitor.monitor->mon_height = strtoul(str, NULL, 0); - - /* hsync */ - XtVaGetValues(node->data->monitor.hsync, XtNstring, &str, NULL); - node->data->monitor.monitor->mon_n_hsync = - string_to_parser_range(str, - &(node->data->monitor.monitor->mon_hsync[0]), - CONF_MAX_HSYNC); - - /* vrefresh */ - XtVaGetValues(node->data->monitor.vrefresh, XtNstring, &str, NULL); - node->data->monitor.monitor->mon_n_vrefresh = - string_to_parser_range(str, - &(node->data->monitor.monitor->mon_vrefresh[0]), - CONF_MAX_VREFRESH); - - /* gammaRed */ - XtVaGetValues(node->data->monitor.gammaRed, XtNstring, &str, NULL); - node->data->monitor.monitor->mon_gamma_red = strtod(str, NULL); - - /* gammaGreen */ - XtVaGetValues(node->data->monitor.gammaGreen, XtNstring, &str, NULL); - node->data->monitor.monitor->mon_gamma_green = strtod(str, NULL); - - /* gammaBlue */ - XtVaGetValues(node->data->monitor.gammaBlue, XtNstring, &str, NULL); - node->data->monitor.monitor->mon_gamma_blue = strtod(str, NULL); -} - -static void -CreateMonitorModeLine(TreeNode *parent, XF86ConfModeLinePtr modeline) -{ - TreeNode *node, *prev; - TreeData *data; - - if ((prev = parent->child) != NULL) - while (prev->next) - prev = prev->next; - - while (modeline) { - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - data->modeline.modeline = modeline; - node = NewNode(parent, NULL, NULL, parent->node, data); - node->destroy = MonitorModeLineDestroy; - CreateModeLineField(node, False, True); - if (parent->child == NULL) - parent->child = node; - else - prev->next = node; - prev = node; - modeline = (XF86ConfModeLinePtr)(modeline->list.next); - } - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - node = NewNode(parent, NULL, NULL, parent->node, data); - if (parent->child == NULL) - parent->child = node; - else - prev->next = node; - prev = node; - CreateModeLineField(node, True, True); -} - -/*ARGUSED*/ -static void -MonitorModeLineDestroy(TreeNode *node) -{ - if (node->data->modeline.modeline) - xf86removeMonitorModeLine(node->parent->parent->data->monitor.monitor, - node->data->modeline.modeline); -} - -/*ARGSUSED*/ -static void -NewMonitorModeLineCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - TreeNode *parent, *node = (TreeNode*)user_data; - XF86ConfModeLinePtr modeline; - Arg args[1]; - char *ident, *value; - - XtSetArg(args[0], XtNstring, &ident); - XtGetValues(node->data->modeline.text, args, 1); - XtSetArg(args[0], XtNstring, &value); - XtGetValues(node->data->modeline.value, args, 1); - if (*ident == '\0' || *value == '\0') - return; - - parent = node->parent; - DeleteNode(node); - modeline = ParseModeLine(ident, value); - parent->parent->data->monitor.monitor->mon_modeline_lst = - xf86addModeLine(parent->parent->data->monitor.monitor->mon_modeline_lst, - modeline); - - CreateMonitorModeLine(parent, modeline); - RelayoutTree(); -} - -static void -CreateMonitorModes(TreeNode *parent, XF86ConfModesLinkPtr lnk) -{ - TreeNode *node, *prev; - TreeData *data; - - if ((prev = parent->child) != NULL) - while (prev->next) - prev = prev->next; - - while (lnk) { - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - data->modeslink.modeslink = lnk; - node = NewNode(parent, NULL, NULL, parent->node, data); - node->destroy = MonitorModesLinkDestroy; - CreateMonitorModesField(node, False); - if (parent->child == NULL) - parent->child = node; - else - prev->next = node; - prev = node; - lnk = (XF86ConfModesLinkPtr)(lnk->list.next); - } - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - node = NewNode(parent, NULL, NULL, parent->node, data); - if (parent->child == NULL) - parent->child = node; - else - prev->next = node; - prev = node; - CreateMonitorModesField(node, True); -} - -static void -CreateMonitorModesField(TreeNode *node, Bool addnew) -{ - Widget box, command; - - box = XtVaCreateWidget("modes", formWidgetClass, tree, - XtNtreeParent, node->treeParent, NULL); - node->node = box; - - if (!addnew) { - XF86ConfModesLinkPtr lnk = node->data->modeslink.modeslink; - - command = XtCreateManagedWidget("remove", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, DestroyCallback, (XtPointer)node); - (void) XtVaCreateManagedWidget("mode", labelWidgetClass, box, - XtNlabel, lnk->ml_modes_str, NULL); - } - else { - Widget sme; - XF86ConfModesPtr ptr = XF86Config->conf_modes_lst; - - command = XtVaCreateManagedWidget("new", menuButtonWidgetClass, box, - XtNmenuName, "modesMenu", NULL); - node->data->modeslink.menu = - XtVaCreatePopupShell("modesMenu", simpleMenuWidgetClass, box, - XtNleftMargin, 1, XtNrightMargin, 1, - XtNtopMargin, 1, XtNbottomMargin, 1, - NULL); - while (ptr) { - sme = XtCreateManagedWidget(ptr->modes_identifier, smeBSBObjectClass, - node->data->modeslink.menu, NULL, 0); - XtAddCallback(sme, XtNcallback, NewMonitorModesCallback, - (XtPointer)node); - ptr = (XF86ConfModesPtr)(ptr->list.next); - } - } - if (XtIsRealized(node->treeParent)) - XtRealizeWidget(box); - XtManageChild(box); -} - -/*ARGUSED*/ -static void -MonitorModesLinkDestroy(TreeNode *node) -{ - if (node->data->modeslink.modeslink) - xf86removeMonitorModesLink(node->parent->parent->data->monitor.monitor, - node->data->modeslink.modeslink); -} - -/*ARGSUSED*/ -static void -NewMonitorModesCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - TreeNode *parent, *node = (TreeNode*)user_data; - XF86ConfModesLinkPtr link; - char *ident = XtName(w); - - parent = node->parent; - DeleteNode(node); - link = (XF86ConfModesLinkPtr)XtCalloc(1, sizeof(XF86ConfModesLinkRec)); - link->ml_modes_str = XtNewString(ident); - parent->parent->data->monitor.monitor->mon_modes_sect_lst = - xf86addModesLink(parent->parent->data->monitor.monitor->mon_modes_sect_lst, - link); - - CreateMonitorModes(parent, link); - RelayoutTree(); -} - -/* Device */ -static void -CreateDevice(TreeNode *parent, XF86ConfDevicePtr dev) -{ - TreeNode *prev, *node; - TreeData *data; - - if ((prev = parent->child) != NULL) - while (prev->next) - prev = prev->next; - - while (dev) { - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - data->device.device = dev; - node = NewNode(parent, NULL, NULL, parent->node, data); - node->destroy = DeviceDestroy; - node->update = DeviceUpdate; - CreateDeviceField(node, False); - if (parent->child == NULL) - parent->child = node; - else - prev->next = node; - prev = node; - dev = (XF86ConfDevicePtr)(dev->list.next); - } - - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - node = NewNode(parent, NULL, NULL, parent->node, data); - CreateDeviceField(node, True); - if (parent->child == NULL) - parent->child = node; - else - prev->next = node; -} - -static void -CreateDeviceField(TreeNode *node, Bool addnew) -{ - Widget box, command, label; - - box = XtVaCreateWidget("device", formWidgetClass, tree, - XtNtreeParent, node->treeParent, NULL); - node->node = box; - - if (!addnew) { - int i, tmp, len; - char buf[1024], *str; - XF86OptionPtr *options; - XF86ConfDevicePtr dev = node->data->device.device; - - options = &(dev->dev_option_lst); - command = XtCreateManagedWidget("remove", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, DestroyCallback, (XtPointer)node); - command = XtCreateManagedWidget("options", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, OptionsCallback, (XtPointer)options); - label = XtVaCreateManagedWidget("label", labelWidgetClass, box, - XtNlabel, dev->dev_identifier, NULL); - - XtCreateManagedWidget("vendorL", labelWidgetClass, box, NULL, 0); - str = dev->dev_vendor ? dev->dev_vendor : ""; - node->data->device.vendor = - XtVaCreateManagedWidget("vendor", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, str, - NULL); - - XtCreateManagedWidget("boardL", labelWidgetClass, box, NULL, 0); - str = dev->dev_board ? dev->dev_board : ""; - node->data->device.board = - XtVaCreateManagedWidget("board", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, str, - NULL); - - XtCreateManagedWidget("chipsetL", labelWidgetClass, box, NULL, 0); - str = dev->dev_chipset ? dev->dev_chipset : ""; - node->data->device.chipset = - XtVaCreateManagedWidget("chipset", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, str, - NULL); - - XtCreateManagedWidget("busidL", labelWidgetClass, box, NULL, 0); - str = dev->dev_busid ? dev->dev_busid : ""; - node->data->device.busid = - XtVaCreateManagedWidget("busid", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, str, - NULL); - - XtCreateManagedWidget("cardL", labelWidgetClass, box, NULL, 0); - str = dev->dev_card ? dev->dev_card : ""; - node->data->device.card = - XtVaCreateManagedWidget("card", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, str, - NULL); - - XtCreateManagedWidget("driverL", labelWidgetClass, box, NULL, 0); - str = dev->dev_driver ? dev->dev_driver : ""; - node->data->device.driver = - XtVaCreateManagedWidget("driver", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, str, - NULL); - - XtCreateManagedWidget("ramdacL", labelWidgetClass, box, NULL, 0); - str = dev->dev_ramdac ? dev->dev_ramdac : ""; - node->data->device.ramdac = - XtVaCreateManagedWidget("ramdac", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, str, - NULL); - - XtCreateManagedWidget("dacSpeedL", labelWidgetClass, box, NULL, 0); - if (dev->dev_dacSpeeds[0] > 0) { - for (i = len = 0; i < CONF_MAXDACSPEEDS && - dev->dev_dacSpeeds[i] > 0; i++) { - tmp = XmuSnprintf(buf + len, sizeof(buf) - len, "%g ", - dev->dev_dacSpeeds[i] / 1000.); - len += tmp; - } - } - else - *buf = '\0'; - node->data->device.dacSpeed = - XtVaCreateManagedWidget("dacSpeed", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, buf, - NULL); - - XtCreateManagedWidget("videoRamL", labelWidgetClass, box, NULL, 0); - if (dev->dev_videoram) - XmuSnprintf(buf, sizeof(buf), "%d", dev->dev_videoram); - else - *buf = '\0'; - node->data->device.videoRam = - XtVaCreateManagedWidget("videoRam", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, buf, - NULL); - - XtCreateManagedWidget("textClockFreqL", labelWidgetClass, box, NULL, 0); - if (dev->dev_textclockfreq) - XmuSnprintf(buf, sizeof(buf), "%.1f", - (double)dev->dev_textclockfreq / 1000.0); - else - *buf = '\0'; - node->data->device.textClockFreq = - XtVaCreateManagedWidget("textClockFreq", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, buf, - NULL); - - XtCreateManagedWidget("biosBaseL", labelWidgetClass, box, NULL, 0); - if (dev->dev_bios_base) - XmuSnprintf(buf, sizeof(buf), "0x%lx", dev->dev_bios_base); - else - *buf = '\0'; - node->data->device.biosBase = - XtVaCreateManagedWidget("biosBase", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, buf, - NULL); - - XtCreateManagedWidget("memBaseL", labelWidgetClass, box, NULL, 0); - if (dev->dev_mem_base) - XmuSnprintf(buf, sizeof(buf), "0x%lx", dev->dev_mem_base); - else - *buf = '\0'; - node->data->device.memBase = - XtVaCreateManagedWidget("memBase", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, buf, - NULL); - - XtCreateManagedWidget("ioBaseL", labelWidgetClass, box, NULL, 0); - if (dev->dev_io_base) - XmuSnprintf(buf, sizeof(buf), "0x%lx", dev->dev_io_base); - else - *buf = '\0'; - node->data->device.ioBase = - XtVaCreateManagedWidget("ioBase", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, buf, - NULL); - - XtCreateManagedWidget("clockChipL", labelWidgetClass, box, NULL, 0); - str = dev->dev_clockchip ? dev->dev_clockchip : ""; - node->data->device.clockChip = - XtVaCreateManagedWidget("clockChip", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, str, - NULL); - - *buf = '\0'; - for (i = len = 0; i < dev->dev_clocks; i++) { - tmp = XmuSnprintf(buf + len, sizeof(buf) - len, "%.1f ", - (double)dev->dev_clock[i] / 1000.0); - len += tmp; - } - XtCreateManagedWidget("devClockL", labelWidgetClass, box, NULL, 0); - node->data->device.devClock = - XtVaCreateManagedWidget("devClock", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, buf, - NULL); - - XtCreateManagedWidget("chipIdL", labelWidgetClass, box, NULL, 0); - if (dev->dev_chipid != -1) - XmuSnprintf(buf, sizeof(buf), "0x%x", dev->dev_chipid); - else - *buf = '\0'; - node->data->device.chipId = - XtVaCreateManagedWidget("chipId", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, buf, - NULL); - - XtCreateManagedWidget("chipRevL", labelWidgetClass, box, NULL, 0); - if (dev->dev_chiprev != -1) - XmuSnprintf(buf, sizeof(buf), "0x%x", dev->dev_chiprev); - else - *buf = '\0'; - node->data->device.chipRev = - XtVaCreateManagedWidget("chipRev", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, buf, - NULL); - - XtCreateManagedWidget("irqL", labelWidgetClass, box, NULL, 0); - if (dev->dev_irq != -1) - XmuSnprintf(buf, sizeof(buf), "%d", dev->dev_irq); - else - *buf = '\0'; - node->data->device.irq = - XtVaCreateManagedWidget("irq", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, buf, - NULL); - - XtCreateManagedWidget("screenL", labelWidgetClass, box, NULL, 0); - if (dev->dev_screen > 0) - XmuSnprintf(buf, sizeof(buf), "%d", dev->dev_screen); - else - *buf = '\0'; - node->data->device.screen = - XtVaCreateManagedWidget("screen", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, buf, - NULL); - } - else { - command = XtCreateManagedWidget("new", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, NewDeviceCallback, (XtPointer)node); - label = XtVaCreateManagedWidget("value", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - NULL); - node->data->device.text = label; - } - if (XtIsRealized(node->treeParent)) - XtRealizeWidget(box); - XtManageChild(box); -} - -static void -NewDeviceCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - TreeNode *parent, *node = (TreeNode*)user_data; - XF86ConfDevicePtr dev; - Arg args[1]; - char *label; - - XtSetArg(args[0], XtNstring, &label); - XtGetValues(node->data->device.text, args, 1); - if (*label == '\0') - return; - - parent = node->parent; - DeleteNode(node); - dev = (XF86ConfDevicePtr)XtCalloc(1, sizeof(XF86ConfDeviceRec)); - dev->dev_identifier = XtNewString(label); - dev->dev_chipid = -1; - dev->dev_chiprev = -1; - dev->dev_irq = -1; - - XF86Config->conf_device_lst = - xf86addDevice(XF86Config->conf_device_lst, dev); - - CreateDevice(parent, dev); - - RelayoutTree(); -} - -static void -DeviceDestroy(TreeNode *node) -{ - int i; - TreeNode *sc = screenTree; - - for (i = 0; i < computer.num_devices; i++) - if ((XF86ConfDevicePtr)(computer.devices[i]->config) == - node->data->device.device) { - config = computer.devices[i]->widget; - RemoveDeviceCallback(NULL, NULL, NULL); - } - - if (sc) { - TreeNode *prev; - - sc = prev = sc->child; - while (sc->next) { - TreeNode *next = sc->next; - - if (sc->data->screen.screen->scrn_monitor == - node->data->monitor.monitor) { - XtDestroyWidget(sc->node); - - if (sc->child) - DestroyTree(sc->child); - if (sc->data) - XtFree((XtPointer)sc->data); - XtFree((XtPointer)sc); - - if (sc == screenTree->child) - sc = prev = next = screenTree->child = next; - else - prev->next = sc = next; - continue; - } - prev = sc; - sc = next; - } - } -} - -static void -DeviceUpdate(TreeNode *node) -{ - int i; - char *str, *tmp; - - /* vendor */ - XtVaGetValues(node->data->device.vendor, XtNstring, &str, NULL); - XtFree(node->data->device.device->dev_vendor); - if (*str) - node->data->device.device->dev_vendor = XtNewString(str); - else - node->data->device.device->dev_vendor = NULL; - - /* board */ - XtVaGetValues(node->data->device.board, XtNstring, &str, NULL); - XtFree(node->data->device.device->dev_board); - if (*str) - node->data->device.device->dev_board = XtNewString(str); - else - node->data->device.device->dev_board = NULL; - - /* chipset */ - XtVaGetValues(node->data->device.chipset, XtNstring, &str, NULL); - XtFree(node->data->device.device->dev_chipset); - if (*str) - node->data->device.device->dev_chipset = XtNewString(str); - else - node->data->device.device->dev_chipset = NULL; - - /* busid */ - XtVaGetValues(node->data->device.busid, XtNstring, &str, NULL); - XtFree(node->data->device.device->dev_busid); - if (*str) - node->data->device.device->dev_busid = XtNewString(str); - else - node->data->device.device->dev_busid = NULL; - - /* card */ - XtVaGetValues(node->data->device.card, XtNstring, &str, NULL); - XtFree(node->data->device.device->dev_card); - if (*str) - node->data->device.device->dev_card = XtNewString(str); - else - node->data->device.device->dev_card = NULL; - - /* driver */ - XtVaGetValues(node->data->device.driver, XtNstring, &str, NULL); - XtFree(node->data->device.device->dev_driver); - if (*str) - node->data->device.device->dev_driver = XtNewString(str); - else - node->data->device.device->dev_driver = NULL; - - /* ramdac */ - XtVaGetValues(node->data->device.ramdac, XtNstring, &str, NULL); - XtFree(node->data->device.device->dev_ramdac); - if (*str) - node->data->device.device->dev_ramdac = XtNewString(str); - else - node->data->device.device->dev_ramdac = NULL; - - /* dacSpeed */ - tmp = NULL; - XtVaGetValues(node->data->device.dacSpeed, XtNstring, &str, NULL); - for (i = 0; i < CONF_MAXDACSPEEDS && str != tmp; i++) { - if ((node->data->device.device->dev_dacSpeeds[i] = - (strtod(str, &tmp) * 1000. + .5)) == 0) - break; - str = tmp; - while (isspace(*str)) - ++str; - } - - /* videoRam */ - XtVaGetValues(node->data->device.videoRam, XtNstring, &str, NULL); - node->data->device.device->dev_videoram = strtoul(str, NULL, 0); - - /* textClockFreq */ - XtVaGetValues(node->data->device.textClockFreq, XtNstring, &str, NULL); - node->data->device.device->dev_textclockfreq = - strtod(str, NULL) * 1000. + .5; - - /* biosBase */ - XtVaGetValues(node->data->device.biosBase, XtNstring, &str, NULL); - node->data->device.device->dev_bios_base = strtoul(str, NULL, 0); - - /* memBase */ - XtVaGetValues(node->data->device.memBase, XtNstring, &str, NULL); - node->data->device.device->dev_mem_base = strtoul(str, NULL, 0); - - /* ioBase */ - XtVaGetValues(node->data->device.ioBase, XtNstring, &str, NULL); - node->data->device.device->dev_io_base = strtoul(str, NULL, 0); - - /* clockChip */ - XtVaGetValues(node->data->device.clockChip, XtNstring, &str, NULL); - XtFree(node->data->device.device->dev_clockchip); - if (*str) - node->data->device.device->dev_clockchip = XtNewString(str); - else - node->data->device.device->dev_clockchip = NULL; - - /* devSpeed */ - tmp = NULL; - XtVaGetValues(node->data->device.devClock, XtNstring, &str, NULL); - for (i = 0; i < CONF_MAXCLOCKS && str != tmp; i++) { - if ((node->data->device.device->dev_clock[i] = - (strtod(str, &tmp) * 1000. + .5)) == 0) - break; - str = tmp; - while (isspace(*str)) - ++str; - } - node->data->device.device->dev_clocks = i; - - /* chipId */ - XtVaGetValues(node->data->device.chipId, XtNstring, &str, NULL); - if (*str) - node->data->device.device->dev_chipid = strtoul(str, NULL, 0); - else - node->data->device.device->dev_chipid = -1; - - /* chipRev */ - XtVaGetValues(node->data->device.chipRev, XtNstring, &str, NULL); - if (*str) - node->data->device.device->dev_chiprev = strtoul(str, NULL, 0); - else - node->data->device.device->dev_chiprev = -1; - - /* irq */ - XtVaGetValues(node->data->device.irq, XtNstring, &str, NULL); - if (*str) - node->data->device.device->dev_irq = strtoul(str, NULL, 0); - else - node->data->device.device->dev_irq = -1; - - /* screen */ - XtVaGetValues(node->data->device.screen, XtNstring, &str, NULL); - if (*str) - node->data->device.device->dev_screen = strtoul(str, NULL, 0); - else - node->data->device.device->dev_screen = -1; -} - -/* Screen */ -static void -CreateScreen(TreeNode *parent, XF86ConfScreenPtr scrn) -{ - TreeNode *prev, *node; - TreeData *data; - - if ((prev = parent->child) != NULL) - while (prev->next) - prev = prev->next; - - while (scrn) { - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - data->screen.screen = scrn; - node = NewNode(parent, NULL, NULL, parent->node, data); - node->destroy = ScreenDestroy; - node->update = ScreenUpdate; - CreateScreenField(node, False); - if (parent->child == NULL) - parent->child = node; - else - prev->next = node; - prev = node; - scrn = (XF86ConfScreenPtr)(scrn->list.next); - } - - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - node = NewNode(parent, NULL, NULL, parent->node, data); - CreateScreenField(node, True); - if (parent->child == NULL) - parent->child = node; - else - prev->next = node; -} - -static void -CreateScreenField(TreeNode *node, Bool addnew) -{ - Widget box, command, label; - - box = XtVaCreateWidget("screen", formWidgetClass, tree, - XtNtreeParent, node->treeParent, NULL); - node->node = box; - - if (!addnew) { - char buf[256], *str; - XF86OptionPtr *options; - TreeNode *adaptor, *display; - XF86ConfScreenPtr scrn = node->data->screen.screen; - - options = &(scrn->scrn_option_lst); - command = XtCreateManagedWidget("remove", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, DestroyCallback, (XtPointer)node); - command = XtCreateManagedWidget("options", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, OptionsCallback, (XtPointer)options); - label = XtVaCreateManagedWidget("label", labelWidgetClass, box, - XtNlabel, scrn->scrn_identifier, NULL); - - XtCreateManagedWidget("defaultDepthL", labelWidgetClass, box, NULL, 0); - if (scrn->scrn_defaultdepth) - XmuSnprintf(buf, sizeof(buf), "%d", scrn->scrn_defaultdepth); - else - *buf = '\0'; - node->data->screen.defaultDepth = - XtVaCreateManagedWidget("defaultDepth", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, buf, - NULL); - - XtCreateManagedWidget("defaultBppL", labelWidgetClass, box, NULL, 0); - if (scrn->scrn_defaultbpp) - XmuSnprintf(buf, sizeof(buf), "%d", scrn->scrn_defaultbpp); - else - *buf = '\0'; - node->data->screen.defaultBpp = - XtVaCreateManagedWidget("defaultBpp", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, buf, - NULL); - - XtCreateManagedWidget("defaultFbBppL", labelWidgetClass, box, NULL, 0); - if (scrn->scrn_defaultfbbpp) - XmuSnprintf(buf, sizeof(buf), "%d", scrn->scrn_defaultfbbpp); - else - *buf = '\0'; - node->data->screen.defaultFbBpp = - XtVaCreateManagedWidget("defaultFbBpp", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, buf, - NULL); - - XtCreateManagedWidget("monitorL", labelWidgetClass, box, NULL, 0); - str = scrn->scrn_monitor_str ? scrn->scrn_monitor_str : ""; - node->data->screen.monitor = - XtVaCreateManagedWidget("monitor", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, str, - NULL); - - XtCreateManagedWidget("deviceL", labelWidgetClass, box, NULL, 0); - str = scrn->scrn_device_str ? scrn->scrn_device_str : ""; - node->data->screen.device = - XtVaCreateManagedWidget("device", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, str, - NULL); - - command = XtVaCreateManagedWidget("videoAdaptor", toggleWidgetClass, - tree, XtNstate, True, - XtNtreeParent, box, NULL); - adaptor = NewNode(node, command, command, node->node, NULL); - CreateScreenAdaptor(adaptor, scrn->scrn_adaptor_lst); - node->child = adaptor; - - command = XtVaCreateManagedWidget("Display", toggleWidgetClass, - tree, XtNstate, True, - XtNtreeParent, box, NULL); - display = NewNode(node, command, command, node->node, NULL); - CreateScreenDisplay(display, scrn->scrn_display_lst); - adaptor->next = display; - } - else { - command = XtCreateManagedWidget("new", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, NewScreenCallback, (XtPointer)node); - label = XtVaCreateManagedWidget("value", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - NULL); - node->data->screen.text = label; - } - if (XtIsRealized(node->treeParent)) - XtRealizeWidget(box); - XtManageChild(box); -} - -static void -NewScreenCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - TreeNode *parent, *node = (TreeNode*)user_data; - XF86ConfScreenPtr scrn; - Arg args[1]; - char *label; - - XtSetArg(args[0], XtNstring, &label); - XtGetValues(node->data->screen.text, args, 1); - if (*label == '\0') - return; - - parent = node->parent; - DeleteNode(node); - scrn = (XF86ConfScreenPtr)XtCalloc(1, sizeof(XF86ConfScreenRec)); - scrn->scrn_identifier = XtNewString(label); - XF86Config->conf_screen_lst = - xf86addScreen(XF86Config->conf_screen_lst, scrn); - - { - TreeNode *lay = layoutTree->child; - Widget sme; - - /* last one is the "new" entry */ - while (lay && lay->next != NULL) { - /* Adjacency is the first entry */ - TreeNode *adj = lay->child->child; - - while (adj != NULL) { - sme = XtCreateManagedWidget(label, smeBSBObjectClass, - adj->data->adjacency.menu, NULL, 0); - XtAddCallback(sme, XtNcallback, adj->next != NULL ? - AdjacencyMenuCallback : NewAdjacencyCallback, - (XtPointer)adj); - adj = adj->next; - } - lay = lay->next; - } - } - - CreateScreen(parent, scrn); - - RelayoutTree(); -} - -static void -ScreenDestroy(TreeNode *node) -{ - if (node->data->screen.screen) { - int i; - TreeNode *lay = layoutTree->child; - - /* last one is the "new" entry */ - while (lay && lay->next) { - /* Adjacency is the first entry */ - TreeNode *adj = lay->child->child; - CompositeWidget composite; - - while (adj) { - TreeNode *next = adj->next; - - composite = (CompositeWidget)adj->data->adjacency.menu; - - for (i = 0; i < composite->composite.num_children; ++i) - if (strcmp(XtName(composite->composite.children[i]), - node->data->screen.screen->scrn_identifier) == 0) { - XtDestroyWidget(composite->composite.children[i]); - break; - } - - if (adj->data->adjacency.screen == node->data->screen.screen) - DeleteNode(adj); - - adj = next; - } - - lay = lay->next; - } - - for (i = 0; i < computer.num_screens; i++) - if (computer.screens[i]->screen == node->data->screen.screen) { - config = computer.screens[i]->widget; - RemoveDeviceCallback(NULL, NULL, NULL); - } - - /* for the case of screens added and removed in the expert dialog */ - xf86removeScreen(XF86Config, node->data->screen.screen); - } -} - -static void -ScreenUpdate(TreeNode *node) -{ - char *str; - - /* defautDepth */ - XtVaGetValues(node->data->screen.defaultDepth, XtNstring, &str, NULL); - node->data->screen.screen->scrn_defaultdepth = strtoul(str, NULL, 0); - - /* defautBpp */ - XtVaGetValues(node->data->screen.defaultBpp, XtNstring, &str, NULL); - node->data->screen.screen->scrn_defaultbpp = strtoul(str, NULL, 0); - - /* defautFbBpp */ - XtVaGetValues(node->data->screen.defaultFbBpp, XtNstring, &str, NULL); - node->data->screen.screen->scrn_defaultfbbpp = strtoul(str, NULL, 0); - - - /* XXX Monitor and Device should be changed to a menu interface */ - /* monitor */ - XtVaGetValues(node->data->screen.monitor, XtNstring, &str, NULL); - XtFree(node->data->screen.screen->scrn_monitor_str); - if (*str) - node->data->screen.screen->scrn_monitor_str = XtNewString(str); - else - node->data->screen.screen->scrn_monitor_str = NULL; - - /* XXX Monitor and Device should be changed to a menu interface */ - /* device */ - XtVaGetValues(node->data->screen.device, XtNstring, &str, NULL); - XtFree(node->data->screen.screen->scrn_device_str); - if (*str) - node->data->screen.screen->scrn_device_str = XtNewString(str); - else - node->data->screen.screen->scrn_device_str = NULL; -} - -static void -CreateScreenAdaptor(TreeNode *parent, XF86ConfAdaptorLinkPtr lnk) -{ - TreeNode *node, *prev; - TreeData *data; - - if ((prev = parent->child) != NULL) - while (prev->next) - prev = prev->next; - - while (lnk) { - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - data->adaptorlink.adaptorlink = lnk; - node = NewNode(parent, NULL, NULL, parent->node, data); - node->destroy = ScreenAdaptorDestroy; - CreateScreenAdaptorField(node, False); - if (parent->child == NULL) - parent->child = node; - else - prev->next = node; - prev = node; - lnk = (XF86ConfAdaptorLinkPtr)(lnk->list.next); - } - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - node = NewNode(parent, NULL, NULL, parent->node, data); - if (parent->child == NULL) - parent->child = node; - else - prev->next = node; - prev = node; - CreateScreenAdaptorField(node, True); -} - -static void -CreateScreenAdaptorField(TreeNode *node, Bool addnew) -{ - Widget box, command; - - box = XtVaCreateWidget("adaptor", formWidgetClass, tree, - XtNtreeParent, node->treeParent, NULL); - node->node = box; - - if (!addnew) { - XF86ConfAdaptorLinkPtr lnk = node->data->adaptorlink.adaptorlink; - - command = XtCreateManagedWidget("remove", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, DestroyCallback, (XtPointer)node); - (void) XtVaCreateManagedWidget("label", labelWidgetClass, box, - XtNlabel, lnk->al_adaptor_str, NULL); - } - else { - Widget sme; - XF86ConfVideoAdaptorPtr ptr = XF86Config->conf_videoadaptor_lst; - - command = XtVaCreateManagedWidget("new", menuButtonWidgetClass, box, - XtNmenuName, "adaptorMenu", NULL); - node->data->adaptorlink.menu = - XtVaCreatePopupShell("adaptorMenu", simpleMenuWidgetClass, box, - XtNleftMargin, 1, XtNrightMargin, 1, - XtNtopMargin, 1, XtNbottomMargin, 1, - NULL); - while (ptr) { - sme = XtCreateManagedWidget(ptr->va_identifier, smeBSBObjectClass, - node->data->adaptorlink.menu, NULL, 0); - XtAddCallback(sme, XtNcallback, NewScreenAdaptorCallback, - (XtPointer)node); - ptr = (XF86ConfVideoAdaptorPtr)(ptr->list.next); - } - } - if (XtIsRealized(node->treeParent)) - XtRealizeWidget(box); - XtManageChild(box); -} - -/*ARGSUSED*/ -static void -NewScreenAdaptorCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - TreeNode *parent, *node = (TreeNode*)user_data; - XF86ConfAdaptorLinkPtr link; - char *ident = XtName(w); - - parent = node->parent; - DeleteNode(node); - link = (XF86ConfAdaptorLinkPtr)XtCalloc(1, sizeof(XF86ConfAdaptorLinkRec)); - link->al_adaptor_str = XtNewString(ident); - parent->parent->data->screen.screen->scrn_adaptor_lst = - xf86addScreenAdaptor(parent->parent->data->screen.screen->scrn_adaptor_lst, - link); - - CreateScreenAdaptor(parent, link); - RelayoutTree(); -} - -/*ARGUSED*/ -static void -ScreenAdaptorDestroy(TreeNode *node) -{ - if (node->data->adaptorlink.adaptorlink) - xf86removeScreenAdaptorLink(node->parent->parent->data->screen.screen, - node->data->adaptorlink.adaptorlink); -} - -static void -CreateScreenDisplay(TreeNode *parent, XF86ConfDisplayPtr dsp) -{ - TreeNode *node, *prev; - TreeData *data; - - if ((prev = parent->child) != NULL) - while (prev->next) - prev = prev->next; - - while (dsp) { - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - data->display.display = dsp; - node = NewNode(parent, NULL, NULL, parent->node, data); - node->destroy = ScreenDisplayDestroy; - node->update = ScreenDisplayUpdate; - CreateScreenDisplayField(node, False); - if (parent->child == NULL) - parent->child = node; - else - prev->next = node; - prev = node; - dsp = (XF86ConfDisplayPtr)(dsp->list.next); - } - node = NewNode(parent, NULL, NULL, parent->node, NULL); - if (parent->child == NULL) - parent->child = node; - else - prev->next = node; - prev = node; - CreateScreenDisplayField(node, True); -} - -static void -CreateScreenDisplayField(TreeNode *node, Bool addnew) -{ - Widget box, command; - - box = XtVaCreateWidget("display", formWidgetClass, tree, - XtNtreeParent, node->treeParent, NULL); - node->node = box; - - if (!addnew) { - char *str, buf[256]; - XF86OptionPtr *options; - XF86ConfDisplayPtr dsp = node->data->display.display; - TreeNode *modes; - - command = XtCreateManagedWidget("remove", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, DestroyCallback, (XtPointer)node); - options = &(dsp->disp_option_lst); - command = XtCreateManagedWidget("options", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, OptionsCallback, (XtPointer)options); - - XtCreateManagedWidget("viewportL", labelWidgetClass, box, NULL, 0); - if (dsp->disp_frameX0 != 0 || dsp->disp_frameY0 != 0) - XmuSnprintf(buf, sizeof(buf), "%d %d", dsp->disp_frameX0, dsp->disp_frameY0); - else - *buf = '\0'; - node->data->display.viewport = - XtVaCreateManagedWidget("viewport", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, buf, NULL); - - XtCreateManagedWidget("virtualL", labelWidgetClass, box, NULL, 0); - if (dsp->disp_virtualX != 0 || dsp->disp_virtualY != 0) - XmuSnprintf(buf, sizeof(buf), "%d %d", dsp->disp_virtualX, dsp->disp_virtualY); - else - *buf = '\0'; - node->data->display.c_virtual = - XtVaCreateManagedWidget("virtual", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, buf, NULL); - - XtCreateManagedWidget("depthL", labelWidgetClass, box, NULL, 0); - if (dsp->disp_depth != 0) - XmuSnprintf(buf, sizeof(buf), "%d", dsp->disp_depth); - else - *buf = '\0'; - node->data->display.depth = - XtVaCreateManagedWidget("depth", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, buf, NULL); - - XtCreateManagedWidget("bppL", labelWidgetClass, box, NULL, 0); - if (dsp->disp_bpp != 0) - XmuSnprintf(buf, sizeof(buf), "%d", dsp->disp_bpp); - else - *buf = '\0'; - node->data->display.bpp = - XtVaCreateManagedWidget("bpp", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, buf, NULL); - - XtCreateManagedWidget("visualL", labelWidgetClass, box, NULL, 0); - str = dsp->disp_visual != NULL ? dsp->disp_visual : ""; - node->data->display.visual = - XtVaCreateManagedWidget("visual", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, str, NULL); - - XtCreateManagedWidget("weightL", labelWidgetClass, box, NULL, 0); - if (dsp->disp_weight.red > 0) - XmuSnprintf(buf, sizeof(buf), "%d %d %d", - dsp->disp_weight.red, dsp->disp_weight.green, dsp->disp_weight.blue); - else - *buf = '\0'; - node->data->display.weight = - XtVaCreateManagedWidget("weight", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, buf, NULL); - - XtCreateManagedWidget("blackL", labelWidgetClass, box, NULL, 0); - if (dsp->disp_black.red >= 0) - XmuSnprintf(buf, sizeof(buf), "0x%04x 0x%04x 0x%04x", - dsp->disp_black.red, dsp->disp_black.green, dsp->disp_black.blue); - else - *buf = '\0'; - node->data->display.black = - XtVaCreateManagedWidget("black", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, buf, NULL); - - XtCreateManagedWidget("whiteL", labelWidgetClass, box, NULL, 0); - if (dsp->disp_white.red >= 0) - XmuSnprintf(buf, sizeof(buf), "0x%04x 0x%04x 0x%04x", - dsp->disp_white.red, dsp->disp_white.green, dsp->disp_white.blue); - else - *buf = '\0'; - node->data->display.white = - XtVaCreateManagedWidget("white", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, buf, NULL); - - command = XtVaCreateManagedWidget("Modes", toggleWidgetClass, tree, - XtNstate, True, XtNtreeParent, box, - NULL); - modes = NewNode(node, command, command, node->node, NULL); - node->child = modes; - CreateDisplayMode(modes, dsp->disp_mode_lst); - } - else { - command = XtCreateManagedWidget("new", commandWidgetClass, box, NULL, 0); - XtAddCallback(command, XtNcallback, NewScreenDisplayCallback, - (XtPointer)node); - } - if (XtIsRealized(node->treeParent)) - XtRealizeWidget(box); - XtManageChild(box); -} - -/*ARGSUSED*/ -static void -NewScreenDisplayCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - TreeNode *parent, *node = (TreeNode*)user_data; - XF86ConfDisplayPtr dsp; - - parent = node->parent; - DeleteNode(node); - dsp = (XF86ConfDisplayPtr)XtCalloc(1, sizeof(XF86ConfDisplayRec)); - dsp->disp_black.red = dsp->disp_black.green = dsp->disp_black.blue = - dsp->disp_white.red = dsp->disp_white.green = dsp->disp_white.blue = -1; - parent->parent->data->screen.screen->scrn_display_lst = - xf86addScreenDisplay(parent->parent->data->screen.screen->scrn_display_lst, - dsp); - - CreateScreenDisplay(parent, dsp); - RelayoutTree(); -} - -static void -ScreenDisplayDestroy(TreeNode *node) -{ - if (node->data->display.display) - xf86removeScreenDisplay(node->parent->parent->data->screen.screen, - node->data->display.display); -} - -static void -ScreenDisplayUpdate(TreeNode *node) -{ - char *str, *tmp; - int x, y; - - /* viewport */ - XtVaGetValues(node->data->display.viewport, XtNstring, &str, NULL); - if (sscanf(str, "%d %d", &x, &y) == 2) { - node->data->display.display->disp_frameX0 = x; - node->data->display.display->disp_frameY0 = y; - } - - /* virtual */ - XtVaGetValues(node->data->display.c_virtual, XtNstring, &str, NULL); - if (sscanf(str, "%d %d", &x, &y) == 2) { - node->data->display.display->disp_virtualX = x; - node->data->display.display->disp_virtualY = y; - } - - /* depth */ - XtVaGetValues(node->data->display.depth, XtNstring, &str, NULL); - node->data->display.display->disp_depth = strtoul(str, NULL, 0); - - /* bpp */ - XtVaGetValues(node->data->display.bpp, XtNstring, &str, NULL); - node->data->display.display->disp_bpp = strtoul(str, NULL, 0); - - /* visual */ - XtVaGetValues(node->data->display.visual, XtNstring, &str, NULL); - XtFree(node->data->display.display->disp_visual); - if (*str) - node->data->display.display->disp_visual = XtNewString(str); - else - node->data->display.display->disp_visual = NULL; - - /* weight */ - XtVaGetValues(node->data->display.weight, XtNstring, &str, NULL); - node->data->display.display->disp_weight.red = strtoul(str, &tmp, 0); - if (str == tmp) - node->data->display.display->disp_weight.red = 0; - else { - str = tmp; - while (isspace(*str)) - ++str; - node->data->display.display->disp_weight.green = strtoul(str, &tmp, 0); - if (str != tmp) { - str = tmp; - while (isspace(*str)) - ++str; - node->data->display.display->disp_weight.blue = strtoul(str, &tmp, 0); - } - } - - /* black */ - XtVaGetValues(node->data->display.black, XtNstring, &str, NULL); - node->data->display.display->disp_black.red = strtoul(str, &tmp, 0); - if (str == tmp) - node->data->display.display->disp_black.red = -1; - else { - str = tmp; - while (isspace(*str)) - ++str; - node->data->display.display->disp_black.green = strtoul(str, &tmp, 0); - if (str != tmp) { - str = tmp; - while (isspace(*str)) - ++str; - node->data->display.display->disp_black.blue = strtoul(str, &tmp, 0); - } - } - - /* white */ - XtVaGetValues(node->data->display.white, XtNstring, &str, NULL); - node->data->display.display->disp_white.red = strtoul(str, &tmp, 0); - if (str == tmp) - node->data->display.display->disp_white.red = -1; - else { - str = tmp; - while (isspace(*str)) - ++str; - node->data->display.display->disp_white.green = strtoul(str, &tmp, 0); - if (str != tmp) { - str = tmp; - while (isspace(*str)) - ++str; - node->data->display.display->disp_white.blue = strtoul(str, &tmp, 0); - } - } -} - -static void -CreateDisplayMode(TreeNode *parent, XF86ModePtr modes) -{ - TreeNode *node, *prev; - TreeData *data; - - if ((prev = parent->child) != NULL) - while (prev->next) - prev = prev->next; - - while (modes) { - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - data->mode.mode = modes; - node = NewNode(parent, NULL, NULL, parent->node, data); - node->destroy = DisplayModeDestroy; - CreateDisplayModeField(node, False); - if (parent->child == NULL) - parent->child = node; - else - prev->next = node; - prev = node; - modes = (XF86ModePtr)(modes->list.next); - } - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - node = NewNode(parent, NULL, NULL, parent->node, data); - if (parent->child == NULL) - parent->child = node; - else - prev->next = node; - prev = node; - CreateDisplayModeField(node, True); -} - -static void -CreateDisplayModeField(TreeNode *node, Bool addnew) -{ - Widget box, command, text; - - box = XtVaCreateWidget("mode", formWidgetClass, tree, - XtNtreeParent, node->treeParent, NULL); - node->node = box; - if (!addnew) { - XF86ModePtr mode = node->data->mode.mode; - - command = XtCreateManagedWidget("remove", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, DestroyCallback, - (XtPointer)node); - text = XtVaCreateManagedWidget("label", labelWidgetClass, box, - XtNlabel, mode->mode_name, NULL); - } - else { - command = XtCreateManagedWidget("new", commandWidgetClass, box, NULL, 0); - XtAddCallback(command, XtNcallback, NewDisplayModeCallback, - (XtPointer)node); - text = XtVaCreateManagedWidget("value", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, NULL); - } - node->data->mode.text = text; - if (node->treeParent && XtIsRealized(node->treeParent)) - XtRealizeWidget(box); - XtManageChild(box); -} - -/*ARGSUSED*/ -static void -NewDisplayModeCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - TreeNode *parent, *node = (TreeNode*)user_data; - XF86ModePtr mode; - Arg args[1]; - char *ident; - - XtSetArg(args[0], XtNstring, &ident); - XtGetValues(node->data->mode.text, args, 1); - if (*ident == '\0') - return; - - parent = node->parent; - DeleteNode(node); - mode = (XF86ModePtr)XtCalloc(1, sizeof(XF86ModeRec)); - mode->mode_name = XtNewString(ident); - parent->parent->data->display.display->disp_mode_lst = - xf86addDisplayMode(parent->parent->data->display.display->disp_mode_lst, - mode); - - CreateDisplayMode(parent, mode); - RelayoutTree(); -} - -/*ARGUSED*/ -static void -DisplayModeDestroy(TreeNode *node) -{ - if (node->data->mode.mode) - xf86removeDisplayMode(node->parent->parent->data->display.display, - node->data->mode.mode); -} - -/* Input */ -static void -CreateInput(TreeNode *parent, XF86ConfInputPtr input) -{ - TreeNode *prev, *node; - TreeData *data; - - if ((prev = parent->child) != NULL) - while (prev->next) - prev = prev->next; - - while (input) { - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - data->input.input = input; - node = NewNode(parent, NULL, NULL, parent->node, data); - node->destroy = InputDestroy; - node->update = InputUpdate; - CreateInputField(node, False); - if (parent->child == NULL) - parent->child = node; - else - prev->next = node; - prev = node; - input = (XF86ConfInputPtr)(input->list.next); - } - - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - node = NewNode(parent, NULL, NULL, parent->node, data); - CreateInputField(node, True); - if (parent->child == NULL) - parent->child = node; - else - prev->next = node; -} - -static void -CreateInputField(TreeNode *node, Bool addnew) -{ - Widget box, command; - - box = XtVaCreateWidget("input", formWidgetClass, tree, - XtNtreeParent, node->treeParent, NULL); - node->node = box; - - if (!addnew) { - char *str; - XF86OptionPtr *options; - XF86ConfInputPtr inp = node->data->input.input; - - command = XtCreateManagedWidget("remove", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, DestroyCallback, (XtPointer)node); - options = &(inp->inp_option_lst); - command = XtCreateManagedWidget("options", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, OptionsCallback, (XtPointer)options); - XtVaCreateManagedWidget("label", labelWidgetClass, box, - XtNlabel, inp->inp_identifier, NULL); - - XtCreateManagedWidget("driverL", labelWidgetClass, box, NULL, 0); - str = inp->inp_driver != NULL ? inp->inp_driver : ""; - node->data->input.text = - XtVaCreateManagedWidget("driver", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, str, NULL); - } - else { - command = XtCreateManagedWidget("new", commandWidgetClass, box, NULL, 0); - XtAddCallback(command, XtNcallback, NewInputCallback, - (XtPointer)node); - node->data->input.text = - XtVaCreateManagedWidget("value", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, NULL); - } - if (XtIsRealized(node->treeParent)) - XtRealizeWidget(box); - XtManageChild(box); -} - -/*ARGSUSED*/ -static void -NewInputCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - TreeNode *parent, *node = (TreeNode*)user_data; - XF86ConfInputPtr input; - Arg args[1]; - char *ident; - - XtSetArg(args[0], XtNstring, &ident); - XtGetValues(node->data->input.text, args, 1); - if (*ident == '\0') - return; - - parent = node->parent; - DeleteNode(node); - input = (XF86ConfInputPtr)XtCalloc(1, sizeof(XF86ConfInputRec)); - input->inp_identifier = XtNewString(ident); - XF86Config->conf_input_lst = - xf86addInput(XF86Config->conf_input_lst, input); - - { - TreeNode *lay = layoutTree->child; - Widget sme; - - /* last one is the "new" entry */ - while (lay && lay->next != NULL) { - /* Inputref is the second entry */ - TreeNode *iref = lay->child->next->child; - - while (iref && iref->next) - iref = iref->next; - sme = XtCreateManagedWidget(ident, smeBSBObjectClass, - iref->data->inputref.menu, NULL, 0); - XtAddCallback(sme, XtNcallback, NewInputrefCallback, - (XtPointer)iref); - lay = lay->next; - } - } - - CreateInput(parent, input); - RelayoutTree(); -} - -/*ARGUSED*/ -static void -InputDestroy(TreeNode *node) -{ - if (node->data->input.input) { - int i; - TreeNode *lay = layoutTree->child; - - /* last one is the "new" entry */ - while (lay && lay->next) { - /* Inputref is the second entry */ - TreeNode *iref = lay->child->next->child; - CompositeWidget composite; - - while (iref && iref->next) { - TreeNode *next = iref->next; - - if (iref && strcmp(iref->data->inputref.inputref->iref_inputdev_str, - node->data->input.input->inp_identifier) == 0) - DeleteNode(iref); - iref = next; - } - - composite = (CompositeWidget)iref->data->inputref.menu; - - for (i = 0; i < composite->composite.num_children; ++i) - if (strcmp(XtName(composite->composite.children[i]), - node->data->input.input->inp_identifier) == 0) - XtDestroyWidget(composite->composite.children[i]); - - lay = lay->next; - } - - for (i = 0; i < computer.num_devices; i++) - if ((XF86ConfInputPtr)(computer.devices[i]->config) == - node->data->input.input) { - config = computer.devices[i]->widget; - RemoveDeviceCallback(NULL, NULL, NULL); - } - } -} - -static void -InputUpdate(TreeNode *node) -{ - char *str; - - /* vendor */ - XtVaGetValues(node->data->input.text, XtNstring, &str, NULL); - XtFree(node->data->input.input->inp_driver); - if (*str) - node->data->input.input->inp_driver = XtNewString(str); - else - node->data->input.input->inp_driver = NULL; -} - -/* Layout */ -static void -CreateLayout(TreeNode *parent, XF86ConfLayoutPtr lay) -{ - TreeNode *prev, *node; - TreeData *data; - - if ((prev = parent->child) != NULL) - while (prev->next) - prev = prev->next; - - while (lay) { - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - data->layout.layout = lay; - node = NewNode(parent, NULL, NULL, parent->node, data); - node->destroy = LayoutDestroy; - CreateLayoutField(node, False); - if (parent->child == NULL) - parent->child = node; - else - prev->next = node; - prev = node; - lay = (XF86ConfLayoutPtr)(lay->list.next); - } - - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - node = NewNode(parent, NULL, NULL, parent->node, data); - CreateLayoutField(node, True); - if (parent->child == NULL) - parent->child = node; - else - prev->next = node; -} - -static void -CreateLayoutField(TreeNode *node, Bool addnew) -{ - Widget box, command, label; - - box = XtVaCreateWidget("layout", formWidgetClass, tree, - XtNtreeParent, node->treeParent, NULL); - node->node = box; - - if (!addnew) { - TreeNode *adjacency, *inputref; - XF86OptionPtr *options; - XF86ConfLayoutPtr lay = node->data->layout.layout; - - options = &(lay->lay_option_lst); - command = XtCreateManagedWidget("remove", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, DestroyCallback, (XtPointer)node); - command = XtCreateManagedWidget("options", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, OptionsCallback, (XtPointer)options); - label = XtVaCreateManagedWidget("label", labelWidgetClass, box, - XtNlabel, lay->lay_identifier, NULL); - - command = XtVaCreateManagedWidget("Adjacency", toggleWidgetClass, tree, - XtNstate, True, XtNtreeParent, box, - NULL); - adjacency = NewNode(node, command, command, box, NULL); - node->child = adjacency; - CreateAdjacency(adjacency, lay->lay_adjacency_lst); - - command = XtVaCreateManagedWidget("Inputref", toggleWidgetClass, tree, - XtNstate, True, XtNtreeParent, box, - NULL); - inputref = NewNode(node, command, command, box, NULL); - adjacency->next = inputref; - CreateInputref(inputref, lay->lay_input_lst); - } - else { - command = XtCreateManagedWidget("new", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, NewLayoutCallback, (XtPointer)node); - label = XtVaCreateManagedWidget("value", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - NULL); - node->data->layout.text = label; - } - if (XtIsRealized(node->treeParent)) - XtRealizeWidget(box); - XtManageChild(box); -} - -/*ARGUSED*/ -static void -LayoutDestroy(TreeNode *node) -{ - if (node->data->layout.layout) - xf86removeLayout(XF86Config, node->data->layout.layout); -} - -/*ARGSUSED*/ -static void -NewLayoutCallback(Widget unused, XtPointer user_data, XtPointer call_data) -{ - TreeNode *parent, *node = (TreeNode*)user_data; - XF86ConfLayoutPtr lay; - Arg args[1]; - char *label; - - XtSetArg(args[0], XtNstring, &label); - XtGetValues(node->data->layout.text, args, 1); - if (*label == '\0') - return; - - parent = node->parent; - DeleteNode(node); - lay = (XF86ConfLayoutPtr)XtCalloc(1, sizeof(XF86ConfLayoutRec)); - lay->lay_identifier = XtNewString(label); - XF86Config->conf_layout_lst = xf86addLayout(XF86Config->conf_layout_lst, lay); - - CreateLayout(parent, lay); - RelayoutTree(); -} - -static void -CreateAdjacency(TreeNode *parent, XF86ConfAdjacencyPtr adj) -{ - TreeNode *prev, *node; - TreeData *data; - - if ((prev = parent->child) != NULL) - while (prev->next) - prev = prev->next; - - while (adj) { - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - data->adjacency.screen = adj ? adj->adj_screen : NULL; - data->adjacency.adjacency = adj; - node = NewNode(parent, NULL, NULL, parent->node, data); - node->destroy = AdjacencyDestroy; - CreateAdjacencyField(node, False); - if (parent->child == NULL) - parent->child = node; - else - prev->next = node; - prev = node; - adj = (XF86ConfAdjacencyPtr)(adj->list.next); - } - - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - node = NewNode(parent, NULL, NULL, parent->node, data); - CreateAdjacencyField(node, True); - if (parent->child == NULL) - parent->child = node; - else - prev->next = node; -} - -static void -CreateAdjacencyField(TreeNode *node, Bool addnew) -{ - Widget box, command, sme; - XF86ConfScreenPtr ptr = XF86Config->conf_screen_lst; - - box = XtVaCreateWidget("adjacency", formWidgetClass, tree, - XtNtreeParent, node->treeParent, NULL); - node->node = box; - - node->data->adjacency.menu = - XtVaCreatePopupShell("screenMenu", simpleMenuWidgetClass, box, - XtNleftMargin, 1, XtNrightMargin, 1, - XtNtopMargin, 1, XtNbottomMargin, 1, - NULL); - while (ptr) { - sme = XtCreateManagedWidget(ptr->scrn_identifier, smeBSBObjectClass, - node->data->adjacency.menu, NULL, 0); - XtAddCallback(sme, XtNcallback, !addnew ? - AdjacencyMenuCallback : NewAdjacencyCallback, - (XtPointer)node); - ptr = (XF86ConfScreenPtr)(ptr->list.next); - } - - if (!addnew) { - char buf[32]; - Cardinal width, height; - Widget left, right, above, below, relative, absolute; - XF86ConfAdjacencyPtr adj = node->data->adjacency.adjacency; - - command = XtCreateManagedWidget("remove", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, DestroyCallback, (XtPointer)node); - (void) XtVaCreateManagedWidget("label", labelWidgetClass, box, - XtNlabel, adj->adj_screen->scrn_identifier, - NULL); - - XtCreateManagedWidget("scrnumL", labelWidgetClass, box, NULL, 0); - if (adj->adj_scrnum >= 0) - XmuSnprintf(buf, sizeof(buf), "%d", adj->adj_scrnum); - else - *buf = 0; - node->data->adjacency.scrnum = - XtVaCreateManagedWidget("scrnum", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, buf, NULL); - above = XtVaCreateManagedWidget("above", toggleWidgetClass, box, - XtNstate, adj->adj_where == CONF_ADJ_ABOVE ? - True : False, NULL); - XtAddCallback(above, XtNcallback, AdjacencyToggleCallback, (XtPointer)node); - left = XtVaCreateManagedWidget("leftOf", toggleWidgetClass, box, - XtNradioGroup, above, - XtNstate, adj->adj_where == CONF_ADJ_LEFTOF ? - True : False, NULL); - XtAddCallback(left, XtNcallback, AdjacencyToggleCallback, (XtPointer)node); - - node->data->adjacency.button = - XtVaCreateManagedWidget("screen", menuButtonWidgetClass, box, - XtNmenuName, "screenMenu", NULL); - - right = XtVaCreateManagedWidget("rightOf", toggleWidgetClass, box, - XtNradioGroup, left, - XtNstate, adj->adj_where == CONF_ADJ_RIGHTOF ? - True : False, NULL); - XtAddCallback(right, XtNcallback, AdjacencyToggleCallback, (XtPointer)node); - below = XtVaCreateManagedWidget("below", toggleWidgetClass, box, - XtNradioGroup, right, - XtNstate, adj->adj_where == CONF_ADJ_BELOW ? - True : False, NULL); - XtAddCallback(below, XtNcallback, AdjacencyToggleCallback, (XtPointer)node); - relative = XtVaCreateManagedWidget("relative", toggleWidgetClass, box, - XtNradioGroup, below, - XtNstate, adj->adj_where == CONF_ADJ_RELATIVE ? - True : False, NULL); - XtAddCallback(relative, XtNcallback, AdjacencyToggleCallback, (XtPointer)node); - absolute = XtVaCreateManagedWidget("absolute", toggleWidgetClass, box, - XtNradioGroup, relative, - XtNstate, adj->adj_where == CONF_ADJ_ABSOLUTE ? - True : False, NULL); - XtAddCallback(absolute, XtNcallback, AdjacencyToggleCallback, (XtPointer)node); - - XtCreateManagedWidget("adjxL", labelWidgetClass, box, NULL, 0); - XmuSnprintf(buf, sizeof(buf), "%d", adj->adj_x); - node->data->adjacency.adjx = - XtVaCreateManagedWidget("adjx", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, buf, NULL); - - XtCreateManagedWidget("adjyL", labelWidgetClass, box, NULL, 0); - XmuSnprintf(buf, sizeof(buf), "%d", adj->adj_y); - node->data->adjacency.adjy = - XtVaCreateManagedWidget("adjy", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, - XtNstring, buf, NULL); - - XtVaGetValues(node->data->adjacency.button, XtNwidth, &width, - XtNheight, &height, NULL); - if (adj->adj_where > CONF_ADJ_ABSOLUTE && - adj->adj_where <= CONF_ADJ_RELATIVE) - XtVaSetValues(node->data->adjacency.button, XtNlabel, - adj->adj_refscreen, XtNwidth, width, - XtNheight, height, NULL); - else - XtVaSetValues(node->data->adjacency.button, XtNlabel, "", - XtNwidth, width, XtNheight, height, NULL); - } - else - XtVaCreateManagedWidget("new", menuButtonWidgetClass, box, - XtNmenuName, "screenMenu", NULL); - - if (XtIsRealized(node->treeParent)) - XtRealizeWidget(box); - XtManageChild(box); -} - -static void -AdjacencyDestroy(TreeNode *node) -{ - if (node->data->adjacency.adjacency) - xf86removeAdjacency(node->parent->parent->data->layout.layout, - node->data->adjacency.adjacency); -} - -/*ARGSUSED*/ -static void -NewAdjacencyCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - TreeNode *parent, *node = (TreeNode*)user_data; - XF86ConfAdjacencyPtr adj; - char *ident = XtName(w); - - parent = node->parent; - DeleteNode(node); - adj = (XF86ConfAdjacencyPtr)XtCalloc(1, sizeof(XF86ConfAdjacencyRec)); - adj->adj_screen = xf86findScreen(ident, XF86Config->conf_screen_lst); - if (adj->adj_screen) - adj->adj_screen_str = XtNewString(adj->adj_screen->scrn_identifier); - parent->parent->data->layout.layout->lay_adjacency_lst = - xf86addAdjacency(parent->parent->data->layout.layout->lay_adjacency_lst, - adj); - - CreateAdjacency(parent, adj); - RelayoutTree(); -} - -/*ARGUSED*/ -static void -AdjacencyMenuCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - TreeNode *node = (TreeNode*)user_data; - XF86ConfAdjacencyPtr adj = node->data->adjacency.adjacency; - - XtFree(adj->adj_refscreen); - adj->adj_refscreen = XtNewString(XtName(w)); - XtVaSetValues(node->data->adjacency.button, XtNlabel, XtName(w), NULL); -} - -static void -AdjacencyToggleCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - TreeNode *node = (TreeNode*)user_data; - XF86ConfAdjacencyPtr adj = node->data->adjacency.adjacency; - char *x, *y; - - if ((Bool)(long)call_data == False) - return; - - XtVaGetValues(node->data->adjacency.adjx, XtNstring, &x, NULL); - XtVaGetValues(node->data->adjacency.adjy, XtNstring, &y, NULL); - - adj->adj_x = strtol(x, NULL, 0); - adj->adj_y = strtol(y, NULL, 0); - - if (strcmp(XtName(w), "absolute") == 0) { - XtVaSetValues(node->data->adjacency.button, XtNlabel, "", NULL); - adj->adj_where = CONF_ADJ_ABSOLUTE; - return; - } - if (strcmp(XtName(w), "relative") == 0) - adj->adj_where = CONF_ADJ_RELATIVE; - else if (strcmp(XtName(w), "leftOf") == 0) - adj->adj_where = CONF_ADJ_LEFTOF; - else if (strcmp(XtName(w), "rightOf") == 0) - adj->adj_where = CONF_ADJ_RIGHTOF; - else if (strcmp(XtName(w), "above") == 0) - adj->adj_where = CONF_ADJ_ABOVE; - else if (strcmp(XtName(w), "below") == 0) - adj->adj_where = CONF_ADJ_BELOW; -} - -/* Inputref */ -static void -CreateInputref(TreeNode *parent, XF86ConfInputrefPtr input) -{ - TreeNode *prev, *node; - TreeData *data; - - if ((prev = parent->child) != NULL) - while (prev->next) - prev = prev->next; - - while (input) { - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - data->inputref.inputref = input; - node = NewNode(parent, NULL, NULL, parent->node, data); - node->destroy = InputrefDestroy; - CreateInputrefField(node, False); - if (parent->child == NULL) - parent->child = node; - else - prev->next = node; - prev = node; - input = (XF86ConfInputrefPtr)(input->list.next); - } - - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - node = NewNode(parent, NULL, NULL, parent->node, data); - CreateInputrefField(node, True); - if (parent->child == NULL) - parent->child = node; - else - prev->next = node; -} - -static void -CreateInputrefField(TreeNode *node, Bool addnew) -{ - Widget box, command; - - box = XtVaCreateWidget("inputref", formWidgetClass, tree, - XtNtreeParent, node->treeParent, NULL); - node->node = box; - - if (!addnew) { - XF86OptionPtr *options; - XF86ConfInputrefPtr inp = node->data->inputref.inputref; - - command = XtCreateManagedWidget("remove", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, DestroyCallback, (XtPointer)node); - options = &(inp->iref_option_lst); - command = XtCreateManagedWidget("options", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, OptionsCallback, (XtPointer)options); - XtVaCreateManagedWidget("label", labelWidgetClass, box, - XtNlabel, inp->iref_inputdev_str, NULL); - } - else { - Widget sme; - XF86ConfInputPtr ptr = XF86Config->conf_input_lst; - - XtVaCreateManagedWidget("new", menuButtonWidgetClass, box, - XtNmenuName, "inputMenu", NULL); - node->data->inputref.menu = - XtVaCreatePopupShell("inputMenu", simpleMenuWidgetClass, box, - XtNleftMargin, 1, XtNrightMargin, 1, - XtNtopMargin, 1, XtNbottomMargin, 1, - NULL); - - while (ptr) { - sme = XtCreateManagedWidget(ptr->inp_identifier, smeBSBObjectClass, - node->data->inputref.menu, NULL, 0); - XtAddCallback(sme, XtNcallback, NewInputrefCallback, - (XtPointer)node); - ptr = (XF86ConfInputPtr)(ptr->list.next); - } - } - if (XtIsRealized(node->treeParent)) - XtRealizeWidget(box); - XtManageChild(box); -} - -/*ARGSUSED*/ -static void -NewInputrefCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - TreeNode *parent, *node = (TreeNode*)user_data; - XF86ConfInputrefPtr input; - char *ident = XtName(w); - - parent = node->parent; - DeleteNode(node); - input = (XF86ConfInputrefPtr)XtCalloc(1, sizeof(XF86ConfInputrefRec)); - input->iref_inputdev_str = XtNewString(ident); - parent->parent->data->layout.layout->lay_input_lst = - xf86addInputref(parent->parent->data->layout.layout->lay_input_lst, input); - - CreateInputref(parent, input); - RelayoutTree(); -} - -/*ARGUSED*/ -static void -InputrefDestroy(TreeNode *node) -{ - if (node->data->inputref.inputref) - xf86removeInputRef(node->parent->parent->data->layout.layout, node->data->inputref.inputref->iref_inputdev); -} - -/* Vendor */ -static void -CreateVendor(TreeNode *parent, XF86ConfVendorPtr vendor) -{ - TreeNode *prev, *node; - TreeData *data; - - if ((prev = parent->child) != NULL) - while (prev->next) - prev = prev->next; - - while (vendor) { - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - data->vendor.vendor = vendor; - node = NewNode(parent, NULL, NULL, parent->node, data); - node->destroy = VendorDestroy; - CreateVendorField(node, False); - if (parent->child == NULL) - parent->child = node; - else - prev->next = node; - prev = node; - vendor = (XF86ConfVendorPtr)(vendor->list.next); - } - - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - node = NewNode(parent, NULL, NULL, parent->node, data); - CreateVendorField(node, True); - if (parent->child == NULL) - parent->child = node; - else - prev->next = node; -} - -static void -CreateVendorField(TreeNode *node, Bool addnew) -{ - Widget box, command; - - box = XtVaCreateWidget("vendor", formWidgetClass, tree, - XtNtreeParent, node->treeParent, NULL); - node->node = box; - - if (!addnew) { - TreeNode *sub; - XF86OptionPtr *options; - XF86ConfVendorPtr vendor = node->data->vendor.vendor; - - command = XtCreateManagedWidget("remove", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, DestroyCallback, (XtPointer)node); - options = &(vendor->vnd_option_lst); - command = XtCreateManagedWidget("options", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, OptionsCallback, (XtPointer)options); - XtVaCreateManagedWidget("label", labelWidgetClass, box, - XtNlabel, vendor->vnd_identifier, NULL); - - command = XtVaCreateManagedWidget("VendSub", toggleWidgetClass, tree, - XtNstate, True, - XtNtreeParent, box, - NULL); - sub = NewNode(node, command, command, box, NULL); - node->child = sub; - CreateVendorSub(sub, vendor->vnd_sub_lst); - } - else { - command = XtCreateManagedWidget("new", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, NewVendorCallback, (XtPointer)node); - node->data->vendor.text = - XtVaCreateManagedWidget("value", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, NULL); - } - if (XtIsRealized(node->treeParent)) - XtRealizeWidget(box); - XtManageChild(box); -} - -static void -VendorDestroy(TreeNode *node) -{ - if (node->data->vendor.vendor) - xf86removeVendor(XF86Config, node->data->vendor.vendor); -} - -static void -NewVendorCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - TreeNode *parent, *node = (TreeNode*)user_data; - XF86ConfVendorPtr vnd; - Arg args[1]; - char *label; - - XtSetArg(args[0], XtNstring, &label); - XtGetValues(node->data->vendor.text, args, 1); - if (*label == '\0') - return; - - parent = node->parent; - DeleteNode(node); - vnd = (XF86ConfVendorPtr)XtCalloc(1, sizeof(XF86ConfVendorRec)); - vnd->vnd_identifier = XtNewString(label); - XF86Config->conf_vendor_lst = xf86addVendor(XF86Config->conf_vendor_lst, vnd); - - CreateVendor(parent, vnd); - RelayoutTree(); -} - -/* VendorSub */ -static void -CreateVendorSub(TreeNode *parent, XF86ConfVendSubPtr vendor) -{ - TreeNode *prev, *node; - TreeData *data; - - if ((prev = parent->child) != NULL) - while (prev->next) - prev = prev->next; - - while (vendor) { - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - data->vendsub.vendsub = vendor; - node = NewNode(parent, NULL, NULL, parent->node, data); - node->destroy = VendorSubDestroy; - node->update = VendorSubUpdate; - CreateVendorSubField(node, False); - if (parent->child == NULL) - parent->child = node; - else - prev->next = node; - prev = node; - vendor = (XF86ConfVendSubPtr)(vendor->list.next); - } - - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - node = NewNode(parent, NULL, NULL, parent->node, data); - CreateVendorSubField(node, True); - if (parent->child == NULL) - parent->child = node; - else - prev->next = node; -} - -static void -CreateVendorSubField(TreeNode *node, Bool addnew) -{ - Widget box, command; - - box = XtVaCreateWidget("vendorSub", formWidgetClass, tree, - XtNtreeParent, node->treeParent, NULL); - node->node = box; - - if (!addnew) { - XF86OptionPtr *options; - XF86ConfVendSubPtr vendor = node->data->vendsub.vendsub; - - command = XtCreateManagedWidget("remove", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, DestroyCallback, (XtPointer)node); - options = &(vendor->vs_option_lst); - command = XtCreateManagedWidget("options", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, OptionsCallback, (XtPointer)options); - XtVaCreateManagedWidget("label", labelWidgetClass, box, - XtNlabel, vendor->vs_identifier, NULL); - - XtCreateManagedWidget("nameL", labelWidgetClass, box, NULL, 0); - node->data->vendsub.text = - XtVaCreateManagedWidget("name", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, XtNstring, - vendor->vs_name ? vendor->vs_name : "", - NULL); - } - else { - command = XtCreateManagedWidget("new", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, NewVendorSubCallback, (XtPointer)node); - node->data->vendsub.text = - XtVaCreateManagedWidget("value", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, NULL); - } - if (XtIsRealized(node->treeParent)) - XtRealizeWidget(box); - XtManageChild(box); -} - -static void -VendorSubDestroy(TreeNode *node) -{ - if (node->data->vendsub.vendsub) - xf86removeVendorSub(node->parent->parent->data->vendor.vendor, - node->data->vendsub.vendsub); -} - -static void -VendorSubUpdate(TreeNode *node) -{ - char *str; - - XtVaGetValues(node->data->vendsub.text, XtNstring, &str, NULL); - XtFree(node->data->vendsub.vendsub->vs_name); - if (*str) - node->data->vendsub.vendsub->vs_name = XtNewString(str); - else - node->data->vendsub.vendsub->vs_name = NULL; -} - -static void -NewVendorSubCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - TreeNode *parent, *node = (TreeNode*)user_data; - XF86ConfVendSubPtr vnd; - Arg args[1]; - char *label; - - XtSetArg(args[0], XtNstring, &label); - XtGetValues(node->data->vendsub.text, args, 1); - if (*label == '\0') - return; - - parent = node->parent; - DeleteNode(node); - vnd = (XF86ConfVendSubPtr)XtCalloc(1, sizeof(XF86ConfVendSubRec)); - vnd->vs_identifier = XtNewString(label); - parent->parent->data->vendor.vendor->vnd_sub_lst = - xf86addVendorSub(parent->parent->data->vendor.vendor->vnd_sub_lst, vnd); - - CreateVendorSub(parent, vnd); - RelayoutTree(); -} - -/* DRI */ -static void -CreateDRI(TreeNode *parent, XF86ConfDRIPtr dri) -{ - TreeNode *node; - TreeData *data; - - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - data->dri.dri = dri; - node = NewNode(parent, NULL, NULL, parent->node, data); - parent->child = node; - node->update = DRIUpdate; - CreateDRIField(node); -} - -static void -CreateDRIField(TreeNode *node) -{ - Widget box, toggle; - XF86ConfDRIPtr dri = node->data->dri.dri; - TreeNode *buffers; - char buf[32]; - - box = XtVaCreateWidget("dri", formWidgetClass, tree, - XtNtreeParent, node->treeParent, NULL); - node->node = box; - XtCreateManagedWidget("nameL", labelWidgetClass, box, NULL, 0); - node->data->dri.name = - XtVaCreateManagedWidget("name", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, XtNstring, - dri->dri_group_name ? dri->dri_group_name : "", - NULL); - - XtCreateManagedWidget("groupL", labelWidgetClass, box, NULL, 0); - if (dri->dri_group >= 0) - XmuSnprintf(buf, sizeof(buf), "%d", dri->dri_group); - else - *buf = '\0'; - node->data->dri.group = - XtVaCreateManagedWidget("group", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, XtNstring, buf, - NULL); - - XtCreateManagedWidget("modeL", labelWidgetClass, box, NULL, 0); - if (dri->dri_mode > 0) - XmuSnprintf(buf, sizeof(buf), "0%o", dri->dri_mode); - else - *buf = '\0'; - node->data->dri.mode = - XtVaCreateManagedWidget("mode", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, XtNstring, buf, - NULL); - - toggle = XtVaCreateManagedWidget("Buffers", toggleWidgetClass, tree, - XtNstate, True, XtNtreeParent, box, - NULL); - buffers = NewNode(node, toggle, toggle, box, NULL); - node->child = buffers; - CreateBuffers(buffers, dri->dri_buffers_lst); - - if (XtIsRealized(node->treeParent)) - XtRealizeWidget(box); - XtManageChild(box); -} - -static void -DRIUpdate(TreeNode *node) -{ - char *str; - - /* name */ - XtVaGetValues(node->data->dri.name, XtNstring, &str, NULL); - XtFree(node->data->dri.dri->dri_group_name); - if (*str) - node->data->dri.dri->dri_group_name = XtNewString(str); - else - node->data->dri.dri->dri_group_name = NULL; - - /* group */ - XtVaGetValues(node->data->dri.group, XtNstring, &str, NULL); - if (*str) - node->data->dri.dri->dri_group = strtoul(str, NULL, 0); - else - node->data->dri.dri->dri_group = -1; - - /* mode */ - XtVaGetValues(node->data->dri.mode, XtNstring, &str, NULL); - node->data->dri.dri->dri_mode = strtoul(str, NULL, 0); -} - -/* Buffers */ -static void -CreateBuffers(TreeNode *parent, XF86ConfBuffersPtr buf) -{ - TreeNode *node, *prev; - TreeData *data; - - if ((prev = parent->child) != NULL) - while (prev->next) - prev = prev->next; - - while (buf) { - data = (TreeData*)XtCalloc(1, sizeof(TreeData)); - data->buffers.buffers = buf; - node = NewNode(parent, NULL, NULL, parent->node, data); - node->destroy = BuffersDestroy; - node->update = BuffersUpdate; - CreateBuffersField(node, False); - if (parent->child == NULL) - parent->child = node; - else - prev->next = node; - prev = node; - - buf = (XF86ConfBuffersPtr)(buf->list.next); - } - node = NewNode(parent, NULL, NULL, parent->node, NULL); - CreateBuffersField(node, True); - if (parent->child == NULL) - parent->child = node; - else - prev->next = node; -} - -static void -CreateBuffersField(TreeNode *node, Bool addnew) -{ - Widget box, command; - - box = XtVaCreateWidget("buffers", formWidgetClass, tree, - XtNtreeParent, node->treeParent, NULL); - node->node = box; - - if (!addnew) { - char str[32]; - XF86ConfBuffersPtr buf = node->data->buffers.buffers; - - command = XtCreateManagedWidget("remove", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, DestroyCallback, (XtPointer)node); - - XtCreateManagedWidget("countL", labelWidgetClass, box, NULL, 0); - XmuSnprintf(str, sizeof(str), "%d", buf->buf_count); - node->data->buffers.count = - XtVaCreateManagedWidget("count", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, XtNstring, str, - NULL); - - XtCreateManagedWidget("sizeL", labelWidgetClass, box, NULL, 0); - XmuSnprintf(str, sizeof(str), "%d", buf->buf_size); - node->data->buffers.size = - XtVaCreateManagedWidget("size", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, XtNstring, str, - NULL); - - XtCreateManagedWidget("flagsL", labelWidgetClass, box, NULL, 0); - node->data->buffers.flags = - XtVaCreateManagedWidget("flags", asciiTextWidgetClass, box, - XtNeditType, XawtextEdit, XtNstring, - buf->buf_flags ? buf->buf_flags : "", - NULL); - } - else { - command = XtCreateManagedWidget("new", commandWidgetClass, box, - NULL, 0); - XtAddCallback(command, XtNcallback, NewBuffersCallback, (XtPointer)node); - } - if (XtIsRealized(node->treeParent)) - XtRealizeWidget(box); - XtManageChild(box); -} - -/*ARGUSED*/ -static void -BuffersDestroy(TreeNode *node) -{ - if (node->data->buffers.buffers) - xf86removeBuffers(XF86Config->conf_dri, node->data->buffers.buffers); -} - -/*ARGSUSED*/ -static void -NewBuffersCallback(Widget unused, XtPointer user_data, XtPointer call_data) -{ - TreeNode *parent, *node = (TreeNode*)user_data; - XF86ConfBuffersPtr buf; - - parent = node->parent; - DeleteNode(node); - buf = (XF86ConfBuffersPtr)XtCalloc(1, sizeof(XF86ConfBuffersRec)); - XF86Config->conf_dri->dri_buffers_lst = - xf86addBuffers(XF86Config->conf_dri->dri_buffers_lst, buf); - - CreateBuffers(parent, buf); - RelayoutTree(); -} - -static void -BuffersUpdate(TreeNode *node) -{ - char *str; - - /* count */ - XtVaGetValues(node->data->buffers.count, XtNstring, &str, NULL); - node->data->buffers.buffers->buf_count = strtoul(str, NULL, 0); - - /* size */ - XtVaGetValues(node->data->buffers.size, XtNstring, &str, NULL); - node->data->buffers.buffers->buf_size = strtoul(str, NULL, 0); - - /* flags */ - XtVaGetValues(node->data->buffers.flags, XtNstring, &str, NULL); - if (*str) - node->data->buffers.buffers->buf_flags = XtNewString(str); - else - node->data->buffers.buffers->buf_flags = NULL; -} - -static TreeNode * -NewNode(TreeNode *parent, Widget node, Widget toggle, Widget treeParent, - TreeData *data) -{ - TreeNode *tree = (TreeNode*)XtCalloc(1, sizeof(TreeNode)); - - tree->parent = parent; - tree->node = node; - if ((tree->toggle = toggle) != NULL) - XtAddCallback(toggle, XtNcallback, ToggleCallback, (XtPointer)tree); - tree->treeParent = treeParent; - tree->data = data; - - return (tree); -} - -static void -DeleteNode(TreeNode *node) -{ - TreeNode *ptr = node->child; - - while (ptr != NULL) { - TreeNode *next = ptr->next; - - DeleteNode(ptr); - ptr = next; - } - - if (node->parent && node->parent->child == node) - node->parent->child = node->next; - else if (node->parent) { - for (ptr = node->parent->child; ptr && ptr->next != node; - ptr = ptr->next) - ; - if (ptr) - ptr->next = node->next; - } - - if (node->destroy) - (node->destroy)(node); - if (node->data) - XtFree((XtPointer)node->data); - - /* sets treeParent to NULL so that RelayoutTree works correctly, - * as the tree will properly calculate it's new size. - */ - XtVaSetValues(node->node, XtNtreeParent, NULL, NULL); - - XtDestroyWidget(node->node); - XtFree((XtPointer)node); -} - -/*ARGUSED*/ -static void -DestroyCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - TreeNode *node = (TreeNode*)user_data; - - DeleteNode(node); - RelayoutTree(); -} - -static void -ToggleNodeRecursive(TreeNode *node) -{ - while (node) { - if (!XtIsRealized(node->node)) - XtRealizeWidget(node->node); - XtVaSetValues(node->node, XtNtreeParent, node->treeParent, NULL); - XtManageChild(node->node); - - if (node->child && !node->toggle) - ToggleNodeRecursive(node->child); - - node = node->next; - } -} - -static void -ToggleNode(TreeNode *node, Bool toggle) -{ - while (node) { - if (toggle) { - if (!XtIsRealized(node->node)) - XtRealizeWidget(node->node); - XtVaSetValues(node->node, XtNtreeParent, node->treeParent, NULL); - XtManageChild(node->node); - - if (node->child && !node->toggle) - ToggleNodeRecursive(node->child); - } - else { - if (node->child) - ToggleNode(node->child, False); - XtVaSetValues(node->node, XtNtreeParent, NULL, NULL); - XtUnmanageChild(node->node); - if (node->toggle) - XtVaSetValues(node->toggle, XtNstate, False, NULL); - } - node = node->next; - } -} - -/* - * XXX This callback can show side effects in the way it is called. If - * the structure holding the XF86OptionPtr is reallocated, a bogus pointer - * will be passed to this callback. - */ -static void -OptionsCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - XF86OptionPtr *options = (XF86OptionPtr*)user_data; - -#ifdef USE_MODULES - OptionsPopup(options, NULL, NULL); -#else - OptionsPopup(options); -#endif -} - -static void -RelayoutTree(void) -{ - Arg args[4]; - Dimension sliderWidth, sliderHeight, canvasWidth, canvasHeight; - - XtSetArg(args[0], XtNwidth, &sliderWidth); - XtSetArg(args[1], XtNheight, &sliderHeight); - XtGetValues(shell, args, 2); - - XtSetArg(args[2], XtNwidth, &canvasWidth); - XtSetArg(args[3], XtNheight, &canvasHeight); - XtGetValues(tree, args + 2, 2); - - XtSetArg(args[0], XtNsliderWidth, sliderWidth); - XtSetArg(args[1], XtNsliderHeight, sliderHeight); - XtSetArg(args[2], XtNcanvasWidth, canvasWidth); - XtSetArg(args[3], XtNcanvasHeight, canvasHeight); - XtSetValues(panner, args, 4); -} - -static void -ToggleCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - TreeNode *nodeParent = (TreeNode*)user_data; - - if (nodeParent->child) { - if (XtIsRealized(tree)) - XtUnmapWidget(tree); - ToggleNode(nodeParent->child, (Bool)(long)call_data); - RelayoutTree(); - if (XtIsRealized(tree)) - XtMapWidget(tree); - } -} - -/*ARGSUSED*/ -static void -PannerCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - Arg args[2]; - XawPannerReport *rep = (XawPannerReport *)call_data; - - XtSetArg (args[0], XtNx, -rep->slider_x); - XtSetArg (args[1], XtNy, -rep->slider_y); - XtSetValues(tree, args, 2); -} - -/*ARGSUSED*/ -static void -PortholeCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - XawPannerReport *rep = (XawPannerReport*)call_data; - Arg args[6]; - Cardinal n = 2; - - XtSetArg (args[0], XtNsliderX, rep->slider_x); - XtSetArg (args[1], XtNsliderY, rep->slider_y); - if (rep->changed != (XawPRSliderX | XawPRSliderY)) { - XtSetArg (args[2], XtNsliderWidth, rep->slider_width); - XtSetArg (args[3], XtNsliderHeight, rep->slider_height); - XtSetArg (args[4], XtNcanvasWidth, rep->canvas_width); - XtSetArg (args[5], XtNcanvasHeight, rep->canvas_height); - n = 6; - } - XtSetValues(panner, args, n); -} - -static void -DestroyTree(TreeNode *node) -{ - while (node) { - TreeNode *next = node->next; - if (node->child) - DestroyTree(node->child); - - if (node->data) - XtFree((XtPointer)node->data); - XtFree((XtPointer)node); - - node = next; - } -} - -static void -UpdateConfig(TreeNode *node) -{ - while (node) { - if (node->child) - UpdateConfig(node->child); - if (node->update) - (node->update)(node); - node = node->next; - } -} - -static Bool -ExpertInitialize(void) -{ - Widget paned, vpane, close, config, files, modules, flags, video, modes, - monitor, device, screen, input, layout, vendor, dri; - Arg args[4]; - Dimension width, height, canvasWidth, canvasHeight; - TreeNode *node; - - if (expert != NULL) - return (False); - - shell = XtCreatePopupShell("Expert", transientShellWidgetClass, - toplevel, NULL, 0); - paned = XtVaCreateManagedWidget("paned", panedWidgetClass, shell, - XtNorientation, XtorientHorizontal, NULL); - vpane = XtCreateManagedWidget("vpane", panedWidgetClass, paned, NULL, 0); - panner = XtCreateManagedWidget ("panner", pannerWidgetClass, vpane, NULL, 0); - close = XtCreateManagedWidget("close", commandWidgetClass, vpane, NULL, 0); - XtAddCallback(close, XtNcallback, PopdownCallback, NULL); - - expert = XtCreateManagedWidget("expert", portholeWidgetClass, paned, NULL, 0); - XtAddCallback(expert, XtNreportCallback, PortholeCallback, NULL); - XtAddCallback(panner, XtNreportCallback, PannerCallback, NULL); - tree = XtCreateManagedWidget("tree", treeWidgetClass, expert, NULL, 0); - - config = XtVaCreateManagedWidget(__XCONFIGFILE__, toggleWidgetClass, tree, - XtNstate, True, NULL); - mainNode = NewNode(NULL, config, config, NULL, NULL); - - files = XtVaCreateManagedWidget("Files", toggleWidgetClass, tree, - XtNtreeParent, config, NULL); - node = NewNode(mainNode, files, files, config, NULL); - mainNode->child = node; - CreateFiles(node); - - modules = XtVaCreateManagedWidget("Module", toggleWidgetClass, tree, - XtNtreeParent, config, NULL); - node->next = NewNode(mainNode, modules, modules, config, NULL); - node = node->next; - CreateModule(node, XF86Config->conf_modules ? - XF86Config->conf_modules->mod_load_lst : NULL); - - flags = XtVaCreateManagedWidget("ServerFlags", commandWidgetClass, tree, - XtNtreeParent, config, NULL); - node->next = NewNode(mainNode, flags, NULL, config, NULL); - node = node->next; - if (XF86Config->conf_flags == NULL) - XF86Config->conf_flags = (XF86ConfFlagsPtr) - XtCalloc(1, sizeof(XF86ConfFlagsRec)); - XtAddCallback(flags, XtNcallback, OptionsCallback, - (XtPointer)&(XF86Config->conf_flags->flg_option_lst)); - - video = XtVaCreateManagedWidget("VideoAdaptor", toggleWidgetClass, tree, - XtNtreeParent, config, NULL); - node->next = NewNode(mainNode, video, video, config, NULL); - node = node->next; - CreateVideoAdaptor(node, XF86Config->conf_videoadaptor_lst); - - modes = XtVaCreateManagedWidget("Mode", toggleWidgetClass, tree, - XtNtreeParent, config, NULL); - node->next = NewNode(mainNode, modes, modes, config, NULL); - node = node->next; - CreateModes(node, XF86Config->conf_modes_lst); - - monitor = XtVaCreateManagedWidget("Monitor", toggleWidgetClass, tree, - XtNtreeParent, config, NULL); - node->next = NewNode(mainNode, monitor, monitor, config, NULL); - node = node->next; - CreateMonitor(monitorTree = node, XF86Config->conf_monitor_lst); - - device = XtVaCreateManagedWidget("Device", toggleWidgetClass, tree, - XtNtreeParent, config, NULL); - node->next = NewNode(mainNode, device, device, config, NULL); - node = node->next; - CreateDevice(node, XF86Config->conf_device_lst); - - screen = XtVaCreateManagedWidget("Screen", toggleWidgetClass, tree, - XtNtreeParent, config, NULL); - node->next = NewNode(mainNode, screen, screen, config, NULL); - node = node->next; - CreateScreen(screenTree = node, XF86Config->conf_screen_lst); - - input = XtVaCreateManagedWidget("Input", toggleWidgetClass, tree, - XtNtreeParent, config, NULL); - node->next = NewNode(mainNode, input, input, config, NULL); - node = node->next; - CreateInput(node, XF86Config->conf_input_lst); - - layout = XtVaCreateManagedWidget("Layout", toggleWidgetClass, tree, - XtNtreeParent, config, NULL); - node->next = NewNode(mainNode, layout, layout, config, NULL); - node = node->next; - CreateLayout(layoutTree = node, XF86Config->conf_layout_lst); - - vendor = XtVaCreateManagedWidget("Vendor", toggleWidgetClass, tree, - XtNtreeParent, config, NULL); - node->next = NewNode(mainNode, vendor, vendor, config, NULL); - node = node->next; - CreateVendor(node, XF86Config->conf_vendor_lst); - - dri = XtVaCreateManagedWidget("DRI", toggleWidgetClass, tree, - XtNtreeParent, config, NULL); - node->next = NewNode(mainNode, dri, dri, config, NULL); - node = node->next; - if (XF86Config->conf_dri == NULL) - XF86Config->conf_dri = (XF86ConfDRIPtr) - XtCalloc(1, sizeof(XF86ConfDRIRec)); - CreateDRI(node, XF86Config->conf_dri); - - XtRealizeWidget(shell); - - XtSetArg(args[0], XtNwidth, &width); - XtSetArg(args[1], XtNheight, &height); - XtGetValues(shell, args, 2); - XtSetArg(args[0], XtNwidth, width); - XtSetArg(args[1], XtNheight, height); - XtSetValues(expert, args, 2); - - XtSetArg(args[0], XtNsliderWidth, width); - XtSetArg(args[1], XtNsliderHeight, height); - XtSetArg(args[2], XtNwidth, &canvasWidth); - XtSetArg(args[3], XtNheight, &canvasHeight); - XtGetValues(tree, args + 2, 2); - XtSetArg(args[2], XtNcanvasWidth, canvasWidth); - XtSetArg(args[3], XtNcanvasHeight, canvasHeight); - XtSetValues(panner, args, 4); - - /* needs to do the apparently NOP code bellow to correctly layout the - * tree widget */ - - /* close all open entries */ - ToggleCallback(config, mainNode, (XtPointer)0); - /* open first level */ - ToggleCallback(config, mainNode, (XtPointer)1); - - XSetWMProtocols(DPY, XtWindow(shell), &wm_delete_window, 1); - - return (True); -} diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/help.c b/xorg-server/hw/xfree86/utils/xorgcfg/help.c deleted file mode 100644 index cd5c2c2f4..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/help.c +++ /dev/null @@ -1,1785 +0,0 @@ -/* - * 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. - * - * Author: Paulo César Pereira de Andrade - * - */ - -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include /* for bsearch() */ -#include -#include "help.h" -#include "options.h" - -/* - * Prototypes - */ -static void CloseCallback(Widget, XtPointer, XtPointer); -static void StartHelp(void); -void Html_ModeStart(Widget); - -/* - * Initialization - */ -static Widget shell, text; -static Bool popped_up = False; - -/* - * Implementation - */ -void -Help(char *topic) -{ - Widget source; - char *str = NULL; - Bool error = False; - static char *def_text = "

Help Error

" - "No help available for the topic %s."; - XtResource resource = { - NULL, "HelpMessage", XtRString, sizeof(char*), - 0, XtRString, NULL - }; - - StartHelp(); - source = XawTextGetSource(text); - XawTextSourceClearEntities(source, 0, - XawTextSourceScan(source, 0, XawstAll, - XawsdRight, 1, True)); - if (topic != NULL) { - resource.resource_name = topic; - XtGetApplicationResources(shell, (XtPointer)&str, - &resource, 1, NULL, 0); - } - if (str == NULL) { - int len; - - error = True; - if (topic == NULL) - topic = "(null argument)"; - str = XtMalloc(len = strlen(topic) + strlen(def_text) + 1); - XmuSnprintf(str, len, def_text, topic); - } - XtVaSetValues(text, XtNstring, str, NULL); - if (error) - XtFree(str); - - Html_ModeStart(source); - _XawTextBuildLineTable((TextWidget)text, - XawTextTopPosition(text), True); - XawTextDisplay(text); - if (popped_up == False) { - popped_up = True; - XtPopup(shell, XtGrabNone); - XtSetKeyboardFocus(shell, text); - } -} - -static void -StartHelp(void) -{ - static XtResource resource = { - "properties", "Properties", XtRString, sizeof(char*), - 0, XtRString, NULL - }; - - if (shell == NULL) { - Widget pane, commands, close; - char *props; - XawTextPropertyList *propl; - - shell = XtCreatePopupShell("help", transientShellWidgetClass, - toplevel, NULL, 0); - pane = XtCreateManagedWidget("pane", panedWidgetClass, - shell, NULL, 0); - text = XtVaCreateManagedWidget("text", asciiTextWidgetClass, - pane, XtNeditType, XawtextRead, NULL); - commands = XtCreateManagedWidget("commands", formWidgetClass, pane, - NULL, 0); - close = XtCreateManagedWidget("close", commandWidgetClass, - commands, NULL, 0); - XtAddCallback(close, XtNcallback, CloseCallback, NULL); - XtRealizeWidget(shell); - XSetWMProtocols(DPY, XtWindow(shell), &wm_delete_window, 1); - XtGetApplicationResources(text, (XtPointer)&props, - &resource, 1, NULL, 0); - propl = XawTextSinkConvertPropertyList("html", props, - toplevel->core.screen, - toplevel->core.colormap, - toplevel->core.depth); - XtVaSetValues(XawTextGetSink(text), XawNtextProperties, propl, NULL); - } -} - -/*ARGSUSED*/ -static void -CloseCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - XtPopdown(shell); - popped_up = False; -} - -/*ARGSUSED*/ -void -HelpCancelAction(Widget w, XEvent *event, String *params, Cardinal *num_params) -{ - CloseCallback(w, NULL, NULL); -} - - -/* bellow is a modified version of the html-mode.c I wrote for xedit - * (at least) temporarily dead. - */ - -/* - * Copyright (c) 1999 by The XFree86 Project, 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 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. - * - * Author: Paulo César Pereira de Andrade - */ - -#define Html_Peek(parser) ((parser)->next) - -/* - * Types - */ -typedef struct _Html_Parser Html_Parser; -typedef struct _Html_Item Html_Item; - -typedef struct _Html_TagInfo { - char *name; - unsigned int entity : 1; /* it changes the type of the text */ - unsigned int nest : 1; /* does not close tags automatically */ - unsigned int end : 1; /* need a close markup */ - unsigned int adnl : 1; /* add newline before/after tag contents */ - unsigned int para : 1; /* changes the paragraph formatting */ - unsigned long mask; /* enforce use of attributes of this tag-info */ - unsigned long xlfd_mask; - void (*parse_args)(Html_Parser*, Html_Item*); - XawTextProperty *override; - XrmQuark ident; -} Html_TagInfo; - -struct _Html_Item { - XrmQuark ident; - XawTextPosition start, end; - Html_TagInfo *info; - - XawTextProperty *combine; - Bool override; - int li; - - XtPointer replace; - - Html_Item *parent, *child, *next; -}; - -struct _Html_Parser { - Widget source; - XawTextBlock block, replace; - XawTextPosition position, offset, start, end, last; - XrmQuark quark; - int i, ch, next; - Html_Item *item, *head; - XmuScanline *mask; - int space, pre, adnl, list, desc, column; - Bool spc; - XawTextBlock *entity; - - Pixel alink; -}; - -typedef struct _Html_SourceInfo Html_SourceInfo; -struct _Html_SourceInfo { - Widget source; - XawTextBlock block; - XawTextPosition last; - Html_SourceInfo *next; -}; - -/* - * Proptotypes - */ -void Html_ModeEnd(Widget); -static void Html_ModeInit(void); -static void Html_ParseCallback(Widget, XtPointer, XtPointer); -static Html_TagInfo *Html_GetInfo(char*); -static int Html_Get(Html_Parser*); -static int Html_Parse1(Html_Parser*); -static int Html_Parse2(Html_Parser*); -static void Html_ParseTag(Html_Parser*); -static void Html_Commit(Html_Parser*); -static void Html_AddEntities(Html_Parser*, Html_Item*); - -static int Html_Put(Html_Parser*, int); -static void Html_Puts(Html_Parser*, char*); -static int Html_Format1(Html_Parser*); -static int Html_Format2(Html_Parser*); -static int Html_Format3(Html_Parser*); -static void Html_FormatTag(Html_Parser*); - -static void Html_AArgs(Html_Parser*, Html_Item*); -static void Html_FontArgs(Html_Parser*, Html_Item*); - -/* - * Initialization - */ -static XrmQuark - Qbr, - Qdefault, - Qdd, - Qdl, - Qdt, - Qentity, - Qetag, - Qhide, - Qli, - Qol, - Qp, - Qpre, - Qspace, - Qtag, - Qul; - -static Html_TagInfo tag_info[] = { - {"a", 1, 0, 1, 0, 0, - 0, 0, - Html_AArgs}, - {"address", 1, 0, 1, 0, 0, - 0, XAW_TPROP_SLANT, - }, - {"b", 1, 0, 1, 0, 0, - 0, XAW_TPROP_WEIGHT, - }, - {"blockquote", 0, 1, 1, 1, 1, - 0, 0, - }, - {"body", 0, 0, 1, 0, 0, - 0, 0, - }, - {"br", 0, 0, 0, 0, 0, - }, - {"code", 1, 0, 1, 0, 0, - 0, XAW_TPROP_FAMILY | XAW_TPROP_PIXELSIZE, - }, - {"dd", 0, 1, 1, 0, 1, - 0, 0}, - {"dl", 0, 1, 1, 0, 0, - 0, 0, - }, - {"dt", 0, 0, 1, 0, 0, - 0, 0}, - {"em", 1, 0, 1, 0, 0, - 0, XAW_TPROP_SLANT, - }, - {"font", 1, 1, 1, 0, 0, - 0, 0, - Html_FontArgs}, - {"h1", 1, 0, 1, 1, 0, - 0, XAW_TPROP_WEIGHT | XAW_TPROP_PIXELSIZE, - }, - {"h2", 1, 0, 1, 1, 0, - 0, XAW_TPROP_WEIGHT | XAW_TPROP_PIXELSIZE, - }, - {"h3", 1, 0, 1, 1, 0, - 0, XAW_TPROP_WEIGHT | XAW_TPROP_PIXELSIZE, - }, - {"h4", 1, 0, 1, 1, 0, - 0, XAW_TPROP_WEIGHT | XAW_TPROP_PIXELSIZE, - }, - {"h5", 1, 0, 1, 1, 0, - 0, XAW_TPROP_WEIGHT | XAW_TPROP_PIXELSIZE, - }, - {"h6", 1, 0, 1, 1, 0, - 0, XAW_TPROP_WEIGHT | XAW_TPROP_PIXELSIZE, - }, - {"head", 0, 0, 1, 0, 0, - 0, 0, - }, - {"html", 0, 0, 1, 0, 0, - 0, 0, - }, - {"i", 1, 0, 1, 0, 0, - 0, XAW_TPROP_SLANT, - }, - {"kbd", 1, 0, 1, 0, 0, - 0, XAW_TPROP_FAMILY | XAW_TPROP_PIXELSIZE, - }, - {"li", 0, 0, 0, 0, 0, - 0, 0}, - {"ol", 0, 1, 1, 0, 1, - 0, 0, - }, - {"p", 0, 0, 0, 1, 0, - }, - {"pre", 1, 0, 1, 1, 0, - 0, XAW_TPROP_FAMILY | XAW_TPROP_PIXELSIZE, - }, - {"samp", 1, 0, 1, 0, 0, - 0, XAW_TPROP_FAMILY | XAW_TPROP_PIXELSIZE, - }, - {"strong", 1, 0, 1, 0, 0, - 0, XAW_TPROP_WEIGHT, - }, - {"tt", 1, 0, 1, 0, 0, - 0, XAW_TPROP_FAMILY | XAW_TPROP_PIXELSIZE, - }, - {"ul", 0, 1, 1, 0, 1, - 0, 0, - }, -}; - -static char *pnl = "

\n", *nlpnl = "\n

\n"; -static Html_SourceInfo *source_info; - -/* - * Implementation - */ -static char * -Html_GetText(Widget src, XawTextPosition position) -{ - char *result, *tempResult; - XawTextPosition offset = 0; - XawTextBlock text; - - tempResult = result = XtMalloc((unsigned)(position + 1)); - - while (offset < position) { - offset = XawTextSourceRead(src, offset, &text, position - offset); - if (!text.length) - break; - memcpy(tempResult, text.ptr, (unsigned)text.length); - tempResult += text.length; - } - - *tempResult = '\0'; - - return (result); -} - -void -Html_ModeStart(Widget src) -{ - Html_Parser *parser = XtNew(Html_Parser); - Html_Item *next, *item; - XColor color, exact; - Html_SourceInfo *info = XtNew(Html_SourceInfo); - - if (XAllocNamedColor(XtDisplay(toplevel), toplevel->core.colormap, - "blue", &color, &exact)) - parser->alink = color.pixel; - else - parser->alink = 0L; - - XtVaSetValues(src, XtNeditType, XawtextEdit, NULL); - - Html_ModeInit(); - - /* initialize parser state */ - parser->source = src; - parser->position = XawTextSourceRead(parser->source, 0, - &parser->block, 4096); - parser->replace.ptr = NULL; - parser->replace.firstPos = 0; - parser->replace.length = 0; - parser->replace.format = FMT8BIT; - parser->offset = -1; - parser->quark = NULLQUARK; - parser->i = 0; - parser->i = parser->ch = parser->next = 0; - parser->last = XawTextSourceScan(src, 0, XawstAll, XawsdRight, 1, 1); - if (parser->block.length == 0) - parser->ch = parser->next = EOF; - else - (void)Html_Get(parser); - parser->pre = 0; - parser->adnl = 1; - parser->list = parser->desc = parser->column = 0; - parser->spc = True; - - info->source = src; - info->block.ptr = Html_GetText(src, parser->last); - info->block.length = parser->last; - info->block.format = FMT8BIT; - info->block.firstPos = 0; - info->next = NULL; - if (source_info == NULL) - source_info = info; - else { - Html_SourceInfo *tmp = source_info; - - while (tmp->next) - tmp = tmp->next; - tmp->next = info; - } - - while (Html_Format1(parser) != EOF) - ; - XawTextSourceReplace(parser->source, 0, parser->last, &parser->replace); - XtFree(parser->replace.ptr); - - /* re-initialize parser state */ - parser->position = XawTextSourceRead(parser->source, 0, - &parser->block, 4096); - parser->offset = -1; - parser->quark = NULLQUARK; - parser->i = parser->ch = parser->next = 0; - parser->last = XawTextSourceScan(src, 0, XawstAll, XawsdRight, 1, 1); - info->last = parser->last; - if (parser->block.length == 0) - parser->ch = parser->next = EOF; - else - (void)Html_Get(parser); - parser->adnl = 1; - parser->list = parser->desc = parser->column = 0; - parser->spc = True; - parser->head = parser->item = NULL; - - parser->mask = XmuNewScanline(0, 0, 0); - - /* build html structure information */ - while (Html_Parse1(parser) != EOF) - ; - - /* create top level entity mask */ - (void)XmuScanlineNot(parser->mask, 0, parser->last); - - item = parser->item; - while (item) { - next = item->next; - Html_AddEntities(parser, item); - if (item->combine) - XtFree((XtPointer)item->combine); - XtFree((XtPointer)item); - item = next; - } - XmuDestroyScanline(parser->mask); - - XtVaSetValues(src, XtNeditType, XawtextRead, NULL); - - XtFree((XtPointer)parser); - - /* add callbacks for interactive changes */ - XtAddCallback(src, XtNpropertyCallback, Html_ParseCallback, NULL); -} - -void -Html_ModeEnd(Widget src) -{ - Html_SourceInfo *info, *pinfo; - - XtRemoveCallback(src, XtNpropertyCallback, Html_ParseCallback, NULL); - for (pinfo = info = source_info; info; pinfo = info, info = info->next) - if (info->source == src) - break; - - if (info == NULL) - return; - - XawTextSourceClearEntities(src, 0, info->last); - XtVaSetValues(src, XtNeditType, XawtextEdit, NULL); - XawTextSourceReplace(src, 0, info->last, &info->block); - XtVaSetValues(src, XtNeditType, XawtextRead, NULL); - - if (info == source_info) - source_info = source_info->next; - else - pinfo->next = info->next; - XtFree(info->block.ptr); - XtFree((XtPointer)info); -} - -static void -Html_ParseCallback(Widget w, XtPointer client_data, XtPointer call_data) -{ -} - -static int -bcmp_tag_info(_Xconst void *left, _Xconst void *right) -{ - return (strcmp((char*)left, ((Html_TagInfo*)right)->name)); -} - -static Html_TagInfo * -Html_GetInfo(char *name) -{ - return (bsearch(name, tag_info, sizeof(tag_info) / sizeof(tag_info[0]), - sizeof(Html_TagInfo), bcmp_tag_info)); -} - -static int -Html_Get(Html_Parser *parser) -{ - if (parser->ch == EOF) - return (EOF); - if (parser->i >= parser->block.length) { - parser->i = 0; - parser->position = XawTextSourceRead(parser->source, parser->position, - &parser->block, 4096); - } - parser->ch = parser->next; - if (parser->block.length == 0) - parser->next = EOF; - else - parser->next = (unsigned char)parser->block.ptr[parser->i++]; - parser->offset++; - - return (parser->ch); -} - -static void -Html_ModeInit(void) -{ - static int initialized; - int i; - - if (initialized) - return; - - Qbr = XrmPermStringToQuark("br"); - Qdd = XrmPermStringToQuark("dd"); - Qdefault = XrmPermStringToQuark("default"); - Qdl = XrmPermStringToQuark("dl"); - Qdt = XrmPermStringToQuark("dt"); - Qentity = XrmPermStringToQuark("entity"); - Qetag = XrmPermStringToQuark("/tag"); - Qhide = XrmPermStringToQuark("hide"); - Qli = XrmPermStringToQuark("li"); - Qol = XrmPermStringToQuark("ol"); - Qp = XrmPermStringToQuark("p"); - Qpre = XrmPermStringToQuark("pre"); - Qspace = XrmPermStringToQuark("space"); - Qtag = XrmPermStringToQuark("tag"); - Qul = XrmPermStringToQuark("ul"); - - for (i = 0; i < sizeof(tag_info) / sizeof(tag_info[0]); i++) - tag_info[i].ident = XrmPermStringToQuark(tag_info[i].name); - - initialized = True; -} - -/************************************************************************/ -/* PARSE */ -/************************************************************************/ -static void -Html_AddEntities(Html_Parser *parser, Html_Item *item) -{ - Html_Item *parent, *next, *child = item->child; - XmuSegment segment, *ent; - XmuScanline *mask = XmuNewScanline(0, 0, 0); - XawTextProperty *tprop, *property = NULL; - Widget sink; - Bool changed = False; - - /* combine properties */ - if (item->info && - (item->info->entity || - (item->parent && item->parent->ident != item->parent->info->ident))) { - sink = XawTextGetSink(text); - parent = item->parent; - property = XawTextSinkCopyProperty(sink, item->ident); - property->mask = item->info->mask; - property->xlfd_mask = item->info->xlfd_mask; - if (parent) { - (void)XawTextSinkCombineProperty(sink, property, - XawTextSinkGetProperty(sink, parent->ident), False); - if (item->combine && parent->combine) - (void)XawTextSinkCombineProperty(sink, item->combine, - parent->combine, - item->override); - } - if (item->combine) - XawTextSinkCombineProperty(sink, property, item->combine, True); - tprop = property; - property = XawTextSinkAddProperty(sink, property); - XtFree((XtPointer)tprop); - if (property && item->ident != property->identifier) { - item->ident = property->identifier; - changed = True; - } - } - - if (item->end < 0) { - if (item->next) - item->end = item->next->start; - else if (item->parent) - item->end = item->parent->end; - else - item->end = parser->last; - } - - while (child) { - next = child->next; - segment.x1 = child->start; - segment.x2 = child->end; - (void)XmuScanlineOrSegment(mask, &segment); - Html_AddEntities(parser, child); - if (child->combine) - XtFree((XtPointer)child->combine); - XtFree((XtPointer)child); - child = next; - } - - /* build entity mask */ - (void)XmuScanlineNot(mask, item->start, item->end); - (void)XmuScanlineAnd(mask, parser->mask); - - /* add entities */ - if (item->info && changed) { - for (ent = mask->segment; ent; ent = ent->next) - (void)XawTextSourceAddEntity(parser->source, 0, 0, NULL, ent->x1, - ent->x2 - ent->x1, item->ident); - } - else if (item->info == NULL) - (void)XawTextSourceAddEntity(parser->source, 0, - XAW_TENTF_READ | XAW_TENTF_REPLACE, - item->replace, item->start, - item->end - item->start, - item->parent->ident); - - /* set mask for parent entities */ - (void)XmuScanlineOr(parser->mask, mask); - XmuDestroyScanline(mask); - -#if 0 - if (item->info && item->info->para) { - XawTextSourceSetParagraph(parser->source, item->start, item->end, - 40, /* arbitrary value, for testing */ - 0, 0); - } -#endif -} - -static void -Html_Commit(Html_Parser *parser) -{ - XawTextPosition position; - int length; - - position = parser->start; - length = parser->end - parser->start; - if (position < 0) { - length += position; - position = 0; - } - if (position + length > parser->last + 1) - length -= (position + length) - parser->last + 1; - - if (parser->quark != Qdefault && parser->quark != NULLQUARK && length > 0) { - XmuSegment segment; - Html_Item *head = parser->head; - XrmQuark quark = parser->quark; - - parser->quark = Qdefault; - - if (quark == Qli && head && - (head->info->ident == Qol || head->info->ident == Qul)) { - if (parser->head == NULL || head->info->ident != Qol) - XawTextSourceAddEntity(parser->source, 0, /*XAW_TENT_BULLET,*/ - XAW_TENTF_HIDE, NULL, - position, length, Qli); - else - XawTextSourceAddEntity(parser->source, 0, /*XAW_TENT_LITEM,*/ - XAW_TENTF_HIDE, - (XtPointer)(long)head->li++, - position, length, Qli); - } - else if (quark == Qhide) - XawTextSourceAddEntity(parser->source, 0, XAW_TENTF_HIDE, NULL, - position, length, quark); - else if (quark == Qentity) { - if (head && head->end == -1) { - Html_Item *item, *it; - - item = XtNew(Html_Item); - item->ident = Qentity; - item->start = position; - item->end = position + length; - item->info = NULL; - item->combine = NULL; - item->override = False; - item->replace = (XtPointer)parser->entity; - item->child = item->next = NULL; - - it = head->child; - - item->parent = head; - if (it == NULL) - head->child = item; - else { - while (it->next) - it = it->next; - it->next = item; - } - - return; - } - XawTextSourceAddEntity(parser->source, 0, - XAW_TENTF_READ | XAW_TENTF_REPLACE, - (XtPointer)parser->entity, - position, length, Qentity); - } - - segment.x1 = position; - segment.x2 = position + length; - (void)XmuScanlineOrSegment(parser->mask, &segment); - } -} - -static void -Html_ParseTag(Html_Parser *parser) -{ - int ch, sz; - char buf[32]; - Html_TagInfo *info; - Html_Item *item = NULL; - XawTextPosition offset = parser->offset - 1; - - switch (Html_Peek(parser)) { - case '!': - (void)Html_Get(parser); /* eat `!' */ - if (Html_Peek(parser) == '-') { - /* comment */ - (void)Html_Get(parser); /* eat `-' */ - if (Html_Peek(parser) == '-') { - int count = 0; - - (void)Html_Get(parser); - while ((ch = Html_Peek(parser)) != EOF) { - if (ch == '>' && count >= 2) - break; - else if (ch == '-') - ++count; - else - count = 0; - (void)Html_Get(parser); - } - } - } - break; - case '?': - break; - case '/': - (void)Html_Get(parser); /* eat `/' */ - sz = 0; - while (isalnum(Html_Peek(parser)) && - ((sz + 1) < sizeof(buf))) - buf[sz++] = tolower(Html_Get(parser)); - buf[sz] = '\0'; - if ((info = Html_GetInfo(buf)) != NULL) { - if (parser->head) { - Html_Item *it = parser->head; - - while (it) { - if (it->info == info) - break; - it = it->parent; - } - - if (it) { - if (it == parser->head) - parser->head->end = offset; - else { - it->end = offset; - do { - parser->head->end = offset; - parser->head = parser->head->parent; - } while (parser->head != it); - } - if (parser->head->parent) - parser->head = parser->head->parent; - else - parser->head = parser->item; - } - } - } - break; - default: - sz = 0; - while (isalnum(Html_Peek(parser)) && - ((sz + 1) < sizeof(buf))) - buf[sz++] = tolower(Html_Get(parser)); - buf[sz] = '\0'; - if ((info = Html_GetInfo(buf)) != NULL) { - if (info->end == False) { - if (info->ident == Qli) - parser->quark = Qli; - if (!info->para) - break; /* no more processing required */ - } - item = XtNew(Html_Item); - item->info = info; - item->ident = item->info->ident; - item->combine = NULL; - item->override = False; - item->start = item->end = -1; - if (info->ident == Qol) - item->li = 1; - else - item->li = 0; - item->parent = item->child = item->next = NULL; - if (parser->item == NULL) - parser->item = parser->head = item; - else if (parser->head->end == -1) { - if (parser->head->info != item->info || info->nest) { - Html_Item *it = parser->head; - - /* first, see if we need to close a long list of tags */ - if (info->ident == Qdd) { - if (parser->head && - parser->head->info->ident == Qdt) { - parser->head->end = offset; - parser->head = parser->head->parent; - } - } - else if (info->ident == Qdt) { - if (parser->head && - parser->head->info->ident == Qdd) { - parser->head->end = offset; - parser->head = parser->head->parent; - } - } - else if (!info->nest) { - while (it) { - if (it->info == info || it->info->end) - break; - it = it->parent; - } - if (it) { - /* close the items */ - while (parser->head != it) { - if (parser->head->info->ident == Qpre) - --parser->pre; - parser->head->end = offset; - parser->head = parser->head->parent; - } - } - } - - /* add child item */ - it = parser->head->child; - - item->parent = parser->head; - if (it == NULL) - parser->head->child = item; - else { - while (it->next) - it = it->next; - it->next = item; - } - parser->head = item; - } - else { - /* close the `head' item and start a new one */ - Html_Item *it; - - parser->head->end = offset; - if (parser->head->parent) - parser->head = parser->head->parent; - else - parser->head = parser->item; - - if ((it = parser->head->child) != NULL) { - item->parent = parser->head; - while (it->next) - it = it->next; - it->next = item; - parser->head = item; - } - else { - parser->head->child = item; - parser->head = item; - } - } - } - else { - /* this is not common, but handle it */ - Html_Item *it = parser->item; - - while (it->next) - it = it->next; - it->next = item; - parser->head = item; - } - if (info->parse_args) - (info->parse_args)(parser, item); - } - break; - } - - /* skip anything not processed */ - while ((ch = Html_Peek(parser)) != '>' && ch != EOF) - (void)Html_Get(parser); - if (item && item->start == -1) - item->start = parser->offset + 1; -} - -/* tags */ -static int -Html_Parse2(Html_Parser *parser) -{ - int ch; - - for (;;) { - if ((ch = Html_Get(parser)) == '<') { - parser->end = parser->offset - 1; - Html_Commit(parser); - parser->quark = Qhide; - parser->start = parser->end; - - Html_ParseTag(parser); - - (void)Html_Get(parser); /* eat `>' */ - parser->end = parser->offset; - Html_Commit(parser); - } - else - return (ch); - } - /*NOTREACHED*/ -} - -/* entities */ -static int -Html_Parse1(Html_Parser *parser) -{ - static XawTextBlock *entities[256]; - static char chars[256]; - int ch; - - for (;;) { - if ((ch = Html_Parse2(parser)) == EOF) - return (EOF); - - if (ch == '&') { - unsigned char idx = '?'; - char buf[32]; - int sz = 0; - - /* the string comparisons need a big optmization! */ - parser->end = parser->offset - 1; - Html_Commit(parser); - parser->start = parser->end; - while ((ch = Html_Peek(parser)) != ';' - && ch != EOF && !isspace(ch)) { - ch = Html_Get(parser); - if (sz + 1 < sizeof(buf)) - buf[sz++] = ch; - } - buf[sz] = '\0'; - if (ch == ';') - (void)Html_Get(parser); - if (sz == 0) - idx = '&'; - else if (strcasecmp(buf, "lt") == 0) - idx = '<'; - else if (strcasecmp(buf, "gt") == 0) - idx = '>'; - else if (strcasecmp(buf, "nbsp") == 0) - idx = ' '; - else if (strcasecmp(buf, "amp") == 0) - idx = '&'; - else if (strcasecmp(buf, "quot") == 0) - idx = '"'; - else if (*buf == '#') { - if (sz == 1) - idx = '#'; - else { - char *tmp; - - idx = strtol(buf + 1, &tmp, 10); - if (*tmp) - idx = '?'; - } - } - else if (strcmp(buf + 1, "acute") == 0) { - switch (*buf) { - case 'a': idx = 0xe1; break; case 'e': idx = 0xe9; break; - case 'i': idx = 0xed; break; case 'o': idx = 0xf3; break; - case 'u': idx = 0xfa; break; case 'A': idx = 0xc1; break; - case 'E': idx = 0xc9; break; case 'I': idx = 0xcd; break; - case 'O': idx = 0xd3; break; case 'U': idx = 0xda; break; - case 'y': idx = 0xfd; break; case 'Y': idx = 0xdd; break; - } - } - else if (strcmp(buf + 1, "grave") == 0) { - switch (*buf) { - case 'a': idx = 0xe0; break; case 'e': idx = 0xe8; break; - case 'i': idx = 0xec; break; case 'o': idx = 0xf2; break; - case 'u': idx = 0xf9; break; case 'A': idx = 0xc0; break; - case 'E': idx = 0xc8; break; case 'I': idx = 0xcc; break; - case 'O': idx = 0xd2; break; case 'U': idx = 0xd9; break; - } - } - else if (strcmp(buf + 1, "tilde") == 0) { - switch (*buf) { - case 'a': idx = 0xe3; break; case 'o': idx = 0xf5; break; - case 'n': idx = 0xf1; break; case 'A': idx = 0xc3; break; - case 'O': idx = 0xd5; break; case 'N': idx = 0xd1; break; - } - } - else if (strcmp(buf + 1, "circ") == 0) { - switch (*buf) { - case 'a': idx = 0xe2; break; case 'e': idx = 0xea; break; - case 'i': idx = 0xee; break; case 'o': idx = 0xf4; break; - case 'u': idx = 0xfb; break; case 'A': idx = 0xc2; break; - case 'E': idx = 0xca; break; case 'I': idx = 0xce; break; - case 'O': idx = 0xd4; break; case 'U': idx = 0xdb; break; - } - } - else if (strcmp(buf + 1, "uml") == 0) { - switch (*buf) { - case 'a': idx = 0xe4; break; case 'e': idx = 0xeb; break; - case 'i': idx = 0xef; break; case 'o': idx = 0xf6; break; - case 'u': idx = 0xfc; break; case 'A': idx = 0xc4; break; - case 'E': idx = 0xcb; break; case 'I': idx = 0xfc; break; - case 'O': idx = 0xd6; break; case 'U': idx = 0xdc; break; - case 'y': idx = 0xff; break; - } - } - else if (strcmp(buf + 1, "cedil") == 0) { - switch (*buf) { - case 'c': idx = 0xe7; break; case 'C': idx = 0xc7; break; - } - } - else if (strcmp(buf + 1, "slash") == 0) { - switch (*buf) { - case 'o': idx = 0xf8; break; case 'O': idx = 0xd8; break; - } - } - else if (strcmp(buf + 1, "ring") == 0) { - switch (*buf) { - case 'a': idx = 0xe5; break; case 'A': idx = 0xc5; break; - } - } - else if (strcasecmp(buf, "iexcl") == 0) - idx = 0xa1; - else if (strcasecmp(buf, "cent") == 0) - idx = 0xa2; - else if (strcasecmp(buf, "pound") == 0) - idx = 0xa3; - else if (strcasecmp(buf, "curren") == 0) - idx = 0xa4; - else if (strcasecmp(buf, "yen") == 0) - idx = 0xa5; - else if (strcasecmp(buf, "brvbar") == 0) - idx = 0xa6; - else if (strcasecmp(buf, "sect") == 0) - idx = 0xa7; - else if (strcasecmp(buf, "uml") == 0) - idx = 0xa8; - else if (strcasecmp(buf, "copy") == 0) - idx = 0xa9; - else if (strcasecmp(buf, "ordf") == 0) - idx = 0xaa; - else if (strcasecmp(buf, "laquo") == 0) - idx = 0xab; - else if (strcasecmp(buf, "not") == 0) - idx = 0xac; - else if (strcasecmp(buf, "shy") == 0) - idx = 0xad; - else if (strcasecmp(buf, "reg") == 0) - idx = 0xae; - else if (strcasecmp(buf, "macr") == 0) - idx = 0xaf; - else if (strcasecmp(buf, "deg") == 0) - idx = 0xb0; - else if (strcasecmp(buf, "plusmn") == 0) - idx = 0xb1; - else if (strcasecmp(buf, "sup2") == 0) - idx = 0xb2; - else if (strcasecmp(buf, "sup3") == 0) - idx = 0xb3; - else if (strcasecmp(buf, "acute") == 0) - idx = 0xb4; - else if (strcasecmp(buf, "micro") == 0) - idx = 0xb5; - else if (strcasecmp(buf, "para") == 0) - idx = 0xb6; - else if (strcasecmp(buf, "middot") == 0) - idx = 0xb7; - else if (strcasecmp(buf, "cedil") == 0) - idx = 0xb8; - else if (strcasecmp(buf, "supl") == 0) - idx = 0xb9; - else if (strcasecmp(buf, "ordm") == 0) - idx = 0xba; - else if (strcasecmp(buf, "raquo") == 0) - idx = 0xbb; - else if (strcasecmp(buf, "frac14") == 0) - idx = 0xbc; - else if (strcasecmp(buf, "frac12") == 0) - idx = 0xbd; - else if (strcasecmp(buf, "frac34") == 0) - idx = 0xbe; - else if (strcasecmp(buf, "iquest") == 0) - idx = 0xbf; - else if (strcasecmp(buf, "AElig") == 0) - idx = 0xc6; - else if (strcasecmp(buf, "ETH") == 0) - idx = 0xd0; - else if (strcasecmp(buf, "THORN") == 0) - idx = 0xde; - else if (strcasecmp(buf, "szlig") == 0) - idx = 0xdf; - else if (strcasecmp(buf, "aelig") == 0) - idx = 0xe6; - else if (strcasecmp(buf, "eth") == 0) - idx = 0xf0; - else if (strcasecmp(buf, "thorn") == 0) - idx = 0xfe; - - parser->quark = Qentity; - if (entities[idx] == NULL) { - entities[idx] = XtNew(XawTextBlock); - entities[idx]->firstPos = 0; - entities[idx]->length = 1; - entities[idx]->ptr = chars + idx; - entities[idx]->format = FMT8BIT; - chars[idx] = idx; - } - parser->entity = entities[idx]; - parser->end = parser->offset; - Html_Commit(parser); - parser->start = parser->end; - } - } - /*NOTREACHED*/ -} - -/************************************************************************/ -/* FORMAT */ -/************************************************************************/ -static int -Html_Put(Html_Parser *parser, int ch) -{ - if (ch != '\r') { - if (parser->replace.length % 4096 == 0) - parser->replace.ptr = XtRealloc(parser->replace.ptr, - parser->replace.length + 4096); - parser->replace.ptr[parser->replace.length++] = ch; - } - - return (ch); -} - -static void -Html_Puts(Html_Parser *parser, char *str) -{ - int len = strlen(str); - - if (parser->replace.length % 4096 == 0 || - parser->replace.length + len > parser->replace.length + - (4096 - (parser->replace.length % 4096))) - parser->replace.ptr = XtRealloc(parser->replace.ptr, - parser->replace.length + 4096); - memcpy(parser->replace.ptr + parser->replace.length, str, len); - parser->replace.length += len; -} - -static void -Html_FormatTag(Html_Parser *parser) -{ - int ch = 0, sz = 0; - char buf[32]; - Html_TagInfo *info = NULL; - - switch (Html_Peek(parser)) { - case '!': - Html_Put(parser, '<'); - Html_Put(parser, Html_Get(parser)); /* eat `!' */ - if (Html_Peek(parser) == '-') { - /* comment */ - Html_Put(parser, Html_Get(parser)); /* eat `-' */ - if (Html_Peek(parser) == '-') { - int count = 0; - - Html_Put(parser, Html_Get(parser)); - while ((ch = Html_Peek(parser)) != EOF) { - if (ch == '>' && count >= 2) - break; - else if (ch == '-') - ++count; - else - count = 0; - Html_Put(parser, Html_Get(parser)); - } - (void)Html_Get(parser); /* eat `>' */ - Html_Put(parser, '>'); - return; - } - } - break; - case '?': - Html_Put(parser, '<'); - break; - case '/': - (void)Html_Get(parser); /* eat `/' */ - while (isalnum(Html_Peek(parser)) && - ((sz + 1) < sizeof(buf))) - buf[sz++] = ch = tolower(Html_Get(parser)); - buf[sz] = '\0'; - if ((info = Html_GetInfo(buf)) != NULL && info->adnl) { - if (info->ident == Qpre && parser->pre) { - if (--parser->pre == 0) - parser->column = 0; - } - parser->quark = Qetag; - parser->spc = True; - if (info->ident == Qp) { - while ((ch = Html_Peek(parser) != '>' && ch != EOF)) - (void)Html_Get(parser); - (void)Html_Get(parser); /* eat '>' */ - return; - } - } - else if (info) { - if (info->ident == Qol || info->ident == Qul) { - if (parser->list && --parser->list == 0 && - parser->desc == 0) { - parser->quark = Qetag; - Html_Put(parser, '\n'); - ++parser->adnl; - parser->column = 0; - } - } - else if (info->ident == Qdl) { - if (parser->desc && --parser->desc == 0 && - parser->list == 0) { - parser->quark = Qetag; - Html_Put(parser, '\n'); - ++parser->adnl; - parser->column = 0; - } - } - } - Html_Puts(parser, "adnl) { - if (info->ident == Qpre) - ++parser->pre; - if (parser->quark != Qtag) { - if (parser->adnl < 2) { - Html_Puts(parser, parser->adnl ? pnl : nlpnl); - parser->adnl = 2; - parser->spc = True; - parser->column = 0; - } - } - parser->quark = Qtag; - if (info->ident == Qp) { - while ((ch = Html_Peek(parser) != '>' && ch != EOF)) - (void)Html_Get(parser); - (void)Html_Get(parser); /* eat '>' */ - return; - } - } - else if (info) { - if (info->ident == Qol || info->ident == Qul) { - if (++parser->list == 1 && !parser->desc) { - if (parser->adnl < 2) { - Html_Puts(parser, parser->adnl ? pnl : nlpnl); - parser->adnl = 2; - parser->column = 0; - } - } - else if (parser->adnl == 0) { - Html_Put(parser, '\n'); - parser->adnl = 1; - parser->column = 0; - } - parser->spc = True; - } - else if (info->ident == Qli) { - if (parser->adnl == 0) { - Html_Put(parser, '\n'); - parser->adnl = 1; - parser->column = 0; - } - } - - else if (info->ident == Qdl) { - if (++parser->desc == 1 && !parser->list) { - if (parser->adnl < 2) { - Html_Puts(parser, parser->adnl ? pnl : nlpnl); - parser->adnl = 2; - parser->column = 0; - } - } - else if (parser->adnl == 0) { - Html_Put(parser, '\n'); - parser->adnl = 1; - parser->column = 0; - } - parser->spc = True; - } - else if (info->ident == Qdd) { - if (parser->desc == 0) { - if (parser->adnl < 2) { - Html_Puts(parser, parser->adnl ? pnl : nlpnl); - parser->adnl = 2; - parser->column = 0; - } - } - else if (parser->adnl == 0) { - Html_Put(parser, '\n'); - parser->adnl = 1; - parser->column = 0; - } - parser->spc = True; - } - else if (info->ident == Qdt) { - if (parser->adnl == 0) { - Html_Put(parser, '\n'); - parser->adnl = 1; - parser->spc = True; - parser->column = 0; - } - } - } - Html_Put(parser, '<'); - Html_Puts(parser, buf); - break; - } - - sz = 0; - while ((ch = Html_Peek(parser)) != '>' && ch != EOF) { - if (isspace(ch)) { - (void)Html_Get(parser); - ++sz; - continue; - } - else if (sz) { - Html_Put(parser, ' '); - sz = 0; - } - Html_Put(parser, Html_Get(parser)); - } - Html_Put(parser, Html_Get(parser)); /* eat `>' */ - if (info && info->ident == Qbr) { - ++parser->adnl; - parser->spc = True; - Html_Put(parser, '\n'); - parser->quark = info->ident; - parser->column = 0; - } -} - -/* tags */ -static int -Html_Format3(Html_Parser *parser) -{ - int ch; - - for (;;) { - if ((ch = Html_Get(parser)) == '<') { - if (parser->quark == Qspace && parser->spc == False) { - Html_Put(parser, ' '); - parser->spc = True; - } - -/* parser->quark = Qhide;*/ - Html_FormatTag(parser); - } - else - return (ch); - } - /*NOTREACHED*/ -} - -/* entities */ -static int -Html_Format2(Html_Parser *parser) -{ - int ch; - - for (ch = Html_Format3(parser); ch == '&'; ch = Html_Format3(parser)) { - Html_Put(parser, '&'); - while ((ch = Html_Peek(parser)) != ';') { - if (isspace(ch) || ch == EOF) - break; - Html_Put(parser, Html_Get(parser)); - } - if (ch != EOF) - Html_Put(parser, Html_Get(parser)); - else - break; - if (parser->pre) - ++parser->column; - } - - return (ch); -} - -/* spaces */ -static int -Html_Format1(Html_Parser *parser) -{ - int ch; - - for (;;) { - if ((ch = Html_Format2(parser)) == EOF) - return (ch); - - if (parser->quark == Qetag) { - if (parser->adnl < 2) { - Html_Puts(parser, parser->adnl ? pnl : nlpnl); - parser->adnl = 2; - parser->spc = True; - } - } - else if (parser->quark == Qspace && parser->spc == False) { - Html_Put(parser, ' '); - parser->spc = True; - } - - if (!parser->pre && isspace(ch)) - parser->quark = Qspace; - else { - if (parser->pre) { - if (parser->spc) { - /* did not yet see any non space character */ - if (isspace(ch)) { - if (ch == '\n') { - parser->column = 0; - parser->spc = False; - parser->adnl = 1; - } - else if (ch == '\t') - parser->column += 8 - (parser->column % 8); - else - ++parser->column; - continue; - } - else { - int column = parser->column; - - while (column-- > 0) - Html_Put(parser, ' '); - parser->spc = False; - parser->adnl = 0; - } - } - else if (ch == '\n') { - ++parser->adnl; - parser->column = 0; - } - else if (ch == '\t') { - int column = parser->column + (8 - (parser->column % 8)); - - parser->adnl = 0; - while (parser->column < column) { - Html_Put(parser, ' '); - ++parser->column; - } - continue; - } - else { - parser->adnl = 0; - ++parser->column; - } - } - else - parser->adnl = 0; - Html_Put(parser, ch); - parser->quark = Qdefault; - parser->spc = False; - } - } -} - -/************************************************************************/ -/* ARGUMENTS */ -/************************************************************************/ -static void -Html_AArgs(Html_Parser *parser, Html_Item *item) -{ - int ch, sz; - char buf[32]; - - /*CONSTCOND*/ - while (True) { - sz = 0; - while ((ch = Html_Peek(parser)) != '>' && ch != EOF) { - if (isalnum(ch)) - break; - else - (void)Html_Get(parser); - } - - if (ch == '>' || ch == EOF) - return; - buf[sz++] = tolower(Html_Get(parser)); - while ((ch = Html_Peek(parser)) != '>' && ch != EOF) - if (isalnum(ch)) - buf[sz++] = tolower(Html_Get(parser)); - else - break; - buf[sz] = '\0'; - if (strcmp(buf, "href") == 0) { - item->combine = XawTextSinkCopyProperty(XawTextGetSink(text), - item->info->ident); - item->override = True; - item->combine->xlfd_mask = 0L; - item->combine->mask = XAW_TPROP_UNDERLINE | XAW_TPROP_FOREGROUND; - item->combine->foreground = parser->alink; - return; - } - while ((ch = Html_Peek(parser)) != '>' && ch != EOF) { - if (isspace(ch)) - break; - else - (void)Html_Get(parser); - } - } -} - -static void -Html_FontArgs(Html_Parser *parser, Html_Item *item) -{ - int ch, sz; - char name[32], value[256], xlfd[128]; - - item->combine = XawTextSinkCopyProperty(XawTextGetSink(text), - Qdefault); - item->override = True; - item->combine->mask = item->combine->xlfd_mask = 0L; - - /*CONSTCOND*/ - while (True) { - /* skip white spaces */ - while ((ch = Html_Peek(parser)) != '>' && ch != EOF) { - if (isalnum(ch)) - break; - else - (void)Html_Get(parser); - } - - if (ch == '>' || ch == EOF) - return; - - /* read option name */ - sz = 0; - name[sz++] = tolower(Html_Get(parser)); - while ((ch = Html_Peek(parser)) != '>' && ch != EOF) - if (isalnum(ch) && (sz + 1 < sizeof(name))) - name[sz++] = tolower(Html_Get(parser)); - else - break; - name[sz] = '\0'; - - if (ch != '=') - continue; - (void)Html_Get(parser); /* skip `=' */ - if (Html_Peek(parser) == '"') - (void)Html_Get(parser); - - sz = 0; - while ((ch = Html_Peek(parser)) != '>' && ch != EOF) { - if (!isspace(ch) && (sz + 1 < sizeof(value))) - value[sz++] = Html_Get(parser); - else - break; - } - value[sz] = '\0'; - if (sz > 0 && value[sz - 1] == '"') - value[--sz] = '\0'; - - if (strcmp(name, "color") == 0) { - XColor color, exact; - - if (XAllocNamedColor(XtDisplay(toplevel), toplevel->core.colormap, - value, &color, &exact)) { - item->combine->mask |= XAW_TPROP_FOREGROUND; - item->combine->foreground = color.pixel; - } - } - else if (strcmp(name, "face") == 0) { - int count = 0; - char *ptr, *family, **font_list; - - ptr = value; - do { - family = ptr; - ptr = strchr(ptr, ','); - if (ptr) - *ptr++ = '\0'; - XmuSnprintf(xlfd, sizeof(xlfd), "-*-%s-*-*-*-*-*-*-*-*-*-*-*-*", - family); - font_list = XListFonts(XtDisplay(toplevel), xlfd, 1, &count); - if (font_list) - XFreeFontNames(font_list); - if (count) - break; - } while (ptr); - if (count) { - item->combine->xlfd_mask |= XAW_TPROP_FAMILY; - item->combine->family = XrmStringToQuark(family); - } - } - else if (strcmp(name, "size") == 0) { - int size, sign = 0; - - if (isalnum(*value)) { - size = atoi(value); - sign = 0; - } - else { - char *str = XrmQuarkToString(item->combine->pixel_size); - - size = str ? atoi(str) : 12; - if (*value == '+') { - size += atoi(value + 1); - sign = 1; - } - else if (*value == '-') { - size -= atoi(value + 1); - sign = -1; - } - } - - if (item->combine->xlfd != NULLQUARK) { - int count, ucount, dcount, usize, dsize; - char **current, **result, **up, **down; - - current = result = up = down = NULL; - /* try to load an appropriate font */ - XmuSnprintf(value, sizeof(value), - "-*-%s-%s-%s-*--%%d-*-*-*-*-*-%s-%s", - XrmQuarkToString(item->combine->family), - XrmQuarkToString(item->combine->weight), - XrmQuarkToString(item->combine->slant), - XrmQuarkToString(item->combine->registry), - XrmQuarkToString(item->combine->encoding)); - XmuSnprintf(xlfd, sizeof(xlfd), value, - atoi(XrmQuarkToString(item->combine->pixel_size))); - current = XListFonts(XtDisplay(toplevel), xlfd, 1, &count); - if (count) { - ucount = dcount = usize = dsize = 0; - - XmuSnprintf(xlfd, sizeof(xlfd), value, size); - result = XListFonts(XtDisplay(toplevel), xlfd, 1, &count); - if (count == 0 || strstr(*result, "-0-")) { - if (sign <= 0) { - sz = dsize = size; - while (dcount == 0 && --sz > size - 8 && sz > 1) { - XmuSnprintf(xlfd, sizeof(xlfd), value, sz); - down = XListFonts(XtDisplay(toplevel), xlfd, - 1, &dcount); - if (dcount && strstr(*down, "-0-") != NULL) { - XFreeFontNames(down); - down = NULL; - dcount = 0; - } - } - if (dcount) - dsize = sz; - } - if (sign >= 0) { - sz = usize = size; - while (ucount == 0 && ++sz < size + 8) { - XmuSnprintf(xlfd, sizeof(xlfd), value, sz); - up = XListFonts(XtDisplay(toplevel), xlfd, - 1, &ucount); - if (ucount && strstr(*up, "-0-") != NULL) { - XFreeFontNames(up); - up = NULL; - ucount = 0; - } - } - if (ucount) - usize = sz; - } - if (ucount && dcount) - size = size - dsize < usize - size ? dsize : usize; - else if (ucount) - size = usize; - else if (dcount) - size = dsize; - } - if (current) - XFreeFontNames(current); - if (result) - XFreeFontNames(result); - if (up) - XFreeFontNames(up); - if (down) - XFreeFontNames(down); - } - } - - XmuSnprintf(value, sizeof(value), "%d", size); - item->combine->xlfd_mask |= XAW_TPROP_PIXELSIZE; - item->combine->pixel_size = XrmStringToQuark(value); - } - - while ((ch = Html_Peek(parser)) != '>' && ch != EOF) { - if (isspace(ch)) - break; - else - (void)Html_Get(parser); - } - } -} diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/help.h b/xorg-server/hw/xfree86/utils/xorgcfg/help.h deleted file mode 100644 index 141f50402..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/help.h +++ /dev/null @@ -1,40 +0,0 @@ -/* - * 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. - * - * Author: Paulo César Pereira de Andrade - */ - -/* help string definitions */ -#define HELP_DEVICES "helpDevices" /* Configure Layout */ -#define HELP_SCREEN "helpScreen" /* Configure Screen */ -#define HELP_MODELINE "helpModeline" /* Configure Modeline */ -#define HELP_ACCESSX "helpAccessX" /* Configure AccessX */ - -/* - * Prototypes - */ -void Help(char*); -void HelpCancelAction(Widget, XEvent*, String*, Cardinal*); diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/interface.c b/xorg-server/hw/xfree86/utils/xorgcfg/interface.c deleted file mode 100644 index cb39624ca..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/interface.c +++ /dev/null @@ -1,2278 +0,0 @@ -/* - * 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. - * - * Author: Paulo César Pereira de Andrade - * - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "xf86config.h" -#include "mouse-cfg.h" -#include "keyboard-cfg.h" -#include "card-cfg.h" -#include "monitor-cfg.h" -#include "screen-cfg.h" -#include "screen.h" -#include "cards.h" -#include "options.h" -#include "vidmode.h" -#include "help.h" -#include "stubs.h" - -#define randomize() srand((unsigned)time((time_t*)NULL)) -#ifdef PROJECT_ROOT -#define DefaultXFree86Dir PROJECT_ROOT -#else -#define DefaultXFree86Dir "/usr" -#endif - -#define IS_KBDDRIV(S) ((strcasecmp((S),"kbd") == 0)) - -/* - * Prototypes - */ -void DrawCables(void); -static void DrawCable(Display*, Window, int, int, int, int); -static void ComputerEventHandler(Widget, XtPointer, XEvent*, Boolean*); -void SelectDeviceAction(Widget, XEvent*, String*, Cardinal*); -void MoveDeviceAction(Widget, XEvent*, String*, Cardinal*); -void UnselectDeviceAction(Widget, XEvent*, String*, Cardinal*); -void RenameLayoutAction(Widget, XEvent*, String*, Cardinal*); -void DevicePopupMenu(Widget, XEvent*, String*, Cardinal*); -void DevicePopdownMenu(Widget, XEvent*, String*, Cardinal*); -void AddDeviceCallback(Widget, XtPointer, XtPointer); -void QuitCallback(Widget, XtPointer, XtPointer); -void SmeConfigureDeviceCallback(Widget, XtPointer, XtPointer); -void ConfigureDeviceCallback(Widget, XtPointer, XtPointer); -void EnableDeviceCallback(Widget, XtPointer, XtPointer); -void DisableDeviceCallback(Widget, XtPointer, XtPointer); -void RemoveDeviceCallback(Widget, XtPointer, XtPointer); -void InitializeDevices(void); -void SetConfigModeCallback(Widget, XtPointer, XtPointer); -void SelectLayoutCallback(Widget, XtPointer, XtPointer); -void DefaultLayoutCallback(Widget, XtPointer, XtPointer); -void RemoveLayoutCallback(Widget, XtPointer, XtPointer); -void OptionsCallback(Widget, XtPointer, XtPointer); -xf86cfgDevice *AddDevice(int, XtPointer, int, int); -static Bool AskConfig(void); -void WriteConfigAction(Widget, XEvent*, String*, Cardinal*); -static void ScreenSetup(Bool); -void QuitAction(Widget, XEvent*, String*, Cardinal*); -void PopdownErrorCallback(Widget, XtPointer, XtPointer); -static void ErrorCancelAction(Widget, XEvent*, String*, Cardinal*); -static void QuitCancelAction(Widget, XEvent*, String*, Cardinal*); -static void HelpCallback(Widget, XtPointer, XtPointer); -void UpdateMenuDeviceList(int); - -extern void AccessXConfigureStart(void); -extern void AccessXConfigureEnd(void); -extern void CloseAccessXAction(Widget, XEvent*, String*, Cardinal*); - -#ifdef HAS_NCURSES -extern void TextMode(void); -#endif - -static void Usage(void); - -/* - * Initialization - */ -Widget toplevel, work, config, layout, layoutsme, layoutp, topMenu; -XtAppContext appcon; - -Pixmap menuPixmap; - -char *XF86Config_path = NULL; -char *XF86Module_path = NULL; -char *XFree86_path = NULL; -char *XF86Font_path = NULL; -char *XF86RGB_path = NULL; -char *XkbConfig_path = NULL; -char *XFree86Dir; -static char XF86Config_path_static[1024]; -static char XkbConfig_path_static[1024]; -Bool xf86config_set = False; - -int textmode = False; -#ifdef USE_MODULES -int nomodules = False; -#endif -int noverify = False; - -xf86cfgComputer computer; -xf86cfgDevice cpu_device; -Cursor no_cursor; -static Widget device, layoutm, popup, commands; -static int xpos, ypos; -int sxpos, sypos; -static char no_cursor_data[] = { 0,0,0,0, 0,0,0,0 }; -static GC cablegc, cablegcshadow; -Atom wm_delete_window; -static Bool config_set = False; -static Widget mouseSme, mouseMenu, keyboardSme, keyboardMenu, - cardSme, cardMenu, monitorSme, monitorMenu; - -int config_mode = CONFIG_LAYOUT; - -static XtActionsRec actions[] = { - {"filter-card", CardFilterAction}, - {"select-device", SelectDeviceAction}, - {"move-device", MoveDeviceAction}, - {"unselect-device", UnselectDeviceAction}, - {"device-popup", DevicePopupMenu}, - {"device-popdown", DevicePopdownMenu}, - {"rename-layout", RenameLayoutAction}, - {"write-config", WriteConfigAction}, - {"quit", QuitAction}, - {"vidmode-restore", VidmodeRestoreAction}, - {"config-cancel", ConfigCancelAction}, - {"options-cancel", OptionsCancelAction}, - {"error-cancel", ErrorCancelAction}, - {"quit-cancel", QuitCancelAction}, - {"addmode-cancel", CancelAddModeAction}, - {"accessx-close", CloseAccessXAction}, - {"testmode-cancel", CancelTestModeAction}, - {"help-close", HelpCancelAction}, - {"expert-close", ExpertCloseAction}, -#ifdef USE_MODULES - {"module-options-close", ModuleOptionsCancelAction}, -#endif -}; - -static char *device_names[] = { -/* MOUSE */ - "mouse", -/* KEYBOARD */ - "keyboard", -/* CARD */ - "card", -/* MONITOR */ - "monitor", -/* SCREEN */ - "screen", -}; - -static XtResource appResources[] = { -#if 0 - {"config", __XCONFIGFILE__, XtRString, sizeof(char*), - 0, XtRString, "/etc/X11/"__XCONFIGFILE__}, -#endif - {"menuBitmap", "MenuBitmap", XtRString, sizeof(char*), - 0, XtRString, "menu10"}, -}; - -static void -Usage(void) -{ - fprintf(stderr, -"Usage:\n" -" xorgcfg [-option ...]\n" -"\n" -"Options:\n" -" -config <"__XCONFIGFILE__"> Alternate configuration file.\n" -" -modulepath "__XSERVERNAME__" modules location.\n" -" -serverpath X server to start (if $DISPLAY is not defined).\n" -" -fontpath Font path for fonts.\n" -#ifdef HAS_NCURSES -" -textmode Use this option for the text only interface.\n" -#endif -#ifdef USE_MODULES -" -nomodules Use this option if xorgcfg is slow to start.\n" -" -verbose Verbosity used in the loader (default 1).\n" -#endif -" -verify Verify modules/options integrity.\n" -); - - exit(1); -} - -/* - * Implementation - */ -int -main(int argc, char *argv[]) -{ - Widget pane, hpane, expert, popup, mouse, keyboard, card, monitor; - Widget bottom, sme, smemodeline, help, quit, layopt; - XColor color, tmp; - Pixmap pixmap; - XGCValues values; - XF86ConfLayoutPtr lay; - int i, startedx; - char *menuPixmapPath = NULL; - XrmValue from, to; - - if ((XFree86Dir = getenv("XWINHOME")) == NULL) - XFree86Dir = DefaultXFree86Dir; - - chdir(XFree86Dir); - -#ifdef USE_MODULES - xf86Verbose = 1; -#endif - noverify = True; - - for (i = 1; i < argc; i++) { - if (strcmp(argv[i], "-config") == 0 || - strcmp(argv[i], "-xorgconfig") == 0 || - strcmp(argv[i], "-xf86config") == 0) { - if (i + 1 < argc) { - XF86Config_path = argv[++i]; - config_set = True; - } - } else if (strcmp(argv[i], "-modulepath") == 0) { - if (i + 1 < argc) - XF86Module_path = argv[++i]; - } else if (strcmp(argv[i], "-serverpath") == 0) { - if (i + 1 < argc) - XFree86_path = argv[++i]; - } else if (strcmp(argv[i], "-fontpath") == 0) { - if (i + 1 < argc) - XF86Font_path = argv[++i]; - } -#ifdef HAS_NCURSES - else if (strcmp(argv[i], "-textmode") == 0) - textmode = True; -#endif -#ifdef USE_MODULES - else if (strcmp(argv[i], "-nomodules") == 0) - nomodules = True; - else if (strcmp(argv[i], "-verbose") == 0) { - if (i + 1 < argc) - xf86Verbose = atoi(argv[++i]); - } -#endif - else if (strcmp(argv[i], "-verify") == 0) - noverify = False; - else - Usage(); - } - -#ifdef HAS_NCURSES - if (textmode) { - TextMode(); - exit(0); - } -#endif - - startedx = startx(); - if (XF86Config_path == NULL) - XF86Config_path = XtNewString(__XCONFIGFILE__); - if (XkbConfig_path == NULL) { - XmuSnprintf(XkbConfig_path_static, sizeof(XkbConfig_path_static), - "%s/%s%s", XFree86Dir, XkbConfigDir, XkbConfigFile); - XkbConfig_path = XkbConfig_path_static; - } - toplevel = XtAppInitialize(&appcon, "XOrgCfg", - NULL, 0, - &argc, argv, - NULL, NULL, 0); - if (DPY == NULL) - DPY = XtDisplay(toplevel); - - XtGetApplicationResources(toplevel, (XtPointer)&menuPixmapPath, - appResources, XtNumber(appResources), NULL, 0); - if (menuPixmapPath && strlen(menuPixmapPath)) { - from.size = strlen(menuPixmapPath); - from.addr = menuPixmapPath; - to.size = sizeof(Pixmap); - to.addr = (XtPointer)&(menuPixmap); - XtConvertAndStore(toplevel, XtRString, &from, XtRBitmap, &to); - } - - XtAppAddActions(appcon, actions, XtNumber(actions)); - - XawSimpleMenuAddGlobalActions(appcon); - XtRegisterGrabAction(DevicePopupMenu, True, - ButtonPressMask | ButtonReleaseMask, - GrabModeAsync, GrabModeAsync); - - pane = XtCreateManagedWidget("pane", panedWidgetClass, - toplevel, NULL, 0); - hpane = XtVaCreateManagedWidget("hpane", panedWidgetClass, pane, - XtNorientation, XtorientHorizontal, NULL); - topMenu = XtCreateManagedWidget("topM", menuButtonWidgetClass, - hpane, NULL, 0); - expert = XtCreateManagedWidget("expert", commandWidgetClass, hpane, NULL, 0); - XtAddCallback(expert, XtNcallback, ExpertCallback, NULL); - popup = XtCreatePopupShell("menu", simpleMenuWidgetClass, - topMenu, NULL, 0); - sme = XtCreateManagedWidget("layout", smeBSBObjectClass, - popup, NULL, 0); - XtAddCallback(sme, XtNcallback, SetConfigModeCallback, - (XtPointer)CONFIG_LAYOUT); - sme = XtCreateManagedWidget("screen", smeBSBObjectClass, - popup, NULL, 0); - XtAddCallback(sme, XtNcallback, SetConfigModeCallback, - (XtPointer)CONFIG_SCREEN); - smemodeline = XtCreateManagedWidget("modeline", smeBSBObjectClass, - popup, NULL, 0); - XtAddCallback(smemodeline, XtNcallback, SetConfigModeCallback, - (XtPointer)CONFIG_MODELINE); - sme = XtCreateManagedWidget("accessx", smeBSBObjectClass, - popup, NULL, 0); - XtAddCallback(sme, XtNcallback, SetConfigModeCallback, - (XtPointer)CONFIG_ACCESSX); - - commands = XtCreateManagedWidget("commands", formWidgetClass, - pane, NULL, 0); - - mouse = XtVaCreateManagedWidget("mouse", menuButtonWidgetClass, - commands, XtNmenuName, "mouseP", NULL); - popup = XtCreatePopupShell("mouseP", simpleMenuWidgetClass, - mouse, NULL, 0); - sme = XtCreateManagedWidget("new", smeBSBObjectClass, - popup, NULL, 0); - XtAddCallback(sme, XtNcallback, AddDeviceCallback, (XtPointer)MOUSE); - mouseSme = XtCreateManagedWidget("configure", smeBSBObjectClass, - popup, NULL, 0); - XtAddCallback(mouseSme, XtNcallback, SmeConfigureDeviceCallback, - (XtPointer)MOUSE); - - keyboard = XtVaCreateManagedWidget("keyboard", menuButtonWidgetClass, - commands, XtNmenuName, "keyboardP", NULL); - popup = XtCreatePopupShell("keyboardP", simpleMenuWidgetClass, - keyboard, NULL, 0); - sme = XtCreateManagedWidget("new", smeBSBObjectClass, - popup, NULL, 0); - XtAddCallback(sme, XtNcallback, AddDeviceCallback, (XtPointer)KEYBOARD); - keyboardSme = XtCreateManagedWidget("configure", smeBSBObjectClass, - popup, NULL, 0); - XtAddCallback(keyboardSme, XtNcallback, SmeConfigureDeviceCallback, - (XtPointer)KEYBOARD); - - card = XtVaCreateManagedWidget("card", menuButtonWidgetClass, - commands, XtNmenuName, "cardP", NULL); - popup = XtCreatePopupShell("cardP", simpleMenuWidgetClass, - card, NULL, 0); - sme = XtCreateManagedWidget("new", smeBSBObjectClass, - popup, NULL, 0); - XtAddCallback(sme, XtNcallback, AddDeviceCallback, (XtPointer)CARD); - cardSme = XtCreateManagedWidget("configure", smeBSBObjectClass, - popup, NULL, 0); - XtAddCallback(cardSme, XtNcallback, SmeConfigureDeviceCallback, - (XtPointer)CARD); - - monitor = XtVaCreateManagedWidget("monitor", menuButtonWidgetClass, - commands, XtNmenuName, "monitorP", NULL); - popup = XtCreatePopupShell("monitorP", simpleMenuWidgetClass, - monitor, NULL, 0); - sme = XtCreateManagedWidget("new", smeBSBObjectClass, - popup, NULL, 0); - XtAddCallback(sme, XtNcallback, AddDeviceCallback, (XtPointer)MONITOR); - monitorSme = XtCreateManagedWidget("configure", smeBSBObjectClass, - popup, NULL, 0); - XtAddCallback(monitorSme, XtNcallback, SmeConfigureDeviceCallback, - (XtPointer)MONITOR); - - work = XtCreateManagedWidget("work", compositeWidgetClass, - pane, NULL, 0); - - bottom = XtCreateManagedWidget("bottom", formWidgetClass, - pane, NULL, 0); - layoutm = XtCreateManagedWidget("select", menuButtonWidgetClass, - bottom, NULL, 0); - layout = XtVaCreateManagedWidget("layout", asciiTextWidgetClass, - bottom, - XtNeditType, XawtextEdit, - NULL); - layoutp = XtCreatePopupShell("menu", simpleMenuWidgetClass, - bottom, NULL, 0); - sme = XtCreateManagedWidget("new", smeBSBObjectClass, layoutp, - NULL, 0); - XtAddCallback(sme, XtNcallback, SelectLayoutCallback, NULL); - help = XtCreateManagedWidget("help", commandWidgetClass, - bottom, NULL, 0); - XtAddCallback(help, XtNcallback, HelpCallback, NULL); - quit = XtCreateManagedWidget("quit", commandWidgetClass, - bottom, NULL, 0); - XtAddCallback(quit, XtNcallback, QuitCallback, NULL); - - XtRealizeWidget(toplevel); - XtRealizeWidget(topMenu); - - pixmap = XCreateBitmapFromData(XtDisplay(toplevel), XtWindow(toplevel), - no_cursor_data, 8, 8); - XAllocNamedColor(XtDisplay(toplevel), toplevel->core.colormap, "black", - &color, &tmp); - no_cursor = XCreatePixmapCursor(XtDisplay(toplevel), pixmap, pixmap, - &color, &color, 0, 0); - - XAllocNamedColor(XtDisplay(toplevel), toplevel->core.colormap, "gray55", - &color, &tmp); - values.line_width = 3; - values.foreground = color.pixel; - cablegcshadow = XCreateGC(XtDisplay(toplevel), XtWindow(toplevel), - GCForeground | GCLineWidth, &values); - XAllocNamedColor(XtDisplay(toplevel), toplevel->core.colormap, "gray85", - &color, &tmp); - values.line_width = 1; - values.foreground = color.pixel; - cablegc = XCreateGC(XtDisplay(toplevel), XtWindow(toplevel), - GCForeground | GCLineWidth, &values); - - computer.cpu = XtCreateManagedWidget("cpu", simpleWidgetClass, - work, NULL, 0); - cpu_device.widget = computer.cpu; - cpu_device.type = SERVER; - - XtAddEventHandler(work, ExposureMask, False, - ComputerEventHandler, (XtPointer)NULL); - - wm_delete_window = XInternAtom(DPY, "WM_DELETE_WINDOW", False); - XSetWMProtocols(DPY, XtWindow(toplevel), &wm_delete_window, 1); - - StartConfig(); - InitializeDevices(); - UpdateMenuDeviceList(MOUSE); - UpdateMenuDeviceList(KEYBOARD); - UpdateMenuDeviceList(CARD); - UpdateMenuDeviceList(MONITOR); - XtSetSensitive(smemodeline, VideoModeInitialize()); - - lay = XF86Config->conf_layout_lst; - while (lay != NULL) { - sme = XtVaCreateManagedWidget("sme", smeBSBObjectClass, - layoutp, - XtNlabel, lay->lay_identifier, - XtNmenuName, lay->lay_identifier, - XtNleftBitmap, menuPixmap, - NULL); - XtAddCallback(sme, XtNcallback, SelectLayoutCallback, (XtPointer)lay); - if (layoutsme == NULL) - layoutsme = sme; - layopt = XtCreatePopupShell(lay->lay_identifier, simpleMenuWidgetClass, - layoutp, NULL, 0); - sme = XtCreateManagedWidget("default", smeBSBObjectClass, - layopt, NULL, 0); - XtAddCallback(sme, XtNcallback, DefaultLayoutCallback, NULL); - sme = XtCreateManagedWidget("remove", smeBSBObjectClass, - layopt, NULL, 0); - XtAddCallback(sme, XtNcallback, RemoveLayoutCallback, NULL); - XtRealizeWidget(layopt); - - lay = (XF86ConfLayoutPtr)(lay->list.next); - } - SelectLayoutCallback(layoutsme, - XF86Config->conf_layout_lst, NULL); - - startaccessx(); - if (startedx) { - switch (fork()) { - case 0: { - char path[PATH_MAX]; - - XmuSnprintf(path, sizeof(path), "%s/bin/twm", XFree86Dir); - execl(path, "twm", (void *)NULL); - exit(-127); - } break; - case -1: - fprintf(stderr, "Cannot fork.\n"); - exit(1); - break; - default: - break; - } - } - -#ifdef USE_MODULES - if (!nomodules) - LoaderInitializeOptions(); -#endif - - /* ReadCardsDatabase() must be called after LoaderInitializeOptions() */ - ReadCardsDatabase(); - - if (!config_set && startedx) { - XtFree(XF86Config_path); -#ifndef XF86CONFIG -# define XF86CONFIG __XCONFIGFILE__ -#endif -#ifdef XF86CONFIGDIR - XF86Config_path = XtNewString(XF86CONFIGDIR "/" XF86CONFIG); -#else - XF86Config_path = XtNewString("/etc/X11/" XF86CONFIG); -#endif - } - XtAppMainLoop(appcon); - if (startedx) - endx(); - - return (0); -} - -static Widget shell_cf; -static int write_cf, asking_cf; -static int cf_state = 0; -#define CF_XF86Config 1 -#define CF_XKBConfig 2 -#define CF_First CF_XF86Config -#define CF_Last CF_XKBConfig - -/*ARGSUSED*/ -static void -WriteConfig(Widget w, XtPointer user_data, XtPointer call_data) -{ - asking_cf = 0; - XtPopdown(shell_cf); - write_cf = (long)user_data; -} - -/*ARGSUSED*/ -void -QuitCancelAction(Widget w, XEvent *event, String *params, Cardinal *num_params) -{ - WriteConfig(w, (XtPointer)-1, NULL); -} - -/*ARGSUSED*/ -void -WriteConfigAction(Widget w, XEvent *event, - String *params, Cardinal *num_params) -{ - WriteConfig(w, (XtPointer)True, NULL); -} - -static Bool -AskConfig(void) -{ - static Widget dialog; - - if (shell_cf == NULL) { - Arg args[1]; - char *l, *label; - int len; - - shell_cf = XtCreatePopupShell("quit", transientShellWidgetClass, - toplevel, NULL, 0); - dialog = XtVaCreateManagedWidget("ask", dialogWidgetClass, shell_cf, - XtNvalue, XF86Config_path, NULL); - XawDialogAddButton(dialog, "yes", WriteConfig, (XtPointer)1); - XawDialogAddButton(dialog, "no", WriteConfig, (XtPointer)0); - XawDialogAddButton(dialog, "cancel", WriteConfig, (XtPointer)-1); - XtRealizeWidget(shell_cf); - XSetWMProtocols(DPY, XtWindow(shell_cf), &wm_delete_window, 1); - XtSetArg(args[0], XtNlabel, &l); - XtGetValues(dialog, args, 1); - label = XtMalloc(len = (strlen(l) + strlen(XF86CONFIG) + 2)); - XmuSnprintf(label, len, "%s\n", XF86CONFIG); - strcat(label, l); - XtSetArg(args[0], XtNlabel, label); - XtSetValues(dialog, args, 1); - XtFree(label); - } - else { - Arg args[2]; - Cardinal num_args = 0; - char *l, *label = NULL, *str = ""; - - XtSetArg(args[0], XtNlabel, &l); - XtGetValues(dialog, args, 1); - switch (cf_state) { - case CF_XF86Config: - str = XF86CONFIG; - XtSetArg(args[num_args], XtNvalue, XF86Config_path); - ++num_args; - break; - case CF_XKBConfig: - str = "XKB"; - XtSetArg(args[num_args], XtNvalue, XkbConfig_path); - ++num_args; - break; - } - l = strchr(l, '\n'); - if (l != NULL) { - label = XtMalloc(strlen(str) + strlen(l) + 1); - strcpy(label, str); - strcat(label, l); - XtSetArg(args[num_args], XtNlabel, label); - ++num_args; - } - XtSetValues(dialog, args, num_args); - if (l != NULL) - XtFree(label); - } - - asking_cf = 1; - - XtPopup(shell_cf, XtGrabExclusive); - while (asking_cf) - XtAppProcessEvent(XtWidgetToApplicationContext(shell_cf), XtIMAll); - - if (write_cf > 0) { - switch (cf_state) { - case CF_XF86Config: - XF86Config_path = XawDialogGetValueString(dialog); - XmuSnprintf(XF86Config_path_static, - sizeof(XF86Config_path_static), - "%s", XF86Config_path); - XF86Config_path = XF86Config_path_static; - break; - case CF_XKBConfig: - XkbConfig_path = XawDialogGetValueString(dialog); - XmuSnprintf(XkbConfig_path_static, - sizeof(XkbConfig_path_static), - "%s", XkbConfig_path); - XkbConfig_path = XkbConfig_path_static; - break; - } - } - - return (write_cf); -} - -/*ARGSUSED*/ -void -PopdownErrorCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - XtPopdown((Widget)user_data); -} - -/*ARGSUSED*/ -void -ErrorCancelAction(Widget w, XEvent *event, String *params, Cardinal *num_params) -{ - XtPopdown((Widget)w); -} - -/*ARGSUSED*/ -void -QuitAction(Widget w, XEvent *event, String *params, Cardinal *num_params) -{ - QuitCallback(w, NULL, NULL); -} - -/*ARGSUSED*/ -void -QuitCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - for (cf_state = CF_First; cf_state <= CF_Last; cf_state++) { - if (cf_state == CF_XKBConfig && xkb_info == NULL) - continue; - - switch (AskConfig()) { - case 0: - break; - case 1: - if ((cf_state == CF_XF86Config && - !xf86writeConfigFile(XF86Config_path, XF86Config)) || - (cf_state == CF_XKBConfig && - !WriteXKBConfiguration(XkbConfig_path, - &xkb_info->config))) { - static Widget shell; - - if (shell == NULL) { - Widget dialog; - - shell = XtCreatePopupShell("error", - transientShellWidgetClass, - toplevel, NULL, 0); - dialog = XtVaCreateManagedWidget("notice", - dialogWidgetClass, - shell, XtNvalue, NULL, - NULL); - XawDialogAddButton(dialog, "ok", PopdownErrorCallback, - (XtPointer)shell); - XtRealizeWidget(shell); - XSetWMProtocols(DPY, XtWindow(shell), - &wm_delete_window, 1); - } - XtPopup(shell, XtGrabExclusive); - return; - } - break; - default: - return; - } - } - - endx(); - exit(0); -} - -void -InitializeDevices(void) -{ - xf86cfgDevice *device; - int mouse_x, mouse_y, keyboard_x, keyboard_y, - card_x, card_y, monitor_x, monitor_y, len; - XF86ConfInputPtr input = XF86Config->conf_input_lst; - XF86ConfDevicePtr card = XF86Config->conf_device_lst; - XF86ConfMonitorPtr monitor = XF86Config->conf_monitor_lst; - XF86OptionPtr flags = NULL; - char buffer[4096], *tip; - Arg args[1]; - - if (XF86Config->conf_flags != NULL) - flags = XF86Config->conf_flags->flg_option_lst; - - len = 0; - while (flags && len < sizeof(buffer) - 1) { - len += XmuSnprintf(buffer + len, sizeof(buffer) - len, - "Option \"%s\"", - flags->opt_name); - if (flags->opt_val != NULL) - len += XmuSnprintf(buffer + len, sizeof(buffer) - len, - " \"%s\"\n", - flags->opt_val); - else - len += XmuSnprintf(buffer + len, sizeof(buffer) - len, - "%s", "\n"); - flags = (XF86OptionPtr)(flags->list.next); - } - - if (len) { - tip = XtNewString(buffer); - XtSetArg(args[0], XtNtip, tip); - XtSetValues(computer.cpu, args, 1); - } - -#define DEFAULT_MOUSE_WIDTH 30 -#define DEFAULT_MOUSE_HEIGHT 40 -#define DEFAULT_KEYBOARD_WIDTH 48 -#define DEFAULT_KEYBOARD_HEIGHT 36 - mouse_x = work->core.width - (work->core.width >> 2); - mouse_y = work->core.height - DEFAULT_MOUSE_HEIGHT; - keyboard_x = 6; - keyboard_y = work->core.height - DEFAULT_KEYBOARD_HEIGHT; - - while (input != NULL) { - if (input->inp_driver) { - if (strcasecmp(input->inp_driver, "mouse") == 0) { - device = AddDevice(MOUSE, (XtPointer)input, mouse_x, mouse_y); - SetTip(device); - if ((mouse_x += DEFAULT_MOUSE_WIDTH) > work->core.width) { - if ((mouse_y -= DEFAULT_MOUSE_HEIGHT) < (work->core.height >> 1)) - mouse_y = work->core.height >> 1; - mouse_x = work->core.width - (work->core.width >> 2); - } - } - else if (IS_KBDDRIV(input->inp_driver)) { - device = AddDevice(KEYBOARD, (XtPointer)input, keyboard_x, keyboard_y); - SetTip(device); - if ((keyboard_x += DEFAULT_KEYBOARD_WIDTH) > - work->core.width - (work->core.width >> 2)) { - if ((keyboard_y -= DEFAULT_KEYBOARD_HEIGHT) < (work->core.height >> 1)) - keyboard_y = work->core.height >> 1; - keyboard_x = 6; - } - } - } - input = (XF86ConfInputPtr)(input->list.next); - } - -#define DEFAULT_CARD_WIDTH 45 -#define DEFAULT_CARD_HEIGHT 46 - card_x = 6; - card_y = (work->core.height >> 1) - 20 - DEFAULT_CARD_HEIGHT; - while (card != NULL) { - device = AddDevice(CARD, (XtPointer)card, card_x, card_y); - SetTip(device); - if ((card_x += DEFAULT_CARD_WIDTH) > work->core.width) { - if ((card_y -= DEFAULT_CARD_HEIGHT) < (work->core.height >> 2)) - card_y = work->core.height >> 2; - card_x = 6; - } - card = (XF86ConfDevicePtr)(card->list.next); - } - -#define DEFAULT_MONITOR_WIDTH 48 -#define DEFAULT_MONITOR_HEIGHT 48 - monitor_x = 6; - monitor_y = 6; - while (monitor != NULL) { - XF86ConfScreenPtr screen = XF86Config->conf_screen_lst; - - device = AddDevice(MONITOR, (XtPointer)monitor, monitor_x, monitor_y); - SetTip(device); - if ((monitor_x += DEFAULT_MONITOR_WIDTH) > work->core.width) { - if ((monitor_y += DEFAULT_MONITOR_HEIGHT) > - (work->core.height >> 2) - DEFAULT_MONITOR_HEIGHT) - monitor_y = (work->core.height >> 2) - DEFAULT_MONITOR_HEIGHT; - monitor_x = 6; - } - - while (screen != NULL) { - if (screen->scrn_monitor == monitor) { - card = XF86Config->conf_device_lst; - while (card != NULL) { - if (screen->scrn_device == card) { - xf86cfgScreen *scr = (xf86cfgScreen*) - XtCalloc(1, sizeof(xf86cfgScreen)); - int i; - - for (i = 0; i < computer.num_devices; i++) - if ((XF86ConfDevicePtr)(computer.devices[i]->config) - == card) - break; - scr->screen = screen; - scr->card = computer.devices[i]; - scr->monitor = device; - scr->refcount = 0; - ++scr->card->refcount; - ++scr->monitor->refcount; - computer.screens = (xf86cfgScreen**) - XtRealloc((XtPointer)computer.screens, - sizeof(xf86cfgScreen*) * - (computer.num_screens + 1)); - CreateScreenWidget(scr); - scr->type = SCREEN; - computer.screens[computer.num_screens++] = scr; - SetTip((xf86cfgDevice*)scr); - break; - } - card = (XF86ConfDevicePtr)(card->list.next); - } - device->state = USED; - } - screen = (XF86ConfScreenPtr)(screen->list.next); - } - - monitor = (XF86ConfMonitorPtr)(monitor->list.next); - } -} - -xf86cfgDevice * -AddDevice(int type, XtPointer config, int x, int y) -{ - switch (type) { - case MOUSE: - case KEYBOARD: - case CARD: - case MONITOR: - computer.devices = (xf86cfgDevice**) - XtRealloc((XtPointer)computer.devices, - sizeof(xf86cfgDevice*) * (computer.num_devices + 1)); - computer.devices[computer.num_devices] = (xf86cfgDevice*) - XtCalloc(1, sizeof(xf86cfgDevice)); - computer.devices[computer.num_devices]->config = config; - computer.devices[computer.num_devices]->widget = - XtVaCreateManagedWidget(device_names[type], simpleWidgetClass, - work, - XtNx, x, - XtNy, y, - XtNtip, NULL, - NULL); - computer.devices[computer.num_devices]->type = type; - computer.devices[computer.num_devices]->state = UNUSED; - computer.devices[computer.num_devices]->refcount = 0; - ++computer.num_devices; - break; - default: - fprintf(stderr, "Bad argument to AddDevice.\n"); - exit(1); - return (NULL); - } - - UpdateMenuDeviceList(type); - - return (computer.devices[computer.num_devices - 1]); -} - -/*ARGSUSED*/ -static void -HelpCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - char *topic = NULL; - - switch (config_mode) { - case CONFIG_LAYOUT: - topic = HELP_DEVICES; - break; - case CONFIG_SCREEN: - topic = HELP_SCREEN; - break; - case CONFIG_MODELINE: - topic = HELP_MODELINE; - break; - case CONFIG_ACCESSX: - topic = HELP_ACCESSX; - break; - } - Help(topic); -} - -void -SelectLayoutCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - int i, j; - XF86ConfLayoutPtr lay = (XF86ConfLayoutPtr)user_data; - XF86ConfInputrefPtr input; - XF86ConfAdjacencyPtr adj; - Widget sme, layopt; - Arg args[1]; - char *str; - - /* XXX Needs to check computer.layout, - * because this function should also create - * a new layout... - */ - if (lay == computer.layout && computer.layout) - return; - - if (computer.layout != NULL) { - for (i = 0; i < computer.num_layouts; i++) { - if (computer.layouts[i]->layout == computer.layout) - break; - } - if (i < computer.num_layouts) { - XtFree((XtPointer)computer.layouts[i]->screen); - XtFree((XtPointer)computer.layouts[i]->position); - } - else { - computer.layouts = (xf86cfgLayout**) - XtRealloc((XtPointer)computer.layouts, sizeof(xf86cfgLayout*) * - (computer.num_layouts + 1)); - ++computer.num_layouts; - } - computer.layouts[i] = (xf86cfgLayout*)XtCalloc(1, sizeof(xf86cfgLayout)); - computer.layouts[i]->layout = computer.layout; - computer.layouts[i]->num_layouts = computer.num_screens; - computer.layouts[i]->screen = (xf86cfgScreen**) - XtMalloc(sizeof(xf86cfgScreen*) * computer.num_screens); - computer.layouts[i]->position = (XPoint*) - XtMalloc(sizeof(XPoint) * computer.num_screens); - for (j = 0; j < computer.num_screens; j++) { - computer.layouts[i]->screen[j] = computer.screens[j]; - computer.layouts[i]->position[j].x = computer.screens[j]->widget->core.x; - computer.layouts[i]->position[j].y = computer.screens[j]->widget->core.y; - } - } - - if (lay != NULL) { - for (i = 0; i < computer.num_layouts; i++) - if (computer.layouts[i]->layout == lay) { - for (j = 0; j < computer.layouts[i]->num_layouts; j++) { - int k; - - for (k = 0; k < computer.num_screens; k++) - if (computer.screens[k] == computer.layouts[i]->screen[j]) { - XtMoveWidget(computer.screens[k]->widget, - computer.layouts[i]->position[j].x, - computer.layouts[i]->position[j].y); - } - } - break; - } - - layoutsme = w; - XtSetArg(args[0], XtNlabel, &str); - XtGetValues(w, args, 1); - XtSetArg(args[0], XtNstring, str); - XtSetValues(layout, args, 1); - } - - computer.layout = lay; - - for (i = 0; i < computer.num_devices; i++) - computer.devices[i]->state = UNUSED; - for (i = 0; i < computer.num_screens; i++) - computer.screens[i]->state = UNUSED; - - if (lay == NULL) { - char name[64]; - XF86ConfLayoutPtr l; - int num_layouts = 0; - - l = XF86Config->conf_layout_lst; - while (l != NULL) { - if (l->lay_adjacency_lst == NULL && - l->lay_inactive_lst == NULL && - l->lay_input_lst == NULL && - l->lay_option_lst == NULL && - l->lay_comment == NULL) { - for (i = 0; - i < ((CompositeWidget)layout)->composite.num_children; i++) - if (strcmp(XtName(((CompositeWidget)layout)->composite. - children[i]), l->lay_identifier) == 0) { - layoutsme = ((CompositeWidget)layout)->composite.children[i]; - } - computer.layout = l; - XtSetArg(args[0], XtNstring, l->lay_identifier); - XtSetValues(layout, args, 1); - if (config_mode == CONFIG_LAYOUT) - DrawCables(); - if (config_mode == CONFIG_SCREEN) - ScreenSetup(True); - return; - } - ++num_layouts; - l = (XF86ConfLayoutPtr)(l->list.next); - } - do { - XmuSnprintf(name, sizeof(name), "Layout%d", num_layouts); - ++num_layouts; - } while (xf86findLayout(name, - XF86Config->conf_layout_lst) != NULL); - l = (XF86ConfLayoutPtr)XtCalloc(1, sizeof(XF86ConfLayoutRec)); - - l->lay_identifier = XtNewString(name); - XF86Config->conf_layout_lst = - xf86addLayout(XF86Config->conf_layout_lst, l); - layoutsme = XtVaCreateManagedWidget("sme", smeBSBObjectClass, - layoutp, - XtNlabel, name, - XtNmenuName, l->lay_identifier, - XtNleftBitmap, menuPixmap, - NULL); - XtAddCallback(layoutsme, XtNcallback, - SelectLayoutCallback, (XtPointer)l); - - layopt = XtCreatePopupShell(l->lay_identifier, simpleMenuWidgetClass, - layoutp, NULL, 0); - sme = XtCreateManagedWidget("default", smeBSBObjectClass, - layopt, NULL, 0); - XtAddCallback(sme, XtNcallback, DefaultLayoutCallback, NULL); - sme = XtCreateManagedWidget("remove", smeBSBObjectClass, - layopt, NULL, 0); - XtAddCallback(sme, XtNcallback, RemoveLayoutCallback, NULL); - XtRealizeWidget(layopt); - - computer.layout = l; - XtSetArg(args[0], XtNstring, name); - XtSetValues(layout, args, 1); - if (config_mode == CONFIG_LAYOUT) - DrawCables(); - if (config_mode == CONFIG_SCREEN) - ScreenSetup(True); - return; - } - - input = lay->lay_input_lst; - adj = lay->lay_adjacency_lst; - - for (i = 0; i < computer.num_devices; i++) - if (computer.devices[i]->config != NULL && - (computer.devices[i]->type == MOUSE || - computer.devices[i]->type == KEYBOARD)) { - while (input != NULL) { - if (strcmp(input->iref_inputdev_str, ((XF86ConfInputPtr) - (computer.devices[i]->config))->inp_identifier) == 0) { - computer.devices[i]->state = USED; - break; - } - input = (XF86ConfInputrefPtr)(input->list.next); - } - input = lay->lay_input_lst; - } - - for (i = 0; i < computer.num_devices; i++) - if (computer.devices[i]->type == CARD) { - while (adj != NULL) { - XF86ConfScreenPtr screen = adj->adj_screen; - - if (computer.devices[i]->config != NULL && - strcmp(screen->scrn_device_str, ((XF86ConfDevicePtr) - (computer.devices[i]->config))->dev_identifier) == 0) { - int j; - - for (j = 0; j < computer.num_screens; j++) - if (computer.screens[j]->card == computer.devices[i]) - break; - computer.screens[j]->card->state = USED; - if (computer.screens[j]->monitor != NULL) - computer.screens[j]->monitor->state = USED; - computer.screens[j]->state = USED; - } - - adj = (XF86ConfAdjacencyPtr)(adj->list.next); - } - adj = lay->lay_adjacency_lst; - } - - if (config_mode == CONFIG_LAYOUT) - DrawCables(); - else if (config_mode == CONFIG_SCREEN) - ScreenSetup(True); -} - -/*ARGSUSED*/ -void -DefaultLayoutCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - Widget layopt, sme; - int i; - char *str; - XF86ConfLayoutPtr prev, tmp, lay; - - str = w && XtParent(w) ? XtName(XtParent(w)) : NULL; - if (str == NULL) - return; - - prev = XF86Config->conf_layout_lst; - lay = xf86findLayout(str, prev); - if (prev == lay) - return; - - tmp = prev; - while (tmp != NULL) { - if (tmp == lay) - break; - prev = tmp; - tmp = (XF86ConfLayoutPtr)(tmp->list.next); - } - - for (i = 1; i < ((CompositeWidget)layoutp)->composite.num_children; i++) - XtDestroyWidget(((CompositeWidget)layoutp)->composite.children[i]); - for (i = 0; i < layoutp->core.num_popups; i++) - XtDestroyWidget(layoutp->core.popup_list[i]); - - prev->list.next = lay->list.next; - lay->list.next = XF86Config->conf_layout_lst; - XF86Config->conf_layout_lst = lay; - - layoutsme = NULL; - lay = XF86Config->conf_layout_lst; - while (lay != NULL) { - sme = XtVaCreateManagedWidget("sme", smeBSBObjectClass, - layoutp, - XtNlabel, lay->lay_identifier, - XtNmenuName, lay->lay_identifier, - XtNleftBitmap, menuPixmap, - NULL); - XtAddCallback(sme, XtNcallback, SelectLayoutCallback, (XtPointer)lay); - if (layoutsme == NULL) - layoutsme = sme; - layopt = XtCreatePopupShell(lay->lay_identifier, simpleMenuWidgetClass, - layoutp, NULL, 0); - sme = XtCreateManagedWidget("default", smeBSBObjectClass, - layopt, NULL, 0); - XtAddCallback(sme, XtNcallback, DefaultLayoutCallback, NULL); - sme = XtCreateManagedWidget("remove", smeBSBObjectClass, - layopt, NULL, 0); - XtAddCallback(sme, XtNcallback, RemoveLayoutCallback, NULL); - XtRealizeWidget(layopt); - - lay = (XF86ConfLayoutPtr)(lay->list.next); - } - SelectLayoutCallback(layoutsme, - XF86Config->conf_layout_lst, NULL); -} - -/*ARGSUSED*/ -void -RemoveLayoutCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - XF86ConfLayoutPtr prev, tmp, lay, rem; - Widget sme = NULL; - int i; - char *str; - Arg args[1]; - - str = w && XtParent(w) ? XtName(XtParent(w)) : NULL; - if (str == NULL) - return; - - prev = XF86Config->conf_layout_lst; - lay = xf86findLayout(str, prev); - tmp = prev; - while (tmp != NULL) { - if (tmp == lay) - break; - prev = tmp; - tmp = (XF86ConfLayoutPtr)(tmp->list.next); - } - - rem = lay; - if (tmp != NULL) - lay = (XF86ConfLayoutPtr)(tmp->list.next); - if (lay == NULL && prev != tmp) - lay = prev; - - if (lay != NULL) { - int i; - - for (i = 0; i < ((CompositeWidget)layoutp)->composite.num_children; - i++) { - XtSetArg(args[0], XtNlabel, &str); - XtGetValues(((CompositeWidget)layoutp)->composite.children[i], - args, 1); - if (strcmp(lay->lay_identifier, str) == 0) { - layoutsme = ((CompositeWidget)layoutp)->composite.children[i]; - break; - } - } - SelectLayoutCallback(layoutsme, lay, NULL); - } - else { - computer.layout = NULL; - XtSetArg(args[0], XtNstring, ""); - XtSetValues(layout, args, 1); - - for (i = 0; i < computer.num_devices; i++) - computer.devices[i]->state = UNUSED; - DrawCables(); - } - - for (i = 0; i < ((CompositeWidget)layoutp)->composite.num_children; i++) { - XtSetArg(args[0], XtNlabel, &str); - XtGetValues(((CompositeWidget)layoutp)->composite.children[i], args, 1); - if (strcmp(rem->lay_identifier, str) == 0) { - sme = ((CompositeWidget)layoutp)->composite.children[i]; - break; - } - } - - xf86removeLayout(XF86Config, rem); - if (sme) - XtDestroyWidget(sme); -} - -void -SetTip(xf86cfgDevice *device) -{ - XF86OptionPtr option = NULL; - char *tip, buffer[4096]; - Arg args[1]; - int len = 0; - - XtSetArg(args[0], XtNtip, &tip); - XtGetValues(device->widget, args, 1); - - switch (device->type) { - case MOUSE: { - XF86ConfInputPtr mouse = (XF86ConfInputPtr)device->config; - - if (mouse == NULL) - return; - len = XmuSnprintf(buffer, sizeof(buffer), - "Identifier \"%s\"\n" - "Driver \"mouse\"\n", - mouse->inp_identifier); - option = mouse->inp_option_lst; - } break; - case KEYBOARD: { - XF86ConfInputPtr keyboard = (XF86ConfInputPtr)device->config; - - if (keyboard == NULL) - return; - len = XmuSnprintf(buffer, sizeof(buffer), - "Identifier \"%s\"\n" - "Driver \"keyboard\"\n", - keyboard->inp_identifier); - option = keyboard->inp_option_lst; - } break; - case CARD: { - XF86ConfDevicePtr card = (XF86ConfDevicePtr)device->config; - - if (card == NULL) - return; - len = XmuSnprintf(buffer, sizeof(buffer), - "Identifier \"%s\"\n" - "Driver \"%s\"\n", - card->dev_identifier, - card->dev_driver); - option = card->dev_option_lst; - } break; - case MONITOR: { - XF86ConfMonitorPtr monitor = (XF86ConfMonitorPtr)device->config; - - if (monitor == NULL) - return; - if (monitor->mon_vendor != NULL) - len = XmuSnprintf(buffer, sizeof(buffer), - "Identifier \"%s\"\n" - "Vendor \"%s\"\n", - monitor->mon_identifier, - monitor->mon_vendor); - else - len = XmuSnprintf(buffer, sizeof(buffer), - "Identifier \"%s\"\n", - monitor->mon_identifier); - option = monitor->mon_option_lst; - } break; - case SCREEN: { - XF86ConfScreenPtr screen = (XF86ConfScreenPtr)device->config; - - if (screen == NULL) - return; - len = XmuSnprintf(buffer, sizeof(buffer), - "Identifier \"%s\"\n", - screen->scrn_identifier); - if (screen->scrn_device_str != NULL) - len += XmuSnprintf(buffer + len, sizeof(buffer), - "Device \"%s\"\n", - screen->scrn_device_str); - if (screen->scrn_monitor_str != NULL) - len += XmuSnprintf(buffer + len, sizeof(buffer), - "Monitor \"%s\"\n", - screen->scrn_monitor_str); - option = screen->scrn_option_lst; - } break; - case SERVER: { - len = XmuSnprintf(buffer, sizeof(buffer), - "%s\n", "Server Flags"); - option = XF86Config->conf_flags->flg_option_lst; - } break; - } - - while (option && len < sizeof(buffer) - 1) { - len += XmuSnprintf(buffer + len, sizeof(buffer) - len, - "Option \"%s\"", - option->opt_name); - if (option->opt_val != NULL) - len += XmuSnprintf(buffer + len, sizeof(buffer) - len, - " \"%s\"\n", - option->opt_val); - else - len += XmuSnprintf(buffer + len, sizeof(buffer) - len, - "%s", "\n"); - option = (XF86OptionPtr)(option->list.next); - } - - tip = buffer; - XtSetArg(args[0], XtNtip, tip); - XtSetValues(device->widget, args, 1); -} - -/*ARGSUSED*/ -void -AddDeviceCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - AddDevice((long)user_data, NULL, 6, 6); -} - -void -SmeConfigureDeviceCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - int i; - - switch ((long)user_data) { - case MOUSE: - case KEYBOARD: - case CARD: - case MONITOR: - for (i = 0; i < computer.num_devices; i++) - if (computer.devices[i]->type == (long)user_data) { - config = computer.devices[i]->widget; - ConfigureDeviceCallback(w, NULL, NULL); - } - break; - - /* hack for newly added devices */ - case -(MOUSE + 100): - case -(KEYBOARD + 100): - case -(CARD + 100): - case -(MONITOR + 100): - for (i = 0; i < computer.num_devices; i++) - if (-(computer.devices[i]->type + 100) == (long)user_data && - computer.devices[i]->config == NULL) { - config = computer.devices[i]->widget; - ConfigureDeviceCallback(w, NULL, NULL); - } - break; - - default: - for (i = 0; i < computer.num_devices; i++) - if (computer.devices[i]->config == user_data) { - config = computer.devices[i]->widget; - ConfigureDeviceCallback(w, NULL, NULL); - } - break; - } -} - -void -ConfigureDeviceCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - int i, j; - - if (config_mode == CONFIG_LAYOUT) { - for (i = 0; i < computer.num_devices; i++) { - if (computer.devices[i]->widget == config) { - switch (computer.devices[i]->type) { - case MOUSE: { - XF86ConfInputPtr mouse = - MouseConfig(computer.devices[i]->config); - - if (mouse != NULL && computer.devices[i]->config == NULL) { - XF86Config->conf_input_lst = - xf86addInput(XF86Config->conf_input_lst, - mouse); - computer.devices[i]->config = (XtPointer)mouse; - } - SetTip(computer.devices[i]); - } break; - case KEYBOARD: { - XF86ConfInputPtr keyboard = - KeyboardConfig(computer.devices[i]->config); - - if (keyboard != NULL && computer.devices[i]->config == NULL) { - XF86Config->conf_input_lst = - xf86addInput(XF86Config->conf_input_lst, - keyboard); - computer.devices[i]->config = (XtPointer)keyboard; - } - SetTip(computer.devices[i]); - } break; - case CARD: { - XF86ConfDevicePtr card = - CardConfig(computer.devices[i]->config); - - if (card != NULL && computer.devices[i]->config == NULL) { - XF86Config->conf_device_lst = - xf86addDevice(XF86Config->conf_device_lst, - card); - computer.devices[i]->config = (XtPointer)card; - } - SetTip(computer.devices[i]); - for (j = 0; j < computer.num_screens; j++) - if (computer.screens[j]->card->widget == config) - SetTip((xf86cfgDevice*)computer.screens[j]); - } break; - case MONITOR: { - XF86ConfMonitorPtr monitor = - MonitorConfig(computer.devices[i]->config); - - if (monitor != NULL && computer.devices[i]->config == NULL) { - XF86Config->conf_monitor_lst = - xf86addMonitor(XF86Config->conf_monitor_lst, - monitor); - computer.devices[i]->config = (XtPointer)monitor; - } - SetTip(computer.devices[i]); - for (j = 0; j < computer.num_screens; j++) - if (computer.screens[j]->monitor->widget == config) - SetTip((xf86cfgDevice*)computer.screens[j]); - } break; - } - /* Need to update because it may have been renamed */ - UpdateMenuDeviceList(computer.devices[i]->type); - break; - } - } - } - else if (config_mode == CONFIG_SCREEN) { - for (i = 0; i < computer.num_screens; i++) - if (computer.screens[i]->widget == config) { - if (ScreenConfig(computer.screens[i]->screen) != NULL) - SetTip((xf86cfgDevice*)computer.screens[i]); - } - } -} - -void -OptionsCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - int i; - XF86OptionPtr *options = NULL; -#ifdef USE_MODULES - xf86cfgModuleOptions *drv_opts = NULL; -#endif - - if (config_mode == CONFIG_SCREEN) { - for (i = 0; i < computer.num_screens; i++) - if (computer.screens[i]->widget == config) { - options = &(computer.screens[i]->screen->scrn_option_lst); - break; - } - } - else { - for (i = 0; i < computer.num_devices; i++) - if (computer.devices[i]->widget == config) - break; - - if (i >= computer.num_devices) { - if (XF86Config->conf_flags == NULL) - XF86Config->conf_flags = (XF86ConfFlagsPtr) - XtCalloc(1, sizeof(XF86ConfFlagsRec)); - options = &(XF86Config->conf_flags->flg_option_lst); - } - else { - switch (computer.devices[i]->type) { - case MOUSE: - case KEYBOARD: - options = (XF86OptionPtr*)&(((XF86ConfInputPtr) - (computer.devices[i]->config))->inp_option_lst); -#ifdef USE_MODULES - if (!nomodules) { - char *drv = ((XF86ConfInputPtr) - (computer.devices[i]->config))->inp_driver; - - if (drv) { - drv_opts = module_options; - while (drv_opts) { - if (drv_opts->type == InputModule && - strcmp(drv_opts->name, drv) == 0) - break; - drv_opts = drv_opts->next; - } - } - } -#endif - - break; - case CARD: - options = (XF86OptionPtr*)&(((XF86ConfDevicePtr) - (computer.devices[i]->config))->dev_option_lst); -#ifdef USE_MODULES - if (!nomodules) { - char *drv = ((XF86ConfDevicePtr) - (computer.devices[i]->config))->dev_driver; - - if (drv) { - drv_opts = module_options; - while (drv_opts) { - if (drv_opts->type == VideoModule && - strcmp(drv_opts->name, drv) == 0) - break; - drv_opts = drv_opts->next; - } - } - } -#endif - break; - case MONITOR: - options = (XF86OptionPtr*)&(((XF86ConfMonitorPtr) - (computer.devices[i]->config))->mon_option_lst); - break; - } - } - } - -#ifdef USE_MODULES - OptionsPopup(options, drv_opts ? drv_opts->name : NULL, - drv_opts ? drv_opts->option : NULL); -#else - OptionsPopup(options); -#endif - if (config_mode == CONFIG_SCREEN) { - XF86OptionPtr option, options; - int rotate = 0; - - options = computer.screens[i]->screen->scrn_option_lst; - if ((option = xf86findOption(options, "Rotate")) != NULL) { - if (option->opt_val != NULL) - rotate = strcasecmp(option->opt_val, "CW") == 0 ? 1 : - strcasecmp(option->opt_val, "CCW") == 0 ? -1 : 0; - XtFree(option->opt_val); - option->opt_val = XtNewString(rotate > 0 ? "CW" : "CCW"); - computer.screens[i]->rotate = rotate; - } - else - computer.screens[i]->rotate = 0; - UpdateScreenUI(); - AdjustScreenUI(); - SetTip((xf86cfgDevice*)computer.screens[i]); - } - else { - if (i >= computer.num_devices) - SetTip(&cpu_device); - else - SetTip(computer.devices[i]); - } -} - -void -EnableDeviceCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - int i; - - if (config_mode == CONFIG_SCREEN) { - for (i = 0; i < computer.num_screens; i++) - if (computer.screens[i]->widget == config) { - computer.screens[i]->state = USED; - computer.screens[i]->card->state = USED; - ScreenSetup(False); - return; - } - } - - for (i = 0; i < computer.num_devices; i++) - if (computer.devices[i]->widget == config) { - if (computer.devices[i]->state == USED) - return; - computer.devices[i]->state = USED; - DrawCables(); - break; - } - if (i >= computer.num_devices || computer.layout == NULL) - return; - switch (computer.devices[i]->type) { - case MOUSE: - case KEYBOARD: { - int nmouses = 0, nkeyboards = 0; - XF86ConfInputPtr input = (XF86ConfInputPtr) - (computer.devices[i]->config); - XF86ConfInputrefPtr nex, iref = computer.layout->lay_input_lst; - XF86OptionPtr option; - - nex = iref; - while (nex != NULL) { - if (strcasecmp(nex->iref_inputdev->inp_driver, "mouse") == 0) - ++nmouses; - else if (IS_KBDDRIV(nex->iref_inputdev->inp_driver)) - ++nkeyboards; - iref = nex; - nex = (XF86ConfInputrefPtr)(nex->list.next); - } - nex = (XF86ConfInputrefPtr)XtCalloc(1, sizeof(XF86ConfInputrefRec)); - nex->list.next = NULL; - nex->iref_inputdev = input; - nex->iref_inputdev_str = XtNewString(input->inp_identifier); - if (nmouses == 0 && computer.devices[i]->type == MOUSE) - option = xf86newOption(XtNewString("CorePointer"), NULL); - else if (nkeyboards == 0 && computer.devices[i]->type == KEYBOARD) - option = xf86newOption(XtNewString("CoreKeyboard"), NULL); - else - option = xf86newOption(XtNewString("SendCoreEvents"), NULL); - nex->iref_option_lst = option; - computer.layout->lay_input_lst = - xf86addInputref(computer.layout->lay_input_lst, nex); - } break; - case CARD: - for (i = 0; i < computer.num_screens; i++) { - if (computer.screens[i]->card->widget == config && - computer.screens[i]->state != USED) { - XF86ConfAdjacencyPtr adj; - - adj = (XF86ConfAdjacencyPtr) - XtCalloc(1, sizeof(XF86ConfAdjacencyRec)); - adj->adj_screen = computer.screens[i]->screen; - adj->adj_screen_str = XtNewString(computer.screens[i]-> - screen->scrn_identifier); - computer.layout->lay_adjacency_lst = (XF86ConfAdjacencyPtr) - xf86addListItem((GenericListPtr)computer.layout-> - lay_adjacency_lst, (GenericListPtr)adj); - computer.screens[i]->state = USED; - } - } - break; - case MONITOR: - break; - } -} - -void -DisableDeviceCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - int i; - - if (config_mode == CONFIG_SCREEN) { - for (i = 0; i < computer.num_screens; i++) - if (computer.screens[i]->widget == config) { - computer.screens[i]->state = UNUSED; - computer.screens[i]->card->state = UNUSED; - ScreenSetup(False); - return; - } - } - - for (i = 0; i < computer.num_devices; i++) - if (computer.devices[i]->widget == config) { - if (computer.devices[i]->state == UNUSED) - return; - computer.devices[i]->state = UNUSED; - DrawCables(); - break; - } - if (i >= computer.num_devices || computer.layout == NULL) - return; - switch (computer.devices[i]->type) { - case MOUSE: - case KEYBOARD: - xf86removeInputRef(computer.layout, - (XF86ConfInputPtr)(computer.devices[i]->config)); - break; - case CARD: { - XF86ConfAdjacencyPtr adj; - int j; - - if (computer.layout == NULL) - break; - for (j = 0; j < computer.num_screens; j++) - if (computer.screens[j]->card->widget == config) { - adj = computer.layout->lay_adjacency_lst; - while (adj != NULL) { - if (adj->adj_screen == computer.screens[j]->screen) { - xf86removeAdjacency(computer.layout, adj); - break; - } - adj = (XF86ConfAdjacencyPtr)(adj->list.next); - } - computer.screens[j]->state = UNUSED; - break; - } - } break; - case MONITOR: - break; - } -} - -/* ARGSUSED */ -void -RemoveDeviceCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - int i, j; - - for (i = 0; i < computer.num_screens; i++) - if (computer.screens[i]->widget == config) { - RemoveScreen(computer.screens[i]->monitor, - computer.screens[i]->card); - ScreenSetup(False); - return; - } - - for (i = 0; i < computer.num_devices; i++) { - if (computer.devices[i]->widget == config) { - switch (computer.devices[i]->type) { - case MOUSE: - case KEYBOARD: - xf86removeInput(XF86Config, - (XF86ConfInputPtr)(computer.devices[i]->config)); - break; - case CARD: - case MONITOR: - break; - } - - if (computer.devices[i]->type == CARD) { - for (j = 0; j < computer.num_screens; j++) - if (computer.screens[j]->card == computer.devices[i]) { - RemoveScreen(computer.screens[j]->monitor, - computer.devices[i]); - --j; - } - if (computer.devices[i]->refcount <= 0) - xf86removeDevice(XF86Config, - (XF86ConfDevicePtr)(computer.devices[i]->config)); - } - else if (computer.devices[i]->type == MONITOR) { - for (j = 0; j < computer.num_screens; j++) - if (computer.screens[j]->monitor == computer.devices[i]) { - RemoveScreen(computer.devices[i], - computer.screens[j]->card); - --j; - } - if (computer.devices[i]->refcount <= 0) - xf86removeMonitor(XF86Config, - (XF86ConfMonitorPtr)(computer.devices[i]->config)); - } - - if (computer.devices[i]->refcount <= 0) { - int type = computer.devices[i]->type; - - XtDestroyWidget(computer.devices[i]->widget); - XtFree((XtPointer)computer.devices[i]); - if (--computer.num_devices > i) - memmove(&computer.devices[i], &computer.devices[i + 1], - (computer.num_devices - i) * sizeof(xf86cfgDevice*)); - - DrawCables(); - UpdateMenuDeviceList(type); - } - - break; - } - } -} - -void -UpdateMenuDeviceList(int type) -{ - Widget sme = NULL, menu = NULL; - int i, count; - static char *mouseM = "mouseM", *keyboardM = "keyboardM", - *cardM = "cardM", *monitorM = "monitorM"; - - for (i = count = 0; i < computer.num_devices; i++) - if (computer.devices[i]->type == type) - ++count; - - switch (type) { - case MOUSE: - sme = mouseSme; - menu = mouseMenu; - break; - case KEYBOARD: - sme = keyboardSme; - menu = keyboardMenu; - break; - case CARD: - sme = cardSme; - menu = cardMenu; - break; - case MONITOR: - sme = monitorSme; - menu = monitorMenu; - break; - } - - if (menu) - for (i = ((CompositeWidget)menu)->composite.num_children - 1; i >= 0; i--) - XtDestroyWidget(((CompositeWidget)menu)->composite.children[i]); - - if (count < 2) { - XtVaSetValues(sme, XtNmenuName, NULL, XtNleftBitmap, None, NULL); - return; - } - - switch (type) { - case MOUSE: - if (mouseMenu == NULL) - menu = mouseMenu = - XtCreatePopupShell(mouseM, simpleMenuWidgetClass, - XtParent(mouseSme), NULL, 0); - XtVaSetValues(mouseSme, XtNmenuName, mouseM, - XtNleftBitmap, menuPixmap, NULL); - break; - case KEYBOARD: - if (keyboardMenu == NULL) - menu = keyboardMenu = - XtCreatePopupShell(keyboardM, simpleMenuWidgetClass, - XtParent(keyboardSme), NULL, 0); - XtVaSetValues(keyboardSme, XtNmenuName, keyboardM, - XtNleftBitmap, menuPixmap, NULL); - break; - case CARD: - if (cardMenu == NULL) - menu = cardMenu = - XtCreatePopupShell(cardM, simpleMenuWidgetClass, - XtParent(cardSme), NULL, 0); - XtVaSetValues(cardSme, XtNmenuName, cardM, - XtNleftBitmap, menuPixmap, NULL); - break; - case MONITOR: - if (monitorMenu == NULL) - menu = monitorMenu = - XtCreatePopupShell(monitorM, simpleMenuWidgetClass, - XtParent(monitorSme), NULL, 0); - XtVaSetValues(monitorSme, XtNmenuName, monitorM, - XtNleftBitmap, menuPixmap, NULL); - break; - } - - for (i = 0; i < computer.num_devices; i++) - if (computer.devices[i]->type == type) { - char *label = NULL; - - if (computer.devices[i]->config) { - switch (type) { - case MOUSE: - case KEYBOARD: - label = ((XF86ConfInputPtr)computer.devices[i]->config) - ->inp_identifier; - break; - case CARD: - label = ((XF86ConfDevicePtr)computer.devices[i]->config) - ->dev_identifier; - break; - case MONITOR: - label = ((XF86ConfMonitorPtr)computer.devices[i]->config) - ->mon_identifier; - break; - } - } - else { - switch (type) { - case MOUSE: - label = "newMouse"; - break; - case KEYBOARD: - label = "newKeyboard"; - break; - case CARD: - label = "newCard"; - break; - case MONITOR: - label = "newMonitor"; - break; - } - } - - sme = XtCreateManagedWidget(label, smeBSBObjectClass, menu, NULL, 0); - XtAddCallback(sme, XtNcallback, SmeConfigureDeviceCallback, - computer.devices[i]->config ? - computer.devices[i]->config : - (XtPointer) (-((long)type + 100))); - } -} - -/*ARGSUSED*/ -void -SelectDeviceAction(Widget w, XEvent *event, String *params, Cardinal *num_params) -{ - device = w; - xpos = event->xbutton.x_root; - ypos = event->xbutton.y_root; - XDefineCursor(XtDisplay(device), XtWindow(device), no_cursor); - - if (config_mode == CONFIG_SCREEN) { - sxpos = device->core.x; - sypos = device->core.y; - } -} - -/*ARGSUSED*/ -void -MoveDeviceAction(Widget w, XEvent *event, String *params, Cardinal *num_params) -{ - int dx, dy, x, y, oldx, oldy; - - if (device == NULL || device != w) - return; - - dx = event->xbutton.x_root - xpos; - dy = event->xbutton.y_root - ypos; - - oldx = device->core.x; - oldy = device->core.y; - x = device->core.x + dx; - y = device->core.y + dy; - - if (x < 0) - x = 0; - else if (x + device->core.width > XtParent(device)->core.width) - x = XtParent(device)->core.width - device->core.width; - if (y < 0) - y = 0; - else if (y + device->core.height > XtParent(device)->core.height) - y = XtParent(device)->core.height - device->core.height; - - dx = x - oldx; - dy = y - oldy; - - XRaiseWindow(XtDisplay(device), XtWindow(device)); - XtMoveWidget(device, x, y); - - xpos += dx; - ypos += dy; -} - -/*ARGSUSED*/ -void -UnselectDeviceAction(Widget w, XEvent *ev, String *params, Cardinal *num_params) -{ - if (device != NULL) { - XUndefineCursor(XtDisplay(device), XtWindow(device)); - - if (config_mode == CONFIG_SCREEN) - ScreenSetup(False); - device = NULL; - } -} - -/*ARGSUSED*/ -void -DevicePopupMenu(Widget w, XEvent *event, String *params, Cardinal *num_params) -{ - static Widget configure, options, enable, disable, remove; - static int first = 1; - int i; - xf86cfgDevice *dev; - - if (first) { - first = 0; - - popup = XtCreatePopupShell("popup", simpleMenuWidgetClass, - toplevel, NULL, 0); - configure = XtCreateManagedWidget("configure", smeBSBObjectClass, - popup, NULL, 0); - XtAddCallback(configure, XtNcallback, ConfigureDeviceCallback, NULL); - options = XtCreateManagedWidget("options", smeBSBObjectClass, - popup, NULL, 0); - XtAddCallback(options, XtNcallback, OptionsCallback, NULL); - XtCreateManagedWidget("line", smeLineObjectClass, - popup, NULL, 0); - enable = XtCreateManagedWidget("enable", smeBSBObjectClass, - popup, NULL, 0); - XtAddCallback(enable, XtNcallback, EnableDeviceCallback, NULL); - disable = XtCreateManagedWidget("disable", smeBSBObjectClass, - popup, NULL, 0); - XtAddCallback(disable, XtNcallback, DisableDeviceCallback, NULL); - XtCreateManagedWidget("line", smeLineObjectClass, - popup, NULL, 0); - remove = XtCreateManagedWidget("remove", smeBSBObjectClass, - popup, NULL, 0); - XtAddCallback(remove, XtNcallback, RemoveDeviceCallback, NULL); - - XtRealizeWidget(popup); - } - - dev = NULL; - if (config_mode == CONFIG_LAYOUT) { - for (i = 0; i < computer.num_devices; i++) - if (computer.devices[i]->widget == w) { - dev = computer.devices[i]; - break; - } - if (i >= computer.num_devices && strcmp(XtName(w), "cpu")) - return; - if (dev == NULL) - dev = &cpu_device; - } - else if (config_mode == CONFIG_SCREEN) { - for (i = 0; i < computer.num_screens; i++) - if (computer.screens[i]->widget == w) { - dev = (xf86cfgDevice*)computer.screens[i]; - break; - } - } - if (dev == NULL) - return; - - config = w; - - if (dev->type != SERVER) { - XtSetSensitive(configure, True); - XtSetSensitive(remove, True); - XtSetSensitive(options, dev->config != NULL); - if (computer.layout == NULL || dev->config == NULL || - dev->type == MONITOR) { - XtSetSensitive(enable, False); - XtSetSensitive(disable, False); - } - else if (dev->state == USED) { - XtSetSensitive(enable, False); - XtSetSensitive(disable, True); - } - else { - XtSetSensitive(enable, True); - XtSetSensitive(disable, False); - } - } - else { - XtSetSensitive(configure, False); - XtSetSensitive(options, True); - XtSetSensitive(enable, False); - XtSetSensitive(disable, False); - XtSetSensitive(remove, False); - } - - XtMoveWidget(popup, event->xbutton.x_root, event->xbutton.y_root); - XtPopup(popup, XtGrabNone); -} - -/*ARGSUSED*/ -void -DevicePopdownMenu(Widget w, XEvent *event, String *params, Cardinal *num_params) -{ - if (popup && XtIsRealized(popup)) - XtPopdown(popup); -} - -void RenameLayoutAction(Widget w, XEvent *event, - String *params, Cardinal *num_params) -{ - XF86ConfLayoutPtr lay = XF86Config->conf_layout_lst; - Arg args[1]; - char *name; - - XtSetArg(args[0], XtNstring, &name); - XtGetValues(layout, args, 1); - - if (computer.layout == NULL || (computer.layout && - strcasecmp(name, computer.layout->lay_identifier)) == 0) - return; - - if (name == NULL && *name == '\0') { - /* tell user about error */ - return; - } - - while (lay) { - if (strcasecmp(name, lay->lay_identifier) == 0) - /* tell user about error */ - return; - lay = (XF86ConfLayoutPtr)(lay->list.next); - } - - XtSetArg(args[0], XtNlabel, name); - XtSetValues(layoutsme, args, 1); - xf86renameLayout(XF86Config, computer.layout, name); -} - -/*ARGSUSED*/ -static void -ComputerEventHandler(Widget w, XtPointer closure, - XEvent *event, Boolean *continue_to_dispatch) -{ - if (event->xexpose.count > 1) - return; - - if (config_mode == CONFIG_LAYOUT) - DrawCables(); -} - -void -DrawCables(void) -{ - Display *display; - Window window; - int ox, oy, i; - xf86cfgScreen **scr = computer.screens; - - if (config_mode != CONFIG_LAYOUT) - return; - - ox = computer.cpu->core.x + (computer.cpu->core.width >> 1); - oy = computer.cpu->core.y + (computer.cpu->core.height >> 1); - - display = XtDisplay(work); - window = XtWindow(work); - XClearWindow(display, window); - - for (i = 0; i < computer.num_devices; i++) { - if (computer.devices[i]->state == USED && - computer.devices[i]->type != MONITOR) - DrawCable(display, window, ox, oy, - computer.devices[i]->widget->core.x + - (computer.devices[i]->widget->core.width>>1), - computer.devices[i]->widget->core.y + - (computer.devices[i]->widget->core.height>>1)); - - } - for (i = 0; i < computer.num_screens; i++) { - if (scr[i]->monitor != NULL) - DrawCable(display, window, - scr[i]->card->widget->core.x + - (scr[i]->card->widget->core.width>>1), - scr[i]->card->widget->core.y + - (scr[i]->card->widget->core.height>>1), - scr[i]->monitor->widget->core.x + - (scr[i]->monitor->widget->core.width>>1), - scr[i]->monitor->widget->core.y + - (scr[i]->monitor->widget->core.height>>1)); - } -} - -static void -DrawCable(Display *display, Window window, int o_x, int o_y, int d_x, int d_y) -{ - XDrawLine(display, window, cablegcshadow, o_x, o_y, d_x, d_y); - XDrawLine(display, window, cablegc, o_x, o_y, d_x, d_y); -} - -/*ARGSUSED*/ -void -SetConfigModeCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - int i, mode = (long)user_data; - Arg args[3]; - char *ptr; - static Dimension height; - - if (mode == config_mode) - return; - XtSetArg(args[0], XtNlabel, &ptr); - XtGetValues(w, args, 1); - XtSetArg(args[0], XtNlabel, ptr); - XtSetValues(topMenu, args, 1); - - if (config_mode == CONFIG_LAYOUT) { - XtSetArg(args[0], XtNheight, &height); - XtGetValues(commands, args, 1); - for (i = 0; i < computer.num_devices; i++) - XtUnmapWidget(computer.devices[i]->widget); - XtUnmapWidget(commands); - XtUnmapWidget(computer.cpu); - XtSetSensitive(commands, False); - XtSetArg(args[0], XtNheight, 1); - XtSetArg(args[1], XtNmin, 1); - XtSetArg(args[2], XtNmax, 1); - XtSetValues(commands, args, 3); - } - else if (config_mode == CONFIG_SCREEN) { - for (i = 0; i < computer.num_screens; i++) - XtUnmapWidget(computer.screens[i]->widget); - } - else if (config_mode == CONFIG_MODELINE) { - VideoModeConfigureEnd(); - XtSetSensitive(layout, True); - XtSetSensitive(layoutm, True); - } - else if (config_mode == CONFIG_ACCESSX) { - AccessXConfigureEnd(); - XtSetSensitive(layout, True); - XtSetSensitive(layoutm, True); - } - - config_mode = mode; - XClearWindow(XtDisplay(work), XtWindow(work)); - if (mode == CONFIG_LAYOUT) { - for (i = 0; i < computer.num_devices; i++) - XtMapWidget(computer.devices[i]->widget); - XtSetArg(args[0], XtNheight, height); - XtSetArg(args[1], XtNmin, height); - XtSetArg(args[2], XtNmax, height); - XtSetValues(commands, args, 3); - XtMapWidget(commands); - XtMapWidget(computer.cpu); - XtSetSensitive(commands, True); - DrawCables(); - } - else if (mode == CONFIG_SCREEN) { - for (i = 0; i < computer.num_screens; i++) - XtMapWidget(computer.screens[i]->widget); - ScreenSetup(True); - } - else if (mode == CONFIG_MODELINE) { - VideoModeConfigureStart(); - XtSetSensitive(layout, False); - XtSetSensitive(layoutm, False); - } - else if (mode == CONFIG_ACCESSX) { - AccessXConfigureStart(); - XtSetSensitive(layout, False); - XtSetSensitive(layoutm, False); - } -} - -static void -ScreenSetup(Bool check) -{ - if (check) { - int i; - - for (i = 0; i < computer.num_layouts; i++) - if (computer.layouts[i]->layout == computer.layout) - break; - - /* Just to put the screens in the correct positions */ - if (i >= computer.num_layouts) - AdjustScreenUI(); - } - - UpdateScreenUI(); - AdjustScreenUI(); -} diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/keyboard-cfg.c b/xorg-server/hw/xfree86/utils/xorgcfg/keyboard-cfg.c deleted file mode 100644 index 545a67067..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/keyboard-cfg.c +++ /dev/null @@ -1,1378 +0,0 @@ -/* - * 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. - * - * Author: Paulo César Pereira de Andrade - * - */ - -#include "xf86config.h" -#include "keyboard-cfg.h" -#include -#include -#include -#include -#include -#include - -#define IS_KBDDRIV(X) ((strcasecmp((X),"kbd") == 0)) - -/* - * Types - */ -typedef struct { - char *rules; - XkbRF_RulesPtr list; - XF86XkbDescInfo model; - XF86XkbDescInfo layout; - XF86XkbDescInfo variant; - XF86XkbDescInfo option; -} XF86XkbRulesDescInfo; - -/* - * Prototypes - */ -static void KeyboardRulesCallback(Widget, XtPointer, XtPointer); -static void KeyboardModelCallback(Widget, XtPointer, XtPointer); -static void KeyboardLayoutCallback(Widget, XtPointer, XtPointer); -static void KeyboardVariantCallback(Widget, XtPointer, XtPointer); -static void KeyboardOptionsCallback(Widget, XtPointer, XtPointer); -static void KeyboardApplyCallback(Widget, XtPointer, XtPointer); -static Bool KeyboardConfigCheck(void); -static void XkbUIEventHandler(Widget, XtPointer, XEvent*, Boolean*); -static XF86XkbRulesDescInfo *GetXkbRulesDesc(char*); -static void UpdateRulesPopups(void); - -/* - * Initialization - */ -static XF86XkbRulesDescInfo **xkb_desc, *xkb_rules; -static int num_xkb_desc; -static char *XkbRulesDir = "share/X11/xkb/rules/"; -#ifdef XFREE98_XKB -static char *XkbRulesFile = "xfree98"; -#else -static char *XkbRulesFile = __XKBDEFRULES__; -#endif -static XF86ConfInputPtr current_input; - -static char *rules, *model, *layout, *variant, *options; -static Widget kbd, rulesb, modelb, layoutb, variantb, optionsb, - modelp, layoutp, variantp, optionsp; -static XkbInfo **xkb_infos; -static int num_xkb_infos; -XkbInfo *xkb_info; - -static Widget apply; - -/* - * Implementation - */ -/*ARGSUSED*/ -XtPointer -KeyboardConfig(XtPointer config) -{ - XF86ConfInputPtr keyboard = (XF86ConfInputPtr)config; - XF86OptionPtr option; - Arg args[1]; - static char *XkbRules = "XkbRules", *XkbModel = "XkbModel", - *XkbLayout = "XkbLayout", *XkbVariant = "XkbVariant", - *XkbOptions = "XkbOptions"; - XF86XkbRulesDescInfo *info; - char *omodel, *olayout, *ovariant, *ooptions; - - InitializeKeyboard(); - rules = xkb_rules->rules; - if (xkb_info->config.rules_file == NULL) - xkb_info->config.rules_file = rules; - - if (options) - XtFree(options); - options = NULL; - - if (xkb_info->conf == NULL) - xkb_info->conf = keyboard; - - if (xkb_info->conf != keyboard) { - int i; - - for (i = 0; i < num_xkb_infos; i++) - if (xkb_infos[i]->conf == keyboard) { - xkb_info = xkb_infos[i]; - break; - } - - if (i >= num_xkb_infos) { - int timeout = 10; - - xkb_info = (XkbInfo*)XtCalloc(1, sizeof(XkbInfo)); - xkb_info->conf = keyboard; - xkb_infos = (XkbInfo**) - XtRealloc((XtPointer)xkb_infos, sizeof(XkbInfo*) * - (num_xkb_infos + 1)); - xkb_infos[num_xkb_infos++] = xkb_info; - - xkb_info->conf = keyboard; - bzero((char*)&(xkb_info->defs), sizeof(XkbRF_VarDefsRec)); - while (timeout > 0) { - xkb_info->xkb = - XkbGetKeyboard(XtDisplay(configp), - XkbGBN_AllComponentsMask, XkbUseCoreKbd); - if (xkb_info->xkb == NULL) { - timeout -= 1; - sleep(1); - } - else - break; - } - if (timeout <= 0) { - fprintf(stderr, "Couldn't get keyboard\n"); - } - if (xkb_info->xkb && xkb_info->xkb->names && xkb_info->xkb->geom && - xkb_info->xkb->names->geometry == 0) - xkb_info->xkb->names->geometry = xkb_info->xkb->geom->name; - } - - /* check for removed devices */ - for (i = 0; i < num_xkb_infos; i++) { - XF86ConfInputPtr key = XF86Config->conf_input_lst; - - while (key != NULL) { - if (IS_KBDDRIV(key->inp_driver) && xkb_infos[i]->conf == key) - break; - key = (XF86ConfInputPtr)(key->list.next); - } - if (xkb_infos[i]->conf != NULL && key == NULL) { - XkbFreeKeyboard(xkb_infos[i]->xkb, 0, False); - XtFree((XtPointer)xkb_infos[i]); - if (--num_xkb_infos > i) - memmove(&xkb_infos[i], &xkb_infos[i + 1], - (num_xkb_infos - i) * sizeof(XkbInfo*)); - } - } - } - - current_input = keyboard; - - if (keyboard != NULL) { - if ((option = xf86findOption(keyboard->inp_option_lst, XkbRules)) != NULL) { - if (strcmp(rules, option->opt_val)) { - XF86XkbRulesDescInfo *info = GetXkbRulesDesc(option->opt_val); - - if (info) { - rules = info->rules; - UpdateRulesPopups(); - } - } - } - if ((option = xf86findOption(keyboard->inp_option_lst, XkbModel)) != NULL) - xkb_info->defs.model = model = option->opt_val; - else - xkb_info->defs.model = model = xkb_rules->model.name[0]; - if ((option = xf86findOption(keyboard->inp_option_lst, XkbLayout)) != NULL) - xkb_info->defs.layout = layout = option->opt_val; - else - xkb_info->defs.layout = layout = xkb_rules->layout.name[0]; - if ((option = xf86findOption(keyboard->inp_option_lst, XkbVariant)) != NULL) - xkb_info->defs.variant = variant = option->opt_val; - else - xkb_info->defs.variant = variant = NULL; - - if ((option = xf86findOption(keyboard->inp_option_lst, XkbOptions)) != NULL) - xkb_info->defs.options = options = XtNewString(option->opt_val); - else - xkb_info->defs.options = options = NULL; - - XtSetArg(args[0], XtNstring, keyboard->inp_identifier); - XtSetValues(ident_widget, args, 1); - - (void)UpdateKeyboard(False); - } - else { - XF86ConfInputPtr input = XF86Config->conf_input_lst; - char keyboard_name[48]; - int nkeyboards = 0; - - while (input != NULL) { - if (IS_KBDDRIV(input->inp_driver)) - ++nkeyboards; - input = (XF86ConfInputPtr)(input->list.next); - } - do { - XmuSnprintf(keyboard_name, sizeof(keyboard_name), - "Keyboard%d", nkeyboards); - ++nkeyboards; - } while (xf86findInput(keyboard_name, - XF86Config->conf_input_lst)); - - model = xkb_rules->model.name[0]; - layout = xkb_rules->layout.name[0]; - variant = ""; - options = XtNewString(""); - XtSetArg(args[0], XtNstring, keyboard_name); - XtSetValues(ident_widget, args, 1); - } - - info = xkb_rules; - omodel = model; - olayout = layout; - ovariant = variant; - ooptions = options ? XtNewString(options) : NULL; - - xf86info.cur_list = KEYBOARD; - XtSetSensitive(back, xf86info.lists[KEYBOARD].cur_function > 0); - XtSetSensitive(next, xf86info.lists[KEYBOARD].cur_function < - xf86info.lists[KEYBOARD].num_functions - 1); - (xf86info.lists[KEYBOARD].functions[xf86info.lists[KEYBOARD].cur_function]) - (&xf86info); - - if (ConfigLoop(KeyboardConfigCheck) == True) { - if (keyboard == NULL) { - keyboard = XtNew(XF86ConfInputRec); - keyboard->list.next = NULL; - keyboard->inp_identifier = XtNewString(ident_string); - keyboard->inp_driver = XtNewString("kbd"); - keyboard->inp_option_lst = xf86newOption(XtNewString(XkbRules), - XtNewString(rules)); - xf86addNewOption(keyboard->inp_option_lst, - XtNewString(XkbModel), XtNewString(model)); - xf86addNewOption(keyboard->inp_option_lst, - XtNewString(XkbLayout), XtNewString(layout)); - if (variant && *variant) - xf86addNewOption(keyboard->inp_option_lst, - XtNewString(XkbVariant), XtNewString(variant)); - if (options && *options) { - xf86addNewOption(keyboard->inp_option_lst, - XtNewString(XkbOptions), options); - options = NULL; - } - keyboard->inp_comment = NULL; - } - else { - int i; - char *str; - - XtSetArg(args[0], XtNlabel, &str); - XtGetValues(modelb, args, 1); - for (i = 0; i < xkb_rules->model.nelem; i++) - if (strcmp(xkb_rules->model.desc[i], str) == 0) { - model = xkb_rules->model.name[i]; - break; - } - - XtSetArg(args[0], XtNlabel, &str); - XtGetValues(layoutb, args, 1); - for (i = 0; i < xkb_rules->layout.nelem; i++) - if (strcmp(xkb_rules->layout.desc[i], str) == 0) { - layout = xkb_rules->layout.name[i]; - break; - } - - if ((option = xf86findOption(keyboard->inp_option_lst, XkbRules)) - != NULL) { - XtFree(option->opt_val); - option->opt_val = XtNewString(rules); - XtFree(option->opt_comment); - option->opt_comment = NULL; - } - else - keyboard->inp_option_lst = - xf86addNewOption(keyboard->inp_option_lst, - XtNewString(XkbRules), XtNewString(rules)); - - if ((option = xf86findOption(keyboard->inp_option_lst, XkbModel)) - != NULL) { - XtFree(option->opt_val); - option->opt_val = XtNewString(model); - XtFree(option->opt_comment); - option->opt_comment = NULL; - } - else - keyboard->inp_option_lst = - xf86addNewOption(keyboard->inp_option_lst, - XtNewString(XkbModel), XtNewString(model)); - XtFree(xkb_info->config.model); - xkb_info->config.model = XtNewString(model); - - if ((option = xf86findOption(keyboard->inp_option_lst, XkbLayout)) - != NULL) { - XtFree(option->opt_val); - option->opt_val = XtNewString(layout); - } - else - keyboard->inp_option_lst = - xf86addNewOption(keyboard->inp_option_lst, - XtNewString(XkbLayout), XtNewString(layout)); - XtFree(xkb_info->config.layout); - xkb_info->config.layout = XtNewString(layout); - - if ((option = xf86findOption(keyboard->inp_option_lst, XkbVariant)) - != NULL) { - if (variant && *variant) { - XtFree(option->opt_val); - option->opt_val = XtNewString(variant); - } - else - xf86removeOption(&keyboard->inp_option_lst, XkbVariant); - } - else if (variant && *variant) - xf86addNewOption(keyboard->inp_option_lst, - XtNewString(XkbVariant), XtNewString(variant)); - XtFree(xkb_info->config.variant); - xkb_info->config.variant = variant && *variant ? - XtNewString(variant) : NULL; - - XtFree(xkb_info->config.options); - xkb_info->config.options = options && *options ? - XtNewString(options) : NULL; - if ((option = xf86findOption(keyboard->inp_option_lst, XkbOptions)) - != NULL) { - if (options && *options) { - XtFree(option->opt_val); - option->opt_val = options; - options = NULL; - } - else - xf86removeOption(&keyboard->inp_option_lst, XkbOptions); - } - else if (options && *options) { - xf86addNewOption(keyboard->inp_option_lst, - XtNewString(XkbOptions), options); - options = NULL; - } - } - if (strcasecmp(keyboard->inp_identifier, ident_string)) - xf86renameInput(XF86Config, keyboard, ident_string); - - xkb_info->conf = keyboard; - xkb_info->config.rules_file = rules; - - return ((XtPointer)keyboard); - } - - xkb_rules = info; - rules = info->rules; - model = omodel; - layout = olayout; - variant = ovariant; - XtFree(options); - options = ooptions; - - return (NULL); -} - -static Bool -KeyboardConfigCheck(void) -{ - XF86ConfInputPtr keyboard = XF86Config->conf_input_lst; - - while (keyboard != NULL) { - if (keyboard != current_input && - strcasecmp(ident_string, keyboard->inp_identifier) == 0) - return (False); - keyboard = (XF86ConfInputPtr)(keyboard->list.next); - } - - return (True); -} - -/*ARGSUSED*/ -static void -XkbUIEventHandler(Widget w, XtPointer closure, - XEvent *event, Boolean *continue_to_dispatch) -{ - XkbUI_ViewOptsRec opts; - XkbUI_ViewPtr view; - int width, height, bd; - - if (event->xexpose.count > 1) - return; - - bzero((char *)&opts, sizeof(opts)); - bd = 1; - opts.present = XkbUI_SizeMask | XkbUI_ColormapMask | - XkbUI_MarginMask | XkbUI_OffsetMask; - opts.margin_width = opts.margin_height = 0; - opts.viewport.x = opts.viewport.y = bd; - width = opts.viewport.width = w->core.width - 2 * bd; - height = opts.viewport.height = w->core.height - 2 * bd; - opts.cmap = w->core.colormap; - - if ((view = XkbUI_Init(XtDisplay(w), XtWindow(w), width, height, - xkb_info->xkb, &opts)) != NULL) { - XkbUI_DrawRegion(view, NULL); - free(view); - } -} - -void -InitializeKeyboard(void) -{ - int major, minor, op, event, error; - static int first = 1; - int timeout = 5; - XF86ConfInputPtr keyboard = XF86Config->conf_input_lst; - XF86OptionPtr option; - char name[PATH_MAX]; - FILE *file; - - if (!first) - return; - first = 0; - - major = XkbMajorVersion; - minor = XkbMinorVersion; - if (XkbQueryExtension(DPY, &op, &event, &error, &major, &minor) == 0) { - fprintf(stderr, "Unable to initialize XKEYBOARD extension"); - exit(1); - } - - xkb_info = (XkbInfo *)XtCalloc(1, sizeof(XkbInfo)); - xkb_info->conf = NULL; - xkb_infos = (XkbInfo**)XtCalloc(1, sizeof(XkbInfo*)); - num_xkb_infos = 1; - xkb_infos[0] = xkb_info; - bzero((char*)&(xkb_info->defs), sizeof(XkbRF_VarDefsRec)); - - while (timeout > 0) { - xkb_info->xkb = - XkbGetKeyboard(DPY, XkbGBN_AllComponentsMask, XkbUseCoreKbd); - if (xkb_info->xkb == NULL) { - timeout -= 1; - sleep(1); - } - else - break; - } - if (timeout <= 0) { - fprintf(stderr, "Couldn't get keyboard\n"); - } - if (xkb_info->xkb && xkb_info->xkb->names && xkb_info->xkb->geom && - xkb_info->xkb->names->geometry == 0) - xkb_info->xkb->names->geometry = xkb_info->xkb->geom->name; - - /* Load configuration */ - XmuSnprintf(name, sizeof(name), "%s%s", XkbConfigDir, XkbConfigFile); - file = fopen(name, "r"); - if (file != NULL) { - if (XkbCFParse(file, XkbCFDflts, xkb_info->xkb, &xkb_info->config) == 0) { - fprintf(stderr, "Error parsing config file: "); - XkbCFReportError(stderr, name, xkb_info->config.error, - xkb_info->config.line); - } - fclose(file); - } - - xkb_rules = GetXkbRulesDesc(xkb_info->config.rules_file != NULL ? - xkb_info->config.rules_file : XkbRulesFile); - if (xkb_rules == NULL) - /* error message was printed */ - exit(1); - - /* XXX Assumes the first keyboard is the core keyboard */ - while (keyboard != NULL) { - if (IS_KBDDRIV(keyboard->inp_driver)) - break; - keyboard = (XF86ConfInputPtr)(keyboard->list.next); - } - if (keyboard == NULL) - return; - - if (xkb_info->config.rules_file != NULL) - rules = xkb_info->config.rules_file; - else if ((option = xf86findOption(keyboard->inp_option_lst, "XkbRules")) - != NULL) - rules = option->opt_val; - else - rules = XkbRulesFile; - - if (strcmp(rules, xkb_rules->rules)) { - xkb_rules = GetXkbRulesDesc(rules); - if (xkb_rules == NULL) - /* error message was printed */ - exit(1); - } - { - FILE *fp; - char filename[1024]; - - XmuSnprintf(filename, sizeof(filename), "%s%s", - XkbRulesDir, xkb_rules->rules); - if ((fp = fopen(filename, "r")) == NULL) { - fprintf(stderr, "Can't open rules file\n"); - exit(1); - } - - if (!XkbRF_LoadRules(fp, xkb_rules->list)) { - fclose(fp); - fprintf(stderr, "Can't load rules\n"); - exit(1); - } - fclose(fp); - } - - if (xkb_info->config.rules_file == NULL) - xkb_info->config.rules_file = xkb_rules->rules; - - if (xkb_info->config.model != NULL) - xkb_info->defs.model = xkb_info->config.model; - else if ((option = xf86findOption(keyboard->inp_option_lst, "XkbModel")) - != NULL) - xkb_info->defs.model = option->opt_val; - else - xkb_info->defs.model = xkb_rules->model.name[0]; - - if (xkb_info->config.layout != NULL) - xkb_info->defs.layout = xkb_info->config.layout; - else if ((option = xf86findOption(keyboard->inp_option_lst, "XkbLayout")) - != NULL) - xkb_info->defs.layout = option->opt_val; - else - xkb_info->defs.layout = xkb_rules->layout.name[0]; - - if (xkb_info->config.variant != NULL) - xkb_info->defs.variant = xkb_info->config.variant; - else if ((option = xf86findOption(keyboard->inp_option_lst, "XkbVariant")) - != NULL) - xkb_info->defs.variant = option->opt_val; - else - xkb_info->defs.variant = NULL; - - if (xkb_info->config.options != NULL) - xkb_info->defs.options = xkb_info->config.options; - else if ((option = xf86findOption(keyboard->inp_option_lst, "XkbOptions")) - != NULL) - xkb_info->defs.options = option->opt_val; - else - xkb_info->defs.options = NULL; - - if (xkb_info->xkb == NULL) { - /* Try again */ - XkbComponentNamesRec comps; - - bzero((char*)&comps, sizeof(XkbComponentNamesRec)); - XkbRF_GetComponents(xkb_rules->list, &(xkb_info->defs), &comps); - - xkb_info->xkb = XkbGetKeyboardByName(DPY, XkbUseCoreKbd, &comps, - XkbGBN_AllComponentsMask, 0, 0); - } -} - -static XF86XkbRulesDescInfo * -GetXkbRulesDesc(char *rules) -{ - int i; - XkbRF_RulesPtr list; - char filename[1024]; - XF86XkbRulesDescInfo *info; - - if (rules == NULL) - return (NULL); - - for (i = 0; i < num_xkb_desc; i++) - if (strcmp(rules, xkb_desc[i]->rules) == 0) - return (xkb_desc[i]); - - XmuSnprintf(filename, sizeof(filename), "%s%s", XkbRulesDir, rules); - if ((list = XkbRF_Create(0, 0)) == NULL || - !XkbRF_LoadDescriptionsByName(filename, NULL, list)) { - fprintf(stderr, "Can't create rules structure\n"); - return (NULL); - } - - info = (XF86XkbRulesDescInfo*)XtCalloc(1, sizeof(XF86XkbRulesDescInfo)); - xkb_desc = (XF86XkbRulesDescInfo**) - XtRealloc((XtPointer)xkb_desc, - sizeof(XF86XkbRulesDescInfo*) * (num_xkb_desc + 1)); - xkb_desc[num_xkb_desc++] = info; - info->rules = XtNewString(rules); - for (i = 0; i < list->models.num_desc; i++) { - if (i % 16 == 0) { - info->model.name = (char**)XtRealloc((XtPointer)info->model.name, - (i + 16) * sizeof(char*)); - info->model.desc = (char**)XtRealloc((XtPointer)info->model.desc, - (i + 16) * sizeof(char*)); - } - info->model.name[i] = XtNewString(list->models.desc[i].name); - info->model.desc[i] = XtNewString(list->models.desc[i].desc); - } - info->model.nelem = i; - - for (i = 0; i < list->layouts.num_desc; i++) { - if (i % 16 == 0) { - info->layout.name = (char**)XtRealloc((XtPointer)info->layout.name, - (i + 16) * sizeof(char*)); - info->layout.desc = (char**)XtRealloc((XtPointer)info->layout.desc, - (i + 16) * sizeof(char*)); - } - info->layout.name[i] = XtNewString(list->layouts.desc[i].name); - info->layout.desc[i] = XtNewString(list->layouts.desc[i].desc); - } - info->layout.nelem = i; - - for (i = 0; i < list->variants.num_desc; i++) { - if (i % 16 == 0) { - info->variant.name = (char**)XtRealloc((XtPointer)info->variant.name, - (i + 16) * sizeof(char*)); - info->variant.desc = (char**)XtRealloc((XtPointer)info->variant.desc, - (i + 16) * sizeof(char*)); - } - info->variant.name[i] = XtNewString(list->variants.desc[i].name); - info->variant.desc[i] = XtNewString(list->variants.desc[i].desc); - } - info->variant.nelem = i; - - for (i = 0; i < list->options.num_desc; i++) { - if (i % 16 == 0) { - info->option.name = (char**)XtRealloc((XtPointer)info->option.name, - (i + 16) * sizeof(char*)); - info->option.desc = (char**)XtRealloc((XtPointer)info->option.desc, - (i + 16) * sizeof(char*)); - } - info->option.name[i] = XtNewString(list->options.desc[i].name); - info->option.desc[i] = XtNewString(list->options.desc[i].desc); - } - info->option.nelem = i; - info->list = list; - - return (info); -} - -static xf86ConfigSymTabRec ax_controls[] = -{ - {XkbRepeatKeysMask, "RepeatKeys"}, - {XkbSlowKeysMask, "SlowKeys"}, - {XkbBounceKeysMask, "BounceKeys"}, - {XkbStickyKeysMask, "StickyKeys"}, - {XkbMouseKeysMask, "MouseKeys"}, - {XkbMouseKeysAccelMask, "MouseKeysAccel"}, - {XkbAccessXKeysMask, "AccessxKeys"}, - {XkbAccessXTimeoutMask, "AccessxTimeout"}, - {XkbAccessXFeedbackMask, "AccessxFeedback"}, - {XkbAudibleBellMask, "AudibleBell"}, - {XkbOverlay1Mask, "Overlay1"}, - {XkbOverlay2Mask, "Overlay2"}, - {XkbIgnoreGroupLockMask, "IgnoreGroupLock"}, - {-1, ""}, -}; - -static xf86ConfigSymTabRec ax_feedback[] = -{ - {XkbAX_SKPressFBMask, "SlowKeysPress"}, - {XkbAX_SKAcceptFBMask, "SlowKeysAccept"}, - {XkbAX_FeatureFBMask, "Feature"}, - {XkbAX_SlowWarnFBMask, "SlowWarn"}, - {XkbAX_IndicatorFBMask, "Indicator"}, - {XkbAX_StickyKeysFBMask, "StickyKeys"}, - {XkbAX_TwoKeysMask, "TwoKeys"}, - {XkbAX_LatchToLockMask, "LatchToLock"}, - {XkbAX_SKReleaseFBMask, "SlowKeysRelease"}, - {XkbAX_SKRejectFBMask, "SlowkeysReject"}, - {XkbAX_BKRejectFBMask, "BounceKeysReject"}, - {XkbAX_DumbBellFBMask, "DumbBell"}, - {-1, ""}, -}; - -Bool -WriteXKBConfiguration(char *filename, XkbConfigRtrnPtr conf) -{ - FILE *fp; - int i, count; - - if (filename == NULL || conf == NULL || - (fp = fopen(filename, "w")) == NULL) - return (False); - - if (conf->rules_file != NULL) - fprintf(fp, "Rules = \"%s\"\n", - conf->rules_file); - if (conf->model != NULL) - fprintf(fp, "Model = \"%s\"\n", - conf->model); - if (conf->layout != NULL) - fprintf(fp, "Layout = \"%s\"\n", - conf->layout); - if (conf->variant != NULL) - fprintf(fp, "Variant = \"%s\"\n", - conf->variant); - if (conf->options != NULL) - fprintf(fp, "Options = \"%s\"\n", - conf->options); - if (conf->keymap != NULL) - fprintf(fp, "Keymap = %s\n", - conf->keymap); - if (conf->keycodes != NULL) - fprintf(fp, "Keycodes = %s\n", - conf->keycodes); - if (conf->geometry != NULL) - fprintf(fp, "Geometry = %s\n", - conf->geometry); - if (conf->phys_symbols != NULL) - fprintf(fp, "RealSymbols = %s\n", - conf->phys_symbols); - if (conf->symbols != NULL) - fprintf(fp, "Symbols = %s\n", - conf->symbols); - if (conf->types != NULL) - fprintf(fp, "Types = %s\n", - conf->types); - if (conf->compat != NULL) - fprintf(fp, "Compat = %s\n", - conf->compat); - - if (conf->click_volume > 0) - fprintf(fp, "ClickVolume = %d\n", - conf->click_volume); - if (conf->bell_volume > 0) - fprintf(fp, "BellVolume = %d\n", - conf->bell_volume); - if (conf->bell_pitch > 0) - fprintf(fp, "BellPitch = %d\n", - conf->bell_pitch); - if (conf->bell_duration > 0) - fprintf(fp, "BellDuration = %d\n", - conf->bell_duration); - - if (conf->repeat_delay > 0) - fprintf(fp, "RepeatDelay = %d\n", - conf->repeat_delay); - if (conf->repeat_interval > 0) - fprintf(fp, "RepeatInterval = %d\n", - conf->repeat_interval); - - if (conf->slow_keys_delay > 0) - fprintf(fp, "SlowKeysDelay = %d\n", - conf->slow_keys_delay); - - if (conf->debounce_delay > 0) - fprintf(fp, "DebounceDelay = %d\n", - conf->debounce_delay); - - if (conf->mk_delay > 0) - fprintf(fp, "MouseKeysDelay = %d\n", - conf->mk_delay); - if (conf->mk_interval > 0) - fprintf(fp, "MouseKeysInterval = %d\n", - conf->mk_interval); - if (conf->mk_time_to_max > 0) - fprintf(fp, "MouseKeysTimeToMax = %d\n", - conf->mk_time_to_max); - if (conf->mk_max_speed > 0) - fprintf(fp, "MouseKeysMaxSpeed = %d\n", - conf->mk_max_speed); - fprintf(fp, "MouseKeysCurve = %d\n", conf->mk_curve); - - if (conf->ax_timeout) - fprintf(fp, "AccessXTimeout = %d\n", - conf->ax_timeout); - if (conf->initial_ctrls != 0) { - fprintf(fp, "Controls %c= ", - conf->replace_initial_ctrls ? ' ' : '+'); - for (i = count = 0; *ax_controls[i].name; i++) - if ((conf->initial_ctrls & ax_controls[i].token) - == ax_controls[i].token) - fprintf(fp, "%s%s", count++ ? " + " : "", - ax_controls[i].name); - fprintf(fp, "\n"); - } - if (conf->axt_ctrls_on != 0) { - fprintf(fp, "AcessXTimeoutCtrlsOn %c= ", - conf->replace_axt_ctrls_on ? ' ' : '+'); - for (i = count = 0; *ax_controls[i].name; i++) - if ((conf->axt_ctrls_on & ax_controls[i].token) - == ax_controls[i].token) - fprintf(fp, "%s%s", count++ ? " + " : "", - ax_controls[i].name); - fprintf(fp, "\n"); - } - if (conf->axt_ctrls_off != 0) { - fprintf(fp, "AcessXTimeoutCtrlsOff %c= ", - conf->replace_axt_ctrls_off ? ' ' : '-'); - for (i = count = 0; *ax_controls[i].name; i++) - if ((conf->axt_ctrls_off & ax_controls[i].token) - == ax_controls[i].token) - fprintf(fp, "%s%s", count++ ? " + " : "", - ax_controls[i].name); - fprintf(fp, "\n"); - } - - if (conf->initial_opts != 0) { - fprintf(fp, "Feedback %c= ", - conf->replace_initial_opts ? ' ' : '+'); - for (i = count = 0; *ax_feedback[i].name; i++) - if ((conf->initial_opts & ax_feedback[i].token) - == ax_feedback[i].token) - fprintf(fp, "%s%s", count++ ? " + " : "", - ax_feedback[i].name); - fprintf(fp, "\n"); - } - if (conf->axt_opts_on != 0) { - fprintf(fp, "AcessXTimeoutFeedbackOn %c= ", - conf->replace_axt_opts_on ? ' ' : '+'); - for (i = count = 0; *ax_controls[i].name; i++) - if ((conf->axt_opts_on & ax_feedback[i].token) - == ax_feedback[i].token) - fprintf(fp, "%s%s", count++ ? " + " : "", - ax_feedback[i].name); - fprintf(fp, "\n"); - } - if (conf->axt_opts_off != 0) { - fprintf(fp, "AcessXTimeoutFeedbackOff%c= ", - conf->replace_axt_opts_off ? ' ' : '-'); - for (i = count = 0; *ax_feedback[i].name; i++) - if ((conf->axt_opts_off & ax_feedback[i].token) - == ax_feedback[i].token) - fprintf(fp, "%s%s", count++ ? " + " : "", - ax_feedback[i].name); - fprintf(fp, "\n"); - } - - fclose(fp); - - return (True); -} - -Bool -UpdateKeyboard(Bool load) -{ - XkbComponentNamesRec comps; - XkbDescPtr xkb; - - bzero((char*)&comps, sizeof(XkbComponentNamesRec)); - XkbRF_GetComponents(xkb_rules->list, &(xkb_info->defs), &comps); - - xkb = XkbGetKeyboardByName(DPY, XkbUseCoreKbd, &comps, - XkbGBN_AllComponentsMask, 0, load); - - if (xkb == NULL || xkb->geom == NULL) { - fprintf(stderr, "Couldn't get keyboard\n"); - return (False); - } - if (xkb_info->xkb && xkb_info->xkb->names && xkb_info->xkb->geom && - xkb_info->xkb->names->geometry == 0) - xkb_info->xkb->names->geometry = xkb_info->xkb->geom->name; - - XkbFreeKeyboard(xkb_info->xkb, 0, False); - - xkb_info->xkb = xkb; - - XtFree(comps.keymap); - XtFree(comps.keycodes); - XtFree(comps.compat); - XtFree(comps.types); - XtFree(comps.symbols); - XtFree(comps.geometry); - - if (kbd != NULL) - XClearArea(XtDisplay(configp), XtWindow(kbd), 0, 0, 0, 0, True); - - return (True); -} - -static void -KeyboardRulesCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - int i; - FILE *fp; - Arg args[1]; - char filename[1024], *omodel, *olayout, *ovariant, *ooptions, - *dmodel, *dlayout, *dvariant; - XF86XkbRulesDescInfo *oxkb_rules, *info = GetXkbRulesDesc(XtName(w)); - - if (strcmp(XtName(w), rules) == 0 || info == NULL) - /* a error message was printed */ - return; - - XmuSnprintf(filename, sizeof(filename), "%s%s", - XkbRulesDir, info->rules); - if ((fp = fopen(filename, "r")) == NULL) { - fprintf(stderr, "Can't open rules file\n"); - return; - } - - if (!XkbRF_LoadRules(fp, info->list)) { - fclose(fp); - fprintf(stderr, "Can't load rules\n"); - return; - } - fclose(fp); - - oxkb_rules = xkb_rules; - omodel = xkb_info->defs.model; - olayout = xkb_info->defs.layout; - ovariant = xkb_info->defs.variant; - ooptions = xkb_info->defs.options; - - if (omodel) { - for (i = 0; i < info->model.nelem; i++) { - if (strcmp(omodel, info->model.name[i]) == 0) - break; - } - } - else - i = 0; - model = xkb_info->defs.model = info->model.name - [i < info->model.nelem ? i : 0]; - dmodel = info->model.desc[i < info->model.nelem ? i : 0]; - - if (olayout) { - for (i = 0; i < info->layout.nelem; i++) { - if (strcmp(olayout, info->layout.name[i]) == 0) - break; - } - } - else - i = 0; - layout = xkb_info->defs.layout = info->layout.name - [i < info->layout.nelem ? i : 0]; - dlayout = info->layout.desc[i < info->layout.nelem ? i : 0]; - - if (ovariant) { - for (i = 0; i < info->variant.nelem; i++) { - if (strcmp(ovariant, info->variant.name[i]) == 0) - break; - } - } - else - i = info->variant.nelem; - variant = xkb_info->defs.variant = i < info->variant.nelem ? - info->variant.name[i] : NULL; - dvariant = i < info->variant.nelem ? - info->variant.desc[i] : NULL; - - if (ooptions) { - char *ptr, *tmp = XtNewString(options); - - for (ptr = strtok(tmp, ","); ptr != NULL; ptr = strtok(NULL, ",")) { - if (strchr(ptr, ':') == NULL) - continue; - - for (i = 0; i < xkb_rules->option.nelem; i++) - if (strcmp(xkb_rules->option.name[i], ptr) == 0) - break; - - if (i == xkb_rules->option.nelem) { - XtFree(options); - options = NULL; - /* no option with the same name */ - break; - } - } - XtFree(tmp); - } - else { - XtFree(options); - options = NULL; - } - - oxkb_rules = xkb_rules; - xkb_rules = info; - rules = info->rules; - - if (!UpdateKeyboard(False)) { - model = xkb_info->defs.model = omodel; - layout = xkb_info->defs.layout = olayout; - variant = xkb_info->defs.variant = ovariant; - options = XtNewString(xkb_info->defs.options = ooptions); - xkb_rules = oxkb_rules; - rules = xkb_rules->rules; - - XmuSnprintf(filename, sizeof(filename), "%s%s", - XkbRulesDir, rules); - if ((fp = fopen(filename, "r")) == NULL) { - fprintf(stderr, "Can't open rules file\n"); - return; - } - - if (!XkbRF_LoadRules(fp, xkb_rules->list)) { - fprintf(stderr, "Can't load rules\n"); - } - fclose(fp); - - return; - } - - UpdateRulesPopups(); - - XtSetArg(args[0], XtNlabel, rules); - XtSetValues(rulesb, args, 1); - - XtSetArg(args[0], XtNlabel, dmodel); - XtSetValues(modelb, args, 1); - - XtSetArg(args[0], XtNlabel, dlayout); - XtSetValues(layoutb, args, 1); - - XtSetArg(args[0], XtNlabel, dvariant ? dvariant : ""); - XtSetValues(variantb, args, 1); - - XtSetArg(args[0], XtNlabel, options ? options : ""); - XtSetValues(variantb, args, 1); -} - -static void -KeyboardModelCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - Arg args[1]; - int i; - char *oldval = xkb_info->defs.model; - - for (i = 0; i < xkb_rules->model.nelem; i++) - if (strcmp(XtName(w), xkb_rules->model.name[i]) == 0) - break; - model = xkb_info->defs.model = xkb_rules->model.name[i]; - if (!UpdateKeyboard(False)) - model = xkb_info->defs.model = oldval; - else { - XtSetArg(args[0], XtNlabel, xkb_rules->model.desc[i]); - XtSetValues(modelb, args, 1); - } -} - -static void -KeyboardLayoutCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - Arg args[1]; - int i; - char *oldval = xkb_info->defs.layout; - - for (i = 0; i < xkb_rules->layout.nelem; i++) - if (strcmp(XtName(w), xkb_rules->layout.name[i]) == 0) - break; - layout = xkb_info->defs.layout = xkb_rules->layout.name[i]; - if (!UpdateKeyboard(False)) - layout = xkb_info->defs.layout = oldval; - else { - XtSetArg(args[0], XtNlabel, xkb_rules->layout.desc[i]); - XtSetValues(layoutb, args, 1); - } -} - -static void -KeyboardVariantCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - Arg args[1]; - int i; - char *label, *oldval = xkb_info->defs.variant; - - for (i = 0; i < xkb_rules->variant.nelem; i++) - if (strcmp(XtName(w), xkb_rules->variant.name[i]) == 0) - break; - variant = i < xkb_rules->variant.nelem ? xkb_rules->variant.name[i] : ""; - xkb_info->defs.variant = variant && *variant ? variant : NULL; - - if (!UpdateKeyboard(False)) - xkb_info->defs.variant = variant = oldval; - else { - label = i < xkb_rules->variant.nelem ? xkb_rules->variant.desc[i] : ""; - XtSetArg(args[0], XtNlabel, label); - XtSetValues(variantb, args, 1); - } -} - -static void -KeyboardOptionsCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - Arg args[1]; - int i; - - for (i = 0; i < xkb_rules->option.nelem; i++) - if (strcmp(XtName(w), xkb_rules->option.name[i]) == 0) - break; - - if (i < xkb_rules->option.nelem) { - char *delim, *ptr, str[256]; - - /* remove old string, don't check if the same */ - if ((delim = strchr(XtName(w), ':')) != NULL) { - if (delim - XtName(w) >= sizeof(str) - 2) - return; - strncpy(str, XtName(w), delim - XtName(w) + 1); - str[delim - XtName(w) + 1] = '\0'; - } - else - XmuSnprintf(str, sizeof(str), "%s:", XtName(w)); - if (options && (delim = strstr(options, str)) != NULL) { - if ((ptr = strchr(delim, ',')) != NULL) { - *delim = *ptr = '\0'; - XmuSnprintf(str, sizeof(str), "%s%s", options, ptr + 1); - XtFree(options); - options = XtNewString(str); - } - else { - if (delim > options) - delim[-1] = '\0'; - else - delim[0] = '\0'; - } - } - - /* update string, if required */ - if ((delim = strchr(XtName(w), ':')) != NULL) { - if (options && *options) - XmuSnprintf(str, sizeof(str), "%s,%s", options, XtName(w)); - else - XmuSnprintf(str, sizeof(str), "%s", XtName(w)); - XtFree(options); - options = XtNewString(str); - } - } - else { - XtFree(options); - options = XtNewString(""); - } - - if (options == NULL) - options = XtNewString(""); - - xkb_info->defs.options = options; - if (!UpdateKeyboard(False)) { - *options = '\0'; - xkb_info->defs.options = NULL; - } - XtSetArg(args[0], XtNlabel, options); - XtSetValues(optionsb, args, 1); - XtSetArg(args[0], XtNtip, options); - XtSetValues(optionsb, args, 1); -} - -/*ARGSUSED*/ -static void -KeyboardApplyCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - (void)UpdateKeyboard(True); -} - -static void -UpdateRulesPopups(void) -{ - int i; - char *optname; - Widget sme, optpopup = NULL, optparent; - - /* MODEL */ - if (modelp) - XtDestroyWidget(modelp); - modelp = XtCreatePopupShell("modelP", simpleMenuWidgetClass, - modelb, NULL, 0); - for (i = 0; i < xkb_rules->model.nelem; i++) { - sme = XtVaCreateManagedWidget(xkb_rules->model.name[i], smeBSBObjectClass, - modelp, - XtNlabel, xkb_rules->model.desc[i], - NULL); - XtAddCallback(sme, XtNcallback, KeyboardModelCallback, NULL); - } - - /* LAYOUT */ - if (layoutp) - XtDestroyWidget(layoutp); - layoutp = XtCreatePopupShell("layoutP", simpleMenuWidgetClass, - layoutb, NULL, 0); - for (i = 0; i < xkb_rules->layout.nelem; i++) { - sme = XtVaCreateManagedWidget(xkb_rules->layout.name[i], smeBSBObjectClass, - layoutp, - XtNlabel, xkb_rules->layout.desc[i], - NULL); - XtAddCallback(sme, XtNcallback, KeyboardLayoutCallback, NULL); - } - - /* VARIANT */ - if (variantp) - XtDestroyWidget(variantp); - variantp = XtCreatePopupShell("variantP", simpleMenuWidgetClass, - variantb, NULL, 0); - sme = XtVaCreateManagedWidget("None", smeBSBObjectClass, - variantp, - XtNlabel, "None", - NULL); - XtAddCallback(sme, XtNcallback, KeyboardVariantCallback, NULL); - for (i = 0; i < xkb_rules->variant.nelem; i++) { - sme = XtVaCreateManagedWidget(xkb_rules->variant.name[i], smeBSBObjectClass, - variantp, - XtNlabel, xkb_rules->variant.desc[i], - NULL); - XtAddCallback(sme, XtNcallback, KeyboardVariantCallback, NULL); - } - - /* OPTIONS */ - if (optionsp) - XtDestroyWidget(optionsp); - optionsp = XtCreatePopupShell("optionsP", simpleMenuWidgetClass, - optionsb, NULL, 0); - sme = XtVaCreateManagedWidget("None", smeBSBObjectClass, - optionsp, - XtNlabel, "None", - NULL); - XtAddCallback(sme, XtNcallback, KeyboardOptionsCallback, NULL); - optparent = optionsp; - optname = NULL; - for (i = 0; i < xkb_rules->option.nelem; i++) { - if (!strchr(xkb_rules->option.name[i], ':')) { - optpopup = - XtCreatePopupShell(optname = xkb_rules->option.desc[i], - simpleMenuWidgetClass, - optparent = optionsp, NULL, 0); - sme = XtVaCreateManagedWidget(xkb_rules->option.name[i], - smeBSBObjectClass, - optpopup, - XtNlabel, "None", - NULL); - XtAddCallback(sme, XtNcallback, KeyboardOptionsCallback, NULL); - } - else { - optparent = optpopup; - optname = NULL; - } - sme = XtVaCreateManagedWidget(xkb_rules->option.name[i], smeBSBObjectClass, - optparent, - XtNlabel, xkb_rules->option.desc[i], - XtNmenuName, optname, - XtNleftBitmap, optname ? menuPixmap : None, - NULL); - if (optparent != optionsp) - XtAddCallback(sme, XtNcallback, KeyboardOptionsCallback, NULL); - } -} - -void -KeyboardModelAndLayout(XF86SetupInfo *info) -{ - static int first = 1; - static Widget kbdml; - Arg args[1]; - int i; - - if (first) { - Widget popup, sme; - - first = 0; - - kbdml = XtCreateWidget("keyboardML", formWidgetClass, - configp, NULL, 0); - - /* RULES */ - XtCreateManagedWidget("labelR", labelWidgetClass, kbdml, NULL, 0); - rulesb = XtVaCreateManagedWidget("rules", menuButtonWidgetClass, kbdml, - XtNmenuName, "rulesP", - NULL); - popup = XtCreatePopupShell("rulesP", simpleMenuWidgetClass, - rulesb, NULL, 0); - { - struct dirent *ent; - DIR *dir; - - if ((dir = opendir(XkbRulesDir)) != NULL) { - (void)readdir(dir); - (void)readdir(dir); - while ((ent = readdir(dir)) != NULL) { - if (strchr(ent->d_name, '.')) - continue; - - sme = XtVaCreateManagedWidget(ent->d_name, smeBSBObjectClass, - popup, - XtNlabel, ent->d_name, - NULL); - XtAddCallback(sme, XtNcallback, KeyboardRulesCallback, NULL); - } - closedir(dir); - } - } - - /* MODEL */ - XtCreateManagedWidget("labelM", labelWidgetClass, kbdml, NULL, 0); - modelb = XtVaCreateManagedWidget("model", menuButtonWidgetClass, kbdml, - XtNmenuName, "modelP", - NULL); - - /* LAYOUT */ - XtCreateManagedWidget("labelL", labelWidgetClass, kbdml, NULL, 0); - layoutb = XtVaCreateManagedWidget("layout", menuButtonWidgetClass, kbdml, - XtNmenuName, "layoutP", - XtNlabel, xkb_rules->layout.desc[0], - NULL); - - /* VARIANT */ - XtCreateManagedWidget("labelV", labelWidgetClass, kbdml, NULL, 0); - variantb = XtVaCreateManagedWidget("variant", menuButtonWidgetClass, kbdml, - XtNmenuName, "variantP", - XtNlabel, "", - NULL); - - /* OPTIONS */ - XtCreateManagedWidget("labelO", labelWidgetClass, kbdml, NULL, 0); - optionsb = XtVaCreateManagedWidget("options", menuButtonWidgetClass, kbdml, - XtNmenuName, "optionsP", - XtNlabel, "", - NULL); - - UpdateRulesPopups(); - - kbd = XtCreateManagedWidget("keyboard", coreWidgetClass, - kbdml, NULL, 0); - - apply = XtCreateManagedWidget("apply", commandWidgetClass, - kbdml, NULL, 0); - XtAddCallback(apply, XtNcallback, KeyboardApplyCallback, NULL); - - XtRealizeWidget(kbdml); - - XtAddEventHandler(kbd, ExposureMask, False, XkbUIEventHandler, NULL); - /* Force the first update */ - XClearArea(XtDisplay(kbd), XtWindow(kbd), 0, 0, 0, 0, True); - } - - XtSetArg(args[0], XtNlabel, xkb_rules->rules); - XtSetValues(rulesb, args, 1); - - for (i = 0; i < xkb_rules->model.nelem; i++) - if (strcmp(model, xkb_rules->model.name[i]) == 0) { - XtSetArg(args[0], XtNlabel, xkb_rules->model.desc[i]); - XtSetValues(modelb, args, 1); - break; - } - - for (i = 0; i < xkb_rules->layout.nelem; i++) - if (strcmp(layout, xkb_rules->layout.name[i]) == 0) { - XtSetArg(args[0], XtNlabel, xkb_rules->layout.desc[i]); - XtSetValues(layoutb, args, 1); - break; - } - - if (variant) - for (i = 0; i < xkb_rules->variant.nelem; i++) - if (strcmp(variant, xkb_rules->variant.name[i]) == 0) { - XtSetArg(args[0], XtNlabel, xkb_rules->variant.desc[i]); - XtSetValues(variantb, args, 1); - break; - } - - if (options) { - XtSetArg(args[0], XtNlabel, options); - XtSetValues(optionsb, args, 1); - } - - XtChangeManagedSet(¤t, 1, NULL, NULL, &kbdml, 1); - current = kbdml; -} diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/keyboard-cfg.h b/xorg-server/hw/xfree86/utils/xorgcfg/keyboard-cfg.h deleted file mode 100644 index 512a19d7a..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/keyboard-cfg.h +++ /dev/null @@ -1,73 +0,0 @@ -/* - * 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. - * - * Author: Paulo César Pereira de Andrade - * - */ - -#include "config.h" -#include - -#ifndef _xf86cfg_keyboard_h -#define _xf86cfg_keyboard_h - -/* - * All file names are from XProjectRoot or XWINHOME environment variable. - */ -#define XkbConfigDir "share/X11/xkb/" -#define XkbConfigFile "X0-config.keyboard" - -/* - * Types - */ -typedef struct { - char **name; - char **desc; - int nelem; -} XF86XkbDescInfo; - -typedef struct { - XF86ConfInputPtr conf; - XkbDescPtr xkb; - XkbRF_VarDefsRec defs; - XkbConfigRtrnRec config; -} XkbInfo; - -/* - * Prototypes - */ -XtPointer KeyboardConfig(XtPointer); -void KeyboardModelAndLayout(XF86SetupInfo*); -void InitializeKeyboard(void); -Bool UpdateKeyboard(Bool); -Bool WriteXKBConfiguration(char*, XkbConfigRtrnPtr); - -/* - * Initialization - */ -extern XkbInfo *xkb_info; - -#endif /* _xf86cfg_keyboard_h */ diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/keyboard.xbm b/xorg-server/hw/xfree86/utils/xorgcfg/keyboard.xbm deleted file mode 100644 index 0346a8ccd..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/keyboard.xbm +++ /dev/null @@ -1,59 +0,0 @@ -/* - * 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. - * - * Author: Paulo César Pereira de Andrade - * - * $XFree86$ - */ -#define keyboard_width 50 -#define keyboard_height 44 -static unsigned char keyboard_bits[] = { - 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x00, 0xe0, 0xff, 0xff, 0xff, - 0xff, 0x1f, 0x00, 0x78, 0x00, 0x00, 0x00, 0x00, 0x78, 0x00, 0x78, 0x9e, - 0xe7, 0x3d, 0xef, 0x79, 0x00, 0x18, 0x9a, 0xa6, 0x35, 0xad, 0x61, 0x00, - 0x18, 0x9e, 0xe7, 0x3d, 0xef, 0x61, 0x00, 0x18, 0x9e, 0xe7, 0x3d, 0xef, - 0x61, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x18, 0x00, 0x00, - 0x00, 0x00, 0x60, 0x00, 0x98, 0xf7, 0xde, 0x7b, 0xef, 0x67, 0x00, 0x98, - 0xd6, 0x5a, 0x6b, 0x2d, 0x66, 0x00, 0x98, 0xf7, 0xde, 0x7b, 0xef, 0x66, - 0x00, 0x98, 0xf7, 0xde, 0x7b, 0xef, 0x66, 0x00, 0x18, 0x00, 0x00, 0x00, - 0x80, 0x66, 0x00, 0x98, 0xdf, 0x7b, 0xef, 0xbd, 0x66, 0x00, 0x98, 0x58, - 0x6b, 0xad, 0xb5, 0x66, 0x00, 0x98, 0xdf, 0x7b, 0xef, 0xbd, 0x67, 0x00, - 0x98, 0xdf, 0x7b, 0xef, 0xbd, 0x67, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, - 0x60, 0x00, 0x98, 0xf7, 0xde, 0x7b, 0xef, 0x67, 0x00, 0x98, 0xd6, 0x5a, - 0x6b, 0x2d, 0x66, 0x00, 0x98, 0xf7, 0xde, 0x7b, 0xef, 0x67, 0x00, 0x98, - 0xf7, 0xde, 0x7b, 0xef, 0x67, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x60, - 0x00, 0x98, 0xf7, 0xfd, 0xf7, 0xbd, 0x67, 0x00, 0x98, 0x96, 0x05, 0x96, - 0xb5, 0x66, 0x00, 0x98, 0xf7, 0xfd, 0xf7, 0xbd, 0x67, 0x00, 0x98, 0xf7, - 0xfd, 0xf7, 0xbd, 0x67, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, - 0x38, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0xf0, 0xff, 0xff, 0xff, 0xff, - 0x3f, 0x00, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/keyboard.xpm b/xorg-server/hw/xfree86/utils/xorgcfg/keyboard.xpm deleted file mode 100644 index 200ba7f42..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/keyboard.xpm +++ /dev/null @@ -1,66 +0,0 @@ -/* XPM */ -/* - * 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. - * - * Author: Paulo César Pereira de Andrade - * - * $XFree86$ - */ -static char * card_xpm[] = { -"60 28 5 1", -" c none", -". c #AEBAAEBAAEBA", -"X c #CF3CCF3CCF3C", -"o c #8E388A288E38", -"O c #69A671C669A6", -" ........................ ", -" .............................XXXXXXXXXXXXXXXXXXXXXXXX..... ", -".XXXXXXXXXXXXXXXXXXXXXXXXXXXXX........................XXXXoO", -".X........................................................oO", -".X........................................................oO", -".X.Xo..Xo.Xo.Xo..Xo.Xo.Xo.Xo.Xo.Xo..Xo.Xo.Xo..ooooooooooo.oO", -".X.oo..oo.oo.oo..oo.oo.oo.oo.oo.oo..oo.oo.oo..XXXXXXXXXXX.oO", -".X........................................................oO", -".X........................................................oO", -".X.Xo.Xo.Xo.Xo.Xo.Xo.Xo.Xo.Xo.Xo.o..Xo.Xo.Xo..Xo.Xo.Xo.Xo.oO", -".X.oo.oo.oo.oo.oo.oo.oo.oo.oo.oo.o..oo.oo.oo..oo.oo.oo.oo.oO", -".X........................................................oO", -".X.XXo.Xo.Xo.Xo.Xo.Xo.Xo.Xo.Xo.oXo..Xo.Xo.Xo..Xo.Xo.Xo.Xo.oO", -".X.ooo.oo.oo.oo.oo.oo.oo.oo.oo..Xo..oo.oo.oo..oo.oo.oo.Xo.oO", -".X..............................Xo.....................Xo.oO", -".X.Xo.Xo.Xo.Xo.Xo.Xo.Xo.Xo.Xo.XXXo..Xo.Xo.Xo..Xo.Xo.Xo.Xo.oO", -".X.oo.oo.oo.oo.oo.oo.oo.oo.oo.oooo..oo.oo.oo..oo.oo.oo.oo.oO", -".X........................................................oO", -".X.XXo.Xo.Xo.Xo.Xo.Xo.Xo.Xo.Xo.XXo.....Xo.....Xo.Xo.Xo.Xo.oO", -".X.ooo.oo.oo.oo.oo.oo.oo.oo.oo.ooo.....oo.....oo.oo.oo.Xo.oO", -".X.....................................................Xo.oO", -".X.Xo.Xo.Xo.XXXXXXXXXXXXo.Xo.Xo.Xo..Xo.Xo.Xo..XXXXo.Xo.Xo.oO", -".X.oo.oo.oo.ooooooooooooo.oo.oo.oo..oo.oo.oo..ooooo.oo.oo.oO", -".X........................................................oO", -".X........................................................oO", -".Xooooo.......................oooooooooooooooooooooooooooooO", -" XOOOOOoooooooooooooooooooooooOOOOOOOOOOOOOOOOOOOOOOOOOOOOO ", -" OOOOOOOOOOOOOOOOOOOOOOO "}; diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/left.xbm b/xorg-server/hw/xfree86/utils/xorgcfg/left.xbm deleted file mode 100644 index bfb8f3ba8..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/left.xbm +++ /dev/null @@ -1,8 +0,0 @@ -#define left_width 19 -#define left_height 19 -static unsigned char left_bits[] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x06, 0x00, - 0x00, 0x07, 0x00, 0x80, 0x07, 0x00, 0xc0, 0x07, 0x00, 0xe0, 0xff, 0x01, - 0xf0, 0xff, 0x01, 0xf8, 0xff, 0x01, 0xf0, 0xff, 0x01, 0xe0, 0xff, 0x01, - 0xc0, 0x07, 0x00, 0x80, 0x07, 0x00, 0x00, 0x07, 0x00, 0x00, 0x06, 0x00, - 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/loader.c b/xorg-server/hw/xfree86/utils/xorgcfg/loader.c deleted file mode 100644 index 8a9ad1aef..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/loader.c +++ /dev/null @@ -1,405 +0,0 @@ -/* - * 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. - * - * Author: Paulo César Pereira de Andrade - * - */ - -#include "config.h" -#include "cards.h" -#include "options.h" -#include "loader.h" -#include "stubs.h" -#include -#include - -#ifdef USE_MODULES -#include -#include -#include -#if defined(X_POSIX_C_SOURCE) -#define _POSIX_C_SOURCE X_POSIX_C_SOURCE -#include -#undef _POSIX_C_SOURCE -#else -#include -#endif -#include -#include - -#include - -#ifndef OPTIONSPATH -#define OPTIONSPATH "/usr/lib/X11" -#endif - -#ifndef SIGNALRETURNSINT -void sig_handler(int); -#else -int sig_handler(int); -#endif /* SIGNALRETURNSINT */ - -static Bool EnumDatabase(XrmDatabase*, XrmBindingList, XrmQuarkList, - XrmRepresentation*, XrmValue*, XPointer); - -static sigjmp_buf jmp; -int signal_caught; -int error_level; -char *loaderPath, **loaderList, **ploaderList; -extern XrmDatabase options_xrm; -extern int noverify; -extern ModuleType module_type; -static OptionInfoPtr option; - -extern FontModule *font_module; -extern int numFontModules; - -char **checkerLegend; -int *checkerErrors; - -#ifndef SIGNALRETURNSINT -void -#else -int -#endif -sig_handler(int sig) -{ - char *str; - - switch (sig) { - case SIGTRAP: - str = "TRAP"; - break; - case SIGBUS: - str = "BUS"; - break; - case SIGSEGV: - str = "SEGV"; - break; - case SIGILL: - str = "ILL"; - break; - case SIGFPE: - str = "FPE"; - break; - default: - str = "???"; - break; - } - - if (signal_caught == 1) { - ErrorF(" ERROR I am dead.\n"); - exit(1); - } - else if (signal_caught == 2) - abort(); - ++signal_caught; - ErrorF(" ERROR SIG%s caught!\n", str); - if (!noverify) - error_level += 50; - siglongjmp(jmp, 1); - /*NOTREACHED*/ -} - -void -CheckMsg(int code, char *fmt, ...) -{ - va_list ap; - - ++checkerErrors[code]; - ErrorF("%3d ", code); - - va_start(ap, fmt); - VErrorF(fmt, ap); - va_end(ap); -} - -static Bool -EnumDatabase(XrmDatabase *db, XrmBindingList bindings, XrmQuarkList quarks, - XrmRepresentation *type, XrmValue *value, XPointer closure) -{ - char *res = XrmQuarkToString(quarks[1]); - - if (res) { - option = module_options->option; - while (option->name) { - if (strcasecmp(option->name, res) == 0) - return (False); - ++option; - } - CheckMsg(CHECKER_OPTION_UNUSED, - "WARNING %s.%s is not used\n", - XrmQuarkToString(quarks[0]), res); - ++error_level; - } - - return (False); -} - -Bool -LoaderInitializeOptions(void) -{ - static int first = 1; - static char *modules = "lib/modules"; - volatile Bool options_ok = False; - char *ptr, query[256]; - char *ptr2, query2[256]; - char *type; - XrmValue value; - XrmQuark names[2]; - XrmQuark classes[2]; - volatile int i; - static ModuleType module_types[] = { - GenericModule, FontRendererModule, InputModule, VideoModule, NullModule - }; - - /* The offset in this vector must match loader.h:enum ModuleType values */ - static char *module_strs[] = { - "Null Module", "Video Module", "Input Module", "Generic Module", "Font Module" - }; - - if (first) { - checkerLegend = (char**) - XtCalloc(1, sizeof(char*) * (CHECKER_LAST_MESSAGE + 1)); - checkerErrors = (int*) - XtCalloc(1, sizeof(int) * (CHECKER_LAST_MESSAGE + 1)); - xf86cfgLoaderInit(); - first = 0; - - checkerLegend[CHECKER_OPTIONS_FILE_MISSING] = - "The Options file, normally " OPTIONSPATH "/Options was not found.\n"; - checkerLegend[CHECKER_OPTION_DESCRIPTION_MISSING] = - "No description for the module option. The description should be in\n" - "in the Options file, and using the sintax:\n" - "Module.Option: any text describing the option"; - checkerLegend[CHECKER_LOAD_FAILED] = - "Failed to load the module. Usually the loader will print a complete\n" - "description for the reason the module was not loaded. Use the -verbose\n" - "command line option if it is not printing any messages."; - checkerLegend[CHECKER_RECOGNIZED_AS] = - "This message means the module code did not follow what was expected\n" - "by the checker. For video drivers, it did not call xf86AddDriver,\n" - "a input module did not call xf86AddInputDriver and a font renderer\n" - "module did not call LoadFont. This message can also be printed if\n" - "the module is in the incorrect directory."; - checkerLegend[CHECKER_NO_OPTIONS_AVAILABLE] = - "The driver does not have an AvailableOptions function, or that\n" - "function is returning NULL. If the driver is returning NULL, and\n" - "really does not need any options from "__XCONFIGFILE__", than the message\n" - "can be ignored."; - checkerLegend[CHECKER_NO_VENDOR_CHIPSET] = - "The checker could not fetch the PCI chipset/vendor information from\n" - "the module. The checker currently wraps xf86PrintChipsets and\n" - "xf86MatchPciInstances to read the information from the module."; - checkerLegend[CHECKER_CANNOT_VERIFY_CHIPSET] = - "The vendor id was not found, so it is not possible to search the list\n" - "of chipsets."; - checkerLegend[CHECKER_OPTION_UNUSED] = - "The option description is defined in the Options file, but the option\n" - "was name not retrieved when calling the module AvailableOptions."; - checkerLegend[CHECKER_NOMATCH_CHIPSET_STRINGS] = - "The string specified in the module does not match the one in\n" - "common/xf86PciInfo.h"; - checkerLegend[CHECKER_CHIPSET_NOT_LISTED] = - "This means that common/xf86PciInfo.h does not have an entry for the\n" - "given vendor and id."; - checkerLegend[CHECKER_CHIPSET_NOT_SUPPORTED] = - "The chipset is listed in common/xf86PciInfo.h, but the driver does\n" - "not support it, or does not list it in the chipsets fetched by the checker."; - checkerLegend[CHECKER_CHIPSET_NO_VENDOR] = - "The vendor id specified to xf86MatchPciInstances is not defined in\n" - "common/xf86PciInfo.h"; - checkerLegend[CHECKER_NO_CHIPSETS] = - "No chipsets were passed to xf86MatchPciIntances."; - checkerLegend[CHECKER_FILE_MODULE_NAME_MISMATCH] = - "The module name string does not match the the modname field of the\n" - "XF86ModuleVersionInfo structure. This generally is not an error, but\n" - "to may be a good idea to use the same string to avoid confusion."; - } - - if (XF86Module_path == NULL) { - XF86Module_path = malloc(strlen(XFree86Dir) + strlen(modules) + 2); - sprintf(XF86Module_path, "%s/%s", XFree86Dir, modules); - } - - if (loaderPath == NULL || strcmp(XF86Module_path, loaderPath)) - loaderPath = strdup(XF86Module_path); - else - /* nothing new */ - return (True); - - if (!noverify) { - options_ok = InitializeOptionsDatabase(); - InitializePciInfo(); - } - - for (i = 0; module_types[i] != NullModule; i++) { - xf86cfgLoaderInitList(module_types[i]); - if (!noverify) - ErrorF("================= Checking modules of type \"%s\" =================\n", - module_strs[module_types[i]]); - - if (loaderList) { - for (ploaderList = loaderList; *ploaderList; ploaderList++) { - signal_caught = 0; - signal(SIGTRAP, sig_handler); - signal(SIGBUS, sig_handler); - signal(SIGSEGV, sig_handler); - signal(SIGILL, sig_handler); - signal(SIGFPE, sig_handler); - if (sigsetjmp(jmp, 1) == 0) { - if (!noverify) { - int ok, nfont_modules; - - nfont_modules = numFontModules; - error_level = 0; - ErrorF("CHECK MODULE %s\n", *ploaderList); - if ((ok = xf86cfgCheckModule()) == 0) { - CheckMsg(CHECKER_LOAD_FAILED, - "ERROR Failed to load module.\n"); - error_level += 50; - } - else if (module_type != module_types[i]) { - CheckMsg(CHECKER_RECOGNIZED_AS, - "WARNING %s recognized as a \"%s\"\n", *ploaderList, - module_strs[module_type]); - ++error_level; - } - if (ok) { - if (options_ok) { - if ((module_options == NULL || module_options->option == NULL) && - module_type != GenericModule) { - CheckMsg(CHECKER_NO_OPTIONS_AVAILABLE, - "WARNING Not a generic module, but no options available.\n"); - ++error_level; - } - else if (module_options && strcmp(module_options->name, *ploaderList) == 0) { - ErrorF(" CHECK OPTIONS\n"); - option = module_options->option; - - while (option->name) { - XmuSnprintf(query, sizeof(query), "%s.%s", *ploaderList, option->name); - for (ptr = query, ptr2 = query2; *ptr; ptr++) { - if (*ptr != '_' && *ptr != ' ' && *ptr != '\t') - *ptr2 = tolower(*ptr); - } - *ptr2 = '\0'; - /* all resources are in lowercase */ - if (!XrmGetResource(options_xrm, query2, "Module.Option", &type, &value) || - value.addr == NULL) { - CheckMsg(CHECKER_OPTION_DESCRIPTION_MISSING, - "WARNING no description for %s\n", query); - ++error_level; - } - ++option; - } - - /* now do a linear search for Options file entries that are not - * in the driver. - */ - names[0] = XrmPermStringToQuark(module_options->name); - classes[0] = XrmPermStringToQuark("Option"); - names[1] = classes[1] = NULLQUARK; - (void)XrmEnumerateDatabase(options_xrm, (XrmNameList)&names, (XrmClassList)&classes, - XrmEnumOneLevel, EnumDatabase, NULL); - } - } - else { - CheckMsg(CHECKER_OPTIONS_FILE_MISSING, - "ERROR Options file missing.\n"); - error_level += 10; - } - - if (module_type == VideoModule && - (module_options == NULL || module_options->vendor < 0 || - module_options->chipsets == NULL)) { - CheckMsg(CHECKER_NO_VENDOR_CHIPSET, - "WARNING No vendor/chipset information available.\n"); - ++error_level; - } - else if (module_type == VideoModule) { - if (module_options == NULL) { - /* No description for this, if this happen, - * something really strange happened. */ - ErrorF(" ERROR No module_options!?!\n"); - error_level += 50; - } - else { - ErrorF(" CHECK CHIPSETS\n"); - CheckChipsets(module_options, &error_level); - } - } - - /* font modules check */ - if (module_type == FontRendererModule) { - if (strcmp(*ploaderList, font_module->name)) { - /* not an error */ - ErrorF(" NOTICE FontModule->name specification mismatch: \"%s\" \"%s\"\n", - *ploaderList, font_module->name); - } - if (nfont_modules + 1 != numFontModules) { - /* not an error */ - ErrorF(" NOTICE font module \"%s\" loaded more than one font renderer.\n", - *ploaderList); - } - } - else if (nfont_modules != numFontModules) { - ErrorF(" WARNING number of font modules changed from %d to %d.\n", - nfont_modules, numFontModules); - ++error_level; - } - } - ErrorF(" SUMMARY error_level set to %d.\n\n", error_level); - } - else - (void)xf86cfgCheckModule(); - } - signal(SIGTRAP, SIG_DFL); - signal(SIGBUS, SIG_DFL); - signal(SIGSEGV, SIG_DFL); - signal(SIGILL, SIG_DFL); - signal(SIGFPE, SIG_DFL); - } - xf86cfgLoaderFreeList(); - } - else - ErrorF(" ERROR Failed to initialize module list.\n"); - } - - if (!noverify) { - ErrorF("===================================== LEGEND ===============================\n"); - ErrorF("NOTICE lines are just informative.\n"); - ErrorF("WARNING lines add 1 to error_level.\n"); - ErrorF("ERROR lines add 2 or more (based on the severity of the error) to error_level.\n\n"); - for (i = 0; i <= CHECKER_LAST_MESSAGE; i++) - if (checkerErrors[i]) { - ErrorF("%3d\n%s\n\n", i, checkerLegend[i]); - } - } - - return (True); -} -#endif diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/loader.h b/xorg-server/hw/xfree86/utils/xorgcfg/loader.h deleted file mode 100644 index 16c527327..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/loader.h +++ /dev/null @@ -1,170 +0,0 @@ -/* - * 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. - * - * Author: Paulo César Pereira de Andrade - * - */ - -#ifdef USE_MODULES -#ifndef LOADER_PRIVATE -#include "config.h" -#include "stubs.h" - -#else - -#define IN_LOADER - -#include "xf86.h" -#include "xf86str.h" -#include "xf86Opt.h" -#include "xf86Module.h" - -#ifndef XINPUT -#define XINPUT -#endif -#include "xf86Xinput.h" - -#include -#include "loaderProcs.h" - -#include - -void LoaderDefaultFunc(void); -#endif - -#ifndef _xf86cfg_loader_h -#define _xf86cfg_loader_h - -void xf86cfgLoaderInit(void); -void xf86cfgLoaderInitList(int); -void xf86cfgLoaderFreeList(void); -int xf86cfgCheckModule(void); - -#ifndef LOADER_PRIVATE -/* common/xf86Opt.h */ -typedef struct { - double freq; - int units; -} OptFrequency; - -typedef union { - unsigned long num; - char * str; - double realnum; - Bool xbool; - OptFrequency freq; -} ValueUnion; - -typedef enum { - OPTV_NONE = 0, - OPTV_INTEGER, - OPTV_STRING, /* a non-empty string */ - OPTV_ANYSTR, /* Any string, including an empty one */ - OPTV_REAL, - OPTV_BOOLEAN, - OPTV_FREQ -} OptionValueType; - -typedef enum { - OPTUNITS_HZ = 1, - OPTUNITS_KHZ, - OPTUNITS_MHZ -} OptFreqUnits; - -typedef struct { - int token; - const char* name; - OptionValueType type; - ValueUnion value; - Bool found; -} OptionInfoRec, *OptionInfoPtr; - -/* fontmod.h */ -typedef void (*InitFont)(void); - -typedef struct { - InitFont initFunc; - char * name; - void *module; -} FontModule; - -extern FontModule *FontModuleList; - -typedef struct { - int token; /* id of the token */ - const char * name; /* token name */ -} SymTabRec, *SymTabPtr; -#endif /* !LOADER_PRIVATE */ - -typedef enum { - NullModule = 0, - VideoModule, - InputModule, - GenericModule, - FontRendererModule -} ModuleType; - -typedef struct _xf86cfgModuleOptions { - char *name; - ModuleType type; - OptionInfoPtr option; - int vendor; - SymTabPtr chipsets; - struct _xf86cfgModuleOptions *next; -} xf86cfgModuleOptions; - -extern xf86cfgModuleOptions *module_options; - -/* When adding a new code to the LEGEND, also update checkerLegend - * in loader.c - */ -extern char **checkerLegend; -extern int *checkerErrors; -#define CHECKER_OPTIONS_FILE_MISSING 1 -#define CHECKER_OPTION_DESCRIPTION_MISSING 2 -#define CHECKER_LOAD_FAILED 3 -#define CHECKER_RECOGNIZED_AS 4 -#define CHECKER_NO_OPTIONS_AVAILABLE 5 -#define CHECKER_NO_VENDOR_CHIPSET 6 -#define CHECKER_CANNOT_VERIFY_CHIPSET 7 -#define CHECKER_OPTION_UNUSED 8 -#define CHECKER_NOMATCH_CHIPSET_STRINGS 9 -#define CHECKER_CHIPSET_NOT_LISTED 10 -#define CHECKER_CHIPSET_NOT_SUPPORTED 11 -#define CHECKER_CHIPSET_NO_VENDOR 12 -#define CHECKER_NO_CHIPSETS 13 -#define CHECKER_FILE_MODULE_NAME_MISMATCH 14 - -#define CHECKER_LAST_MESSAGE 14 - -extern void CheckMsg(int, char*, ...); - -#ifndef LOADER_PRIVATE -int LoaderInitializeOptions(void); -#endif -#endif /* USE_MODULES */ - -#endif /* _xf86cfg_loader_h */ diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/loadmod.c b/xorg-server/hw/xfree86/utils/xorgcfg/loadmod.c deleted file mode 100644 index 629dfe118..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/loadmod.c +++ /dev/null @@ -1,663 +0,0 @@ -/* - * 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. - * - * Author: Paulo César Pereira de Andrade - * - */ - -#ifdef USE_MODULES -#include - -#ifndef HAS_GLIBC_SIGSETJMP -#if defined(setjmp) && defined(__GNU_LIBRARY__) && \ - (!defined(__GLIBC__) || (__GLIBC__ < 2) || \ - ((__GLIBC__ == 2) && (__GLIBC_MINOR__ < 3))) -#define HAS_GLIBC_SIGSETJMP 1 -#endif -#endif - -#define LOADER_PRIVATE -#include "loader.h" - -#define True 1 -#define False 0 -#define XtPointer char* -#define XtMalloc malloc -#define XtCalloc calloc -#define XtRealloc realloc -#define XtFree free -#define XtNew(t) malloc(sizeof(t)) -#define XtNewString(s) ((s) ? strdup(s) : NULL) - -#define pointer void* - -/* XXX beware (or fix it) libc functions called here are the xf86 ones */ - -static void AddModuleOptions(char*, const OptionInfoRec*); -#if 0 -void xf86AddDriver(DriverPtr, void*, int); -Bool xf86ServerIsOnlyDetecting(void); -void xf86AddInputDriver(InputDriverPtr, pointer, int); -void xf86AddModuleInfo(ModuleInfoPtr, void*); -Bool xf86LoaderCheckSymbol(const char*); -void xf86LoaderRefSymLists(const char **, ...); -void xf86LoaderReqSymLists(const char **, ...); -void xf86Msg(int, const char*, ...); -void xf86MsgVerb(int, int, const char*, ...); -void xf86PrintChipsets(const char*, const char*, SymTabPtr); -void xf86ErrorFVerb(int verb, const char *format, ...); -int xf86MatchDevice(const char*, GDevPtr**); -int xf86MatchPciInstances(const char*, int, SymTabPtr, PciChipsets*, GDevPtr*, int, DriverPtr,int**); -int xf86MatchIsaInstances(const char*, SymTabPtr, pointer*, DriverPtr, pointer, GDevPtr*, int, int**); -void *xf86LoadDrvSubModule(DriverPtr drv, const char*); -void xf86DrvMsg(int, int, const char*, ...); -Bool xf86IsPrimaryPci(pcVideoPtr*); -Bool xf86CheckPciSlot( const struct pci_device * ); -#endif - -extern char *loaderPath, **loaderList, **ploaderList; -xf86cfgModuleOptions *module_options; -FontModule *font_module; -int numFontModules; - -extern int noverify, error_level; - -int xf86ShowUnresolved = 1; - -LOOKUP miLookupTab[] = {{0,0}}; -LOOKUP dixLookupTab[] = {{0,0}}; -LOOKUP fontLookupTab[] = {{0,0}}; -LOOKUP extLookupTab[] = {{0,0}}; -LOOKUP xfree86LookupTab[] = { - /* Loader functions */ - SYMFUNC(LoaderDefaultFunc) - SYMFUNC(LoadSubModule) - SYMFUNC(DuplicateModule) - SYMFUNC(LoaderErrorMsg) - SYMFUNC(LoaderCheckUnresolved) - SYMFUNC(LoadExtension) - SYMFUNC(LoadFont) - SYMFUNC(LoaderReqSymbols) - SYMFUNC(LoaderReqSymLists) - SYMFUNC(LoaderRefSymbols) - SYMFUNC(LoaderRefSymLists) - SYMFUNC(UnloadSubModule) - SYMFUNC(LoaderSymbol) - SYMFUNC(LoaderListDirs) - SYMFUNC(LoaderFreeDirList) - SYMFUNC(LoaderGetOS) - - /* - * these here are our own interfaces to libc functions - */ - SYMFUNC(xf86abort) - SYMFUNC(xf86abs) - SYMFUNC(xf86acos) - SYMFUNC(xf86asin) - SYMFUNC(xf86atan) - SYMFUNC(xf86atan2) - SYMFUNC(xf86atof) - SYMFUNC(xf86atoi) - SYMFUNC(xf86atol) - SYMFUNC(xf86bsearch) - SYMFUNC(xf86ceil) - SYMFUNC(xf86calloc) - SYMFUNC(xf86clearerr) - SYMFUNC(xf86close) - SYMFUNC(xf86cos) - SYMFUNC(xf86exit) - SYMFUNC(xf86exp) - SYMFUNC(xf86fabs) - SYMFUNC(xf86fclose) - SYMFUNC(xf86feof) - SYMFUNC(xf86ferror) - SYMFUNC(xf86fflush) - SYMFUNC(xf86fgetc) - SYMFUNC(xf86fgetpos) - SYMFUNC(xf86fgets) - SYMFUNC(xf86finite) - SYMFUNC(xf86floor) - SYMFUNC(xf86fmod) - SYMFUNC(xf86fopen) - SYMFUNC(xf86fprintf) - SYMFUNC(xf86fputc) - SYMFUNC(xf86fputs) - SYMFUNC(xf86fread) - SYMFUNC(xf86free) - SYMFUNC(xf86freopen) - SYMFUNC(xf86frexp) - SYMFUNC(xf86fscanf) - SYMFUNC(xf86fseek) - SYMFUNC(xf86fsetpos) - SYMFUNC(xf86ftell) - SYMFUNC(xf86fwrite) - SYMFUNC(xf86getc) - SYMFUNC(xf86getenv) - SYMFUNC(xf86getpagesize) - SYMFUNC(xf86hypot) - SYMFUNC(xf86ioctl) - SYMFUNC(xf86isalnum) - SYMFUNC(xf86isalpha) - SYMFUNC(xf86iscntrl) - SYMFUNC(xf86isdigit) - SYMFUNC(xf86isgraph) - SYMFUNC(xf86islower) - SYMFUNC(xf86isprint) - SYMFUNC(xf86ispunct) - SYMFUNC(xf86isspace) - SYMFUNC(xf86isupper) - SYMFUNC(xf86isxdigit) - SYMFUNC(xf86labs) - SYMFUNC(xf86ldexp) - SYMFUNC(xf86log) - SYMFUNC(xf86log10) - SYMFUNC(xf86lseek) - SYMFUNC(xf86malloc) - SYMFUNC(xf86memchr) - SYMFUNC(xf86memcmp) - SYMFUNC(xf86memcpy) -#if (defined(__powerpc__) && (defined(Lynx) || defined(linux))) || \ - defined(__sparc__) || defined(__sparc) || defined(__ia64__) || \ - defined (__amd64__) || defined(__x86_64__) - /* - * Some PPC, SPARC, and IA64 compilers generate calls to memcpy to handle - * structure copies. This causes a problem both here and in shared - * libraries as there is no way to map the name of the call to the - * correct function. - */ - SYMFUNC(memcpy) - /* - * Some PPC, SPARC, and IA64 compilers generate calls to memset to handle - * aggregate initializations. - */ - SYMFUNC(memset) -#endif - SYMFUNC(xf86memmove) - SYMFUNC(xf86memset) - SYMFUNC(xf86mmap) - SYMFUNC(xf86modf) - SYMFUNC(xf86munmap) - SYMFUNC(xf86open) - SYMFUNC(xf86perror) - SYMFUNC(xf86pow) - SYMFUNC(xf86printf) - SYMFUNC(xf86qsort) - SYMFUNC(xf86read) - SYMFUNC(xf86realloc) - SYMFUNC(xf86remove) - SYMFUNC(xf86rename) - SYMFUNC(xf86rewind) - SYMFUNC(xf86setbuf) - SYMFUNC(xf86setvbuf) - SYMFUNC(xf86sin) - SYMFUNC(xf86snprintf) - SYMFUNC(xf86sprintf) - SYMFUNC(xf86sqrt) - SYMFUNC(xf86sscanf) - SYMFUNC(xf86strcat) - SYMFUNC(xf86strcmp) - SYMFUNC(xf86strcasecmp) - SYMFUNC(xf86strcpy) - SYMFUNC(xf86strcspn) - SYMFUNC(xf86strerror) - SYMFUNC(xf86strlen) - SYMFUNC(xf86strncmp) - SYMFUNC(xf86strncasecmp) - SYMFUNC(xf86strncpy) - SYMFUNC(xf86strpbrk) - SYMFUNC(xf86strchr) - SYMFUNC(xf86strrchr) - SYMFUNC(xf86strspn) - SYMFUNC(xf86strstr) - SYMFUNC(xf86strtod) - SYMFUNC(xf86strtok) - SYMFUNC(xf86strtol) - SYMFUNC(xf86strtoul) - SYMFUNC(xf86tan) - SYMFUNC(xf86tmpfile) - SYMFUNC(xf86tolower) - SYMFUNC(xf86toupper) - SYMFUNC(xf86ungetc) - SYMFUNC(xf86vfprintf) - SYMFUNC(xf86vsnprintf) - SYMFUNC(xf86vsprintf) - SYMFUNC(xf86write) - -/* non-ANSI C functions */ - SYMFUNC(xf86opendir) - SYMFUNC(xf86closedir) - SYMFUNC(xf86readdir) - SYMFUNC(xf86rewinddir) - SYMFUNC(xf86ffs) - SYMFUNC(xf86strdup) - SYMFUNC(xf86bzero) - SYMFUNC(xf86usleep) - SYMFUNC(xf86execl) - - SYMFUNC(xf86getsecs) - SYMFUNC(xf86fpossize) /* for returning sizeof(fpos_t) */ - - SYMFUNC(xf86stat) - SYMFUNC(xf86fstat) - SYMFUNC(xf86access) - SYMFUNC(xf86geteuid) - SYMFUNC(xf86getegid) - SYMFUNC(xf86getpid) - SYMFUNC(xf86mknod) - SYMFUNC(xf86chmod) - SYMFUNC(xf86chown) - SYMFUNC(xf86sleep) - SYMFUNC(xf86mkdir) - SYMFUNC(xf86shmget) - SYMFUNC(xf86shmat) - SYMFUNC(xf86shmdt) - SYMFUNC(xf86shmctl) -#ifdef HAS_GLIBC_SIGSETJMP - SYMFUNC(xf86setjmp) - SYMFUNC(xf86setjmp0) -#if defined(__GLIBC__) && (__GLIBC__ >= 2) - SYMFUNCALIAS("xf86setjmp1",__sigsetjmp) -#else - SYMFUNC(xf86setjmp1) -#endif -#else - SYMFUNCALIAS("xf86setjmp",setjmp) - SYMFUNCALIAS("xf86setjmp0",setjmp) - SYMFUNC(xf86setjmp1) -#endif - SYMFUNCALIAS("xf86longjmp",longjmp) - SYMFUNC(xf86getjmptype) - SYMFUNC(xf86setjmp1_arg2) - SYMFUNC(xf86setjmperror) - - SYMFUNC(xf86AddDriver) - SYMFUNC(xf86ServerIsOnlyDetecting) - SYMFUNC(xf86AddInputDriver) - SYMFUNC(xf86AddModuleInfo) - SYMFUNC(xf86LoaderCheckSymbol) - - SYMFUNC(xf86LoaderRefSymLists) - SYMFUNC(xf86LoaderReqSymLists) - SYMFUNC(xf86Msg) - SYMFUNC(xf86MsgVerb) - SYMFUNC(ErrorF) - SYMFUNC(xf86PrintChipsets) - SYMFUNC(xf86ErrorFVerb) - SYMFUNC(xf86MatchDevice) - SYMFUNC(xf86MatchPciInstances) - SYMFUNC(xf86MatchIsaInstances) - SYMFUNC(Xfree) - SYMFUNC(xf86LoadDrvSubModule) - SYMFUNC(xf86DrvMsg) - SYMFUNC(xf86IsPrimaryPci) - SYMFUNC(xf86CheckPciSlot) - SYMFUNC(XNFalloc) - SYMFUNC(XNFrealloc) - SYMFUNC(XNFcalloc) - {0,0} -}; - -static DriverPtr driver; -static ModuleInfoPtr info; -static SymTabPtr chips; -static int vendor; -ModuleType module_type = GenericModule; - -static void -AddModuleOptions(char *name, const OptionInfoRec *option) -{ - xf86cfgModuleOptions *ptr; - const OptionInfoRec *tmp; - SymTabPtr ctmp; - int count; - - /* XXX If the module is already in the list, then it means that - * it is now being properly loaded by xf86cfg and the "fake" entry - * added in xf86cfgLoaderInitList() isn't required anymore. - * Currently: - * ati and vmware are known to fail. */ - for (ptr = module_options; ptr; ptr = ptr->next) - if (strcmp(name, ptr->name) == 0) { - fprintf(stderr, "Module %s already in list!\n", name); - return; - } - - ptr = XtNew(xf86cfgModuleOptions); - ptr->name = XtNewString(name); - ptr->type = module_type; - if (option) { - for (count = 0, tmp = option; tmp->name != NULL; tmp++, count++) - ; - ++count; - ptr->option = XtCalloc(1, count * sizeof(OptionInfoRec)); - for (count = 0, tmp = option; tmp->name != NULL; count++, tmp++) { - memcpy(&ptr->option[count], tmp, sizeof(OptionInfoRec)); - ptr->option[count].name = XtNewString(tmp->name); - if (tmp->type == OPTV_STRING || tmp->type == OPTV_ANYSTR) - ptr->option[count].value.str = XtNewString(tmp->value.str); - } - } - else - ptr->option = NULL; - if (vendor != -1 && chips) { - ptr->vendor = vendor; - for (count = 0, ctmp = chips; ctmp->name; ctmp++, count++) - ; - ++count; - ptr->chipsets = XtCalloc(1, count * sizeof(SymTabRec)); - for (count = 0, ctmp = chips; ctmp->name != NULL; count++, ctmp++) { - memcpy(&ptr->chipsets[count], ctmp, sizeof(SymTabRec)); - ptr->chipsets[count].name = XtNewString(ctmp->name); - } - } - else - ptr->chipsets = NULL; - - ptr->next = module_options; - module_options = ptr; -} - -extern void xf86WrapperInit(void); - -void -xf86cfgLoaderInit(void) -{ - LoaderInit(); - xf86WrapperInit(); -} - -void -xf86cfgLoaderInitList(int type) -{ - static const char *generic[] = { - ".", - NULL - }; - static const char *video[] = { - "drivers", - NULL - }; - static const char *input[] = { - "input", - NULL - }; - static const char *font[] = { - "fonts", - NULL - }; - const char **subdirs; - - switch (type) { - case GenericModule: - subdirs = generic; - break; - case VideoModule: - subdirs = video; - break; - case InputModule: - subdirs = input; - break; - case FontRendererModule: - subdirs = font; - break; - default: - fprintf(stderr, "Invalid value passed to xf86cfgLoaderInitList.\n"); - subdirs = generic; - break; - } - LoaderSetPath(loaderPath); - loaderList = LoaderListDirs(subdirs, NULL); - - /* XXX Xf86cfg isn't able to provide enough wrapper functions - * to these drivers. Maybe the drivers could also be changed - * to work better when being loaded "just for testing" */ - if (type == VideoModule) { - module_type = VideoModule; - AddModuleOptions("vmware", NULL); - AddModuleOptions("ati", NULL); - module_type = NullModule; - } -} - -void -xf86cfgLoaderFreeList(void) -{ - LoaderFreeDirList(loaderList); -} - -int -xf86cfgCheckModule(void) -{ - int errmaj, errmin; - ModuleDescPtr module; - int nfonts; - FontModule *fonts, *pfont_module; - - driver = NULL; - chips = NULL; - info = NULL; - pfont_module = NULL; - vendor = -1; - module_type = GenericModule; - - if ((module = LoadModule(*ploaderList, NULL, NULL, NULL, NULL, - NULL, &errmaj, &errmin)) == NULL) { - LoaderErrorMsg(NULL, *ploaderList, errmaj, errmin); - return (0); - } - else if (driver && driver->AvailableOptions) { - /* at least fbdev does not call xf86MatchPciInstances in Probe */ - if (driver->Identify) - (*driver->Identify)(-1); - if (driver->Probe) - (*driver->Probe)(driver, PROBE_DETECT); - AddModuleOptions(*ploaderList, (*driver->AvailableOptions)(-1, -1)); - } - else if (info && info->AvailableOptions) - AddModuleOptions(*ploaderList, (*info->AvailableOptions)(NULL)); - - if (!noverify) { - XF86ModuleData *initdata = NULL; - char *p; - - p = XtMalloc(strlen(*ploaderList) + strlen("ModuleData") + 1); - strcpy(p, *ploaderList); - strcat(p, "ModuleData"); - initdata = LoaderSymbol(p); - if (initdata) { - XF86ModuleVersionInfo *vers; - - vers = initdata->vers; - if (vers && strcmp(*ploaderList, vers->modname)) { - /* This was a problem at some time for some video drivers */ - CheckMsg(CHECKER_FILE_MODULE_NAME_MISMATCH, - "WARNING file/module name mismatch: \"%s\" \"%s\"\n", - *ploaderList, vers->modname); - ++error_level; - } - } - XtFree(p); - } - - nfonts = numFontModules; - numFontModules = 0; - fonts = FontModuleList; - if (fonts) { - Bool dup = FALSE; - while (fonts->name) { - if (strcasecmp(fonts->name, *ploaderList) == 0) { - pfont_module = fonts; - /* HACK: - * fonts->names points into modules. - * Duplicate string of all remaining names to survive - * unloading. Since new fonts are appended to list - * this will only happen once per renderer. - */ - dup = TRUE; - } - if (dup) - fonts->name = strdup(fonts->name); - ++numFontModules; - ++fonts; - } - } - if (pfont_module) - module_type = FontRendererModule; - else if (nfonts + 1 <= numFontModules) { - /* loader.c will flag a warning if -noverify is not set */ - pfont_module = &FontModuleList[nfonts]; - module_type = FontRendererModule; - } - - if (font_module) { - XtFree((XtPointer)font_module->name); - XtFree((XtPointer)font_module); - font_module = NULL; - } - if (pfont_module) { - font_module = XtNew(FontModule); - memcpy(font_module, pfont_module, sizeof(FontModule)); - font_module->name = XtNewString(pfont_module->name); - } - - UnloadModule(module); - - return (1); -} - -_X_EXPORT void -xf86AddDriver(DriverPtr drv, void *module, int flags) -{ - driver = drv; - if (driver) - driver->module = module; - module_type = VideoModule; -} - -_X_EXPORT Bool -xf86ServerIsOnlyDetecting(void) -{ - return (True); -} - -_X_EXPORT void -xf86AddInputDriver(InputDriverPtr inp, void *module, int flags) -{ - module_type = InputModule; -} - -_X_EXPORT void -xf86AddModuleInfo(ModuleInfoPtr inf, void *module) -{ - info = inf; -} - -_X_EXPORT Bool -xf86LoaderCheckSymbol(const char *symbol) -{ - return LoaderSymbol(symbol) != NULL; -} - -_X_EXPORT void -xf86LoaderRefSymLists(const char **list0, ...) -{ -} - -_X_EXPORT void -xf86LoaderReqSymLists(const char **list0, ...) -{ -} - -#if 0 -void xf86Msg(int type, const char *format, ...) -{ -} -#endif - -/*ARGSUSED*/ -_X_EXPORT void -xf86PrintChipsets(const char *name, const char *msg, SymTabPtr chipsets) -{ - vendor = 0; - chips = chipsets; -} - -_X_EXPORT int -xf86MatchDevice(const char *name, GDevPtr **gdev) -{ - *gdev = NULL; - - return (1); -} - -_X_EXPORT int -xf86MatchPciInstances(const char *name, int VendorID, SymTabPtr chipsets, PciChipsets *PCIchipsets, - GDevPtr *devList, int numDevs, DriverPtr drvp, int **foundEntities) -{ - vendor = VendorID; - if (chips == NULL) - chips = chipsets; - *foundEntities = NULL; - - return (0); -} - -_X_EXPORT int -xf86MatchIsaInstances(const char *name, SymTabPtr chipsets, IsaChipsets *ISAchipsets, DriverPtr drvp, - FindIsaDevProc FindIsaDevice, GDevPtr *devList, int numDevs, int **foundEntities) -{ - *foundEntities = NULL; - - return (0); -} - -/*ARGSUSED*/ -_X_EXPORT void * -xf86LoadDrvSubModule(DriverPtr drv, const char *name) -{ - pointer ret; - int errmaj = 0, errmin = 0; - - ret = LoadSubModule(drv->module, name, NULL, NULL, NULL, NULL, - &errmaj, &errmin); - if (!ret) - LoaderErrorMsg(NULL, name, errmaj, errmin); - return (ret); -} - -_X_EXPORT Bool -xf86IsPrimaryPci(pciVideoPtr pPci) -{ - return (True); -} - -_X_EXPORT Bool -xf86CheckPciSlot( const struct pci_device * d ) -{ - (void) d; - return (False); -} -#endif diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/monitor-cfg.c b/xorg-server/hw/xfree86/utils/xorgcfg/monitor-cfg.c deleted file mode 100644 index a443c54c2..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/monitor-cfg.c +++ /dev/null @@ -1,456 +0,0 @@ -/* - * 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. - * - * Author: Paulo César Pereira de Andrade - * - */ - -#include "xf86config.h" -#include "monitor-cfg.h" -#include "screen.h" -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include - -/* - * Prototypes - */ -static Bool MonitorConfigCheck(void); -static void MonitorHsyncCallback(Widget, XtPointer, XtPointer); -static void MonitorVsyncCallback(Widget, XtPointer, XtPointer); -static void MonitorSelectCardCallback(Widget, XtPointer, XtPointer); - -extern void DrawCables(void); - -/* - * Initialization - */ -static char *hmodes[] = { - "Standard VGA, 640x480 @ 60 Hz", - "Super VGA, 800x600 @ 56 Hz", - "1024x768 @ 87 Hz int. (no 800x600)", - "1024x768 @ 87 Hz int., 800x600 @ 56 Hz", - "800x600 @ 60 Hz, 640x480 @ 72 Hz", - "1024x768 @ 60 Hz, 800x600 @ 72 Hz", - "High Frequency SVGA, 1024x768 @ 70 Hz", - "Monitor that can do 1280x1024 @ 60 Hz", - "Monitor that can do 1280x1024 @ 74 Hz", - "Monitor that can do 1280x1024 @ 76 Hz", - "Monitor that can do 1280x1024 @ 85 Hz", - "Monitor that can do 1600x1200 @ 85 Hz", - "Monitor that can do 1920x1440 @ 85 Hz", - "Monitor that can do 2048x1536 @ 85 Hz" -}; - -static char *hmodes_trans[] = { - "31.5", - "31.5 - 35.1", - "31.5, 35.5", - "31.5, 35.15, 35.5", - "31.5 - 37.9", - "31.5 - 48.5", - "31.5 - 57.0", - "31.5 - 64.3", - "31.5 - 79.0", - "31.5 - 82.0", - "31.5 - 92.0", - "31.5 - 108.0", - "31.5 - 128.5", - "31.5 - 137.0" -}; - -static char *vmodes [] = { "50 - 70", "50 - 90", "50 - 100", "40 - 150", }; - -extern Widget config; -static Widget hsync, vsync, hlist, vlist, cmenu; - -static parser_range mon_hsync[CONF_MAX_HSYNC]; -static parser_range mon_vrefresh[CONF_MAX_VREFRESH]; -static int mon_n_hsync, mon_n_vrefresh; -static XF86ConfDevicePtr oldcard, card; -static XF86ConfMonitorPtr current_monitor; - -/* - * Implementation - */ -XtPointer -MonitorConfig(XtPointer conf) -{ - XF86ConfMonitorPtr monitor = (XF86ConfMonitorPtr)conf; - char monitor_name[48]; - Arg args[1]; - - current_monitor = monitor; - - xf86info.cur_list = MONITOR; - XtSetSensitive(back, xf86info.lists[MONITOR].cur_function > 0); - XtSetSensitive(next, xf86info.lists[MONITOR].cur_function < - xf86info.lists[MONITOR].num_functions - 1); - (xf86info.lists[MONITOR].functions[xf86info.lists[MONITOR].cur_function]) - (&xf86info); - - XawListUnhighlight(hlist); - XawListUnhighlight(vlist); - - if (monitor != NULL) { - XF86ConfScreenPtr screen = XF86Config->conf_screen_lst; - char str[PARSER_RANGE_SIZE]; - - XtSetArg(args[0], XtNstring, monitor->mon_identifier); - XtSetValues(ident_widget, args, 1); - - while (screen != NULL) { - if (screen->scrn_monitor == monitor) - break; - - screen = (XF86ConfScreenPtr)(screen->list.next); - } - if (screen != NULL) { - oldcard = card = screen->scrn_device; - XtSetArg(args[0], XtNlabel, card->dev_identifier); - } - else { - oldcard = card = NULL; - XtSetArg(args[0], XtNlabel, ""); - } - XtSetValues(cmenu, args, 1); - - mon_n_hsync = monitor->mon_n_hsync; - memcpy(mon_hsync, monitor->mon_hsync, - sizeof(parser_range) * mon_n_hsync); - *str = '\0'; - parser_range_to_string(str, mon_hsync, mon_n_hsync); - XtSetArg(args[0], XtNstring, str); - XtSetValues(hsync, args, 1); - - mon_n_vrefresh = monitor->mon_n_vrefresh; - memcpy(mon_vrefresh, monitor->mon_vrefresh, - sizeof(parser_range) * mon_n_vrefresh); - *str = '\0'; - parser_range_to_string(str, mon_vrefresh, mon_n_vrefresh); - XtSetArg(args[0], XtNstring, str); - XtSetValues(vsync, args, 1); - } - else { - XF86ConfMonitorPtr monitor = XF86Config->conf_monitor_lst; - int nmonitors = 0; - - oldcard = card = NULL; - while (monitor != NULL) { - ++nmonitors; - monitor = (XF86ConfMonitorPtr)(monitor->list.next); - } - do { - XmuSnprintf(monitor_name, sizeof(monitor_name), - "Monitor%d", nmonitors); - ++nmonitors; - } while (xf86findMonitor(monitor_name, - XF86Config->conf_monitor_lst)); - - XtSetArg(args[0], XtNstring, monitor_name); - XtSetValues(ident_widget, args, 1); - - XtSetArg(args[0], XtNstring, ""); - XtSetValues(hsync, args, 1); - XtSetValues(vsync, args, 1); - - XtSetArg(args[0], XtNlabel, ""); - XtSetValues(cmenu, args, 1); - } - - if (ConfigLoop(MonitorConfigCheck) == True) { - if (monitor == NULL) { - monitor = (XF86ConfMonitorPtr) - XtCalloc(1, sizeof(XF86ConfMonitorRec)); - monitor->mon_identifier = XtNewString(ident_string); - } - - memcpy(monitor->mon_hsync, mon_hsync, sizeof(parser_range) * - (monitor->mon_n_hsync = mon_n_hsync)); - memcpy(monitor->mon_vrefresh, mon_vrefresh, sizeof(parser_range) * - (monitor->mon_n_vrefresh = mon_n_vrefresh)); - - if (strcasecmp(monitor->mon_identifier, ident_string)) - xf86renameMonitor(XF86Config, monitor, ident_string); - - if (oldcard != card) { - int i; - - for (i = 0; i < computer.num_devices; i++) - if (computer.devices[i]->widget == config) - break; - if (computer.devices[i]->config == NULL) - XF86Config->conf_monitor_lst = - xf86addMonitor(XF86Config->conf_monitor_lst, - monitor); - computer.devices[i]->config = (XtPointer)monitor; - ChangeScreen(monitor, monitor, card, oldcard); - DrawCables(); - } - - return (monitor); - } - - return (NULL); -} - -static Bool -MonitorConfigCheck(void) -{ - char *str; - Arg args[1]; - XF86ConfMonitorPtr monitor = XF86Config->conf_monitor_lst; - - if (ident_string == NULL || strlen(ident_string) == 0) - return (False); - - bzero(mon_hsync, sizeof(parser_range) * CONF_MAX_HSYNC); - bzero(mon_vrefresh, sizeof(parser_range) * CONF_MAX_VREFRESH); - - XtSetArg(args[0], XtNstring, &str); - XtGetValues(hsync, args, 1); - if ((mon_n_hsync = string_to_parser_range(str, mon_hsync, - CONF_MAX_HSYNC)) <= 0) - return (False); - - XtSetArg(args[0], XtNstring, &str); - XtGetValues(vsync, args, 1); - if ((mon_n_vrefresh = string_to_parser_range(str, mon_vrefresh, - CONF_MAX_VREFRESH)) <= 0) - return (False); - - while (monitor != NULL) { - if (monitor != current_monitor && - strcasecmp(ident_string, monitor->mon_identifier) == 0) - return (False); - monitor = (XF86ConfMonitorPtr)(monitor->list.next); - } - - return (True); -} - -int -string_to_parser_range(char *str, parser_range *range, int nrange) -{ - double val; - int i = 0; - - if (str == NULL || *str == '\0' || range == NULL || nrange == 0) - return (0); - - while (*str) { - while (*str && isspace(*str)) - ++str; - if (!isdigit(*str)) { - ++str; - continue; - } - val = strtod(str, &str); - while (*str && isspace(*str)) - ++str; - if (*str == ',' || *str == '\0') { - if (*str) - ++str; - range[i].lo = range[i].hi = val; - if (++i >= nrange || *str == '\0') - break; - continue; - } - else if (*str != '-') - return (0); - ++str; - range[i].lo = val; - while (*str && isspace(*str)) - ++str; - if ((range[i].hi = strtod(str, &str)) < range[i].lo) - return (0); - if (++i >= nrange) - break; - } - - return (i); -} - -int -parser_range_to_string(char *str, parser_range *range, int nrange) -{ - int i, len; - - if (str == NULL || range == NULL || nrange <= 0) - return (0); - - for (i = len = 0; i < nrange; i++) { - if (i > 0) - len += XmuSnprintf(str + len, PARSER_RANGE_SIZE - len, "%s", - ", "); - if (range[i].lo == range[i].hi) - len += XmuSnprintf(str + len, PARSER_RANGE_SIZE - len, "%g", - range[i].lo); - else if (range[i].lo < range[i].hi) - len += XmuSnprintf(str + len, PARSER_RANGE_SIZE - len, "%g - %g", - range[i].lo, range[i].hi); - else - return (0); - } - - return (i); -} - -/*ARGSUSED*/ -static void -MonitorHsyncCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - XawListReturnStruct *info = (XawListReturnStruct *)call_data; - Arg args[1]; - - XtSetArg(args[0], XtNstring, hmodes_trans[info->list_index]); - XtSetValues(hsync, args, 1); -} - -/*ARGSUSED*/ -static void -MonitorVsyncCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - XawListReturnStruct *info = (XawListReturnStruct *)call_data; - Arg args[1]; - - XtSetArg(args[0], XtNstring, info->string); - XtSetValues(vsync, args, 1); -} - -/*ARGSUSED*/ -static void -MonitorSelectCardCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - Arg args[1]; - - card = (XF86ConfDevicePtr)user_data; - XtSetArg(args[0], XtNlabel, card != NULL ? card->dev_identifier : ""); - XtSetValues(cmenu, args, 1); -} - -void -MonitorLayout(XF86SetupInfo *info) -{ - static int first = 1, men; - static Widget layout, menu; - XF86ConfDevicePtr device = XF86Config->conf_device_lst; - Widget sme; - Arg args[1]; - char *menuname; - - if (first) { - Widget viewport; - - first = 0; - - layout = XtCreateWidget("monitorl", formWidgetClass, - configp, NULL, 0); - XtCreateManagedWidget("hlabel", labelWidgetClass, layout, NULL, 0); - hsync = XtVaCreateManagedWidget("hsync", asciiTextWidgetClass, layout, - XtNeditType, XawtextEdit, - NULL); - viewport = XtCreateManagedWidget("hviewport", viewportWidgetClass, - layout, NULL, 0); - hlist = XtVaCreateManagedWidget("hlist", listWidgetClass, viewport, - XtNlist, hmodes, - XtNnumberStrings, sizeof(hmodes) / - sizeof(hmodes[0]), NULL); - XtAddCallback(hlist, XtNcallback, MonitorHsyncCallback, NULL); - - XtCreateManagedWidget("vlabel", labelWidgetClass, layout, NULL, 0); - vsync = XtVaCreateManagedWidget("vsync", asciiTextWidgetClass, layout, - XtNeditType, XawtextEdit, - NULL); - viewport = XtCreateManagedWidget("vviewport", viewportWidgetClass, - layout, NULL, 0); - vlist = XtVaCreateManagedWidget("vlist", listWidgetClass, viewport, - XtNlist, vmodes, - XtNnumberStrings, sizeof(vmodes) / - sizeof(vmodes[0]), NULL); - XtAddCallback(vlist, XtNcallback, MonitorVsyncCallback, NULL); - - XtCreateManagedWidget("clabel", labelWidgetClass, layout, NULL, 0); - cmenu = XtCreateManagedWidget("cmenu", menuButtonWidgetClass, - layout, NULL, 0); - - XtRealizeWidget(layout); - } - - if (menu != NULL) - XtDestroyWidget(menu); - - /* - * swaps names because XtDestroyWidget will only really destroy it - * when the code returns to XtAppMainLoop - */ - menuname = men & 1 ? "mena" : "menb"; - menu = XtCreatePopupShell(menuname, simpleMenuWidgetClass, - cmenu, NULL, 0); - XtSetArg(args[0], XtNmenuName, menuname); - XtSetValues(cmenu, args, 1); - ++men; - sme = XtVaCreateManagedWidget("none", smeBSBObjectClass, menu, - NULL); - XtAddCallback(sme, XtNcallback, MonitorSelectCardCallback, NULL); - - while (device != NULL) { - XF86ConfScreenPtr screen = XF86Config->conf_screen_lst; - Widget sme; - Bool sensitive = True; - - while (screen != NULL) { - if (screen->scrn_device == device) { - sensitive = screen->scrn_monitor == NULL || - screen->scrn_monitor == current_monitor; - break; - } - screen = (XF86ConfScreenPtr)(screen->list.next); - } - sme = XtCreateManagedWidget(device->dev_identifier, - smeBSBObjectClass, menu, - NULL, 0); - if (sensitive) - XtAddCallback(sme, XtNcallback, MonitorSelectCardCallback, device); - XtSetSensitive(sme, sensitive); - - device = (XF86ConfDevicePtr)(device->list.next); - } - - XtRealizeWidget(menu); - - XtChangeManagedSet(¤t, 1, NULL, NULL, &layout, 1); - current = layout; -} diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/monitor-cfg.h b/xorg-server/hw/xfree86/utils/xorgcfg/monitor-cfg.h deleted file mode 100644 index 48fc804bf..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/monitor-cfg.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * 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. - * - * Author: Paulo César Pereira de Andrade - * - */ - -#include "config.h" - -#ifndef _xf86cfg_monitor_h -#define _xf86cfg_monitor_h - -/* - * Prototypes - */ -XtPointer MonitorConfig(XtPointer); -void MonitorLayout(XF86SetupInfo*); -void MonitorVidtune(XF86SetupInfo*); -int string_to_parser_range(char*, parser_range*, int); -#define PARSER_RANGE_SIZE 256 -/* string must have at least 256 bytes */ -int parser_range_to_string(char*, parser_range*, int); - -#endif /* _xf86cfg_monitor_h */ diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/monitor.xbm b/xorg-server/hw/xfree86/utils/xorgcfg/monitor.xbm deleted file mode 100644 index a2d4c6863..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/monitor.xbm +++ /dev/null @@ -1,59 +0,0 @@ -/* - * 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. - * - * Author: Paulo César Pereira de Andrade - * - * $XFree86$ - */ -#define monitor_width 50 -#define monitor_height 44 -static unsigned char monitor_bits[] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, - 0x03, 0x00, 0xc0, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, 0xe0, 0x01, 0x00, - 0x00, 0x00, 0x1e, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x70, - 0xfc, 0xff, 0xff, 0xff, 0x38, 0x00, 0x30, 0xfe, 0xff, 0xff, 0xff, 0x31, - 0x00, 0x30, 0x03, 0x00, 0x00, 0x00, 0x33, 0x00, 0x30, 0x03, 0x00, 0x00, - 0x00, 0x33, 0x00, 0x30, 0x03, 0x00, 0x00, 0x00, 0x33, 0x00, 0x30, 0x03, - 0x00, 0x00, 0x00, 0x33, 0x00, 0x30, 0x03, 0x00, 0x00, 0x00, 0x33, 0x00, - 0x30, 0x03, 0x00, 0x00, 0x00, 0x33, 0x00, 0x30, 0x03, 0x00, 0x00, 0x00, - 0x33, 0x00, 0x30, 0x03, 0x00, 0x00, 0x00, 0x33, 0x00, 0x30, 0x03, 0x00, - 0x00, 0x00, 0x33, 0x00, 0x30, 0x03, 0x00, 0x00, 0x00, 0x33, 0x00, 0x30, - 0x03, 0x00, 0x00, 0x00, 0x33, 0x00, 0x30, 0x03, 0x00, 0x00, 0x00, 0x33, - 0x00, 0x30, 0x03, 0x00, 0x00, 0x00, 0x33, 0x00, 0x30, 0x03, 0x00, 0x00, - 0x00, 0x33, 0x00, 0x30, 0x03, 0x00, 0x00, 0x00, 0x33, 0x00, 0x30, 0x03, - 0x00, 0x00, 0x00, 0x33, 0x00, 0x30, 0x03, 0x00, 0x00, 0x00, 0x33, 0x00, - 0x30, 0x03, 0x00, 0x00, 0x00, 0x33, 0x00, 0x30, 0x03, 0x00, 0x00, 0x00, - 0x33, 0x00, 0x30, 0x03, 0x00, 0x00, 0x00, 0x33, 0x00, 0x30, 0xfe, 0xff, - 0xff, 0xff, 0x31, 0x00, 0x70, 0xfc, 0xff, 0xff, 0xff, 0x38, 0x00, 0x60, - 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0xe0, 0x01, 0x00, 0x00, 0x00, 0x1e, - 0x00, 0xc0, 0x1f, 0x00, 0x00, 0xe0, 0x0f, 0x00, 0x00, 0xff, 0xff, 0xff, - 0xff, 0x03, 0x00, 0x00, 0xf0, 0xff, 0xff, 0x3f, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x7f, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xff, 0xff, 0x03, 0x00, 0x00, 0x00, 0xc0, 0x0f, 0xc0, 0x0f, - 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x30, 0x00, - 0x00, 0x30, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, - 0xf8, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0x3f, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/monitor.xpm b/xorg-server/hw/xfree86/utils/xorgcfg/monitor.xpm deleted file mode 100644 index e647e3cc1..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/monitor.xpm +++ /dev/null @@ -1,79 +0,0 @@ -/* XPM */ -/* - * 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. - * - * Author: Paulo César Pereira de Andrade - * - * $XFree86$ - */ -static char * monitor_xpm[] = { -"47 40 6 1", -" c none", -"Z c #DF7DE38DDF7D", -". c #BEFBBEFBBEFB", -"X c #9E799A699E79", -"o c #30C230C230C2", -"O c #96589E799658", -"ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ..", -"Z..............................................", -"Z.............................................X", -"Z.............................................X", -"Z...XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.....X", -"Z...Xooooooooooooooooooooooooooooooooooooo....X", -"Z...XoooooooooooooooooooooooooooooooooooooZ...X", -"Z...XoooooooooooooooooooooooooooooooooooooZ...X", -"Z...XoooooooooooooooooooooooooooooooooooooZ...X", -"Z...XoooooooooooooooooooooooooooooooooooooZ...X", -"Z...XoooooooooooooooooooooooooooooooooooooZ...X", -"Z...XoooooooooooooooooooooooooooooooooooooZ...X", -"Z...XoooooooooooooooooooooooooooooooooooooZ...X", -"Z...XoooooooooooooooooooooooooooooooooooooZ...X", -"Z...XoooooooooooooooooooooooooooooooooooooZ...X", -"Z...XoooooooooooooooooooooooooooooooooooooZ...X", -"Z...XoooooooooooooooooooooooooooooooooooooZ...X", -"Z...XoooooooooooooooooooooooooooooooooooooZ...X", -"Z...XoooooooooooooooooooooooooooooooooooooZ...X", -"Z...XoooooooooooooooooooooooooooooooooooooZ...X", -"Z...XoooooooooooooooooooooooooooooooooooooZ...X", -"Z...XoooooooooooooooooooooooooooooooooooooZ...X", -"Z...XoooooooooooooooooooooooooooooooooooooZ...X", -"Z...XoooooooooooooooooooooooooooooooooooooZ...X", -"Z...XoooooooooooooooooooooooooooooooooooooZ...X", -"Z...XoooooooooooooooooooooooooooooooooooooZ...X", -"Z...XoooooooooooooooooooooooooooooooooooooZ...X", -"Z...XoooooooooooooooooooooooooooooooooooooZ...X", -"Z...XoooooooooooooooooooooooooooooooooooooZ...X", -"Z....oooooooooooooooooooooooooooooooooooooZ...X", -"Z.....ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ...X", -"Z.............................................X", -"Z.............................................X", -"..............................................X", -"..XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", -" OOOOOOOOOOOOOOOOOOOOOOOOOo ", -" XXXXXXXXXXXXXXXXXXXXXXXXXX ", -" OOOOOOXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXo. ", -" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXo ", -" ooooooooooooooooooooooooooooooooooooooo "}; diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/mouse-cfg.c b/xorg-server/hw/xfree86/utils/xorgcfg/mouse-cfg.c deleted file mode 100644 index 24aec6ae4..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/mouse-cfg.c +++ /dev/null @@ -1,449 +0,0 @@ -/* - * 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. - * - * Author: Paulo César Pereira de Andrade - * - */ - -#include "xf86config.h" -#include "mouse-cfg.h" -#include -#include -#include -#include -#include -#include -#include - -/* - * Prototypes - */ -static void MouseDeviceCallback(Widget, XtPointer, XtPointer); -static void MouseProtocolCallback(Widget, XtPointer, XtPointer); -static void MouseEmulateCallback(Widget, XtPointer, XtPointer); -static void MouseApplyCallback(Widget, XtPointer, XtPointer); -static Bool MouseConfigCheck(void); - -/* - * Initialization - */ -static struct MouseProtocol { - char *name; - int type; -} protocols[] = { -#ifdef __SCO__ - {"OsMouse", MTYPE_AUTOMOUSE}, -#endif -#ifdef WSCONS_SUPPORT - {"wsmouse", MTYPE_AUTOMOUSE}, -#endif - {"Auto", MTYPE_AUTOMOUSE}, - {"SysMouse", MTYPE_SYSMOUSE}, - {"MouseSystems", MTYPE_MOUSESYS}, - {"BusMouse", MTYPE_BUSMOUSE}, - {"PS/2", MTYPE_PS_2}, - {"Microsoft", MTYPE_MICROSOFT}, -#ifndef __FreeBSD__ - {"ImPS/2", MTYPE_IMPS2}, - {"ExplorerPS/2", MTYPE_EXPPS2}, - {"GlidePointPS/2", MTYPE_GLIDEPOINTPS2}, - {"MouseManPlusPS/2", MTYPE_MMANPLUSPS2}, - {"NetMousePS/2", MTYPE_NETPS2}, - {"NetScrollPS/2", MTYPE_NETSCROLLPS2}, - {"ThinkingMousePS/2", MTYPE_THINKINGPS2}, -#endif - {"AceCad", MTYPE_ACECAD}, - {"GlidePoint", MTYPE_GLIDEPOINT}, - {"IntelliMouse", MTYPE_IMSERIAL}, - {"Logitech", MTYPE_LOGITECH}, - {"MMHitTab", MTYPE_MMHIT}, - {"MMSeries", MTYPE_MMSERIES}, - {"MouseMan", MTYPE_LOGIMAN}, - {"ThinkingMouse", MTYPE_THINKING}, -}; - -static Widget text; -static char *device, *protocol; -static Bool emulate; -static XF86ConfInputPtr current_input; - -/* - * Implementation - */ -/*ARGSUSED*/ -XtPointer -MouseConfig(XtPointer config) -{ - XF86ConfInputPtr mouse = (XF86ConfInputPtr)config; - XF86OptionPtr option; - char mouse_name[32]; - Arg args[1]; - - static char *Device = "Device", *Protocol = "Protocol", - *Emulate3Buttons = "Emulate3Buttons", - *Emulate3Timeout = "Emulate3Timeout"; - - current_input = mouse; - - if (mouse != NULL) { - emulate = xf86findOption(mouse->inp_option_lst, - Emulate3Buttons) != NULL; - if ((option = xf86findOption(mouse->inp_option_lst, Device)) != NULL) - device = option->opt_val; - else - device = NULL; - if ((option = xf86findOption(mouse->inp_option_lst, Protocol)) != NULL) - protocol = option->opt_val; - else - protocol = NULL; - - XtSetArg(args[0], XtNstring, mouse->inp_identifier); - XtSetValues(ident_widget, args, 1); - } - else { - XF86ConfInputPtr input = XF86Config->conf_input_lst; - int nmouses = 0; - - while (input != NULL) { - if (strcasecmp(input->inp_driver, "mouse") == 0) - ++nmouses; - input = (XF86ConfInputPtr)(input->list.next); - } - do { - XmuSnprintf(mouse_name, sizeof(mouse_name), "Mouse%d", nmouses); - ++nmouses; - } while (xf86findInput(mouse_name, - XF86Config->conf_input_lst)); - - XtSetArg(args[0], XtNstring, mouse_name); - XtSetValues(ident_widget, args, 1); - - emulate = True; - device = NULL; - protocol = NULL; - } - - xf86info.cur_list = MOUSE; - XtSetSensitive(back, xf86info.lists[MOUSE].cur_function > 0); - XtSetSensitive(next, xf86info.lists[MOUSE].cur_function < - xf86info.lists[MOUSE].num_functions - 1); - (xf86info.lists[MOUSE].functions[xf86info.lists[MOUSE].cur_function]) - (&xf86info); - - if (ConfigLoop(MouseConfigCheck) == True) { - XtSetArg(args[0], XtNstring, &device); - XtGetValues(text, args, 1); - if (mouse == NULL) { - mouse = XtNew(XF86ConfInputRec); - mouse->list.next = NULL; - mouse->inp_identifier = XtNewString(ident_string); - mouse->inp_driver = XtNewString("mouse"); - mouse->inp_option_lst = xf86newOption(XtNewString(Device), - XtNewString(device)); - xf86addNewOption(mouse->inp_option_lst, - XtNewString(Protocol), XtNewString(protocol)); - if (emulate) { - xf86addNewOption(mouse->inp_option_lst, - XtNewString(Emulate3Buttons), NULL); - xf86addNewOption(mouse->inp_option_lst, - XtNewString(Emulate3Timeout), - XtNewString("50")); - } - mouse->inp_comment = NULL; - } - else { - if ((option = xf86findOption(mouse->inp_option_lst, Device)) != NULL) { - XtFree(option->opt_val); - option->opt_val = XtNewString(device); - XtFree(option->opt_comment); - } - else { - if (mouse->inp_option_lst == NULL) - mouse->inp_option_lst = xf86newOption(XtNewString(Device), - XtNewString(device)); - else - xf86addNewOption(mouse->inp_option_lst, - XtNewString(Device), XtNewString(device)); - } - - if ((option = xf86findOption(mouse->inp_option_lst, Protocol)) != NULL) { - XtFree(option->opt_val); - option->opt_val = XtNewString(protocol); - XtFree(option->opt_comment); - } - else - xf86addNewOption(mouse->inp_option_lst, - XtNewString(Protocol), XtNewString(protocol)); - - if (emulate == False) { - xf86removeOption(&(mouse->inp_option_lst), Emulate3Buttons); - xf86removeOption(&(mouse->inp_option_lst), Emulate3Timeout); - } - else if (emulate) { - xf86addNewOption(mouse->inp_option_lst, - XtNewString(Emulate3Buttons), NULL); - xf86addNewOption(mouse->inp_option_lst, - XtNewString(Emulate3Timeout), XtNewString("50")); - } - } - if (strcasecmp(mouse->inp_identifier, ident_string)) - xf86renameInput(XF86Config, mouse, ident_string); - - return ((XtPointer)mouse); - } - - return (NULL); -} - -static Bool -MouseConfigCheck(void) -{ - Arg args[1]; - XF86ConfInputPtr mouse = XF86Config->conf_input_lst; - - XtSetArg(args[0], XtNstring, &device); - XtGetValues(text, args, 1); - - if (ident_string == NULL || strlen(ident_string) == 0 || - device == NULL || strlen(device) == 0 || protocol == NULL) - return (False); - while (mouse != NULL) { - if (mouse != current_input && - strcasecmp(ident_string, mouse->inp_identifier) == 0) - return (False); - mouse = (XF86ConfInputPtr)(mouse->list.next); - } - - return (True); -} - -static void -MouseDeviceCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - XawListReturnStruct *info = (XawListReturnStruct *)call_data; - Arg args[1]; - - XtSetArg(args[0], XtNstring, info->string); - XtSetValues((Widget)user_data, args, 1); - XawTextSetInsertionPoint((Widget)user_data, strlen(info->string)); -} - -static void -MouseProtocolCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - XawListReturnStruct *info = (XawListReturnStruct *)call_data; - - protocol = info->string; -} - -static void -MouseEmulateCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - emulate = (Bool)(long)call_data; -} - -static void -MouseApplyCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - int i; - XF86MiscMouseSettings mouse; - - XF86MiscGetMouseSettings(XtDisplay(w), &mouse); - XtFree(mouse.device); - - if (mouse.baudrate == 0 || mouse.baudrate < 0 || mouse.baudrate > 9600 || - mouse.baudrate % 1200) - mouse.baudrate = 1200; - - mouse.type = MTYPE_AUTOMOUSE; - for (i = 0; i < sizeof(protocols) / sizeof(protocols[0]); i++) - if (strcmp(protocols[i].name, protocol) == 0) { - mouse.type = protocols[i].type; - break; - } - - mouse.emulate3buttons = emulate; - mouse.flags |= MF_REOPEN; - - mouse.device = device; - - XFlush(XtDisplay(w)); - XF86MiscSetMouseSettings(XtDisplay(w), &mouse); -} - -void -MouseDeviceAndProtocol(XF86SetupInfo *info) -{ - static int first = 1, ndevices; - static Widget mouse_dp, listD, listP, emul3, apply; - static char **devices; - static char *dirs[] = { - "/dev", -#ifdef __linux__ - "/dev/input" -#endif - }; - static char *patterns[] = { -#ifdef WSCONS_SUPPORT - "wsmouse", -#endif - "cuaa", - "mice", - "mouse", - "ps", - "sysmouse", - "ttyS", - }; - Arg args[2]; - int i; - - if (first) { - Widget viewport; - struct dirent *ent; - DIR *dir; - char **list; - int count; - - first = 0; - - mouse_dp = XtCreateWidget("mouseDP", formWidgetClass, - configp, NULL, 0); - - /* DEVICE */ - for (count = 0; count < sizeof(dirs) / sizeof(dirs[0]); count++) { - if ((dir = opendir(dirs[count])) != NULL) { - int i, len, xlen = strlen(dirs[count]) + 2; - - (void)readdir(dir); - (void)readdir(dir); - while ((ent = readdir(dir)) != NULL) { - for (i = 0; i < sizeof(patterns) / sizeof(patterns[0]); i++) { - len = strlen(patterns[i]); - - if (strncmp(patterns[i], ent->d_name, len) == 0) { - len = strlen(ent->d_name) + xlen; - - devices = (char**)XtRealloc((XtPointer)devices, - sizeof(char*) * ++ndevices); - devices[ndevices - 1] = XtMalloc(len); - XmuSnprintf(devices[ndevices - 1], len, "%s/%s", - dirs[count], ent->d_name); - } - } - } - closedir(dir); - } - } - - (void) XtCreateManagedWidget("labelD", labelWidgetClass, - mouse_dp, NULL, 0); - text = XtVaCreateManagedWidget("device", asciiTextWidgetClass, - mouse_dp, - XtNeditType, XawtextEdit, - NULL); - viewport = XtCreateManagedWidget("viewportD", viewportWidgetClass, - mouse_dp, NULL, 0); - - listD = XtVaCreateManagedWidget("listD", listWidgetClass, - viewport, - XtNlist, devices, - XtNnumberStrings, ndevices, - NULL); - XtAddCallback(listD, XtNcallback, MouseDeviceCallback, (XtPointer)text); - - /* PROTOCOL */ - (void) XtCreateManagedWidget("labelP", labelWidgetClass, - mouse_dp, NULL, 0); - viewport = XtCreateManagedWidget("viewportP", viewportWidgetClass, - mouse_dp, NULL, 0); - - list = (char**)XtMalloc(sizeof(char*) * - sizeof(protocols)/sizeof(protocols[0])); - for (count = 0; count < sizeof(protocols)/sizeof(protocols[0]); count++) - list[count] = XtNewString(protocols[count].name); - listP = XtVaCreateManagedWidget("listP", listWidgetClass, - viewport, - XtNlist, list, - XtNnumberStrings, count, - NULL); - XtAddCallback(listP, XtNcallback, MouseProtocolCallback, NULL); - - emul3 = XtVaCreateManagedWidget("emulate3", toggleWidgetClass, - mouse_dp, XtNstate, True, NULL); - XtAddCallback(emul3, XtNcallback, MouseEmulateCallback, NULL); - apply = XtCreateManagedWidget("apply", commandWidgetClass, - mouse_dp, NULL, 0); - XtAddCallback(apply, XtNcallback, MouseApplyCallback, NULL); - - XtRealizeWidget(mouse_dp); - } - - if (device != NULL) { - for (i = 0; i < ndevices; i++) - if (strcmp(device, devices[i]) == 0) { - XtSetArg(args[0], XtNstring, device); - XtSetValues(text, args, 1); - XawListHighlight(listD, i); - break; - } - - if (i >= ndevices) { - devices = (char**)XtRealloc((XtPointer)devices, - sizeof(char*) * ++ndevices); - devices[ndevices - 1] = XtNewString(device); - XawListHighlight(listD, ndevices - 1); - XtSetArg(args[0], XtNlist, devices); - XtSetArg(args[1], XtNnumberStrings, ndevices); - XtSetValues(listD, args, 2); - } - device = devices[i]; - } - else { - XtSetArg(args[0], XtNstring, ""); - XtSetValues(text, args, 1); - XawListUnhighlight(listD); - } - - if (protocol != NULL) { - for (i = 0; i < sizeof(protocols) / sizeof(protocols[0]); i++) - if (strcasecmp(protocol, protocols[i].name) == 0) { - protocol = protocols[i].name; - XawListHighlight(listP, i); - break; - } - } - else { - /* "Auto" is the default */ - protocol = protocols[0].name; - XawListHighlight(listP, 0); - } - - XtSetArg(args[0], XtNstate, emulate); - XtSetValues(emul3, args, 1); - - XtChangeManagedSet(¤t, 1, NULL, NULL, &mouse_dp, 1); - current = mouse_dp; -} diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/mouse-cfg.h b/xorg-server/hw/xfree86/utils/xorgcfg/mouse-cfg.h deleted file mode 100644 index 90e5980e6..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/mouse-cfg.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * 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. - * - * Author: Paulo César Pereira de Andrade - */ - -#include "config.h" - -#ifndef _xf86cfg_mouse_h -#define _xf86cfg_mouse_h - -/* - * Prototypes - */ -XtPointer MouseConfig(XtPointer); -void MouseDeviceAndProtocol(XF86SetupInfo*); - -#endif /* _xf86cfg_mouse_h */ - diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/mouse.xbm b/xorg-server/hw/xfree86/utils/xorgcfg/mouse.xbm deleted file mode 100644 index dce92d24a..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/mouse.xbm +++ /dev/null @@ -1,59 +0,0 @@ -/* - * 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. - * - * Author: Paulo César Pereira de Andrade - * - * $XFree86$ - */ -#define mouse_width 50 -#define mouse_height 44 -static unsigned char mouse_bits[] = { - 0x00, 0x00, 0x80, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x07, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x80, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, - 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x0f, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xcf, 0x03, 0x00, - 0x00, 0x00, 0xc0, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0xe0, 0x79, 0x78, - 0x1e, 0x00, 0x00, 0x00, 0x60, 0x38, 0x70, 0x18, 0x00, 0x00, 0x00, 0x70, - 0x30, 0x30, 0x38, 0x00, 0x00, 0x00, 0x30, 0x30, 0x30, 0x30, 0x00, 0x00, - 0x00, 0x30, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x30, 0x30, 0x30, 0x30, - 0x00, 0x00, 0x00, 0x30, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x30, 0x30, - 0x30, 0x30, 0x00, 0x00, 0x00, 0x30, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, - 0xf0, 0xff, 0xff, 0x3f, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0x3f, 0x00, - 0x00, 0x00, 0x30, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, - 0x30, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x30, - 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x30, 0x00, 0x00, - 0x00, 0x30, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x30, - 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x30, 0x00, - 0x00, 0x30, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, - 0x30, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x30, 0x00, - 0x00, 0x00, 0x30, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, - 0x30, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x30, - 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x30, 0x00, 0x00, - 0x00, 0x30, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x38, - 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0xe0, 0x01, - 0x00, 0x1e, 0x00, 0x00, 0x00, 0xc0, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, - 0x00, 0xff, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/mouse.xpm b/xorg-server/hw/xfree86/utils/xorgcfg/mouse.xpm deleted file mode 100644 index ea157c266..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/mouse.xpm +++ /dev/null @@ -1,76 +0,0 @@ -/* XPM */ -/* - * 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. - * - * Author: Paulo César Pereira de Andrade - * - * $XFree86$ - */ -static char * mouse_xpm[] = { -"26 35 8 1", -" c none", -". c #E79DE79DE79D", -"X c #CF3CCF3CCF3C", -"o c #BEFBBAEABEFB", -"O c #8E3896588E38", -"+ c #AEBAAAAAAEBA", -"@ c #9E79AAAA9E79", -"# c #A699A289A699", -" .....XXXX. ", -" X..o.XXXXXXXo... ", -" X..XXo.XXXXXXXo.XX.X ", -" X.XXXXo.XXXXXXXo.XXX.X ", -" .XXXXXo.XXXXXXXo.XXXXoo ", -" X.XXXXXo.XXXoXXXo.XXXXoXo", -"oX.XXXXXo.XXXXXXXo.XXXXXoo", -"oX.XoXoXo.XXoXoXXo.XXXXXoO", -"oX.XXXXXo.XXXXXXXo.XXoXX+O", -"oX.XXXoXo.XXoXoXXo.XXXXX+O", -"oX.XXXXXo.XXXXXXXo.XX...+O", -"ooooo...o........oooo@@@OO", -"oX.XX#@@@@@@@@@@@@@@@XXX+O", -"oX.XXXXXXXXXXXXXXXXXXXXX+O", -"oX.XXXXXXXXXXXXXXXXXXXXX+O", -"oX.XXXXXXXXXXXXXXXXXXXXX+O", -"oX.XXXXXXXXXXXXXXXXXXXXX+O", -"oX.XXXXXXXXXXXXXXXXXXXXX+O", -"oX.XXXXXXXXXXXXXXXXXXXXX+O", -"oX.XXXXXXXXXXXXXXXXXXXXX+O", -"oX.XXXXXXXXXXXXXXXXXXXXX+O", -"oX.XXXXXXXXXXXXXXXXXXXX+oO", -" #X.XXXXXXXXXXXXXXXXXXooO ", -" #X.XXXXXXXXXXXXXXXXXXooO ", -" #X.XXXXXXXXXXXXXXXXXX+oO ", -" #X.XXXXXXXXXXXXXXXXXX+oO ", -" #.XXXXXXXXXXXXXXXXX++O ", -" #X..XXXXXXXXXXXXXXX+oO ", -" #X.XXXXXXXXXXXXXX+oO ", -" #.XXXXXXXXXXXXXX+O ", -" #X..XXXXXXXXXo++oO ", -" #XX..XXXXXoo+ooO ", -" ##XXooooo+ooOO ", -" ooooooooOO ", -" oOOOOO "}; diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/narrower.xbm b/xorg-server/hw/xfree86/utils/xorgcfg/narrower.xbm deleted file mode 100644 index 0649ef8b4..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/narrower.xbm +++ /dev/null @@ -1,8 +0,0 @@ -#define narrower_width 19 -#define narrower_height 19 -static unsigned char narrower_bits[] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x80, 0x00, 0x18, 0xc0, 0x00, - 0x38, 0xe0, 0x00, 0x78, 0xf0, 0x00, 0xf8, 0xf8, 0x00, 0xff, 0xfd, 0x07, - 0xff, 0xff, 0x07, 0xff, 0xff, 0x07, 0xff, 0xff, 0x07, 0xff, 0xfd, 0x07, - 0xf8, 0xf8, 0x00, 0x78, 0xf0, 0x00, 0x38, 0xe0, 0x00, 0x18, 0xc0, 0x00, - 0x08, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/options.c b/xorg-server/hw/xfree86/utils/xorgcfg/options.c deleted file mode 100644 index d229bb17f..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/options.c +++ /dev/null @@ -1,787 +0,0 @@ -/* - * 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. - * - * Author: Paulo César Pereira de Andrade - * - */ - -#include "options.h" -#include "xf86config.h" -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -/* - * Prototypes - */ -static void PopdownCallback(Widget, XtPointer, XtPointer); -static void SelectOptionCallback(Widget, XtPointer, XtPointer); -static void AddOption(Widget, XtPointer, XtPointer); -static void RemoveOption(Widget, XtPointer, XtPointer); -static void UpdateOption(Widget, XtPointer, XtPointer); -static void UpdateOptionList(void); -#ifdef USE_MODULES -static void AddDriverOption(Widget, XtPointer, XtPointer); -static void SelectModuleCallback(Widget, XtPointer, XtPointer); -static void SelectModuleOptionCallback(Widget, XtPointer, XtPointer); -static void ModuleOptionsPopdown(Widget, XtPointer, XtPointer); -#endif -static Bool EnumDatabase(XrmDatabase*, XrmBindingList, XrmQuarkList, - XrmRepresentation*, XrmValue*, XPointer); - -/* - * Initialization - */ -Widget optionsShell; -static XF86OptionPtr *options; -static Widget add, remov, update, list, name, value; -static char *option_str; -static int option_index, popped = False; -static char *Options = "lib/X11/Options"; -XrmDatabase options_xrm; -struct { - char *string; - int offset; -} rebuild_xrm; -#ifdef USE_MODULES -static Widget modList, optList, desc, modOptionsShell, labelType; -static char *module_sel; -static char *types[] = { - "none", "integer", "(non null) string", "string", "real", - "boolean", "frequency", -}; -#endif - -/* - * Implementation - */ -#ifdef USE_MODULES -static int -qcmp_str(_Xconst void *a, _Xconst void *b) -{ - return (strcmp(*(char**)a, *(char**)b)); -} - -void -ModuleOptionsPopup(Widget w, XtPointer user_data, XtPointer call_data) -{ - xf86cfgModuleOptions *info = module_options; - - if (modOptionsShell == NULL) { - char **ops; - int nops; - Widget pane, form, viewport, bottom, popdown; - - modOptionsShell = XtCreatePopupShell("moduleOptions", - transientShellWidgetClass, - optionsShell, NULL, 0); - - pane = XtCreateManagedWidget("pane", panedWidgetClass, - modOptionsShell, NULL, 0); - - form = XtCreateManagedWidget("descriptions", formWidgetClass, - pane, NULL, 0); - labelType = XtCreateManagedWidget("labelType", labelWidgetClass, - form, NULL, 0); - XtCreateManagedWidget("module", labelWidgetClass, form, NULL, 0); - viewport = XtCreateManagedWidget("viewM", viewportWidgetClass, - form, NULL, 0); - ops = NULL; - nops = 0; - while (info) { - ++nops; - ops = (char**)XtRealloc((XtPointer)ops, sizeof(char*) * nops); - ops[nops - 1] = XtNewString(info->name); - info = info->next; - } - if (nops == 0) { - ops = (char**)XtMalloc(sizeof(char*)); - ops[0] = XtNewString(""); - nops = 1; - } - else - qsort(ops, nops, sizeof(char*), qcmp_str); - modList = XtVaCreateManagedWidget("modL", listWidgetClass, - viewport, XtNlist, ops, - XtNnumberStrings, nops, - NULL); - XtAddCallback(modList, XtNcallback, SelectModuleCallback, NULL); - XtCreateManagedWidget("option", labelWidgetClass, form, NULL, 0); - viewport = XtCreateManagedWidget("viewO", viewportWidgetClass, - form, NULL, 0); - ops = (char**)XtMalloc(sizeof(char*)); - ops[0] = XtNewString(""); - optList = XtVaCreateManagedWidget("optL", listWidgetClass, - viewport, XtNlist, ops, - XtNnumberStrings, 1, NULL); - XtAddCallback(optList, XtNcallback, SelectModuleOptionCallback, NULL); - desc = XtVaCreateManagedWidget("desc", asciiTextWidgetClass, - form, XtNeditType, XawtextRead, - NULL); - - bottom = XtCreateManagedWidget("bottom", formWidgetClass, - pane, NULL, 0); - popdown = XtVaCreateManagedWidget("popdown", commandWidgetClass, - bottom, NULL); - XtAddCallback(popdown, XtNcallback, ModuleOptionsPopdown, NULL); - XtRealizeWidget(modOptionsShell); - XSetWMProtocols(DPY, XtWindow(modOptionsShell), &wm_delete_window, 1); - - info = module_options; - } - - if (module_sel && *module_sel) { - XawListReturnStruct list; /* hack to call ballbacks */ - char **strs; - int nstrs, idx = 0; - - XtVaGetValues(modList, XtNlist, &strs, XtNnumberStrings, &nstrs, NULL); - for (idx = nstrs - 1; idx > 0; idx--) - if (strcmp(module_sel, strs[idx]) == 0) - break; - while (info) { - if (strcmp(module_sel, info->name) == 0) - break; - info = info->next; - } - if (info) { - list.string = info->name; - list.list_index = idx; - XawListHighlight(modList, idx); - SelectModuleCallback(modList, NULL, (XtPointer)&list); - } - if (option_str && *option_str) { - OptionInfoPtr opts = info->option; - - idx = 0; - while (opts && opts->name) { - if (strcmp(opts->name, option_str) == 0) - break; - ++idx; - ++opts; - } - - if (opts && opts->name) { - list.string = (char *)opts->name; - list.list_index = idx; - XawListHighlight(optList, idx); - SelectModuleOptionCallback(optList, NULL, (XtPointer)&list); - } - } - } - XtPopup(modOptionsShell, XtGrabNone); -} - -/*ARGSUSED*/ -static void -ModuleOptionsPopdown(Widget w, XtPointer user_data, XtPointer call_data) -{ - XtPopdown(modOptionsShell); -} - -/*ARGSUSED*/ -void -ModuleOptionsCancelAction(Widget w, XEvent *event, - String *params, Cardinal *num_params) -{ - ModuleOptionsPopdown(w, NULL, NULL); -} -#endif - -void -CreateOptionsShell(void) -{ - optionsShell = XtCreatePopupShell("options", transientShellWidgetClass, - toplevel, NULL, 0); -} - -#ifdef USE_MODULES -void -OptionsPopup(XF86OptionPtr *opts, char *driver, OptionInfoPtr drv_opts) -#else -void -OptionsPopup(XF86OptionPtr *opts) -#endif -{ - static int first = 1; -#ifdef USE_MODULES - static Widget button, menu; - static char label[256], menuName[16]; - Widget sme; - char buf[256]; - int i = 0; - Arg args[1]; - static int menuN; -#endif - - option_str = NULL; - options = opts; - if (first) { - Widget pane, form, viewport, bottom, popdown; - - first = 0; - - if (optionsShell == NULL) - CreateOptionsShell(); - pane = XtCreateManagedWidget("pane", panedWidgetClass, - optionsShell, NULL, 0); - - form = XtCreateManagedWidget("commands", formWidgetClass, - pane, NULL, 0); - add = XtCreateManagedWidget("add", commandWidgetClass, - form, NULL, 0); - XtAddCallback(add, XtNcallback, AddOption, NULL); - remov = XtCreateManagedWidget("remove", commandWidgetClass, - form, NULL, 0); - XtAddCallback(remov, XtNcallback, RemoveOption, NULL); - update = XtCreateManagedWidget("update", commandWidgetClass, - form, NULL, 0); - XtAddCallback(update, XtNcallback, UpdateOption, NULL); -#ifdef USE_MODULES - if (!nomodules) { - Widget command; - - command = XtCreateManagedWidget("help", commandWidgetClass, - form, NULL, 0); - XtAddCallback(command, XtNcallback, ModuleOptionsPopup, NULL); - } -#endif - form = XtCreateManagedWidget("form", formWidgetClass, - pane, NULL, 0); - XtVaCreateManagedWidget("label1", labelWidgetClass, form, - XtNlabel, " Option \"", - NULL); - name = XtVaCreateManagedWidget("name", asciiTextWidgetClass, form, - XtNeditType, XawtextEdit, - NULL); - XtVaCreateManagedWidget("label2", labelWidgetClass, - form, - XtNlabel, "\" \"", - NULL); - value = XtVaCreateManagedWidget("value", asciiTextWidgetClass, form, - XtNeditType, XawtextEdit, - NULL); - XtVaCreateManagedWidget("label3", labelWidgetClass, form, - XtNlabel, "\" ", - NULL); - viewport = XtCreateManagedWidget("viewport", viewportWidgetClass, - form, NULL, 0); - list = XtCreateManagedWidget("list", listWidgetClass, - viewport, NULL, 0); - XtAddCallback(list, XtNcallback, SelectOptionCallback, NULL); - bottom = XtCreateManagedWidget("bottom", formWidgetClass, - pane, NULL, 0); -#ifdef USE_MODULES - if (!nomodules) - button = XtCreateManagedWidget("driverOpts", menuButtonWidgetClass, - bottom, NULL, 0); -#endif - popdown = XtVaCreateManagedWidget("popdown", commandWidgetClass, - bottom, NULL); -#ifdef USE_MODULES - if (!nomodules) - XtVaSetValues(popdown, XtNfromHoriz, button, NULL); -#endif - - XtAddCallback(popdown, XtNcallback, PopdownCallback, NULL); - XtRealizeWidget(optionsShell); - XSetWMProtocols(DPY, XtWindow(optionsShell), &wm_delete_window, 1); - -#ifdef USE_MODULES - if (!nomodules) { - char *str; - - XtSetArg(args[0], XtNlabel, &str); - XtGetValues(button, args, 1); - XmuSnprintf(label, sizeof(label), "%s", str); - } -#endif - } - -#ifdef USE_MODULES - if (!nomodules) { - if (menu) - XtDestroyWidget(menu); - XmuSnprintf(menuName, sizeof(menuName), "optionM%d", menuN); - menuN = !menuN; - menu = XtCreatePopupShell(menuName, simpleMenuWidgetClass, button, - NULL, 0); - XtVaSetValues(button, XtNmenuName, menuName, NULL); - if (drv_opts) { - int len, longest = 0; - char fmt[32]; - - for (i = 0; drv_opts[i].name != NULL; i++) { - len = strlen(drv_opts[i].name); - if (len > longest) - longest = len; - } - XmuSnprintf(fmt, sizeof(fmt), "%c-%ds %%s", '%', longest); - for (; drv_opts->name != NULL; drv_opts++) { - char *type; - - if (drv_opts->type >= OPTV_NONE && drv_opts->type <= OPTV_FREQ) - type = types[drv_opts->type]; - else - type = "UNKNOWN"; - - XmuSnprintf(buf, sizeof(buf), fmt, drv_opts->name, type); - sme = XtVaCreateManagedWidget(drv_opts->name, smeBSBObjectClass, - menu, XtNlabel, buf, NULL); - XtAddCallback(sme, XtNcallback, AddDriverOption, (XtPointer)drv_opts); - } - } - if (i) { - xf86cfgModuleOptions *mod = module_options; - - while (mod) { - if (strcmp(mod->name, driver) == 0) { - /* don't assign to driver, as it may be a temp string */ - module_sel = mod->name; - break; - } - mod = mod->next; - } - XmuSnprintf(buf, sizeof(buf), "%s%s", label, driver); - XtSetArg(args[0], XtNlabel, buf); - XtSetValues(button, args, 1); - XtMapWidget(button); - } - else - XtUnmapWidget(button); - } -#endif - - UpdateOptionList(); - popped = True; - XtPopup(optionsShell, XtGrabExclusive); - - while (popped) - XtAppProcessEvent(XtWidgetToApplicationContext(optionsShell), XtIMAll); -} - -static void -UpdateOptionList(void) -{ - Arg args[2]; - char **ops, **oldops; - int nops, oldnops; - XF86OptionPtr opt; - - ops = NULL; - nops = 0; - XawListUnhighlight(list); - XtSetArg(args[0], XtNlist, &oldops); - XtSetArg(args[1], XtNnumberStrings, &oldnops); - XtGetValues(list, args, 2); - opt = *options; - while (opt != NULL) { - if (nops % 16 == 0) - ops = (char**)XtRealloc((XtPointer)ops, (nops + 16) * - sizeof(char*)); - ops[nops++] = XtNewString(opt->opt_name); - opt = (XF86OptionPtr)(opt->list.next); - } - if (nops == 0) { - ops = (char**)XtMalloc(sizeof(char*)); - ops[0] = XtNewString(""); - nops = 1; - } - XtSetArg(args[0], XtNlist, ops); - XtSetArg(args[1], XtNnumberStrings, nops); - XtSetValues(list, args, 2); - if (oldnops > 0 && - (oldnops != 1 || XtName(list) != oldops[0])) { - while (--oldnops >= 0) - XtFree(oldops[oldnops]); - XtFree((XtPointer)oldops); - } - - XtSetArg(args[0], XtNstring, ""); - XtSetValues(name, args, 1); - XtSetValues(value, args, 1); - - /* force relayout */ - XtUnmanageChild(list); - XtManageChild(list); - - XtSetSensitive(remov, False); - XtSetSensitive(update, False); -} - -/*ARGSUSED*/ -static void -PopdownCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - XtPopdown(optionsShell); - popped = False; -} - -/*ARGSUSED*/ -void -OptionsCancelAction(Widget w, XEvent *event, - String *params, Cardinal *num_params) -{ - PopdownCallback(w, NULL, NULL); -} - -/*ARGSUSED*/ -static void -SelectOptionCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - Arg args[1]; - XF86OptionPtr option; - XawListReturnStruct *info = (XawListReturnStruct *)call_data; - - option_str = info->string; - option_index = info->list_index; - if ((option = xf86findOption(*options, info->string)) != NULL) { - XtSetArg(args[0], XtNstring, option->opt_name); - XtSetValues(name, args, 1); - XtSetArg(args[0], XtNstring, - option->opt_val != NULL ? option->opt_val : ""); - XtSetValues(value, args, 1); - } - XtSetSensitive(remov, True); - XtSetSensitive(update, True); -} - -/*ARGSUSED*/ -static void -AddOption(Widget w, XtPointer user_data, XtPointer call_data) -{ - Arg args[1]; - char *nam, *val; - - XtSetArg(args[0], XtNstring, &nam); - XtGetValues(name, args, 1); - XtSetArg(args[0], XtNstring, &val); - XtGetValues(value, args, 1); - if (xf86findOption(*options, nam) != NULL || strlen(nam) == 0) - /* XXX xf86addNewOption will trash the option linked list if - * the options being added already exists. - */ - return; - *options = xf86addNewOption(*options, XtNewString(nam), - val && strlen(val) ? XtNewString(val) : NULL); - UpdateOptionList(); -} - -#ifdef USE_MODULES -/*ARGSUSED*/ -static void -AddDriverOption(Widget w, XtPointer user_data, XtPointer call_data) -{ - Arg args[1]; - OptionInfoPtr opt = (OptionInfoPtr)user_data; - XF86OptionPtr option; - - option_str = (char *)opt->name; - XtSetArg(args[0], XtNstring, opt->name); - XtSetValues(name, args, 1); - if ((option = xf86findOption(*options, opt->name)) == NULL) - XtSetArg(args[0], XtNstring, ""); - else - XtSetArg(args[0], XtNstring, option->opt_val); - XtSetValues(value, args, 1); -} - -/*ARGSUSED*/ -static void -SelectModuleCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - xf86cfgModuleOptions *mod = module_options; - XawListReturnStruct *info = (XawListReturnStruct *)call_data; - - while (mod) { - if (strcmp(mod->name, info->string) == 0) - break; - mod = mod->next; - } - - if (mod) { - Arg args[2]; - char **list = NULL, **old; - OptionInfoPtr opts = mod->option; - int num = 0, oldnum; - - module_sel = mod->name; - XtSetArg(args[0], XtNlist, &old); - XtSetArg(args[1], XtNnumberStrings, &oldnum); - XtGetValues(optList, args, 2); - while (opts && opts->name) { - ++num; - list = (char**)XtRealloc((XtPointer)list, sizeof(char*) * num); - list[num - 1] = XtNewString(opts->name); - ++opts; - } - if (num == 0) { - list = (char**)XtMalloc(sizeof(char*)); - list[0] = XtNewString(""); - num = 1; - } - XtSetArg(args[0], XtNlist, list); - XtSetArg(args[1], XtNnumberStrings, num); - XtSetValues(optList, args, 2); - while (--oldnum >= 0) - XtFree(old[oldnum]); - XtFree((XtPointer)old); - - XtVaSetValues(desc, XtNstring, "", NULL); - XawListUnhighlight(optList); - - /* force relayout */ - XtUnmanageChild(optList); - XtManageChild(optList); - } -} - -static void -SelectModuleOptionCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - xf86cfgModuleOptions *mod = module_options; - XawListReturnStruct *info = (XawListReturnStruct *)call_data; - char *description = NULL, *type = "undefined"; - char label[256]; - - if (module_sel && info->string) - description = GetOptionDescription(module_sel, info->string); - if (description == NULL) - description = "** NO DESCRIPTION AVAILABLE **"; - - XtVaSetValues(desc, XtNstring, description, NULL); - - while (mod) { - if (strcmp(module_sel, mod->name) == 0) - break; - mod = mod->next; - } - if (mod) { - OptionInfoPtr opts = mod->option; - - while (opts && opts->name) { - if (strcasecmp(opts->name, info->string) == 0) - break; - ++opts; - } - if (opts && opts->name && opts->type >= OPTV_NONE && - opts->type <= OPTV_FREQ) - type = types[opts->type]; - } - - XmuSnprintf(label, sizeof(label), "%s.%s (%s)", module_sel, info->string, - type); - XtVaSetValues(labelType, XtNlabel, label, NULL); -} -#endif - -/*ARGSUSED*/ -static void -RemoveOption(Widget w, XtPointer user_data, XtPointer call_data) -{ - Arg args[1]; - char *str; - - XtSetArg(args[0], XtNstring, &str); - XtGetValues(name, args, 1); - xf86removeOption(options, str); - UpdateOptionList(); -} - -/*ARGSUSED*/ -static void -UpdateOption(Widget w, XtPointer user_data, XtPointer call_data) -{ -/* xf86removeOption(options, option_str); - AddOption(w, user_data, call_data); - UpdateOptionList();*/ - - Arg args[1]; - char *nam, *val; - XF86OptionPtr option; - - XtSetArg(args[0], XtNstring, &nam); - XtGetValues(name, args, 1); - XtSetArg(args[0], XtNstring, &val); - XtGetValues(value, args, 1); - if ((option = xf86findOption(*options, option_str)) == NULL) - return; - XtFree(option->opt_name); - option->opt_name = option_str = XtNewString(nam); - XtFree(option->opt_val); - if (val && strlen(val)) - option->opt_val = XtNewString(val); - else - option->opt_val = NULL; - - UpdateOptionList(); - XawListHighlight(list, option_index); - XtSetArg(args[0], XtNstring, option->opt_name); - XtSetValues(name, args, 1); - XtSetArg(args[0], XtNstring, option->opt_val); - XtSetValues(value, args, 1); - - XtSetSensitive(remov, True); - XtSetSensitive(update, True); -} - -/*ARGUSED*/ -static Bool -EnumDatabase(XrmDatabase *db, XrmBindingList bindings, XrmQuarkList quarks, - XrmRepresentation *type, XrmValue *value, XPointer closure) -{ - char *module = XrmQuarkToString(quarks[0]), - *option = XrmQuarkToString(quarks[1]); - - /* handle *.Option: value */ - if (module && option == NULL) { - option = module; - module = "*"; - } - - /* - * NOTE: If the Options file is changed to support any other format than - * - * Module.Option: description text - * - * this code will also need to be updated. - */ - - if (module) { - XrmValue xrm; - char *type, *value, query[256]; - - XmuSnprintf(query, sizeof(query), "%s.%s", module, option); - if (XrmGetResource(options_xrm, query, "Module.Option", &type, &xrm)) - value = (char*)xrm.addr; - else - value = NULL; - - if (value) { - char *norm; - unsigned char *ptr; - int position; - int length = strlen(module) + strlen(option) + strlen(value) + 4; - - rebuild_xrm.string = XtRealloc(rebuild_xrm.string, - rebuild_xrm.offset + length); - position = rebuild_xrm.offset + - sprintf(rebuild_xrm.string + rebuild_xrm.offset, "%s.%s:", - module, option); - - /* removes underlines and spaces */ - norm = strchr(rebuild_xrm.string + rebuild_xrm.offset, '.') + 1; - for (; *norm; norm++) { - if (*norm == '_' || *norm == ' ' || *norm == '\t') { - memmove(norm, norm + 1, strlen(norm) + 1); - --position; - --length; - } - } - - for (ptr = (unsigned char*)rebuild_xrm.string + rebuild_xrm.offset; - *ptr; ptr++) - *ptr = tolower(*ptr); - sprintf(rebuild_xrm.string + position, "%s\n", value); - rebuild_xrm.offset += length - 1; - } - } - - return (False); -} - -Bool -InitializeOptionsDatabase(void) -{ - static int first = 1; - static Bool result = True; - - if (first) { - XrmQuark names[2]; - XrmQuark classes[2]; - - first = 0; - XrmInitialize(); - if ((options_xrm = XrmGetFileDatabase(Options)) == (XrmDatabase)0) { - fprintf(stderr, "Cannot open '%s' database.\n", Options); - return (False); - } - - /* rebuild database, using only lowercase characters */ - names[0] = classes[0] = names[1] = classes[1] = NULLQUARK; - (void)XrmEnumerateDatabase(options_xrm, (XrmNameList)&names, - (XrmClassList)&classes, XrmEnumAllLevels, - EnumDatabase, NULL); - - /* free previous database, as it is not guaranteed to be - * "case insensitive" */ - XrmDestroyDatabase(options_xrm); - - /* create case insensitive database by making everything lowercase */ - if (rebuild_xrm.string == NULL || - (options_xrm = XrmGetStringDatabase(rebuild_xrm.string)) == - (XrmDatabase)0) { - fprintf(stderr, "Cannot rebuild '%s' database.\n", Options); - XtFree(rebuild_xrm.string); - return (False); - } - XtFree(rebuild_xrm.string); - } - - return (result); -} - -char * -GetOptionDescription(char *module, char *option) -{ - char *type; - XrmValue value; - char query[256]; - unsigned char *ptr; - - InitializeOptionsDatabase(); - - XmuSnprintf(query, sizeof(query), "%s.%s", module, option); - ptr = (unsigned char*)strchr(query, '.') + 1; - for (; *ptr; ptr++) { - if (*ptr == '_' || *ptr == ' ' || *ptr == '\t') - memmove(ptr, ptr + 1, strlen((char*)ptr) + 1); - } - for (ptr = (unsigned char*)query; *ptr; ptr++) - *ptr = tolower(*ptr); - if (XrmGetResource(options_xrm, query, "Module.Option", &type, &value)) - return ((char*)value.addr); - - return (NULL); -} diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/options.h b/xorg-server/hw/xfree86/utils/xorgcfg/options.h deleted file mode 100644 index 2d08ca448..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/options.h +++ /dev/null @@ -1,50 +0,0 @@ -/* - * 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. - * - * Author: Paulo César Pereira de Andrade - * - */ - -#include "config.h" -#ifdef USE_MODULES -#include "loader.h" -#endif - -/* - * Prototypes - */ -#ifdef USE_MODULES -void OptionsPopup(XF86OptionPtr*, char*, OptionInfoPtr); -void ModuleOptionsPopup(Widget, XtPointer, XtPointer); -#else -void OptionsPopup(XF86OptionPtr*); -#endif -void OptionsCancelAction(Widget, XEvent*, String*, Cardinal*); -void ModuleOptionsCancelAction(Widget, XEvent*, String*, Cardinal*); -char *GetOptionDescription(char *module, char *option); -Bool InitializeOptionsDatabase(void); - -void CreateOptionsShell(void); diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/right.xbm b/xorg-server/hw/xfree86/utils/xorgcfg/right.xbm deleted file mode 100644 index a2f2ce2d1..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/right.xbm +++ /dev/null @@ -1,8 +0,0 @@ -#define right_width 19 -#define right_height 19 -static unsigned char right_bits[] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x06, 0x00, - 0x00, 0x0e, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x3e, 0x00, 0xf8, 0x7f, 0x00, - 0xf8, 0xff, 0x00, 0xf8, 0xff, 0x01, 0xf8, 0xff, 0x00, 0xf8, 0x7f, 0x00, - 0x00, 0x3e, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x06, 0x00, - 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/screen-cfg.c b/xorg-server/hw/xfree86/utils/xorgcfg/screen-cfg.c deleted file mode 100644 index 4c67d725a..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/screen-cfg.c +++ /dev/null @@ -1,555 +0,0 @@ -/* - * 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. - * - * Author: Paulo César Pereira de Andrade - * - */ - -#include "xf86config.h" -#include "screen-cfg.h" -#include -#include -#include -#include -#include -#include -#ifdef USE_MODULES -#include "loader.h" -#endif - -#define CW 1 -#define CCW -1 - -/* - * Prototypes - */ -static void DepthCallback(Widget, XtPointer, XtPointer); -static void SelectIndexCallback(Widget, XtPointer, XtPointer); -static void UnselectIndexCallback(Widget, XtPointer, XtPointer); -static void SelectCallback(Widget, XtPointer, XtPointer); -static void UnselectCallback(Widget, XtPointer, XtPointer); -static void MoveCallback(Widget, XtPointer, XtPointer); -static void RotateCallback(Widget, XtPointer, XtPointer); - -/* - * Initialization - */ -static char *standard_modes[] = { - "640x400", - "640x480", - "800x600", - "1024x768", - "1280x960", - "1280x1024", - "320x200", - "320x240", - "400x300", - "1152x864", - "1600x1200", - "1800x1400", - "512x384", - "1400x1050", - "2048x1536", - "1920x1440", -}; - -static char **modes; -static int nmodes; -static int default_depth, sel_index, unsel_index; -static Widget listL, listR; -static char **defmodes; -static int ndefmodes; -static XF86ConfScreenPtr screen; -static int rotate; - -/* - * Implementation - */ -XtPointer -ScreenConfig(XtPointer conf) -{ - XF86ConfDisplayPtr disp; - Arg args[2]; - int i, oldrotate; - - screen = (XF86ConfScreenPtr)conf; - if (screen == NULL) - return (NULL); - - XtSetArg(args[0], XtNstring, screen->scrn_identifier); - XtSetValues(ident_widget, args, 1); - if ((default_depth = screen->scrn_defaultdepth) <= 0) - default_depth = 8; - sel_index = unsel_index = -1; - for (i = 0; i < computer.num_screens; i++) - if (computer.screens[i]->screen == screen) { - SetScreenRotate(computer.screens[i]); - rotate = computer.screens[i]->rotate; - } - oldrotate = rotate; - - ndefmodes = 0; - disp = screen->scrn_display_lst; - while (disp != NULL) { - if (disp->disp_depth == default_depth) { - XF86ModePtr mod = disp->disp_mode_lst; - - while (mod != NULL) { - if (ndefmodes % 16 == 0) - defmodes = (char**) - XtRealloc((XtPointer)defmodes, - (ndefmodes + 16) * sizeof(char*)); - defmodes[ndefmodes++] = XtNewString(mod->mode_name); - mod = (XF86ModePtr)(mod->list.next); - } - break; - } - disp = (XF86ConfDisplayPtr)(disp->list.next); - } - if (ndefmodes == 0) { - defmodes = (char**)XtMalloc(sizeof(char*)); - defmodes[0] = XtNewString("640x480"); - ndefmodes = 1; - } - - if (listL != NULL) { - XawListUnhighlight(listL); - XawListUnhighlight(listR); - } - - xf86info.cur_list = SCREEN; - XtSetSensitive(back, xf86info.lists[SCREEN].cur_function > 0); - XtSetSensitive(next, xf86info.lists[SCREEN].cur_function < - xf86info.lists[SCREEN].num_functions - 1); - (xf86info.lists[SCREEN].functions[xf86info.lists[SCREEN].cur_function]) - (&xf86info); - - if (ConfigLoop(NULL) == True) { - XF86ModePtr prev = NULL, mod; - - /* user may have changed the default depth, read variables again */ - disp = screen->scrn_display_lst; - while (disp != NULL) { - if (disp->disp_depth == default_depth) - break; - disp = (XF86ConfDisplayPtr)(disp->list.next); - } - - if (disp == NULL) { - disp = (XF86ConfDisplayPtr)XtCalloc(1, sizeof(XF86ConfDisplayRec)); - screen->scrn_display_lst = (XF86ConfDisplayPtr) - xf86addListItem((GenericListPtr)(screen->scrn_display_lst), - (GenericListPtr)(disp)); - disp->disp_depth = default_depth; - } - - if (strcasecmp(screen->scrn_identifier, ident_string)) - xf86renameScreen(XF86Config, screen, ident_string); - - screen->scrn_defaultdepth = default_depth; - - XtSetArg(args[0], XtNlist, NULL); - XtSetArg(args[1], XtNnumberStrings, 0); - XtSetValues(listL, args, 2); - - XtSetArg(args[0], XtNlist, NULL); - XtSetArg(args[1], XtNnumberStrings, 0); - XtSetValues(listR, args, 2); - - mod = disp->disp_mode_lst; - /* free all modes */ - while (mod != NULL) { - prev = mod; - mod = (XF86ModePtr)(mod->list.next); - XtFree(prev->mode_name); - XtFree((XtPointer)prev); - } - /* readd modes */ - for (i = 0; i < ndefmodes; i++) { - mod = XtNew(XF86ModeRec); - mod->mode_name = XtNewString(defmodes[i]); - XtFree(defmodes[i]); - if (i == 0) - disp->disp_mode_lst = mod; - else - prev->list.next = mod; - prev = mod; - } - if (i == 0) - disp->disp_mode_lst = NULL; - else - mod->list.next = NULL; - - XtFree((XtPointer)defmodes); - defmodes = NULL; - ndefmodes = 0; - - for (i = 0; i < computer.num_screens; i++) - if (computer.screens[i]->screen == screen) - computer.screens[i]->rotate = rotate; - - if (oldrotate != rotate) { - static char *Rotate = "Rotate"; - - if (screen->scrn_option_lst != NULL) - xf86removeOption(&screen->scrn_option_lst, Rotate); - if (rotate) - screen->scrn_option_lst = - xf86addNewOption(screen->scrn_option_lst, - XtNewString(Rotate), - XtNewString(rotate > 0 ? "CW" : "CCW")); - UpdateScreenUI(); - AdjustScreenUI(); - } - - return ((XtPointer)screen); - } - - XtSetArg(args[0], XtNlist, NULL); - XtSetArg(args[1], XtNnumberStrings, 0); - XtSetValues(listL, args, 2); - - XtSetArg(args[0], XtNlist, NULL); - XtSetArg(args[1], XtNnumberStrings, 0); - XtSetValues(listR, args, 2); - - for (i = 0; i < ndefmodes; i++) - XtFree(defmodes[i]); - XtFree((XtPointer)defmodes); - defmodes = NULL; - ndefmodes = 0; - - return (NULL); -} - -/*ARGSUSED*/ -static void -DepthCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - if (call_data != NULL) - default_depth = (long)user_data; -} - -/*ARGSUSED*/ -static void -SelectIndexCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - XawListReturnStruct *info = (XawListReturnStruct *)call_data; - - sel_index = info->list_index; -} - -/*ARGSUSED*/ -static void -UnselectIndexCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - XawListReturnStruct *info = (XawListReturnStruct *)call_data; - - unsel_index = info->list_index; -} - -/*ARGSUSED*/ -static void -SelectCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - Arg args[2]; - - if (sel_index < 0 || sel_index >= nmodes) - return; - - if (ndefmodes == 1 && *defmodes[0] == '\0') { - /* make sure tmp and defentries are not the same pointer */ - char **tmp = defmodes; - - XtFree(defmodes[0]); - defmodes = (char**)XtMalloc(sizeof(char*)); - --ndefmodes; - XtFree((char*)tmp); - } - else - defmodes = (char**)XtRealloc((XtPointer)defmodes, - sizeof(char*) * (ndefmodes + 1)); - defmodes[ndefmodes++] = XtNewString(modes[sel_index]); - - XtSetArg(args[0], XtNlist, defmodes); - XtSetArg(args[1], XtNnumberStrings, ndefmodes); - XtSetValues(listR, args, 2); - - XawListUnhighlight(listR); - if (ndefmodes > 1 || (ndefmodes == 1 && *defmodes[0] != '\0')) { - if (unsel_index >= ndefmodes) - unsel_index = ndefmodes - 1; - XawListHighlight(listR, unsel_index = ndefmodes - 1); - } - else - unsel_index = -1; - - /* force realyout */ - XtUnmanageChild(listR); - XtManageChild(listR); -} - -/*ARGSUSED*/ -static void -UnselectCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - Arg args[2]; - char **modes; - Cardinal num_modes; - - if (unsel_index < 0 || unsel_index >= ndefmodes) - return; - - XawListUnhighlight(listL); - XtSetArg(args[0], XtNlist, &modes); - XtSetArg(args[1], XtNnumberStrings, &num_modes); - XtGetValues(listL, args, 2); - if (modes) { - for (sel_index = 0; sel_index < num_modes; sel_index++) - if (strcmp(defmodes[unsel_index], modes[sel_index]) == 0) - break; - if (sel_index < num_modes) - XawListHighlight(listL, sel_index); - else - sel_index = -1; - } - - XtFree(defmodes[unsel_index]); - if (--ndefmodes > unsel_index) - memmove(&defmodes[unsel_index], &defmodes[unsel_index + 1], - (ndefmodes - unsel_index) * sizeof(char*)); - if (ndefmodes == 0) { - char **tmp = defmodes; - - defmodes = (char**)XtMalloc(sizeof(char*)); - defmodes[0] = XtNewString(""); - ndefmodes = 1; - XtFree((char*)tmp); - } - - XtSetArg(args[0], XtNlist, defmodes); - XtSetArg(args[1], XtNnumberStrings, ndefmodes); - XtSetValues(listR, args, 2); - - XawListUnhighlight(listR); - if (ndefmodes > 1 || (ndefmodes == 1 && *defmodes[0] != '\0')) { - if (unsel_index >= ndefmodes) - unsel_index = ndefmodes - 1; - XawListHighlight(listR, unsel_index); - } - else - unsel_index = -1; -} - -/*ARGSUSED*/ -static void -MoveCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - char *tmp; - Bool down = (long)user_data; - - if (unsel_index < 0 || unsel_index >= ndefmodes) - return; - - if ((down && unsel_index + 1 >= ndefmodes) || - (!down && unsel_index - 1 < 0)) - return; - - tmp = defmodes[unsel_index]; - if (down) { - defmodes[unsel_index] = defmodes[unsel_index + 1]; - unsel_index++; - } else { - defmodes[unsel_index] = defmodes[unsel_index - 1]; - unsel_index--; - } - defmodes[unsel_index] = tmp; - - XawListUnhighlight(listR); - XawListHighlight(listR, unsel_index); -} - -/*ARGSUSED*/ -void -RotateCallback(Widget w, XtPointer user_data, XtPointer call_data) -{ - if (call_data != NULL) - rotate = (long)user_data; - else - rotate = 0; -} - -void -ScreenDialog(XF86SetupInfo *info) -{ - static Widget dialog, d1, d4, d8, d16, d24, labelRotate, cw, ccw; - Arg args[2]; - XF86ConfMonitorPtr mon = screen->scrn_monitor; - XF86ConfModeLinePtr mline = mon != NULL ? mon->mon_modeline_lst : NULL; - int i; -#ifdef USE_MODULES - xf86cfgModuleOptions *drv_opts = module_options; - Bool foundRotate = False; -#endif - - while (nmodes > 0) - XtFree(modes[--nmodes]); - XtFree((XtPointer)modes); - modes = NULL; - while (mline) { - if (nmodes % 16 == 0) - modes = (char**)XtRealloc((XtPointer)modes, - sizeof(char*) * (nmodes + 16)); - modes[nmodes++] = XtNewString(mline->ml_identifier); - mline = (XF86ConfModeLinePtr)(mline->list.next); - } - for (i = 0; i < sizeof(standard_modes) / sizeof(standard_modes[0]); i++) { - if (nmodes % 16 == 0) - modes = (char**)XtRealloc((XtPointer)modes, - sizeof(char*) * (nmodes + 16)); - modes[nmodes++] = XtNewString(standard_modes[i]); - } - - if (dialog == NULL) { - Widget command, viewport; - - dialog = XtCreateWidget("screenD", formWidgetClass, - configp, NULL, 0); - XtCreateManagedWidget("depthL", labelWidgetClass, - dialog, NULL, 0); - d1 = XtCreateManagedWidget("1", toggleWidgetClass, dialog, NULL, 0); - XtAddCallback(d1, XtNcallback, DepthCallback, (XtPointer)1); - d4 = XtVaCreateManagedWidget("4", toggleWidgetClass, dialog, - XtNradioGroup, d1, NULL); - XtAddCallback(d4, XtNcallback, DepthCallback, (XtPointer)4); - d8 = XtVaCreateManagedWidget("8", toggleWidgetClass, dialog, - XtNradioGroup, d4, NULL); - XtAddCallback(d8, XtNcallback, DepthCallback, (XtPointer)8); - d16 = XtVaCreateManagedWidget("16", toggleWidgetClass, dialog, - XtNradioGroup, d8, NULL); - XtAddCallback(d16, XtNcallback, DepthCallback, (XtPointer)16); - d24 = XtVaCreateManagedWidget("24", toggleWidgetClass, dialog, - XtNradioGroup, d16, NULL); - XtAddCallback(d24, XtNcallback, DepthCallback, (XtPointer)24); - - XtCreateManagedWidget("modeL", labelWidgetClass, dialog, NULL, 0); - viewport = XtCreateManagedWidget("viewL", viewportWidgetClass, dialog, - NULL, 0); - listL = XtCreateManagedWidget("listLeft", listWidgetClass, viewport, - NULL, 0); - XtAddCallback(listL, XtNcallback, SelectIndexCallback, NULL); - command = XtCreateManagedWidget("select", commandWidgetClass, - dialog, NULL, 0); - XtAddCallback(command, XtNcallback, SelectCallback, NULL); - command = XtCreateManagedWidget("unselect", commandWidgetClass, - dialog, NULL, 0); - XtAddCallback(command, XtNcallback, UnselectCallback, NULL); - command = XtCreateManagedWidget("up", commandWidgetClass, - dialog, NULL, 0); - XtAddCallback(command, XtNcallback, MoveCallback, (XtPointer)False); - command = XtCreateManagedWidget("down", commandWidgetClass, - dialog, NULL, 0); - XtAddCallback(command, XtNcallback, MoveCallback, (XtPointer)True); - viewport = XtCreateManagedWidget("viewR", viewportWidgetClass, dialog, - NULL, 0); - listR = XtCreateManagedWidget("listRight", listWidgetClass, viewport, - NULL, 0); - XtAddCallback(listR, XtNcallback, UnselectIndexCallback, NULL); - - labelRotate = XtCreateManagedWidget("rotate", labelWidgetClass, - dialog, NULL, 0); - cw = XtCreateManagedWidget("CW", toggleWidgetClass, dialog, NULL, 0); - XtAddCallback(cw, XtNcallback, RotateCallback, (XtPointer)CW); - ccw = XtVaCreateManagedWidget("CCW", toggleWidgetClass, dialog, - XtNradioGroup, cw, NULL); - XtAddCallback(ccw, XtNcallback, RotateCallback, (XtPointer)CCW); - - XtRealizeWidget(dialog); - } - -#ifdef USE_MODULES - if (!nomodules) { - while (drv_opts) { - if (drv_opts->type == VideoModule && - strcmp(drv_opts->name, screen->scrn_device->dev_driver) == 0) { - OptionInfoPtr opts = drv_opts->option; - - while (opts->name) { - if (xf86nameCompare(opts->name, "Rotate") == 0) { - foundRotate = True; - break; - } - opts++; - } - break; - } - drv_opts = drv_opts->next; - } - - if (!foundRotate) { - XtUnmapWidget(labelRotate); - XtUnmapWidget(cw); - XtUnmapWidget(ccw); - } - else { - XtMapWidget(labelRotate); - XtMapWidget(cw); - XtMapWidget(ccw); - } - } -#else - (void)labelRotate; -#endif - if (rotate == CW) { - XtVaSetValues(cw, XtNstate, True, NULL); - XtVaSetValues(ccw, XtNstate, False, NULL); - } - else if (rotate == CCW) { - XtVaSetValues(cw, XtNstate, False, NULL); - XtVaSetValues(ccw, XtNstate, True, NULL); - } - else { - XtVaSetValues(cw, XtNstate, False, NULL); - XtVaSetValues(ccw, XtNstate, False, NULL); - } - - XtSetArg(args[0], XtNlist, modes); - XtSetArg(args[1], XtNnumberStrings, nmodes); - XtSetValues(listL, args, 2); - - XtSetArg(args[0], XtNlist, defmodes); - XtSetArg(args[1], XtNnumberStrings, ndefmodes); - XtSetValues(listR, args, 2); - - XtSetArg(args[0], XtNstate, True); - XtSetValues(default_depth == 1 ? d1 : - default_depth == 4 ? d4 : - default_depth == 16 ? d16 : - default_depth == 24 ? d24 : d8, args, 1); - - XtChangeManagedSet(¤t, 1, NULL, NULL, &dialog, 1); - current = dialog; -} diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/screen-cfg.h b/xorg-server/hw/xfree86/utils/xorgcfg/screen-cfg.h deleted file mode 100644 index 07e9bc3ee..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/screen-cfg.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * 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. - * - * Author: Paulo César Pereira de Andrade - * - */ - -#include "config.h" -#include "screen.h" - -#ifndef _xf86cfg_screencfg_h -#define _xf86cfg_screencfg_h - -/* - * Prototypes - */ -XtPointer ScreenConfig(XtPointer); -void ScreenDialog(XF86SetupInfo*); - -#endif /* _xf86cfg_screencfg_h */ diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/screen.c b/xorg-server/hw/xfree86/utils/xorgcfg/screen.c deleted file mode 100644 index 6b411de15..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/screen.c +++ /dev/null @@ -1,983 +0,0 @@ -/* - * 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. - * - * Author: Paulo César Pereira de Andrade - * - */ - -#include -#include -#include -#include "screen.h" - -#define CW 1 -#define CCW -1 - -/* - * Prototypes - */ -void ReshapeScreenWidget(xf86cfgScreen*); -static int qcmp_screen(_Xconst void*, _Xconst void*); - -/* - * Initialization - */ -extern Widget work; - -static int rows, columns; /* number of rows/columns of monitors */ - -static int mon_width, mon_height; -static int *mon_widths, *mon_heights; - -/* - * Implementation - */ -void -SetScreenRotate(xf86cfgScreen *screen) -{ - static char *Rotate = "Rotate", *_CW = "CW", *_CCW = "CCW"; - int rotate = 0; - XF86OptionPtr option, options; - - /* This is the only place where xf86cfg is intrusive, and deletes options - * added by the user directly in the config file. The "Rotate" option - * will be kept in the screen section. - */ - if (screen->monitor != NULL) { - options = ((XF86ConfMonitorPtr)(screen->monitor->config))->mon_option_lst; - if ((option = xf86findOption(options, Rotate)) != NULL) { - if (option->opt_val != NULL) - rotate = strcasecmp(option->opt_val, _CW) == 0 ? CW : - strcasecmp(option->opt_val, _CCW) == 0 ? CCW : 0; - xf86removeOption(&((XF86ConfMonitorPtr)(screen->monitor->config)) - ->mon_option_lst, Rotate); - } - } - if (screen->card != NULL) { - options = ((XF86ConfDevicePtr)(screen->card->config))->dev_option_lst; - if ((option = xf86findOption(options, Rotate)) != NULL) { - if (option->opt_val != NULL) - rotate += strcasecmp(option->opt_val, _CW) == 0 ? CW : - strcasecmp(option->opt_val, _CCW) == 0 ? CCW : 0; - xf86removeOption(&((XF86ConfDevicePtr)(screen->card->config)) - ->dev_option_lst, Rotate); - } - } - - options = screen->screen->scrn_option_lst; - if ((option = xf86findOption(options, Rotate)) != NULL) { - if (option->opt_val != NULL) - rotate += strcasecmp(option->opt_val, _CW) == 0 ? CW : - strcasecmp(option->opt_val, _CCW) == 0 ? CCW : 0; - xf86removeOption(&screen->screen->scrn_option_lst, Rotate); - } - - rotate = rotate > 0 ? CW : rotate < 0 ? CCW : 0; - if (rotate) - screen->screen->scrn_option_lst = - xf86addNewOption(screen->screen->scrn_option_lst, - XtNewString(Rotate), - XtNewString(rotate > 0 ? _CW : _CCW)); - screen->rotate = rotate; -} - -void -CreateScreenWidget(xf86cfgScreen *screen) -{ - Widget w = XtCreateWidget("screen", simpleWidgetClass, - XtParent(computer.cpu), NULL, 0); - - SetScreenRotate(screen); - XtRealizeWidget(w); - screen->widget = w; - screen->column = screen->row = -1; - - ReshapeScreenWidget(screen); -} - -void -ReshapeScreenWidget(xf86cfgScreen *screen) -{ - Pixmap pixmap; - XGCValues values; - GC gc; - int x = 0, y = 0, width = screen->rect.width, height = screen->rect.height; - Widget w = screen->widget; - - if (screen->state == USED && screen->row >= 0) { - if (screen->column == 0) - x = w->core.width - width; - else if (screen->column == columns - 1) - x = w->core.width - mon_widths[screen->column]; - else - x = (w->core.width - mon_widths[screen->column]) + - ((mon_widths[screen->column] - width) >> 1); - - if (screen->row == 0) - y = w->core.height - height; - else if (screen->row == rows - 1) - y = w->core.height - mon_heights[screen->row]; - else - y = (w->core.height - mon_heights[screen->row]) + - ((mon_heights[screen->row] - height) >> 1); - } - else if (screen->rect.width == 0) { - width = w->core.width; - height = w->core.height; - } - - screen->rect.x = x; - screen->rect.y = y; - screen->rect.width = width; - screen->rect.height = height; - pixmap = XCreatePixmap(XtDisplay(w), XtWindow(w), - w->core.width, w->core.height, 1); - values.foreground = 0; - values.background = 1; - gc = XCreateGC(XtDisplay(w), pixmap, GCForeground | GCBackground, &values); - XFillRectangle(XtDisplay(w), pixmap, gc, 0, 0, w->core.width, w->core.height); - XSetForeground(XtDisplay(w), gc, 1); - - DrawScreenMask(XtDisplay(w), pixmap, gc, x, y, x + width, y + height, - screen->rotate); - XShapeCombineMask(XtDisplay(w), XtWindow(w), ShapeBounding, - 0, 0, pixmap, ShapeSet); - - /* Do not call XtSetValues, to avoid all extra code for caching pixmaps */ - XFreePixmap(XtDisplay(w), pixmap); - if (XtIsRealized(w)) { - pixmap = XCreatePixmap(XtDisplay(w), XtWindow(w), - w->core.width, w->core.height, - DefaultDepthOfScreen(XtScreen(w))); - DrawScreen(XtDisplay(w), pixmap, x, y, x + width, y + height, - screen->state == USED ? True : False, screen->rotate); - XSetWindowBackgroundPixmap(XtDisplay(w), XtWindow(w), pixmap); - XClearWindow(XtDisplay(w), XtWindow(w)); - XFreePixmap(XtDisplay(w), pixmap); - } - XFreeGC(XtDisplay(w), gc); -} - -void -AddScreen(xf86cfgDevice *mon, xf86cfgDevice *dev) -{ - int nscreens = 0; - char screen_name[48]; - XF86ConfScreenPtr screen = XF86Config->conf_screen_lst; - XF86ConfAdjacencyPtr adj; - - while (screen != NULL) { - ++nscreens; - screen = (XF86ConfScreenPtr)(screen->list.next); - } - do { - XmuSnprintf(screen_name, sizeof(screen_name), "Screen%d", - nscreens); - ++nscreens; - } while (xf86findScreen(screen_name, - XF86Config->conf_screen_lst) != NULL); - - screen = (XF86ConfScreenPtr)XtCalloc(1, sizeof(XF86ConfScreenRec)); - screen->scrn_identifier = XtNewString(screen_name); - screen->scrn_device_str = XtNewString(((XF86ConfDevicePtr)(dev->config))->dev_identifier); - screen->scrn_device = (XF86ConfDevicePtr)(dev->config); - screen->scrn_monitor_str = XtNewString(((XF86ConfMonitorPtr)(mon->config))->mon_identifier); - screen->scrn_monitor = (XF86ConfMonitorPtr)(mon->config); - XF86Config->conf_screen_lst = - xf86addScreen(XF86Config->conf_screen_lst, screen); - - adj = (XF86ConfAdjacencyPtr)XtCalloc(1, sizeof(XF86ConfAdjacencyRec)); - adj->adj_screen = screen; - adj->adj_screen_str = XtNewString(screen_name); - if (computer.layout == NULL) - computer.layout = XF86Config->conf_layout_lst = (XF86ConfLayoutPtr) - XtCalloc(1, sizeof(XF86ConfLayoutRec)); - computer.layout->lay_adjacency_lst = (XF86ConfAdjacencyPtr) - xf86addListItem((GenericListPtr)computer.layout->lay_adjacency_lst, - (GenericListPtr)adj); - - computer.screens = (xf86cfgScreen**) - XtRealloc((XtPointer)computer.screens, sizeof(xf86cfgScreen*) * - (computer.num_screens + 1)); - computer.screens[computer.num_screens] = - (xf86cfgScreen*)XtCalloc(1, sizeof(xf86cfgScreen)); - computer.screens[computer.num_screens]->screen = screen; - computer.screens[computer.num_screens]->card = dev; - computer.screens[computer.num_screens]->monitor = mon; - - ++dev->refcount; - ++mon->refcount; - - CreateScreenWidget(computer.screens[computer.num_screens]); - computer.screens[computer.num_screens]->type = SCREEN; - SetTip((xf86cfgDevice*)computer.screens[computer.num_screens]); - - ++computer.num_screens; -} - -void -RemoveScreen(xf86cfgDevice *mon, xf86cfgDevice *dev) -{ - XF86ConfScreenPtr screen = XF86Config->conf_screen_lst; - int i; - - mon->state = dev->state = UNUSED; - while (screen != NULL) { - if ((XtPointer)screen->scrn_monitor == mon->config && - (XtPointer)screen->scrn_device == dev->config) - break; - - screen = (XF86ConfScreenPtr)(screen->list.next); - } - --mon->refcount; - --dev->refcount; - - for (i = 0; i < computer.num_screens; i++) { - if (computer.screens[i]->screen == screen) { - XtDestroyWidget(computer.screens[i]->widget); - if (i < --computer.num_screens) - memmove(&computer.screens[i], &computer.screens[i + 1], - (computer.num_screens - i) * sizeof(xf86cfgScreen*)); - break; - } - } - - xf86removeScreen(XF86Config, screen); -} - -void -ChangeScreen(XF86ConfMonitorPtr mon, XF86ConfMonitorPtr oldmon, - XF86ConfDevicePtr dev, XF86ConfDevicePtr olddev) -{ - int ioldm, im, ioldc, ic; - - if (mon == oldmon && dev == olddev) - return; - - if (mon != NULL) { - for (im = 0; im < computer.num_devices; im++) - if (computer.devices[im]->config == (XtPointer)mon) - break; - } - else - im = -1; - if (oldmon != NULL) { - for (ioldm = 0; ioldm < computer.num_devices; ioldm++) - if (computer.devices[ioldm]->config == (XtPointer)oldmon) - break; - } - else - ioldm = -1; - - if (dev != NULL) { - for (ic = 0; ic < computer.num_devices; ic++) - if (computer.devices[ic]->config == (XtPointer)dev) - break; - } - else - ic = -1; - if (olddev != NULL) { - for (ioldc = 0; ioldc < computer.num_devices; ioldc++) - if (computer.devices[ioldc]->config == (XtPointer)olddev) - break; - } - else - ioldc = -1; - - if (ioldm >= 0 && ioldc >= 0) { - RemoveScreen(computer.devices[ioldm], computer.devices[ioldc]); - computer.devices[ioldm]->state = UNUSED; -/* computer.devices[ioldc]->state = UNUSED;*/ - } - - if (im >= 0 && ic >= 0) { - AddScreen(computer.devices[im], computer.devices[ic]); - computer.devices[im]->state = USED; -/* computer.devices[ic]->state = USED;*/ - } -} - -/* - -+------------------------------------------------+ -| | -| +------------------------------------------+ | -| | | | -| | | | -| | | | -| | | | -| | | | -| | | | -| | | | -| | | | -| | | | -| | | | -| | | | -| | | | -| | | | -| | | | -| +------------------------------------------+ | -| | -+------------------------------------------------+ - | | - +-------+ +-------+ - | | - +----------------------------------------+ - - */ -static double oxs = 0.0, oys = 0.0, oxe = 100.0, oye = 70.0; -static double ixs = 7.0, iys = 7.0, ixe = 93.0, iye = 63.0; -static double lin[] = { 25.0, 70.0, 25.0, 75.0, 5.0, 75.0, 5.0, 80.0, - 95.0, 80.0, 95.0, 75.0, 75.0, 75.0, 75.0, 70.0 }; - -void -DrawScreen(Display *dpy, Drawable win, int xs, int ys, int xe, int ye, - Bool active, int rotate) -{ - double xfact, yfact; - XPoint points[(sizeof(lin) / sizeof(lin[0])) >> 1]; - int i; - static GC gray0, gray1, gray2, black, red; - - if (black == NULL) { - XColor color, exact; - XGCValues values; - - XAllocNamedColor(XtDisplay(toplevel), toplevel->core.colormap, "gray95", - &color, &exact); - values.foreground = color.pixel; - gray0 = XCreateGC(XtDisplay(toplevel), win, GCForeground, &values); - XAllocNamedColor(XtDisplay(toplevel), toplevel->core.colormap, "gray75", - &color, &exact); - values.foreground = color.pixel; - gray1 = XCreateGC(XtDisplay(toplevel), win, GCForeground, &values); - - XAllocNamedColor(XtDisplay(toplevel), toplevel->core.colormap, "gray60", - &color, &exact); - values.foreground = color.pixel; - gray2 = XCreateGC(XtDisplay(toplevel), win, GCForeground, &values); - - XAllocNamedColor(XtDisplay(toplevel), toplevel->core.colormap, "gray20", - &color, &exact); - values.foreground = color.pixel; - black = XCreateGC(XtDisplay(toplevel), win, GCForeground, &values); - - XAllocNamedColor(XtDisplay(toplevel), toplevel->core.colormap, "red", - &color, &exact); - values.foreground = color.pixel; - values.line_width = 4; - values.cap_style = CapButt; - red = XCreateGC(XtDisplay(toplevel), win, - GCForeground | GCLineWidth | GCCapStyle, &values); - } - - if (rotate) { - xfact = (xe - xs) / 80.0; - yfact = (ye - ys) / 100.0; - if (rotate == CW) { - /* outer rectangle */ - XFillRectangle(dpy, win, gray1, - oxs * xfact + xs + .5, - oys * yfact + ys + .5, - (oye - oys) * xfact + .5, - (oxe - oxs) * yfact + .5); - XDrawLine(dpy, win, gray2, - xs, ye - 1, - 70 * xfact + xs - 1 + .5, ye - 1); - XDrawLine(dpy, win, gray2, - 70 * xfact + xs - 1 + .5, ye - 1, - 70 * xfact + xs - 1 + .5, ys); - /* inner rectangle */ - XFillRectangle(dpy, win, black, - ixs * xfact + xs + .5, - iys * yfact + ys + .5, - (iye - iys) * xfact + .5, - (ixe - ixs) * yfact + .5); - for (i = 0; i < sizeof(points) / sizeof(points[0]); i++) { - points[i].x = lin[(i<<1) + 1] * xfact + xs + .5; - points[i].y = lin[(i<<1)] * yfact + ys + .5; - } - XFillPolygon(dpy, win, gray2, points, i, Convex, CoordModeOrigin); - XDrawLine(dpy, win, gray0, - (oxe - 10) * xfact + xs + .5, oys * yfact + ys + .5, - xs, oys * yfact + ys + .5); - XDrawLine(dpy, win, gray0, - xs, ys, - xs, xe); - XDrawLine(dpy, win, black, - lin[7] * xfact + xs - 1 + .5, lin[6] * yfact + ys + .5, - lin[9] * xfact + xs - 1 + .5, lin[8] * yfact + ys - 1 + .5); - XDrawLine(dpy, win, black, - lin[9] * xfact + xs - 1 + .5, lin[8] * yfact + ys - 1 + .5, - lin[11] * xfact + xs + .5, lin[10] * yfact + ys - 1 + .5); - XDrawLine(dpy, win, black, - lin[13] * xfact + xs + .5, lin[12] * yfact + ys - 1 + .5, - lin[15] * xfact + xs + .5, lin[14] * yfact + ys - 1 + .5); - - if (!active) { - XDrawLine(dpy, win, red, - iys * xfact, ixs * yfact, iye * xfact, ixe * yfact); - XDrawLine(dpy, win, red, - iye * xfact, ixs * yfact, iys * xfact, ixe * yfact); - } - } - else if (rotate == CCW) { - /* outer rectangle */ - XFillRectangle(dpy, win, gray1, - 10 * xfact + xs + .5, - oys * yfact + ys + .5, - (oye - oys) * xfact + .5, - (oxe - oxs) * yfact + .5); - - XDrawLine(dpy, win, gray2, - 10 * xfact + xs + .5, ye - 1, - oxe * xfact + xs - 1 + .5, ye - 1); - XDrawLine(dpy, win, gray2, - xe - 1, ye - 1, - xe - 1, ys); - /* inner rectangle */ - XFillRectangle(dpy, win, black, - (ixs + 10) * xfact + xs + .5, - iys * yfact + ys + .5, - (iye - iys) * xfact + .5, - (ixe - ixs) * yfact + .5); - for (i = 0; i < sizeof(points) / sizeof(points[0]); i++) { - points[i].x = (-lin[(i<<1) + 1] + 80.0) * xfact + xs + .5; - points[i].y = lin[(i<<1)] * yfact + ys + .5; - } - XFillPolygon(dpy, win, gray2, points, i, Convex, CoordModeOrigin); - XDrawLine(dpy, win, gray0, - oxe * xfact + xs + .5, oys * yfact + ys + .5, - (oxs - 10) * xfact + xs + .5, oys * yfact + ys + .5); - XDrawLine(dpy, win, gray0, - (oxs + 10) * xfact + xs + .5, ys, - (oxs + 10) * xfact + xs + .5, xe); - - XDrawLine(dpy, win, black, - xs, lin[8] * yfact - 1 + ys + .5, - 4 * xfact + xs + .5, lin[8] * yfact - 1 + ys + .5); - XDrawLine(dpy, win, black, - 4 * xfact + xs, lin[8] * yfact - 1 + ys + .5, - 4 * xfact + xs, lin[3] * yfact - 1 + ys + .5); - XDrawLine(dpy, win, black, - 4 * xfact + xs + .5, lin[3] * yfact - 1 + ys + .5, - 10 * xfact + xs + .5 - 1, lin[3] * yfact - 1 + ys + .5); - XDrawLine(dpy, win, black, - 4 * xfact + xs, lin[0] * yfact - 1 + ys + .5, - 4 * xfact + xs, lin[4] * yfact - 1 + ys + .5); - - if (!active) { - XDrawLine(dpy, win, red, - (iys + 10) * xfact, ixs * yfact, - (iye + 10) * xfact, ixe * yfact); - XDrawLine(dpy, win, red, - (iye + 10) * xfact, ixs * yfact, - (iys + 10) * xfact, ixe * yfact); - } - } - } - else { - xfact = (xe - xs) / 100.0; - yfact = (ye - ys) / 80.0; - - /* outer rectangle */ - XFillRectangle(dpy, win, gray1, - oxs * xfact + xs + .5, - oys * yfact + ys + .5, - (oxe - oxs) * xfact + .5, - (oye - oys) * yfact + .5); - - XDrawLine(dpy, win, gray2, - oxs * xfact + xs + .5, oye * yfact + ys - 1 + .5, - oxe * xfact + xs - 1 + .5, oye * yfact + ys - 1 + .5); - XDrawLine(dpy, win, gray2, - oxe * xfact + xs - 1 + .5, oys * yfact + ys + .5, - oxe * xfact + xs - 1 + .5, oye * yfact + ys - 1 + .5); - - /* inner rectangle */ - XFillRectangle(dpy, win, black, - ixs * xfact + xs + .5, - iys * yfact + ys + .5, - (ixe - ixs) * xfact + .5, - (iye - iys) * yfact + .5); - - for (i = 0; i < sizeof(points) / sizeof(points[0]); i++) { - points[i].x = lin[i<<1] * xfact + xs + .5; - points[i].y = lin[(i<<1) + 1] * yfact + ys + .5; - } - - XFillPolygon(dpy, win, gray2, points, i, Convex, CoordModeOrigin); - - XDrawLine(dpy, win, black, - lin[6] * xfact + xs + .5, lin[7] * yfact + ys - 1 + .5, - lin[8] * xfact + xs - 1 + .5, lin[9] * yfact + ys - 1 + .5); - XDrawLine(dpy, win, black, - lin[8] * xfact + xs - 1 + .5, lin[9] * yfact + ys - 1 + .5, - lin[10] * xfact + xs - 1 + .5, lin[11] * yfact + ys + .5); - XDrawLine(dpy, win, black, - lin[12] * xfact + xs - 1 + .5, lin[13] * yfact + ys + .5, - lin[14] * xfact + xs - 1 + .5, lin[15] * yfact + ys + .5); - - XDrawLine(dpy, win, gray0, - oxe * xfact + xs + .5, oys * yfact + ys + .5, - oxs * xfact + xs + .5, oys * yfact + ys + .5); - XDrawLine(dpy, win, gray0, - oxs * xfact + xs + .5, oys * yfact + ys + .5, - oxs * xfact + xs + .5, lin[1] * yfact + ys + .5); - - if (!active) { - XDrawLine(dpy, win, red, - ixs * xfact, iys * yfact, ixe * xfact, iye * yfact); - XDrawLine(dpy, win, red, - ixe * xfact, iys * yfact, ixs * xfact, iye * yfact); - } - } -} - -void -DrawScreenMask(Display *dpy, Drawable win, GC gc, int xs, int ys, int xe, int ye, - int rotate) -{ - double xfact, yfact; - XPoint points[(sizeof(lin) / sizeof(lin[0])) >> 1]; - int i = 0, x = 0, y = 0, width, height; - - if (rotate) { - xfact = (xe - xs) / 80.0; - yfact = (ye - ys) / 100.0; - width = (oye - oys) * xfact + .5; - height = (oxe - oxs) * yfact + .5; - if (rotate == CW) { - x = oxs * xfact + xs + .5; - y = oys * yfact + ys + .5; - for (i = 0; i < sizeof(points) / sizeof(points[0]); i++) { - points[i].x = lin[(i<<1) + 1] * xfact + xs + .5; - points[i].y = lin[(i<<1)] * yfact + ys + .5; - } - } - else if (rotate == CCW) { - x = 10 * xfact + xs + .5; - y = oys * yfact + ys + .5; - for (i = 0; i < sizeof(points) / sizeof(points[0]); i++) { - points[i].x = (-lin[(i<<1) + 1] + 80.0) * xfact + xs + .5; - points[i].y = lin[(i<<1)] * yfact + ys + .5; - } - } - } - else { - xfact = (xe - xs) / 100.0; - yfact = (ye - ys) / 80.0; - x = oxs * xfact + xs + .5; - y = oys * yfact + ys + .5; - width = (oxe - oxs) * xfact + .5; - height = (oye - oys) * yfact + .5; - for (i = 0; i < sizeof(points) / sizeof(points[0]); i++) { - points[i].x = lin[(i<<1)] * xfact + xs + .5; - points[i].y = lin[(i<<1) + 1] * yfact + ys + .5; - } - } - - /* rectangle */ - XFillRectangle(dpy, win, gc, x, y, width, height); - - - XFillPolygon(dpy, win, gc, points, i, Convex, CoordModeOrigin); -} - -void -AdjustScreenUI(void) -{ - XF86ConfLayoutPtr lay = computer.layout; - XF86ConfAdjacencyPtr adj; - int i, dx, dy, x, y, w, h, base = -1; - double xf, yf; - - if (lay == NULL) - return; - - adj = lay->lay_adjacency_lst; - -#define USED1 -USED - - XtFree((XtPointer)mon_widths); - XtFree((XtPointer)mon_heights); - mon_widths = (int*)XtCalloc(1, sizeof(int) * columns); - mon_heights = (int*)XtCalloc(1, sizeof(int) * rows); - - mon_width = mon_height = 0; - for (i = 0; i < computer.num_screens; i++) { - if (base == -1 && computer.screens[i]->state == USED) - base = i; - if (computer.screens[i]->screen->scrn_monitor->mon_width > mon_width) - mon_width = computer.screens[i]->screen->scrn_monitor->mon_width; - if (computer.screens[i]->screen->scrn_monitor->mon_height > mon_height) - mon_height = computer.screens[i]->screen->scrn_monitor->mon_height; - } - if (base < 0) { - for (i = 0; i < computer.num_screens; i++) - ReshapeScreenWidget(computer.screens[i]); - return; - } - - if (mon_width == 0) { - mon_width = 10; - mon_height = 8; - } - - XtUnmapWidget(work); - - while (adj) { - xf86cfgScreen *scr = NULL, - *topscr = NULL, *botscr = NULL, *lefscr = NULL, *rigscr = NULL; - - for (i = 0; i < computer.num_screens; i++) - if (computer.screens[i]->screen == adj->adj_screen) - break; - if (i < computer.num_screens) - scr = computer.screens[i]; - - if (adj->adj_top != NULL) { - for (i = 0; i < computer.num_screens; i++) - if (computer.screens[i]->screen == adj->adj_top) - break; - if (i < computer.num_screens) - topscr = computer.screens[i]; - } - - if (adj->adj_bottom != NULL) { - for (i = 0; i < computer.num_screens; i++) - if (computer.screens[i]->screen == adj->adj_bottom) - break; - if (i < computer.num_screens) - botscr = computer.screens[i]; - } - - if (adj->adj_left != NULL) { - for (i = 0; i < computer.num_screens; i++) - if (computer.screens[i]->screen == adj->adj_left) - break; - if (i < computer.num_screens) - lefscr = computer.screens[i]; - } - - if (adj->adj_right != NULL) { - for (i = 0; i < computer.num_screens; i++) - if (computer.screens[i]->screen == adj->adj_right) - break; - if (i < computer.num_screens) - rigscr = computer.screens[i]; - } - - if (lefscr == NULL && rigscr == NULL && topscr == NULL && lefscr == NULL) { - XF86ConfScreenPtr s; - - if (adj->adj_where >= CONF_ADJ_RIGHTOF && adj->adj_where <= CONF_ADJ_BELOW) { - s = xf86findScreen(adj->adj_refscreen, XF86Config->conf_screen_lst); - for (i = 0; i < computer.num_screens; i++) - if (computer.screens[i]->screen == s) - break; - if (i < computer.num_screens) { - switch (adj->adj_where) { - case CONF_ADJ_RIGHTOF: - lefscr = computer.screens[i]; - break; - case CONF_ADJ_LEFTOF: - rigscr = computer.screens[i]; - break; - case CONF_ADJ_ABOVE: - botscr = computer.screens[i]; - break; - case CONF_ADJ_BELOW: - topscr = computer.screens[i]; - break; - } - } - } - } - - XtMoveWidget(scr->widget, 0, 0); - scr->state = USED1; - if (lefscr != NULL) { - if (lefscr->state == USED1) - XtMoveWidget(scr->widget, - lefscr->widget->core.x + lefscr->widget->core.width, - lefscr->widget->core.y); - else - XtMoveWidget(lefscr->widget, - -(int)(lefscr->widget->core.width), - scr->widget->core.y); - } - - if (rigscr != NULL) { - if (rigscr->state == USED1) { - dx = rigscr->widget->core.x - scr->widget->core.width - scr->widget->core.x; - dy = rigscr->widget->core.y - scr->widget->core.y; - - XtMoveWidget(scr->widget, scr->widget->core.x + dx, - scr->widget->core.y + dy); - if (lefscr != NULL && lefscr->state != USED1) - XtMoveWidget(lefscr->widget, lefscr->widget->core.x + dx, - lefscr->widget->core.y + dy); - } - else - XtMoveWidget(rigscr->widget, scr->widget->core.width, - scr->widget->core.y); - } - - if (topscr != NULL) { - if (topscr->state == USED1) { - dx = topscr->widget->core.x - scr->widget->core.x; - dy = topscr->widget->core.y + topscr->widget->core.height - - scr->widget->core.y; - - XtMoveWidget(scr->widget, scr->widget->core.x + dx, - scr->widget->core.y + dy); - if (lefscr != NULL && lefscr->state != USED1) - XtMoveWidget(lefscr->widget, lefscr->widget->core.x + dx, - lefscr->widget->core.y + dy); - if (rigscr != NULL && rigscr->state != USED1) - XtMoveWidget(rigscr->widget, rigscr->widget->core.x + dx, - rigscr->widget->core.y + dy); - } - else - XtMoveWidget(topscr->widget, scr->widget->core.x, - scr->widget->core.y - topscr->widget->core.height); - } - - if (botscr != NULL) { - if (botscr->state == USED1) { - dx = botscr->widget->core.x - scr->widget->core.x; - dy = botscr->widget->core.y - scr->widget->core.height - scr->widget->core.y; - - XtMoveWidget(scr->widget, scr->widget->core.x + dx, - scr->widget->core.y + dy); - if (lefscr != NULL && lefscr->state != USED1) - XtMoveWidget(lefscr->widget, lefscr->widget->core.x + dx, - lefscr->widget->core.y + dy); - if (rigscr != NULL && rigscr->state != USED1) - XtMoveWidget(rigscr->widget, rigscr->widget->core.x + dx, - rigscr->widget->core.y + dy); - if (botscr != NULL && botscr->state != USED1) - XtMoveWidget(botscr->widget, botscr->widget->core.x + dx, - botscr->widget->core.y + dy); - } - else - XtMoveWidget(botscr->widget, scr->widget->core.x, - scr->widget->core.y + scr->widget->core.height); - } - - adj = (XF86ConfAdjacencyPtr)(adj->list.next); - } - - for (i = 0; i < computer.num_screens; i++) - if (computer.screens[i]->state == USED1) - computer.screens[i]->state = USED; - else - XLowerWindow(XtDisplay(computer.screens[i]->widget), - XtWindow(computer.screens[i]->widget)); - - w = work->core.width / (columns + 1) - 5; - h = work->core.height / (rows + 1) - 5; - - if (w > h) - w = h; - else - h = w; - - dx = (work->core.width - (columns * w)) >> 1; - dy = (work->core.height - (rows * h)) >> 1; - - xf = (double)w / (double)computer.screens[0]->widget->core.width; - yf = (double)h / (double)computer.screens[0]->widget->core.height; - - for (i = 0; i < computer.num_screens; i++) { - Widget z = computer.screens[i]->widget; - - if (computer.screens[i]->state == USED) - XtConfigureWidget(z, z->core.x * xf + dx, - z->core.y * yf + dy, w, h, 0); - else - XtConfigureWidget(z, z->core.x, z->core.y, w, h, 0); - } - - if (computer.screens[base]->row >= 0) { - double xf, yf; - int width, height; - - for (i = 0; i < computer.num_screens; i++) { - width = computer.screens[i]->screen->scrn_monitor->mon_width; - height = computer.screens[i]->screen->scrn_monitor->mon_height; - if (width <= 0) { - width = mon_width; - height = mon_height; - } - - if (computer.screens[i]->rotate) { - xf = (double)width / (double)mon_width * 8. / 10.; - yf = (double)height / (double)mon_height; - } - else { - xf = (double)width / (double)mon_width; - yf = (double)height / (double)mon_height * 8. / 10.; - } - width = computer.screens[i]->widget->core.width * xf; - height = computer.screens[i]->widget->core.height * yf; - if (computer.screens[i]->state == USED) { - if (mon_widths[computer.screens[i]->column] < width) - mon_widths[computer.screens[i]->column] = width; - if (mon_heights[computer.screens[i]->row] < height) - mon_heights[computer.screens[i]->row] = height; - } - - /* do it here to avoid recalculation */ - computer.screens[i]->rect.width = width; - computer.screens[i]->rect.height = height; - } - } - - for (i = 0; i < computer.num_screens; i++) - ReshapeScreenWidget(computer.screens[i]); - - /* do a new pass, to avoid gaps if the monitors have different - * sizes. - */ - if (computer.screens[base]->row >= 0) { - x = computer.screens[base]->widget->core.x; - y = computer.screens[base]->widget->core.y; - - /* screens representations are already ordered */ - for (i = base; i < computer.num_screens; i++) { - if (computer.screens[i]->state == UNUSED) - continue; - if (computer.screens[i]->column != 0) - x += mon_widths[computer.screens[i]->column]; - else { - x = computer.screens[base]->widget->core.x; - if (i != base) - y += mon_heights[computer.screens[i]->row]; - } - XtMoveWidget(computer.screens[i]->widget, x, y); - } - } - XtMapWidget(work); -} - -static int -qcmp_screen(_Xconst void *a, _Xconst void *b) -{ - xf86cfgScreen *s1, *s2; - - s1 = *(xf86cfgScreen**)a; - s2 = *(xf86cfgScreen**)b; - - if (s1->widget->core.x > s2->widget->core.x) { - if (s2->widget->core.y >= - s1->widget->core.y + (s1->widget->core.height >> 1)) - return (-1); - return (1); - } - else { - if (s1->widget->core.y >= - s2->widget->core.y + (s2->widget->core.height >> 1)) - return (1); - return (-1); - } - /*NOTREACHED*/ -} - -void -UpdateScreenUI(void) -{ - XF86ConfLayoutPtr lay = computer.layout; - XF86ConfAdjacencyPtr adj, prev, left, base; - int i, p, cols, scrno; - - if (lay == NULL) - return; - - rows = columns = cols = 1; - - qsort(computer.screens, computer.num_screens, sizeof(xf86cfgScreen*), - qcmp_screen); - - adj = prev = left = base = NULL; - for (i = p = scrno = 0; i < computer.num_screens; i++) { - XF86ConfScreenPtr scr = computer.screens[i]->screen; - - if (computer.screens[i]->state == UNUSED) - continue; - - adj = (XF86ConfAdjacencyPtr)XtCalloc(1, sizeof(XF86ConfAdjacencyRec)); - adj->adj_scrnum = scrno++; - adj->adj_screen = scr; - adj->adj_screen_str = XtNewString(scr->scrn_identifier); - if (base == NULL) { - base = left = adj; - computer.screens[i]->row = computer.screens[i]->column = 0; - } - else { - int dy = computer.screens[i]->widget->core.y - - computer.screens[p]->widget->core.y; - - prev->list.next = adj; - if (dy > (computer.screens[i]->widget->core.height >> 1)) { - adj->adj_where = CONF_ADJ_BELOW; - adj->adj_refscreen = XtNewString(left->adj_screen_str); - left = adj; - computer.screens[i]->row = rows; - computer.screens[i]->column = 0; - cols = 1; - ++rows; - } - else { - computer.screens[i]->row = rows - 1; - computer.screens[i]->column = cols; - adj->adj_where = CONF_ADJ_RIGHTOF; - if (++cols > columns) - columns = cols; - adj->adj_refscreen = XtNewString(prev->adj_screen_str); - } - } - prev = adj; - p = i; - } - - adj = lay->lay_adjacency_lst; - - while (adj != NULL) { - prev = adj; - adj = (XF86ConfAdjacencyPtr)(adj->list.next); - XtFree(prev->adj_screen_str); - XtFree(prev->adj_right_str); - XtFree(prev->adj_left_str); - XtFree(prev->adj_top_str); - XtFree(prev->adj_bottom_str); - XtFree(prev->adj_refscreen); - XtFree((char*)prev); - } - - lay->lay_adjacency_lst = base; -} diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/screen.h b/xorg-server/hw/xfree86/utils/xorgcfg/screen.h deleted file mode 100644 index 293820db4..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/screen.h +++ /dev/null @@ -1,51 +0,0 @@ -/* - * 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. - * - * Author: Paulo César Pereira de Andrade - * - */ - -#include "xf86config.h" -#include "config.h" - -#ifndef _xf86cfg_screen_h -#define _xf86cfg_screen_h - -/* - * Prototypes - */ -void AddScreen(xf86cfgDevice*, xf86cfgDevice*); -void RemoveScreen(xf86cfgDevice*, xf86cfgDevice*); - -void DrawScreen(Display*, Drawable, int, int, int, int, Bool, int); -void DrawScreenMask(Display*, Drawable, GC, int, int, int, int, int); -void CreateScreenWidget(xf86cfgScreen*); -void SetScreenRotate(xf86cfgScreen*); - -void AdjustScreenUI(void); -void UpdateScreenUI(void); - -#endif /* _xf86cfg_screen_h */ diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/shorter.xbm b/xorg-server/hw/xfree86/utils/xorgcfg/shorter.xbm deleted file mode 100644 index 878f219d4..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/shorter.xbm +++ /dev/null @@ -1,8 +0,0 @@ -#define shorter_width 19 -#define shorter_height 19 -static unsigned char shorter_bits[] = { - 0x80, 0x0f, 0x00, 0x80, 0x0f, 0x00, 0x80, 0x0f, 0x00, 0xfc, 0xff, 0x01, - 0xf8, 0xff, 0x00, 0xf0, 0x7f, 0x00, 0xe0, 0x3f, 0x00, 0xc0, 0x1f, 0x00, - 0x80, 0x0f, 0x00, 0x00, 0x07, 0x00, 0x80, 0x0f, 0x00, 0xc0, 0x1f, 0x00, - 0xe0, 0x3f, 0x00, 0xf0, 0x7f, 0x00, 0xf8, 0xff, 0x00, 0xfc, 0xff, 0x01, - 0x80, 0x0f, 0x00, 0x80, 0x0f, 0x00, 0x80, 0x0f, 0x00}; diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/startx.c b/xorg-server/hw/xfree86/utils/xorgcfg/startx.c deleted file mode 100644 index 507afbf15..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/startx.c +++ /dev/null @@ -1,146 +0,0 @@ -/* - * 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. - * - * Author: Paulo César Pereira de Andrade - * - */ - -#include "config.h" -#include -#include -#include - -/* - * Initialization - */ -static int xpid; -Display *DPY; - -/* - * Implementation - */ -Bool -startx(void) -{ - int timeout = 8; - - if (getenv("DISPLAY") != NULL) - /* already running Xserver */ - return (False); - - if (XF86Config_path == NULL) { - char *home, filename[PATH_MAX]; - char commandline[PATH_MAX * 4]; - int c_pos; - int len; - /* - * The name of the 4.0 binary is XFree86. X might also - * be the name of the 3.3 binary. Therefore don't change - * name to 'X'. - */ - if (XFree86_path) - c_pos = XmuSnprintf(commandline, sizeof(commandline), - "%s/"__XSERVERNAME__" :8 -configure ",XFree86_path); - else - c_pos = XmuSnprintf(commandline, sizeof(commandline), - "%s/bin/"__XSERVERNAME__" :8 -configure ", XFree86Dir); - if (XF86Module_path && ((len = sizeof(commandline) - c_pos) > 0)) - c_pos += XmuSnprintf(commandline + c_pos,len, - " -modulepath %s",XF86Module_path); - if (XF86Font_path && ((len = sizeof(commandline) - c_pos) > 0)) - c_pos += XmuSnprintf(commandline + c_pos,len, - " -fontpath %s",XF86Font_path); - - if (system(commandline) != 0) { - fprintf(stderr, "Failed to run \"X -configure\".\n"); - exit(1); - } - - if ((home = getenv("HOME")) == NULL) - home = "/"; - -#ifndef QNX4 - XmuSnprintf(filename, sizeof(filename), "%s/"__XCONFIGFILE__".new", home); -#else - XmuSnprintf(filename, sizeof(filename), "//%d%s/"__XCONFIGFILE__".new", - getnid(), home); -#endif - - /* this memory is never released, even if the value of XF86Config_path is - * changed. - */ - XF86Config_path = XtNewString(filename); - } - - putenv("DISPLAY=:8"); - - switch (xpid = fork()) { - case 0: { - char path[PATH_MAX]; - /* Don't change to X! see above */ - if (XFree86_path) - XmuSnprintf(path, sizeof(path), "%s/"__XSERVERNAME__, XFree86_path); - else - XmuSnprintf(path, sizeof(path), "%s/bin/"__XSERVERNAME__, XFree86Dir); - execl(path, "X", ":8", /*"+xinerama",*/ "+accessx","-allowMouseOpenFail", - "-xf86config", XF86Config_path, (void *)NULL); - exit(-127); - } break; - case -1: - fprintf(stderr, "Cannot fork.\n"); - exit(1); - break; - default: - break; - } - - while (timeout > 0) { - int status; - - sleep(timeout -= 2); - if (waitpid(xpid, &status, WNOHANG | WUNTRACED) == xpid) - break; - else { - DPY = XOpenDisplay(NULL); - if (DPY != NULL) - break; - } - } - - if (DPY == NULL) { - fprintf(stderr, "Cannot connect to X server.\n"); - exit(1); - } - - return (True); -} - -void -endx(void) -{ - if (xpid != 0) - kill(xpid, SIGTERM); -} diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/stubs.c b/xorg-server/hw/xfree86/utils/xorgcfg/stubs.c deleted file mode 100644 index fdc840a7e..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/stubs.c +++ /dev/null @@ -1,65 +0,0 @@ -/* - * 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. - * - * Author: Paulo César Pereira de Andrade - * - */ - -#include -#include -#include "stubs.h" - -/* - * Implementation - */ - -#if !defined(USE_MODULES) -/* these are defined in libdummy.a */ -int -ErrorF(const char *fmt, ...) -{ - int retval; - va_list ap; - - va_start(ap, fmt); - retval = vfprintf(stderr, fmt, ap); - - va_end(ap); - - return (retval); -} - -int -VErrorF(const char *fmt, va_list ap) -{ - int retval; - - retval = vfprintf(stderr, fmt, ap); - - return (retval); -} - -#endif /* !defined(USE_MODULES) */ diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/stubs.h b/xorg-server/hw/xfree86/utils/xorgcfg/stubs.h deleted file mode 100644 index c2f9f76b0..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/stubs.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * 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. - * - * Author: Paulo César Pereira de Andrade - * - */ - -#ifndef _xf86cfg_stubs_h -#define _xf86cfg_stubs_h - -#include - -int ErrorF(const char*, ...); -int VErrorF(const char*, va_list); -#if defined(USE_MODULES) -extern int xf86Verbose; -#endif - -#endif /* _xf86cfg_stubs_h */ diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/taller.xbm b/xorg-server/hw/xfree86/utils/xorgcfg/taller.xbm deleted file mode 100644 index c779300ea..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/taller.xbm +++ /dev/null @@ -1,8 +0,0 @@ -#define taller_width 19 -#define taller_height 19 -static unsigned char taller_bits[] = { - 0x00, 0x02, 0x00, 0x00, 0x07, 0x00, 0x80, 0x0f, 0x00, 0xc0, 0x1f, 0x00, - 0xe0, 0x3f, 0x00, 0xf0, 0x7f, 0x00, 0xf8, 0xff, 0x00, 0xfc, 0xff, 0x01, - 0x80, 0x0f, 0x00, 0x80, 0x0f, 0x00, 0x80, 0x0f, 0x00, 0xfc, 0xff, 0x01, - 0xf8, 0xff, 0x00, 0xf0, 0x7f, 0x00, 0xe0, 0x3f, 0x00, 0xc0, 0x1f, 0x00, - 0x80, 0x0f, 0x00, 0x00, 0x07, 0x00, 0x00, 0x02, 0x00}; diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/text-mode.c b/xorg-server/hw/xfree86/utils/xorgcfg/text-mode.c deleted file mode 100644 index 0b6e65482..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/text-mode.c +++ /dev/null @@ -1,3379 +0,0 @@ -/* - * 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. - * - * Author: Paulo César Pereira de Andrade - * - */ - -#include -#include -#include -#if defined(__SCO__) || defined(__UNIXWARE__) || \ - (defined(sun) && defined(__SVR4)) || defined(__NetBSD__) -#include -#else -#include -#endif -#include -#include -#include -#include -#include "cards.h" -#include "config.h" -#include "xf86config.h" -#include "loader.h" - -#define IS_KBDDRIV(X) ((strcmp((X),"kbd") == 0)) - -#ifndef PROJECT_ROOT -#define PROJECT_ROOT "/usr" -#endif - -#ifndef XKB_RULES_DIR -#define XKB_RULES_DIR PROJECT_ROOT "/share/X11/xkb/rules" -#endif - -#define CONTROL_A 1 -#define CONTROL_D 4 -#define CONTROL_E 5 -#define CONTROL_K 11 -#define TAB 9 -#define MIN(a, b) ((a) < (b) ? (a) : (b)) -#define MAX(a, b) ((a) > (b) ? (a) : (b)) - -void TextMode(void); - -static void ClearScreen(void); -static void PaintWindow(WINDOW*, char*, int, int, int, int); -static void PaintBox(WINDOW*, int, int, int, int); -static void PaintButton(WINDOW*, char*, int, int, int); -static void PrintWrap(WINDOW*, char*, int, int, int); -static int Dialog(char*, char*, int, int, char*, char*, int); -static void PaintItem(WINDOW*, char*, int, int); -static int DialogMenu(char*, char*, int, int, int, int, char**, char*, char*, int); -static void PaintCheckItem(WINDOW*, char*, int, int, int); -static int DialogCheckBox(char*, char*, int, int, int, int, char**, char*, char*, char*); -static char *DialogInput(char*, char*, int, int, char*, char*, char*, int); -static void PaintScroller(WINDOW*, int, int, int); - -static int MouseConfig(void); -static int KeyboardConfig(void); -static int MonitorConfig(void); -static int CardConfig(void); -static int ScreenConfig(void); -static int LayoutConfig(void); -static int WriteXF86Config(void); - -static XF86ConfLayoutPtr CopyLayout(XF86ConfLayoutPtr); -static XF86ConfAdjacencyPtr CopyAdjacency(XF86ConfAdjacencyPtr); -static XF86ConfInputrefPtr CopyInputref(XF86ConfInputrefPtr); -static XF86ConfInactivePtr CopyInactive(XF86ConfInactivePtr); -static void FreeLayout(XF86ConfLayoutPtr); - -extern int string_to_parser_range(char*, parser_range*, int); -#define PARSER_RANGE_SIZE 256 -/* string must have at least 256 bytes */ -extern int parser_range_to_string(char*, parser_range*, int); - -static Bool newconfig; - -static chtype screen_attr = A_NORMAL; -static chtype dialog_attr = A_REVERSE; -static chtype highlight_border_attr = A_REVERSE; -static chtype shadow_border_attr = A_REVERSE; -static chtype title_attr = A_NORMAL; -static chtype button_active_attr = A_NORMAL; -static chtype button_inactive_attr = A_NORMAL; -static int menu_width, item_x; -static char Edit[] = "Edit "; - -static char *main_menu[] = { -#define CONF_MOUSE 0 - "Configure mouse", -#define CONF_KEYBOARD 1 - "Configure keyboard", -#define CONF_MONITOR 2 - "Configure monitor", -#define CONF_CARD 3 - "Configure card", -#define CONF_SCREEN 4 - "Configure screen", -#define CONF_LAYOUT 5 - "Configure layout", -#define CONF_FINISH 6 - "Write "__XCONFIGFILE__" and quit", -#define CONF_QUIT 7 - "Quit", -}; - -void -TextMode(void) -{ - static int first = 1; - int i, choice = CONF_MOUSE; - -#ifdef USE_MODULES - if (!nomodules) - LoaderInitializeOptions(); -#endif - initscr(); - noecho(); - nonl(); - keypad(stdscr, TRUE); - - if (first) { - const char *filename; - - first = 0; - - if (has_colors()) { - start_color(); - init_pair(1, COLOR_BLACK, COLOR_BLACK); - screen_attr = A_BOLD | COLOR_PAIR(1); - - init_pair(2, COLOR_BLACK, COLOR_WHITE); - dialog_attr = COLOR_PAIR(2); - - init_pair(3, COLOR_BLACK, COLOR_WHITE); - shadow_border_attr = A_BOLD | COLOR_PAIR(3); - - init_pair(4, COLOR_WHITE, COLOR_WHITE); - highlight_border_attr = A_BOLD | COLOR_PAIR(4); - - init_pair(5, COLOR_WHITE, COLOR_BLUE); - title_attr = A_BOLD | COLOR_PAIR(5); - button_active_attr = title_attr; - - init_pair(6, COLOR_WHITE, COLOR_BLACK); - button_inactive_attr = A_BOLD | COLOR_PAIR(6); - } - - if ((filename = xf86openConfigFile(getuid() == 0 ? - CONFPATH : USER_CONFPATH, - XF86Config_path, NULL)) != NULL) { - XF86Config_path = (char *)filename; - if ((XF86Config = xf86readConfigFile()) == NULL) { - ClearScreen(); - refresh(); - Dialog("Configuration error", - "Error parsing configuration file.", - 7, 50, " Ok ", NULL, 0); - } - } - if (XF86Config == NULL) { - XF86Config = (XF86ConfigPtr)XtCalloc(1, sizeof(XF86ConfigRec)); - newconfig = True; - } - else - newconfig = False; - } - - ClearScreen(); - refresh(); - - /*CONSTCOND*/ - while (1) { - int cancel = FALSE; - - ClearScreen(); - refresh(); - if (Dialog( __XSERVERNAME__" Configuration", - "This program will create the "__XCONFIGFILE__" file, based on " - "menu selections you make.\n" - "\n" -#if defined(__SCO__) || defined(__UNIXWARE__) - "The "__XCONFIGFILE__" file usually resides in /etc. A " - "sample "__XCONFIGFILE__" file is supplied with " -#else - "The "__XCONFIGFILE__" file usually resides in " PROJECT_ROOT "/etc/X11 " - "or /etc/X11. A sample "__XCONFIGFILE__" file is supplied with " -#endif - __XSERVERNAME__"; it is configured for a standard VGA card and " - "monitor with 640x480 resolution. This program will ask for " - "a pathname when it is ready to write the file.\n" - "\n" - "You can either take the sample "__XCONFIGFILE__" as a base and " - "edit it for your configuration, or let this program " - "produce a base "__XCONFIGFILE__" file for your configuration and " - "fine-tune it.", - 20, 60, " Ok ", " Cancel ", 0) != 0) - break; - - while (!cancel) { - ClearScreen(); - refresh(); - switch (DialogMenu("Main menu", - "Choose one of the options:", - 17, 60, 8, sizeof(main_menu) / - sizeof(main_menu[0]), main_menu, - " Ok ", " Cancel ", choice)) { - case CONF_MOUSE: - i = MouseConfig(); - if (i > 0 && choice == CONF_MOUSE) - choice = CONF_KEYBOARD; - else if (i == 0) - choice = CONF_MOUSE; - break; - case CONF_KEYBOARD: - i = KeyboardConfig(); - if (i > 0 && choice <= CONF_KEYBOARD) - choice = CONF_MONITOR; - else if (i == 0) - choice = CONF_KEYBOARD; - break; - case CONF_MONITOR: - i = MonitorConfig(); - if (i > 0 && choice <= CONF_MONITOR) - choice = CONF_CARD; - else if (i == 0) - choice = CONF_MONITOR; - break; - case CONF_CARD: - i = CardConfig(); - if (i > 0 && choice <= CONF_CARD) - choice = CONF_SCREEN; - else if (i == 0) - choice = CONF_CARD; - break; - case CONF_SCREEN: - i = ScreenConfig(); - if (i > 0 && choice <= CONF_SCREEN) - choice = CONF_LAYOUT; - else if (i == 0) - choice = CONF_SCREEN; - break; - case CONF_LAYOUT: - i = LayoutConfig(); - if (i > 0 && choice <= CONF_LAYOUT) - choice = CONF_FINISH; - else if (i == 0) - choice = CONF_LAYOUT; - break; - case CONF_FINISH: - if (WriteXF86Config() < 0) - break; - /*FALLTROUGH*/ - case CONF_QUIT: - endwin(); - exit(0); - default: - cancel = TRUE; - break; - } - } - } - - endwin(); -} - -static int -WriteXF86Config(void) -{ - char *xf86config; - - ClearScreen(); - refresh(); - xf86config = DialogInput("Write "__XCONFIGFILE__, "Write configuration to file:", - 10, 60, XF86Config_path ? XF86Config_path : - "/etc/X11/"__XCONFIGFILE__, " Ok ", " Cancel ", 0); - - if (xf86config == NULL) - return (-1); - - if (newconfig) { - if (XF86Config->conf_modules == NULL) { - static char *modules[] = {"extmod", "glx", "dri", "dbe", - "record", "xtrap", "type1"}; - XF86LoadPtr load; - int i; - - XF86Config->conf_modules = (XF86ConfModulePtr) - XtCalloc(1, sizeof(XF86ConfModuleRec)); - - XF86Config->conf_modules->mod_comment = - XtNewString("\tLoad \"freetype\"\n" - "\t# Load \"xtt\"\n"); - - for (i = 0; i < sizeof(modules) / sizeof(modules[0]); i++) { - load = (XF86LoadPtr)XtCalloc(1, sizeof(XF86LoadRec)); - load->load_name = XtNewString(modules[i]); - XF86Config->conf_modules->mod_load_lst = - xf86addModule(XF86Config->conf_modules->mod_load_lst, load); - } - } - } - - if (!xf86writeConfigFile(xf86config, XF86Config)) { - char msg[1024]; - - XmuSnprintf(msg, sizeof(msg), "Failed to write configuration file %s.", - xf86config); - ClearScreen(); - refresh(); - (void)Dialog("Write failed!", msg, 8, 60, " Ok ", NULL, 0); - XtFree(xf86config); - return (-1); - } - XtFree(xf86config); - - return (1); -} - -static char *protocols[] = { -#ifdef __SCO__ - "OsMouse", -#endif -#ifdef WSCONS_SUPPORT - "wsmouse", -#endif - "Auto", - "SysMouse", - "MouseSystems", - "BusMouse", - "PS/2", - "Microsoft", -#ifndef __FreeBSD__ - "ImPS/2", - "ExplorerPS/2", - "GlidePointPS/2", - "MouseManPlusPS/2", - "NetMousePS/2", - "NetScrollPS/2", - "ThinkingMousePS/2", -#endif - "AceCad", - "GlidePoint", - "IntelliMouse", - "Logitech", - "MMHitTab", - "MMSeries", - "MouseMan", - "ThinkingMouse", -}; - -static int -MouseConfig(void) -{ - int i, nlist, def, proto, emul; - char **list = NULL, *device, *str; - XF86ConfInputPtr *inputs = NULL; - XF86ConfInputPtr input = XF86Config->conf_input_lst; - XF86OptionPtr option; - - nlist = 0; - while (input) { - if (strcmp(input->inp_driver, "mouse") == 0) { - list = (char**)XtRealloc((XtPointer)list, (nlist + 1) * sizeof(char*)); - list[nlist] = XtMalloc(sizeof(Edit) + - strlen(input->inp_identifier) + 1); - sprintf(list[nlist], "%s%s", Edit, input->inp_identifier); - inputs = (XF86ConfInputPtr*)XtRealloc((XtPointer)inputs, (nlist + 1) * - sizeof(XF86ConfInputPtr)); - inputs[nlist] = input; - ++nlist; - } - input = (XF86ConfInputPtr)(input->list.next); - } - - input = NULL; - - if (nlist) { - list = (char**)XtRealloc((XtPointer)list, (nlist + 2) * sizeof(char*)); - list[nlist++] = XtNewString("Add new mouse"); - if (nlist == 2) { - i = strlen("Remove ") + strlen(inputs[0]->inp_identifier) + 1; - list[nlist] = XtMalloc(i); - XmuSnprintf(list[nlist], i, "Remove %s", inputs[0]->inp_identifier); - ++nlist; - } - else - list[nlist++] = XtNewString("Remove mouse"); - ClearScreen(); - refresh(); - i = DialogMenu("Mouse configuration", - "You can edit or remove a previously configured mouse, " - "or add a new one.", 14, 60, 4, nlist, list, - " Ok ", " Cancel ", 0); - if (i < 0) { - for (i = 0; i < nlist; i++) - XtFree(list[i]); - XtFree((XtPointer)list); - XtFree((XtPointer)inputs); - return (-1); - } - if (nlist > 2 && i == nlist - 1) { - if (nlist > 3) { - for (i = 0; i < nlist - 2; i++) { - /* XXX Remove the "Edit " from list entries */ - memmove(list[i], list[i] + sizeof(Edit) - 1, - strlen(list[i]) - sizeof(Edit) + 2); - } - ClearScreen(); - refresh(); - i = DialogMenu("Remove mouse", - "Select which mouse to remove", - 13, 60, 4, nlist - 2, list, - " Remove ", " Cancel ", 0); - if (i < 0) { - for (i = 0; i < nlist; i++) - XtFree(list[i]); - XtFree((XtPointer)list); - XtFree((XtPointer)inputs); - return (-1); - } - input = inputs[i]; - } - else - input = inputs[0]; - for (i = 0; i < nlist; i++) - XtFree(list[i]); - XtFree((XtPointer)list); - XtFree((XtPointer)inputs); - xf86removeInput(XF86Config, input); - return (0); - } - if (i < nlist - 2) - input = inputs[i]; - } - for (i = 0; i < nlist; i++) - XtFree(list[i]); - XtFree((XtPointer)list); - XtFree((XtPointer)inputs); - - if (input == NULL) { - char label[32]; - - input = (XF86ConfInputPtr)XtCalloc(1, sizeof(XF86ConfInputRec)); - XmuSnprintf(label, sizeof(label), "Mouse%d", nlist ? nlist - 2 : 0); - ClearScreen(); - refresh(); - input->inp_identifier = - DialogInput("Mouse identifier", - "Enter an identifier for your mouse definition:", - 11, 40, label, - " Next >>", " Cancel ", 0); - if (input->inp_identifier == NULL) { - XtFree((XtPointer)input); - return (-1); - } - } - - def = 0; - option = xf86findOption(input->inp_option_lst, "Protocol"); - if (option) - for (i = 0; i < sizeof(protocols)/sizeof(protocols[0]); i++) - if (strcasecmp(option->opt_val, protocols[i]) == 0) { - def = i; - break; - } - - ClearScreen(); - refresh(); - i = DialogMenu("Select mouse protocol", - "If you have a serial mouse, it probably will work with " - "the \"Auto\" protocol. But, if it is an old serial " - "mouse probably it is not PNP; in that case, most serial " - "mouses understand the \"Microsoft\" protocol.", - 19, 60, 7, sizeof(protocols) / - sizeof(protocols[0]), protocols, " Next >>", " Cancel ", def); - if (i < 0) { - if (input->inp_driver == NULL) { - XtFree(input->inp_driver); - XtFree((XtPointer)input); - } - return (i); - } - proto = i; - - def = 0; - if (input->inp_driver) { - option = xf86findOption(input->inp_option_lst, "Emulate3Buttons"); - def = option ? 0 : 1; - } - ClearScreen(); - refresh(); - i = Dialog("Mouse 3 buttons emulation", - "If your mouse has only two buttons, it is recommended that " - "you enable Emulate3Buttons.\n" - "\n" - "Do you want to enable Emulate3Buttons?", - 10, 60, " Yes ", " No ", def); - if (i < 0) - return (i); - emul = !i; - - str = NULL; - option = xf86findOption(input->inp_option_lst, "Device"); - if (option) - str = option->opt_val; - if (str == NULL) -#ifdef WSCONS_SUPPORT - str = "/dev/wsmouse"; -#elif defined(__FreeBSD__) || defined(__DragonFly__) - str = "/dev/sysmouse"; -#elif defined(__linux__) - str = "/dev/input/mice"; -#else - str = "/dev/mouse"; -#endif - - ClearScreen(); - refresh(); - device = DialogInput("Select mouse device", - "Enter mouse device:", 10, 40, str, - " Finish ", " Cancel ", 0); - if (device == NULL) { - if (input->inp_driver == NULL) { - XtFree(input->inp_driver); - XtFree((XtPointer)input); - } - return (-1); - } - - /* Finish mouse configuration */ - option = xf86findOption(input->inp_option_lst, "Protocol"); - if (option) { - XtFree((XtPointer)option->opt_val); - option->opt_val = XtNewString(protocols[proto]); - } - else - input->inp_option_lst = xf86addNewOption(input->inp_option_lst, - XtNewString("Protocol"), XtNewString(protocols[proto])); - - option = xf86findOption(input->inp_option_lst, "Emulate3Buttons"); - if (option && !emul) { - xf86removeOption(&input->inp_option_lst, "Emulate3Buttons"); - } - else if (option == NULL && emul) - input->inp_option_lst = xf86addNewOption(input->inp_option_lst, - XtNewString("Emulate3Buttons"), NULL); - - option = xf86findOption(input->inp_option_lst, "Device"); - if (option) { - XtFree((XtPointer)option->opt_val); - option->opt_val = device; - } - else - input->inp_option_lst = xf86addNewOption(input->inp_option_lst, - XtNewString("Device"), device); - - if (input->inp_driver == NULL) { - input->inp_driver = XtNewString("mouse"); - XF86Config->conf_input_lst = - xf86addInput(XF86Config->conf_input_lst, input); - } - - return (1); -} - -static int -KeyboardConfig(void) -{ - int i; - char *rulesfile; - static int first = 1; - static XkbRF_RulesPtr rules; - static char **models, **layouts; - XF86ConfInputPtr *inputs = NULL, input = XF86Config->conf_input_lst; - char **list = NULL, *model, *layout; - int nlist, def; - XF86OptionPtr option; - - nlist = 0; - while (input) { - if (IS_KBDDRIV(input->inp_driver)) { - list = (char**)XtRealloc((XtPointer)list, (nlist + 1) * sizeof(char*)); - list[nlist] = XtMalloc(sizeof(Edit) + - strlen(input->inp_identifier) + 1); - sprintf(list[nlist], "%s%s", Edit, input->inp_identifier); - inputs = (XF86ConfInputPtr*)XtRealloc((XtPointer)inputs, (nlist + 1) * - sizeof(XF86ConfInputPtr)); - inputs[nlist] = input; - ++nlist; - } - input = (XF86ConfInputPtr)(input->list.next); - } - - input = NULL; - - if (nlist) { - list = (char**)XtRealloc((XtPointer)list, (nlist + 2) * sizeof(char*)); - list[nlist++] = XtNewString("Add new keyboard"); - if (nlist == 2) { - i = strlen("Remove ") + strlen(inputs[0]->inp_identifier) + 1; - list[nlist] = XtMalloc(i); - XmuSnprintf(list[nlist], i, "Remove %s", inputs[0]->inp_identifier); - ++nlist; - } - else - list[nlist++] = XtNewString("Remove keyboard"); - ClearScreen(); - refresh(); - i = DialogMenu("Keyboard configuration", - "You can edit or remove a previously configured " - "keyboard, or add a new one.", 14, 60, 4, nlist, list, - " Ok ", " Cancel ", 0); - if (i < 0) { - for (i = 0; i < nlist; i++) - XtFree(list[i]); - XtFree((XtPointer)list); - XtFree((XtPointer)inputs); - return (-1); - } - if (nlist > 2 && i == nlist - 1) { - if (nlist > 3) { - for (i = 0; i < nlist - 2; i++) { - /* XXX Remove the "Edit " from list entries */ - memmove(list[i], list[i] + sizeof(Edit) - 1, - strlen(list[i]) - sizeof(Edit) + 2); - } - ClearScreen(); - refresh(); - i = DialogMenu("Remove keyboard", - "Select which keyboard to remove", - 13, 60, 4, nlist - 2, list, - " Remove ", " Cancel ", 0); - if (i < 0) { - for (i = 0; i < nlist; i++) - XtFree(list[i]); - XtFree((XtPointer)list); - XtFree((XtPointer)inputs); - return (-1); - } - input = inputs[i]; - } - else - input = inputs[0]; - for (i = 0; i < nlist; i++) - XtFree(list[i]); - XtFree((XtPointer)list); - XtFree((XtPointer)inputs); - xf86removeInput(XF86Config, input); - return (0); - } - if (i < nlist - 2) - input = inputs[i]; - } - for (i = 0; i < nlist; i++) - XtFree(list[i]); - XtFree((XtPointer)list); - XtFree((XtPointer)inputs); - - if (input == NULL) { - char label[32]; - - input = (XF86ConfInputPtr)XtCalloc(1, sizeof(XF86ConfInputRec)); - XmuSnprintf(label, sizeof(label), "Keyboard%d", nlist ? nlist - 2 : 0); - ClearScreen(); - refresh(); - input->inp_identifier = - DialogInput("Keyboard identifier", - "Enter an identifier for your keyboard definition:", - 11, 40, label, - " Next >>", " Cancel ", 0); - if (input->inp_identifier == NULL) { - XtFree((XtPointer)input); - return (-1); - } - } - - if (first) { - first = 0; -#ifdef XFREE98_XKB - rulesfile = XKB_RULES_DIR "/xfree98"; -#else - rulesfile = XKB_RULES_DIR "/"__XKBDEFRULES__; -#endif - rules = XkbRF_Load(rulesfile, "", True, False); - if (rules == NULL) { - ClearScreen(); - refresh(); - Dialog("Configuration error", - "XKB rules file not found.\n" - "\n" - "Keyboard XKB options will be set to default values.", - 10, 50, " Ok ", NULL, 0); - if (input->inp_driver == NULL) { - input->inp_option_lst = - xf86addNewOption(input->inp_option_lst, - XtNewString("XkbModel"), XtNewString("pc101")); - input->inp_option_lst = - xf86addNewOption(input->inp_option_lst, - XtNewString("XkbLayout"), XtNewString("us")); - input->inp_driver = XtNewString("kbd"); - XF86Config->conf_input_lst = - xf86addInput(XF86Config, input); - } - return (0); - } - models = (char**)XtMalloc(sizeof(char*) * rules->models.num_desc); - for (i = 0; i < rules->models.num_desc; i++) - models[i] = XtNewString(rules->models.desc[i].desc); - layouts = (char**)XtMalloc(sizeof(char*) * rules->layouts.num_desc); - for (i = 0; i < rules->layouts.num_desc; i++) - layouts[i] = XtNewString(rules->layouts.desc[i].desc); - } - else if (rules == NULL) - return (-1); - - def = 0; - option = xf86findOption(input->inp_option_lst, "XkbModel"); - if (option) { - for (i = 0; i < rules->models.num_desc; i++) - if (strcasecmp(option->opt_val, rules->models.desc[i].name) == 0) { - def = i; - break; - } - } - ClearScreen(); - refresh(); - i = DialogMenu("Keyboard model", - "Please select one of the following keyboard types that is " - "the better description of your keyboard. If nothing really " - "matches, choose \"Generic 101-key PC\".\n", - 20, 60, 9, rules->models.num_desc, - models, " Next >>", " Cancel ", def); - if (i < 0) - return (i); - model = rules->models.desc[i].name; - - def = 0; - option = xf86findOption(input->inp_option_lst, "XkbLayout"); - if (option) { - for (i = 0; i < rules->layouts.num_desc; i++) - if (strcasecmp(option->opt_val, rules->layouts.desc[i].name) == 0) { - def = i; - break; - } - } - ClearScreen(); - refresh(); - i = DialogMenu("Keyboard layout", - "Select keyboard layout:", - 20, 60, 11, rules->layouts.num_desc, - layouts, " Finish ", " Cancel ", def); - if (i < 0) - return (i); - layout = rules->layouts.desc[i].name; - - /* Finish keyboard configuration */ - option = xf86findOption(input->inp_option_lst, "XkbModel"); - if (option) { - XtFree((XtPointer)option->opt_val); - option->opt_val = XtNewString(model); - } - else - input->inp_option_lst = xf86addNewOption(input->inp_option_lst, - XtNewString("XkbModel"), XtNewString(model)); - - option = xf86findOption(input->inp_option_lst, "XkbLayout"); - if (option) { - XtFree((XtPointer)option->opt_val); - option->opt_val = XtNewString(layout); - } - else - input->inp_option_lst = xf86addNewOption(input->inp_option_lst, - XtNewString("XkbLayout"), XtNewString(layout)); - - if (input->inp_driver == NULL) { - input->inp_driver = XtNewString("kbd"); - XF86Config->conf_input_lst = - xf86addInput(XF86Config->conf_input_lst, input); - } - - return (1); -} - -static char *hsync[] = { -#define CONF_MONITOR_HSYNC 0 - "Enter your own horizontal sync range", - "31.5; Standard VGA, 640x480 @ 60 Hz", - "31.5 - 35.1; Super VGA, 800x600 @ 56 Hz", - "31.5, 35.5; 8514 Compatible, 1024x768 @ 87 Hz interlaced (no 800x600)", - "31.5, 35.15, 35.5; Super VGA, 1024x768 @ 87 Hz int., 800x600 @ 56 Hz", - "31.5 - 37.9; Extended Super VGA, 800x600 @ 60 Hz, 640x480 @ 72 Hz", - "31.5 - 48.5; Non-Interlaced SVGA, 1024x768 @ 60 Hz, 800x600 @ 72 Hz", - "31.5 - 57.0; High Frequency SVGA, 1024x768 @ 70 Hz", - "31.5 - 64.3; Monitor that can do 1280x1024 @ 60 Hz", - "31.5 - 79.0; Monitor that can do 1280x1024 @ 74 Hz", - "31.5 - 82.0; Monitor that can do 1280x1024 @ 76 Hz", - "31.5 - 92.0; Monitor that can do 1280x1024 @ 85 Hz", - "31.5 - 108.0; Monitor that can do 1600x1200 @ 85 Hz", - "31.5 - 128.5; Monitor that can do 1920x1440 @ 85 Hz", - "31.5 - 137.0; Monitor that can do 2048x1536 @ 85 Hz" -}; - -static char *vrefresh[] = { -#define CONF_MONITOR_VREFRESH 0 - "Enter your own vertical sync range", - "50 - 70", - "50 - 90", - "50 - 100", - "40 - 150", -}; - -static int -MonitorConfig(void) -{ - int i; - XF86ConfMonitorPtr *monitors = NULL, monitor = XF86Config->conf_monitor_lst; - char **list = NULL, *identifier = NULL, *tmp; - int nlist, def; - char hsync_str[256], vrefresh_str[256]; - - hsync_str[0] = vrefresh_str[0] = '\0'; - nlist = 0; - while (monitor) { - list = (char**)XtRealloc((XtPointer)list, (nlist + 1) * sizeof(char*)); - list[nlist] = XtMalloc(sizeof(Edit) + - strlen(monitor->mon_identifier) + 1); - sprintf(list[nlist], "%s%s", Edit, monitor->mon_identifier); - monitors = (XF86ConfMonitorPtr*)XtRealloc((XtPointer)monitors, (nlist + 1) * - sizeof(XF86ConfMonitorPtr)); - monitors[nlist] = monitor; - ++nlist; - monitor = (XF86ConfMonitorPtr)(monitor->list.next); - } - - monitor = NULL; - - if (nlist) { - list = (char**)XtRealloc((XtPointer)list, (nlist + 2) * sizeof(char*)); - list[nlist++] = XtNewString("Add new monitor"); - if (nlist == 2) { - i = strlen("Remove ") + strlen(monitors[0]->mon_identifier) + 1; - list[nlist] = XtMalloc(i); - XmuSnprintf(list[nlist], i, "Remove %s", monitors[0]->mon_identifier); - ++nlist; - } - else - list[nlist++] = XtNewString("Remove monitor"); - ClearScreen(); - refresh(); - i = DialogMenu("Monitor configuration", - "You can edit or remove a previously configured " - "monitor, or add a new one.", 14, 60, 4, nlist, list, - " Ok ", " Cancel ", 0); - if (i < 0) { - for (i = 0; i < nlist; i++) - XtFree(list[i]); - XtFree((XtPointer)list); - XtFree((XtPointer)monitors); - return (-1); - } - if (nlist > 2 && i == nlist - 1) { - if (nlist > 3) { - for (i = 0; i < nlist - 2; i++) { - /* XXX Remove the "Edit " from list entries */ - memmove(list[i], list[i] + sizeof(Edit) - 1, - strlen(list[i]) - sizeof(Edit) + 2); - } - ClearScreen(); - refresh(); - i = DialogMenu("Remove monitor", - "Select which monitor to remove", - 13, 60, 4, nlist - 2, list, - " Remove ", " Cancel ", 0); - if (i < 0) { - for (i = 0; i < nlist; i++) - XtFree(list[i]); - XtFree((XtPointer)list); - XtFree((XtPointer)monitors); - return (-1); - } - monitor = monitors[i]; - } - else - monitor = monitors[0]; - for (i = 0; i < nlist; i++) - XtFree(list[i]); - XtFree((XtPointer)list); - XtFree((XtPointer)monitors); - xf86removeMonitor(XF86Config, monitor); - return (0); - } - if (i < nlist - 2) - monitor = monitors[i]; - } - for (i = 0; i < nlist; i++) - XtFree(list[i]); - XtFree((XtPointer)list); - XtFree((XtPointer)monitors); - - if (monitor == NULL) { - char label[32]; - - monitor = (XF86ConfMonitorPtr)XtCalloc(1, sizeof(XF86ConfMonitorRec)); - XmuSnprintf(label, sizeof(label), "Monitor%d", nlist ? nlist - 2 : 0); - ClearScreen(); - refresh(); - identifier = - DialogInput("Monitor identifier", - "Enter an identifier for your monitor definition:", - 11, 40, label, - " Next >>", " Cancel ", 0); - if (identifier == NULL) { - XtFree((XtPointer)monitor); - return (-1); - } - } - - if (monitor->mon_identifier == NULL) { - ClearScreen(); - refresh(); - i = Dialog("Monitor configuration", - "Now we want to set the specifications of the monitor. The " - "two critical parameters are the vertical refresh rate, which " - "is the rate at which the whole screen is refreshed, and most " - "importantly the horizontal sync rate, which is the rate at " - "which scanlines are displayed.\n" - "\n" - "The valid range for horizontal sync and vertical sync should " - "be documented in the manual of your monitor.", - 15, 60, " Next >>", " Cancel ", 0); - if (i != 0) { - XtFree(identifier); - XtFree((XtPointer)monitor); - return (-1); - } - } - - def = 0; - if (monitor->mon_identifier) { - int len; - - parser_range_to_string(hsync_str, &(monitor->mon_hsync[0]), - monitor->mon_n_hsync); - len = strlen(hsync_str); - for (i = 1; i < sizeof(hsync) / sizeof(hsync[0]); i++) { - tmp = strchr(hsync[i], ';'); - if (strncmp(hsync_str, hsync[i], len) == 0) { - def = i; - break; - } - } - } - if (hsync_str[0] == '\0') - strcpy(hsync_str, "31.5"); - - ClearScreen(); - refresh(); - i = DialogMenu("Monitor HorizSync", - "You must indicate the horizontal sync range of your " - "monitor. You can either select one of the predefined " - "ranges below that correspond to industry-standard monitor " - "types, or give a specific range.", - 22, 78, 11, sizeof(hsync) / - sizeof(hsync[0]), hsync, " Next >>", " Cancel ", def); - if (i < 0) { - if (monitor->mon_identifier == NULL) { - XtFree(identifier); - XtFree((XtPointer)monitor); - } - return (-1); - } - if (i == CONF_MONITOR_HSYNC) { - ClearScreen(); - refresh(); - tmp = DialogInput("Monitor HorizSync", - "Please enter the horizontal sync range of your " - "monitor, in the format used in the table of monitor " - "types above. You can either specify one or more " - "continuous ranges (e.g. 15-25, 30-50), or one or more " - "fixed sync frequencies.\n" - "\n" - "Horizontal sync range:", 16, 62, hsync_str, - " Ok ", " Cancel ", def); - if (tmp == NULL) { - if (monitor->mon_identifier == NULL) { - XtFree(identifier); - XtFree((XtPointer)monitor); - } - return (-1); - } - XmuSnprintf(hsync_str, sizeof(hsync_str), "%s", tmp); - XtFree(tmp); - } - else { - tmp = strchr(hsync[i], ';'); - strncpy(hsync_str, hsync[i], tmp - hsync[i]); - hsync_str[tmp - hsync[i]] = '\0'; - } - - def = 0; - if (monitor->mon_identifier) { - parser_range_to_string(vrefresh_str, &(monitor->mon_vrefresh[0]), - monitor->mon_n_vrefresh); - for (i = 1; i < sizeof(vrefresh) / sizeof(vrefresh[0]); i++) { - if (strcmp(vrefresh_str, vrefresh[i]) == 0) { - def = i; - break; - } - } - } - if (vrefresh_str[0] == '\0') - strcpy(vrefresh_str, "50 - 70"); - ClearScreen(); - refresh(); - i = DialogMenu("Monitor VertRefresh", - "You must indicate the vertical sync range of your monitor. " - "You can either select one of the predefined ranges below " - "that correspond to industry-standard monitor types, or " - "give a specific range. For interlaced modes, the number " - "that counts is the high one (e.g. 87 Hz rather than 43 Hz).", - 19, 60, 5, sizeof(vrefresh) / - sizeof(vrefresh[0]), vrefresh, " Finish ", " Cancel ", def); - if (i < 0) { - if (monitor->mon_identifier == NULL) { - XtFree(identifier); - XtFree((XtPointer)monitor); - } - return (i); - } - if (i == CONF_MONITOR_VREFRESH) { - ClearScreen(); - refresh(); - tmp = DialogInput("Monitor VertRefresh", - "Vertical sync range:", 10, 50, vrefresh_str, - " Done ", " Cancel ", 0); - if (tmp == NULL) { - if (monitor->mon_identifier == NULL) { - XtFree(identifier); - XtFree((XtPointer)monitor); - } - return (-1); - } - XmuSnprintf(vrefresh_str, sizeof(vrefresh_str), "%s", tmp); - XtFree(tmp); - } - else - strcpy(vrefresh_str, vrefresh[i]); - - /* Finish monitor configuration */ - monitor->mon_n_hsync = string_to_parser_range(hsync_str, - &(monitor->mon_hsync[0]), CONF_MAX_HSYNC); - monitor->mon_n_vrefresh = string_to_parser_range(vrefresh_str, - &(monitor->mon_vrefresh[0]), CONF_MAX_VREFRESH); - if (monitor->mon_identifier == NULL) { - monitor->mon_identifier = identifier; - XF86Config->conf_monitor_lst = - xf86addMonitor(XF86Config->conf_monitor_lst, monitor); - } - - return (1); -} - -static int -CardConfig(void) -{ - int i; - XF86ConfDevicePtr *devices = NULL, device = XF86Config->conf_device_lst; - char **list = NULL, *identifier = NULL, *driver, *busid, *tmp; - int nlist, def; - CardsEntry *entry = NULL; - static char **drivers; - static int ndrivers; - static char *xdrivers[] = { - "apm", - "ark", - "ast", - "ati", - "r128", - "radeon", - "chips", - "cirrus", - "cyrix", - "fbdev", - "glint", - "i128", - "i740", - "i810", - "imstt", - "mga", - "neomagic", - "nv", - "rendition", - "s3", - "s3virge", - "savage", - "siliconmotion", - "sis", - "tdfx", - "tga", - "trident", - "tseng", - "vmware", - "vga", - "vesa", - }; - -#ifdef USE_MODULES - if (!nomodules) { - xf86cfgModuleOptions *opts = module_options; - - drivers = NULL; - ndrivers = 0; - while (opts) { - if (opts->type == VideoModule) { - ++ndrivers; - drivers = (char**)XtRealloc((XtPointer)drivers, - ndrivers * sizeof(char*)); - /* XXX no private copy */ - drivers[ndrivers - 1] = opts->name; - } - opts = opts->next; - } - } - else -#endif - { - ndrivers = sizeof(xdrivers) / sizeof(xdrivers[0]); - drivers = xdrivers; - } - - nlist = 0; - while (device) { - list = (char**)XtRealloc((XtPointer)list, (nlist + 1) * sizeof(char*)); - list[nlist] = XtMalloc(sizeof(Edit) + - strlen(device->dev_identifier) + 1); - sprintf(list[nlist], "%s%s", Edit, device->dev_identifier); - devices = (XF86ConfDevicePtr*)XtRealloc((XtPointer)devices, (nlist + 1) * - sizeof(XF86ConfDevicePtr)); - devices[nlist] = device; - ++nlist; - device = (XF86ConfDevicePtr)(device->list.next); - } - - device = NULL; - - if (nlist) { - list = (char**)XtRealloc((XtPointer)list, (nlist + 2) * sizeof(char*)); - list[nlist++] = XtNewString("Add new card"); - if (nlist == 2) { - i = strlen("Remove ") + strlen(devices[0]->dev_identifier) + 1; - list[nlist] = XtMalloc(i); - XmuSnprintf(list[nlist], i, "Remove %s", devices[0]->dev_identifier); - ++nlist; - } - else - list[nlist++] = XtNewString("Remove device"); - ClearScreen(); - refresh(); - i = DialogMenu("Card configuration", - "You can edit or remove a previously configured " - "card, or add a new one.", 14, 60, 4, nlist, list, - " Ok ", " Cancel ", 0); - if (i < 0) { - for (i = 0; i < nlist; i++) - XtFree(list[i]); - XtFree((XtPointer)list); - XtFree((XtPointer)devices); - return (-1); - } - if (nlist > 2 && i == nlist - 1) { - if (nlist > 3) { - for (i = 0; i < nlist - 2; i++) { - /* XXX Remove the "Edit " from list entries */ - memmove(list[i], list[i] + sizeof(Edit) - 1, - strlen(list[i]) - sizeof(Edit) + 2); - } - ClearScreen(); - refresh(); - i = DialogMenu("Remove card", - "Select which card to remove", - 13, 60, 4, nlist - 2, list, - " Remove ", " Cancel ", 0); - if (i < 0) { - for (i = 0; i < nlist; i++) - XtFree(list[i]); - XtFree((XtPointer)list); - XtFree((XtPointer)devices); - return (-1); - } - device = devices[i]; - } - else - device = devices[0]; - for (i = 0; i < nlist; i++) - XtFree(list[i]); - XtFree((XtPointer)list); - XtFree((XtPointer)devices); - xf86removeDevice(XF86Config, device); - return (0); - } - if (i < nlist - 2) - device = devices[i]; - } - for (i = 0; i < nlist; i++) - XtFree(list[i]); - XtFree((XtPointer)list); - XtFree((XtPointer)devices); - - if (device == NULL) { - char label[32]; - - device = (XF86ConfDevicePtr)XtCalloc(1, sizeof(XF86ConfDeviceRec)); - device->dev_chipid = device->dev_chiprev = device->dev_irq = -1; - XmuSnprintf(label, sizeof(label), "Card%d", nlist ? nlist - 2 : 0); - ClearScreen(); - refresh(); - identifier = - DialogInput("Card identifier", - "Enter an identifier for your card definition:", - 11, 40, label, - " Next >>", " Cancel ", 0); - if (identifier == NULL) { - XtFree((XtPointer)device); - return (-1); - } - } - - ClearScreen(); - refresh(); - if (Dialog("Card configuration", - "Now we must configure video card specific settings. At this " - "point you can choose to make a selection out of a database of " - "video card definitions.\n" - "\n" - "The database entries include information about the chipset, " - "what driver to run, the Ramdac and ClockChip, and comments " - "that will be included in the Device section. However, a lot " - "of definitions only hint about what driver to run (based on " - "the chipset the card uses) and are untested.\n" - "\n" - "Do you want to look at the card database?", - 18, 60, " Yes ", " No ", device->dev_identifier != NULL) == 0) { - static char **cards; - static int ncards; - - if (cards == NULL) { - ReadCardsDatabase(); - cards = GetCardNames(&ncards); - cards = (char**)XtRealloc((XtPointer)cards, - (ncards + 1) * sizeof(char*)); - for (i = ncards; i > 0; i--) - cards[i] = cards[i - 1]; - cards[0] = "** Unlisted card **"; - ++ncards; - } - if (device->dev_card) - entry = LookupCard(device->dev_card); - def = 0; - if (entry) { - for (i = 0; i < NumCardsEntry; i++) - if (strcasecmp(CardsDB[i]->name, entry->name) == 0) { - def = i + 1; - break; - } - /* make sure entry is set to null again */ - entry = NULL; - } - - i = DialogMenu("Card database", - "Select name that better matches your card:", - 20, 70, 11, ncards, cards, "Next >>", " Cancel ", def); - if (i > 0) - entry = LookupCard(cards[i]); - } - - def = 0; - tmp = device->dev_driver ? device->dev_driver : entry && entry->driver ? - entry->driver : "vga"; - for (i = 0; i < ndrivers; i++) - if (strcmp(drivers[i], tmp) == 0) { - def = i; - break; - } - - ClearScreen(); - refresh(); - i = DialogMenu("Card driver", - "You can select the driver for your card here, or just press " - "Enter to use the default/current:", 20, 50, 9, - ndrivers, drivers, " Ok ", " Cancel ", def); - if (i < 0) { - if (device->dev_identifier == NULL) { - XtFree(identifier); - XtFree((XtPointer)device); - } - return (-1); - } - driver = ndrivers ? drivers[i] : "vga"; - - ClearScreen(); - refresh(); - tmp = device->dev_busid ? device->dev_busid : ""; - busid = DialogInput("Card BusID", - "You normally does not need to fill this field " - "if you have only one video card:", 11, 50, tmp, - " Finish ", " Cancel ", 0); - - /* Finish card configuration */ - if (entry) { - XtFree(device->dev_card); - device->dev_card = XtNewString(entry->name); - if (entry->chipset) { - XtFree(device->dev_chipset); - device->dev_chipset = XtNewString(entry->chipset); - } - if (entry->ramdac) { - XtFree(device->dev_ramdac); - device->dev_ramdac = XtNewString(entry->ramdac); - } - if (entry->clockchip) { - XtFree(entry->clockchip); - device->dev_clockchip = XtNewString(entry->clockchip); - } - } - if (busid) { - XtFree(device->dev_busid); - if (*busid) - device->dev_busid = busid; - else { - device->dev_busid = NULL; - XtFree(busid); - } - } - XtFree(device->dev_driver); - device->dev_driver = XtNewString(driver); - if (device->dev_identifier == NULL) { - device->dev_identifier = identifier; - XF86Config->conf_device_lst = - xf86addDevice(XF86Config->conf_device_lst, device); - } - - return (1); -} - -static char *depths[] = { - "1 bit, monochrome", - "4 bit, 16 colors", - "8 bit, 256 colors", - "15 bits, 32Kb colors", - "16 bits, 65Kb colors", - "24 bits, 16Mb colors", -}; - -static char *modes[] = { - "2048x1536", - "1920x1440", - "1800x1400", - "1600x1200", - "1400x1050", - "1280x1024", - "1280x960", - "1152x864", - "1024x768", - "800x600", - "640x480", - "640x400", - "512x384", - "400x300", - "320x240", - "320x200", -}; - -static int -ScreenConfig(void) -{ - int i, disp_allocated; - XF86ConfScreenPtr *screens = NULL, screen = XF86Config->conf_screen_lst; - char **list = NULL, *identifier = NULL; - int nlist, def; - XF86ConfDevicePtr device = NULL; - XF86ConfMonitorPtr monitor = NULL; - XF86ConfDisplayPtr display; - XF86ModePtr mode, ptr = NULL; - char *checks; - - nlist = 0; - while (screen) { - list = (char**)XtRealloc((XtPointer)list, (nlist + 1) * sizeof(char*)); - list[nlist] = XtMalloc(sizeof(Edit) + - strlen(screen->scrn_identifier) + 1); - sprintf(list[nlist], "%s%s", Edit, screen->scrn_identifier); - screens = (XF86ConfScreenPtr*)XtRealloc((XtPointer)screens, (nlist + 1) * - sizeof(XF86ConfScreenPtr)); - screens[nlist] = screen; - ++nlist; - screen = (XF86ConfScreenPtr)(screen->list.next); - } - - screen = NULL; - - if (nlist) { - list = (char**)XtRealloc((XtPointer)list, (nlist + 2) * sizeof(char*)); - list[nlist++] = XtNewString("Add new screen"); - if (nlist == 2) { - i = strlen("Remove ") + strlen(screens[0]->scrn_identifier) + 1; - list[nlist] = XtMalloc(i); - XmuSnprintf(list[nlist], i, "Remove %s", screens[0]->scrn_identifier); - ++nlist; - } - else - list[nlist++] = XtNewString("Remove screen"); - ClearScreen(); - refresh(); - i = DialogMenu("Screen configuration", - "You can edit or remove a previously configured " - "screen, or add a new one.", 14, 60, 4, nlist, list, - " Ok ", " Cancel ", 0); - if (i < 0) { - for (i = 0; i < nlist; i++) - XtFree(list[i]); - XtFree((XtPointer)list); - XtFree((XtPointer)screens); - return (-1); - } - if (nlist > 2 && i == nlist - 1) { - if (nlist > 3) { - for (i = 0; i < nlist - 2; i++) { - /* XXX Remove the "Edit " from list entries */ - memmove(list[i], list[i] + sizeof(Edit) - 1, - strlen(list[i]) - sizeof(Edit) + 2); - } - ClearScreen(); - refresh(); - i = DialogMenu("Remove screen", - "Select which screen to remove", - 13, 60, 4, nlist - 2, list, - " Remove ", " Cancel ", 0); - if (i < 0) { - for (i = 0; i < nlist; i++) - XtFree(list[i]); - XtFree((XtPointer)list); - XtFree((XtPointer)screens); - return (-1); - } - screen = screens[i]; - } - else - screen = screens[0]; - for (i = 0; i < nlist; i++) - XtFree(list[i]); - XtFree((XtPointer)list); - XtFree((XtPointer)screens); - xf86removeScreen(XF86Config, screen); - return (0); - } - if (i < nlist - 2) - screen = screens[i]; - } - for (i = 0; i < nlist; i++) - XtFree(list[i]); - XtFree((XtPointer)list); - XtFree((XtPointer)screens); - - if (screen == NULL) { - char label[256]; - XF86ConfDevicePtr *devices = NULL; - XF86ConfMonitorPtr *monitors = NULL; - - device = XF86Config->conf_device_lst; - monitor = XF86Config->conf_monitor_lst; - - if (device == NULL || monitor == NULL) { - ClearScreen(); - refresh(); - Dialog("Configuration error", - "You need to configure (at least) one card and one " - "monitor before creating a screen definition.", - 9, 50, " Ok ", NULL, 0); - - return (-1); - } - - XmuSnprintf(label, sizeof(label), "Screen%d", nlist ? nlist - 2 : 0); - ClearScreen(); - refresh(); - identifier = - DialogInput("Screen identifier", - "Enter an identifier for your screen definition:", - 11, 40, label, - " Next >>", " Cancel ", 0); - if (identifier == NULL) - return (-1); - - nlist = 0; - list = NULL; - while (device) { - list = (char**)XtRealloc((XtPointer)list, (nlist + 1) * sizeof(char*)); - list[nlist] = XtNewString(device->dev_identifier); - devices = (XF86ConfDevicePtr*)XtRealloc((XtPointer)devices, (nlist + 1) * - sizeof(XF86ConfDevicePtr)); - devices[nlist] = device; - ++nlist; - device = (XF86ConfDevicePtr)(device->list.next); - } - ClearScreen(); - refresh(); - i = DialogMenu("Screen card", "Please select a video card:", - 13, 60, 4, nlist, list, " Next >>", " Cancel ", 0); - for (def = 0; def < nlist; def++) - XtFree(list[def]); - XtFree((XtPointer)list); - if (i < 0) { - XtFree(identifier); - XtFree((XtPointer)devices); - return (-1); - } - device = devices[i]; - XtFree((XtPointer)devices); - - nlist = 0; - list = NULL; - while (monitor) { - list = (char**)XtRealloc((XtPointer)list, (nlist + 1) * sizeof(char*)); - list[nlist] = XtNewString(monitor->mon_identifier); - monitors = (XF86ConfMonitorPtr*)XtRealloc((XtPointer)monitors, (nlist + 1) * - sizeof(XF86ConfMonitorPtr)); - monitors[nlist] = monitor; - ++nlist; - monitor = (XF86ConfMonitorPtr)(monitor->list.next); - } - XmuSnprintf(label, sizeof(label), - "Select the monitor connected to \"%s\":", - device->dev_identifier); - ClearScreen(); - refresh(); - i = DialogMenu("Screen monitor", label, - 13, 60, 4, nlist, list, " Next >>", " Cancel ", 0); - for (def = 0; def < nlist; def++) - XtFree(list[def]); - XtFree((XtPointer)list); - if (i < 0) { - XtFree(identifier); - XtFree((XtPointer)monitors); - return (-1); - } - monitor = monitors[i]; - XtFree((XtPointer)monitors); - - screen = (XF86ConfScreenPtr)XtCalloc(1, sizeof(XF86ConfScreenRec)); - screen->scrn_device = device; - screen->scrn_monitor = monitor; - } - - if (screen->scrn_defaultdepth == 1) - def = 0; - else if (screen->scrn_defaultdepth == 4) - def = 1; - else if (screen->scrn_defaultdepth == 8) - def = 2; - else if (screen->scrn_defaultdepth == 15) - def = 3; - else if (screen->scrn_defaultdepth == 16) - def = 4; - else if (screen->scrn_defaultdepth == 24) - def = 5; - else { - if (screen->scrn_device && screen->scrn_device->dev_driver && - strcmp(screen->scrn_device->dev_driver, "vga") == 0) - def = 1; /* 4bpp */ - else - def = 2; /* 8bpp */ - } - ClearScreen(); - refresh(); - i = DialogMenu("Screen depth", - "Please specify which color depth you want to use by default:", - 15, 60, 6, sizeof(depths) / sizeof(depths[0]), depths, - " Next >>", " Cancel ", def); - if (i < 0) { - if (screen->scrn_identifier == NULL) { - XtFree(identifier); - XtFree((XtPointer)screen); - } - return (-1); - } - else - /* XXX depths must begin with the depth number */ - screen->scrn_defaultdepth = atoi(depths[i]); - - def = 0; /* use def to count how many modes are selected*/ - nlist = 0; - list = NULL; - checks = XtMalloc(sizeof(modes) / sizeof(modes[0])); - /* XXX list fields in the code below are not allocated */ - disp_allocated = 0; - display = screen->scrn_display_lst; - while (display && display->disp_depth != screen->scrn_defaultdepth) - display = (XF86ConfDisplayPtr)(display->list.next); - if (display == NULL) { - display = (XF86ConfDisplayPtr)XtCalloc(1, sizeof(XF86ConfDisplayRec)); - display->disp_white.red = display->disp_black.red = -1; - display->disp_depth = screen->scrn_defaultdepth; - disp_allocated = 1; - } - else { - mode = display->disp_mode_lst; - while (mode) { - for (i = 0; i < sizeof(modes) / sizeof(modes[0]); i++) - if (strcmp(modes[i], mode->mode_name) == 0) { - break; - } - - if (i == sizeof(modes) / sizeof(modes[0])) { - list = (char**)XtRealloc((XtPointer)list, - (nlist + 1) * sizeof(char*)); - list[nlist] = mode->mode_name; - checks = XtRealloc(checks, sizeof(modes) / sizeof(modes[0]) + - nlist + 1); - checks[nlist] = 1; - ++def; - nlist++; - break; - } - mode = (XF86ModePtr)(mode->list.next); - } - } - - for (i = 0; i < sizeof(modes) / sizeof(modes[0]); i++) - checks[i + nlist] = 0; - - mode = display->disp_mode_lst; - while (mode) { - for (i = 0; i < sizeof(modes) / sizeof(modes[0]); i++) - if (strcmp(modes[i], mode->mode_name) == 0) { - ++def; - checks[i + nlist] = 1; - break; - } - mode = (XF86ModePtr)(mode->list.next); - } - - if (nlist == 0 && def == 0) - checks[7] = 1; /* 640x480 */ - list = (char**)XtRealloc((XtPointer)list, (nlist + sizeof(modes) / - sizeof(modes[0])) * sizeof(char*)); - for (i = 0; i < sizeof(modes) / sizeof(modes[0]); i++) - list[i + nlist] = modes[i]; - nlist += sizeof(modes) / sizeof(modes[0]); - - ClearScreen(); - refresh(); - i = DialogCheckBox("Screen modes", - "Select the video modes for this screen:", - 17, 60, 8, sizeof(modes) / sizeof(modes[0]), modes, - " Finish ", " Cancel ", checks); - if (i < 0) { - if (screen->scrn_identifier == NULL) { - XtFree(identifier); - XtFree((XtPointer)screen); - XtFree((XtPointer)list); - if (disp_allocated) - XtFree((XtPointer)display); - } - return (-1); - } - - mode = display->disp_mode_lst; - while (mode) { - ptr = (XF86ModePtr)(mode->list.next); - XtFree(mode->mode_name); - XtFree((XtPointer)mode); - mode = ptr; - } - display->disp_mode_lst = NULL; - - for (i = 0; i < nlist; i++) { - if (checks[i]) { - mode = (XF86ModePtr)XtCalloc(1, sizeof(XF86ModeRec)); - mode->mode_name = XtNewString(list[i]); - if (display->disp_mode_lst == NULL) - display->disp_mode_lst = ptr = mode; - else { - ptr->list.next = mode; - ptr = mode; - } - } - } - XtFree((XtPointer)list); - - if (disp_allocated) { - display->list.next = NULL; - if (screen->scrn_display_lst == NULL) - screen->scrn_display_lst = display; - else - screen->scrn_display_lst->list.next = display; - } - - if (screen->scrn_identifier == NULL) { - screen->scrn_identifier = identifier; - screen->scrn_monitor_str = XtNewString(monitor->mon_identifier); - screen->scrn_device_str = XtNewString(device->dev_identifier); - XF86Config->conf_screen_lst = - xf86addScreen(XF86Config->conf_screen_lst, screen); - } - - return (1); -} - -static XF86ConfAdjacencyPtr -CopyAdjacency(XF86ConfAdjacencyPtr ptr) -{ - XF86ConfAdjacencyPtr adj = (XF86ConfAdjacencyPtr) - XtCalloc(1, sizeof(XF86ConfAdjacencyRec)); - - adj->adj_scrnum = ptr->adj_scrnum; - adj->adj_screen = ptr->adj_screen; - adj->adj_screen_str = XtNewString(ptr->adj_screen_str); - adj->adj_top = ptr->adj_top; - if (ptr->adj_top_str) - adj->adj_top_str = XtNewString(ptr->adj_top_str); - adj->adj_bottom = ptr->adj_bottom; - if (ptr->adj_bottom_str) - adj->adj_bottom_str = XtNewString(ptr->adj_bottom_str); - adj->adj_left = ptr->adj_left; - if (ptr->adj_left_str) - adj->adj_left_str = XtNewString(ptr->adj_left_str); - adj->adj_right = ptr->adj_right; - if (ptr->adj_right_str) - adj->adj_right_str = XtNewString(ptr->adj_right_str); - adj->adj_where = ptr->adj_where; - adj->adj_x = ptr->adj_x; - adj->adj_y = ptr->adj_y; - if (ptr->adj_refscreen) - adj->adj_refscreen = XtNewString(ptr->adj_refscreen); - - return (adj); -} - -static XF86ConfInactivePtr -CopyInactive(XF86ConfInactivePtr ptr) -{ - XF86ConfInactivePtr inac = (XF86ConfInactivePtr) - XtCalloc(1, sizeof(XF86ConfInactiveRec)); - - inac->inactive_device = ptr->inactive_device; - if (ptr->inactive_device_str) - inac->inactive_device_str = XtNewString(ptr->inactive_device_str); - - return (inac); -} - -static XF86ConfInputrefPtr -CopyInputref(XF86ConfInputrefPtr ptr) -{ - XF86ConfInputrefPtr iref = (XF86ConfInputrefPtr) - XtCalloc(1, sizeof(XF86ConfInputrefRec)); - XF86OptionPtr opt = ptr->iref_option_lst; - - iref->iref_inputdev = ptr->iref_inputdev; - if (ptr->iref_inputdev_str) - iref->iref_inputdev_str = XtNewString(ptr->iref_inputdev_str); - while (opt) { - iref->iref_option_lst = xf86addNewOption(iref->iref_option_lst, - XtNewString(opt->opt_name), - opt->opt_val ? XtNewString(opt->opt_val) : NULL); - opt = (XF86OptionPtr)(opt->list.next); - } - - return (iref); -} - -static XF86ConfLayoutPtr -CopyLayout(XF86ConfLayoutPtr ptr) -{ - XF86ConfLayoutPtr lay = (XF86ConfLayoutPtr) - XtCalloc(1, sizeof(XF86ConfLayoutRec)); - XF86ConfAdjacencyPtr adj = ptr->lay_adjacency_lst, padj; - XF86ConfInactivePtr inac = ptr->lay_inactive_lst, pinac; - XF86ConfInputrefPtr iref = ptr->lay_input_lst, piref; - XF86OptionPtr opt = ptr->lay_option_lst; - - if (ptr->lay_identifier) - lay->lay_identifier = XtNewString(ptr->lay_identifier); - if (adj) { - padj = lay->lay_adjacency_lst = CopyAdjacency(adj); - adj = (XF86ConfAdjacencyPtr)(adj->list.next); - while (adj) { - padj->list.next = CopyAdjacency(adj); - padj = (XF86ConfAdjacencyPtr)(padj->list.next); - adj = (XF86ConfAdjacencyPtr)(adj->list.next); - } - } - if (inac) { - pinac = lay->lay_inactive_lst = CopyInactive(inac); - inac = (XF86ConfInactivePtr)(inac->list.next); - while (inac) { - pinac->list.next = CopyInactive(inac); - pinac = (XF86ConfInactivePtr)(pinac->list.next); - inac = (XF86ConfInactivePtr)(inac->list.next); - } - } - if (iref) { - piref = lay->lay_input_lst = CopyInputref(iref); - iref = (XF86ConfInputrefPtr)(iref->list.next); - while (iref) { - piref->list.next = CopyInputref(iref); - piref = (XF86ConfInputrefPtr)(piref->list.next); - iref = (XF86ConfInputrefPtr)(iref->list.next); - } - } - - while (opt) { - lay->lay_option_lst = xf86addNewOption(lay->lay_option_lst, - XtNewString(opt->opt_name), - opt->opt_val ? XtNewString(opt->opt_val) : NULL); - opt = (XF86OptionPtr)(opt->list.next); - } - - return (lay); -} - -static void -FreeLayout(XF86ConfLayoutPtr lay) -{ - static XF86ConfigRec xf86config; - - xf86config.conf_layout_lst = lay; - xf86removeLayout(&xf86config, lay); -} - -static int -LayoutConfig(void) -{ - int i; - XF86ConfLayoutPtr *layouts = NULL, rlayout = NULL, - layout = XF86Config->conf_layout_lst; - XF86ConfInputPtr input = XF86Config->conf_input_lst; - char **list = NULL, *identifier = NULL; - XF86ConfInputPtr *mouses = NULL, *keyboards = NULL, mouse, keyboard; - XF86ConfInputrefPtr iref, piref, mref, kref; - XF86ConfAdjacencyPtr adj, padj; - int nmouses, nkeyboards; - int nlist; - XF86OptionPtr option; - XF86ConfScreenPtr screen, *screens; - - nmouses = nkeyboards = 0; - while (input) { - if (strcmp(input->inp_driver, "mouse") == 0) { - mouses = (XF86ConfInputPtr*)XtRealloc((XtPointer)mouses, - (nmouses + 1) * sizeof(XF86ConfInputPtr)); - mouses[nmouses] = input; - ++nmouses; - } - else if (IS_KBDDRIV(input->inp_driver)) { - keyboards = (XF86ConfInputPtr*)XtRealloc((XtPointer)keyboards, - (nkeyboards + 1) * sizeof(XF86ConfInputPtr)); - keyboards[nkeyboards] = input; - ++nkeyboards; - } - input = (XF86ConfInputPtr)(input->list.next); - } - if (XF86Config->conf_screen_lst == NULL || - nmouses == 0 || nkeyboards == 0) { - XtFree((XtPointer)mouses); - XtFree((XtPointer)keyboards); - ClearScreen(); - refresh(); - Dialog("Configuration error", - "You need to configure (at least) one screen, mouse " - "and keyboard before creating a layout definition.", - 9, 50, " Ok ", NULL, 0); - return (-1); - } - - nlist = 0; - while (layout) { - list = (char**)XtRealloc((XtPointer)list, (nlist + 1) * sizeof(char*)); - list[nlist] = XtMalloc(sizeof(Edit) + - strlen(layout->lay_identifier) + 1); - sprintf(list[nlist], "%s%s", Edit, layout->lay_identifier); - layouts = (XF86ConfLayoutPtr*)XtRealloc((XtPointer)layouts, (nlist + 1) * - sizeof(XF86ConfLayoutPtr)); - layouts[nlist] = layout; - ++nlist; - layout = (XF86ConfLayoutPtr)(layout->list.next); - } - - layout = NULL; - - if (nlist) { - list = (char**)XtRealloc((XtPointer)list, (nlist + 2) * sizeof(char*)); - list[nlist++] = XtNewString("Add new layout"); - if (nlist == 2) { - i = strlen("Remove ") + strlen(layouts[0]->lay_identifier) + 1; - list[nlist] = XtMalloc(i); - XmuSnprintf(list[nlist], i, "Remove %s", layouts[0]->lay_identifier); - ++nlist; - } - else - list[nlist++] = XtNewString("Remove layout"); - ClearScreen(); - refresh(); - i = DialogMenu("Layout configuration", - "You can edit or remove a previously configured " - "layout, or add a new one.", 14, 60, 4, nlist, list, - " Ok ", " Cancel ", 0); - if (i < 0) { - for (i = 0; i < nlist; i++) - XtFree(list[i]); - XtFree((XtPointer)list); - XtFree((XtPointer)layouts); - XtFree((XtPointer)mouses); - XtFree((XtPointer)keyboards); - return (-1); - } - if (nlist > 2 && i == nlist - 1) { - if (nlist > 3) { - for (i = 0; i < nlist - 2; i++) { - /* XXX Remove the "Edit " from list entries */ - memmove(list[i], list[i] + sizeof(Edit) - 1, - strlen(list[i]) - sizeof(Edit) + 2); - } - ClearScreen(); - refresh(); - i = DialogMenu("Remove layout", - "Select which layout to remove", - 13, 60, 4, nlist - 2, list, - " Remove ", " Cancel ", 0); - if (i < 0) { - for (i = 0; i < nlist; i++) - XtFree(list[i]); - XtFree((XtPointer)list); - XtFree((XtPointer)layouts); - XtFree((XtPointer)mouses); - XtFree((XtPointer)keyboards); - return (-1); - } - layout = layouts[i]; - } - else - layout = layouts[0]; - for (i = 0; i < nlist; i++) - XtFree(list[i]); - XtFree((XtPointer)list); - XtFree((XtPointer)layouts); - XtFree((XtPointer)mouses); - XtFree((XtPointer)keyboards); - xf86removeLayout(XF86Config, layout); - return (0); - } - if (i < nlist - 2) - layout = layouts[i]; - } - for (i = 0; i < nlist; i++) - XtFree(list[i]); - XtFree((XtPointer)list); - XtFree((XtPointer)layouts); - - if (layout == NULL) { - char label[32]; - - layout = (XF86ConfLayoutPtr)XtCalloc(1, sizeof(XF86ConfLayoutRec)); - XmuSnprintf(label, sizeof(label), "Layout%d", nlist ? nlist - 2 : 0); - ClearScreen(); - refresh(); - identifier = - DialogInput("Layout identifier", - "Enter an identifier for your layout definition:", - 11, 40, label, - " Next >>", " Cancel ", 0); - if (identifier == NULL) { - XtFree((XtPointer)layout); - XtFree((XtPointer)mouses); - XtFree((XtPointer)keyboards); - return (-1); - } - } - else { - /* So that we can safely change it */ - rlayout = layout; - layout = CopyLayout(rlayout); - } - - - mouse = keyboard = NULL; - - /* Mouse */ - piref = NULL; - iref = layout->lay_input_lst; - while (iref) { - if (strcmp(iref->iref_inputdev->inp_driver, "mouse") == 0) { - if (mouse == NULL) - piref = iref; - if (xf86findOption(iref->iref_option_lst, "CorePointer")) { - mouse = iref->iref_inputdev; - piref = iref; - break; - } - } - iref = (XF86ConfInputrefPtr)(iref->list.next); - } - if (mouse == NULL) { - if (piref) { - mref = piref; - mouse = piref->iref_inputdev; - piref->iref_option_lst = - xf86addNewOption(piref->iref_option_lst, - XtNewString("CorePointer"), NULL); - } - else { - mouse = mouses[0]; - mref = iref = (XF86ConfInputrefPtr)XtCalloc(1, sizeof(XF86ConfInputrefRec)); - iref->iref_inputdev_str = XtNewString(mouse->inp_identifier); - iref->iref_inputdev = mouse; - iref->iref_option_lst = - xf86addNewOption(iref->iref_option_lst, - XtNewString("CorePointer"), NULL); - iref->list.next = layout->lay_input_lst; - if (layout->lay_input_lst == NULL) - layout->lay_input_lst = iref; - else { - iref->list.next = layout->lay_input_lst; - layout->lay_input_lst = iref; - } - } - } - else - mref = piref; - - /* XXX list fields are not allocated */ - if (nmouses > 1) { - nlist = 0; - list = (char**)XtMalloc(sizeof(char*)); - list[nlist++] = mouse->inp_identifier; - input = XF86Config->conf_input_lst; - while (input) { - if (input != mouse && strcmp(input->inp_driver, "mouse") == 0) { - list = (char**)XtRealloc((XtPointer)list, (nlist + 1) * sizeof(char*)); - list[nlist++] = input->inp_identifier; - } - input = (XF86ConfInputPtr)(input->list.next); - } - ClearScreen(); - refresh(); - i = DialogMenu("Select Core Pointer", - "Select the mouse connected to you computer", - 12, 60, 4, nlist, list, " Ok ", " Cancel ", 0); - if (i < 0) { - XtFree((XtPointer)mouses); - XtFree((XtPointer)keyboards); - XtFree((XtPointer)list); - if (layout->lay_identifier == NULL) - XtFree(identifier); - FreeLayout(layout); - return (-1); - } - if (i > 0) { - /* Did not select the default one */ - iref = layout->lay_input_lst; - while (iref) { - if (strcasecmp(iref->iref_inputdev_str, list[i]) == 0) { - if ((option = xf86findOption(iref->iref_option_lst, - "SendCoreEvents")) != NULL) { - XtFree(option->opt_name); - option->opt_name = XtNewString("CorePointer"); - } - else - iref->iref_option_lst = - xf86addNewOption(iref->iref_option_lst, - XtNewString("CorePointer"), NULL); - option = xf86findOption(mref->iref_option_lst, - "CorePointer"); - XtFree(option->opt_name); - option->opt_name = XtNewString("SendCoreEvents"); - break; - } - iref = (XF86ConfInputrefPtr)(iref->list.next); - } - } - - /* XXX Write code to add/remove more mouses here */ - } - - - /* Keyboard */ - piref = NULL; - iref = layout->lay_input_lst; - while (iref) { - if (IS_KBDDRIV(iref->iref_inputdev->inp_driver)) { - if (keyboard == NULL) - piref = iref; - if (xf86findOption(iref->iref_option_lst, "CoreKeyboard")) { - keyboard = iref->iref_inputdev; - piref = iref; - break; - } - } - iref = (XF86ConfInputrefPtr)(iref->list.next); - } - if (keyboard == NULL) { - if (piref) { - kref = piref; - keyboard = piref->iref_inputdev; - piref->iref_option_lst = - xf86addNewOption(piref->iref_option_lst, - XtNewString("CoreKeyboard"), NULL); - } - else { - keyboard = keyboards[0]; - kref = iref = (XF86ConfInputrefPtr)XtCalloc(1, sizeof(XF86ConfInputrefRec)); - iref->iref_inputdev_str = XtNewString(keyboard->inp_identifier); - iref->iref_inputdev = keyboard; - iref->iref_option_lst = - xf86addNewOption(iref->iref_option_lst, - XtNewString("CoreKeyboard"), NULL); - iref->list.next = layout->lay_input_lst; - if (layout->lay_input_lst == NULL) - layout->lay_input_lst = iref; - else { - iref->list.next = layout->lay_input_lst; - layout->lay_input_lst = iref; - } - } - } - else - kref = piref; - - /* XXX list fields are not allocated */ - if (nkeyboards > 1) { - nlist = 0; - list = (char**)XtMalloc(sizeof(char*)); - list[nlist++] = keyboard->inp_identifier; - input = XF86Config->conf_input_lst; - while (input) { - if (input != keyboard && IS_KBDDRIV(input->inp_driver)) { - list = (char**)XtRealloc((XtPointer)list, (nlist + 1) * sizeof(char*)); - list[nlist++] = input->inp_identifier; - } - input = (XF86ConfInputPtr)(input->list.next); - } - ClearScreen(); - refresh(); - i = DialogMenu("Select Core Keyboard", - "Select the keyboard connected to you computer", - 12, 60, 4, nlist, list, " Ok ", " Cancel ", 0); - if (i < 0) { - XtFree((XtPointer)mouses); - XtFree((XtPointer)keyboards); - XtFree((XtPointer)list); - if (layout->lay_identifier == NULL) - XtFree(identifier); - FreeLayout(layout); - return (-1); - } - if (i > 0) { - /* Did not select the default one */ - iref = layout->lay_input_lst; - while (iref) { - if (strcasecmp(iref->iref_inputdev_str, list[i]) == 0) { - if ((option = xf86findOption(iref->iref_option_lst, - "SendCoreEvents")) != NULL) { - XtFree(option->opt_name); - option->opt_name = XtNewString("CoreKeyboard"); - } - else - iref->iref_option_lst = - xf86addNewOption(iref->iref_option_lst, - XtNewString("CoreKeyboard"), NULL); - option = xf86findOption(kref->iref_option_lst, - "CoreKeyboard"); - XtFree(option->opt_name); - option->opt_name = XtNewString("SendCoreEvents"); - break; - } - iref = (XF86ConfInputrefPtr)(iref->list.next); - } - } - - /* XXX Write code to add/remove more keyboards here */ - } - - XtFree((XtPointer)mouses); - XtFree((XtPointer)keyboards); - - /* Just one screen */ - if (XF86Config->conf_screen_lst->list.next == NULL) { - ClearScreen(); - refresh(); - Dialog("Layout configuration", - (nmouses > 1 || nkeyboards > 1) ? - "As you have only one screen configured, I can now finish " - "creating this Layout configuration." - : - "As you have only one screen, mouse and keyboard configured, " - "I can now finish creating this Layout configuration.", - 12, 60, " Finish ", NULL, 0); - - goto LayoutFinish; - } - - - /* The code below just adds a screen to the right of the last - * one, or allows removing a screen. - * Needs some review, and adding more options. - */ - - /*CONSTCOND*/ - while (1) { - static char *screen_opts[] = { - "Add a new screen to layout", - "Remove screen from layout", - "Finish layout configuration", - }; - - ClearScreen(); - refresh(); - i = DialogMenu("Layout configuration", "Please choose one option:", - 12, 60, 3, sizeof(screen_opts) / sizeof(screen_opts[0]), - screen_opts, " Done ", " Cancel all changes ", 2); - - /* cancel */ - if (i < 0) { - XtFree(identifier); - FreeLayout(layout); - return (-1); - } - - /* add new screen */ - else if (i == 0) { - nlist = 0; - list = NULL; - screens = NULL; - screen = XF86Config->conf_screen_lst; - while (screen) { - adj = layout->lay_adjacency_lst; - while (adj) { - if (adj->adj_screen == screen) - break; - adj = (XF86ConfAdjacencyPtr)(adj->list.next); - } - if (adj == NULL) { - list = (char**)XtRealloc((XtPointer)list, (nlist + 1) * sizeof(char*)); - screens = (XF86ConfScreenPtr*)XtRealloc((XtPointer)screens, - (nlist + 1) * sizeof(XF86ConfScreenPtr)); - /* NOT duplicated */ - list[nlist] = screen->scrn_identifier; - screens[nlist] = screen; - ++nlist; - } - screen = (XF86ConfScreenPtr)(screen->list.next); - } - - if (nlist == 0) - continue; - - ClearScreen(); - refresh(); - i = DialogMenu("Layout add screen", "Choose screen to add:", - 12, 60, 3, nlist, list, - " Add ", " Cancel ", 0); - if (i >= 0) { - padj = layout->lay_adjacency_lst; - adj = (XF86ConfAdjacencyPtr) - XtCalloc(1, sizeof(XF86ConfAdjacencyRec)); - adj->adj_screen = screens[i]; - if (padj == NULL) { - adj->adj_where = CONF_ADJ_ABSOLUTE; - layout->lay_adjacency_lst = adj; - } - else { - while (padj->list.next) - padj = (XF86ConfAdjacencyPtr)(padj->list.next); - padj->list.next = adj; - adj->adj_where = CONF_ADJ_RIGHTOF; - adj->adj_refscreen = - XtNewString(padj->adj_screen->scrn_identifier); - } - } - XtFree((XtPointer)list); - XtFree((XtPointer)screens); - } - - /* remove a screen */ - else if (i == 1) { - nlist = 0; - list = NULL; - screens = NULL; - adj = layout->lay_adjacency_lst; - - while (adj) { - list = (char**)XtRealloc((XtPointer)list, (nlist + 1) * sizeof(char*)); - screens = (XF86ConfScreenPtr*)XtRealloc((XtPointer)screens, - (nlist + 1) * sizeof(XF86ConfScreenPtr)); - list[nlist] = adj->adj_screen->scrn_identifier; - screens[nlist] = adj->adj_screen; - ++nlist; - adj = (XF86ConfAdjacencyPtr)(adj->list.next); - } - - if (nlist == 0) - continue; - - ClearScreen(); - refresh(); - i = DialogMenu("Layout remove screen", "Choose screen to remove:", - 12, 60, 3, nlist, list, - " Remove ", " Cancel ", 0); - - adj = padj = layout->lay_adjacency_lst; - while (adj) { - if (adj->adj_screen == screens[i]) { - padj = (XF86ConfAdjacencyPtr)(padj->list.next); - if (padj && adj->adj_where == CONF_ADJ_RIGHTOF && - padj->adj_where == CONF_ADJ_RIGHTOF) { - XtFree(padj->adj_refscreen); - padj->adj_refscreen = XtNewString(adj->adj_refscreen); - } - xf86removeAdjacency(layout, adj); - break; - } - padj = adj; - adj = (XF86ConfAdjacencyPtr)(padj->list.next); - } - XtFree((XtPointer)list); - XtFree((XtPointer)screens); - } - - /* finish screen configuration */ - else - break; - } - -LayoutFinish: - if (layout->lay_adjacency_lst == NULL) { - adj = (XF86ConfAdjacencyPtr)XtCalloc(1, sizeof(XF86ConfAdjacencyRec)); - adj->adj_screen = XF86Config->conf_screen_lst; - adj->adj_screen_str = XtNewString(XF86Config->conf_screen_lst->scrn_identifier); - adj->adj_where = CONF_ADJ_ABSOLUTE; - layout->lay_adjacency_lst = adj; - } - if (rlayout) { - /* just edited this layout */ - if (nmouses > 1 || nkeyboards > 1) { - XF86ConfAdjacencyPtr tadj = rlayout->lay_adjacency_lst; - XF86ConfInactivePtr tinac = rlayout->lay_inactive_lst; - XF86ConfInputrefPtr tinp = rlayout->lay_input_lst; - - rlayout->lay_adjacency_lst = layout->lay_adjacency_lst; - rlayout->lay_inactive_lst = layout->lay_inactive_lst; - rlayout->lay_input_lst = layout->lay_input_lst; - - layout->lay_adjacency_lst = tadj; - layout->lay_inactive_lst = tinac; - layout->lay_input_lst = tinp; - FreeLayout(layout); - } - return (0); - } - else { - layout->lay_identifier = identifier; - XF86Config->conf_layout_lst = - xf86addLayout(XF86Config->conf_layout_lst, layout); - } - - return (1); -} - -static void -ClearScreen(void) -{ - int i, j; - - wattrset(stdscr, screen_attr); - for (i = 0; i < LINES; i++) { - wmove(stdscr, i, 0); - for (j = 0; j < COLS; j++) - waddch(stdscr, ACS_PLUS); - } - touchwin(stdscr); -} - -static int -Dialog(char *title, char * prompt, int height, int width, - char *label1, char *label2, int button) -{ - int x, x1, x2, y, key, l1len, l2len; - WINDOW *dialog; - - x = (COLS - width) / 2; - y = (LINES - height) / 2; - - dialog = newwin(height, width, y, x); - keypad(dialog, TRUE); - - PaintWindow(dialog, title, 0, 0, height, width); - wattrset(dialog, dialog_attr); - PrintWrap(dialog, prompt, width - 3, 2, 3); - - l1len = strlen(label1); - if (label2) - l2len = strlen(label2); - else { - l2len = button = 0; - } - - x1 = (width - (l1len + l2len)) / (label2 ? 3 : 2); - x2 = x1 + x1 + l1len; - y = height - 3; - if (!button) { - if (label2) - PaintButton(dialog, label2, y, x2, FALSE); - PaintButton(dialog, label1, y, x1, TRUE); - } - else { - PaintButton(dialog, label1, y, x1, FALSE); - if (label2) - PaintButton(dialog, label2, y, x2, TRUE); - } - wrefresh(dialog); - - /*CONSTCOND*/ - while (1) { - key = wgetch(dialog); - switch (key) { - case KEY_LEFT: - case KEY_RIGHT: - if (!button) { - if (label2) { - button = 1; - PaintButton(dialog, label1, y, x1, FALSE); - PaintButton(dialog, label2, y, x2, TRUE); - } - - } - else { - if (label2) { - button = 0; - PaintButton(dialog, label2, y, x2, FALSE); - PaintButton(dialog, label1, y, x1, TRUE); - } - } - wrefresh(dialog); - break; - case ' ': - case '\r': - case '\n': - delwin(dialog); - return button; - } - } - /*NOTREACHED*/ -} - -static void -PaintWindow(WINDOW *win, char *title_str, int y, int x, int height, int width) -{ - int i, j; - - if (title_str != NULL) { - j = (width - strlen(title_str)) / 2 - 1; - - wattrset(win, title_attr); - wmove(win, x, y); - for (i = 0; i < j; i++) - waddch(win, ' '); - waddstr(win, title_str); - for (; i < width; i++) - waddch(win, ' '); - } - - wattrset(win, 0); - - for (i = 1; i < height; i++) { - wmove(win, y + i, x); - for (j = 0; j < width; j++) - if (i == height - 1 && !j) - waddch(win, highlight_border_attr | ACS_LLCORNER); - else if (i == height - 1 && j == width - 1) - waddch(win, shadow_border_attr | ACS_LRCORNER); - else if (i == height - 1) - waddch(win, shadow_border_attr | ACS_HLINE); - else if (!j) - waddch(win, highlight_border_attr | ACS_VLINE); - else if (j == width - 1) - waddch(win, shadow_border_attr | ACS_VLINE); - else - waddch(win, dialog_attr | ' '); - } - -} - -static void -PaintBox(WINDOW *win, int y, int x, int height, int width) -{ - int i, j; - - wattrset(win, 0); - - for (i = 0; i < height; i++) { - wmove(win, y + i, x); - for (j = 0; j < width; j++) - if (!i && !j) - waddch(win, shadow_border_attr | ACS_ULCORNER); - else if (i == height - 1 && !j) - waddch(win, shadow_border_attr | ACS_LLCORNER); - else if (!i && j == width-1) - waddch(win, highlight_border_attr | ACS_URCORNER); - else if (i == height - 1 && j == width - 1) - waddch(win, highlight_border_attr | ACS_LRCORNER); - else if (!i) - waddch(win, shadow_border_attr | ACS_HLINE); - else if (i == height - 1) - waddch(win, highlight_border_attr | ACS_HLINE); - else if (!j) - waddch(win, shadow_border_attr | ACS_VLINE); - else if (j == width - 1) - waddch(win, highlight_border_attr | ACS_VLINE); - else - waddch(win, dialog_attr | ' '); - } - -} - -static void -PaintButton(WINDOW *win, char *label, int y, int x, int selected) -{ - int i, temp; - - wmove(win, y, x); - wattrset(win, selected ? button_active_attr : button_inactive_attr); - waddstr(win, selected ? "[" : " "); - temp = strspn(label, " "); - label += temp; - wattrset(win, selected ? button_active_attr : button_inactive_attr); - for (i = 0; i < temp; i++) - waddch(win, ' '); - wattrset(win, selected ? button_active_attr : button_inactive_attr); - waddch(win, label[0]); - wattrset(win, selected ? button_active_attr : button_inactive_attr); - waddstr(win, label + 1); - wattrset(win, selected ? button_active_attr : button_inactive_attr); - waddstr(win, selected ? "]" : " "); - wmove(win, y, x + temp + 1); -} - -static void -PrintWrap(WINDOW *win, char *prompt, int width, int y, int x) -{ - int cur_x, cur_y, len, yinc; - char *word, *tempstr = XtMalloc(strlen(prompt) + 1); - - cur_x = x; - cur_y = y; - - while (*prompt == '\n') { - ++cur_y; - ++prompt; - } - - strcpy(tempstr, prompt); - - for (word = strtok(tempstr, " \n"); word != NULL; word = strtok(NULL, " \n")) { - yinc = 0; - len = strlen(word); - while (prompt[word - tempstr + len + yinc] == '\n') - ++yinc; - if (cur_x + strlen(word) > width) { - cur_y++; - cur_x = x; - } - wmove(win, cur_y, cur_x); - waddstr(win, word); - getyx(win, cur_y, cur_x); - if (yinc) { - cur_y += yinc; - cur_x = x; - } - else - cur_x++; - } - - free(tempstr); -} - -static int -DialogMenu(char *title, char *prompt, int height, int width, int menu_height, - int item_no, char **items, char *label1, char *label2, int choice) -{ - int i, x, y, cur_x, cur_y, box_x, box_y, key = 0, button = 0, - scrlx = 0, max_choice, nscroll, max_scroll, x1, x2, l1len, l2len; - WINDOW *dialog, *menu; - - max_choice = MIN(menu_height, item_no); - max_scroll = MAX(0, item_no - max_choice); - - x = (COLS - width) / 2; - y = (LINES - height) / 2; - - dialog = newwin(height, width, y, x); - keypad(dialog, TRUE); - - PaintWindow(dialog, title, 0, 0, height, width); - - wattrset(dialog, dialog_attr); - PrintWrap(dialog, prompt, width - 3, 2, 3); - - l1len = strlen(label1); - l2len = strlen(label2); - - x1 = (width - (l1len + l2len)) / 3; - x2 = x1 + x1 + l1len; - - menu_width = width - 6; - getyx(dialog, cur_y, cur_x); - box_y = cur_y + 1; - box_x = (width - menu_width) / 2 - 1; - - menu = subwin(dialog, menu_height, menu_width, y + box_y + 1, x + box_x + 1); - keypad(menu, TRUE); - - /* draw a box around the menu items */ - PaintBox(dialog, box_y, box_x, menu_height + 2, menu_width + 2); - - item_x = 3; - - if (choice > menu_height) { - scrlx = MIN(max_scroll, choice); - choice -= scrlx; - } - - for (i = 0; i < max_choice; i++) - PaintItem(menu, items[i + scrlx], i, i == choice); - PaintScroller(menu, scrlx + choice, item_no, menu_height); - wnoutrefresh(menu); - - x = width / 2 - 11; - y = height - 3; - PaintButton(dialog, label2, y, x2, FALSE); - PaintButton(dialog, label1, y, x1, TRUE); - wrefresh(dialog); - - /*CONSTCOND*/ - while (1) { - i = choice; - key = wgetch(dialog); - - if (menu_height > 1 && key == KEY_PPAGE) { - if (!choice) { - if (scrlx) { - /* Scroll menu down */ - getyx(dialog, cur_y, cur_x); - - nscroll = max_choice > scrlx ? -scrlx : -max_choice; - scrollok(menu, TRUE); - wscrl(menu, nscroll); - scrollok(menu, FALSE); - - PaintItem(menu, items[i = scrlx + nscroll], 0, TRUE); - for (++i; i <= scrlx; i++) - PaintItem(menu, items[i], i - (scrlx + nscroll), FALSE); - scrlx += nscroll; - PaintScroller(menu, scrlx + choice, item_no, menu_height); - wnoutrefresh(menu); - wrefresh(dialog); - continue; - } - } - i = 0; - } - else if (menu_height > 1 && key == KEY_NPAGE) { - if (choice == max_choice - 1) { - if (scrlx < max_scroll) { - /* Scroll menu up */ - getyx(dialog, cur_y, cur_x); - - nscroll = (scrlx + max_choice > max_scroll ? - max_scroll : scrlx + max_choice) - scrlx; - scrollok(menu, TRUE); - wscrl(menu, nscroll); - scrollok(menu, FALSE); - - scrlx += nscroll; - for (i = 0; i < max_choice - 1; i++) - PaintItem(menu, items[i + scrlx], i, FALSE); - PaintItem(menu, items[i + scrlx], max_choice - 1, TRUE); - PaintScroller(menu, scrlx + choice, item_no, menu_height); - wnoutrefresh(menu); - wrefresh(dialog); - continue; - } - } - i = max_choice - 1; - } - else if (key == KEY_UP) { - if (!choice) { - if (scrlx) { - /* Scroll menu down */ - getyx(dialog, cur_y, cur_x); - if (menu_height > 1) { - PaintItem(menu, items[scrlx], 0, FALSE); - scrollok(menu, TRUE); - wscrl(menu, - 1); - scrollok(menu, FALSE); - } - scrlx--; - PaintItem(menu, items[scrlx], 0, TRUE); - PaintScroller(menu, scrlx + choice, item_no, menu_height); - wnoutrefresh(menu); - wrefresh(dialog); - continue; - } - } - else - i = choice - 1; - } - else if (key == KEY_DOWN) { - if (choice == max_choice - 1) { - if (scrlx + choice < item_no - 1) { - /* Scroll menu up */ - getyx(dialog, cur_y, cur_x); - if (menu_height > 1) { - PaintItem(menu, items[scrlx + max_choice - 1], max_choice - 1, FALSE); - scrollok(menu, TRUE); - scroll(menu); - scrollok(menu, FALSE); - } - scrlx++; - PaintItem(menu, items[scrlx + max_choice - 1], max_choice - 1, TRUE); - PaintScroller(menu, scrlx + choice, item_no, menu_height); - wnoutrefresh(menu); - wrefresh(dialog); - continue; - } - } - else - i = MIN(choice + 1, item_no - 1); - } - - if (i != choice) { - getyx(dialog, cur_y, cur_x); - PaintItem(menu, items[scrlx + choice], choice, FALSE); - - choice = i; - PaintItem(menu, items[scrlx + choice], choice, TRUE); - PaintScroller(menu, scrlx + choice, item_no, menu_height); - wnoutrefresh(menu); - wmove(dialog, cur_y, cur_x); - wrefresh(dialog); - continue; - } - - switch (key) { - case TAB: - case KEY_LEFT: - case KEY_RIGHT: - if (!button) { - button = 1; - PaintButton(dialog, label1, y, x1, FALSE); - PaintButton(dialog, label2, y, x2, TRUE); - } - else { - button = 0; - PaintButton(dialog, label2, y, x2, FALSE); - PaintButton(dialog, label1, y, x1, TRUE); - } - wrefresh(dialog); - break; - case ' ': - case '\r': - case '\n': - delwin(dialog); - return (!button ? scrlx + choice : -1); - default: - for (i = scrlx + choice + 1; i < item_no; i++) - if (toupper(items[i][0]) == toupper(key)) - break; - if (i == item_no) { - for (i = 0; i < scrlx + choice; i++) - if (toupper(items[i][0]) == toupper(key)) - break; - } - getyx(dialog, cur_y, cur_x); - if (i < item_no && i != scrlx + choice) { - if (i >= scrlx && i < scrlx + max_choice) { - /* it is already visible */ - PaintItem(menu, items[scrlx + choice], choice, FALSE); - choice = i - scrlx; - } - else { - scrlx = MIN(i, max_scroll); - choice = i - scrlx; - for (i = 0; i < max_choice; i++) - if (i != choice) - PaintItem(menu, items[scrlx + i], i, FALSE); - } - PaintItem(menu, items[scrlx + choice], choice, TRUE); - PaintScroller(menu, scrlx + choice, item_no, menu_height); - wnoutrefresh(menu); - wmove(dialog, cur_y, cur_x); - wrefresh(dialog); - } - break; - } - } - /*NOTREACHED*/ -} - -static void -PaintItem(WINDOW *win, char *item, int choice, int selected) -{ - int i; - - wattrset(win, selected ? title_attr : dialog_attr); - wmove(win, choice, 1); - for (i = 1; i < menu_width; i++) - waddch(win, ' '); - wmove(win, choice, item_x); - wattrset(win, selected ? title_attr : dialog_attr); - waddstr(win, item); -} - -static void -PaintScroller(WINDOW *win, int offset, int lenght, int visible) -{ - int i, pos; - - if (lenght > visible) - pos = (visible / (double)lenght) * offset; - else - pos = offset; - wattrset(win, shadow_border_attr); - for (i = 0; i < visible; i++) { - wmove(win, i, 0); - waddch(win, i == pos ? ACS_BLOCK : ACS_VLINE); - } -} - -static int -DialogCheckBox(char *title, char *prompt, int height, int width, int menu_height, - int item_no, char **items, char *label1, char *label2, char *checks) -{ - int i, x, y, cur_x, cur_y, box_x, box_y, key = 0, button = 0, choice = 0, - scrlx = 0, max_choice, nscroll, max_scroll, x1, x2, l1len, l2len; - WINDOW *dialog, *menu; - - max_choice = MIN(menu_height, item_no); - max_scroll = MAX(0, item_no - max_choice); - - x = (COLS - width) / 2; - y = (LINES - height) / 2; - - dialog = newwin(height, width, y, x); - keypad(dialog, TRUE); - - PaintWindow(dialog, title, 0, 0, height, width); - - wattrset(dialog, dialog_attr); - PrintWrap(dialog, prompt, width - 3, 2, 3); - - l1len = strlen(label1); - l2len = strlen(label2); - - x1 = (width - (l1len + l2len)) / 3; - x2 = x1 + x1 + l1len; - - menu_width = width - 6; - getyx(dialog, cur_y, cur_x); - box_y = cur_y + 1; - box_x = (width - menu_width) / 2 - 1; - - menu = subwin(dialog, menu_height, menu_width, y + box_y + 1, x + box_x + 1); - keypad(menu, TRUE); - - /* draw a box around the menu items */ - PaintBox(dialog, box_y, box_x, menu_height + 2, menu_width + 2); - - item_x = 3; - - for (i = 0; i < max_choice; i++) - PaintCheckItem(menu, items[i + scrlx], i, i == 0, checks[i + scrlx]); - PaintScroller(menu, scrlx + choice, item_no, menu_height); - wnoutrefresh(menu); - - x = width / 2 - 11; - y = height - 3; - PaintButton(dialog, label2, y, x2, FALSE); - PaintButton(dialog, label1, y, x1, TRUE); - wrefresh(dialog); - - /*CONSTCOND*/ - while (1) { - i = choice; - key = wgetch(dialog); - - if (menu_height > 1 && key == KEY_PPAGE) { - if (!choice) { - if (scrlx) { - /* Scroll menu down */ - getyx(dialog, cur_y, cur_x); - - nscroll = max_choice > scrlx ? -scrlx : -max_choice; - scrollok(menu, TRUE); - wscrl(menu, nscroll); - scrollok(menu, FALSE); - - i = scrlx + nscroll; - PaintCheckItem(menu, items[i], 0, TRUE, checks[i]); - for (++i; i <= scrlx; i++) - PaintCheckItem(menu, items[i], i - (scrlx + nscroll), FALSE, checks[i]); - scrlx += nscroll; - PaintScroller(menu, scrlx + choice, item_no, menu_height); - wnoutrefresh(menu); - wrefresh(dialog); - continue; - } - } - i = 0; - } - else if (menu_height > 1 && key == KEY_NPAGE) { - if (choice == max_choice - 1) { - if (scrlx < max_scroll) { - /* Scroll menu up */ - getyx(dialog, cur_y, cur_x); - - nscroll = (scrlx + max_choice > max_scroll ? - max_scroll : scrlx + max_choice) - scrlx; - scrollok(menu, TRUE); - wscrl(menu, nscroll); - scrollok(menu, FALSE); - - scrlx += nscroll; - for (i = 0; i < max_choice - 1; i++) - PaintCheckItem(menu, items[i + scrlx], i, FALSE, checks[i + scrlx]); - PaintCheckItem(menu, items[i + scrlx], max_choice - 1, TRUE, checks[i + scrlx]); - PaintScroller(menu, scrlx + choice, item_no, menu_height); - wnoutrefresh(menu); - wrefresh(dialog); - continue; - } - } - i = max_choice - 1; - } - else if (key == KEY_UP) { - if (!choice) { - if (scrlx) { - /* Scroll menu down */ - getyx(dialog, cur_y, cur_x); - if (menu_height > 1) { - PaintCheckItem(menu, items[scrlx], 0, FALSE, checks[scrlx]); - scrollok(menu, TRUE); - wscrl(menu, - 1); - scrollok(menu, FALSE); - } - scrlx--; - PaintCheckItem(menu, items[scrlx], 0, TRUE, checks[scrlx]); - PaintScroller(menu, scrlx + choice, item_no, menu_height); - wnoutrefresh(menu); - wrefresh(dialog); - continue; - } - } - else - i = choice - 1; - } - else if (key == KEY_DOWN) { - if (choice == max_choice - 1) { - if (scrlx + choice < item_no - 1) { - /* Scroll menu up */ - getyx(dialog, cur_y, cur_x); - if (menu_height > 1) { - PaintCheckItem(menu, items[scrlx + max_choice - 1], max_choice - 1, FALSE, checks[scrlx + max_choice - 1]); - scrollok(menu, TRUE); - scroll(menu); - scrollok(menu, FALSE); - } - scrlx++; - PaintCheckItem(menu, items[scrlx + max_choice - 1], max_choice - 1, TRUE, checks[scrlx + max_choice - 1]); - PaintScroller(menu, scrlx + choice, item_no, menu_height); - wnoutrefresh(menu); - wrefresh(dialog); - continue; - } - } - else - i = MIN(choice + 1, item_no - 1); - } - - if (i != choice) { - getyx(dialog, cur_y, cur_x); - PaintCheckItem(menu, items[scrlx + choice], choice, FALSE, checks[scrlx + choice]); - - choice = i; - PaintCheckItem(menu, items[scrlx + choice], choice, TRUE, checks[scrlx + choice]); - PaintScroller(menu, scrlx + choice, item_no, menu_height); - wnoutrefresh(menu); - wmove(dialog, cur_y, cur_x); - wrefresh(dialog); - continue; - } - - switch (key) { - case TAB: - case KEY_LEFT: - case KEY_RIGHT: - if (!button) { - button = 1; - PaintButton(dialog, label1, y, x1, FALSE); - PaintButton(dialog, label2, y, x2, TRUE); - } - else { - button = 0; - PaintButton(dialog, label2, y, x2, FALSE); - PaintButton(dialog, label1, y, x1, TRUE); - } - wrefresh(dialog); - break; - case ' ': - getyx(dialog, cur_y, cur_x); - checks[scrlx + choice] = !checks[scrlx + choice]; - PaintCheckItem(menu, items[scrlx + choice], choice, TRUE, checks[scrlx + choice]); - wmove(dialog, cur_y, cur_x); - wnoutrefresh(menu); - wrefresh(dialog); - break; - case '\r': - case '\n': - delwin(dialog); - return (!button ? 0 : -1); - default: - for (i = scrlx + choice + 1; i < item_no; i++) - if (toupper(items[i][0]) == toupper(key)) - break; - if (i == item_no) { - for (i = 0; i < scrlx + choice; i++) - if (toupper(items[i][0]) == toupper(key)) - break; - } - getyx(dialog, cur_y, cur_x); - if (i < item_no && i != scrlx + choice) { - if (i >= scrlx && i < scrlx + max_choice) { - /* it is already visible */ - PaintCheckItem(menu, items[scrlx + choice], choice, FALSE, checks[scrlx + choice]); - choice = i - scrlx; - } - else { - scrlx = MIN(i, max_scroll); - choice = i - scrlx; - for (i = 0; i < max_choice; i++) - if (i != choice) - PaintCheckItem(menu, items[scrlx + i], i, FALSE, checks[scrlx + i]); - } - PaintCheckItem(menu, items[scrlx + choice], choice, TRUE, checks[scrlx + choice]); - PaintScroller(menu, scrlx + choice, item_no, menu_height); - wnoutrefresh(menu); - wmove(dialog, cur_y, cur_x); - wrefresh(dialog); - } - break; - } - } - /*NOTREACHED*/ -} - -static void -PaintCheckItem(WINDOW *win, char *item, int choice, int selected, int checked) -{ - int i; - - wattrset(win, selected ? title_attr : dialog_attr); - wmove(win, choice, 1); - for (i = 1; i < menu_width; i++) - waddch(win, ' '); - wmove(win, choice, item_x); - wattrset(win, selected ? title_attr : dialog_attr); - wprintw(win, "[%c] ", checked ? 'X' : ' '); - waddstr(win, item); -} - -static char * -DialogInput(char *title, char *prompt, int height, int width, char *init, - char *label1, char *label2, int def_button) -{ - int i, x, y, box_y, box_x, box_width, len, - input_x = 0, scrlx = 0, key = 0, button = -1, x1, x2, l1len, l2len; - char instr[1024 + 1]; - WINDOW *dialog; - - x = (COLS - width) / 2; - y = (LINES - height) / 2; - - dialog = newwin(height, width, y, x); - keypad(dialog, TRUE); - - PaintWindow(dialog, title, 0, 0, height, width); - - wattrset(dialog, dialog_attr); - PrintWrap(dialog, prompt, width - 3, 2, 3); - - l1len = strlen(label1); - l2len = strlen(label2); - - x1 = (width - (l1len + l2len)) / 3; - x2 = x1 + x1 + l1len; - - box_width = width - 6; - getyx(dialog, y, x); - box_y = y + 2; - box_x = (width - box_width) / 2; - PaintBox(dialog, y + 1, box_x - 1, 3, box_width + 2); - - x = width / 2 - 11; - y = height - 3; - PaintButton(dialog, label2, y, x2, def_button == 1); - PaintButton(dialog, label1, y, x1, def_button == 0); - - memset(instr, '\0', sizeof(instr)); - wmove(dialog, box_y, box_x); - wattrset(dialog, dialog_attr); - if (init) - strncpy(instr, init, sizeof(instr) - 2); - - input_x = len = strlen(instr); - if (input_x >= box_width) { - scrlx = input_x - box_width + 1; - input_x = box_width - 1; - for (i = 0; i < box_width - 1; i++) - waddch(dialog, instr[scrlx + i]); - } - else - waddstr(dialog, instr); - - wmove(dialog, box_y, box_x + input_x); - - wrefresh(dialog); - - while (1) { - key = wgetch(dialog); - if (button == -1) { /* Input box selected */ - switch (key) { - case TAB: - case KEY_UP: - case KEY_DOWN: - break; - case KEY_LEFT: - if (scrlx && !input_x) { - --scrlx; - wmove(dialog, box_y, box_x); - for (i = 0; i < box_width; i++) - waddch(dialog, instr[scrlx + input_x + i] ? instr[scrlx + input_x + i] : ' '); - wmove(dialog, box_y, input_x + box_x); - wrefresh(dialog); - } - else if (input_x) { - wmove(dialog, box_y, --input_x + box_x); - wrefresh(dialog); - } - continue; - case KEY_RIGHT: - if (input_x + scrlx < len) { - if (input_x == box_width - 1) { - ++scrlx; - wmove(dialog, box_y, box_x); - for (i = scrlx; i < scrlx + box_width; i++) - waddch(dialog, instr[i] ? instr[i] : ' '); - wmove(dialog, box_y, input_x + box_x); - wrefresh(dialog); - } - else { - wmove(dialog, box_y, ++input_x + box_x); - wrefresh(dialog); - } - } - continue; - case KEY_BACKSPACE: - case 0177: -#if defined(__SCO__) || defined(__UNIXWARE__) - case '\b': -#endif - if (input_x || scrlx) { - wattrset(dialog, dialog_attr); - - if (scrlx + input_x < len) - memmove(instr + scrlx + input_x - 1, - instr + scrlx + input_x, - len - (scrlx + input_x)); - instr[--len] = '\0'; - - if (!input_x) { - scrlx = scrlx < box_width - 1 ? 0 : scrlx - (box_width - 1); - wmove(dialog, box_y, box_x); - for (i = 0; i < box_width; i++) - waddch(dialog, instr[scrlx + input_x + i] ? instr[scrlx + input_x + i] : ' '); - input_x = len - scrlx; - } - else { - wmove(dialog, box_y, --input_x + box_x); - for (i = scrlx + input_x; i < len && - i < scrlx + box_width; i++) - waddch(dialog, instr[i]); - if (i < scrlx + box_width) - waddch(dialog, ' '); - } - wmove(dialog, box_y, input_x + box_x); - wrefresh(dialog); - } - continue; - case KEY_HOME: - case CONTROL_A: - wmove(dialog, box_y, box_x); - if (scrlx != 0) { - scrlx = 0; - for (i = 0; i < box_width; i++) - waddch(dialog, instr[i] ? instr[i] : ' '); - } - input_x = 0; - wmove(dialog, box_y, box_x); - wrefresh(dialog); - break; - case CONTROL_D: - if (input_x + scrlx < len) { - memmove(instr + scrlx + input_x, - instr + scrlx + input_x + 1, - len - (scrlx + input_x)); - instr[--len] = '\0'; - for (i = scrlx + input_x; i < len && - i < scrlx + box_width; i++) - waddch(dialog, instr[i]); - if (i < scrlx + box_width) - waddch(dialog, ' '); - wmove(dialog, box_y, input_x + box_x); - wrefresh(dialog); - } - break; - case CONTROL_E: - case KEY_END: - if (box_width + scrlx < len) { - input_x = box_width - 1; - scrlx = len - box_width + 1; - wmove(dialog, box_y, box_x); - for (i = scrlx; i < scrlx + box_width; i++) - waddch(dialog, instr[i] ? instr[i] : ' '); - wmove(dialog, box_y, input_x + box_x); - wrefresh(dialog); - } - else { - input_x = len - scrlx; - wmove(dialog, box_y, input_x + box_x); - wrefresh(dialog); - } - break; - case CONTROL_K: - if (len) { - for (i = input_x; i < box_width; i++) - waddch(dialog, ' '); - for (i = scrlx + input_x; i < len; i++) - instr[i] = '\0'; - len = scrlx + input_x; - wmove(dialog, box_y, box_x + input_x); - wrefresh(dialog); - } - break; - default: - if (key < 0x100 && isprint(key)) { - if (scrlx + input_x < sizeof(instr) - 1) { - wattrset(dialog, dialog_attr); - if (scrlx + input_x < len) { - memmove(instr + scrlx + input_x + 1, - instr + scrlx + input_x, - len - (scrlx + input_x)); - } - instr[scrlx + input_x] = key; - instr[++len] = '\0'; - if (input_x == box_width - 1) { - scrlx++; - wmove(dialog, box_y, box_x); - for (i = 0; i < box_width - 1; i++) - waddch(dialog, instr[scrlx + i]); - } - else { - wmove(dialog, box_y, input_x++ + box_x); - for (i = scrlx + input_x - 1; i < len && - i < scrlx + box_width; i++) - waddch(dialog, instr[i]); - wmove(dialog, box_y, input_x + box_x); - } - wrefresh(dialog); - } - else - flash(); /* Alarm user about overflow */ - continue; - } - } - } - - switch (key) { - case KEY_UP: - case KEY_LEFT: - switch (button) { - case -1: - button = 1; /* Indicates "Cancel" button is selected */ - PaintButton(dialog, label1, y, x1, FALSE); - PaintButton(dialog, label2, y, x2, TRUE); - wrefresh(dialog); - break; - case 0: - button = -1; /* Indicates input box is selected */ - PaintButton(dialog, label2, y, x2, FALSE); - PaintButton(dialog, label1, y, x1, TRUE); - wmove(dialog, box_y, box_x + input_x); - wrefresh(dialog); - break; - case 1: - button = 0; /* Indicates "OK" button is selected */ - PaintButton(dialog, label2, y, x2, FALSE); - PaintButton(dialog, label1, y, x1, TRUE); - wrefresh(dialog); - break; - } - break; - case TAB: - case KEY_DOWN: - case KEY_RIGHT: - switch (button) { - case -1: - button = 0; /* Indicates "OK" button is selected */ - PaintButton(dialog, label2, y, x2, FALSE); - PaintButton(dialog, label1, y, x1, TRUE); - wrefresh(dialog); - break; - case 0: - button = 1; /* Indicates "Cancel" button is selected */ - PaintButton(dialog, label1, y, x1, FALSE); - PaintButton(dialog, label2, y, x2, TRUE); - wrefresh(dialog); - break; - case 1: - button = -1; /* Indicates input box is selected */ - PaintButton(dialog, label2, y, x2, FALSE); - PaintButton(dialog, label1, y, x1, TRUE); - wmove(dialog, box_y, box_x + input_x); - wrefresh(dialog); - break; - } - break; - case ' ': - case '\r': - case '\n': - delwin(dialog); - return (button != 1 ? XtNewString(instr) : NULL); - } - } -} diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/up.xbm b/xorg-server/hw/xfree86/utils/xorgcfg/up.xbm deleted file mode 100644 index 64f8f9ec4..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/up.xbm +++ /dev/null @@ -1,8 +0,0 @@ -#define up_width 19 -#define up_height 19 -static unsigned char up_bits[] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, - 0x00, 0x07, 0x00, 0x80, 0x0f, 0x00, 0xc0, 0x1f, 0x00, 0xe0, 0x3f, 0x00, - 0xf0, 0x7f, 0x00, 0xf8, 0xff, 0x00, 0xfc, 0xff, 0x01, 0x80, 0x0f, 0x00, - 0x80, 0x0f, 0x00, 0x80, 0x0f, 0x00, 0x80, 0x0f, 0x00, 0x80, 0x0f, 0x00, - 0x80, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/vidmode.c b/xorg-server/hw/xfree86/utils/xorgcfg/vidmode.c deleted file mode 100644 index 2d613b6df..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/vidmode.c +++ /dev/null @@ -1,1346 +0,0 @@ -/* - * 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. - * - * Author: Paulo César Pereira de Andrade - * - */ - -/* - * Most of the code here is based on the xvidtune code. - */ - -#include "vidmode.h" -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "xf86config.h" - -#define V_FLAG_MASK 0x1FF -#define V_PHSYNC 0x001 -#define V_NHSYNC 0x002 -#define V_PVSYNC 0x004 -#define V_NVSYNC 0x008 -#define V_INTERLACE 0x010 -#define V_DBLSCAN 0x020 -#define V_CSYNC 0x040 -#define V_PCSYNC 0x080 -#define V_NCSYNC 0x100 - -#define LEFT 0 -#define RIGHT 1 -#define UP 2 -#define DOWN 3 -#define WIDER 4 -#define TALLER 5 -#define NARROWER 6 -#define SHORTER 7 - -#define HDISPLAY 0 -#define VDISPLAY 1 -#define HSYNCSTART 2 -#define HSYNCEND 3 -#define HTOTAL 4 -#define VSYNCSTART 5 -#define VSYNCEND 6 -#define VTOTAL 7 -#define FLAGS 8 -#define CLOCK 9 -#define HSYNC 10 -#define VSYNC 11 - -#define MINMAJOR 2 -#define MINMINOR 0 - -/* - * Types - */ -typedef struct { - char *ident; - XF86VidModeModeInfo info; -} xf86cfgVesaModeInfo; - -/* - * Prototypes - */ -static Bool GetModeLine(Bool); -static void StartAdjustMonitorCallback(Widget, XtPointer, XtPointer); -static void AdjustMonitorCallback(Widget, XtPointer, XtPointer); -static void EndAdjustMonitorCallback(Widget, XtPointer, XtPointer); -static void SetLabel(int, int); -static void UpdateSyncRates(Bool); -static int VidmodeError(Display*, XErrorEvent*); -static void CleanUp(Display*); -static void ApplyCallback(Widget, XtPointer, XtPointer); -static void AutoCallback(Widget, XtPointer, XtPointer); -static void RestoreCallback(Widget, XtPointer, XtPointer); -static void SelectCallback(Widget, XtPointer, XtPointer); -static void SelectMonitorCallback(Widget, XtPointer, XtPointer); -static void SwitchCallback(Widget, XtPointer, XtPointer); -static void SetLabels(void); -static void UpdateCallback(Widget, XtPointer, XtPointer); -static void ChangeScreenCallback(Widget, XtPointer, XtPointer); -static void SetLabelAndModeline(void); -static void AddVesaModeCallback(Widget, XtPointer, XtPointer); -static void GetModes(void); -static void AddModeCallback(Widget, XtPointer, XtPointer); -static void TestCallback(Widget, XtPointer, XtPointer); -static void TestTimeout(XtPointer, XtIntervalId*); -static void StopTestCallback(Widget, XtPointer, XtPointer); -static int ForceAddMode(void); -static int AddMode(void); -/* - * Initialization - */ -extern Widget work; -Widget vtune; -static Widget apply, automatic, restore, mode, menu, screenb, screenp; -static Bool autoflag; -static xf86cfgVidmode *vidtune; -static XF86VidModeModeLine modeline, orig_modeline; -static int dot_clock, hsync_rate, vsync_rate, hitError; -static int screenno; -static int (*XtErrorFunc)(Display*, XErrorEvent*); -static Widget values[VSYNC + 1], repeater, monitor, - monitorb, add, text, vesap, forceshell, testshell, addshell; -static int MajorVersion, MinorVersion, EventBase, ErrorBase; -static XtIntervalId timeout; - -/* The information bellow is extracted from - * xc/programs/Xserver/hw/xfree86/etc/vesamodes - * If that file is changed, please update the table bellow also. Or even - * better, write a script to generate the table. - */ -static xf86cfgVesaModeInfo vesamodes[] = { - { - "640x350 @ 85Hz (VESA) hsync: 37.9kHz", - { - 31500, 640, 672, 736, 832, 0, 350, 382, 385, 445, - V_PHSYNC | V_NVSYNC - } - }, - { - "640x400 @ 85Hz (VESA) hsync: 37.9kHz", - { - 31500, 640, 672, 736, 832, 0, 400, 401, 404, 445, - V_NHSYNC | V_PVSYNC - } - }, - { - "720x400 @ 85Hz (VESA) hsync: 37.9kHz", - { - 35500, 720, 756, 828, 936, 0, 400, 401, 404, 446, - V_NHSYNC | V_PVSYNC - } - }, - { - "640x480 @ 60Hz (Industry standard) hsync: 31.5kHz", - { - 25200, 640, 656, 752, 800, 0, 480, 490, 492, 525, - V_NHSYNC | V_NVSYNC - } - }, - { - "640x480 @ 72Hz (VESA) hsync: 37.9kHz", - { - 31500, 640, 664, 704, 832, 0, 480, 489, 491, 520, - V_NHSYNC | V_NVSYNC - } - }, - { - "640x480 @ 75Hz (VESA) hsync: 37.5kHz", - { - 31500, 640, 656, 720, 840, 0, 480, 481, 484, 500, - V_NHSYNC | V_NVSYNC - } - }, - { - "640x480 @ 85Hz (VESA) hsync: 43.3kHz", - { - 36000, 640, 696, 752, 832, 0, 480, 481, 484, 509, - V_NHSYNC | V_NVSYNC - } - }, - { - "800x600 @ 56Hz (VESA) hsync: 35.2kHz", - { - 36000, 800, 824, 896, 1024, 0, 600, 601, 603, 625, - V_PHSYNC | V_PVSYNC - } - }, - { - "800x600 @ 60Hz (VESA) hsync: 37.9kHz", - { - 400000, 800, 840, 968, 1056, 0, 600, 601, 605, 628, - V_PHSYNC | V_PVSYNC - } - }, - { - "800x600 @ 72Hz (VESA) hsync: 48.1kHz", - { - 50000, 800, 856, 976, 1040, 0, 600, 637, 643, 666, - V_PHSYNC | V_PVSYNC - } - }, - { - "800x600 @ 75Hz (VESA) hsync: 46.9kHz", - { - 49500, 800, 816, 896, 1056, 0, 600, 601, 604, 625, - V_PHSYNC | V_PVSYNC - } - }, - { - "800x600 @ 85Hz (VESA) hsync: 53.7kHz", - { - 563000, 800, 832, 896, 1048, 0, 600, 601, 604, 631, - V_PHSYNC | V_PVSYNC - } - }, - { - "1024x768i @ 43Hz (industry standard) hsync: 35.5kHz", - { - 44900, 1024, 1032, 1208, 1264, 0, 768, 768, 776, 817, - V_PHSYNC | V_PVSYNC | V_INTERLACE - } - }, - { - "1024x768 @ 60Hz (VESA) hsync: 48.4kHz", - { - 65000, 1024, 1048, 1184, 1344, 0, 768, 771, 777, 806, - V_NHSYNC | V_NVSYNC - } - }, - { - "1024x768 @ 70Hz (VESA) hsync: 56.5kHz", - { - 75000, 1024, 1048, 1184, 1328, 0, 768, 771, 777, 806, - V_NHSYNC | V_NVSYNC - } - }, - { - "1024x768 @ 75Hz (VESA) hsync: 60.0kHz", - { - 78800, 1024, 1040, 1136, 1312, 0, 768, 769, 772, 800, - V_PHSYNC | V_PVSYNC - } - }, - { - "1024x768 @ 85Hz (VESA) hsync: 68.7kHz", - { - 94500, 1024, 1072, 1168, 1376, 0, 768, 769, 772, 808, - V_PHSYNC | V_PVSYNC - } - }, - { - "1152x864 @ 75Hz (VESA) hsync: 67.5kHz", - { - 108000, 1152, 1216, 1344, 1600, 0, 864, 865, 868, 900, - V_PHSYNC | V_PVSYNC - } - }, - { - "1280x960 @ 60Hz (VESA) hsync: 60.0kHz", - { - 108000, 1280, 1376, 1488, 1800, 0, 960, 961, 964, 1000, - V_PHSYNC | V_PVSYNC - } - }, - { - "1280x960 @ 85Hz (VESA) hsync: 85.9kHz", - { - 148500, 1280, 1344, 1504, 1728, 0, 960, 961, 964, 1011, - V_PHSYNC | V_PVSYNC - } - }, - { - "1280x1024 @ 60Hz (VESA) hsync: 64.0kHz", - { - 108000, 1280, 1328, 1440, 1688, 0, 1024, 1025, 1028, 1066, - V_PHSYNC | V_PVSYNC - } - }, - { - "1280x1024 @ 75Hz (VESA) hsync: 80.0kHz", - { - 135000, 1280, 1296, 1440, 1688, 0, 1024, 1025, 1028, 1066, - V_PHSYNC | V_PVSYNC - } - }, - { - "1280x1024 @ 85Hz (VESA) hsync: 91.1kHz", - { - 157500, 1280, 1344, 1504, 1728, 0, 1024, 1025, 1028, 1072, - V_PHSYNC | V_PVSYNC - } - }, - { - "1600x1200 @ 60Hz (VESA) hsync: 75.0kHz", - { - 162000, 1600, 1664, 1856, 2160, 0, 1200, 1201, 1204, 1250, - V_PHSYNC | V_PVSYNC - } - }, - { - "1600x1200 @ 65Hz (VESA) hsync: 81.3kHz", - { - 175500, 1600, 1664, 1856, 2160, 0, 1200, 1201, 1204, 1250, - V_PHSYNC | V_PVSYNC - } - }, - { - "1600x1200 @ 70Hz (VESA) hsync: 87.5kHz", - { - 189000, 1600, 1664, 1856, 2160, 0, 1200, 1201, 1204, 1250, - V_PHSYNC | V_PVSYNC - } - }, - { - "1600x1200 @ 75Hz (VESA) hsync: 93.8kHz", - { - 202500, 1600, 1664, 1856, 2160, 0, 1200, 1201, 1204, 1250, - V_PHSYNC | V_PVSYNC - } - }, - { - "1600x1200 @ 85Hz (VESA) hsync: 106.3kHz", - { - 229500, 1600, 1664, 1856, 2160, 0, 1200, 1201, 1204, 1250, - V_PHSYNC | V_PVSYNC - } - }, - { - "1792x1344 @ 60Hz (VESA) hsync: 83.6kHz", - { - 204800, 1792, 1920, 2120, 2448, 0, 1344, 1345, 1348, 1394, - V_NHSYNC | V_PVSYNC - } - }, - { - "1792x1344 @ 75Hz (VESA) hsync: 106.3kHz", - { - 261000, 1792, 1888, 2104, 2456, 0, 1344, 1345, 1348, 1417, - V_NHSYNC | V_PVSYNC - } - }, - { - "1856x1392 @ 60Hz (VESA) hsync: 86.3kHz", - { - 218300, 1856, 1952, 2176, 2528, 0, 1392, 1393, 1396, 1439, - V_NHSYNC | V_PVSYNC - } - }, - { - "1856x1392 @ 75Hz (VESA) hsync: 112.5kHz", - { - 288000, 1856, 1984, 2208, 2560, 0, 1392, 1393, 1396, 1500, - V_NHSYNC | V_PVSYNC - } - }, - { - "1920x1440 @ 60Hz (VESA) hsync: 90.0kHz", - { - 234000, 1920, 2048, 2256, 2600, 0, 1440, 1441, 1444, 1500, - V_NHSYNC | V_PVSYNC - } - }, - { - "1920x1440 @ 75Hz (VESA) hsync: 112.5kHz", - { - 297000, 1920, 2064, 2288, 2640, 0, 1440, 1441, 1444, 1500, - V_NHSYNC | V_PVSYNC - } - }, -}; - -/* - * Implementation - */ -Bool -VideoModeInitialize(void) -{ - Widget form; - char dispstr[128], *ptr, *tmp; - - static char *names[] = { - NULL, - NULL, - "hsyncstart", - "hsyncend", - "htotal", - "vsyncstart", - "vsyncend", - "vtotal", - "flags", - "clock", - "hsync", - "vsync", - }; - static char *vnames[] = { - NULL, - NULL, - "v-hsyncstart", - "v-hsyncend", - "v-htotal", - "v-vsyncstart", - "v-vsyncend", - "v-vtotal", - "v-flags", - "v-clock", - "v-hsync", - "v-vsync", - }; - Widget rep; - int i; - - if (!XF86VidModeQueryVersion(XtDisplay(toplevel), - &MajorVersion, &MinorVersion)) { - fprintf(stderr, "Unable to query video extension version\n"); - return (False); - } - else if (!XF86VidModeQueryExtension(XtDisplay(toplevel), - &EventBase, &ErrorBase)) { - fprintf(stderr, "Unable to query video extension information\n"); - return (False); - } - else if (MajorVersion < MINMAJOR || - (MajorVersion == MINMAJOR && MinorVersion < MINMINOR)) { - fprintf(stderr, - "Xserver is running an old XFree86-VidModeExtension version" - " (%d.%d)\n", MajorVersion, MinorVersion); - fprintf(stderr, "Minimum required version is %d.%d\n", - MINMAJOR, MINMINOR); - return (False); - } - else - InitializeVidmodes(); - - vtune = XtCreateWidget("vidtune", formWidgetClass, - work, NULL, 0); - - (void) XtVaCreateManagedWidget("vesaB", menuButtonWidgetClass, vtune, - XtNmenuName, "vesaP", NULL); - vesap = XtCreatePopupShell("vesaP", simpleMenuWidgetClass, vtune, NULL, 0); - for (i = 0; i < sizeof(vesamodes) / sizeof(vesamodes[0]); i++) { - rep = XtCreateManagedWidget(vesamodes[i].ident, smeBSBObjectClass, - vesap, NULL, 0); - XtAddCallback(rep, XtNcallback, AddVesaModeCallback, - (XtPointer)&vesamodes[i]); - } - - rep = XtCreateManagedWidget("prev", commandWidgetClass, vtune, NULL, 0); - XtAddCallback(rep, XtNcallback, SwitchCallback, (XtPointer)-1); - mode = XtCreateManagedWidget("mode", menuButtonWidgetClass, vtune, NULL, 0); - rep = XtCreateManagedWidget("next", commandWidgetClass, vtune, NULL, 0); - XtAddCallback(rep, XtNcallback, SwitchCallback, (XtPointer)1); - - screenp = XtCreatePopupShell("screenP", simpleMenuWidgetClass, vtune, - NULL, 0); - - XmuSnprintf(dispstr, sizeof(dispstr), "%s", - DisplayString(XtDisplay(toplevel))); - ptr = strrchr(dispstr, '.'); - tmp = strrchr(dispstr, ':'); - if (tmp != NULL && ptr != NULL && ptr > tmp) - *ptr = '\0'; - - for (i = 0; i < ScreenCount(XtDisplay(toplevel)); i++) { - char name[128]; - - XmuSnprintf(name, sizeof(name), "%s.%d", dispstr, i); - rep = XtCreateManagedWidget(name, smeBSBObjectClass, screenp, - NULL, 0); - XtAddCallback(rep, XtNcallback, ChangeScreenCallback, - (XtPointer)(long)i); - if (i == 0) { - screenb = XtVaCreateManagedWidget("screenB", menuButtonWidgetClass, - vtune, - XtNmenuName, "screenP", - XtNlabel, name, - NULL); - } - } - XtRealizeWidget(screenp); - - rep = XtCreateManagedWidget("up", repeaterWidgetClass, - vtune, NULL, 0); - XtAddCallback(rep, XtNstartCallback, StartAdjustMonitorCallback, NULL); - XtAddCallback(rep, XtNcallback, - AdjustMonitorCallback, (XtPointer)UP); - XtAddCallback(rep, XtNstopCallback, EndAdjustMonitorCallback, NULL); - rep = XtCreateManagedWidget("left", repeaterWidgetClass, - vtune, NULL, 0); - XtAddCallback(rep, XtNstartCallback, StartAdjustMonitorCallback, NULL); - XtAddCallback(rep, XtNcallback, - AdjustMonitorCallback, (XtPointer)LEFT); - XtAddCallback(rep, XtNstopCallback, EndAdjustMonitorCallback, NULL); - XtCreateManagedWidget("monitor", simpleWidgetClass, vtune, NULL, 0); - rep = XtCreateManagedWidget("right", repeaterWidgetClass, - vtune, NULL, 0); - XtAddCallback(rep, XtNstartCallback, StartAdjustMonitorCallback, NULL); - XtAddCallback(rep, XtNcallback, - AdjustMonitorCallback, (XtPointer)RIGHT); - XtAddCallback(rep, XtNstopCallback, EndAdjustMonitorCallback, NULL); - rep = XtCreateManagedWidget("down", repeaterWidgetClass, - vtune, NULL, 0); - XtAddCallback(rep, XtNstartCallback, StartAdjustMonitorCallback, NULL); - XtAddCallback(rep, XtNcallback, - AdjustMonitorCallback, (XtPointer)DOWN); - XtAddCallback(rep, XtNstopCallback, EndAdjustMonitorCallback, NULL); - rep = XtCreateManagedWidget("wider", repeaterWidgetClass, - vtune, NULL, 0); - XtAddCallback(rep, XtNstartCallback, StartAdjustMonitorCallback, NULL); - XtAddCallback(rep, XtNcallback, - AdjustMonitorCallback, (XtPointer)WIDER); - XtAddCallback(rep, XtNstopCallback, EndAdjustMonitorCallback, NULL); - rep = XtCreateManagedWidget("narrower", repeaterWidgetClass, - vtune, NULL, 0); - XtAddCallback(rep, XtNstartCallback, StartAdjustMonitorCallback, NULL); - XtAddCallback(rep, XtNcallback, - AdjustMonitorCallback, (XtPointer)NARROWER); - XtAddCallback(rep, XtNstopCallback, EndAdjustMonitorCallback, NULL); - rep = XtCreateManagedWidget("shorter", repeaterWidgetClass, - vtune, NULL, 0); - XtAddCallback(rep, XtNstartCallback, StartAdjustMonitorCallback, NULL); - XtAddCallback(rep, XtNcallback, - AdjustMonitorCallback, (XtPointer)SHORTER); - XtAddCallback(rep, XtNstopCallback, EndAdjustMonitorCallback, NULL); - rep = XtCreateManagedWidget("taller", repeaterWidgetClass, - vtune, NULL, 0); - XtAddCallback(rep, XtNstartCallback, StartAdjustMonitorCallback, NULL); - XtAddCallback(rep, XtNcallback, - AdjustMonitorCallback, (XtPointer)TALLER); - XtAddCallback(rep, XtNstopCallback, EndAdjustMonitorCallback, NULL); - - automatic = XtCreateManagedWidget("auto", toggleWidgetClass, vtune, NULL, 0); - XtAddCallback(automatic, XtNcallback, AutoCallback, NULL); - apply = XtCreateManagedWidget("apply", commandWidgetClass, vtune, NULL, 0); - XtAddCallback(apply, XtNcallback, ApplyCallback, NULL); - restore = XtCreateManagedWidget("restore", commandWidgetClass, vtune, NULL, 0); - XtAddCallback(restore, XtNcallback, RestoreCallback, NULL); - rep = XtCreateManagedWidget("update", commandWidgetClass, vtune, NULL, 0); - XtAddCallback(rep, XtNcallback, UpdateCallback, NULL); - rep = XtCreateManagedWidget("test", commandWidgetClass, vtune, NULL, 0); - XtAddCallback(rep, XtNcallback, TestCallback, NULL); - - form = XtCreateManagedWidget("form", formWidgetClass, vtune, NULL, 0); - for (i = 2; i < VSYNC + 1; i++) { - (void) XtCreateManagedWidget(names[i], labelWidgetClass, - form, NULL, 0); - values[i] = XtCreateManagedWidget(vnames[i], labelWidgetClass, - form, NULL, 0); - } - - add = XtCreateManagedWidget("add", commandWidgetClass, vtune, NULL, 0); - XtAddCallback(add, XtNcallback, AddModeCallback, NULL); - XtCreateManagedWidget("addto", labelWidgetClass, vtune, NULL, 0); - monitorb = XtCreateManagedWidget("ident", menuButtonWidgetClass, vtune, - NULL, 0); - XtCreateManagedWidget("as", labelWidgetClass, vtune, NULL, 0); - text = XtVaCreateManagedWidget("text", asciiTextWidgetClass, vtune, - XtNeditType, XawtextEdit, NULL); - - XtRealizeWidget(vtune); - - return (True); -} - -void -InitializeVidmodes(void) -{ - int i; - Display *display = XtDisplay(toplevel); - - computer.num_vidmodes = ScreenCount(display); - computer.vidmodes = (xf86cfgVidmode**) - XtMalloc(sizeof(xf86cfgVidmode*) * computer.num_vidmodes); - for (i = 0; i < computer.num_vidmodes; i++) { - - computer.vidmodes[i] = (xf86cfgVidmode*) - XtCalloc(1, sizeof(xf86cfgVidmode)); - computer.vidmodes[i]->screen = i; - } -} - -void -VideoModeConfigureStart(void) -{ - vidtune = computer.vidmodes[screenno]; - - XtSetSensitive(vtune, vidtune != NULL); - if (!XtIsManaged(vtune)) - XtManageChild(vtune); - else - XtMapWidget(vtune); - if (vidtune != NULL) { - Arg args[1]; - Boolean state; - XF86ConfMonitorPtr mon; - static char menuName[16]; - static int menuN; - - XtErrorFunc = XSetErrorHandler(VidmodeError); - XF86VidModeLockModeSwitch(XtDisplay(toplevel), vidtune->screen, True); - GetModeLine(True); - GetModes(); - - SetLabels(); - XtSetArg(args[0], XtNstate, &state); - XtGetValues(automatic, args, 1); - XtSetSensitive(apply, !state); - autoflag = state; - - if (monitor) - XtDestroyWidget(monitor); - XmuSnprintf(menuName, sizeof(menuName), "menuP%d", menuN); - menuN = !menuN; - monitor = XtCreatePopupShell(menuName, simpleMenuWidgetClass, - vtune, NULL, 0); - XtVaSetValues(monitorb, XtNmenuName, menuName, NULL); - - mon = XF86Config->conf_monitor_lst; - while (mon != NULL) { - Widget sme = XtCreateManagedWidget(mon->mon_identifier, - smeBSBObjectClass, - monitor, NULL, 0); - XtAddCallback(sme, XtNcallback, - SelectMonitorCallback, (XtPointer)mon); - - /* guess the monitor at a given screen and/or - * updates configuration if a monitor was removed from the - * configuration. - */ - if (XF86Config->conf_layout_lst) { - XF86ConfAdjacencyPtr adj = XF86Config->conf_layout_lst-> - lay_adjacency_lst; - - while (adj != NULL) { - if (adj->adj_screen != NULL) { - if (adj->adj_screen->scrn_monitor == mon && - adj->adj_scrnum >= 0 && - adj->adj_scrnum < ScreenCount(XtDisplay(toplevel))) { - if (computer.vidmodes[adj->adj_scrnum]->monitor == - NULL || computer.vidmodes[adj->adj_scrnum]-> - monitor == adj->adj_screen->scrn_monitor) { - computer.vidmodes[adj->adj_scrnum]->monitor = - adj->adj_screen->scrn_monitor; - break; - } - else - computer.vidmodes[adj->adj_scrnum]->monitor = - NULL; - } - } - adj = (XF86ConfAdjacencyPtr)(adj->list.next); - } - } - mon = (XF86ConfMonitorPtr)(mon->list.next); - } - SetLabelAndModeline(); - } -} - -void -VideoModeConfigureEnd(void) -{ - XtUnmapWidget(vtune); - if (vidtune != NULL) { - XF86VidModeLockModeSwitch(XtDisplay(toplevel), vidtune->screen, False); - XSetErrorHandler(XtErrorFunc); - } - vidtune = NULL; -} - -static void -SetLabelAndModeline(void) -{ - if (vidtune->monitor != NULL) { - char string[32]; - - XtVaSetValues(monitorb, XtNlabel, - vidtune->monitor->mon_identifier, NULL); - XtSetSensitive(add, True); - - if (modeline.htotal && modeline.vtotal) - XmuSnprintf(string, sizeof(string), "%dx%d@%d", - modeline.hdisplay, modeline.vdisplay, - (int)((double)dot_clock / (double)modeline.htotal * 1000.0 / - (double)modeline.vtotal)); - else - XmuSnprintf(string, sizeof(string), "%dx%d", - modeline.hdisplay, modeline.vdisplay); - XtVaSetValues(text, XtNstring, string, NULL); - } - else { - XtVaSetValues(monitorb, XtNlabel, "", NULL); - XtSetSensitive(add, False); - XtVaSetValues(text, XtNstring, "", NULL); - } -} - -/*ARGSUSED*/ -void -VidmodeRestoreAction(Widget w, XEvent *event, - String *params, Cardinal *num_params) -{ - if (vidtune != NULL) { - if (timeout != 0) - StopTestCallback(w, NULL, NULL); - else - RestoreCallback(w, NULL, NULL); - } -} - -static void -UpdateSyncRates(Bool update) -{ - if (modeline.htotal && modeline.vtotal) { - hsync_rate = (dot_clock * 1000) / modeline.htotal; - vsync_rate = (hsync_rate * 1000) / modeline.vtotal; - if (modeline.flags & V_INTERLACE) - vsync_rate *= 2; - else if (modeline.flags & V_DBLSCAN) - vsync_rate /= 2; - if (update) { - SetLabel(HSYNC, hsync_rate); - SetLabel(VSYNC, vsync_rate); - } - } -} - -static void -SetLabel(int ident, int value) -{ - Arg args[1]; - char label[256]; - - if (ident == FLAGS) { - int len = 0; - - *label = '\0'; - if (value & V_PHSYNC) - len += XmuSnprintf(label, sizeof(label), "%s", "+hsync"); - if (modeline.flags & V_NHSYNC) - len += XmuSnprintf(label + len, sizeof(label), "%s%s", - len ? " " : "", "-hsync"); - if (value & V_PVSYNC) - len += XmuSnprintf(label + len, sizeof(label), "%s%s", - len ? " " : "", "+vsync"); - if (value & V_NVSYNC) - len += XmuSnprintf(label + len, sizeof(label), "%s%s", - len ? " " : "", "-vsync"); - if (value & V_INTERLACE) - len += XmuSnprintf(label + len, sizeof(label), "%s%s", - len ? " " : "", "interlace"); - if (value & V_CSYNC) - len += XmuSnprintf(label + len, sizeof(label), "%s%s", - len ? " " : "", "composite"); - if (value & V_PCSYNC) - len += XmuSnprintf(label + len, sizeof(label), "%s%s", - len ? " " : "", "+csync"); - if (value & V_NCSYNC) - len += XmuSnprintf(label + len, sizeof(label), "%s%s", - len ? " " : "", "-csync"); - if (value & V_DBLSCAN) - len += XmuSnprintf(label + len, sizeof(label), "%s%s", - len ? " " : "", "doublescan"); - - } - else if (ident == CLOCK || ident == HSYNC || ident == VSYNC) - XmuSnprintf(label, sizeof(label), "%6.2f", (float)value / 1000.0); - else - XmuSnprintf(label, sizeof(label), "%d", value); - - XtSetArg(args[0], XtNlabel, label); - XtSetValues(values[ident], args, 1); -} - -/*ARGSUSED*/ -static void -StartAdjustMonitorCallback(Widget w, XtPointer client_data, XtPointer call_data) -{ - repeater = w; -} - -static void -AdjustMonitorCallback(Widget w, XtPointer client_data, XtPointer call_data) -{ - if (repeater != w) - return; - switch ((long)client_data) { - case LEFT: - if (modeline.hsyncend + 4 < modeline.htotal) { - modeline.hsyncstart += 4; - modeline.hsyncend += 4; - SetLabel(HSYNCSTART, modeline.hsyncstart); - SetLabel(HSYNCEND, modeline.hsyncend); - } - else - XBell(XtDisplay(w), 80); - break; - case RIGHT: - if (modeline.hsyncstart - 4 > modeline.hdisplay) { - modeline.hsyncstart -= 4; - modeline.hsyncend -= 4; - SetLabel(HSYNCSTART, modeline.hsyncstart); - SetLabel(HSYNCEND, modeline.hsyncend); - } - else - XBell(XtDisplay(w), 80); - break; - case NARROWER: - modeline.htotal += 4; - SetLabel(HTOTAL, modeline.htotal); - UpdateSyncRates(True); - break; - case WIDER: - if (modeline.htotal - 4 > modeline.hsyncend) { - modeline.htotal -= 4; - SetLabel(HTOTAL, modeline.htotal); - UpdateSyncRates(True); - } - else - XBell(XtDisplay(w), 80); - break; - case UP: - if (modeline.vsyncend + 4 < modeline.vtotal) { - modeline.vsyncstart += 4; - modeline.vsyncend += 4; - SetLabel(VSYNCSTART, modeline.vsyncstart); - SetLabel(VSYNCEND, modeline.vsyncend); - } - else - XBell(XtDisplay(w), 80); - break; - case DOWN: - if (modeline.vsyncstart - 4 > modeline.vdisplay) { - modeline.vsyncstart -= 4; - modeline.vsyncend -= 4; - SetLabel(VSYNCSTART, modeline.vsyncstart); - SetLabel(VSYNCEND, modeline.vsyncend); - } - else - XBell(XtDisplay(w), 80); - break; - case SHORTER: - modeline.vtotal += 4; - SetLabel(VTOTAL, modeline.vtotal); - UpdateSyncRates(True); - break; - case TALLER: - if (modeline.vtotal - 4 > modeline.vsyncend) { - modeline.vtotal -= 4; - SetLabel(VTOTAL, modeline.vtotal); - UpdateSyncRates(True); - } - else - XBell(XtDisplay(w), 80); - break; - } - - if (autoflag) - ApplyCallback(w, call_data, client_data); -} - -/*ARGSUSED*/ -static void -EndAdjustMonitorCallback(Widget w, XtPointer client_data, XtPointer call_data) -{ - repeater = NULL; -} - -static Bool -GetModeLine(Bool save) -{ - if (XF86VidModeGetModeLine(XtDisplay(toplevel), vidtune->screen, - &dot_clock, &modeline)) { - if (save) - memcpy(&orig_modeline, &modeline, sizeof(XF86VidModeModeLine)); - UpdateSyncRates(False); - return (True); - } - - return (False); -} - -static void -CleanUp(Display *display) -{ - /* Make sure mode switching is not locked out at exit */ - XF86VidModeLockModeSwitch(display, vidtune->screen, False); - XFlush(display); -} - -static int -VidmodeError(Display *display, XErrorEvent *error) -{ - if ((error->error_code >= ErrorBase && - error->error_code < ErrorBase + XF86VidModeNumberErrors) || - error->error_code == BadValue) { - hitError = 1; - } - else { - CleanUp(display); - if (XtErrorFunc) - (*XtErrorFunc)(display, error); - } - return (0); -} - -/*ARGSUSED*/ -static void -ApplyCallback(Widget w, XtPointer call_data, XtPointer client_data) -{ - hitError = 0; - XF86VidModeModModeLine(XtDisplay(w), vidtune->screen, &modeline); - XSync(XtDisplay(w), False); - if (hitError) { - if (repeater != NULL) { - XtCallActionProc(repeater, "unset", NULL, NULL, 0); - XtCallActionProc(repeater, "stop", NULL, NULL, 0); - repeater = NULL; - } - XBell(XtDisplay(w), 80); - if (timeout) - StopTestCallback(w, NULL, NULL); - GetModeLine(False); - SetLabels(); - } -} - -/*ARGSUSED*/ -static void -AutoCallback(Widget w, XtPointer call_data, XtPointer client_data) -{ - autoflag = (Bool)(long)client_data; - XtSetSensitive(apply, !autoflag); -} - -static void -RestoreCallback(Widget w, XtPointer call_data, XtPointer client_data) -{ - memcpy(&modeline, &orig_modeline, sizeof(XF86VidModeModeLine)); - if (autoflag) - ApplyCallback(w, call_data, client_data); - SetLabels(); -} - -static void -SelectCallback(Widget w, XtPointer call_data, XtPointer client_data) -{ - XF86VidModeModeInfo *info = (XF86VidModeModeInfo*)call_data; - Arg args[1]; - Bool result; - - XF86VidModeLockModeSwitch(XtDisplay(toplevel), vidtune->screen, False); - result = XF86VidModeSwitchToMode(XtDisplay(toplevel), vidtune->screen, info); - XF86VidModeLockModeSwitch(XtDisplay(toplevel), vidtune->screen, True); - if (!result) - return; - - XtSetArg(args[0], XtNlabel, XtName(w)); - XtSetValues(mode, args, 1); - UpdateCallback(w, call_data, client_data); -} - -static void -SwitchCallback(Widget w, XtPointer call_data, XtPointer client_data) -{ - int direction = (long)call_data; - Arg args[1]; - Bool result; - char label[32]; - - XF86VidModeLockModeSwitch(XtDisplay(toplevel), vidtune->screen, False); - result = XF86VidModeSwitchMode(XtDisplay(toplevel), vidtune->screen, - direction); - XF86VidModeLockModeSwitch(XtDisplay(toplevel), vidtune->screen, True); - if (!result) - return; - - UpdateCallback(w, call_data, client_data); - - if (modeline.htotal && modeline.vtotal) - XmuSnprintf(label, sizeof(label), "%dx%d @ %d Hz", - modeline.hdisplay, modeline.vdisplay, - (int)((double)dot_clock / (double)modeline.htotal * 1000.0 / - (double)modeline.vtotal)); - else - XmuSnprintf(label, sizeof(label), "%dx%d", - modeline.hdisplay, modeline.vdisplay); - XtSetArg(args[0], XtNlabel, label); - XtSetValues(mode, args, 1); -} - -/*ARGSUSED*/ -static void -UpdateCallback(Widget w, XtPointer call_data, XtPointer client_data) -{ - GetModeLine(True); - SetLabels(); - SetLabelAndModeline(); -} - -static void -SetLabels(void) -{ - SetLabel(HSYNCSTART, modeline.hsyncstart); - SetLabel(VSYNCSTART, modeline.vsyncstart); - SetLabel(HSYNCEND, modeline.hsyncend); - SetLabel(VSYNCEND, modeline.vsyncend); - SetLabel(HTOTAL, modeline.htotal); - SetLabel(VTOTAL, modeline.vtotal); - SetLabel(FLAGS, modeline.flags); - SetLabel(CLOCK, dot_clock); - UpdateSyncRates(True); -} - -/*ARGSUSED*/ -static void -ChangeScreenCallback(Widget w, XtPointer call_data, XtPointer client_data) -{ - Arg args[1]; - - screenno = (long)call_data; - if (screenno > computer.num_vidmodes || screenno < 0 || - vidtune == computer.vidmodes[screenno]) - return; - - XF86VidModeLockModeSwitch(XtDisplay(toplevel), vidtune->screen, False); - vidtune = computer.vidmodes[screenno]; - XF86VidModeLockModeSwitch(XtDisplay(toplevel), vidtune->screen, True); - UpdateCallback(w, call_data, client_data); - GetModes(); - - XtSetArg(args[0], XtNlabel, XtName(w)); - XtSetValues(screenb, args, 1); - - SetLabelAndModeline(); -} - -/*ARGSUSED*/ -static void -SelectMonitorCallback(Widget w, XtPointer call_data, XtPointer client_data) -{ - vidtune->monitor = (XF86ConfMonitorPtr)(call_data); - SetLabelAndModeline(); -} - -/*ARGSUSED*/ -static void -AddVesaModeCallback(Widget w, XtPointer call_data, XtPointer client_data) -{ - xf86cfgVesaModeInfo *vesa = (xf86cfgVesaModeInfo*)call_data; - XF86VidModeModeInfo mode; - int num_infos = vidtune->num_infos; - - memcpy(&mode, &vesa->info, sizeof(XF86VidModeModeInfo)); - if (XF86VidModeAddModeLine(XtDisplay(toplevel), vidtune->screen, - &vesa->info, &mode)) { - XSync(XtDisplay(toplevel), False); - GetModes(); - } - else { - XBell(XtDisplayOfObject(w), 80); - return; - } - - if (vidtune && num_infos == vidtune->num_infos) { - /* XF86VidModeAddModeLine returned True, but no modeline was added */ - XBell(XtDisplayOfObject(w), 80); - if (vidtune->monitor && AddMode()) { - XF86ConfModeLinePtr mode; - char label[256], *ptr, *str; - - XmuSnprintf(label, sizeof(label), "%s", vesa->ident); - - /* format mode name to not have spaces */ - ptr = strchr(label, ')'); - if (ptr) - *++ptr = '\0'; - ptr = str = label; - while (*ptr) { - if (*ptr != ' ') - *str++ = *ptr; - ++ptr; - } - *str = '\0'; - - if (xf86findModeLine(label, vidtune->monitor->mon_modeline_lst) - != NULL && !ForceAddMode()) - return; - - mode = (XF86ConfModeLinePtr)XtCalloc(1, sizeof(XF86ConfModeLineRec)); - mode->ml_identifier = XtNewString(label); - mode->ml_clock = vesa->info.dotclock; - mode->ml_hdisplay = vesa->info.hdisplay; - mode->ml_hsyncstart = vesa->info.hsyncstart; - mode->ml_hsyncend = vesa->info.hsyncend; - mode->ml_htotal = vesa->info.htotal; - mode->ml_vdisplay = vesa->info.vdisplay; - mode->ml_vsyncstart = vesa->info.vsyncstart; - mode->ml_vsyncend = vesa->info.vsyncend; - mode->ml_vtotal = vesa->info.vtotal; -/* mode->ml_vscan = ???;*/ - mode->ml_flags = vesa->info.flags; - mode->ml_hskew = vesa->info.hskew; - vidtune->monitor->mon_modeline_lst = - xf86addModeLine(vidtune->monitor->mon_modeline_lst, mode); - } - } -} - -static void -GetModes(void) -{ - int i; - char label[32]; - Arg args[1]; - static char menuName[16]; - static int menuN; - - XFree(vidtune->infos); - XF86VidModeGetAllModeLines(XtDisplay(toplevel), vidtune->screen, - &vidtune->num_infos, &vidtune->infos); - - XmuSnprintf(menuName, sizeof(menuName), "menu%d", menuN); - menuN = !menuN; - if (menu) - XtDestroyWidget(menu); - menu = XtCreatePopupShell(menuName, simpleMenuWidgetClass, vtune, NULL, 0); - XtVaSetValues(mode, XtNmenuName, menuName, NULL); - for (i = 0; i < vidtune->num_infos; i++) { - Widget sme; - - if ((double)vidtune->infos[i]->htotal && - (double)vidtune->infos[i]->vtotal) - XmuSnprintf(label, sizeof(label), "%dx%d @ %d Hz", - vidtune->infos[i]->hdisplay, - vidtune->infos[i]->vdisplay, - (int)((double)vidtune->infos[i]->dotclock / - (double)vidtune->infos[i]->htotal * 1000.0 / - (double)vidtune->infos[i]->vtotal)); - else - XmuSnprintf(label, sizeof(label), "%dx%d", - vidtune->infos[i]->hdisplay, - vidtune->infos[i]->vdisplay); - sme = XtCreateManagedWidget(label, smeBSBObjectClass, menu, NULL, 0); - XtAddCallback(sme, XtNcallback, SelectCallback, - (XtPointer)vidtune->infos[i]); - } - - if (modeline.htotal && modeline.vtotal) - XmuSnprintf(label, sizeof(label), "%dx%d @ %d Hz", - modeline.hdisplay, modeline.vdisplay, - (int)((double)dot_clock / (double)modeline.htotal * 1000.0 / - (double)modeline.vtotal)); - else - XmuSnprintf(label, sizeof(label), "%dx%d", - modeline.hdisplay, modeline.vdisplay); - XtSetArg(args[0], XtNlabel, label); - XtSetValues(mode, args, 1); -} - -static int do_force, asking_force; - -static void -PopdownForce(Widget w, XtPointer user_data, XtPointer call_data) -{ - asking_force = 0; - XtPopdown(forceshell); - do_force = (long)user_data; -} - -static int -ForceAddMode(void) -{ - if (forceshell == NULL) { - Widget dialog; - - forceshell = XtCreatePopupShell("force", transientShellWidgetClass, - toplevel, NULL, 0); - dialog = XtVaCreateManagedWidget("dialog", dialogWidgetClass, - forceshell, XtNvalue, NULL, NULL); - XawDialogAddButton(dialog, "yes", PopdownForce, (XtPointer)True); - XawDialogAddButton(dialog, "no", PopdownForce, (XtPointer)False); - XtRealizeWidget(forceshell); - XSetWMProtocols(DPY, XtWindow(forceshell), &wm_delete_window, 1); - } - - asking_force = 1; - - XtPopup(forceshell, XtGrabExclusive); - while (asking_force) - XtAppProcessEvent(XtWidgetToApplicationContext(forceshell), XtIMAll); - - return (do_force); -} - -static int do_add, asking_add; - -static void -PopdownAdd(Widget w, XtPointer user_data, XtPointer call_data) -{ - asking_add = 0; - XtPopdown(addshell); - do_add = (long)user_data; -} - -void -CancelAddModeAction(Widget w, XEvent *event, - String *params, Cardinal *num_params) -{ - if (asking_force) - PopdownForce(w, (XtPointer)False, NULL); - else if (asking_add) - PopdownAdd(w, (XtPointer)False, NULL); -} - -static int -AddMode(void) -{ - if (addshell == NULL) { - Widget dialog; - - addshell = XtCreatePopupShell("addMode", transientShellWidgetClass, - toplevel, NULL, 0); - dialog = XtVaCreateManagedWidget("dialog", dialogWidgetClass, - addshell, XtNvalue, NULL, NULL); - XawDialogAddButton(dialog, "yes", PopdownAdd, (XtPointer)True); - XawDialogAddButton(dialog, "no", PopdownAdd, (XtPointer)False); - XtRealizeWidget(addshell); - XSetWMProtocols(DPY, XtWindow(addshell), &wm_delete_window, 1); - } - - asking_add = 1; - - XtPopup(addshell, XtGrabExclusive); - while (asking_add) - XtAppProcessEvent(XtWidgetToApplicationContext(addshell), XtIMAll); - - return (do_add); -} - -/*ARGSUSED*/ -static void -AddModeCallback(Widget w, XtPointer call_data, XtPointer client_data) -{ - if (vidtune && vidtune->monitor) { - char *label; - Arg args[1]; - XF86ConfModeLinePtr mode; - - XtSetArg(args[0], XtNstring, &label); - XtGetValues(text, args, 1); - if (*label == '\0') { - XBell(XtDisplay(w), 80); - return; - } - if (xf86findModeLine(label, vidtune->monitor->mon_modeline_lst) - != NULL && !ForceAddMode()) - return; - - mode = (XF86ConfModeLinePtr)XtCalloc(1, sizeof(XF86ConfModeLineRec)); - mode->ml_identifier = XtNewString(label); - mode->ml_clock = dot_clock; - mode->ml_hdisplay = modeline.hdisplay; - mode->ml_hsyncstart = modeline.hsyncstart; - mode->ml_hsyncend = modeline.hsyncend; - mode->ml_htotal = modeline.htotal; - mode->ml_vdisplay = modeline.vdisplay; - mode->ml_vsyncstart = modeline.vsyncstart; - mode->ml_vsyncend = modeline.vsyncend; - mode->ml_vtotal = modeline.vtotal; -/* mode->ml_vscan = ???;*/ - mode->ml_flags = modeline.flags; - mode->ml_hskew = modeline.hskew; - vidtune->monitor->mon_modeline_lst = - xf86addModeLine(vidtune->monitor->mon_modeline_lst, mode); - } - else - XBell(XtDisplay(w), 80); -} - -/*ARGSUSED*/ -static void -StopTestCallback(Widget w, XtPointer call_data, XtPointer client_data) -{ - XtRemoveTimeOut(timeout); - TestTimeout((XtPointer)w, NULL); -} - -/*ARGSUSED*/ -void -CancelTestModeAction(Widget w, XEvent *event, - String *params, Cardinal *num_params) -{ - StopTestCallback(w, NULL, NULL); -} - -static void -TestTimeout(XtPointer client_data, XtIntervalId* id) -{ - XF86VidModeModeLine mode; - - XtPopdown(testshell); - timeout = 0; - memcpy(&mode, &modeline, sizeof(XF86VidModeModeLine)); - memcpy(&modeline, &orig_modeline, sizeof(XF86VidModeModeLine)); - ApplyCallback((Widget)client_data, NULL, NULL); -/* if (hitError == 0)*/ - memcpy(&modeline, &mode, sizeof(XF86VidModeModeLine)); - SetLabels(); -} - -static void -TestCallback(Widget w, XtPointer call_data, XtPointer client_data) -{ - if (testshell == NULL) { - Widget dialog; - - testshell = XtCreatePopupShell("test", transientShellWidgetClass, - toplevel, NULL, 0); - dialog = XtVaCreateManagedWidget("dialog", dialogWidgetClass, - testshell, XtNvalue, NULL, NULL); - XawDialogAddButton(dialog, "stop", StopTestCallback, NULL); - XtRealizeWidget(testshell); - XSetWMProtocols(DPY, XtWindow(testshell), &wm_delete_window, 1); - } - - XtPopup(testshell, XtGrabExclusive); - - XSync(XtDisplay(toplevel), False); - timeout = XtAppAddTimeOut(XtWidgetToApplicationContext(w), - /* the timeout probably shoud be converted to a resource */ - 4000, TestTimeout, (XtPointer)w); - ApplyCallback(w, call_data, client_data); -} diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/vidmode.h b/xorg-server/hw/xfree86/utils/xorgcfg/vidmode.h deleted file mode 100644 index d0c71d5c6..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/vidmode.h +++ /dev/null @@ -1,63 +0,0 @@ -/* - * 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. - * - * Author: Paulo César Pereira de Andrade - * - */ - -#ifndef _xf86cfg_vidmode_h -#define _xf86cfg_vidmode_h - -#include "xf86config.h" -#include - -/* - * Types - */ -struct _xf86cfgVidMode { - XF86ConfMonitorPtr monitor; - int screen; - int num_infos; - XF86VidModeModeInfo **infos; -}; - -/* - * Prototypes - */ -Bool VideoModeInitialize(void); -void VideoModeConfigureStart(void); -void VideoModeConfigureEnd(void); -void VidmodeRestoreAction(Widget, XEvent*, String*, Cardinal*); -void CancelAddModeAction(Widget, XEvent*, String*, Cardinal*); -void CancelTestModeAction(Widget, XEvent*, String*, Cardinal*); -void InitializeVidmodes(void); - -/* - * Initialization - */ -extern Widget vtune; - -#endif /* _xf86cfg_vidmode_h */ diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/wider.xbm b/xorg-server/hw/xfree86/utils/xorgcfg/wider.xbm deleted file mode 100644 index 5cf87f25a..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/wider.xbm +++ /dev/null @@ -1,8 +0,0 @@ -#define wider_width 19 -#define wider_height 19 -static unsigned char wider_bits[] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x08, 0x00, 0xc0, 0x18, 0x00, - 0xe0, 0x38, 0x00, 0xf0, 0x78, 0x00, 0xf8, 0xf8, 0x00, 0xfc, 0xff, 0x01, - 0xfe, 0xff, 0x03, 0xff, 0xff, 0x07, 0xfe, 0xff, 0x03, 0xfc, 0xff, 0x01, - 0xf8, 0xf8, 0x00, 0xf0, 0x78, 0x00, 0xe0, 0x38, 0x00, 0xc0, 0x18, 0x00, - 0x80, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/xf86config.c b/xorg-server/hw/xfree86/utils/xorgcfg/xf86config.c deleted file mode 100644 index 2c667dcde..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/xf86config.c +++ /dev/null @@ -1,982 +0,0 @@ -/* - * 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. - * - * Author: Paulo César Pereira de Andrade - * - */ - -#include "xf86config.h" - -/* - * Implementation - */ -int -xf86removeOption(XF86OptionPtr *options, char *name) -{ - XF86OptionPtr opt = *options, prev = opt; - - while (opt) { - if (strcasecmp(opt->opt_name, name) == 0) { - XtFree(opt->opt_name); - XtFree(opt->opt_val); - XtFree(opt->opt_comment); - if (opt == prev) - *options = (XF86OptionPtr)(opt->list.next); - else - prev->list.next = opt->list.next; - XtFree((XtPointer)opt); - - return (True); - } - - prev = opt; - opt = (XF86OptionPtr)(opt->list.next); - } - - return (False); -} - -int -xf86removeInput(XF86ConfigPtr config, XF86ConfInputPtr input) -{ - XF86ConfInputPtr prev, inp = config->conf_input_lst; - XF86ConfLayoutPtr lay = config->conf_layout_lst; - - /* remove from main structure */ - prev = inp; - while (inp != NULL) { - if (inp == input) { - if (inp == prev) - config->conf_input_lst = (XF86ConfInputPtr)(inp->list.next); - else - prev->list.next = inp->list.next; - break; - } - prev = inp; - inp = (XF86ConfInputPtr)(inp->list.next); - } - - if (inp == NULL) - return (False); - - /* remove references */ - while (lay != NULL) { - xf86removeInputRef(lay, inp); - lay = (XF86ConfLayoutPtr)(lay->list.next); - } - - XtFree(inp->inp_identifier); - XtFree(inp->inp_driver); - XtFree(inp->inp_comment); - xf86optionListFree(inp->inp_option_lst); - XtFree((XtPointer)inp); - - return (True); -} - -int -xf86removeInputRef(XF86ConfLayoutPtr layout, XF86ConfInputPtr input) -{ - XF86ConfInputrefPtr prev, iref = layout->lay_input_lst; - - prev = iref; - while (iref != NULL) { - if (iref->iref_inputdev == input) { - XtFree(iref->iref_inputdev_str); - xf86optionListFree(iref->iref_option_lst); - if (prev == iref) - layout->lay_input_lst = - (XF86ConfInputrefPtr)(iref->list.next); - else - prev->list.next = iref->list.next; - XtFree((XtPointer)iref); - - return (True); - } - prev = iref; - iref = (XF86ConfInputrefPtr)(iref->list.next); - } - - return (False); -} - -int -xf86removeDevice(XF86ConfigPtr config, XF86ConfDevicePtr device) -{ - XF86ConfDevicePtr prev, dev = config->conf_device_lst; - XF86ConfScreenPtr psc, scr = config->conf_screen_lst; - - /* remove from main structure */ - prev = dev; - while (dev != NULL) { - if (dev == device) { - if (dev == prev) - config->conf_device_lst = (XF86ConfDevicePtr)(dev->list.next); - else - prev->list.next = dev->list.next; - break; - } - prev = dev; - dev = (XF86ConfDevicePtr)(dev->list.next); - } - - if (dev == NULL) - return (False); - - /* remove references */ - psc = scr; - while (scr != NULL) { - if (scr->scrn_device == device) { - xf86removeScreen(config, scr); - if (scr == psc) - scr = psc = config->conf_screen_lst; - else - scr = psc; - continue; - } - psc = scr; - scr = (XF86ConfScreenPtr)(scr->list.next); - } - - XtFree(dev->dev_identifier); - XtFree(dev->dev_vendor); - XtFree(dev->dev_board); - XtFree(dev->dev_chipset); - XtFree(dev->dev_busid); - XtFree(dev->dev_card); - XtFree(dev->dev_driver); - XtFree(dev->dev_ramdac); - XtFree(dev->dev_clockchip); - XtFree(dev->dev_comment); - xf86optionListFree(dev->dev_option_lst); - XtFree((XtPointer)dev); - - return (True); -} - -int -xf86removeMonitor(XF86ConfigPtr config, XF86ConfMonitorPtr monitor) -{ - XF86ConfMonitorPtr prev, mon = config->conf_monitor_lst; - XF86ConfScreenPtr psc, scr = config->conf_screen_lst; - - /* remove from main structure */ - prev = mon; - while (mon != NULL) { - if (mon == monitor) { - if (mon == prev) - config->conf_monitor_lst = (XF86ConfMonitorPtr)(mon->list.next); - else - prev->list.next = mon->list.next; - break; - } - prev = mon; - mon = (XF86ConfMonitorPtr)(mon->list.next); - } - - if (mon == NULL) - return (False); - - /* remove references */ - psc = scr; - while (scr != NULL) { - if (scr->scrn_monitor == monitor) { - xf86removeScreen(config, scr); - if (scr == psc) - scr = psc = config->conf_screen_lst; - else - scr = psc; - continue; - } - psc = scr; - scr = (XF86ConfScreenPtr)(scr->list.next); - } - - XtFree(mon->mon_identifier); - XtFree(mon->mon_vendor); - XtFree(mon->mon_modelname); - XtFree(mon->mon_comment); - xf86optionListFree(mon->mon_option_lst); - XtFree((XtPointer)mon); - - return (True); -} - -int -xf86removeScreen(XF86ConfigPtr config, XF86ConfScreenPtr screen) -{ - XF86ConfScreenPtr prev, scrn; - XF86ConfLayoutPtr lay; - - if (config == NULL || screen == NULL) - return (False); - - lay = config->conf_layout_lst; - prev = scrn = config->conf_screen_lst; - - while (scrn != NULL) { - if (scrn == screen) { - if (scrn == prev) - config->conf_screen_lst = (XF86ConfScreenPtr)(scrn->list.next); - else - prev->list.next = scrn->list.next; - break; - } - prev = scrn; - scrn = (XF86ConfScreenPtr)(scrn->list.next); - } - - if (scrn == NULL) - return (False); - - while (lay != NULL) { - XF86ConfAdjacencyPtr pad, ad = NULL, adj = lay->lay_adjacency_lst; - - pad = adj; - while (adj) { - if (adj->adj_screen == screen) - ad = adj; - else { - if (adj->adj_top != NULL && adj->adj_top == screen) { - XtFree(adj->adj_top_str); - adj->adj_top_str = NULL; - adj->adj_top = NULL; - } - else if (adj->adj_bottom != NULL && adj->adj_bottom == screen) { - XtFree(adj->adj_bottom_str); - adj->adj_bottom_str = NULL; - adj->adj_bottom = NULL; - } - else if (adj->adj_left != NULL && adj->adj_left == screen) { - XtFree(adj->adj_left_str); - adj->adj_left_str = NULL; - adj->adj_left = NULL; - } - else if (adj->adj_right != NULL && adj->adj_right == screen) { - XtFree(adj->adj_right_str); - adj->adj_right_str = NULL; - adj->adj_right = NULL; - } - else if (adj->adj_refscreen != NULL && - strcasecmp(scrn->scrn_identifier, - adj->adj_refscreen) == 0) { - XtFree(adj->adj_refscreen); - adj->adj_refscreen = NULL; - adj->adj_where = CONF_ADJ_ABSOLUTE; - adj->adj_x = adj->adj_y = 0; - } - } - if (ad == NULL) - pad = adj; - adj = (XF86ConfAdjacencyPtr)(adj->list.next); - } - - if (ad != NULL) { - if (ad == lay->lay_adjacency_lst) - lay->lay_adjacency_lst = (XF86ConfAdjacencyPtr)(ad->list.next); - else - pad->list.next = (XF86ConfAdjacencyPtr)(ad->list.next); - XtFree(ad->adj_screen_str); - XtFree(ad->adj_top_str); - XtFree(ad->adj_bottom_str); - XtFree(ad->adj_left_str); - XtFree(ad->adj_right_str); - XtFree(ad->adj_refscreen); - XtFree((XtPointer)ad); - } - - lay = (XF86ConfLayoutPtr)(lay->list.next); - } - - xf86freeAdaptorLinkList(screen->scrn_adaptor_lst); - xf86freeDisplayList(screen->scrn_display_lst); - - XtFree(screen->scrn_identifier); - XtFree(screen->scrn_monitor_str); - XtFree(screen->scrn_device_str); - xf86optionListFree(screen->scrn_option_lst); - XtFree((XtPointer)screen); - - return (True); -} - -int -xf86removeAdjacency(XF86ConfLayoutPtr layout, XF86ConfAdjacencyPtr adjacency) -{ - XF86ConfAdjacencyPtr prev, adj = layout->lay_adjacency_lst; - - if (layout == NULL || adjacency == NULL) - return (False); - - prev = adj; - while (adj != NULL) { - if (adj == adjacency) - break; - prev = adj; - adj = (XF86ConfAdjacencyPtr)(adj->list.next); - } - if (adj == NULL) - return (False); - - XtFree(adj->adj_screen_str); - XtFree(adj->adj_top_str); - XtFree(adj->adj_bottom_str); - XtFree(adj->adj_left_str); - XtFree(adj->adj_right_str); - XtFree(adj->adj_refscreen); - if (prev == adj) - layout->lay_adjacency_lst = (XF86ConfAdjacencyPtr)(adj->list.next); - else - prev->list.next = adj->list.next; - XtFree((XtPointer)adj); - - return (True); -} - -int -xf86removeInactive(XF86ConfLayoutPtr layout, XF86ConfInactivePtr inactive) -{ - XF86ConfInactivePtr prev, inac = layout->lay_inactive_lst; - - if (layout == NULL || inactive == NULL) - return (False); - - prev = inac; - while (inac != NULL) { - if (inac == inactive) - break; - prev = inac; - inac = (XF86ConfInactivePtr)(inac->list.next); - } - if (inac == NULL) - return (False); - - XtFree(inac->inactive_device_str); - if (prev == inac) - layout->lay_inactive_lst = (XF86ConfInactivePtr)(inac->list.next); - else - prev->list.next = inac->list.next; - XtFree((XtPointer)inac); - - return (True); -} - -int -xf86removeLayout(XF86ConfigPtr config, XF86ConfLayoutPtr layout) -{ - XF86ConfLayoutPtr prev, lay = config->conf_layout_lst; - XF86ConfAdjacencyPtr adj, nadj; - XF86ConfInactivePtr inac, ninac; - XF86ConfInputrefPtr iref, niref; - - if (config == NULL || layout == NULL) - return (False); - - prev = lay; - while (lay != NULL) { - if (lay == layout) - break; - prev = lay; - lay = (XF86ConfLayoutPtr)(lay->list.next); - } - - if (lay == NULL) - return (False); - - adj = lay->lay_adjacency_lst; - while (adj != NULL) { - nadj = (XF86ConfAdjacencyPtr)(adj->list.next); - xf86removeAdjacency(lay, adj); - adj = nadj; - } - - inac = lay->lay_inactive_lst; - while (inac != NULL) { - ninac = (XF86ConfInactivePtr)(inac->list.next); - xf86removeInactive(lay, inac); - inac = ninac; - } - - iref = lay->lay_input_lst; - while (iref != NULL) { - niref = (XF86ConfInputrefPtr)(iref->list.next); - xf86removeInputRef(lay, iref->iref_inputdev); - iref = niref; - } - - xf86optionListFree(lay->lay_option_lst); - - if (prev == lay) - config->conf_layout_lst = (XF86ConfLayoutPtr)(lay->list.next); - else - prev->list.next = lay->list.next; - XtFree(lay->lay_identifier); - XtFree((XtPointer)lay); - - return (True); -} - -int -xf86removeModule(XF86ConfigPtr config, XF86LoadPtr load) -{ - XF86LoadPtr prev, mod; - - if (config == NULL || config->conf_modules == NULL || - config->conf_modules->mod_load_lst == NULL) - return (False); - - for (mod = prev = config->conf_modules->mod_load_lst; - mod != NULL; prev = mod, mod = (XF86LoadPtr)(mod->list.next)) - if (load == mod) { - if (mod == prev) - config->conf_modules->mod_load_lst = - (XF86LoadPtr)(mod->list.next); - else - prev->list.next = mod->list.next; - XtFree(mod->load_name); - xf86optionListFree(mod->load_opt); - - return (True); - } - - return (False); -} - -int -xf86removeModes(XF86ConfigPtr config, XF86ConfModesPtr modes) -{ - XF86ConfModesPtr mod; - XF86ConfModeLinePtr ml, next; - XF86ConfMonitorPtr mon; - - if (config == NULL || modes == NULL) - return (False); - - /* check if modes is in config */ - if ((mod = config->conf_modes_lst) == modes) - config->conf_modes_lst = (XF86ConfModesPtr)(mod->list.next); - else - for (; mod != NULL; mod = (XF86ConfModesPtr)(mod->list.next)) - if ((XF86ConfModesPtr)(mod->list.next) == modes) { - mod->list.next = modes->list.next; - break; - } - - if (mod == NULL) - return (False); - - /* remove references in monitor sections */ - mon = config->conf_monitor_lst; - while (mon) { - XF86ConfModesLinkPtr m, p; - - m = p = mon->mon_modes_sect_lst; - while (m) { - if (m->ml_modes == modes) { - XtFree(m->ml_modes_str); - if (m == mon->mon_modes_sect_lst) - p = mon->mon_modes_sect_lst = - (XF86ConfModesLinkPtr)(m->list.next); - else { - p->list.next = m->list.next; - p = p->list.next; - } - XtFree((XtPointer)m); - m = p; - continue; - } - p = m; - m = (XF86ConfModesLinkPtr)(m->list.next); - } - mon = (XF86ConfMonitorPtr)(mon->list.next); - } - - /* free modelines */ - ml = modes->mon_modeline_lst; - while (ml) { - next = (XF86ConfModeLinePtr)(ml->list.next); - XtFree(ml->ml_identifier); - XtFree((XtPointer)ml); - ml = next; - } - - /* free mode */ - XtFree(modes->modes_identifier); - XtFree((XtPointer)modes); - - return (True); -} - -int -xf86removeModesModeLine(XF86ConfModesPtr modes, XF86ConfModeLinePtr modeline) -{ - XF86ConfModeLinePtr ml, prev; - - if (modes == NULL || modeline == NULL || modes->mon_modeline_lst == NULL) - return (False); - - for (ml = prev = modes->mon_modeline_lst; ml; - prev = ml, ml = (XF86ConfModeLinePtr)(ml->list.next)) - if (ml == modeline) { - if (prev == ml) - modes->mon_modeline_lst = (XF86ConfModeLinePtr)(ml->list.next); - else - prev->list.next = ml->list.next; - XtFree(modeline->ml_identifier); - XtFree((XtPointer)modeline); - return (True); - } - - return (False); -} - -int -xf86removeMonitorModeLine(XF86ConfMonitorPtr monitor, XF86ConfModeLinePtr modeline) -{ - XF86ConfModeLinePtr ml, prev; - - if (monitor == NULL || modeline == NULL || monitor->mon_modeline_lst == NULL) - return (False); - - for (ml = prev = monitor->mon_modeline_lst; ml; - prev = ml, ml = (XF86ConfModeLinePtr)(ml->list.next)) - if (ml == modeline) { - if (prev == ml) - monitor->mon_modeline_lst = (XF86ConfModeLinePtr)(ml->list.next); - else - prev->list.next = ml->list.next; - XtFree(modeline->ml_identifier); - XtFree((XtPointer)modeline); - return (True); - } - - return (False); -} - -int -xf86removeMonitorModesLink(XF86ConfMonitorPtr monitor, XF86ConfModesLinkPtr link) -{ - XF86ConfModesLinkPtr lnk, prev; - - if (monitor == NULL || link == NULL || monitor->mon_modes_sect_lst == NULL) - return (False); - - for (lnk = prev = monitor->mon_modes_sect_lst; lnk != NULL; - prev = lnk, lnk = (XF86ConfModesLinkPtr)(lnk->list.next)) - if (lnk == link) { - if (prev == lnk) - monitor->mon_modes_sect_lst = (XF86ConfModesLinkPtr)(lnk->list.next); - else - prev->list.next = lnk->list.next; - XtFree(link->ml_modes_str); - XtFree((XtPointer)link); - - return (True); - } - - return (False); -} - -int -xf86removeScreenAdaptorLink(XF86ConfScreenPtr scrn, XF86ConfAdaptorLinkPtr link) -{ - XF86ConfAdaptorLinkPtr lnk, prev; - - if (scrn == NULL || link == NULL || scrn->scrn_adaptor_lst == NULL) - return (False); - - for (lnk = prev = scrn->scrn_adaptor_lst; lnk != NULL; - prev = lnk, lnk = (XF86ConfAdaptorLinkPtr)(lnk->list.next)) - if (lnk == link) { - if (prev == lnk) - scrn->scrn_adaptor_lst = - (XF86ConfAdaptorLinkPtr)(lnk->list.next); - else - prev->list.next = lnk->list.next; - XtFree(link->al_adaptor_str); - XtFree((XtPointer)link); - - return (True); - } - - return (False); -} - -int -xf86removeScreenDisplay(XF86ConfScreenPtr scrn, XF86ConfDisplayPtr display) -{ - XF86ConfDisplayPtr dsp, prev; - - if (scrn == NULL || display == NULL || scrn->scrn_display_lst == NULL) - return (False); - - for (dsp = prev = scrn->scrn_display_lst; dsp != NULL; - prev = dsp, dsp = (XF86ConfDisplayPtr)(dsp->list.next)) - if (dsp == display) { - if (prev == dsp) - scrn->scrn_display_lst = - (XF86ConfDisplayPtr)(dsp->list.next); - else - prev->list.next = dsp->list.next; - xf86optionListFree(display->disp_option_lst); - XtFree((XtPointer)display->disp_visual); - xf86freeModeList(display->disp_mode_lst); - XtFree((XtPointer)display); - - return (True); - } - - return (False); -} - -int -xf86removeVideoAdaptor(XF86ConfigPtr config, XF86ConfVideoAdaptorPtr video) -{ - XF86ConfVideoAdaptorPtr vid; - XF86ConfScreenPtr scrn; - XF86ConfVideoPortPtr vp, next; - - if (config == NULL || video == NULL) - return (False); - - /* check if video is in config and update videoadaptor list */ - if ((vid = config->conf_videoadaptor_lst) == video) - config->conf_videoadaptor_lst = (XF86ConfVideoAdaptorPtr)(vid->list.next); - else - for (; vid != NULL; vid = (XF86ConfVideoAdaptorPtr)(vid->list.next)) - if ((XF86ConfVideoAdaptorPtr)(vid->list.next) == video) { - vid->list.next = video->list.next; - break; - } - - if (vid == NULL) - return (False); - - /* remove references in screen sections */ - scrn = config->conf_screen_lst; - while (scrn) { - XF86ConfAdaptorLinkPtr v, p; - - v = p = scrn->scrn_adaptor_lst; - while (v) { - if (v->al_adaptor == video) { - XtFree(v->al_adaptor_str); - if (v == scrn->scrn_adaptor_lst) - p = scrn->scrn_adaptor_lst = - (XF86ConfAdaptorLinkPtr)(v->list.next); - else { - p->list.next = v->list.next; - p = p->list.next; - } - XtFree((XtPointer)v); - v = p; - continue; - } - p = v; - v = (XF86ConfAdaptorLinkPtr)(v->list.next); - } - scrn = (XF86ConfScreenPtr)(scrn->list.next); - } - - /* free videoports */ - vp = video->va_port_lst; - while (vp) { - next = (XF86ConfVideoPortPtr)(vp->list.next); - XtFree(vp->vp_identifier); - xf86optionListFree(vp->vp_option_lst); - XtFree((XtPointer)vp); - vp = next; - } - - /* free videoadaptor */ - XtFree(video->va_identifier); - XtFree(video->va_vendor); - XtFree(video->va_board); - XtFree(video->va_busid); - XtFree(video->va_driver); - XtFree(video->va_fwdref); - xf86optionListFree(video->va_option_lst); - XtFree((XtPointer)video); - - return (True); -} - -int -xf86removeVideoPort(XF86ConfVideoAdaptorPtr va, XF86ConfVideoPortPtr vp) -{ - XF86ConfVideoPortPtr prev; - - if (va == NULL || vp == NULL) - return (False); - - if ((prev = va->va_port_lst) == vp) - va->va_port_lst = (XF86ConfVideoPortPtr)(va->va_port_lst->list.next); - else { - while (prev && (XF86ConfVideoPortPtr)(prev->list.next) != vp) - prev = (XF86ConfVideoPortPtr)(prev->list.next); - if (prev == NULL) - return (False); - prev->list.next = vp->list.next; - } - - xf86optionListFree(vp->vp_option_lst); - XtFree((XtPointer)vp); - - return (True); -} - -int -xf86removeDisplayMode(XF86ConfDisplayPtr display, XF86ModePtr mode) -{ - XF86ModePtr prev; - - if (display == NULL || mode == NULL) - return (False); - - if ((prev = display->disp_mode_lst) == mode) - display->disp_mode_lst = (XF86ModePtr)(display->disp_mode_lst->list.next); - else { - while (prev && (XF86ModePtr)(prev->list.next) != mode) - prev = (XF86ModePtr)(prev->list.next); - if (prev == NULL) - return (False); - prev->list.next = mode->list.next; - } - - XtFree((XtPointer)mode); - - return (True); -} - -int -xf86removeVendor(XF86ConfigPtr config, XF86ConfVendorPtr vendor) -{ - XF86ConfVendorPtr prev; - - if (config == NULL || vendor == NULL) - return (False); - - if ((prev = config->conf_vendor_lst) == vendor) - config->conf_vendor_lst = (XF86ConfVendorPtr)(config->conf_vendor_lst->list.next); - else { - while (prev && (XF86ConfVendorPtr)(prev->list.next) != vendor) - prev = (XF86ConfVendorPtr)(prev->list.next); - if (prev == NULL) - return (False); - prev->list.next = vendor->list.next; - } - - xf86optionListFree(vendor->vnd_option_lst); - xf86freeVendorSubList(vendor->vnd_sub_lst); - XtFree(vendor->vnd_identifier); - XtFree((XtPointer)vendor); - - return (True); -} - -int -xf86removeVendorSub(XF86ConfVendorPtr vendor, XF86ConfVendSubPtr sub) -{ - XF86ConfVendSubPtr prev; - - if (vendor == NULL || sub == NULL) - return (False); - - if ((prev = vendor->vnd_sub_lst) == sub) - vendor->vnd_sub_lst = (XF86ConfVendSubPtr)(vendor->vnd_sub_lst->list.next); - else { - while (prev && (XF86ConfVendSubPtr)(prev->list.next) != sub) - prev = (XF86ConfVendSubPtr)(prev->list.next); - if (prev == NULL) - return (False); - prev->list.next = sub->list.next; - } - - xf86optionListFree(sub->vs_option_lst); - XtFree(sub->vs_name); - XtFree(sub->vs_identifier); - XtFree((XtPointer)sub); - - return (True); -} - -int -xf86removeBuffers(XF86ConfDRIPtr dri, XF86ConfBuffersPtr buf) -{ - XF86ConfBuffersPtr prev; - - if (dri == NULL || buf == NULL) - return (False); - - if ((prev = dri->dri_buffers_lst) == buf) - dri->dri_buffers_lst = (XF86ConfBuffersPtr)(dri->dri_buffers_lst->list.next); - else { - while (prev && (XF86ConfBuffersPtr)(prev->list.next) != buf) - prev = (XF86ConfBuffersPtr)(prev->list.next); - if (prev == NULL) - return (False); - prev->list.next = buf->list.next; - } - - XtFree(buf->buf_flags); - XtFree((XtPointer)buf); - - return (True); -} - -int -xf86renameInput(XF86ConfigPtr config, XF86ConfInputPtr input, char *name) -{ - XF86ConfLayoutPtr lay = config->conf_layout_lst; - - if (config == NULL || input == NULL || name == NULL || *name == '\0') - return (False); - - while (lay != NULL) { - XF86ConfInputrefPtr iref = lay->lay_input_lst; - - while (iref != NULL) { - if (strcasecmp(input->inp_identifier, iref->iref_inputdev_str) == 0) { - XtFree(iref->iref_inputdev_str); - iref->iref_inputdev_str = XtNewString(name); - } - iref = (XF86ConfInputrefPtr)(iref->list.next); - } - lay = (XF86ConfLayoutPtr)(lay->list.next); - } - - XtFree(input->inp_identifier); - input->inp_identifier = XtNewString(name); - - return (True); -} - -int -xf86renameDevice(XF86ConfigPtr config, XF86ConfDevicePtr dev, char *name) -{ - XF86ConfScreenPtr scr = config->conf_screen_lst; - - if (config == NULL || dev == NULL || name == NULL || *name == '\0') - return (False); - - while (scr != NULL) { - if (scr->scrn_device == dev) { - XtFree(scr->scrn_device_str); - scr->scrn_device_str = XtNewString(name); - } - - scr = (XF86ConfScreenPtr)(scr->list.next); - } - - XtFree(dev->dev_identifier); - dev->dev_identifier = XtNewString(name); - - return (True); -} - -int -xf86renameMonitor(XF86ConfigPtr config, XF86ConfMonitorPtr mon, char *name) -{ - XF86ConfScreenPtr scr = config->conf_screen_lst; - - if (config == NULL || mon == NULL || name == NULL || *name == '\0') - return (False); - - while (scr != NULL) { - if (scr->scrn_monitor == mon) { - XtFree(scr->scrn_monitor_str); - scr->scrn_monitor_str = XtNewString(name); - } - - scr = (XF86ConfScreenPtr)(scr->list.next); - } - - XtFree(mon->mon_identifier); - mon->mon_identifier = XtNewString(name); - - return (True); -} - -int -xf86renameLayout(XF86ConfigPtr config, XF86ConfLayoutPtr layout, char *name) -{ - if (config == NULL || layout == NULL || name == NULL || *name == '\0') - return (False); - - XtFree(layout->lay_identifier); - layout->lay_identifier = XtNewString(name); - - return (True); -} - -int -xf86renameScreen(XF86ConfigPtr config, XF86ConfScreenPtr scrn, char *name) -{ - XF86ConfLayoutPtr lay = config->conf_layout_lst; - - if (config == NULL || scrn == NULL || name == NULL || *name == '\0') - return (False); - - while (lay != NULL) { - XF86ConfAdjacencyPtr adj = lay->lay_adjacency_lst; - - while (adj != NULL) { - if (adj->adj_screen == scrn) { - XtFree(adj->adj_screen_str); - adj->adj_screen_str = XtNewString(name); - } - else if (adj->adj_top == scrn) { - XtFree(adj->adj_top_str); - adj->adj_top_str = XtNewString(name); - } - else if (adj->adj_bottom == scrn) { - XtFree(adj->adj_bottom_str); - adj->adj_bottom_str = XtNewString(name); - } - else if (adj->adj_left == scrn) { - XtFree(adj->adj_left_str); - adj->adj_left_str = XtNewString(name); - } - else if (adj->adj_right == scrn) { - XtFree(adj->adj_right_str); - adj->adj_right_str = XtNewString(name); - } - else if (adj->adj_refscreen != NULL && - strcasecmp(adj->adj_refscreen, name) == 0) { - XtFree(adj->adj_refscreen); - adj->adj_refscreen = XtNewString(name); - } - - adj = (XF86ConfAdjacencyPtr)(adj->list.next); - } - lay = (XF86ConfLayoutPtr)(lay->list.next); - } - - XtFree(scrn->scrn_identifier); - scrn->scrn_identifier = XtNewString(name); - - return (True); -} diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/xf86config.h b/xorg-server/hw/xfree86/utils/xorgcfg/xf86config.h deleted file mode 100644 index 9387d782f..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/xf86config.h +++ /dev/null @@ -1,110 +0,0 @@ -/* - * 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. - * - * Author: Paulo César Pereira de Andrade - * - */ - -#include "config.h" - -#ifndef _xf86cfg_xf86config_h -#define _xf86cfg_xf86config_h - -#define xf86addInput(head, ptr) \ - (XF86ConfInputPtr)xf86addListItem((GenericListPtr)(head), (GenericListPtr)(ptr)) -#define xf86addInputref(head, ptr) \ - (XF86ConfInputrefPtr)xf86addListItem((GenericListPtr)(head), (GenericListPtr)(ptr)) -#define xf86addDevice(head, ptr) \ - (XF86ConfDevicePtr)xf86addListItem((GenericListPtr)(head), (GenericListPtr)(ptr)) -#define xf86addDisplayMode(head, ptr) \ - (XF86ModePtr)xf86addListItem((GenericListPtr)(head), (GenericListPtr)(ptr)) -#define xf86addMonitor(head, ptr) \ - (XF86ConfMonitorPtr)xf86addListItem((GenericListPtr)(head), (GenericListPtr)(ptr)) -#define xf86addScreen(head, ptr) \ - (XF86ConfScreenPtr)xf86addListItem((GenericListPtr)(head), (GenericListPtr)(ptr)) -#define xf86addLayout(head, ptr) \ - (XF86ConfLayoutPtr)xf86addListItem((GenericListPtr)(head), (GenericListPtr)(ptr)) -#define xf86addModeLine(head, ptr) \ - (XF86ConfModeLinePtr)xf86addListItem((GenericListPtr)(head), (GenericListPtr)(ptr)) -#define xf86addModes(head, ptr) \ - (XF86ConfModesPtr)xf86addListItem((GenericListPtr)(head), (GenericListPtr)(ptr)) -#define xf86addModesLink(head, ptr) \ - (XF86ConfModesLinkPtr)xf86addListItem((GenericListPtr)(head), (GenericListPtr)(ptr)) -#define xf86addModule(head, ptr) \ - (XF86LoadPtr)xf86addListItem((GenericListPtr)(head), (GenericListPtr)(ptr)) -#define xf86addScreenAdaptor(head, ptr) \ - (XF86ConfAdaptorLinkPtr)xf86addListItem((GenericListPtr)(head), (GenericListPtr)(ptr)) -#define xf86addScreenDisplay(head, ptr) \ - (XF86ConfDisplayPtr)xf86addListItem((GenericListPtr)(head), (GenericListPtr)(ptr)) -#define xf86addVideoAdaptor(head, ptr) \ - (XF86ConfVideoAdaptorPtr)xf86addListItem((GenericListPtr)(head), (GenericListPtr)(ptr)) -#define xf86addVideoPort(head, ptr) \ - (XF86ConfVideoPortPtr)xf86addListItem((GenericListPtr)(head), (GenericListPtr)(ptr)) -#define xf86addAdjacency(head, ptr) \ - (XF86ConfAdjacencyPtr)xf86addListItem((GenericListPtr)(head), (GenericListPtr)(ptr)) -#define xf86addVendor(head, ptr) \ - (XF86ConfVendorPtr)xf86addListItem((GenericListPtr)(head), (GenericListPtr)(ptr)) -#define xf86addVendorSub(head, ptr) \ - (XF86ConfVendSubPtr)xf86addListItem((GenericListPtr)(head), (GenericListPtr)(ptr)) -#define xf86addBuffers(head, ptr) \ - (XF86ConfBuffersPtr)xf86addListItem((GenericListPtr)(head), (GenericListPtr)(ptr)) - - -int xf86removeOption(XF86OptionPtr*, char*); -int xf86removeInput(XF86ConfigPtr, XF86ConfInputPtr); -int xf86removeInputRef(XF86ConfLayoutPtr, XF86ConfInputPtr); -int xf86removeDevice(XF86ConfigPtr, XF86ConfDevicePtr); -int xf86removeDisplayMode(XF86ConfDisplayPtr, XF86ModePtr); -int xf86removeMonitor(XF86ConfigPtr, XF86ConfMonitorPtr); -int xf86removeScreen(XF86ConfigPtr, XF86ConfScreenPtr); -int xf86removeAdjacency(XF86ConfLayoutPtr, XF86ConfAdjacencyPtr); -int xf86removeInactive(XF86ConfLayoutPtr, XF86ConfInactivePtr); -int xf86removeLayout(XF86ConfigPtr, XF86ConfLayoutPtr); -int xf86removeModule(XF86ConfigPtr, XF86LoadPtr); -int xf86removeModes(XF86ConfigPtr, XF86ConfModesPtr); -int xf86removeModesModeLine(XF86ConfModesPtr, XF86ConfModeLinePtr); -int xf86removeMonitorModeLine(XF86ConfMonitorPtr, XF86ConfModeLinePtr); -int xf86removeMonitorModesLink(XF86ConfMonitorPtr, XF86ConfModesLinkPtr); -int xf86removeScreenAdaptorLink(XF86ConfScreenPtr, XF86ConfAdaptorLinkPtr); -int xf86removeScreenDisplay(XF86ConfScreenPtr, XF86ConfDisplayPtr); -int xf86removeVideoAdaptor(XF86ConfigPtr, XF86ConfVideoAdaptorPtr); -int xf86removeVideoPort(XF86ConfVideoAdaptorPtr, XF86ConfVideoPortPtr); -int xf86removeVendor(XF86ConfigPtr, XF86ConfVendorPtr); -int xf86removeVendorSub(XF86ConfVendorPtr, XF86ConfVendSubPtr); -int xf86removeBuffers(XF86ConfDRIPtr, XF86ConfBuffersPtr); - -int xf86renameInput(XF86ConfigPtr, XF86ConfInputPtr, char*); -int xf86renameDevice(XF86ConfigPtr, XF86ConfDevicePtr, char*); -int xf86renameMonitor(XF86ConfigPtr, XF86ConfMonitorPtr, char*); -int xf86renameLayout(XF86ConfigPtr, XF86ConfLayoutPtr, char*); -int xf86renameScreen(XF86ConfigPtr, XF86ConfScreenPtr, char*); - -extern void xf86freeAdaptorLinkList(XF86ConfAdaptorLinkPtr); -extern void xf86freeDisplayList(XF86ConfDisplayPtr); -extern void xf86freeModeList(XF86ModePtr); -extern void xf86freeVendorSubList(XF86ConfVendSubPtr); - -#endif /* _xf86cfg_xf86config_h */ diff --git a/xorg-server/hw/xfree86/utils/xorgcfg/xorgcfg.man.pre b/xorg-server/hw/xfree86/utils/xorgcfg/xorgcfg.man.pre deleted file mode 100644 index 71e75e2d8..000000000 --- a/xorg-server/hw/xfree86/utils/xorgcfg/xorgcfg.man.pre +++ /dev/null @@ -1,148 +0,0 @@ -.\" -.\" $XdotOrg: $ -.\" 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. -.\" -.\" Author: Paulo César Pereira de Andrade -.\" -.\" $XFree86: xc/programs/Xserver/hw/xfree86/xf86cfg/xf86cfg.man,v 1.9 2002/12/30 14:34:02 herrb Exp $ -.\" -.TH xorgcfg __appmansuffix__ __vendorversion__ -.SH NAME -xorgcfg - Graphical configuration tool for __xservername__ -.SH SYNOPSIS -.B xorgcfg -[-config \fIconfigfile\fP] [-modulepath \fImoduledir\fP] -[-fontpath \fIfontsdir\fP] [-toolkitoption ...] -.SH DESCRIPTION -.I Xorgcfg -is a tool to configure\fI __xservername__\fP, and can be used to either write the -initial configuration file or make customizations to the current configuration. -.PP -When the \fBDISPLAY\fP environment variable is not set, xorgcfg will run -the command\fI __xservername__ -configure\fP to allow the xserver to detect the -hardware in the computer, and write an initial\fI __xconfigfile__\fP file -in the user's home directory. Then, it will start -__xservername__ and allow customizations. -.PP -If the \fBDISPLAY\fP environment variable is set, xorgcfg will read the -default\fI __xconfigfile__\fP, which may or may not be the one being used by -the current server, and allow customizations. -.PP -To use an alternative location for modules or fonts the respective search -paths may be specified. -.PP -Unless there is an \fBApply\fP button in the current xorgcfg dialog, the -changes made will take place the next time\fI __xservername__\fP is started. -.PP -Xorgcfg allows addition and configuration of new devices, such as video cards, -monitors, keyboards and mouses. -.PP -Screen layout configuration for xinerama or traditional multi-head is also -available. -.PP -Modelines can be configured or optimized. -.PP -AccessX basic configurations can be made in the xorgcfg's accessx section. - -.SH OPTIONS -.TP 8 -.I -config -Specifies an alternate __xconfigfile__ file for configuration. -.TP 8 -.I -modulepath -Specifies where xorgcfg, and the server it may start, should look for -__xservername__ modules. -.TP 8 -.I -serverpath -Specifies the complete path, not including the binary name, of the -__xservername__ binary. -.TP 8 -.I -fontpath -Specifies the path to the fonts that should be used by the server started -by xorgcfg. -.TP 8 -.I -textmode -If xorgcfg was compiled with support for ncurses, this option makes xorgcfg -enter a text mode interface. -.TP 8 -.I -nomodules -When built with support for loading modules, this options changes xorgcfg -behaviour, so that it will not load any modules, and thus start quicker. - -.SH ENVIRONMENT -.TP 8 -.I DISPLAY -Default host and display number. -.TP 8 -.I XWINHOME -Directory where __xservername__ was installed, defaults to __projectroot__. -.TP 8 -.I XENVIRONMENT -Name of a resource file that overrides the global resources -stored in the RESOURCE_MANAGER property. - -.SH FILES -.TP 8 -.I /etc/__xconfigfile__ -Server configuration file -.TP 8 -.I /etc/X11/__xconfigfile__ -Server configuration file -.TP 8 -.I __projectroot__/etc/__xconfigfile__ -Server configuration file -.TP 8 -.IR __projectroot__/lib/X11/__xconfigfile__. hostname -Server configuration file -.TP 8 -.I __projectroot__/lib/X11/__xconfigfile__ -Server configuration file -.TP 8 -.I __projectroot__/lib/X11/app-default/XOrgCfg -Specifies xorgcfg resources -.TP 8 -.I __projectroot__/lib/X11/xkb/X0-config.keyboard -Keyboard specific configuration - -.SH "SEE ALSO" -.IR __xservername__ (__appmansuffix__), -.IR __xconfigfile__ (__filemansuffix__) - -.SH COPYRIGHT -.TP 8 -Copyright 2000, Conectiva Linux S.A. -\fIhttp://www.conectiva.com\fP -.TP 8 -Copyright 2000, The XFree86 Project -\fIhttp://www.XFree86.org\fP - -.SH AUTHORS -.TP 8 -Paulo C\'esar Pereira de Andrade \fI\fP -originally for The XFree86 Project. - -.SH BUGS -Probably. diff --git a/xorg-server/hw/xfree86/utils/xorgconfig/Cards b/xorg-server/hw/xfree86/utils/xorgconfig/Cards deleted file mode 100644 index b95928c37..000000000 --- a/xorg-server/hw/xfree86/utils/xorgconfig/Cards +++ /dev/null @@ -1,3135 +0,0 @@ -# $XConsortium: Cards /main/27 1996/10/28 05:43:53 kaleb $ -# This is the database of card definitions used by xf86config. -# Each definition should have a NAME entry, CHIPSET (descriptive) and -# SERVER (one of Mono, VGA16, SVGA, S3, 8514, Mach8, Mach32, Mach64, AGX, -# P9000, W32, I128). -# A reference to another definition is made with SEE (already defined -# entries are not overridden). -# Optional entries are RAMDAC (identifier), CLOCKCHIP (identifier), -# DACSPEED, NOCLOCKPROBE (advises never to probe clocks), UNSUPPORTED -# (indicates card that is not yet properly supported by a dedicated -# server). A LINE entry adds a line of text to be included in the -# Device section (can include options or comments). -# There's no CLOCKS option (although a Clocks line can be included -# with LINE), as it is very undesirable to have a Clocks line that -# is incorrect. The idea is that the Clocks are probed for to be -# sure (a commented suggested Clocks line can be included). -# -# The majority of entries are just a binding of a model name to a -# chipset/server and untested. -# -# $XFree86: xc/programs/Xserver/hw/xfree86/xf86config/Cards,v 3.79 2002/10/16 01:31:05 dawes Exp $ - -# VGA - -NAME * Generic VGA compatible -SERVER VGA16 -DRIVER vga - -NAME * Generic VESA compatible -SERVER VGA16 -DRIVER vesa - -NAME * Unsupported VGA compatible -SERVER VGA16 -DRIVER vga -UNSUPPORTED - - -# # -# generic # -# # - -NAME ** Alliance Pro Motion (generic) [apm] -#CHIPSET apm -SERVER SVGA -DRIVER apm -LINE #Option "no_accel" - -NAME ** Ark Logic (generic) [ark] -#CHIPSET ark -SERVER SVGA -DRIVER ark - -NAME ** ASPEED Technology (generic) [ast] -#CHIPSET ast -SERVER SVGA -DRIVER ast - -NAME ** ATI (generic) [ati] -#CHIPSET ati -SERVER SVGA -DRIVER ati - -NAME ** ATI Rage 128 based (generic) [r128] -#CHIPSET r128 -SERVER SVGA -DRIVER r128 - -NAME ** ATI Radeon (generic) [radeon] -#CHIPSET radeon -SERVER SVGA -DRIVER radeon - -NAME ** Chips and Technologies (generic) [chips] -#CHIPSET chips -SERVER SVGA -DRIVER chips -LINE # Option "suspend_hack" -LINE # Option "STN" -LINE # Option "no_stretch" -LINE # Option "no_center" -LINE # Option "use_modeline" -LINE # Option "fix_panel_size" -LINE # videoram 512 -LINE # Option "noaccel" -LINE # Option "no_bitblt" -LINE # Option "xaa_no_color_exp" -LINE # Option "xaa_benchmark" -LINE # Option "hw_cursor" -LINE # Option "nolinear" -LINE # MemBase 0x03b00000 -LINE # Option "hw_clocks" -LINE # Textclockfreq 25.175 - -NAME ** Cirrus Logic (generic) [cirrus] -#CHIPSET cirrus -SERVER SVGA -DRIVER cirrus -LINE # MemBase 0x00e00000 # ISA card that maps to 14Mb -LINE # MemBase 0x04000000 # VLB card that maps to 64Mb -LINE # MemBase 0x80000000 # VLB card that maps to 2048Mb -LINE # MemBase 0x02000000 # VLB card that maps to 32Mb -LINE # Option "linear" -LINE # Option "fifo_conservative" - -NAME ** Cyrix MediaGX (generic) [cyrix] -#CHIPSET cyrix -SERVER SVGA -DRIVER cyrix - -NAME ** Linux framebuffer (generic) [fbdev] -#CHIPSET fbdev -SERVER SVGA -DRIVER fbdev - -NAME ** 3DLabs, TI (generic) [glint] -#CHIPSET glint -SERVER SVGA -DRIVER glint -LINE #Option "no_accel" - -NAME ** Number Nine I128 (generic) [i128] -#CHIPSET i128 -SERVER SVGA -DRIVER i128 - -NAME ** Intel i740 (generic) [i740] -#CHIPSET i740 -SERVER SVGA -DRIVER i740 - -NAME ** Intel i810 (generic) [i810] -#CHIPSET i810 -SERVER SVGA -DRIVER i810 - -NAME ** Matrox Graphics (generic) [mga] -#CHIPSET mga -SERVER SVGA -DRIVER mga -LINE # Option "mga_sdram" - -NAME ** NeoMagic (generic) [neomagic] -#CHIPSET neomagic -SERVER SVGA -DRIVER neomagic -LINE # Chipset "NM2160" -LINE # IOBase 0xfea00000 -LINE # MemBase 0xfd000000 -LINE # VideoRam 2048 -LINE # DacSpeed 90 -LINE # Option "linear" -LINE # Option "nolinear" -LINE # Option "sw_cursor" -LINE # Option "hw_cursor" -LINE # Option "no_accel" -LINE # Option "intern_disp" -LINE # Option "extern_disp" -LINE # Option "mmio" -LINE # Option "no_mmio" -LINE # Option "lcd_center" -LINE # Option "no_stretch" - -NAME ** NVIDIA (generic) [nv] -#CHIPSET nv -SERVER SVGA -DRIVER nv - -NAME ** Rendition (generic) [rendition] -#CHIPSET rendition -SERVER SVGA -DRIVER rendition -LINE # Option "sw_cursor" - -NAME ** S3 (not ViRGE or Savage) (generic) [s3] -#CHIPSET s3 -SERVER SVGA -DRIVER s3 - -NAME ** S3 ViRGE (generic) [s3virge] -#CHIPSET s3virge -SERVER SVGA -DRIVER s3virge -LINE # Option "xaa_benchmark" -LINE # Option "fifo_moderate" -LINE # Option "pci_burst_on" -LINE # Option "pci_retry" -LINE # Option "lcd_center" -LINE # Set_LCDClk - -NAME ** S3 Savage (generic) [savage] -#CHIPSET savage -SERVER SVGA -DRIVER savage - -NAME ** Silicon Motion (generic) [siliconmotion] -#CHIPSET siliconmotion -SERVER SVGA -DRIVER siliconmotion - -NAME ** SiS (generic) [sis] -#CHIPSET sis -SERVER SVGA -DRIVER sis -LINE # Option "no_accel" -LINE # Option "fifo_moderate" -LINE # Option "fifo_conserv" -LINE # Option "fifo_aggressive" -LINE # Option "no_BitBlt" -LINE # Option "fast_vram" -LINE # Option "pci_burst_on" -LINE # Option "xaa_benchmark" -LINE # Option "ext_eng_queue" - -NAME ** 3Dfx (generic) [tdfx] -#CHIPSET tdfx -SERVER SVGA -DRIVER tdfx - -NAME ** DEC TGA (generic) [tga] -#CHIPSET tga -SERVER SVGA -DRIVER tga - -NAME ** Trident (generic) [trident] -#CHIPSET trident -SERVER SVGA -DRIVER trident - -NAME ** Tseng Labs (generic) [tseng] -#CHIPSET tseng -SERVER SVGA -DRIVER tseng -LINE # Option "linear" -LINE # Option "noaccel" -LINE # Option "power_saver" -LINE # Option "fast_dram" -LINE # Option "pci_retry" -LINE # Option "hibit_high" -LINE # Option "hibit_low" -LINE # MemBase 0x3C00000 - -NAME ** VMWare guest OS (generic) [vmware] -#CHIPSET vmware -SERVER SVGA -DRIVER vmware - - -#Chips & Technologies - -#untested -NAME Chips & Technologies CT65520 -CHIPSET ct65520 -SERVER SVGA -DRIVER chips -LINE # Device section for C&T cards. -LINE # Option "suspend_hack" -LINE # Option "STN" -LINE # Option "no_stretch" -LINE # Option "no_center" -LINE # Option "use_modeline" -LINE # Option "fix_panel_size" -LINE # videoram 512 - -NAME Chips & Technologies CT65525 -CHIPSET ct65525 -LINE # Option "nolinear" -LINE # MemBase 0x03b00000 -SEE Chips & Technologies CT65520 - -NAME Chips & Technologies CT65530 -CHIPSET ct65530 -SEE Chips & Technologies CT65525 - -NAME Chips & Technologies CT65535 -CHIPSET ct65535 -NOCLOCKPROBE -LINE # Option "hw_clocks" -LINE # Textclockfreq 25.175 -SEE Chips & Technologies CT65530 - -NAME Chips & Technologies CT65540 -CHIPSET ct65540 -NOCLOCKPROBE -LINE # Option "use_18bit_bus" -SEE Chips & Technologies CT65535 - -NAME Chips & Technologies CT65545 -CHIPSET ct65545 -NOCLOCKPROBE -LINE # Option "noaccel" -LINE # Option "no_bitblt" -LINE # Option "xaa_no_color_exp" -LINE # Option "xaa_benchmark" -LINE # Option "hw_cursor" -LINE # Option "mmio" -SEE Chips & Technologies CT65540 - -NAME Chips & Technologies CT65546 -CHIPSET ct65546 -SEE Chips & Technologies CT65545 - -NAME Chips & Technologies CT65548 -CHIPSET ct65548 -SEE Chips & Technologies CT65545 - -NAME Chips & Technologies CT65550 -CHIPSET ct65550 -NOCLOCKPROBE -LINE # Option "noaccel" -LINE # Option "no_bitblt" -LINE # Option "xaa_no_color_exp" -LINE # Option "xaa_benchmark" -LINE # Option "hw_cursor" -LINE # Option "sync_on_green" -LINE # Option "fast_dram" -LINE # Option "use_vclk1" -LINE # Textclockfreq 25.175 -SEE Chips & Technologies CT65530 - -NAME Chips & Technologies CT65554 -CHIPSET ct65554 -SEE Chips & Technologies CT65550 - -NAME Chips & Technologies CT65555 -CHIPSET ct65555 -SEE Chips & Technologies CT65550 - -NAME Chips & Technologies CT68554 -CHIPSET ct68554 -SEE Chips & Technologies CT65550 - -NAME Chips & Technologies CT69000 -CHIPSET ct69000 -SEE Chips & Technologies CT65550 - -NAME Chips & Technologies CT69030 -CHIPSET ct69030 -SEE Chips & Technologies CT65550 - -NAME Chips & Technologies CT64200 -CHIPSET ct64200 -SERVER SVGA -DRIVER chips -LINE # Device section for C&T cards. -LINE # videoram 1024 - -NAME Chips & Technologies CT64300 -CHIPSET ct64300 -SERVER SVGA -DRIVER chips -LINE # Option "noaccel" -LINE # Option "no_bitblt" -LINE # Option "xaa_no_color_exp" -LINE # Option "xaa_benchmark" -LINE # Option "hw_cursor" -LINE # Option "nolinear" -LINE # MemBase 0x03b00000 -LINE # Option "hw_clocks" -LINE # Textclockfreq 25.175 -SEE Chips & Technologies CT64200 - -# Cirrus Logic - -#tested -NAME Cirrus Logic GD542x -SERVER SVGA -DRIVER vga -UNSUPPORTED -NOCLOCKPROBE -LINE # Device section for Cirrus Logic GD5420/2/4/6/8/9-based cards. -LINE #MemBase 0x00e00000 -LINE #MemBase 0x04e00000 -LINE #Option "linear" - -#tested -NAME Cirrus Logic GD543x -CHIPSET CL-GD5430/5434/5436 -SERVER SVGA -DRIVER cirrus -NOCLOCKPROBE -LINE # Device section for Cirrus Logic GD5430/34-based cards. -LINE #MemBase 0x00e00000 # ISA card that maps to 14Mb -LINE #MemBase 0x04000000 # VLB card that maps to 64Mb -LINE #MemBase 0x80000000 # VLB card that maps to 2048Mb -LINE #MemBase 0x02000000 # VLB card that maps to 32Mb -LINE #Option "linear" - -NAME Cirrus Logic GD544x -CHIPSET CL-GD544x -SERVER SVGA -DRIVER cirrus -NOCLOCKPROBE - -NAME Creative Labs Graphics Blaster MA201 -SEE Cirrus Logic GD544x - -NAME Creative Labs Graphics Blaster MA202 -SEE Cirrus Logic GD544x - -#tested -NAME Cirrus Logic GD5462 -CHIPSET CL-GD5462 -SERVER SVGA -DRIVER cirrus -NOCLOCKPROBE -LINE #Option "fifo_conservative" - -#tested -NAME Cirrus Logic GD5464 -CHIPSET CL-GD5464 -SERVER SVGA -DRIVER cirrus -NOCLOCKPROBE -LINE #Option "fifo_conservative" - -#tested -NAME Cirrus Logic GD5465 -CHIPSET CL-GD5465 -SERVER SVGA -DRIVER cirrus -NOCLOCKPROBE -LINE #Option "fifo_conservative" - -NAME Creative Labs Graphics Blaster MA302 -CHIPSET CL-GD5462 -SEE Cirrus Logic GD5462 - -NAME Creative Labs Graphics Blaster MA334 -CHIPSET CL-GD5464 -SEE Cirrus Logic GD5464 - -NAME Creative Labs Graphics Blaster 3D -CHIPSET CL-GD5464 -SEE Cirrus Logic GD5464 - -#tested -NAME Cirrus Logic GD5480 -CHIPSET CL-GD5480 -SERVER SVGA -DRIVER cirrus -NOCLOCKPROBE - -#tested -NAME Diamond SpeedStar 64 -CHIPSET CL-GD5434 -SEE Cirrus Logic GD543x - -NAME Diamond SpeedStar64 Graphics 2000/2200 -CHIPSET CL-GD5434 -SEE Cirrus Logic GD543x - -NAME Diamond SpeedStar Pro SE (CL-GD5430/5434) -SEE Cirrus Logic GD543x - -NAME Diamond SpeedStar Pro 1100 -SEE Cirrus Logic GD542x - -NAME Orchid Kelvin 64 VLB Rev A -CHIPSET CL-GD5434 -SERVER SVGA -DRIVER cirrus -NOCLOCKPROBE -LINE # Device section for Orchid Kelvin 64 VLB Rev A -LINE # Linear framebuffer maps at 2048Mb. Some motherboards make linear addressing -LINE # impossible. Some cards map at 32Mb. -LINE #MemBase 0x02000000 # VLB card that maps to 32Mb -LINE #MemBase 0x04000000 # VLB card that maps to 64Mb -LINE MemBase 0x80000000 # VLB card that maps to 2048Mb -LINE #Option "linear" - -NAME Orchid Kelvin 64 VLB Rev B -CHIPSET CL-GD5434 -SERVER SVGA -DRIVER cirrus -NOCLOCKPROBE -LINE # Device section for Orchid Kelvin 64 VLB Rev B -LINE # Linear framebuffer maps at 32Mb. Some motherboards make linear addressing -LINE # impossible. Some cards map at 2048Mb. -LINE MemBase 0x02000000 # VLB card that maps to 32Mb -LINE #MemBase 0x04000000 # VLB card that maps to 64Mb -LINE #MemBase 0x80000000 # VLB card that maps to 2048Mb -LINE #Option "linear" - -NAME Orchid Kelvin 64 -CHIPSET CL-GD5434 -SEE Cirrus Logic GD543x - -NAME Intel 5430 -CHIPSET CL-GD5430 -SEE Cirrus Logic GD543x - -NAME STB Nitro (64) -CHIPSET CL-GD5434 -SEE Cirrus Logic GD543x - -NAME STB Nitro 64 Video -CHIPSET CL-GD5446 -SEE Cirrus Logic GD544x - -NAME STB Horizon -CHIPSET CL-GD5426/28 -SEE Cirrus Logic GD542x - -NAME STB Horizon Video -CHIPSET CL-GD5440 -SEE Cirrus Logic GD544x - -NAME Genoa 8500VL(-28) -CHIPSET CL-GD5426/28 -SEE Cirrus Logic GD542x - -NAME Diamond SpeedStar Pro (not SE) -CHIPSET CL-GD5426/28 -SEE Cirrus Logic GD542x - -NAME ALG-5434(E) -CHIPSET CL-GD5434 -SEE Cirrus Logic GD543x - -NAME Actix ProStar -CHIPSET CL-GD5426/5428 -SEE Cirrus Logic GD542x - -NAME Actix ProStar 64 -CHIPSET CL-GD5434 -SEE Cirrus Logic GD543x - -#tested -NAME Acumos AVGA3 -SEE Cirrus Logic GD542x - -NAME DFI-WG1000 -SEE Cirrus Logic GD542x - -NAME Spider VLB Plus -CHIPSET CL-GD5428 -SEE Cirrus Logic GD542x - -NAME VI720 -CHIPSET CL-GD5434 -SEE Cirrus Logic GD543x - -NAME Cirrus Logic GD62xx (laptop) -CHIPSET CL-GD6205/15/25/35 -SERVER SVGA -DRIVER vga -UNSUPPORTED -NOCLOCKPROBE - -NAME Cirrus Logic GD64xx (laptop) -CHIPSET CL-GD6420/6440 -SERVER SVGA -DRIVER vga -UNSUPPORTED - -NAME Cirrus Logic GD754x (laptop) -CHIPSET CL-GD7541/42/43/48 -SERVER SVGA -DRIVER vga -UNSUPPORTED -NOCLOCKPROBE - -NAME Techworks Ultimate 3D -CHIPSET CL-GD5464 -SEE Cirrus Logic GD5464 - -NAME VideoLogic GrafixStar 550 -CHIPSET CL-GD5464 -SEE Cirrus Logic GD5464 - -NAME Jaton Video-70P -CHIPSET CL-GD5464 -SEE Cirrus Logic GD5464 - -NAME PixelView Combo TV Pro (Prolink) -CHIPSET CL-GD5480, 4MB -SERVER SVGA -DRIVER vga -UNSUPPORTED -LINE # COMMENT on card TV Tuner -NOCLOCKPROBE - -NAME PixelView Combo TV 3D AGP (Prolink) -CHIPSET CL-GD5465, 4MB -SERVER SVGA -DRIVER vga -UNSUPPORTED -LINE # COMMENT on card TV+FM Tuner -NOCLOCKPROBE - -NAME Creative Labs Graphics Blaster Eclipse (OEM Model CT6510) -SEE Cirrus Logic GD5465 - -NAME VideoLogic GrafixStar 560 (PCI/AGP) -SEE Cirrus Logic GD5465 - -NAME Cirrus Logic GD5446 (noname card) -CHIPSET CL-GD5446, 1MB (upgradable to 2MB). -SERVER SVGA -DRIVER vga -UNSUPPORTED -NOCLOCKPROBE - -NAME Octek VL-VGA-26 -CHIPSET CL-GD5426 -SEE Cirrus Logic GD542x - -NAME Octek VL-VGA-28 -CHIPSET CL-GD5428 -SEE Cirrus Logic GD542x - -NAME Octek Combo-26 -CHIPSET CL-GD5426 -SEE Cirrus Logic GD542x - -NAME Octek Combo-28 -CHIPSET CL-GD5428 -SEE Cirrus Logic GD542x - -NAME Octek AVGA-20 -SEE Cirrus Logic GD542x - -# S3 801/805 - -NAME S3 801/805 (generic) -CHIPSET S3 801/805 -SERVER S3 -DRIVER vga -UNSUPPORTED - -NAME S3 86C801 (generic) -SEE S3 801/805 (generic) - -NAME S3 86C805 (generic) -SEE S3 801/805 (generic) - -#tested -NAME S3 801/805 with ATT20c490 RAMDAC -CHIPSET S3 801/805 -SERVER S3 -DRIVER vga -UNSUPPORTED -RAMDAC att20c490 -LINE #Option "dac_8_bit" # Not supported by some 20c490 clones - -NAME S3 801/805 with SC1148{2,3,4} RAMDAC -CHIPSET S3 801/805 -SERVER S3 -DRIVER vga -UNSUPPORTED -RAMDAC sc11482 - -NAME S3 801/805 with SC1148{5,7,9} RAMDAC -CHIPSET S3 801/805 -SERVER S3 -DRIVER vga -UNSUPPORTED -RAMDAC sc11485 - -NAME S3 801/805 with S3 GenDAC -CHIPSET S3 801/805 -SERVER S3 -DRIVER vga -UNSUPPORTED -RAMDAC s3gendac -CLOCKCHIP s3gendac - -NAME S3 801/805 with ATT20c490 RAMDAC and ICD2061A -CHIPSET S3 801/805 -SERVER S3 -DRIVER vga -UNSUPPORTED -RAMDAC att20c490 -CLOCKCHIP icd2061a -LINE #Option "dac_8_bit" # Not supported by some 20c490 clones - -NAME S3 801/805 with Chrontel 8391 -CHIPSET S3 801/805 -SERVER S3 -DRIVER vga -UNSUPPORTED -RAMDAC att20c490 -CLOCKCHIP ch8391 -LINE Option "dac_8_bit" - -#tested -NAME Actix GE32+ 2MB -CHIPSET S3 801/805 -SERVER S3 -DRIVER vga -UNSUPPORTED -RAMDAC att20c490 -LINE #Option "dac_8_bit" - -NAME Actix GE32i -CHIPSET S3 805i -SERVER S3 -DRIVER vga -UNSUPPORTED - -NAME Orchid Fahrenheit VA -CHIPSET S3 801/805 -SERVER S3 -DRIVER vga -UNSUPPORTED -RAMDAC att20c490 - -NAME Orchid Fahrenheit 1280 -CHIPSET S3 801 -SERVER S3 -DRIVER vga -UNSUPPORTED -LINE #Probable clocks: -LINE #Clocks 25.20 28.32 32.50 0.00 40.00 44.90 50.40 65.00 -LINE #Clocks 78.00 56.70 63.10 75.10 80.00 89.90 100.90 31.50 - -NAME Orchid Fahrenheit-1280+ -CHIPSET S3 801/805 -SERVER S3 -DRIVER vga -UNSUPPORTED -RAMDAC att20C490 -LINE Dacspeed 110 -LINE Option "dac_8_bit" -LINE #Option "nolinear" # VLB card may require this -LINE #Probable clocks: -LINE #Clocks 25.20 28.32 40.0 0.0 50.10 77.0 36.10 45.0 -LINE #Clocks 130.0 120.20 80.0 31.50 110.30 65.0 75.0 94.60 - -NAME Diamond Stealth 24 -CHIPSET S3 801/805 -SERVER S3 -DRIVER vga -UNSUPPORTED -CLOCKCHIP icd2061a -LINE #Option "nolinear" -LINE #Ramdac "att20c490" # The Diamond RAMDAC is reportedly compatible for 15bpp - -NAME Miro Crystal 8S -SEE S3 801/805 (generic) - -NAME Miro Crystal 10SD with GenDAC -SEE S3 801/805 with S3 GenDAC - -NAME Dell S3 805 -SEE S3 801/805 (generic) - -NAME STB Powergraph X-24 -SEE S3 801/805 with ATT20c490 RAMDAC and ICD2061A - -NAME JAX 8241 -SEE S3 801/805 with Chrontel 8391 - -NAME VL-41 -SEE S3 801/805 with Chrontel 8391 - -NAME SPEA Mirage -SEE S3 801/805 with Chrontel 8391 - -# S3 864/Trio64/Trio32/868 - -NAME S3 864 (generic) -SERVER S3 -DRIVER vga -UNSUPPORTED - -NAME S3 86C864 (generic) -SEE S3 864 (generic) - -NAME S3 Vision864 (generic) -SEE S3 864 (generic) - -NAME S3 864 with SDAC (86C716) -CHIPSET S3 864 -SERVER S3 -DRIVER vga -UNSUPPORTED -RAMDAC s3_sdac -CLOCKCHIP s3_sdac -NOCLOCKPROBE - -NAME S3 864 with ATT 20C498 or 21C498 -CHIPSET S3 864 -SERVER S3 -DRIVER vga -UNSUPPORTED -RAMDAC att20c498 - -NAME S3 864 with STG1703 -CHIPSET S3 864 -SERVER S3 -DRIVER vga -UNSUPPORTED -RAMDAC stg1703 -NOCLOCKPROBE - -NAME S3 868 (generic) -CHIPSET S3 868 -SERVER S3 -DRIVER vga -UNSUPPORTED - -NAME S3 86C868 (generic) -SEE S3 868 (generic) - -NAME S3 Vision868 (generic) -SEE S3 868 (generic) - -NAME S3 868 with SDAC (86C716) -CHIPSET S3 868 -SERVER S3 -DRIVER vga -UNSUPPORTED -NOCLOCKPROBE - -NAME S3 868 with ATT 20C498 or 21C498 -CHIPSET S3 868 -SERVER S3 -DRIVER vga -UNSUPPORTED -RAMDAC att20c498 - -NAME S3 868 with ATT 20C409 -CHIPSET S3 868 -SERVER S3 -DRIVER vga -UNSUPPORTED -RAMDAC att20c409 -NOCLOCKPROBE - -NAME Number Nine FX Motion 531 -CLOCKCHIP icd2061a -SEE S3 868 with ATT 20C498 or 21C498 - -NAME S3 Trio64 (generic) -SERVER S3 -DRIVER vga -UNSUPPORTED -NOCLOCKPROBE - -NAME S3 86C764 (generic) -SEE S3 Trio64 (generic) - -NAME S3 Trio64V+ (generic) -SERVER S3 -DRIVER vga -UNSUPPORTED -NOCLOCKPROBE - -NAME S3 86C765 (generic) -SEE S3 Trio64V+ (generic) - -NAME S3 Trio32 (generic) -CHIPSET S3 Trio32 -SERVER S3 -DRIVER vga -UNSUPPORTED -NOCLOCKPROBE - -NAME Genoa Phantom 64i with S3 SDAC -DACSPEED 135 -SEE S3 864 with SDAC (86C716) - -NAME Number Nine GXE64 -CHIPSET S3 864 -SERVER S3 -DRIVER vga -UNSUPPORTED -CLOCKCHIP icd2061a -LINE Option "number_nine" - -NAME Number Nine GXE64 with S3 Trio64 -SEE S3 Trio64 (generic) - -NAME Diamond Stealth 64 DRAM with S3 SDAC -DACSPEED 135 -SEE S3 864 with SDAC (86C716) - -NAME Diamond Stealth64 Graphics 2xx0 series (864 + SDAC) -DACSPEED 135 -SEE S3 864 with SDAC (86C716) - -NAME Diamond Stealth 64 DRAM with S3 Trio64 -SEE S3 Trio64 (generic) - -NAME Diamond Stealth64 Graphics 2xx0 series (Trio64) -SEE S3 Trio64 (generic) - -NAME Diamond Stealth 64 DRAM SE -SEE S3 Trio32 (generic) - -NAME Diamond Stealth64 Video 2001 series (2121/2201) -SEE S3 Trio64V+ (generic) - -NAME Actix GE64 -CLOCKCHIP icd2061a -SEE S3 864 (generic) - -NAME ELSA Winner 1000PRO with S3 SDAC -SEE S3 864 with SDAC (86C716) - -NAME ELSA Winner 1000PRO with STG1700 or AT&T RAMDAC -CHIPSET S3 864 -SERVER S3 -DRIVER vga -UNSUPPORTED -CLOCKCHIP icd2061a - -NAME ELSA Winner 1000PRO/X -SEE S3 868 with SDAC (86C716) - -NAME ELSA Winner 1000ISA -CHIPSET S3 805i -SERVER S3 -DRIVER vga -UNSUPPORTED -CLOCKCHIP icd2061a -LINE Option "dac_8_bit" -LINE # the following settings should be detected and set automatically by XF86_S3 -LINE # if the serial number of the ELSA card is printed correctly: -LINE #ClockChip "icd2061a" - -NAME Cardex Trio64 -SEE S3 Trio64 (generic) - -NAME Cardex Trio64Pro -SEE S3 Trio64 (generic) - -NAME Miro Crystal 12SD -SEE S3 Trio32 (generic) - -NAME Miro Crystal 22SD -SEE S3 Trio64 (generic) - -NAME Miro Crystal 20SD with ICS2494 (BIOS 1.xx) -SEE S3 864 with ATT 20C498 or 21C498 - -NAME Miro Crystal 20SD with ICD2061A (BIOS 2.xx) -CLOCKCHIP icd2061a -SEE S3 864 with ATT 20C498 or 21C498 - -NAME Miro Crystal 20SD VLB with S3 SDAC (BIOS 3.xx) -SEE S3 864 with SDAC (86C716) - -NAME Miro Crystal 20SD PCI with S3 SDAC -SEE S3 868 with SDAC (86C716) - -NAME ELSA Winner 1000AVI (SDAC version) -SEE S3 868 with SDAC (86C716) - -NAME ELSA Winner 1000AVI (AT&T 20C409 version) -SEE S3 868 with ATT 20C409 - -NAME Diamond Stealth Video DRAM -SEE S3 868 with SDAC (86C716) - -NAME Diamond Stealth64 Video 2120/2200 -SEE S3 868 with SDAC (86C716) - -NAME SPEA/V7 Mirage P64 -CLOCKCHIP ics2595 -SEE S3 864 (generic) - -NAME SPEA/V7 Mirage P64 with S3 Trio64 -SEE S3 Trio64 (generic) - -NAME Number Nine FX Vision 330 -SEE S3 Trio64 (generic) - -NAME Number Nine FX Motion 331 -SEE S3 Trio64V+ (generic) - -NAME ASUS Video Magic PCI V864 -SEE S3 864 (generic) - -NAME ASUS Video Magic PCI VT64 -SEE S3 Trio64 (generic) - -NAME VidTech FastMax P20 -SEE S3 864 (generic) - -NAME VideoLogic GrafixStar 500 -SEE S3 868 with SDAC (86C716) - -NAME VideoLogic GrafixStar 400 -SEE S3 Trio64V+ (generic) - -NAME VideoLogic GrafixStar 300 -SEE S3 Trio64 (generic) - -NAME 2 the Max MAXColor S3 Trio64V+ -SEE S3 Trio64V+ (generic) - -NAME DataExpert DSV3365 -SEE S3 Trio64V+ (generic) - -NAME ExpertColor DSV3365 -SEE S3 Trio64V+ (generic) - -NAME DSV3326 -SEE S3 Trio64V+ (generic) - -# S3 Trio64V2 - -NAME S3 Trio64V2 (generic) -SERVER S3 -DRIVER vga -UNSUPPORTED -NOCLOCKPROBE - -NAME S3 Trio64V2/DX (generic) -SEE S3 Trio64V2 (generic) - -NAME S3 Trio64V2/GX (generic) -SEE S3 Trio64V2 (generic) - -NAME S3 86C775 (generic) -SEE S3 Trio64V2/DX (generic) - -NAME S3 86C785 (generic) -SEE S3 Trio64V2/GX (generic) - -NAME ELSA WINNER 1000/T2D -SEE S3 Trio64V2/DX (generic) - - -# S3 Aurora64V+ - -NAME S3 Aurora64V+ (generic) -CHIPSET S3 Aurora64V+ -SERVER S3 -DRIVER vga -UNSUPPORTED -NOCLOCKPROBE -LINE # Option "lcd_center" -LINE # Set_LCDClk - -NAME S3 86CM65 -SEE S3 Aurora64V+ (generic) - -NAME SHARP 9080 -SEE S3 Aurora64V+ (generic) - -NAME SHARP 9090 -SEE S3 Aurora64V+ (generic) - -NAME COMPAQ Armada 7730MT -SEE S3 Aurora64V+ (generic) - -NAME COMPAQ Armada 7380DMT -SEE S3 Aurora64V+ (generic) - - -# S3 964/968 - -NAME S3 964 (generic) -CHIPSET S3 964 -SERVER S3 -DRIVER vga -UNSUPPORTED -NOCLOCKPROBE - -NAME S3 86C964 (generic) -SEE S3 964 (generic) - -NAME S3 Vision964 (generic) -SEE S3 964 (generic) - -NAME S3 968 (generic) -CHIPSET S3 968 -SERVER S3 -DRIVER vga -UNSUPPORTED -NOCLOCKPROBE - -NAME S3 86C968 (generic) -SEE S3 968 (generic) - -NAME S3 Vision968 (generic) -SEE S3 968 (generic) - -NAME Number Nine GXE64 Pro -CHIPSET S3 964 -SERVER S3 -DRIVER vga -UNSUPPORTED -RAMDAC ti3025 -LINE Option "number_nine" - -NAME Diamond Stealth 64 VRAM -CLOCKCHIP icd2061a -LINE #Option "slow_vram" -SEE S3 964 (generic) - -NAME Diamond Stealth64 Video 3200 -CHIPSET S3 968 -LINE #Option "slow_vram" -SEE S3 968 (generic) - -NAME Diamond Stealth 64 Video VRAM (TI RAMDAC) -CHIPSET S3 968 -LINE #Option "slow_vram" -LINE #DacSpeed 220 -SEE S3 968 (generic) - -NAME Diamond Stealth64 Video 3240/3400 (TI RAMDAC) -CHIPSET S3 968 -LINE #Option "slow_vram" -LINE #DacSpeed 220 -SEE S3 968 (generic) - -NAME Diamond Stealth64 Video 3240/3400 (IBM RAMDAC) -CHIPSET S3 968 -LINE #Option "slow_vram" -RAMDAC ibm_rgb526 -LINE DacSpeed 220 -SEE S3 968 (generic) - -NAME Genoa VideoBlitz III AV -CHIPSET S3 968 -LINE #s3RefClk 50 -LINE #DACspeed 170 -SEE S3 968 (generic) - -NAME STB Velocity 64 Video -CHIPSET S3 968 -LINE #s3RefClk 24 -LINE #DACspeed 220 -SEE S3 968 (generic) - -NAME STB Powergraph 64 Video -SEE S3 Trio64V+ (generic) - -NAME STB Powergraph 64 -SEE S3 Trio64 (generic) - -NAME ELSA Winner 1000TRIO -SEE S3 Trio64 (generic) - -NAME ELSA Winner 1000TRIO/V -SEE S3 Trio64V+ (generic) - -NAME Hercules Graphite Terminator 64 -LINE Option "slow_vram" -LINE #s3RefClk 50 -LINE #DACspeed 170 -SEE S3 964 (generic) - -NAME Hercules Terminator 64/Video -SEE S3 Trio64V+ (generic) - -NAME Hercules Graphite Terminator 64/DRAM -SEE S3 Trio64 (generic) - -NAME Hercules Graphite Terminator Pro 64 -LINE #s3RefClk 16 -LINE #DACspeed 220 -SEE S3 968 (generic) - -NAME Number Nine FX Motion 771 -LINE #s3RefClk 16 -SEE S3 968 (generic) - -NAME Spider Tarantula 64 -SEE S3 964 (generic) - -NAME Miro Crystal 20SV -CHIPSET S3 964 -SERVER S3 -DRIVER vga -UNSUPPORTED -CLOCKCHIP icd2061a - -NAME Miro Crystal 40SV -CHIPSET S3 964 -SERVER S3 -DRIVER vga -UNSUPPORTED -CLOCKCHIP ti3025 - -NAME Miro Crystal 80SV -CHIPSET S3 968 -SERVER S3 -DRIVER vga -UNSUPPORTED -NOCLOCKPROBE - -NAME Miro Video 20SV -CHIPSET S3 968 -SERVER S3 -DRIVER vga -UNSUPPORTED -RAMDAC att20c505 -LINE #DacSpeed 150 -CLOCKCHIP ics9161a - -NAME SPEA Mercury 64 -CHIPSET S3 964 -SERVER S3 -DRIVER vga -UNSUPPORTED -CLOCKCHIP ics9161a -LINE #Option "spea_mercury" - -NAME ELSA Winner 2000PRO-2 -CHIPSET S3 964 -SERVER S3 -DRIVER vga -UNSUPPORTED -LINE #Option "ELSA_w2000pro" -NOCLOCKPROBE - -NAME ELSA Winner 2000PRO-4 -CHIPSET S3 964 -SERVER S3 -DRIVER vga -UNSUPPORTED -LINE #Option "ELSA_w2000pro" -NOCLOCKPROBE - -NAME ELSA Winner 2000PRO/X-2 -CHIPSET S3 968 -SERVER S3 -DRIVER vga -UNSUPPORTED -LINE #Option "sync_on_green" -NOCLOCKPROBE - -NAME ELSA Winner 2000PRO/X-4 -CHIPSET S3 968 -SERVER S3 -DRIVER vga -UNSUPPORTED -LINE #Option "sync_on_green" -NOCLOCKPROBE - -NAME ELSA Winner 2000PRO/X-8 -CHIPSET S3 968 -SERVER S3 -DRIVER vga -UNSUPPORTED -LINE #Option "sync_on_green" -NOCLOCKPROBE - -NAME ELSA Winner 2000AVI -CHIPSET S3 968 -SERVER S3 -DRIVER vga -UNSUPPORTED -LINE #Option "sync_on_green" -NOCLOCKPROBE - -NAME ELSA Gloria-4 -CHIPSET S3 968 -SERVER S3 -DRIVER vga -UNSUPPORTED -LINE #Option "sync_on_green" -NOCLOCKPROBE - -NAME ELSA Gloria-8 -CHIPSET S3 968 -SERVER S3 -DRIVER vga -UNSUPPORTED -LINE #Option "sync_on_green" -NOCLOCKPROBE - -NAME VideoLogic GrafixStar 700 -CHIPSET S3 968 -SERVER S3 -DRIVER vga -UNSUPPORTED -NOCLOCKPROBE - -NAME LeadTek WinFast S430 -CHIPSET S3 968 -SERVER S3 -DRIVER vga -UNSUPPORTED -NOCLOCKPROBE - -NAME WinFast S430 -SEE LeadTek WinFast S430 - -NAME LeadTek WinFast S510 -CHIPSET S3 968 -SERVER S3 -DRIVER vga -UNSUPPORTED -NOCLOCKPROBE - -NAME WinFast S510 -SEE LeadTek WinFast S510 - -# S3 928 - -NAME S3 928 (generic) -CHIPSET S3 928 -SERVER S3 -DRIVER vga -UNSUPPORTED - -NAME S3 86C928 (generic) -SEE S3 928 (generic) - -NAME Actix Ultra -CHIPSET S3 928 -SERVER S3 -DRIVER vga -UNSUPPORTED -RAMDAC att20c490 -LINE #Option "dac_8_bit" - -NAME Diamond Stealth Pro -CHIPSET S3 928 -SERVER S3 -DRIVER vga -UNSUPPORTED -CLOCKCHIP icd2061a -LINE #Ramdac "att20c490" # The Diamond RAMDAC is reportedly compatible for 15bpp -LINE #Option "no_linear" # Some VLB machines may require this - -NAME ELSA Winner 1000VL -CHIPSET S3 928 -SERVER S3 -DRIVER vga -UNSUPPORTED -LINE # the following settings should be detected and set automatically by XF86_S3 -LINE # if the serial number of the ELSA card is printed correctly: -LINE #ClockChip "icd2061a" -LINE #Membase 0xf8000000 - -NAME ELSA Winner 1000TwinBus -SEE ELSA Winner 1000VL - -NAME ELSA Winner 2000 -SEE S3 928 (generic) - -NAME Miro Crystal 16S -SEE S3 928 (generic) - -NAME SPEA/V7 Mercury -CHIPSET S3 928 -SERVER S3 -DRIVER vga -UNSUPPORTED -CLOCKCHIP sc11412 -LINE Option "spea_mercury" - -NAME STB Pegasus -CHIPSET S3 928 -SERVER S3 -DRIVER vga -UNSUPPORTED -RAMDAC bt485 -CLOCKCHIP icd2061a -LINE Option "stb_pegasus" -LINE #Option "sync_on_green" - -NAME Number Nine GXE Level 14/16 -CHIPSET S3 928 -SERVER S3 -DRIVER vga -UNSUPPORTED -DACSPEED 200 -CLOCKCHIP icd2061a -LINE Option "number_nine" -LINE #Option "nolinear" -LINE #Option "nomemaccess" - -NAME Number Nine GXE Level 10/11/12 -CHIPSET S3 928 -SERVER S3 -DRIVER vga -UNSUPPORTED -CLOCKCHIP icd2061a -LINE Option "number_nine" - -NAME 928Movie -CHIPSET S3 928 -SERVER S3 -DRIVER vga -UNSUPPORTED -CLOCKCHIP icd2595 -RAMDAC bt485 -LINE # pixel multiplexing not supported - -# S3 911/924 - -NAME S3 911/924 (generic) -CHIPSET S3 911/924 -SERVER S3 -DRIVER vga -UNSUPPORTED - -NAME S3 86C911 (generic) -SEE S3 911/924 (generic) - -NAME S3 86C924 (generic) -SEE S3 911/924 (generic) - -NAME Diamond Stealth VRAM -CHIPSET S3 911/924 -SERVER S3 -DRIVER vga -UNSUPPORTED -CLOCKCHIP icd2061a - -#NAME Orchid Fahrenheit 1280 -#SEE S3 911/924 (generic) - -NAME S3 924 with SC1148 DAC -CHIPSET S3 924 -SERVER S3 -DRIVER vga -UNSUPPORTED -LINE #Probable clocks: -LINE #Clocks 25.2 28.3 39.7 1.7 49.9 76.7 35.7 44 -LINE #Clocks 130.2 119.5 79.4 31.2 110.0 65.2 74.9 71.3 - -# S3 ViRGE,/DX,/GX and ViRGE/VX - -NAME S3 ViRGE (old S3V server) -CHIPSET S3 ViRGE -SERVER S3V -DRIVER s3virge -NOCLOCKPROBE - -NAME S3 ViRGE (generic) -CHIPSET S3 ViRGE -SERVER SVGA -DRIVER s3virge -NOCLOCKPROBE -LINE #Option "xaa_benchmark" -LINE #Option "fifo_moderate" -LINE #Option "pci_burst_on" -LINE #Option "pci_retry" - -NAME S3 ViRGE/DX (generic) -CHIPSET S3 ViRGE/DX -SERVER SVGA -DRIVER s3virge -NOCLOCKPROBE -LINE #Option "xaa_benchmark" -LINE #Option "fifo_moderate" -LINE #Option "pci_burst_on" -LINE #Option "pci_retry" - -NAME S3 ViRGE/GX (generic) -CHIPSET S3 ViRGE/GX -SERVER SVGA -DRIVER s3virge -NOCLOCKPROBE -LINE #Option "xaa_benchmark" -LINE #Option "fifo_moderate" -LINE #Option "pci_burst_on" -LINE #Option "pci_retry" - - -NAME S3 ViRGE/GX2 (generic) -CHIPSET S3 ViRGE/GX2 -SERVER SVGA -DRIVER s3virge -NOCLOCKPROBE -LINE #Option "xaa_benchmark" -LINE #Option "fifo_moderate" -LINE #Option "pci_burst_on" -LINE #Option "pci_retry" - -NAME S3 ViRGE/MX (generic) -CHIPSET S3 ViRGE/MX -SERVER SVGA -DRIVER s3virge -NOCLOCKPROBE -LINE #Option "lcd_center" -LINE #Set_LCDClk -LINE #Option "xaa_benchmark" -LINE #Option "fifo_moderate" -LINE #Option "pci_burst_on" -LINE #Option "pci_retry" - -NAME S3 ViRGE/MX+ (generic) -SEE S3 ViRGE/MX (generic) - - - - -NAME S3 86C325 (generic) -SEE S3 ViRGE (generic) - -NAME S3 86C375 (generic) -SEE S3 ViRGE/DX (generic) - -NAME S3 86C385 (generic) -SEE S3 ViRGE/GX (generic) - -NAME S3 86C357 (generic) -SEE S3 ViRGE/GX2 (generic) - -NAME S3 86C260 (generic) -SEE S3 ViRGE/MX (generic) - -NAME S3 86C280 (generic) -SEE S3 ViRGE/MX+ (generic) - - -NAME ELSA Victory 3D -SEE S3 ViRGE (generic) - -NAME ELSA Victory 3DX -SEE S3 ViRGE/DX (generic) - -NAME ELSA Winner 3000-S -SEE S3 ViRGE (generic) - -NAME Number Nine Visual 9FX Reality 332 -SEE S3 ViRGE (generic) - -NAME Number Nine FX Motion 332 -SEE S3 ViRGE (generic) - -NAME Diamond Stealth 3D 2000 -SEE S3 ViRGE (generic) - -NAME Diamond Stealth 3D 2000 PRO -SEE S3 ViRGE/DX (generic) - -NAME Diamond Multimedia Stealth 3D 2000 -SEE S3 ViRGE (generic) - -NAME Diamond Multimedia Stealth 3D 2000 PRO -SEE S3 ViRGE/DX (generic) - -NAME Canopus Co. Power Window 3DV -SEE S3 ViRGE (generic) - -NAME DataExpert DSV3325 -SEE S3 ViRGE (generic) - -NAME ExpertColor DSV3325 -SEE S3 ViRGE (generic) - -NAME DSV3325 -SEE S3 ViRGE (generic) - -NAME Hercules Terminator 64/3D -SEE S3 ViRGE (generic) - -NAME Hercules Terminator 3D/DX -SEE S3 ViRGE/DX (generic) - -NAME LeadTek WinFast 3D S600 -SEE S3 ViRGE (generic) - -NAME WinFast 3D S600 -SEE LeadTek WinFast 3D S600 - -NAME LeadTek WinFast 3D S680 -SEE S3 ViRGE/GX2 (generic) - -NAME Miro MiroMedia 3D -SEE S3 ViRGE (generic) - -NAME Orchid Technology Fahrenheit Video 3D -SEE S3 ViRGE (generic) - -NAME STB Systems Powergraph 3D -SEE S3 ViRGE (generic) - -NAME STB Nitro 3D -CHIPSET S3 ViRGE/GX -SEE S3 ViRGE/GX (generic) - -NAME MELCO WGP-VG4S -LINE #DACSpeed 191 162 111 83 -LINE #SetMClck 75 -SEE S3 ViRGE (generic) - - - -NAME S3 ViRGE/VX (generic) -CHIPSET S3 ViRGE/VX -SERVER SVGA -DRIVER s3virge -NOCLOCKPROBE -LINE #Option "xaa_benchmark" -LINE #Option "fifo_moderate" -LINE #Option "pci_burst_on" -LINE #Option "pci_retry" - - -NAME S3 86C988 (generic) -SEE S3 ViRGE/VX (generic) - -NAME ELSA Winner 3000 -SEE S3 ViRGE/VX (generic) - -NAME ELSA Winner 3000-M-22 -SEE S3 ViRGE/VX (generic) - -NAME ELSA Winner 3000-L-42 -SEE S3 ViRGE/VX (generic) - -NAME ELSA Winner 2000AVI/3D -SEE S3 ViRGE/VX (generic) - -NAME Diamond Stealth 3D 3000 -SEE S3 ViRGE/VX (generic) - -NAME STB Systems Velocity 3D -SEE S3 ViRGE/VX (generic) - -NAME MELCO WGP-VX8 -SEE S3 ViRGE/VX (generic) - -NAME Diamond Stealth 3D 4000 -SEE S3 ViRGE/GX2 (generic) - -NAME Toshiba Tecra 750CDT -SEE S3 ViRGE/MX (generic) - -NAME Toshiba Tecra 750DVD -SEE S3 ViRGE/MX (generic) - -NAME Toshiba Tecra 540CDT -SEE S3 ViRGE/MX (generic) - -NAME Toshiba Tecra 550CDT -SEE S3 ViRGE/MX (generic) - -# currently unsupported S3 - -NAME S3 86C365 (Trio3D) -SEE * Unsupported VGA compatible - -NAME S3 86C391 (Savage3D) -SEE * Unsupported VGA compatible - -NAME S3 Trio3D -SEE * Unsupported VGA compatible - -NAME S3 Savage3D -SEE * Unsupported VGA compatible - -NAME S3 Savage4 -SERVER SVGA -DRIVER vga -UNSUPPORTED - -# ET4000/ET6000 - -NAME ET3000 (generic) -CHIPSET ET3000 -SERVER SVGA -DRIVER tseng - -NAME Genoa 5400 -SEE ET3000 (generic) - -NAME ET4000 (generic) -CHIPSET ET4000 -SERVER SVGA -DRIVER tseng - -NAME ET4000/W32 (generic) -CHIPSET ET4000/W32 -SERVER W32 -DRIVER tseng - -NAME ET4000 W32i, W32p (generic) -CHIPSET ET4000/W32(i/p) -SERVER SVGA -DRIVER tseng -LINE #Option "linear" # for linear mode at 8bpp -LINE #Option "noaccel" # when problems with accelerator -LINE #Option "power_saver" # enable VESA DPMS -LINE #Option "fast_dram" -LINE #Option "pci_retry" # faster, but problematic for ISA DMA -LINE #Option "hibit_high" # see README.tseng -- most cards need this -LINE #Option "hibit_low" # see README.tseng -- mostly for older ET4000 cards -LINE #MemBase 0x3C00000 # when automatic MemBase detection doesn't work -LINE # -- see README.tseng for more (important) information on MemBase - -NAME ET6000 (generic) -CHIPSET ET6000 -SERVER SVGA -DRIVER tseng -NOCLOCKPROBE -LINE #videoram 2304 # 2.25 MB, when memory probe is incorrect -LINE #Option "linear" # for linear mode at 8bpp -LINE #Option "noaccel" # when problems with accelerator -LINE #Option "power_saver" # enable VESA DPMS -LINE #Option "pci_retry" # faster, but problematic for ISA DMA -LINE #Option "hw_cursor" # Use hardware cursor (see docs for limitations) -LINE #Option "xaa_no_color_exp" # When text (or bitmap) is not rendered correctly - -NAME ET6100 (generic) -CHIPSET ET6100 -SEE ET6000 (generic) - -NAME Diamond Stealth 32 -CLOCKCHIP icd2061a -NOCLOCKPROBE -SEE ET4000 W32i, W32p (generic) - -NAME Cardex Cobra -SEE ET4000 W32i, W32p (generic) - -NAME Cardex Challenger (Pro) -SEE ET4000 W32i, W32p (generic) - -NAME Colorgraphic Dual Lightning -SEE ET4000 W32i, W32p (generic) - -NAME Dell onboard ET4000 -SEE ET4000 (generic) - -NAME DFI-WG5000 -SEE ET4000 W32i, W32p (generic) - -NAME Diamond SpeedStar (Plus) -SEE ET4000 (generic) - -NAME Diamond SpeedStar 24 -SEE ET4000 (generic) - -NAME Diamond SpeedStar HiColor -SEE ET4000 (generic) - -NAME Genoa 8900 Phantom 32i -SEE ET4000 W32i, W32p (generic) - -NAME Hercules Dynamite -SEE ET4000/W32 (generic) - -NAME Hercules Dynamite Power -SEE ET4000 W32i, W32p (generic) - -NAME Hercules Dynamite Pro -SEE ET4000 W32i, W32p (generic) - -NAME Integral FlashPoint -SEE ET4000 W32i, W32p (generic) - -NAME LeadTek WinFast S200 -SEE ET4000 W32i, W32p (generic) - -NAME Matrox Comet -SEE ET4000 W32i, W32p (generic) - -NAME Matrox Marvel II -SEE ET4000 W32i, W32p (generic) - -NAME Miro MiroVideo 20TD -SEE ET4000 W32i, W32p (generic) - -NAME WinFast S200 -SEE LeadTek WinFast S200 - -NAME Sigma Concorde -SEE ET4000/W32 (generic) - -NAME Sigma Legend -SEE ET4000 (generic) - -NAME SPEA/V7 ShowTime Plus -SEE ET4000 W32i, W32p (generic) - -NAME STB LightSpeed -SEE ET4000 W32i, W32p (generic) - -NAME STB MVP-2 -SEE ET4000 (generic) - -NAME STB MVP-2 PCI -SEE ET4000 W32i, W32p (generic) - -NAME STB MVP-2X -SEE ET4000 W32i, W32p (generic) - -NAME STB MVP-4 PCI -SEE ET4000 W32i, W32p (generic) - -NAME STB MVP-4X -SEE ET4000 W32i, W32p (generic) - -NAME TechWorks Thunderbolt -SEE ET4000/W32 (generic) - -NAME ViewTop PCI -SEE ET4000 W32i, W32p (generic) - -NAME SNI PC5H W32 -CLOCKCHIP stg1703 -NOCLOCKPROBE -SEE ET4000 W32i, W32p (generic) - -NAME SNI Scenic W32 -CLOCKCHIP stg1703 -NOCLOCKPROBE -SEE ET4000 W32i, W32p (generic) - -NAME Hercules Dynamite 128/Video -SEE ET6000 (generic) - -NAME STB LightSpeed 128 -SEE ET6000 (generic) - -NAME VideoLogic GrafixStar 600 -SEE ET6000 (generic) - -NAME Jazz Multimedia G-Force 128 -SEE ET6000 (generic) - -NAME Mirage Z-128 -SEE ET6000 (generic) - -NAME California Graphics SunTracer 6000 -SEE ET6000 (generic) - -NAME Binar Graphics AnyView -SEE ET6000 (generic) - -NAME MediaVision Proaxcel 128 -SEE ET6000 (generic) - -NAME ATrend ATC-2165A -SEE ET6000 (generic) - -NAME Interay PMC Viper -SEE ET6000 (generic) - -NAME 2-the-Max MAXColor 6000 -SEE ET6000 (generic) - -NAME Gainward Challenger EV -SEE ET6000 (generic) - -NAME MachSpeed VGA ET6000 -SEE ET6000 (generic) - -NAME KouTech KeyVision 128 EV -SEE ET6000 (generic) - -NAME Jaton Video-58P -SEE ET6000 (generic) - -# ATI - -NAME ATI Rage 128 -CHIPSET ati -SERVER SVGA -DRIVER ati - -NAME ATI 8514 Ultra (no VGA) -CHIPSET ati -SERVER Mach8 -DRIVER vga -UNSUPPORTED - -NAME ATI Graphics Ultra -CHIPSET ati -SERVER Mach8 -DRIVER ati - -NAME ATI Graphics Ultra Pro -CHIPSET ati -SERVER Mach32 -DRIVER ati - -NAME ATI Wonder SVGA -CHIPSET ati -SERVER SVGA -DRIVER ati - -NAME ATI Ultra Plus -CHIPSET ati -SERVER Mach32 -DRIVER ati - -NAME ATI Mach32 -CHIPSET ati -SERVER Mach32 -DRIVER ati - -NAME ATI Mach64 -CHIPSET ati -SERVER Mach64 -DRIVER ati -NOCLOCKPROBE - -NAME ATI Mach64 CT (264CT) -SEE ATI Mach64 - -NAME ATI Mach64 VT (264VT) -SEE ATI Mach64 - -NAME ATI Mach64 GT (264GT), aka 3D RAGE -SEE ATI Mach64 - -NAME ATI Mach64 3D RAGE II -SEE ATI Mach64 - -NAME ATI Mach64 3D RAGE II+DVD -SEE ATI Mach64 - -NAME ATI Mach64 3D Rage IIC -SEE ATI Mach64 - -NAME ATI Mach64 3D Rage Pro -SEE ATI Mach64 - -NAME ATI 3D Pro Turbo -SEE ATI Mach64 - -NAME ATI 3D Pro Turbo PC2TV -SEE ATI Mach64 - -NAME ATI 3D Xpression -SEE ATI Mach64 - -NAME ATI 3D Xpression+ -SEE ATI Mach64 - -NAME ATI 3D Xpression+ PC2TV -SEE ATI Mach64 - -NAME ATI All-in-Wonder -SEE ATI Mach64 - -NAME ATI All-in-Wonder Pro -SEE ATI Mach64 - -NAME ATI Graphics Pro Turbo -SEE ATI Mach64 - -NAME ATI Graphics Pro Turbo 1600 -SEE ATI Mach64 - -NAME ATI Graphics Xpression -SEE ATI Mach64 - -NAME ATI Video Boost -SEE ATI Mach64 - -NAME ATI Video Charger -SEE ATI Mach64 - -NAME ATI Video Xpression -SEE ATI Mach64 - -NAME ATI Video Xpression+ -SEE ATI Mach64 - -NAME ATI WinBoost -SEE ATI Mach64 - -NAME ATI WinCharger -SEE ATI Mach64 - -NAME ATI WinTurbo -SEE ATI Mach64 - -NAME ATI Xpert 98 -SEE ATI Mach64 - -NAME ATI Xpert XL -SEE ATI Mach64 - -NAME ATI Xpert@Play -SEE ATI Mach64 - -NAME ATI Xpert@Play 98 -SEE ATI Mach64 - -NAME ATI Xpert@Work -SEE ATI Mach64 - -NAME ATI integrated on Intel Maui MU440EX motherboard -SEE ATI Mach64 - -NAME ASUS PCI-V264CT -SEE ATI Mach64 - -NAME ASUS PCI-AV264CT -SEE ATI Mach64 - -# AGX - -NAME AGX (generic) -CHIPSET AGX-014/15/16 -SERVER AGX -DRIVER vga -UNSUPPORTED - -NAME Boca Vortex (Sierra RAMDAC) -CHIPSET AGX-015 -SERVER AGX -DRIVER vga -UNSUPPORTED -RAMDAC sc15025 -LINE Option "dac_8_bit" -LINE Option "no_wait_state" -LINE #Option "fifo_moderate" # 2x bus bw - may result in random pixels - -NAME EIZO (VRAM) -SEE AGX (generic) - -NAME Orchid Celsius (AT&T RAMDAC) -CHIPSET AGX-015 -SERVER AGX -DRIVER vga -UNSUPPORTED -RAMDAC att20c490 -LINE Option "dac_8_bit" -LINE Option "no_wait_state" -LINE #Option "fifo_moderate" # 2x bus bw - may result in random pixels - -NAME Orchid Celsius (Sierra RAMDAC) -CHIPSET AGX-015 -SERVER AGX -DRIVER vga -UNSUPPORTED -RAMDAC sc15025 -LINE Option "dac_8_bit" -LINE Option "no_wait_state" -LINE #Option "fifo_moderate" # 2x bus bw - may result in random pixels - - -NAME Spider Black Widow -CHIPSET AGX-015 -SERVER AGX -DRIVER vga -UNSUPPORTED -RAMDAC sc15025 -LINE Option "dac_8_bit" -LINE Option "no_wait_state" -LINE #Option "fifo_moderate" # 2x bus bw - may result in random pixels - - -NAME Spider Black Widow Plus -CHIPSET AGX-016 -SERVER AGX -DRIVER vga -UNSUPPORTED -RAMDAC sc15025 -LINE Option "dac_8_bit" -LINE Option "no_wait_state" -LINE #Option "fifo_moderate" # 2x bus bw - may result in random pixels -LINE #Option "fifo_aggressive" # 3x bus bw - may result in random pixels -LINE #Probable clocks: -LINE #Clocks 25.2 28.3 39.9 72.2 50.0 76.9 36.1 44.8 -LINE #Clocks 89.0 119.8 79.9 31.5 110.0 64.9 74.9 94.9 - -NAME Hercules Graphite HG210 -CHIPSET AGX-014 -SERVER AGX -DRIVER vga -UNSUPPORTED -RAMDAC bt482 -DACSPEED 85 -LINE Chipset "AGX-014" -LINE Option "dac_8_bit" -LINE Option "no_wait_state" -LINE #Probable clocks: -LINE #Clocks 25.0 28.0 32.0 36.0 40.0 45.0 50.0 65.0 -LINE #Clocks 70.0 75.0 80.0 85.0 90.0 95.0 100.0 110.0 - -NAME Hercules Graphite Pro -CHIPSET AGX-015 -SERVER AGX -DRIVER vga -UNSUPPORTED -# Card specific DAC, doesn't appear in ramdac menu -LINE Ramdac "herc_dual_dac" -LINE Chipset "AGX-015" -LINE Option "dac_8_bit" -LINE Option "no_wait_state" -LINE #Option "fifo_moderate" # 2x bus bw - may result in random pixels -LINE #Probable clocks: -LINE #Clocks 25.0 28.0 32.0 36.0 40.0 45.0 50.0 65.0 -LINE #Clocks 70.0 75.0 80.0 85.0 90.0 95.0 100.0 110.0 - -NAME Hercules Graphite Power -CHIPSET AGX-016 -SERVER AGX -DRIVER vga -UNSUPPORTED -# Card specific DAC, doesn't appear in ramdac menu -# The glue logic state machine for RAMDAC switching doesn't work as -# documented, for now we're stuck with the small RAMDAC -LINE Ramdac "herc_small_dac" -LINE Chipset "AGX-016" -LINE Option "dac_8_bit" -LINE Option "no_wait_state" -LINE #Option "fifo_moderate" # 2x bus bw - may result in random pixels -LINE #Option "fifo_aggressive" # 3x bus bw - may result in random pixels -LINE #Probable clocks: -LINE #Clocks 25.0 28.0 32.0 36.0 40.0 45.0 50.0 65.0 -LINE #Clocks 70.0 75.0 80.0 85.0 90.0 95.0 100.0 110.0 - -NAME XGA-2 (ISA bus) -CHIPSET XGA-2 -SERVER AGX -DRIVER vga -UNSUPPORTED -NOCLOCKPROBE -LINE #Instance 7 # XGA instance 0-7 -LINE #COPbase 0xC8F00 # XGA memory-mapped register address -LINE #POSbase 0 # Disable probing if above are specified - -NAME XGA-1 (ISA bus) -CHIPSET XGA-1 -SERVER AGX -DRIVER vga -UNSUPPORTED -LINE #Instance 7 # XGA instance 0-7 -LINE #COPbase 0xC8F00 # XGA memory-mapped register address -LINE #POSbase 0 # Disable probing if above are specified - -# WD - -NAME Paradise/WD 90CXX -CHIPSET WD90CXX -SERVER SVGA -DRIVER vga -UNSUPPORTED - -NAME DFI-WG6000 -CHIPSET WD90C33 -SERVER SVGA -DRIVER vga -UNSUPPORTED - -NAME Diamond SpeedStar 24X (not fully supported) -CHIPSET WD90C31 -SERVER SVGA -DRIVER vga -UNSUPPORTED - -NAME WD 90C24 (laptop) -CHIPSET WD90C24 -SERVER SVGA -DRIVER vga -UNSUPPORTED -LINE #Chipset "wd90c24" -LINE #Option "noaccel" # Use this if acceleration is causing problems -LINE #Clocks 25.175 28.322 65 36 # These are not programmable -LINE #Clocks 29.979 77.408 62.195 59.957 # These are programmable -LINE #Clocks 31.5 35.501 75.166 50.114 # These are not programmable -LINE #Clocks 39.822 72.038 44.744 80.092 # These are programmable -LINE #Clocks 44.297 # Must match Mclk - - -NAME WD 90C24A or 90C24A2 (laptop) -CHIPSET WD90C24A -SERVER SVGA -DRIVER vga -UNSUPPORTED -LINE #Chipset "wd90c24" -LINE #Clocks 25.175 28.322 65 36 # These are not programmable -LINE #Clocks 29.979 77.408 62.195 59.957 # These are programmable -LINE #Clocks 31.5 35.501 75.166 50.114 # These are not programmable -LINE #Clocks 39.822 72.038 44.744 80.092 # These are programmable -LINE #Clocks 44.297 # Must match Mclk - -# Avance Logic - -NAME Avance Logic 2101 -CHIPSET Avance Logic -LINE #chipset "al2101" -SERVER SVGA -DRIVER vga -UNSUPPORTED - -NAME Avance Logic 2228 -CHIPSET Avance Logic -LINE #chipset "ali2228" -SERVER SVGA -DRIVER vga -UNSUPPORTED - -NAME Avance Logic 2301 -CHIPSET Avance Logic -LINE #chipset "ali2301" -SERVER SVGA -DRIVER vga -UNSUPPORTED - -NAME Avance Logic 2302 -CHIPSET Avance Logic -LINE #chipset "ali2302" -SERVER SVGA -DRIVER vga -UNSUPPORTED - -NAME Avance Logic 2308 -CHIPSET Avance Logic -LINE #chipset "ali2308" -SERVER SVGA -DRIVER vga -UNSUPPORTED - -NAME Avance Logic 2401 -CHIPSET Avance Logic -LINE #chipset "ali2401" -SERVER SVGA -DRIVER vga -UNSUPPORTED - -NAME Hercules Stingray -CHIPSET ALG-2228/2301/2302 -LINE #chipset "ali2228" -SERVER SVGA -DRIVER vga -UNSUPPORTED - -NAME SPEA/V7 Mirage VEGA Plus -CHIPSET ALG-2228 -LINE #chipset "ali2228" -SERVER SVGA -DRIVER vga -UNSUPPORTED - -# ARK Logic - -NAME Ark Logic ARK1000PV (generic) -CHIPSET ARK1000PV -SERVER SVGA -DRIVER vga -UNSUPPORTED - -# For now, treat the VL as a PV. This may be changed later -NAME Ark Logic ARK1000VL (generic) -CHIPSET ARK1000VL -LINE Chipset "ark1000pv" -SERVER SVGA -DRIVER vga -UNSUPPORTED - -NAME Ark Logic ARK2000PV (generic) -CHIPSET ARK1000PV -SERVER SVGA -DRIVER vga -UNSUPPORTED - -NAME Ark Logic ARK2000MT (generic) -CHIPSET ARK1000MT -SERVER SVGA -DRIVER vga -UNSUPPORTED - -NAME Hercules Stingray Pro -SEE Ark Logic ARK1000PV (generic) - -NAME Hercules Stingray Pro/V -SEE Ark Logic ARK1000PV (generic) - -NAME Ocean (octek) VL-VGA-1000 -RAMDAC att20c490 -SEE Ark Logic ARK1000VL (generic) - -NAME Hercules Stingray 64/V with ZoomDAC -SEE Ark Logic ARK2000PV (generic) - -NAME Hercules Stingray 64/V with ICS5342 -CHIPSET ARK2000MT -RAMDAC ics5342 -SERVER SVGA -DRIVER vga -UNSUPPORTED - -NAME Diamond Stealth64 Graphics 2001 series -CHIPSET ARK2000PV -RAMDAC ics5342 -SERVER SVGA -DRIVER vga -UNSUPPORTED - -# Oak - -NAME Oak ISA Card (generic) -CHIPSET Oak OTI-067/77 -SERVER SVGA -DRIVER vga -UNSUPPORTED - -NAME Oak 87 VLB (generic) -CHIPSET Oak OTI-087 -SERVER SVGA -DRIVER vga -UNSUPPORTED -LINE Option "fifo_aggressive" # Comment this if you experience streaks. -LINE Option "no_wait" # Comment this if you find problems. -LINE #Option "enable_bitblt" # You may enable this and see if it works (see README.Oak file) - -NAME Oak 87 ISA (generic) -CHIPSET Oak OTI-087 -SERVER SVGA -DRIVER vga -UNSUPPORTED -LINE Option "noaccel" # ISA cards seem to have Color Expansion support broken -LINE #Option "enable_bitblt" # This should work on ISA, but lets not make it default just in case. - -NAME Paradise Accelerator Value -SEE Oak 87 ISA (generic) - -# P9000 - -NAME Diamond Viper VLB 2Mb -CHIPSET Weitek 9000 -SERVER P9000 -DRIVER vga -UNSUPPORTED -LINE #Clocks must match the mode clocks (XFree86 3.1 P9000 server) -LINE #Versions later than 3.1 do not require a clocks line -LINE Chipset "vipervlb" # Required for some cards which autodetect as PCI -LINE Videoram 2048 # Required -LINE Membase 0x80000000 # Optional (0x80000000 is default) -NOCLOCKPROBE - -NAME Diamond Viper PCI 2Mb -CHIPSET Weitek 9000 -SERVER P9000 -DRIVER vga -UNSUPPORTED -LINE #Clocks must match the mode clocks (XFree86 3.1 P9000 server) -LINE #Versions later than 3.1 do not require a clocks line -LINE Videoram 2048 # Required -LINE #Membase 0x80000000 # Use scanpci to get the correct Membase -NOCLOCKPROBE - -NAME Orchid P9000 VLB -CHIPSET Weitek 9000 -SERVER P9000 -DRIVER vga -UNSUPPORTED -LINE Chipset "orchid_p9000" -LINE Membase 0xE0000000 -NOCLOCKPROBE - -# P9100 - -NAME Weitek P9100 (generic) -CHIPSET Weitek P9100 -SERVER SVGA -DRIVER vga -UNSUPPORTED -NOCLOCKPROBE - -NAME Diamond Viper Pro Video -SEE Weitek P9100 (generic) - -# Trident - -NAME Trident 8900/9000 (generic) -CHIPSET TVGA8900/9000 -SERVER SVGA -DRIVER vga -UNSUPPORTED - -NAME Trident 8900D (generic) -SERVER SVGA -DRIVER vga -UNSUPPORTED - -NAME Trident TVGA9200CXr (generic) -CHIPSET TVGA9200CXr -SERVER SVGA -DRIVER vga -UNSUPPORTED - -NAME Trident TGUI9400CXi (generic) -CHIPSET TGUI9400CXi -SERVER SVGA -DRIVER trident - -NAME Trident TGUI9420DGi (generic) -CHIPSET TGUI9420DGi -SERVER SVGA -DRIVER trident - -NAME Trident TGUI9430DGi (generic) -CHIPSET TGUI9430DGi -SERVER SVGA -DRIVER trident - -NAME Trident TGUI9420 (generic) -CHIPSET TGUI9420 -DRIVER trident -NOCLOCKPROBE - -NAME Trident TGUI9440 (generic) -CHIPSET TGUI9440 -DRIVER trident -NOCLOCKPROBE - -NAME Trident TGUI9660 (generic) -CHIPSET TGUI9660 -DRIVER trident -NOCLOCKPROBE - -NAME Trident TGUI9680 (generic) -CHIPSET TGUI9680 -DRIVER trident -NOCLOCKPROBE - -NAME Trident TGUI9682 (generic) -CHIPSET TGUI9682 -SERVER SVGA -DRIVER trident -NOCLOCKPROBE - -NAME Trident TGUI9685 (generic) -CHIPSET TGUI9685 -SERVER SVGA -DRIVER trident -NOCLOCKPROBE - -NAME Trident Cyber 9320 (generic) -CHIPSET Cyber9320 -DRIVER trident -NOCLOCKPROBE - -NAME Trident Cyber 9382 (generic) -CHIPSET Cyber9382 -SERVER SVGA -DRIVER trident -NOCLOCKPROBE - -NAME Trident Cyber 9385 (generic) -CHIPSET Cyber9385 -SERVER SVGA -DRIVER trident -NOCLOCKPROBE - -NAME Trident Cyber 9388 (generic) -CHIPSET Cyber9388 -SERVER SVGA -DRIVER trident -NOCLOCKPROBE - -NAME Trident Cyber 939a (generic) -CHIPSET Cyber939a -DRIVER trident -NOCLOCKPROBE - -NAME Trident Cyber 9397 (generic) -CHIPSET Cyber9397 -SERVER SVGA -DRIVER trident -NOCLOCKPROBE - -NAME Trident Cyber 9520 (generic) -CHIPSET Cyber9520 -DRIVER trident -NOCLOCKPROBE - -NAME Trident 3DImage975 (generic) -CHIPSET 3dimage975 -SERVER SVGA -DRIVER trident -NOCLOCKPROBE - -NAME Trident 3DImage975 AGP (generic) -CHIPSET 3dimage975 -SERVER SVGA -DRIVER trident -NOCLOCKPROBE - -NAME Trident 3DImage985 (generic) -CHIPSET 3dimage985 -SERVER SVGA -DRIVER trident -NOCLOCKPROBE - -NAME Trident Providia 9682 (generic) -CHIPSET Providia9682 -DRIVER trident -NOCLOCKPROBE - -NAME Trident Providia 9685 (generic) -CHIPSET Providia9685 -DRIVER trident -NOCLOCKPROBE - -NAME Trident TVGA 8800BR -SEE * Generic VGA compatible - -NAME Trident TVGA 8800CS -SEE * Generic VGA compatible - -NAME Trident CyberBlade (generic) -CHIPSET CyberBlade -SERVER SVGA -DRIVER trident -NOCLOCKPROBE - -NAME Trident Blade3D (generic) -CHIPSET Blade3D -SERVER SVGA -DRIVER trident -NOCLOCKPROBE - -# SiS - -NAME SiS 530 -CHIPSET SIS530 -SERVER SVGA -DRIVER sis - -NAME SiS 620 -CHIPSET SIS620 -SERVER SVGA -DRIVER sis - -NAME SiS SG86C201 -CHIPSET SIS86C201 -SERVER SVGA -DRIVER sis - -NAME SiS SG86C205 -CHIPSET SIS86C205 -SERVER SVGA -DRIVER sis -LINE # Option "no_accel" # Use this if acceleration is causing problems -LINE # Option "fifo_moderate" -LINE # Option "fifo_conserv" -LINE # Option "fifo_aggressive" -NOCLOCKPROBE - -NAME SiS SG86C215 -CHIPSET SIS86C215 -SERVER SVGA -DRIVER sis -LINE # This is a cheap version of 86c205. I am not sure if acceleration works -LINE # Option "no_accel" # Use this if acceleration is causing problems -LINE # Option "no_BitBlt" # Use this if acceleration is causing problems -LINE # Option "fifo_moderate" -LINE # Option "fifo_conserv" -LINE # Option "fifo_aggressive" -NOCLOCKPROBE - -NAME SiS SG86C225 -CHIPSET SIS86C225 -SERVER SVGA -DRIVER sis -LINE # Option "no_accel" # Use this if acceleration is causing problems -LINE # Option "fifo_moderate" -LINE # Option "fifo_conserv" -LINE # Option "fifo_aggressive" -NOCLOCKPROBE - -NAME SiS 5597 -CHIPSET SiS5597 -SERVER SVGA -DRIVER sis -LINE # Option "no_accel" # Use this if acceleration is causing problems -LINE # Option "fifo_moderate" -LINE # Option "fifo_conserv" -LINE # Option "fifo_aggressive" -LINE # Option "fast_vram" -LINE # Option "pci_burst_on" -LINE # Option "xaa_benchmark" # DON'T use with "ext_eng_queue" !!! -LINE # Option "ext_eng_queue" # Turbo-queue. This can cause drawing -LINE # errors, but gives some accel -NOCLOCKPROBE - -NAME SiS 5598 -CHIPSET SIS5598 -SERVER SVGA -DRIVER sis -LINE # Option "no_accel" # Use this if acceleration is causing problems -LINE # Option "fifo_moderate" -LINE # Option "fifo_conserv" -LINE # Option "fifo_aggressive" -LINE # Option "fast_vram" -LINE # Option "pci_burst_on" -LINE # Option "xaa_benchmark" # DON'T use with "ext_eng_queue" !!! -LINE # Option "ext_eng_queue" # Turbo-queue. This can cause drawing -LINE # errors, but gives some accel -NOCLOCKPROBE - -NAME SiS 6326 -CHIPSET SiS6326 -SERVER SVGA -DRIVER sis -LINE # Option "no_accel" # Use this if acceleration is causing problems -LINE # Option "fifo_moderate" -LINE # Option "fifo_conserv" -LINE # Option "fifo_aggressive" -LINE # Option "fast_vram" -LINE # Option "pci_burst_on" -LINE # Option "xaa_benchmark" # DON'T use with "ext_eng_queue" !!! -LINE # Option "ext_eng_queue" # Turbo-queue. This can cause drawing -LINE # errors, but gives some accel -NOCLOCKPROBE - -NAME MSI MS-4417 -SEE SiS 6326 - -NAME SiS 3D PRO AGP -SEE SiS 6326 - -NAME Miro Crystal DVD -SEE SiS 6326 - -NAME PC-Chips M567 Mainboard -SEE SiS 5597 - -NAME Diamond SpeedStar A50 -SEE SiS 6326 - -# Cyrix - -NAME MediaGX -CHIPSET mediagx -SERVER SVGA -DRIVER vga -UNSUPPORTED -NOCLOCKPROBE - -# Alliance ProMotion - -NAME Alliance ProMotion 6422 -CHIPSET AP6422 -SERVER SVGA -DRIVER vga -UNSUPPORTED - -# Number 9 I128 - -NAME Number Nine Imagine I-128 -CHIPSET I128 -SERVER I128 -DRIVER i128 -NOCLOCKPROBE - -NAME Number Nine Imagine I-128 Series 2 -CHIPSET I128 -SERVER I128 -DRIVER i128 -NOCLOCKPROBE - -NAME Number Nine Revolution 3D (T2R) -CHIPSET I128 -SERVER I128 -DRIVER i128 -NOCLOCKPROBE - -NAME Number Nine Imagine-128 Revolution IV (T2R4) -CHIPSET I128 -SERVER I128 -DRIVER i128 -NOCLOCKPROBE - -# Matrox - -NAME Matrox Millennium 2MB -CHIPSET mga2064w -SERVER SVGA -DRIVER mga -LINE VideoRam 2048 -NOCLOCKPROBE - -NAME Matrox Millennium 4MB -CHIPSET mga2064w -SERVER SVGA -DRIVER mga -LINE VideoRam 4096 -NOCLOCKPROBE - -NAME Matrox Millennium 8MB -CHIPSET mga2064w -SERVER SVGA -DRIVER mga -LINE VideoRam 8192 -NOCLOCKPROBE - -NAME Matrox Millennium II 4MB -CHIPSET mga2164w -SERVER SVGA -DRIVER mga -LINE VideoRam 4096 -NOCLOCKPROBE - -NAME Matrox Millennium II 8MB -CHIPSET mga2164w -SERVER SVGA -DRIVER mga -LINE VideoRam 8192 -NOCLOCKPROBE - -NAME Matrox Millennium II 16MB -CHIPSET mga2164w -SERVER SVGA -DRIVER mga -LINE VideoRam 16384 -NOCLOCKPROBE - -NAME Matrox Millennium G200 4MB -CHIPSET mgag200 -SERVER SVGA -DRIVER mga -LINE VideoRam 4096 -NOCLOCKPROBE - -NAME Matrox Millennium G200 8MB -CHIPSET mgag200 -SERVER SVGA -DRIVER mga -LINE VideoRam 8192 -NOCLOCKPROBE - -NAME Matrox Millennium G200 16MB -CHIPSET mgag200 -SERVER SVGA -DRIVER mga -LINE VideoRam 16384 -NOCLOCKPROBE - -NAME Matrox Millennium G200 SD 4MB -CHIPSET mgag200 -SERVER SVGA -DRIVER mga -LINE VideoRam 4096 -LINE # Option "mga_sdram" -NOCLOCKPROBE - -NAME Matrox Millennium G200 SD 8MB -CHIPSET mgag200 -SERVER SVGA -DRIVER mga -LINE VideoRam 8192 -LINE # Option "mga_sdram" -NOCLOCKPROBE - -NAME Matrox Millennium G200 SD 16MB -CHIPSET mgag200 -SERVER SVGA -DRIVER mga -LINE VideoRam 16384 -LINE # Option "mga_sdram" -NOCLOCKPROBE - -NAME Matrox Mystique -CHIPSET mga1064sg -SERVER SVGA -DRIVER mga -NOCLOCKPROBE - -NAME Matrox Mystique G200 4MB -CHIPSET mgag200 -SERVER SVGA -DRIVER mga -LINE VideoRam 4096 -NOCLOCKPROBE - -NAME Matrox Mystique G200 8MB -CHIPSET mgag200 -SERVER SVGA -DRIVER mga -LINE VideoRam 8192 -NOCLOCKPROBE - -NAME Matrox Millennium G400 -CHIPSET mgag400 -SERVER SVGA -DRIVER mga -NOCLOCKPROBE - -NAME Matrox Mystique G200 16MB -CHIPSET mgag200 -SERVER SVGA -DRIVER mga -LINE VideoRam 16384 -NOCLOCKPROBE - -NAME Matrox Productiva G100 4MB -CHIPSET mgag100 -SERVER SVGA -DRIVER mga -LINE VideoRam 4096 -NOCLOCKPROBE - -NAME Matrox Productiva G100 8MB -CHIPSET mgag100 -SERVER SVGA -DRIVER mga -LINE VideoRam 8192 -NOCLOCKPROBE - -# NVIDIA - -NAME Diamond Edge 3D -CHIPSET nv1 -SERVER SVGA -DRIVER vga -UNSUPPORTED -NOCLOCKPROBE - -NAME RIVA128 -CHIPSET RIVA128 -SERVER SVGA -DRIVER nv -NOCLOCKPROBE - -NAME RIVA TNT -CHIPSET RIVATNT -SERVER SVGA -DRIVER nv -NOCLOCKPROBE - -NAME RIVA TNT2 -CHIPSET RIVATNT2 -SERVER SVGA -DRIVER nv -NOCLOCKPROBE - -NAME NVIDIA GeForce -CHIPSET GeForce -SERVER SVGA -DRIVER nv -NOCLOCKPROBE - -NAME ELSA VICTORY ERAZOR -SEE RIVA128 - -NAME ELSA Winner 1000 R3D -SEE RIVA128 - -NAME ELSA ERAZOR II -SEE RIVA TNT - -NAME Diamond Viper 330 -SEE RIVA128 - -NAME Diamond Viper 550 -SEE RIVA TNT - -NAME Diamond Viper 770 -SEE RIVA TNT2 - -NAME STB Velocity 128 -SEE RIVA128 - -NAME STB nvidia 128 -SEE RIVA128 - -NAME STB Velocity 4400 -SEE RIVA TNT - -NAME ASUS 3Dexplorer -SEE RIVA128 - -NAME Guillemot Maxi Gamer Xentor -SEE RIVA TNT2 - -NAME Guillemot Maxi Gamer Xentor 32 -SEE RIVA TNT2 - -NAME Creative Graphics Blaster TNT -SEE RIVA TNT - -NAME Creative Graphics Blaster TNT2 -SEE RIVA TNT2 - -# 3Dfx -NAME Voodoo Banshee (generic) -SERVER SVGA -CHIPSET 3dfx Banshee -DRIVER tdfx - -NAME Voodoo3 (generic) -SERVER SVGA -CHIPSET 3dfx Voodoo3 -DRIVER tdfx - -NAME Elsa Victory II -SEE Voodoo Banshee (generic) - -NAME Diamond Monster Fusion -SEE Voodoo Banshee (generic) - -NAME AOpen PA2010 -SEE Voodoo Banshee (generic) - -NAME Chaintech Desperado 3F10 -SEE Voodoo Banshee (generic) - -# 3DLabs - -NAME ELSA GLoria-L/MX -CHIPSET GLINT MX -SERVER 3DLabs -DRIVER glint -LINE #Option "no_accel" -NOCLOCKPROBE - -NAME ELSA GLoria-L -CHIPSET GLINT 500TX -SERVER 3DLabs -DRIVER glint -NOCLOCKPROBE - -NAME ELSA GLoria-XL -CHIPSET GLINT MX -SERVER 3DLabs -DRIVER glint -NOCLOCKPROBE - -NAME Diamond Fire GL 3000 -CHIPSET GLINT 500TX -SERVER 3DLabs -DRIVER glint -LINE Option "firegl_3000" -NOCLOCKPROBE - -NAME ELSA GLoria-S -CHIPSET PERMEDIA -SERVER 3DLabs -DRIVER glint -LINE #Option "no_accel" -LINE #VideoRam 8192 -NOCLOCKPROBE - -NAME Diamond Fire GL 1000 -CHIPSET PERMEDIA -SERVER 3DLabs -DRIVER glint -LINE #Option "no_accel" -LINE #VideoRam 8192 -NOCLOCKPROBE - -NAME ELSA GLoria Synergy -CHIPSET PERMEDIA 2 -SERVER 3DLabs -DRIVER glint -LINE #Option "no_accel" -NOCLOCKPROBE - -NAME ELSA Winner 2000/Office -CHIPSET PERMEDIA 2 -SERVER 3DLabs -DRIVER glint -LINE #Option "no_accel" -NOCLOCKPROBE - -NAME Diamond Fire GL 1000 PRO -CHIPSET PERMEDIA 2 -SERVER 3DLabs -DRIVER glint -LINE #Option "no_accel" -NOCLOCKPROBE - -NAME Creative Blaster Exxtreme -CHIPSET PERMEDIA 2 -SERVER 3DLabs -DRIVER glint -LINE #Option "no_accel" -NOCLOCKPROBE - -NAME AccelStar Permedia II AGP -CHIPSET PERMEDIA 2 -SERVER 3DLabs -DRIVER glint -LINE #Option "no_accel" -NOCLOCKPROBE - -NAME Leadtek WinFast 2300 -CHIPSET PERMEDIA 2 -SERVER 3DLabs -DRIVER glint -NOCLOCKPROBE - -NAME 3DLabs Oxygen GMX -CHIPSET PERMEDIA 2 -SERVER 3DLabs -DRIVER glint -LINE #Option "no_accel" -NOCLOCKPROBE - -NAME Appian Jeronimo 2000 -CHIPSET PERMEDIA 3 -SERVER 3DLabs -DRIVER glint -NOCLOCKPROBE - -# Alliance Semiconductor - -NAME Diamond Stealth Video 2500 -CHIPSET Alliance AT24 -SERVER SVGA -DRIVER apm -NOCLOCKPROBE - -NAME AT3D -CHIPSET Alliance AT3D -SERVER SVGA -DRIVER apm -NOCLOCKPROBE -LINE #Option "no_accel" - -NAME AT25 -SEE AT3D - -NAME Hercules Stingray 128 3D -SEE AT3D - -# NeoMagic - -NAME NeoMagic (laptop/notebook) -CHIPSET MagicGraph 128 series -SERVER SVGA -DRIVER neomagic -LINE # Chipset "NM2160" -LINE # IOBase 0xfea00000 -LINE # MemBase 0xfd000000 -LINE # VideoRam 2048 -LINE # DacSpeed 90 -LINE # Option "linear" -LINE # Option "nolinear" -LINE # Option "sw_cursor" -LINE # Option "hw_cursor" -LINE # Option "no_accel" -LINE # Option "intern_disp" -LINE # Option "extern_disp" -LINE # Option "mmio" -LINE # Option "no_mmio" -LINE # Option "lcd_center" -LINE # Option "no_stretch" - -# Epson SPC8110 - -NAME EPSON SPC8110 (CardPC) -CHIPSET SPC8110 -SERVER SVGA -DRIVER vga -UNSUPPORTED -LINE # Chipset "spc8110" -LINE # MemBase 0x03e00000 -LINE # VideoRam 1024 -LINE # Option "nolinear" -LINE # Option "sw_cursor" -LINE # Option "noaccel" -LINE # Option "fifo_moderate" -LINE # Option "fifo_conservative" - -# Silicon Motion, Inc. - -NAME Silicon Motion Lynx family -CHIPSET Lynx -SERVER SVGA -DRIVER siliconmotion -NOCLOCKPROBE - -# Rendition - -NAME Rendition Verite 1000 -CHIPSET Verite 1000 -SERVER SVGA -DRIVER vga -UNSUPPORTED -LINE # Option "sw_cursor" - -NAME Rendition Verite 2x00 -CHIPSET Verite 2x00 -SERVER SVGA -DRIVER vga -UNSUPPORTED -LINE # Option "sw_cursor" - -NAME Creative Labs 3D Blaster PCI (Verite 1000) -SEE Rendition Verite 1000 - -NAME Canopus Total-3D -SEE Rendition Verite 1000 - -NAME Sierra Screaming 3D -SEE Rendition Verite 1000 - -NAME Miro CRYSTAL VRX -SEE Rendition Verite 1000 - -NAME Diamond Stealth II S220 -CHIPSET Verite 2100 -SEE Rendition Verite 2x00 - -NAME Hercules Thriller3D -CHIPSET Verite 2200 -SEE Rendition Verite 2x00 - -# Digital - -NAME Digital 8-plane TGA (UDB/Multia) -CHIPSET TGA -SERVER TGA -DRIVER tga -RAMDAC Bt485 - -NAME Digital 8-plane TGA (ZLXp-E1) -CHIPSET TGA -SERVER TGA -DRIVER tga -RAMDAC Bt485 - -NAME Digital 24-plane TGA (ZLXp-E2) -CHIPSET TGA -SERVER TGA -DRIVER tga -RAMDAC Bt463 - -NAME Digital 24-plane+3D TGA (ZLXp-E3) -CHIPSET TGA -SERVER TGA -DRIVER tga -RAMDAC Bt463 - -# i810 - -NAME Intel 810 -SERVER SVGA -DRIVER i810 - -# i740 - -NAME Intel 740 (generic) -SERVER SVGA -DRIVER i740 - -# Misc - -END diff --git a/xorg-server/hw/xfree86/utils/xorgconfig/Cards98 b/xorg-server/hw/xfree86/utils/xorgconfig/Cards98 deleted file mode 100644 index ef14a0345..000000000 --- a/xorg-server/hw/xfree86/utils/xorgconfig/Cards98 +++ /dev/null @@ -1,647 +0,0 @@ -# $XFree86: xc/programs/Xserver/hw/xfree98/xf86config/Cards98,v 1.7 1998/06/04 16:43:45 hohndel Exp $ -# -# -# -# $XConsortium: Cards /main/27 1996/10/28 05:43:53 kaleb $ -# This is the database of card definitions used by xf86config. -# Each definition should have a NAME entry, CHIPSET (descriptive) and -# SERVER (one of EGC, GANBWAP, PEGC, NKVNEC, WABS, WABEP, WSNA, TGUI, -# MGA, SVGA, NECS3, PWSKB, PWLB, GA968). -# A reference to another definition is made with SEE (already defined -# entries are not overridden). -# Optional entries are RAMDAC (identifier), CLOCKCHIP (identifier), -# DACSPEED, NOCLOCKPROBE (advises never to probe clocks), UNSUPPORTED -# (indicates card that is not yet properly supported by a dedicated -# server). A LINE entry adds a line of text to be included in the -# Device section (can include options or comments). -# There's no CLOCKS option (although a Clocks line can be included -# with LINE), as it is very undesirable to have a Clocks line that -# is incorrect. The idea is that the Clocks are probed for to be -# sure (a commented suggested Clocks line can be included). -# -# The majority of entries are just a binding of a model name to a -# chipset/server and untested. -# - -# EGC - -NAME EGC16 -CHIPSET EGC -SERVER EGC -LINE Chipset "vga" - -# PEGC - -NAME PEGC -CHIPSET PEGC -SERVER PEGC -LINE VideoRam 512 -LINE Clocks 31.5 -LINE # Virtual resolution for 640x400 -LINE # Clocks 28.322 - -# GANBWAP - -NAME GA-98NBI -CHIPSET CL-GD5434 -SERVER GANBWAP -LINE ClockChip "cirrus" -LINE Option "ga98nb1" -LINE Option "no_mmio" -LINE # Option "sw_cursor" - -NAME GA-98NBII -CHIPSET CL-GD5434 -SERVER GANBWAP -LINE ClockChip "cirrus" -LINE Option "ga98nb2" -LINE Option "no_mmio" -LINE # Option "sw_cursor" - -NAME GA-98NBIV -CHIPSET CL-GD5434 -SERVER GANBWAP -LINE ClockChip "cirrus" -LINE Option "ga98nb4" -LINE Option "no_mmio" -LINE # Option "sw_cursor" - -NAME WAP-2000/4000 -CHIPSET CL-GD5434 -SERVER GANBWAP -LINE Option "wap" -LINE Option "no_mmio" -LINE # Option "epsonmemwin" - -# NKVNEC - -NAME PCNKV/PCNKV2/NEC_CIRRUS -CHIPSET CL-GD5428/5429/5430 -SERVER NKVNEC -LINE # Option "fast_dram" -LINE VideoRam 1024 - -NAME PC9821Bf/U8W -LINE Option "nec_cirrus" -SEE PCNKV/PCNKV2/NEC_CIRRUS - -NAME PC9821Bp/U8W/U7W -LINE Option "nec_cirrus" -SEE PCNKV/PCNKV2/NEC_CIRRUS - -NAME PC9821Bs/U7W -LINE Option "nec_cirrus" -SEE PCNKV/PCNKV2/NEC_CIRRUS - -NAME PC9821Be/U7W -LINE Option "nec_cirrus" -SEE PCNKV/PCNKV2/NEC_CIRRUS - -NAME PC9821BA3/U2/W -LINE Option "nec_cirrus" -SEE PCNKV/PCNKV2/NEC_CIRRUS - -NAME PC9821BX3/U2/W -LINE Option "nec_cirrus" -SEE PCNKV/PCNKV2/NEC_CIRRUS - -NAME PC9821BX4/U2 -LINE Option "nec_cirrus" -LINE Option "no_mmio" -SEE PCNKV/PCNKV2/NEC_CIRRUS - -NAME PC9821Cb -LINE Option "nec_cirrus" -LINE Option "no_mmio" -SEE PCNKV/PCNKV2/NEC_CIRRUS - -NAME PC9821Ce -LINE Option "nec_cirrus" -SEE PCNKV/PCNKV2/NEC_CIRRUS - -NAME PC9821Cf -LINE Option "nec_cirrus" -LINE Option "no_mmio" -SEE PCNKV/PCNKV2/NEC_CIRRUS - -NAME PC9821Ce2 -LINE Option "nec_cirrus" -SEE PCNKV/PCNKV2/NEC_CIRRUS - -NAME PC9821Cs -LINE Option "nec_cirrus" -SEE PCNKV/PCNKV2/NEC_CIRRUS - -NAME PC9821Cs2 -LINE Option "nec_cirrus" -SEE PCNKV/PCNKV2/NEC_CIRRUS - -NAME PC9821Cx -LINE Option "nec_cirrus" -LINE Option "no_mmio" -SEE PCNKV/PCNKV2/NEC_CIRRUS - -NAME PC9821Cx2 -LINE Option "nec_cirrus" -LINE Option "no_mmio" -SEE PCNKV/PCNKV2/NEC_CIRRUS - -NAME PC9821Es -LINE Option "nec_cirrus" -SEE PCNKV/PCNKV2/NEC_CIRRUS - -NAME PC9821Nd -LINE Option "nec_cirrus" -SEE PCNKV/PCNKV2/NEC_CIRRUS - -NAME PC9821Ne2 -LINE Option "nec_cirrus" -SEE PCNKV/PCNKV2/NEC_CIRRUS - -NAME PC9821Nf -LINE Option "nec_cirrus" -SEE PCNKV/PCNKV2/NEC_CIRRUS - -NAME PC9821Np -LINE Option "nec_cirrus" -SEE PCNKV/PCNKV2/NEC_CIRRUS - -NAME PC9821Ns -LINE Option "nec_cirrus" -SEE PCNKV/PCNKV2/NEC_CIRRUS - -NAME PC9821V7/C -LINE Chipset "clgd5430" -LINE Option "nec_cirrus" -LINE Option "no_mmio" -SEE PCNKV/PCNKV2/NEC_CIRRUS - -NAME PC9821V10/C,S -LINE Chipset "clgd5430" -LINE Option "nec_cirrus" -LINE Option "no_mmio" -SEE PCNKV/PCNKV2/NEC_CIRRUS - -NAME PC9821V12/S -LINE Chipset "clgd5430" -LINE Option "nec_cirrus" -LINE Option "no_mmio" -SEE PCNKV/PCNKV2/NEC_CIRRUS - -NAME PC9821V13/S -LINE Chipset "clgd5430" -LINE Option "nec_cirrus" -LINE Option "no_mmio" -SEE PCNKV/PCNKV2/NEC_CIRRUS - -NAME PC9821V16/S -LINE Chipset "clgd5430" -LINE Option "nec_cirrus" -LINE Option "no_mmio" -SEE PCNKV/PCNKV2/NEC_CIRRUS - -NAME PC9821V16/S5V,P -LINE Chipset "clgd5446" -LINE Option "nec_cirrus" -LINE Option "no_mmio" -SEE PCNKV/PCNKV2/NEC_CIRRUS - -NAME PC9821V20/S7 -LINE Chipset "clgd5430" -LINE Option "nec_cirrus" -LINE Option "no_mmio" -SEE PCNKV/PCNKV2/NEC_CIRRUS - -NAME PC9821Xb10 -LINE Chipset "clgd5430" -LINE Option "nec_cirrus" -LINE Option "no_mmio" -SEE PCNKV/PCNKV2/NEC_CIRRUS - -NAME PC9821Xc13/S5 -LINE Chipset "clgd5446" -LINE Option "nec_cirrus" -LINE Option "no_mmio" -SEE PCNKV/PCNKV2/NEC_CIRRUS - -NAME PC9821Xc16/M,S -LINE Chipset "clgd5446" -LINE Option "nec_cirrus" -LINE Option "no_mmio" -SEE PCNKV/PCNKV2/NEC_CIRRUS - -NAME PC9821Xc200/M,S -LINE Chipset "clgd5446" -LINE Option "nec_cirrus" -LINE Option "no_mmio" -SEE PCNKV/PCNKV2/NEC_CIRRUS - -NAME PC9821Xa7e -LINE Chipset "clgd5430" -LINE Option "nec_cirrus" -LINE Option "no_mmio" -SEE PCNKV/PCNKV2/NEC_CIRRUS - -NAME PC9821Xe -LINE Chipset "clgd5430" -LINE Option "nec_cirrus" -LINE Option "no_mmio" -SEE PCNKV/PCNKV2/NEC_CIRRUS - -NAME PC9821Xe10 -LINE Chipset "clgd5430" -LINE Option "nec_cirrus" -LINE Option "no_mmio" -SEE PCNKV/PCNKV2/NEC_CIRRUS - -NAME PC486MR -SEE PCNKV/PCNKV2/NEC_CIRRUS - -NAME PC486MS -SEE PCNKV/PCNKV2/NEC_CIRRUS - -NAME PC486MU -LINE Chipset "clgd5429" -SEE PCNKV/PCNKV2/NEC_CIRRUS - -NAME PC486MV -SEE PCNKV/PCNKV2/NEC_CIRRUS - -NAME PC586MV -SEE PCNKV/PCNKV2/NEC_CIRRUS - -NAME PC586RV -LINE Chipset "clgd5429" -SEE PCNKV/PCNKV2/NEC_CIRRUS - -# WABS - -NAME WAB-S -CHIPSET CL-GD5426/5428 -SERVER WABS -LINE VideoRam 1024 -LINE # VideoRam 2048 - -NAME WAB-1000/2000 -CHIPSET CL-GD5428 -SERVER WABS -LINE VideoRam 1024 -LINE # VideoRam 2048 - -NAME WSR-E/G -SEE WAB-1000/2000 - -# WABEP - -NAME WAB-EP -CHIPSET CL-GD5428 -SERVER WABEP -LINE Option "med_dram" - -# WSNA - -NAME WSN-A2F -CHIPSET CL-GD5434 -SERVER WSNA -LINE Option "no_mmio" -LINE Option "med_dram" - -# TGUI - -NAME NEC Trident -CHIPSET TGUI9680/9682 -SERVER TGUI -LINE Option "xaa_no_color_exp" -LINE # Option "noaccel" -LINE # Option "Linear" -LINE # Option "med_dram" -LINE # Option "hw_cursor" - -NAME PC9821Ra20/N -SEE NEC Trident - -NAME PC9821RaII23/N,W -SEE NEC Trident - -NAME PC9821Ra266/N,W -SEE NEC Trident - -NAME PC9821Rs20/B20 -SEE NEC Trident - -NAME PC9821RsII26/B40 -SEE NEC Trident - -NAME PC9821V13/M7 -SEE NEC Trident - -NAME PC9821V16/M7 -SEE NEC Trident - -NAME PC9821V20/M7 -SEE NEC Trident - -NAME PC9821Xa7/C,K -SEE NEC Trident - -NAME PC9821Xa9/C,K -SEE NEC Trident - -NAME PC9821Xa10/C,K -SEE NEC Trident - -NAME PC9821Xa12/C,K -SEE NEC Trident - -NAME PC9821Xa13/C,K,W -SEE NEC Trident - -NAME PC9821Xa16/R,W -SEE NEC Trident - -NAME PC9821Xa20/W -SEE NEC Trident - -NAME PC9821Xc13/M,S -SEE NEC Trident - -NAME PC9821Xv13/R -SEE NEC Trident - -NAME GA-DRV/98 -CHIPSET TGUI9680 -SERVER TGUI -LINE Option "noaccel" -LINE # Option "med_dram" -LINE # Option "hw_cursor" - -# MGA - -NAME MGA Millennium -CHIPSET MGA2064W -SERVER MGA - -NAME PC9821Xt13 -SEE MGA Millennium - -NAME PC9821Xt16 -SEE MGA Millennium - -NAME PC9821Xv13/W -SEE MGA Millennium - -NAME PC9821Xv20/W -SEE MGA Millennium - -NAME PC9821St15 -SEE MGA Millennium - -NAME PC9821St20 -SEE MGA Millennium - -NAME PC9821RvII26/N20 -SEE MGA Millennium - -NAME NEC FC-WAB-X2 -SEE MGA Millennium - -NAME MGA Mystique -CHIPSET MGA1064SG -SERVER MGA - -NAME PC9821V166/S -LINE VideoRam 2048 -SEE MGA Mystique - -NAME PC9821V200/S -LINE VideoRam 2048 -SEE MGA Mystique - -NAME PC9821V200/M -LINE VideoRam 4096 -SEE MGA Mystique - -NAME PC9821V233/M7 -LINE VideoRam 2048 -SEE MGA Mystique - -NAME PC9821V233/M7V -LINE VideoRam 4096 -SEE MGA Mystique - -# SVGA - -NAME NEC Cirrus 755x -CHIPSET CL-GD7555 -LINE Chipset "clgd7555" -LINE # VideoRam 2048 -LINE # Option "no_bitblt" -LINE # Option "fast_dram" -LINE Option "linear" -LINE Option "noaccel" -SERVER SVGA - -NAME PC9821Nr12 -SEE NEC Cirrus 755x - -NAME PC9821Nr13 -SEE NEC Cirrus 755x - -NAME PC9821La13 -SEE NEC Cirrus 755x - -NAME PC9821Ls12 -SEE NEC Cirrus 755x - -NAME PC9821Ls13 -SEE NEC Cirrus 755x - -NAME PC9821Ls150 -SEE NEC Cirrus 755x - -# NECS3 - -NAME NEC WAB-A/B -CHIPSET S3 928 -SERVER NECS3 -LINE Chipset "s3_generic" -LINE Dacspeed 110 -LINE Ramdac "sc15025" -LINE Option "dac_8_bit" -LINE # Option "necwab" -LINE # Option "nomemaccess" -LINE Clocks 25.0 28.0 40.0 0.0 50.0 77.0 36.0 45.0 -LINE Clocks 130.0 120.0 80.0 31.0 110.0 65.0 75.0 94.0 - -NAME NEC FC-WAB-A/B -CHIPSET S3 928 -SERVER NECS3 -LINE Chipset "s3_generic" -LINE Dacspeed 110 -LINE Ramdac "bt485" -LINE Option "necwab" -LINE Option "nomemaccess" -LINE Option "noinit" -LINE Option "nolinear" -LINE Clocks 25.0 28.0 40.0 0.0 50.0 77.0 36.0 45.0 -LINE Clocks 130.0 120.0 80.0 31.0 110.0 65.0 75.0 94.0 - -NAME PC9821Af/U9W E09? -SEE NEC WAB-A/B - -NAME PC9821An/U8W -SEE NEC WAB-A/B - -NAME PC9821Ap2/U8W/C9W -SEE NEC WAB-A/B - -NAME PC9821As2/U7W/U8W -SEE NEC WAB-A/B - -NAME NEC 864 -CHIPSET S3 864 -SERVER NECS3 -LINE Chipset "s3_generic" -LINE Option "necwab" -LINE Ramdac "s3_sdac" -LINE ClockChip "s3_sdac" - -NAME PC9821Ap3 -SEE NEC 864 - -NAME PC9821As3 -SEE NEC 864 - -NAME PC9821Xp -SEE NEC 864 - -NAME PC9821Xs -SEE NEC 864 - -# PWSKB - -NAME PowerWindow 928/801 -CHIPSET S3 928 -SERVER PWSKB -LINE Chipset "s3_generic" -LINE # Chipset "mmio_928" -LINE Ramdac "sc15025" -LINE Dacspeed 110 -LINE Option "dac_8_bit" -LINE # Option "epsonmemwin" -LINE # Option "nomemaccess" -LINE ClockChip "icd2061a" - -NAME PowerWindow 928II -CHIPSET S3 928 -SERVER PWSKB -LINE Chipset "s3_generic" -LINE # Chipset "mmio_928" -LINE Ramdac "att20c505" -LINE # Ramdac "bt485" -LINE Dacspeed 110 -LINE Option "dac_8_bit" -LINE # Option "pw_mux" -LINE Option "bt485_curs" -LINE # Option "epsonmemwin" -LINE # Option "nomemaccess" -LINE ClockChip "icd2061a" - -NAME PowerWindow 805i -CHIPSET S3 805 -SERVER PWSKB -LINE Chipset "s3_generic" -LINE Ramdac "s3gendac" -LINE Dacspeed 110 -LINE Option "dac_8_bit" -LINE # Option "pw805i" -LINE # Option "epsonmemwin" -LINE # Option "nomemaccess" -LINE ClockChip "s3_sdac" - -NAME PowerWindow 928G -CHIPSET S3 928 -SERVER PWSKB -LINE Chipset "s3_generic" -LINE # Chipset "mmio_928" -LINE Ramdac "sc15025" -LINE Dacspeed 110 -LINE Option "dac_8_bit" -LINE # Option "nomemaccess" -LINE # Option "nolinear" -LINE ClockChip "icd2061a" - -NAME PCSKB/PCSKB2 -CHIPSET S3 911/924 -SERVER PWSKB -LINE Chipset "s3_generic" -LINE Ramdac "sc15025" -LINE Dacspeed 110 -LINE Option "dac_8_bit" -LINE # Option "nomemaccess" -LINE Option "pcskb" -LINE Clocks 25.0 28.0 40.0 0.0 50.0 77.0 36.0 45.0 -LINE Clocks 130.0 120.0 80.0 31.0 110.0 65.0 75.0 94.0 - -NAME PCSKB3/PCSKB4/PCPKB4 -CHIPSET S3 928 -SERVER PWSKB -LINE Chipset "s3_generic" -LINE Ramdac "sc15025" -LINE # Ramdac "att20c498" -LINE Dacspeed 110 -LINE Option "dac_8_bit" -LINE Option "nomemaccess" -LINE Option "pcskb4" -LINE Clocks 25.0 28.0 40.0 0.0 50.0 77.0 36.0 45.0 -LINE Clocks 130.0 120.0 80.0 31.0 110.0 65.0 75.0 94.0 - -# PWLB - -NAME PowerWindow 928GLB -CHIPSET S3 928 -SERVER PWLB -LINE Chipset "s3_generic" -LINE # Chipset "mmio_928" -LINE Ramdac "sc15025" -LINE Dacspeed 110 -LINE Option "dac_8_bit" -LINE # Option "pw_localbus" -LINE # Option "nomemaccess" -LINE # Option "nolinear" -LINE ClockChip "icd2061a" - -NAME PowerWindow 928IILB -CHIPSET S3 928 -SERVER PWLB -LINE Chipset "s3_generic" -LINE # Chipset "mmio_928" -LINE Ramdac "att20c505" -LINE # Ramdac "bt485" -LINE Dacspeed 110 -LINE Option "dac_8_bit" -LINE Option "bt485_curs" -LINE Option "pw_localbus" -LINE # Option "pw_mux" -LINE # Option "nomemaccess" -LINE # Option "nolinear" -LINE ClockChip "icd2061a" - -NAME PowerWindow 964LB -CHIPSET S3 964 -SERVER PWLB -LINE Chipset "s3_generic" -LINE Option "pw_localbus" -LINE Option "number_nine" -LINE Ramdac "ti3025" -LINE ClockChip "ti3025" -LINE VideoRam 4096 - -# GA968 - -NAME GA-968V4/PCI -CHIPSET S3 968 -SERVER GA968 -LINE Chipset "s3_generic" -LINE # Chipset "mmio_928" -LINE VideoRam 4096 diff --git a/xorg-server/hw/xfree86/utils/xorgconfig/Makefile.am b/xorg-server/hw/xfree86/utils/xorgconfig/Makefile.am deleted file mode 100644 index dabfc3214..000000000 --- a/xorg-server/hw/xfree86/utils/xorgconfig/Makefile.am +++ /dev/null @@ -1,70 +0,0 @@ -# Copyright 2005 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. -# - -bin_PROGRAMS = xorgconfig - -X11dir = $(libdir)/X11 -dist_X11_DATA = Cards - -xorgconfig_CFLAGS = @XORGCONFIG_DEP_CFLAGS@ \ - -DCARD_DATABASE_FILE='"$(X11dir)/Cards"' \ - -DPROJECTROOT='"$(PROJECTROOT)"' \ - -DFILEMANSUFFIX='"$(FILE_MAN_SUFFIX)"' \ - -DXVERSIONSTRING='"$(PACKAGE_STRING)"' - -xorgconfig_LDADD = @XORGCONFIG_DEP_LIBS@ - -xorgconfig_SOURCES = \ - cards.c \ - cards.h \ - xorgconfig.c - -# Man page -include $(top_srcdir)/cpprules.in - -appmandir = $(APP_MAN_DIR) - -appman_PRE = xorgconfig.man -appman_DATA = $(appman_PRE:man=@APP_MAN_SUFFIX@) - -EXTRAMANDEFS = \ - -D__XCONFIGFILE__=$(__XCONFIGFILE__) \ - -D__XSERVERNAME__=$(XSERVERNAME) - -BUILT_SOURCES = $(appman_PRE) -CLEANFILES = $(appman_PRE) $(appman_DATA) - -SUFFIXES += .$(APP_MAN_SUFFIX) .man - -.man.$(APP_MAN_SUFFIX): - -rm -f $@ - $(LN_S) $< $@ - -EXTRA_DIST = \ - Cards98 \ - xorgconfig.man.pre diff --git a/xorg-server/hw/xfree86/utils/xorgconfig/Makefile.in b/xorg-server/hw/xfree86/utils/xorgconfig/Makefile.in deleted file mode 100644 index 4e54d04a1..000000000 --- a/xorg-server/hw/xfree86/utils/xorgconfig/Makefile.in +++ /dev/null @@ -1,857 +0,0 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008 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@ - -# Copyright 2005 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. -# - -# -*- 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@ -bin_PROGRAMS = xorgconfig$(EXEEXT) -DIST_COMMON = $(dist_X11_DATA) $(srcdir)/Makefile.am \ - $(srcdir)/Makefile.in $(top_srcdir)/cpprules.in -subdir = hw/xfree86/utils/xorgconfig -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)$(appmandir)" \ - "$(DESTDIR)$(X11dir)" -binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) -PROGRAMS = $(bin_PROGRAMS) -am_xorgconfig_OBJECTS = xorgconfig-cards.$(OBJEXT) \ - xorgconfig-xorgconfig.$(OBJEXT) -xorgconfig_OBJECTS = $(am_xorgconfig_OBJECTS) -xorgconfig_DEPENDENCIES = -xorgconfig_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(xorgconfig_CFLAGS) \ - $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include -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 = $(xorgconfig_SOURCES) -DIST_SOURCES = $(xorgconfig_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|^.*/||'`; -appmanDATA_INSTALL = $(INSTALL_DATA) -dist_X11DATA_INSTALL = $(INSTALL_DATA) -DATA = $(appman_DATA) $(dist_X11_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@ -DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ -DRI2PROTO_LIBS = @DRI2PROTO_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@ -DSYMUTIL = @DSYMUTIL@ -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@ -GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ -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@ -LAUNCHD = @LAUNCHD@ -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@ -NMEDIT = @NMEDIT@ -OBJC = @OBJC@ -OBJCCLD = @OBJCCLD@ -OBJCDEPMODE = @OBJCDEPMODE@ -OBJCFLAGS = @OBJCFLAGS@ -OBJCLINK = @OBJCLINK@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ -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@ -PCIACCESS_CFLAGS = @PCIACCESS_CFLAGS@ -PCIACCESS_LIBS = @PCIACCESS_LIBS@ -PCI_TXT_IDS_PATH = @PCI_TXT_IDS_PATH@ -PERL = @PERL@ -PKG_CONFIG = @PKG_CONFIG@ -PROJECTROOT = @PROJECTROOT@ -PS2PDF = @PS2PDF@ -RANLIB = @RANLIB@ -RAWCPP = @RAWCPP@ -RAWCPPFLAGS = @RAWCPPFLAGS@ -SED = sed -SERVER_MISC_CONFIG_PATH = @SERVER_MISC_CONFIG_PATH@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ -SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ -STRIP = @STRIP@ -TSLIB_CFLAGS = @TSLIB_CFLAGS@ -TSLIB_LIBS = @TSLIB_LIBS@ -UTILS_SYS_LIBS = @UTILS_SYS_LIBS@ -VENDOR_MAN_VERSION = @VENDOR_MAN_VERSION@ -VENDOR_NAME = @VENDOR_NAME@ -VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ -VENDOR_RELEASE = @VENDOR_RELEASE@ -VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ -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_CFLAGS = @XDMX_CFLAGS@ -XDMX_LIBS = @XDMX_LIBS@ -XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ -XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ -XEPHYR_INCS = @XEPHYR_INCS@ -XEPHYR_LIBS = @XEPHYR_LIBS@ -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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ -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@ -XNEST_SYS_LIBS = @XNEST_SYS_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_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@ -XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_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@ -XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ -XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ -XTSTEXAMPLES_DEP_LIBS = @XTSTEXAMPLES_DEP_LIBS@ -XVFB_LIBS = @XVFB_LIBS@ -XVFB_SYS_LIBS = @XVFB_SYS_LIBS@ -XWINMODULES_CFLAGS = @XWINMODULES_CFLAGS@ -XWINMODULES_LIBS = @XWINMODULES_LIBS@ -XWIN_LIBS = @XWIN_LIBS@ -XWIN_SERVER_NAME = @XWIN_SERVER_NAME@ -XWIN_SYS_LIBS = @XWIN_SYS_LIBS@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -__XCONFIGFILE__ = @__XCONFIGFILE__@ -abi_ansic = @abi_ansic@ -abi_extension = @abi_extension@ -abi_font = @abi_font@ -abi_videodrv = @abi_videodrv@ -abi_xinput = @abi_xinput@ -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@ -launchagentsdir = @launchagentsdir@ -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_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ -X11dir = $(libdir)/X11 -dist_X11_DATA = Cards -xorgconfig_CFLAGS = @XORGCONFIG_DEP_CFLAGS@ \ - -DCARD_DATABASE_FILE='"$(X11dir)/Cards"' \ - -DPROJECTROOT='"$(PROJECTROOT)"' \ - -DFILEMANSUFFIX='"$(FILE_MAN_SUFFIX)"' \ - -DXVERSIONSTRING='"$(PACKAGE_STRING)"' - -xorgconfig_LDADD = @XORGCONFIG_DEP_LIBS@ -xorgconfig_SOURCES = \ - cards.c \ - cards.h \ - xorgconfig.c - -SUFFIXES = .pre .man .man.pre .$(APP_MAN_SUFFIX) .man - -# 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) - - -# Man page -appmandir = $(APP_MAN_DIR) -appman_PRE = xorgconfig.man -appman_DATA = $(appman_PRE:man=@APP_MAN_SUFFIX@) -EXTRAMANDEFS = \ - -D__XCONFIGFILE__=$(__XCONFIGFILE__) \ - -D__XSERVERNAME__=$(XSERVERNAME) - -BUILT_SOURCES = $(appman_PRE) -CLEANFILES = $(appman_PRE) $(appman_DATA) -EXTRA_DIST = \ - Cards98 \ - xorgconfig.man.pre - -all: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) all-am - -.SUFFIXES: -.SUFFIXES: .pre .man .man.pre .$(APP_MAN_SUFFIX) .man .c .lo .o .obj -$(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/xfree86/utils/xorgconfig/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign hw/xfree86/utils/xorgconfig/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) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ - $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --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 -xorgconfig$(EXEEXT): $(xorgconfig_OBJECTS) $(xorgconfig_DEPENDENCIES) - @rm -f xorgconfig$(EXEEXT) - $(xorgconfig_LINK) $(xorgconfig_OBJECTS) $(xorgconfig_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xorgconfig-cards.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xorgconfig-xorgconfig.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 $@ $< - -xorgconfig-cards.o: cards.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgconfig_CFLAGS) $(CFLAGS) -MT xorgconfig-cards.o -MD -MP -MF $(DEPDIR)/xorgconfig-cards.Tpo -c -o xorgconfig-cards.o `test -f 'cards.c' || echo '$(srcdir)/'`cards.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgconfig-cards.Tpo $(DEPDIR)/xorgconfig-cards.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cards.c' object='xorgconfig-cards.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) $(xorgconfig_CFLAGS) $(CFLAGS) -c -o xorgconfig-cards.o `test -f 'cards.c' || echo '$(srcdir)/'`cards.c - -xorgconfig-cards.obj: cards.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgconfig_CFLAGS) $(CFLAGS) -MT xorgconfig-cards.obj -MD -MP -MF $(DEPDIR)/xorgconfig-cards.Tpo -c -o xorgconfig-cards.obj `if test -f 'cards.c'; then $(CYGPATH_W) 'cards.c'; else $(CYGPATH_W) '$(srcdir)/cards.c'; fi` -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgconfig-cards.Tpo $(DEPDIR)/xorgconfig-cards.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cards.c' object='xorgconfig-cards.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) $(xorgconfig_CFLAGS) $(CFLAGS) -c -o xorgconfig-cards.obj `if test -f 'cards.c'; then $(CYGPATH_W) 'cards.c'; else $(CYGPATH_W) '$(srcdir)/cards.c'; fi` - -xorgconfig-xorgconfig.o: xorgconfig.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgconfig_CFLAGS) $(CFLAGS) -MT xorgconfig-xorgconfig.o -MD -MP -MF $(DEPDIR)/xorgconfig-xorgconfig.Tpo -c -o xorgconfig-xorgconfig.o `test -f 'xorgconfig.c' || echo '$(srcdir)/'`xorgconfig.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgconfig-xorgconfig.Tpo $(DEPDIR)/xorgconfig-xorgconfig.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='xorgconfig.c' object='xorgconfig-xorgconfig.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) $(xorgconfig_CFLAGS) $(CFLAGS) -c -o xorgconfig-xorgconfig.o `test -f 'xorgconfig.c' || echo '$(srcdir)/'`xorgconfig.c - -xorgconfig-xorgconfig.obj: xorgconfig.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xorgconfig_CFLAGS) $(CFLAGS) -MT xorgconfig-xorgconfig.obj -MD -MP -MF $(DEPDIR)/xorgconfig-xorgconfig.Tpo -c -o xorgconfig-xorgconfig.obj `if test -f 'xorgconfig.c'; then $(CYGPATH_W) 'xorgconfig.c'; else $(CYGPATH_W) '$(srcdir)/xorgconfig.c'; fi` -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xorgconfig-xorgconfig.Tpo $(DEPDIR)/xorgconfig-xorgconfig.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='xorgconfig.c' object='xorgconfig-xorgconfig.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) $(xorgconfig_CFLAGS) $(CFLAGS) -c -o xorgconfig-xorgconfig.obj `if test -f 'xorgconfig.c'; then $(CYGPATH_W) 'xorgconfig.c'; else $(CYGPATH_W) '$(srcdir)/xorgconfig.c'; fi` - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -install-appmanDATA: $(appman_DATA) - @$(NORMAL_INSTALL) - test -z "$(appmandir)" || $(MKDIR_P) "$(DESTDIR)$(appmandir)" - @list='$(appman_DATA)'; for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f=$(am__strip_dir) \ - echo " $(appmanDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(appmandir)/$$f'"; \ - $(appmanDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(appmandir)/$$f"; \ - done - -uninstall-appmanDATA: - @$(NORMAL_UNINSTALL) - @list='$(appman_DATA)'; for p in $$list; do \ - f=$(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(appmandir)/$$f'"; \ - rm -f "$(DESTDIR)$(appmandir)/$$f"; \ - done -install-dist_X11DATA: $(dist_X11_DATA) - @$(NORMAL_INSTALL) - test -z "$(X11dir)" || $(MKDIR_P) "$(DESTDIR)$(X11dir)" - @list='$(dist_X11_DATA)'; for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f=$(am__strip_dir) \ - echo " $(dist_X11DATA_INSTALL) '$$d$$p' '$(DESTDIR)$(X11dir)/$$f'"; \ - $(dist_X11DATA_INSTALL) "$$d$$p" "$(DESTDIR)$(X11dir)/$$f"; \ - done - -uninstall-dist_X11DATA: - @$(NORMAL_UNINSTALL) - @list='$(dist_X11_DATA)'; for p in $$list; do \ - f=$(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(X11dir)/$$f'"; \ - rm -f "$(DESTDIR)$(X11dir)/$$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; nonemtpy = 1; } \ - END { if (nonempty) { 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; nonempty = 1; } \ - END { if (nonempty) { 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=; \ - 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; nonempty = 1; } \ - END { if (nonempty) { 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: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) check-am -all-am: Makefile $(PROGRAMS) $(DATA) -installdirs: - for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(appmandir)" "$(DESTDIR)$(X11dir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) 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." - -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) -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-appmanDATA install-dist_X11DATA - -install-dvi: install-dvi-am - -install-exec-am: install-binPROGRAMS - -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-appmanDATA uninstall-binPROGRAMS \ - uninstall-dist_X11DATA - -.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-appmanDATA install-binPROGRAMS install-data \ - install-data-am install-dist_X11DATA 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-appmanDATA uninstall-binPROGRAMS \ - uninstall-dist_X11DATA - - -.pre: - $(RAWCPP) $(RAWCPPFLAGS) $(CPP_FILES_FLAGS) < $< | $(CPP_SED_MAGIC) > $@ - -.man.pre.man: - $(RAWCPP) $(RAWCPPFLAGS) $(MANDEFS) $(EXTRAMANDEFS) < $< | $(CPP_SED_MAGIC) > $@ - -.man.$(APP_MAN_SUFFIX): - -rm -f $@ - $(LN_S) $< $@ -# 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/xorg-server/hw/xfree86/utils/xorgconfig/cards.c b/xorg-server/hw/xfree86/utils/xorgconfig/cards.c deleted file mode 100644 index 8116f0a03..000000000 --- a/xorg-server/hw/xfree86/utils/xorgconfig/cards.c +++ /dev/null @@ -1,278 +0,0 @@ -/* - * Functions to manipulate card database. - */ - -#include -#include -#include - -#include "cards.h" - -/* Some vars to make path names in texts more flexible. */ -#ifndef PROJECTROOT -# define PROJECTROOT "/usr" -#endif -#define TREEROOT PROJECTROOT -#define TREEROOTLX TREEROOT "/lib/X11" -#define TREEROOTCFG TREEROOT "/etc/X11" -#ifdef XDOCDIR -# define TREEROOTDOC XDOCDIR -#else -# define TREEROOTDOC TREEROOTLX "/doc" -#endif - -/* - * Database format: - * - * NAME - * CHIPSET - * SERVER - * DRIVER - * - * Optional keywords: - * RAMDAC - * CLOCKCHIP - * DACSPEED - * NOCLOCKPROBE - * UNSUPPORTED - * - * SEE refers to another card definition; parameters that - * are already defined are not overridden. - * - * is one of Mono, VGA16, SVGA, S3, Mach32, Mach8, 8514, - * P9000, AGX, W32. - * - * A useful additional keywords may be CLOCKS. - */ - - - -/* Database vars. */ - -int lastcard; - -Card card[MAX_CARDS]; - - -static int -getnextline(FILE *f, char *l) -{ - if (fgets(l, 128, f) == NULL) - return -1; - return 0; -} - -static void -appendstring(char **destp, char *src) -{ - char *newstr; - newstr = malloc(strlen(*destp) + strlen(src) + 1); - strcpy(newstr, *destp); - strcat(newstr, src); - if (strlen(*destp) > 0) - free(*destp); - *destp = newstr; -} - -int -lookupcard(char *name) { - int i; - for (i = 0; i <= lastcard; i++) - if (strcmp(name, card[i].name) == 0) - return i; - return -1; -} - -static char *s3_comment = -"# Use Option \"nolinear\" if the server doesn't start up correctly\n" -"# (this avoids the linear framebuffer probe). If that fails try\n" -"# option \"nomemaccess\".\n" -"#\n" -"# Refer to " TREEROOTDOC "/README.S3, and the XF86_S3 man page.\n"; - -static char *cirrus_comment = -"# Use Option \"no_bitblt\" if you have graphics problems. If that fails\n" -"# try Option \"noaccel\".\n" -"# Refer to " TREEROOTDOC "/README.cirrus.\n" -"# To allow linear addressing, uncomment the Option line and the\n" -"# address that the card maps the framebuffer to.\n"; - -int parse_database() { - FILE *f; - char buf[128]; - int i, lineno; - char filename[128]; - - strcpy(filename, CARD_DATABASE_FILE); - f = fopen(filename, "r"); - if (f == NULL) - return -1; - - lastcard = -1; - lineno = 0; - - for (;;) { - if (getnextline(f, buf)) - break; - lineno++; - if (buf[0] == '#') - /* Comment. */ - continue; - if (strncmp(buf, "END", 3) == 0) - /* End of database. */ - break; - if (strncmp(buf, "LINE", 4) == 0 && lastcard>=0) { - /* Line of Device comment. */ - /* Append to existing lines. */ - appendstring(&card[lastcard].lines, buf + 5); - continue; - } - /* - * The following keywords require the trailing newline - * to be deleted. - */ - i = strlen(buf); - buf[--i] = '\0'; - - /* remove trailing spaces or tabs */ - for(--i; i>=0 && (buf[i] == ' ' || buf[i] == '\011'); i--) ; - if (i>=0) - buf[i+1] = '\0'; - else - continue; /* skip empty lines */ - - if (strncmp(buf, "NAME", 4) == 0) { - /* New entry. */ - lastcard++; - card[lastcard].name = malloc(strlen(buf + 5) + 1); - strcpy(card[lastcard].name, buf + 5); - card[lastcard].chipset = NULL; - card[lastcard].server = NULL; - card[lastcard].driver = NULL; - card[lastcard].ramdac = NULL; - card[lastcard].clockchip = NULL; - card[lastcard].dacspeed = NULL; - card[lastcard].flags = 0; - card[lastcard].lines = ""; - continue; - } - if (lastcard < 0) /* no NAME line found yet */ - continue; - if (strncmp(buf, "SEE", 3) == 0) { - /* Reference to another entry. */ - int i; - i = lookupcard(buf + 4); - if (i == -1) { - printf("Error in database, invalid reference: %s.\n", - buf + 4); - free(card[lastcard].name); - lastcard--; - continue; - } - if (card[lastcard].chipset == NULL) - card[lastcard].chipset = card[i].chipset; - if (card[lastcard].server == NULL) - card[lastcard].server = card[i].server; - if (card[lastcard].driver == NULL) - card[lastcard].driver = card[i].driver; - if (card[lastcard].ramdac == NULL) - card[lastcard].ramdac = card[i].ramdac; - if (card[lastcard].clockchip == NULL) - card[lastcard].clockchip = card[i].clockchip; - if (card[lastcard].dacspeed == NULL) - card[lastcard].dacspeed = card[i].dacspeed; - card[lastcard].flags |= card[i].flags; - appendstring(&card[lastcard].lines, card[i].lines); - continue; - } - if (strncmp(buf, "CHIPSET", 7) == 0) { - /* Chipset description. */ - card[lastcard].chipset = malloc(strlen(buf + 8) + 1); - strcpy(card[lastcard].chipset, buf + 8); - continue; - } - if (strncmp(buf, "SERVER", 6) == 0) { - /* Server identifier. */ - card[lastcard].server = malloc(strlen(buf + 7) + 1); - strcpy(card[lastcard].server, buf + 7); - continue; - } - if (strncmp(buf, "DRIVER", 6) == 0) { - /* Driver identifier. */ - card[lastcard].driver = malloc(strlen(buf + 7) + 1); - strcpy(card[lastcard].driver, buf + 7); - continue; - } - if (strncmp(buf, "RAMDAC", 6) == 0) { - /* Ramdac indentifier. */ - card[lastcard].ramdac = malloc(strlen(buf + 7) + 1); - strcpy(card[lastcard].ramdac, buf + 7); - continue; - } - if (strncmp(buf, "CLOCKCHIP", 9) == 0) { - /* Clockchip indentifier. */ - card[lastcard].clockchip = malloc(strlen(buf + 10) + 1); - strcpy(card[lastcard].clockchip, buf + 10); - card[lastcard].flags |= NOCLOCKPROBE; - continue; - } - if (strncmp(buf, "DACSPEED", 8) == 0) { - /* Clockchip indentifier. */ - card[lastcard].dacspeed = malloc(strlen(buf + 9) + 1); - strcpy(card[lastcard].dacspeed, buf + 9); - continue; - } - if (strncmp(buf, "NOCLOCKPROBE", 12) == 0) { - card[lastcard].flags |= NOCLOCKPROBE; - continue; - } - if (strncmp(buf, "UNSUPPORTED", 12) == 0) { - card[lastcard].flags |= UNSUPPORTED; - continue; - } - /* test for missing required fields */ - if (card[lastcard].driver == NULL) { - fprintf(stderr, "Warning DRIVER specification missing " - "in Card database entry %s (line %d).\n", - card[lastcard].name, lineno); - keypress(); - card[lastcard].driver = "unknown"; - } - if (card[lastcard].chipset == NULL) { - fprintf(stderr, "Warning CHIPSET specification missing " - "in Card database entry %s (line %d).\n", - card[lastcard].name, lineno); - keypress(); - card[lastcard].chipset = "unknown"; - } - } - - fclose(f); - - /* - * Add general comments. - */ - for (i = 0; i <= lastcard; i++) { - if (card[i].server && strcmp(card[i].server, "S3") == 0) - appendstring(&card[i].lines, s3_comment); - if (card[i].chipset && - strncmp(card[i].chipset, "CL-GD", 5) == 0) - appendstring(&card[i].lines, cirrus_comment); - } - - sort_database(); - - return 0; -} - -static int -compare_card(const void *e1, const void *e2) -{ - return strcmp(((Card *)e1)->name, ((Card *)e2)->name); -} - -void -sort_database() { - /* Each element is a bunch of words, but nothing too bad. */ - qsort(card, lastcard + 1, sizeof(Card), compare_card); -} diff --git a/xorg-server/hw/xfree86/utils/xorgconfig/cards.h b/xorg-server/hw/xfree86/utils/xorgconfig/cards.h deleted file mode 100644 index 7e1438db8..000000000 --- a/xorg-server/hw/xfree86/utils/xorgconfig/cards.h +++ /dev/null @@ -1,30 +0,0 @@ -#ifndef CARD_DATABASE_FILE -#define CARD_DATABASE_FILE "Cards" -#endif - -#define MAX_CARDS 1000 - -typedef struct { - char *name; /* Name of the card. */ - char *chipset; /* Chipset (decriptive). */ - char *server; /* Server identifier. */ - char *driver; /* Driver identifier. */ - char *ramdac; /* Ramdac identifier. */ - char *clockchip; /* Clockchip identifier. */ - char *dacspeed; /* DAC speed rating. */ - int flags; - char *lines; /* Additional Device section lines. */ -} Card; - -/* Flags: */ -#define NOCLOCKPROBE 0x1 /* Never probe clocks of the card. */ -#define UNSUPPORTED 0x2 /* Card is not supported (only VGA). */ - -extern int lastcard; - -extern Card card[MAX_CARDS]; - -extern int lookupcard ( char *name ); -extern int parse_database ( void ); -extern void sort_database ( void ); -extern void keypress ( void ); diff --git a/xorg-server/hw/xfree86/utils/xorgconfig/xorgconfig.c b/xorg-server/hw/xfree86/utils/xorgconfig/xorgconfig.c deleted file mode 100644 index 30eb83182..000000000 --- a/xorg-server/hw/xfree86/utils/xorgconfig/xorgconfig.c +++ /dev/null @@ -1,2890 +0,0 @@ -/* - * This is a configuration program that will create a base XF86Config - * file based on menu choices. Its main feature is that clueless users - * may be less inclined to select crazy sync rates way over monitor spec, - * by presenting a menu with standard monitor types. Also some people - * don't read docs unless an executable that they can run tells them to. - * - * It assumes a 24-line or bigger text console. - * - * Revision history: - * 25Sep94 Initial version. - * 27Sep94 Fix hsync range of monitor types to match with best possible mode. - * Remove 'const'. - * Tweak descriptions. - * 28Sep94 Fixes from J"org Wunsch: - * Don't use gets(). - * Add mouse device prompt. - * Fix lines overrun for 24-line console. - * Increase buffer size for probeonly output. - * 29Sep94 Fix bad bug with old XF86Config preserving during probeonly run. - * Add note about vertical refresh in interlaced modes. - * Name gets() replacement getstring(). - * Add warning about binary paths. - * Fixes from David Dawes: - * Don't use 'ln -sf'. - * Omit man path reference in comment. - * Generate only a generic 320x200 SVGA section for accel cards. - * Only allow writing to /usr/X11R6/lib/X11 if root, and use - * -xf86config for the -probeonly phase (root only). - * Fix bug that forces screen type to accel in some cases. - * 30Sep94 Continue after clocks probe fails. - * Note about programmable clocks. - * Rename to 'xf86config'. Not to be confused with XF86Config - * or the -xf86config option. - * 07Oct94 Correct hsync in standard mode timings comments, and include - * the proper +/-h/vsync flags. - * 11Oct94 Skip 'numclocks:' and 'pixel clocks:' lines when probing for - * clocks. - * 18Oct94 Add check for existence of /usr/X11R6. - * Add note about ctrl-alt-backspace. - * 06Nov94 Add comment above standard mode timings in XF86Config. - * 24Dec94 Add low-resolution modes using doublescan. - * 29Dec94 Add note in horizontal sync range selection. - * Ask about ClearDTR/RTS option for Mouse Systems mice. - * Ask about writing to /etc/XF86Config. - * Allow link to be set in /var/X11R6/bin. - * Note about X -probeonly crashing. - * Add keyboard Alt binding option for non-ASCII characters. - * Add card database selection. - * Write temporary XF86Config for clock probing in /tmp instead - * of /usr/X11R6/lib/X11. - * Add RAMDAC and Clockchip menu. - * 27Mar99 Modified for XFree86 4.0 config file format - * 06Sep02 Write comment block about 'DontVTSwitch'. - * - * Possible enhancements: - * - Add more standard mode timings (also applies to README.Config). Missing - * are 1024x768 @ 72 Hz, 1152x900 modes, and 1280x1024 @ ~70 Hz. - * I suspect there is a VESA standard for 1024x768 @ 72 Hz with 77 MHz dot - * clock, and 1024x768 @ 75 Hz with 78.7 MHz dot clock. New types of - * monitors probably work better with VESA 75 Hz timings. - * - Add option for creation of clear, minimal XF86Config. - * - The card database doesn't include most of the entries in previous - * databases. - * - * Send comments to H.Hanemaayer@inter.nl.net. - * - * Things to keep up-to-date: - * - Accelerated server names. - * - Ramdac and Clockchip settings. - * - The card database. - * - */ -/* Oct2000 - * New 'Configuration of XKB' section. - * Author: Ivan Pascal The XFree86 Project. - */ -/* - * Nov2002 - * Some enhancements: - * - Add new PS/2 mouse protocol. - * "IMPS/2","ExplorerPS/2","ThinkingMousePS/2","MouseManPlusPS/2", - * "GlidePointPS/2","NetMousePS/2" and "NetScrollPS/2". - * - Add mouse-speed setting for PS/2 mouse. - * - Fix seg.fault problem on Solaris. - * - Add modestring "1400x1050"(for ATI Mobile-Rage). - * - Add videomemory 8192, 16384, 32768, 65536, 131072 and 262144. - * - Ready to DRI. - * - Load xtt module instead of freetype module. - * - Add font path "/TrueType/" and "/freefont/". - * Chisato Yamauchi(cyamauch@phyas.aichi-edu.ac.jp) - */ - -#ifdef HAVE_CONFIG_H -# include "xorg-server.h" -# include "xkb-config.h" -#endif - -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#define MAX_XKBOPTIONS 5 - -#include "cards.h" - - -/* - * Define the following to 310 to remove references to XFree86 features that - * have been added since XFree86 3.1 (e.g. DoubleScan modes). - * or to 311 to remove certain new modelines - */ -#define XFREE86_VERSION 400 - -/* - * Define this to have /etc/X11/XF86Config prompted for as the default - * location to write the XF86Config file to. - */ -#define PREFER_XF86CONFIG_IN_ETC - -/* - * Define this to force the user to go through XKB configuration section. - * - */ -#define FORCE_XKB_DIALOG - -/* - * Configuration variables. - */ - -#define MAX_CLOCKS_LINES 16 - -#define DUMBCONFIG2 "dumbconfig.2" -#define DUMBCONFIG3 "dumbconfig.3" - -/* some more vars to make path names in texts more flexible. OS/2 users - * may be more irritated than Unix users - */ -#ifndef PROJECTROOT -#define PROJECTROOT "/usr" -#endif -#define TREEROOT PROJECTROOT -#define TREEROOTLX TREEROOT "/lib/X11" -#define TREEROOTCFG TREEROOT "/etc/X11" -#define TREEROOTSHARE TREEROOT "/share/X11" -#ifdef XDOCDIR -# define TREEROOTDOC XDOCDIR -#else -# define TREEROOTDOC TREEROOTLX "/doc" -#endif -#ifdef XFONTDIR -# define TREEROOTFONT XFONTDIR -#else -# define TREEROOTFONT TREEROOTLX "/fonts" -#endif -#define MODULEPATH TREEROOT "/lib/modules" - -#define XSERVERNAME_FOR_PROBE "X" - -#ifndef XCONFIGFILE -#define XCONFIGFILE "xorg.conf" -#endif -#define CONFIGNAME XCONFIGFILE - -/* - * This is the filename of the temporary XF86Config file that is written - * when the program is told to probe clocks (which can only happen for - * root). - */ -#define TEMPORARY_XF86CONFIG_DIR_PREFIX "/tmp/."XCONFIGFILE -#define TEMPORARY_XF86CONFIG_FILENAME XCONFIGFILE".tmp" - -#ifndef XF86_VERSION_MAJOR -#ifdef XVERSION -#if XVERSION > 40000000 -#define XF86_VERSION_MAJOR (XVERSION / 10000000) -#else -#define XF86_VERSION_MAJOR (XVERSION / 1000) -#endif -#else -#define XF86_VERSION_MAJOR 4 -#endif -#endif - - -int config_mousetype; /* Mouse. */ -int config_emulate3buttons; -int config_chordmiddle; -int config_cleardtrrts; -char *config_pointerdevice; -int config_altmeta; /* Keyboard. */ -int config_monitortype; /* Monitor. */ -char *config_hsyncrange; -char *config_vsyncrange; -char *config_monitoridentifier; -int config_videomemory; /* Video card. */ -int config_screentype; /* mono, vga16, svga, accel */ -char *config_deviceidentifier; -int config_numberofclockslines; -char *config_clocksline[MAX_CLOCKS_LINES]; -char *config_modesline8bpp; -char *config_modesline16bpp; -char *config_modesline24bpp; -int config_virtual; /* 1 (yes) or 0 (no) */ -int config_virtualx8bpp, config_virtualy8bpp; -int config_virtualx16bpp, config_virtualy16bpp; -int config_virtualx24bpp, config_virtualy24bpp; -char *config_ramdac; -char *config_dacspeed; -char *config_clockchip; -#if defined(__OpenBSD__) && defined(WSCONS_SUPPORT) && !defined(PCVT_SUPPORT) -char *config_keyboard_dev = "/dev/wskbd0"; -#endif -int config_xkbdisable = 0; -char *config_xkbrules; -char *config_xkbmodel = "pc105"; -char *config_xkblayout = "us"; -char *config_xkbvariant = (char *) 0; -char *config_xkboptions = (char *) 0; -char *config_depth; - -char *temp_dir = ""; - -/* - * These are from the selected card definition. Parameters from the - * definition are offered during the questioning about the video card. - */ - -int card_selected; /* Card selected from database. */ - - -static int write_XF86Config(char *filename); - - -/* - * This is the initial intro text that appears when the program is started. - */ - -static char *intro_text = -"\n" -"This program will create a basic " CONFIGNAME " file, based on menu selections\n" -"you make. It will ask for a pathname when it is ready to write the file.\n" -"\n" -"The " CONFIGNAME " file usually resides in /etc/X11 or " TREEROOTCFG ". If\n" -"no " CONFIGNAME " file is present there, " __XSERVERNAME__" will probe the system to\n" -"autoconfigure itself. You can run " __XSERVERNAME__ " -configure to generate a " CONFIGNAME "\n" -"file based on the results of autoconfiguration, or let this program\n" -"produce a base " CONFIGNAME " file for your configuration, and fine-tune it.\n" -"A sample " CONFIGNAME " file is also supplied with "__XSERVERNAME__"; it is configured \n" -"for a standard VGA card and monitor with 640x480 resolution.\n" -"\n" -"There are also many chipset and card-specific options and settings available,\n" -"but this program does not know about these. On some configurations some of\n" -"these settings must be specified. Refer to the X driver man pages and the\n" -"chipset-specific READMEs in " TREEROOTDOC " for further details.\n" -#if 0 -" Refer to " TREEROOTDOC "/README.Config\n" -"for a detailed overview of the configuration process.\n" -"\n" -"(what should we change this section to?)\n" -"For accelerated servers (including accelerated drivers in the SVGA server),\n" -"there are many chipset and card-specific options and settings. This program\n" -"does not know about these. On some configurations some of these settings must\n" -"be specified. Refer to the server man pages and chipset-specific READMEs.\n" -#endif -"\n" -"Before continuing with this program, make sure you know what video card\n" -"you have, and preferably also the chipset it uses and the amount of video\n" -"memory on your video card, as well as the specifications of your monitor.\n" -"\n" -; - -static char *finalcomment_text = -"File has been written. Take a look at it before starting an X server. Note that\n" -"the " CONFIGNAME " file must be in one of the directories searched by the server\n" -"(e.g. /etc/X11) in order to be used. Within the server press\n" -"ctrl, alt and '+' simultaneously to cycle video resolutions. Pressing ctrl,\n" -"alt and backspace simultaneously immediately exits the server (use if\n" -"the monitor doesn't sync for a particular mode).\n" -"\n" -"For further configuration, refer to the " XCONFIGFILE "(" FILEMANSUFFIX ") manual page.\n" -"\n"; - -static void * -Malloc(int i) { - void *p; - - p = malloc(i); - if (p == NULL) { - printf("Fatal malloc error\n"); - exit(-1); - } - return p; -} - -static char * -Strdup(const char *s){ - char *d; - - d = Malloc(strlen(s) + 1); - strcpy(d, s); - return d; -} - -static void -createtmpdir(void) { - /* length of prefix + 20 (digits in 2**64) + 1 (slash) + 1 */ - temp_dir = Malloc(strlen(TEMPORARY_XF86CONFIG_DIR_PREFIX) + 22); - sprintf(temp_dir, "%s%ld", TEMPORARY_XF86CONFIG_DIR_PREFIX, - (long)getpid()); - if (mkdir(temp_dir, 0700) != 0) { - printf("Cannot create directory %s\n", temp_dir); - exit(-1); - } - /* append a slash */ - strcat(temp_dir, "/"); -} - - -void -keypress(void) { - printf("Press enter to continue, or ctrl-c to abort."); - getchar(); - printf("\n"); -} - -static void -emptylines(void) { - int i; - for (i = 0; i < 50; i++) - printf("\n"); -} - -static int -answerisyes(char *s) -{ - if (s[0] == '\'') /* For fools that type the ' literally. */ - return tolower(s[1]) == 'y'; - return tolower(s[0]) == 'y'; -} - -/* - * This is a replacement for gets(). Limit is 80 chars. - * The 386BSD descendants scream about using gets(), for good reason. - */ - -static void -getstring(char *s) -{ - char *cp; - if (fgets(s, 80, stdin) == NULL) - exit(1); - cp = strchr(s, '\n'); - if (cp) - *cp=0; -} - -/* - * Mouse configuration. - */ - -int M_OSMOUSE, M_WSMOUSE, M_AUTO, - M_SYSMOUSE, M_MOUSESYSTEMS, M_PS2, - M_MICROSOFT, M_BUSMOUSE, M_IMPS2, - M_EXPLORER_PS2, M_GLIDEPOINT_PS2, M_MOUSEMANPLUS_PS2, - M_NETMOUSE_PS2, M_NETSCROLL_PS2, M_THINKINGMOUSE_PS2, - M_ACECAD, M_GLIDEPOINT, M_INTELLIMOUSE, - M_LOGITECH, M_MMHITTAB, M_MMSERIES, - M_MOUSEMAN, M_THINKINGMOUSE, M_VUID; - -struct { - char *name; - int *ident; - char *desc; -} mouse_info[] = { -#if defined(QNX4) -#define DEF_PROTO_STRING "OSMOUSE" - {"OSMOUSE", &M_OSMOUSE, - "OSMOUSE" - }, -#endif -#ifdef WSCONS_SUPPORT -#define WS_MOUSE_STRING "wsmouse" -#define DEF_PROTO_STRING WS_MOUSE_STRING - {WS_MOUSE_STRING, &M_WSMOUSE, - "wsmouse protocol" - }, -#endif -#ifndef DEF_PROTO_STRING -#define DEF_PROTO_STRING "Auto" -#endif - {"Auto", &M_AUTO, - "Auto detect" - }, -#ifdef sun - {"VUID", &M_VUID, - "Solaris VUID protocol (SPARC, USB, or virtual mouse)" - }, -#endif - {"SysMouse", &M_SYSMOUSE, - "SysMouse" - }, -#define M_MOUSESYSTEMS_STRING "MouseSystems" - {M_MOUSESYSTEMS_STRING, &M_MOUSESYSTEMS, - "Mouse Systems (3-button protocol)" - }, - {"PS/2", &M_PS2, - "PS/2 Mouse" - }, -#define M_MICROSOFT_STRING "Microsoft" - {M_MICROSOFT_STRING, &M_MICROSOFT, - "Microsoft compatible (2-button protocol)" - }, - {"Busmouse", &M_BUSMOUSE, - "Bus Mouse" - }, -#ifndef __FreeBSD__ - {"IMPS/2", &M_IMPS2, - "IntelliMouse PS/2" - }, - {"ExplorerPS/2", &M_EXPLORER_PS2, - "Explorer PS/2" - }, - {"GlidePointPS/2", &M_GLIDEPOINT_PS2, - "GlidePoint PS/2" - }, - {"MouseManPlusPS/2", &M_MOUSEMANPLUS_PS2, - "MouseManPlus PS/2" - }, - {"NetMousePS/2", &M_NETMOUSE_PS2, - "NetMouse PS/2" - }, - {"NetScrollPS/2", &M_NETSCROLL_PS2, - "NetScroll PS/2" - }, - {"ThinkingMousePS/2", &M_THINKINGMOUSE_PS2, - "ThinkingMouse PS/2" - }, -#endif - {"AceCad", &M_ACECAD, - "AceCad" - }, - {"GlidePoint", &M_GLIDEPOINT, - "GlidePoint" - }, - {"IntelliMouse", &M_INTELLIMOUSE, - "Microsoft IntelliMouse" - }, - {"Logitech", &M_LOGITECH, - "Logitech Mouse (serial, old type, Logitech protocol)" - }, - {"MMHitTab", &M_MMHITTAB, - "MM HitTablet" - }, - {"MMSeries", &M_MMSERIES, - "MM Series" /* XXXX These descriptions should be improved. */ - }, - {"MouseMan", &M_MOUSEMAN, - "Logitech MouseMan (Microsoft compatible)" - }, - {"ThinkingMouse", &M_THINKINGMOUSE, - "ThinkingMouse" - }, -}; - -#ifdef WSCONS_SUPPORT -# define DEF_MOUSEDEV "/dev/wsmouse"; -#elif defined(__FreeBSD__) || defined(__DragonFly__) -# define DEF_MOUSEDEV "/dev/sysmouse"; -#elif defined(__linux__) -# define DEF_MOUSEDEV "/dev/input/mice"; -#else -# define DEF_MOUSEDEV "/dev/mouse"; -#endif - -static char *mouseintro_text = -"First specify a mouse protocol type. Choose one from the following list:\n" -"\n"; - -static char *mousedev_text = -"Now give the full device name that the mouse is connected to, for example\n" -"/dev/tty00. Just pressing enter will use the default, %s.\n" -"\n"; - -static char *mousecomment_text = -"The recommended protocol is " DEF_PROTO_STRING ". If you have a very old mouse\n" -"or don't want OS support or auto detection, and you have a two-button\n" -"or three-button serial mouse, it is most likely of type " M_MICROSOFT_STRING ".\n" -#ifdef WSCONS_SUPPORT -"\n" -"If your system uses the wscons console driver, with a PS/2 type mouse,\n" -"select " WS_MOUSE_STRING ".\n" -#endif -"\n"; - -static char *twobuttonmousecomment_text = -"You have selected a two-button mouse protocol. It is recommended that you\n" -"enable Emulate3Buttons.\n"; - -static char *threebuttonmousecomment_text = -"You have selected a three-button mouse protocol. It is recommended that you\n" -"do not enable Emulate3Buttons, unless the third button doesn't work.\n"; - -static char *unknownbuttonsmousecomment_text = -"If your mouse has only two buttons, it is recommended that you enable\n" -"Emulate3Buttons.\n"; - -static char *microsoftmousecomment_text = -"You have selected a Microsoft protocol mouse. If your mouse was made by\n" -"Logitech, you might want to enable ChordMiddle which could cause the\n" -"third button to work.\n"; - -static char *mousesystemscomment_text = -"You have selected a Mouse Systems protocol mouse. If your mouse is normally\n" -"in Microsoft-compatible mode, enabling the ClearDTR and ClearRTS options\n" -"may cause it to switch to Mouse Systems mode when the server starts.\n"; - -static char *logitechmousecomment_text = -"You have selected a Logitech protocol mouse. This is only valid for old\n" -"Logitech mice.\n"; - -static char *mousemancomment_text = -"You have selected a Logitech MouseMan type mouse. You might want to enable\n" -"ChordMiddle which could cause the third button to work.\n"; - -static void -mouse_configuration(void) { - -#if !defined(QNX4) - int i, j; - char s[80]; - char *def_mousedev = DEF_MOUSEDEV; - -#define MOUSETYPE_COUNT sizeof(mouse_info)/sizeof(mouse_info[0]) - for (i = 0; i < MOUSETYPE_COUNT; i++) - *(mouse_info[i].ident) = i; - - for (i=0;;) { - emptylines(); - printf("%s", mouseintro_text); - for (j = i; j < i + 14 && j < MOUSETYPE_COUNT; j++) - printf("%2d. %s [%s]\n", j + 1, - mouse_info[j].name, mouse_info[j].desc); - printf("\n"); - printf("%s", mousecomment_text); - printf("Enter a protocol number: "); - getstring(s); - if (strlen(s) == 0) { - i += 14; - if (i >= MOUSETYPE_COUNT) - i = 0; - continue; - } - config_mousetype = atoi(s) - 1; - if (config_mousetype >= 0 && config_mousetype < MOUSETYPE_COUNT) - break; - } - printf("\n"); - - if (config_mousetype == M_LOGITECH) { - /* Logitech. */ - printf("%s", logitechmousecomment_text); - printf("\n"); - printf("Please answer the following question with either 'y' or 'n'.\n"); - printf("Are you sure it's really not a Microsoft compatible one? "); - getstring(s); - if (!answerisyes(s)) - config_mousetype = M_MICROSOFT; - printf("\n"); - } - - config_chordmiddle = 0; - if (config_mousetype == M_MICROSOFT || config_mousetype == M_MOUSEMAN) { - /* Microsoft or MouseMan. */ - if (config_mousetype == M_MICROSOFT) - printf("%s", microsoftmousecomment_text); - else - printf("%s", mousemancomment_text); - printf("\n"); - printf("Please answer the following question with either 'y' or 'n'.\n"); - printf("Do you want to enable ChordMiddle? "); - getstring(s); - if (answerisyes(s)) - config_chordmiddle = 1; - printf("\n"); - } - - config_cleardtrrts = 0; - if (config_mousetype == M_MOUSESYSTEMS) { - /* Mouse Systems. */ - printf("%s", mousesystemscomment_text); - printf("\n"); - printf("Please answer the following question with either 'y' or 'n'.\n"); - printf("Do you want to enable ClearDTR and ClearRTS? "); - getstring(s); - if (answerisyes(s)) - config_cleardtrrts = 1; - printf("\n"); - } - - if (config_mousetype == M_MICROSOFT) { - if (config_chordmiddle) - printf("%s", threebuttonmousecomment_text); - else - printf("%s", twobuttonmousecomment_text); - } - else if (config_mousetype == M_MOUSESYSTEMS || - config_mousetype == M_INTELLIMOUSE) { - printf("%s", threebuttonmousecomment_text); - } - else { - printf("%s", unknownbuttonsmousecomment_text); - } - - printf("\n"); - - printf("Please answer the following question with either 'y' or 'n'.\n"); - printf("Do you want to enable Emulate3Buttons? "); - getstring(s); - if (answerisyes(s)) - config_emulate3buttons = 1; - else - config_emulate3buttons = 0; - printf("\n"); - -#if (defined(sun) && (defined(__i386) || defined(__x86))) - /* SPARC & USB mice (VUID or AUTO protocols) default to /dev/mouse, - but PS/2 mice default to /dev/kdmouse */ - if ((config_mousetype != M_AUTO) && (config_mousetype != M_VUID)) { - def_mousedev = "/dev/kdmouse"; - } -#endif - - printf(mousedev_text, def_mousedev); - printf("Mouse device: "); - getstring(s); - if (strlen(s) == 0) { - config_pointerdevice = def_mousedev; - } else { - config_pointerdevice = Malloc(strlen(s) + 1); - strcpy(config_pointerdevice, s); - } - printf("\n"); - -#else - /* set some reasonable defaults for OS/2 */ - config_mousetype = M_OSMOUSE; - config_chordmiddle = 0; - config_cleardtrrts = 0; - config_emulate3buttons = 0; - config_pointerdevice = "QNXMOUSE"; -#endif -} - - -/* - * Keyboard configuration. - */ - -/* - * Configuration of XKB - */ -static char *xkbmodeltext = -"Please select one of the following keyboard types that is the better\n" -"description of your keyboard. If nothing really matches,\n" -"choose \"Generic 104-key PC\"\n\n"; - -static char *xkblayouttext = -"Please select the layout corresponding to your keyboard\n"; - -static char *xkbvarianttext = -"Please enter a variant name for '%s' layout. Or just press enter\n" -"for default variant\n\n"; - -static char *xkboptionstext = -"Please answer the following question with either 'y' or 'n'.\n" -"Do you want to select additional XKB options (group switcher,\n" -"group indicator, etc.)? "; - -#if defined(__OpenBSD__) && defined(WSCONS_SUPPORT) && !defined(PCVT_SUPPORT) -static char *kbdevtext = -"Please enter the device name for your keyboard or just press enter\n" -"for the default of wskbd0\n\n"; -#endif - -static void -keyboard_configuration(void) -{ - int i, j; - char s[80]; - char *rulesfile; - int number, options[MAX_XKBOPTIONS], num_options; - XkbRF_RulesPtr rules; - -#if defined(__OpenBSD__) && defined(WSCONS_SUPPORT) && !defined(PCVT_SUPPORT) - printf(kbdevtext); - getstring(s); - if (strlen(s) != 0) { - config_keyboard_dev = Malloc(strlen(s) + 1); - strcpy(config_keyboard_dev, s); - } -#endif - -#ifndef XKB_RULES_DIR -# define XKB_RULES_DIR XKB_BASE_DIRECTORY "/rules" -#endif - -#ifdef XFREE98_XKB - config_xkbrules = "xfree98"; /* static */ - rulesfile = XKB_RULES_DIR "/xfree98"; -#else - config_xkbrules = __XKBDEFRULES__; /* static */ - rulesfile = XKB_RULES_DIR "/" __XKBDEFRULES__; -#endif - - rules = XkbRF_Load(rulesfile, "", True, False); - emptylines(); - - if (!rules) { - printf("XKB rules file '%s' not found\n", rulesfile); - printf("Keyboard XKB options will be set to default values.\n"); - keypress(); - return; - } - - number = -1; - for (i=0;;) { - emptylines(); - printf(xkbmodeltext); - for (j = i; j < i + 16 && j < rules->models.num_desc; j++) - printf("%3d %-50s\n", j+1, rules->models.desc[j].desc); - printf("\nEnter a number to choose the keyboard.\n\n"); - if (rules->models.num_desc >= 16) - printf("Press enter for the next page\n"); - getstring(s); - if (strlen(s) == 0) { - i += 16; - if (i > rules->models.num_desc) - i = 0; - continue; - } - number = atoi(s) - 1; - if (number >= 0 && number < rules->models.num_desc) - break; - } - - i = strlen(rules->models.desc[number].name) + 1; - config_xkbmodel = Malloc(i); - sprintf(config_xkbmodel,"%s", rules->models.desc[number].name); - - emptylines(); - printf(xkblayouttext); - - number = -1; - for (i=0;;) { - emptylines(); - for (j = i; j < i + 18 && j < rules->layouts.num_desc; j++) - printf("%3d %-50s\n", j+1, - rules->layouts.desc[j].desc); - printf("\n"); - printf("Enter a number to choose the country.\n"); - if (rules->layouts.num_desc >= 18) - printf("Press enter for the next page\n"); - printf("\n"); - getstring(s); - if (strlen(s) == 0) { - i += 18; - if (i > rules->layouts.num_desc) - i = 0; - continue; - } - number = atoi(s) - 1; - if (number >= 0 && number < rules->layouts.num_desc) - break; - } - config_xkblayout = Malloc(strlen(rules->layouts.desc[number].name)+1); - sprintf(config_xkblayout,"%s", rules->layouts.desc[number].name); - - emptylines(); - printf(xkbvarianttext, config_xkblayout); - getstring(s); - if (strlen(s) != 0) { - config_xkbvariant = Malloc(strlen(s) + 1); - strcpy(config_xkbvariant, s); - } - - emptylines(); - printf(xkboptionstext); - getstring(s); - if (!answerisyes(s)) - return; - - num_options = 0; - for (j=0,i=0;;) { - if (!strchr(rules->options.desc[i].name, ':')) { - emptylines(); - printf(" %s\n\n", rules->options.desc[i].desc); - j = i; - } else { - printf("%3d %-50s\n", i - j, rules->options.desc[i].desc); - } - i++; - if ( i == rules->options.num_desc || - !strchr(rules->options.desc[i].name, ':')) { - printf("\nPlease select the option or just press enter if none\n"); - getstring(s); - if (strlen(s) != 0) { - number = atoi(s); - if (number && (num_options < MAX_XKBOPTIONS)) { - options[num_options++] = number + j; - } - } - } - if (i == rules->options.num_desc) - break; - } - - if (!num_options) - return; - - for (j=0,i=0; ioptions.desc[options[i]].name); - } - config_xkboptions = Malloc(j + num_options); - for (j=0,i=0; ioptions.desc[options[i]].name); - } - return; -} - - - -/* - * Monitor configuration. - */ - -static char *monitorintro_text = -"Now we want to set the specifications of the monitor. The two critical\n" -"parameters are the vertical refresh rate, which is the rate at which the\n" -"the whole screen is refreshed, and most importantly the horizontal sync rate,\n" -"which is the rate at which scanlines are displayed.\n" -"\n" -"The valid range for horizontal sync and vertical sync should be documented\n" -"in the manual of your monitor.\n" -"\n"; - -static char *hsyncintro_text = -"You must indicate the horizontal sync range of your monitor. You can either\n" -"select one of the predefined ranges below that correspond to industry-\n" -"standard monitor types, or give a specific range.\n" -"\n" -"It is VERY IMPORTANT that you do not specify a monitor type with a horizontal\n" -"sync range that is beyond the capabilities of your monitor. If in doubt,\n" -"choose a conservative setting.\n" -"\n"; - -static char *customhsync_text = -"Please enter the horizontal sync range of your monitor, in the format used\n" -"in the table of monitor types above. You can either specify one or more\n" -"continuous ranges (e.g. 15-25, 30-50), or one or more fixed sync frequencies.\n" -"\n"; - -static char *vsyncintro_text = -"You must indicate the vertical sync range of your monitor. You can either\n" -"select one of the predefined ranges below that correspond to industry-\n" -"standard monitor types, or give a specific range. For interlaced modes,\n" -"the number that counts is the high one (e.g. 87 Hz rather than 43 Hz).\n" -"\n" -" 1 50-70\n" -" 2 50-90\n" -" 3 50-100\n" -" 4 40-150\n" -" 5 Enter your own vertical sync range\n"; - -static char *monitordescintro_text = -"You must now enter a few identification/description strings, namely an\n" -"identifier, a vendor name, and a model name. Just pressing enter will fill\n" -"in default names.\n" -"\n"; - -#define NU_MONITORTYPES 10 - -static char *monitortype_range[NU_MONITORTYPES] = { - "31.5", - "31.5 - 35.1", - "31.5, 35.5", - "31.5, 35.15, 35.5", - "31.5 - 37.9", - "31.5 - 48.5", - "31.5 - 57.0", - "31.5 - 64.3", - "31.5 - 79.0", - "31.5 - 82.0" -}; - -static char *monitortype_name[NU_MONITORTYPES] = { - "Standard VGA, 640x480 @ 60 Hz", - "Super VGA, 800x600 @ 56 Hz", - "8514 Compatible, 1024x768 @ 87 Hz interlaced (no 800x600)", - "Super VGA, 1024x768 @ 87 Hz interlaced, 800x600 @ 56 Hz", - "Extended Super VGA, 800x600 @ 60 Hz, 640x480 @ 72 Hz", - "Non-Interlaced SVGA, 1024x768 @ 60 Hz, 800x600 @ 72 Hz", - "High Frequency SVGA, 1024x768 @ 70 Hz", - "Monitor that can do 1280x1024 @ 60 Hz", - "Monitor that can do 1280x1024 @ 74 Hz", - "Monitor that can do 1280x1024 @ 76 Hz" -}; - -static void -monitor_configuration(void) { - int i; - char s[80]; - printf("%s", monitorintro_text); - - keypress(); - emptylines(); - - printf("%s", hsyncintro_text); - - printf(" hsync in kHz; monitor type with characteristic modes\n"); - for (i = 0; i < NU_MONITORTYPES; i++) - printf("%2d %s; %s\n", i + 1, monitortype_range[i], - monitortype_name[i]); - - printf("%2d Enter your own horizontal sync range\n", - NU_MONITORTYPES + 1); - printf("\n"); - - printf("Enter your choice (1-%d): ", NU_MONITORTYPES + 1); - getstring(s); - config_monitortype = atoi(s) - 1; - if (config_monitortype < 0) - config_monitortype = 0; - - printf("\n"); - - if (config_monitortype < NU_MONITORTYPES) - config_hsyncrange = monitortype_range[config_monitortype]; - else { - /* Custom hsync range option selected. */ - printf("%s", customhsync_text); - printf("Horizontal sync range: "); - getstring(s); - config_hsyncrange = Malloc(strlen(s) + 1); - strcpy(config_hsyncrange, s); - printf("\n"); - } - - printf("%s", vsyncintro_text); - printf("\n"); - - printf("Enter your choice: "); - getstring(s); - printf("\n"); - switch (atoi(s)) { - case 0 : - case 1 : - config_vsyncrange = "50-70"; - break; - case 2 : - config_vsyncrange = "50-90"; - break; - case 3 : - config_vsyncrange = "50-100"; - break; - case 4 : - config_vsyncrange = "40-150"; - break; - case 5 : - /* Custom vsync range option selected. */ - printf("Vertical sync range: "); - getstring(s); - config_vsyncrange = Malloc(strlen(s) + 1); - strcpy(config_vsyncrange, s); - printf("\n"); - break; - } - printf("%s", monitordescintro_text); - printf("The strings are free-form, spaces are allowed.\n"); - printf("Enter an identifier for your monitor definition: "); - getstring(s); - if (strlen(s) == 0) - config_monitoridentifier = "My Monitor"; - else { - config_monitoridentifier = Malloc(strlen(s) + 1); - strcpy(config_monitoridentifier, s); - } -} - - -/* - * Card database. - */ - -static char *cardintro_text = -"Now we must configure video card specific settings. At this point you can\n" -"choose to make a selection out of a database of video card definitions.\n" -"Because there can be variation in Ramdacs and clock generators even\n" -"between cards of the same model, it is not sensible to blindly copy\n" -"the settings (e.g. a Device section). For this reason, after you make a\n" -"selection, you will still be asked about the components of the card, with\n" -"the settings from the chosen database entry presented as a strong hint.\n" -"\n" -"The database entries include information about the chipset, what driver to\n" -"run, the Ramdac and ClockChip, and comments that will be included in the\n" -"Device section. However, a lot of definitions only hint about what driver\n" -"to run (based on the chipset the card uses) and are untested.\n" -"\n" -"If you can't find your card in the database, there's nothing to worry about.\n" -"You should only choose a database entry that is exactly the same model as\n" -"your card; choosing one that looks similar is just a bad idea (e.g. a\n" -"GemStone Snail 64 may be as different from a GemStone Snail 64+ in terms of\n" -"hardware as can be).\n" -"\n"; - -static char *cardunsupported_text = -"This card is basically UNSUPPORTED. It may only work as a generic\n" -"VGA-compatible card. If you have an "__XSERVERNAME__" version more recent than what\n" -"this card definition was based on, there's a chance that it is now\n" -"supported.\n"; - -static void -carddb_configuration(void) { - int i; - char s[80]; - card_selected = -1; - printf("%s", cardintro_text); - printf("Do you want to look at the card database? "); - getstring(s); - printf("\n"); - if (!answerisyes(s)) - return; - - /* - * Choose a database entry. - */ - if (parse_database()) { - printf("Couldn't read card database file %s.\n", - CARD_DATABASE_FILE); - keypress(); - return; - } - - i = 0; - for (;;) { - int j; - emptylines(); - for (j = i; j < i + 18 && j <= lastcard; j++) { - char *name = card[j].name, - *chipset = card[j].chipset; - - printf("%3d %-50s%s\n", j, - name ? name : "-", - chipset ? chipset : "-"); - } - printf("\n"); - printf("Enter a number to choose the corresponding card definition.\n"); - printf("Press enter for the next page, q to continue configuration.\n"); - printf("\n"); - getstring(s); - if (s[0] == 'q') - break; - if (strlen(s) == 0) { - i += 18; - if (i > lastcard) - i = 0; - continue; - } - card_selected = atoi(s); - if (card_selected >= 0 && card_selected <= lastcard) - break; - } - - /* - * Look at the selected card. - */ - if (card_selected != -1) { - char *name = card[card_selected].name, - *chipset = card[card_selected].chipset; - - printf("\nYour selected card definition:\n\n"); - printf("Identifier: %s\n", name ? name : "-"); - printf("Chipset: %s\n", chipset ? chipset : "-"); - if (!card[card_selected].driver) - card[card_selected].driver = "unknown"; - printf("Driver: %s\n", card[card_selected].driver); - - if (card[card_selected].ramdac != NULL) - printf("Ramdac: %s\n", card[card_selected].ramdac); - if (card[card_selected].dacspeed != NULL) - printf("DacSpeed: %s\n", card[card_selected].dacspeed); - if (card[card_selected].clockchip != NULL) - printf("Clockchip: %s\n", card[card_selected].clockchip); - if (card[card_selected].flags & NOCLOCKPROBE) - printf("Do NOT probe clocks or use any Clocks line.\n"); - if (card[card_selected].flags & UNSUPPORTED) - printf("%s", cardunsupported_text); -#if 0 /* Might be confusing. */ - if (strlen(card[card_selected].lines) > 0) - printf("Device section text:\n%s", - card[card_selected].lines); -#endif - printf("\n"); - keypress(); - } -} - - -/* - * Screen/video card configuration. - */ - -static char *deviceintro_text = -"Now you must give information about your video card. This will be used for\n" -"the \"Device\" section of your video card in " CONFIGNAME ".\n" -"\n"; - -static char *videomemoryintro_text = -"It is probably a good idea to use the same approximate amount as that detected\n" -"by the server you intend to use. If you encounter problems that are due to the\n" -"used server not supporting the amount memory you have, specify the maximum\n" -"amount supported by the server.\n" -"\n" -"How much video memory do you have on your video card:\n" -"\n"; - -static char *carddescintro_text = -"You must now enter a few identification/description strings, namely an\n" -"identifier, a vendor name, and a model name. Just pressing enter will fill\n" -"in default names (possibly from a card definition).\n" -"\n"; - -#if 0 -static char *devicesettingscomment_text = -"Especially for accelerated drivers, Ramdac, Dacspeed and ClockChip settings\n" -"or special options may be required in the Device section.\n" -"\n"; - -static char *ramdaccomment_text = -"The RAMDAC setting only applies to some drivers. Some RAMDAC's are\n" -"auto-detected by the server. The detection of a RAMDAC is forced by using a\n" -"Ramdac \"identifier\" line in the Device section. The identifiers are shown\n" -"at the right of the following table of RAMDAC types:\n" -"\n"; - -#define NU_RAMDACS 24 - -static char *ramdac_name[NU_RAMDACS] = { - "AT&T 20C490 (S3 and AGX servers, ARK driver)", - "AT&T 20C498/21C498/22C498 (S3, autodetected)", - "AT&T 20C409/20C499 (S3, autodetected)", - "AT&T 20C505 (S3)", - "BrookTree BT481 (AGX)", - "BrookTree BT482 (AGX)", - "BrookTree BT485/9485 (S3)", - "Sierra SC15025 (S3, AGX)", -#if XFREE86_VERSION >= 311 - "S3 GenDAC (86C708) (autodetected)", - "S3 SDAC (86C716) (autodetected)", -#else - "S3 GenDAC (86C708)", - "S3 SDAC (86C716)", -#endif - "STG-1700 (S3, autodetected)", - "STG-1703 (S3, autodetected)", - "TI 3020 (S3, autodetected)", - "TI 3025 (S3, autodetected)", - "TI 3026 (S3, autodetected)", - "IBM RGB 514 (S3, autodetected)", - "IBM RGB 524 (S3, autodetected)", - "IBM RGB 525 (S3, autodetected)", - "IBM RGB 526 (S3)", - "IBM RGB 528 (S3, autodetected)", - "ICS5342 (S3, ARK)", - "ICS5341 (W32)", - "IC Works w30C516 ZoomDac (ARK)", - "Normal DAC" -}; - -static char *ramdac_id[NU_RAMDACS] = { - "att20c490", "att20c498", "att20c409", "att20c505", "bt481", "bt482", - "bt485", "sc15025", "s3gendac", "s3_sdac", "stg1700","stg1703", - "ti3020", "ti3025", "ti3026", "ibm_rgb514", "ibm_rgb524", - "ibm_rgb525", "ibm_rgb526", "ibm_rgb528", "ics5342", "ics5341", - "zoomdac", "normal" -}; - -static char *clockchipcomment_text = -"A Clockchip line in the Device section forces the detection of a\n" -"programmable clock device. With a clockchip enabled, any required\n" -"clock can be programmed without requiring probing of clocks or a\n" -"Clocks line. Most cards don't have a programmable clock chip.\n" -"Choose from the following list:\n" -"\n"; - -#define NU_CLOCKCHIPS 12 - -static char *clockchip_name[] = { - "Chrontel 8391", - "ICD2061A and compatibles (ICS9161A, DCS2824)", - "ICS2595", - "ICS5342 (similar to SDAC, but not completely compatible)", - "ICS5341", - "S3 GenDAC (86C708) and ICS5300 (autodetected)", - "S3 SDAC (86C716)", - "STG 1703 (autodetected)", - "Sierra SC11412", - "TI 3025 (autodetected)", - "TI 3026 (autodetected)", - "IBM RGB 51x/52x (autodetected)", -}; - -static char *clockchip_id[] = { - "ch8391", "icd2061a", "ics2595", "ics5342", "ics5341", - "s3gendac", "s3_sdac", - "stg1703", "sc11412", "ti3025", "ti3026", "ibm_rgb5xx", -}; - -static char *deviceclockscomment_text = -"For most modern configurations, a Clocks line is neither required or\n" -"desirable. However for some older hardware it can be useful since it\n" -"prevents the slow and nasty sounding clock probing at server start-up.\n" -"Probed clocks are displayed at server startup, along with other server\n" -"and hardware configuration info. You can save this information in a file\n" -"by running 'X -probeonly 2>output_file'. Be warned that clock probing is\n" -"inherently imprecise; some clocks may be slightly too high (varies per run).\n" -"\n"; - -static char *deviceclocksquestion_text = -"At this point I can run X -probeonly, and try to extract the clock information\n" -"from the output. It is recommended that you do this yourself and if a set of\n" -"clocks is shown then you add a clocks line (note that the list of clocks may\n" -"be split over multiple Clocks lines) to your Device section afterwards. Be\n" -"aware that a clocks line is not appropriate for most modern hardware that\n" -"has programmable clocks.\n" -"\n" -"You must be root to be able to run X -probeonly now.\n" -"\n"; - -static char *probeonlywarning_text = -"It is possible that the hardware detection routines in the server will somehow\n" -"cause the system to crash and the screen to remain blank. If this is the\n" -"case, do not choose this option the next time. The server may need a\n" -"Ramdac, ClockChip or special option (e.g. \"nolinear\" for S3) to probe\n" -"and start-up correctly.\n" -"\n"; -#endif - -static char *modesorderintro_text = -"For each depth, a list of modes (resolutions) is defined. The default\n" -"resolution that the server will start-up with will be the first listed\n" -"mode that can be supported by the monitor and card.\n" -"Currently it is set to:\n" -"\n"; - -static char *modesorder_text2 = -"Modes that cannot be supported due to monitor or clock constraints will\n" -"be automatically skipped by the server.\n" -"\n" -" 1 Change the modes for 8-bit (256 colors)\n" -" 2 Change the modes for 16-bit (32K/64K colors)\n" -" 3 Change the modes for 24-bit (24-bit color)\n" -" 4 The modes are OK, continue.\n" -"\n"; - -static char *modeslist_text = -"Please type the digits corresponding to the modes that you want to select.\n" -"For example, 432 selects \"1024x768\" \"800x600\" \"640x480\", with a\n" -"default mode of 1024x768.\n" -"\n"; - -static char *virtual_text = -"You can have a virtual screen (desktop), which is screen area that is larger\n" -"than the physical screen and which is panned by moving the mouse to the edge\n" -"of the screen. If you don't want virtual desktop at a certain resolution,\n" -"you cannot have modes listed that are larger. Each color depth can have a\n" -"differently-sized virtual screen\n" -"\n"; - -static int videomemory[] = { - 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536, 131072, 262144 -}; - -/* Is this required? */ -#if XFREE86_VERSION >= 400 -#define NU_MODESTRINGS 13 -#else -#if XFREE86_VERSION >= 330 -#define NU_MODESTRINGS 12 -#else -#if XFREE86_VERSION >= 311 -#define NU_MODESTRINGS 8 -#else -#define NU_MODESTRINGS 5 -#endif -#endif -#endif - -static char *modestring[NU_MODESTRINGS] = { - "\"640x400\"", - "\"640x480\"", - "\"800x600\"", - "\"1024x768\"", - "\"1280x1024\"", -#if XFREE86_VERSION >= 311 - "\"320x200\"", - "\"320x240\"", - "\"400x300\"" -#endif -#if XFREE86_VERSION >= 330 - ,"\"1152x864\"", - "\"1600x1200\"", - "\"1800x1400\"", - "\"512x384\"" -#endif -#if XFREE86_VERSION >= 400 - ,"\"1400x1050\"" -#endif -}; - -static int exists_dir(char *name) { - struct stat sbuf; - - /* is it there ? */ - if (stat(name,&sbuf) == -1) - return 0; - - /* is there, but is it a dir? */ - return S_ISDIR(sbuf.st_mode) ? 1 : 0; -} - -static int -screen_configuration(void) { - int i, c/*, np*/; - char s[80]; - - /* - * Configure the "Device" section for the video card. - */ - - printf("%s", deviceintro_text); - - printf("%s", videomemoryintro_text); - - for (i = 0; i < sizeof(videomemory) / sizeof(videomemory[0]); i++) - printf("%2d %dK\n", i + 1, videomemory[i]); - printf("%2d Other\n\n", i + 1); - - printf("Enter your choice: "); - getstring(s); - printf("\n"); - - c = atoi(s) - 1; - if (c >= 0 && c < sizeof(videomemory) / sizeof(videomemory[0])) - config_videomemory = videomemory[c]; - else { - printf("Amount of video memory in Kbytes: "); - getstring(s); - config_videomemory = atoi(s); - printf("\n"); - } - - printf("%s", carddescintro_text); - if (card_selected != -1) - printf("Your card definition is %s.\n\n", - card[card_selected].name); - printf("The strings are free-form, spaces are allowed.\n"); - printf("Enter an identifier for your video card definition: "); - getstring(s); - if (strlen(s) == 0) - if (card_selected != -1) - config_deviceidentifier = card[card_selected].name; - else - config_deviceidentifier = "My Video Card"; - else { - config_deviceidentifier = Malloc(strlen(s) + 1); - strcpy(config_deviceidentifier, s); - } - printf("\n"); - - emptylines(); - - /* - * Initialize screen mode variables for svga and accel - * to default values. - * XXXX Doesn't leave room for off-screen caching in 16/32bpp modes - * for the accelerated servers in some situations. - */ - config_modesline8bpp = - config_modesline16bpp = - config_modesline24bpp = "\"640x480\""; - config_virtualx8bpp = config_virtualx16bpp = config_virtualx24bpp = - config_virtualy8bpp = config_virtualy16bpp = config_virtualy24bpp = 0; - if (config_videomemory >= 4096) { - config_virtualx8bpp = 1600; - config_virtualy8bpp = 1280; - if (card_selected != -1 && !(card[card_selected].flags & UNSUPPORTED)) { - /* - * Allow room for font/pixmap cache for accel - * servers. - */ - config_virtualx16bpp = 1280; - config_virtualy16bpp = 1024; - } - else { - config_virtualx16bpp = 1600; - config_virtualy16bpp = 1280; - } - if (card_selected != -1 && !(card[card_selected].flags & UNSUPPORTED)) { - config_virtualx24bpp = 1152; - config_virtualy24bpp = 900; - } - else { - config_virtualx24bpp = 1280; - config_virtualy24bpp = 1024; - } - /* Add 1600x1280 */ - config_modesline8bpp = "\"1280x1024\" \"1024x768\" \"800x600\" \"640x480\""; - config_modesline16bpp = "\"1280x1024\" \"1024x768\" \"800x600\" \"640x480\""; - config_modesline24bpp = "\"1280x1024\" \"1024x768\" \"800x600\" \"640x480\""; - - } - else - if (config_videomemory >= 2048) { - if (card_selected != -1 && !(card[card_selected].flags & UNSUPPORTED)) { - /* - * Allow room for font/pixmap cache for accel - * servers. - * Also the mach32 is has a limited width. - */ - config_virtualx8bpp = 1280; - config_virtualy8bpp = 1024; - } - else { - config_virtualx8bpp = 1600; - config_virtualy8bpp = 1200; - } - if (card_selected != -1 && !(card[card_selected].flags & UNSUPPORTED)) { - config_virtualx16bpp = 1024; - config_virtualy16bpp = 768; - } - else { - config_virtualx16bpp = 1152; - config_virtualy16bpp = 900; - } - config_virtualx24bpp = 800; - config_virtualy24bpp = 600; - if (config_videomemory >= 2048 + 256) { - config_virtualx24bpp = 1024; - config_virtualy24bpp = 768; - } - config_modesline8bpp = "\"1280x1024\" \"1024x768\" \"800x600\" \"640x480\""; - config_modesline16bpp = "\"1024x768\" \"800x600\" \"640x480\""; - if (config_videomemory >= 2048 + 256) - config_modesline24bpp = "\"1024x768\" \"800x600\" \"640x480\""; - else - config_modesline24bpp = "\"800x600\" \"640x480\""; - } - else - if (config_videomemory >= 1024) { - if (card_selected != -1 && !(card[card_selected].flags & UNSUPPORTED)) { - /* - * Allow room for font/pixmap cache for accel - * servers. - */ - config_virtualx8bpp = 1024; - config_virtualy8bpp = 768; - } - else { - config_virtualx8bpp = 1152; - config_virtualy8bpp = 900; - } - config_virtualx16bpp = 800; /* Forget about cache space; */ - config_virtualy16bpp = 600; /* it's small enough as it is. */ - config_virtualx24bpp = 640; - config_virtualy24bpp = 480; - config_modesline8bpp = "\"1024x768\" \"800x600\" \"640x480\""; - config_modesline16bpp = "\"800x600\" \"640x480\""; - config_modesline24bpp = "\"640x480\""; - } - else - if (config_videomemory >= 512) { - config_virtualx8bpp = 800; - config_virtualy8bpp = 600; - config_modesline8bpp = "\"800x600\" \"640x480\""; - config_modesline16bpp = "\"640x400\""; - } - else - if (config_videomemory >= 256) { - config_modesline8bpp = "\"640x400\""; - config_virtualx8bpp = 640; - config_virtualy8bpp = 400; - } - else { - printf("Invalid amount of video memory. Please try again\n"); - return(1); - } - -#if 0 - /* - * Handle the Ramdac/Clockchip setting. - */ - - printf("%s", devicesettingscomment_text); - - if (card_selected == -1 || (card[card_selected].flags & UNSUPPORTED)) - goto skipramdacselection; - - printf("%s", ramdaccomment_text); - - /* meanwhile there are so many RAMDACs that they do no longer fit on - * on page - */ - for (np=12, i=0 ;;) { - int j; - for (j = i; j < i + np && j < NU_RAMDACS; j++) - printf("%3d %-60s%s\n", j+1, - ramdac_name[j], - ramdac_id[j]); - - printf("\n"); - if (card_selected != -1) - if (card[card_selected].ramdac != NULL) - printf("The card definition has Ramdac \"%s\".\n\n", - card[card_selected].ramdac); - printf("\n"); - printf("Enter a number to choose the corresponding RAMDAC.\n"); - printf("Press enter for the next page, q to quit without selection of a RAMDAC.\n"); - printf("\n"); - getstring(s); - - config_ramdac = NULL; - if (s[0] == 'q') - break; - - if (strlen(s) > 0) { - c = atoi(s)-1; - if (c >= 0 && c < NU_RAMDACS) { - config_ramdac = ramdac_id[atoi(s)-1]; - break; - } - } - - i += np; - if (np==12) np = 18; /* account intro lines only displayed 1st time */ - if (i >= NU_RAMDACS) - i = 0; - emptylines(); - } - -skipramdacselection: - emptylines(); - printf("%s", clockchipcomment_text); - - for (i = 0; i < NU_CLOCKCHIPS; i++) - printf("%2d %-60s%s\n", - i + 1, clockchip_name[i], clockchip_id[i]); - - printf("\n"); - - if (card_selected != -1) - if (card[card_selected].clockchip != NULL) - printf("The card definition has Clockchip \"%s\"\n\n", - card[card_selected].clockchip); - - printf("Just press enter if you don't want a Clockchip setting.\n"); - printf("What Clockchip setting do you want (1-%d)? ", NU_CLOCKCHIPS); - - getstring(s); - config_clockchip = NULL; - if (strlen(s) > 0) - config_clockchip = clockchip_id[atoi(s) - 1]; - - emptylines(); - - /* - * Optionally run X -probeonly to figure out the clocks. - */ - - config_numberofclockslines = 0; - - printf("%s", deviceclockscomment_text); - - printf("%s", deviceclocksquestion_text); -#endif - -#if 0 - /* - * XXX Change this to check for a CLOCKPROBE flag rather than an - * NOCLOCKPROBE. - */ - if (card_selected != -1) - if (card[card_selected].flags & NOCLOCKPROBE) - printf("The card definition says to NOT probe clocks.\n"); - - if (config_clockchip != NULL) { - printf("Because you have enabled a Clockchip line, there's no need for clock\n" - "probing.\n"); - keypress(); - goto skipclockprobing; - } - - printf("Do you want me to run 'X -probeonly' now? "); - getstring(s); - printf("\n"); - if (answerisyes(s)) { - /* - * Write temporary XF86Config and run X -probeonly. - * Only allow when root. - */ - FILE *f; - char *buf; - char syscmdline[2*256+100]; /* enough */ - char *fname = NULL; - char *d2name = NULL; - char *d3name = NULL; - - if (getuid() != 0) { - printf("Sorry, you must be root to do this.\n\n"); - goto endofprobeonly; - } - printf("%s", probeonlywarning_text); - keypress(); - fname = Malloc(strlen(temp_dir) + - strlen(TEMPORARY_XF86CONFIG_FILENAME) + 1); - sprintf(fname, "%s%s", temp_dir, - TEMPORARY_XF86CONFIG_FILENAME); - d2name = Malloc(strlen(temp_dir) + strlen(DUMBCONFIG2) + 1); - sprintf(d2name, "%s%s", temp_dir, DUMBCONFIG2); - d3name = Malloc(strlen(temp_dir) + strlen(DUMBCONFIG3) + 1); - sprintf(d3name, "%s%s", temp_dir, DUMBCONFIG3); - printf("Running X -probeonly -pn -xf86config %s.\n", fname); - write_XF86Config(fname); - sync(); - /* compose a line with the real path */ - sprintf(syscmdline, "X -probeonly -pn -xf86config %s 2> %s", - fname, d2name); - - if (system(syscmdline)) { - printf("X -probeonly call failed.\n"); - printf("No Clocks line inserted.\n"); - goto clocksprobefailed; - } - /* Look for 'clocks:' (case sensitive). */ - sprintf(syscmdline, "grep clocks\\: %s > %s", d2name, d3name); - if (system(syscmdline)) { - printf("grep failed.\n"); - printf("Cannot find clocks in server output.\n"); - goto clocksprobefailed; - } - f = fopen(d3name, "r"); - buf = Malloc(8192); - /* Parse lines. */ - while (fgets(buf, 8192, f) != NULL) { - char *clks; - clks = strstr(buf, "clocks: ") + 8; - if (clks >= buf + 3 && strcmp(clks - 11, "num") == 0) - /* Reject lines with 'numclocks:'. */ - continue; - if (clks >= buf + 8 && strcpy(clks - 14, "pixel ") == 0) - /* Reject lines with 'pixel clocks:'. */ - continue; - clks[strlen(clks) - 1] = '\0'; /* Remove '\n'. */ - config_clocksline[config_numberofclockslines] = - Malloc(strlen(clks) + 1); - strcpy(config_clocksline[config_numberofclockslines], - clks); - printf("Clocks %s\n", clks); - config_numberofclockslines++; - } - fclose(f); -clocksprobefailed: - unlink(d3name); - unlink(d2name); - unlink(fname); - printf("\n"); - -endofprobeonly: - keypress(); - } -skipclockprobing: -#endif - - /* - * For vga driver, no further configuration is required. - */ - if (card_selected == -1 || (card[card_selected].flags & UNSUPPORTED)) - return (0); - - /* - * Configure the modes order. - */ - config_virtual = 0; - for (;;) { - char modes[128]; - - emptylines(); - - printf("%s", modesorderintro_text); - printf("%s for 8-bit\n", config_modesline8bpp); - printf("%s for 16-bit\n", config_modesline16bpp); - printf("%s for 24-bit\n", config_modesline24bpp); - printf("\n"); - printf("%s", modesorder_text2); - - printf("Enter your choice: "); - getstring(s); - printf("\n"); - - c = atoi(s) - 1; - if (c < 0 || c >= 3) - break; - - printf("Select modes from the following list:\n\n"); - - for (i = 0; i < NU_MODESTRINGS; i++) - printf(" %c %s\n", i < 9 ? '1' + i : - 'a' + i - 9, - modestring[i]); - printf("\n"); - - printf("%s", modeslist_text); - - printf("Which modes? "); - getstring(s); - printf("\n"); - - modes[0] = '\0'; - for (i = 0; i < strlen(s); i++) { - if ( NU_MODESTRINGS > 9 ) { - if ((s[i] < '1' || s[i] > '9') && - (s[i] < 'a' || s[i] > 'a' + NU_MODESTRINGS - 10)) { - printf("Invalid mode skipped.\n"); - continue; - } - } - else { - if (s[i] < '1' || s[i] > '0' + NU_MODESTRINGS) { - printf("Invalid mode skipped.\n"); - continue; - } - } - if (i > 0) - strcat(modes, " "); - strcat(modes, modestring[s[i] <= '9' ? s[i] - '1' : - s[i] - 'a' + 9]); - } - switch (c) { - case 0 : - config_modesline8bpp = Malloc(strlen(modes) + 1); - strcpy(config_modesline8bpp, modes); - break; - case 1 : - config_modesline16bpp = Malloc(strlen(modes) + 1); - strcpy(config_modesline16bpp, modes); - break; - case 2 : - config_modesline24bpp = Malloc(strlen(modes) + 1); - strcpy(config_modesline24bpp, modes); - break; - } - - printf("%s", virtual_text); - - printf("Please answer the following question with either 'y' or 'n'.\n"); - printf("Do you want a virtual screen that is larger than the physical screen?"); - getstring(s); - if (answerisyes(s)) - config_virtual = 1; - } - return(0); -} - -static char *defaultdepthtext = -"Please specify which color depth you want to use by default:\n" -"\n"; - -static struct depth_str { - char *name; - char *desc; -} depth_list[] = { - { "1", "1 bit (monochrome)" }, - { "4", "4 bits (16 colors)" }, - { "8", "8 bits (256 colors)" }, - { "16", "16 bits (65536 colors)" }, - { "24", "24 bits (16 million colors)" } -}; - -static int ndepths = sizeof(depth_list)/sizeof(struct depth_str); - -static void -depth_configuration(void) -{ - int i; - char s[80]; - int depth; - - printf(defaultdepthtext); - for (i=0; i ndepths) ? 0 : i; - } - config_depth = depth_list[depth].name; -} - -/* - * Create the XF86Config file. - */ - -static char *XF86Config_firstchunk_text = -"# File generated by xorgconfig.\n" -"\n" -"#\n" -"# Copyright 2004 "XVENDORNAME"\n" -"#\n" -"# Permission is hereby granted, free of charge, to any person obtaining a\n" -"# copy of this software and associated documentation files (the \"Software\"),\n" -"# to deal in the Software without restriction, including without limitation\n" -"# the rights to use, copy, modify, merge, publish, distribute, sublicense,\n" -"# and/or sell copies of the Software, and to permit persons to whom the\n" -"# Software is furnished to do so, subject to the following conditions:\n" -"# \n" -"# The above copyright notice and this permission notice shall be included in\n" -"# all copies or substantial portions of the Software.\n" -"# \n" -"# THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n" -"# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n" -"# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL\n" -"# "XVENDORNAME" BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n" -"# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF\n" -"# OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n" -"# SOFTWARE.\n" -"# \n" -"# Except as contained in this notice, the name of "XVENDORNAME" shall\n" -"# not be used in advertising or otherwise to promote the sale, use or other\n" -"# dealings in this Software without prior written authorization from\n" -"# "XVENDORNAME".\n" -"#\n" -"\n" -"# **********************************************************************\n" -"# Refer to the " CONFIGNAME "(" FILEMANSUFFIX ") man page for details about the format of \n" -"# this file.\n" -"# **********************************************************************\n" -"\n" -"# **********************************************************************\n" -"# Module section -- this section is used to specify\n" -"# which dynamically loadable modules to load.\n" -"# **********************************************************************\n" -"#\n" -"Section \"Module\"\n" -"\n" -"# This loads the DBE extension module.\n" -"\n" -" Load \"dbe\" # Double buffer extension\n" -"\n" -"# This loads the miscellaneous extensions module, and disables\n" -"# initialisation of the XFree86-DGA extension within that module.\n" -" SubSection \"extmod\"\n" -" Option \"omit xfree86-dga\" # don't initialise the DGA extension\n" -" EndSubSection\n" -"\n" -"# This loads the font modules\n" -#ifdef HAS_TYPE1 -" Load \"type1\"\n" -#else -"# Load \"type1\"\n" -#endif -" Load \"freetype\"\n" -"# Load \"xtt\"\n" -"\n" -"# This loads the GLX module\n" -"# Load \"glx\"\n" -"# This loads the DRI module\n" -"# Load \"dri\"\n" -"\n" -"EndSection\n" -"\n" -"# **********************************************************************\n" -"# Files section. This allows default font and rgb paths to be set\n" -"# **********************************************************************\n" -"\n" -"Section \"Files\"\n" -"\n" -"# Multiple FontPath entries are allowed (which are concatenated together),\n" -"# as well as specifying multiple comma-separated entries in one FontPath\n" -"# command (or a combination of both methods)\n" -"# \n" -"\n"; - -static char *XF86Config_fontpaths[] = -{ -/* " FontPath \"" TREEROOTFONT "/75dpi/\"\n"*/ - "/local/", - "/misc/", - "/75dpi/:unscaled", - "/100dpi/:unscaled", - "/Type1/", - "/TrueType/", - "/freefont/", - "/75dpi/", - "/100dpi/", - 0 /* end of fontpaths */ -}; - -static char *XF86Config_fontpathchunk_text = - -"\n" -"# The module search path. The default path is shown here.\n" -"\n" -"# ModulePath \"" MODULEPATH "\"\n" -"\n" -"EndSection\n" -"\n" -"# **********************************************************************\n" -"# Server flags section.\n" -"# **********************************************************************\n" -"\n" -"Section \"ServerFlags\"\n" -"\n" -"# Uncomment this to cause a core dump at the spot where a signal is \n" -"# received. This may leave the console in an unusable state, but may\n" -"# provide a better stack trace in the core dump to aid in debugging\n" -"\n" -"# Option \"NoTrapSignals\"\n" -"\n" -"# Uncomment this to disable the VT switch sequence\n" -"# (where n is 1 through 12). This allows clients to receive these key\n" -"# events.\n" -"\n" -"# Option \"DontVTSwitch\"\n" -"\n" -"# Uncomment this to disable the server abort sequence\n" -"# This allows clients to receive this key event.\n" -"\n" -"# Option \"DontZap\"\n" -"\n" -"# Uncomment this to disable the / mode switching\n" -"# sequences. This allows clients to receive these key events.\n" -"\n" -"# Option \"Dont Zoom\"\n" -"\n" -"# Uncomment this to disable tuning with the xvidtune client. With\n" -"# it the client can still run and fetch card and monitor attributes,\n" -"# but it will not be allowed to change them. If it tries it will\n" -"# receive a protocol error.\n" -"\n" -"# Option \"DisableVidModeExtension\"\n" -"\n" -"# Uncomment this to enable the use of a non-local xvidtune client. \n" -"\n" -"# Option \"AllowNonLocalXvidtune\"\n" -"\n" -"# Uncomment this to disable dynamically modifying the input device\n" -"# (mouse and keyboard) settings. \n" -"\n" -"# Option \"DisableModInDev\"\n" -"\n" -"# Uncomment this to enable the use of a non-local client to\n" -"# change the keyboard or mouse settings (currently only xset).\n" -"\n" -"# Option \"AllowNonLocalModInDev\"\n" -"\n" -"EndSection\n" -"\n" -"# **********************************************************************\n" -"# Input devices\n" -"# **********************************************************************\n" -"\n" -"# **********************************************************************\n" -"# Core keyboard's InputDevice section\n" -"# **********************************************************************\n" -"\n" -"Section \"InputDevice\"\n" -"\n" -" Identifier \"Keyboard1\"\n" -" Driver \"kbd\"\n" -"\n" -" Option \"AutoRepeat\" \"500 30\"\n" -"\n" -"# Specify which keyboard LEDs can be user-controlled (eg, with xset(1))\n" -"# Option \"Xleds\" \"1 2 3\"\n" -"\n"; - -static char *keyboardchunk2_text = -"\n"; - -static char *keyboardchunk3_text = -"# To customise the XKB settings to suit your keyboard, modify the\n" -"# lines below (which are the defaults). For example, for a non-U.S.\n" -"# keyboard, you will probably want to use:\n" -"# Option \"XkbModel\" \"pc105\"\n" -"# If you have a US Microsoft Natural keyboard, you can use:\n" -"# Option \"XkbModel\" \"microsoft\"\n" -"#\n" -"# Then to change the language, change the Layout setting.\n" -"# For example, a german layout can be obtained with:\n" -"# Option \"XkbLayout\" \"de\"\n" -"# or:\n" -"# Option \"XkbLayout\" \"de\"\n" -"# Option \"XkbVariant\" \"nodeadkeys\"\n" -"#\n" -"# If you'd like to switch the positions of your capslock and\n" -"# control keys, use:\n" -"# Option \"XkbOptions\" \"ctrl:swapcaps\"\n" -"\n" -"# These are the default XKB settings for "__XSERVERNAME__"\n" -"# Option \"XkbRules\" \""__XKBDEFRULES__"\"\n" -"# Option \"XkbModel\" \"pc105\"\n" -"# Option \"XkbLayout\" \"us\"\n" -"# Option \"XkbVariant\" \"\"\n" -"# Option \"XkbOptions\" \"\"\n" -"\n"; - -static char *keyboardlastchunk_text = -"\n" -"EndSection\n" -"\n" -"\n"; - -static char *pointersection_text1 = -"# **********************************************************************\n" -"# Core Pointer's InputDevice section\n" -"# **********************************************************************\n" -"\n" -"Section \"InputDevice\"\n" -"\n" -"# Identifier and driver\n" -"\n" -#if defined(__UNIXWARE__) -"# Identifier \"Mouse1\"\n" -"# Driver \"mouse\"\n" -#else -" Identifier \"Mouse1\"\n" -" Driver \"mouse\"\n" -#endif -; - -static char *pointersection_text2 = -"\n" -"# Mouse-speed setting for PS/2 mouse.\n" -"\n" -"# Option \"Resolution\" \"256\"\n" -"\n" -"# Baudrate and SampleRate are only for some Logitech mice. In\n" -"# almost every case these lines should be omitted.\n" -"\n" -"# Option \"BaudRate\" \"9600\"\n" -"# Option \"SampleRate\" \"150\"\n" -"\n" -"# Mouse wheel mapping. Default is to map vertical wheel to buttons 4 & 5,\n" -"# horizontal wheel to buttons 6 & 7. Change if your mouse has more than\n" -"# 3 buttons and you need to map the wheel to different button ids to avoid\n" -"# conflicts.\n" -"\n" -" Option \"ZAxisMapping\" \"4 5 6 7\"\n" -"\n" -"# Emulate3Buttons is an option for 2-button mice\n" -"# Emulate3Timeout is the timeout in milliseconds (default is 50ms)\n" -"\n"; - - -static char *xinputsection_text = -"# **********************************************************************\n" -"# Other input device sections \n" -"# this is optional and is required only if you\n" -"# are using extended input devices. This is for example only. Refer\n" -"# to the " CONFIGNAME " man page for a description of the options.\n" -"# **********************************************************************\n" -"#\n" -"# Section \"InputDevice\" \n" -"# Identifier \"Mouse2\"\n" -"# Driver \"mouse\"\n" -"# Option \"Protocol\" \"MouseMan\"\n" -"# Option \"Device\" \"/dev/mouse2\"\n" -"# EndSection\n" -"#\n" -"# Section \"InputDevice\"\n" -"# Identifier \"spaceball\"\n" -"# Driver \"magellan\"\n" -"# Option \"Device\" \"/dev/cua0\"\n" -"# EndSection\n" -"#\n" -"# Section \"InputDevice\"\n" -"# Identifier \"spaceball2\"\n" -"# Driver \"spaceorb\"\n" -"# Option \"Device\" \"/dev/cua0\"\n" -"# EndSection\n" -"#\n" -"# Section \"InputDevice\"\n" -"# Identifier \"touchscreen0\"\n" -"# Driver \"microtouch\"\n" -"# Option \"Device\" \"/dev/ttyS0\"\n" -"# Option \"MinX\" \"1412\"\n" -"# Option \"MaxX\" \"15184\"\n" -"# Option \"MinY\" \"15372\"\n" -"# Option \"MaxY\" \"1230\"\n" -"# Option \"ScreenNumber\" \"0\"\n" -"# Option \"ReportingMode\" \"Scaled\"\n" -"# Option \"ButtonNumber\" \"1\"\n" -"# Option \"SendCoreEvents\"\n" -"# EndSection\n" -"#\n" -"# Section \"InputDevice\"\n" -"# Identifier \"touchscreen1\"\n" -"# Driver \"elo2300\"\n" -"# Option \"Device\" \"/dev/ttyS0\"\n" -"# Option \"MinX\" \"231\"\n" -"# Option \"MaxX\" \"3868\"\n" -"# Option \"MinY\" \"3858\"\n" -"# Option \"MaxY\" \"272\"\n" -"# Option \"ScreenNumber\" \"0\"\n" -"# Option \"ReportingMode\" \"Scaled\"\n" -"# Option \"ButtonThreshold\" \"17\"\n" -"# Option \"ButtonNumber\" \"1\"\n" -"# Option \"SendCoreEvents\"\n" -"# EndSection\n" -"\n"; - -static char *monitorsection_text1 = -"# **********************************************************************\n" -"# Monitor section\n" -"# **********************************************************************\n" -"\n" -"# Any number of monitor sections may be present\n" -"\n" -"Section \"Monitor\"\n" -"\n"; - -static char *monitorsection_text2 = -"# HorizSync is in kHz unless units are specified.\n" -"# HorizSync may be a comma separated list of discrete values, or a\n" -"# comma separated list of ranges of values.\n" -"# NOTE: THE VALUES HERE ARE EXAMPLES ONLY. REFER TO YOUR MONITOR\'S\n" -"# USER MANUAL FOR THE CORRECT NUMBERS.\n" -"\n"; - -static char *monitorsection_text3 = -"# HorizSync 30-64 # multisync\n" -"# HorizSync 31.5, 35.2 # multiple fixed sync frequencies\n" -"# HorizSync 15-25, 30-50 # multiple ranges of sync frequencies\n" -"\n" -"# VertRefresh is in Hz unless units are specified.\n" -"# VertRefresh may be a comma separated list of discrete values, or a\n" -"# comma separated list of ranges of values.\n" -"# NOTE: THE VALUES HERE ARE EXAMPLES ONLY. REFER TO YOUR MONITOR\'S\n" -"# USER MANUAL FOR THE CORRECT NUMBERS.\n" -"\n"; - -#if 0 -static char *monitorsection_text4 = -"# Modes can be specified in two formats. A compact one-line format, or\n" -"# a multi-line format.\n" -"\n" -"# These two are equivalent\n" -"\n" -"# ModeLine \"1024x768i\" 45 1024 1048 1208 1264 768 776 784 817 Interlace\n" -"\n" -"# Mode \"1024x768i\"\n" -"# DotClock 45\n" -"# HTimings 1024 1048 1208 1264\n" -"# VTimings 768 776 784 817\n" -"# Flags \"Interlace\"\n" -"# EndMode\n" -"\n"; - -static char *modelines_text = -"# This is a set of standard mode timings. Modes that are out of monitor spec\n" -"# are automatically deleted by the server (provided the HorizSync and\n" -"# VertRefresh lines are correct), so there's no immediate need to\n" -"# delete mode timings (unless particular mode timings don't work on your\n" -"# monitor). With these modes, the best standard mode that your monitor\n" -"# and video card can support for a given resolution is automatically\n" -"# used.\n" -"\n" -"# 640x400 @ 70 Hz, 31.5 kHz hsync\n" -"Modeline \"640x400\" 25.175 640 664 760 800 400 409 411 450\n" -"# 640x480 @ 60 Hz, 31.5 kHz hsync\n" -"Modeline \"640x480\" 25.175 640 664 760 800 480 491 493 525\n" -"# 800x600 @ 56 Hz, 35.15 kHz hsync\n" -"ModeLine \"800x600\" 36 800 824 896 1024 600 601 603 625\n" -"# 1024x768 @ 87 Hz interlaced, 35.5 kHz hsync\n" -"Modeline \"1024x768\" 44.9 1024 1048 1208 1264 768 776 784 817 Interlace\n" -"\n" -"# 640x400 @ 85 Hz, 37.86 kHz hsync\n" -"Modeline \"640x400\" 31.5 640 672 736 832 400 401 404 445 -HSync +VSync\n" -"# 640x480 @ 72 Hz, 36.5 kHz hsync\n" -"Modeline \"640x480\" 31.5 640 680 720 864 480 488 491 521\n" -"# 640x480 @ 75 Hz, 37.50 kHz hsync\n" -"ModeLine \"640x480\" 31.5 640 656 720 840 480 481 484 500 -HSync -VSync\n" -"# 800x600 @ 60 Hz, 37.8 kHz hsync\n" -"Modeline \"800x600\" 40 800 840 968 1056 600 601 605 628 +hsync +vsync\n" -"\n" -"# 640x480 @ 85 Hz, 43.27 kHz hsync\n" -"Modeline \"640x480\" 36 640 696 752 832 480 481 484 509 -HSync -VSync\n" -"# 1152x864 @ 89 Hz interlaced, 44 kHz hsync\n" -"ModeLine \"1152x864\" 65 1152 1168 1384 1480 864 865 875 985 Interlace\n" -"\n" -"# 800x600 @ 72 Hz, 48.0 kHz hsync\n" -"Modeline \"800x600\" 50 800 856 976 1040 600 637 643 666 +hsync +vsync\n" -"# 1024x768 @ 60 Hz, 48.4 kHz hsync\n" -"Modeline \"1024x768\" 65 1024 1032 1176 1344 768 771 777 806 -hsync -vsync\n" -"\n" -"# 640x480 @ 100 Hz, 53.01 kHz hsync\n" -"Modeline \"640x480\" 45.8 640 672 768 864 480 488 494 530 -HSync -VSync\n" -"# 1152x864 @ 60 Hz, 53.5 kHz hsync\n" -"Modeline \"1152x864\" 89.9 1152 1216 1472 1680 864 868 876 892 -HSync -VSync\n" -"# 800x600 @ 85 Hz, 55.84 kHz hsync\n" -"Modeline \"800x600\" 60.75 800 864 928 1088 600 616 621 657 -HSync -VSync\n" -"\n" -"# 1024x768 @ 70 Hz, 56.5 kHz hsync\n" -"Modeline \"1024x768\" 75 1024 1048 1184 1328 768 771 777 806 -hsync -vsync\n" -"# 1280x1024 @ 87 Hz interlaced, 51 kHz hsync\n" -"Modeline \"1280x1024\" 80 1280 1296 1512 1568 1024 1025 1037 1165 Interlace\n" -"\n" -"# 800x600 @ 100 Hz, 64.02 kHz hsync\n" -"Modeline \"800x600\" 69.65 800 864 928 1088 600 604 610 640 -HSync -VSync\n" -"# 1024x768 @ 76 Hz, 62.5 kHz hsync\n" -"Modeline \"1024x768\" 85 1024 1032 1152 1360 768 784 787 823\n" -"# 1152x864 @ 70 Hz, 62.4 kHz hsync\n" -"Modeline \"1152x864\" 92 1152 1208 1368 1474 864 865 875 895\n" -"# 1280x1024 @ 61 Hz, 64.2 kHz hsync\n" -"Modeline \"1280x1024\" 110 1280 1328 1512 1712 1024 1025 1028 1054\n" -"\n" -"# 1024x768 @ 85 Hz, 70.24 kHz hsync\n" -"Modeline \"1024x768\" 98.9 1024 1056 1216 1408 768 782 788 822 -HSync -VSync\n" -"# 1152x864 @ 78 Hz, 70.8 kHz hsync\n" -"Modeline \"1152x864\" 110 1152 1240 1324 1552 864 864 876 908\n" -"\n" -"# 1280x1024 @ 70 Hz, 74.59 kHz hsync\n" -"Modeline \"1280x1024\" 126.5 1280 1312 1472 1696 1024 1032 1040 1068 -HSync -VSync\n" -"# 1600x1200 @ 60Hz, 75.00 kHz hsync\n" -"Modeline \"1600x1200\" 162 1600 1664 1856 2160 1200 1201 1204 1250 +HSync +VSync\n" -"# 1152x864 @ 84 Hz, 76.0 kHz hsync\n" -"Modeline \"1152x864\" 135 1152 1464 1592 1776 864 864 876 908\n" -"\n" -"# 1280x1024 @ 74 Hz, 78.85 kHz hsync\n" -"Modeline \"1280x1024\" 135 1280 1312 1456 1712 1024 1027 1030 1064\n" -"\n" -"# 1024x768 @ 100Hz, 80.21 kHz hsync\n" -"Modeline \"1024x768\" 115.5 1024 1056 1248 1440 768 771 781 802 -HSync -VSync\n" -"# 1280x1024 @ 76 Hz, 81.13 kHz hsync\n" -"Modeline \"1280x1024\" 135 1280 1312 1416 1664 1024 1027 1030 1064\n" -"\n" -"# 1600x1200 @ 70 Hz, 87.50 kHz hsync\n" -"Modeline \"1600x1200\" 189 1600 1664 1856 2160 1200 1201 1204 1250 -HSync -VSync\n" -"# 1152x864 @ 100 Hz, 89.62 kHz hsync\n" -"Modeline \"1152x864\" 137.65 1152 1184 1312 1536 864 866 885 902 -HSync -VSync\n" -"# 1280x1024 @ 85 Hz, 91.15 kHz hsync\n" -"Modeline \"1280x1024\" 157.5 1280 1344 1504 1728 1024 1025 1028 1072 +HSync +VSync\n" -"# 1600x1200 @ 75 Hz, 93.75 kHz hsync\n" -"Modeline \"1600x1200\" 202.5 1600 1664 1856 2160 1200 1201 1204 1250 +HSync +VSync\n" -"# 1600x1200 @ 85 Hz, 105.77 kHz hsync\n" -"Modeline \"1600x1200\" 220 1600 1616 1808 2080 1200 1204 1207 1244 +HSync +VSync\n" -"# 1280x1024 @ 100 Hz, 107.16 kHz hsync\n" -"Modeline \"1280x1024\" 181.75 1280 1312 1440 1696 1024 1031 1046 1072 -HSync -VSync\n" -"\n" -"# 1800x1440 @ 64Hz, 96.15 kHz hsync \n" -"ModeLine \"1800X1440\" 230 1800 1896 2088 2392 1440 1441 1444 1490 +HSync +VSync\n" -"# 1800x1440 @ 70Hz, 104.52 kHz hsync \n" -"ModeLine \"1800X1440\" 250 1800 1896 2088 2392 1440 1441 1444 1490 +HSync +VSync\n" -"\n" -"# 512x384 @ 78 Hz, 31.50 kHz hsync\n" -"Modeline \"512x384\" 20.160 512 528 592 640 384 385 388 404 -HSync -VSync\n" -"# 512x384 @ 85 Hz, 34.38 kHz hsync\n" -"Modeline \"512x384\" 22 512 528 592 640 384 385 388 404 -HSync -VSync\n" -"\n" -#if XFREE86_VERSION >= 311 -"# Low-res Doublescan modes\n" -"# If your chipset does not support doublescan, you get a 'squashed'\n" -"# resolution like 320x400.\n" -"\n" -"# 320x200 @ 70 Hz, 31.5 kHz hsync, 8:5 aspect ratio\n" -"Modeline \"320x200\" 12.588 320 336 384 400 200 204 205 225 Doublescan\n" -"# 320x240 @ 60 Hz, 31.5 kHz hsync, 4:3 aspect ratio\n" -"Modeline \"320x240\" 12.588 320 336 384 400 240 245 246 262 Doublescan\n" -"# 320x240 @ 72 Hz, 36.5 kHz hsync\n" -"Modeline \"320x240\" 15.750 320 336 384 400 240 244 246 262 Doublescan\n" -"# 400x300 @ 56 Hz, 35.2 kHz hsync, 4:3 aspect ratio\n" -"ModeLine \"400x300\" 18 400 416 448 512 300 301 302 312 Doublescan\n" -"# 400x300 @ 60 Hz, 37.8 kHz hsync\n" -"Modeline \"400x300\" 20 400 416 480 528 300 301 303 314 Doublescan\n" -"# 400x300 @ 72 Hz, 48.0 kHz hsync\n" -"Modeline \"400x300\" 25 400 424 488 520 300 319 322 333 Doublescan\n" -"# 480x300 @ 56 Hz, 35.2 kHz hsync, 8:5 aspect ratio\n" -"ModeLine \"480x300\" 21.656 480 496 536 616 300 301 302 312 Doublescan\n" -"# 480x300 @ 60 Hz, 37.8 kHz hsync\n" -"Modeline \"480x300\" 23.890 480 496 576 632 300 301 303 314 Doublescan\n" -"# 480x300 @ 63 Hz, 39.6 kHz hsync\n" -"Modeline \"480x300\" 25 480 496 576 632 300 301 303 314 Doublescan\n" -"# 480x300 @ 72 Hz, 48.0 kHz hsync\n" -"Modeline \"480x300\" 29.952 480 504 584 624 300 319 322 333 Doublescan\n" -"\n" -#endif -; -#endif - -static char *devicesection_text = -"# **********************************************************************\n" -"# Graphics device section\n" -"# **********************************************************************\n" -"\n" -"# Any number of graphics device sections may be present\n" -"\n" -"# Standard VGA Device:\n" -"\n" -"Section \"Device\"\n" -" Identifier \"Standard VGA\"\n" -" VendorName \"Unknown\"\n" -" BoardName \"Unknown\"\n" -"\n" -"# The chipset line is optional in most cases. It can be used to override\n" -"# the driver's chipset detection, and should not normally be specified.\n" -"\n" -"# Chipset \"generic\"\n" -"\n" -"# The Driver line must be present. When using run-time loadable driver\n" -"# modules, this line instructs the server to load the specified driver\n" -"# module. Even when not using loadable driver modules, this line\n" -"# indicates which driver should interpret the information in this section.\n" -"\n" -" Driver \"vga\"\n" -"# The BusID line is used to specify which of possibly multiple devices\n" -"# this section is intended for. When this line isn't present, a device\n" -"# section can only match up with the primary video device. For PCI\n" -"# devices a line like the following could be used. This line should not\n" -"# normally be included unless there is more than one video device\n" -"# intalled.\n" -"\n" -"# BusID \"PCI:0:10:0\"\n" -"\n" -"# VideoRam 256\n" -"\n" -"# Clocks 25.2 28.3\n" -"\n" -"EndSection\n" -"\n" -"# Device configured by xorgconfig:\n" -"\n"; - -static char *screensection_text1 = -"# **********************************************************************\n" -"# Screen sections\n" -"# **********************************************************************\n" -"\n" -"# Any number of screen sections may be present. Each describes\n" -"# the configuration of a single screen. A single specific screen section\n" -"# may be specified from the X server command line with the \"-screen\"\n" -"# option.\n"; - -static char *serverlayout_section_text1 = -"# **********************************************************************\n" -"# ServerLayout sections.\n" -"# **********************************************************************\n" -"\n" -"# Any number of ServerLayout sections may be present. Each describes\n" -"# the way multiple screens are organised. A specific ServerLayout\n" -"# section may be specified from the X server command line with the\n" -"# \"-layout\" option. In the absence of this, the first section is used.\n" -"# When now ServerLayout section is present, the first Screen section\n" -"# is used alone.\n" -"\n" -"Section \"ServerLayout\"\n" -"\n" -"# The Identifier line must be present\n" -" Identifier \"Simple Layout\"\n" -"\n" -"# Each Screen line specifies a Screen section name, and optionally\n" -"# the relative position of other screens. The four names after\n" -"# primary screen name are the screens to the top, bottom, left and right\n" -"# of the primary screen. In this example, screen 2 is located to the\n" -"# right of screen 1.\n" -"\n"; - -static char *serverlayout_section_text2 = -"\n" -"# Each InputDevice line specifies an InputDevice section name and\n" -"# optionally some options to specify the way the device is to be\n" -"# used. Those options include \"CorePointer\", \"CoreKeyboard\" and\n" -"# \"SendCoreEvents\".\n" -"\n" -" InputDevice \"Mouse1\" \"CorePointer\"\n" -" InputDevice \"Keyboard1\" \"CoreKeyboard\"\n" -"\n" -"EndSection\n" -"\n" -"# Section \"DRI\"\n" -"# Mode 0666\n" -"# EndSection\n" -"\n"; - -static void -write_fontpath_section(FILE *f) -{ - /* this will create the Fontpath lines, but only after checking, - * that the corresponding dir exists (was THE absolute problem - * users had with XFree86/OS2 3.1.2D !) - */ - int i; - char cur[256+20],*colon, *hash; - -#ifdef COMPILEDDEFAULTFONTPATH - static const char dfp[] = COMPILEDDEFAULTFONTPATH; - const char *thisdir; - const char *nextdir; - int len; - - for (thisdir = dfp; thisdir != NULL; thisdir = nextdir) { - nextdir = strchr(thisdir, ','); - if (nextdir == NULL) { - len = strlen(thisdir); - } else { - len = nextdir - thisdir; - nextdir++; - } - if (len >= sizeof(cur)) - continue; - strncpy(cur, thisdir, len); - cur[len] = '\0'; - colon = strchr(cur+2,':'); /* OS/2: C:/...:scaled */ - if (colon) *colon = 0; - hash = exists_dir(cur) ? "" : "#"; - if (colon) *colon = ':'; - fprintf(f,"%s FontPath \"%s\"\n", hash, cur); - } -#endif - - for (i=0; XF86Config_fontpaths[i]; i++) { - strcpy(cur,TREEROOTFONT); - strcat(cur,XF86Config_fontpaths[i]); - /* remove a ':' */ - colon = strchr(cur+2,':'); /* OS/2: C:/...:scaled */ - if (colon) *colon = 0; -#ifdef COMPILEDDEFAULTFONTPATH - /* skip if we already added it as part of the default font path */ - if (strstr(dfp, cur) != NULL) - continue; -#endif - hash = exists_dir(cur) ? "" : "#"; - fprintf(f,"%s FontPath \"%s%s\"\n", - hash, - TREEROOTFONT, - XF86Config_fontpaths[i]); - } -} - -static int -write_XF86Config(char *filename) -{ - FILE *f; - - /* - * Write the file. - */ - - f = fopen(filename, "w"); - if (f == NULL) { - printf("Failed to open filename for writing.\n"); - if (getuid() != 0) - printf("Maybe you need to be root to write to the specified directory?\n"); - return(1); - } - - fprintf(f, "%s", XF86Config_firstchunk_text); - write_fontpath_section(f); - fprintf(f, "%s", XF86Config_fontpathchunk_text); - - /* - * Write keyboard section. - */ - if (config_altmeta) { - fprintf(f, " Option \"LeftAlt\" \"Meta\"\n"); - fprintf(f, " Option \"RightAlt\" \"ModeShift\"\n"); - } - else { - fprintf(f, "# Option \"LeftAlt\" \"Meta\"\n"); - fprintf(f, "# Option \"RightAlt\" \"ModeShift\"\n"); - } -#if defined(__OpenBSD__) && defined(WSCONS_SUPPORT) && !defined(PCVT_SUPPORT) - /* wscons keyoards need a protocol line */ - fprintf(f, " Option \"Protocol\" \"wskbd\"\n"); - fprintf(f, " Option \"Device\" \"%s\"\n", config_keyboard_dev); - fprintf(f, " Option \"XkbKeycodes\" \"wscons(ppc)\"\n"); -#endif - fprintf(f, "%s", keyboardchunk2_text); - - fprintf(f, "%s", keyboardchunk3_text); - if (config_xkbdisable) { - fprintf(f, " Option \"XkbDisable\"\n\n"); - } else { - fprintf(f, "# Option \"XkbDisable\"\n\n"); - } - fprintf(f, " Option \"XkbRules\" \"%s\"\n", - config_xkbrules); - fprintf(f, " Option \"XkbModel\" \"%s\"\n", - config_xkbmodel); - fprintf(f, " Option \"XkbLayout\" \"%s\"\n", - config_xkblayout); - if (config_xkbvariant) - fprintf(f, " Option \"XkbVariant\" \"%s\"\n", - config_xkbvariant); - if (config_xkboptions) - fprintf(f, " Option \"XkbOptions\" \"%s\"\n", - config_xkboptions); - - fprintf(f, "%s",keyboardlastchunk_text); - - /* - * Write pointer section. - */ - fprintf(f, "%s", pointersection_text1); - fprintf(f, " Option \"Protocol\" \"%s\"\t# %s\n", - mouse_info[config_mousetype].name, - mouse_info[config_mousetype].desc); -#if !defined(QNX4) - fprintf(f, " Option \"Device\" \"%s\"\n", config_pointerdevice); -#endif - fprintf(f, "%s", pointersection_text2); - if (!config_emulate3buttons) - fprintf(f, "#"); - fprintf(f, " Option \"Emulate3Buttons\"\n"); - fprintf(f, "# Option \"Emulate3Timeout\" \"50\"\n\n"); - fprintf(f, "# ChordMiddle is an option for some 3-button Logitech mice\n\n"); - if (!config_chordmiddle) - fprintf(f, "#"); - fprintf(f, " Option \"ChordMiddle\"\n\n"); - if (config_cleardtrrts) { - fprintf(f, " Option \"ClearDTR\"\n"); - fprintf(f, " Option \"ClearRTS\"\n\n"); - } - fprintf(f, "EndSection\n\n\n"); - - /* - * Write XInput sample section - */ - fprintf(f, "%s", xinputsection_text); - - /* - * Write monitor section. - */ - fprintf(f, "%s", monitorsection_text1); - fprintf(f, " Identifier \"%s\"\n", config_monitoridentifier); - fprintf(f, "\n"); - fprintf(f, "%s", monitorsection_text2); - fprintf(f, " HorizSync %s\n", config_hsyncrange); - fprintf(f, "\n"); - fprintf(f, "%s", monitorsection_text3); - fprintf(f, " VertRefresh %s\n", config_vsyncrange); - fprintf(f, "\n"); -#if 0 - fprintf(f, "%s", monitorsection_text4); - fprintf(f, "%s", modelines_text); -#endif - fprintf(f, "EndSection\n\n\n"); - - /* - * Write Device section. - */ - - fprintf(f, "%s", devicesection_text); - fprintf(f, "Section \"Device\"\n"); - fprintf(f, " Identifier \"%s\"\n", config_deviceidentifier); - if (card_selected != -1) { - fprintf(f, " Driver \"%s\"\n", card[card_selected].driver); - if (card[card_selected].flags & UNSUPPORTED) { - fprintf(f, " # unsupported card\n"); - } - } else { - fprintf(f, " Driver \"vga\"\n" - " # unsupported card\n"); - } - /* Rely on server to detect video memory. */ - fprintf(f, " #VideoRam %d\n", config_videomemory); - if (card_selected != -1) - /* Add comment lines from card definition. */ - fprintf(f, card[card_selected].lines); - if (config_ramdac != NULL) - fprintf(f, " Ramdac \"%s\"\n", config_ramdac); - if (card_selected != -1) - if (card[card_selected].dacspeed != NULL) - fprintf(f, " Dacspeed %s\n", - card[card_selected].dacspeed); - if (config_clockchip != NULL) - fprintf(f, " Clockchip \"%s\"\n", config_clockchip); - else - if (config_numberofclockslines == 0) - fprintf(f, " # Insert Clocks lines here if appropriate\n"); - else { - int i; - for (i = 0; i < config_numberofclockslines; i++) - fprintf(f, " Clocks %s\n", config_clocksline[i]); - } - fprintf(f, "EndSection\n\n\n"); - - /* - * Write Screen sections. - */ - - fprintf(f, "%s", screensection_text1); - - fprintf(f, - "Section \"Screen\"\n" - " Identifier \"Screen 1\"\n" - " Device \"%s\"\n" - " Monitor \"%s\"\n" - " DefaultDepth %s\n" - "\n" - " Subsection \"Display\"\n" - " Depth 8\n" - " Modes %s\n" - " ViewPort 0 0\n", - config_deviceidentifier, - config_monitoridentifier, - config_depth, - config_modesline8bpp); - if (config_virtual) - fprintf(f, " Virtual %d %d\n", - config_virtualx8bpp, config_virtualy8bpp); - fprintf(f, - " EndSubsection\n" - " Subsection \"Display\"\n" - " Depth 16\n" - " Modes %s\n" - " ViewPort 0 0\n", - config_modesline16bpp); - if (config_virtual) - fprintf(f, " Virtual %d %d\n", - config_virtualx16bpp, config_virtualy16bpp); - fprintf(f, - " EndSubsection\n" - " Subsection \"Display\"\n" - " Depth 24\n" - " Modes %s\n" - " ViewPort 0 0\n", - config_modesline24bpp); - if (config_virtual) - fprintf(f, " Virtual %d %d\n", - config_virtualx24bpp, config_virtualy24bpp); - fprintf(f, - " EndSubsection\n" - "EndSection\n" - "\n"); - - /* - * ServerLayout section - */ - - fprintf(f, serverlayout_section_text1); - /* replace with screen config */ - fprintf(f, " Screen \"Screen 1\"\n"); - - fprintf(f, serverlayout_section_text2); - - fclose(f); - return(0); -} - -static char * -append_version(char *name) -{ -#ifdef APPEND_VERSION_TO_CONFIG_NAME - char *ret = NULL; - - if (XF86_VERSION_MAJOR > 9 || XF86_VERSION_MAJOR < 0) - return name; - - ret = Malloc(strlen(name) + 2 + 1); - sprintf(ret, "%s-%d", name, XF86_VERSION_MAJOR); - free(name); - return ret; -#else - return name; -#endif -} - -/* - * Ask where to write XF86Config to. Returns filename. - */ - -static char * -ask_XF86Config_location(void) { - char s[80]; - char *filename = NULL; - - printf( -"I am going to write the " CONFIGNAME " file now. Make sure you don't accidently\n" -"overwrite a previously configured one.\n\n"); - - if (getuid() == 0) { -#ifdef PREFER_XF86CONFIG_IN_ETC - filename = Strdup("/etc/X11/" XCONFIGFILE); - filename = append_version(filename); - printf("Shall I write it to %s? ", filename); - getstring(s); - printf("\n"); - if (answerisyes(s)) - return filename; -#endif - - if (filename) - free(filename); - filename = Strdup(TREEROOTCFG "/" XCONFIGFILE); - filename = append_version(filename); - printf("Please answer the following question with either 'y' or 'n'.\n"); - printf("Shall I write it to the default location, %s? ", filename); - getstring(s); - printf("\n"); - if (answerisyes(s)) - return filename; - -#ifndef PREFER_XF86CONFIG_IN_ETC - if (filename) - free(filename); - filename = Strdup("/etc/X11/" XCONFIGFILE); - filename = append_version(filename); - printf("Shall I write it to %s? ", filename); - getstring(s); - printf("\n"); - if (answerisyes(s)) - return filename; -#endif - } - - if (filename) - free(filename); - filename = Strdup(XCONFIGFILE); - filename = append_version(filename); - printf("Do you want it written to the current directory as '%s'? ", filename); - getstring(s); - printf("\n"); - if (answerisyes(s)) { - return filename; - } - - printf("Please give a filename to write to: "); - getstring(s); - printf("\n"); - if (filename) - free(filename); - filename = Strdup(s); - return filename; -} - - -/* - * Check if an earlier version of XFree86 is installed; warn about proper - * search path order in that case. - */ - -static char *notinstalled_text = -"The directory " TREEROOT " does not exist. This probably means that you have\n" -"not yet installed the version of "__XSERVERNAME__" that this program was built\n" -"to configure. Please install "__XSERVERNAME__" "XVERSIONSTRING" before running this program,\n" -"following the instructions in the INSTALL or README that comes with the\n" -__XSERVERNAME__" distribution for your OS.\n" -"For a minimal installation it is sufficient to only install base binaries,\n" -"libraries, configuration files and a server that you want to use.\n" -"\n"; - -static char *oldxfree86_text = -"The directory '/usr/X386/bin' exists. You probably have a very old version of\n" -"XFree86 installed, but this program was built to configure "__XSERVERNAME__" "XVERSIONSTRING"\n" -"installed in '" TREEROOT "' instead of '/usr/X386'.\n" -"\n" -"It is important that the directory '" TREEROOT "' is present in your\n" -"search path, *before* any occurrence of '/usr/X386/bin'. If you have installed\n" -"X program binaries that are not in the base "__XSERVERNAME__" distribution in\n" -"'/usr/X386/bin', you can keep the directory in your path as long as it is\n" -"after '" TREEROOT "'.\n" -"\n"; - -static char *pathnote_text = -"Note that the X binary directory in your path may be a symbolic link.\n" -"In that case you could modify the symbolic link to point to the new binaries.\n" -"Example: 'rm -f /usr/bin/X11; ln -s /usr/X11R6/bin /usr/bin/X11', if the\n" -"link is '/usr/bin/X11'.\n" -"\n" -"Make sure the path is OK before continuing.\n"; - -static void -path_check(void) { - char s[80]; - int ok; - - ok = exists_dir(TREEROOT); - if (!ok) { - printf("%s", notinstalled_text); - printf("Do you want to continue? "); - getstring(s); - if (!answerisyes(s)) - exit(-1); - printf("\n"); - } - - ok = exists_dir("/usr/X386/bin"); - if (!ok) - return; - - printf("%s", oldxfree86_text); - printf("Your PATH is currently set as follows:\n%s\n\n", - getenv("PATH")); - printf("%s", pathnote_text); - keypress(); -} - - -static void -configdir_check(void) -{ - /* /etc/X11 may not exist on some systems */ - if (getuid() == 0) { - struct stat buf; - if (stat("/etc/X11", &buf) == -1 && errno == ENOENT) - mkdir("/etc/X11", 0777); - if (stat(TREEROOTCFG, &buf) == -1 && errno == ENOENT) - mkdir(TREEROOTCFG, 0777); - } -} - - -/* - * Program entry point. - */ - -int -main(int argc, char *argv[]) { - - createtmpdir(); - - emptylines(); - - printf("%s", intro_text); - - keypress(); - emptylines(); - - path_check(); - - emptylines(); - - configdir_check(); - - emptylines(); - - mouse_configuration(); - - emptylines(); - - keyboard_configuration(); - - emptylines(); - - monitor_configuration(); - - emptylines(); - - carddb_configuration(); - - emptylines(); - - while(screen_configuration()){}; - - emptylines(); - - depth_configuration(); - - emptylines(); - - while(write_XF86Config(ask_XF86Config_location())){}; - - printf("%s", finalcomment_text); - - exit(0); -} diff --git a/xorg-server/hw/xfree86/utils/xorgconfig/xorgconfig.man.pre b/xorg-server/hw/xfree86/utils/xorgconfig/xorgconfig.man.pre deleted file mode 100644 index b3d656cfa..000000000 --- a/xorg-server/hw/xfree86/utils/xorgconfig/xorgconfig.man.pre +++ /dev/null @@ -1,22 +0,0 @@ -.\" $XdotOrg: $ -.\" $XFree86: xc/programs/Xserver/hw/xfree86/xf86config/xorgconfig.man,v 1.5 2001/11/01 23:35:34 dawes Exp $ -.TH xorgconfig 1 __vendorversion__ -.SH NAME -xorgconfig \- generate an __XCONFIGFILE__ file -.SH SYNOPSIS -.B xorgconfig -.SH DESCRIPTION -\fIxorgconfig\fP is an interactive program for generating an __XCONFIGFILE__ file -for use with __XSERVERNAME__ X servers. -.PP -Note that the default name used by \fIxorgconfig\fP for the __XCONFIGFILE__ file -is system-dependent. For instance, on OS/2, XConfig is used. -.SH FILES -.TP -.I __projectroot__/lib/X11/Cards -Video cards database -.SH "SEE ALSO" -__XSERVERNAME__(1), __XCONFIGFILE__(__filemansuffix__), xorgcfg(1), reconfig(1) -.SH AUTHOR -Harm Hanemaayer. -.\" $TOG: xf86conf.man /main/9 1997/07/19 10:53:08 kaleb $ diff --git a/xorg-server/hw/xfree86/vbe/Makefile.in b/xorg-server/hw/xfree86/vbe/Makefile.in index 111ce5a46..6f935ed10 100644 --- a/xorg-server/hw/xfree86/vbe/Makefile.in +++ b/xorg-server/hw/xfree86/vbe/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -45,7 +45,6 @@ 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 \ @@ -71,9 +70,6 @@ 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) \ @@ -90,8 +86,9 @@ ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ -APPDEFAULTDIR = @APPDEFAULTDIR@ APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +APPLE_APPLICATION_ID = @APPLE_APPLICATION_ID@ +APPLE_APPLICATION_NAME = @APPLE_APPLICATION_NAME@ APP_MAN_DIR = @APP_MAN_DIR@ APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ AR = @AR@ @@ -112,10 +109,6 @@ 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@ @@ -137,6 +130,7 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOLT_BASH = @DOLT_BASH@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ @@ -146,18 +140,15 @@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ DSYMUTIL = @DSYMUTIL@ DTRACE = @DTRACE@ -ECHO = @ECHO@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ -FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ -FREETYPE_LIBS = @FREETYPE_LIBS@ GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ GLX_DEFINES = @GLX_DEFINES@ GL_CFLAGS = @GL_CFLAGS@ @@ -176,7 +167,7 @@ KDRIVE_LIBS = @KDRIVE_LIBS@ KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ -LAUNCHD = @LAUNCHD@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ LEX = @LEX@ @@ -190,7 +181,10 @@ LIBTOOL = @LIBTOOL@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LINUXDOC = @LINUXDOC@ +LIPO = @LIPO@ LN_S = @LN_S@ +LTCOMPILE = @LTCOMPILE@ +LTCXXCOMPILE = @LTCXXCOMPILE@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ @@ -202,8 +196,7 @@ MESA_SOURCE = @MESA_SOURCE@ MISC_MAN_DIR = @MISC_MAN_DIR@ MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ MKDIR_P = @MKDIR_P@ -MKFONTDIR = @MKFONTDIR@ -MKFONTSCALE = @MKFONTSCALE@ +NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCCLD = @OBJCCLD@ @@ -212,8 +205,8 @@ OBJCFLAGS = @OBJCFLAGS@ OBJCLINK = @OBJCLINK@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ @@ -246,7 +239,6 @@ VENDOR_NAME = @VENDOR_NAME@ VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ VENDOR_RELEASE = @VENDOR_RELEASE@ VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ XDMCP_CFLAGS = @XDMCP_CFLAGS@ @@ -256,27 +248,12 @@ XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@ XDMX_CFLAGS = @XDMX_CFLAGS@ XDMX_LIBS = @XDMX_LIBS@ XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ XEPHYR_INCS = @XEPHYR_INCS@ XEPHYR_LIBS = @XEPHYR_LIBS@ 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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ @@ -287,10 +264,6 @@ XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ XNEST_LIBS = @XNEST_LIBS@ XNEST_SYS_LIBS = @XNEST_SYS_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_INCS = @XORG_INCS@ XORG_LIBS = @XORG_LIBS@ @@ -299,13 +272,8 @@ XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ XORG_OS = @XORG_OS@ XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_LIBS@ +XPBPROXY_CFLAGS = @XPBPROXY_CFLAGS@ +XPBPROXY_LIBS = @XPBPROXY_LIBS@ XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ XSDL_INCS = @XSDL_INCS@ @@ -338,8 +306,7 @@ 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@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -359,7 +326,6 @@ driverdir = @driverdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ extdir = @extdir@ -ft_config = @ft_config@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ @@ -369,12 +335,12 @@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ -launchagentsdir = @launchagentsdir@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ logdir = @logdir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ moduledir = @moduledir@ @@ -392,8 +358,6 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ module_LTLIBRARIES = libvbe.la libvbe_la_LDFLAGS = -avoid-version libvbe_la_SOURCES = vbe.c vbeModes.c vbe_module.c @@ -410,8 +374,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ @@ -524,7 +488,7 @@ ID: $(HEADERS) $(SOURCES) $(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; nonemtpy = 1; } \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS diff --git a/xorg-server/hw/xfree86/vbe/vbe.c b/xorg-server/hw/xfree86/vbe/vbe.c index 8af1727cc..4986b5b29 100644 --- a/xorg-server/hw/xfree86/vbe/vbe.c +++ b/xorg-server/hw/xfree86/vbe/vbe.c @@ -1108,7 +1108,7 @@ VBEReadPanelID(vbeInfoPtr pVbe) { int RealOff = pVbe->real_mode_base; pointer page = pVbe->memory; - unsigned char *tmp = NULL; + void *tmp = NULL; int screen = pVbe->pInt10->scrnIndex; pVbe->pInt10->ax = 0x4F11; @@ -1129,8 +1129,8 @@ VBEReadPanelID(vbeInfoPtr pVbe) switch (pVbe->pInt10->ax & 0xff00) { case 0x0: xf86DrvMsgVerb(screen,X_INFO,3,"VESA VBE PanelID read successfully\n"); - tmp = (unsigned char *)xnfalloc(32); - memcpy(tmp,page,32); + tmp = xnfalloc(32); + memcpy(tmp, page, 32); break; case 0x100: xf86DrvMsgVerb(screen,X_INFO,3,"VESA VBE PanelID read failed\n"); diff --git a/xorg-server/hw/xfree86/vgahw/Makefile.in b/xorg-server/hw/xfree86/vgahw/Makefile.in index ab31d5354..65a593108 100644 --- a/xorg-server/hw/xfree86/vgahw/Makefile.in +++ b/xorg-server/hw/xfree86/vgahw/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -45,7 +45,6 @@ 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 \ @@ -71,9 +70,6 @@ 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) \ @@ -90,8 +86,9 @@ ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ -APPDEFAULTDIR = @APPDEFAULTDIR@ APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +APPLE_APPLICATION_ID = @APPLE_APPLICATION_ID@ +APPLE_APPLICATION_NAME = @APPLE_APPLICATION_NAME@ APP_MAN_DIR = @APP_MAN_DIR@ APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ AR = @AR@ @@ -112,10 +109,6 @@ 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@ @@ -137,6 +130,7 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOLT_BASH = @DOLT_BASH@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ @@ -146,18 +140,15 @@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ DSYMUTIL = @DSYMUTIL@ DTRACE = @DTRACE@ -ECHO = @ECHO@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ -FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ -FREETYPE_LIBS = @FREETYPE_LIBS@ GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ GLX_DEFINES = @GLX_DEFINES@ GL_CFLAGS = @GL_CFLAGS@ @@ -176,7 +167,7 @@ KDRIVE_LIBS = @KDRIVE_LIBS@ KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ -LAUNCHD = @LAUNCHD@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ LEX = @LEX@ @@ -190,7 +181,10 @@ LIBTOOL = @LIBTOOL@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LINUXDOC = @LINUXDOC@ +LIPO = @LIPO@ LN_S = @LN_S@ +LTCOMPILE = @LTCOMPILE@ +LTCXXCOMPILE = @LTCXXCOMPILE@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ @@ -202,8 +196,7 @@ MESA_SOURCE = @MESA_SOURCE@ MISC_MAN_DIR = @MISC_MAN_DIR@ MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ MKDIR_P = @MKDIR_P@ -MKFONTDIR = @MKFONTDIR@ -MKFONTSCALE = @MKFONTSCALE@ +NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCCLD = @OBJCCLD@ @@ -212,8 +205,8 @@ OBJCFLAGS = @OBJCFLAGS@ OBJCLINK = @OBJCLINK@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ @@ -246,7 +239,6 @@ VENDOR_NAME = @VENDOR_NAME@ VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ VENDOR_RELEASE = @VENDOR_RELEASE@ VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ XDMCP_CFLAGS = @XDMCP_CFLAGS@ @@ -256,27 +248,12 @@ XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@ XDMX_CFLAGS = @XDMX_CFLAGS@ XDMX_LIBS = @XDMX_LIBS@ XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ XEPHYR_INCS = @XEPHYR_INCS@ XEPHYR_LIBS = @XEPHYR_LIBS@ 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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ @@ -287,10 +264,6 @@ XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ XNEST_LIBS = @XNEST_LIBS@ XNEST_SYS_LIBS = @XNEST_SYS_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_INCS = @XORG_INCS@ XORG_LIBS = @XORG_LIBS@ @@ -299,13 +272,8 @@ XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ XORG_OS = @XORG_OS@ XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_LIBS@ +XPBPROXY_CFLAGS = @XPBPROXY_CFLAGS@ +XPBPROXY_LIBS = @XPBPROXY_LIBS@ XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ XSDL_INCS = @XSDL_INCS@ @@ -338,8 +306,7 @@ 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@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -359,7 +326,6 @@ driverdir = @driverdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ extdir = @extdir@ -ft_config = @ft_config@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ @@ -369,12 +335,12 @@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ -launchagentsdir = @launchagentsdir@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ logdir = @logdir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ moduledir = @moduledir@ @@ -392,8 +358,6 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ module_LTLIBRARIES = libvgahw.la libvgahw_la_LDFLAGS = -avoid-version libvgahw_la_SOURCES = vgaHW.c vgaHWmodule.c @@ -409,8 +373,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ @@ -522,7 +486,7 @@ ID: $(HEADERS) $(SOURCES) $(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; nonemtpy = 1; } \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS diff --git a/xorg-server/hw/xfree86/x86emu/Makefile.in b/xorg-server/hw/xfree86/x86emu/Makefile.in index 50e43896a..064228151 100644 --- a/xorg-server/hw/xfree86/x86emu/Makefile.in +++ b/xorg-server/hw/xfree86/x86emu/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -43,7 +43,6 @@ 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 \ @@ -62,9 +61,6 @@ 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) \ @@ -79,8 +75,9 @@ ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ -APPDEFAULTDIR = @APPDEFAULTDIR@ APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +APPLE_APPLICATION_ID = @APPLE_APPLICATION_ID@ +APPLE_APPLICATION_NAME = @APPLE_APPLICATION_NAME@ APP_MAN_DIR = @APP_MAN_DIR@ APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ AR = @AR@ @@ -101,10 +98,6 @@ 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@ @@ -126,6 +119,7 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOLT_BASH = @DOLT_BASH@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ @@ -135,18 +129,15 @@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ DSYMUTIL = @DSYMUTIL@ DTRACE = @DTRACE@ -ECHO = @ECHO@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ -FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ -FREETYPE_LIBS = @FREETYPE_LIBS@ GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ GLX_DEFINES = @GLX_DEFINES@ GL_CFLAGS = @GL_CFLAGS@ @@ -165,7 +156,7 @@ KDRIVE_LIBS = @KDRIVE_LIBS@ KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ -LAUNCHD = @LAUNCHD@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ LEX = @LEX@ @@ -179,7 +170,10 @@ LIBTOOL = @LIBTOOL@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LINUXDOC = @LINUXDOC@ +LIPO = @LIPO@ LN_S = @LN_S@ +LTCOMPILE = @LTCOMPILE@ +LTCXXCOMPILE = @LTCXXCOMPILE@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ @@ -191,8 +185,7 @@ MESA_SOURCE = @MESA_SOURCE@ MISC_MAN_DIR = @MISC_MAN_DIR@ MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ MKDIR_P = @MKDIR_P@ -MKFONTDIR = @MKFONTDIR@ -MKFONTSCALE = @MKFONTSCALE@ +NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCCLD = @OBJCCLD@ @@ -201,8 +194,8 @@ OBJCFLAGS = @OBJCFLAGS@ OBJCLINK = @OBJCLINK@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ @@ -235,7 +228,6 @@ VENDOR_NAME = @VENDOR_NAME@ VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ VENDOR_RELEASE = @VENDOR_RELEASE@ VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ XDMCP_CFLAGS = @XDMCP_CFLAGS@ @@ -245,27 +237,12 @@ XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@ XDMX_CFLAGS = @XDMX_CFLAGS@ XDMX_LIBS = @XDMX_LIBS@ XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ XEPHYR_INCS = @XEPHYR_INCS@ XEPHYR_LIBS = @XEPHYR_LIBS@ 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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ @@ -276,10 +253,6 @@ XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ XNEST_LIBS = @XNEST_LIBS@ XNEST_SYS_LIBS = @XNEST_SYS_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_INCS = @XORG_INCS@ XORG_LIBS = @XORG_LIBS@ @@ -288,13 +261,8 @@ XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ XORG_OS = @XORG_OS@ XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_LIBS@ +XPBPROXY_CFLAGS = @XPBPROXY_CFLAGS@ +XPBPROXY_LIBS = @XPBPROXY_LIBS@ XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ XSDL_INCS = @XSDL_INCS@ @@ -327,8 +295,7 @@ 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@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -348,7 +315,6 @@ driverdir = @driverdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ extdir = @extdir@ -ft_config = @ft_config@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ @@ -358,12 +324,12 @@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ -launchagentsdir = @launchagentsdir@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ logdir = @logdir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ moduledir = @moduledir@ @@ -381,8 +347,6 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ noinst_LIBRARIES = libx86emu.a libx86emu_a_SOURCES = debug.c \ decode.c \ @@ -416,8 +380,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ @@ -495,7 +459,7 @@ ID: $(HEADERS) $(SOURCES) $(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; nonemtpy = 1; } \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS diff --git a/xorg-server/hw/xfree86/x86emu/ops2.c b/xorg-server/hw/xfree86/x86emu/ops2.c index a1eda76d7..39bd0411d 100644 --- a/xorg-server/hw/xfree86/x86emu/ops2.c +++ b/xorg-server/hw/xfree86/x86emu/ops2.c @@ -110,7 +110,7 @@ Handles opcode 0x0f,0x80-0x8F static void x86emuOp2_long_jump(u8 op2) { s32 target; - char *name = 0; + char *name = NULL; int cond = 0; /* conditional jump to word offset. */ @@ -204,7 +204,7 @@ static void x86emuOp2_set_byte(u8 op2) int mod, rl, rh; uint destoffset; u8 *destreg; - char *name = 0; + char *name = NULL; int cond = 0; START_OF_INSTR(); diff --git a/xorg-server/hw/xfree86/x86emu/prim_ops.c b/xorg-server/hw/xfree86/x86emu/prim_ops.c index 41968e1a7..4a6ac5deb 100644 --- a/xorg-server/hw/xfree86/x86emu/prim_ops.c +++ b/xorg-server/hw/xfree86/x86emu/prim_ops.c @@ -103,7 +103,7 @@ #include "x86emu/x86emui.h" #if defined(__GNUC__) -# if defined (__i386__) || defined(__i386) || defined(__AMD64__) || defined(__x86_64__) || defined(__amd64__) || defined(__x86_64__) +# if defined (__i386__) || defined(__i386) || defined(__AMD64__) || defined(__amd64__) # include "x86emu/prim_x86_gcc.h" # endif #endif diff --git a/xorg-server/hw/xfree86/x86emu/sys.c b/xorg-server/hw/xfree86/x86emu/sys.c index 4d90ea315..e15fb0931 100644 --- a/xorg-server/hw/xfree86/x86emu/sys.c +++ b/xorg-server/hw/xfree86/x86emu/sys.c @@ -68,7 +68,7 @@ X86EMU_intrFuncs _X86EMU_intrTab[256]; * packed structures to talk about such things with. */ -#if defined(__GNUC__) && ((__GNUC__ > 2) || (__GNUC_MINOR__ >= 91)) +#if defined(__GNUC__) struct __una_u64 { unsigned long x __attribute__((packed)); }; struct __una_u32 { unsigned int x __attribute__((packed)); }; struct __una_u16 { unsigned short x __attribute__((packed)); }; @@ -76,7 +76,7 @@ struct __una_u16 { unsigned short x __attribute__((packed)); }; static __inline__ unsigned long ldq_u(unsigned long * r11) { -#if defined(__GNUC__) && ((__GNUC__ > 2) || (__GNUC_MINOR__ >= 91)) +#if defined(__GNUC__) const struct __una_u64 *ptr = (const struct __una_u64 *) r11; return ptr->x; #else @@ -95,7 +95,7 @@ static __inline__ unsigned long ldq_u(unsigned long * r11) static __inline__ unsigned long ldl_u(unsigned int * r11) { -#if defined(__GNUC__) && ((__GNUC__ > 2) || (__GNUC_MINOR__ >= 91)) +#if defined(__GNUC__) const struct __una_u32 *ptr = (const struct __una_u32 *) r11; return ptr->x; #else @@ -114,7 +114,7 @@ static __inline__ unsigned long ldl_u(unsigned int * r11) static __inline__ unsigned long ldw_u(unsigned short * r11) { -#if defined(__GNUC__) && ((__GNUC__ > 2) || (__GNUC_MINOR__ >= 91)) +#if defined(__GNUC__) const struct __una_u16 *ptr = (const struct __una_u16 *) r11; return ptr->x; #else @@ -137,7 +137,7 @@ static __inline__ unsigned long ldw_u(unsigned short * r11) static __inline__ void stq_u(unsigned long r5, unsigned long * r11) { -#if defined(__GNUC__) && ((__GNUC__ > 2) || (__GNUC_MINOR__ >= 91)) +#if defined(__GNUC__) struct __una_u64 *ptr = (struct __una_u64 *) r11; ptr->x = r5; #else @@ -162,7 +162,7 @@ static __inline__ void stq_u(unsigned long r5, unsigned long * r11) static __inline__ void stl_u(unsigned long r5, unsigned int * r11) { -#if defined(__GNUC__) && ((__GNUC__ > 2) || (__GNUC_MINOR__ >= 91)) +#if defined(__GNUC__) struct __una_u32 *ptr = (struct __una_u32 *) r11; ptr->x = r5; #else @@ -187,7 +187,7 @@ static __inline__ void stl_u(unsigned long r5, unsigned int * r11) static __inline__ void stw_u(unsigned long r5, unsigned short * r11) { -#if defined(__GNUC__) && ((__GNUC__ > 2) || (__GNUC_MINOR__ >= 91)) +#if defined(__GNUC__) struct __una_u16 *ptr = (struct __una_u16 *) r11; ptr->x = r5; #else @@ -209,60 +209,6 @@ static __inline__ void stw_u(unsigned long r5, unsigned short * r11) :"r" (r5), "r" (r11)); #endif } - -#elif defined(__GNUC__) && ((__GNUC__ < 3)) && \ - (defined (__ia64__) || defined (ia64__)) -#define IA64_UALOADS -/* - * EGCS 1.1 knows about arbitrary unaligned loads. Define some - * packed structures to talk about such things with. - */ -struct __una_u64 { unsigned long x __attribute__((packed)); }; -struct __una_u32 { unsigned int x __attribute__((packed)); }; -struct __una_u16 { unsigned short x __attribute__((packed)); }; - -static __inline__ unsigned long -__uldq (const unsigned long * r11) -{ - const struct __una_u64 *ptr = (const struct __una_u64 *) r11; - return ptr->x; -} - -static __inline__ unsigned long -uldl (const unsigned int * r11) -{ - const struct __una_u32 *ptr = (const struct __una_u32 *) r11; - return ptr->x; -} - -static __inline__ unsigned long -uldw (const unsigned short * r11) -{ - const struct __una_u16 *ptr = (const struct __una_u16 *) r11; - return ptr->x; -} - -static __inline__ void -ustq (unsigned long r5, unsigned long * r11) -{ - struct __una_u64 *ptr = (struct __una_u64 *) r11; - ptr->x = r5; -} - -static __inline__ void -ustl (unsigned long r5, unsigned int * r11) -{ - struct __una_u32 *ptr = (struct __una_u32 *) r11; - ptr->x = r5; -} - -static __inline__ void -ustw (unsigned long r5, unsigned short * r11) -{ - struct __una_u16 *ptr = (struct __una_u16 *) r11; - ptr->x = r5; -} - #endif /**************************************************************************** diff --git a/xorg-server/hw/xfree86/x86emu/x86emu/prim_x86_gcc.h b/xorg-server/hw/xfree86/x86emu/x86emu/prim_x86_gcc.h index 5a443cdbf..5530a3ada 100644 --- a/xorg-server/hw/xfree86/x86emu/x86emu/prim_x86_gcc.h +++ b/xorg-server/hw/xfree86/x86emu/x86emu/prim_x86_gcc.h @@ -42,7 +42,7 @@ #include "x86emu/types.h" -#if !defined(__GNUC__) || !(defined (__i386__) || defined(__i386) || defined(__AMD64__) || defined(__x86_64__) || defined(__amd64__) || defined(__x86_64__)) +#if !defined(__GNUC__) || !(defined (__i386__) || defined(__i386) || defined(__AMD64__) || defined(__amd64__)) #error This file is intended to be used by gcc on i386 or x86-64 system #endif diff --git a/xorg-server/hw/xfree86/x86emu/x86emu/types.h b/xorg-server/hw/xfree86/x86emu/x86emu/types.h index 2d41b0f18..c18e11cfb 100644 --- a/xorg-server/hw/xfree86/x86emu/x86emu/types.h +++ b/xorg-server/hw/xfree86/x86emu/x86emu/types.h @@ -74,9 +74,8 @@ defined(__ia64__) || defined(ia64) || \ defined(__sparc64__) || \ defined(__s390x__) || \ - (defined(__hppa__) && defined(__LP64)) || \ - defined(__amd64__) || defined(amd64) || defined(__x86_64__) || \ - (defined(__sgi) && (_MIPS_SZLONG == 64)) + defined(__hppa__) && defined(__LP64) || \ + defined(__amd64__) || defined(amd64) #define NUM32 int #else #define NUM32 long diff --git a/xorg-server/hw/xfree86/xaa/Makefile.am b/xorg-server/hw/xfree86/xaa/Makefile.am index bd8267ad8..e9f5e687c 100644 --- a/xorg-server/hw/xfree86/xaa/Makefile.am +++ b/xorg-server/hw/xfree86/xaa/Makefile.am @@ -67,8 +67,8 @@ DISTCLEANFILES = $(POLYSEG) \ sdk_HEADERS = xaa.h xaalocal.h xaarop.h xaaWrapper.h EXTRA_DIST = xaacexp.h xaawrap.h xaaLine.c xaaDashLine.c \ xaaStipple.c xaaTEGlyph.c xaaNonTEGlyph.c xaaBitmap.c \ - xaaTEGlyphBlt.S XAA.HOWTO + XAA.HOWTO -INCLUDES = $(XORG_INCS) +INCLUDES = $(XORG_INCS) -I$(srcdir)/../../../miext/cw AM_CFLAGS = $(DIX_CFLAGS) $(XORG_CFLAGS) diff --git a/xorg-server/hw/xfree86/xaa/Makefile.in b/xorg-server/hw/xfree86/xaa/Makefile.in index bea296fa0..2dc04250e 100644 --- a/xorg-server/hw/xfree86/xaa/Makefile.in +++ b/xorg-server/hw/xfree86/xaa/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -45,7 +45,6 @@ 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 \ @@ -91,9 +90,6 @@ 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) \ @@ -110,8 +106,9 @@ ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ -APPDEFAULTDIR = @APPDEFAULTDIR@ APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +APPLE_APPLICATION_ID = @APPLE_APPLICATION_ID@ +APPLE_APPLICATION_NAME = @APPLE_APPLICATION_NAME@ APP_MAN_DIR = @APP_MAN_DIR@ APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ AR = @AR@ @@ -132,10 +129,6 @@ 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@ @@ -157,6 +150,7 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOLT_BASH = @DOLT_BASH@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ @@ -166,18 +160,15 @@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ DSYMUTIL = @DSYMUTIL@ DTRACE = @DTRACE@ -ECHO = @ECHO@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ -FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ -FREETYPE_LIBS = @FREETYPE_LIBS@ GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ GLX_DEFINES = @GLX_DEFINES@ GL_CFLAGS = @GL_CFLAGS@ @@ -196,7 +187,7 @@ KDRIVE_LIBS = @KDRIVE_LIBS@ KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ -LAUNCHD = @LAUNCHD@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ LEX = @LEX@ @@ -210,7 +201,10 @@ LIBTOOL = @LIBTOOL@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LINUXDOC = @LINUXDOC@ +LIPO = @LIPO@ LN_S = @LN_S@ +LTCOMPILE = @LTCOMPILE@ +LTCXXCOMPILE = @LTCXXCOMPILE@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ @@ -222,8 +216,7 @@ MESA_SOURCE = @MESA_SOURCE@ MISC_MAN_DIR = @MISC_MAN_DIR@ MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ MKDIR_P = @MKDIR_P@ -MKFONTDIR = @MKFONTDIR@ -MKFONTSCALE = @MKFONTSCALE@ +NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCCLD = @OBJCCLD@ @@ -232,8 +225,8 @@ OBJCFLAGS = @OBJCFLAGS@ OBJCLINK = @OBJCLINK@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ @@ -266,7 +259,6 @@ VENDOR_NAME = @VENDOR_NAME@ VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ VENDOR_RELEASE = @VENDOR_RELEASE@ VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ XDMCP_CFLAGS = @XDMCP_CFLAGS@ @@ -276,27 +268,12 @@ XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@ XDMX_CFLAGS = @XDMX_CFLAGS@ XDMX_LIBS = @XDMX_LIBS@ XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ XEPHYR_INCS = @XEPHYR_INCS@ XEPHYR_LIBS = @XEPHYR_LIBS@ 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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ @@ -307,10 +284,6 @@ XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ XNEST_LIBS = @XNEST_LIBS@ XNEST_SYS_LIBS = @XNEST_SYS_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_INCS = @XORG_INCS@ XORG_LIBS = @XORG_LIBS@ @@ -319,13 +292,8 @@ XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ XORG_OS = @XORG_OS@ XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_LIBS@ +XPBPROXY_CFLAGS = @XPBPROXY_CFLAGS@ +XPBPROXY_LIBS = @XPBPROXY_LIBS@ XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ XSDL_INCS = @XSDL_INCS@ @@ -358,8 +326,7 @@ 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@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -379,7 +346,6 @@ driverdir = @driverdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ extdir = @extdir@ -ft_config = @ft_config@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ @@ -389,12 +355,12 @@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ -launchagentsdir = @launchagentsdir@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ logdir = @logdir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ moduledir = @moduledir@ @@ -412,8 +378,6 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ LSB_FIRST = l-xaaBitmap.c l-xaaStipple.c l-xaaTEGlyph.c LSB_3_FIRST = l3-xaaBitmap.c l3-xaaStipple.c MSB_FIRST = m-xaaBitmap.c m-xaaStipple.c m-xaaTEGlyph.c @@ -444,9 +408,9 @@ DISTCLEANFILES = $(POLYSEG) \ sdk_HEADERS = xaa.h xaalocal.h xaarop.h xaaWrapper.h EXTRA_DIST = xaacexp.h xaawrap.h xaaLine.c xaaDashLine.c \ xaaStipple.c xaaTEGlyph.c xaaNonTEGlyph.c xaaBitmap.c \ - xaaTEGlyphBlt.S XAA.HOWTO + XAA.HOWTO -INCLUDES = $(XORG_INCS) +INCLUDES = $(XORG_INCS) -I$(srcdir)/../../../miext/cw AM_CFLAGS = $(DIX_CFLAGS) $(XORG_CFLAGS) all: all-am @@ -456,8 +420,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ @@ -620,7 +584,7 @@ ID: $(HEADERS) $(SOURCES) $(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; nonemtpy = 1; } \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS diff --git a/xorg-server/hw/xfree86/xaa/xaa.h b/xorg-server/hw/xfree86/xaa/xaa.h index 1dc7ed2d5..d6ccc31e2 100644 --- a/xorg-server/hw/xfree86/xaa/xaa.h +++ b/xorg-server/hw/xfree86/xaa/xaa.h @@ -2,6 +2,10 @@ #ifndef _XAA_H #define _XAA_H +#define XAA_VERSION_MAJOR 1 +#define XAA_VERSION_MINOR 2 +#define XAA_VERSION_RELEASE 1 + /* ******** OPERATION SPECIFIC FLAGS ********* diff --git a/xorg-server/hw/xfree86/xaa/xaaCpyPlane.c b/xorg-server/hw/xfree86/xaa/xaaCpyPlane.c index cd9e9d47f..aa4c0407c 100644 --- a/xorg-server/hw/xfree86/xaa/xaaCpyPlane.c +++ b/xorg-server/hw/xfree86/xaa/xaaCpyPlane.c @@ -110,12 +110,12 @@ XAACopyPlaneNtoNColorExpand( int Bpp = pSrc->bitsPerPixel >> 3; unsigned long mask = TmpBitPlane; - if(TmpBitPlane < 8) { + if(TmpBitPlane < (1 << 8)) { offset = 0; - } else if(TmpBitPlane < 16) { + } else if(TmpBitPlane < (1 << 16)) { offset = 1; mask >>= 8; - } else if(TmpBitPlane < 24) { + } else if(TmpBitPlane < (1 << 24)) { offset = 2; mask >>= 16; } else { @@ -131,11 +131,9 @@ XAACopyPlaneNtoNColorExpand( h = height = pbox->y2 - pbox->y1; pitch = BitmapBytePad(width); - if(!(data = xalloc(height * pitch))) + if(!(data = xcalloc(height, pitch))) goto ALLOC_FAILED; - bzero(data, height * pitch); - dataPtr = data; srcPtr = ((pptSrc->y) * srcwidth) + src + ((pptSrc->x) * Bpp) + offset; diff --git a/xorg-server/hw/xfree86/xaa/xaaInit.c b/xorg-server/hw/xfree86/xaa/xaaInit.c index 22a35a0a0..8d3833e5a 100644 --- a/xorg-server/hw/xfree86/xaa/xaaInit.c +++ b/xorg-server/hw/xfree86/xaa/xaaInit.c @@ -19,6 +19,9 @@ #include "xaawrap.h" #include "xf86fbman.h" #include "servermd.h" +#ifdef COMPOSITE +#include "cw.h" +#endif #define MAX_PREALLOC_MEM 65536 /* MUST be >= 1024 */ @@ -39,9 +42,12 @@ static int XAASetDGAMode(int index, int num, DGADevicePtr devRet); static void XAAEnableDisableFBAccess (int index, Bool enable); static Bool XAAChangeWindowAttributes (WindowPtr pWin, unsigned long mask); -static DevPrivateKey XAAScreenKey = &XAAScreenKey; -static DevPrivateKey XAAGCKey = &XAAGCKey; -static DevPrivateKey XAAPixmapKey = &XAAPixmapKey; +static int XAAScreenKeyIndex; +static DevPrivateKey XAAScreenKey = &XAAScreenKeyIndex; +static int XAAGCKeyIndex; +static DevPrivateKey XAAGCKey = &XAAGCKeyIndex; +static int XAAPixmapKeyIndex; +static DevPrivateKey XAAPixmapKey = &XAAPixmapKeyIndex; DevPrivateKey XAAGetScreenKey(void) { return XAAScreenKey; diff --git a/xorg-server/hw/xfree86/xaa/xaaInitAccel.c b/xorg-server/hw/xfree86/xaa/xaaInitAccel.c index 00483e3ed..3b397dc4a 100644 --- a/xorg-server/hw/xfree86/xaa/xaaInitAccel.c +++ b/xorg-server/hw/xfree86/xaa/xaaInitAccel.c @@ -16,8 +16,6 @@ #include "xf86fbman.h" #include "servermd.h" -static const OptionInfoRec *XAAAvailableOptions(void *unused); - /* * XAA Config options */ @@ -103,7 +101,9 @@ static XF86ModuleVersionInfo xaaVersRec = MODINFOSTRING1, MODINFOSTRING2, XORG_VERSION_CURRENT, - 1, 2, 0, + XAA_VERSION_MAJOR, + XAA_VERSION_MINOR, + XAA_VERSION_RELEASE, ABI_CLASS_VIDEODRV, /* requires the video driver ABI */ ABI_VIDEODRV_VERSION, MOD_CLASS_NONE, @@ -112,13 +112,6 @@ static XF86ModuleVersionInfo xaaVersRec = _X_EXPORT XF86ModuleData xaaModuleData = { &xaaVersRec, NULL, NULL }; -/*ARGSUSED*/ -static const OptionInfoRec * -XAAAvailableOptions(void *unused) -{ - return (XAAOptions); -} - Bool XAAInitAccel(ScreenPtr pScreen, XAAInfoRecPtr infoRec) { diff --git a/xorg-server/hw/xfree86/xaa/xaaNonTEText.c b/xorg-server/hw/xfree86/xaa/xaaNonTEText.c index d4661e879..d32c0bbc5 100644 --- a/xorg-server/hw/xfree86/xaa/xaaNonTEText.c +++ b/xorg-server/hw/xfree86/xaa/xaaNonTEText.c @@ -291,8 +291,7 @@ PolyGlyphBltAsSingleBitmap ( pitch = (Right - Left + 31) >> 5; size = (pitch << 2) * (Bottom - Top); - block = (CARD32*)xalloc(size); - bzero(block, size); + block = xcalloc(1, size); topLine = 10000; botLine = -10000; diff --git a/xorg-server/hw/xfree86/xaa/xaaOverlayDF.c b/xorg-server/hw/xfree86/xaa/xaaOverlayDF.c index 64ca998ee..8db816e1e 100644 --- a/xorg-server/hw/xfree86/xaa/xaaOverlayDF.c +++ b/xorg-server/hw/xfree86/xaa/xaaOverlayDF.c @@ -151,7 +151,8 @@ typedef struct { int (*TiledFillChooser)(GCPtr); } XAAOverlayRec, *XAAOverlayPtr; -static DevPrivateKey XAAOverlayKey = &XAAOverlayKey; +static int XAAOverlayKeyIndex; +static DevPrivateKey XAAOverlayKey = &XAAOverlayKeyIndex; #define GET_OVERLAY_PRIV(pScreen) \ (XAAOverlayPtr)dixLookupPrivate(&(pScreen)->devPrivates, XAAOverlayKey) diff --git a/xorg-server/hw/xfree86/xaa/xaaStateChange.c b/xorg-server/hw/xfree86/xaa/xaaStateChange.c index 443bda628..57d8aa318 100644 --- a/xorg-server/hw/xfree86/xaa/xaaStateChange.c +++ b/xorg-server/hw/xfree86/xaa/xaaStateChange.c @@ -274,7 +274,8 @@ typedef struct _XAAStateWrapRec { #endif } XAAStateWrapRec, *XAAStateWrapPtr; -static DevPrivateKey XAAStateKey = &XAAStateKey; +static int XAAStateKeyIndex; +static DevPrivateKey XAAStateKey = &XAAStateKeyIndex; /* Wrap functions start here */ #define GET_STATEPRIV_GC(pGC) XAAStateWrapPtr pStatePriv =\ diff --git a/xorg-server/hw/xfree86/xaa/xaaTEGlyphBlt.S b/xorg-server/hw/xfree86/xaa/xaaTEGlyphBlt.S deleted file mode 100644 index 5f3137f45..000000000 --- a/xorg-server/hw/xfree86/xaa/xaaTEGlyphBlt.S +++ /dev/null @@ -1,964 +0,0 @@ -/* - * Copyright 1996 The XFree86 Project - * - * 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 - * HARM HANEMAAYER 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. - * - * Written by Harm Hanemaayer (H.Hanemaayer@inter.nl.net). - */ -/* $XFree86: xc/programs/Xserver/hw/xfree86/xaa/xaaTEGlyphBlt.S,v 1.1 1999/07/10 07:24:54 dawes Exp $ */ - - -/* - * Intel Pentium-optimized versions of "terminal emulator font" text - * bitmap transfer routines. - * - * SCANLINE_PAD_DWORD. - * - * Only for glyphs with a fixed width of 6 pixels or 8 pixels. - */ - -#include "assyntax.h" - -#ifndef QNX4 - FILE("xaaTEGlyphBlt.s") -#else - FILE( __FILE__ ) -#endif - - AS_BEGIN - -/* - * Definition of stack frame function arguments. - * All functions have the same arguments (some don't have glyphwidth, - * but that's OK, since it comes last and doesn't affect the offset - * of the other arguments). - */ - -#define base_arg REGOFF(20,ESP) -#define glyphp_arg REGOFF(24,ESP) -#define line_arg REGOFF(28,ESP) -#define width_arg REGOFF(32,ESP) -#define glyphwidth_arg REGOFF(36,ESP) - -#define BYTE_REVERSED GLNAME(byte_reversed) - -/* I assume %eax and %edx can be trashed. */ - - SEG_TEXT - - ALIGNTEXT4 - -#ifdef FIXEDBASE -# ifdef MSBFIRST - GLOBL GLNAME(DrawTETextScanlineWidth6PMSBFirstFixedBase) -GLNAME(DrawTETextScanlineWidth6PMSBFirstFixedBase): -# else - GLOBL GLNAME(DrawTETextScanlineWidth6PLSBFirstFixedBase) -GLNAME(DrawTETextScanlineWidth6PLSBFirstFixedBase): -# endif -#else -# ifdef MSBFIRST - GLOBL GLNAME(DrawTETextScanlineWidth6PMSBFirst) -GLNAME(DrawTETextScanlineWidth6PMSBFirst): -# else - GLOBL GLNAME(DrawTETextScanlineWidth6PLSBFirst) -GLNAME(DrawTETextScanlineWidth6PLSBFirst): -# endif -#endif - -/* Definition of stack frame function arguments. */ - -#define base_arg REGOFF(20,ESP) -#define glyphp_arg REGOFF(24,ESP) -#define line_arg REGOFF(28,ESP) -#define width_arg REGOFF(32,ESP) - - SUB_L (CONST(16),ESP) - MOV_L (EBP,REGOFF(12,ESP)) /* PUSH EBP */ - MOV_L (EBX,REGOFF(8,ESP)) /* PUSH EBX */ - MOV_L (ESI,REGOFF(4,ESP)) /* PUSH ESI */ - MOV_L (EDI,REGOFF(0,ESP)) /* PUSH EDI */ - - MOV_L (line_arg,EBP) - MOV_L (base_arg,EDI) - MOV_L (glyphp_arg,ESI) - - ALIGNTEXT4 - -.L6_1: - /* Pentium-optimized instruction pairing. */ - /* EBX = bits = glyph[0][line] */ - MOV_L (REGOFF(4,ESI),EDX) /* glyphp[1] */ - MOV_L (REGIND(ESI),EBX) /* glyphp[0] */ - MOV_L (REGBISD(EDX,EBP,4,0),EDX) /* glyphp[1][line] */ - MOV_L (REGBISD(EBX,EBP,4,0),EBX) /* glyphp[0][line] */ - SAL_L (CONST(6),EDX) /* glyphp[1][line] << 6 */ - MOV_L (REGOFF(8,ESI),ECX) /* glyphp[2] */ - MOV_L (REGOFF(12,ESI),EAX) /* glyphp[3] */ - MOV_L (REGBISD(ECX,EBP,4,0),ECX) /* glyphp[2][line] */ - MOV_L (REGBISD(EAX,EBP,4,0),EAX) /* glyphp[3][line] */ - SAL_L (CONST(12),ECX) /* glyphp[2][line] << 12 */ - OR_L (EDX,EBX) /* bits |= ..[1].. << 6 */ - SAL_L (CONST(18),EAX) /* glyphp[3][line] << 18 */ - OR_L (ECX,EBX) /* bits |= ..[2].. << 12 */ - - MOV_L (REGOFF(16,ESI),EDX) /* glyphp[4] */ - MOV_L (REGOFF(20,ESI),ECX) /* glyphp[5] */ - MOV_L (REGBISD(EDX,EBP,4,0),EDX) /* glyphp[4][line] */ - MOV_L (REGBISD(ECX,EBP,4,0),ECX) /* glyphp[5][line] */ - SAL_L (CONST(24),EDX) /* glyphp[4][line] << 24 */ - OR_L (EAX,EBX) /* bits |= ..[3].. << 18 */ - SAL_L (CONST(30),ECX) /* glyphp[5][line] << 30 */ - OR_L (EDX,EBX) /* bits |= ..[4].. << 24 */ - -#ifndef MSBFIRST - MOV_L (REGOFF(20,ESI),EAX) /* glyphp[5] */ - OR_L (ECX,EBX) /* bits |= ..[5].. << 30 */ - MOV_L (REGBISD(EAX,EBP,4,0),EAX) /* glyphp[5][line] */ - MOV_L (EBX,REGIND(EDI)) /* WRITE_IN_BIT_ORDER(base, bits) */ -#else - MOV_L (CONST(0),EAX) - OR_L (ECX,EBX) /* bits |= ..[5].. << 30 */ - MOV_L (CONST(0),EDX) - MOV_B (BL,AL) - MOV_B (BH,DL) - MOV_B (REGOFF(BYTE_REVERSED,EAX),BL) - MOV_B (REGOFF(BYTE_REVERSED,EDX),BH) - ROL_L (CONST(16),EBX) - MOV_B (BL,AL) - MOV_B (BH,DL) - MOV_B (REGOFF(BYTE_REVERSED,EAX),BL) - MOV_B (REGOFF(BYTE_REVERSED,EDX),BH) - ROL_L (CONST(16),EBX) - MOV_L (REGOFF(20,ESI),EAX) /* glyphp[5] */ - MOV_L (EBX,REGIND(EDI)) - MOV_L (REGBISD(EAX,EBP,4,0),EAX) /* glyphp[5][line] */ -#endif - - CMP_L (CONST(32),width_arg) - JG (.L6_2) -#ifndef FIXEDBASE - ADD_L (CONST(4),EDI) /* base++ */ -#endif - JMP (.L6_4) -.L6_2: - /* Note that glyphp[5][line] is already read again. */ - /* EAX = bits = glyphp[5][line] >> 2 */ - MOV_L (REGOFF(24,ESI),EDX) /* glyphp[6] */ - MOV_L (REGOFF(28,ESI),EBX) /* glyphp[7] */ - SHR_L (CONST(2),EAX) /* glyphp[5][line] >> 2 */ - MOV_L (REGBISD(EDX,EBP,4,0),EDX) /* glyphp[6][line] */ - MOV_L (REGBISD(EBX,EBP,4,0),EBX) /* glyphp[7][line] */ - MOV_L (REGOFF(32,ESI),ECX) /* glyphp[8] */ - SAL_L (CONST(4),EDX) /* glyphp[6][line] << 4 */ - MOV_L (REGBISD(ECX,EBP,4,0),ECX) /* glyphp[8][line] */ - SAL_L (CONST(10),EBX) /* glyphp[7][line] << 10 */ - OR_L (EDX,EAX) /* bits |= ..[6].. << 4 */ - SAL_L (CONST(16),ECX) /* glyphp[8][line] << 16 */ - MOV_L (REGOFF(36,ESI),EDX) /* glyphp[9] */ - OR_L (EBX,EAX) /* bits |= ..[7].. << 10 */ - MOV_L (REGBISD(EDX,EBP,4,0),EDX) /* glyphp[9][line] */ - OR_L (ECX,EAX) /* bits |= ..[8].. << 16 */ - MOV_L (REGOFF(40,ESI),EBX) /* glyphp[10] */ - SAL_L (CONST(22),EDX) /* glyphp[9][line] << 22 */ - MOV_L (REGBISD(EBX,EBP,4,0),EBX) /* glyphp[10][line] */ - OR_L (EDX,EAX) /* bits |= ..[9].. << 22 */ - -#ifndef MSBFIRST - MOV_L (REGOFF(40,ESI),ECX) /* glyphp[10] */ - SAL_L (CONST(28),EBX) /* glyphp[10][line] << 28 */ - MOV_L (REGOFF(44,ESI),EDX) /* glyphp[11] */ - OR_L (EBX,EAX) /* bits |= ..[10].. << 28 */ - MOV_L (REGBISD(ECX,EBP,4,0),ECX) /* glyphp[10][line] */ -#ifndef FIXEDBASE - MOV_L (EAX,REGOFF(4,EDI)) /* WRITE_IN_BIT_ORDER(base, bits) */ -#else - MOV_L (EAX,REGIND(EDI)) /* WRITE_IN_BIT_ORDER(base, bits) */ -#endif - MOV_L (REGBISD(EDX,EBP,4,0),EDX) /* glyphp[11][line] */ -#else - MOV_L (CONST(0),ECX) - SAL_L (CONST(28),EBX) /* glyphp[10][line] << 28 */ - MOV_L (CONST(0),EDX) - OR_L (EBX,EAX) /* bits |= ..[10].. << 28 */ - MOV_B (AL,CL) - MOV_B (AH,DL) - MOV_B (REGOFF(BYTE_REVERSED,ECX),AL) - MOV_B (REGOFF(BYTE_REVERSED,EDX),AH) - ROL_L (CONST(16),EAX) - MOV_B (AL,CL) - MOV_B (AH,DL) - MOV_B (REGOFF(BYTE_REVERSED,ECX),AL) - MOV_B (REGOFF(BYTE_REVERSED,EDX),AH) - MOV_L (REGOFF(40,ESI),ECX) /* glyphp[10] */ - ROL_L (CONST(16),EAX) - MOV_L (REGOFF(44,ESI),EDX) /* glyphp[11] */ -#ifndef FIXEDBASE - MOV_L (EAX,REGOFF(4,EDI)) /* WRITE_IN_BIT_ORDER(base, bits) */ -#else - MOV_L (EAX,REGIND(EDI)) /* WRITE_IN_BIT_ORDER(base, bits) */ -#endif - MOV_L (REGBISD(ECX,EBP,4,0),ECX) /* glyphp[10][line] */ - MOV_L (REGBISD(EDX,EBP,4,0),EDX) /* glyphp[11][line] */ -#endif - - CMP_L (CONST(64),width_arg) - JG (.L6_3) -#ifndef FIXEDBASE - ADD_L (CONST(8),EDI) /* base+=2 */ -#endif - JMP (.L6_4) -.L6_3: - /* Note that glyphp[10][line] is read again. */ - /* EAX = bits = glyphp[10][line] >> 4 */ - SHR_L (CONST(4),ECX) /* glyphp[10][line] >> 4 */ - MOV_L (REGOFF(48,ESI),EBX) /* glyphp[12] */ - SAL_L (CONST(2),EDX) /* glyphp[11][line] << 2 */ - MOV_L (REGBISD(EBX,EBP,4,0),EBX) /* glyphp[12][line] */ - OR_L (EDX,ECX) /* bits |= ..[11].. << 2 */ - MOV_L (REGOFF(52,ESI),EAX) /* glyphp[13] */ - SAL_L (CONST(8),EBX) /* glyphp[12][line] << 8 */ - MOV_L (REGBISD(EAX,EBP,4,0),EAX) /* glyphp[13][line] */ - OR_L (EBX,ECX) /* bits |= ..[12].. << 8 */ - MOV_L (REGOFF(56,ESI),EDX) /* glyphp[14] */ - SAL_L (CONST(14),EAX) /* glyphp[13][line] << 14 */ - MOV_L (REGBISD(EDX,EBP,4,0),EDX) /* glyphp[14][line] */ - OR_L (EAX,ECX) /* bits |= ..[13].. << 14 */ - MOV_L (REGOFF(60,ESI),EBX) /* glyphp[15] */ - SAL_L (CONST(20),EDX) /* glyphp[14][line] << 20 */ - MOV_L (REGBISD(EBX,EBP,4,0),EBX) /* glyphp[15][line] */ - OR_L (EDX,ECX) /* bits |= ..[14].. << 20 */ - -#ifndef MSBFIRST - SAL_L (CONST(26),EBX) /* glyphp[15][line] << 26 */ - OR_L (EBX,ECX) /* bits |= ..[15].. << 26 */ -#ifndef FIXEDBASE - MOV_L (ECX,REGOFF(8,EDI)) /* WRITE_IN_BIT_ORDER(base, bits) */ -#else - MOV_L (ECX,REGIND(EDI)) /* WRITE_IN_BIT_ORDER(base, bits) */ -#endif -#else - MOV_L (CONST(0),EAX) - SAL_L (CONST(26),EBX) /* glyphp[15][line] << 26 */ - MOV_L (CONST(0),EDX) - OR_L (EBX,ECX) /* bits |= ..[15].. << 26 */ - MOV_B (CL,AL) - MOV_B (CH,DL) - MOV_B (REGOFF(BYTE_REVERSED,EAX),CL) - MOV_B (REGOFF(BYTE_REVERSED,EDX),CH) - ROL_L (CONST(16),ECX) - MOV_B (CL,AL) - MOV_B (CH,DL) - MOV_B (REGOFF(BYTE_REVERSED,EAX),CL) - MOV_B (REGOFF(BYTE_REVERSED,EDX),CH) - ROL_L (CONST(16),ECX) -#ifndef FIXEDBASE - MOV_L (ECX,REGOFF(8,EDI)) /* WRITE_IN_BIT_ORDER(base, bits) */ -#else - MOV_L (ECX,REGIND(EDI)) /* WRITE_IN_BIT_ORDER(base, bits) */ -#endif -#endif - -#ifndef FIXEDBASE - ADD_L (CONST(12),EDI) /* base += 3*/ -#endif - CMP_L (CONST(96),width_arg) - JLE (.L6_4) - ADD_L (CONST(64),ESI) /* glyphp += 16 */ - SUB_L (CONST(96),width_arg) - JMP (.L6_1) - -.L6_4: - -#ifndef FIXEDBASE - MOV_L (EDI,EAX) /* return base */ -#else - MOV_L (base_arg,EAX) /* return base */ -#endif - MOV_L (REGOFF(0,ESP),EDI) /* POPL EDI */ - MOV_L (REGOFF(4,ESP),ESI) /* POPL ESI */ - MOV_L (REGOFF(8,ESP),EBX) /* POPL EBX */ - MOV_L (REGOFF(12,ESP),EBP) /* POPL EBP */ - ADD_L (CONST(16),ESP) - RET - - - ALIGNTEXT4 - -#ifdef FIXEDBASE -# ifdef MSBFIRST - GLOBL GLNAME(DrawTETextScanlineWidth8PMSBFirstFixedBase) -GLNAME(DrawTETextScanlineWidth8PMSBFirstFixedBase): -# else - GLOBL GLNAME(DrawTETextScanlineWidth8PLSBFirstFixedBase) -GLNAME(DrawTETextScanlineWidth8PLSBFirstFixedBase): -# endif -#else -# ifdef MSBFIRST - GLOBL GLNAME(DrawTETextScanlineWidth8PMSBFirst) -GLNAME(DrawTETextScanlineWidth8PMSBFirst): -# else - GLOBL GLNAME(DrawTETextScanlineWidth8PLSBFirst) -GLNAME(DrawTETextScanlineWidth8PLSBFirst): -# endif -#endif - - SUB_L (CONST(16),ESP) - MOV_L (EBP,REGOFF(12,ESP)) /* PUSH EBP */ - MOV_L (EBX,REGOFF(8,ESP)) /* PUSH EBX */ - MOV_L (ESI,REGOFF(4,ESP)) /* PUSH ESI */ - MOV_L (EDI,REGOFF(0,ESP)) /* PUSH EDI */ - - MOV_L (line_arg,EBP) - MOV_L (base_arg,EDI) - MOV_L (glyphp_arg,ESI) - - ALIGNTEXT4 - -.L8_1: - /* Pentium-optimized instruction pairing. */ - /* EBX = bits */ - MOV_L (REGIND(ESI),EAX) /* glyphp[0] */ - MOV_L (REGOFF(4,ESI),EDX) /* glyphp[1] */ - MOV_L (REGBISD(EAX,EBP,4,0),EAX) /* glyphp[0][line] */ - MOV_L (REGBISD(EDX,EBP,4,0),EDX) /* glyphp[1][line] */ -#ifdef MSBFIRST - MOV_B (REGOFF(BYTE_REVERSED,EAX),BL) - MOV_B (REGOFF(BYTE_REVERSED,EDX),BH) -#else - MOV_L (EAX,EBX) /* bits = glyph[0][line] */ - MOV_B (DL,BH) /* bits |= ..[1].. << 8 */ -#endif - - ROL_L (CONST(16),EBX) - MOV_L (REGOFF(8,ESI),EAX) /* glyphp[2] */ - MOV_L (REGOFF(12,ESI),ECX) /* glyphp[3] */ - MOV_L (REGBISD(EAX,EBP,4,0),EAX) /* glyphp[2][line] */ - MOV_L (REGBISD(ECX,EBP,4,0),ECX) /* glyphp[3][line] */ -#ifdef MSBFIRST - MOV_B (REGOFF(BYTE_REVERSED,EAX),BL) - MOV_B (REGOFF(BYTE_REVERSED,ECX),BH) -#else - MOV_B (AL,BL) /* bits |= ..[2].. << 16 */ - MOV_B (CL,BH) /* bits |= ..[3].. << 24 */ -#endif - ROL_L (CONST(16),EBX) - MOV_L (EBX,REGIND(EDI)) /* WRITE_IN_BIT_ORDER(base, bits) */ - CMP_L (CONST(32),width_arg) -#ifndef FIXEDBASE - JLE (.L8_2) -#else - JLE (.L8_3) -#endif - - MOV_L (REGOFF(16,ESI),EAX) /* glyphp[4] */ - MOV_L (REGOFF(20,ESI),EDX) /* glyphp[5] */ - MOV_L (REGBISD(EAX,EBP,4,0),EAX) /* glyphp[4][line] */ - MOV_L (REGBISD(EDX,EBP,4,0),EDX) /* glyphp[5][line] */ -#ifdef MSBFIRST - MOV_B (REGOFF(BYTE_REVERSED,EAX),BL) - MOV_B (REGOFF(BYTE_REVERSED,EDX),BH) -#else - MOV_L (EAX,EBX) /* bits = glyph[4][line] */ - MOV_B (DL,BH) /* nits |= ..[5].. << 8 */ -#endif - - ROL_L (CONST(16),EBX) - MOV_L (REGOFF(24,ESI),EAX) /* glyphp[6] */ - MOV_L (REGOFF(28,ESI),ECX) /* glyphp[7] */ - MOV_L (REGBISD(EAX,EBP,4,0),EAX) /* glyphp[6][line] */ - MOV_L (REGBISD(ECX,EBP,4,0),ECX) /* glyphp[7][line] */ -#ifdef MSBFIRST - MOV_B (REGOFF(BYTE_REVERSED,EAX),BL) - MOV_B (REGOFF(BYTE_REVERSED,ECX),BH) -#else - MOV_B (AL,BL) /* bits |= ..[6].. << 16 */ - MOV_B (CL,BH) /* bits |= ..[7].. << 24 */ -#endif - ROL_L (CONST(16),EBX) -#ifndef FIXEDBASE - MOV_L (EAX,REGOFF(4,EDI)) /* WRITE_IN_BIT_ORDER(base+1, bits) */ - ADD_L (CONST(8),EDI) /* base += 2 */ -#else - MOV_L (EAX,REGIND(EDI)) /* WRITE_IN_BIT_ORDER(base, bits) */ -#endif - CMP_L (CONST(64),width_arg) - JLE (.L8_3) - ADD_L (CONST(32),ESI) /* glyphp += 8 */ - SUB_L (CONST(64),width_arg) - JMP (.L8_1) - -#ifndef FIXEDBASE -.L8_2: - ADD_L (CONST(4),EDI) /* base++ */ -.L8_3: - MOV_L (EDI,EAX) /* return base */ -#else -.L8_3: - MOV_L (base_arg,EAX) /* return base */ -#endif - MOV_L (REGOFF(0,ESP),EDI) /* POPL EDI */ - MOV_L (REGOFF(4,ESP),ESI) /* POPL ESI */ - MOV_L (REGOFF(8,ESP),EBX) /* POPL EBX */ - MOV_L (REGOFF(12,ESP),EBP) /* POPL EBP */ - ADD_L (CONST(16),ESP) - RET - - ALIGNTEXT4 - -#ifdef FIXEDBASE -# ifdef MSBFIRST - GLOBL GLNAME(DrawTETextScanlineWidth9PMSBFirstFixedBase) -GLNAME(DrawTETextScanlineWidth9PMSBFirstFixedBase): -# else - GLOBL GLNAME(DrawTETextScanlineWidth9PLSBFirstFixedBase) -GLNAME(DrawTETextScanlineWidth9PLSBFirstFixedBase): -# endif -#else -# ifdef MSBFIRST - GLOBL GLNAME(DrawTETextScanlineWidth9PMSBFirst) -GLNAME(DrawTETextScanlineWidth9PMSBFirst): -# else - GLOBL GLNAME(DrawTETextScanlineWidth9PLSBFirst) -GLNAME(DrawTETextScanlineWidth9PLSBFirst): -# endif -#endif - - SUB_L (CONST(16),ESP) - MOV_L (EBP,REGOFF(12,ESP)) /* PUSH EBP */ - MOV_L (EBX,REGOFF(8,ESP)) /* PUSH EBX */ - MOV_L (ESI,REGOFF(4,ESP)) /* PUSH ESI */ - MOV_L (EDI,REGOFF(0,ESP)) /* PUSH EDI */ - - MOV_L (line_arg,EBP) - MOV_L (base_arg,EDI) - MOV_L (glyphp_arg,ESI) - - ALIGNTEXT4 - -.L9_1: - /* Pentium-optimized instruction pairing. */ - /* EAX = bits */ - MOV_L (REGOFF(4,ESI),EBX) /* glyphp[1] */ - MOV_L (REGIND(ESI),EAX) /* glyphp[0] */ - MOV_L (REGBISD(EBX,EBP,4,0),EBX) /* glyphp[1][line] */ - MOV_L (REGOFF(8,ESI),ECX) /* glyphp[2] */ - SAL_L (CONST(9),EBX) /* glyphp[1][line] << 9 */ - MOV_L (REGOFF(12,ESI),EDX) /* glyphp[3] */ - MOV_L (REGBISD(EAX,EBP,4,0),EAX) /* glyphp[0][line] */ - MOV_L (REGBISD(EDX,EBP,4,0),EDX) /* glyphp[3][line] */ - MOV_L (REGBISD(ECX,EBP,4,0),ECX) /* glyphp[2][line] */ - OR_L (EBX,EAX) /* bits |= ..[1].. << 9 */ - SAL_L (CONST(18),ECX) /* glyphp[2][line] << 18 */ - OR_L (ECX,EAX) /* bits |= ..[2].. << 18 */ - SAL_L (CONST(27),EDX) /* glyphp[3][line << 27 */ - -#ifndef MSBFIRST - MOV_L (REGOFF(12,ESI),EBX) /* glyphp[3] */ - OR_L (EDX,EAX) /* bits |= ..[3].. << 27 */ - MOV_L (REGBISD(EBX,EBP,4,0),EBX) /* glyphp[3][line] */ - MOV_L (EAX,REGIND(EDI)) /* WRITE_IN_BIT_ORDER(base, bits) */ -#else - MOV_L (CONST(0),EBX) - OR_L (EDX,EAX) /* bits |= ..[3].. << 27 */ - MOV_L (CONST(0),ECX) - MOV_B (AL,BL) - MOV_B (AH,CL) - MOV_B (REGOFF(BYTE_REVERSED,EBX),AL) - MOV_B (REGOFF(BYTE_REVERSED,ECX),AH) - ROL_L (CONST(16),EAX) - MOV_B (AL,BL) - MOV_B (AH,CL) - MOV_B (REGOFF(BYTE_REVERSED,EBX),AL) - MOV_B (REGOFF(BYTE_REVERSED,ECX),AH) - MOV_L (REGOFF(12,ESI),EBX) /* glyphp[3] */ - ROL_L (CONST(16),EAX) - MOV_L (REGBISD(EBX,EBP,4,0),EBX) /* glyphp[3][line] */ - MOV_L (EAX,REGIND(EDI)) -#endif - - CMP_L (CONST(32),width_arg) - JG (.L9_2) -#ifndef FIXEDBASE - ADD_L (CONST(4),EDI) /* base++ */ -#endif - JMP (.L9_11) -.L9_2: - /* Note that glyphp[3][line] is read again. */ - /* EAX = bits, EBX = glyphp[3][line] >> 5 */ - SHR_L (CONST(5),EBX) /* glyphp[3][line] >> 5 */ - MOV_L (REGOFF(16,ESI),EAX) /* glyphp[4] */ - MOV_L (REGOFF(20,ESI),ECX) /* glyphp[5] */ - MOV_L (REGBISD(EAX,EBP,4,0),EAX) /* glyphp[4][line] */ - MOV_L (REGBISD(ECX,EBP,4,0),ECX) /* glyphp[5][line] */ - MOV_L (REGOFF(24,ESI),EDX) /* glyphp[6] */ - SAL_L (CONST(4),EAX) /* glyphp[4][line] << 4 */ - MOV_L (REGBISD(EDX,EBP,4,0),EDX) /* glyphp[6][line] */ - SAL_L (CONST(13),ECX) /* glyphp[5][line] << 13 */ - OR_L (EBX,EAX) /* bits |= ..[4].. << 4 */ - SAL_L (CONST(22),EDX) /* glyphp[6][line] << 22 */ - MOV_L (REGOFF(28,ESI),EBX) /* glyphp[7] */ - OR_L (ECX,EAX) /* bits |= ..[5].. << 13 */ - MOV_L (REGBISD(EBX,EBP,4,0),EBX) /* glyphp[7][line] */ - OR_L (EDX,EAX) /* bits |= ..[6].. << 22 */ - -#ifndef MSBFIRST - MOV_L (REGOFF(28,ESI),ECX) /* glyphp[7] */ - SAL_L (CONST(31),EBX) /* glyphp[7][line] << 31 */ - MOV_L (REGBISD(ECX,EBP,4,0),ECX) /* glyphp[7][line] */ - OR_L (EBX,EAX) /* bits |= ..[7].. << 31 */ - MOV_L (REGOFF(32,ESI),EDX) /* glyphp[8] */ -#ifndef FIXEDBASE - MOV_L (EAX,REGOFF(4,EDI)) /* WRITE_IN_BIT_ORDER(base, bits) */ -#else - MOV_L (EAX,REGIND(EDI)) /* WRITE_IN_BIT_ORDER(base, bits) */ -#endif -#else - MOV_L (CONST(0),ECX) - SAL_L (CONST(31),EBX) /* glyphp[7][line] << 31 */ - MOV_L (CONST(0),EDX) - OR_L (EBX,EAX) /* bits |= ..[7].. << 31 */ - MOV_B (AL,CL) - MOV_B (AH,DL) - MOV_B (REGOFF(BYTE_REVERSED,ECX),AL) - MOV_B (REGOFF(BYTE_REVERSED,EDX),AH) - ROL_L (CONST(16),EAX) - MOV_B (AL,CL) - MOV_B (AH,DL) - MOV_B (REGOFF(BYTE_REVERSED,ECX),AL) - MOV_B (REGOFF(BYTE_REVERSED,EDX),AH) - MOV_L (REGOFF(28,ESI),ECX) /* glyphp[7] */ - ROL_L (CONST(16),EAX) - MOV_L (REGBISD(ECX,EBP,4,0),ECX) /* glyphp[7][line] */ -#ifndef FIXEDBASE - MOV_L (EAX,REGOFF(4,EDI)) /* WRITE_IN_BIT_ORDER(base, bits) */ -#else - MOV_L (EAX,REGIND(EDI)) /* WRITE_IN_BIT_ORDER(base, bits) */ -#endif - MOV_L (REGOFF(32,ESI),EDX) /* glyphp[8] */ -#endif - - CMP_L (CONST(64),width_arg) - JG (.L9_3) -#ifndef FIXEDBASE - ADD_L (CONST(8),EDI) /* base+=2 */ -#endif - JMP (.L9_11) -.L9_3: - - /* Note that glyphp[7][line] is read again. */ - /* ECX = bits = glyphp[7][line] >> 1 */ - SHR_L (CONST(1),ECX) /* glyphp[7][line] >> 1 */ - MOV_L (REGOFF(36,ESI),EBX) /* glyphp[9] */ - MOV_L (REGBISD(EDX,EBP,4,0),EDX) /* glyphp[8][line] */ - MOV_L (REGBISD(EBX,EBP,4,0),EBX) /* glyphp[9][line] */ - SAL_L (CONST(8),EDX) /* glyphp[8][line] << 8 */ - MOV_L (REGOFF(40,ESI),EAX) /* glyphp[10] */ - SAL_L (CONST(17),EBX) /* glyphp[9][line] << 17 */ - OR_L (EDX,ECX) /* bits |= ..[8].. << 8 */ - MOV_L (REGBISD(EAX,EBP,4,0),EAX) /* glyphp[10][line] */ - OR_L (EBX,ECX) /* bits |= ..[9].. << 17 */ - SAL_L (CONST(26),EAX) /* glyphp[10][line] << 26 */ - -#ifndef MSBFIRST - MOV_L (REGOFF(40,ESI),EDX) /* glyphp[10] */ - OR_L (EAX,ECX) /* bits |= ..[10].. << 26 */ - MOV_L (REGBISD(EDX,EBP,4,0),EDX) /* glyphp[10][line] */ -#ifndef FIXEDBASE - MOV_L (ECX,REGOFF(8,EDI)) /* WRITE_IN_BIT_ORDER(base, bits) */ -#else - MOV_L (ECX,REGIND(EDI)) /* WRITE_IN_BIT_ORDER(base, bits) */ -#endif -#else - MOV_L (CONST(0),EDX) - OR_L (EAX,ECX) /* bits |= ..[10].. << 26 */ - MOV_L (CONST(0),EBX) - MOV_B (CL,DL) - MOV_B (CH,BL) - MOV_B (REGOFF(BYTE_REVERSED,EDX),CL) - MOV_B (REGOFF(BYTE_REVERSED,EBX),CH) - ROL_L (CONST(16),ECX) - MOV_B (CL,DL) - MOV_B (CH,BL) - MOV_B (REGOFF(BYTE_REVERSED,EDX),CL) - MOV_B (REGOFF(BYTE_REVERSED,EBX),CH) - MOV_L (REGOFF(40,ESI),EDX) /* glyphp[10] */ - ROL_L (CONST(16),ECX) - MOV_L (REGBISD(EDX,EBP,4,0),EDX) /* glyphp[10][line] */ -#ifndef FIXEDBASE - MOV_L (ECX,REGOFF(8,EDI)) /* WRITE_IN_BIT_ORDER(base, bits) */ -#else - MOV_L (ECX,REGIND(EDI)) /* WRITE_IN_BIT_ORDER(base, bits) */ -#endif -#endif - - CMP_L (CONST(96),width_arg) - JG (.L9_4) -#ifndef FIXEDBASE - ADD_L (CONST(12),EDI) /* base+=3 */ -#endif - JMP (.L9_11) -.L9_4: - /* Note that glyphp[10][line] is read again. */ - /* EDX = bits = glyphp[10][line] >> 6 */ - SHR_L (CONST(6),EDX) /* glyphp[10][line] >> 6 */ - MOV_L (REGOFF(44,ESI),EBX) /* glyphp[11] */ - MOV_L (REGOFF(48,ESI),EAX) /* glyphp[12] */ - MOV_L (REGBISD(EBX,EBP,4,0),EBX) /* glyphp[11][line] */ - MOV_L (REGBISD(EAX,EBP,4,0),EAX) /* glyphp[12][line] */ - MOV_L (REGOFF(52,ESI),ECX) /* glyphp[13] */ - SAL_L (CONST(3),EBX) /* glyphp[11][line] << 3 */ - MOV_L (REGBISD(ECX,EBP,4,0),ECX) /* glyphp[13][line] */ - SAL_L (CONST(12),EAX) /* glyphp[12][line] << 12 */ - OR_L (EBX,EDX) /* bits |= ..[11].. << 3 */ - SAL_L (CONST(21),ECX) /* glyphp[13][line] << 21 */ - MOV_L (REGOFF(56,ESI),EBX) /* glyphp[14] */ - OR_L (EAX,EDX) /* bits |= ..[12].. << 17 */ - MOV_L (REGBISD(EBX,EBP,4,0),EBX) /* glyphp[14][line] */ - SAL_L (CONST(30),EBX) /* glyphp[14][line] << 30 */ - OR_L (ECX,EDX) /* bits |= ..[13].. << 21 */ - -#ifndef MSBFIRST - MOV_L (REGOFF(56,ESI),EAX) /* glyphp[14] */ - OR_L (EBX,EDX) /* bits |= ..[14].. << 30 */ - MOV_L (REGBISD(EAX,EBP,4,0),EAX) /* glyphp[14][line] */ -#ifndef FIXEDBASE - MOV_L (EDX,REGOFF(12,EDI)) /* WRITE_IN_BIT_ORDER(base, bits) */ -#else - MOV_L (EDX,REGIND(EDI)) /* WRITE_IN_BIT_ORDER(base, bits) */ -#endif -#else - MOV_L (CONST(0),EAX) - OR_L (EBX,EDX) /* bits |= ..[14].. << 30 */ - MOV_L (CONST(0),ECX) - MOV_B (DL,AL) - MOV_B (DH,CL) - MOV_B (REGOFF(BYTE_REVERSED,EAX),DL) - MOV_B (REGOFF(BYTE_REVERSED,ECX),DH) - ROL_L (CONST(16),EDX) - MOV_B (DL,AL) - MOV_B (DH,CL) - MOV_B (REGOFF(BYTE_REVERSED,EAX),DL) - MOV_B (REGOFF(BYTE_REVERSED,ECX),DH) - MOV_L (REGOFF(56,ESI),EAX) /* glyphp[14] */ - ROL_L (CONST(16),EDX) - MOV_L (REGBISD(EAX,EBP,4,0),EAX) /* glyphp[14][line] */ -#ifndef FIXEDBASE - MOV_L (EDX,REGOFF(12,EDI)) /* WRITE_IN_BIT_ORDER(base, bits) */ -#else - MOV_L (EDX,REGIND(EDI)) /* WRITE_IN_BIT_ORDER(base, bits) */ -#endif -#endif - - CMP_L (CONST(128),width_arg) - JG (.L9_5) -#ifndef FIXEDBASE - ADD_L (CONST(16),EDI) /* base+=4 */ -#endif - JMP (.L9_11) -.L9_5: - /* Note that glyphp[14][line] is read again. */ - /* EAX = bits = glyphp[14][line] >> 2 */ - SHR_L (CONST(2),EAX) /* glyphp[14][line] >> 2 */ - MOV_L (REGOFF(60,ESI),ECX) /* glyphp[15] */ - MOV_L (REGOFF(64,ESI),EBX) /* glyphp[16] */ - MOV_L (REGBISD(ECX,EBP,4,0),ECX) /* glyphp[15][line] */ - MOV_L (REGBISD(EBX,EBP,4,0),EBX) /* glyphp[16][line] */ - MOV_L (REGOFF(68,ESI),EDX) /* glyphp[17] */ - SAL_L (CONST(7),ECX) /* glyphp[15][line] << 7 */ - MOV_L (REGBISD(EDX,EBP,4,0),EDX) /* glyphp[17][line] */ - SAL_L (CONST(16),EBX) /* glyphp[16][line] << 16 */ - OR_L (ECX,EAX) /* bits |= ..[15].. << 7 */ - SAL_L (CONST(25),EDX) /* glyphp[17][line] << 25 */ - OR_L (EBX,EAX) /* bits |= ..[16].. << 16 */ - -#ifndef MSBFIRST - MOV_L (REGOFF(68,ESI),ECX) /* glyphp[17] */ - OR_L (EDX,EAX) /* bits |= ..[17].. << 25 */ - MOV_L (REGBISD(ECX,EBP,4,0),ECX) /* glyphp[17][line] */ -#ifndef FIXEDBASE - MOV_L (EAX,REGOFF(16,EDI)) /* WRITE_IN_BIT_ORDER(base, bits) */ -#else - MOV_L (EAX,REGIND(EDI)) /* WRITE_IN_BIT_ORDER(base, bits) */ -#endif -#else - MOV_L (CONST(0),ECX) - OR_L (EDX,EAX) /* bits |= ..[17].. << 25 */ - MOV_L (CONST(0),EBX) - MOV_B (AL,CL) - MOV_B (AH,BL) - MOV_B (REGOFF(BYTE_REVERSED,ECX),AL) - MOV_B (REGOFF(BYTE_REVERSED,EBX),AH) - ROL_L (CONST(16),EAX) - MOV_B (AL,CL) - MOV_B (AH,BL) - MOV_B (REGOFF(BYTE_REVERSED,ECX),AL) - MOV_B (REGOFF(BYTE_REVERSED,EBX),AH) - MOV_L (REGOFF(68,ESI),ECX) /* glyphp[17] */ - ROL_L (CONST(16),EAX) - MOV_L (REGBISD(ECX,EBP,4,0),ECX) /* glyphp[17][line] */ -#ifndef FIXEDBASE - MOV_L (EAX,REGOFF(16,EDI)) /* WRITE_IN_BIT_ORDER(base, bits) */ -#else - MOV_L (EAX,REGIND(EDI)) /* WRITE_IN_BIT_ORDER(base, bits) */ -#endif -#endif - - CMP_L (CONST(160),width_arg) - JG (.L9_6) -#ifndef FIXEDBASE - ADD_L (CONST(20),EDI) /* base+=5 */ -#endif - JMP (.L9_11) -.L9_6: - /* Note that glyphp[17][line] is read again. */ - /* ECX = bits = glyphp[17][line] >> 7 */ - SHR_L (CONST(7),ECX) /* glyphp[17][line] >> 7 */ - MOV_L (REGOFF(72,ESI),EBX) /* glyphp[18] */ - MOV_L (REGOFF(76,ESI),EAX) /* glyphp[19] */ - MOV_L (REGBISD(EBX,EBP,4,0),EBX) /* glyphp[18][line] */ - MOV_L (REGBISD(EAX,EBP,4,0),EAX) /* glyphp[19][line] */ - MOV_L (REGOFF(80,ESI),EDX) /* glyphp[20] */ - SAL_L (CONST(2),EBX) /* glyphp[18][line] << 2 */ - MOV_L (REGBISD(EDX,EBP,4,0),EDX) /* glyphp[20][line] */ - SAL_L (CONST(11),EAX) /* glyphp[19][line] << 11 */ - OR_L (EBX,ECX) /* bits |= ..[18].. << 2 */ - SAL_L (CONST(20),EDX) /* glyphp[20][line] << 20 */ - MOV_L (REGOFF(84,ESI),EBX) /* glyphp[21] */ - OR_L (EAX,ECX) /* bits |= ..[19].. << 11 */ - MOV_L (REGBISD(EBX,EBP,4,0),EBX) /* glyphp[21][line] */ - OR_L (EDX,ECX) /* bits |= ..[20].. << 20 */ - -#ifndef MSBFIRST - MOV_L (REGOFF(84,ESI),EAX) /* glyphp[21] */ - SAL_L (CONST(29),EBX) /* glyphp[21][line] << 29 */ - MOV_L (REGBISD(EAX,EBP,4,0),EAX) /* glyphp[21][line] */ - OR_L (EBX,ECX) /* bits |= ..[14].. << 30 */ - MOV_L (REGOFF(88,ESI),EDX) /* glyphp[22] */ -#ifndef FIXEDBASE - MOV_L (ECX,REGOFF(20,EDI)) /* WRITE_IN_BIT_ORDER(base, bits) */ -#else - MOV_L (ECX,REGIND(EDI)) /* WRITE_IN_BIT_ORDER(base, bits) */ -#endif -#else - MOV_L (CONST(0),EAX) - SAL_L (CONST(29),EBX) /* glyphp[21][line] << 29 */ - MOV_L (CONST(0),EDX) - OR_L (EBX,ECX) /* bits |= ..[14].. << 30 */ - MOV_B (CL,AL) - MOV_B (CH,DL) - MOV_B (REGOFF(BYTE_REVERSED,EAX),CL) - MOV_B (REGOFF(BYTE_REVERSED,EDX),CH) - ROL_L (CONST(16),ECX) - MOV_B (CL,AL) - MOV_B (CH,DL) - MOV_B (REGOFF(BYTE_REVERSED,EAX),CL) - MOV_B (REGOFF(BYTE_REVERSED,EDX),CH) - MOV_L (REGOFF(84,ESI),EAX) /* glyphp[21] */ - ROL_L (CONST(16),ECX) - MOV_L (REGBISD(EAX,EBP,4,0),EAX) /* glyphp[21][line] */ -#ifndef FIXEDBASE - MOV_L (ECX,REGOFF(20,EDI)) /* WRITE_IN_BIT_ORDER(base, bits) */ -#else - MOV_L (ECX,REGIND(EDI)) /* WRITE_IN_BIT_ORDER(base, bits) */ -#endif - MOV_L (REGOFF(88,ESI),EDX) /* glyphp[22] */ -#endif - - CMP_L (CONST(192),width_arg) - JG (.L9_7) -#ifndef FIXEDBASE - ADD_L (CONST(24),EDI) /* base+=6 */ -#endif - JMP (.L9_11) -.L9_7: - /* Note that glyphp[21][line] is read again. */ - /* EAX = bits = glyphp[21][line] >> 3 */ - SHR_L (CONST(3),EAX) /* glyphp[21][line] >> 3 */ - MOV_L (REGBISD(EDX,EBP,4,0),EDX) /* glyphp[22][line] */ - MOV_L (REGOFF(92,ESI),EBX) /* glyphp[23] */ - MOV_L (REGOFF(96,ESI),ECX) /* glyphp[24] */ - SAL_L (CONST(6),EDX) /* glyphp[22][line] << 6 */ - MOV_L (REGBISD(EBX,EBP,4,0),EBX) /* glyphp[23][line] */ - OR_L (EDX,EAX) /* bits |= ..[22].. << 6 */ - MOV_L (REGBISD(ECX,EBP,4,0),ECX) /* glyphp[24][line] */ - SAL_L (CONST(15),EBX) /* glyphp[23][line] << 15 */ - OR_L (EBX,EAX) /* bits |= ..[23].. << 15 */ - SAL_L (CONST(24),ECX) /* glyphp[24][line] << 24 */ - -#ifndef MSBFIRST - MOV_L (REGOFF(96,ESI),EDX) /* glyphp[24] */ - OR_L (ECX,EAX) /* bits |= ..[24].. << 24 */ - MOV_L (REGBISD(EDX,EBP,4,0),EDX) /* glyphp[24][line] */ -#ifndef FIXEDBASE - MOV_L (EAX,REGOFF(24,EDI)) /* WRITE_IN_BIT_ORDER(base, bits) */ -#else - MOV_L (EAX,REGIND(EDI)) /* WRITE_IN_BIT_ORDER(base, bits) */ -#endif -#else - MOV_L (CONST(0),EDX) - OR_L (ECX,EAX) /* bits |= ..[24].. << 24 */ - MOV_L (CONST(0),EBX) - MOV_B (AL,DL) - MOV_B (AH,BL) - MOV_B (REGOFF(BYTE_REVERSED,EDX),AL) - MOV_B (REGOFF(BYTE_REVERSED,EBX),AH) - ROL_L (CONST(16),EAX) - MOV_B (AL,DL) - MOV_B (AH,BL) - MOV_B (REGOFF(BYTE_REVERSED,EDX),AL) - MOV_B (REGOFF(BYTE_REVERSED,EBX),AH) - MOV_L (REGOFF(96,ESI),EDX) /* glyphp[24] */ - ROL_L (CONST(16),EAX) - MOV_L (REGBISD(EDX,EBP,4,0),EDX) /* glyphp[24][line] */ -#ifndef FIXEDBASE - MOV_L (EAX,REGOFF(24,EDI)) /* WRITE_IN_BIT_ORDER(base, bits) */ -#else - MOV_L (EAX,REGIND(EDI)) /* WRITE_IN_BIT_ORDER(base, bits) */ -#endif -#endif - - CMP_L (CONST(224),width_arg) - JG (.L9_8) -#ifndef FIXEDBASE - ADD_L (CONST(28),EDI) /* base+=7 */ -#endif - JMP (.L9_11) -.L9_8: - /* Note that glyphp[24][line] is read again. */ - /* EDX = bits = glyphp[24][line] >> 8 */ - - SHR_L (CONST(8),EDX) /* glyphp[24][line] >> 8 */ - MOV_L (REGOFF(100,ESI),EAX) /* glyphp[25] */ - MOV_L (REGOFF(104,ESI),EBX) /* glyphp[26] */ - MOV_L (REGBISD(EAX,EBP,4,0),EAX) /* glyphp[25][line] */ - MOV_L (REGBISD(EBX,EBP,4,0),EBX) /* glyphp[26][line] */ - MOV_L (REGOFF(108,ESI),ECX) /* glyphp[27] */ - SAL_L (CONST(1),EAX) /* glyphp[25][line] << 1 */ - MOV_L (REGBISD(ECX,EBP,4,0),ECX) /* glyphp[27][line] */ - SAL_L (CONST(10),EBX) /* glyphp[26][line] << 10 */ - OR_L (EAX,EDX) /* bits |= ..[25].. << 1 */ - SAL_L (CONST(19),ECX) /* glyphp[27][line] << 19 */ - OR_L (EBX,EDX) /* bits |= ..[26].. << 10 */ - MOV_L (REGOFF(112,ESI),EAX) /* glyphp[28] */ - OR_L (ECX,EDX) /* bits |= ..[27].. << 19 */ - MOV_L (REGBISD(EAX,EBP,4,0),EAX) /* glyphp[28][line] */ - -#ifndef MSBFIRST - MOV_L (REGOFF(112,ESI),EBX) /* glyphp[28] */ - SAL_L (CONST(28),EAX) /* glyphp[28][line] << 28 */ - MOV_L (REGBISD(EBX,EBP,4,0),EBX) /* glyphp[28][line] */ - OR_L (EAX,EDX) /* bits |= ..[28].. << 28 */ - MOV_L (REGOFF(116,ESI),ECX) /* glyphp[29] */ -#ifndef FIXEDBASE - MOV_L (EDX,REGOFF(28,EDI)) /* WRITE_IN_BIT_ORDER(base, bits) */ -#else - MOV_L (EDX,REGIND(EDI)) /* WRITE_IN_BIT_ORDER(base, bits) */ -#endif -#else - MOV_L (CONST(0),EBX) - SAL_L (CONST(28),EAX) /* glyphp[28][line] << 28 */ - MOV_L (CONST(0),ECX) - OR_L (EAX,EDX) /* bits |= ..[28].. << 28 */ - MOV_B (DL,BL) - MOV_B (DH,CL) - MOV_B (REGOFF(BYTE_REVERSED,EBX),DL) - MOV_B (REGOFF(BYTE_REVERSED,ECX),DH) - ROL_L (CONST(16),EDX) - MOV_B (DL,BL) - MOV_B (DH,CL) - MOV_B (REGOFF(BYTE_REVERSED,EBX),DL) - MOV_B (REGOFF(BYTE_REVERSED,ECX),DH) - MOV_L (REGOFF(112,ESI),EBX) /* glyphp[28] */ - ROL_L (CONST(16),EDX) - MOV_L (REGOFF(116,ESI),ECX) /* glyphp[29] */ -#ifndef FIXEDBASE - MOV_L (EDX,REGOFF(28,EDI)) /* WRITE_IN_BIT_ORDER(base, bits) */ -#else - MOV_L (EDX,REGIND(EDI)) /* WRITE_IN_BIT_ORDER(base, bits) */ -#endif - MOV_L (REGBISD(EBX,EBP,4,0),EBX) /* glyphp[28][line] */ -#endif - - CMP_L (CONST(256),width_arg) - JG (.L9_9) -#ifndef FIXEDBASE - ADD_L (CONST(32),EDI) /* base+=8 */ -#endif - JMP (.L9_11) -.L9_9: - /* Note that glyphp[28][line] is read again. */ - /* EBX = bits = glyphp[28][line] >> 4 */ - SHR_L (CONST(4),EBX) /* glyphp[28][line] >> 4 */ - MOV_L (REGBISD(ECX,EBP,4,0),ECX) /* glyphp[29][line] */ - MOV_L (REGOFF(120,ESI),EAX) /* glyphp[30] */ - MOV_L (REGOFF(124,ESI),EDX) /* glyphp[31] */ - SAL_L (CONST(5),ECX) /* glyphp[29][line] << 5 */ - MOV_L (REGBISD(EAX,EBP,4,0),EAX) /* glyphp[30][line] */ - OR_L (ECX,EBX) /* bits |= ..[29].. << 5 */ - MOV_L (REGBISD(EDX,EBP,4,0),EDX) /* glyphp[31][line] */ - SAL_L (CONST(14),EAX) /* glyphp[30][line] << 14 */ - ADD_L (CONST(128),ESI) /* glyphp+=32 */ - SAL_L (CONST(23),EDX) /* glyphp[31][line] << 23 */ - OR_L (EAX,EBX) /* bits |= ..[30].. << 14 */ - SUB_L (CONST(288),width_arg) /* width-=288 */ - OR_L (EDX,EBX) /* bits |= ..[31].. << 23 */ - -#ifndef MSBFIRST -#ifndef FIXEDBASE - MOV_L (EBX,REGOFF(32,EDI)) /* WRITE_IN_BIT_ORDER(base, bits) */ -#else - MOV_L (EBX,REGIND(EDI)) /* WRITE_IN_BIT_ORDER(base, bits) */ -#endif -#else - MOV_L (CONST(0),ECX) - MOV_L (CONST(0),EAX) - MOV_B (BL,CL) - MOV_B (BH,AL) - MOV_B (REGOFF(BYTE_REVERSED,ECX),BL) - MOV_B (REGOFF(BYTE_REVERSED,EAX),BH) - ROL_L (CONST(16),EBX) - MOV_B (BL,CL) - MOV_B (BH,AL) - MOV_B (REGOFF(BYTE_REVERSED,ECX),BL) - MOV_B (REGOFF(BYTE_REVERSED,EAX),BH) - ROL_L (CONST(16),EBX) -#ifndef FIXEDBASE - MOV_L (EBX,REGOFF(32,EDI)) /* WRITE_IN_BIT_ORDER(base, bits) */ -#else - MOV_L (EBX,REGIND(EDI)) /* WRITE_IN_BIT_ORDER(base, bits) */ -#endif -#endif - - ADD_L (CONST(36),EDI) /* base+=9 */ - CMP_L (CONST(0),width_arg) - JG (.L9_1) - -.L9_11: -#ifndef FIXEDBASE - MOV_L (EDI,EAX) /* return base */ -#else - MOV_L (base_arg,EAX) /* return base */ -#endif - MOV_L (REGOFF(0,ESP),EDI) /* POPL EDI */ - MOV_L (REGOFF(4,ESP),ESI) /* POPL ESI */ - MOV_L (REGOFF(8,ESP),EBX) /* POPL EBX */ - MOV_L (REGOFF(12,ESP),EBP) /* POPL EBP */ - ADD_L (CONST(16),ESP) - RET diff --git a/xorg-server/hw/xfree86/xaa/xaaWrapper.c b/xorg-server/hw/xfree86/xaa/xaaWrapper.c index 5d6ea05cf..88418946f 100644 --- a/xorg-server/hw/xfree86/xaa/xaaWrapper.c +++ b/xorg-server/hw/xfree86/xaa/xaaWrapper.c @@ -129,8 +129,10 @@ typedef struct _xaaWrapperGCPriv { #define xaaWrapperGCPriv(pGC) xaaWrapperGCPrivPtr pGCPriv = xaaWrapperGetGCPriv(pGC) -static DevPrivateKey xaaWrapperScrPrivateKey = &xaaWrapperScrPrivateKey; -static DevPrivateKey xaaWrapperGCPrivateKey = &xaaWrapperGCPrivateKey; +static int xaaWrapperScrPrivateKeyIndex; +static DevPrivateKey xaaWrapperScrPrivateKey = &xaaWrapperScrPrivateKeyIndex; +static int xaaWrapperGCPrivateKeyIndex; +static DevPrivateKey xaaWrapperGCPrivateKey = &xaaWrapperGCPrivateKeyIndex; static Bool xaaWrapperCreateScreenResources(ScreenPtr pScreen) diff --git a/xorg-server/hw/xfree86/xaa/xaalocal.h b/xorg-server/hw/xfree86/xaa/xaalocal.h index e25b9df52..69a59050c 100644 --- a/xorg-server/hw/xfree86/xaa/xaalocal.h +++ b/xorg-server/hw/xfree86/xaa/xaalocal.h @@ -1051,6 +1051,10 @@ StippleScanlineProcPtr *XAAGetStippleScanlineFuncMSBFirstFixedBase(void); StippleScanlineProcPtr *XAAGetStippleScanlineFuncMSBFirst(void); StippleScanlineProcPtr *XAAGetStippleScanlineFuncLSBFirstFixedBase(void); StippleScanlineProcPtr *XAAGetStippleScanlineFuncLSBFirst(void); +StippleScanlineProcPtr *XAAGetStippleScanlineFunc3MSBFirstFixedBase(void); +StippleScanlineProcPtr *XAAGetStippleScanlineFunc3MSBFirst(void); +StippleScanlineProcPtr *XAAGetStippleScanlineFunc3LSBFirstFixedBase(void); +StippleScanlineProcPtr *XAAGetStippleScanlineFunc3LSBFirst(void); int XAAPolyText8TEColorExpansion( diff --git a/xorg-server/hw/xfree86/xaa/xaawrap.h b/xorg-server/hw/xfree86/xaa/xaawrap.h index 38c97d70b..857dbc3ed 100644 --- a/xorg-server/hw/xfree86/xaa/xaawrap.h +++ b/xorg-server/hw/xfree86/xaa/xaawrap.h @@ -48,8 +48,8 @@ XAAPixmapPtr pixPriv = XAA_GET_PIXMAP_PRIVATE((PixmapPtr)(pDraw));\ GCFuncs *oldFuncs = pGC->funcs;\ pGC->funcs = pGCPriv->wrapFuncs;\ - pGC->ops = pGCPriv->wrapOps - + pGC->ops = pGCPriv->wrapOps; \ + SYNC_CHECK(pGC) #define XAA_PIXMAP_OP_EPILOGUE(pGC)\ pGCPriv->wrapOps = pGC->ops;\ diff --git a/xorg-server/hw/xfree86/xf1bpp/Makefile.am b/xorg-server/hw/xfree86/xf1bpp/Makefile.am deleted file mode 100644 index c724f760f..000000000 --- a/xorg-server/hw/xfree86/xf1bpp/Makefile.am +++ /dev/null @@ -1,178 +0,0 @@ -module_LTLIBRARIES = libxf1bpp.la - -sdk_HEADERS = xf1bpp.h mfbmap.h mfbunmap.h - -libxf1bpp_la_LDFLAGS = -avoid-version - -libxf1bppgen_a_SOURCES = \ - mfbseg.c \ - mfbpgbwht.c \ - mfbpgbblak.c \ - mfbpgbinv.c \ - mfbigbwht.c \ - mfbigbblak.c \ - mfbpawhite.c \ - mfbpablack.c \ - mfbpainv.c \ - mfbtewhite.c \ - mfbteblack.c \ - mfbplywhite.c \ - mfbplyblack.c \ - mfbplyinv.c \ - mfbbltC.c \ - mfbbltX.c \ - mfbbltCI.c \ - mfbbltO.c \ - mfbbltG.c \ - mfbtileC.c \ - mfbtileG.c - -libxf1bppmfb_a_SOURCES = \ - maskbits.c \ - mfbbitblt.c \ - mfbbres.c \ - mfbbresd.c \ - mfbclip.c \ - mfbcmap.c \ - mfbfillarc.c \ - mfbfillrct.c \ - mfbfillsp.c \ - mfbfont.c \ - mfbgc.c \ - mfbgetsp.c \ - mfbhrzvert.c \ - mfbimage.c \ - mfbline.c \ - mfbmisc.c \ - mfbpixmap.c \ - mfbpolypnt.c \ - mfbpushpxl.c \ - mfbscrclse.c \ - mfbscrinit.c \ - mfbsetsp.c \ - mfbwindow.c \ - mfbzerarc.c - -BUILT_SOURCES = $(libxf1bppmfb_a_SOURCES) $(libxf1bppgen_a_SOURCES) - -libxf1bpp_la_SOURCES = $(libxf1bppmfb_a_SOURCES) $(libxf1bppgen_a_SOURCES) \ - mfbmodule.c - -AM_CFLAGS = -DXF86MONO $(DIX_CFLAGS) $(XORG_CFLAGS) -INCLUDES = $(XORG_INCS) -I$(top_srcdir)/mfb - -mfbseg.c: - echo "#define POLYSEGMENT" > $@ - echo "#include \"mfbmap.h\"" >> $@ - echo "#include \"$(top_srcdir)/mfb/mfbline.c\"" >> $@ -mfbpgbwht.c: - echo "#define MFBPOLYGLYPHBLT xf1bppPolyGlyphBltWhite" > $@ - echo "#define OPEQ |=" >> $@ - echo "#include \"mfbmap.h\"" >> $@ - echo "#include \"$(top_srcdir)/mfb/mfbplygblt.c\"" >> $@ -mfbpgbblak.c: - echo "#define MFBPOLYGLYPHBLT xf1bppPolyGlyphBltBlack" > $@ - echo "#define OPEQ &=~" >> $@ - echo "#include \"mfbmap.h\"" >> $@ - echo "#include \"$(top_srcdir)/mfb/mfbplygblt.c\"" >> $@ -mfbpgbinv.c: - echo "#define MFBPOLYGLYPHBLT xf1bppPolyGlyphBltInvert" > $@ - echo "#define OPEQ ^=" >> $@ - echo "#include \"mfbmap.h\"" >> $@ - echo "#include \"$(top_srcdir)/mfb/mfbplygblt.c\"" >> $@ -mfbigbwht.c: - echo "#define MFBIMAGEGLYPHBLT xf1bppImageGlyphBltWhite" > $@ - echo "#define OPEQ |=" >> $@ - echo "#include \"mfbmap.h\"" >> $@ - echo "#include \"$(top_srcdir)/mfb/mfbimggblt.c\"" >> $@ -mfbigbblak.c: - echo "#define MFBIMAGEGLYPHBLT xf1bppImageGlyphBltBlack" > $@ - echo "#define OPEQ &=~" >> $@ - echo "#include \"mfbmap.h\"" >> $@ - echo "#include \"$(top_srcdir)/mfb/mfbimggblt.c\"" >> $@ -mfbpawhite.c: - echo "#define MFBSOLIDFILLAREA xf1bppSolidWhiteArea" > $@ - echo "#define MFBSTIPPLEFILLAREA xf1bppStippleWhiteArea" >> $@ - echo "#define OPEQ |=" >> $@ - echo "#define EQWHOLEWORD =~0" >> $@ - echo "#include \"mfbmap.h\"" >> $@ - echo "#include \"$(top_srcdir)/mfb/mfbpntarea.c\"" >> $@ -mfbpablack.c: - echo "#define MFBSOLIDFILLAREA xf1bppSolidBlackArea" > $@ - echo "#define MFBSTIPPLEFILLAREA xf1bppStippleBlackArea" >> $@ - echo "#define OPEQ &=~" >> $@ - echo "#define EQWHOLEWORD =0" >> $@ - echo "#include \"mfbmap.h\"" >> $@ - echo "#include \"$(top_srcdir)/mfb/mfbpntarea.c\"" >> $@ -mfbpainv.c: - echo "#define MFBSOLIDFILLAREA xf1bppSolidInvertArea" > $@ - echo "#define MFBSTIPPLEFILLAREA xf1bppStippleInvertArea" >> $@ - echo "#define OPEQ ^=" >> $@ - echo "#define EQWHOLEWORD ^=~0" >> $@ - echo "#include \"mfbmap.h\"" >> $@ - echo "#include \"$(top_srcdir)/mfb/mfbpntarea.c\"" >> $@ -mfbtewhite.c: - echo "#define OP" > $@ - echo "#define CLIPTETEXT xf1bppImageGlyphBltWhite" >> $@ - echo "#define MFBTEGLYPHBLT xf1bppTEGlyphBltWhite" >> $@ - echo "#include \"mfbmap.h\"" >> $@ - echo "#include \"$(top_srcdir)/mfb/mfbtegblt.c\"" >> $@ -mfbteblack.c: - echo "#define OP ~" > $@ - echo "#define CLIPTETEXT xf1bppImageGlyphBltBlack" >> $@ - echo "#define MFBTEGLYPHBLT xf1bppTEGlyphBltBlack" >> $@ - echo "#include \"mfbmap.h\"" >> $@ - echo "#include \"$(top_srcdir)/mfb/mfbtegblt.c\"" >> $@ -mfbplywhite.c: - echo "#define MFBFILLPOLY1RECT xf1bppFillPolyWhite" > $@ - echo "#define OPEQ |=" >> $@ - echo "#define EQWHOLEWORD =~0" >> $@ - echo "#include \"mfbmap.h\"" >> $@ - echo "#include \"$(top_srcdir)/mfb/mfbply1rct.c\"" >> $@ -mfbplyblack.c: - echo "#define MFBFILLPOLY1RECT xf1bppFillPolyBlack" > $@ - echo "#define OPEQ &=~" >> $@ - echo "#define EQWHOLEWORD =0" >> $@ - echo "#include \"mfbmap.h\"" >> $@ - echo "#include \"$(top_srcdir)/mfb/mfbply1rct.c\"" >> $@ -mfbplyinv.c: - echo "#define MFBFILLPOLY1RECT xf1bppFillPolyInvert" > $@ - echo "#define OPEQ ^=" >> $@ - echo "#define EQWHOLEWORD ^=~0" >> $@ - echo "#include \"mfbmap.h\"" >> $@ - echo "#include \"$(top_srcdir)/mfb/mfbply1rct.c\"" >> $@ -mfbbltC.c: - echo "#define MROP Mcopy" > $@ - echo "#include \"mfbmap.h\"" >> $@ - echo "#include \"$(top_srcdir)/mfb/mfbblt.c\"" >> $@ -mfbbltX.c: - echo "#define MROP Mxor" > $@ - echo "#include \"mfbmap.h\"" >> $@ - echo "#include \"$(top_srcdir)/mfb/mfbblt.c\"" >> $@ -mfbbltCI.c: - echo "#define MROP McopyInverted" > $@ - echo "#include \"mfbmap.h\"" >> $@ - echo "#include \"$(top_srcdir)/mfb/mfbblt.c\"" >> $@ -mfbbltO.c: - echo "#define MROP Mor" > $@ - echo "#include \"mfbmap.h\"" >> $@ - echo "#include \"$(top_srcdir)/mfb/mfbblt.c\"" >> $@ -mfbbltG.c: - echo "#define MROP M0" > $@ - echo "#include \"mfbmap.h\"" >> $@ - echo "#include \"$(top_srcdir)/mfb/mfbblt.c\"" >> $@ -mfbtileC.c: - echo "#define MROP Mcopy" > $@ - echo "#include \"mfbmap.h\"" >> $@ - echo "#include \"$(top_srcdir)/mfb/mfbtile.c\"" >> $@ -mfbtileG.c: - echo "#define MRop M0" > $@ - echo "#include \"mfbmap.h\"" >> $@ - echo "#include \"$(top_srcdir)/mfb/mfbtile.c\"" >> $@ - -$(libxf1bppmfb_a_SOURCES): - echo "#include \"mfbmap.h\"" > $@ - echo "#include \"$(top_srcdir)/mfb/$@\"" >> $@ - -EXTRA_DIST = mfbmap.sh mfbunmap.sh -DISTCLEANFILES = $(BUILT_SOURCES) diff --git a/xorg-server/hw/xfree86/xf1bpp/Makefile.in b/xorg-server/hw/xfree86/xf1bpp/Makefile.in deleted file mode 100644 index d57f4e994..000000000 --- a/xorg-server/hw/xfree86/xf1bpp/Makefile.in +++ /dev/null @@ -1,929 +0,0 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008 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 = hw/xfree86/xf1bpp -DIST_COMMON = $(sdk_HEADERS) $(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__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)$(moduledir)" "$(DESTDIR)$(sdkdir)" -moduleLTLIBRARIES_INSTALL = $(INSTALL) -LTLIBRARIES = $(module_LTLIBRARIES) -libxf1bpp_la_LIBADD = -am__objects_1 = maskbits.lo mfbbitblt.lo mfbbres.lo mfbbresd.lo \ - mfbclip.lo mfbcmap.lo mfbfillarc.lo mfbfillrct.lo mfbfillsp.lo \ - mfbfont.lo mfbgc.lo mfbgetsp.lo mfbhrzvert.lo mfbimage.lo \ - mfbline.lo mfbmisc.lo mfbpixmap.lo mfbpolypnt.lo mfbpushpxl.lo \ - mfbscrclse.lo mfbscrinit.lo mfbsetsp.lo mfbwindow.lo \ - mfbzerarc.lo -am__objects_2 = mfbseg.lo mfbpgbwht.lo mfbpgbblak.lo mfbpgbinv.lo \ - mfbigbwht.lo mfbigbblak.lo mfbpawhite.lo mfbpablack.lo \ - mfbpainv.lo mfbtewhite.lo mfbteblack.lo mfbplywhite.lo \ - mfbplyblack.lo mfbplyinv.lo mfbbltC.lo mfbbltX.lo mfbbltCI.lo \ - mfbbltO.lo mfbbltG.lo mfbtileC.lo mfbtileG.lo -am_libxf1bpp_la_OBJECTS = $(am__objects_1) $(am__objects_2) \ - mfbmodule.lo -libxf1bpp_la_OBJECTS = $(am_libxf1bpp_la_OBJECTS) -libxf1bpp_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(libxf1bpp_la_LDFLAGS) $(LDFLAGS) -o $@ -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include -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 = $(libxf1bpp_la_SOURCES) -DIST_SOURCES = $(libxf1bpp_la_SOURCES) -sdkHEADERS_INSTALL = $(INSTALL_HEADER) -HEADERS = $(sdk_HEADERS) -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@ -DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ -DRI2PROTO_LIBS = @DRI2PROTO_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@ -DSYMUTIL = @DSYMUTIL@ -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@ -GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ -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@ -LAUNCHD = @LAUNCHD@ -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@ -NMEDIT = @NMEDIT@ -OBJC = @OBJC@ -OBJCCLD = @OBJCCLD@ -OBJCDEPMODE = @OBJCDEPMODE@ -OBJCFLAGS = @OBJCFLAGS@ -OBJCLINK = @OBJCLINK@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ -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@ -PCIACCESS_CFLAGS = @PCIACCESS_CFLAGS@ -PCIACCESS_LIBS = @PCIACCESS_LIBS@ -PCI_TXT_IDS_PATH = @PCI_TXT_IDS_PATH@ -PERL = @PERL@ -PKG_CONFIG = @PKG_CONFIG@ -PROJECTROOT = @PROJECTROOT@ -PS2PDF = @PS2PDF@ -RANLIB = @RANLIB@ -RAWCPP = @RAWCPP@ -RAWCPPFLAGS = @RAWCPPFLAGS@ -SED = @SED@ -SERVER_MISC_CONFIG_PATH = @SERVER_MISC_CONFIG_PATH@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ -SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ -STRIP = @STRIP@ -TSLIB_CFLAGS = @TSLIB_CFLAGS@ -TSLIB_LIBS = @TSLIB_LIBS@ -UTILS_SYS_LIBS = @UTILS_SYS_LIBS@ -VENDOR_MAN_VERSION = @VENDOR_MAN_VERSION@ -VENDOR_NAME = @VENDOR_NAME@ -VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ -VENDOR_RELEASE = @VENDOR_RELEASE@ -VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ -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_CFLAGS = @XDMX_CFLAGS@ -XDMX_LIBS = @XDMX_LIBS@ -XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ -XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ -XEPHYR_INCS = @XEPHYR_INCS@ -XEPHYR_LIBS = @XEPHYR_LIBS@ -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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ -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@ -XNEST_SYS_LIBS = @XNEST_SYS_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_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@ -XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_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@ -XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ -XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ -XTSTEXAMPLES_DEP_LIBS = @XTSTEXAMPLES_DEP_LIBS@ -XVFB_LIBS = @XVFB_LIBS@ -XVFB_SYS_LIBS = @XVFB_SYS_LIBS@ -XWINMODULES_CFLAGS = @XWINMODULES_CFLAGS@ -XWINMODULES_LIBS = @XWINMODULES_LIBS@ -XWIN_LIBS = @XWIN_LIBS@ -XWIN_SERVER_NAME = @XWIN_SERVER_NAME@ -XWIN_SYS_LIBS = @XWIN_SYS_LIBS@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -__XCONFIGFILE__ = @__XCONFIGFILE__@ -abi_ansic = @abi_ansic@ -abi_extension = @abi_extension@ -abi_font = @abi_font@ -abi_videodrv = @abi_videodrv@ -abi_xinput = @abi_xinput@ -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@ -launchagentsdir = @launchagentsdir@ -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_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ -module_LTLIBRARIES = libxf1bpp.la -sdk_HEADERS = xf1bpp.h mfbmap.h mfbunmap.h -libxf1bpp_la_LDFLAGS = -avoid-version -libxf1bppgen_a_SOURCES = \ - mfbseg.c \ - mfbpgbwht.c \ - mfbpgbblak.c \ - mfbpgbinv.c \ - mfbigbwht.c \ - mfbigbblak.c \ - mfbpawhite.c \ - mfbpablack.c \ - mfbpainv.c \ - mfbtewhite.c \ - mfbteblack.c \ - mfbplywhite.c \ - mfbplyblack.c \ - mfbplyinv.c \ - mfbbltC.c \ - mfbbltX.c \ - mfbbltCI.c \ - mfbbltO.c \ - mfbbltG.c \ - mfbtileC.c \ - mfbtileG.c - -libxf1bppmfb_a_SOURCES = \ - maskbits.c \ - mfbbitblt.c \ - mfbbres.c \ - mfbbresd.c \ - mfbclip.c \ - mfbcmap.c \ - mfbfillarc.c \ - mfbfillrct.c \ - mfbfillsp.c \ - mfbfont.c \ - mfbgc.c \ - mfbgetsp.c \ - mfbhrzvert.c \ - mfbimage.c \ - mfbline.c \ - mfbmisc.c \ - mfbpixmap.c \ - mfbpolypnt.c \ - mfbpushpxl.c \ - mfbscrclse.c \ - mfbscrinit.c \ - mfbsetsp.c \ - mfbwindow.c \ - mfbzerarc.c - -BUILT_SOURCES = $(libxf1bppmfb_a_SOURCES) $(libxf1bppgen_a_SOURCES) -libxf1bpp_la_SOURCES = $(libxf1bppmfb_a_SOURCES) $(libxf1bppgen_a_SOURCES) \ - mfbmodule.c - -AM_CFLAGS = -DXF86MONO $(DIX_CFLAGS) $(XORG_CFLAGS) -INCLUDES = $(XORG_INCS) -I$(top_srcdir)/mfb -EXTRA_DIST = mfbmap.sh mfbunmap.sh -DISTCLEANFILES = $(BUILT_SOURCES) -all: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) 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/xfree86/xf1bpp/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign hw/xfree86/xf1bpp/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-moduleLTLIBRARIES: $(module_LTLIBRARIES) - @$(NORMAL_INSTALL) - test -z "$(moduledir)" || $(MKDIR_P) "$(DESTDIR)$(moduledir)" - @list='$(module_LTLIBRARIES)'; for p in $$list; do \ - if test -f $$p; then \ - f=$(am__strip_dir) \ - echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(moduleLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(moduledir)/$$f'"; \ - $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(moduleLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(moduledir)/$$f"; \ - else :; fi; \ - done - -uninstall-moduleLTLIBRARIES: - @$(NORMAL_UNINSTALL) - @list='$(module_LTLIBRARIES)'; for p in $$list; do \ - p=$(am__strip_dir) \ - echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(moduledir)/$$p'"; \ - $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(moduledir)/$$p"; \ - done - -clean-moduleLTLIBRARIES: - -test -z "$(module_LTLIBRARIES)" || rm -f $(module_LTLIBRARIES) - @list='$(module_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 -libxf1bpp.la: $(libxf1bpp_la_OBJECTS) $(libxf1bpp_la_DEPENDENCIES) - $(libxf1bpp_la_LINK) -rpath $(moduledir) $(libxf1bpp_la_OBJECTS) $(libxf1bpp_la_LIBADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/maskbits.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mfbbitblt.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mfbbltC.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mfbbltCI.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mfbbltG.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mfbbltO.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mfbbltX.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mfbbres.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mfbbresd.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mfbclip.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mfbcmap.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mfbfillarc.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mfbfillrct.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mfbfillsp.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mfbfont.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mfbgc.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mfbgetsp.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mfbhrzvert.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mfbigbblak.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mfbigbwht.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mfbimage.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mfbline.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mfbmisc.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mfbmodule.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mfbpablack.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mfbpainv.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mfbpawhite.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mfbpgbblak.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mfbpgbinv.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mfbpgbwht.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mfbpixmap.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mfbplyblack.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mfbplyinv.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mfbplywhite.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mfbpolypnt.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mfbpushpxl.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mfbscrclse.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mfbscrinit.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mfbseg.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mfbsetsp.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mfbteblack.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mfbtewhite.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mfbtileC.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mfbtileG.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mfbwindow.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mfbzerarc.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 -install-sdkHEADERS: $(sdk_HEADERS) - @$(NORMAL_INSTALL) - test -z "$(sdkdir)" || $(MKDIR_P) "$(DESTDIR)$(sdkdir)" - @list='$(sdk_HEADERS)'; for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f=$(am__strip_dir) \ - echo " $(sdkHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(sdkdir)/$$f'"; \ - $(sdkHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(sdkdir)/$$f"; \ - done - -uninstall-sdkHEADERS: - @$(NORMAL_UNINSTALL) - @list='$(sdk_HEADERS)'; for p in $$list; do \ - f=$(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(sdkdir)/$$f'"; \ - rm -f "$(DESTDIR)$(sdkdir)/$$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; nonemtpy = 1; } \ - END { if (nonempty) { 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; nonempty = 1; } \ - END { if (nonempty) { 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=; \ - 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; nonempty = 1; } \ - END { if (nonempty) { 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: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) check-am -all-am: Makefile $(LTLIBRARIES) $(HEADERS) -installdirs: - for dir in "$(DESTDIR)$(moduledir)" "$(DESTDIR)$(sdkdir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) 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) - -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." - -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) -clean: clean-am - -clean-am: clean-generic clean-libtool clean-moduleLTLIBRARIES \ - 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-moduleLTLIBRARIES install-sdkHEADERS - -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-moduleLTLIBRARIES uninstall-sdkHEADERS - -.MAKE: install-am install-strip - -.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ - clean-libtool clean-moduleLTLIBRARIES 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-moduleLTLIBRARIES install-pdf install-pdf-am \ - install-ps install-ps-am install-sdkHEADERS 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-moduleLTLIBRARIES \ - uninstall-sdkHEADERS - - -mfbseg.c: - echo "#define POLYSEGMENT" > $@ - echo "#include \"mfbmap.h\"" >> $@ - echo "#include \"$(top_srcdir)/mfb/mfbline.c\"" >> $@ -mfbpgbwht.c: - echo "#define MFBPOLYGLYPHBLT xf1bppPolyGlyphBltWhite" > $@ - echo "#define OPEQ |=" >> $@ - echo "#include \"mfbmap.h\"" >> $@ - echo "#include \"$(top_srcdir)/mfb/mfbplygblt.c\"" >> $@ -mfbpgbblak.c: - echo "#define MFBPOLYGLYPHBLT xf1bppPolyGlyphBltBlack" > $@ - echo "#define OPEQ &=~" >> $@ - echo "#include \"mfbmap.h\"" >> $@ - echo "#include \"$(top_srcdir)/mfb/mfbplygblt.c\"" >> $@ -mfbpgbinv.c: - echo "#define MFBPOLYGLYPHBLT xf1bppPolyGlyphBltInvert" > $@ - echo "#define OPEQ ^=" >> $@ - echo "#include \"mfbmap.h\"" >> $@ - echo "#include \"$(top_srcdir)/mfb/mfbplygblt.c\"" >> $@ -mfbigbwht.c: - echo "#define MFBIMAGEGLYPHBLT xf1bppImageGlyphBltWhite" > $@ - echo "#define OPEQ |=" >> $@ - echo "#include \"mfbmap.h\"" >> $@ - echo "#include \"$(top_srcdir)/mfb/mfbimggblt.c\"" >> $@ -mfbigbblak.c: - echo "#define MFBIMAGEGLYPHBLT xf1bppImageGlyphBltBlack" > $@ - echo "#define OPEQ &=~" >> $@ - echo "#include \"mfbmap.h\"" >> $@ - echo "#include \"$(top_srcdir)/mfb/mfbimggblt.c\"" >> $@ -mfbpawhite.c: - echo "#define MFBSOLIDFILLAREA xf1bppSolidWhiteArea" > $@ - echo "#define MFBSTIPPLEFILLAREA xf1bppStippleWhiteArea" >> $@ - echo "#define OPEQ |=" >> $@ - echo "#define EQWHOLEWORD =~0" >> $@ - echo "#include \"mfbmap.h\"" >> $@ - echo "#include \"$(top_srcdir)/mfb/mfbpntarea.c\"" >> $@ -mfbpablack.c: - echo "#define MFBSOLIDFILLAREA xf1bppSolidBlackArea" > $@ - echo "#define MFBSTIPPLEFILLAREA xf1bppStippleBlackArea" >> $@ - echo "#define OPEQ &=~" >> $@ - echo "#define EQWHOLEWORD =0" >> $@ - echo "#include \"mfbmap.h\"" >> $@ - echo "#include \"$(top_srcdir)/mfb/mfbpntarea.c\"" >> $@ -mfbpainv.c: - echo "#define MFBSOLIDFILLAREA xf1bppSolidInvertArea" > $@ - echo "#define MFBSTIPPLEFILLAREA xf1bppStippleInvertArea" >> $@ - echo "#define OPEQ ^=" >> $@ - echo "#define EQWHOLEWORD ^=~0" >> $@ - echo "#include \"mfbmap.h\"" >> $@ - echo "#include \"$(top_srcdir)/mfb/mfbpntarea.c\"" >> $@ -mfbtewhite.c: - echo "#define OP" > $@ - echo "#define CLIPTETEXT xf1bppImageGlyphBltWhite" >> $@ - echo "#define MFBTEGLYPHBLT xf1bppTEGlyphBltWhite" >> $@ - echo "#include \"mfbmap.h\"" >> $@ - echo "#include \"$(top_srcdir)/mfb/mfbtegblt.c\"" >> $@ -mfbteblack.c: - echo "#define OP ~" > $@ - echo "#define CLIPTETEXT xf1bppImageGlyphBltBlack" >> $@ - echo "#define MFBTEGLYPHBLT xf1bppTEGlyphBltBlack" >> $@ - echo "#include \"mfbmap.h\"" >> $@ - echo "#include \"$(top_srcdir)/mfb/mfbtegblt.c\"" >> $@ -mfbplywhite.c: - echo "#define MFBFILLPOLY1RECT xf1bppFillPolyWhite" > $@ - echo "#define OPEQ |=" >> $@ - echo "#define EQWHOLEWORD =~0" >> $@ - echo "#include \"mfbmap.h\"" >> $@ - echo "#include \"$(top_srcdir)/mfb/mfbply1rct.c\"" >> $@ -mfbplyblack.c: - echo "#define MFBFILLPOLY1RECT xf1bppFillPolyBlack" > $@ - echo "#define OPEQ &=~" >> $@ - echo "#define EQWHOLEWORD =0" >> $@ - echo "#include \"mfbmap.h\"" >> $@ - echo "#include \"$(top_srcdir)/mfb/mfbply1rct.c\"" >> $@ -mfbplyinv.c: - echo "#define MFBFILLPOLY1RECT xf1bppFillPolyInvert" > $@ - echo "#define OPEQ ^=" >> $@ - echo "#define EQWHOLEWORD ^=~0" >> $@ - echo "#include \"mfbmap.h\"" >> $@ - echo "#include \"$(top_srcdir)/mfb/mfbply1rct.c\"" >> $@ -mfbbltC.c: - echo "#define MROP Mcopy" > $@ - echo "#include \"mfbmap.h\"" >> $@ - echo "#include \"$(top_srcdir)/mfb/mfbblt.c\"" >> $@ -mfbbltX.c: - echo "#define MROP Mxor" > $@ - echo "#include \"mfbmap.h\"" >> $@ - echo "#include \"$(top_srcdir)/mfb/mfbblt.c\"" >> $@ -mfbbltCI.c: - echo "#define MROP McopyInverted" > $@ - echo "#include \"mfbmap.h\"" >> $@ - echo "#include \"$(top_srcdir)/mfb/mfbblt.c\"" >> $@ -mfbbltO.c: - echo "#define MROP Mor" > $@ - echo "#include \"mfbmap.h\"" >> $@ - echo "#include \"$(top_srcdir)/mfb/mfbblt.c\"" >> $@ -mfbbltG.c: - echo "#define MROP M0" > $@ - echo "#include \"mfbmap.h\"" >> $@ - echo "#include \"$(top_srcdir)/mfb/mfbblt.c\"" >> $@ -mfbtileC.c: - echo "#define MROP Mcopy" > $@ - echo "#include \"mfbmap.h\"" >> $@ - echo "#include \"$(top_srcdir)/mfb/mfbtile.c\"" >> $@ -mfbtileG.c: - echo "#define MRop M0" > $@ - echo "#include \"mfbmap.h\"" >> $@ - echo "#include \"$(top_srcdir)/mfb/mfbtile.c\"" >> $@ - -$(libxf1bppmfb_a_SOURCES): - echo "#include \"mfbmap.h\"" > $@ - echo "#include \"$(top_srcdir)/mfb/$@\"" >> $@ -# 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/xorg-server/hw/xfree86/xf1bpp/maskbits.c b/xorg-server/hw/xfree86/xf1bpp/maskbits.c deleted file mode 100644 index a8869b2fd..000000000 --- a/xorg-server/hw/xfree86/xf1bpp/maskbits.c +++ /dev/null @@ -1,2 +0,0 @@ -#include "mfbmap.h" -#include "../../../mfb/maskbits.c" diff --git a/xorg-server/hw/xfree86/xf1bpp/mfbbitblt.c b/xorg-server/hw/xfree86/xf1bpp/mfbbitblt.c deleted file mode 100644 index dd41a79f4..000000000 --- a/xorg-server/hw/xfree86/xf1bpp/mfbbitblt.c +++ /dev/null @@ -1,2 +0,0 @@ -#include "mfbmap.h" -#include "../../../mfb/mfbbitblt.c" diff --git a/xorg-server/hw/xfree86/xf1bpp/mfbbltC.c b/xorg-server/hw/xfree86/xf1bpp/mfbbltC.c deleted file mode 100644 index 83c9066c6..000000000 --- a/xorg-server/hw/xfree86/xf1bpp/mfbbltC.c +++ /dev/null @@ -1,3 +0,0 @@ -#define MROP Mcopy -#include "mfbmap.h" -#include "../../../mfb/mfbblt.c" diff --git a/xorg-server/hw/xfree86/xf1bpp/mfbbltCI.c b/xorg-server/hw/xfree86/xf1bpp/mfbbltCI.c deleted file mode 100644 index c436d1533..000000000 --- a/xorg-server/hw/xfree86/xf1bpp/mfbbltCI.c +++ /dev/null @@ -1,3 +0,0 @@ -#define MROP McopyInverted -#include "mfbmap.h" -#include "../../../mfb/mfbblt.c" diff --git a/xorg-server/hw/xfree86/xf1bpp/mfbbltG.c b/xorg-server/hw/xfree86/xf1bpp/mfbbltG.c deleted file mode 100644 index 8ecd93835..000000000 --- a/xorg-server/hw/xfree86/xf1bpp/mfbbltG.c +++ /dev/null @@ -1,3 +0,0 @@ -#define MROP M0 -#include "mfbmap.h" -#include "../../../mfb/mfbblt.c" diff --git a/xorg-server/hw/xfree86/xf1bpp/mfbbltO.c b/xorg-server/hw/xfree86/xf1bpp/mfbbltO.c deleted file mode 100644 index 2e463a993..000000000 --- a/xorg-server/hw/xfree86/xf1bpp/mfbbltO.c +++ /dev/null @@ -1,3 +0,0 @@ -#define MROP Mor -#include "mfbmap.h" -#include "../../../mfb/mfbblt.c" diff --git a/xorg-server/hw/xfree86/xf1bpp/mfbbltX.c b/xorg-server/hw/xfree86/xf1bpp/mfbbltX.c deleted file mode 100644 index 2c26467c0..000000000 --- a/xorg-server/hw/xfree86/xf1bpp/mfbbltX.c +++ /dev/null @@ -1,3 +0,0 @@ -#define MROP Mxor -#include "mfbmap.h" -#include "../../../mfb/mfbblt.c" diff --git a/xorg-server/hw/xfree86/xf1bpp/mfbbres.c b/xorg-server/hw/xfree86/xf1bpp/mfbbres.c deleted file mode 100644 index 3ff1187b2..000000000 --- a/xorg-server/hw/xfree86/xf1bpp/mfbbres.c +++ /dev/null @@ -1,2 +0,0 @@ -#include "mfbmap.h" -#include "../../../mfb/mfbbres.c" diff --git a/xorg-server/hw/xfree86/xf1bpp/mfbbresd.c b/xorg-server/hw/xfree86/xf1bpp/mfbbresd.c deleted file mode 100644 index b745fb6bc..000000000 --- a/xorg-server/hw/xfree86/xf1bpp/mfbbresd.c +++ /dev/null @@ -1,2 +0,0 @@ -#include "mfbmap.h" -#include "../../../mfb/mfbbresd.c" diff --git a/xorg-server/hw/xfree86/xf1bpp/mfbclip.c b/xorg-server/hw/xfree86/xf1bpp/mfbclip.c deleted file mode 100644 index 2fadd7682..000000000 --- a/xorg-server/hw/xfree86/xf1bpp/mfbclip.c +++ /dev/null @@ -1,2 +0,0 @@ -#include "mfbmap.h" -#include "../../../mfb/mfbclip.c" diff --git a/xorg-server/hw/xfree86/xf1bpp/mfbcmap.c b/xorg-server/hw/xfree86/xf1bpp/mfbcmap.c deleted file mode 100644 index 5255927a2..000000000 --- a/xorg-server/hw/xfree86/xf1bpp/mfbcmap.c +++ /dev/null @@ -1,2 +0,0 @@ -#include "mfbmap.h" -#include "../../../mfb/mfbcmap.c" diff --git a/xorg-server/hw/xfree86/xf1bpp/mfbfillarc.c b/xorg-server/hw/xfree86/xf1bpp/mfbfillarc.c deleted file mode 100644 index 8d7cca2ba..000000000 --- a/xorg-server/hw/xfree86/xf1bpp/mfbfillarc.c +++ /dev/null @@ -1,2 +0,0 @@ -#include "mfbmap.h" -#include "../../../mfb/mfbfillarc.c" diff --git a/xorg-server/hw/xfree86/xf1bpp/mfbfillrct.c b/xorg-server/hw/xfree86/xf1bpp/mfbfillrct.c deleted file mode 100644 index 2ec87f4b2..000000000 --- a/xorg-server/hw/xfree86/xf1bpp/mfbfillrct.c +++ /dev/null @@ -1,2 +0,0 @@ -#include "mfbmap.h" -#include "../../../mfb/mfbfillrct.c" diff --git a/xorg-server/hw/xfree86/xf1bpp/mfbfillsp.c b/xorg-server/hw/xfree86/xf1bpp/mfbfillsp.c deleted file mode 100644 index 9c89144e8..000000000 --- a/xorg-server/hw/xfree86/xf1bpp/mfbfillsp.c +++ /dev/null @@ -1,2 +0,0 @@ -#include "mfbmap.h" -#include "../../../mfb/mfbfillsp.c" diff --git a/xorg-server/hw/xfree86/xf1bpp/mfbfont.c b/xorg-server/hw/xfree86/xf1bpp/mfbfont.c deleted file mode 100644 index d3201a145..000000000 --- a/xorg-server/hw/xfree86/xf1bpp/mfbfont.c +++ /dev/null @@ -1,2 +0,0 @@ -#include "mfbmap.h" -#include "../../../mfb/mfbfont.c" diff --git a/xorg-server/hw/xfree86/xf1bpp/mfbgc.c b/xorg-server/hw/xfree86/xf1bpp/mfbgc.c deleted file mode 100644 index f17eec900..000000000 --- a/xorg-server/hw/xfree86/xf1bpp/mfbgc.c +++ /dev/null @@ -1,2 +0,0 @@ -#include "mfbmap.h" -#include "../../../mfb/mfbgc.c" diff --git a/xorg-server/hw/xfree86/xf1bpp/mfbgetsp.c b/xorg-server/hw/xfree86/xf1bpp/mfbgetsp.c deleted file mode 100644 index 3638cb85a..000000000 --- a/xorg-server/hw/xfree86/xf1bpp/mfbgetsp.c +++ /dev/null @@ -1,2 +0,0 @@ -#include "mfbmap.h" -#include "../../../mfb/mfbgetsp.c" diff --git a/xorg-server/hw/xfree86/xf1bpp/mfbhrzvert.c b/xorg-server/hw/xfree86/xf1bpp/mfbhrzvert.c deleted file mode 100644 index 0b76abfee..000000000 --- a/xorg-server/hw/xfree86/xf1bpp/mfbhrzvert.c +++ /dev/null @@ -1,2 +0,0 @@ -#include "mfbmap.h" -#include "../../../mfb/mfbhrzvert.c" diff --git a/xorg-server/hw/xfree86/xf1bpp/mfbigbblak.c b/xorg-server/hw/xfree86/xf1bpp/mfbigbblak.c deleted file mode 100644 index 628631d53..000000000 --- a/xorg-server/hw/xfree86/xf1bpp/mfbigbblak.c +++ /dev/null @@ -1,4 +0,0 @@ -#define MFBIMAGEGLYPHBLT xf1bppImageGlyphBltBlack -#define OPEQ &=~ -#include "mfbmap.h" -#include "../../../mfb/mfbimggblt.c" diff --git a/xorg-server/hw/xfree86/xf1bpp/mfbigbwht.c b/xorg-server/hw/xfree86/xf1bpp/mfbigbwht.c deleted file mode 100644 index c35f241bc..000000000 --- a/xorg-server/hw/xfree86/xf1bpp/mfbigbwht.c +++ /dev/null @@ -1,4 +0,0 @@ -#define MFBIMAGEGLYPHBLT xf1bppImageGlyphBltWhite -#define OPEQ |= -#include "mfbmap.h" -#include "../../../mfb/mfbimggblt.c" diff --git a/xorg-server/hw/xfree86/xf1bpp/mfbimage.c b/xorg-server/hw/xfree86/xf1bpp/mfbimage.c deleted file mode 100644 index cd43fe076..000000000 --- a/xorg-server/hw/xfree86/xf1bpp/mfbimage.c +++ /dev/null @@ -1,2 +0,0 @@ -#include "mfbmap.h" -#include "../../../mfb/mfbimage.c" diff --git a/xorg-server/hw/xfree86/xf1bpp/mfbline.c b/xorg-server/hw/xfree86/xf1bpp/mfbline.c deleted file mode 100644 index dccff150f..000000000 --- a/xorg-server/hw/xfree86/xf1bpp/mfbline.c +++ /dev/null @@ -1,2 +0,0 @@ -#include "mfbmap.h" -#include "../../../mfb/mfbline.c" diff --git a/xorg-server/hw/xfree86/xf1bpp/mfbmap.h b/xorg-server/hw/xfree86/xf1bpp/mfbmap.h deleted file mode 100644 index e330ebd5b..000000000 --- a/xorg-server/hw/xfree86/xf1bpp/mfbmap.h +++ /dev/null @@ -1,122 +0,0 @@ - -#ifndef _MFBMAP_H -#define _MFBMAP_H - -#define InverseAlu xf1bppInverseAlu -#define endtab xf1bppendtab -#define mask xf1bppmask -#define mergeRopBits xf1bppmergeRopBits -#define mergeGetRopBits xf1bppmergeGetRopBits -#define mfbAllocatePrivates xf1bppAllocatePrivates -#define mfbBSFuncRec xf1bppBSFuncRec -#define mfbBlackSolidFS xf1bppBlackSolidFS -#define mfbBlackStippleFS xf1bppBlackStippleFS -#define mfbBresD xf1bppBresD -#define mfbBresS xf1bppBresS -#define mfbChangeWindowAttributes xf1bppChangeWindowAttributes -#define mfbCloseScreen xf1bppCloseScreen -#define mfbCopyArea xf1bppCopyArea -#define mfbCopyPixmap xf1bppCopyPixmap -#define mfbCopyPlane xf1bppCopyPlane -#define mfbCopyRotatePixmap xf1bppCopyRotatePixmap -#define mfbCopyWindow xf1bppCopyWindow -#define mfbCreateColormap xf1bppCreateColormap -#define mfbCreateDefColormap xf1bppCreateDefColormap -#define mfbCreateGC xf1bppCreateGC -#define mfbCreatePixmap xf1bppCreatePixmap -#define mfbCreateWindow xf1bppCreateWindow -#define mfbDestroyColormap xf1bppDestroyColormap -#define mfbDestroyPixmap xf1bppDestroyPixmap -#define mfbDestroyWindow xf1bppDestroyWindow -#define mfbDoBitblt xf1bppDoBitblt -#define mfbDoBitbltCopy xf1bppDoBitbltCopy -#define mfbDoBitbltCopyInverted xf1bppDoBitbltCopyInverted -#define mfbDoBitbltGeneral xf1bppDoBitbltGeneral -#define mfbDoBitbltOr xf1bppDoBitbltOr -#define mfbDoBitbltXor xf1bppDoBitbltXor -#define mfbFillInScreen xf1bppFillInScreen -#define mfbFillPolyBlack xf1bppFillPolyBlack -#define mfbFillPolyInvert xf1bppFillPolyInvert -#define mfbFillPolyWhite xf1bppFillPolyWhite -#define mfbGCPrivateIndex xf1bppGCPrivateIndex -#define mfbGetGCPrivateIndex xf1bppGetGCPrivateIndex -#define mfbGetImage xf1bppGetImage -#define mfbGetInverseAlu xf1bppGetInverseAlu -#define mfbGetSpans xf1bppGetSpans -#define mfbGetWindowPixmap xf1bppGetWindowPixmap -#define mfbGetWindowPrivateIndex xf1bppGetWindowPrivateIndex -#define mfbGetmask xf1bppGetmask -#define mfbGetpartmasks xf1bppGetpartmasks -#define mfbGetrmask xf1bppGetrmask -#define mfbGetstarttab xf1bppGetstarttab -#define mfbGetendtab xf1bppGetendtab -#define mfbHorzS xf1bppHorzS -#define mfbImageGlyphBltBlack xf1bppImageGlyphBltBlack -#define mfbImageGlyphBltWhite xf1bppImageGlyphBltWhite -#define mfbInstallColormap xf1bppInstallColormap -#define mfbInvertSolidFS xf1bppInvertSolidFS -#define mfbInvertStippleFS xf1bppInvertStippleFS -#define mfbLineSD xf1bppLineSD -#define mfbLineSS xf1bppLineSS -#define mfbListInstalledColormaps xf1bppListInstalledColormaps -#define mfbMapWindow xf1bppMapWindow -#define mfbPadPixmap xf1bppPadPixmap -#define mfbPixmapToRegion xf1bppPixmapToRegion -#define mfbPixmapToRegionWeak xf1bppPixmapToRegionWeak -#define mfbPolyFillArcSolid xf1bppPolyFillArcSolid -#define mfbPolyFillRect xf1bppPolyFillRect -#define mfbPolyGlyphBltBlack xf1bppPolyGlyphBltBlack -#define mfbPolyGlyphBltInvert xf1bppPolyGlyphBltInvert -#define mfbPolyGlyphBltWhite xf1bppPolyGlyphBltWhite -#define mfbPolyPoint xf1bppPolyPoint -#define mfbPositionWindow xf1bppPositionWindow -#define mfbPushPixels xf1bppPushPixels -#define mfbPushPixelsWeak xf1bppPushPixelsWeak -#define mfbPutImage xf1bppPutImage -#define mfbQueryBestSize xf1bppQueryBestSize -#define mfbQueryBestSizeWeak xf1bppQueryBestSizeWeak -#define mfbRealizeFont xf1bppRealizeFont -#define mfbRealizeFontWeak xf1bppRealizeFontWeak -#define mfbReduceRop xf1bppReduceRop -#define mfbRegisterCopyPlaneProc xf1bppRegisterCopyPlaneProc -#define mfbResolveColor xf1bppResolveColor -#define mfbRestoreAreas xf1bppRestoreAreas -#define mfbSaveAreas xf1bppSaveAreas -#define mfbScreenInit xf1bppScreenInit -#define mfbSegmentSD xf1bppSegmentSD -#define mfbSegmentSS xf1bppSegmentSS -#define mfbSetScanline xf1bppSetScanline -#define mfbSetSpans xf1bppSetSpans -#define mfbSetWindowPixmap xf1bppSetWindowPixmap -#define mfbSolidBlackArea xf1bppSolidBlackArea -#define mfbSolidInvertArea xf1bppSolidInvertArea -#define mfbSolidPP xf1bppSolidPP -#define mfbSolidWhiteArea xf1bppSolidWhiteArea -#define mfbStippleBlackArea xf1bppStippleBlackArea -#define mfbStippleInvertArea xf1bppStippleInvertArea -#define mfbStippleWhiteArea xf1bppStippleWhiteArea -#define mfbTEGlyphBltBlack xf1bppTEGlyphBltBlack -#define mfbTEGlyphBltWhite xf1bppTEGlyphBltWhite -#define mfbTileAreaPPW xf1bppTileAreaPPW -#define mfbTileAreaPPWCopy xf1bppTileAreaPPWCopy -#define mfbTileAreaPPWGeneral xf1bppTileAreaPPWGeneral -#define mfbTileFS xf1bppTileFS -#define mfbUninstallColormap xf1bppUninstallColormap -#define mfbUnmapWindow xf1bppUnmapWindow -#define mfbUnnaturalStippleFS xf1bppUnnaturalStippleFS -#define mfbUnnaturalTileFS xf1bppUnnaturalTileFS -#define mfbUnrealizeFont xf1bppUnrealizeFont -#define mfbUnrealizeFontWeak xf1bppUnrealizeFontWeak -#define mfbValidateGC xf1bppValidateGC -#define mfbVertS xf1bppVertS -#define mfbWhiteSolidFS xf1bppWhiteSolidFS -#define mfbWhiteStippleFS xf1bppWhiteStippleFS -#define mfbWindowPrivateIndex xf1bppWindowPrivateIndex -#define mfbXRotatePixmap xf1bppXRotatePixmap -#define mfbYRotatePixmap xf1bppYRotatePixmap -#define mfbZeroPolyArcSS xf1bppZeroPolyArcSS -#define partmasks xf1bpppartmasks -#define rmask xf1bpprmask -#define starttab xf1bppstarttab - -#endif diff --git a/xorg-server/hw/xfree86/xf1bpp/mfbmap.sh b/xorg-server/hw/xfree86/xf1bpp/mfbmap.sh deleted file mode 100644 index 514040776..000000000 --- a/xorg-server/hw/xfree86/xf1bpp/mfbmap.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh - -# $XFree86: xc/programs/Xserver/hw/xfree86/xf1bpp/mfbmap.sh,v 1.1.2.3 1998/06/27 14:48:23 dawes Exp $ -# -# This script recreates the mapping list that maps the mfb external -# symbols * to xf1bpp* (without "mfb") -# This should only be rerun if there have been changes in the mfb code -# that affect the external symbols. -# It assumes that Xserver/mfb has been compiled. -# The output goes to stdout. -echo "" -echo "#ifndef _MFBMAP_H" -echo "#define _MFBMAP_H" -echo "" - -nm ../../../mfb/*.o | \ -awk "{ if ((\$2 == \"D\") || (\$2 == \"T\") || (\$2 == \"C\")) print \$3 }" | \ -sed s/^_// | \ -grep -v "ModuleInit$" | \ -sort | \ -awk "{ print \"#define \" \$1 \" xf1bpp\"\$1 }" | \ -sed s/xf1bppmfb/xf1bpp/ - -echo "" -echo "#endif" diff --git a/xorg-server/hw/xfree86/xf1bpp/mfbmisc.c b/xorg-server/hw/xfree86/xf1bpp/mfbmisc.c deleted file mode 100644 index 0c0ddb851..000000000 --- a/xorg-server/hw/xfree86/xf1bpp/mfbmisc.c +++ /dev/null @@ -1,2 +0,0 @@ -#include "mfbmap.h" -#include "../../../mfb/mfbmisc.c" diff --git a/xorg-server/hw/xfree86/xf1bpp/mfbmodule.c b/xorg-server/hw/xfree86/xf1bpp/mfbmodule.c deleted file mode 100644 index ccd3572e5..000000000 --- a/xorg-server/hw/xfree86/xf1bpp/mfbmodule.c +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright (C) 1997 The XFree86 Project, 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 - * 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. - */ - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include "xf86Module.h" - -static XF86ModuleVersionInfo VersRec = -{ - "xf1bpp", - MODULEVENDORSTRING, - MODINFOSTRING1, - MODINFOSTRING2, - XORG_VERSION_CURRENT, - 1, 0, 0, - ABI_CLASS_ANSIC, /* Only need ansic layer */ - ABI_ANSIC_VERSION, - MOD_CLASS_NONE, - {0,0,0,0} /* signature, to be patched into the file by a tool */ -}; - -_X_EXPORT XF86ModuleData xf1bppModuleData = { &VersRec, NULL, NULL }; diff --git a/xorg-server/hw/xfree86/xf1bpp/mfbpablack.c b/xorg-server/hw/xfree86/xf1bpp/mfbpablack.c deleted file mode 100644 index 90aa7faf1..000000000 --- a/xorg-server/hw/xfree86/xf1bpp/mfbpablack.c +++ /dev/null @@ -1,6 +0,0 @@ -#define MFBSOLIDFILLAREA xf1bppSolidBlackArea -#define MFBSTIPPLEFILLAREA xf1bppStippleBlackArea -#define OPEQ &=~ -#define EQWHOLEWORD =0 -#include "mfbmap.h" -#include "../../../mfb/mfbpntarea.c" diff --git a/xorg-server/hw/xfree86/xf1bpp/mfbpainv.c b/xorg-server/hw/xfree86/xf1bpp/mfbpainv.c deleted file mode 100644 index fdbe7978a..000000000 --- a/xorg-server/hw/xfree86/xf1bpp/mfbpainv.c +++ /dev/null @@ -1,6 +0,0 @@ -#define MFBSOLIDFILLAREA xf1bppSolidInvertArea -#define MFBSTIPPLEFILLAREA xf1bppStippleInvertArea -#define OPEQ ^= -#define EQWHOLEWORD ^=~0 -#include "mfbmap.h" -#include "../../../mfb/mfbpntarea.c" diff --git a/xorg-server/hw/xfree86/xf1bpp/mfbpawhite.c b/xorg-server/hw/xfree86/xf1bpp/mfbpawhite.c deleted file mode 100644 index 5b5ccc93b..000000000 --- a/xorg-server/hw/xfree86/xf1bpp/mfbpawhite.c +++ /dev/null @@ -1,6 +0,0 @@ -#define MFBSOLIDFILLAREA xf1bppSolidWhiteArea -#define MFBSTIPPLEFILLAREA xf1bppStippleWhiteArea -#define OPEQ |= -#define EQWHOLEWORD =~0 -#include "mfbmap.h" -#include "../../../mfb/mfbpntarea.c" diff --git a/xorg-server/hw/xfree86/xf1bpp/mfbpgbblak.c b/xorg-server/hw/xfree86/xf1bpp/mfbpgbblak.c deleted file mode 100644 index d6451a962..000000000 --- a/xorg-server/hw/xfree86/xf1bpp/mfbpgbblak.c +++ /dev/null @@ -1,4 +0,0 @@ -#define MFBPOLYGLYPHBLT xf1bppPolyGlyphBltBlack -#define OPEQ &=~ -#include "mfbmap.h" -#include "../../../mfb/mfbplygblt.c" diff --git a/xorg-server/hw/xfree86/xf1bpp/mfbpgbinv.c b/xorg-server/hw/xfree86/xf1bpp/mfbpgbinv.c deleted file mode 100644 index 52b35a507..000000000 --- a/xorg-server/hw/xfree86/xf1bpp/mfbpgbinv.c +++ /dev/null @@ -1,4 +0,0 @@ -#define MFBPOLYGLYPHBLT xf1bppPolyGlyphBltInvert -#define OPEQ ^= -#include "mfbmap.h" -#include "../../../mfb/mfbplygblt.c" diff --git a/xorg-server/hw/xfree86/xf1bpp/mfbpgbwht.c b/xorg-server/hw/xfree86/xf1bpp/mfbpgbwht.c deleted file mode 100644 index bd4d2f7c1..000000000 --- a/xorg-server/hw/xfree86/xf1bpp/mfbpgbwht.c +++ /dev/null @@ -1,4 +0,0 @@ -#define MFBPOLYGLYPHBLT xf1bppPolyGlyphBltWhite -#define OPEQ |= -#include "mfbmap.h" -#include "../../../mfb/mfbplygblt.c" diff --git a/xorg-server/hw/xfree86/xf1bpp/mfbpixmap.c b/xorg-server/hw/xfree86/xf1bpp/mfbpixmap.c deleted file mode 100644 index 11c51c623..000000000 --- a/xorg-server/hw/xfree86/xf1bpp/mfbpixmap.c +++ /dev/null @@ -1,2 +0,0 @@ -#include "mfbmap.h" -#include "../../../mfb/mfbpixmap.c" diff --git a/xorg-server/hw/xfree86/xf1bpp/mfbplyblack.c b/xorg-server/hw/xfree86/xf1bpp/mfbplyblack.c deleted file mode 100644 index f06f0dcf3..000000000 --- a/xorg-server/hw/xfree86/xf1bpp/mfbplyblack.c +++ /dev/null @@ -1,5 +0,0 @@ -#define MFBFILLPOLY1RECT xf1bppFillPolyBlack -#define OPEQ &=~ -#define EQWHOLEWORD =0 -#include "mfbmap.h" -#include "../../../mfb/mfbply1rct.c" diff --git a/xorg-server/hw/xfree86/xf1bpp/mfbplyinv.c b/xorg-server/hw/xfree86/xf1bpp/mfbplyinv.c deleted file mode 100644 index 9937d076d..000000000 --- a/xorg-server/hw/xfree86/xf1bpp/mfbplyinv.c +++ /dev/null @@ -1,5 +0,0 @@ -#define MFBFILLPOLY1RECT xf1bppFillPolyInvert -#define OPEQ ^= -#define EQWHOLEWORD ^=~0 -#include "mfbmap.h" -#include "../../../mfb/mfbply1rct.c" diff --git a/xorg-server/hw/xfree86/xf1bpp/mfbplywhite.c b/xorg-server/hw/xfree86/xf1bpp/mfbplywhite.c deleted file mode 100644 index 13560dfaa..000000000 --- a/xorg-server/hw/xfree86/xf1bpp/mfbplywhite.c +++ /dev/null @@ -1,5 +0,0 @@ -#define MFBFILLPOLY1RECT xf1bppFillPolyWhite -#define OPEQ |= -#define EQWHOLEWORD =~0 -#include "mfbmap.h" -#include "../../../mfb/mfbply1rct.c" diff --git a/xorg-server/hw/xfree86/xf1bpp/mfbpolypnt.c b/xorg-server/hw/xfree86/xf1bpp/mfbpolypnt.c deleted file mode 100644 index 0e45a3db6..000000000 --- a/xorg-server/hw/xfree86/xf1bpp/mfbpolypnt.c +++ /dev/null @@ -1,2 +0,0 @@ -#include "mfbmap.h" -#include "../../../mfb/mfbpolypnt.c" diff --git a/xorg-server/hw/xfree86/xf1bpp/mfbpushpxl.c b/xorg-server/hw/xfree86/xf1bpp/mfbpushpxl.c deleted file mode 100644 index c03505454..000000000 --- a/xorg-server/hw/xfree86/xf1bpp/mfbpushpxl.c +++ /dev/null @@ -1,2 +0,0 @@ -#include "mfbmap.h" -#include "../../../mfb/mfbpushpxl.c" diff --git a/xorg-server/hw/xfree86/xf1bpp/mfbscrclse.c b/xorg-server/hw/xfree86/xf1bpp/mfbscrclse.c deleted file mode 100644 index d4aee1bfc..000000000 --- a/xorg-server/hw/xfree86/xf1bpp/mfbscrclse.c +++ /dev/null @@ -1,2 +0,0 @@ -#include "mfbmap.h" -#include "../../../mfb/mfbscrclse.c" diff --git a/xorg-server/hw/xfree86/xf1bpp/mfbscrinit.c b/xorg-server/hw/xfree86/xf1bpp/mfbscrinit.c deleted file mode 100644 index 50b3889ce..000000000 --- a/xorg-server/hw/xfree86/xf1bpp/mfbscrinit.c +++ /dev/null @@ -1,2 +0,0 @@ -#include "mfbmap.h" -#include "../../../mfb/mfbscrinit.c" diff --git a/xorg-server/hw/xfree86/xf1bpp/mfbseg.c b/xorg-server/hw/xfree86/xf1bpp/mfbseg.c deleted file mode 100644 index b0bfd735f..000000000 --- a/xorg-server/hw/xfree86/xf1bpp/mfbseg.c +++ /dev/null @@ -1,3 +0,0 @@ -#define POLYSEGMENT -#include "mfbmap.h" -#include "../../../mfb/mfbline.c" diff --git a/xorg-server/hw/xfree86/xf1bpp/mfbsetsp.c b/xorg-server/hw/xfree86/xf1bpp/mfbsetsp.c deleted file mode 100644 index 4a16db9f3..000000000 --- a/xorg-server/hw/xfree86/xf1bpp/mfbsetsp.c +++ /dev/null @@ -1,2 +0,0 @@ -#include "mfbmap.h" -#include "../../../mfb/mfbsetsp.c" diff --git a/xorg-server/hw/xfree86/xf1bpp/mfbteblack.c b/xorg-server/hw/xfree86/xf1bpp/mfbteblack.c deleted file mode 100644 index 32568b2ed..000000000 --- a/xorg-server/hw/xfree86/xf1bpp/mfbteblack.c +++ /dev/null @@ -1,5 +0,0 @@ -#define OP ~ -#define CLIPTETEXT xf1bppImageGlyphBltBlack -#define MFBTEGLYPHBLT xf1bppTEGlyphBltBlack -#include "mfbmap.h" -#include "../../../mfb/mfbtegblt.c" diff --git a/xorg-server/hw/xfree86/xf1bpp/mfbtewhite.c b/xorg-server/hw/xfree86/xf1bpp/mfbtewhite.c deleted file mode 100644 index 16c83f779..000000000 --- a/xorg-server/hw/xfree86/xf1bpp/mfbtewhite.c +++ /dev/null @@ -1,5 +0,0 @@ -#define OP -#define CLIPTETEXT xf1bppImageGlyphBltWhite -#define MFBTEGLYPHBLT xf1bppTEGlyphBltWhite -#include "mfbmap.h" -#include "../../../mfb/mfbtegblt.c" diff --git a/xorg-server/hw/xfree86/xf1bpp/mfbtileC.c b/xorg-server/hw/xfree86/xf1bpp/mfbtileC.c deleted file mode 100644 index 60c0e4069..000000000 --- a/xorg-server/hw/xfree86/xf1bpp/mfbtileC.c +++ /dev/null @@ -1,3 +0,0 @@ -#define MROP Mcopy -#include "mfbmap.h" -#include "../../../mfb/mfbtile.c" diff --git a/xorg-server/hw/xfree86/xf1bpp/mfbtileG.c b/xorg-server/hw/xfree86/xf1bpp/mfbtileG.c deleted file mode 100644 index 20764136d..000000000 --- a/xorg-server/hw/xfree86/xf1bpp/mfbtileG.c +++ /dev/null @@ -1,3 +0,0 @@ -#define MRop M0 -#include "mfbmap.h" -#include "../../../mfb/mfbtile.c" diff --git a/xorg-server/hw/xfree86/xf1bpp/mfbunmap.h b/xorg-server/hw/xfree86/xf1bpp/mfbunmap.h deleted file mode 100644 index 56b734bcd..000000000 --- a/xorg-server/hw/xfree86/xf1bpp/mfbunmap.h +++ /dev/null @@ -1,114 +0,0 @@ - -#ifdef _MFBMAP_H -#undef _MFBMAP_H - -#undef InverseAlu -#undef endtab -#undef mask -#undef mergeRopBits -#undef mergeGetRopBits -#undef mfbAllocatePrivates -#undef mfbBSFuncRec -#undef mfbBlackSolidFS -#undef mfbBlackStippleFS -#undef mfbBresD -#undef mfbBresS -#undef mfbChangeWindowAttributes -#undef mfbCloseScreen -#undef mfbCopyArea -#undef mfbCopyPixmap -#undef mfbCopyPlane -#undef mfbCopyRotatePixmap -#undef mfbCopyWindow -#undef mfbCreateColormap -#undef mfbCreateDefColormap -#undef mfbCreateGC -#undef mfbCreatePixmap -#undef mfbCreateWindow -#undef mfbDestroyColormap -#undef mfbDestroyPixmap -#undef mfbDestroyWindow -#undef mfbDoBitblt -#undef mfbDoBitbltCopy -#undef mfbDoBitbltCopyInverted -#undef mfbDoBitbltGeneral -#undef mfbDoBitbltOr -#undef mfbDoBitbltXor -#undef mfbFillPolyBlack -#undef mfbFillPolyInvert -#undef mfbFillPolyWhite -#undef mfbGCPrivateIndex -#undef mfbGetImage -#undef mfbGetInverseAlu -#undef mfbGetSpans -#undef mfbGetWindowPixmap -#undef mfbHorzS -#undef mfbImageGlyphBltBlack -#undef mfbImageGlyphBltWhite -#undef mfbInstallColormap -#undef mfbInvertSolidFS -#undef mfbInvertStippleFS -#undef mfbLineSD -#undef mfbLineSS -#undef mfbListInstalledColormaps -#undef mfbMapWindow -#undef mfbPadPixmap -#undef mfbPixmapToRegion -#undef mfbPixmapToRegionWeak -#undef mfbPolyFillArcSolid -#undef mfbPolyFillRect -#undef mfbPolyGlyphBltBlack -#undef mfbPolyGlyphBltInvert -#undef mfbPolyGlyphBltWhite -#undef mfbPolyPoint -#undef mfbPositionWindow -#undef mfbPushPixels -#undef mfbPushPixelsWeak -#undef mfbPutImage -#undef mfbQueryBestSize -#undef mfbQueryBestSizeWeak -#undef mfbRealizeFont -#undef mfbRealizeFontWeak -#undef mfbReduceRop -#undef mfbRegisterCopyPlaneProc -#undef mfbResolveColor -#undef mfbRestoreAreas -#undef mfbSaveAreas -#undef mfbScreenInit -#undef mfbSegmentSD -#undef mfbSegmentSS -#undef mfbSetScanline -#undef mfbSetSpans -#undef mfbSetWindowPixmap -#undef mfbSolidBlackArea -#undef mfbSolidInvertArea -#undef mfbSolidPP -#undef mfbSolidWhiteArea -#undef mfbStippleBlackArea -#undef mfbStippleInvertArea -#undef mfbStippleWhiteArea -#undef mfbTEGlyphBltBlack -#undef mfbTEGlyphBltWhite -#undef mfbTileAreaPPW -#undef mfbTileAreaPPWCopy -#undef mfbTileAreaPPWGeneral -#undef mfbTileFS -#undef mfbUninstallColormap -#undef mfbUnmapWindow -#undef mfbUnnaturalStippleFS -#undef mfbUnnaturalTileFS -#undef mfbUnrealizeFont -#undef mfbUnrealizeFontWeak -#undef mfbValidateGC -#undef mfbVertS -#undef mfbWhiteSolidFS -#undef mfbWhiteStippleFS -#undef mfbWindowPrivateIndex -#undef mfbXRotatePixmap -#undef mfbYRotatePixmap -#undef mfbZeroPolyArcSS -#undef partmasks -#undef rmask -#undef starttab - -#endif diff --git a/xorg-server/hw/xfree86/xf1bpp/mfbunmap.sh b/xorg-server/hw/xfree86/xf1bpp/mfbunmap.sh deleted file mode 100644 index 44dc781fc..000000000 --- a/xorg-server/hw/xfree86/xf1bpp/mfbunmap.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/sh - -# $XFree86: xc/programs/Xserver/hw/xfree86/xf1bpp/mfbunmap.sh,v 1.1.2.1 1998/06/27 14:48:24 dawes Exp $ -# -# This script recreates a header that undoes the effect of mfbmap.h -# This should only be rerun if there have been changes in the mfb code -# that affect the external symbols. -# It assumes that Xserver/mfb has been compiled. -# The output goes to stdout. -echo "" -echo "#ifdef _MFBMAP_H" -echo "#undef _MFBMAP_H" -echo "" - -nm ../../../mfb/*.o | \ -awk "{ if ((\$2 == \"D\") || (\$2 == \"T\") || (\$2 == \"C\")) print \$3 }" | \ -sed s/^_// | \ -grep -v "ModuleInit$" | \ -sort | \ -awk "{ print \"#undef \" \$1 }" - -echo "" -echo "#endif" diff --git a/xorg-server/hw/xfree86/xf1bpp/mfbwindow.c b/xorg-server/hw/xfree86/xf1bpp/mfbwindow.c deleted file mode 100644 index e16082559..000000000 --- a/xorg-server/hw/xfree86/xf1bpp/mfbwindow.c +++ /dev/null @@ -1,2 +0,0 @@ -#include "mfbmap.h" -#include "../../../mfb/mfbwindow.c" diff --git a/xorg-server/hw/xfree86/xf1bpp/mfbzerarc.c b/xorg-server/hw/xfree86/xf1bpp/mfbzerarc.c deleted file mode 100644 index 01f2a5446..000000000 --- a/xorg-server/hw/xfree86/xf1bpp/mfbzerarc.c +++ /dev/null @@ -1,2 +0,0 @@ -#include "mfbmap.h" -#include "../../../mfb/mfbzerarc.c" diff --git a/xorg-server/hw/xfree86/xf1bpp/xf1bpp.h b/xorg-server/hw/xfree86/xf1bpp/xf1bpp.h deleted file mode 100644 index 33e5818c3..000000000 --- a/xorg-server/hw/xfree86/xf1bpp/xf1bpp.h +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright (C) 1994-1998 The XFree86 Project, 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 - * 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. - */ - -#ifndef __XF1BPP_H__ -#define __XF1BPP_H__ - -#define MFB_PROTOTYPES_ONLY -#include "mfbmap.h" -#include "mfb.h" -#include "mfbunmap.h" -#undef MFB_PROTOTYPES_ONLY - -#endif diff --git a/xorg-server/hw/xfree86/xf4bpp/Makefile.am b/xorg-server/hw/xfree86/xf4bpp/Makefile.am deleted file mode 100644 index 1414a0d0f..000000000 --- a/xorg-server/hw/xfree86/xf4bpp/Makefile.am +++ /dev/null @@ -1,57 +0,0 @@ -module_LTLIBRARIES = libxf4bpp.la - -sdk_HEADERS = xf4bpp.h - -libxf4bpp_la_LDFLAGS = -avoid-version - -libxf4bpp_la_SOURCES = \ - ppcArea.c \ - ppcClip.c \ - ppcCpArea.c \ - ppcCReduce.c \ - ppcDepth.c \ - ppcFillRct.c \ - ppcWinFS.c \ - ppcPixFS.c \ - ppcGC.c \ - ppcGetSp.c \ - ppcImg.c \ - ppcPixmap.c \ - ppcPolyPnt.c \ - ppcQuery.c \ - ppcRslvC.c \ - ppcSetSp.c \ - ppcWindow.c \ - ppcIO.c \ - emulOpStip.c \ - emulRepAre.c \ - emulTile.c \ - vgaGC.c \ - vgaBitBlt.c \ - vgaImages.c \ - vgaStipple.c \ - vgaSolid.c \ - offscreen.c \ - wm3.c \ - mfbimggblt.c \ - mfbline.c \ - mfbseg.c \ - mfbhrzvert.c \ - mfbbres.c \ - mfbbresd.c \ - mfbfillarc.c \ - mfbzerarc.c \ - vgamodule.c - -EXTRA_DIST = OScompiler.h ibmTrace.h ppcGCstr.h ppcSpMcro.h vgaReg.h \ - vgaVideo.h wm3.h NOTES - -DISTCLEANFILES = mfbseg.c - -mfbseg.c: - echo "#define POLYSEGMENT" > $@ - echo "#include \"$(srcdir)/mfbline.c\"" >> $@ - -INCLUDES = $(XORG_INCS) -I$(srcdir)/../xf1bpp -I$(top_srcdir)/mfb - -AM_CFLAGS = $(DIX_CFLAGS) $(XORG_CFLAGS) diff --git a/xorg-server/hw/xfree86/xf4bpp/Makefile.in b/xorg-server/hw/xfree86/xf4bpp/Makefile.in deleted file mode 100644 index 0a242da14..000000000 --- a/xorg-server/hw/xfree86/xf4bpp/Makefile.in +++ /dev/null @@ -1,791 +0,0 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008 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 = hw/xfree86/xf4bpp -DIST_COMMON = $(sdk_HEADERS) $(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__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)$(moduledir)" "$(DESTDIR)$(sdkdir)" -moduleLTLIBRARIES_INSTALL = $(INSTALL) -LTLIBRARIES = $(module_LTLIBRARIES) -libxf4bpp_la_LIBADD = -am_libxf4bpp_la_OBJECTS = ppcArea.lo ppcClip.lo ppcCpArea.lo \ - ppcCReduce.lo ppcDepth.lo ppcFillRct.lo ppcWinFS.lo \ - ppcPixFS.lo ppcGC.lo ppcGetSp.lo ppcImg.lo ppcPixmap.lo \ - ppcPolyPnt.lo ppcQuery.lo ppcRslvC.lo ppcSetSp.lo ppcWindow.lo \ - ppcIO.lo emulOpStip.lo emulRepAre.lo emulTile.lo vgaGC.lo \ - vgaBitBlt.lo vgaImages.lo vgaStipple.lo vgaSolid.lo \ - offscreen.lo wm3.lo mfbimggblt.lo mfbline.lo mfbseg.lo \ - mfbhrzvert.lo mfbbres.lo mfbbresd.lo mfbfillarc.lo \ - mfbzerarc.lo vgamodule.lo -libxf4bpp_la_OBJECTS = $(am_libxf4bpp_la_OBJECTS) -libxf4bpp_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(libxf4bpp_la_LDFLAGS) $(LDFLAGS) -o $@ -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include -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 = $(libxf4bpp_la_SOURCES) -DIST_SOURCES = $(libxf4bpp_la_SOURCES) -sdkHEADERS_INSTALL = $(INSTALL_HEADER) -HEADERS = $(sdk_HEADERS) -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@ -DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ -DRI2PROTO_LIBS = @DRI2PROTO_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@ -DSYMUTIL = @DSYMUTIL@ -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@ -GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ -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@ -LAUNCHD = @LAUNCHD@ -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@ -NMEDIT = @NMEDIT@ -OBJC = @OBJC@ -OBJCCLD = @OBJCCLD@ -OBJCDEPMODE = @OBJCDEPMODE@ -OBJCFLAGS = @OBJCFLAGS@ -OBJCLINK = @OBJCLINK@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ -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@ -PCIACCESS_CFLAGS = @PCIACCESS_CFLAGS@ -PCIACCESS_LIBS = @PCIACCESS_LIBS@ -PCI_TXT_IDS_PATH = @PCI_TXT_IDS_PATH@ -PERL = @PERL@ -PKG_CONFIG = @PKG_CONFIG@ -PROJECTROOT = @PROJECTROOT@ -PS2PDF = @PS2PDF@ -RANLIB = @RANLIB@ -RAWCPP = @RAWCPP@ -RAWCPPFLAGS = @RAWCPPFLAGS@ -SED = @SED@ -SERVER_MISC_CONFIG_PATH = @SERVER_MISC_CONFIG_PATH@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ -SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ -STRIP = @STRIP@ -TSLIB_CFLAGS = @TSLIB_CFLAGS@ -TSLIB_LIBS = @TSLIB_LIBS@ -UTILS_SYS_LIBS = @UTILS_SYS_LIBS@ -VENDOR_MAN_VERSION = @VENDOR_MAN_VERSION@ -VENDOR_NAME = @VENDOR_NAME@ -VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ -VENDOR_RELEASE = @VENDOR_RELEASE@ -VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ -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_CFLAGS = @XDMX_CFLAGS@ -XDMX_LIBS = @XDMX_LIBS@ -XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ -XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ -XEPHYR_INCS = @XEPHYR_INCS@ -XEPHYR_LIBS = @XEPHYR_LIBS@ -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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ -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@ -XNEST_SYS_LIBS = @XNEST_SYS_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_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@ -XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_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@ -XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ -XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ -XTSTEXAMPLES_DEP_LIBS = @XTSTEXAMPLES_DEP_LIBS@ -XVFB_LIBS = @XVFB_LIBS@ -XVFB_SYS_LIBS = @XVFB_SYS_LIBS@ -XWINMODULES_CFLAGS = @XWINMODULES_CFLAGS@ -XWINMODULES_LIBS = @XWINMODULES_LIBS@ -XWIN_LIBS = @XWIN_LIBS@ -XWIN_SERVER_NAME = @XWIN_SERVER_NAME@ -XWIN_SYS_LIBS = @XWIN_SYS_LIBS@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -__XCONFIGFILE__ = @__XCONFIGFILE__@ -abi_ansic = @abi_ansic@ -abi_extension = @abi_extension@ -abi_font = @abi_font@ -abi_videodrv = @abi_videodrv@ -abi_xinput = @abi_xinput@ -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@ -launchagentsdir = @launchagentsdir@ -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_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ -module_LTLIBRARIES = libxf4bpp.la -sdk_HEADERS = xf4bpp.h -libxf4bpp_la_LDFLAGS = -avoid-version -libxf4bpp_la_SOURCES = \ - ppcArea.c \ - ppcClip.c \ - ppcCpArea.c \ - ppcCReduce.c \ - ppcDepth.c \ - ppcFillRct.c \ - ppcWinFS.c \ - ppcPixFS.c \ - ppcGC.c \ - ppcGetSp.c \ - ppcImg.c \ - ppcPixmap.c \ - ppcPolyPnt.c \ - ppcQuery.c \ - ppcRslvC.c \ - ppcSetSp.c \ - ppcWindow.c \ - ppcIO.c \ - emulOpStip.c \ - emulRepAre.c \ - emulTile.c \ - vgaGC.c \ - vgaBitBlt.c \ - vgaImages.c \ - vgaStipple.c \ - vgaSolid.c \ - offscreen.c \ - wm3.c \ - mfbimggblt.c \ - mfbline.c \ - mfbseg.c \ - mfbhrzvert.c \ - mfbbres.c \ - mfbbresd.c \ - mfbfillarc.c \ - mfbzerarc.c \ - vgamodule.c - -EXTRA_DIST = OScompiler.h ibmTrace.h ppcGCstr.h ppcSpMcro.h vgaReg.h \ - vgaVideo.h wm3.h NOTES - -DISTCLEANFILES = mfbseg.c -INCLUDES = $(XORG_INCS) -I$(srcdir)/../xf1bpp -I$(top_srcdir)/mfb -AM_CFLAGS = $(DIX_CFLAGS) $(XORG_CFLAGS) -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/xfree86/xf4bpp/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign hw/xfree86/xf4bpp/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-moduleLTLIBRARIES: $(module_LTLIBRARIES) - @$(NORMAL_INSTALL) - test -z "$(moduledir)" || $(MKDIR_P) "$(DESTDIR)$(moduledir)" - @list='$(module_LTLIBRARIES)'; for p in $$list; do \ - if test -f $$p; then \ - f=$(am__strip_dir) \ - echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(moduleLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(moduledir)/$$f'"; \ - $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(moduleLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(moduledir)/$$f"; \ - else :; fi; \ - done - -uninstall-moduleLTLIBRARIES: - @$(NORMAL_UNINSTALL) - @list='$(module_LTLIBRARIES)'; for p in $$list; do \ - p=$(am__strip_dir) \ - echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(moduledir)/$$p'"; \ - $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(moduledir)/$$p"; \ - done - -clean-moduleLTLIBRARIES: - -test -z "$(module_LTLIBRARIES)" || rm -f $(module_LTLIBRARIES) - @list='$(module_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 -libxf4bpp.la: $(libxf4bpp_la_OBJECTS) $(libxf4bpp_la_DEPENDENCIES) - $(libxf4bpp_la_LINK) -rpath $(moduledir) $(libxf4bpp_la_OBJECTS) $(libxf4bpp_la_LIBADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emulOpStip.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emulRepAre.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emulTile.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mfbbres.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mfbbresd.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mfbfillarc.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mfbhrzvert.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mfbimggblt.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mfbline.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mfbseg.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mfbzerarc.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/offscreen.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ppcArea.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ppcCReduce.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ppcClip.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ppcCpArea.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ppcDepth.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ppcFillRct.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ppcGC.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ppcGetSp.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ppcIO.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ppcImg.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ppcPixFS.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ppcPixmap.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ppcPolyPnt.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ppcQuery.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ppcRslvC.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ppcSetSp.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ppcWinFS.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ppcWindow.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vgaBitBlt.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vgaGC.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vgaImages.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vgaSolid.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vgaStipple.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vgamodule.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wm3.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 -install-sdkHEADERS: $(sdk_HEADERS) - @$(NORMAL_INSTALL) - test -z "$(sdkdir)" || $(MKDIR_P) "$(DESTDIR)$(sdkdir)" - @list='$(sdk_HEADERS)'; for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f=$(am__strip_dir) \ - echo " $(sdkHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(sdkdir)/$$f'"; \ - $(sdkHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(sdkdir)/$$f"; \ - done - -uninstall-sdkHEADERS: - @$(NORMAL_UNINSTALL) - @list='$(sdk_HEADERS)'; for p in $$list; do \ - f=$(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(sdkdir)/$$f'"; \ - rm -f "$(DESTDIR)$(sdkdir)/$$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; nonemtpy = 1; } \ - END { if (nonempty) { 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; nonempty = 1; } \ - END { if (nonempty) { 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=; \ - 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; nonempty = 1; } \ - END { if (nonempty) { 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) $(HEADERS) -installdirs: - for dir in "$(DESTDIR)$(moduledir)" "$(DESTDIR)$(sdkdir)"; 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) - -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) - -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-moduleLTLIBRARIES \ - 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-moduleLTLIBRARIES install-sdkHEADERS - -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-moduleLTLIBRARIES uninstall-sdkHEADERS - -.MAKE: install-am install-strip - -.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ - clean-libtool clean-moduleLTLIBRARIES 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-moduleLTLIBRARIES install-pdf install-pdf-am \ - install-ps install-ps-am install-sdkHEADERS 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-moduleLTLIBRARIES \ - uninstall-sdkHEADERS - - -mfbseg.c: - echo "#define POLYSEGMENT" > $@ - echo "#include \"$(srcdir)/mfbline.c\"" >> $@ -# 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/xorg-server/hw/xfree86/xf4bpp/NOTES b/xorg-server/hw/xfree86/xf4bpp/NOTES deleted file mode 100644 index e3b77dcfd..000000000 --- a/xorg-server/hw/xfree86/xf4bpp/NOTES +++ /dev/null @@ -1,194 +0,0 @@ -This code originally hails from IBM. It was ported to an early XFree86 by -Gertjan Akkerman, whose BUGS file I append here. - -In turn, this is a port of Gertjan's work to the new server design. Among the -changes are: - -- The removal of almost all unreferenced code. -- The removal of this code's own copy of mfb (xf1bpp is used instead). -- The removal of banking support (mibank is used instead). -- External symbols were made static where this was sufficient. -- The remaining external names were renamed to xf4bpp*. -- Several minor cleanups too many to mention here. - -To understate the matter, this code is >UGLY<. This seems inherent in IBM's -corporate culture. Be that as it may, it *does* survive X11R4's xtest -(whatever that means these days...). For now, this is sufficient for 4bpp -support in the new design, but at some point, I'll have to sit down and -rewrite this from scratch. A more technical justification for a rewrite is -that the pixmap format is 8bpp, instead of 4bpp, which is causing me to -pepper the rest of the server with unclean accomodations. - -Marc. - -=============================================================================== -Section 1: From IBM's X11R4 contribution towards XFree86. - -This section describes what I did to obtain a 16 colour vga server. - -I started with the SYSV, ppc, vga and common directories from IBM's X11R4 -contribution. Those directories have the following function: -1. SYSV implements the mouse and keyboard. -2. ppc is a generic layer implementing ddx in terms of drawing operations - through rectangles. (With spans as a boundary case: height = 1.) -3. vga implements a layer of operations drawing through rectangles. -4. common implements ddx initialization and quitting, and screen saving. - -I eliminated SYSV and common since the functionality provided therein is -already provided in XFree86. Since XFree86 is actively being ported to -new operating systems, while X11R4 is out of date, I preferred the XFree86 -code here above the SYSV and common code. -Whatever functionality was still needed from common (default colormap -initialization -- not much code) was moved into ppc. - -Since XFree86 uses the mi-provided software cursor code, IBM's software -cursor code was deleted from ppc and vga. This is a pity, since it is -expected that it is more efficient than mi's code, but the XFree86 mouse and -keyboard code directly call mi, and I do not want to maintain the XFree86 -mouse and keyboard code. - -Since we cannot support a monolithic multi-screen server using all of the -x11r4 contributed code yet, all multi screen code was deleted. This includes -one header file containing a nasty copyright statement. - -Since glyph handling has changed between X11R4 and X11R5, the code handling -glyphs was replaced by appropriate calls to mi. -I hope it can be modified and put back one day. - -Provisionally, some code was added (viz. file vga/offscreen.c) to intercept -calls to the rectangle drawing code when we are switched out of the VT. -I hope this can be replaced by some window tree invalidation and GC validation -scheme. - - -Section 2: BUGS - -This section describes fixed and still unfixed bugs in this code. -All bugs not labeled otherwise also occur in IBM's X11R4 code, and may be of -interest to anybody using that code. - -1. (Fixed.) -I found (and provisionally fixed) a bug in the IBM bitblit code: -In file ddx/ibm/vga/vgaImages.c a function vgaReadColorImage is defined. -When this function is used to read less than 8 pixels starting on a byte -boundary it will always read precisely 8 pixels. -Thus, when space is allocated for 4 or less pixels, it will write beyond -the allocated space. -Since the code is rather convoluted, this may not be apparent at first sight, -but going through the code with an example shows the error. - -2. (Fixed.) -In ppcPixmapFS.c, function ppcStipplePixmapFS there was a bug -regarding the stipple origin: The horizontal origin is added while -the vertical one is subtracted. The horizontal origin should be subtracted -instead of added here. -This bug gets visible when backing-store is enabled and one uses twm: -the submenu icons get truncated on their left hand side. -(In case you wonder why this bug appears: under those circumstances -twm prepares its menus by drawing into an unmapped window. -The miCopyPlane function uses the ppcStipplePixmap (and many others) -to get the plane copied.) -I also fixed this bug in the other routines (ppcOpStipplePixmapFS, -ppcTilePixmapFS) in this file, although I had no visible clues for this. -I hope this is appropriate. - -3. (Fixed.) -I find it suspect that ppcSetSpans gives different output when one -claims that an actually sorted list of spans is unsorted. -The unsorted code is wrong, and should be made to look more like the sorted -code. I.e., use ( xStart - ppt->x ) instead of ( xStart - pbox->x1 ) - -4. (Fixed.) -There used to be another bug that became visible when using twm and backing -store: popping up a submenu, and moving the cursor upwards til it leaves the -submenu, the submenu would disappears, as it should. -But the submenu icon would not get restored, while it should be. -10b. By replacing the clip-computing code in ppcValidateGC by that in -cfbValidateGC, I *finally* fixed the disappearing twm menu icon problem. - -5. Added mfbRegisterCopyplaneProc call. [Its omission was an error on my - part.] - Fixing a server core dump in XTest. - -6. Fixed not-very-high tile bug in function ppcTileRect, file emulTile.c - (I.e., if the tile was higher than the area to be tiled, far too much - was drawn, causing server core dumps in XTest.) - Actually, "savey" ought to be used to determine the height of the tiles in - the top line to be tiled, instead of "pTile->drawable.height". -7. A use of height where width was intended was fixed in ppcTileRect: - "savehcount = w / pTile->drawable.height;" should use "... .width" and - "savehcount = ( x + w - htarget ) / pTile->drawable.height;" too. - -8. Deleted overly clever code in ppcCReduce.c - (All code that tried to pre-compute how alu's could be replaced by - other alu's with inverted colors, etc. was deleted. I think it is - at least wrong for FillSolid.) - -9. Looked at suspicious code in ppcSetSp.c - "tmpx = *pdst;" was never updated during the loop. We took it out of the - initialization position of the for and moved it into the loop. - -10. Add xSrc := GC->patOrg.x + pDrawable.x and ySrc := ... in ppcPixmapFS.c, - functions ppcStipplePixmapFS, ppcOpStipplePixmapFS, and ppcTilePixmapFS. - This because stipple and tile origins are taken relative to the drawable. - Also use a "modulo" function that gets the cases of a negative stipple - or tile offset right. (When the stipple origin is to the right of or - below the origin of the drawable.) - -11. File vgaSolid.c, function vgaFillSolid: - Inverting is XORing with all ones. Not with the color we want to AND/OR - later. So we'll have to set the color to VGA_ALLPLANES - whenever we want to invert existing data, and reset it before the - AND/OR is done. - Also we replaced an outb( 0x3CF, tmp2 ) by the SetVideoGraphicsData( tmp2 ) - it is representing. (Just a cosmetic replacement.) - -12. File vgaImages, function vgaDrawColorImage. - Moved a line "invert_existing_data = TRUE;" two lines down, past a case - label. Now it is also part of the code executed for GXorReverse, as it - should be. - -13. The pixmap FillSpans routines (file ppcPixmapFS.c) got somewhat better - after importing some code from ddx/ibm/vga. (A getbits function that does - wrapping.) - They were wrong for the FillStippled and FillOpaqueStippled modes. - I don't understand the old code. How could it handle stipples of a size not - an exact multiple of 32? (or 8, for that matter.) - -14. In function vgaBitBlt file vgaBitBlt.c, in the shortcuts for - GXSet, GXClear and GXInvert, the source (x0,y0) is accidentally operated - upon by vgaFillSolid, instead of the destination (x1,y1). - -15. Notice that in DoMonoSingle and DoMonoMany in file vgaStipple.c, the left - edge of the square to be stippled is treated wrong. - Correct would be to get the bits with getbits using offset xshift, and - to shift them right (x & 07) places. - [One might wish to use the variable tmp1 at this place, since it had been - set to (x & 07) at this place; but that is already re-used at this point.] - Also note that NeedValX is set wrong: The implicit assumption was that - stipples are more than 8 wide. - This only fixes the problem when miPushPixel is used instead of ppcPushPixel. - I think I should look some more into this. - -16. I took out some code of the CopyArea function, in which a no-op function - was called while a real one was needed. My fix does not completely work, - although it improved the behaviour of GetImage somewhat. - -17. After finding three kinds of errors in this single function, - -- the new kinds being the right side not being always written due to - an incorrect if scope, and the lower end not always being written due - to variables being updated at the wrong place -- - (requiring modifications to be made at at least 10 places, - I decided to REWRITE the body of the ppcTileRect function from scratch. - This version simply computes all relevant margins in advance, and does - not try to reuse temporary variables. I leave that to the compiler. - (This was a maintenance and robustness nightmare anyway.) - -MORE NOTES: - It is funny that there are two files in mi that require compilation - with the proper #defines ( -DXF86VGA16 in my case ): - Besides the obvious mibitblt.c, there is also mipushpxl.c. - - - -$XFree86: xc/programs/Xserver/hw/xfree86/xf4bpp/NOTES,v 1.1.2.2 1998/06/27 15:15:45 dawes Exp $ diff --git a/xorg-server/hw/xfree86/xf4bpp/OScompiler.h b/xorg-server/hw/xfree86/xf4bpp/OScompiler.h deleted file mode 100644 index 8a8bbb59c..000000000 --- a/xorg-server/hw/xfree86/xf4bpp/OScompiler.h +++ /dev/null @@ -1,58 +0,0 @@ -/* - * 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. - * -*/ - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#ifndef __COMPILER_DEPENDANCIES__ -#define __COMPILER_DEPENDANCIES__ - -#define MOVE( src, dst, length ) memcpy( dst, src, length) -#define MAX(a,b) (((a)>(b))?(a):(b)) -#define MIN(a,b) (((a)<(b))?(a):(b)) -#define ABS(x) (((x)>0)?(x):-(x)) - -#include "misc.h" -#include "compiler.h" - -#ifdef lint -/* So that lint doesn't complain about constructs it doesn't understand */ -#ifdef volatile -#undef volatile -#endif -#define volatile -#ifdef const -#undef const -#endif -#define const -#ifdef signed -#undef signed -#endif -#define signed -#ifdef _ANSI_DECLS_ -#undef _ANSI_DECLS_ -#endif -#endif - -#endif /* !__COMPILER_DEPENDANCIES__ */ diff --git a/xorg-server/hw/xfree86/xf4bpp/emulOpStip.c b/xorg-server/hw/xfree86/xf4bpp/emulOpStip.c deleted file mode 100644 index 542e9d394..000000000 --- a/xorg-server/hw/xfree86/xf4bpp/emulOpStip.c +++ /dev/null @@ -1,102 +0,0 @@ -/* - * 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. - * -*/ - -/* ppc OpaqueStipple - * - * Based on the private stipple; does a foreground, and then an inverted - * on the background - * - */ - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include "xf4bpp.h" -#include "OScompiler.h" -#include "mfbmap.h" -#include "mfb.h" - -void -xf4bppOpaqueStipple( pWin, pStipple, fg, bg, alu, planes, x, y, w, h, xSrc, ySrc ) -WindowPtr pWin; /* GJA */ -register PixmapPtr pStipple ; -unsigned long int fg ; -unsigned long int bg ; -int alu ; -unsigned long int planes ; -register int x, y, w, h ; -int xSrc, ySrc ; -{ - /* DO BACKGROUND */ - switch ( alu ) { - /* Easy Cases -- i.e. Final Result Doesn't Depend On Initial Dest. */ - case GXclear: /* 0x0 Zero 0 */ - case GXset: /* 0xf 1 */ - /* Foreground And Background Are Both The Same !! */ - xf4bppFillSolid( pWin, bg, alu, planes, x, y, w, h ) ; - case GXnoop: /* 0x5 dst */ - break ; - case GXcopy: /* 0x3 src */ - case GXcopyInverted: /* 0xc NOT src */ - { /* Special Case Code */ - register int vtarget, htarget ; - - /* We Can Draw Just One Copy Then Blit The Rest !! */ - /* Draw The One Copy */ - htarget = MIN( w, pStipple->drawable.width ) ; - vtarget = MIN( h, pStipple->drawable.height ) ; - - /* First The Background */ - xf4bppFillSolid( pWin, bg, alu, planes, x, y, - htarget, vtarget ) ; - /* Then The Foreground */ - xf4bppFillStipple( pWin, pStipple, fg, alu, planes, - x, y, htarget, vtarget, - xSrc, ySrc ) ; - - /* Here We Double The Size Of The BLIT Each Iteration */ - xf4bppReplicateArea(pWin, x, y, planes, w, h, htarget, vtarget); - } - break ; - default: - /* Hard Cases -- i.e. Final Result DOES Depend On Initial Dest. */ - { /* Do The Background */ - register int i, j; - register PixmapPtr pInvPixmap = xf4bppCopyPixmap( pStipple ) ; - register unsigned char *data = pInvPixmap->devPrivate.ptr ; - - /* INVERT PIXMAP OK, jeff, this is for you */ - for ( i = pInvPixmap->drawable.height ; i-- ; ) - for ( j = pInvPixmap->devKind ; j-- ; data++ ) - *data = ~ ( *data ) ; - - xf4bppFillStipple( pWin, pInvPixmap, bg, alu, planes, x, y, w, h, xSrc, ySrc ); - mfbDestroyPixmap( pInvPixmap ) ; - /* DO FOREGROUND */ - xf4bppFillStipple( pWin, pStipple, fg, alu, planes, x, y, w, h, xSrc, ySrc ); - } - break ; - } - return; -} diff --git a/xorg-server/hw/xfree86/xf4bpp/emulRepAre.c b/xorg-server/hw/xfree86/xf4bpp/emulRepAre.c deleted file mode 100644 index 20fff1e0c..000000000 --- a/xorg-server/hw/xfree86/xf4bpp/emulRepAre.c +++ /dev/null @@ -1,69 +0,0 @@ -/* - * 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. - * -*/ - -/* ppc Replicate Area -- A Divide & Conquer Algorithm - * a "ppc" Helper Function For Stipples And Tiling - * P. Shupak 1/88 - */ - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include "xf4bpp.h" - -void xf4bppReplicateArea( pWin, x, y, planeMask, goalWidth, goalHeight, - currentHoriz, currentVert) -WindowPtr pWin; /* GJA */ -register int x, y, planeMask ; -int goalWidth, goalHeight ; -int currentHoriz, currentVert ; -{ - for ( ; - currentHoriz <= ( goalWidth >> 1 ) ; - currentHoriz <<= 1 ) { - xf4bppBitBlt( pWin, GXcopy, planeMask, - x, y, - x + currentHoriz, y, - currentHoriz, currentVert ) ; - } - if ( goalWidth - currentHoriz ) - xf4bppBitBlt( pWin, GXcopy, planeMask, - x, y, - x + currentHoriz, y, - goalWidth - currentHoriz, currentVert ) ; - for ( ; - currentVert <= ( goalHeight >> 1 ) ; - currentVert <<= 1 ) { - xf4bppBitBlt( pWin, GXcopy, planeMask, - x, y, - x, y + currentVert, - goalWidth, currentVert ) ; - } - if ( goalHeight - currentVert ) - xf4bppBitBlt( pWin, GXcopy, planeMask, - x, y, - x, y + currentVert, - goalWidth, goalHeight - currentVert ) ; -return ; -} diff --git a/xorg-server/hw/xfree86/xf4bpp/emulTile.c b/xorg-server/hw/xfree86/xf4bpp/emulTile.c deleted file mode 100644 index 2f2a758f2..000000000 --- a/xorg-server/hw/xfree86/xf4bpp/emulTile.c +++ /dev/null @@ -1,352 +0,0 @@ -/* - * 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. - * -*/ - -/* ppc Tile - * P. Shupak 11/87 - * Modified From original ppc Tile - * T. Paquin 9/87 - * Uses private imageFill a bunch of times - */ - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include "xf4bpp.h" -#include "OScompiler.h" -#include "ibmTrace.h" - -static void -DrawFirstTile -( - WindowPtr pWin, /* GJA */ - register PixmapPtr pTile, - register int x, - register int y, - int w, - int h, - int alu, - unsigned long int planes, - int xOffset, - int yOffset -) -{ -register int htarget ; -register int vtarget ; - - if ( xOffset ) { /* Not X-Aligned */ - if ( yOffset ) { /* Nor Y-Aligned */ - htarget = MIN( pTile->drawable.width - xOffset, w ), - vtarget = MIN( pTile->drawable.height - yOffset, h ), - yOffset *= pTile->devKind ; - xf4bppDrawColorImage( pWin,x, y, - htarget, - vtarget, - (unsigned char *)pTile->devPrivate.ptr + yOffset + xOffset, - pTile->devKind, - alu, planes ) ; - if ( w > htarget ) { - w = MIN( w, pTile->drawable.width ) ; - if ( h > vtarget ) { - h = MIN( h, pTile->drawable.height ) ; - xf4bppDrawColorImage( pWin, x, y + vtarget, - htarget, - h - vtarget, - (unsigned char *)pTile->devPrivate.ptr + xOffset, - pTile->devKind, - alu, planes ) ; - xf4bppDrawColorImage( pWin, x + htarget, y, - w - htarget, - vtarget, - (unsigned char *)pTile->devPrivate.ptr + yOffset, - pTile->devKind, - alu, planes ) ; - xf4bppDrawColorImage( pWin, x + htarget, - y + vtarget, - w - htarget, - h - vtarget, - pTile->devPrivate.ptr, - pTile->devKind, - alu, planes ) ; - } - else { /* h <= vtarget */ - xf4bppDrawColorImage( pWin, x + htarget, y, - w - htarget, - vtarget, - (unsigned char *)pTile->devPrivate.ptr + yOffset, - pTile->devKind, - alu, planes ) ; - } - } - else if ( h > vtarget ) { - xf4bppDrawColorImage( pWin, x, y + vtarget, - htarget, - MIN( h, pTile->drawable.height ) - vtarget, - (unsigned char *)pTile->devPrivate.ptr + xOffset, - pTile->devKind, - alu, planes ) ; - vtarget = pTile->drawable.height ; - } - } - else { /* No Y Offset */ - xf4bppDrawColorImage( pWin, x, y, - htarget = MIN( pTile->drawable.width - xOffset, w ), - vtarget = MIN( pTile->drawable.height, h ), - (unsigned char *)pTile->devPrivate.ptr + xOffset, - pTile->devKind, - alu, planes ) ; - if ( w > htarget ) { - xf4bppDrawColorImage( pWin, x + htarget, y, - MIN( pTile->drawable.width, w ) - htarget, - vtarget, - pTile->devPrivate.ptr, - pTile->devKind, - alu, planes ) ; - } - } - } - else if ( yOffset ) { - xf4bppDrawColorImage( pWin, x, y, - htarget = MIN( pTile->drawable.width, w ), - vtarget = MIN( pTile->drawable.height - yOffset, h ), - (unsigned char *)pTile->devPrivate.ptr + ( yOffset * pTile->devKind ), - pTile->devKind, - alu, planes ) ; - if ( h > vtarget ) { - xf4bppDrawColorImage( pWin, x, y + vtarget, - htarget, - MIN( pTile->drawable.height, h ) - vtarget, - pTile->devPrivate.ptr, - pTile->devKind, - alu, planes ) ; - } - } - else { /* NO Offset */ - xf4bppDrawColorImage( pWin, x, y, - htarget = MIN( pTile->drawable.width, w ), - vtarget = MIN( pTile->drawable.height, h ), - pTile->devPrivate.ptr, - pTile->devKind, - alu, planes ) ; - } - - return ; -} - -/* GJA -- - * After finding three kinds of errors in this single function, - * (requiring modifications to be made at at least 10 places, - * I decided to REWRITE the body of the xf4bppTileRect function from scratch. - * This version simply computes all relevant margins in advance, and does - * not try to reuse temporary variables. I leave that to the compiler. - * (This was a maintenance and robustness nightmare anyway.) - * The code is pretty obvious: all margins, coordinates, and numbers of tiles - * are computed before drawing starts. - * Notice that the margins consist of incompletely drawn tiles. Therefore - * we need offsets in the data for the left and upper margins. - * The right and lower margins are also incomplete, but start at offset 0 - * in the data. They just end at awkward offsets. - * The center block, by definition, consists of fully drawn tiles. - * Perhaps we could leave out some if's. But why bother? It would decrease - * robustness. - */ -void -xf4bppTileRect( pWin, pTile, alu, planes, x0, y0, w, h, xSrc, ySrc ) -WindowPtr pWin; /* GJA */ -register PixmapPtr pTile ; -const int alu ; -const unsigned long int planes ; -register int x0, y0, w, h ; -int xSrc ; -int ySrc ; -{ -int xOffset ; -int yOffset ; -int width, height; - -TRACE( ( "xf4bppTileRect(pTile=x%x,alu=x%x,planes=x%02x,x0=%d,y0=%d,w=%d,h=%d,xSrc=%d,ySrc=%d\n", - pTile, alu, planes, x0, y0, w, h, xSrc, ySrc ) ) ; - - switch ( alu ) { - case GXclear: /* 0x0 Zero 0 */ - case GXinvert: /* 0xa NOT dst */ - case GXset: /* 0xf 1 */ - xf4bppFillSolid - ( pWin, 0xFF, alu, planes, x0, y0, w, h ) ; - case GXnoop: /* 0x5 dst */ - return ; - default: - break ; -} - - width = pTile->drawable.width; - if ( ( xOffset = ( x0 - xSrc ) ) > 0 ) - xOffset %= width ; - else - xOffset = width - (( - xOffset ) % width ) ; - if ( xOffset == width ) xOffset = 0; /* For else case */ - - height = pTile->drawable.height; - if ( ( yOffset = ( y0 - ySrc ) ) > 0 ) - yOffset %= height ; - else - yOffset = height - (( - yOffset ) % height ) ; - if ( yOffset == height ) yOffset = 0; /* For else case */ - - switch ( alu ) { - case GXcopyInverted: /* 0xc NOT src */ - case GXcopy: /* 0x3 src */ - /* Special Case Code */ - DrawFirstTile( pWin, pTile, x0, y0, w, h, - alu, planes, xOffset, yOffset ) ; - /* Here We Double The Size Of The BLIT Each Iteration */ - xf4bppReplicateArea( pWin, x0, y0, planes, w, h, - MIN( w, pTile->drawable.width ), - MIN( h, pTile->drawable.height ) ) ; - break ; - case GXnor: /* 0x8 NOT src AND NOT dst */ - case GXandReverse: /* 0x2 src AND NOT dst */ - case GXorReverse: /* 0xb src OR NOT dst */ - case GXnand: /* 0xe NOT src OR NOT dst */ - case GXandInverted: /* 0x4 NOT src AND dst */ - case GXand: /* 0x1 src AND dst */ - case GXequiv: /* 0x9 NOT src XOR dst */ - case GXxor: /* 0x6 src XOR dst */ - case GXorInverted: /* 0xd NOT src OR dst */ - case GXor: /* 0x7 src OR dst */ - default: - { - register unsigned char *data ; - register int hcount, vcount ; /* Number of tiles in center */ - int xcount, ycount; /* Temporaries */ - int x1, y1; /* Left upper corner of center */ - int x2, y2; /* Left upper corner of lower right margin */ - int leftmgn, rightmgn, topmgn, botmgn; /* Margins */ - - int htarget, vtarget ; - - data = pTile->devPrivate.ptr; - - /* Compute the various sizes and coordinates. */ - leftmgn = MIN( w, width - xOffset ) ; - x1 = x0 + leftmgn; - topmgn = MIN( h, height - yOffset ) ; - y1 = y0 + topmgn; - - rightmgn = (w - leftmgn) % width; - hcount = (w - leftmgn) / width; - x2 = x0 + w - rightmgn; - botmgn = (h - topmgn) % height; - vcount = (h - topmgn) / height; - y2 = y0 + h - botmgn; - - /* We'll use yOffset as offset in data. - * This requires yOffset != height (ditto xOffset). - */ - yOffset *= pTile->devKind; - - /* Draw top margin, including corners */ - if ( topmgn ) { - if ( leftmgn ) { - xf4bppDrawColorImage( pWin, x0, y0, leftmgn, topmgn, - data + yOffset + xOffset, - pTile->devKind, alu, planes ) ; - } - for ( xcount = hcount, htarget = x1; - xcount ; - xcount--, htarget += width ) - { - xf4bppDrawColorImage( pWin, htarget, y0, width, topmgn, - data + yOffset, - pTile->devKind, alu, planes ) ; - } - if ( rightmgn ) { - xf4bppDrawColorImage( pWin, x2, y0, rightmgn, topmgn, - data + yOffset, - pTile->devKind, alu, planes ) ; - } - } - - /* Draw bottom margin, including corners */ - if ( botmgn ) { - if ( leftmgn ) { - xf4bppDrawColorImage( pWin, x0, y2, leftmgn, botmgn, - data + xOffset, - pTile->devKind, alu, planes ) ; - } - for ( xcount = hcount, htarget = x1; - xcount ; - xcount--, htarget += width ) - { - xf4bppDrawColorImage( pWin, htarget, y2, width, botmgn, - data, - pTile->devKind, alu, planes ) ; - } - if ( rightmgn ) { - xf4bppDrawColorImage( pWin, x2, y2, rightmgn, botmgn, - data, - pTile->devKind, alu, planes ) ; - } - } - - /* Draw left margin, excluding corners */ - if ( leftmgn ) { - for ( ycount = vcount, vtarget = y1 ; - ycount ; - ycount--, vtarget += height ) - { - xf4bppDrawColorImage( pWin, x0, vtarget, leftmgn, height, - data + xOffset, - pTile->devKind, alu, planes ) ; - } - } - - /* Draw right margin, excluding corners */ - if ( rightmgn ) { - for ( ycount = vcount, vtarget = y1 ; - ycount ; - ycount--, vtarget += height ) - { - xf4bppDrawColorImage( pWin, x2, vtarget, rightmgn, height, - data, - pTile->devKind, alu, planes ) ; - } - } - - /* Draw center consisting of full tiles */ - for ( ycount = vcount, vtarget = y1 ; - ycount ; - ycount--, vtarget += height ) - { - for ( xcount = hcount, htarget = x1 ; - xcount ; - xcount--, htarget += width ) - { - xf4bppDrawColorImage( pWin, htarget, vtarget, width, height, - data, - pTile->devKind, alu, planes ) ; - - } - } - } } /* Block + switch */ -} diff --git a/xorg-server/hw/xfree86/xf4bpp/ibmTrace.h b/xorg-server/hw/xfree86/xf4bpp/ibmTrace.h deleted file mode 100644 index f1d88406d..000000000 --- a/xorg-server/hw/xfree86/xf4bpp/ibmTrace.h +++ /dev/null @@ -1 +0,0 @@ -#define TRACE(x) /* empty */ diff --git a/xorg-server/hw/xfree86/xf4bpp/mfbbres.c b/xorg-server/hw/xfree86/xf4bpp/mfbbres.c deleted file mode 100644 index 09d7ee288..000000000 --- a/xorg-server/hw/xfree86/xf4bpp/mfbbres.c +++ /dev/null @@ -1,164 +0,0 @@ -/* Combined Purdue/PurduePlus patches, level 2.0, 1/17/89 */ -/*********************************************************** - -Copyright (c) 1987 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 1987 by Digital Equipment Corporation, Maynard, Massachusetts. - - 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. - -******************************************************************/ -/* GJA -- modified this file for vga16 */ - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include "xf4bpp.h" -#include "OScompiler.h" -#include "mfbmap.h" -#include "mfb.h" -#include "maskbits.h" -#include "miline.h" -#include "wm3.h" - -/* Solid bresenham line */ -/* NOTES - e2 is used less often than e1, so it's not in a register -*/ - -void -xf4bppBresS(addrlbase, nlwidth, signdx, signdy, axis, x1, y1, e, e1, e2, len) -PixelType *addrlbase; /* pointer to base of bitmap */ -int nlwidth; /* width in longwords of bitmap */ -int signdx, signdy; /* signs of directions */ -int axis; /* major axis (Y_AXIS or X_AXIS) */ -int x1, y1; /* initial point */ -register int e; /* error accumulator */ -register int e1; /* bresenham increments */ -int e2; -int len; /* length of line */ -{ - register int yinc; /* increment to next scanline, in bytes */ - register PixelType *addrl; /* bitmask long pointer - *dont* * cast to char pointer */ - register PixelType bit; /* current bit being set/cleared/etc. */ - PixelType leftbit = mfbGetmask(0); /* leftmost bit to process in new word */ - PixelType rightbit = mfbGetmask(PPW-1); /* rightmost bit to process in new word */ - - register int e3 = e2-e1; - - /* point to longword containing first point */ - addrl = mfbScanline(addrlbase, x1, y1, nlwidth); - yinc = signdy * nlwidth; - e = e-e1; /* to make looping easier */ - bit = mfbGetmask(x1 & PIM); - - if (!len) - return; - - if (axis == X_AXIS) - { - if (signdx > 0) - { - while(len--) - { - UPDRW(addrl,bit); - e += e1; - if (e >= 0) - { - addrl += yinc; - e += e3; - } - bit = SCRRIGHT(bit,1); - if (!bit) { bit = leftbit; addrl++; } - } - } - else - { - while(len--) - { - UPDRW(addrl,bit); - e += e1; - if (e >= 0) - { - addrl += yinc; - e += e3; - } - bit = SCRLEFT(bit,1); - if (!bit) { bit = rightbit; addrl--; } - } - } - } /* if X_AXIS */ - else - { - if (signdx > 0) - { - while(len--) - { - UPDRW(addrl,bit); - e += e1; - if (e >= 0) - { - bit = SCRRIGHT(bit,1); - if (!bit) { bit = leftbit; addrl++; } - e += e3; - } - addrl += yinc; - } - } - else - { - while(len--) - { - UPDRW(addrl,bit); - e += e1; - if (e >= 0) - { - bit = SCRLEFT(bit,1); - if (!bit) { bit = rightbit; addrl--; } - e += e3; - } - addrl += yinc; - } - } - } /* else Y_AXIS */ -} diff --git a/xorg-server/hw/xfree86/xf4bpp/mfbbresd.c b/xorg-server/hw/xfree86/xf4bpp/mfbbresd.c deleted file mode 100644 index 318d4f5da..000000000 --- a/xorg-server/hw/xfree86/xf4bpp/mfbbresd.c +++ /dev/null @@ -1,205 +0,0 @@ -/*********************************************************** - -Copyright (c) 1987 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 1987 by Digital Equipment Corporation, Maynard, Massachusetts. - - 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. - -******************************************************************/ -/* GJA -- modified this file for vga16 */ - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include "xf4bpp.h" -#include "OScompiler.h" -#include "mfbmap.h" -#include "mfb.h" -#include "maskbits.h" -#include "miline.h" -#include "wm3.h" -#include "xf86.h" - -/* Dashed bresenham line */ - -#define NO_INK (-1) /* GJA -- means: dash is off */ - -#define StepDash\ - if (!--dashRemaining) { \ - if (++ dashIndex == numInDashList) \ - dashIndex = 0; \ - dashRemaining = pDash[dashIndex]; \ - ink = fgink; \ - if (dashIndex & 1) \ - ink = bgink; \ - if (isDoubleDash) \ - WM3_SET_INK(ink); \ - } - -void -xf4bppBresD(pDrawable, fgink, bgink, - pdashIndex, pDash, numInDashList, pdashOffset, isDoubleDash, - addrlbase, nlwidth, - signdx, signdy, axis, x1, y1, e, e1, e2, len) -DrawablePtr pDrawable; -int fgink, bgink; -int *pdashIndex; /* current dash */ -unsigned char *pDash; /* dash list */ -int numInDashList; /* total length of dash list */ -int *pdashOffset; /* offset into current dash */ -int isDoubleDash; -PixelType *addrlbase; /* pointer to base of bitmap */ -int nlwidth; /* width in longwords of bitmap */ -int signdx, signdy; /* signs of directions */ -int axis; /* major axis (Y_AXIS or X_AXIS) */ -int x1, y1; /* initial point */ -register int e; /* error accumulator */ -register int e1; /* bresenham increments */ -int e2; -int len; /* length of line */ -{ - IOADDRESS REGBASE = - xf86Screens[pDrawable->pScreen->myNum]->domainIOBase + 0x300; - register int yinc; /* increment to next scanline, in bytes */ - register PixelType *addrl; - register int e3 = e2-e1; - register unsigned long bit; - PixelType leftbit = mfbGetmask(0); /* leftmost bit to process in new word */ - PixelType rightbit = mfbGetmask(PPW-1); /* rightmost bit to process in new word */ - int dashIndex; - int dashOffset; - int dashRemaining; - int ink; - - fgink &= 0x0F; bgink &= 0x0F; /* GJA -- so they're != NO_INK */ - - dashOffset = *pdashOffset; - dashIndex = *pdashIndex; - dashRemaining = pDash[dashIndex] - dashOffset; - ink = fgink; - if (!isDoubleDash) - bgink = NO_INK; - if (dashIndex & 1) - ink = bgink; - if ( ink != NO_INK ) WM3_SET_INK(ink); - - /* point to longword containing first point */ - addrl = mfbScanline(addrlbase, x1, y1, nlwidth); - yinc = signdy * nlwidth; - e = e-e1; /* to make looping easier */ - bit = mfbGetmask(x1 & PIM); - if (axis == X_AXIS) - { - if (signdx > 0) - { - while(len--) - { - if ( ink != NO_INK ) UPDRW(addrl,bit); - e += e1; - if (e >= 0) - { - addrl += yinc; - e += e3; - } - bit = SCRRIGHT(bit,1); - if (!bit) { bit = leftbit; addrl++; } - StepDash - } - } - else - { - while(len--) - { - - if ( ink != NO_INK ) UPDRW(addrl,bit); - e += e1; - if (e >= 0) - { - addrl += yinc; - e += e3; - } - bit = SCRLEFT(bit,1); - if (!bit) { bit = rightbit; addrl--; } - StepDash - } - } - } /* if X_AXIS */ - else - { - if (signdx > 0) - { - while(len--) - { - if ( ink != NO_INK ) UPDRW(addrl,bit); - e += e1; - if (e >= 0) - { - bit = SCRRIGHT(bit,1); - if (!bit) { bit = leftbit; addrl++; } - e += e3; - } - addrl += yinc; - StepDash - } - } - else - { - while(len--) - { - - if ( ink != NO_INK ) UPDRW(addrl,bit); - e += e1; - if (e >= 0) - { - bit = SCRLEFT(bit,1); - if (!bit) { bit = rightbit; addrl--; } - e += e3; - } - addrl += yinc; - StepDash - } - } - } /* else Y_AXIS */ - *pdashIndex = dashIndex; - *pdashOffset = pDash[dashIndex] - dashRemaining; -} diff --git a/xorg-server/hw/xfree86/xf4bpp/mfbfillarc.c b/xorg-server/hw/xfree86/xf4bpp/mfbfillarc.c deleted file mode 100644 index 89aeadd2b..000000000 --- a/xorg-server/hw/xfree86/xf4bpp/mfbfillarc.c +++ /dev/null @@ -1,301 +0,0 @@ -/************************************************************ - -Copyright (c) 1989 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. - -********************************************************/ - -/* GJA -- Took mfb code and modified it. */ - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include "xf4bpp.h" -#include "OScompiler.h" -#include "mfbmap.h" -#include "mfb.h" -#include "maskbits.h" -#include "mi.h" -#include "mifillarc.h" -#include "wm3.h" - -#include "xf86str.h" /* for pScrn->vtSema */ -extern ScrnInfoPtr *xf86Screens; - -static void -v16FillEllipseSolid -( - DrawablePtr pDraw, - xArc *arc -) -{ - int x, y, e; - int yk, xk, ym, xm, dx, dy, xorg, yorg; - register int slw; - miFillArcRec info; - int *addrlt, *addrlb; - register int *addrl; - register int n; - int nlwidth; - register int xpos; - int startmask, endmask, nlmiddle; - - if (pDraw->type == DRAWABLE_WINDOW) - { - addrlt = (int *) - (((PixmapPtr)(pDraw->pScreen->devPrivate))->devPrivate.ptr); - nlwidth = (int) - (((PixmapPtr)(pDraw->pScreen->devPrivate))->devKind) >> 2; - } - else - { - addrlt = (int *)(((PixmapPtr)pDraw)->devPrivate.ptr); - nlwidth = (int)(((PixmapPtr)pDraw)->devKind) >> 2; - } - - miFillArcSetup(arc, &info); - MIFILLARCSETUP(); - xorg += pDraw->x; - yorg += pDraw->y; - addrlb = addrlt; - addrlt += nlwidth * (yorg - y); - addrlb += nlwidth * (yorg + y + dy); - while (y) - { - addrlt += nlwidth; - addrlb -= nlwidth; - MIFILLARCSTEP(slw); - if (!slw) - continue; - xpos = xorg - x; - addrl = addrlt + (xpos >> PWSH); - if (((xpos & PIM) + slw) < PPW) - { - maskpartialbits(xpos, slw, startmask); - UPDRW(addrl,startmask); - if (miFillArcLower(slw)) - { - addrl = addrlb + (xpos >> PWSH); - UPDRW(addrl,startmask); - } - continue; - } - maskbits(xpos, slw, startmask, endmask, nlmiddle); - if (startmask) - { - UPDRW(addrl,startmask); addrl++; - } - n = nlmiddle; - while (n--) { - UPDRW(addrl,~0); addrl++; - } - if (endmask) - { - UPDRW(addrl,endmask); - } - if (!miFillArcLower(slw)) - continue; - addrl = addrlb + (xpos >> PWSH); - if (startmask) - { - UPDRW(addrl,startmask); addrl++; - } - n = nlmiddle; - while (n--) { - UPDRW(addrl,~0); addrl++; - } - if (endmask) - { - UPDRW(addrl,endmask); - } - } -} - -#define FILLSPAN(xl,xr,addr) \ - if (xr >= xl) \ - { \ - width = xr - xl + 1; \ - addrl = addr + (xl >> PWSH); \ - if (((xl & PIM) + width) < PPW) \ - { \ - maskpartialbits(xl, width, startmask); \ - UPDRW(addrl,startmask); \ - } \ - else \ - { \ - maskbits(xl, width, startmask, endmask, nlmiddle); \ - if (startmask) \ - { \ - UPDRW(addrl,startmask); addrl++; \ - } \ - n = nlmiddle; \ - while (n--) { \ - UPDRW(addrl,~0); addrl++; \ - } \ - if (endmask) \ - { \ - UPDRW(addrl,endmask); \ - } \ - } \ - } - -#define FILLSLICESPANS(flip,addr) \ - if (!flip) \ - { \ - FILLSPAN(xl, xr, addr); \ - } \ - else \ - { \ - xc = xorg - x; \ - FILLSPAN(xc, xr, addr); \ - xc += slw - 1; \ - FILLSPAN(xl, xc, addr); \ - } - -static void -v16FillArcSliceSolidCopy -( - DrawablePtr pDraw, - GCPtr pGC, - xArc *arc -) -{ - register int *addrl; - register int n; - int yk, xk, ym, xm, dx, dy, xorg, yorg, slw; - register int x, y, e; - miFillArcRec info; - miArcSliceRec slice; - int xl, xr, xc; - int *addrlt, *addrlb; - int nlwidth; - int width; - int startmask, endmask, nlmiddle; - - if (pDraw->type == DRAWABLE_WINDOW) - { - addrlt = (int *) - (((PixmapPtr)(pDraw->pScreen->devPrivate))->devPrivate.ptr); - nlwidth = (int) - (((PixmapPtr)(pDraw->pScreen->devPrivate))->devKind) >> 2; - } - else - { - addrlt = (int *)(((PixmapPtr)pDraw)->devPrivate.ptr); - nlwidth = (int)(((PixmapPtr)pDraw)->devKind) >> 2; - } - - miFillArcSetup(arc, &info); - miFillArcSliceSetup(arc, &slice, pGC); - MIFILLARCSETUP(); - xorg += pDraw->x; - yorg += pDraw->y; - addrlb = addrlt; - addrlt += nlwidth * (yorg - y); - addrlb += nlwidth * (yorg + y + dy); - slice.edge1.x += pDraw->x; - slice.edge2.x += pDraw->x; - while (y > 0) - { - addrlt += nlwidth; - addrlb -= nlwidth; - MIFILLARCSTEP(slw); - MIARCSLICESTEP(slice.edge1); - MIARCSLICESTEP(slice.edge2); - if (miFillSliceUpper(slice)) - { - MIARCSLICEUPPER(xl, xr, slice, slw); - FILLSLICESPANS(slice.flip_top, addrlt); - } - if (miFillSliceLower(slice)) - { - MIARCSLICELOWER(xl, xr, slice, slw); - FILLSLICESPANS(slice.flip_bot, addrlb); - } - } -} - -static void -xf4bppPolyFillArcSolid -( - register DrawablePtr pDraw, - GCPtr pGC, - int narcs, - xArc *parcs -) -{ - register xArc *arc; - register int i; - BoxRec box; - RegionPtr cclip; -#if 0 - mfbPrivGC *priv; - int rop; - - priv = (mfbPrivGC *)dixLookupPrivate(&pGC->devPrivates, - mfbGetGCPrivateKey()); - rop = priv->rop; - if ((rop == RROP_NOP) || !(pGC->planemask & 1)) -#else - if ( !(pGC->planemask & 0x0F)) -#endif - return; - cclip = pGC->pCompositeClip; - for (arc = parcs, i = narcs; --i >= 0; arc++) - { - if (miFillArcEmpty(arc)) - continue; - if (miCanFillArc(arc)) - { - box.x1 = arc->x + pDraw->x; - box.y1 = arc->y + pDraw->y; - box.x2 = box.x1 + (int)arc->width + 1; - box.y2 = box.y1 + (int)arc->height + 1; - if (RECT_IN_REGION(pDraw->pScreen, cclip, &box) == rgnIN) - { - if ((arc->angle2 >= FULLCIRCLE) || - (arc->angle2 <= -FULLCIRCLE)) - DO_WM3(pGC,v16FillEllipseSolid(pDraw, arc)) - else - DO_WM3(pGC,v16FillArcSliceSolidCopy(pDraw, pGC, arc)) - continue; - } - } - miPolyFillArc(pDraw, pGC, 1, arc); - } -} - -void -xf4bppPolyFillArc(pDraw, pGC, narcs, parcs) - register DrawablePtr pDraw; - GCPtr pGC; - int narcs; - xArc *parcs; -{ - if ( !xf86Screens[pDraw->pScreen->myNum]->vtSema || (pGC->fillStyle != FillSolid) ) { - miPolyFillArc(pDraw, pGC, narcs, parcs); - } else { - xf4bppPolyFillArcSolid(pDraw, pGC, narcs, parcs); - } -} diff --git a/xorg-server/hw/xfree86/xf4bpp/mfbhrzvert.c b/xorg-server/hw/xfree86/xf4bpp/mfbhrzvert.c deleted file mode 100644 index 3444f48f5..000000000 --- a/xorg-server/hw/xfree86/xf4bpp/mfbhrzvert.c +++ /dev/null @@ -1,135 +0,0 @@ -/* Combined Purdue/PurduePlus patches, level 2.0, 1/17/89 */ -/*********************************************************** - -Copyright (c) 1987 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 1987 by Digital Equipment Corporation, Maynard, Massachusetts. - - 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. - -******************************************************************/ -/* GJA -- modified this file for vga16 */ - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include "xf4bpp.h" -#include "OScompiler.h" -#include "mfbmap.h" -#include "mfb.h" -#include "maskbits.h" -#include "wm3.h" - -/* horizontal solid line - abs(len) > 1 -*/ - -void -xf4bppHorzS(addrl, nlwidth, x1, y1, len) -register PixelType *addrl; /* pointer to base of bitmap */ -register int nlwidth; /* width in longwords of bitmap */ -int x1; /* initial point */ -int y1; -int len; /* length of line */ -{ - register PixelType startmask; - register PixelType endmask; - register int nlmiddle; - - - /* force the line to go left to right - but don't draw the last point - */ - if (len < 0) - { - x1 += len; - x1 += 1; - len = -len; - } - - addrl = mfbScanline(addrl, x1, y1, nlwidth); - - /* all bits inside same longword */ - if ( ((x1 & PIM) + len) < PPW) - { - maskpartialbits(x1, len, startmask); - UPDRW(addrl,startmask); - } - else - { - maskbits(x1, len, startmask, endmask, nlmiddle); - if (startmask) { - UPDRW(addrl,startmask); addrl++; - } - Duff (nlmiddle, UPDRW(addrl,~0); addrl++); - if (endmask) { - UPDRW(addrl,endmask); - } - } -} - -/* vertical solid line - this uses do loops because pcc (Ultrix 1.2, bsd 4.2) generates - better code. sigh. we know that len will never be 0 or 1, so - it's OK to use it. -*/ - -void -xf4bppVertS(addrl, nlwidth, x1, y1, len) -register PixelType *addrl; /* pointer to base of bitmap */ -register int nlwidth; /* width in longwords of bitmap */ -int x1, y1; /* initial point */ -register int len; /* length of line */ -{ - register PixelType bitmask; - - addrl = mfbScanline(addrl, x1, y1, nlwidth); - - if (len < 0) - { - nlwidth = -nlwidth; - len = -len; - } - - bitmask = mfbGetmask(x1 & PIM); - Duff(len, UPDRW(addrl,bitmask); addrl += nlwidth); -} diff --git a/xorg-server/hw/xfree86/xf4bpp/mfbimggblt.c b/xorg-server/hw/xfree86/xf4bpp/mfbimggblt.c deleted file mode 100644 index 4f9561161..000000000 --- a/xorg-server/hw/xfree86/xf4bpp/mfbimggblt.c +++ /dev/null @@ -1,505 +0,0 @@ -/* Combined Purdue/PurduePlus patches, level 2.0, 1/17/89 */ -/*********************************************************** - -Copyright (c) 1987 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 1987 by Digital Equipment Corporation, Maynard, Massachusetts. - - 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. - -******************************************************************/ - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include "xf4bpp.h" -#include "OScompiler.h" -#include "mfbmap.h" -#include "mfb.h" -#include "maskbits.h" -#include "mi.h" -#include "dixfontstr.h" -#include "ppcGCstr.h" -#include "wm3.h" - -#include "xf86str.h" /* for pScrn->vtSema */ -extern ScrnInfoPtr *xf86Screens; - -/* - we should eventually special-case fixed-width fonts for ImageText. - - this works for fonts with glyphs <= 32 bits wide. - - the clipping calculations are done for worst-case fonts. -we make no assumptions about the heights, widths, or bearings -of the glyphs. if we knew that the glyphs are all the same height, -we could clip the tops and bottoms per clipping box, rather -than per character per clipping box. if we knew that the glyphs' -left and right bearings were wlle-behaved, we could clip a single -character at the start, output until the last unclipped -character, and then clip the last one. this is all straightforward -to determine based on max-bounds and min-bounds from the font. - there is some inefficiency introduced in the per-character -clipping to make what's going on clearer. - - (it is possible, for example, for a font to be defined in which the -next-to-last character in a font would be clipped out, but the last -one wouldn't. the code below deals with this.) - - Image text looks at the bits in the glyph and the fg and bg in the -GC. it paints a rectangle, as defined in the protocol dcoument, -and the paints the characters. - - to avoid source proliferation, this file is compiled -three times: - MFBIMAGEGLYPHBLT OPEQ - mfbImageGlyphBltWhite |= - mfbImageGlyphBltBlack &=~ - - the register allocations for startmask and endmask may not -be the right thing. are there two other deserving candidates? -xoff, pdst, pglyph, and tmpSrc seem like the right things, though. -*/ - -/* Forward declarations -- GJA */ -static void doImageGlyphBlt( - DrawablePtr, - GC *, - int, - int, - unsigned int, - CharInfoPtr *, - unsigned char *, - ExtentInfoRec * -); - -void -xf4bppImageGlyphBlt(pDrawable, pGC, x, y, nglyph, ppci, pglyphBase) - DrawablePtr pDrawable; - GC *pGC; - int x, y; - unsigned int nglyph; - CharInfoPtr *ppci; /* array of character info */ - pointer pglyphBase; /* start of array of glyphs */ -{ - ExtentInfoRec info; /* used by QueryGlyphExtents() */ - xRectangle backrect;/* backing rectangle to paint. - in the general case, NOT necessarily - the same as the string's bounding box - */ - /* GJA -- I agree, this ALL should be moved to GC validation. */ - if ( (pDrawable->type != DRAWABLE_WINDOW) || (pGC->alu != GXcopy) || - !xf86Screens[pDrawable->pScreen->myNum]->vtSema || - ((pGC->font) && - (FONTMAXBOUNDS(pGC->font,rightSideBearing) - - FONTMINBOUNDS(pGC->font,leftSideBearing) > 32 || - FONTMINBOUNDS(pGC->font,characterWidth) < 0)) ) { - miImageGlyphBlt(pDrawable, pGC, x, y, nglyph, ppci, pglyphBase); - } else { - ppcPrivGC *pPrivGC; - int oldfillStyle, oldfg, oldalu; - - if (!(pGC->planemask & 0x0F)) - return; - - QueryGlyphExtents(pGC->font, ppci, (unsigned long)nglyph, &info); - - backrect.x = x; - backrect.y = y - FONTASCENT(pGC->font); - backrect.width = info.overallWidth; - backrect.height = FONTASCENT(pGC->font) + FONTDESCENT(pGC->font); - - - pPrivGC = (ppcPrivGC *)dixLookupPrivate(&pGC->devPrivates, - mfbGetGCPrivateKey()); - oldfillStyle = pPrivGC->colorRrop.fillStyle; /* GJA */ - oldfg = pPrivGC->colorRrop.fgPixel; /* GJA */ - oldalu = pPrivGC->colorRrop.alu; /* GJA */ - - pPrivGC->colorRrop.fillStyle = FillSolid; /* GJA */ - pPrivGC->colorRrop.fgPixel = pGC->bgPixel; /* GJA */ - pGC->fgPixel = pGC->bgPixel; - pPrivGC->colorRrop.alu = GXcopy; /* GJA */ - pGC->alu = GXcopy; - - /* Required fields: - * colorRrop.alu, colorRrop.planemask, colorRrop.fgPixel - */ - xf4bppPolyFillRect(pDrawable, pGC, 1, &backrect); - - pPrivGC->colorRrop.fgPixel = oldfg; /* GJA */ - pGC->fgPixel = oldfg; - - /* the faint-hearted can open their eyes now */ - - DO_WM3(pGC,doImageGlyphBlt(pDrawable, pGC, x, y, nglyph, ppci, - pglyphBase,&info)) - - pPrivGC->colorRrop.fillStyle = oldfillStyle; /* GJA */ - pPrivGC->colorRrop.alu = oldalu; /* GJA */ - pGC->alu = oldalu; - } - -} - -static void -doImageGlyphBlt(pDrawable, pGC, x, y, nglyph, ppci, pglyphBase,infop) - DrawablePtr pDrawable; - GC *pGC; - int x, y; - unsigned int nglyph; - CharInfoPtr *ppci; /* array of character info */ - unsigned char *pglyphBase; /* start of array of glyphs */ - ExtentInfoRec* infop; /* used by QueryGlyphExtents() */ -{ - BoxRec bbox; /* string's bounding box */ - - CharInfoPtr pci; - int xorg, yorg; /* origin of drawable in bitmap */ - int widthDst; /* width of dst in longwords */ - - /* these keep track of the character origin */ - CARD32 *pdstBase; - /* points to longword with character origin */ - int xchar; /* xorigin of char (mod 32) */ - - /* these are used for placing the glyph */ - register int xoff; /* x offset of left edge of glyph (mod 32) */ - register CARD32 *pdst; - /* pointer to current longword in dst */ - - int w; /* width of glyph in bits */ - int h; /* height of glyph */ - int widthGlyph; /* width of glyph, in bytes */ - register unsigned char *pglyph; - /* pointer to current row of glyph */ - - /* used for putting down glyph */ - register unsigned int tmpSrc; - /* for getting bits from glyph */ - register int startmask; - register int endmask; - - register int nFirst;/* bits of glyph in current longword */ - - xorg = pDrawable->x; - yorg = pDrawable->y; - if (pDrawable->type == DRAWABLE_WINDOW) - { - pdstBase = (CARD32 *) - (((PixmapPtr)(pDrawable->pScreen->devPrivate))->devPrivate.ptr); - widthDst = (int) - (((PixmapPtr)(pDrawable->pScreen->devPrivate))->devKind) >> 2; - } - else - { - pdstBase = (CARD32 *)(((PixmapPtr)pDrawable)->devPrivate.ptr); - widthDst = (int)(((PixmapPtr)pDrawable)->devKind) >> 2; - } - - x += xorg; - y += yorg; - bbox.x1 = x + infop->overallLeft; - bbox.x2 = x + infop->overallRight; - bbox.y1 = y - infop->overallAscent; - bbox.y2 = y + infop->overallDescent; - - /* UNCLEAN CODE - we know the mfbPolyFillRect uses only three fields in - devPrivate[mfbGetGCPrivateIndex()].ptr, two of which (the rotated - tile/stipple and the ropFillArea) are - irrelevant for solid filling, so we just poke the FillArea - field. the GC is now in an inconsistent state, but we'll fix - it as soon as PolyFillRect returns. fortunately, the server - is single threaded. - - NOTE: - if you are not using the standard mfbFillRectangle code, you - need to poke any fields in the GC the rectangle stuff need - (probably alu, fgPixel, and fillStyle) and in devPrivate[mfbGetGCPrivateIndex()].ptr - (probably rop or ropFillArea.) You could just call ValidateGC, - but that is usually not a cheap thing to do. - */ - - switch (RECT_IN_REGION(pGC->pScreen, pGC->pCompositeClip, &bbox)) - { - case rgnOUT: - break; - case rgnIN: - pdstBase = pdstBase + (widthDst * y) + (x >> PWSH); - xchar = x & PIM; - - while(nglyph--) - { - pci = *ppci; - pglyph = FONTGLYPHBITS(pglyphBase, pci); - w = pci->metrics.rightSideBearing - pci->metrics.leftSideBearing; - h = pci->metrics.ascent + pci->metrics.descent; - widthGlyph = GLYPHWIDTHBYTESPADDED(pci); - - /* start at top scanline of glyph */ - pdst = pdstBase - (pci->metrics.ascent * widthDst); - - /* find correct word in scanline and x offset within it - for left edge of glyph - */ - xoff = xchar + pci->metrics.leftSideBearing; - if (xoff > PIM) - { - pdst++; - xoff &= PIM; - } - else if (xoff < 0) - { - xoff += PPW; - pdst--; - } - - if ((xoff + w) <= PPW) - { - /* glyph all in one longword */ - maskpartialbits(xoff, w, startmask); - - while (h--) - { - getleftbits(pglyph, w, tmpSrc); - UPDRW(pdst,(SCRRIGHT(tmpSrc, xoff) & startmask)); - pglyph += widthGlyph; - pdst += widthDst; - } - } - else - { - /* glyph crosses longword boundary */ - maskPPWbits(xoff, w, startmask, endmask); - nFirst = PPW - xoff; - while (h--) - { - getleftbits(pglyph, w, tmpSrc); - UPDRW(pdst,(SCRRIGHT(tmpSrc, xoff) & startmask)); - UPDRW(&(pdst[1]),(SCRLEFT(tmpSrc, nFirst) & endmask)); - pglyph += widthGlyph; - pdst += widthDst; - } - } /* glyph crosses longwords boundary */ - - /* update character origin */ - x += pci->metrics.characterWidth; - xchar += pci->metrics.characterWidth; - if (xchar > PLST) - { - xchar -= PPW; - pdstBase++; - } - else if (xchar < 0) - { - xchar += PPW; - pdstBase--; - } - ppci++; - } /* while nglyph-- */ - break; - case rgnPART: - { - TEXTPOS *ppos; - int nbox; - BoxPtr pbox; - RegionPtr cclip; - int xpos; /* x position of char origin */ - unsigned int i; - BoxRec clip; - int leftEdge, rightEdge; - int topEdge, bottomEdge; - int glyphRow; /* first row of glyph not wholly - clipped out */ - int glyphCol; /* leftmost visible column of glyph */ -#if GETLEFTBITS_ALIGNMENT > 1 - int getWidth; /* bits to get from glyph */ -#endif - - if(!(ppos = (TEXTPOS *)xalloc(nglyph * sizeof(TEXTPOS)))) - return; - - pdstBase = pdstBase + (widthDst * y) + (x >> PWSH); - xpos = x; - xchar = xpos & PIM; - - for (i=0; imetrics.leftSideBearing; - ppos[i].rightEdge = xpos + pci->metrics.rightSideBearing; - ppos[i].topEdge = y - pci->metrics.ascent; - ppos[i].bottomEdge = y + pci->metrics.descent; - ppos[i].pdstBase = pdstBase; - ppos[i].widthGlyph = GLYPHWIDTHBYTESPADDED(pci); - - xpos += pci->metrics.characterWidth; - xchar += pci->metrics.characterWidth; - if (xchar > PLST) - { - xchar &= PIM; - pdstBase++; - } - else if (xchar < 0) - { - xchar += PPW; - pdstBase--; - } - } - - cclip = pGC->pCompositeClip; - pbox = REGION_RECTS(cclip); - nbox = REGION_NUM_RECTS(cclip); - - /* HACK ALERT - since we continue out of the loop below so often, it - is easier to increment pbox at the top than at the end. - don't try this at home. - */ - pbox--; - while(nbox--) - { - pbox++; - clip.x1 = max(bbox.x1, pbox->x1); - clip.y1 = max(bbox.y1, pbox->y1); - clip.x2 = min(bbox.x2, pbox->x2); - clip.y2 = min(bbox.y2, pbox->y2); - if ((clip.x2<=clip.x1) || (clip.y2<=clip.y1)) - continue; - - for(i=0; i clip.x2) - rightEdge = clip.x2; - else - rightEdge = ppos[i].rightEdge; - - w = rightEdge - leftEdge; - if (w <= 0) - continue; - - /* clip the top and bottom edges */ - if (ppos[i].topEdge < clip.y1) - topEdge = clip.y1; - else - topEdge = ppos[i].topEdge; - - if (ppos[i].bottomEdge > clip.y2) - bottomEdge = clip.y2; - else - bottomEdge = ppos[i].bottomEdge; - - h = bottomEdge - topEdge; - if (h <= 0) - continue; - - glyphRow = (topEdge - y) + pci->metrics.ascent; - widthGlyph = ppos[i].widthGlyph; - pglyph = FONTGLYPHBITS(pglyphBase, pci); - pglyph += (glyphRow * widthGlyph); - - pdst = ppos[i].pdstBase - ((y-topEdge) * widthDst); - - glyphCol = (leftEdge - ppos[i].xpos) - - (pci->metrics.leftSideBearing); -#if GETLEFTBITS_ALIGNMENT > 1 - getWidth = w + glyphCol; -#endif - xoff = xchar + (leftEdge - ppos[i].xpos); - if (xoff > PLST) - { - xoff &= PIM; - pdst++; - } - else if (xoff < 0) - { - xoff += PPW; - pdst--; - } - - if ((xoff + w) <= PPW) - { - maskpartialbits(xoff, w, startmask); - while (h--) - { - getshiftedleftbits(pglyph, glyphCol, getWidth, tmpSrc); - UPDRW(pdst,(SCRRIGHT(tmpSrc, xoff) & startmask)); - pglyph += widthGlyph; - pdst += widthDst; - } - } - else - { - maskPPWbits(xoff, w, startmask, endmask); - nFirst = PPW - xoff; - while (h--) - { - getshiftedleftbits(pglyph, glyphCol, getWidth, tmpSrc); - UPDRW(pdst,(SCRRIGHT(tmpSrc, xoff) & startmask)); - UPDRW(&(pdst[1]),(SCRLEFT(tmpSrc, nFirst) & endmask)); - pglyph += widthGlyph; - pdst += widthDst; - } - } - } /* for each glyph */ - } /* while nbox-- */ - xfree(ppos); - break; - } - default: - break; - } -} - diff --git a/xorg-server/hw/xfree86/xf4bpp/mfbline.c b/xorg-server/hw/xfree86/xf4bpp/mfbline.c deleted file mode 100644 index d2d4e0b0e..000000000 --- a/xorg-server/hw/xfree86/xf4bpp/mfbline.c +++ /dev/null @@ -1,976 +0,0 @@ -/*********************************************************** - -Copyright (c) 1987 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 1987 by Digital Equipment Corporation, Maynard, Massachusetts. - - 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. - -******************************************************************/ -/* GJA -- modified this file for vga16 */ - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include - -#include "xf4bpp.h" -#include "OScompiler.h" -#include "mfbmap.h" -#include "mfb.h" -#include "maskbits.h" -#include "mi.h" -#include "miline.h" -#include "vgaVideo.h" -#include "wm3.h" - -#include "xf86str.h" /* for pScrn->vtSema */ -extern ScrnInfoPtr *xf86Screens; - -/* single-pixel lines on a color frame buffer - - NON-SLOPED LINES - horizontal lines are always drawn left to right; we have to -move the endpoints right by one after they're swapped. - horizontal lines will be confined to a single band of a -region. the code finds that band (giving up if the lower -bound of the band is above the line we're drawing); then it -finds the first box in that band that contains part of the -line. we clip the line to subsequent boxes in that band. - vertical lines are always drawn top to bottom (y-increasing.) -this requires adding one to the y-coordinate of each endpoint -after swapping. - - SLOPED LINES - when clipping a sloped line, we bring the second point inside -the clipping box, rather than one beyond it, and then add 1 to -the length of the line before drawing it. this lets us use -the same box for finding the outcodes for both endpoints. since -the equation for clipping the second endpoint to an edge gives us -1 beyond the edge, we then have to move the point towards the -first point by one step on the major axis. - eventually, there will be a diagram here to explain what's going -on. the method uses Cohen-Sutherland outcodes to determine -outsideness, and a method similar to Pike's layers for doing the -actual clipping. - -*/ -#ifdef POLYSEGMENT -static void DoV16SegmentSS( - DrawablePtr, GCPtr, int, xSegment* -); - -void -xf4bppSegmentSS (pDrawable, pGC, nseg, pSeg) - DrawablePtr pDrawable; - GCPtr pGC; - int nseg; - register xSegment *pSeg; -{ - if ( ! xf86Screens[pDrawable->pScreen->myNum]->vtSema ) { - miPolySegment(pDrawable, pGC, nseg, pSeg); - } else { - DO_WM3(pGC,DoV16SegmentSS (pDrawable, pGC, nseg, pSeg)); - } -} - -#else -static void DoV16LineSS( - DrawablePtr, GCPtr, int, int, DDXPointPtr -); - -void -xf4bppLineSS (pDrawable, pGC, mode, npt, pptInit) - DrawablePtr pDrawable; - GCPtr pGC; - int mode; /* Origin or Previous */ - int npt; /* number of points */ - DDXPointPtr pptInit; -{ - if ( ! xf86Screens[pDrawable->pScreen->myNum]->vtSema ) { - miZeroLine(pDrawable, pGC, mode, npt, pptInit); - } else { - DO_WM3(pGC,DoV16LineSS (pDrawable, pGC, mode, npt, pptInit)); - } -} -#endif - -static void -#ifdef POLYSEGMENT -DoV16SegmentSS (pDrawable, pGC, nseg, pSeg) - DrawablePtr pDrawable; - GCPtr pGC; - int nseg; - register xSegment *pSeg; -#else -DoV16LineSS (pDrawable, pGC, mode, npt, pptInit) - DrawablePtr pDrawable; - GCPtr pGC; - int mode; /* Origin or Previous */ - int npt; /* number of points */ - DDXPointPtr pptInit; -#endif -{ - int nboxInit; - register int nbox; - BoxPtr pboxInit; - register BoxPtr pbox; -#ifndef POLYSEGMENT - register DDXPointPtr ppt; /* pointer to list of translated points */ -#endif - - unsigned int oc1; /* outcode of point 1 */ - unsigned int oc2; /* outcode of point 2 */ - - PixelType *addrlBase; /* pointer to start of drawable */ -#ifndef POLYSEGMENT - PixelType *addrl; /* address of destination pixmap */ -#endif - int nlwidth; /* width in longwords of destination pixmap */ - int xorg, yorg; /* origin of window */ - - int adx; /* abs values of dx and dy */ - int ady; - int signdx; /* sign of dx and dy */ - int signdy; - int e, e1, e2; /* bresenham error and increments */ - int len; /* length of segment */ - int axis; /* major axis */ - int octant; - unsigned int bias = miGetZeroLineBias(pDrawable->pScreen); - - /* a bunch of temporaries */ - register int y1, y2; - register int x1, x2; - RegionPtr cclip; -#ifndef POLYSEGMENT - int alu = pGC->alu; /* GJA */ -#endif - - if (!(pGC->planemask & 0x0F)) - return; - - cclip = pGC->pCompositeClip; - pboxInit = REGION_RECTS(cclip); - nboxInit = REGION_NUM_RECTS(cclip); - - nlwidth = BYTES_PER_LINE(pDrawable) >> 2; /* GJA */ - addrlBase = (PixelType *)VIDBASE(pDrawable); /* GJA */ - - xorg = pDrawable->x; - yorg = pDrawable->y; -#ifdef POLYSEGMENT - while (nseg--) -#else - ppt = pptInit; - x2 = ppt->x + xorg; - y2 = ppt->y + yorg; - while(--npt) -#endif - { - nbox = nboxInit; - pbox = pboxInit; - -#ifdef POLYSEGMENT - x1 = pSeg->x1 + xorg; - y1 = pSeg->y1 + yorg; - x2 = pSeg->x2 + xorg; - y2 = pSeg->y2 + yorg; - pSeg++; -#else - x1 = x2; - y1 = y2; - ++ppt; - if (mode == CoordModePrevious) - { - xorg = x1; - yorg = y1; - } - x2 = ppt->x + xorg; - y2 = ppt->y + yorg; -#endif - - if (x1 == x2) /* vertical line */ - { - /* make the line go top to bottom of screen, keeping - endpoint semantics - */ - if (y1 > y2) - { - register int tmp; - - tmp = y2; - y2 = y1 + 1; - y1 = tmp + 1; -#ifdef POLYSEGMENT - if (pGC->capStyle != CapNotLast) - y1--; -#endif - } -#ifdef POLYSEGMENT - else if (pGC->capStyle != CapNotLast) - y2++; -#endif - /* get to first band that might contain part of line */ - while ((nbox) && (pbox->y2 <= y1)) - { - pbox++; - nbox--; - } - - if (nbox) - { - /* stop when lower edge of box is beyond end of line */ - while((nbox) && (y2 >= pbox->y1)) - { - if ((x1 >= pbox->x1) && (x1 < pbox->x2)) - { - int y1t, y2t; - /* this box has part of the line in it */ - y1t = max(y1, pbox->y1); - y2t = min(y2, pbox->y2); - if (y1t != y2t) - { - xf4bppVertS (addrlBase, nlwidth, - x1, y1t, y2t-y1t); - } - } - nbox--; - pbox++; - } - } -#ifndef POLYSEGMENT - y2 = ppt->y + yorg; -#endif - } - else if (y1 == y2) /* horizontal line */ - { - /* force line from left to right, keeping - endpoint semantics - */ - if (x1 > x2) - { - register int tmp; - - tmp = x2; - x2 = x1 + 1; - x1 = tmp + 1; -#ifdef POLYSEGMENT - if (pGC->capStyle != CapNotLast) - x1--; -#endif - } -#ifdef POLYSEGMENT - else if (pGC->capStyle != CapNotLast) - x2++; -#endif - - /* find the correct band */ - while( (nbox) && (pbox->y2 <= y1)) - { - pbox++; - nbox--; - } - - /* try to draw the line, if we haven't gone beyond it */ - if ((nbox) && (pbox->y1 <= y1)) - { - int tmp; - - /* when we leave this band, we're done */ - tmp = pbox->y1; - while((nbox) && (pbox->y1 == tmp)) - { - int x1t, x2t; - - if (pbox->x2 <= x1) - { - /* skip boxes until one might contain start point */ - nbox--; - pbox++; - continue; - } - - /* stop if left of box is beyond right of line */ - if (pbox->x1 >= x2) - { - nbox = 0; - break; - } - - x1t = max(x1, pbox->x1); - x2t = min(x2, pbox->x2); - if (x1t != x2t) - { - xf4bppHorzS (addrlBase, nlwidth, - x1t, y1, x2t-x1t); - } - nbox--; - pbox++; - } - } -#ifndef POLYSEGMENT - x2 = ppt->x + xorg; -#endif - } - else /* sloped line */ - { - CalcLineDeltas(x1, y1, x2, y2, adx, ady, signdx, signdy, - 1, 1, octant); - - if (adx > ady) - { - axis = X_AXIS; - e1 = ady << 1; - e2 = e1 - (adx << 1); - e = e1 - adx; - } - else - { - axis = Y_AXIS; - e1 = adx << 1; - e2 = e1 - (ady << 1); - e = e1 - ady; - SetYMajorOctant(octant); - } - - FIXUP_ERROR(e, octant, bias); - - /* we have bresenham parameters and two points. - all we have to do now is clip and draw. - */ - - while(nbox--) - { - oc1 = 0; - oc2 = 0; - OUTCODES(oc1, x1, y1, pbox); - OUTCODES(oc2, x2, y2, pbox); - if ((oc1 | oc2) == 0) - { - if (axis == X_AXIS) - len = adx; - else - len = ady; -#ifdef POLYSEGMENT - if (pGC->capStyle != CapNotLast) - len++; -#endif - xf4bppBresS (addrlBase, nlwidth, - signdx, signdy, axis, x1, y1, - e, e1, e2, len); - break; - } - else if (oc1 & oc2) - { - pbox++; - } - else - { - int new_x1 = x1, new_y1 = y1, new_x2 = x2, new_y2 = y2; - int clip1 = 0, clip2 = 0; - int clipdx, clipdy; - int err; - - if (miZeroClipLine(pbox->x1, pbox->y1, pbox->x2-1, - pbox->y2-1, - &new_x1, &new_y1, &new_x2, &new_y2, - adx, ady, &clip1, &clip2, - octant, bias, oc1, oc2) == -1) - { - pbox++; - continue; - } - - if (axis == X_AXIS) - len = abs(new_x2 - new_x1); - else - len = abs(new_y2 - new_y1); -#ifdef POLYSEGMENT - if (clip2 != 0 || pGC->capStyle != CapNotLast) - len++; -#else - len += (clip2 != 0); -#endif - if (len) - { - /* unwind bresenham error term to first point */ - if (clip1) - { - clipdx = abs(new_x1 - x1); - clipdy = abs(new_y1 - y1); - if (axis == X_AXIS) - err = e+((clipdy*e2) + ((clipdx-clipdy)*e1)); - else - err = e+((clipdx*e2) + ((clipdy-clipdx)*e1)); - } - else - err = e; - xf4bppBresS (addrlBase, nlwidth, - signdx, signdy, axis, new_x1, new_y1, - err, e1, e2, len); - } - pbox++; - } - } /* while (nbox--) */ - } /* sloped line */ - } /* while (nline--) */ - -#ifndef POLYSEGMENT - - /* paint the last point if the end style isn't CapNotLast. - (Assume that a projecting, butt, or round cap that is one - pixel wide is the same as the single pixel of the endpoint.) - */ - - if ((pGC->capStyle != CapNotLast) && - ((ppt->x + xorg != pptInit->x + pDrawable->x) || - (ppt->y + yorg != pptInit->y + pDrawable->y) || - (ppt == pptInit + 1))) - { - PixelType _mask; - - if (alu == RROP_BLACK) - _mask = mfbGetrmask(x2 & PIM); - else - _mask = mfbGetmask(x2 & PIM); - - nbox = nboxInit; - pbox = pboxInit; - while (nbox--) - { - if ((x2 >= pbox->x1) && - (y2 >= pbox->y1) && - (x2 < pbox->x2) && - (y2 < pbox->y2)) - { - addrl = mfbScanline(addrlBase, x2, y2, nlwidth); - UPDRW(addrl,_mask); - break; - } - else - pbox++; - } - } -#endif -} - -/* - * Draw dashed 1-pixel lines. - */ - -#ifdef POLYSEGMENT -static void DoV16SegmentSD( - DrawablePtr, GCPtr, int, xSegment* -); - -void -xf4bppSegmentSD (pDrawable, pGC, nseg, pSeg) - DrawablePtr pDrawable; - GCPtr pGC; - int nseg; - register xSegment *pSeg; -{ - if ( ! xf86Screens[pDrawable->pScreen->myNum]->vtSema ) { - miPolySegment(pDrawable, pGC, nseg, pSeg); - } else { - DO_WM3(pGC,DoV16SegmentSD (pDrawable, pGC, nseg, pSeg)); - } -} - -#else -static void DoV16LineSD( - DrawablePtr, GCPtr, int, int, DDXPointPtr -); - -void -xf4bppLineSD (pDrawable, pGC, mode, npt, pptInit) - DrawablePtr pDrawable; - GCPtr pGC; - int mode; /* Origin or Previous */ - int npt; /* number of points */ - DDXPointPtr pptInit; -{ - if ( ! xf86Screens[pDrawable->pScreen->myNum]->vtSema ) { - miZeroDashLine(pDrawable, pGC, mode, npt, pptInit); - } else { - DO_WM3(pGC,DoV16LineSD (pDrawable, pGC, mode, npt, pptInit)); - } -} -#endif - -static void -#ifdef POLYSEGMENT -DoV16SegmentSD (pDrawable, pGC, nseg, pSeg) - DrawablePtr pDrawable; - register GCPtr pGC; - int nseg; - register xSegment *pSeg; -#else -DoV16LineSD( pDrawable, pGC, mode, npt, pptInit) - DrawablePtr pDrawable; - register GCPtr pGC; - int mode; /* Origin or Previous */ - int npt; /* number of points */ - DDXPointPtr pptInit; -#endif -{ - int nboxInit; - register int nbox; - BoxPtr pboxInit; - register BoxPtr pbox; -#ifndef POLYSEGMENT - register DDXPointPtr ppt; /* pointer to list of translated points */ -#endif - - register unsigned int oc1; /* outcode of point 1 */ - register unsigned int oc2; /* outcode of point 2 */ - - PixelType *addrl; /* address of destination pixmap */ - int nlwidth; /* width in longwords of destination pixmap */ - int xorg, yorg; /* origin of window */ - - int adx; /* abs values of dx and dy */ - int ady; - int signdx; /* sign of dx and dy */ - int signdy; - int e, e1, e2; /* bresenham error and increments */ - int len; /* length of segment */ - int axis; /* major axis */ - int octant; - unsigned int bias = miGetZeroLineBias(pDrawable->pScreen); - int x1, x2, y1, y2; - RegionPtr cclip; - int fgink, bgink; /* GJA */ - unsigned char *pDash; - int dashOffset; - int numInDashList; - int dashIndex; - int isDoubleDash; - int dashIndexTmp, dashOffsetTmp; - int unclippedlen; - - if (!(pGC->planemask & 0x0F)) - return; - - cclip = pGC->pCompositeClip; - fgink = bgink = pGC->fgPixel; /* GJA */ - pboxInit = REGION_RECTS(cclip); - nboxInit = REGION_NUM_RECTS(cclip); - - nlwidth = BYTES_PER_LINE(pDrawable) >> 2; /* GJA */ - addrl = (PixelType *)VIDBASE(pDrawable); /* GJA */ - - /* compute initial dash values */ - - pDash = (unsigned char *) pGC->dash; - numInDashList = pGC->numInDashList; - isDoubleDash = (pGC->lineStyle == LineDoubleDash); - dashIndex = 0; - dashOffset = 0; - miStepDash ((int)pGC->dashOffset, &dashIndex, pDash, - numInDashList, &dashOffset); - - if (isDoubleDash) - bgink = pGC->bgPixel; /* GJA */ - - xorg = pDrawable->x; - yorg = pDrawable->y; -#ifdef POLYSEGMENT - while (nseg--) -#else - ppt = pptInit; - x2 = ppt->x + xorg; - y2 = ppt->y + yorg; - while(--npt) -#endif - { - nbox = nboxInit; - pbox = pboxInit; - -#ifdef POLYSEGMENT - x1 = pSeg->x1 + xorg; - y1 = pSeg->y1 + yorg; - x2 = pSeg->x2 + xorg; - y2 = pSeg->y2 + yorg; - pSeg++; -#else - x1 = x2; - y1 = y2; - ++ppt; - if (mode == CoordModePrevious) - { - xorg = x1; - yorg = y1; - } - x2 = ppt->x + xorg; - y2 = ppt->y + yorg; -#endif - - CalcLineDeltas(x1, y1, x2, y2, adx, ady, signdx, signdy, 1, 1, octant); - - if (adx > ady) - { - axis = X_AXIS; - e1 = ady << 1; - e2 = e1 - (adx << 1); - e = e1 - adx; - unclippedlen = adx; - } - else - { - axis = Y_AXIS; - e1 = adx << 1; - e2 = e1 - (ady << 1); - e = e1 - ady; - unclippedlen = ady; - SetYMajorOctant(octant); - } - - FIXUP_ERROR(e, octant, bias); - - /* we have bresenham parameters and two points. - all we have to do now is clip and draw. - */ - - while(nbox--) - { - oc1 = 0; - oc2 = 0; - OUTCODES(oc1, x1, y1, pbox); - OUTCODES(oc2, x2, y2, pbox); - if ((oc1 | oc2) == 0) - { -#ifdef POLYSEGMENT - if (pGC->capStyle != CapNotLast) - unclippedlen++; - dashIndexTmp = dashIndex; - dashOffsetTmp = dashOffset; - xf4bppBresD (pDrawable, fgink, bgink, - &dashIndexTmp, pDash, numInDashList, - &dashOffsetTmp, isDoubleDash, - addrl, nlwidth, - signdx, signdy, axis, x1, y1, - e, e1, e2, unclippedlen); - break; -#else - xf4bppBresD (pDrawable, fgink, bgink, - &dashIndex, pDash, numInDashList, - &dashOffset, isDoubleDash, - addrl, nlwidth, - signdx, signdy, axis, x1, y1, - e, e1, e2, unclippedlen); - goto dontStep; -#endif - } - else if (oc1 & oc2) - { - pbox++; - } - else /* have to clip */ - { - int new_x1 = x1, new_y1 = y1, new_x2 = x2, new_y2 = y2; - int clip1 = 0, clip2 = 0; - int clipdx, clipdy; - int err; - - if (miZeroClipLine(pbox->x1, pbox->y1, pbox->x2-1, pbox->y2-1, - &new_x1, &new_y1, &new_x2, &new_y2, - adx, ady, &clip1, &clip2, - octant, bias, oc1, oc2) == -1) - { - pbox++; - continue; - } - dashIndexTmp = dashIndex; - dashOffsetTmp = dashOffset; - if (clip1) - { - int dlen; - - if (axis == X_AXIS) - dlen = abs(new_x1 - x1); - else - dlen = abs(new_y1 - y1); - miStepDash (dlen, &dashIndexTmp, pDash, - numInDashList, &dashOffsetTmp); - } - if (axis == X_AXIS) - len = abs(new_x2 - new_x1); - else - len = abs(new_y2 - new_y1); -#ifdef POLYSEGMENT - if (clip2 != 0 || pGC->capStyle != CapNotLast) - len++; -#else - len += (clip2 != 0); -#endif - if (len) - { - /* unwind bresenham error term to first point */ - if (clip1) - { - clipdx = abs(new_x1 - x1); - clipdy = abs(new_y1 - y1); - if (axis == X_AXIS) - err = e+((clipdy*e2) + ((clipdx-clipdy)*e1)); - else - err = e+((clipdx*e2) + ((clipdy-clipdx)*e1)); - } - else - err = e; - xf4bppBresD (pDrawable, fgink, bgink, - &dashIndexTmp, pDash, numInDashList, - &dashOffsetTmp, isDoubleDash, - addrl, nlwidth, - signdx, signdy, axis, new_x1, new_y1, - err, e1, e2, len); - } - pbox++; - } - } /* while (nbox--) */ -#ifndef POLYSEGMENT - /* - * walk the dash list around to the next line - */ - miStepDash (unclippedlen, &dashIndex, pDash, - numInDashList, &dashOffset); -dontStep: ; -#endif - } /* while (nline--) */ - -#ifndef POLYSEGMENT - /* paint the last point if the end style isn't CapNotLast. - (Assume that a projecting, butt, or round cap that is one - pixel wide is the same as the single pixel of the endpoint.) - */ - - if ((pGC->capStyle != CapNotLast) && - ((dashIndex & 1) == 0 || isDoubleDash) && - ((ppt->x + xorg != pptInit->x + pDrawable->x) || - (ppt->y + yorg != pptInit->y + pDrawable->y) || - (ppt == pptInit + 1))) - { - nbox = nboxInit; - pbox = pboxInit; - while (nbox--) - { - if ((x2 >= pbox->x1) && - (y2 >= pbox->y1) && - (x2 < pbox->x2) && - (y2 < pbox->y2)) - { - unsigned long _mask; - - _mask = mfbGetmask(x2 & PIM); - addrl = mfbScanline(addrl, x2, y2, nlwidth); - UPDRW(addrl,_mask); - break; - } - else - pbox++; - } - } -#endif -} - - -#if 0 -#ifndef POLYSEGMENT -/* - the clipping code could be cleaned up some; most of its -mess derives from originally being inline in the line code, -then pulled out to make clipping dashes easier. -*/ - -int -mfbClipLine(pbox, box, - ppt1Orig, ppt1, ppt2, - adx, ady, signdx, signdy, axis, - pclip1, pclip2) -BoxPtr pbox; /* box to clip to */ -BoxRec box; /* box to do calculations with */ -DDXPointPtr ppt1Orig, ppt1, ppt2; -int adx, ady; -int signdx, signdy; -register int axis; -int *pclip1, *pclip2; -{ - DDXPointRec pt1Orig, pt1, pt2; - register int swapped = 0; - int clipDone = 0; - register unsigned int utmp; - register int oc1, oc2; - int clip1, clip2; - - pt1Orig = *ppt1Orig; - pt1 = *ppt1; - pt2 = *ppt2; - clip1 = 0; - clip2 = 0; - - do - { - oc1 = 0; - oc2 = 0; - OUTCODES(oc1, pt1.x, pt1.y, pbox); - OUTCODES(oc2, pt2.x, pt2.y, pbox); - - if (oc1 & oc2) - clipDone = -1; - else if ((oc1 | oc2) == 0) - { - clipDone = 1; - if (swapped) - { - SWAPPT(pt1, pt2); - SWAPINT(oc1, oc2); - SWAPINT(clip1, clip2); - } - } - else /* have to clip */ - { - /* only clip one point at a time */ - if (!oc1) - { - SWAPPT(pt1, pt2); - SWAPINT(oc1, oc2); - SWAPINT(clip1, clip2); - swapped = !swapped; - } - - clip1 |= oc1; - if (oc1 & OUT_LEFT) - { - pt1.x = box.x1; - utmp = abs(box.x1 - pt1Orig.x); - utmp *= ady; - if(axis==X_AXIS) - { - pt1.y = pt1Orig.y + SignTimes(signdy, round(utmp, adx)); - } - else - { - utmp <<= 1; - if (swapped) - utmp += ady; - else - utmp -= ady; - pt1.y = pt1Orig.y + SignTimes(signdy, ceiling(utmp, 2*adx)); - if (swapped) - pt1.y -= signdy; - } - } - else if (oc1 & OUT_ABOVE) - { - pt1.y = box.y1; - utmp = abs(box.y1 - pt1Orig.y); - utmp *= adx; - if (axis == Y_AXIS) - { - pt1.x = pt1Orig.x + SignTimes(signdx, round(utmp, ady)); - } - else - { - utmp <<= 1; - if (swapped) - utmp += adx; - else - utmp -= adx; - pt1.x = pt1Orig.x + SignTimes(signdx, ceiling(utmp, 2*ady)); - if (swapped) - pt1.x -= signdx; - } - } - else if (oc1 & OUT_RIGHT) - { - pt1.x = box.x2; - utmp = abs(pt1Orig.x - box.x2); - utmp *= ady; - if (axis == X_AXIS) - { - pt1.y = pt1Orig.y + SignTimes(signdy, round(utmp, adx)); - } - else - { - utmp <<= 1; - if (swapped) - utmp += ady; - else - utmp -= ady; - pt1.y = pt1Orig.y + SignTimes(signdy, ceiling(utmp, 2*adx)); - if (swapped) - pt1.y -= signdy; - } - } - else if (oc1 & OUT_BELOW) - { - pt1.y = box.y2; - utmp = abs(pt1Orig.y - box.y2); - utmp *= adx; - if (axis == Y_AXIS) - { - pt1.x = pt1Orig.x + SignTimes(signdx, round(utmp, ady)); - } - else - { - utmp <<= 1; - if (swapped) - utmp += adx; - else - utmp -= adx; - pt1.x = pt1Orig.x + SignTimes(signdx, ceiling(utmp, 2*ady)); - if (swapped) - pt1.x -= signdx; - } - } - } /* else have to clip */ - } while(!clipDone); - *ppt1 = pt1; - *ppt2 = pt2; - *pclip1 = clip1; - *pclip2 = clip2; - - return clipDone; -} -#endif -#endif diff --git a/xorg-server/hw/xfree86/xf4bpp/mfbseg.c b/xorg-server/hw/xfree86/xf4bpp/mfbseg.c deleted file mode 100644 index 3af37d817..000000000 --- a/xorg-server/hw/xfree86/xf4bpp/mfbseg.c +++ /dev/null @@ -1,2 +0,0 @@ -#define POLYSEGMENT -#include "./mfbline.c" diff --git a/xorg-server/hw/xfree86/xf4bpp/mfbzerarc.c b/xorg-server/hw/xfree86/xf4bpp/mfbzerarc.c deleted file mode 100644 index 61fc7b184..000000000 --- a/xorg-server/hw/xfree86/xf4bpp/mfbzerarc.c +++ /dev/null @@ -1,267 +0,0 @@ -/************************************************************ - -Copyright (c) 1989 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. - -********************************************************/ -/* GJA -- Took mfb code and modified it. */ - -/* Derived from: - * "Algorithm for drawing ellipses or hyperbolae with a digital plotter" - * by M. L. V. Pitteway - * The Computer Journal, November 1967, Volume 10, Number 3, pp. 282-289 - */ - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include "xf4bpp.h" -#include "OScompiler.h" -#include "mfbmap.h" -#include "mfb.h" -#include "maskbits.h" -#include "mi.h" -#include "mizerarc.h" -#include "wm3.h" - -#include "xf86str.h" /* for pScrn->vtSema */ -extern ScrnInfoPtr *xf86Screens; - -/* - * Note, LEFTMOST must be the bit leftmost in the actual screen - * representation. This depends on both BITMAP_BIT_ORDER and - * IMAGE_BYTE_ORDER - * DHD 10/92 - */ - -#if (BITMAP_BIT_ORDER == MSBFirst) -#if (IMAGE_BYTE_ORDER == MSBFirst) -#define LEFTMOST ((unsigned int) 0x80000000) -#else -#define LEFTMOST ((unsigned int) 0x80) -#endif -#else -#if (IMAGE_BYTE_ORDER == LSBFirst) -#define LEFTMOST ((unsigned int) 1) -#else -#define LEFTMOST ((unsigned int) 0x1000000) -#endif -#endif - -#define PixelateWhite(addr,off) \ -{ \ - register int *tmpaddr = &((addr)[(off)>>PWSH]); \ - UPDRW(tmpaddr,SCRRIGHT (LEFTMOST, ((off) & PIM))); \ -} -#define PixelateBlack(addr,off) \ -{ \ - register int *tmpaddr = &((addr)[(off)>>PWSH]); \ - UPDRW(tmpaddr,~(SCRRIGHT (LEFTMOST, ((off) & PIM)))); \ -} - -#define Pixelate(base,off) \ -{ \ - paddr = base + ((off)>>PWSH); \ - pmask = SCRRIGHT(LEFTMOST, (off) & PIM); \ - UPDRW(paddr,(pixel & pmask)); \ -} - -#define DoPix(bit,base,off) if (msk & bit) Pixelate(base,off); - -static void -v16ZeroArcSS -( - DrawablePtr pDraw, - GCPtr pGC, - xArc *arc -) -{ - miZeroArcRec info; - Bool do360; - register int x, y, a, b, d, msk; - register int k1, k3, dx, dy; - int *addrl; - int *yorgl, *yorgol; - unsigned long pixel; - int nlwidth, yoffset, dyoffset; - int pmask; - register int *paddr; - - if (((mfbPrivGC *)dixLookupPrivate(&pGC->devPrivates, - mfbGetGCPrivateKey()))->rop == - RROP_BLACK) - pixel = 0; - else - pixel = ~0UL; - - if (pDraw->type == DRAWABLE_WINDOW) - { - addrl = (int *) - (((PixmapPtr)(pDraw->pScreen->devPrivate))->devPrivate.ptr); - nlwidth = (int) - (((PixmapPtr)(pDraw->pScreen->devPrivate))->devKind) >> 2; - } - else - { - addrl = (int *)(((PixmapPtr)pDraw)->devPrivate.ptr); - nlwidth = (int)(((PixmapPtr)pDraw)->devKind) >> 2; - } - - do360 = miZeroArcSetup(arc, &info, TRUE); - yorgl = addrl + ((info.yorg + pDraw->y) * nlwidth); - yorgol = addrl + ((info.yorgo + pDraw->y) * nlwidth); - info.xorg += pDraw->x; - info.xorgo += pDraw->x; - MIARCSETUP(); - yoffset = y ? nlwidth : 0; - dyoffset = 0; - msk = info.initialMask; - if (!(arc->width & 1)) - { - DoPix(2, yorgl, info.xorgo); - DoPix(8, yorgol, info.xorgo); - } - if (!info.end.x || !info.end.y) - { - msk = info.end.mask; - info.end = info.altend; - } - if (do360 && (arc->width == arc->height) && !(arc->width & 1)) - { - int xoffset = nlwidth; - int *yorghl = yorgl + (info.h * nlwidth); - int xorghp = info.xorg + info.h; - int xorghn = info.xorg - info.h; - - while (1) - { - PixelateWhite(yorgl + yoffset, info.xorg + x); - PixelateWhite(yorgl + yoffset, info.xorg - x); - PixelateWhite(yorgol- yoffset, info.xorg - x); - PixelateWhite(yorgol - yoffset, info.xorg + x); - if (a < 0) - break; - PixelateWhite(yorghl - xoffset, xorghp - y); - PixelateWhite(yorghl - xoffset, xorghn + y); - PixelateWhite(yorghl + xoffset, xorghn + y); - PixelateWhite(yorghl + xoffset, xorghp - y); - xoffset += nlwidth; - MIARCCIRCLESTEP(yoffset += nlwidth;); - } - x = info.w; - yoffset = info.h * nlwidth; - } - else if (do360) - { - while (y < info.h || x < info.w) - { - MIARCOCTANTSHIFT(dyoffset = nlwidth;); - Pixelate(yorgl + yoffset, info.xorg + x); - Pixelate(yorgl + yoffset, info.xorgo - x); - Pixelate(yorgol - yoffset, info.xorgo - x); - Pixelate(yorgol - yoffset, info.xorg + x); - MIARCSTEP(yoffset += dyoffset;, yoffset += nlwidth;); - } - } - else - { - while (y < info.h || x < info.w) - { - MIARCOCTANTSHIFT(dyoffset = nlwidth;); - if ((x == info.start.x) || (y == info.start.y)) - { - msk = info.start.mask; - info.start = info.altstart; - } - DoPix(1, yorgl + yoffset, info.xorg + x); - DoPix(2, yorgl + yoffset, info.xorgo - x); - DoPix(4, yorgol - yoffset, info.xorgo - x); - DoPix(8, yorgol - yoffset, info.xorg + x); - if ((x == info.end.x) || (y == info.end.y)) - { - msk = info.end.mask; - info.end = info.altend; - } - MIARCSTEP(yoffset += dyoffset;, yoffset += nlwidth;); - } - } - if ((x == info.start.x) || (y == info.start.y)) - msk = info.start.mask; - DoPix(1, yorgl + yoffset, info.xorg + x); - DoPix(4, yorgol - yoffset, info.xorgo - x); - if (arc->height & 1) - { - DoPix(2, yorgl + yoffset, info.xorgo - x); - DoPix(8, yorgol - yoffset, info.xorg + x); - } -} - -static void -xf4bppZeroPolyArcSS -( - DrawablePtr pDraw, - GCPtr pGC, - int narcs, - xArc *parcs -) -{ - register xArc *arc; - register int i; - BoxRec box; - RegionPtr cclip; - - if (!pGC->planemask & 0x0F) - return; - cclip = pGC->pCompositeClip; - for (arc = parcs, i = narcs; --i >= 0; arc++) - { - if (miCanZeroArc(arc)) - { - box.x1 = arc->x + pDraw->x; - box.y1 = arc->y + pDraw->y; - box.x2 = box.x1 + (int)arc->width + 1; - box.y2 = box.y1 + (int)arc->height + 1; - if (RECT_IN_REGION(pDraw->pScreen, cclip, &box) == rgnIN) - v16ZeroArcSS(pDraw, pGC, arc); - else - miZeroPolyArc(pDraw, pGC, 1, arc); - } - else - miPolyArc(pDraw, pGC, 1, arc); - } -} - -void -xf4bppZeroPolyArc(pDraw, pGC, narcs, parcs) - DrawablePtr pDraw; - GCPtr pGC; - int narcs; - xArc *parcs; -{ - if ( !xf86Screens[pDraw->pScreen->myNum]->vtSema ) { - miZeroPolyArc(pDraw, pGC, narcs, parcs); - } else { - DO_WM3(pGC,xf4bppZeroPolyArcSS(pDraw, pGC, narcs, parcs)); - } -} diff --git a/xorg-server/hw/xfree86/xf4bpp/offscreen.c b/xorg-server/hw/xfree86/xf4bpp/offscreen.c deleted file mode 100644 index 3160e7ef8..000000000 --- a/xorg-server/hw/xfree86/xf4bpp/offscreen.c +++ /dev/null @@ -1,342 +0,0 @@ -/* - * 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 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. - * -*/ - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include "xf4bpp.h" -#include "vgaVideo.h" -#include "pixmapstr.h" -#include "scrnintstr.h" -#include "windowstr.h" - -#define saved_screen(pWin) \ - ((unsigned char *)(((PixmapPtr)((pWin)->drawable.pScreen->devPrivate))->devPrivate.ptr)) - -#define SAVEDSCREEN(pWin, x, y) \ - (*(saved_screen(pWin) + (y) * (BYTES_PER_LINE(pWin)) + (x))) - -#define DO_ROP(src,dst,alu,planes) \ - ((dst) = do_rop((src),(dst),(alu),(planes))) - -/* NOTE: - * The following to functions don't do anything. They're just there to - * provide a stable interface to the rest of the system. - */ - -static int -do_rop -( - int src, - int dst, - int alu, - const unsigned long planes -) -{ - int _dst; /* New dst */ - - switch ( alu ) { - case GXclear: /* 0x0 Zero 0 */ - _dst = 0; break ; - case GXinvert: /* 0xa NOT dst */ - _dst = ~dst; break ; - case GXset: /* 0xf 1 */ - _dst = src; break ; - default: - case GXnoop: /* 0x5 dst */ - return dst; - case GXnor: /* 0x8 NOT src AND NOT dst */ - _dst = ~src & ~dst; break ; - case GXandInverted: /* 0x4 NOT src AND dst */ - _dst = ~src & dst; break ; - case GXand: /* 0x1 src AND dst */ - _dst = src & dst; break ; - case GXequiv: /* 0x9 NOT src XOR dst */ - _dst = ~src ^ dst; break ; - case GXxor: /* 0x6 src XOR dst */ - _dst = src ^ dst; break ; - case GXandReverse: /* 0x2 src AND NOT dst */ - _dst = src & ~dst; break ; - case GXnand: /* 0xe NOT src OR NOT dst */ - _dst = ~src | ~dst; break ; - case GXorReverse: /* 0xb src OR NOT dst */ - _dst = src | ~dst; break ; - case GXorInverted: /* 0xd NOT src OR dst */ - _dst = ~src | dst; break ; - case GXor: /* 0x7 src OR dst */ - _dst = src | dst; break ; - case GXcopyInverted: /* 0xc NOT src */ - _dst = ~src; break ; - case GXcopy: /* 0x3 src */ - _dst = src; break ; - } - return (dst & ~planes) | (_dst & planes); -} - -/* File vgaBitBlt.c */ -void -xf4bppOffBitBlt( pWin, alu, writeplanes, x0, y0, x1, y1, w, h ) -WindowPtr pWin; /* GJA */ -const int alu, writeplanes ; -register int x0 ; -int y0 ; -register int x1 ; -int y1 ; -register int w, h ; -{ - int x,y; - - switch ( alu ) { - case GXclear: /* 0x0 Zero 0 */ - case GXinvert: /* 0xa NOT dst */ - case GXset: /* 0xf 1 */ - xf4bppOffFillSolid( pWin, VGA_ALLPLANES, alu, writeplanes, - x0, y0, w, h ) ; - case GXnoop: /* 0x5 dst */ - return ; - default: - break ; - } - - if ( (w <= 0) || (h <= 0) ) return; - - for ( y = 0 ; y < h ; y++ ) { - for ( x = 0 ; x < w ; x++ ) { - DO_ROP(SAVEDSCREEN(pWin,x0+x,y0+y),SAVEDSCREEN(pWin,x1+x,y1+y), - alu,writeplanes); - } - } -} - -/* for file vgaImages.c */ - -void -xf4bppOffDrawColorImage( pWin, x, y, w, h, data, RowIncrement, alu, planes ) -WindowPtr pWin; /* GJA */ -int x, y ; -register int w, h ; -unsigned char *data ; -register int RowIncrement ; -const int alu ; -const unsigned long int planes ; -{ - int dx,dy; - - for ( dy = 0 ; dy < h ; dy++ ) { - for ( dx = 0 ; dx < w ; dx++ ) { - DO_ROP( data[dy * RowIncrement + dx], - SAVEDSCREEN(pWin,x+dx,y+dy), alu, planes); - } - } -} - -void -xf4bppOffReadColorImage( pWin, x, y, lx, ly, data, RowIncrement ) -WindowPtr pWin; /* GJA */ -int x, y ; -int lx, ly ; -unsigned char *data ; -int RowIncrement ; -{ - int dx, dy; - - if ( ( lx <= 0 ) || ( ly <= 0 ) ) - return ; - - for ( dy = 0 ; dy < ly ; dy++ ) { - for ( dx = 0 ; dx < lx ; dx++ ) { - data[dy*RowIncrement+dx] = SAVEDSCREEN(pWin,x+dx,y+dy); - } - } -} - -/* For file vgaSolid.c */ - -void xf4bppOffFillSolid( pWin, color, alu, planes, x0, y0, lx, ly ) -WindowPtr pWin; /* GJA */ -unsigned long int color ; -const int alu ; -unsigned long int planes ; -register int x0 ; -register const int y0 ; -register int lx ; -register const int ly ; /* MUST BE > 0 !! */ -{ - int dx, dy; - - if ( ( lx == 0 ) || ( ly == 0 ) ) - return; - - for ( dy = 0 ; dy < ly ; dy++ ) { - for ( dx = 0 ; dx < lx ; dx++ ) { - DO_ROP(color,SAVEDSCREEN(pWin, x0+dx,y0+dy),alu,planes); - } - } -} - -/* For file vgaStipple.c */ - -/* GJA -- modified this to take both Width and Height, and to - * reduce x and y to Width and Height by taking remainders. - */ -static unsigned char -xygetbits -( - register int x, - register int y, - register const unsigned int Width, - register const unsigned int paddedByteWidth, - register const unsigned int Height, - register const unsigned char * const data -) -{ - register unsigned char bits ; - unsigned const char *lineptr, *cptr ; - register int shift ; - register int wrap ; - - x = x % Width; - y = y % Height; - - lineptr = data + (y * paddedByteWidth); - cptr = lineptr + (x >> 3) ; - bits = *cptr ; - if ((shift = x & 7)) - bits = SCRLEFT8( bits, shift ) | - SCRRIGHT8( cptr[1], ( 8 - shift ) ) ; - if ( ( wrap = x + 8 - Width ) > 0 ) { - bits &= SCRLEFT8( 0xFF, wrap ) ; - bits |= SCRRIGHT8( *lineptr, ( 8 - wrap ) ) ; - } - - return bits ; -} - -static void -DoMono -( - WindowPtr pWin, /* GJA */ - int w, - int x, - int y, - register const unsigned char *mastersrc, - int h, - unsigned int width, - register unsigned int paddedByteWidth, - unsigned int height, - int xshift, - int yshift, - int alu, - int planes, - int fg -) -{ - int dy, dx, i; - int byte; - - for ( dy = 0 ; dy < h ; dy++ ) { - for ( dx = 0; dx <= w - 8 ; dx += 8 ) { - /* get next byte */ - byte = xygetbits(dx+xshift,dy+yshift,width, - paddedByteWidth, height, mastersrc); - for ( i = 0 ; i < 8 ; i++ ) { - if ( byte & (128 >> i) ) { - DO_ROP(fg,SAVEDSCREEN(pWin,x+dx+i,y+dy), - alu,planes); - } - } - } - /* get last bits */ - byte = xygetbits(dx+xshift,dy+yshift,width, - paddedByteWidth, height, mastersrc); - for ( i = 0 ; i < (w - dx) ; i++ ) { - if ( byte & (128 >> i) ) { - DO_ROP(fg,SAVEDSCREEN(pWin,x+dx+i,y+dy), - alu,planes); - } - } - } -} - -void -xf4bppOffFillStipple( pWin, pStipple, fg, alu, planes, x, y, w, h, xSrc, ySrc ) -WindowPtr pWin; /* GJA */ -register PixmapPtr const pStipple ; -unsigned long int fg ; -const int alu ; -unsigned long int planes ; -int x, y, w, h ; -const int xSrc, ySrc ; -{ - unsigned int width ; - unsigned int height ; - int xshift ; - int yshift ; - - if ( ( alu == GXnoop ) || !( planes &= VGA_ALLPLANES ) ) - return ; - - /* Figure Bit Offsets & Source Address */ - width = pStipple->drawable.width ; - if ( ( xshift = ( x - xSrc ) ) < 0 ) - xshift = width - ( ( - xshift ) % width ) ; - else - xshift %= width ; - - height = pStipple->drawable.height ; - if ( ( yshift = ( y - ySrc ) ) < 0 ) - yshift = height - ( ( - yshift ) % height ) ; - else - yshift %= height ; - - DoMono( pWin, w, x, y, - (const unsigned char *) pStipple->devPrivate.ptr, - h, - width, - ( ( width + 31 ) & (unsigned)(~31) ) >> 3, - height, - xshift, yshift, - alu, (int)planes, (int)fg ) ; - return ; -} diff --git a/xorg-server/hw/xfree86/xf4bpp/ppcArea.c b/xorg-server/hw/xfree86/xf4bpp/ppcArea.c deleted file mode 100644 index df7856a35..000000000 --- a/xorg-server/hw/xfree86/xf4bpp/ppcArea.c +++ /dev/null @@ -1,97 +0,0 @@ -/* - * 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. - * -*/ - -/* - * ppc solid area fill - * - * Tom Paquin 8/87 - */ - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include "xf4bpp.h" -#include "mfbmap.h" -#include "mfb.h" -#include "ppcGCstr.h" -#include "ibmTrace.h" - -void -xf4bppFillArea( pWin, nboxes, pBox, pGC ) - register WindowPtr pWin ; - register int nboxes ; - register BoxPtr pBox ; - GCPtr pGC ; -{ -register int x, y, w, h ; -int alu ; -unsigned long int fg, bg, pm ; -int xSrc, ySrc ; -PixmapPtr pPixmap ; -ppcPrivGC *pPrivGC = dixLookupPrivate(&pGC->devPrivates, mfbGetGCPrivateKey()); - -TRACE( ( "xf4bppFillArea(0x%x,%d,0x%x,0x%x)\n", pWin, nboxes, pBox, pGC ) ) ; - -if ( ( alu = pPrivGC->colorRrop.alu ) == GXnoop || !nboxes ) - return ; - -xSrc = pGC->patOrg.x + pWin->drawable.x ; -ySrc = pGC->patOrg.y + pWin->drawable.y ; - -pm = pPrivGC->colorRrop.planemask ; -fg = pPrivGC->colorRrop.fgPixel ; -bg = pPrivGC->colorRrop.bgPixel ; - -nboxes++ ; -switch ( pPrivGC->colorRrop.fillStyle ) { - case FillTiled: - for ( pPixmap = pGC->tile.pixmap ; --nboxes ; pBox++ ) - if ( ( w = pBox->x2 - ( x = pBox->x1 ) ) - && ( h = pBox->y2 - ( y = pBox->y1 ) ) ) - xf4bppTileRect( pWin, pPixmap, alu, pm, - x, y, w, h, xSrc, ySrc ) ; - break ; - case FillOpaqueStippled: - for ( pPixmap = pGC->stipple ; --nboxes ; pBox++ ) - if ( ( w = pBox->x2 - ( x = pBox->x1 ) ) - && ( h = pBox->y2 - ( y = pBox->y1 ) ) ) - xf4bppOpaqueStipple( pWin, pPixmap, fg, bg, alu, pm, - x, y, w, h, xSrc, ySrc ) ; - break ; - case FillStippled: - for ( pPixmap = pGC->stipple ; --nboxes ; pBox++ ) - if ( ( w = pBox->x2 - ( x = pBox->x1 ) ) - && ( h = pBox->y2 - ( y = pBox->y1 ) ) ) - xf4bppFillStipple( pWin, pPixmap, fg, alu, pm, - x, y, w, h, xSrc, ySrc ) ; - break ; - case FillSolid: - for ( ; --nboxes ; pBox++ ) - if ( ( w = pBox->x2 - ( x = pBox->x1 ) ) - && ( h = pBox->y2 - ( y = pBox->y1 ) ) ) - xf4bppFillSolid( pWin, fg, alu, pm, x, y, w, h ) ; - break ; -} - -} diff --git a/xorg-server/hw/xfree86/xf4bpp/ppcCReduce.c b/xorg-server/hw/xfree86/xf4bpp/ppcCReduce.c deleted file mode 100644 index c567e6fd1..000000000 --- a/xorg-server/hw/xfree86/xf4bpp/ppcCReduce.c +++ /dev/null @@ -1,237 +0,0 @@ -/* - * 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. - * -*/ - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include "xf4bpp.h" -#include "ppcGCstr.h" - -/* xf4bppGetReducedColorRrop( pGC, drawableDepth, returnLoc ) - * An attempt to do "strength reduction" on color raster-ops - * P. Shupak 1/88 - */ - -static void -ppcReduceGeneral -( - register int alu, - register unsigned long pm, - register unsigned long fg, - register unsigned long bg, - register int fillStyle, - int drawableDepth, - ppcReducedRrop *returnLoc -) -{ - -if ( ( alu == GXnoop ) - || !( pm &= ( ( 1 << drawableDepth ) - 1 ) ) ) { - returnLoc->alu = GXnoop ; - return ; -} - -#ifdef DELETE_THIS -switch ( fillStyle ) { - case FillTiled: - switch ( alu ) { - case GXclear: /* 0x0 Zero 0 */ - case GXinvert: /* 0xa NOT dst */ - case GXset: /* 0xf 1 */ - fillStyle = FillSolid ; - default: /* We Can't Do Much Here */ - break ; - } - break ; - case FillOpaqueStippled: - if ( ( fg & pm ) != ( bg & pm ) ) { /* else FillSolid */ - switch ( alu ) { - case GXclear: /* 0x0 Zero 0 */ - case GXset: /* 0xf 1 */ - case GXinvert: /* 0xa NOT dst */ - fillStyle = FillSolid ; - break ; - case GXnor: /* 0x8 NOT src AND NOT dst */ - case GXnand: /* 0xe NOT src OR NOT dst */ - case GXcopy: /* 0x3 src */ - break ; - case GXandReverse: /* 0x2 src AND NOT dst */ - fg = ~fg ; - bg = ~bg ; - alu = GXnor ; - break ; - case GXandInverted: /* 0x4 NOT src AND dst */ - fg = ~fg ; - bg = ~bg ; - alu = GXand ; /* Fall Through */ - case GXand: /* 0x1 src AND dst */ - pm &= ~( fg & bg ) ; - if ( ( bg & pm ) == pm ) { - fillStyle = FillStippled ; - alu = GXclear ; - } - break ; - case GXequiv: /* 0x9 NOT src XOR dst */ - fg = ~fg ; - bg = ~bg ; - alu = GXxor ; /* Fall Through */ - case GXxor: /* 0x6 src XOR dst */ - pm &= ( fg | bg ) ; - if ( !( bg & pm ) ) { - fillStyle = FillStippled ; - alu = GXinvert ; - } - break ; - case GXorReverse: /* 0xb src OR NOT dst */ - fg = ~fg ; - bg = ~bg ; - alu = GXnand ; - break ; - case GXcopyInverted: /* 0xc NOT src */ - fg = ~fg ; - bg = ~bg ; - alu = GXcopy ; - break ; - case GXorInverted: /* 0xd NOT src OR dst */ - fg = ~fg ; - bg = ~bg ; - alu = GXor ; /* Fall Through */ - case GXor: /* 0x7 src OR dst */ - pm &= ( fg | bg ) ; - if ( !( bg & pm ) ) { - fillStyle = FillStippled ; - alu = GXset ; - } - break ; - default: - ErrorF( - "xf4bppGetReducedColorRrop: Unknown Alu Raster-Op" ) ; - break ; - } - break ; /* Don't Fall Through */ - } - else - fillStyle = FillSolid ; - /* Fall Through */ - case FillStippled: - case FillSolid: - switch ( alu ) { - case GXclear: /* 0x0 Zero 0 */ - case GXset: /* 0xf 1 */ - case GXinvert: /* 0xa NOT dst */ - break ; - case GXand: /* 0x1 src AND dst */ - pm &= ~fg ; - alu = GXclear ; - break ; - case GXandReverse: /* 0x2 src AND NOT dst */ - fg = ~fg ; - alu = GXnor ; /* Fall Through */ - case GXnor: /* 0x8 NOT src AND NOT dst */ - if ( !( fg & pm ) ) - alu = GXclear ; - else if ( ( fg & pm ) == pm ) - alu = GXinvert ; - break ; - case GXandInverted: /* 0x4 NOT src AND dst */ - pm &= fg ; - alu = GXclear ; - break ; - case GXxor: /* 0x6 src XOR dst */ - pm &= fg ; - alu = GXinvert ; - break ; - case GXor: /* 0x7 src OR dst */ - pm &= fg ; - alu = GXset ; - break ; - case GXequiv: /* 0x9 NOT src XOR dst */ - pm &= ~fg ; - alu = GXinvert ; - break ; - case GXorReverse: /* 0xb src OR NOT dst */ - fg = ~fg ; - alu = GXnand ; /* Fall Through */ - case GXnand: /* 0xe NOT src OR NOT dst */ - if ( !( fg & pm ) ) - alu = GXset ; - else if ( ( fg & pm ) == pm ) - alu = GXinvert ; - break ; - case GXcopyInverted: /* 0xc NOT src */ - fg = ~fg ; - alu = GXcopy ; /* Fall Through */ - case GXcopy: /* 0x3 src */ - if ( !( fg & pm ) ) - alu = GXclear ; - else if ( ( fg & pm ) == pm ) - alu = GXset ; - break ; - case GXorInverted: /* 0xd NOT src OR dst */ - pm &= ~fg ; - alu = GXset ; - break ; - default: - ErrorF( - "xf4bppGetReducedColorRrop: Unknown Alu Raster-Op" ) ; - break ; - } - break; - default: - ErrorF("xf4bppGetReducedColorRrop: Bad Fillstyle\n"); - break; -} -#endif - -/* Final Test On Restricted Plane Mask */ -if ( !pm ) - alu = GXnoop ; - -/* Set Actual Returned Values */ -returnLoc->planemask = pm ; -returnLoc->fgPixel = fg ; -returnLoc->bgPixel = bg ; -returnLoc->alu = alu ; -returnLoc->fillStyle = fillStyle ; - -return ; -} - -void -xf4bppGetReducedColorRrop( pGC, drawableDepth, returnLoc ) -GC *pGC ; -int drawableDepth ; -ppcReducedRrop *returnLoc ; -{ - -ppcReduceGeneral( pGC->alu, - pGC->planemask, - pGC->fgPixel, - pGC->bgPixel, - pGC->fillStyle, - drawableDepth, - returnLoc ) ; - -return ; -} diff --git a/xorg-server/hw/xfree86/xf4bpp/ppcClip.c b/xorg-server/hw/xfree86/xf4bpp/ppcClip.c deleted file mode 100644 index 899dba683..000000000 --- a/xorg-server/hw/xfree86/xf4bpp/ppcClip.c +++ /dev/null @@ -1,157 +0,0 @@ -/* - -Copyright (c) 1987 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 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. - - -Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts, -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. - -*/ - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include - -#include "xf4bpp.h" -#include "mfbmap.h" -#include "mfb.h" -#include "scrnintstr.h" - -void -xf4bppDestroyClip(pGC) - GCPtr pGC; -{ - if(pGC->clientClipType == CT_NONE) - return; - else if (pGC->clientClipType == CT_PIXMAP) - { - mfbDestroyPixmap((PixmapPtr)(pGC->clientClip)); - } - else - { - /* we know we'll never have a list of rectangles, since - ChangeClip immediately turns them into a region - */ - REGION_DESTROY(pGC->pScreen, pGC->clientClip); - } - pGC->clientClip = NULL; - pGC->clientClipType = CT_NONE; -} - -void -xf4bppChangeClip(pGC, type, pvalue, nrects) - GCPtr pGC; - int type; - pointer pvalue; - int nrects; -{ - xf4bppDestroyClip(pGC); - if(type == CT_PIXMAP) - { - /* convert the pixmap to a region */ - pGC->clientClip = (pointer) (*pGC->pScreen->BitmapToRegion)((PixmapPtr)pvalue); - /* you wouldn't do this if you were leaving the pixmap in - rather than converting it. - */ - (*pGC->pScreen->DestroyPixmap)(pvalue); - } - else if (type == CT_REGION) - { - /* stuff the region in the GC */ - pGC->clientClip = pvalue; - } - else if (type != CT_NONE) - { - pGC->clientClip = (pointer) RECTS_TO_REGION(pGC->pScreen, nrects, - (xRectangle *)pvalue, - type); - xfree(pvalue); - } - pGC->clientClipType = (type != CT_NONE && pGC->clientClip) ? CT_REGION : - CT_NONE; - pGC->stateChanges |= GCClipMask; -} - -void -xf4bppCopyClip (pgcDst, pgcSrc) - GCPtr pgcDst, pgcSrc; -{ - RegionPtr prgnNew; - - switch(pgcSrc->clientClipType) - { - case CT_PIXMAP: - ((PixmapPtr) pgcSrc->clientClip)->refcnt++; - /* Fall through !! */ - case CT_NONE: - xf4bppChangeClip(pgcDst, pgcSrc->clientClipType, pgcSrc->clientClip, 0); - break; - case CT_REGION: - prgnNew = REGION_CREATE(pgcSrc->pScreen, NULL, 1); - REGION_COPY(pgcSrc->pScreen, prgnNew, (RegionPtr)(pgcSrc->clientClip)); - xf4bppChangeClip(pgcDst, CT_REGION, (pointer)prgnNew, 0); - break; - } -} diff --git a/xorg-server/hw/xfree86/xf4bpp/ppcCpArea.c b/xorg-server/hw/xfree86/xf4bpp/ppcCpArea.c deleted file mode 100644 index 9bdaf89e3..000000000 --- a/xorg-server/hw/xfree86/xf4bpp/ppcCpArea.c +++ /dev/null @@ -1,470 +0,0 @@ -/* - * 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. - * -*/ - -/*********************************************************** -Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. - - 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. - -******************************************************************/ - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include - -#include "xf4bpp.h" -#include "mfbmap.h" -#define PSZ 8 -#include "mfb.h" -#include "mergerop.h" -#include "mi.h" -#include "pixmapstr.h" -#include "scrnintstr.h" - -/* - * Graft in the DoBitblt from cfb. It does everything correctly. - */ -static void -vga16DoBitblt -( - DrawablePtr pSrc, - DrawablePtr pDst, - int alu, - RegionPtr prgnDst, - DDXPointPtr pptSrc, - unsigned long planemask -) -{ - int widthSrc, widthDst; /* add to get to same position in next line */ - BoxPtr pbox; - int nbox; - BoxPtr pboxTmp, pboxNext, pboxBase, pboxNew1, pboxNew2; - /* temporaries for shuffling rectangles */ - DDXPointPtr pptTmp, pptNew1, pptNew2; - /* shuffling boxes entails shuffling the - source points too */ - int w, h; - int careful; - - widthSrc = mfbGetPixelWidth(pSrc); - widthDst = mfbGetPixelWidth(pDst); - - /* XXX we have to err on the side of safety when both are windows, - * because we don't know if IncludeInferiors is being used. - */ - careful = ((pSrc == pDst) || - ((pSrc->type == DRAWABLE_WINDOW) && - (pDst->type == DRAWABLE_WINDOW))); - - pbox = REGION_RECTS(prgnDst); - nbox = REGION_NUM_RECTS(prgnDst); - - pboxNew1 = NULL; - pptNew1 = NULL; - pboxNew2 = NULL; - pptNew2 = NULL; - if (careful && (pptSrc->y < pbox->y1)) - { - /* walk source botttom to top */ - widthSrc = -widthSrc; - widthDst = -widthDst; - - if (nbox > 1) - { - /* keep ordering in each band, reverse order of bands */ - pboxNew1 = (BoxPtr)xalloc(sizeof(BoxRec) * nbox); - if(!pboxNew1) - return; - pptNew1 = (DDXPointPtr)xalloc(sizeof(DDXPointRec) * nbox); - if(!pptNew1) - { - xfree(pboxNew1); - return; - } - pboxBase = pboxNext = pbox+nbox-1; - while (pboxBase >= pbox) - { - while ((pboxNext >= pbox) && - (pboxBase->y1 == pboxNext->y1)) - pboxNext--; - pboxTmp = pboxNext+1; - pptTmp = pptSrc + (pboxTmp - pbox); - while (pboxTmp <= pboxBase) - { - *pboxNew1++ = *pboxTmp++; - *pptNew1++ = *pptTmp++; - } - pboxBase = pboxNext; - } - pboxNew1 -= nbox; - pbox = pboxNew1; - pptNew1 -= nbox; - pptSrc = pptNew1; - } - } - - if (careful && (pptSrc->x < pbox->x1)) - { - if (nbox > 1) - { - /* reverse order of rects in each band */ - pboxNew2 = (BoxPtr)xalloc(sizeof(BoxRec) * nbox); - pptNew2 = (DDXPointPtr)xalloc(sizeof(DDXPointRec) * nbox); - if(!pboxNew2 || !pptNew2) - { - if (pptNew2) xfree(pptNew2); - if (pboxNew2) xfree(pboxNew2); - if (pboxNew1) - { - xfree(pptNew1); - xfree(pboxNew1); - } - return; - } - pboxBase = pboxNext = pbox; - while (pboxBase < pbox+nbox) - { - while ((pboxNext < pbox+nbox) && - (pboxNext->y1 == pboxBase->y1)) - pboxNext++; - pboxTmp = pboxNext; - pptTmp = pptSrc + (pboxTmp - pbox); - while (pboxTmp != pboxBase) - { - *pboxNew2++ = *--pboxTmp; - *pptNew2++ = *--pptTmp; - } - pboxBase = pboxNext; - } - pboxNew2 -= nbox; - pbox = pboxNew2; - pptNew2 -= nbox; - pptSrc = pptNew2; - } - } - - while(nbox--) - { - w = pbox->x2 - pbox->x1; - h = pbox->y2 - pbox->y1; - - if( pSrc->type == DRAWABLE_WINDOW ) - xf4bppBitBlt( (WindowPtr)pDst, alu, planemask, - pptSrc->x, /* x0 */ - pptSrc->y, /* y0 */ - pbox->x1, /* x1 */ - pbox->y1, /* y1 */ - w, h ); /* w, h */ - else /* DRAWABLE_PIXMAP */ - xf4bppDrawColorImage( (WindowPtr)pDst, - pbox->x1, pbox->y1, - w, - h, - ((unsigned char *)((PixmapPtr)pSrc)->devPrivate.ptr - + pptSrc->x + (pptSrc->y*((PixmapPtr)pSrc)->devKind)), - ((PixmapPtr)pSrc)->devKind, - alu, planemask ) ; - pbox++; - pptSrc++; - } - if (pboxNew2) - { - xfree(pptNew2); - xfree(pboxNew2); - } - if (pboxNew1) - { - xfree(pptNew1); - xfree(pboxNew1); - } -} - - -/* - * Graft in the CopyArea from mfb/cfb. It does everything correctly. - */ - -RegionPtr -xf4bppCopyArea(pSrcDrawable, pDstDrawable, - pGC, srcx, srcy, width, height, dstx, dsty) -register DrawablePtr pSrcDrawable; -register DrawablePtr pDstDrawable; -register GC *pGC; -int srcx, srcy; -int width, height; -int dstx, dsty; -{ - RegionPtr prgnSrcClip = NULL; /* may be a new region, or just a copy */ - Bool freeSrcClip = FALSE; - - RegionPtr prgnExposed; - RegionRec rgnDst; - DDXPointPtr pptSrc; - register DDXPointPtr ppt; - register BoxPtr pbox; - int i; - register int dx; - register int dy; - xRectangle origSource; - DDXPointRec origDest; - int numRects; - BoxRec fastBox; - int fastClip = 0; /* for fast clipping with pixmap source */ - int fastExpose = 0; /* for fast exposures with pixmap source */ - - if ( pDstDrawable->type != DRAWABLE_WINDOW ) - return miCopyArea( pSrcDrawable, pDstDrawable, pGC, - srcx, srcy, width, height, dstx, dsty ) ; - - /* Begin code from mfb/cfbCopyArea */ - - origSource.x = srcx; - origSource.y = srcy; - origSource.width = width; - origSource.height = height; - origDest.x = dstx; - origDest.y = dsty; - - if ((pSrcDrawable != pDstDrawable) && - pSrcDrawable->pScreen->SourceValidate) - { - (*pSrcDrawable->pScreen->SourceValidate) (pSrcDrawable, srcx, srcy, width, height); - } - - srcx += pSrcDrawable->x; - srcy += pSrcDrawable->y; - - /* clip the source */ - - if (pSrcDrawable->type == DRAWABLE_PIXMAP) - { - if ((pSrcDrawable == pDstDrawable) && - (pGC->clientClipType == CT_NONE)) - { - prgnSrcClip = pGC->pCompositeClip; - } - else - { - fastClip = 1; - } - } - else - { - if (pGC->subWindowMode == IncludeInferiors) - { - if (!((WindowPtr) pSrcDrawable)->parent) - { - /* - * special case bitblt from root window in - * IncludeInferiors mode; just like from a pixmap - */ - fastClip = 1; - } - else if ((pSrcDrawable == pDstDrawable) && - (pGC->clientClipType == CT_NONE)) - { - prgnSrcClip = pGC->pCompositeClip; - } - else - { - prgnSrcClip = NotClippedByChildren((WindowPtr)pSrcDrawable); - freeSrcClip = TRUE; - } - } - else - { - prgnSrcClip = &((WindowPtr)pSrcDrawable)->clipList; - } - } - - fastBox.x1 = srcx; - fastBox.y1 = srcy; - fastBox.x2 = srcx + width; - fastBox.y2 = srcy + height; - - /* Don't create a source region if we are doing a fast clip */ - if (fastClip) - { - fastExpose = 1; - /* - * clip the source; if regions extend beyond the source size, - * make sure exposure events get sent - */ - if (fastBox.x1 < pSrcDrawable->x) - { - fastBox.x1 = pSrcDrawable->x; - fastExpose = 0; - } - if (fastBox.y1 < pSrcDrawable->y) - { - fastBox.y1 = pSrcDrawable->y; - fastExpose = 0; - } - if (fastBox.x2 > pSrcDrawable->x + (int) pSrcDrawable->width) - { - fastBox.x2 = pSrcDrawable->x + (int) pSrcDrawable->width; - fastExpose = 0; - } - if (fastBox.y2 > pSrcDrawable->y + (int) pSrcDrawable->height) - { - fastBox.y2 = pSrcDrawable->y + (int) pSrcDrawable->height; - fastExpose = 0; - } - } - else - { - REGION_INIT(pGC->pScreen, &rgnDst, &fastBox, 1); - REGION_INTERSECT(pGC->pScreen, &rgnDst, &rgnDst, prgnSrcClip); - } - - dstx += pDstDrawable->x; - dsty += pDstDrawable->y; - - if (pDstDrawable->type == DRAWABLE_WINDOW) - { - if (!((WindowPtr)pDstDrawable)->realized) - { - if (!fastClip) - REGION_UNINIT(pGC->pScreen, &rgnDst); - if (freeSrcClip) - REGION_DESTROY(pGC->pScreen, prgnSrcClip); - return NULL; - } - } - - dx = srcx - dstx; - dy = srcy - dsty; - - /* Translate and clip the dst to the destination composite clip */ - if (fastClip) - { - RegionPtr cclip; - - /* Translate the region directly */ - fastBox.x1 -= dx; - fastBox.x2 -= dx; - fastBox.y1 -= dy; - fastBox.y2 -= dy; - - /* If the destination composite clip is one rectangle we can - do the clip directly. Otherwise we have to create a full - blown region and call intersect */ - cclip = pGC->pCompositeClip; - if (REGION_NUM_RECTS(cclip) == 1) - { - BoxPtr pBox = REGION_RECTS(cclip); - - if (fastBox.x1 < pBox->x1) fastBox.x1 = pBox->x1; - if (fastBox.x2 > pBox->x2) fastBox.x2 = pBox->x2; - if (fastBox.y1 < pBox->y1) fastBox.y1 = pBox->y1; - if (fastBox.y2 > pBox->y2) fastBox.y2 = pBox->y2; - - /* Check to see if the region is empty */ - if (fastBox.x1 >= fastBox.x2 || fastBox.y1 >= fastBox.y2) - { - REGION_NULL(pGC->pScreen, &rgnDst); - } - else - { - REGION_INIT(pGC->pScreen, &rgnDst, &fastBox, 1); - } - } - else - { - /* We must turn off fastClip now, since we must create - a full blown region. It is intersected with the - composite clip below. */ - fastClip = 0; - REGION_INIT(pGC->pScreen, &rgnDst, &fastBox, 1); - } - } - else - { - REGION_TRANSLATE(pGC->pScreen, &rgnDst, -dx, -dy); - } - - if (!fastClip) - { - REGION_INTERSECT(pGC->pScreen, &rgnDst, &rgnDst, pGC->pCompositeClip); - } - - /* Do bit blitting */ - numRects = REGION_NUM_RECTS(&rgnDst); - if (numRects && width && height) - { - if(!(pptSrc = (DDXPointPtr)xalloc(numRects * - sizeof(DDXPointRec)))) - { - REGION_UNINIT(pGC->pScreen, &rgnDst); - if (freeSrcClip) - REGION_DESTROY(pGC->pScreen, prgnSrcClip); - return NULL; - } - pbox = REGION_RECTS(&rgnDst); - ppt = pptSrc; - for (i = numRects; --i >= 0; pbox++, ppt++) - { - ppt->x = pbox->x1 + dx; - ppt->y = pbox->y1 + dy; - } - - vga16DoBitblt(pSrcDrawable, pDstDrawable, pGC->alu, - &rgnDst, pptSrc, pGC->planemask ); - xfree(pptSrc); - } - - prgnExposed = NULL; - if (pGC->fExpose) - { - /* Pixmap sources generate a NoExposed (we return NULL to do this) */ - if (!fastExpose) - prgnExposed = - miHandleExposures(pSrcDrawable, pDstDrawable, pGC, - origSource.x, origSource.y, - (int)origSource.width, - (int)origSource.height, - origDest.x, origDest.y, (unsigned long)0); - } - REGION_UNINIT(pGC->pScreen, &rgnDst); - if (freeSrcClip) - REGION_DESTROY(pGC->pScreen, prgnSrcClip); - return prgnExposed; -} diff --git a/xorg-server/hw/xfree86/xf4bpp/ppcDepth.c b/xorg-server/hw/xfree86/xf4bpp/ppcDepth.c deleted file mode 100644 index 2fa19ff80..000000000 --- a/xorg-server/hw/xfree86/xf4bpp/ppcDepth.c +++ /dev/null @@ -1,53 +0,0 @@ -/* - * 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. - * -*/ - -/* Check to see if the alleged depth is acceptable for the Screen - * - * T. Paquin 9/87 - * - */ - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include "xf4bpp.h" -#include "scrnintstr.h" - -Bool -xf4bppDepthOK(pDraw,depth) -register DrawablePtr pDraw; -register int depth; -{ -register ScreenPtr pScreen= pDraw->pScreen; -register int i = pScreen->numDepths; - - if ( ( pDraw->type == DRAWABLE_PIXMAP ) && ( depth == 1 ) ) - return TRUE ; - - while ( i-- ) - if ( depth == pScreen->allowedDepths[i].depth ) - return TRUE ; - - return FALSE ; -} diff --git a/xorg-server/hw/xfree86/xf4bpp/ppcFillRct.c b/xorg-server/hw/xfree86/xf4bpp/ppcFillRct.c deleted file mode 100644 index 3422c8092..000000000 --- a/xorg-server/hw/xfree86/xf4bpp/ppcFillRct.c +++ /dev/null @@ -1,215 +0,0 @@ -/* Combined Purdue/PurduePlus patches, level 2.0, 1/17/89 */ -/*********************************************************** - -Copyright (c) 1987 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 1987 by Digital Equipment Corporation, Maynard, Massachusetts. - - 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. - -******************************************************************/ - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include "xf4bpp.h" -#include "mfbmap.h" -#include "mfb.h" -#include "maskbits.h" -#include "scrnintstr.h" - -#define MODEQ(a, b) ((a) %= (b)) - -/* - filled rectangles. - translate the rectangles, clip them, and call the -helper function in the GC. -*/ - -#define NUM_STACK_RECTS 1024 - -void -xf4bppPolyFillRect(pDrawable, pGC, nrectFill, prectInit) - DrawablePtr pDrawable; - GCPtr pGC; - int nrectFill; /* number of rectangles to fill */ - xRectangle *prectInit; /* Pointer to first rectangle to fill */ -{ - xRectangle *prect; - RegionPtr prgnClip; - register BoxPtr pbox; - register BoxPtr pboxClipped; - BoxPtr pboxClippedBase; - BoxPtr pextent; - BoxRec stackRects[NUM_STACK_RECTS]; - int numRects; - int n; - int xorg, yorg; - - if (!(pGC->planemask & 0x0F)) /* GJA */ - return; - - prgnClip = pGC->pCompositeClip; - - prect = prectInit; - xorg = pDrawable->x; - yorg = pDrawable->y; - if (xorg || yorg) - { - prect = prectInit; - n = nrectFill; - Duff (n, prect->x += xorg; prect->y += yorg; prect++); - } - - - prect = prectInit; - - numRects = REGION_NUM_RECTS(prgnClip) * nrectFill; - if (numRects > NUM_STACK_RECTS) - { - pboxClippedBase = (BoxPtr)xalloc(numRects * sizeof(BoxRec)); - if (!pboxClippedBase) - return; - } - else - pboxClippedBase = stackRects; - - pboxClipped = pboxClippedBase; - - if (REGION_NUM_RECTS(prgnClip) == 1) - { - int x1, y1, x2, y2, bx2, by2; - - pextent = REGION_RECTS(prgnClip); - x1 = pextent->x1; - y1 = pextent->y1; - x2 = pextent->x2; - y2 = pextent->y2; - while (nrectFill--) - { - if ((pboxClipped->x1 = prect->x) < x1) - pboxClipped->x1 = x1; - - if ((pboxClipped->y1 = prect->y) < y1) - pboxClipped->y1 = y1; - - bx2 = (int) prect->x + (int) prect->width; - if (bx2 > x2) - bx2 = x2; - pboxClipped->x2 = bx2; - - by2 = (int) prect->y + (int) prect->height; - if (by2 > y2) - by2 = y2; - pboxClipped->y2 = by2; - - prect++; - if ((pboxClipped->x1 < pboxClipped->x2) && - (pboxClipped->y1 < pboxClipped->y2)) - { - pboxClipped++; - } - } - } - else - { - int x1, y1, x2, y2, bx2, by2; - - pextent = REGION_EXTENTS(pGC->pScreen, prgnClip); - x1 = pextent->x1; - y1 = pextent->y1; - x2 = pextent->x2; - y2 = pextent->y2; - while (nrectFill--) - { - BoxRec box; - - if ((box.x1 = prect->x) < x1) - box.x1 = x1; - - if ((box.y1 = prect->y) < y1) - box.y1 = y1; - - bx2 = (int) prect->x + (int) prect->width; - if (bx2 > x2) - bx2 = x2; - box.x2 = bx2; - - by2 = (int) prect->y + (int) prect->height; - if (by2 > y2) - by2 = y2; - box.y2 = by2; - - prect++; - - if ((box.x1 >= box.x2) || (box.y1 >= box.y2)) - continue; - - n = REGION_NUM_RECTS (prgnClip); - pbox = REGION_RECTS(prgnClip); - - /* clip the rectangle to each box in the clip region - this is logically equivalent to calling Intersect() - */ - while(n--) - { - pboxClipped->x1 = max(box.x1, pbox->x1); - pboxClipped->y1 = max(box.y1, pbox->y1); - pboxClipped->x2 = min(box.x2, pbox->x2); - pboxClipped->y2 = min(box.y2, pbox->y2); - pbox++; - - /* see if clipping left anything */ - if(pboxClipped->x1 < pboxClipped->x2 && - pboxClipped->y1 < pboxClipped->y2) - { - pboxClipped++; - } - } - } - } - if (pboxClipped != pboxClippedBase) - xf4bppFillArea((WindowPtr)pDrawable, pboxClipped-pboxClippedBase, - pboxClippedBase, pGC); - if (pboxClippedBase != stackRects) - xfree(pboxClippedBase); -} diff --git a/xorg-server/hw/xfree86/xf4bpp/ppcGC.c b/xorg-server/hw/xfree86/xf4bpp/ppcGC.c deleted file mode 100644 index 7ef312d39..000000000 --- a/xorg-server/hw/xfree86/xf4bpp/ppcGC.c +++ /dev/null @@ -1,446 +0,0 @@ -/* - -Copyright (c) 1987 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 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. - - -Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts, -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. - -*/ - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include - -#include "xf4bpp.h" -#include "mfbmap.h" -#include "mfb.h" -#include "mi.h" -#include "scrnintstr.h" -#include "ppcGCstr.h" -#include "vgaVideo.h" -#include "ibmTrace.h" - -#define ppcGCInterestValidateMask \ -( GCLineStyle | GCLineWidth | GCJoinStyle | GCBackground | GCForeground \ -| GCFunction | GCPlaneMask | GCFillStyle | GC_CALL_VALIDATE_BIT \ -| GCClipXOrigin | GCClipYOrigin | GCClipMask | GCSubwindowMode ) - -static void xf4bppValidateGC(GCPtr, unsigned long, DrawablePtr); -static void xf4bppDestroyGC(GC *); - -static GCFuncs vgaGCFuncs = { - xf4bppValidateGC, - (void (*)(GCPtr, unsigned long))NoopDDA, - (void (*)(GCPtr, unsigned long, GCPtr))NoopDDA, - xf4bppDestroyGC, - xf4bppChangeClip, - xf4bppDestroyClip, - xf4bppCopyClip, - { NULL } -}; - - -static ppcPrivGC vgaPrototypeGCPriv = { - GXcopy, /* unsigned char rop */ - 0, /* unsigned char ropOpStip */ - 0, /* unsigned char ropFillArea */ - {0, }, /* unsigned char unused[sizeof(long) - 3] */ - NULL, /* mfbFillAreaProcPtr FillArea */ - { - VGA_ALLPLANES, /* unsigned long planemask */ - 1, /* unsigned long fgPixel */ - 0, /* unsigned long bgPixel */ - GXcopy, /* int alu */ - FillSolid, /* int fillStyle */ - }, /* ppcReducedRrop colorRrop */ - -1, /* short lastDrawableType */ - -1, /* short lastDrawableDepth */ - 0 /* pointer devPriv */ -} ; - -static GCOps vgaGCOps = { - xf4bppSolidWindowFS, /* void (* FillSpans)() */ - xf4bppSetSpans, /* void (* SetSpans)() */ - miPutImage, /* void (* PutImage)() */ - xf4bppCopyArea, /* RegionPtr (* CopyArea)() */ - miCopyPlane, /* void (* CopyPlane)() */ - xf4bppPolyPoint, /* void (* PolyPoint)() */ - miZeroLine, /* void (* Polylines)() */ - miPolySegment, /* void (* PolySegment)() */ - miPolyRectangle, /* void (* PolyRectangle)() */ - xf4bppZeroPolyArc, /* void (* PolyArc)() */ - miFillPolygon, /* void (* FillPolygon)() */ - miPolyFillRect, /* void (* PolyFillRect)() */ - xf4bppPolyFillArc, /* void (* PolyFillArc)() */ - miPolyText8, /* int (* PolyText8)() */ - miPolyText16, /* int (* PolyText16)() */ - miImageText8, /* void (* ImageText8)() */ - miImageText16, /* void (* ImageText16)() */ - xf4bppImageGlyphBlt, /* GJA -- void (* ImageGlyphBlt)() */ - miPolyGlyphBlt, /* GJA -- void (* PolyGlyphBlt)() */ - miPushPixels, /* void (* PushPixels)() */ - {NULL} /* devPrivate */ -}; - -Bool -xf4bppCreateGC( pGC ) -register GCPtr pGC ; -{ - ppcPrivGC *pPriv ; - GCOps *pOps ; - - if ( pGC->depth == 1 ) - { - return (mfbCreateGC(pGC)); - } - - if ( !( pPriv = xalloc( sizeof( ppcPrivGC ) ) ) ) - return FALSE ; - - if ( !( pOps = xalloc( sizeof( GCOps ) ) ) ) { - xfree(pPriv); - return FALSE; - } - - /* Now we initialize the GC fields */ - pGC->miTranslate = 1; - pGC->unused = 0; - pGC->planemask = VGA_ALLPLANES; - pGC->fgPixel = VGA_BLACK_PIXEL; - pGC->bgPixel = VGA_WHITE_PIXEL; - pGC->funcs = &vgaGCFuncs; - /* ops, -- see below */ - - pGC->fExpose = TRUE; - pGC->freeCompClip = FALSE; - - /* GJA: I don't like this code: - * they allocated a mfbPrivGC, ignore the allocated data and place - * a pointer to a ppcPrivGC in its slot. - */ - *pPriv = vgaPrototypeGCPriv; - dixSetPrivate(&pGC->devPrivates, mfbGetGCPrivateKey(), pPriv); - - /* Set the vgaGCOps */ - *pOps = vgaGCOps; - pOps->devPrivate.val = 1; - pGC->ops = pOps; - - return TRUE ; -} - -static void -xf4bppDestroyGC( pGC ) - register GC *pGC ; - -{ - TRACE( ( "xf4bppDestroyGC(pGC=0x%x)\n", pGC ) ) ; - - if ( pGC->freeCompClip && pGC->pCompositeClip ) - REGION_DESTROY(pGC->pScreen, pGC->pCompositeClip); - if(pGC->ops->devPrivate.val) xfree( pGC->ops ); - xfree(dixLookupPrivate(&pGC->devPrivates, mfbGetGCPrivateKey())); - return ; -} - -static Mask -ppcChangePixmapGC -( - register GC *pGC, - register Mask changes -) -{ -register ppcPrivGCPtr devPriv = (ppcPrivGCPtr)dixLookupPrivate(&pGC->devPrivates, mfbGetGCPrivateKey()); -register unsigned long int idx ; /* used for stepping through bitfields */ - -#define LOWBIT( x ) ( x & - x ) /* Two's complement */ -while ((idx = LOWBIT(changes))) { - switch ( idx ) { - - case GCLineStyle: - case GCLineWidth: - pGC->ops->Polylines = ( ! pGC->lineWidth ) - ? miZeroLine - : ( ( pGC->lineStyle == LineSolid ) - ? miWideLine : miWideDash ) ; - changes &= ~( GCLineStyle | GCLineWidth ) ; - break ; - - case GCJoinStyle: - changes &= ~ idx ; /* i.e. changes &= ~ GCJoinStyle */ - break ; - - case GCBackground: - if ( pGC->fillStyle != FillOpaqueStippled ) { - changes &= ~ idx ; /* i.e. changes &= ~GCBackground */ - break ; - } /* else Fall Through */ - case GCForeground: - if ( pGC->fillStyle == FillTiled ) { - changes &= ~ idx ; /* i.e. changes &= ~GCForeground */ - break ; - } /* else Fall Through */ - case GCFunction: - case GCPlaneMask: - case GCFillStyle: - { /* new_fill */ - int fillStyle = devPriv->colorRrop.fillStyle ; - /* install a suitable fillspans */ - if ( fillStyle == FillSolid ) - pGC->ops->FillSpans = xf4bppSolidPixmapFS ; - else if ( fillStyle == FillStippled ) - pGC->ops->FillSpans = xf4bppStipplePixmapFS ; - else if ( fillStyle == FillOpaqueStippled ) - pGC->ops->FillSpans = xf4bppOpStipplePixmapFS ; - else /* fillStyle == FillTiled */ - pGC->ops->FillSpans = xf4bppTilePixmapFS ; - changes &= ~( GCBackground | GCForeground - | GCFunction | GCPlaneMask | GCFillStyle ) ; - break ; - } /* end of new_fill */ - - default: - ErrorF( "ppcChangePixmapGC: Unexpected GC Change\n" ) ; - changes &= ~ idx ; /* Remove it anyway */ - break ; - } -} - -return 0 ; -} - -/* Clipping conventions - if the drawable is a window - CT_REGION ==> pCompositeClip really is the composite - CT_other ==> pCompositeClip is the window clip region - if the drawable is a pixmap - CT_REGION ==> pCompositeClip is the translated client region - clipped to the pixmap boundary - CT_other ==> pCompositeClip is the pixmap bounding box -*/ - -static void -xf4bppValidateGC( pGC, changes, pDrawable ) - GCPtr pGC; - unsigned long changes; - DrawablePtr pDrawable; -{ - register ppcPrivGCPtr devPriv ; - WindowPtr pWin ; - - devPriv = (ppcPrivGCPtr)dixLookupPrivate(&pGC->devPrivates, - mfbGetGCPrivateKey()); - if ( pDrawable->type != devPriv->lastDrawableType ) { - devPriv->lastDrawableType = pDrawable->type ; - xf4bppChangeGCtype( pGC, devPriv ) ; - changes = (unsigned)~0 ; - } - - if ( pDrawable->depth == 1 ) { -/* ibmAbort(); */ - xf4bppNeverCalled(); - } - - if ( pDrawable->type == DRAWABLE_WINDOW ) { - pWin = (WindowPtr) pDrawable ; - pGC->lastWinOrg.x = pWin->drawable.x ; - pGC->lastWinOrg.y = pWin->drawable.y ; - } - else { - pWin = (WindowPtr) NULL ; - pGC->lastWinOrg.x = 0 ; - pGC->lastWinOrg.y = 0 ; - } - - changes &= ppcGCInterestValidateMask ; - /* If Nothing REALLY Changed, Just Return */ - if ( pDrawable->serialNumber == (pGC->serialNumber & DRAWABLE_SERIAL_BITS) ) - if ( !( changes &= ~ GC_CALL_VALIDATE_BIT ) ) - return ; - - /* GJA -- start of cfb code */ - /* - * if the client clip is different or moved OR the subwindowMode has - * changed OR the window's clip has changed since the last validation - * we need to recompute the composite clip - */ - - if ((changes & (GCClipXOrigin|GCClipYOrigin|GCClipMask|GCSubwindowMode)) || - (pDrawable->serialNumber != (pGC->serialNumber & DRAWABLE_SERIAL_BITS)) - ) - { - if (pWin) { - 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 composute clip for pixmap */ - } - /* GJA -- End of cfb code */ - - changes &= ~ ( GCClipXOrigin | GCClipYOrigin | GCClipMask | GCSubwindowMode - | GC_CALL_VALIDATE_BIT ) ; - - /* If needed, Calculate the Color Reduced Raster-Op */ - if ( changes & ( GCFillStyle | GCBackground | GCForeground - | GCPlaneMask | GCFunction ) ) - xf4bppGetReducedColorRrop( pGC, pDrawable->depth, - &devPriv->colorRrop ) ; - - (* ( ( pDrawable->type == DRAWABLE_WINDOW ) - ? xf4bppChangeWindowGC - : ppcChangePixmapGC ) )( pGC, changes ) ; - - return ; -} diff --git a/xorg-server/hw/xfree86/xf4bpp/ppcGCstr.h b/xorg-server/hw/xfree86/xf4bpp/ppcGCstr.h deleted file mode 100644 index 82d1f2df4..000000000 --- a/xorg-server/hw/xfree86/xf4bpp/ppcGCstr.h +++ /dev/null @@ -1,71 +0,0 @@ -/* - * 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. - * -*/ - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include "gc.h" -#include "mfb.h" - -typedef struct { - unsigned long planemask ; - unsigned long fgPixel ; - unsigned long bgPixel ; - int alu ; - int fillStyle ; - } ppcReducedRrop ; - -/* ************************************************************************ */ - -/* private field of GC */ -typedef struct { -/* The next five (5) fields MUST CORRESPOND to - * the fields of a "mfbPrivGC" struct - * ----- BEGINNING OF "DO-NOT-CHANGE" REGION ----- - */ - unsigned char rop ; /* reduction of rasterop to 1 of 3 */ - unsigned char ropOpStip ; /* rop for opaque stipple */ - unsigned char ropFillArea ; /* == alu, rop, or ropOpStip */ - unsigned char unused[sizeof(long) - 3]; - mfbFillAreaProcPtr FillArea; /* fills regions; look at the code */ -/* ----- END OF "DO-NOT-CHANGE" REGION ----- */ - ppcReducedRrop colorRrop ; - short lastDrawableType ; /* was last drawable a window or a pixmap? */ - short lastDrawableDepth ; /* was last drawable 1 or 8 planes? */ - pointer devPriv ; /* Private area for device specific stuff */ - } ppcPrivGC ; -typedef ppcPrivGC *ppcPrivGCPtr ; - -/* ppcCReduce.c */ -void xf4bppGetReducedColorRrop( - GCPtr, - int, - ppcReducedRrop * -); - -/* vgaGC.c */ -void xf4bppChangeGCtype( - GCPtr, - ppcPrivGCPtr -); diff --git a/xorg-server/hw/xfree86/xf4bpp/ppcGetSp.c b/xorg-server/hw/xfree86/xf4bpp/ppcGetSp.c deleted file mode 100644 index d88abe02b..000000000 --- a/xorg-server/hw/xfree86/xf4bpp/ppcGetSp.c +++ /dev/null @@ -1,141 +0,0 @@ -/* - * 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. - * -*/ - -/*********************************************************** - -Copyright (c) 1987 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 1987 by Digital Equipment Corporation, Maynard, Massachusetts. - - 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. - -******************************************************************/ - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include -#include "xf4bpp.h" -#include "OScompiler.h" -#include "mfbmap.h" -#include "mfb.h" -#include "servermd.h" -#include "ibmTrace.h" - -/* GetSpans -- for each span, gets bits from drawable starting at ppt[i] - * and continuing for pwidth[i] bits - * Each scanline returned will be server scanline padded, i.e., it will come - * out to an integral number of words. - */ -void -xf4bppGetSpans( pDrawable, wMax, ppt, pwidth, nspans, pdstStart ) - DrawablePtr pDrawable ; /* drawable from which to get bits */ - int wMax ; /* largest value of all *pwidths */ - DDXPointPtr ppt ; /* points to start copying from */ - int *pwidth ; /* list of number of bits to copy */ - int nspans ; /* number of scanlines to copy */ - char *pdstStart ; -{ - register int j ; - register unsigned char *pdst ; /* where to put the bits */ - register unsigned char *psrc ; /* where to get the bits */ - register int pixmapStride ; - - - TRACE( ( "xf4bppGetSpans(pDrawable=0x%x,wMax=%d,ppt=0x%x,pwidth=0x%x,nspans=%d)\n", - pDrawable, wMax, ppt, pwidth, nspans ) ) ; - - if ( ( pDrawable->depth == 1 ) && ( pDrawable->type == DRAWABLE_PIXMAP ) ) - { - mfbGetSpans( pDrawable, wMax, ppt, pwidth, nspans, pdstStart ) ; - return; - } - - pixmapStride = PixmapBytePad( wMax, pDrawable->depth ) ; - pdst = (unsigned char *) /* GJA */ pdstStart ; - - if ( pDrawable->type == DRAWABLE_WINDOW ) { - for ( ; nspans-- ; ppt++, pwidth++ ) { - xf4bppReadColorImage( (WindowPtr)pDrawable, - ppt->x, ppt->y, j = *pwidth, 1, pdst, pixmapStride ) ; - pdst += j ; /* width is in 32 bit words */ - j = ( -j ) & 3 ; - while ( j-- ) /* Pad out to 32-bit boundary */ - *pdst++ = 0 ; - } - } - else { /* OK, if we are here, we had better be a DRAWABLE PIXMAP */ - register int widthSrc = /* width of pixmap in bytes */ - (int) ( (PixmapPtr) pDrawable )->devKind ; - - psrc = (unsigned char *) ( (PixmapPtr) pDrawable )->devPrivate.ptr ; - for ( ; nspans-- ; ppt++, pwidth++ ) { - MOVE( psrc + ( ppt->y * widthSrc ) + ppt->x, - pdst, j = *pwidth ) ; - pdst += j ; - j = ( -j ) & 3 ; - while ( j-- ) /* Pad out to 32-bit boundary */ - *pdst++ = 0 ; - } - } - return ; -} diff --git a/xorg-server/hw/xfree86/xf4bpp/ppcIO.c b/xorg-server/hw/xfree86/xf4bpp/ppcIO.c deleted file mode 100644 index 83952d12d..000000000 --- a/xorg-server/hw/xfree86/xf4bpp/ppcIO.c +++ /dev/null @@ -1,233 +0,0 @@ -/* - -Copyright (c) 1990 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 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. - -*/ - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include - -#include "xf4bpp.h" -#include "mfbmap.h" -#include "mfb.h" -#include "mi.h" -#include "micmap.h" -#include "scrnintstr.h" -#include "vgaVideo.h" - -#if 0 -/* XXX This remains to remind of the PC98 difference */ -static VisualRec vgaVisuals[] = { -/* StaticColor needs to be first so is can be used as the default */ -/* vid class bpRGB cmpE nplan rMask gMask bMask oRed oGreen oBlue */ -#ifdef PC98 -{ 0, StaticColor, 4, 1 << VGA_MAXPLANES, VGA_MAXPLANES, 0, 0, 0, 0, 0, 0 }, -{ 0, StaticGray, 4, 1 << VGA_MAXPLANES, VGA_MAXPLANES, 0, 0, 0, 0, 0, 0 }, -{ 0, GrayScale, 4, 1 << VGA_MAXPLANES, VGA_MAXPLANES, 0, 0, 0, 0, 0, 0 }, -{ 0, PseudoColor, 4, 1 << VGA_MAXPLANES, VGA_MAXPLANES, 0, 0, 0, 0, 0, 0 }, -#else -{ 0, StaticColor, 6, 1 << VGA_MAXPLANES, VGA_MAXPLANES, 0, 0, 0, 0, 0, 0 }, -{ 0, StaticGray, 6, 1 << VGA_MAXPLANES, VGA_MAXPLANES, 0, 0, 0, 0, 0, 0 }, -{ 0, GrayScale, 6, 1 << VGA_MAXPLANES, VGA_MAXPLANES, 0, 0, 0, 0, 0, 0 }, -{ 0, PseudoColor, 6, 1 << VGA_MAXPLANES, VGA_MAXPLANES, 0, 0, 0, 0, 0, 0 }, -#endif -} ; -#endif - -void -xf4bppNeverCalled() -{ - FatalError("xf4bppNeverCalled was nevertheless called\n"); -} - -/*ARGSUSED*/ -static Bool -vgaScreenClose -( - int idx, - ScreenPtr pScreen -) -{ - pScreen->defColormap = 0 ; - return TRUE; -} - - -static GCPtr sampleGCperDepth[MAXFORMATS+1] = { 0 }; -static PixmapPtr samplePixmapPerDepth[1] = { 0 }; - -/* GJA -- Took this from miscrinit.c. - * We want that devKind contains the distance in bytes between two scanlines. - * The computation that mi does is not appropriate for planar VGA. - * Therefore we provide here our own routine. - */ - -/* GJA -- WARNING: this is an internal structure declaration, taken from - * miscrinit.c - */ -typedef struct -{ - pointer pbits; /* pointer to framebuffer */ - int width; /* delta to add to a framebuffer addr to move one row down */ -} miScreenInitParmsRec, *miScreenInitParmsPtr; - -/* With the introduction of pixmap privates, the "screen pixmap" can no - * longer be created in miScreenInit, since all the modules that could - * possibly ask for pixmap private space have not been initialized at - * that time. pScreen->CreateScreenResources is called after all - * possible private-requesting modules have been inited; we create the - * screen pixmap here. - */ -static Bool -v16CreateScreenResources -( - ScreenPtr pScreen -) -{ - miScreenInitParmsPtr pScrInitParms; - pointer value; - - pScrInitParms = (miScreenInitParmsPtr)pScreen->devPrivate; - - /* if width is non-zero, pScreen->devPrivate will be a pixmap - * else it will just take the value pbits - */ - if (pScrInitParms->width) - { - PixmapPtr pPixmap; - - /* create a pixmap with no data, then redirect it to point to - * the screen - */ - pPixmap = (*pScreen->CreatePixmap)(pScreen, 0, 0, pScreen->rootDepth, 0); - if (!pPixmap) - return FALSE; - - if (!(*pScreen->ModifyPixmapHeader)(pPixmap, pScreen->width, - pScreen->height, pScreen->rootDepth, 8 /* bits per pixel */, -/* GJA: was PixmapBytePad(pScrInitParms->width, pScreen->rootDepth), */ -#define BITS_PER_BYTE_SHIFT 3 - pScrInitParms->width >> BITS_PER_BYTE_SHIFT, - pScrInitParms->pbits)) - return FALSE; - value = (pointer)pPixmap; - } - else - { - value = pScrInitParms->pbits; - } - xfree(pScreen->devPrivate); /* freeing miScreenInitParmsRec */ - pScreen->devPrivate = value; /* pPixmap or pbits */ - return TRUE; -} - - -Bool -xf4bppScreenInit( pScreen, pbits, virtx, virty, dpix, dpiy, width ) - ScreenPtr pScreen; - pointer pbits; - int virtx, virty; - int dpix, dpiy; - int width; -{ - Bool ret; - VisualPtr visuals; - DepthPtr depths; - int nvisuals; - int ndepths; - int rootdepth; - VisualID defaultVisual; - - rootdepth = 0; - ret = miInitVisuals(&visuals, &depths, &nvisuals, &ndepths, &rootdepth, - &defaultVisual, (unsigned long)1 << 8, 6, -1); - if (!ret) - return FALSE; - - pScreen-> id = 0; - pScreen->defColormap = FakeClientID(0); - pScreen-> whitePixel = VGA_WHITE_PIXEL; - pScreen-> blackPixel = VGA_BLACK_PIXEL; - pScreen-> rgf = 0; - *(pScreen-> GCperDepth) = *(sampleGCperDepth); - *(pScreen-> PixmapPerDepth) = *(samplePixmapPerDepth); - pScreen-> CloseScreen = vgaScreenClose; - pScreen-> QueryBestSize = xf4bppQueryBestSize; - pScreen-> GetImage = xf4bppGetImage; - pScreen-> GetSpans = xf4bppGetSpans; - pScreen-> CreateWindow = xf4bppCreateWindowForXYhardware; - pScreen-> DestroyWindow = xf4bppDestroyWindow; - pScreen-> PositionWindow = xf4bppPositionWindow; - pScreen-> CopyWindow = xf4bppCopyWindow; - pScreen-> CreatePixmap = xf4bppCreatePixmap; - pScreen-> CreateGC = xf4bppCreateGC; - pScreen-> CreateColormap = xf4bppInitializeColormap; - pScreen-> DestroyColormap = (DestroyColormapProcPtr)NoopDDA; - pScreen-> InstallColormap = miInstallColormap; - pScreen-> UninstallColormap = miUninstallColormap; - pScreen-> ListInstalledColormaps = miListInstalledColormaps; - pScreen-> StoreColors = (StoreColorsProcPtr)NoopDDA; - pScreen-> ResolveColor = xf4bppResolveColor; - mfbFillInScreen(pScreen); - - if (!mfbAllocatePrivates(pScreen, NULL)) - return FALSE; - - if (!miScreenInit(pScreen, pbits, virtx, virty, dpix, dpiy, width, - rootdepth, ndepths, depths, defaultVisual /* See above */, - nvisuals, visuals)) - return FALSE; - - /* GJA -- Now we override the supplied default: */ - pScreen -> CreateScreenResources = v16CreateScreenResources; - - mfbRegisterCopyPlaneProc(pScreen,miCopyPlane); /* GJA -- R4->R5 */ - return TRUE; -} diff --git a/xorg-server/hw/xfree86/xf4bpp/ppcImg.c b/xorg-server/hw/xfree86/xf4bpp/ppcImg.c deleted file mode 100644 index 33c6b89c5..000000000 --- a/xorg-server/hw/xfree86/xf4bpp/ppcImg.c +++ /dev/null @@ -1,122 +0,0 @@ -/* - * 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. - * -*/ - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include - -#include "xf4bpp.h" -#include "OScompiler.h" -#include "mi.h" -#include "scrnintstr.h" -#include "servermd.h" - -/* Was MIGETIMAGE -- public entry for the GetImage Request - * We're getting the image into a memory buffer. While we have to use GetSpans - * to read a line from the device ( since we don't know what that looks like ) , - * we can just write into the destination buffer - * - * two different strategies are used, depending on whether we're getting the - * image in Z format or XY format - * Z format: - * Line at a time, GetSpans a line and bcopy it to the destination - * buffer, except that if the planemask is not all ones, we create a - * temporary pixmap and do a SetSpans into it ( to get bits turned off ) - * and then another GetSpans to get stuff back ( because pixmaps are - * opaque, and we are passed in the memory to write into ) . This is - * completely ugly and slow but works, but the interfaces just aren't - * designed for this case. Life is hard. - * XY format: - * get the single plane specified in planemask - */ -void -xf4bppGetImage( pDraw, sx, sy, w, h, format, planeMask, pdstLine ) - DrawablePtr pDraw ; - int sx, sy, w, h ; - unsigned int format ; - unsigned long planeMask ; - char * pdstLine ; -{ -#if 1 - int depth, i, linelength, width ; - DDXPointRec pt ; - char *pbits ; - XID gcv[2] ; - PixmapPtr pPixmap = (PixmapPtr) NULL ; - GCPtr pGC ; - char *pDst = pdstLine ; - - depth = pDraw->depth ; - if ( format == ZPixmap ) { - linelength = PixmapBytePad( w, depth ) ; -/* if ( pDraw->type == DRAWABLE_WINDOW ) { */ - sx += pDraw->x ; - sy += pDraw->y ; -/* } */ - if ( ( ( ( 1 << pDraw->depth ) - 1 ) & planeMask ) - != (unsigned)( 1 << pDraw->depth ) - 1 ) { - pGC = GetScratchGC( depth, pDraw->pScreen ) ; - pPixmap = (PixmapPtr) - (* pDraw->pScreen->CreatePixmap)( pDraw->pScreen, w, h, depth, - CREATE_PIXMAP_USAGE_SCRATCH) ; - gcv[0] = GXcopy ; - gcv[1] = planeMask ; - DoChangeGC( pGC, GCPlaneMask | GCFunction, gcv, 0 ) ; - ValidateGC( (DrawablePtr)pPixmap, pGC ) ; - - pbits = (char *)xalloc(w); - - for ( i = 0 ; i < h ; i++ ) { - pt.x = sx ; - pt.y = sy + i ; - width = w ; - (* pDraw->pScreen->GetSpans)( pDraw, w, &pt, &width, 1, pbits ) ; - pt.x = 0 ; - pt.y = i ; - width = w ; - if ( planeMask & ((1 << depth) - 1) ) /* GJA -- mfb bug */ - (* pGC->ops->SetSpans)( (DrawablePtr)pPixmap, pGC, pbits, &pt, &width, 1, TRUE ) ; - (* pDraw->pScreen->GetSpans)( (DrawablePtr)pPixmap, w, &pt, &width, 1, pDst ) ; - pDst += linelength ; - } - - xfree(pbits) ; - (* pGC->pScreen->DestroyPixmap)( pPixmap ) ; - FreeScratchGC( pGC ) ; - return ; - } - - for ( i = 0 ; i < h ; i++ ) { - pt.x = sx ; - pt.y = sy + i ; - width = w ; - (* pDraw->pScreen->GetSpans)( pDraw, w, &pt, &width, 1, pDst ) ; - pDst += linelength ; - } - } - else -#endif - miGetImage( pDraw, sx, sy, w, h, format, planeMask, pdstLine ) ; -} diff --git a/xorg-server/hw/xfree86/xf4bpp/ppcPixFS.c b/xorg-server/hw/xfree86/xf4bpp/ppcPixFS.c deleted file mode 100644 index 9fd29efce..000000000 --- a/xorg-server/hw/xfree86/xf4bpp/ppcPixFS.c +++ /dev/null @@ -1,502 +0,0 @@ -/* - * 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. - * -*/ - -/****************************************************************** -Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. - - 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. - -******************************************************************/ - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include "xf4bpp.h" -#include "mfbmap.h" -#include "mfb.h" -#include "maskbits.h" -#include "mi.h" -#include "mispans.h" -#include "ppcGCstr.h" -#include "ppcSpMcro.h" -#include "vgaVideo.h" -#include "ibmTrace.h" - -#define LeftMostBitInScreenLongWord SCRLEFT( 0xFFFFFFFF, 31 ) - -/* GJA -- copied this from VGA */ -#define SCRLEFT8(lw, n) ( (unsigned char) (((unsigned char) lw) << (n)) ) -#define SCRRIGHT8(lw, n) ( (unsigned char) (((unsigned char)lw) >> (n)) ) -/* -********** ********** ********** ********** ********** ********** ********** - these routines all clip. they assume that anything that has called -them has already translated the points (i.e. pGC->miTranslate is -non-zero, which is howit gets set in mfbCreateGC().) - - the number of new scnalines created by clipping == -MaxRectsPerBand * nSpans. -********** ********** ********** ********** ********** ********** ********** -*/ -/* A mod definition that goes smoothly into the negative. - */ -static int -modulo -( - int n1, - int n2 -) -{ - int tmp; - if ( n1 < 0 ) { - tmp = (-n1) % n2; - if ( tmp == 0 ) { - return 0; - } else { - return n2 - tmp; - } - } else { - return n1 % n2; - } -} - -void -xf4bppSolidPixmapFS( pDrawable, pGC, nInit, pptInit, pwidthInit, fSorted ) - DrawablePtr pDrawable ; - GCPtr pGC ; - int nInit ; /* number of spans to fill */ - DDXPointPtr pptInit ; /* pointer to list of start points */ - int *pwidthInit ; /* pointer to list of n widths */ - int fSorted ; -{ - register unsigned long int pm, npm ; - register unsigned long int fg ; - register int alu ; - /* next three parameters are post-clip */ - int n ; /* number of spans to fill */ - register DDXPointPtr ppt ; /* pointer to list of start points */ - register int *pwidth ; /* pointer to list of n widths */ - register unsigned char *addrl ; /* pointer to current longword in bitmap */ - int i ; - int *pwidthFree ; /* copies of the pointers to free */ - DDXPointPtr pptFree ; - - TRACE(("xf4bppSolidPixmapFS(pDrawable=0x%x, pGC=0x%x, nInit=%d, pptInit=0x%x, pwidthInit=0x%x, fSorted=%d)\n", pDrawable, pGC, nInit, pptInit, pwidthInit, fSorted)) ; - - if ( pDrawable->type != DRAWABLE_PIXMAP ) { - ErrorF("xf4bppSolidPixmapFS: drawable is not a pixmap\n") ; - return ; - } - - if ( ( alu = ( (ppcPrivGC *)dixLookupPrivate(&pGC->devPrivates, mfbGetGCPrivateKey()))->colorRrop.alu ) == GXnoop ) - return ; - - n = nInit * miFindMaxBand(pGC->pCompositeClip) ; - if ( !( pwidthFree = (int *) xalloc( n * sizeof( int ) ) ) ) - return ; - pwidth = pwidthFree ; - - if ( !( pptFree = (DDXPointRec *) - xalloc( n * sizeof( DDXPointRec ) ) ) ) { - xfree( pwidth ) ; - return ; - } - ppt = pptFree ; - - n = miClipSpans( pGC->pCompositeClip, pptInit, pwidthInit, nInit, - ppt, pwidth, fSorted ) ; - - pm = ( (ppcPrivGC *)dixLookupPrivate(&pGC->devPrivates, mfbGetGCPrivateKey()) )->colorRrop.planemask ; - fg = ( (ppcPrivGC *)dixLookupPrivate(&pGC->devPrivates, mfbGetGCPrivateKey()) )->colorRrop.fgPixel ; - npm = ( ~ pm ) & ( ( 1 << pDrawable->depth ) - 1 ) ; - - for ( ; n-- ; ppt++, pwidth++ ) { - addrl = ( (unsigned char *) ( ( (PixmapPtr) pDrawable )->devPrivate.ptr ) ) - + ( ppt->y * ( (int) ( ( (PixmapPtr) pDrawable )->devKind ) ) ) - + ppt->x ; - for ( i = *pwidth ; i-- ; addrl++ ) - { - unsigned _p; - DoRop( _p, alu, fg, *addrl ); - *addrl = ( *addrl & npm ) | ( pm & _p ) ; - } -#ifdef notdef /* PURDUE */ - *addrl = ( *addrl & npm ) | ( pm & DoRop( alu, fg, *addrl ) ) ; -#endif /* PURDUE */ - } - xfree( pptFree ) ; - xfree( pwidthFree ) ; - return ; -} - -/* GJA -- copied from vgaStipple.c */ -static unsigned char -vgagetbits -( - register const int x, - register const unsigned int patternWidth, - register const unsigned char * const lineptr -) -{ -register unsigned char bits ; -register const unsigned char *cptr ; -register int shift ; -register int wrap ; - -cptr = lineptr + ( x >> 3 ) ; -bits = *cptr ; -if ((shift = x & 7)) - bits = SCRLEFT8( bits, shift ) | SCRRIGHT8( cptr[1], ( 8 - shift ) ) ; -if ( ( wrap = x + 8 - patternWidth ) > 0 ) { - bits &= SCRLEFT8( 0xFF, wrap ) ; - bits |= SCRRIGHT8( *lineptr, ( 8 - wrap ) ) ; -} - -/* GJA -- Handle extraction of 8 bits from < 8 bits wide stipple. - * I duplicated case 4,5,6,7 to give the compiler a chance to optimize. - */ -switch (patternWidth) { -case 1: /* Not really useful. */ - bits &= ~SCRRIGHT8(0xFF,1); - bits |= SCRRIGHT8(bits,1); - bits |= SCRRIGHT8(bits,2); - bits |= SCRRIGHT8(bits,4); - break; -case 2: - bits &= ~SCRRIGHT8(0xFF,2); - bits |= SCRRIGHT8(bits,2); bits |= SCRRIGHT8(bits,4); break; -case 3: - bits &= ~SCRRIGHT8(0xFF,3); - bits |= (SCRRIGHT8(bits,3) | SCRRIGHT8(bits,6)); break; -case 4: - bits = (bits & ~SCRRIGHT8(0xFF,4)) | SCRRIGHT8(bits,4); break; -case 5: - bits = (bits & ~SCRRIGHT8(0xFF,5)) | SCRRIGHT8(bits,5); break; -case 6: - bits = (bits & ~SCRRIGHT8(0xFF,6)) | SCRRIGHT8(bits,6); break; -case 7: - bits = (bits & ~SCRRIGHT8(0xFF,7)) | SCRRIGHT8(bits,7); break; -default: - ; - /* Do nothing, of course */ -} - -return bits ; -} - -void -xf4bppStipplePixmapFS( pDrawable, pGC, nInit, pptInit, pwidthInit, fSorted ) -register DrawablePtr pDrawable ; -GC *pGC ; -int nInit ; /* number of spans to fill */ -DDXPointPtr pptInit ; /* pointer to list of start points */ -int *pwidthInit ; /* pointer to list of n widths */ -int fSorted ; -{ - register unsigned char *pdst ; /* pointer to current word in bitmap */ - register unsigned long int pm, npm ; - register unsigned long int fg ; - register int alu ; - /* next three parameters are post-clip */ - int n ; /* number of spans to fill */ - register DDXPointPtr ppt ; /* pointer to list of start points */ - register int *pwidth ; /* pointer to list of n widths */ - PixmapPtr pTile ; /* pointer to tile we want to fill with */ - int width, x, xSrc, ySrc ; - int tlwidth, tileWidth ; - unsigned char *psrcT ; - int *pwidthFree ; /* copies of the pointers to free */ - DDXPointPtr pptFree ; - int xoff, count, stip, i ; - - TRACE(("xf4bppStipplePixmapFS(pDrawable=0x%x, pGC=0x%x, nInit=%d, pptInit=0x%x, pwidthInit=0x%x, fSorted=%d)\n", - pDrawable, pGC, nInit, pptInit, pwidthInit, fSorted)) ; - - if ( pDrawable->type != DRAWABLE_PIXMAP ) { - ErrorF( "xf4bppStippleWindowFS: drawable is not a pixmap\n") ; - return ; - } - if ( pGC->stipple->drawable.depth != 1 ) { - ErrorF( "ppcStippleFS: bad depth\ntype = %d, depth = %d\n", - pDrawable->type, pGC->stipple->drawable.depth ) ; - return ; - } - - if ( ( alu = ( (ppcPrivGC *)dixLookupPrivate(&pGC->devPrivates, mfbGetGCPrivateKey()) )->colorRrop.alu ) == GXnoop ) - return ; - - SETSPANPTRS( nInit, n, pwidthInit, pwidthFree, pptInit, - pptFree, pwidth, ppt, fSorted ) ; - - pm = ( (ppcPrivGC *)dixLookupPrivate(&pGC->devPrivates, mfbGetGCPrivateKey()) )->colorRrop.planemask ; - fg = ( (ppcPrivGC *)dixLookupPrivate(&pGC->devPrivates, mfbGetGCPrivateKey()) )->colorRrop.fgPixel ; - - pTile = pGC->stipple ; - tlwidth = pTile->devKind ; - - tileWidth = pTile->drawable.width ; - - npm = ( ~ pm ) & ( ( 1 << pDrawable->depth ) - 1 ) ; - - /* this replaces rotating the stipple. Instead, we just adjust the offset - * at which we start grabbing bits from the stipple */ - xSrc = pGC->patOrg.x + pDrawable->x; - ySrc = pGC->patOrg.y + pDrawable->y; - - while ( n-- ) { - pdst = ( (unsigned char *) ( (PixmapPtr) pDrawable )->devPrivate.ptr ) - + ( ppt->y * ( (int) ( ( (PixmapPtr) pDrawable )->devKind ) ) ) - + ppt->x ; - psrcT = (unsigned char *)pTile->devPrivate.ptr - + ( modulo( ppt->y - ySrc, pTile->drawable.height ) * tlwidth ) ; - x = ppt->x ; - - xoff = modulo( x - xSrc, tileWidth) ; - for ( width = *pwidth ; width ; width -= count, xoff+=count ) { - - if ( xoff >= tileWidth ) xoff -= tileWidth; - - if ( width < 8 ) - count = width; - else - count = 8; - - stip = vgagetbits( xoff, tileWidth, psrcT ) ; - - for ( i = count ; i-- ; ) { - if ( stip & 128 ) - { - unsigned _p; - DoRop( _p, alu, fg, *pdst ) ; - *pdst = ( *pdst & npm ) | ( pm & _p ) ; - } -#ifdef notdef /* PURDUE */ - *pdst = ( *pdst & npm ) | ( pm & DoRop( alu, fg, *pdst ) ) ; -#endif /* PURDUE */ - pdst++ ; - stip = SCRLEFT( stip, 1 ) ; - } - } - ppt++ ; - pwidth++ ; - } - xfree( pptFree ) ; - xfree( pwidthFree ) ; - return ; -} - -void -xf4bppOpStipplePixmapFS( pDrawable, pGC, nInit, pptInit, pwidthInit, fSorted ) -DrawablePtr pDrawable ; -GC *pGC ; -int nInit ; /* number of spans to fill */ -DDXPointPtr pptInit ; /* pointer to list of start points */ -int *pwidthInit ; /* pointer to list of n widths */ -int fSorted ; -{ - register unsigned char *pdst ; /* pointer to current word in bitmap */ - register unsigned long int pm, npm ; - register unsigned long int fg, bg ; - register int alu ; - /* next three parameters are post-clip */ - int n ; /* number of spans to fill */ - register DDXPointPtr ppt ; /* pointer to list of start points */ - register int *pwidth ; /* pointer to list of n widths */ - PixmapPtr pTile ; /* pointer to tile we want to fill with */ - int width ; - int xSrc, ySrc ; - int tlwidth, tileWidth ; - unsigned char *psrcT ; - int *pwidthFree ; /* copies of the pointers to free */ - DDXPointPtr pptFree ; - int xoff, count, stip, i ; - - TRACE( ( "xf4bppOpStipplePixmapFS(pDrawable=0x%x,pGC=0x%x,nInit=%d,pptInit=0x%x,pwidthInit=0x%x,fSorted=%d)\n", - pDrawable, pGC, nInit, pptInit, pwidthInit, fSorted ) ) ; - - if ( pGC->stipple->drawable.depth != 1 ) { - ErrorF( "xf4bppOpStipplePixmapFS: bad depth\ntype = %d, depth = %d\n", - pDrawable->type, pGC->stipple->drawable.depth ) ; - return ; - } - - if ( ( alu = ( (ppcPrivGC *)dixLookupPrivate(&pGC->devPrivates, mfbGetGCPrivateKey()) )->colorRrop.alu ) == GXnoop ) - return ; - - SETSPANPTRS( nInit, n, pwidthInit, pwidthFree, pptInit, - pptFree, pwidth, ppt, fSorted ) ; - - fg = ( (ppcPrivGC *)dixLookupPrivate(&pGC->devPrivates, mfbGetGCPrivateKey()) )->colorRrop.fgPixel ; - bg = ( (ppcPrivGC *)dixLookupPrivate(&pGC->devPrivates, mfbGetGCPrivateKey()) )->colorRrop.bgPixel ; - pm = ( (ppcPrivGC *)dixLookupPrivate(&pGC->devPrivates, mfbGetGCPrivateKey()) )->colorRrop.planemask ; - npm = ( ~ pm ) & ( ( 1 << pDrawable->depth ) - 1 ) ; - - pTile = pGC->stipple ; - tlwidth = pTile->devKind ; - tileWidth = pTile->drawable.width ; - - xSrc = pGC->patOrg.x + pDrawable->x; - ySrc = pGC->patOrg.y + pDrawable->y; - - /* this replaces rotating the stipple. Instead, we just adjust the offset - * at which we start grabbing bits from the stipple */ - for ( ; n-- ; ppt++, pwidth++ ) { - pdst = ( (unsigned char *) ( (PixmapPtr) pDrawable )->devPrivate.ptr ) - + ( ppt->y * ( (int) ( (PixmapPtr) pDrawable )->devKind ) ) - + ppt->x ; - psrcT = (unsigned char *)pTile->devPrivate.ptr - + ( modulo( ppt->y - ySrc, pTile->drawable.height ) * tlwidth ) ; - - xoff = modulo( ppt->x - xSrc, tileWidth) ; - - for ( width = *pwidth ; width ; width -= count, xoff+=count ) { - - if ( xoff >= tileWidth ) xoff -= tileWidth; - - if ( width < 8 ) - count = width; - else - count = 8; - - stip = vgagetbits( xoff, tileWidth, psrcT ) ; - for ( i = count ; i-- ; pdst++, stip = SCRLEFT( stip, 1 ) ) - if ( stip & 128 ) - { - unsigned _p; - DoRop( _p, alu, fg, *pdst ) ; - *pdst = ( *pdst & npm ) | ( pm & _p ) ; - } -#ifdef notdef /* PURDUE */ - *pdst = ( *pdst & npm ) | ( pm & DoRop( alu, fg, *pdst ) ) ; -#endif /* PURDUE */ - else - { - unsigned _p; - DoRop( _p, alu, bg, *pdst ) ; - *pdst = ( *pdst & npm ) | ( pm & _p ) ; - } -#ifdef notdef /* PURDUE */ - *pdst = ( *pdst & npm ) | ( pm & DoRop( alu, bg, *pdst ) ) ; -#endif /* PURDUE */ - } - } - xfree( pptFree ) ; - xfree( pwidthFree ) ; - return ; -} - -void -xf4bppTilePixmapFS( pDrawable, pGC, nInit, pptInit, pwidthInit, fSorted ) -register DrawablePtr pDrawable ; -GC *pGC ; -int nInit ; /* number of spans to fill */ -DDXPointPtr pptInit ; /* pointer to list of start points */ -int *pwidthInit ; /* pointer to list of n widths */ -int fSorted ; -{ - register DDXPointPtr ppt ; /* pointer to list of start points */ - register int *pwidth ; /* pointer to list of n widths */ - register unsigned char *pdst ; /* pointer to current word in bitmap */ - register unsigned char *psrc ; /* pointer to current word in tile */ - register PixmapPtr pTile ; /* pointer to tile we want to fill with */ - int i ; - int alu ; - unsigned char pm, npm ; - /* next three parameters are post-clip */ - int n ; /* number of spans to fill */ - int tileWidth ; - int xSrc, ySrc; - unsigned char *psrcT ; - int *pwidthFree ; /* copies of the pointers to free */ - DDXPointPtr pptFree ; - - TRACE( ( "ppcTileFS(pDrawable=0x%x,pGC=0x%x,nInit=%d,pptInit=0x%x,pwidthInit=0x%x,fSorted=%d)\n", - pDrawable, pGC, nInit, pptInit, pwidthInit, fSorted ) ) ; - - if ( ( pDrawable->depth == 1 ) && ( pDrawable->type == DRAWABLE_PIXMAP ) ) { - mfbTileFS( pDrawable, pGC, nInit, pptInit, pwidthInit, fSorted ) ; - return ; - } - if ( !xf4bppDepthOK( pDrawable, pGC->tile.pixmap->drawable.depth ) ) { - ErrorF( "ppcTileFS: bad depth\ntype = %d, depth = %d\n", - pDrawable->type, pDrawable->depth) ; - return ; - } - - if ( ( alu = ( (ppcPrivGC *)dixLookupPrivate(&pGC->devPrivates, mfbGetGCPrivateKey()) )->colorRrop.alu ) == GXnoop ) - return ; - - SETSPANPTRS( nInit, n, pwidthInit, pwidthFree, pptInit, - pptFree, pwidth, ppt, fSorted ) ; - - /* the following code is for 8 bits per pixel addressable memory only */ - pm = ( (ppcPrivGC *)dixLookupPrivate(&pGC->devPrivates, mfbGetGCPrivateKey()) )->colorRrop.planemask ; - npm = ( ~ pm ) & ( ( 1 << pDrawable->depth ) - 1 ) ; - pTile = pGC->tile.pixmap ; - tileWidth = pTile->drawable.width ; - - xSrc = pGC->patOrg.x + pDrawable->x; - ySrc = pGC->patOrg.y + pDrawable->y; - /* this replaces rotating the tile. Instead we just adjust the offset - * at which we start grabbing bits from the tile */ - for ( ; n-- ; ppt++, pwidth++ ) { - pdst = ( (unsigned char *) ( (PixmapPtr) pDrawable )->devPrivate.ptr ) - + ( ppt->y * ( (int) ( (PixmapPtr) pDrawable )->devKind ) ) - + ppt->x ; - psrcT = (unsigned char *) pTile->devPrivate.ptr - + ( modulo( ppt->y - ySrc, pTile->drawable.height) * pTile->devKind ) ; - - psrc = psrcT + modulo( ppt->x - xSrc, tileWidth ) ; - for ( i = *pwidth ; i-- ; pdst++, psrc++ ) { - if ( psrc >= ( psrcT + tileWidth ) ) - psrc = psrcT ; - { - unsigned _p; - DoRop( _p, alu, *psrc, *pdst ) ; - *pdst = ( *pdst & npm ) | ( pm & _p ) ; - } -#ifdef notdef /* PURDUE */ - *pdst = ( *pdst & npm ) | ( pm & DoRop( alu, *psrc, *pdst ) ) ; -#endif /* PURDUE */ - } - } - xfree( pptFree ) ; - xfree( pwidthFree ) ; - return ; -} diff --git a/xorg-server/hw/xfree86/xf4bpp/ppcPixmap.c b/xorg-server/hw/xfree86/xf4bpp/ppcPixmap.c deleted file mode 100644 index d04aacf82..000000000 --- a/xorg-server/hw/xfree86/xf4bpp/ppcPixmap.c +++ /dev/null @@ -1,151 +0,0 @@ -/* - * 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. - * -*/ - -/*********************************************************** - -Copyright (c) 1987 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 1987 by Digital Equipment Corporation, Maynard, Massachusetts. - - 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. - -******************************************************************/ - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include - -#include "xf4bpp.h" -#include "servermd.h" -#include "OScompiler.h" -#include "ibmTrace.h" -#include "scrnintstr.h" - -PixmapPtr -xf4bppCreatePixmap( pScreen, width, height, depth, usage_hint ) - ScreenPtr pScreen ; - int width ; - int height ; - int depth ; - unsigned usage_hint ; -{ - register PixmapPtr pPixmap = (PixmapPtr)NULL; - size_t size ; - - TRACE(("xf4bppCreatePixmap(pScreen=0x%x, width=%d, height=%d, depth=%d, usage_hint=%d)\n", pScreen, width, height, depth, usage_hint)) ; - - if ( depth > 8 ) - return (PixmapPtr) NULL ; - - size = PixmapBytePad(width, depth); - - if (size / 4 > 32767 || height > 32767) - return (PixmapPtr) NULL ; - - pPixmap = AllocatePixmap (pScreen, (height * size)); - - if ( !pPixmap ) - return (PixmapPtr) NULL ; - pPixmap->drawable.type = DRAWABLE_PIXMAP ; - pPixmap->drawable.class = 0 ; - pPixmap->drawable.pScreen = pScreen ; - pPixmap->drawable.depth = depth ; - pPixmap->drawable.id = 0 ; - pPixmap->drawable.bitsPerPixel = ( depth == 1 ) ? 1 : 8 ; - pPixmap->drawable.serialNumber = NEXT_SERIAL_NUMBER ; - pPixmap->drawable.x = 0 ; - pPixmap->drawable.y = 0 ; - pPixmap->drawable.width = width ; - pPixmap->drawable.height = height ; - pPixmap->devKind = size; - pPixmap->refcnt = 1 ; - size = height * pPixmap->devKind ; - pPixmap->devPrivate.ptr = (pointer) (((CARD8*)pPixmap) - + pScreen->totalPixmapSize); - bzero( (char *) pPixmap->devPrivate.ptr, size ) ; - pPixmap->usage_hint = usage_hint; - return pPixmap ; -} - -PixmapPtr -xf4bppCopyPixmap(pSrc) - register PixmapPtr pSrc; -{ - register PixmapPtr pDst; - int size; - - TRACE(("xf4bppCopyPixmap(pSrc=0x%x)\n", pSrc)) ; - size = pSrc->drawable.height * pSrc->devKind; - pDst = xalloc(sizeof(PixmapRec) + size); - if (!pDst) - return NullPixmap; - pDst->devPrivates = NULL; - pDst->drawable = pSrc->drawable; - pDst->drawable.id = 0; - pDst->drawable.serialNumber = NEXT_SERIAL_NUMBER; - pDst->devKind = pSrc->devKind; - pDst->refcnt = 1; - pDst->devPrivate.ptr = (pointer)(pDst + 1); - MOVE( (char *)pSrc->devPrivate.ptr, (char *)pDst->devPrivate.ptr, size ) ; - return pDst; -} diff --git a/xorg-server/hw/xfree86/xf4bpp/ppcPolyPnt.c b/xorg-server/hw/xfree86/xf4bpp/ppcPolyPnt.c deleted file mode 100644 index c61fd6d26..000000000 --- a/xorg-server/hw/xfree86/xf4bpp/ppcPolyPnt.c +++ /dev/null @@ -1,143 +0,0 @@ -/* - -Copyright (c) 1987 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 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. - - -Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts, -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. - -*/ - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include "xf4bpp.h" -#include "mfbmap.h" -#include "mfb.h" -#include "mi.h" -#include "scrnintstr.h" -#include "ppcGCstr.h" -#include "ibmTrace.h" - -void -xf4bppPolyPoint( pDrawable, pGC, mode, npt, pptInit ) -DrawablePtr pDrawable ; -GCPtr pGC ; -int mode ; /* Origin or Previous */ -int npt ; -xPoint *pptInit ; -{ -register xPoint *ppt ; -ppcPrivGC *devPriv ; -int alu ; -int nptTmp ; - -TRACE( ("xf4bppPolyPoint(0x%x,0x%x,%d,%d,0x%x)\n", - pDrawable, pGC, mode, npt, pptInit ) ) ; - -if ( pDrawable->type == DRAWABLE_PIXMAP ) { - if ( pGC->alu != GXnoop ) - miPolyPoint( pDrawable, pGC, mode, npt, pptInit ) ; - return ; -} - -devPriv = (ppcPrivGC *)dixLookupPrivate(&pGC->devPrivates, mfbGetGCPrivateKey()); -if ( ( alu = devPriv->colorRrop.alu ) == GXnoop ) - return ; - -/* make pointlist origin relative */ -if ( mode == CoordModePrevious ) - for ( ppt = pptInit, nptTmp = npt ; --nptTmp ; ) { - ppt++ ; - ppt->x += (ppt-1)->x ; - ppt->y += (ppt-1)->y ; - } - -if ( pGC->miTranslate ) { - register int xorg = pDrawable->x ; - register int yorg = pDrawable->y ; - for ( ppt = pptInit, nptTmp = npt ; nptTmp-- ; ppt++ ) { - ppt->x += xorg ; - ppt->y += yorg ; - } -} - -{ - register RegionPtr pRegion = pGC->pCompositeClip ; - register unsigned long int fg = devPriv->colorRrop.fgPixel ; - register unsigned long int pm = devPriv->colorRrop.planemask ; - BoxRec box ; /* Scratch Space */ - - if ( ! REGION_NUM_RECTS(pRegion)) - return ; - - for ( ppt = pptInit ; npt-- ; ppt++ ) - if (POINT_IN_REGION(pDrawable->pScreen, pRegion, - ppt->x, ppt->y, &box)) - xf4bppFillSolid( (WindowPtr)pDrawable, - fg, alu, pm, ppt->x, ppt->y, 1, 1 ) ; -} - -return ; -} diff --git a/xorg-server/hw/xfree86/xf4bpp/ppcQuery.c b/xorg-server/hw/xfree86/xf4bpp/ppcQuery.c deleted file mode 100644 index d42360da5..000000000 --- a/xorg-server/hw/xfree86/xf4bpp/ppcQuery.c +++ /dev/null @@ -1,46 +0,0 @@ -/* - * 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. - * -*/ - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include "xf4bpp.h" - -void -xf4bppQueryBestSize -( - register int class, - register unsigned short *pwidth, - register unsigned short *pheight, - ScreenPtr pScreen -) -{ -if ( class == CursorShape ) - *pwidth = *pheight = 32 ; /* ppc's cursor max out at 32 by 32 */ -else /* either TileShape or StippleShape */ - /* Round Up To Nearest Multiple Of 8 -- We don't care what height they use */ - *pwidth = ( *pwidth + 0x7 ) & ~ 0x7 ; - -return ; -} diff --git a/xorg-server/hw/xfree86/xf4bpp/ppcRslvC.c b/xorg-server/hw/xfree86/xf4bpp/ppcRslvC.c deleted file mode 100644 index 0337feb62..000000000 --- a/xorg-server/hw/xfree86/xf4bpp/ppcRslvC.c +++ /dev/null @@ -1,177 +0,0 @@ -/************************************************************ -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 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. - * -*/ - -/* Generic Color Resolution Scheme - * P. Shupak 12/31/87 - */ - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include "xf4bpp.h" -#include "scrnintstr.h" - -/* - * New colormap routines that can support multiple Visual types. - */ - -static unsigned short defstaticpalette[16][3] = { - /* R G B */ - { 0x0000, 0x0000, 0x0000 }, /* black */ - { 0xFFFF, 0xFFFF, 0xFFFF }, /* white */ - { 0xAAAA, 0xAAAA, 0xAAAA }, /* grey */ - { 0x0000, 0x0000, 0xAAAA }, /* dark blue */ - { 0x0000, 0x0000, 0xFFFF }, /* medium blue */ - { 0x0000, 0xAAAA, 0xFFFF }, /* light blue */ - { 0x0000, 0xFFFF, 0xFFFF }, /* cyan */ - { 0x0000, 0xAAAA, 0x0000 }, /* dark green */ - { 0x0000, 0xFFFF, 0x0000 }, /* green */ - { 0xAAAA, 0xFFFF, 0x5555 }, /* pale green */ - { 0xAAAA, 0x5555, 0x0000 }, /* brown */ - { 0xFFFF, 0xAAAA, 0x0000 }, /* light brown */ - { 0xFFFF, 0xFFFF, 0x0000 }, /* yellow */ - { 0xAAAA, 0x0000, 0xAAAA }, /* purple */ - { 0xFFFF, 0x0000, 0xFFFF }, /* magenta */ - { 0xFFFF, 0x0000, 0x0000 }, /* red */ - }; - -Bool -xf4bppInitializeColormap(pmap) - register ColormapPtr pmap; -{ - register unsigned i; - register VisualPtr pVisual; - unsigned lim, maxent, shift; - - pVisual = pmap->pVisual; - lim = (1 << pVisual->bitsPerRGBValue) - 1; - shift = 16 - pVisual->bitsPerRGBValue; - maxent = pVisual->ColormapEntries - 1; - - switch( pVisual->class ) - { - case StaticGray: - for ( i = 0 ; i < maxent ; i++ ) { - pmap->red[i].co.local.red = - pmap->red[i].co.local.green = - pmap->red[i].co.local.blue = - ((((i * 65535) / maxent) >> shift) * 65535) / lim; - } - break; - case StaticColor: - for ( i = 0 ; i < 16 ; i++ ) { - pmap->red[i].co.local.red = (defstaticpalette[i][0]); - pmap->red[i].co.local.green = (defstaticpalette[i][1]); - pmap->red[i].co.local.blue = (defstaticpalette[i][2]); - } - break; - case GrayScale: - case PseudoColor: - for(i=0;i<=maxent;i++) { - int a,b,c; - a = i << 10; - b = i << 12; - c = i << 14; - pmap->red[i].co.local.red = a; - pmap->red[i].co.local.green = b; - pmap->red[i].co.local.blue = c; - } - break; - case TrueColor: - case DirectColor: - default: - ErrorF( "Unsupported Visual class %d\b", pVisual->class ); - return FALSE; - } - return TRUE; -} - -void -xf4bppResolveColor( pred, pgreen, pblue, pVisual ) -register unsigned short* pred ; -register unsigned short* pgreen ; -register unsigned short* pblue ; -register VisualPtr pVisual ; -{ - unsigned lim, maxent, shift; - - lim = (1 << pVisual->bitsPerRGBValue) - 1; - shift = 16 - pVisual->bitsPerRGBValue; - maxent = pVisual->ColormapEntries - 1; - - switch( pVisual->class ) - { - case StaticGray: - *pred = (30L * *pred + 59L * *pgreen + 11L * *pblue) / 100; - *pred = (((*pred * (maxent + 1)) >> 16) * 65535) / maxent; - *pblue = *pgreen = *pred = ((*pred >> shift) * 65535) / lim; - break; - case StaticColor: - break; - case GrayScale: - *pred = (30L * *pred + 59L * *pgreen + 11L * *pblue) / 100; - *pblue = *pgreen = *pred = ((*pred >> shift) * 65535) / lim; - break; - case PseudoColor: - /* rescale to rgb bits */ - *pred = ((*pred >> shift) * 65535) / lim; - *pgreen = ((*pgreen >> shift) * 65535) / lim; - *pblue = ((*pblue >> shift) * 65535) / lim; - break; - case TrueColor: - case DirectColor: - default: - ErrorF( "Unsupported Visual class %d\b", pVisual->class ); - } -} - diff --git a/xorg-server/hw/xfree86/xf4bpp/ppcSetSp.c b/xorg-server/hw/xfree86/xf4bpp/ppcSetSp.c deleted file mode 100644 index 7659384e7..000000000 --- a/xorg-server/hw/xfree86/xf4bpp/ppcSetSp.c +++ /dev/null @@ -1,319 +0,0 @@ -/* - * 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. - * -*/ - -/*********************************************************** - -Copyright (c) 1987 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 1987 by Digital Equipment Corporation, Maynard, Massachusetts. - - 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. - -******************************************************************/ - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include - -#include "xf4bpp.h" -#include "OScompiler.h" -#include "mfbmap.h" -#include "mfb.h" -#include "servermd.h" - -/* SetScanline -- copies the bits from psrc to the drawable starting at - * (xStart, y) and continuing to (xEnd, y). xOrigin tells us where psrc - * starts on the scanline. (I.e., if this scanline passes through multiple - * boxes, we may not want to start grabbing bits at psrc but at some offset - * further on.) - */ -static void -ppcSetScanline -( - register int pixCount, /* width of scanline in bits */ - register char *psrc, - register unsigned char *pdst, /* where to put the bits */ - register int pm, /* plane mask */ - const int alu /* raster op */ -) -{ -register int npm = ~pm ; /* inverted plane mask */ -register char tmpx ; - -pm &= 0x0F; npm &= 0x0F; /* GJA */ - -switch ( alu ) { - case GXclear: /* 0x0 Zero 0 */ - while ( pixCount-- ) - *pdst++ &= npm ; - break ; - case GXand: /* 0x1 src AND dst */ - while ( pixCount-- ) - *pdst++ &= *psrc++ | npm ; - break ; - case GXandReverse: /* 0x2 src AND NOT dst */ - for ( ; pixCount-- ; pdst++, psrc++ ) { - tmpx = *pdst; - *pdst = ( tmpx & npm ) | ( pm & *psrc & ~tmpx ) ; - } - break ; - case GXcopy: /* 0x3 src */ - for ( ; pixCount-- ; pdst++, psrc++ ) - *pdst = ( *pdst & npm ) | ( pm & *psrc ) ; - break ; - case GXandInverted: /* 0x4 NOT src AND dst */ - while ( pixCount-- ) - *pdst++ &= npm | ~*psrc++ ; - break ; - case GXnoop: /* 0x5 dst */ - break ; - case GXxor: /* 0x6 src XOR dst */ - while ( pixCount-- ) - *pdst++ ^= pm & *psrc++ ; - break ; - case GXor: /* 0x7 src OR dst */ - while ( pixCount-- ) - *pdst++ |= *psrc++ & pm ; - break ; - case GXnor: /* 0x8 NOT src AND NOT dst */ - for ( ; pixCount-- ; pdst++, psrc++ ) { - tmpx = *pdst; - *pdst = ( tmpx & npm ) | ( pm & ~( tmpx | *psrc ) ) ; - } - break ; - case GXequiv: /* 0x9 NOT src XOR dst */ - while ( pixCount-- ) - *pdst++ ^= pm & ~ *psrc++ ; - break ; - case GXorReverse: /* 0xb src OR NOT dst */ - for ( ; pixCount-- ; pdst++, psrc++ ) { - tmpx = *pdst; - *pdst = ( tmpx & npm ) | ( pm & ( *psrc | ~tmpx ) ) ; - } - break ; - case GXinvert: /* 0xa NOT dst */ - while ( pixCount-- ) - *pdst++ ^= pm ; - break ; - case GXcopyInverted: /* 0xc NOT src */ - for ( ; pixCount-- ; pdst++, psrc++ ) - *pdst = ( *pdst & npm ) | ( pm & ~ *psrc ) ; - break ; - case GXorInverted: /* 0xd NOT src OR dst */ - while ( pixCount-- ) - *pdst++ |= pm & ~ *psrc++ ; - break ; - case GXnand: /* 0xe NOT src OR NOT dst */ - for ( ; pixCount-- ; pdst++, psrc++ ) { - tmpx = *pdst; - *pdst = ( tmpx & npm ) | ( pm & ~( tmpx & *psrc ) ) ; - } - break ; - case GXset: /* 0xf 1 */ - while ( pixCount-- ) - *pdst++ |= pm ; - break ; - default: - ErrorF( "ppcSetScanLine: bad alu value == 0x%02X\n", alu ) ; - break ; -} - -return ; -} - -/* SetSpans -- for each span copy pwidth[i] bits from psrc to pDrawable at - * ppt[i] using the raster op from the GC. If fSorted is TRUE, the scanlines - * are in increasing Y order. - * Source bit lines are server scanline padded so that they always begin - * on a word boundary. - */ -void -xf4bppSetSpans( pDrawable, pGC, psrc, ppt, pwidth, nspans, fSorted ) - register DrawablePtr pDrawable ; - GCPtr pGC ; - char *psrc ; - register DDXPointPtr ppt ; - int *pwidth ; - int nspans ; - int fSorted ; -{ - unsigned char *pdstBase = NULL; /* start of dst bitmap */ - int widthDst = 0; /* width of bitmap in words */ - register BoxPtr pbox, pboxLast, pboxTest ; - register DDXPointPtr pptLast ; - RegionPtr prgnDst ; - register int width ; - int xStart, xEnd ; - int yMax ; - int alu ; - int pm ; - - /* allow for 1-deep windows on nfb machines (eg apa8, aed) */ - if ( ( pDrawable->depth == 1 ) && ( pDrawable->type == DRAWABLE_PIXMAP ) ) { - mfbSetSpans( pDrawable, pGC, psrc, ppt, pwidth, nspans, fSorted ) ; - return ; - } - - if ( !( pm = pGC->planemask & ~( (~0) << pDrawable->depth ) ) - || ( ( alu = pGC->alu ) == GXnoop ) ) - return ; - - prgnDst = pGC->pCompositeClip ; - - if ( ! REGION_NUM_RECTS(prgnDst)) - return ; - - pboxLast = ( pbox = REGION_RECTS(prgnDst) ) + REGION_NUM_RECTS(prgnDst); - pptLast = ppt + nspans ; - - if ( pDrawable->type == DRAWABLE_WINDOW ) { - yMax = (int) pDrawable->height + pDrawable->y ; - } - else { - pdstBase = (unsigned char *) ( (PixmapPtr) pDrawable )->devPrivate.ptr ; - widthDst = (int) ( (PixmapPtr) pDrawable )->devKind ; - yMax = pDrawable->height ; - } - - if ( fSorted ) { - /* scan lines sorted in ascending order. Because they are sorted, we - * don't have to check each scanline against each clip box. We can be - * sure that this scanline only has to be clipped to boxes at or after the - * beginning of this y-band - */ - for ( pboxTest = pbox ; - ( ppt < pptLast ) && ( ppt->y < yMax ) ; - ppt++, pwidth++, - psrc += PixmapBytePad( width, pDrawable->depth ) ) { - width = *pwidth ; - for ( pbox = pboxTest ; - pbox < pboxLast ; - pbox++ ) { - if ( pbox->y2 <= ppt->y ) { - /* clip box is before scanline */ - pboxTest = pbox + 1 ; - } - else if ( ( pbox->y1 > ppt->y ) - || ( pbox->x1 > ppt->x + width ) ) - break ; /* scanline before clip box or left of clip box */ - else if ( pbox->x2 > ppt->x ) { - /* some of the scanline is in the current clip box */ - xStart = MAX( pbox->x1, ppt->x ) ; - xEnd = MIN( ppt->x + width, pbox->x2 ) ; - if ( pDrawable->type == DRAWABLE_PIXMAP ) - ppcSetScanline( xEnd - xStart, - psrc + ( xStart - ppt->x ), - pdstBase + xStart - + ( ppt->y * widthDst ), - pm, alu ) ; - else - xf4bppDrawColorImage( (WindowPtr)pDrawable, - xStart, ppt->y, xEnd - xStart, 1, - (unsigned char *)psrc + ( xStart - ppt->x ), - xEnd - xStart, alu, pm ) ; - if ( ppt->x + width <= pbox->x2 ) - break ; /* End of the line, as it were */ - } - } - /* We've tried this line against every box ; it must be outside them - * all. move on to the next point */ - } - } - else { - /* scan lines not sorted. We must clip each line against all the boxes */ - for ( ; - ppt < pptLast ; - ppt++, pwidth++, - psrc += PixmapBytePad( width, pDrawable->depth ) ) { - width = *pwidth ; - if ( ppt->y >= 0 && ppt->y < yMax ) { - for ( pbox = REGION_RECTS(prgnDst) ; pbox < pboxLast ; pbox++ ) { - if ( pbox->y1 > ppt->y ) - break ; /* rest of clip region is above this scanline */ - else if ( ( pbox->y2 > ppt->y ) - && ( pbox->x1 <= ppt->x + width ) - && ( pbox->x2 > ppt->x ) ) { - xStart = MAX( pbox->x1, ppt->x ) ; - xEnd = MIN( pbox->x2, ppt->x + width ) ; - if ( pDrawable->type == DRAWABLE_PIXMAP ) - ppcSetScanline( xEnd - xStart, - psrc + ( xStart - ppt->x ), - /* ^ GJA */ - ( ( pdstBase - + ( ppt->y * widthDst ) ) - + xStart ), - pm, alu ) ; - else /* pDrawable->type == DRAWABLE_WINDOW */ - xf4bppDrawColorImage( (WindowPtr)pDrawable, - xStart, ppt->y, xEnd - xStart, 1, - (unsigned char *)psrc + ( xStart - ppt->x ), - /* GJA ^ */ - xEnd - xStart, alu, pm ) ; - } - - } - } - } - } - return ; -} diff --git a/xorg-server/hw/xfree86/xf4bpp/ppcSpMcro.h b/xorg-server/hw/xfree86/xf4bpp/ppcSpMcro.h deleted file mode 100644 index 655a883e5..000000000 --- a/xorg-server/hw/xfree86/xf4bpp/ppcSpMcro.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * 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. - * -*/ - -/* This screwy macro is used in all the spans routines and you find - it all over the place, so it is a macro just to tidy things up. -*/ - -#define SETSPANPTRS(IN,N,IPW,PW,IPPT,PPT,FPW,FPPT,FSORT) \ - { \ - N = IN * miFindMaxBand(pGC->pCompositeClip); \ - if(!(PW = (int *)xalloc(N * sizeof(int)))) \ - return; \ - if(!(PPT = (DDXPointRec *)xalloc(N * sizeof(DDXPointRec)))) \ - { \ - free(PW); \ - return; \ - } \ - FPW = PW; \ - FPPT = PPT; \ - N = miClipSpans(pGC->pCompositeClip, IPPT, IPW, IN, \ - PPT, PW, FSORT); \ - } - diff --git a/xorg-server/hw/xfree86/xf4bpp/ppcWinFS.c b/xorg-server/hw/xfree86/xf4bpp/ppcWinFS.c deleted file mode 100644 index 1522afd9e..000000000 --- a/xorg-server/hw/xfree86/xf4bpp/ppcWinFS.c +++ /dev/null @@ -1,280 +0,0 @@ -/* - * 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. - * -*/ - -/****************************************************************** -Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. - - 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. - -******************************************************************/ - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include "xf4bpp.h" -#include "mfbmap.h" -#include "mfb.h" -#include "mi.h" -#include "mispans.h" -#include "ppcGCstr.h" -#include "ppcSpMcro.h" -#include "ibmTrace.h" - -#define LeftMostBitInScreenLongWord SCRLEFT( 0xFFFFFFFF, 31 ) -/* -********** ********** ********** ********** ********** ********** ********** - these routines all clip. they assume that anything that has called -them has already translated the points (i.e. pGC->miTranslate is -non-zero, which is howit gets set in mfbCreateGC().) - - the number of new scanlines created by clipping == -MaxRectsPerBand * nSpans. -********** ********** ********** ********** ********** ********** ********** -*/ - -void -xf4bppSolidWindowFS( pDrawable, pGC, nInit, pptInit, pwidthInit, fSorted ) - DrawablePtr pDrawable ; - GCPtr pGC ; - int nInit ; /* number of spans to fill */ - DDXPointPtr pptInit ; /* pointer to list of start points */ - int *pwidthInit ; /* pointer to list of n widths */ - int fSorted ; -{ - register unsigned long int pm ; - register unsigned long int fg ; - register int alu ; - /* next three parameters are post-clip */ - int n ; /* number of spans to fill */ - register DDXPointPtr ppt ; /* pointer to list of start points */ - register int *pwidth ; /* pointer to list of n widths */ - int *pwidthFree ; /* copies of the pointers to free */ - DDXPointPtr pptFree ; - - TRACE( ( "xf4bppSolidWindowFS(pDrawable=0x%x,pGC=0x%x,nInit=%d,pptInit=0x%x,pwidthInit=0x%x,fSorted=%d)\n", - pDrawable, pGC, nInit, pptInit, pwidthInit, fSorted ) ) ; - - if ( pDrawable->type != DRAWABLE_WINDOW ) { - ErrorF( "xf4bppSolidWindowFS: drawable is not a window\n") ; - return ; - } - - if ( ( alu = ( (ppcPrivGC *)dixLookupPrivate(&pGC->devPrivates, mfbGetGCPrivateKey()) )->colorRrop.alu ) == GXnoop ) - return ; - - n = nInit * miFindMaxBand( pGC->pCompositeClip ) ; - if ( !( pwidthFree = (int *) xalloc( n * sizeof( int ) ) ) ) - return ; - pwidth = pwidthFree ; - - if ( !( pptFree = (DDXPointRec *) - xalloc( n * sizeof( DDXPointRec ) ) ) ) { - xfree( pwidth ) ; - return ; - } - ppt = pptFree ; - - n = miClipSpans( pGC->pCompositeClip, pptInit, pwidthInit, nInit, - ppt, pwidth, fSorted ) ; - - pm = ( (ppcPrivGC *)dixLookupPrivate(&pGC->devPrivates, mfbGetGCPrivateKey()) )->colorRrop.planemask ; - fg = ( (ppcPrivGC *)dixLookupPrivate(&pGC->devPrivates, mfbGetGCPrivateKey()) )->colorRrop.fgPixel ; - - for ( ; n-- ; ppt++, pwidth++ ) - if ( *pwidth ) - xf4bppFillSolid( (WindowPtr)pDrawable, - fg, alu, pm, ppt->x, ppt->y, *pwidth, 1 ) ; - - xfree( pptFree ) ; - xfree( pwidthFree ) ; - return ; -} - -void -xf4bppStippleWindowFS( pDrawable, pGC, nInit, pptInit, pwidthInit, fSorted ) -DrawablePtr pDrawable ; -register GC *pGC ; -int nInit ; /* number of spans to fill */ -DDXPointPtr pptInit ; /* pointer to list of start points */ -int *pwidthInit ; /* pointer to list of n widths */ -int fSorted ; -{ - register unsigned long int pm ; - register unsigned long int fg ; - register int alu ; - /* next three parameters are post-clip */ - int n ; /* number of spans to fill */ - register DDXPointPtr ppt ; /* pointer to list of start points */ - register int *pwidth ; /* pointer to list of n widths */ - PixmapPtr pTile ; /* pointer to tile we want to fill with */ - int xSrc ; - int ySrc ; - int *pwidthFree ; /* copies of the pointers to free */ - DDXPointPtr pptFree ; - - TRACE( ( "xf4bppStippleWindowFS(pDrawable=0x%x,pGC=0x%x,nInit=%d,pptInit=0x%x,pwidthInit=0x%x,fSorted=%d)\n", - pDrawable, pGC, nInit, pptInit, pwidthInit, fSorted ) ) ; - - if ( pDrawable->type != DRAWABLE_WINDOW ) { - ErrorF( "xf4bppStippleWindowFS: drawable is not a window\n" ) ; - return ; - } - - if ( pGC->stipple->drawable.depth != 1 ) { - ErrorF("ppcStippleFS: bad depth\ntype = %d, depth = %d\n", - pDrawable->type, pGC->stipple->drawable.depth ) ; - return ; - } - - if ( ( alu = ( (ppcPrivGC *)dixLookupPrivate(&pGC->devPrivates, mfbGetGCPrivateKey()) )->colorRrop.alu ) == GXnoop ) - return ; - - SETSPANPTRS( nInit, n, pwidthInit, pwidthFree, pptInit, - pptFree, pwidth, ppt, fSorted ) ; - - pm = ( (ppcPrivGC *)dixLookupPrivate(&pGC->devPrivates, mfbGetGCPrivateKey()) )->colorRrop.planemask ; - fg = ( (ppcPrivGC *)dixLookupPrivate(&pGC->devPrivates, mfbGetGCPrivateKey()) )->colorRrop.fgPixel ; - - xSrc = pGC->patOrg.x + pDrawable->x ; - ySrc = pGC->patOrg.y + pDrawable->y ; - pTile = pGC->stipple ; - - for ( ; n-- ; ppt++, pwidth++ ) - xf4bppFillStipple( (WindowPtr)pDrawable, pTile, fg, alu, pm, - ppt->x, ppt->y, *pwidth, 1, xSrc, ySrc ) ; - - xfree( pptFree ) ; - xfree( pwidthFree ) ; - - return ; -} - -void -xf4bppOpStippleWindowFS( pDrawable, pGC, nInit, pptInit, pwidthInit, fSorted ) -DrawablePtr pDrawable ; -register GC *pGC ; -int nInit ; /* number of spans to fill */ -DDXPointPtr pptInit ; /* pointer to list of start points */ -int *pwidthInit ; /* pointer to list of n widths */ -int fSorted ; -{ - register DDXPointPtr ppt ; /* pointer to list of start points */ - register int *pwidth ; /* pointer to list of n widths */ - int n ; /* number of spans to fill */ - int xSrc ; - int ySrc ; - unsigned long int pm ; - unsigned long int fg, bg ; - int alu ; - int *pwidthFree ; /* copies of the pointers to free */ - DDXPointPtr pptFree ; - - TRACE( ( "xf4bppOpStippleWindowFS(pDrawable=0x%x,pGC=0x%x,nInit=%d,pptInit=0x%x,pwidthInit=0x%x,fSorted=%d)\n", - pDrawable, pGC, nInit, pptInit, pwidthInit, fSorted ) ) ; - - if ( pGC->stipple->drawable.depth != 1 ) { - ErrorF( "xf4bppOpStippleWindowFS: bad depth\ntype = %d, depth = %d\n", - pDrawable->type, pGC->stipple->drawable.depth ) ; - return ; - } - - if ( ( alu = ( (ppcPrivGC *)dixLookupPrivate(&pGC->devPrivates, mfbGetGCPrivateKey()) )->colorRrop.alu ) == GXnoop ) - return ; - - SETSPANPTRS( nInit, n, pwidthInit, pwidthFree, pptInit, - pptFree, pwidth, ppt, fSorted ) ; - - pm = ( (ppcPrivGC *)dixLookupPrivate(&pGC->devPrivates, mfbGetGCPrivateKey()) )->colorRrop.planemask ; - fg = ( (ppcPrivGC *)dixLookupPrivate(&pGC->devPrivates, mfbGetGCPrivateKey()) )->colorRrop.fgPixel ; - bg = ( (ppcPrivGC *)dixLookupPrivate(&pGC->devPrivates, mfbGetGCPrivateKey()) )->colorRrop.bgPixel ; - - xSrc = pGC->patOrg.x + pDrawable->x ; - ySrc = pGC->patOrg.y + pDrawable->y ; - - for ( ; n-- ; ppt++, pwidth++ ) - xf4bppOpaqueStipple( (WindowPtr)pDrawable, pGC->stipple, fg, bg, alu, pm, - ppt->x, ppt->y, *pwidth, 1, xSrc, ySrc ) ; - - xfree( pptFree ) ; - xfree( pwidthFree ) ; - return ; -} - -void -xf4bppTileWindowFS( pDrawable, pGC, nInit, pptInit, pwidthInit, fSorted ) -DrawablePtr pDrawable ; -register GC *pGC ; -int nInit ; /* number of spans to fill */ -DDXPointPtr pptInit ; /* pointer to list of start points */ -int *pwidthInit ; /* pointer to list of n widths */ -int fSorted ; -{ - /* next three parameters are post-clip */ - register DDXPointPtr ppt ; /* pointer to list of start points */ - register int *pwidth ; /* pointer to list of n widths */ - int n ; /* number of spans to fill */ - unsigned char pm ; - int alu ; - int xSrc ; - int ySrc ; - int *pwidthFree ; /* copies of the pointers to free */ - DDXPointPtr pptFree ; - - TRACE( ( "xf4bppTileWindowFS(pDrawable=0x%x,pGC=0x%x,nInit=%d,pptInit=0x%x,pwidthInit=0x%x,fSorted=%d)\n", - pDrawable, pGC, nInit, pptInit, pwidthInit, fSorted ) ) ; - - if ( ( alu = ( (ppcPrivGC *)dixLookupPrivate(&pGC->devPrivates, mfbGetGCPrivateKey()) )->colorRrop.alu ) == GXnoop ) - return ; - - SETSPANPTRS( nInit, n, pwidthInit, pwidthFree, pptInit, - pptFree, pwidth, ppt, fSorted ) ; - - xSrc = pGC->patOrg.x + pDrawable->x ; - ySrc = pGC->patOrg.y + pDrawable->y ; - pm = ( (ppcPrivGC *)dixLookupPrivate(&pGC->devPrivates, mfbGetGCPrivateKey()) )->colorRrop.planemask ; - - for ( ; n-- ; ppt++, pwidth++ ) - xf4bppTileRect( (WindowPtr)pDrawable, pGC->tile.pixmap, alu, pm, - ppt->x, ppt->y, *pwidth, 1, xSrc, ySrc ) ; - - xfree( pptFree ) ; - xfree( pwidthFree ) ; - return ; -} diff --git a/xorg-server/hw/xfree86/xf4bpp/ppcWindow.c b/xorg-server/hw/xfree86/xf4bpp/ppcWindow.c deleted file mode 100644 index 6165e04b6..000000000 --- a/xorg-server/hw/xfree86/xf4bpp/ppcWindow.c +++ /dev/null @@ -1,220 +0,0 @@ -/* - -Copyright (c) 1987 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 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. - - -Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts, -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. - -*/ - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include - -#include "xf4bpp.h" -#include "mfbmap.h" -#include "mfb.h" -#include "scrnintstr.h" -#include "ibmTrace.h" - -/* - xf4bppCopyWindow copies only the parts of the destination that are -visible in the source. -*/ - -void -xf4bppCopyWindow(pWin, ptOldOrg, prgnSrc) - register WindowPtr pWin ; - DDXPointRec ptOldOrg ; - RegionPtr prgnSrc ; -{ - RegionPtr prgnDst ; - register BoxPtr pbox ; - register int dx, dy ; - register int nbox ; - register int pm ; - - BoxPtr pboxTmp, pboxNext, pboxBase, pboxNew ; - /* temporaries for shuffling rectangles */ - - TRACE(("xf4bppCopyWindow(pWin= 0x%x, ptOldOrg= 0x%x, prgnSrc= 0x%x)\n", pWin, ptOldOrg, prgnSrc)) ; - - - dx = ptOldOrg.x - pWin->drawable.x ; - dy = ptOldOrg.y - pWin->drawable.y ; - REGION_TRANSLATE(pWin->drawable.pScreen, prgnSrc, -dx, -dy); - - prgnDst = REGION_CREATE(pWin->drawable.pScreen, NULL, 1); - REGION_INTERSECT(pWin->drawable.pScreen, prgnDst, - &pWin->borderClip, prgnSrc); - - if ( !( nbox = REGION_NUM_RECTS(prgnDst) ) ) - return; - - pbox = REGION_RECTS(prgnDst); - - pboxNew = 0 ; - if ( nbox > 1 ) { - if ( dy < 0 ) { - if ( dx > 0 ) { - /* walk source bottom to top */ - /* keep ordering in each band, reverse order of bands */ - if ( !( pboxNew = - (BoxPtr) xalloc( sizeof( BoxRec ) * nbox ) ) ) - return ; - pboxBase = pboxNext = pbox+nbox - 1 ; - while ( pboxBase >= pbox ) { - while ( ( pboxNext >= pbox ) - && ( pboxBase->y1 == pboxNext->y1 ) ) - pboxNext-- ; - pboxTmp = pboxNext + 1 ; - while ( pboxTmp <= pboxBase ) - *pboxNew++ = *pboxTmp++ ; - pboxBase = pboxNext ; - } - pboxNew -= nbox ; - pbox = pboxNew ; - } - else { /* dx <= 0 */ - /* we can just reverse the entire list in place */ - /* Do three-position swaps */ - BoxRec tmpBox ; - - pboxBase = pbox ; - pboxNext = pbox + nbox - 1 ; - while ( pboxBase < pboxNext ) { - /* ****** Warning Structure Assignment !! ****** */ - tmpBox = *pboxBase ; - *pboxBase = *pboxNext ; - *pboxNext = tmpBox ; - pboxBase++ ; - pboxNext-- ; - } - } - } - else if ( dx < 0 ) { - /* walk source right to left */ - /* reverse order of rects in each band */ - if ( !( pboxNew = (BoxPtr)xalloc(sizeof(BoxRec) * nbox) ) ) - return ; - pboxBase = pboxNext = pbox ; - while (pboxBase < pbox+nbox) - { - while ((pboxNext < pbox+nbox) && - (pboxNext->y1 == pboxBase->y1)) - pboxNext++ ; - pboxTmp = pboxNext ; - while (pboxTmp != pboxBase) - *pboxNew++ = *--pboxTmp ; - pboxBase = pboxNext ; - } - pboxNew -= nbox ; - pbox = pboxNew ; - } - } /* END if nbox > 1 */ - - /* - * call blit several times, the parms are: - * blit( alu,rplanes, wplanes, srcx, srcy, destx, desty, width, height ) ; - */ - - pm = ( 1 << pWin->drawable.depth ) - 1 ; - for ( ; nbox-- ; pbox++ ) - xf4bppBitBlt( pWin, GXcopy, pm, - pbox->x1 + dx, pbox->y1 + dy, - pbox->x1, pbox->y1, - pbox->x2 - pbox->x1, pbox->y2 - pbox->y1) ; - - /* free up stuff */ - if ( pboxNew ) - xfree( pboxNew ) ; - - REGION_DESTROY(pWin->drawable.pScreen, prgnDst); -} - -Bool xf4bppPositionWindow(pWin, x, y) -register WindowPtr pWin ; -register int x, y ; -{ - return TRUE ; -} - -Bool -xf4bppDestroyWindow(pWin) -register WindowPtr pWin ; -{ -return pWin ? TRUE : FALSE ; -} - -/* As The Name Says -- Used For ega, vga and apa8c */ -Bool -xf4bppCreateWindowForXYhardware(pWin) -register WindowPtr pWin ; -{ - TRACE(("xf4bppCreateWindowForXYhardware (pWin= 0x%x)\n", pWin)); - - return TRUE; -} diff --git a/xorg-server/hw/xfree86/xf4bpp/vgaBitBlt.c b/xorg-server/hw/xfree86/xf4bpp/vgaBitBlt.c deleted file mode 100644 index 2e89f43b7..000000000 --- a/xorg-server/hw/xfree86/xf4bpp/vgaBitBlt.c +++ /dev/null @@ -1,749 +0,0 @@ -/* GJA -- span move routines */ - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include "xf4bpp.h" -#include "OScompiler.h" -#include "vgaReg.h" -#include "vgaVideo.h" - -#include "xf86str.h" /* for pScrn->vtSema */ -extern ScrnInfoPtr *xf86Screens; - -#ifndef PC98_EGC /* not PC98_EGC */ -/* NOTE: It seems that there is no way to program the VGA to copy just - * a part of a byte in the smarter modes. Therefore we copy the boundaries - * plane by plane. - */ -#define WORDSZ 8 - /* The fast blit code requires WORDSZ = 8 for its read-modify write cycle. - * Therefore, we do not fully implement the other options. - */ -#define HIGHPLANEMASK 0x08 -#define HIGHPLANEINDEX 3 - -/* Of course, we want the following anyway: - * (Yes, they're identical now.) - */ -#define SMEM(x,y) ( VIDBASE(pWin) + (y) * BYTES_PER_LINE(pWin) + (x) ) -#define DMEM(x,y) ( VIDBASE(pWin) + (y) * BYTES_PER_LINE(pWin) + (x) ) - -#define WORD8 unsigned char -#define LW8 BYTES_PER_LINE(pWin) /* Line width */ -#define WSHIFT8 0x3 -#define WMASK8 0x07 -/* NOTE: lmask[8] matters. It must be different from lmask[0] */ -static unsigned char lmasktab[] = { - 0x00, 0x80, 0xC0, 0xE0, 0xF0, 0xF8, 0xFC, 0xFE, 0xFF -} ; -static unsigned char rmasktab[] = { - 0xFF, 0x7F, 0x3F, 0x1F, 0x0F, 0x07, 0x03, 0x01, 0x00 -} ; - -#define LMASK8(n) lmasktab[n] -#define RMASK8(n) rmasktab[n] -#define SWAPB8(x) (x) - -#if (WORDSZ == 8) - -#define WORD WORD8 -#define LW LW8 -#define WSHIFT WSHIFT8 -#define WMASK WMASK8 - -#define LMASK(n) LMASK8(n) -#define RMASK(n) RMASK8(n) -#define SWAPB(x) SWAPB8(x) - -#endif /* WORDSZ == 8 */ - -#define DO_ALU(dst,src,mask,alu) {\ - int _ndst, _odst; _odst = dst; \ - switch ( alu ) { \ - case GXclear: \ - _ndst = 0; break; \ - case GXand: \ - _ndst = src & _odst; break; \ - case GXandReverse: \ - _ndst = src & ~ _odst; break; \ - case GXcopy: \ - _ndst = src; break; \ - case GXandInverted: \ - _ndst = ~ src & _odst; break; \ - default: \ - case GXnoop: \ - _ndst = _odst; break; \ - case GXxor: \ - _ndst = src ^ _odst; break; \ - case GXor: \ - _ndst = src | _odst; break; \ - case GXnor: \ - _ndst = ~ src & ~ _odst; break; \ - case GXequiv: \ - _ndst = ~ src ^ _odst; break; \ - case GXinvert: \ - _ndst = ~ _odst; break; \ - case GXorReverse: \ - _ndst = src | ~ _odst; break; \ - case GXcopyInverted: \ - _ndst = ~ src; break; \ - case GXorInverted: \ - _ndst = ~ src | _odst; break; \ - case GXnand: \ - _ndst = ~ src | ~ _odst; break; \ - case GXset: \ - _ndst = ~0; break; \ - } \ - dst = (_odst & ~(mask)) | (_ndst & (mask)); \ - } - -static void aligned_blit( - WindowPtr, int, int, int, int, int, int, int, int -); - -static void aligned_blit_center( - WindowPtr, int, int, int, int, int, int -); - -static void shift( - WindowPtr, int, int, int, int, int, int, int -); - -static void shift_thin_rect( - WindowPtr, int, int, int, int, int, int, int -); - -static void shift_center( - WindowPtr, int, int, int, int, int, int, int -); - -void xf4bppBitBlt(pWin,alu,writeplanes,x0,y0,x1,y1,w,h) -WindowPtr pWin; /* GJA */ -int alu; -int writeplanes; /* planes */ -int x0, y0, x1, y1, w, h; -{ - IOADDRESS REGBASE; - int plane, bit; - - if ( !w || !h ) return; - - if ( ! xf86Screens[((DrawablePtr)pWin)->pScreen->myNum]->vtSema ) { - xf4bppOffBitBlt(pWin,alu,writeplanes,x0,y0,x1,y1,w,h); - return; - } - - REGBASE = - xf86Screens[((DrawablePtr)pWin)->pScreen->myNum]->domainIOBase + 0x300; - - /* 0x7, not WMASK: it is hardware dependant */ - if ( ((x0 - x1) & 0x7) || (alu != GXcopy) ) { - /* Use slow copy */ - SetVideoGraphics(Enb_Set_ResetIndex, 0); /* All from CPU */ - SetVideoGraphics(Bit_MaskIndex, 0xFF); /* All bits */ - SetVideoGraphics(Graphics_ModeIndex, 0); /* Write mode 0 */ - SetVideoGraphics(Data_RotateIndex, 0); /* Don't rotate, replace */ - - for ( plane = HIGHPLANEMASK, bit = HIGHPLANEINDEX ; - plane ; plane >>= 1, bit-- ) - { - - if ( writeplanes & plane) { - SetVideoGraphics(Read_Map_SelectIndex, bit); - SetVideoSequencer(Mask_MapIndex, plane); - - shift(pWin,x0,x1,y0,y1,w,h,alu); - } - } - } else { - aligned_blit(pWin,x0,x1,y0,y1,w,h,alu,writeplanes); - } -} - -/* Copy a span a number of places to the right. - */ -static void -shift(pWin,x0,x1,y0,y1,w,h,alu) -WindowPtr pWin; /* GJA */ -int x0; /* left edge of source */ -int x1; /* left edge of target */ -int y0; -int y1; -int w; /* length of source, and of target */ -int h; -int alu; -{ - if ( ((x1 & WMASK) + w) <= WORDSZ ) { - shift_thin_rect(pWin,x0,x1,y0,y1,w,h,alu); - } else if ( x1 > x0 ) { /* Shift right: start right */ - int l1 = x1 & WMASK, r1 = (x1 + w) & WMASK; - - if ( r1 ) /* right edge */ - shift_thin_rect(pWin,x0+w-r1,x1+w-r1,y0,y1,r1,h,alu); - shift_center(pWin,x0,x1,y0,y1,w,h,alu); - if ( l1 ) /* left edge */ - shift_thin_rect(pWin,x0,x1,y0,y1,(WORDSZ-l1),h,alu); - } else { - int l1 = x1 & WMASK, r1 = (x1 + w) & WMASK; - - if ( l1 ) /* left edge */ - shift_thin_rect(pWin,x0,x1,y0,y1,(WORDSZ-l1),h,alu); - shift_center(pWin,x0,x1,y0,y1,w,h,alu); - if ( r1 ) /* right edge */ - shift_thin_rect(pWin,x0+w-r1,x1+w-r1,y0,y1,r1,h,alu); - } -} - -/* The whole rectangle is so thin that it fits in one byte written */ -static void -shift_thin_rect(pWin,x0,x1,y0,y1,w,h,alu) -WindowPtr pWin; /* GJA */ -int x0; /* left edge of source */ -int x1; /* left edge of target */ -int y0; -int y1; -int w; /* length of source, and of target */ -int h; -int alu; -{ - int l0 = x0 & WMASK; /* Left edge of source, as bit */ - int l1 = x1 & WMASK; /* Left edge of target, as bit */ - int L0 = x0 >> WSHIFT; /* Left edge of source, as byte */ - int L1 = x1 >> WSHIFT; /* Left edge of target, as byte */ - int pad; - int htmp; - int mask; - int tmp; - int bs; - - volatile unsigned char *sp, *dp; - - mask = RMASK(l1) & LMASK(l1+w); - bs = (x1 - x0) & WMASK; - - if ( y1 > y0 ) { /* Move down, start at the bottom */ - pad = - BYTES_PER_LINE(pWin); - sp = SMEM(L0,y0+h-1); - dp = DMEM(L1,y1+h-1); - } else { /* Move up, start at the top */ - pad = BYTES_PER_LINE(pWin); - sp = SMEM(L0,y0); - dp = DMEM(L1,y1); - } - - if ( l0+w > WORDSZ ) { - /* Need two bytes */ - for ( htmp = h ; htmp ; htmp-- ) { - tmp = (sp[0] << (WORDSZ - bs)); - sp++; - tmp |= (sp[0] >> bs); - sp--; - DO_ALU(dp[0],tmp,mask,alu); - dp += pad; - sp += pad; - } - } else if ( l0 <= l1 ) { - /* Need one byte, shifted right */ - for ( htmp = h ; htmp ; htmp-- ) { - tmp = (sp[0] >> bs); - DO_ALU(dp[0],tmp,mask,alu); - dp += pad; - sp += pad; - } - } else { - /* Need one byte, shifted left */ - for ( htmp = h ; htmp ; htmp-- ) { - tmp = (sp[0] << (WORDSZ - bs)); - DO_ALU(dp[0],tmp,mask,alu); - dp += pad; - sp += pad; - } - } -} - -static void -shift_center(pWin,x0,x1,y0,y1,w,h,alu) -WindowPtr pWin; /* GJA */ -int x0; /* left edge of source */ -int x1; /* left edge of target */ -int y0; -int y1; -int w; /* length of source, and of target */ -int h; -int alu; -{ - int l1 = x1 & WMASK; /* Left edge of target, as bit */ - int r1 = (x1 + w) & WMASK; /* Right edge of target, as bit */ - int pad; - int htmp, wtmp; /* Temporaries for indices over height and width */ - volatile unsigned char tmp; /* Temporary result of the shifts */ - int bs; - int rem; /* Remaining bits; temporary in loop */ - int bytecnt; - - volatile unsigned char *sp, *dp; - - bs = (x1 - x0) & WMASK; - - if ( l1 ) { - bytecnt = (w - (WORDSZ - l1) - r1) >> WSHIFT; - sp = SMEM( ((x0 + (WORDSZ - l1)) >> WSHIFT), y0); - dp = DMEM( ((x1 + (WORDSZ - l1)) >> WSHIFT), y1); - } else { - bytecnt = (w - r1) >> WSHIFT; - sp = SMEM( (x0 >> WSHIFT), y0); - dp = DMEM( (x1 >> WSHIFT), y1); - } - - if ( y1 > y0 ) { /* Move down, start at the bottom */ - if ( x1 > x0 ) { /* Move right, start right */ - pad = - BYTES_PER_LINE(pWin) + bytecnt; - sp += BYTES_PER_LINE(pWin) * (h - 1) + bytecnt - 1; - dp += BYTES_PER_LINE(pWin) * (h - 1) + bytecnt - 1; - } else { /* Move left, start left */ - pad = - BYTES_PER_LINE(pWin) - bytecnt; - sp += BYTES_PER_LINE(pWin) * (h - 1); - dp += BYTES_PER_LINE(pWin) * (h - 1); - } - } else { /* Move up, start at the top */ - if ( x1 > x0 ) { /* Move right, start right */ - pad = BYTES_PER_LINE(pWin) + bytecnt; - sp += bytecnt - 1; - dp += bytecnt - 1; - } else { /* Move left, start left */ - pad = BYTES_PER_LINE(pWin) - bytecnt; - sp += 0; - dp += 0; - } - } - - if ( x1 > x0 ) { /* Move right, start right */ - if ( bs == 0 ) { /* No shift. Need one byte only */ - for ( htmp = h ; htmp ; htmp-- ) { - for ( wtmp = bytecnt ; wtmp ; wtmp-- ) { - tmp = sp[0]; - DO_ALU(dp[0],tmp,~0,alu); - dp--; - sp--; - } - dp += pad; - sp += pad; - } - } else { - for ( htmp = h ; htmp ; htmp-- ) { - if ( bytecnt ) { - sp++; - rem = sp[0]; - sp--; - for ( wtmp = bytecnt ; wtmp ; wtmp-- ) { - tmp = (rem >> bs); - rem = sp[0]; - tmp |= (rem << (WORDSZ - bs)) ; - DO_ALU(dp[0],tmp,~0,alu); - dp--; - sp--; - } - } - dp += pad; - sp += pad; - } - } - } else { /* x1 <= x0 */ /* Move left, start left */ - if ( bs == 0 ) { /* No shift. Need one byte only */ - for ( htmp = h ; htmp ; htmp-- ) { - for ( wtmp = bytecnt ; wtmp ; wtmp-- ) { - tmp = sp[0]; - DO_ALU(dp[0],tmp,~0,alu); - dp++; - sp++; - } - dp += pad; - sp += pad; - } - } else { - for ( htmp = h ; htmp ; htmp-- ) { - if ( bytecnt ) { - rem = sp[0]; - for ( wtmp = bytecnt ; wtmp ; wtmp-- ) { - tmp = (rem << (WORDSZ - bs)); - sp++; - rem = sp[0]; - sp--; - tmp |= (rem >> bs); - DO_ALU(dp[0],tmp,~0,alu); - dp++; - sp++; - } - } - dp += pad; - sp += pad; - } - } - } -} - -/* Copy a rectangle. - */ -static void -aligned_blit(pWin,x0,x1,y0,y1,w,h,alu,planes) -WindowPtr pWin; /* GJA */ -int x0; /* left edge of source */ -int x1; /* left edge of target */ -int y0; -int y1; -int w; /* length of source, and of target */ -int h; -int alu; -int planes; -{ - IOADDRESS REGBASE = - xf86Screens[((DrawablePtr)pWin)->pScreen->myNum]->domainIOBase + 0x300; - int plane, bit; - - if ( ((x1 & WMASK) + w) <= WORDSZ ) { - SetVideoGraphics(Enb_Set_ResetIndex, 0); /* All from CPU */ - SetVideoGraphics(Bit_MaskIndex, 0xFF); /* All bits */ - SetVideoGraphics(Graphics_ModeIndex, 0); /* Write mode 0 */ - SetVideoGraphics(Data_RotateIndex, 0); /* Don't rotate, replace */ - - for ( plane = HIGHPLANEMASK, bit = HIGHPLANEINDEX; - plane ; plane >>= 1, bit-- ) - { - if ( planes & plane) { - SetVideoGraphics(Read_Map_SelectIndex, bit); - SetVideoSequencer(Mask_MapIndex, plane); - - shift_thin_rect(pWin,x0,x1,y0,y1,w,h,alu); - } - } - } else if ( x1 > x0 ) { /* Shift right: start right */ - int l1 = x1 & WMASK, r1 = (x1 + w) & WMASK; - - if ( r1 ) { /* right edge */ - SetVideoGraphics(Enb_Set_ResetIndex, 0); /* All from CPU */ - SetVideoGraphics(Bit_MaskIndex, 0xFF); /* All bits */ - SetVideoGraphics(Graphics_ModeIndex, 0); /* Write mode 0 */ - SetVideoGraphics(Data_RotateIndex, 0); /* Don't rotate, replace */ - - for ( plane = HIGHPLANEMASK, bit = HIGHPLANEINDEX; - plane ; plane >>= 1, bit-- ) - { - if ( planes & plane) { - SetVideoGraphics(Read_Map_SelectIndex, bit); - SetVideoSequencer(Mask_MapIndex, plane); - - shift_thin_rect(pWin,x0+w-r1,x1+w-r1,y0,y1,r1,h,alu); - } - } - } - - /* Center */ - SetVideoGraphics(Graphics_ModeIndex, 1); /* Write mode 1 */ - SetVideoSequencer(Mask_MapIndex, planes); - - aligned_blit_center(pWin,x0,x1,y0,y1,w,h); - - if ( l1 ) { /* left edge */ - SetVideoGraphics(Enb_Set_ResetIndex, 0); /* All from CPU */ - SetVideoGraphics(Bit_MaskIndex, 0xFF); /* All bits */ - SetVideoGraphics(Graphics_ModeIndex, 0); /* Write mode 0 */ - SetVideoGraphics(Data_RotateIndex, 0); /* Don't rotate, replace */ - - for ( plane = HIGHPLANEMASK, bit = HIGHPLANEINDEX; - plane ; plane >>= 1, bit-- ) - { - if ( planes & plane) { - SetVideoGraphics(Read_Map_SelectIndex, bit); - SetVideoSequencer(Mask_MapIndex, plane); - - shift_thin_rect(pWin,x0,x1,y0,y1,(WORDSZ-l1),h,alu); - } - } - } - } else { - int l1 = x1 & WMASK, r1 = (x1 + w) & WMASK; - - if ( l1 ) { /* left edge */ - SetVideoGraphics(Enb_Set_ResetIndex, 0); /* All from CPU */ - SetVideoGraphics(Bit_MaskIndex, 0xFF); /* All bits */ - SetVideoGraphics(Graphics_ModeIndex, 0); /* Write mode 0 */ - SetVideoGraphics(Data_RotateIndex, 0); /* Don't rotate, replace */ - - for ( plane = HIGHPLANEMASK, bit = HIGHPLANEINDEX; - plane ; plane >>= 1, bit-- ) - { - if ( planes & plane) { - SetVideoGraphics(Read_Map_SelectIndex, bit); - SetVideoSequencer(Mask_MapIndex, plane); - - shift_thin_rect(pWin,x0,x1,y0,y1,(WORDSZ-l1),h,alu); - } - } - } - - /* Center */ - SetVideoGraphics(Graphics_ModeIndex, 1); /* Write mode 1 */ - SetVideoSequencer(Mask_MapIndex, planes); - - aligned_blit_center(pWin,x0,x1,y0,y1,w,h); - - if ( r1 ) { /* right edge */ - SetVideoGraphics(Enb_Set_ResetIndex, 0); /* All from CPU */ - SetVideoGraphics(Bit_MaskIndex, 0xFF); /* All bits */ - SetVideoGraphics(Graphics_ModeIndex, 0); /* Write mode 0 */ - SetVideoGraphics(Data_RotateIndex, 0); /* Don't rotate, replace */ - - for ( plane = HIGHPLANEMASK, bit = HIGHPLANEINDEX ; - plane ; plane >>= 1, bit-- ) - { - if ( planes & plane) { - SetVideoGraphics(Read_Map_SelectIndex, bit); - SetVideoSequencer(Mask_MapIndex, plane); - - shift_thin_rect(pWin,x0+w-r1,x1+w-r1,y0,y1,r1,h,alu); - } - } - } - } -} - -static void -aligned_blit_center(pWin,x0,x1,y0,y1,w,h) -WindowPtr pWin; /* GJA */ -int x0; /* left edge of source */ -int x1; /* left edge of target */ -int y0; -int y1; -int w; /* length of source, and of target */ -int h; -{ - int l1 = x1 & WMASK; /* Left edge of target, as bit */ - int r1 = (x1 + w) & WMASK; /* Right edge of target, as bit */ - int pad; - int htmp, wtmp; /* Temporaries for indices over height and width */ - volatile unsigned char tmp; /* Temporary result of the shifts */ - int bytecnt; - - volatile unsigned char *sp, *dp; - - if ( l1 ) { - bytecnt = (w - (WORDSZ - l1) - r1) >> WSHIFT; - sp = SMEM( ((x0 + (WORDSZ - l1)) >> WSHIFT), y0); - dp = DMEM( ((x1 + (WORDSZ - l1)) >> WSHIFT), y1); - } else { - bytecnt = (w - r1) >> WSHIFT; - sp = SMEM( (x0 >> WSHIFT), y0); - dp = DMEM( (x1 >> WSHIFT), y1); - } - - if ( y1 > y0 ) { /* Move down, start at the bottom */ - if ( x1 > x0 ) { /* Move right, start right */ - pad = - BYTES_PER_LINE(pWin) + bytecnt; - sp += BYTES_PER_LINE(pWin) * (h - 1) + bytecnt - 1; - dp += BYTES_PER_LINE(pWin) * (h - 1) + bytecnt - 1; - } else { /* Move left, start left */ - pad = - BYTES_PER_LINE(pWin) - bytecnt; - sp += BYTES_PER_LINE(pWin) * (h - 1); - dp += BYTES_PER_LINE(pWin) * (h - 1); - } - } else { /* Move up, start at the top */ - if ( x1 > x0 ) { /* Move right, start right */ - pad = BYTES_PER_LINE(pWin) + bytecnt; - sp += bytecnt - 1; - dp += bytecnt - 1; - } else { /* Move left, start left */ - pad = BYTES_PER_LINE(pWin) - bytecnt; - sp += 0; - dp += 0; - } - } - - if ( x1 > x0 ) { /* Move right, start right */ - for ( htmp = h ; htmp ; htmp-- ) { - for ( wtmp = bytecnt ; wtmp ; wtmp-- ) { - tmp = sp[0]; - dp[0] = tmp; - dp--; - sp--; - } - dp += pad; - sp += pad; - } - } else { /* x1 <= x0 */ /* Move left, start left */ - for ( htmp = h ; htmp ; htmp-- ) { - for ( wtmp = bytecnt ; wtmp ; wtmp-- ) { - tmp = sp[0]; - dp[0] = tmp; - dp++; - sp++; - } - dp += pad; - sp += pad; - } - } -} -#else /* PC98_EGC */ - -static void -egc_fast_blt (pWin, alu, writeplanes, x0, y0, x1, y1, w, h) -WindowPtr pWin; -const int alu, writeplanes ; -register int x0, x1 ; -int y0, y1 ; -register int w, h ; -{ -register volatile unsigned char *src ; -register volatile unsigned char *dst ; -unsigned short *src_x ; -unsigned short *dst_x ; -int x_direction, y_interval ; -int src_off, dst_off ; -register int k, i ; -unsigned short ROP_value; - -src = (unsigned char *)SCREENADDRESS( pWin, 0, y0); -dst = (unsigned char *)SCREENADDRESS( pWin, 0, y1); - -/* Set Map Mask */ -outw(EGC_PLANE, ~(writeplanes & VGA_ALLPLANES)); -switch(alu) { -case GXnor: /* ~(S|D) */ - ROP_value = 0x2903; - break; -case GXandInverted: /* ~S&D */ - ROP_value = 0x290c; - break; -case GXand: /* S&D */ - ROP_value = 0x29c0; - break; -case GXequiv: /* ~S ^ D */ - ROP_value = 0x29c3; - break; -case GXxor: /* S^D */ - ROP_value = 0x293c; - break; -case GXandReverse: /* S&~D */ - ROP_value = 0x2930; - break; -case GXorReverse: /* S|~D */ - ROP_value = 0x29f3; - break; -case GXnand: /* ~(S&D) */ - ROP_value = 0x293f; - break; -case GXorInverted: /* ~S|D */ - ROP_value = 0x29cf; - break; -case GXor: /* S|D */ - ROP_value = 0x29fa; - break; -case GXcopyInverted: /* ~S */ - ROP_value = 0x290f; - break; -case GXcopy: /* S */ -default: - ROP_value = 0x29f0; -} -outw(EGC_MODE, ROP_value); -if ( y1 > y0 ) { - y_interval = - BYTES_PER_LINE(pWin) * 8 ; - src += BYTES_PER_LINE(pWin) * ( h - 1 ) ; - dst += BYTES_PER_LINE(pWin) * ( h - 1 ) ; -} -else { - y_interval = BYTES_PER_LINE(pWin) * 8 ; -} - -src = (unsigned char *)((int)src << 3) ; -dst = (unsigned char *)((int)dst << 3) ; - -if ( y1 > y0) { - x_direction = 0x1000 ; - src += x0 + w - 1 ; - dst += x1 + w - 1 ; -} else if ( y1 < y0 ) { - x_direction = 0 ; - src += x0 ; - dst += x1 ; -} else { - if ( x1 < x0 ) { - x_direction = 0 ; - src += x0 ; - dst += x1 ; - } else { - x_direction = 0x1000 ; - src += x0 + w - 1 ; - dst += x1 + w - 1 ; - } -} - outw ( EGC_LENGTH , w - 1 ) ; - -for ( ; h-- ; ) { - if ( x_direction ) { - src_off = 15 - (int)src & 0xf ; - dst_off = 15 - (int)dst & 0xf ; - } else { - src_off = (int)src & 0xf ; - dst_off = (int)dst & 0xf ; - } -#if defined(__NetBSD__) || defined(__OpenBSD__) - src_x = (unsigned short *)(((unsigned int)src >> 4 ) << 1) ; - dst_x = (unsigned short *)(((unsigned int)dst >> 4 ) << 1) ; -#else - src_x = (unsigned short *)(((int)src >> 4 ) << 1) ; - dst_x = (unsigned short *)(((int)dst >> 4 ) << 1) ; -#endif - k = ( src_off + w + 15 ) >> 4 ; - if ( src_off < dst_off ) { - if ( ((src_off + w - 1 ) >> 4) < ((dst_off + w - 1) >> 4)) k++ ; - } - if ( src_off > dst_off ) { - if ( ((src_off + w - 1) >> 4 ) == ((dst_off + w - 1) >> 4) ) k++ ; - if ( x_direction ) dst_x ++ ; - else dst_x -- ; - } - outw ( EGC_ADD , x_direction | src_off | dst_off << 4 ); - if ( x_direction ) { - wcopyl ( src_x, dst_x, k, VIDBASE(pWin) ) ; - } else { - wcopyr ( src_x, dst_x, k, VIDBASE(pWin) ) ; - } -src += y_interval ; -dst += y_interval ; -} -outw ( EGC_ADD, 0 ) ; -outw ( EGC_LENGTH , 0xf ); -return; -} - -void -xf4bppBitBlt( pWin,alu, writeplanes, x0, y0, x1, y1, w, h ) -WindowPtr pWin; /* GJA */ -int alu; -int writeplanes; /* planes */ -int x0, y0, x1, y1, w, h; -{ - if ( ! xf86Screens[((DrawablePtr)pWin)->pScreen->myNum]->vtSema ) { - xf4bppOffBitBlt( pWin, alu, writeplanes, - x0, y0, x1, y1, w, h ); - return; - } - -switch ( alu ) { - case GXclear: /* 0x0 Zero 0 */ - case GXinvert: /* 0xa NOT dst */ - case GXset: /* 0xf 1 */ - xf4bppFillSolid( pWin, VGA_ALLPLANES, alu, writeplanes, x1, y1, w, h ) ; - /* x1, y1, GJA */ - case GXnoop: /* 0x5 dst */ - return ; - default: - break ; -} - -egc_fast_blt ( pWin, alu, writeplanes, x0, y0, x1, y1, w, h); -return; -} -#endif diff --git a/xorg-server/hw/xfree86/xf4bpp/vgaGC.c b/xorg-server/hw/xfree86/xf4bpp/vgaGC.c deleted file mode 100644 index 6495e5638..000000000 --- a/xorg-server/hw/xfree86/xf4bpp/vgaGC.c +++ /dev/null @@ -1,213 +0,0 @@ -/* - -Copyright (c) 1987 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 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. - - -Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts, -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. - -*/ - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include "xf4bpp.h" -#include "mfbmap.h" -#include "mfb.h" -#include "mi.h" -#include "ppcGCstr.h" - -void -xf4bppChangeGCtype( pGC, devPriv ) -register GC *pGC ; -register ppcPrivGCPtr devPriv ; -{ - if ( devPriv->lastDrawableType == DRAWABLE_PIXMAP ) { - pGC->ops->CopyArea = miCopyArea ; - pGC->ops->PolyFillRect = miPolyFillRect ; - pGC->ops->PushPixels = miPushPixels ; - pGC->ops->PolyArc = miPolyArc ; - pGC->ops->PolyFillArc = miPolyFillArc ; - pGC->ops->PolySegment = miPolySegment ; - } - else { - pGC->ops->CopyArea = xf4bppCopyArea ; - pGC->ops->PolyFillRect = xf4bppPolyFillRect ; - pGC->ops->PushPixels = miPushPixels ; /* GJA */ - pGC->ops->PolyArc = xf4bppZeroPolyArc ; - pGC->ops->PolyFillArc = xf4bppPolyFillArc ; - pGC->ops->PolySegment = xf4bppSegmentSS ; - } - return; -} - -Mask -xf4bppChangeWindowGC( pGC, changes ) -register GC *pGC ; -register Mask changes ; -{ -register ppcPrivGCPtr devPriv = (ppcPrivGCPtr)dixLookupPrivate(&pGC->devPrivates, mfbGetGCPrivateKey()); -register unsigned long int idx ; /* used for stepping through bitfields */ - -#define LOWBIT( x ) ( x & - x ) /* Two's complement */ - while ((idx = LOWBIT(changes))) { - switch ( idx ) { - - case GCLineStyle: - case GCLineWidth: - pGC->ops->PolyArc = ( ( pGC->lineStyle == LineSolid ) - ? ( ( pGC->lineWidth == 0 ) ? xf4bppZeroPolyArc - : miPolyArc ) - : miPolyArc ) ; - pGC->ops->PolySegment = ( ( pGC->lineStyle == LineSolid ) - ? ( ( pGC->lineWidth == 0 ) - ? ( ( pGC->fillStyle == FillSolid ) ? - xf4bppSegmentSS : miPolySegment ) - : miPolySegment ) - : ( ( pGC->lineWidth == 0 ) - ? ( ( pGC->fillStyle == FillSolid ) ? - xf4bppSegmentSD : miPolySegment ) - : miPolySegment ) ) ; - pGC->ops->Polylines = ( ( pGC->lineStyle == LineSolid ) - ? ( ( pGC->lineWidth == 0 ) - ? ( (pGC->fillStyle == FillSolid ) ? - xf4bppLineSS : miZeroLine ) - : miWideLine ) - : ( ( pGC->lineWidth == 0 ) - ? ( (pGC->fillStyle == FillSolid ) ? - xf4bppLineSD : miWideDash ) - : miWideDash ) ) ; - /* - * If these are just square boxes with no funny business - * going on we can call the fast routine that draws - * rectangles without floating point. - */ -/* too buggy */ -#if 0 - if ( ( pGC->lineStyle == LineSolid ) - && ( pGC->joinStyle == JoinMiter ) - && ( pGC->lineWidth != 0 ) ) - pGC->ops->PolyRectangle = xf4bppPolyRectangle; - else -#endif - pGC->ops->PolyRectangle = miPolyRectangle; - - changes &= ~( GCLineStyle | GCLineWidth ) ; - break ; - case GCJoinStyle: - /* - * If these are just square boxes with no funny business - * going on we can call the fast routine that draws - * rectangles without floating point. - */ -/* too buggy */ -#if 0 - if ( ( pGC->lineStyle == LineSolid ) - && ( pGC->joinStyle == JoinMiter ) - && ( pGC->lineWidth != 0 ) ) - pGC->ops->PolyRectangle = xf4bppPolyRectangle; - else -#endif - pGC->ops->PolyRectangle = miPolyRectangle; - changes &= ~ idx ; /* i.e. changes &= ~ GCJoinStyle */ - break ; - - case GCBackground: - if ( pGC->fillStyle != FillOpaqueStippled ) { - changes &= ~ idx ; /* i.e. changes &= ~GCBackground */ - break ; - } /* else Fall Through */ - case GCForeground: - if ( pGC->fillStyle == FillTiled ) { - changes &= ~ idx ; /* i.e. changes &= ~GCForeground */ - break ; - } /* else Fall Through */ - case GCFunction: - case GCPlaneMask: - case GCFillStyle: - { /* new_fill */ - int fillStyle = devPriv->colorRrop.fillStyle ; - /* install a suitable fillspans */ - if ( fillStyle == FillSolid ) - pGC->ops->FillSpans = xf4bppSolidWindowFS ; - else if ( fillStyle == FillStippled ) - pGC->ops->FillSpans = xf4bppStippleWindowFS ; - else if ( fillStyle == FillOpaqueStippled ) - pGC->ops->FillSpans = xf4bppOpStippleWindowFS ; - else /* fillStyle == FillTiled */ - pGC->ops->FillSpans = xf4bppTileWindowFS ; - } /* end of new_fill */ - changes &= ~( GCBackground | GCForeground - | GCFunction - | GCPlaneMask | GCFillStyle ) ; - break ; - - default: - ErrorF("xf4bppChangeWindowGC: Unexpected GC Change\n") ; - changes &= ~ idx ; /* Remove it anyway */ - break ; - } - } - return changes; -} diff --git a/xorg-server/hw/xfree86/xf4bpp/vgaImages.c b/xorg-server/hw/xfree86/xf4bpp/vgaImages.c deleted file mode 100644 index bea2d0a17..000000000 --- a/xorg-server/hw/xfree86/xf4bpp/vgaImages.c +++ /dev/null @@ -1,460 +0,0 @@ -/* - * 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. - * -*/ - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include "xf4bpp.h" -#include "OScompiler.h" -#include "vgaReg.h" -#include "vgaVideo.h" - -#include "xf86str.h" /* for pScrn->vtSema */ -extern ScrnInfoPtr *xf86Screens; - -#undef TRUE -#undef FALSE -#define TRUE 1 -#define FALSE 0 - -void -xf4bppDrawColorImage( pWin, x, y, w, h, data, RowIncrement, alu, planes ) -WindowPtr pWin; /* GJA */ -int x, y ; -register int w, h ; -unsigned char *data ; -register int RowIncrement ; -const int alu ; -const unsigned long int planes ; -{ -IOADDRESS REGBASE; -register unsigned long int tmp ; -register const unsigned char *src ; -register volatile unsigned char *dst ; -register int Pixel_Count ; -register unsigned int currMask ; -register unsigned int InitialMask ; -register volatile unsigned char *StartByte ; -unsigned int invert_source_data = FALSE ; -#ifdef PC98_EGC /* new EGC test */ -register unsigned char tmp1; -#endif - -{ /* Start GJA */ - if ( !xf86Screens[((DrawablePtr)pWin)->pScreen->myNum]->vtSema ) { - xf4bppOffDrawColorImage( pWin, x, y, w, h, data, RowIncrement, alu, planes ); - return; - } -} /* End GJA */ - -{ - unsigned int invert_existing_data = FALSE ; - unsigned int data_rotate_value = VGA_COPY_MODE ; -#ifdef PC98_EGC - unsigned short ROP_value; -#endif - - REGBASE = 0x300 + - xf86Screens[((DrawablePtr)pWin)->pScreen->myNum]->domainIOBase; - - switch ( alu ) { - case GXclear: /* 0x0 Zero 0 */ - case GXinvert: /* 0xa NOT dst */ - case GXset: /* 0xf 1 */ - xf4bppFillSolid( pWin, VGA_ALLPLANES, alu, planes, x, y, w, h ) ; - case GXnoop: /* 0x5 dst */ - return ; - case GXnor: /* 0x8 NOT src AND NOT dst */ - invert_existing_data = TRUE ; - case GXandInverted: /* 0x4 NOT src AND dst */ - invert_source_data = TRUE ; - case GXand: /* 0x1 src AND dst */ - data_rotate_value = VGA_AND_MODE ; - break ; - case GXequiv: /* 0x9 NOT src XOR dst */ - invert_source_data = TRUE ; - case GXxor: /* 0x6 src XOR dst */ - data_rotate_value = VGA_XOR_MODE ; - break ; - case GXandReverse: /* 0x2 src AND NOT dst */ - invert_existing_data = TRUE ; - data_rotate_value = VGA_AND_MODE ; - break ; - case GXnand: /* 0xe NOT src OR NOT dst */ - invert_source_data = TRUE ; - case GXorReverse: /* 0xb src OR NOT dst */ - invert_existing_data = TRUE ; - /* GJA -- moved this here */ - data_rotate_value = VGA_OR_MODE ; - break ; - case GXorInverted: /* 0xd NOT src OR dst */ - invert_source_data = TRUE ; - case GXor: /* 0x7 src OR dst */ - data_rotate_value = VGA_OR_MODE ; - break ; - case GXcopyInverted: /* 0xc NOT src */ - invert_source_data = TRUE ; - case GXcopy: /* 0x3 src */ - default: - break ; - } - -#ifdef PC98_EGC - /* Setup EGC Registers */ - switch(data_rotate_value) { -/* EGC MODE.. Cmp Read: Flase, WriteSource=ROP, ReadSource=CPU */ - case VGA_AND_MODE: - if (invert_existing_data) - ROP_value = EGC_AND_INV_MODE; - else - ROP_value = EGC_AND_MODE; - break; - case VGA_OR_MODE: - if (invert_existing_data) - ROP_value = EGC_OR_INV_MODE; - else - ROP_value = EGC_OR_MODE; - break; - case VGA_XOR_MODE: - if (invert_existing_data) - ROP_value = EGC_XOR_INV_MODE; - else - ROP_value = EGC_XOR_MODE; - break; - case VGA_COPY_MODE: - default: - ROP_value = EGC_COPY_MODE; - break; - } - outw(EGC_PLANE, ~(planes & VGA_ALLPLANES)); - outw(EGC_MODE, ROP_value); - outw(EGC_FGC, 0x0000); - tmp1 = 0; -#else - if ( invert_existing_data ) - xf4bppFillSolid( pWin, VGA_ALLPLANES, GXinvert, planes, x, y, w, h ) ; - /* Setup VGA Registers */ - SetVideoSequencer( Mask_MapIndex, planes & VGA_ALLPLANES ) ; - /* Set Raster Op */ - SetVideoGraphics( Data_RotateIndex, data_rotate_value ) ; - SetVideoGraphics( Graphics_ModeIndex, VGA_WRITE_MODE_2 ) ; -#endif -} - -StartByte = SCREENADDRESS(pWin, x, y); -InitialMask = SCRRIGHT8( LeftmostBit, BIT_OFFSET( x ) ) ; -if ( invert_source_data ) -#ifdef PC98_EGC -#if 0 /* New EGC version */ - egc_image_invert ( StartByte, data, InitialMask, w, h, - RowIncrement ) ; -#else /* new EGC c version */ - for ( ; - h-- ; - data += RowIncrement, StartByte += BYTES_PER_LINE(pWin) ) { - dst = StartByte; - for ( src = data, - Pixel_Count = w, currMask = InitialMask ; - Pixel_Count-- ; - src++ ) { - if (tmp1 != (~*src & VGA_ALLPLANES)) { - tmp1 = ~*src & VGA_ALLPLANES; - /* set FGC */ - outw(EGC_FGC, ~*src & VGA_ALLPLANES); - } - *((VgaMemoryPtr) dst) = currMask; - if ( currMask & RightmostBit ) { - currMask = LeftmostBit ; - dst++; - } - else - currMask = SCRRIGHT8( currMask, 1 ) ; - } - } -#endif /* new EGC */ -#else /* original */ - for ( ; - h-- ; - data += RowIncrement, StartByte += BYTES_PER_LINE(pWin) ) { - dst = StartByte; - for ( src = data, - Pixel_Count = w, currMask = InitialMask ; - Pixel_Count-- ; - src++ ) { - /* Set The Bit Mask Reg */ - SetVideoGraphics( Bit_MaskIndex, currMask ) ; - /* Read To Load vga Data Latches */ - tmp = *( (VgaMemoryPtr) dst ) ; - (void) tmp; - *( (VgaMemoryPtr) dst ) = ~ *src ; - if ( currMask & RightmostBit ) { - currMask = LeftmostBit ; - dst++; - } - else - currMask = SCRRIGHT8( currMask, 1 ) ; - } - } -#endif -else /* invert_source_data == FALSE */ -#ifdef PC98_EGC -#if 0 /* new EGC version */ - egc_image ( StartByte, data, InitialMask, w, h, - RowIncrement ); -#else /* new EGC c version */ - for ( ; - h-- ; - data += RowIncrement, StartByte += BYTES_PER_LINE(pWin) ) { - dst = StartByte; - for ( src = data, - Pixel_Count = w, currMask = InitialMask ; - Pixel_Count-- ; - src++ ) { - if (tmp1 != *src & VGA_ALLPLANES) { - tmp1 = *src & VGA_ALLPLANES; - outw(EGC_FGC, tmp1); /* set FGC */ - } - *((VgaMemoryPtr) dst) = currMask; /* write with mask */ - if ( currMask & RightmostBit ) { - currMask = LeftmostBit ; - dst++; - } - else - currMask = SCRRIGHT8( currMask, 1 ) ; - } - } -#endif /* new EGC version */ -#else /* original */ - for ( ; - h-- ; - data += RowIncrement, StartByte += BYTES_PER_LINE(pWin) ) { - dst = StartByte; - for ( src = data, - Pixel_Count = w, currMask = InitialMask ; - Pixel_Count-- ; - src++ ) { - /* Set The Bit Mask Reg */ - SetVideoGraphics( Bit_MaskIndex, currMask ) ; /* GJA */ - /* Read To Load vga Data Latches */ - tmp = *( (VgaMemoryPtr) dst ) ; - (void) tmp; - *( (VgaMemoryPtr) dst ) = *src ; - if ( currMask & RightmostBit ) { - currMask = LeftmostBit ; - dst++; - } - else - currMask = SCRRIGHT8( currMask, 1 ) ; - } - } -#endif /* original */ - -return ; -} - -#ifndef PC98_EGC -static unsigned long int -read8Z -( - IOADDRESS REGBASE, - register volatile unsigned char *screen_ptr -) -{ -register unsigned long int i ; -register unsigned long int j ; - -/* Read One Byte At A Time to get - * i == [ Plane 3 ] [ Plane 2 ] [ Plane 1 ] [ Plane 0 ] - * into a single register - */ -SetVideoGraphicsData( 3 ) ; -i = *( (VgaMemoryPtr) screen_ptr ) << 8 ; -SetVideoGraphicsData( 2 ) ; -i |= *( (VgaMemoryPtr) screen_ptr ) ; -i <<= 8 ; -SetVideoGraphicsData( 1 ) ; -i |= *( (VgaMemoryPtr) screen_ptr ) ; -i <<= 8 ; -SetVideoGraphicsData( 0 ) ; -i |= *( (VgaMemoryPtr) screen_ptr ) ; - -/* Push Bits To Get - * j == [Pixel 7][Pixel 6][Pixel 5][Pixel 4][Pixel 3][Pixel 2][Pixel 1][Pixel 0] - * into one register - */ - -j = ( i & 0x1 ) << 4 ; -j |= ( i >>= 1 ) & 0x1 ; -j <<= 4 ; -j |= ( i >>= 1 ) & 0x1 ; -j <<= 4 ; -j |= ( i >>= 1 ) & 0x1 ; -j <<= 4 ; -j |= ( i >>= 1 ) & 0x1 ; -j <<= 4 ; -j |= ( i >>= 1 ) & 0x1 ; -j <<= 4 ; -j |= ( i >>= 1 ) & 0x1 ; -j <<= 4 ; -j |= ( i >>= 1 ) & 0x1 ; - -j |= ( i & 0x2 ) << 28 ; -j |= ( ( i >>= 1 ) & 0x2 ) << 24 ; -j |= ( ( i >>= 1 ) & 0x2 ) << 20 ; -j |= ( ( i >>= 1 ) & 0x2 ) << 16 ; -j |= ( ( i >>= 1 ) & 0x2 ) << 12 ; -j |= ( ( i >>= 1 ) & 0x2 ) << 8 ; -j |= ( ( i >>= 1 ) & 0x2 ) << 4 ; -j |= ( i >>= 1 ) & 0x2 ; - -j |= ( i & 0x4 ) << 28 ; -j |= ( ( i >>= 1 ) & 0x4 ) << 24 ; -j |= ( ( i >>= 1 ) & 0x4 ) << 20 ; -j |= ( ( i >>= 1 ) & 0x4 ) << 16 ; -j |= ( ( i >>= 1 ) & 0x4 ) << 12 ; -j |= ( ( i >>= 1 ) & 0x4 ) << 8 ; -j |= ( ( i >>= 1 ) & 0x4 ) << 4 ; -j |= ( i >>= 1 ) & 0x4 ; - -j |= ( i & 0x8 ) << 28 ; -j |= ( ( i >>= 1 ) & 0x8 ) << 24 ; -j |= ( ( i >>= 1 ) & 0x8 ) << 20 ; -j |= ( ( i >>= 1 ) & 0x8 ) << 16 ; -j |= ( ( i >>= 1 ) & 0x8 ) << 12 ; -j |= ( ( i >>= 1 ) & 0x8 ) << 8 ; -j |= ( ( i >>= 1 ) & 0x8 ) << 4 ; -j |= ( i >>= 1 ) & 0x8 ; - -return j ; -} -#endif /* not PC98_EGC */ - -void -xf4bppReadColorImage( pWin, x, y, lx, ly, data, RowIncrement ) -WindowPtr pWin; /* GJA */ -int x, y ; -int lx, ly ; -register unsigned char *data ; -int RowIncrement ; -{ -IOADDRESS REGBASE; -register unsigned long int tmp ; -register volatile unsigned char *src ; -volatile unsigned char *masterSrc ; -int savCenterWidth ; -int dx ; -int skip ; -int center_width ; -int ignore ; -int pad ; -unsigned char tmpc; - -{ /* Start GJA */ - if ( !xf86Screens[((DrawablePtr)pWin)->pScreen->myNum]->vtSema ) { - xf4bppOffReadColorImage( pWin, x, y, lx, ly, data, RowIncrement ); - return; - } -} /* End GJA */ - -if ( ( lx <= 0 ) || ( ly <= 0 ) ) - return ; - - REGBASE = 0x300 + - xf86Screens[((DrawablePtr)pWin)->pScreen->myNum]->domainIOBase; - -/* Setup VGA Registers */ -#ifndef PC98_EGC -SetVideoGraphicsIndex( Graphics_ModeIndex ) ; -tmpc = inb( GraphicsDataRegister ); -SetVideoGraphicsData( tmpc & ~0x8 ) ; /* Clear the bit */ -SetVideoGraphicsIndex( Read_Map_SelectIndex ) ; -#else -outw(EGC_MODE, 0x0800); -#endif - -skip = BIT_OFFSET( x ) ; -pad = RowIncrement - lx ; -ignore = BIT_OFFSET( x + lx ) ; -masterSrc = SCREENADDRESS( pWin, x, y ) ; -center_width = ROW_OFFSET( x + lx ) - ROW_OFFSET( ( x + 0x7 ) & ~0x7 ) ; - -#define SINGLE_STEP *data++ = tmp & VGA_ALLPLANES ; tmp >>= 4 - - -if ( center_width < 0 ) { - src = masterSrc; - for ( ; ly-- ; ) { - tmp = read8Z( REGBASE, src ) >> ( skip << 2 ) ; - for ( dx = lx + 1 ; --dx ; ) { - SINGLE_STEP ; - } - data += pad ; - src += BYTES_PER_LINE(pWin); - } -} else - for ( savCenterWidth = center_width ; - ly-- ; - center_width = savCenterWidth, - masterSrc += BYTES_PER_LINE(pWin) ) { - src = masterSrc ; - tmp = read8Z( REGBASE, src ) ; src++; - if ((dx = skip)) - tmp >>= ( dx << 2 ) ; - else - if ( lx < 8 ) { /* kludge -- GJA */ - --center_width ; /* kludge -- GJA */ - dx = 8 - lx ; /* kludge -- GJA */ - } else /* kludge -- GJA */ - --center_width ; - BranchPoint: - switch ( dx ) { - LoopTop: - case 0x0: SINGLE_STEP ; - case 0x1: SINGLE_STEP ; - case 0x2: SINGLE_STEP ; - case 0x3: SINGLE_STEP ; - case 0x4: SINGLE_STEP ; - case 0x5: SINGLE_STEP ; - case 0x6: SINGLE_STEP ; - case 0x7: *data++ = tmp & VGA_ALLPLANES ; - - /* Fall Through To End Of Inner Loop */ - if ( center_width > 0 ) { - tmp = read8Z( REGBASE, src ) ; src++; - center_width-- ; - goto LoopTop ; - } - else if ( ( center_width == 0 ) - && ( dx = ( - ignore ) & 07 ) ) { - tmp = read8Z( REGBASE, src ) ; src++; - center_width-- ; - goto BranchPoint ; /* Do Mod 8 edge */ - } - else /* End of this line */ - data += pad ; - } - } - -return ; -} diff --git a/xorg-server/hw/xfree86/xf4bpp/vgaReg.h b/xorg-server/hw/xfree86/xf4bpp/vgaReg.h deleted file mode 100644 index 32ec0daed..000000000 --- a/xorg-server/hw/xfree86/xf4bpp/vgaReg.h +++ /dev/null @@ -1,137 +0,0 @@ -/* - * 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. - * -*/ - -#define SET_BYTE_REGISTER( ioport, value ) outb( ioport, value ) -#define SET_INDEX_REGISTER( ioport, value ) SET_BYTE_REGISTER( ioport, value ) -#define SET_DATA_REGISTER( ioport, value ) SET_BYTE_REGISTER( ioport, value ) -/* GJA -- deleted RTIO and ATRIO case here, so that a PCIO #define became - * superfluous. - */ -#define SET_INDEXED_REGISTER(RegGroup, Index, Value) \ - (SET_BYTE_REGISTER(RegGroup, Index), \ - SET_BYTE_REGISTER((RegGroup) + 1, Value)) - -/* There is a jumper on the ega to change this to 0x200 instead !! */ -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#if 0 /* This is now a stack variable, as needed */ -#define REGBASE 0x300 -#endif - -#define AttributeIndexRegister REGBASE + 0xC0 -#define AttributeDataWriteRegister REGBASE + 0xC0 -#define AttributeDataReadRegister REGBASE + 0xC1 -#define AttributeRegister AttributeIndexRegister -#define AttributeModeIndex 0x30 -#define OverScanColorIndex 0x31 -#define ColorPlaneEnableIndex 0x32 -#define HorizPelPanIndex 0x33 -#define ColorSelectIndex 0x34 -#ifndef PC98_EGC -#define SetVideoAttributeIndex( index ) \ - SET_INDEX_REGISTER( AttributeIndexRegister, index ) -#define SetVideoAttribute( index, value ) \ - SetVideoAttributeIndex( index ) ; \ - SET_BYTE_REGISTER( AttributeDataWriteRegister, value ) -#endif - - /* Graphics Registers 03CE & 03CF */ -#define GraphicsIndexRegister REGBASE + 0xCE -#define GraphicsDataRegister REGBASE + 0xCF -#define GraphicsRegister GraphicsIndexRegister -#define Set_ResetIndex 0x00 -#define Enb_Set_ResetIndex 0x01 -#define Color_CompareIndex 0x02 -#define Data_RotateIndex 0x03 -#define Read_Map_SelectIndex 0x04 -#define Graphics_ModeIndex 0x05 -#define MiscellaneousIndex 0x06 -#define Color_Dont_CareIndex 0x07 -#define Bit_MaskIndex 0x08 -#ifndef PC98_EGC -#define SetVideoGraphicsIndex( index ) \ - SET_INDEX_REGISTER( GraphicsIndexRegister, index ) -#define SetVideoGraphicsData( value ) \ - SET_INDEX_REGISTER( GraphicsDataRegister, value ) -#define SetVideoGraphics( index, value ) \ - SET_INDEXED_REGISTER( GraphicsRegister, index, value ) -#endif - -/* Sequencer Registers 03C4 & 03C5 */ -#define SequencerIndexRegister REGBASE + 0xC4 -#define SequencerDataRegister REGBASE + 0xC5 -#define SequencerRegister SequencerIndexRegister -#define Seq_ResetIndex 00 -#define Clock_ModeIndex 01 -#define Mask_MapIndex 02 -#define Char_Map_SelectIndex 03 -#define Memory_ModeIndex 04 -#ifndef PC98_EGC -#define SetVideoSequencerIndex( index ) \ - SET_INDEX_REGISTER( SequencerIndexRegister, index ) -#define SetVideoSequencer( index, value ) \ - SET_INDEXED_REGISTER( SequencerRegister, index, value ) -#endif - -/* BIT CONSTANTS FOR THE VGA/EGA HARDWARE */ -/* for the Graphics' Data_Rotate Register */ -#define VGA_ROTATE_FUNC_SHIFT 3 -#define VGA_COPY_MODE ( 0 << VGA_ROTATE_FUNC_SHIFT ) /* 0x00 */ -#define VGA_AND_MODE ( 1 << VGA_ROTATE_FUNC_SHIFT ) /* 0x08 */ -#define VGA_OR_MODE ( 2 << VGA_ROTATE_FUNC_SHIFT ) /* 0x10 */ -#define VGA_XOR_MODE ( 3 << VGA_ROTATE_FUNC_SHIFT ) /* 0x18 */ -/* for the Graphics' Graphics_Mode Register */ -#define VGA_READ_MODE_SHIFT 3 -#define VGA_WRITE_MODE_0 0 -#define VGA_WRITE_MODE_1 1 -#define VGA_WRITE_MODE_2 2 -#define VGA_WRITE_MODE_3 3 -#define VGA_READ_MODE_0 ( 0 << VGA_READ_MODE_SHIFT ) -#define VGA_READ_MODE_1 ( 1 << VGA_READ_MODE_SHIFT ) - -#ifdef PC98_EGC -/* I/O port address define for extended EGC */ -#define EGC_PLANE 0x4a0 /* EGC active plane select */ -#define EGC_READ 0x4a2 /* EGC FGC,EGC,Read Plane */ -#define EGC_MODE 0x4a4 /* EGC Mode register & ROP */ -#define EGC_FGC 0x4a6 /* EGC Forground color */ -#define EGC_MASK 0x4a8 /* EGC Mask register */ -#define EGC_BGC 0x4aa /* EGC Background color */ -#define EGC_ADD 0x4ac /* EGC Dest/Source address */ -#define EGC_LENGTH 0x4ae /* EGC Bit length */ - -#define PALETTE_ADD 0xa8 /* Palette address */ -#define PALETTE_GRE 0xaa /* Palette Green */ -#define PALETTE_RED 0xac /* Palette Red */ -#define PALETTE_BLU 0xae /* Palette Blue */ - -#define EGC_AND_MODE 0x2c8c /* (S&P&D)|(~S&D) */ -#define EGC_AND_INV_MODE 0x2c2c /* (S&P&~D)|(~S&D) */ -#define EGC_OR_MODE 0x2cec /* S&(P|D)|(~S&D) */ -#define EGC_OR_INV_MODE 0x2cbc /* S&(P|~D)|(~S&D) */ -#define EGC_XOR_MODE 0x2c6c /* (S&(P&~D|~P&D))|(~S&D) */ -#define EGC_XOR_INV_MODE 0x2c9c /* (S&(P&D)|(~P&~D))|(~S&D) */ -#define EGC_COPY_MODE 0x2cac /* (S&P)|(~S&D) */ -#endif diff --git a/xorg-server/hw/xfree86/xf4bpp/vgaSolid.c b/xorg-server/hw/xfree86/xf4bpp/vgaSolid.c deleted file mode 100644 index 0ef18cfeb..000000000 --- a/xorg-server/hw/xfree86/xf4bpp/vgaSolid.c +++ /dev/null @@ -1,574 +0,0 @@ -/* - * 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. - * -*/ - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include "xf4bpp.h" -#include "OScompiler.h" -#include "vgaReg.h" -#include "vgaVideo.h" - -#include "xf86str.h" /* for pScrn->vtSema */ -extern ScrnInfoPtr *xf86Screens; - -#undef TRUE -#undef FALSE -#define TRUE 1 -#define FALSE 0 - -#ifndef PC98_EGC -#ifdef USE_ASM -extern void fastFill(); -extern void fastFillRMW(); -#else - -static void fastFill -( - register volatile unsigned char *destination, - register const unsigned int bytes_per_line, - register const unsigned int bytewidth, /* MUST BE > 0 !! */ - register unsigned int height /* MUST BE > 0 !! */ -) -{ -int stop_count = bytewidth ; -register int row_jump = bytes_per_line - bytewidth ; -#if !defined(OLDHC) && defined(BSDrt) && !defined(__i386__) -register const unsigned int notZero = ((unsigned char)(~0x0)); -#else -#define notZero ((unsigned char)(~0)) -#endif - -#define SINGLE_STORE \ - ( *( (VgaMemoryPtr) destination ) = notZero ); \ - destination++; stop_count--; - -/* TOP OF FIRST LOOP */ -BranchPoint: - -switch ( bytewidth & 0xF ) { /* Jump into loop at mod 16 remainder */ - LoopTop : - case 0x0 : SINGLE_STORE ; - case 0xF : SINGLE_STORE ; - case 0xE : SINGLE_STORE ; - case 0xD : SINGLE_STORE ; - case 0xC : SINGLE_STORE ; - case 0xB : SINGLE_STORE ; - case 0xA : SINGLE_STORE ; - case 0x9 : SINGLE_STORE ; - case 0x8 : SINGLE_STORE ; - case 0x7 : SINGLE_STORE ; - case 0x6 : SINGLE_STORE ; - case 0x5 : SINGLE_STORE ; - case 0x4 : SINGLE_STORE ; - case 0x3 : SINGLE_STORE ; - case 0x2 : SINGLE_STORE ; - case 0x1 : SINGLE_STORE ; -/* FIRST LOOP */ - if ( stop_count ) - goto LoopTop ; -/* SECOND LOOP */ - if ( --height ) { - destination += row_jump ; - stop_count = bytewidth ; - goto BranchPoint ; - } - else - return ; -#undef SINGLE_STORE -} -/*NOTREACHED*/ -} - -/* For Read-Modify-Write Case */ -static void fastFillRMW -( - register volatile unsigned char *destination, - register const unsigned int bytes_per_line, - register const unsigned int bytewidth, /* MUST BE > 0 !! */ - register unsigned int height /* MUST BE > 0 !! */ -) -{ -int stop_count = bytewidth ; -register int row_jump = bytes_per_line - bytewidth ; -#if !defined(OLDHC) && defined(BSDrt) && !defined(__i386__) -register const unsigned int notZero = ((unsigned char)(~0x0)); -#endif -register int tmp ; - -#define SINGLE_STORE \ - tmp = *( (VgaMemoryPtr) destination ) ; (void)tmp; \ - ( *( (VgaMemoryPtr) destination ) = notZero ) ; \ - destination++; stop_count-- ; - -/* TOP OF FIRST LOOP */ -BranchPoint: - -switch ( bytewidth & 0xF ) { /* Jump into loop at mod 16 remainder */ - LoopTop : - case 0x0 : SINGLE_STORE ; - case 0xF : SINGLE_STORE ; - case 0xE : SINGLE_STORE ; - case 0xD : SINGLE_STORE ; - case 0xC : SINGLE_STORE ; - case 0xB : SINGLE_STORE ; - case 0xA : SINGLE_STORE ; - case 0x9 : SINGLE_STORE ; - case 0x8 : SINGLE_STORE ; - case 0x7 : SINGLE_STORE ; - case 0x6 : SINGLE_STORE ; - case 0x5 : SINGLE_STORE ; - case 0x4 : SINGLE_STORE ; - case 0x3 : SINGLE_STORE ; - case 0x2 : SINGLE_STORE ; - case 0x1 : SINGLE_STORE ; -/* FIRST LOOP */ - if ( stop_count ) - goto LoopTop ; -/* SECOND LOOP */ - if ( --height ) { - destination += row_jump ; - stop_count = bytewidth ; - goto BranchPoint ; - } - else - return ; -} -#undef SINGLE_STORE -/*NOTREACHED*/ -} -#endif - - -void xf4bppFillSolid( pWin, color, alu, planes, x0, y0, lx, ly ) -WindowPtr pWin; /* GJA */ -unsigned long int color ; -const int alu ; -unsigned long int planes ; -register int x0 ; -register const int y0 ; -register int lx ; -register const int ly ; /* MUST BE > 0 !! */ -{ -IOADDRESS REGBASE; -register volatile unsigned char *dst ; -register int tmp ; -register int tmp2 ; -register int tmp3 ; -unsigned int data_rotate_value = VGA_COPY_MODE ; -unsigned int read_write_modify = FALSE ; -unsigned int invert_existing_data = FALSE ; - -{ /* Start GJA */ - if ( !xf86Screens[((DrawablePtr)pWin)->pScreen->myNum]->vtSema ) { - xf4bppOffFillSolid( pWin, color, alu, planes, x0, y0, lx, ly ); - return; - } -} /* End GJA */ - -if ( ( lx == 0 ) || ( ly == 0 ) ) - return; - -switch ( alu ) { - case GXclear: /* 0x0 Zero 0 */ - color = 0 ; - break ; - case GXnor: /* 0x8 NOT src AND NOT dst */ - invert_existing_data = TRUE ; - case GXandInverted: /* 0x4 NOT src AND dst */ - color = ~color ; - case GXand: /* 0x1 src AND dst */ - data_rotate_value = VGA_AND_MODE ; - read_write_modify = TRUE ; - case GXcopy: /* 0x3 src */ - break ; - case GXnoop: /* 0x5 dst */ - return ; - case GXequiv: /* 0x9 NOT src XOR dst */ - color = ~color ; - case GXxor: /* 0x6 src XOR dst */ - data_rotate_value = VGA_XOR_MODE ; - read_write_modify = TRUE ; - planes &= color ; - break ; - case GXandReverse: /* 0x2 src AND NOT dst */ - invert_existing_data = TRUE ; - data_rotate_value = VGA_AND_MODE ; - read_write_modify = TRUE ; - break ; - case GXorReverse: /* 0xb src OR NOT dst */ - invert_existing_data = TRUE ; - data_rotate_value = VGA_OR_MODE ; - read_write_modify = TRUE ; - break ; - case GXnand: /* 0xe NOT src OR NOT dst */ - invert_existing_data = TRUE ; - case GXorInverted: /* 0xd NOT src OR dst */ - color = ~color ; - case GXor: /* 0x7 src OR dst */ - data_rotate_value = VGA_OR_MODE ; - read_write_modify = TRUE ; - break ; - case GXcopyInverted: /* 0xc NOT src */ - color = ~color ; - break ; - case GXinvert: /* 0xa NOT dst */ - data_rotate_value = VGA_XOR_MODE ; - read_write_modify = TRUE ; - case GXset: /* 0xf 1 */ - color = VGA_ALLPLANES ; - default: - break ; -} - -if ( !( planes &= VGA_ALLPLANES ) ) - return ; - -REGBASE = - xf86Screens[((DrawablePtr)pWin)->pScreen->myNum]->domainIOBase + 0x300; - -/* - * Set The Plane-Enable - */ -SetVideoSequencer( Mask_MapIndex, planes ) ; -SetVideoGraphics( Enb_Set_ResetIndex, planes ) ; -/* - * Put Display Into SET/RESET Write Mode - */ -SetVideoGraphics( Graphics_ModeIndex, VGA_WRITE_MODE_3 ) ; -/* - * Set The Color in The Set/Reset Register - */ -SetVideoGraphics( Set_ResetIndex, color & VGA_ALLPLANES ) ; -/* - * Set The Function-Select In The Data Rotate Register - */ -SetVideoGraphics( Data_RotateIndex, data_rotate_value ) ; - -/* Do Left Edge */ -if ((tmp = x0 & 07)) { - tmp2 = SCRRIGHT8( ( (unsigned) 0xFF ), tmp ) ; - /* Catch The Cases Where The Entire Region Is Within One Byte */ - if ( ( lx -= 8 - tmp ) < 0 ) { - tmp2 &= SCRLEFT8( 0xFF, -lx ) ; - lx = 0 ; - } - /* Set The Bit Mask Reg */ - SetVideoGraphics(Bit_MaskIndex, tmp2 ) ; - if ( invert_existing_data == TRUE ) { - SetVideoGraphics( Set_ResetIndex, VGA_ALLPLANES ) ; - SetVideoGraphics( Data_RotateIndex, VGA_XOR_MODE ) ; - dst = SCREENADDRESS( pWin, x0, y0 ); - for ( tmp = ly; - tmp-- ; ) { - tmp3 = *( (VgaMemoryPtr) dst ) ; - (void)tmp3; - *( (VgaMemoryPtr) dst ) = tmp2 ; - dst += BYTES_PER_LINE(pWin); - } - SetVideoGraphics( Set_ResetIndex, color & VGA_ALLPLANES ) ; - SetVideoGraphics( Data_RotateIndex, data_rotate_value ) ; - /* Un-Set XOR */ - } - dst = SCREENADDRESS( pWin, x0, y0 ); - for ( tmp = ly; - tmp-- ; ) { - tmp3 = *( (VgaMemoryPtr) dst ) ; - (void)tmp3; - *( (VgaMemoryPtr) dst ) = tmp2 ; - dst += BYTES_PER_LINE(pWin); - } - if ( !lx ) { /* All Handled In This Byte */ - return ; - } - x0 = ( x0 + 8 ) & ~07 ; -} - -/* Fill The Center Of The Box */ -if ( ROW_OFFSET( lx ) ) { - SetVideoGraphics(Bit_MaskIndex, 0xFF ) ; - if ( invert_existing_data == TRUE ) { - SetVideoGraphics( Set_ResetIndex, VGA_ALLPLANES ) ; - SetVideoGraphics( Data_RotateIndex, VGA_XOR_MODE ) ; - fastFillRMW( SCREENADDRESS( pWin, x0, y0 ), - BYTES_PER_LINE(pWin), - ROW_OFFSET( lx ), ly ) ; - SetVideoGraphics( Set_ResetIndex, color & VGA_ALLPLANES ) ; - SetVideoGraphics( Data_RotateIndex, data_rotate_value ) ; - /* Un-Set XOR */ - /* Point At The Bit Mask Reg */ - } - (* ( ( read_write_modify == FALSE ) ? fastFill : fastFillRMW ) ) - ( SCREENADDRESS( pWin, x0, y0 ), BYTES_PER_LINE(pWin), - ROW_OFFSET( lx ), ly ) ; -} - -/* Do Right Edge */ -if ((tmp = BIT_OFFSET(lx))) { /* x0 Now Is Byte Aligned */ - /* Set The Bit Mask */ - SetVideoGraphics( Bit_MaskIndex, - (tmp2 = SCRLEFT8( 0xFF, ( 8 - tmp ) ) ) ) ; - if ( invert_existing_data == TRUE ) { - SetVideoGraphics( Set_ResetIndex, VGA_ALLPLANES ) ; - SetVideoGraphics( Data_RotateIndex, VGA_XOR_MODE ) ; - dst = SCREENADDRESS( pWin, ( x0 + lx ), y0 ); - for ( tmp = ly; - tmp-- ; ) { - tmp3 = *( (VgaMemoryPtr) dst ) ; - (void)tmp3; - *( (VgaMemoryPtr) dst ) = tmp2 ; - dst += BYTES_PER_LINE(pWin); - } - SetVideoGraphics( Set_ResetIndex, color & VGA_ALLPLANES ) ; - SetVideoGraphics( Data_RotateIndex, data_rotate_value ) ; - /* Un-Set XOR */ - } - dst = SCREENADDRESS( pWin, ( x0 + lx ), y0 ); - for ( tmp = ly; - tmp-- ; ) { - tmp3 = *( (VgaMemoryPtr) dst ) ; - (void)tmp3; - *( (VgaMemoryPtr) dst ) = tmp2 ; - dst += BYTES_PER_LINE(pWin) ; - } -} -/* Disable Set/Reset Register */ -SetVideoGraphics( Enb_Set_ResetIndex, 0 ) ; - - -return ; -} - -#else /* for PC98 EGC */ -static void WordfastFill( destination, bytes_per_line, wordwidth, height ) -register volatile unsigned char *destination ; -register const unsigned int bytes_per_line ; -register const unsigned int wordwidth ; /* MUST BE > 0 !! */ -register unsigned int height ; /* MUST BE > 0 !! */ -{ -int stop_count = wordwidth ; -register int row_jump = bytes_per_line - wordwidth*2 ; -#if !defined(OLDHC) && defined(BSDrt) && !defined(__i386__) && 0 -register const int notZero = ~0x0 ; -#else -#define notZero ( ~0 ) -#endif - -#define SINGLE_STORE \ - ( *( (unsigned short *) destination++ ) = notZero ); \ - destination++; stop_count--; - -/* TOP OF FIRST LOOP */ -BranchPoint: - -switch ( wordwidth & 0xF ) { /* Jump into loop at mod 16 remainder */ - LoopTop : - case 0x0 : SINGLE_STORE ; - case 0xF : SINGLE_STORE ; - case 0xE : SINGLE_STORE ; - case 0xD : SINGLE_STORE ; - case 0xC : SINGLE_STORE ; - case 0xB : SINGLE_STORE ; - case 0xA : SINGLE_STORE ; - case 0x9 : SINGLE_STORE ; - case 0x8 : SINGLE_STORE ; - case 0x7 : SINGLE_STORE ; - case 0x6 : SINGLE_STORE ; - case 0x5 : SINGLE_STORE ; - case 0x4 : SINGLE_STORE ; - case 0x3 : SINGLE_STORE ; - case 0x2 : SINGLE_STORE ; - case 0x1 : SINGLE_STORE ; -/* FIRST LOOP */ - if ( stop_count ) - goto LoopTop ; -/* SECOND LOOP */ - if ( --height ) { - destination += row_jump ; - stop_count = wordwidth ; - goto BranchPoint ; - } - else - return ; -#undef SINGLE_STORE -} -/*NOTREACHED*/ -} - -void xf4bppFillSolid( pWin, color, alu, planes, x0, y0, lx, ly ) -WindowPtr pWin; /* GJA */ -unsigned long int color ; -const int alu ; -unsigned long int planes ; -register int x0 ; -register const int y0 ; -register int lx ; -register const int ly ; /* MUST BE > 0 !! */ -{ -register volatile unsigned char *dst ; -register tmp ; -register tmp2 ; -register unsigned short tmp3 ; -unsigned short ROP_value; -unsigned int data_rotate_value = VGA_COPY_MODE ; -unsigned int read_write_modify = FALSE ; -unsigned int invert_existing_data = FALSE ; - -{ /* Start GJA */ - if ( !xf86Screens[((DrawablePtr)pWin)->pScreen->myNum]->vtSema ) { - xf4bppOffFillSolid( pWin, color, alu, planes, x0, y0, lx, ly ); - return; - } -} /* End GJA */ - -if ( ( lx == 0 ) || ( ly == 0 ) ) - return; - -switch ( alu ) { - case GXclear: /* 0x0 Zero 0 */ - color = 0 ; - break ; - case GXnor: /* 0x8 NOT src AND NOT dst */ - invert_existing_data = TRUE ; - case GXandInverted: /* 0x4 NOT src AND dst */ - color = ~color ; - case GXand: /* 0x1 src AND dst */ - data_rotate_value = VGA_AND_MODE ; - read_write_modify = TRUE ; - case GXcopy: /* 0x3 src */ - break ; - case GXnoop: /* 0x5 dst */ - return ; - case GXequiv: /* 0x9 NOT src XOR dst */ - color = ~color ; - case GXxor: /* 0x6 src XOR dst */ - data_rotate_value = VGA_XOR_MODE ; - read_write_modify = TRUE ; - planes &= color ; - break ; - case GXandReverse: /* 0x2 src AND NOT dst */ - invert_existing_data = TRUE ; - data_rotate_value = VGA_AND_MODE ; - read_write_modify = TRUE ; - break ; - case GXorReverse: /* 0xb src OR NOT dst */ - invert_existing_data = TRUE ; - data_rotate_value = VGA_OR_MODE ; - read_write_modify = TRUE ; - break ; - case GXnand: /* 0xe NOT src OR NOT dst */ - invert_existing_data = TRUE ; - case GXorInverted: /* 0xd NOT src OR dst */ - color = ~color ; - case GXor: /* 0x7 src OR dst */ - data_rotate_value = VGA_OR_MODE ; - read_write_modify = TRUE ; - break ; - case GXcopyInverted: /* 0xc NOT src */ - color = ~color ; - break ; - case GXinvert: /* 0xa NOT dst */ - data_rotate_value = VGA_XOR_MODE ; - read_write_modify = TRUE ; - case GXset: /* 0xf 1 */ - color = VGA_ALLPLANES ; - default: - break ; -} - -if ( !( planes &= VGA_ALLPLANES ) ) - return ; - -/* Set Access Planes */ -outw(EGC_PLANE, ~planes); -switch(data_rotate_value) { -/* EGC MODE.. Cmp Read: Flase, WriteSource=ROP, ReadSource=CPU */ - case VGA_AND_MODE: - if (invert_existing_data) - ROP_value = EGC_AND_INV_MODE; - else - ROP_value = EGC_AND_MODE; - break; - case VGA_OR_MODE: - if (invert_existing_data) - ROP_value = EGC_OR_INV_MODE; - else - ROP_value = EGC_OR_MODE; - break; - case VGA_XOR_MODE: - if (invert_existing_data) - ROP_value = EGC_XOR_INV_MODE; - else - ROP_value = EGC_XOR_MODE; - break; - case VGA_COPY_MODE: - default: - ROP_value = EGC_COPY_MODE; - break; -} -outw(EGC_MODE, ROP_value); -outw(EGC_FGC, color & VGA_ALLPLANES); -/* Do Left Edge */ -if ( tmp = x0 & 0x0f ) { - dst = (unsigned char *)((int)(SCREENADDRESS(pWin,x0,y0)) & ~0x01); - tmp3 = (unsigned)0xffff >>tmp; - /* Catch The Cases Where The Entire Region Is Within One Word */ - if ( ( lx -= 16 - tmp ) < 0 ) { - tmp3 &= (unsigned)0xffff << -lx; - lx = 0 ; - } - tmp3 = (unsigned short)(tmp3 >> 8 | tmp3 << 8); - for ( tmp = ly; - tmp-- ; ) { - *((unsigned short *) dst ) = tmp3 ; - dst += BYTES_PER_LINE(pWin); - } - if ( !lx ) { /* All Handled In This Word */ - return ; - } - x0 = ( x0 + 0x0f ) & ~0x0f ; -} - -/* Fill The Center Of The Box */ -if (lx >> 4) { - WordfastFill( SCREENADDRESS( pWin, x0, y0 ), BYTES_PER_LINE(pWin), - (lx >> 4), ly ) ; -} - -/* Do Right Edge */ -if ( tmp = lx & 0x0f ) { /* x0 Now Is Word Aligned */ - /* Set The Bit Mask */ - tmp3 = (unsigned)0xffff << ( 16 - tmp ); - dst = (unsigned char*)((int)SCREENADDRESS(pWin,(x0+lx),y0) & ~0x01); - tmp3 = (unsigned short)(tmp3 >> 8 | tmp3 << 8); - for ( tmp = ly; - tmp-- ; ) { - *( (unsigned short *) dst ) = tmp3 ; - dst += BYTES_PER_LINE(pWin); - } -} - -return ; -} -#endif diff --git a/xorg-server/hw/xfree86/xf4bpp/vgaStipple.c b/xorg-server/hw/xfree86/xf4bpp/vgaStipple.c deleted file mode 100644 index 5ad53028c..000000000 --- a/xorg-server/hw/xfree86/xf4bpp/vgaStipple.c +++ /dev/null @@ -1,720 +0,0 @@ -/* - * 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. - * -*/ - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include "xf4bpp.h" -#include "OScompiler.h" -#include "vgaReg.h" -#include "vgaVideo.h" - -#include "xf86str.h" /* for pScrn->vtSema */ -extern ScrnInfoPtr *xf86Screens; - -#ifndef PC98_EGC -static unsigned char -getbits -( - register const int x, - register const unsigned int patternWidth, - register const unsigned char * const lineptr -) -{ -register unsigned char bits ; -register const unsigned char *cptr ; -register int shift ; -register int wrap ; - -cptr = lineptr + ( x >> 3 ) ; -bits = *cptr ; -if ((shift = x & 7)) - bits = SCRLEFT8( bits, shift ) | SCRRIGHT8( cptr[1], ( 8 - shift ) ) ; -if ( ( wrap = x + 8 - patternWidth ) > 0 ) { - bits &= SCRLEFT8( 0xFF, wrap ) ; - bits |= SCRRIGHT8( *lineptr, ( 8 - wrap ) ) ; -} - -/* GJA -- Handle extraction of 8 bits from < 8 bits wide stipple. - * I duplicated case 4,5,6,7 to give the compiler a chance to optimize. - */ -switch (patternWidth) { -case 1: /* Not really useful. */ - bits &= ~SCRRIGHT8(0xFF,1); - bits |= SCRRIGHT8(bits,1); - bits |= SCRRIGHT8(bits,2); - bits |= SCRRIGHT8(bits,4); - break; -case 2: - bits &= ~SCRRIGHT8(0xFF,2); - bits |= SCRRIGHT8(bits,2); bits |= SCRRIGHT8(bits,4); break; -case 3: - bits &= ~SCRRIGHT8(0xFF,3); - bits |= (SCRRIGHT8(bits,3) | SCRRIGHT8(bits,6)); break; -case 4: - bits = (bits & ~SCRRIGHT8(0xFF,4)) | SCRRIGHT8(bits,4); break; -case 5: - bits = (bits & ~SCRRIGHT8(0xFF,5)) | SCRRIGHT8(bits,5); break; -case 6: - bits = (bits & ~SCRRIGHT8(0xFF,6)) | SCRRIGHT8(bits,6); break; -case 7: - bits = (bits & ~SCRRIGHT8(0xFF,7)) | SCRRIGHT8(bits,7); break; -default: - ; - /* Do nothing, of course */ -} -return bits ; -} -#endif - -/* GJA -- - * Basically, in the code below, we will draw a stipple in the usual - * three parts: left edge, center and right edge. - * For efficiency reasons, the center will be drawn byte aligned, so that - * we will have to shuffle the bits in the left and right edges. - * The hard cases will be stipples with width < 8: In order to get 8 - * bits from those, we will need a loop. One single 'if' will never do. - * This is taken care of above. - */ -static void -DoMonoSingle -( - WindowPtr pWin, /* GJA */ - int w, - int x, - int y, - register const unsigned char *mastersrc, - int h, - register unsigned int width, - register unsigned int paddedByteWidth, - unsigned int height, - int xshift, - int yshift -) -{ -IOADDRESS REGBASE = - xf86Screens[((DrawablePtr)pWin)->pScreen->myNum]->domainIOBase + 0x300; -register volatile unsigned char *xDst ; -register VideoAdapterObject tmp2 ; -register int NeedValX ; -register int counter ; -register int tmp1 ; -unsigned int rowCounter ; -int byte_cnt ; -#ifdef PC98_EGC -unsigned char bitmask; -#endif - -/* Do Left Edge */ -if ((tmp1 = x & 07)) { - tmp2 = SCRRIGHT8( ( (unsigned) 0xFF ), tmp1 ) ; - /* Catch The Cases Where The Entire Region Is Within One Byte */ - if ( ( w -= 8 - tmp1 ) < 0 ) { - tmp2 &= SCRLEFT8( (unsigned) 0xFF, -w ) ; - w = 0 ; - } -#ifndef PC98_EGC - SetVideoGraphics( Bit_MaskIndex, tmp2 ) ; /* Set The Bit Mask */ -#else - bitmask = tmp2; /* Set The Bit Mask */ -#endif - /* - * For Each Line In The Source Pixmap - */ - xDst = SCREENADDRESS( pWin, x, y ); - for ( tmp1 = yshift, rowCounter = h; - rowCounter ; - rowCounter-- , tmp1++ ) { - - if ( tmp1 >= (int)height ) - tmp1 -= height ; -#ifndef PC98_EGC - /* Read To Save */ - tmp2 = *( (VgaMemoryPtr) xDst) ; -#endif - /* Write Pattern */ - *( (VgaMemoryPtr) xDst ) = -#ifndef PC98_EGC - getbits( xshift /* GJA */, width, - mastersrc - + ( tmp1 * paddedByteWidth ) ) >> (x & 07) ; -#else -#if 0 - (getbits( xshift /* GJA */, width, - mastersrc - + ( tmp1 * paddedByteWidth ) ) >> (x & 07) - & bitmask); -#else - (getbits_x( xshift /* GJA */, width, - mastersrc - + ( tmp1 * paddedByteWidth ), (x & 07)) - & bitmask); -#endif -#endif - xDst += BYTES_PER_LINE(pWin); - } - NeedValX = (xshift + 8 - (x & 07)) % width; - x = ( x + 7 ) & ~07 ; -} -else { - NeedValX = xshift ; -} - -if ((byte_cnt = ROW_OFFSET(w))) { /* Fill The Center Of The Box */ - int SavNeedX = NeedValX ; - -#ifndef PC98_EGC - SetVideoGraphics( Bit_MaskIndex, 0xFF ) ; /* Set The Bit Mask */ -#endif - /* - * For Each Line In The Source Pixmap - */ - xDst = SCREENADDRESS( pWin, x, y ); - for ( tmp1 = yshift, rowCounter = h; - rowCounter ; - rowCounter-- , tmp1++ ) { - register const unsigned char *l_ptr ; - if ( tmp1 >= (int)height ) - tmp1 -= height ; - l_ptr = mastersrc + ( tmp1 * paddedByteWidth ) ; - /* - * For Each Byte Across The Pattern In X - */ - for ( counter = byte_cnt, NeedValX = SavNeedX ; - counter-- ; ) { -#ifndef PC98_EGC - /* Read To Save */ - tmp2 = *( (VgaMemoryPtr) xDst) ; -#endif - /* Write Pattern */ - *( (VgaMemoryPtr) xDst ) = -#ifndef PC98_EGC - getbits( NeedValX, width, l_ptr ) ; -#else -#if 0 - getbits( NeedValX, width, l_ptr ) ; -#else - getbits_x ( NeedValX, width, l_ptr, 0 ) ; -#endif -#endif - /* GJA -- The '%' is there since width could be < 8 */ - NeedValX = (NeedValX + 8) % width; - xDst++; - } - xDst += BYTES_PER_LINE(pWin) - byte_cnt; - } -} - -/* Do Right Edge */ -if ((tmp1 = BIT_OFFSET(w))) { /* x Now Is Byte Aligned */ - /* Set The Bit Mask */ -#ifndef PC98_EGC - SetVideoGraphics( Bit_MaskIndex, SCRLEFT8( 0xFF, ( 8 - tmp1 ) ) ) ; -#else - bitmask = SCRLEFT8( 0xFF, ( 8 - tmp1 )); -#endif - /* - * For Each Line In The Source Pixmap - */ - xDst = SCREENADDRESS( pWin, ( x + w ), y ); - for ( tmp1 = yshift, rowCounter = h; - rowCounter ; - rowCounter-- , tmp1++ ) { - if ( tmp1 >= (int)height ) - tmp1 -= height ; -#ifndef PC98_EGC - /* Read To Save */ - tmp2 = *( (VgaMemoryPtr) xDst) ; -#endif - /* Write Pattern */ - *( (VgaMemoryPtr) xDst ) = -#ifndef PC98_EGC - getbits( NeedValX, width, - mastersrc - + ( tmp1 * paddedByteWidth ) ) ; -#else -#if 0 - (getbits( NeedValX, width, - mastersrc - + ( tmp1 * paddedByteWidth ) ) & bitmask); -#else - (getbits_x( NeedValX, width, - mastersrc - + ( tmp1 * paddedByteWidth ), 0 ) & bitmask); -#endif -#endif - xDst += BYTES_PER_LINE(pWin) ; - } -} - -return ; -} - -static void -DoMonoMany -( - WindowPtr pWin, /* GJA */ - int w, - int x, - int y, - register const unsigned char *mastersrc, - int h, - register unsigned int width, - register unsigned int paddedByteWidth, - unsigned int height, - int xshift, - int yshift -) -{ -IOADDRESS REGBASE = - xf86Screens[((DrawablePtr)pWin)->pScreen->myNum]->domainIOBase + 0x300; -register volatile unsigned char *xDst ; -register VideoAdapterObject tmp2 ; -register int NeedValX ; -register int byte_cnt ; -register int tmp1 ; -unsigned DestinationRow ; -unsigned int SourceRow ; -volatile unsigned char *dst ; -int scr_incr = ( height * BYTES_PER_LINE(pWin) ) ; -#ifdef PC98_EGC -unsigned char bitmask; -#endif - -/* Do Left Edge */ -if ((tmp1 = x & 07)) { - tmp2 = SCRRIGHT8( ( (unsigned) 0xFF ), tmp1 ) ; - /* Catch The Cases Where The Entire Region Is Within One Byte */ - if ( ( w -= 8 - tmp1 ) < 0 ) { - tmp2 &= SCRLEFT8( (unsigned) 0xFF, -w ) ; - w = 0 ; - } -#ifndef PC98_EGC - SetVideoGraphics( Bit_MaskIndex, tmp2 ) ; /* Set The Bit Mask */ -#else - bitmask = tmp2; /* Set The Bit Mask */ -#endif - /* - * For Each Line In The Source Pixmap - */ - for ( tmp1 = yshift, SourceRow = 0, dst = SCREENADDRESS( pWin, x, y ) ; - SourceRow < height ; - tmp1++, SourceRow++, dst += BYTES_PER_LINE(pWin) ) { - register unsigned bitPattern ; - - if ( tmp1 >= (int)height ) - tmp1 -= height ; - /* - * For Each Time Pattern Repeats In The Y Dimension - */ - xDst = dst; - for ( DestinationRow = SourceRow, -#ifndef PC98_EGC - bitPattern = getbits( xshift, width, - mastersrc - + ( tmp1 * paddedByteWidth ) ) ; -#else -#if 0 - bitPattern = getbits( xshift, width, - mastersrc - + ( tmp1 * paddedByteWidth ) ) ; -#else - bitPattern = getbits_x( xshift, width, - mastersrc - + ( tmp1 * paddedByteWidth ), 0 ) ; -#endif -#endif - (int)DestinationRow < h ; - DestinationRow += height ) { -#ifndef PC98_EGC - /* Read To Save */ - tmp2 = *( (VgaMemoryPtr) xDst ) ; -#endif - /* Write Pattern */ -#ifndef PC98_EGC - *( (VgaMemoryPtr) xDst ) = bitPattern >> (x & 07); -#else - *( (VgaMemoryPtr) xDst ) = (bitPattern >> (x & 07)) & bitmask; -#endif - xDst += scr_incr; - } - } - NeedValX = (xshift + 8 - (x & 07)) % width; - x = ( x + 7 ) & ~07 ; -} -else { - NeedValX = xshift ; -} - -if ((byte_cnt = ROW_OFFSET(w))) { /* Fill The Center Of The Box */ - int SavNeedX = NeedValX ; - -#ifndef PC98_EGC - SetVideoGraphics( Bit_MaskIndex, 0xFF ) ; /* Set The Bit Mask */ -#endif - /* - * For Each Line In The Source Pixmap - */ - for ( tmp1 = yshift, SourceRow = 0, dst = SCREENADDRESS( pWin, x, y ) ; - SourceRow < height ; - tmp1++, SourceRow++, dst += BYTES_PER_LINE(pWin) - byte_cnt ) { - register const unsigned char *l_ptr ; - if ( tmp1 >= (int)height ) - tmp1 -= height ; - l_ptr = mastersrc + ( tmp1 * paddedByteWidth ) ; - /* - * For Each Byte Across The Pattern In X - */ - for ( tmp2 = byte_cnt, NeedValX = SavNeedX ; - tmp2-- ; - dst++ ) { - register unsigned bitPattern ; -#ifndef PC98_EGC - register VideoAdapterObject tmp3 ; -#endif - /* - * For Each Time Pattern Repeats In Y - */ - xDst = dst; - for ( DestinationRow = SourceRow, -#ifndef PC98_EGC - bitPattern = getbits( NeedValX, width, l_ptr ) ; -#else -#if 0 - bitPattern = getbits( NeedValX, width, l_ptr ) ; -#else - bitPattern = getbits_x( NeedValX, width, l_ptr, 0 ) ; -#endif -#endif - (int)DestinationRow < h ; - DestinationRow += height ) { -#ifndef PC98_EGC - /* Read To Save */ - tmp3 = *( (VgaMemoryPtr) xDst) ; - (void)tmp3; -#endif - /* Write Pattern */ - *( (VgaMemoryPtr) xDst ) = bitPattern ; - xDst += scr_incr; - } - NeedValX = (NeedValX + 8) % width; - } - } -} - -/* Do Right Edge */ -if ((tmp1 = BIT_OFFSET(w))) { /* x Now Is Byte Aligned */ - /* Set The Bit Mask */ -#ifndef PC98_EGC - SetVideoGraphics( Bit_MaskIndex, SCRLEFT8( 0xFF, ( 8 - tmp1 ) ) ) ; -#else - bitmask = SCRLEFT8( 0xFF, ( 8 - tmp1 ) ); -#endif - /* - * For Each Line In The Source Pixmap - */ - for ( tmp1 = yshift, SourceRow = 0, - dst = SCREENADDRESS( pWin, ( x + w ), y ) ; - SourceRow < height ; - tmp1++, SourceRow++, dst += BYTES_PER_LINE(pWin) ) { - register unsigned bitPattern ; - if ( tmp1 >= (int)height ) - tmp1 -= height ; - /* - * For Each Time Pattern Repeats In The Y Dimension - */ - xDst = dst; - for ( DestinationRow = SourceRow, -#ifndef PC98_EGC - bitPattern = getbits( NeedValX, width, - mastersrc - + ( tmp1 * paddedByteWidth ) ) ; -#else -#if 0 - bitPattern = getbits( NeedValX, width, - mastersrc - + ( tmp1 * paddedByteWidth ) ) ; -#else - bitPattern = getbits_x( NeedValX, width, - mastersrc - + ( tmp1 * paddedByteWidth ), 0 ) ; -#endif -#endif - (int)DestinationRow < h ; - DestinationRow += height ) { -#ifndef PC98_EGC - /* Read To Save */ - tmp2 = *( (VgaMemoryPtr) xDst) ; -#endif - /* Write Pattern */ -#ifndef PC98_EGC - *( (VgaMemoryPtr) xDst ) = bitPattern ; -#else - *( (VgaMemoryPtr) xDst ) = bitPattern & bitmask; -#endif - xDst += scr_incr; - } - } -} - -return ; -} - -#define DO_RECURSE 0x10000 - -static void -vgaSetMonoRegisters -( - DrawablePtr pDrawable, - register unsigned long int plane_mask, - register unsigned long int desiredState -) -{ -IOADDRESS REGBASE = - xf86Screens[pDrawable->pScreen->myNum]->domainIOBase + 0x300; -#ifndef PC98_EGC -/* Setup VGA Registers */ -/* - * Set The Plane-Enable - */ -SetVideoSequencer( Mask_MapIndex, plane_mask ) ; -SetVideoGraphics( Enb_Set_ResetIndex, plane_mask ) ; -/* - * Put Display Into SET-AND (i.e. Write Mode 3 ) - */ -SetVideoGraphics( Graphics_ModeIndex, VGA_WRITE_MODE_3 ) ; -/* - * Set The Color in The Set/Reset Register - */ -SetVideoGraphics( Set_ResetIndex, desiredState & VGA_ALLPLANES ) ; -/* - * Set The Vga's Alu Function - */ -SetVideoGraphics( Data_RotateIndex, desiredState >> 8 ) ; -#else /* PC98_EGC */ -unsigned short ROP_value; -/* Setup VGA Registers */ -/* - * Set The Plane-Enable - */ -outw(EGC_PLANE, ~plane_mask); -switch((desiredState >> 8)&0x18) { -/* EGC MODE.. Cmp Read: Flase, WriteSource=ROP, ReadSource=CPU */ - case VGA_AND_MODE: - if (desiredState & DO_RECURSE) - ROP_value = EGC_AND_INV_MODE; - else - ROP_value = EGC_AND_MODE; - break; - case VGA_OR_MODE: - if (desiredState & DO_RECURSE) - ROP_value = EGC_OR_INV_MODE; - else - ROP_value = EGC_OR_MODE; - break; - case VGA_XOR_MODE: - if (desiredState & DO_RECURSE) - ROP_value = EGC_XOR_INV_MODE; - else - ROP_value = EGC_XOR_MODE; - break; - case VGA_COPY_MODE: - default: - ROP_value = EGC_COPY_MODE; - break; -} -outw(EGC_MODE, ROP_value); -outw(EGC_FGC, desiredState & VGA_ALLPLANES); -#endif - -return ; -} - -static unsigned long -vgaCalcMonoMode -( - int rasterOp, - register unsigned long int color -) -{ -register unsigned int data_rotate_value = VGA_COPY_MODE << 8 ; -register unsigned int invert_existing_data = 0 ; - -/* Test The Raster-Op */ -switch ( rasterOp ) { - case GXclear: /* 0x0 Zero 0 */ - color = 0 ; - break ; - case GXinvert: /* 0xa NOT dst */ - data_rotate_value = VGA_XOR_MODE << 8 ; - case GXset: /* 0xf 1 */ - color = VGA_ALLPLANES ; - break ; - case GXnor: /* 0x8 NOT src AND NOT dst */ - invert_existing_data = DO_RECURSE ; - case GXandInverted: /* 0x4 NOT src AND dst */ - color = ~color ; - case GXand: /* 0x1 src AND dst */ - data_rotate_value = VGA_AND_MODE << 8 ; - case GXcopy: /* 0x3 src */ - break ; - case GXequiv: /* 0x9 NOT src XOR dst */ - color = ~color ; - case GXxor: /* 0x6 src XOR dst */ - data_rotate_value = VGA_XOR_MODE << 8 ; - break ; - case GXandReverse: /* 0x2 src AND NOT dst */ - invert_existing_data = DO_RECURSE ; - data_rotate_value = VGA_AND_MODE << 8 ; - break ; - case GXorReverse: /* 0xb src OR NOT dst */ - invert_existing_data = DO_RECURSE ; - data_rotate_value = VGA_OR_MODE << 8 ; - break ; - case GXnand: /* 0xe NOT src OR NOT dst */ - invert_existing_data = DO_RECURSE ; - case GXorInverted: /* 0xd NOT src OR dst */ - color = ~color ; - case GXor: /* 0x7 src OR dst */ - data_rotate_value = VGA_OR_MODE << 8 ; - break ; - case GXcopyInverted: /* 0xc NOT src */ - color = ~color ; - break ; - case GXnoop: /* 0x5 dst */ - ; /* Shouldn't Get Here !! */ -} - -return ( color & VGA_ALLPLANES ) | data_rotate_value | invert_existing_data ; -} - -static void -vgaDrawMonoImage -( - WindowPtr pWin, /* GJA */ - unsigned char *data, - int x, - int y, - int w, - int h, - unsigned long int fg, - int alu, - unsigned long int planes -) -{ -unsigned long regState ; - -if ( !xf86Screens[((DrawablePtr)pWin)->pScreen->myNum]->vtSema ) { - xf4bppOffDrawMonoImage( pWin, data, x, y, w, h, fg, alu, planes ); - return; -} - -if ( ( alu == GXnoop ) || !( planes &= VGA_ALLPLANES ) ) - return ; - -#ifndef PC98_EGC -if ( ( regState = vgaCalcMonoMode( alu, fg ) ) & DO_RECURSE ) { - vgaDrawMonoImage( pWin, data, x, y, w, h, - VGA_ALLPLANES, GXinvert, planes ) ; - regState &= ~DO_RECURSE ; -} -#else -regState = vgaCalcMonoMode(alu, (char)fg); -#endif - - -vgaSetMonoRegisters( (DrawablePtr)pWin, planes, regState ) ; - -DoMonoSingle( pWin, w, x, y, (const unsigned char *) data, h, - w, ( ( w + 31 ) & ~31 ) >> 3, h, 0, 0 ) ; - - -return ; -} - -void -xf4bppFillStipple( pWin, pStipple, fg, alu, planes, x, y, w, h, xSrc, ySrc ) -WindowPtr pWin; /* GJA */ -register PixmapPtr const pStipple ; -unsigned long int fg ; -const int alu ; -unsigned long int planes ; -int x, y, w, h ; -const int xSrc, ySrc ; -{ -unsigned int width ; -unsigned int height ; -int xshift ; -int yshift ; -unsigned long regState ; - -if ( !xf86Screens[((DrawablePtr)pWin)->pScreen->myNum]->vtSema ) { - xf4bppOffFillStipple( pWin, pStipple, fg, alu, planes, - x, y, w, h, xSrc, ySrc ); - return; -} - -if ( ( alu == GXnoop ) || !( planes &= VGA_ALLPLANES ) ) - return ; - -#if 1 -if ( ( regState = vgaCalcMonoMode( alu, fg ) ) & DO_RECURSE ) { - xf4bppFillStipple( pWin, pStipple, VGA_ALLPLANES, GXinvert, planes, - x, y, w, h, xSrc, ySrc ) ; - regState &= ~DO_RECURSE ; -} -#else -regState = vgaCalcMonoMode(alu, (char)fg); -#endif - - -vgaSetMonoRegisters( (DrawablePtr)pWin, planes, regState ) ; - -/* Figure Bit Offsets & Source Address */ -width = pStipple->drawable.width ; -if ( ( xshift = ( x - xSrc ) ) < 0 ) - xshift = width - ( ( - xshift ) % width ) ; -else - xshift %= width ; -if ( xshift == (int)width ) xshift = 0; - -height = pStipple->drawable.height ; -if ( ( yshift = ( y - ySrc ) ) < 0 ) - yshift = height - ( ( - yshift ) % height ) ; -else - yshift %= height ; -if ( yshift == (int)height ) yshift = 0; - - (* ( (h > (int)height) ? DoMonoMany : DoMonoSingle ) ) ( - pWin, w, x, y, - (const unsigned char *) pStipple->devPrivate.ptr, - h, - width, - ( ( width + 31 ) & ((unsigned)(~31)) ) >> 3, - height, - xshift, yshift - ) ; - -return ; -} diff --git a/xorg-server/hw/xfree86/xf4bpp/vgaVideo.h b/xorg-server/hw/xfree86/xf4bpp/vgaVideo.h deleted file mode 100644 index 60afa5bb6..000000000 --- a/xorg-server/hw/xfree86/xf4bpp/vgaVideo.h +++ /dev/null @@ -1,93 +0,0 @@ -/* - * 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. - * -*/ - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include "misc.h" /* GJA -- for pointer data type */ -#ifdef lint -#if defined(volatile) -#undef volatile -#endif -#define volatile /**/ -#if defined(const) -#undef const -#endif -#define const /**/ -#if defined(signed) -#undef signed -#endif -#define signed /**/ -#endif - -/* - * References to all pc ( i.e. '286 ) memory in the - * regions used by the [ev]ga server ( the 128K windows ) - * MUST be long-word ( i.e. 32-bit ) reads or writes. - * This definition will change for other memory architectures - * ( e.g. AIX-Rt ) - */ -typedef unsigned char VideoAdapterObject ; -typedef volatile VideoAdapterObject *VideoMemoryPtr ; -typedef volatile VideoAdapterObject *VgaMemoryPtr ; -#if !defined(BITMAP_BIT_ORDER) -#define BITMAP_BIT_ORDER MSBFirst -#endif - -#if !defined(IMAGE_BYTE_ORDER) -#define IMAGE_BYTE_ORDER LSBFirst -#endif - -/* Bit Ordering Macros */ -#if !defined(SCRLEFT8) -#define SCRLEFT8(lw, n) ( (unsigned char) (((unsigned char) lw) << (n)) ) -#endif -#if !defined(SCRRIGHT8) -#define SCRRIGHT8(lw, n) ( (unsigned char) (((unsigned char)lw) >> (n)) ) -#endif -/* These work ONLY on 8-bit wide Quantities !! */ -#define LeftmostBit ( SCRLEFT8( 0xFF, 7 ) & 0xFF ) -#define RightmostBit ( SCRRIGHT8( 0xFF, 7 ) & 0xFF ) - -/* - * [ev]ga video screen defines & macros - */ -#define VGA_BLACK_PIXEL 0 -#define VGA_WHITE_PIXEL 1 - -#define VGA_MAXPLANES 4 -#define VGA_ALLPLANES 0xFL - -#define VIDBASE(pDraw) ((volatile unsigned char *) \ - (((PixmapPtr)(((DrawablePtr)(pDraw))->pScreen->devPrivate))-> \ - devPrivate.ptr)) -#define BYTES_PER_LINE(pDraw) \ - ((int)((PixmapPtr)(((DrawablePtr)(pDraw))->pScreen->devPrivate))->devKind) - -#define ROW_OFFSET( x ) ( ( x ) >> 3 ) -#define BIT_OFFSET( x ) ( ( x ) & 0x7 ) -#define SCREENADDRESS( pWin, x, y ) \ - ( VIDBASE(pWin) + (y) * BYTES_PER_LINE(pWin) + ROW_OFFSET(x) ) - - diff --git a/xorg-server/hw/xfree86/xf4bpp/vgamodule.c b/xorg-server/hw/xfree86/xf4bpp/vgamodule.c deleted file mode 100644 index e7324914b..000000000 --- a/xorg-server/hw/xfree86/xf4bpp/vgamodule.c +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Copyright (C) 1998 The XFree86 Project, 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 - * 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. - */ - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include "xf86Module.h" - -static MODULESETUPPROTO(xf4bppSetup); - -static XF86ModuleVersionInfo VersRec = -{ - "xf4bpp", - MODULEVENDORSTRING, - MODINFOSTRING1, - MODINFOSTRING2, - XORG_VERSION_CURRENT, - 1, 0, 0, - ABI_CLASS_ANSIC, /* Only need ansic layer */ - ABI_ANSIC_VERSION, - MOD_CLASS_NONE, - {0,0,0,0} /* signature, to be patched into the file by a tool */ -}; - -_X_EXPORT XF86ModuleData xf4bppModuleData = { &VersRec, xf4bppSetup, NULL }; - -static pointer -xf4bppSetup(pointer module, pointer opts, int *errmaj, int *errmin) -{ - /* This module requires xf1bpp for bitmap support */ - return LoadSubModule(module, "xf1bpp", NULL, NULL, NULL, NULL, - errmaj, errmin); -} diff --git a/xorg-server/hw/xfree86/xf4bpp/wm3.c b/xorg-server/hw/xfree86/xf4bpp/wm3.c deleted file mode 100644 index 3a57221f2..000000000 --- a/xorg-server/hw/xfree86/xf4bpp/wm3.c +++ /dev/null @@ -1,203 +0,0 @@ -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include "xf4bpp.h" -#include "OScompiler.h" -#include "wm3.h" -#include "vgaVideo.h" -#include "xf86.h" - -/* Ferraro is wrong. GJA */ -#define COPY (0 << 3) -#define AND (1 << 3) -#define OR (2 << 3) -#define XOR (3 << 3) - -int -wm3_set_regs(pGC) -GC *pGC; -{ -#ifndef PC98_EGC - IOADDRESS REGBASE = xf86Screens[pGC->pScreen->myNum]->domainIOBase + 0x300; - int post_invert = 0; - int ALU; - - switch(pGC->alu) { - case GXclear: /* rop0 = RROP_BLACK; rop1 = RROP_BLACK; */ - pGC->fgPixel = 0; - pGC->bgPixel = 0; - ALU = COPY; - break; - case GXand: /* rop0 = RROP_BLACK; rop1 = RROP_NOP; */ - ALU = AND; - break; - case GXandReverse: /* rop0 = RROP_BLACK; rop1 = RROP_INVERT; -- TRICKY */ - pGC->fgPixel = ~pGC->fgPixel; - pGC->bgPixel = ~pGC->bgPixel; - ALU = OR; - post_invert = 1; - break; - case GXcopy: /* rop0 = RROP_BLACK; rop1 = RROP_WHITE; */ - ALU = COPY; - break; - case GXandInverted: /* rop0 = RROP_NOP; rop1 = RROP_BLACK; */ - pGC->fgPixel = ~pGC->fgPixel; - pGC->bgPixel = ~pGC->bgPixel; - ALU = AND; - break; - default: - case GXnoop: /* rop0 = RROP_NOP; rop1 = RROP_NOP; */ - return 0; - case GXxor: /* rop0 = RROP_NOP; rop1 = RROP_INVERT; */ - ALU = XOR; - break; - case GXor: /* rop0 = RROP_NOP; rop1 = RROP_WHITE; */ - ALU = OR; - break; - case GXnor: /* rop0 = RROP_INVERT; rop1 = RROP_BLACK; -- TRICKY*/ - ALU = OR; - post_invert = 1; - break; - case GXequiv: /* rop0 = RROP_INVERT; rop1 = RROP_NOP; */ - pGC->fgPixel = ~pGC->fgPixel; - pGC->bgPixel = ~pGC->bgPixel; - ALU = XOR; - break; - case GXinvert: /* rop0 = RROP_INVERT; rop1 = RROP_INVERT; */ - pGC->fgPixel = 0x0F; - pGC->bgPixel = 0x0F; - ALU = XOR; - break; - case GXorReverse: /* rop0 = RROP_INVERT; rop1 = RROP_WHITE; -- TRICKY */ - pGC->fgPixel = ~pGC->fgPixel; - pGC->bgPixel = ~pGC->bgPixel; - ALU = AND; - post_invert = 1; - break; - case GXcopyInverted: /* rop0 = RROP_WHITE; rop1 = RROP_BLACK; */ - pGC->fgPixel = ~pGC->fgPixel; - pGC->bgPixel = ~pGC->bgPixel; - ALU = COPY; - break; - case GXorInverted: /* rop0 = RROP_WHITE; rop1 = RROP_NOP; */ - pGC->fgPixel = ~pGC->fgPixel; - pGC->bgPixel = ~pGC->bgPixel; - ALU = OR; - break; - case GXnand: /* rop0 = RROP_WHITE; rop1 = RROP_INVERT; -- TRICKY */ - ALU = AND; - post_invert = 1; - break; - case GXset: /* rop0 = RROP_WHITE; rop1 = RROP_WHITE; */ - pGC->fgPixel = 0x0F; - pGC->bgPixel = 0x0F; - ALU = COPY; - break; - } - - - SetVideoSequencer(Mask_MapIndex, (pGC->planemask & VGA_ALLPLANES)); - SetVideoGraphics(Enb_Set_ResetIndex, VGA_ALLPLANES); - SetVideoGraphics(Set_ResetIndex, pGC->fgPixel); - SetVideoGraphics(Bit_MaskIndex, 0xFF); - SetVideoGraphics(Graphics_ModeIndex, 3); /* Write Mode 3 */ - SetVideoGraphics(Data_RotateIndex, ALU); - - return post_invert; -#else - int ALU; - - switch(pGC->alu) { - case GXclear: /* rop0 = RROP_BLACK; rop1 = RROP_BLACK; */ - pGC->fgPixel = 0; - pGC->bgPixel = 0; - ALU = EGC_COPY_MODE; - break; - case GXand: /* rop0 = RROP_BLACK; rop1 = RROP_NOP; */ - ALU = EGC_AND_MODE; - break; - case GXandReverse: /* rop0 = RROP_BLACK; rop1 = RROP_INVERT; -- TRICKY */ - pGC->fgPixel = ~pGC->fgPixel; - pGC->bgPixel = ~pGC->bgPixel; - ALU = EGC_OR_INV_MODE; - break; - case GXcopy: /* rop0 = RROP_BLACK; rop1 = RROP_WHITE; */ - ALU = EGC_COPY_MODE; - break; - case GXandInverted: /* rop0 = RROP_NOP; rop1 = RROP_BLACK; */ - pGC->fgPixel = ~pGC->fgPixel; - pGC->bgPixel = ~pGC->bgPixel; - ALU = EGC_AND_MODE; - break; - case GXnoop: /* rop0 = RROP_NOP; rop1 = RROP_NOP; */ - return 0; - case GXxor: /* rop0 = RROP_NOP; rop1 = RROP_INVERT; */ - ALU = EGC_XOR_MODE; - break; - case GXor: /* rop0 = RROP_NOP; rop1 = RROP_WHITE; */ - ALU = EGC_OR_MODE; - break; - case GXnor: /* rop0 = RROP_INVERT; rop1 = RROP_BLACK; -- TRICKY*/ - ALU = EGC_OR_INV_MODE; - break; - case GXequiv: /* rop0 = RROP_INVERT; rop1 = RROP_NOP; */ - pGC->fgPixel = ~pGC->fgPixel; - pGC->bgPixel = ~pGC->bgPixel; - ALU = EGC_XOR_MODE; - break; - case GXinvert: /* rop0 = RROP_INVERT; rop1 = RROP_INVERT; */ - pGC->fgPixel = 0x0F; - pGC->bgPixel = 0x0F; - ALU = EGC_XOR_MODE; - break; - case GXorReverse: /* rop0 = RROP_INVERT; rop1 = RROP_WHITE; -- TRICKY */ - pGC->fgPixel = ~pGC->fgPixel; - pGC->bgPixel = ~pGC->bgPixel; - ALU = EGC_AND_INV_MODE; - break; - case GXcopyInverted: /* rop0 = RROP_WHITE; rop1 = RROP_BLACK; */ - pGC->fgPixel = ~pGC->fgPixel; - pGC->bgPixel = ~pGC->bgPixel; - ALU = EGC_COPY_MODE; - break; - case GXorInverted: /* rop0 = RROP_WHITE; rop1 = RROP_NOP; */ - pGC->fgPixel = ~pGC->fgPixel; - pGC->bgPixel = ~pGC->bgPixel; - ALU = EGC_OR_MODE; - break; - case GXnand: /* rop0 = RROP_WHITE; rop1 = RROP_INVERT; -- TRICKY */ - ALU = EGC_OR_INV_MODE; - break; - case GXset: /* rop0 = RROP_WHITE; rop1 = RROP_WHITE; */ - pGC->fgPixel = 0x0F; - pGC->bgPixel = 0x0F; - ALU = EGC_COPY_MODE; - break; - } - - outw(EGC_PLANE, ~(pGC->planemask & VGA_ALLPLANES)); - outw(EGC_MODE, ALU); - outw(EGC_FGC, pGC->fgPixel & VGA_ALLPLANES); /* set FGC */ - - return 0; -#endif -} - -/* - Now we will have to set the alu. - Problematic is: How do we handle IsDoubleDash, which draws with both fg - and bg colour? - The answer is: We take care to store the ink colour in one register only. - Then we need set only this register to change the ink. - */ - -/* -- MORE NOTES: - We might try to 'wrap' the mfb functions in a 16-colour wrapper that does - all operations once. However, this does not work: - Some operations (esp) CopyArea may for example cause expositions. - Such expositions will cause data to be copied in from backing store, - and this copying in may damage the contents of the VGA registers. - So we must take care to set the VGA registers at each place where they could - be modified. - */ diff --git a/xorg-server/hw/xfree86/xf4bpp/wm3.h b/xorg-server/hw/xfree86/xf4bpp/wm3.h deleted file mode 100644 index 113723283..000000000 --- a/xorg-server/hw/xfree86/xf4bpp/wm3.h +++ /dev/null @@ -1,73 +0,0 @@ -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include "vgaReg.h" - -#ifdef PC98_EGC -#define VGA_ALLPLANES 0xFL -#endif - -/* Do call in Write Mode 3. - * We take care of the possibility that two passes are needed. - */ -#ifndef PC98_EGC -#define DO_WM3(pgc,call) \ - { int _tp, _fg, _bg, _alu; \ - _fg = pgc->fgPixel; _bg = pgc->bgPixel; \ - _tp = wm3_set_regs(pgc); \ - (call); \ - if ( _tp ) { \ - _alu = pgc->alu; \ - pgc->alu = GXinvert; \ - _tp = wm3_set_regs(pgc); \ - (call); \ - pgc->alu = _alu; \ - } \ - pgc->fgPixel = _fg; pgc->bgPixel = _bg; \ - } -#else -#define DO_WM3(pgc,call) \ - { int _tp, _fg, _bg; \ - _fg = pgc->fgPixel; _bg = pgc->bgPixel; \ - _tp = wm3_set_regs(pgc); \ - (call); \ - pgc->fgPixel = _fg; pgc->bgPixel = _bg; \ - } -#endif - -#ifndef PC98_EGC -#define WM3_SET_INK(ink) \ - SetVideoGraphics(Set_ResetIndex, ink) -#else -#define WM3_SET_INK(ink) \ - outw(EGC_FGC, ink) -#endif - -/* GJA -- Move a long word to screen memory. - * The reads into 'dummy' are here to load the VGA latches. - * This is a RMW operation except for trivial cases. - * Notice that we ignore the operation. - */ -#ifdef PC98_EGC -#define UPDRW(destp,src) \ - { volatile unsigned short *_dtmp = \ - (volatile unsigned short *)(destp); \ - unsigned int _stmp = (src); \ - *_dtmp = _stmp; _dtmp++; _stmp >>= 16; \ - *_dtmp = _stmp; } -#else -#define UPDRW(destp,src) \ - { volatile char *_dtmp = (volatile char *)(destp); \ - unsigned int _stmp = (src); \ - volatile int dummy; /* Bit bucket. */ \ - _stmp = ldl_u(&_stmp); \ - dummy = *_dtmp; *_dtmp = _stmp; _dtmp++; _stmp >>= 8; \ - dummy = *_dtmp; *_dtmp = _stmp; _dtmp++; _stmp >>= 8; \ - dummy = *_dtmp; *_dtmp = _stmp; _dtmp++; _stmp >>= 8; \ - dummy = *_dtmp; *_dtmp = _stmp; } -#endif - -#define UPDRWB(destp,src) \ - { volatile int dummy; /* Bit bucket. */ \ - dummy = *(destp); *(destp) = (src); } diff --git a/xorg-server/hw/xfree86/xf4bpp/xf4bpp.h b/xorg-server/hw/xfree86/xf4bpp/xf4bpp.h deleted file mode 100644 index cf0822444..000000000 --- a/xorg-server/hw/xfree86/xf4bpp/xf4bpp.h +++ /dev/null @@ -1,622 +0,0 @@ - -#ifndef __XF4BPP_H__ -#define __XF4BPP_H__ - - -#include "windowstr.h" -#include "gcstruct.h" -#include "colormapst.h" -#include -#ifndef PixelType -#define PixelType CARD32 -#endif - -/* ppcArea.c */ -void xf4bppFillArea( - WindowPtr, - int, - BoxPtr, - GCPtr -); - -/* ppcClip.c */ -void xf4bppDestroyClip( - GCPtr -); -void xf4bppChangeClip( - GCPtr, - int, - pointer, - int -); -void xf4bppCopyClip( - GCPtr, - GCPtr -); - -/* ppcCpArea.c */ -RegionPtr xf4bppCopyArea( - DrawablePtr, - DrawablePtr, - GCPtr, - int, - int, - int, - int, - int, - int -); - -/* ppcDepth.c */ -Bool xf4bppDepthOK( - DrawablePtr, - int -); - -/* ppcFillRct.c */ -void xf4bppPolyFillRect( - DrawablePtr, - GCPtr, - int, - xRectangle * -); - -/* ppcWindowFS.c */ -void xf4bppSolidWindowFS( - DrawablePtr, - GCPtr, - int, - DDXPointPtr, - int *, - int -); -void xf4bppStippleWindowFS( - DrawablePtr, - GCPtr, - int, - DDXPointPtr, - int *, - int -); -void xf4bppOpStippleWindowFS( - DrawablePtr, - GCPtr, - int, - DDXPointPtr, - int *, - int -); -void xf4bppTileWindowFS( - DrawablePtr, - GCPtr, - int, - DDXPointPtr, - int *, - int -); - -/* xf4bppPixmapFS.c */ -void xf4bppSolidPixmapFS( - DrawablePtr, - GCPtr, - int, - DDXPointPtr, - int *, - int -); -void xf4bppStipplePixmapFS( - DrawablePtr, - GCPtr, - int, - DDXPointPtr, - int *, - int -); -void xf4bppOpStipplePixmapFS( - DrawablePtr, - GCPtr, - int, - DDXPointPtr, - int *, - int -); -void xf4bppTilePixmapFS( - DrawablePtr, - GCPtr, - int, - DDXPointPtr, - int *, - int -); - -/* ppcGC.c */ -Bool xf4bppCreateGC( - GCPtr -); - -/* ppcGetSp.c */ -void xf4bppGetSpans( - DrawablePtr, - int, - DDXPointPtr, - int *, - int, - char * -); - -/* ppcImg.c */ -void xf4bppGetImage( - DrawablePtr, - int, - int, - int, - int, - unsigned int, - unsigned long, - char * -); - -/* ppcLine.c */ -void xf4bppScrnZeroLine( - DrawablePtr, - GCPtr, - int, - int, - DDXPointPtr -); -void xf4bppScrnZeroDash( - DrawablePtr, - GCPtr, - int, - int, - DDXPointPtr -); -void xf4bppScrnZeroSegs( - DrawablePtr, - GCPtr, - int, - xSegment * -); - -/* ppcPixmap.c */ -PixmapPtr xf4bppCreatePixmap( - ScreenPtr, - int, - int, - int, - unsigned -); -PixmapPtr xf4bppCopyPixmap( - PixmapPtr -); - -/* ppcPolyPnt.c */ -void xf4bppPolyPoint( - DrawablePtr, - GCPtr, - int, - int, - xPoint * -); - -/* ppcPolyRec.c */ -void xf4bppPolyRectangle( - DrawablePtr, - GCPtr, - int, - xRectangle * -); - -/* ppcQuery.c */ -void xf4bppQueryBestSize( - int, - unsigned short *, - unsigned short *, - ScreenPtr -); - -/* ppcRslvC.c */ -void xf4bppResolveColor( - unsigned short *, - unsigned short *, - unsigned short *, - VisualPtr -); -Bool xf4bppInitializeColormap( - ColormapPtr -); - -/* ppcSetSp.c */ -void xf4bppSetSpans( - DrawablePtr, - GCPtr, - char *, - DDXPointPtr, - int *, - int, - int -); - -/* ppcWindow.c */ -void xf4bppCopyWindow( - WindowPtr, - DDXPointRec, - RegionPtr -); -Bool xf4bppPositionWindow( - WindowPtr, - int, - int -); -Bool xf4bppUnrealizeWindow( - WindowPtr, - int, - int -); -Bool xf4bppDestroyWindow( - WindowPtr -); -Bool xf4bppCreateWindowForXYhardware( - WindowPtr -); - -/* emulOpStip.c */ -void xf4bppOpaqueStipple( - WindowPtr, - PixmapPtr, - unsigned long int, - unsigned long int, - int, - unsigned long int, - int, - int, - int, - int, - int, - int -); - -/* emulRepAre.c */ -void xf4bppReplicateArea( - WindowPtr, - int, - int, - int, - int, - int, - int, - int -); - -/* emulTile.c */ -void xf4bppTileRect( - WindowPtr, - PixmapPtr, - const int, - const unsigned long int, - int, - int, - int, - int, - int, - int -); - -/* vgaGC.c */ -Mask xf4bppChangeWindowGC( - GCPtr, - Mask -); - -/* vgaBitBlt.c */ -void xf4bppBitBlt( - WindowPtr, - int, - int, - int, - int, - int, - int, - int, - int -); - -/* vgaImages.c */ -void xf4bppDrawColorImage( - WindowPtr, - int, - int, - int, - int, - unsigned char *, - int, - const int, - const unsigned long int -); -void xf4bppReadColorImage( - WindowPtr, - int, - int, - int, - int, - unsigned char *, - int -); - -/* vgaLine.c */ -void xf4bppHorzLine( - WindowPtr, - unsigned long int, - int, - unsigned long int, - int, - int, - int -); -void xf4bppVertLine( - WindowPtr, - unsigned long int, - int, - unsigned long int, - int, - int, - int -); -void xf4bppBresLine( - WindowPtr, - unsigned long int, - int, - unsigned long int, - int, - int, - int, - int, - int, - int, - int, - int, - unsigned long int -); - -/* vgaStipple.c */ -void xf4bppFillStipple( - WindowPtr, - const PixmapPtr, - unsigned long int, - const int, - unsigned long int, - int, - int, - int, - int, - const int, - const int -); - -/* vgaSolid.c */ -void xf4bppFillSolid( - WindowPtr, - unsigned long int, - const int, - unsigned long int, - int, - const int, - int, - const int -); - -/* offscreen.c */ -void xf4bppOffBitBlt( - WindowPtr, - const int, - const int, - int, - int, - int, - int, - int, - int -); -void xf4bppOffDrawColorImage( - WindowPtr, - int, - int, - int, - int, - unsigned char *, - int, - const int, - const unsigned long int -); -void xf4bppOffReadColorImage( - WindowPtr, - int, - int, - int, - int, - unsigned char *, - int -); -void xf4bppOffFillSolid( - WindowPtr, - unsigned long int, - const int, - unsigned long int, - int, - const int, - int, - const int -); -void xf4bppOffDrawMonoImage( - WindowPtr, - unsigned char *, - int, - int, - int, - int, - unsigned long int, - int, - unsigned long int -); -void xf4bppOffFillStipple( - WindowPtr, - const PixmapPtr, - unsigned long int, - const int, - unsigned long int, - int, - int, - int, - int, - const int, - const int -); - -/* mfbimggblt.c */ -void xf4bppImageGlyphBlt( - DrawablePtr, - GCPtr, - int, - int, - unsigned int, - CharInfoPtr *, - pointer -); - -/* wm3.c */ -int wm3_set_regs( - GC * -); - -/* ppcIO.c */ -void xf4bppNeverCalled( - void -); -Bool xf4bppScreenInit( - ScreenPtr, - pointer, - int, - int, - int, - int, - int -); - -/* mfbfillarc.c */ -void xf4bppPolyFillArc( - DrawablePtr, - GCPtr, - int, - xArc * -); - -/* mfbzerarc.c */ -void xf4bppZeroPolyArc( - DrawablePtr, - GCPtr, - int, - xArc * -); - -/* mfbline.c */ -void xf4bppSegmentSS ( - DrawablePtr, - GCPtr, - int, - xSegment * -); -void xf4bppLineSS ( - DrawablePtr, - GCPtr, - int, - int, - DDXPointPtr -); -void xf4bppSegmentSD ( - DrawablePtr, - GCPtr, - int, - xSegment * -); -void xf4bppLineSD ( - DrawablePtr, - GCPtr, - int, - int, - DDXPointPtr -); - -/* mfbbres.c */ -void xf4bppBresS( - PixelType *, - int, - int, - int, - int, - int, - int, - int, - int, - int, - int -); - -/* mfbbresd.c */ -void xf4bppBresD( - DrawablePtr, - int, int, - int *, - unsigned char *, - int, - int *, - int, - PixelType *, - int, int, int, int, int, int, - int, int, - int, int -); - -/* mfbhrzvert.c */ -void xf4bppHorzS( - PixelType *, - int, - int, - int, - int -); -void xf4bppVertS( - PixelType *, - int, - int, - int, - int -); - -#ifdef PC98_EGC - -/* egc_asm.s */ -unsigned char getbits_x( - int, - unsigned int, - pointer, - unsigned int -); -void wcopyr( - pointer, - pointer, - int, - pointer -); -void wcopyl( - pointer, - pointer, - int, - pointer -); -unsigned long int read8Z( - pointer -); - -#endif /* PC98_EGC */ - -#endif /* __XF4BPP_H__ */ diff --git a/xorg-server/hw/xfree86/xf8_16bpp/Makefile.in b/xorg-server/hw/xfree86/xf8_16bpp/Makefile.in index d930ddce1..68a62716e 100644 --- a/xorg-server/hw/xfree86/xf8_16bpp/Makefile.in +++ b/xorg-server/hw/xfree86/xf8_16bpp/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -45,7 +45,6 @@ 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 \ @@ -71,9 +70,6 @@ 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) \ @@ -90,8 +86,9 @@ ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ -APPDEFAULTDIR = @APPDEFAULTDIR@ APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +APPLE_APPLICATION_ID = @APPLE_APPLICATION_ID@ +APPLE_APPLICATION_NAME = @APPLE_APPLICATION_NAME@ APP_MAN_DIR = @APP_MAN_DIR@ APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ AR = @AR@ @@ -112,10 +109,6 @@ 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@ @@ -137,6 +130,7 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOLT_BASH = @DOLT_BASH@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ @@ -146,18 +140,15 @@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ DSYMUTIL = @DSYMUTIL@ DTRACE = @DTRACE@ -ECHO = @ECHO@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ -FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ -FREETYPE_LIBS = @FREETYPE_LIBS@ GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ GLX_DEFINES = @GLX_DEFINES@ GL_CFLAGS = @GL_CFLAGS@ @@ -176,7 +167,7 @@ KDRIVE_LIBS = @KDRIVE_LIBS@ KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ -LAUNCHD = @LAUNCHD@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ LEX = @LEX@ @@ -190,7 +181,10 @@ LIBTOOL = @LIBTOOL@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LINUXDOC = @LINUXDOC@ +LIPO = @LIPO@ LN_S = @LN_S@ +LTCOMPILE = @LTCOMPILE@ +LTCXXCOMPILE = @LTCXXCOMPILE@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ @@ -202,8 +196,7 @@ MESA_SOURCE = @MESA_SOURCE@ MISC_MAN_DIR = @MISC_MAN_DIR@ MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ MKDIR_P = @MKDIR_P@ -MKFONTDIR = @MKFONTDIR@ -MKFONTSCALE = @MKFONTSCALE@ +NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCCLD = @OBJCCLD@ @@ -212,8 +205,8 @@ OBJCFLAGS = @OBJCFLAGS@ OBJCLINK = @OBJCLINK@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ @@ -246,7 +239,6 @@ VENDOR_NAME = @VENDOR_NAME@ VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ VENDOR_RELEASE = @VENDOR_RELEASE@ VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ XDMCP_CFLAGS = @XDMCP_CFLAGS@ @@ -256,27 +248,12 @@ XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@ XDMX_CFLAGS = @XDMX_CFLAGS@ XDMX_LIBS = @XDMX_LIBS@ XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ XEPHYR_INCS = @XEPHYR_INCS@ XEPHYR_LIBS = @XEPHYR_LIBS@ 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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ @@ -287,10 +264,6 @@ XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ XNEST_LIBS = @XNEST_LIBS@ XNEST_SYS_LIBS = @XNEST_SYS_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_INCS = @XORG_INCS@ XORG_LIBS = @XORG_LIBS@ @@ -299,13 +272,8 @@ XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ XORG_OS = @XORG_OS@ XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_LIBS@ +XPBPROXY_CFLAGS = @XPBPROXY_CFLAGS@ +XPBPROXY_LIBS = @XPBPROXY_LIBS@ XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ XSDL_INCS = @XSDL_INCS@ @@ -338,8 +306,7 @@ 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@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -359,7 +326,6 @@ driverdir = @driverdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ extdir = @extdir@ -ft_config = @ft_config@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ @@ -369,12 +335,12 @@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ -launchagentsdir = @launchagentsdir@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ logdir = @logdir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ moduledir = @moduledir@ @@ -392,8 +358,6 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ module_LTLIBRARIES = libxf8_16bpp.la sdk_HEADERS = cfb8_16.h INCLUDES = $(XORG_INCS) -I$(top_srcdir)/fb @@ -408,8 +372,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ @@ -520,7 +484,7 @@ ID: $(HEADERS) $(SOURCES) $(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; nonemtpy = 1; } \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS diff --git a/xorg-server/hw/xfree86/xf8_32bpp/Makefile.am b/xorg-server/hw/xfree86/xf8_32bpp/Makefile.am deleted file mode 100644 index 6f51a628e..000000000 --- a/xorg-server/hw/xfree86/xf8_32bpp/Makefile.am +++ /dev/null @@ -1,37 +0,0 @@ -module_LTLIBRARIES = libxf8_32bpp.la - -sdk_HEADERS = cfb8_32.h - -INCLUDES = $(XORG_INCS) -I$(top_srcdir)/mfb -I$(top_srcdir)/cfb - -AM_CFLAGS = $(DIX_CFLAGS) $(XORG_CFLAGS) - -libxf8_32bpp_la_LDFLAGS = -avoid-version - -libxf8_32bpp_la_SOURCES = \ - cfbcpyarea.c \ - cfbcpyplane.c \ - cfbgcmisc.c \ - cfbimage.c \ - cfbpntwin.c \ - cfbscrinit.c \ - cfbwindow.c \ - xf86overlay.c \ - cfb8_32module.c \ - cfbgc8.c \ - cfbgc32.c \ - cfbgcunder.c - -libxf8_32bpp_la_LIBADD = $(top_builddir)/cfb32/libcfb32.la - -EXTRA_DIST = cfbgc.c - -cfbgc8.c: $(srcdir)/cfbgc.c - echo '#define PSZ 8' > $@ - echo '#include "$(srcdir)/cfbgc.c"' >> $@ - -cfbgc32.c: $(srcdir)/cfbgc.c - echo '#define PSZ 32' > $@ - echo '#include "$(srcdir)/cfbgc.c"' >> $@ - -DISTCLEANFILES = cfbgc8.c cfbgc32.c diff --git a/xorg-server/hw/xfree86/xf8_32bpp/Makefile.in b/xorg-server/hw/xfree86/xf8_32bpp/Makefile.in deleted file mode 100644 index 5bea22162..000000000 --- a/xorg-server/hw/xfree86/xf8_32bpp/Makefile.in +++ /dev/null @@ -1,739 +0,0 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008 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 = hw/xfree86/xf8_32bpp -DIST_COMMON = $(sdk_HEADERS) $(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__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)$(moduledir)" "$(DESTDIR)$(sdkdir)" -moduleLTLIBRARIES_INSTALL = $(INSTALL) -LTLIBRARIES = $(module_LTLIBRARIES) -libxf8_32bpp_la_DEPENDENCIES = $(top_builddir)/cfb32/libcfb32.la -am_libxf8_32bpp_la_OBJECTS = cfbcpyarea.lo cfbcpyplane.lo cfbgcmisc.lo \ - cfbimage.lo cfbpntwin.lo cfbscrinit.lo cfbwindow.lo \ - xf86overlay.lo cfb8_32module.lo cfbgc8.lo cfbgc32.lo \ - cfbgcunder.lo -libxf8_32bpp_la_OBJECTS = $(am_libxf8_32bpp_la_OBJECTS) -libxf8_32bpp_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(libxf8_32bpp_la_LDFLAGS) $(LDFLAGS) -o $@ -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include -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 = $(libxf8_32bpp_la_SOURCES) -DIST_SOURCES = $(libxf8_32bpp_la_SOURCES) -sdkHEADERS_INSTALL = $(INSTALL_HEADER) -HEADERS = $(sdk_HEADERS) -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@ -DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ -DRI2PROTO_LIBS = @DRI2PROTO_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@ -DSYMUTIL = @DSYMUTIL@ -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@ -GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ -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@ -LAUNCHD = @LAUNCHD@ -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@ -NMEDIT = @NMEDIT@ -OBJC = @OBJC@ -OBJCCLD = @OBJCCLD@ -OBJCDEPMODE = @OBJCDEPMODE@ -OBJCFLAGS = @OBJCFLAGS@ -OBJCLINK = @OBJCLINK@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ -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@ -PCIACCESS_CFLAGS = @PCIACCESS_CFLAGS@ -PCIACCESS_LIBS = @PCIACCESS_LIBS@ -PCI_TXT_IDS_PATH = @PCI_TXT_IDS_PATH@ -PERL = @PERL@ -PKG_CONFIG = @PKG_CONFIG@ -PROJECTROOT = @PROJECTROOT@ -PS2PDF = @PS2PDF@ -RANLIB = @RANLIB@ -RAWCPP = @RAWCPP@ -RAWCPPFLAGS = @RAWCPPFLAGS@ -SED = @SED@ -SERVER_MISC_CONFIG_PATH = @SERVER_MISC_CONFIG_PATH@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ -SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ -STRIP = @STRIP@ -TSLIB_CFLAGS = @TSLIB_CFLAGS@ -TSLIB_LIBS = @TSLIB_LIBS@ -UTILS_SYS_LIBS = @UTILS_SYS_LIBS@ -VENDOR_MAN_VERSION = @VENDOR_MAN_VERSION@ -VENDOR_NAME = @VENDOR_NAME@ -VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ -VENDOR_RELEASE = @VENDOR_RELEASE@ -VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ -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_CFLAGS = @XDMX_CFLAGS@ -XDMX_LIBS = @XDMX_LIBS@ -XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ -XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ -XEPHYR_INCS = @XEPHYR_INCS@ -XEPHYR_LIBS = @XEPHYR_LIBS@ -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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ -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@ -XNEST_SYS_LIBS = @XNEST_SYS_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_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@ -XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_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@ -XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ -XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ -XTSTEXAMPLES_DEP_LIBS = @XTSTEXAMPLES_DEP_LIBS@ -XVFB_LIBS = @XVFB_LIBS@ -XVFB_SYS_LIBS = @XVFB_SYS_LIBS@ -XWINMODULES_CFLAGS = @XWINMODULES_CFLAGS@ -XWINMODULES_LIBS = @XWINMODULES_LIBS@ -XWIN_LIBS = @XWIN_LIBS@ -XWIN_SERVER_NAME = @XWIN_SERVER_NAME@ -XWIN_SYS_LIBS = @XWIN_SYS_LIBS@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -__XCONFIGFILE__ = @__XCONFIGFILE__@ -abi_ansic = @abi_ansic@ -abi_extension = @abi_extension@ -abi_font = @abi_font@ -abi_videodrv = @abi_videodrv@ -abi_xinput = @abi_xinput@ -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@ -launchagentsdir = @launchagentsdir@ -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_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ -module_LTLIBRARIES = libxf8_32bpp.la -sdk_HEADERS = cfb8_32.h -INCLUDES = $(XORG_INCS) -I$(top_srcdir)/mfb -I$(top_srcdir)/cfb -AM_CFLAGS = $(DIX_CFLAGS) $(XORG_CFLAGS) -libxf8_32bpp_la_LDFLAGS = -avoid-version -libxf8_32bpp_la_SOURCES = \ - cfbcpyarea.c \ - cfbcpyplane.c \ - cfbgcmisc.c \ - cfbimage.c \ - cfbpntwin.c \ - cfbscrinit.c \ - cfbwindow.c \ - xf86overlay.c \ - cfb8_32module.c \ - cfbgc8.c \ - cfbgc32.c \ - cfbgcunder.c - -libxf8_32bpp_la_LIBADD = $(top_builddir)/cfb32/libcfb32.la -EXTRA_DIST = cfbgc.c -DISTCLEANFILES = cfbgc8.c cfbgc32.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 hw/xfree86/xf8_32bpp/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign hw/xfree86/xf8_32bpp/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-moduleLTLIBRARIES: $(module_LTLIBRARIES) - @$(NORMAL_INSTALL) - test -z "$(moduledir)" || $(MKDIR_P) "$(DESTDIR)$(moduledir)" - @list='$(module_LTLIBRARIES)'; for p in $$list; do \ - if test -f $$p; then \ - f=$(am__strip_dir) \ - echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(moduleLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(moduledir)/$$f'"; \ - $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(moduleLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(moduledir)/$$f"; \ - else :; fi; \ - done - -uninstall-moduleLTLIBRARIES: - @$(NORMAL_UNINSTALL) - @list='$(module_LTLIBRARIES)'; for p in $$list; do \ - p=$(am__strip_dir) \ - echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(moduledir)/$$p'"; \ - $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(moduledir)/$$p"; \ - done - -clean-moduleLTLIBRARIES: - -test -z "$(module_LTLIBRARIES)" || rm -f $(module_LTLIBRARIES) - @list='$(module_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 -libxf8_32bpp.la: $(libxf8_32bpp_la_OBJECTS) $(libxf8_32bpp_la_DEPENDENCIES) - $(libxf8_32bpp_la_LINK) -rpath $(moduledir) $(libxf8_32bpp_la_OBJECTS) $(libxf8_32bpp_la_LIBADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cfb8_32module.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cfbcpyarea.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cfbcpyplane.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cfbgc32.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cfbgc8.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cfbgcmisc.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cfbgcunder.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cfbimage.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cfbpntwin.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cfbscrinit.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cfbwindow.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xf86overlay.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 -install-sdkHEADERS: $(sdk_HEADERS) - @$(NORMAL_INSTALL) - test -z "$(sdkdir)" || $(MKDIR_P) "$(DESTDIR)$(sdkdir)" - @list='$(sdk_HEADERS)'; for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f=$(am__strip_dir) \ - echo " $(sdkHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(sdkdir)/$$f'"; \ - $(sdkHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(sdkdir)/$$f"; \ - done - -uninstall-sdkHEADERS: - @$(NORMAL_UNINSTALL) - @list='$(sdk_HEADERS)'; for p in $$list; do \ - f=$(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(sdkdir)/$$f'"; \ - rm -f "$(DESTDIR)$(sdkdir)/$$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; nonemtpy = 1; } \ - END { if (nonempty) { 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; nonempty = 1; } \ - END { if (nonempty) { 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=; \ - 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; nonempty = 1; } \ - END { if (nonempty) { 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) $(HEADERS) -installdirs: - for dir in "$(DESTDIR)$(moduledir)" "$(DESTDIR)$(sdkdir)"; 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) - -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) - -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-moduleLTLIBRARIES \ - 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-moduleLTLIBRARIES install-sdkHEADERS - -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-moduleLTLIBRARIES uninstall-sdkHEADERS - -.MAKE: install-am install-strip - -.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ - clean-libtool clean-moduleLTLIBRARIES 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-moduleLTLIBRARIES install-pdf install-pdf-am \ - install-ps install-ps-am install-sdkHEADERS 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-moduleLTLIBRARIES \ - uninstall-sdkHEADERS - - -cfbgc8.c: $(srcdir)/cfbgc.c - echo '#define PSZ 8' > $@ - echo '#include "$(srcdir)/cfbgc.c"' >> $@ - -cfbgc32.c: $(srcdir)/cfbgc.c - echo '#define PSZ 32' > $@ - echo '#include "$(srcdir)/cfbgc.c"' >> $@ -# 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/xorg-server/hw/xfree86/xf8_32bpp/cfb8_32.h b/xorg-server/hw/xfree86/xf8_32bpp/cfb8_32.h deleted file mode 100644 index 6e985da20..000000000 --- a/xorg-server/hw/xfree86/xf8_32bpp/cfb8_32.h +++ /dev/null @@ -1,191 +0,0 @@ - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#ifndef _CFB8_32_H -#define _CFB8_32_H - -#include "gcstruct.h" - -typedef struct { - GCOps *Ops8bpp; - GCOps *Ops32bpp; - unsigned long changes; - Bool OpsAre8bpp; -} cfb8_32GCRec, *cfb8_32GCPtr; - -typedef struct { - unsigned char key; - void (*EnableDisableFBAccess)(int scrnIndex, Bool enable); - pointer visualData; -} cfb8_32ScreenRec, *cfb8_32ScreenPtr; - - -extern DevPrivateKey cfb8_32GetGCPrivateKey(void); -extern DevPrivateKey cfb8_32GetScreenPrivateKey(void); - -RegionPtr -cfb8_32CopyArea( - DrawablePtr pSrcDraw, - DrawablePtr pDstDraw, - GC *pGC, - int srcx, int srcy, - int width, int height, - int dstx, int dsty -); - -void -cfbDoBitblt8To32( - DrawablePtr pSrc, - DrawablePtr pDst, - int rop, - RegionPtr prgnDst, - DDXPointPtr pptSrc, - unsigned long planemask -); - -void -cfbDoBitblt32To8( - DrawablePtr pSrc, - DrawablePtr pDst, - int rop, - RegionPtr prgnDst, - DDXPointPtr pptSrc, - unsigned long planemask -); - - -void -cfb8_32ValidateGC8( - GCPtr pGC, - unsigned long changes, - DrawablePtr pDrawable -); - -void -cfb8_32ValidateGC32( - GCPtr pGC, - unsigned long changes, - DrawablePtr pDrawable -); - -void -cfb32ValidateGC_Underlay( - GCPtr pGC, - unsigned long changes, - DrawablePtr pDrawable -); - -Bool cfb8_32CreateGC(GCPtr pGC); - -void -cfb8_32GetSpans( - DrawablePtr pDraw, - int wMax, - DDXPointPtr ppt, - int *pwidth, - int nspans, - char *pchardstStart -); - -void -cfb8_32PutImage ( - DrawablePtr pDraw, - GCPtr pGC, - int depth, - int x, int y, int w, int h, - int leftPad, - int format, - char *pImage -); - -void -cfb8_32GetImage ( - DrawablePtr pDraw, - int sx, int sy, int w, int h, - unsigned int format, - unsigned long planeMask, - char *pdstLine -); - -Bool -cfb8_32ScreenInit ( - ScreenPtr pScreen, - pointer pbits, - int xsize, int ysize, - int dpix, int dpiy, - int width -); - -void -cfb8_32FillBoxSolid8 ( - DrawablePtr pDraw, - int nbox, - BoxPtr pBox, - unsigned long color -); - -RegionPtr -cfb8_32CopyPlane( - DrawablePtr pSrc, - DrawablePtr pDst, - GCPtr pGC, - int srcx, int srcy, - int width, int height, - int dstx, int dsty, - unsigned long bitPlane -); - -void -cfbDoBitblt8To8GXcopy( - DrawablePtr pSrc, - DrawablePtr pDst, - int rop, - RegionPtr prgnDst, - DDXPointPtr pptSrc, - unsigned long pm -); - -void -cfbDoBitblt24To24GXcopy( - DrawablePtr pSrc, - DrawablePtr pDst, - int rop, - RegionPtr prgnDst, - DDXPointPtr pptSrc, - unsigned long pm -); - -Bool cfb8_32CreateWindow(WindowPtr pWin); -Bool cfb8_32DestroyWindow(WindowPtr pWin); - -Bool -cfb8_32PositionWindow( - WindowPtr pWin, - int x, int y -); - -void -cfb8_32CopyWindow( - WindowPtr pWin, - DDXPointRec ptOldOrg, - RegionPtr prgnSrc -); - -Bool -cfb8_32ChangeWindowAttributes( - WindowPtr pWin, - unsigned long mask -); - - -#define CFB8_32_GET_GC_PRIVATE(pGC) ((cfb8_32GCPtr) \ - dixLookupPrivate(&(pGC)->devPrivates, cfb8_32GetGCPrivateKey())) - -#define CFB8_32_GET_SCREEN_PRIVATE(pScreen) ((cfb8_32ScreenPtr) \ - dixLookupPrivate(&(pScreen)->devPrivates, cfb8_32GetScreenPrivateKey())) - -Bool xf86Overlay8Plus32Init (ScreenPtr pScreen); - -#endif /* _CFB8_32_H */ diff --git a/xorg-server/hw/xfree86/xf8_32bpp/cfb8_32module.c b/xorg-server/hw/xfree86/xf8_32bpp/cfb8_32module.c deleted file mode 100644 index 5afabe52d..000000000 --- a/xorg-server/hw/xfree86/xf8_32bpp/cfb8_32module.c +++ /dev/null @@ -1,39 +0,0 @@ -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include "xf86Module.h" - -static MODULESETUPPROTO(xf8_32bppSetup); - -static XF86ModuleVersionInfo VersRec = -{ - "xf8_32bpp", - MODULEVENDORSTRING, - MODINFOSTRING1, - MODINFOSTRING2, - XORG_VERSION_CURRENT, - 1, 0, 0, - ABI_CLASS_ANSIC, /* Only need the ansic layer */ - ABI_ANSIC_VERSION, - MOD_CLASS_NONE, - {0,0,0,0} /* signature, to be patched into the file by a tool */ -}; - -_X_EXPORT XF86ModuleData xf8_32bppModuleData = { - &VersRec, - xf8_32bppSetup, - NULL -}; - -static pointer -xf8_32bppSetup(pointer module, pointer opts, int *errmaj, int *errmin) -{ - if (!LoadSubModule(module, "cfb", NULL, NULL, NULL, NULL, - errmaj, errmin)) - return NULL; - if (!LoadSubModule(module, "cfb32", NULL, NULL, NULL, NULL, - errmaj, errmin)) - return NULL; - return (pointer)1; /* non-NULL required to indicate success */ -} diff --git a/xorg-server/hw/xfree86/xf8_32bpp/cfbcpyarea.c b/xorg-server/hw/xfree86/xf8_32bpp/cfbcpyarea.c deleted file mode 100644 index d8f0c6d76..000000000 --- a/xorg-server/hw/xfree86/xf8_32bpp/cfbcpyarea.c +++ /dev/null @@ -1,549 +0,0 @@ - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include - -#include -#include -#include "servermd.h" -#include "scrnintstr.h" -#include "pixmapstr.h" -#include "resource.h" -#include "colormap.h" -#include "colormapst.h" -#define PSZ 8 -#include "cfb.h" -#undef PSZ -#include "cfb32.h" -#include "cfb8_32.h" -#include "mi.h" -#include "mistruct.h" -#include "dix.h" -#include "mibstore.h" - - -RegionPtr -cfb8_32CopyArea( - DrawablePtr pSrcDraw, - DrawablePtr pDstDraw, - GC *pGC, - int srcx, int srcy, - int width, int height, - int dstx, int dsty -){ - - if(pSrcDraw->bitsPerPixel == 32) { - if(pDstDraw->bitsPerPixel == 32) { - if((pGC->alu == GXcopy) && (pGC->planemask == 0xff000000)) { - return cfb32BitBlt (pSrcDraw, pDstDraw, - pGC, srcx, srcy, width, height, dstx, dsty, - cfbDoBitblt8To8GXcopy, 0L); - } - return(cfb32CopyArea(pSrcDraw, pDstDraw, pGC, srcx, srcy, - width, height, dstx, dsty)); - } else { - /* have to translate 32 -> 8 copies */ - return cfb32BitBlt (pSrcDraw, pDstDraw, - pGC, srcx, srcy, width, height, dstx, dsty, - cfbDoBitblt32To8, 0L); - } - } else { - if(pDstDraw->bitsPerPixel == 32) { - /* have to translate 8 -> 32 copies */ - return cfb32BitBlt (pSrcDraw, pDstDraw, - pGC, srcx, srcy, width, height, dstx, dsty, - cfbDoBitblt8To32, 0L); - } else { - return(cfbCopyArea(pSrcDraw, pDstDraw, pGC, srcx, srcy, - width, height, dstx, dsty)); - } - } -} - - - - -void -cfbDoBitblt8To32( - DrawablePtr pSrc, - DrawablePtr pDst, - int rop, - RegionPtr prgnDst, - DDXPointPtr pptSrc, - unsigned long pm -){ - BoxPtr pbox = REGION_RECTS(prgnDst); - int nbox = REGION_NUM_RECTS(prgnDst); - unsigned char *ptr8, *ptr32; - unsigned char *data8, *data32; - int pitch8, pitch32; - int height, width, i; - - cfbGetByteWidthAndPointer(pSrc, pitch8, ptr8); - cfbGetByteWidthAndPointer(pDst, pitch32, ptr32); - ptr32 += 3; /* point to the top byte */ - - pm >>= 24; - - if((pm == 0xff) && (rop == GXcopy)) { - for(;nbox; pbox++, pptSrc++, nbox--) { - data8 = ptr8 + (pptSrc->y * pitch8) + pptSrc->x; - data32 = ptr32 + (pbox->y1 * pitch32) + (pbox->x1 << 2); - width = pbox->x2 - pbox->x1; - height = pbox->y2 - pbox->y1; - - while(height--) { - for(i = 0; i < width; i++) - data32[i << 2] = data8[i]; - data8 += pitch8; - data32 += pitch32; - } - } - } else { /* it ain't pretty, but hey */ - for(;nbox; pbox++, pptSrc++, nbox--) { - data8 = ptr8 + (pptSrc->y * pitch8) + pptSrc->x; - data32 = ptr32 + (pbox->y1 * pitch32) + (pbox->x1 << 2); - width = pbox->x2 - pbox->x1; - height = pbox->y2 - pbox->y1; - - while(height--) { - switch(rop) { - case GXcopy: - for(i = 0; i < width; i++) - data32[i<<2] = (data8[i] & pm) | (data32[i<<2] & ~pm); - break; - case GXor: - for(i = 0; i < width; i++) - data32[i<<2] |= data8[i] & pm; - break; - case GXclear: - for(i = 0; i < width; i++) - data32[i<<2] &= ~pm; - break; - case GXand: - for(i = 0; i < width; i++) - data32[i<<2] &= data8[i] | ~pm; - break; - case GXandReverse: - for(i = 0; i < width; i++) - data32[i<<2] = ~data32[i<<2] & (data8[i] | ~pm); - break; - case GXandInverted: - for(i = 0; i < width; i++) - data32[i<<2] &= ~data8[i] | ~pm; - break; - case GXnoop: - return; - case GXxor: - for(i = 0; i < width; i++) - data32[i<<2] ^= data8[i] & pm; - break; - case GXnor: - for(i = 0; i < width; i++) - data32[i<<2] = ~(data32[i<<2] | (data8[i] & pm)); - break; - case GXequiv: - for(i = 0; i < width; i++) - data32[i<<2] = ~(data32[i<<2] ^ (data8[i] & pm)); - break; - case GXinvert: - for(i = 0; i < width; i++) - data32[i<<2] ^= pm; - break; - case GXorReverse: - for(i = 0; i < width; i++) - data32[i<<2] = ~data32[i<<2] | (data8[i] & pm); - break; - case GXcopyInverted: - for(i = 0; i < width; i++) - data32[i<<2] = (~data8[i] & pm) | (data32[i<<2] & ~pm); - break; - case GXorInverted: - for(i = 0; i < width; i++) - data32[i<<2] |= ~data8[i] & pm; - break; - case GXnand: - for(i = 0; i < width; i++) - data32[i<<2] = ~(data32[i<<2] & (data8[i] | ~pm)); - break; - case GXset: - for(i = 0; i < width; i++) - data32[i<<2] |= pm; - break; - } - data8 += pitch8; - data32 += pitch32; - } - } - } -} - - -void -cfbDoBitblt32To8( - DrawablePtr pSrc, - DrawablePtr pDst, - int rop, - RegionPtr prgnDst, - DDXPointPtr pptSrc, - unsigned long pm -){ - BoxPtr pbox = REGION_RECTS(prgnDst); - int nbox = REGION_NUM_RECTS(prgnDst); - unsigned char *ptr8, *ptr32; - unsigned char *data8, *data32; - int pitch8, pitch32; - int height, width, i; - - cfbGetByteWidthAndPointer(pDst, pitch8, ptr8); - cfbGetByteWidthAndPointer(pSrc, pitch32, ptr32); - ptr32 += 3; /* point to the top byte */ - - if(((pm & 0xff) == 0xff) && (rop == GXcopy)) { - for(;nbox; pbox++, pptSrc++, nbox--) { - data8 = ptr8 + (pbox->y1 * pitch8) + pbox->x1; - data32 = ptr32 + (pptSrc->y * pitch32) + (pptSrc->x << 2); - - width = pbox->x2 - pbox->x1; - height = pbox->y2 - pbox->y1; - - while(height--) { - for(i = 0; i < width; i++) - data8[i] = data32[i << 2]; - data8 += pitch8; - data32 += pitch32; - } - } - } else { - for(;nbox; pbox++, pptSrc++, nbox--) { - data8 = ptr8 + (pbox->y1 * pitch8) + pbox->x1; - data32 = ptr32 + (pptSrc->y * pitch32) + (pptSrc->x << 2); - - width = pbox->x2 - pbox->x1; - height = pbox->y2 - pbox->y1; - - while(height--) { - switch(rop) { - case GXcopy: - for(i = 0; i < width; i++) - data8[i] = (data32[i<<2] & pm) | (data8[i] & ~pm); - break; - case GXor: - for(i = 0; i < width; i++) - data8[i] |= data32[i<<2] & pm; - break; - case GXclear: - for(i = 0; i < width; i++) - data8[i] &= ~pm; - break; - case GXand: - for(i = 0; i < width; i++) - data8[i] &= data32[i<<2] | ~pm; - break; - case GXandReverse: - for(i = 0; i < width; i++) - data8[i] = ~data8[i] & (data32[i<<2] | ~pm); - break; - case GXandInverted: - for(i = 0; i < width; i++) - data8[i] &= ~data32[i<<2] | ~pm; - break; - case GXnoop: - return; - case GXxor: - for(i = 0; i < width; i++) - data8[i] ^= data32[i<<2] & pm; - break; - case GXnor: - for(i = 0; i < width; i++) - data8[i] = ~(data8[i] | (data32[i<<2] & pm)); - break; - case GXequiv: - for(i = 0; i < width; i++) - data8[i] = ~(data8[i] ^ (data32[i<<2] & pm)); - break; - case GXinvert: - for(i = 0; i < width; i++) - data8[i] ^= pm; - break; - case GXorReverse: - for(i = 0; i < width; i++) - data8[i] = ~data8[i] | (data32[i<<2] & pm); - break; - case GXcopyInverted: - for(i = 0; i < width; i++) - data8[i] = (~data32[i<<2] & pm) | (data8[i] & ~pm); - break; - case GXorInverted: - for(i = 0; i < width; i++) - data8[i] |= ~data32[i<<2] & pm; - break; - case GXnand: - for(i = 0; i < width; i++) - data8[i] = ~(data8[i] & (data32[i<<2] | ~pm)); - break; - case GXset: - for(i = 0; i < width; i++) - data8[i] |= pm; - break; - } - data8 += pitch8; - data32 += pitch32; - } - } - } -} - - - -static void -Do8To8Blt( - unsigned char *SrcPtr, - int SrcPitch, - unsigned char *DstPtr, - int DstPitch, - int nbox, - DDXPointPtr pptSrc, - BoxPtr pbox, - int xdir, int ydir -){ - int i, j, width, height, ydir2; - CARD8 *src, *dst; - - SrcPtr += 3; - DstPtr += 3; - xdir *= 4; - ydir2 = ydir * DstPitch; - ydir *= SrcPitch; - - for(;nbox; pbox++, pptSrc++, nbox--) { - src = SrcPtr + (pptSrc->y * SrcPitch) + (pptSrc->x << 2); - dst = DstPtr + (pbox->y1 * DstPitch) + (pbox->x1 << 2); - width = pbox->x2 - pbox->x1; - height = pbox->y2 - pbox->y1; - - if(ydir < 0) { - src += (height - 1) * SrcPitch; - dst += (height - 1) * DstPitch; - } - - if(xdir < 0) { - register int tmp = (width - 1) << 2; - src += tmp; - dst += tmp; - } - - while(height--) { - for(i = width, j = 0; i--; j+=xdir) - dst[j] = src[j]; - src += ydir; - dst += ydir2; - } - } -} - -static void -Do24To24Blt( - unsigned char *SrcPtr, - int SrcPitch, - unsigned char *DstPtr, - int DstPitch, - int nbox, - DDXPointPtr pptSrc, - BoxPtr pbox, - int xdir, int ydir -){ - int i, j, width, height, ydir2; - CARD8 *src, *dst; - - xdir *= 4; - ydir2 = ydir * DstPitch; - ydir *= SrcPitch; - - for(;nbox; pbox++, pptSrc++, nbox--) { - src = SrcPtr + (pptSrc->y * SrcPitch) + (pptSrc->x << 2); - dst = DstPtr + (pbox->y1 * DstPitch) + (pbox->x1 << 2); - width = pbox->x2 - pbox->x1; - height = pbox->y2 - pbox->y1; - - if(ydir < 0) { - src += (height - 1) * SrcPitch; - dst += (height - 1) * DstPitch; - } - - if(xdir < 0) { - register int tmp = (width - 1) << 2; - src += tmp; - dst += tmp; - } - - while(height--) { - for(i = width, j = 0; i--; j+=xdir) { - *((CARD16*)(dst + j)) = *((CARD32*)(src + j)); - dst[j + 2] = src[j + 2]; - } - src += ydir; - dst += ydir2; - } - } -} - - -static void -cfb8_32DoBitBlt( - DrawablePtr pSrc, - DrawablePtr pDst, - RegionPtr prgnDst, - DDXPointPtr pptSrc, - void (*DoBlt)( - unsigned char *SrcPtr, - int SrcPitch, - unsigned char *DstPtr, - int DstPitch, - int nbox, - DDXPointPtr pptSrc, - BoxPtr pbox, - int xdir, int ydir) -){ - int nbox, careful, SrcPitch, DstPitch; - BoxPtr pbox, pboxTmp, pboxNext, pboxBase, pboxNew1, pboxNew2; - DDXPointPtr pptTmp, pptNew1, pptNew2; - int xdir, ydir; - unsigned char *SrcPtr, *DstPtr; - - /* XXX we have to err on the side of safety when both are windows, - * because we don't know if IncludeInferiors is being used. - */ - careful = ((pSrc == pDst) || - ((pSrc->type == DRAWABLE_WINDOW) && - (pDst->type == DRAWABLE_WINDOW))); - - pbox = REGION_RECTS(prgnDst); - nbox = REGION_NUM_RECTS(prgnDst); - - pboxNew1 = NULL; - pptNew1 = NULL; - pboxNew2 = NULL; - pptNew2 = NULL; - if (careful && (pptSrc->y < pbox->y1)) { - /* walk source botttom to top */ - ydir = -1; - - if (nbox > 1) { - /* keep ordering in each band, reverse order of bands */ - pboxNew1 = (BoxPtr)xalloc(sizeof(BoxRec) * nbox); - if(!pboxNew1) - return; - pptNew1 = (DDXPointPtr)xalloc(sizeof(DDXPointRec) * nbox); - if(!pptNew1) { - xfree(pboxNew1); - return; - } - pboxBase = pboxNext = pbox+nbox-1; - while (pboxBase >= pbox) { - while ((pboxNext >= pbox) && - (pboxBase->y1 == pboxNext->y1)) - pboxNext--; - pboxTmp = pboxNext+1; - pptTmp = pptSrc + (pboxTmp - pbox); - while (pboxTmp <= pboxBase) { - *pboxNew1++ = *pboxTmp++; - *pptNew1++ = *pptTmp++; - } - pboxBase = pboxNext; - } - pboxNew1 -= nbox; - pbox = pboxNew1; - pptNew1 -= nbox; - pptSrc = pptNew1; - } - } else { - /* walk source top to bottom */ - ydir = 1; - } - - if (careful && (pptSrc->x < pbox->x1)) { - /* walk source right to left */ - xdir = -1; - - if (nbox > 1) { - /* reverse order of rects in each band */ - pboxNew2 = (BoxPtr)xalloc(sizeof(BoxRec) * nbox); - pptNew2 = (DDXPointPtr)xalloc(sizeof(DDXPointRec) * nbox); - if(!pboxNew2 || !pptNew2) { - if (pptNew2) xfree(pptNew2); - if (pboxNew2) xfree(pboxNew2); - if (pboxNew1) { - xfree(pptNew1); - xfree(pboxNew1); - } - return; - } - pboxBase = pboxNext = pbox; - while (pboxBase < pbox+nbox) { - while ((pboxNext < pbox+nbox) && - (pboxNext->y1 == pboxBase->y1)) - pboxNext++; - pboxTmp = pboxNext; - pptTmp = pptSrc + (pboxTmp - pbox); - while (pboxTmp != pboxBase) { - *pboxNew2++ = *--pboxTmp; - *pptNew2++ = *--pptTmp; - } - pboxBase = pboxNext; - } - pboxNew2 -= nbox; - pbox = pboxNew2; - pptNew2 -= nbox; - pptSrc = pptNew2; - } - } else { - /* walk source left to right */ - xdir = 1; - } - - cfbGetByteWidthAndPointer(pSrc, SrcPitch, SrcPtr); - cfbGetByteWidthAndPointer(pDst, DstPitch, DstPtr); - - (*DoBlt)(SrcPtr,SrcPitch,DstPtr,DstPitch,nbox,pptSrc,pbox,xdir,ydir); - - if (pboxNew2) { - xfree(pptNew2); - xfree(pboxNew2); - } - if (pboxNew1) { - xfree(pptNew1); - xfree(pboxNew1); - } - -} - - -/* A couple routines to speed up full planemask copies */ - -void -cfbDoBitblt8To8GXcopy( - DrawablePtr pSrc, - DrawablePtr pDst, - int rop, - RegionPtr prgnDst, - DDXPointPtr pptSrc, - unsigned long pm -){ - cfb8_32DoBitBlt(pSrc, pDst, prgnDst, pptSrc, Do8To8Blt); -} - - -void -cfbDoBitblt24To24GXcopy( - DrawablePtr pSrc, - DrawablePtr pDst, - int rop, - RegionPtr prgnDst, - DDXPointPtr pptSrc, - unsigned long pm -){ - cfb8_32DoBitBlt(pSrc, pDst, prgnDst, pptSrc, Do24To24Blt); -} diff --git a/xorg-server/hw/xfree86/xf8_32bpp/cfbcpyplane.c b/xorg-server/hw/xfree86/xf8_32bpp/cfbcpyplane.c deleted file mode 100644 index e10b52525..000000000 --- a/xorg-server/hw/xfree86/xf8_32bpp/cfbcpyplane.c +++ /dev/null @@ -1,41 +0,0 @@ -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include -#include -#include -#include "gcstruct.h" -#include "windowstr.h" -#include "scrnintstr.h" -#include "pixmapstr.h" -#include "regionstr.h" -#define PSZ 8 -#include "cfb.h" -#undef PSZ -#include "cfb32.h" -#include "cfb8_32.h" -#include "mi.h" - - -RegionPtr -cfb8_32CopyPlane( - DrawablePtr pSrc, - DrawablePtr pDst, - GCPtr pGC, - int srcx, int srcy, - int width, int height, - int dstx, int dsty, - unsigned long bitPlane -){ - /* There's actually much more to it than this */ - - if((pDst->bitsPerPixel == 8) && (pSrc->bitsPerPixel != 32)){ - return(cfbCopyPlane(pSrc, pDst, - pGC, srcx, srcy, width, height, dstx, dsty, bitPlane)); - } - - - return(miCopyPlane (pSrc, pDst, - pGC, srcx, srcy, width, height, dstx, dsty, bitPlane)); -} diff --git a/xorg-server/hw/xfree86/xf8_32bpp/cfbgc.c b/xorg-server/hw/xfree86/xf8_32bpp/cfbgc.c deleted file mode 100644 index a7787caa9..000000000 --- a/xorg-server/hw/xfree86/xf8_32bpp/cfbgc.c +++ /dev/null @@ -1,646 +0,0 @@ -/*********************************************************** - -Copyright 1987, 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. - - -Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. - - 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. - -******************************************************************/ - - -/* - -PSZ 8 16 24 32 -PIXEL_ADDR True True True True -NO_ONE_RECT False False False False -WriteBitGroup True True True True -FOUR_BIT_CODE True False False False -LOWMEMFTPT False False False False - -*/ - - -/* This gets built twice. Once for 8bpp and another for 32bpp */ - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include -#include -#include -#include "cfb.h" -#include -#include "dixfontstr.h" -#include "gcstruct.h" -#include "windowstr.h" -#include "pixmapstr.h" -#include "scrnintstr.h" -#include "region.h" - -#include "mistruct.h" -#include "mibstore.h" -#include "migc.h" -#include "mioverlay.h" - -#include "cfb8_32.h" -#include "cfbmskbits.h" -#include "cfb8bit.h" - - -#if PSZ == 8 -# define useTEGlyphBlt cfbTEGlyphBlt8 -#else -# ifdef WriteBitGroup -# define useTEGlyphBlt cfbImageGlyphBlt8 -# else -# define useTEGlyphBlt cfbTEGlyphBlt -# endif -#endif - -#ifdef WriteBitGroup -# define useImageGlyphBlt cfbImageGlyphBlt8 -# define usePolyGlyphBlt cfbPolyGlyphBlt8 -#else -# define useImageGlyphBlt miImageGlyphBlt -# define usePolyGlyphBlt miPolyGlyphBlt -#endif - -#ifdef FOUR_BIT_CODE -# define usePushPixels cfbPushPixels8 -#else -# define usePushPixels mfbPushPixels -#endif - -#ifdef PIXEL_ADDR -# define ZeroPolyArc cfbZeroPolyArcSS8Copy -#else -# define ZeroPolyArc miZeroPolyArc -#endif - - -static GCOps cfb8_32TEOps1Rect = { - cfbSolidSpansCopy, - cfbSetSpans, - cfb8_32PutImage, - cfb8_32CopyArea, - cfb8_32CopyPlane, - cfbPolyPoint, -#ifdef PIXEL_ADDR - cfb8LineSS1Rect, - cfb8SegmentSS1Rect, -#else - cfbLineSS, - cfbSegmentSS, -#endif - miPolyRectangle, - ZeroPolyArc, - cfbFillPoly1RectCopy, - cfbPolyFillRect, - cfbPolyFillArcSolidCopy, - miPolyText8, - miPolyText16, - miImageText8, - miImageText16, - useTEGlyphBlt, - usePolyGlyphBlt, - usePushPixels -}; - -static GCOps cfb8_32NonTEOps1Rect = { - cfbSolidSpansCopy, - cfbSetSpans, - cfb8_32PutImage, - cfb8_32CopyArea, - cfb8_32CopyPlane, - cfbPolyPoint, -#ifdef PIXEL_ADDR - cfb8LineSS1Rect, - cfb8SegmentSS1Rect, -#else - cfbLineSS, - cfbSegmentSS, -#endif - miPolyRectangle, - ZeroPolyArc, - cfbFillPoly1RectCopy, - cfbPolyFillRect, - cfbPolyFillArcSolidCopy, - miPolyText8, - miPolyText16, - miImageText8, - miImageText16, - useImageGlyphBlt, - usePolyGlyphBlt, - usePushPixels -}; - -static GCOps cfb8_32TEOps = { - cfbSolidSpansCopy, - cfbSetSpans, - cfb8_32PutImage, - cfb8_32CopyArea, - cfb8_32CopyPlane, - cfbPolyPoint, - cfbLineSS, - cfbSegmentSS, - miPolyRectangle, - ZeroPolyArc, - miFillPolygon, - cfbPolyFillRect, - cfbPolyFillArcSolidCopy, - miPolyText8, - miPolyText16, - miImageText8, - miImageText16, - useTEGlyphBlt, - usePolyGlyphBlt, - usePushPixels -}; - -static GCOps cfb8_32NonTEOps = { - cfbSolidSpansCopy, - cfbSetSpans, - cfb8_32PutImage, - cfb8_32CopyArea, - cfb8_32CopyPlane, - cfbPolyPoint, - cfbLineSS, - cfbSegmentSS, - miPolyRectangle, -#ifdef PIXEL_ADDR - cfbZeroPolyArcSS8Copy, -#else - miZeroPolyArc, -#endif - miFillPolygon, - cfbPolyFillRect, - cfbPolyFillArcSolidCopy, - miPolyText8, - miPolyText16, - miImageText8, - miImageText16, - useImageGlyphBlt, - usePolyGlyphBlt, - usePushPixels -}; - -static GCOps * -cfb8_32MatchCommon (GCPtr pGC, cfbPrivGCPtr devPriv) -{ - if (pGC->lineWidth != 0) - return 0; - if (pGC->lineStyle != LineSolid) - return 0; - if (pGC->fillStyle != FillSolid) - return 0; - if (devPriv->rop != GXcopy) - return 0; - if (pGC->font && - FONTMAXBOUNDS(pGC->font,rightSideBearing) - - FONTMINBOUNDS(pGC->font,leftSideBearing) <= 32 && - FONTMINBOUNDS(pGC->font,characterWidth) >= 0) - { - if (TERMINALFONT(pGC->font) -#ifdef FOUR_BIT_CODE - && FONTMAXBOUNDS(pGC->font,characterWidth) >= PGSZB -#endif - ) -#ifdef NO_ONE_RECT - return &cfb8_32TEOps1Rect; -#else - if (devPriv->oneRect) - return &cfb8_32TEOps1Rect; - else - return &cfb8_32TEOps; -#endif - else -#ifdef NO_ONE_RECT - return &cfb8_32NonTEOps1Rect; -#else - if (devPriv->oneRect) - return &cfb8_32NonTEOps1Rect; - else - return &cfb8_32NonTEOps; -#endif - } - return 0; -} - - -/* Clipping conventions - if the drawable is a window - CT_REGION ==> pCompositeClip really is the composite - CT_other ==> pCompositeClip is the window clip region - if the drawable is a pixmap - CT_REGION ==> pCompositeClip is the translated client region - clipped to the pixmap boundary - CT_other ==> pCompositeClip is the pixmap bounding box -*/ - -void -#if PSZ == 8 -cfb8_32ValidateGC8( -#else -cfb8_32ValidateGC32( -#endif - GCPtr pGC, - unsigned long changes, - DrawablePtr pDrawable -){ - int mask; /* stateChanges */ - int index; /* used for stepping through bitfields */ - int new_rrop; - int new_line, new_text, new_fillspans, new_fillarea; - /* flags for changing the proc vector */ - cfbPrivGCPtr devPriv; - int oneRect; - - pGC->lastWinOrg.x = pDrawable->x; - pGC->lastWinOrg.y = pDrawable->y; - devPriv = cfbGetGCPrivate(pGC); - - new_rrop = FALSE; - new_line = FALSE; - new_text = FALSE; - new_fillspans = FALSE; - new_fillarea = FALSE; - - /* - * if the client clip is different or moved OR the subwindowMode has - * changed OR the window's clip has changed since the last validation - * we need to recompute the composite clip - */ - - if ((changes & (GCClipXOrigin|GCClipYOrigin|GCClipMask|GCSubwindowMode)) || - (pDrawable->serialNumber != (pGC->serialNumber & DRAWABLE_SERIAL_BITS))) - { - miComputeCompositeClip (pGC, pDrawable); -#ifdef NO_ONE_RECT - devPriv->oneRect = FALSE; -#else - oneRect = REGION_NUM_RECTS(pGC->pCompositeClip) == 1; - if (oneRect != devPriv->oneRect) - new_line = TRUE; - devPriv->oneRect = oneRect; -#endif - } - - mask = changes; - while (mask) { - index = lowbit (mask); - mask &= ~index; - - switch (index) { - case GCFunction: - case GCForeground: - new_rrop = TRUE; - break; - case GCPlaneMask: - new_rrop = TRUE; - new_text = TRUE; - break; - case GCBackground: - break; - case GCLineStyle: - case GCLineWidth: - new_line = TRUE; - break; - case GCJoinStyle: - case GCCapStyle: - break; - case GCFillStyle: - new_text = TRUE; - new_fillspans = TRUE; - new_line = TRUE; - new_fillarea = TRUE; - break; - case GCFillRule: - break; - case GCTile: - new_fillspans = TRUE; - new_fillarea = TRUE; - break; - case GCStipple: - new_fillspans = TRUE; - new_fillarea = TRUE; - break; - case GCTileStipXOrigin: - case GCTileStipYOrigin: - break; - case GCFont: - new_text = TRUE; - break; - case GCSubwindowMode: - case GCGraphicsExposures: - case GCClipXOrigin: - case GCClipYOrigin: - case GCClipMask: - case GCDashOffset: - case GCDashList: - case GCArcMode: - default: - break; - } - } - - /* - * If the drawable has changed, ensure suitable - * entries are in the proc vector. - */ - if (pDrawable->serialNumber != (pGC->serialNumber & (DRAWABLE_SERIAL_BITS))) - new_fillspans = TRUE; /* deal with FillSpans later */ - - if (new_rrop) - { - int old_rrop; - - old_rrop = devPriv->rop; - devPriv->rop = cfbReduceRasterOp (pGC->alu, pGC->fgPixel, - pGC->planemask, - &devPriv->and, &devPriv->xor); - if (old_rrop == devPriv->rop) - new_rrop = FALSE; - else - { -#ifdef PIXEL_ADDR - new_line = TRUE; -#endif -#ifdef WriteBitGroup - new_text = TRUE; -#endif - new_fillspans = TRUE; - new_fillarea = TRUE; - } - } - - if(!pGC->ops) - pGC->ops = & cfb8_32NonTEOps; - - if (new_rrop || new_fillspans || new_text || new_fillarea || new_line) - { - GCOps *newops; - - if ((newops = cfb8_32MatchCommon (pGC, devPriv))) - { - if (pGC->ops->devPrivate.val) - miDestroyGCOps (pGC->ops); - pGC->ops = newops; - new_rrop = new_line = new_fillspans = new_text = new_fillarea = 0; - } - else - { - if (!pGC->ops->devPrivate.val) - { - pGC->ops = miCreateGCOps (pGC->ops); - pGC->ops->devPrivate.val = 1; - } - } - } - - /* deal with the changes we've collected */ - if (new_line) - { - pGC->ops->FillPolygon = miFillPolygon; -#ifdef NO_ONE_RECT - if (pGC->fillStyle == FillSolid) - { - switch (devPriv->rop) { - case GXcopy: - pGC->ops->FillPolygon = cfbFillPoly1RectCopy; - break; - default: - pGC->ops->FillPolygon = cfbFillPoly1RectGeneral; - break; - } - } -#else - if (devPriv->oneRect && pGC->fillStyle == FillSolid) - { - switch (devPriv->rop) { - case GXcopy: - pGC->ops->FillPolygon = cfbFillPoly1RectCopy; - break; - default: - pGC->ops->FillPolygon = cfbFillPoly1RectGeneral; - break; - } - } -#endif - if (pGC->lineWidth == 0) - { -#ifdef PIXEL_ADDR - if ((pGC->lineStyle == LineSolid) && (pGC->fillStyle == FillSolid)) - { - switch (devPriv->rop) - { - case GXxor: - pGC->ops->PolyArc = cfbZeroPolyArcSS8Xor; - break; - case GXcopy: - pGC->ops->PolyArc = cfbZeroPolyArcSS8Copy; - break; - default: - pGC->ops->PolyArc = cfbZeroPolyArcSS8General; - break; - } - } - else -#endif - pGC->ops->PolyArc = miZeroPolyArc; - } - else - pGC->ops->PolyArc = miPolyArc; - pGC->ops->PolySegment = miPolySegment; - switch (pGC->lineStyle) - { - case LineSolid: - if(pGC->lineWidth == 0) - { - if (pGC->fillStyle == FillSolid) - { -#if defined(PIXEL_ADDR) && !defined(NO_ONE_RECT) - if (devPriv->oneRect && - ((pDrawable->x >= pGC->pScreen->width - 32768) && - (pDrawable->y >= pGC->pScreen->height - 32768))) - { - pGC->ops->Polylines = cfb8LineSS1Rect; - pGC->ops->PolySegment = cfb8SegmentSS1Rect; - } else -#endif -#ifdef NO_ONE_RECT - { - pGC->ops->Polylines = cfb8LineSS1Rect; - pGC->ops->PolySegment = cfb8SegmentSS1Rect; - } -#else - { - pGC->ops->Polylines = cfbLineSS; - pGC->ops->PolySegment = cfbSegmentSS; - } -#endif - } - else - pGC->ops->Polylines = miZeroLine; - } - else - pGC->ops->Polylines = miWideLine; - break; - case LineOnOffDash: - case LineDoubleDash: - if (pGC->lineWidth == 0 && pGC->fillStyle == FillSolid) - { - pGC->ops->Polylines = cfbLineSD; - pGC->ops->PolySegment = cfbSegmentSD; - } else - pGC->ops->Polylines = miWideDash; - break; - } - } - - if (new_text && (pGC->font)) - { - if (FONTMAXBOUNDS(pGC->font,rightSideBearing) - - FONTMINBOUNDS(pGC->font,leftSideBearing) > 32 || - FONTMINBOUNDS(pGC->font,characterWidth) < 0) - { - pGC->ops->PolyGlyphBlt = miPolyGlyphBlt; - pGC->ops->ImageGlyphBlt = miImageGlyphBlt; - } - else - { -#ifdef WriteBitGroup - if (pGC->fillStyle == FillSolid) - { - if (devPriv->rop == GXcopy) - pGC->ops->PolyGlyphBlt = cfbPolyGlyphBlt8; - else -#ifdef FOUR_BIT_CODE - pGC->ops->PolyGlyphBlt = cfbPolyGlyphRop8; -#else - pGC->ops->PolyGlyphBlt = miPolyGlyphBlt; -#endif - } - else -#endif - pGC->ops->PolyGlyphBlt = miPolyGlyphBlt; - /* special case ImageGlyphBlt for terminal emulator fonts */ -#if !defined(WriteBitGroup) || PSZ == 8 - if (TERMINALFONT(pGC->font) && - (pGC->planemask & PMSK) == PMSK -#ifdef FOUR_BIT_CODE - && FONTMAXBOUNDS(pGC->font,characterWidth) >= PGSZB -#endif - ) - { - pGC->ops->ImageGlyphBlt = useTEGlyphBlt; - } - else -#endif - { -#ifdef WriteBitGroup - if (devPriv->rop == GXcopy && - pGC->fillStyle == FillSolid && - (pGC->planemask & PMSK) == PMSK) - pGC->ops->ImageGlyphBlt = cfbImageGlyphBlt8; - else -#endif - pGC->ops->ImageGlyphBlt = miImageGlyphBlt; - } - } - } - - - if (new_fillspans) { - switch (pGC->fillStyle) { - case FillSolid: - switch (devPriv->rop) { - case GXcopy: - pGC->ops->FillSpans = cfbSolidSpansCopy; - break; - case GXxor: - pGC->ops->FillSpans = cfbSolidSpansXor; - break; - default: - pGC->ops->FillSpans = cfbSolidSpansGeneral; - break; - } - break; - case FillTiled: - pGC->ops->FillSpans = cfbUnnaturalTileFS; - break; - case FillStippled: - case FillOpaqueStippled: - pGC->ops->FillSpans = cfbUnnaturalStippleFS; - break; - default: - FatalError("cfbValidateGC: illegal fillStyle\n"); - } - } /* end of new_fillspans */ - - if (new_fillarea) { -#ifndef FOUR_BIT_CODE - pGC->ops->PolyFillRect = miPolyFillRect; - if (pGC->fillStyle == FillSolid || pGC->fillStyle == FillTiled) - { - pGC->ops->PolyFillRect = cfbPolyFillRect; - } -#endif -#ifdef FOUR_BIT_CODE - pGC->ops->PushPixels = mfbPushPixels; - if (pGC->fillStyle == FillSolid && devPriv->rop == GXcopy) - pGC->ops->PushPixels = cfbPushPixels8; -#endif - pGC->ops->PolyFillArc = miPolyFillArc; - if (pGC->fillStyle == FillSolid) - { - switch (devPriv->rop) - { - case GXcopy: - pGC->ops->PolyFillArc = cfbPolyFillArcSolidCopy; - break; - default: - pGC->ops->PolyFillArc = cfbPolyFillArcSolidGeneral; - break; - } - } - } -} diff --git a/xorg-server/hw/xfree86/xf8_32bpp/cfbgc32.c b/xorg-server/hw/xfree86/xf8_32bpp/cfbgc32.c deleted file mode 100644 index 61a97b97b..000000000 --- a/xorg-server/hw/xfree86/xf8_32bpp/cfbgc32.c +++ /dev/null @@ -1,2 +0,0 @@ -#define PSZ 32 -#include "./cfbgc.c" diff --git a/xorg-server/hw/xfree86/xf8_32bpp/cfbgc8.c b/xorg-server/hw/xfree86/xf8_32bpp/cfbgc8.c deleted file mode 100644 index 53e4f95e4..000000000 --- a/xorg-server/hw/xfree86/xf8_32bpp/cfbgc8.c +++ /dev/null @@ -1,2 +0,0 @@ -#define PSZ 8 -#include "./cfbgc.c" diff --git a/xorg-server/hw/xfree86/xf8_32bpp/cfbgcmisc.c b/xorg-server/hw/xfree86/xf8_32bpp/cfbgcmisc.c deleted file mode 100644 index f009afc0c..000000000 --- a/xorg-server/hw/xfree86/xf8_32bpp/cfbgcmisc.c +++ /dev/null @@ -1,150 +0,0 @@ -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include - -#include -#include -#include -#define PSZ 8 -#include "cfb.h" -#undef PSZ -#include "cfb32.h" -#include "cfb8_32.h" -#include -#include "dixfontstr.h" -#include "gcstruct.h" -#include "windowstr.h" -#include "pixmapstr.h" -#include "scrnintstr.h" -#include "region.h" - -#include "mistruct.h" -#include "mibstore.h" -#include "migc.h" - - -static void cfb8_32ValidateGC(GCPtr, unsigned long, DrawablePtr); -static void cfb8_32DestroyGC(GCPtr pGC); -static void cfb32DestroyGC_Underlay(GCPtr pGC); - -static -GCFuncs cfb8_32GCFuncs = { - cfb8_32ValidateGC, - miChangeGC, - miCopyGC, - cfb8_32DestroyGC, - miChangeClip, - miDestroyClip, - miCopyClip, -}; - - -static -GCFuncs cfb32GCFuncs_Underlay = { - cfb32ValidateGC_Underlay, - miChangeGC, - miCopyGC, - cfb32DestroyGC_Underlay, - miChangeClip, - miDestroyClip, - miCopyClip, -}; - -static void -cfb32DestroyGC_Underlay(GCPtr pGC) -{ - if (pGC->freeCompClip) - REGION_DESTROY(pGC->pScreen, pGC->pCompositeClip); - - if(pGC->ops) - miDestroyGCOps(pGC->ops); -} - - -static void -cfb8_32DestroyGC(GCPtr pGC) -{ - cfb8_32GCPtr pGCPriv = CFB8_32_GET_GC_PRIVATE(pGC); - - if (pGC->freeCompClip) - REGION_DESTROY(pGC->pScreen, pGC->pCompositeClip); - if(pGCPriv->Ops8bpp) - miDestroyGCOps(pGCPriv->Ops8bpp); - if(pGCPriv->Ops32bpp) - miDestroyGCOps(pGCPriv->Ops32bpp); -} - -Bool -cfb8_32CreateGC(GCPtr pGC) -{ - cfb8_32GCPtr pGCPriv; - cfbPrivGC *pPriv; - - if (PixmapWidthPaddingInfo[pGC->depth].padPixelsLog2 == LOG2_BITMAP_PAD) - return (mfbCreateGC(pGC)); - - pGC->clientClip = NULL; - pGC->clientClipType = CT_NONE; - pGC->miTranslate = 1; - pGC->fExpose = TRUE; - pGC->freeCompClip = FALSE; - pGC->pRotatedPixmap = (PixmapPtr) NULL; - - pPriv = cfbGetGCPrivate(pGC); - pPriv->rop = pGC->alu; - pPriv->oneRect = FALSE; - - pGC->ops = NULL; - - if (pGC->depth == 8) { - pGC->funcs = &cfb8_32GCFuncs; - - pGCPriv = CFB8_32_GET_GC_PRIVATE(pGC); - pGCPriv->Ops8bpp = NULL; - pGCPriv->Ops32bpp = NULL; - pGCPriv->OpsAre8bpp = FALSE; - pGCPriv->changes = 0; - } else - pGC->funcs = &cfb32GCFuncs_Underlay; - - return TRUE; -} - - -static void -cfb8_32ValidateGC( - GCPtr pGC, - unsigned long changes, - DrawablePtr pDraw -){ - cfb8_32GCPtr pGCPriv = CFB8_32_GET_GC_PRIVATE(pGC); - - if(pDraw->bitsPerPixel == 32) { - if(pGCPriv->OpsAre8bpp) { - int origChanges = changes; - pGC->ops = pGCPriv->Ops32bpp; - changes |= pGCPriv->changes; - pGCPriv->changes = origChanges; - pGCPriv->OpsAre8bpp = FALSE; - } else - pGCPriv->changes |= changes; - - cfb8_32ValidateGC32(pGC, changes, pDraw); - pGCPriv->Ops32bpp = pGC->ops; - } else { /* bitsPerPixel == 8 */ - if(!pGCPriv->OpsAre8bpp) { - int origChanges = changes; - pGC->ops = pGCPriv->Ops8bpp; - changes |= pGCPriv->changes; - pGCPriv->changes = origChanges; - pGCPriv->OpsAre8bpp = TRUE; - } else - pGCPriv->changes |= changes; - - cfb8_32ValidateGC8(pGC, changes, pDraw); - pGCPriv->Ops8bpp = pGC->ops; - } -} - diff --git a/xorg-server/hw/xfree86/xf8_32bpp/cfbgcunder.c b/xorg-server/hw/xfree86/xf8_32bpp/cfbgcunder.c deleted file mode 100644 index d90321355..000000000 --- a/xorg-server/hw/xfree86/xf8_32bpp/cfbgcunder.c +++ /dev/null @@ -1,620 +0,0 @@ -/*********************************************************** - -Copyright 1987, 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. - - -Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. - - 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. - -******************************************************************/ -#define PSZ 32 - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include -#include -#include -#include "cfb.h" -#include -#include "dixfontstr.h" -#include "gcstruct.h" -#include "windowstr.h" -#include "pixmapstr.h" -#include "scrnintstr.h" -#include "region.h" - -#include "mistruct.h" -#include "mibstore.h" -#include "migc.h" -#include "mioverlay.h" - -#include "cfbmskbits.h" -#include "cfb8bit.h" -#include "cfb8_32.h" - -#ifdef WriteBitGroup -# define useTEGlyphBlt cfbImageGlyphBlt8 -#else -# define useTEGlyphBlt cfbTEGlyphBlt -#endif - -#ifdef WriteBitGroup -# define useImageGlyphBlt cfbImageGlyphBlt8 -# define usePolyGlyphBlt cfbPolyGlyphBlt8 -#else -# define useImageGlyphBlt miImageGlyphBlt -# define usePolyGlyphBlt miPolyGlyphBlt -#endif - -#ifdef FOUR_BIT_CODE -# define usePushPixels cfbPushPixels8 -#else -# define usePushPixels mfbPushPixels -#endif - -#ifdef PIXEL_ADDR -# define ZeroPolyArc cfbZeroPolyArcSS8Copy -#else -# define ZeroPolyArc miZeroPolyArc -#endif - - -static GCOps cfbTEOps1Rect = { - cfbSolidSpansCopy, - cfbSetSpans, - cfbPutImage, - cfbCopyArea, - cfbCopyPlane, - cfbPolyPoint, -#ifdef PIXEL_ADDR - cfb8LineSS1Rect, - cfb8SegmentSS1Rect, -#else - cfbLineSS, - cfbSegmentSS, -#endif - miPolyRectangle, - ZeroPolyArc, - cfbFillPoly1RectCopy, - cfbPolyFillRect, - cfbPolyFillArcSolidCopy, - miPolyText8, - miPolyText16, - miImageText8, - miImageText16, - useTEGlyphBlt, - usePolyGlyphBlt, - usePushPixels -}; - -static GCOps cfbNonTEOps1Rect = { - cfbSolidSpansCopy, - cfbSetSpans, - cfbPutImage, - cfbCopyArea, - cfbCopyPlane, - cfbPolyPoint, -#ifdef PIXEL_ADDR - cfb8LineSS1Rect, - cfb8SegmentSS1Rect, -#else - cfbLineSS, - cfbSegmentSS, -#endif - miPolyRectangle, - ZeroPolyArc, - cfbFillPoly1RectCopy, - cfbPolyFillRect, - cfbPolyFillArcSolidCopy, - miPolyText8, - miPolyText16, - miImageText8, - miImageText16, - useImageGlyphBlt, - usePolyGlyphBlt, - usePushPixels -}; - -static GCOps cfbTEOps = { - cfbSolidSpansCopy, - cfbSetSpans, - cfbPutImage, - cfbCopyArea, - cfbCopyPlane, - cfbPolyPoint, - cfbLineSS, - cfbSegmentSS, - miPolyRectangle, - ZeroPolyArc, - miFillPolygon, - cfbPolyFillRect, - cfbPolyFillArcSolidCopy, - miPolyText8, - miPolyText16, - miImageText8, - miImageText16, - useTEGlyphBlt, - usePolyGlyphBlt, - usePushPixels -}; - -static GCOps cfbNonTEOps = { - cfbSolidSpansCopy, - cfbSetSpans, - cfbPutImage, - cfbCopyArea, - cfbCopyPlane, - cfbPolyPoint, - cfbLineSS, - cfbSegmentSS, - miPolyRectangle, -#ifdef PIXEL_ADDR - cfbZeroPolyArcSS8Copy, -#else - miZeroPolyArc, -#endif - miFillPolygon, - cfbPolyFillRect, - cfbPolyFillArcSolidCopy, - miPolyText8, - miPolyText16, - miImageText8, - miImageText16, - useImageGlyphBlt, - usePolyGlyphBlt, - usePushPixels -}; - -static GCOps * -cfb32MatchCommon_Underlay( - GCPtr pGC, - cfbPrivGCPtr devPriv) -{ - if (pGC->lineWidth != 0) - return 0; - if (pGC->lineStyle != LineSolid) - return 0; - if (pGC->fillStyle != FillSolid) - return 0; - if (devPriv->rop != GXcopy) - return 0; - if (pGC->font && - FONTMAXBOUNDS(pGC->font,rightSideBearing) - - FONTMINBOUNDS(pGC->font,leftSideBearing) <= 32 && - FONTMINBOUNDS(pGC->font,characterWidth) >= 0) - { - if (TERMINALFONT(pGC->font) -#ifdef FOUR_BIT_CODE - && FONTMAXBOUNDS(pGC->font,characterWidth) >= PGSZB -#endif - ) -#ifdef NO_ONE_RECT - return &cfbTEOps1Rect; -#else - if (devPriv->oneRect) - return &cfbTEOps1Rect; - else - return &cfbTEOps; -#endif - else -#ifdef NO_ONE_RECT - return &cfbNonTEOps1Rect; -#else - if (devPriv->oneRect) - return &cfbNonTEOps1Rect; - else - return &cfbNonTEOps; -#endif - } - return 0; -} - - -void -cfb32ValidateGC_Underlay( - GCPtr pGC, - unsigned long changes, - DrawablePtr pDrawable -){ - int mask; /* stateChanges */ - int index; /* used for stepping through bitfields */ - int new_rrop; - int new_line, new_text, new_fillspans, new_fillarea; - /* flags for changing the proc vector */ - cfbPrivGCPtr devPriv; - int oneRect; - - pGC->lastWinOrg.x = pDrawable->x; - pGC->lastWinOrg.y = pDrawable->y; - devPriv = cfbGetGCPrivate(pGC); - - new_rrop = FALSE; - new_line = FALSE; - new_text = FALSE; - new_fillspans = FALSE; - new_fillarea = FALSE; - - /* - * if the client clip is different or moved OR the subwindowMode has - * changed OR the window's clip has changed since the last validation - * we need to recompute the composite clip - */ - - if ((changes & (GCClipXOrigin|GCClipYOrigin|GCClipMask|GCSubwindowMode)) || - (pDrawable->serialNumber != (pGC->serialNumber & DRAWABLE_SERIAL_BITS)) - ) - { - if(pDrawable->type == DRAWABLE_WINDOW) - miOverlayComputeCompositeClip (pGC, (WindowPtr)pDrawable); - else - miComputeCompositeClip (pGC, pDrawable); -#ifdef NO_ONE_RECT - devPriv->oneRect = FALSE; -#else - oneRect = REGION_NUM_RECTS(pGC->pCompositeClip) == 1; - if (oneRect != devPriv->oneRect) - new_line = TRUE; - devPriv->oneRect = oneRect; -#endif - } - - mask = changes; - while (mask) { - index = lowbit (mask); - mask &= ~index; - - switch (index) { - case GCFunction: - case GCForeground: - new_rrop = TRUE; - break; - case GCPlaneMask: - new_rrop = TRUE; - new_text = TRUE; - break; - case GCBackground: - break; - case GCLineStyle: - case GCLineWidth: - new_line = TRUE; - break; - case GCJoinStyle: - case GCCapStyle: - break; - case GCFillStyle: - new_text = TRUE; - new_fillspans = TRUE; - new_line = TRUE; - new_fillarea = TRUE; - break; - case GCFillRule: - break; - case GCTile: - new_fillspans = TRUE; - new_fillarea = TRUE; - break; - case GCStipple: - new_fillspans = TRUE; - new_fillarea = TRUE; - break; - case GCTileStipXOrigin: - case GCTileStipYOrigin: - break; - case GCFont: - new_text = TRUE; - break; - case GCSubwindowMode: - case GCGraphicsExposures: - case GCClipXOrigin: - case GCClipYOrigin: - case GCClipMask: - case GCDashOffset: - case GCDashList: - case GCArcMode: - default: - break; - } - } - - /* - * If the drawable has changed, ensure suitable - * entries are in the proc vector. - */ - if (pDrawable->serialNumber != (pGC->serialNumber & (DRAWABLE_SERIAL_BITS))) - new_fillspans = TRUE; /* deal with FillSpans later */ - - if (new_rrop) - { - int old_rrop; - - old_rrop = devPriv->rop; - devPriv->rop = cfbReduceRasterOp (pGC->alu, pGC->fgPixel, - pGC->planemask, - &devPriv->and, &devPriv->xor); - if (old_rrop == devPriv->rop) - new_rrop = FALSE; - else - { -#ifdef PIXEL_ADDR - new_line = TRUE; -#endif -#ifdef WriteBitGroup - new_text = TRUE; -#endif - new_fillspans = TRUE; - new_fillarea = TRUE; - } - } - - if(!pGC->ops) - pGC->ops = & cfbNonTEOps; - - - if (new_rrop || new_fillspans || new_text || new_fillarea || new_line) - { - GCOps *newops; - - if ((newops = cfb32MatchCommon_Underlay (pGC, devPriv))) - { - if (pGC->ops->devPrivate.val) - miDestroyGCOps (pGC->ops); - pGC->ops = newops; - new_rrop = new_line = new_fillspans = new_text = new_fillarea = 0; - } - else - { - if (!pGC->ops->devPrivate.val) - { - pGC->ops = miCreateGCOps (pGC->ops); - pGC->ops->devPrivate.val = 1; - } - } - } - - /* deal with the changes we've collected */ - if (new_line) - { - pGC->ops->FillPolygon = miFillPolygon; -#ifdef NO_ONE_RECT - if (pGC->fillStyle == FillSolid) - { - switch (devPriv->rop) { - case GXcopy: - pGC->ops->FillPolygon = cfbFillPoly1RectCopy; - break; - default: - pGC->ops->FillPolygon = cfbFillPoly1RectGeneral; - break; - } - } -#else - if (devPriv->oneRect && pGC->fillStyle == FillSolid) - { - switch (devPriv->rop) { - case GXcopy: - pGC->ops->FillPolygon = cfbFillPoly1RectCopy; - break; - default: - pGC->ops->FillPolygon = cfbFillPoly1RectGeneral; - break; - } - } -#endif - if (pGC->lineWidth == 0) - { -#ifdef PIXEL_ADDR - if ((pGC->lineStyle == LineSolid) && (pGC->fillStyle == FillSolid)) - { - switch (devPriv->rop) - { - case GXxor: - pGC->ops->PolyArc = cfbZeroPolyArcSS8Xor; - break; - case GXcopy: - pGC->ops->PolyArc = cfbZeroPolyArcSS8Copy; - break; - default: - pGC->ops->PolyArc = cfbZeroPolyArcSS8General; - break; - } - } - else -#endif - pGC->ops->PolyArc = miZeroPolyArc; - } - else - pGC->ops->PolyArc = miPolyArc; - pGC->ops->PolySegment = miPolySegment; - switch (pGC->lineStyle) - { - case LineSolid: - if(pGC->lineWidth == 0) - { - if (pGC->fillStyle == FillSolid) - { -#if defined(PIXEL_ADDR) && !defined(NO_ONE_RECT) - if (devPriv->oneRect && - ((pDrawable->x >= pGC->pScreen->width - 32768) && - (pDrawable->y >= pGC->pScreen->height - 32768))) - { - pGC->ops->Polylines = cfb8LineSS1Rect; - pGC->ops->PolySegment = cfb8SegmentSS1Rect; - } else -#endif -#ifdef NO_ONE_RECT - { - pGC->ops->Polylines = cfb8LineSS1Rect; - pGC->ops->PolySegment = cfb8SegmentSS1Rect; - } -#else - { - pGC->ops->Polylines = cfbLineSS; - pGC->ops->PolySegment = cfbSegmentSS; - } -#endif - } - else - pGC->ops->Polylines = miZeroLine; - } - else - pGC->ops->Polylines = miWideLine; - break; - case LineOnOffDash: - case LineDoubleDash: - if (pGC->lineWidth == 0 && pGC->fillStyle == FillSolid) - { - pGC->ops->Polylines = cfbLineSD; - pGC->ops->PolySegment = cfbSegmentSD; - } else - pGC->ops->Polylines = miWideDash; - break; - } - } - - if (new_text && (pGC->font)) - { - if (FONTMAXBOUNDS(pGC->font,rightSideBearing) - - FONTMINBOUNDS(pGC->font,leftSideBearing) > 32 || - FONTMINBOUNDS(pGC->font,characterWidth) < 0) - { - pGC->ops->PolyGlyphBlt = miPolyGlyphBlt; - pGC->ops->ImageGlyphBlt = miImageGlyphBlt; - } - else - { -#ifdef WriteBitGroup - if (pGC->fillStyle == FillSolid) - { - if (devPriv->rop == GXcopy) - pGC->ops->PolyGlyphBlt = cfbPolyGlyphBlt8; - else -#ifdef FOUR_BIT_CODE - pGC->ops->PolyGlyphBlt = cfbPolyGlyphRop8; -#else - pGC->ops->PolyGlyphBlt = miPolyGlyphBlt; -#endif - } - else -#endif - pGC->ops->PolyGlyphBlt = miPolyGlyphBlt; - /* special case ImageGlyphBlt for terminal emulator fonts */ -#if !defined(WriteBitGroup) || PSZ == 8 - if (TERMINALFONT(pGC->font) && - (pGC->planemask & PMSK) == PMSK -#ifdef FOUR_BIT_CODE - && FONTMAXBOUNDS(pGC->font,characterWidth) >= PGSZB -#endif - ) - { - pGC->ops->ImageGlyphBlt = useTEGlyphBlt; - } - else -#endif - { -#ifdef WriteBitGroup - if (devPriv->rop == GXcopy && - pGC->fillStyle == FillSolid && - (pGC->planemask & PMSK) == PMSK) - pGC->ops->ImageGlyphBlt = cfbImageGlyphBlt8; - else -#endif - pGC->ops->ImageGlyphBlt = miImageGlyphBlt; - } - } - } - - - if (new_fillspans) { - switch (pGC->fillStyle) { - case FillSolid: - switch (devPriv->rop) { - case GXcopy: - pGC->ops->FillSpans = cfbSolidSpansCopy; - break; - case GXxor: - pGC->ops->FillSpans = cfbSolidSpansXor; - break; - default: - pGC->ops->FillSpans = cfbSolidSpansGeneral; - break; - } - break; - case FillTiled: - pGC->ops->FillSpans = cfbUnnaturalTileFS; - break; - case FillStippled: - case FillOpaqueStippled: - pGC->ops->FillSpans = cfbUnnaturalStippleFS; - break; - default: - FatalError("cfbValidateGC: illegal fillStyle\n"); - } - } /* end of new_fillspans */ - - if (new_fillarea) { -#ifndef FOUR_BIT_CODE - pGC->ops->PolyFillRect = miPolyFillRect; - if (pGC->fillStyle == FillSolid || pGC->fillStyle == FillTiled) - { - pGC->ops->PolyFillRect = cfbPolyFillRect; - } -#endif -#ifdef FOUR_BIT_CODE - pGC->ops->PushPixels = mfbPushPixels; - if (pGC->fillStyle == FillSolid && devPriv->rop == GXcopy) - pGC->ops->PushPixels = cfbPushPixels8; -#endif - pGC->ops->PolyFillArc = miPolyFillArc; - if (pGC->fillStyle == FillSolid) - { - switch (devPriv->rop) - { - case GXcopy: - pGC->ops->PolyFillArc = cfbPolyFillArcSolidCopy; - break; - default: - pGC->ops->PolyFillArc = cfbPolyFillArcSolidGeneral; - break; - } - } - } -} diff --git a/xorg-server/hw/xfree86/xf8_32bpp/cfbimage.c b/xorg-server/hw/xfree86/xf8_32bpp/cfbimage.c deleted file mode 100644 index 01a5a5eb6..000000000 --- a/xorg-server/hw/xfree86/xf8_32bpp/cfbimage.c +++ /dev/null @@ -1,174 +0,0 @@ - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include -#include - -#include -#include "windowstr.h" -#include "pixmapstr.h" -#include "scrnintstr.h" -#include "gcstruct.h" -#define PSZ 8 -#include "cfb.h" -#undef PSZ -#include "cfb32.h" -#include "cfb8_32.h" -#include "servermd.h" -#include "mi.h" - - -void -cfb8_32GetImage ( - DrawablePtr pDraw, - int sx, int sy, int w, int h, - unsigned int format, - unsigned long planemask, - char *pdstLine -){ - if(!w || !h) return; - - if (!cfbDrawableEnabled (pDraw)) - return; - - if(pDraw->depth == 24){ - cfb32GetImage(pDraw, sx, sy, w, h, format, planemask, pdstLine); - return; - } - - if((pDraw->bitsPerPixel == 8) || (pDraw->bitsPerPixel == 1)){ - cfbGetImage(pDraw, sx, sy, w, h, format, planemask, pdstLine); - return; - } - - /* source is depth 8, 32 bpp */ - if(format != ZPixmap) { - miGetImage(pDraw, sx, sy, w, h, format, planemask, pdstLine); - return; - } else { - BoxRec box; - DDXPointRec ptSrc; - RegionRec rgnDst; - ScreenPtr pScreen; - PixmapPtr pPixmap; - - pScreen = pDraw->pScreen; - pPixmap = GetScratchPixmapHeader(pScreen, w, h, 8, 8, - PixmapBytePad(w,8), (pointer)pdstLine); - if (!pPixmap) - return; - if ((planemask & 0xff) != 0xff) - memset((char *)pdstLine, 0, pPixmap->devKind * h); - ptSrc.x = sx + pDraw->x; - ptSrc.y = sy + pDraw->y; - box.x1 = 0; - box.y1 = 0; - box.x2 = w; - box.y2 = h; - REGION_INIT(pScreen, &rgnDst, &box, 1); - cfbDoBitblt32To8(pDraw, (DrawablePtr)pPixmap, GXcopy, &rgnDst, - &ptSrc, planemask); - REGION_UNINIT(pScreen, &rgnDst); - FreeScratchPixmapHeader(pPixmap); - } -} - -void -cfb8_32PutImage ( - DrawablePtr pDraw, - GCPtr pGC, - int depth, - int x, int y, int w, int h, - int leftPad, - int format, - char *pImage -){ - if(!w || !h) return; - - if((pDraw->bitsPerPixel == 8) || (format != XYPixmap)){ - cfbPutImage(pDraw, pGC, depth, x, y, w, h, leftPad, format, pImage); - return; - } else { /* moving an 8bpp XYPixmap to a 32bpp screen */ - unsigned long oldFg, oldBg; - XID gcv[3]; - unsigned long oldPlanemask; - unsigned long i; - long bytesPer; - - oldPlanemask = pGC->planemask; - oldFg = pGC->fgPixel; - oldBg = pGC->bgPixel; - gcv[0] = ~0L; - gcv[1] = 0; - DoChangeGC(pGC, GCForeground | GCBackground, gcv, 0); - bytesPer = (long)h * BitmapBytePad(w + leftPad); - - for (i = 0x80000000; i & 0xff000000; i >>= 1, pImage += bytesPer) - { - if (i & oldPlanemask) - { - gcv[0] = i; - DoChangeGC(pGC, GCPlaneMask, gcv, 0); - ValidateGC(pDraw, pGC); - (*pGC->ops->PutImage)(pDraw, pGC, 1, x, y, w, h, leftPad, - XYBitmap, pImage); - } - } - gcv[0] = oldPlanemask; - gcv[1] = oldFg; - gcv[2] = oldBg; - DoChangeGC(pGC, GCPlaneMask | GCForeground | GCBackground, gcv, 0); - ValidateGC(pDraw, pGC); - } -} - - - - -void -cfb8_32GetSpans( - DrawablePtr pDraw, - int wMax, - DDXPointPtr ppt, - int *pwidth, - int nspans, - char *pDst -){ - int pitch, i; - CARD8 *ptr, *ptrBase; - - if (!cfbDrawableEnabled (pDraw)) - return; - - if(pDraw->bitsPerPixel == 1) { - mfbGetSpans(pDraw, wMax, ppt, pwidth, nspans, pDst); - return; - } - - if(pDraw->depth == 24) { - cfb32GetSpans(pDraw, wMax, ppt, pwidth, nspans, pDst); - return; - } else if(pDraw->bitsPerPixel == 8) { - cfbGetSpans(pDraw, wMax, ppt, pwidth, nspans, pDst); - return; - } - - /* gotta get spans from a depth 8 window */ - cfbGetByteWidthAndPointer(pDraw, pitch, ptrBase); - ptrBase += 3; /* point to top byte */ - - while(nspans--) { - ptr = ptrBase + (ppt->y * pitch) + (ppt->x << 2); - - for(i = *pwidth; i--; ptr += 4) - *(pDst++) = *ptr; - - pDst = (char*)((long)(pDst + 3) & ~3L); - - ppt++; pwidth++; - } -} - - diff --git a/xorg-server/hw/xfree86/xf8_32bpp/cfbpntwin.c b/xorg-server/hw/xfree86/xf8_32bpp/cfbpntwin.c deleted file mode 100644 index fbf597d22..000000000 --- a/xorg-server/hw/xfree86/xf8_32bpp/cfbpntwin.c +++ /dev/null @@ -1,51 +0,0 @@ - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include - -#include "windowstr.h" -#include "regionstr.h" -#include "pixmapstr.h" -#include "scrnintstr.h" - -#define PSZ 8 -#include "cfb.h" -#undef PSZ -#include "cfb32.h" -#include "cfb8_32.h" -#include "mi.h" - -#ifdef PANORAMIX -#include "panoramiX.h" -#include "panoramiXsrv.h" -#endif - -void -cfb8_32FillBoxSolid8( - DrawablePtr pDraw, - int nbox, - BoxPtr pbox, - unsigned long color -){ - CARD8 *ptr, *data; - int pitch, height, width, i; - CARD8 c = (CARD8)color; - - cfbGetByteWidthAndPointer(pDraw, pitch, ptr); - ptr += 3; /* point to the top byte */ - - while(nbox--) { - data = ptr + (pbox->y1 * pitch) + (pbox->x1 << 2); - width = (pbox->x2 - pbox->x1) << 2; - height = pbox->y2 - pbox->y1; - - while(height--) { - for(i = 0; i < width; i+=4) - data[i] = c; - data += pitch; - } - pbox++; - } -} diff --git a/xorg-server/hw/xfree86/xf8_32bpp/cfbscrinit.c b/xorg-server/hw/xfree86/xf8_32bpp/cfbscrinit.c deleted file mode 100644 index c3432b803..000000000 --- a/xorg-server/hw/xfree86/xf8_32bpp/cfbscrinit.c +++ /dev/null @@ -1,311 +0,0 @@ - - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include -#include -#include "misc.h" -#include "servermd.h" -#include "scrnintstr.h" -#include "pixmapstr.h" -#include "resource.h" -#include "colormap.h" -#include "colormapst.h" -#define PSZ 8 -#include "cfb.h" -#undef PSZ -#include "cfb32.h" -#include "cfb8_32.h" -#include "mi.h" -#include "micmap.h" -#include "mistruct.h" -#include "dix.h" -#include "mibstore.h" -#include "mioverlay.h" -#include "xf86.h" -#include "xf86str.h" -#include "globals.h" - -/* CAUTION: We require that cfb8 and cfb32 were NOT - compiled with CFB_NEED_SCREEN_PRIVATE */ - -static DevPrivateKey cfb8_32GCPrivateKey = &cfb8_32GCPrivateKey; -DevPrivateKey cfb8_32GetGCPrivateKey(void) -{ - return cfb8_32GCPrivateKey; -} - -static DevPrivateKey cfb8_32ScreenPrivateKey = &cfb8_32ScreenPrivateKey; -DevPrivateKey cfb8_32GetScreenPrivateKey(void) -{ - return cfb8_32ScreenPrivateKey; -} - -static Bool -cfb8_32AllocatePrivates(ScreenPtr pScreen) -{ - cfb8_32ScreenPtr pScreenPriv; - - if (!(pScreenPriv = xalloc(sizeof(cfb8_32ScreenRec)))) - return FALSE; - - dixSetPrivate(&pScreen->devPrivates, cfb8_32ScreenPrivateKey, pScreenPriv); - - - /* All cfb will have the same GC and Window private indicies */ - if(!mfbAllocatePrivates(pScreen, &cfbGCPrivateKey)) - return FALSE; - - if(!dixRequestPrivate(cfbGCPrivateKey, sizeof(cfbPrivGC))) - return FALSE; - - if(!dixRequestPrivate(cfb8_32GCPrivateKey, sizeof(cfb8_32GCRec))) - return FALSE; - - return TRUE; -} - -static void DestroyColormapNoop( - ColormapPtr pColormap) -{ - /* NOOP */ -} - -static void StoreColorsNoop( - ColormapPtr pColormap, - int ndef, - xColorItem * pdef) -{ - /* NOOP */ -} - -static Bool -cfb8_32SetupScreen( - ScreenPtr pScreen, - pointer pbits, /* pointer to screen bitmap */ - int xsize, int ysize, /* in pixels */ - int dpix, int dpiy, /* dots per inch */ - int width /* pixel width of frame buffer */ -){ - if (!cfb8_32AllocatePrivates(pScreen)) - return FALSE; - pScreen->defColormap = FakeClientID(0); - /* let CreateDefColormap do whatever it wants for pixels */ - pScreen->blackPixel = pScreen->whitePixel = (Pixel) 0; - pScreen->QueryBestSize = mfbQueryBestSize; - /* SaveScreen */ - pScreen->GetImage = cfb8_32GetImage; - pScreen->GetSpans = cfb8_32GetSpans; - pScreen->CreateWindow = cfb8_32CreateWindow; - pScreen->DestroyWindow = cfb8_32DestroyWindow; - pScreen->PositionWindow = cfb8_32PositionWindow; - pScreen->ChangeWindowAttributes = cfb8_32ChangeWindowAttributes; - pScreen->RealizeWindow = cfb32MapWindow; /* OK */ - pScreen->UnrealizeWindow = cfb32UnmapWindow; /* OK */ - pScreen->CopyWindow = cfb8_32CopyWindow; - pScreen->CreatePixmap = cfb32CreatePixmap; /* OK */ - pScreen->DestroyPixmap = cfb32DestroyPixmap; /* OK */ - pScreen->RealizeFont = mfbRealizeFont; - pScreen->UnrealizeFont = mfbUnrealizeFont; - pScreen->CreateGC = cfb8_32CreateGC; - pScreen->CreateColormap = miInitializeColormap; - pScreen->DestroyColormap = DestroyColormapNoop; - pScreen->InstallColormap = miInstallColormap; - pScreen->UninstallColormap = miUninstallColormap; - pScreen->ListInstalledColormaps = miListInstalledColormaps; - pScreen->StoreColors = StoreColorsNoop; - pScreen->ResolveColor = miResolveColor; - pScreen->BitmapToRegion = mfbPixmapToRegion; - - mfbRegisterCopyPlaneProc (pScreen, cfb8_32CopyPlane); - return TRUE; -} - -typedef struct { - pointer pbits; - int width; -} miScreenInitParmsRec, *miScreenInitParmsPtr; - -static Bool -cfb8_32CreateScreenResources(ScreenPtr pScreen) -{ - miScreenInitParmsPtr pScrInitParms; - int pitch; - Bool retval; - - /* get the pitch before mi destroys it */ - pScrInitParms = (miScreenInitParmsPtr)pScreen->devPrivate; - pitch = pScrInitParms->width << 2; - - if((retval = miCreateScreenResources(pScreen))) { - /* fix the screen pixmap */ - PixmapPtr pPix = (PixmapPtr)pScreen->devPrivate; - pPix->drawable.bitsPerPixel = 32; - pPix->drawable.depth = 8; - pPix->devKind = pitch; - } - - return retval; -} - - -static Bool -cfb8_32CloseScreen (int i, ScreenPtr pScreen) -{ - cfb8_32ScreenPtr pScreenPriv = CFB8_32_GET_SCREEN_PRIVATE(pScreen); - if(pScreenPriv->visualData) - xfree(pScreenPriv->visualData); - - xfree((pointer) pScreenPriv); - dixSetPrivate(&pScreen->devPrivates, cfb8_32ScreenPrivateKey, NULL); - - return(cfb32CloseScreen(i, pScreen)); -} - -static void -cfb8_32TransFunc( - ScreenPtr pScreen, - int nbox, - BoxPtr pbox -){ - cfb8_32FillBoxSolid8(&(WindowTable[pScreen->myNum]->drawable), - nbox, pbox, xf86Screens[pScreen->myNum]->colorKey); -} - -static Bool -cfb8_32InOverlayFunc(WindowPtr pWin) -{ - return (pWin->drawable.depth == 8); -} - -static Bool -cfb8_32FinishScreenInit( - ScreenPtr pScreen, - pointer pbits, /* pointer to screen bitmap */ - int xsize, int ysize, /* in pixels */ - int dpix, int dpiy, /* dots per inch */ - int width /* pixel width of frame buffer */ -){ - VisualPtr visuals; - DepthPtr depths; - int nvisuals; - int ndepths; - int rootdepth; - VisualID defaultVisual; - - rootdepth = 0; - if (!miInitVisuals (&visuals, &depths, &nvisuals, &ndepths, &rootdepth, - &defaultVisual,((unsigned long)1<<(32-1)), 8, -1)) - return FALSE; - if (! miScreenInit(pScreen, pbits, xsize, ysize, dpix, dpiy, width, - rootdepth, ndepths, depths, - defaultVisual, nvisuals, visuals)) - return FALSE; - - pScreen->CreateScreenResources = cfb8_32CreateScreenResources; - pScreen->CloseScreen = cfb8_32CloseScreen; - pScreen->GetScreenPixmap = cfb32GetScreenPixmap; /* OK */ - pScreen->SetScreenPixmap = cfb32SetScreenPixmap; /* OK */ - - if (! miInitOverlay(pScreen, cfb8_32InOverlayFunc, cfb8_32TransFunc)) - return FALSE; - - return TRUE; -} - -static void -cfb8_32EnableDisableFBAccess ( - int index, - Bool enable -){ - ScreenPtr pScreen = screenInfo.screens[index]; - cfb8_32ScreenPtr pScreenPriv = CFB8_32_GET_SCREEN_PRIVATE(pScreen); - - miOverlaySetRootClip(pScreen, enable); - - (*pScreenPriv->EnableDisableFBAccess) (index, enable); -} - -static Atom overlayVisualsAtom; - -typedef struct { - CARD32 overlay_visual; - CARD32 transparent_type; - CARD32 value; - CARD32 layer; -} overlayVisualRec; - -static void -cfb8_32SetupVisuals (ScreenPtr pScreen) -{ - cfb8_32ScreenPtr pScreenPriv = CFB8_32_GET_SCREEN_PRIVATE(pScreen); - char atomString[] = {"SERVER_OVERLAY_VISUALS"}; - overlayVisualRec *overlayVisuals; - VisualID *visuals = NULL; - int numVisuals = 0; - DepthPtr pDepth = pScreen->allowedDepths; - int numDepths = pScreen->numDepths; - int i; - - /* find depth 8 visuals */ - for(i = 0; i < numDepths; i++, pDepth++) { - if(pDepth->depth == 8) { - numVisuals = pDepth->numVids; - visuals = pDepth->vids; - break; - } - } - - if(!numVisuals || !visuals) { - ErrorF("No overlay visuals found!\n"); - return; - } - - if(!(overlayVisuals = xalloc(numVisuals * sizeof(overlayVisualRec)))) - return; - - for(i = 0; i < numVisuals; i++) { - overlayVisuals[i].overlay_visual = visuals[i]; - overlayVisuals[i].transparent_type = 1; /* transparent pixel */ - overlayVisuals[i].value = pScreenPriv->key; - overlayVisuals[i].layer = 1; - } - - overlayVisualsAtom = MakeAtom(atomString, sizeof(atomString) - 1, TRUE); - xf86RegisterRootWindowProperty(pScreen->myNum, overlayVisualsAtom, - overlayVisualsAtom, 32, numVisuals * 4, overlayVisuals); - pScreenPriv->visualData = (pointer)overlayVisuals; -} - -Bool -cfb8_32ScreenInit( - ScreenPtr pScreen, - pointer pbits, /* pointer to screen bitmap */ - int xsize, int ysize, /* in pixels */ - int dpix, int dpiy, /* dots per inch */ - int w /* pixel width of frame buffer */ -){ - cfb8_32ScreenPtr pScreenPriv; - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; - - if (!cfb8_32SetupScreen(pScreen, pbits, xsize, ysize, dpix, dpiy, w)) - return FALSE; - - pScreenPriv = CFB8_32_GET_SCREEN_PRIVATE(pScreen); - pScreenPriv->key = pScrn->colorKey; - pScreenPriv->visualData = NULL; - - - pScreenPriv->EnableDisableFBAccess = pScrn->EnableDisableFBAccess; - pScrn->EnableDisableFBAccess = cfb8_32EnableDisableFBAccess; - - - if(cfb8_32FinishScreenInit(pScreen, pbits, xsize, ysize, dpix, dpiy, w)) - { - cfb8_32SetupVisuals(pScreen); - return TRUE; - } - return FALSE; -} diff --git a/xorg-server/hw/xfree86/xf8_32bpp/cfbwindow.c b/xorg-server/hw/xfree86/xf8_32bpp/cfbwindow.c deleted file mode 100644 index 2e6057f12..000000000 --- a/xorg-server/hw/xfree86/xf8_32bpp/cfbwindow.c +++ /dev/null @@ -1,116 +0,0 @@ - - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include - -#include -#include "scrnintstr.h" -#include "windowstr.h" -#define PSZ 8 -#include "cfb.h" -#undef PSZ -#include "cfb32.h" -#include "cfb8_32.h" -#include "mistruct.h" -#include "regionstr.h" -#include "cfbmskbits.h" -#include "mioverlay.h" - - -/* We don't bother with cfb's fastBackground/Border so we don't - need to use the Window privates */ - - -Bool -cfb8_32CreateWindow(WindowPtr pWin) -{ - pWin->drawable.bitsPerPixel = 32; - return TRUE; -} - - -Bool -cfb8_32DestroyWindow(WindowPtr pWin) -{ - return TRUE; -} - -Bool -cfb8_32PositionWindow( - WindowPtr pWin, - int x, int y -){ - return TRUE; -} - -void -cfb8_32CopyWindow(pWin, ptOldOrg, prgnSrc) - WindowPtr pWin; - DDXPointRec ptOldOrg; - RegionPtr prgnSrc; -{ - ScreenPtr pScreen = pWin->drawable.pScreen; - DDXPointPtr ppt, pptSrc; - RegionRec rgnDst; - RegionPtr borderClip = &pWin->borderClip; - BoxPtr pbox; - int dx, dy, i, nbox; - WindowPtr pwinRoot; - Bool doUnderlay = miOverlayCopyUnderlay(pScreen); - Bool freeReg = FALSE; - - pwinRoot = WindowTable[pScreen->myNum]; - - if(doUnderlay) - freeReg = miOverlayCollectUnderlayRegions(pWin, &borderClip); - - REGION_NULL(pScreen, &rgnDst); - - dx = ptOldOrg.x - pWin->drawable.x; - dy = ptOldOrg.y - pWin->drawable.y; - REGION_TRANSLATE(pScreen, prgnSrc, -dx, -dy); - REGION_INTERSECT(pScreen, &rgnDst, borderClip, prgnSrc); - - pbox = REGION_RECTS(&rgnDst); - nbox = REGION_NUM_RECTS(&rgnDst); - if(!nbox || - !(pptSrc = (DDXPointPtr )xalloc(nbox * sizeof(DDXPointRec)))) - { - REGION_UNINIT(pScreen, &rgnDst); - return; - } - ppt = pptSrc; - - for (i = nbox; --i >= 0; ppt++, pbox++) - { - ppt->x = pbox->x1 + dx; - ppt->y = pbox->y1 + dy; - } - - if(doUnderlay) - cfbDoBitblt24To24GXcopy((DrawablePtr)pwinRoot, (DrawablePtr)pwinRoot, - GXcopy, &rgnDst, pptSrc, ~0); - else - cfbDoBitblt8To8GXcopy((DrawablePtr)pwinRoot, (DrawablePtr)pwinRoot, - GXcopy, &rgnDst, pptSrc, ~0); - - xfree(pptSrc); - REGION_UNINIT(pScreen, &rgnDst); - if(freeReg) - REGION_DESTROY(pScreen, borderClip); -} - -Bool -cfb8_32ChangeWindowAttributes( - WindowPtr pWin, - unsigned long mask -){ - return TRUE; -} - - - - diff --git a/xorg-server/hw/xfree86/xf8_32bpp/xf86overlay.c b/xorg-server/hw/xfree86/xf8_32bpp/xf86overlay.c deleted file mode 100644 index c63b3cfd1..000000000 --- a/xorg-server/hw/xfree86/xf8_32bpp/xf86overlay.c +++ /dev/null @@ -1,1179 +0,0 @@ - -/* - Copyright (C) 1998. The XFree86 Project Inc. - - Written by Mark Vojkovich (mvojkovi@ucsd.edu) -*/ - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include "misc.h" -#include "xf86.h" -#include "xf86_OSproc.h" - -#include -#include "scrnintstr.h" -#include "regionstr.h" -#include "windowstr.h" -#include "xf86str.h" -#include "migc.h" -#include "gcstruct.h" -#include "pixmapstr.h" -#include "colormapst.h" -#include "cfb8_32.h" - -#define IS_DIRTY 1 -#define IS_SHARED 2 - -/** Screen Functions **/ - -static Bool OverlayCloseScreen (int, ScreenPtr); -static Bool OverlayCreateGC(GCPtr pGC); -static Bool OverlayDestroyPixmap(PixmapPtr); -static PixmapPtr OverlayCreatePixmap(ScreenPtr, int, int, int, unsigned); -static Bool OverlayChangeWindowAttributes(WindowPtr, unsigned long); - -/** Funcs **/ -static void OverlayValidateGC(GCPtr, unsigned long, DrawablePtr); -static void OverlayChangeGC(GCPtr, unsigned long); -static void OverlayCopyGC(GCPtr, unsigned long, GCPtr); -static void OverlayDestroyGC(GCPtr); -static void OverlayChangeClip(GCPtr, int, pointer, int); -static void OverlayDestroyClip(GCPtr); -static void OverlayCopyClip(GCPtr, GCPtr); - - -static PixmapPtr OverlayRefreshPixmap(PixmapPtr); - -static GCFuncs OverlayGCFuncs = { - OverlayValidateGC, OverlayChangeGC, - OverlayCopyGC, OverlayDestroyGC, - OverlayChangeClip, OverlayDestroyClip, - OverlayCopyClip -}; - - -/** Pixmap Ops */ -static void PixmapFillSpans(DrawablePtr, GCPtr, int, DDXPointPtr, int *, - int); -static void PixmapSetSpans(DrawablePtr, GCPtr, char *, DDXPointPtr, - int *, int, int); -static void PixmapPutImage(DrawablePtr, GCPtr, int, int, int, int, int, - int, int, char *); -static void PixmapPushPixels(GCPtr, PixmapPtr, DrawablePtr, int, int, - int, int); -static RegionPtr PixmapCopyArea(DrawablePtr, DrawablePtr, GCPtr, int, int, - int, int, int, int); -static RegionPtr PixmapCopyPlane(DrawablePtr, DrawablePtr, GCPtr, int, int, - int, int, int, int, unsigned long); -static void PixmapPolyPoint(DrawablePtr, GCPtr, int, int, xPoint *); -static void PixmapPolylines(DrawablePtr, GCPtr, int, int, DDXPointPtr); -static void PixmapPolySegment(DrawablePtr, GCPtr, int, xSegment *); -static void PixmapPolyRectangle(DrawablePtr, GCPtr, int, xRectangle *); -static void PixmapPolyArc(DrawablePtr, GCPtr, int, xArc *); -static void PixmapFillPolygon(DrawablePtr, GCPtr, int, int, int, - DDXPointPtr); -static void PixmapPolyFillRect(DrawablePtr, GCPtr, int, xRectangle *); -static void PixmapPolyFillArc(DrawablePtr, GCPtr, int, xArc *); -static int PixmapPolyText8(DrawablePtr, GCPtr, int, int, int, char *); -static int PixmapPolyText16(DrawablePtr, GCPtr, int, int, int, - unsigned short *); -static void PixmapImageText8(DrawablePtr, GCPtr, int, int, int, char *); -static void PixmapImageText16(DrawablePtr, GCPtr, int, int, int, - unsigned short *); -static void PixmapImageGlyphBlt(DrawablePtr, GCPtr, int, int, - unsigned int, CharInfoPtr *, pointer); -static void PixmapPolyGlyphBlt(DrawablePtr, GCPtr, int, int, - unsigned int, CharInfoPtr *, pointer); - -static GCOps PixmapGCOps = { - PixmapFillSpans, PixmapSetSpans, - PixmapPutImage, PixmapCopyArea, - PixmapCopyPlane, PixmapPolyPoint, - PixmapPolylines, PixmapPolySegment, - PixmapPolyRectangle, PixmapPolyArc, - PixmapFillPolygon, PixmapPolyFillRect, - PixmapPolyFillArc, PixmapPolyText8, - PixmapPolyText16, PixmapImageText8, - PixmapImageText16, PixmapImageGlyphBlt, - PixmapPolyGlyphBlt, PixmapPushPixels, - {NULL} /* devPrivate */ -}; - - -/** Window Ops **/ -static void WindowFillSpans(DrawablePtr, GCPtr, int, DDXPointPtr, int *, - int); -static void WindowSetSpans(DrawablePtr, GCPtr, char *, DDXPointPtr, - int *, int, int); -static void WindowPutImage(DrawablePtr, GCPtr, int, int, int, int, int, - int, int, char *); -static void WindowPushPixels(GCPtr, PixmapPtr, DrawablePtr, int, int, - int, int); -static RegionPtr WindowCopyArea(DrawablePtr, DrawablePtr, GCPtr, int, int, - int, int, int, int); -static RegionPtr WindowCopyPlane(DrawablePtr, DrawablePtr, GCPtr, int, int, - int, int, int, int, unsigned long); -static void WindowPolyPoint(DrawablePtr, GCPtr, int, int, xPoint *); -static void WindowPolylines(DrawablePtr, GCPtr, int, int, DDXPointPtr); -static void WindowPolySegment(DrawablePtr, GCPtr, int, xSegment *); -static void WindowPolyRectangle(DrawablePtr, GCPtr, int, xRectangle *); -static void WindowPolyArc(DrawablePtr, GCPtr, int, xArc *); -static void WindowFillPolygon(DrawablePtr, GCPtr, int, int, int, - DDXPointPtr); -static void WindowPolyFillRect(DrawablePtr, GCPtr, int, xRectangle *); -static void WindowPolyFillArc(DrawablePtr, GCPtr, int, xArc *); -static int WindowPolyText8(DrawablePtr, GCPtr, int, int, int, char *); -static int WindowPolyText16(DrawablePtr, GCPtr, int, int, int, - unsigned short *); -static void WindowImageText8(DrawablePtr, GCPtr, int, int, int, char *); -static void WindowImageText16(DrawablePtr, GCPtr, int, int, int, - unsigned short *); -static void WindowImageGlyphBlt(DrawablePtr, GCPtr, int, int, - unsigned int, CharInfoPtr *, pointer); -static void WindowPolyGlyphBlt(DrawablePtr, GCPtr, int, int, - unsigned int, CharInfoPtr *, pointer); - -static GCOps WindowGCOps = { - WindowFillSpans, WindowSetSpans, - WindowPutImage, WindowCopyArea, - WindowCopyPlane, WindowPolyPoint, - WindowPolylines, WindowPolySegment, - WindowPolyRectangle, WindowPolyArc, - WindowFillPolygon, WindowPolyFillRect, - WindowPolyFillArc, WindowPolyText8, - WindowPolyText16, WindowImageText8, - WindowImageText16, WindowImageGlyphBlt, - WindowPolyGlyphBlt, WindowPushPixels, - {NULL} /* devPrivate */ -}; - -/** privates **/ - -typedef struct { - CloseScreenProcPtr CloseScreen; - CreateGCProcPtr CreateGC; - CreatePixmapProcPtr CreatePixmap; - DestroyPixmapProcPtr DestroyPixmap; - ChangeWindowAttributesProcPtr ChangeWindowAttributes; - int LockPrivate; -} OverlayScreenRec, *OverlayScreenPtr; - -typedef struct { - GCFuncs *wrapFuncs; - GCOps *wrapOps; - GCOps *overlayOps; - unsigned long fg; - unsigned long bg; - unsigned long pm; - PixmapPtr tile; -} OverlayGCRec, *OverlayGCPtr; - -typedef struct { - PixmapPtr pix32; - CARD32 dirty; -} OverlayPixmapRec, *OverlayPixmapPtr; - - -static DevPrivateKey OverlayScreenKey = &OverlayScreenKey; -static DevPrivateKey OverlayGCKey = &OverlayGCKey; -static DevPrivateKey OverlayPixmapKey = &OverlayPixmapKey; - -/** Macros **/ - -#define TILE_EXISTS(pGC) (!(pGC)->tileIsPixel && (pGC)->tile.pixmap) - -#define OVERLAY_GET_PIXMAP_PRIVATE(pPix) ((OverlayPixmapPtr) \ - dixLookupPrivate(&(pPix)->devPrivates, OverlayPixmapKey)) - -#define OVERLAY_GET_SCREEN_PRIVATE(pScreen) ((OverlayScreenPtr) \ - dixLookupPrivate(&(pScreen)->devPrivates, OverlayScreenKey)) - -#define OVERLAY_GET_GC_PRIVATE(pGC) ((OverlayGCPtr) \ - dixLookupPrivate(&(pGC)->devPrivates, OverlayGCKey)) - -#define OVERLAY_GC_FUNC_PROLOGUE(pGC)\ - OverlayGCPtr pGCPriv = OVERLAY_GET_GC_PRIVATE(pGC);\ - (pGC)->funcs = pGCPriv->wrapFuncs;\ - if(pGCPriv->overlayOps) \ - (pGC)->ops = pGCPriv->wrapOps - -#define OVERLAY_GC_FUNC_EPILOGUE(pGC)\ - pGCPriv->wrapFuncs = (pGC)->funcs;\ - (pGC)->funcs = &OverlayGCFuncs;\ - if(pGCPriv->overlayOps) { \ - pGCPriv->wrapOps = (pGC)->ops;\ - (pGC)->ops = pGCPriv->overlayOps;\ - } - -#define WINDOW_GC_OP_PROLOGUE(pGC)\ - OverlayScreenPtr pScreenPriv = OVERLAY_GET_SCREEN_PRIVATE((pGC)->pScreen);\ - OverlayGCPtr pGCPriv = OVERLAY_GET_GC_PRIVATE(pGC);\ - unsigned long oldfg = (pGC)->fgPixel;\ - unsigned long oldbg = (pGC)->bgPixel;\ - unsigned long oldpm = (pGC)->planemask;\ - PixmapPtr oldtile = (pGC)->tile.pixmap;\ - (pGC)->fgPixel = pGCPriv->fg;\ - (pGC)->bgPixel = pGCPriv->bg;\ - (pGC)->planemask = pGCPriv->pm;\ - if(pGCPriv->tile) (pGC)->tile.pixmap = pGCPriv->tile;\ - (pGC)->funcs = pGCPriv->wrapFuncs;\ - (pGC)->ops = pGCPriv->wrapOps;\ - pScreenPriv->LockPrivate++ - - -#define WINDOW_GC_OP_EPILOGUE(pGC)\ - pGCPriv->wrapOps = (pGC)->ops;\ - pGCPriv->wrapFuncs = (pGC)->funcs;\ - (pGC)->fgPixel = oldfg;\ - (pGC)->bgPixel = oldbg;\ - (pGC)->planemask = oldpm;\ - (pGC)->tile.pixmap = oldtile;\ - (pGC)->funcs = &OverlayGCFuncs;\ - (pGC)->ops = &WindowGCOps;\ - pScreenPriv->LockPrivate-- - - -#define PIXMAP_GC_OP_PROLOGUE(pGC)\ - OverlayGCPtr pGCPriv = OVERLAY_GET_GC_PRIVATE(pGC);\ - OverlayPixmapPtr pPixPriv = OVERLAY_GET_PIXMAP_PRIVATE((PixmapPtr)pDraw);\ - pGC->funcs = pGCPriv->wrapFuncs;\ - pGC->ops = pGCPriv->wrapOps - -#define PIXMAP_GC_OP_EPILOGUE(pGC)\ - pGCPriv->wrapOps = pGC->ops;\ - pGC->funcs = &OverlayGCFuncs;\ - pGC->ops = &PixmapGCOps;\ - pPixPriv->dirty |= IS_DIRTY - - -Bool -xf86Overlay8Plus32Init (ScreenPtr pScreen) -{ - OverlayScreenPtr pScreenPriv; - - if (!dixRequestPrivate(OverlayGCKey, sizeof(OverlayGCRec))) - return FALSE; - - if (!dixRequestPrivate(OverlayPixmapKey, sizeof(OverlayPixmapRec))) - return FALSE; - - if (!(pScreenPriv = xalloc(sizeof(OverlayScreenRec)))) - return FALSE; - - dixSetPrivate(&pScreen->devPrivates, OverlayScreenKey, pScreenPriv); - - pScreenPriv->CreateGC = pScreen->CreateGC; - pScreenPriv->CloseScreen = pScreen->CloseScreen; - pScreenPriv->CreatePixmap = pScreen->CreatePixmap; - pScreenPriv->DestroyPixmap = pScreen->DestroyPixmap; - pScreenPriv->ChangeWindowAttributes = pScreen->ChangeWindowAttributes; - - pScreen->CreateGC = OverlayCreateGC; - pScreen->CloseScreen = OverlayCloseScreen; - pScreen->CreatePixmap = OverlayCreatePixmap; - pScreen->DestroyPixmap = OverlayDestroyPixmap; - pScreen->ChangeWindowAttributes = OverlayChangeWindowAttributes; - - pScreenPriv->LockPrivate = 0; - - /* allocate the key in the default map */ - if(pScreen->defColormap) { - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; - ColormapPtr pmap; - xColorItem color; - - pmap = (ColormapPtr)LookupIDByType(pScreen->defColormap, RT_COLORMAP); - - pmap->red[pScrn->colorKey].refcnt = AllocPrivate; - pmap->red[pScrn->colorKey].fShared = FALSE; - pmap->freeRed--; - - color.red = color.blue = color.green = 0; - color.pixel = pScrn->colorKey; - color.flags = DoRed | DoGreen | DoBlue; - - StoreColors(pmap, 1, &color); - } - - return TRUE; -} - - -/*********************** Screen Funcs ***********************/ - -Bool -OverlayCreateGC(GCPtr pGC) -{ - ScreenPtr pScreen = pGC->pScreen; - OverlayGCPtr pGCPriv = OVERLAY_GET_GC_PRIVATE(pGC); - OverlayScreenPtr pScreenPriv = OVERLAY_GET_SCREEN_PRIVATE(pScreen); - Bool ret; - - pScreen->CreateGC = pScreenPriv->CreateGC; - - if((ret = (*pScreen->CreateGC)(pGC)) && (pGC->depth != 1)) { - pGCPriv->wrapFuncs = pGC->funcs; - pGC->funcs = &OverlayGCFuncs; - pGCPriv->wrapOps = NULL; - pGCPriv->overlayOps = NULL; - pGCPriv->tile = NULL; - } - - pScreen->CreateGC = OverlayCreateGC; - - return ret; -} - -static PixmapPtr -OverlayCreatePixmap(ScreenPtr pScreen, int w, int h, int depth, - unsigned usage_hint) -{ - OverlayScreenPtr pScreenPriv = OVERLAY_GET_SCREEN_PRIVATE(pScreen); - PixmapPtr pPix; - - pScreen->CreatePixmap = pScreenPriv->CreatePixmap; - pPix = (*pScreen->CreatePixmap) (pScreen, w, h, depth, usage_hint); - pScreen->CreatePixmap = OverlayCreatePixmap; - - /* We initialize all the privates */ - if(pPix) { - OverlayPixmapPtr pPriv = OVERLAY_GET_PIXMAP_PRIVATE(pPix); - pPriv->pix32 = NULL; - pPriv->dirty = IS_DIRTY; - if(!w || !h) - pPriv->dirty |= IS_SHARED; - } - - return pPix; -} - -static Bool -OverlayDestroyPixmap(PixmapPtr pPix) -{ - ScreenPtr pScreen = pPix->drawable.pScreen; - OverlayScreenPtr pScreenPriv = OVERLAY_GET_SCREEN_PRIVATE(pScreen); - Bool result; - - pScreen->DestroyPixmap = pScreenPriv->DestroyPixmap; - - if((pPix->refcnt == 1) && (pPix->drawable.bitsPerPixel == 8)) { - OverlayPixmapPtr pPriv = OVERLAY_GET_PIXMAP_PRIVATE(pPix); - if(pPriv->pix32) { - if(pPriv->pix32->refcnt != 1) - ErrorF("Warning! private pix refcnt = %i\n", pPriv->pix32->refcnt); - (*pScreen->DestroyPixmap)(pPriv->pix32); - } - pPriv->pix32 = NULL; - } - - result = (*pScreen->DestroyPixmap) (pPix); - pScreen->DestroyPixmap = OverlayDestroyPixmap; - - return result; -} - -static Bool -OverlayCloseScreen (int i, ScreenPtr pScreen) -{ - OverlayScreenPtr pScreenPriv = OVERLAY_GET_SCREEN_PRIVATE(pScreen); - - pScreen->CreateGC = pScreenPriv->CreateGC; - pScreen->CloseScreen = pScreenPriv->CloseScreen; - pScreen->CreatePixmap = pScreenPriv->CreatePixmap; - pScreen->DestroyPixmap = pScreenPriv->DestroyPixmap; - pScreen->ChangeWindowAttributes = pScreenPriv->ChangeWindowAttributes; - - xfree ((pointer) pScreenPriv); - - return (*pScreen->CloseScreen) (i, pScreen); -} - - - -static Bool -OverlayChangeWindowAttributes (WindowPtr pWin, unsigned long mask) -{ - ScreenPtr pScreen = pWin->drawable.pScreen; - OverlayScreenPtr pScreenPriv = OVERLAY_GET_SCREEN_PRIVATE(pScreen); - Bool result; - - if(pWin->drawable.depth == 8) { - if((mask & CWBackPixmap) && - (pWin->backgroundState == BackgroundPixmap)) - OverlayRefreshPixmap(pWin->background.pixmap); - - if((mask & CWBorderPixmap) && !pWin->borderIsPixel) - OverlayRefreshPixmap(pWin->border.pixmap); - } - - pScreen->ChangeWindowAttributes = pScreenPriv->ChangeWindowAttributes; - result = (*pScreen->ChangeWindowAttributes) (pWin, mask); - pScreen->ChangeWindowAttributes = OverlayChangeWindowAttributes; - - return result; -} - -/*********************** GC Funcs *****************************/ - - -static PixmapPtr -OverlayRefreshPixmap(PixmapPtr pix8) -{ - OverlayPixmapPtr pixPriv = OVERLAY_GET_PIXMAP_PRIVATE(pix8); - ScreenPtr pScreen = pix8->drawable.pScreen; - - if(!pixPriv->pix32) { - PixmapPtr newPix; - - newPix = (*pScreen->CreatePixmap)(pScreen, pix8->drawable.width, - pix8->drawable.height, 24, 0); - newPix->drawable.depth = 8; /* Bad Mark! Bad Mark! */ - pixPriv->pix32 = newPix; - } - - if(pixPriv->dirty) { - OverlayScreenPtr pScreenPriv = OVERLAY_GET_SCREEN_PRIVATE(pScreen); - GCPtr pGC; - - pGC = GetScratchGC(8, pScreen); - - pScreenPriv->LockPrivate++; /* don't modify this one */ - ValidateGC((DrawablePtr)pixPriv->pix32, pGC); - - (*pGC->ops->CopyArea)((DrawablePtr)pix8, (DrawablePtr)pixPriv->pix32, - pGC, 0, 0, pix8->drawable.width, pix8->drawable.height, 0, 0); - pScreenPriv->LockPrivate--; - FreeScratchGC(pGC); - - pixPriv->dirty &= ~IS_DIRTY; - pixPriv->pix32->drawable.serialNumber = NEXT_SERIAL_NUMBER; - } - - return pixPriv->pix32; -} - - -static void -OverlayValidateGC( - GCPtr pGC, - unsigned long changes, - DrawablePtr pDraw -){ - OverlayScreenPtr pScreenPriv = OVERLAY_GET_SCREEN_PRIVATE(pGC->pScreen); - OVERLAY_GC_FUNC_PROLOGUE (pGC); - - if(pScreenPriv->LockPrivate < 0) { - ErrorF("Something is wrong in OverlayValidateGC!\n"); - pScreenPriv->LockPrivate = 0; - } - - if(pGC->depth == 24) { - unsigned long oldpm = pGC->planemask; - pGCPriv->overlayOps = NULL; - - if(pDraw->type == DRAWABLE_WINDOW) - pGC->planemask &= 0x00ffffff; - else - pGC->planemask |= 0xff000000; - - if(oldpm != pGC->planemask) changes |= GCPlaneMask; - - (*pGC->funcs->ValidateGC)(pGC, changes, pDraw); - - } else { /* depth == 8 */ - unsigned long newChanges = 0; - - if(pDraw->bitsPerPixel == 32) { - - if(pGC->fillStyle == FillTiled) - pGCPriv->tile = OverlayRefreshPixmap(pGC->tile.pixmap); - else pGCPriv->tile = NULL; - - if(pGCPriv->overlayOps != &WindowGCOps) { - newChanges = GCForeground | GCBackground | GCPlaneMask; - if(pGCPriv->tile) - newChanges |= GCTile; - } - pGCPriv->overlayOps = &WindowGCOps; - - if(!pScreenPriv->LockPrivate) { - unsigned long oldfg = pGC->fgPixel; - unsigned long oldbg = pGC->bgPixel; - unsigned long oldpm = pGC->planemask; - PixmapPtr oldtile = pGC->tile.pixmap; - - pGC->fgPixel = pGCPriv->fg = oldfg << 24; - pGC->bgPixel = pGCPriv->bg = oldbg << 24; - pGC->planemask = pGCPriv->pm = oldpm << 24; - if(pGCPriv->tile) - pGC->tile.pixmap = pGCPriv->tile; - - (*pGC->funcs->ValidateGC)(pGC, changes | newChanges, pDraw); - - pGC->fgPixel = oldfg; - pGC->bgPixel = oldbg; - pGC->planemask = oldpm; - pGC->tile.pixmap = oldtile; - } else { - pGCPriv->fg = pGC->fgPixel; - pGCPriv->bg = pGC->bgPixel; - pGCPriv->pm = pGC->planemask; - - (*pGC->funcs->ValidateGC)(pGC, changes | newChanges, pDraw); - } - - } else { /* bitsPerPixel == 8 */ - if(pGCPriv->overlayOps == &WindowGCOps) { - newChanges = GCForeground | GCBackground | GCPlaneMask; - if(pGCPriv->tile) - newChanges |= GCTile; - } - pGCPriv->overlayOps = &PixmapGCOps; - - (*pGC->funcs->ValidateGC)(pGC, changes | newChanges, pDraw); - } - } - - OVERLAY_GC_FUNC_EPILOGUE (pGC); -} - - -static void -OverlayDestroyGC(GCPtr pGC) -{ - OVERLAY_GC_FUNC_PROLOGUE (pGC); - (*pGC->funcs->DestroyGC)(pGC); - OVERLAY_GC_FUNC_EPILOGUE (pGC); -} - -static void -OverlayChangeGC ( - GCPtr pGC, - unsigned long mask -){ - OVERLAY_GC_FUNC_PROLOGUE (pGC); - (*pGC->funcs->ChangeGC) (pGC, mask); - OVERLAY_GC_FUNC_EPILOGUE (pGC); -} - -static void -OverlayCopyGC ( - GCPtr pGCSrc, - unsigned long mask, - GCPtr pGCDst -){ - OVERLAY_GC_FUNC_PROLOGUE (pGCDst); - (*pGCDst->funcs->CopyGC) (pGCSrc, mask, pGCDst); - OVERLAY_GC_FUNC_EPILOGUE (pGCDst); -} -static void -OverlayChangeClip ( - GCPtr pGC, - int type, - pointer pvalue, - int nrects -){ - OVERLAY_GC_FUNC_PROLOGUE (pGC); - (*pGC->funcs->ChangeClip) (pGC, type, pvalue, nrects); - OVERLAY_GC_FUNC_EPILOGUE (pGC); -} - -static void -OverlayCopyClip(GCPtr pgcDst, GCPtr pgcSrc) -{ - OVERLAY_GC_FUNC_PROLOGUE (pgcDst); - (* pgcDst->funcs->CopyClip)(pgcDst, pgcSrc); - OVERLAY_GC_FUNC_EPILOGUE (pgcDst); -} - -static void -OverlayDestroyClip(GCPtr pGC) -{ - OVERLAY_GC_FUNC_PROLOGUE (pGC); - (* pGC->funcs->DestroyClip)(pGC); - OVERLAY_GC_FUNC_EPILOGUE (pGC); -} - - - -/******************* Window GC ops ***********************/ - -static void -WindowFillSpans( - DrawablePtr pDraw, - GC *pGC, - int nInit, - DDXPointPtr pptInit, - int *pwidthInit, - int fSorted -){ - WINDOW_GC_OP_PROLOGUE(pGC); - (*pGC->ops->FillSpans)(pDraw, pGC, nInit, pptInit, pwidthInit, fSorted); - WINDOW_GC_OP_EPILOGUE(pGC); -} - -static void -WindowSetSpans( - DrawablePtr pDraw, - GCPtr pGC, - char *pcharsrc, - register DDXPointPtr ppt, - int *pwidth, - int nspans, - int fSorted -){ - WINDOW_GC_OP_PROLOGUE(pGC); - (*pGC->ops->SetSpans)(pDraw, pGC, pcharsrc, ppt, pwidth, nspans, fSorted); - WINDOW_GC_OP_EPILOGUE(pGC); -} - -static void -WindowPutImage( - DrawablePtr pDraw, - GCPtr pGC, - int depth, - int x, int y, int w, int h, - int leftPad, - int format, - char *pImage -){ - WINDOW_GC_OP_PROLOGUE(pGC); - (*pGC->ops->PutImage)(pDraw, pGC, depth, x, y, w, h, - leftPad, format, pImage); - WINDOW_GC_OP_EPILOGUE(pGC); -} - -static RegionPtr -WindowCopyArea( - DrawablePtr pSrc, - DrawablePtr pDst, - GC *pGC, - int srcx, int srcy, - int width, int height, - int dstx, int dsty -){ - RegionPtr ret; - - WINDOW_GC_OP_PROLOGUE(pGC); - ret = (*pGC->ops->CopyArea)(pSrc, pDst, - pGC, srcx, srcy, width, height, dstx, dsty); - WINDOW_GC_OP_EPILOGUE(pGC); - return ret; -} - -static RegionPtr -WindowCopyPlane( - DrawablePtr pSrc, - DrawablePtr pDst, - GCPtr pGC, - int srcx, int srcy, - int width, int height, - int dstx, int dsty, - unsigned long bitPlane -){ - RegionPtr ret; - - WINDOW_GC_OP_PROLOGUE(pGC); - ret = (*pGC->ops->CopyPlane)(pSrc, pDst, - pGC, srcx, srcy, width, height, dstx, dsty, bitPlane); - WINDOW_GC_OP_EPILOGUE(pGC); - return ret; -} - -static void -WindowPolyPoint( - DrawablePtr pDraw, - GCPtr pGC, - int mode, - int npt, - xPoint *pptInit -){ - WINDOW_GC_OP_PROLOGUE(pGC); - (*pGC->ops->PolyPoint)(pDraw, pGC, mode, npt, pptInit); - WINDOW_GC_OP_EPILOGUE(pGC); -} - -static void -WindowPolylines( - DrawablePtr pDraw, - GCPtr pGC, - int mode, - int npt, - DDXPointPtr pptInit -){ - WINDOW_GC_OP_PROLOGUE(pGC); - (*pGC->ops->Polylines)(pDraw, pGC, mode, npt, pptInit); - WINDOW_GC_OP_EPILOGUE(pGC); -} - -static void -WindowPolySegment( - DrawablePtr pDraw, - GCPtr pGC, - int nseg, - xSegment *pSeg -){ - WINDOW_GC_OP_PROLOGUE(pGC); - (*pGC->ops->PolySegment)(pDraw, pGC, nseg, pSeg); - WINDOW_GC_OP_EPILOGUE(pGC); -} - -static void -WindowPolyRectangle( - DrawablePtr pDraw, - GCPtr pGC, - int nRectsInit, - xRectangle *pRectsInit -){ - WINDOW_GC_OP_PROLOGUE(pGC); - (*pGC->ops->PolyRectangle)(pDraw, pGC, nRectsInit, pRectsInit); - WINDOW_GC_OP_EPILOGUE(pGC); -} - -static void -WindowPolyArc( - DrawablePtr pDraw, - GCPtr pGC, - int narcs, - xArc *parcs -){ - WINDOW_GC_OP_PROLOGUE(pGC); - (*pGC->ops->PolyArc)(pDraw, pGC, narcs, parcs); - WINDOW_GC_OP_EPILOGUE(pGC); -} - -static void -WindowFillPolygon( - DrawablePtr pDraw, - GCPtr pGC, - int shape, - int mode, - int count, - DDXPointPtr ptsIn -){ - WINDOW_GC_OP_PROLOGUE(pGC); - (*pGC->ops->FillPolygon)(pDraw, pGC, shape, mode, count, ptsIn); - WINDOW_GC_OP_EPILOGUE(pGC); -} - -static void -WindowPolyFillRect( - DrawablePtr pDraw, - GCPtr pGC, - int nrectFill, - xRectangle *prectInit -){ - WINDOW_GC_OP_PROLOGUE(pGC); - (*pGC->ops->PolyFillRect)(pDraw, pGC, nrectFill, prectInit); - WINDOW_GC_OP_EPILOGUE(pGC); -} - -static void -WindowPolyFillArc( - DrawablePtr pDraw, - GCPtr pGC, - int narcs, - xArc *parcs -){ - WINDOW_GC_OP_PROLOGUE(pGC); - (*pGC->ops->PolyFillArc)(pDraw, pGC, narcs, parcs); - WINDOW_GC_OP_EPILOGUE(pGC); -} - -static int -WindowPolyText8( - DrawablePtr pDraw, - GCPtr pGC, - int x, - int y, - int count, - char *chars -){ - int ret; - - WINDOW_GC_OP_PROLOGUE(pGC); - ret = (*pGC->ops->PolyText8)(pDraw, pGC, x, y, count, chars); - WINDOW_GC_OP_EPILOGUE(pGC); - return ret; -} - -static int -WindowPolyText16( - DrawablePtr pDraw, - GCPtr pGC, - int x, - int y, - int count, - unsigned short *chars -){ - int ret; - - WINDOW_GC_OP_PROLOGUE(pGC); - ret = (*pGC->ops->PolyText16)(pDraw, pGC, x, y, count, chars); - WINDOW_GC_OP_EPILOGUE(pGC); - return ret; -} - -static void -WindowImageText8( - DrawablePtr pDraw, - GCPtr pGC, - int x, - int y, - int count, - char *chars -){ - WINDOW_GC_OP_PROLOGUE(pGC); - (*pGC->ops->ImageText8)(pDraw, pGC, x, y, count, chars); - WINDOW_GC_OP_EPILOGUE(pGC); -} - -static void -WindowImageText16( - DrawablePtr pDraw, - GCPtr pGC, - int x, - int y, - int count, - unsigned short *chars -){ - WINDOW_GC_OP_PROLOGUE(pGC); - (*pGC->ops->ImageText16)(pDraw, pGC, x, y, count, chars); - WINDOW_GC_OP_EPILOGUE(pGC); -} - -static void -WindowImageGlyphBlt( - DrawablePtr pDraw, - GCPtr pGC, - int xInit, int yInit, - unsigned int nglyph, - CharInfoPtr *ppci, - pointer pglyphBase -){ - WINDOW_GC_OP_PROLOGUE(pGC); - (*pGC->ops->ImageGlyphBlt)(pDraw, pGC, xInit, yInit, nglyph, - ppci, pglyphBase); - WINDOW_GC_OP_EPILOGUE(pGC); -} - -static void -WindowPolyGlyphBlt( - DrawablePtr pDraw, - GCPtr pGC, - int xInit, int yInit, - unsigned int nglyph, - CharInfoPtr *ppci, - pointer pglyphBase -){ - WINDOW_GC_OP_PROLOGUE(pGC); - (*pGC->ops->PolyGlyphBlt)(pDraw, pGC, xInit, yInit, nglyph, - ppci, pglyphBase); - WINDOW_GC_OP_EPILOGUE(pGC); -} - -static void -WindowPushPixels( - GCPtr pGC, - PixmapPtr pBitMap, - DrawablePtr pDraw, - int dx, int dy, int xOrg, int yOrg -){ - WINDOW_GC_OP_PROLOGUE(pGC); - (*pGC->ops->PushPixels)(pGC, pBitMap, pDraw, dx, dy, xOrg, yOrg); - WINDOW_GC_OP_EPILOGUE(pGC); -} - - -/******************* Pixmap GC ops ***********************/ - -static void -PixmapFillSpans( - DrawablePtr pDraw, - GC *pGC, - int nInit, - DDXPointPtr pptInit, - int *pwidthInit, - int fSorted -){ - PIXMAP_GC_OP_PROLOGUE(pGC); - (*pGC->ops->FillSpans)(pDraw, pGC, nInit, pptInit, pwidthInit, fSorted); - PIXMAP_GC_OP_EPILOGUE(pGC); -} - -static void -PixmapSetSpans( - DrawablePtr pDraw, - GCPtr pGC, - char *pcharsrc, - register DDXPointPtr ppt, - int *pwidth, - int nspans, - int fSorted -){ - PIXMAP_GC_OP_PROLOGUE(pGC); - (*pGC->ops->SetSpans)(pDraw, pGC, pcharsrc, ppt, pwidth, nspans, fSorted); - PIXMAP_GC_OP_EPILOGUE(pGC); -} - -static void -PixmapPutImage( - DrawablePtr pDraw, - GCPtr pGC, - int depth, - int x, int y, int w, int h, - int leftPad, - int format, - char *pImage -){ - PIXMAP_GC_OP_PROLOGUE(pGC); - (*pGC->ops->PutImage)(pDraw, pGC, depth, x, y, w, h, - leftPad, format, pImage); - PIXMAP_GC_OP_EPILOGUE(pGC); -} - -static RegionPtr -PixmapCopyArea( - DrawablePtr pSrc, - DrawablePtr pDraw, - GC *pGC, - int srcx, int srcy, - int width, int height, - int dstx, int dsty -){ - RegionPtr ret; - - PIXMAP_GC_OP_PROLOGUE(pGC); - ret = (*pGC->ops->CopyArea)(pSrc, pDraw, - pGC, srcx, srcy, width, height, dstx, dsty); - PIXMAP_GC_OP_EPILOGUE(pGC); - return ret; -} - -static RegionPtr -PixmapCopyPlane( - DrawablePtr pSrc, - DrawablePtr pDraw, - GCPtr pGC, - int srcx, int srcy, - int width, int height, - int dstx, int dsty, - unsigned long bitPlane -){ - RegionPtr ret; - - PIXMAP_GC_OP_PROLOGUE(pGC); - ret = (*pGC->ops->CopyPlane)(pSrc, pDraw, - pGC, srcx, srcy, width, height, dstx, dsty, bitPlane); - PIXMAP_GC_OP_EPILOGUE(pGC); - return ret; -} - -static void -PixmapPolyPoint( - DrawablePtr pDraw, - GCPtr pGC, - int mode, - int npt, - xPoint *pptInit -){ - PIXMAP_GC_OP_PROLOGUE(pGC); - (*pGC->ops->PolyPoint)(pDraw, pGC, mode, npt, pptInit); - PIXMAP_GC_OP_EPILOGUE(pGC); -} - -static void -PixmapPolylines( - DrawablePtr pDraw, - GCPtr pGC, - int mode, - int npt, - DDXPointPtr pptInit -){ - PIXMAP_GC_OP_PROLOGUE(pGC); - (*pGC->ops->Polylines)(pDraw, pGC, mode, npt, pptInit); - PIXMAP_GC_OP_EPILOGUE(pGC); -} - -static void -PixmapPolySegment( - DrawablePtr pDraw, - GCPtr pGC, - int nseg, - xSegment *pSeg -){ - PIXMAP_GC_OP_PROLOGUE(pGC); - (*pGC->ops->PolySegment)(pDraw, pGC, nseg, pSeg); - PIXMAP_GC_OP_EPILOGUE(pGC); -} - -static void -PixmapPolyRectangle( - DrawablePtr pDraw, - GCPtr pGC, - int nRectsInit, - xRectangle *pRectsInit -){ - PIXMAP_GC_OP_PROLOGUE(pGC); - (*pGC->ops->PolyRectangle)(pDraw, pGC, nRectsInit, pRectsInit); - PIXMAP_GC_OP_EPILOGUE(pGC); -} - -static void -PixmapPolyArc( - DrawablePtr pDraw, - GCPtr pGC, - int narcs, - xArc *parcs -){ - PIXMAP_GC_OP_PROLOGUE(pGC); - (*pGC->ops->PolyArc)(pDraw, pGC, narcs, parcs); - PIXMAP_GC_OP_EPILOGUE(pGC); -} - -static void -PixmapFillPolygon( - DrawablePtr pDraw, - GCPtr pGC, - int shape, - int mode, - int count, - DDXPointPtr ptsIn -){ - PIXMAP_GC_OP_PROLOGUE(pGC); - (*pGC->ops->FillPolygon)(pDraw, pGC, shape, mode, count, ptsIn); - PIXMAP_GC_OP_EPILOGUE(pGC); -} - -static void -PixmapPolyFillRect( - DrawablePtr pDraw, - GCPtr pGC, - int nrectFill, - xRectangle *prectInit -){ - PIXMAP_GC_OP_PROLOGUE(pGC); - (*pGC->ops->PolyFillRect)(pDraw, pGC, nrectFill, prectInit); - PIXMAP_GC_OP_EPILOGUE(pGC); -} - -static void -PixmapPolyFillArc( - DrawablePtr pDraw, - GCPtr pGC, - int narcs, - xArc *parcs -){ - PIXMAP_GC_OP_PROLOGUE(pGC); - (*pGC->ops->PolyFillArc)(pDraw, pGC, narcs, parcs); - PIXMAP_GC_OP_EPILOGUE(pGC); -} - -static int -PixmapPolyText8( - DrawablePtr pDraw, - GCPtr pGC, - int x, - int y, - int count, - char *chars -){ - int ret; - - PIXMAP_GC_OP_PROLOGUE(pGC); - ret = (*pGC->ops->PolyText8)(pDraw, pGC, x, y, count, chars); - PIXMAP_GC_OP_EPILOGUE(pGC); - return ret; -} - -static int -PixmapPolyText16( - DrawablePtr pDraw, - GCPtr pGC, - int x, - int y, - int count, - unsigned short *chars -){ - int ret; - - PIXMAP_GC_OP_PROLOGUE(pGC); - ret = (*pGC->ops->PolyText16)(pDraw, pGC, x, y, count, chars); - PIXMAP_GC_OP_EPILOGUE(pGC); - return ret; -} - -static void -PixmapImageText8( - DrawablePtr pDraw, - GCPtr pGC, - int x, - int y, - int count, - char *chars -){ - PIXMAP_GC_OP_PROLOGUE(pGC); - (*pGC->ops->ImageText8)(pDraw, pGC, x, y, count, chars); - PIXMAP_GC_OP_EPILOGUE(pGC); -} - -static void -PixmapImageText16( - DrawablePtr pDraw, - GCPtr pGC, - int x, - int y, - int count, - unsigned short *chars -){ - PIXMAP_GC_OP_PROLOGUE(pGC); - (*pGC->ops->ImageText16)(pDraw, pGC, x, y, count, chars); - PIXMAP_GC_OP_EPILOGUE(pGC); -} - -static void -PixmapImageGlyphBlt( - DrawablePtr pDraw, - GCPtr pGC, - int xInit, int yInit, - unsigned int nglyph, - CharInfoPtr *ppci, - pointer pglyphBase -){ - PIXMAP_GC_OP_PROLOGUE(pGC); - (*pGC->ops->ImageGlyphBlt)(pDraw, pGC, xInit, yInit, nglyph, - ppci, pglyphBase); - PIXMAP_GC_OP_EPILOGUE(pGC); -} - -static void -PixmapPolyGlyphBlt( - DrawablePtr pDraw, - GCPtr pGC, - int xInit, int yInit, - unsigned int nglyph, - CharInfoPtr *ppci, - pointer pglyphBase -){ - PIXMAP_GC_OP_PROLOGUE(pGC); - (*pGC->ops->PolyGlyphBlt)(pDraw, pGC, xInit, yInit, nglyph, - ppci, pglyphBase); - PIXMAP_GC_OP_EPILOGUE(pGC); -} - -static void -PixmapPushPixels( - GCPtr pGC, - PixmapPtr pBitMap, - DrawablePtr pDraw, - int dx, int dy, int xOrg, int yOrg -){ - PIXMAP_GC_OP_PROLOGUE(pGC); - (*pGC->ops->PushPixels)(pGC, pBitMap, pDraw, dx, dy, xOrg, yOrg); - PIXMAP_GC_OP_EPILOGUE(pGC); -} - - diff --git a/xorg-server/hw/xgl/Makefile.am b/xorg-server/hw/xgl/Makefile.am deleted file mode 100644 index 8df8ae9af..000000000 --- a/xorg-server/hw/xgl/Makefile.am +++ /dev/null @@ -1,83 +0,0 @@ -if GLX -GLX_SUBDIRS = glxext -endif - -if XGLX -XGLX_SUBDIRS = glx -endif - -if XEGL -XEGL_SUBDIRS = egl -endif - -DIST_SUBDIRS = glxext glx egl - -SUBDIRS = \ - . \ - $(GLX_SUBDIRS) \ - $(XGLX_SUBDIRS) \ - $(XEGL_SUBDIRS) - -AM_CFLAGS = \ - $(DIX_CFLAGS) \ - -DHAVE_XGL_CONFIG_H \ - -DHAVE_DIX_CONFIG_H \ - -I$(top_srcdir)/glx \ - -I$(top_srcdir)/GL/include \ - -I@MESA_SOURCE@/include \ - -I@MESA_SOURCE@/src/mesa/glapi \ - $(XGLMODULES_CFLAGS) - -noinst_LIBRARIES = libxgl.a - -libxgl_a_SOURCES = \ - xgl.h \ - xglmodule.h \ - xglglx.h \ - xglinput.c \ - xgloutput.c \ - xglcmap.c \ - xglparse.c \ - xglscreen.c \ - xglarea.c \ - xglgeometry.c \ - xglpixmap.c \ - xglsync.c \ - xglsolid.c \ - xgltile.c \ - xglcopy.c \ - xglfill.c \ - xglwindow.c \ - xglget.c \ - xglgc.c \ - xglshm.c \ - xglcompose.c \ - xglpict.c \ - xglglyph.c \ - xgltrap.c \ - xglloader.c \ - xglhash.c \ - xglglx.c \ - xglxv.c - -EXTRA_DIST = \ - xglmodule.h - -Xgl_LDFLAGS = -export-dynamic -Xgl_SOURCES = \ - xglinit.c \ - $(top_srcdir)/mi/miinitext.c \ - $(top_srcdir)/Xext/dpmsstubs.c \ - $(top_srcdir)/Xi/stubs.c \ - $(top_srcdir)/fb/fbcmap.c - -XGL_LIBS = \ - libxgl.a \ - @XGL_LIBS@ \ - $(XSERVER_LIBS) - -Xgl_DEPENDENCIES = $(XGL_LIBS) -Xgl_LDADD = $(XGL_LIBS) $(XSERVER_SYS_LIBS) $(XGL_SYS_LIBS) -Xgl_programs = Xgl - -bin_PROGRAMS = $(Xgl_programs) diff --git a/xorg-server/hw/xgl/Makefile.in b/xorg-server/hw/xgl/Makefile.in deleted file mode 100644 index 6e4dbd14c..000000000 --- a/xorg-server/hw/xgl/Makefile.in +++ /dev/null @@ -1,961 +0,0 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008 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 = $(am__EXEEXT_1) -subdir = hw/xgl -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 -libxgl_a_AR = $(AR) $(ARFLAGS) -libxgl_a_LIBADD = -am_libxgl_a_OBJECTS = xglinput.$(OBJEXT) xgloutput.$(OBJEXT) \ - xglcmap.$(OBJEXT) xglparse.$(OBJEXT) xglscreen.$(OBJEXT) \ - xglarea.$(OBJEXT) xglgeometry.$(OBJEXT) xglpixmap.$(OBJEXT) \ - xglsync.$(OBJEXT) xglsolid.$(OBJEXT) xgltile.$(OBJEXT) \ - xglcopy.$(OBJEXT) xglfill.$(OBJEXT) xglwindow.$(OBJEXT) \ - xglget.$(OBJEXT) xglgc.$(OBJEXT) xglshm.$(OBJEXT) \ - xglcompose.$(OBJEXT) xglpict.$(OBJEXT) xglglyph.$(OBJEXT) \ - xgltrap.$(OBJEXT) xglloader.$(OBJEXT) xglhash.$(OBJEXT) \ - xglglx.$(OBJEXT) xglxv.$(OBJEXT) -libxgl_a_OBJECTS = $(am_libxgl_a_OBJECTS) -am__EXEEXT_1 = Xgl$(EXEEXT) -am__installdirs = "$(DESTDIR)$(bindir)" -binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) -PROGRAMS = $(bin_PROGRAMS) -am_Xgl_OBJECTS = xglinit.$(OBJEXT) miinitext.$(OBJEXT) \ - dpmsstubs.$(OBJEXT) stubs.$(OBJEXT) fbcmap.$(OBJEXT) -Xgl_OBJECTS = $(am_Xgl_OBJECTS) -am__DEPENDENCIES_1 = -am__DEPENDENCIES_2 = libxgl.a $(am__DEPENDENCIES_1) -Xgl_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(Xgl_LDFLAGS) \ - $(LDFLAGS) -o $@ -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include -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 = $(libxgl_a_SOURCES) $(Xgl_SOURCES) -DIST_SOURCES = $(libxgl_a_SOURCES) $(Xgl_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 -RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ - distclean-recursive maintainer-clean-recursive -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@ -DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ -DRI2PROTO_LIBS = @DRI2PROTO_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@ -DSYMUTIL = @DSYMUTIL@ -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@ -GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ -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@ -LAUNCHD = @LAUNCHD@ -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@ -NMEDIT = @NMEDIT@ -OBJC = @OBJC@ -OBJCCLD = @OBJCCLD@ -OBJCDEPMODE = @OBJCDEPMODE@ -OBJCFLAGS = @OBJCFLAGS@ -OBJCLINK = @OBJCLINK@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ -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@ -PCIACCESS_CFLAGS = @PCIACCESS_CFLAGS@ -PCIACCESS_LIBS = @PCIACCESS_LIBS@ -PCI_TXT_IDS_PATH = @PCI_TXT_IDS_PATH@ -PERL = @PERL@ -PKG_CONFIG = @PKG_CONFIG@ -PROJECTROOT = @PROJECTROOT@ -PS2PDF = @PS2PDF@ -RANLIB = @RANLIB@ -RAWCPP = @RAWCPP@ -RAWCPPFLAGS = @RAWCPPFLAGS@ -SED = @SED@ -SERVER_MISC_CONFIG_PATH = @SERVER_MISC_CONFIG_PATH@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ -SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ -STRIP = @STRIP@ -TSLIB_CFLAGS = @TSLIB_CFLAGS@ -TSLIB_LIBS = @TSLIB_LIBS@ -UTILS_SYS_LIBS = @UTILS_SYS_LIBS@ -VENDOR_MAN_VERSION = @VENDOR_MAN_VERSION@ -VENDOR_NAME = @VENDOR_NAME@ -VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ -VENDOR_RELEASE = @VENDOR_RELEASE@ -VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ -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_CFLAGS = @XDMX_CFLAGS@ -XDMX_LIBS = @XDMX_LIBS@ -XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ -XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ -XEPHYR_INCS = @XEPHYR_INCS@ -XEPHYR_LIBS = @XEPHYR_LIBS@ -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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = \ - libxgl.a \ - @XGL_LIBS@ \ - $(XSERVER_LIBS) - -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ -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@ -XNEST_SYS_LIBS = @XNEST_SYS_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_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@ -XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_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@ -XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ -XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ -XTSTEXAMPLES_DEP_LIBS = @XTSTEXAMPLES_DEP_LIBS@ -XVFB_LIBS = @XVFB_LIBS@ -XVFB_SYS_LIBS = @XVFB_SYS_LIBS@ -XWINMODULES_CFLAGS = @XWINMODULES_CFLAGS@ -XWINMODULES_LIBS = @XWINMODULES_LIBS@ -XWIN_LIBS = @XWIN_LIBS@ -XWIN_SERVER_NAME = @XWIN_SERVER_NAME@ -XWIN_SYS_LIBS = @XWIN_SYS_LIBS@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -__XCONFIGFILE__ = @__XCONFIGFILE__@ -abi_ansic = @abi_ansic@ -abi_extension = @abi_extension@ -abi_font = @abi_font@ -abi_videodrv = @abi_videodrv@ -abi_xinput = @abi_xinput@ -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@ -launchagentsdir = @launchagentsdir@ -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_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ -@GLX_TRUE@GLX_SUBDIRS = glxext -@XGLX_TRUE@XGLX_SUBDIRS = glx -@XEGL_TRUE@XEGL_SUBDIRS = egl -DIST_SUBDIRS = glxext glx egl -SUBDIRS = \ - . \ - $(GLX_SUBDIRS) \ - $(XGLX_SUBDIRS) \ - $(XEGL_SUBDIRS) - -AM_CFLAGS = \ - $(DIX_CFLAGS) \ - -DHAVE_XGL_CONFIG_H \ - -DHAVE_DIX_CONFIG_H \ - -I$(top_srcdir)/glx \ - -I$(top_srcdir)/GL/include \ - -I@MESA_SOURCE@/include \ - -I@MESA_SOURCE@/src/mesa/glapi \ - $(XGLMODULES_CFLAGS) - -noinst_LIBRARIES = libxgl.a -libxgl_a_SOURCES = \ - xgl.h \ - xglmodule.h \ - xglglx.h \ - xglinput.c \ - xgloutput.c \ - xglcmap.c \ - xglparse.c \ - xglscreen.c \ - xglarea.c \ - xglgeometry.c \ - xglpixmap.c \ - xglsync.c \ - xglsolid.c \ - xgltile.c \ - xglcopy.c \ - xglfill.c \ - xglwindow.c \ - xglget.c \ - xglgc.c \ - xglshm.c \ - xglcompose.c \ - xglpict.c \ - xglglyph.c \ - xgltrap.c \ - xglloader.c \ - xglhash.c \ - xglglx.c \ - xglxv.c - -EXTRA_DIST = \ - xglmodule.h - -Xgl_LDFLAGS = -export-dynamic -Xgl_SOURCES = \ - xglinit.c \ - $(top_srcdir)/mi/miinitext.c \ - $(top_srcdir)/Xext/dpmsstubs.c \ - $(top_srcdir)/Xi/stubs.c \ - $(top_srcdir)/fb/fbcmap.c - -Xgl_DEPENDENCIES = $(XGL_LIBS) -Xgl_LDADD = $(XGL_LIBS) $(XSERVER_SYS_LIBS) $(XGL_SYS_LIBS) -Xgl_programs = Xgl -all: all-recursive - -.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/xgl/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign hw/xgl/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) -libxgl.a: $(libxgl_a_OBJECTS) $(libxgl_a_DEPENDENCIES) - -rm -f libxgl.a - $(libxgl_a_AR) libxgl.a $(libxgl_a_OBJECTS) $(libxgl_a_LIBADD) - $(RANLIB) libxgl.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) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ - $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --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 -Xgl$(EXEEXT): $(Xgl_OBJECTS) $(Xgl_DEPENDENCIES) - @rm -f Xgl$(EXEEXT) - $(Xgl_LINK) $(Xgl_OBJECTS) $(Xgl_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dpmsstubs.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fbcmap.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/miinitext.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stubs.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xglarea.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xglcmap.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xglcompose.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xglcopy.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xglfill.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xglgc.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xglgeometry.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xglget.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xglglx.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xglglyph.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xglhash.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xglinit.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xglinput.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xglloader.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xgloutput.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xglparse.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xglpict.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xglpixmap.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xglscreen.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xglshm.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xglsolid.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xglsync.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xgltile.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xgltrap.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xglwindow.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xglxv.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 $@ $< - -miinitext.o: $(top_srcdir)/mi/miinitext.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT miinitext.o -MD -MP -MF $(DEPDIR)/miinitext.Tpo -c -o miinitext.o `test -f '$(top_srcdir)/mi/miinitext.c' || echo '$(srcdir)/'`$(top_srcdir)/mi/miinitext.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/miinitext.Tpo $(DEPDIR)/miinitext.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/mi/miinitext.c' object='miinitext.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 miinitext.o `test -f '$(top_srcdir)/mi/miinitext.c' || echo '$(srcdir)/'`$(top_srcdir)/mi/miinitext.c - -miinitext.obj: $(top_srcdir)/mi/miinitext.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT miinitext.obj -MD -MP -MF $(DEPDIR)/miinitext.Tpo -c -o miinitext.obj `if test -f '$(top_srcdir)/mi/miinitext.c'; then $(CYGPATH_W) '$(top_srcdir)/mi/miinitext.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/mi/miinitext.c'; fi` -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/miinitext.Tpo $(DEPDIR)/miinitext.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/mi/miinitext.c' object='miinitext.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 miinitext.obj `if test -f '$(top_srcdir)/mi/miinitext.c'; then $(CYGPATH_W) '$(top_srcdir)/mi/miinitext.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/mi/miinitext.c'; fi` - -dpmsstubs.o: $(top_srcdir)/Xext/dpmsstubs.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT dpmsstubs.o -MD -MP -MF $(DEPDIR)/dpmsstubs.Tpo -c -o dpmsstubs.o `test -f '$(top_srcdir)/Xext/dpmsstubs.c' || echo '$(srcdir)/'`$(top_srcdir)/Xext/dpmsstubs.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dpmsstubs.Tpo $(DEPDIR)/dpmsstubs.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/Xext/dpmsstubs.c' object='dpmsstubs.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 dpmsstubs.o `test -f '$(top_srcdir)/Xext/dpmsstubs.c' || echo '$(srcdir)/'`$(top_srcdir)/Xext/dpmsstubs.c - -dpmsstubs.obj: $(top_srcdir)/Xext/dpmsstubs.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT dpmsstubs.obj -MD -MP -MF $(DEPDIR)/dpmsstubs.Tpo -c -o dpmsstubs.obj `if test -f '$(top_srcdir)/Xext/dpmsstubs.c'; then $(CYGPATH_W) '$(top_srcdir)/Xext/dpmsstubs.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/Xext/dpmsstubs.c'; fi` -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dpmsstubs.Tpo $(DEPDIR)/dpmsstubs.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/Xext/dpmsstubs.c' object='dpmsstubs.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 dpmsstubs.obj `if test -f '$(top_srcdir)/Xext/dpmsstubs.c'; then $(CYGPATH_W) '$(top_srcdir)/Xext/dpmsstubs.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/Xext/dpmsstubs.c'; fi` - -stubs.o: $(top_srcdir)/Xi/stubs.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT stubs.o -MD -MP -MF $(DEPDIR)/stubs.Tpo -c -o stubs.o `test -f '$(top_srcdir)/Xi/stubs.c' || echo '$(srcdir)/'`$(top_srcdir)/Xi/stubs.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/stubs.Tpo $(DEPDIR)/stubs.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/Xi/stubs.c' object='stubs.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 stubs.o `test -f '$(top_srcdir)/Xi/stubs.c' || echo '$(srcdir)/'`$(top_srcdir)/Xi/stubs.c - -stubs.obj: $(top_srcdir)/Xi/stubs.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT stubs.obj -MD -MP -MF $(DEPDIR)/stubs.Tpo -c -o stubs.obj `if test -f '$(top_srcdir)/Xi/stubs.c'; then $(CYGPATH_W) '$(top_srcdir)/Xi/stubs.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/Xi/stubs.c'; fi` -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/stubs.Tpo $(DEPDIR)/stubs.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/Xi/stubs.c' object='stubs.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 stubs.obj `if test -f '$(top_srcdir)/Xi/stubs.c'; then $(CYGPATH_W) '$(top_srcdir)/Xi/stubs.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/Xi/stubs.c'; fi` - -fbcmap.o: $(top_srcdir)/fb/fbcmap.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT fbcmap.o -MD -MP -MF $(DEPDIR)/fbcmap.Tpo -c -o fbcmap.o `test -f '$(top_srcdir)/fb/fbcmap.c' || echo '$(srcdir)/'`$(top_srcdir)/fb/fbcmap.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/fbcmap.Tpo $(DEPDIR)/fbcmap.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/fb/fbcmap.c' object='fbcmap.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 fbcmap.o `test -f '$(top_srcdir)/fb/fbcmap.c' || echo '$(srcdir)/'`$(top_srcdir)/fb/fbcmap.c - -fbcmap.obj: $(top_srcdir)/fb/fbcmap.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT fbcmap.obj -MD -MP -MF $(DEPDIR)/fbcmap.Tpo -c -o fbcmap.obj `if test -f '$(top_srcdir)/fb/fbcmap.c'; then $(CYGPATH_W) '$(top_srcdir)/fb/fbcmap.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/fb/fbcmap.c'; fi` -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/fbcmap.Tpo $(DEPDIR)/fbcmap.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/fb/fbcmap.c' object='fbcmap.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 fbcmap.obj `if test -f '$(top_srcdir)/fb/fbcmap.c'; then $(CYGPATH_W) '$(top_srcdir)/fb/fbcmap.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/fb/fbcmap.c'; fi` - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -# 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; nonemtpy = 1; } \ - END { if (nonempty) { 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; nonempty = 1; } \ - END { if (nonempty) { 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=; \ - 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; nonempty = 1; } \ - END { if (nonempty) { 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 $(LIBRARIES) $(PROGRAMS) -installdirs: installdirs-recursive -installdirs-am: - for dir in "$(DESTDIR)$(bindir)"; 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: - -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-binPROGRAMS clean-generic clean-libtool \ - clean-noinstLIBRARIES mostlyclean-am - -distclean: distclean-recursive - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-recursive - -dvi-am: - -html: html-recursive - -info: info-recursive - -info-am: - -install-data-am: - -install-dvi: install-dvi-recursive - -install-exec-am: install-binPROGRAMS - -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 -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-recursive - -pdf-am: - -ps: ps-recursive - -ps-am: - -uninstall-am: uninstall-binPROGRAMS - -.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ - install-strip - -.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ - all all-am check check-am clean clean-binPROGRAMS \ - clean-generic clean-libtool clean-noinstLIBRARIES ctags \ - ctags-recursive 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-pdf \ - install-pdf-am install-ps install-ps-am install-strip \ - installcheck installcheck-am installdirs installdirs-am \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ - pdf pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \ - uninstall-binPROGRAMS - -# 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/xorg-server/hw/xgl/egl/Makefile.am b/xorg-server/hw/xgl/egl/Makefile.am deleted file mode 100644 index 8c4e9af75..000000000 --- a/xorg-server/hw/xgl/egl/Makefile.am +++ /dev/null @@ -1,44 +0,0 @@ -if XGL -XGL_MODULE_DIRS = module -endif - -DIST_SUBDIRS = module - -SUBDIRS = \ - . \ - $(XGL_MODULE_DIRS) - -AM_CFLAGS = \ - $(DIX_CFLAGS) \ - -DHAVE_XGL_CONFIG_H \ - -DHAVE_DIX_CONFIG_H \ - $(XEGLMODULES_CFLAGS) - -noinst_LTLIBRARIES = libxegl.la - -libxegl_la_SOURCES = \ - xegl.h \ - xegl.c \ - xeglinput.c \ - kkeymap.h \ - kinput.c \ - evdev.c - -XEGL_LIBS = \ - @XEGL_LIBS@ \ - libxegl.la \ - ../libxgl.a \ - $XSERVER_LIBS - -Xegl_LDFLAGS = -export-dynamic -Xegl_SOURCES = \ - xeglinit.c \ - $(top_srcdir)/mi/miinitext.c \ - $(top_srcdir)/Xext/dpmsstubs.c \ - $(top_srcdir)/Xi/stubs.c \ - $(top_srcdir)/fb/fbcmap.c - -Xegl_DEPENDENCIES = $(XEGL_LIBS) -Xegl_LDADD = $(XEGL_LIBS) $(XSERVER_SYS_LIBS) $(XEGL_SYS_LIBS) - -bin_PROGRAMS = Xegl diff --git a/xorg-server/hw/xgl/egl/Makefile.in b/xorg-server/hw/xgl/egl/Makefile.in deleted file mode 100644 index 85222bcb4..000000000 --- a/xorg-server/hw/xgl/egl/Makefile.in +++ /dev/null @@ -1,900 +0,0 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008 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 = Xegl$(EXEEXT) -subdir = hw/xgl/egl -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) -libxegl_la_LIBADD = -am_libxegl_la_OBJECTS = xegl.lo xeglinput.lo kinput.lo evdev.lo -libxegl_la_OBJECTS = $(am_libxegl_la_OBJECTS) -am__installdirs = "$(DESTDIR)$(bindir)" -binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) -PROGRAMS = $(bin_PROGRAMS) -am_Xegl_OBJECTS = xeglinit.$(OBJEXT) miinitext.$(OBJEXT) \ - dpmsstubs.$(OBJEXT) stubs.$(OBJEXT) fbcmap.$(OBJEXT) -Xegl_OBJECTS = $(am_Xegl_OBJECTS) -am__DEPENDENCIES_1 = libxegl.la ../libxgl.a $XSERVER_LIBS -am__DEPENDENCIES_2 = -Xegl_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(Xegl_LDFLAGS) \ - $(LDFLAGS) -o $@ -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include -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 = $(libxegl_la_SOURCES) $(Xegl_SOURCES) -DIST_SOURCES = $(libxegl_la_SOURCES) $(Xegl_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 -RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ - distclean-recursive maintainer-clean-recursive -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@ -DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ -DRI2PROTO_LIBS = @DRI2PROTO_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@ -DSYMUTIL = @DSYMUTIL@ -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@ -GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ -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@ -LAUNCHD = @LAUNCHD@ -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@ -NMEDIT = @NMEDIT@ -OBJC = @OBJC@ -OBJCCLD = @OBJCCLD@ -OBJCDEPMODE = @OBJCDEPMODE@ -OBJCFLAGS = @OBJCFLAGS@ -OBJCLINK = @OBJCLINK@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ -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@ -PCIACCESS_CFLAGS = @PCIACCESS_CFLAGS@ -PCIACCESS_LIBS = @PCIACCESS_LIBS@ -PCI_TXT_IDS_PATH = @PCI_TXT_IDS_PATH@ -PERL = @PERL@ -PKG_CONFIG = @PKG_CONFIG@ -PROJECTROOT = @PROJECTROOT@ -PS2PDF = @PS2PDF@ -RANLIB = @RANLIB@ -RAWCPP = @RAWCPP@ -RAWCPPFLAGS = @RAWCPPFLAGS@ -SED = @SED@ -SERVER_MISC_CONFIG_PATH = @SERVER_MISC_CONFIG_PATH@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ -SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ -STRIP = @STRIP@ -TSLIB_CFLAGS = @TSLIB_CFLAGS@ -TSLIB_LIBS = @TSLIB_LIBS@ -UTILS_SYS_LIBS = @UTILS_SYS_LIBS@ -VENDOR_MAN_VERSION = @VENDOR_MAN_VERSION@ -VENDOR_NAME = @VENDOR_NAME@ -VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ -VENDOR_RELEASE = @VENDOR_RELEASE@ -VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ -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_CFLAGS = @XDMX_CFLAGS@ -XDMX_LIBS = @XDMX_LIBS@ -XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = \ - @XEGL_LIBS@ \ - libxegl.la \ - ../libxgl.a \ - $XSERVER_LIBS - -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ -XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ -XEPHYR_INCS = @XEPHYR_INCS@ -XEPHYR_LIBS = @XEPHYR_LIBS@ -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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ -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@ -XNEST_SYS_LIBS = @XNEST_SYS_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_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@ -XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_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@ -XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ -XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ -XTSTEXAMPLES_DEP_LIBS = @XTSTEXAMPLES_DEP_LIBS@ -XVFB_LIBS = @XVFB_LIBS@ -XVFB_SYS_LIBS = @XVFB_SYS_LIBS@ -XWINMODULES_CFLAGS = @XWINMODULES_CFLAGS@ -XWINMODULES_LIBS = @XWINMODULES_LIBS@ -XWIN_LIBS = @XWIN_LIBS@ -XWIN_SERVER_NAME = @XWIN_SERVER_NAME@ -XWIN_SYS_LIBS = @XWIN_SYS_LIBS@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -__XCONFIGFILE__ = @__XCONFIGFILE__@ -abi_ansic = @abi_ansic@ -abi_extension = @abi_extension@ -abi_font = @abi_font@ -abi_videodrv = @abi_videodrv@ -abi_xinput = @abi_xinput@ -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@ -launchagentsdir = @launchagentsdir@ -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_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ -@XGL_TRUE@XGL_MODULE_DIRS = module -DIST_SUBDIRS = module -SUBDIRS = \ - . \ - $(XGL_MODULE_DIRS) - -AM_CFLAGS = \ - $(DIX_CFLAGS) \ - -DHAVE_XGL_CONFIG_H \ - -DHAVE_DIX_CONFIG_H \ - $(XEGLMODULES_CFLAGS) - -noinst_LTLIBRARIES = libxegl.la -libxegl_la_SOURCES = \ - xegl.h \ - xegl.c \ - xeglinput.c \ - kkeymap.h \ - kinput.c \ - evdev.c - -Xegl_LDFLAGS = -export-dynamic -Xegl_SOURCES = \ - xeglinit.c \ - $(top_srcdir)/mi/miinitext.c \ - $(top_srcdir)/Xext/dpmsstubs.c \ - $(top_srcdir)/Xi/stubs.c \ - $(top_srcdir)/fb/fbcmap.c - -Xegl_DEPENDENCIES = $(XEGL_LIBS) -Xegl_LDADD = $(XEGL_LIBS) $(XSERVER_SYS_LIBS) $(XEGL_SYS_LIBS) -all: all-recursive - -.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/xgl/egl/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign hw/xgl/egl/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 -libxegl.la: $(libxegl_la_OBJECTS) $(libxegl_la_DEPENDENCIES) - $(LINK) $(libxegl_la_OBJECTS) $(libxegl_la_LIBADD) $(LIBS) -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) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ - $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --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 -Xegl$(EXEEXT): $(Xegl_OBJECTS) $(Xegl_DEPENDENCIES) - @rm -f Xegl$(EXEEXT) - $(Xegl_LINK) $(Xegl_OBJECTS) $(Xegl_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dpmsstubs.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/evdev.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fbcmap.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kinput.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/miinitext.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stubs.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xegl.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xeglinit.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xeglinput.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 $@ $< - -miinitext.o: $(top_srcdir)/mi/miinitext.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT miinitext.o -MD -MP -MF $(DEPDIR)/miinitext.Tpo -c -o miinitext.o `test -f '$(top_srcdir)/mi/miinitext.c' || echo '$(srcdir)/'`$(top_srcdir)/mi/miinitext.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/miinitext.Tpo $(DEPDIR)/miinitext.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/mi/miinitext.c' object='miinitext.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 miinitext.o `test -f '$(top_srcdir)/mi/miinitext.c' || echo '$(srcdir)/'`$(top_srcdir)/mi/miinitext.c - -miinitext.obj: $(top_srcdir)/mi/miinitext.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT miinitext.obj -MD -MP -MF $(DEPDIR)/miinitext.Tpo -c -o miinitext.obj `if test -f '$(top_srcdir)/mi/miinitext.c'; then $(CYGPATH_W) '$(top_srcdir)/mi/miinitext.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/mi/miinitext.c'; fi` -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/miinitext.Tpo $(DEPDIR)/miinitext.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/mi/miinitext.c' object='miinitext.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 miinitext.obj `if test -f '$(top_srcdir)/mi/miinitext.c'; then $(CYGPATH_W) '$(top_srcdir)/mi/miinitext.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/mi/miinitext.c'; fi` - -dpmsstubs.o: $(top_srcdir)/Xext/dpmsstubs.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT dpmsstubs.o -MD -MP -MF $(DEPDIR)/dpmsstubs.Tpo -c -o dpmsstubs.o `test -f '$(top_srcdir)/Xext/dpmsstubs.c' || echo '$(srcdir)/'`$(top_srcdir)/Xext/dpmsstubs.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dpmsstubs.Tpo $(DEPDIR)/dpmsstubs.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/Xext/dpmsstubs.c' object='dpmsstubs.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 dpmsstubs.o `test -f '$(top_srcdir)/Xext/dpmsstubs.c' || echo '$(srcdir)/'`$(top_srcdir)/Xext/dpmsstubs.c - -dpmsstubs.obj: $(top_srcdir)/Xext/dpmsstubs.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT dpmsstubs.obj -MD -MP -MF $(DEPDIR)/dpmsstubs.Tpo -c -o dpmsstubs.obj `if test -f '$(top_srcdir)/Xext/dpmsstubs.c'; then $(CYGPATH_W) '$(top_srcdir)/Xext/dpmsstubs.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/Xext/dpmsstubs.c'; fi` -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dpmsstubs.Tpo $(DEPDIR)/dpmsstubs.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/Xext/dpmsstubs.c' object='dpmsstubs.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 dpmsstubs.obj `if test -f '$(top_srcdir)/Xext/dpmsstubs.c'; then $(CYGPATH_W) '$(top_srcdir)/Xext/dpmsstubs.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/Xext/dpmsstubs.c'; fi` - -stubs.o: $(top_srcdir)/Xi/stubs.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT stubs.o -MD -MP -MF $(DEPDIR)/stubs.Tpo -c -o stubs.o `test -f '$(top_srcdir)/Xi/stubs.c' || echo '$(srcdir)/'`$(top_srcdir)/Xi/stubs.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/stubs.Tpo $(DEPDIR)/stubs.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/Xi/stubs.c' object='stubs.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 stubs.o `test -f '$(top_srcdir)/Xi/stubs.c' || echo '$(srcdir)/'`$(top_srcdir)/Xi/stubs.c - -stubs.obj: $(top_srcdir)/Xi/stubs.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT stubs.obj -MD -MP -MF $(DEPDIR)/stubs.Tpo -c -o stubs.obj `if test -f '$(top_srcdir)/Xi/stubs.c'; then $(CYGPATH_W) '$(top_srcdir)/Xi/stubs.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/Xi/stubs.c'; fi` -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/stubs.Tpo $(DEPDIR)/stubs.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/Xi/stubs.c' object='stubs.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 stubs.obj `if test -f '$(top_srcdir)/Xi/stubs.c'; then $(CYGPATH_W) '$(top_srcdir)/Xi/stubs.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/Xi/stubs.c'; fi` - -fbcmap.o: $(top_srcdir)/fb/fbcmap.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT fbcmap.o -MD -MP -MF $(DEPDIR)/fbcmap.Tpo -c -o fbcmap.o `test -f '$(top_srcdir)/fb/fbcmap.c' || echo '$(srcdir)/'`$(top_srcdir)/fb/fbcmap.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/fbcmap.Tpo $(DEPDIR)/fbcmap.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/fb/fbcmap.c' object='fbcmap.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 fbcmap.o `test -f '$(top_srcdir)/fb/fbcmap.c' || echo '$(srcdir)/'`$(top_srcdir)/fb/fbcmap.c - -fbcmap.obj: $(top_srcdir)/fb/fbcmap.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT fbcmap.obj -MD -MP -MF $(DEPDIR)/fbcmap.Tpo -c -o fbcmap.obj `if test -f '$(top_srcdir)/fb/fbcmap.c'; then $(CYGPATH_W) '$(top_srcdir)/fb/fbcmap.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/fb/fbcmap.c'; fi` -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/fbcmap.Tpo $(DEPDIR)/fbcmap.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/fb/fbcmap.c' object='fbcmap.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 fbcmap.obj `if test -f '$(top_srcdir)/fb/fbcmap.c'; then $(CYGPATH_W) '$(top_srcdir)/fb/fbcmap.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/fb/fbcmap.c'; fi` - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -# 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; nonemtpy = 1; } \ - END { if (nonempty) { 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; nonempty = 1; } \ - END { if (nonempty) { 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=; \ - 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; nonempty = 1; } \ - END { if (nonempty) { 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 $(LTLIBRARIES) $(PROGRAMS) -installdirs: installdirs-recursive -installdirs-am: - for dir in "$(DESTDIR)$(bindir)"; 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: - -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-binPROGRAMS clean-generic clean-libtool \ - clean-noinstLTLIBRARIES mostlyclean-am - -distclean: distclean-recursive - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-recursive - -dvi-am: - -html: html-recursive - -info: info-recursive - -info-am: - -install-data-am: - -install-dvi: install-dvi-recursive - -install-exec-am: install-binPROGRAMS - -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 -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-recursive - -pdf-am: - -ps: ps-recursive - -ps-am: - -uninstall-am: uninstall-binPROGRAMS - -.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ - install-strip - -.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ - all all-am check check-am clean clean-binPROGRAMS \ - clean-generic clean-libtool clean-noinstLTLIBRARIES ctags \ - ctags-recursive 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-pdf \ - install-pdf-am install-ps install-ps-am install-strip \ - installcheck installcheck-am installdirs installdirs-am \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ - pdf pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \ - uninstall-binPROGRAMS - -# 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/xorg-server/hw/xgl/egl/evdev.c b/xorg-server/hw/xgl/egl/evdev.c deleted file mode 100644 index fff4524d1..000000000 --- a/xorg-server/hw/xgl/egl/evdev.c +++ /dev/null @@ -1,646 +0,0 @@ -/* - * 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 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. - */ - -#include -#define NEED_EVENTS -#include -#include -#include -#include -#include -#define XK_PUBLISHING -#include -#include "inputstr.h" -#include "kkeymap.h" -#include "scrnintstr.h" -#include "xegl.h" - -#define NUM_EVENTS 128 -#define ABS_UNSET -65535 - -#define BITS_PER_LONG (sizeof(long) * 8) -#define NBITS(x) ((((x)-1)/BITS_PER_LONG)+1) -#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))) - -typedef struct _kevdevMouse { - /* current device state */ - 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)]; - struct input_absinfo absinfo[ABS_MAX + 1]; - int max_rel; - int max_abs; -} Kevdev; - -static int flags = 0; - -static void -EvdevMotion (KdMouseInfo *mi) -{ - Kevdev *ke = mi->driver; - int i; - - for (i = 0; i <= ke->max_rel; i++) - if (ke->rel[i]) - { - KdEnqueueMouseEvent (mi, flags | KD_MOUSE_DELTA, ke->rel[0], ke->rel[1]); - int a; -// ErrorF ("rel"); - for (a = 0; a <= ke->max_rel; a++) - { -// if (ISBITSET (ke->relbits, a)) -// ErrorF (" %d=%d", a, ke->rel[a]); - ke->rel[a] = 0; - } -// ErrorF ("\n"); - break; - } - for (i = 0; i < ke->max_abs; i++) - if (ke->abs[i] != ke->prevabs[i]) - { - KdEnqueueMouseEvent (mi, flags, ke->abs[0], ke->abs[1]); - 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; - } -} - -static void -EvdevRead (int evdevPort, void *closure) -{ - KdMouseInfo *mi = closure; - Kevdev *ke = mi->driver; - int i, n; - struct input_event events[NUM_EVENTS]; - - n = read (evdevPort, &events, NUM_EVENTS * sizeof (struct input_event)); - if (n <= 0) - 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); - - if (events[i].value==1) { - switch (events[i].code) { - case BTN_LEFT: - flags |= KD_BUTTON_1; - break; - case BTN_RIGHT: - flags |= KD_BUTTON_3; - break; - case BTN_MIDDLE: - flags |= KD_BUTTON_2; - break; - case BTN_FORWARD: - flags |= KD_BUTTON_4; - break; - case BTN_BACK: - flags |= KD_BUTTON_5; - break; - } - } - else if (events[i].value==0) { - switch (events[i].code) { - case BTN_LEFT: - flags &= ~KD_BUTTON_1; - break; - case BTN_RIGHT: - flags &= ~KD_BUTTON_3; - break; - case BTN_MIDDLE: - flags &= ~KD_BUTTON_2; - break; - case BTN_FORWARD: - flags &= ~KD_BUTTON_4; - break; - case BTN_BACK: - flags &= ~KD_BUTTON_5; - break; - } - } - KdEnqueueMouseEvent (mi, KD_MOUSE_DELTA | flags, 0, 0); - 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; - } - } - EvdevMotion (mi); -} - -int EvdevInputType; - -char *kdefaultEvdev[] = { - // "/dev/input/event0", - "/dev/input/event1", - // "/dev/input/event2", - // "/dev/input/event3", - // "/dev/input/event4", - // "/dev/input/event5", -}; - -#define NUM_DEFAULT_EVDEV (sizeof (kdefaultEvdev) / sizeof (kdefaultEvdev[0])) - -static Bool -EvdevInit (void) -{ - int i; - int fd; - KdMouseInfo *mi, *next; - int n = 0; - char *prot; - char name[100]; - - 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) - { - ioctl(fd, EVIOCGRAB, 1); - - ioctl(fd, EVIOCGNAME(sizeof(name)), name); - ErrorF("Name is %s\n", name); - ioctl(fd, EVIOCGPHYS(sizeof(name)), name); - ErrorF("Phys Loc is %s\n", name); - ioctl(fd, EVIOCGUNIQ(sizeof(name)), name); - ErrorF("Unique is %s\n", name); - - 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++; - } - } - return TRUE; -} - -static void -EvdevFini (void) -{ - KdMouseInfo *mi; - - KdUnregisterFds (EvdevInputType, TRUE); - for (mi = kdMouseInfo; mi; mi = mi->next) - { - if (mi->inputType == EvdevInputType) - { - xfree (mi->driver); - mi->driver = 0; - mi->inputType = 0; - } - } -} - -KdMouseFuncs LinuxEvdevMouseFuncs = { - EvdevInit, - EvdevFini, -}; - - -KeySym evdevKeymap[(112 - 1 + 1) * 2] = { -/* These are directly mapped from DOS scanset 0 */ -/* 1 8 */ XK_Escape, NoSymbol, -/* 2 9 */ XK_1, XK_exclam, -/* 3 10 */ XK_2, XK_at, -/* 4 11 */ XK_3, XK_numbersign, -/* 5 12 */ XK_4, XK_dollar, -/* 6 13 */ XK_5, XK_percent, -/* 7 14 */ XK_6, XK_asciicircum, -/* 8 15 */ XK_7, XK_ampersand, -/* 9 16 */ XK_8, XK_asterisk, -/* 10 17 */ XK_9, XK_parenleft, -/* 11 18 */ XK_0, XK_parenright, -/* 12 19 */ XK_minus, XK_underscore, -/* 13 20 */ XK_equal, XK_plus, -/* 14 21 */ XK_BackSpace, NoSymbol, -/* 15 22 */ XK_Tab, NoSymbol, -/* 16 23 */ XK_Q, NoSymbol, -/* 17 24 */ XK_W, NoSymbol, -/* 18 25 */ XK_E, NoSymbol, -/* 19 26 */ XK_R, NoSymbol, -/* 20 27 */ XK_T, NoSymbol, -/* 21 28 */ XK_Y, NoSymbol, -/* 22 29 */ XK_U, NoSymbol, -/* 23 30 */ XK_I, NoSymbol, -/* 24 31 */ XK_O, NoSymbol, -/* 25 32 */ XK_P, NoSymbol, -/* 26 33 */ XK_bracketleft, XK_braceleft, -/* 27 34 */ XK_bracketright, XK_braceright, -/* 28 35 */ XK_Return, NoSymbol, -/* 29 36 */ XK_Control_L, NoSymbol, -/* 30 37 */ XK_A, NoSymbol, -/* 31 38 */ XK_S, NoSymbol, -/* 32 39 */ XK_D, NoSymbol, -/* 33 40 */ XK_F, NoSymbol, -/* 34 41 */ XK_G, NoSymbol, -/* 35 42 */ XK_H, NoSymbol, -/* 36 43 */ XK_J, NoSymbol, -/* 37 44 */ XK_K, NoSymbol, -/* 38 45 */ XK_L, NoSymbol, -/* 39 46 */ XK_semicolon, XK_colon, -/* 40 47 */ XK_apostrophe, XK_quotedbl, -/* 41 48 */ XK_grave, XK_asciitilde, -/* 42 49 */ XK_Shift_L, NoSymbol, -/* 43 50 */ XK_backslash, XK_bar, -/* 44 51 */ XK_Z, NoSymbol, -/* 45 52 */ XK_X, NoSymbol, -/* 46 53 */ XK_C, NoSymbol, -/* 47 54 */ XK_V, NoSymbol, -/* 48 55 */ XK_B, NoSymbol, -/* 49 56 */ XK_N, NoSymbol, -/* 50 57 */ XK_M, NoSymbol, -/* 51 58 */ XK_comma, XK_less, -/* 52 59 */ XK_period, XK_greater, -/* 53 60 */ XK_slash, XK_question, -/* 54 61 */ XK_Shift_R, NoSymbol, -/* 55 62 */ XK_KP_Multiply, NoSymbol, -/* 56 63 */ XK_Alt_L, XK_Meta_L, -/* 57 64 */ XK_space, NoSymbol, -/* 58 65 */ XK_Caps_Lock, NoSymbol, -/* 59 66 */ XK_F1, NoSymbol, -/* 60 67 */ XK_F2, NoSymbol, -/* 61 68 */ XK_F3, NoSymbol, -/* 62 69 */ XK_F4, NoSymbol, -/* 63 70 */ XK_F5, NoSymbol, -/* 64 71 */ XK_F6, NoSymbol, -/* 65 72 */ XK_F7, NoSymbol, -/* 66 73 */ XK_F8, NoSymbol, -/* 67 74 */ XK_F9, NoSymbol, -/* 68 75 */ XK_F10, NoSymbol, -/* 69 76 */ XK_Break, XK_Pause, -/* 70 77 */ XK_Scroll_Lock, NoSymbol, -/* 71 78 */ XK_KP_Home, XK_KP_7, -/* 72 79 */ XK_KP_Up, XK_KP_8, -/* 73 80 */ XK_KP_Page_Up, XK_KP_9, -/* 74 81 */ XK_KP_Subtract, NoSymbol, -/* 75 82 */ XK_KP_Left, XK_KP_4, -/* 76 83 */ XK_KP_5, NoSymbol, -/* 77 84 */ XK_KP_Right, XK_KP_6, -/* 78 85 */ XK_KP_Add, NoSymbol, -/* 79 86 */ XK_KP_End, XK_KP_1, -/* 80 87 */ XK_KP_Down, XK_KP_2, -/* 81 88 */ XK_KP_Page_Down, XK_KP_3, -/* 82 89 */ XK_KP_Insert, XK_KP_0, -/* 83 90 */ XK_KP_Delete, XK_KP_Decimal, -/* 84 91 */ NoSymbol, NoSymbol, -/* 85 92 */ NoSymbol, NoSymbol, -/* 86 93 */ NoSymbol, NoSymbol, -/* 87 94 */ XK_F11, NoSymbol, -/* 88 95 */ XK_F12, NoSymbol, - -/* These are remapped from the extended set (using ExtendMap) */ - -/* 89 96 */ XK_Control_R, NoSymbol, -/* 90 97 */ XK_KP_Enter, NoSymbol, -/* 91 98 */ XK_KP_Divide, NoSymbol, -/* 92 99 */ XK_Sys_Req, XK_Print, -/* 93 100 */ XK_Alt_R, XK_Meta_R, -/* 94 101 */ XK_Num_Lock, NoSymbol, -/* 95 102 */ XK_Home, NoSymbol, -/* 96 103 */ XK_Up, NoSymbol, -/* 97 104 */ XK_Page_Up, NoSymbol, -/* 98 105 */ XK_Left, NoSymbol, -/* 99 106 */ XK_Right, NoSymbol, -/* 100 107 */ XK_End, NoSymbol, -/* 101 108 */ XK_Down, NoSymbol, -/* 102 109 */ XK_Page_Down, NoSymbol, -/* 103 110 */ XK_Insert, NoSymbol, -/* 104 111 */ XK_Delete, NoSymbol, -/* 105 112 */ XK_Super_L, NoSymbol, -/* 106 113 */ XK_Super_R, NoSymbol, -/* 107 114 */ XK_Menu, NoSymbol, -/* 108 115 */ NoSymbol, NoSymbol, -/* 109 116 */ NoSymbol, NoSymbol, -/* 110 117 */ NoSymbol, NoSymbol, -/* 111 118 */ NoSymbol, NoSymbol, -/* 112 119 */ NoSymbol, NoSymbol, -}; - -static void -EvdevRead1 (int evdevPort, void *closure) -{ - int i, n, xk; - struct input_event events[NUM_EVENTS]; - - n = read (evdevPort, &events, NUM_EVENTS * sizeof (struct input_event)); - if (n <= 0) - return; - n /= sizeof (struct input_event); - for (i = 0; i < n; i++) - { - switch (events[i].type) { - case EV_SYN: - break; - case EV_KEY: - xk = events[i].code; - if (events[i].code < 0x100) - ErrorF ("key %d %d xk %d\n", events[i].code, events[i].value, xk); - else - ErrorF ("key 0x%x %d xk %d\n", events[i].code, events[i].value, xk); - if (events[i].value == 2) { - //KdEnqueueKeyboardEvent (xk, 0); - KdEnqueueKeyboardEvent (xk, 0); - } else - KdEnqueueKeyboardEvent (xk, !events[i].value); - break; - } - } -} - -char *kdefaultEvdev1[] = { - "/dev/input/event0", - // "/dev/input/event1", - // "/dev/input/event2", - // "/dev/input/event3", - // "/dev/input/event4", - // "/dev/input/event5", -}; - -#define NUM_DEFAULT_EVDEV1 (sizeof (kdefaultEvdev1) / sizeof (kdefaultEvdev1[0])) - -static Bool -EvdevKbdInit (void) -{ - int i; - int fd; - int n = 0; - char name[100]; - - if (!EvdevInputType) - EvdevInputType = KdAllocInputType (); - - for (i = 0; i < NUM_DEFAULT_EVDEV; i++) - { - fd = open (kdefaultEvdev1[i], 2); - if (fd >= 0) - { - ioctl(fd, EVIOCGRAB, 1); - - ioctl(fd, EVIOCGNAME(sizeof(name)), name); - ErrorF("Name is %s\n", name); - ioctl(fd, EVIOCGPHYS(sizeof(name)), name); - ErrorF("Phys Loc is %s\n", name); - ioctl(fd, EVIOCGUNIQ(sizeof(name)), name); - ErrorF("Unique is %s\n", name); - - } - - 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; - } - } - if (KdRegisterFd (EvdevInputType, fd, EvdevRead1, NULL)) - n++; - } - } - return TRUE; -} - -static void EvdevKbdLoad(void) -{ - kdMinScanCode = 1; - kdMaxScanCode = 112; - kdKeymapWidth = 2; - memcpy (kdKeymap, evdevKeymap, sizeof (evdevKeymap)); -} - -static void -EvdevKbdFini (void) -{ -} - -static void -EvdevKbdLeds (int leds) -{ -} - - -static void EvdevKbdBell(int volume, int pitch, int duration) -{ -} - - -KdKeyboardFuncs LinuxEvdevKeyboardFuncs = { - EvdevKbdLoad, - EvdevKbdInit, - EvdevKbdLeds, - EvdevKbdBell, - EvdevKbdFini, - 0, -}; diff --git a/xorg-server/hw/xgl/egl/kinput.c b/xorg-server/hw/xgl/egl/kinput.c deleted file mode 100644 index 774e00eb5..000000000 --- a/xorg-server/hw/xgl/egl/kinput.c +++ /dev/null @@ -1,1672 +0,0 @@ -/* - * Copyright 1999 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 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. - */ - -#include - -#include -#include - -#include "xegl.h" -#include "mipointer.h" -#include "inputstr.h" - -#define XK_PUBLISHING -#include -#if HAVE_X11_XF86KEYSYM_H -#include -#endif -#include "kkeymap.h" - -#ifdef XKB -#define XKB_IN_SERVER -#include -#endif - -static DeviceIntPtr pKdKeyboard, pKdPointer; - -#define MAX_MOUSE_DRIVERS 6 - -static KdMouseFuncs *kdMouseFuncs[MAX_MOUSE_DRIVERS]; -static int kdNMouseFuncs; -static KdKeyboardFuncs *kdKeyboardFuncs; -static int kdBellPitch; -static int kdBellDuration; -static int kdLeds; -static Bool kdInputEnabled; -static Bool kdOffScreen; -static unsigned long kdOffScreenTime; -static KdMouseMatrix kdMouseMatrix = { - { { 1, 0, 0 }, - { 0, 1, 0 } } -}; - -int kdMouseButtonCount; -int kdMinScanCode; -int kdMaxScanCode; -int kdMinKeyCode; -int kdMaxKeyCode; -int kdKeymapWidth = KD_MAX_WIDTH; -KeySym kdKeymap[KD_MAX_LENGTH * KD_MAX_WIDTH]; -CARD8 kdModMap[MAP_LENGTH]; -KeySymsRec kdKeySyms; - - -void -KdResetInputMachine (void); - -#define KD_KEY_COUNT 248 - -CARD8 kdKeyState[KD_KEY_COUNT/8]; - -#define IsKeyDown(key) ((kdKeyState[(key) >> 3] >> ((key) & 7)) & 1) - -#define KD_MAX_INPUT_FDS 8 - -typedef struct _kdInputFd { - int type; - int fd; - void (*read) (int fd, void *closure); - int (*enable) (int fd, void *closure); - void (*disable) (int fd, void *closure); - void *closure; -} KdInputFd; - -KdInputFd kdInputFds[KD_MAX_INPUT_FDS]; -int kdNumInputFds; -int kdInputTypeSequence; - -static void -KdSigio (int sig) -{ - int i; - - for (i = 0; i < kdNumInputFds; i++) - (*kdInputFds[i].read) (kdInputFds[i].fd, kdInputFds[i].closure); -} - -static void -KdBlockSigio (void) -{ - sigset_t set; - - sigemptyset (&set); - sigaddset (&set, SIGIO); - sigprocmask (SIG_BLOCK, &set, 0); -} - -static void -KdUnblockSigio (void) -{ - sigset_t set; - - sigemptyset (&set); - sigaddset (&set, SIGIO); - sigprocmask (SIG_UNBLOCK, &set, 0); -} - -#undef VERIFY_SIGIO -#ifdef VERIFY_SIGIO - -void -KdAssertSigioBlocked (char *where) -{ - sigset_t set, old; - - sigemptyset (&set); - sigprocmask (SIG_BLOCK, &set, &old); - if (!sigismember (&old, SIGIO)) - ErrorF ("SIGIO not blocked at %s\n", where); -} - -#else - -#define KdAssertSigioBlocked(s) - -#endif - -static int kdnFds; - -#ifdef FNONBLOCK -#define NOBLOCK FNONBLOCK -#else -#define NOBLOCK FNDELAY -#endif - -static void -KdNonBlockFd (int fd) -{ - int flags; - flags = fcntl (fd, F_GETFL); - flags |= FASYNC|NOBLOCK; - fcntl (fd, F_SETFL, flags); -} - -static void -KdAddFd (int fd) -{ - struct sigaction act; - sigset_t set; - - kdnFds++; - fcntl (fd, F_SETOWN, getpid()); - KdNonBlockFd (fd); - AddEnabledDevice (fd); - memset (&act, '\0', sizeof act); - act.sa_handler = KdSigio; - sigemptyset (&act.sa_mask); - sigaddset (&act.sa_mask, SIGIO); - sigaddset (&act.sa_mask, SIGALRM); - sigaddset (&act.sa_mask, SIGVTALRM); - sigaction (SIGIO, &act, 0); - sigemptyset (&set); - sigprocmask (SIG_SETMASK, &set, 0); -} - -static void -KdRemoveFd (int fd) -{ - struct sigaction act; - int flags; - - kdnFds--; - RemoveEnabledDevice (fd); - flags = fcntl (fd, F_GETFL); - flags &= ~(FASYNC|NOBLOCK); - fcntl (fd, F_SETFL, flags); - if (kdnFds == 0) - { - memset (&act, '\0', sizeof act); - act.sa_handler = SIG_IGN; - sigemptyset (&act.sa_mask); - sigaction (SIGIO, &act, 0); - } -} - -int -KdAllocInputType (void) -{ - return ++kdInputTypeSequence; -} - -Bool -KdRegisterFd (int type, int fd, void (*read) (int fd, void *closure), void *closure) -{ - if (kdNumInputFds == KD_MAX_INPUT_FDS) - return FALSE; - kdInputFds[kdNumInputFds].type = type; - kdInputFds[kdNumInputFds].fd = fd; - kdInputFds[kdNumInputFds].read = read; - kdInputFds[kdNumInputFds].enable = 0; - kdInputFds[kdNumInputFds].disable = 0; - kdInputFds[kdNumInputFds].closure = closure; - ++kdNumInputFds; - if (kdInputEnabled) - KdAddFd (fd); - return TRUE; -} - -void -KdRegisterFdEnableDisable (int fd, - int (*enable) (int fd, void *closure), - void (*disable) (int fd, void *closure)) -{ - int i; - - for (i = 0; i < kdNumInputFds; i++) - if (kdInputFds[i].fd == fd) - { - kdInputFds[i].enable = enable; - kdInputFds[i].disable = disable; - break; - } -} - -void -KdUnregisterFds (int type, Bool do_close) -{ - int i, j; - - for (i = 0; i < kdNumInputFds;) - { - if (kdInputFds[i].type == type) - { - if (kdInputEnabled) - KdRemoveFd (kdInputFds[i].fd); - if (do_close) - close (kdInputFds[i].fd); - --kdNumInputFds; - for (j = i; j < kdNumInputFds; j++) - kdInputFds[j] = kdInputFds[j+1]; - } - else - i++; - } -} - -static void -KdDisableInput (void) -{ - int i; - - KdBlockSigio (); - - for (i = 0; i < kdNumInputFds; i++) - { - KdRemoveFd (kdInputFds[i].fd); - if (kdInputFds[i].disable) - (*kdInputFds[i].disable) (kdInputFds[i].fd, kdInputFds[i].closure); - } - kdInputEnabled = FALSE; -} - -static void -KdEnableInput (void) -{ - xEvent xE; - int i; - - kdInputEnabled = TRUE; - for (i = 0; i < kdNumInputFds; i++) - { - KdNonBlockFd (kdInputFds[i].fd); - if (kdInputFds[i].enable) - kdInputFds[i].fd = (*kdInputFds[i].enable) (kdInputFds[i].fd, kdInputFds[i].closure); - KdAddFd (kdInputFds[i].fd); - } - - /* reset screen saver */ - xE.u.keyButtonPointer.time = GetTimeInMillis (); - NoticeEventTime (&xE); - - KdUnblockSigio (); -} - -static int -KdMouseProc(DeviceIntPtr pDevice, int onoff) -{ - BYTE map[KD_MAX_BUTTON]; - DevicePtr pDev = (DevicePtr)pDevice; - int i; - - if (!pDev) - return BadImplementation; - - switch (onoff) - { - case DEVICE_INIT: - for (i = 1; i <= kdMouseButtonCount; i++) - map[i] = i; - InitPointerDeviceStruct(pDev, map, kdMouseButtonCount, - miPointerGetMotionEvents, - (PtrCtrlProcPtr)NoopDDA, - miPointerGetMotionBufferSize()); - break; - - case DEVICE_ON: - pDev->on = TRUE; - pKdPointer = pDevice; - for (i = 0; i < kdNMouseFuncs; i++) - (*kdMouseFuncs[i]->Init)(); - break; - case DEVICE_OFF: - case DEVICE_CLOSE: - if (pDev->on) - { - pDev->on = FALSE; - pKdPointer = 0; - for (i = 0; i < kdNMouseFuncs; i++) - (*kdMouseFuncs[i]->Fini) (); - } - break; - } - return Success; -} - -Bool -KdLegalModifier(unsigned int key, DevicePtr pDev) -{ - return TRUE; -} - -static void -KdBell (int volume, DeviceIntPtr pDev, pointer ctrl, int something) -{ - if (kdInputEnabled) - (*kdKeyboardFuncs->Bell) (volume, kdBellPitch, kdBellDuration); -} - - -static void -KdSetLeds (void) -{ - if (kdInputEnabled) - (*kdKeyboardFuncs->Leds) (kdLeds); -} - -static void -KdSetLed (int led, Bool on) -{ - NoteLedState (pKdKeyboard, led, on); - kdLeds = pKdKeyboard->kbdfeed->ctrl.leds; - KdSetLeds (); -} - -static void -KdSetMouseMatrix (KdMouseMatrix *matrix) -{ - kdMouseMatrix = *matrix; -} - -static void -KdComputeMouseMatrix (KdMouseMatrix *m, Rotation randr, int width, int height) -{ - int x_dir = 1, y_dir = 1; - int i, j; - int size[2]; - - size[0] = width; size[1] = height; - if (randr & RR_Reflect_X) - x_dir = -1; - if (randr & RR_Reflect_Y) - y_dir = -1; - switch (randr & (RR_Rotate_All)) { - case RR_Rotate_0: - m->matrix[0][0] = x_dir; m->matrix[0][1] = 0; - m->matrix[1][0] = 0; m->matrix[1][1] = y_dir; - break; - case RR_Rotate_90: - m->matrix[0][0] = 0; m->matrix[0][1] = -x_dir; - m->matrix[1][0] = y_dir; m->matrix[1][1] = 0; - break; - case RR_Rotate_180: - m->matrix[0][0] = -x_dir; m->matrix[0][1] = 0; - m->matrix[1][0] = 0; m->matrix[1][1] = -y_dir; - break; - case RR_Rotate_270: - m->matrix[0][0] = 0; m->matrix[0][1] = x_dir; - m->matrix[1][0] = -y_dir; m->matrix[1][1] = 0; - break; - } - for (i = 0; i < 2; i++) - { - m->matrix[i][2] = 0; - for (j = 0 ; j < 2; j++) - if (m->matrix[i][j] < 0) - m->matrix[i][2] = size[j] - 1; - } -} - -static void -KdKbdCtrl (DeviceIntPtr pDevice, KeybdCtrl *ctrl) -{ - kdLeds = ctrl->leds; - kdBellPitch = ctrl->bell_pitch; - kdBellDuration = ctrl->bell_duration; - KdSetLeds (); -} - -static int -KdKeybdProc(DeviceIntPtr pDevice, int onoff) -{ - Bool ret; - DevicePtr pDev = (DevicePtr)pDevice; -#ifdef XKB - XkbComponentNamesRec names; -#endif - - if (!pDev) - return BadImplementation; - - switch (onoff) - { - case DEVICE_INIT: - if (pDev != (DevicePtr)inputInfo.keyboard) - { - return !Success; - } -#ifndef XKB - ret = InitKeyboardDeviceStruct(pDev, - &kdKeySyms, - kdModMap, - KdBell, KdKbdCtrl); -#else - memset(&names, 0, sizeof(XkbComponentNamesRec)); - - XkbSetRulesDflts ("base", "pc101", "us", NULL, NULL); - ret = XkbInitKeyboardDeviceStruct (pDev, - &names, - &kdKeySyms, - kdModMap, - KdBell, KdKbdCtrl); -#endif - if (!ret) - return BadImplementation; - break; - case DEVICE_ON: - pDev->on = TRUE; - pKdKeyboard = pDevice; - if (kdKeyboardFuncs) - (*kdKeyboardFuncs->Init) (); - break; - case DEVICE_OFF: - case DEVICE_CLOSE: - pKdKeyboard = 0; - if (pDev->on) - { - pDev->on = FALSE; - if (kdKeyboardFuncs) - (*kdKeyboardFuncs->Fini) (); - } - break; - } - return Success; -} - -extern KeybdCtrl defaultKeyboardControl; - -static void -KdInitAutoRepeats (void) -{ - int key_code; - unsigned char mask; - int i; - unsigned char *repeats; - - repeats = defaultKeyboardControl.autoRepeats; - memset (repeats, '\0', 32); - for (key_code = KD_MIN_KEYCODE; key_code <= KD_MAX_KEYCODE; key_code++) - { - if (!kdModMap[key_code]) - { - i = key_code >> 3; - mask = 1 << (key_code & 7); - repeats[i] |= mask; - } - } -} - -const KdKeySymModsRec kdKeySymMods[] = { - { XK_Control_L, ControlMask }, - { XK_Control_R, ControlMask }, - { XK_Shift_L, ShiftMask }, - { XK_Shift_R, ShiftMask }, - { XK_Caps_Lock, LockMask }, - { XK_Shift_Lock, LockMask }, - { XK_Alt_L, Mod1Mask }, - { XK_Alt_R, Mod1Mask }, - { XK_Meta_L, Mod1Mask }, - { XK_Meta_R, Mod1Mask }, - { XK_Num_Lock, Mod2Mask }, - { XK_Super_L, Mod3Mask }, - { XK_Super_R, Mod3Mask }, - { XK_Hyper_L, Mod3Mask }, - { XK_Hyper_R, Mod3Mask }, - { XK_Mode_switch, Mod4Mask }, -#ifdef TOUCHSCREEN - /* PDA specific hacks */ -#ifdef XF86XK_Start - { XF86XK_Start, ControlMask }, -#endif - { XK_Menu, ShiftMask }, - { XK_telephone, Mod1Mask }, -#ifdef XF86XK_AudioRecord - { XF86XK_AudioRecord, Mod2Mask }, -#endif -#ifdef XF86XK_Calendar - { XF86XK_Calendar, Mod3Mask } -#endif -#endif -}; - -#define NUM_SYM_MODS (sizeof(kdKeySymMods) / sizeof(kdKeySymMods[0])) - -static void -KdInitModMap (void) -{ - int key_code; - int row; - int width; - KeySym *syms; - int i; - - width = kdKeySyms.mapWidth; - for (key_code = kdMinKeyCode; key_code <= kdMaxKeyCode; key_code++) - { - kdModMap[key_code] = 0; - syms = kdKeymap + (key_code - kdMinKeyCode) * width; - for (row = 0; row < width; row++, syms++) - { - for (i = 0; i < NUM_SYM_MODS; i++) - { - if (*syms == kdKeySymMods[i].modsym) - kdModMap[key_code] |= kdKeySymMods[i].modbit; - } - } - } -} - -static void -KdAddMouseDriver(KdMouseFuncs *pMouseFuncs) -{ - if (kdNMouseFuncs < MAX_MOUSE_DRIVERS) - kdMouseFuncs[kdNMouseFuncs++] = pMouseFuncs; -} - -void -eglInitInput(KdMouseFuncs *pMouseFuncs, - KdKeyboardFuncs *pKeyboardFuncs) -{ - DeviceIntPtr pKeyboard, pPointer; - KdMouseInfo *mi; - - if (!kdMouseInfo) - KdParseMouse (0); - kdMouseButtonCount = 0; - for (mi = kdMouseInfo; mi; mi = mi->next) - { - if (mi->nbutton > kdMouseButtonCount) - kdMouseButtonCount = mi->nbutton; - } - - kdNMouseFuncs = 0; - KdAddMouseDriver (pMouseFuncs); - kdKeyboardFuncs = pKeyboardFuncs; - memset (kdKeyState, '\0', sizeof (kdKeyState)); - if (kdKeyboardFuncs) - (*kdKeyboardFuncs->Load) (); - kdMinKeyCode = kdMinScanCode + KD_KEY_OFFSET; - kdMaxKeyCode = kdMaxScanCode + KD_KEY_OFFSET; - kdKeySyms.map = kdKeymap; - kdKeySyms.minKeyCode = kdMinKeyCode; - kdKeySyms.maxKeyCode = kdMaxKeyCode; - kdKeySyms.mapWidth = kdKeymapWidth; - kdLeds = 0; - kdBellPitch = 1000; - kdBellDuration = 200; - kdInputEnabled = TRUE; - KdInitModMap (); - KdInitAutoRepeats (); - KdResetInputMachine (); - pPointer = AddInputDevice(KdMouseProc, TRUE); - pKeyboard = AddInputDevice(KdKeybdProc, TRUE); - RegisterPointerDevice(pPointer); - RegisterKeyboardDevice(pKeyboard); - miRegisterPointerDevice(screenInfo.screens[0], pPointer); - mieqInit(&pKeyboard->public, &pPointer->public); -#ifdef XINPUT - { - static long zero1, zero2; - - //SetExtInputCheck (&zero1, &zero2); - ErrorF("Extended Input Devices not yet supported. Impelement it at line %d in %s\n", - __LINE__, __FILE__); - } -#endif -} - -/* - * Middle button emulation state machine - * - * Possible transitions: - * Button 1 press v1 - * Button 1 release ^1 - * Button 2 press v2 - * Button 2 release ^2 - * Button 3 press v3 - * Button 3 release ^3 - * Button other press vo - * Button other release ^o - * Mouse motion <> - * Keyboard event k - * timeout ... - * outside box <-> - * - * States: - * start - * button_1_pend - * button_1_down - * button_2_down - * button_3_pend - * button_3_down - * synthetic_2_down_13 - * synthetic_2_down_3 - * synthetic_2_down_1 - * - * Transition diagram - * - * start - * v1 -> (hold) (settimeout) button_1_pend - * ^1 -> (deliver) start - * v2 -> (deliver) button_2_down - * ^2 -> (deliever) start - * v3 -> (hold) (settimeout) button_3_pend - * ^3 -> (deliver) start - * vo -> (deliver) start - * ^o -> (deliver) start - * <> -> (deliver) start - * k -> (deliver) start - * - * button_1_pend (button 1 is down, timeout pending) - * ^1 -> (release) (deliver) start - * v2 -> (release) (deliver) button_1_down - * ^2 -> (release) (deliver) button_1_down - * v3 -> (cleartimeout) (generate v2) synthetic_2_down_13 - * ^3 -> (release) (deliver) button_1_down - * vo -> (release) (deliver) button_1_down - * ^o -> (release) (deliver) button_1_down - * <-> -> (release) (deliver) button_1_down - * <> -> (deliver) button_1_pend - * k -> (release) (deliver) button_1_down - * ... -> (release) button_1_down - * - * button_1_down (button 1 is down) - * ^1 -> (deliver) start - * v2 -> (deliver) button_1_down - * ^2 -> (deliver) button_1_down - * v3 -> (deliver) button_1_down - * ^3 -> (deliver) button_1_down - * vo -> (deliver) button_1_down - * ^o -> (deliver) button_1_down - * <> -> (deliver) button_1_down - * k -> (deliver) button_1_down - * - * button_2_down (button 2 is down) - * v1 -> (deliver) button_2_down - * ^1 -> (deliver) button_2_down - * ^2 -> (deliver) start - * v3 -> (deliver) button_2_down - * ^3 -> (deliver) button_2_down - * vo -> (deliver) button_2_down - * ^o -> (deliver) button_2_down - * <> -> (deliver) button_2_down - * k -> (deliver) button_2_down - * - * button_3_pend (button 3 is down, timeout pending) - * v1 -> (generate v2) synthetic_2_down - * ^1 -> (release) (deliver) button_3_down - * v2 -> (release) (deliver) button_3_down - * ^2 -> (release) (deliver) button_3_down - * ^3 -> (release) (deliver) start - * vo -> (release) (deliver) button_3_down - * ^o -> (release) (deliver) button_3_down - * <-> -> (release) (deliver) button_3_down - * <> -> (deliver) button_3_pend - * k -> (release) (deliver) button_3_down - * ... -> (release) button_3_down - * - * button_3_down (button 3 is down) - * v1 -> (deliver) button_3_down - * ^1 -> (deliver) button_3_down - * v2 -> (deliver) button_3_down - * ^2 -> (deliver) button_3_down - * ^3 -> (deliver) start - * vo -> (deliver) button_3_down - * ^o -> (deliver) button_3_down - * <> -> (deliver) button_3_down - * k -> (deliver) button_3_down - * - * synthetic_2_down_13 (button 1 and 3 are down) - * ^1 -> (generate ^2) synthetic_2_down_3 - * v2 -> synthetic_2_down_13 - * ^2 -> synthetic_2_down_13 - * ^3 -> (generate ^2) synthetic_2_down_1 - * vo -> (deliver) synthetic_2_down_13 - * ^o -> (deliver) synthetic_2_down_13 - * <> -> (deliver) synthetic_2_down_13 - * k -> (deliver) synthetic_2_down_13 - * - * synthetic_2_down_3 (button 3 is down) - * v1 -> (deliver) synthetic_2_down_3 - * ^1 -> (deliver) synthetic_2_down_3 - * v2 -> synthetic_2_down_3 - * ^2 -> synthetic_2_down_3 - * ^3 -> start - * vo -> (deliver) synthetic_2_down_3 - * ^o -> (deliver) synthetic_2_down_3 - * <> -> (deliver) synthetic_2_down_3 - * k -> (deliver) synthetic_2_down_3 - * - * synthetic_2_down_1 (button 1 is down) - * ^1 -> start - * v2 -> synthetic_2_down_1 - * ^2 -> synthetic_2_down_1 - * v3 -> (deliver) synthetic_2_down_1 - * ^3 -> (deliver) synthetic_2_down_1 - * vo -> (deliver) synthetic_2_down_1 - * ^o -> (deliver) synthetic_2_down_1 - * <> -> (deliver) synthetic_2_down_1 - * k -> (deliver) synthetic_2_down_1 - */ - -typedef enum _inputClass { - down_1, up_1, - down_2, up_2, - down_3, up_3, - down_o, up_o, - motion, outside_box, - keyboard, timeout, - num_input_class -} KdInputClass; - -typedef enum _inputAction { - noop, - hold, - setto, - deliver, - release, - clearto, - gen_down_2, - gen_up_2 -} KdInputAction; - -#define MAX_ACTIONS 2 - -typedef struct _inputTransition { - KdInputAction actions[MAX_ACTIONS]; - KdMouseState nextState; -} KdInputTransition; - -KdInputTransition kdInputMachine[num_input_states][num_input_class] = { - /* start */ - { - { { hold, setto }, button_1_pend }, /* v1 */ - { { deliver, noop }, start }, /* ^1 */ - { { deliver, noop }, button_2_down }, /* v2 */ - { { deliver, noop }, start }, /* ^2 */ - { { hold, setto }, button_3_pend }, /* v3 */ - { { deliver, noop }, start }, /* ^3 */ - { { deliver, noop }, start }, /* vo */ - { { deliver, noop }, start }, /* ^o */ - { { deliver, noop }, start }, /* <> */ - { { deliver, noop }, start }, /* <-> */ - { { noop, noop }, start }, /* k */ - { { noop, noop }, start }, /* ... */ - }, - /* button_1_pend */ - { - { { noop, noop }, button_1_pend }, /* v1 */ - { { release, deliver }, start }, /* ^1 */ - { { release, deliver }, button_1_down }, /* v2 */ - { { release, deliver }, button_1_down }, /* ^2 */ - { { clearto, gen_down_2 }, synth_2_down_13 }, /* v3 */ - { { release, deliver }, button_1_down }, /* ^3 */ - { { release, deliver }, button_1_down }, /* vo */ - { { release, deliver }, button_1_down }, /* ^o */ - { { deliver, noop }, button_1_pend }, /* <> */ - { { release, deliver }, button_1_down }, /* <-> */ - { { noop, noop }, button_1_down }, /* k */ - { { release, noop }, button_1_down }, /* ... */ - }, - /* button_1_down */ - { - { { noop, noop }, button_1_down }, /* v1 */ - { { deliver, noop }, start }, /* ^1 */ - { { deliver, noop }, button_1_down }, /* v2 */ - { { deliver, noop }, button_1_down }, /* ^2 */ - { { deliver, noop }, button_1_down }, /* v3 */ - { { deliver, noop }, button_1_down }, /* ^3 */ - { { deliver, noop }, button_1_down }, /* vo */ - { { deliver, noop }, button_1_down }, /* ^o */ - { { deliver, noop }, button_1_down }, /* <> */ - { { deliver, noop }, button_1_down }, /* <-> */ - { { noop, noop }, button_1_down }, /* k */ - { { noop, noop }, button_1_down }, /* ... */ - }, - /* button_2_down */ - { - { { deliver, noop }, button_2_down }, /* v1 */ - { { deliver, noop }, button_2_down }, /* ^1 */ - { { noop, noop }, button_2_down }, /* v2 */ - { { deliver, noop }, start }, /* ^2 */ - { { deliver, noop }, button_2_down }, /* v3 */ - { { deliver, noop }, button_2_down }, /* ^3 */ - { { deliver, noop }, button_2_down }, /* vo */ - { { deliver, noop }, button_2_down }, /* ^o */ - { { deliver, noop }, button_2_down }, /* <> */ - { { deliver, noop }, button_2_down }, /* <-> */ - { { noop, noop }, button_2_down }, /* k */ - { { noop, noop }, button_2_down }, /* ... */ - }, - /* button_3_pend */ - { - { { clearto, gen_down_2 }, synth_2_down_13 }, /* v1 */ - { { release, deliver }, button_3_down }, /* ^1 */ - { { release, deliver }, button_3_down }, /* v2 */ - { { release, deliver }, button_3_down }, /* ^2 */ - { { release, deliver }, button_3_down }, /* v3 */ - { { release, deliver }, start }, /* ^3 */ - { { release, deliver }, button_3_down }, /* vo */ - { { release, deliver }, button_3_down }, /* ^o */ - { { deliver, noop }, button_3_pend }, /* <> */ - { { release, deliver }, button_3_down }, /* <-> */ - { { release, noop }, button_3_down }, /* k */ - { { release, noop }, button_3_down }, /* ... */ - }, - /* button_3_down */ - { - { { deliver, noop }, button_3_down }, /* v1 */ - { { deliver, noop }, button_3_down }, /* ^1 */ - { { deliver, noop }, button_3_down }, /* v2 */ - { { deliver, noop }, button_3_down }, /* ^2 */ - { { noop, noop }, button_3_down }, /* v3 */ - { { deliver, noop }, start }, /* ^3 */ - { { deliver, noop }, button_3_down }, /* vo */ - { { deliver, noop }, button_3_down }, /* ^o */ - { { deliver, noop }, button_3_down }, /* <> */ - { { deliver, noop }, button_3_down }, /* <-> */ - { { noop, noop }, button_3_down }, /* k */ - { { noop, noop }, button_3_down }, /* ... */ - }, - /* synthetic_2_down_13 */ - { - { { noop, noop }, synth_2_down_13 }, /* v1 */ - { { gen_up_2, noop }, synth_2_down_3 }, /* ^1 */ - { { noop, noop }, synth_2_down_13 }, /* v2 */ - { { noop, noop }, synth_2_down_13 }, /* ^2 */ - { { noop, noop }, synth_2_down_13 }, /* v3 */ - { { gen_up_2, noop }, synth_2_down_1 }, /* ^3 */ - { { deliver, noop }, synth_2_down_13 }, /* vo */ - { { deliver, noop }, synth_2_down_13 }, /* ^o */ - { { deliver, noop }, synth_2_down_13 }, /* <> */ - { { deliver, noop }, synth_2_down_13 }, /* <-> */ - { { noop, noop }, synth_2_down_13 }, /* k */ - { { noop, noop }, synth_2_down_13 }, /* ... */ - }, - /* synthetic_2_down_3 */ - { - { { deliver, noop }, synth_2_down_3 }, /* v1 */ - { { deliver, noop }, synth_2_down_3 }, /* ^1 */ - { { deliver, noop }, synth_2_down_3 }, /* v2 */ - { { deliver, noop }, synth_2_down_3 }, /* ^2 */ - { { noop, noop }, synth_2_down_3 }, /* v3 */ - { { noop, noop }, start }, /* ^3 */ - { { deliver, noop }, synth_2_down_3 }, /* vo */ - { { deliver, noop }, synth_2_down_3 }, /* ^o */ - { { deliver, noop }, synth_2_down_3 }, /* <> */ - { { deliver, noop }, synth_2_down_3 }, /* <-> */ - { { noop, noop }, synth_2_down_3 }, /* k */ - { { noop, noop }, synth_2_down_3 }, /* ... */ - }, - /* synthetic_2_down_1 */ - { - { { noop, noop }, synth_2_down_1 }, /* v1 */ - { { noop, noop }, start }, /* ^1 */ - { { deliver, noop }, synth_2_down_1 }, /* v2 */ - { { deliver, noop }, synth_2_down_1 }, /* ^2 */ - { { deliver, noop }, synth_2_down_1 }, /* v3 */ - { { deliver, noop }, synth_2_down_1 }, /* ^3 */ - { { deliver, noop }, synth_2_down_1 }, /* vo */ - { { deliver, noop }, synth_2_down_1 }, /* ^o */ - { { deliver, noop }, synth_2_down_1 }, /* <> */ - { { deliver, noop }, synth_2_down_1 }, /* <-> */ - { { noop, noop }, synth_2_down_1 }, /* k */ - { { noop, noop }, synth_2_down_1 }, /* ... */ - }, -}; - -#define EMULATION_WINDOW 10 -#define EMULATION_TIMEOUT 100 - -#define EventX(e) ((e)->u.keyButtonPointer.rootX) -#define EventY(e) ((e)->u.keyButtonPointer.rootY) - -static int -KdInsideEmulationWindow (KdMouseInfo *mi, xEvent *ev) -{ - if (ev->u.keyButtonPointer.pad1) - { - mi->emulationDx += EventX(ev); - mi->emulationDy += EventY(ev); - } - else - { - mi->emulationDx = EventX(&mi->heldEvent) - EventX(ev); - mi->emulationDy = EventY(&mi->heldEvent) - EventY(ev); - } - return (abs (mi->emulationDx) < EMULATION_WINDOW && - abs (mi->emulationDy) < EMULATION_WINDOW); -} - -static KdInputClass -KdClassifyInput (KdMouseInfo *mi, xEvent *ev) -{ - switch (ev->u.u.type) { - case ButtonPress: - switch (ev->u.u.detail) { - case 1: return down_1; - case 2: return down_2; - case 3: return down_3; - default: return down_o; - } - break; - case ButtonRelease: - switch (ev->u.u.detail) { - case 1: return up_1; - case 2: return up_2; - case 3: return up_3; - default: return up_o; - } - break; - case MotionNotify: - if (mi->eventHeld && !KdInsideEmulationWindow(mi, ev)) - return outside_box; - else - return motion; - default: - return keyboard; - } - return keyboard; -} - -#ifndef NDEBUG -char *kdStateNames[] = { - "start", - "button_1_pend", - "button_1_down", - "button_2_down", - "button_3_pend", - "button_3_down", - "synth_2_down_13", - "synth_2_down_3", - "synthetic_2_down_1", - "num_input_states" -}; - -char *kdClassNames[] = { - "down_1", "up_1", - "down_2", "up_2", - "down_3", "up_3", - "motion", "ouside_box", - "keyboard", "timeout", - "num_input_class" -}; - -char *kdActionNames[] = { - "noop", - "hold", - "setto", - "deliver", - "release", - "clearto", - "gen_down_2", - "gen_up_2", -}; -#endif - -static void -KdQueueEvent (xEvent *ev) -{ - KdAssertSigioBlocked ("KdQueueEvent"); - if (ev->u.u.type == MotionNotify) - { - if (ev->u.keyButtonPointer.pad1) - { - ev->u.keyButtonPointer.pad1 = 0; - miPointerDeltaCursor (ev->u.keyButtonPointer.rootX, - ev->u.keyButtonPointer.rootY, - ev->u.keyButtonPointer.time); - } - else - { - miPointerAbsoluteCursor(ev->u.keyButtonPointer.rootX, - ev->u.keyButtonPointer.rootY, - ev->u.keyButtonPointer.time); - } - } - else - { - mieqEnqueue (ev); - } -} - -static void -KdRunMouseMachine (KdMouseInfo *mi, KdInputClass c, xEvent *ev) -{ - KdInputTransition *t; - int a; - - t = &kdInputMachine[mi->mouseState][c]; - for (a = 0; a < MAX_ACTIONS; a++) - { - switch (t->actions[a]) { - case noop: - break; - case hold: - mi->eventHeld = TRUE; - mi->emulationDx = 0; - mi->emulationDy = 0; - mi->heldEvent = *ev; - break; - case setto: - mi->emulationTimeout = GetTimeInMillis () + EMULATION_TIMEOUT; - mi->timeoutPending = TRUE; - break; - case deliver: - KdQueueEvent (ev); - break; - case release: - mi->eventHeld = FALSE; - mi->timeoutPending = FALSE; - KdQueueEvent (&mi->heldEvent); - break; - case clearto: - mi->timeoutPending = FALSE; - break; - case gen_down_2: - ev->u.u.detail = 2; - mi->eventHeld = FALSE; - KdQueueEvent (ev); - break; - case gen_up_2: - ev->u.u.detail = 2; - KdQueueEvent (ev); - break; - } - } - mi->mouseState = t->nextState; -} - -void -KdResetInputMachine (void) -{ - KdMouseInfo *mi; - - for (mi = kdMouseInfo; mi; mi = mi->next) - { - mi->mouseState = start; - mi->eventHeld = FALSE; - } -} - -static void -KdHandleMouseEvent (KdMouseInfo *mi, xEvent *ev) -{ - if (mi->emulateMiddleButton) - KdRunMouseMachine (mi, KdClassifyInput (mi, ev), ev); - else - KdQueueEvent (ev); -} - -static void -KdReceiveTimeout (KdMouseInfo *mi) -{ - KdRunMouseMachine (mi, timeout, 0); -} - -#define KILL_SEQUENCE ((1L << KK_CONTROL)|(1L << KK_ALT)|(1L << KK_F8)|(1L << KK_F10)) -#define SPECIAL_SEQUENCE ((1L << KK_CONTROL) | (1L << KK_ALT)) -#define SETKILLKEY(b) (KdSpecialKeys |= (1L << (b))) -#define CLEARKILLKEY(b) (KdSpecialKeys &= ~(1L << (b))) -#define KEYMAP (pKdKeyboard->key->curKeySyms) -#define KEYCOL1(k) (KEYMAP.map[((k)-kdMinKeyCode)*KEYMAP.mapWidth]) - -CARD32 KdSpecialKeys = 0; - -extern char dispatchException; - -/* - * kdCheckTermination - * - * This function checks for the key sequence that terminates the server. When - * detected, it sets the dispatchException flag and returns. The key sequence - * is: - * Control-Alt - * It's assumed that the server will be waken up by the caller when this - * function returns. - */ - -extern int nClients; - -static void -KdCheckSpecialKeys(xEvent *xE) -{ - KeySym sym = KEYCOL1(xE->u.u.detail); - - if (!pKdKeyboard) return; - - /* - * Ignore key releases - */ - - if (xE->u.u.type == KeyRelease) return; - -#ifdef XIPAQ - /* - * Check for buttons 1, 2 and 3 on the iPAQ - */ - if (sym == XK_Pointer_Button1 && kdMouseInfo) { - KdEnqueueMouseEvent(kdMouseInfo, KD_MOUSE_DELTA | KD_BUTTON_1, 0, 0); - return; - } - if (sym == XK_Pointer_Button2 && kdMouseInfo) { - KdEnqueueMouseEvent(kdMouseInfo, KD_MOUSE_DELTA | KD_BUTTON_2, 0, 0); - return; - } - if (sym == XK_Pointer_Button3 && kdMouseInfo) { - KdEnqueueMouseEvent(kdMouseInfo, KD_MOUSE_DELTA | KD_BUTTON_3, 0, 0); - return; - } -#endif - - /* - * Check for control/alt pressed - */ - if ((pKdKeyboard->key->state & (ControlMask|Mod1Mask)) != - (ControlMask|Mod1Mask)) - return; - - - /* - * Let OS function see keysym first - */ - - if (kdOsFuncs->SpecialKey) - if ((*kdOsFuncs->SpecialKey) (sym)) - return; - - /* - * Now check for backspace or delete; these signal the - * X server to terminate - */ - switch (sym) { - case XK_BackSpace: - case XK_Delete: - case XK_KP_Delete: - /* - * Set the dispatch exception flag so the server will terminate the - * next time through the dispatch loop. - */ - if (kdDontZap == FALSE) - dispatchException |= DE_TERMINATE; - break; - } -} - -/* - * kdEnqueueKeyboardEvent - * - * This function converts hardware keyboard event information into an X event - * and enqueues it using MI. It wakes up the server before returning so that - * the event will be processed normally. - * - */ - -static void -KdHandleKeyboardEvent (xEvent *ev) -{ - int key = ev->u.u.detail; - int byte; - CARD8 bit; - KdMouseInfo *mi; - - byte = key >> 3; - bit = 1 << (key & 7); - switch (ev->u.u.type) { - case KeyPress: - kdKeyState[byte] |= bit; - break; - case KeyRelease: - kdKeyState[byte] &= ~bit; - break; - } - for (mi = kdMouseInfo; mi; mi = mi->next) - KdRunMouseMachine (mi, keyboard, 0); - KdQueueEvent (ev); -} - -static void -KdReleaseAllKeys (void) -{ - xEvent xE; - int key; - - KdBlockSigio (); - for (key = 0; key < KD_KEY_COUNT; key++) - if (IsKeyDown(key)) - { - xE.u.keyButtonPointer.time = GetTimeInMillis(); - xE.u.u.type = KeyRelease; - xE.u.u.detail = key; - KdHandleKeyboardEvent (&xE); - } - KdUnblockSigio (); -} - -static void -KdCheckLock (void) -{ - KeyClassPtr keyc = pKdKeyboard->key; - Bool isSet, shouldBeSet; - - if (kdKeyboardFuncs->LockLed) - { - isSet = (kdLeds & (1 << (kdKeyboardFuncs->LockLed-1))) != 0; - shouldBeSet = (keyc->state & LockMask) != 0; - if (isSet != shouldBeSet) - { - KdSetLed (kdKeyboardFuncs->LockLed, shouldBeSet); - } - } -} - -void -KdEnqueueKeyboardEvent(unsigned char scan_code, - unsigned char is_up) -{ - unsigned char key_code; - xEvent xE; - KeyClassPtr keyc; - - if (!pKdKeyboard) - return; - keyc = pKdKeyboard->key; - - xE.u.keyButtonPointer.time = GetTimeInMillis(); - - if (kdMinScanCode <= scan_code && scan_code <= kdMaxScanCode) - { - key_code = scan_code + KD_MIN_KEYCODE - kdMinScanCode; - - /* - * Set up this event -- the type may be modified below - */ - if (is_up) - xE.u.u.type = KeyRelease; - else - xE.u.u.type = KeyPress; - xE.u.u.detail = key_code; - - switch (KEYCOL1(key_code)) - { - case XK_Num_Lock: - case XK_Scroll_Lock: - case XK_Shift_Lock: - case XK_Caps_Lock: - if (xE.u.u.type == KeyRelease) - return; - if (IsKeyDown (key_code)) - xE.u.u.type = KeyRelease; - else - xE.u.u.type = KeyPress; - } - - /* - * Check pressed keys which are already down - */ - if (IsKeyDown (key_code) && xE.u.u.type == KeyPress) - { - KeybdCtrl *ctrl = &pKdKeyboard->kbdfeed->ctrl; - - /* - * Check auto repeat - */ - if (!ctrl->autoRepeat || keyc->modifierMap[key_code] || - !(ctrl->autoRepeats[key_code >> 3] & (1 << (key_code & 7)))) - { - return; - } - /* - * X delivers press/release even for autorepeat - */ - xE.u.u.type = KeyRelease; - KdHandleKeyboardEvent (&xE); - xE.u.u.type = KeyPress; - } - /* - * Check released keys which are already up - */ - else if (!IsKeyDown (key_code) && xE.u.u.type == KeyRelease) - { - return; - } - KdCheckSpecialKeys (&xE); - KdHandleKeyboardEvent (&xE); - } -} - -#define SetButton(mi, b, v, s) \ -{\ - xE.u.u.detail = mi->map[b]; \ - xE.u.u.type = v; \ - KdHandleMouseEvent (mi, &xE); \ -} - -#define Press(mi, b) SetButton(mi, b, ButtonPress, "Down") -#define Release(mi, b) SetButton(mi, b, ButtonRelease, "Up") - -/* - * kdEnqueueMouseEvent - * - * This function converts hardware mouse event information into X event - * information. A mouse movement event is passed off to MI to generate - * a MotionNotify event, if appropriate. Button events are created and - * passed off to MI for enqueueing. - */ - -static void -KdMouseAccelerate (DeviceIntPtr device, int *dx, int *dy) -{ - PtrCtrl *pCtrl = &device->ptrfeed->ctrl; - double speed = sqrt (*dx * *dx + *dy * *dy); - double accel; - double m; - - /* - * Ok, so we want it moving num/den times faster at threshold*2 - * - * accel = m *threshold + b - * 1 = m * 0 + b -> b = 1 - * - * num/den = m * (threshold * 2) + 1 - * - * num / den - 1 = m * threshold * 2 - * (num / den - 1) / threshold * 2 = m - */ - m = (((double) pCtrl->num / (double) pCtrl->den - 1.0) / - ((double) pCtrl->threshold * 2.0)); - accel = m * speed + 1; - *dx = accel * *dx; - *dy = accel * *dy; -} - -void -KdEnqueueMouseEvent(KdMouseInfo *mi, unsigned long flags, int rx, int ry) -{ - CARD32 ms; - xEvent xE; - unsigned char buttons; - int x, y; - int (*matrix)[3] = kdMouseMatrix.matrix; - unsigned long button; - int n; - - if (!pKdPointer) - return; - - ms = GetTimeInMillis(); - - if (flags & KD_MOUSE_DELTA) - { - if (mi->transformCoordinates) - { - x = matrix[0][0] * rx + matrix[0][1] * ry; - y = matrix[1][0] * rx + matrix[1][1] * ry; - } - else - { - x = rx; - y = ry; - } - KdMouseAccelerate (pKdPointer, &x, &y); - xE.u.keyButtonPointer.pad1 = 1; - } - else - { - if (mi->transformCoordinates) - { - x = matrix[0][0] * rx + matrix[0][1] * ry + matrix[0][2]; - y = matrix[1][0] * rx + matrix[1][1] * ry + matrix[1][2]; - } - else - { - x = rx; - y = ry; - } - xE.u.keyButtonPointer.pad1 = 0; - } - xE.u.keyButtonPointer.time = ms; - xE.u.keyButtonPointer.rootX = x; - xE.u.keyButtonPointer.rootY = y; - - xE.u.u.type = MotionNotify; - xE.u.u.detail = 0; - KdHandleMouseEvent (mi, &xE); - - buttons = flags; - - for (button = KD_BUTTON_1, n = 0; button <= KD_BUTTON_5; button <<= 1, n++) - { - if ((mi->buttonState & button) ^ (buttons & button)) - { - if (buttons & button) - { - Press(mi, n); - } - else - { - Release(mi, n); - } - } - } - mi->buttonState = buttons; -} - -static void -KdEnqueueMotionEvent (KdMouseInfo *mi, int x, int y) -{ - xEvent xE; - CARD32 ms; - - ms = GetTimeInMillis(); - - xE.u.u.type = MotionNotify; - xE.u.keyButtonPointer.time = ms; - xE.u.keyButtonPointer.rootX = x; - xE.u.keyButtonPointer.rootY = y; - - KdHandleMouseEvent (mi, &xE); -} - -static void -KdBlockHandler (int screen, - pointer blockData, - pointer timeout, - pointer readmask) -{ - KdMouseInfo *mi; - int myTimeout=0; - - for (mi = kdMouseInfo; mi; mi = mi->next) - { - if (mi->timeoutPending) - { - int ms; - - ms = mi->emulationTimeout - GetTimeInMillis (); - if (ms < 1) - ms = 1; - if(mspollEvents) - { - (*kdOsFuncs->pollEvents)(); - myTimeout=20; - } - if(myTimeout>0) - AdjustWaitForDelay (timeout, myTimeout); -} - -void -KdWakeupHandler (pointer data, - int result, - pointer readmask) -{ - fd_set *pReadmask = (fd_set *) readmask; - int i; - KdMouseInfo *mi; - - if (kdInputEnabled && result > 0) - { - for (i = 0; i < kdNumInputFds; i++) - if (FD_ISSET (kdInputFds[i].fd, pReadmask)) - { - KdBlockSigio (); - (*kdInputFds[i].read) (kdInputFds[i].fd, kdInputFds[i].closure); - KdUnblockSigio (); - } - } - for (mi = kdMouseInfo; mi; mi = mi->next) - { - if (mi->timeoutPending) - { - if ((long) (GetTimeInMillis () - mi->emulationTimeout) >= 0) - { - mi->timeoutPending = FALSE; - KdBlockSigio (); - KdReceiveTimeout (mi); - KdUnblockSigio (); - } - } - } -// if (kdSwitchPending) -// kdProcessSwitch (); -} - -#define KdScreenOrigin(pScreen) (&(KdGetScreenPriv (pScreen)->origin)) - -static Bool -KdCursorOffScreen(ScreenPtr *ppScreen, int *x, int *y) -{ - ScreenPtr pScreen = *ppScreen; - ScreenPtr pNewScreen; - int n; - int dx, dy; - int best_x, best_y; - int n_best_x, n_best_y; - CARD32 ms; - - if (kdDisableZaphod || screenInfo.numScreens <= 1) - return FALSE; - - if (0 <= *x && *x < pScreen->width && 0 <= *y && *y < pScreen->height) - return FALSE; - - ms = GetTimeInMillis (); - if (kdOffScreen && (int) (ms - kdOffScreenTime) < 1000) - return FALSE; - kdOffScreen = TRUE; - kdOffScreenTime = ms; - n_best_x = -1; - best_x = 32767; - n_best_y = -1; - best_y = 32767; - for (n = 0; n < screenInfo.numScreens; n++) - { - pNewScreen = screenInfo.screens[n]; - if (pNewScreen == pScreen) - continue; - dx = KdScreenOrigin(pNewScreen)->x - KdScreenOrigin(pScreen)->x; - dy = KdScreenOrigin(pNewScreen)->y - KdScreenOrigin(pScreen)->y; - if (*x < 0) - { - if (dx <= 0 && -dx < best_x) - { - best_x = -dx; - n_best_x = n; - } - } - else if (*x >= pScreen->width) - { - if (dx >= 0 && dx < best_x) - { - best_x = dx; - n_best_x = n; - } - } - if (*y < 0) - { - if (dy <= 0 && -dy < best_y) - { - best_y = -dy; - n_best_y = n; - } - } - else if (*y >= pScreen->height) - { - if (dy >= 0 && dy < best_y) - { - best_y = dy; - n_best_y = n; - } - } - } - if (best_y < best_x) - n_best_x = n_best_y; - if (n_best_x == -1) - return FALSE; - pNewScreen = screenInfo.screens[n_best_x]; - - if (*x < 0) - *x += pNewScreen->width; - if (*y < 0) - *y += pNewScreen->height; - - if (*x >= pScreen->width) - *x -= pScreen->width; - if (*y >= pScreen->height) - *y -= pScreen->height; - - *ppScreen = pNewScreen; - return TRUE; -} - -static void -KdCrossScreen(ScreenPtr pScreen, Bool entering) -{ -#ifndef XIPAQ -// if (entering) -// KdEnableScreen (pScreen); -// else -// KdDisableScreen (pScreen); -#endif -} - -int KdCurScreen; /* current event screen */ - -static void -KdWarpCursor (ScreenPtr pScreen, int x, int y) -{ - KdBlockSigio (); - KdCurScreen = pScreen->myNum; - miPointerWarpCursor (pScreen, x, y); - KdUnblockSigio (); -} - -miPointerScreenFuncRec kdPointerScreenFuncs = -{ - KdCursorOffScreen, - KdCrossScreen, - KdWarpCursor -}; - -void -KdProcessInputEvents (void) -{ - mieqProcessInputEvents(); - miPointerUpdate(); -// if (kdSwitchPending) -// KdProcessSwitch (); - KdCheckLock (); -} diff --git a/xorg-server/hw/xgl/egl/kkeymap.h b/xorg-server/hw/xgl/egl/kkeymap.h deleted file mode 100644 index 920e807e5..000000000 --- a/xorg-server/hw/xgl/egl/kkeymap.h +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright 1999 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 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. - */ -/* - * All global variables and functions pertaining to keyboard key mapping - * live in this header file. - */ - -#ifndef _KKEYMAP_H -#define _KKEYMAP_H - -/* Offset of MIN_SCANCODE to 8 (X minimum scancode value) */ -#define KD_KEY_OFFSET (8 - kdMinScanCode) - -#define KD_MIN_KEYCODE 8 -#define KD_MAX_KEYCODE 254 -#define KD_MAX_WIDTH 4 -#define KD_MAX_LENGTH (KD_MAX_KEYCODE - KD_MIN_KEYCODE + 1) - -extern int kdMinScanCode; -extern int kdMaxScanCode; -extern int kdMinKeyCode; -extern int kdMaxKeyCode; -extern int kdKeymapWidth; - -extern KeySym kdKeymap[KD_MAX_LENGTH * KD_MAX_WIDTH]; - -extern CARD8 kdModMap[MAP_LENGTH]; - -extern KeySymsRec kdKeySyms; - -typedef struct { - KeySym modsym; - int modbit; -} KdKeySymModsRec; - -#endif /* _KKEYMAP_H */ diff --git a/xorg-server/hw/xgl/egl/module/Makefile.am b/xorg-server/hw/xgl/egl/module/Makefile.am deleted file mode 100644 index c84f85c90..000000000 --- a/xorg-server/hw/xgl/egl/module/Makefile.am +++ /dev/null @@ -1,15 +0,0 @@ -AM_CFLAGS = \ - $(DIX_CFLAGS) \ - -I$(srcdir)/.. \ - -I$(srcdir)/../.. \ - $(XEGLMODULES_CFLAGS) - -libxegl_la_LDFLAGS = -avoid-version -libxegl_la_SOURCES = xeglmodule.c -libxegl_la_LIBADD = \ - $(top_builddir)/hw/xgl/glx/libxegl.la \ - $(XEGLMODULES_LIBS) - -moduledir = @xglmoduledir@ - -module_LTLIBRARIES = libxegl.la diff --git a/xorg-server/hw/xgl/egl/module/Makefile.in b/xorg-server/hw/xgl/egl/module/Makefile.in deleted file mode 100644 index 648f75d74..000000000 --- a/xorg-server/hw/xgl/egl/module/Makefile.in +++ /dev/null @@ -1,685 +0,0 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008 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 = hw/xgl/egl/module -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__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)$(moduledir)" -moduleLTLIBRARIES_INSTALL = $(INSTALL) -LTLIBRARIES = $(module_LTLIBRARIES) -libxegl_la_DEPENDENCIES = $(top_builddir)/hw/xgl/glx/libxegl.la -am_libxegl_la_OBJECTS = xeglmodule.lo -libxegl_la_OBJECTS = $(am_libxegl_la_OBJECTS) -libxegl_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(libxegl_la_LDFLAGS) $(LDFLAGS) -o $@ -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include -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 = $(libxegl_la_SOURCES) -DIST_SOURCES = $(libxegl_la_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@ -DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ -DRI2PROTO_LIBS = @DRI2PROTO_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@ -DSYMUTIL = @DSYMUTIL@ -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@ -GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ -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@ -LAUNCHD = @LAUNCHD@ -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@ -NMEDIT = @NMEDIT@ -OBJC = @OBJC@ -OBJCCLD = @OBJCCLD@ -OBJCDEPMODE = @OBJCDEPMODE@ -OBJCFLAGS = @OBJCFLAGS@ -OBJCLINK = @OBJCLINK@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ -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@ -PCIACCESS_CFLAGS = @PCIACCESS_CFLAGS@ -PCIACCESS_LIBS = @PCIACCESS_LIBS@ -PCI_TXT_IDS_PATH = @PCI_TXT_IDS_PATH@ -PERL = @PERL@ -PKG_CONFIG = @PKG_CONFIG@ -PROJECTROOT = @PROJECTROOT@ -PS2PDF = @PS2PDF@ -RANLIB = @RANLIB@ -RAWCPP = @RAWCPP@ -RAWCPPFLAGS = @RAWCPPFLAGS@ -SED = @SED@ -SERVER_MISC_CONFIG_PATH = @SERVER_MISC_CONFIG_PATH@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ -SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ -STRIP = @STRIP@ -TSLIB_CFLAGS = @TSLIB_CFLAGS@ -TSLIB_LIBS = @TSLIB_LIBS@ -UTILS_SYS_LIBS = @UTILS_SYS_LIBS@ -VENDOR_MAN_VERSION = @VENDOR_MAN_VERSION@ -VENDOR_NAME = @VENDOR_NAME@ -VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ -VENDOR_RELEASE = @VENDOR_RELEASE@ -VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ -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_CFLAGS = @XDMX_CFLAGS@ -XDMX_LIBS = @XDMX_LIBS@ -XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ -XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ -XEPHYR_INCS = @XEPHYR_INCS@ -XEPHYR_LIBS = @XEPHYR_LIBS@ -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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ -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@ -XNEST_SYS_LIBS = @XNEST_SYS_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_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@ -XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_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@ -XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ -XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ -XTSTEXAMPLES_DEP_LIBS = @XTSTEXAMPLES_DEP_LIBS@ -XVFB_LIBS = @XVFB_LIBS@ -XVFB_SYS_LIBS = @XVFB_SYS_LIBS@ -XWINMODULES_CFLAGS = @XWINMODULES_CFLAGS@ -XWINMODULES_LIBS = @XWINMODULES_LIBS@ -XWIN_LIBS = @XWIN_LIBS@ -XWIN_SERVER_NAME = @XWIN_SERVER_NAME@ -XWIN_SYS_LIBS = @XWIN_SYS_LIBS@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -__XCONFIGFILE__ = @__XCONFIGFILE__@ -abi_ansic = @abi_ansic@ -abi_extension = @abi_extension@ -abi_font = @abi_font@ -abi_videodrv = @abi_videodrv@ -abi_xinput = @abi_xinput@ -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@ -launchagentsdir = @launchagentsdir@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -logdir = @logdir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -moduledir = @xglmoduledir@ -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_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ -AM_CFLAGS = \ - $(DIX_CFLAGS) \ - -I$(srcdir)/.. \ - -I$(srcdir)/../.. \ - $(XEGLMODULES_CFLAGS) - -libxegl_la_LDFLAGS = -avoid-version -libxegl_la_SOURCES = xeglmodule.c -libxegl_la_LIBADD = \ - $(top_builddir)/hw/xgl/glx/libxegl.la \ - $(XEGLMODULES_LIBS) - -module_LTLIBRARIES = libxegl.la -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/xgl/egl/module/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign hw/xgl/egl/module/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-moduleLTLIBRARIES: $(module_LTLIBRARIES) - @$(NORMAL_INSTALL) - test -z "$(moduledir)" || $(MKDIR_P) "$(DESTDIR)$(moduledir)" - @list='$(module_LTLIBRARIES)'; for p in $$list; do \ - if test -f $$p; then \ - f=$(am__strip_dir) \ - echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(moduleLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(moduledir)/$$f'"; \ - $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(moduleLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(moduledir)/$$f"; \ - else :; fi; \ - done - -uninstall-moduleLTLIBRARIES: - @$(NORMAL_UNINSTALL) - @list='$(module_LTLIBRARIES)'; for p in $$list; do \ - p=$(am__strip_dir) \ - echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(moduledir)/$$p'"; \ - $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(moduledir)/$$p"; \ - done - -clean-moduleLTLIBRARIES: - -test -z "$(module_LTLIBRARIES)" || rm -f $(module_LTLIBRARIES) - @list='$(module_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 -libxegl.la: $(libxegl_la_OBJECTS) $(libxegl_la_DEPENDENCIES) - $(libxegl_la_LINK) -rpath $(moduledir) $(libxegl_la_OBJECTS) $(libxegl_la_LIBADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xeglmodule.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; nonemtpy = 1; } \ - END { if (nonempty) { 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; nonempty = 1; } \ - END { if (nonempty) { 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=; \ - 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; nonempty = 1; } \ - END { if (nonempty) { 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: - for dir in "$(DESTDIR)$(moduledir)"; 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-moduleLTLIBRARIES \ - 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-moduleLTLIBRARIES - -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-moduleLTLIBRARIES - -.MAKE: install-am install-strip - -.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ - clean-libtool clean-moduleLTLIBRARIES 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-moduleLTLIBRARIES 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-moduleLTLIBRARIES - -# 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/xorg-server/hw/xgl/egl/module/xeglmodule.c b/xorg-server/hw/xgl/egl/module/xeglmodule.c deleted file mode 100644 index abd0d0d75..000000000 --- a/xorg-server/hw/xgl/egl/module/xeglmodule.c +++ /dev/null @@ -1,104 +0,0 @@ -/* - * 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. - * - * Author: David Reveman - */ - -#include "xglmodule.h" -#include "xegl.h" - -#include - -char * -moduleVersion (void) -{ - return VERSION; -} - -Bool -moduleInit (const char *module) -{ - glitz_egl_init (module); - - return TRUE; -} - -void -InitOutput (ScreenInfo *pScreenInfo, - int argc, - char **argv) -{ - xeglInitOutput (pScreenInfo, argc, argv); -} - -Bool -LegalModifier (unsigned int key, - DeviceIntPtr pDev) -{ - return xeglLegalModifier (key, pDev); -} - -void -ProcessInputEvents (void) -{ - xeglProcessInputEvents (); -} - -void -InitInput (int argc, - char **argv) -{ - xeglInitInput (argc, argv); -} - -void -ddxUseMsg (void) -{ - ErrorF ("\nXegl usage:\n"); - xeglUseMsg (); -} - -int -ddxProcessArgument (int argc, - char **argv, - int i) -{ - return xeglProcessArgument (argc, argv, i); -} - -void -AbortDDX (void) -{ - xeglAbort (); -} - -void -ddxGiveUp (void) -{ - xeglGiveUp (); -} - -void -OsVendorInit (void) -{ - xeglOsVendorInit (); -} diff --git a/xorg-server/hw/xgl/egl/xegl.c b/xorg-server/hw/xgl/egl/xegl.c deleted file mode 100644 index 1cf615bb6..000000000 --- a/xorg-server/hw/xgl/egl/xegl.c +++ /dev/null @@ -1,303 +0,0 @@ -/* - * 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. - * - * Author: David Reveman - */ - -#include -#include -#include -#include -#include -#include -#include - -#include - -#include "inputstr.h" -#include "cursorstr.h" -#include "mipointer.h" - -#include "xegl.h" - -#define XEGL_DEFAULT_SCREEN_WIDTH 800 -#define XEGL_DEFAULT_SCREEN_HEIGHT 600 - -DevPrivateKey xeglScreenPrivateKey = &xeglScreenPrivateKey; - -#define XEGL_GET_SCREEN_PRIV(pScreen) ((xeglScreenPtr) \ - dixLookupPrivate(&(pScreen)->devPrivates, xeglScreenPrivateKey)) - -#define XEGL_SET_SCREEN_PRIV(pScreen, v) \ - dixSetPrivate(&(pScreen)->devPrivates, xeglScreenPrivateKey, v) - -#define XEGL_SCREEN_PRIV(pScreen) \ - xeglScreenPtr pScreenPriv = XEGL_GET_SCREEN_PRIV (pScreen) - -static EGLDisplay eDisplay; -static EGLScreenMESA eScreen; -static ScreenPtr currentScreen = 0; -static Bool softCursor = TRUE; - -extern miPointerScreenFuncRec kdPointerScreenFuncs; - -static Bool -xeglAllocatePrivates (ScreenPtr pScreen) -{ - xeglScreenPtr pScreenPriv; - - pScreenPriv = xalloc (sizeof (xeglScreenRec)); - if (!pScreenPriv) - return FALSE; - - XEGL_SET_SCREEN_PRIV (pScreen, pScreenPriv); - - return TRUE; -} - -static Bool -xeglCloseScreen (int index, - ScreenPtr pScreen) -{ - glitz_drawable_t *drawable; - - XEGL_SCREEN_PRIV (pScreen); - - drawable = XGL_GET_SCREEN_PRIV (pScreen)->drawable; - if (drawable) - glitz_drawable_destroy (drawable); - - xglClearVisualTypes (); - - XGL_SCREEN_UNWRAP (CloseScreen); - xfree (pScreenPriv); - - return (*pScreen->CloseScreen) (index, pScreen); -} - -static Bool -xeglScreenInit (int index, - ScreenPtr pScreen, - int argc, - char **argv) -{ - EGLSurface eSurface; - EGLModeMESA mode; - int count; - xeglScreenPtr pScreenPriv; - glitz_drawable_format_t *format; - glitz_drawable_t *drawable; - EGLint screenAttribs[] = { - EGL_WIDTH, 1024, - EGL_HEIGHT, 768, - EGL_NONE - }; - - if (xglScreenInfo.width == 0 || xglScreenInfo.height == 0) - { - xglScreenInfo.width = XEGL_DEFAULT_SCREEN_WIDTH; - xglScreenInfo.height = XEGL_DEFAULT_SCREEN_HEIGHT; - - } - - screenAttribs[1] = xglScreenInfo.width; - screenAttribs[3] = xglScreenInfo.height; - - format = xglVisuals[0].format; - - if (!xeglAllocatePrivates (pScreen)) - return FALSE; - - currentScreen = pScreen; - - pScreenPriv = XEGL_GET_SCREEN_PRIV (pScreen); - - if (xglScreenInfo.width == 0 || xglScreenInfo.height == 0) - { - xglScreenInfo.width = XEGL_DEFAULT_SCREEN_WIDTH; - xglScreenInfo.height = XEGL_DEFAULT_SCREEN_HEIGHT; - } - - eglGetModesMESA (eDisplay, eScreen, &mode, 1, &count); - - eSurface = eglCreateScreenSurfaceMESA (eDisplay, format->id, screenAttribs); - if (eSurface == EGL_NO_SURFACE) - { - ErrorF ("failed to create screen surface\n"); - return FALSE; - } - - eglShowScreenSurfaceMESA (eDisplay, eScreen, eSurface, mode); - - drawable = glitz_egl_create_surface (eDisplay, eScreen, format, eSurface, - xglScreenInfo.width, - xglScreenInfo.height); - if (!drawable) - { - ErrorF ("[%d] couldn't create glitz drawable for window\n", index); - return FALSE; - } - - xglScreenInfo.drawable = drawable; - - if (!xglScreenInit (pScreen)) - return FALSE; - -#ifdef GLXEXT - if (!xglInitVisualConfigs (pScreen)) - return FALSE; -#endif - - XGL_SCREEN_WRAP (CloseScreen, xeglCloseScreen); - - miDCInitialize (pScreen, &kdPointerScreenFuncs); - miCreateDefColormap(pScreen); - - if (!xglFinishScreenInit (pScreen)) - return FALSE; - - return TRUE; -} - -void -xeglInitOutput (ScreenInfo *pScreenInfo, - int argc, - char **argv) -{ - glitz_drawable_format_t *format, templ; - int i, maj, min, count; - unsigned long mask; - - xglSetPixmapFormats (pScreenInfo); - - if (!eDisplay) - { - eDisplay = eglGetDisplay (":0"); - - if (!eglInitialize (eDisplay, &maj, &min)) - FatalError ("can't open display"); - - eglGetScreensMESA (eDisplay, &eScreen, 1, &count); - } - - templ.samples = 1; - templ.doublebuffer = 1; - templ.color.alpha_size = 8; - - mask = GLITZ_FORMAT_SAMPLES_MASK; - - format = glitz_egl_find_window_config (eDisplay, eScreen, - mask, &templ, 0); - - if (!format) - FatalError ("no visual format found"); - - xglSetVisualTypesAndMasks (pScreenInfo, format, (1 << TrueColor)); - - xglInitVisuals (pScreenInfo); - - AddScreen (xeglScreenInit, argc, argv); -} - -static void -xeglBlockHandler (pointer blockData, - OSTimePtr pTimeout, - pointer pReadMask) -{ - XGL_SCREEN_PRIV (currentScreen); - - if (!xglSyncSurface (&pScreenPriv->pScreenPixmap->drawable)) - FatalError (XGL_SW_FAILURE_STRING); - - glitz_surface_flush (pScreenPriv->surface); - glitz_drawable_finish (pScreenPriv->drawable); -} - -void -xeglInitInput (int argc, - char **argv) -{ - eglInitInput (&LinuxEvdevMouseFuncs, &LinuxEvdevKeyboardFuncs); - RegisterBlockAndWakeupHandlers (xeglBlockHandler, KdWakeupHandler, NULL); -} - -Bool -xeglLegalModifier (unsigned int key, - DeviceIntPtr pDev) -{ - return KdLegalModifier (key, pDev); -} - -void -xeglProcessInputEvents (void) -{ - KdProcessInputEvents (); -} - -void -xeglUseMsg (void) -{ - ErrorF ("-screen WIDTH[/WIDTHMM]xHEIGHT[/HEIGHTMM] " - "specify screen characteristics\n"); - ErrorF ("-softcursor force software cursor\n"); -} - -int -xeglProcessArgument (int argc, - char **argv, - int i) -{ - if (!strcmp (argv[i], "-screen")) - { - if ((i + 1) < argc) - { - xglParseScreen (argv[i + 1]); - } - else - return 1; - - return 2; - } - else if (!strcmp (argv[i], "-softcursor")) - { - softCursor = TRUE; - return 1; - } - - return 0; -} - -void -xeglAbort (void) -{ -} - -void -xeglGiveUp (void) -{ - AbortDDX (); -} - -void -xeglOsVendorInit (void) -{ -} diff --git a/xorg-server/hw/xgl/egl/xegl.h b/xorg-server/hw/xgl/egl/xegl.h deleted file mode 100644 index 0a07397bf..000000000 --- a/xorg-server/hw/xgl/egl/xegl.h +++ /dev/null @@ -1,214 +0,0 @@ -/* - * 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. - * - * Author: David Reveman - */ - -#ifndef _XEGL_H_ -#define _XEGL_H_ - -#include "xgl.h" - -#include "randrstr.h" - -#define KD_BUTTON_1 0x01 -#define KD_BUTTON_2 0x02 -#define KD_BUTTON_3 0x04 -#define KD_BUTTON_4 0x08 -#define KD_BUTTON_5 0x10 -#define KD_MOUSE_DELTA 0x80000000 - -typedef struct _KdMouseFuncs { - Bool (*Init) (void); - void (*Fini) (void); -} KdMouseFuncs; - -typedef struct _KdKeyboardFuncs { - void (*Load) (void); - int (*Init) (void); - void (*Leds) (int); - void (*Bell) (int, int, int); - void (*Fini) (void); - int LockLed; -} KdKeyboardFuncs; - -typedef struct _KdOsFuncs { - int (*Init) (void); - void (*Enable) (void); - Bool (*SpecialKey) (KeySym); - void (*Disable) (void); - void (*Fini) (void); - void (*pollEvents) (void); -} KdOsFuncs; - -typedef struct _KdMouseMatrix { - int matrix[2][3]; -} KdMouseMatrix; - -typedef enum _KdMouseState { - start, - button_1_pend, - button_1_down, - button_2_down, - button_3_pend, - button_3_down, - synth_2_down_13, - synth_2_down_3, - synth_2_down_1, - num_input_states -} KdMouseState; - -#define KD_MAX_BUTTON 7 - -typedef struct _KdMouseInfo { - struct _KdMouseInfo *next; - void *driver; - void *closure; - char *name; - char *prot; - char map[KD_MAX_BUTTON]; - int nbutton; - Bool emulateMiddleButton; - unsigned long emulationTimeout; - Bool timeoutPending; - KdMouseState mouseState; - Bool eventHeld; - xEvent heldEvent; - unsigned char buttonState; - int emulationDx, emulationDy; - int inputType; - Bool transformCoordinates; -} KdMouseInfo; - -typedef struct _xeglScreen { - CloseScreenProcPtr CloseScreen; - ScreenPtr pScreen; - DDXPointRec origin; -} xeglScreenRec, *xeglScreenPtr; - -extern KdMouseInfo *kdMouseInfo; -extern KdOsFuncs *kdOsFuncs; -extern Bool kdDontZap; -extern Bool kdDisableZaphod; -extern DevPrivateKey xeglScreenPrivateKey; -extern KdMouseFuncs LinuxEvdevMouseFuncs; -extern KdKeyboardFuncs LinuxEvdevKeyboardFuncs; - -#define RR_Rotate_All \ - (RR_Rotate_0 | RR_Rotate_90 | RR_Rotate_180 | RR_Rotate_270) -#define RR_Reflect_All (RR_Reflect_X | RR_Reflect_Y) - -#define KdGetScreenPriv(pScreen) ((xeglScreenPtr) \ - dixLookupPrivate(&(pScreen)->devPrivates, xeglScreenPrivateKey)) -#define KdScreenPriv(pScreen) \ - xeglScreenPtr pScreenPriv = KdGetScreenPriv (pScreen) - -void -eglInitInput (KdMouseFuncs *pMouseFuncs, - KdKeyboardFuncs *pKeyboardFuncs); - -void -KdParseMouse (char *arg); - -KdMouseInfo * -KdMouseInfoAdd (void); - -void -KdMouseInfoDispose (KdMouseInfo *mi); - -int -KdAllocInputType (void); - -char * -KdSaveString (char *str); - -Bool -KdRegisterFd (int type, - int fd, - void (*read) (int fd, void *closure), - void *closure); - -void -KdUnregisterFds (int type, - Bool do_close); - -void -KdEnqueueKeyboardEvent (unsigned char scan_code, - unsigned char is_up); - -void -KdEnqueueMouseEvent (KdMouseInfo *mi, - unsigned long flags, - int rx, - int ry); - -void -KdRegisterFdEnableDisable (int fd, - int (*enable) (int fd, void *closure), - void (*disable) (int fd, void *closure)); - -void -KdWakeupHandler (pointer data, - int result, - pointer readmask); - -Bool -KdLegalModifier (unsigned int key, - DeviceIntPtr pDev); - -void -KdProcessInputEvents (void); - -void -xeglInitOutput (ScreenInfo *pScreenInfo, - int argc, - char **argv); - -Bool -xeglLegalModifier (unsigned int key, - DevicePtr pDev); - -void -xeglProcessInputEvents (void); - -void -xeglInitInput (int argc, - char **argv); - -void -xeglUseMsg (void); - -int -xeglProcessArgument (int argc, - char **argv, - int i); - -void -xeglAbort (void); - -void -xeglGiveUp (void); - -void -xeglOsVendorInit (void); - -#endif /* _XEGL_H_ */ diff --git a/xorg-server/hw/xgl/egl/xeglinit.c b/xorg-server/hw/xgl/egl/xeglinit.c deleted file mode 100644 index c28d946ac..000000000 --- a/xorg-server/hw/xgl/egl/xeglinit.c +++ /dev/null @@ -1,131 +0,0 @@ -/* - * 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. - * - * Author: David Reveman - */ - -#include "xegl.h" - -static xglScreenInfoRec xglScreenInfo = { - NULL, 0, 0, 0, 0, - DEFAULT_GEOMETRY_DATA_TYPE, - DEFAULT_GEOMETRY_USAGE, - FALSE, - XGL_DEFAULT_PBO_MASK, - FALSE, - FALSE -}; - -#ifdef GLXEXT -static Bool loadGlx = TRUE; -#endif - -void -InitOutput (ScreenInfo *pScreenInfo, - int argc, - char **argv) -{ - -#ifdef GLXEXT - if (loadGlx) - { - if (!xglLoadGLXModules ()) - FatalError ("No GLX modules loaded"); - } -#endif - - xeglInitOutput (pScreenInfo, argc, argv); -} - -Bool -LegalModifier (unsigned int key, - DeviceIntPtr pDev) -{ - return xeglLegalModifier (key, pDev); -} - -void -ProcessInputEvents (void) -{ - xeglProcessInputEvents (); -} - -void -InitInput (int argc, - char **argv) -{ - xeglInitInput (argc, argv); -} - -void -ddxUseMsg (void) -{ - ErrorF ("\nXgl usage:\n"); - -#ifdef GLXEXT - ErrorF ("-noglx don't load glx extension\n"); -#endif - - xglUseMsg (); - ErrorF ("\nXegl usage:\n"); - xeglUseMsg (); -} - -int -ddxProcessArgument (int argc, - char **argv, - int i) -{ - int skip; - -#ifdef GLXEXT - if (!strcmp (argv[i], "-noglx")) - { - loadGlx = FALSE; - return 1; - } -#endif - - skip = xglProcessArgument (argc, argv, i); - if (skip) - return skip; - - return xeglProcessArgument (argc, argv, i); -} - -void -AbortDDX (void) -{ - xeglAbort (); -} - -void -ddxGiveUp (void) -{ - xeglGiveUp (); -} - -void -OsVendorInit (void) -{ - xeglOsVendorInit (); -} diff --git a/xorg-server/hw/xgl/egl/xeglinput.c b/xorg-server/hw/xgl/egl/xeglinput.c deleted file mode 100644 index 8c50b7846..000000000 --- a/xorg-server/hw/xgl/egl/xeglinput.c +++ /dev/null @@ -1,168 +0,0 @@ -#include "xgl.h" -#include "xegl.h" - -KdOsFuncs *kdOsFuncs; -Bool kdEmulateMiddleButton; -Bool kdRawPointerCoordinates; -Bool kdDontZap; -Bool kdDisableZaphod; -int kdScreenPrivateIndex; - -static char * -KdParseFindNext (char *cur, char *delim, char *save, char *last) -{ - while (*cur && !strchr (delim, *cur)) - { - *save++ = *cur++; - } - *save = 0; - *last = *cur; - if (*cur) - cur++; - return cur; -} - -/* - * Mouse argument syntax: - * - * device,protocol,options... - * - * Options are any of: - * 1-5 n button mouse - * 2button emulate middle button - * {NMO} Reorder buttons - */ -char * -KdSaveString (char *str) -{ - char *n = (char *) xalloc (strlen (str) + 1); - - if (!n) - return 0; - strcpy (n, str); - return n; -} - -/* - * Parse mouse information. Syntax: - * - * ,,{,

Name

Xprt — Print server for X Version 11

Synopsis

Xprt [-ac] [-audit level] [-pn] [-fp fontpath] [-XpFile file] [-XpSpoolerType spoolername] [:display]

DESCRIPTION

Xprt is the Xprint print server - for version 11 of the X Window system for non display devices - such as printers and fax machines.

Xprint is an advanced printing system which enables X11 - applications to use devices like printers, FAX or create - documents in formats like PostScript, PCL or PDF. It may be used by - clients such as mozilla. -

Xprint is a very flexible, extensible, scalable, client/server - print system based on ISO 10175 (and some other specs) and the X11 - rendering protocol. - Using Xprint an application can search, query and use devices like - printers, FAX machines or create documents in formats like PDF. - In particular, an application can seek a printer, query supported - attributes (like paper size, trays, fonts etc.), configure the printer - device to match it's needs and print on it like on any other X device - reusing parts of the code which is used for the video card Xserver. -

USAGE

- Although Xprt may be invoked from the command line, it is - preferable to run it as a daemon via the init script - /etc/init.d/xprint (where this script exists). -

Client programs such as mozilla will require environment - variable ${XPSERVERLIST} to be set, identifying the - "display" on which Xprt is running. This variable may be set - for all users via /etc/profile (or similar), using - /etc/init.d/xprint get_xpserverlist: -

export XPSERVERLIST=`/etc/init.d/xprint get_xpserverlist`

OPTIONS

Many of Xprt's command line options are shared in common - with the usual X servers (see Xserver(1x)). - Commonly used options include:

:display

The X server runs on the given display. If multiple X - servers are to run simultaneously on a host, each must - have a unique display number. Note that the standard X - server (for video displays) typically runs on display - :0. If /etc/init.d/xprint is used - to invoke Xprt, it may be configured to automatically assign an available - display number.

-ac

disables host-based access control mechanisms. Enables access - by any host, and permits any host to modify the access control - list. Use with extreme caution. This option exists primarily - for running test suites remotely.

-audit level

sets the audit trail level. The default level is 1, meaning - only connection rejections are reported. Level 2 additionally - reports all successful connections and disconnects. Level 4 - enables messages from the SECURITY extension, if present, - including generation and revocation of authorizations and - violations of the security policy. Level 0 turns off the audit - trail. Audit lines are sent as standard error output.

-fp fontpath

sets the search path for fonts. This path is a comma - separated list of directories which Xprt searches for - font databases.

-pn

permits the server to continue running if it fails to - establish all of its well-known sockets (connection - points for clients), but establishes at least - one.

-XpFile file

Sets an alternate Xprinters file (see section FILES).

-XpSpoolerType spoolername

- Defines the spooler system to be used for print job spooling. - Supported values in xprint.mozdev.org release 009 are: -

aix
aix4
bsd
osf
solaris
sysv
uxp
cups
lprng
other
none

- (multiple values can be specified, separated by ':', the first active spooler will be chosen). - The default value is platform-specific and can be obtained via -

Xprt -h

. -

ENVIRONMENT

- The following environment variables are recognized by the X print server - (environment variables recognized by Xprint clients are described in - Xprint(7)): - -

${XPCONFIGDIR}

This environment variable points to the root - of the Xprint server configuration directory hierarchy. - If the variable is not defined, the default - path is be assumed. The default path may be - /usr/X11R6/lib/X11/xserver/, - /usr/lib/X11/xserver/, - /usr/share/Xprint/xserver/ or - /usr/openwin/server/etc/XpConfig, depending on the - system, and may be configured in /etc/init.d/xprint.

${LANG}

- This environment variable selects the locale settings used by the Xprint server. - Xprt allows language-specific settings (stored in ${XPCONFIGDIR}/${LANG}/print/) - which will override the default settings (stored in ${XPCONFIGDIR}/C/print/). - If ${LANG} is not set "C" is assumed. -

FILES

${XPCONFIGDIR}/${LANG}/print/Xprinters, ${XPCONFIGDIR}/C/print/Xprinters

- `Xprinters' is the top most configuration file. It tells - Xprt which specific printer names (e.g. mylaser) should - be supported, and whether lpstat(1) or other commands - should be used to automatically supplement the list of - printers. -

${XPCONFIGDIR}/${LANG}/print/attributes/printer, ${XPCONFIGDIR}/C/print/attributes/printer

- The `printer' file maps printer names to model - configurations (see `model-config' below). For example, - "mylaser" could be mapped to a "HPDJ1600C", and all other - arbitrary printers could be mapped to a default, such as - "HPLJ4SI". When depending on lpstat(1) in the Xprinters - file, setting up defaults in `printer' becomes all the - more important. -

${XPCONFIGDIR}/${LANG}/print/attributes/document, ${XPCONFIGDIR}/C/print/attributes/document

- The `document' file specifies the initial document values - for any print jobs. For example, which paper tray to - use, what default resolution, etc. -

${XPCONFIGDIR}/${LANG}/print/attributes/job, ${XPCONFIGDIR}/C/print/attributes/job

- The `job' file specifies the initial job values for any - print jobs. For example, "notification-profile" can be - set so that when a print job is successfully sent to a - printer, e-mail is sent to the user. -

${XPCONFIGDIR}/C/print/models/PSdefault/model-config, ${XPCONFIGDIR}/C/print/models/PSdefault/fonts/fonts.dir, ${XPCONFIGDIR}/C/print/models/PSdefault/fonts/9nb00051.pmf, ${XPCONFIGDIR}/C/print/models/PSdefault/fonts/9nb00093.pmf

- The `model-config' file has attributes that describe the - printer model's capabilities and default settings. - Printer model fonts may also be present. The model-config - file also identifies the print ddx driver to be used. - - For each printer model supported, a complete hierarchy of - files should exist. In most cases, these files do not - need to be modified. -

${XPCONFIGDIR}/C/print/ddx-config/raster/pdf, ${XPCONFIGDIR}/C/print/ddx-config/raster/pcl, ${XPCONFIGDIR}/C/print/ddx-config/raster/postscript

- The print ddx drivers can have highly specific - configuration files to control their behavior. In most - cases, these files do not need to be modified. -

SEE ALSO

Xprint(7), X11(7), xplsprinters(1x), xprehashprinterlist(1x), xphelloworld(1x), xpxmhelloworld(1x), xpawhelloworld(1x), xpxthelloworld(1x), xpsimplehelloworld(1x), Xserver(1x), libXp(3x), libXprintUtils(3x), libXprintAppUtils(3x), XmPrintShell(3x), XawPrintShell(3x), Xprint FAQ (http://xprint.mozdev.org/docs/Xprint_FAQ.html), Xprint main site (http://xprint.mozdev.org/)

AUTHORS

- This manual page was written by - Drew Parsons and - Roland Mainz , - with some help from the man page at - http://www.sins.com.au/unix/manpages/Xprt.html and the XFree86 - man page for Xserver(1). -

diff --git a/xorg-server/hw/xprint/doc/Xprt.man.pre b/xorg-server/hw/xprint/doc/Xprt.man.pre deleted file mode 100644 index 837619cb2..000000000 --- a/xorg-server/hw/xprint/doc/Xprt.man.pre +++ /dev/null @@ -1,196 +0,0 @@ -.\" -*- coding: us-ascii -*- -.TH Xprt __appmansuffix__ "25 November 2004" -.SH NAME -Xprt \- Print server for X Version 11 -.SH SYNOPSIS -.ad l -\fBXprt\fR \kx -.if (\nxu > (\n(.lu / 2)) .nr x (\n(.lu / 5) -'in \n(.iu+\nxu -[\fB\-ac\fR] [\fB\-audit \fBlevel\fR\fR] [\fB\-pn\fR] [\fB\-fp \fBfontpath\fR\fR] [\fB\-XpFile \fBfile\fR\fR] [\fB\-XpSpoolerType \fBspoolername\fR\fR] [\fB:\fBdisplay\fR\fR] -'in \n(.iu-\nxu -.ad b -.SH DESCRIPTION -Xprt is the Xprint print server -for version 11 of the X Window system for non display devices -such as printers and fax machines. -.PP -Xprint is an advanced printing system which enables X11 -applications to use devices like printers, FAX or create -documents in formats like PostScript, PCL or PDF. It may be used by -clients such as mozilla. -.PP -Xprint is a very flexible, extensible, scalable, client/server -print system based on ISO 10175 (and some other specs) and the X11 -rendering protocol. -Using Xprint an application can search, query and use devices like -printers, FAX machines or create documents in formats like PDF. -In particular, an application can seek a printer, query supported -attributes (like paper size, trays, fonts etc.), configure the printer -device to match it's needs and print on it like on any other X device -reusing parts of the code which is used for the video card Xserver. -.SH USAGE -Although Xprt may be invoked from the command line, it is -preferable to run it as a daemon via the init script -\fB/etc/init.d/xprint\fR (where this script exists). -.PP -Client programs such as mozilla will require environment -variable \fB${XPSERVERLIST}\fR to be set, identifying the -"display" on which Xprt is running. This variable may be set -for all users via \fB/etc/profile\fR (or similar), using -\fB/etc/init.d/xprint get_xpserverlist\fR: - -.nf -export XPSERVERLIST=`/etc/init.d/xprint get_xpserverlist` -.fi - -.SH OPTIONS -Many of Xprt's command line options are shared in common -with the usual X servers (see \fBXserver\fR(__appmansuffix__)). -Commonly used options include: -.TP -\fB:\fIdisplay\fB\fR -The X server runs on the given display. If multiple X -servers are to run simultaneously on a host, each must -have a unique display number. Note that the standard X -server (for video displays) typically runs on display -:0. If \fB/etc/init.d/xprint\fR is used -to invoke Xprt, it may be configured to automatically assign an available -display number. -.TP -\fB\-ac\fR -disables host-based access control mechanisms. Enables access -by any host, and permits any host to modify the access control -list. Use with extreme caution. This option exists primarily -for running test suites remotely. -.TP -\fB\-audit \fIlevel\fB\fR -sets the audit trail level. The default level is 1, meaning -only connection rejections are reported. Level 2 additionally -reports all successful connections and disconnects. Level 4 -enables messages from the SECURITY extension, if present, -including generation and revocation of authorizations and -violations of the security policy. Level 0 turns off the audit -trail. Audit lines are sent as standard error output. -.TP -\fB\-fp \fIfontpath\fB\fR -sets the search path for fonts. This path is a comma -separated list of directories which Xprt searches for -font databases. -.TP -\fB\-pn\fR -permits the server to continue running if it fails to -establish all of its well-known sockets (connection -points for clients), but establishes at least -one. -.TP -\fB\-XpFile \fIfile\fB\fR -Sets an alternate Xprinters file (see section FILES). -.TP -\fB\-XpSpoolerType \fIspoolername\fB\fR -Defines the spooler system to be used for print job spooling. -Supported values in xprint.mozdev.org release 009 are: - -aix - -aix4 - -bsd - -osf - -solaris - -sysv - -uxp - -cups - -lprng - -other - -none - -(multiple values can be specified, separated by ':', the first active spooler will be chosen). -The default value is platform-specific and can be obtained via - -.nf -Xprt \-h -.fi - -\&. -.SH ENVIRONMENT -The following environment variables are recognized by the X print server -(environment variables recognized by Xprint clients are described in -\fBXprint\fR(__miscmansuffix__)): -.TP -\fB${XPCONFIGDIR}\fR -This environment variable points to the root -of the Xprint server configuration directory hierarchy. -If the variable is not defined, the default -path is be assumed. The default path may be -\fB/usr/X11R6/lib/X11/xserver/\fR, -\fB/usr/lib/X11/xserver/\fR, -\fB/usr/share/Xprint/xserver/\fR or -\fB/usr/openwin/server/etc/XpConfig\fR, depending on the -system, and may be configured in \fB/etc/init.d/xprint\fR. -.TP -\fB${LANG}\fR -This environment variable selects the locale settings used by the Xprint server. -Xprt allows language-specific settings (stored in \fB${XPCONFIGDIR}/${LANG}/print/\fR) -which will override the default settings (stored in \fB${XPCONFIGDIR}/C/print/\fR). -If \fB${LANG}\fR is not set "C" is assumed. -.PP -.SH FILES -.TP -\fB${XPCONFIGDIR}/${LANG}/print/Xprinters\fR, \fB${XPCONFIGDIR}/C/print/Xprinters\fR -`Xprinters' is the top most configuration file. It tells -Xprt which specific printer names (e.g. mylaser) should -be supported, and whether \fBlpstat\fR(1) or other commands -should be used to automatically supplement the list of -printers. -.TP -\fB${XPCONFIGDIR}/${LANG}/print/attributes/printer\fR, \fB${XPCONFIGDIR}/C/print/attributes/printer\fR -The `printer' file maps printer names to model -configurations (see `model-config' below). For example, -"mylaser" could be mapped to a "HPDJ1600C", and all other -arbitrary printers could be mapped to a default, such as -"HPLJ4SI". When depending on \fBlpstat\fR(1) in the Xprinters -file, setting up defaults in `printer' becomes all the -more important. -.TP -\fB${XPCONFIGDIR}/${LANG}/print/attributes/document\fR, \fB${XPCONFIGDIR}/C/print/attributes/document\fR -The `document' file specifies the initial document values -for any print jobs. For example, which paper tray to -use, what default resolution, etc. -.TP -\fB${XPCONFIGDIR}/${LANG}/print/attributes/job\fR, \fB${XPCONFIGDIR}/C/print/attributes/job\fR -The `job' file specifies the initial job values for any -print jobs. For example, "notification-profile" can be -set so that when a print job is successfully sent to a -printer, e-mail is sent to the user. -.TP -\fB${XPCONFIGDIR}/C/print/models/PSdefault/model\-config\fR, \fB${XPCONFIGDIR}/C/print/models/PSdefault/fonts/fonts.dir\fR, \fB${XPCONFIGDIR}/C/print/models/PSdefault/fonts/9nb00051.pmf\fR, \fB${XPCONFIGDIR}/C/print/models/PSdefault/fonts/9nb00093.pmf\fR -The `model-config' file has attributes that describe the -printer model's capabilities and default settings. -Printer model fonts may also be present. The model-config -file also identifies the print ddx driver to be used. -For each printer model supported, a complete hierarchy of -files should exist. In most cases, these files do not -need to be modified. -.TP -\fB${XPCONFIGDIR}/C/print/ddx\-config/raster/pdf\fR, \fB${XPCONFIGDIR}/C/print/ddx\-config/raster/pcl\fR, \fB${XPCONFIGDIR}/C/print/ddx\-config/raster/postscript\fR -The print ddx drivers can have highly specific -configuration files to control their behavior. In most -cases, these files do not need to be modified. -.SH "SEE ALSO" -\fBXprint\fR(__miscmansuffix__), \fBX11\fR(__miscmansuffix__), \fBxplsprinters\fR(__appmansuffix__), \fBxprehashprinterlist\fR(__appmansuffix__), \fBxphelloworld\fR(__appmansuffix__), \fBxpxmhelloworld\fR(__appmansuffix__), \fBxpawhelloworld\fR(__appmansuffix__), \fBxpxthelloworld\fR(__appmansuffix__), \fBxpsimplehelloworld\fR(__appmansuffix__), \fBXserver\fR(__appmansuffix__), \fBlibXp\fR(__libmansuffix__), \fBlibXprintUtils\fR(__libmansuffix__), \fBlibXprintAppUtils\fR(__libmansuffix__), \fBXmPrintShell\fR(__libmansuffix__), \fBXawPrintShell\fR(__libmansuffix__), Xprint FAQ (http://xprint.mozdev.org/docs/Xprint_FAQ.html), Xprint main site (http://xprint.mozdev.org/) -.SH AUTHORS -This manual page was written by -Drew Parsons and -Roland Mainz , -with some help from the man page at -http://www.sins.com.au/unix/manpages/Xprt.html and the XFree86 -man page for \fBXserver\fR(1). diff --git a/xorg-server/hw/xprint/doc/Xprt.sgml b/xorg-server/hw/xprint/doc/Xprt.sgml deleted file mode 100644 index a62499263..000000000 --- a/xorg-server/hw/xprint/doc/Xprt.sgml +++ /dev/null @@ -1,371 +0,0 @@ - - - - - - - Xprt - __appmansuffix__ - - - Xprt - - Print server for X Version 11 - - - - Xprt - - - - - - - - - - - - - - - - - - - DESCRIPTION - - Xprt is the Xprint print server - for version 11 of the X Window system for non display devices - such as printers and fax machines. - - Xprint is an advanced printing system which enables X11 - applications to use devices like printers, FAX or create - documents in formats like PostScript, PCL or PDF. It may be used by - clients such as mozilla. - - - Xprint is a very flexible, extensible, scalable, client/server - print system based on ISO 10175 (and some other specs) and the X11 - rendering protocol. - Using Xprint an application can search, query and use devices like - printers, FAX machines or create documents in formats like PDF. - In particular, an application can seek a printer, query supported - attributes (like paper size, trays, fonts etc.), configure the printer - device to match it's needs and print on it like on any other X device - reusing parts of the code which is used for the video card Xserver. - - - - - USAGE - - - Although Xprt may be invoked from the command line, it is - preferable to run it as a daemon via the init script - /etc/init.d/xprint (where this script exists). - - - Client programs such as mozilla will require environment - variable ${XPSERVERLIST} to be set, identifying the - "display" on which Xprt is running. This variable may be set - for all users via /etc/profile (or similar), using - /etc/init.d/xprint get_xpserverlist: - - export XPSERVERLIST=`/etc/init.d/xprint get_xpserverlist` - - - - - - OPTIONS - - Many of Xprt's command line options are shared in common - with the usual X servers (see Xserver__appmansuffix__). - Commonly used options include: - - - - - - - The X server runs on the given display. If multiple X - servers are to run simultaneously on a host, each must - have a unique display number. Note that the standard X - server (for video displays) typically runs on display - :0. If /etc/init.d/xprint is used - to invoke Xprt, it may be configured to automatically assign an available - display number. - - - - - - - disables host-based access control mechanisms. Enables access - by any host, and permits any host to modify the access control - list. Use with extreme caution. This option exists primarily - for running test suites remotely. - - - - - - - sets the audit trail level. The default level is 1, meaning - only connection rejections are reported. Level 2 additionally - reports all successful connections and disconnects. Level 4 - enables messages from the SECURITY extension, if present, - including generation and revocation of authorizations and - violations of the security policy. Level 0 turns off the audit - trail. Audit lines are sent as standard error output. - - - - - - - sets the search path for fonts. This path is a comma - separated list of directories which Xprt searches for - font databases. - - - - - - - permits the server to continue running if it fails to - establish all of its well-known sockets (connection - points for clients), but establishes at least - one. - - - - - - - - Sets an alternate Xprinters file (see section FILES). - - - - - - - - Defines the spooler system to be used for print job spooling. - Supported values in xprint.mozdev.org release 009 are: - - aix - aix4 - bsd - osf - solaris - sysv - uxp - cups - lprng - other - none - - (multiple values can be specified, separated by ':', the first active spooler will be chosen). - The default value is platform-specific and can be obtained via - Xprt -h. - - - - - - - - ENVIRONMENT - - The following environment variables are recognized by the X print server - (environment variables recognized by Xprint clients are described in - Xprint__miscmansuffix__): - - - - ${XPCONFIGDIR} - - This environment variable points to the root - of the Xprint server configuration directory hierarchy. - If the variable is not defined, the default - path is be assumed. The default path may be - /usr/X11R6/lib/X11/xserver/, - /usr/lib/X11/xserver/, - /usr/share/Xprint/xserver/ or - /usr/openwin/server/etc/XpConfig, depending on the - system, and may be configured in /etc/init.d/xprint. - - - - - ${LANG} - - - This environment variable selects the locale settings used by the Xprint server. - Xprt allows language-specific settings (stored in ${XPCONFIGDIR}/${LANG}/print/) - which will override the default settings (stored in ${XPCONFIGDIR}/C/print/). - If ${LANG} is not set "C" is assumed. - - - - - - - - - FILES - - - - ${XPCONFIGDIR}/${LANG}/print/Xprinters - ${XPCONFIGDIR}/C/print/Xprinters - - - `Xprinters' is the top most configuration file. It tells - Xprt which specific printer names (e.g. mylaser) should - be supported, and whether lpstat1 or other commands - should be used to automatically supplement the list of - printers. - - - - - - ${XPCONFIGDIR}/${LANG}/print/attributes/printer - ${XPCONFIGDIR}/C/print/attributes/printer - - - The `printer' file maps printer names to model - configurations (see `model-config' below). For example, - "mylaser" could be mapped to a "HPDJ1600C", and all other - arbitrary printers could be mapped to a default, such as - "HPLJ4SI". When depending on lpstat1 in the Xprinters - file, setting up defaults in `printer' becomes all the - more important. - - - - - - ${XPCONFIGDIR}/${LANG}/print/attributes/document - ${XPCONFIGDIR}/C/print/attributes/document - - - The `document' file specifies the initial document values - for any print jobs. For example, which paper tray to - use, what default resolution, etc. - - - - - - ${XPCONFIGDIR}/${LANG}/print/attributes/job - ${XPCONFIGDIR}/C/print/attributes/job - - - The `job' file specifies the initial job values for any - print jobs. For example, "notification-profile" can be - set so that when a print job is successfully sent to a - printer, e-mail is sent to the user. - - - - - - ${XPCONFIGDIR}/C/print/models/PSdefault/model-config - ${XPCONFIGDIR}/C/print/models/PSdefault/fonts/fonts.dir - ${XPCONFIGDIR}/C/print/models/PSdefault/fonts/9nb00051.pmf - ${XPCONFIGDIR}/C/print/models/PSdefault/fonts/9nb00093.pmf - - - - The `model-config' file has attributes that describe the - printer model's capabilities and default settings. - Printer model fonts may also be present. The model-config - file also identifies the print ddx driver to be used. - - For each printer model supported, a complete hierarchy of - files should exist. In most cases, these files do not - need to be modified. - - - - - - ${XPCONFIGDIR}/C/print/ddx-config/raster/pdf - ${XPCONFIGDIR}/C/print/ddx-config/raster/pcl - ${XPCONFIGDIR}/C/print/ddx-config/raster/postscript - - - - The print ddx drivers can have highly specific - configuration files to control their behavior. In most - cases, these files do not need to be modified. - - - - - - - - - SEE ALSO - - - - - - - Xprint__miscmansuffix__ - X11__miscmansuffix__ - xplsprinters__appmansuffix__ - xprehashprinterlist__appmansuffix__ - xphelloworld__appmansuffix__ - xpxmhelloworld__appmansuffix__ - xpawhelloworld__appmansuffix__ - xpxthelloworld__appmansuffix__ - xpsimplehelloworld__appmansuffix__ - Xserver__appmansuffix__ - - - libXp__libmansuffix__ - libXprintUtils__libmansuffix__ - libXprintAppUtils__libmansuffix__ - XmPrintShell__libmansuffix__ - XawPrintShell__libmansuffix__ - Xprint FAQ (http://xprint.mozdev.org/docs/Xprint_FAQ.html) - Xprint main site (http://xprint.mozdev.org/) - - - - - - AUTHORS - - This manual page was written by - Drew Parsons dparsons@debian.org and - Roland Mainz roland.mainz@nrubsig.org, - with some help from the man page at - http://www.sins.com.au/unix/manpages/Xprt.html and the XFree86 - man page for Xserver1. - - - - - - diff --git a/xorg-server/hw/xprint/dpmsstubs-wrapper.c b/xorg-server/hw/xprint/dpmsstubs-wrapper.c deleted file mode 100644 index b318337d2..000000000 --- a/xorg-server/hw/xprint/dpmsstubs-wrapper.c +++ /dev/null @@ -1 +0,0 @@ -#include "../../Xext/dpmsstubs.c" diff --git a/xorg-server/hw/xprint/etc/Makefile.am b/xorg-server/hw/xprint/etc/Makefile.am deleted file mode 100644 index 0a960cd1b..000000000 --- a/xorg-server/hw/xprint/etc/Makefile.am +++ /dev/null @@ -1 +0,0 @@ -SUBDIRS = init.d profile.d Xsession.d diff --git a/xorg-server/hw/xprint/etc/Makefile.in b/xorg-server/hw/xprint/etc/Makefile.in deleted file mode 100644 index 0310c41e0..000000000 --- a/xorg-server/hw/xprint/etc/Makefile.in +++ /dev/null @@ -1,690 +0,0 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008 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 = hw/xprint/etc -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 = -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 -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@ -DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ -DRI2PROTO_LIBS = @DRI2PROTO_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@ -DSYMUTIL = @DSYMUTIL@ -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@ -GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ -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@ -LAUNCHD = @LAUNCHD@ -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@ -NMEDIT = @NMEDIT@ -OBJC = @OBJC@ -OBJCCLD = @OBJCCLD@ -OBJCDEPMODE = @OBJCDEPMODE@ -OBJCFLAGS = @OBJCFLAGS@ -OBJCLINK = @OBJCLINK@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ -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@ -PCIACCESS_CFLAGS = @PCIACCESS_CFLAGS@ -PCIACCESS_LIBS = @PCIACCESS_LIBS@ -PCI_TXT_IDS_PATH = @PCI_TXT_IDS_PATH@ -PERL = @PERL@ -PKG_CONFIG = @PKG_CONFIG@ -PROJECTROOT = @PROJECTROOT@ -PS2PDF = @PS2PDF@ -RANLIB = @RANLIB@ -RAWCPP = @RAWCPP@ -RAWCPPFLAGS = @RAWCPPFLAGS@ -SED = @SED@ -SERVER_MISC_CONFIG_PATH = @SERVER_MISC_CONFIG_PATH@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ -SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ -STRIP = @STRIP@ -TSLIB_CFLAGS = @TSLIB_CFLAGS@ -TSLIB_LIBS = @TSLIB_LIBS@ -UTILS_SYS_LIBS = @UTILS_SYS_LIBS@ -VENDOR_MAN_VERSION = @VENDOR_MAN_VERSION@ -VENDOR_NAME = @VENDOR_NAME@ -VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ -VENDOR_RELEASE = @VENDOR_RELEASE@ -VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ -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_CFLAGS = @XDMX_CFLAGS@ -XDMX_LIBS = @XDMX_LIBS@ -XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ -XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ -XEPHYR_INCS = @XEPHYR_INCS@ -XEPHYR_LIBS = @XEPHYR_LIBS@ -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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ -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@ -XNEST_SYS_LIBS = @XNEST_SYS_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_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@ -XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_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@ -XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ -XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ -XTSTEXAMPLES_DEP_LIBS = @XTSTEXAMPLES_DEP_LIBS@ -XVFB_LIBS = @XVFB_LIBS@ -XVFB_SYS_LIBS = @XVFB_SYS_LIBS@ -XWINMODULES_CFLAGS = @XWINMODULES_CFLAGS@ -XWINMODULES_LIBS = @XWINMODULES_LIBS@ -XWIN_LIBS = @XWIN_LIBS@ -XWIN_SERVER_NAME = @XWIN_SERVER_NAME@ -XWIN_SYS_LIBS = @XWIN_SYS_LIBS@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -__XCONFIGFILE__ = @__XCONFIGFILE__@ -abi_ansic = @abi_ansic@ -abi_extension = @abi_extension@ -abi_font = @abi_font@ -abi_videodrv = @abi_videodrv@ -abi_xinput = @abi_xinput@ -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@ -launchagentsdir = @launchagentsdir@ -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_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ -SUBDIRS = init.d profile.d Xsession.d -all: all-recursive - -.SUFFIXES: -$(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/xprint/etc/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign hw/xprint/etc/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 - -# 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; nonemtpy = 1; } \ - END { if (nonempty) { 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; nonempty = 1; } \ - END { if (nonempty) { 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=; \ - 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; nonempty = 1; } \ - END { if (nonempty) { 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 -installdirs: installdirs-recursive -installdirs-am: -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: - -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-dvi: install-dvi-recursive - -install-exec-am: - -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: - -.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ - install-strip - -.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-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 installdirs-am maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ - 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/xorg-server/hw/xprint/etc/Xsession.d/92xprint-xpserverlist b/xorg-server/hw/xprint/etc/Xsession.d/92xprint-xpserverlist deleted file mode 100644 index 60d964a34..000000000 --- a/xorg-server/hw/xprint/etc/Xsession.d/92xprint-xpserverlist +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/sh -##################################################################### -### File: 92xprint-xpserverlist -### -### Default Location: /etc/X11/Xsession.d/ -### -### Purpose: Setup Xprint env vars -### -### Description: This script is invoked by means of the Xsession file -### at user login. -### -### Invoked by: /etc/X11/Xsession -### -### (c) Copyright 2003-2004 Roland Mainz -### -### please send bugfixes or comments to https://bugs.freedesktop.org -### -##################################################################### - - -# -# Obtain list of Xprint servers -# - -if [ -x "/etc/init.d/xprint" ] ; then - XPSERVERLIST="`/etc/init.d/xprint get_xpserverlist`" - export XPSERVERLIST -fi - -########################## eof ##################### diff --git a/xorg-server/hw/xprint/etc/Xsession.d/Makefile.am b/xorg-server/hw/xprint/etc/Xsession.d/Makefile.am deleted file mode 100644 index 96a5ee73b..000000000 --- a/xorg-server/hw/xprint/etc/Xsession.d/Makefile.am +++ /dev/null @@ -1,2 +0,0 @@ -xpcdir = $(sysconfdir)/X11/Xsession.d -dist_xpc_DATA = 92xprint-xpserverlist diff --git a/xorg-server/hw/xprint/etc/Xsession.d/Makefile.in b/xorg-server/hw/xprint/etc/Xsession.d/Makefile.in deleted file mode 100644 index 533d3ee88..000000000 --- a/xorg-server/hw/xprint/etc/Xsession.d/Makefile.in +++ /dev/null @@ -1,565 +0,0 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008 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 = hw/xprint/etc/Xsession.d -DIST_COMMON = $(dist_xpc_DATA) $(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 = -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)$(xpcdir)" -dist_xpcDATA_INSTALL = $(INSTALL_DATA) -DATA = $(dist_xpc_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@ -DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ -DRI2PROTO_LIBS = @DRI2PROTO_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@ -DSYMUTIL = @DSYMUTIL@ -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@ -GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ -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@ -LAUNCHD = @LAUNCHD@ -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@ -NMEDIT = @NMEDIT@ -OBJC = @OBJC@ -OBJCCLD = @OBJCCLD@ -OBJCDEPMODE = @OBJCDEPMODE@ -OBJCFLAGS = @OBJCFLAGS@ -OBJCLINK = @OBJCLINK@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ -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@ -PCIACCESS_CFLAGS = @PCIACCESS_CFLAGS@ -PCIACCESS_LIBS = @PCIACCESS_LIBS@ -PCI_TXT_IDS_PATH = @PCI_TXT_IDS_PATH@ -PERL = @PERL@ -PKG_CONFIG = @PKG_CONFIG@ -PROJECTROOT = @PROJECTROOT@ -PS2PDF = @PS2PDF@ -RANLIB = @RANLIB@ -RAWCPP = @RAWCPP@ -RAWCPPFLAGS = @RAWCPPFLAGS@ -SED = @SED@ -SERVER_MISC_CONFIG_PATH = @SERVER_MISC_CONFIG_PATH@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ -SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ -STRIP = @STRIP@ -TSLIB_CFLAGS = @TSLIB_CFLAGS@ -TSLIB_LIBS = @TSLIB_LIBS@ -UTILS_SYS_LIBS = @UTILS_SYS_LIBS@ -VENDOR_MAN_VERSION = @VENDOR_MAN_VERSION@ -VENDOR_NAME = @VENDOR_NAME@ -VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ -VENDOR_RELEASE = @VENDOR_RELEASE@ -VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ -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_CFLAGS = @XDMX_CFLAGS@ -XDMX_LIBS = @XDMX_LIBS@ -XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ -XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ -XEPHYR_INCS = @XEPHYR_INCS@ -XEPHYR_LIBS = @XEPHYR_LIBS@ -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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ -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@ -XNEST_SYS_LIBS = @XNEST_SYS_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_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@ -XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_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@ -XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ -XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ -XTSTEXAMPLES_DEP_LIBS = @XTSTEXAMPLES_DEP_LIBS@ -XVFB_LIBS = @XVFB_LIBS@ -XVFB_SYS_LIBS = @XVFB_SYS_LIBS@ -XWINMODULES_CFLAGS = @XWINMODULES_CFLAGS@ -XWINMODULES_LIBS = @XWINMODULES_LIBS@ -XWIN_LIBS = @XWIN_LIBS@ -XWIN_SERVER_NAME = @XWIN_SERVER_NAME@ -XWIN_SYS_LIBS = @XWIN_SYS_LIBS@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -__XCONFIGFILE__ = @__XCONFIGFILE__@ -abi_ansic = @abi_ansic@ -abi_extension = @abi_extension@ -abi_font = @abi_font@ -abi_videodrv = @abi_videodrv@ -abi_xinput = @abi_xinput@ -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@ -launchagentsdir = @launchagentsdir@ -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_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ -xpcdir = $(sysconfdir)/X11/Xsession.d -dist_xpc_DATA = 92xprint-xpserverlist -all: all-am - -.SUFFIXES: -$(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/xprint/etc/Xsession.d/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign hw/xprint/etc/Xsession.d/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-dist_xpcDATA: $(dist_xpc_DATA) - @$(NORMAL_INSTALL) - test -z "$(xpcdir)" || $(MKDIR_P) "$(DESTDIR)$(xpcdir)" - @list='$(dist_xpc_DATA)'; for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f=$(am__strip_dir) \ - echo " $(dist_xpcDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(xpcdir)/$$f'"; \ - $(dist_xpcDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(xpcdir)/$$f"; \ - done - -uninstall-dist_xpcDATA: - @$(NORMAL_UNINSTALL) - @list='$(dist_xpc_DATA)'; for p in $$list; do \ - f=$(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(xpcdir)/$$f'"; \ - rm -f "$(DESTDIR)$(xpcdir)/$$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)$(xpcdir)"; 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 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-dist_xpcDATA - -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-dist_xpcDATA - -.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-dist_xpcDATA 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-am uninstall-dist_xpcDATA - -# 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/xorg-server/hw/xprint/etc/init.d/Makefile.am b/xorg-server/hw/xprint/etc/init.d/Makefile.am deleted file mode 100644 index 0cf1adc92..000000000 --- a/xorg-server/hw/xprint/etc/init.d/Makefile.am +++ /dev/null @@ -1,12 +0,0 @@ -include $(top_srcdir)/cpprules.in - -noinst_PRE = xprint -BUILT_SOURCES = $(noinst_PRE) -CLEANFILES = $(noinst_PRE) xprint.pre - -CPP_FILES_FLAGS = -DProjectRoot='"$(PROJECTROOT)"' -DOS_LINUX - -xprint.pre: xprint.cpp - $(SED) -e 's/^\(\s\+\)#/\1XCOMM/' ${srcdir}/xprint.cpp > $@ - -EXTRA_DIST = xprint.cpp diff --git a/xorg-server/hw/xprint/etc/init.d/Makefile.in b/xorg-server/hw/xprint/etc/init.d/Makefile.in deleted file mode 100644 index 870aff9b3..000000000 --- a/xorg-server/hw/xprint/etc/init.d/Makefile.in +++ /dev/null @@ -1,590 +0,0 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008 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/xprint/etc/init.d -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 = -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@ -DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ -DRI2PROTO_LIBS = @DRI2PROTO_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@ -DSYMUTIL = @DSYMUTIL@ -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@ -GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ -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@ -LAUNCHD = @LAUNCHD@ -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@ -NMEDIT = @NMEDIT@ -OBJC = @OBJC@ -OBJCCLD = @OBJCCLD@ -OBJCDEPMODE = @OBJCDEPMODE@ -OBJCFLAGS = @OBJCFLAGS@ -OBJCLINK = @OBJCLINK@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ -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@ -PCIACCESS_CFLAGS = @PCIACCESS_CFLAGS@ -PCIACCESS_LIBS = @PCIACCESS_LIBS@ -PCI_TXT_IDS_PATH = @PCI_TXT_IDS_PATH@ -PERL = @PERL@ -PKG_CONFIG = @PKG_CONFIG@ -PROJECTROOT = @PROJECTROOT@ -PS2PDF = @PS2PDF@ -RANLIB = @RANLIB@ -RAWCPP = @RAWCPP@ -RAWCPPFLAGS = @RAWCPPFLAGS@ -SED = sed -SERVER_MISC_CONFIG_PATH = @SERVER_MISC_CONFIG_PATH@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ -SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ -STRIP = @STRIP@ -TSLIB_CFLAGS = @TSLIB_CFLAGS@ -TSLIB_LIBS = @TSLIB_LIBS@ -UTILS_SYS_LIBS = @UTILS_SYS_LIBS@ -VENDOR_MAN_VERSION = @VENDOR_MAN_VERSION@ -VENDOR_NAME = @VENDOR_NAME@ -VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ -VENDOR_RELEASE = @VENDOR_RELEASE@ -VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ -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_CFLAGS = @XDMX_CFLAGS@ -XDMX_LIBS = @XDMX_LIBS@ -XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ -XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ -XEPHYR_INCS = @XEPHYR_INCS@ -XEPHYR_LIBS = @XEPHYR_LIBS@ -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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ -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@ -XNEST_SYS_LIBS = @XNEST_SYS_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_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@ -XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_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@ -XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ -XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ -XTSTEXAMPLES_DEP_LIBS = @XTSTEXAMPLES_DEP_LIBS@ -XVFB_LIBS = @XVFB_LIBS@ -XVFB_SYS_LIBS = @XVFB_SYS_LIBS@ -XWINMODULES_CFLAGS = @XWINMODULES_CFLAGS@ -XWINMODULES_LIBS = @XWINMODULES_LIBS@ -XWIN_LIBS = @XWIN_LIBS@ -XWIN_SERVER_NAME = @XWIN_SERVER_NAME@ -XWIN_SYS_LIBS = @XWIN_SYS_LIBS@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -__XCONFIGFILE__ = @__XCONFIGFILE__@ -abi_ansic = @abi_ansic@ -abi_extension = @abi_extension@ -abi_font = @abi_font@ -abi_videodrv = @abi_videodrv@ -abi_xinput = @abi_xinput@ -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@ -launchagentsdir = @launchagentsdir@ -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_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ -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) - -noinst_PRE = xprint -BUILT_SOURCES = $(noinst_PRE) -CLEANFILES = $(noinst_PRE) xprint.pre -CPP_FILES_FLAGS = -DProjectRoot='"$(PROJECTROOT)"' -DOS_LINUX -EXTRA_DIST = xprint.cpp -all: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) 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/xprint/etc/init.d/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign hw/xprint/etc/init.d/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 -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: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) check-am -all-am: Makefile -installdirs: -install: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) 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." - -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) -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-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: - -.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-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 - - -.pre: - $(RAWCPP) $(RAWCPPFLAGS) $(CPP_FILES_FLAGS) < $< | $(CPP_SED_MAGIC) > $@ - -.man.pre.man: - $(RAWCPP) $(RAWCPPFLAGS) $(MANDEFS) $(EXTRAMANDEFS) < $< | $(CPP_SED_MAGIC) > $@ - -xprint.pre: xprint.cpp - $(SED) -e 's/^\(\s\+\)#/\1XCOMM/' ${srcdir}/xprint.cpp > $@ -# 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/xorg-server/hw/xprint/etc/init.d/xprint.cpp b/xorg-server/hw/xprint/etc/init.d/xprint.cpp deleted file mode 100644 index dbfd1e139..000000000 --- a/xorg-server/hw/xprint/etc/init.d/xprint.cpp +++ /dev/null @@ -1,1277 +0,0 @@ -XCOMM!/bin/sh -XCOMM -XCOMM Copyright 2002-2004 by Roland Mainz . -XCOMM -XCOMM This script manages the Xprint server side - -XCOMM Basic support for IRIX-style "chkconfig" -XCOMM chkconfig: 2345 61 61 -XCOMM description: Startup/shutdown script for Xprint server(s) - -XCOMM Basic support for the Linux Standard Base Specification 1.0.0 -XCOMM (Note: The Should-Start/Stop lines are there so that this works in the -XCOMM future, when the LSB adopts these. The X-UnitedLinux lines are there -XCOMM so that it works right now.) -XCOMM## BEGIN INIT INFO -XCOMM Provides: xprint -XCOMM Required-Start: $local_fs $remote_fs $syslog $network -XCOMM Required-Stop: $local_fs $remote_fs $syslog -XCOMM Should-Start: cups lpd xfs -XCOMM Should-Stop: cups lpd xfs -XCOMM X-UnitedLinux-Should-Start: cups lpd xfs -XCOMM X-UnitedLinux-Should-Stop: cups lpd xfs -XCOMM Default-Start: 3 5 -XCOMM Default-Stop: 0 1 2 6 -XCOMM Description: Startup/shutdown script for Xprint server(s) -XCOMM## END INIT INFO - -#undef sun -#undef unix - -XCOMM########################################################################### -XCOMM -XCOMM This script has three main tasks: -XCOMM 1. Start Xprint servers ("Xprt") at boot time. -XCOMM 2. Shutdown Xprint servers when the machine is being shut down. -XCOMM 3. Query the list of available printers. -XCOMM -XCOMM Additional tasks are: -XCOMM 4. Restart ('restart'|'force-reload') and conditional restart -XCOMM ('condrestart'/'try-restart') for Linux support -XCOMM 5. Wrapping of application call with setting XPSERVERLIST ('wrapper') -XCOMM -XCOMM Usage: -XCOMM - Start Xprint server(s) manually: -XCOMM % /etc/init.d/xprint start -XCOMM -XCOMM - Stop Xprint server(s) manually: -XCOMM % /etc/init.d/xprint stop -XCOMM -XCOMM - Populate $XPSERVERLIST env var (for example as part of a global -XCOMM login script like /etc/profile or per-user login scripts like -XCOMM $HOME/.profile (sh/ksh/bash)) -XCOMM % XPSERVERLIST="`/etc/init.d/xprint get_xpserverlist`" -XCOMM % export XPSERVERLIST -XCOMM -XCOMM Installation: -XCOMM Copy this script to /etc/init.d/xprint and make sure that it is -XCOMM executable. If your installation is LSB-compliant, then run -XCOMM % /usr/lib/lsb/install_initd /etc/init.d/xprint -XCOMM to start the service on startup. Otherwise, manually create links -XCOMM to the matching run levels. -XCOMM Examples: -XCOMM - Solaris 2.7/2.8/2.9: -XCOMM % cp xprint /etc/init.d/xprint -XCOMM % chmod a+rx /etc/init.d/xprint -XCOMM % ln /etc/init.d/xprint /etc/rc0.d/K38xprint -XCOMM % ln /etc/init.d/xprint /etc/rc1.d/K38xprint -XCOMM % ln /etc/init.d/xprint /etc/rc2.d/S81xprint -XCOMM % ln /etc/init.d/xprint /etc/rcS.d/K38xprint -XCOMM -XCOMM - SuSE Linux 7.3 -XCOMM % cp xprint /etc/init.d/xprint -XCOMM % chmod a+rx /etc/init.d/xprint -XCOMM % ln -s ../xprint /etc/init.d/rc3.d/K13xprint -XCOMM % ln -s ../xprint /etc/init.d/rc3.d/S12xprint -XCOMM % ln -s ../xprint /etc/init.d/rc5.d/K13xprint -XCOMM % ln -s ../xprint /etc/init.d/rc5.d/S12xprint -XCOMM % ln -s ../xprint /etc/init.d/rc2.d/K13xprint -XCOMM % ln -s ../xprint /etc/init.d/rc2.d/S12xprint -XCOMM -XCOMM - SuSE Linux 6.4: -XCOMM % cp xprint /sbin/init.d/xprint -XCOMM % chmod a+rx /sbin/init.d/xprint -XCOMM % ln -s ../xprint /sbin/init.d/rc2.d/K20xprint -XCOMM % ln -s ../xprint /sbin/init.d/rc2.d/S20xprint -XCOMM % ln -s ../xprint /sbin/init.d/rc3.d/K20xprint -XCOMM % ln -s ../xprint /sbin/init.d/rc3.d/S20xprint -XCOMM -XCOMM Notes: -XCOMM - The Xprint servers must be started _after_ the print -XCOMM spooler or the server(s) may refuse to start -XCOMM - The script should be readable by all users to ensure that they -XCOMM can use the "get_xpserverlist"-option -XCOMM -XCOMM Custom configuration: -XCOMM - Edit the function setup_config() in this script to match your needs -XCOMM -XCOMM Known bugs/ToDo/Notes: -XCOMM - The shell script assumes that a Xserver can be reached via -XCOMM "hostname:displaynum" where "hostname" is obtained from -XCOMM "/usr/bin/hostname". It may happen that a kernel firewall -XCOMM blocks an X connection on the same host (e.g. client && Xserver -XCOMM are running on the same host). -XCOMM Suggested fix: Fix the firewall config. -XCOMM Suggested workaround: Edit this script and replace the use of -XCOMM /usr/bin/hostname with "echo 'localhost'". -XCOMM -XCOMM########################################################################### -XCOMM - - -XCOMM########################################################################### - -fatal_error() -{ - echo "${0}: ## FATAL ERROR: ${1}" 1>&2 - exit 1 -} - -error_echo() -{ - echo "${0}: ## ERROR: ${1}" 1>&2 -} - -warning_echo() -{ - echo "${0}: ## WARNING: ${1}" 1>&2 -} - -verbose_echo() -{ - echo "${0}: ${1}" -} - -msg() -{ - echo "${1}" -} - -XCOMM########################################################################### - -#ifndef OS_LINUX -XCOMM Force use of a POSIX conformant sh -XCOMM (Solaris /sbin/sh is plain Bourne shell) -[ "$1" != "posix_sh_forced" -a -x /bin/ksh ] && exec /bin/ksh "$0" posix_sh_forced "$@" -[ "$1" != "posix_sh_forced" -a -x /bin/bash ] && exec /bin/bash --norc --noprofile "$0" posix_sh_forced "$@" -[ "$1" != "posix_sh_forced" -a -x /usr/local/bin/ksh ] && exec /usr/local/bin/ksh "$0" posix_sh_forced "$@" -[ "$1" != "posix_sh_forced" -a -x /usr/local/bin/bash ] && exec /usr/local/bin/bash --norc --noprofile "$0" posix_sh_forced "$@" -if [ "$1" != "posix_sh_forced" ] ; then - echo "${0}: ## FATAL ERROR: No POSIX-shell found." 1>&2 - exit 1 -fi - -shift # Drop "posix_sh_forced" -#endif /* !OS_LINUX */ - -XCOMM#debug -XCOMM set -x - -XCOMM Change current dir to a location which is writeable by everyone -cd /tmp - -XCOMM Clear some environment variables -unset TEMP TMPDIR SCREENDIR - -XCOMM Set search path for commands -export PATH=/usr/bin:/bin:/usr/sbin:/sbin -#ifdef OS_SOLARIS -export PATH=/usr/xpg4/bin:${PATH} -#endif - -XCOMM# Try to figure-out where X11 was installed -#if defined(OS_SOLARIS) -XPROJECTROOT=/usr/openwin -export OPENWINHOME=/usr/openwin -#elif defined(OS_AIX) -XPROJECTROOT=/usr/lpp/X11 -#else -#if defined(ProjectRoot) -[ -d ProjectRoot/bin ] && XPROJECTROOT=ProjectRoot -#endif -[ -d /usr/X11/bin ] && XPROJECTROOT=/usr/X11 -[ -d /usr/X11R6/bin ] && XPROJECTROOT=/usr/X11R6 -#endif -XPCUSTOMGLUE=DEF_XPCUSTOMGLUE # This is used for customizing this script -export XPROJECTROOT XPCUSTOMGLUE - -if [ -z "${XPROJECTROOT}" ] ; then - fatal_error "Unknown XProjectRoot." -fi - -XCOMM Set the location of the Xprt binary we want to use. -XPRT_BIN="${XPROJECTROOT}/bin/Xprt" - -XCOMM Set the location of the global file where we store the locations -XCOMM of the system-wide servers -if [ -d /var/run ] ; then - XP_GLOBAL_SERVERS=/var/run/Xprint_servers -else - XP_GLOBAL_SERVERS=/tmp/.Xprint_servers -fi - -XCOMM ${LOGNAME} will not work if user su'ed into another account -export CURRLOGNAME="$(id -u -n)" - -XCOMM Set location where we want to store the list of Xprint servers managed -XCOMM by this user -XCOMM - If we start as "root" use the global file -XCOMM - If we start as normal user use a per-user file - -if [ "${CURRLOGNAME}" != "root" -a "${CURRLOGNAME}" != "" ] ; then - XP_PER_USER_SERVERS="/tmp/.Xprint_servers_${CURRLOGNAME}" - XP_SERVERS="${XP_PER_USER_SERVERS}" -else - XP_SERVERS="${XP_GLOBAL_SERVERS}" -fi - -XCOMM Set umask that owner can r/w all files and everyone else can read them -umask 022 - -XCOMM Bump limit for per-process open files to ensure that Xprt can open many many fonts -ulimit -n 1024 - -XCOMM########################################################################### - -XCOMM Get list of fonts for a given display -get_fontlist_from_display() -{ - ${XPROJECTROOT}/bin/xset -display "${1}" q | - awk "/Font Path:/ { i=1 ; next } i==1 { print \$0 ; i=0 }" | - fontpath2fontlist -} - -XCOMM Get list from a fontserver config -get_fontlist_from_xfs_config() -{ - if [ ! -r "${1}" ] ; then - return 0 - fi - - ( - cat "${1}" | - while read -r i ; do - for val in $i; do - case $val in - \#*) break ;; - ?*=*) key="${val%%=*}" ;; - =*) key="${tok}" ;; - *) [ "${key}" = "catalogue" -a "${tok}" != "" ] && echo "${tok}" ;; - esac - tok="${val#*=}" - done - done - ) | tr "," "\n" | fontpath2fontlist -} - -get_fontlist_from_all_xfs_configs() -{ - get_fontlist_from_xfs_config "/etc/openwin/fs/fontserver.cfg" - get_fontlist_from_xfs_config "/usr/openwin/lib/X11/fontserver.cfg" - get_fontlist_from_xfs_config "/etc/X11/fs-xtt/config" - get_fontlist_from_xfs_config "/etc/X11/fs/config" - get_fontlist_from_xfs_config "/etc/X11/xfs/config" - get_fontlist_from_xfs_config "${XPROJECTROOT}/lib/X11/fs/config" -} - -get_fontlist_from_xf86config() -{ - srcxconf="" - - XCOMM see xorg.conf(5x) manual page for the list of locations used here - [ "${srcxconf}" = "" -a -f "/etc/X11/xorg.conf" ] && srcxconf="/etc/X11/xorg.conf" - [ "${srcxconf}" = "" -a -f "/usr/X11R6/etc/X11/xorg.conf" ] && srcxconf="/usr/X11R6/etc/X11/xorg.conf" - [ "${srcxconf}" = "" -a -f "/etc/X11/xorg.conf-4" ] && srcxconf="/etc/X11/xorg.conf-4" - [ "${srcxconf}" = "" -a -f "/etc/X11/xorg.conf" ] && srcxconf="/etc/X11/xorg.conf" - [ "${srcxconf}" = "" -a -f "/etc/xorg.conf" ] && srcxconf="/etc/xorg.conf" - [ "${srcxconf}" = "" -a -f "/usr/X11R6/etc/X11/xorg.conf.${hostname}" ] && srcxconf="/usr/X11R6/etc/X11/xorg.conf.${hostname}" - [ "${srcxconf}" = "" -a -f "/usr/X11R6/etc/X11/xorg.conf-4" ] && srcxconf="/usr/X11R6/etc/X11/xorg.conf-4" - [ "${srcxconf}" = "" -a -f "/usr/X11R6/etc/X11/xorg.conf" ] && srcxconf="/usr/X11R6/etc/X11/xorg.conf" - [ "${srcxconf}" = "" -a -f "/usr/X11R6/lib/X11/xorg.conf.${hostname}" ] && srcxconf="/usr/X11R6/lib/X11/xorg.conf.${hostname}" - [ "${srcxconf}" = "" -a -f "/usr/X11R6/lib/X11/xorg.conf-4" ] && srcxconf="/usr/X11R6/lib/X11/xorg.conf-4" - [ "${srcxconf}" = "" -a -f "/usr/X11R6/lib/X11/xorg.conf" ] && srcxconf="/usr/X11R6/lib/X11/xorg.conf" - - XCOMM Xfree86 locations - [ "${srcxconf}" = "" -a -f "/etc/X11/XF86Config-4" ] && srcxconf="/etc/X11/XF86Config-4" - [ "${srcxconf}" = "" -a -f "/etc/X11/XF86Config" ] && srcxconf="/etc/X11/XF86Config" - - - if [ "${srcxconf}" = "" ] ; then - return 0 - fi - - currsection="" - cat "${srcxconf}" | - while read i1 i2 i3 i4 ; do - # Strip "\"" from I2 - i2="${i2#\"}" ; i2="${i2%\"}" - - case "${i1}" in - \#*) - continue - ;; - 'Section') - currsection="${i2}" - ;; - 'EndSection') - currsection="" - ;; - 'FontPath') - [ "$currsection" = "Files" ] && echo "${i2%:unscaled}" - ;; - esac - done | egrep -v -i "tcp/|tcp4/|tcp6/|unix/" - - return 0 -} - -get_fontlist_from_defoma() -{ - # Include Debian defoma font directory where relevant - if [ -d "/var/lib/defoma/x-ttcidfont-conf.d/dirs" ] ; then - find "/var/lib/defoma/x-ttcidfont-conf.d/dirs" -name fonts.dir | - while read i ; do echo "${i%/fonts.dir}" ; done - fi -} - -XCOMM Get list of system fonts -get_system_fontlist() -{ -#if defined(OS_SOLARIS) - ## List the standard X11 fonts - # echo "${XPROJECTROOT}/lib/X11/fonts/F3/" - # echo "${XPROJECTROOT}/lib/X11/fonts/F3bitmaps/" - echo "${XPROJECTROOT}/lib/X11/fonts/Type1/" - echo "${XPROJECTROOT}/lib/X11/fonts/Type1/outline/" - # We cannot use /usr/openwin/lib/X11/fonts/Type1/sun/ - see - # http://xprint.mozdev.org/bugs/show_bug.cgi?id=5726 - # ("Xprint doesn't start under Solaris 2.9 due *.ps files in /usr/openwin/lib/X11/fonts/Type1/sun/fonts.dir") - #echo "${XPROJECTROOT}/lib/X11/fonts/Type1/sun/" - echo "${XPROJECTROOT}/lib/X11/fonts/TrueType/" - echo "${XPROJECTROOT}/lib/X11/fonts/Speedo/" - echo "${XPROJECTROOT}/lib/X11/fonts/misc/" - echo "${XPROJECTROOT}/lib/X11/fonts/75dpi/" - echo "${XPROJECTROOT}/lib/X11/fonts/100dpi/" - - ## List all fonts in all locales installed on this machine - cat /usr/openwin/lib/locale/''*/OWfontpath | tr "," "\n" | sort -u -#elif defined(OS_LINUX) - ( - get_fontlist_from_defoma - - get_fontlist_from_xf86config - - # Getting font paths from XFS is mainly required for compatibilty to RedHat - get_fontlist_from_all_xfs_configs - - ## List all fonts in all locales installed on this machine - ( - [ -d "/usr/share/fonts" ] && find /usr/share/fonts -name fonts.dir - find "${XPROJECTROOT}/lib/X11/fonts" -name fonts.dir - ) | - while read i ; do echo "${i%/fonts.dir}" ; done - ) | sort -u -#else - ## List the standard X11 fonts - # (AIX should be handled like Solaris but I did not found a way to - # enumerate all fonts in all installed locales without scanning the - # dirs manually) - echo "${XPROJECTROOT}/lib/X11/fonts/Type1/" - echo "${XPROJECTROOT}/lib/X11/fonts/TrueType/" - echo "${XPROJECTROOT}/lib/X11/fonts/TTF/" - echo "${XPROJECTROOT}/lib/X11/fonts/Speedo/" - echo "${XPROJECTROOT}/lib/X11/fonts/misc/" - echo "${XPROJECTROOT}/lib/X11/fonts/75dpi/" - echo "${XPROJECTROOT}/lib/X11/fonts/100dpi/" - echo "${XPROJECTROOT}/lib/X11/fonts/" -#endif -} - -XCOMM Filter fonts per given extended regular expressions -XCOMM (and make sure we filter any model-config fonts - they are managed by Xprt internally) -filter_fontlist() -{ - egrep -- "${1}" | fgrep -v "/models/" | egrep -v -- "${2}" -} - -XCOMM Filter font paths with unsupported font types -XCOMM (such as CID fonts) -filter_unsupported_fonts() -{ - egrep -v -i "/cid(/$|$)|/csl(/$|$)" -} - -XCOMM Validate fontpath -XCOMM Only return valid font path entries (note that these entries may -XCOMM include non-file stuff like font server references) -validate_fontlist() -{ - while read i ; do - case "${i}" in - # Check if font path entry is a font server... - tcp/''*|tcp4/''*|tcp6/''*|unix/''*) - echo "${i}" - ;; - # ... if not check if the path is accessible - # and has a valid "fonts.dir" index - *) - [ -f "${i}/fonts.dir" ] && echo "${i}" - ;; - esac - done -} - -XCOMM Build a comma-seperated list of fonts (font path) from a list of fonts -fontlist2fontpath() -{ - fp="" - read fp; - while read i ; do - fp="${fp},${i}" - done - - echo "$fp" -} - -XCOMM Build a list (one item per line) of fonts from a font path -fontpath2fontlist() -{ - while read i ; do - echo "${i}" | tr "," "\n" - done -} - -XCOMM Sort scaleable fonts (PS Type1 and TrueType) first in a font list -sort_scaleable_fonts_first() -{ - i="$(fontlist2fontpath)" - # First list PS Type1 fonts... - echo "${i}" | fontpath2fontlist | fgrep "/Type1" - # ... then TrueType fonts ... - echo "${i}" | fontpath2fontlist | egrep -i "/TrueType|/TT(/$|$)|/TTF(/$|$)" - # ... then all others - echo "${i}" | fontpath2fontlist | egrep -v -i "/Type1|/TrueType|/TT(/$|$)|/TTF(/$|$)" -} - -XCOMM Check if a X display is used by a Xserver or not -XCOMM Known bugs: -XCOMM - there is no way in plain bourne shell or bash (see comment about ksh93 -XCOMM below) to test if a Xserver sits only on a socket and not on a pipe -XCOMM - some Xserver's don't cleanup their stuff in /tmp on exit which may end -XCOMM in the problem that we don't detect possible free display numbers -XCOMM (one problem is that only ksh93 can do stuff like -XCOMM "cat
"${lastdisplaynumreturned_store}" - return 0 - fi - done - - # Using "magic" value of 189 here due lack of a better solution - echo "189" - echo "189" >"${lastdisplaynumreturned_store}" - return 0 -} - -XCOMM Check if a process exists or not -pexists() -{ - [ "$1" = "" ] && return 1; - - # Use of /proc would be better but not all platforms (like AIX) have procfs - [ "$(ps -p $1 | fgrep $1)" != "" ] && return 0; - return 1 -} - -XCOMM Check if there is a spooler running... -is_spooler_running() -{ - # This covers Linux lpd, CUPS, Solaris and AIX 4.x - but what about - # AIX 5.x, HP-UX and IRIX ? - - [ "$(ps -A | egrep 'lpd|lpsched|cupsd|qdaemon' | fgrep -v 'grep')" != "" ] && return 0; - return 1 -} - -XCOMM Wait until the spooler system has been started (but not more than 30secs) -wait_for_print_spooler() -{ - for i in 1 2 3 4 5 6 7 8 9 10 ; do - is_spooler_running && return 0; - sleep 3 - done - - return 0 -} - -lock_server_registry() -{ - lock_counter=0 # counts in 1/100s - waiting_for_lock_msg_send="false" - while ! mkdir "${XP_SERVERS}.lock" 2>/dev/null ; do - # print notice after 2 seconds - if [ ${lock_counter} -gt 200 -a "${waiting_for_lock_msg_send}" != "true" ] ; then - echo "${0}: waiting for lock(=${XP_SERVERS}.lock)..." - waiting_for_lock_msg_send="true" - fi - - # tread the lock as "broken" after 20 seconds - if [ ${lock_counter} -gt 2000 ] ; then - echo "${0}: WARNING: lock timeout for lock(=${XP_SERVERS}.lock)." - return 0 - fi - - if [ -x /bin/usleep ] ; then - /bin/usleep 200000 - lock_counter=$((${lock_counter} + 20)) # 20/100s - else - sleep 1 - lock_counter=$((${lock_counter} + 100)) # 100/100s - fi - done -} - -unlock_server_registry() -{ - rmdir "${XP_SERVERS}.lock" -} - -XCOMM Kill dead registry locks (silently!) -kill_dead_registry_locks() -{ - rm -Rf "${XP_SERVERS}.lock" -} - -XCOMM Start Xprint servers -start_servers() -{ - # Write registry "intro" ... - lock_server_registry - echo "# Xprint server list" >>"${XP_SERVERS}" - echo "# File is for private use for ${0}." >>"${XP_SERVERS}" - echo "# Do not edit, rely on the content or file format." >>"${XP_SERVERS}" - unlock_server_registry - - hostname="$(hostname)" - - default_fontpath="$(get_system_fontlist | fontlist2fontpath)" - default_fontpath_acceptpattern=".*"; - default_fontpath_rejectpattern="_No_Match_"; # Match nothing - - curr=0 - while [ $curr -lt $num_xpstart ] ; do - if [ "${xpstart_remote_server[$curr]}" != "" ] ; then - # Remote Xprt, just put the entry into the registry - lock_server_registry - echo "display=${xpstart_remote_server[$curr]}" >>"${XP_SERVERS}" - unlock_server_registry - else - # Run block in seperate process to avoid that changes to the - # xpstart_* variables affect the next cycle - ( - # Use defaults if there are no special options - [ "${xpstart_fontpath[$curr]}" = "" ] && xpstart_fontpath[$curr]="${default_fontpath}"; - [ "${xpstart_fontpath_acceptpattern[$curr]}" = "" ] && xpstart_fontpath_acceptpattern[$curr]="$default_fontpath_acceptpattern"; - [ "${xpstart_fontpath_rejectpattern[$curr]}" = "" ] && xpstart_fontpath_rejectpattern[$curr]="$default_fontpath_rejectpattern"; - [ "${xpstart_displayid[$curr]}" = "" ] && xpstart_displayid[$curr]="$(FindFreeXDisplayNum)" - [ "${xpstart_logger[$curr]}" = "" ] && xpstart_logger[$curr]="logger -p lpr.notice -t Xprt_${xpstart_displayid[$curr]}"; - [ "${xpstart_logfile[$curr]}" = "" ] && xpstart_logfile[$curr]="/dev/null"; - [ "${xpstart_xprt_binary[$curr]}" = "" ] && xpstart_xprt_binary[$curr]="${XPRT_BIN}"; - if [ "${xpstart_xprt_binary[$curr]}" = "/usr/openwin/bin/Xprt" -o "$(uname -s)" = "SunOS" ] ; then - # Solaris /usr/openwin/bin/Xprt does not support "-nolisten tcp" - # yet nor is it possible to run a Xserver on a unix socket only - # in Solaris since access to the unix domain sockets in - # /tmp/.X11-pipe and /tmp/.X11-unix is restricted to applications - # with group-id "root" (e.g. the Xprt server would need to be - # setgid "root" that plain users can start it listening on a unix - # socket only) - [ "${xpstart_options[$curr]}" = "" ] && xpstart_options[$curr]="-ac -pn" - else - [ "${xpstart_options[$curr]}" = "" ] && xpstart_options[$curr]="-ac -pn -nolisten tcp" - fi - - # Check if the Xprt binary is available - if [ ! -x "${xpstart_xprt_binary[$curr]}" ] ; then - error_echo "Can't find \"${xpstart_xprt_binary[$curr]}\"." - exit 1 # exit block - fi - - # Verify and set location of font encodings directory file - if [ "${xpstart_font_encodings_dir[$curr]}" = "" ] ; then - if [ -f "${XPROJECTROOT}/lib/X11/fonts/xf86encodings/encodings.dir" ] ; then - xpstart_font_encodings_dir[$curr]="${XPROJECTROOT}/lib/X11/fonts/xf86encodings/encodings.dir" - else - xpstart_font_encodings_dir[$curr]="${XPROJECTROOT}/lib/X11/fonts/encodings/encodings.dir"; - fi - fi - - unset FONT_ENCODINGS_DIRECTORY - if [ ! -f "${xpstart_font_encodings_dir[$curr]}" ] ; then - warning_echo "Can't find \"${xpstart_font_encodings_dir[$curr]}\", TrueType font support may not work." - fi - - export FONT_ENCODINGS_DIRECTORY="${xpstart_font_encodings_dir[$curr]}" - - # Generate font path (containing only valid font path elements) - # from input font path and filter expressions - curr_fp=$(echo "${xpstart_fontpath[$curr]}" | - fontpath2fontlist | - filter_fontlist "${xpstart_fontpath_acceptpattern[$curr]}" "${xpstart_fontpath_rejectpattern[$curr]}" | - filter_unsupported_fonts | - sort_scaleable_fonts_first | - validate_fontlist | - fontlist2fontpath) - - # Set Xserver auditing level option - unset curr_audit - if [ "${xpstart_auditlevel[$curr]}" != "" ] ; then - curr_audit="-audit ${xpstart_auditlevel[$curr]}" - fi - - # Set Xprt -XpFile option - unset curr_xpfile - if [ "${xpstart_xpfile[$curr]}" != "" ] ; then - curr_xpfile="-XpFile ${xpstart_xpfile[$curr]}" - fi - - # Set custom XPCONFIGDIR (if there is one) - unset XPCONFIGDIR - if [ "${xpstart_xpconfigdir[$curr]}" != "" ] ; then - export XPCONFIGDIR="${xpstart_xpconfigdir[$curr]}" - fi - - # If someone uses "-nolisten tcp" make sure we do not add a hostname to force local transport - if [ "$(echo "${xpstart_options[$curr]}" | egrep "nolisten.*tcp")" != "" ] ; then - xp_display=":${xpstart_displayid[$curr]}" - else - xp_display="${hostname}:${xpstart_displayid[$curr]}" - fi - - ( - ( - "${xpstart_xprt_binary[$curr]}" \ - ${xpstart_options[$curr]} \ - ${curr_xpfile} ${curr_audit} \ - -fp ${curr_fp} \ - :${xpstart_displayid[$curr]} & - server_pid="$!" - - # Append the new server to the registry - lock_server_registry - echo "display=${xp_display} display_id=${xpstart_displayid[$curr]} pid=${server_pid}" >>"${XP_SERVERS}" - unlock_server_registry - - wait - echo "Xprint server pid=${server_pid} done, exitcode=$?." - - # Remove the dead server from the registry - # (only if the registry still exists - if /etc/init.d/xprint stop" gets called the registry - # will be removed - and we should not re-create it afterwards...) - lock_server_registry - if [ -f "${XP_SERVERS}" ] ; then - x="$(cat "${XP_SERVERS}")" # Store content of file "${XP_SERVERS}" in var "x" - echo "${x}" | fgrep -v "display_id=${xpstart_displayid[$curr]} pid=${server_pid}" >"${XP_SERVERS}" - fi - unlock_server_registry - ) 2>&1 | while read i ; do echo "$i" | tee -a "${xpstart_logfile[$curr]}" | ${xpstart_logger[$curr]} ; done - ) & - ) - fi - - curr=$(($curr + 1)) - done - - # Remove tmp. file created by |FindFreeXDisplayNum()| - rm -f "${lastdisplaynumreturned_store}" - - # Done. - lock_server_registry - echo "# EOF." >>"${XP_SERVERS}" - unlock_server_registry - return 0 -} - - -XCOMM Convenience function to check setup and start Xprt server(s) -do_start() -{ - if [ -f "${XP_SERVERS}" ] ; then - numservers="$(do_get_xpserverlist | wc -l)" - if [ ${numservers} -gt 0 ] ; then - verbose_echo "Xprint servers are already running." - return 0 - else - verbose_echo "Old server registry found, cleaning-up..." - do_stop - fi - fi - - # Check if we can write the registry file - touch "${XP_SERVERS}" 2>/dev/null - if [ ! -f "${XP_SERVERS}" ] ; then - error_echo "Cannot create \"${XP_SERVERS}\"." - # exit code 4 = user had insufficient privilege (LSB) - exit 4 - fi - - if ! setup_config ; then - error_echo "setup_config failed." - exit 1 - fi - - # Provide two paths here - one which simply starts the Xprt servers, - # assuming that there is a print spooler already running (or that - # ${XPCONFIG}/C/print/Xprinters provides static print queue entries - # (like for the PSspooldir print model)) and a 2nd path which - # explicitly checks if the print queue daemons are running - if true ; then - msg "Starting Xprint servers: Xprt." - start_servers - else - # Continue in the background if there is no spooler running yet (that - # we don't hold off the boot process nor run in a possible race-condition - # when /etc/init.d/lpd was not called yet but the runlevel script waits - # for us to finish first ... - if is_spooler_running ; then - msg "Starting Xprint servers: Xprt." - start_servers - else - msg "Starting Xprint servers (in the background): Xprt." - (wait_for_print_spooler ; start_servers) & - sleep 5 - fi - fi - - if [ "${CURRLOGNAME}" = "root" -a -d /var/lock/subsys/ ] ; then - touch /var/lock/subsys/xprint - fi -} - -XCOMM Convenience function to stop Xprt server(s) -do_stop() -{ - msg "Stopping Xprint servers: Xprt." - - lock_server_registry - if [ -f "${XP_SERVERS}" ] ; then - reglist="$(cat "${XP_SERVERS}")" - rm -f "${XP_SERVERS}" - fi - unlock_server_registry - - if [ "${reglist}" != "" ] ; then - echo "${reglist}" | - grep "^display=.*:.* pid=[0-9]*$" | - while read i ; do - ( - eval ${i} - if pexists ${pid} ; then - kill ${pid} - fi - - # Remove the X sockets/pipes which are not in use anymore - # (It would be better if the Xservers would cleanup this - # automatically, but most Xservers do not do that... ;-( - # Note that this will not work on Solaris where applications - # must run with groupid="root" if they want to write into - # /tmp/.X11-unix/ and/or /tmp/.X11-pipe/) - if [ "${display_id}" != "" ] ; then - rm -f "/tmp/.X${display_id}-lock" 2>/dev/null - rm -f "/tmp/.X11-unix/X${display_id}" 2>/dev/null - rm -f "/tmp/.X11-pipe/X${display_id}" 2>/dev/null - fi - ) - done - fi - - if [ "${CURRLOGNAME}" = "root" -a -d /var/lock/subsys/ ] ; then - rm -f /var/lock/subsys/xprint - fi - - # Remove any outstanding (dead) locks and cleanup - rm -f "${XP_SERVERS}" - kill_dead_registry_locks -} - -XCOMM Convenience function to obtain a list of available Xprint servers -do_get_xpserverlist() -{ - if [ -f "${XP_PER_USER_SERVERS}" -o -f "${XP_GLOBAL_SERVERS}" ] ; then - xpserverlist=$( - # Enumerate both per-user and global servers (in that order) - ( - [ -f "${XP_PER_USER_SERVERS}" ] && cat "${XP_PER_USER_SERVERS}" - [ -f "${XP_GLOBAL_SERVERS}" ] && cat "${XP_GLOBAL_SERVERS}" - ) | - egrep "^display=.*:.* pid=[0-9]*$|^display=.*:[0-9]*$" | - while read i ; do - ( - pid="none" - eval ${i} - # Check if the Xprt process exists (if possible) - if [ "$pid" != "none" ] ; then - if pexists ${pid} ; then - echo ${display} - fi - else - echo ${display} - fi - ) - done | tr "\n" " " - ) - # Only produce output if we have some entries... - [ "${xpserverlist}" != "" ] && echo "${xpserverlist}" - fi -} - -do_restart() -{ - msg "Restarting Xprint server(s): Xprt." - do_stop - sleep 1 - do_start -} - -do_diag() -{ - echo "##### Diag start $(date)." - - # General info - echo "## General info start." - ( - echo "PATH=\"${PATH}\"" - echo "TZ=\"${TZ}\"" - echo "LANG=\"${LANG}\"" - echo "uname -a=\"$(uname -a)\"" - echo "uname -s=\"$(uname -s)\"" - echo "uname -p=\"$(uname -p)\"" - echo "uname -i=\"$(uname -i)\"" - echo "uname -m=\"$(uname -m)\"" - echo "has /etc/SuSE-release ... $([ -f "/etc/SuSE-release" ] && echo "yes" || echo "no")" - echo "has /etc/redhat-release ... $([ -f "/etc/redhat-release" ] && echo "yes" || echo "no")" - echo "has /etc/debian_version ... $([ -f "/etc/debian_version" ] && echo "yes" || echo "no")" - echo "how many Xprt servers are running ...$(ps -ef | fgrep Xprt | fgrep -v "grep" | wc -l)" - ) 2>&1 | while read i ; do echo " $i" ; done - echo "## General info end." - - # Testing font paths - echo "## Testing font paths start." - ( - get_system_fontlist | - filter_unsupported_fonts | - sort_scaleable_fonts_first | - validate_fontlist | while read d ; do - echo "#### Testing \"${d}\" ..." - if [ ! -d "$d" ] ; then - echo "# Error: $d does not exists." - continue - fi - if [ ! -r "$d" ] ; then - echo "# Error: $d not readable." - continue - fi - if [ ! -f "${d}/fonts.dir" ] ; then - echo "# Error: ${d}/fonts.dir not found." - continue - else - if [ ! -r "${d}/fonts.dir" ] ; then - echo "# Error: ${d}/fonts.dir not readable." - continue - fi - fi - if [ -f "${d}/fonts.alias" ] ; then - if [ ! -r "${d}/fonts.alias" ] ; then - echo "# Error: ${d}/fonts.alias not readable." - fi - fi - - if [ "$(cat "${d}/fonts.dir" | fgrep 'cursor')" != "" ] ; then - echo "${d}/fonts.dir has cursor font." - fi - if [ "$(cat "${d}/fonts.dir" | fgrep 'fixed')" != "" ] ; then - echo "${d}/fonts.dir has fixed font." - fi - - if [ -r "${d}/fonts.alias" ] ; then - if [ "$(cat "${d}/fonts.alias" | fgrep 'cursor')" != "" ] ; then - echo "${d}/fonts.alias has cursor font." - fi - if [ "$(cat "${d}/fonts.alias" | fgrep 'fixed')" != "" ] ; then - echo "${d}/fonts.alias has fixed font." - fi - fi - - linenum=0 - cat "${d}/fonts.dir" | while read i1 i2 i3 i4 ; do - linenum=$((${linenum} + 1)) - [ ${linenum} -eq 1 ] && continue - - if [ ! -f "${d}/${i1}" ] ; then - echo "ERROR: ${d}/fonts.dir line ${linenum} has non-exististant font \"${i1}\" (=\"${i1} ${i2} ${i3} ${i4}\")" - fi - done - done - ) 2>&1 | while read i ; do echo " $i" ; done - echo "## Testing font paths end." - - echo "##### Diag End $(date)." -} - -XCOMM Set platform-defaults for setup_config() -setup_config_defaults() -{ - curr_num_xpstart="${1}" - - #### Defaults for Linux/Solaris - # Start Xprt using builtin XPCONFIGDIR at a free display numer - # (Solaris(=SunOS5.x)'s /usr/openwin/bin/Xprt supports TrueType fonts, - # therefore we don't need to filter them) - xpstart_fontpath[${curr_num_xpstart}]=""; - xpstart_fontpath_acceptpattern[${curr_num_xpstart}]=".*"; - xpstart_fontpath_rejectpattern[${curr_num_xpstart}]="/Speedo|/F3bitmaps|/F3"; - xpstart_displayid[${curr_num_xpstart}]=""; - xpstart_xpconfigdir[${curr_num_xpstart}]=""; - xpstart_xpfile[${curr_num_xpstart}]=""; - xpstart_auditlevel[${curr_num_xpstart}]="4"; - xpstart_options[${curr_num_xpstart}]=""; - xpstart_logger[${curr_num_xpstart}]=""; - # Check whether we have /dev/stderr (needed for old AIX + old Debian) - if [ -w "/dev/stderr" ] ; then - xpstart_logfile[${curr_num_xpstart}]="/dev/stderr"; - else - xpstart_logfile[${curr_num_xpstart}]="/dev/tty"; - fi - xpstart_xprt_binary[${curr_num_xpstart}]=""; - - # Custom rules for the GISWxprintglue package on Solaris - # (which uses Solaris's /usr/openwin/bin/Xprt but a custom config) - if [ "${XPCUSTOMGLUE}" = "GISWxprintglue" ] ; then - xpstart_xpconfigdir[${curr_num_xpstart}]="/opt/GISWxprintglue/server/etc/XpConfig" - xpstart_xprt_binary[${curr_num_xpstart}]="/usr/openwin/bin/Xprt" - fi - # Custom rules for the GISWxprint package on Solaris - # (which uses both it's own Xprt and a custom config) - if [ "${XPCUSTOMGLUE}" = "GISWxprint" ] ; then - xpstart_xpconfigdir[${curr_num_xpstart}]="/opt/GISWxprint/server/etc/XpConfig" - xpstart_xprt_binary[${curr_num_xpstart}]="/opt/GISWxprint/bin/Xprt" - xpstart_font_encodings_dir[${curr_num_xpstart}]="/opt/GISWxprint/lib/X11/fonts/encodings/encodings.dir" - fi - - ####################################################### - ### - ### Debian Xprint package default configuration - ### - if [ "${XPCUSTOMGLUE}" = "DebianGlue" ] ; then - # Set XPCONFIGDIR=/usr/share/Xprint/xserver - xpstart_xpconfigdir[${curr_num_xpstart}]="/usr/share/Xprint/xserver"; - - # Use fixed display ID (":64"), or else all client programs will have to be - # restarted simply to update XPSERVERLIST to the latest ID when upgrading, - # which would be a nightmare. - xpstart_displayid[${curr_num_xpstart}]=64; - - # Do not send any messages to console - xpstart_logfile[${curr_num_xpstart}]="/dev/null"; - - # By default use binary provided by Debian's "xprt-xprintorg" package - # (=/usr/bin/Xprt), otherwise leave blank (e.g. use script's default - # (=/usr/X11R6/bin/Xprt)) - if [ -x "/usr/bin/Xprt" ] ; then - xpstart_xprt_binary[${curr_num_xpstart}]="/usr/bin/Xprt"; - fi - fi - ### - ### End Debian default configuration - ### - ####################################################### -} - -fetch_etc_initd_xprint_envvars() -{ - curr_num_xpstart="${1}" - - ## Process some $ETC_INITD_XPRINT_* vars after all which may be used by - # a user to override the hardcoded values here when starting Xprt per-user - # (a more flexible way is to provide an own setup config script in - # "~./Xprint_per_user_startup" - see above) - if [ "${ETC_INITD_XPRINT_XPRT_PATH}" != "" ] ; then - xpstart_xprt_binary[${curr_num_xpstart}]="${ETC_INITD_XPRINT_XPRT_PATH}" - fi - if [ "${ETC_INITD_XPRINT_XPCONFIGDIR}" != "" ] ; then - xpstart_xpconfigdir[${curr_num_xpstart}]="${ETC_INITD_XPRINT_XPCONFIGDIR}" - fi - if [ "${ETC_INITD_XPRINT_XPFILE}" != "" ] ; then - xpstart_xpfile[${curr_num_xpstart}]="${ETC_INITD_XPRINT_XPFILE}" - fi - if [ "${ETC_INITD_XPRINT_LOGFILE}" != "" ] ; then - xpstart_logfile[${curr_num_xpstart}]="${ETC_INITD_XPRINT_LOGFILE}" - fi - if [ "${ETC_INITD_XPRINT_DISPLAYID}" != "" ] ; then - xpstart_displayid[${curr_num_xpstart}]="${ETC_INITD_XPRINT_DISPLAYID}" - fi - if [ "${ETC_INITD_XPRINT_FONTPATH}" != "" ] ; then - xpstart_fontpath[${curr_num_xpstart}]="${ETC_INITD_XPRINT_FONTPATH}" - fi - if [ "${ETC_INITD_XPRINT_XPRT_OPTIONS}" != "" ] ; then - xpstart_options[${curr_num_xpstart}]="${ETC_INITD_XPRINT_XPRT_OPTIONS}" - fi - if [ "${ETC_INITD_XPRINT_AUDITLEVEL}" != "" ] ; then - xpstart_auditlevel[${curr_num_xpstart}]="${ETC_INITD_XPRINT_AUDITLEVEL}" - fi - if [ "${ETC_INITD_XPRINT_XF86ENCODINGSDIR}" != "" ] ; then - xpstart_font_encodings_dir[${curr_num_xpstart}]="${ETC_INITD_XPRINT_XF86ENCODINGSDIR}" - fi -} - -XCOMM########################################################################### -XCOMM setup_config() sets the configuration parameters used to start one -XCOMM or more Xprint servers ("Xprt"). -XCOMM The following variables are used: -XCOMM - "num_xpstart" - number of servers to start -XCOMM - "xpstart_fontpath[index]" - custom font path. Leave blank if you want -XCOMM the platform-specific default -XCOMM - "xpstart_fontpath_acceptpattern[index]" - extended regular expression -XCOMM (see egrep(1)) used to filter the font path - items only pass this -XCOMM filter if they match the pattern (leave blank if you want to filter -XCOMM nothing) -XCOMM - "xpstart_fontpath_rejectpattern[index]" - extended regular expression -XCOMM (see egrep(1)) used to filter the font path - items only pass this -XCOMM filter if they do not match the pattern (leave blank if you want to -XCOMM filter nothing) -XCOMM - "xpstart_font_encodings_dir[index]" - location of "encodings.dir". -XCOMM Leave blank to use the default. -XCOMM - "xpstart_displayid[index]" - display id to use for the Xprint server -XCOMM (leave blank to choose the next available free display id) -XCOMM - "xpstart_xpconfigdir[index]" - value for custom XPCONFIGDIR (leave blank -XCOMM if you don not want that that XPCONFIGDIR is set at Xprt startup) -XCOMM - "xpstart_xpfile[index]" - value used for Xprt's "-XpFile" option (leave -XCOMM blank if you do not want to set this option) -XCOMM - "xpstart_auditlevel[index]" - set Xserver auditing level (leave blank to -XCOMM use no auditing) -XCOMM - "xpstart_options[index]" - set further Xprt options (leave blank to set -XCOMM no further options) -XCOMM - "xpstart_logger[index]" - utility which gets stderr/stdout messages from -XCOMM Xprt and sends them to a logging daemon. Leave blank to use /usr/bin/logger -XCOMM to send such messages to the lpr.notice syslog) -XCOMM - "xpstart_logfile[index]" - log file to append stderr/stdout messages from -XCOMM Xprt to. Leave blank to send messages to /dev/null -XCOMM - "xpstart_xprt_binary[index]" - set custom Xprt binary (leave blank to use -XCOMM the platform-specifc default) -setup_config() -{ - num_xpstart=0; - - if [ "${ETC_INITD_XPRINT_CUSTOM_SETUP_CONFIG}" != "" ] ; then - user_cfg="${ETC_INITD_XPRINT_CUSTOM_SETUP_CONFIG}" - else - user_cfg="${HOME}/.Xprint_per_user_startup" - fi - - # Source per-user ~/.Xprint_per_user_startup file if there is one - # (and do not use the script's defaults below) - if [ -r "${user_cfg}" ] ; then - # Define API version which should be checked by ${HOME}/.Xprint_per_user_startup - # ${HOME}/.Xprint_per_user_startup should bail-out if the version differ - etc_initd_xprint_api_version=2 - - # Source per-user settings script - . "${user_cfg}" - - # done with setting the config for per-user Xprt instances - return 0; - else - # Use /etc/init.d/xprint's builtin config - # Each entry should start with |setup_config_defaults| to pull the - # platform defaults and finish with |num_xpstart=$(($num_xpstart + 1))| - # to end the entry - - # Set platform-defaults - setup_config_defaults "${num_xpstart}" - - ## -- snip -- - - # Admins can put their stuff "in" here... - - ## -- snip -- - - # Override script's builtin values with those a user may set via the - # $ETC_INIITD_XPRINT_* env vars - fetch_etc_initd_xprint_envvars "${num_xpstart}" - - num_xpstart=$((${num_xpstart} + 1)) - - return 0; - fi - - #### Sample 1: - # # Start Xprt on a free display ID with custom XPCONFIGDIR and without - # # Speedo and TrueType fonts - # xpstart_fontpath_rejectpattern[$num_xpstart]="/Speedo|/TrueType|/TT(/$|$)|/TTF(/$|$)"; - # xpstart_xpconfigdir[$num_xpstart]="/home/gisburn/cwork/Xprint/Xprt_config/XpConfig"; - # xpstart_auditlevel[$num_xpstart]="4"; - # xpstart_options[$num_xpstart]="-ac -pn"; - #num_xpstart=$(($num_xpstart + 1)) - - - #### Sample 2: - # # Start Xprt without TrueType fonts on a display 55 with custom - # # XPCONFIGDIR - # xpstart_fontpath_rejectpattern[$num_xpstart]="/TrueType|/TT(/$|$)|/TTF(/$|$)"; - # xpstart_displayid[$num_xpstart]=55; - # xpstart_xpconfigdir[$num_xpstart]="/home/gisburn/cwork/Xprint/Xprt_config/XpConfig"; - # xpstart_auditlevel[$num_xpstart]=4; - # xpstart_options[$num_xpstart]="-ac -pn"; - #num_xpstart=$(($num_xpstart + 1)) - - #### Sample 3: - # # Start Xprt without TrueType fonts on a display 56 with custom - # # XPCONFIGDIR and alternate "Xprinters" file - # xpstart_fontpath_rejectpattern[$num_xpstart]="/TrueType|/TT(/$|$)|/TTF(/$|$)"; - # xpstart_displayid[$num_xpstart]=56; - # xpstart_xpconfigdir[$num_xpstart]="/etc/XpConfig/default"; - # xpstart_xpfile[$num_xpstart]="/etc/XpConfig/default/Xprinters_test2" - # xpstart_auditlevel[$num_xpstart]="4"; - # xpstart_options[$num_xpstart]="-ac -pn"; - # xpstart_xprt_binary[$num_xpstart]=""; - #num_xpstart=$(($num_xpstart + 1)) - - #### Sample 4: - # # Start Xprt with Solaris ISO-8859-7 (greek(="el") locale) fonts on - # # display 57 - # xpstart_fontpath[$num_xpstart]="/usr/openwin/lib/locale/iso_8859_7/X11/fonts/75dpi,/usr/openwin/lib/locale/iso_8859_7/X11/fonts/Type1,/usr/openwin/lib/X11/fonts/misc/"; - # xpstart_fontpath_acceptpattern[$num_xpstart]=""; - # xpstart_fontpath_rejectpattern[$num_xpstart]="_No_Match_"; - # xpstart_displayid[$num_xpstart]="57"; - # xpstart_auditlevel[$num_xpstart]="4"; - # xpstart_options[$num_xpstart]="-ac -pn"; - #num_xpstart=$(($num_xpstart + 1)) - - #### Sample 5: - # # Start Xprt with the font list of an existing Xserver (excluding Speedo fonts) on - # # display 58 - # # Note that this only works within a X session. At system boot time - # # there will be no $DISPLAY to fetch the information from!! - # xpstart_fontpath[$num_xpstart]="$(get_fontlist_from_display ${DISPLAY} | fontlist2fontpath)"; - # xpstart_fontpath_acceptpattern[$num_xpstart]=""; - # xpstart_fontpath_rejectpattern[$num_xpstart]=""; - # xpstart_displayid[$num_xpstart]="58"; - # xpstart_xpconfigdir[$num_xpstart]=""; - # xpstart_auditlevel[$num_xpstart]="4"; - # xpstart_options[$num_xpstart]="-ac -pn"; - # xpstart_xprt_binary[$num_xpstart]=""; - #num_xpstart=$(($num_xpstart + 1)) - - #### Sample 6: - # # List remote Xprt's here - # # (note that there is no test to check whether these DISPLAYs are valid!) - # xpstart_remote_server[$num_xpstart]="sera:12" ; num_xpstart=$(($num_xpstart + 1)) - # xpstart_remote_server[$num_xpstart]="gandalf:19" ; num_xpstart=$(($num_xpstart + 1)) -} - -XCOMM########################################################################### - -XCOMM Main -case "$1" in - ## Start Xprint servers - 'start') - do_start - ;; - - ## Stop Xprint servers - # Note that this does _not_ kill Xprt instances started using this script - # by non-root users - 'stop') - do_stop - ;; - - ## Restart Xprint servers - 'restart'|'force-reload') - do_restart - ;; - - ## Reload configuration without stopping and restarting - 'reload') - # not supported - msg "reload not supported, use 'restart' or 'force-reload'" - exit 3 - ;; - - ## Restart Xprint only if it is already running - 'condrestart'|'try-restart') - # only restart if it is already running - [ -f /var/lock/subsys/xprint ] && do_restart || : - ;; - - ## Get list of all Xprint servers for this user - # (incl. per-user and system-wide instances) - 'get_xpserverlist') - do_get_xpserverlist - ;; - - ## Get status of Xprint servers, RedHat-style - 'status') - x="$(do_get_xpserverlist)" - if [ "${x}" != "" ] ; then - msg "Xprint (${x}) is running..." - exit 0 - else - msg "Xprint is stopped" - exit 3 - fi - ;; - - ## Wrapper - 'wrapper') - cmd="${2}" - [ "${cmd}" = "" ] && fatal_error "No command given." - shift ; shift - export XPSERVERLIST="$(do_get_xpserverlist)" - [ "${XPSERVERLIST}" = "" ] && fatal_error "No Xprint servers found." - exec "${cmd}" "$@" - ;; - - ## Wrapper for "xplsprinters" - 'lsprinters') - [ "${ETC_INITD_XPRINT_XPLSPRINTERS_PATH}" != "" ] && cmd="${ETC_INITD_XPRINT_XPLSPRINTERS_PATH}" - [ "${cmd}" = "" -a "${XPCUSTOMGLUE}" = "GISWxprintglue" ] && cmd="/opt/GISWxprintglue/bin/xplsprinters" - [ "${cmd}" = "" -a "${XPCUSTOMGLUE}" = "GISWxprint" ] && cmd="/opt/GISWxprint/bin/xplsprinters" - [ "${cmd}" = "" -a "${XPROJECTROOT}" != "" ] && cmd="${XPROJECTROOT}/bin/xplsprinters" - [ "${cmd}" = "" ] && cmd="xplsprinters" - - shift - export XPSERVERLIST="$(do_get_xpserverlist)" - [ "${XPSERVERLIST}" = "" ] && fatal_error "No Xprint servers found." - exec "${cmd}" "$@" - ;; - - ## Diagnostics - 'diag') - do_diag - ;; - - ## Print usage - *) - msg "Usage: $0 { start | stop | restart | reload | force-reload | status | condrestart | try-restart | wrapper | lsprinters | get_xpserverlist | diag }" - exit 2 -esac -exit 0 - -XCOMM EOF. diff --git a/xorg-server/hw/xprint/etc/profile.d/Makefile.am b/xorg-server/hw/xprint/etc/profile.d/Makefile.am deleted file mode 100644 index b91a9115a..000000000 --- a/xorg-server/hw/xprint/etc/profile.d/Makefile.am +++ /dev/null @@ -1 +0,0 @@ -EXTRA_DIST = xprint.csh xprint.sh diff --git a/xorg-server/hw/xprint/etc/profile.d/Makefile.in b/xorg-server/hw/xprint/etc/profile.d/Makefile.in deleted file mode 100644 index f9d85b409..000000000 --- a/xorg-server/hw/xprint/etc/profile.d/Makefile.in +++ /dev/null @@ -1,532 +0,0 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008 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 = hw/xprint/etc/profile.d -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 = -SOURCES = -DIST_SOURCES = -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@ -DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ -DRI2PROTO_LIBS = @DRI2PROTO_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@ -DSYMUTIL = @DSYMUTIL@ -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@ -GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ -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@ -LAUNCHD = @LAUNCHD@ -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@ -NMEDIT = @NMEDIT@ -OBJC = @OBJC@ -OBJCCLD = @OBJCCLD@ -OBJCDEPMODE = @OBJCDEPMODE@ -OBJCFLAGS = @OBJCFLAGS@ -OBJCLINK = @OBJCLINK@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ -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@ -PCIACCESS_CFLAGS = @PCIACCESS_CFLAGS@ -PCIACCESS_LIBS = @PCIACCESS_LIBS@ -PCI_TXT_IDS_PATH = @PCI_TXT_IDS_PATH@ -PERL = @PERL@ -PKG_CONFIG = @PKG_CONFIG@ -PROJECTROOT = @PROJECTROOT@ -PS2PDF = @PS2PDF@ -RANLIB = @RANLIB@ -RAWCPP = @RAWCPP@ -RAWCPPFLAGS = @RAWCPPFLAGS@ -SED = @SED@ -SERVER_MISC_CONFIG_PATH = @SERVER_MISC_CONFIG_PATH@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ -SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ -STRIP = @STRIP@ -TSLIB_CFLAGS = @TSLIB_CFLAGS@ -TSLIB_LIBS = @TSLIB_LIBS@ -UTILS_SYS_LIBS = @UTILS_SYS_LIBS@ -VENDOR_MAN_VERSION = @VENDOR_MAN_VERSION@ -VENDOR_NAME = @VENDOR_NAME@ -VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ -VENDOR_RELEASE = @VENDOR_RELEASE@ -VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ -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_CFLAGS = @XDMX_CFLAGS@ -XDMX_LIBS = @XDMX_LIBS@ -XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ -XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ -XEPHYR_INCS = @XEPHYR_INCS@ -XEPHYR_LIBS = @XEPHYR_LIBS@ -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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ -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@ -XNEST_SYS_LIBS = @XNEST_SYS_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_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@ -XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_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@ -XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ -XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ -XTSTEXAMPLES_DEP_LIBS = @XTSTEXAMPLES_DEP_LIBS@ -XVFB_LIBS = @XVFB_LIBS@ -XVFB_SYS_LIBS = @XVFB_SYS_LIBS@ -XWINMODULES_CFLAGS = @XWINMODULES_CFLAGS@ -XWINMODULES_LIBS = @XWINMODULES_LIBS@ -XWIN_LIBS = @XWIN_LIBS@ -XWIN_SERVER_NAME = @XWIN_SERVER_NAME@ -XWIN_SYS_LIBS = @XWIN_SYS_LIBS@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -__XCONFIGFILE__ = @__XCONFIGFILE__@ -abi_ansic = @abi_ansic@ -abi_extension = @abi_extension@ -abi_font = @abi_font@ -abi_videodrv = @abi_videodrv@ -abi_xinput = @abi_xinput@ -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@ -launchagentsdir = @launchagentsdir@ -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_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ -EXTRA_DIST = xprint.csh xprint.sh -all: all-am - -.SUFFIXES: -$(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/xprint/etc/profile.d/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign hw/xprint/etc/profile.d/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 -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 -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 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-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: - -.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-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 - -# 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/xorg-server/hw/xprint/etc/profile.d/xprint.csh b/xorg-server/hw/xprint/etc/profile.d/xprint.csh deleted file mode 100644 index 7cc675840..000000000 --- a/xorg-server/hw/xprint/etc/profile.d/xprint.csh +++ /dev/null @@ -1,16 +0,0 @@ -# -# /etc/profile.d/xprint.csh -# -# Copyright (c) 2002-2004 by Roland Mainz -# please send bugfixes or comments to http://xprint.mozdev.org/ - - -# -# Obtain list of Xprint servers -# - -if ( -f /etc/init.d/xprint ) then - setenv XPSERVERLIST "`/bin/sh /etc/init.d/xprint get_xpserverlist`" -endif - -# /etc/profile.d/xprint.csh ends here. diff --git a/xorg-server/hw/xprint/etc/profile.d/xprint.sh b/xorg-server/hw/xprint/etc/profile.d/xprint.sh deleted file mode 100644 index b5b46c1e7..000000000 --- a/xorg-server/hw/xprint/etc/profile.d/xprint.sh +++ /dev/null @@ -1,16 +0,0 @@ -# -# /etc/profile.d/xprint.sh -# -# Copyright (c) 2002-2004 by Roland Mainz -# please send bugfixes or comments to http://xprint.mozdev.org/ - -# -# Obtain list of Xprint servers -# - -if [ -f "/etc/init.d/xprint" ] ; then - XPSERVERLIST="`/bin/sh /etc/init.d/xprint get_xpserverlist`" - export XPSERVERLIST -fi - -# /etc/profile.d/xprint.sh ends here. diff --git a/xorg-server/hw/xprint/mediaSizes.c b/xorg-server/hw/xprint/mediaSizes.c deleted file mode 100644 index 7acc70679..000000000 --- a/xorg-server/hw/xprint/mediaSizes.c +++ /dev/null @@ -1,782 +0,0 @@ -/* -(c) Copyright 1996 Hewlett-Packard Company -(c) Copyright 1996 International Business Machines Corp. -(c) Copyright 1996 Sun Microsystems, Inc. -(c) Copyright 1996 Novell, Inc. -(c) Copyright 1996 Digital Equipment Corp. -(c) Copyright 1996 Fujitsu Limited -(c) Copyright 1996 Hitachi, Ltd. - -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. -*/ -/******************************************************************* -** -** ********************************************************* -** * -** * File: mediaSizes.c -** * -** * Contents: -** * Routines to return the sizes associated -** * with particular media and particular printers. -** * -** * Created: 2/19/96 -** * -** * Copyright: Copyright 1993,1995 Hewlett-Packard Company -** * -** ********************************************************* -** -********************************************************************/ - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include - -#include -#include "dixstruct.h" -#include "screenint.h" -#include "misc.h" -#include "scrnintstr.h" -#include - -#include "DiPrint.h" -#include "attributes.h" - -typedef struct { - XpOid page_size; - float width; - float height; -} PageDimensionsRec; - -static PageDimensionsRec PageDimensions[] = -{ - {xpoid_val_medium_size_na_letter, 215.9, 279.4}, - {xpoid_val_medium_size_na_legal, 215.9, 355.6}, - {xpoid_val_medium_size_executive, 184.15, 266.7}, - {xpoid_val_medium_size_folio, 210.82, 330.2}, - {xpoid_val_medium_size_invoice, 139.7, 215.9}, - {xpoid_val_medium_size_ledger, 279.4, 431.8}, - {xpoid_val_medium_size_quarto, 215.9, 275.082}, - {xpoid_val_medium_size_a, 215.9, 279.4}, - {xpoid_val_medium_size_b, 279.4, 431.8}, - {xpoid_val_medium_size_c, 431.8, 558.8}, - {xpoid_val_medium_size_d, 558.8, 863.6}, - {xpoid_val_medium_size_e, 863.6, 1117.6}, - {xpoid_val_medium_size_na_6x9_envelope, 152.4, 228.6}, - {xpoid_val_medium_size_na_10x15_envelope, 254, 381}, - {xpoid_val_medium_size_monarch_envelope, 98.298, 190.5}, - {xpoid_val_medium_size_na_10x13_envelope, 254, 330.2}, - {xpoid_val_medium_size_na_9x12_envelope, 228.6, 304.8}, - {xpoid_val_medium_size_na_number_10_envelope, 104.775, 241.3}, - {xpoid_val_medium_size_na_7x9_envelope, 177.8, 228.6}, - {xpoid_val_medium_size_na_9x11_envelope, 228.6, 279.4}, - {xpoid_val_medium_size_na_10x14_envelope, 254, 355.6}, - {xpoid_val_medium_size_na_number_9_envelope, 98.425, 225.425}, - {xpoid_val_medium_size_iso_a0, 841, 1189}, - {xpoid_val_medium_size_iso_a1, 594, 841}, - {xpoid_val_medium_size_iso_a2, 420, 594}, - {xpoid_val_medium_size_iso_a3, 297, 420}, - {xpoid_val_medium_size_iso_a4, 210, 297}, - {xpoid_val_medium_size_iso_a5, 148, 210}, - {xpoid_val_medium_size_iso_a6, 105, 148}, - {xpoid_val_medium_size_iso_a7, 74, 105}, - {xpoid_val_medium_size_iso_a8, 52, 74}, - {xpoid_val_medium_size_iso_a9, 37, 52}, - {xpoid_val_medium_size_iso_a10, 26, 37}, - {xpoid_val_medium_size_iso_b0, 1000, 1414}, - {xpoid_val_medium_size_iso_b1, 707, 1000}, - {xpoid_val_medium_size_iso_b2, 500, 707}, - {xpoid_val_medium_size_iso_b3, 353, 500}, - {xpoid_val_medium_size_iso_b4, 250, 353}, - {xpoid_val_medium_size_iso_b5, 176, 250}, - {xpoid_val_medium_size_iso_b6, 125, 176}, - {xpoid_val_medium_size_iso_b7, 88, 125}, - {xpoid_val_medium_size_iso_b8, 62, 88}, - {xpoid_val_medium_size_iso_b9, 44, 62}, - {xpoid_val_medium_size_iso_b10, 31, 44}, - {xpoid_val_medium_size_jis_b0, 1030, 1456}, - {xpoid_val_medium_size_jis_b1, 728, 1030}, - {xpoid_val_medium_size_jis_b2, 515, 728}, - {xpoid_val_medium_size_jis_b3, 364, 515}, - {xpoid_val_medium_size_jis_b4, 257, 364}, - {xpoid_val_medium_size_jis_b5, 182, 257}, - {xpoid_val_medium_size_jis_b6, 128, 182}, - {xpoid_val_medium_size_jis_b7, 91, 128}, - {xpoid_val_medium_size_jis_b8, 64, 91}, - {xpoid_val_medium_size_jis_b9, 45, 64}, - {xpoid_val_medium_size_jis_b10, 32, 45}, - {xpoid_val_medium_size_hp_2x_postcard, 148, 200}, - {xpoid_val_medium_size_hp_european_edp, 304.8, 355.6}, - {xpoid_val_medium_size_hp_mini, 139.7, 215.9}, - {xpoid_val_medium_size_hp_postcard, 100, 148}, - {xpoid_val_medium_size_hp_tabloid, 279.4, 431.8}, - {xpoid_val_medium_size_hp_us_edp, 279.4, 355.6}, - {xpoid_val_medium_size_hp_us_government_legal, 203.2, 330.2}, - {xpoid_val_medium_size_hp_us_government_letter, 203.2, 254}, - {xpoid_val_medium_size_iso_c3, 324, 458}, - {xpoid_val_medium_size_iso_c4, 229, 324}, - {xpoid_val_medium_size_iso_c5, 162, 229}, - {xpoid_val_medium_size_iso_c6, 114, 162}, - {xpoid_val_medium_size_iso_designated_long, 110, 220} -}; - -/* - * XpGetResolution returns an integer representing the printer resolution - * in dots-per-inch for the specified print context. - * - * Note: This routine assumes the values found in the passed context's - * attributes pools have been validated. - */ -int -XpGetResolution( - XpContextPtr pContext) -{ - unsigned long resolution; - - resolution = XpGetCardAttr(pContext, XPPageAttr, - xpoid_att_default_printer_resolution, - (XpOidCardList*)NULL); - if(0 == resolution) - resolution = XpGetCardAttr(pContext, XPDocAttr, - xpoid_att_default_printer_resolution, - (XpOidCardList*)NULL); - if(0 == resolution) - { - XpOidCardList* resolutions_supported; - /* - * default-printer-resolution not specified; default to 1st entry - * in printer-resolutions-supported. - */ - resolutions_supported = - XpGetCardListAttr(pContext, XPPrinterAttr, - xpoid_att_printer_resolutions_supported, - (XpOidCardList*)NULL); - resolution = XpOidCardListGetCard(resolutions_supported, 0); - XpOidCardListDelete(resolutions_supported); - } - return (int)resolution; -} - -/* - * XpGetContentOrientation determines the content-orientation as - * determined by the passed context. The page and document pools are - * queried in turn for a specified content-orientation attribute. If none - * is found the first content-orientation in the - * content-orientations-supported printer attribute is taken as the - * default. - * - * Note: This routine assumes the values found in the passed context's - * attributes pools have been validated. - */ -XpOid -XpGetContentOrientation( - XpContextPtr pContext) -{ - XpOid orientation; - - orientation = XpGetOidAttr(pContext, XPPageAttr, - xpoid_att_content_orientation, - (XpOidList*)NULL); - if(xpoid_none == orientation) - orientation = XpGetOidAttr(pContext, XPDocAttr, - xpoid_att_content_orientation, - (XpOidList*)NULL); - if(xpoid_none == orientation) - { - XpOidList* content_orientations_supported; - - content_orientations_supported = - XpGetListAttr(pContext, XPPrinterAttr, - xpoid_att_content_orientations_supported, - (XpOidList*)NULL); - orientation = XpOidListGetOid(content_orientations_supported, 0); - XpOidListDelete(content_orientations_supported); - } - return orientation; -} - -/* - * XpGetAvailableCompression determines the available-compression as - * determined by the passed context. The page and document pools are - * queried in turn for a specified content-orientation attribute. If none - * is found the first available-compression in the - * avaiable-compressions-supported printer attribute is taken as the - * default. - * - * Note: This routine assumes the values found in the passed context's - * attributes pools have been validated. - */ -XpOid -XpGetAvailableCompression( - XpContextPtr pContext) -{ - XpOid compression; - - compression = XpGetOidAttr(pContext, XPPageAttr, - xpoid_att_available_compression, - (XpOidList*)NULL); - if(xpoid_none == compression) - compression = XpGetOidAttr(pContext, XPDocAttr, - xpoid_att_available_compression, - (XpOidList*)NULL); - if(xpoid_none == compression) - { - XpOidList* available_compressions_supported; - - available_compressions_supported = - XpGetListAttr(pContext, XPPrinterAttr, - xpoid_att_available_compressions_supported, - (XpOidList*)NULL); - compression = XpOidListGetOid(available_compressions_supported, 0); - XpOidListDelete(available_compressions_supported); - } - return compression; -} - -/* - * XpGetPlex determines the plex as determined by the passed context. The page - * and document pools are queried in turn for a specified plex attribute. If - * none is found the first plex in the plexes-supported printer attribute is - * taken as the default. - * - * Note: This routine assumes the values found in the passed context's - * attributes pools have been validated. - */ -XpOid -XpGetPlex( - XpContextPtr pContext) -{ - XpOid plex; - - plex = XpGetOidAttr(pContext, XPPageAttr, xpoid_att_plex, - (XpOidList*)NULL); - if(xpoid_none == plex) - plex = XpGetOidAttr(pContext, XPDocAttr, xpoid_att_plex, - (XpOidList*)NULL); - if(xpoid_none == plex) - { - XpOidList* plexes_supported; - - plexes_supported = - XpGetListAttr(pContext, XPPrinterAttr, - xpoid_att_plexes_supported, - (XpOidList*)NULL); - plex = XpOidListGetOid(plexes_supported, 0); - XpOidListDelete(plexes_supported); - } - return plex; -} - -/* - * XpGetPageSize returns the XpOid of the current page size (medium names - * are page sizes in this implementation) as indicated by the passed - * context. - * - * The relevant input-tray is returned in pTray. This parm must not be - * NULL. If the input-tray is not indicated or irrelevant, xpoid_none - * will be returned. - * - * This function optionally takes a XpOidMediumSS representation of the - * medium-source-sizes-supported attribute in order to avoid parsing the - * string value twice for calling functions that need to parse m-s-s-s - * anyway (e.g. XpGetReproductionArea). If the caller has no other reason - * to parse medium-source-sizes-supported, it is recommended that NULL be - * passed. This function will obtain medium-source-sizes-supported if it - * needs to. - * - * Note: This routine assumes the values found in the passed context's - * attributes pools have been validated. - */ -XpOid -XpGetPageSize(XpContextPtr pContext, - XpOid* pTray, - const XpOidMediumSS* msss) -{ - XpOid medium; - /* - * check to see if default-medium is specified - */ - medium = XpGetOidAttr(pContext, XPPageAttr, xpoid_att_default_medium, - (const XpOidList*)NULL); - if(medium == xpoid_none) - { - /* - * default-medium not in page pool; try the document pool - */ - medium = XpGetOidAttr(pContext, XPDocAttr, xpoid_att_default_medium, - (const XpOidList*)NULL); - } - if(medium == xpoid_none) - { - /* - * default-medium not specified; try default-input-tray - */ - *pTray = XpGetOidAttr(pContext, XPPageAttr, - xpoid_att_default_input_tray, - (const XpOidList*)NULL); - if(*pTray == xpoid_none) - { - /* - * default-input-tray not in page pool; try the document pool - */ - *pTray = XpGetOidAttr(pContext, XPDocAttr, - xpoid_att_default_input_tray, - (const XpOidList*)NULL); - } - if(*pTray != xpoid_none) - { - /* - * default-input-tray found; get corresponding medium from - * input-trays-medium - */ - XpOidTrayMediumList* input_trays_medium; - int i; - - input_trays_medium = - XpGetTrayMediumListAttr(pContext, XPPrinterAttr, - xpoid_att_input_trays_medium, - (const XpOidList*)NULL, - (const XpOidMediumSS*)NULL); - for(i = 0; i < XpOidTrayMediumListCount(input_trays_medium); i++) - { - if(*pTray == XpOidTrayMediumListTray(input_trays_medium, i)) - { - medium = XpOidTrayMediumListMedium(input_trays_medium, i); - break; - } - } - XpOidTrayMediumListDelete(input_trays_medium); - } - } - else - *pTray = xpoid_none; - - if(medium == xpoid_none) - { - XpOidMediumSS* local_msss = (XpOidMediumSS*)NULL; - int i_mss, i_ds; - XpOidMediumDiscreteSizeList* ds_list; - /* - * no medium specified; use 1st page size found in - * medium-source-sizes-supported - */ - if((XpOidMediumSS*)NULL == msss) - msss = local_msss = - XpGetMediumSSAttr(pContext, XPPrinterAttr, - xpoid_att_medium_source_sizes_supported, - (const XpOidList*)NULL, - (const XpOidList*)NULL); - for(i_mss = 0; - i_mss < XpOidMediumSSCount(msss) && xpoid_none == medium; - i_mss++) - { - if(XpOidMediumSS_DISCRETE == (msss->mss)[i_mss].mstag - && - xpoid_none != (msss->mss)[i_mss].input_tray) - { - ds_list = (msss->mss)[i_mss].ms.discrete; - for(i_ds = 0; i_ds < ds_list->count; i_ds++) - { - if(xpoid_none != (ds_list->list)[i_ds].page_size) - { - medium = (ds_list->list)[i_ds].page_size; - break; - } - } - } - } - XpOidMediumSSDelete(local_msss); - } - return medium; -} - -/* - * XpGetMediumMillimeters returns into the supplied float pointers the - * width and height in millimeters of the passed page size identifier. - */ -void -XpGetMediumMillimeters( - XpOid page_size, - float *width, /* return */ - float *height) /* return */ -{ - int i; - - *width = *height = 0; - for(i = 0; i < XpNumber(PageDimensions); i++) - { - if(page_size == PageDimensions[i].page_size) - { - *width = PageDimensions[i].width; - *height = PageDimensions[i].height; - return; - } - } -} - -/* - * Converts a millimeter specification into pixels given a resolution in - * DPI. - */ -static float -MmToPixels(float mm, int resolution) -{ - float f; - - f = mm * resolution; - f /= 25.4; - return f; -} - -/* - * XpGetMediumDimensions returns into the supplied short pointers the - * width and height in pixels of the medium associated with the specified - * print context. It obtains the page size associated with the current - * medium by calling XpGetPageSize. It passes XpGetMediumMillimeters the - * page size, and converts the returned millimeter dimensions into pixels - * using the resolution returned by XpGetResolution. - * - * Note: This routine assumes the values found in the passed context's - * attributes pools have been validated. - */ -void -XpGetMediumDimensions( - XpContextPtr pContext, - unsigned short *width, /* return */ - unsigned short *height) /* return */ -{ - XpOid page_size; - XpOid tray; - XpOid orientation; - - int resolution; - float w_mm, h_mm; - - page_size = XpGetPageSize(pContext, &tray, (XpOidMediumSS*)NULL); - if(page_size == xpoid_none) - { - /* - * fail-safe: if the pools have been validated, this defaulting logic - * isn't needed. - */ - page_size = xpoid_val_medium_size_na_letter; - } - XpGetMediumMillimeters(page_size, &w_mm, &h_mm); - resolution = XpGetResolution(pContext); - orientation = XpGetContentOrientation(pContext); - switch(orientation) - { - case xpoid_val_content_orientation_landscape: - case xpoid_val_content_orientation_reverse_landscape: - /* - * transpose width and height - */ - *height = MmToPixels(w_mm, resolution); - *width = MmToPixels(h_mm, resolution); - break; - - default: - *width = MmToPixels(w_mm, resolution); - *height = MmToPixels(h_mm, resolution); - break; - } -} - -/* - * XRectangleFromXpOidArea converts an XpOidArea area specification - * into an XRectangle. The passed resolution is used to convert from - * millimeters (XpOidArea) into pixels (XRectangle). - */ -static void -XRectangleFromXpOidArea( - xRectangle *pRect, - const XpOidArea* repro, - int resolution, - XpOid orientation) -{ - switch(orientation) - { - case xpoid_val_content_orientation_landscape: - case xpoid_val_content_orientation_reverse_landscape: - /* - * transpose x and y, width and height - */ - pRect->y = MmToPixels(repro->minimum_x, resolution); - pRect->x = MmToPixels(repro->minimum_y, resolution); - pRect->height = - MmToPixels(repro->maximum_x - repro->minimum_x, resolution); - pRect->width = - MmToPixels(repro->maximum_y - repro->minimum_y, resolution); - break; - - default: - pRect->x = MmToPixels(repro->minimum_x, resolution); - pRect->y = MmToPixels(repro->minimum_y, resolution); - pRect->width = - MmToPixels(repro->maximum_x - repro->minimum_x, resolution); - pRect->height = - MmToPixels(repro->maximum_y - repro->minimum_y, resolution); - break; - } -} - -/* - * XpGetReproductionArea queries the current pool attribute values in - * order to determine the reproduction area for the currently selected - * medium. - * - * First the current page size (equivalent to current medium) and tray - * (if specified) is retrieved via XpGetPageSize. The value of the - * medium-source-sizes-supported attribute is interrogated until a matching - * entry for the current page size and tray is found. The reproduction - * area defined for the current entry is converted into an XRectangle - * using XRectangleFromXpOidArea and returned to the caller. - * - * Note: This routine assumes the values found in the passed context's - * attributes pools have been validated. - */ -void -XpGetReproductionArea(XpContextPtr pContext, - xRectangle *pRect) -{ - XpOid page_size; - XpOid tray; - XpOidMediumSS* msss; - int i_mss, i_ds; - XpOidMediumDiscreteSizeList* ds_list; - XpOidArea* repro; - BOOL done; - int resolution; - XpOid orientation; - /* - * find the appropriate assured reproduction area for the current - * tray and page size in the medium-source-sizes-supported attribute. - */ - msss = XpGetMediumSSAttr(pContext, XPPrinterAttr, - xpoid_att_medium_source_sizes_supported, - (const XpOidList*)NULL, - (const XpOidList*)NULL); - page_size = XpGetPageSize(pContext, &tray, msss); - resolution = XpGetResolution(pContext); - orientation = XpGetContentOrientation(pContext); - - memset(pRect, 0, sizeof(xRectangle)); - - if(xpoid_none == tray) - { - /* - * no tray specified; use 1st matching page size - */ - for(i_mss = 0, done = xFalse; - i_mss < XpOidMediumSSCount(msss) && !done; - i_mss++) - { - if(XpOidMediumSS_DISCRETE == (msss->mss)[i_mss].mstag - && - xpoid_none != (msss->mss)[i_mss].input_tray) - { - ds_list = (msss->mss)[i_mss].ms.discrete; - for(i_ds = 0; i_ds < ds_list->count; i_ds++) - { - if(page_size == (ds_list->list)[i_ds].page_size) - { - repro = - &(ds_list->list)[i_ds].assured_reproduction_area; - XRectangleFromXpOidArea(pRect, repro, - resolution, orientation); - done = xTrue; - break; - } - } - } - } - } - else - { - /* - * tray && page size specified; find matching entry - */ - for(i_mss = 0, done = xFalse; - i_mss < XpOidMediumSSCount(msss) && !done; - i_mss++) - { - if(XpOidMediumSS_DISCRETE == (msss->mss)[i_mss].mstag - && - xpoid_none != (msss->mss)[i_mss].input_tray - && - (tray == (msss->mss)[i_mss].input_tray - || - xpoid_unspecified == (msss->mss)[i_mss].input_tray) - ) - { - ds_list = (msss->mss)[i_mss].ms.discrete; - for(i_ds = 0; i_ds < ds_list->count; i_ds++) - { - if(page_size == (ds_list->list)[i_ds].page_size) - { - repro = - &(ds_list->list)[i_ds].assured_reproduction_area; - XRectangleFromXpOidArea(pRect, repro, - resolution, orientation); - if(xpoid_unspecified != (msss->mss)[i_mss].input_tray) - { - /* - * exact match on tray takes precendence over - * unspecified tray entry in m-s-s-s - */ - done = xTrue; - } - break; - } - } - } - } - } - XpOidMediumSSDelete(msss); -} - -/* - * XpGetMaxWidthHeightRes returns into the supplied width and height - * unsigned short pointers the dimensions in millimeters of the largest - * supported media for a specific printer. It looks at the - * medium-source-sizes-supported attribute (if it exists) to determine - * the list of possible media, and calls XpGetMediumMillimeters to get the - * dimensions for each medium. If the m-s-s-s attribute is not defined, - * then the dimensions for the na-letter medium is returned. - * - * This function also returns the largest resolution in DPI defined in - * printer-resolutions-supported. If printer-resolutions-supported is not - * specified, the default is obtained from the passed XpValidatePoolsRec. - * - * The passed XpValidatePoolsRec is also used to determine valid values - * when parsing attribute values. - */ -void -XpGetMaxWidthHeightRes( - const char *printer_name, - const XpValidatePoolsRec* vpr, - float *width, - float *height, - int* resolution) -{ - const char* value; - const char* attr_str; - XpOidMediumSS* pool_msss; - const XpOidMediumSS* msss; - int i_mss, i_ds; - XpOidMediumDiscreteSizeList* ds_list; - float w, h; - XpOidCardList* pool_resolutions_supported; - const XpOidCardList* resolutions_supported; - int i; - int res; - /* - * get the max medium width and height - */ - attr_str = XpOidString(xpoid_att_medium_source_sizes_supported); - value = XpGetPrinterAttribute(printer_name, attr_str); - pool_msss = XpOidMediumSSNew(value, - vpr->valid_input_trays, - vpr->valid_medium_sizes); - if(0 == XpOidMediumSSCount(pool_msss)) - msss = XpGetDefaultMediumSS(); - else - msss = pool_msss; - *width = *height = 0; - for(i_mss = 0; i_mss < XpOidMediumSSCount(msss); i_mss++) - { - if(XpOidMediumSS_DISCRETE == (msss->mss)[i_mss].mstag - && - xpoid_none != (msss->mss)[i_mss].input_tray) - { - ds_list = (msss->mss)[i_mss].ms.discrete; - for(i_ds = 0; i_ds < ds_list->count; i_ds++) - { - if(xpoid_none != (ds_list->list)[i_ds].page_size) - { - XpGetMediumMillimeters((ds_list->list)[i_ds].page_size, - &w, &h); - if(w > *width) *width = w; - if(h > *height) *height = h; - } - } - } - } - XpOidMediumSSDelete(pool_msss); - /* - * get the maximum resolution - */ - attr_str = XpOidString(xpoid_att_printer_resolutions_supported); - value = XpGetPrinterAttribute(printer_name, attr_str); - pool_resolutions_supported = - XpOidCardListNew(value, vpr->valid_printer_resolutions_supported); - if(0 == XpOidCardListCount(pool_resolutions_supported)) - resolutions_supported = vpr->default_printer_resolutions_supported; - else - resolutions_supported = pool_resolutions_supported; - *resolution = 0; - for(i = 0; i < XpOidCardListCount(resolutions_supported); i++) - { - res = XpOidCardListGetCard(resolutions_supported, i); - if(res > *resolution) *resolution = res; - } - XpOidCardListDelete(pool_resolutions_supported); -} - -FontResolutionPtr -XpGetClientResolutions(client, num) - ClientPtr client; - int *num; -{ - static struct _FontResolution res; - int resolution = XpGetResolution(XpContextOfClient(client)); - - res.x_resolution = resolution; - res.y_resolution = resolution; - - res.point_size = 120; - - *num = 1; - - return &res; -} - - -void XpSetFontResFunc(client) - ClientPtr client; -{ - client->fontResFunc = XpGetClientResolutions; -} - - -void XpUnsetFontResFunc(client) - ClientPtr client; -{ - client->fontResFunc = NULL; -} diff --git a/xorg-server/hw/xprint/miinitext-wrapper.c b/xorg-server/hw/xprint/miinitext-wrapper.c deleted file mode 100644 index fc754602c..000000000 --- a/xorg-server/hw/xprint/miinitext-wrapper.c +++ /dev/null @@ -1 +0,0 @@ -#include "../../mi/miinitext.c" diff --git a/xorg-server/hw/xprint/pcl-mono/Makefile.am b/xorg-server/hw/xprint/pcl-mono/Makefile.am deleted file mode 100644 index 4d8dfc682..000000000 --- a/xorg-server/hw/xprint/pcl-mono/Makefile.am +++ /dev/null @@ -1,5 +0,0 @@ -noinst_LTLIBRARIES = libpcl.la - -PCL_DRIVER = -DXP_PCL_MONO - -include ../pcl/Makefile.am.inc diff --git a/xorg-server/hw/xprint/pcl-mono/Makefile.in b/xorg-server/hw/xprint/pcl-mono/Makefile.in deleted file mode 100644 index f869d962d..000000000 --- a/xorg-server/hw/xprint/pcl-mono/Makefile.in +++ /dev/null @@ -1,814 +0,0 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008 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@ -DIST_COMMON = $(srcdir)/../pcl/Makefile.am.inc $(srcdir)/Makefile.am \ - $(srcdir)/Makefile.in -subdir = hw/xprint/pcl-mono -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) -libpcl_la_LIBADD = -am_libpcl_la_OBJECTS = PclArc.lo PclArea.lo PclAttr.lo PclAttVal.lo \ - PclColor.lo PclCursor.lo PclFonts.lo PclGC.lo PclInit.lo \ - PclLine.lo PclMisc.lo PclPixel.lo PclPolygon.lo PclPrint.lo \ - PclSFonts.lo PclSpans.lo PclText.lo PclWindow.lo -libpcl_la_OBJECTS = $(am_libpcl_la_OBJECTS) -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include -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 = $(libpcl_la_SOURCES) -DIST_SOURCES = $(libpcl_la_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@ -DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ -DRI2PROTO_LIBS = @DRI2PROTO_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@ -DSYMUTIL = @DSYMUTIL@ -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@ -GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ -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@ -LAUNCHD = @LAUNCHD@ -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@ -NMEDIT = @NMEDIT@ -OBJC = @OBJC@ -OBJCCLD = @OBJCCLD@ -OBJCDEPMODE = @OBJCDEPMODE@ -OBJCFLAGS = @OBJCFLAGS@ -OBJCLINK = @OBJCLINK@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ -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@ -PCIACCESS_CFLAGS = @PCIACCESS_CFLAGS@ -PCIACCESS_LIBS = @PCIACCESS_LIBS@ -PCI_TXT_IDS_PATH = @PCI_TXT_IDS_PATH@ -PERL = @PERL@ -PKG_CONFIG = @PKG_CONFIG@ -PROJECTROOT = @PROJECTROOT@ -PS2PDF = @PS2PDF@ -RANLIB = @RANLIB@ -RAWCPP = @RAWCPP@ -RAWCPPFLAGS = @RAWCPPFLAGS@ -SED = @SED@ -SERVER_MISC_CONFIG_PATH = @SERVER_MISC_CONFIG_PATH@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ -SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ -STRIP = @STRIP@ -TSLIB_CFLAGS = @TSLIB_CFLAGS@ -TSLIB_LIBS = @TSLIB_LIBS@ -UTILS_SYS_LIBS = @UTILS_SYS_LIBS@ -VENDOR_MAN_VERSION = @VENDOR_MAN_VERSION@ -VENDOR_NAME = @VENDOR_NAME@ -VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ -VENDOR_RELEASE = @VENDOR_RELEASE@ -VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ -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_CFLAGS = @XDMX_CFLAGS@ -XDMX_LIBS = @XDMX_LIBS@ -XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ -XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ -XEPHYR_INCS = @XEPHYR_INCS@ -XEPHYR_LIBS = @XEPHYR_LIBS@ -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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ -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@ -XNEST_SYS_LIBS = @XNEST_SYS_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_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@ -XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_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@ -XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ -XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ -XTSTEXAMPLES_DEP_LIBS = @XTSTEXAMPLES_DEP_LIBS@ -XVFB_LIBS = @XVFB_LIBS@ -XVFB_SYS_LIBS = @XVFB_SYS_LIBS@ -XWINMODULES_CFLAGS = @XWINMODULES_CFLAGS@ -XWINMODULES_LIBS = @XWINMODULES_LIBS@ -XWIN_LIBS = @XWIN_LIBS@ -XWIN_SERVER_NAME = @XWIN_SERVER_NAME@ -XWIN_SYS_LIBS = @XWIN_SYS_LIBS@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -__XCONFIGFILE__ = @__XCONFIGFILE__@ -abi_ansic = @abi_ansic@ -abi_extension = @abi_extension@ -abi_font = @abi_font@ -abi_videodrv = @abi_videodrv@ -abi_xinput = @abi_xinput@ -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@ -launchagentsdir = @launchagentsdir@ -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_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ -noinst_LTLIBRARIES = libpcl.la -PCL_DRIVER = -DXP_PCL_MONO -INCLUDES = -I$(top_srcdir)/hw/xprint -AM_CFLAGS = @DIX_CFLAGS@ @XPRINT_CFLAGS@ -D_XP_PRINT_SERVER_ $(PCL_DRIVER) -libpcl_la_SOURCES = \ - $(srcdir)/../pcl/PclArc.c \ - $(srcdir)/../pcl/PclArea.c \ - $(srcdir)/../pcl/PclAttr.c \ - $(srcdir)/../pcl/PclAttVal.c \ - $(srcdir)/../pcl/PclColor.c \ - $(srcdir)/../pcl/PclCursor.c \ - $(srcdir)/../pcl/PclDef.h \ - $(srcdir)/../pcl/PclFonts.c \ - $(srcdir)/../pcl/PclGC.c \ - $(srcdir)/../pcl/Pcl.h \ - $(srcdir)/../pcl/PclInit.c \ - $(srcdir)/../pcl/PclLine.c \ - $(srcdir)/../pcl/Pclmap.h \ - $(srcdir)/../pcl/PclMisc.c \ - $(srcdir)/../pcl/PclPixel.c \ - $(srcdir)/../pcl/PclPolygon.c \ - $(srcdir)/../pcl/PclPrint.c \ - $(srcdir)/../pcl/PclSFonts.c \ - $(srcdir)/../pcl/PclSFonts.h \ - $(srcdir)/../pcl/PclSpans.c \ - $(srcdir)/../pcl/PclText.c \ - $(srcdir)/../pcl/PclWindow.c - -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .o .obj -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/../pcl/Makefile.am.inc $(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/xprint/pcl-mono/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign hw/xprint/pcl-mono/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 -libpcl.la: $(libpcl_la_OBJECTS) $(libpcl_la_DEPENDENCIES) - $(LINK) $(libpcl_la_OBJECTS) $(libpcl_la_LIBADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PclArc.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PclArea.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PclAttVal.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PclAttr.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PclColor.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PclCursor.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PclFonts.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PclGC.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PclInit.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PclLine.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PclMisc.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PclPixel.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PclPolygon.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PclPrint.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PclSFonts.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PclSpans.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PclText.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PclWindow.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 $@ $< - -PclArc.lo: $(srcdir)/../pcl/PclArc.c -@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT PclArc.lo -MD -MP -MF $(DEPDIR)/PclArc.Tpo -c -o PclArc.lo `test -f '$(srcdir)/../pcl/PclArc.c' || echo '$(srcdir)/'`$(srcdir)/../pcl/PclArc.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/PclArc.Tpo $(DEPDIR)/PclArc.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../pcl/PclArc.c' object='PclArc.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o PclArc.lo `test -f '$(srcdir)/../pcl/PclArc.c' || echo '$(srcdir)/'`$(srcdir)/../pcl/PclArc.c - -PclArea.lo: $(srcdir)/../pcl/PclArea.c -@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT PclArea.lo -MD -MP -MF $(DEPDIR)/PclArea.Tpo -c -o PclArea.lo `test -f '$(srcdir)/../pcl/PclArea.c' || echo '$(srcdir)/'`$(srcdir)/../pcl/PclArea.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/PclArea.Tpo $(DEPDIR)/PclArea.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../pcl/PclArea.c' object='PclArea.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o PclArea.lo `test -f '$(srcdir)/../pcl/PclArea.c' || echo '$(srcdir)/'`$(srcdir)/../pcl/PclArea.c - -PclAttr.lo: $(srcdir)/../pcl/PclAttr.c -@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT PclAttr.lo -MD -MP -MF $(DEPDIR)/PclAttr.Tpo -c -o PclAttr.lo `test -f '$(srcdir)/../pcl/PclAttr.c' || echo '$(srcdir)/'`$(srcdir)/../pcl/PclAttr.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/PclAttr.Tpo $(DEPDIR)/PclAttr.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../pcl/PclAttr.c' object='PclAttr.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o PclAttr.lo `test -f '$(srcdir)/../pcl/PclAttr.c' || echo '$(srcdir)/'`$(srcdir)/../pcl/PclAttr.c - -PclAttVal.lo: $(srcdir)/../pcl/PclAttVal.c -@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT PclAttVal.lo -MD -MP -MF $(DEPDIR)/PclAttVal.Tpo -c -o PclAttVal.lo `test -f '$(srcdir)/../pcl/PclAttVal.c' || echo '$(srcdir)/'`$(srcdir)/../pcl/PclAttVal.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/PclAttVal.Tpo $(DEPDIR)/PclAttVal.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../pcl/PclAttVal.c' object='PclAttVal.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o PclAttVal.lo `test -f '$(srcdir)/../pcl/PclAttVal.c' || echo '$(srcdir)/'`$(srcdir)/../pcl/PclAttVal.c - -PclColor.lo: $(srcdir)/../pcl/PclColor.c -@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT PclColor.lo -MD -MP -MF $(DEPDIR)/PclColor.Tpo -c -o PclColor.lo `test -f '$(srcdir)/../pcl/PclColor.c' || echo '$(srcdir)/'`$(srcdir)/../pcl/PclColor.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/PclColor.Tpo $(DEPDIR)/PclColor.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../pcl/PclColor.c' object='PclColor.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o PclColor.lo `test -f '$(srcdir)/../pcl/PclColor.c' || echo '$(srcdir)/'`$(srcdir)/../pcl/PclColor.c - -PclCursor.lo: $(srcdir)/../pcl/PclCursor.c -@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT PclCursor.lo -MD -MP -MF $(DEPDIR)/PclCursor.Tpo -c -o PclCursor.lo `test -f '$(srcdir)/../pcl/PclCursor.c' || echo '$(srcdir)/'`$(srcdir)/../pcl/PclCursor.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/PclCursor.Tpo $(DEPDIR)/PclCursor.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../pcl/PclCursor.c' object='PclCursor.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o PclCursor.lo `test -f '$(srcdir)/../pcl/PclCursor.c' || echo '$(srcdir)/'`$(srcdir)/../pcl/PclCursor.c - -PclFonts.lo: $(srcdir)/../pcl/PclFonts.c -@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT PclFonts.lo -MD -MP -MF $(DEPDIR)/PclFonts.Tpo -c -o PclFonts.lo `test -f '$(srcdir)/../pcl/PclFonts.c' || echo '$(srcdir)/'`$(srcdir)/../pcl/PclFonts.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/PclFonts.Tpo $(DEPDIR)/PclFonts.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../pcl/PclFonts.c' object='PclFonts.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o PclFonts.lo `test -f '$(srcdir)/../pcl/PclFonts.c' || echo '$(srcdir)/'`$(srcdir)/../pcl/PclFonts.c - -PclGC.lo: $(srcdir)/../pcl/PclGC.c -@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT PclGC.lo -MD -MP -MF $(DEPDIR)/PclGC.Tpo -c -o PclGC.lo `test -f '$(srcdir)/../pcl/PclGC.c' || echo '$(srcdir)/'`$(srcdir)/../pcl/PclGC.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/PclGC.Tpo $(DEPDIR)/PclGC.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../pcl/PclGC.c' object='PclGC.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o PclGC.lo `test -f '$(srcdir)/../pcl/PclGC.c' || echo '$(srcdir)/'`$(srcdir)/../pcl/PclGC.c - -PclInit.lo: $(srcdir)/../pcl/PclInit.c -@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT PclInit.lo -MD -MP -MF $(DEPDIR)/PclInit.Tpo -c -o PclInit.lo `test -f '$(srcdir)/../pcl/PclInit.c' || echo '$(srcdir)/'`$(srcdir)/../pcl/PclInit.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/PclInit.Tpo $(DEPDIR)/PclInit.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../pcl/PclInit.c' object='PclInit.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o PclInit.lo `test -f '$(srcdir)/../pcl/PclInit.c' || echo '$(srcdir)/'`$(srcdir)/../pcl/PclInit.c - -PclLine.lo: $(srcdir)/../pcl/PclLine.c -@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT PclLine.lo -MD -MP -MF $(DEPDIR)/PclLine.Tpo -c -o PclLine.lo `test -f '$(srcdir)/../pcl/PclLine.c' || echo '$(srcdir)/'`$(srcdir)/../pcl/PclLine.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/PclLine.Tpo $(DEPDIR)/PclLine.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../pcl/PclLine.c' object='PclLine.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o PclLine.lo `test -f '$(srcdir)/../pcl/PclLine.c' || echo '$(srcdir)/'`$(srcdir)/../pcl/PclLine.c - -PclMisc.lo: $(srcdir)/../pcl/PclMisc.c -@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT PclMisc.lo -MD -MP -MF $(DEPDIR)/PclMisc.Tpo -c -o PclMisc.lo `test -f '$(srcdir)/../pcl/PclMisc.c' || echo '$(srcdir)/'`$(srcdir)/../pcl/PclMisc.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/PclMisc.Tpo $(DEPDIR)/PclMisc.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../pcl/PclMisc.c' object='PclMisc.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o PclMisc.lo `test -f '$(srcdir)/../pcl/PclMisc.c' || echo '$(srcdir)/'`$(srcdir)/../pcl/PclMisc.c - -PclPixel.lo: $(srcdir)/../pcl/PclPixel.c -@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT PclPixel.lo -MD -MP -MF $(DEPDIR)/PclPixel.Tpo -c -o PclPixel.lo `test -f '$(srcdir)/../pcl/PclPixel.c' || echo '$(srcdir)/'`$(srcdir)/../pcl/PclPixel.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/PclPixel.Tpo $(DEPDIR)/PclPixel.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../pcl/PclPixel.c' object='PclPixel.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o PclPixel.lo `test -f '$(srcdir)/../pcl/PclPixel.c' || echo '$(srcdir)/'`$(srcdir)/../pcl/PclPixel.c - -PclPolygon.lo: $(srcdir)/../pcl/PclPolygon.c -@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT PclPolygon.lo -MD -MP -MF $(DEPDIR)/PclPolygon.Tpo -c -o PclPolygon.lo `test -f '$(srcdir)/../pcl/PclPolygon.c' || echo '$(srcdir)/'`$(srcdir)/../pcl/PclPolygon.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/PclPolygon.Tpo $(DEPDIR)/PclPolygon.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../pcl/PclPolygon.c' object='PclPolygon.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o PclPolygon.lo `test -f '$(srcdir)/../pcl/PclPolygon.c' || echo '$(srcdir)/'`$(srcdir)/../pcl/PclPolygon.c - -PclPrint.lo: $(srcdir)/../pcl/PclPrint.c -@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT PclPrint.lo -MD -MP -MF $(DEPDIR)/PclPrint.Tpo -c -o PclPrint.lo `test -f '$(srcdir)/../pcl/PclPrint.c' || echo '$(srcdir)/'`$(srcdir)/../pcl/PclPrint.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/PclPrint.Tpo $(DEPDIR)/PclPrint.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../pcl/PclPrint.c' object='PclPrint.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o PclPrint.lo `test -f '$(srcdir)/../pcl/PclPrint.c' || echo '$(srcdir)/'`$(srcdir)/../pcl/PclPrint.c - -PclSFonts.lo: $(srcdir)/../pcl/PclSFonts.c -@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT PclSFonts.lo -MD -MP -MF $(DEPDIR)/PclSFonts.Tpo -c -o PclSFonts.lo `test -f '$(srcdir)/../pcl/PclSFonts.c' || echo '$(srcdir)/'`$(srcdir)/../pcl/PclSFonts.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/PclSFonts.Tpo $(DEPDIR)/PclSFonts.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../pcl/PclSFonts.c' object='PclSFonts.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o PclSFonts.lo `test -f '$(srcdir)/../pcl/PclSFonts.c' || echo '$(srcdir)/'`$(srcdir)/../pcl/PclSFonts.c - -PclSpans.lo: $(srcdir)/../pcl/PclSpans.c -@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT PclSpans.lo -MD -MP -MF $(DEPDIR)/PclSpans.Tpo -c -o PclSpans.lo `test -f '$(srcdir)/../pcl/PclSpans.c' || echo '$(srcdir)/'`$(srcdir)/../pcl/PclSpans.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/PclSpans.Tpo $(DEPDIR)/PclSpans.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../pcl/PclSpans.c' object='PclSpans.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o PclSpans.lo `test -f '$(srcdir)/../pcl/PclSpans.c' || echo '$(srcdir)/'`$(srcdir)/../pcl/PclSpans.c - -PclText.lo: $(srcdir)/../pcl/PclText.c -@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT PclText.lo -MD -MP -MF $(DEPDIR)/PclText.Tpo -c -o PclText.lo `test -f '$(srcdir)/../pcl/PclText.c' || echo '$(srcdir)/'`$(srcdir)/../pcl/PclText.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/PclText.Tpo $(DEPDIR)/PclText.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../pcl/PclText.c' object='PclText.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o PclText.lo `test -f '$(srcdir)/../pcl/PclText.c' || echo '$(srcdir)/'`$(srcdir)/../pcl/PclText.c - -PclWindow.lo: $(srcdir)/../pcl/PclWindow.c -@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT PclWindow.lo -MD -MP -MF $(DEPDIR)/PclWindow.Tpo -c -o PclWindow.lo `test -f '$(srcdir)/../pcl/PclWindow.c' || echo '$(srcdir)/'`$(srcdir)/../pcl/PclWindow.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/PclWindow.Tpo $(DEPDIR)/PclWindow.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../pcl/PclWindow.c' object='PclWindow.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o PclWindow.lo `test -f '$(srcdir)/../pcl/PclWindow.c' || echo '$(srcdir)/'`$(srcdir)/../pcl/PclWindow.c - -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; nonemtpy = 1; } \ - END { if (nonempty) { 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; nonempty = 1; } \ - END { if (nonempty) { 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=; \ - 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; nonempty = 1; } \ - END { if (nonempty) { 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/xorg-server/hw/xprint/pcl/Makefile.am b/xorg-server/hw/xprint/pcl/Makefile.am deleted file mode 100644 index 90133e8e2..000000000 --- a/xorg-server/hw/xprint/pcl/Makefile.am +++ /dev/null @@ -1,6 +0,0 @@ -noinst_LTLIBRARIES = libpcl.la - -PCL_DRIVER = -DXP_PCL_COLOR - -include ../pcl/Makefile.am.inc - diff --git a/xorg-server/hw/xprint/pcl/Makefile.am.inc b/xorg-server/hw/xprint/pcl/Makefile.am.inc deleted file mode 100644 index c3af606ee..000000000 --- a/xorg-server/hw/xprint/pcl/Makefile.am.inc +++ /dev/null @@ -1,27 +0,0 @@ -INCLUDES = -I$(top_srcdir)/hw/xprint - -AM_CFLAGS = @DIX_CFLAGS@ @XPRINT_CFLAGS@ -D_XP_PRINT_SERVER_ $(PCL_DRIVER) - -libpcl_la_SOURCES = \ - $(srcdir)/../pcl/PclArc.c \ - $(srcdir)/../pcl/PclArea.c \ - $(srcdir)/../pcl/PclAttr.c \ - $(srcdir)/../pcl/PclAttVal.c \ - $(srcdir)/../pcl/PclColor.c \ - $(srcdir)/../pcl/PclCursor.c \ - $(srcdir)/../pcl/PclDef.h \ - $(srcdir)/../pcl/PclFonts.c \ - $(srcdir)/../pcl/PclGC.c \ - $(srcdir)/../pcl/Pcl.h \ - $(srcdir)/../pcl/PclInit.c \ - $(srcdir)/../pcl/PclLine.c \ - $(srcdir)/../pcl/Pclmap.h \ - $(srcdir)/../pcl/PclMisc.c \ - $(srcdir)/../pcl/PclPixel.c \ - $(srcdir)/../pcl/PclPolygon.c \ - $(srcdir)/../pcl/PclPrint.c \ - $(srcdir)/../pcl/PclSFonts.c \ - $(srcdir)/../pcl/PclSFonts.h \ - $(srcdir)/../pcl/PclSpans.c \ - $(srcdir)/../pcl/PclText.c \ - $(srcdir)/../pcl/PclWindow.c diff --git a/xorg-server/hw/xprint/pcl/Makefile.in b/xorg-server/hw/xprint/pcl/Makefile.in deleted file mode 100644 index 4a6c567c6..000000000 --- a/xorg-server/hw/xprint/pcl/Makefile.in +++ /dev/null @@ -1,814 +0,0 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008 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@ -DIST_COMMON = $(srcdir)/../pcl/Makefile.am.inc $(srcdir)/Makefile.am \ - $(srcdir)/Makefile.in -subdir = hw/xprint/pcl -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) -libpcl_la_LIBADD = -am_libpcl_la_OBJECTS = PclArc.lo PclArea.lo PclAttr.lo PclAttVal.lo \ - PclColor.lo PclCursor.lo PclFonts.lo PclGC.lo PclInit.lo \ - PclLine.lo PclMisc.lo PclPixel.lo PclPolygon.lo PclPrint.lo \ - PclSFonts.lo PclSpans.lo PclText.lo PclWindow.lo -libpcl_la_OBJECTS = $(am_libpcl_la_OBJECTS) -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include -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 = $(libpcl_la_SOURCES) -DIST_SOURCES = $(libpcl_la_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@ -DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ -DRI2PROTO_LIBS = @DRI2PROTO_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@ -DSYMUTIL = @DSYMUTIL@ -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@ -GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ -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@ -LAUNCHD = @LAUNCHD@ -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@ -NMEDIT = @NMEDIT@ -OBJC = @OBJC@ -OBJCCLD = @OBJCCLD@ -OBJCDEPMODE = @OBJCDEPMODE@ -OBJCFLAGS = @OBJCFLAGS@ -OBJCLINK = @OBJCLINK@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ -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@ -PCIACCESS_CFLAGS = @PCIACCESS_CFLAGS@ -PCIACCESS_LIBS = @PCIACCESS_LIBS@ -PCI_TXT_IDS_PATH = @PCI_TXT_IDS_PATH@ -PERL = @PERL@ -PKG_CONFIG = @PKG_CONFIG@ -PROJECTROOT = @PROJECTROOT@ -PS2PDF = @PS2PDF@ -RANLIB = @RANLIB@ -RAWCPP = @RAWCPP@ -RAWCPPFLAGS = @RAWCPPFLAGS@ -SED = @SED@ -SERVER_MISC_CONFIG_PATH = @SERVER_MISC_CONFIG_PATH@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ -SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ -STRIP = @STRIP@ -TSLIB_CFLAGS = @TSLIB_CFLAGS@ -TSLIB_LIBS = @TSLIB_LIBS@ -UTILS_SYS_LIBS = @UTILS_SYS_LIBS@ -VENDOR_MAN_VERSION = @VENDOR_MAN_VERSION@ -VENDOR_NAME = @VENDOR_NAME@ -VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ -VENDOR_RELEASE = @VENDOR_RELEASE@ -VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ -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_CFLAGS = @XDMX_CFLAGS@ -XDMX_LIBS = @XDMX_LIBS@ -XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ -XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ -XEPHYR_INCS = @XEPHYR_INCS@ -XEPHYR_LIBS = @XEPHYR_LIBS@ -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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ -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@ -XNEST_SYS_LIBS = @XNEST_SYS_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_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@ -XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_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@ -XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ -XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ -XTSTEXAMPLES_DEP_LIBS = @XTSTEXAMPLES_DEP_LIBS@ -XVFB_LIBS = @XVFB_LIBS@ -XVFB_SYS_LIBS = @XVFB_SYS_LIBS@ -XWINMODULES_CFLAGS = @XWINMODULES_CFLAGS@ -XWINMODULES_LIBS = @XWINMODULES_LIBS@ -XWIN_LIBS = @XWIN_LIBS@ -XWIN_SERVER_NAME = @XWIN_SERVER_NAME@ -XWIN_SYS_LIBS = @XWIN_SYS_LIBS@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -__XCONFIGFILE__ = @__XCONFIGFILE__@ -abi_ansic = @abi_ansic@ -abi_extension = @abi_extension@ -abi_font = @abi_font@ -abi_videodrv = @abi_videodrv@ -abi_xinput = @abi_xinput@ -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@ -launchagentsdir = @launchagentsdir@ -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_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ -noinst_LTLIBRARIES = libpcl.la -PCL_DRIVER = -DXP_PCL_COLOR -INCLUDES = -I$(top_srcdir)/hw/xprint -AM_CFLAGS = @DIX_CFLAGS@ @XPRINT_CFLAGS@ -D_XP_PRINT_SERVER_ $(PCL_DRIVER) -libpcl_la_SOURCES = \ - $(srcdir)/../pcl/PclArc.c \ - $(srcdir)/../pcl/PclArea.c \ - $(srcdir)/../pcl/PclAttr.c \ - $(srcdir)/../pcl/PclAttVal.c \ - $(srcdir)/../pcl/PclColor.c \ - $(srcdir)/../pcl/PclCursor.c \ - $(srcdir)/../pcl/PclDef.h \ - $(srcdir)/../pcl/PclFonts.c \ - $(srcdir)/../pcl/PclGC.c \ - $(srcdir)/../pcl/Pcl.h \ - $(srcdir)/../pcl/PclInit.c \ - $(srcdir)/../pcl/PclLine.c \ - $(srcdir)/../pcl/Pclmap.h \ - $(srcdir)/../pcl/PclMisc.c \ - $(srcdir)/../pcl/PclPixel.c \ - $(srcdir)/../pcl/PclPolygon.c \ - $(srcdir)/../pcl/PclPrint.c \ - $(srcdir)/../pcl/PclSFonts.c \ - $(srcdir)/../pcl/PclSFonts.h \ - $(srcdir)/../pcl/PclSpans.c \ - $(srcdir)/../pcl/PclText.c \ - $(srcdir)/../pcl/PclWindow.c - -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .o .obj -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/../pcl/Makefile.am.inc $(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/xprint/pcl/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign hw/xprint/pcl/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 -libpcl.la: $(libpcl_la_OBJECTS) $(libpcl_la_DEPENDENCIES) - $(LINK) $(libpcl_la_OBJECTS) $(libpcl_la_LIBADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PclArc.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PclArea.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PclAttVal.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PclAttr.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PclColor.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PclCursor.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PclFonts.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PclGC.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PclInit.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PclLine.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PclMisc.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PclPixel.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PclPolygon.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PclPrint.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PclSFonts.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PclSpans.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PclText.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PclWindow.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 $@ $< - -PclArc.lo: $(srcdir)/../pcl/PclArc.c -@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT PclArc.lo -MD -MP -MF $(DEPDIR)/PclArc.Tpo -c -o PclArc.lo `test -f '$(srcdir)/../pcl/PclArc.c' || echo '$(srcdir)/'`$(srcdir)/../pcl/PclArc.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/PclArc.Tpo $(DEPDIR)/PclArc.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../pcl/PclArc.c' object='PclArc.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o PclArc.lo `test -f '$(srcdir)/../pcl/PclArc.c' || echo '$(srcdir)/'`$(srcdir)/../pcl/PclArc.c - -PclArea.lo: $(srcdir)/../pcl/PclArea.c -@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT PclArea.lo -MD -MP -MF $(DEPDIR)/PclArea.Tpo -c -o PclArea.lo `test -f '$(srcdir)/../pcl/PclArea.c' || echo '$(srcdir)/'`$(srcdir)/../pcl/PclArea.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/PclArea.Tpo $(DEPDIR)/PclArea.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../pcl/PclArea.c' object='PclArea.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o PclArea.lo `test -f '$(srcdir)/../pcl/PclArea.c' || echo '$(srcdir)/'`$(srcdir)/../pcl/PclArea.c - -PclAttr.lo: $(srcdir)/../pcl/PclAttr.c -@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT PclAttr.lo -MD -MP -MF $(DEPDIR)/PclAttr.Tpo -c -o PclAttr.lo `test -f '$(srcdir)/../pcl/PclAttr.c' || echo '$(srcdir)/'`$(srcdir)/../pcl/PclAttr.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/PclAttr.Tpo $(DEPDIR)/PclAttr.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../pcl/PclAttr.c' object='PclAttr.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o PclAttr.lo `test -f '$(srcdir)/../pcl/PclAttr.c' || echo '$(srcdir)/'`$(srcdir)/../pcl/PclAttr.c - -PclAttVal.lo: $(srcdir)/../pcl/PclAttVal.c -@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT PclAttVal.lo -MD -MP -MF $(DEPDIR)/PclAttVal.Tpo -c -o PclAttVal.lo `test -f '$(srcdir)/../pcl/PclAttVal.c' || echo '$(srcdir)/'`$(srcdir)/../pcl/PclAttVal.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/PclAttVal.Tpo $(DEPDIR)/PclAttVal.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../pcl/PclAttVal.c' object='PclAttVal.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o PclAttVal.lo `test -f '$(srcdir)/../pcl/PclAttVal.c' || echo '$(srcdir)/'`$(srcdir)/../pcl/PclAttVal.c - -PclColor.lo: $(srcdir)/../pcl/PclColor.c -@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT PclColor.lo -MD -MP -MF $(DEPDIR)/PclColor.Tpo -c -o PclColor.lo `test -f '$(srcdir)/../pcl/PclColor.c' || echo '$(srcdir)/'`$(srcdir)/../pcl/PclColor.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/PclColor.Tpo $(DEPDIR)/PclColor.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../pcl/PclColor.c' object='PclColor.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o PclColor.lo `test -f '$(srcdir)/../pcl/PclColor.c' || echo '$(srcdir)/'`$(srcdir)/../pcl/PclColor.c - -PclCursor.lo: $(srcdir)/../pcl/PclCursor.c -@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT PclCursor.lo -MD -MP -MF $(DEPDIR)/PclCursor.Tpo -c -o PclCursor.lo `test -f '$(srcdir)/../pcl/PclCursor.c' || echo '$(srcdir)/'`$(srcdir)/../pcl/PclCursor.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/PclCursor.Tpo $(DEPDIR)/PclCursor.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../pcl/PclCursor.c' object='PclCursor.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o PclCursor.lo `test -f '$(srcdir)/../pcl/PclCursor.c' || echo '$(srcdir)/'`$(srcdir)/../pcl/PclCursor.c - -PclFonts.lo: $(srcdir)/../pcl/PclFonts.c -@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT PclFonts.lo -MD -MP -MF $(DEPDIR)/PclFonts.Tpo -c -o PclFonts.lo `test -f '$(srcdir)/../pcl/PclFonts.c' || echo '$(srcdir)/'`$(srcdir)/../pcl/PclFonts.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/PclFonts.Tpo $(DEPDIR)/PclFonts.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../pcl/PclFonts.c' object='PclFonts.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o PclFonts.lo `test -f '$(srcdir)/../pcl/PclFonts.c' || echo '$(srcdir)/'`$(srcdir)/../pcl/PclFonts.c - -PclGC.lo: $(srcdir)/../pcl/PclGC.c -@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT PclGC.lo -MD -MP -MF $(DEPDIR)/PclGC.Tpo -c -o PclGC.lo `test -f '$(srcdir)/../pcl/PclGC.c' || echo '$(srcdir)/'`$(srcdir)/../pcl/PclGC.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/PclGC.Tpo $(DEPDIR)/PclGC.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../pcl/PclGC.c' object='PclGC.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o PclGC.lo `test -f '$(srcdir)/../pcl/PclGC.c' || echo '$(srcdir)/'`$(srcdir)/../pcl/PclGC.c - -PclInit.lo: $(srcdir)/../pcl/PclInit.c -@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT PclInit.lo -MD -MP -MF $(DEPDIR)/PclInit.Tpo -c -o PclInit.lo `test -f '$(srcdir)/../pcl/PclInit.c' || echo '$(srcdir)/'`$(srcdir)/../pcl/PclInit.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/PclInit.Tpo $(DEPDIR)/PclInit.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../pcl/PclInit.c' object='PclInit.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o PclInit.lo `test -f '$(srcdir)/../pcl/PclInit.c' || echo '$(srcdir)/'`$(srcdir)/../pcl/PclInit.c - -PclLine.lo: $(srcdir)/../pcl/PclLine.c -@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT PclLine.lo -MD -MP -MF $(DEPDIR)/PclLine.Tpo -c -o PclLine.lo `test -f '$(srcdir)/../pcl/PclLine.c' || echo '$(srcdir)/'`$(srcdir)/../pcl/PclLine.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/PclLine.Tpo $(DEPDIR)/PclLine.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../pcl/PclLine.c' object='PclLine.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o PclLine.lo `test -f '$(srcdir)/../pcl/PclLine.c' || echo '$(srcdir)/'`$(srcdir)/../pcl/PclLine.c - -PclMisc.lo: $(srcdir)/../pcl/PclMisc.c -@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT PclMisc.lo -MD -MP -MF $(DEPDIR)/PclMisc.Tpo -c -o PclMisc.lo `test -f '$(srcdir)/../pcl/PclMisc.c' || echo '$(srcdir)/'`$(srcdir)/../pcl/PclMisc.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/PclMisc.Tpo $(DEPDIR)/PclMisc.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../pcl/PclMisc.c' object='PclMisc.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o PclMisc.lo `test -f '$(srcdir)/../pcl/PclMisc.c' || echo '$(srcdir)/'`$(srcdir)/../pcl/PclMisc.c - -PclPixel.lo: $(srcdir)/../pcl/PclPixel.c -@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT PclPixel.lo -MD -MP -MF $(DEPDIR)/PclPixel.Tpo -c -o PclPixel.lo `test -f '$(srcdir)/../pcl/PclPixel.c' || echo '$(srcdir)/'`$(srcdir)/../pcl/PclPixel.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/PclPixel.Tpo $(DEPDIR)/PclPixel.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../pcl/PclPixel.c' object='PclPixel.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o PclPixel.lo `test -f '$(srcdir)/../pcl/PclPixel.c' || echo '$(srcdir)/'`$(srcdir)/../pcl/PclPixel.c - -PclPolygon.lo: $(srcdir)/../pcl/PclPolygon.c -@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT PclPolygon.lo -MD -MP -MF $(DEPDIR)/PclPolygon.Tpo -c -o PclPolygon.lo `test -f '$(srcdir)/../pcl/PclPolygon.c' || echo '$(srcdir)/'`$(srcdir)/../pcl/PclPolygon.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/PclPolygon.Tpo $(DEPDIR)/PclPolygon.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../pcl/PclPolygon.c' object='PclPolygon.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o PclPolygon.lo `test -f '$(srcdir)/../pcl/PclPolygon.c' || echo '$(srcdir)/'`$(srcdir)/../pcl/PclPolygon.c - -PclPrint.lo: $(srcdir)/../pcl/PclPrint.c -@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT PclPrint.lo -MD -MP -MF $(DEPDIR)/PclPrint.Tpo -c -o PclPrint.lo `test -f '$(srcdir)/../pcl/PclPrint.c' || echo '$(srcdir)/'`$(srcdir)/../pcl/PclPrint.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/PclPrint.Tpo $(DEPDIR)/PclPrint.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../pcl/PclPrint.c' object='PclPrint.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o PclPrint.lo `test -f '$(srcdir)/../pcl/PclPrint.c' || echo '$(srcdir)/'`$(srcdir)/../pcl/PclPrint.c - -PclSFonts.lo: $(srcdir)/../pcl/PclSFonts.c -@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT PclSFonts.lo -MD -MP -MF $(DEPDIR)/PclSFonts.Tpo -c -o PclSFonts.lo `test -f '$(srcdir)/../pcl/PclSFonts.c' || echo '$(srcdir)/'`$(srcdir)/../pcl/PclSFonts.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/PclSFonts.Tpo $(DEPDIR)/PclSFonts.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../pcl/PclSFonts.c' object='PclSFonts.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o PclSFonts.lo `test -f '$(srcdir)/../pcl/PclSFonts.c' || echo '$(srcdir)/'`$(srcdir)/../pcl/PclSFonts.c - -PclSpans.lo: $(srcdir)/../pcl/PclSpans.c -@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT PclSpans.lo -MD -MP -MF $(DEPDIR)/PclSpans.Tpo -c -o PclSpans.lo `test -f '$(srcdir)/../pcl/PclSpans.c' || echo '$(srcdir)/'`$(srcdir)/../pcl/PclSpans.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/PclSpans.Tpo $(DEPDIR)/PclSpans.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../pcl/PclSpans.c' object='PclSpans.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o PclSpans.lo `test -f '$(srcdir)/../pcl/PclSpans.c' || echo '$(srcdir)/'`$(srcdir)/../pcl/PclSpans.c - -PclText.lo: $(srcdir)/../pcl/PclText.c -@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT PclText.lo -MD -MP -MF $(DEPDIR)/PclText.Tpo -c -o PclText.lo `test -f '$(srcdir)/../pcl/PclText.c' || echo '$(srcdir)/'`$(srcdir)/../pcl/PclText.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/PclText.Tpo $(DEPDIR)/PclText.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../pcl/PclText.c' object='PclText.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o PclText.lo `test -f '$(srcdir)/../pcl/PclText.c' || echo '$(srcdir)/'`$(srcdir)/../pcl/PclText.c - -PclWindow.lo: $(srcdir)/../pcl/PclWindow.c -@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT PclWindow.lo -MD -MP -MF $(DEPDIR)/PclWindow.Tpo -c -o PclWindow.lo `test -f '$(srcdir)/../pcl/PclWindow.c' || echo '$(srcdir)/'`$(srcdir)/../pcl/PclWindow.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/PclWindow.Tpo $(DEPDIR)/PclWindow.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/../pcl/PclWindow.c' object='PclWindow.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o PclWindow.lo `test -f '$(srcdir)/../pcl/PclWindow.c' || echo '$(srcdir)/'`$(srcdir)/../pcl/PclWindow.c - -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; nonemtpy = 1; } \ - END { if (nonempty) { 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; nonempty = 1; } \ - END { if (nonempty) { 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=; \ - 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; nonempty = 1; } \ - END { if (nonempty) { 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/xorg-server/hw/xprint/pcl/Pcl.h b/xorg-server/hw/xprint/pcl/Pcl.h deleted file mode 100644 index d46a03401..000000000 --- a/xorg-server/hw/xprint/pcl/Pcl.h +++ /dev/null @@ -1,619 +0,0 @@ -/******************************************************************* -** -** ********************************************************* -** * -** * File: Pcl.h -** * -** * Contents: defines and includes for the Pcl driver -** * for a printing X server. -** * -** * Created: 1/30/95 -** * -** ********************************************************* -** -********************************************************************/ -/* -(c) Copyright 1996 Hewlett-Packard Company -(c) Copyright 1996 International Business Machines Corp. -(c) Copyright 1996 Sun Microsystems, Inc. -(c) Copyright 1996 Novell, Inc. -(c) Copyright 1996 Digital Equipment Corp. -(c) Copyright 1996 Fujitsu Limited -(c) Copyright 1996 Hitachi, Ltd. - -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. -*/ - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#ifndef _PCL_H_ -#define _PCL_H_ - -#include -#include "scrnintstr.h" - -#include "PclDef.h" -#include "Pclmap.h" -#include "PclSFonts.h" - -#include -#include - -#include "regionstr.h" -#include -#include "dixfontstr.h" -#include "gcstruct.h" - -/* - * Some sleazes to force the XrmDB stuff into the server - */ -#ifndef HAVE_XPointer -typedef char *XPointer; -#endif -#define Status int -#define True 1 -#define False 0 -#include "misc.h" -#include -#include -#include "attributes.h" - -/****** - * externally visible variables from PclInit.c - ******/ -extern DevPrivateKey PclScreenPrivateKey, PclWindowPrivateKey; -extern DevPrivateKey PclContextPrivateKey; -extern DevPrivateKey PclPixmapPrivateKey; -extern DevPrivateKey PclGCPrivateKey; - -/****** - * externally visible variables from PclAttVal.c - ******/ -extern XpValidatePoolsRec PclValidatePoolsRec; - -/* - * This structure defines a mapping from an X colormap ID to a list of - * print contexts which use the colormap. - */ -typedef struct _pclcontextlist { - XpContextPtr context; - struct _pclcontextlist *next; -} PclContextList, *PclContextListPtr; - -typedef struct _pclcmaptocontexts { - long colormapId; - PclContextListPtr contexts; - struct _pclcmaptocontexts *next; -} PclCmapToContexts; - -typedef struct { - PclCmapToContexts *colormaps; - CloseScreenProcPtr CloseScreen; -} PclScreenPrivRec, *PclScreenPrivPtr; - -/* - * This structure defines a mapping from an X colormap ID to a PCL - * palette ID. - */ -typedef struct _palettemap { - long colormapId; - int paletteId; - int downloaded; - struct _palettemap *next; -} PclPaletteMap, *PclPaletteMapPtr; - -typedef struct { - char *jobFileName; - FILE *pJobFile; - char *pageFileName; - FILE *pPageFile; - GC lastGC; - unsigned char *dash; - int validGC; - ClientPtr getDocClient; - int getDocBufSize; - PclSoftFontInfoPtr pSoftFontInfo; - PclPaletteMapPtr palettes; - int currentPalette; - int nextPaletteId; - PclPaletteMap staticGrayPalette; - PclPaletteMap trueColorPalette; - PclPaletteMap specialTrueColorPalette; - unsigned char *ctbl; - int ctbldim; - int isRaw; -#ifdef XP_PCL_LJ3 - unsigned int fcount; - unsigned int fcount_max; - char *figures; -#endif /* XP_PCL_LJ3 */ -} PclContextPrivRec, *PclContextPrivPtr; - -typedef struct { - int validContext; - XpContextPtr context; -} PclWindowPrivRec, *PclWindowPrivPtr; - -typedef struct { - unsigned long stippleFg, stippleBg; -} PclGCPrivRec, *PclGCPrivPtr; - -typedef struct { - XpContextPtr context; - char *tempFileName; - FILE *tempFile; - GC lastGC; - int validGC; -} PclPixmapPrivRec, *PclPixmapPrivPtr; - -/****** - * Defined functions - ******/ -#define SEND_PCL(f,c) fwrite( c, sizeof( char ), strlen( c ), f ) -#define SEND_PCL_COUNT(f,c,n) fwrite( c, sizeof( char ), n, f ) - -#ifndef XP_PCL_LJ3 -#define SAVE_PCL(f,p,c) SEND_PCL(f,c) -#define SAVE_PCL_COUNT(f,p,c,n) SEND_PCL_COUNT(f,c,n) -#define MACRO_START(f,p) SEND_PCL(f, "\033&f1Y\033&f0X") -#define MACRO_END(f) SEND_PCL(f, "\033&f1X") -#else -#define SAVE_PCL(f,p,c) PclSpoolFigs(p, c, strlen(c)) -#define SAVE_PCL_COUNT(f,p,c,n) PclSpoolFigs(p, c, n) -#define MACRO_START(f,p) p->fcount = 0 -#define MACRO_END(f) /* do nothing */ -#endif /* XP_PCL_LJ3 */ - -#define MIN(a,b) (((a)<(b))?(a):(b)) -#ifndef MAX -#define MAX(a,b) (((a)>(b))?(a):(b)) -#endif - -/****** - * Functions in PclArc.c - ******/ -extern void PclPolyArc( - DrawablePtr pDrawable, - GCPtr pGC, - int nArcs, - xArc *pArcs); -extern void PclPolyFillArc( - DrawablePtr pDrawable, - GCPtr pGC, - int nArcs, - xArc *pArcs); - -/****** - * Functions in PclArea.c - ******/ -extern void PclPutImage( - DrawablePtr pDrawable, - GCPtr pGC, - int depth, - int x, - int y, - int w, - int h, - int leftPad, - int format, - char *pImage); -extern RegionPtr PclCopyArea( - DrawablePtr pSrc, - DrawablePtr pDst, - GCPtr pGC, - int srcx, - int srcy, - int width, - int height, - int dstx, - int dsty); -RegionPtr PclCopyPlane( - DrawablePtr pSrc, - DrawablePtr pDst, - GCPtr pGC, - int srcx, - int srcy, - int width, - int height, - int dstx, - int dsty, - unsigned long plane); - - -/****** - * Functions in PclAttr.c - ******/ -extern char *PclGetAttributes( - XpContextPtr pCon, - XPAttributes pool ); -extern char *PclGetOneAttribute( - XpContextPtr pCon, - XPAttributes pool, - char *attr ); -extern int PclAugmentAttributes( - XpContextPtr pCon, - XPAttributes pool, - char *attrs ); -extern int PclSetAttributes( - XpContextPtr pCon, - XPAttributes pool, - char *attrs ); - -/****** - * Functions in PclColor.c - ******/ -extern Bool PclCreateDefColormap(ScreenPtr pScreen); -extern Bool PclCreateColormap(ColormapPtr pColor); -extern void PclDestroyColormap(ColormapPtr pColor); -extern void PclInstallColormap(ColormapPtr pColor); -extern void PclUninstallColormap(ColormapPtr pColor); -extern int PclListInstalledColormaps(ScreenPtr pScreen, - XID *pCmapList); -extern void PclStoreColors(ColormapPtr pColor, - int ndef, - xColorItem *pdefs); -extern void PclResolveColor(unsigned short *pRed, - unsigned short *pGreen, - unsigned short *pBlue, - VisualPtr pVisual); -extern int PclUpdateColormap(DrawablePtr pDrawable, - XpContextPtr pCon, - GCPtr gc, - FILE *outFile); -extern void PclLookUp(ColormapPtr cmap, - PclContextPrivPtr cPriv, - unsigned short *r, - unsigned short *g, - unsigned short *b); -extern PclPaletteMapPtr PclFindPaletteMap(PclContextPrivPtr cPriv, - ColormapPtr cmap, - GCPtr gc); -extern unsigned char *PclReadMap(char *, int *); - - -/****** - * Functions in PclCursor.c - ******/ -extern void PclConstrainCursor( - ScreenPtr pScreen, - BoxPtr pBox); -extern void PclCursorLimits( - ScreenPtr pScreen, - CursorPtr pCursor, - BoxPtr pHotBox, - BoxPtr pTopLeftbox); -extern Bool PclDisplayCursor( - ScreenPtr pScreen, - CursorPtr pCursor); -extern Bool PclRealizeCursor( - ScreenPtr pScreen, - CursorPtr pCursor); -extern Bool PclUnrealizeCursor( - ScreenPtr pScreen, - CursorPtr pCursor); -extern void PclRecolorCursor( - ScreenPtr pScreen, - CursorPtr pCursor, - Bool displayed); -extern Bool PclSetCursorPosition( - ScreenPtr pScreen, - int x, - int y, - Bool generateEvent); - -/****** - * Functions in PclSFonts.c - ******/ -extern void -PclDownloadSoftFont8( - FILE *fp, - PclSoftFontInfoPtr pSoftFontInfo, - PclFontHead8Ptr pfh, - PclCharDataPtr pcd, - unsigned char *code); -extern void PclDownloadSoftFont16( - FILE *fp, - PclSoftFontInfoPtr pSoftFontInfo, - PclFontHead16Ptr pfh, - PclCharDataPtr pcd, - unsigned char row, - unsigned char col); -extern PclSoftFontInfoPtr PclCreateSoftFontInfo(void); -extern void PclDestroySoftFontInfo( - PclSoftFontInfoPtr pSoftFontInfo ); - -/****** - * Functions in PclGC.c - ******/ -extern Bool PclCreateGC(GCPtr pGC); -extern void PclDestroyGC(GCPtr pGC); -extern int PclUpdateDrawableGC( - GCPtr pGC, - DrawablePtr pDrawable, - FILE **outFile); -extern void PclValidateGC( - GCPtr pGC, - unsigned long changes, - DrawablePtr pDrawable); -extern void PclSetDrawablePrivateStuff( - DrawablePtr pDrawable, - GC gc ); -extern int PclGetDrawablePrivateStuff( - DrawablePtr pDrawable, - GC *gc, - unsigned long *valid, - FILE **file ); -extern void PclSetDrawablePrivateGC( - DrawablePtr pDrawable, - GC gc); -extern void PclComputeCompositeClip( - GCPtr pGC, - DrawablePtr pDrawable); - -/****** - * Functions in PclInit.c - ******/ -extern Bool PclCloseScreen( - int index, - ScreenPtr pScreen); -extern Bool InitializeColorPclDriver( - int ndx, - ScreenPtr pScreen, - int argc, - char **argv); -extern Bool InitializeMonoPclDriver( - int ndx, - ScreenPtr pScreen, - int argc, - char **argv); -extern Bool InitializeLj3PclDriver( - int ndx, - ScreenPtr pScreen, - int argc, - char **argv); -extern XpContextPtr PclGetContextFromWindow( WindowPtr win ); - -/****** - * Functions in PclLine.c - ******/ -extern void PclPolyLine( - DrawablePtr pDrawable, - GCPtr pGC, - int mode, - int nPoints, - xPoint *pPoints); -extern void PclPolySegment( - DrawablePtr pDrawable, - GCPtr pGC, - int nSegments, - xSegment *pSegments); - -/****** - * Functions in PclMisc.c - ******/ -extern void PclQueryBestSize( - int class, - short *pwidth, - short *pheight, - ScreenPtr pScreen); -extern char *GetPropString(WindowPtr pWin, char *propName); -extern int SystemCmd(char *cmdStr); -extern int PclGetMediumDimensions( - XpContextPtr pCon, - CARD16 *pWidth, - CARD16 *pHeight); -extern int PclGetReproducibleArea( - XpContextPtr pCon, - xRectangle *pRect); -extern void PclSendData( - FILE *outFile, - PclContextPrivPtr pConPriv, - BoxPtr pbox, - int nbox, - double ratio); - -/****** - * Functions in PclPixel.c - ******/ -extern void PclPolyPoint( - DrawablePtr pDrawable, - GCPtr pGC, - int mode, - int nPoints, - xPoint *pPoints); -extern void PclPushPixels( - GCPtr pGC, - PixmapPtr pBitmap, - DrawablePtr pDrawable, - int width, - int height, - int x, - int y); - -/****** - * Functions in PclPixmap.c - ******/ -extern PixmapPtr PclCreatePixmap( - ScreenPtr pScreen, - int width, - int height, - int depth); -extern Bool PclDestroyPixmap(PixmapPtr pPixmap); - -/****** - * Functions in PclPolygon.c - ******/ -extern void PclPolyRectangle( - DrawablePtr pDrawable, - GCPtr pGC, - int nRects, - xRectangle *pRects); -extern void PclFillPolygon( - DrawablePtr pDrawable, - GCPtr pGC, - int shape, - int mode, - int nPoints, - DDXPointPtr pPoints); -extern void PclPolyFillRect( - DrawablePtr pDrawable, - GCPtr pGC, - int nRects, - xRectangle *pRects); - -/****** - * Functions in PclSpans.c - ******/ -extern void PclFillSpans( - DrawablePtr pDrawable, - GCPtr pGC, - int nSpans, - DDXPointPtr pPoints, - int *pWidths, - int fSorted); -extern void PclSetSpans( - DrawablePtr pDrawable, - GCPtr pGC, - char *pSrc, - DDXPointPtr pPoints, - int *pWidths, - int nSpans, - int fSorted); - -/****** - * Functions in PclText.c - ******/ -extern int PclPolyText8( - DrawablePtr pDrawable, - GCPtr pGC, - int x, - int y, - int count, - char *string); -extern int PclPolyText16( - DrawablePtr pDrawable, - GCPtr pGC, - int x, - int y, - int count, - unsigned short *string); -extern void PclImageText8( - DrawablePtr pDrawable, - GCPtr pGC, - int x, - int y, - int count, - char *string); -extern void PclImageText16( - DrawablePtr pDrawable, - GCPtr pGC, - int x, - int y, - int count, - unsigned short *string); -extern void PclImageGlyphBlt( - DrawablePtr pDrawable, - GCPtr pGC, - int x, - int y, - unsigned int nGlyphs, - CharInfoPtr *pCharInfo, - pointer pGlyphBase); -extern void PclPolyGlyphBlt( - DrawablePtr pDrawable, - GCPtr pGC, - int x, - int y, - unsigned int nGlyphs, - CharInfoPtr *pCharInfo, - pointer pGlyphBase); - -/****** - * Functions in PclWindow.c - ******/ -extern Bool PclCreateWindow(register WindowPtr pWin); -extern Bool PclDestroyWindow(WindowPtr pWin); -extern Bool PclMapWindow(WindowPtr pWindow); -extern Bool PclPositionWindow( - register WindowPtr pWin, - int x, - int y); -extern Bool PclUnmapWindow(WindowPtr pWindow); -extern void PclCopyWindow( - WindowPtr pWin, - DDXPointRec ptOldOrg, - RegionPtr prgnSrc); -extern Bool PclChangeWindowAttributes( - register WindowPtr pWin, - register unsigned long mask); - -/****** - * Functions in PclFonts.c - ******/ -extern Bool PclRealizeFont( - ScreenPtr pscr, - FontPtr pFont); -extern Bool PclUnrealizeFont( - ScreenPtr pscr, - FontPtr pFont); - -/****** - * Functions in PclPrint.c - ******/ -extern int PclStartJob( - XpContextPtr pCon, - Bool sendClientData, - ClientPtr client); -extern int PclEndJob( - XpContextPtr pCon, - Bool cancel); -extern int PclStartPage( - XpContextPtr pCon, - WindowPtr pWin); -extern int PclEndPage( - XpContextPtr pCon, - WindowPtr pWin); -extern int PclStartDoc(XpContextPtr pCon, - XPDocumentType type); -extern int PclEndDoc( - XpContextPtr pCon, - Bool cancel); -extern int PclDocumentData( - XpContextPtr pCon, - DrawablePtr pDraw, - char *pData, - int len_data, - char *pFmt, - int len_fmt, - char *pOpt, - int len_opt, - ClientPtr client); -extern int PclGetDocumentData( - XpContextPtr pCon, - ClientPtr client, - int maxBufferSize); - - -#endif /* _PCL_H_ */ diff --git a/xorg-server/hw/xprint/pcl/PclArc.c b/xorg-server/hw/xprint/pcl/PclArc.c deleted file mode 100644 index 20d3f723d..000000000 --- a/xorg-server/hw/xprint/pcl/PclArc.c +++ /dev/null @@ -1,268 +0,0 @@ -/******************************************************************* -** -** ********************************************************* -** * -** * File: PclArc.c -** * -** * Contents: -** * Arc-drawing code for the PCL DDX driver -** * -** * Created: 10/23/95 -** * -** ********************************************************* -** -********************************************************************/ -/* -(c) Copyright 1996 Hewlett-Packard Company -(c) Copyright 1996 International Business Machines Corp. -(c) Copyright 1996 Sun Microsystems, Inc. -(c) Copyright 1996 Novell, Inc. -(c) Copyright 1996 Digital Equipment Corp. -(c) Copyright 1996 Fujitsu Limited -(c) Copyright 1996 Hitachi, Ltd. - -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. -*/ - - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#include -#include -#include - -#include "Pcl.h" -#include "gcstruct.h" -#include "windowstr.h" -#include "attributes.h" - -static void -PclDoArc( - DrawablePtr pDrawable, - GCPtr pGC, - int nArcs, - xArc *pArcs, - void (*DoIt)(FILE *, PclContextPrivPtr, double, double, xArc)) -{ - char t[80]; - FILE *outFile; - int nbox, i; - BoxPtr pbox; - BoxRec r; - RegionPtr drawRegion, region, transClip; - short fudge; - int xoffset, yoffset; - XpContextPtr pCon; - PclContextPrivPtr pConPriv; - xRectangle repro; - - if( PclUpdateDrawableGC( pGC, pDrawable, &outFile ) == FALSE ) - return; - - fudge = 3 * pGC->lineWidth; - - pCon = PclGetContextFromWindow( (WindowPtr) pDrawable ); - pConPriv = (PclContextPrivPtr) - dixLookupPrivate(&pCon->devPrivates, PclContextPrivateKey); - XpGetReproductionArea( pCon, &repro ); - - /* - * Generate the PCL code to draw the collection of arcs, by - * defining it as a macro which uses the HP-GL/2 arc drawing - * function. - */ - - xoffset = pDrawable->x; - yoffset = pDrawable->y; - - for( i = 0; i < nArcs; i++ ) - { - xArc Arc = pArcs[i]; - double b, X, Y, ratio; - double angle1; - - MACRO_START( outFile, pConPriv ); - SAVE_PCL( outFile, pConPriv, "\033%0B" ); - - /* Calculate the start of the arc */ - if( ( Arc.angle1 / 64 ) % 360 == 90 ) - { - X = 0; - Y = -Arc.height / 2.0; - } - else if( ( Arc.angle1 / 64 ) % 360 == 270 ) - { - X = 0; - Y = Arc.height / 2.0; - } - else - { - /* Convert the angle to radians */ - angle1 = ( Arc.angle1 / 64.0 ) * 3.141592654 / 180.0; - - b = (Arc.height / 2.0); - X = b * cos( angle1 ); - Y = -b * sin( angle1 ); - } - - /* Change the coordinate system to scale the ellipse */ - ratio = (double)Arc.height / (double)Arc.width; - - sprintf( t, "SC%.2f,%.2f,%d,%d;", - (repro.x - Arc.width / 2 - xoffset - Arc.x) * ratio, - (repro.x - Arc.width / 2 - xoffset - Arc.x + - repro.width) * ratio, - repro.y - Arc.height / 2 - yoffset - Arc.y + repro.height, - repro.y - Arc.height / 2 - yoffset - Arc.y); - SAVE_PCL( outFile, pConPriv, t ); - - DoIt( outFile, pConPriv, X, Y, Arc ); - - /* Build the bounding box */ - r.x1 = -Arc.width / 2 - fudge; - r.y1 = -Arc.height / 2 - fudge; - r.x2 = Arc.width / 2 + fudge; - r.y2 = Arc.height / 2 + fudge; - drawRegion = REGION_CREATE( pGC->pScreen, &r, 0 ); - - SAVE_PCL( outFile, pConPriv, "\033%0A" ); - MACRO_END( outFile ); - - /* - * Intersect the bounding box with the clip region. - */ - region = REGION_CREATE( pGC->pScreen, NULL, 0 ); - transClip = REGION_CREATE( pGC->pScreen, NULL, 0 ); - REGION_COPY( pGC->pScreen, transClip, pGC->pCompositeClip ); - REGION_TRANSLATE( pGC->pScreen, transClip, - -(xoffset + Arc.x + Arc.width / 2), - -(yoffset + Arc.y + Arc.height / 2) ); - REGION_INTERSECT( pGC->pScreen, region, drawRegion, transClip ); - - /* - * For each rectangle in the clip region, set the HP-GL/2 "input - * window" and render the collection of arcs to it. - */ - pbox = REGION_RECTS( region ); - nbox = REGION_NUM_RECTS( region ); - - PclSendData(outFile, pConPriv, pbox, nbox, ratio); - - /* - * Restore the coordinate system - */ - sprintf( t, "\033%%0BSC%d,%d,%d,%d;\033%%0A", repro.x, - repro.x + repro.width, repro.y + repro.height, - repro.y ); - SEND_PCL( outFile, t ); - - /* - * Clean up the temporary regions - */ - REGION_DESTROY( pGC->pScreen, drawRegion ); - REGION_DESTROY( pGC->pScreen, region ); - REGION_DESTROY( pGC->pScreen, transClip ); - } -} - -/* - * Draw a simple non-filled arc, centered on the origin and starting - * at the given point. - */ -static void -DrawArc(FILE *outFile, - PclContextPrivPtr pConPriv, - double X, - double Y, - xArc A) -{ - char t[80]; - - sprintf( t, "PU%d,%d;PD;AA0,0,%.2f;", (int)X, (int)Y, - (float)A.angle2 / -64.0 ); - SAVE_PCL(outFile, pConPriv, t); -} - -void -PclPolyArc( - DrawablePtr pDrawable, - GCPtr pGC, - int nArcs, - xArc *pArcs) -{ - PclDoArc( pDrawable, pGC, nArcs, pArcs, DrawArc ); -} - -/* - * Draw a filled wedge, from the origin, to the given point, through - * the appropriate angle, and back to the origin. - */ -static void -DoWedge(FILE *outFile, - PclContextPrivPtr pConPriv, - double X, - double Y, - xArc A) -{ - char t[80]; - - sprintf( t, "PU0,0;WG%.2f,%.2f,%.2f;", sqrt( X * X + Y * Y ), - (float)A.angle1 / -64.0, - (float)A.angle2 / -64.0 ); - SAVE_PCL(outFile, pConPriv, t); -} - -static void -DoChord(FILE *outFile, - PclContextPrivPtr pConPriv, - double X, - double Y, - xArc A) -{ - char t[80]; - - sprintf( t, "PU%d,%d;PM0;AA0,0,%.2f;PA%d,%d;PM2;FP;", (int)X, (int)Y, - (float)A.angle2 / -64.0 , (int)X, (int)Y ); - SAVE_PCL(outFile, pConPriv, t); -} - - -void -PclPolyFillArc( - DrawablePtr pDrawable, - GCPtr pGC, - int nArcs, - xArc *pArcs) -{ - switch( pGC->arcMode ) - { - case ArcChord: - PclDoArc( pDrawable, pGC, nArcs, pArcs, DoChord ); - break; - case ArcPieSlice: - PclDoArc( pDrawable, pGC, nArcs, pArcs, DoWedge ); - break; - } -} diff --git a/xorg-server/hw/xprint/pcl/PclArea.c b/xorg-server/hw/xprint/pcl/PclArea.c deleted file mode 100644 index a4e53dad6..000000000 --- a/xorg-server/hw/xprint/pcl/PclArea.c +++ /dev/null @@ -1,436 +0,0 @@ -/******************************************************************* -** -** ********************************************************* -** * -** * File: PclArea.c -** * -** * Contents: -** * Image and Area functions for the PCL DDX driver -** * -** * Created: 10/23/95 -** * -** ********************************************************* -** -********************************************************************/ -/* -(c) Copyright 1996 Hewlett-Packard Company -(c) Copyright 1996 International Business Machines Corp. -(c) Copyright 1996 Sun Microsystems, Inc. -(c) Copyright 1996 Novell, Inc. -(c) Copyright 1996 Digital Equipment Corp. -(c) Copyright 1996 Fujitsu Limited -(c) Copyright 1996 Hitachi, Ltd. - -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. -*/ - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#include -#include -#include -#include "Pcl.h" -#include "pixmapstr.h" -#include "region.h" - -#include "fb.h" - -void -PclPutImage(DrawablePtr pDrawable, - GCPtr pGC, - int depth, - int x, - int y, - int w, - int h, - int leftPad, - int format, - char *pImage) -{ - PixmapPtr pPixmap; - unsigned long oldFg, oldBg; - XID gcv[3]; - unsigned long oldPlanemask; - unsigned long i; - long bytesPer; - - if( ( w == 0 ) || ( h == 0 ) ) - return; - - if( format != XYPixmap ) - { - pPixmap = GetScratchPixmapHeader( pDrawable->pScreen, - w+leftPad, h, depth, - BitsPerPixel( depth ), - PixmapBytePad( w + leftPad, - depth ), (pointer)pImage ); - if( !pPixmap ) - return; - - if( format == ZPixmap ) - (void)(*pGC->ops->CopyArea)( (DrawablePtr)pPixmap, pDrawable, pGC, - leftPad, 0, w, h, x, y ); - else - (void)(*pGC->ops->CopyPlane)( (DrawablePtr)pPixmap, pDrawable, pGC, - leftPad, 0, w, h, x, y, 1 ); - FreeScratchPixmapHeader( pPixmap ); - } - else - { - pPixmap = GetScratchPixmapHeader( pDrawable->pScreen, - w+leftPad, h, depth, - BitsPerPixel( depth ), - PixmapBytePad( w + leftPad, - depth ), (pointer)pImage ); - - if( !pPixmap ) - return; - - depth = pGC->depth; - oldPlanemask = pGC->planemask; - oldFg = pGC->fgPixel; - oldBg = pGC->bgPixel; - gcv[0] = ~0L; - gcv[1] = 0; - DoChangeGC( pGC, GCForeground | GCBackground, gcv, 0 ); - bytesPer = (long)h * BitmapBytePad( w + leftPad ); - - for( i = 1 << (depth-1); i != 0; i >>= 1, pImage += bytesPer ) - { - if( i & oldPlanemask ) - { - gcv[0] = i; - DoChangeGC( pGC, GCPlaneMask, gcv, 0 ); - ValidateGC( pDrawable, pGC ); - fbPutImage( (DrawablePtr)pPixmap, pGC, 1, x, y, w, h, - leftPad, XYBitmap, pImage ); - } - } - gcv[0] = oldPlanemask; - gcv[1] = oldFg; - gcv[2] = oldBg; - DoChangeGC( pGC, GCPlaneMask | GCForeground | GCBackground, - gcv, 0 ); - - PclCopyArea( (DrawablePtr)pPixmap, pDrawable, pGC, leftPad, - 0, w, h, x, y ); - FreeScratchPixmapHeader( pPixmap ); - } -} - -/* - * PclMonoPixmapFragment() - * - * Given a 1-bit-deep pixmap, send the appropriate part of it to the - * output file as a PCL raster graphics command. - */ -static void -PclMonoPixmapFragment(FILE *outFile, - PixmapPtr pix, - short x1, - short y1, - short x2, - short y2, - short dstx, - short dsty) -{ - char *bits, t[80], *row; - int h, w, i; - - /* - * Create a storage area large enough to hold the entire pixmap, - * then use fbGetImage to get the appropriate bits. - */ - h = y2 - y1; - w = BitmapBytePad( x2 - x1 ); - - bits = (char *)xalloc( h * w ); - fbGetImage( (DrawablePtr)pix, x1, y1, x2 - x1, h, - XYPixmap, ~0, bits ); - - /* - * Move the cursor to the appropriate place on the page. We have - * to jump into HP-GL/2 to do this correctly, then go back to PCL - * for the actual drawing. - */ - sprintf( t, "\033%%0BPU%d,%d;\033%%1A", dstx, dsty ); - SEND_PCL( outFile, t ); - - /* - * Now, wrap the raster in the appropriate PCL code. Right now, - * it's going to go down the wire without any compression. That - * will have to be good enough for the sample implementation. - */ - sprintf( t, "\033*t300R\033*r%dT\033*r%dS\033*r1A\033*b0M", - h, x2 - x1 ); - SEND_PCL( outFile, t ); - - sprintf( t, "\033*b%dW", w ); - for( row = bits, i = 0; i <= h; i++, row += w ) - { - SEND_PCL( outFile, t ); - SEND_PCL_COUNT( outFile, row, w ); - } - - SEND_PCL( outFile, "\033*rC" ); - - /* - * Clean things up a bit - */ - xfree( bits ); -} - -static void -PclColorPixmapFragment(FILE *outFile, - PixmapPtr pix, - short x1, - short y1, - short x2, - short y2, - short dstx, - short dsty) -{ - char *bits, t[80], *row; - int h, w, i; - - /* - * Create a storage area large enough to hold the entire pixmap, - * then use fbGetImage to get the appropriate bits. - */ - h = y2 - y1; - w = PixmapBytePad( x2 - x1, pix->drawable.depth ); - - bits = (char *)xalloc( h * w ); - fbGetImage( (DrawablePtr)pix, x1, y1, x2 - x1, h, ZPixmap, ~0, bits ); - - /* - * Move the cursor to the appropriate place on the page. We have - * to jump into HP-GL/2 to do this correctly, then go back to PCL - * for the actual drawing. - */ - sprintf( t, "\033%%0BPU%d,%d;\033%%1A", dstx, dsty ); - SEND_PCL( outFile, t ); - - /* - * Now, wrap the raster in the appropriate PCL code. Right now, - * it's going to go down the wire without any compression. That - * will have to be good enough for the sample implementation. - */ - sprintf( t, "\033*t300R\033*r%dt%ds1A\033*b0M", - h, x2 - x1 ); - SEND_PCL( outFile, t ); - - sprintf( t, "\033*b%dW", w ); - for( row = bits, i = 0; i < h; i++, row += w ) - { - SEND_PCL( outFile, t ); - SEND_PCL_COUNT( outFile, row, w ); - } - - SEND_PCL( outFile, "\033*rC" ); - - /* - * Clean things up a bit - */ - xfree( bits ); -} - -RegionPtr -PclCopyArea(DrawablePtr pSrc, - DrawablePtr pDst, - GCPtr pGC, - int srcx, - int srcy, - int width, - int height, - int dstx, - int dsty) -{ - PixmapPtr pixSrc = (PixmapPtr)pSrc; -/* - FILE *srcFile; - GC srcGC; -*/ - FILE *dstFile; - GC dstGC; - unsigned long valid; - RegionPtr drawRegion, region, whole, ret; - BoxRec box; - BoxPtr prect; - int nrect; - void (*doFragment)(FILE *, PixmapPtr, short, short, short, short, - short, short ); - - /* - * Since we don't store any information on a per-window basis, we - * can't copy from a window. - */ - if( pSrc->type == DRAWABLE_WINDOW ) - return NULL; - - /* - * If we're copying from a pixmap to a pixmap, we just use the - * fb code to do the work. - */ - if( pDst->type == DRAWABLE_PIXMAP ) - fbCopyArea( pSrc, pDst, pGC, srcx, srcy, width, height, dstx, dsty ); - -/* - PclGetDrawablePrivateStuff( pSrc, &srcGC, &valid, &srcFile ); -*/ - PclGetDrawablePrivateStuff( pDst, &dstGC, &valid, &dstFile ); - - /* - * If we're copying to a window, we have to do some actual - * drawing, instead of just handing it off to fb. Start - * by determining the region that will be drawn. - */ - box.x1 = srcx; - box.y1 = srcy; - box.x2 = srcx + width; - box.y2 = srcy + height; - drawRegion = REGION_CREATE( pGC->pScreen, &box, 0 ); - REGION_TRANSLATE( pGC->pScreen, drawRegion, dstx, dsty ); - - region = REGION_CREATE( pGC->pScreen, NULL, 0 ); - REGION_INTERSECT( pGC->pScreen, region, drawRegion, pGC->pCompositeClip ); - - /* - * Now select the operation to be performed on each box in the - * region. - */ - if( pSrc->depth == 1 ) - doFragment = PclMonoPixmapFragment; - else - doFragment = PclColorPixmapFragment; - - /* - * Actually draw each section of the bitmap. - */ - nrect = REGION_NUM_RECTS( region ); - prect = REGION_RECTS( region ); - - while( nrect ) - { - (*doFragment)( dstFile, (PixmapPtr)pSrc, prect->x1 - dstx, - prect->y1 - dsty, prect->x2 - dstx, - prect->y2 - dsty, prect->x1, prect->y1 ); - - nrect--; - prect++; - } - - /* - * Update the destination's GC to the source's GC. - */ -/* - PclSetDrawablePrivateGC( pDst, srcGC ); -*/ - - /* - * Determine the region that needs to be returned. This is the - * region of the source that falls outside the boundary of the - * pixmap. - */ - box.x1 = 0; - box.y1 = 0; - box.x2 = pixSrc->drawable.width; - box.y2 = pixSrc->drawable.height; - whole = REGION_CREATE( pGC->pScreen, &box, 0 ); - ret = REGION_CREATE( pGC->pScreen, NULL, 0 ); - - REGION_TRANSLATE( pGC->pScreen, drawRegion, -dstx, -dsty ); - REGION_SUBTRACT( pGC->pScreen, ret, drawRegion, whole ); - - /* - * Clean up the regions - */ - REGION_DESTROY( pGC->pScreen, drawRegion ); - REGION_DESTROY( pGC->pScreen, region ); - REGION_DESTROY( pGC->pScreen, whole ); - - if( REGION_NOTEMPTY( pGC->pScreen, ret ) ) - return ret; - else - { - REGION_DESTROY( pGC->pScreen, ret ); - return NULL; - } -} - -RegionPtr -PclCopyPlane(DrawablePtr pSrc, - DrawablePtr pDst, - GCPtr pGC, - int srcx, - int srcy, - int width, - int height, - int dstx, - int dsty, - unsigned long plane) -{ - RegionPtr reg; - GCPtr scratchGC; - PixmapPtr scratchPix; - - /* - * Since we don't store PCL on a per-window basis, there's no good - * way to copy from a window. - */ - if( pSrc->type == DRAWABLE_WINDOW ) - return NULL; - - /* Copying from a pixmap to a pixmap is already implemented by fb. */ - if( pSrc->type == DRAWABLE_PIXMAP && - pDst->type == DRAWABLE_PIXMAP ) - fbCopyPlane( pSrc, pDst, pGC, srcx, srcy, width, height, - dstx, dsty, plane ); - - /* - * We can use fbCopyPlane to do the work of grabbing the plane and - * converting it to the desired visual. Once that's done, we already - * know how to do a CopyArea. - */ - scratchPix = (*pDst->pScreen->CreatePixmap)( pDst->pScreen, width, - height, pDst->depth, - CREATE_PIXMAP_USAGE_SCRATCH ); - - scratchGC = GetScratchGC( pDst->depth, pDst->pScreen ); - CopyGC( pGC, scratchGC, ~0L ); - - fbValidateGC( scratchGC, ~0L, (DrawablePtr)scratchPix ); - fbCopyPlane( pSrc, (DrawablePtr)scratchPix, scratchGC, - srcx, srcy, width, height, 0, 0, plane ); - - reg = PclCopyArea( (DrawablePtr)scratchPix, pDst, pGC, 0, 0, width, - height, dstx, dsty ); - - FreeScratchGC( scratchGC ); - - (*pDst->pScreen->DestroyPixmap)( scratchPix ); - - return reg; -} diff --git a/xorg-server/hw/xprint/pcl/PclAttVal.c b/xorg-server/hw/xprint/pcl/PclAttVal.c deleted file mode 100644 index f0f204764..000000000 --- a/xorg-server/hw/xprint/pcl/PclAttVal.c +++ /dev/null @@ -1,206 +0,0 @@ -/* - */ -/* -(c) Copyright 1996 Hewlett-Packard Company -(c) Copyright 1996 International Business Machines Corp. -(c) Copyright 1996 Sun Microsystems, Inc. -(c) Copyright 1996 Novell, Inc. -(c) Copyright 1996 Digital Equipment Corp. -(c) Copyright 1996 Fujitsu Limited -(c) Copyright 1996 Hitachi, Ltd. - -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. -*/ - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#include "Pcl.h" -#include "AttrValid.h" - -/* - * define valid values and defaults for Printer pool - */ -static XpOid ValidContentOrientationsOids[] = { - xpoid_val_content_orientation_portrait, - xpoid_val_content_orientation_landscape, - xpoid_val_content_orientation_reverse_portrait, - xpoid_val_content_orientation_reverse_landscape -}; -static XpOidList ValidContentOrientations = { - ValidContentOrientationsOids, XpNumber(ValidContentOrientationsOids) -}; - -static XpOid DefaultContentOrientationsOids[] = { - xpoid_val_content_orientation_portrait, - xpoid_val_content_orientation_landscape -}; -static XpOidList DefaultContentOrientations = { - DefaultContentOrientationsOids, XpNumber(DefaultContentOrientationsOids) -}; - -static XpOid ValidPlexesOids[] = { - xpoid_val_plex_simplex, xpoid_val_plex_duplex, xpoid_val_plex_tumble -}; -static XpOidList ValidPlexes = { - ValidPlexesOids, XpNumber(ValidPlexesOids) -}; - -static XpOid DefaultPlexesOids[] = { - xpoid_val_plex_simplex -}; -static XpOidList DefaultPlexes = { - DefaultPlexesOids, XpNumber(DefaultPlexesOids) -}; - -static unsigned long ValidPrinterResolutionsCards[] = { - 300 -}; -static XpOidCardList ValidPrinterResolutions = { - ValidPrinterResolutionsCards, XpNumber(ValidPrinterResolutionsCards) -}; - -static unsigned long DefaultPrinterResolutionsCards[] = { - 300 -}; -static XpOidCardList DefaultPrinterResolutions = { - DefaultPrinterResolutionsCards, XpNumber(DefaultPrinterResolutionsCards) -}; - -static XpOid ValidListfontsModesOids[] = { - xpoid_val_xp_list_internal_printer_fonts, xpoid_val_xp_list_glyph_fonts -}; -static XpOidList ValidListfontsModes = { - ValidListfontsModesOids, XpNumber(ValidListfontsModesOids) -}; - -static XpOid DefaultListfontsModesOids[] = { - xpoid_val_xp_list_glyph_fonts -}; -static XpOidList DefaultListfontsModes = { - DefaultListfontsModesOids, XpNumber(DefaultListfontsModesOids) -}; - -static XpOid ValidSetupProvisoOids[] = { - xpoid_val_xp_setup_mandatory, xpoid_val_xp_setup_optional -}; -static XpOidList ValidSetupProviso = { - - - ValidSetupProvisoOids, XpNumber(ValidSetupProvisoOids) -}; - -static XpOidDocFmt ValidDocFormatsSupportedFmts[] = { - { "PCL", "5", NULL }, -}; -static XpOidDocFmtList ValidDocFormatsSupported = { - ValidDocFormatsSupportedFmts, XpNumber(ValidDocFormatsSupportedFmts) -}; - -static XpOidDocFmt DefaultDocFormatsSupportedFmts[] = { - { "PCL", "5", NULL } -}; -static XpOidDocFmtList DefaultDocFormatsSupported = { - DefaultDocFormatsSupportedFmts, XpNumber(DefaultDocFormatsSupportedFmts) -}; - -static XpOidDocFmt ValidEmbeddedFormatsSupportedFmts[] = { - { "HPGL", "2", NULL }, -}; -static XpOidDocFmtList ValidEmbeddedFormatsSupported = { - ValidEmbeddedFormatsSupportedFmts, XpNumber(ValidEmbeddedFormatsSupportedFmts) -}; - -static XpOidDocFmt DefaultEmbeddedFormatsSupportedFmts[] = { - { "HPGL", "2", NULL } -}; -static XpOidDocFmtList DefaultEmbeddedFormatsSupported = { - DefaultEmbeddedFormatsSupportedFmts, XpNumber(DefaultEmbeddedFormatsSupportedFmts) -}; - -static XpOidDocFmt ValidRawFormatsSupportedFmts[] = { - { "PCL", "5", NULL }, - { "Postscript", "2", NULL }, - { "ASCII", NULL, NULL } - -}; -static XpOidDocFmtList ValidRawFormatsSupported = { - ValidRawFormatsSupportedFmts, XpNumber(ValidRawFormatsSupportedFmts) -}; - -static XpOidDocFmt DefaultRawFormatsSupportedFmts[] = { - { "PCL", "5", NULL } -}; -static XpOidDocFmtList DefaultRawFormatsSupported = { - DefaultRawFormatsSupportedFmts, XpNumber(DefaultRawFormatsSupportedFmts) -}; - -static XpOid ValidInputTraysOids[] = { - xpoid_val_input_tray_manual, - xpoid_val_input_tray_main, - xpoid_val_input_tray_envelope, - xpoid_val_input_tray_large_capacity, - xpoid_val_input_tray_bottom -}; -static XpOidList ValidInputTrays = { - ValidInputTraysOids, XpNumber(ValidInputTraysOids) -}; - -static XpOid ValidMediumSizesOids[] = { - xpoid_val_medium_size_iso_a3, - xpoid_val_medium_size_iso_a4, - xpoid_val_medium_size_na_letter, - xpoid_val_medium_size_na_legal, - xpoid_val_medium_size_executive, - xpoid_val_medium_size_ledger, - xpoid_val_medium_size_iso_c5, - xpoid_val_medium_size_iso_designated_long, - xpoid_val_medium_size_na_number_10_envelope, - xpoid_val_medium_size_monarch_envelope, - xpoid_val_medium_size_jis_b5, -}; -static XpOidList ValidMediumSizes = { - ValidMediumSizesOids, XpNumber(ValidMediumSizesOids) -}; - -static XpOidDocFmt DefaultDocumentFormat = { - "PCL", "5", NULL -}; - - -/* - * init struct for XpValidate*Pool - */ -XpValidatePoolsRec PclValidatePoolsRec = { - &ValidContentOrientations, &DefaultContentOrientations, - &ValidDocFormatsSupported, &DefaultDocFormatsSupported, - &ValidInputTrays, &ValidMediumSizes, - &ValidPlexes, &DefaultPlexes, - &ValidPrinterResolutions, &DefaultPrinterResolutions, - &ValidEmbeddedFormatsSupported, &DefaultEmbeddedFormatsSupported, - &ValidListfontsModes, &DefaultListfontsModes, - &ValidRawFormatsSupported, &DefaultRawFormatsSupported, - &ValidSetupProviso, - &DefaultDocumentFormat -}; diff --git a/xorg-server/hw/xprint/pcl/PclAttr.c b/xorg-server/hw/xprint/pcl/PclAttr.c deleted file mode 100644 index b27bf4fce..000000000 --- a/xorg-server/hw/xprint/pcl/PclAttr.c +++ /dev/null @@ -1,86 +0,0 @@ -/******************************************************************* -** -** ********************************************************* -** * -** * File: PclAttr.c -** * -** * Contents: -** * Attribute-handling functions for the PCL driver -** * -** * Created: 2/2/96 -** * -** ********************************************************* -** -********************************************************************/ -/* -(c) Copyright 1996 Hewlett-Packard Company -(c) Copyright 1996 International Business Machines Corp. -(c) Copyright 1996 Sun Microsystems, Inc. -(c) Copyright 1996 Novell, Inc. -(c) Copyright 1996 Digital Equipment Corp. -(c) Copyright 1996 Fujitsu Limited -(c) Copyright 1996 Hitachi, Ltd. - -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. -*/ - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#include "Pcl.h" -#include "attributes.h" - -char * -PclGetAttributes( - XpContextPtr pCon, - XPAttributes pool ) -{ - return XpGetAttributes( pCon, pool ); -} - -char * -PclGetOneAttribute( - XpContextPtr pCon, - XPAttributes pool, - char *attr ) -{ - return XpGetOneAttribute( pCon, pool, attr ); -} -int -PclAugmentAttributes( - XpContextPtr pCon, - XPAttributes pool, - char *attrs ) -{ - return XpAugmentAttributes( pCon, pool, attrs ); -} - -int -PclSetAttributes( - XpContextPtr pCon, - XPAttributes pool, - char *attrs ) -{ - return XpSetAttributes( pCon, pool, attrs ); -} diff --git a/xorg-server/hw/xprint/pcl/PclColor.c b/xorg-server/hw/xprint/pcl/PclColor.c deleted file mode 100644 index 5e8ffa63c..000000000 --- a/xorg-server/hw/xprint/pcl/PclColor.c +++ /dev/null @@ -1,851 +0,0 @@ -/******************************************************************* -** -** ********************************************************* -** * -** * File: PclColorInit.c -** * -** * Contents: -** * Colormap handing code of Pcl driver for the -** * print server. -** * -** * Created: 4/8/96 -** * -** ********************************************************* -** -********************************************************************/ -/* -(c) Copyright 1996 Hewlett-Packard Company -(c) Copyright 1996 International Business Machines Corp. -(c) Copyright 1996 Sun Microsystems, Inc. -(c) Copyright 1996 Novell, Inc. -(c) Copyright 1996 Digital Equipment Corp. -(c) Copyright 1996 Fujitsu Limited -(c) Copyright 1996 Hitachi, Ltd. - -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. -*/ - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include -#include - -#include "colormapst.h" -#include "windowstr.h" -#include "resource.h" - -#include "Pcl.h" -#include "fb.h" - -static void lookup(unsigned char *src, - unsigned char *dst, - int num, - unsigned char *map, - int dim); -static void trilinear(unsigned char *p, - unsigned char *out, - unsigned char *d, - int dim, - unsigned char def); - - -/* - * This seems to be (and is) a duplication of effort; one would think - * that fbCreateDefColormap would be sufficient. It almost is. The - * only change made in this function is that the black and white pixels - * are allocated with three separate variables for red, green and blue - * values, instead of the single variable in fbCreateDefColormap. The - * single variable leads to the one value being corrected by - * ResolveColor three times, which leads to incorrect colors. - */ - -Bool -PclCreateDefColormap(ScreenPtr pScreen) -{ - unsigned short wp_red = ~0, wp_green = ~0, wp_blue = ~0; - unsigned short bp_red = 0, bp_green = 0, bp_blue = 0; - VisualPtr pVisual; - ColormapPtr cmap; - Pixel wp, bp; - - for (pVisual = pScreen->visuals; - pVisual->vid != pScreen->rootVisual; - pVisual++) - ; - - if (CreateColormap(pScreen->defColormap, pScreen, pVisual, &cmap, - (pVisual->class & DynamicClass) ? AllocNone : AllocAll, - 0) - != Success) - return FALSE; - wp = pScreen->whitePixel; - bp = pScreen->blackPixel; - if ((AllocColor(cmap, &wp_red, &wp_green, &wp_blue, &wp, 0) != - Success) || - (AllocColor(cmap, &bp_red, &bp_green, &bp_blue, &bp, 0) != - Success)) - return FALSE; - - pScreen->whitePixel = wp; - pScreen->blackPixel = bp; - - (*pScreen->InstallColormap)(cmap); - return TRUE; -} - -/* - * Add colormap to list of colormaps on screen - */ -Bool -PclCreateColormap(ColormapPtr pColor) -{ - PclCmapToContexts *new; - PclScreenPrivPtr sPriv; - - sPriv = (PclScreenPrivPtr) - dixLookupPrivate(&pColor->pScreen->devPrivates, PclScreenPrivateKey); - - /* - * Use existing code to initialize the values in the colormap - */ - fbInitializeColormap( pColor ); - - /* - * Set up the mapping between the color map and the context - */ - new = (PclCmapToContexts *)xalloc( sizeof( PclCmapToContexts ) ); - - if( new ) - { - new->colormapId = pColor->mid; - new->contexts = NULL; - new->next = sPriv->colormaps; - sPriv->colormaps = new; - - return TRUE; - } - else - return FALSE; -} - -void -PclDestroyColormap(ColormapPtr pColor) -{ - PclScreenPrivPtr sPriv; - PclCmapToContexts *pCmap, *tCmap = 0; - PclContextListPtr con, tCon; - PclContextPrivPtr cPriv; - PclPaletteMapPtr pPal; - char t[80]; - - /* - * At DestroyContext time, colormaps may be destroyed twice, so if the - * pointer is NULL, just crash out. - */ - if( !pColor ) - return; - - /* - * Find the colormap <-> contexts mapping - */ - sPriv = (PclScreenPrivPtr) - dixLookupPrivate(&pColor->pScreen->devPrivates, PclScreenPrivateKey); - pCmap = sPriv->colormaps; - while( pCmap ) - { - if( pCmap->colormapId == pColor->mid ) - break; - tCmap = pCmap; - pCmap = pCmap->next; - } - - /* - * For each context, delete the palette in the printer and - * free the mapping. - */ - if( pCmap ) - { - con = pCmap->contexts; - while( con ) - { - cPriv = dixLookupPrivate(&con->context->devPrivates, - PclContextPrivateKey); - pPal = cPriv->palettes; - while( pPal ) - { - if( pPal->colormapId == pColor->mid ) - break; - pPal = pPal->next; - } - - if( cPriv->pPageFile ) - { - sprintf( t, "\033&p%dI\033*p2C", pPal->paletteId ); - SEND_PCL( cPriv->pPageFile, t ); - } - - tCon = con; - con = con->next; - xfree( tCon ); - } - - /* - * Delete the colormap<->contexts mapping - */ - if( sPriv->colormaps == pCmap ) - /* Delete from the front */ - sPriv->colormaps = pCmap->next; - else - /* Delete from the middle */ - tCmap->next = pCmap->next; - free( pCmap ); - } -} - -void -PclInstallColormap(ColormapPtr pColor) -{ -} - -void -PclUninstallColormap(ColormapPtr pColor) -{ -} - -int -PclListInstalledColormaps(ScreenPtr pScreen, - XID *pCmapList) -{ - return 0; -} - -void -PclStoreColors(ColormapPtr pColor, - int ndef, - xColorItem *pdefs) -{ - PclCmapToContexts *p; - PclScreenPrivPtr sPriv; - PclContextListPtr con; - PclContextPrivPtr cPriv; - PclPaletteMapPtr pMap; - char t[80]; - int i; - - sPriv = (PclScreenPrivPtr) - dixLookupPrivate(&pColor->pScreen->devPrivates, PclScreenPrivateKey); - p = sPriv->colormaps; - while( p ) - { - if( p->colormapId == pColor->mid ) - break; - p = p->next; - } - - if( p ) - { - con = p->contexts; - while( con ) - { - /* - * For each context, get the palette ID and update the - * appropriate palette. - */ - cPriv = dixLookupPrivate(&con->context->devPrivates, - PclContextPrivateKey); - pMap = PclFindPaletteMap( cPriv, pColor, NULL ); - - /* - * Update the palette - */ - sprintf( t, "\033&p%dS", pMap->paletteId ); - SEND_PCL( cPriv->pPageFile, t ); - - if( pColor->class == PseudoColor ) - { - unsigned short r, g, b; - unsigned int pID; - for( i = 0; i < ndef; i++ ) - { - pID = pdefs[i].pixel; - if ( pColor->red[i].fShared ) - { - r = pColor->red[pID].co.shco.red->color; - g = pColor->red[pID].co.shco.green->color; - b = pColor->red[pID].co.shco.blue->color; - } - else - { - r = pColor->red[pID].co.local.red; - g = pColor->red[pID].co.local.green; - b = pColor->red[pID].co.local.blue; - } - - if( pdefs[i].flags & DoRed ) - r = pdefs[i].red; - if( pdefs[i].flags & DoGreen ) - g = pdefs[i].green; - if( pdefs[i].flags & DoBlue ) - b = pdefs[i].blue; - PclLookUp(pColor, cPriv, &r, &g, &b); - sprintf( t, "\033*v%ua%ub%uc%dI", r, g, b, pID); - SEND_PCL( cPriv->pPageFile, t ); - } - } - - sprintf( t, "\033&p%dS", cPriv->currentPalette ); - SEND_PCL( cPriv->pPageFile, t ); - - con = con->next; - } - } -} - -void -PclResolveColor(unsigned short *pRed, - unsigned short *pGreen, - unsigned short *pBlue, - VisualPtr pVisual) -{ - /* - * We need to map the X color range of [0,65535] to the PCL color - * range of [0,32767]. - */ - *pRed >>= 1; - *pGreen >>= 1; - *pBlue >>= 1; -} - -PclPaletteMapPtr -PclFindPaletteMap(PclContextPrivPtr cPriv, - ColormapPtr cmap, - GCPtr gc) -{ - PclPaletteMapPtr p = cPriv->palettes, new; - - /* - * If the colormap is static, grab one of the special palettes. If we come - * into this from StoreColors, there will be no GC, but by definition we're - * looking at a dynamic color map, so the special colors will not be - * needed. - */ - if( gc ) - { - if( cmap->pVisual->class == StaticGray ) - return &( cPriv->staticGrayPalette ); - else if( cmap->pVisual->class == TrueColor ) - { - if( gc->fillStyle == FillTiled && !( gc->tileIsPixel ) ) - return &( cPriv->specialTrueColorPalette ); - else - return &( cPriv->trueColorPalette ); - } - } - - - /* Look for the colormap ID <-> palette ID mapping */ - while( p ) - { - if( p->colormapId == cmap->mid ) - return p; - p = p->next; - } - - /* If the colormap isn't already there, make an entry for it */ - new = (PclPaletteMapPtr)xalloc( sizeof( PclPaletteMap ) ); - new->colormapId = cmap->mid; - new->paletteId = cPriv->nextPaletteId++; - new->downloaded = 0; - new->next = cPriv->palettes; - cPriv->palettes = new; - return new; -} - -int -PclUpdateColormap(DrawablePtr pDrawable, - XpContextPtr pCon, - GCPtr gc, - FILE *outFile) -{ - PclScreenPrivPtr sPriv; - - PclContextPrivPtr cPriv; - PclPaletteMapPtr pMap; - PclCmapToContexts *pCmap; - PclContextListPtr new; - char t[80]; - Colormap c; - ColormapPtr cmap; - WindowPtr win = (WindowPtr)pDrawable; - unsigned short r, g, b, rr, gg, bb; - int i; - - cPriv = (PclContextPrivPtr) - dixLookupPrivate(&pCon->devPrivates, PclContextPrivateKey); - - c = wColormap( win ); - cmap = (ColormapPtr)LookupIDByType( c, RT_COLORMAP ); - pMap = PclFindPaletteMap( cPriv, cmap, gc ); - - if( cPriv->currentPalette == pMap->paletteId ) - /* - * If the requested colormap is already active, nothing needs to - * be done. - */ - return FALSE; - - /* - * Now we activate the palette in the printer - */ - sprintf( t, "\033&p%dS", pMap->paletteId ); - SEND_PCL( outFile, t ); - cPriv->currentPalette = pMap->paletteId; - - if( pMap->downloaded == 0 ) - /* - * If the requested colormap has not been downloaded to the - * printer, we need to do that before activating it. - */ - { - /* - * Add the colormap to the screen-level colormap<->context mapping. - */ - sPriv = (PclScreenPrivPtr) - dixLookupPrivate(&cmap->pScreen->devPrivates, - PclScreenPrivateKey); - pCmap = sPriv->colormaps; - while( pCmap && ( pCmap->colormapId != cmap->mid ) ) - pCmap = pCmap->next; - new = (PclContextListPtr)xalloc( sizeof( PclContextList ) ); - new->context = pCon; - new->next = pCmap->contexts; - pCmap->contexts = new; - - /* - * XXX Download the colormap - */ - if( cmap->class == StaticGray ) - { -#ifdef XP_PCL_COLOR - sprintf( t, "\033*v18W%c%c%c%c%c%c", 0, 1, 1, 1, 1, 1 ); - SEND_PCL_COUNT( cPriv->pPageFile, t, 12 ); - - /* Send the white reference point... */ - sprintf( t, "%c%c%c%c%c%c", 0x7f, 0xff, 0x7f, 0xff, - 0x7f, 0xff ); - SEND_PCL_COUNT( cPriv->pPageFile, t, 6 ); - - /* ... and the black reference point */ - sprintf( t, "%c%c%c%c%c%c", 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00 ); - SEND_PCL_COUNT( cPriv->pPageFile, t, 6 ); - - /* Now program the two colors */ - sprintf( t, "\033*v0a0b0c%ldI", (long) cmap->pScreen->blackPixel ); - SEND_PCL( cPriv->pPageFile, t ); - sprintf( t, "\033*v32767a32767b32767c%ldI", - (long) cmap->pScreen->whitePixel ); - SEND_PCL( cPriv->pPageFile, t ); -#endif /* XP_PCL_COLOR */ - } - else if( cmap->class == PseudoColor ) - { - sprintf( t, - "\033*v18W%c%c%c%c%c%c", - 0, 1, cmap->pVisual->nplanes, 16, 16, 16 ); - SEND_PCL_COUNT( cPriv->pPageFile, t, 12 ); - - /* Send the white reference point... */ - if ( cPriv->ctbl != NULL ) - sprintf( t, "%c%c%c%c%c%c", 0x00, 0xff, 0x00, 0xff, - 0x00, 0xff ); - else - sprintf( t, "%c%c%c%c%c%c", 0x7f, 0xff, 0x7f, 0xff, - 0x7f, 0xff ); - SEND_PCL_COUNT( cPriv->pPageFile, t, 6 ); - - /* ... and the black reference point */ - sprintf( t, "%c%c%c%c%c%c", 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00 ); - SEND_PCL_COUNT( cPriv->pPageFile, t, 6 ); - - for(i = 0; i < cmap->pVisual->ColormapEntries; i++ ) - { - if( cmap->red[i].fShared ) - { - r = cmap->red[i].co.shco.red->color; - g = cmap->red[i].co.shco.green->color; - b = cmap->red[i].co.shco.blue->color; - } - else - { - r = cmap->red[i].co.local.red; - g = cmap->red[i].co.local.green; - b = cmap->red[i].co.local.blue; - } - PclLookUp(cmap, cPriv, &r, &g, &b); - sprintf( t, "\033*v%ua%ub%uc%dI", r, g, b, i ); - SEND_PCL( outFile, t ); - } - } - else if( cmap->class == TrueColor ) - { - unsigned short lim; - - if( gc->fillStyle == FillTiled && !( gc->tileIsPixel ) ) - { - if( cPriv->ctbl != NULL ) - { - /* Send the "special" colormap for 24-bit fills */ - sprintf( t, "\033*v18W%c%c%c%c%c%c", 0, 1, - 8, - cmap->pVisual->bitsPerRGBValue, - cmap->pVisual->bitsPerRGBValue, - cmap->pVisual->bitsPerRGBValue ); - SEND_PCL_COUNT( cPriv->pPageFile, t, 12 ); - - /* Send the white reference point... */ - sprintf( t, "%c%c%c%c%c%c", - 0x00, 0xff, - 0x00, 0xff, - 0x00, 0xff ); - SEND_PCL_COUNT( cPriv->pPageFile, t, 6 ); - - /* ... and the black reference point */ - sprintf( t, "%c%c%c%c%c%c", - 0x00, 0x00, - 0x00, 0x00, - 0x00, 0x00 ); - SEND_PCL_COUNT( cPriv->pPageFile, t, 6 ); - - /* Now send the color entries, RRRGGGBB */ - i=0; - for( r = 0; r < 8; r++ ) - for( g = 0; g < 8; g ++ ) - for( b = 0; b < 4; b++ ) - { - rr = (r * 0xff)/7; - gg = (g * 0xff)/7; - bb = (b * 0xff)/3; - PclLookUp(cmap, cPriv, &rr, &gg, &bb); - sprintf( t, "\033*v%ua%ub%uc%dI", - rr, gg, bb, i ); - SEND_PCL( outFile, t ); - i++; - } - } - else - { - /* Send the "special" colormap for 24-bit fills */ - sprintf( t, "\033*v18W%c%c%c%c%c%c", 0, 1, - 8, - cmap->pVisual->bitsPerRGBValue, - cmap->pVisual->bitsPerRGBValue, - cmap->pVisual->bitsPerRGBValue ); - SEND_PCL_COUNT( cPriv->pPageFile, t, 12 ); - - /* Send the white reference point... */ - sprintf( t, "%c%c%c%c%c%c", - 0x00, 0x07, - 0x00, 0x07, - 0x00, 0x03 ); - SEND_PCL_COUNT( cPriv->pPageFile, t, 6 ); - - /* ... and the black reference point */ - sprintf( t, "%c%c%c%c%c%c", - 0x00, 0x00, - 0x00, 0x00, - 0x00, 0x00 ); - SEND_PCL_COUNT( cPriv->pPageFile, t, 6 ); - - /* Now send the color entries, RRRGGGBB */ - i=0; - for( r = 0; r < 8; r++ ) - for( g = 0; g < 8; g ++ ) - for( b = 0; b < 4; b++ ) - { - sprintf( t, "\033*v%ua%ub%uc%dI", - r, g, b, i ); - SEND_PCL( outFile, t ); - i++; - } - } - - } - else - { - lim = (1 << cmap->pVisual->bitsPerRGBValue) - 1; - - /* Send the "special" colormap for 24-bit fills */ - sprintf( t, "\033*v18W%c%c%c%c%c%c", 0, 3, - cmap->pVisual->nplanes, - cmap->pVisual->bitsPerRGBValue, - cmap->pVisual->bitsPerRGBValue, - cmap->pVisual->bitsPerRGBValue ); - SEND_PCL_COUNT( cPriv->pPageFile, t, 12 ); - - /* Send the white reference point... */ - sprintf( t, "%c%c%c%c%c%c", - (lim >> 8) & 0xff, lim & 0xff, - (lim >> 8) & 0xff, lim & 0xff, - (lim >> 8) & 0xff, lim & 0xff); - SEND_PCL_COUNT( cPriv->pPageFile, t, 6 ); - - /* ... and the black reference point */ - sprintf( t, "%c%c%c%c%c%c", 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00 ); - SEND_PCL_COUNT( cPriv->pPageFile, t, 6 ); - } - - } - pMap->downloaded = 1; - } - return TRUE; - -} - -void PclLookUp( - ColormapPtr cmap, - PclContextPrivPtr cPriv, - unsigned short *r, - unsigned short *g, - unsigned short *b -) -{ - unsigned char cdata[3]; - - if( cmap->class == PseudoColor ) - { - if( cPriv->ctbl != NULL ) - { - cdata[0] = *r >> 8; - cdata[1] = *g >> 8; - cdata[2] = *b >> 8; - lookup(cdata, cdata, 1, cPriv->ctbl, cPriv->ctbldim); - *r = cdata[0]; - *g = cdata[1]; - *b = cdata[2]; - } - else - { - *r >>= 1; - *g >>= 1; - *b >>= 1; - } - } - else if( cmap->class == TrueColor ) - { - if( cPriv->ctbl != NULL ) - { - cdata[0] = *r; - cdata[1] = *g; - cdata[2] = *b; - lookup(cdata, cdata, 1, cPriv->ctbl, cPriv->ctbldim); - *r = cdata[0]; - *g = cdata[1]; - *b = cdata[2]; - } - } - return; -} - -unsigned char *PclReadMap(char *name, int *dim) -{ - FILE *fp; - unsigned char *data; - long size; - - if ((fp=fopen(name, "r")) == NULL) { - return(NULL); - } - - fseek(fp, 0, SEEK_END); - size = ftell(fp); - - /* Could do this with a lookup table, if the constraint is that the - 3 map dimensions must be equal. */ - switch (size) { - case 8*8*8*3: - *dim = 8; - break; - case 16*16*16*3: - *dim = 16; - break; - case 17*17*17*3: - *dim = 17; - break; - case 65*65*65*3: - *dim = 65; - break; - default: - fclose(fp); - return(NULL); - } - - if ((data = (unsigned char *) xalloc(sizeof(char) * size)) == NULL) { - fclose(fp); - return(NULL); - } - - fseek(fp, 0, SEEK_SET); - - if (fread(data, sizeof(char), size, fp) != (unsigned) size) { - fclose(fp); - free(data); - return(NULL); - } - - fclose(fp); - return(data); -} - -/************************************************************************ - * - * Here is the mapper. - * - ************************************************************************/ - -#define SCL(x) ((x)*(dim-1)/255) -/* Interleaved-map lookup */ -static void lookup(unsigned char *src, unsigned char *dst, int num, unsigned char *map, int dim) -{ - int i; - -#define _INTERPOLATE -#ifndef _INTERPOLATE - unsigned char *p1, *p2, *p3; - - for (i=0; i>8)) - -static void trilinear(unsigned char *p, unsigned char *out, unsigned char *d, int dim, unsigned char def) -{ -#define DENS(X, Y, Z, ch) d[((X*dim+Y)*dim+Z)*3+ch] - - int x0, y0, z0, - x1, y1, z1, - i; - unsigned char *dp, - fx, fy, fz, - d000, d001, d010, d011, - d100, d101, d110, d111, - dx00, dx01, dx10, dx11, - dxy0, dxy1; - float scale; - - scale = 255.0 / (dim-1); - - x0 = p[0] / scale; - y0 = p[1] / scale; - z0 = p[2] / scale; - - /* Fractions should range from 0-1.0 (fixed point 8-256) */ - fx = (((int) (p[0] - x0 * scale)) << 8) / 255; - fy = (((int) (p[1] - y0 * scale)) << 8) / 255; - fz = (((int) (p[2] - z0 * scale)) << 8) / 255; - - x1 = x0 + 1; - y1 = y0 + 1; - z1 = z0 + 1; - - for (i=0; i<3; i++) { - - if (x0 >= 0 && x1 < dim && - y0 >= 0 && y1 < dim && - z0 >= 0 && z1 < dim) { - dp = &DENS(x0, y0, z0, i); - d000 = dp[0]; - d100 = dp[3]; - dp += dim*3; - d010 = dp[0]; - d110 = dp[3]; - dp += dim*dim*3; - d011 = dp[0]; - d111 = dp[3]; - dp -= dim*3; - d001 = dp[0]; - d101 = dp[3]; - } else { -# define INRANGE(X, Y, Z) \ - ((X) >= 0 && (X) < dim && \ - (Y) >= 0 && (Y) < dim && \ - (Z) >= 0 && (Z) < dim) - - d000 = INRANGE(x0, y0, z0) ? DENS(x0, y0, z0, i) : def; - d001 = INRANGE(x0, y0, z1) ? DENS(x0, y0, z1, i) : def; - d010 = INRANGE(x0, y1, z0) ? DENS(x0, y1, z0, i) : def; - d011 = INRANGE(x0, y1, z1) ? DENS(x0, y1, z1, i) : def; - - d100 = INRANGE(x1, y0, z0) ? DENS(x1, y0, z0, i) : def; - d101 = INRANGE(x1, y0, z1) ? DENS(x1, y0, z1, i) : def; - d110 = INRANGE(x1, y1, z0) ? DENS(x1, y1, z0, i) : def; - d111 = INRANGE(x1, y1, z1) ? DENS(x1, y1, z1, i) : def; - } - - dx00 = LERP(fx, d000, d100); - dx01 = LERP(fx, d001, d101); - dx10 = LERP(fx, d010, d110); - dx11 = LERP(fx, d011, d111); - - dxy0 = LERP(fy, dx00, dx10); - dxy1 = LERP(fy, dx01, dx11); - - out[i] = LERP(fz, dxy0, dxy1); - } -} - diff --git a/xorg-server/hw/xprint/pcl/PclCursor.c b/xorg-server/hw/xprint/pcl/PclCursor.c deleted file mode 100644 index a3eeb1610..000000000 --- a/xorg-server/hw/xprint/pcl/PclCursor.c +++ /dev/null @@ -1,113 +0,0 @@ -/******************************************************************* -** -** ********************************************************* -** * -** * File: PclCursor.c -** * -** * Contents: -** * Cursor-handling code for the PCL DDX driver -** * -** * Created: 1/18/96 -** * -** ********************************************************* -** -********************************************************************/ -/* -(c) Copyright 1996 Hewlett-Packard Company -(c) Copyright 1996 International Business Machines Corp. -(c) Copyright 1996 Sun Microsystems, Inc. -(c) Copyright 1996 Novell, Inc. -(c) Copyright 1996 Digital Equipment Corp. -(c) Copyright 1996 Fujitsu Limited -(c) Copyright 1996 Hitachi, Ltd. - -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. -*/ - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#include - -#include "Pcl.h" -#include "gcstruct.h" -#include "windowstr.h" - -void -PclConstrainCursor( - ScreenPtr pScreen, - BoxPtr pBox) -{ -} - -void -PclCursorLimits( - ScreenPtr pScreen, - CursorPtr pCursor, - BoxPtr pHotBox, - BoxPtr pTopLeftBox) -{ -} - -Bool -PclDisplayCursor( - ScreenPtr pScreen, - CursorPtr pCursor) -{ - return True; -} - -Bool -PclRealizeCursor( - ScreenPtr pScreen, - CursorPtr pCursor) -{ - return True; -} - -Bool -PclUnrealizeCursor( - ScreenPtr pScreen, - CursorPtr pCursor) -{ - return True; -} - -void -PclRecolorCursor( - ScreenPtr pScreen, - CursorPtr pCursor, - Bool displayed) -{ -} - -Bool -PclSetCursorPosition( - ScreenPtr pScreen, - int x, - int y, - Bool generateEvent) -{ - return True; -} diff --git a/xorg-server/hw/xprint/pcl/PclDef.h b/xorg-server/hw/xprint/pcl/PclDef.h deleted file mode 100644 index dcd54c4fe..000000000 --- a/xorg-server/hw/xprint/pcl/PclDef.h +++ /dev/null @@ -1,67 +0,0 @@ -/******************************************************************* -** -** ********************************************************* -** * -** * File: PclDef.h -** * -** * Contents: extran defines and includes for the Pcl driver -** * for a printing X server. -** * -** * Created: 7/31/95 -** * -** ********************************************************* -** -********************************************************************/ -/* -(c) Copyright 1996 Hewlett-Packard Company -(c) Copyright 1996 International Business Machines Corp. -(c) Copyright 1996 Sun Microsystems, Inc. -(c) Copyright 1996 Novell, Inc. -(c) Copyright 1996 Digital Equipment Corp. -(c) Copyright 1996 Fujitsu Limited -(c) Copyright 1996 Hitachi, Ltd. - -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. -*/ - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#ifndef _PCLDEF_H_ -#define _PCLDEF_H_ - -#define DT_PRINT_JOB_HEADER "DT_PRINT_JOB_HEADER" -#define DT_PRINT_JOB_TRAILER "DT_PRINT_JOB_TRAILER" -#define DT_PRINT_JOB_COMMAND "DT_PRINT_JOB_COMMAND" -#define DT_PRINT_JOB_EXEC_COMMAND "DT_PRINT_JOB_EXEC_COMMAND" -#define DT_PRINT_JOB_EXEC_OPTIONS "DT_PRINT_JOB_EXEC_OPTION" -#define DT_PRINT_PAGE_HEADER "DT_PRINT_PAGE_HEADER" -#define DT_PRINT_PAGE_TRAILER "DT_PRINT_PAGE_TRAILER" -#define DT_PRINT_PAGE_COMMAND "DT_PRINT_PAGE_COMMAND" - -#define DT_IN_FILE_STRING "%(InFile)%" -#define DT_OUT_FILE_STRING "%(OutFile)%" -#define DT_ALLOWED_COMMANDS_FILE "printCommands" - -#endif /* _PCLDEF_H_ */ diff --git a/xorg-server/hw/xprint/pcl/PclFonts.c b/xorg-server/hw/xprint/pcl/PclFonts.c deleted file mode 100644 index 9e993f79c..000000000 --- a/xorg-server/hw/xprint/pcl/PclFonts.c +++ /dev/null @@ -1,72 +0,0 @@ -/******************************************************************* -** -** ********************************************************* -** * -** * File: PclFonts.c -** * -** * Contents: -** * Font code for Pcl driver. -** * -** * Created: 2/03/95 -** * -** ********************************************************* -** -********************************************************************/ -/* -(c) Copyright 1996 Hewlett-Packard Company -(c) Copyright 1996 International Business Machines Corp. -(c) Copyright 1996 Sun Microsystems, Inc. -(c) Copyright 1996 Novell, Inc. -(c) Copyright 1996 Digital Equipment Corp. -(c) Copyright 1996 Fujitsu Limited -(c) Copyright 1996 Hitachi, Ltd. - -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. -*/ - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#include "regionstr.h" -#include -#include "dixfontstr.h" -#include "scrnintstr.h" - -#include "Pcl.h" - -Bool -PclRealizeFont( - ScreenPtr pscr, - FontPtr pFont) -{ - return TRUE; -} - -Bool -PclUnrealizeFont( - ScreenPtr pscr, - FontPtr pFont) -{ - return TRUE; -} diff --git a/xorg-server/hw/xprint/pcl/PclGC.c b/xorg-server/hw/xprint/pcl/PclGC.c deleted file mode 100644 index fbadf5d5d..000000000 --- a/xorg-server/hw/xprint/pcl/PclGC.c +++ /dev/null @@ -1,971 +0,0 @@ -/******************************************************************* -** -** ********************************************************* -** * -** * File: PclGC.c -** * -** * Contents: -** * Graphics Context handling for the PCL driver -** * -** * Created: 10/11/95 -** * -** ********************************************************* -** -********************************************************************/ -/* -(c) Copyright 1996 Hewlett-Packard Company -(c) Copyright 1996 International Business Machines Corp. -(c) Copyright 1996 Sun Microsystems, Inc. -(c) Copyright 1996 Novell, Inc. -(c) Copyright 1996 Digital Equipment Corp. -(c) Copyright 1996 Fujitsu Limited -(c) Copyright 1996 Hitachi, Ltd. - -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. -*/ - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#include "gcstruct.h" - -#include "Pcl.h" -#include "pixmapstr.h" -#include "colormapst.h" -#include "windowstr.h" -#include "fb.h" -#include "scrnintstr.h" -#include "resource.h" - -static GCOps PclGCOps = -{ - PclFillSpans, - PclSetSpans, - PclPutImage, - PclCopyArea, - PclCopyPlane, - PclPolyPoint, - PclPolyLine, - PclPolySegment, - PclPolyRectangle, - PclPolyArc, - PclFillPolygon, - PclPolyFillRect, - PclPolyFillArc, - PclPolyText8, - PclPolyText16, - PclImageText8, - PclImageText16, - PclImageGlyphBlt, - PclPolyGlyphBlt, - PclPushPixels -} -; - - -static GCFuncs PclGCFuncs = -{ - PclValidateGC, - miChangeGC, - miCopyGC, - PclDestroyGC, - miChangeClip, - miDestroyClip, - miCopyClip, -} -; - -Bool -PclCreateGC(GCPtr pGC) -{ - if (fbCreateGC(pGC) == FALSE) - return FALSE; - - pGC->clientClip = NULL; - pGC->clientClipType = CT_NONE; - - pGC->ops = &PclGCOps; - pGC->funcs = &PclGCFuncs; - - return TRUE; -} - -void -PclDestroyGC(GCPtr pGC) -{ - /* fb doesn't specialize DestroyGC */ - miDestroyGC( pGC ); -} - - -int -PclGetDrawablePrivateStuff( - DrawablePtr pDrawable, - GC *gc, - unsigned long *valid, - FILE **file) -{ - XpContextPtr pCon; - PclContextPrivPtr cPriv; - - switch( pDrawable->type ) - { - case DRAWABLE_PIXMAP: - /* - * If we ever get here, something is wrong. - */ - return FALSE; - - case DRAWABLE_WINDOW: - pCon = PclGetContextFromWindow( (WindowPtr)pDrawable ); - - if( pCon == NULL ) - return FALSE; - else - { - cPriv = (PclContextPrivPtr) - dixLookupPrivate(&pCon->devPrivates, PclContextPrivateKey); - *gc = cPriv->lastGC; - *valid = cPriv->validGC; - *file = cPriv->pPageFile; - return TRUE; - } - - default: - return FALSE; - } -} - -void -PclSetDrawablePrivateGC( - DrawablePtr pDrawable, - GC gc) -{ - PixmapPtr pix; - XpContextPtr pCon; - PclPixmapPrivPtr pixPriv; - PclContextPrivPtr pPriv; - int i; - - switch( pDrawable->type ) - { - case DRAWABLE_PIXMAP: - pix = (PixmapPtr)pDrawable; - pixPriv = (PclPixmapPrivPtr) - dixLookupPrivate(&pix->devPrivates, PclPixmapPrivateKey); - - pixPriv->lastGC = gc; - pixPriv->validGC = 1; - break; - - case DRAWABLE_WINDOW: - pCon = PclGetContextFromWindow( (WindowPtr)pDrawable ); - pPriv = (PclContextPrivPtr) - dixLookupPrivate(&pCon->devPrivates, PclContextPrivateKey); - - pPriv->validGC = 1; - pPriv->lastGC = gc; - - /* - * Store the dash list separately, to avoid having it freed - * out from under us. - */ - if( pPriv->dash != NULL ) - xfree( pPriv->dash ); - if( gc.numInDashList != 0 ) - { - pPriv->dash = (unsigned char *)xalloc( sizeof( unsigned char ) - * gc.numInDashList ); - for( i = 0; i < gc.numInDashList; i++ ) - pPriv->dash[i] = gc.dash[i]; - } - else - pPriv->dash = NULL; - - - /* - * Store the dash list separately, to avoid having it freed - * out from under us. - */ - if( pPriv->dash != NULL ) - xfree( pPriv->dash ); - if( gc.numInDashList != 0 ) - { - pPriv->dash = (unsigned char *)xalloc( sizeof( unsigned char ) - * gc.numInDashList ); - for( i = 0; i < gc.numInDashList; i++ ) - pPriv->dash[i] = gc.dash[i]; - } - else - pPriv->dash = NULL; - - break; - } -} - -static void -PclSendPattern(char *bits, - int sz, - int depth, - int h, - int w, - int patNum, - FILE *outFile) -{ - char t[80], *row, *mod; - int w2; - int i, j; - - SEND_PCL( outFile, "\033%0A" ); - - if( depth == 1 ) - { - /* Each row must be word-aligned */ - w2 = ( w / 8 ) + ( ( w%8 ) ? 1 : 0 ); -/* - if( w2 % 2 ) - w2++; -*/ - - sprintf( t, "\033*c%dg%dW", patNum, h * w2 + 8 ); - SEND_PCL( outFile, t ); - - sprintf( t, "%c%c%c%c%c%c%c%c", 0, 0, 1, 0, h>>8, h&0xff, w>>8, - w&0xff ); - SEND_PCL_COUNT( outFile, t, 8 ); - - for( row = bits, i = 0; i < h; i++, row += BitmapBytePad( w ) ) - SEND_PCL_COUNT( outFile, row, w2 ); - } - else if( depth == 8 ) - { - w2 = ( w % 2 ) ? w + 1 : w; - - sprintf( t, "\033*c%dg%dW", patNum, h * w2 + 8 ); - SEND_PCL( outFile, t ); - - sprintf( t, "%c%c%c%c%c%c%c%c", 1, 0, 8, 0, h>>8, h&0xff, - w>>8, w&0xff ); - SEND_PCL_COUNT( outFile, t, 8 ); - - for( row = bits, i = 0; i < h; i++, - row += PixmapBytePad( w, 8 ) ) - SEND_PCL_COUNT( outFile, row, w2 ); - } - else - { - w2 = ( w % 2 ) ? w + 1 : w; - - sprintf( t, "\033*c%dg%dW", patNum, h * w2 + 8 ); - SEND_PCL( outFile, t ); - - sprintf( t, "%c%c%c%c%c%c%c%c", 1, 0, 8, 0, h>>8, h&0xff, - w>>8, w&0xff ); - SEND_PCL_COUNT( outFile, t, 8 ); - - mod = (char *)xalloc( w2 ); - - for( row = bits, i = 0; i < h; i++, - row += PixmapBytePad( w, 24 ) ) - { - char r, g, b; - for( j = 0; j < w2; j++ ) { - r = ((row[j*4+1] >> 5) & 0x7) << 5; - g = ((row[j*4+2] >> 5) & 0x7) << 2; - b = ((row[j*4+3] >> 6) & 0x3); - mod[j] = r | g | b; - } - SEND_PCL_COUNT( outFile, mod, w2 ); - } - - xfree( mod ); - } - - SEND_PCL( outFile, "\033%0B" ); -} - -int -PclUpdateDrawableGC( - GCPtr pGC, - DrawablePtr pDrawable, - FILE **outFile) -{ - Mask changeMask = 0; - GC dGC; - unsigned long valid; - int i; - XpContextPtr pCon; - PclContextPrivPtr cPriv; - PclGCPrivPtr gcPriv = (PclGCPrivPtr) - dixLookupPrivate(&pGC->devPrivates, PclGCPrivateKey); - - if( !PclGetDrawablePrivateStuff( pDrawable, &dGC, &valid, outFile ) ) - return FALSE; - - pCon = PclGetContextFromWindow( (WindowPtr)pDrawable ); - cPriv = (PclContextPrivPtr) - dixLookupPrivate(&pCon->devPrivates, PclContextPrivateKey); - - /* - * Here's where we update the colormap. Since there can be - * different colormaps installed on each window, we need to check - * before each drawing request that the correct palette is active in - * the printer. This is as good a place as any. - */ - if( !PclUpdateColormap( pDrawable, pCon, pGC, *outFile ) ) - return FALSE; - - /* - * If the drawable's last GC is NULL, this means that this is - * the first time the drawable is being used. Therefore, we need - * to emit PCL for all the GC fields. - */ - if( valid == 0 ) - changeMask = ~0; - - /* - * If we have two different GC structures, there is no alternative - * but to scan through them both to determine the changeMask. - */ - else - { - if( dGC.alu != pGC->alu ) - changeMask |= GCFunction; - if( dGC.fgPixel != pGC->fgPixel ) - changeMask |= GCForeground; - if( dGC.bgPixel != pGC->bgPixel ) - changeMask |= GCBackground; - if( dGC.lineWidth != pGC->lineWidth ) - changeMask |= GCLineWidth; - if( dGC.lineStyle != pGC->lineStyle ) - changeMask |= GCLineStyle; - if( dGC.capStyle != pGC->capStyle ) - changeMask |= GCCapStyle; - if( dGC.joinStyle != pGC->joinStyle ) - changeMask |= GCJoinStyle; - if( dGC.fillStyle != pGC->fillStyle ) - changeMask |= GCFillStyle; - if( dGC.tile.pixmap != pGC->tile.pixmap ) - changeMask |= GCTile; - if( dGC.stipple != pGC->stipple ) - changeMask |= GCStipple; - if( dGC.patOrg.x != pGC->patOrg.x ) - changeMask |= GCTileStipXOrigin; - if( dGC.patOrg.y != pGC->patOrg.y ) - changeMask |= GCTileStipYOrigin; - - if( dGC.numInDashList == pGC->numInDashList ) - { - for( i = 0; i < dGC.numInDashList; i++ ) - if( cPriv->dash[i] != pGC->dash[i] ) - { - changeMask |= GCDashList; - break; - } - } - else - changeMask |= GCDashList; - } - - /* - * Once the changeMask has been determined, we scan it and emit - * the appropriate PCL code to set the drawing attributes. - */ - - /* Must be in HP-GL/2 mode to set attributes */ - SEND_PCL( *outFile, "\033%0B" ); - - if( changeMask & GCFunction ) - { -#ifdef XP_PCL_COLOR - - if( pGC->alu == GXclear ) - SEND_PCL( *outFile, "SP0;" ); - else - SEND_PCL( *outFile, "SP1;" ); -#else - if( pGC->alu == GXclear ) - SEND_PCL( *outFile, "SP0;" ); - else - SEND_PCL( *outFile, "SP1;" ); -#endif /* XP_PCL_COLOR */ - } - -#if 0 - if( changeMask & GCFunction ) - { - int rop = -1; - char t[10]; - - switch( pGC->alu ) - { - case GXclear: - rop = 1; - break; - case GXand: - rop = 136; - break; - case GXandReverse: - rop = 68; - break; - case GXcopy: - rop = 204; - break; - case GXandInverted: - rop = 34; - break; - case GXnoop: - rop = 170; - break; - case GXxor: - rop = 238; - break; - case GXor: - rop = 238; - break; - case GXnor: - rop = 17; - break; - case GXequiv: - rop = 153; - break; - case GXinvert: - rop = 85; - break; - case GXorReverse: - rop = 221; - break; - case GXcopyInverted: - rop = 51; - break; - case GXorInverted: - rop = 187; - break; - case GXnand: - rop = 119; - break; - case GXset: - rop = 0; - break; - } - if( rop != -1 ) - { - sprintf( t, "MC1,%d;", rop ); - SEND_PCL( *outFile, t ); -#endif - - if( changeMask & GCForeground ) - switch( pGC->fgPixel ) - { - case 1: - SEND_PCL( *outFile, "SP1;" ); - break; - default: - SEND_PCL( *outFile, "SP0;" ); - break; - } - - if( changeMask & GCForeground ) - { -#ifdef XP_PCL_COLOR - ColormapPtr cmap; - Colormap c; - char t[40]; - - c = wColormap( ((WindowPtr)pDrawable) ); - cmap = (ColormapPtr)LookupIDByType( c, RT_COLORMAP ); - - if( cmap->class == TrueColor ) - { - if( pGC->fillStyle != FillTiled || pGC->tileIsPixel ) { - unsigned short r, g, b; - - r = (pGC->fgPixel & cmap->pVisual->redMask) - >> (cmap->pVisual->offsetRed ); - g = (pGC->fgPixel & cmap->pVisual->greenMask) - >> (cmap->pVisual->offsetGreen); - b = (pGC->fgPixel & cmap->pVisual->blueMask) - >> (cmap->pVisual->offsetBlue); - - PclLookUp(cmap, cPriv, &r, &g, &b); - sprintf( t, "\033%%0A\033*v%ua%ub%uc0I\033%%0B", r, g, b); - SEND_PCL( *outFile, t ); - } - } - else /* PseudoColor or StaticGray */ - { - sprintf( t, "SP%ld;", (long) pGC->fgPixel ); - SEND_PCL( *outFile, t ); - } -#else - ScreenPtr screen; - screen = pDrawable->pScreen; - if ( pGC->fgPixel == screen->whitePixel ) - SEND_PCL( *outFile, "SP0;"); - else - SEND_PCL( *outFile, "SP1;"); -#endif /* XP_PCL_COLOR */ - } - - if( changeMask & GCJoinStyle ) - switch( pGC->joinStyle ) - { - case JoinMiter: - SEND_PCL( *outFile, "LA2,1;" ); - break; - case JoinRound: - SEND_PCL( *outFile, "LA2,4;" ); - break; - case JoinBevel: - SEND_PCL( *outFile, "LA2,5;" ); - break; - } - - if( changeMask & GCCapStyle ) - switch( pGC->capStyle ) - { - case CapNotLast: - case CapButt: - SEND_PCL( *outFile, "LA1,1;" ); - break; - case CapRound: - SEND_PCL( *outFile, "LA1,4;" ); - break; - case CapProjecting: - SEND_PCL( *outFile, "LA1,2;" ); - break; - } - - if( changeMask & GCLineWidth ) - { - float penWidth, pixelsPerMM; - ScreenPtr screen; - char temp[30]; - - if( pGC->lineWidth == 0 || pGC->lineWidth == 1 ) - /* A pen width of 0.0 mm gives a one-pixel-wide line */ - penWidth = 0.0; - else - { - screen = pDrawable->pScreen; - pixelsPerMM = (float)screen->width / (float)screen->mmWidth; - - penWidth = pGC->lineWidth / pixelsPerMM; - } - sprintf( temp, "PW%g;", penWidth ); - SEND_PCL( *outFile, temp ); - } - - if( changeMask & GCLineStyle ) - { - int i, num = pGC->numInDashList; - double total; - char t[30]; - - switch( pGC->lineStyle ) - { - case LineSolid: - SEND_PCL( *outFile, "LT;" ); - break; - case LineOnOffDash: - /* - * Calculate the pattern length of the dashes, in pixels, - * then convert to mm - */ - for( i = 0, total = 0.0; i < 20 && i < num; i++ ) - total += pGC->dash[i]; - if( num % 2 ) - for( i = num; i < 20 && i < num + num; i++ ) - total += pGC->dash[i-num]; - - total *= ( (double)pDrawable->pScreen->mmWidth / - (double)pDrawable->pScreen->width ); - - sprintf( t, "LT8,%f,1;", total ); - SEND_PCL( *outFile, t ); - break; - } - } - - - if( changeMask & GCFillStyle ) - switch( pGC->fillStyle ) - { - case FillSolid: - SEND_PCL( *outFile, "FT1;TR0;CF;" ); - break; - case FillTiled: - SEND_PCL( *outFile, "FT22,100;TR0;CF2,0;" ); - break; - case FillOpaqueStippled: - SEND_PCL( *outFile, "FT22,101;TR0;CF2,0;" ); - if( pGC->fgPixel != gcPriv->stippleFg || - pGC->bgPixel != gcPriv->stippleBg ) - changeMask |= GCStipple; - break; - case FillStippled: - SEND_PCL( *outFile, "FT22,102;TR1;CF2,0;" ); - break; - } - - if( changeMask & GCTile && !pGC->tileIsPixel ) - { - char *bits; - int h, w, sz; - - h = pGC->tile.pixmap->drawable.height; - w = pGC->tile.pixmap->drawable.width; - - sz = h * PixmapBytePad(w, pGC->tile.pixmap->drawable.depth); - bits = (char *)xalloc(sz); - fbGetImage(&(pGC->tile.pixmap->drawable), 0, 0, w, h, XYPixmap, ~0, - bits); - PclSendPattern( bits, sz, 1, h, w, 100, *outFile ); - xfree( bits ); - } - - if( changeMask & ( GCTileStipXOrigin | GCTileStipYOrigin ) ) - { - char t[30]; - - sprintf( t, "AC%d,%d;", pGC->patOrg.x, pGC->patOrg.y ); - SEND_PCL( *outFile, t ); - } - - /* - * We have to resend the stipple pattern either when the stipple itself - * changes, or if we're in FillOpaqueStippled mode and either the - * foreground or the background color changes. - */ - if( changeMask & GCStipple || - ( pGC->fillStyle == FillOpaqueStippled && - ( pGC->fgPixel != gcPriv->stippleFg || - pGC->bgPixel != gcPriv->stippleBg ) ) ) - { - int h, w, i, sz, w2; - char *bits, *row, t[30]; - PixmapPtr scratchPix; - GCPtr scratchGC; - - if( pGC->stipple != NULL ) - { - SEND_PCL( *outFile, "\033%0A" ); - - h = pGC->stipple->drawable.height; - w = pGC->stipple->drawable.width; - sz = h * BitmapBytePad( w ); - - bits = (char *)xalloc( sz ); - fbGetImage( &(pGC->stipple->drawable), 0, 0, w, h, XYPixmap, ~0, bits ); - - w2 = ( w / 8 ) + ( ( w%8 ) ? 1 : 0 ); - /* - * XXX The PCL docs say that I need to word-align each - * XXX row, but I get garbage when I do... - */ - /* - if( w2 % 2 ) - w2++; - */ - - sprintf( t, "\033*c102g%dW", h * w2 + 8 ); - SEND_PCL( *outFile, t ); - - sprintf( t, "%c%c%c%c%c%c%c%c", 0, 0, 1, 0, h>>8, h&0xff, w>>8, - w&0xff ); - SEND_PCL_COUNT( *outFile, t, 8 ); - - for( row = bits, i = 0; i < h; i++, row += BitmapBytePad( w ) ) - SEND_PCL_COUNT( *outFile, row, w2 ); - - SEND_PCL( *outFile, "\033%0B" ); - - xfree( bits ); - - /* - * Also do the opaque stipple, as a tile - */ - if( pGC->depth != 1 ) - sz = h * PixmapBytePad( w, pGC->depth ); - bits = (char *)xalloc( sz ); - - scratchPix = - (*pGC->pScreen->CreatePixmap)( pGC->pScreen, - w, h, pGC->depth, - CREATE_PIXMAP_USAGE_SCRATCH ); - scratchGC = GetScratchGC( pGC->depth, pGC->pScreen ); - CopyGC( pGC, scratchGC, ~0L ); - - fbValidateGC(scratchGC, ~0L, (DrawablePtr)scratchPix); - fbCopyPlane(&(pGC->stipple->drawable), (DrawablePtr)scratchPix, - scratchGC, 0, 0, w, h, 0, 0, 1); - fbGetImage(&(scratchPix->drawable), 0, 0, w, h, XYPixmap, ~0, - bits); - PclSendPattern( bits, sz, pGC->depth, h, w, 101, *outFile ); - FreeScratchGC( scratchGC ); - (*pGC->pScreen->DestroyPixmap)( scratchPix ); - xfree( bits ); - } - } - - if( changeMask & ( GCTileStipXOrigin | GCTileStipYOrigin ) ) - { - char t[30]; - - sprintf( t, "AC%d,%d;", pGC->patOrg.x, pGC->patOrg.y ); - SEND_PCL( *outFile, t ); - } - - if( changeMask & GCDashList ) - { - int num = pGC->numInDashList; - double total; - char dashes[20]; - char t[100], t2[20]; - - /* Make up the doubled dash list, if necessary */ - for( i = 0; i < 20 && i < num; i++ ) - dashes[i] = pGC->dash[i]; - - if( num % 2 ) - { - for( i = num; i < 20 && i < num + num; i++ ) - dashes[i] = dashes[i-num]; - if( ( num *= 2 ) > 20 ) - num = 20; - } - - /* Add up dash lengths to get percentage */ - for( i = 0, total = 0; i < num; i++ ) - total += dashes[i]; - - /* Build up the HP-GL/2 for the dash list */ - strcpy( t, "UL8" ); - for( i = 0; i < num; i++ ) - { - sprintf( t2, ",%d", - (int)( ( (double)dashes[i] / total * 100.0 ) + 0.5 ) ); - strcat( t, t2 ); - } - strcat( t, ";" ); - SEND_PCL( *outFile, t ); - } - - - /* Go back to PCL mode */ - SEND_PCL( *outFile, "\033%0A" ); - - /* - * Update the drawable's private information, which includes - * erasing the drawable's private changeMask, since all the - * changes have been made. - */ - if( changeMask ) - PclSetDrawablePrivateGC( pDrawable, *pGC ); - - return TRUE; -} - -/* - * PclComputeCompositeClip() - * - * I'd like to use the miComputeCompositeClip function, but it sticks - * things into the mi GC privates, where the PCL driver can't get at - * it. So, rather than mess around with the mi code, I ripped it out - * and made the appropriate changes here. - */ - - -void -PclComputeCompositeClip( - 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 */ -} - -/* - * PclValidateGC() - * - * Unlike many screen GCValidate routines, this function should not need - * to mess with setting the drawing functions. Different drawing - * functions are usually needed to optimize such things as drawing - * wide or dashed lines; this functionality will be handled primarily - * by the printer itself, while the necessary PCL code to set the - * attributes will be done in PclUpdateDrawableGC(). - */ - -/*ARGSUSED*/ -void -PclValidateGC( - GCPtr pGC, - unsigned long changes, - DrawablePtr pDrawable) -{ - /* - * Pixmaps should be handled by their respective validation - * functions. - */ - if( pDrawable->type == DRAWABLE_PIXMAP ) - { - fbValidateGC(pGC, ~0, pDrawable); - return; - } - - /* - * Reset the drawing operations - */ - pGC->ops = &PclGCOps; - - /* - * Validate the information, and correct it if necessary. - */ - - /* - * If necessary, compute the composite clip region. (Code ripped - * from migc.c) - */ - if ((changes & (GCClipXOrigin|GCClipYOrigin|GCClipMask|GCSubwindowMode)) || - (pDrawable->serialNumber != (pGC->serialNumber & DRAWABLE_SERIAL_BITS)) - ) - { - PclComputeCompositeClip(pGC, pDrawable); - } - - /* - * PCL does not directly support the DoubleDash line style, nor is - * there an easy way to simulate it, so we'll just change it to a - * LineOnOffDash, which is supported by PCL. - */ - if( ( changes & GCLineStyle ) && ( pGC->lineStyle == LineDoubleDash ) ) - pGC->lineStyle = LineOnOffDash; - - /* - * Update the drawable's changeMask to reflect the changes made to the GC. - */ -/* - PclSetDrawablePrivateGC( pDrawable, *pGC, changes ); -*/ -} diff --git a/xorg-server/hw/xprint/pcl/PclInit.c b/xorg-server/hw/xprint/pcl/PclInit.c deleted file mode 100644 index e738e3e54..000000000 --- a/xorg-server/hw/xprint/pcl/PclInit.c +++ /dev/null @@ -1,575 +0,0 @@ -/******************************************************************* -** -** ********************************************************* -** * -** * File: PclInit.c -** * -** * Contents: -** * Initialization code of Pcl driver for the print server. -** * -** * Created: 1/30/95 -** * -** ********************************************************* -** -********************************************************************/ -/* -(c) Copyright 1996 Hewlett-Packard Company -(c) Copyright 1996 International Business Machines Corp. -(c) Copyright 1996 Sun Microsystems, Inc. -(c) Copyright 1996 Novell, Inc. -(c) Copyright 1996 Digital Equipment Corp. -(c) Copyright 1996 Fujitsu Limited -(c) Copyright 1996 Hitachi, Ltd. - -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. -*/ - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#include -#include -#include -#include - -#include "Pcl.h" - -#include "fb.h" -#include /* for unlink() */ - -#include "attributes.h" -#include "DiPrint.h" - -#define MODELDIRNAME "/models" - -static void AllocatePclPrivates(ScreenPtr pScreen); -static int PclInitContext(XpContextPtr pCon); -static Bool PclDestroyContext(XpContextPtr pCon); - -DevPrivateKey PclScreenPrivateKey = &PclScreenPrivateKey; -DevPrivateKey PclContextPrivateKey = &PclContextPrivateKey; -DevPrivateKey PclPixmapPrivateKey = &PclPixmapPrivateKey; -DevPrivateKey PclWindowPrivateKey = &PclWindowPrivateKey; -DevPrivateKey PclGCPrivateKey = &PclGCPrivateKey; - -#ifdef XP_PCL_COLOR -/* - * The supported visuals on this screen - */ -static VisualRec Visuals[] = -{ - { 1, StaticGray, 1, 2, 1, 0, 0, 0, 0, 0, 0 }, - { 2, PseudoColor, 8, 256, 8, 0, 0, 0, 0, 0, 0 }, - { 3, TrueColor, 8, 256, 24, 0xFF0000, 0xFF00, 0xFF, 16, 8, 0 } -}; - -/* - * The supported depths on this screen - */ -static DepthRec Depths[] = -{ - { 1, 1, NULL }, - { 8, 1, NULL }, - { 24, 1, NULL } -}; -#else -/* - * The supported visuals on this screen - */ -static VisualRec Visuals[] = -{ - { 1, StaticGray, 1, 2, 1, 0, 0, 0, 0, 0, 0} -}; - -/* - * The supported depths on this screen - */ -static DepthRec Depths[] = -{ - { 1, 1, NULL } -}; -#endif /* XP_PCL_COLOR */ - - -#define NUM_VISUALS(visuals) (sizeof(visuals) / sizeof(VisualRec)) -#define NUM_DEPTHS(depths) (sizeof(depths) / sizeof(DepthRec)) - -Bool -PclCloseScreen(int index, - ScreenPtr pScreen) -{ - PclScreenPrivPtr pPriv = (PclScreenPrivPtr) - dixLookupPrivate(&pScreen->devPrivates, PclScreenPrivateKey); - - pScreen->CloseScreen = pPriv->CloseScreen; - xfree( pPriv ); - - return (*pScreen->CloseScreen)(index, pScreen); -} - -Bool -InitializePclDriver( - int ndx, - ScreenPtr pScreen, - int argc, - char **argv) -{ - int maxRes, xRes, yRes, maxDim; - unsigned i; - PclScreenPrivPtr pPriv; - - /* - * Register this driver's InitContext function with the print - * extension. This is a bit sleazy, as the extension hasn't yet - * been initialized, but the extensionneeds to know this, and this - * seems the best time to provide the information. - */ -#ifdef XP_PCL_COLOR - XpRegisterInitFunc( pScreen, "XP-PCL-COLOR", PclInitContext ); -#elif XP_PCL_MONO - XpRegisterInitFunc( pScreen, "XP-PCL-MONO", PclInitContext ); -#else - XpRegisterInitFunc( pScreen, "XP-PCL-LJ3", PclInitContext ); -#endif /* XP_PCL_MONO */ - - /* - * Create and fill in the devPrivate for the PCL driver. - */ - AllocatePclPrivates(pScreen); - - pPriv = (PclScreenPrivPtr) - dixLookupPrivate(&pScreen->devPrivates, PclScreenPrivateKey); - - maxDim = MAX( pScreen->height, pScreen->width ); - xRes = pScreen->width / ( pScreen->mmWidth / 25.4 ); - yRes = pScreen->height / ( pScreen->mmHeight / 25.4 ); - maxRes = MAX( xRes, yRes ); - -#ifdef XP_PCL_COLOR - fbScreenInit( pScreen, NULL, maxDim, maxDim, maxRes, maxRes, - maxRes, 8 ); /* XXX what's the depth here? */ - /* Clean up the fields that we stomp (code taken from fbCloseScreen) */ - for( i = 0; (int) i < pScreen->numDepths; i++ ) - xfree( pScreen->allowedDepths[i].vids ); - xfree( pScreen->allowedDepths ); - xfree( pScreen->visuals ); -#else - fbScreenInit( pScreen, NULL, maxDim, maxDim, maxRes, maxRes, - maxRes, 1 ); -#endif /* XP_PCL_COLOR */ - - miInitializeBackingStore ( pScreen ); - - pScreen->defColormap = FakeClientID(0); - pScreen->blackPixel = 1; - pScreen->whitePixel = 0; - - pPriv->CloseScreen = pScreen->CloseScreen; - pScreen->CloseScreen = PclCloseScreen; - - pScreen->QueryBestSize = (QueryBestSizeProcPtr)PclQueryBestSize; - pScreen->SaveScreen = (SaveScreenProcPtr)_XpBoolNoop; - pScreen->GetImage = (GetImageProcPtr)_XpVoidNoop; - pScreen->GetSpans = (GetSpansProcPtr)_XpVoidNoop; - pScreen->CreateWindow = PclCreateWindow; - pScreen->DestroyWindow = PclDestroyWindow; -/* - pScreen->PositionWindow = PclPositionWindow; -*/ - pScreen->ChangeWindowAttributes = PclChangeWindowAttributes; -/* - pScreen->RealizeWindow = PclMapWindow; - pScreen->UnrealizeWindow = PclUnmapWindow; -*/ - pScreen->CopyWindow = PclCopyWindow; /* XXX Hard routine to write! */ - - pScreen->CreatePixmap = fbCreatePixmap; - pScreen->DestroyPixmap = fbDestroyPixmap; - pScreen->RealizeFont = PclRealizeFont; - pScreen->UnrealizeFont = PclUnrealizeFont; - pScreen->CreateGC = PclCreateGC; - - pScreen->CreateColormap = PclCreateColormap; - pScreen->DestroyColormap = PclDestroyColormap; - pScreen->InstallColormap = (InstallColormapProcPtr)NoopDDA; - pScreen->UninstallColormap = (UninstallColormapProcPtr)NoopDDA; - pScreen->ListInstalledColormaps = PclListInstalledColormaps; - pScreen->StoreColors = PclStoreColors; -/* - pScreen->ResolveColor = PclResolveColor; -*/ - - pScreen->BitmapToRegion = fbPixmapToRegion; - - pScreen->ConstrainCursor = PclConstrainCursor; - pScreen->CursorLimits = PclCursorLimits; - pScreen->DisplayCursor = PclDisplayCursor; - pScreen->RealizeCursor = PclRealizeCursor; - pScreen->UnrealizeCursor = PclUnrealizeCursor; - pScreen->RecolorCursor = PclRecolorCursor; - pScreen->SetCursorPosition = PclSetCursorPosition; - - pScreen->visuals = Visuals; - pScreen->numVisuals = NUM_VISUALS( Visuals ); - pScreen->allowedDepths = Depths; - pScreen->numDepths = NUM_DEPTHS( Depths ); - - for( i = 0; i < NUM_DEPTHS( Depths ); i++ ) - { - pScreen->allowedDepths[i].vids = - (VisualID *)xalloc( sizeof(VisualID ) ); - pScreen->allowedDepths[i].vids[0] = i + 1; - } - -#ifdef XP_PCL_COLOR - pScreen->rootVisual = 2; - pScreen->rootDepth = 8; -#else - pScreen->rootVisual = 1; - pScreen->rootDepth = 1; -#endif /* XP_PCL_COLOR */ - - pPriv->colormaps = NULL; - PclCreateDefColormap( pScreen ); - - return TRUE; -} - -static void -AllocatePclPrivates(ScreenPtr pScreen) -{ - dixRequestPrivate(PclWindowPrivateKey, sizeof( PclWindowPrivRec ) ); - dixRequestPrivate(PclContextPrivateKey, sizeof( PclContextPrivRec ) ); - dixRequestPrivate(PclGCPrivateKey, sizeof( PclGCPrivRec ) ); - dixRequestPrivate(PclPixmapPrivateKey, sizeof( PclPixmapPrivRec ) ); - - dixSetPrivate(&pScreen->devPrivates, PclScreenPrivateKey, - xalloc(sizeof(PclScreenPrivRec))); -} - -/* - * PclInitContext - * - * Establish the appropriate values for a PrintContext used with the PCL - * driver. - */ - -static char DOC_ATT_SUPP[]="document-attributes-supported"; -static char DOC_ATT_VAL[]="document-format xp-listfonts-modes"; -static char JOB_ATT_SUPP[]="job-attributes-supported"; -static char JOB_ATT_VAL[]=""; -static char PAGE_ATT_SUPP[]="xp-page-attributes-supported"; -static char PAGE_ATT_VAL[]="content-orientation default-printer-resolution \ -default-input-tray default-medium plex xp-listfonts-modes"; - -static int -PclInitContext(XpContextPtr pCon) -{ - XpDriverFuncsPtr pFuncs; - PclContextPrivPtr pConPriv; - char *server, *attrStr; - char *modelID; - char *configDir; - char *pathName; - int i, j; - float width, height; - XpOidMediumDiscreteSizeList* ds_list; - XpOidArea* repro; - XpOid page_size; - XpOidMediumSS* m; - - /* - * Initialize the attribute store for this printer. - */ - XpInitAttributes( pCon ); - - /* - * Initialize the function pointers - */ - pFuncs = &( pCon->funcs ); - pFuncs->StartJob = PclStartJob; - pFuncs->EndJob = PclEndJob; - pFuncs->StartDoc = PclStartDoc; - pFuncs->EndDoc = PclEndDoc; - pFuncs->StartPage = PclStartPage; - pFuncs->EndPage = PclEndPage; - pFuncs->PutDocumentData = PclDocumentData; - pFuncs->GetDocumentData = PclGetDocumentData; - pFuncs->GetAttributes = PclGetAttributes; - pFuncs->SetAttributes = PclSetAttributes; - pFuncs->AugmentAttributes = PclAugmentAttributes; - pFuncs->GetOneAttribute = PclGetOneAttribute; - pFuncs->DestroyContext = PclDestroyContext; - pFuncs->GetMediumDimensions = PclGetMediumDimensions; - pFuncs->GetReproducibleArea = PclGetReproducibleArea; - - - /* - * Set up the context privates - */ - pConPriv = (PclContextPrivPtr) - dixLookupPrivate(&pCon->devPrivates, PclContextPrivateKey); - - pConPriv->jobFileName = (char *)NULL; - pConPriv->pageFileName = (char *)NULL; - pConPriv->pJobFile = (FILE *)NULL; - pConPriv->pPageFile = (FILE *)NULL; - pConPriv->dash = NULL; - pConPriv->validGC = 0; - - pConPriv->getDocClient = (ClientPtr)NULL; - pConPriv->getDocBufSize = 0; - modelID = XpGetOneAttribute(pCon, XPPrinterAttr, "xp-model-identifier"); - if ( (configDir = XpGetConfigDir(False)) != (char *) NULL ) { - pathName = (char *)xalloc(strlen(configDir) + strlen(MODELDIRNAME) + - strlen(modelID) + strlen("color.map") + 4); - if (pathName) { - sprintf(pathName, "%s/%s/%s/%s", configDir, MODELDIRNAME, modelID, - "color.map"); - pConPriv->ctbl = PclReadMap(pathName, &pConPriv->ctbldim); - xfree(pathName); - - } else - pConPriv->ctbl = NULL; - } else - pConPriv->ctbl = NULL; - -#ifdef XP_PCL_LJ3 - /* - * Initialize the spooling buffer for saving the figures temporary - * (LaserJet IIIs printers don't support the macro function which - * includes some HP-GL/2 commands.) - */ - pConPriv->fcount = 0; - if ( !(pConPriv->figures = (char *)xalloc(1024)) ) - pConPriv->fcount_max = 0; - else - pConPriv->fcount_max = 1024; -#endif /* XP_PCL_LJ3 */ - - /* - * document-attributes-supported - */ - server = XpGetOneAttribute( pCon, XPServerAttr, DOC_ATT_SUPP ); - if( ( attrStr = (char *)xalloc(strlen(server) + strlen(DOC_ATT_SUPP) - + strlen(DOC_ATT_VAL) + - strlen(PAGE_ATT_VAL) + 8 ) ) - == (char *)NULL ) - return BadAlloc; - sprintf( attrStr, "*%s:\t%s %s %s", DOC_ATT_SUPP, server, - DOC_ATT_VAL, PAGE_ATT_VAL ); - XpAugmentAttributes( pCon, XPPrinterAttr, attrStr ); - xfree( attrStr ); - - /* - * job-attributes-supported - */ - server = XpGetOneAttribute( pCon, XPServerAttr, JOB_ATT_SUPP ); - if( ( attrStr = (char *)xalloc(strlen(server) + strlen(JOB_ATT_SUPP) - + strlen(JOB_ATT_VAL) + 8 ) ) - == (char *)NULL ) - return BadAlloc; - sprintf( attrStr, "*%s:\t%s %s", JOB_ATT_SUPP, server, JOB_ATT_VAL ); - XpAugmentAttributes( pCon, XPPrinterAttr, attrStr ); - xfree( attrStr ); - - /* - * xp-page-attributes-supported - */ - server = XpGetOneAttribute( pCon, XPServerAttr, PAGE_ATT_SUPP ); - if( ( attrStr = (char *)xalloc(strlen(server) + strlen(PAGE_ATT_SUPP) - + strlen(PAGE_ATT_VAL) + 8 ) ) - == (char *)NULL ) - return BadAlloc; - sprintf( attrStr, "*%s:\t%s %s", PAGE_ATT_SUPP, server, PAGE_ATT_VAL ); - XpAugmentAttributes( pCon, XPPrinterAttr, attrStr ); - xfree( attrStr ); - - /* - * Validate the attribute pools - */ - XpValidateAttributePool( pCon, XPPrinterAttr, &PclValidatePoolsRec ); - - /* - * Munge the reproducible areas to reflect the fact that PCL will not let - * me move the right or left margins closer than .25" to the edge of the - * paper. - */ - m = XpGetMediumSSAttr( pCon, XPPrinterAttr, - xpoid_att_medium_source_sizes_supported, - (const XpOidList*) NULL, - (const XpOidList*) NULL ); - for( i = 0; i < XpOidMediumSSCount( m ); i++ ) - { - if( XpOidMediumSS_DISCRETE == (m->mss)[i].mstag ) - { - ds_list = (m->mss)[i].ms.discrete; - for( j = 0; j < ds_list->count; j++ ) - { - repro = &(ds_list->list)[j].assured_reproduction_area; - page_size = (ds_list->list)[j].page_size; - XpGetMediumMillimeters( page_size, &width, &height ); - - if( repro->minimum_x < 6.35 ) - repro->minimum_x = 6.35; - if( width - repro->maximum_x < 6.35 ) - repro->maximum_x = width - 6.35; - } - } - } - XpPutMediumSSAttr( pCon, XPPrinterAttr, - xpoid_att_medium_source_sizes_supported, m ); - XpOidMediumSSDelete( m ); - - /* - * Finish validating the attribute pools - */ - - XpValidateAttributePool( pCon, XPDocAttr, &PclValidatePoolsRec ); - XpValidateAttributePool( pCon, XPJobAttr, &PclValidatePoolsRec ); - XpValidateAttributePool( pCon, XPPageAttr, &PclValidatePoolsRec ); - - /* - * Clear out the colormap storage - */ - pConPriv->palettes = NULL; - - return Success; -} - -static Bool -PclDestroyContext(XpContextPtr pCon) -{ - PclContextPrivPtr pConPriv = (PclContextPrivPtr) - dixLookupPrivate(&pCon->devPrivates, PclContextPrivateKey); - PclPaletteMapPtr p, t; - PclCmapToContexts *pCmap; - ScreenPtr screen; - PclScreenPrivPtr sPriv; - PclContextListPtr con, prevCon, temp; - - - /* - * Clean up the temporary files - */ - if( pConPriv->pPageFile != (FILE *)NULL ) - { - fclose( pConPriv->pPageFile ); - pConPriv->pPageFile = (FILE *)NULL; - } - if( pConPriv->pageFileName != (char *)NULL ) - { - unlink( pConPriv->pageFileName ); - xfree( pConPriv->pageFileName ); - pConPriv->pageFileName = (char *)NULL; - } - - if( pConPriv->pJobFile != (FILE *)NULL ) - { - fclose( pConPriv->pJobFile ); - pConPriv->pJobFile = NULL; - } - if( pConPriv->jobFileName != (char *)NULL ) - { - unlink( pConPriv->jobFileName ); - xfree( pConPriv->jobFileName ); - pConPriv->jobFileName = (char *)NULL; - } - - xfree( pConPriv->dash ); - xfree(pConPriv->ctbl); - pConPriv->ctbl = NULL; -#ifdef XP_PCL_LJ3 - xfree( pConPriv->figures ); -#endif /* XP_PCL_LJ3 */ - - /* - * Destroy the colormap<->palette mappings - */ - p = pConPriv->palettes; - while( p ) - { - t = p; - p = p->next; - xfree( t ); - } - pConPriv->palettes = NULL; - - /* - * Remove the context from the screen-level colormap<->contexts mappings - */ - screen = screenInfo.screens[pCon->screenNum]; - sPriv = (PclScreenPrivPtr) - dixLookupPrivate(&screen->devPrivates, PclScreenPrivateKey); - pCmap = sPriv->colormaps; - while( pCmap ) - { - con = pCmap->contexts; - prevCon = NULL; - - while( con ) - { - if( con->context->contextID == pCon->contextID ) - { - if( prevCon ) - { - temp = con; - prevCon->next = con = con->next; - } - else - { - temp = pCmap->contexts; - pCmap->contexts = con = con->next; - } - xfree( temp ); - } - else - con = con->next; - } - - pCmap = pCmap->next; - } - - XpDestroyAttributes(pCon); - - return Success; -} - -XpContextPtr -PclGetContextFromWindow(WindowPtr win) -{ - PclWindowPrivPtr pPriv; - - while( win ) - { - pPriv = (PclWindowPrivPtr) - dixLookupPrivate(&win->devPrivates, PclWindowPrivateKey); - if( pPriv->validContext ) - return pPriv->context; - - win = win->parent; - } - - return NULL; -} diff --git a/xorg-server/hw/xprint/pcl/PclLine.c b/xorg-server/hw/xprint/pcl/PclLine.c deleted file mode 100644 index 68d55a525..000000000 --- a/xorg-server/hw/xprint/pcl/PclLine.c +++ /dev/null @@ -1,314 +0,0 @@ -/******************************************************************* -** -** ********************************************************* -** * -** * File: PclLine.c -** * -** * Contents: -** * Line drawing routines for the PCL driver -** * -** * Created: 10/11/95 -** * -** ********************************************************* -** -********************************************************************/ -/* -(c) Copyright 1996 Hewlett-Packard Company -(c) Copyright 1996 International Business Machines Corp. -(c) Copyright 1996 Sun Microsystems, Inc. -(c) Copyright 1996 Novell, Inc. -(c) Copyright 1996 Digital Equipment Corp. -(c) Copyright 1996 Fujitsu Limited -(c) Copyright 1996 Hitachi, Ltd. - -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. -*/ - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#include "Pcl.h" -#include "gcstruct.h" -#include "windowstr.h" - -/* - * PclPolyLine() - * PclPolySegment() - * - * Generates PCL code to draw a polyline, or a collection of distinct - * line segments, clipped by the current clip region. Since PCL - * supports clipping to a rectangle, and the clip region is - * represented as a collection of visible rectangles, we can draw and - * clip the line by repeatedly drawing the complete line, clipped to - * each rectangle in the clip region. - * - * Since each box in the clipping region generates approximately 30 - * bytes of PCL code, we have to have a way to avoid having a large - * number of boxes. The worst problem the case where the clipping - * region is a collection of one-pixel-high boxes, perhaps arising - * from a bitmap clip mask, or a region defined by a non-rectangular - * polygon. - * - * To alleviate this problem, we create a second clipping region, - * which consists of the union of the bounding boxes of each line - * segment. (Each bounding box is also increased by some amount - * related to the current line width to allow for non-zero-width - * lines, and for the various end and join styles.) This region is - * intersected with the "real" clipping region to get the region used - * to actually clip the polyline. This should result in a significant - * reduction in the number of clip rectangles, as the region-handling - * code should consolidate many of the fragments of one-pixel-high - * rectangles into larger rectangles. - */ - -void -PclPolyLine( - DrawablePtr pDrawable, - GCPtr pGC, - int mode, - int nPoints, - xPoint *pPoints) -{ - char t[80]; - FILE *outFile; - int xoffset = 0, yoffset = 0; - int nbox; - BoxPtr pbox; - xRectangle *drawRects, *r; - RegionPtr drawRegion, region; - short fudge; - int i; - XpContextPtr pCon; - PclContextPrivPtr pConPriv; - - if( PclUpdateDrawableGC( pGC, pDrawable, &outFile ) == FALSE ) - return; - - pCon = PclGetContextFromWindow( (WindowPtr) pDrawable ); - pConPriv = (PclContextPrivPtr) - dixLookupPrivate(&pCon->devPrivates, PclContextPrivateKey); - - /* - * Allocate the storage required to deal with the clipping - * regions. - */ - region = REGION_CREATE( pGC->pScreen, NULL, 0 ); - drawRects = (xRectangle *) - xalloc( ( nPoints - 1 ) * sizeof( xRectangle ) ); - - /* - * Calculate the "fudge factor" based on the line width. - * Multiplying by three seems to be a good first guess. - * XXX I need to think of a way to test this. - */ - fudge = 3 * pGC->lineWidth + 1; - - /* - * Generate the PCL code to draw the polyline, by defining it as a - * macro which uses the HP-GL/2 line drawing function. - */ - - MACRO_START( outFile, pConPriv ); - SAVE_PCL( outFile, pConPriv, "\033%0B" ); - - sprintf( t, "PU%d,%dPD\n", pPoints[0].x + pDrawable->x, - pPoints[0].y + pDrawable->y ); - SAVE_PCL( outFile, pConPriv, t ); /* Move to the start of the polyline */ - - switch( mode ) - { - case CoordModeOrigin: - xoffset = pDrawable->x; - yoffset = pDrawable->y; - SAVE_PCL( outFile, pConPriv, "PA" ); - break; - case CoordModePrevious: - xoffset = yoffset = 0; - SAVE_PCL( outFile, pConPriv, "PR" ); - break; - } - - /* - * Build the "drawing region" as we build the PCL to draw the - * line. - */ - for(i = 1, r = drawRects; i < nPoints; i++, r++ ) - { - if( i != 1 ) - SAVE_PCL( outFile, pConPriv, "," ); - - sprintf( t, "%d,%d", pPoints[i].x + xoffset, - pPoints[i].y + yoffset ); - SAVE_PCL( outFile, pConPriv, t ); - - r->x = MIN( pPoints[i-1].x, pPoints[i].x ) + xoffset - fudge; - r->y = MIN( pPoints[i-1].y, pPoints[i].y ) + yoffset - fudge; - r->width = abs( pPoints[i-1].x - pPoints[i].x ) + 2 * fudge; - r->height = abs( pPoints[i-1].y - pPoints[i].y ) + 2 * fudge; - } - SAVE_PCL( outFile, pConPriv, ";\033%0A" ); /* End the macro */ - MACRO_END( outFile ); - - /* - * Convert the collection of rectangles into a proper region, then - * intersect it with the clip region. - */ - drawRegion = RECTS_TO_REGION( pGC->pScreen, nPoints - 1, - drawRects, CT_UNSORTED ); - if( mode == CoordModePrevious ) - REGION_TRANSLATE( pGC->pScreen, drawRegion, pPoints[0].x, pPoints[0].y ); - REGION_INTERSECT( pGC->pScreen, region, drawRegion, pGC->pCompositeClip ); - - /* - * For each rectangle in the clip region, set the HP-GL/2 "input - * window" and render the entire polyline to it. - */ - pbox = REGION_RECTS( region ); - nbox = REGION_NUM_RECTS( region ); - - PclSendData(outFile, pConPriv, pbox, nbox, 1.0); - - /* - * Clean up the temporary regions - */ - REGION_DESTROY( pGC->pScreen, drawRegion ); - REGION_DESTROY( pGC->pScreen, region ); - xfree( drawRects ); -} - -void -PclPolySegment( - DrawablePtr pDrawable, - GCPtr pGC, - int nSegments, - xSegment *pSegments) -{ - FILE *outFile, *dummy; - char t[80]; - int xoffset, yoffset; - int nbox, i; - unsigned long valid; - BoxPtr pbox; - xRectangle *drawRects, *r; - RegionPtr drawRegion, region; - short fudge; - XpContextPtr pCon; - PclContextPrivPtr pConPriv; - GC cacheGC; - - - if( PclUpdateDrawableGC( pGC, pDrawable, &outFile ) == FALSE ) - return; - - pCon = PclGetContextFromWindow( (WindowPtr) pDrawable ); - pConPriv = (PclContextPrivPtr) - dixLookupPrivate(&pCon->devPrivates, PclContextPrivateKey); - - /* - * Allocate the storage for the temporary regions. - */ - region = REGION_CREATE( pGC->pScreen, NULL, 0 ); - drawRects = (xRectangle *) - xalloc( nSegments * sizeof( xRectangle ) ); - - /* - * Calculate the fudge factor, based on the line width - */ - fudge = pGC->lineWidth * 3 + 1; - - /* - * Turn off line joining. - */ - SEND_PCL( outFile, "\033%0BLA2,6;\033%0A" ); - - /* - * Generate the PCL code to draw the segments, by defining them as - * a macro which uses the HP-GL/2 line drawing function. - * - * XXX I wonder if this should be implemented using the Encoded - * XXX Polyline function. Since I'm only sending it once, it's not - * XXX necessarily too important. - */ - - MACRO_START( outFile, pConPriv ); - SAVE_PCL( outFile, pConPriv, "\033%0B" ); - - xoffset = pDrawable->x; - yoffset = pDrawable->y; - - for( i = 0, r = drawRects; i < nSegments; i++, r++ ) - { - r->x = MIN( pSegments[i].x1, pSegments[i].x2 ) + xoffset; - r->y = MIN( pSegments[i].y1, pSegments[i].y2 ) + yoffset; - r->width = abs( pSegments[i].x1 - pSegments[i].x2 ); - r->height = abs( pSegments[i].y1 - pSegments[i].y2 ); - - sprintf( t, "PU%d,%d;PD%d,%d;", pSegments[i].x1 + xoffset, - pSegments[i].y1 + yoffset, pSegments[i].x2 + - xoffset, pSegments[i].y2 + yoffset ); - SAVE_PCL( outFile, pConPriv, t ); - - r->x -= fudge; - r->y -= fudge; - r->width += 2 * fudge; - r->height += 2 * fudge; - } - SAVE_PCL( outFile, pConPriv, "\033%0A" ); - MACRO_END ( outFile ); - - /* - * Convert the collection of rectangles into a proper region, then - * intersect it with the clip region. - */ - drawRegion = RECTS_TO_REGION( pGC->pScreen, nSegments, - drawRects, CT_UNSORTED ); - REGION_INTERSECT( pGC->pScreen, region, drawRegion, pGC->pCompositeClip ); - - /* - * For each rectangle in the clip region, set the HP-GL/2 "input - * window" and render the entire set of segments to it. - */ - pbox = REGION_RECTS( region ); - nbox = REGION_NUM_RECTS( region ); - - PclSendData(outFile, pConPriv, pbox, nbox, 1.0); - - /* - * Now we need to reset the line join mode to whatever it was at before. - * The easiest way is to force the cached GC's joinstyle to be different - * from the current GC's joinstyle, then re-update the GC. This way, we - * don't have to duplicate code unnecessarily. - */ - PclGetDrawablePrivateStuff( pDrawable, &cacheGC, &valid, &dummy ); - cacheGC.joinStyle = !cacheGC.joinStyle; - PclSetDrawablePrivateGC( pDrawable, cacheGC ); - PclUpdateDrawableGC( pGC, pDrawable, &outFile ); - - /* - * Clean up - */ - REGION_DESTROY( pGC->pScreen, drawRegion ); - REGION_DESTROY( pGC->pScreen, region ); - xfree( drawRects ); -} diff --git a/xorg-server/hw/xprint/pcl/PclMisc.c b/xorg-server/hw/xprint/pcl/PclMisc.c deleted file mode 100644 index 0b37836e9..000000000 --- a/xorg-server/hw/xprint/pcl/PclMisc.c +++ /dev/null @@ -1,301 +0,0 @@ -/******************************************************************* -** -** ********************************************************* -** * -** * File: PclMisc.c -** * -** * Contents: -** * Miscellaneous code for Pcl driver. -** * -** * Created: 2/01/95 -** * -** ********************************************************* -** -********************************************************************/ -/* -(c) Copyright 1996 Hewlett-Packard Company -(c) Copyright 1996 International Business Machines Corp. -(c) Copyright 1996 Sun Microsystems, Inc. -(c) Copyright 1996 Novell, Inc. -(c) Copyright 1996 Digital Equipment Corp. -(c) Copyright 1996 Fujitsu Limited -(c) Copyright 1996 Hitachi, Ltd. - -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. -*/ - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include /* for SIGCLD on pre-POSIX systems */ -#include "Pcl.h" - -#include "cursor.h" -#include "resource.h" - -#include "windowstr.h" -#include "propertyst.h" -#include "attributes.h" - - -/*ARGSUSED*/ -void -PclQueryBestSize( - int type, - short *pwidth, - short *pheight, - ScreenPtr pScreen) -{ - unsigned width, highBit; - - switch(type) - { - case CursorShape: - *pwidth = 0; - *pheight = 0; - break; - case TileShape: - case StippleShape: - width = *pwidth; - if (!width) break; - /* Return the nearest power of two >= what they gave us */ - highBit = 0x80000000; - /* Find the highest 1 bit in the given width */ - while(!(highBit & width)) - highBit >>= 1; - /* If greater than that then return the next power of two */ - if((highBit - 1) & width) - highBit <<= 1; - *pwidth = highBit; - /* height is a don't-care */ - break; - } -} - -/* - * GetPropString searches the window heirarchy from pWin up looking for - * a property by the name of propName. If found, returns the property's - * value. If not, it returns NULL. - */ -char * -GetPropString( - WindowPtr pWin, - char *propName) -{ - Atom atom; - PropertyPtr pProp = (PropertyPtr)NULL; - char *retVal; - - atom = MakeAtom(propName, strlen(propName), FALSE); - if(atom != BAD_RESOURCE) - { - WindowPtr pPropWin; - int rc, n; - - /* - * The atom has been defined, but it might only exist as a - * property on an unrelated window. - */ - for(pPropWin = pWin; pPropWin != (WindowPtr)NULL; - pPropWin = pPropWin->parent) - { - rc = dixLookupProperty(&pProp, pPropWin, atom, - serverClient, DixReadAccess); - if (rc == Success) - break; - else - pProp = NULL; - } - if(pProp == (PropertyPtr)NULL) - return (char *)NULL; - - n = (pProp->format/8) * pProp->size; /* size (bytes) of prop */ - retVal = (char *)xalloc(n + 1); - (void)memcpy((void *)retVal, (void *)pProp->data, n); - retVal[n] = '\0'; - - return retVal; - } - - return (char *)NULL; -} - -#include -#include - -/* ARGSUSED */ -static void SigchldHndlr ( - int dummy) -{ - int status; - int olderrno = errno; - struct sigaction act; - sigfillset(&act.sa_mask); - act.sa_flags = 0; - act.sa_handler = SigchldHndlr; - - (void) wait (&status); - - /* - * Is this really necessary? - */ - sigaction(SIGCHLD, &act, (struct sigaction *)NULL); - errno = olderrno; -} - -/* - * SystemCmd provides a wrapper for the 'system' library call. The call - * appears to be sensitive to the handling of SIGCHLD, so this wrapper - * sets the status to SIG_DFL, and then resets the established handler - * after system returns. - */ -int -SystemCmd(char *cmdStr) -{ - int status; - struct sigaction newAct, oldAct; - sigfillset(&newAct.sa_mask); - newAct.sa_flags = 0; - newAct.sa_handler = SIG_DFL; - sigfillset(&oldAct.sa_mask); - oldAct.sa_flags = 0; - oldAct.sa_handler = SigchldHndlr; - - /* - * get the old handler, and set the action to IGN - */ - sigaction(SIGCHLD, &newAct, &oldAct); - - status = system (cmdStr); - - sigaction(SIGCHLD, &oldAct, (struct sigaction *)NULL); - return status; -} - - -/* - * PclGetMediumDimensions is installed in the GetMediumDimensions field - * of each Pcl-initialized context. - */ -int -PclGetMediumDimensions(XpContextPtr pCon, - CARD16 *width, - CARD16 *height) -{ - XpGetMediumDimensions(pCon, width, height); - return Success; -} - -/* - * PclGetReproducibleArea is installed in the GetReproducibleArea field - * of each Pcl-initialized context. - */ -int -PclGetReproducibleArea(XpContextPtr pCon, - xRectangle *pRect) -{ - XpGetReproductionArea(pCon, pRect); - return Success; -} - -#ifdef XP_PCL_LJ3 -/* - * PclSpoolFigs spooled the rendering PCL/HP-GL2 commands into the - * temporary buffer pointed by figures pointer in pcl private context. - * LaserJet IIIs printers don't support the macro function which - * includes some HP-GL/2 commands. - */ -void -PclSpoolFigs(PclContextPrivPtr pConPriv, char *t, int n) -{ -char *ptr; - - ptr = pConPriv->figures; - while ( ( pConPriv->fcount + n) > pConPriv->fcount_max ) { - ptr = (char *)xrealloc(ptr, 1024 + pConPriv->fcount_max); - if ( !ptr ) - return; - pConPriv->figures = ptr; - pConPriv->fcount_max += 1024; - } - ptr += pConPriv->fcount; - pConPriv->fcount += n; - memcpy(ptr, t, n); -} -#endif /* XP_PCL_LJ3 */ - -/* - * PclSendData: - * For XP-PCL-COLOR/XP-PCL-MONO, it executes the macro stored before - * in the clipped area. - * For XP-PCL-LJ3, it draws the spooled figures in the clipped area. - */ -void -PclSendData( - FILE *outFile, - PclContextPrivPtr pConPriv, - BoxPtr pbox, - int nbox, - double ratio -) -{ -char *ptr; -int n; -char t[80]; - -#ifdef XP_PCL_LJ3 - ptr = pConPriv->figures; - n = pConPriv->fcount; -#else - ptr = "\033&f3X"; - n = 5; -#endif /* XP_PCL_LJ3 */ - - while( nbox ) - { - /* - * Set the HP-GL/2 input window to the current - * rectangle in the clip region, then send the code to - * execute the macro defined above. - */ - if (ratio == 1.0) - sprintf( t, "\033%%0BIW%d,%d,%d,%d;\033%%0A", - pbox->x1, pbox->y1, - pbox->x2, pbox->y2 ); - else - sprintf( t, "\033%%0BIW%g,%d,%g,%d;\033%%0A", - ratio * pbox->x1, pbox->y1, - ratio * pbox->x2, pbox->y2 ); - - SEND_PCL( outFile, t ); - SEND_PCL_COUNT( outFile, ptr, n); - - nbox--; - pbox++; - } -} diff --git a/xorg-server/hw/xprint/pcl/PclPixel.c b/xorg-server/hw/xprint/pcl/PclPixel.c deleted file mode 100644 index d219838f0..000000000 --- a/xorg-server/hw/xprint/pcl/PclPixel.c +++ /dev/null @@ -1,159 +0,0 @@ -/******************************************************************* -** -** ********************************************************* -** * -** * File: PclPixel.c -** * -** * Contents: -** * Pixel-drawing code for the PCL DDX driver -** * -** * Created: 10/23/95 -** * -** ********************************************************* -** -********************************************************************/ -/* -(c) Copyright 1996 Hewlett-Packard Company -(c) Copyright 1996 International Business Machines Corp. -(c) Copyright 1996 Sun Microsystems, Inc. -(c) Copyright 1996 Novell, Inc. -(c) Copyright 1996 Digital Equipment Corp. -(c) Copyright 1996 Fujitsu Limited -(c) Copyright 1996 Hitachi, Ltd. - -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. -*/ - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#include - -#include "windowstr.h" -#include "gcstruct.h" - -#include "Pcl.h" - -void -PclPolyPoint( pDrawable, pGC, mode, nPoints, pPoints ) - DrawablePtr pDrawable; - GCPtr pGC; - int mode; - int nPoints; - xPoint *pPoints; -{ - char t[80]; - FILE *outFile; - int xoffset, yoffset; - BoxRec box; - int xloc, yloc, i; -#if 0 - XpContextPtr pCon; - PclContextPrivPtr cPriv; - PclPixmapPrivPtr pPriv; -#endif - - if( PclUpdateDrawableGC( pGC, pDrawable, &outFile ) == FALSE ) - return; - - xoffset = pDrawable->x; - yoffset = pDrawable->y; - - /* - * Enter HP-GL/2 and change the line style to one in which only - * the vertices of the specified polyline are drawn. We must also - * temporarily change the line width so that only a single pixel - * is drawn. Then move to the first possible location. - */ - xloc = pPoints[0].x + pDrawable->x; - yloc = pPoints[0].y + pDrawable->y; - - sprintf( t, "\27%%0BPW0,0;LT0;PU;PA%d,%d", xloc, yloc ); - SEND_PCL( outFile, t ); - - /* - * Check each point against the clip region. If it is outside the - * region, don't send the PCL to the printer. - */ - - for( i = 0; i < nPoints; i++ ) - { - if( POINT_IN_REGION( pGC->pScreen, pGC->clientClip, xloc, yloc, &box ) ) - { - sprintf( t, ",%d,%d", xloc, yloc ); - SEND_PCL( outFile, t ); - } - - if( mode == CoordModeOrigin ) - { - xloc = pPoints[i+1].x + xoffset; - yloc = pPoints[i+1].y + yoffset; - } - else - { - xloc += pPoints[i+1].x; - yloc += pPoints[i+1].y; - } - } - -#if 0 - /* - * Change the line style and width back to what they were before - * this routine was called. No, this isn't pretty... - */ - if( pDrawable->type == DRAWABLE_WINDOW ) - { - pCon = PclGetContextFromWindow( (WindowPtr)pDrawable ); - cPriv = (PclContextPrivPtr) - dixLookupPrivate(&pCon->devPrivates, PclContextPrivateKey); - cPriv->changeMask = GCLineWidth | GCLineStyle; - } - else - { - pPriv = (PclPixmapPrivPtr) - dixLookupPrivate(&((PixmapPtr)pDrawable)->devPrivates, - PclPixmapPrivateKey); - pPriv->changeMask = GCLineWidth | GCLineStyle; - } -#endif - - PclUpdateDrawableGC( pGC, pDrawable, &outFile ); - - /* - * Go back to PCL - */ - SEND_PCL( outFile, "\27%0A" ); -} - -void -PclPushPixels( pGC, pBitmap, pDrawable, width, height, x, y ) - GCPtr pGC; - PixmapPtr pBitmap; - DrawablePtr pDrawable; - int width; - int height; - int x; - int y; -{ -} diff --git a/xorg-server/hw/xprint/pcl/PclPolygon.c b/xorg-server/hw/xprint/pcl/PclPolygon.c deleted file mode 100644 index 7d95d6484..000000000 --- a/xorg-server/hw/xprint/pcl/PclPolygon.c +++ /dev/null @@ -1,351 +0,0 @@ -/******************************************************************* -** -** ********************************************************* -** * -** * File: PclPolygon.c -** * -** * Contents: -** * Draws Polygons and Rectangles for the PCL DDX -** * -** * Created: 10/23/95 -** * -** ********************************************************* -** -********************************************************************/ -/* -(c) Copyright 1996 Hewlett-Packard Company -(c) Copyright 1996 International Business Machines Corp. -(c) Copyright 1996 Sun Microsystems, Inc. -(c) Copyright 1996 Novell, Inc. -(c) Copyright 1996 Digital Equipment Corp. -(c) Copyright 1996 Fujitsu Limited -(c) Copyright 1996 Hitachi, Ltd. - -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. -*/ - - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#include "Pcl.h" -#include "gcstruct.h" -#include "windowstr.h" - -void -PclPolyRectangle( - DrawablePtr pDrawable, - GCPtr pGC, - int nRects, - xRectangle *pRects) -{ - char t[80]; - FILE *outFile; - int nbox, i; - BoxPtr pbox; - xRectangle *drawRects, *r; - RegionPtr drawRegion, region; - short fudge; - int xoffset, yoffset; - XpContextPtr pCon; - PclContextPrivPtr pConPriv; - - if( PclUpdateDrawableGC( pGC, pDrawable, &outFile ) == FALSE ) - return; - - pCon = PclGetContextFromWindow( (WindowPtr) pDrawable ); - pConPriv = (PclContextPrivPtr) - dixLookupPrivate(&pCon->devPrivates, PclContextPrivateKey); - - /* - * Allocate the storage required to deal with the clipping - * regions. - */ - region = REGION_CREATE( pGC->pScreen, NULL, 0 ); - drawRects = (xRectangle *)xalloc( nRects * sizeof( xRectangle ) ); - - fudge = 3 * pGC->lineWidth + 1; - - /* - * Generate the PCL code to draw the rectangles, by defining them - * as a macro which uses the HP-GL/2 rectangle drawing function. - */ - MACRO_START( outFile, pConPriv ); - SAVE_PCL( outFile, pConPriv, "\033%0B" ); - - xoffset = pDrawable->x; - yoffset = pDrawable->y; - - for( i = 0, r = drawRects; i < nRects; i++, r++ ) - { - xRectangle rect = pRects[i]; - - /* Draw the rectangle */ - sprintf( t, "PU%d,%d;ER%d,%d;", rect.x + xoffset, - rect.y + yoffset, rect.width, rect.height ); - SAVE_PCL( outFile, pConPriv, t ); - - /* Build the bounding box */ - r->x = MIN( rect.x, rect.x + rect.width ) + xoffset - - fudge; - r->y = MIN( rect.y, rect.y + rect.height ) + yoffset - - fudge; - r->width = rect.width + 2 * fudge; - r->height = rect.height + 2 * fudge; - } - SAVE_PCL( outFile, pConPriv, ";\033%0A" ); /* End the macro */ - MACRO_END( outFile ); - - /* - * Convert the collection of rectangles to a proper region, then - * intersect it with the clip region. - */ - drawRegion = RECTS_TO_REGION( pGC->pScreen, nRects, - drawRects, CT_UNSORTED ); - - REGION_INTERSECT( pGC->pScreen, region, drawRegion, pGC->pCompositeClip ); - - /* - * For each rectangle in the clip region, set the HP-GL/2 "input - * window" and render the set of rectangles to it. - */ - pbox = REGION_RECTS( region ); - nbox = REGION_NUM_RECTS( region ); - - PclSendData(outFile, pConPriv, pbox, nbox, 1.0); - - /* - * Clean up the temporary regions - */ - REGION_DESTROY( pGC->pScreen, drawRegion ); - REGION_DESTROY( pGC->pScreen, region ); - xfree( drawRects ); -} - -void -PclFillPolygon( - DrawablePtr pDrawable, - GCPtr pGC, - int shape, - int mode, - int nPoints, - DDXPointPtr pPoints) -{ - char t[80]; - FILE *outFile; - int nbox, i; - BoxPtr pbox; - BoxRec box; - RegionPtr drawRegion, region; - int xoffset, yoffset; - int xtop, xbottom, yleft, yright; - int fillRule; - XpContextPtr pCon; - PclContextPrivPtr pConPriv; - char *command; - - if( PclUpdateDrawableGC( pGC, pDrawable, &outFile ) == FALSE ) - return; - - pCon = PclGetContextFromWindow( (WindowPtr) pDrawable ); - pConPriv = (PclContextPrivPtr) - dixLookupPrivate(&pCon->devPrivates, PclContextPrivateKey); - - /* - * Generate the PCL code to draw the filled polygon, by defining - * it as a macro which uses the HP-GL/2 polygon drawing function. - */ - MACRO_START( outFile, pConPriv ); - SAVE_PCL( outFile, pConPriv, "\033%0B" ); - - if( mode == CoordModeOrigin ) - { - xoffset = pDrawable->x; - yoffset = pDrawable->y; - command = "PA"; - } - else - { - xoffset = yoffset = 0; - command = "PR"; - } - - /* Begin the polygon */ - sprintf( t, "PU%d,%d;PM0;%s", pPoints[0].x + xoffset, pPoints[0].y - + yoffset, command ); - SAVE_PCL( outFile, pConPriv, t ); - - /* Seed the bounding box */ - xtop = xbottom = pPoints[0].x + xoffset; - yleft = yright = pPoints[0].y + yoffset; - - /* Add the rest of the points to the polygon */ - for( i = 1; i < nPoints; i++ ) - { - if( i != 1 ) - SAVE_PCL( outFile, pConPriv, "," ); - - sprintf( t, "%d,%d", pPoints[i].x + xoffset, pPoints[i].y + - yoffset ); - SAVE_PCL( outFile, pConPriv, t ); - - /* Update the bounding box */ - xtop = MIN( xtop, pPoints[i].x + xoffset ); - xbottom = MAX( xbottom, pPoints[i].x + xoffset ); - yleft = MIN( yleft, pPoints[i].y + yoffset ); - yright = MAX( yright, pPoints[i].y + yoffset ); - } - - /* Close the polygon and the macro */ - - if( pGC->fillRule == EvenOddRule ) - fillRule = 0; - else - fillRule = 1; - - sprintf( t, ";PM2;FP%d;\033%%0A", fillRule ); - SAVE_PCL( outFile, pConPriv, t ); - MACRO_END ( outFile ); - - /* - * Build the bounding region from the bounding box of the polygon - */ - box.x1 = xtop; - box.y1 = yleft; - box.x2 = xbottom; - box.y2 = yright; - drawRegion = REGION_CREATE( pGC->pScreen, &box, 0 ); - - if( mode == CoordModePrevious ) - REGION_TRANSLATE( pGC->pScreen, drawRegion, pPoints[0].x, pPoints[0].y ); - - region = REGION_CREATE( pGC->pScreen, NULL, 0 ); - - REGION_INTERSECT( pGC->pScreen, region, drawRegion, pGC->pCompositeClip ); - - /* - * For each rectangle in the clip region, set the HP-GL/2 "input - * window" and render the polygon to it. - */ - pbox = REGION_RECTS( region ); - nbox = REGION_NUM_RECTS( region ); - - PclSendData(outFile, pConPriv, pbox, nbox, 1.0); - - /* - * Clean up the temporary regions - */ - REGION_DESTROY( pGC->pScreen, drawRegion ); - REGION_DESTROY( pGC->pScreen, region ); -} - -void -PclPolyFillRect( - DrawablePtr pDrawable, - GCPtr pGC, - int nRects, - xRectangle *pRects) -{ - char t[80]; - FILE *outFile; - int nbox, i; - BoxPtr pbox; - xRectangle *drawRects, *r; - RegionPtr drawRegion, region; - int xoffset, yoffset; - short fudge; - XpContextPtr pCon; - PclContextPrivPtr pConPriv; - - if( PclUpdateDrawableGC( pGC, pDrawable, &outFile ) == FALSE ) - return; - - pCon = PclGetContextFromWindow( (WindowPtr) pDrawable ); - pConPriv = (PclContextPrivPtr) - dixLookupPrivate(&pCon->devPrivates, PclContextPrivateKey); - - /* - * Allocate the storage required to deal with the clipping - * regions. - */ - region = REGION_CREATE( pGC->pScreen, NULL, 0 ); - drawRects = (xRectangle *)xalloc( nRects * sizeof( xRectangle ) ); - - - fudge = 3 * pGC->lineWidth + 1; - - /* - * Generate the PCL code to draw the filled rectangles, by - * defining them as a macro which uses the HP-GL/2 rectangle - * drawing function. - */ - MACRO_START( outFile, pConPriv ); - SAVE_PCL( outFile, pConPriv, "\033%0B" ); - - xoffset = pDrawable->x; - yoffset = pDrawable->y; - - for( i = 0, r = drawRects; i < nRects; i++, r++ ) - { - xRectangle rect = pRects[i]; - - /* Draw the rectangle */ - sprintf( t, "PU%d,%d;RR%d,%d;", rect.x + xoffset, rect.y + - yoffset, rect.width, rect.height ); - SAVE_PCL( outFile, pConPriv, t ); - - /* Build the bounding box */ - r->x = MIN( rect.x, rect.x + rect.width ) + xoffset - fudge; - r->y = MIN( rect.y, rect.y + rect.height ) + yoffset - - fudge; - r->width = rect.width + 2 * fudge; - r->height = rect.height + 2 * fudge; - } - SAVE_PCL( outFile, pConPriv, ";\033%0A" ); /* End the macro */ - MACRO_END( outFile ); - - /* - * Convert the collection of rectangles to a proper region, then - * intersect it with the clip region. - */ - drawRegion = RECTS_TO_REGION( pGC->pScreen, nRects, - drawRects, CT_UNSORTED ); - REGION_INTERSECT( pGC->pScreen, region, drawRegion, pGC->pCompositeClip ); - - /* - * For each rectangle in the clip region, set the HP-GL/2 "input - * window" and render the set of rectangles to it. - */ - pbox = REGION_RECTS( region ); - nbox = REGION_NUM_RECTS( region ); - - PclSendData(outFile, pConPriv, pbox, nbox, 1.0); - - /* - * Clean up the temporary regions - */ - REGION_DESTROY( pGC->pScreen, drawRegion ); - REGION_DESTROY( pGC->pScreen, region ); - xfree( drawRects ); -} diff --git a/xorg-server/hw/xprint/pcl/PclPrint.c b/xorg-server/hw/xprint/pcl/PclPrint.c deleted file mode 100644 index ac8ea1537..000000000 --- a/xorg-server/hw/xprint/pcl/PclPrint.c +++ /dev/null @@ -1,709 +0,0 @@ -/******************************************************************* -** -** ********************************************************* -** * -** * File: PclPrint.c -** * -** * Contents: Print extension code of Pcl driver -** * -** * Created: 2/03/95 -** * -** ********************************************************* -** -********************************************************************/ -/* -(c) Copyright 1996 Hewlett-Packard Company -(c) Copyright 1996 International Business Machines Corp. -(c) Copyright 1996 Sun Microsystems, Inc. -(c) Copyright 1996 Novell, Inc. -(c) Copyright 1996 Digital Equipment Corp. -(c) Copyright 1996 Fujitsu Limited -(c) Copyright 1996 Hitachi, Ltd. - -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. -*/ - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include -#include - -#define NEED_EVENTS -#include -#undef NEED_EVENTS - -#include "Pcl.h" - -#include "windowstr.h" -#include "attributes.h" -#include "AttrValid.h" -#include "Oid.h" - -int -PclStartJob( - XpContextPtr pCon, - Bool sendClientData, - ClientPtr client) -{ - PclContextPrivPtr pConPriv = (PclContextPrivPtr) - dixLookupPrivate(&pCon->devPrivates, PclContextPrivateKey); - PclPaletteMap *pal; - - /* - * Check for existing page file, and delete it if it exists. - */ - if(pConPriv->pageFileName != (char *)NULL) - { - if(pConPriv->pPageFile != (FILE *)NULL) - { - fclose(pConPriv->pPageFile); - pConPriv->pPageFile = (FILE *)NULL; - } - unlink(pConPriv->pageFileName); - xfree(pConPriv->pageFileName); - pConPriv->pageFileName = (char *)NULL; - } - - /* - * Create a temporary file to store the printer output. - */ - if (!XpOpenTmpFile("w+", &pConPriv->jobFileName, &pConPriv->pJobFile)) - return BadAlloc; - - /* - * Create/Initialize the SoftFontInfo structure - */ - pConPriv->pSoftFontInfo = PclCreateSoftFontInfo(); - - /* - * Set up the colormap handling - */ - pConPriv->palettes = NULL; - pConPriv->nextPaletteId = 4; - pConPriv->currentPalette = 0; - - pal = &( pConPriv->staticGrayPalette ); - pal->paletteId = 1; - pal->downloaded = 0; - - pal = &( pConPriv->trueColorPalette ); - pal->paletteId = 2; - pal->downloaded = 0; - - pal = &( pConPriv->specialTrueColorPalette ); - pal->paletteId = 3; - pal->downloaded = 0; - - return Success; -} - -int -PclEndJob( - XpContextPtr pCon, - Bool cancel) -{ - PclContextPrivPtr priv = (PclContextPrivPtr) - dixLookupPrivate(&pCon->devPrivates, PclContextPrivateKey); - -#ifdef CCP_DEBUG - FILE *xpoutput; -#endif - FILE *fp; - int retVal; - char *fileName, *trailer; - struct stat statBuf; - PclPaletteMapPtr p; - - trailer = "\033%-12345X@PJL RESET\n"; - - if( cancel == True ) - { - if( priv->getDocClient != (ClientPtr)NULL ) { - XpFinishDocData( priv->getDocClient ); - - priv->getDocClient = NULL; - priv->getDocBufSize = 0; - } - - return Success; - } - - if( priv->getDocClient != (ClientPtr)NULL && priv->getDocBufSize > 0 ) - { - /* - * We need to stash the trailer information somewhere... - */ - if (!XpOpenTmpFile("w+", &fileName, &fp)) - return BadAlloc; - -#ifndef XP_PCL_LJ3 - SEND_PCL( fp, trailer ); - rewind( fp ); - - retVal = XpSendDocumentData( priv->getDocClient, fp, - strlen( trailer ), - priv->getDocBufSize ); -#endif /* XP_PCL_LJ3 */ - - fclose( fp ); - unlink( fileName ); - xfree( fileName ); - - if( priv->getDocClient != (ClientPtr)NULL ) { - XpFinishDocData( priv->getDocClient ); - - priv->getDocClient = NULL; - priv->getDocBufSize = 0; - } - - return retVal; - } - -#ifndef XP_PCL_LJ3 - SEND_PCL( priv->pJobFile, trailer ); -#endif /* XP_PCL_LJ3 */ - - /* - * Submit the job to the spooler - */ - fflush( priv->pJobFile ); - - /* - * Dump the job file to another output file, for testing - * purposes. - */ - rewind( priv->pJobFile ); - stat( priv->jobFileName, &statBuf ); - -#ifdef CCP_DEBUG - unlink( "/users/prince/XpOutput" ); - xpoutput = fopen( "/users/prince/XpOutput", "w" ); - - rewind( priv->pJobFile ); - TransferBytes( priv->pJobFile, xpoutput, - (int)statBuf.st_size ); - fclose( xpoutput ); -#endif - - XpSubmitJob( priv->jobFileName, pCon ); - fclose( priv->pJobFile ); - unlink( priv->jobFileName ); - xfree( priv->jobFileName ); - priv->jobFileName = NULL; - - PclDestroySoftFontInfo(priv->pSoftFontInfo); - priv->pSoftFontInfo = (PclSoftFontInfoPtr) NULL; - - /* - * Clear out the colormap cache - */ - p = priv->palettes; - while( p ) - { - p->downloaded = 0; - p = p->next; - } - - return Success; -} - -/* StartPage - * - * If page file exists - * close page file - * set page file pointer = NULL - * unlink page file - * Create a new page file - * Send the page header information to the page file - * ClearArea the window and all descendant windows - */ -int -PclStartPage( - XpContextPtr pCon, - WindowPtr pWin) -{ - PclContextPrivPtr pConPriv = (PclContextPrivPtr) - dixLookupPrivate(&pCon->devPrivates, PclContextPrivateKey); - PclWindowPrivPtr pWinPriv = (PclWindowPrivPtr) - dixLookupPrivate(&pWin->devPrivates, PclWindowPrivateKey); - xRectangle repro; - char t[80]; - XpOid orient, plex, tray, medium; - int dir, plexNum, num; - - /* - * Put a pointer to the context in the window private structure - */ - pWinPriv->validContext = 1; - pWinPriv->context = pCon; - - /* - * Clear out the old page file, if necessary - */ - if(pConPriv->pPageFile != (FILE *)NULL) - { - fclose(pConPriv->pPageFile); - pConPriv->pPageFile = (FILE *)NULL; - } - if(pConPriv->pageFileName != (char *)NULL) - { - unlink(pConPriv->pageFileName); - pConPriv->pageFileName = (char *)NULL; - } - - /* - * Make up a new page file. - */ - if (!XpOpenTmpFile("w+", &pConPriv->pageFileName, &pConPriv->pPageFile)) - return BadAlloc; - - /* - * Reset the GC cached in the context private struct. - */ - pConPriv->validGC = 0; - - /* - * Set the page orientation - */ - orient = XpGetContentOrientation( pCon ); - switch( orient ) - { - case xpoid_val_content_orientation_landscape: - dir = 1; - break; - case xpoid_val_content_orientation_reverse_portrait: - dir = 2; - break; - case xpoid_val_content_orientation_reverse_landscape: - dir = 3; - break; - case xpoid_val_content_orientation_portrait: - default: - dir = 0; - break; - } - sprintf( t, "\033&l%dO", dir ); - SEND_PCL( pConPriv->pPageFile, t ); - - /* - * Set the duplexing method. Since PCL wants to think of it in - * terms of the "binding edge," and the attribute store thinks in - * "duplex/tumble," this is a little complicated. - * - * Actually, this has no bearing on the output, since the HP1600C - * will only print on one side of the paper, and ignore all - * requests to enable duplexing. But, in an attempt to keep this - * driver somewhat generic, we'll enable it anyway. - */ - plex = XpGetPlex( pCon ); - - if( plex == xpoid_val_plex_duplex ) - { - if( dir == 0 || dir == 2 ) - plexNum = 1; - else - plexNum = 2; - } - else if( plex == xpoid_val_plex_tumble ) - { - if( dir == 0 || dir == 2 ) - plexNum = 2; - else - plexNum = 1; - } - else - plexNum = 0; - sprintf( t, "\033&l%dS", plexNum ); - SEND_PCL( pConPriv->pPageFile, t ); - - /* - * Set the input tray or medium. If XpGetPageSize gives us a valid medium, - * we can just send that to the printer, and let the printer handle the - * details. Otherwise, we select the tray returned from XpGetPageSize, - * which will be either a tray that should contain the correct medium - * (possibly with operator intervention), or the default tray from the - * config files. - */ - medium = XpGetPageSize( pCon, &tray, NULL ); - if( medium != xpoid_none ) - { - switch( medium ) - { - case xpoid_val_medium_size_na_legal: - num = 3; - break; - case xpoid_val_medium_size_iso_a3: - num = 27; - break; - case xpoid_val_medium_size_iso_a4: - num = 26; - break; - case xpoid_val_medium_size_executive: - num = 1; - break; - case xpoid_val_medium_size_ledger: - num = 6; - break; - case xpoid_val_medium_size_monarch_envelope: - num = 80; - break; - case xpoid_val_medium_size_na_number_10_envelope: - num = 81; - break; - case xpoid_val_medium_size_iso_designated_long: - num = 90; - break; - case xpoid_val_medium_size_iso_c5: - num = 91; - break; - case xpoid_val_medium_size_iso_b5: - num = 100; - break; - case xpoid_val_medium_size_jis_b5: - num = 45; - break; - case xpoid_val_medium_size_na_letter: - default: - num = 2; - break; - } - sprintf( t, "\033&l%dA", num ); - SEND_PCL( pConPriv->pPageFile, t ); - } - else - { - switch( tray ) - { - case xpoid_val_input_tray_manual: - num = 2; - break; - case xpoid_val_input_tray_envelope: - num = 3; - break; - case xpoid_val_input_tray_large_capacity: - num = 5; - break; - case xpoid_val_input_tray_bottom: - num = 4; - break; - case xpoid_val_input_tray_main: - default: - num = 1; - break; - } - sprintf( t, "\033&l%dH", num ); - SEND_PCL( pConPriv->pPageFile, t ); - } - - /* - * Set the scaling factors so that the HP-GL/2 coordinate system - * matches the X coordinate system, both in axis orientation and - * in unit<->pixel conversion. - */ - XpGetReproductionArea( pCon, &repro ); - - sprintf( t, "\033&l0E\033*p%dx%dY", repro.x - 75, repro.y ); - SEND_PCL( pConPriv->pPageFile, t ); - - sprintf( t, "\033*c%dx%dY\033*c0T", (int)(repro.width / 300.0 * 720.0), - (int)(repro.height / 300.0 * 720.0) ); - SEND_PCL( pConPriv->pPageFile, t ); - - sprintf( t, "\033%%0BSC%d,%d,%d,%d;\033%%0A", repro.x, repro.x + - repro.width, repro.y + repro.height, repro.y ); - SEND_PCL( pConPriv->pPageFile, t ); - - return Success; -} - -/* - * When sending the generated PCL code back to the client, we send everything - * that we have generated so far for the job. After sending the data, we clean - * out the job file, to avoid repeatedly sending the same data. - */ - -static int -SendDocData( PclContextPrivPtr pPriv ) -{ - struct stat statBuf; - int ret; - - rewind( pPriv->pJobFile ); - if( stat( pPriv->jobFileName, &statBuf ) < 0 ) - return BadAlloc; - - ret = XpSendDocumentData( pPriv->getDocClient, pPriv->pJobFile, - (int)statBuf.st_size, pPriv->getDocBufSize ); - - /* - * Clean out the job file - */ - fclose( pPriv->pJobFile ); - unlink( pPriv->jobFileName ); - - xfree(pPriv->jobFileName); - - if (!XpOpenTmpFile("w+", &pPriv->jobFileName, &pPriv->pJobFile)) - return BadAlloc; - - return ret; -} - -/* - * EndPage: - * - * Write page trailer to page file - * Write page file to job file - */ -int -PclEndPage( - XpContextPtr pCon, - WindowPtr pWin) -{ - PclContextPrivPtr pConPriv = (PclContextPrivPtr) - dixLookupPrivate(&pCon->devPrivates, PclContextPrivateKey); - - struct stat statBuf; - - /* - * Send the page trailer to the page file. - */ - SEND_PCL( pConPriv->pPageFile, "\014" ); - fflush( pConPriv->pPageFile ); - - /* - * Write the page file contents to the job file, or to the - * whatever client has called GetDocumentData. - * - * pWinPriv->pPageFile must first be set to the start of the page file. - */ - rewind(pConPriv->pPageFile); - if(stat(pConPriv->pageFileName, &statBuf) < 0) - return BadAlloc; - - if(TransferBytes(pConPriv->pPageFile, pConPriv->pJobFile, - (int)statBuf.st_size) != (int)statBuf.st_size) - return BadAlloc; - - if( pConPriv->getDocClient != (ClientPtr)NULL && - pConPriv->getDocBufSize > 0 ) - { - return SendDocData( pConPriv ); - } - - return Success; -} - -/* - * The PclStartDoc() and PclEndDoc() functions serve basically as NOOP - * placeholders. This driver doesn't deal with the notion of multiple - * documents per page. - */ - -int -PclStartDoc(XpContextPtr pCon, - XPDocumentType type) -{ - PclContextPrivPtr pConPriv = (PclContextPrivPtr) - dixLookupPrivate(&pCon->devPrivates, PclContextPrivateKey); - -#ifndef XP_PCL_LJ3 - /* - * Set the printer resolution for the page. Since we can only - * render color at 300dpi, we just hard-code this. - */ - SEND_PCL( pConPriv->pJobFile, - "\033%-12345X@PJL SET RESOLUTION = 300\r\n" ); -#endif /* XP_PCL_LJ3 */ - - /* - * Initialize HP-GL/2 - */ - SEND_PCL( pConPriv->pJobFile, "\033E\033%0BIN,SP1,TR0;\033%0A" ); - - /* - * Stash the type of the document (used by PutDocumentData operation) - */ - pConPriv->isRaw = (type == XPDocRaw); - - return Success; -} - -int -PclEndDoc( - XpContextPtr pCon, - Bool cancel) -{ - /* - * XXX What should I do if I get cancel == TRUE? - */ - return Success; -} - -/* - * PclDocumentData() - * - * Hand any pre-generated PDL down to the spool files, formatting it - * as necessary to fit the given window. - * - */ - -#define DOC_PCL 1 -#define DOC_HPGL 2 - -int -PclDocumentData( - XpContextPtr pCon, - DrawablePtr pDraw, - char *pData, - int len_data, - char *pFmt, - int len_fmt, - char *pOpt, - int len_opt, - ClientPtr client) -{ - int type = 0; - PclContextPrivPtr pPriv = (PclContextPrivPtr) - dixLookupPrivate(&pCon->devPrivates, PclContextPrivateKey); - XpOidDocFmtList *formats; - XpOidDocFmt *f; - char t[80]; - xRectangle repro; - - /* - * Verify the input format - */ - formats = XpGetDocFmtListAttr( pCon, XPPrinterAttr, - (pPriv->isRaw) ? - xpoid_att_xp_raw_formats_supported : - xpoid_att_xp_embedded_formats_supported, - NULL ); - f = XpOidDocFmtNew( pFmt ); - if( !XpOidDocFmtListHasFmt( formats, f ) ) - { - XpOidDocFmtListDelete( formats ); - XpOidDocFmtDelete( f ); - return BadMatch; - } - XpOidDocFmtListDelete( formats ); - - if( !(pPriv->isRaw) ) - { - if( !strcmp( f->format, "PCL" ) ) - type = DOC_PCL; - else if( !strcmp( f->format, "HPGL" ) ) - type = DOC_HPGL; - else - { - XpOidDocFmtDelete( f ); - return BadMatch; - } - - switch( type ) - { - case DOC_HPGL: - /* - * Move the picture frame to the appropriate place on the page, - * then assume that the embedded code will scale it properly. - */ - sprintf( t, "\033&l0E\033*p%dx%dY", - pDraw->x - 75, - pDraw->y ); - SEND_PCL( pPriv->pPageFile, t ); - - sprintf( t, "\033*c%dx%dY\033*coT", - (int)( pDraw->width / 300.0 * 720.0 ), - (int)( pDraw->height / 300.0 * 720.0 ) ); - SEND_PCL( pPriv->pPageFile, t ); - break; - } - } - - - /* - * Send the data down the pipe - */ - SEND_PCL_COUNT( pPriv->pPageFile, pData, len_data ); - - /* - * If it's not a raw document, clean up the embedding - */ - if( !(pPriv->isRaw) ) - switch( type ) - { - case DOC_HPGL: - /* - * Reset the picture frame - */ - XpGetReproductionArea( pCon, &repro ); - - sprintf( t, "\033&l0E\033*p%dx%dY", repro.x - 75, repro.y ); - SEND_PCL( pPriv->pPageFile, t ); - - sprintf( t, "\033*c%dx%dY\033*c0T", - (int)(repro.width / 300.0 * 720.0), - (int)(repro.height / 300.0 * 720.0) ); - SEND_PCL( pPriv->pPageFile, t ); - - sprintf( t, "\033%%0BSC%d,%d,%d,%d;\033%%0A", repro.x, repro.x + - repro.width, repro.y + repro.height, repro.y ); - SEND_PCL( pPriv->pPageFile, t ); - break; - } - - XpOidDocFmtDelete( f ); - return Success; -} - -/* - * - * PclGetDocumentData() - * - * This function allows the driver to send the generated PCL back to - * the client. - * - * XXX This function is barely spec'ed, much less implemented! - */ - -int -PclGetDocumentData( - XpContextPtr pCon, - ClientPtr client, - int maxBufferSize) -{ - PclContextPrivPtr pPriv = (PclContextPrivPtr) - dixLookupPrivate(&pCon->devPrivates, PclContextPrivateKey); - - pPriv->getDocClient = client; - pPriv->getDocBufSize = maxBufferSize; - - return Success; -} diff --git a/xorg-server/hw/xprint/pcl/PclSFonts.c b/xorg-server/hw/xprint/pcl/PclSFonts.c deleted file mode 100644 index 2474d90d7..000000000 --- a/xorg-server/hw/xprint/pcl/PclSFonts.c +++ /dev/null @@ -1,427 +0,0 @@ -/******************************************************************* -** -** ********************************************************* -** * -** * File: PclSFonts.c -** * -** * Contents: -** * Send Soft Font Download data to the specified -** * file pointer. -** * -** * Created: 3/4/96 -** * -** ********************************************************* -** -********************************************************************/ -/* -(c) Copyright 1996 Hewlett-Packard Company -(c) Copyright 1996 International Business Machines Corp. -(c) Copyright 1996 Sun Microsystems, Inc. -(c) Copyright 1996 Novell, Inc. -(c) Copyright 1996 Digital Equipment Corp. -(c) Copyright 1996 Fujitsu Limited -(c) Copyright 1996 Hitachi, Ltd. - -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. -*/ - - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#include -#include "Pcl.h" - -static char tmp1; -static short tmp2; -#define Put1byte(fp, x) tmp1=x; fwrite((char *)&tmp1, 1, 1, fp) -#define Put2bytes(fp, x) tmp2=x; fwrite((char *)&tmp2, 2, 1, fp) - -#define ESC 0x1b -#define SYMBOL_SET 277 - -static unsigned int PclDownloadChar(FILE *,PclCharDataPtr,unsigned short,unsigned char); -static unsigned int PclDownloadHeader(FILE *, PclFontDescPtr, unsigned short); - -#ifdef PCL_FONT_COMPRESS -static unsigned char *compress_bitmap_data(PclCharDataPtr, unsigned int *); -#endif /* PCL_FONT_COMPRESS */ - -/* -*- PclDownloadSoftFont8 -*- - * Send the Character Definition Command for 8-bit font - * **************************************************************************/ -void -PclDownloadSoftFont8( - FILE *fp, - PclSoftFontInfoPtr pSoftFontInfo, - PclFontHead8Ptr pfh, - PclCharDataPtr pcd, - unsigned char *code -) -{ - /* - * Check whether the font header has already been downloaded. - * If not, download it. - */ - - if ( !pfh->fid ) { - pfh->fid = pSoftFontInfo->cur_max_fid++; - PclDownloadHeader(fp, &(pfh->fd), pfh->fid); - } - pfh->index[*code] = *code; - PclDownloadChar(fp, pcd, pfh->fid, pfh->index[*code]); - -} - -/* -*- PclDownloadSoftFont16 -*- - * Send the Character Definition Command for 16 bit font - * **************************************************************************/ -void -PclDownloadSoftFont16( - FILE *fp, - PclSoftFontInfoPtr pSoftFontInfo, - PclFontHead16Ptr pfh, - PclCharDataPtr pcd, - unsigned char row, - unsigned char col -) -{ - /* - * Check whether the font header is already downloaded. - * If not, download it. - */ - - if ( !pfh->cur_cindex ) { - pfh->cur_fid = pSoftFontInfo->cur_max_fid++; - PclDownloadHeader(fp, &(pfh->fd), pfh->cur_fid); - } - pfh->index[row][col].fid = pfh->cur_fid; - pfh->index[row][col].cindex = pfh->cur_cindex++; - - PclDownloadChar(fp, pcd, pfh->index[row][col].fid, pfh->index[row][col].cindex); -} - -/* -*- PclCreateSoftFontInfo -*- - * Create and Initialize the structure for storing the information - * of the downloaded soft font. - * **************************************************************************/ -PclSoftFontInfoPtr -PclCreateSoftFontInfo(void) -{ -PclSoftFontInfoPtr pSoftFontInfo; - - pSoftFontInfo = (PclSoftFontInfoPtr)xalloc(sizeof(PclSoftFontInfoRec)); - if ( pSoftFontInfo == (PclSoftFontInfoPtr) NULL) - return (PclSoftFontInfoPtr) NULL; - pSoftFontInfo->phead8 = (PclFontHead8Ptr)NULL; - pSoftFontInfo->phead16 = (PclFontHead16Ptr)NULL; - pSoftFontInfo->pinfont = (PclInternalFontPtr)NULL; - pSoftFontInfo->cur_max_fid = 1; - return pSoftFontInfo; -} - -/* -*- PclDestroySoftFontInfo -*- - * Destroy the soft font information structure - * **************************************************************************/ -void -PclDestroySoftFontInfo( PclSoftFontInfoPtr pSoftFontInfo ) -{ -PclFontHead8Ptr pfh8, pfh8_next; -PclFontHead16Ptr pfh16, pfh16_next; -PclInternalFontPtr pin, pin_next; -unsigned char nindex_row; -int i; - - if ( pSoftFontInfo == (PclSoftFontInfoPtr) NULL ) - return; - - pfh8 = pSoftFontInfo->phead8; - while (pfh8 != (PclFontHead8Ptr) NULL) { - xfree(pfh8->fontname); - xfree(pfh8->index); - pfh8_next = pfh8->next; - xfree(pfh8); - pfh8 = pfh8_next; - } - - pfh16 = pSoftFontInfo->phead16; - while (pfh16 != (PclFontHead16Ptr) NULL) { - xfree(pfh16->fontname); - nindex_row = pfh16->lastRow - pfh16->firstRow + 1; - for (i=0; iindex[i]); - xfree(pfh16->index); - pfh16_next = pfh16->next; - xfree(pfh16); - pfh16 = pfh16_next; - } - - pin = pSoftFontInfo->pinfont; - while (pin != (PclInternalFontPtr) NULL) { - xfree(pin->fontname); - pin_next = pin->next; - xfree(pin); - pin = pin_next; - } - - xfree(pSoftFontInfo); -} - -/* -*- PclDownloadHeader -*- - * Send the Font Header Commnad. - * Format 0 : Font Header for Pcl Bitmapped Fonts - * Format 20 : Font Header for Resolution Specified Bitmapped Fonts - * **************************************************************************/ -static unsigned int -PclDownloadHeader( - FILE *fp, - PclFontDescPtr fd, - unsigned short fid -) -{ -int nbytes; - -#ifdef XP_PCL_LJ3 - nbytes = 64; -#else - nbytes = 68; -#endif /* XP_PCL_LJ3 */ - /* - * Font ID Command : Esc *c#D - * (Default = 0, Range = 0 - 32767) - */ - fprintf(fp, "%c*c%dD", ESC, fid); - - /* - * Font Header Commnad : Esc )s#W[font header data] - * (Default = 0, Range = 0 - 32767) - */ - fprintf(fp, "%c)s%dW", ESC, nbytes); - - Put2bytes(fp, nbytes); /* Font Description Size */ -#ifdef XP_PCL_LJ3 - Put1byte(fp, 0); /* Header Format */ -#else - Put1byte(fp, 20); /* Header Format */ -#endif /* XP_PCL_LJ3 */ - Put1byte(fp, 2); /* Font Type */ - Put2bytes(fp, 0); /* Style MSB */ - Put2bytes(fp, fd->ascent); /* BaseLine Position */ - Put2bytes(fp, fd->cellwidth); /* Cell Width */ - Put2bytes(fp, fd->cellheight); /* Cell Height */ - Put1byte(fp, 0); /* Orienation */ - Put1byte(fp, fd->spacing); /* Spacing */ - Put2bytes(fp, SYMBOL_SET); /* Symbol Set */ - Put2bytes(fp, fd->pitch*4); /* font pitch */ - Put2bytes(fp, fd->cellheight * 4); /* Height */ - Put2bytes(fp, 0); /* x-Height */ - Put1byte(fp, 0); /* width type (normal) */ - Put1byte(fp, 0); /* Style LSB */ - Put1byte(fp, 0); /* Stroke Weight */ - Put1byte(fp, 5); /* Typeface LSB */ - Put1byte(fp, 0); /* Typeface MSB */ - Put1byte(fp, 0); /* Serif Style */ - Put1byte(fp, 0); /* Quality */ - Put1byte(fp, 0); /* Placement */ - Put1byte(fp, 0); /* Underline Position */ - Put1byte(fp, 0); /* Underline Thickness */ - Put2bytes(fp, fd->cellheight*1.2); /* Text Height */ - Put2bytes(fp, fd->cellwidth * 4); /* Text Width */ - Put2bytes(fp, 0); /* First Code */ - Put2bytes(fp, 255); /* Last Code */ - Put1byte(fp, 0); /* Pitch Extend */ - Put1byte(fp, 0); /* Height Extend */ - Put2bytes(fp, 0); /* Cap Height */ - Put2bytes(fp, 0); /* Font Number 1 */ - Put2bytes(fp, 0); /* Font Number 2 */ - Put2bytes(fp, 0); /* Font Name */ - Put2bytes(fp, 0); /* Font Name */ - Put2bytes(fp, 0); /* Font Name */ - Put2bytes(fp, 0); /* Font Name */ - Put2bytes(fp, 0); /* Font Name */ - Put2bytes(fp, 0); /* Font Name */ - Put2bytes(fp, 0); /* Font Name */ - Put2bytes(fp, 0); /* Font Name */ - -#ifdef XP_PCL_LJ3 - return 64; -#else - Put2bytes(fp, 300); /* X Resolution */ - Put2bytes(fp, 300); /* Y Resolution */ - return 68; -#endif /* XP_PCL_LJ3 */ - -} - -/* -*- PclDownloadCharacter -*- - * Send the Character Definition Command. - * **************************************************************************/ -static unsigned int -PclDownloadChar( - FILE *fp, - PclCharDataPtr cd, - unsigned short fid, - unsigned char code -) -{ -unsigned int nbytes, n; -unsigned char *raster; - - /* - * Font ID Command : Esc *c#D - * (Default = 0, Range = 0 - 32767) - * Character Code Command : Esc *c#E - * (Default = 0, Range = 0 - 65535) - */ - fprintf(fp, "%c*c%dd%dE", ESC, fid, code); - - /* - * Character Definition Command : Esc (s#W[character descriptor and data] - * (Default = N/A, Range = 0 - 32767) - */ - - nbytes = n = cd->height * ((cd->width + 7) / 8); -#ifdef PCL_FONT_COMPRESS - raster = compress_bitmap_data(cd, &nbytes); -#else - raster = (unsigned char *)NULL; -#endif /* PCL_FONT_COMPRESS */ - fprintf(fp, "%c(s%dW", ESC, nbytes + 16); - - Put1byte(fp, 4); /* Format */ - Put1byte(fp, 0); /* Continuation */ - Put1byte(fp, 14); /* Descriptor Size */ - if (raster) { /* Class */ - Put1byte(fp, 2); - } else { - Put1byte(fp, 1); /* Class */ - } - Put2bytes(fp, 0); /* Orientation */ - Put2bytes(fp, cd->h_offset); /* left offset */ - Put2bytes(fp, cd->v_offset); /* top offset */ - Put2bytes(fp, cd->width); /* character width */ - Put2bytes(fp, cd->height); /* character height */ - Put2bytes(fp, cd->font_pitch*4); /* delta X */ - - /* - * Raster Character Data - */ - if (raster) { - fwrite(raster, nbytes, 1, fp); - xfree(raster); - } else - fwrite(cd->raster_top, nbytes, 1, fp); - - return n + 16; -} - - -#ifdef PCL_FONT_COMPRESS -/* -*- compress_bitmap_data -*- - * Compress Bitmap data - * **************************************************************************/ -static unsigned char * -compress_bitmap_data( - PclCharDataPtr cd, - unsigned int *nbytes -) -{ -unsigned int byte_width; -unsigned char *raster, *rptr_s, *rptr_e, *rptr_end; -unsigned char *tmp_s, *tmp_ptr; -unsigned char *p; -unsigned char cur, pixel; -unsigned int num; - -int i, j, k, w; - - byte_width = (cd->width + 7) / 8; - *nbytes = cd->height * byte_width; - - /* Create buffer for storing compress bitmap glyph */ - raster = (unsigned char *)xalloc(*nbytes); - rptr_s = raster; - rptr_e = raster; - rptr_end = raster + *nbytes; - - tmp_s = (unsigned char *)xalloc(cd->width * 8 + 2); - - p = cd->raster_top; - for (i=0; iheight; i++) { - tmp_ptr = tmp_s; - *tmp_ptr++ = 0; - if ( (*p>>7)&0x1 == 1 ) { - *tmp_ptr++ = 0; - cur = 1; - } else { - cur = 0; - } - num = 0; - for (j=0, w=0; jwidth; k++, w++) { - pixel = (*p>>(7-k))&0x1; - if ( pixel == cur ) { - num++; - } else { - cur = pixel; - while (num > 255) { - *tmp_ptr++ = 255; - *tmp_ptr++ = 0; - num -= 255; - } - *tmp_ptr++ = num; - num = 1; - } - } - } - if ( pixel == cur ) { - while (num > 255) { - *tmp_ptr++ = 255; - *tmp_ptr++ = 0; - num -= 255; - } - *tmp_ptr++ = num&0xff; - } else - *tmp_ptr++ = num; - - if ( ((rptr_e - rptr_s) == (tmp_ptr - tmp_s)) && - !memcmp(rptr_s+1, tmp_s+1, (tmp_ptr - tmp_s) - 1) ) - *rptr_s += 1; - else { - if ( rptr_e + (tmp_ptr - tmp_s) > rptr_end ) { - xfree(raster); - xfree(tmp_s); - return (unsigned char *)NULL; - } - memcpy (rptr_e, tmp_s, tmp_ptr - tmp_s); - rptr_s = rptr_e; - rptr_e = rptr_s + (tmp_ptr - tmp_s); - } - } - xfree(tmp_s); - *nbytes = rptr_e - raster; - - return raster; -} -#endif /* PCL_FONT_COMPRESS */ diff --git a/xorg-server/hw/xprint/pcl/PclSFonts.h b/xorg-server/hw/xprint/pcl/PclSFonts.h deleted file mode 100644 index c991263df..000000000 --- a/xorg-server/hw/xprint/pcl/PclSFonts.h +++ /dev/null @@ -1,115 +0,0 @@ -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#ifndef _PCLFONTS_H -#define _PCLFONTS_H - -/* -*-H-*- -****************************************************************************** -****************************************************************************** -* -* File: PclFonts.h -* Description: Send Soft Font Download data to the specified file pointer. -* -* -****************************************************************************** -****************************************************************************** -*/ -/* -(c) Copyright 1996 Hewlett-Packard Company -(c) Copyright 1996 International Business Machines Corp. -(c) Copyright 1996 Sun Microsystems, Inc. -(c) Copyright 1996 Novell, Inc. -(c) Copyright 1996 Digital Equipment Corp. -(c) Copyright 1996 Fujitsu Limited -(c) Copyright 1996 Hitachi, Ltd. - -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. -*/ - - -typedef struct { - unsigned char fid; /* sfont font ID */ - unsigned char cindex; /* character indext */ -} PclFontMapRec, PclFontMapPtr; - -typedef struct { - int h_offset; - int v_offset; - unsigned int width; - unsigned int height; - int font_pitch; - unsigned char *raster_top; -} PclCharDataRec, *PclCharDataPtr; - -typedef struct { - unsigned char spacing; - unsigned int pitch; - unsigned int cellheight; - unsigned int cellwidth; - int ascent; - int descent; -} PclFontDescRec, *PclFontDescPtr; - -typedef struct _PclFontHead8Rec { - char *fontname; - PclFontDescRec fd; - unsigned short fid; - unsigned char *index; - struct _PclFontHead8Rec *next; -} PclFontHead8Rec, *PclFontHead8Ptr; - -typedef struct _PclFontHead16Rec { - char *fontname; - PclFontDescRec fd; - unsigned short cur_fid; - unsigned char cur_cindex; - PclFontMapRec **index; - unsigned short firstCol; - unsigned short lastCol; - unsigned short firstRow; - unsigned short lastRow; - struct _PclFontHead16Rec *next; -} PclFontHead16Rec, *PclFontHead16Ptr; - -typedef struct _PclInternalFontRec { - char *fontname; - float pitch; - float height; - char *pcl_font_name; - char *spacing; - struct _PclInternalFontRec *next; -} PclInternalFontRec, *PclInternalFontPtr; - -typedef struct { - PclFontHead8Ptr phead8; - PclFontHead16Ptr phead16; - PclInternalFontPtr pinfont; - unsigned char cur_max_fid; -} PclSoftFontInfoRec, *PclSoftFontInfoPtr; - -#define MONOSPACE 0 -#define PROPSPACE 1 - -#endif /* _PCLFONTS_H */ diff --git a/xorg-server/hw/xprint/pcl/PclSpans.c b/xorg-server/hw/xprint/pcl/PclSpans.c deleted file mode 100644 index 4951899ab..000000000 --- a/xorg-server/hw/xprint/pcl/PclSpans.c +++ /dev/null @@ -1,137 +0,0 @@ -/******************************************************************* -** -** ********************************************************* -** * -** * File: PclSpans.c -** * -** * Contents: -** * Code to set and fill spans in the PCL DDX -** * -** * Created: 10/23/95 -** * -** ********************************************************* -** -********************************************************************/ -/* -(c) Copyright 1996 Hewlett-Packard Company -(c) Copyright 1996 International Business Machines Corp. -(c) Copyright 1996 Sun Microsystems, Inc. -(c) Copyright 1996 Novell, Inc. -(c) Copyright 1996 Digital Equipment Corp. -(c) Copyright 1996 Fujitsu Limited -(c) Copyright 1996 Hitachi, Ltd. - -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. -*/ - - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#include "Pcl.h" -#include "gcstruct.h" -#include "windowstr.h" - -void -PclFillSpans( - DrawablePtr pDrawable, - GCPtr pGC, - int nSpans, - DDXPointPtr pPoints, - int *pWidths, - int fSorted) -{ - char t[80]; - FILE *outFile; - int xoffset, yoffset; - xRectangle *rects, *r; - RegionPtr fillRegion, region = 0; - int i; - int nbox; - BoxPtr pbox; - - if( PclUpdateDrawableGC( pGC, pDrawable, &outFile ) == FALSE ) - return; - - /* - * Build a region out of the spans - */ - rects = (xRectangle *)xalloc( nSpans * sizeof( xRectangle ) ); - xoffset = pDrawable->x; - yoffset = pDrawable->y; - - for( i = 0, r = rects; i < nSpans; i++, r++ ) - { - r->x = pPoints[i].x + xoffset; - r->y = pPoints[i].y + yoffset; - r->width = pWidths[i]; - r->height = 1; - } - fillRegion = RECTS_TO_REGION( pGC->pScreen, nSpans, rects, ( fSorted ) ? - CT_YSORTED : CT_UNSORTED ); - - /* - * Intersect this region with the clip region. Whatever's left, - * should be filled. - */ - REGION_INTERSECT( pGC->pScreen, region, fillRegion, pGC->clientClip ); - - pbox = REGION_RECTS( region ); - nbox = REGION_NUM_RECTS( region ); - - /* Enter HP-GL/2 */ - SEND_PCL( outFile, "\27%0B" ); - - while( nbox ) - { - sprintf( t, "PU%d,%d;RR%d,%d;", pbox->x1, pbox->y1, - pbox->x2, pbox->y2 ); - SEND_PCL( outFile, t ); - - nbox--; - pbox++; - } - - /* Go back to PCL */ - SEND_PCL( outFile, "\27%0A" ); - - /* - * Clean up the temporary regions - */ - REGION_DESTROY( pGC->pScreen, fillRegion ); - REGION_DESTROY( pGC->pScreen, region ); - xfree( rects ); -} - -void -PclSetSpans( - DrawablePtr pDrawable, - GCPtr pGC, - char *pSrc, - DDXPointPtr pPoints, - int *pWidths, - int nSpans, - int fSorted) -{ -} diff --git a/xorg-server/hw/xprint/pcl/PclText.c b/xorg-server/hw/xprint/pcl/PclText.c deleted file mode 100644 index 324de3014..000000000 --- a/xorg-server/hw/xprint/pcl/PclText.c +++ /dev/null @@ -1,934 +0,0 @@ -/******************************************************************* -** -** ********************************************************* -** * -** * File: PclText.c -** * -** * Contents: -** * Character-drawing routines for the PCL DDX -** * -** * Created: 10/23/95 -** * -** ********************************************************* -** -********************************************************************/ -/* -(c) Copyright 1996 Hewlett-Packard Company -(c) Copyright 1996 International Business Machines Corp. -(c) Copyright 1996 Sun Microsystems, Inc. -(c) Copyright 1996 Novell, Inc. -(c) Copyright 1996 Digital Equipment Corp. -(c) Copyright 1996 Fujitsu Limited -(c) Copyright 1996 Hitachi, Ltd. - -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. -*/ - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#ifdef DO_TWO_BYTE_PCL -#include "iconv.h" -#endif /* DO_TWO_BYTE_PCL */ -#include "gcstruct.h" -#include "windowstr.h" - -#include "Pcl.h" -#include "migc.h" -#include - -#include "PclSFonts.h" - -static PclFontHead8Ptr makeFontHeader8 (FontPtr, PclSoftFontInfoPtr); -static PclFontHead16Ptr makeFontHeader16(FontPtr, PclSoftFontInfoPtr); -static PclInternalFontPtr makeInternalFont(FontPtr, PclSoftFontInfoPtr); -static void fillFontDescData(FontPtr, PclFontDescPtr, unsigned int); -static PclCharDataPtr fillCharDescData(PclCharDataPtr, CharInfoPtr); -static void output_text(FILE *, PclContextPrivPtr, unsigned char); -static char * getFontName(FontPtr); -static char isInternal(FontPtr); -static void selectInternalFont(FILE *, PclInternalFontPtr, int); -static void selectSize(FILE *, PclContextPrivPtr, PclInternalFontPtr); -static char t[80]; - -#ifdef DO_TWO_BYTE_PCL -static void code_conv(PclSoftFontInfoPtr, FontPtr, char *, char *); -#endif /* DO_TWO_BYTE_PCL */ - -#define ESC 0x1b -#define PER 0x25 -#define ETX 0x3 -#define ETX_ALT 0x2a -#define DOWNLOAD_FONT 0 -#define INTERNAL_FONT 1 - -int -PclPolyText8( - DrawablePtr pDrawable, - GCPtr pGC, - int x, - int y, - int count, - char *string) -{ -XpContextPtr pCon; -PclContextPrivPtr pConPriv; -unsigned long n, i; -int w; -CharInfoPtr charinfo[255], *chinfo; - -FILE *outFile; -PclSoftFontInfoPtr pSoftFontInfo; -PclFontHead8Ptr pfh8 = (PclFontHead8Ptr)NULL; -PclInternalFontPtr pin = (PclInternalFontPtr)NULL; -PclCharDataRec cd; -unsigned char *p; -unsigned char last_fid; -int max_ascent, max_descent; - -int nbox; -BoxPtr pbox; -BoxRec box; -RegionPtr drawRegion, region; -char font_type; - - if( PclUpdateDrawableGC( pGC, pDrawable, &outFile ) == FALSE ) - return x; - - GetGlyphs(pGC->font, (unsigned long)count, (unsigned char *)string, - Linear8Bit, &n, charinfo); - if ( n == 0 ) - return x; - - pCon = PclGetContextFromWindow( (WindowPtr)pDrawable ); - pConPriv = (PclContextPrivPtr) - dixLookupPrivate(&pCon->devPrivates, PclContextPrivateKey); - pSoftFontInfo = pConPriv->pSoftFontInfo; - font_type = isInternal(pGC->font); - if ( font_type == DOWNLOAD_FONT ) { - /* - * Create Soft Font Header Information - */ - pfh8 = makeFontHeader8(pGC->font, pSoftFontInfo); - if (!pfh8) - return x; - - /* - * exec Soft Font Downloading - */ - p = (unsigned char *)string; - for (i=0, chinfo=charinfo; iindex[*p] ) { - fillCharDescData(&cd, *chinfo); - PclDownloadSoftFont8(pConPriv->pJobFile, pSoftFontInfo, - pfh8, &cd, p); - xfree(cd.raster_top); - } - } - - /* - * print characters - */ - MACRO_START( outFile, pConPriv ); - sprintf(t, "\033%%0B;PU%d,%dPD;TD1;DT%c,1;", - x + pDrawable->x, y + pDrawable->y + pGC->font->info.fontAscent, - ETX); - SAVE_PCL( outFile, pConPriv, t ); - SAVE_PCL_COUNT( outFile, pConPriv, "FI0;SS;LB", 9 ); - - last_fid = 0; - w = 0; - max_ascent = charinfo[0]->metrics.ascent; - max_descent = charinfo[0]->metrics.descent; - p = (unsigned char *)string; - for (i=0, chinfo=charinfo; ifid ) { - sprintf(t, "%c;FI%d;SS;LB", ETX, pfh8->fid); - SAVE_PCL( outFile, pConPriv, t ); - - last_fid = pfh8->fid; - } - - output_text(outFile, pConPriv, pfh8->index[*p]); - - w += (*chinfo)->metrics.characterWidth; - max_ascent = MAX(max_ascent, (*chinfo)->metrics.ascent); - max_descent = MAX(max_descent, (*chinfo)->metrics.descent); - } - - sprintf(t, "%c", ETX); - SAVE_PCL_COUNT( outFile, pConPriv, t, 1 ); - sprintf(t, "TD0;\033%%1A"); - SAVE_PCL( outFile, pConPriv, t ); - MACRO_END( outFile ); - - } else { - int fid = 0; - - pin = makeInternalFont(pGC->font, pSoftFontInfo); - if (!pin) - return x; - - selectInternalFont(outFile, pin, fid); - - /* - * print characters - */ - MACRO_START( outFile, pConPriv ); - sprintf(t, "\033%%0B;PU%d,%dPD;TD1;DT%c,1;", - x + pDrawable->x, y + pDrawable->y + pGC->font->info.fontAscent, - ETX); - SAVE_PCL( outFile, pConPriv, t ); - selectSize(outFile, pConPriv, pin); - SAVE_PCL_COUNT( outFile, pConPriv, "FI0;SS;LB", 9 ); - - w = 0; - max_ascent = charinfo[0]->metrics.ascent; - max_descent = charinfo[0]->metrics.descent; - p = (unsigned char *)string; - for (i=0, chinfo=charinfo; imetrics.characterWidth; - max_ascent = MAX(max_ascent, (*chinfo)->metrics.ascent); - max_descent = MAX(max_descent, (*chinfo)->metrics.descent); - } - sprintf(t, "%c", ETX); - SAVE_PCL_COUNT( outFile, pConPriv, t, 1 ); - sprintf(t, "TD0;\033%%1A"); - SAVE_PCL( outFile, pConPriv, t ); - MACRO_END( outFile ); - } - - /* - * Convert the collection of rectangles into a proper region, then - * intersect it with the clip region. - */ - box.x1 = x + pDrawable->x; - box.y1 = y - max_ascent + pDrawable->y + pGC->font->info.fontAscent; - box.x2 = x + w + pDrawable->x; - box.y2 = y + max_descent + pDrawable->y + pGC->font->info.fontAscent; - - drawRegion = miRegionCreate( &box, 0 ); - region = miRegionCreate( NULL, 0 ); - miIntersect( region, drawRegion, pGC->pCompositeClip ); - - /* - * For each rectangle in the clip region, set the HP-GL/2 "input - * window" and render the entire polyline to it. - */ - pbox = REGION_RECTS( region ); - nbox = REGION_NUM_RECTS( region ); - - PclSendData(outFile, pConPriv, pbox, nbox, 1.0); - - /* - * Clean up the temporary regions - */ - REGION_DESTROY( pGC->pScreen, drawRegion ); - REGION_DESTROY( pGC->pScreen, region ); - - return x+w; -} - -int -PclPolyText16( - DrawablePtr pDrawable, - GCPtr pGC, - int x, - int y, - int count, - unsigned short *string) -{ -XpContextPtr pCon; -PclContextPrivPtr pConPriv; -unsigned long n, i; -int w; -CharInfoPtr charinfo[255], *chinfo; - -FILE *outFile; -PclSoftFontInfoPtr pSoftFontInfo; -PclFontHead16Ptr pfh16 = (PclFontHead16Ptr)NULL; -PclCharDataRec cd; -FontInfoPtr pfi; -unsigned char row, col; -char *p; -unsigned char last_fid; -int max_ascent, max_descent; -unsigned short def; - -int nbox; -BoxPtr pbox; -BoxRec box; -RegionPtr drawRegion, region; -char font_type; - - if( PclUpdateDrawableGC( pGC, pDrawable, &outFile ) == FALSE ) - return x; - - GetGlyphs(pGC->font, (unsigned long)count, (unsigned char *)string, - (FONTLASTROW(pGC->font) == 0) ? Linear16Bit : TwoD16Bit, - &n, charinfo); - - pCon = PclGetContextFromWindow( (WindowPtr)pDrawable ); - pConPriv = (PclContextPrivPtr) - dixLookupPrivate(&pCon->devPrivates, PclContextPrivateKey); - pSoftFontInfo = pConPriv->pSoftFontInfo; - - font_type = isInternal(pGC->font); - if ( font_type == DOWNLOAD_FONT ) { - /* - * Create Soft Font Header Information - */ - pfh16 = makeFontHeader16(pGC->font, pSoftFontInfo); - if (!pfh16) - return x; - - /* - * exec Soft Font Downloading - */ - pfi = (FontInfoRec *)&pGC->font->info; - p = (char *)string; - for (i=0, p=(char *)string, chinfo=charinfo; ifirstRow <= row) && (row <= pfi->lastRow) - && (pfi->firstCol <= col) && (col <= pfi->lastCol) ) { - row = row - pfi->firstRow; - col = col - pfi->firstCol; - } else { - def = pfi->defaultCh; - row = ((def>>8)&0xff) - pfi->firstRow; - col = (def&0xff) - pfi->firstCol; - } - if ( !pfh16->index[row][col].fid ) { - fillCharDescData(&cd, *chinfo); - PclDownloadSoftFont16(pConPriv->pJobFile, pSoftFontInfo, - pfh16, &cd, row, col); - xfree(cd.raster_top); - } - } - - /* - * print characters - */ - MACRO_START( outFile, pConPriv ); - sprintf(t, "\033%%0B;PU%d,%dPD;TD1;DT%c,1;", - x + pDrawable->x, y + pDrawable->y + pGC->font->info.fontAscent, - ETX); - SAVE_PCL( outFile, pConPriv, t ); - SAVE_PCL_COUNT( outFile, pConPriv, "FI0;SS;LB", 9 ); - - last_fid = 0; - - w = 0; - max_ascent = charinfo[0]->metrics.ascent; - max_descent = charinfo[0]->metrics.descent; - for (i=0, p=(char *)string, chinfo=charinfo; ifirstRow <= row) && (row <= pfi->lastRow) - && (pfi->firstCol <= col) && (col <= pfi->lastCol) ) { - row = row - pfi->firstRow; - col = col - pfi->firstCol; - } else { - def = pfi->defaultCh; - row = ((def>>8)&0xff) - pfi->firstRow; - col = (def&0xff) - pfi->firstCol; - } - if ( last_fid != pfh16->index[row][col].fid ) { - sprintf(t, "%cFI%d;SS;LB", - ETX, pfh16->index[row][col].fid); - SAVE_PCL( outFile, pConPriv, t ); - last_fid = pfh16->index[row][col].fid; - } - - output_text(outFile, pConPriv, pfh16->index[row][col].cindex); - - w += (*chinfo)->metrics.characterWidth; - max_ascent = MAX(max_ascent, (*chinfo)->metrics.ascent); - max_descent = MAX(max_descent, (*chinfo)->metrics.descent); - } - sprintf(t, "%c", ETX); - SAVE_PCL_COUNT( outFile, pConPriv, t, 1 ); - sprintf(t, "TD0;\033%%1A"); - SAVE_PCL( outFile, pConPriv, t ); - MACRO_END( outFile ); - - } else { -#ifdef DO_TWO_BYTE_PCL - PclInternalFontPtr pin; - int fid = 0; - - pin = makeInternalFont(pGC->font, pSoftFontInfo); - if (!pin) - return x; - - selectInternalFont(outFile, pin, fid); - fprintf(outFile, "%c&t31P", ESC); - - /* - * print characters - */ - MACRO_START( outFile, pConPriv ); - sprintf(t, "\033%%0B;PU%d,%dPD;TD1;DT%c,1;", - x + pDrawable->x, y + pDrawable->y + pGC->font->info.fontAscent, - ETX); - SAVE_PCL( outFile, pConPriv, t ); - sprintf(t, "TD0;\033%%1A"); - SAVE_PCL( outFile, pConPriv, t ); - - w = 0; - last_fid = 0; - max_ascent = charinfo[0]->metrics.ascent; - max_descent = charinfo[0]->metrics.descent; - for (i=0, p=(char *)string, chinfo=charinfo; ifont, (char *)p, tobuf); - fprintf(outFile, "%c%c", tobuf[0], tobuf[1]); - - w += (*chinfo)->metrics.characterWidth; - max_ascent = MAX(max_ascent, (*chinfo)->metrics.ascent); - max_descent = MAX(max_descent, (*chinfo)->metrics.descent); - } - MACRO_END( outFile ); -#else - return x; -#endif /* DO_TWO_BYTE_PCL */ - } - - /* - * Convert the collection of rectangles into a proper region, then - * intersect it with the clip region. - */ - box.x1 = x + pDrawable->x; - box.y1 = y - max_ascent + pDrawable->y + pGC->font->info.fontAscent; - box.x2 = x + w + pDrawable->x; - box.y2 = y + max_descent + pDrawable->y + pGC->font->info.fontAscent; - - drawRegion = miRegionCreate( &box, 0 ); - region = miRegionCreate( NULL, 0 ); - miIntersect( region, drawRegion, pGC->pCompositeClip ); - - /* - * For each rectangle in the clip region, set the HP-GL/2 "input - * window" and render the entire polyline to it. - */ - pbox = REGION_RECTS( region ); - nbox = REGION_NUM_RECTS( region ); - - PclSendData(outFile, pConPriv, pbox, nbox, 1.0); - - /* - * Clean up the temporary regions - */ - REGION_DESTROY( pGC->pScreen, drawRegion ); - REGION_DESTROY( pGC->pScreen, region ); - - return x+w; -} - -void -PclImageText8( - DrawablePtr pDrawable, - GCPtr pGC, - int x, int y, - int count, - char *string) -{ -} - -void -PclImageText16( - DrawablePtr pDrawable, - GCPtr pGC, - int x, - int y, - int count, - unsigned short *string) -{ -} - -void -PclImageGlyphBlt( - DrawablePtr pDrawable, - GCPtr pGC, - int x, int y, - unsigned int nGlyphs, - CharInfoPtr *pCharInfo, - pointer pGlyphBase) -{ -} - -void -PclPolyGlyphBlt( - DrawablePtr pDrawable, - GCPtr pGC, - int x, int y, - unsigned int nGlyphs, - CharInfoPtr *pCharInfo, - pointer pGlyphBase) -{ -} - -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -static PclFontHead8Ptr -makeFontHeader8(FontPtr pfont, PclSoftFontInfoPtr pSoftFontInfo) -{ -PclFontHead8Ptr phead8 = pSoftFontInfo->phead8; -PclFontHead8Ptr pfh8 = phead8; -PclFontHead8Ptr prev = (PclFontHead8Ptr)NULL; -FontInfoPtr pfi; -char *fontname; -unsigned char nindex; -int i; -unsigned long n; -CharInfoPtr charinfo[1]; -unsigned int space_width; - - if (pSoftFontInfo == (PclSoftFontInfoPtr) NULL) - return (PclFontHead8Ptr)NULL; - - /* - * Verify it has already been created, if so, return it. - */ - if ( (fontname = getFontName(pfont)) == (char *)NULL) - return (PclFontHead8Ptr)NULL; - - while (pfh8 != (PclFontHead8Ptr) NULL) { - if (!strcmp(pfh8->fontname, fontname)) - return pfh8; - prev = pfh8; - pfh8 = pfh8->next; - } - - /* - * Create Font Header Information - */ - pfh8 = (PclFontHead8Ptr)xalloc(sizeof(PclFontHead8Rec)); - if (pfh8 == (PclFontHead8Ptr)NULL) - return (PclFontHead8Ptr)NULL; - - pfi = (FontInfoRec *)&pfont->info; - GetGlyphs(pfont, 1, (unsigned char *)&pfi->defaultCh, - Linear8Bit, &n, charinfo); - if ( n ) - space_width = charinfo[0]->metrics.characterWidth; - else - space_width = FONTMAXBOUNDS(pfont,characterWidth); - - fillFontDescData(pfont, &(pfh8->fd), space_width); - pfh8->fid = 0; - pfh8->fontname = (char *)xalloc(strlen(fontname) + 1); - if (pfh8->fontname == (char *)NULL) { - xfree(pfh8); - return (PclFontHead8Ptr) NULL; - } - strcpy(pfh8->fontname, fontname); - - nindex = 0xff; - pfh8->index = (unsigned char *)xalloc(nindex); - if ( pfh8->index == (unsigned char *) NULL ) { - xfree(pfh8->fontname); - xfree(pfh8); - return (PclFontHead8Ptr) NULL; - } - - for (i=0; i<=nindex; i++) - pfh8->index[i] = 0x0; - - pfh8->next = (PclFontHead8Ptr)NULL; - - if ( prev == (PclFontHead8Ptr) NULL) - pSoftFontInfo->phead8 = pfh8; - else - prev->next = pfh8; - - return pfh8; -} - -static PclFontHead16Ptr -makeFontHeader16(FontPtr pfont, PclSoftFontInfoPtr pSoftFontInfo) -{ -PclFontHead16Ptr phead16 = pSoftFontInfo->phead16; -PclFontHead16Ptr pfh16 = phead16; -PclFontHead16Ptr prev = (PclFontHead16Ptr)NULL; -PclFontMapRec ** index; -FontInfoPtr pfi; -char *fontname; -unsigned char nindex_row, nindex_col; -int i, j; -unsigned long n; -CharInfoPtr charinfo[1]; -unsigned int space_width; - - if (pSoftFontInfo == (PclSoftFontInfoPtr) NULL) - return (PclFontHead16Ptr)NULL; - - /* - * Verify it has already been created, if so, return it. - */ - if ( (fontname = getFontName(pfont)) == (char *)NULL) - return (PclFontHead16Ptr)NULL; - - while (pfh16 != (PclFontHead16Ptr) NULL) { - if (!strcmp(pfh16->fontname, fontname)) - return pfh16; - prev = pfh16; - pfh16 = pfh16->next; - } - - /* - * Create Font Header Information - */ - pfh16 = (PclFontHead16Ptr)xalloc(sizeof(PclFontHead16Rec)); - if (pfh16 == (PclFontHead16Ptr)NULL) - return (PclFontHead16Ptr)NULL; - - pfi = (FontInfoRec *)&pfont->info; - GetGlyphs(pfont, 1, (unsigned char *)&pfi->defaultCh, - (FONTLASTROW(pfont) == 0) ? Linear16Bit : TwoD16Bit, - &n, charinfo); - - if ( n ) - space_width = charinfo[0]->metrics.characterWidth; - else - space_width = FONTMAXBOUNDS(pfont,characterWidth); - - fillFontDescData(pfont, &(pfh16->fd), space_width); - pfh16->cur_fid = 0; - pfh16->cur_cindex = 0; - pfh16->fontname = (char *)xalloc(strlen(fontname) + 1); - if (pfh16->fontname == (char *)NULL) { - xfree(pfh16); - return (PclFontHead16Ptr) NULL; - } - strcpy(pfh16->fontname, fontname); - - pfi = (FontInfoRec *)&pfont->info; - nindex_col = pfi->lastCol - pfi->firstCol + 1; - nindex_row = pfi->lastRow - pfi->firstRow + 1; - index = (PclFontMapRec **)xalloc(sizeof(PclFontMapRec *)*nindex_row); - if (index == (PclFontMapRec **)NULL) { - xfree(pfh16->fontname); - xfree(pfh16); - return (PclFontHead16Ptr) NULL; - } - for (i=0; ifontname); - xfree(pfh16); - return (PclFontHead16Ptr) NULL; - } - for (j=0; j<=nindex_col; j++) - index[i][j].fid = 0x0; - } - - pfh16->index = index; - pfh16->firstCol = pfi->firstCol; - pfh16->lastCol = pfi->lastCol; - pfh16->firstRow = pfi->firstRow; - pfh16->lastRow = pfi->lastRow; - pfh16->next = (PclFontHead16Ptr)NULL; - - if ( prev == (PclFontHead16Ptr) NULL) - pSoftFontInfo->phead16 = pfh16; - else - prev->next = pfh16; - - return pfh16; -} - -static PclInternalFontPtr -makeInternalFont(FontPtr pfont, PclSoftFontInfoPtr pSoftFontInfo) -{ -PclInternalFontPtr pinfont = pSoftFontInfo->pinfont; -PclInternalFontPtr pin = pinfont; -PclInternalFontPtr prev = (PclInternalFontPtr)NULL; -FontPropPtr props; -FontInfoPtr pfi; -char *fontname; -Atom xa_pcl_font_name, xa_res, xa_ave_width, xa_spacing; -int width = 1; -int mask; -int i; - - if (pSoftFontInfo == (PclSoftFontInfoPtr) NULL) - return (PclInternalFontPtr)NULL; - - /* - * Verify it has already been created, if so, return it. - */ - if ( (fontname = getFontName(pfont)) == (char *)NULL) - return (PclInternalFontPtr)NULL; - - while (pin != (PclInternalFontPtr) NULL) { - if (!strcmp(pin->fontname, fontname)) - return pin; - prev = pin; - pin = pin->next; - } - - /* - * Create Internal Font Information - */ - pin = (PclInternalFontPtr)xalloc(sizeof(PclInternalFontRec)); - if (pin == (PclInternalFontPtr)NULL) - return (PclInternalFontPtr)NULL; - - pin->fontname = (char *)xalloc(strlen(fontname) + 1); - if (pin->fontname == (char *)NULL) { - xfree(pin); - return (PclInternalFontPtr) NULL; - } - strcpy(pin->fontname, fontname); - - xa_pcl_font_name = MakeAtom("PCL_FONT_NAME", strlen("PCL_FONT_NAME"), TRUE); - xa_res = MakeAtom("RESOLUTION_X", strlen("RESOLUTION_X"), TRUE); - xa_ave_width = MakeAtom("AVERAGE_WIDTH", strlen("AVERAGE_WIDTH"), TRUE); - xa_spacing = MakeAtom("SPACING", strlen("SPACING"), TRUE); - pfi = (FontInfoRec *)&pfont->info; - props = pfi->props; - - mask = 0; - for (i=0; inprops; i++, props++) { - if ( (Atom) props->name == xa_pcl_font_name ) { - pin->pcl_font_name = NameForAtom(props->value); - mask |= 0x1; - } else if ( props->name == XA_POINT_SIZE ) { - pin->height = (float) props->value / 10.0; - mask |= 0x2; - } else if ( (Atom) props->name == xa_res ) { - mask |= 0x4; - } else if ( (Atom) props->name == xa_ave_width ) { - width = (int) props->value / 10; - mask |= 0x8; - } else if ( (Atom) props->name == xa_spacing ) { - pin->spacing = NameForAtom(props->value); - mask |= 0x10; - } - } - if ( mask != 0x1f ) { - xfree(pin->fontname); - xfree(pin); - return (PclInternalFontPtr) NULL; - } - - if ( *pin->spacing != 'P' || *pin->spacing != 'p' ) { - if (width == 0) - width = 1; - pin->pitch = (float) 300.0 / width; /* Hard-Code: Resolution is 300 */ - } - - pin->next = (PclInternalFontPtr)NULL; - if ( prev == (PclInternalFontPtr) NULL) - pSoftFontInfo->pinfont = pin; - else - prev->next = pin; - - return pin; -} - -static void -fillFontDescData(FontPtr pfont, PclFontDescPtr pfd, unsigned int space) -{ -FontInfoPtr pfi; - - pfi = (FontInfoRec *)&pfont->info; - - if ( (pfi->maxbounds.leftSideBearing == pfi->minbounds.leftSideBearing) - && (pfi->maxbounds.rightSideBearing == pfi->minbounds.rightSideBearing) - && (pfi->maxbounds.characterWidth == pfi->minbounds.characterWidth) - && (pfi->maxbounds.ascent == pfi->minbounds.ascent) - && (pfi->maxbounds.descent == pfi->minbounds.descent) - ) - pfd->spacing = MONOSPACE; - else - pfd->spacing = PROPSPACE; - - pfd->pitch = space; - pfd->cellheight = FONTMAXBOUNDS(pfont,ascent) - + FONTMAXBOUNDS(pfont,descent); - pfd->cellwidth = FONTMAXBOUNDS(pfont,rightSideBearing) - - FONTMINBOUNDS(pfont,leftSideBearing); - pfd->ascent = FONTMAXBOUNDS(pfont,ascent); /*FONTASCENT(pfont);*/ - pfd->descent = FONTMAXBOUNDS(pfont,descent); /*FONTDESCENT(pfont);*/ -} - -static PclCharDataPtr -fillCharDescData(PclCharDataPtr pcd, CharInfoPtr pci) -{ -unsigned int byte_width; -unsigned char *p; -register int nbyGlyphWidth; -unsigned char *pglyph, *pg; -unsigned int i, j; - - pcd->h_offset = pci->metrics.leftSideBearing; - pcd->v_offset = pci->metrics.ascent; - pcd->width = pci->metrics.rightSideBearing - - pci->metrics.leftSideBearing; - pcd->height = pci->metrics.ascent + pci->metrics.descent; - pcd->font_pitch = pci->metrics.characterWidth; - - byte_width = (pcd->width + 7)/8; - pcd->raster_top = (unsigned char *)xalloc(byte_width * pcd->height); - if (pcd->raster_top == (unsigned char *)NULL) - return (PclCharDataPtr)NULL; - - p = pcd->raster_top; - nbyGlyphWidth = GLYPHWIDTHBYTESPADDED(pci); - pglyph = FONTGLYPHBITS(pglyphBase, pci); - for (i=0; iheight; i++) { - pg = pglyph + nbyGlyphWidth * i; - for (j=0; jinfo; - props = pfi->props; - fontname = (char *) NULL; - for (i=0; inprops; i++, props++) { - if ( props->name == XA_FONT ) { - fontname = (char *)NameForAtom(props->value); - break; - } - } - return fontname; -} - -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ -/* Internal Font Selection */ -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -static char -isInternal(FontPtr pfont) -{ -int i; -FontInfoPtr pfi; -FontPropPtr props; -Atom dest; - - dest = MakeAtom("PRINTER_RESIDENT_FONT", strlen("PRINTER_RESIDENT_FONT"), TRUE); - - pfi = (FontInfoRec *)&pfont->info; - props = pfi->props; - for (i=0; inprops; i++, props++) { - if ( (Atom) props->name == dest && props->value == 2 ) - return INTERNAL_FONT; - } - return DOWNLOAD_FONT; -} - -static void -selectInternalFont(FILE *outFile, PclInternalFontPtr pin, int fid) -{ - fprintf(outFile, "%c*c%dD", ESC, fid); - if ( *pin->spacing == 'P' || *pin->spacing == 'p' ) - fprintf(outFile, pin->pcl_font_name, pin->height); - else - fprintf(outFile, pin->pcl_font_name, pin->pitch); - fprintf(outFile, "%c*c6F", ESC); -} - -static void -selectSize(FILE *outFile, - PclContextPrivPtr pConPriv, - PclInternalFontPtr pin) -{ - if ( *pin->spacing == 'P' || *pin->spacing == 'p' ) { - sprintf(t, "SD4,%f;", pin->height); - SAVE_PCL( outFile, pConPriv, t ); - } else { - sprintf(t, "SD3,%f;", pin->pitch); - SAVE_PCL( outFile, pConPriv, t ); - } - return; -} - -#ifdef DO_TWO_BYTE_PCL -static void -code_conv( - PclSoftFontInfoPtr pSoftFontInfo, - FontPtr pfont, - char *from, - char *to -) -{ -iconv_t cd; -char frombuf[9], *fromptr; -size_t inbyte = 5, outbyte=2; - - fromptr = frombuf; - frombuf[0] = 0x1b; /* Esc */ - frombuf[1] = 0x24; /* $ */ - frombuf[2] = 0x42; /* B */ - frombuf[3] = *from; - frombuf[4] = *(from+1); - frombuf[5] = 0x1b; /* Esc */ - frombuf[6] = 0x28; /* ( */ - frombuf[7] = 0x4a; /* J */ - frombuf[8] = 0x0; - if ((cd = iconv_open("sjis", "jis")) == (iconv_t)(-1)) { - *to = (unsigned char)NULL; - return; - } - - if ( iconv(cd, &fromptr, &inbyte, &to, &outbyte) == -1 ) - *to = (unsigned char)NULL; - - iconv_close(cd); - return; -} -#endif /* DO_TWO_BYTE_PCL */ diff --git a/xorg-server/hw/xprint/pcl/PclWindow.c b/xorg-server/hw/xprint/pcl/PclWindow.c deleted file mode 100644 index 950933e49..000000000 --- a/xorg-server/hw/xprint/pcl/PclWindow.c +++ /dev/null @@ -1,209 +0,0 @@ -/******************************************************************* -** -** ********************************************************* -** * -** * File: PclWindow.c -** * -** * Contents: -** * Window code for Pcl driver. -** * -** * Created: 2/02/95 -** * -** ********************************************************* -** -********************************************************************/ -/* -(c) Copyright 1996 Hewlett-Packard Company -(c) Copyright 1996 International Business Machines Corp. -(c) Copyright 1996 Sun Microsystems, Inc. -(c) Copyright 1996 Novell, Inc. -(c) Copyright 1996 Digital Equipment Corp. -(c) Copyright 1996 Fujitsu Limited -(c) Copyright 1996 Hitachi, Ltd. - -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. -*/ - - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#include -#include -#include -#include - -#include "mistruct.h" -#include "regionstr.h" -#include "windowstr.h" -#include "gcstruct.h" - -#include "Pcl.h" - -#if 0 -/* - * The following list of strings defines the properties which will be - * placed on the screen's root window if the property was defined in - * the start-up configuration resource database. - */ -static /* const */ char *propStrings[] = { - DT_PRINT_JOB_HEADER, - DT_PRINT_JOB_TRAILER, - DT_PRINT_JOB_COMMAND, /* old-obsolete */ - DT_PRINT_JOB_EXEC_COMMAND, - DT_PRINT_JOB_EXEC_OPTIONS, - DT_PRINT_PAGE_HEADER, - DT_PRINT_PAGE_TRAILER, - DT_PRINT_PAGE_COMMAND, - (char *)NULL -}; -#endif - -/* - * PclCreateWindow - watch for the creation of the root window. - * When it's created, register the screen with the print extension, - * and put the default command/header properties on it. - */ -/*ARGSUSED*/ - -Bool -PclCreateWindow( - register WindowPtr pWin) -{ - PclWindowPrivPtr pPriv; - -#if 0 - Bool status = Success; - ScreenPtr pScreen = pWin->drawable.pScreen; - PclScreenPrivPtr pScreenPriv = (PclScreenPrivPtr) - dixLookupPrivate(&pScreen->devPrivates, PclScreenPrivateKey); - PclWindowPrivPtr pWinPriv = (PclWindowPrivPtr) - dixLookupPrivate(&pWin->devPrivates, PclWindowPrivateKey); - - /* - * Initialize this window's private struct. - */ - pWinPriv->jobFileName = (char *)NULL; - pWinPriv->pJobFile = (FILE *)NULL; - pWinPriv->pageFileName = (char *)NULL; - pWinPriv->pPageFile = (FILE *)NULL; - - if(pWin->parent == (WindowPtr)NULL) /* root window? */ - { - Atom propName; /* type = XA_STRING */ - char *propVal; - int i; - XrmDatabase rmdb = pScreenPriv->resDB; - - /* - * Put the defaults spec'd in the config files in properties on this - * screen's root window. - */ - for(i = 0; propStrings[i] != (char *)NULL; i++) - { - if((propVal = _DtPrintGetPrinterResource(pWin, rmdb, - propStrings[i])) != - (char *)NULL) - { - propName = MakeAtom(propStrings[i], strlen(propStrings[i]), - TRUE); - dixChangeWindowProperty(serverClient, pWin, propName, XA_STRING, - 8, PropModeReplace, strlen(propVal), - (pointer)propVal, FALSE); - xfree(propVal); - } - } - } - - return status; -#endif - - /* - * Invalidate the window's private print context. - */ - pPriv = (PclWindowPrivPtr) - dixLookupPrivate(&pWin->devPrivates, PclWindowPrivateKey); - pPriv->validContext = 0; - - return TRUE; -} - - -/*ARGSUSED*/ -Bool PclMapWindow( - WindowPtr pWindow) -{ - return TRUE; -} - -/*ARGSUSED*/ -Bool -PclPositionWindow( - register WindowPtr pWin, - int x, - int y) -{ - return TRUE; -} - -/*ARGSUSED*/ -Bool -PclUnmapWindow( - WindowPtr pWindow) -{ - return TRUE; -} - -/*ARGSUSED*/ -void -PclCopyWindow( - WindowPtr pWin, - DDXPointRec ptOldOrg, - RegionPtr prgnSrc) -{ -} - -/*ARGSUSED*/ -Bool -PclChangeWindowAttributes( - register WindowPtr pWin, - register unsigned long mask) -{ - if( pWin->backingStore != NotUseful ) - { - pWin->backingStore = NotUseful; - mask |= CWBackingStore; - } - - return TRUE; -} - -/*ARGSUSED*/ -Bool -PclDestroyWindow( - WindowPtr pWin) -{ - return TRUE; -} - diff --git a/xorg-server/hw/xprint/pcl/Pclmap.h b/xorg-server/hw/xprint/pcl/Pclmap.h deleted file mode 100644 index 18ac31d90..000000000 --- a/xorg-server/hw/xprint/pcl/Pclmap.h +++ /dev/null @@ -1,210 +0,0 @@ -/* -(c) Copyright 1996 Hewlett-Packard Company -(c) Copyright 1996 International Business Machines Corp. -(c) Copyright 1996 Sun Microsystems, Inc. -(c) Copyright 1996 Novell, Inc. -(c) Copyright 1996 Digital Equipment Corp. -(c) Copyright 1996 Fujitsu Limited -(c) Copyright 1996 Hitachi, Ltd. - -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. -*/ - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#ifndef _PCLMAP_H_ -#define _PCLMAP_H_ - -#ifdef XP_PCL_COLOR -#ifdef CATNAME -#undef CATNAME -#endif -#if !defined(UNIXCPP) || defined(ANSICPP) -#define PCLNAME(subname) PclCr##subname -#define CATNAME(prefix,subname) prefix##Color##subname -#else -#define PCLNAME(subname) PclCr/**/subname -#define CATNAME(prefix,subname) prefix/**/Color/**/subname -#endif -#endif /* XP_PCL_COLOR */ - -#ifdef XP_PCL_MONO -#ifdef CATNAME -#undef CATNAME -#endif -#if !defined(UNIXCPP) || defined(ANSICPP) -#define PCLNAME(subname) PclMn##subname -#define CATNAME(prefix,subname) prefix##Mono##subname -#else -#define PCLNAME(subname) PclMn/**/subname -#define CATNAME(prefix,subname) prefix/**/Mono/**/subname -#endif -#endif /* XP_PCL_MONO */ - -#ifdef XP_PCL_LJ3 -#ifdef CATNAME -#undef CATNAME -#endif -#if !defined(UNIXCPP) || defined(ANSICPP) -#define PCLNAME(subname) PclLj3##subname -#define CATNAME(prefix,subname) prefix##Lj3##subname -#else -#define PCLNAME(subname) PclLj3/**/subname -#define CATNAME(prefix,subname) prefix/**/Lj3/**/subname -#endif -#endif /* XP_PCL_LJ3 */ - -#ifdef PCLNAME - -/* PclInit.c */ -#define InitializePclDriver CATNAME(Initialize, PclDriver) -#define PclCloseScreen PCLNAME(CloseScreen) -#define PclGetContextFromWindow PCLNAME(GetContextFromWindow) -#define PclScreenPrivateKey PCLNAME(ScreenPrivateKey) -#define PclWindowPrivateKey PCLNAME(WindowPrivateKey) -#define PclContextPrivateKey PCLNAME(ContextPrivateKey) -#define PclPixmapPrivateKey PCLNAME(PixmapPrivateKey) -#define PclGCPrivateKey PCLNAME(GCPrivateKey) - -/* PclPrint.c */ -#define PclStartJob PCLNAME(StartJob) -#define PclEndJob PCLNAME(EndJob) -#define PclStartPage PCLNAME(StartPage) -#define PclEndPage PCLNAME(EndPage) -#define PclStartDoc PCLNAME(StartDoc) -#define PclEndDoc PCLNAME(EndDoc) -#define PclDocumentData PCLNAME(DocumentData) -#define PclGetDocumentData PCLNAME(GetDocumentData) - -/* PclWindow.c */ -#define PclCreateWindow PCLNAME(CreateWindow) -#define PclMapWindow PCLNAME(MapWindow) -#define PclPositionWindow PCLNAME(PositionWindow) -#define PclUnmapWindow PCLNAME(UnmapWindow) -#define PclCopyWindow PCLNAME(CopyWindow) -#define PclChangeWindowAttributes PCLNAME(ChangeWindowAttributes) -#define PclDestroyWindow PCLNAME(DestroyWindow) - -/* PclGC.c */ -#define PclCreateGC PCLNAME(CreateGC) -#define PclDestroyGC PCLNAME(DestroyGC) -#define PclGetDrawablePrivateStuff PCLNAME(GetDrawablePrivateStuff) -#define PclSetDrawablePrivateGC PCLNAME(SetDrawablePrivateGC) -#define PclSendPattern PCLNAME(SendPattern) -#define PclUpdateDrawableGC PCLNAME(UpdateDrawableGC) -#define PclComputeCompositeClip PCLNAME(ComputeCompositeClip) -#define PclValidateGC PCLNAME(ValidateGC) - -/* PclAttr.c */ -#define PclGetAttributes PCLNAME(GetAttributes) -#define PclGetOneAttribute PCLNAME(GetOneAttribute) -#define PclAugmentAttributes PCLNAME(AugmentAttributes) -#define PclSetAttributes PCLNAME(SetAttributes) - -/* PclColor.c */ -#define PclLookUp PCLNAME(LookUp) -#define PclCreateDefColormap PCLNAME(CreateDefColormap) -#define PclCreateColormap PCLNAME(CreateColormap) -#define PclDestroyColormap PCLNAME(DestroyColormap) -#define PclInstallColormap PCLNAME(InstallColormap) -#define PclUninstallColormap PCLNAME(UninstallColormap) -#define PclListInstalledColormaps PCLNAME(ListInstalledColormaps) -#define PclStoreColors PCLNAME(StoreColors) -#define PclResolveColor PCLNAME(ResolveColor) -#define PclFindPaletteMap PCLNAME(FindPaletteMap) -#define PclUpdateColormap PCLNAME(UpdateColormap) -#define PclReadMap PCLNAME(ReadMap) - -/* PclPixmap.c */ -#define PclCreatePixmap PCLNAME(CreatePixmap) -#define PclDestroyPixmap PCLNAME(DestroyPixmap) - -/* PclArc.c */ -#define PclDoArc PCLNAME(DoArc) -#define PclPolyArc PCLNAME(PolyArc) -#define PclPolyFillArc PCLNAME(PolyFillArc) - -/* PclArea.c */ -#define PclPutImage PCLNAME(PutImage) -#define PclCopyArea PCLNAME(CopyArea) -#define PclCopyPlane PCLNAME(CopyPlane) - -/* PclLine */ -#define PclPolyLine PCLNAME(PolyLine) -#define PclPolySegment PCLNAME(PolySegment) - -/* PclPixel.c */ -#define PclPolyPoint PCLNAME(PolyPoint) -#define PclPushPixels PCLNAME(PushPixels) - -/* PclPolygon.c */ -#define PclPolyRectangle PCLNAME(PolyRectangle) -#define PclFillPolygon PCLNAME(FillPolygon) -#define PclPolyFillRect PCLNAME(PolyFillRect) - -/* PclSpans.c */ -#define PclFillSpans PCLNAME(FillSpans) -#define PclSetSpans PCLNAME(SetSpans) - -/* PclText.c */ -#define PclPolyText8 PCLNAME(PolyText8) -#define PclPolyText16 PCLNAME(PolyText16) -#define PclImageText8 PCLNAME(ImageText8) -#define PclImageText16 PCLNAME(ImageText16) -#define PclImageGlyphBlt PCLNAME(ImageGlyphBlt) -#define PclPolyGlyphBlt PCLNAME(PolyGlyphBlt) -#define PclPolyGlyphBlt PCLNAME(PolyGlyphBlt) - -/* PclFonts.c */ -#define PclRealizeFont PCLNAME(RealizeFont) -#define PclUnrealizeFont PCLNAME(UnrealizeFont) - -/* PclSFonts.c */ -#define PclDownloadSoftFont8 PCLNAME(DownloadSoftFont8) -#define PclDownloadSoftFont16 PCLNAME(DownloadSoftFont16) -#define PclCreateSoftFontInfo PCLNAME(CreateSoftFontInfo) -#define PclDestroySoftFontInfo PCLNAME(DestroySoftFontInfo) - -/* PclMisc.c */ -#define PclQueryBestSize PCLNAME(QueryBestSize) -#define GetPropString PCLNAME(GetPropString) -#define SystemCmd PCLNAME(SystemCmd) -#define PclGetMediumDimensions PCLNAME(GetMediumDimensions) -#define PclGetReproducibleArea PCLNAME(GetReproducibleArea) -#define PclSpoolFigs PCLNAME(SpoolFigs) -#define PclSendData PCLNAME(SendData) - -/* PclCursor.c */ -#define PclConstrainCursor PCLNAME(ConstrainCursor) -#define PclCursorLimits PCLNAME(CursorLimits) -#define PclDisplayCursor PCLNAME(DisplayCursor) -#define PclRealizeCursor PCLNAME(RealizeCursor) -#define PclUnrealizeCursor PCLNAME(UnrealizeCursor) -#define PclRecolorCursor PCLNAME(RecolorCursor) -#define PclSetCursorPosition PCLNAME(SetCursorPosition) - -#endif - -#endif /* _PCLMAP_H_ */ diff --git a/xorg-server/hw/xprint/ps/Makefile.am b/xorg-server/hw/xprint/ps/Makefile.am deleted file mode 100644 index 08638b19d..000000000 --- a/xorg-server/hw/xprint/ps/Makefile.am +++ /dev/null @@ -1,42 +0,0 @@ -noinst_LTLIBRARIES = libps.la - -INCLUDES = -I$(top_srcdir)/hw/xprint - -AM_CFLAGS = @DIX_CFLAGS@ @XPRINT_CFLAGS@ @FREETYPE_CFLAGS@ \ - -D_XP_PRINT_SERVER_ -DXP_PSTEXT - -libps_la_SOURCES = \ - PsArc.c \ - PsArea.c \ - PsAttr.c \ - PsAttVal.c \ - PsCache.c \ - PsColor.c \ - PsDef.h \ - PsFonts.c \ - PsGC.c \ - Ps.h \ - PsImageUtil.c \ - PsInit.c \ - PsLine.c \ - PsMisc.c \ - psout.c \ - psout.h \ - PsPixel.c \ - PsPixmap.c \ - PsPolygon.c \ - PsPrint.c \ - PsSpans.c \ - PsText.c \ - PsWindow.c - -EXTRA_DIST = PsFTFonts.c \ - psout_ft.c \ - psout_ftpstype1.c \ - psout_ftpstype3.c \ - ttf2pt1wrap.c - -if XP_USE_FREETYPE - AM_CFLAGS += -DXP_USE_FREETYPE - libps_la_SOURCES += $(EXTRA_DIST) -endif diff --git a/xorg-server/hw/xprint/ps/Makefile.in b/xorg-server/hw/xprint/ps/Makefile.in deleted file mode 100644 index 41c44a3b5..000000000 --- a/xorg-server/hw/xprint/ps/Makefile.in +++ /dev/null @@ -1,693 +0,0 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008 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@ -@XP_USE_FREETYPE_TRUE@am__append_1 = -DXP_USE_FREETYPE -@XP_USE_FREETYPE_TRUE@am__append_2 = $(EXTRA_DIST) -subdir = hw/xprint/ps -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) -libps_la_LIBADD = -am__libps_la_SOURCES_DIST = PsArc.c PsArea.c PsAttr.c PsAttVal.c \ - PsCache.c PsColor.c PsDef.h PsFonts.c PsGC.c Ps.h \ - PsImageUtil.c PsInit.c PsLine.c PsMisc.c psout.c psout.h \ - PsPixel.c PsPixmap.c PsPolygon.c PsPrint.c PsSpans.c PsText.c \ - PsWindow.c PsFTFonts.c psout_ft.c psout_ftpstype1.c \ - psout_ftpstype3.c ttf2pt1wrap.c -am__objects_1 = PsFTFonts.lo psout_ft.lo psout_ftpstype1.lo \ - psout_ftpstype3.lo ttf2pt1wrap.lo -@XP_USE_FREETYPE_TRUE@am__objects_2 = $(am__objects_1) -am_libps_la_OBJECTS = PsArc.lo PsArea.lo PsAttr.lo PsAttVal.lo \ - PsCache.lo PsColor.lo PsFonts.lo PsGC.lo PsImageUtil.lo \ - PsInit.lo PsLine.lo PsMisc.lo psout.lo PsPixel.lo PsPixmap.lo \ - PsPolygon.lo PsPrint.lo PsSpans.lo PsText.lo PsWindow.lo \ - $(am__objects_2) -libps_la_OBJECTS = $(am_libps_la_OBJECTS) -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include -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 = $(libps_la_SOURCES) -DIST_SOURCES = $(am__libps_la_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@ -DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ -DRI2PROTO_LIBS = @DRI2PROTO_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@ -DSYMUTIL = @DSYMUTIL@ -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@ -GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ -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@ -LAUNCHD = @LAUNCHD@ -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@ -NMEDIT = @NMEDIT@ -OBJC = @OBJC@ -OBJCCLD = @OBJCCLD@ -OBJCDEPMODE = @OBJCDEPMODE@ -OBJCFLAGS = @OBJCFLAGS@ -OBJCLINK = @OBJCLINK@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ -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@ -PCIACCESS_CFLAGS = @PCIACCESS_CFLAGS@ -PCIACCESS_LIBS = @PCIACCESS_LIBS@ -PCI_TXT_IDS_PATH = @PCI_TXT_IDS_PATH@ -PERL = @PERL@ -PKG_CONFIG = @PKG_CONFIG@ -PROJECTROOT = @PROJECTROOT@ -PS2PDF = @PS2PDF@ -RANLIB = @RANLIB@ -RAWCPP = @RAWCPP@ -RAWCPPFLAGS = @RAWCPPFLAGS@ -SED = @SED@ -SERVER_MISC_CONFIG_PATH = @SERVER_MISC_CONFIG_PATH@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ -SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ -STRIP = @STRIP@ -TSLIB_CFLAGS = @TSLIB_CFLAGS@ -TSLIB_LIBS = @TSLIB_LIBS@ -UTILS_SYS_LIBS = @UTILS_SYS_LIBS@ -VENDOR_MAN_VERSION = @VENDOR_MAN_VERSION@ -VENDOR_NAME = @VENDOR_NAME@ -VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ -VENDOR_RELEASE = @VENDOR_RELEASE@ -VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ -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_CFLAGS = @XDMX_CFLAGS@ -XDMX_LIBS = @XDMX_LIBS@ -XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ -XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ -XEPHYR_INCS = @XEPHYR_INCS@ -XEPHYR_LIBS = @XEPHYR_LIBS@ -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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ -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@ -XNEST_SYS_LIBS = @XNEST_SYS_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_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@ -XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_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@ -XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ -XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ -XTSTEXAMPLES_DEP_LIBS = @XTSTEXAMPLES_DEP_LIBS@ -XVFB_LIBS = @XVFB_LIBS@ -XVFB_SYS_LIBS = @XVFB_SYS_LIBS@ -XWINMODULES_CFLAGS = @XWINMODULES_CFLAGS@ -XWINMODULES_LIBS = @XWINMODULES_LIBS@ -XWIN_LIBS = @XWIN_LIBS@ -XWIN_SERVER_NAME = @XWIN_SERVER_NAME@ -XWIN_SYS_LIBS = @XWIN_SYS_LIBS@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -__XCONFIGFILE__ = @__XCONFIGFILE__@ -abi_ansic = @abi_ansic@ -abi_extension = @abi_extension@ -abi_font = @abi_font@ -abi_videodrv = @abi_videodrv@ -abi_xinput = @abi_xinput@ -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@ -launchagentsdir = @launchagentsdir@ -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_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ -noinst_LTLIBRARIES = libps.la -INCLUDES = -I$(top_srcdir)/hw/xprint -AM_CFLAGS = @DIX_CFLAGS@ @XPRINT_CFLAGS@ @FREETYPE_CFLAGS@ \ - -D_XP_PRINT_SERVER_ -DXP_PSTEXT $(am__append_1) -libps_la_SOURCES = PsArc.c PsArea.c PsAttr.c PsAttVal.c PsCache.c \ - PsColor.c PsDef.h PsFonts.c PsGC.c Ps.h PsImageUtil.c PsInit.c \ - PsLine.c PsMisc.c psout.c psout.h PsPixel.c PsPixmap.c \ - PsPolygon.c PsPrint.c PsSpans.c PsText.c PsWindow.c \ - $(am__append_2) -EXTRA_DIST = PsFTFonts.c \ - psout_ft.c \ - psout_ftpstype1.c \ - psout_ftpstype3.c \ - ttf2pt1wrap.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 hw/xprint/ps/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign hw/xprint/ps/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 -libps.la: $(libps_la_OBJECTS) $(libps_la_DEPENDENCIES) - $(LINK) $(libps_la_OBJECTS) $(libps_la_LIBADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PsArc.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PsArea.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PsAttVal.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PsAttr.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PsCache.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PsColor.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PsFTFonts.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PsFonts.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PsGC.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PsImageUtil.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PsInit.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PsLine.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PsMisc.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PsPixel.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PsPixmap.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PsPolygon.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PsPrint.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PsSpans.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PsText.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PsWindow.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/psout.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/psout_ft.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/psout_ftpstype1.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/psout_ftpstype3.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ttf2pt1wrap.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; nonemtpy = 1; } \ - END { if (nonempty) { 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; nonempty = 1; } \ - END { if (nonempty) { 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=; \ - 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; nonempty = 1; } \ - END { if (nonempty) { 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/xorg-server/hw/xprint/ps/Ps.h b/xorg-server/hw/xprint/ps/Ps.h deleted file mode 100644 index a25e9891a..000000000 --- a/xorg-server/hw/xprint/ps/Ps.h +++ /dev/null @@ -1,600 +0,0 @@ -/* - -Copyright 1996, 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. - -*/ -/* - * (c) Copyright 1996 Hewlett-Packard Company - * (c) Copyright 1996 International Business Machines Corp. - * (c) Copyright 1996 Sun Microsystems, Inc. - * (c) Copyright 1996 Novell, Inc. - * (c) Copyright 1996 Digital Equipment Corp. - * (c) Copyright 1996 Fujitsu Limited - * (c) Copyright 1996 Hitachi, Ltd. - * - * 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. - */ - -/******************************************************************* -** -** ********************************************************* -** * -** * File: Ps.h -** * -** * Contents: defines and includes for the Ps driver -** * for a printing X server. -** * -** * Created By: Roger Helmendach (Liberty Systems) -** * -** * Copyright: Copyright 1996 The Open Group, Inc. -** * -** ********************************************************* -** -********************************************************************/ - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#ifndef _PS_H_ -#define _PS_H_ - -#include - -#ifdef abs -#undef abs /* this is because of a non-Spec1170ness in misc.h */ -#endif -#include -#include "scrnintstr.h" -#include "dix.h" - -#include "PsDef.h" -#include "psout.h" - -#include -#include - -#include "regionstr.h" -#include -#include "dixfontstr.h" -#include "gcstruct.h" - -/* - * Some sleazes to force the XrmDB stuff into the server - */ -#ifndef HAVE_XPointer -typedef char *XPointer; -#define Status int -#define True 1 -#define False 0 -#endif - -#include "misc.h" -#include -#include -#include "attributes.h" - - -/* - * Public index variables from PsInit.c - */ - -extern DevPrivateKey PsScreenPrivateKey; -extern DevPrivateKey PsWindowPrivateKey; -extern DevPrivateKey PsContextPrivateKey; -extern DevPrivateKey PsPixmapPrivateKey; -extern XpValidatePoolsRec PsValidatePoolsRec; - -/* - * Display list structures - */ - -#define DPY_BLOCKSIZE 4096 - -typedef struct -{ - int mode; - int nPoints; - xPoint *pPoints; -} PsPolyPointsRec; - -typedef struct -{ - int nSegments; - xSegment *pSegments; -} PsSegmentsRec; - -typedef struct -{ - int nRects; - xRectangle *pRects; -} PsRectanglesRec; - -typedef struct -{ - int nArcs; - xArc *pArcs; -} PsArcsRec; - -typedef struct -{ - int x; - int y; - int count; - char *string; -} PsText8Rec; - -typedef struct -{ - int x; - int y; - int count; - unsigned short *string; -} PsText16Rec; - -typedef struct -{ - int depth; - int x; - int y; - int w; - int h; - int leftPad; - int format; - int res; /* image resolution */ - char *pData; -} PsImageRec; - -typedef struct -{ - int x; - int y; - int w; - int h; -} PsFrameRec; - -typedef enum -{ - PolyPointCmd, - PolyLineCmd, - PolySegmentCmd, - PolyRectangleCmd, - FillPolygonCmd, - PolyFillRectCmd, - PolyArcCmd, - PolyFillArcCmd, - Text8Cmd, - Text16Cmd, - TextI8Cmd, - TextI16Cmd, - PutImageCmd, - BeginFrameCmd, - EndFrameCmd -} DisplayElmType; - -typedef struct _DisplayElmRec -{ - DisplayElmType type; - GCPtr gc; - union - { - PsPolyPointsRec polyPts; - PsSegmentsRec segments; - PsRectanglesRec rects; - PsArcsRec arcs; - PsText8Rec text8; - PsText16Rec text16; - PsImageRec image; - PsFrameRec frame; - } c; -} DisplayElmRec; - -typedef DisplayElmRec *DisplayElmPtr; - -typedef struct _DisplayListRec -{ - struct _DisplayListRec *next; - int nelms; - DisplayElmRec elms[DPY_BLOCKSIZE]; -} DisplayListRec; - -typedef DisplayListRec *DisplayListPtr; - -/* - * Private structures - */ - -typedef struct -{ - XrmDatabase resDB; - Bool (*DestroyWindow)(WindowPtr); -} PsScreenPrivRec, *PsScreenPrivPtr; - -typedef struct PsFontTypeInfoRec PsFontTypeInfoRec; - -/* Structure to hold information about one font on disk - * Notes: - * - multiple XLFD names can refer to the same |PsFontTypeInfoRec| (if - * they all use the same font on the disk) - * - the FreeType font download code uses multiple |PsFontTypeInfoRec| - * records for one font on disk if they differ in the encoding being - * used (this is an exception from the - * 'one-|PsFontTypeInfoRec|-per-font-on-disk'-design; maybe it it is better - * to rework that in a later step and add a new per-encoding structure). - */ -struct PsFontTypeInfoRec -{ - PsFontTypeInfoRec *next; /* Next record in list... */ - char *adobe_ps_name; /* PostScript font name (from the - * "_ADOBE_POSTSCRIPT_FONTNAME" atom) */ - char *download_ps_name; /* PostScript font name used for font download */ - char *filename; /* File name of font */ -#ifdef XP_USE_FREETYPE - char *ft_download_encoding; /* encoding used for download */ - PsFTDownloadFontType ft_download_font_type; /* PS font type used for download (e.g. Type1/Type3/CID/etc.) */ -#endif /* XP_USE_FREETYPE */ - int is_iso_encoding; /* Is this font encoded in ISO Latin 1 ? */ - int font_type; /* See PSFTI_FONT_TYPE_* below... */ - Bool downloadableFont; /* Font can be downloaded */ - Bool alreadyDownloaded[256]; /* Font has been downloaded (for 256 8bit "sub"-font) */ -}; - -#define PSFTI_FONT_TYPE_OTHER (0) -#define PSFTI_FONT_TYPE_PMF (1) -#define PSFTI_FONT_TYPE_PS_TYPE1_PFA (2) -#define PSFTI_FONT_TYPE_PS_TYPE1_PFB (3) -#define PSFTI_FONT_TYPE_TRUETYPE (4) -/* PSFTI_FONT_TYPE_FREETYPE is means the font is handled by the freetype engine */ -#define PSFTI_FONT_TYPE_FREETYPE (5) - -typedef struct PsFontInfoRec PsFontInfoRec; - -/* Structure which represents our context info for a single XLFD font - * Note that multiple |PsFontInfoRec| records can share the same - * |PsFontTypeInfoRec| record - the |PsFontInfoRec| records represent - * different appearances of the same font on disk(=|PsFontTypeInfoRec|)). - */ -struct PsFontInfoRec -{ - PsFontInfoRec *next; /* Next record in list... */ - /* |font| and |font_fontPrivate| are used by |PsFindFontInfoRec()| to - * identify a font */ - FontPtr font; /* The font this record is for */ - pointer font_fontPrivate; - PsFontTypeInfoRec *ftir; /* Record about the font file on disk */ - const char *dfl_name; /* XLFD for this font */ - int size; /* Font size. Use |mtx| if |size==0| */ - float mtx[4]; /* Transformation matrix (see |size|) */ -}; - -typedef struct -{ - char *jobFileName; - FILE *pJobFile; - GC lastGC; - unsigned char *dash; - int validGC; - ClientPtr getDocClient; - int getDocBufSize; - PsOutPtr pPsOut; - PsFontTypeInfoRec *fontTypeInfoRecords; - PsFontInfoRec *fontInfoRecords; -} PsContextPrivRec, *PsContextPrivPtr; - -typedef struct -{ - int validContext; - XpContextPtr context; -} PsWindowPrivRec, *PsWindowPrivPtr; - -typedef struct -{ - XpContextPtr context; - GC lastGC; - int validGC; - DisplayListPtr dispList; -} PsPixmapPrivRec, *PsPixmapPrivPtr; - -/* - * Macro functions - */ - -#define SEND_PS(f,c) fwrite( c, sizeof( char ), strlen( c ), f ) -#define MIN(a,b) (((a)<(b))?(a):(b)) -#ifndef MAX -#define MAX(a,b) (((a)>(b))?(a):(b)) -#endif - -/* - * Functions in PsInit.c - */ - -extern Bool InitializePsDriver(int ndx, ScreenPtr pScreen, int argc, - char **argv); -extern XpContextPtr PsGetContextFromWindow(WindowPtr win); - -/* - * Functions in PsCache.c - */ - -extern int PsBmIsImageCached(int gWidth, int gHeight, char *pBuffer); -extern int PsBmPutImageInCache(int gWidth, int gHeight, char *pBuffer); -extern void PsBmClearImageCache(void); - -/* - * Functions in PsPrint.c - */ - -extern int PsStartJob(XpContextPtr pCon, Bool sendClientData, ClientPtr client); -extern int PsEndJob(XpContextPtr pCon, Bool cancel); -extern int PsStartPage(XpContextPtr pCon, WindowPtr pWin); -extern int PsEndPage(XpContextPtr pCon, WindowPtr pWin); -extern int PsStartDoc(XpContextPtr pCon, XPDocumentType type); -extern int PsEndDoc(XpContextPtr pCon, Bool cancel); -extern int PsDocumentData(XpContextPtr pCon, DrawablePtr pDraw, char *pData, - int len_data, char *pFmt, int len_fmt, char *pOpt, int len_opt, - ClientPtr client); -extern int PsGetDocumentData(XpContextPtr pCon, ClientPtr client, - int maxBufferSize); - -/* - * Functions in PsGC.c - */ - -extern Bool PsCreateGC(GCPtr pGC); -extern PsContextPrivPtr PsGetPsContextPriv( DrawablePtr pDrawable ); -extern int PsUpdateDrawableGC(GCPtr pGC, DrawablePtr pDrawable, - PsOutPtr *psOut, ColormapPtr *cMap); -extern void PsValidateGC(GCPtr pGC, unsigned long changes, DrawablePtr pDrawable); -extern void PsChangeGC(GCPtr pGC, unsigned long changes); -extern void PsCopyGC(GCPtr pGCSrc, unsigned long mask, GCPtr pGCDst); -extern void PsDestroyGC(GCPtr pGC); -extern void PsChangeClip(GCPtr pGC, int type, pointer pValue, int nrects); -extern void PsDestroyClip(GCPtr pGC); -extern void PsCopyClip(GCPtr pgcDst, GCPtr pgcSrc); - -extern GCPtr PsCreateAndCopyGC(DrawablePtr pDrawable, GCPtr pSrc); - -/* - * Functions in PsMisc.c - */ - -extern void PsQueryBestSize(int type, short *pwidth, short *pheight, - ScreenPtr pScreen); -extern Bool PsCloseScreen(int index, ScreenPtr pScreen); -extern void PsLineAttrs(PsOutPtr psOut, GCPtr pGC, ColormapPtr cMap); -extern int PsGetMediumDimensions( - XpContextPtr pCon, - CARD16 *pWidth, - CARD16 *pHeight); -extern int PsGetReproducibleArea( - XpContextPtr pCon, - xRectangle *pRect); -extern int PsSetImageResolution( - XpContextPtr pCon, - int imageRes, - Bool *status); - -/* - * Functions in PsSpans.c - */ - -extern void PsFillSpans(DrawablePtr pDrawable, GCPtr pGC, int nSpans, - DDXPointPtr pPoints, int *pWidths, int fSorted); -extern void PsSetSpans(DrawablePtr pDrawable, GCPtr pGC, char *pSrc, - DDXPointPtr pPoints, int *pWidths, int nSpans, - int fSorted); - -/* - * Functions in PsArea.c - */ - -extern void PsPutScaledImage(DrawablePtr pDrawable, GCPtr pGC, int depth, - int x, int y, int w, int h, int leftPad, int format, - int imageRes, char *pImage); -extern void PsPutScaledImageIM(DrawablePtr pDrawable, GCPtr pGC, int depth, - int x, int y, int w, int h, int leftPad, - int format, int imageRes, char *pImage); -extern void PsPutImage(DrawablePtr pDrawable, GCPtr pGC, int depth, - int x, int y, int w, int h, int leftPad, int format, - char *pImage); -extern void PsPutImageMask(DrawablePtr pDrawable, GCPtr pGC, int depth, int x, int y, - int w, int h, int leftPad, int format, char *pImage); -extern RegionPtr PsCopyArea(DrawablePtr pSrc, DrawablePtr pDst, GCPtr pGC, - int srcx, int srcy, int width, int height, - int dstx, int dsty); -extern RegionPtr PsCopyPlane(DrawablePtr pSrc, DrawablePtr pDst, GCPtr pGC, - int srcx, int srcy, int width, int height, - int dstx, int dsty, unsigned long plane); - -/* - * Functions in PsPixel.c - */ - -extern void PsPolyPoint(DrawablePtr pDrawable, GCPtr pGC, int mode, - int nPoints, xPoint *pPoints); -extern void PsPushPixels(GCPtr pGC, PixmapPtr pBitmap, DrawablePtr pDrawable, - int width, int height, int x, int y); - -/* - * Functions in PsLine.c - */ - -extern void PsPolyLine(DrawablePtr pDrawable, GCPtr pGC, int mode, - int nPoints, xPoint *pPoints); -extern void PsPolySegment(DrawablePtr pDrawable, GCPtr pGC, int nSegments, - xSegment *pSegments); - -/* - * Functions in PsPolygon.c - */ - -extern void PsPolyRectangle(DrawablePtr pDrawable, GCPtr pGC, int nRects, - xRectangle *pRects); -extern void PsFillPolygon(DrawablePtr pDrawable, GCPtr pGC, int shape, - int mode, int nPoints, DDXPointPtr pPoints); -extern void PsPolyFillRect(DrawablePtr pDrawable, GCPtr pGC, int nRects, - xRectangle *pRects); - -/* - * Functions in PsPolygon.c - */ - -extern void PsPolyArc(DrawablePtr pDrawable, GCPtr pGC, int nArcs, - xArc *pArcs); -extern void PsPolyFillArc(DrawablePtr pDrawable, GCPtr pGC, int nArcs, - xArc *pArcs); - -/* - * Functions in PsText.c - */ - -extern int PsPolyText8(DrawablePtr pDrawable, GCPtr pGC, int x, int y, - int count, char *string); -extern int PsPolyText16(DrawablePtr pDrawable, GCPtr pGC, int x, int y, - int count, unsigned short *string); -extern void PsImageText8(DrawablePtr pDrawable, GCPtr pGC, int x, int y, - int count, char *string); -extern void PsImageText16(DrawablePtr pDrawable, GCPtr pGC, int x, int y, - int count, unsigned short *string); -extern void PsImageGlyphBlt(DrawablePtr pDrawable, GCPtr pGC, int x, int y, - unsigned int nGlyphs, CharInfoPtr *pCharInfo, - pointer pGlyphBase); -extern void PsPolyGlyphBlt(DrawablePtr pDrawable, GCPtr pGC, int x, int y, - unsigned int nGlyphs, CharInfoPtr *pCharInfo, - pointer pGlyphBase); - -/* - * Functions in PsWindow.c - */ - -extern Bool PsCreateWindow(WindowPtr pWin); -extern Bool PsMapWindow(WindowPtr pWin); -extern Bool PsPositionWindow(WindowPtr pWin, int x, int y); -extern Bool PsUnmapWindow(WindowPtr pWin); -extern void PsCopyWindow(WindowPtr pWin, DDXPointRec ptOldOrg, - RegionPtr prgnSrc); -extern Bool PsChangeWindowAttributes(WindowPtr pWin, unsigned long mask); -extern Bool PsDestroyWindow(WindowPtr pWin); - -/* - * Functions in PsFonts.c - */ - -extern Bool PsRealizeFont(ScreenPtr pscr, FontPtr pFont); -extern Bool PsUnrealizeFont(ScreenPtr pscr, FontPtr pFont); -extern char *PsGetFontName(FontPtr pFont); -extern int PsGetFontSize(FontPtr pFont, float *mtx); -extern char *PsGetPSFontName(FontPtr pFont); -extern char *PsGetPSFaceOrFontName(FontPtr pFont); -extern int PsIsISOLatin1Encoding(FontPtr pFont); -extern char *PsGetEncodingName(FontPtr pFont); -extern PsFontInfoRec *PsGetFontInfoRec(DrawablePtr pDrawable, FontPtr pFont); -extern void PsFreeFontInfoRecords(PsContextPrivPtr priv); -extern PsFTDownloadFontType PsGetFTDownloadFontType(void); - -/* - * Functions in PsFTFonts.c - */ - -extern char *PsGetFTFontFileName(FontPtr pFont); -extern Bool PsIsFreeTypeFont(FontPtr pFont); - -/* - * Functions in PsAttr.c - */ - -extern char *PsGetAttributes(XpContextPtr pCon, XPAttributes pool); -extern char *PsGetOneAttribute(XpContextPtr pCon, XPAttributes pool, - char *attr); -extern int PsAugmentAttributes(XpContextPtr pCon, XPAttributes pool, - char *attrs); -extern int PsSetAttributes(XpContextPtr pCon, XPAttributes pool, char *attrs); - -/* - * Functions in PsColor.c - */ - -extern Bool PsCreateColormap(ColormapPtr pColor); -extern void PsDestroyColormap(ColormapPtr pColor); -extern void PsInstallColormap(ColormapPtr pColor); -extern void PsUninstallColormap(ColormapPtr pColor); -extern int PsListInstalledColormaps(ScreenPtr pScreen, XID *pCmapList); -extern void PsStoreColors(ColormapPtr pColor, int ndef, xColorItem *pdefs); -extern void PsResolveColor(unsigned short *pRed, unsigned short *pGreen, - unsigned short *pBlue, VisualPtr pVisual); -extern PsOutColor PsGetPixelColor(ColormapPtr cMap, int pixval); -extern void PsSetFillColor(DrawablePtr pDrawable, GCPtr pGC, PsOutPtr psOut, - ColormapPtr cMap); - -/* - * Functions in PsPixmap.c - */ - -extern PixmapPtr PsCreatePixmap(ScreenPtr pScreen, int width, int height, - int depth, unsigned usage_hint); -extern void PsScrubPixmap(PixmapPtr pPixmap); -extern Bool PsDestroyPixmap(PixmapPtr pPixmap); -extern DisplayListPtr PsGetFreeDisplayBlock(PsPixmapPrivPtr priv); -extern void PsReplay(DisplayElmPtr elm, DrawablePtr pDrawable); -extern void PsReplayPixmap(PixmapPtr pix, DrawablePtr pDrawable); -extern int PsCloneDisplayElm(PixmapPtr dst, - DisplayElmPtr elm, DisplayElmPtr newElm, - int xoff, int yoff); -extern void PsCopyDisplayList(PixmapPtr src, PixmapPtr dst, int xoff, - int yoff, int x, int y, int w, int h); -extern PsElmPtr PsCreateFillElementList(PixmapPtr pix, int *nElms); -extern PsElmPtr PsCloneFillElementList(int nElms, PsElmPtr elms); -extern void PsDestroyFillElementList(int nElms, PsElmPtr elms); - -/* - * Functions in PsImageUtil.c - */ - -extern unsigned long -PsGetImagePixel(char *pImage, int depth, int w, int h, int leftPad, int format, - int px, int py); - -#endif /* _PS_H_ */ diff --git a/xorg-server/hw/xprint/ps/PsArc.c b/xorg-server/hw/xprint/ps/PsArc.c deleted file mode 100644 index 0684307dd..000000000 --- a/xorg-server/hw/xprint/ps/PsArc.c +++ /dev/null @@ -1,181 +0,0 @@ -/* - -Copyright 1996, 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. - -*/ -/* - * (c) Copyright 1996 Hewlett-Packard Company - * (c) Copyright 1996 International Business Machines Corp. - * (c) Copyright 1996 Sun Microsystems, Inc. - * (c) Copyright 1996 Novell, Inc. - * (c) Copyright 1996 Digital Equipment Corp. - * (c) Copyright 1996 Fujitsu Limited - * (c) Copyright 1996 Hitachi, Ltd. - * - * 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. - */ - -/******************************************************************* -** -** ********************************************************* -** * -** * File: PsArc.c -** * -** * Contents: Arc-drawing code for the PS DDX driver -** * -** * Created By: Roger Helmendach (Liberty Systems) -** * -** * Copyright: Copyright 1996 The Open Group, Inc. -** * -** ********************************************************* -** -********************************************************************/ - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#include - -#include "Ps.h" -#include "gcstruct.h" -#include "windowstr.h" - -void -PsPolyArc( - DrawablePtr pDrawable, - GCPtr pGC, - int nArcs, - xArc *pArcs) -{ - if( pDrawable->type==DRAWABLE_PIXMAP ) - { - DisplayElmPtr elm; - PixmapPtr pix = (PixmapPtr)pDrawable; - PsPixmapPrivPtr priv = (PsPixmapPrivPtr)pix->devPrivate.ptr; - DisplayListPtr disp; - GCPtr gc; - - if ((gc = PsCreateAndCopyGC(pDrawable, pGC)) == NULL) return; - - disp = PsGetFreeDisplayBlock(priv); - - elm = &disp->elms[disp->nelms]; - elm->type = PolyArcCmd; - elm->gc = gc; - elm->c.arcs.nArcs = nArcs; - elm->c.arcs.pArcs = (xArc *)xalloc(nArcs*sizeof(xArc)); - memcpy(elm->c.arcs.pArcs, pArcs, nArcs*sizeof(xArc)); - disp->nelms += 1; - } - else - { - int i; - PsOutPtr psOut; - ColormapPtr cMap; - - if( PsUpdateDrawableGC(pGC, pDrawable, &psOut, &cMap)==FALSE ) return; - PsOut_Offset(psOut, pDrawable->x, pDrawable->y); - PsOut_Color(psOut, PsGetPixelColor(cMap, pGC->fgPixel)); - PsLineAttrs(psOut, pGC, cMap); - for( i=0 ; itype==DRAWABLE_PIXMAP ) - { - DisplayElmPtr elm; - PixmapPtr pix = (PixmapPtr)pDrawable; - PsPixmapPrivPtr priv = (PsPixmapPrivPtr)pix->devPrivate.ptr; - DisplayListPtr disp; - GCPtr gc; - - if ((gc = PsCreateAndCopyGC(pDrawable, pGC)) == NULL) return; - - disp = PsGetFreeDisplayBlock(priv); - - elm = &disp->elms[disp->nelms]; - elm->type = PolyFillArcCmd; - elm->gc = gc; - elm->c.arcs.nArcs = nArcs; - elm->c.arcs.pArcs = (xArc *)xalloc(nArcs*sizeof(xArc)); - memcpy(elm->c.arcs.pArcs, pArcs, nArcs*sizeof(xArc)); - disp->nelms += 1; - } - else - { - int i; - PsOutPtr psOut; - PsArcEnum styl; - ColormapPtr cMap; - - if( PsUpdateDrawableGC(pGC, pDrawable, &psOut, &cMap)==FALSE ) return; - PsOut_Offset(psOut, pDrawable->x, pDrawable->y); - PsSetFillColor(pDrawable, pGC, psOut, cMap); - PsLineAttrs(psOut, pGC, cMap); - if( pGC->arcMode==ArcChord ) styl = PsChord; - else styl = PsPieSlice; - for( i=0 ; i -#endif - -#include "Ps.h" -#include "gcstruct.h" -#include "windowstr.h" - - -void -PsPutScaledImage(DrawablePtr pDrawable, GCPtr pGC, int depth, int x, int y, - int w, int h, int leftPad, int format, int imageRes, char *pImage) -{ - if( pDrawable->type==DRAWABLE_PIXMAP ) - { - int size = PixmapBytePad(w, depth)*h; - DisplayElmPtr elm; - PixmapPtr pix = (PixmapPtr)pDrawable; - PsPixmapPrivPtr priv = (PsPixmapPrivPtr)pix->devPrivate.ptr; - DisplayListPtr disp; - GCPtr gc; - - if ((gc = PsCreateAndCopyGC(pDrawable, pGC)) == NULL) return; - - disp = PsGetFreeDisplayBlock(priv); - elm = &disp->elms[disp->nelms]; - elm->type = PutImageCmd; - elm->gc = gc; - elm->c.image.depth = depth; - elm->c.image.x = x; - elm->c.image.y = y; - elm->c.image.w = w; - elm->c.image.h = h; - elm->c.image.leftPad = leftPad; - elm->c.image.format = format; - elm->c.image.res = imageRes; - elm->c.image.pData = (char *)xalloc(size); - memcpy(elm->c.image.pData, pImage, size); - disp->nelms += 1; - } - else - { - int i, j; - int r, c; - PsOutPtr psOut; - ColormapPtr cMap; - int pageRes, sw, sh; - - if( PsUpdateDrawableGC(pGC, pDrawable, &psOut, &cMap)==FALSE ) return; - if (!imageRes) { - sw = w; - sh = h; - } else { - pageRes = XpGetResolution(XpGetPrintContext(requestingClient)); - sw = (float)w * (float)pageRes / (float)imageRes + 0.5; - sh = (float)h * (float)pageRes / (float)imageRes + 0.5; - } - PsOut_Offset(psOut, pDrawable->x, pDrawable->y); - - if( depth!=1 ) - { - PsOut_BeginImage(psOut, 0, 0, x, y, w, h, sw, sh, 3); - - for( r=0 ; rbgPixel), - PsGetPixelColor(cMap, pGC->fgPixel), - x, y, w, h, sw, sh, 1); - for( r=0 ; r>j)&1)<<(7-j)); } -#elif IMAGE_BYTE_ORDER == MSBFirst - iv_ = iv; -#else -#error Unsupported byte order -#endif - c = iv_; - PsOut_OutImageBytes(psOut, 1, &c); - } - } - PsOut_EndImage(psOut); - } - } -} - -void -PsPutScaledImageIM(DrawablePtr pDrawable, GCPtr pGC, int depth, int x, int y, - int w, int h, int leftPad, int format, int imageRes, char *pImage) -{ - if( pDrawable->type==DRAWABLE_PIXMAP ) - { - int size = PixmapBytePad(w, depth)*h; - DisplayElmPtr elm; - PixmapPtr pix = (PixmapPtr)pDrawable; - PsPixmapPrivPtr priv = (PsPixmapPrivPtr)pix->devPrivate.ptr; - DisplayListPtr disp; - GCPtr gc; - - if ((gc = PsCreateAndCopyGC(pDrawable, pGC)) == NULL) return; - - disp = PsGetFreeDisplayBlock(priv); - elm = &disp->elms[disp->nelms]; - elm->type = PutImageCmd; - elm->gc = gc; - elm->c.image.depth = depth; - elm->c.image.x = x; - elm->c.image.y = y; - elm->c.image.w = w; - elm->c.image.h = h; - elm->c.image.leftPad = leftPad; - elm->c.image.format = format; - elm->c.image.res = imageRes; - elm->c.image.pData = (char *)xalloc(size); - memcpy(elm->c.image.pData, pImage, size); - disp->nelms += 1; - } - else - { - int i, j; - int r, c; - PsOutPtr psOut; - ColormapPtr cMap; - int pageRes, sw, sh; -#ifdef BM_CACHE - long cache_id = 0; -#endif - - if( PsUpdateDrawableGC(pGC, pDrawable, &psOut, &cMap)==FALSE ) return; - if (!imageRes) { - sw = w; - sh = h; - } else { - pageRes = XpGetResolution(XpGetPrintContext(requestingClient)); - sw = (float)w * (float)pageRes / (float)imageRes + 0.5; - sh = (float)h * (float)pageRes / (float)imageRes + 0.5; - } - PsOut_Offset(psOut, pDrawable->x, pDrawable->y); - -#ifdef BM_CACHE - cache_id = PsBmIsImageCached(w, h, pImage); - - if(!cache_id) - { - cache_id = PsBmPutImageInCache(w, h, pImage); - - if(!cache_id) - return; - - PsOut_BeginImageCache(psOut, cache_id); -#endif - if( depth!=1 ) - { - PsOut_BeginImageIM(psOut, 0, 0, x, y, w, h, sw, sh, 3); - - for( r=0 ; rbgPixel), - PsGetPixelColor(cMap, pGC->fgPixel), - x, y, w, h, sw, sh, 1); - for( r=0 ; r>j)&1)<<(7-j)); } -#elif IMAGE_BYTE_ORDER == MSBFirst - iv_ = iv; -#else -#error Unsupported byte order -#endif - c = iv_; - PsOut_OutImageBytes(psOut, 1, &c); - } - } - PsOut_EndImage(psOut); - } -#ifdef BM_CACHE - PsOut_EndImageCache(psOut); - } - PsOut_ImageCache(psOut, x, y, cache_id, PsGetPixelColor(cMap, pGC->bgPixel), - PsGetPixelColor(cMap, pGC->fgPixel)); -#endif - } -} -void -PsPutImage(DrawablePtr pDrawable, GCPtr pGC, int depth, int x, int y, - int w, int h, int leftPad, int format, char *pImage) -{ - XpContextPtr pcon; - if (requestingClient && (pcon = XpGetPrintContext(requestingClient))) - PsPutScaledImage(pDrawable, pGC, depth, x, y, w, h, leftPad, format, - pcon->imageRes, pImage); -} -void -PsPutImageMask(DrawablePtr pDrawable, GCPtr pGC, int depth, int x, int y, - int w, int h, int leftPad, int format, char *pImage) -{ - XpContextPtr pcon; - if (requestingClient && (pcon = XpGetPrintContext(requestingClient))) - PsPutScaledImageIM(pDrawable, pGC, depth, x, y, w, h, leftPad, format, - pcon->imageRes, pImage); -} - -RegionPtr -PsCopyArea(DrawablePtr pSrc, DrawablePtr pDst, GCPtr pGC, int srcx, int srcy, - int width, int height, int dstx, int dsty) -{ - PixmapPtr src = (PixmapPtr)pSrc; - PixmapPtr dst = (PixmapPtr)pDst; - - if( pSrc->type!=DRAWABLE_PIXMAP ) return NULL; - if( pDst->type!=DRAWABLE_PIXMAP ) - { - PsOutPtr psOut; - ColormapPtr cMap; - if( PsUpdateDrawableGC(pGC, pDst, &psOut, &cMap)==FALSE ) return NULL; - PsOut_Offset(psOut, pDst->x, pDst->y); - PsOut_BeginFrame(psOut, dstx-srcx, dsty-srcy, dstx, dsty, width, height); - PsReplayPixmap(src, pDst); - PsOut_EndFrame(psOut); - } - else PsCopyDisplayList(src, dst, dstx-srcx, dsty-srcy, dstx, dsty, - width, height); - return NULL; -} - -RegionPtr -PsCopyPlane(DrawablePtr pSrc, DrawablePtr pDst, GCPtr pGC, int srcx, int srcy, - int width, int height, int dstx, int dsty, unsigned long plane) -{ - PixmapPtr src = (PixmapPtr)pSrc; - PixmapPtr dst = (PixmapPtr)pDst; - - if( pSrc->type!=DRAWABLE_PIXMAP ) return NULL; - if( pDst->type!=DRAWABLE_PIXMAP ) - { - PsOutPtr psOut; - ColormapPtr cMap; - if( PsUpdateDrawableGC(pGC, pDst, &psOut, &cMap)==FALSE ) return NULL; - PsOut_Offset(psOut, pDst->x, pDst->y); - PsOut_BeginFrame(psOut, dstx-srcx, dsty-srcy, dstx, dsty, width, height); - PsReplayPixmap(src, pDst); - PsOut_EndFrame(psOut); - } - else PsCopyDisplayList(src, dst, dstx-srcx, dsty-srcy, dstx, dsty, - width, height); - return NULL; -} diff --git a/xorg-server/hw/xprint/ps/PsAttVal.c b/xorg-server/hw/xprint/ps/PsAttVal.c deleted file mode 100644 index de2e6c8e4..000000000 --- a/xorg-server/hw/xprint/ps/PsAttVal.c +++ /dev/null @@ -1,289 +0,0 @@ -/* - */ -/* -(c) Copyright 1996 Hewlett-Packard Company -(c) Copyright 1996 International Business Machines Corp. -(c) Copyright 1996 Sun Microsystems, Inc. -(c) Copyright 1996 Novell, Inc. -(c) Copyright 1996 Digital Equipment Corp. -(c) Copyright 1996 Fujitsu Limited -(c) Copyright 1996 Hitachi, Ltd. - -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. -*/ - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#include "Ps.h" -#include "AttrValid.h" - -/* - * define valid values and defaults for Printer pool - */ -static XpOid ValidContentOrientationsOids[] = { - xpoid_val_content_orientation_portrait, - xpoid_val_content_orientation_landscape, - xpoid_val_content_orientation_reverse_portrait, - xpoid_val_content_orientation_reverse_landscape -}; -static XpOidList ValidContentOrientations = { - ValidContentOrientationsOids, XpNumber(ValidContentOrientationsOids) -}; - -static XpOid DefaultContentOrientationsOids[] = { - xpoid_val_content_orientation_portrait, - xpoid_val_content_orientation_landscape -}; -static XpOidList DefaultContentOrientations = { - DefaultContentOrientationsOids, XpNumber(DefaultContentOrientationsOids) -}; - -static XpOid ValidPlexesOids[] = { - xpoid_val_plex_simplex, xpoid_val_plex_duplex, xpoid_val_plex_tumble -}; -static XpOidList ValidPlexes = { - ValidPlexesOids, XpNumber(ValidPlexesOids) -}; - -static XpOid DefaultPlexesOids[] = { - xpoid_val_plex_simplex -}; -static XpOidList DefaultPlexes = { - DefaultPlexesOids, XpNumber(DefaultPlexesOids) -}; - -static unsigned long ValidPrinterResolutionsCards[] = { - 75, - 100, - 120, - 150, - 180, - 200, - 240, - 300, - 360, - 400, - 600, - 720, - 940, - 1200, - 1440, - 2400 -}; -static XpOidCardList ValidPrinterResolutions = { - ValidPrinterResolutionsCards, XpNumber(ValidPrinterResolutionsCards) -}; - -static unsigned long DefaultPrinterResolutionsCards[] = { - 75, - 100, - 120, - 150, - 180, - 200, - 240, - 300, - 360, - 400, - 600, - 720, - 940, - 1200 -}; -static XpOidCardList DefaultPrinterResolutions = { - DefaultPrinterResolutionsCards, XpNumber(DefaultPrinterResolutionsCards) -}; - -static XpOid ValidListfontsModesOids[] = { - xpoid_val_xp_list_internal_printer_fonts, xpoid_val_xp_list_glyph_fonts -}; -static XpOidList ValidListfontsModes = { - ValidListfontsModesOids, XpNumber(ValidListfontsModesOids) -}; - -static XpOid DefaultListfontsModesOids[] = { - xpoid_val_xp_list_glyph_fonts -}; -static XpOidList DefaultListfontsModes = { - DefaultListfontsModesOids, XpNumber(DefaultListfontsModesOids) -}; - -static XpOid ValidSetupProvisoOids[] = { - xpoid_val_xp_setup_mandatory, xpoid_val_xp_setup_optional -}; -static XpOidList ValidSetupProviso = { - - - ValidSetupProvisoOids, XpNumber(ValidSetupProvisoOids) -}; - -static XpOidDocFmt ValidDocFormatsSupportedFmts[] = { - { "Postscript", "2", NULL } -}; -static XpOidDocFmtList ValidDocFormatsSupported = { - ValidDocFormatsSupportedFmts, XpNumber(ValidDocFormatsSupportedFmts) -}; - -static XpOidDocFmt DefaultDocFormatsSupportedFmts[] = { - { "Postscript", "2", NULL } -}; -static XpOidDocFmtList DefaultDocFormatsSupported = { - DefaultDocFormatsSupportedFmts, XpNumber(DefaultDocFormatsSupportedFmts) -}; - -static XpOidDocFmt ValidEmbeddedFormatsSupportedFmts[] = { - { "Postscript", "2", NULL } -}; -static XpOidDocFmtList ValidEmbeddedFormatsSupported = { - ValidEmbeddedFormatsSupportedFmts, XpNumber(ValidEmbeddedFormatsSupportedFmts) -}; - -static XpOidDocFmt DefaultEmbeddedFormatsSupportedFmts[] = { - { "Postscript", "2", NULL } -}; -static XpOidDocFmtList DefaultEmbeddedFormatsSupported = { - DefaultEmbeddedFormatsSupportedFmts, XpNumber(DefaultEmbeddedFormatsSupportedFmts) -}; - -static XpOidDocFmt ValidRawFormatsSupportedFmts[] = { - { "Postscript", "2", NULL } - -}; -static XpOidDocFmtList ValidRawFormatsSupported = { - ValidRawFormatsSupportedFmts, XpNumber(ValidRawFormatsSupportedFmts) -}; - -static XpOidDocFmt DefaultRawFormatsSupportedFmts[] = { - { "Postscript", "2", NULL } -}; -static XpOidDocFmtList DefaultRawFormatsSupported = { - DefaultRawFormatsSupportedFmts, XpNumber(DefaultRawFormatsSupportedFmts) -}; - -static XpOid ValidInputTraysOids[] = { - xpoid_val_input_tray_manual, - xpoid_val_input_tray_main, - xpoid_val_input_tray_envelope, - xpoid_val_input_tray_large_capacity, - xpoid_val_input_tray_bottom -}; -static XpOidList ValidInputTrays = { - ValidInputTraysOids, XpNumber(ValidInputTraysOids) -}; - -static XpOid ValidMediumSizesOids[] = { - xpoid_val_medium_size_iso_a0, - xpoid_val_medium_size_iso_a1, - xpoid_val_medium_size_iso_a2, - xpoid_val_medium_size_iso_a3, - xpoid_val_medium_size_iso_a4, - xpoid_val_medium_size_iso_a5, - xpoid_val_medium_size_iso_a6, - xpoid_val_medium_size_iso_a7, - xpoid_val_medium_size_iso_a8, - xpoid_val_medium_size_iso_a9, - xpoid_val_medium_size_iso_a10, - xpoid_val_medium_size_iso_b0, - xpoid_val_medium_size_iso_b1, - xpoid_val_medium_size_iso_b2, - xpoid_val_medium_size_iso_b3, - xpoid_val_medium_size_iso_b4, - xpoid_val_medium_size_iso_b5, - xpoid_val_medium_size_iso_b6, - xpoid_val_medium_size_iso_b7, - xpoid_val_medium_size_iso_b8, - xpoid_val_medium_size_iso_b9, - xpoid_val_medium_size_iso_b10, - xpoid_val_medium_size_na_letter, - xpoid_val_medium_size_na_legal, - xpoid_val_medium_size_executive, - xpoid_val_medium_size_folio, - xpoid_val_medium_size_invoice, - xpoid_val_medium_size_ledger, - xpoid_val_medium_size_quarto, - xpoid_val_medium_size_iso_c3, - xpoid_val_medium_size_iso_c4, - xpoid_val_medium_size_iso_c5, - xpoid_val_medium_size_iso_c6, - xpoid_val_medium_size_iso_designated_long, - xpoid_val_medium_size_na_10x13_envelope, - xpoid_val_medium_size_na_9x12_envelope, - xpoid_val_medium_size_na_number_10_envelope, - xpoid_val_medium_size_na_7x9_envelope, - xpoid_val_medium_size_na_9x11_envelope, - xpoid_val_medium_size_na_10x14_envelope, - xpoid_val_medium_size_na_number_9_envelope, - xpoid_val_medium_size_na_6x9_envelope, - xpoid_val_medium_size_na_10x15_envelope, - xpoid_val_medium_size_monarch_envelope, - xpoid_val_medium_size_a, - xpoid_val_medium_size_b, - xpoid_val_medium_size_c, - xpoid_val_medium_size_d, - xpoid_val_medium_size_e, - xpoid_val_medium_size_jis_b0, - xpoid_val_medium_size_jis_b1, - xpoid_val_medium_size_jis_b2, - xpoid_val_medium_size_jis_b3, - xpoid_val_medium_size_jis_b4, - xpoid_val_medium_size_jis_b5, - xpoid_val_medium_size_jis_b6, - xpoid_val_medium_size_jis_b7, - xpoid_val_medium_size_jis_b8, - xpoid_val_medium_size_jis_b9, - xpoid_val_medium_size_jis_b10, - xpoid_val_medium_size_hp_2x_postcard, - xpoid_val_medium_size_hp_european_edp, - xpoid_val_medium_size_hp_mini, - xpoid_val_medium_size_hp_postcard, - xpoid_val_medium_size_hp_tabloid, - xpoid_val_medium_size_hp_us_edp, - xpoid_val_medium_size_hp_us_government_legal, - xpoid_val_medium_size_hp_us_government_letter, -}; -static XpOidList ValidMediumSizes = { - ValidMediumSizesOids, XpNumber(ValidMediumSizesOids) -}; - -static XpOidDocFmt DefaultDocumentFormat = { - "Postscript", "2", NULL -}; - - -/* - * init struct for XpValidate*Pool - */ -XpValidatePoolsRec PsValidatePoolsRec = { - &ValidContentOrientations, &DefaultContentOrientations, - &ValidDocFormatsSupported, &DefaultDocFormatsSupported, - &ValidInputTrays, &ValidMediumSizes, - &ValidPlexes, &DefaultPlexes, - &ValidPrinterResolutions, &DefaultPrinterResolutions, - &ValidEmbeddedFormatsSupported, &DefaultEmbeddedFormatsSupported, - &ValidListfontsModes, &DefaultListfontsModes, - &ValidRawFormatsSupported, &DefaultRawFormatsSupported, - &ValidSetupProviso, - &DefaultDocumentFormat -}; diff --git a/xorg-server/hw/xprint/ps/PsAttr.c b/xorg-server/hw/xprint/ps/PsAttr.c deleted file mode 100644 index 0925716f5..000000000 --- a/xorg-server/hw/xprint/ps/PsAttr.c +++ /dev/null @@ -1,116 +0,0 @@ -/* - -Copyright 1996, 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. - -*/ -/* - * (c) Copyright 1996 Hewlett-Packard Company - * (c) Copyright 1996 International Business Machines Corp. - * (c) Copyright 1996 Sun Microsystems, Inc. - * (c) Copyright 1996 Novell, Inc. - * (c) Copyright 1996 Digital Equipment Corp. - * (c) Copyright 1996 Fujitsu Limited - * (c) Copyright 1996 Hitachi, Ltd. - * - * 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. - */ - -/******************************************************************* -** -** ********************************************************* -** * -** * File: PsAttr.c -** * -** * Contents: Attribute-handling functions for the PS driver -** * -** * Created By: Roger Helmendach (Liberty Systems) -** * -** * Copyright: Copyright 1996 The Open Group, Inc. -** * -** ********************************************************* -** -********************************************************************/ - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#include "Ps.h" -#include "attributes.h" - -char * -PsGetAttributes( - XpContextPtr pCon, - XPAttributes pool) -{ - return XpGetAttributes(pCon, pool); -} - -char * -PsGetOneAttribute( - XpContextPtr pCon, - XPAttributes pool, - char *attr) -{ - return XpGetOneAttribute(pCon, pool, attr); -} - -int -PsAugmentAttributes( - XpContextPtr pCon, - XPAttributes pool, - char *attrs) -{ - return XpAugmentAttributes(pCon, pool, attrs); -} - -int -PsSetAttributes( - XpContextPtr pCon, - XPAttributes pool, - char *attrs) -{ - return XpSetAttributes(pCon, pool, attrs); -} diff --git a/xorg-server/hw/xprint/ps/PsCache.c b/xorg-server/hw/xprint/ps/PsCache.c deleted file mode 100644 index 5c823a13e..000000000 --- a/xorg-server/hw/xprint/ps/PsCache.c +++ /dev/null @@ -1,328 +0,0 @@ -/* - -Copyright 1996, 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. - -*/ -/* - * (c) Copyright 1996 Hewlett-Packard Company - * (c) Copyright 1996 International Business Machines Corp. - * (c) Copyright 1996, 2000 Sun Microsystems, Inc. All Rights Reserved. - * (c) Copyright 1996 Novell, Inc. - * (c) Copyright 1996 Digital Equipment Corp. - * (c) Copyright 1996 Fujitsu Limited - * (c) Copyright 1996 Hitachi, Ltd. - * - * 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. - */ - -/******************************************************************* -** -** ********************************************************* -** * -** * File: PsCache.c -** * -** * Contents: Character-caching routines -** * -** * Created By: Jay Hobson (Sun MicroSystems) -** * -** * Copyright: Copyright 1996 The Open Group, Inc. -** * -** ********************************************************* -** -********************************************************************/ - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#include "Ps.h" -#include "gcstruct.h" -#include "windowstr.h" -#include -#include - -#define GET 0 -#define RESET 1 - -struct bm_cache_list { - struct bm_cache_list *next; - struct bm_cache_list *prev; - int height; - long id; - char *pBuffer; -}; - -struct bm_cache_head { - struct bm_cache_list *head; - int width; - struct bm_cache_head *next; - struct bm_cache_head *prev; -}; - -static struct bm_cache_head *bm_cache = NULL; - -static long -PsBmUniqueId(int func) -{ - static long unique_id = 0; - - if(func == RESET) - { - unique_id = 0; - return 0; - } - else - return ++unique_id; -} - -int -PsBmIsImageCached( - int gWidth, - int gHeight, - char *pBuffer) -{ - int return_val = 0; - struct bm_cache_head *pList = bm_cache; - - while(pList != NULL && !return_val) - { - if(pList->width == gWidth) - { - struct bm_cache_list *pItem = pList->head; - - while(pItem != NULL) - { - if(pItem->height == gHeight) - { - int length = 4*(gWidth/32+(gWidth%32!=0))*gHeight; - - if(!memcmp(pItem->pBuffer, pBuffer, sizeof(char)*length)) - { - return_val = pItem->id; - break; - } - } - else if(pItem->height > gHeight) - break; - - pItem = pItem->next; - } - } - else if(pList->width > gWidth) - break; - - pList = pList->next; - } - return return_val; -} - -int -PsBmPutImageInCache( - int gWidth, - int gHeight, - char *pBuffer) -{ - int return_val = 0; - struct bm_cache_head *pList = bm_cache; - struct bm_cache_list *pNew; - int length = 4*(gWidth/32+(gWidth%32!=0))*gHeight; - - if(gWidth == 1 && gHeight == 1 && pBuffer[0] == 0) - return return_val; - - pNew = (struct bm_cache_list *)malloc(sizeof(struct bm_cache_list)); - pNew->next = NULL; - pNew->prev = NULL; - pNew->height = gHeight; - pNew->id = PsBmUniqueId(GET); - pNew->pBuffer = (char *)malloc(sizeof(char)*length); - - memcpy(pNew->pBuffer, pBuffer, length); - - while(pList != NULL) - { - if(pList->width == gWidth) - { - struct bm_cache_list *pItem = pList->head; - - while(pItem != NULL) - { - if(pItem->height >= gHeight) - { - pNew->next = pItem; - pNew->prev = pItem->prev; - if(pItem->prev != NULL) - pItem->prev->next = pNew; - else - pList->head = pNew; - pItem->prev = pNew; - - return_val = pNew->id; - - break; - } - else if(pItem->next == NULL) - { - pNew->prev = pItem; - pItem->next = pNew; - - return_val = pNew->id; - - break; - } - - pItem = pItem->next; - } - - break; - } - - pList = pList->next; - } - - if(pList == NULL) - { - struct bm_cache_head *pNewList; - - pNewList = (struct bm_cache_head *)malloc(sizeof(struct bm_cache_head)); - - pNewList->next = NULL; - pNewList->prev = NULL; - pNewList->width = gWidth; - pNewList->head = pNew; - - if(bm_cache == NULL) - { - bm_cache = pNewList; - return_val = pNew->id; - } - else - { - pList = bm_cache; - - while(pList != NULL) - { - if(pList->width > gWidth) - { - pNewList->next = pList; - pNewList->prev = pList->prev; - - if(pList->prev != NULL) - pList->prev->next = pNewList; - else - bm_cache = pNewList; - pList->prev = pNewList; - - return_val = pNew->id; - - break; - } - else if(pList->next == NULL) - { - pNewList->prev = pList; - pList->next = pNewList; - - return_val = pNew->id; - - break; - } - - pList = pList->next; - } - } - } - - return return_val; -} - - -static void -PsBmClearImageCacheItem( - struct bm_cache_list *pItem) -{ - if(pItem != NULL) - { - if(pItem->pBuffer != NULL) - free(pItem->pBuffer); - pItem->pBuffer = NULL; - - if(pItem->next) - PsBmClearImageCacheItem(pItem->next); - pItem->next = NULL; - - free(pItem); - pItem = NULL; - } -} - -static void -PsBmClearImageCacheList( - struct bm_cache_head *pList) -{ - if(pList != NULL) - { - if(pList->head) - PsBmClearImageCacheItem(pList->head); - pList->head = NULL; - - if(pList->next) - PsBmClearImageCacheList(pList->next); - pList->next = NULL; - - free(pList); - pList = NULL; - } -} - -void -PsBmClearImageCache(void) -{ - PsBmClearImageCacheList(bm_cache); - - bm_cache = NULL; - - PsBmUniqueId(RESET); -} - diff --git a/xorg-server/hw/xprint/ps/PsColor.c b/xorg-server/hw/xprint/ps/PsColor.c deleted file mode 100644 index a91272db0..000000000 --- a/xorg-server/hw/xprint/ps/PsColor.c +++ /dev/null @@ -1,257 +0,0 @@ -/* - -Copyright 1996, 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. - -*/ -/* - * (c) Copyright 1996 Hewlett-Packard Company - * (c) Copyright 1996 International Business Machines Corp. - * (c) Copyright 1996 Sun Microsystems, Inc. - * (c) Copyright 1996 Novell, Inc. - * (c) Copyright 1996 Digital Equipment Corp. - * (c) Copyright 1996 Fujitsu Limited - * (c) Copyright 1996 Hitachi, Ltd. - * - * 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. - */ - -/******************************************************************* -** -** ********************************************************* -** * -** * File: PsColor.c -** * -** * Contents: Color routines for the PS driver -** * -** * Created By: Roger Helmendach (Liberty Systems) -** * -** * Copyright: Copyright 1996 The Open Group, Inc. -** * -** ********************************************************* -** -********************************************************************/ - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#include "Ps.h" -#include "mi.h" -#include "micmap.h" -#include "gcstruct.h" -#include "windowstr.h" -#include "colormapst.h" - -Bool -PsCreateColormap(ColormapPtr pColor) -{ - return miInitializeColormap(pColor); -} - -void -PsDestroyColormap(ColormapPtr pColor) -{ - /* NO-OP */ -} - -void -PsInstallColormap(ColormapPtr pColor) -{ - miInstallColormap(pColor); -} - -void -PsUninstallColormap(ColormapPtr pColor) -{ - miUninstallColormap(pColor); -} - -int -PsListInstalledColormaps( - ScreenPtr pScreen, - XID *pCmapList) -{ - return miListInstalledColormaps(pScreen, pCmapList); -} - -void -PsStoreColors( - ColormapPtr pColor, - int ndef, - xColorItem *pdefs) -{ - int i; - for( i=0 ; ired[pdefs[i].pixel].co.local.red = pdefs[i].red; - if( pdefs[i].flags&DoGreen ) - pColor->red[pdefs[i].pixel].co.local.green = pdefs[i].green; - if( pdefs[i].flags&DoBlue ) - pColor->red[pdefs[i].pixel].co.local.blue = pdefs[i].blue; - } -} - -void -PsResolveColor( - unsigned short *pRed, - unsigned short *pGreen, - unsigned short *pBlue, - VisualPtr pVisual) -{ - miResolveColor(pRed, pGreen, pBlue, pVisual); -} - -PsOutColor -PsGetPixelColor(ColormapPtr cMap, int pixval) -{ - VisualPtr v = cMap->pVisual; - switch( v->class ) - { - case TrueColor: - { - PsOutColor p = pixval; - PsOutColor r, g, b; - - r = (p & v->redMask) >> v->offsetRed; - g = (p & v->greenMask) >> v->offsetGreen; - b = (p & v->blueMask) >> v->offsetBlue; - - r = cMap->red[r].co.local.red; - g = cMap->green[g].co.local.green; - b = cMap->blue[b].co.local.blue; - -#ifdef PSOUT_USE_DEEPCOLOR - return((r<<32)|(g<<16)|b); -#else - r >>= 8; - g >>= 8; - b >>= 8; - - return((r<<16)|(g<<8)|b); -#endif /* PSOUT_USE_DEEPCOLOR */ - } - case PseudoColor: - case GrayScale: - case StaticGray: - { - PsOutColor r, g, b; - - if( pixval < 0 || pixval > v->ColormapEntries) - return(0); - - r = cMap->red[pixval].co.local.red; - g = cMap->red[pixval].co.local.green; - b = cMap->red[pixval].co.local.blue; - - if ((v->class | DynamicClass) == GrayScale) - { - /* rescale to gray (see |miResolveColor()|) */ - r = g = b = (30L*r + 59L*g + 11L*b) / 100L; - } - -#ifdef PSOUT_USE_DEEPCOLOR - return((r<<32)|(g<<16)|b); -#else - r >>= 8; - g >>= 8; - b >>= 8; - - return((r<<16)|(g<<8)|b); -#endif /* PSOUT_USE_DEEPCOLOR */ - } - default: - FatalError("PsGetPixelColor: Unsupported visual %x\n", - (int)cMap->pVisual->class); - break; - } - - return 0; /* NO-OP*/ -} - -void -PsSetFillColor(DrawablePtr pDrawable, GCPtr pGC, PsOutPtr psOut, - ColormapPtr cMap) -{ - switch(pGC->fillStyle) - { - case FillSolid: - PsOut_Color(psOut, PsGetPixelColor(cMap, pGC->fgPixel)); - break; - case FillTiled: - if( !PsOut_BeginPattern(psOut, pGC->tile.pixmap, - pGC->tile.pixmap->drawable.width, - pGC->tile.pixmap->drawable.height, PsTile, 0, 0) ) - { - PsReplayPixmap(pGC->tile.pixmap, pDrawable); - PsOut_EndPattern(psOut); - } - PsOut_SetPattern(psOut, pGC->tile.pixmap, PsTile); - break; - case FillStippled: - if( !PsOut_BeginPattern(psOut, pGC->stipple, - pGC->stipple->drawable.width, - pGC->stipple->drawable.height, PsStip, 0, - PsGetPixelColor(cMap, pGC->fgPixel)) ) - { - PsReplayPixmap(pGC->stipple, pDrawable); - PsOut_EndPattern(psOut); - } - PsOut_SetPattern(psOut, pGC->stipple, PsStip); - break; - case FillOpaqueStippled: - if( !PsOut_BeginPattern(psOut, pGC->stipple, - pGC->stipple->drawable.width, - pGC->stipple->drawable.height, PsOpStip, - PsGetPixelColor(cMap, pGC->bgPixel), - PsGetPixelColor(cMap, pGC->fgPixel)) ) - { - PsReplayPixmap(pGC->stipple, pDrawable); - PsOut_EndPattern(psOut); - } - PsOut_SetPattern(psOut, pGC->stipple, PsOpStip); - break; - } -} diff --git a/xorg-server/hw/xprint/ps/PsDef.h b/xorg-server/hw/xprint/ps/PsDef.h deleted file mode 100644 index 5af274dec..000000000 --- a/xorg-server/hw/xprint/ps/PsDef.h +++ /dev/null @@ -1,96 +0,0 @@ -/* - -Copyright 1996, 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. - -*/ -/* - * (c) Copyright 1996 Hewlett-Packard Company - * (c) Copyright 1996 International Business Machines Corp. - * (c) Copyright 1996 Sun Microsystems, Inc. - * (c) Copyright 1996 Novell, Inc. - * (c) Copyright 1996 Digital Equipment Corp. - * (c) Copyright 1996 Fujitsu Limited - * (c) Copyright 1996 Hitachi, Ltd. - * - * 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. - */ - -/******************************************************************* -** -** ********************************************************* -** * -** * File: PsDef.h -** * -** * Contents: extran defines and includes for the Ps driver -** * for a printing X server. -** * -** * Created By: Roger Helmendach (Liberty Systems) -** * -** * Copyright: Copyright 1996 The Open Group, Inc. -** * -** ********************************************************* -** -********************************************************************/ -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#ifndef _PSDEF_H_ -#define _PSDEF_H_ - -#define DT_PRINT_JOB_HEADER "DT_PRINT_JOB_HEADER" -#define DT_PRINT_JOB_TRAILER "DT_PRINT_JOB_TRAILER" -#define DT_PRINT_JOB_COMMAND "DT_PRINT_JOB_COMMAND" -#define DT_PRINT_JOB_EXEC_COMMAND "DT_PRINT_JOB_EXEC_COMMAND" -#define DT_PRINT_JOB_EXEC_OPTIONS "DT_PRINT_JOB_EXEC_OPTION" -#define DT_PRINT_PAGE_HEADER "DT_PRINT_PAGE_HEADER" -#define DT_PRINT_PAGE_TRAILER "DT_PRINT_PAGE_TRAILER" -#define DT_PRINT_PAGE_COMMAND "DT_PRINT_PAGE_COMMAND" - -#define DT_IN_FILE_STRING "%(InFile)%" -#define DT_OUT_FILE_STRING "%(OutFile)%" -#define DT_ALLOWED_COMMANDS_FILE "printCommands" - -#endif /* _PSDEF_H_ */ diff --git a/xorg-server/hw/xprint/ps/PsFTFonts.c b/xorg-server/hw/xprint/ps/PsFTFonts.c deleted file mode 100644 index 8857ae43e..000000000 --- a/xorg-server/hw/xprint/ps/PsFTFonts.c +++ /dev/null @@ -1,85 +0,0 @@ - -/* -Copyright (c) 2003-2004 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 -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. -*/ - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#include -#include -#include - -#include "regionstr.h" -#include -#include "dixfontstr.h" -#include "scrnintstr.h" -#include -#include -#include - -#include "Ps.h" - -#include -#include FT_FREETYPE_H - -#include -#define NOT_IN_FTFUNCS -#include - -char * -PsGetFTFontFileName(FontPtr pFont) -{ - FTFontPtr tf = (FTFontPtr)pFont->fontPrivate; - return tf->instance->face->filename; -} - -Bool -PsIsFreeTypeFont(FontPtr pFont) -{ - int i; - int nprops = pFont->info.nprops; - FontPropPtr props = pFont->info.props; - /* "RASTERIZER_NAME" must match the rasterizer name set in - * xc/lib/font/FreeType/ftfuncs.c */ - Atom name = MakeAtom("RASTERIZER_NAME", 15, True); - Atom value = (Atom)0; - char *rv; - - for( i=0 ; i -#endif - -#include "regionstr.h" -#include -#include "dixfontstr.h" -#include "scrnintstr.h" -#include -#include -#include - -#include "Ps.h" - -#include -#include -#include - -Bool -PsRealizeFont( - ScreenPtr pscr, - FontPtr pFont) -{ - return TRUE; -} - -Bool -PsUnrealizeFont( - ScreenPtr pscr, - FontPtr pFont) -{ - return TRUE; -} - -char * -PsGetFontName(FontPtr pFont) -{ - int i; - int nprops = pFont->info.nprops; - FontPropPtr props = pFont->info.props; - Atom name = MakeAtom("FONT", 4, True); - Atom value = (Atom)0; - - for( i=0 ; iinfo.nprops; - FontPropPtr props = pFont->info.props; - /* "_ADOBE_POSTSCRIPT_FONTNAME" maps directly to a PMF OBJ_NAME attribute - * name - changing the name will break printer-builtin fonts. */ - Atom name = MakeAtom("_ADOBE_POSTSCRIPT_FONTNAME", 26, True); - Atom value = (Atom)0; - - for( i=0 ; iinfo.nprops; - FontPropPtr props = pFont->info.props; - Atom reg = MakeAtom("CHARSET_REGISTRY", 16, True); - Atom enc = MakeAtom("CHARSET_ENCODING", 16, True); - Atom rv = 0, ev = 0; - char *rp = 0; - char *ep = 0; - - for( i=0 ; iinfo.nprops; - FontPropPtr props = pFont->info.props; - Atom fnt = MakeAtom("FONT", 4, True); - Atom reg = MakeAtom("CHARSET_REGISTRY", 16, True); - Atom enc = MakeAtom("CHARSET_ENCODING", 16, True); - Atom fv = 0, rv = 0, ev = 0; - char *fp = 0; - char *rp = 0; - char *ep = 0; - char *encname; - - for( i=0 ; ifpe->name == "tcp/:7100")) - */ -static -Bool IsFPEaReadableDir(FontPtr pFont) -{ - const char *fpe_name = pFont->fpe->name; - if (!fpe_name) - return False; - -#define MODEL_FONTPATH_PREFIX "PRINTER:" -#define MODEL_FONTPATH_PREFIX_LEN 8 - /* Strip model-specific font path prefix if there is one... */ - if (!strncmp(fpe_name, MODEL_FONTPATH_PREFIX, MODEL_FONTPATH_PREFIX_LEN)) - fpe_name += MODEL_FONTPATH_PREFIX_LEN; - - if (access(fpe_name, F_OK) == 0) - { - return True; - } - - return False; -} - -static -char *getFontFilename(FontPtr pFont) -{ - FontDirectoryPtr dir; - const char *dlfnam; - FILE *file; - struct stat statb; - char buf[512]; - char *front, *fn; - char font_dir_fname[PATH_MAX], /* Full path of fonts.dir */ - font_file_fname[PATH_MAX]; /* Name of font file (excluding path) */ - -#ifdef XP_USE_FREETYPE - if( PsIsFreeTypeFont(pFont) ) - { - const char *fontname = PsGetFTFontFileName(pFont); - -#ifdef DEBUG_gisburn - fprintf(stderr, "getFontFilename: freetype font, file='%s'\n", fontname?fontname:""); -#endif /* DEBUG_gisburn */ - - if( !fontname ) - return NULL; - - return strdup(fontname); - } -#endif /* XP_USE_FREETYPE */ - - if (!IsFPEaReadableDir(pFont)) - { -#ifdef DEBUG_gisburn - fprintf(stderr, "getFontFilename: '%s' no valid font path on disk\n", pFont->fpe->name); -#endif /* DEBUG_gisburn */ - return NULL; - } - - dir = pFont->fpe->private; - sprintf(font_dir_fname, "%s%s", dir->directory, "fonts.dir"); - - if (!(dlfnam = PsGetFontName(pFont))) - return NULL; - - file = fopen(font_dir_fname, "r"); - if (file) - { - if (fstat (fileno(file), &statb) == -1) - return NULL; - - while( fgets(buf, sizeof(buf)-1, file) ) - { - if ((fn = strstr(buf, " -"))) - { - strcpy(font_file_fname, buf); - font_file_fname[fn - buf] = '\0'; - fn++; - if ((front = str_case_str(fn, "normal-"))) - { - fn[front - fn] = '\0'; - if (str_case_str(dlfnam, fn)) - { - char full_font_file_path[PATH_MAX]; - - fclose(file); - - sprintf(full_font_file_path, "%s%s", dir->directory, font_file_fname); - -#ifdef xDEBUG_gisburn - fprintf(stderr, "getFontFilename: returning '%s'\n", full_font_file_path); -#endif /* DEBUG_gisburn */ - return strdup(full_font_file_path); - } - } - } - } - } - font_file_fname[0] = '\0'; - fclose(file); - -#ifdef DEBUG_gisburn - fprintf(stderr, "getFontFilename: returning NULL\n"); -#endif /* DEBUG_gisburn */ - - return NULL; -} - -static -PsFontTypeInfoRec *PsFindFontTypeInfoRec(DrawablePtr pDrawable, FontPtr pFont) -{ - PsContextPrivRec *cPriv = PsGetPsContextPriv(pDrawable); - PsFontTypeInfoRec *rec; - const char *psname; - char *font_filename; - char *encname; -#ifdef XP_USE_FREETYPE - Bool is_freetypefont; -#endif /* XP_USE_FREETYPE */ - -#ifdef XP_USE_FREETYPE - is_freetypefont = PsIsFreeTypeFont(pFont); -#endif /* XP_USE_FREETYPE */ - encname = PsGetEncodingName(pFont); - - /* First try: Search by PostScript font name */ - psname = PsGetPSFontName(pFont); - if (psname) - { - for( rec = cPriv->fontTypeInfoRecords ; rec != NULL ; rec = rec->next ) - { -#ifdef XP_USE_FREETYPE - if (is_freetypefont) - { - if (rec->adobe_ps_name) - { - if ((rec->font_type == PSFTI_FONT_TYPE_FREETYPE) && - (!strcmp(rec->adobe_ps_name, psname)) && - (!strcmp(rec->ft_download_encoding, encname))) - { - return rec; - } - } - } - else -#endif /* XP_USE_FREETYPE */ - { - if (rec->adobe_ps_name) - { - if ((rec->font_type != PSFTI_FONT_TYPE_FREETYPE) && - (!strcmp(rec->adobe_ps_name, psname))) - { - return rec; - } - } - } - } - } - - /* Last attempt: Search by filename */ - font_filename = getFontFilename(pFont); - if (font_filename) - { - for( rec = cPriv->fontTypeInfoRecords ; rec != NULL ; rec = rec->next ) - { - if (rec->filename) - { -#ifdef XP_USE_FREETYPE - if (is_freetypefont) - { - if ( (rec->font_type == PSFTI_FONT_TYPE_FREETYPE) && - (!strcasecmp(rec->filename, font_filename)) && - (!strcasecmp(rec->ft_download_encoding, encname)) ) - { - free(font_filename); - return rec; - } - } - else -#endif /* XP_USE_FREETYPE */ - { - if ( (rec->font_type != PSFTI_FONT_TYPE_FREETYPE) && - (!strcasecmp(rec->filename, font_filename)) ) - { - free(font_filename); - return rec; - } - } - } - } - - free(font_filename); - } - - return NULL; -} - -static -void PsAddFontTypeInfoRec(DrawablePtr pDrawable, PsFontTypeInfoRec *add_rec) -{ - PsContextPrivRec *cPriv = PsGetPsContextPriv(pDrawable); - - /* ToDO: Always move the last used entry to the top that the list get's - * sorted in an efficient order... :-) */ - add_rec->next = cPriv->fontTypeInfoRecords; - cPriv->fontTypeInfoRecords = add_rec; -} - -static -Bool strcaseendswith(const char *str, const char *suffix) -{ - const char *s; - - s = str + strlen(str) - strlen(suffix); - - if (!strcasecmp(s, suffix)) - return True; - - return False; -} - - -static -int getFontFileType( const char *filename ) -{ - int type; - - /* Is this a Adobe PostScript Type 1 binary font (PFB) ? */ - if( strcaseendswith(filename, ".pfb") ) - { - type = PSFTI_FONT_TYPE_PS_TYPE1_PFB; - } - /* Is this a Adobe PostScript ASCII font (PFA) ? */ - else if( strcaseendswith(filename, ".pfa") ) - { - type = PSFTI_FONT_TYPE_PS_TYPE1_PFA; - } - /* Is this a PMF(=Printer Metrics File) ? */ - else if( strcaseendswith(filename, ".pmf") ) - { - type = PSFTI_FONT_TYPE_PMF; - } - /* Is this a TrueType font file ? */ - else if( strcaseendswith(filename, ".ttf") || - strcaseendswith(filename, ".ttc") || - strcaseendswith(filename, ".otf") || - strcaseendswith(filename, ".otc") ) - { - type = PSFTI_FONT_TYPE_TRUETYPE; - } - else - { - type = PSFTI_FONT_TYPE_OTHER; - } - -#ifdef XP_USE_FREETYPE - { - XpContextPtr pCon; - char *downloadfonts; - pCon = XpGetPrintContext(requestingClient); - downloadfonts = XpGetOneAttribute(pCon, XPPrinterAttr, "xp-psddx-download-fonts"); - if( downloadfonts ) - { - /* Should we download PS Type1 fonts as PS Type1||Type3 ? */ - if( (type == PSFTI_FONT_TYPE_PS_TYPE1_PFA) && - (strstr(downloadfonts, "pfa") != NULL) ) - { - type = PSFTI_FONT_TYPE_FREETYPE; - } - - if( (type == PSFTI_FONT_TYPE_PS_TYPE1_PFB) && - (strstr(downloadfonts, "pfb") != NULL) ) - { - type = PSFTI_FONT_TYPE_FREETYPE; - } - - /* Should we download TrueType fonts as PS Type1||Type3 ? */ - if( (type == PSFTI_FONT_TYPE_TRUETYPE) && - ((strstr(downloadfonts, "ttf") != NULL) || - (strstr(downloadfonts, "ttc") != NULL) || - (strstr(downloadfonts, "otf") != NULL) || - (strstr(downloadfonts, "otc") != NULL)) ) - { - type = PSFTI_FONT_TYPE_FREETYPE; - } - } - } -#endif /* XP_USE_FREETYPE */ - -#ifdef DEBUG_gisburn - fprintf(stderr, "getFontFileType: '%s' is %d\n", filename, (int)type); -#endif /* DEBUG_gisburn */ - return type; -} - -PsFTDownloadFontType PsGetFTDownloadFontType(void) -{ - PsFTDownloadFontType downloadfonttype; - XpContextPtr pCon; - char *psfonttype; - - pCon = XpGetPrintContext(requestingClient); - psfonttype = XpGetOneAttribute(pCon, XPPrinterAttr, "xp-psddx-download-font-type"); - - if( !psfonttype || !strlen(psfonttype) ) - { - return PsFontType1; /* Default download font type is PS Type1 */ - } - - if( !strcmp(psfonttype, "bitmap") ) - { - downloadfonttype = PsFontBitmap; - } - else if( !strcmp(psfonttype, "pstype3") ) - { - downloadfonttype = PsFontType3; - } - else if( !strcmp(psfonttype, "pstype1") ) - { - downloadfonttype = PsFontType1; - } - else - { - FatalError("PS DDX: XPPrinterAttr/xp-psddx-download-freetype-font-type='%s' not implemented\n", psfonttype); - return 0; /* NO-OP, FatalError() will call |exit()| */ - } - - return downloadfonttype; -} - -static -PsFontTypeInfoRec *PsCreateFontTypeInfoRec(DrawablePtr pDrawable, FontPtr pFont) -{ - char *dlfnam; - PsFontTypeInfoRec *rec; - - if (!(dlfnam = PsGetFontName(pFont))) - return NULL; - - if (!(rec = (PsFontTypeInfoRec *)xalloc(sizeof(PsFontTypeInfoRec)))) - return NULL; - memset(rec, 0, sizeof(PsFontTypeInfoRec)); - - rec->next = NULL; - - if ((rec->filename = getFontFilename(pFont))) - { - rec->font_type = getFontFileType(rec->filename); - } - else - { - rec->filename = NULL; - rec->font_type = PSFTI_FONT_TYPE_OTHER; - } - - rec->adobe_ps_name = PsGetPSFontName(pFont); -#ifdef XP_USE_FREETYPE - rec->ft_download_encoding = PsGetEncodingName(pFont); - rec->ft_download_font_type = PsGetFTDownloadFontType(); -#endif /* XP_USE_FREETYPE */ - rec->download_ps_name = NULL; - -#define SET_FONT_DOWNLOAD_STATUS(rec, downloaded) { int i; for (i = 0 ; i < 256 ; i++) { (rec)->alreadyDownloaded[i]=(downloaded); } } - - /* Set some flags based on the font type */ - switch( rec->font_type ) - { - case PSFTI_FONT_TYPE_PS_TYPE1_PFA: - case PSFTI_FONT_TYPE_PS_TYPE1_PFB: - rec->downloadableFont = True; - SET_FONT_DOWNLOAD_STATUS(rec, False); - rec->is_iso_encoding = PsIsISOLatin1Encoding(pFont); - break; - - case PSFTI_FONT_TYPE_PMF: - rec->downloadableFont = True; /* This font is in printer's ROM */ - SET_FONT_DOWNLOAD_STATUS(rec, True); - rec->is_iso_encoding = PsIsISOLatin1Encoding(pFont); - break; - - case PSFTI_FONT_TYPE_TRUETYPE: - /* Note: TrueType font download not implemented */ - rec->downloadableFont = False; - SET_FONT_DOWNLOAD_STATUS(rec, False); - rec->is_iso_encoding = PsIsISOLatin1Encoding(pFont); - break; - -#ifdef XP_USE_FREETYPE - case PSFTI_FONT_TYPE_FREETYPE: - if( rec->ft_download_font_type == PsFontType1 || - rec->ft_download_font_type == PsFontType3 ) - { - rec->downloadableFont = True; - } - else - { - rec->downloadableFont = False; - } - - SET_FONT_DOWNLOAD_STATUS(rec, False); - rec->is_iso_encoding = False; /* Freetype--->PS Type1/Type3 uses always non-iso PS encoding for now */ - break; -#endif /* XP_USE_FREETYPE */ - - case PSFTI_FONT_TYPE_OTHER: - default: - rec->downloadableFont = False; - SET_FONT_DOWNLOAD_STATUS(rec, False); - rec->is_iso_encoding = PsIsISOLatin1Encoding(pFont); - break; - } - -#ifdef XP_USE_FREETYPE - if( (rec->font_type == PSFTI_FONT_TYPE_FREETYPE) ) - { - char *s; - register int c; - - if( rec->adobe_ps_name ) - { - rec->download_ps_name = malloc(strlen(rec->adobe_ps_name) + strlen(rec->ft_download_encoding) + 2); - sprintf(rec->download_ps_name, "%s_%s", rec->adobe_ps_name, rec->ft_download_encoding); - } - else - { - /* Unfortunately not all TTF fonts have a PostScript font name (like - * Solaris TTF fonts in /usr/openwin/lib/locale/ko.UTF-8/X11/fonts/TrueType, - * /usr/openwin/lib/locale/ko/X11/fonts/TrueType) - in this case we - * have to generate a font name - */ - char ftfontname[64]; - static long myfontindex = 0L; - sprintf(ftfontname, "psfont_%lx", myfontindex++); - - rec->download_ps_name = malloc(strlen(ftfontname) + strlen(rec->ft_download_encoding) + 2); - sprintf(rec->download_ps_name, "%s_%s", ftfontname, rec->ft_download_encoding); - - fprintf(stderr, "PsCreateFontTypeInfoRec: Note: '%s' has no PS font name, using '%s' for now.\n", dlfnam, rec->download_ps_name); - } - - /* Make sure the font name we use for download is a valid PS font name */ - for( s = rec->download_ps_name ; *s != '\0'; s++ ) - { - c = *s; - - /* Check for allowed chars, invalid ones are replaced with a '_' - * (and check that the first char is not a digit) */ - if( !(isalnum(c) || c == '.' || c == '_' || c == '-') || (s==rec->download_ps_name && isdigit(c)) ) - { - *s = '_'; - } - } - } - else -#endif /* XP_USE_FREETYPE */ - { - if( rec->adobe_ps_name ) - { - rec->download_ps_name = strdup(rec->adobe_ps_name); - } - else - { - rec->download_ps_name = NULL; - } - } - - /* Safeguard - only treat font as downloadable when we have a PS font name!! */ - if (!rec->download_ps_name && rec->downloadableFont) - { - /* XXX: Log this message to the log when the logging service has been hook'ed up */ - fprintf(stderr, "PsCreateFontTypeInfoRec: Safeguard: No PS font name for '%s'!\n", dlfnam); - rec->downloadableFont = False; - } - -#ifdef DEBUG_gisburn - fprintf(stderr, "PsCreateFontTypeInfoRec: Created PsFontTypeInfoRec '%s' ('%s'/'%s')\n", - ((rec->filename) ?(rec->filename) :("")), - ((rec->adobe_ps_name) ?(rec->adobe_ps_name):("")), - ((rec->download_ps_name)?(rec->download_ps_name):(""))); -#endif /* DEBUG_gisburn */ - - return rec; -} - -static -PsFontTypeInfoRec *PsGetFontTypeInfoRec(DrawablePtr pDrawable, FontPtr pFont) -{ - PsFontTypeInfoRec *rec; - char *dlfnam; - - if(!(dlfnam = PsGetFontName(pFont))) - return NULL; - - rec = PsFindFontTypeInfoRec(pDrawable, pFont); - if (rec) - return rec; - - rec = PsCreateFontTypeInfoRec(pDrawable, pFont); - if (!rec) - return NULL; - - PsAddFontTypeInfoRec(pDrawable, rec); - - return rec; -} - -static -void PsFreeFontTypeInfoRecords( PsContextPrivPtr priv ) -{ - PsFontTypeInfoRec *curr, *next; - curr = priv->fontTypeInfoRecords; - while( curr != NULL ) - { - if (curr->filename) - free(curr->filename); /* Free memory allocated by |strdup()| */ - - if (curr->download_ps_name) - free(curr->download_ps_name); - - next = curr->next; - xfree(curr); - curr = next; - } -} - -static -PsFontInfoRec *PsFindFontInfoRec(DrawablePtr pDrawable, FontPtr pFont) -{ - PsContextPrivRec *cPriv = PsGetPsContextPriv(pDrawable); - PsFontInfoRec *rec; - - if (!pFont) - return NULL; - - for( rec = cPriv->fontInfoRecords ; rec != NULL ; rec = rec->next ) - { - if ((rec->font == pFont) && - (rec->font_fontPrivate == pFont->fontPrivate)) - return rec; - } - - return NULL; -} - -static -void PsAddFontInfoRec(DrawablePtr pDrawable, PsFontInfoRec *add_rec) -{ - PsContextPrivRec *cPriv = PsGetPsContextPriv(pDrawable); - - /* ToDO: Always move the last used entry to the top that the list get's - * sorted in an efficient order... :-) */ - add_rec->next = cPriv->fontInfoRecords; - cPriv->fontInfoRecords = add_rec; -} - -static -PsFontInfoRec *PsCreateFontInfoRec(DrawablePtr pDrawable, FontPtr pFont) -{ - PsFontInfoRec *rec; - PsFontTypeInfoRec *ftir; - - if (!(ftir = PsGetFontTypeInfoRec(pDrawable, pFont))) - return NULL; - - if (!(rec = (PsFontInfoRec *)xalloc(sizeof(PsFontInfoRec)))) - return NULL; - memset(rec, 0, sizeof(PsFontInfoRec)); - - rec->font = pFont; - rec->font_fontPrivate = pFont->fontPrivate; - rec->ftir = ftir; - rec->next = NULL; - rec->dfl_name = PsGetFontName(pFont); - rec->size = PsGetFontSize(pFont, rec->mtx); - -#ifdef DEBUG_gisburn - fprintf(stderr, "PsCreateFontInfoRec: Created PsFontInfoRec '%s'\n", - ((rec->dfl_name)?(rec->dfl_name):(""))); -#endif /* DEBUG_gisburn */ - - return rec; -} - -PsFontInfoRec *PsGetFontInfoRec(DrawablePtr pDrawable, FontPtr pFont) -{ - PsFontInfoRec *rec; - - rec = PsFindFontInfoRec(pDrawable, pFont); - if (rec) - return rec; - - rec = PsCreateFontInfoRec(pDrawable, pFont); - if (!rec) - return NULL; - - PsAddFontInfoRec(pDrawable, rec); - - return rec; -} - -void PsFreeFontInfoRecords( PsContextPrivPtr priv ) -{ - PsFontInfoRec *curr, *next; - curr = priv->fontInfoRecords; - while( curr != NULL ) - { - next = curr->next; - xfree(curr); - curr = next; - } - - PsFreeFontTypeInfoRecords(priv); - - priv->fontTypeInfoRecords = NULL; - priv->fontInfoRecords = NULL; -} diff --git a/xorg-server/hw/xprint/ps/PsGC.c b/xorg-server/hw/xprint/ps/PsGC.c deleted file mode 100644 index 19898c90e..000000000 --- a/xorg-server/hw/xprint/ps/PsGC.c +++ /dev/null @@ -1,418 +0,0 @@ -/* - -Copyright 1996, 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. - -*/ -/* - * (c) Copyright 1996 Hewlett-Packard Company - * (c) Copyright 1996 International Business Machines Corp. - * (c) Copyright 1996 Sun Microsystems, Inc. - * (c) Copyright 1996 Novell, Inc. - * (c) Copyright 1996 Digital Equipment Corp. - * (c) Copyright 1996 Fujitsu Limited - * (c) Copyright 1996 Hitachi, Ltd. - * - * 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. - */ - -/******************************************************************* -** -** ********************************************************* -** * -** * File: PsGC.c -** * -** * Contents: Graphics Context handling for the PS driver -** * -** * Created By: Roger Helmendach (Liberty Systems) -** * -** * Copyright: Copyright 1996 The Open Group, Inc. -** * -** ********************************************************* -** -********************************************************************/ - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#include "Ps.h" -#include "gcstruct.h" -#include "pixmapstr.h" -#include "windowstr.h" -#include "migc.h" -#include "scrnintstr.h" - -static GCOps PsGCOps = -{ - PsFillSpans, - PsSetSpans, - PsPutImage, - PsCopyArea, - PsCopyPlane, - PsPolyPoint, - PsPolyLine, - PsPolySegment, - PsPolyRectangle, - PsPolyArc, - PsFillPolygon, - PsPolyFillRect, - PsPolyFillArc, - PsPolyText8, - PsPolyText16, - PsImageText8, - PsImageText16, - PsImageGlyphBlt, - PsPolyGlyphBlt, - PsPushPixels -}; - - -static GCFuncs PsGCFuncs = -{ - PsValidateGC, - PsChangeGC, - PsCopyGC, - PsDestroyGC, - PsChangeClip, - PsDestroyClip, - PsCopyClip -}; - -Bool -PsCreateGC(pGC) - GCPtr pGC; -{ - pGC->clientClip = NULL; - pGC->clientClipType = CT_NONE; - - pGC->ops = &PsGCOps; - pGC->funcs = &PsGCFuncs; - - pGC->clientClip = (pointer)xalloc(sizeof(PsClipRec)); - memset(pGC->clientClip, 0, sizeof(PsClipRec)); - return TRUE; -} - -static int -PsGetDrawablePrivateStuff( - DrawablePtr pDrawable, - GC *gc, - unsigned long *valid, - PsOutPtr *psOut, - ColormapPtr *cMap) -{ - XpContextPtr pCon; - PsContextPrivPtr cPriv; - PsScreenPrivPtr sPriv; - - switch(pDrawable->type) - { - case DRAWABLE_PIXMAP: - return FALSE; - case DRAWABLE_WINDOW: - pCon = PsGetContextFromWindow((WindowPtr)pDrawable); - if( pCon==NULL ) return FALSE; - else - { - Colormap c; - ColormapPtr cmap; - - c = wColormap((WindowPtr)pDrawable); - cmap = (ColormapPtr)LookupIDByType(c, RT_COLORMAP); - - cPriv = (PsContextPrivPtr) - dixLookupPrivate(&pCon->devPrivates, PsContextPrivateKey); - sPriv = (PsScreenPrivPtr) - dixLookupPrivate(&pDrawable->pScreen->devPrivates, - PsScreenPrivateKey); - *gc = cPriv->lastGC; - *valid = cPriv->validGC; - *psOut = cPriv->pPsOut; - *cMap = cmap; - return TRUE; - } - default: - return FALSE; - } -} - -PsContextPrivPtr -PsGetPsContextPriv( DrawablePtr pDrawable ) -{ - XpContextPtr pCon; - - switch(pDrawable->type) - { - case DRAWABLE_PIXMAP: - return FALSE; - case DRAWABLE_WINDOW: - pCon = PsGetContextFromWindow((WindowPtr)pDrawable); - if (pCon != NULL) - { - return (PsContextPrivPtr) - dixLookupPrivate(&pCon->devPrivates, PsContextPrivateKey); - } - } - return NULL; -} - -int -PsUpdateDrawableGC( - GCPtr pGC, - DrawablePtr pDrawable, - PsOutPtr *psOut, - ColormapPtr *cMap) -{ - GC dGC; - unsigned long valid; - int i; - PsContextPrivPtr cPriv; - BoxPtr boxes; - - if (!PsGetDrawablePrivateStuff(pDrawable, &dGC, &valid, psOut, cMap)) - return FALSE; - - switch (pDrawable->type) { - - case DRAWABLE_PIXMAP: - /* we don't support pixmaps yet! */ - return FALSE; - break; - case DRAWABLE_WINDOW: - if( pGC ) - { - RegionPtr pReg; - WindowPtr pWin = (WindowPtr)pDrawable; - Bool freeClip; - PsClipPtr clp = (PsClipPtr)pGC->clientClip; - if( clp->outterClips ) - { xfree(clp->outterClips); clp->outterClips = 0; } - clp->nOutterClips = 0; - if( pGC->subWindowMode==IncludeInferiors ) - { - pReg = NotClippedByChildren(pWin); - freeClip = TRUE; - } - else - { - pReg = &pWin->clipList; - freeClip = FALSE; - } - - if( pReg->data ) - { - boxes = (BoxPtr)((char *)pReg->data+sizeof(long)*2); - clp->nOutterClips = pReg->data->numRects; - clp->outterClips = - (PsRectPtr)xalloc(clp->nOutterClips*sizeof(PsRectRec)); - for( i=0 ; inOutterClips ; i++ ) - { - clp->outterClips[i].x = boxes[i].x1; - clp->outterClips[i].y = boxes[i].y1; - clp->outterClips[i].w = (boxes[i].x2-boxes[i].x1)+1; - clp->outterClips[i].h = (boxes[i].y2-boxes[i].y1)+1; - } - } - - if( freeClip ) REGION_DESTROY(pGC->pScreen, pReg); - PsOut_Offset(*psOut, pDrawable->x, pDrawable->y); - PsOut_Clip(*psOut, pGC->clientClipType, (PsClipPtr)pGC->clientClip); - } - cPriv = (PsContextPrivPtr)dixLookupPrivate( - &PsGetContextFromWindow((WindowPtr)pDrawable)->devPrivates, - PsContextPrivateKey); - break; - } - return TRUE; -} - -void -PsValidateGC(GCPtr pGC, unsigned long changes, DrawablePtr pDrawable) -{ - pGC->ops = &PsGCOps; -} - -void -PsChangeGC(GCPtr pGC, unsigned long changes) -{ -} - -void -PsCopyGC(GCPtr pGCSrc, unsigned long mask, GCPtr pGCDst) -{ -} - -void -PsDestroyGC(GCPtr pGC) -{ - PsDestroyClip(pGC); - xfree(pGC->clientClip); -} - -void -PsChangeClip(GCPtr pGC, int type, pointer pValue, int nrects) -{ - int i; - PsClipPtr clp = (PsClipPtr)pGC->clientClip; - RegionPtr rgn; - BoxPtr boxes; - xRectangle *rects; - - PsDestroyClip(pGC); - pGC->clientClipType = type; - switch(type) - { - case CT_NONE: break; - case CT_PIXMAP: - clp->elms = PsCreateFillElementList((PixmapPtr)pValue, &clp->nElms); - (*pGC->pScreen->DestroyPixmap)((PixmapPtr)pValue); - break; - case CT_REGION: - rgn = (RegionPtr)pValue; - boxes = (BoxPtr)((char *)rgn->data+sizeof(long)*2); - clp->nRects = rgn->data->numRects; - clp->rects = (PsRectPtr)xalloc(clp->nRects*sizeof(PsRectRec)); - for( i=0 ; inRects ; i++ ) - { - clp->rects[i].x = boxes[i].x1; - clp->rects[i].y = boxes[i].y1; - clp->rects[i].w = (boxes[i].x2-boxes[i].x1)+1; - clp->rects[i].h = (boxes[i].y2-boxes[i].y1)+1; - } - REGION_DESTROY(pGC->pScreen, (RegionPtr)pValue); - break; - case CT_UNSORTED: - case CT_YSORTED: - case CT_YXSORTED: - case CT_YXBANDED: - rects = (xRectangle *)pValue; - clp->nRects = nrects; - clp->rects = (PsRectPtr)xalloc(clp->nRects*sizeof(PsRectRec)); - for( i=0 ; inRects ; i++ ) - { - clp->rects[i].x = rects[i].x; - clp->rects[i].y = rects[i].y; - clp->rects[i].w = rects[i].width; - clp->rects[i].h = rects[i].height; - } - xfree(pValue); - break; - } -} - -void -PsDestroyClip(GCPtr pGC) -{ - PsClipPtr clp = (PsClipPtr)pGC->clientClip; - - if( clp->rects ) xfree(clp->rects); - if( clp->outterClips ) xfree(clp->outterClips); - clp->rects = (PsRectPtr)0; - clp->outterClips = (PsRectPtr)0; - clp->nRects = 0; - clp->nOutterClips = 0; - if( clp->elms ) PsDestroyFillElementList(clp->nElms, clp->elms); - clp->elms = (PsElmPtr)0; - clp->nElms = 0; - pGC->clientClipType = CT_NONE; -} - -void -PsCopyClip(GCPtr pDst, GCPtr pSrc) -{ - PsClipPtr src = (PsClipPtr)pSrc->clientClip; - PsClipPtr dst = (PsClipPtr)pDst->clientClip; - - PsDestroyClip(pDst); - pDst->clientClipType = pSrc->clientClipType; - *dst = *src; - if( src->rects ) - { - dst->rects = (PsRectPtr)xalloc(src->nRects*sizeof(PsRectRec)); - memcpy(dst->rects, src->rects, src->nRects*sizeof(PsRectRec)); - } - if( src->elms ) - dst->elms = PsCloneFillElementList(src->nElms, src->elms); -} - - -GCPtr -PsCreateAndCopyGC(DrawablePtr pDrawable, GCPtr pSrc) -{ - GCPtr pDst; - - if (pSrc == NULL) { - /* https://freedesktop.org/bugzilla/show_bug.cgi?id=1416 ("'x11perf - * -copypixpix500' crashes Xprt's PostScript DDX [PsCreateAndCopyGC"): - * I have no clue whether this is the real fix or just wallpapering - * over the crash (that's why we warn here loudly when this - * happens) ... */ - fprintf(stderr, "PsCreateAndCopyGC: pSrc == NULL\n"); - return NULL; - } - - if ((pDst = - CreateScratchGC(pDrawable->pScreen, pDrawable->depth)) == NULL) - { - return NULL; - } - - if (CopyGC(pSrc, pDst, - GCFunction | GCPlaneMask | GCForeground | GCBackground | - GCLineWidth | GCLineStyle | GCCapStyle | GCJoinStyle | - GCFillStyle | GCFillRule | GCTile | GCStipple | - GCTileStipXOrigin | GCTileStipYOrigin | GCFont | - GCSubwindowMode | GCGraphicsExposures | GCClipXOrigin | - GCClipYOrigin | GCClipMask | GCDashOffset | GCDashList | - GCArcMode) != Success) - { - (void)FreeGC(pDst, (GContext)0); - - return NULL; - } - - return pDst; -} - diff --git a/xorg-server/hw/xprint/ps/PsImageUtil.c b/xorg-server/hw/xprint/ps/PsImageUtil.c deleted file mode 100644 index 668a23f65..000000000 --- a/xorg-server/hw/xprint/ps/PsImageUtil.c +++ /dev/null @@ -1,329 +0,0 @@ - -/* -Copyright (c) 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. -*/ - -/* Please do not beat me for this ugly code - most of it has been stolen from - * xc/lib/X11/ImUtil.c */ - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#include "Ps.h" -#include "gcstruct.h" -#include "windowstr.h" -#include "servermd.h" -#include "attributes.h" - -static unsigned char const _reverse_byte[0x100] = { - 0x00, 0x80, 0x40, 0xc0, 0x20, 0xa0, 0x60, 0xe0, - 0x10, 0x90, 0x50, 0xd0, 0x30, 0xb0, 0x70, 0xf0, - 0x08, 0x88, 0x48, 0xc8, 0x28, 0xa8, 0x68, 0xe8, - 0x18, 0x98, 0x58, 0xd8, 0x38, 0xb8, 0x78, 0xf8, - 0x04, 0x84, 0x44, 0xc4, 0x24, 0xa4, 0x64, 0xe4, - 0x14, 0x94, 0x54, 0xd4, 0x34, 0xb4, 0x74, 0xf4, - 0x0c, 0x8c, 0x4c, 0xcc, 0x2c, 0xac, 0x6c, 0xec, - 0x1c, 0x9c, 0x5c, 0xdc, 0x3c, 0xbc, 0x7c, 0xfc, - 0x02, 0x82, 0x42, 0xc2, 0x22, 0xa2, 0x62, 0xe2, - 0x12, 0x92, 0x52, 0xd2, 0x32, 0xb2, 0x72, 0xf2, - 0x0a, 0x8a, 0x4a, 0xca, 0x2a, 0xaa, 0x6a, 0xea, - 0x1a, 0x9a, 0x5a, 0xda, 0x3a, 0xba, 0x7a, 0xfa, - 0x06, 0x86, 0x46, 0xc6, 0x26, 0xa6, 0x66, 0xe6, - 0x16, 0x96, 0x56, 0xd6, 0x36, 0xb6, 0x76, 0xf6, - 0x0e, 0x8e, 0x4e, 0xce, 0x2e, 0xae, 0x6e, 0xee, - 0x1e, 0x9e, 0x5e, 0xde, 0x3e, 0xbe, 0x7e, 0xfe, - 0x01, 0x81, 0x41, 0xc1, 0x21, 0xa1, 0x61, 0xe1, - 0x11, 0x91, 0x51, 0xd1, 0x31, 0xb1, 0x71, 0xf1, - 0x09, 0x89, 0x49, 0xc9, 0x29, 0xa9, 0x69, 0xe9, - 0x19, 0x99, 0x59, 0xd9, 0x39, 0xb9, 0x79, 0xf9, - 0x05, 0x85, 0x45, 0xc5, 0x25, 0xa5, 0x65, 0xe5, - 0x15, 0x95, 0x55, 0xd5, 0x35, 0xb5, 0x75, 0xf5, - 0x0d, 0x8d, 0x4d, 0xcd, 0x2d, 0xad, 0x6d, 0xed, - 0x1d, 0x9d, 0x5d, 0xdd, 0x3d, 0xbd, 0x7d, 0xfd, - 0x03, 0x83, 0x43, 0xc3, 0x23, 0xa3, 0x63, 0xe3, - 0x13, 0x93, 0x53, 0xd3, 0x33, 0xb3, 0x73, 0xf3, - 0x0b, 0x8b, 0x4b, 0xcb, 0x2b, 0xab, 0x6b, 0xeb, - 0x1b, 0x9b, 0x5b, 0xdb, 0x3b, 0xbb, 0x7b, 0xfb, - 0x07, 0x87, 0x47, 0xc7, 0x27, 0xa7, 0x67, 0xe7, - 0x17, 0x97, 0x57, 0xd7, 0x37, 0xb7, 0x77, 0xf7, - 0x0f, 0x8f, 0x4f, 0xcf, 0x2f, 0xaf, 0x6f, 0xef, - 0x1f, 0x9f, 0x5f, 0xdf, 0x3f, 0xbf, 0x7f, 0xff -}; - -static -int XReverse_Bytes( - register unsigned char *bpt, - register int nb) -{ - do { - *bpt = _reverse_byte[*bpt]; - bpt++; - } while (--nb > 0); - return 0; -} - -/* - * Data structure for "image" data, used by image manipulation routines. - */ -typedef struct { - int width, height; /* size of image */ - int xoffset; /* number of pixels offset in X direction */ - int format; /* XYBitmap, XYPixmap, ZPixmap */ - char *data; /* pointer to image data */ - int byte_order; /* data byte order, LSBFirst, MSBFirst */ - int bitmap_unit; /* quant. of scanline 8, 16, 32 */ - int bitmap_bit_order; /* LSBFirst, MSBFirst */ - int depth; /* depth of image */ - int bytes_per_line; /* accelarator to next line */ - int bits_per_pixel; /* bits per pixel (ZPixmap) */ -} TmpImage; - - -static void xynormalizeimagebits ( - register unsigned char *bp, - register TmpImage *img) -{ - register unsigned char c; - - if (img->byte_order != img->bitmap_bit_order) { - switch (img->bitmap_unit) { - - case 16: - c = *bp; - *bp = *(bp + 1); - *(bp + 1) = c; - break; - - case 32: - c = *(bp + 3); - *(bp + 3) = *bp; - *bp = c; - c = *(bp + 2); - *(bp + 2) = *(bp + 1); - *(bp + 1) = c; - break; - } - } - if (img->bitmap_bit_order == MSBFirst) - XReverse_Bytes (bp, img->bitmap_unit >> 3); -} - -static void znormalizeimagebits ( - register unsigned char *bp, - register TmpImage *img) -{ - register unsigned char c; - switch (img->bits_per_pixel) { - - case 4: - *bp = ((*bp >> 4) & 0xF) | ((*bp << 4) & ~0xF); - break; - - case 16: - c = *bp; - *bp = *(bp + 1); - *(bp + 1) = c; - break; - - case 24: - c = *(bp + 2); - *(bp + 2) = *bp; - *bp = c; - break; - - case 32: - c = *(bp + 3); - *(bp + 3) = *bp; - *bp = c; - c = *(bp + 2); - *(bp + 2) = *(bp + 1); - *(bp + 1) = c; - break; - } -} - -/* - * Macros - * - * The ROUNDUP macro rounds up a quantity to the specified boundary, - * then truncates to bytes. - * - * The XYNORMALIZE macro determines whether XY format data requires - * normalization and calls a routine to do so if needed. The logic in - * this module is designed for LSBFirst byte and bit order, so - * normalization is done as required to present the data in this order. - * - * The ZNORMALIZE macro performs byte and nibble order normalization if - * required for Z format data. - * - * The XYINDEX macro computes the index to the starting byte (char) boundary - * for a bitmap_unit containing a pixel with coordinates x and y for image - * data in XY format. - * - * The ZINDEX macro computes the index to the starting byte (char) boundary - * for a pixel with coordinates x and y for image data in ZPixmap format. - * - */ - -#if defined(Lynx) && defined(ROUNDUP) -#undef ROUNDUP -#endif - -#define ROUNDUP(nbytes, pad) ((((nbytes) + ((pad)-1)) / (pad)) * ((pad)>>3)) - -#define XYNORMALIZE(bp, img) \ - if ((img->byte_order == MSBFirst) || (img->bitmap_bit_order == MSBFirst)) \ - xynormalizeimagebits((unsigned char *)(bp), img) - -#define ZNORMALIZE(bp, img) \ - if (img->byte_order == MSBFirst) \ - znormalizeimagebits((unsigned char *)(bp), img) - -#define XYINDEX(x, y, img) \ - ((y) * img->bytes_per_line) + \ - (((x) + img->xoffset) / img->bitmap_unit) * (img->bitmap_unit >> 3) - -#define ZINDEX(x, y, img) ((y) * img->bytes_per_line) + \ - (((x) * img->bits_per_pixel) >> 3) - -/* - * GetPixel - * - * Returns the specified pixel. The X and Y coordinates are relative to - * the origin (upper left [0,0]) of the image. The pixel value is returned - * in normalized format, i.e. the LSB of the long is the LSB of the pixel. - * The algorithm used is: - * - * copy the source bitmap_unit or Zpixel into temp - * normalize temp if needed - * extract the pixel bits into return value - * - */ - -static unsigned long const low_bits_table[] = { - 0x00000000, 0x00000001, 0x00000003, 0x00000007, - 0x0000000f, 0x0000001f, 0x0000003f, 0x0000007f, - 0x000000ff, 0x000001ff, 0x000003ff, 0x000007ff, - 0x00000fff, 0x00001fff, 0x00003fff, 0x00007fff, - 0x0000ffff, 0x0001ffff, 0x0003ffff, 0x0007ffff, - 0x000fffff, 0x001fffff, 0x003fffff, 0x007fffff, - 0x00ffffff, 0x01ffffff, 0x03ffffff, 0x07ffffff, - 0x0fffffff, 0x1fffffff, 0x3fffffff, 0x7fffffff, - 0xffffffff -}; - -static unsigned long XGetPixel (TmpImage *ximage, int x, int y) -{ - unsigned long pixel, px; - register char *src; - register char *dst; - register int i, j; - int bits, nbytes; - long plane; - - if ((ximage->bits_per_pixel | ximage->depth) == 1) { - src = &ximage->data[XYINDEX(x, y, ximage)]; - dst = (char *)&pixel; - pixel = 0; - for (i = ximage->bitmap_unit >> 3; --i >= 0; ) *dst++ = *src++; - XYNORMALIZE(&pixel, ximage); - bits = (x + ximage->xoffset) % ximage->bitmap_unit; - pixel = ((((char *)&pixel)[bits>>3])>>(bits&7)) & 1; - } else if (ximage->format == XYPixmap) { - pixel = 0; - plane = 0; - nbytes = ximage->bitmap_unit >> 3; - for (i = ximage->depth; --i >= 0; ) { - src = &ximage->data[XYINDEX(x, y, ximage)+ plane]; - dst = (char *)&px; - px = 0; - for (j = nbytes; --j >= 0; ) *dst++ = *src++; - XYNORMALIZE(&px, ximage); - bits = (x + ximage->xoffset) % ximage->bitmap_unit; - pixel = (pixel << 1) | - (((((char *)&px)[bits>>3])>>(bits&7)) & 1); - plane = plane + (ximage->bytes_per_line * ximage->height); - } - } else if (ximage->format == ZPixmap) { - src = &ximage->data[ZINDEX(x, y, ximage)]; - dst = (char *)&px; - px = 0; - for (i = (ximage->bits_per_pixel + 7) >> 3; --i >= 0; ) - *dst++ = *src++; - ZNORMALIZE(&px, ximage); - pixel = 0; - for (i=sizeof(unsigned long); --i >= 0; ) - pixel = (pixel << 8) | ((unsigned char *)&px)[i]; - if (ximage->bits_per_pixel == 4) { - if (x & 1) - pixel >>= 4; - else - pixel &= 0xf; - } - } else { - return 0; /* bad image */ - } - if (ximage->bits_per_pixel == ximage->depth) - return pixel; - else - return (pixel & low_bits_table[ximage->depth]); -} - -unsigned long -PsGetImagePixel(char *pImage, int depth, int w, int h, int leftPad, int format, - int px, int py) -{ - TmpImage xi = {0}; - - xi.width = w; - xi.height = h; - xi.xoffset = 0/*leftPad*/; - xi.format = format; - xi.data = pImage; - xi.byte_order = IMAGE_BYTE_ORDER; - xi.bitmap_bit_order = BITMAP_BIT_ORDER; - xi.bitmap_unit = ((depth > 16)?(32): - ((depth > 8)?(16): - ((depth > 1)? (8): - (1)))); - xi.depth = depth; - xi.bits_per_pixel = xi.bitmap_unit; - - /* - * compute per line accelerator. - */ - if (format == ZPixmap) - xi.bytes_per_line = - ROUNDUP((xi.bits_per_pixel * xi.width), 32); - else - xi.bytes_per_line = - ROUNDUP((xi.width + xi.xoffset), 32); - - return XGetPixel(&xi, px, py); -} - - - diff --git a/xorg-server/hw/xprint/ps/PsInit.c b/xorg-server/hw/xprint/ps/PsInit.c deleted file mode 100644 index 72bd7bd7c..000000000 --- a/xorg-server/hw/xprint/ps/PsInit.c +++ /dev/null @@ -1,648 +0,0 @@ -/* - -Copyright 1996, 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. - -*/ -/* - * (c) Copyright 1996 Hewlett-Packard Company - * (c) Copyright 1996 International Business Machines Corp. - * (c) Copyright 1996 Sun Microsystems, Inc. - * (c) Copyright 1996 Novell, Inc. - * (c) Copyright 1996 Digital Equipment Corp. - * (c) Copyright 1996 Fujitsu Limited - * (c) Copyright 1996 Hitachi, Ltd. - * - * 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. - */ - -/******************************************************************* -** -** ********************************************************* -** * -** * File: PsInit.c -** * -** * Contents: Initialization code of Ps driver for the print server. -** * -** * Created By: Roger Helmendach (Liberty Systems) -** * -** * Copyright: Copyright 1996 The Open Group, Inc. -** * -** ********************************************************* -** -********************************************************************/ - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include - -#include "Ps.h" -#include "mi.h" -#include "micmap.h" -#include "AttrValid.h" -#include "fb.h" - -#include "windowstr.h" -#include "DiPrint.h" - -static void AllocatePsPrivates(ScreenPtr pScreen); -static int PsInitContext(XpContextPtr pCon); -static int PsDestroyContext(XpContextPtr pCon); - -DevPrivateKey PsScreenPrivateKey = &PsScreenPrivateKey; -DevPrivateKey PsContextPrivateKey = &PsContextPrivateKey; -DevPrivateKey PsPixmapPrivateKey = &PsPixmapPrivateKey; -DevPrivateKey PsWindowPrivateKey = &PsWindowPrivateKey; - -#ifdef GLXEXT -extern void GlxWrapInitVisuals(miInitVisualsProcPtr *); -#endif /* GLXEXT */ - -Bool -InitializePsDriver(ndx, pScreen, argc, argv) - int ndx; - ScreenPtr pScreen; - int argc; - char **argv; -{ -#if 0 - int maxXres, maxYres, maxWidth, maxHeight; - int maxRes, maxDim, numBytes; - PsScreenPrivPtr pPriv; -#endif - int nv, /* total number of visuals */ - nv_1bit, /* number of 8bit visuals */ - nv_8bit, /* number of 8bit visuals */ - nv_12bit, /* number of 12bit visuals */ - nv_14bit, /* number of 14bit visuals */ - nv_16bit, /* number of 16bit visuals */ - nv_24bit, /* number of 24bit visuals*/ - nv_30bit; /* number of 30bit visuals*/ - int nd; /* number of depths */ - int defaultVisualIndex = -1; - VisualID *vids_1bit, - *vids_8bit, - *vids_12bit, - *vids_14bit, - *vids_16bit, - *vids_24bit, - *vids_30bit; - VisualPtr visuals; - DepthPtr depths; - VisualID defaultVisual; - int rootDepth; - -/* - * Register this driver's InitContext function with the print - * extension. - */ - XpRegisterInitFunc(pScreen, "XP-POSTSCRIPT", PsInitContext); - -/* - * Create and fill in the devPrivate for the PS driver. - */ - AllocatePsPrivates(pScreen); - -#if 0 - pPriv = (PsScreenPrivPtr) - dixLookupPrivate(&pScreen->devPrivates, PsScreenPrivateKey); - pPriv->resDB = rmdb; -#endif - - pScreen->defColormap = (Colormap) FakeClientID(0); - pScreen->blackPixel = 1; - pScreen->whitePixel = 0; - pScreen->QueryBestSize = (QueryBestSizeProcPtr)PsQueryBestSize; - pScreen->SaveScreen = (SaveScreenProcPtr)_XpBoolNoop; - pScreen->GetImage = (GetImageProcPtr)_XpVoidNoop; - pScreen->GetSpans = (GetSpansProcPtr)_XpVoidNoop; - pScreen->CreateWindow = PsCreateWindow; - pScreen->DestroyWindow = PsDestroyWindow; - pScreen->PositionWindow = PsPositionWindow; - pScreen->ChangeWindowAttributes = PsChangeWindowAttributes; - pScreen->RealizeWindow = PsMapWindow; - pScreen->UnrealizeWindow = PsUnmapWindow; - pScreen->CloseScreen = PsCloseScreen; - pScreen->CopyWindow = PsCopyWindow; - /* XXX Hard routine to write! */ - -/* - * These two are going to be VERY different... - */ - pScreen->CreatePixmap = PsCreatePixmap; - pScreen->DestroyPixmap = PsDestroyPixmap; - pScreen->RealizeFont = PsRealizeFont; - pScreen->UnrealizeFont = PsUnrealizeFont; - pScreen->CreateGC = PsCreateGC; - pScreen->CreateColormap = PsCreateColormap; - pScreen->DestroyColormap = PsDestroyColormap; - pScreen->InstallColormap = PsInstallColormap; - pScreen->UninstallColormap = PsUninstallColormap; - pScreen->ListInstalledColormaps = PsListInstalledColormaps; - pScreen->StoreColors = PsStoreColors; - pScreen->ResolveColor = PsResolveColor; - /* Will BitmapToRegion make any difference at all? */ - pScreen->BitmapToRegion = fbPixmapToRegion; - - visuals = (VisualPtr) xalloc(16*sizeof(VisualRec)); - depths = (DepthPtr) xalloc(16*sizeof(DepthRec)); - vids_1bit = (VisualID *)xalloc(16*sizeof(VisualID)); - vids_8bit = (VisualID *)xalloc(16*sizeof(VisualID)); - vids_12bit = (VisualID *)xalloc(16*sizeof(VisualID)); - vids_14bit = (VisualID *)xalloc(16*sizeof(VisualID)); - vids_16bit = (VisualID *)xalloc(16*sizeof(VisualID)); - vids_24bit = (VisualID *)xalloc(16*sizeof(VisualID)); - vids_30bit = (VisualID *)xalloc(16*sizeof(VisualID)); - - nv = nv_1bit = nv_8bit = nv_12bit = nv_14bit = nv_16bit = nv_24bit = nv_30bit = nd = 0; - -#ifdef PSOUT_USE_DEEPCOLOR -/* gisburn: 30bit TrueColor has been disabled for now since it causes problems - * with GLX - see https://bugs.freedesktop.org/show_bug.cgi?id=2868 ("Mesa - * seems to be unable to handle 30bit TrueColor visuals") for details... - */ -#ifdef DISABLED_FOR_NOW - /* TrueColor, 30bit, 10bit per R-,G-,B-gun */ - visuals[nv].vid = FakeClientID(0); - visuals[nv].class = TrueColor; - visuals[nv].bitsPerRGBValue = 10; - visuals[nv].ColormapEntries = 1024; - visuals[nv].nplanes = 30; - visuals[nv].redMask = 0X3FF00000; - visuals[nv].greenMask = 0X000FFC00; - visuals[nv].blueMask = 0X000003FF; - visuals[nv].offsetRed = 20; - visuals[nv].offsetGreen = 10; - visuals[nv].offsetBlue = 0; - vids_30bit[nv_30bit] = visuals[nv].vid; - nv++; nv_30bit++; -#endif /* DISABLED_FOR_NOW */ -#endif /* PSOUT_USE_DEEPCOLOR */ - - /* TrueColor, 24bit */ - visuals[nv].vid = FakeClientID(0); - visuals[nv].class = TrueColor; - visuals[nv].bitsPerRGBValue = 8; - visuals[nv].ColormapEntries = 256; - visuals[nv].nplanes = 24; - visuals[nv].redMask = 0X00FF0000; - visuals[nv].greenMask = 0X0000FF00; - visuals[nv].blueMask = 0X000000FF; - visuals[nv].offsetRed = 16; - visuals[nv].offsetGreen = 8; - visuals[nv].offsetBlue = 0; - vids_24bit[nv_24bit] = visuals[nv].vid; - nv++; nv_24bit++; - - /* TrueColor, 16bit */ - visuals[nv].vid = FakeClientID(0); - visuals[nv].class = TrueColor; - visuals[nv].bitsPerRGBValue = 6; - visuals[nv].ColormapEntries = 64; - visuals[nv].nplanes = 16; - visuals[nv].redMask = 0x0000f800; - visuals[nv].greenMask = 0x000007e0; - visuals[nv].blueMask = 0x0000001f; - visuals[nv].offsetRed = 11; - visuals[nv].offsetGreen = 5; - visuals[nv].offsetBlue = 0; - vids_16bit[nv_16bit] = visuals[nv].vid; - nv++; nv_16bit++; - -#ifdef PSOUT_USE_DEEPCOLOR - /* PostScript Level 2 and above, colors can have 12 bits per component - * (36 bit for RGB) */ - - /* PseudoColor, 14bit (15bit won't work as |ColormapEntries==32768| - * is too large for a |signed short|... xx@@!!!... ;-( ) */ - visuals[nv].vid = FakeClientID(0); - visuals[nv].class = PseudoColor; - visuals[nv].bitsPerRGBValue = 12; - visuals[nv].ColormapEntries = 16384; - visuals[nv].nplanes = 14; - visuals[nv].redMask = 0x0; - visuals[nv].greenMask = 0x0; - visuals[nv].blueMask = 0x0; - visuals[nv].offsetRed = 0x0; - visuals[nv].offsetGreen = 0x0; - visuals[nv].offsetBlue = 0x0; - vids_14bit[nv_14bit] = visuals[nv].vid; - nv++; nv_14bit++; - - /* PseudoColor, 12bit */ - visuals[nv].vid = FakeClientID(0); - visuals[nv].class = PseudoColor; - visuals[nv].bitsPerRGBValue = 12; - visuals[nv].ColormapEntries = 4096; - visuals[nv].nplanes = 12; - visuals[nv].redMask = 0x0; - visuals[nv].greenMask = 0x0; - visuals[nv].blueMask = 0x0; - visuals[nv].offsetRed = 0x0; - visuals[nv].offsetGreen = 0x0; - visuals[nv].offsetBlue = 0x0; - vids_12bit[nv_12bit] = visuals[nv].vid; - defaultVisualIndex = nv; - nv++; nv_12bit++; - - /* GrayScale, 12bit, 12bit per R-,G-,B-gun */ - visuals[nv].vid = FakeClientID(0); - visuals[nv].class = GrayScale; - visuals[nv].bitsPerRGBValue = 12; - visuals[nv].ColormapEntries = 4096; - visuals[nv].nplanes = 12; - visuals[nv].redMask = 0x0; - visuals[nv].greenMask = 0x0; - visuals[nv].blueMask = 0x0; - visuals[nv].offsetRed = 0x0; - visuals[nv].offsetGreen = 0x0; - visuals[nv].offsetBlue = 0x0; - vids_12bit[nv_12bit] = visuals[nv].vid; - nv++; nv_12bit++; - - /* StaticGray, 12bit, 12bit per R-,G-,B-gun */ - visuals[nv].vid = FakeClientID(0); - visuals[nv].class = StaticGray; - visuals[nv].bitsPerRGBValue = 12; - visuals[nv].ColormapEntries = 4096; - visuals[nv].nplanes = 12; - visuals[nv].redMask = 0x0; - visuals[nv].greenMask = 0x0; - visuals[nv].blueMask = 0x0; - visuals[nv].offsetRed = 0x0; - visuals[nv].offsetGreen = 0x0; - visuals[nv].offsetBlue = 0x0; - vids_12bit[nv_12bit] = visuals[nv].vid; - nv++; nv_12bit++; -#endif /* PSOUT_USE_DEEPCOLOR */ - - /* PseudoColor, 8bit */ - visuals[nv].vid = FakeClientID(0); - visuals[nv].class = PseudoColor; - visuals[nv].bitsPerRGBValue = 8; - visuals[nv].ColormapEntries = 256; - visuals[nv].nplanes = 8; - visuals[nv].redMask = 0x0; - visuals[nv].greenMask = 0x0; - visuals[nv].blueMask = 0x0; - visuals[nv].offsetRed = 0x0; - visuals[nv].offsetGreen = 0x0; - visuals[nv].offsetBlue = 0x0; - vids_8bit[nv_8bit] = visuals[nv].vid; -#ifndef PSOUT_USE_DEEPCOLOR - defaultVisualIndex = nv; -#endif /* !PSOUT_USE_DEEPCOLOR */ - nv++; nv_8bit++; - - /* GrayScale, 8bit */ - visuals[nv].vid = FakeClientID(0); - visuals[nv].class = GrayScale; - visuals[nv].bitsPerRGBValue = 8; - visuals[nv].ColormapEntries = 256; - visuals[nv].nplanes = 8; - visuals[nv].redMask = 0x0; - visuals[nv].greenMask = 0x0; - visuals[nv].blueMask = 0x0; - visuals[nv].offsetRed = 0x0; - visuals[nv].offsetGreen = 0x0; - visuals[nv].offsetBlue = 0x0; - vids_8bit[nv_8bit] = visuals[nv].vid; - nv++; nv_8bit++; - - /* StaticGray, 8bit */ - visuals[nv].vid = FakeClientID(0); - visuals[nv].class = StaticGray; - visuals[nv].bitsPerRGBValue = 8; - visuals[nv].ColormapEntries = 256; - visuals[nv].nplanes = 8; - visuals[nv].redMask = 0x0; - visuals[nv].greenMask = 0x0; - visuals[nv].blueMask = 0x0; - visuals[nv].offsetRed = 0x0; - visuals[nv].offsetGreen = 0x0; - visuals[nv].offsetBlue = 0x0; - vids_8bit[nv_8bit] = visuals[nv].vid; - nv++; nv_8bit++; - - /* StaticGray, 1bit */ - visuals[nv].vid = FakeClientID(0); - visuals[nv].class = StaticGray; - visuals[nv].bitsPerRGBValue = 1; - visuals[nv].ColormapEntries = 2; - visuals[nv].nplanes = 1; - visuals[nv].redMask = 0x0; - visuals[nv].greenMask = 0x0; - visuals[nv].blueMask = 0x0; - visuals[nv].offsetRed = 0x0; - visuals[nv].offsetGreen = 0x0; - visuals[nv].offsetBlue = 0x0; - vids_1bit[nv_1bit] = visuals[nv].vid; - nv++; nv_1bit++; - - if( nv_30bit > 0 ) - { - depths[nd].depth = 30; - depths[nd].numVids = nv_30bit; - depths[nd].vids = vids_30bit; - nd++; - } - - if( nv_24bit > 0 ) - { - depths[nd].depth = 24; - depths[nd].numVids = nv_24bit; - depths[nd].vids = vids_24bit; - nd++; - } - - if( nv_16bit > 0 ) - { - depths[nd].depth = 16; - depths[nd].numVids = nv_16bit; - depths[nd].vids = vids_16bit; - nd++; - } - - if( nv_14bit > 0 ) - { - depths[nd].depth = 14; - depths[nd].numVids = nv_14bit; - depths[nd].vids = vids_14bit; - nd++; - } - - if( nv_12bit > 0 ) - { - depths[nd].depth = 12; - depths[nd].numVids = nv_12bit; - depths[nd].vids = vids_12bit; - nd++; - } - - if( nv_8bit > 0 ) - { - depths[nd].depth = 8; - depths[nd].numVids = nv_8bit; - depths[nd].vids = vids_8bit; - nd++; - } - - if( nv_1bit > 0 ) - { - depths[nd].depth = 1; - depths[nd].numVids = nv_1bit; - depths[nd].vids = vids_1bit; - nd++; - } - - /* Defaul visual is 12bit PseudoColor */ - defaultVisual = visuals[defaultVisualIndex].vid; - rootDepth = visuals[defaultVisualIndex].nplanes; - -#ifdef GLXEXT - { - miInitVisualsProcPtr proc = NULL; - - GlxWrapInitVisuals(&proc); - /* GlxInitVisuals ignores the last three arguments. */ - proc(&visuals, &depths, &nv, &nd, - &rootDepth, &defaultVisual, 0, 0, 0); - } -#endif /* GLXEXT */ - - miScreenInit(pScreen, (pointer)0, - pScreen->width, pScreen->height, - (int) (pScreen->width / (pScreen->mmWidth / 25.40)), - (int) (pScreen->height / (pScreen->mmHeight / 25.40)), - 0, rootDepth, nd, - depths, defaultVisual, nv, visuals); - - if( miCreateDefColormap(pScreen)==FALSE ) return FALSE; - -/*scalingScreenInit(pScreen);*/ - - return TRUE; -} - -static void -AllocatePsPrivates(ScreenPtr pScreen) -{ - dixRequestPrivate(PsWindowPrivateKey, sizeof(PsWindowPrivRec)); - dixRequestPrivate(PsContextPrivateKey, sizeof(PsContextPrivRec)); - dixRequestPrivate(PsPixmapPrivateKey, sizeof(PsPixmapPrivRec)); - - dixSetPrivate(&pScreen->devPrivates, PsScreenPrivateKey, - xalloc(sizeof(PsScreenPrivRec))); -} - -/* - * PsInitContext - * - * Establish the appropriate values for a PrintContext used with the PS - * driver. - */ - -static char DOC_ATT_SUPP[]="document-attributes-supported"; -static char DOC_ATT_VAL[]="document-format xp-listfonts-modes"; -static char JOB_ATT_SUPP[]="job-attributes-supported"; -static char JOB_ATT_VAL[]=""; -static char PAGE_ATT_SUPP[]="xp-page-attributes-supported"; -static char PAGE_ATT_VAL[]="content-orientation default-printer-resolution \ -default-input-tray default-medium plex xp-listfonts-modes"; - -static int -PsInitContext(pCon) - XpContextPtr pCon; -{ - XpDriverFuncsPtr pFuncs; - PsContextPrivPtr pConPriv; - char *server, *attrStr; - - /* - * Initialize the attribute store for this printer. - */ - XpInitAttributes(pCon); - - /* - * Initialize the function pointers - */ - pFuncs = &(pCon->funcs); - pFuncs->StartJob = PsStartJob; - pFuncs->EndJob = PsEndJob; - pFuncs->StartDoc = PsStartDoc; - pFuncs->EndDoc = PsEndDoc; - pFuncs->StartPage = PsStartPage; - pFuncs->EndPage = PsEndPage; - pFuncs->PutDocumentData = PsDocumentData; - pFuncs->GetDocumentData = PsGetDocumentData; - pFuncs->GetAttributes = PsGetAttributes; - pFuncs->SetAttributes = PsSetAttributes; - pFuncs->AugmentAttributes = PsAugmentAttributes; - pFuncs->GetOneAttribute = PsGetOneAttribute; - pFuncs->DestroyContext = PsDestroyContext; - pFuncs->GetMediumDimensions = PsGetMediumDimensions; - pFuncs->GetReproducibleArea = PsGetReproducibleArea; - pFuncs->SetImageResolution = PsSetImageResolution; - - /* - * Set up the context privates - */ - pConPriv = (PsContextPrivPtr) - dixLookupPrivate(&pCon->devPrivates, PsContextPrivateKey); - - memset(pConPriv, 0, sizeof(PsContextPrivRec)); - pConPriv->jobFileName = (char *)NULL; - pConPriv->pJobFile = (FILE *)NULL; - pConPriv->dash = (unsigned char *)NULL; - pConPriv->validGC = 0; - pConPriv->getDocClient = (ClientPtr)NULL; - pConPriv->getDocBufSize = 0; - pConPriv->pPsOut = NULL; - pConPriv->fontInfoRecords = NULL; - pConPriv->fontTypeInfoRecords = NULL; - - /* - * document-attributes-supported - */ - server = XpGetOneAttribute( pCon, XPServerAttr, DOC_ATT_SUPP ); - if ((attrStr = (char *) xalloc(strlen(server) + - strlen(DOC_ATT_SUPP) + strlen(DOC_ATT_VAL) - + strlen(PAGE_ATT_VAL) + 8)) == NULL) - { - return BadAlloc; - } - sprintf(attrStr, "*%s:\t%s %s %s", - DOC_ATT_SUPP, server, DOC_ATT_VAL, PAGE_ATT_VAL); - XpAugmentAttributes( pCon, XPPrinterAttr, attrStr); - xfree(attrStr); - - /* - * job-attributes-supported - */ - server = XpGetOneAttribute( pCon, XPServerAttr, JOB_ATT_SUPP ); - if ((attrStr = (char *) xalloc(strlen(server) + strlen(JOB_ATT_SUPP) + - strlen(JOB_ATT_VAL) + 8)) == NULL) - { - return BadAlloc; - } - sprintf(attrStr, "*%s:\t%s %s", JOB_ATT_SUPP, server, JOB_ATT_VAL); - XpAugmentAttributes(pCon, XPPrinterAttr, attrStr); - xfree(attrStr); - - /* - * xp-page-attributes-supported - */ - server = XpGetOneAttribute( pCon, XPServerAttr, PAGE_ATT_SUPP ); - if ((attrStr = (char *) xalloc(strlen(server) + strlen(PAGE_ATT_SUPP) + - strlen(PAGE_ATT_VAL) + 8)) == NULL) - { - return BadAlloc; - } - sprintf(attrStr, "*%s:\t%s %s", PAGE_ATT_SUPP, server, PAGE_ATT_VAL); - XpAugmentAttributes(pCon, XPPrinterAttr, attrStr); - xfree(attrStr); - - /* - * Validate the attribute pools - */ - XpValidateAttributePool(pCon, XPPrinterAttr, &PsValidatePoolsRec); - XpValidateAttributePool(pCon, XPDocAttr, &PsValidatePoolsRec); - XpValidateAttributePool(pCon, XPJobAttr, &PsValidatePoolsRec); - XpValidateAttributePool(pCon, XPPageAttr, &PsValidatePoolsRec); - - return Success; -} - -static Bool -PsDestroyContext(pCon) - XpContextPtr pCon; -{ - PsContextPrivPtr pConPriv = (PsContextPrivPtr) - dixLookupPrivate(&pCon->devPrivates, PsContextPrivateKey); - - if( pConPriv->pJobFile!=(FILE *)NULL ) - { - fclose(pConPriv->pJobFile); - pConPriv->pJobFile = NULL; - } - if( pConPriv->jobFileName!=(char *)NULL ) - { - unlink(pConPriv->jobFileName); - xfree(pConPriv->jobFileName); - pConPriv->jobFileName = (char *)NULL; - } - - PsFreeFontInfoRecords(pConPriv); - - /* Reset context to make sure we do not use any stale/invalid/obsolete data */ - memset(pConPriv, 0, sizeof(PsContextPrivRec)); - -/*### free up visuals/depths ###*/ - - return Success; -} - -XpContextPtr -PsGetContextFromWindow(win) - WindowPtr win; -{ - PsWindowPrivPtr pPriv; - - while( win ) - { - pPriv = (PsWindowPrivPtr) - dixLookupPrivate(&win->devPrivates, PsWindowPrivateKey); - if( pPriv->validContext ) return pPriv->context; - win = win->parent; - } - - return NULL; -} diff --git a/xorg-server/hw/xprint/ps/PsLine.c b/xorg-server/hw/xprint/ps/PsLine.c deleted file mode 100644 index aca186642..000000000 --- a/xorg-server/hw/xprint/ps/PsLine.c +++ /dev/null @@ -1,191 +0,0 @@ -/* - -Copyright 1996, 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. - -*/ -/* - * (c) Copyright 1996 Hewlett-Packard Company - * (c) Copyright 1996 International Business Machines Corp. - * (c) Copyright 1996 Sun Microsystems, Inc. - * (c) Copyright 1996 Novell, Inc. - * (c) Copyright 1996 Digital Equipment Corp. - * (c) Copyright 1996 Fujitsu Limited - * (c) Copyright 1996 Hitachi, Ltd. - * - * 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. - */ - -/******************************************************************* -** -** ********************************************************* -** * -** * File: PsLine.c -** * -** * Contents: Line drawing routines for the PS driver -** * -** * Created By: Roger Helmendach (Liberty Systems) -** * -** * Copyright: Copyright 1996 The Open Group, Inc. -** * -** ********************************************************* -** -********************************************************************/ - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#include "Ps.h" -#include "gcstruct.h" -#include "windowstr.h" - -void -PsPolyLine( - DrawablePtr pDrawable, - GCPtr pGC, - int mode, - int nPoints, - xPoint *pPoints) -{ - if( pDrawable->type==DRAWABLE_PIXMAP ) - { - DisplayElmPtr elm; - PixmapPtr pix = (PixmapPtr)pDrawable; - PsPixmapPrivPtr priv = (PsPixmapPrivPtr)pix->devPrivate.ptr; - DisplayListPtr disp; - GCPtr gc; - - if ((gc = PsCreateAndCopyGC(pDrawable, pGC)) == NULL) return; - - disp = PsGetFreeDisplayBlock(priv); - - elm = &disp->elms[disp->nelms]; - elm->type = PolyLineCmd; - elm->gc = gc; - elm->c.polyPts.mode = mode; - elm->c.polyPts.nPoints = nPoints; - elm->c.polyPts.pPoints = (xPoint *)xalloc(nPoints*sizeof(xPoint)); - memcpy(elm->c.polyPts.pPoints, pPoints, nPoints*sizeof(xPoint)); - disp->nelms += 1; - } - else - { - int i; - PsOutPtr psOut; - PsPointPtr pts; - ColormapPtr cMap; - - if( PsUpdateDrawableGC(pGC, pDrawable, &psOut, &cMap)==FALSE ) return; - PsOut_Offset(psOut, pDrawable->x, pDrawable->y); - PsOut_Color(psOut, PsGetPixelColor(cMap, pGC->fgPixel)); - PsLineAttrs(psOut, pGC, cMap); - pts = (PsPointPtr)xalloc(sizeof(PsPointRec)*nPoints); - if( mode==CoordModeOrigin ) - { - for( i=0 ; itype==DRAWABLE_PIXMAP ) - { - DisplayElmPtr elm; - PixmapPtr pix = (PixmapPtr)pDrawable; - PsPixmapPrivPtr priv = (PsPixmapPrivPtr)pix->devPrivate.ptr; - DisplayListPtr disp; - GCPtr gc; - - if ((gc = PsCreateAndCopyGC(pDrawable, pGC)) == NULL) return; - - disp = PsGetFreeDisplayBlock(priv); - - elm = &disp->elms[disp->nelms]; - elm->type = PolySegmentCmd; - elm->gc = gc; - elm->c.segments.nSegments = nSegments; - elm->c.segments.pSegments = (xSegment *)xalloc(nSegments*sizeof(xSegment)); - memcpy(elm->c.segments.pSegments, pSegments, nSegments*sizeof(xSegment)); - disp->nelms += 1; - } - else - { - int i; - PsOutPtr psOut; - PsPointRec pts[2]; - ColormapPtr cMap; - - if( PsUpdateDrawableGC(pGC, pDrawable, &psOut, &cMap)==FALSE ) return; - PsOut_Offset(psOut, pDrawable->x, pDrawable->y); - PsOut_Color(psOut, PsGetPixelColor(cMap, pGC->fgPixel)); - PsLineAttrs(psOut, pGC, cMap); - for( i=0 ; i -#endif - -#include /* for SIGCLD on pre-POSIX systems */ -#include -#include "Ps.h" - -#include "cursor.h" -#include "resource.h" - -#include "windowstr.h" -#include "propertyst.h" - - -/*ARGSUSED*/ -void -PsQueryBestSize( - int type, - short *pwidth, - short *pheight, - ScreenPtr pScreen) -{ - unsigned width, highBit; - - switch(type) - { - case CursorShape: - *pwidth = 0; - *pheight = 0; - break; - case TileShape: - case StippleShape: - width = *pwidth; - if (!width) break; - /* Return the nearest power of two >= what they gave us */ - highBit = 0x80000000; - /* Find the highest 1 bit in the given width */ - while(!(highBit & width)) - highBit >>= 1; - /* If greater than that then return the next power of two */ - if((highBit - 1) & width) - highBit <<= 1; - *pwidth = highBit; - /* height is a don't-care */ - break; - } -} - -/* - * PsGetMediumDimensions is installed in the GetMediumDimensions field - * of each Ps-initialized context. - */ -int -PsGetMediumDimensions(XpContextPtr pCon, CARD16 *width, CARD16 *height) -{ - XpGetMediumDimensions(pCon, width, height); - return Success; -} - -/* - * PsGetReproducibleArea is installed in the GetReproducibleArea field - * of each Ps-initialized context. - */ -int -PsGetReproducibleArea(XpContextPtr pCon, xRectangle *pRect) -{ - XpGetReproductionArea(pCon, pRect); - return Success; -} - -/* - * PsSetImageResolution is installed in the SetImageResolution field - * of each Ps-initialized context. - */ -int -PsSetImageResolution(XpContextPtr pCon, int imageRes, Bool *status) -{ - pCon->imageRes = imageRes; - *status = True; - return Success; -} - -/* - * GetPropString searches the window heirarchy from pWin up looking for - * a property by the name of propName. If found, returns the property's - * value. If not, it returns NULL. - */ -/* -char * -GetPropString( - WindowPtr pWin, - char *propName) -{ - Atom atom; - PropertyPtr pProp = (PropertyPtr)NULL; - char *retVal; - - atom = MakeAtom(propName, strlen(propName), FALSE); - if(atom != BAD_RESOURCE) - { - WindowPtr pPropWin; - int rc, n; -*/ - - /* - * The atom has been defined, but it might only exist as a - * property on an unrelated window. - */ -/* - for(pPropWin = pWin; pPropWin != (WindowPtr)NULL; - pPropWin = pPropWin->parent) - { - rc = dixLookupProperty(&pProp, pPropWin, atom, - serverClient, DixReadAccess); - if (rc == Success) - break; - else - pProp = NULL; - } - if(pProp == (PropertyPtr)NULL) - return (char *)NULL; - - n = (pProp->format/8) * pProp->size; *//* size (bytes) of prop */ -/* - retVal = (char *)xalloc(n + 1); - (void)memcpy((void *)retVal, (void *)pProp->data, n); - retVal[n] = '\0'; - - return retVal; - } - - return (char *)NULL; -} - -#include - -*/ -/* ARGSUSED */ -/* -static void SigchldHndlr (int dummy) -{ - int status, w; - struct sigaction act; - sigfillset(&act.sa_mask); - act.sa_flags = 0; - act.sa_handler = SigchldHndlr; - - w = wait (&status); - -*/ - /* - * Is this really necessary? - */ -/* - sigaction(SIGCHLD, &act, (struct sigaction *)NULL); -} -*/ - -/* - * SystemCmd provides a wrapper for the 'system' library call. The call - * appears to be sensitive to the handling of SIGCHLD, so this wrapper - * sets the status to SIG_DFL, and then resets the established handler - * after system returns. - */ -/* -int -SystemCmd(char *cmdStr) -{ - int status; - struct sigaction newAct, oldAct; - sigfillset(&newAct.sa_mask); - newAct.sa_flags = 0; - newAct.sa_handler = SIG_DFL; - sigfillset(&oldAct.sa_mask); - oldAct.sa_flags = 0; - oldAct.sa_handler = SigchldHndlr; - -*/ - /* - * get the old handler, and set the action to IGN - */ -/* - sigaction(SIGCHLD, &newAct, &oldAct); - - status = system (cmdStr); - - sigaction(SIGCHLD, &oldAct, (struct sigaction *)NULL); - return status; -} -*/ - -Bool -PsCloseScreen( - int index, - ScreenPtr pScreen) -{ - return TRUE; -} - -void -PsLineAttrs( - PsOutPtr psOut, - GCPtr pGC, - ColormapPtr cMap) -{ - int i; - int nDsh; - int dshOff; - int *dsh; - PsCapEnum cap; - PsJoinEnum join; - - switch(pGC->capStyle) { - case CapButt: cap = PsCButt; break; - case CapRound: cap = PsCRound; break; - case CapProjecting: cap = PsCSquare; break; - default: cap = PsCButt; break; } - switch(pGC->joinStyle) { - case JoinMiter: join = PsJMiter; break; - case JoinRound: join = PsJRound; break; - case JoinBevel: join = PsJBevel; break; - default: join = PsJBevel; break; } - if( pGC->lineStyle==LineSolid ) { nDsh = dshOff = 0; dsh = (int *)0; } - else - { - nDsh = pGC->numInDashList; - dshOff = pGC->dashOffset; - if( !nDsh ) dsh = (int *)0; - else - { - dsh = (int *)xalloc(sizeof(int)*nDsh); - for( i=0 ; idash[i]&0xFF; - } - } - - if( pGC->lineStyle!=LineDoubleDash ) - PsOut_LineAttrs(psOut, (int)pGC->lineWidth, - cap, join, nDsh, dsh, dshOff, -1); - else - PsOut_LineAttrs(psOut, (int)pGC->lineWidth, - cap, join, nDsh, dsh, dshOff, - PsGetPixelColor(cMap, pGC->bgPixel)); - if( nDsh && dsh ) xfree(dsh); -} diff --git a/xorg-server/hw/xprint/ps/PsPixel.c b/xorg-server/hw/xprint/ps/PsPixel.c deleted file mode 100644 index d51cb6ecf..000000000 --- a/xorg-server/hw/xprint/ps/PsPixel.c +++ /dev/null @@ -1,156 +0,0 @@ -/* - -Copyright 1996, 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. - -*/ -/* - * (c) Copyright 1996 Hewlett-Packard Company - * (c) Copyright 1996 International Business Machines Corp. - * (c) Copyright 1996 Sun Microsystems, Inc. - * (c) Copyright 1996 Novell, Inc. - * (c) Copyright 1996 Digital Equipment Corp. - * (c) Copyright 1996 Fujitsu Limited - * (c) Copyright 1996 Hitachi, Ltd. - * - * 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. - */ - -/******************************************************************* -** -** ********************************************************* -** * -** * File: PsPixel.c -** * -** * Contents: Pixel-drawing code for the PS DDX driver -** * -** * Created By: Roger Helmendach (Liberty Systems) -** * -** * Copyright: Copyright 1995 The Open Group, Inc. -** * -** ********************************************************* -** -********************************************************************/ - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#include - -#include "windowstr.h" -#include "gcstruct.h" - -#include "Ps.h" - -void -PsPolyPoint( - DrawablePtr pDrawable, - GCPtr pGC, - int mode, - int nPoints, - xPoint *pPoints) -{ - if( pDrawable->type==DRAWABLE_PIXMAP ) - { - DisplayElmPtr elm; - PixmapPtr pix = (PixmapPtr)pDrawable; - PsPixmapPrivPtr priv = (PsPixmapPrivPtr)pix->devPrivate.ptr; - DisplayListPtr disp; - GCPtr gc; - - if ((gc = PsCreateAndCopyGC(pDrawable, pGC)) == NULL) return; - - disp = PsGetFreeDisplayBlock(priv); - - elm = &disp->elms[disp->nelms]; - elm->type = PolyPointCmd; - elm->gc = gc; - elm->c.polyPts.mode = mode; - elm->c.polyPts.nPoints = nPoints; - elm->c.polyPts.pPoints = (xPoint *)xalloc(nPoints*sizeof(xPoint)); - memcpy(elm->c.polyPts.pPoints, pPoints, nPoints*sizeof(xPoint)); - disp->nelms += 1; - } - else - { - int i; - PsOutPtr psOut; - PsPointPtr pts; - ColormapPtr cMap; - - if( PsUpdateDrawableGC(pGC, pDrawable, &psOut, &cMap)==FALSE ) return; - PsOut_Offset(psOut, pDrawable->x, pDrawable->y); - PsOut_Color(psOut, PsGetPixelColor(cMap, pGC->fgPixel)); - pts = (PsPointPtr)xalloc(sizeof(PsPointRec)*nPoints); - if( mode==CoordModeOrigin ) - { - for( i=0 ; i -#endif - -#include "windowstr.h" -#include "gcstruct.h" -#include "privates.h" - -#include "Ps.h" - -#define _BitsPerPixel(d) (\ - (1 << PixmapWidthPaddingInfo[d].padBytesLog2) * 8 / \ - (PixmapWidthPaddingInfo[d].padRoundUp+1)) - -PixmapPtr -PsCreatePixmap( - ScreenPtr pScreen, - int width, - int height, - int depth, - unsigned usage_hint) -{ - PixmapPtr pPixmap; - - pPixmap = (PixmapPtr)xcalloc(1, sizeof(PixmapRec)); - if( !pPixmap) return NullPixmap; - pPixmap->drawable.type = DRAWABLE_PIXMAP; - pPixmap->drawable.class = 0; - pPixmap->drawable.pScreen = pScreen; - pPixmap->drawable.depth = depth; - pPixmap->drawable.bitsPerPixel = _BitsPerPixel(depth); - pPixmap->drawable.id = 0; - pPixmap->drawable.serialNumber = NEXT_SERIAL_NUMBER; - pPixmap->drawable.x = 0; - pPixmap->drawable.y = 0; - pPixmap->drawable.width = width; - pPixmap->drawable.height = height; - pPixmap->devKind = 0; - pPixmap->refcnt = 1; - pPixmap->devPrivates = NULL; - - pPixmap->devPrivate.ptr = (PsPixmapPrivPtr)xcalloc(1, sizeof(PsPixmapPrivRec)); - if( !pPixmap->devPrivate.ptr ) - { xfree(pPixmap); return NullPixmap; } - return pPixmap; -} - -/* PsScrubPixmap: Remove all content from a pixmap (used by - * |PsPolyFillRect()| when the "solid fill" operation covers - * the whole pixmap) */ -void -PsScrubPixmap(PixmapPtr pPixmap) -{ - PsPixmapPrivPtr priv = (PsPixmapPrivPtr)pPixmap->devPrivate.ptr; - DisplayListPtr disp = priv->dispList; - - while( disp ) - { - int i; - DisplayListPtr oldDisp = disp; - disp = disp->next; - for( i=0 ; inelms ; i++ ) - { - DisplayElmPtr elm = &oldDisp->elms[i]; - - switch(elm->type) - { - case PolyPointCmd: - case PolyLineCmd: - if( elm->c.polyPts.pPoints ) xfree(elm->c.polyPts.pPoints); - break; - case PolySegmentCmd: - if( elm->c.segments.pSegments ) xfree(elm->c.segments.pSegments); - break; - case PolyRectangleCmd: - if( elm->c.rects.pRects ) xfree(elm->c.rects.pRects); - break; - case FillPolygonCmd: - if( elm->c.polyPts.pPoints ) xfree(elm->c.polyPts.pPoints); - break; - case PolyFillRectCmd: - if( elm->c.rects.pRects ) xfree(elm->c.rects.pRects); - break; - case PolyArcCmd: - if( elm->c.arcs.pArcs ) xfree(elm->c.arcs.pArcs); - break; - case PolyFillArcCmd: - if( elm->c.arcs.pArcs ) xfree(elm->c.arcs.pArcs); - break; - case Text8Cmd: - case TextI8Cmd: - if( elm->c.text8.string ) xfree(elm->c.text8.string); - break; - case Text16Cmd: - case TextI16Cmd: - if( elm->c.text16.string ) xfree(elm->c.text16.string); - break; - case PutImageCmd: - if( elm->c.image.pData ) xfree(elm->c.image.pData); - break; - case BeginFrameCmd: - break; - case EndFrameCmd: - break; - } - - if (elm->type != BeginFrameCmd && elm->type != EndFrameCmd) { - (void) FreeGC(elm->gc, (GContext) 0); - } - } - xfree(oldDisp); - } - - priv->dispList = NULL; -} - -Bool -PsDestroyPixmap(PixmapPtr pPixmap) -{ - PsPixmapPrivPtr priv = (PsPixmapPrivPtr)pPixmap->devPrivate.ptr; - - if( --pPixmap->refcnt ) return TRUE; - - PsScrubPixmap(pPixmap); - - xfree(priv); - dixFreePrivates(pPixmap->devPrivates); - xfree(pPixmap); - return TRUE; -} - -DisplayListPtr -PsGetFreeDisplayBlock(PsPixmapPrivPtr priv) -{ - DisplayListPtr disp = priv->dispList; - - for(; disp ; disp=disp->next ) - { - if( disp->nelms>=DPY_BLOCKSIZE && disp->next ) continue; - if( disp->nelmsnext = (DisplayListPtr)xcalloc(1, sizeof(DisplayListRec)); - disp->next->next = (DisplayListPtr)0; - disp->next->nelms = 0; - } - disp = (DisplayListPtr)xcalloc(1, sizeof(DisplayListRec)); - disp->next = (DisplayListPtr)0; - disp->nelms = 0; - priv->dispList = disp; - return(disp); -} - -void -PsReplay(DisplayElmPtr elm, DrawablePtr pDrawable) -{ - switch(elm->type) - { - case PolyPointCmd: - PsPolyPoint(pDrawable, elm->gc, elm->c.polyPts.mode, - elm->c.polyPts.nPoints, elm->c.polyPts.pPoints); - break; - case PolyLineCmd: - PsPolyLine(pDrawable, elm->gc, elm->c.polyPts.mode, - elm->c.polyPts.nPoints, elm->c.polyPts.pPoints); - break; - case PolySegmentCmd: - PsPolySegment(pDrawable, elm->gc, elm->c.segments.nSegments, - elm->c.segments.pSegments); - break; - case PolyRectangleCmd: - PsPolyRectangle(pDrawable, elm->gc, elm->c.rects.nRects, - elm->c.rects.pRects); - break; - case FillPolygonCmd: - PsFillPolygon(pDrawable, elm->gc, 0, elm->c.polyPts.mode, - elm->c.polyPts.nPoints, elm->c.polyPts.pPoints); - break; - case PolyFillRectCmd: - PsPolyFillRect(pDrawable, elm->gc, elm->c.rects.nRects, - elm->c.rects.pRects); - break; - case PolyArcCmd: - PsPolyArc(pDrawable, elm->gc, elm->c.arcs.nArcs, elm->c.arcs.pArcs); - break; - case PolyFillArcCmd: - PsPolyFillArc(pDrawable, elm->gc, elm->c.arcs.nArcs, elm->c.arcs.pArcs); - break; - case Text8Cmd: - PsPolyText8(pDrawable, elm->gc, elm->c.text8.x, elm->c.text8.y, - elm->c.text8.count, elm->c.text8.string); - break; - case Text16Cmd: - PsPolyText16(pDrawable, elm->gc, elm->c.text16.x, elm->c.text16.y, - elm->c.text16.count, elm->c.text16.string); - break; - case TextI8Cmd: - PsImageText8(pDrawable, elm->gc, elm->c.text8.x, elm->c.text8.y, - elm->c.text8.count, elm->c.text8.string); - break; - case TextI16Cmd: - PsImageText16(pDrawable, elm->gc, elm->c.text16.x, elm->c.text16.y, - elm->c.text16.count, elm->c.text16.string); - break; - case PutImageCmd: - PsPutScaledImage(pDrawable, elm->gc, elm->c.image.depth, - elm->c.image.x, elm->c.image.y, - elm->c.image.w, elm->c.image.h, elm->c.image.leftPad, - elm->c.image.format, elm->c.image.res, - elm->c.image.pData); - break; - case BeginFrameCmd: - { - PsOutPtr psOut; - ColormapPtr cMap; - if( PsUpdateDrawableGC(NULL, pDrawable, &psOut, &cMap)==FALSE ) return; - PsOut_BeginFrame(psOut, 0, 0, elm->c.frame.x, elm->c.frame.y, - elm->c.frame.w, elm->c.frame.h); - } - break; - case EndFrameCmd: - { - PsOutPtr psOut; - ColormapPtr cMap; - if( PsUpdateDrawableGC(NULL, pDrawable, &psOut, &cMap)==FALSE ) return; - PsOut_EndFrame(psOut); - } - break; - } -} - -void -PsReplayPixmap(PixmapPtr pix, DrawablePtr pDrawable) -{ - PsPixmapPrivPtr priv = (PsPixmapPrivPtr)pix->devPrivate.ptr; - DisplayListPtr disp = priv->dispList; - DisplayElmPtr elm; - - for(; disp ; disp=disp->next ) - { - int i; - for( i=0,elm=disp->elms ; inelms ; i++,elm++ ) - PsReplay(elm, pDrawable); - } -} - -int -PsCloneDisplayElm(PixmapPtr dst, DisplayElmPtr elm, DisplayElmPtr newElm, - int xoff, int yoff) -{ - int i; - int size; - int status = 0; - - *newElm = *elm; - - /* I think this is the correct return value */ - if ((newElm->gc = PsCreateAndCopyGC(&dst->drawable, elm->gc)) == NULL) { - return 1; - } - - switch(elm->type) - { - case PolyPointCmd: - case PolyLineCmd: - newElm->c.polyPts.pPoints = - (xPoint *)xalloc(elm->c.polyPts.nPoints*sizeof(xPoint)); - for( i=0 ; ic.polyPts.nPoints ; i++ ) - { - newElm->c.polyPts.pPoints[i].x = elm->c.polyPts.pPoints[i].x+xoff; - newElm->c.polyPts.pPoints[i].y = elm->c.polyPts.pPoints[i].y+yoff; - } - break; - case PolySegmentCmd: - newElm->c.segments.pSegments = - (xSegment *)xalloc(elm->c.segments.nSegments*sizeof(xSegment)); - for( i=0 ; ic.segments.nSegments ; i++ ) - { - newElm->c.segments.pSegments[i].x1 = - elm->c.segments.pSegments[i].x1+xoff; - newElm->c.segments.pSegments[i].y1 = - elm->c.segments.pSegments[i].y1+yoff; - newElm->c.segments.pSegments[i].x2 = - elm->c.segments.pSegments[i].x2+xoff; - newElm->c.segments.pSegments[i].y2 = - elm->c.segments.pSegments[i].y2+yoff; - } - break; - case PolyRectangleCmd: - newElm->c.rects.pRects = - (xRectangle *)xalloc(elm->c.rects.nRects*sizeof(xRectangle)); - for( i=0 ; ic.rects.nRects ; i++ ) - { - newElm->c.rects.pRects[i].x = elm->c.rects.pRects[i].x+xoff; - newElm->c.rects.pRects[i].y = elm->c.rects.pRects[i].y+yoff; - newElm->c.rects.pRects[i].width = elm->c.rects.pRects[i].width; - newElm->c.rects.pRects[i].height = elm->c.rects.pRects[i].height; - } - break; - case FillPolygonCmd: - newElm->c.polyPts.pPoints = - (xPoint *)xalloc(elm->c.polyPts.nPoints*sizeof(xPoint)); - for( i=0 ; ic.polyPts.nPoints ; i++ ) - { - newElm->c.polyPts.pPoints[i].x = elm->c.polyPts.pPoints[i].x+xoff; - newElm->c.polyPts.pPoints[i].y = elm->c.polyPts.pPoints[i].y+yoff; - } - break; - case PolyFillRectCmd: - newElm->c.rects.pRects = - (xRectangle *)xalloc(elm->c.rects.nRects*sizeof(xRectangle)); - for( i=0 ; ic.rects.nRects ; i++ ) - { - newElm->c.rects.pRects[i].x = elm->c.rects.pRects[i].x+xoff; - newElm->c.rects.pRects[i].y = elm->c.rects.pRects[i].y+yoff; - newElm->c.rects.pRects[i].width = elm->c.rects.pRects[i].width; - newElm->c.rects.pRects[i].height = elm->c.rects.pRects[i].height; - } - break; - case PolyArcCmd: - newElm->c.arcs.pArcs = - (xArc *)xalloc(elm->c.arcs.nArcs*sizeof(xArc)); - for( i=0 ; ic.arcs.nArcs ; i++ ) - { - newElm->c.arcs.pArcs[i].x = elm->c.arcs.pArcs[i].x+xoff; - newElm->c.arcs.pArcs[i].y = elm->c.arcs.pArcs[i].y+yoff; - newElm->c.arcs.pArcs[i].width = elm->c.arcs.pArcs[i].width; - newElm->c.arcs.pArcs[i].height = elm->c.arcs.pArcs[i].height; - newElm->c.arcs.pArcs[i].angle1 = elm->c.arcs.pArcs[i].angle1; - newElm->c.arcs.pArcs[i].angle2 = elm->c.arcs.pArcs[i].angle2; - } - break; - case PolyFillArcCmd: - newElm->c.arcs.pArcs = - (xArc *)xalloc(elm->c.arcs.nArcs*sizeof(xArc)); - for( i=0 ; ic.arcs.nArcs ; i++ ) - { - newElm->c.arcs.pArcs[i].x = elm->c.arcs.pArcs[i].x+xoff; - newElm->c.arcs.pArcs[i].y = elm->c.arcs.pArcs[i].y+yoff; - newElm->c.arcs.pArcs[i].width = elm->c.arcs.pArcs[i].width; - newElm->c.arcs.pArcs[i].height = elm->c.arcs.pArcs[i].height; - newElm->c.arcs.pArcs[i].angle1 = elm->c.arcs.pArcs[i].angle1; - newElm->c.arcs.pArcs[i].angle2 = elm->c.arcs.pArcs[i].angle2; - } - break; - case Text8Cmd: - case TextI8Cmd: - newElm->c.text8.string = (char *)xalloc(elm->c.text8.count); - memcpy(newElm->c.text8.string, elm->c.text8.string, elm->c.text8.count); - newElm->c.text8.x += xoff; - newElm->c.text8.y += yoff; - break; - case Text16Cmd: - case TextI16Cmd: - newElm->c.text16.string = - (unsigned short *)xalloc(elm->c.text16.count*sizeof(unsigned short)); - memcpy(newElm->c.text16.string, elm->c.text16.string, - elm->c.text16.count*sizeof(unsigned short)); - newElm->c.text16.x += xoff; - newElm->c.text16.y += yoff; - break; - case PutImageCmd: - size = PixmapBytePad(elm->c.image.w, elm->c.image.depth)*elm->c.image.h; - newElm->c.image.pData = (char *)xalloc(size); - memcpy(newElm->c.image.pData, elm->c.image.pData, size); - newElm->c.image.x += xoff; - newElm->c.image.y += yoff; - break; - case BeginFrameCmd: - case EndFrameCmd: - status = 1; - break; - } - return(status); -} - -void -PsCopyDisplayList(PixmapPtr src, PixmapPtr dst, int xoff, int yoff, - int x, int y, int w, int h) -{ - PsPixmapPrivPtr sPriv = (PsPixmapPrivPtr)src->devPrivate.ptr; - PsPixmapPrivPtr dPriv = (PsPixmapPrivPtr)dst->devPrivate.ptr; - DisplayListPtr sDisp; - DisplayListPtr dDisp = PsGetFreeDisplayBlock(dPriv); - DisplayElmPtr elm = &dDisp->elms[dDisp->nelms]; - - elm->type = BeginFrameCmd; - elm->c.frame.x = x; - elm->c.frame.y = y; - elm->c.frame.w = w; - elm->c.frame.h = h; - dDisp->nelms += 1; - - sDisp = sPriv->dispList; - for(; sDisp ; sDisp=sDisp->next ) - { - int i; - for( i=0,elm=sDisp->elms ; inelms ; i++,elm++ ) - { - dDisp = PsGetFreeDisplayBlock(dPriv); - if (PsCloneDisplayElm(dst, elm, &dDisp->elms[dDisp->nelms], - xoff, yoff)==0) - { - dDisp->nelms += 1; - } - } - } - - dDisp = PsGetFreeDisplayBlock(dPriv); - elm = &dDisp->elms[dDisp->nelms]; - elm->type = EndFrameCmd; - dDisp->nelms += 1; -} - -PsElmPtr -PsCreateFillElementList(PixmapPtr pix, int *nElms) -{ - PsElmPtr elms = (PsElmPtr)0; - PsPixmapPrivPtr priv = (PsPixmapPrivPtr)pix->devPrivate.ptr; - DisplayListPtr disp = priv->dispList; - PsArcEnum styl; - - *nElms = 0; - for(; disp ; disp=disp->next ) - { - int i; - DisplayElmPtr elm = disp->elms; - - for( i=0 ; inelms ; i++,elm++ ) - { - if( !elm->gc ) continue; /* workaround for https://freedesktop.org/bugzilla/show_bug.cgi?id=1416 */ - if( !elm->gc->fgPixel ) continue; - switch(elm->type) - { - case FillPolygonCmd: - *nElms += 1; - break; - case PolyFillRectCmd: - *nElms += elm->c.rects.nRects; - break; - case PolyFillArcCmd: - *nElms += elm->c.arcs.nArcs; - break; - default: /* keep the compiler happy with unhandled enums */ - break; - } - } - } - - if( (*nElms) ) - { - elms = (PsElmPtr)xcalloc(1, (*nElms)*sizeof(PsElmRec)); - if( elms ) - { - disp = priv->dispList; - *nElms = 0; - for(; disp ; disp=disp->next ) - { - int i, k; - DisplayElmPtr elm = disp->elms; - - for( i=0 ; inelms ; i++,elm++ ) - { - if( !elm->gc->fgPixel ) continue; - switch(elm->type) - { - case FillPolygonCmd: - elms[*nElms].type = PSOUT_POINTS; - elms[*nElms].nPoints = elm->c.polyPts.nPoints; - elms[*nElms].c.points = - (PsPointPtr)xalloc(elms[*nElms].nPoints*sizeof(PsPointRec)); - for( k=0 ; kc.polyPts.pPoints[k].x; - elms[*nElms].c.points[k].y = elm->c.polyPts.pPoints[k].y; - } - *nElms += 1; - break; - case PolyFillRectCmd: - for( k=0 ; kc.rects.nRects ; k++ ) - { - elms[*nElms].type = PSOUT_RECT; - elms[*nElms].nPoints = 0; - elms[*nElms].c.rect.x = elm->c.rects.pRects[k].x; - elms[*nElms].c.rect.y = elm->c.rects.pRects[k].y; - elms[*nElms].c.rect.w = elm->c.rects.pRects[k].width; - elms[*nElms].c.rect.h = elm->c.rects.pRects[k].height; - *nElms += 1; - } - break; - case PolyFillArcCmd: - if( elm->gc->arcMode==ArcChord ) styl = PsChord; - else styl = PsPieSlice; - for( k=0 ; kc.rects.nRects ; k++ ) - { - elms[*nElms].type = PSOUT_ARC; - elms[*nElms].nPoints = 0; - elms[*nElms].c.arc.x = elm->c.arcs.pArcs[k].x; - elms[*nElms].c.arc.y = elm->c.arcs.pArcs[k].y; - elms[*nElms].c.arc.w = elm->c.arcs.pArcs[k].width; - elms[*nElms].c.arc.h = elm->c.arcs.pArcs[k].height; - elms[*nElms].c.arc.a1 = elm->c.arcs.pArcs[k].angle1; - elms[*nElms].c.arc.a2 = elm->c.arcs.pArcs[k].angle2; - elms[*nElms].c.arc.style = styl; - *nElms += 1; - } - break; - default: /* keep the compiler happy with unhandled enums */ - break; - } - } - } - } - } - return(elms); -} - -PsElmPtr -PsCloneFillElementList(int nElms, PsElmPtr elms) -{ - int i; - PsElmPtr newElms; - - newElms = (PsElmPtr)xcalloc(1, nElms*sizeof(PsElmRec)); - if( !newElms ) return(newElms); - for( i=0 ; i -#endif - -#include "Ps.h" -#include "gcstruct.h" -#include "windowstr.h" - -void -PsPolyRectangle( - DrawablePtr pDrawable, - GCPtr pGC, - int nRects, - xRectangle *pRects) -{ - if( pDrawable->type==DRAWABLE_PIXMAP ) - { - DisplayElmPtr elm; - PixmapPtr pix = (PixmapPtr)pDrawable; - PsPixmapPrivPtr priv = (PsPixmapPrivPtr)pix->devPrivate.ptr; - DisplayListPtr disp; - GCPtr gc; - - if ((gc = PsCreateAndCopyGC(pDrawable, pGC)) == NULL) return; - - disp = PsGetFreeDisplayBlock(priv); - - elm = &disp->elms[disp->nelms]; - elm->type = PolyRectangleCmd; - elm->gc = gc; - elm->c.rects.nRects = nRects; - elm->c.rects.pRects = (xRectangle *)xalloc(nRects*sizeof(xRectangle)); - memcpy(elm->c.rects.pRects, pRects, nRects*sizeof(xRectangle)); - disp->nelms += 1; - } - else - { - int i; - PsOutPtr psOut; - ColormapPtr cMap; - - if( PsUpdateDrawableGC(pGC, pDrawable, &psOut, &cMap)==FALSE ) return; - PsOut_Offset(psOut, pDrawable->x, pDrawable->y); - PsOut_Color(psOut, PsGetPixelColor(cMap, pGC->fgPixel)); - PsLineAttrs(psOut, pGC, cMap); - for( i=0 ; itype==DRAWABLE_PIXMAP ) - { - DisplayElmPtr elm; - PixmapPtr pix = (PixmapPtr)pDrawable; - PsPixmapPrivPtr priv = (PsPixmapPrivPtr)pix->devPrivate.ptr; - DisplayListPtr disp; - GCPtr gc; - - if ((gc = PsCreateAndCopyGC(pDrawable, pGC)) == NULL) return; - - disp = PsGetFreeDisplayBlock(priv); - - elm = &disp->elms[disp->nelms]; - elm->type = FillPolygonCmd; - elm->gc = gc; - elm->c.polyPts.mode = mode; - elm->c.polyPts.nPoints = nPoints; - elm->c.polyPts.pPoints = (xPoint *)xalloc(nPoints*sizeof(xPoint)); - memcpy(elm->c.polyPts.pPoints, pPoints, nPoints*sizeof(xPoint)); - disp->nelms += 1; - } - else - { - int i; - PsOutPtr psOut; - PsPointPtr pts; - PsRuleEnum rule; - ColormapPtr cMap; - - if( PsUpdateDrawableGC(pGC, pDrawable, &psOut, &cMap)==FALSE ) return; - PsOut_Offset(psOut, pDrawable->x, pDrawable->y); - PsSetFillColor(pDrawable, pGC, psOut, cMap); - if( pGC->fillRule==EvenOddRule ) rule = PsEvenOdd; - else rule = PsNZWinding; - PsOut_FillRule(psOut, rule); - pts = (PsPointPtr)xalloc(sizeof(PsPointRec)*nPoints); - if( mode==CoordModeOrigin ) - { - for( i=0 ; itype==DRAWABLE_PIXMAP ) - { - DisplayElmPtr elm; - PixmapPtr pix = (PixmapPtr)pDrawable; - PsPixmapPrivPtr priv = (PsPixmapPrivPtr)pix->devPrivate.ptr; - DisplayListPtr disp; - GCPtr gc; - -#ifdef DBE - /* Remove previous pixmap content if we render one single rect which - * covers the whole pixmap surface (this optimisation was added for - * the double-buffer extension ("DBE") which uses |PolyFillRect()| - * to clear the buffer - but it makes sense in other cases, too). - */ - if (nRects == 1) - { - if ( (pRects[0].x==0) && (pRects[0].y==0) && - (pRects[0].width==pDrawable->width) && (pRects[0].height==pDrawable->height) && - (pGC->fillStyle == FillSolid) && - (noDbeExtension == False)) - { -#ifdef DEBUG_gismobile - ErrorF("PsPolyFillRect: scrubbing pixmap...\n"); -#endif /* DEBUG_gismobile */ - /* Remove all content from the pixmap as it would be covered - * by the whole rect anyway */ - PsScrubPixmap((PixmapPtr)pDrawable); - } - } -#endif /* DBE */ - - if ((gc = PsCreateAndCopyGC(pDrawable, pGC)) == NULL) return; - - disp = PsGetFreeDisplayBlock(priv); - - elm = &disp->elms[disp->nelms]; - elm->type = PolyFillRectCmd; - elm->gc = gc; - elm->c.rects.nRects = nRects; - elm->c.rects.pRects = (xRectangle *)xalloc(nRects*sizeof(xRectangle)); - memcpy(elm->c.rects.pRects, pRects, nRects*sizeof(xRectangle)); - disp->nelms += 1; - } - else - { - int i; - PsOutPtr psOut; - ColormapPtr cMap; - - if( PsUpdateDrawableGC(pGC, pDrawable, &psOut, &cMap)==FALSE ) return; - PsOut_Offset(psOut, pDrawable->x, pDrawable->y); - PsSetFillColor(pDrawable, pGC, psOut, cMap); - for( i=0 ; i -#endif - -#include -#include -#include -#include -#include -#include -#include -#include - -#define NEED_EVENTS -#include -#undef NEED_EVENTS - -#include "Ps.h" - -#include "windowstr.h" -#include "attributes.h" -#include "Oid.h" - -/* static utility function to get document/page attributes */ -static void -S_GetPageAttributes(XpContextPtr pCon,int *iorient,int *icount, int *iplex, - int *ires, unsigned short *iwd, unsigned short *iht) -{ - char *count; - XpOid orient, plex; - /* - * Get the orientation - */ - orient = XpGetContentOrientation(pCon); - switch (orient) { - case xpoid_val_content_orientation_landscape: - *iorient = 1; - break; - case xpoid_val_content_orientation_reverse_portrait: - *iorient = 2; - break; - case xpoid_val_content_orientation_reverse_landscape: - *iorient = 3; - break; - case xpoid_val_content_orientation_portrait: - default: - *iorient = 0; - break; - } - - /* - * Get the count - */ - count = XpGetOneAttribute(pCon, XPDocAttr, "copy-count"); - if( count ) - { - int ii = sscanf(count, "%d", icount); - if( ii!=1 ) *icount = 1; - } - else *icount = 1; - - /* - * Get the plex - */ - plex = XpGetPlex(pCon); - switch(plex) - { - case xpoid_val_plex_duplex: - *iplex = 1; - break; - case xpoid_val_plex_tumble: - *iplex = 2; - break; - default: - *iplex = 0; - break; - } - - /* - * Get the resolution and media size - */ - *ires = XpGetResolution(pCon); - XpGetMediumDimensions(pCon, iwd, iht); -} - - -int -PsStartJob( - XpContextPtr pCon, - Bool sendClientData, - ClientPtr client) -{ - PsContextPrivPtr pConPriv = (PsContextPrivPtr) - dixLookupPrivate(&pCon->devPrivates, PsContextPrivateKey); - - /* - * Create a temporary file to store the printer output. - */ - if (!XpOpenTmpFile("w", &pConPriv->jobFileName, &pConPriv->pJobFile)) - return BadAlloc; - - return Success; -} - - - -/* I thought about making this following code into a set of routines - or using a goto, or something, but in the end decided not to, - because the plain old listing here makes the logic clearer. */ -int -PsEndJob( - XpContextPtr pCon, - Bool cancel) -{ - int r; - struct stat buffer; - int error; - - PsContextPrivPtr priv = (PsContextPrivPtr) - dixLookupPrivate(&pCon->devPrivates, PsContextPrivateKey); - - if (cancel == True) { - if (priv->getDocClient != (ClientPtr) NULL) { - (void) XpFinishDocData( priv->getDocClient ); - - priv->getDocClient = NULL; - priv->getDocBufSize = 0; - } - - /* job is cancelled - do we really care if we're out of space? */ - (void) fclose(priv->pJobFile); - priv->pJobFile = NULL; - - unlink(priv->jobFileName); - xfree(priv->jobFileName); - priv->jobFileName = (char *)NULL; - - PsFreeFontInfoRecords(priv); - - return Success; - } - - /* - * Append any trailing information here - */ - PsOut_EndFile(priv->pPsOut, 0); - priv->pPsOut = NULL; - - /* this is where we find out if we're out of space */ - error = (fclose(priv->pJobFile) == EOF); - priv->pJobFile = NULL; - - /* status to the client if we have ran out of space on the disk or - some other resource problem with the temporary file... */ - if (error) { - if (priv->getDocClient != (ClientPtr) NULL) { - (void) XpFinishDocData( priv->getDocClient ); - - priv->getDocClient = NULL; - priv->getDocBufSize = 0; - } - - unlink(priv->jobFileName); - xfree(priv->jobFileName); - priv->jobFileName = (char *)NULL; - - PsFreeFontInfoRecords(priv); - - return BadAlloc; - } - - /* we have finished without incident & no cancel */ - - if (priv->getDocClient != NULL && priv->getDocBufSize > 0) { - FILE *file; - - file = fopen(priv->jobFileName, "r"); - if (!file || (fstat(fileno(file), &buffer) < 0)) - r = BadAlloc; - else - r = XpSendDocumentData(priv->getDocClient, file, buffer.st_size, - priv->getDocBufSize); - if (file) - fclose(file); - - (void) XpFinishDocData(priv->getDocClient); - - priv->getDocClient = NULL; - priv->getDocBufSize = 0; - } - else { - XpSubmitJob(priv->jobFileName, pCon); - - r = Success; - } - - unlink(priv->jobFileName); - xfree(priv->jobFileName); - priv->jobFileName = (char *)NULL; - - PsFreeFontInfoRecords(priv); - -#ifdef BM_CACHE - PsBmClearImageCache(); -#endif - - return r; -} - -/* StartPage - */ -int -PsStartPage( - XpContextPtr pCon, - WindowPtr pWin) -{ - int iorient, iplex, icount, ires; - unsigned short iwd, iht; - PsContextPrivPtr pConPriv = (PsContextPrivPtr) - dixLookupPrivate(&pCon->devPrivates, PsContextPrivateKey); - PsWindowPrivPtr pWinPriv = (PsWindowPrivPtr) - dixLookupPrivate(&pWin->devPrivates, PsWindowPrivateKey); - -/* - * Put a pointer to the context in the window private structure - */ - pWinPriv->validContext = 1; - pWinPriv->context = pCon; - - /* get page level attributes */ - S_GetPageAttributes(pCon,&iorient,&icount,&iplex,&ires,&iwd,&iht); - /* - * Start the page - */ - if (pConPriv->pPsOut == NULL) { - char *title; - - /* get job level attributes */ - title = XpGetOneAttribute(pCon, XPJobAttr, "job-name"); - - pConPriv->pPsOut = PsOut_BeginFile(pConPriv->pJobFile, - title, iorient, icount, iplex, ires, - (int)iwd, (int)iht, False); - pConPriv->fontInfoRecords = NULL; - pConPriv->fontTypeInfoRecords = NULL; - } - PsOut_BeginPage(pConPriv->pPsOut, iorient, icount, iplex, ires, - (int)iwd, (int)iht); - - return Success; -} - - -/* - * EndPage: - * - * Write page trailer to page file - * Write page file to job file - */ -int -PsEndPage( - XpContextPtr pCon, - WindowPtr pWin) -{ - PsWindowPrivPtr pWinPriv = (PsWindowPrivPtr) - dixLookupPrivate(&pWin->devPrivates, PsWindowPrivateKey); - PsContextPrivPtr pConPriv = (PsContextPrivPtr) - dixLookupPrivate(&pCon->devPrivates, PsContextPrivateKey); - - PsOut_EndPage(pConPriv->pPsOut); - - pWinPriv->validContext = 0; - pWinPriv->context = NULL; - - /* status to the client if we have ran out of space on the disk or - some other resource problem with the temporary file... */ -/* if (ferror(pConPriv->pJobFile)) return BadAlloc; */ - - return Success; -} - -/* - * The PsStartDoc() and PsEndDoc() functions serve basically as NOOP - * placeholders. This driver doesn't deal with the notion of multiple - * documents per page. - */ - -int -PsStartDoc(XpContextPtr pCon, XPDocumentType type) -{ - int iorient, iplex, icount, ires; - unsigned short iwd, iht; - char *title; - PsContextPrivPtr pConPriv = (PsContextPrivPtr) - dixLookupPrivate(&pCon->devPrivates, PsContextPrivateKey); - - /* get job level attributes */ - title = XpGetOneAttribute(pCon, XPJobAttr, "job-name"); - - /* get document level attributes */ - S_GetPageAttributes(pCon,&iorient,&icount,&iplex,&ires,&iwd,&iht); - - pConPriv->pPsOut = PsOut_BeginFile(pConPriv->pJobFile, - title, iorient, icount, iplex, ires, - (int)iwd, (int)iht, (Bool)(type == XPDocRaw)); - - pConPriv->fontInfoRecords = NULL; - pConPriv->fontTypeInfoRecords = NULL; - - return Success; -} - -int -PsEndDoc( - XpContextPtr pCon, - Bool cancel) -{ - return Success; -} - -/* - * PsDocumentData() - * - * Hand any pre-generated PDL down to the spool files, formatting it - * as necessary to fit the given window. - */ - -int -PsDocumentData( - XpContextPtr pCon, - DrawablePtr pDraw, - char *pData, - int len_data, - char *pFmt, - int len_fmt, - char *pOpt, - int len_opt, - ClientPtr client) -{ - PsContextPrivPtr cPriv; - PsOutPtr psOut; - - if (len_fmt != 12 || - strncasecmp(pFmt, "PostScript 2", len_fmt) != 0 || - len_opt) - return BadValue; - - cPriv = (PsContextPrivPtr) - dixLookupPrivate(&pCon->devPrivates, PsContextPrivateKey); - psOut = cPriv->pPsOut; - - if (pDraw) - PsOut_BeginFrame(psOut, 0, 0, pDraw->x, pDraw->y, - pDraw->width, pDraw->height); - PsOut_RawData(psOut, pData, len_data); - if (pDraw) - PsOut_EndFrame(psOut); - - return Success; -} - -/* - * - * PsGetDocumentData() - * - * This function allows the driver to send the generated PS back to - * the client. - */ - -int -PsGetDocumentData( - XpContextPtr pCon, - ClientPtr client, - int maxBufferSize) -{ - PsContextPrivPtr pPriv = (PsContextPrivPtr) - dixLookupPrivate(&pCon->devPrivates, PsContextPrivateKey); - - pPriv->getDocClient = client; - pPriv->getDocBufSize = maxBufferSize; - - return Success; -} - diff --git a/xorg-server/hw/xprint/ps/PsSpans.c b/xorg-server/hw/xprint/ps/PsSpans.c deleted file mode 100644 index c0e66ee7a..000000000 --- a/xorg-server/hw/xprint/ps/PsSpans.c +++ /dev/null @@ -1,164 +0,0 @@ -/* - -Copyright 1996, 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. - -*/ -/* - * (c) Copyright 1996 Hewlett-Packard Company - * (c) Copyright 1996 International Business Machines Corp. - * (c) Copyright 1996 Sun Microsystems, Inc. - * (c) Copyright 1996 Novell, Inc. - * (c) Copyright 1996 Digital Equipment Corp. - * (c) Copyright 1996 Fujitsu Limited - * (c) Copyright 1996 Hitachi, Ltd. - * - * 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. - */ - -/******************************************************************* -** -** ********************************************************* -** * -** * File: PsSpans.c -** * -** * Contents: Code to set and fill spans in the PS DDX -** * -** * Created By: Roger Helmendach (Liberty Systems) -** * -** * Copyright: Copyright 1996 The Open Group, Inc. -** * -** ********************************************************* -** -********************************************************************/ - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#include "Ps.h" -#include "gcstruct.h" -#include "windowstr.h" - -void -PsFillSpans( - DrawablePtr pDrawable, - GCPtr pGC, - int nSpans, - DDXPointPtr pPoints, - int *pWidths, - int fSorted) -{ - PsOutPtr psOut; - int xoffset, yoffset; - xRectangle *rects, *r; - RegionPtr fillRegion, region = 0; - int i; - int nbox; - BoxPtr pbox; - ColormapPtr cMap; - - if( PsUpdateDrawableGC(pGC, pDrawable, &psOut, &cMap)==FALSE ) return; - - /* - * Build a region out of the spans - */ - rects = (xRectangle *)xalloc(nSpans*sizeof(xRectangle)); - xoffset = pDrawable->x; - yoffset = pDrawable->y; - - for( i = 0, r = rects; i < nSpans; i++, r++ ) - { - r->x = pPoints[i].x + xoffset; - r->y = pPoints[i].y + yoffset; - r->width = pWidths[i]; - r->height = 1; - } - fillRegion = RECTS_TO_REGION(pGC->pScreen, nSpans, rects, - (fSorted)?CT_YSORTED:CT_UNSORTED); - - /* - * Intersect this region with the clip region. Whatever's left, - * should be filled. - */ -/*REGION_INTERSECT(pGC->pScreen, region, fillRegion, pGC->clientClip);*/ - - pbox = REGION_RECTS(region); - nbox = REGION_NUM_RECTS(region); - - /* Enter HP-GL/2 */ - /*###SEND_PCL( outFile, "\27%0B" );*/ - - while( nbox ) - { -/*### - sprintf( t, "PU%d,%d;RR%d,%d;", pbox->x1, pbox->y1, pbox->x2, pbox->y2); - SEND_PCL( outFile, t ); -*/ - nbox--; - pbox++; - } - - /* Go back to PCL */ - /*###SEND_PCL( outFile, "\27%0A" );*/ - - /* - * Clean up the temporary regions - */ - REGION_DESTROY(pGC->pScreen, fillRegion); - REGION_DESTROY(pGC->pScreen, region); - xfree(rects); -} - -void -PsSetSpans( - DrawablePtr pDrawable, - GCPtr pGC, - char *pSrc, - DDXPointPtr pPoints, - int *pWidths, - int nSpans, - int fSorted) -{ -} diff --git a/xorg-server/hw/xprint/ps/PsText.c b/xorg-server/hw/xprint/ps/PsText.c deleted file mode 100644 index 872c0f427..000000000 --- a/xorg-server/hw/xprint/ps/PsText.c +++ /dev/null @@ -1,581 +0,0 @@ -/* - -Copyright 1996, 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. - -*/ -/* - * (c) Copyright 1996 Hewlett-Packard Company - * (c) Copyright 1996 International Business Machines Corp. - * (c) Copyright 1996 Sun Microsystems, Inc. - * (c) Copyright 1996 Novell, Inc. - * (c) Copyright 1996 Digital Equipment Corp. - * (c) Copyright 1996 Fujitsu Limited - * (c) Copyright 1996 Hitachi, Ltd. - * - * 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. - */ - -/******************************************************************* -** -** ********************************************************* -** * -** * File: PsText.c -** * -** * Contents: Character-drawing routines for the PS DDX -** * -** * Created By: Roger Helmendach (Liberty Systems) -** * -** * Copyright: Copyright 1996 The Open Group, Inc. -** * -** ********************************************************* -** -********************************************************************/ - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#include "Ps.h" -#include "gcstruct.h" -#include "windowstr.h" -#include -#include -#include - -int -PsPolyText8( - DrawablePtr pDrawable, - GCPtr pGC, - int x, - int y, - int count, - char *string) -{ - if( pDrawable->type==DRAWABLE_PIXMAP ) - { - DisplayElmPtr elm; - PixmapPtr pix = (PixmapPtr)pDrawable; - PsPixmapPrivPtr priv = (PsPixmapPrivPtr)pix->devPrivate.ptr; - DisplayListPtr disp; - GCPtr gc; - - if ((gc = PsCreateAndCopyGC(pDrawable, pGC)) == NULL) return x; - - disp = PsGetFreeDisplayBlock(priv); - - elm = &disp->elms[disp->nelms]; - elm->type = Text8Cmd; - elm->gc = gc; - elm->c.text8.x = x; - elm->c.text8.y = y; - elm->c.text8.count = count; - elm->c.text8.string = (char *)xalloc(count); - memcpy(elm->c.text8.string, string, count); - disp->nelms += 1; - - return x; - } - else - { - PsFontInfoRec *firec; - - /* We need a context for rendering... */ - if (PsGetPsContextPriv(pDrawable) == NULL) - return x; - - firec = PsGetFontInfoRec(pDrawable, pGC->font); - if (!firec) - return x; - -#ifdef XP_USE_FREETYPE - if (firec->ftir->downloadableFont && - (firec->ftir->font_type == PSFTI_FONT_TYPE_FREETYPE)) - { - PsOutPtr psOut; - ColormapPtr cMap; - - if( PsUpdateDrawableGC(pGC, pDrawable, &psOut, &cMap)==FALSE ) - return x; - - if (firec->ftir->alreadyDownloaded[0] == False) - { - PsOut_DownloadFreeType(psOut, - firec->ftir->ft_download_font_type, - firec->ftir->download_ps_name, pGC->font, 0); - firec->ftir->alreadyDownloaded[0] = True; - } - - PsOut_Offset(psOut, pDrawable->x, pDrawable->y); - PsOut_Color(psOut, PsGetPixelColor(cMap, pGC->fgPixel)); - if (!firec->size) - PsOut_TextAttrsMtx(psOut, firec->ftir->download_ps_name, firec->mtx, firec->ftir->is_iso_encoding); - else - PsOut_TextAttrs(psOut, firec->ftir->download_ps_name, firec->size, firec->ftir->is_iso_encoding); - PsOut_FreeType_Text(pGC->font, psOut, x, y, string, count); - - return x; - } - else -#endif /* XP_USE_FREETYPE */ - if (firec->ftir->downloadableFont && - (firec->ftir->font_type != PSFTI_FONT_TYPE_FREETYPE)) - { - PsOutPtr psOut; - ColormapPtr cMap; - - if( PsUpdateDrawableGC(pGC, pDrawable, &psOut, &cMap)==FALSE ) - return x; - - if (firec->ftir->alreadyDownloaded[0] == False) - { - PsOut_DownloadType1(psOut, "PsPolyText8", - firec->ftir->download_ps_name, firec->ftir->filename); - firec->ftir->alreadyDownloaded[0] = True; - } - - PsOut_Offset(psOut, pDrawable->x, pDrawable->y); - PsOut_Color(psOut, PsGetPixelColor(cMap, pGC->fgPixel)); - if (!firec->size) - PsOut_TextAttrsMtx(psOut, firec->ftir->download_ps_name, firec->mtx, firec->ftir->is_iso_encoding); - else - PsOut_TextAttrs(psOut, firec->ftir->download_ps_name, firec->size, firec->ftir->is_iso_encoding); - PsOut_Text(psOut, x, y, string, count, -1); - - return x; - } - - /* Render glyphs as bitmaps */ - { - unsigned long n, i; - int w; - CharInfoPtr charinfo[255]; - - GetGlyphs(pGC->font, (unsigned long)count, - (unsigned char *)string, Linear8Bit, &n, charinfo); - w = 0; - for (i=0; i < n; i++) - w += charinfo[i]->metrics.characterWidth; - - if (n != 0) - PsPolyGlyphBlt(pDrawable, pGC, x, y, n, - charinfo, FONTGLYPHS(pGC->font)); - x += w; - - return x; - } - } - return x; -} - -int -PsPolyText16( - DrawablePtr pDrawable, - GCPtr pGC, - int x, - int y, - int count, - unsigned short *string) -{ - if( pDrawable->type==DRAWABLE_PIXMAP ) - { - DisplayElmPtr elm; - PixmapPtr pix = (PixmapPtr)pDrawable; - PsPixmapPrivPtr priv = (PsPixmapPrivPtr)pix->devPrivate.ptr; - DisplayListPtr disp; - GCPtr gc; - - if ((gc = PsCreateAndCopyGC(pDrawable, pGC)) == NULL) return x; - - disp = PsGetFreeDisplayBlock(priv); - - elm = &disp->elms[disp->nelms]; - elm->type = Text16Cmd; - elm->gc = gc; - elm->c.text16.x = x; - elm->c.text16.y = y; - elm->c.text16.count = count; - elm->c.text16.string = - (unsigned short *)xalloc(count*sizeof(unsigned short)); - memcpy(elm->c.text16.string, string, count*sizeof(unsigned short)); - disp->nelms += 1; - - return x; - } - else - { - PsFontInfoRec *firec; - - /* We need a context for rendering... */ - if (PsGetPsContextPriv(pDrawable) == NULL) - return x; - - firec = PsGetFontInfoRec(pDrawable, pGC->font); - if (!firec) - return x; - -#ifdef XP_USE_FREETYPE - if (firec->ftir->downloadableFont && - (firec->ftir->font_type == PSFTI_FONT_TYPE_FREETYPE)) - { - PsOutPtr psOut; - ColormapPtr cMap; - unsigned short c, - c_hiByte, - c_lowByte, - fontPage; - int i; - - if( PsUpdateDrawableGC(pGC, pDrawable, &psOut, &cMap)==FALSE ) - return x; - - /* Scan the string we want to render and download all neccesary parts - * of the font (one part(="font page") has 256 glyphs) - */ - for( i = 0 ; i < count ; i++ ) - { - c = string[i]; -#if IMAGE_BYTE_ORDER == LSBFirst - c_hiByte = c & 0x00FF; - c_lowByte = (c >> 8) & 0x00FF; -#elif IMAGE_BYTE_ORDER == MSBFirst - c_hiByte = (c >> 8) & 0x00FF; - c_lowByte = c & 0x00FF; -#else -#error Unsupported byte order -#endif - fontPage = c_hiByte; - - if (firec->ftir->alreadyDownloaded[fontPage] == False) - { - char buffer[256]; - const char *ps_name; - - if (fontPage > 0) - { - sprintf(buffer, "%s_%x", firec->ftir->download_ps_name, (int)fontPage); - ps_name = buffer; - } - else - { - ps_name = firec->ftir->download_ps_name; - } - - PsOut_DownloadFreeType(psOut, - firec->ftir->ft_download_font_type, - ps_name, pGC->font, (fontPage * 0x100)); /* same as (fontPage << 8) */ - - firec->ftir->alreadyDownloaded[fontPage] = True; - } - } - - - PsOut_Offset(psOut, pDrawable->x, pDrawable->y); - PsOut_Color(psOut, PsGetPixelColor(cMap, pGC->fgPixel)); - if (!firec->size) - PsOut_FreeType_TextAttrsMtx16(psOut, firec->ftir->download_ps_name, firec->mtx, firec->ftir->is_iso_encoding); - else - PsOut_FreeType_TextAttrs16(psOut, firec->ftir->download_ps_name, firec->size, firec->ftir->is_iso_encoding); - PsOut_FreeType_Text16(pGC->font, psOut, x, y, string, count); - - return x; - } - else -#endif /* XP_USE_FREETYPE */ - if (firec->ftir->downloadableFont && - (firec->ftir->font_type != PSFTI_FONT_TYPE_FREETYPE)) - { - PsOutPtr psOut; - ColormapPtr cMap; - unsigned short fontPage; - - if( PsUpdateDrawableGC(pGC, pDrawable, &psOut, &cMap)==FALSE ) - return x; - - PsOut_DownloadType1(psOut, "PsPolyText16", - firec->ftir->download_ps_name, firec->ftir->filename); - firec->ftir->alreadyDownloaded[fontPage] = True; - - PsOut_Offset(psOut, pDrawable->x, pDrawable->y); - PsOut_Color(psOut, PsGetPixelColor(cMap, pGC->fgPixel)); - if (!firec->size) - PsOut_TextAttrsMtx(psOut, firec->ftir->download_ps_name, firec->mtx, firec->ftir->is_iso_encoding); - else - PsOut_TextAttrs(psOut, firec->ftir->download_ps_name, firec->size, firec->ftir->is_iso_encoding); - PsOut_Text16(psOut, x, y, string, count, -1); - - return x; - } - - /* Render glyphs as bitmaps */ - { - unsigned long n, i; - int w; - CharInfoPtr charinfo[255]; /* encoding only has 1 byte for count */ - - GetGlyphs(pGC->font, (unsigned long)count, (unsigned char *)string, - (FONTLASTROW(pGC->font) == 0) ? Linear16Bit : TwoD16Bit, - &n, charinfo); - w = 0; - for (i=0; i < n; i++) - w += charinfo[i]->metrics.characterWidth; - if (n != 0) - PsPolyGlyphBlt(pDrawable, pGC, x, y, n, charinfo, FONTGLYPHS(pGC->font)); - x += w; - - return x; - } - } - return x; -} - -void -PsImageText8( - DrawablePtr pDrawable, - GCPtr pGC, - int x, - int y, - int count, - char *string) -{ - if( pDrawable->type==DRAWABLE_PIXMAP ) - { - DisplayElmPtr elm; - PixmapPtr pix = (PixmapPtr)pDrawable; - PsPixmapPrivPtr priv = (PsPixmapPrivPtr)pix->devPrivate.ptr; - DisplayListPtr disp; - GCPtr gc; - - if ((gc = PsCreateAndCopyGC(pDrawable, pGC)) == NULL) return; - - disp = PsGetFreeDisplayBlock(priv); - - elm = &disp->elms[disp->nelms]; - elm->type = TextI8Cmd; - elm->gc = gc; - elm->c.text8.x = x; - elm->c.text8.y = y; - elm->c.text8.count = count; - elm->c.text8.string = (char *)xalloc(count); - memcpy(elm->c.text8.string, string, count); - disp->nelms += 1; - } - else - { - int iso; - int siz; - float mtx[4]; - char *fnam; - PsOutPtr psOut; - ColormapPtr cMap; - - if( PsUpdateDrawableGC(pGC, pDrawable, &psOut, &cMap)==FALSE ) return; - PsOut_Offset(psOut, pDrawable->x, pDrawable->y); - PsOut_Color(psOut, PsGetPixelColor(cMap, pGC->fgPixel)); - fnam = PsGetPSFontName(pGC->font); - if( !fnam ) fnam = "Times-Roman"; - siz = PsGetFontSize(pGC->font, mtx); - iso = PsIsISOLatin1Encoding(pGC->font); - if( !siz ) PsOut_TextAttrsMtx(psOut, fnam, mtx, iso); - else PsOut_TextAttrs(psOut, fnam, siz, iso); - PsOut_Text(psOut, x, y, string, count, PsGetPixelColor(cMap, pGC->bgPixel)); - } -} - -void -PsImageText16( - DrawablePtr pDrawable, - GCPtr pGC, - int x, - int y, - int count, - unsigned short *string) -{ - if( pDrawable->type==DRAWABLE_PIXMAP ) - { - DisplayElmPtr elm; - PixmapPtr pix = (PixmapPtr)pDrawable; - PsPixmapPrivPtr priv = (PsPixmapPrivPtr)pix->devPrivate.ptr; - DisplayListPtr disp; - GCPtr gc; - - if ((gc = PsCreateAndCopyGC(pDrawable, pGC)) == NULL) return; - - disp = PsGetFreeDisplayBlock(priv); - - elm = &disp->elms[disp->nelms]; - elm->type = TextI16Cmd; - elm->gc = gc; - elm->c.text16.x = x; - elm->c.text16.y = y; - elm->c.text16.count = count; - elm->c.text16.string = - (unsigned short *)xalloc(count*sizeof(unsigned short)); - memcpy(elm->c.text16.string, string, count*sizeof(unsigned short)); - disp->nelms += 1; - } - else - { - int i; - char *str; - if( !count ) return; - str = (char *)xalloc(count); - for( i=0 ; ifont; - width = FONTMAXBOUNDS(pfont,rightSideBearing) - - FONTMINBOUNDS(pfont,leftSideBearing); - height = FONTMAXBOUNDS(pfont,ascent) + - FONTMAXBOUNDS(pfont,descent); - - if ((width == 0) || (height == 0) ) - return; - { - int i; - w = 0; - for (i=0; i < nGlyphs; i++) w += pCharInfo[i]->metrics.characterWidth; - } - pGCtmp = GetScratchGC(1, pDrawable->pScreen); - if (!pGCtmp) - { - (*pDrawable->pScreen->DestroyPixmap)(pPixmap); - return; - } - - gcvals[0] = GXcopy; - gcvals[1] = pGC->fgPixel; - gcvals[2] = pGC->bgPixel; - - DoChangeGC(pGCtmp, GCFunction|GCForeground|GCBackground, gcvals, 0); - - - nbyLine = BitmapBytePad(width); - pbits = (unsigned char *)xalloc(height*nbyLine); - if (!pbits){ - PsDestroyPixmap(pPixmap); - return; - } - tmpx = 0; - while(nGlyphs--) - { - pci = *pCharInfo++; - pglyph = FONTGLYPHBITS(pGlyphBase, pci); - gWidth = GLYPHWIDTHPIXELS(pci); - gHeight = GLYPHHEIGHTPIXELS(pci); - if (gWidth && gHeight) - { - nbyGlyphWidth = GLYPHWIDTHBYTESPADDED(pci); - nbyPadGlyph = BitmapBytePad(gWidth); - - if (nbyGlyphWidth == nbyPadGlyph -#if GLYPHPADBYTES != 4 - && (((int) pglyph) & 3) == 0 -#endif - ) - { - pb = pglyph; - } - else - { - for (i=0, pb = pbits; imetrics.leftSideBearing, - y - pci->metrics.ascent, gWidth, gHeight, - 0, XYBitmap, (char *)pb); - } - - x += pci->metrics.characterWidth; - } - xfree(pbits); - FreeScratchGC(pGCtmp); -} diff --git a/xorg-server/hw/xprint/ps/PsWindow.c b/xorg-server/hw/xprint/ps/PsWindow.c deleted file mode 100644 index 8bfde4b0d..000000000 --- a/xorg-server/hw/xprint/ps/PsWindow.c +++ /dev/null @@ -1,222 +0,0 @@ -/* - -Copyright 1996, 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. - -*/ -/* - * (c) Copyright 1996 Hewlett-Packard Company - * (c) Copyright 1996 International Business Machines Corp. - * (c) Copyright 1996 Sun Microsystems, Inc. - * (c) Copyright 1996 Novell, Inc. - * (c) Copyright 1996 Digital Equipment Corp. - * (c) Copyright 1996 Fujitsu Limited - * (c) Copyright 1996 Hitachi, Ltd. - * - * 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. - */ - -/******************************************************************* -** -** ********************************************************* -** * -** * File: PsWindow.c -** * -** * Contents: Window code for PS driver. -** * -** * Created By: Roger Helmendach (Liberty Systems) -** * -** * Copyright: Copyright 1996 The Open Group, Inc. -** * -** ********************************************************* -** -********************************************************************/ - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#include -#include -#include - -#include "mistruct.h" -#include "regionstr.h" -#include "windowstr.h" -#include "gcstruct.h" - -#include "Ps.h" - -/* - * The following list of strings defines the properties which will be - * placed on the screen's root window if the property was defined in - * the start-up configuration resource database. - */ -#if 0 -static char *propStrings[] = { - DT_PRINT_JOB_HEADER, - DT_PRINT_JOB_TRAILER, - DT_PRINT_JOB_COMMAND, - DT_PRINT_JOB_EXEC_COMMAND, - DT_PRINT_JOB_EXEC_OPTIONS, - DT_PRINT_PAGE_HEADER, - DT_PRINT_PAGE_TRAILER, - DT_PRINT_PAGE_COMMAND, - (char *)NULL -}; -#endif - -/* - * PsCreateWindow - watch for the creation of the root window. - * When it's created, register the screen with the print extension, - * and put the default command/header properties on it. - */ -/*ARGSUSED*/ - -Bool -PsCreateWindow(WindowPtr pWin) -{ - PsWindowPrivPtr pPriv; - -#if 0 - Bool status = Success; - ScreenPtr pScreen = pWin->drawable.pScreen; - PsScreenPrivPtr pScreenPriv = (PsScreenPrivPtr) - dixLookupPrivate(&pScreen->devPrivates, PsScreenPrivateKey); - PsWindowPrivPtr pWinPriv = (PsWindowPrivPtr) - dixLookupPrivate(&pWin->devPrivates, PsWindowPrivateKey); - - /* - * Initialize this window's private struct. - */ - pWinPriv->jobFileName = (char *)NULL; - pWinPriv->pJobFile = (FILE *)NULL; - pWinPriv->pageFileName = (char *)NULL; - pWinPriv->pPageFile = (FILE *)NULL; - - if(pWin->parent == (WindowPtr)NULL) /* root window? */ - { - Atom propName; /* type = XA_STRING */ - char *propVal; - int i; - XrmDatabase rmdb = pScreenPriv->resDB; - - /* - * Put the defaults spec'd in the config files in properties on this - * screen's root window. - */ - for(i = 0; propStrings[i] != (char *)NULL; i++) - { - if((propVal = _DtPrintGetPrinterResource(pWin, rmdb, - propStrings[i])) != - (char *)NULL) - { - propName = MakeAtom(propStrings[i], strlen(propStrings[i]), - TRUE); - dixChangeWindowProperty(serverClient, pWin, propName, XA_STRING, - 8, PropModeReplace, strlen(propVal), - (pointer)propVal, FALSE); - xfree(propVal); - } - } - } - - return status; -#endif - - pPriv = (PsWindowPrivPtr) - dixLookupPrivate(&pWin->devPrivates, PsWindowPrivateKey); - pPriv->validContext = 0; - - return TRUE; -} - - -/*ARGSUSED*/ -Bool PsMapWindow(WindowPtr pWindow) -{ - return TRUE; -} - -/*ARGSUSED*/ -Bool -PsPositionWindow( - WindowPtr pWin, - int x, - int y) -{ - return TRUE; -} - -/*ARGSUSED*/ -Bool -PsUnmapWindow(WindowPtr pWindow) -{ - return TRUE; -} - -/*ARGSUSED*/ -void -PsCopyWindow( - WindowPtr pWin, - DDXPointRec ptOldOrg, - RegionPtr prgnSrc) -{ -} - -/*ARGSUSED*/ -Bool -PsChangeWindowAttributes( - WindowPtr pWin, - unsigned long mask) -{ - return TRUE; -} - -/*ARGSUSED*/ -Bool -PsDestroyWindow(WindowPtr pWin) -{ - return TRUE; -} diff --git a/xorg-server/hw/xprint/ps/psout.c b/xorg-server/hw/xprint/ps/psout.c deleted file mode 100644 index c24f88b3d..000000000 --- a/xorg-server/hw/xprint/ps/psout.c +++ /dev/null @@ -1,1789 +0,0 @@ -/* - -Copyright 1996, 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. - -*/ -/* - * (c) Copyright 1996 Hewlett-Packard Company - * (c) Copyright 1996 International Business Machines Corp. - * (c) Copyright 1996, 2000 Sun Microsystems, Inc. All Rights Reserved. - * (c) Copyright 1996 Novell, Inc. - * (c) Copyright 1996 Digital Equipment Corp. - * (c) Copyright 1996 Fujitsu Limited - * (c) Copyright 1996 Hitachi, Ltd. - * - * 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. - */ - -/******************************************************************* -** -** ********************************************************* -** * -** * File: psout.c -** * -** * Contents: Code to output PostScript to file -** * -** * Created By: Roger Helmendach (Liberty Systems) -** * -** * Copyright: Copyright 1996 The Open Group, Inc. -** * -** ********************************************************* -** -********************************************************************/ - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#include -#include -#include "os.h" -#define USE_PSOUT_PRIVATE 1 -#include "Ps.h" -#include "psout.h" -#ifdef XP_USE_FREETYPE -#include -#include FT_FREETYPE_H -#endif /* XP_USE_FREETYPE */ -/* For VENDOR_STRING and VENDOR_RELEASE */ -#include "site.h" - -/* - * Standard definitions - */ - -static char *S_StandardDefs = "\ -/d{def}bind def\ -/b{bind}bind d\ -/bd{b d}b d\ -/x{exch}bd\ -/xd{x d}bd\ -/dp{dup}bd\ -/t{true}bd\ -/f{false}bd\ -/p{pop}bd\ -/r{roll}bd\ -/c{copy}bd\ -/i{index}bd\ -/rp{repeat}bd\ -/n{newpath}bd\ -/w{setlinewidth}bd\ -/lc{setlinecap}bd\ -/lj{setlinejoin}bd\ -/sml{setmiterlimit}bd\ -/ds{setdash}bd\ -/ie{ifelse}bd\ -/len{length}bd\ -/m{moveto}bd\ -/rm{rmoveto}bd\ -/l{lineto}bd\ -/rl{rlineto}bd\ -/a{arc}bd\ -/an{arcn}bd\ -/st{stroke}bd\ -/fl{fill}bd\ -/ef{eofill}bd\ -/sp{showpage}bd\ -/cp{closepath}bd\ -/clp{clippath}bd\ -/cl{clip}bd\ -/pb{pathbbox}bd\ -/tr{translate}bd\ -/rt{rotate}bd\ -/dv{div}bd\ -/ml{mul}bd\ -/ad{add}bd\ -/ng{neg}bd\ -/scl{scale}bd\ -/sc{setrgbcolor}bd\ -/g{setgray}bd\ -/gs{gsave}bd\ -/gr{grestore}bd\ -/sv{save}bd\ -/rs{restore}bd\ -/mx{matrix}bd\ -/cm{currentmatrix}bd\ -/sm{setmatrix}bd\ -/ccm{concatmatrix}bd\ -/cc{concat}bd\ -/ff{findfont}bd\ -/mf{makefont}bd\ -/sf{setfont}bd\ -/cft{currentfont}bd\ -/fd{FontDirectory}bd\ -/sh{show}bd\ -/stw{stringwidth}bd\ -/ci{colorimage}bd\ -/ig{image}bd\ -/im{imagemask}bd\ -/cf{currentfile}bd\ -/rh{readhexstring}bd\ -/str{string}bd\ -/al{aload}bd\ -/wh{where}bd\ -/kn{known}bd\ -/stp{stopped}bd\ -/bg{begin}bd\ -/ed{end}bd\ -/fa{forall}bd\ -/pi{putinterval}bd\ -/mk{mark}bd\ -/ctm{cleartomark}bd\ -/df{definefont}bd\ -/cd{currentdict}bd\ -/db{20 dict dp bg}bd\ -/de{ed}bd\ -/languagelevel wh{p languagelevel}{1}ie\ - 1 eq{/makepattern{p}bd/setpattern{p}bd/setpagedevice{p}bd}if\ -/mp{makepattern}bd\ -/spt{setpattern}bd\ -/spd{setpagedevice}bd\ -" -#ifdef XP_USE_FREETYPE -"/trmoveto{currentfont /FontMatrix get transform rm}d" -#endif /* XP_USE_FREETYPE */ -; - -/* - * Composite definitions - * - * - * XYr - Return X/Y dpi for device - * - * XYr - * - * Cs - Coordinate setup (for origin upper left) - * - * Cs - * - * P - Draw a point - * - * P - * - * R - Add rectangle to path - * - * R - * - * Ac - Add arc to path - * - * Ac - * - * An - Add arc to path (counterclockwise) - * - * An - * - * Tf - Set font - * - * Tf - * - * Tfm - Set font with matrix - * - * Tfm - * - * T - Draw text - * - * T - * - * Tb - Draw text with background color - * - * Tb - * - * Im1 - Image 1 bit monochrome imagemask - * - * Im1 - * - * Im24 - Image 24 bit RGB color - * - * Im24 - * - * Im1t - Image 1 bit monochrome imagemask (in tile) - * - * Im1t - * - * Im24t - Image 24 bit RGB color (in tile) - * - * Im24t - */ - -static char *S_CompositeDefs = "\ -/XYr{/currentpagedevice wh\ - {p currentpagedevice dp /HWResolution kn\ - {/HWResolution get al p}{p 300 300}ie}{300 300}ie}bd\ -/Cs{dp 0 eq{0 pHt tr XYr -1 x dv 72 ml x 1 x dv 72 ml x scl}if\ - dp 1 eq{90 rt XYr -1 x dv 72 ml x 1 x dv 72 ml x scl}if\ - dp 2 eq{pWd 0 tr XYr 1 x dv 72 ml x -1 x dv 72 ml x scl}if\ - 3 eq{pHt pWd tr 90 rt XYr 1 x dv 72 ml x -1 x dv 72 ml x scl}if}bd\ -/P{gs 1 w [] 0 ds 2 c m .1 ad x .1 ad x l st gr}bd\ -/R{4 2 r m 1 i 0 rl 0 x rl ng 0 rl cp}bd\ -/Ac{mx_ cm p 6 -2 r tr 4 2 r ng scl 0 0 .5 5 3 r a mx_ sm}bd\ -/An{mx_ cm p 6 -2 r tr 4 2 r ng scl 0 0 .5 5 3 r an mx_ sm}bd\ -/ISO{dp len dict bg{1 i/FID ne{d}{p p}ie}fa\ - /Encoding ISOLatin1Encoding d cd ed df}bd\ -/iN{dp len str cvs dp len x 1 i 3 ad str 2 c c p x p dp 3 -1 r(ISO)pi}bd\ -/Tp{{x dp iN dp fd x kn{x p dp/f_ x d ff}{dp/f_ x d x ff ISO}ie x}\ - {x dp/f_ x d ff x}ie}bd\ -/Tf{Tp[x 0 0 2 i ng 0 0] dp/fm_ x d mf sf}bd\ -/Tfm{Tp 1 -1 tm1_ scl tm2_ ccm dp/fm_ x d mf sf}bd\ -/T{m sh}bd\ -/Tb{gs sc f_ ff sf cft/FontMatrix get 3 get\ - cft/FontBBox get dp 1 get x 3 get 2 i ml 3 1 r ml\ - 0 0 m 4 i stw p 4 i 4 i m fm_ cc\ - 0 2 i rl dp 0 rl 0 2 i ng rl 0 3 i rl ng 0 rl cp fl p p\ - gr T}bd\ -/Im1{6 4 r tr scl t [3 i 0 0 5 i 0 0]{cf str1 rh p} im}bd\ -/Im1rev{6 4 r tr scl f [3 i 0 0 5 i 0 0]{cf str1 rh p} im}bd\ -/Im24{gs 6 4 r tr scl 8 [3 i 0 0 5 i 0 0]{cf str3 rh p} f 3 ci}bd\ -/Im1t{6 4 r tr scl t [3 i 0 0 5 i 0 0]{} im}bd\ -/Im24t{gs 6 4 r tr scl 8 [3 i 0 0 5 i 0 0]{} f 3 ci}bd\ -/ck2{/currentpagedevice wh \ -{p dp currentpagedevice dp 3 -1 r kn \ -{x get al p 3 -1 r eq 3 1 r eq and } \ -{p p p p t}ie} \ -{p p p t}ie}bd \ -/ck1{/currentpagedevice wh \ -{p dp currentpagedevice dp 3 -1 r kn \ -{x get eq} {p p p t}ie} \ -{p p t}ie}bd \ -/mtx{scl t [3 i 0 0 5 i 0 0]}bd \ -"; - -char *pg_orient[] = {"Portrait","Landscape","Reverse Portrait","Reverse Landscape"}; -/* - * Setup definitions - */ - -static char *S_SetupDefs = "\ - /mx_ mx d\ - /im_ mx d\ - /tm1_ mx d\ - /tm2_ mx d\ - /str3 3 str d\ - /str1 1 str d\ -"; - -/******************************************************************* - * PRIVATE FUNCTIONS * - *******************************************************************/ - -void -S_Flush(PsOutPtr self) -{ - int len; - - if( self->Buf[0] == '\0' ) - return; - - len = strlen(self->Buf); - - /* Append a newline char ('\n') if there isn't one there already */ - if( self->Buf[len-1] != '\n' ) - { - self->Buf[len++] = '\n'; - self->Buf[len] = '\0'; - } - - (void)fwrite(self->Buf, len, 1, self->Fp); - - self->Buf[0] = '\0'; -} - -static void -S_Comment(PsOutPtr self, char *comment) -{ - S_Flush(self); - strcpy(self->Buf, comment); - S_Flush(self); -} - -static void -S_OutDefs(PsOutPtr self, char *defs) -{ - int i, k=0; - S_Flush(self); - memset(self->Buf, 0, sizeof(self->Buf)); - for( i=0 ; defs[i]!='\0' ;) - { - if( k>70 && (i==0 || (i && defs[i-1]!='/')) && - (defs[i]==' ' || defs[i]=='/' || defs[i]=='{') ) - { - S_Flush(self); - k = 0; - memset(self->Buf, 0, sizeof(self->Buf)); - } - if( k && self->Buf[k-1]==' ' && defs[i]==' ' ) { i++; continue; } - self->Buf[k] = defs[i]; - k++; i++; - } - S_Flush(self); -} - -void -S_OutNum(PsOutPtr self, float num) -{ - int i; - char buf[64]; - int len; - - sprintf(buf, "%.3f", num); - - /* Remove any zeros at the end */ - for( i=strlen(buf)-1 ; buf[i]=='0' ; i-- ); buf[i+1] = '\0'; - /* Remove '.' if it is the last character */ - i = strlen(buf)-1; if( buf[i]=='.' ) buf[i] = '\0'; - - len = strlen(self->Buf); - if( len > 0 ) - { - self->Buf[len++] = ' '; - self->Buf[len] = '\0'; - } - strcpy(&self->Buf[len], buf); - if( (len+i)>70 ) S_Flush(self); -} - -static void -S_OutStr(PsOutPtr self, char *txt, int txtl) -{ - int i, k; - char buf[1024]; - for( i=0,k=0 ; i=' ' && txt[i]<='~') && - txt[i]!='(' && txt[i]!=')' && txt[i]!='\\' ) - { buf[k] = txt[i]; k++; continue; } - buf[k] = '\\'; k++; - sprintf(&buf[k], "%03o", txt[i]&0xFF); - /* Skip to the end of the buffer */ - while( buf[k] != '\0' ) - k++; - } - strcat(self->Buf, "("); - i = strlen(self->Buf); - memcpy(&self->Buf[i], buf, k); - self->Buf[i+k] = '\0'; - strcat(self->Buf, ")"); - if( strlen(self->Buf)>70 ) S_Flush(self); -} - -/* Same as S_OutStr() but takes |short *| instead of |char *| */ -static void -S_OutStr16(PsOutPtr self, unsigned short *txt, int txtl) -{ - int i, k; - char buf[2048]; - for( i=0,k=0 ; i=' ' && txt[i]<='~') && - txt[i]!='(' && txt[i]!=')' && txt[i]!='\\' ) - { buf[k] = txt[i]; k++; continue; } - buf[k] = '\\'; k++; - sprintf(&buf[k], "%03o", txt[i]&0xFFFF); - /* Skip to the end of the buffer */ - while( buf[k] != '\0' ) - k++; - } - strcat(self->Buf, "("); - i = strlen(self->Buf); - memcpy(&self->Buf[i], buf, k); - self->Buf[i+k] = '\0'; - strcat(self->Buf, ")"); - if( strlen(self->Buf)>70 ) S_Flush(self); -} - -void -S_OutTok(PsOutPtr self, char *tok, int cr) -{ - int len = strlen(self->Buf); - if( len > 0 ) - { - self->Buf[len++] = ' '; - self->Buf[len] = '\0'; - } - strcpy(&self->Buf[len], tok); - if( cr ) S_Flush(self); -} - -static void -S_Color(PsOutPtr self, PsOutColor clr) -{ - int ir, ig, ib; - ir = PSOUTCOLOR_TO_REDBITS(clr); - ig = PSOUTCOLOR_TO_GREENBITS(clr); - ib = PSOUTCOLOR_TO_BLUEBITS(clr); - if( ir==ig && ig==ib ) - { S_OutNum(self, PSOUTCOLOR_BITS_TO_PSFLOAT(ir)); S_OutTok(self, "g", 1); } - else - { - S_OutNum(self, PSOUTCOLOR_BITS_TO_PSFLOAT(ir)); - S_OutNum(self, PSOUTCOLOR_BITS_TO_PSFLOAT(ig)); - S_OutNum(self, PSOUTCOLOR_BITS_TO_PSFLOAT(ib)); - S_OutTok(self, "sc", 1); - } -} - -static void -S_SetPageDevice(PsOutPtr self, int orient, int count, int plex, int res, - int wd, int ht, int isPage) -{ - float fwd = ((float)wd/(float)res)*72.; - float fht = ((float)ht/(float)res)*72.; - -#define USE_WORKAROUND_COPY_COUNT_BUG 1 - -#ifdef USE_WORKAROUND_COPY_COUNT_BUG - /* Workaround (see http://xprint.mozdev.org/bugs/show_bug.cgi?id=1861 - - * 'Need workaround for bug 1378 ...') to avoid that we print n^2 copies - * instead of n copies. - * The problem is that we use both /NumCopies here but pass the - * %copy-count% to the spooler, too. - * But we only have to use _one_ way... - * - * The final fix for bug 1378 (http://xprint.mozdev.org/bugs/show_bug.cgi?id=1378 - - * "PS DDX creates n^2 copies of a job instead of n copies") will back this - * workaround out and replace it with a better solution. - * (see mozilla.org bug 140030 - * (http://bugzilla.mozilla.org/show_bug.cgi?id=140030 - "Setting number - * of copies causes too many copies to print") for the initial report for - * this issue...) - */ - count = 1; -#endif /* USE_WORKAROUND_COPY_COUNT_BUG */ - - S_OutTok(self, "/pWd", 0); - S_OutNum(self, fwd); - S_OutTok(self, "d /pHt", 0); - S_OutNum(self, fht); - S_OutTok(self, "d", 1); - - /* - * if these are page attributes, have PostScript check to see if they - * have changed. If not, don't do setpagedevice, since it will cause - * a page flush and screw up duplex printing. Having PostScript check - * means we don't have to keep track ourselves. - */ - if(isPage) { - S_OutNum(self, (float) orient); - S_OutTok(self, "/Orientation ck1", 0); - S_OutTok(self, "pWd pHt /PageSize ck2 and not {", 1); - } - S_OutTok(self, "{db", 0); - - S_OutTok(self, "/Orientation", 0); - S_OutNum(self, (float) orient); - S_OutTok(self, " d ", 0); - S_OutTok(self, "/PageSize [pWd pHt] d", 0); - - S_OutTok(self, " de spd", 0); - /* - * save a flag to show if we failed to set orientation... determined - * by both/either Orientation and/or PageSize, use this - * later to set/not set orientation using Cs command. - */ - S_OutTok(self,"}stp /orientationFailed x d", 1); - /* - * if these are page attributes, have PostScript check to see if they - * have changed. If not, don't do setpagedevice, since it will cause - * a page flush and screw up duplex printing. Having PostScript check - * means we don't have to keep track ourselves. - */ - if(isPage) - { - S_OutTok(self,"}if",1); - - S_OutTok(self, (plex==0)?"f":"t", 0); - S_OutTok(self, "/Duplex ck1 ", 0); - - S_OutTok(self, (plex==2)?"t":"f", 0); - S_OutTok(self, "/Tumble ck1 and ", 0); - - - S_OutNum(self, (float)res); - S_OutNum(self, (float)res); - S_OutTok(self, " /HWResolution ck2 and", 0); - - if( count>1 ) - { - S_OutNum(self, (float)count); - S_OutTok(self, " /NumCopies", 0); - S_OutTok(self, " ck1 and ", 0); - } - S_OutTok(self," not {",1); - } - S_OutTok(self, "{db", 0); - - S_OutTok(self, "/Duplex ", 0); - S_OutTok(self, (plex==0)?"f":"t", 0); - S_OutTok(self, " d ", 0); - - S_OutTok(self, "/Tumble ", 0); - S_OutTok(self, (plex==2)?"t":"f", 0); - S_OutTok(self, " d ", 0); - - S_OutTok(self, " /HWResolution [", 0); - S_OutNum(self, (float)res); - S_OutNum(self, (float)res); - S_OutTok(self, "] d ", 0); - - if( count>1 ) - { - S_OutTok(self, " /NumCopies", 0); - S_OutNum(self, (float)count); - S_OutTok(self, " d ", 0); - } - S_OutTok(self, " de spd}stp p", 1); - - if(isPage) - { - S_OutTok(self, "}if", 1); - } -} - -/******************************************************************* - * PUBLIC FUNCTIONS * - *******************************************************************/ - -FILE * -PsOut_ChangeFile(PsOutPtr self, FILE *fp) -{ - FILE *nfp; - - nfp = self->Fp; - - self->Fp = fp; - - return nfp; -} - -PsOutPtr -PsOut_BeginFile(FILE *fp, char *title, int orient, int count, int plex, int res, - int wd, int ht, Bool raw) -{ - int i; - char buffer[256+32]; /* enougth space for a title with 256 chars... */ -/* - * Get ready to output PostScript header - */ - PsOutPtr psout; - psout = (PsOutPtr)xalloc(sizeof(PsOutRec)); - memset(psout, 0, sizeof(PsOutRec)); - psout->Fp = fp; - psout->isRaw = raw; - psout->pagenum = 0; - - if (!raw) { -/* - * Output PostScript header - */ - /* GhostScript will rant about the missing BoundingBox if we use - * "%!PS-Adobe-3.0 EPSF-3.0" here... */ - S_Comment(psout, "%!PS-Adobe-3.0"); -#ifdef XP_USE_FREETYPE - { - FT_Int ftmajor = 0, - ftminor = 0, - ftpatch = 0; - extern FT_Library ftypeLibrary; /* defined in xc/lib/font/FreeType/ftfuncs.c */ - - FT_Library_Version(ftypeLibrary, &ftmajor, &ftminor, &ftpatch); - sprintf(buffer, - "%%%%Creator: The X Print Server's PostScript DDX " - "(%s, release %d, FreeType version %d.%d.%d)", - VENDOR_STRING, VENDOR_RELEASE, - (int)ftmajor, (int)ftminor, (int)ftpatch); - } -#else - sprintf(buffer, - "%%%%Creator: The X Print Server's PostScript DDX (%s, release %d)", - VENDOR_STRING, VENDOR_RELEASE); -#endif /* XP_USE_FREETYPE */ - S_Comment(psout, buffer); - - if (title) - { - sprintf(buffer, "%%%%Title: %.256s", title); - S_Comment(psout, buffer); - } - S_Comment(psout, "%%EndComments"); - S_Comment(psout, "%%BeginProlog"); - S_Comment(psout, "%%BeginProcSet: XServer_PS_Functions"); - S_OutDefs(psout, S_StandardDefs); - S_OutDefs(psout, S_CompositeDefs); - S_Comment(psout, "%%EndProcSet"); - S_Comment(psout, "%%EndProlog"); - S_Comment(psout, "%%BeginSetup"); - /* set document level page attributes */ - S_SetPageDevice(psout, orient, count, plex, res, wd, ht, 0); - S_Comment(psout, "%%Pages: atend"); - S_OutDefs(psout, S_SetupDefs); - S_Comment(psout, "%%EndSetup"); - } -/* - * Initialize the structure - */ - psout->CurColor = PSOUTCOLOR_NOCOLOR; - psout->LineWidth = 1; - psout->LineCap = PsCButt; - psout->LineJoin = PsJMiter; - psout->NDashes = 0; - psout->Dashes = (int *)0; - psout->FontName = (char *)0; - psout->FontSize = 0; - psout->start_image = 0; - for( i=0 ; i<4 ; i++ ) psout->FontMtx[i] = 0.; - psout->ImageFormat = 0; - return(psout); -} - -void -PsOut_EndFile(PsOutPtr self, int closeFile) -{ - char coms[50]; - - if (!self) - return; - - if (!self->isRaw) { - S_Comment(self,"%%Trailer"); - sprintf(coms,"%%%%Pages: %d", self->pagenum); - S_Comment(self, coms); - S_Comment(self, "%%EOF"); - } - if( self->NDashes && self->Dashes ) xfree(self->Dashes); - if( self->FontName ) xfree(self->FontName); - if( self->Patterns ) xfree(self->Patterns); - if( self->Clip.rects ) xfree(self->Clip.rects); - if( closeFile ) fclose(self->Fp); - xfree(self); -} - -void -PsOut_BeginPage(PsOutPtr self, int orient, int count, int plex, int res, - int wd, int ht) -{ - char coms[50]; - -/*** comment for pagenumbers *****/ - - S_Comment(self,"%%PageHeader"); - self->pagenum++; - sprintf(coms,"%%%%Page: %d %d", self->pagenum, self->pagenum); - S_Comment(self, coms); - sprintf(coms,"%%%%PageOrientation: %s",pg_orient[orient]); - S_Comment(self, coms); - -/*** end comment *****************/ - - /* set page level page attributes */ - S_SetPageDevice(self, orient, count, plex, res, wd, ht, 1); - - S_OutTok(self, "gs ", 0); - /* - * check to see if we set orientation already; if it wasn't set, - * use Cs to set orientation here. - */ - S_OutNum(self, (float)orient); - S_OutTok(self, "orientationFailed { ", 0); - S_OutNum(self, (float)orient); - S_OutTok(self, " } { 0 }ie Cs 100 sml gs", 1); -} - -void -PsOut_EndPage(PsOutPtr self) -{ - S_OutTok(self, "gr gr sp", 1); - - /* did grestore: mark attributes 'dirty' so they will be re-sent */ - PsOut_DirtyAttributes(self); - -/*** comment for pagenumbers *****/ - - S_Comment(self,"%%PageTrailer"); - -/*** end comment *****************/ -} - -void -PsOut_DirtyAttributes(PsOutPtr self) -{ - int i; - self->CurColor = PSOUTCOLOR_NOCOLOR; - self->LineWidth = -1; - self->LineCap = (PsCapEnum)-1; - self->LineJoin = (PsJoinEnum)-1; - self->NDashes = -1; - self->FontSize = -1; - for( i=0 ; i<4 ; i++ ) self->FontMtx[i] = -1.; - if( self->Dashes ) { xfree(self->Dashes); self->Dashes = (int *)0; } - if( self->FontName ) { xfree(self->FontName); self->FontName = (char *)0; } -} - -void -PsOut_Comment(PsOutPtr self, char *comment) -{ - S_Comment(self, comment); -} - -void -PsOut_Offset(PsOutPtr self, int x, int y) -{ - self->XOff = x; - self->YOff = y; -} - -void -PsOut_Clip(PsOutPtr self, int clpTyp, PsClipPtr clpinf) -{ - int i, k; - int changed = 0; - int xo = self->XOff; - int yo = self->YOff; - - if( self->InTile ) return; - if( self->InFrame ) xo = yo = 0; - if( clpTyp!=self->ClipType ) changed = 1; - else - { - if( clpinf->nRects!=self->Clip.nRects ) changed = 1; - else - { - if( clpinf->nOutterClips!=self->Clip.nOutterClips ) changed = 1; - else - { - for( i=0 ; inOutterClips ; i++ ) - { - if( memcmp(&clpinf->outterClips[i], &self->Clip.outterClips[i], - sizeof(PsRectRec))!=0 ) break; - } - if( inOutterClips ) changed = 1; - else - { - for( i=0 ; inRects ; i++ ) - { - if( memcmp(&clpinf->rects[i], &self->Clip.rects[i], - sizeof(PsRectRec))!=0 ) { changed = 1; break; } - } - } - } - } - if( clpinf->nElms!=self->Clip.nElms ) changed = 1; - else - { - for( i=0 ; inElms ; i++ ) - { - if( clpinf->elms[i].type!=PSOUT_POINTS ) - { - if( memcmp(&clpinf->elms[i], &self->Clip.elms[i], - sizeof(PsElmRec))!=0 ) { changed = 1; break; } - } - else - { - if( clpinf->elms[i].type!=self->Clip.elms[i].type || - clpinf->elms[i].nPoints!=self->Clip.elms[i].nPoints ) - { changed = 1; break; } - else - { - for( k=0 ; kelms[i].nPoints ; k++ ) - { - if( memcmp(&clpinf->elms[i].c.points[k], - &self->Clip.elms[i].c.points[k], sizeof(PsPointRec)) ) - { changed = 1; break; } - } - if( changed ) break; - } - } - } - } - } - - if( self->Clip.rects ) xfree(self->Clip.rects); - if( self->Clip.outterClips ) xfree(self->Clip.outterClips); - if( self->Clip.elms ) - PsDestroyFillElementList(self->Clip.nElms, self->Clip.elms); - self->ClipType = clpTyp; - self->Clip.nRects = clpinf->nRects; - self->Clip.nElms = clpinf->nElms; - self->Clip.nOutterClips = clpinf->nOutterClips; - if( clpinf->nRects ) - { - self->Clip.rects = (PsRectPtr)xalloc(clpinf->nRects*sizeof(PsRectRec)); - memcpy(self->Clip.rects, clpinf->rects, clpinf->nRects*sizeof(PsRectRec)); - } - else self->Clip.rects = 0; - if( clpinf->nOutterClips ) - { - self->Clip.outterClips = (PsRectPtr)xalloc(clpinf->nOutterClips* - sizeof(PsRectRec)); - memcpy(self->Clip.outterClips, clpinf->outterClips, - clpinf->nOutterClips*sizeof(PsRectRec)); - } - else self->Clip.outterClips = 0; - if( clpinf->nElms ) - self->Clip.elms = PsCloneFillElementList(clpinf->nElms, clpinf->elms); - else self->Clip.elms = 0; - - PsOut_DirtyAttributes(self); - S_OutTok(self, "gr gs", 1); - if( self->Clip.nOutterClips ) - { - for( i=0 ; iClip.nOutterClips ; i++ ) - { - S_OutNum(self, (float)(self->Clip.outterClips[i].x)); - S_OutNum(self, (float)(self->Clip.outterClips[i].y)); - S_OutNum(self, (float)self->Clip.outterClips[i].w); - S_OutNum(self, (float)self->Clip.outterClips[i].h); - S_OutTok(self, "R", 1); - } - S_OutTok(self, "cl n", 1); - } - if( self->Clip.nRects ) - { - for( i=0 ; iClip.nRects ; i++ ) - { - S_OutNum(self, (float)(self->Clip.rects[i].x+xo)); - S_OutNum(self, (float)(self->Clip.rects[i].y+yo)); - S_OutNum(self, (float)self->Clip.rects[i].w); - S_OutNum(self, (float)self->Clip.rects[i].h); - S_OutTok(self, "R", 1); - } - S_OutTok(self, "cl n", 1); - } - if( self->Clip.nElms ) - { - PsElmPtr elm = self->Clip.elms; - for( i=0 ; iClip.nElms ; i++,elm++ ) - { - switch(elm->type) - { - case PSOUT_POINTS: - for( k=0 ; knPoints ; k++ ) - { - S_OutNum(self, (float)elm->c.points[k].x+xo); - S_OutNum(self, (float)elm->c.points[k].y+yo); - if( k==0 ) S_OutTok(self, "m", 0); - else S_OutTok(self, "l", 0); - } - S_OutTok(self, "cp", 1); - break; - case PSOUT_RECT: - S_OutNum(self, (float)elm->c.rect.x+xo); - S_OutNum(self, (float)elm->c.rect.y+yo); - S_OutNum(self, (float)elm->c.rect.w); - S_OutNum(self, (float)elm->c.rect.h); - S_OutTok(self, "R", 1); - break; - case PSOUT_ARC: - if( elm->c.arc.style==PsPieSlice ) - { - S_OutNum(self, (float)elm->c.arc.x+xo+(float)elm->c.arc.w/2.); - S_OutNum(self, (float)elm->c.arc.y+yo+(float)elm->c.arc.h/2.); - S_OutTok(self, "m", 0); - } - S_OutNum(self, (float)elm->c.arc.x+xo+(float)elm->c.arc.w/2.); - S_OutNum(self, (float)elm->c.arc.y+yo+(float)elm->c.arc.h/2.); - S_OutNum(self, (float)elm->c.arc.w); - S_OutNum(self, (float)elm->c.arc.h); - S_OutNum(self, (float)elm->c.arc.a1/64.); - S_OutNum(self, (float)elm->c.arc.a1/64.+(float)elm->c.arc.a2/64.); - if( elm->c.arc.a2<0 ) S_OutTok(self, "An cp", 1); - else S_OutTok(self, "Ac cp", 1); - break; - } - } - S_OutTok(self, "cl n", 1); - } -} - -void -PsOut_Color(PsOutPtr self, PsOutColor clr) -{ - if( clr==self->CurColor || self->InTile>=PsStip ) return; - self->CurColor = clr; - S_Color(self, clr); -} - -void -PsOut_FillRule(PsOutPtr self, PsRuleEnum rule) -{ - self->FillRule = rule; -} - -void -PsOut_LineAttrs(PsOutPtr self, int wd, PsCapEnum cap, PsJoinEnum join, - int nDsh, int *dsh, int dshOff, PsOutColor bclr) -{ - int i; - int same = 1; - - if( wd!=self->LineWidth && wd>=0 ) - { - if( wd==0 ) wd = 1; - self->LineWidth = wd; - S_OutNum(self, (float)wd); S_OutTok(self, "w", 1); - } - if( cap!=self->LineCap ) - { - self->LineCap = cap; - S_OutNum(self, (float)cap); S_OutTok(self, "lc", 1); - } - if( join!=self->LineJoin ) - { - self->LineJoin = join; - S_OutNum(self, (float)join); S_OutTok(self, "lj", 1); - } - if( nDsh!=self->NDashes ) same = 0; - else if( dshOff!=self->DashOffset ) same = 0; - else if( nDsh ) - { - for( i=0 ; iDashes[i] ) break; } - if( iNDashes && self->Dashes ) - { xfree(self->Dashes); self->Dashes = (int *)0; } - self->NDashes = nDsh; - self->DashOffset = dshOff; - if( nDsh ) self->Dashes = (int *)xalloc(sizeof(int)*nDsh); - S_OutTok(self, "[", 0); - for( i=0 ; iDashes[i] = dsh[i]; - S_OutNum(self, (float)dsh[i]); - } - S_OutTok(self, "]", 0); - S_OutNum(self, (float)dshOff); - S_OutTok(self, "ds", 1); - } - - if( nDsh ) - self->LineBClr = bclr; - else - bclr = PSOUTCOLOR_NOCOLOR; -} - -void -PsOut_TextAttrs(PsOutPtr self, char *fnam, int siz, int iso) -{ - int i; - char buf[256]; - if( self->FontName && strcmp(fnam, self->FontName)==0 && - siz==self->FontSize ) return; - if( self->FontName ) xfree(self->FontName); - self->FontName = (char *)xalloc(strlen(fnam)+1); - strcpy(self->FontName, fnam); - self->FontSize = siz; - for( i=0 ; i<4 ; i++ ) self->FontMtx[i] = -1.; - strcpy(buf, "/"); strcat(buf, fnam); - S_OutTok(self, buf, 0); - S_OutNum(self, (float)siz); - if( iso ) S_OutTok(self, "t", 0); - else S_OutTok(self, "f", 0); - S_OutTok(self, "Tf", 1); -} - -void -PsOut_TextAttrsMtx(PsOutPtr self, char *fnam, float *mtx, int iso) -{ - int i; - char buf[256]; - if( self->FontName && strcmp(fnam, self->FontName)==0 && - mtx[0]==self->FontMtx[0] && mtx[1]==self->FontMtx[1] && - mtx[2]==self->FontMtx[2] && mtx[3]==self->FontMtx[3] ) return; - if( self->FontName ) xfree(self->FontName); - self->FontName = (char *)xalloc(strlen(fnam)+1); - strcpy(self->FontName, fnam); - for( i=0 ; i<4 ; i++ ) self->FontMtx[i] = mtx[i]; - self->FontSize = -1; - strcpy(buf, "/"); strcat(buf, fnam); strcat(buf, " ["); - S_OutTok(self, buf, 0); - for( i=0 ; i<4 ; i++ ) S_OutNum(self, mtx[i]); - S_OutTok(self, "0 0]", 0); - if( iso ) S_OutTok(self, "t", 0); - else S_OutTok(self, "f", 0); - S_OutTok(self, "Tfm", 1); -} - -void -PsOut_Polygon(PsOutPtr self, int nPts, PsPointPtr pts) -{ - int i; - int xo = self->XOff; - int yo = self->YOff; - - if( self->InFrame || self->InTile ) xo = yo = 0; - if( nPts<=2 ) return; - for( i=0 ; iFillRule==PsEvenOdd ) S_OutTok(self, "cp ef", 1); - else S_OutTok(self, "cp fl", 1); -} - -void -PsOut_FillRect(PsOutPtr self, int x, int y, int w, int h) -{ - int xo = self->XOff; - int yo = self->YOff; - - if( self->InFrame || self->InTile ) xo = yo = 0; - x += xo; y += yo; - S_OutNum(self, (float)x); - S_OutNum(self, (float)y); - S_OutNum(self, (float)w); - S_OutNum(self, (float)h); - S_OutTok(self, "R fl", 1); -} - -void -PsOut_FillArc(PsOutPtr self, int x, int y, int w, int h, - float ang1, float ang2, PsArcEnum style) -{ - int xo = self->XOff; - int yo = self->YOff; - - if( self->InFrame || self->InTile ) xo = yo = 0; - x += xo; y += yo; - if( style==PsPieSlice ) - { - S_OutNum(self, (float)x+(float)w/2.); - S_OutNum(self, (float)y+(float)h/2.); - S_OutTok(self, "m", 0); - } - S_OutNum(self, (float)x+(float)w/2.); - S_OutNum(self, (float)y+(float)h/2.); - S_OutNum(self, (float)w); - S_OutNum(self, (float)h); - S_OutNum(self, ang1); - S_OutNum(self, ang1+ang2); - if( ang2<0 ) S_OutTok(self, "An cp fl", 1); - else S_OutTok(self, "Ac cp fl", 1); -} - -void -PsOut_Lines(PsOutPtr self, int nPts, PsPointPtr pts) -{ - int i; - int xo = self->XOff; - int yo = self->YOff; - - if( self->InFrame || self->InTile ) xo = yo = 0; - if( nPts<1 ) return; - for( i=0 ; iLineBClr != PSOUTCOLOR_NOCOLOR ) - { - S_OutTok(self, "gs", 0); - S_Color(self, self->LineBClr); - S_OutTok(self, "[] 0 ds st gr", 0); - } - S_OutTok(self, "st", 1); -} - -void -PsOut_Points(PsOutPtr self, int nPts, PsPointPtr pts) -{ - int i; - int xo = self->XOff; - int yo = self->YOff; - - if( self->InFrame || self->InTile ) xo = yo = 0; - if( nPts<1 ) return; - for( i=0 ; iXOff; - int yo = self->YOff; - - if( self->InFrame || self->InTile ) xo = yo = 0; - x += xo; y += yo; - S_OutNum(self, (float)x); - S_OutNum(self, (float)y); - S_OutNum(self, (float)w); - S_OutNum(self, (float)h); - S_OutTok(self, "R", 0); - if( self->LineBClr != PSOUTCOLOR_NOCOLOR ) - { - S_OutTok(self, "gs", 0); - S_Color(self, self->LineBClr); - S_OutTok(self, "[] 0 ds st gr", 0); - } - S_OutTok(self, "st", 1); -} - -void -PsOut_DrawArc(PsOutPtr self, int x, int y, int w, int h, - float ang1, float ang2) -{ - int xo = self->XOff; - int yo = self->YOff; - - if( self->InFrame || self->InTile ) xo = yo = 0; - x += xo; y += yo; - S_OutNum(self, (float)x+(float)w/2.); - S_OutNum(self, (float)y+(float)h/2.); - S_OutNum(self, (float)w); - S_OutNum(self, (float)h); - S_OutNum(self, ang1); - S_OutNum(self, ang1+ang2); - if( ang2<0 ) S_OutTok(self, "An", 0); - else S_OutTok(self, "Ac", 0); - if( self->LineBClr != PSOUTCOLOR_NOCOLOR ) - { - S_OutTok(self, "gs", 0); - S_Color(self, self->LineBClr); - S_OutTok(self, "[] 0 ds st gr", 0); - } - S_OutTok(self, "st", 1); -} - -void -PsOut_Text(PsOutPtr self, int x, int y, char *text, int textl, PsOutColor bclr) -{ - int xo = self->XOff; - int yo = self->YOff; - - if( self->InFrame || self->InTile ) xo = yo = 0; - x += xo; y += yo; - S_OutStr(self, text, textl); - S_OutNum(self, (float)x); - S_OutNum(self, (float)y); - if( bclr == PSOUTCOLOR_NOCOLOR ) - S_OutTok(self, "T", 1); - else - { - int ir = PSOUTCOLOR_TO_REDBITS(bclr); - int ig = PSOUTCOLOR_TO_GREENBITS(bclr); - int ib = PSOUTCOLOR_TO_BLUEBITS(bclr); - - S_OutNum(self, PSOUTCOLOR_BITS_TO_PSFLOAT(ir)); - S_OutNum(self, PSOUTCOLOR_BITS_TO_PSFLOAT(ig)); - S_OutNum(self, PSOUTCOLOR_BITS_TO_PSFLOAT(ib)); - S_OutTok(self, "Tb", 1); - } -} - -void -PsOut_Text16(PsOutPtr self, int x, int y, unsigned short *text, int textl, PsOutColor bclr) -{ - int xo = self->XOff; - int yo = self->YOff; - - if( self->InFrame || self->InTile ) xo = yo = 0; - x += xo; y += yo; - S_OutStr16(self, text, textl); - S_OutNum(self, (float)x); - S_OutNum(self, (float)y); - if( bclr == PSOUTCOLOR_NOCOLOR ) - S_OutTok(self, "T", 1); - else - { - int ir = PSOUTCOLOR_TO_REDBITS(bclr); - int ig = PSOUTCOLOR_TO_GREENBITS(bclr); - int ib = PSOUTCOLOR_TO_BLUEBITS(bclr); - S_OutNum(self, PSOUTCOLOR_BITS_TO_PSFLOAT(ir)); - S_OutNum(self, PSOUTCOLOR_BITS_TO_PSFLOAT(ig)); - S_OutNum(self, PSOUTCOLOR_BITS_TO_PSFLOAT(ib)); - S_OutTok(self, "Tb", 1); - } -} - -#ifdef BM_CACHE -void /* new */ -PsOut_ImageCache(PsOutPtr self, int x, int y, long cache_id, PsOutColor bclr, PsOutColor fclr) -{ - char cacheID[10]; - int xo = self->XOff; - int yo = self->YOff; - - if( self->InFrame || self->InTile ) xo = yo = 0; - x += xo; y += yo; - sprintf(cacheID, "c%di", cache_id); - - S_OutNum(self, (float)x); - S_OutNum(self, (float)y); - - if( fclr==PSOUTCOLOR_WHITE ) - { - int ir = PSOUTCOLOR_TO_REDBITS(bclr); - int ig = PSOUTCOLOR_TO_GREENBITS(bclr); - int ib = PSOUTCOLOR_TO_BLUEBITS(bclr); - - if( ir==ig && ig==ib ) - S_OutNum(self, PSOUTCOLOR_BITS_TO_PSFLOAT(ir)); - else - S_OutNum(self, (float)0); - self->RevImage = 1; - } - else - { - int ir = PSOUTCOLOR_TO_REDBITS(fclr); - int ig = PSOUTCOLOR_TO_GREENBITS(fclr); - int ib = PSOUTCOLOR_TO_BLUEBITS(fclr); - - if( ir==ig && ig==ib ) - S_OutNum(self, PSOUTCOLOR_BITS_TO_PSFLOAT(ir)); - else - S_OutNum(self, (float)0); - } - - S_OutTok(self, cacheID, 1); -} /* new */ - -void /* new */ -PsOut_BeginImageCache(PsOutPtr self, long cache_id) -{ - char cacheID[10]; - - sprintf(cacheID, "/c%di {", cache_id); - - S_OutTok(self, cacheID, 0); -} /* new */ - -void /* new */ -PsOut_EndImageCache(PsOutPtr self) -{ - S_OutTok(self, "}bd", 1); -} /* new */ -#endif - -void -PsOut_BeginImage(PsOutPtr self, PsOutColor bclr, PsOutColor fclr, int x, int y, - int w, int h, int sw, int sh, int format) -{ - PsOutColor savClr = self->CurColor; - int xo = self->XOff; - int yo = self->YOff; - - if( self->InFrame || self->InTile ) xo = yo = 0; - x += xo; y += yo; - if( self->InTile ) - { - if( self->InTile>=PsStip && format!=1 ) { self->ImgSkip = 1; return; } - self->ImgBClr = bclr; self->ImgFClr = fclr; - self->ImgX = x; self->ImgY = y; - self->ImgW = w; self->ImgH = h; - self->SclW = sw; self->SclH = sh; - S_OutTok(self, "<", 0); - self->ImageFormat = format; - self->RevImage = 0; - if( self->InTile==PsTile && format==1 && fclr==PSOUTCOLOR_WHITE ) - self->RevImage = 1; - return; - } - - self->RevImage = 0; - if( format==1 ) - { - S_OutTok(self, "gs", 0); - if( fclr==PSOUTCOLOR_WHITE ) - { - PsOut_Color(self, fclr); - PsOut_FillRect(self, x, y, sw, sh); - PsOut_Color(self, bclr); - self->RevImage = 1; - } - else - { - PsOut_Color(self, bclr); - PsOut_FillRect(self, x, y, sw, sh); - PsOut_Color(self, fclr); - } - } - S_OutNum(self, (float)x); - S_OutNum(self, (float)y); - S_OutNum(self, (float)w); - S_OutNum(self, (float)h); - S_OutNum(self, (float)sw); - S_OutNum(self, (float)sh); - if( format==1 ) { - if(self->RevImage) - S_OutTok(self, "Im1rev", 1); - else - S_OutTok(self, "Im1", 1); - } - else S_OutTok(self, "Im24", 1); - self->ImageFormat = format; - self->CurColor = savClr; -} - -void -PsOut_BeginImageIM(PsOutPtr self, PsOutColor bclr, PsOutColor fclr, int x, int y, - int w, int h, int sw, int sh, int format) -{ - PsOutColor savClr = self->CurColor; - int xo = self->XOff; - int yo = self->YOff; - - if( self->InFrame || self->InTile ) xo = yo = 0; - x += xo; y += yo; - if( self->InTile ) - { - if( self->InTile>=PsStip && format!=1 ) { self->ImgSkip = 1; return; } - self->ImgBClr = bclr; self->ImgFClr = fclr; - self->ImgX = x; self->ImgY = y; - self->ImgW = w; self->ImgH = h; - self->SclW = sw; self->SclH = sh; - S_OutTok(self, "<", 0); - self->ImageFormat = format; - self->RevImage = 0; - if( self->InTile==PsTile && format==1 && fclr==PSOUTCOLOR_WHITE ) - self->RevImage = 1; - return; - } - - self->RevImage = 0; - if( format==1 ) - { - S_OutTok(self, "gs", 0); -#ifdef BM_CACHE - S_OutTok(self, "g", 1); -#else - if( fclr==PSOUTCOLOR_WHITE ) - { - PsOut_Color(self, bclr); - self->RevImage = 1; - } - else - { - PsOut_Color(self, fclr); - } -#endif - } - -#ifdef BM_CACHE - S_OutTok(self, "tr", 0); /* new */ -#else - S_OutNum(self, (float)x); - S_OutNum(self, (float)y); -#endif - S_OutNum(self, (float)w); - S_OutNum(self, (float)h); - S_OutNum(self, (float)sw); - S_OutNum(self, (float)sh); -#ifdef BM_CACHE - S_OutTok(self, "mtx", 1); /* new */ - S_OutTok(self, "<", 0); /* new */ - self->start_image = 1; -#else - if( format==1 ){ - if(self->RevImage) - S_OutTok(self, "Im1rev", 1); - else - S_OutTok(self, "Im1", 1); - } - else S_OutTok(self, "Im24", 1); -#endif - self->ImageFormat = format; - self->CurColor = savClr; -} - -void -PsOut_EndImage(PsOutPtr self) -{ - if( self->ImgSkip ) { self->ImgSkip = 0; return; } - if( self->InTile ) - { - S_OutTok(self, ">", 1); - if( self->ImageFormat==1 && self->InTile==PsTile ) - { - if( self->ImgFClr==PSOUTCOLOR_WHITE ) - { - PsOut_Color(self, self->ImgFClr); - PsOut_FillRect(self, self->ImgX, self->ImgY, self->SclW, self->SclH); - PsOut_Color(self, self->ImgBClr); - } - else - { - PsOut_Color(self, self->ImgBClr); - PsOut_FillRect(self, self->ImgX, self->ImgY, self->SclW, self->SclH); - PsOut_Color(self, self->ImgFClr); - } - } - S_OutNum(self, (float)self->ImgX); - S_OutNum(self, (float)self->ImgY); - S_OutNum(self, (float)self->ImgW); - S_OutNum(self, (float)self->ImgH); - S_OutNum(self, (float)self->SclW); - S_OutNum(self, (float)self->SclH); - if( self->ImageFormat==1 ) S_OutTok(self, "Im1t", 1); - else S_OutTok(self, "Im24t", 1); - self->ImageFormat = 0; - self->RevImage = 0; - return; - } - /* - * Bug 4639307: Move flush before "> im" to get all of bitmap into ps file. - */ - S_Flush(self); -#ifdef BM_CACHE - if(self->start_image) - S_OutTok(self, "> im", 1); /* new */ -#endif - self->ImageFormat = 0; - self->RevImage = 0; -#ifdef BM_CACHE - if(self->start_image) - { - self->start_image = 0; - S_OutTok(self, "gr", 0); - } - else - S_OutTok(self, "gr", 1); -#else - S_OutTok(self, "gr", 1); -#endif -} - -void -PsOut_OutImageBytes(PsOutPtr self, int nBytes, char *bytes) -{ - int i; - int b; - int len; - const char hex[] = { '0', '1', '2', '3', '4', '5', '6', '7', - '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' }; - - if( (!self->ImageFormat) || self->ImgSkip ) return; - - len = strlen(self->Buf); - - for( i=0 ; iRevImage ) b = (int)((bytes[i]^0xFF)&0xFF); - else b = (int)(bytes[i]&0xFF); - - self->Buf[len++] = hex[(b&0xF0) >> 4]; - self->Buf[len++] = hex[(b&0x0F)]; - self->Buf[len] = '\0'; - - if( len>70 ) - { - S_Flush(self); - len = 0; - } - } -} - -void -PsOut_BeginFrame(PsOutPtr self, int xoff, int yoff, int x, int y, - int w, int h) -{ - int xo = self->XOff; - int yo = self->YOff; - - if( self->InFrame ) xo = yo = 0; - S_OutTok(self, "gs", 0); - S_OutNum(self, (float)(x+xo)); - S_OutNum(self, (float)(y+yo)); - S_OutNum(self, (float)w); - S_OutNum(self, (float)h); - S_OutTok(self, "R cl n", 0); - xoff += xo; yoff += yo; - if( xoff || yoff ) - { - S_OutNum(self, (float)xoff); - S_OutNum(self, (float)yoff); - S_OutTok(self, "tr", 0); - } - S_OutTok(self, "gs", 1); - self->InFrame += 1; -} - -void -PsOut_EndFrame(PsOutPtr self) -{ - self->InFrame -= 1; - if( self->InFrame<0 ) self->InFrame = 0; - S_OutTok(self, "gr gr", 1); - PsOut_DirtyAttributes(self); -} - -int -PsOut_BeginPattern(PsOutPtr self, void *tag, int w, int h, PsFillEnum type, - PsOutColor bclr, PsOutColor fclr) -{ - int i; - char key[64]; - - for( i=0 ; iNPatterns ; i++ ) - { if( self->Patterns[i].tag==tag && self->Patterns[i].type==type ) break; } - if( iNPatterns ) return(1); - if( (self->NPatterns+1)>self->MxPatterns ) - { - if( self->Patterns ) - { - self->MxPatterns *= 2; - self->Patterns = - (PsPatPtr)xrealloc(self->Patterns, sizeof(PsPatRec)*self->MxPatterns); - } - else - { - self->MxPatterns = 64; - self->Patterns = (PsPatPtr)xalloc(sizeof(PsPatRec)*self->MxPatterns); - } - } - self->Patterns[self->NPatterns].tag = tag; - self->Patterns[self->NPatterns].type = type; - sprintf(key, "/ %d", (int)tag); - switch(type) { - case PsTile: key[1] = 't'; break; - case PsStip: key[1] = 's'; break; - case PsOpStip: key[1] = 'o'; break; - default: break; } - S_OutTok(self, key, 0); - S_OutTok(self, "db/PatternType 1 d/PaintType 1 d", 0); - S_OutTok(self, "/TilingType 1 d/BBox[0 0", 0); - S_OutNum(self, (float)w); - S_OutNum(self, (float)h); - S_OutTok(self, "]d/XStep", 0); - S_OutNum(self, (float)w); - S_OutTok(self, "d/YStep", 0); - S_OutNum(self, (float)h); - S_OutTok(self, "d/PaintProc{bg sv", 1); - if( type==PsOpStip ) - { - S_Color(self, bclr); - S_OutTok(self, "0 0", 0); - S_OutNum(self, (float)w); - S_OutNum(self, (float)h); - S_OutTok(self, "R fl", 1); - } - if( type!=PsTile ) S_Color(self, fclr); - self->NPatterns += 1; - self->InTile = type; - return(0); -} - -void -PsOut_EndPattern(PsOutPtr self) -{ - self->InTile = PsSolid; - S_OutTok(self, "rs ed}d de im_ mp d", 1); -} - -void -PsOut_SetPattern(PsOutPtr self, void *tag, PsFillEnum type) -{ - int i; - char key[64]; - - for( i=0 ; iNPatterns ; i++ ) - { if( tag==self->Patterns[i].tag && type==self->Patterns[i].type ) break; } - if( i>=self->NPatterns ) return; - sprintf(key, " %d", (int)tag); - switch(type) { - case PsTile: key[0] = 't'; break; - case PsStip: key[0] = 's'; break; - case PsOpStip: key[0] = 'o'; break; - default: break; } - S_OutTok(self, key, 0); - S_OutTok(self, "spt", 1); - self->CurColor = PSOUTCOLOR_NOCOLOR; -} - -void -PsOut_RawData(PsOutPtr self, char *data, int len) -{ - S_Flush(self); - if (!ferror(self->Fp)) { - (void) fwrite(data, 1, len, self->Fp); - } -} - -typedef enum PsDownfontFontType_ -{ - PsDFT_Type1PFA=0, - PsDFT_Type1PFB, - PsDFT_TrueType /* not implemented yet */ -} PsDownfontFontType; - -/* Download a PS Type1 font */ -int -PsOut_DownloadType1(PsOutPtr self, const char *auditmsg, const char *name, const char *fname) -{ - int stt; - char buf[256]; - FILE *fp; - PsDownfontFontType type; - - fp = fopen(fname, "r"); - if( !fp ) - return 0; - -#ifdef DEBUG_gisburn - /* This should be log-able! */ - fprintf(stderr, "PsOut_DownloadType1: %s: Downloading '%s' from '%s'\n", auditmsg, name, fname); -#endif /* DEBUG_gisburn */ - - fread(buf, 32, 1, fp); - fseek(fp, (long)0, 0); - - /* Is this a Adobe PostScript Type 1 binary font (PFB) ? */ - if( (buf[0]&0xFF)==0x80 && (buf[1]&0xFF)==0x01 ) - { - type = PsDFT_Type1PFB; - } - /* Is this a Adobe PostScript ASCII font (PFA) ? */ - else if (!strncmp(buf, "%!PS-AdobeFont", 14)) - { - type = PsDFT_Type1PFA; - } - else - { - /* This should be log-able! */ - fprintf(stderr, "PsOut_DownloadType1: Unknown font type for '%s'\n", fname); - return 0; - } - - S_Flush(self); - sprintf(buf, "%%%%BeginFont: %s", name); - S_Comment(self, buf); - - if( type == PsDFT_Type1PFB ) - { - char *buf, - *pt; - int len, - ch, - stype; - - ch = fgetc(fp); - /* Strip out the binary headers and de-binary it */ - while( (ch&0xFF) == 0x80 ) - { - stype = fgetc(fp); - if( stype==3 ) /* eof mark */ - break; - len = fgetc(fp); - len |= fgetc(fp)<<8; - len |= fgetc(fp)<<16; - len |= fgetc(fp)<<24; - buf = (char *)xalloc(len+1); - if( stype==1 ) - { - /* Process ASCII section */ - len = fread(buf, 1, len, fp); - /* convert any lone CRs (ie Mac eol) to LFs */ - for( pt = buf ; (pt = memchr(pt, '\r', len-(pt-buf))) != NULL ; pt++ ) - { - if ( pt[1]!='\n' ) - *pt = '\n'; - } - fwrite(buf, 1, len, self->Fp); - } - else if( stype==2 ) - { - int i; - - /* Process binary section */ - len = fread(buf, 1, len, fp); - for( i=0 ; i>4)&0xf) <= 9 ) - fputc('0'+((ch>>4)&0xf), self->Fp); - else - fputc('A'-10+((ch>>4)&0xf), self->Fp); - - if( (ch&0xf) <= 9 ) - fputc('0'+(ch&0xf), self->Fp); - else - fputc('A'-10+(ch&0xf), self->Fp); - - if( (i&0x1f)==0x1f ) - fputc('\n', self->Fp); - } - } - xfree(buf); - - /* Next block... */ - ch = fgetc(fp); - } - } - /* Is this a Adobe PostScript ASCII font (PFA) ? */ - else if (type == PsDFT_Type1PFA) - { - for(;;) - { - stt = fread(buf, 1, 256, fp); - if( stt<=0 ) break; - if (!ferror(self->Fp)) { - (void) fwrite(buf, 1, stt, self->Fp); - } - if( stt<256 ) - break; - } - } - fclose(fp); - S_Flush(self); - S_Comment(self, "%%EndFont"); - - /* Success... */ - return 1; -} - - - - - - diff --git a/xorg-server/hw/xprint/ps/psout.h b/xorg-server/hw/xprint/ps/psout.h deleted file mode 100644 index 1138e4afe..000000000 --- a/xorg-server/hw/xprint/ps/psout.h +++ /dev/null @@ -1,335 +0,0 @@ -/* - -Copyright 1996, 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. - -*/ -/* - * (c) Copyright 1996 Hewlett-Packard Company - * (c) Copyright 1996 International Business Machines Corp. - * (c) Copyright 1996 Sun Microsystems, Inc. - * (c) Copyright 1996 Novell, Inc. - * (c) Copyright 1996 Digital Equipment Corp. - * (c) Copyright 1996 Fujitsu Limited - * (c) Copyright 1996 Hitachi, Ltd. - * - * 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. - */ - -/******************************************************************* -** -** ********************************************************* -** * -** * File: psout.h -** * -** * Contents: Include file for psout.c -** * -** * Created By: Roger Helmendach (Liberty Systems) -** * -** * Copyright: Copyright 1996 The Open Group, Inc. -** * -** ********************************************************* -** -********************************************************************/ - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#ifndef _psout_ -#define _psout_ - -#include - -typedef enum PsCapEnum_ { PsCButt=0, PsCRound, PsCSquare } PsCapEnum; -typedef enum PsJoinEnum_ { PsJMiter=0, PsJRound, PsJBevel } PsJoinEnum; -typedef enum PsArcEnum_ { PsChord, PsPieSlice } PsArcEnum; -typedef enum PsRuleEnum_ { PsEvenOdd, PsNZWinding } PsRuleEnum; -typedef enum PsFillEnum_ { PsSolid=0, PsTile, PsStip, PsOpStip } PsFillEnum; - -typedef struct PsPointRec_ -{ - int x; - int y; -} PsPointRec; - -typedef PsPointRec *PsPointPtr; - -typedef struct PsRectRec_ -{ - int x; - int y; - int w; - int h; -} PsRectRec; - -typedef PsRectRec *PsRectPtr; - -typedef struct PsArcRec_ -{ - int x; - int y; - int w; - int h; - int a1; - int a2; - PsArcEnum style; -} PsArcRec; - -typedef PsArcRec *PsArcPtr; - -#define PSOUT_RECT 0 -#define PSOUT_ARC 1 -#define PSOUT_POINTS 2 - -typedef struct PsElmRec_ -{ - int type; - int nPoints; - union - { - PsRectRec rect; - PsArcRec arc; - PsPointPtr points; - } c; -} PsElmRec; - -typedef PsElmRec *PsElmPtr; - -typedef struct PsClipRec_ -{ - int nRects; - PsRectPtr rects; - int nElms; - PsElmPtr elms; - int nOutterClips; - PsRectPtr outterClips; -} PsClipRec; - -typedef PsClipRec *PsClipPtr; - -typedef enum PsFTDownloadFontType_ -{ - PsFontBitmap=0, - PsFontType1, - PsFontType3 -} PsFTDownloadFontType; - -/* Define |PsOutColor| color type which can hold one RGB value - * (note: this needs to be |signed| long/long long to represent - * special values such as |PSOUTCOLOR_NOCOLOR|) - */ -#ifdef PSOUT_USE_DEEPCOLOR -/* 64bit |PsOutColor| which can hold 16bit R-,G-,B-values */ -#ifdef WIN32 -typedef signed __int64 PsOutColor; -#else -# if defined(__alpha__) || defined(__alpha) || \ - defined(ia64) || defined(__ia64__) || \ - defined(__sparc64__) || defined(_LP64) || \ - defined(__s390x__) || \ - defined(amd64) || defined (__amd64__) || defined(__x86_64__) || \ - defined (__powerpc64__) || \ - (defined(sgi) && (_MIPS_SZLONG == 64)) -typedef signed long PsOutColor; -# else -typedef signed long long PsOutColor; -# endif /* native 64bit platform */ -#endif /* WIN32 */ - -#define PSOUTCOLOR_TO_REDBITS(clr) ((clr) >> 32) -#define PSOUTCOLOR_TO_GREENBITS(clr) (((clr) >> 16) & 0xFFFF) -#define PSOUTCOLOR_TO_BLUEBITS(clr) ((clr) & 0xFFFF) -#define PSOUTCOLOR_BITS_TO_PSFLOAT(b) ((float)(b) / 65535.) -#define PSOUTCOLOR_WHITE (0xFFFFFFFFFFFFLL) -#define PSOUTCOLOR_NOCOLOR (-1LL) -#define PSOUTCOLOR_TO_RGB24BIT(clr) (((PSOUTCOLOR_TO_REDBITS(clr) >> 8) << 16) | \ - ((PSOUTCOLOR_TO_GREENBITS(clr) >> 8) << 8) | \ - ((PSOUTCOLOR_TO_BLUEBITS(clr) >> 8) << 0)) -#else -/* 32bit |PsOutColor| which can hold 8bit R-,G-,B-values */ -typedef signed long PsOutColor; -#define PSOUTCOLOR_TO_REDBITS(clr) ((clr) >> 16) -#define PSOUTCOLOR_TO_GREENBITS(clr) (((clr) >> 8) & 0xFF) -#define PSOUTCOLOR_TO_BLUEBITS(clr) ((clr) & 0xFF) -#define PSOUTCOLOR_BITS_TO_PSFLOAT(b) ((float)(b) / 255.) -#define PSOUTCOLOR_WHITE (0xFFFFFF) -#define PSOUTCOLOR_NOCOLOR (-1) -#define PSOUTCOLOR_TO_RGB24BIT(clr) ((PSOUTCOLOR_TO_REDBITS(clr) << 16) | \ - (PSOUTCOLOR_TO_GREENBITS(clr) << 8) | \ - (PSOUTCOLOR_TO_BLUEBITS(clr) << 0)) -#endif /* PSOUT_USE_DEEPCOLOR */ - -#ifdef USE_PSOUT_PRIVATE -typedef void *voidPtr; - -typedef struct PsPatRec_ -{ - PsFillEnum type; - voidPtr tag; -} PsPatRec; - -typedef PsPatRec *PsPatPtr; - -typedef struct PsOutRec_ -{ - FILE *Fp; - char Buf[16384]; - PsOutColor CurColor; - int LineWidth; - PsCapEnum LineCap; - PsJoinEnum LineJoin; - int NDashes; - int *Dashes; - int DashOffset; - PsOutColor LineBClr; - PsRuleEnum FillRule; - char *FontName; - int FontSize; - float FontMtx[4]; - int ImageFormat; - int RevImage; - int NPatterns; - int MxPatterns; - PsPatPtr Patterns; - int ClipType; - PsClipRec Clip; - int InFrame; - int XOff; - int YOff; - - PsFillEnum InTile; - int ImgSkip; - PsOutColor ImgBClr; - PsOutColor ImgFClr; - int ImgX; - int ImgY; - int ImgW; - int ImgH; - int SclW; - int SclH; - - Bool isRaw; - - int pagenum; - - int start_image; -} PsOutRec; - -typedef struct PsOutRec_ *PsOutPtr; - -extern void S_Flush(PsOutPtr self); -extern void S_OutNum(PsOutPtr self, float num); -extern void S_OutTok(PsOutPtr self, char *tok, int cr); -#else -typedef struct PsOutRec_ *PsOutPtr; -#endif /* USE_PSOUT_PRIVATE */ - -extern FILE * PsOut_ChangeFile(PsOutPtr self, FILE *fp); -extern PsOutPtr PsOut_BeginFile(FILE *fp, char *title, int orient, int count, int plex, - int res, int wd, int ht, Bool raw); -extern void PsOut_EndFile(PsOutPtr self, int closeFile); -extern void PsOut_BeginPage(PsOutPtr self, int orient, int count, int plex, - int res, int wd, int ht); -extern void PsOut_EndPage(PsOutPtr self); -extern void PsOut_DirtyAttributes(PsOutPtr self); -extern void PsOut_Comment(PsOutPtr self, char *comment); -extern void PsOut_Offset(PsOutPtr self, int x, int y); - -extern void PsOut_Clip(PsOutPtr self, int clpTyp, PsClipPtr clpinf); - -extern void PsOut_Color(PsOutPtr self, PsOutColor clr); -extern void PsOut_FillRule(PsOutPtr self, PsRuleEnum rule); -extern void PsOut_LineAttrs(PsOutPtr self, int wd, PsCapEnum cap, - PsJoinEnum join, int nDsh, int *dsh, int dshOff, - PsOutColor bclr); -extern void PsOut_TextAttrs(PsOutPtr self, char *fnam, int siz, int iso); -extern void PsOut_TextAttrsMtx(PsOutPtr self, char *fnam, float *mtx, int iso); - -extern void PsOut_Polygon(PsOutPtr self, int nPts, PsPointPtr pts); -extern void PsOut_FillRect(PsOutPtr self, int x, int y, int w, int h); -extern void PsOut_FillArc(PsOutPtr self, int x, int y, int w, int h, - float ang1, float ang2, PsArcEnum style); - -extern void PsOut_Lines(PsOutPtr self, int nPts, PsPointPtr pts); -extern void PsOut_Points(PsOutPtr self, int nPts, PsPointPtr pts); -extern void PsOut_DrawRect(PsOutPtr self, int x, int y, int w, int h); -extern void PsOut_DrawArc(PsOutPtr self, int x, int y, int w, int h, - float ang1, float ang2); - -extern void PsOut_Text(PsOutPtr self, int x, int y, char *text, int textl, - PsOutColor bclr); -extern void PsOut_Text16(PsOutPtr self, int x, int y, unsigned short *text, int textl, PsOutColor bclr); - -extern void PsOut_BeginImage(PsOutPtr self, PsOutColor bclr, PsOutColor fclr, int x, int y, - int w, int h, int sw, int sh, int format); -extern void PsOut_BeginImageIM(PsOutPtr self, PsOutColor bclr, PsOutColor fclr, int x, int y, - int w, int h, int sw, int sh, int format); -extern void PsOut_EndImage(PsOutPtr self); -extern void PsOut_OutImageBytes(PsOutPtr self, int nBytes, char *bytes); - -extern void PsOut_BeginFrame(PsOutPtr self, int xoff, int yoff, int x, int y, - int w, int h); -extern void PsOut_EndFrame(PsOutPtr self); - -extern int PsOut_BeginPattern(PsOutPtr self, void *tag, int w, int h, - PsFillEnum type, PsOutColor bclr, PsOutColor fclr); -extern void PsOut_EndPattern(PsOutPtr self); -extern void PsOut_SetPattern(PsOutPtr self, void *tag, PsFillEnum type); - -extern void PsOut_RawData(PsOutPtr self, char *data, int len); - -extern int PsOut_DownloadType1(PsOutPtr self, const char *auditmsg, const char *name, const char *fname); - -extern int PsOut_DownloadFreeType1(PsOutPtr self, const char *psfontname, FontPtr pFont, long block_offset); -extern int PsOut_DownloadFreeType3(PsOutPtr self, const char *psfontname, FontPtr pFont, long block_offset); - -extern int PsOut_DownloadFreeType(PsOutPtr self, PsFTDownloadFontType downloadfonttype, const char *psfontname, FontPtr pFont, long block_offset); -extern void PsOut_Get_FreeType_Glyph_Name( char *destbuf, FontPtr pFont, unsigned long x11fontindex); -extern void PsOut_FreeType_Text(FontPtr pFont, PsOutPtr self, int x, int y, char *text, int textl); -extern void PsOut_FreeType_Text16(FontPtr pFont, PsOutPtr self, int x, int y, unsigned short *text, int textl); - -extern void PsOut_FreeType_TextAttrs16(PsOutPtr self, char *fnam, int siz, int iso); -extern void PsOut_FreeType_TextAttrsMtx16(PsOutPtr self, char *fnam, float *mtx, int iso); -#endif diff --git a/xorg-server/hw/xprint/ps/psout_ft.c b/xorg-server/hw/xprint/ps/psout_ft.c deleted file mode 100644 index 30939f972..000000000 --- a/xorg-server/hw/xprint/ps/psout_ft.c +++ /dev/null @@ -1,337 +0,0 @@ - -/* -Copyright (c) 2003-2004 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 -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. -*/ - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#include -#include -#include "os.h" -#define USE_PSOUT_PRIVATE 1 -#include "psout.h" - -#include -#include FT_FREETYPE_H -#include FT_TYPE1_TABLES_H - -#include -#include -#include -#include -#include -#include -#include -#define NOT_IN_FTFUNCS -#include -#include "servermd.h" /* needed for endian test (IMAGE_BYTE_ORDER) */ - -#define USE_FT_PS_NAMES 1 - -#ifdef USE_FT_PS_NAMES -void PsOut_Get_FreeType_Glyph_Name( char *destbuf, FontPtr pFont, unsigned long x11fontindex) -{ - FTFontPtr tf = (FTFontPtr)pFont->fontPrivate; - FT_Face ttface = tf->instance->face->face; - FT_Error error; - char buf[256]; - unsigned long ftindex; - - /* Remap X11 font index to FreeType font index */ - ftindex = FTRemap(ttface, &tf->mapping, x11fontindex); - - if( FT_Has_PS_Glyph_Names(ttface) ) - { - error = FT_Get_Glyph_Name(ttface, ftindex, buf, 64); - } - else - { - error = 1; - } - - if( error ) - { - /* Check for unicode mapping - * See Adobe document "Unicode and Glyph Names" - * (http://partners.adobe.com/asn/tech/type/unicodegn.jsp) - */ - if( (tf->mapping.mapping->type == FONT_ENCODING_UNICODE) && - (ftindex < 0xFFFE) ) - { - sprintf(buf, "uni%04lx", ftindex); - } - else - { - sprintf(buf, "ch%02lx", ftindex); - } - } - - strcpy(destbuf, buf); -} -#endif /* USE_FT_PS_NAMES */ - -int PsOut_DownloadFreeType(PsOutPtr self, PsFTDownloadFontType downloadfonttype, const char *psfontname, FontPtr pFont, long block_offset) -{ - switch(downloadfonttype) - { - case PsFontType3: - return PsOut_DownloadFreeType3(self, psfontname, pFont, block_offset); - case PsFontType1: - return PsOut_DownloadFreeType1(self, psfontname, pFont, block_offset); - default: - FatalError("PS DDX: PsOut_DownloadFreeType(downloadfonttype='%d' not implemented\n", - (int)downloadfonttype); - return 0; /* NO-OP, FatalError() will call |exit()| */ - } -} - -/* cloned from |PsOut_TextAttrs16| */ -void -PsOut_FreeType_TextAttrs16(PsOutPtr self, char *fnam, int siz, int iso) -{ - int i; - if( self->FontName && strcmp(fnam, self->FontName)==0 && - siz==self->FontSize ) return; - if( self->FontName ) xfree(self->FontName); - self->FontName = (char *)xalloc(strlen(fnam)+1); - strcpy(self->FontName, fnam); - self->FontSize = siz; - for( i=0 ; i<4 ; i++ ) self->FontMtx[i] = -1.; -} - -/* cloned from |PsOut_TextAttrsMtx16| */ -void -PsOut_FreeType_TextAttrsMtx16(PsOutPtr self, char *fnam, float *mtx, int iso) -{ - int i; - if( self->FontName && strcmp(fnam, self->FontName)==0 && - mtx[0]==self->FontMtx[0] && mtx[1]==self->FontMtx[1] && - mtx[2]==self->FontMtx[2] && mtx[3]==self->FontMtx[3] ) return; - if( self->FontName ) xfree(self->FontName); - self->FontName = (char *)xalloc(strlen(fnam)+1); - strcpy(self->FontName, fnam); - for( i=0 ; i<4 ; i++ ) self->FontMtx[i] = mtx[i]; - self->FontSize = -1; -} - -static -int FT_Get_CharcellMetricsCharacterHeight(FontPtr pFont) -{ - FTFontPtr ftfont = (FTFontPtr)pFont->fontPrivate; - - return ftfont->instance->charcellMetrics->ascent + - ftfont->instance->charcellMetrics->descent; -} - -static -int FT_Get_CharcellMetricsCharacterWidth(FontPtr pFont) -{ - FTFontPtr ftfont = (FTFontPtr)pFont->fontPrivate; - - if( ftfont->instance->spacing != FT_PROPORTIONAL ) - { - int width = ftfont->instance->charcellMetrics->characterWidth; - - /* If the font uses a matrix make sure we transform the |characterWidth| - * back to it's original value since we download the untransformed font - * and use a PostScript transformation matrix to transform the font when - * rendering the text - */ - if( ftfont->instance->transformation.nonIdentity ) - { - FT_Vector v; - - FT_Matrix m = ftfont->instance->transformation.matrix; - (void)FT_Matrix_Invert(&m); /* FixMe: We should check the return code */ - v.x = width; - v.y = FT_Get_CharcellMetricsCharacterHeight(pFont); - FT_Vector_Transform(&v, &m); - width = v.x; - } - - return width; - } - - return 0; -} - -void -PsOut_FreeType_Text(FontPtr pFont, PsOutPtr self, int x, int y, char *text, int textl) -{ - int i; - int xo = self->XOff, - yo = self->YOff; - char buf[256]; - int cwidth = FT_Get_CharcellMetricsCharacterWidth(pFont); - - if( self->InFrame || self->InTile ) xo = yo = 0; - x += xo; y += yo; - - S_OutNum(self, (float)x); - S_OutNum(self, (float)y); - S_OutTok(self, "moveto", 1); - - S_OutTok(self, "[ ", 0); - - for( i = 0 ; i < textl ; i++ ) - { -#ifdef USE_FT_PS_NAMES - char namebuf[256]; - unsigned int ch = text[i]&0xFF; - unsigned long block_offset = 0; - PsOut_Get_FreeType_Glyph_Name(namebuf, pFont, ch+block_offset); - - sprintf(buf, "/%s ", namebuf); -#else - sprintf(buf, "/ch%02x ", text[i]&0xFF); -#endif /* USE_FT_PS_NAMES */ - S_OutTok(self, buf, 0); - } - - /* Check whether we have any special spacing requirements (e.g. non-proportional fonts) ... */ - if( cwidth != 0 ) - { - /* If the we use a matrix to render the font (instead of using |self->FontSize|) - * we must apply the matrix to the "rmoveto" which is used to force the exact - * character width. The "trmoveto" macro will do that for us... - */ - if( self->FontSize == -1 ) - { - sprintf(buf, "]{gs glyphshow gr %d 0 trmoveto}fa", cwidth); - } - else - { - sprintf(buf, "]{gs glyphshow gr %d 0 rm}fa", cwidth); - } - } - else - { - sprintf(buf, "]{glyphshow}fa"); - } - S_OutTok(self, buf, 0); -} - -/* XXX: |PsOut_FreeType_Text16| should be rewritten - currently it uses lame, - * slow hacks and makes some risky assumtions about how |PsOut_Text16| - * allocates memory */ -void -PsOut_FreeType_Text16(FontPtr pFont, PsOutPtr self, int x, int y, unsigned short *text, int textl) -{ - int i; - int xo = self->XOff, - yo = self->YOff; - unsigned short c, - c_hiByte, - c_lowByte, - fontPage; - long lastFontPage = -1; - char baseFontName[256]; - char buf[256]; - - if( self->InFrame || self->InTile ) xo = yo = 0; - x += xo; y += yo; - - strcpy(baseFontName, self->FontName); - - S_OutNum(self, (float)x); - S_OutNum(self, (float)y); - S_OutTok(self, "moveto", 1); - - for( i = 0 ; i < textl ; i++ ) - { - c = text[i]; -#if IMAGE_BYTE_ORDER == LSBFirst - c_hiByte = c & 0x00FF; - c_lowByte = (c >> 8) & 0x00FF; -#elif IMAGE_BYTE_ORDER == MSBFirst - c_hiByte = (c >> 8) & 0x00FF; - c_lowByte = c & 0x00FF; -#else -#error Unsupported byte order -#endif - fontPage = c_hiByte; - - if( fontPage != lastFontPage ) - { - if( fontPage > 0 ) - { - sprintf(buf, "%s_%x", baseFontName, fontPage); - } - else - { - sprintf(buf, "%s", baseFontName); - xfree(self->FontName); - self->FontName = NULL; - } - - if( self->FontSize == -1 ) - { - PsOut_TextAttrsMtx(self, buf, self->FontMtx, FALSE); - } - else - { - PsOut_TextAttrs(self, buf, self->FontSize, FALSE); - } - lastFontPage = fontPage; - } - -#ifdef USE_FT_PS_NAMES - { - char namebuf[256]; - unsigned int ch = c_lowByte; - unsigned long block_offset = c_hiByte * 0x100 /* same as c_hiByte << 8 */; - int cwidth = FT_Get_CharcellMetricsCharacterWidth(pFont); - PsOut_Get_FreeType_Glyph_Name(namebuf, pFont, ch+block_offset); - - /* Check whether we have any special spacing requirements (e.g. non-proportional fonts) ... */ - if( cwidth != 0 ) - { - /* If the we use a matrix to render the font (instead of using |self->FontSize|) - * we must apply the matrix to the "rmoveto" which is used to force the exact - * character width. The "trmoveto" macro will do that for us... - */ - if( self->FontSize == -1 ) - { - sprintf(buf, "gs /%s glyphshow gr %d 0 trmoveto", namebuf, cwidth); - } - else - { - sprintf(buf, "gs /%s glyphshow gr %d 0 rm", namebuf, cwidth); - } - } - else - { - sprintf(buf, "/%s glyphshow", namebuf); - } - } -#else - sprintf(buf, "/ch%02x glyphshow", c_lowByte); -#endif /* USE_FT_PS_NAMES */ - S_OutTok(self, buf, 1); - } - - if( self->FontName ) xfree(self->FontName); - self->FontName = (char *)xalloc(strlen(baseFontName)+1); - strcpy(self->FontName, baseFontName); -} - diff --git a/xorg-server/hw/xprint/ps/psout_ftpstype1.c b/xorg-server/hw/xprint/ps/psout_ftpstype1.c deleted file mode 100644 index 572e13601..000000000 --- a/xorg-server/hw/xprint/ps/psout_ftpstype1.c +++ /dev/null @@ -1,185 +0,0 @@ - -/* -Copyright (c) 2003-2004 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 -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. -*/ - - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#include -#include -#include -#include - -#include "os.h" -#define USE_PSOUT_PRIVATE 1 -#include "psout.h" - -#include -#include FT_FREETYPE_H - -#include -#include -#include -#include -#include -#include -#include -#define NOT_IN_FTFUNCS -#include - -int do_debug_ft2pt1 = FALSE; -int do_enable_ft2pt1_optimizer = FALSE; - -/* Defined in ttf2pt1.c */ -int ft2pt1_main(int argc, char **argv, - FTFontPtr tf, const char *download_psfontname, unsigned long download_font_block_offset); - -/* Download FreeType outlines as PS Type1 font */ -int PsOut_DownloadFreeType1(PsOutPtr self, const char *psfontname, FontPtr pFont, long block_offset) -{ - FTFontPtr tf; - FT_Face face; - int ft2pt1_numargs = 0; - char *ft2pt1_args[40]; - char *pstype1filename_prefix; - char pstype1filename[PATH_MAX+1]; - int ft2pt1_main_retval; - pid_t childpid; - - tf = (FTFontPtr)pFont->fontPrivate; - face = tf->instance->face->face; - - /* Set debugging flags */ - do_debug_ft2pt1 = (getenv("XPRT_PSDDX_DO_DEBUG_FT2PT1") != NULL); - do_enable_ft2pt1_optimizer = (getenv("XPRT_PSDDX_DO_ENABLE_FT2PT1_OPTIMIZER") != NULL); - - if( do_debug_ft2pt1 ) - { - fprintf(stderr, "# Converting FT2 font to PS Type1 filename='%s', ttface=%lx\n", tf->instance->face->filename, (long)face); - } - - pstype1filename_prefix = tempnam(NULL, "Xprt_"); - - ft2pt1_args[ft2pt1_numargs] = "ft2pt1"; ft2pt1_numargs++; - ft2pt1_args[ft2pt1_numargs] = "-Ob"; ft2pt1_numargs++; - ft2pt1_args[ft2pt1_numargs] = "-e"; ft2pt1_numargs++; - ft2pt1_args[ft2pt1_numargs] = "-a"; ft2pt1_numargs++; - ft2pt1_args[ft2pt1_numargs] = "-Ga"; ft2pt1_numargs++; - if( do_enable_ft2pt1_optimizer ) - { - /* Scale fonts to a 1000x1000 matrix */ - ft2pt1_args[ft2pt1_numargs] = "-Ot"; ft2pt1_numargs++; - } - else - { - /* Disable the ttf2pt1 optimisations */ - ft2pt1_args[ft2pt1_numargs] = "-Ou"; ft2pt1_numargs++; - ft2pt1_args[ft2pt1_numargs] = "-Oo"; ft2pt1_numargs++; - ft2pt1_args[ft2pt1_numargs] = "-Os"; ft2pt1_numargs++; - ft2pt1_args[ft2pt1_numargs] = "-Oh"; ft2pt1_numargs++; - } - - if( !do_debug_ft2pt1 ) - { - ft2pt1_args[ft2pt1_numargs] = "-W 0"; ft2pt1_numargs++; - } - ft2pt1_args[ft2pt1_numargs] = tf->instance->face->filename; ft2pt1_numargs++; - ft2pt1_args[ft2pt1_numargs] = pstype1filename_prefix; ft2pt1_numargs++; - ft2pt1_args[ft2pt1_numargs] = NULL; - -/* XXX: ttf2pt1 has lots of leaks and global vars which are not cleaned-up - * As long this problem exists we will simply fork() and call the converter - * from the child process (all resources are free'ed when the child process - * exists) as a workaround. - */ -#define FT2PT1_NEEDS_SEPERATE_PROCESS 1 - -#ifdef FT2PT1_NEEDS_SEPERATE_PROCESS - /* Flush internal buffer and then the stdio stream before fork()! */ - S_Flush(self); - fflush(self->Fp); - - childpid = fork(); - switch(childpid) - { - case -1: - FatalError("PS DDX internal error: Cannot fork() converter child process, %s\n", strerror(errno)); - break; - case 0: /* child */ - fclose(self->Fp); - self->Fp = NULL; - - ft2pt1_main_retval = ft2pt1_main(ft2pt1_numargs, ft2pt1_args, tf, psfontname, block_offset); - if( do_debug_ft2pt1 ) - { - fprintf(stderr, "## ft2pt1_main returned %d (child)\n", ft2pt1_main_retval); - } - exit(ft2pt1_main_retval); - break; - default: /* parent */ - waitpid(childpid, &ft2pt1_main_retval, 0); - break; - } - - if( do_debug_ft2pt1 ) - { - fprintf(stderr, "## ft2pt1_main returned %d (parent)\n", ft2pt1_main_retval); - } -#else - S_Flush(self); - - ft2pt1_main_retval = ft2pt1_main(ft2pt1_numargs, ft2pt1_args, tf, psfontname, block_offset); - if( do_debug_ft2pt1 ) - { - fprintf(stderr, "## ft2pt1_main returned %d (child)\n", ft2pt1_main_retval); - } -#endif /* FT2PT1_NEEDS_SEPERATE_PROCESS */ - - if( ft2pt1_main_retval != EXIT_SUCCESS ) - { - FatalError("PS DDX internal error while converting FreeType font '%s' to PS Type1, error=%d\n", - tf->instance->face->filename, ft2pt1_main_retval); - } - - sprintf(pstype1filename, "%s.pfa", pstype1filename_prefix); - if( do_debug_ft2pt1 ) - { - fprintf(stderr, "# Downloading converted FT2/PS Type1 filename='%s'\n", pstype1filename); - } - - PsOut_DownloadType1(self, "PsOut_DownloadFreeType1", psfontname, pstype1filename); - - if( !do_debug_ft2pt1 ) - { - unlink(pstype1filename); - } - - free(pstype1filename_prefix); - - S_Flush(self); - - return 0; -} - - diff --git a/xorg-server/hw/xprint/ps/psout_ftpstype3.c b/xorg-server/hw/xprint/ps/psout_ftpstype3.c deleted file mode 100644 index 733b5386b..000000000 --- a/xorg-server/hw/xprint/ps/psout_ftpstype3.c +++ /dev/null @@ -1,439 +0,0 @@ - -/* -Copyright (c) 2003-2004 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 -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. -*/ - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#include -#include -#include "os.h" -#define USE_PSOUT_PRIVATE 1 -#include "psout.h" - -#include -#include FT_FREETYPE_H -#include FT_TRUETYPE_TABLES_H -#include FT_BBOX_H -#include FT_GLYPH_H - -#include FT_CONFIG_CONFIG_H -#include FT_CONFIG_OPTIONS_H -#include FT_ERRORS_H -#include FT_SYSTEM_H -#include FT_IMAGE_H -#include FT_TYPES_H -#include FT_OUTLINE_H -#include FT_MODULE_H -#include FT_RENDER_H -#include FT_TYPE1_TABLES_H -#include FT_TRUETYPE_IDS_H -#include FT_TRUETYPE_TAGS_H -#include FT_CACHE_H -#include FT_CACHE_IMAGE_H -#include FT_CACHE_SMALL_BITMAPS_H -#include FT_MULTIPLE_MASTERS_H -#include FT_SFNT_NAMES_H - -#include -#include -#include -#include -#include -#include -#include -#define NOT_IN_FTFUNCS -#include - -struct ft2info -{ - FontPtr pFont; - FTFontPtr tf; - FT_Face ttface; - struct - { - char *full_name; - char *copyright; - char *family; - char *subfamily; - char *version; - } nameid; - TT_Postscript *ttpostscript; - TT_Header *ttheader; -}; - -/* Local prototypes */ -static FT_Error PSType3_createOutlineGlyphs(FILE *out, struct ft2info *ti, unsigned long unicode, const char *psglyphname); -static int PSType3_generateOutlineFont(FILE *out, const char *psfontname, struct ft2info *ti, long block_offset); - -extern FT_Library ftypeLibrary; /* defined in xc/lib/font/FreeType/ftfuncs.c */ - -#define USE_FT_PS_NAMES 1 - -static -FT_Error PSType3_createOutlineGlyphs( FILE *out, struct ft2info *ti, unsigned long x11fontindex, const char *psglyphname ) -{ - unsigned long ftindex; - FT_BBox bbox; - FT_Error error; - FT_Outline outline; - - /* Remap X11 font index to FreeType font index */ - ftindex = FTRemap(ti->ttface, &ti->tf->mapping, x11fontindex); - - error = FT_Load_Glyph(ti->ttface, ftindex, (FT_LOAD_NO_BITMAP | FT_LOAD_NO_SCALE | FT_LOAD_NO_HINTING)); - if( error ) - { - fprintf(stderr, "PSType3_createOutlineGlyphs: FT_Load_Glyph() failure, error=%d\n", (int)error); - return error; - } - - outline = ti->ttface->glyph->outline; - - FT_Outline_Get_CBox(&outline, &bbox); - - fprintf(out, "/%s {\n", psglyphname); - fprintf(out, "%ld 0 %ld %ld %ld %ld setcachedevice\n", - (signed long)ti->ttface->glyph->metrics.horiAdvance, - (long)bbox.xMin, - (long)bbox.yMin, - (long)bbox.xMax, - (long)bbox.yMax); - - if( outline.n_contours > 0 ) - { - long i, - j, - k, k1, - cs, ce, - nguide, - contour_start, - contour_end, - last_point; - Bool first; - FT_Vector *vec; - - contour_start = ce = 0; - - vec = outline.points; - last_point = outline.n_points; - - i = j = k = 0; - first = TRUE; - - while( i <= outline.contours[outline.n_contours - 1] ) - { - contour_end = outline.contours[j]; - - if( first ) - { - fprintf(out, "%ld %ld moveto\n", vec[i].x, vec[i].y); - contour_start = i; - first = FALSE; - } - else if( outline.tags[i] & FT_CURVE_TAG_ON ) - { - fprintf(out, "%ld %ld lineto\n", vec[i].x, vec[i].y); - } - else - { - Bool finished = FALSE; - - cs = i-1; - nguide = 0; - while( !finished ) - { - if( i == contour_end+1 ) - { - ce = contour_start; - finished = TRUE; - } - else if( outline.tags[i] & FT_CURVE_TAG_ON ) - { - ce = i; - finished = TRUE; - } - else - { - i++; - nguide++; - } - } - - switch( nguide ) - { - case 0: - fprintf(out, "%ld %ld lineto\n", vec[ce].x, vec[ce].y); - break; - - case 1: - fprintf(out, "%ld %ld %ld %ld %ld %ld curveto\n", - (vec[cs].x+2*vec[cs+1].x)/3, - (vec[cs].y+2*vec[cs+1].y)/3, - (2*vec[cs+1].x+vec[ce].x)/3, - (2*vec[cs+1].y+vec[ce].y)/3, - vec[ce].x, vec[ce].y); - break; - - case 2: - fprintf(out, "%ld %ld %ld %ld %ld %ld curveto\n", - (-vec[cs].x+4*vec[cs+1].x)/3, - (-vec[cs].y+4*vec[cs+1].y)/3, - (4*vec[cs+2].x-vec[ce].x)/3, - (4*vec[cs+2].y-vec[ce].y)/3, - vec[ce].x, vec[ce].y); - break; - - case 3: - fprintf(out, "%ld %ld %ld %ld %ld %ld curveto\n", - (vec[cs].x+2*vec[cs+1].x)/3, - (vec[cs].y+2*vec[cs+1].y)/3, - (5*vec[cs+1].x+vec[cs+2].x)/6, - (5*vec[cs+1].y+vec[cs+2].y)/6, - (vec[cs+1].x+vec[cs+2].x)/2, - (vec[cs+1].y+vec[cs+2].y)/2); - - fprintf(out, "%ld %ld %ld %ld %ld %ld curveto\n", - (vec[cs+1].x+5*vec[cs+2].x)/6, - (vec[cs+1].y+5*vec[cs+2].y)/6, - (5*vec[cs+2].x+vec[cs+3].x)/6, - (5*vec[cs+2].y+vec[cs+3].y)/6, - (vec[cs+3].x+vec[cs+2].x)/2, - (vec[cs+3].y+vec[cs+2].y)/2); - - fprintf(out, "%ld %ld %ld %ld %ld %ld curveto\n", - (vec[cs+2].x+5*vec[cs+3].x)/6, - (vec[cs+2].y+5*vec[cs+3].y)/6, - (2*vec[cs+3].x+vec[ce].x)/3, - (2*vec[cs+3].y+vec[ce].y)/3, - vec[ce].x, vec[ce].y); - break; - - default: /* anything |nguide > 3| */ - k1 = cs + nguide; - - fprintf(out, "%ld %ld %ld %ld %ld %ld curveto\n", - (vec[cs].x+2*vec[cs+1].x)/3, - (vec[cs].y+2*vec[cs+1].y)/3, - (5*vec[cs+1].x+vec[cs+2].x)/6, - (5*vec[cs+1].y+vec[cs+2].y)/6, - (vec[cs+1].x+vec[cs+2].x)/2, - (vec[cs+1].y+vec[cs+2].y)/2); - - for( k = cs+2 ; k <= k1-1 ; k++ ) - { - fprintf(out, "%ld %ld %ld %ld %ld %ld curveto\n", - (vec[k-1].x+5*vec[k].x)/6, - (vec[k-1].y+5*vec[k].y)/6, - (5*vec[k].x+vec[k+1].x)/6, - (5*vec[k].y+vec[k+1].y)/6, - (vec[k].x+vec[k+1].x)/2, - (vec[k].y+vec[k+1].y)/2); - } - - fprintf(out, "%ld %ld %ld %ld %ld %ld curveto\n", - (vec[k1-1].x+5*vec[k1].x)/6, - (vec[k1-1].y+5*vec[k1].y)/6, - (2*vec[k1].x+vec[ce].x)/3, - (2*vec[k1].y+vec[ce].y)/3, - vec[ce].x, vec[ce].y); - break; - } - } - - if( i >= contour_end ) - { - fprintf(out, "closepath\n"); - first = TRUE; - i = contour_end + 1; - j++; - } - else - { - i++; - } - } - } - - fprintf(out, "fill } bind def\n"); - - return 0; -} - -static -int PSType3_generateOutlineFont(FILE *out, const char *psfontname, struct ft2info *ti, long block_offset) -{ - long i; - double scaler; - const int numchars = 256; -#ifdef USE_FT_PS_NAMES - int linewidth = 0; -#endif /* USE_FT_PS_NAMES */ - - fprintf(out, "%%%%BeginFont: %s\n", psfontname); - fprintf(out, "22 dict begin\n"); - fprintf(out, "/FontType 3 def\n"); - fprintf(out, "/StrokeWidth 0 def\n"); - fprintf(out, "/PaintType 0 def\n"); - fprintf(out, "/FontName (%s) def\n", psfontname); - fprintf(out, "/FontInfo 9 dict dup begin\n"); - fprintf(out, " /FullName (%s) def\n", ti->nameid.full_name?ti->nameid.full_name:psfontname); - fprintf(out, " /Notice (%s) def\n", ti->nameid.copyright?ti->nameid.copyright:"nothing here"); - fprintf(out, " /FamilyName (%s) def\n", ti->nameid.family?ti->nameid.family:psfontname); - fprintf(out, " /Weight (%s) def\n", ti->nameid.subfamily?ti->nameid.subfamily:"Regular"); - fprintf(out, " /version (%s) def\n", ti->nameid.version?ti->nameid.version:"0.1"); - - if( ti->ttpostscript ) - { - fprintf(out, " /italicAngle %.9g def\n", (double)ti->ttpostscript->italicAngle); - fprintf(out, " /underlineThickness %d def\n", (int)ti->ttpostscript->underlineThickness); - fprintf(out, " /underlinePosition %d def\n", (int)ti->ttpostscript->underlinePosition); - fprintf(out, " /isFixedPitch %s def\n", ((ti->ttpostscript->isFixedPitch)?("true"):("false"))); - } - else - { - fprintf(out, " /italicAngle %.9g def\n", 0.0); - fprintf(out, " /underlineThickness %d def\n", 100); - fprintf(out, " /underlinePosition %d def\n", 0); - fprintf(out, " /isFixedPitch false def\n"); - } - - fprintf(out, "end def\n"); - - scaler = (1000.0 / (double)ti->ttface->units_per_EM) / 1000.0; - fprintf(out, "/FontMatrix [%.9g 0 0 %.9g 0 0] def\n", scaler, scaler); - - if( ti->ttheader ) - { - fprintf(out, "/FontBBox [%d %d %d %d] def\n", - (int)ti->ttheader->xMin, - (int)ti->ttheader->yMin, - (int)ti->ttheader->xMax, - (int)ti->ttheader->yMax); - } - else - { - fprintf(out, "/FontBBox [%ld %ld %ld %ld] def\n", - ti->ttface->bbox.xMin, - ti->ttface->bbox.yMin, - ti->ttface->bbox.xMax, - ti->ttface->bbox.yMax); - - } - - fprintf(out, "/Encoding [\n"); - for( i = 0 ; i < 256 ; i++ ) - { -#ifdef USE_FT_PS_NAMES - char namebuf[256]; - PsOut_Get_FreeType_Glyph_Name(namebuf, ti->pFont, i+block_offset); - linewidth += strlen(namebuf) + 2; - fprintf(out, "/%s%s", namebuf, (linewidth > 70)?(linewidth = 0, "\n"):(" ")); -#else - fprintf(out, "/ch%02x%s", i, (((i % 10) == 9)?("\n"):(" "))); -#endif /* USE_FT_PS_NAMES */ - } - fprintf(out, "] def\n"); - - fprintf(out, "/CharProcs %d dict def CharProcs begin\n", (int)(numchars + 1)); - fprintf(out, "/.notdef {\n" - "1000 0 0 0 0 0 setcachedevice\n" - "fill } bind def\n"); - for( i = 0 ; i < numchars ; i++ ) - { - char buf[32]; -#ifdef USE_FT_PS_NAMES - char namebuf[256]; - PsOut_Get_FreeType_Glyph_Name(namebuf, ti->pFont, i+block_offset); - sprintf(buf, "%s ", namebuf); -#else - sprintf(buf, "ch%02lx ", i); -#endif /* USE_FT_PS_NAMES */ - PSType3_createOutlineGlyphs(out, ti, i+block_offset, buf); - } - fprintf(out, "end\n" - "/BuildGlyph {\n" - " exch /CharProcs get exch\n" - " 2 copy known not {pop /.notdef} if get exec } bind def\n" - "/BuildChar { 1 index /Encoding get exch get\n" - " 1 index /Encoding get exec } bind def\n"); - fprintf(out, "currentdict end /%s exch definefont pop\n", psfontname); - fprintf(out, "%%EndFont\n"); - - return 0; -} - -static -char *FT_Get_TT_NAME_ID(FT_Face ttface, int index) -{ - FT_SfntName name; - char *s; - - if( index >= FT_Get_Sfnt_Name_Count(ttface) ) - return NULL; - - FT_Get_Sfnt_Name(ttface, index, &name); - s = (char *)malloc(name.string_len+2); - if( !s ) - return NULL; - memcpy(s, (char *)name.string, name.string_len); - s[name.string_len] = '\0'; - return s; -} - -int PsOut_DownloadFreeType3(PsOutPtr self, const char *psfontname, FontPtr pFont, long block_offset) -{ - struct ft2info cft2info = { 0 }; - struct ft2info *ti = &cft2info; - - S_Flush(self); - - ti->tf = (FTFontPtr)pFont->fontPrivate; - ti->ttface = ti->tf->instance->face->face; - ti->pFont = pFont; -#ifdef DEBUG_gisburn - fprintf(stderr, "# Downloading FT2 font filename='%s', ttface=%lx\n", ti->tf->instance->face->filename, (long)ti->ttface); -#endif /* DEBUG_gisburn */ - - ti->nameid.full_name = FT_Get_TT_NAME_ID(ti->ttface, TT_NAME_ID_FULL_NAME); - ti->nameid.copyright = FT_Get_TT_NAME_ID(ti->ttface, TT_NAME_ID_COPYRIGHT); - ti->nameid.family = FT_Get_TT_NAME_ID(ti->ttface, TT_NAME_ID_FONT_FAMILY); - ti->nameid.subfamily = FT_Get_TT_NAME_ID(ti->ttface, TT_NAME_ID_FONT_SUBFAMILY); - ti->nameid.version = FT_Get_TT_NAME_ID(ti->ttface, TT_NAME_ID_VERSION_STRING); - - ti->ttheader = (TT_Header *)FT_Get_Sfnt_Table(ti->ttface, ft_sfnt_head); - ti->ttpostscript = (TT_Postscript *)FT_Get_Sfnt_Table(ti->ttface, ft_sfnt_post); - - PSType3_generateOutlineFont(self->Fp, psfontname, ti, block_offset); - - free(ti->nameid.full_name); - free(ti->nameid.copyright); - free(ti->nameid.family); - free(ti->nameid.subfamily); - free(ti->nameid.version); - - S_Flush(self); - - return 0; -} - diff --git a/xorg-server/hw/xprint/ps/ttf2pt1wrap.c b/xorg-server/hw/xprint/ps/ttf2pt1wrap.c deleted file mode 100644 index 57bb777d2..000000000 --- a/xorg-server/hw/xprint/ps/ttf2pt1wrap.c +++ /dev/null @@ -1,14 +0,0 @@ -/* - * Wrapper to add missing symbol to externally supplied code - */ - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#ifdef Lynx -extern int optind; -extern char *optarg; -#endif - -#include "ttf2pt1.c" diff --git a/xorg-server/hw/xprint/raster/Makefile.am b/xorg-server/hw/xprint/raster/Makefile.am deleted file mode 100644 index 1ee1122f2..000000000 --- a/xorg-server/hw/xprint/raster/Makefile.am +++ /dev/null @@ -1,10 +0,0 @@ -noinst_LTLIBRARIES = libraster.la - -INCLUDES = -I$(top_srcdir)/hw/xprint - -AM_CFLAGS = @DIX_CFLAGS@ @XPRINT_CFLAGS@ -D_XP_PRINT_SERVER_ - -libraster_la_SOURCES = \ - RasterAttVal.c \ - Raster.c \ - Raster.h diff --git a/xorg-server/hw/xprint/raster/Makefile.in b/xorg-server/hw/xprint/raster/Makefile.in deleted file mode 100644 index 7cf4ff9ed..000000000 --- a/xorg-server/hw/xprint/raster/Makefile.in +++ /dev/null @@ -1,648 +0,0 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008 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 = hw/xprint/raster -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) -libraster_la_LIBADD = -am_libraster_la_OBJECTS = RasterAttVal.lo Raster.lo -libraster_la_OBJECTS = $(am_libraster_la_OBJECTS) -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include -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 = $(libraster_la_SOURCES) -DIST_SOURCES = $(libraster_la_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@ -DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ -DRI2PROTO_LIBS = @DRI2PROTO_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@ -DSYMUTIL = @DSYMUTIL@ -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@ -GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ -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@ -LAUNCHD = @LAUNCHD@ -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@ -NMEDIT = @NMEDIT@ -OBJC = @OBJC@ -OBJCCLD = @OBJCCLD@ -OBJCDEPMODE = @OBJCDEPMODE@ -OBJCFLAGS = @OBJCFLAGS@ -OBJCLINK = @OBJCLINK@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ -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@ -PCIACCESS_CFLAGS = @PCIACCESS_CFLAGS@ -PCIACCESS_LIBS = @PCIACCESS_LIBS@ -PCI_TXT_IDS_PATH = @PCI_TXT_IDS_PATH@ -PERL = @PERL@ -PKG_CONFIG = @PKG_CONFIG@ -PROJECTROOT = @PROJECTROOT@ -PS2PDF = @PS2PDF@ -RANLIB = @RANLIB@ -RAWCPP = @RAWCPP@ -RAWCPPFLAGS = @RAWCPPFLAGS@ -SED = @SED@ -SERVER_MISC_CONFIG_PATH = @SERVER_MISC_CONFIG_PATH@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ -SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ -STRIP = @STRIP@ -TSLIB_CFLAGS = @TSLIB_CFLAGS@ -TSLIB_LIBS = @TSLIB_LIBS@ -UTILS_SYS_LIBS = @UTILS_SYS_LIBS@ -VENDOR_MAN_VERSION = @VENDOR_MAN_VERSION@ -VENDOR_NAME = @VENDOR_NAME@ -VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ -VENDOR_RELEASE = @VENDOR_RELEASE@ -VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ -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_CFLAGS = @XDMX_CFLAGS@ -XDMX_LIBS = @XDMX_LIBS@ -XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ -XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ -XEPHYR_INCS = @XEPHYR_INCS@ -XEPHYR_LIBS = @XEPHYR_LIBS@ -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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ -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@ -XNEST_SYS_LIBS = @XNEST_SYS_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_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@ -XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_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@ -XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ -XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ -XTSTEXAMPLES_DEP_LIBS = @XTSTEXAMPLES_DEP_LIBS@ -XVFB_LIBS = @XVFB_LIBS@ -XVFB_SYS_LIBS = @XVFB_SYS_LIBS@ -XWINMODULES_CFLAGS = @XWINMODULES_CFLAGS@ -XWINMODULES_LIBS = @XWINMODULES_LIBS@ -XWIN_LIBS = @XWIN_LIBS@ -XWIN_SERVER_NAME = @XWIN_SERVER_NAME@ -XWIN_SYS_LIBS = @XWIN_SYS_LIBS@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -__XCONFIGFILE__ = @__XCONFIGFILE__@ -abi_ansic = @abi_ansic@ -abi_extension = @abi_extension@ -abi_font = @abi_font@ -abi_videodrv = @abi_videodrv@ -abi_xinput = @abi_xinput@ -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@ -launchagentsdir = @launchagentsdir@ -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_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ -noinst_LTLIBRARIES = libraster.la -INCLUDES = -I$(top_srcdir)/hw/xprint -AM_CFLAGS = @DIX_CFLAGS@ @XPRINT_CFLAGS@ -D_XP_PRINT_SERVER_ -libraster_la_SOURCES = \ - RasterAttVal.c \ - Raster.c \ - Raster.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/xprint/raster/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign hw/xprint/raster/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 -libraster.la: $(libraster_la_OBJECTS) $(libraster_la_DEPENDENCIES) - $(LINK) $(libraster_la_OBJECTS) $(libraster_la_LIBADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Raster.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/RasterAttVal.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; nonemtpy = 1; } \ - END { if (nonempty) { 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; nonempty = 1; } \ - END { if (nonempty) { 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=; \ - 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; nonempty = 1; } \ - END { if (nonempty) { 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/xorg-server/hw/xprint/raster/Raster.c b/xorg-server/hw/xprint/raster/Raster.c deleted file mode 100644 index dccef613c..000000000 --- a/xorg-server/hw/xprint/raster/Raster.c +++ /dev/null @@ -1,1563 +0,0 @@ -/* -(c) Copyright 1996 Hewlett-Packard Company -(c) Copyright 1996 International Business Machines Corp. -(c) Copyright 1996 Sun Microsystems, Inc. -(c) Copyright 1996 Novell, Inc. -(c) Copyright 1996 Digital Equipment Corp. -(c) Copyright 1996 Fujitsu Limited -(c) Copyright 1996 Hitachi, Ltd. - -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. -*/ - - -/******************************************************************* -** -** ********************************************************* -** * -** * File: printer/Raster.c -** * -** * Contents: -** * Raster driver for the print server. -** * -** * Copyright: Copyright 1993, 1995 Hewlett-Packard Company -** * -** ********************************************************* -** -********************************************************************/ - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include /* for SIGCLD on pre-POSIX systems */ -#define NEED_EVENTS -#include -#undef NEED_EVENTS -#include -#include "misc.h" -#include "dixstruct.h" -#include "scrnintstr.h" -#include "screenint.h" -#include "colormapst.h" -#include "windowstr.h" -#include "propertyst.h" -#include "servermd.h" /* needed for IMAGE_BUFSIZE */ -#include "fb.h" -#include "mi.h" - -#include -#include "Raster.h" - -#include "attributes.h" -#include "AttrValid.h" -#include "DiPrint.h" - -static void AllocateRasterPrivates( - ScreenPtr pScreen); -static Bool RasterChangeWindowAttributes( - WindowPtr pWin, - unsigned long mask); -static int StartJob( - XpContextPtr pCon, - Bool sendClientData, - ClientPtr client); -static int StartPage( - XpContextPtr pCon, - WindowPtr pWin); -static int StartDoc( - XpContextPtr pCon, - XPDocumentType type); -static int EndDoc( - XpContextPtr pCon, - Bool cancel); -static int EndJob( - XpContextPtr pCon, - Bool cancel); -static int EndPage( - XpContextPtr pCon, - WindowPtr pWin); -static int DocumentData( - XpContextPtr pCon, - DrawablePtr pDraw, - char *pData, - int len_data, - char *pDoc_fmt, - int len_fmt, - char *pOptions, - int len_options, - ClientPtr client); -static int GetDocumentData( - XpContextPtr pContext, - ClientPtr client, - int maxBufferSize); -static void FreePageFiles( - RasterContextPrivPtr pWinPriv); -static int SystemCmd( - char *pCommand); -static Bool RasterCloseScreen( - int index, - ScreenPtr pScreen); -static int RasterInitContext(XpContextPtr pCon); -static Bool RasterDestroyContext(XpContextPtr pCon); -static char *RasterGetAttributes( - XpContextPtr pContext, - XPAttributes class); -static char *RasterGetOneAttribute(XpContextPtr pCon, - XPAttributes class, - char *attribute); -static int RasterSetAttributes(XpContextPtr pCon, - XPAttributes class, - char *attributes); -static int RasterAugmentAttributes(XpContextPtr pCon, - XPAttributes class, - char *attributes); -static int RasterMediumDimensions(XpContextPtr pCon, - CARD16 *width, - CARD16 *height); -static int RasterReproducibleArea(XpContextPtr pCon, - xRectangle *pRect); - -#define MAX(a,b) (((a) > (b)) ? (a) : (b)) -#define DOC_PCL 1 -#define DOC_RASTER 2 - -static DevPrivateKey RasterScreenPrivateKey = &RasterScreenPrivateKey; -static DevPrivateKey RasterContextPrivateKey = &RasterContextPrivateKey; -static char RASTER_DRIV_NAME[] = "XP-RASTER"; -static int doc_type = DOC_RASTER; - -#define ABSOLUTE_PCLCOMP_PATH1 "/usr/openwin/bin/pclcomp" -#define ABSOLUTE_PCLCOMP_PATH2 "/usr/X11/bin/pclcomp" - -static char *pcl3_output_cmds[] = { - "xpr -device ljet -rv -landscape < %(InFile)% | pclcomp -0 > %(OutFile)%", - "xpr -device ljet -rv -landscape < %(InFile)% | pclcomp -01 > %(OutFile)%", - "xpr -device ljet -rv -landscape < %(InFile)% | pclcomp -02 > %(OutFile)%", - "xpr -device ljet -rv -landscape < %(InFile)% | pclcomp -03 > %(OutFile)%", - "xpr -device ljet -rv -landscape < %(InFile)% | pclcomp -012 > %(OutFile)%", - "xpr -device ljet -rv -landscape < %(InFile)% | pclcomp -013 > %(OutFile)%", - "xpr -device ljet -rv -landscape < %(InFile)% | pclcomp -023 > %(OutFile)%", - "xpr -device ljet -rv -landscape < %(InFile)% | pclcomp -0123 > %(OutFile)%", - "xpr -device ljet -rv -landscape < %(InFile)% > %(OutFile)%", - "xpr -device ljet -rv < %(InFile)% | pclcomp -0 > %(OutFile)%", - "xpr -device ljet -rv < %(InFile)% | pclcomp -01 > %(OutFile)%", - "xpr -device ljet -rv < %(InFile)% | pclcomp -02 > %(OutFile)%", - "xpr -device ljet -rv < %(InFile)% | pclcomp -03 > %(OutFile)%", - "xpr -device ljet -rv < %(InFile)% | pclcomp -012 > %(OutFile)%", - "xpr -device ljet -rv < %(InFile)% | pclcomp -013 > %(OutFile)%", - "xpr -device ljet -rv < %(InFile)% | pclcomp -023 > %(OutFile)%", - "xpr -device ljet -rv < %(InFile)% | pclcomp -0123 > %(OutFile)%", - "xpr -device ljet -rv < %(InFile)% > %(OutFile)%"}; - -Bool -InitializeRasterDriver( - int ndx, - ScreenPtr pScreen, - int argc, - char **argv) -{ - int xRes, yRes; - int maxRes, maxDim, numBytes; - RasterScreenPrivPtr pPriv; - - /* - * Register this driver's InitContext function with the print extension. - * This is a bit - * sleazy, as the extension hasn't yet been initialized, but the - * extension needs to know this, and this seems the best time to - * provide the information. - */ - XpRegisterInitFunc( pScreen, RASTER_DRIV_NAME, RasterInitContext ); - - /* - * Create and load the devPrivate for the printer layer. - */ - AllocateRasterPrivates(pScreen); - - pPriv = (RasterScreenPrivPtr) - dixLookupPrivate(&pScreen->devPrivates, RasterScreenPrivateKey); - - maxDim = MAX( pScreen->height, pScreen->width ); - numBytes = maxDim + BITMAP_SCANLINE_PAD - 1; /* pixels per row */ - numBytes *= maxDim; - numBytes /= 8; /* bytes per row */ - xRes = pScreen->width / (pScreen->mmWidth / 25.4); - yRes = pScreen->height / (pScreen->mmHeight / 25.4); - maxRes = MAX( xRes, yRes ); - - pPriv->pBits = (char *)xalloc(numBytes); - - /* - * Have to allocate maxDim X maxDim to allow for landscape mode. - */ - fbScreenInit(pScreen, pPriv->pBits, maxDim, maxDim, maxRes, - maxRes, maxDim, 1); - miInitializeBackingStore(pScreen); - pScreen->blackPixel = 1; - pScreen->whitePixel = 0; - if(fbCreateDefColormap(pScreen) == FALSE) - ; /* XXX what do I do if it fails? */ - - pScreen->SaveScreen = (SaveScreenProcPtr)_XpBoolNoop; - pPriv->ChangeWindowAttributes = pScreen->ChangeWindowAttributes; - pScreen->ChangeWindowAttributes = RasterChangeWindowAttributes; - pPriv->CloseScreen = pScreen->CloseScreen; - pScreen->CloseScreen = RasterCloseScreen; - - return TRUE; -} - -/* - * GetPropString searches the context's config database for a property - * by the name of propName. If found, it returns the property's - * value, otherwise it returns NULL unless the requested attribute - * is RASTER_PRINT_PAGE_COMMAND, in which case it returns a hard-coded - * default string to invoke xpr to produce a PostScript(tm) formatted - * raster. - */ - -static char * -GetPropString( - XpContextPtr pCon, - char *propName) -{ - RasterContextPrivPtr pConPriv = (RasterContextPrivPtr) - dixLookupPrivate(&pCon->devPrivates, RasterContextPrivateKey); - char *type; - XrmValue val; - struct stat status; - int pclcomp_exists = 0; - - if( XrmGetResource(pConPriv->config, propName, propName, &type, &val) == - True ) - return (char *)val.addr; - - if( !strcmp( propName, RASTER_PRINT_PAGE_COMMAND ) ) - if( doc_type == DOC_RASTER ) - return "xpr -device ps %(InFile)% > %(OutFile)%"; - else - { - XpOid orientation; - XpOid compression; - int pcl3_output_index = 0; - - orientation = XpGetContentOrientation(pCon); - compression = XpGetAvailableCompression(pCon); - - switch(orientation) { - case xpoid_val_content_orientation_landscape: - pcl3_output_index = 0; - break; - default: - pcl3_output_index += 9; - break; - } - - if(stat(ABSOLUTE_PCLCOMP_PATH1, &status) != -1) - pclcomp_exists = 1; - else if(stat(ABSOLUTE_PCLCOMP_PATH2, &status) != -1) - pclcomp_exists = 1; - - if(pclcomp_exists) - switch(compression) { - case xpoid_val_available_compressions_0: - pcl3_output_index += 0; - break; - case xpoid_val_available_compressions_01: - pcl3_output_index += 1; - break; - case xpoid_val_available_compressions_02: - pcl3_output_index += 2; - break; - case xpoid_val_available_compressions_03: - pcl3_output_index += 3; - break; - case xpoid_val_available_compressions_012: - pcl3_output_index += 4; - break; - case xpoid_val_available_compressions_013: - pcl3_output_index += 5; - break; - case xpoid_val_available_compressions_023: - pcl3_output_index += 6; - break; - default: - pcl3_output_index += 7; - break; - } - else - pcl3_output_index += 8; - - return pcl3_output_cmds[pcl3_output_index]; - } - else - return NULL; -} - -static void -SetDocumentType( - XpContextPtr pCon) -{ - XpOidList* attrs_supported; - - /* - * only validate attributes found in document-attributes-supported - */ - attrs_supported = - XpGetListAttr(pCon, XPPrinterAttr, - xpoid_att_document_attributes_supported, - (const XpOidList*)NULL); - - if(XpOidListHasOid(attrs_supported, xpoid_att_document_format)) - { - const char* value_in; - XpOidDocFmt *f; - - value_in = XpGetStringAttr(pCon, XPDocAttr, xpoid_att_document_format); - - f = XpOidDocFmtNew( value_in ); - - if( f != NULL ) - { - if( !strcmp( f->format, "PCL" ) ) - doc_type = DOC_PCL; - else - doc_type = DOC_RASTER; - - XpOidDocFmtDelete( f ); - } - } - - /* - * clean up - */ - XpOidListDelete(attrs_supported); -} - -static int -StartJob( - XpContextPtr pCon, - Bool sendClientData, - ClientPtr client) -{ - RasterContextPrivPtr pConPriv = (RasterContextPrivPtr) - dixLookupPrivate(&pCon->devPrivates, RasterContextPrivateKey); - - SetDocumentType( pCon ); - - /* - * Check for existing page file, and delete it if it exists. - */ - if(pConPriv->pageFileName != (char *)NULL) - { - if(pConPriv->pPageFile != (FILE *)NULL) - { - fclose(pConPriv->pPageFile); - pConPriv->pPageFile = (FILE *)NULL; - } - unlink(pConPriv->pageFileName); - Xfree(pConPriv->pageFileName); - pConPriv->pageFileName = (char *)NULL; - } - - /* - * Create a temporary file to store the printer output. - */ - if(!sendClientData) - { - /* - * Create a temporary file to store the printer output. - */ - if (!XpOpenTmpFile("w", &pConPriv->jobFileName, &pConPriv->pJobFile)) - return BadAlloc; - } - - return Success; -} - -/* - * StartDoc and EndDoc are just no-ops in this implementation, since - * our view of the spooler really doesn't recognize documents. - */ - -static int -StartDoc( - XpContextPtr pCon, - XPDocumentType type) -{ - return Success; -} - -static int EndDoc( - XpContextPtr pCon, - Bool cancel) -{ - return Success; -} - -#if 0 - -/* XXX Not used. */ - -/* - * BuidArgVector takes a pointer to a comma-separated list of command - * options and splits it out into an array of argument pointers. The - * caller must not free the optionList after calling this function until - * the returned arg vector is no longer needed, at which time the arg - * vector should also be freed. - */ - -#define SEPARATOR_CHAR (char)',' - -static char ** -BuildArgVector( - char *optionList, - char **argVector, - int argCount) -{ - char *curArg, *lastChar, *endArg; - - curArg = optionList; - lastChar = optionList + strlen(optionList); /* includes final NULL */ - - while(curArg != (char *)NULL && curArg < lastChar) - { - /* strip leading white space */ - while(curArg < lastChar && isascii((int)*curArg) && - isspace((int)*curArg)) - curArg++; - - if(curArg < lastChar) - { - argVector = (char **)Xrealloc(argVector, - sizeof(char *) * (argCount + 2)); - argVector[argCount] = curArg; - argVector[++argCount] = (char *)NULL; - - endArg = strchr(curArg, SEPARATOR_CHAR); - - /* Should I strip trailing white space ??? */ - - if(endArg != (char *)NULL) - { - *endArg = (char)'\0'; - curArg = endArg + 1; - } - else - curArg = (char *)NULL; - } - } - - return argVector; -} -#endif - -static int -EndJob( - XpContextPtr pCon, - Bool cancel) -{ - RasterContextPrivPtr pConPriv = (RasterContextPrivPtr) - dixLookupPrivate(&pCon->devPrivates, RasterContextPrivateKey); - - if( cancel == True ) - { - if(pConPriv->getDocClient != (ClientPtr)NULL) { - XpFinishDocData(pConPriv->getDocClient); - - pConPriv->getDocClient = (ClientPtr)NULL; - pConPriv->getDocBufSize = 0; - } - - if(pConPriv->jobFileName != (char *)NULL) - { - unlink(pConPriv->jobFileName); - Xfree(pConPriv->jobFileName); - pConPriv->jobFileName = (char *)NULL; - } - - return Success; - } - - if(pConPriv->getDocClient != (ClientPtr)NULL&&pConPriv->getDocBufSize > 0) - { - XpFinishDocData(pConPriv->getDocClient); - - pConPriv->getDocClient = (ClientPtr)NULL; - pConPriv->getDocBufSize = 0; - - return Success; - } - - if(pConPriv->pJobFile != (FILE *)NULL) - { - fclose(pConPriv->pJobFile); - pConPriv->pJobFile = (FILE *)NULL; - - if(pConPriv->jobFileName != (char *)NULL) - { - XpSubmitJob( pConPriv->jobFileName, pCon ); - unlink(pConPriv->jobFileName); - Xfree(pConPriv->jobFileName); - pConPriv->jobFileName = (char *)NULL; - } - } - - return Success; -} - -/* StartPage - * - * If page file exists - * close page file - * set page file pointer = NULL - * unlink page file - */ -static int -StartPage( - XpContextPtr pCon, - WindowPtr pWin) -{ - RasterContextPrivPtr pConPriv = (RasterContextPrivPtr) - dixLookupPrivate(&pCon->devPrivates, RasterContextPrivateKey); - - if(pConPriv->pPageFile != (FILE *)NULL) - { - fclose(pConPriv->pPageFile); - pConPriv->pPageFile = (FILE *)NULL; - } - if(pConPriv->pageFileName != (char *)NULL) - { - unlink(pConPriv->pageFileName); - pConPriv->pageFileName = (char *)NULL; - } - - return Success; -} - -#include "X11/XWDFile.h" - - -#define lowbit(x) ((x) & (~(x) + 1)) - -/* - * Get the XWDColors of all pixels in colormap - returns # of colors - */ -static XWDColor * -Get_XWDColors( - ColormapPtr pCmap) -{ - int i, ncolors; - xrgb *prgbList; - Pixel *pPixels; - XWDColor *colors; - - ncolors = pCmap->pVisual->ColormapEntries; - if (!(colors = (XWDColor *) malloc (sizeof(XWDColor) * ncolors))) - return (XWDColor *) NULL; - if (!(prgbList = (xrgb*) malloc(sizeof(xrgb) * ncolors))) - { - Xfree(colors); - return (XWDColor *) NULL; - } - if (!(pPixels = (Pixel*) malloc(sizeof(Pixel) * ncolors))) - { - Xfree(colors); - Xfree(prgbList); - return (XWDColor *) NULL; - } - - if (pCmap->pVisual->class == DirectColor || - pCmap->pVisual->class == TrueColor) { - Pixel red, green, blue, red1, green1, blue1; - - red = green = blue = 0; - red1 = lowbit(pCmap->pVisual->redMask); - green1 = lowbit(pCmap->pVisual->greenMask); - blue1 = lowbit(pCmap->pVisual->blueMask); - for (i=0; i pCmap->pVisual->redMask) - red = 0; - green += green1; - if (green > pCmap->pVisual->greenMask) - green = 0; - blue += blue1; - if (blue > pCmap->pVisual->blueMask) - blue = 0; - } - } else { - for (i=0; idrawable; - XWDFileHeader header; - int win_name_size; - int header_size; - int ncolors, i; - char *win_name; - VisualPtr pVisual; - ColormapPtr pCmap; - XWDColor *pColors; - unsigned long swaptest = 1; - - widthBytesLine = PixmapBytePad(pWin->drawable.width, pWin->drawable.depth); - length = widthBytesLine * pWin->drawable.height; - height = pWin->drawable.height; - - if(length <= 0) - return Success; - - if (widthBytesLine >= IMAGE_BUFSIZE) - linesPerBuf = 1; - else - { - linesPerBuf = IMAGE_BUFSIZE / widthBytesLine; - if (linesPerBuf > height) - linesPerBuf = height; - } - length = linesPerBuf * widthBytesLine; - if (linesPerBuf < height) - { - /* we have to make sure intermediate buffers don't need padding */ - while ((linesPerBuf > 1) && (length & 3)) - { - linesPerBuf--; - length -= widthBytesLine; - } - while (length & 3) - { - linesPerBuf++; - length += widthBytesLine; - } - } - if(!(pBuf = (char *) Xalloc(length))) - return (BadAlloc); - - /* - * Start of Xwd header code. - */ - - /* - * XXX - Should we use the real window name??? - */ - win_name = "xwdump"; - /* sizeof(char) is included for the null string terminator. */ - win_name_size = strlen(win_name) + sizeof(char); - - pCmap = (ColormapPtr)LookupIDByType(wColormap (pWin), RT_COLORMAP); - pVisual = pCmap->pVisual; - if((pColors = Get_XWDColors(pCmap)) == (XWDColor *)NULL) - { - Xfree(pBuf); - return (BadAlloc); - } - - /* - * Write out header information. - */ - header_size = sizeof(header) + win_name_size; - header.header_size = (CARD32) header_size; - header.file_version = (CARD32) XWD_FILE_VERSION; - header.pixmap_format = (CARD32) ZPixmap; /* Must match GetImage below */ - header.pixmap_depth = (CARD32) pDraw->depth; - header.pixmap_width = (CARD32) pDraw->width; - header.pixmap_height = (CARD32) pDraw->height; - header.xoffset = (CARD32) 0; - header.byte_order = (CARD32) screenInfo.imageByteOrder; - header.bitmap_unit = (CARD32) screenInfo.bitmapScanlineUnit; - header.bitmap_bit_order = (CARD32) screenInfo.bitmapBitOrder; - header.bitmap_pad = (CARD32) screenInfo.bitmapScanlinePad; - header.bits_per_pixel = (CARD32) pDraw->bitsPerPixel; - header.bytes_per_line = (CARD32) widthBytesLine; - header.visual_class = (CARD32) pVisual->class; - header.red_mask = (CARD32) pVisual->redMask; - header.green_mask = (CARD32) pVisual->greenMask; - header.blue_mask = (CARD32) pVisual->blueMask; - header.bits_per_rgb = (CARD32) pVisual->bitsPerRGBValue; - header.colormap_entries = (CARD32) pVisual->ColormapEntries; - header.ncolors = ncolors = (CARD32) pVisual->ColormapEntries; - header.window_width = (CARD32) pDraw->width; - header.window_height = (CARD32) pDraw->height; - header.window_x = 0; - header.window_y = 0; - header.window_bdrwidth = (CARD32) 0; - - if (*(char *) &swaptest) { - _swaplong((char *) &header, sizeof(header)); - for (i = 0; i < ncolors; i++) { - _swaplong((char *) &pColors[i].pixel, sizeof(long)); - _swapshort((char *) &pColors[i].red, 3 * sizeof(short)); - } - } - - (void) fwrite((char *)&header, sizeof(header), 1, pRasterFile); - (void) fwrite(win_name, win_name_size, 1, pRasterFile); - (void) fwrite((char *) pColors, sizeof(XWDColor), ncolors, pRasterFile); - - Xfree(pColors); - - /* - * End of Xwd header code. - */ - - linesDone = 0; - while(height - linesDone > 0) - { - nlines = min(linesPerBuf, height - linesDone); - (*pDraw->pScreen->GetImage) (pDraw, - 0, - linesDone, - pWin->drawable.width, - nlines, - ZPixmap, - ~0, - pBuf); - - if(fwrite(pBuf, sizeof(char), (size_t)(nlines * widthBytesLine), - pRasterFile) != - (size_t)(nlines * widthBytesLine)) - { - Xfree(pBuf); - return BadAlloc; - } - linesDone += nlines; - } - Xfree(pBuf); - return Success; -} - - -static int -SendPage( XpContextPtr pCon ) -{ - struct stat statBuf; - RasterContextPrivPtr pConPriv = (RasterContextPrivPtr) - dixLookupPrivate(&pCon->devPrivates, RasterContextPrivateKey); - - if(stat(pConPriv->pageFileName, &statBuf) < 0) - return BadAlloc; - - return XpSendDocumentData(pConPriv->getDocClient, - pConPriv->pPageFile, (int)statBuf.st_size, - pConPriv->getDocBufSize); -} - -/* - * EndPage: - * - * If page file doesn't exist: - * { - * Create page file - * Open page file - * Write page header to page file - * if(preRasterFile exists) - * copy preRasterFile contents to page file - * if(noRasterFile exists) - * write noRasterFile contents to page file - * else - * Create raster image file - * Open raster image file - * GetImage data - * Write Image data to raster image file - * invoke page_command on raster image file - * Write raster image file contents to page file - * Unlink tempPage file - * if(postRasterFile exists) - * write postRasterFile contents to page file - * Write page trailer to page file - * } - * Write page file to job file - */ -static int -EndPage( - XpContextPtr pCon, - WindowPtr pWin) -{ - RasterContextPrivPtr pConPriv = (RasterContextPrivPtr) - dixLookupPrivate(&pCon->devPrivates, RasterContextPrivateKey); - struct stat statBuf; - char *rasterFileName = (char *)NULL, *pCommand = (char *)NULL; - FILE *pRasterFile = (FILE *)NULL; - - if(pConPriv->pageFileName == (char *)NULL) - { - /* - * Open the page file. - */ - if (!XpOpenTmpFile("w+", &pConPriv->pageFileName, - &pConPriv->pPageFile)) - goto BAD_PAGE_ALLOC; - - /* - * Copy any pre-raster document data to the page file. - */ - if(pConPriv->pPreRasterFile != (FILE *)NULL) - { - if(CopyContentsAndDelete(&pConPriv->pPreRasterFile, - &pConPriv->preRasterFileName, - pConPriv->pPageFile) == FALSE) - goto BAD_PAGE_ALLOC; - } - - /* - * Copy either the no-raster document data, or the raster - * data itself to the page file. - * If the no-raster file exists, then we don't process the - * actual window raster bits. - */ - if(pConPriv->pNoRasterFile != (FILE *)NULL) - { - if(CopyContentsAndDelete(&pConPriv->pNoRasterFile, - &pConPriv->noRasterFileName, - pConPriv->pPageFile) == FALSE) - goto BAD_PAGE_ALLOC; - } - else - { - /* - * Open the raster image file. - */ - if (!XpOpenTmpFile("w", &rasterFileName, &pRasterFile)) - goto BAD_PAGE_ALLOC; - - /* - * Write the page image data to the raster image file. - */ - if(WriteWindowRaster(pWin, pRasterFile) != Success) - goto BAD_PAGE_ALLOC; - - /* - * Invoke the page_command on the raster image file. - */ - if((pCommand = GetPropString(pCon, RASTER_PRINT_PAGE_COMMAND)) != - (char *)NULL) - { - char *outFileName; - FILE *pOutFile; - - if (!XpOpenTmpFile("w", &outFileName, &pOutFile)) - goto BAD_PAGE_ALLOC; - fclose(pOutFile); - - pCommand = ReplaceFileString(strdup(pCommand), rasterFileName, - outFileName); - fclose(pRasterFile); - SystemCmd(pCommand); - free(pCommand); - /* - * Delete the unprocessed raster file. - */ - unlink(rasterFileName); - Xfree(rasterFileName); - rasterFileName = outFileName; - if((pRasterFile = fopen(rasterFileName, "r")) == (FILE *)NULL) - goto BAD_PAGE_ALLOC; - } - else - { - fclose(pRasterFile); - if((pRasterFile = fopen(rasterFileName, "r")) == (FILE *)NULL) - goto BAD_PAGE_ALLOC; - } - - /* - * Copy the raster image file contents to the page file. - * Note that pRasterFile must be set to the start of the - * raster file. - */ - if(CopyContentsAndDelete(&pRasterFile, - &rasterFileName, - pConPriv->pPageFile) == FALSE) - goto BAD_PAGE_ALLOC; - } - - /* - * Copy any post-raster document data to the page file. - */ - if(pConPriv->pPostRasterFile != (FILE *)NULL) - { - if(CopyContentsAndDelete(&pConPriv->pPostRasterFile, - &pConPriv->postRasterFileName, - pConPriv->pPageFile) == FALSE) - goto BAD_PAGE_ALLOC; - } - - } - - /* - * Write the page file contents to the job file or to the client - * performing GetDocumentData. - * pConPriv->pPageFile must first be set to the start of the page file. - */ - rewind(pConPriv->pPageFile); - if(stat(pConPriv->pageFileName, &statBuf) < 0) - goto BAD_PAGE_ALLOC; - - /* - * Send the page data to whatever client has called GetDocumentData. - */ - if(pConPriv->getDocClient != (ClientPtr)NULL&&pConPriv->getDocBufSize > 0) - { - int retval; - /* - * We should do something like the following: suspend the - * caller until we can gracefully write all the data in small - * chunks to the receiver, but for now we'll just call WriteToClient - * on the huge chunk - */ - retval = SendPage(pCon); - fclose(pConPriv->pPageFile); - pConPriv->pPageFile = (FILE *)NULL; - unlink(pConPriv->pageFileName); - free(pConPriv->pageFileName); - pConPriv->pageFileName = (char *)NULL; - return retval; - } - - if(pConPriv->pJobFile == (FILE *)NULL) - { - /* - * This shouldn't be necessary. I believe we only get here if - * someone calls "EndPage" prior to "StartJob". This error - * condition should probably be trapped at a higher level. - */ - - if(pConPriv->jobFileName != (char *)NULL) - Xfree(pConPriv->jobFileName); - /* - * Create a temporary file to store the printer output. - */ - if (!XpOpenTmpFile("w", &pConPriv->jobFileName, &pConPriv->pJobFile)) - goto BAD_PAGE_ALLOC; - } - - if(TransferBytes(pConPriv->pPageFile, pConPriv->pJobFile, - (int)statBuf.st_size) != (int)statBuf.st_size) - goto BAD_PAGE_ALLOC; - - fclose(pConPriv->pPageFile); - pConPriv->pPageFile = (FILE *)NULL; - unlink(pConPriv->pageFileName); - free(pConPriv->pageFileName); - pConPriv->pageFileName = (char *)NULL; - - return Success; - - BAD_PAGE_ALLOC: - - FreePageFiles(pConPriv); - - if(pRasterFile != (FILE *)NULL) - fclose(pRasterFile); - if(rasterFileName != (char *)NULL) - { - unlink(rasterFileName); - Xfree(rasterFileName); - } - return BadAlloc; -} - -static int -DocumentData( - XpContextPtr pCon, - DrawablePtr pDraw, - char *pData, - int len_data, - char *pDoc_fmt, - int len_fmt, - char *pOptions, - int len_options, - ClientPtr client) -{ - RasterContextPrivPtr pConPriv = (RasterContextPrivPtr) - dixLookupPrivate(&pCon->devPrivates, RasterContextPrivateKey); - char *preRasterStr = PRE_RASTER, *postRasterStr = POST_RASTER, - *noRasterStr = NO_RASTER; - - /* - * Check that options equals either PRE_RASTER or POST_RASTER. - */ - if(len_options == strlen(preRasterStr) && - strncmp(pOptions, preRasterStr, strlen(preRasterStr)) == 0) - { - if(pConPriv->pPreRasterFile == (FILE *)NULL) - { - if (!XpOpenTmpFile("w+", &pConPriv->preRasterFileName, - &pConPriv->pPreRasterFile)) - return BadAlloc; - } - if(fwrite(pData, sizeof(char), (size_t)len_data, - pConPriv->pPreRasterFile) != (size_t)len_data) - return BadAlloc; - fflush(pConPriv->pPreRasterFile); - } - else if(len_options == strlen(postRasterStr) && - strncmp(pOptions, postRasterStr, strlen(postRasterStr)) == 0) - { - if(pConPriv->pPostRasterFile == (FILE *)NULL) - { - if (!XpOpenTmpFile("w+", &pConPriv->postRasterFileName, - &pConPriv->pPostRasterFile)) - return BadAlloc; - } - if(fwrite(pData, sizeof(char), (size_t)len_data, - pConPriv->pPostRasterFile) != (size_t)len_data) - return BadAlloc; - fflush(pConPriv->pPostRasterFile); - } - else if(len_options == strlen(noRasterStr) && - strncmp(pOptions, noRasterStr, strlen(noRasterStr)) == 0) - { - if(pConPriv->pNoRasterFile == (FILE *)NULL) - { - if (!XpOpenTmpFile("w+", &pConPriv->noRasterFileName, - &pConPriv->pNoRasterFile)) - return BadAlloc; - } - if(fwrite(pData, sizeof(char), (size_t)len_data, - pConPriv->pNoRasterFile) != (size_t)len_data) - return BadAlloc; - fflush(pConPriv->pNoRasterFile); - } - else - return BadValue; - - return Success; -} - -/* - * GetDocumentData notes which client is requesting the document data for - * a particular context. The Raster driver's EndPage function causes the - * data to be written to the proper client. - */ -static int -GetDocumentData( - XpContextPtr pContext, - ClientPtr client, - int maxBufferSize) -{ - RasterContextPrivPtr pConPriv = (RasterContextPrivPtr) - dixLookupPrivate(&pContext->devPrivates, RasterContextPrivateKey); - - pConPriv->getDocClient = client; - pConPriv->getDocBufSize = maxBufferSize; - return Success; -} - -static void -AllocateRasterPrivates( - ScreenPtr pScreen) -{ - dixRequestPrivate(RasterContextPrivateKey, sizeof( RasterContextPrivRec ) ); - dixSetPrivate(&pScreen->devPrivates, RasterScreenPrivateKey, - Xalloc(sizeof(RasterScreenPrivRec))); -} - -/* - * RasterChangeWindowAttributes - Make sure that the window's backing - * store is turned on. - */ -static Bool -RasterChangeWindowAttributes( - WindowPtr pWin, - unsigned long mask) -{ - Bool status = Success; - ScreenPtr pScreen = pWin->drawable.pScreen; - RasterScreenPrivPtr pScreenPriv = (RasterScreenPrivPtr) - dixLookupPrivate(&pScreen->devPrivates, RasterScreenPrivateKey); - - if(pWin->backingStore == NotUseful) - { - pWin->backingStore = WhenMapped; - mask |= CWBackingStore; - } - - if(pScreenPriv->ChangeWindowAttributes != NULL) - { - pScreen->ChangeWindowAttributes = pScreenPriv->ChangeWindowAttributes; - status = pScreen->ChangeWindowAttributes(pWin, mask); - pScreen->ChangeWindowAttributes = RasterChangeWindowAttributes; - } - return status; -} - -/* - * RasterValidateDocFormats - Inspects the files available in the - * ddx-config/XP-RASTER directory to find the names of PDLs for which - * we have processing commands. These names are then intersected with - * the contents of the printer's document-formats-supported attribute, - * and the result is stored back into document-formats-supported. - * We have hard-coded knowledge of how to produce PS, so we always - * leave that in, if it's listed in document-formats-supported, - * even if we don't have a configuration file. If there is a - * configuration file for PS, then its contents will override our default. - */ -static void -RasterValidateDocFormats( - XpContextPtr pCon) -{ -} - -/* - * RasterValidateAttrs - Inspects and Corrects the attribute values - * in the specified context. - */ -static void -RasterValidateAttrs( - XpContextPtr pCon) -{ - RasterValidateDocFormats(pCon); - XpValidatePrinterPool(pCon, &RasterValidatePoolsRec); - XpValidateJobPool(pCon, &RasterValidatePoolsRec); - XpValidateDocumentPool(pCon, &RasterValidatePoolsRec); -} - -/* - * RasterInitContext - Establish the appropriate values for a - * PrintContext used with the Raster Driver. - */ -static char DOC_ATT_SUPP[]="document-attributes-supported:\tdefault-medium document-format"; -static char JOB_ATT_SUPP[]="job-attributes-supported:\t"; -static char DDX_DIR[]="ddx-config"; - -static int -RasterInitContext( - XpContextPtr pCon) -{ - char *configFileName, *val, *attrStr; - RasterContextPrivPtr pConPriv; - XpDriverFuncsPtr pFuncs; - - /* - * Initialize the attribute store for this printer. - */ - XpInitAttributes( pCon ); - - /* - * Validate the attributes - */ - RasterValidateAttrs( pCon ); - - - /* - * Initialize the function pointers - */ - pFuncs = &( pCon->funcs ); - pFuncs->StartJob = StartJob; - pFuncs->EndJob = EndJob; - pFuncs->StartDoc = StartDoc; - pFuncs->EndDoc = EndDoc; - pFuncs->StartPage = StartPage; - pFuncs->EndPage = EndPage; - pFuncs->PutDocumentData = DocumentData; - pFuncs->GetDocumentData = GetDocumentData; - pFuncs->DestroyContext = RasterDestroyContext; - pFuncs->GetAttributes = RasterGetAttributes; - pFuncs->GetOneAttribute = RasterGetOneAttribute; - pFuncs->SetAttributes = RasterSetAttributes; - pFuncs->AugmentAttributes = RasterAugmentAttributes; - pFuncs->GetMediumDimensions = RasterMediumDimensions; - pFuncs->GetReproducibleArea = RasterReproducibleArea; - - /* - * Set up the context privates - */ - pConPriv = (RasterContextPrivPtr) - dixLookupPrivate(&pCon->devPrivates, RasterContextPrivateKey); - - pConPriv->jobFileName = (char *)NULL; - pConPriv->pageFileName = (char *)NULL; - pConPriv->preRasterFileName = (char *)NULL; - pConPriv->postRasterFileName = (char *)NULL; - pConPriv->noRasterFileName = (char *)NULL; - pConPriv->pJobFile = (FILE *)NULL; - pConPriv->pPageFile = (FILE *)NULL; - pConPriv->pPreRasterFile = (FILE *)NULL; - pConPriv->pPostRasterFile = (FILE *)NULL; - pConPriv->pNoRasterFile = (FILE *)NULL; - - pConPriv->getDocClient = (ClientPtr)NULL; - pConPriv->getDocBufSize = 0; - - /* - * Get the configuration information for the context's printer - */ - configFileName = XpGetOneAttribute( pCon, XPPrinterAttr, - "xp-ddx-config-file-name" ); - if(configFileName && strlen(configFileName)) - { - if( configFileName[0] == '/' ) - pConPriv->config = XrmGetFileDatabase( configFileName ); - else - { - char *configDir, *configFilePath; - - configDir = XpGetConfigDir(FALSE); - configFilePath = (char *)malloc((strlen(configDir) + - strlen(DDX_DIR) + - strlen(RASTER_DRIV_NAME) + - strlen(configFileName) + - 4)* sizeof(char)); - sprintf(configFilePath, "%s/%s/%s/%s", configDir, DDX_DIR, - RASTER_DRIV_NAME, configFileName); - pConPriv->config = XrmGetFileDatabase(configFilePath); - free(configDir); - free(configFilePath); - } - } - else - pConPriv->config = (XrmDatabase)NULL; - - /* - * Add our own attribute initialization - */ - /* - * document-attributes-supported - */ - val = XpGetOneAttribute(pCon, XPServerAttr, "document-attributes-supported"); - if((attrStr = (char *)xalloc(strlen(val) + strlen(DOC_ATT_SUPP) + 4)) == - (char *)NULL) - return BadAlloc; - sprintf(attrStr, "*%s %s", DOC_ATT_SUPP, val); - XpAugmentAttributes(pCon, XPPrinterAttr, attrStr); - xfree(attrStr); - - /* - * job-attributes-supported - */ - val = XpGetOneAttribute(pCon, XPServerAttr, "job-attributes-supported"); - if((attrStr = (char *)xalloc(strlen(val) + strlen(JOB_ATT_SUPP) + 4)) == - (char *)NULL) - return BadAlloc; - sprintf(attrStr, "*%s %s", JOB_ATT_SUPP, val); - XpAugmentAttributes(pCon, XPPrinterAttr, attrStr); - xfree(attrStr); - - /* - * PageAttributesSupported - */ - XpAugmentAttributes(pCon, XPPrinterAttr, "*xp-page-attributes-supported:"); - - return Success; -} - - - -static Bool -RasterDestroyContext( - XpContextPtr pCon) -{ - RasterContextPrivPtr pConPriv = (RasterContextPrivPtr) - dixLookupPrivate(&pCon->devPrivates, RasterContextPrivateKey); - - /* - * Clean up the temporary files - */ - FreePageFiles( pConPriv ); - - if( pConPriv->pJobFile != (FILE *)NULL ) - { - fclose( pConPriv->pJobFile ); - pConPriv->pJobFile = (FILE *)NULL; - } - if( pConPriv->jobFileName != (char *)NULL ) - { - unlink( pConPriv->jobFileName ); - Xfree( pConPriv->jobFileName ); - } - if(pConPriv->config) - { - XrmDestroyDatabase(pConPriv->config); - pConPriv->config = (XrmDatabase)NULL; - } - - XpDestroyAttributes( pCon ); - return Success; -} - -static char * -RasterGetAttributes( - XpContextPtr pContext, - XPAttributes class) -{ - return XpGetAttributes( pContext, class ); -} - -static char * -RasterGetOneAttribute( - XpContextPtr pContext, - XPAttributes class, - char *attr) -{ - return XpGetOneAttribute( pContext, class, attr ); -} - -static int -RasterSetAttributes(XpContextPtr pCon, - XPAttributes class, - char *attributes) -{ - return XpSetAttributes( pCon, class, attributes ); -} - -static int -RasterAugmentAttributes( - XpContextPtr pCon, - XPAttributes class, - char *attributes) -{ - return XpAugmentAttributes( pCon, class, attributes ); -} - -static void -FreePageFiles( - RasterContextPrivPtr pConPriv) -{ - if(pConPriv->pPageFile != (FILE *)NULL) - { - fclose(pConPriv->pPageFile); - pConPriv->pPageFile = (FILE *)NULL; - } - if(pConPriv->pageFileName != (char *)NULL) - { - unlink(pConPriv->pageFileName); - Xfree(pConPriv->pageFileName); - pConPriv->pageFileName = (char *)NULL; - } - if(pConPriv->pPreRasterFile != (FILE *)NULL) - { - fclose(pConPriv->pPreRasterFile); - pConPriv->pPreRasterFile = (FILE *)NULL; - } - if(pConPriv->preRasterFileName != (char *)NULL) - { - unlink(pConPriv->preRasterFileName); - Xfree(pConPriv->preRasterFileName); - pConPriv->preRasterFileName = (char *)NULL; - } - if(pConPriv->pPostRasterFile != (FILE *)NULL) - { - fclose(pConPriv->pPostRasterFile); - pConPriv->pPostRasterFile = (FILE *)NULL; - } - if(pConPriv->postRasterFileName != (char *)NULL) - { - unlink(pConPriv->postRasterFileName); - Xfree(pConPriv->postRasterFileName); - pConPriv->postRasterFileName = (char *)NULL; - } - if(pConPriv->pNoRasterFile != (FILE *)NULL) - { - fclose(pConPriv->pNoRasterFile); - pConPriv->pNoRasterFile = (FILE *)NULL; - } - if(pConPriv->noRasterFileName != (char *)NULL) - { - unlink(pConPriv->noRasterFileName); - Xfree(pConPriv->noRasterFileName); - pConPriv->noRasterFileName = (char *)NULL; - } -} - -/* - * RasterCloseScreen - Call any wrapped CloseScreen function, - * and free the screen memory. - */ -static Bool -RasterCloseScreen( - int index, - ScreenPtr pScreen) -{ - Bool status = Success; - RasterScreenPrivPtr pScreenPriv = (RasterScreenPrivPtr) - dixLookupPrivate(&pScreen->devPrivates, RasterScreenPrivateKey); - - /* - * Call any wrapped CloseScreen proc. - */ - if(pScreenPriv->CloseScreen != NULL) - { - pScreen->CloseScreen = pScreenPriv->CloseScreen; - status = pScreen->CloseScreen(index, pScreen); - pScreen->CloseScreen = RasterCloseScreen; - } - - Xfree(pScreenPriv->pBits); - Xfree(pScreenPriv); - - return status; -} - -#include - -/* ARGSUSED */ -static void SigchldHndlr (int dummy) -{ - int status; - int olderrno = errno; - struct sigaction act; - sigfillset(&act.sa_mask); - act.sa_flags = 0; - act.sa_handler = SigchldHndlr; - - (void) wait (&status); - - /* - * Is this really necessary? - */ - sigaction(SIGCHLD, &act, (struct sigaction *)NULL); - errno = olderrno; -} - -/* - * SystemCmd provides a wrapper for the 'system' library call. The call - * appears to be sensitive to the handling of SIGCHLD, so this wrapper - * sets the status to SIG_DFL, and then resets the established handler - * after system returns. - */ -static int -SystemCmd(char *cmdStr) -{ - int status; - struct sigaction newAct, oldAct; - sigfillset(&newAct.sa_mask); - newAct.sa_flags = 0; - newAct.sa_handler = SIG_DFL; - sigfillset(&oldAct.sa_mask); - oldAct.sa_flags = 0; - oldAct.sa_handler = SigchldHndlr; - - /* - * get the old handler, and set the action to IGN - */ - sigaction(SIGCHLD, &newAct, &oldAct); - - status = system (cmdStr); - - sigaction(SIGCHLD, &oldAct, (struct sigaction *)NULL); - return status; -} - -/* - * RasterMediumDimensions is installed in the GetMediumDimensions field - * of each raster-initialized context. - */ -static int -RasterMediumDimensions(XpContextPtr pCon, - CARD16 *width, - CARD16 *height) -{ - XpGetMediumDimensions(pCon, width, height); - return Success; -} - -/* - * RasterReproducibleArea is installed in the GetReproducibleArea field - * of each raster-initialized context. - */ -static int -RasterReproducibleArea(XpContextPtr pCon, - xRectangle *pRect) -{ - XpGetReproductionArea(pCon, pRect); - return Success; -} diff --git a/xorg-server/hw/xprint/raster/Raster.h b/xorg-server/hw/xprint/raster/Raster.h deleted file mode 100644 index 7a613f0b0..000000000 --- a/xorg-server/hw/xprint/raster/Raster.h +++ /dev/null @@ -1,117 +0,0 @@ -/* -(c) Copyright 1996 Hewlett-Packard Company -(c) Copyright 1996 International Business Machines Corp. -(c) Copyright 1996 Sun Microsystems, Inc. -(c) Copyright 1996 Novell, Inc. -(c) Copyright 1996 Digital Equipment Corp. -(c) Copyright 1996 Fujitsu Limited -(c) Copyright 1996 Hitachi, Ltd. - -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. -*/ -/******************************************************************* -** -** ********************************************************* -** * -** * File: printer/Raster.h -** * -** * Contents: defines and includes for the raster layer -** * for a printing X server. -** * -** * Copyright: Copyright 1993 Hewlett-Packard Company -** * -** ********************************************************* -** -********************************************************************/ -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#ifndef _RASTER_H_ -#define _RASTER_H_ - -/* - * Some sleazes to force the XrmDB stuff into the server - */ -#ifndef HAVE_XPointer -#define HAVE_XPointer 1 -typedef char *XPointer; -#endif -#define Status int -#define True 1 -#define False 0 -#include "misc.h" -#include -#include -#include "attributes.h" - -#include - -#define MAX_TOKEN_LEN 512 - -#define RASTER_PRINT_PAGE_COMMAND "_XP_RASTER_PAGE_PROC_COMMAND" - -#define RASTER_IN_FILE_STRING "%(InFile)%" -#define RASTER_OUT_FILE_STRING "%(OutFile)%" - -#define RASTER_ALLOWED_COMMANDS_FILE "printCommands" - -/* - * Defines for the "options" in DtPrintDocumentData. - */ -#define PRE_RASTER "PRE-RASTER" -#define POST_RASTER "POST-RASTER" -#define NO_RASTER "NO-RASTER" - - -typedef struct { - char *pBits; - CreateWindowProcPtr CreateWindow; - ChangeWindowAttributesProcPtr ChangeWindowAttributes; - DestroyWindowProcPtr DestroyWindow; - CloseScreenProcPtr CloseScreen; -} RasterScreenPrivRec, *RasterScreenPrivPtr; - -typedef struct { - XrmDatabase config; - char *jobFileName; - FILE *pJobFile; - char *pageFileName; - FILE *pPageFile; - char *preRasterFileName; /* Pre-raster document data */ - FILE *pPreRasterFile; - char *noRasterFileName; /* Raster replacement document data */ - FILE *pNoRasterFile; - char *postRasterFileName; /* Post-raster document data */ - FILE *pPostRasterFile; - ClientPtr getDocClient; - int getDocBufSize; -} RasterContextPrivRec, *RasterContextPrivPtr; - - -extern XpValidatePoolsRec RasterValidatePoolsRec; - -extern Bool InitializeRasterDriver(int ndx, ScreenPtr pScreen, int argc, - char **argv); - -#endif /* _RASTER_H_ */ diff --git a/xorg-server/hw/xprint/raster/RasterAttVal.c b/xorg-server/hw/xprint/raster/RasterAttVal.c deleted file mode 100644 index 8189be47c..000000000 --- a/xorg-server/hw/xprint/raster/RasterAttVal.c +++ /dev/null @@ -1,267 +0,0 @@ -/* -(c) Copyright 1996 Hewlett-Packard Company -(c) Copyright 1996 International Business Machines Corp. -(c) Copyright 1996 Sun Microsystems, Inc. -(c) Copyright 1996 Novell, Inc. -(c) Copyright 1996 Digital Equipment Corp. -(c) Copyright 1996 Fujitsu Limited -(c) Copyright 1996 Hitachi, Ltd. - -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. -*/ - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#include -#include -#include "misc.h" -#include "dixstruct.h" -#include "scrnintstr.h" -#include "screenint.h" -#include -#include "Raster.h" - -#include "attributes.h" -#include "AttrValid.h" - -/* - * define valid values and defaults for Printer pool - */ -static XpOid ValidContentOrientationsOids[] = { - xpoid_val_content_orientation_portrait, - xpoid_val_content_orientation_landscape -}; -static XpOidList ValidContentOrientations = { - ValidContentOrientationsOids, XpNumber(ValidContentOrientationsOids) -}; - -static XpOid DefaultContentOrientationsOids[] = { - xpoid_val_content_orientation_portrait, - xpoid_val_content_orientation_landscape -}; -static XpOidList DefaultContentOrientations = { - DefaultContentOrientationsOids, XpNumber(DefaultContentOrientationsOids) -}; - -static XpOid ValidPlexesOids[] = { - xpoid_val_plex_simplex -}; -static XpOidList ValidPlexes = { - ValidPlexesOids, XpNumber(ValidPlexesOids) -}; - -static XpOid DefaultPlexesOids[] = { - xpoid_val_plex_simplex -}; -static XpOidList DefaultPlexes = { - DefaultPlexesOids, XpNumber(DefaultPlexesOids) -}; - -static unsigned long ValidPrinterResolutionsCards[] = { - 150, 300, 600 -}; -static XpOidCardList ValidPrinterResolutions = { - ValidPrinterResolutionsCards, XpNumber(ValidPrinterResolutionsCards) -}; - -static unsigned long DefaultPrinterResolutionsCards[] = { - 300 -}; -static XpOidCardList DefaultPrinterResolutions = { - DefaultPrinterResolutionsCards, XpNumber(DefaultPrinterResolutionsCards) -}; - -static XpOid ValidListfontsModesOids[] = { - xpoid_val_xp_list_glyph_fonts -}; -static XpOidList ValidListfontsModes = { - ValidListfontsModesOids, XpNumber(ValidListfontsModesOids) -}; - -static XpOid DefaultListfontsModesOids[] = { - xpoid_val_xp_list_glyph_fonts -}; -static XpOidList DefaultListfontsModes = { - DefaultListfontsModesOids, XpNumber(DefaultListfontsModesOids) -}; - -static XpOid ValidSetupProvisoOids[] = { - xpoid_val_xp_setup_mandatory, xpoid_val_xp_setup_optional -}; -static XpOidList ValidSetupProviso = { - ValidSetupProvisoOids, XpNumber(ValidSetupProvisoOids) -}; - -static XpOidDocFmt ValidDocFormatsSupportedFmts[] = { - { "Postscript", "2", NULL }, - { "PCL", "3", NULL } -}; -static XpOidDocFmtList ValidDocFormatsSupported = { - ValidDocFormatsSupportedFmts, XpNumber(ValidDocFormatsSupportedFmts) -}; - -static XpOidDocFmt DefaultDocFormatsSupportedFmts[] = { - { "Postscript", "2", NULL } -}; -static XpOidDocFmtList DefaultDocFormatsSupported = { - DefaultDocFormatsSupportedFmts, XpNumber(DefaultDocFormatsSupportedFmts) -}; - -static XpOidDocFmtList ValidEmbeddedFormatsSupported = { - (XpOidDocFmt *)NULL, 0 -}; - -static XpOidDocFmtList DefaultEmbeddedFormatsSupported = { - (XpOidDocFmt *)NULL, 0 -}; - -static XpOidDocFmt ValidRawFormatsSupportedFmts[] = { - { "Postscript", "2", NULL }, - { "PCL", "3", NULL } -}; -static XpOidDocFmtList ValidRawFormatsSupported = { - ValidRawFormatsSupportedFmts, XpNumber(ValidRawFormatsSupportedFmts) -}; - -static XpOidDocFmt DefaultRawFormatsSupportedFmts[] = { - { "Postscript", "2", NULL } -}; -static XpOidDocFmtList DefaultRawFormatsSupported = { - DefaultRawFormatsSupportedFmts, XpNumber(DefaultRawFormatsSupportedFmts) -}; - -static XpOidList ValidInputTrays = { - (XpOid *)NULL, 0 -}; - -static XpOid ValidMediumSizesOids[] = { - xpoid_val_medium_size_iso_a0, - xpoid_val_medium_size_iso_a1, - xpoid_val_medium_size_iso_a2, - xpoid_val_medium_size_iso_a3, - xpoid_val_medium_size_iso_a4, - xpoid_val_medium_size_iso_a5, - xpoid_val_medium_size_iso_a6, - xpoid_val_medium_size_iso_a7, - xpoid_val_medium_size_iso_a8, - xpoid_val_medium_size_iso_a9, - xpoid_val_medium_size_iso_a10, - xpoid_val_medium_size_iso_b0, - xpoid_val_medium_size_iso_b1, - xpoid_val_medium_size_iso_b2, - xpoid_val_medium_size_iso_b3, - xpoid_val_medium_size_iso_b4, - xpoid_val_medium_size_iso_b5, - xpoid_val_medium_size_iso_b6, - xpoid_val_medium_size_iso_b7, - xpoid_val_medium_size_iso_b8, - xpoid_val_medium_size_iso_b9, - xpoid_val_medium_size_iso_b10, - xpoid_val_medium_size_na_letter, - xpoid_val_medium_size_na_legal, - xpoid_val_medium_size_executive, - xpoid_val_medium_size_folio, - xpoid_val_medium_size_invoice, - xpoid_val_medium_size_ledger, - xpoid_val_medium_size_quarto, - xpoid_val_medium_size_iso_c3, - xpoid_val_medium_size_iso_c4, - xpoid_val_medium_size_iso_c5, - xpoid_val_medium_size_iso_c6, - xpoid_val_medium_size_iso_designated_long, - xpoid_val_medium_size_na_10x13_envelope, - xpoid_val_medium_size_na_9x12_envelope, - xpoid_val_medium_size_na_number_10_envelope, - xpoid_val_medium_size_na_7x9_envelope, - xpoid_val_medium_size_na_9x11_envelope, - xpoid_val_medium_size_na_10x14_envelope, - xpoid_val_medium_size_na_number_9_envelope, - xpoid_val_medium_size_monarch_envelope, - xpoid_val_medium_size_a, - xpoid_val_medium_size_b, - xpoid_val_medium_size_c, - xpoid_val_medium_size_d, - xpoid_val_medium_size_e, - xpoid_val_medium_size_jis_b0, - xpoid_val_medium_size_jis_b1, - xpoid_val_medium_size_jis_b2, - xpoid_val_medium_size_jis_b3, - xpoid_val_medium_size_jis_b4, - xpoid_val_medium_size_jis_b5, - xpoid_val_medium_size_jis_b6, - xpoid_val_medium_size_jis_b7, - xpoid_val_medium_size_jis_b8, - xpoid_val_medium_size_jis_b9, - xpoid_val_medium_size_jis_b10 -}; -static XpOidList ValidMediumSizes = { - ValidMediumSizesOids, XpNumber(ValidMediumSizesOids) -}; - -static XpOidDocFmt DefaultDocumentFormat = { - "Postscript", "2", NULL -}; - -static XpOid ValidAvailableCompressionsOids[] = { - xpoid_val_available_compressions_0, - xpoid_val_available_compressions_01, - xpoid_val_available_compressions_02, - xpoid_val_available_compressions_03, - xpoid_val_available_compressions_012, - xpoid_val_available_compressions_013, - xpoid_val_available_compressions_023, - xpoid_val_available_compressions_0123 -}; - -static XpOidList ValidAvailableCompressions = { - ValidAvailableCompressionsOids, XpNumber(ValidAvailableCompressionsOids) -}; - -static XpOid DefaultAvailableCompressionsOids[] = { - xpoid_val_available_compressions_0123, - xpoid_val_available_compressions_0 -}; - -static XpOidList DefaultAvailableCompressions = { - DefaultAvailableCompressionsOids, XpNumber(DefaultAvailableCompressionsOids) -}; - - -/* - * init struct for XpValidate*Pool - */ -XpValidatePoolsRec RasterValidatePoolsRec = { - &ValidContentOrientations, &DefaultContentOrientations, - &ValidDocFormatsSupported, &DefaultDocFormatsSupported, - &ValidInputTrays, &ValidMediumSizes, - &ValidPlexes, &DefaultPlexes, - &ValidPrinterResolutions, &DefaultPrinterResolutions, - &ValidEmbeddedFormatsSupported, &DefaultEmbeddedFormatsSupported, - &ValidListfontsModes, &DefaultListfontsModes, - &ValidRawFormatsSupported, &DefaultRawFormatsSupported, - &ValidSetupProviso, - &DefaultDocumentFormat, - &ValidAvailableCompressions, &DefaultAvailableCompressions -}; diff --git a/xorg-server/hw/xprint/spooler.c b/xorg-server/hw/xprint/spooler.c deleted file mode 100644 index 69b5eed0e..000000000 --- a/xorg-server/hw/xprint/spooler.c +++ /dev/null @@ -1,202 +0,0 @@ -/* -Copyright (c) 2003-2004 Roland Mainz -Copyright (c) 2004 Sun Microsystems, 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 -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. -*/ - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#ifdef __hpux -#include -#endif - -#include "spooler.h" - -/* - * The string LIST_QUEUES_* is fed to a shell to generate an ordered - * list of available printers on the system. These string definitions - * are taken from the file PrintSubSys.C within the code for the - * dtprintinfo program. - */ -#define LIST_QUEUES_AIX4 \ - "lsallq | grep -v '^bsh$' | sort | uniq" - -#define LIST_QUEUES_HPUX \ - "LANG=C lpstat -v | " \ - "awk '" \ - " $2 == \"for\" " \ - " { " \ - " x = match($3, /:/); " \ - " print substr($3, 1, x-1)" \ - " }' | sort | uniq" - -#define LIST_QUEUES_OSF \ - "LANG=C lpstat -v | " \ - "nawk '" \ - " $2 == \"for\" " \ - " { print $4 }' " \ - " | sort | uniq" - -#define LIST_QUEUES_UXP \ - "LANG=C lpstat -v |" \ - "nawk '" \ - " $4 == \"for\" " \ - " { " \ - " x = match($5, /:/); " \ - " print substr($5, 1, x-1)" \ - " }' | sort | uniq" - -/* Support both normal and LPRng output of "lpc status" */ -#define LIST_QUEUES_BSD \ - "PATH=\"${PATH}:/usr/bin:/usr/sbin:/bin:/sbin\"\n" \ - "export PATH\n" \ - \ - "which_tool()\n" \ - "{\n" \ - " echo \"${PATH}\" | tr \":\" \"\n\" | while read i ; do ls -1ad \"${i}/${1}\" 2>/dev/null ; done\n" \ - "}\n" \ - \ - "(\n" \ - "WHICH_LPC=\"`which_tool lpc`\"\n" \ - \ - "if [ \"`which_tool nawk`\" != \"\" ] ; then\n" \ - " NAWK=\"nawk\"\n" \ - "else\n" \ - " NAWK=\"awk\"\n" \ - "fi\n" \ - \ - "[ \"${WHICH_LPC}\" != \"\" ] && (LANG=C lpc status | ${NAWK} '/^[^ ]*:$/ && !/@/ && !/ / { print $1 }' | sed -e /:/s///)\n" \ - "[ \"${WHICH_LPC}\" != \"\" ] && (LANG=C lpc -a status | ${NAWK} '/^[^ ]*@[^ ]/ && !/:$/ { split( $1, name, \"@\" ); print name[1]; }')\n" \ - ") | egrep -v -i \" |^all$\" | sort | uniq" - -#define LIST_QUEUES_SYSV \ - "PATH=\"${PATH}:/usr/bin:/usr/sbin:/bin:/sbin\"\n" \ - "export PATH\n" \ - \ - "which_tool()\n" \ - "{\n" \ - " echo \"${PATH}\" | tr \":\" \"\n\" | while read i ; do ls -1ad \"${i}/${1}\" 2>/dev/null ; done\n" \ - "}\n" \ - \ - "(\n" \ - "WHICH_LPSTAT=\"`which_tool lpstat`\"\n" \ - \ - "if [ \"`which_tool nawk`\" != \"\" ] ; then\n" \ - " NAWK=\"nawk\"\n" \ - "else\n" \ - " NAWK=\"awk\"\n" \ - "fi\n" \ - \ - "[ \"${WHICH_LPSTAT}\" != \"\" ] && (LANG=C lpstat -v | ${NAWK} ' $2 == \"for\" { x = match($3, /:/); print substr($3, 1, x-1) }')\n" \ - ") | egrep -v -i \" |^all$\" | sort | uniq" - -#define LIST_QUEUES_SOLARIS "LANG=C lpget -k description " \ - "`lpstat -v " \ - "| nawk '$2 == \"for\" { x = match($3, /:/); print substr($3, 1,x-1) }' " \ - "| sort -u` " \ - "| nawk -F: ' NF == 2 { name=$1 } " \ - " NF == 1 { sub(\"^.*description\\( - undefined|=\\)\",\"\"); " \ - " printf \"%s\txp-printerattr.descriptor=%s\\n\", name, $1 } '" - -#define LIST_QUEUES_OTHER \ - "LANG=C lpstat -v | " \ - "nawk '" \ - " $2 == \"for\" " \ - " { " \ - " x = match($3, /:/); " \ - " print substr($3, 1, x-1)" \ - " }' | sort | uniq" - -#define DEFAULT_SPOOL_COMMAND_HPUX "/usr/bin/lp -d %printer-name% -o raw -n %copy-count% -t %job-name% %options%" -#define DEFAULT_SPOOL_COMMAND_BSD "/usr/bin/lpr -P %printer-name% -#%copy-count% -T %job-name% %options%" -#define DEFAULT_SPOOL_COMMAND_SYSV "/usr/bin/lp -d %printer-name% -n %copy-count% -t %job-name% %options%" -#define DEFAULT_SPOOL_COMMAND_SOLARIS "/usr/bin/lp -d %printer-name% -n %copy-count% -t %job-name% %options%" -#define DEFAULT_SPOOL_COMMAND_OTHER "/usr/bin/lp -d %printer-name% -n %copy-count% -t %job-name% %options%" - - -/* List of spooler types and the commands used to enumerate - * print queues and submit print jobs */ -XpSpoolerType xpstm[] = -{ - /* OS-specific spoolers */ - { "aix", LIST_QUEUES_AIX4, DEFAULT_SPOOL_COMMAND_OTHER }, - { "aix4", LIST_QUEUES_AIX4, DEFAULT_SPOOL_COMMAND_OTHER }, - { "bsd", LIST_QUEUES_BSD, DEFAULT_SPOOL_COMMAND_BSD }, - { "osf", LIST_QUEUES_OSF, DEFAULT_SPOOL_COMMAND_OTHER }, - { "solaris", LIST_QUEUES_SOLARIS, DEFAULT_SPOOL_COMMAND_SOLARIS }, - { "sysv", LIST_QUEUES_SYSV, DEFAULT_SPOOL_COMMAND_SYSV }, - { "uxp", LIST_QUEUES_UXP, DEFAULT_SPOOL_COMMAND_OTHER }, - /* crossplatform spoolers */ - { "cups", LIST_QUEUES_SYSV, DEFAULT_SPOOL_COMMAND_SYSV }, - { "lprng", LIST_QUEUES_BSD, DEFAULT_SPOOL_COMMAND_BSD }, - /* misc */ - { "other", LIST_QUEUES_OTHER, DEFAULT_SPOOL_COMMAND_OTHER }, - { "none", NULL, NULL }, - { NULL, NULL, NULL } -}; - -/* Used by Init.c and attributes.c */ -XpSpoolerTypePtr spooler_type = NULL; - -XpSpoolerTypePtr XpSpoolerNameToXpSpoolerType(char *name) -{ - XpSpoolerTypePtr curr = xpstm; - - while( curr->name != NULL ) - { - if( !strcasecmp(name, curr->name) ) - return curr; - - curr++; - } - - return NULL; -} - -static char *spooler_namelist = NULL; - -char *XpGetSpoolerTypeNameList(void) -{ - if( spooler_namelist ) - return spooler_namelist; - - return XPDEFAULTSPOOLERNAMELIST; -} - -void XpSetSpoolerTypeNameList(char *namelist) -{ - spooler_namelist = namelist; -} - - diff --git a/xorg-server/hw/xprint/spooler.h b/xorg-server/hw/xprint/spooler.h deleted file mode 100644 index 4e056ceeb..000000000 --- a/xorg-server/hw/xprint/spooler.h +++ /dev/null @@ -1,75 +0,0 @@ - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#ifndef SPOOLER_H -#define SPOOLER_H 1 - -/* -Copyright (c) 2003-2004 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. -*/ - -/* - * Define platform-specific default spooler type - */ -#if defined(sun) -#define XPDEFAULTSPOOLERNAMELIST "solaris" -#elif defined(AIXV4) -#define XPDEFAULTSPOOLERNAMELIST "aix4" -#elif defined(hpux) -#define XPDEFAULTSPOOLERNAMELIST "hpux" -#elif defined(__osf__) -#define XPDEFAULTSPOOLERNAMELIST "osf" -#elif defined(__uxp__) -#define XPDEFAULTSPOOLERNAMELIST "uxp" -#elif defined(CSRG_BASED) || defined(linux) -/* ToDo: This should be "cups:bsd" in the future, but for now - * the search order first-bsd-then-cups is better for backwards - * compatibility. - */ -#define XPDEFAULTSPOOLERNAMELIST "bsd:cups" -#else -#define XPDEFAULTSPOOLERNAMELIST "other" -#endif - -typedef struct -{ - const char *name; - const char *list_queues_command; - const char *spool_command; -} XpSpoolerType, *XpSpoolerTypePtr; - -/* prototypes */ -extern XpSpoolerTypePtr XpSpoolerNameToXpSpoolerType(char *name); -extern void XpSetSpoolerTypeNameList(char *namelist); -extern char *XpGetSpoolerTypeNameList(void); - -/* global vars */ -extern XpSpoolerTypePtr spooler_type; -extern XpSpoolerType xpstm[]; - -#endif /* !SPOOLER_H */ - diff --git a/xorg-server/hw/xquartz/GL/Makefile.am b/xorg-server/hw/xquartz/GL/Makefile.am index 450ee5c5b..8f4478fec 100644 --- a/xorg-server/hw/xquartz/GL/Makefile.am +++ b/xorg-server/hw/xquartz/GL/Makefile.am @@ -10,4 +10,10 @@ AM_CPPFLAGS = \ -I$(top_srcdir)/miext/damage libCGLCore_la_SOURCES = \ - indirect.c + indirect.c \ + capabilities.c \ + visualConfigs.c + +EXTRA_DIST = \ + capabilities.h \ + visualConfigs.h diff --git a/xorg-server/hw/xquartz/GL/Makefile.in b/xorg-server/hw/xquartz/GL/Makefile.in index 893c0123b..d4572abfe 100644 --- a/xorg-server/hw/xquartz/GL/Makefile.in +++ b/xorg-server/hw/xquartz/GL/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -43,7 +43,6 @@ 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 \ @@ -51,16 +50,14 @@ CONFIG_HEADER = $(top_builddir)/include/do-not-use-config.h \ CONFIG_CLEAN_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) libCGLCore_la_LIBADD = -am_libCGLCore_la_OBJECTS = indirect.lo +am_libCGLCore_la_OBJECTS = indirect.lo capabilities.lo \ + visualConfigs.lo libCGLCore_la_OBJECTS = $(am_libCGLCore_la_OBJECTS) DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include 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) \ @@ -75,8 +72,9 @@ ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ -APPDEFAULTDIR = @APPDEFAULTDIR@ APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +APPLE_APPLICATION_ID = @APPLE_APPLICATION_ID@ +APPLE_APPLICATION_NAME = @APPLE_APPLICATION_NAME@ APP_MAN_DIR = @APP_MAN_DIR@ APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ AR = @AR@ @@ -97,10 +95,6 @@ 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@ @@ -122,6 +116,7 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOLT_BASH = @DOLT_BASH@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ @@ -131,18 +126,15 @@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ DSYMUTIL = @DSYMUTIL@ DTRACE = @DTRACE@ -ECHO = @ECHO@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ -FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ -FREETYPE_LIBS = @FREETYPE_LIBS@ GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ GLX_DEFINES = @GLX_DEFINES@ GL_CFLAGS = @GL_CFLAGS@ @@ -161,7 +153,7 @@ KDRIVE_LIBS = @KDRIVE_LIBS@ KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ -LAUNCHD = @LAUNCHD@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ LEX = @LEX@ @@ -175,7 +167,10 @@ LIBTOOL = @LIBTOOL@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LINUXDOC = @LINUXDOC@ +LIPO = @LIPO@ LN_S = @LN_S@ +LTCOMPILE = @LTCOMPILE@ +LTCXXCOMPILE = @LTCXXCOMPILE@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ @@ -187,8 +182,7 @@ MESA_SOURCE = @MESA_SOURCE@ MISC_MAN_DIR = @MISC_MAN_DIR@ MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ MKDIR_P = @MKDIR_P@ -MKFONTDIR = @MKFONTDIR@ -MKFONTSCALE = @MKFONTSCALE@ +NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCCLD = @OBJCCLD@ @@ -197,8 +191,8 @@ OBJCFLAGS = @OBJCFLAGS@ OBJCLINK = @OBJCLINK@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ @@ -231,7 +225,6 @@ VENDOR_NAME = @VENDOR_NAME@ VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ VENDOR_RELEASE = @VENDOR_RELEASE@ VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ XDMCP_CFLAGS = @XDMCP_CFLAGS@ @@ -241,27 +234,12 @@ XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@ XDMX_CFLAGS = @XDMX_CFLAGS@ XDMX_LIBS = @XDMX_LIBS@ XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ XEPHYR_INCS = @XEPHYR_INCS@ XEPHYR_LIBS = @XEPHYR_LIBS@ 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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ @@ -272,10 +250,6 @@ XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ XNEST_LIBS = @XNEST_LIBS@ XNEST_SYS_LIBS = @XNEST_SYS_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_INCS = @XORG_INCS@ XORG_LIBS = @XORG_LIBS@ @@ -284,13 +258,8 @@ XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ XORG_OS = @XORG_OS@ XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_LIBS@ +XPBPROXY_CFLAGS = @XPBPROXY_CFLAGS@ +XPBPROXY_LIBS = @XPBPROXY_LIBS@ XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ XSDL_INCS = @XSDL_INCS@ @@ -323,8 +292,7 @@ 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@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -344,7 +312,6 @@ driverdir = @driverdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ extdir = @extdir@ -ft_config = @ft_config@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ @@ -354,12 +321,12 @@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ -launchagentsdir = @launchagentsdir@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ logdir = @logdir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ moduledir = @moduledir@ @@ -377,8 +344,6 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ noinst_LTLIBRARIES = libCGLCore.la AM_CFLAGS = $(XSERVER_CFLAGS) $(DIX_CFLAGS) AM_CPPFLAGS = \ @@ -391,7 +356,13 @@ AM_CPPFLAGS = \ -I$(top_srcdir)/miext/damage libCGLCore_la_SOURCES = \ - indirect.c + indirect.c \ + capabilities.c \ + visualConfigs.c + +EXTRA_DIST = \ + capabilities.h \ + visualConfigs.h all: all-am @@ -401,8 +372,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ @@ -444,7 +415,9 @@ mostlyclean-compile: distclean-compile: -rm -f *.tab.c +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/capabilities.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/indirect.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/visualConfigs.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @@ -478,7 +451,7 @@ ID: $(HEADERS) $(SOURCES) $(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; nonemtpy = 1; } \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS diff --git a/xorg-server/hw/xquartz/GL/capabilities.c b/xorg-server/hw/xquartz/GL/capabilities.c new file mode 100644 index 000000000..bc3966f4b --- /dev/null +++ b/xorg-server/hw/xquartz/GL/capabilities.c @@ -0,0 +1,559 @@ +/* + * Copyright (c) 2008 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. + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +#include "capabilities.h" + +static void handleBufferModes(struct glCapabilitiesConfig *c, GLint bufferModes) { + if(bufferModes & kCGLStereoscopicBit) { + c->stereo = true; + } + + if(bufferModes & kCGLDoubleBufferBit) { + c->buffers = 2; + } else { + c->buffers = 1; + } +} + +static void handleStencilModes(struct glCapabilitiesConfig *c, GLint smodes) { + int offset = 0; + + if(kCGL0Bit & smodes) + c->stencil_bit_depths[offset++] = 0; + + if(kCGL1Bit & smodes) + c->stencil_bit_depths[offset++] = 1; + + if(kCGL2Bit & smodes) + c->stencil_bit_depths[offset++] = 2; + + if(kCGL3Bit & smodes) + c->stencil_bit_depths[offset++] = 3; + + if(kCGL4Bit & smodes) + c->stencil_bit_depths[offset++] = 4; + + if(kCGL5Bit & smodes) + c->stencil_bit_depths[offset++] = 5; + + if(kCGL6Bit & smodes) + c->stencil_bit_depths[offset++] = 6; + + if(kCGL8Bit & smodes) + c->stencil_bit_depths[offset++] = 8; + + if(kCGL10Bit & smodes) + c->stencil_bit_depths[offset++] = 10; + + if(kCGL12Bit & smodes) + c->stencil_bit_depths[offset++] = 12; + + if(kCGL16Bit & smodes) + c->stencil_bit_depths[offset++] = 16; + + if(kCGL24Bit & smodes) + c->stencil_bit_depths[offset++] = 24; + + if(kCGL32Bit & smodes) + c->stencil_bit_depths[offset++] = 32; + + if(kCGL48Bit & smodes) + c->stencil_bit_depths[offset++] = 48; + + if(kCGL64Bit & smodes) + c->stencil_bit_depths[offset++] = 64; + + if(kCGL96Bit & smodes) + c->stencil_bit_depths[offset++] = 96; + + if(kCGL128Bit & smodes) + c->stencil_bit_depths[offset++] = 128; + + assert(offset < GLCAPS_STENCIL_BIT_DEPTH_BUFFERS); + + c->total_stencil_bit_depths = offset; +} + +static int handleColorAndAccumulation(struct glColorBufCapabilities *c, + GLint cmodes) { + int offset = 0; + + /*1*/ + if(kCGLRGB444Bit & cmodes) { + c[offset].r = 4; + c[offset].g = 4; + c[offset].b = 4; + ++offset; + } + + /*2*/ + if(kCGLARGB4444Bit & cmodes) { + c[offset].a = 4; + c[offset].r = 4; + c[offset].g = 4; + c[offset].b = 4; + c[offset].is_argb = true; + ++offset; + } + + /*3*/ + if(kCGLRGB444A8Bit & cmodes) { + c[offset].r = 4; + c[offset].g = 4; + c[offset].b = 4; + c[offset].a = 8; + ++offset; + } + + /*4*/ + if(kCGLRGB555Bit & cmodes) { + c[offset].r = 5; + c[offset].g = 5; + c[offset].b = 5; + ++offset; + } + + /*5*/ + if(kCGLARGB1555Bit & cmodes) { + c[offset].a = 1; + c[offset].r = 5; + c[offset].g = 5; + c[offset].b = 5; + c[offset].is_argb = true; + ++offset; + } + + /*6*/ + if(kCGLRGB555A8Bit & cmodes) { + c[offset].r = 5; + c[offset].g = 5; + c[offset].b = 5; + c[offset].a = 8; + ++offset; + } + + /*7*/ + if(kCGLRGB565Bit & cmodes) { + c[offset].r = 5; + c[offset].g = 6; + c[offset].b = 5; + ++offset; + } + + /*8*/ + if(kCGLRGB565A8Bit & cmodes) { + c[offset].r = 5; + c[offset].g = 6; + c[offset].b = 5; + c[offset].a = 8; + ++offset; + } + + /*9*/ + if(kCGLRGB888Bit & cmodes) { + c[offset].r = 8; + c[offset].g = 8; + c[offset].b = 8; + ++offset; + } + + /*10*/ + if(kCGLARGB8888Bit & cmodes) { + c[offset].a = 8; + c[offset].r = 8; + c[offset].g = 8; + c[offset].b = 8; + c[offset].is_argb = true; + ++offset; + } + + /*11*/ + if(kCGLRGB888A8Bit & cmodes) { + c[offset].r = 8; + c[offset].g = 8; + c[offset].b = 8; + c[offset].a = 8; + ++offset; + } + +#if 0 + /* + * Disable this path, because some part of libGL, X, or Xplugin + * doesn't work with sizes greater than 8. + * When this is enabled and visuals are chosen using depths + * such as 16, the result is that the windows don't redraw + * and are often white, until a resize. + */ + + /*12*/ + if(kCGLRGB101010Bit & cmodes) { + c[offset].r = 10; + c[offset].g = 10; + c[offset].b = 10; + ++offset; + } + + /*13*/ + if(kCGLARGB2101010Bit & cmodes) { + c[offset].a = 2; + c[offset].r = 10; + c[offset].g = 10; + c[offset].b = 10; + c[offset].is_argb = true; + ++offset; + } + + /*14*/ + if(kCGLRGB101010_A8Bit & cmodes) { + c[offset].r = 10; + c[offset].g = 10; + c[offset].b = 10; + c[offset].a = 8; + ++offset; + } + + /*15*/ + if(kCGLRGB121212Bit & cmodes) { + c[offset].r = 12; + c[offset].g = 12; + c[offset].b = 12; + ++offset; + } + + /*16*/ + if(kCGLARGB12121212Bit & cmodes) { + c[offset].a = 12; + c[offset].r = 12; + c[offset].g = 12; + c[offset].b = 12; + c[offset].is_argb = true; + ++offset; + } + + /*17*/ + if(kCGLRGB161616Bit & cmodes) { + c[offset].r = 16; + c[offset].g = 16; + c[offset].b = 16; + ++offset; + } + + /*18*/ + if(kCGLRGBA16161616Bit & cmodes) { + c[offset].r = 16; + c[offset].g = 16; + c[offset].b = 16; + c[offset].a = 16; + ++offset; + } +#endif + + /* FIXME should we handle the floating point color modes, and if so, how? */ + + return offset; +} + + +static void handleColorModes(struct glCapabilitiesConfig *c, GLint cmodes) { + c->total_color_buffers = handleColorAndAccumulation(c->color_buffers, + cmodes); + + assert(c->total_color_buffers < GLCAPS_COLOR_BUFFERS); +} + +static void handleAccumulationModes(struct glCapabilitiesConfig *c, GLint cmodes) { + c->total_accum_buffers = handleColorAndAccumulation(c->accum_buffers, + cmodes); + assert(c->total_accum_buffers < GLCAPS_COLOR_BUFFERS); +} + +static void handleDepthModes(struct glCapabilitiesConfig *c, GLint dmodes) { + int offset = 0; +#define DEPTH(flag,value) do { \ + if(dmodes & flag) { \ + c->depth_buffers[offset++] = value; \ + } \ + } while(0) + + /*1*/ + DEPTH(kCGL0Bit, 0); + /*2*/ + DEPTH(kCGL1Bit, 1); + /*3*/ + DEPTH(kCGL2Bit, 2); + /*4*/ + DEPTH(kCGL3Bit, 3); + /*5*/ + DEPTH(kCGL4Bit, 4); + /*6*/ + DEPTH(kCGL5Bit, 5); + /*7*/ + DEPTH(kCGL6Bit, 6); + /*8*/ + DEPTH(kCGL8Bit, 8); + /*9*/ + DEPTH(kCGL10Bit, 10); + /*10*/ + DEPTH(kCGL12Bit, 12); + /*11*/ + DEPTH(kCGL16Bit, 16); + /*12*/ + DEPTH(kCGL24Bit, 24); + /*13*/ + DEPTH(kCGL32Bit, 32); + /*14*/ + DEPTH(kCGL48Bit, 48); + /*15*/ + DEPTH(kCGL64Bit, 64); + /*16*/ + DEPTH(kCGL96Bit, 96); + /*17*/ + DEPTH(kCGL128Bit, 128); + +#undef DEPTH + + c->total_depth_buffer_depths = offset; + assert(c->total_depth_buffer_depths < GLCAPS_DEPTH_BUFFERS); +} + +/* Return non-zero if an error occured. */ +static CGLError handleRendererDescriptions(CGLRendererInfoObj info, GLint r, + struct glCapabilitiesConfig *c) { + CGLError err; + GLint accelerated = 0, flags = 0, aux = 0, samplebufs = 0, samples = 0; + + err = CGLDescribeRenderer (info, r, kCGLRPAccelerated, &accelerated); + + if(err) + return err; + + c->accelerated = accelerated; + + /* Buffering modes: single/double, stereo */ + err = CGLDescribeRenderer(info, r, kCGLRPBufferModes, &flags); + + if(err) + return err; + + handleBufferModes(c, flags); + + /* AUX buffers */ + err = CGLDescribeRenderer(info, r, kCGLRPMaxAuxBuffers, &aux); + + if(err) + return err; + + c->aux_buffers = aux; + + + /* Depth buffer size */ + err = CGLDescribeRenderer(info, r, kCGLRPDepthModes, &flags); + + if(err) + return err; + + handleDepthModes(c, flags); + + + /* Multisample buffers */ + err = CGLDescribeRenderer(info, r, kCGLRPMaxSampleBuffers, &samplebufs); + + if(err) + return err; + + c->multisample_buffers = samplebufs; + + + /* Multisample samples per multisample buffer */ + err = CGLDescribeRenderer(info, r, kCGLRPMaxSamples, &samples); + + if(err) + return err; + + c->multisample_samples = samples; + + + /* Stencil bit depths */ + err = CGLDescribeRenderer(info, r, kCGLRPStencilModes, &flags); + + if(err) + return err; + + handleStencilModes(c, flags); + + + /* Color modes (RGB/RGBA depths supported */ + err = CGLDescribeRenderer(info, r, kCGLRPColorModes, &flags); + + if(err) + return err; + + handleColorModes(c, flags); + + err = CGLDescribeRenderer(info, r, kCGLRPAccumModes, &flags); + + if(err) + return err; + + handleAccumulationModes(c, flags); + + return 0; +} + +static void initCapabilities(struct glCapabilities *cap) { + cap->configurations = NULL; + cap->total_configurations = 0; +} + +static void initConfig(struct glCapabilitiesConfig *c) { + int i; + + c->accelerated = false; + c->stereo = false; + c->aux_buffers = 0; + c->buffers = 0; + + c->total_depth_buffer_depths = 0; + + for(i = 0; i < GLCAPS_DEPTH_BUFFERS; ++i) { + c->depth_buffers[i] = GLCAPS_INVALID_DEPTH_VALUE; + } + + c->multisample_buffers = 0; + c->multisample_samples = 0; + + c->total_stencil_bit_depths = 0; + + for(i = 0; i < GLCAPS_STENCIL_BIT_DEPTH_BUFFERS; ++i) { + c->stencil_bit_depths[i] = GLCAPS_INVALID_STENCIL_DEPTH; + } + + c->total_color_buffers = 0; + + for(i = 0; i < GLCAPS_COLOR_BUFFERS; ++i) { + c->color_buffers[i].r = c->color_buffers[i].g = + c->color_buffers[i].b = c->color_buffers[i].a = + GLCAPS_COLOR_BUF_INVALID_VALUE; + c->color_buffers[i].is_argb = false; + } + + c->total_accum_buffers = 0; + + for(i = 0; i < GLCAPS_COLOR_BUFFERS; ++i) { + c->accum_buffers[i].r = c->accum_buffers[i].g = + c->accum_buffers[i].b = c->accum_buffers[i].a = + GLCAPS_COLOR_BUF_INVALID_VALUE; + c->accum_buffers[i].is_argb = false; + } + + c->next = NULL; +} + +void freeGlCapabilities(struct glCapabilities *cap) { + struct glCapabilitiesConfig *conf, *next; + + conf = cap->configurations; + + while(conf) { + next = conf->next; + free(conf); + conf = next; + } + + cap->configurations = NULL; +} + +enum { MAX_DISPLAYS = 3 }; + +/*Return true if an error occured. */ +bool getGlCapabilities(struct glCapabilities *cap) { + CGDirectDisplayID dspys[MAX_DISPLAYS]; + CGDisplayErr err; + CGOpenGLDisplayMask displayMask; + CGDisplayCount i, displayCount = 0; + + initCapabilities(cap); + + err = CGGetActiveDisplayList(MAX_DISPLAYS, dspys, &displayCount); + if(err) { + fprintf(stderr, "CGGetActiveDisplayList error: %s\n", CGLErrorString(err)); + return true; + } + + for(i = 0; i < displayCount; ++i) { + displayMask = CGDisplayIDToOpenGLDisplayMask(dspys[i]); + + CGLRendererInfoObj info; + GLint numRenderers = 0, r, renderCount = 0; + + err = CGLQueryRendererInfo(displayMask, &info, &numRenderers); + + if(err) { + fprintf(stderr, "CGLQueryRendererInfo error: %s\n", CGLErrorString(err)); + fprintf(stderr, "trying to continue...\n"); + continue; + } + + CGLDescribeRenderer(info, 0, kCGLRPRendererCount, &renderCount); + + for(r = 0; r < renderCount; ++r) { + CGLError derr; + struct glCapabilitiesConfig tmpconf, *conf; + + initConfig(&tmpconf); + + derr = handleRendererDescriptions(info, r, &tmpconf); + if(derr) { + fprintf(stderr, "error: %s\n", CGLErrorString(derr)); + fprintf(stderr, "trying to continue...\n"); + continue; + } + + conf = malloc(sizeof(*conf)); + if(NULL == conf) { + perror("malloc"); + abort(); + } + + /* Copy the struct. */ + *conf = tmpconf; + + /* Now link the configuration into the list. */ + conf->next = cap->configurations; + cap->configurations = conf; + } + + CGLDestroyRendererInfo(info); + } + + /* No error occured. We are done. */ + return false; +} diff --git a/xorg-server/hw/xquartz/GL/capabilities.h b/xorg-server/hw/xquartz/GL/capabilities.h new file mode 100644 index 000000000..361856b07 --- /dev/null +++ b/xorg-server/hw/xquartz/GL/capabilities.h @@ -0,0 +1,66 @@ +/* + * Copyright (c) 2008 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. + */ + +#ifndef CAPABILITIES_H +#define CAPABILITIES_H + +#include + +enum { GLCAPS_INVALID_STENCIL_DEPTH = -1 }; +enum { GLCAPS_COLOR_BUF_INVALID_VALUE = -1 }; +enum { GLCAPS_COLOR_BUFFERS = 20 }; +enum { GLCAPS_STENCIL_BIT_DEPTH_BUFFERS = 20 }; +enum { GLCAPS_DEPTH_BUFFERS = 20 }; +enum { GLCAPS_INVALID_DEPTH_VALUE = 1 }; + +struct glColorBufCapabilities { + char r, g, b, a; + bool is_argb; +}; + +struct glCapabilitiesConfig { + bool accelerated; + bool stereo; + int aux_buffers; + int buffers; + int total_depth_buffer_depths; + int depth_buffers[GLCAPS_DEPTH_BUFFERS]; + int multisample_buffers; + int multisample_samples; + int total_stencil_bit_depths; + char stencil_bit_depths[GLCAPS_STENCIL_BIT_DEPTH_BUFFERS]; + int total_color_buffers; + struct glColorBufCapabilities color_buffers[GLCAPS_COLOR_BUFFERS]; + int total_accum_buffers; + struct glColorBufCapabilities accum_buffers[GLCAPS_COLOR_BUFFERS]; + struct glCapabilitiesConfig *next; +}; + +struct glCapabilities { + struct glCapabilitiesConfig *configurations; + int total_configurations; +}; + +bool getGlCapabilities(struct glCapabilities *cap); +void freeGlCapabilities(struct glCapabilities *cap); + +#endif diff --git a/xorg-server/hw/xquartz/GL/indirect.c b/xorg-server/hw/xquartz/GL/indirect.c index 07a9c066a..0a60672b6 100644 --- a/xorg-server/hw/xquartz/GL/indirect.c +++ b/xorg-server/hw/xquartz/GL/indirect.c @@ -1,8 +1,8 @@ /* * GLX implementation that uses Apple's OpenGL.framework - * (Indirect rendering path) + * (Indirect rendering path -- it's also used for some direct mode code too) * - * Copyright (c) 2007 Apple Inc. + * Copyright (c) 2007, 2008, 2009 Apple Inc. * Copyright (c) 2004 Torrey T. Lyons. All Rights Reserved. * Copyright (c) 2002 Greg Parker. All Rights Reserved. * @@ -37,6 +37,13 @@ #include "dri.h" +#include + +/* + * These define seem questionable to me, but I'm not sure why they were here + * in the first place. + */ +#if MAC_OS_X_VERSION_MIN_REQUIRED < 1060 #define GL_EXT_histogram 1 #define GL_EXT_polygon_offset 1 #define GL_SGIS_pixel_texture 1 @@ -53,11 +60,11 @@ #define GL_APPLE_fence 1 #define GL_IBM_multimode_draw_arrays 1 #define GL_EXT_fragment_shader 1 +#endif #include #include -// X11 and X11's glx #include #include #include @@ -76,17 +83,15 @@ #include "x-hash.h" #include "x-list.h" -#include -#define GLAPIENTRYP * +#include "capabilities.h" + typedef unsigned long long GLuint64EXT; typedef long long GLint64EXT; +#include #include -#include "glcontextmodes.h" #include #include -// ggs: needed to call back to glx with visual configs -extern void GlxSetVisualConfigs(int nconfigs, __GLXvisualConfig *configs, void **configprivs); __GLXprovider * GlxGetDRISWrastProvider (void); // Write debugging output, or not @@ -102,35 +107,27 @@ void warn_func(void * p1, char *format, ...); // some prototypes static __GLXscreen * __glXAquaScreenProbe(ScreenPtr pScreen); -static __GLXdrawable * __glXAquaScreenCreateDrawable(__GLXscreen *screen, DrawablePtr pDraw, XID drawId, __GLcontextModes *modes); - -static Bool glAquaInitVisuals(VisualPtr *visualp, DepthPtr *depthp, - int *nvisualp, int *ndepthp, - int *rootDepthp, VisualID *defaultVisp, - unsigned long sizes, int bitsPerRGB); -static void glAquaSetVisualConfigs(int nconfigs, __GLXvisualConfig *configs, - void **privates); +static __GLXdrawable * __glXAquaScreenCreateDrawable(__GLXscreen *screen, DrawablePtr pDraw, int type, XID drawId, __GLXconfig *conf); -static void glAquaResetExtension(void); static void __glXAquaContextDestroy(__GLXcontext *baseContext); static int __glXAquaContextMakeCurrent(__GLXcontext *baseContext); static int __glXAquaContextLoseCurrent(__GLXcontext *baseContext); static int __glXAquaContextForceCurrent(__GLXcontext *baseContext); static int __glXAquaContextCopy(__GLXcontext *baseDst, __GLXcontext *baseSrc, unsigned long mask); -static CGLPixelFormatObj makeFormat(__GLcontextModes *mode); +static CGLPixelFormatObj makeFormat(__GLXconfig *conf); __GLXprovider __glXDRISWRastProvider = { - __glXAquaScreenProbe, - "Core OpenGL", + __glXAquaScreenProbe, + "Core OpenGL", NULL }; __GLXprovider * GlxGetDRISWRastProvider (void) { - GLAQUA_DEBUG_MSG("GlxGetDRISWRastProvider\n"); - return &__glXDRISWRastProvider; + GLAQUA_DEBUG_MSG("GlxGetDRISWRastProvider\n"); + return &__glXDRISWRastProvider; } typedef struct __GLXAquaScreen __GLXAquaScreen; @@ -138,86 +135,77 @@ typedef struct __GLXAquaContext __GLXAquaContext; typedef struct __GLXAquaDrawable __GLXAquaDrawable; struct __GLXAquaScreen { - __GLXscreen base; - int index; + __GLXscreen base; + int index; int num_vis; - __GLcontextModes *modes; }; -static __GLXAquaScreen glAquaScreens[MAXSCREENS]; - struct __GLXAquaContext { - __GLXcontext base; - CGLContextObj ctx; - CGLPixelFormatObj pixelFormat; - xp_surface_id sid; - unsigned isAttached :1; + __GLXcontext base; + CGLContextObj ctx; + CGLPixelFormatObj pixelFormat; + xp_surface_id sid; + unsigned isAttached :1; }; struct __GLXAquaDrawable { - __GLXdrawable base; + __GLXdrawable base; DrawablePtr pDraw; xp_surface_id sid; + __GLXAquaContext *context; }; + static __GLXcontext * __glXAquaScreenCreateContext(__GLXscreen *screen, - __GLcontextModes *modes, + __GLXconfig *conf, __GLXcontext *baseShareContext) { - __GLXAquaContext *context; - __GLXAquaContext *shareContext = (__GLXAquaContext *) baseShareContext; - CGLError gl_err; + __GLXAquaContext *context; + __GLXAquaContext *shareContext = (__GLXAquaContext *) baseShareContext; + CGLError gl_err; - GLAQUA_DEBUG_MSG("glXAquaScreenCreateContext\n"); - - context = malloc (sizeof (__GLXAquaContext)); - if (context == NULL) return NULL; - - memset(context, 0, sizeof *context); - - context->base.pGlxScreen = screen; - context->base.modes = modes; - - context->base.destroy = __glXAquaContextDestroy; - context->base.makeCurrent = __glXAquaContextMakeCurrent; - context->base.loseCurrent = __glXAquaContextLoseCurrent; - context->base.copy = __glXAquaContextCopy; - context->base.forceCurrent = __glXAquaContextForceCurrent; - // context->base.createDrawable = __glXAquaContextCreateDrawable; + GLAQUA_DEBUG_MSG("glXAquaScreenCreateContext\n"); + + context = xalloc (sizeof (__GLXAquaContext)); + + if (context == NULL) + return NULL; - context->pixelFormat = makeFormat(modes); - if (!context->pixelFormat) { - free(context); + memset(context, 0, sizeof *context); + + context->base.pGlxScreen = screen; + + context->base.destroy = __glXAquaContextDestroy; + context->base.makeCurrent = __glXAquaContextMakeCurrent; + context->base.loseCurrent = __glXAquaContextLoseCurrent; + context->base.copy = __glXAquaContextCopy; + context->base.forceCurrent = __glXAquaContextForceCurrent; + /*FIXME verify that the context->base is fully initialized. */ + + context->pixelFormat = makeFormat(conf); + + if (!context->pixelFormat) { + xfree(context); return NULL; - } - - context->ctx = NULL; - gl_err = CGLCreateContext(context->pixelFormat, - shareContext ? shareContext->ctx : NULL, - &context->ctx); + } - if (gl_err != 0) { - ErrorF("CGLCreateContext error: %s\n", CGLErrorString(gl_err)); - CGLDestroyPixelFormat(context->pixelFormat); - free(context); - return NULL; + context->ctx = NULL; + gl_err = CGLCreateContext(context->pixelFormat, + shareContext ? shareContext->ctx : NULL, + &context->ctx); + + if (gl_err != 0) { + ErrorF("CGLCreateContext error: %s\n", CGLErrorString(gl_err)); + CGLDestroyPixelFormat(context->pixelFormat); + xfree(context); + return NULL; } - setup_dispatch_table(); + + setup_dispatch_table(); GLAQUA_DEBUG_MSG("glAquaCreateContext done\n"); - return &context->base; -} - -static __GLXextensionInfo __glDDXExtensionInfo = { - GL_CORE_APPLE, - glAquaResetExtension, - glAquaInitVisuals, - glAquaSetVisualConfigs -}; - -void *__glXglDDXExtensionInfo(void) { - GLAQUA_DEBUG_MSG("glXAglDDXExtensionInfo\n"); - return &__glDDXExtensionInfo; + + return &context->base; } /* maps from surface id -> list of __GLcontext */ @@ -227,21 +215,23 @@ static void __glXAquaContextDestroy(__GLXcontext *baseContext) { x_list *lst; __GLXAquaContext *context = (__GLXAquaContext *) baseContext; - + GLAQUA_DEBUG_MSG("glAquaContextDestroy (ctx 0x%x)\n", (unsigned int) baseContext); if (context != NULL) { if (context->sid != 0 && surface_hash != NULL) { - lst = x_hash_table_lookup(surface_hash, (void *) context->sid, NULL); + lst = x_hash_table_lookup(surface_hash, x_cvt_uint_to_vptr(context->sid), NULL); lst = x_list_remove(lst, context); - x_hash_table_insert(surface_hash, (void *) context->sid, lst); + x_hash_table_insert(surface_hash, x_cvt_uint_to_vptr(context->sid), lst); } - if (context->ctx != NULL) CGLDestroyContext(context->ctx); + if (context->ctx != NULL) + CGLDestroyContext(context->ctx); - if (context->pixelFormat != NULL) CGLDestroyPixelFormat(context->pixelFormat); + if (context->pixelFormat != NULL) + CGLDestroyPixelFormat(context->pixelFormat); - free(context); + xfree(context); } } @@ -266,79 +256,95 @@ static void surface_notify(void *_arg, void *data) { __GLXAquaDrawable *draw = (__GLXAquaDrawable *)data; __GLXAquaContext *context; x_list *lst; - if(_arg == NULL || data == NULL) { - ErrorF("surface_notify called with bad params"); - return; - } + if(_arg == NULL || data == NULL) { + ErrorF("surface_notify called with bad params"); + return; + } GLAQUA_DEBUG_MSG("surface_notify(%p, %p)\n", _arg, data); switch (arg->kind) { case AppleDRISurfaceNotifyDestroyed: if (surface_hash != NULL) - x_hash_table_remove(surface_hash, (void *) arg->id); - draw->base.pDraw = NULL; - draw->sid = 0; + x_hash_table_remove(surface_hash, x_cvt_uint_to_vptr(arg->id)); + draw->base.pDraw = NULL; + draw->sid = 0; break; case AppleDRISurfaceNotifyChanged: if (surface_hash != NULL) { - lst = x_hash_table_lookup(surface_hash, (void *) arg->id, NULL); + lst = x_hash_table_lookup(surface_hash, x_cvt_uint_to_vptr(arg->id), NULL); for (; lst != NULL; lst = lst->next) - { + { context = lst->data; xp_update_gl_context(context->ctx); } } break; - default: - ErrorF("surface_notify: unknown kind %d\n", arg->kind); - break; + default: + ErrorF("surface_notify: unknown kind %d\n", arg->kind); + break; } } -static void attach(__GLXAquaContext *context, __GLXAquaDrawable *draw) { +static BOOL attach(__GLXAquaContext *context, __GLXAquaDrawable *draw) { DrawablePtr pDraw; - GLAQUA_DEBUG_MSG("attach(%p, %p)\n", context, draw); + + GLAQUA_DEBUG_MSG("attach(%p, %p)\n", context, draw); + + if(NULL == context || NULL == draw) + return TRUE; + pDraw = draw->base.pDraw; + if(NULL == pDraw) { + ErrorF("%s:%s() pDraw is NULL!\n", __FILE__, __func__); + return TRUE; + } + if (draw->sid == 0) { -// if (!quartzProcs->CreateSurface(pDraw->pScreen, pDraw->id, pDraw, + //if (!quartzProcs->CreateSurface(pDraw->pScreen, pDraw->id, pDraw, if (!DRICreateSurface(pDraw->pScreen, pDraw->id, pDraw, - 0, &draw->sid, NULL, - surface_notify, draw)) - return; + 0, &draw->sid, NULL, + surface_notify, draw)) + return TRUE; draw->pDraw = pDraw; - } - + } + if (!context->isAttached || context->sid != draw->sid) { x_list *lst; - + if (xp_attach_gl_context(context->ctx, draw->sid) != Success) { -// quartzProcs->DestroySurface(pDraw->pScreen, pDraw->id, pDraw, + //quartzProcs->DestroySurface(pDraw->pScreen, pDraw->id, pDraw, DRIDestroySurface(pDraw->pScreen, pDraw->id, pDraw, - surface_notify, draw); + surface_notify, draw); if (surface_hash != NULL) - x_hash_table_remove(surface_hash, (void *) draw->sid); - + x_hash_table_remove(surface_hash, x_cvt_uint_to_vptr(draw->sid)); + draw->sid = 0; - return; + return TRUE; } - + context->isAttached = TRUE; context->sid = draw->sid; - + if (surface_hash == NULL) surface_hash = x_hash_table_new(NULL, NULL, NULL, NULL); - - lst = x_hash_table_lookup(surface_hash, (void *) context->sid, NULL); + + lst = x_hash_table_lookup(surface_hash, x_cvt_uint_to_vptr(context->sid), NULL); if (x_list_find(lst, context) == NULL) { lst = x_list_prepend(lst, context); - x_hash_table_insert(surface_hash, (void *) context->sid, lst); + x_hash_table_insert(surface_hash, x_cvt_uint_to_vptr(context->sid), lst); } + + GLAQUA_DEBUG_MSG("attached 0x%x to 0x%x\n", (unsigned int) pDraw->id, (unsigned int) draw->sid); } + + draw->context = context; + + return FALSE; } #if 0 // unused @@ -368,11 +374,12 @@ static void unattach(__GLXAquaContext *context) { static int __glXAquaContextMakeCurrent(__GLXcontext *baseContext) { CGLError gl_err; __GLXAquaContext *context = (__GLXAquaContext *) baseContext; - __GLXAquaDrawable *drawPriv = (__GLXAquaDrawable *) context->base.drawPriv; - + __GLXAquaDrawable *drawPriv = (__GLXAquaDrawable *) context->base.drawPriv; + GLAQUA_DEBUG_MSG("glAquaMakeCurrent (ctx 0x%p)\n", baseContext); - attach(context, drawPriv); + if(attach(context, drawPriv)) + return /*error*/ 0; gl_err = CGLSetCurrentContext(context->ctx); if (gl_err != 0) @@ -412,797 +419,388 @@ static int __glXAquaContextForceCurrent(__GLXcontext *baseContext) /* Drawing surface notification callbacks */ -static GLboolean __glXAquaDrawableResize(__GLXdrawable *base) { - GLAQUA_DEBUG_MSG("unimplemented glAquaDrawableResize\n"); - return GL_TRUE; -} - static GLboolean __glXAquaDrawableSwapBuffers(__GLXdrawable *base) { - CGLError gl_err; - __GLXAquaContext * drawableCtx; -// GLAQUA_DEBUG_MSG("glAquaDrawableSwapBuffers(%p)\n",base); + CGLError err; + __GLXAquaDrawable *drawable; + + // GLAQUA_DEBUG_MSG("glAquaDrawableSwapBuffers(%p)\n",base); - if(!base) { - ErrorF("glXAquaDrawbleSwapBuffers passed NULL\n"); - return GL_FALSE; - } - - drawableCtx = (__GLXAquaContext *)base->drawGlxc; - - if (drawableCtx != NULL && drawableCtx->ctx != NULL) { - gl_err = CGLFlushDrawable(drawableCtx->ctx); - if (gl_err != 0) - ErrorF("CGLFlushDrawable error: %s\n", CGLErrorString(gl_err)); + if(!base) { + ErrorF("%s passed NULL\n", __func__); + return GL_FALSE; } - return GL_TRUE; -} -static CGLPixelFormatObj makeFormat(__GLcontextModes *mode) { - int i; - CGLPixelFormatAttribute attr[64]; // currently uses max of 30 - CGLPixelFormatObj result; - GLint n_formats; - CGLError gl_err; - - GLAQUA_DEBUG_MSG("makeFormat\n"); - - if (!mode->rgbMode) - return NULL; - - i = 0; - - // attr [i++] = kCGLPFAAcelerated; // require hwaccel - BAD for multiscreen - // attr [i++] = kCGLPFANoRecovery; // disable fallback renderers - BAD - - if (mode->stereoMode) { - attr[i++] = kCGLPFAStereo; - } - if (mode->doubleBufferMode) { - attr[i++] = kCGLPFADoubleBuffer; - } + drawable = (__GLXAquaDrawable *)base; - if (mode->colorIndexMode) { - /* ignored */ + if(NULL == drawable->context) { + ErrorF("%s called with a NULL->context for drawable %p!\n", + __func__, (void *)drawable); + return GL_FALSE; } - if (mode->rgbMode) { - attr[i++] = kCGLPFAColorSize; - attr[i++] = mode->redBits + mode->greenBits + mode->blueBits; - attr[i++] = kCGLPFAAlphaSize; - attr[i++] = 1; /* FIXME: ignoring mode->alphaBits which is always 0 */ - } + err = CGLFlushDrawable(drawable->context->ctx); - if (mode->haveAccumBuffer) { - attr[i++] = kCGLPFAAccumSize; - attr[i++] = mode->accumRedBits + mode->accumGreenBits - + mode->accumBlueBits + mode->accumAlphaBits; - } - - if (mode->haveDepthBuffer) { - attr[i++] = kCGLPFADepthSize; - attr[i++] = mode->depthBits; + if(kCGLNoError != err) { + ErrorF("CGLFlushDrawable error: %s in %s\n", CGLErrorString(err), + __func__); + return GL_FALSE; } - - if (mode->haveStencilBuffer) { - attr[i++] = kCGLPFAStencilSize; - attr[i++] = mode->stencilBits; - } - - attr[i++] = kCGLPFAAuxBuffers; - attr[i++] = mode->numAuxBuffers; - - /* mode->level ignored */ - - /* mode->pixmapMode ? */ - - attr[i++] = 0; - - GLAQUA_DEBUG_MSG("makeFormat almost done\n"); - - result = NULL; - gl_err = CGLChoosePixelFormat(attr, &result, &n_formats); - if (gl_err != 0) - ErrorF("CGLChoosePixelFormat error: %s\n", CGLErrorString(gl_err)); - - GLAQUA_DEBUG_MSG("makeFormat done (0x%x)\n", (unsigned int) result); - return result; + return GL_TRUE; } -// Originally copied from Mesa - -static int numConfigs = 0; -static __GLXvisualConfig *visualConfigs = NULL; -static void **visualPrivates = NULL; - -/* - * In the case the driver defines no GLX visuals we'll use these. - * Note that for TrueColor and DirectColor visuals, bufferSize is the - * sum of redSize, greenSize, blueSize and alphaSize, which may be larger - * than the nplanes/rootDepth of the server's X11 visuals - */ -#define NUM_FALLBACK_CONFIGS 5 -static __GLXvisualConfig FallbackConfigs[NUM_FALLBACK_CONFIGS] = { - /* [0] = RGB, double buffered, Z */ - { - -1, /* vid */ - -1, /* class */ - True, /* rgba */ - -1, -1, -1, 0, /* rgba sizes */ - -1, -1, -1, 0, /* rgba masks */ - 0, 0, 0, 0, /* rgba accum sizes */ - True, /* doubleBuffer */ - False, /* stereo */ - -1, /* bufferSize */ - 16, /* depthSize */ - 0, /* stencilSize */ - 0, /* auxBuffers */ - 0, /* level */ - GLX_NONE, /* visualRating */ - GLX_NONE, /* transparentPixel */ - 0, 0, 0, 0, /* transparent rgba color (floats scaled to ints) */ - 0 /* transparentIndex */ - }, - /* [1] = RGB, double buffered, Z, stencil, accum */ - { - -1, /* vid */ - -1, /* class */ - True, /* rgba */ - -1, -1, -1, 0, /* rgba sizes */ - -1, -1, -1, 0, /* rgba masks */ - 16, 16, 16, 0, /* rgba accum sizes */ - True, /* doubleBuffer */ - False, /* stereo */ - -1, /* bufferSize */ - 16, /* depthSize */ - 8, /* stencilSize */ - 0, /* auxBuffers */ - 0, /* level */ - GLX_NONE, /* visualRating */ - GLX_NONE, /* transparentPixel */ - 0, 0, 0, 0, /* transparent rgba color (floats scaled to ints) */ - 0 /* transparentIndex */ - }, - /* [2] = RGB+Alpha, double buffered, Z, stencil, accum */ - { - -1, /* vid */ - -1, /* class */ - True, /* rgba */ - -1, -1, -1, 8, /* rgba sizes */ - -1, -1, -1, -1, /* rgba masks */ - 16, 16, 16, 16, /* rgba accum sizes */ - True, /* doubleBuffer */ - False, /* stereo */ - -1, /* bufferSize */ - 16, /* depthSize */ - 8, /* stencilSize */ - 0, /* auxBuffers */ - 0, /* level */ - GLX_NONE, /* visualRating */ - GLX_NONE, /* transparentPixel */ - 0, 0, 0, 0, /* transparent rgba color (floats scaled to ints) */ - 0 /* transparentIndex */ - }, - /* [3] = RGB+Alpha, single buffered, Z, stencil, accum */ - { - -1, /* vid */ - -1, /* class */ - True, /* rgba */ - -1, -1, -1, 8, /* rgba sizes */ - -1, -1, -1, -1, /* rgba masks */ - 16, 16, 16, 16, /* rgba accum sizes */ - False, /* doubleBuffer */ - False, /* stereo */ - -1, /* bufferSize */ - 16, /* depthSize */ - 8, /* stencilSize */ - 0, /* auxBuffers */ - 0, /* level */ - GLX_NONE, /* visualRating */ - GLX_NONE, /* transparentPixel */ - 0, 0, 0, 0, /* transparent rgba color (floats scaled to ints) */ - 0 /* transparentIndex */ - }, - /* [4] = CI, double buffered, Z */ - { - -1, /* vid */ - -1, /* class */ - False, /* rgba? (false = color index) */ - -1, -1, -1, 0, /* rgba sizes */ - -1, -1, -1, 0, /* rgba masks */ - 0, 0, 0, 0, /* rgba accum sizes */ - True, /* doubleBuffer */ - False, /* stereo */ - -1, /* bufferSize */ - 16, /* depthSize */ - 0, /* stencilSize */ - 0, /* auxBuffers */ - 0, /* level */ - GLX_NONE, /* visualRating */ - GLX_NONE, /* transparentPixel */ - 0, 0, 0, 0, /* transparent rgba color (floats scaled to ints) */ - 0 /* transparentIndex */ - }, -}; - -static __GLXvisualConfig NullConfig = { - -1, /* vid */ - -1, /* class */ - False, /* rgba */ - -1, -1, -1, 0, /* rgba sizes */ - -1, -1, -1, 0, /* rgba masks */ - 0, 0, 0, 0, /* rgba accum sizes */ - False, /* doubleBuffer */ - False, /* stereo */ - -1, /* bufferSize */ - 16, /* depthSize */ - 0, /* stencilSize */ - 0, /* auxBuffers */ - 0, /* level */ - GLX_NONE_EXT, /* visualRating */ - 0, /* transparentPixel */ - 0, 0, 0, 0, /* transparent rgba color (floats scaled to ints) */ - 0 /* transparentIndex */ -}; +static CGLPixelFormatObj makeFormat(__GLXconfig *conf) { + CGLPixelFormatAttribute attr[64]; + CGLPixelFormatObj fobj; + GLint formats; + CGLError error; + int i = 0; + + if(conf->doubleBufferMode) + attr[i++] = kCGLPFADoubleBuffer; -static inline int count_bits(uint32_t x) -{ - x = x - ((x >> 1) & 0x55555555); - x = (x & 0x33333333) + ((x >> 2) & 0x33333333); - x = (x + (x >> 4)) & 0x0f0f0f0f; - x = x + (x >> 8); - x = x + (x >> 16); - return x & 63; -} + if(conf->stereoMode) + attr[i++] = kCGLPFAStereo; + attr[i++] = kCGLPFAColorSize; + attr[i++] = conf->redBits + conf->greenBits + conf->blueBits; + attr[i++] = kCGLPFAAlphaSize; + attr[i++] = conf->alphaBits; -static Bool init_visuals(int *nvisualp, VisualPtr *visualp, - VisualID *defaultVisp, - int ndepth, DepthPtr pdepth, - int rootDepth) -{ - int numRGBconfigs; - int numCIconfigs; - int numVisuals = *nvisualp; - int numNewVisuals; - int numNewConfigs; - VisualPtr pVisual = *visualp; - VisualPtr pVisualNew = NULL; - VisualID *orig_vid = NULL; - __GLcontextModes *modes; - __GLXvisualConfig *pNewVisualConfigs = NULL; - void **glXVisualPriv; - void **pNewVisualPriv; - int found_default; - int i, j, k; - - GLAQUA_DEBUG_MSG("init_visuals\n"); - - if (numConfigs > 0) - numNewConfigs = numConfigs; - else - numNewConfigs = NUM_FALLBACK_CONFIGS; - - /* Alloc space for the list of new GLX visuals */ - pNewVisualConfigs = (__GLXvisualConfig *) - malloc(numNewConfigs * sizeof(__GLXvisualConfig)); - if (!pNewVisualConfigs) { - return FALSE; - } + if((conf->accumRedBits + conf->accumGreenBits + conf->accumBlueBits + + conf->accumAlphaBits) > 0) { - /* Alloc space for the list of new GLX visual privates */ - pNewVisualPriv = (void **) malloc(numNewConfigs * sizeof(void *)); - if (!pNewVisualPriv) { - free(pNewVisualConfigs); - return FALSE; + attr[i++] = kCGLPFAAccumSize; + attr[i++] = conf->accumRedBits + conf->accumGreenBits + + conf->accumBlueBits + conf->accumAlphaBits; } + + attr[i++] = kCGLPFADepthSize; + attr[i++] = conf->depthBits; - /* - ** If SetVisualConfigs was not called, then use default GLX - ** visual configs. - */ - if (numConfigs == 0) { - memcpy(pNewVisualConfigs, FallbackConfigs, - NUM_FALLBACK_CONFIGS * sizeof(__GLXvisualConfig)); - memset(pNewVisualPriv, 0, NUM_FALLBACK_CONFIGS * sizeof(void *)); + if(conf->stencilBits) { + attr[i++] = kCGLPFAStencilSize; + attr[i++] = conf->stencilBits; } - else { - /* copy driver's visual config info */ - for (i = 0; i < numConfigs; i++) { - pNewVisualConfigs[i] = visualConfigs[i]; - pNewVisualPriv[i] = visualPrivates[i]; - } - } - - /* Count the number of RGB and CI visual configs */ - numRGBconfigs = 0; - numCIconfigs = 0; - for (i = 0; i < numNewConfigs; i++) { - if (pNewVisualConfigs[i].rgba) - numRGBconfigs++; - else - numCIconfigs++; + + if(conf->numAuxBuffers > 0) { + attr[i++] = kCGLPFAAuxBuffers; + attr[i++] = conf->numAuxBuffers; } - /* Count the total number of visuals to compute */ - numNewVisuals = 0; - for (i = 0; i < numVisuals; i++) { - int count; - - count = ((pVisual[i].class == TrueColor || - pVisual[i].class == DirectColor) - ? numRGBconfigs : numCIconfigs); - if (count == 0) - count = 1; /* preserve the existing visual */ - - numNewVisuals += count; + if(conf->sampleBuffers > 0) { + attr[i++] = kCGLPFASampleBuffers; + attr[i++] = conf->sampleBuffers; + attr[i++] = kCGLPFASamples; + attr[i++] = conf->samples; } + + attr[i++] = 0; - /* Reset variables for use with the next screen/driver's visual configs */ - visualConfigs = NULL; - numConfigs = 0; - - /* Alloc temp space for the list of orig VisualIDs for each new visual */ - orig_vid = (VisualID *)malloc(numNewVisuals * sizeof(VisualID)); - if (!orig_vid) { - free(pNewVisualPriv); - free(pNewVisualConfigs); - return FALSE; + error = CGLChoosePixelFormat(attr, &fobj, &formats); + if(error) { + ErrorF("error: creating pixel format %s\n", CGLErrorString(error)); + return NULL; } - /* Alloc space for the list of glXVisuals */ - modes = _gl_context_modes_create(numNewVisuals, sizeof(__GLcontextModes)); - if (modes == NULL) { - free(orig_vid); - free(pNewVisualPriv); - free(pNewVisualConfigs); - return FALSE; - } + return fobj; +} - /* Alloc space for the list of glXVisualPrivates */ - glXVisualPriv = (void **)malloc(numNewVisuals * sizeof(void *)); - if (!glXVisualPriv) { - _gl_context_modes_destroy( modes ); - free(orig_vid); - free(pNewVisualPriv); - free(pNewVisualConfigs); - return FALSE; - } +static void __glXAquaScreenDestroy(__GLXscreen *screen) { - /* Alloc space for the new list of the X server's visuals */ - pVisualNew = (VisualPtr)malloc(numNewVisuals * sizeof(VisualRec)); - if (!pVisualNew) { - free(glXVisualPriv); - _gl_context_modes_destroy( modes ); - free(orig_vid); - free(pNewVisualPriv); - free(pNewVisualConfigs); - return FALSE; - } + GLAQUA_DEBUG_MSG("glXAquaScreenDestroy(%p)\n", screen); + __glXScreenDestroy(screen); - /* Initialize the new visuals */ - found_default = FALSE; - glAquaScreens[screenInfo.numScreens-1].modes = modes; - for (i = j = 0; i < numVisuals; i++) { - int is_rgb = (pVisual[i].class == TrueColor || - pVisual[i].class == DirectColor); - - if (!is_rgb) - { - /* We don't support non-rgb visuals for GL. But we don't - want to remove them either, so just pass them through - with null glX configs */ - - pVisualNew[j] = pVisual[i]; - pVisualNew[j].vid = FakeClientID(0); - - /* Check for the default visual */ - if (!found_default && pVisual[i].vid == *defaultVisp) { - *defaultVisp = pVisualNew[j].vid; - found_default = TRUE; - } + xfree(screen); +} - /* Save the old VisualID */ - orig_vid[j] = pVisual[i].vid; +static __GLXconfig *CreateConfigs(int *numConfigsPtr, int screenNumber) { + __GLXconfig *c, *result; + struct glCapabilities cap; + struct glCapabilitiesConfig *conf = NULL; + int numConfigs = 0; + int i; - /* Initialize the glXVisual */ - _gl_copy_visual_to_context_mode( modes, & NullConfig ); - modes->visualID = pVisualNew[j].vid; + if(getGlCapabilities(&cap)) + FatalError("error from getGlCapabilities() in %s\n", __func__); - j++; + assert(NULL != cap.configurations); + for(conf = cap.configurations; conf; conf = conf->next) { + if(conf->total_color_buffers <= 0) continue; - } - - for (k = 0; k < numNewConfigs; k++) { - if (pNewVisualConfigs[k].rgba != is_rgb) - continue; - - assert( modes != NULL ); - - /* Initialize the new visual */ - pVisualNew[j] = pVisual[i]; - pVisualNew[j].vid = FakeClientID(0); - - /* Check for the default visual */ - if (!found_default && pVisual[i].vid == *defaultVisp) { - *defaultVisp = pVisualNew[j].vid; - found_default = TRUE; - } - - /* Save the old VisualID */ - orig_vid[j] = pVisual[i].vid; - - /* Initialize the glXVisual */ - _gl_copy_visual_to_context_mode( modes, & pNewVisualConfigs[k] ); - modes->visualID = pVisualNew[j].vid; - - /* - * If the class is -1, then assume the X visual information - * is identical to what GLX needs, and take them from the X - * visual. NOTE: if class != -1, then all other fields MUST - * be initialized. - */ - if (modes->visualType == GLX_NONE) { - modes->visualType = _gl_convert_from_x_visual_type( pVisual[i].class ); - modes->redBits = count_bits(pVisual[i].redMask); - modes->greenBits = count_bits(pVisual[i].greenMask); - modes->blueBits = count_bits(pVisual[i].blueMask); - modes->alphaBits = modes->alphaBits; - modes->redMask = pVisual[i].redMask; - modes->greenMask = pVisual[i].greenMask; - modes->blueMask = pVisual[i].blueMask; - modes->alphaMask = modes->alphaMask; - modes->rgbBits = (is_rgb) - ? (modes->redBits + modes->greenBits + - modes->blueBits + modes->alphaBits) - : rootDepth; - } - - /* Save the device-dependent private for this visual */ - glXVisualPriv[j] = pNewVisualPriv[k]; - j++; - modes = modes->next; - } - } - - assert(j <= numNewVisuals); - - /* Save the GLX visuals in the screen structure */ - glAquaScreens[screenInfo.numScreens-1].num_vis = numNewVisuals; - // glAquaScreens[screenInfo.numScreens-1].priv = glXVisualPriv; - - /* set up depth's VisualIDs */ - for (i = 0; i < ndepth; i++) { - int numVids = 0; - VisualID *pVids = NULL; - int k, n = 0; - - /* Count the new number of VisualIDs at this depth */ - for (j = 0; j < pdepth[i].numVids; j++) - for (k = 0; k < numNewVisuals; k++) - if (pdepth[i].vids[j] == orig_vid[k]) - numVids++; - - /* Allocate a new list of VisualIDs for this depth */ - pVids = (VisualID *)malloc(numVids * sizeof(VisualID)); - - /* Initialize the new list of VisualIDs for this depth */ - for (j = 0; j < pdepth[i].numVids; j++) - for (k = 0; k < numNewVisuals; k++) - if (pdepth[i].vids[j] == orig_vid[k]) - pVids[n++] = pVisualNew[k].vid; - - /* Update this depth's list of VisualIDs */ - free(pdepth[i].vids); - pdepth[i].vids = pVids; - pdepth[i].numVids = numVids; + numConfigs += (conf->stereo ? 2 : 1) + * (conf->aux_buffers ? 2 : 1) + * conf->buffers + * ((conf->total_stencil_bit_depths > 0) ? + conf->total_stencil_bit_depths : 1) + * conf->total_color_buffers + * ((conf->total_accum_buffers > 0) ? conf->total_accum_buffers : 1) + * conf->total_depth_buffer_depths + * (conf->multisample_buffers + 1); } - /* Update the X server's visuals */ - *nvisualp = numNewVisuals; - *visualp = pVisualNew; - - /* Free the old list of the X server's visuals */ - free(pVisual); - - /* Clean up temporary allocations */ - free(orig_vid); - free(pNewVisualPriv); - free(pNewVisualConfigs); - - /* Free the private list created by DDX HW driver */ - if (visualPrivates) - free(visualPrivates); - visualPrivates = NULL; + *numConfigsPtr = numConfigs; + + c = xalloc(sizeof(*c) * numConfigs); + + if(NULL == c) + return NULL; - return TRUE; -} + -Bool enable_stereo = FALSE; -/* based on code in i830_dri.c - This ends calling glAquaSetVisualConfigs to set the static - numconfigs, etc. */ -static void -glAquaInitVisualConfigs(void) -{ - int lclNumConfigs = 0; - __GLXvisualConfig *lclVisualConfigs = NULL; - void **lclVisualPrivates = NULL; + result = c; + + memset(result, 0, sizeof(*c) * numConfigs); - int stereo, depth, aux, buffers, stencil, accum; - int i = 0; + i = 0; - GLAQUA_DEBUG_MSG("glAquaInitVisualConfigs "); - - /* count num configs: - 2 stereo (on, off) (optional) - 2 Z buffer (0, 24 bit) - 2 AUX buffer (0, 2) - 2 buffers (single, double) - 2 stencil (0, 8 bit) - 2 accum (0, 64 bit) - = 64 configs with stereo, or 32 without */ - - if (enable_stereo) lclNumConfigs = 2 * 2 * 2 * 2 * 2 * 2; /* 64 */ - else lclNumConfigs = 2 * 2 * 2 * 2 * 2; /* 32 */ - - /* alloc */ - lclVisualConfigs = xcalloc(sizeof(__GLXvisualConfig), lclNumConfigs); - lclVisualPrivates = xcalloc(sizeof(void *), lclNumConfigs); - - /* fill in configs */ - if (NULL != lclVisualConfigs) { - i = 0; /* current buffer */ - for (stereo = 0; stereo < (enable_stereo ? 2 : 1); stereo++) { - for (depth = 0; depth < 2; depth++) { - for (aux = 0; aux < 2; aux++) { - for (buffers = 0; buffers < 2; buffers++) { - for (stencil = 0; stencil < 2; stencil++) { - for (accum = 0; accum < 2; accum++) { - lclVisualConfigs[i].vid = -1; - lclVisualConfigs[i].class = -1; - lclVisualConfigs[i].rgba = TRUE; - lclVisualConfigs[i].redSize = -1; - lclVisualConfigs[i].greenSize = -1; - lclVisualConfigs[i].blueSize = -1; - lclVisualConfigs[i].redMask = -1; - lclVisualConfigs[i].greenMask = -1; - lclVisualConfigs[i].blueMask = -1; - lclVisualConfigs[i].alphaMask = 0; - if (accum) { - lclVisualConfigs[i].accumRedSize = 16; - lclVisualConfigs[i].accumGreenSize = 16; - lclVisualConfigs[i].accumBlueSize = 16; - lclVisualConfigs[i].accumAlphaSize = 16; - } else { - lclVisualConfigs[i].accumRedSize = 0; - lclVisualConfigs[i].accumGreenSize = 0; - lclVisualConfigs[i].accumBlueSize = 0; - lclVisualConfigs[i].accumAlphaSize = 0; + for(conf = cap.configurations; conf; conf = conf->next) { + int stereo, aux, buffers, stencil, color, accum, depth, msample; + + for(stereo = 0; stereo < (conf->stereo ? 2 : 1); ++stereo) { + for(aux = 0; aux < (conf->aux_buffers ? 2 : 1); ++aux) { + for(buffers = 0; buffers < conf->buffers; ++buffers) { + for(stencil = 0; stencil < ((conf->total_stencil_bit_depths > 0) ? + conf->total_stencil_bit_depths : 1); ++stencil) { + for(color = 0; color < conf->total_color_buffers; ++color) { + for(accum = 0; accum < ((conf->total_accum_buffers > 0) ? + conf->total_accum_buffers : 1); ++accum) { + for(depth = 0; depth < conf->total_depth_buffer_depths; ++depth) { + for(msample = 0; msample < (conf->multisample_buffers + 1); ++msample) { + if((i + 1) < numConfigs) { + c->next = c + 1; + } else { + c->next = NULL; + } + + c->doubleBufferMode = buffers ? GL_TRUE : GL_FALSE; + c->stereoMode = stereo ? GL_TRUE : GL_FALSE; + + c->redBits = conf->color_buffers[color].r; + c->greenBits = conf->color_buffers[color].g; + c->blueBits = conf->color_buffers[color].b; + c->alphaBits = 0; + + if(GLCAPS_COLOR_BUF_INVALID_VALUE != conf->color_buffers[color].a) { + c->alphaBits = conf->color_buffers[color].a; + } + + c->redMask = -1; + c->greenMask = -1; + c->blueMask = -1; + c->alphaMask = -1; + + c->rgbBits = c->redBits + c->greenBits + c->blueBits + c->alphaBits; + c->indexBits = 0; + + c->accumRedBits = 0; + c->accumGreenBits = 0; + c->accumBlueBits = 0; + c->accumAlphaBits = 0; + + if(conf->total_accum_buffers > 0) { + c->accumRedBits = conf->accum_buffers[accum].r; + c->accumGreenBits = conf->accum_buffers[accum].g; + c->accumBlueBits = conf->accum_buffers[accum].b; + if(GLCAPS_COLOR_BUF_INVALID_VALUE != conf->accum_buffers[accum].a) { + c->accumAlphaBits = conf->accum_buffers[accum].a; + } + } + + c->depthBits = conf->depth_buffers[depth]; + + c->stencilBits = 0; + + if(conf->total_stencil_bit_depths > 0) { + c->stencilBits = conf->stencil_bit_depths[stencil]; + } + + + c->numAuxBuffers = aux ? conf->aux_buffers : 0; + + c->level = 0; + /*TODO what should this be? */ + c->pixmapMode = 0; + + c->visualID = -1; + c->visualType = GLX_TRUE_COLOR; + + if(conf->accelerated) { + c->visualRating = GLX_NONE; + } else { + c->visualRating = GLX_SLOW_VISUAL_EXT; + } + + c->transparentPixel = GLX_NONE; + c->transparentRed = GLX_NONE; + c->transparentGreen = GLX_NONE; + c->transparentAlpha = GLX_NONE; + c->transparentIndex = GLX_NONE; + + c->sampleBuffers = 0; + c->samples = 0; + + if(msample > 0) { + c->sampleBuffers = conf->multisample_buffers; + c->samples = conf->multisample_samples; + } + + /* SGIX_fbconfig / GLX 1.3 */ + c->drawableType = GLX_WINDOW_BIT | GLX_PIXMAP_BIT; + c->renderType = GLX_RGBA_BIT; + c->xRenderable = GL_TRUE; + c->fbconfigID = -1; + + /*TODO add querying code to capabilities.c for the Pbuffer maximums. + *I'm not sure we can even use CGL for Pbuffers yet... + */ + /* SGIX_pbuffer / GLX 1.3 */ + c->maxPbufferWidth = 0; + c->maxPbufferHeight = 0; + c->maxPbufferPixels = 0; + c->optimalPbufferWidth = 0; + c->optimalPbufferHeight = 0; + c->visualSelectGroup = 0; + + c->swapMethod = GLX_SWAP_UNDEFINED_OML; + + c->screen = screenNumber; + + /* EXT_texture_from_pixmap */ + c->bindToTextureRgb = 0; + c->bindToTextureRgba = 0; + c->bindToMipmapTexture = 0; + c->bindToTextureTargets = 0; + c->yInverted = 0; + + if(c->next) + c = c->next; + + ++i; + } + } + } + } } - lclVisualConfigs[i].doubleBuffer = buffers ? TRUE : FALSE; - lclVisualConfigs[i].stereo = stereo ? TRUE : FALSE; - lclVisualConfigs[i].bufferSize = -1; - - lclVisualConfigs[i].depthSize = depth? 24 : 0; - lclVisualConfigs[i].stencilSize = stencil ? 8 : 0; - lclVisualConfigs[i].auxBuffers = aux ? 2 : 0; - lclVisualConfigs[i].level = 0; - lclVisualConfigs[i].visualRating = GLX_NONE_EXT; - lclVisualConfigs[i].transparentPixel = 0; - lclVisualConfigs[i].transparentRed = 0; - lclVisualConfigs[i].transparentGreen = 0; - lclVisualConfigs[i].transparentBlue = 0; - lclVisualConfigs[i].transparentAlpha = 0; - lclVisualConfigs[i].transparentIndex = 0; - i++; - } } - } - } - } + } } } - if (i != lclNumConfigs) - GLAQUA_DEBUG_MSG("glAquaInitVisualConfigs failed to alloc visual configs"); - - GlxSetVisualConfigs(lclNumConfigs, lclVisualConfigs, lclVisualPrivates); -} - -static void glAquaSetVisualConfigs(int nconfigs, __GLXvisualConfig *configs, - void **privates) -{ - GLAQUA_DEBUG_MSG("glAquaSetVisualConfigs\n"); - - numConfigs = nconfigs; - visualConfigs = configs; - visualPrivates = privates; -} - -static Bool glAquaInitVisuals(VisualPtr *visualp, DepthPtr *depthp, - int *nvisualp, int *ndepthp, - int *rootDepthp, VisualID *defaultVisp, - unsigned long sizes, int bitsPerRGB) -{ - GLAQUA_DEBUG_MSG("glAquaInitVisuals\n"); + if(i != numConfigs) + FatalError("The number of __GLXconfig generated does not match the initial calculation!\n"); - if (numConfigs == 0) /* if no configs */ - glAquaInitVisualConfigs(); /* ensure the visual configs are setup */ - /* - * setup the visuals supported by this particular screen. - */ - return init_visuals(nvisualp, visualp, defaultVisp, - *ndepthp, *depthp, *rootDepthp); -} - -#if 0 -static void fixup_visuals(int screen) -{ - ScreenPtr pScreen = screenInfo.screens[screen]; - glAquaScreenRec *pScr = &glAquaScreens[screen]; - int j; - __GLcontextModes *modes; - - GLAQUA_DEBUG_MSG("fixup_visuals\n"); - - for ( modes = pScr->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; - - /* Find a visual that matches the GLX visual's class and size */ - for (j = 0; j < pScreen->numVisuals; j++) { - if (pVis[j].class == vis_class && - pVis[j].nplanes == nplanes) { - - /* Fixup the masks */ - modes->redMask = pVis[j].redMask; - modes->greenMask = pVis[j].greenMask; - modes->blueMask = pVis[j].blueMask; - - /* Recalc the sizes */ - modes->redBits = count_bits(modes->redMask); - modes->greenBits = count_bits(modes->greenMask); - modes->blueBits = count_bits(modes->blueMask); - } - } - } -} -#endif -static void __glXAquaScreenDestroy(__GLXscreen *screen) { + freeGlCapabilities(&cap); - GLAQUA_DEBUG_MSG("glXAquaScreenDestroy(%p)\n", screen); - __glXScreenDestroy(screen); - - free(screen); -} - -static void init_screen_visuals(__GLXAquaScreen *screen) { - ScreenPtr pScreen = screen->base.pScreen; - - __GLcontextModes *modes; - int *used; - int i, j; - - GLAQUA_DEBUG_MSG("init_screen_visuals\n"); - - /* 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: malloc / free. If nothing else, convert 'used' to - * FIXME: array of bytes instead of ints! - */ - used = (int *)malloc(pScreen->numVisuals * sizeof(int)); - memset(used, 0, pScreen->numVisuals * sizeof(int)); - - i = 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]) { - - /* 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, - (int)modes->visualType, - (unsigned int)(modes->rgbBits - modes->alphaBits) ); - } - else if ( modes->visualID == -1 ) { - FatalError( "Matching visual found, but visualID still -1!\n" ); - } - - i++; - } - - free(used); + return result; } +/* This is called by __glXInitScreens(). */ static __GLXscreen * __glXAquaScreenProbe(ScreenPtr pScreen) { - __GLXAquaScreen *screen; - GLAQUA_DEBUG_MSG("glXAquaScreenProbe\n"); - if (screen == NULL) return NULL; - - screen = malloc(sizeof *screen); + __GLXAquaScreen *screen; - __glXScreenInit(&screen->base, pScreen); + GLAQUA_DEBUG_MSG("glXAquaScreenProbe\n"); - screen->base.destroy = __glXAquaScreenDestroy; - screen->base.createContext = __glXAquaScreenCreateContext; - screen->base.createDrawable = __glXAquaScreenCreateDrawable; - screen->base.pScreen = pScreen; + if (pScreen == NULL) + return NULL; - init_screen_visuals(screen); + screen = xalloc(sizeof *screen); + if(NULL == screen) + return NULL; + + screen->base.destroy = __glXAquaScreenDestroy; + screen->base.createContext = __glXAquaScreenCreateContext; + screen->base.createDrawable = __glXAquaScreenCreateDrawable; + screen->base.swapInterval = /*FIXME*/ NULL; + screen->base.hyperpipeFuncs = NULL; + screen->base.swapBarrierFuncs = NULL; + screen->base.pScreen = pScreen; + + screen->base.fbconfigs = CreateConfigs(&screen->base.numFBConfigs, + pScreen->myNum); + + __glXScreenInit(&screen->base, pScreen); + + /* __glXScreenInit initializes these, so the order here is important, if we need these... */ + // screen->base.GLextensions = ""; + // screen->base.GLXvendor = "Apple"; + screen->base.GLXversion = xstrdup("1.4"); + screen->base.GLXextensions = xstrdup("GLX_SGIX_fbconfig " + "GLX_SGIS_multisample " + "GLX_ARB_multisample " + "GLX_EXT_visual_info " + "GLX_EXT_import_context "); + + /*We may be able to add more GLXextensions at a later time. */ + + return &screen->base; +} - return &screen->base; +static void __glXAquaDrawableCopySubBuffer (__GLXdrawable *drawable, + int x, int y, int w, int h) { + /*TODO finish me*/ } + static void __glXAquaDrawableDestroy(__GLXdrawable *base) { - GLAQUA_DEBUG_MSG("glAquaDestroyDrawablePrivate\n"); + /* gstaplin: base is the head of the structure, so it's at the same + * offset in memory. + * Is this safe with strict aliasing? I noticed that the other dri code + * does this too... + */ + __GLXAquaDrawable *glxPriv = (__GLXAquaDrawable *)base; + GLAQUA_DEBUG_MSG(__func__); + /* It doesn't work to call DRIDestroySurface here, the drawable's already gone.. But dri.c notices the window destruction and frees the surface itself. */ - free(base); + /*gstaplin: verify the statement above. The surface destroy + *messages weren't making it through, and may still not be. + *We need a good test case for surface creation and destruction. + *We also need a good way to enable introspection on the server + *to validate the test, beyond using gdb with print. + */ + + xfree(glxPriv); } static __GLXdrawable * __glXAquaScreenCreateDrawable(__GLXscreen *screen, DrawablePtr pDraw, + int type, XID drawId, - __GLcontextModes *modes) { + __GLXconfig *conf) { __GLXAquaDrawable *glxPriv; - GLAQUA_DEBUG_MSG("glAquaScreenCreateDrawable(%p,%p,%d,%p)\n", context, pDraw, drawId, modes); - glxPriv = xalloc(sizeof *glxPriv); - if (glxPriv == NULL) return NULL; + + if(glxPriv == NULL) + return NULL; memset(glxPriv, 0, sizeof *glxPriv); - if (!__glXDrawableInit(&glxPriv->base, screen, pDraw, drawId, modes)) { + if(!__glXDrawableInit(&glxPriv->base, screen, pDraw, type, drawId, conf)) { xfree(glxPriv); return NULL; } glxPriv->base.destroy = __glXAquaDrawableDestroy; - glxPriv->base.resize = __glXAquaDrawableResize; glxPriv->base.swapBuffers = __glXAquaDrawableSwapBuffers; - // glxPriv->base.copySubBuffer = __glXAquaDrawableCopySubBuffer; + glxPriv->base.copySubBuffer = NULL; /* __glXAquaDrawableCopySubBuffer; */ + glxPriv->pDraw = pDraw; + glxPriv->sid = 0; + glxPriv->context = NULL; + return &glxPriv->base; } -static void glAquaResetExtension(void) -{ - GLAQUA_DEBUG_MSG("glAquaResetExtension\n"); - CGLSetOption(kCGLGOResetLibrary, GL_TRUE); -} - // Extra goodies for glx GLuint __glFloorLog2(GLuint val) @@ -1255,7 +853,9 @@ static void setup_dispatch_table(void) { SET_BlendEquationSeparateEXT(disp, glBlendEquationSeparateEXT); SET_BlendFunc(disp, glBlendFunc); SET_BlendFuncSeparateEXT(disp, glBlendFuncSeparateEXT); +#if MAC_OS_X_VERSION_MIN_REQUIRED >= 1050 SET_BlitFramebufferEXT(disp, glBlitFramebufferEXT); +#endif SET_BufferDataARB(disp, glBufferDataARB); SET_BufferSubDataARB(disp, glBufferSubDataARB); SET_CallList(disp, glCallList); @@ -1312,12 +912,16 @@ static void setup_dispatch_table(void) { SET_ColorTable(disp, glColorTable); SET_ColorTableParameterfv(disp, glColorTableParameterfv); SET_ColorTableParameteriv(disp, glColorTableParameteriv); + + +#if MAC_OS_X_VERSION_MIN_REQUIRED < 1060 SET_CombinerInputNV(disp, glCombinerInputNV); SET_CombinerOutputNV(disp, glCombinerOutputNV); SET_CombinerParameterfNV(disp, glCombinerParameterfNV); SET_CombinerParameterfvNV(disp, glCombinerParameterfvNV); SET_CombinerParameteriNV(disp, glCombinerParameteriNV); SET_CombinerParameterivNV(disp, glCombinerParameterivNV); +#endif SET_CompileShaderARB(disp, glCompileShaderARB); SET_CompressedTexImage1DARB(disp, glCompressedTexImage1DARB); SET_CompressedTexImage2DARB(disp, glCompressedTexImage2DARB); @@ -1395,7 +999,10 @@ static void setup_dispatch_table(void) { SET_EvalPoint2(disp, glEvalPoint2); //SET_ExecuteProgramNV(disp, glExecuteProgramNV); SET_FeedbackBuffer(disp, glFeedbackBuffer); + +#if MAC_OS_X_VERSION_MIN_REQUIRED < 1060 SET_FinalCombinerInputNV(disp, glFinalCombinerInputNV); +#endif SET_Finish(disp, glFinish); SET_FinishFenceNV(disp, glFinishFenceAPPLE); // <-- APPLE -> NV SET_Flush(disp, glFlush); @@ -1437,10 +1044,12 @@ static void setup_dispatch_table(void) { SET_GetColorTable(disp, glGetColorTable); SET_GetColorTableParameterfv(disp, glGetColorTableParameterfv); SET_GetColorTableParameteriv(disp, glGetColorTableParameteriv); +#if MAC_OS_X_VERSION_MIN_REQUIRED < 1060 SET_GetCombinerInputParameterfvNV(disp, glGetCombinerInputParameterfvNV); SET_GetCombinerInputParameterivNV(disp, glGetCombinerInputParameterivNV); SET_GetCombinerOutputParameterfvNV(disp, glGetCombinerOutputParameterfvNV); SET_GetCombinerOutputParameterivNV(disp, glGetCombinerOutputParameterivNV); +#endif SET_GetCompressedTexImageARB(disp, glGetCompressedTexImageARB); SET_GetConvolutionFilter(disp, glGetConvolutionFilter); SET_GetConvolutionParameterfv(disp, glGetConvolutionParameterfv); @@ -1448,8 +1057,10 @@ static void setup_dispatch_table(void) { SET_GetDoublev(disp, glGetDoublev); SET_GetError(disp, glGetError); //SET_GetFenceivNV(disp, glGetFenceivNV); +#if MAC_OS_X_VERSION_MIN_REQUIRED < 1060 SET_GetFinalCombinerInputParameterfvNV(disp, glGetFinalCombinerInputParameterfvNV); SET_GetFinalCombinerInputParameterivNV(disp, glGetFinalCombinerInputParameterivNV); +#endif SET_GetFloatv(disp, glGetFloatv); SET_GetFramebufferAttachmentParameterivEXT(disp, glGetFramebufferAttachmentParameterivEXT); SET_GetHandleARB(disp, glGetHandleARB); diff --git a/xorg-server/hw/xquartz/GL/visualConfigs.c b/xorg-server/hw/xquartz/GL/visualConfigs.c new file mode 100644 index 000000000..81f88fb3c --- /dev/null +++ b/xorg-server/hw/xquartz/GL/visualConfigs.c @@ -0,0 +1,255 @@ +/* + * Copyright (c) 2007, 2008 Apple Inc. + * Copyright (c) 2004 Torrey T. Lyons. All Rights Reserved. + * Copyright (c) 2002 Greg Parker. All Rights Reserved. + * + * Portions of this file are copied from Mesa's xf86glx.c, + * which contains the following copyright: + * + * 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, 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. + */ + +#ifdef HAVE_DIX_CONFIG_H +#include +#endif + +#include "dri.h" + +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "capabilities.h" +#include "visualConfigs.h" + +/* Based originally on code from indirect.c which was based on code from i830_dri.c. */ +void setVisualConfigs(void) { + int numConfigs = 0; + __GLXvisualConfig *visualConfigs = NULL; + void **visualPrivates = NULL; + struct glCapabilities caps; + struct glCapabilitiesConfig *conf = NULL; + int stereo, depth, aux, buffers, stencil, accum, color, msample; + int i = 0; + + if(getGlCapabilities(&caps)) { + ErrorF("error from getGlCapabilities()!\n"); + return; + } + + /* + conf->stereo is 0 or 1, but we need at least 1 iteration of the loop, + so we treat a true conf->stereo as 2. + + The depth size is 0 or 24. Thus we do 2 iterations for that. + + conf->aux_buffers (when available/non-zero) result in 2 iterations instead of 1. + + conf->buffers indicates whether we have single or double buffering. + + conf->total_stencil_bit_depths + + conf->total_color_buffers indicates the RGB/RGBA color depths. + + conf->total_accum_buffers iterations for accum (with at least 1 if equal to 0) + + conf->total_depth_buffer_depths + + conf->multisample_buffers iterations (with at least 1 if equal to 0). We add 1 + for the 0 multisampling config. + + */ + + assert(NULL != caps.configurations); + conf = caps.configurations; + + numConfigs = 0; + + for(conf = caps.configurations; conf; conf = conf->next) { + if(conf->total_color_buffers <= 0) + continue; + + numConfigs += (conf->stereo ? 2 : 1) + * (conf->aux_buffers ? 2 : 1) + * conf->buffers + * ((conf->total_stencil_bit_depths > 0) ? conf->total_stencil_bit_depths : 1) + * conf->total_color_buffers + * ((conf->total_accum_buffers > 0) ? conf->total_accum_buffers : 1) + * conf->total_depth_buffer_depths + * (conf->multisample_buffers + 1); + } + + visualConfigs = xcalloc(sizeof(*visualConfigs), numConfigs); + + if(NULL == visualConfigs) { + ErrorF("xcalloc failure when allocating visualConfigs\n"); + freeGlCapabilities(&caps); + return; + } + + visualPrivates = xcalloc(sizeof(void *), numConfigs); + + if(NULL == visualPrivates) { + ErrorF("xcalloc failure when allocating visualPrivates"); + freeGlCapabilities(&caps); + xfree(visualConfigs); + return; + } + + i = 0; /* current buffer */ + for(conf = caps.configurations; conf; conf = conf->next) { + for(stereo = 0; stereo < (conf->stereo ? 2 : 1); ++stereo) { + for(aux = 0; aux < (conf->aux_buffers ? 2 : 1); ++aux) { + for(buffers = 0; buffers < conf->buffers; ++buffers) { + for(stencil = 0; stencil < ((conf->total_stencil_bit_depths > 0) ? + conf->total_stencil_bit_depths : 1); ++stencil) { + for(color = 0; color < conf->total_color_buffers; ++color) { + for(accum = 0; accum < ((conf->total_accum_buffers > 0) ? + conf->total_accum_buffers : 1); ++accum) { + for(depth = 0; depth < conf->total_depth_buffer_depths; ++depth) { + for(msample = 0; msample < (conf->multisample_buffers + 1); ++msample) { + visualConfigs[i].vid = (VisualID)(-1); + visualConfigs[i].class = TrueColor; + + visualConfigs[i].rgba = true; + visualConfigs[i].redSize = conf->color_buffers[color].r; + visualConfigs[i].greenSize = conf->color_buffers[color].g; + visualConfigs[i].blueSize = conf->color_buffers[color].b; + + if(GLCAPS_COLOR_BUF_INVALID_VALUE == conf->color_buffers[color].a) { + /* This visual has no alpha. */ + visualConfigs[i].alphaSize = 0; + } else { + visualConfigs[i].alphaSize = conf->color_buffers[color].a; + } + + /* + * If the .a/alpha value is unset, then don't add it to the + * bufferSize specification. The INVALID_VALUE indicates that it + * was unset. + * + * This prevents odd bufferSizes, such as 14. + */ + if(GLCAPS_COLOR_BUF_INVALID_VALUE == conf->color_buffers[color].a) { + visualConfigs[i].bufferSize = conf->color_buffers[color].r + + conf->color_buffers[color].g + conf->color_buffers[color].b; + } else { + visualConfigs[i].bufferSize = conf->color_buffers[color].r + + conf->color_buffers[color].g + conf->color_buffers[color].b + + conf->color_buffers[color].a; + } + + /* + * I'm uncertain about these masks. + * I don't think we actually care what the values are in our + * libGL, so it doesn't seem to make a difference. + */ + visualConfigs[i].redMask = -1; + visualConfigs[i].greenMask = -1; + visualConfigs[i].blueMask = -1; + visualConfigs[i].alphaMask = -1; + + if(conf->total_accum_buffers > 0) { + visualConfigs[i].accumRedSize = conf->accum_buffers[accum].r; + visualConfigs[i].accumGreenSize = conf->accum_buffers[accum].g; + visualConfigs[i].accumBlueSize = conf->accum_buffers[accum].b; + if(GLCAPS_COLOR_BUF_INVALID_VALUE != conf->accum_buffers[accum].a) { + visualConfigs[i].accumAlphaSize = conf->accum_buffers[accum].a; + } else { + visualConfigs[i].accumAlphaSize = 0; + } + } else { + visualConfigs[i].accumRedSize = 0; + visualConfigs[i].accumGreenSize = 0; + visualConfigs[i].accumBlueSize = 0; + visualConfigs[i].accumAlphaSize = 0; + } + + visualConfigs[i].doubleBuffer = buffers ? TRUE : FALSE; + visualConfigs[i].stereo = stereo ? TRUE : FALSE; + + visualConfigs[i].depthSize = conf->depth_buffers[depth]; + + if(conf->total_stencil_bit_depths > 0) { + visualConfigs[i].stencilSize = conf->stencil_bit_depths[stencil]; + } else { + visualConfigs[i].stencilSize = 0; + } + visualConfigs[i].auxBuffers = aux ? conf->aux_buffers : 0; + visualConfigs[i].level = 0; + + if(conf->accelerated) { + visualConfigs[i].visualRating = GLX_NONE; + } else { + visualConfigs[i].visualRating = GLX_SLOW_VISUAL_EXT; + } + + visualConfigs[i].transparentPixel = GLX_NONE; + visualConfigs[i].transparentRed = GLX_NONE; + visualConfigs[i].transparentGreen = GLX_NONE; + visualConfigs[i].transparentBlue = GLX_NONE; + visualConfigs[i].transparentAlpha = GLX_NONE; + visualConfigs[i].transparentIndex = GLX_NONE; + + if(msample > 0) { + visualConfigs[i].multiSampleSize = conf->multisample_samples; + visualConfigs[i].nMultiSampleBuffers = conf->multisample_buffers; + } else { + visualConfigs[i].multiSampleSize = 0; + visualConfigs[i].nMultiSampleBuffers = 0; + } + + ++i; + } + } + } + } + } + } + } + } + } + + if (i != numConfigs) { + ErrorF("numConfigs calculation error in setVisualConfigs! numConfigs is %d i is %d\n", numConfigs, i); + abort(); + } + + freeGlCapabilities(&caps); + + GlxSetVisualConfigs(numConfigs, visualConfigs, visualPrivates); +} diff --git a/xorg-server/hw/xquartz/GL/visualConfigs.h b/xorg-server/hw/xquartz/GL/visualConfigs.h new file mode 100644 index 000000000..b9e6ae756 --- /dev/null +++ b/xorg-server/hw/xquartz/GL/visualConfigs.h @@ -0,0 +1,28 @@ +/* + * Copyright (c) 2008 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. + */ + +#ifndef VISUAL_CONFIGS_H +#define VISUAL_CONFIGS_H + +void setVisualConfigs(void); + +#endif diff --git a/xorg-server/hw/xquartz/Makefile.am b/xorg-server/hw/xquartz/Makefile.am index 999013d1b..e5e2e9e37 100644 --- a/xorg-server/hw/xquartz/Makefile.am +++ b/xorg-server/hw/xquartz/Makefile.am @@ -7,35 +7,35 @@ AM_CPPFLAGS = \ -DINXQUARTZ \ -DUSE_NEW_CLUT \ -DXFree86Server \ - -I$(top_srcdir)/miext/rootless + -I$(top_srcdir)/miext/rootless \ + -DX11LIBDIR=\"$(libdir)\" -if X11APP -X11APP_SUBDIRS = bundle +if GLX +GL_DIR = GL endif -SUBDIRS = . GL xpr $(X11APP_SUBDIRS) -DIST_SUBDIRS = GL xpr bundle +SUBDIRS = bundle . $(GL_DIR) xpr pbproxy mach-startup doc + +DIST_SUBDIRS = bundle . GL xpr pbproxy mach-startup doc libXquartz_la_SOURCES = \ $(top_srcdir)/fb/fbcmap_mi.c \ $(top_srcdir)/mi/miinitext.c \ - $(top_srcdir)/Xext/dpmsstubs.c \ X11Application.m \ X11Controller.m \ applewm.c \ darwin.c \ darwinEvents.c \ - darwinKeyboard.c \ darwinXinput.c \ keysym2ucs.c \ pseudoramiX.c \ quartz.c \ quartzAudio.c \ quartzCocoa.m \ - quartzForeground.c \ quartzKeyboard.c \ quartzPasteboard.c \ - quartzStartup.c + quartzStartup.c \ + threadSafety.c EXTRA_DIST = \ X11Application.h \ @@ -44,14 +44,13 @@ EXTRA_DIST = \ darwinClut8.h \ darwin.h \ darwinEvents.h \ - darwinKeyboard.h \ keysym2ucs.h \ pseudoramiX.h \ quartz.h \ quartzAudio.h \ quartzCommon.h \ - quartzCursor.c \ - quartzCursor.h \ - quartzForeground.h \ quartzKeyboard.h \ - quartzPasteboard.h + quartzPasteboard.h \ + sanitizedCarbon.h \ + sanitizedCocoa.h \ + threadSafety.h diff --git a/xorg-server/hw/xquartz/Makefile.in b/xorg-server/hw/xquartz/Makefile.in index b57b513bf..6a2dbf41c 100644 --- a/xorg-server/hw/xquartz/Makefile.in +++ b/xorg-server/hw/xquartz/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -43,7 +43,6 @@ 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 \ @@ -51,21 +50,17 @@ CONFIG_HEADER = $(top_builddir)/include/do-not-use-config.h \ CONFIG_CLEAN_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) libXquartz_la_LIBADD = -am_libXquartz_la_OBJECTS = fbcmap_mi.lo miinitext.lo dpmsstubs.lo \ - X11Application.lo X11Controller.lo applewm.lo darwin.lo \ - darwinEvents.lo darwinKeyboard.lo darwinXinput.lo \ - keysym2ucs.lo pseudoramiX.lo quartz.lo quartzAudio.lo \ - quartzCocoa.lo quartzForeground.lo quartzKeyboard.lo \ - quartzPasteboard.lo quartzStartup.lo +am_libXquartz_la_OBJECTS = fbcmap_mi.lo miinitext.lo X11Application.lo \ + X11Controller.lo applewm.lo darwin.lo darwinEvents.lo \ + darwinXinput.lo keysym2ucs.lo pseudoramiX.lo quartz.lo \ + quartzAudio.lo quartzCocoa.lo quartzKeyboard.lo \ + quartzPasteboard.lo quartzStartup.lo threadSafety.lo libXquartz_la_OBJECTS = $(am_libXquartz_la_OBJECTS) DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include 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) \ @@ -95,8 +90,9 @@ ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ -APPDEFAULTDIR = @APPDEFAULTDIR@ APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +APPLE_APPLICATION_ID = @APPLE_APPLICATION_ID@ +APPLE_APPLICATION_NAME = @APPLE_APPLICATION_NAME@ APP_MAN_DIR = @APP_MAN_DIR@ APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ AR = @AR@ @@ -117,10 +113,6 @@ 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@ @@ -142,6 +134,7 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOLT_BASH = @DOLT_BASH@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ @@ -151,18 +144,15 @@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ DSYMUTIL = @DSYMUTIL@ DTRACE = @DTRACE@ -ECHO = @ECHO@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ -FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ -FREETYPE_LIBS = @FREETYPE_LIBS@ GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ GLX_DEFINES = @GLX_DEFINES@ GL_CFLAGS = @GL_CFLAGS@ @@ -181,7 +171,7 @@ KDRIVE_LIBS = @KDRIVE_LIBS@ KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ -LAUNCHD = @LAUNCHD@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ LEX = @LEX@ @@ -195,7 +185,10 @@ LIBTOOL = @LIBTOOL@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LINUXDOC = @LINUXDOC@ +LIPO = @LIPO@ LN_S = @LN_S@ +LTCOMPILE = @LTCOMPILE@ +LTCXXCOMPILE = @LTCXXCOMPILE@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ @@ -207,8 +200,7 @@ MESA_SOURCE = @MESA_SOURCE@ MISC_MAN_DIR = @MISC_MAN_DIR@ MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ MKDIR_P = @MKDIR_P@ -MKFONTDIR = @MKFONTDIR@ -MKFONTSCALE = @MKFONTSCALE@ +NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCCLD = @OBJCCLD@ @@ -217,8 +209,8 @@ OBJCFLAGS = @OBJCFLAGS@ OBJCLINK = @OBJCLINK@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ @@ -251,7 +243,6 @@ VENDOR_NAME = @VENDOR_NAME@ VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ VENDOR_RELEASE = @VENDOR_RELEASE@ VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ XDMCP_CFLAGS = @XDMCP_CFLAGS@ @@ -261,27 +252,12 @@ XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@ XDMX_CFLAGS = @XDMX_CFLAGS@ XDMX_LIBS = @XDMX_LIBS@ XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ XEPHYR_INCS = @XEPHYR_INCS@ XEPHYR_LIBS = @XEPHYR_LIBS@ 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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ @@ -292,10 +268,6 @@ XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ XNEST_LIBS = @XNEST_LIBS@ XNEST_SYS_LIBS = @XNEST_SYS_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_INCS = @XORG_INCS@ XORG_LIBS = @XORG_LIBS@ @@ -304,13 +276,8 @@ XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ XORG_OS = @XORG_OS@ XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_LIBS@ +XPBPROXY_CFLAGS = @XPBPROXY_CFLAGS@ +XPBPROXY_LIBS = @XPBPROXY_LIBS@ XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ XSDL_INCS = @XSDL_INCS@ @@ -343,8 +310,7 @@ 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@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -364,7 +330,6 @@ driverdir = @driverdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ extdir = @extdir@ -ft_config = @ft_config@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ @@ -374,12 +339,12 @@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ -launchagentsdir = @launchagentsdir@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ logdir = @logdir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ moduledir = @moduledir@ @@ -397,8 +362,6 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ noinst_LTLIBRARIES = libXquartz.la AM_CFLAGS = $(XSERVER_CFLAGS) $(DIX_CFLAGS) AM_OBJCFLAGS = $(XSERVER_CFLAGS) $(DIX_CFLAGS) @@ -408,31 +371,30 @@ AM_CPPFLAGS = \ -DINXQUARTZ \ -DUSE_NEW_CLUT \ -DXFree86Server \ - -I$(top_srcdir)/miext/rootless + -I$(top_srcdir)/miext/rootless \ + -DX11LIBDIR=\"$(libdir)\" -@X11APP_TRUE@X11APP_SUBDIRS = bundle -SUBDIRS = . GL xpr $(X11APP_SUBDIRS) -DIST_SUBDIRS = GL xpr bundle +@GLX_TRUE@GL_DIR = GL +SUBDIRS = bundle . $(GL_DIR) xpr pbproxy mach-startup doc +DIST_SUBDIRS = bundle . GL xpr pbproxy mach-startup doc libXquartz_la_SOURCES = \ $(top_srcdir)/fb/fbcmap_mi.c \ $(top_srcdir)/mi/miinitext.c \ - $(top_srcdir)/Xext/dpmsstubs.c \ X11Application.m \ X11Controller.m \ applewm.c \ darwin.c \ darwinEvents.c \ - darwinKeyboard.c \ darwinXinput.c \ keysym2ucs.c \ pseudoramiX.c \ quartz.c \ quartzAudio.c \ quartzCocoa.m \ - quartzForeground.c \ quartzKeyboard.c \ quartzPasteboard.c \ - quartzStartup.c + quartzStartup.c \ + threadSafety.c EXTRA_DIST = \ X11Application.h \ @@ -441,17 +403,16 @@ EXTRA_DIST = \ darwinClut8.h \ darwin.h \ darwinEvents.h \ - darwinKeyboard.h \ keysym2ucs.h \ pseudoramiX.h \ quartz.h \ quartzAudio.h \ quartzCommon.h \ - quartzCursor.c \ - quartzCursor.h \ - quartzForeground.h \ quartzKeyboard.h \ - quartzPasteboard.h + quartzPasteboard.h \ + sanitizedCarbon.h \ + sanitizedCocoa.h \ + threadSafety.h all: all-recursive @@ -461,8 +422,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ @@ -509,9 +470,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/applewm.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/darwin.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/darwinEvents.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/darwinKeyboard.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/darwinXinput.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dpmsstubs.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fbcmap_mi.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/keysym2ucs.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/miinitext.Plo@am__quote@ @@ -519,10 +478,10 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/quartz.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/quartzAudio.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/quartzCocoa.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/quartzForeground.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/quartzKeyboard.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/quartzPasteboard.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/quartzStartup.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/threadSafety.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @@ -559,13 +518,6 @@ miinitext.lo: $(top_srcdir)/mi/miinitext.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o miinitext.lo `test -f '$(top_srcdir)/mi/miinitext.c' || echo '$(srcdir)/'`$(top_srcdir)/mi/miinitext.c -dpmsstubs.lo: $(top_srcdir)/Xext/dpmsstubs.c -@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT dpmsstubs.lo -MD -MP -MF $(DEPDIR)/dpmsstubs.Tpo -c -o dpmsstubs.lo `test -f '$(top_srcdir)/Xext/dpmsstubs.c' || echo '$(srcdir)/'`$(top_srcdir)/Xext/dpmsstubs.c -@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/dpmsstubs.Tpo $(DEPDIR)/dpmsstubs.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/Xext/dpmsstubs.c' object='dpmsstubs.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o dpmsstubs.lo `test -f '$(top_srcdir)/Xext/dpmsstubs.c' || echo '$(srcdir)/'`$(top_srcdir)/Xext/dpmsstubs.c - .m.o: @am__fastdepOBJC_TRUE@ $(OBJCCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepOBJC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @@ -668,7 +620,7 @@ ID: $(HEADERS) $(SOURCES) $(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; nonemtpy = 1; } \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS diff --git a/xorg-server/hw/xquartz/X11Application.h b/xorg-server/hw/xquartz/X11Application.h index 86da67f2e..80aee5932 100644 --- a/xorg-server/hw/xquartz/X11Application.h +++ b/xorg-server/hw/xquartz/X11Application.h @@ -32,7 +32,6 @@ #if __OBJC__ -#import #import "X11Controller.h" @interface X11Application : NSApplication { @@ -56,8 +55,7 @@ - (void) prefs_set_string:(NSString *)key value:(NSString *)value; - (void) prefs_synchronize; -- (BOOL) x_active; - +- (OSX_BOOL) x_active; @end extern X11Application *X11App; @@ -72,18 +70,17 @@ void X11ApplicationSetCanQuit (int state); void X11ApplicationServerReady (void); void X11ApplicationShowHideMenubar (int state); -void X11ApplicationMain(int argc, const char **argv, void (*server_thread) (void *), void *server_arg); +void X11ApplicationMain(int argc, char **argv, char **envp); extern int X11EnableKeyEquivalents; -extern int quartzHasRoot, quartzEnableRootless; - -#define APP_PREFS "org.x.X11" +extern int quartzHasRoot, quartzEnableRootless, quartzFullscreenMenu; #define PREFS_APPSMENU "apps_menu" #define PREFS_FAKEBUTTONS "enable_fake_buttons" #define PREFS_SYSBEEP "enable_system_beep" #define PREFS_KEYEQUIVS "enable_key_equivalents" -#define PREFS_KEYMAP_FILE "keymap_file" +#define PREFS_FULLSCREEN_HOTKEYS "fullscreen_hotkeys" +#define PREFS_FULLSCREEN_MENU "fullscreen_menu" #define PREFS_SYNC_KEYMAP "sync_keymap" #define PREFS_DEPTH "depth" #define PREFS_NO_AUTH "no_auth" @@ -92,12 +89,20 @@ extern int quartzHasRoot, quartzEnableRootless; #define PREFS_NO_QUIT_ALERT "no_quit_alert" #define PREFS_FAKE_BUTTON2 "fake_button2" #define PREFS_FAKE_BUTTON3 "fake_button3" +#define PREFS_APPKIT_MODIFIERS "appkit_modifiers" +#define PREFS_WINDOW_ITEM_MODIFIERS "window_item_modifiers" #define PREFS_ROOTLESS "rootless" -#define PREFS_FULLSCREEN_HOTKEYS "fullscreen_hotkeys" -#define PREFS_SWAP_ALT_META "swap_alt_meta" +#define PREFS_TEST_EXTENSIONS "enable_test_extensions" #define PREFS_XP_OPTIONS "xp_options" -#define PREFS_ENABLE_STEREO "enable_stereo" #define PREFS_LOGIN_SHELL "login_shell" -#define PREFS_QUARTZ_WM_CLICK_THROUGH "wm_click_through" +#define PREFS_CLICK_THROUGH "wm_click_through" +#define PREFS_FFM "wm_ffm" +#define PREFS_FOCUS_ON_NEW_WINDOW "wm_focus_on_new_window" + +#define PREFS_SYNC_PB "sync_pasteboard" +#define PREFS_SYNC_PB_TO_CLIPBOARD "sync_pasteboard_to_clipboard" +#define PREFS_SYNC_PB_TO_PRIMARY "sync_pasteboard_to_primary" +#define PREFS_SYNC_CLIPBOARD_TO_PB "sync_clipboard_to_pasteboard" +#define PREFS_SYNC_PRIMARY_ON_SELECT "sync_primary_on_select" #endif /* X11APPLICATION_H */ diff --git a/xorg-server/hw/xquartz/X11Application.m b/xorg-server/hw/xquartz/X11Application.m index be5511d30..9f4738c47 100644 --- a/xorg-server/hw/xquartz/X11Application.m +++ b/xorg-server/hw/xquartz/X11Application.m @@ -1,6 +1,6 @@ /* X11Application.m -- subclass of NSApplication to multiplex events - Copyright (c) 2002-2007 Apple Inc. + Copyright (c) 2002-2008 Apple Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files @@ -27,48 +27,69 @@ promote the sale, use or other dealings in this Software without prior written authorization. */ +#include "sanitizedCarbon.h" + #ifdef HAVE_DIX_CONFIG_H #include #endif #include "quartzCommon.h" -#include "quartzForeground.h" #import "X11Application.h" -#include - -/* ouch! */ -#define BOOL X_BOOL -# include "darwin.h" -# include "darwinEvents.h" -# include "quartz.h" -# define _APPLEWM_SERVER_ -# include "X11/extensions/applewm.h" -# include "micmap.h" -#undef BOOL + +#include "darwin.h" +#include "darwinEvents.h" +#include "quartzKeyboard.h" +#include "quartz.h" +#define _APPLEWM_SERVER_ +#include "X11/extensions/applewm.h" +#include "micmap.h" #include #include -#include +#include + +#include -#include "rootlessCommon.h" +// pbproxy/pbproxy.h +extern BOOL xpbproxy_init (void); -WindowPtr xprGetXWindowFromAppKit(int windowNumber); // xpr/xprFrame.c +#define DEFAULTS_FILE X11LIBDIR"/X11/xserver/Xquartz.plist" + +#ifndef XSERVER_VERSION +#define XSERVER_VERSION "?" +#endif -#define DEFAULTS_FILE "/usr/X11/lib/X11/xserver/Xquartz.plist" +#define ProximityIn 0 +#define ProximityOut 1 -int X11EnableKeyEquivalents = TRUE; +/* Stuck modifier / button state... force release when we context switch */ +static NSEventType keyState[NUM_KEYCODES]; +static int modifierFlagsMask; + +int X11EnableKeyEquivalents = TRUE, quartzFullscreenMenu = FALSE; int quartzHasRoot = FALSE, quartzEnableRootless = TRUE; -extern int darwinFakeButtons, input_check_flag; -extern Bool enable_stereo; +extern Bool noTestExtensions; + +#if MAC_OS_X_VERSION_MIN_REQUIRED >= 1050 +static TISInputSourceRef last_key_layout; +#else +static KeyboardLayoutRef last_key_layout; +#endif -extern xEvent *darwinEvents; +extern int darwinFakeButtons; X11Application *X11App; +CFStringRef app_prefs_domain_cfstr = NULL; + #define ALL_KEY_MASKS (NSShiftKeyMask | NSControlKeyMask | NSAlternateKeyMask | NSCommandKeyMask) +@interface X11Application (Private) +- (void) sendX11NSEvent:(NSEvent *)e; +@end + @implementation X11Application typedef struct message_struct message; @@ -80,8 +101,6 @@ struct message_struct { 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. */ Bool QuartzModeBundleInit(void); @@ -144,195 +163,259 @@ static void message_kit_thread (SEL selector, NSObject *arg) { NSMutableDictionary *dict; NSDictionary *infoDict; NSString *tem; - - dict = [NSMutableDictionary dictionaryWithCapacity:2]; + + dict = [NSMutableDictionary dictionaryWithCapacity:3]; infoDict = [[NSBundle mainBundle] infoDictionary]; - + [dict setObject: NSLocalizedString (@"The X Window System", @"About panel") - forKey:@"ApplicationName"]; - + forKey:@"ApplicationName"]; + tem = [infoDict objectForKey:@"CFBundleShortVersionString"]; - - [dict setObject:[NSString stringWithFormat:@"XQuartz %@ - (xorg-server %s)", tem, XSERVER_VERSION] - forKey:@"ApplicationVersion"]; - + + [dict setObject:[NSString stringWithFormat:@"XQuartz %@", tem] + forKey:@"ApplicationVersion"]; + + [dict setObject:[NSString stringWithFormat:@"xorg-server %s", XSERVER_VERSION] + forKey:@"Version"]; + [self orderFrontStandardAboutPanelWithOptions: dict]; } -- (void) activateX:(BOOL)state { +- (void) activateX:(OSX_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) */ + have it activated while X is active */ static TSMDocumentID x11_document; - DEBUG_LOG("state=%d, _x_active=%d, \n", state, _x_active) + size_t i; + DEBUG_LOG("state=%d, _x_active=%d, \n", state, _x_active) 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); - } + DarwinSendDDXEvent(kXquartzActivate, 0); + + if (!_x_active) { + if (x11_document == 0) { + 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); + + if(darwin_modifier_flags) + DarwinUpdateModKeys(0); + for(i=0; i < NUM_KEYCODES; i++) { + if(keyState[i] == NSKeyDown) { + DarwinSendKeyboardEvents(KeyRelease, i); + keyState[i] = NSKeyUp; + } + } + + DarwinSendDDXEvent(kXquartzDeactivate, 0); + + if (_x_active && x11_document != 0) + DeactivateTSMDocument (x11_document); } - + _x_active = state; } - (void) became_key:(NSWindow *)win { - [self activateX:NO]; + [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 an (AppKit) 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. */ - WindowPtr pWin = xprGetXWindowFromAppKit([e windowNumber]); - if (pWin) RootlessReorderWindow(pWin); - 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; + OSX_BOOL for_appkit, for_x; - case NSFlagsChanged: - /* For the l33t X users who remap modifier keys to normal keysyms. */ - if (!_x_active) for_x = NO; - break; + /* By default pass down the responder chain and to X. */ + for_appkit = YES; + for_x = YES; - 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]; - if ([e data2] & 0x10) X11ApplicationSetFrontProcess(); - } - break; - - case 18: /* ApplicationDidReactivate */ - if (quartzHasRoot) for_appkit = NO; - break; - - case NSApplicationDeactivatedEventType: - for_x = NO; - [self activateX:NO]; - break; + switch ([e type]) { + case NSLeftMouseDown: case NSRightMouseDown: case NSOtherMouseDown: + case NSLeftMouseUp: case NSRightMouseUp: case NSOtherMouseUp: + if ([e window] != nil) { + /* Pointer event has an (AppKit) 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]; + } + } + + /* We want to force sending to appkit if we're over the menu bar */ + if(!for_appkit) { + NSPoint NSlocation = [e locationInWindow]; + NSWindow *window = [e window]; + + if (window != nil) { + NSRect frame = [window frame]; + NSlocation.x += frame.origin.x; + NSlocation.y += frame.origin.y; + } + + NSRect NSframe = [[NSScreen mainScreen] frame]; + NSRect NSvisibleFrame = [[NSScreen mainScreen] visibleFrame]; + + CGRect CGframe = CGRectMake(NSframe.origin.x, NSframe.origin.y, + NSframe.size.width, NSframe.size.height); + CGRect CGvisibleFrame = CGRectMake(NSvisibleFrame.origin.x, + NSvisibleFrame.origin.y, + NSvisibleFrame.size.width, + NSvisibleFrame.size.height); + CGPoint CGlocation = CGPointMake(NSlocation.x, NSlocation.y); + + if(CGRectContainsPoint(CGframe, CGlocation) && + !CGRectContainsPoint(CGvisibleFrame, CGlocation)) + for_appkit = YES; + } + + break; + + case NSKeyDown: case NSKeyUp: + + if(_x_active) { + static BOOL do_swallow = NO; + static int swallow_keycode; + + if([e type] == NSKeyDown) { + /* Before that though, see if there are any global + * shortcuts bound to it. */ + + if(darwinAppKitModMask & [e modifierFlags]) { + /* Override to force sending to Appkit */ + swallow_keycode = [e keyCode]; + do_swallow = YES; + for_x = NO; +#if XPLUGIN_VERSION >= 1 + } else if(X11EnableKeyEquivalents && + xp_is_symbolic_hotkey_event([e eventRef])) { + swallow_keycode = [e keyCode]; + do_swallow = YES; + for_x = NO; +#endif + } else if(X11EnableKeyEquivalents && + [[self mainMenu] performKeyEquivalent:e]) { + swallow_keycode = [e keyCode]; + do_swallow = YES; + for_appkit = NO; + for_x = NO; + } else if(!quartzEnableRootless + && ([e modifierFlags] & ALL_KEY_MASKS) == (NSCommandKeyMask | NSAlternateKeyMask) + && ([e keyCode] == 0 /*a*/ || [e keyCode] == 53 /*Esc*/)) { + /* We have this here to force processing fullscreen + * toggle even if X11EnableKeyEquivalents is disabled */ + swallow_keycode = [e keyCode]; + do_swallow = YES; + for_x = NO; + for_appkit = NO; + DarwinSendDDXEvent(kXquartzToggleFullscreen, 0); + } else { + /* No kit window is focused, so send it to X. */ + for_appkit = NO; + } + } else { /* KeyUp */ + /* If we saw a key equivalent on the down, don't pass + * the up through to X. */ + if (do_swallow && [e keyCode] == swallow_keycode) { + do_swallow = NO; + for_x = NO; + } + } + } else { /* !_x_active */ + for_x = NO; + } + break; + + case NSFlagsChanged: + /* Don't tell X11 about modifiers changing while it's not active */ + 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]; + + /* Get the Spaces preference for SwitchOnActivate */ + (void)CFPreferencesAppSynchronize(CFSTR(".GlobalPreferences")); + BOOL switch_on_activate, ok; + switch_on_activate = CFPreferencesGetAppBooleanValue(CFSTR("AppleSpacesSwitchOnActivate"), CFSTR(".GlobalPreferences"), &ok); + if(!ok) + switch_on_activate = YES; + + if ([e data2] & 0x10 && switch_on_activate) + DarwinSendDDXEvent(kXquartzBringAllToFront, 0); + } + break; + + case 18: /* ApplicationDidReactivate */ + if (quartzHasRoot) for_appkit = NO; + break; + + case NSApplicationDeactivatedEventType: + for_x = NO; + [self activateX:NO]; + break; + } + break; + + default: break; /* for gcc */ } - break; - default: break; /* for gcc */ - } - - if (for_appkit) [super sendEvent:e]; - - if (for_x) send_nsevent (type, e); + if (for_appkit) [super sendEvent:e]; + + if (for_x) [self sendX11NSEvent:e]; } - (void) set_window_menu:(NSArray *)list { - [_controller set_window_menu:list]; + [_controller set_window_menu:list]; } - (void) set_window_menu_check:(NSNumber *)n { - [_controller set_window_menu_check:n]; + [_controller set_window_menu_check:n]; } - (void) set_apps_menu:(NSArray *)list { - [_controller set_apps_menu:list]; + [_controller set_apps_menu:list]; } - (void) set_front_process:unused { - /* Hackery needed due to argv[0] hackery */ - // [self activateX:YES]; - ProcessSerialNumber psn = { 0, kCurrentProcess }; - SetFrontProcess(&psn); + [NSApp activateIgnoringOtherApps:YES]; - QuartzMessageServerThread(kXDarwinBringAllToFront, 0); + if ([self modalWindow] == nil) + [self activateX:YES]; } - (void) set_can_quit:(NSNumber *)state { - [_controller set_can_quit:[state boolValue]]; + [_controller set_can_quit:[state boolValue]]; } - (void) server_ready:unused { - [_controller server_ready]; + [_controller server_ready]; } - (void) show_hide_menubar:(NSNumber *)state { - if ([state boolValue]) ShowMenuBar (); - else HideMenuBar (); + /* Also shows/hides the dock */ + if ([state boolValue]) + SetSystemUIMode(kUIModeNormal, 0); + else + SetSystemUIMode(kUIModeAllHidden, quartzFullscreenMenu ? kUIOptionAutoShowMenuBar : 0); // kUIModeAllSuppressed or kUIOptionAutoShowMenuBar can be used to allow "mouse-activation" } @@ -350,63 +433,63 @@ static void cfrelease (CFAllocatorRef a, const void *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; + 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; + 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)); + value = CFPreferencesCopyAppValue ((CFStringRef) key, app_prefs_domain_cfstr); if (value == NULL) { static CFDictionaryRef defaults; @@ -503,7 +586,7 @@ static NSMutableArray * cfarray_to_nsarray (CFArrayRef in) { if (value != NULL && CFGetTypeID (value) == CFNumberGetTypeID () - && CFNumberIsFloatType (value)) + && CFNumberIsFloatType (value)) CFNumberGetValue (value, kCFNumberFloatType, &ret); else if (value != NULL && CFGetTypeID (value) == CFStringGetTypeID ()) ret = CFStringGetDoubleValue (value); @@ -558,7 +641,7 @@ static NSMutableArray * cfarray_to_nsarray (CFArrayRef in) { x = CFNumberCreate (NULL, kCFNumberIntType, &value); - CFPreferencesSetValue ((CFStringRef) key, (CFTypeRef) x, CFSTR (APP_PREFS), + CFPreferencesSetValue ((CFStringRef) key, (CFTypeRef) x, app_prefs_domain_cfstr, kCFPreferencesCurrentUser, kCFPreferencesAnyHost); CFRelease (x); @@ -569,7 +652,7 @@ static NSMutableArray * cfarray_to_nsarray (CFArrayRef in) { x = CFNumberCreate (NULL, kCFNumberFloatType, &value); - CFPreferencesSetValue ((CFStringRef) key, (CFTypeRef) x, CFSTR (APP_PREFS), + CFPreferencesSetValue ((CFStringRef) key, (CFTypeRef) x, app_prefs_domain_cfstr, kCFPreferencesCurrentUser, kCFPreferencesAnyHost); CFRelease (x); @@ -577,8 +660,8 @@ static NSMutableArray * cfarray_to_nsarray (CFArrayRef in) { - (void) prefs_set_boolean:(NSString *)key value:(int)value { CFPreferencesSetValue ((CFStringRef) key, - (CFTypeRef) value ? kCFBooleanTrue - : kCFBooleanFalse, CFSTR (APP_PREFS), + (CFTypeRef) (value ? kCFBooleanTrue + : kCFBooleanFalse), app_prefs_domain_cfstr, kCFPreferencesCurrentUser, kCFPreferencesAnyHost); } @@ -589,14 +672,14 @@ static NSMutableArray * cfarray_to_nsarray (CFArrayRef in) { cfarray = nsarray_to_cfarray (value); CFPreferencesSetValue ((CFStringRef) key, (CFTypeRef) cfarray, - CFSTR (APP_PREFS), + app_prefs_domain_cfstr, kCFPreferencesCurrentUser, kCFPreferencesAnyHost); CFRelease (cfarray); } - (void) prefs_set_string:(NSString *)key value:(NSString *)value { CFPreferencesSetValue ((CFStringRef) key, (CFTypeRef) value, - CFSTR (APP_PREFS), kCFPreferencesCurrentUser, + app_prefs_domain_cfstr, kCFPreferencesCurrentUser, kCFPreferencesAnyHost); } @@ -606,55 +689,65 @@ static NSMutableArray * cfarray_to_nsarray (CFArrayRef in) { - (void) read_defaults { + NSString *nsstr; const char *tem; quartzUseSysBeep = [self prefs_get_boolean:@PREFS_SYSBEEP - default:quartzUseSysBeep]; + default:quartzUseSysBeep]; quartzEnableRootless = [self prefs_get_boolean:@PREFS_ROOTLESS - default:quartzEnableRootless]; -#ifdef DARWIN_DDX_MISSING + default:quartzEnableRootless]; + quartzFullscreenMenu = [self prefs_get_boolean:@PREFS_FULLSCREEN_MENU + default:quartzFullscreenMenu]; quartzFullscreenDisableHotkeys = ![self prefs_get_boolean: - @PREFS_FULLSCREEN_HOTKEYS default: - !quartzFullscreenDisableHotkeys]; - quartzXpluginOptions = [self prefs_get_integer:@PREFS_XP_OPTIONS - default:quartzXpluginOptions]; -#endif + @PREFS_FULLSCREEN_HOTKEYS default:!quartzFullscreenDisableHotkeys]; darwinFakeButtons = [self prefs_get_boolean:@PREFS_FAKEBUTTONS - default:darwinFakeButtons]; + 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); + 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, TRUE); + if (fake3 != NULL) darwinFakeMouse3Mask = DarwinParseModifierList(fake3, TRUE); } + + tem = [self prefs_get_string:@PREFS_APPKIT_MODIFIERS default:NULL]; + if (tem != NULL) darwinAppKitModMask = DarwinParseModifierList(tem, TRUE); + tem = [self prefs_get_string:@PREFS_WINDOW_ITEM_MODIFIERS default:NULL]; + if (tem != NULL) { + windowItemModMask = DarwinParseModifierList(tem, FALSE); + } else { + nsstr = NSLocalizedString (@"window item modifiers", @"window item modifiers"); + if(nsstr != NULL) { + tem = [nsstr UTF8String]; + if((tem != NULL) && strcmp(tem, "window item modifiers")) { + windowItemModMask = DarwinParseModifierList(tem, FALSE); + } + } + } + X11EnableKeyEquivalents = [self prefs_get_boolean:@PREFS_KEYEQUIVS - default:X11EnableKeyEquivalents]; + 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; - + default:darwinSyncKeymap]; + darwinDesiredDepth = [self prefs_get_integer:@PREFS_DEPTH - default:darwinDesiredDepth]; - - enable_stereo = [self prefs_get_boolean:@PREFS_ENABLE_STEREO - default:false]; + default:darwinDesiredDepth]; + + noTestExtensions = ![self prefs_get_boolean:@PREFS_TEST_EXTENSIONS + default:FALSE]; } /* This will end up at the end of the responder chain. */ - (void) copy:sender { - QuartzMessageServerThread (kXDarwinPasteboardNotify, 1, + DarwinSendDDXEvent(kXquartzPasteboardNotify, 1, AppleWMCopyToPasteboard); } -- (BOOL) x_active { +- (OSX_BOOL) x_active { return _x_active; } @@ -741,19 +834,6 @@ void X11ApplicationShowHideMenubar (int state) { [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; @@ -768,26 +848,23 @@ static void check_xinitrc (void) { 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); +environment the next time you start X11?", @"Startup xinitrc dialog"); + + if(NSAlertDefaultReturn == NSRunAlertPanel (nil, msg, NSLocalizedString (@"Yes", @""), + NSLocalizedString (@"No", @""), nil)) { + char buf2[1024]; + int i = -1; - for (i = 1; access (buf2, F_OK) == 0; i++) - snprintf (buf2, sizeof (buf2), "%s.old.%d", buf, i); + snprintf (buf2, sizeof (buf2), "%s.old", buf); - rename (buf, buf2); + for(i = 1; access (buf2, F_OK) == 0; i++) + snprintf (buf2, sizeof (buf2), "%s.old.%d", buf, i); + + rename (buf, buf2); } done: @@ -795,8 +872,9 @@ environment?", @"Startup xinitrc dialog"); [X11App prefs_synchronize]; } -void X11ApplicationMain (int argc, const char **argv, void (*server_thread) (void *), void *server_arg) { +void X11ApplicationMain (int argc, char **argv, char **envp) { NSAutoreleasePool *pool; + int *p; #ifdef DEBUG while (access ("/tmp/x11-block", F_OK) == 0) sleep (1); @@ -805,12 +883,14 @@ void X11ApplicationMain (int argc, const char **argv, void (*server_thread) (voi pool = [[NSAutoreleasePool alloc] init]; X11App = (X11Application *) [X11Application sharedApplication]; init_ports (); + + app_prefs_domain_cfstr = (CFStringRef)[[NSBundle mainBundle] bundleIdentifier]; + [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. @@ -821,102 +901,255 @@ void X11ApplicationMain (int argc, const char **argv, void (*server_thread) (voi /* Calculate the height of the menubar so we can avoid it. */ aquaMenuBarHeight = NSHeight([[NSScreen mainScreen] frame]) - NSMaxY([[NSScreen mainScreen] visibleFrame]); - - if (!create_thread (server_thread, server_arg)) { - ErrorF("can't create secondary thread\n"); - exit (1); - } - QuartzMoveToForeground(); + /* Set the key layout seed before we start the server */ +#if MAC_OS_X_VERSION_MIN_REQUIRED >= 1050 + last_key_layout = TISCopyCurrentKeyboardLayoutInputSource(); + if(!last_key_layout) + fprintf(stderr, "X11ApplicationMain: Unable to determine TISCopyCurrentKeyboardLayoutInputSource() at startup.\n"); +#else + KLGetCurrentKeyboardLayout(&last_key_layout); + if(!last_key_layout) + fprintf(stderr, "X11ApplicationMain: Unable to determine KLGetCurrentKeyboardLayout() at startup.\n"); +#endif + + memset(keyInfo.keyMap, 0, sizeof(keyInfo.keyMap)); + if (!QuartzReadSystemKeymap(&keyInfo)) { + fprintf(stderr, "X11ApplicationMain: Could not build a valid keymap.\n"); + } + + for(p=darwin_modifier_mask_list, modifierFlagsMask=0; *p; p++) { + modifierFlagsMask |= *p; + } + + /* Tell the server thread that it can proceed */ + QuartzInitServer(argc, argv, envp); + + /* This must be done after QuartzInitServer because it can result in + * an mieqEnqueue() - + */ + check_xinitrc(); + + if(!xpbproxy_init()) + fprintf(stderr, "Error initializing xpbproxy\n"); + [NSApp run]; /* not reached */ } -/* 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; +@implementation X11Application (Private) + +#ifdef NX_DEVICELCMDKEYMASK +/* This is to workaround a bug in the VNC server where we sometimes see the L + * modifier and sometimes see no "side" + */ +static inline int ensure_flag(int flags, int device_independent, int device_dependents, int device_dependent_default) { + if( (flags & device_independent) && + !(flags & device_dependents)) + flags |= device_dependent_default; + return flags; } +#endif - -// 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; +- (void) sendX11NSEvent:(NSEvent *)e { 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 */ + int ev_button, ev_type; + float pointer_x, pointer_y, pressure, tilt_x, tilt_y; + DeviceIntPtr pDev; + int modifierFlags; + + /* convert location to be relative to top-left of primary display */ 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); + 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_x = location.x; + pointer_y = (screen.origin.y + screen.size.height) - location.y; } + + /* Setup our valuators. These will range from 0 to 1 */ + pressure = 0; + tilt_x = 0; + tilt_y = 0; - pointer_y -= aquaMenuBarHeight; - // state = convert_flags ([e modifierFlags]); + modifierFlags = [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; +#ifdef NX_DEVICELCMDKEYMASK + /* This is to workaround a bug in the VNC server where we sometimes see the L + * modifier and sometimes see no "side" + */ + modifierFlags = ensure_flag(modifierFlags, NX_CONTROLMASK, NX_DEVICELCTLKEYMASK | NX_DEVICERCTLKEYMASK, NX_DEVICELCTLKEYMASK); + modifierFlags = ensure_flag(modifierFlags, NX_SHIFTMASK, NX_DEVICELSHIFTKEYMASK | NX_DEVICERSHIFTKEYMASK, NX_DEVICELSHIFTKEYMASK); + modifierFlags = ensure_flag(modifierFlags, NX_COMMANDMASK, NX_DEVICELCMDKEYMASK | NX_DEVICERCMDKEYMASK, NX_DEVICELCMDKEYMASK); + modifierFlags = ensure_flag(modifierFlags, NX_ALTERNATEMASK, NX_DEVICELALTKEYMASK | NX_DEVICERALTKEYMASK, NX_DEVICELALTKEYMASK); +#endif + + modifierFlags &= modifierFlagsMask; - case NSFlagsChanged: - DarwinUpdateModKeys([e modifierFlags]); - break; - default: break; /* for gcc */ - } + /* We don't receive modifier key events while out of focus, and 3button + * emulation mucks this up, so we need to check our modifier flag state + * on every event... ugg + */ + + if(darwin_modifier_flags != modifierFlags) + DarwinUpdateModKeys(modifierFlags); + + switch ([e 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; + case NSTabletPoint: ev_button=0; ev_type=MotionNotify; goto handle_mouse; + + handle_mouse: + pDev = darwinPointer; + + /* NSTabletPoint can have no subtype */ + if([e type] != NSTabletPoint && + [e subtype] == NSTabletProximityEventSubtype) { + switch([e pointingDeviceType]) { + case NSEraserPointingDevice: + darwinTabletCurrent=darwinTabletEraser; + break; + case NSPenPointingDevice: + darwinTabletCurrent=darwinTabletStylus; + break; + case NSCursorPointingDevice: + case NSUnknownPointingDevice: + default: + darwinTabletCurrent=darwinTabletCursor; + break; + } + + /* NSTabletProximityEventSubtype doesn't encode pressure ant tilt + * So we just pretend the motion was caused by the mouse. Hopefully + * we'll have a better solution for this in the future (like maybe + * NSTabletProximityEventSubtype will come from NSTabletPoint + * rather than NSMouseMoved. + pressure = [e pressure]; + tilt_x = [e tilt].x; + tilt_y = [e tilt].y; + pDev = darwinTabletCurrent; + */ + + DarwinSendProximityEvents([e isEnteringProximity]?ProximityIn:ProximityOut, + pointer_x, pointer_y); + } + + if ([e type] == NSTabletPoint || [e subtype] == NSTabletPointEventSubtype) { + pressure = [e pressure]; + tilt_x = [e tilt].x; + tilt_y = [e tilt].y; + + pDev = darwinTabletCurrent; + } + +/* Older libXplugin (Tiger/"Stock" Leopard) aren't thread safe, so we can't call xp_find_window from the Appkit thread */ +#ifdef XPLUGIN_VERSION +#if XPLUGIN_VERSION > 0 + if(!quartzServerVisible) { + xp_window_id wid; + + /* Sigh. Need to check that we're really over one of + * our windows. (We need to receive pointer events while + * not in the foreground, but we don't want to receive them + * when another window is over us or we might show a tooltip) + */ + + wid = 0; + + if (xp_find_window(pointer_x, pointer_y, 0, &wid) == XP_Success && + wid == 0) + return; + } +#endif +#endif + + DarwinSendPointerEvents(pDev, ev_type, ev_button, pointer_x, pointer_y, + pressure, tilt_x, tilt_y); + + break; + + case NSTabletProximity: + switch([e pointingDeviceType]) { + case NSEraserPointingDevice: + darwinTabletCurrent=darwinTabletEraser; + break; + case NSPenPointingDevice: + darwinTabletCurrent=darwinTabletStylus; + break; + case NSCursorPointingDevice: + case NSUnknownPointingDevice: + default: + darwinTabletCurrent=darwinTabletCursor; + break; + } + + DarwinSendProximityEvents([e isEnteringProximity]?ProximityIn:ProximityOut, + pointer_x, pointer_y); + break; + + case NSScrollWheel: + DarwinSendScrollEvents([e deltaX], [e deltaY], pointer_x, pointer_y, + pressure, tilt_x, tilt_y); + break; + + case NSKeyDown: case NSKeyUp: + if(darwinSyncKeymap) { +#if MAC_OS_X_VERSION_MIN_REQUIRED >= 1050 + TISInputSourceRef key_layout = TISCopyCurrentKeyboardLayoutInputSource(); + TISInputSourceRef clear; + if (CFEqual(key_layout, last_key_layout)) { + CFRelease(key_layout); + } else { + /* Swap/free thread-safely */ + clear = last_key_layout; + last_key_layout = key_layout; + CFRelease(clear); +#else + KeyboardLayoutRef key_layout; + KLGetCurrentKeyboardLayout(&key_layout); + if(key_layout != last_key_layout) { + last_key_layout = key_layout; +#endif + + /* Update keyInfo */ + pthread_mutex_lock(&keyInfo_mutex); + memset(keyInfo.keyMap, 0, sizeof(keyInfo.keyMap)); + if (!QuartzReadSystemKeymap(&keyInfo)) { + fprintf(stderr, "sendX11NSEvent: Could not build a valid keymap.\n"); + } + pthread_mutex_unlock(&keyInfo_mutex); + + /* Tell server thread to deal with new keyInfo */ + DarwinSendDDXEvent(kXquartzReloadKeymap, 0); + } + } + + /* Avoid stuck keys on context switch */ + if(keyState[[e keyCode]] == [e type]) + return; + keyState[[e keyCode]] = [e type]; + + DarwinSendKeyboardEvents(([e type] == NSKeyDown) ? KeyPress : KeyRelease, [e keyCode]); + break; + + default: break; /* for gcc */ + } } +@end diff --git a/xorg-server/hw/xquartz/X11Controller.h b/xorg-server/hw/xquartz/X11Controller.h index 64d5cd1ce..bb9adb1ce 100644 --- a/xorg-server/hw/xquartz/X11Controller.h +++ b/xorg-server/hw/xquartz/X11Controller.h @@ -32,7 +32,7 @@ #if __OBJC__ -#import +#include "sanitizedCocoa.h" #include "xpr/x-list.h" @interface X11Controller : NSObject @@ -41,12 +41,22 @@ IBOutlet NSButton *fake_buttons; IBOutlet NSButton *enable_fullscreen; + IBOutlet NSButton *enable_fullscreen_menu; IBOutlet NSButton *use_sysbeep; IBOutlet NSButton *enable_keyequivs; IBOutlet NSButton *sync_keymap; IBOutlet NSButton *click_through; + IBOutlet NSButton *focus_follows_mouse; + IBOutlet NSButton *focus_on_new_window; IBOutlet NSButton *enable_auth; IBOutlet NSButton *enable_tcp; + IBOutlet NSButton *sync_pasteboard; + IBOutlet NSButton *sync_pasteboard_to_clipboard; + IBOutlet NSButton *sync_pasteboard_to_primary; + IBOutlet NSButton *sync_clipboard_to_pasteboard; + IBOutlet NSButton *sync_primary_immediately; + IBOutlet NSTextField *sync_text1; + IBOutlet NSTextField *sync_text2; IBOutlet NSPopUpButton *depth; IBOutlet NSMenuItem *x11_about_item; @@ -54,6 +64,7 @@ IBOutlet NSMenuItem *dock_window_separator; IBOutlet NSMenuItem *apps_separator; IBOutlet NSMenuItem *toggle_fullscreen_item; + IBOutlet NSMenuItem *copy_menu_item; IBOutlet NSMenu *dock_apps_menu; IBOutlet NSTableView *apps_table; @@ -65,18 +76,17 @@ int checked_window_item; x_list *pending_apps; - BOOL finished_launching; - BOOL can_quit; + OSX_BOOL finished_launching; + OSX_BOOL can_quit; } - (void) set_window_menu:(NSArray *)list; - (void) set_window_menu_check:(NSNumber *)n; - (void) set_apps_menu:(NSArray *)list; -- (void) set_can_quit:(BOOL)state; +- (void) set_can_quit:(OSX_BOOL)state; - (void) server_ready; - (IBAction) apps_table_show:(id)sender; -- (IBAction) apps_table_cancel:(id)sender; - (IBAction) apps_table_done:(id)sender; - (IBAction) apps_table_new:(id)sender; - (IBAction) apps_table_duplicate:(id)sender; @@ -98,6 +108,6 @@ #endif /* __OBJC__ */ -void X11ControllerMain(int argc, const char **argv, void (*server_thread) (void *), void *server_arg); +void X11ControllerMain(int argc, char **argv, char **envp); #endif /* X11CONTROLLER_H */ diff --git a/xorg-server/hw/xquartz/X11Controller.m b/xorg-server/hw/xquartz/X11Controller.m index 5111eafc3..adf861ca9 100644 --- a/xorg-server/hw/xquartz/X11Controller.m +++ b/xorg-server/hw/xquartz/X11Controller.m @@ -1,6 +1,6 @@ /* X11Controller.m -- connect the IB ui, also the NSApp delegate - Copyright (c) 2002-2007 Apple Inc. All rights reserved. + Copyright (c) 2002-2008 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 @@ -27,27 +27,25 @@ promote the sale, use or other dealings in this Software without prior written authorization. */ +#include "sanitizedCarbon.h" +#include + #ifdef HAVE_DIX_CONFIG_H #include #endif -#define DEFAULT_PATH "/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11/bin" - #include "quartzCommon.h" #import "X11Controller.h" #import "X11Application.h" -#import -/* ouch! */ -#define BOOL X_BOOL #include "opaque.h" -# include "darwin.h" -# include "quartz.h" -# define _APPLEWM_SERVER_ -# include "X11/extensions/applewm.h" -# include "applewmExt.h" -#undef BOOL +#include "darwin.h" +#include "darwinEvents.h" +#include "quartz.h" +#define _APPLEWM_SERVER_ +#include "X11/extensions/applewm.h" +#include "applewmExt.h" #include #include @@ -55,6 +53,8 @@ #include #include +BOOL xquartz_resetenv_display = NO; + @implementation X11Controller - (void) awakeFromNib @@ -97,13 +97,20 @@ [self set_apps_menu:array]; } + + [[NSNotificationCenter defaultCenter] + addObserver: self + selector: @selector(apps_table_done:) + name: NSWindowWillCloseNotification + object: [apps_table window]]; + } - (void) item_selected:sender { [NSApp activateIgnoringOtherApps:YES]; - QuartzMessageServerThread (kXDarwinControllerNotify, 2, + DarwinSendDDXEvent(kXquartzControllerNotify, 2, AppleWMWindowMenuItem, [sender tag]); } @@ -130,7 +137,7 @@ NSMenu *menu; NSMenuItem *item; int first, count, i; - + menu = [window_separator menu]; first = [menu indexOfItem:window_separator] + 1; count = [list count]; @@ -140,17 +147,30 @@ name = [[list objectAtIndex:i] objectAtIndex:0]; shortcut = [[list objectAtIndex:i] objectAtIndex:1]; - + + if(windowItemModMask == 0 || windowItemModMask == -1) + shortcut = @""; + item = (NSMenuItem *) [menu addItemWithTitle:name action:@selector (item_selected:) keyEquivalent:shortcut]; +#if MAC_OS_X_VERSION_MIN_REQUIRED >= 1050 + [item setKeyEquivalentModifierMask:(NSUInteger) windowItemModMask]; +#else + [item setKeyEquivalentModifierMask:windowItemModMask]; +#endif [item setTarget:self]; [item setTag:i]; [item setEnabled:YES]; - + item = (NSMenuItem *) [dock_menu insertItemWithTitle:name action:@selector (item_selected:) keyEquivalent:shortcut atIndex:i]; +#if MAC_OS_X_VERSION_MIN_REQUIRED >= 1050 + [item setKeyEquivalentModifierMask:(NSUInteger) windowItemModMask]; +#else + [item setKeyEquivalentModifierMask:windowItemModMask]; +#endif [item setTarget:self]; [item setTag:i]; [item setEnabled:YES]; @@ -254,7 +274,7 @@ [self remove_window_menu]; [self install_window_menu:list]; - QuartzMessageServerThread (kXDarwinControllerNotify, 1, + DarwinSendDDXEvent(kXquartzControllerNotify, 1, AppleWMWindowMenuNotify); } @@ -294,76 +314,59 @@ - (void) launch_client:(NSString *)filename { - const char *command = [filename UTF8String]; - const char *argv[7]; - int child1, child2 = 0; - int status; - - argv[0] = "/usr/bin/login"; - argv[1] = "-fp"; - argv[2] = getlogin(); - argv[3] = [X11App prefs_get_string:@PREFS_LOGIN_SHELL default:"/bin/sh"]; - argv[4] = "-c"; - argv[5] = command; - argv[6] = NULL; - - /* Do the fork-twice trick to avoid having to reap zombies */ + int child1, child2 = 0; + int status; + const char *newargv[4]; + char buf[128]; + char *s; - child1 = fork(); + newargv[0] = [X11App prefs_get_string:@PREFS_LOGIN_SHELL default:"/bin/sh"]; + newargv[1] = "-c"; + newargv[2] = [filename UTF8String]; + newargv[3] = NULL; - switch (child1) { - case -1: /* error */ - break; + s = getenv("DISPLAY"); + if (xquartz_resetenv_display || s == NULL || s[0] == 0) { + snprintf(buf, sizeof(buf), ":%s", display); + setenv("DISPLAY", buf, TRUE); + } + + /* Do the fork-twice trick to avoid having to reap zombies */ + child1 = fork(); + switch (child1) { + case -1: /* error */ + break; - case 0: /* child1 */ - child2 = fork(); + 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; + switch (child2) { + int max_files, i; + + 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); + + execvp(newargv[0], (char **const) newargv); + _exit(2); + + default: /* parent (child1) */ + _exit(0); + } + break; - default: /* parent */ - waitpid(child1, &status, 0); - } + default: /* parent */ + waitpid(child1, &status, 0); + } } - (void) app_selected:sender @@ -383,12 +386,14 @@ - (IBAction) apps_table_show:sender { NSArray *columns; + NSMutableArray *oldapps = nil; - if (table_apps == nil) { - table_apps = [[NSMutableArray alloc] initWithCapacity:1]; - - if (apps != nil)[table_apps addObjectsFromArray:apps]; - } + if (table_apps != nil) + oldapps = table_apps; + + table_apps = [[NSMutableArray alloc] initWithCapacity:1]; + if(apps != nil) + [table_apps addObjectsFromArray:apps]; columns = [apps_table tableColumns]; [[columns objectAtIndex:0] setIdentifier:@"0"]; @@ -399,15 +404,9 @@ [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; + if(oldapps != nil) + [oldapps release]; } - (IBAction) apps_table_done:sender @@ -539,20 +538,20 @@ objectValueForTableColumn:(NSTableColumn *)tableColumn row:(int)row - (void) hide_window:sender { if ([X11App x_active]) - QuartzMessageServerThread (kXDarwinControllerNotify, 1, AppleWMHideWindow); + DarwinSendDDXEvent(kXquartzControllerNotify, 1, AppleWMHideWindow); else NSBeep (); /* FIXME: something here */ } - (IBAction)bring_to_front:sender { - QuartzMessageServerThread(kXDarwinControllerNotify, 1, AppleWMBringAllToFront); + DarwinSendDDXEvent(kXquartzControllerNotify, 1, AppleWMBringAllToFront); } - (IBAction)close_window:sender { if ([X11App x_active]) - QuartzMessageServerThread (kXDarwinControllerNotify, 1, AppleWMCloseWindow); + DarwinSendDDXEvent(kXquartzControllerNotify, 1, AppleWMCloseWindow); else [[NSApp keyWindow] performClose:sender]; } @@ -560,7 +559,7 @@ objectValueForTableColumn:(NSTableColumn *)tableColumn row:(int)row - (IBAction)minimize_window:sender { if ([X11App x_active]) - QuartzMessageServerThread (kXDarwinControllerNotify, 1, AppleWMMinimizeWindow); + DarwinSendDDXEvent(kXquartzControllerNotify, 1, AppleWMMinimizeWindow); else [[NSApp keyWindow] performMiniaturize:sender]; } @@ -568,101 +567,145 @@ objectValueForTableColumn:(NSTableColumn *)tableColumn row:(int)row - (IBAction)zoom_window:sender { if ([X11App x_active]) - QuartzMessageServerThread (kXDarwinControllerNotify, 1, AppleWMZoomWindow); + DarwinSendDDXEvent(kXquartzControllerNotify, 1, AppleWMZoomWindow); else [[NSApp keyWindow] performZoom:sender]; } - (IBAction) next_window:sender { - QuartzMessageServerThread (kXDarwinControllerNotify, 1, AppleWMNextWindow); + DarwinSendDDXEvent(kXquartzControllerNotify, 1, AppleWMNextWindow); } - (IBAction) previous_window:sender { - QuartzMessageServerThread (kXDarwinControllerNotify, 1, AppleWMPreviousWindow); + DarwinSendDDXEvent(kXquartzControllerNotify, 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) enable_fullscreen_changed:sender { + int value = ![enable_fullscreen intValue]; + + [enable_fullscreen_menu setEnabled:!value]; + + DarwinSendDDXEvent(kXquartzSetRootless, 1, value); + + [NSApp prefs_set_boolean:@PREFS_ROOTLESS value:value]; + [NSApp prefs_synchronize]; } - (IBAction) toggle_fullscreen:sender { -#ifdef DARWIN_DDX_MISSING - QuartzMessageServerThread (kXDarwinToggleFullscreen, 0); -#endif + DarwinSendDDXEvent(kXquartzToggleFullscreen, 0); } -- (void) set_can_quit:(BOOL)state +- (void) set_can_quit:(OSX_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_QUARTZ_WM_CLICK_THROUGH value:[click_through intValue]]; - [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]; + darwinFakeButtons = [fake_buttons intValue]; + quartzUseSysBeep = [use_sysbeep intValue]; + X11EnableKeyEquivalents = [enable_keyequivs intValue]; + darwinSyncKeymap = [sync_keymap intValue]; + quartzFullscreenMenu = [enable_fullscreen_menu intValue]; + + /* after adding prefs here, also add to [X11Application read_defaults] + and prefs_show */ + + [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_FULLSCREEN_MENU value:quartzFullscreenMenu]; + [NSApp prefs_set_boolean:@PREFS_CLICK_THROUGH value:[click_through intValue]]; + [NSApp prefs_set_boolean:@PREFS_FFM value:[focus_follows_mouse intValue]]; + [NSApp prefs_set_boolean:@PREFS_FOCUS_ON_NEW_WINDOW value:[focus_on_new_window intValue]]; + [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]]; + + BOOL pbproxy_active = [sync_pasteboard intValue]; + + [NSApp prefs_set_boolean:@PREFS_SYNC_PB value:pbproxy_active]; + [NSApp prefs_set_boolean:@PREFS_SYNC_PB_TO_CLIPBOARD value:[sync_pasteboard_to_clipboard intValue]]; + [NSApp prefs_set_boolean:@PREFS_SYNC_PB_TO_PRIMARY value:[sync_pasteboard_to_primary intValue]]; + [NSApp prefs_set_boolean:@PREFS_SYNC_CLIPBOARD_TO_PB value:[sync_clipboard_to_pasteboard intValue]]; + [NSApp prefs_set_boolean:@PREFS_SYNC_PRIMARY_ON_SELECT value:[sync_primary_immediately intValue]]; + + [NSApp prefs_synchronize]; + + [sync_pasteboard_to_clipboard setEnabled:pbproxy_active]; + [sync_pasteboard_to_primary setEnabled:pbproxy_active]; + [sync_clipboard_to_pasteboard setEnabled:pbproxy_active]; + [sync_primary_immediately setEnabled:pbproxy_active]; + + // setEnabled doesn't do this... + [sync_text1 setTextColor:pbproxy_active ? [NSColor controlTextColor] : [NSColor disabledControlTextColor]]; + [sync_text2 setTextColor:pbproxy_active ? [NSColor controlTextColor] : [NSColor disabledControlTextColor]]; + + DarwinSendDDXEvent(kXquartzReloadPreferences, 0); } - (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]; - [click_through setIntValue:[NSApp prefs_get_boolean:@PREFS_QUARTZ_WM_CLICK_THROUGH default:NO]]; - - [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]; + BOOL pbproxy_active = [NSApp prefs_get_boolean:@PREFS_SYNC_PB default:YES]; + + [fake_buttons setIntValue:darwinFakeButtons]; + [use_sysbeep setIntValue:quartzUseSysBeep]; + [enable_keyequivs setIntValue:X11EnableKeyEquivalents]; + [sync_keymap setIntValue:darwinSyncKeymap]; + [click_through setIntValue:[NSApp prefs_get_boolean:@PREFS_CLICK_THROUGH default:NO]]; + [focus_follows_mouse setIntValue:[NSApp prefs_get_boolean:@PREFS_FFM default:NO]]; + [focus_on_new_window setIntValue:[NSApp prefs_get_boolean:@PREFS_FOCUS_ON_NEW_WINDOW default:YES]]; + + [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]]]; + + [sync_pasteboard setIntValue:pbproxy_active]; + [sync_pasteboard_to_clipboard setIntValue:[NSApp prefs_get_boolean:@PREFS_SYNC_PB_TO_CLIPBOARD default:YES]]; + [sync_pasteboard_to_primary setIntValue:[NSApp prefs_get_boolean:@PREFS_SYNC_PB_TO_PRIMARY default:YES]]; + [sync_clipboard_to_pasteboard setIntValue:[NSApp prefs_get_boolean:@PREFS_SYNC_CLIPBOARD_TO_PB default:YES]]; + [sync_primary_immediately setIntValue:[NSApp prefs_get_boolean:@PREFS_SYNC_PRIMARY_ON_SELECT default:NO]]; + + [sync_pasteboard_to_clipboard setEnabled:pbproxy_active]; + [sync_pasteboard_to_primary setEnabled:pbproxy_active]; + [sync_clipboard_to_pasteboard setEnabled:pbproxy_active]; + [sync_primary_immediately setEnabled:pbproxy_active]; + + // setEnabled doesn't do this... + [sync_text1 setTextColor:pbproxy_active ? [NSColor controlTextColor] : [NSColor disabledControlTextColor]]; + [sync_text2 setTextColor:pbproxy_active ? [NSColor controlTextColor] : [NSColor disabledControlTextColor]]; - [prefs_panel makeKeyAndOrderFront:sender]; + [enable_fullscreen setIntValue:!quartzEnableRootless]; + [enable_fullscreen_menu setEnabled:!quartzEnableRootless]; + [enable_fullscreen_menu setIntValue:quartzFullscreenMenu]; + + [prefs_panel makeKeyAndOrderFront:sender]; } -- (IBAction) quit:sender -{ - QuartzMessageServerThread (kXDarwinQuit, 0); +- (IBAction) quit:sender { + DarwinSendDDXEvent(kXquartzQuit, 0); } -- (IBAction) x11_help:sender -{ - AHLookupAnchor ((CFStringRef)NSLocalizedString(@"Mac Help", no comment), CFSTR ("mchlp2276")); +- (IBAction) x11_help:sender { +#if MAC_OS_X_VERSION_MIN_REQUIRED < 1060 + AHLookupAnchor((CFStringRef)NSLocalizedString(@"Mac Help", no comment), CFSTR("mchlp2276")); +#else + AHLookupAnchor(CFSTR("com.apple.machelp"), CFSTR("mchlp2276")); +#endif } -- (BOOL) validateMenuItem:(NSMenuItem *)item -{ +- (OSX_BOOL) validateMenuItem:(NSMenuItem *)item { NSMenu *menu = [item menu]; - + if (item == toggle_fullscreen_item) return !quartzEnableRootless; + else if (item == copy_menu_item) // For some reason, this isn't working... + return NO; else if (menu == [window_separator menu] || menu == dock_menu || (menu == [x11_about_item menu] && [item tag] == 42)) return (AppleWMSelectedEvents () & AppleWMControllerNotifyMask) != 0; @@ -672,32 +715,34 @@ objectValueForTableColumn:(NSTableColumn *)tableColumn row:(int)row - (void) applicationDidHide:(NSNotification *)notify { - QuartzMessageServerThread (kXDarwinControllerNotify, 1, AppleWMHideAll); + DarwinSendDDXEvent(kXquartzControllerNotify, 1, AppleWMHideAll); } - (void) applicationDidUnhide:(NSNotification *)notify { - QuartzMessageServerThread (kXDarwinControllerNotify, 1, AppleWMShowAll); + DarwinSendDDXEvent(kXquartzControllerNotify, 1, AppleWMShowAll); } -- (NSApplicationTerminateReply) applicationShouldTerminate:sender -{ - NSString *msg; - - if (can_quit || [X11App prefs_get_boolean:@PREFS_NO_QUIT_ALERT default:NO]) - return NSTerminateNow; +- (NSApplicationTerminateReply) applicationShouldTerminate:sender { + NSString *msg; + NSString *title; - /* Make sure we're frontmost. */ - [NSApp activateIgnoringOtherApps:YES]; + if (can_quit || [X11App prefs_get_boolean:@PREFS_NO_QUIT_ALERT default:NO]) + return NSTerminateNow; - 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"); + /* Make sure we're frontmost. */ + [NSApp activateIgnoringOtherApps:YES]; - /* 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.. */ + title = NSLocalizedString(@"Do you really want to quit X11?", @"Dialog title when quitting"); + msg = NSLocalizedString(@"Any open X11 applications will stop immediately, and you will lose any unsaved changes.", @"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; + return (NSRunAlertPanel (title, msg, NSLocalizedString (@"Quit", @""), + NSLocalizedString (@"Cancel", @""), nil) + == NSAlertDefaultReturn) ? NSTerminateNow : NSTerminateCancel; } - (void) applicationWillTerminate:(NSNotification *)aNotification @@ -705,7 +750,7 @@ objectValueForTableColumn:(NSTableColumn *)tableColumn row:(int)row [X11App prefs_synchronize]; /* shutdown the X server, it will exit () for us. */ - QuartzMessageServerThread (kXDarwinQuit, 0); + DarwinSendDDXEvent(kXquartzQuit, 0); /* In case it doesn't, exit anyway after a while. */ while (sleep (10) != 0) ; @@ -729,21 +774,21 @@ objectValueForTableColumn:(NSTableColumn *)tableColumn row:(int)row pending_apps = NULL; } -- (BOOL) application:(NSApplication *)app openFile:(NSString *)filename +- (OSX_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; + 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); +void X11ControllerMain(int argc, char **argv, char **envp) { + X11ApplicationMain (argc, argv, envp); } diff --git a/xorg-server/hw/xquartz/applewm.c b/xorg-server/hw/xquartz/applewm.c index 072e57ff4..c72540ace 100644 --- a/xorg-server/hw/xquartz/applewm.c +++ b/xorg-server/hw/xquartz/applewm.c @@ -25,6 +25,8 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. **************************************************************************/ +#include "sanitizedCarbon.h" + #ifdef HAVE_DIX_CONFIG_H #include #endif @@ -72,8 +74,6 @@ static int WMErrorBase; static DISPATCH_PROC(ProcAppleWMDispatch); static DISPATCH_PROC(SProcAppleWMDispatch); -static void AppleWMResetProc(ExtensionEntry* extEntry); - static unsigned char WMReqCode = 0; static int WMEventBase = 0; @@ -122,7 +122,7 @@ AppleWMExtensionInit( AppleWMNumberErrors, ProcAppleWMDispatch, SProcAppleWMDispatch, - AppleWMResetProc, + NULL, StandardMinorOpcode))) { WMReqCode = (unsigned char)extEntry->base; @@ -133,14 +133,6 @@ AppleWMExtensionInit( } } -/*ARGSUSED*/ -static void -AppleWMResetProc ( - ExtensionEntry* extEntry -) -{ -} - /* Updates the _NATIVE_SCREEN_ORIGIN property on the given root window. */ void AppleWMSetScreenOrigin( @@ -173,7 +165,11 @@ AppleWMDoReorderWindow( atom = xa_apple_no_order_in(); rc = dixLookupProperty(&prop, pWin, atom, serverClient, DixReadAccess); - return (rc == Success) && (prop->type == atom); + + if(Success == rc && prop->type == atom) + return 0; + + return 1; } diff --git a/xorg-server/hw/xquartz/bundle/Dutch.lproj/InfoPlist.strings b/xorg-server/hw/xquartz/bundle/Dutch.lproj/InfoPlist.strings deleted file mode 100644 index 8f978d63f..000000000 Binary files a/xorg-server/hw/xquartz/bundle/Dutch.lproj/InfoPlist.strings and /dev/null differ diff --git a/xorg-server/hw/xquartz/bundle/Dutch.lproj/Localizable.strings b/xorg-server/hw/xquartz/bundle/Dutch.lproj/Localizable.strings deleted file mode 100644 index 1ff39fe67..000000000 Binary files a/xorg-server/hw/xquartz/bundle/Dutch.lproj/Localizable.strings and /dev/null differ diff --git a/xorg-server/hw/xquartz/bundle/Dutch.lproj/main.nib/keyedobjects.nib b/xorg-server/hw/xquartz/bundle/Dutch.lproj/main.nib/keyedobjects.nib deleted file mode 100644 index 95c26d7b3..000000000 Binary files a/xorg-server/hw/xquartz/bundle/Dutch.lproj/main.nib/keyedobjects.nib and /dev/null differ diff --git a/xorg-server/hw/xquartz/bundle/English.lproj/InfoPlist.strings b/xorg-server/hw/xquartz/bundle/English.lproj/InfoPlist.strings deleted file mode 100644 index 88e1f04ac..000000000 Binary files a/xorg-server/hw/xquartz/bundle/English.lproj/InfoPlist.strings and /dev/null differ diff --git a/xorg-server/hw/xquartz/bundle/English.lproj/Localizable.strings b/xorg-server/hw/xquartz/bundle/English.lproj/Localizable.strings deleted file mode 100644 index c83b08536..000000000 Binary files a/xorg-server/hw/xquartz/bundle/English.lproj/Localizable.strings and /dev/null differ diff --git a/xorg-server/hw/xquartz/bundle/English.lproj/main.nib/designable.nib b/xorg-server/hw/xquartz/bundle/English.lproj/main.nib/designable.nib deleted file mode 100644 index ea3a0daa8..000000000 --- a/xorg-server/hw/xquartz/bundle/English.lproj/main.nib/designable.nib +++ /dev/null @@ -1,3482 +0,0 @@ - - - - 1050 - 9C31 - 639 - 949.26 - 352.00 - - YES - - - - - YES - com.apple.InterfaceBuilder.CocoaPlugin - - - YES - - - NSApplication - - - - FirstResponder - - - NSApplication - - - MainMenu - - YES - - - X11 - - 1048576 - 2147483647 - - NSImage - NSMenuCheckmark - - - NSImage - NSMenuMixedState - - submenuAction: - - X11 - - YES - - - About X11 - - 2147483647 - - - - - - Preferences... - , - 1048576 - 2147483647 - - - - - - YES - YES - - - 1048576 - 2147483647 - - - - - - Services - - 1048576 - 2147483647 - - - submenuAction: - - - Services - - - YES - - _NSServicesMenu - - - - - YES - YES - - - 1048576 - 2147483647 - - - - - - Toggle Full Screen - a - 1572864 - 2147483647 - - - - - - YES - YES - - - 1048576 - 2147483647 - - - - - - Hide X11 - h - 1048576 - 2147483647 - - - 42 - - - - Hide Others - - 1048576 - 2147483647 - - - - - - Show All - - 1048576 - 2147483647 - - - 42 - - - - YES - YES - - - 1048576 - 2147483647 - - - - - - Quit X11 - q - 1048576 - 2147483647 - - - - - _NSAppleMenu - - - - - Applications - - 1048576 - 2147483647 - - - submenuAction: - - Applications - - YES - - - YES - YES - - - 1048576 - 2147483647 - - - - - - Customize... - - 1048576 - 2147483647 - - - - - - - - - Edit - - 1048576 - 2147483647 - - - submenuAction: - - Edit - - YES - - - Undo - z - 1048576 - 2147483647 - - - - - - Redo - Z - 1048576 - 2147483647 - - - - - - YES - YES - - - 1048576 - 2147483647 - - - - - - Cut - x - 1048576 - 2147483647 - - - - - - Copy - c - 1048576 - 2147483647 - - - - - - Paste - v - 1048576 - 2147483647 - - - - - - Delete - - 1048576 - 2147483647 - - - - - - Select All - a - 1048576 - 2147483647 - - - - - - - - - Window - - 1048576 - 2147483647 - - - submenuAction: - - - Window - - - YES - - - Minimize - m - 1048576 - 2147483647 - - - - - - Zoom - - 1048576 - 2147483647 - - - - - - Cycle Through Windows - ` - 1048840 - 2147483647 - - - - - - Reverse Cycle Through Windows - ~ - 1179914 - 2147483647 - - - - - - YES - YES - - - 1048576 - 2147483647 - - - - - - Close - w - 1048576 - 2147483647 - - - - - - YES - YES - - - 1048576 - 2147483647 - - - - - - Bring All to Front - - 1048576 - 2147483647 - - - - - - YES - YES - - - 1048576 - 2147483647 - - - - - _NSWindowsMenu - - - - - Help - - 1048576 - 2147483647 - - - submenuAction: - - Help - - YES - - - X11 Help - - 1048576 - 2147483647 - - - - - - - - _NSMainMenu - - - X11Controller - - - 3 - 2 - {{319, 294}, {481, 345}} - 1350041600 - X11 Preferences - NSPanel - - View - - {3.40282e+38, 3.40282e+38} - {213, 107} - - - 256 - - YES - - - 256 - {{10, 10}, {458, 325}} - - - YES - - - 1 - - - - 256 - - YES - - - 256 - {{18, 243}, {402, 18}} - - YES - - 67239424 - 0 - Emulate three button mouse - - LucidaGrande - 1.300000e+01 - 1044 - - - 1211912703 - 2 - - NSSwitch - - - - 200 - 25 - - - - - 256 - {{36, 93}, {385, 31}} - - YES - - 67239424 - 4194304 - When enabled, menu bar key equivalents may interfere with X11 applications that use the Meta modifier. - - LucidaGrande - 1.100000e+01 - 3100 - - - - 6 - System - controlColor - - 3 - MC42NjY2NjY2OQA - - - - 6 - System - controlTextColor - - 3 - MAA - - - - - - - 256 - {{36, 208}, {385, 29}} - - YES - - 67239424 - 4194304 - SG9sZCBPcHRpb24gYW5kIENvbW1hbmQgd2hpbGUgY2xpY2tpbmcgdG8gYWN0aXZhdGUgdGhlIG1pZGRs -ZSBhbmQgcmlnaHQgbW91c2UgYnV0dG9ucy4KA - - - - - - - - - 256 - {{18, 130}, {402, 18}} - - YES - - 67239424 - 0 - Enable key equivalents under X11 - - - 1211912703 - 2 - - - - 200 - 25 - - - - - 256 - {{36, 159}, {385, 14}} - - YES - - 67239424 - 4194304 - Allows input menu changes to overwrite the current X11 keymap. - - - - - - - - - 256 - {{18, 179}, {402, 18}} - - YES - - 67239424 - 0 - Follow system keyboard layout - - - 1211912703 - 2 - - - - 200 - 25 - - - - - 256 - {{18, 69}, {402, 18}} - - YES - - 67239424 - 0 - Click-through Inactive Windows - - - 1211912703 - 2 - - - - 200 - 25 - - - - - 256 - {{33, 32}, {385, 31}} - - YES - - 67239424 - 4194304 - When enabled, clicking on an inactive window will cause that mouse click to pass through to that window in addition to activating it. - - - - - - - - {{10, 33}, {438, 279}} - - - Input - - - - - - 2 - - - - 256 - - YES - - - 256 - {{18, 116}, {402, 18}} - - YES - - 67239424 - 0 - Use system alert effect - - - 1211912703 - 2 - - - - 200 - 25 - - - - - 256 - {{36, 82}, {385, 28}} - - YES - - 67239424 - 4194304 - X11 beeps will use the standard system alert, as defined in the Sound Effects system preferences panel. - - - - - - - - - 256 - {{74, 235}, {128, 26}} - - YES - - -2076049856 - 1024 - - - 109199615 - 1 - - LucidaGrande - 1.300000e+01 - 16 - - - - - - - - 400 - 75 - - - From Display - - 1048576 - 2147483647 - 1 - - - _popUpItemAction: - -1 - - - YES - - - OtherViews - - - YES - - - - 256 Colors - - 1048576 - 2147483647 - - - _popUpItemAction: - 8 - - - - - Thousands - - 1048576 - 2147483647 - - - _popUpItemAction: - 15 - - - - - Millions - - 1048576 - 2147483647 - - - _popUpItemAction: - 24 - - - - - 3 - YES - YES - 1 - - - - - 256 - {{17, 238}, {55, 20}} - - YES - - 67239424 - 4194304 - Q29sb3JzOgo - - - - - - - - - 256 - {{36, 216}, {392, 14}} - - YES - - 67239424 - 4194304 - This option takes effect when X11 is launched again. - - - - - - - - - 256 - {{18, 182}, {409, 23}} - - YES - - 67239424 - 0 - Full screen mode - - - 1211912703 - 2 - - - - 200 - 25 - - - - - 256 - {{36, 145}, {385, 31}} - - YES - - 67239424 - 4194304 - Enables the X11 root window. Use the Command-Option-A keystroke to enter and leave full screen mode. - - - - - - - - {{10, 33}, {438, 279}} - - Output - - - - - - - 256 - - YES - - - 256 - {{18, 243}, {402, 18}} - - YES - - 67239424 - 0 - Authenticate connections - - - 1211912703 - 2 - - - - 200 - 25 - - - - - 256 - {{18, 166}, {402, 18}} - - YES - - 67239424 - 0 - Allow connections from network clients - - - 1211912703 - 2 - - - - 200 - 25 - - - - - 256 - {{36, 195}, {385, 42}} - - YES - - 67239424 - 4194304 - TGF1bmNoaW5nIFgxMSB3aWxsIGNyZWF0ZSBYYXV0aG9yaXR5IGFjY2Vzcy1jb250cm9sIGtleXMuIElm -IHRoZSBzeXN0ZW0ncyBJUCBhZGRyZXNzIGNoYW5nZXMsIHRoZXNlIGtleXMgYmVjb21lIGludmFsaWQg -d2hpY2ggbWF5IHByZXZlbnQgWDExIGFwcGxpY2F0aW9ucyBmcm9tIGxhdW5jaGluZy4 - - - - - - - - - 256 - {{36, 118}, {385, 42}} - - YES - - 67239424 - 4194304 - If enabled, Authenticate connections must also be enabled to ensure system security. When disabled, connections from remote applications are not allowed. - - - - - - - - - 256 - {{20, 17}, {404, 14}} - - YES - - 67239424 - 4194304 - These options take effect when X11 is next launched. - - - - - - - - {{10, 33}, {438, 279}} - - Security - - - - - - - 0 - YES - YES - - YES - - - - - {481, 345} - - {{0, 0}, {1440, 878}} - {213, 129} - {3.40282e+38, 3.40282e+38} - x11_prefs - - - 11 - 2 - {{361, 362}, {454, 311}} - 1350041600 - X11 Application Menu - NSPanel - - View - - {10000, 10000} - {320, 240} - - - 256 - - YES - - - 265 - {{340, 231}, {100, 32}} - - YES - - 67239424 - 137887744 - Duplicate - - - -2038284033 - 1 - - Helvetica - 1.300000e+01 - 16 - - - - - - - - 200 - 25 - - - - - 265 - {{340, 199}, {100, 32}} - - YES - - 67239424 - 137887744 - Remove - - - -2038284033 - 1 - - - - - - - - 200 - 25 - - - - - 274 - - YES - - - 2304 - - YES - - - 256 - {301, 198} - - YES - - - 256 - {301, 17} - - - - - - 256 - {{302, 0}, {16, 17}} - - - - YES - - 9.900000e+01 - 4.000000e+01 - 1.000000e+03 - - 75628032 - 0 - Name - - - 3 - MC4zMzMzMzI5OQA - - - 6 - System - headerTextColor - - - - - 338820672 - 1024 - Text Cell - - - - 3 - MQA - - - - 3 - YES - YES - - - - 1.217310e+02 - 6.273100e+01 - 1.000000e+03 - - 75628032 - 0 - Command - - - - - - 338820672 - 1024 - Text Cell - - - - - - 3 - YES - YES - - - - 7.100000e+01 - 1.000000e+01 - 1.000000e+03 - - 67239424 - 0 - Shortcut - - - 6 - System - headerColor - - - - - - 338820672 - 1024 - Text Cell - - LucidaGrande - 1.200000e+01 - 16 - - - YES - - 6 - System - controlBackgroundColor - - - - - 3 - YES - YES - - - - 3.000000e+00 - 2.000000e+00 - - - 6 - System - gridColor - - 3 - MC41AA - - - 1.700000e+01 - 1379958784 - 1 - -1 - 0 - YES - - - {{1, 17}, {301, 198}} - - - - - 4 - - - - 256 - {{302, 17}, {15, 198}} - - - _doScroller: - 9.949238e-01 - - - - 256 - {{1, 215}, {301, 15}} - - 1 - - _doScroller: - 6.885246e-01 - - - - 2304 - - YES - - - {{1, 0}, {301, 17}} - - - - - 4 - - - - {{20, 60}, {318, 231}} - - - 50 - - - - - - QSAAAEEgAABBmAAAQZgAAA - - - - 265 - {{340, 263}, {100, 32}} - - YES - - -2080244224 - 137887744 - Add Item - - - -2038284033 - 1 - - - - - - - - 200 - 25 - - - - - 257 - {{356, 12}, {84, 32}} - - YES - - -2080244224 - 137887744 - Cancel - - - -2038284033 - 1 - - - - - - - - 200 - 25 - - - - - 257 - {{272, 12}, {84, 32}} - - YES - - -2080244224 - 137887744 - Done - - - -2038284033 - 1 - - - - - - 200 - 25 - - - - {454, 311} - - - {{0, 0}, {1440, 878}} - {320, 262} - x11_apps - - - Menu - - YES - - - YES - YES - - - 1048576 - 2147483647 - - - - - - Applications - - 1048576 - 2147483647 - - - submenuAction: - - Applications - - YES - - - YES - YES - - - 1048576 - 2147483647 - - - - - - Q3VzdG9taXpl4oCmA - - 1048576 - 2147483647 - - - - - - - - - - - - - YES - - - cut: - - - - 175 - - - - paste: - - - - 176 - - - - redo: - - - - 178 - - - - selectAll: - - - - 179 - - - - undo: - - - - 180 - - - - copy: - - - - 181 - - - - delete: - - - - 195 - - - - minimize_window: - - - - 202 - - - - close_window: - - - - 205 - - - - zoom_window: - - - - 206 - - - - bring_to_front: - - - - 207 - - - - hideOtherApplications: - - - - 263 - - - - apps_separator - - - - 273 - - - - apps_table - - - - 301 - - - - apps_table_done: - - - - 302 - - - - apps_table_delete: - - - - 303 - - - - apps_table_duplicate: - - - - 304 - - - - apps_table_show: - - - - 308 - - - - apps_table_cancel: - - - - 309 - - - - apps_table_new: - - - - 311 - - - - prefs_show: - - - - 318 - - - - x11_about_item - - - - 321 - - - - enable_auth - - - - 387 - - - - enable_tcp - - - - 388 - - - - depth - - - - 389 - - - - use_sysbeep - - - - 390 - - - - fake_buttons - - - - 391 - - - - sync_keymap - - - - 392 - - - - enable_keyequivs - - - - 393 - - - - prefs_changed: - - - - 394 - - - - prefs_changed: - - - - 395 - - - - prefs_changed: - - - - 396 - - - - prefs_changed: - - - - 397 - - - - prefs_changed: - - - - 398 - - - - prefs_changed: - - - - 399 - - - - prefs_changed: - - - - 401 - - - - prefs_panel - - - - 402 - - - - x11_help: - - - - 422 - - - - dockMenu - - - - 426 - - - - dock_menu - - - - 428 - - - - delegate - - - - 429 - - - - hide: - - - - 430 - - - - unhideAllApplications: - - - - 431 - - - - orderFrontStandardAboutPanel: - - - - 433 - - - - dock_apps_menu - - - - 530 - - - - dock_window_separator - - - - 531 - - - - apps_table_show: - - - - 534 - - - - next_window: - - - - 539 - - - - previous_window: - - - - 540 - - - - enable_fullscreen - - - - 546 - - - - enable_fullscreen_changed: - - - - 547 - - - - toggle_fullscreen: - - - - 548 - - - - toggle_fullscreen_item - - - - 549 - - - - prefs_changed: - - - - 300300 - - - - window_separator - - - - 300331 - - - - click_through - - - - 300332 - - - - menu - - - - 300334 - - - - terminate: - - - - 300336 - - - - - YES - - 0 - - YES - - - - - - -2 - - - RmlsZSdzIE93bmVyA - - - -1 - - - First Responder - - - -3 - - - Application - - - 29 - - - YES - - - - - - - - MainMenu - - - 19 - - - YES - - - - - - 24 - - - YES - - - - - - - - - - - - - - 5 - - - - - 23 - - - - - 92 - - - - - 203 - - - - - 204 - - - - - 536 - - - - - 537 - - - - - 538 - - - - - 56 - - - YES - - - - - - 57 - - - YES - - - - - - - - - - - - - - - - - 58 - - - - - 129 - - - - - 131 - - - YES - - - - - - 130 - - - - - 134 - - - - - 136 - - - - - 143 - - - - - 144 - - - - - 145 - - - - - 149 - - - - - 150 - - - - - 544 - - - - - 545 - - - - - 163 - - - YES - - - - - - 169 - - - YES - - - - - - - - - - - - - 156 - - - - - 157 - - - - - 158 - - - - - 160 - - - - - 164 - - - - - 171 - - - - - 172 - - - - - 173 - - - - - 269 - - - YES - - - - - - 270 - - - YES - - - - - - - 272 - - - - - 305 - - - - - 419 - - - YES - - - - - - 420 - - - YES - - - - - - 421 - - - - - 196 - - - X11Controller - - - 244 - - - YES - - - - PrefsPanel - - - 245 - - - YES - - - - - - 348 - - - YES - - - - - - - - 349 - - - YES - - - - - - 351 - - - YES - - - - - - - - - - - - - 363 - - - YES - - - - - - 364 - - - YES - - - - - - 365 - - - YES - - - - - - 368 - - - YES - - - - - - 369 - - - YES - - - - - - 370 - - - YES - - - - - - 352 - - - YES - - - - - - 350 - - - YES - - - - - - - - - - - - 371 - - - YES - - - - - - 372 - - - YES - - - - - - 382 - - - YES - - - - - - 385 - - - YES - - - - - - 386 - - - YES - - - - - - 541 - - - YES - - - - - - 543 - - - YES - - - - - - 353 - - - YES - - - - - - 354 - - - YES - - - - - - - - - - 374 - - - YES - - - - - - 375 - - - YES - - - - - - 376 - - - YES - - - - - - 377 - - - YES - - - - - - 379 - - - YES - - - - - - 285 - - - YES - - - - EditPrograms - - - 286 - - - YES - - - - - - - - - - - 423 - - - YES - - - - - DockMenu - - - 524 - - - - - 526 - - - YES - - - - - - 527 - - - YES - - - - - - - 532 - - - - - 533 - - - - - 100363 - - - - - 100364 - - - - - 100365 - - - - - 100368 - - - - - 100369 - - - - - 100370 - - - - - 100371 - - - - - 100372 - - - - - 100382 - - - YES - - - - - - 100385 - - - - - 100386 - - - - - 100541 - - - - - 100543 - - - - - 100374 - - - - - 100375 - - - - - 100376 - - - - - 100377 - - - - - 100379 - - - - - 380 - - - YES - - - - - - - - - 435 - - - - - 384 - - - - - 383 - - - - - 381 - - - - - 300296 - - - YES - - - - - - 300297 - - - - - 300298 - - - YES - - - - - - 300299 - - - - - 295 - - - YES - - - - - - - - - 300295 - - - - - 200295 - - - - - 100295 - - - - - 296 - - - YES - - - - - - - - 535 - - - YES - - - - - - 575 - - - - - 298 - - - YES - - - - - - 573 - - - - - 297 - - - YES - - - - - - 574 - - - - - 310 - - - YES - - - - - - 100310 - - - - - 292 - - - YES - - - - - - 100292 - - - - - 293 - - - YES - - - - - - 100293 - - - - - 299 - - - YES - - - - - - 100299 - - - - - 291 - - - YES - - - - - - 100291 - - - - - 300330 - - - - - - - YES - - YES - -1.IBPluginDependency - -2.IBPluginDependency - -3.IBPluginDependency - -3.ImportedFromIB2 - 100295.IBShouldRemoveOnLegacySave - 129.IBPluginDependency - 129.ImportedFromIB2 - 130.IBPluginDependency - 130.ImportedFromIB2 - 131.IBPluginDependency - 131.ImportedFromIB2 - 134.IBPluginDependency - 134.ImportedFromIB2 - 136.IBPluginDependency - 136.ImportedFromIB2 - 143.IBPluginDependency - 143.ImportedFromIB2 - 144.IBPluginDependency - 144.ImportedFromIB2 - 145.IBPluginDependency - 145.ImportedFromIB2 - 149.IBPluginDependency - 149.ImportedFromIB2 - 150.IBPluginDependency - 150.ImportedFromIB2 - 156.IBPluginDependency - 156.ImportedFromIB2 - 157.IBPluginDependency - 157.ImportedFromIB2 - 158.IBPluginDependency - 158.ImportedFromIB2 - 160.IBPluginDependency - 160.ImportedFromIB2 - 163.IBPluginDependency - 163.ImportedFromIB2 - 164.IBPluginDependency - 164.ImportedFromIB2 - 169.IBPluginDependency - 169.ImportedFromIB2 - 169.editorWindowContentRectSynchronizationRect - 171.IBPluginDependency - 171.ImportedFromIB2 - 172.IBPluginDependency - 172.ImportedFromIB2 - 173.IBPluginDependency - 173.ImportedFromIB2 - 19.IBPluginDependency - 19.ImportedFromIB2 - 196.IBPluginDependency - 196.ImportedFromIB2 - 200295.IBShouldRemoveOnLegacySave - 203.IBPluginDependency - 203.ImportedFromIB2 - 204.IBPluginDependency - 204.ImportedFromIB2 - 23.IBPluginDependency - 23.ImportedFromIB2 - 24.IBPluginDependency - 24.ImportedFromIB2 - 24.editorWindowContentRectSynchronizationRect - 244.IBPluginDependency - 244.IBWindowTemplateEditedContentRect - 244.ImportedFromIB2 - 244.editorWindowContentRectSynchronizationRect - 244.windowTemplate.hasMaxSize - 244.windowTemplate.hasMinSize - 244.windowTemplate.maxSize - 244.windowTemplate.minSize - 245.IBPluginDependency - 245.ImportedFromIB2 - 269.IBPluginDependency - 269.ImportedFromIB2 - 270.IBPluginDependency - 270.ImportedFromIB2 - 270.editorWindowContentRectSynchronizationRect - 272.IBPluginDependency - 272.ImportedFromIB2 - 285.IBEditorWindowLastContentRect - 285.IBPluginDependency - 285.IBViewEditorWindowController.showingBoundsRectangles - 285.IBViewEditorWindowController.showingLayoutRectangles - 285.IBWindowTemplateEditedContentRect - 285.ImportedFromIB2 - 285.editorWindowContentRectSynchronizationRect - 285.lastResizeAction - 285.windowTemplate.hasMaxSize - 285.windowTemplate.hasMinSize - 285.windowTemplate.maxSize - 285.windowTemplate.minSize - 286.IBPluginDependency - 286.ImportedFromIB2 - 29.IBEditorWindowLastContentRect - 29.IBPluginDependency - 29.ImportedFromIB2 - 29.editorWindowContentRectSynchronizationRect - 291.IBPluginDependency - 291.ImportedFromIB2 - 292.IBPluginDependency - 292.ImportedFromIB2 - 293.IBPluginDependency - 293.ImportedFromIB2 - 295.IBPluginDependency - 295.ImportedFromIB2 - 296.IBPluginDependency - 296.ImportedFromIB2 - 297.IBPluginDependency - 297.ImportedFromIB2 - 298.IBPluginDependency - 298.ImportedFromIB2 - 299.IBPluginDependency - 299.ImportedFromIB2 - 300295.IBShouldRemoveOnLegacySave - 300296.IBPluginDependency - 300296.ImportedFromIB2 - 300298.IBPluginDependency - 300298.ImportedFromIB2 - 300330.IBPluginDependency - 300330.ImportedFromIB2 - 305.IBPluginDependency - 305.ImportedFromIB2 - 310.IBPluginDependency - 310.ImportedFromIB2 - 348.IBPluginDependency - 348.ImportedFromIB2 - 349.IBPluginDependency - 349.ImportedFromIB2 - 350.IBPluginDependency - 350.ImportedFromIB2 - 351.IBPluginDependency - 351.ImportedFromIB2 - 352.IBPluginDependency - 352.ImportedFromIB2 - 353.IBPluginDependency - 353.ImportedFromIB2 - 354.IBPluginDependency - 354.ImportedFromIB2 - 363.IBPluginDependency - 363.ImportedFromIB2 - 364.IBPluginDependency - 364.ImportedFromIB2 - 365.IBPluginDependency - 365.ImportedFromIB2 - 368.IBPluginDependency - 368.ImportedFromIB2 - 369.IBPluginDependency - 369.ImportedFromIB2 - 370.IBPluginDependency - 370.ImportedFromIB2 - 371.IBPluginDependency - 371.ImportedFromIB2 - 372.IBPluginDependency - 372.ImportedFromIB2 - 374.IBPluginDependency - 374.ImportedFromIB2 - 375.IBPluginDependency - 375.ImportedFromIB2 - 376.IBPluginDependency - 376.ImportedFromIB2 - 377.IBPluginDependency - 377.ImportedFromIB2 - 379.IBPluginDependency - 379.ImportedFromIB2 - 380.IBPluginDependency - 380.ImportedFromIB2 - 381.IBPluginDependency - 381.ImportedFromIB2 - 382.IBPluginDependency - 382.ImportedFromIB2 - 383.IBPluginDependency - 383.ImportedFromIB2 - 384.IBPluginDependency - 384.ImportedFromIB2 - 385.IBPluginDependency - 385.ImportedFromIB2 - 386.IBPluginDependency - 386.ImportedFromIB2 - 419.IBPluginDependency - 419.ImportedFromIB2 - 420.IBPluginDependency - 420.ImportedFromIB2 - 421.IBPluginDependency - 421.ImportedFromIB2 - 423.IBPluginDependency - 423.ImportedFromIB2 - 435.IBPluginDependency - 435.ImportedFromIB2 - 5.IBPluginDependency - 5.ImportedFromIB2 - 524.IBPluginDependency - 524.ImportedFromIB2 - 526.IBPluginDependency - 526.ImportedFromIB2 - 527.IBPluginDependency - 527.ImportedFromIB2 - 532.IBPluginDependency - 532.ImportedFromIB2 - 533.IBPluginDependency - 533.ImportedFromIB2 - 535.IBPluginDependency - 535.ImportedFromIB2 - 536.IBPluginDependency - 536.ImportedFromIB2 - 537.IBPluginDependency - 537.ImportedFromIB2 - 538.IBPluginDependency - 538.ImportedFromIB2 - 541.IBPluginDependency - 541.ImportedFromIB2 - 543.IBPluginDependency - 543.ImportedFromIB2 - 544.IBPluginDependency - 544.ImportedFromIB2 - 545.IBPluginDependency - 545.ImportedFromIB2 - 56.IBPluginDependency - 56.ImportedFromIB2 - 57.IBEditorWindowLastContentRect - 57.IBPluginDependency - 57.ImportedFromIB2 - 57.editorWindowContentRectSynchronizationRect - 573.IBPluginDependency - 573.ImportedFromIB2 - 574.IBPluginDependency - 574.ImportedFromIB2 - 575.IBPluginDependency - 575.ImportedFromIB2 - 58.IBPluginDependency - 58.ImportedFromIB2 - 92.IBPluginDependency - 92.ImportedFromIB2 - - - YES - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - {{202, 626}, {154, 153}} - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - {{271, 666}, {301, 153}} - com.apple.InterfaceBuilder.CocoaPlugin - {{184, 290}, {481, 345}} - - {{184, 290}, {481, 345}} - - - {3.40282e+38, 3.40282e+38} - {213, 107} - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - {{100, 746}, {155, 33}} - com.apple.InterfaceBuilder.CocoaPlugin - - {{537, 545}, {454, 311}} - com.apple.InterfaceBuilder.CocoaPlugin - - - {{537, 545}, {454, 311}} - - {{433, 406}, {486, 327}} - - YES - - YES - IBResizeActionFinalFrame - IBResizeActionInitialFrame - - - YES - {{537, 554}, {454, 311}} - {{537, 576}, {471, 289}} - - - - - {3.40282e+38, 3.40282e+38} - {320, 240} - com.apple.InterfaceBuilder.CocoaPlugin - - {{0, 836}, {336, 20}} - com.apple.InterfaceBuilder.CocoaPlugin - - {{67, 819}, {336, 20}} - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - {{12, 633}, {218, 203}} - com.apple.InterfaceBuilder.CocoaPlugin - - {{79, 616}, {218, 203}} - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - com.apple.InterfaceBuilder.CocoaPlugin - - - - - YES - - YES - - - YES - - - - - YES - - YES - - - YES - - - - 300336 - - - - YES - - FirstResponder - - IBUserSource - - - - - NSFormatter - - IBUserSource - - - - - X11Controller - NSObject - - YES - - YES - apps_table_cancel: - apps_table_delete: - apps_table_done: - apps_table_duplicate: - apps_table_new: - apps_table_show: - bring_to_front: - close_window: - enable_fullscreen_changed: - minimize_window: - next_window: - prefs_changed: - prefs_show: - previous_window: - quit: - toggle_fullscreen: - x11_help: - zoom_window: - - - YES - id - id - id - id - id - id - id - id - id - id - id - id - id - id - id - id - id - id - - - - YES - - YES - apps_separator - apps_table - click_through - depth - dock_apps_menu - dock_menu - dock_window_separator - enable_auth - enable_fullscreen - enable_keyequivs - enable_tcp - fake_buttons - prefs_panel - sync_keymap - toggle_fullscreen_item - use_sysbeep - window_separator - x11_about_item - - - YES - NSMenuItem - NSTableView - NSButton - NSPopUpButton - NSMenu - NSMenu - NSMenuItem - NSButton - NSButton - NSButton - NSButton - NSButton - NSPanel - NSButton - NSMenuItem - NSButton - NSMenuItem - NSMenuItem - - - - IBUserSource - - - - - - 0 - - 3 - - diff --git a/xorg-server/hw/xquartz/bundle/English.lproj/main.nib/keyedobjects.nib b/xorg-server/hw/xquartz/bundle/English.lproj/main.nib/keyedobjects.nib deleted file mode 100644 index f60dcbacb..000000000 Binary files a/xorg-server/hw/xquartz/bundle/English.lproj/main.nib/keyedobjects.nib and /dev/null differ diff --git a/xorg-server/hw/xquartz/bundle/French.lproj/InfoPlist.strings b/xorg-server/hw/xquartz/bundle/French.lproj/InfoPlist.strings deleted file mode 100644 index 88e1f04ac..000000000 Binary files a/xorg-server/hw/xquartz/bundle/French.lproj/InfoPlist.strings and /dev/null differ diff --git a/xorg-server/hw/xquartz/bundle/French.lproj/Localizable.strings b/xorg-server/hw/xquartz/bundle/French.lproj/Localizable.strings deleted file mode 100644 index 2770dfb8c..000000000 Binary files a/xorg-server/hw/xquartz/bundle/French.lproj/Localizable.strings and /dev/null differ diff --git a/xorg-server/hw/xquartz/bundle/French.lproj/main.nib/keyedobjects.nib b/xorg-server/hw/xquartz/bundle/French.lproj/main.nib/keyedobjects.nib deleted file mode 100644 index 9f9a7da67..000000000 Binary files a/xorg-server/hw/xquartz/bundle/French.lproj/main.nib/keyedobjects.nib and /dev/null differ diff --git a/xorg-server/hw/xquartz/bundle/German.lproj/InfoPlist.strings b/xorg-server/hw/xquartz/bundle/German.lproj/InfoPlist.strings deleted file mode 100644 index aa37e7555..000000000 Binary files a/xorg-server/hw/xquartz/bundle/German.lproj/InfoPlist.strings and /dev/null differ diff --git a/xorg-server/hw/xquartz/bundle/German.lproj/Localizable.strings b/xorg-server/hw/xquartz/bundle/German.lproj/Localizable.strings deleted file mode 100644 index a5489ab5c..000000000 Binary files a/xorg-server/hw/xquartz/bundle/German.lproj/Localizable.strings and /dev/null differ diff --git a/xorg-server/hw/xquartz/bundle/German.lproj/main.nib/keyedobjects.nib b/xorg-server/hw/xquartz/bundle/German.lproj/main.nib/keyedobjects.nib deleted file mode 100644 index 19532a9c2..000000000 Binary files a/xorg-server/hw/xquartz/bundle/German.lproj/main.nib/keyedobjects.nib and /dev/null differ diff --git a/xorg-server/hw/xquartz/bundle/Info.plist b/xorg-server/hw/xquartz/bundle/Info.plist deleted file mode 100644 index 6ba02dda2..000000000 --- a/xorg-server/hw/xquartz/bundle/Info.plist +++ /dev/null @@ -1,39 +0,0 @@ - - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - X11 - CFBundleGetInfoString - X11 - CFBundleIconFile - X11.icns - CFBundleIdentifier - org.x.X11 - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - X11 - CFBundlePackageType - APPL - CFBundleShortVersionString - 2.2.0 - CFBundleSignature - x11a - CSResourcesFileMapped - - NSHumanReadableCopyright - Copyright © 2003-2008, Apple Inc. -Copyright © 2003, XFree86 Project, Inc. -Copyright © 2003-2008, X.org Foundation, Inc. - - NSMainNibFile - main - NSPrincipalClass - X11Application - LSBackgroundOnly - - - diff --git a/xorg-server/hw/xquartz/bundle/Info.plist.cpp b/xorg-server/hw/xquartz/bundle/Info.plist.cpp new file mode 100644 index 000000000..47018fdf3 --- /dev/null +++ b/xorg-server/hw/xquartz/bundle/Info.plist.cpp @@ -0,0 +1,39 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + X11 + CFBundleGetInfoString + APPLE_APPLICATION_NAME + CFBundleIconFile + X11.icns + CFBundleIdentifier + APPLE_APPLICATION_ID + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + APPLE_APPLICATION_NAME + CFBundlePackageType + APPL + CFBundleShortVersionString + 2.3.2 + CFBundleVersion + 2.3.2 + CFBundleSignature + x11a + CSResourcesFileMapped + + NSHumanReadableCopyright + Copyright © 2003-2009, Apple Inc. +Copyright © 2003, XFree86 Project, Inc. +Copyright © 2003-2009, X.org Foundation, Inc. + + NSMainNibFile + main + NSPrincipalClass + X11Application + + diff --git a/xorg-server/hw/xquartz/bundle/Italian.lproj/InfoPlist.strings b/xorg-server/hw/xquartz/bundle/Italian.lproj/InfoPlist.strings deleted file mode 100644 index 412169880..000000000 Binary files a/xorg-server/hw/xquartz/bundle/Italian.lproj/InfoPlist.strings and /dev/null differ diff --git a/xorg-server/hw/xquartz/bundle/Italian.lproj/Localizable.strings b/xorg-server/hw/xquartz/bundle/Italian.lproj/Localizable.strings deleted file mode 100644 index d05d73d44..000000000 Binary files a/xorg-server/hw/xquartz/bundle/Italian.lproj/Localizable.strings and /dev/null differ diff --git a/xorg-server/hw/xquartz/bundle/Italian.lproj/main.nib/keyedobjects.nib b/xorg-server/hw/xquartz/bundle/Italian.lproj/main.nib/keyedobjects.nib deleted file mode 100644 index b6e2e1bb1..000000000 Binary files a/xorg-server/hw/xquartz/bundle/Italian.lproj/main.nib/keyedobjects.nib and /dev/null differ diff --git a/xorg-server/hw/xquartz/bundle/Japanese.lproj/InfoPlist.strings b/xorg-server/hw/xquartz/bundle/Japanese.lproj/InfoPlist.strings deleted file mode 100644 index 2d6330fa7..000000000 Binary files a/xorg-server/hw/xquartz/bundle/Japanese.lproj/InfoPlist.strings and /dev/null differ diff --git a/xorg-server/hw/xquartz/bundle/Japanese.lproj/Localizable.strings b/xorg-server/hw/xquartz/bundle/Japanese.lproj/Localizable.strings deleted file mode 100644 index 99821ea1f..000000000 Binary files a/xorg-server/hw/xquartz/bundle/Japanese.lproj/Localizable.strings and /dev/null differ diff --git a/xorg-server/hw/xquartz/bundle/Japanese.lproj/main.nib/keyedobjects.nib b/xorg-server/hw/xquartz/bundle/Japanese.lproj/main.nib/keyedobjects.nib deleted file mode 100644 index 523fd0856..000000000 Binary files a/xorg-server/hw/xquartz/bundle/Japanese.lproj/main.nib/keyedobjects.nib and /dev/null differ diff --git a/xorg-server/hw/xquartz/bundle/Makefile.am b/xorg-server/hw/xquartz/bundle/Makefile.am index 801fdc7d8..963327bb9 100644 --- a/xorg-server/hw/xquartz/bundle/Makefile.am +++ b/xorg-server/hw/xquartz/bundle/Makefile.am @@ -1,77 +1,82 @@ -bin_SCRIPTS = x11app +include cpprules.in -.PHONY: x11app - -x11app: - xcodebuild CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" ARCHS="$(X11APP_ARCHS)" +CPP_FILES_FLAGS = \ + -DAPPLE_APPLICATION_ID="$(APPLE_APPLICATION_ID)" \ + -DAPPLE_APPLICATION_NAME="$(APPLE_APPLICATION_NAME)" install-data-hook: - xcodebuild install DSTROOT="/$(DESTDIR)" INSTALL_PATH="$(APPLE_APPLICATIONS_DIR)" DEPLOYMENT_LOCATION=YES SKIP_INSTALL=NO ARCHS="$(X11APP_ARCHS)" + $(srcdir)/mk_bundke.sh $(srcdir) $(builddir) $(DESTDIR)$(APPLE_APPLICATIONS_DIR)/$(APPLE_APPLICATION_NAME).app install + +uninstall-hook: + $(RM) -rf $(DESTDIR)$(APPLE_APPLICATIONS_DIR)/$(APPLE_APPLICATION_NAME).app + +noinst_PRE = Info.plist.cpp +noinst_DATA = $(noinst_PRE:plist.cpp=plist) -clean-local: - rm -rf build +CLEANFILES = $(noinst_DATA) resourcedir=$(libdir)/X11/xserver resource_DATA = Xquartz.plist EXTRA_DIST = \ + mk_bundke.sh \ + X11.sh \ + Info.plist.cpp \ + PkgInfo \ $(resource_DATA) \ - Info.plist \ - X11.icns \ - bundle-main.c \ - X11.xcodeproj/project.pbxproj \ - Dutch.lproj/InfoPlist.strings \ - Dutch.lproj/Localizable.strings \ - Dutch.lproj/main.nib/keyedobjects.nib \ - English.lproj/InfoPlist.strings \ - English.lproj/Localizable.strings \ - English.lproj/main.nib/designable.nib \ - English.lproj/main.nib/keyedobjects.nib \ - French.lproj/InfoPlist.strings \ - French.lproj/Localizable.strings \ - French.lproj/main.nib/keyedobjects.nib \ - German.lproj/InfoPlist.strings \ - German.lproj/Localizable.strings \ - German.lproj/main.nib/keyedobjects.nib \ - Italian.lproj/InfoPlist.strings \ - Italian.lproj/Localizable.strings \ - Italian.lproj/main.nib/keyedobjects.nib \ - Japanese.lproj/InfoPlist.strings \ - Japanese.lproj/Localizable.strings \ - Japanese.lproj/main.nib/keyedobjects.nib \ - Spanish.lproj/InfoPlist.strings \ - Spanish.lproj/Localizable.strings \ - Spanish.lproj/main.nib/keyedobjects.nib \ - da.lproj/InfoPlist.strings \ - da.lproj/Localizable.strings \ - da.lproj/main.nib/keyedobjects.nib \ - fi.lproj/InfoPlist.strings \ - fi.lproj/Localizable.strings \ - fi.lproj/main.nib/keyedobjects.nib \ - ko.lproj/InfoPlist.strings \ - ko.lproj/Localizable.strings \ - ko.lproj/main.nib/keyedobjects.nib \ - no.lproj/InfoPlist.strings \ - no.lproj/Localizable.strings \ - no.lproj/main.nib/keyedobjects.nib \ - pl.lproj/InfoPlist.strings \ - pl.lproj/Localizable.strings \ - pl.lproj/main.nib/keyedobjects.nib \ - pt.lproj/InfoPlist.strings \ - pt.lproj/Localizable.strings \ - pt.lproj/main.nib/keyedobjects.nib \ - pt_PT.lproj/InfoPlist.strings \ - pt_PT.lproj/Localizable.strings \ - pt_PT.lproj/main.nib/keyedobjects.nib \ - ru.lproj/InfoPlist.strings \ - ru.lproj/Localizable.strings \ - ru.lproj/main.nib/keyedobjects.nib \ - sv.lproj/InfoPlist.strings \ - sv.lproj/Localizable.strings \ - sv.lproj/main.nib/keyedobjects.nib \ - zh_CN.lproj/InfoPlist.strings \ - zh_CN.lproj/Localizable.strings \ - zh_CN.lproj/main.nib/keyedobjects.nib \ - zh_TW.lproj/InfoPlist.strings \ - zh_TW.lproj/Localizable.strings \ - zh_TW.lproj/main.nib/keyedobjects.nib + Resources/da.lproj/InfoPlist.strings \ + Resources/da.lproj/Localizable.strings \ + Resources/da.lproj/main.nib/keyedobjects.nib \ + Resources/Dutch.lproj/InfoPlist.strings \ + Resources/Dutch.lproj/Localizable.strings \ + Resources/Dutch.lproj/main.nib/keyedobjects.nib \ + Resources/English.lproj/InfoPlist.strings \ + Resources/English.lproj/Localizable.strings \ + Resources/English.lproj/main.nib/designable.nib \ + Resources/English.lproj/main.nib/keyedobjects.nib \ + Resources/fi.lproj/InfoPlist.strings \ + Resources/fi.lproj/Localizable.strings \ + Resources/fi.lproj/main.nib/keyedobjects.nib \ + Resources/French.lproj/InfoPlist.strings \ + Resources/French.lproj/Localizable.strings \ + Resources/French.lproj/main.nib/keyedobjects.nib \ + Resources/German.lproj/InfoPlist.strings \ + Resources/German.lproj/Localizable.strings \ + Resources/German.lproj/main.nib/keyedobjects.nib \ + Resources/Italian.lproj/InfoPlist.strings \ + Resources/Italian.lproj/Localizable.strings \ + Resources/Italian.lproj/main.nib/keyedobjects.nib \ + Resources/Japanese.lproj/InfoPlist.strings \ + Resources/Japanese.lproj/Localizable.strings \ + Resources/Japanese.lproj/main.nib/keyedobjects.nib \ + Resources/ko.lproj/InfoPlist.strings \ + Resources/ko.lproj/Localizable.strings \ + Resources/ko.lproj/main.nib/keyedobjects.nib \ + Resources/no.lproj/InfoPlist.strings \ + Resources/no.lproj/Localizable.strings \ + Resources/no.lproj/main.nib/keyedobjects.nib \ + Resources/pl.lproj/InfoPlist.strings \ + Resources/pl.lproj/Localizable.strings \ + Resources/pl.lproj/main.nib/keyedobjects.nib \ + Resources/pt.lproj/InfoPlist.strings \ + Resources/pt.lproj/Localizable.strings \ + Resources/pt.lproj/main.nib/keyedobjects.nib \ + Resources/pt_PT.lproj/InfoPlist.strings \ + Resources/pt_PT.lproj/Localizable.strings \ + Resources/pt_PT.lproj/main.nib/keyedobjects.nib \ + Resources/ru.lproj/InfoPlist.strings \ + Resources/ru.lproj/Localizable.strings \ + Resources/ru.lproj/main.nib/keyedobjects.nib \ + Resources/Spanish.lproj/InfoPlist.strings \ + Resources/Spanish.lproj/Localizable.strings \ + Resources/Spanish.lproj/main.nib/keyedobjects.nib \ + Resources/sv.lproj/InfoPlist.strings \ + Resources/sv.lproj/Localizable.strings \ + Resources/sv.lproj/main.nib/keyedobjects.nib \ + Resources/X11.icns \ + Resources/zh_CN.lproj/InfoPlist.strings \ + Resources/zh_CN.lproj/Localizable.strings \ + Resources/zh_CN.lproj/main.nib/keyedobjects.nib \ + Resources/zh_TW.lproj/InfoPlist.strings \ + Resources/zh_TW.lproj/Localizable.strings \ + Resources/zh_TW.lproj/main.nib/keyedobjects.nib diff --git a/xorg-server/hw/xquartz/bundle/Makefile.in b/xorg-server/hw/xquartz/bundle/Makefile.in index bd065ed9d..dd3b3c066 100644 --- a/xorg-server/hw/xquartz/bundle/Makefile.in +++ b/xorg-server/hw/xquartz/bundle/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -14,6 +14,12 @@ @SET_MAKE@ +# 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. VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ @@ -33,8 +39,9 @@ PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ + $(srcdir)/cpprules.in subdir = hw/xquartz/bundle -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 @@ -44,15 +51,11 @@ 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)$(resourcedir)" -binSCRIPT_INSTALL = $(INSTALL_SCRIPT) -SCRIPTS = $(bin_SCRIPTS) SOURCES = DIST_SOURCES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; @@ -61,16 +64,18 @@ am__vpath_adj = case $$p in \ *) f=$$p;; \ esac; am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(resourcedir)" resourceDATA_INSTALL = $(INSTALL_DATA) -DATA = $(resource_DATA) +DATA = $(noinst_DATA) $(resource_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@ +APPLE_APPLICATION_ID = @APPLE_APPLICATION_ID@ +APPLE_APPLICATION_NAME = @APPLE_APPLICATION_NAME@ APP_MAN_DIR = @APP_MAN_DIR@ APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ AR = @AR@ @@ -91,10 +96,6 @@ 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@ @@ -116,6 +117,7 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOLT_BASH = @DOLT_BASH@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ @@ -125,18 +127,15 @@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ DSYMUTIL = @DSYMUTIL@ DTRACE = @DTRACE@ -ECHO = @ECHO@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ -FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ -FREETYPE_LIBS = @FREETYPE_LIBS@ GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ GLX_DEFINES = @GLX_DEFINES@ GL_CFLAGS = @GL_CFLAGS@ @@ -155,7 +154,7 @@ KDRIVE_LIBS = @KDRIVE_LIBS@ KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ -LAUNCHD = @LAUNCHD@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ LEX = @LEX@ @@ -169,7 +168,10 @@ LIBTOOL = @LIBTOOL@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LINUXDOC = @LINUXDOC@ +LIPO = @LIPO@ LN_S = @LN_S@ +LTCOMPILE = @LTCOMPILE@ +LTCXXCOMPILE = @LTCXXCOMPILE@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ @@ -181,8 +183,7 @@ MESA_SOURCE = @MESA_SOURCE@ MISC_MAN_DIR = @MISC_MAN_DIR@ MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ MKDIR_P = @MKDIR_P@ -MKFONTDIR = @MKFONTDIR@ -MKFONTSCALE = @MKFONTSCALE@ +NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCCLD = @OBJCCLD@ @@ -191,8 +192,8 @@ OBJCFLAGS = @OBJCFLAGS@ OBJCLINK = @OBJCLINK@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ @@ -225,7 +226,6 @@ VENDOR_NAME = @VENDOR_NAME@ VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ VENDOR_RELEASE = @VENDOR_RELEASE@ VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ XDMCP_CFLAGS = @XDMCP_CFLAGS@ @@ -235,27 +235,12 @@ XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@ XDMX_CFLAGS = @XDMX_CFLAGS@ XDMX_LIBS = @XDMX_LIBS@ XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ XEPHYR_INCS = @XEPHYR_INCS@ XEPHYR_LIBS = @XEPHYR_LIBS@ 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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ @@ -266,10 +251,6 @@ XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ XNEST_LIBS = @XNEST_LIBS@ XNEST_SYS_LIBS = @XNEST_SYS_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_INCS = @XORG_INCS@ XORG_LIBS = @XORG_LIBS@ @@ -278,13 +259,8 @@ XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ XORG_OS = @XORG_OS@ XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_LIBS@ +XPBPROXY_CFLAGS = @XPBPROXY_CFLAGS@ +XPBPROXY_LIBS = @XPBPROXY_LIBS@ XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ XSDL_INCS = @XSDL_INCS@ @@ -317,8 +293,7 @@ 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@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -338,7 +313,6 @@ driverdir = @driverdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ extdir = @extdir@ -ft_config = @ft_config@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ @@ -348,12 +322,12 @@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ -launchagentsdir = @launchagentsdir@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ logdir = @logdir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ moduledir = @moduledir@ @@ -371,82 +345,112 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ -bin_SCRIPTS = x11app +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 '/XSLASHGLOB/s/XSLASHGLOB/\/\*/' \ + -e '/\@\@$$/s/\@\@$$/\\/' + + +# Strings to replace in man pages +XORGRELSTRING = @PACKAGE_STRING@ +XORGMANNAME = X Version 11 +MANDEFS = \ + -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__XSERVERNAME__=Xorg -D__XCONFIGFILE__=xorg.conf \ + -D__xinitdir__=$(XINITDIR) \ + -D__bindir__=$(bindir) \ + -DSHELL_CMD=$(SHELL_CMD) $(ARCHMANDEFS) + +SUFFIXES = .$(APP_MAN_SUFFIX) .man .cpp +CPP_FILES_FLAGS = \ + -DAPPLE_APPLICATION_ID="$(APPLE_APPLICATION_ID)" \ + -DAPPLE_APPLICATION_NAME="$(APPLE_APPLICATION_NAME)" + +noinst_PRE = Info.plist.cpp +noinst_DATA = $(noinst_PRE:plist.cpp=plist) +CLEANFILES = $(noinst_DATA) resourcedir = $(libdir)/X11/xserver resource_DATA = Xquartz.plist EXTRA_DIST = \ + mk_bundke.sh \ + X11.sh \ + Info.plist.cpp \ + PkgInfo \ $(resource_DATA) \ - Info.plist \ - X11.icns \ - bundle-main.c \ - X11.xcodeproj/project.pbxproj \ - Dutch.lproj/InfoPlist.strings \ - Dutch.lproj/Localizable.strings \ - Dutch.lproj/main.nib/keyedobjects.nib \ - English.lproj/InfoPlist.strings \ - English.lproj/Localizable.strings \ - English.lproj/main.nib/designable.nib \ - English.lproj/main.nib/keyedobjects.nib \ - French.lproj/InfoPlist.strings \ - French.lproj/Localizable.strings \ - French.lproj/main.nib/keyedobjects.nib \ - German.lproj/InfoPlist.strings \ - German.lproj/Localizable.strings \ - German.lproj/main.nib/keyedobjects.nib \ - Italian.lproj/InfoPlist.strings \ - Italian.lproj/Localizable.strings \ - Italian.lproj/main.nib/keyedobjects.nib \ - Japanese.lproj/InfoPlist.strings \ - Japanese.lproj/Localizable.strings \ - Japanese.lproj/main.nib/keyedobjects.nib \ - Spanish.lproj/InfoPlist.strings \ - Spanish.lproj/Localizable.strings \ - Spanish.lproj/main.nib/keyedobjects.nib \ - da.lproj/InfoPlist.strings \ - da.lproj/Localizable.strings \ - da.lproj/main.nib/keyedobjects.nib \ - fi.lproj/InfoPlist.strings \ - fi.lproj/Localizable.strings \ - fi.lproj/main.nib/keyedobjects.nib \ - ko.lproj/InfoPlist.strings \ - ko.lproj/Localizable.strings \ - ko.lproj/main.nib/keyedobjects.nib \ - no.lproj/InfoPlist.strings \ - no.lproj/Localizable.strings \ - no.lproj/main.nib/keyedobjects.nib \ - pl.lproj/InfoPlist.strings \ - pl.lproj/Localizable.strings \ - pl.lproj/main.nib/keyedobjects.nib \ - pt.lproj/InfoPlist.strings \ - pt.lproj/Localizable.strings \ - pt.lproj/main.nib/keyedobjects.nib \ - pt_PT.lproj/InfoPlist.strings \ - pt_PT.lproj/Localizable.strings \ - pt_PT.lproj/main.nib/keyedobjects.nib \ - ru.lproj/InfoPlist.strings \ - ru.lproj/Localizable.strings \ - ru.lproj/main.nib/keyedobjects.nib \ - sv.lproj/InfoPlist.strings \ - sv.lproj/Localizable.strings \ - sv.lproj/main.nib/keyedobjects.nib \ - zh_CN.lproj/InfoPlist.strings \ - zh_CN.lproj/Localizable.strings \ - zh_CN.lproj/main.nib/keyedobjects.nib \ - zh_TW.lproj/InfoPlist.strings \ - zh_TW.lproj/Localizable.strings \ - zh_TW.lproj/main.nib/keyedobjects.nib + Resources/da.lproj/InfoPlist.strings \ + Resources/da.lproj/Localizable.strings \ + Resources/da.lproj/main.nib/keyedobjects.nib \ + Resources/Dutch.lproj/InfoPlist.strings \ + Resources/Dutch.lproj/Localizable.strings \ + Resources/Dutch.lproj/main.nib/keyedobjects.nib \ + Resources/English.lproj/InfoPlist.strings \ + Resources/English.lproj/Localizable.strings \ + Resources/English.lproj/main.nib/designable.nib \ + Resources/English.lproj/main.nib/keyedobjects.nib \ + Resources/fi.lproj/InfoPlist.strings \ + Resources/fi.lproj/Localizable.strings \ + Resources/fi.lproj/main.nib/keyedobjects.nib \ + Resources/French.lproj/InfoPlist.strings \ + Resources/French.lproj/Localizable.strings \ + Resources/French.lproj/main.nib/keyedobjects.nib \ + Resources/German.lproj/InfoPlist.strings \ + Resources/German.lproj/Localizable.strings \ + Resources/German.lproj/main.nib/keyedobjects.nib \ + Resources/Italian.lproj/InfoPlist.strings \ + Resources/Italian.lproj/Localizable.strings \ + Resources/Italian.lproj/main.nib/keyedobjects.nib \ + Resources/Japanese.lproj/InfoPlist.strings \ + Resources/Japanese.lproj/Localizable.strings \ + Resources/Japanese.lproj/main.nib/keyedobjects.nib \ + Resources/ko.lproj/InfoPlist.strings \ + Resources/ko.lproj/Localizable.strings \ + Resources/ko.lproj/main.nib/keyedobjects.nib \ + Resources/no.lproj/InfoPlist.strings \ + Resources/no.lproj/Localizable.strings \ + Resources/no.lproj/main.nib/keyedobjects.nib \ + Resources/pl.lproj/InfoPlist.strings \ + Resources/pl.lproj/Localizable.strings \ + Resources/pl.lproj/main.nib/keyedobjects.nib \ + Resources/pt.lproj/InfoPlist.strings \ + Resources/pt.lproj/Localizable.strings \ + Resources/pt.lproj/main.nib/keyedobjects.nib \ + Resources/pt_PT.lproj/InfoPlist.strings \ + Resources/pt_PT.lproj/Localizable.strings \ + Resources/pt_PT.lproj/main.nib/keyedobjects.nib \ + Resources/ru.lproj/InfoPlist.strings \ + Resources/ru.lproj/Localizable.strings \ + Resources/ru.lproj/main.nib/keyedobjects.nib \ + Resources/Spanish.lproj/InfoPlist.strings \ + Resources/Spanish.lproj/Localizable.strings \ + Resources/Spanish.lproj/main.nib/keyedobjects.nib \ + Resources/sv.lproj/InfoPlist.strings \ + Resources/sv.lproj/Localizable.strings \ + Resources/sv.lproj/main.nib/keyedobjects.nib \ + Resources/X11.icns \ + Resources/zh_CN.lproj/InfoPlist.strings \ + Resources/zh_CN.lproj/Localizable.strings \ + Resources/zh_CN.lproj/main.nib/keyedobjects.nib \ + Resources/zh_TW.lproj/InfoPlist.strings \ + Resources/zh_TW.lproj/Localizable.strings \ + Resources/zh_TW.lproj/main.nib/keyedobjects.nib all: all-am .SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) +.SUFFIXES: .$(APP_MAN_SUFFIX) .man .cpp +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(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; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ @@ -470,25 +474,6 @@ $(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 @@ -547,9 +532,9 @@ distdir: $(DISTFILES) done check-am: all-am check: check-am -all-am: Makefile $(SCRIPTS) $(DATA) +all-am: Makefile $(DATA) installdirs: - for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(resourcedir)"; do \ + for dir in "$(DESTDIR)$(resourcedir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am @@ -569,6 +554,7 @@ install-strip: mostlyclean-generic: clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) @@ -578,7 +564,7 @@ maintainer-clean-generic: @echo "it deletes files that may require special tools to rebuild." clean: clean-am -clean-am: clean-generic clean-libtool clean-local mostlyclean-am +clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile @@ -600,7 +586,7 @@ install-data-am: install-resourceDATA install-dvi: install-dvi-am -install-exec-am: install-binSCRIPTS +install-exec-am: install-html: install-html-am @@ -630,34 +616,37 @@ ps: ps-am ps-am: -uninstall-am: uninstall-binSCRIPTS uninstall-resourceDATA +uninstall-am: uninstall-resourceDATA + @$(NORMAL_INSTALL) + $(MAKE) $(AM_MAKEFLAGS) uninstall-hook -.MAKE: install-am install-data-am install-strip +.MAKE: install-am install-data-am install-strip uninstall-am .PHONY: all all-am check check-am clean clean-generic clean-libtool \ - clean-local distclean distclean-generic distclean-libtool \ - distdir dvi dvi-am html html-am info info-am install \ - install-am install-binSCRIPTS 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-resourceDATA install-strip \ - installcheck installcheck-am installdirs maintainer-clean \ + distclean distclean-generic distclean-libtool distdir dvi \ + dvi-am html html-am info info-am install install-am \ + 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-resourceDATA 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-binSCRIPTS uninstall-resourceDATA + uninstall-hook uninstall-resourceDATA -.PHONY: x11app +.cpp: + $(RAWCPP) $(RAWCPPFLAGS) $(CPP_FILES_FLAGS) < $< | $(CPP_SED_MAGIC) > $@ -x11app: - xcodebuild CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" ARCHS="$(X11APP_ARCHS)" +.man.$(APP_MAN_SUFFIX): + $(RAWCPP) $(RAWCPPFLAGS) $(MANDEFS) $(EXTRAMANDEFS) < $< | $(CPP_SED_MAGIC) > $@ install-data-hook: - xcodebuild install DSTROOT="/$(DESTDIR)" INSTALL_PATH="$(APPLE_APPLICATIONS_DIR)" DEPLOYMENT_LOCATION=YES SKIP_INSTALL=NO ARCHS="$(X11APP_ARCHS)" + $(srcdir)/mk_bundke.sh $(srcdir) $(builddir) $(DESTDIR)$(APPLE_APPLICATIONS_DIR)/$(APPLE_APPLICATION_NAME).app install -clean-local: - rm -rf build +uninstall-hook: + $(RM) -rf $(DESTDIR)$(APPLE_APPLICATIONS_DIR)/$(APPLE_APPLICATION_NAME).app # 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/xorg-server/hw/xquartz/bundle/PkgInfo b/xorg-server/hw/xquartz/bundle/PkgInfo new file mode 100644 index 000000000..b8e0aec42 --- /dev/null +++ b/xorg-server/hw/xquartz/bundle/PkgInfo @@ -0,0 +1 @@ +APPLx11a \ No newline at end of file diff --git a/xorg-server/hw/xquartz/bundle/Resources/Dutch.lproj/InfoPlist.strings b/xorg-server/hw/xquartz/bundle/Resources/Dutch.lproj/InfoPlist.strings new file mode 100644 index 000000000..8f978d63f Binary files /dev/null and b/xorg-server/hw/xquartz/bundle/Resources/Dutch.lproj/InfoPlist.strings differ diff --git a/xorg-server/hw/xquartz/bundle/Resources/Dutch.lproj/Localizable.strings b/xorg-server/hw/xquartz/bundle/Resources/Dutch.lproj/Localizable.strings new file mode 100644 index 000000000..1ff39fe67 Binary files /dev/null and b/xorg-server/hw/xquartz/bundle/Resources/Dutch.lproj/Localizable.strings differ diff --git a/xorg-server/hw/xquartz/bundle/Resources/Dutch.lproj/main.nib/keyedobjects.nib b/xorg-server/hw/xquartz/bundle/Resources/Dutch.lproj/main.nib/keyedobjects.nib new file mode 100644 index 000000000..95c26d7b3 Binary files /dev/null and b/xorg-server/hw/xquartz/bundle/Resources/Dutch.lproj/main.nib/keyedobjects.nib differ diff --git a/xorg-server/hw/xquartz/bundle/Resources/English.lproj/InfoPlist.strings b/xorg-server/hw/xquartz/bundle/Resources/English.lproj/InfoPlist.strings new file mode 100644 index 000000000..88e1f04ac Binary files /dev/null and b/xorg-server/hw/xquartz/bundle/Resources/English.lproj/InfoPlist.strings differ diff --git a/xorg-server/hw/xquartz/bundle/Resources/English.lproj/Localizable.strings b/xorg-server/hw/xquartz/bundle/Resources/English.lproj/Localizable.strings new file mode 100644 index 000000000..001227afe Binary files /dev/null and b/xorg-server/hw/xquartz/bundle/Resources/English.lproj/Localizable.strings differ diff --git a/xorg-server/hw/xquartz/bundle/Resources/English.lproj/main.nib/designable.nib b/xorg-server/hw/xquartz/bundle/Resources/English.lproj/main.nib/designable.nib new file mode 100644 index 000000000..d27162539 --- /dev/null +++ b/xorg-server/hw/xquartz/bundle/Resources/English.lproj/main.nib/designable.nib @@ -0,0 +1,4038 @@ + + + + 1050 + 9G55 + 677 + 949.43 + 353.00 + + YES + + + YES + com.apple.InterfaceBuilder.CocoaPlugin + + + YES + + YES + + + YES + + + + YES + + + NSApplication + + + + FirstResponder + + + NSApplication + + + MainMenu + + YES + + + X11 + + 1048576 + 2147483647 + + NSImage + NSMenuCheckmark + + + NSImage + NSMenuMixedState + + submenuAction: + + X11 + + YES + + + About X11 + + 2147483647 + + + + + + Preferences... + , + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Services + + 1048576 + 2147483647 + + + submenuAction: + + + Services + + + YES + + _NSServicesMenu + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Toggle Full Screen + a + 1572864 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Hide X11 + h + 1048576 + 2147483647 + + + 42 + + + + Hide Others + h + 1572864 + 2147483647 + + + + + + Show All + + 1048576 + 2147483647 + + + 42 + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Quit X11 + q + 1048576 + 2147483647 + + + + + _NSAppleMenu + + + + + Applications + + 1048576 + 2147483647 + + + submenuAction: + + Applications + + YES + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Customize... + + 1048576 + 2147483647 + + + + + + + + + Edit + + 1048576 + 2147483647 + + + submenuAction: + + Edit + + YES + + + Copy + c + 1048576 + 2147483647 + + + + + + + + + Window + + 1048576 + 2147483647 + + + submenuAction: + + + Window + + + YES + + + Close + w + 1048576 + 2147483647 + + + + + + Minimize + m + 1048576 + 2147483647 + + + + + + Zoom + + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Cycle Through Windows + ` + 1048840 + 2147483647 + + + + + + Reverse Cycle Through Windows + ~ + 1179914 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Bring All to Front + + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + _NSWindowsMenu + + + + + Help + + 1048576 + 2147483647 + + + submenuAction: + + Help + + YES + + + X11 Help + + 1048576 + 2147483647 + + + + + + + + _NSMainMenu + + + X11Controller + + + 3 + 2 + {{266, 364}, {484, 308}} + 1350041600 + X11 Preferences + NSPanel + + View + + {3.40282e+38, 3.40282e+38} + {320, 240} + + + 256 + + YES + + + 256 + {{13, 10}, {458, 292}} + + + YES + + + 1 + + + + 256 + + YES + + + 256 + {{18, 210}, {402, 18}} + + YES + + 67239424 + 0 + Emulate three button mouse + + LucidaGrande + 1.300000e+01 + 1044 + + + 1211912703 + 2 + + NSSwitch + + + + 200 + 25 + + + + + 256 + {{36, 60}, {385, 31}} + + YES + + 67239424 + 4194304 + When enabled, menu bar key equivalents may interfere with X11 applications that use the Meta modifier. + + LucidaGrande + 1.100000e+01 + 3100 + + + + 6 + System + controlColor + + 3 + MC42NjY2NjY2OQA + + + + 6 + System + controlTextColor + + 3 + MAA + + + + + + + 256 + {{36, 162}, {385, 42}} + + YES + + 67239424 + 4194304 + SG9sZCBPcHRpb24gb3IgQ29tbWFuZCB3aGlsZSBjbGlja2luZyB0byBhY3RpdmF0ZSB0aGUgbWlkZGxl +IG9yIHJpZ2h0IG1vdXNlIGJ1dHRvbnMuCg + + + + + + + + + 256 + {{18, 97}, {402, 18}} + + YES + + 67239424 + 0 + Enable key equivalents under X11 + + + 1211912703 + 2 + + + + 200 + 25 + + + + + 256 + {{36, 126}, {385, 14}} + + YES + + 67239424 + 4194304 + Allows input menu changes to overwrite the current X11 keymap. + + + + + + + + + 256 + {{18, 146}, {402, 18}} + + YES + + 67239424 + 0 + Follow system keyboard layout + + + 1211912703 + 2 + + + + 200 + 25 + + + + {{10, 33}, {438, 246}} + + + Input + + + + + + 2 + + + + 256 + + YES + + + 256 + {{18, 63}, {402, 18}} + + YES + + 67239424 + 0 + Use system alert effect + + + 1211912703 + 2 + + + + 200 + 25 + + + + + 256 + {{36, 29}, {385, 28}} + + YES + + 67239424 + 4194304 + X11 beeps will use the standard system alert, as defined in the Sound Effects system preferences panel. + + + + + + + + + 256 + {{74, 202}, {128, 26}} + + YES + + -2076049856 + 1024 + + + 109199615 + 1 + + LucidaGrande + 1.300000e+01 + 16 + + + + + + + + 400 + 75 + + + From Display + + 1048576 + 2147483647 + 1 + + + _popUpItemAction: + -1 + + + YES + + + OtherViews + + + YES + + + + 256 Colors + + 1048576 + 2147483647 + + + _popUpItemAction: + 8 + + + + + Thousands + + 1048576 + 2147483647 + + + _popUpItemAction: + 15 + + + + + Millions + + 1048576 + 2147483647 + + + _popUpItemAction: + 24 + + + + + 3 + YES + YES + 1 + + + + + 256 + {{17, 205}, {55, 20}} + + YES + + 67239424 + 4194304 + Q29sb3JzOgo + + + + + + + + + 256 + {{36, 183}, {392, 14}} + + YES + + 67239424 + 4194304 + This option takes effect when X11 is launched again. + + + + + + + + + 256 + {{18, 149}, {409, 23}} + + YES + + 67239424 + 0 + Full-screen mode + + + 1211912703 + 2 + + + + 200 + 25 + + + + + 256 + {{37, 83}, {409, 23}} + + YES + + 67239424 + 0 + Auto-show menu bar in full-screen mode + + + 1211912703 + 2 + + + + 200 + 25 + + + + + 256 + {{36, 112}, {385, 31}} + + YES + + 67239424 + 4194304 + Enables the X11 root window. Use the Command-Option-A keystroke to enter and leave full screen mode. + + + + + + + + {{10, 33}, {438, 246}} + + Output + + + + + + 2 + + + + 256 + + YES + + + 256 + {{18, 222}, {409, 23}} + + YES + + 67239424 + 0 + Enable syncing + + + 1211912703 + 2 + + + + 200 + 25 + + + + + 256 + {{36, 188}, {385, 28}} + + YES + + 67239424 + 4194304 + RW5hYmxlcyB0aGUgImNvcHkiIG1lbnUgaXRlbSBhbmQgYWxsb3dzIGZvciBzeW5jaW5nIGJldHdlZW4g +dGhlIE9TWCBQYXN0ZWJvYXJkIGFuZCB0aGUgWDExIENMSVBCT0FSRCBhbmQgUFJJTUFSWSBidWZmZXJz +Lg + + + + + + + + + 256 + {{34, 96}, {409, 23}} + + YES + + 67239424 + 0 + Update CLIPBOARD when Pasteboard changes. + + + 1211912703 + 2 + + + + 200 + 25 + + + + + 256 + {{34, 71}, {409, 23}} + + YES + + 67239424 + 0 + Update PRIMARY (middle-click) when Pasteboard changes. + + + 1211912703 + 2 + + + + 200 + 25 + + + + + 256 + {{34, 46}, {409, 23}} + + YES + + 67239424 + 0 + Update Pasteboard immediately when new text is selected. + + + 1211912703 + 2 + + + + 200 + 25 + + + + + 256 + {{34, 159}, {409, 23}} + + YES + + 67239424 + 0 + Update Pasteboard when CLIPBOARD changes. + + + 1211912703 + 2 + + + + 200 + 25 + + + + + 256 + {{48, 125}, {385, 28}} + + YES + + 67239424 + 4194304 + Disable this option if you want to use xclipboard, klipper, or any other X11 clipboard manager. + + + + + + + + + 256 + {{48, 14}, {370, 28}} + + YES + + 67239424 + 4194304 + Due to limitations in the X11 protocol, this option may not always work in some applications. + + + + + + + + {{10, 33}, {438, 246}} + + Pasteboard + + + + + + 2 + + + + 256 + + YES + + + 256 + {{15, 212}, {402, 18}} + + YES + + 67239424 + 0 + Click-through Inactive Windows + + + 1211912703 + 2 + + + + 200 + 25 + + + + + 256 + {{23, 175}, {385, 31}} + + YES + + 67239424 + 4194304 + When enabled, clicking on an inactive window will cause that mouse click to pass through to that window in addition to activating it. + + + + + + + + + 256 + {{15, 151}, {402, 18}} + + YES + + 67239424 + 0 + Focus Follows Mouse + + + 1211912703 + 2 + + + + 200 + 25 + + + + + 256 + {{23, 128}, {385, 17}} + + YES + + 67239424 + 4194304 + X11 window focus follows the cursor. This has some adverse effects. + + + + + + + + + 256 + {{15, 107}, {402, 18}} + + YES + + 67239424 + 0 + Focus On New Windows + + + 1211912703 + 2 + + + + 200 + 25 + + + + + 256 + {{23, 73}, {385, 28}} + + YES + + 67239424 + 4194304 + When enabled, creation of a new X11 window will cause X11.app to move to the foreground (instead of Finder.app, Terminal.app, etc.) + + + + + + + + {{10, 33}, {438, 246}} + + Windows + + + + + + + 256 + + YES + + + 256 + {{18, 210}, {402, 18}} + + YES + + 67239424 + 0 + Authenticate connections + + + 1211912703 + 2 + + + + 200 + 25 + + + + + 256 + {{18, 133}, {402, 18}} + + YES + + 67239424 + 0 + Allow connections from network clients + + + 1211912703 + 2 + + + + 200 + 25 + + + + + 256 + {{36, 162}, {385, 42}} + + YES + + 67239424 + 4194304 + TGF1bmNoaW5nIFgxMSB3aWxsIGNyZWF0ZSBYYXV0aG9yaXR5IGFjY2Vzcy1jb250cm9sIGtleXMuIElm +IHRoZSBzeXN0ZW0ncyBJUCBhZGRyZXNzIGNoYW5nZXMsIHRoZXNlIGtleXMgYmVjb21lIGludmFsaWQg +d2hpY2ggbWF5IHByZXZlbnQgWDExIGFwcGxpY2F0aW9ucyBmcm9tIGxhdW5jaGluZy4 + + + + + + + + + 256 + {{36, 85}, {385, 42}} + + YES + + 67239424 + 4194304 + If enabled, Authenticate connections must also be enabled to ensure system security. When disabled, connections from remote applications are not allowed. + + + + + + + + + 256 + {{20, -16}, {404, 14}} + + YES + + 67239424 + 4194304 + These options take effect when X11 is next launched. + + + + + + + + {{10, 33}, {438, 246}} + + Security + + + + + + + 0 + YES + YES + + YES + + + + + {484, 308} + + {{0, 0}, {1280, 938}} + {320, 262} + {3.40282e+38, 3.40282e+38} + x11_prefs + + + 11 + 2 + {{302, 440}, {454, 271}} + 1350041600 + X11 Application Menu + NSPanel + + View + + {3.40282e+38, 3.40282e+38} + {320, 240} + + + 256 + + YES + + + 265 + {{340, 191}, {100, 32}} + + YES + + 67239424 + 137887744 + Duplicate + + + -2038284033 + 1 + + Helvetica + 1.300000e+01 + 16 + + + + + + + + 200 + 25 + + + + + 265 + {{340, 159}, {100, 32}} + + YES + + 67239424 + 137887744 + Remove + + + -2038284033 + 1 + + + + + + + + 200 + 25 + + + + + 274 + + YES + + + 2304 + + YES + + + 256 + {301, 198} + + YES + + + 256 + {301, 17} + + + + + + 256 + {{302, 0}, {16, 17}} + + + + YES + + 1.217310e+02 + 6.273100e+01 + 1.000000e+03 + + 75628032 + 0 + Name + + + 3 + MC4zMzMzMzI5OQA + + + 6 + System + headerTextColor + + + + + 338820672 + 1024 + Text Cell + + + + 3 + MQA + + + + 3 + YES + YES + + + + 9.900000e+01 + 4.000000e+01 + 1.000000e+03 + + 75628032 + 0 + Command + + + + + + 338820672 + 1024 + Text Cell + + + + + + 3 + YES + YES + + + + 7.100000e+01 + 1.000000e+01 + 1.000000e+03 + + 67239424 + 0 + Shortcut + + + 6 + System + headerColor + + + + + + 338820672 + 1024 + Text Cell + + LucidaGrande + 1.200000e+01 + 16 + + + YES + + 6 + System + controlBackgroundColor + + + + + 3 + YES + YES + + + + 3.000000e+00 + 2.000000e+00 + + + 6 + System + gridColor + + 3 + MC41AA + + + 1.700000e+01 + 1379958784 + 1 + -1 + 0 + YES + + + {{1, 17}, {301, 198}} + + + + + 4 + + + + 256 + {{302, 17}, {15, 198}} + + + _doScroller: + 9.949238e-01 + + + + 256 + {{1, 215}, {301, 15}} + + 1 + + _doScroller: + 6.885246e-01 + + + + 2304 + + YES + + + {{1, 0}, {301, 17}} + + + + + 4 + + + + {{20, 20}, {318, 231}} + + + 50 + + + + + + QSAAAEEgAABBmAAAQZgAAA + + + + 265 + {{340, 223}, {100, 32}} + + YES + + -2080244224 + 137887744 + Add Item + + + -2038284033 + 1 + + + + + + + + 200 + 25 + + + + {454, 271} + + {{0, 0}, {1280, 938}} + {320, 262} + {3.40282e+38, 3.40282e+38} + x11_apps + + + Menu + + YES + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Applications + + 1048576 + 2147483647 + + + submenuAction: + + Applications + + YES + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Q3VzdG9taXpl4oCmA + + 1048576 + 2147483647 + + + + + + + + + + + + + YES + + + copy: + + + + 181 + + + + minimize_window: + + + + 202 + + + + close_window: + + + + 205 + + + + zoom_window: + + + + 206 + + + + bring_to_front: + + + + 207 + + + + hideOtherApplications: + + + + 263 + + + + apps_separator + + + + 273 + + + + apps_table + + + + 301 + + + + apps_table_delete: + + + + 303 + + + + apps_table_duplicate: + + + + 304 + + + + apps_table_show: + + + + 308 + + + + apps_table_new: + + + + 311 + + + + prefs_show: + + + + 318 + + + + x11_about_item + + + + 321 + + + + enable_auth + + + + 387 + + + + enable_tcp + + + + 388 + + + + depth + + + + 389 + + + + use_sysbeep + + + + 390 + + + + fake_buttons + + + + 391 + + + + sync_keymap + + + + 392 + + + + enable_keyequivs + + + + 393 + + + + prefs_changed: + + + + 394 + + + + prefs_changed: + + + + 395 + + + + prefs_changed: + + + + 396 + + + + prefs_changed: + + + + 397 + + + + prefs_changed: + + + + 398 + + + + prefs_changed: + + + + 399 + + + + prefs_changed: + + + + 401 + + + + prefs_panel + + + + 402 + + + + x11_help: + + + + 422 + + + + dockMenu + + + + 426 + + + + dock_menu + + + + 428 + + + + delegate + + + + 429 + + + + hide: + + + + 430 + + + + unhideAllApplications: + + + + 431 + + + + orderFrontStandardAboutPanel: + + + + 433 + + + + dock_apps_menu + + + + 530 + + + + dock_window_separator + + + + 531 + + + + apps_table_show: + + + + 534 + + + + next_window: + + + + 539 + + + + previous_window: + + + + 540 + + + + enable_fullscreen + + + + 546 + + + + enable_fullscreen_changed: + + + + 547 + + + + toggle_fullscreen: + + + + 548 + + + + toggle_fullscreen_item + + + + 549 + + + + window_separator + + + + 300331 + + + + menu + + + + 300334 + + + + terminate: + + + + 300336 + + + + prefs_changed: + + + + 300389 + + + + prefs_changed: + + + + 300390 + + + + prefs_changed: + + + + 300391 + + + + click_through + + + + 300392 + + + + focus_follows_mouse + + + + 300393 + + + + focus_on_new_window + + + + 300394 + + + + copy_menu_item + + + + 300443 + + + + sync_pasteboard + + + + 300444 + + + + sync_clipboard_to_pasteboard + + + + 300461 + + + + sync_pasteboard_to_clipboard + + + + 300462 + + + + sync_pasteboard_to_primary + + + + 300463 + + + + sync_primary_immediately + + + + 300464 + + + + prefs_changed: + + + + 300465 + + + + prefs_changed: + + + + 300466 + + + + prefs_changed: + + + + 300467 + + + + prefs_changed: + + + + 300468 + + + + prefs_changed: + + + + 300469 + + + + sync_text1 + + + + 300470 + + + + sync_text2 + + + + 300471 + + + + enable_fullscreen_menu + + + + 300474 + + + + prefs_changed: + + + + 300475 + + + + + YES + + 0 + + YES + + + + + + -2 + + + RmlsZSdzIE93bmVyA + + + -1 + + + First Responder + + + -3 + + + Application + + + 29 + + + YES + + + + + + + + MainMenu + + + 19 + + + YES + + + + + + 24 + + + YES + + + + + + + + + + + + + + 5 + + + + + 23 + + + + + 92 + + + + + 203 + + + + + 204 + + + + + 536 + + + + + 537 + + + + + 538 + + + + + 56 + + + YES + + + + + + 57 + + + YES + + + + + + + + + + + + + + + + + 58 + + + + + 129 + + + + + 131 + + + YES + + + + + + 130 + + + + + 134 + + + + + 136 + + + + + 143 + + + + + 144 + + + + + 145 + + + + + 149 + + + + + 150 + + + + + 544 + + + + + 545 + + + + + 163 + + + YES + + + + + + 169 + + + YES + + + + + + 157 + + + + + 269 + + + YES + + + + + + 270 + + + YES + + + + + + + 272 + + + + + 305 + + + + + 419 + + + YES + + + + + + 420 + + + YES + + + + + + 421 + + + + + 196 + + + X11Controller + + + 244 + + + YES + + + + PrefsPanel + + + 245 + + + YES + + + + + + 348 + + + YES + + + + + + + + + + 349 + + + YES + + + + + + 351 + + + YES + + + + + + + + + + + 363 + + + YES + + + + + + 364 + + + YES + + + + + + 365 + + + YES + + + + + + 368 + + + YES + + + + + + 369 + + + YES + + + + + + 370 + + + YES + + + + + + 352 + + + YES + + + + + + 350 + + + YES + + + + + + + + + + + + + 371 + + + YES + + + + + + 372 + + + YES + + + + + + 382 + + + YES + + + + + + 385 + + + YES + + + + + + 386 + + + YES + + + + + + 541 + + + YES + + + + + + 543 + + + YES + + + + + + 353 + + + YES + + + + + + 354 + + + YES + + + + + + + + + + 374 + + + YES + + + + + + 375 + + + YES + + + + + + 376 + + + YES + + + + + + 377 + + + YES + + + + + + 379 + + + YES + + + + + + 285 + + + YES + + + + EditPrograms + + + 286 + + + YES + + + + + + + + + 423 + + + YES + + + + + DockMenu + + + 524 + + + + + 526 + + + YES + + + + + + 527 + + + YES + + + + + + + 532 + + + + + 533 + + + + + 100363 + + + + + 100364 + + + + + 100365 + + + + + 100368 + + + + + 100369 + + + + + 100370 + + + + + 100371 + + + + + 100372 + + + + + 100382 + + + YES + + + + + + 100385 + + + + + 100386 + + + + + 100541 + + + + + 100543 + + + + + 100374 + + + + + 100375 + + + + + 100376 + + + + + 100377 + + + + + 100379 + + + + + 380 + + + YES + + + + + + + + + 435 + + + + + 384 + + + + + 383 + + + + + 381 + + + + + 295 + + + YES + + + + + + + + + 300295 + + + + + 200295 + + + + + 100295 + + + + + 296 + + + YES + + + + + + + + 535 + + + YES + + + + + + 575 + + + + + 298 + + + YES + + + + + + 573 + + + + + 297 + + + YES + + + + + + 574 + + + + + 310 + + + YES + + + + + + 100310 + + + + + 292 + + + YES + + + + + + 100292 + + + + + 293 + + + YES + + + + + + 100293 + + + + + 300330 + + + + + 300337 + + + YES + + + + + + 300338 + + + YES + + + + + + + + + + + 300358 + + + YES + + + + + + 300359 + + + YES + + + + + + 300360 + + + + + 300361 + + + + + 300362 + + + YES + + + + + + 300363 + + + + + 300364 + + + YES + + + + + + 300365 + + + + + 300368 + + + YES + + + + + + 300369 + + + + + 300370 + + + YES + + + + + + 300371 + + + + + 300421 + + + YES + + + + + + 300422 + + + YES + + + + + + + + + + + + + 300423 + + + YES + + + + + + 300424 + + + YES + + + + + + 300440 + + + + + 300441 + + + + + 300447 + + + YES + + + + + + 300450 + + + + + 300451 + + + YES + + + + + + 300452 + + + + + 300453 + + + YES + + + + + + 300454 + + + + + 300455 + + + YES + + + + + + 300456 + + + + + 300457 + + + YES + + + + + + 300458 + + + + + 300459 + + + YES + + + + + + 300460 + + + + + 300472 + + + YES + + + + + + 300473 + + + + + + + YES + + YES + -1.IBPluginDependency + -2.IBPluginDependency + -3.IBPluginDependency + -3.ImportedFromIB2 + 100292.IBPluginDependency + 100293.IBPluginDependency + 100295.IBPluginDependency + 100295.IBShouldRemoveOnLegacySave + 100310.IBPluginDependency + 100363.IBPluginDependency + 100364.IBPluginDependency + 100365.IBPluginDependency + 100368.IBPluginDependency + 100369.IBPluginDependency + 100370.IBPluginDependency + 100371.IBPluginDependency + 100372.IBPluginDependency + 100374.IBPluginDependency + 100375.IBPluginDependency + 100376.IBPluginDependency + 100377.IBPluginDependency + 100379.IBPluginDependency + 100382.IBPluginDependency + 100385.IBPluginDependency + 100386.IBPluginDependency + 100541.IBPluginDependency + 100543.IBPluginDependency + 129.IBPluginDependency + 129.ImportedFromIB2 + 130.IBPluginDependency + 130.ImportedFromIB2 + 131.IBPluginDependency + 131.ImportedFromIB2 + 134.IBPluginDependency + 134.ImportedFromIB2 + 136.IBPluginDependency + 136.ImportedFromIB2 + 143.IBPluginDependency + 143.ImportedFromIB2 + 144.IBPluginDependency + 144.ImportedFromIB2 + 145.IBPluginDependency + 145.ImportedFromIB2 + 149.IBPluginDependency + 149.ImportedFromIB2 + 150.IBPluginDependency + 150.ImportedFromIB2 + 157.IBPluginDependency + 157.ImportedFromIB2 + 163.IBPluginDependency + 163.ImportedFromIB2 + 169.IBEditorWindowLastContentRect + 169.IBPluginDependency + 169.ImportedFromIB2 + 169.editorWindowContentRectSynchronizationRect + 19.IBPluginDependency + 19.ImportedFromIB2 + 196.IBPluginDependency + 196.ImportedFromIB2 + 200295.IBPluginDependency + 200295.IBShouldRemoveOnLegacySave + 203.IBPluginDependency + 203.ImportedFromIB2 + 204.IBPluginDependency + 204.ImportedFromIB2 + 23.IBPluginDependency + 23.ImportedFromIB2 + 24.IBEditorWindowLastContentRect + 24.IBPluginDependency + 24.ImportedFromIB2 + 24.editorWindowContentRectSynchronizationRect + 244.IBEditorWindowLastContentRect + 244.IBWindowTemplateEditedContentRect + 244.ImportedFromIB2 + 244.editorWindowContentRectSynchronizationRect + 244.windowTemplate.hasMaxSize + 244.windowTemplate.hasMinSize + 244.windowTemplate.maxSize + 244.windowTemplate.minSize + 245.IBPluginDependency + 245.ImportedFromIB2 + 269.IBPluginDependency + 269.ImportedFromIB2 + 270.IBEditorWindowLastContentRect + 270.IBPluginDependency + 270.ImportedFromIB2 + 270.editorWindowContentRectSynchronizationRect + 272.IBPluginDependency + 272.ImportedFromIB2 + 285.IBEditorWindowLastContentRect + 285.IBViewEditorWindowController.showingBoundsRectangles + 285.IBViewEditorWindowController.showingLayoutRectangles + 285.IBWindowTemplateEditedContentRect + 285.ImportedFromIB2 + 285.editorWindowContentRectSynchronizationRect + 285.windowTemplate.hasMaxSize + 285.windowTemplate.hasMinSize + 285.windowTemplate.maxSize + 285.windowTemplate.minSize + 286.IBPluginDependency + 286.ImportedFromIB2 + 29.IBEditorWindowLastContentRect + 29.IBPluginDependency + 29.ImportedFromIB2 + 29.editorWindowContentRectSynchronizationRect + 292.IBPluginDependency + 292.ImportedFromIB2 + 293.IBPluginDependency + 293.ImportedFromIB2 + 295.IBPluginDependency + 295.ImportedFromIB2 + 296.IBPluginDependency + 296.ImportedFromIB2 + 297.IBPluginDependency + 297.ImportedFromIB2 + 298.IBPluginDependency + 298.ImportedFromIB2 + 300295.IBPluginDependency + 300295.IBShouldRemoveOnLegacySave + 300330.IBPluginDependency + 300330.ImportedFromIB2 + 300337.IBPluginDependency + 300337.ImportedFromIB2 + 300338.IBPluginDependency + 300338.ImportedFromIB2 + 300358.IBPluginDependency + 300358.ImportedFromIB2 + 300359.IBPluginDependency + 300359.ImportedFromIB2 + 300360.IBPluginDependency + 300361.IBPluginDependency + 300362.IBPluginDependency + 300362.ImportedFromIB2 + 300363.IBPluginDependency + 300364.IBPluginDependency + 300364.ImportedFromIB2 + 300365.IBPluginDependency + 300368.IBPluginDependency + 300368.ImportedFromIB2 + 300369.IBPluginDependency + 300370.IBPluginDependency + 300370.ImportedFromIB2 + 300371.IBPluginDependency + 300421.IBPluginDependency + 300421.ImportedFromIB2 + 300422.IBPluginDependency + 300422.ImportedFromIB2 + 300423.IBPluginDependency + 300423.ImportedFromIB2 + 300424.IBPluginDependency + 300424.ImportedFromIB2 + 300440.IBPluginDependency + 300441.IBPluginDependency + 300447.IBPluginDependency + 300447.ImportedFromIB2 + 300450.IBPluginDependency + 300451.IBPluginDependency + 300451.ImportedFromIB2 + 300452.IBPluginDependency + 300453.IBPluginDependency + 300453.ImportedFromIB2 + 300454.IBPluginDependency + 300455.IBPluginDependency + 300455.ImportedFromIB2 + 300456.IBPluginDependency + 300457.IBPluginDependency + 300457.ImportedFromIB2 + 300458.IBPluginDependency + 300459.IBPluginDependency + 300459.ImportedFromIB2 + 300460.IBPluginDependency + 300472.IBPluginDependency + 300472.ImportedFromIB2 + 300473.IBPluginDependency + 305.IBPluginDependency + 305.ImportedFromIB2 + 310.IBPluginDependency + 310.ImportedFromIB2 + 348.IBPluginDependency + 348.ImportedFromIB2 + 349.IBPluginDependency + 349.ImportedFromIB2 + 350.IBPluginDependency + 350.ImportedFromIB2 + 351.IBPluginDependency + 351.ImportedFromIB2 + 352.IBPluginDependency + 352.ImportedFromIB2 + 353.IBPluginDependency + 353.ImportedFromIB2 + 354.IBPluginDependency + 354.ImportedFromIB2 + 363.IBPluginDependency + 363.ImportedFromIB2 + 364.IBPluginDependency + 364.ImportedFromIB2 + 365.IBPluginDependency + 365.ImportedFromIB2 + 368.IBPluginDependency + 368.ImportedFromIB2 + 369.IBPluginDependency + 369.ImportedFromIB2 + 370.IBPluginDependency + 370.ImportedFromIB2 + 371.IBPluginDependency + 371.ImportedFromIB2 + 372.IBPluginDependency + 372.ImportedFromIB2 + 374.IBPluginDependency + 374.ImportedFromIB2 + 375.IBPluginDependency + 375.ImportedFromIB2 + 376.IBPluginDependency + 376.ImportedFromIB2 + 377.IBPluginDependency + 377.ImportedFromIB2 + 379.IBPluginDependency + 379.ImportedFromIB2 + 380.IBPluginDependency + 380.ImportedFromIB2 + 381.IBPluginDependency + 381.ImportedFromIB2 + 382.IBPluginDependency + 382.ImportedFromIB2 + 383.IBPluginDependency + 383.ImportedFromIB2 + 384.IBPluginDependency + 384.ImportedFromIB2 + 385.IBPluginDependency + 385.ImportedFromIB2 + 386.IBPluginDependency + 386.ImportedFromIB2 + 419.IBPluginDependency + 419.ImportedFromIB2 + 420.IBPluginDependency + 420.ImportedFromIB2 + 421.IBPluginDependency + 421.ImportedFromIB2 + 423.IBPluginDependency + 423.ImportedFromIB2 + 435.IBPluginDependency + 435.ImportedFromIB2 + 5.IBPluginDependency + 5.ImportedFromIB2 + 524.IBPluginDependency + 524.ImportedFromIB2 + 526.IBPluginDependency + 526.ImportedFromIB2 + 527.IBPluginDependency + 527.ImportedFromIB2 + 532.IBPluginDependency + 532.ImportedFromIB2 + 533.IBPluginDependency + 533.ImportedFromIB2 + 535.IBPluginDependency + 535.ImportedFromIB2 + 536.IBPluginDependency + 536.ImportedFromIB2 + 537.IBPluginDependency + 537.ImportedFromIB2 + 538.IBPluginDependency + 538.ImportedFromIB2 + 541.IBPluginDependency + 541.ImportedFromIB2 + 543.IBPluginDependency + 543.ImportedFromIB2 + 544.IBPluginDependency + 544.ImportedFromIB2 + 545.IBPluginDependency + 545.ImportedFromIB2 + 56.IBPluginDependency + 56.ImportedFromIB2 + 57.IBEditorWindowLastContentRect + 57.IBPluginDependency + 57.ImportedFromIB2 + 57.editorWindowContentRectSynchronizationRect + 573.IBPluginDependency + 573.ImportedFromIB2 + 574.IBPluginDependency + 574.ImportedFromIB2 + 575.IBPluginDependency + 575.ImportedFromIB2 + 58.IBPluginDependency + 58.ImportedFromIB2 + 92.IBPluginDependency + 92.ImportedFromIB2 + + + YES + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{168, 821}, {113, 23}} + com.apple.InterfaceBuilder.CocoaPlugin + + {{202, 626}, {154, 153}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{349, 858}, {315, 153}} + com.apple.InterfaceBuilder.CocoaPlugin + + {{271, 666}, {301, 153}} + {{437, 749}, {484, 308}} + {{437, 749}, {484, 308}} + + {{184, 290}, {481, 345}} + + + {3.40282e+38, 3.40282e+38} + {320, 240} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{58, 803}, {155, 33}} + com.apple.InterfaceBuilder.CocoaPlugin + + {{100, 746}, {155, 33}} + com.apple.InterfaceBuilder.CocoaPlugin + + {{68, 585}, {454, 271}} + + + {{68, 585}, {454, 271}} + + {{433, 406}, {486, 327}} + + + {3.40282e+38, 3.40282e+38} + {320, 240} + com.apple.InterfaceBuilder.CocoaPlugin + + {{145, 1011}, {336, 20}} + com.apple.InterfaceBuilder.CocoaPlugin + + {{67, 819}, {336, 20}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{20, 641}, {218, 203}} + com.apple.InterfaceBuilder.CocoaPlugin + + {{79, 616}, {218, 203}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + + + + YES + + YES + + + YES + + + + + YES + + YES + + + YES + + + + 300475 + + + + YES + + FirstResponder + NSObject + + IBUserSource + + + + + NSFormatter + NSObject + + IBUserSource + + + + + X11Controller + NSObject + + IBUserSource + + + + + + YES + + X11Controller + NSObject + + YES + + YES + apps_table_delete: + apps_table_done: + apps_table_duplicate: + apps_table_new: + apps_table_show: + bring_to_front: + close_window: + enable_fullscreen_changed: + minimize_window: + next_window: + prefs_changed: + prefs_show: + previous_window: + quit: + toggle_fullscreen: + x11_help: + zoom_window: + + + YES + id + id + id + id + id + id + id + id + id + id + id + id + id + id + id + id + id + + + + YES + + YES + apps_separator + apps_table + click_through + copy_menu_item + depth + dock_apps_menu + dock_menu + dock_window_separator + enable_auth + enable_fullscreen + enable_fullscreen_menu + enable_keyequivs + enable_tcp + fake_buttons + focus_follows_mouse + focus_on_new_window + prefs_panel + sync_clipboard_to_pasteboard + sync_keymap + sync_pasteboard + sync_pasteboard_to_clipboard + sync_pasteboard_to_primary + sync_primary_immediately + sync_text1 + sync_text2 + toggle_fullscreen_item + use_sysbeep + window_separator + x11_about_item + + + YES + NSMenuItem + NSTableView + NSButton + NSMenuItem + NSPopUpButton + NSMenu + NSMenu + NSMenuItem + NSButton + NSButton + NSButton + NSButton + NSButton + NSButton + NSButton + NSButton + NSPanel + NSButton + NSButton + NSButton + NSButton + NSButton + NSButton + NSTextField + NSTextField + NSMenuItem + NSButton + NSMenuItem + NSMenuItem + + + + IBDocumentRelativeSource + ../../../X11Controller.h + + + + + 0 + ../X11.xcodeproj + 3 + + diff --git a/xorg-server/hw/xquartz/bundle/Resources/English.lproj/main.nib/keyedobjects.nib b/xorg-server/hw/xquartz/bundle/Resources/English.lproj/main.nib/keyedobjects.nib new file mode 100644 index 000000000..ee6cdf25e Binary files /dev/null and b/xorg-server/hw/xquartz/bundle/Resources/English.lproj/main.nib/keyedobjects.nib differ diff --git a/xorg-server/hw/xquartz/bundle/Resources/French.lproj/InfoPlist.strings b/xorg-server/hw/xquartz/bundle/Resources/French.lproj/InfoPlist.strings new file mode 100644 index 000000000..88e1f04ac Binary files /dev/null and b/xorg-server/hw/xquartz/bundle/Resources/French.lproj/InfoPlist.strings differ diff --git a/xorg-server/hw/xquartz/bundle/Resources/French.lproj/Localizable.strings b/xorg-server/hw/xquartz/bundle/Resources/French.lproj/Localizable.strings new file mode 100644 index 000000000..2770dfb8c Binary files /dev/null and b/xorg-server/hw/xquartz/bundle/Resources/French.lproj/Localizable.strings differ diff --git a/xorg-server/hw/xquartz/bundle/Resources/French.lproj/main.nib/keyedobjects.nib b/xorg-server/hw/xquartz/bundle/Resources/French.lproj/main.nib/keyedobjects.nib new file mode 100644 index 000000000..9f9a7da67 Binary files /dev/null and b/xorg-server/hw/xquartz/bundle/Resources/French.lproj/main.nib/keyedobjects.nib differ diff --git a/xorg-server/hw/xquartz/bundle/Resources/German.lproj/InfoPlist.strings b/xorg-server/hw/xquartz/bundle/Resources/German.lproj/InfoPlist.strings new file mode 100644 index 000000000..aa37e7555 Binary files /dev/null and b/xorg-server/hw/xquartz/bundle/Resources/German.lproj/InfoPlist.strings differ diff --git a/xorg-server/hw/xquartz/bundle/Resources/German.lproj/Localizable.strings b/xorg-server/hw/xquartz/bundle/Resources/German.lproj/Localizable.strings new file mode 100644 index 000000000..a5489ab5c Binary files /dev/null and b/xorg-server/hw/xquartz/bundle/Resources/German.lproj/Localizable.strings differ diff --git a/xorg-server/hw/xquartz/bundle/Resources/German.lproj/main.nib/keyedobjects.nib b/xorg-server/hw/xquartz/bundle/Resources/German.lproj/main.nib/keyedobjects.nib new file mode 100644 index 000000000..19532a9c2 Binary files /dev/null and b/xorg-server/hw/xquartz/bundle/Resources/German.lproj/main.nib/keyedobjects.nib differ diff --git a/xorg-server/hw/xquartz/bundle/Resources/Italian.lproj/InfoPlist.strings b/xorg-server/hw/xquartz/bundle/Resources/Italian.lproj/InfoPlist.strings new file mode 100644 index 000000000..412169880 Binary files /dev/null and b/xorg-server/hw/xquartz/bundle/Resources/Italian.lproj/InfoPlist.strings differ diff --git a/xorg-server/hw/xquartz/bundle/Resources/Italian.lproj/Localizable.strings b/xorg-server/hw/xquartz/bundle/Resources/Italian.lproj/Localizable.strings new file mode 100644 index 000000000..d05d73d44 Binary files /dev/null and b/xorg-server/hw/xquartz/bundle/Resources/Italian.lproj/Localizable.strings differ diff --git a/xorg-server/hw/xquartz/bundle/Resources/Italian.lproj/main.nib/keyedobjects.nib b/xorg-server/hw/xquartz/bundle/Resources/Italian.lproj/main.nib/keyedobjects.nib new file mode 100644 index 000000000..b6e2e1bb1 Binary files /dev/null and b/xorg-server/hw/xquartz/bundle/Resources/Italian.lproj/main.nib/keyedobjects.nib differ diff --git a/xorg-server/hw/xquartz/bundle/Resources/Japanese.lproj/InfoPlist.strings b/xorg-server/hw/xquartz/bundle/Resources/Japanese.lproj/InfoPlist.strings new file mode 100644 index 000000000..2d6330fa7 Binary files /dev/null and b/xorg-server/hw/xquartz/bundle/Resources/Japanese.lproj/InfoPlist.strings differ diff --git a/xorg-server/hw/xquartz/bundle/Resources/Japanese.lproj/Localizable.strings b/xorg-server/hw/xquartz/bundle/Resources/Japanese.lproj/Localizable.strings new file mode 100644 index 000000000..99821ea1f Binary files /dev/null and b/xorg-server/hw/xquartz/bundle/Resources/Japanese.lproj/Localizable.strings differ diff --git a/xorg-server/hw/xquartz/bundle/Resources/Japanese.lproj/main.nib/keyedobjects.nib b/xorg-server/hw/xquartz/bundle/Resources/Japanese.lproj/main.nib/keyedobjects.nib new file mode 100644 index 000000000..523fd0856 Binary files /dev/null and b/xorg-server/hw/xquartz/bundle/Resources/Japanese.lproj/main.nib/keyedobjects.nib differ diff --git a/xorg-server/hw/xquartz/bundle/Resources/Spanish.lproj/InfoPlist.strings b/xorg-server/hw/xquartz/bundle/Resources/Spanish.lproj/InfoPlist.strings new file mode 100644 index 000000000..0e4287d14 Binary files /dev/null and b/xorg-server/hw/xquartz/bundle/Resources/Spanish.lproj/InfoPlist.strings differ diff --git a/xorg-server/hw/xquartz/bundle/Resources/Spanish.lproj/Localizable.strings b/xorg-server/hw/xquartz/bundle/Resources/Spanish.lproj/Localizable.strings new file mode 100644 index 000000000..652f432a5 Binary files /dev/null and b/xorg-server/hw/xquartz/bundle/Resources/Spanish.lproj/Localizable.strings differ diff --git a/xorg-server/hw/xquartz/bundle/Resources/Spanish.lproj/main.nib/keyedobjects.nib b/xorg-server/hw/xquartz/bundle/Resources/Spanish.lproj/main.nib/keyedobjects.nib new file mode 100644 index 000000000..029349dd0 Binary files /dev/null and b/xorg-server/hw/xquartz/bundle/Resources/Spanish.lproj/main.nib/keyedobjects.nib differ diff --git a/xorg-server/hw/xquartz/bundle/Resources/X11.icns b/xorg-server/hw/xquartz/bundle/Resources/X11.icns new file mode 100644 index 000000000..d9d2f7696 Binary files /dev/null and b/xorg-server/hw/xquartz/bundle/Resources/X11.icns differ diff --git a/xorg-server/hw/xquartz/bundle/Resources/da.lproj/InfoPlist.strings b/xorg-server/hw/xquartz/bundle/Resources/da.lproj/InfoPlist.strings new file mode 100644 index 000000000..88e1f04ac Binary files /dev/null and b/xorg-server/hw/xquartz/bundle/Resources/da.lproj/InfoPlist.strings differ diff --git a/xorg-server/hw/xquartz/bundle/Resources/da.lproj/Localizable.strings b/xorg-server/hw/xquartz/bundle/Resources/da.lproj/Localizable.strings new file mode 100644 index 000000000..9608a2e6b Binary files /dev/null and b/xorg-server/hw/xquartz/bundle/Resources/da.lproj/Localizable.strings differ diff --git a/xorg-server/hw/xquartz/bundle/Resources/da.lproj/main.nib/keyedobjects.nib b/xorg-server/hw/xquartz/bundle/Resources/da.lproj/main.nib/keyedobjects.nib new file mode 100644 index 000000000..4a2bd4bde Binary files /dev/null and b/xorg-server/hw/xquartz/bundle/Resources/da.lproj/main.nib/keyedobjects.nib differ diff --git a/xorg-server/hw/xquartz/bundle/Resources/fi.lproj/InfoPlist.strings b/xorg-server/hw/xquartz/bundle/Resources/fi.lproj/InfoPlist.strings new file mode 100644 index 000000000..8e4f6474f Binary files /dev/null and b/xorg-server/hw/xquartz/bundle/Resources/fi.lproj/InfoPlist.strings differ diff --git a/xorg-server/hw/xquartz/bundle/Resources/fi.lproj/Localizable.strings b/xorg-server/hw/xquartz/bundle/Resources/fi.lproj/Localizable.strings new file mode 100644 index 000000000..e8420fbaa Binary files /dev/null and b/xorg-server/hw/xquartz/bundle/Resources/fi.lproj/Localizable.strings differ diff --git a/xorg-server/hw/xquartz/bundle/Resources/fi.lproj/main.nib/keyedobjects.nib b/xorg-server/hw/xquartz/bundle/Resources/fi.lproj/main.nib/keyedobjects.nib new file mode 100644 index 000000000..b5039fd44 Binary files /dev/null and b/xorg-server/hw/xquartz/bundle/Resources/fi.lproj/main.nib/keyedobjects.nib differ diff --git a/xorg-server/hw/xquartz/bundle/Resources/ko.lproj/InfoPlist.strings b/xorg-server/hw/xquartz/bundle/Resources/ko.lproj/InfoPlist.strings new file mode 100644 index 000000000..4c738f8b2 Binary files /dev/null and b/xorg-server/hw/xquartz/bundle/Resources/ko.lproj/InfoPlist.strings differ diff --git a/xorg-server/hw/xquartz/bundle/Resources/ko.lproj/Localizable.strings b/xorg-server/hw/xquartz/bundle/Resources/ko.lproj/Localizable.strings new file mode 100644 index 000000000..56a335859 Binary files /dev/null and b/xorg-server/hw/xquartz/bundle/Resources/ko.lproj/Localizable.strings differ diff --git a/xorg-server/hw/xquartz/bundle/Resources/ko.lproj/main.nib/keyedobjects.nib b/xorg-server/hw/xquartz/bundle/Resources/ko.lproj/main.nib/keyedobjects.nib new file mode 100644 index 000000000..925945c4d Binary files /dev/null and b/xorg-server/hw/xquartz/bundle/Resources/ko.lproj/main.nib/keyedobjects.nib differ diff --git a/xorg-server/hw/xquartz/bundle/Resources/no.lproj/InfoPlist.strings b/xorg-server/hw/xquartz/bundle/Resources/no.lproj/InfoPlist.strings new file mode 100644 index 000000000..eb1cfb002 Binary files /dev/null and b/xorg-server/hw/xquartz/bundle/Resources/no.lproj/InfoPlist.strings differ diff --git a/xorg-server/hw/xquartz/bundle/Resources/no.lproj/Localizable.strings b/xorg-server/hw/xquartz/bundle/Resources/no.lproj/Localizable.strings new file mode 100644 index 000000000..5157a67de Binary files /dev/null and b/xorg-server/hw/xquartz/bundle/Resources/no.lproj/Localizable.strings differ diff --git a/xorg-server/hw/xquartz/bundle/Resources/no.lproj/main.nib/keyedobjects.nib b/xorg-server/hw/xquartz/bundle/Resources/no.lproj/main.nib/keyedobjects.nib new file mode 100644 index 000000000..ca25327f5 Binary files /dev/null and b/xorg-server/hw/xquartz/bundle/Resources/no.lproj/main.nib/keyedobjects.nib differ diff --git a/xorg-server/hw/xquartz/bundle/Resources/pl.lproj/InfoPlist.strings b/xorg-server/hw/xquartz/bundle/Resources/pl.lproj/InfoPlist.strings new file mode 100644 index 000000000..b9c950214 Binary files /dev/null and b/xorg-server/hw/xquartz/bundle/Resources/pl.lproj/InfoPlist.strings differ diff --git a/xorg-server/hw/xquartz/bundle/Resources/pl.lproj/Localizable.strings b/xorg-server/hw/xquartz/bundle/Resources/pl.lproj/Localizable.strings new file mode 100644 index 000000000..4ae12d77f Binary files /dev/null and b/xorg-server/hw/xquartz/bundle/Resources/pl.lproj/Localizable.strings differ diff --git a/xorg-server/hw/xquartz/bundle/Resources/pl.lproj/main.nib/keyedobjects.nib b/xorg-server/hw/xquartz/bundle/Resources/pl.lproj/main.nib/keyedobjects.nib new file mode 100644 index 000000000..e9ca5404b Binary files /dev/null and b/xorg-server/hw/xquartz/bundle/Resources/pl.lproj/main.nib/keyedobjects.nib differ diff --git a/xorg-server/hw/xquartz/bundle/Resources/pt.lproj/InfoPlist.strings b/xorg-server/hw/xquartz/bundle/Resources/pt.lproj/InfoPlist.strings new file mode 100644 index 000000000..33c637448 Binary files /dev/null and b/xorg-server/hw/xquartz/bundle/Resources/pt.lproj/InfoPlist.strings differ diff --git a/xorg-server/hw/xquartz/bundle/Resources/pt.lproj/Localizable.strings b/xorg-server/hw/xquartz/bundle/Resources/pt.lproj/Localizable.strings new file mode 100644 index 000000000..23ea96847 Binary files /dev/null and b/xorg-server/hw/xquartz/bundle/Resources/pt.lproj/Localizable.strings differ diff --git a/xorg-server/hw/xquartz/bundle/Resources/pt.lproj/main.nib/keyedobjects.nib b/xorg-server/hw/xquartz/bundle/Resources/pt.lproj/main.nib/keyedobjects.nib new file mode 100644 index 000000000..e88cccdba Binary files /dev/null and b/xorg-server/hw/xquartz/bundle/Resources/pt.lproj/main.nib/keyedobjects.nib differ diff --git a/xorg-server/hw/xquartz/bundle/Resources/pt_PT.lproj/InfoPlist.strings b/xorg-server/hw/xquartz/bundle/Resources/pt_PT.lproj/InfoPlist.strings new file mode 100644 index 000000000..33c637448 Binary files /dev/null and b/xorg-server/hw/xquartz/bundle/Resources/pt_PT.lproj/InfoPlist.strings differ diff --git a/xorg-server/hw/xquartz/bundle/Resources/pt_PT.lproj/Localizable.strings b/xorg-server/hw/xquartz/bundle/Resources/pt_PT.lproj/Localizable.strings new file mode 100644 index 000000000..71c33ad14 Binary files /dev/null and b/xorg-server/hw/xquartz/bundle/Resources/pt_PT.lproj/Localizable.strings differ diff --git a/xorg-server/hw/xquartz/bundle/Resources/pt_PT.lproj/main.nib/keyedobjects.nib b/xorg-server/hw/xquartz/bundle/Resources/pt_PT.lproj/main.nib/keyedobjects.nib new file mode 100644 index 000000000..a61933475 Binary files /dev/null and b/xorg-server/hw/xquartz/bundle/Resources/pt_PT.lproj/main.nib/keyedobjects.nib differ diff --git a/xorg-server/hw/xquartz/bundle/Resources/ru.lproj/InfoPlist.strings b/xorg-server/hw/xquartz/bundle/Resources/ru.lproj/InfoPlist.strings new file mode 100644 index 000000000..7f722e4b6 Binary files /dev/null and b/xorg-server/hw/xquartz/bundle/Resources/ru.lproj/InfoPlist.strings differ diff --git a/xorg-server/hw/xquartz/bundle/Resources/ru.lproj/Localizable.strings b/xorg-server/hw/xquartz/bundle/Resources/ru.lproj/Localizable.strings new file mode 100644 index 000000000..3b3811234 Binary files /dev/null and b/xorg-server/hw/xquartz/bundle/Resources/ru.lproj/Localizable.strings differ diff --git a/xorg-server/hw/xquartz/bundle/Resources/ru.lproj/main.nib/keyedobjects.nib b/xorg-server/hw/xquartz/bundle/Resources/ru.lproj/main.nib/keyedobjects.nib new file mode 100644 index 000000000..9354e0264 Binary files /dev/null and b/xorg-server/hw/xquartz/bundle/Resources/ru.lproj/main.nib/keyedobjects.nib differ diff --git a/xorg-server/hw/xquartz/bundle/Resources/sv.lproj/InfoPlist.strings b/xorg-server/hw/xquartz/bundle/Resources/sv.lproj/InfoPlist.strings new file mode 100644 index 000000000..655d5ff63 Binary files /dev/null and b/xorg-server/hw/xquartz/bundle/Resources/sv.lproj/InfoPlist.strings differ diff --git a/xorg-server/hw/xquartz/bundle/Resources/sv.lproj/Localizable.strings b/xorg-server/hw/xquartz/bundle/Resources/sv.lproj/Localizable.strings new file mode 100644 index 000000000..796f06c21 Binary files /dev/null and b/xorg-server/hw/xquartz/bundle/Resources/sv.lproj/Localizable.strings differ diff --git a/xorg-server/hw/xquartz/bundle/Resources/sv.lproj/main.nib/keyedobjects.nib b/xorg-server/hw/xquartz/bundle/Resources/sv.lproj/main.nib/keyedobjects.nib new file mode 100644 index 000000000..bd01c2dac Binary files /dev/null and b/xorg-server/hw/xquartz/bundle/Resources/sv.lproj/main.nib/keyedobjects.nib differ diff --git a/xorg-server/hw/xquartz/bundle/Resources/zh_CN.lproj/InfoPlist.strings b/xorg-server/hw/xquartz/bundle/Resources/zh_CN.lproj/InfoPlist.strings new file mode 100644 index 000000000..b5df36885 Binary files /dev/null and b/xorg-server/hw/xquartz/bundle/Resources/zh_CN.lproj/InfoPlist.strings differ diff --git a/xorg-server/hw/xquartz/bundle/Resources/zh_CN.lproj/Localizable.strings b/xorg-server/hw/xquartz/bundle/Resources/zh_CN.lproj/Localizable.strings new file mode 100644 index 000000000..f88a6da4b Binary files /dev/null and b/xorg-server/hw/xquartz/bundle/Resources/zh_CN.lproj/Localizable.strings differ diff --git a/xorg-server/hw/xquartz/bundle/Resources/zh_CN.lproj/main.nib/keyedobjects.nib b/xorg-server/hw/xquartz/bundle/Resources/zh_CN.lproj/main.nib/keyedobjects.nib new file mode 100644 index 000000000..e36c15fb6 Binary files /dev/null and b/xorg-server/hw/xquartz/bundle/Resources/zh_CN.lproj/main.nib/keyedobjects.nib differ diff --git a/xorg-server/hw/xquartz/bundle/Resources/zh_TW.lproj/InfoPlist.strings b/xorg-server/hw/xquartz/bundle/Resources/zh_TW.lproj/InfoPlist.strings new file mode 100644 index 000000000..92d5473b0 Binary files /dev/null and b/xorg-server/hw/xquartz/bundle/Resources/zh_TW.lproj/InfoPlist.strings differ diff --git a/xorg-server/hw/xquartz/bundle/Resources/zh_TW.lproj/Localizable.strings b/xorg-server/hw/xquartz/bundle/Resources/zh_TW.lproj/Localizable.strings new file mode 100644 index 000000000..f009302c2 Binary files /dev/null and b/xorg-server/hw/xquartz/bundle/Resources/zh_TW.lproj/Localizable.strings differ diff --git a/xorg-server/hw/xquartz/bundle/Resources/zh_TW.lproj/main.nib/keyedobjects.nib b/xorg-server/hw/xquartz/bundle/Resources/zh_TW.lproj/main.nib/keyedobjects.nib new file mode 100644 index 000000000..36602c53e Binary files /dev/null and b/xorg-server/hw/xquartz/bundle/Resources/zh_TW.lproj/main.nib/keyedobjects.nib differ diff --git a/xorg-server/hw/xquartz/bundle/Spanish.lproj/InfoPlist.strings b/xorg-server/hw/xquartz/bundle/Spanish.lproj/InfoPlist.strings deleted file mode 100644 index 0e4287d14..000000000 Binary files a/xorg-server/hw/xquartz/bundle/Spanish.lproj/InfoPlist.strings and /dev/null differ diff --git a/xorg-server/hw/xquartz/bundle/Spanish.lproj/Localizable.strings b/xorg-server/hw/xquartz/bundle/Spanish.lproj/Localizable.strings deleted file mode 100644 index 652f432a5..000000000 Binary files a/xorg-server/hw/xquartz/bundle/Spanish.lproj/Localizable.strings and /dev/null differ diff --git a/xorg-server/hw/xquartz/bundle/Spanish.lproj/main.nib/keyedobjects.nib b/xorg-server/hw/xquartz/bundle/Spanish.lproj/main.nib/keyedobjects.nib deleted file mode 100644 index 029349dd0..000000000 Binary files a/xorg-server/hw/xquartz/bundle/Spanish.lproj/main.nib/keyedobjects.nib and /dev/null differ diff --git a/xorg-server/hw/xquartz/bundle/X11.icns b/xorg-server/hw/xquartz/bundle/X11.icns deleted file mode 100644 index d770e617d..000000000 Binary files a/xorg-server/hw/xquartz/bundle/X11.icns and /dev/null differ diff --git a/xorg-server/hw/xquartz/bundle/X11.sh b/xorg-server/hw/xquartz/bundle/X11.sh new file mode 100644 index 000000000..3b8b6799c --- /dev/null +++ b/xorg-server/hw/xquartz/bundle/X11.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +set "$(dirname "$0")"/X11.bin "${@}" + +if [ -x ~/.x11run ]; then + exec ~/.x11run "${@}" +fi + +case $(basename "${SHELL}") in + bash) exec -l "${SHELL}" --login -c 'exec "${@}"' - "${@}" ;; + ksh|sh|zsh) exec -l "${SHELL}" -c 'exec "${@}"' - "${@}" ;; + csh|tcsh) exec -l "${SHELL}" -c 'exec $argv:q' "${@}" ;; + es|rc) exec -l "${SHELL}" -l -c 'exec $*' "${@}" ;; + *) exec "${@}" ;; +esac diff --git a/xorg-server/hw/xquartz/bundle/X11.xcodeproj/project.pbxproj b/xorg-server/hw/xquartz/bundle/X11.xcodeproj/project.pbxproj deleted file mode 100644 index ae8ec07e6..000000000 --- a/xorg-server/hw/xquartz/bundle/X11.xcodeproj/project.pbxproj +++ /dev/null @@ -1,458 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 42; - objects = { - -/* Begin PBXBuildFile section */ - 527F24190B5D938C007840A7 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 0867D6AAFE840B52C02AAC07 /* InfoPlist.strings */; }; - 527F241A0B5D938C007840A7 /* main.nib in Resources */ = {isa = PBXBuildFile; fileRef = 02345980000FD03B11CA0E72 /* main.nib */; }; - 527F241B0B5D938C007840A7 /* X11.icns in Resources */ = {isa = PBXBuildFile; fileRef = 50459C5F038587C60ECA21EC /* X11.icns */; }; - 527F241D0B5D938C007840A7 /* bundle-main.c in Sources */ = {isa = PBXBuildFile; fileRef = 50EE2AB703849F0B0ECA21EC /* bundle-main.c */; }; - 527F241F0B5D938C007840A7 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 50F4F0A7039D6ACA0E82C0CB /* CoreFoundation.framework */; }; - 527F24200B5D938C007840A7 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 570C5748047186C400ACF82F /* SystemConfiguration.framework */; }; - 527F24370B5D9D89007840A7 /* Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 527F24260B5D938C007840A7 /* Info.plist */; }; - 52D9C0ED0BCDDF6B00CD2AFC /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 52D9C0EB0BCDDF6B00CD2AFC /* Localizable.strings */; }; -/* End PBXBuildFile section */ - -/* Begin PBXFileReference section */ - 0867D6ABFE840B52C02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = ""; }; - 1870340FFE93FCAF11CA0CD7 /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = English.lproj/main.nib; sourceTree = ""; }; - 3FB03E460D1B6C05005958A5 /* da */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = da; path = da.lproj/Localizable.strings; sourceTree = ""; }; - 3FB03E470D1B6C05005958A5 /* Dutch */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = Dutch; path = Dutch.lproj/Localizable.strings; sourceTree = ""; }; - 3FB03E480D1B6C05005958A5 /* fi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fi; path = fi.lproj/Localizable.strings; sourceTree = ""; }; - 3FB03E490D1B6C05005958A5 /* French */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = French; path = French.lproj/Localizable.strings; sourceTree = ""; }; - 3FB03E4A0D1B6C05005958A5 /* German */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = German; path = German.lproj/Localizable.strings; sourceTree = ""; }; - 3FB03E4B0D1B6C05005958A5 /* Italian */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = Italian; path = Italian.lproj/Localizable.strings; sourceTree = ""; }; - 3FB03E4C0D1B6C05005958A5 /* Japanese */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = Japanese; path = Japanese.lproj/Localizable.strings; sourceTree = ""; }; - 3FB03E4D0D1B6C05005958A5 /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = ko.lproj/Localizable.strings; sourceTree = ""; }; - 3FB03E4E0D1B6C05005958A5 /* no */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = no; path = no.lproj/Localizable.strings; sourceTree = ""; }; - 3FB03E4F0D1B6C05005958A5 /* pl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pl; path = pl.lproj/Localizable.strings; sourceTree = ""; }; - 3FB03E500D1B6C05005958A5 /* pt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pt; path = pt.lproj/Localizable.strings; sourceTree = ""; }; - 3FB03E510D1B6C05005958A5 /* pt_PT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pt_PT; path = pt_PT.lproj/Localizable.strings; sourceTree = ""; }; - 3FB03E520D1B6C05005958A5 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/Localizable.strings; sourceTree = ""; }; - 3FB03E530D1B6C05005958A5 /* Spanish */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = Spanish; path = Spanish.lproj/Localizable.strings; sourceTree = ""; }; - 3FB03E540D1B6C05005958A5 /* sv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sv; path = sv.lproj/Localizable.strings; sourceTree = ""; }; - 3FB03E550D1B6C05005958A5 /* zh_CN */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = zh_CN; path = zh_CN.lproj/Localizable.strings; sourceTree = ""; }; - 3FB03E560D1B6C05005958A5 /* zh_TW */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = zh_TW; path = zh_TW.lproj/Localizable.strings; sourceTree = ""; }; - 3FB03E570D1B6C17005958A5 /* da */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = da; path = da.lproj/InfoPlist.strings; sourceTree = ""; }; - 3FB03E580D1B6C17005958A5 /* Dutch */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = Dutch; path = Dutch.lproj/InfoPlist.strings; sourceTree = ""; }; - 3FB03E590D1B6C17005958A5 /* fi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fi; path = fi.lproj/InfoPlist.strings; sourceTree = ""; }; - 3FB03E5A0D1B6C17005958A5 /* French */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = French; path = French.lproj/InfoPlist.strings; sourceTree = ""; }; - 3FB03E5B0D1B6C17005958A5 /* German */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = German; path = German.lproj/InfoPlist.strings; sourceTree = ""; }; - 3FB03E5C0D1B6C17005958A5 /* Italian */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = Italian; path = Italian.lproj/InfoPlist.strings; sourceTree = ""; }; - 3FB03E5D0D1B6C17005958A5 /* Japanese */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = Japanese; path = Japanese.lproj/InfoPlist.strings; sourceTree = ""; }; - 3FB03E5E0D1B6C17005958A5 /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = ko.lproj/InfoPlist.strings; sourceTree = ""; }; - 3FB03E5F0D1B6C17005958A5 /* no */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = no; path = no.lproj/InfoPlist.strings; sourceTree = ""; }; - 3FB03E600D1B6C17005958A5 /* pl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pl; path = pl.lproj/InfoPlist.strings; sourceTree = ""; }; - 3FB03E610D1B6C17005958A5 /* pt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pt; path = pt.lproj/InfoPlist.strings; sourceTree = ""; }; - 3FB03E620D1B6C17005958A5 /* pt_PT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pt_PT; path = pt_PT.lproj/InfoPlist.strings; sourceTree = ""; }; - 3FB03E630D1B6C17005958A5 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/InfoPlist.strings; sourceTree = ""; }; - 3FB03E640D1B6C17005958A5 /* Spanish */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = Spanish; path = Spanish.lproj/InfoPlist.strings; sourceTree = ""; }; - 3FB03E650D1B6C17005958A5 /* sv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sv; path = sv.lproj/InfoPlist.strings; sourceTree = ""; }; - 3FB03E660D1B6C17005958A5 /* zh_CN */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = zh_CN; path = zh_CN.lproj/InfoPlist.strings; sourceTree = ""; }; - 3FB03E670D1B6C17005958A5 /* zh_TW */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = zh_TW; path = zh_TW.lproj/InfoPlist.strings; sourceTree = ""; }; - 3FB03E680D1B6C34005958A5 /* da */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = da; path = da.lproj/main.nib; sourceTree = ""; }; - 3FB03E690D1B6C34005958A5 /* Dutch */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = Dutch; path = Dutch.lproj/main.nib; sourceTree = ""; }; - 3FB03E6A0D1B6C34005958A5 /* fi */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = fi; path = fi.lproj/main.nib; sourceTree = ""; }; - 3FB03E6B0D1B6C34005958A5 /* French */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = French; path = French.lproj/main.nib; sourceTree = ""; }; - 3FB03E6C0D1B6C34005958A5 /* German */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = German; path = German.lproj/main.nib; sourceTree = ""; }; - 3FB03E6D0D1B6C34005958A5 /* Italian */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = Italian; path = Italian.lproj/main.nib; sourceTree = ""; }; - 3FB03E6E0D1B6C34005958A5 /* Japanese */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = Japanese; path = Japanese.lproj/main.nib; sourceTree = ""; }; - 3FB03E6F0D1B6C34005958A5 /* ko */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = ko; path = ko.lproj/main.nib; sourceTree = ""; }; - 3FB03E700D1B6C34005958A5 /* no */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = no; path = no.lproj/main.nib; sourceTree = ""; }; - 3FB03E710D1B6C34005958A5 /* pl */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = pl; path = pl.lproj/main.nib; sourceTree = ""; }; - 3FB03E720D1B6C34005958A5 /* pt */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = pt; path = pt.lproj/main.nib; sourceTree = ""; }; - 3FB03E730D1B6C34005958A5 /* pt_PT */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = pt_PT; path = pt_PT.lproj/main.nib; sourceTree = ""; }; - 3FB03E740D1B6C34005958A5 /* ru */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = ru; path = ru.lproj/main.nib; sourceTree = ""; }; - 3FB03E750D1B6C34005958A5 /* Spanish */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = Spanish; path = Spanish.lproj/main.nib; sourceTree = ""; }; - 3FB03E760D1B6C34005958A5 /* sv */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = sv; path = sv.lproj/main.nib; sourceTree = ""; }; - 3FB03E770D1B6C34005958A5 /* zh_CN */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = zh_CN; path = zh_CN.lproj/main.nib; sourceTree = ""; }; - 3FB03E780D1B6C34005958A5 /* zh_TW */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = zh_TW; path = zh_TW.lproj/main.nib; sourceTree = ""; }; - 50459C5F038587C60ECA21EC /* X11.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = X11.icns; sourceTree = ""; }; - 50EE2AB703849F0B0ECA21EC /* bundle-main.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = "bundle-main.c"; sourceTree = ""; }; - 50F4F0A7039D6ACA0E82C0CB /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = /System/Library/Frameworks/CoreFoundation.framework; sourceTree = ""; }; - 527F24260B5D938C007840A7 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = Info.plist; sourceTree = ""; }; - 527F24270B5D938C007840A7 /* X11.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = X11.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 52D9C0EC0BCDDF6B00CD2AFC /* English */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/Localizable.strings; sourceTree = ""; }; - 570C5748047186C400ACF82F /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = /System/Library/Frameworks/SystemConfiguration.framework; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 527F241E0B5D938C007840A7 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 527F241F0B5D938C007840A7 /* CoreFoundation.framework in Frameworks */, - 527F24200B5D938C007840A7 /* SystemConfiguration.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 195DF8CFFE9D517E11CA2CBB /* Products */ = { - isa = PBXGroup; - children = ( - 527F24270B5D938C007840A7 /* X11.app */, - ); - name = Products; - sourceTree = ""; - }; - 20286C29FDCF999611CA2CEA /* X11 */ = { - isa = PBXGroup; - children = ( - 20286C2AFDCF999611CA2CEA /* Sources */, - 20286C2CFDCF999611CA2CEA /* Resources */, - 20286C32FDCF999611CA2CEA /* External Frameworks and Libraries */, - 195DF8CFFE9D517E11CA2CBB /* Products */, - 527F24260B5D938C007840A7 /* Info.plist */, - ); - name = X11; - sourceTree = ""; - }; - 20286C2AFDCF999611CA2CEA /* Sources */ = { - isa = PBXGroup; - children = ( - 50EE2AB703849F0B0ECA21EC /* bundle-main.c */, - ); - name = Sources; - sourceTree = ""; - }; - 20286C2CFDCF999611CA2CEA /* Resources */ = { - isa = PBXGroup; - children = ( - 52D9C0EB0BCDDF6B00CD2AFC /* Localizable.strings */, - 50459C5F038587C60ECA21EC /* X11.icns */, - 0867D6AAFE840B52C02AAC07 /* InfoPlist.strings */, - 02345980000FD03B11CA0E72 /* main.nib */, - ); - name = Resources; - sourceTree = ""; - }; - 20286C32FDCF999611CA2CEA /* External Frameworks and Libraries */ = { - isa = PBXGroup; - children = ( - 50F4F0A7039D6ACA0E82C0CB /* CoreFoundation.framework */, - 570C5748047186C400ACF82F /* SystemConfiguration.framework */, - ); - name = "External Frameworks and Libraries"; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXHeadersBuildPhase section */ - 527F24170B5D938C007840A7 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXHeadersBuildPhase section */ - -/* Begin PBXNativeTarget section */ - 527F24160B5D938C007840A7 /* X11 */ = { - isa = PBXNativeTarget; - buildConfigurationList = 527F24220B5D938C007840A7 /* Build configuration list for PBXNativeTarget "X11" */; - buildPhases = ( - 527F24170B5D938C007840A7 /* Headers */, - 527F24180B5D938C007840A7 /* Resources */, - 527F241C0B5D938C007840A7 /* Sources */, - 527F241E0B5D938C007840A7 /* Frameworks */, - 527F24210B5D938C007840A7 /* Rez */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = X11; - productName = X11; - productReference = 527F24270B5D938C007840A7 /* X11.app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 20286C28FDCF999611CA2CEA /* Project object */ = { - isa = PBXProject; - buildConfigurationList = 527F24080B5D8FFC007840A7 /* Build configuration list for PBXProject "X11" */; - compatibilityVersion = "Xcode 2.4"; - hasScannedForEncodings = 1; - knownRegions = ( - English, - Japanese, - French, - German, - da, - Dutch, - fi, - Italian, - ko, - no, - pl, - pt, - pt_PT, - ru, - Spanish, - sv, - zh_CN, - zh_TW, - ); - mainGroup = 20286C29FDCF999611CA2CEA /* X11 */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 527F24160B5D938C007840A7 /* X11 */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 527F24180B5D938C007840A7 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 527F24370B5D9D89007840A7 /* Info.plist in Resources */, - 527F24190B5D938C007840A7 /* InfoPlist.strings in Resources */, - 527F241A0B5D938C007840A7 /* main.nib in Resources */, - 527F241B0B5D938C007840A7 /* X11.icns in Resources */, - 52D9C0ED0BCDDF6B00CD2AFC /* Localizable.strings in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXRezBuildPhase section */ - 527F24210B5D938C007840A7 /* Rez */ = { - isa = PBXRezBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXRezBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 527F241C0B5D938C007840A7 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 527F241D0B5D938C007840A7 /* bundle-main.c in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXVariantGroup section */ - 02345980000FD03B11CA0E72 /* main.nib */ = { - isa = PBXVariantGroup; - children = ( - 1870340FFE93FCAF11CA0CD7 /* English */, - 3FB03E680D1B6C34005958A5 /* da */, - 3FB03E690D1B6C34005958A5 /* Dutch */, - 3FB03E6A0D1B6C34005958A5 /* fi */, - 3FB03E6B0D1B6C34005958A5 /* French */, - 3FB03E6C0D1B6C34005958A5 /* German */, - 3FB03E6D0D1B6C34005958A5 /* Italian */, - 3FB03E6E0D1B6C34005958A5 /* Japanese */, - 3FB03E6F0D1B6C34005958A5 /* ko */, - 3FB03E700D1B6C34005958A5 /* no */, - 3FB03E710D1B6C34005958A5 /* pl */, - 3FB03E720D1B6C34005958A5 /* pt */, - 3FB03E730D1B6C34005958A5 /* pt_PT */, - 3FB03E740D1B6C34005958A5 /* ru */, - 3FB03E750D1B6C34005958A5 /* Spanish */, - 3FB03E760D1B6C34005958A5 /* sv */, - 3FB03E770D1B6C34005958A5 /* zh_CN */, - 3FB03E780D1B6C34005958A5 /* zh_TW */, - ); - name = main.nib; - sourceTree = ""; - }; - 0867D6AAFE840B52C02AAC07 /* InfoPlist.strings */ = { - isa = PBXVariantGroup; - children = ( - 0867D6ABFE840B52C02AAC07 /* English */, - 3FB03E570D1B6C17005958A5 /* da */, - 3FB03E580D1B6C17005958A5 /* Dutch */, - 3FB03E590D1B6C17005958A5 /* fi */, - 3FB03E5A0D1B6C17005958A5 /* French */, - 3FB03E5B0D1B6C17005958A5 /* German */, - 3FB03E5C0D1B6C17005958A5 /* Italian */, - 3FB03E5D0D1B6C17005958A5 /* Japanese */, - 3FB03E5E0D1B6C17005958A5 /* ko */, - 3FB03E5F0D1B6C17005958A5 /* no */, - 3FB03E600D1B6C17005958A5 /* pl */, - 3FB03E610D1B6C17005958A5 /* pt */, - 3FB03E620D1B6C17005958A5 /* pt_PT */, - 3FB03E630D1B6C17005958A5 /* ru */, - 3FB03E640D1B6C17005958A5 /* Spanish */, - 3FB03E650D1B6C17005958A5 /* sv */, - 3FB03E660D1B6C17005958A5 /* zh_CN */, - 3FB03E670D1B6C17005958A5 /* zh_TW */, - ); - name = InfoPlist.strings; - sourceTree = ""; - }; - 52D9C0EB0BCDDF6B00CD2AFC /* Localizable.strings */ = { - isa = PBXVariantGroup; - children = ( - 52D9C0EC0BCDDF6B00CD2AFC /* English */, - 3FB03E460D1B6C05005958A5 /* da */, - 3FB03E470D1B6C05005958A5 /* Dutch */, - 3FB03E480D1B6C05005958A5 /* fi */, - 3FB03E490D1B6C05005958A5 /* French */, - 3FB03E4A0D1B6C05005958A5 /* German */, - 3FB03E4B0D1B6C05005958A5 /* Italian */, - 3FB03E4C0D1B6C05005958A5 /* Japanese */, - 3FB03E4D0D1B6C05005958A5 /* ko */, - 3FB03E4E0D1B6C05005958A5 /* no */, - 3FB03E4F0D1B6C05005958A5 /* pl */, - 3FB03E500D1B6C05005958A5 /* pt */, - 3FB03E510D1B6C05005958A5 /* pt_PT */, - 3FB03E520D1B6C05005958A5 /* ru */, - 3FB03E530D1B6C05005958A5 /* Spanish */, - 3FB03E540D1B6C05005958A5 /* sv */, - 3FB03E550D1B6C05005958A5 /* zh_CN */, - 3FB03E560D1B6C05005958A5 /* zh_TW */, - ); - name = Localizable.strings; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - 527F24090B5D8FFC007840A7 /* Development */ = { - isa = XCBuildConfiguration; - buildSettings = { - INSTALL_MODE_FLAG = "a+rX"; - }; - name = Development; - }; - 527F240A0B5D8FFC007840A7 /* Deployment */ = { - isa = XCBuildConfiguration; - buildSettings = { - INSTALL_MODE_FLAG = "a+rX"; - }; - name = Deployment; - }; - 527F240B0B5D8FFC007840A7 /* Default */ = { - isa = XCBuildConfiguration; - buildSettings = { - INSTALL_MODE_FLAG = "a+rX"; - }; - name = Default; - }; - 527F24230B5D938C007840A7 /* Development */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = NO; - FRAMEWORK_SEARCH_PATHS = ""; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - HEADER_SEARCH_PATHS = /usr/X11/include; - INFOPLIST_FILE = Info.plist; - INSTALL_PATH = /usr/X11; - LIBRARY_SEARCH_PATHS = /usr/X11/lib; - OTHER_CFLAGS = ""; - OTHER_LDFLAGS = ( - "-lXau", - "-lxcb", - "-lX11", - ); - OTHER_REZFLAGS = ""; - PRODUCT_NAME = X11; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = ( - "-Wmost", - "-Wno-four-char-constants", - "-Wno-unknown-pragmas", - ); - WRAPPER_EXTENSION = app; - }; - name = Development; - }; - 527F24240B5D938C007840A7 /* Deployment */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = YES; - FRAMEWORK_SEARCH_PATHS = ""; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - HEADER_SEARCH_PATHS = /usr/X11/include; - INFOPLIST_FILE = Info.plist; - INSTALL_PATH = /usr/X11; - LIBRARY_SEARCH_PATHS = /usr/X11/lib; - OTHER_CFLAGS = ""; - OTHER_LDFLAGS = ( - "-lXau", - "-lxcb", - "-lX11", - ); - OTHER_REZFLAGS = ""; - PRODUCT_NAME = X11; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = ( - "-Wmost", - "-Wno-four-char-constants", - "-Wno-unknown-pragmas", - ); - WRAPPER_EXTENSION = app; - }; - name = Deployment; - }; - 527F24250B5D938C007840A7 /* Default */ = { - isa = XCBuildConfiguration; - buildSettings = { - FRAMEWORK_SEARCH_PATHS = ""; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - HEADER_SEARCH_PATHS = /usr/X11/include; - INFOPLIST_FILE = Info.plist; - INSTALL_PATH = /usr/X11; - LIBRARY_SEARCH_PATHS = /usr/X11/lib; - OTHER_CFLAGS = ""; - OTHER_LDFLAGS = ( - "-lXau", - "-lxcb", - "-lX11", - ); - OTHER_REZFLAGS = ""; - PRODUCT_NAME = X11; - SECTORDER_FLAGS = ""; - WARNING_CFLAGS = ( - "-Wmost", - "-Wno-four-char-constants", - "-Wno-unknown-pragmas", - ); - WRAPPER_EXTENSION = app; - }; - name = Default; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 527F24080B5D8FFC007840A7 /* Build configuration list for PBXProject "X11" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 527F24090B5D8FFC007840A7 /* Development */, - 527F240A0B5D8FFC007840A7 /* Deployment */, - 527F240B0B5D8FFC007840A7 /* Default */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Default; - }; - 527F24220B5D938C007840A7 /* Build configuration list for PBXNativeTarget "X11" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 527F24230B5D938C007840A7 /* Development */, - 527F24240B5D938C007840A7 /* Deployment */, - 527F24250B5D938C007840A7 /* Default */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Default; - }; -/* End XCConfigurationList section */ - }; - rootObject = 20286C28FDCF999611CA2CEA /* Project object */; -} diff --git a/xorg-server/hw/xquartz/bundle/bundle-main.c b/xorg-server/hw/xquartz/bundle/bundle-main.c deleted file mode 100644 index e97770a55..000000000 --- a/xorg-server/hw/xquartz/bundle/bundle-main.c +++ /dev/null @@ -1,136 +0,0 @@ -/* main.c -- X application launcher - - Copyright (c) 2007 Jeremy Huddleston - Copyright (c) 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 -#include -#include -#include -#include - -#include - -#define DEFAULT_CLIENT "/usr/X11/bin/xterm" -#define DEFAULT_STARTX "/usr/X11/bin/startx" -#define DEFAULT_SHELL "/bin/sh" - -static int execute(const char *command); -static char *command_from_prefs(const char *key, const char *default_value); - -int main(int argc, char **argv) { - Display *display; - const char *s; - - size_t i; - fprintf(stderr, "X11.app: main(): argc=%d\n", argc); - for(i=0; i < argc; i++) { - fprintf(stderr, "\targv[%u] = %s\n", (unsigned)i, argv[i]); - } - - /* If we have a process serial number and it's our only arg, act as if - * the user double clicked the app bundle: launch app_to_run if possible - */ - if(argc == 1 || (argc == 2 && !strncmp(argv[1], "-psn_", 5))) { - /* Now, try to open a display, if so, run the launcher */ - display = XOpenDisplay(NULL); - if(display) { - fprintf(stderr, "X11.app: Closing the display and sleeping for 2s to allow the X server to start up.\n"); - /* Could open the display, start the launcher */ - XCloseDisplay(display); - - /* Give 2 seconds for the server to start... - * TODO: *Really* fix this race condition - */ - usleep(2000); - return execute(command_from_prefs("app_to_run", DEFAULT_CLIENT)); - } - } - - /* Start the server */ - if(s = getenv("DISPLAY")) { - fprintf(stderr, "X11.app: Could not connect to server (DISPLAY=\"%s\", unsetting). Starting X server.\n", s); - unsetenv("DISPLAY"); - } else { - fprintf(stderr, "X11.app: Could not connect to server (DISPLAY is not set). Starting X server.\n"); - } - return execute(command_from_prefs("startx_script", DEFAULT_STARTX)); -} - -static int execute(const char *command) { - const char *newargv[7]; - const char **s; - - newargv[0] = "/usr/bin/login"; - newargv[1] = "-fp"; - newargv[2] = getlogin(); - newargv[3] = command_from_prefs("login_shell", DEFAULT_SHELL); - newargv[4] = "-c"; - newargv[5] = command; - newargv[6] = NULL; - - fprintf(stderr, "X11.app: Launching %s:\n", command); - for(s=newargv; *s; s++) { - fprintf(stderr, "\targv[%d] = %s\n", s - newargv, *s); - } - - execvp (newargv[0], (char * const *) newargv); - perror ("X11.app: Couldn't exec."); - return(1); -} - -static char *command_from_prefs(const char *key, const char *default_value) { - char *command = NULL; - - CFStringRef cfKey = CFStringCreateWithCString(NULL, key, kCFStringEncodingASCII); - CFPropertyListRef PlistRef = CFPreferencesCopyAppValue(cfKey, kCFPreferencesCurrentApplication); - - if ((PlistRef == NULL) || (CFGetTypeID(PlistRef) != CFStringGetTypeID())) { - CFStringRef cfDefaultValue = CFStringCreateWithCString(NULL, default_value, kCFStringEncodingASCII); - - CFPreferencesSetAppValue(cfKey, cfDefaultValue, kCFPreferencesCurrentApplication); - CFPreferencesAppSynchronize(kCFPreferencesCurrentApplication); - - int len = strlen(default_value) + 1; - command = (char *)malloc(len * sizeof(char)); - if(!command) - return NULL; - strcpy(command, default_value); - } else { - int len = CFStringGetLength((CFStringRef)PlistRef) + 1; - command = (char *)malloc(len * sizeof(char)); - if(!command) - return NULL; - CFStringGetCString((CFStringRef)PlistRef, command, len, kCFStringEncodingASCII); - } - - if (PlistRef) - CFRelease(PlistRef); - - return command; -} diff --git a/xorg-server/hw/xquartz/bundle/cpprules.in b/xorg-server/hw/xquartz/bundle/cpprules.in new file mode 100644 index 000000000..f32eafc06 --- /dev/null +++ b/xorg-server/hw/xquartz/bundle/cpprules.in @@ -0,0 +1,37 @@ +# 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 '/XSLASHGLOB/s/XSLASHGLOB/\/\*/' \ + -e '/\@\@$$/s/\@\@$$/\\/' + +# Strings to replace in man pages +XORGRELSTRING = @PACKAGE_STRING@ + XORGMANNAME = X Version 11 + +MANDEFS = \ + -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__XSERVERNAME__=Xorg -D__XCONFIGFILE__=xorg.conf \ + -D__xinitdir__=$(XINITDIR) \ + -D__bindir__=$(bindir) \ + -DSHELL_CMD=$(SHELL_CMD) $(ARCHMANDEFS) + +SUFFIXES = .$(APP_MAN_SUFFIX) .man .cpp + +.cpp: + $(RAWCPP) $(RAWCPPFLAGS) $(CPP_FILES_FLAGS) < $< | $(CPP_SED_MAGIC) > $@ + +.man.$(APP_MAN_SUFFIX): + $(RAWCPP) $(RAWCPPFLAGS) $(MANDEFS) $(EXTRAMANDEFS) < $< | $(CPP_SED_MAGIC) > $@ diff --git a/xorg-server/hw/xquartz/bundle/da.lproj/InfoPlist.strings b/xorg-server/hw/xquartz/bundle/da.lproj/InfoPlist.strings deleted file mode 100644 index 88e1f04ac..000000000 Binary files a/xorg-server/hw/xquartz/bundle/da.lproj/InfoPlist.strings and /dev/null differ diff --git a/xorg-server/hw/xquartz/bundle/da.lproj/Localizable.strings b/xorg-server/hw/xquartz/bundle/da.lproj/Localizable.strings deleted file mode 100644 index 9608a2e6b..000000000 Binary files a/xorg-server/hw/xquartz/bundle/da.lproj/Localizable.strings and /dev/null differ diff --git a/xorg-server/hw/xquartz/bundle/da.lproj/main.nib/keyedobjects.nib b/xorg-server/hw/xquartz/bundle/da.lproj/main.nib/keyedobjects.nib deleted file mode 100644 index 4a2bd4bde..000000000 Binary files a/xorg-server/hw/xquartz/bundle/da.lproj/main.nib/keyedobjects.nib and /dev/null differ diff --git a/xorg-server/hw/xquartz/bundle/fi.lproj/InfoPlist.strings b/xorg-server/hw/xquartz/bundle/fi.lproj/InfoPlist.strings deleted file mode 100644 index 8e4f6474f..000000000 Binary files a/xorg-server/hw/xquartz/bundle/fi.lproj/InfoPlist.strings and /dev/null differ diff --git a/xorg-server/hw/xquartz/bundle/fi.lproj/Localizable.strings b/xorg-server/hw/xquartz/bundle/fi.lproj/Localizable.strings deleted file mode 100644 index e8420fbaa..000000000 Binary files a/xorg-server/hw/xquartz/bundle/fi.lproj/Localizable.strings and /dev/null differ diff --git a/xorg-server/hw/xquartz/bundle/fi.lproj/main.nib/keyedobjects.nib b/xorg-server/hw/xquartz/bundle/fi.lproj/main.nib/keyedobjects.nib deleted file mode 100644 index b5039fd44..000000000 Binary files a/xorg-server/hw/xquartz/bundle/fi.lproj/main.nib/keyedobjects.nib and /dev/null differ diff --git a/xorg-server/hw/xquartz/bundle/ko.lproj/InfoPlist.strings b/xorg-server/hw/xquartz/bundle/ko.lproj/InfoPlist.strings deleted file mode 100644 index 4c738f8b2..000000000 Binary files a/xorg-server/hw/xquartz/bundle/ko.lproj/InfoPlist.strings and /dev/null differ diff --git a/xorg-server/hw/xquartz/bundle/ko.lproj/Localizable.strings b/xorg-server/hw/xquartz/bundle/ko.lproj/Localizable.strings deleted file mode 100644 index 56a335859..000000000 Binary files a/xorg-server/hw/xquartz/bundle/ko.lproj/Localizable.strings and /dev/null differ diff --git a/xorg-server/hw/xquartz/bundle/ko.lproj/main.nib/keyedobjects.nib b/xorg-server/hw/xquartz/bundle/ko.lproj/main.nib/keyedobjects.nib deleted file mode 100644 index 925945c4d..000000000 Binary files a/xorg-server/hw/xquartz/bundle/ko.lproj/main.nib/keyedobjects.nib and /dev/null differ diff --git a/xorg-server/hw/xquartz/bundle/mk_bundke.sh b/xorg-server/hw/xquartz/bundle/mk_bundke.sh new file mode 100644 index 000000000..c85b21765 --- /dev/null +++ b/xorg-server/hw/xquartz/bundle/mk_bundke.sh @@ -0,0 +1,30 @@ +#!/bin/sh +# +# 'Cause xcodebuild is hard to deal with + +SRCDIR=$1 +BUILDDIR=$2 +BUNDLE_ROOT=$3 + +localities="Dutch English French German Italian Japanese Spanish da fi ko no pl pt pt_PT ru sv zh_CN zh_TW" +for lang in ${localities} ; do + mkdir -p ${BUNDLE_ROOT}/Contents/Resources/${lang}.lproj/main.nib + [ -d ${BUNDLE_ROOT}/Contents/Resources/${lang}.lproj/main.nib ] || exit 1 + + for f in InfoPlist.strings Localizable.strings main.nib/keyedobjects.nib ; do + install -m 644 ${SRCDIR}/Resources/${lang}.lproj/$f ${BUNDLE_ROOT}/Contents/Resources/${lang}.lproj/${f} + done +done + +install -m 644 ${SRCDIR}/Resources/English.lproj/main.nib//designable.nib ${BUNDLE_ROOT}/Contents/Resources/English.lproj/main.nib +install -m 644 ${SRCDIR}/Resources/X11.icns ${BUNDLE_ROOT}/Contents/Resources + +install -m 644 ${BUILDDIR}/Info.plist ${BUNDLE_ROOT}/Contents +install -m 644 ${SRCDIR}/PkgInfo ${BUNDLE_ROOT}/Contents + +mkdir -p ${BUNDLE_ROOT}/Contents/MacOS +install -m 755 ${SRCDIR}/X11.sh ${BUNDLE_ROOT}/Contents/MacOS/X11 + +if [[ $(id -u) == 0 ]] ; then + chown -R root:admin ${BUNDLE_ROOT} +fi diff --git a/xorg-server/hw/xquartz/bundle/no.lproj/InfoPlist.strings b/xorg-server/hw/xquartz/bundle/no.lproj/InfoPlist.strings deleted file mode 100644 index eb1cfb002..000000000 Binary files a/xorg-server/hw/xquartz/bundle/no.lproj/InfoPlist.strings and /dev/null differ diff --git a/xorg-server/hw/xquartz/bundle/no.lproj/Localizable.strings b/xorg-server/hw/xquartz/bundle/no.lproj/Localizable.strings deleted file mode 100644 index 5157a67de..000000000 Binary files a/xorg-server/hw/xquartz/bundle/no.lproj/Localizable.strings and /dev/null differ diff --git a/xorg-server/hw/xquartz/bundle/no.lproj/main.nib/keyedobjects.nib b/xorg-server/hw/xquartz/bundle/no.lproj/main.nib/keyedobjects.nib deleted file mode 100644 index ca25327f5..000000000 Binary files a/xorg-server/hw/xquartz/bundle/no.lproj/main.nib/keyedobjects.nib and /dev/null differ diff --git a/xorg-server/hw/xquartz/bundle/pl.lproj/InfoPlist.strings b/xorg-server/hw/xquartz/bundle/pl.lproj/InfoPlist.strings deleted file mode 100644 index b9c950214..000000000 Binary files a/xorg-server/hw/xquartz/bundle/pl.lproj/InfoPlist.strings and /dev/null differ diff --git a/xorg-server/hw/xquartz/bundle/pl.lproj/Localizable.strings b/xorg-server/hw/xquartz/bundle/pl.lproj/Localizable.strings deleted file mode 100644 index 4ae12d77f..000000000 Binary files a/xorg-server/hw/xquartz/bundle/pl.lproj/Localizable.strings and /dev/null differ diff --git a/xorg-server/hw/xquartz/bundle/pl.lproj/main.nib/keyedobjects.nib b/xorg-server/hw/xquartz/bundle/pl.lproj/main.nib/keyedobjects.nib deleted file mode 100644 index e9ca5404b..000000000 Binary files a/xorg-server/hw/xquartz/bundle/pl.lproj/main.nib/keyedobjects.nib and /dev/null differ diff --git a/xorg-server/hw/xquartz/bundle/pt.lproj/InfoPlist.strings b/xorg-server/hw/xquartz/bundle/pt.lproj/InfoPlist.strings deleted file mode 100644 index 33c637448..000000000 Binary files a/xorg-server/hw/xquartz/bundle/pt.lproj/InfoPlist.strings and /dev/null differ diff --git a/xorg-server/hw/xquartz/bundle/pt.lproj/Localizable.strings b/xorg-server/hw/xquartz/bundle/pt.lproj/Localizable.strings deleted file mode 100644 index 23ea96847..000000000 Binary files a/xorg-server/hw/xquartz/bundle/pt.lproj/Localizable.strings and /dev/null differ diff --git a/xorg-server/hw/xquartz/bundle/pt.lproj/main.nib/keyedobjects.nib b/xorg-server/hw/xquartz/bundle/pt.lproj/main.nib/keyedobjects.nib deleted file mode 100644 index e88cccdba..000000000 Binary files a/xorg-server/hw/xquartz/bundle/pt.lproj/main.nib/keyedobjects.nib and /dev/null differ diff --git a/xorg-server/hw/xquartz/bundle/pt_PT.lproj/InfoPlist.strings b/xorg-server/hw/xquartz/bundle/pt_PT.lproj/InfoPlist.strings deleted file mode 100644 index 33c637448..000000000 Binary files a/xorg-server/hw/xquartz/bundle/pt_PT.lproj/InfoPlist.strings and /dev/null differ diff --git a/xorg-server/hw/xquartz/bundle/pt_PT.lproj/Localizable.strings b/xorg-server/hw/xquartz/bundle/pt_PT.lproj/Localizable.strings deleted file mode 100644 index 71c33ad14..000000000 Binary files a/xorg-server/hw/xquartz/bundle/pt_PT.lproj/Localizable.strings and /dev/null differ diff --git a/xorg-server/hw/xquartz/bundle/pt_PT.lproj/main.nib/keyedobjects.nib b/xorg-server/hw/xquartz/bundle/pt_PT.lproj/main.nib/keyedobjects.nib deleted file mode 100644 index a61933475..000000000 Binary files a/xorg-server/hw/xquartz/bundle/pt_PT.lproj/main.nib/keyedobjects.nib and /dev/null differ diff --git a/xorg-server/hw/xquartz/bundle/ru.lproj/InfoPlist.strings b/xorg-server/hw/xquartz/bundle/ru.lproj/InfoPlist.strings deleted file mode 100644 index 7f722e4b6..000000000 Binary files a/xorg-server/hw/xquartz/bundle/ru.lproj/InfoPlist.strings and /dev/null differ diff --git a/xorg-server/hw/xquartz/bundle/ru.lproj/Localizable.strings b/xorg-server/hw/xquartz/bundle/ru.lproj/Localizable.strings deleted file mode 100644 index 3b3811234..000000000 Binary files a/xorg-server/hw/xquartz/bundle/ru.lproj/Localizable.strings and /dev/null differ diff --git a/xorg-server/hw/xquartz/bundle/ru.lproj/main.nib/keyedobjects.nib b/xorg-server/hw/xquartz/bundle/ru.lproj/main.nib/keyedobjects.nib deleted file mode 100644 index 9354e0264..000000000 Binary files a/xorg-server/hw/xquartz/bundle/ru.lproj/main.nib/keyedobjects.nib and /dev/null differ diff --git a/xorg-server/hw/xquartz/bundle/sv.lproj/InfoPlist.strings b/xorg-server/hw/xquartz/bundle/sv.lproj/InfoPlist.strings deleted file mode 100644 index 655d5ff63..000000000 Binary files a/xorg-server/hw/xquartz/bundle/sv.lproj/InfoPlist.strings and /dev/null differ diff --git a/xorg-server/hw/xquartz/bundle/sv.lproj/Localizable.strings b/xorg-server/hw/xquartz/bundle/sv.lproj/Localizable.strings deleted file mode 100644 index 796f06c21..000000000 Binary files a/xorg-server/hw/xquartz/bundle/sv.lproj/Localizable.strings and /dev/null differ diff --git a/xorg-server/hw/xquartz/bundle/sv.lproj/main.nib/keyedobjects.nib b/xorg-server/hw/xquartz/bundle/sv.lproj/main.nib/keyedobjects.nib deleted file mode 100644 index bd01c2dac..000000000 Binary files a/xorg-server/hw/xquartz/bundle/sv.lproj/main.nib/keyedobjects.nib and /dev/null differ diff --git a/xorg-server/hw/xquartz/bundle/zh_CN.lproj/InfoPlist.strings b/xorg-server/hw/xquartz/bundle/zh_CN.lproj/InfoPlist.strings deleted file mode 100644 index b5df36885..000000000 Binary files a/xorg-server/hw/xquartz/bundle/zh_CN.lproj/InfoPlist.strings and /dev/null differ diff --git a/xorg-server/hw/xquartz/bundle/zh_CN.lproj/Localizable.strings b/xorg-server/hw/xquartz/bundle/zh_CN.lproj/Localizable.strings deleted file mode 100644 index f88a6da4b..000000000 Binary files a/xorg-server/hw/xquartz/bundle/zh_CN.lproj/Localizable.strings and /dev/null differ diff --git a/xorg-server/hw/xquartz/bundle/zh_CN.lproj/main.nib/keyedobjects.nib b/xorg-server/hw/xquartz/bundle/zh_CN.lproj/main.nib/keyedobjects.nib deleted file mode 100644 index e36c15fb6..000000000 Binary files a/xorg-server/hw/xquartz/bundle/zh_CN.lproj/main.nib/keyedobjects.nib and /dev/null differ diff --git a/xorg-server/hw/xquartz/bundle/zh_TW.lproj/InfoPlist.strings b/xorg-server/hw/xquartz/bundle/zh_TW.lproj/InfoPlist.strings deleted file mode 100644 index 92d5473b0..000000000 Binary files a/xorg-server/hw/xquartz/bundle/zh_TW.lproj/InfoPlist.strings and /dev/null differ diff --git a/xorg-server/hw/xquartz/bundle/zh_TW.lproj/Localizable.strings b/xorg-server/hw/xquartz/bundle/zh_TW.lproj/Localizable.strings deleted file mode 100644 index f009302c2..000000000 Binary files a/xorg-server/hw/xquartz/bundle/zh_TW.lproj/Localizable.strings and /dev/null differ diff --git a/xorg-server/hw/xquartz/bundle/zh_TW.lproj/main.nib/keyedobjects.nib b/xorg-server/hw/xquartz/bundle/zh_TW.lproj/main.nib/keyedobjects.nib deleted file mode 100644 index 36602c53e..000000000 Binary files a/xorg-server/hw/xquartz/bundle/zh_TW.lproj/main.nib/keyedobjects.nib and /dev/null differ diff --git a/xorg-server/hw/xquartz/darwin.c b/xorg-server/hw/xquartz/darwin.c index 20bcee592..f01668201 100644 --- a/xorg-server/hw/xquartz/darwin.c +++ b/xorg-server/hw/xquartz/darwin.c @@ -1,10 +1,9 @@ /************************************************************** * - * Shared code for the Darwin X Server - * running with Quartz or IOKit display mode + * Xquartz initialization code * + * Copyright (c) 2007-2008 Apple Inc. * Copyright (c) 2001-2004 Torrey T. Lyons. All Rights Reserved. - * Copyright (c) 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"), @@ -47,12 +46,10 @@ #include "globals.h" #include "dix.h" -#ifdef XINPUT -# include -# include -# include "exevents.h" -# include "extinit.h" -#endif +#include +#include +#include "exevents.h" +#include "extinit.h" #include #include @@ -65,9 +62,7 @@ #include #define NO_CFPLUGIN -#include #include -#include #ifdef MITSHM #define _XSHM_SERVER_ @@ -76,10 +71,13 @@ #include "darwin.h" #include "darwinEvents.h" -#include "darwinKeyboard.h" +#include "quartzKeyboard.h" #include "quartz.h" //#include "darwinClut8.h" +#include "GL/visualConfigs.h" + + #ifdef ENABLE_DEBUG_LOG FILE *debug_log_fp = NULL; #endif @@ -88,7 +86,8 @@ FILE *debug_log_fp = NULL; * X server shared global variables */ int darwinScreensFound = 0; -DevPrivateKey darwinScreenKey = &darwinScreenKey; +static int darwinScreenKeyIndex; +DevPrivateKey darwinScreenKey = &darwinScreenKeyIndex; io_connect_t darwinParamConnect = 0; int darwinEventReadFD = -1; int darwinEventWriteFD = -1; @@ -103,16 +102,30 @@ int darwinMainScreenY = 0; unsigned int darwinDesiredWidth = 0, darwinDesiredHeight = 0; int darwinDesiredDepth = -1; int darwinDesiredRefresh = -1; -char *darwinKeymapFile = "USA.keymapping"; int darwinSyncKeymap = FALSE; -// modifier masks for faking mouse buttons +// modifier masks for faking mouse buttons - ANY of these bits trigger it (not all) +#ifdef NX_DEVICELCMDKEYMASK +int darwinFakeMouse2Mask = NX_DEVICELALTKEYMASK | NX_DEVICERALTKEYMASK; +int darwinFakeMouse3Mask = NX_DEVICELCMDKEYMASK | NX_DEVICERCMDKEYMASK; +#else int darwinFakeMouse2Mask = NX_ALTERNATEMASK; int darwinFakeMouse3Mask = NX_COMMANDMASK; +#endif + +// Modifier mask for overriding event delivery to appkit (might be useful to set this to rcommand for input menu +unsigned int darwinAppKitModMask = 0; // Any of these bits + +// Modifier mask for items in the Window menu (0 and -1 cause shortcuts to be disabled) +unsigned int windowItemModMask = NX_COMMANDMASK; // devices -DeviceIntPtr darwinPointer = NULL; DeviceIntPtr darwinKeyboard = NULL; +DeviceIntPtr darwinPointer = NULL; +DeviceIntPtr darwinTabletCurrent = NULL; +DeviceIntPtr darwinTabletStylus = NULL; +DeviceIntPtr darwinTabletCursor = NULL; +DeviceIntPtr darwinTabletEraser = NULL; // Common pixmap formats static PixmapFormatRec formats[] = { @@ -150,8 +163,7 @@ void DarwinPrintBanner(void) { // this should change depending on which specific server we are building - ErrorF("XQuartz starting:\n"); - ErrorF("X.org Release 7.2\n"); // This is here to help fink until they fix their packages. + ErrorF("Xquartz starting:\n"); ErrorF("X.Org X Server %s\nBuild Date: %s\n", XSERVER_VERSION, BUILD_DATE ); } @@ -170,7 +182,6 @@ static Bool DarwinSaveScreen(ScreenPtr pScreen, int on) return TRUE; } - /* * DarwinAddScreen * This is a callback from dix during AddScreen() from InitOutput(). @@ -206,6 +217,21 @@ static Bool DarwinAddScreen(int index, ScreenPtr pScreen, int argc, char **argv) dfb->greenMask, dfb->blueMask)) { return FALSE; } + +// TODO: Make PseudoColor visuals not suck in TrueColor mode +// if(dfb->depth > 8) +// miSetVisualTypesAndMasks(8, PseudoColorMask, 8, PseudoColor, 0, 0, 0); + +#if 0 + /* + * These aren't used anymore. xpr/xprScreen.c initializes the dfb struct + * above based on the display properties. + */ + if(dfb->depth > 15) + miSetVisualTypesAndMasks(15, LARGE_VISUALS, 5, TrueColor, 0x7c00, 0x03e0, 0x001f); + if(dfb->depth > 24) + miSetVisualTypesAndMasks(24, LARGE_VISUALS, 8, TrueColor, 0x00ff0000, 0x0000ff00, 0x000000ff); +#endif miSetPixmapDepths(); @@ -214,7 +240,7 @@ static Bool DarwinAddScreen(int index, ScreenPtr pScreen, int argc, char **argv) if (monitorResolution) dpi = monitorResolution; else - dpi = 75; + dpi = 96; // initialize fb if (! fbScreenInit(pScreen, @@ -306,89 +332,75 @@ static Bool DarwinAddScreen(int index, ScreenPtr pScreen, int argc, char **argv) ============================================================================= */ -#if 0 /* - * DarwinChangePointerControl - * Set mouse acceleration and thresholding - * FIXME: We currently ignore the threshold in ctrl->threshold. + * DarwinMouseProc: Handle the initialization, etc. of a mouse */ -static void DarwinChangePointerControl( - DeviceIntPtr device, - PtrCtrl *ctrl ) -{ - kern_return_t kr; - double acceleration; - - if (!darwinMouseAccelChange) - return; - - acceleration = ctrl->num / ctrl->den; - kr = IOHIDSetMouseAcceleration( darwinParamConnect, acceleration ); - if (kr != KERN_SUCCESS) - ErrorF( "Could not set mouse acceleration with kernel return = 0x%x.\n", kr ); +static int DarwinMouseProc(DeviceIntPtr pPointer, int what) { + // 7 buttons: left, right, middle, then four scroll wheel "buttons" + CARD8 map[8] = {0, 1, 2, 3, 4, 5, 6, 7}; + + switch (what) { + case DEVICE_INIT: + pPointer->public.on = FALSE; + + // Set button map. + InitPointerDeviceStruct((DevicePtr)pPointer, map, 7, + (PtrCtrlProcPtr)NoopDDA, + GetMotionHistorySize(), 2); + pPointer->valuator->mode = Absolute; // Relative + InitAbsoluteClassDeviceStruct(pPointer); +// InitValuatorAxisStruct(pPointer, 0, 0, XQUARTZ_VALUATOR_LIMIT, 1, 0, 1); +// InitValuatorAxisStruct(pPointer, 1, 0, XQUARTZ_VALUATOR_LIMIT, 1, 0, 1); + break; + case DEVICE_ON: + pPointer->public.on = TRUE; + AddEnabledDevice( darwinEventReadFD ); + return Success; + case DEVICE_CLOSE: + case DEVICE_OFF: + pPointer->public.on = FALSE; + RemoveEnabledDevice(darwinEventReadFD); + return Success; + } + + return Success; } -#endif - -/* - * DarwinMouseProc - * Handle the initialization, etc. of a mouse - */ -static int DarwinMouseProc( - DeviceIntPtr pPointer, - int what ) -{ - CARD8 map[6]; +static int DarwinTabletProc(DeviceIntPtr pPointer, int what) { + CARD8 map[4] = {0, 1, 2, 3}; + switch (what) { - case DEVICE_INIT: pPointer->public.on = FALSE; - + // Set button map. - map[1] = 1; - map[2] = 2; - map[3] = 3; - map[4] = 4; - map[5] = 5; - InitPointerDeviceStruct( (DevicePtr)pPointer, map, 5, - GetMotionHistory, - (PtrCtrlProcPtr)NoopDDA, - GetMotionHistorySize(), 2); - -#ifdef XINPUT - InitValuatorAxisStruct( pPointer, - 0, // X axis - 0, // min value - 16000, // max value (fixme screen size?) - 1, // resolution (fixme ?) - 1, // min resolution - 1 ); // max resolution - InitValuatorAxisStruct( pPointer, - 1, // X axis - 0, // min value - 16000, // max value (fixme screen size?) - 1, // resolution (fixme ?) - 1, // min resolution - 1 ); // max resolution -#endif + InitPointerDeviceStruct((DevicePtr)pPointer, map, 3, + (PtrCtrlProcPtr)NoopDDA, + GetMotionHistorySize(), 5); + pPointer->valuator->mode = Absolute; // Relative + InitProximityClassDeviceStruct(pPointer); + InitAbsoluteClassDeviceStruct(pPointer); + + InitValuatorAxisStruct(pPointer, 0, 0, XQUARTZ_VALUATOR_LIMIT, 1, 0, 1); + InitValuatorAxisStruct(pPointer, 1, 0, XQUARTZ_VALUATOR_LIMIT, 1, 0, 1); + InitValuatorAxisStruct(pPointer, 2, 0, XQUARTZ_VALUATOR_LIMIT, 1, 0, 1); + InitValuatorAxisStruct(pPointer, 3, -XQUARTZ_VALUATOR_LIMIT, XQUARTZ_VALUATOR_LIMIT, 1, 0, 1); + InitValuatorAxisStruct(pPointer, 4, -XQUARTZ_VALUATOR_LIMIT, XQUARTZ_VALUATOR_LIMIT, 1, 0, 1); +// pPointer->use = IsXExtensionDevice; break; - case DEVICE_ON: pPointer->public.on = TRUE; AddEnabledDevice( darwinEventReadFD ); return Success; - case DEVICE_CLOSE: case DEVICE_OFF: pPointer->public.on = FALSE; - RemoveEnabledDevice( darwinEventReadFD ); + RemoveEnabledDevice(darwinEventReadFD); return Success; } - return Success; } - /* * DarwinKeybdProc * Callback from X @@ -422,68 +434,11 @@ static int DarwinKeybdProc( DeviceIntPtr pDev, int onoff ) =========================================================================== */ -/* - * DarwinFindLibraryFile - * Search for a file in the standard Library paths, which are (in order): - * - * ~/Library/ user specific - * /Library/ host specific - * /Network/Library/ LAN specific - * /System/Library/ OS specific - * - * A sub-path can be specified to search in below the various Library - * directories. Returns a new character string (owned by the caller) - * containing the full path to the first file found. - */ -static char * DarwinFindLibraryFile( - const char *file, - const char *pathext ) -{ - // Library search paths - char *pathList[] = { - "", - "/Network", - "/System", - NULL - }; - char *home; - char *fullPath; - int i = 0; - - // Return the file name as is if it is already a fully qualified path. - if (!access(file, F_OK)) { - fullPath = xalloc(strlen(file)+1); - strcpy(fullPath, file); - return fullPath; - } - - fullPath = xalloc(PATH_MAX); - - home = getenv("HOME"); - if (home) { - snprintf(fullPath, PATH_MAX, "%s/Library/%s/%s", home, pathext, file); - if (!access(fullPath, F_OK)) - return fullPath; - } - - while (pathList[i]) { - snprintf(fullPath, PATH_MAX, "%s/Library/%s/%s", pathList[i++], - pathext, file); - if (!access(fullPath, F_OK)) - return fullPath; - } - - xfree(fullPath); - return NULL; -} - - /* * DarwinParseModifierList * Parse a list of modifier names and return a corresponding modifier mask */ -int DarwinParseModifierList( - const char *constmodifiers) // string containing list of modifier names +int DarwinParseModifierList(const char *constmodifiers, int separatelr) { int result = 0; @@ -495,9 +450,9 @@ int DarwinParseModifierList( while (p) { modifier = strsep(&p, " ,+&|/"); // allow lots of separators - nxkey = DarwinModifierStringToNXKey(modifier); - if (nxkey != -1) - result |= DarwinModifierNXKeyToNXMask(nxkey); + nxkey = DarwinModifierStringToNXMask(modifier, separatelr); + if(nxkey) + result |= nxkey; else ErrorF("fakebuttons: Unknown modifier \"%s\"\n", modifier); } @@ -520,13 +475,43 @@ int DarwinParseModifierList( */ void InitInput( int argc, char **argv ) { - darwinPointer = AddInputDevice(DarwinMouseProc, TRUE); + darwinKeyboard = AddInputDevice(serverClient, DarwinKeybdProc, TRUE); + RegisterKeyboardDevice( darwinKeyboard ); + darwinKeyboard->name = strdup("keyboard"); + + /* here's the snippet from the current gdk sources: + if (!strcmp (tmp_name, "pointer")) + gdkdev->info.source = GDK_SOURCE_MOUSE; + else if (!strcmp (tmp_name, "wacom") || + !strcmp (tmp_name, "pen")) + gdkdev->info.source = GDK_SOURCE_PEN; + else if (!strcmp (tmp_name, "eraser")) + gdkdev->info.source = GDK_SOURCE_ERASER; + else if (!strcmp (tmp_name, "cursor")) + gdkdev->info.source = GDK_SOURCE_CURSOR; + else + gdkdev->info.source = GDK_SOURCE_PEN; + */ + + darwinPointer = AddInputDevice(serverClient, DarwinMouseProc, TRUE); RegisterPointerDevice( darwinPointer ); + darwinPointer->name = strdup("pointer"); - darwinKeyboard = AddInputDevice(DarwinKeybdProc, TRUE); - RegisterKeyboardDevice( darwinKeyboard ); + darwinTabletStylus = AddInputDevice(serverClient, DarwinTabletProc, TRUE); + RegisterPointerDevice( darwinTabletStylus ); + darwinTabletStylus->name = strdup("pen"); + + darwinTabletCursor = AddInputDevice(serverClient, DarwinTabletProc, TRUE); + RegisterPointerDevice( darwinTabletCursor ); + darwinTabletCursor->name = strdup("cursor"); + + darwinTabletEraser = AddInputDevice(serverClient, DarwinTabletProc, TRUE); + RegisterPointerDevice( darwinTabletEraser ); + darwinTabletEraser->name = strdup("eraser"); + + darwinTabletCurrent = darwinTabletStylus; - DarwinEQInit( (DevicePtr)darwinKeyboard, (DevicePtr)darwinPointer ); + DarwinEQInit(); QuartzInitInput(argc, argv); } @@ -557,8 +542,7 @@ DarwinAdjustScreenOrigins(ScreenInfo *pScreenInfo) /* Find leftmost screen. If there's a tie, take the topmost of the two. */ for (i = 1; i < pScreenInfo->numScreens; i++) { if (dixScreenOrigins[i].x < left || - (dixScreenOrigins[i].x == left && - dixScreenOrigins[i].y < top)) + (dixScreenOrigins[i].x == left && dixScreenOrigins[i].y < top)) { left = dixScreenOrigins[i].x; top = dixScreenOrigins[i].y; @@ -567,17 +551,20 @@ DarwinAdjustScreenOrigins(ScreenInfo *pScreenInfo) darwinMainScreenX = left; darwinMainScreenY = top; + + DEBUG_LOG("top = %d, left=%d\n", top, left); /* Shift all screens so that there is a screen whose top left - is at X11 (0,0) and at global screen coordinate - (darwinMainScreenX, darwinMainScreenY). */ + * is at X11 (0,0) and at global screen coordinate + * (darwinMainScreenX, darwinMainScreenY). + */ if (darwinMainScreenX != 0 || darwinMainScreenY != 0) { for (i = 0; i < pScreenInfo->numScreens; i++) { dixScreenOrigins[i].x -= darwinMainScreenX; dixScreenOrigins[i].y -= darwinMainScreenY; - /* ErrorF("Screen %d placed at X11 coordinate (%d,%d).\n", - i, dixScreenOrigins[i].x, dixScreenOrigins[i].y); */ + DEBUG_LOG("Screen %d placed at X11 coordinate (%d,%d).\n", + i, dixScreenOrigins[i].x, dixScreenOrigins[i].y); } } } @@ -610,6 +597,10 @@ void InitOutput( ScreenInfo *pScreenInfo, int argc, char **argv ) for (i = 0; i < NUMFORMATS; i++) pScreenInfo->formats[i] = formats[i]; +#ifdef GLXEXT + setVisualConfigs(); +#endif + // Discover screens and do mode specific initialization QuartzInitOutput(argc, argv); @@ -654,27 +645,6 @@ void OsVendorInit(void) } #endif } - // DEBUG_LOG("Xquartz started at %s\n", ctime(time(NULL))); - - // Find the full path to the keymapping file. - if ( darwinKeymapFile ) { - char *tempStr = DarwinFindLibraryFile(darwinKeymapFile, "Keyboards"); - if ( !tempStr ) { - ErrorF("Could not find keymapping file %s.\n", darwinKeymapFile); - } else { - ErrorF("Using keymapping provided in %s.\n", tempStr); - } - darwinKeymapFile = tempStr; - } -} - - -/* - * ddxInitGlobals - * Called by InitGlobals() from os/util.c. - */ -void ddxInitGlobals(void) -{ } @@ -720,7 +690,7 @@ int ddxProcessArgument( int argc, char *argv[], int i ) if (!strcasecmp(argv[i+1], "none") || !strcmp(argv[i+1], "")) darwinFakeMouse2Mask = 0; else - darwinFakeMouse2Mask = DarwinParseModifierList(argv[i+1]); + darwinFakeMouse2Mask = DarwinParseModifierList(argv[i+1], 1); ErrorF("Modifier mask to fake mouse button 2 = 0x%x\n", darwinFakeMouse2Mask); return 2; @@ -733,25 +703,12 @@ int ddxProcessArgument( int argc, char *argv[], int i ) if (!strcasecmp(argv[i+1], "none") || !strcmp(argv[i+1], "")) darwinFakeMouse3Mask = 0; else - darwinFakeMouse3Mask = DarwinParseModifierList(argv[i+1]); + darwinFakeMouse3Mask = DarwinParseModifierList(argv[i+1], 1); ErrorF("Modifier mask to fake mouse button 3 = 0x%x\n", darwinFakeMouse3Mask); return 2; } - if ( !strcmp( argv[i], "-keymap" ) ) { - if ( i == argc-1 ) { - FatalError( "-keymap must be followed by a filename\n" ); - } - darwinKeymapFile = argv[i+1]; - return 2; - } - - if ( !strcmp( argv[i], "-nokeymap" ) ) { - darwinKeymapFile = NULL; - return 1; - } - if ( !strcmp( argv[i], "+synckeymap" ) ) { darwinSyncKeymap = TRUE; return 1; @@ -835,12 +792,8 @@ void ddxUseMsg( void ) ErrorF("-fakemouse2 : fake middle mouse button with modifier keys.\n"); ErrorF("-fakemouse3 : fake right mouse button with modifier keys.\n"); ErrorF(" ex: -fakemouse2 \"option,shift\" = option-shift-click is middle button.\n"); - ErrorF("-keymap : read the keymapping from a file instead of the kernel.\n"); ErrorF("-version : show the server version.\n"); ErrorF("\n"); -// ErrorF("Quartz modes (Experimental / In Development):\n"); -// ErrorF("-fullscreen : run full screen in parallel with Mac OS X window server.\n"); -// ErrorF("-rootless : run rootless inside Mac OS X window server.\n"); ErrorF("\n"); ErrorF("Options ignored in rootless mode:\n"); ErrorF("-size : use a screen resolution of x .\n"); @@ -856,10 +809,7 @@ void ddxUseMsg( void ) */ void ddxGiveUp( void ) { - ErrorF( "Quitting XQuartz...\n" ); - - //if (!quartzRootless) - // quartzProcs->ReleaseScreens(); + ErrorF( "Quitting Xquartz...\n" ); } @@ -896,16 +846,13 @@ void AbortDDX( void ) */ void -xf86SetRootClip (ScreenPtr pScreen, BOOL enable) +xf86SetRootClip (ScreenPtr pScreen, int enable) { WindowPtr pWin = WindowTable[pScreen->myNum]; WindowPtr pChild; Bool WasViewable = (Bool)(pWin->viewable); Bool anyMarked = TRUE; RegionPtr pOldClip = NULL, bsExposed; -#ifdef DO_SAVE_UNDERS - Bool dosave = FALSE; -#endif WindowPtr pLayerWin; BoxRec box; @@ -976,12 +923,6 @@ xf86SetRootClip (ScreenPtr pScreen, BOOL enable) anyMarked = TRUE; } -#ifdef DO_SAVE_UNDERS - if (DO_SAVE_UNDERS(pWin)) - { - dosave = (*pScreen->ChangeSaveUnder)(pLayerWin, pLayerWin); - } -#endif /* DO_SAVE_UNDERS */ if (anyMarked) (*pScreen->ValidateTree)(pWin, NullWindow, VTOther); @@ -1013,10 +954,6 @@ xf86SetRootClip (ScreenPtr pScreen, BOOL enable) { if (anyMarked) (*pScreen->HandleExposures)(pWin); -#ifdef DO_SAVE_UNDERS - if (dosave) - (*pScreen->PostChangeSaveUnder)(pLayerWin, pLayerWin); -#endif /* DO_SAVE_UNDERS */ if (anyMarked && pScreen->PostValidateTree) (*pScreen->PostValidateTree)(pWin, NullWindow, VTOther); } diff --git a/xorg-server/hw/xquartz/darwin.h b/xorg-server/hw/xquartz/darwin.h index c5e2ed80d..7fb9396e5 100644 --- a/xorg-server/hw/xquartz/darwin.h +++ b/xorg-server/hw/xquartz/darwin.h @@ -1,4 +1,5 @@ /* + * Copyright (C) 2008 Apple, Inc. * Copyright (c) 2001-2004 Torrey T. Lyons. All Rights Reserved. * * Permission is hereby granted, free of charge, to any person obtaining a @@ -33,6 +34,8 @@ #include #include +#include "threadSafety.h" + typedef struct { void *framebuffer; int x; @@ -52,9 +55,9 @@ typedef struct { // From darwin.c void DarwinPrintBanner(void); -int DarwinParseModifierList(const char *constmodifiers); +int DarwinParseModifierList(const char *constmodifiers, int separatelr); void DarwinAdjustScreenOrigins(ScreenInfo *pScreenInfo); -void xf86SetRootClip (ScreenPtr pScreen, BOOL enable); +void xf86SetRootClip (ScreenPtr pScreen, int enable); #define SCREEN_PRIV(pScreen) ((DarwinFramebufferPtr) \ dixLookupPrivate(&pScreen->devPrivates, darwinScreenKey)) @@ -68,6 +71,10 @@ extern io_connect_t darwinParamConnect; extern int darwinEventReadFD; extern int darwinEventWriteFD; extern DeviceIntPtr darwinPointer; +extern DeviceIntPtr darwinTabletCurrent; +extern DeviceIntPtr darwinTabletCursor; +extern DeviceIntPtr darwinTabletStylus; +extern DeviceIntPtr darwinTabletEraser; extern DeviceIntPtr darwinKeyboard; // User preferences @@ -75,7 +82,8 @@ extern int darwinMouseAccelChange; extern int darwinFakeButtons; extern int darwinFakeMouse2Mask; extern int darwinFakeMouse3Mask; -extern char *darwinKeymapFile; +extern unsigned int darwinAppKitModMask; +extern unsigned int windowItemModMask; extern int darwinSyncKeymap; extern unsigned int darwinDesiredWidth, darwinDesiredHeight; extern int darwinDesiredDepth; @@ -85,48 +93,16 @@ extern int darwinDesiredRefresh; extern int darwinMainScreenX; extern int darwinMainScreenY; - -/* - * Special ddx events understood by the X server - */ -enum { - kXDarwinUpdateModifiers // update all modifier keys - = LASTEvent+1, // (from X.h list of event names) - kXDarwinUpdateButtons, // update state of mouse buttons 2 and up - kXDarwinScrollWheel, // scroll wheel event - /* - * Quartz-specific events -- not used in IOKit mode - */ - kXDarwinActivate, // restore X drawing and cursor - kXDarwinDeactivate, // clip X drawing and switch to Aqua cursor - kXDarwinSetRootClip, // enable or disable drawing to the X screen - kXDarwinQuit, // kill the X server and release the display - kXDarwinReadPasteboard, // copy Mac OS X pasteboard into X cut buffer - kXDarwinWritePasteboard, // copy X cut buffer onto Mac OS X pasteboard - kXDarwinBringAllToFront, // bring all X windows to front - kXDarwinToggleFullscreen, // Enable/Disable fullscreen mode - kXDarwinSetRootless, // Set rootless mode - /* - * AppleWM events - */ - kXDarwinControllerNotify, // send an AppleWMControllerNotify event - kXDarwinPasteboardNotify, // notify the WM to copy or paste - /* - * Xplugin notification events - */ - kXDarwinDisplayChanged, // display configuration has changed - kXDarwinWindowState, // window visibility state has changed - kXDarwinWindowMoved // window has moved on screen -}; - #define ENABLE_DEBUG_LOG 1 #ifdef ENABLE_DEBUG_LOG extern FILE *debug_log_fp; #define DEBUG_LOG_NAME "x11-debug.txt" -#define DEBUG_LOG(msg, args...) if (debug_log_fp) fprintf(debug_log_fp, "%s:%s:%d " msg, __FILE__, __FUNCTION__, __LINE__, ##args ); fflush(debug_log_fp); +#define DEBUG_LOG(msg, args...) if (debug_log_fp) fprintf(debug_log_fp, "%s:%s:%s:%d " msg, threadSafetyID(pthread_self()), __FILE__, __FUNCTION__, __LINE__, ##args ); fflush(debug_log_fp); #else #define DEBUG_LOG(msg, args...) #endif +#define TRACE() DEBUG_LOG("\n") + #endif /* _DARWIN_H */ diff --git a/xorg-server/hw/xquartz/darwinEvents.c b/xorg-server/hw/xquartz/darwinEvents.c index 827fd81b8..374c4e07e 100644 --- a/xorg-server/hw/xquartz/darwinEvents.c +++ b/xorg-server/hw/xquartz/darwinEvents.c @@ -1,7 +1,7 @@ /* Darwin event queue and event handling -Copyright 2007 Apple Inc. +Copyright 2007-2008 Apple Inc. Copyright 2004 Kaleb S. KEITHLEY. All Rights Reserved. Copyright (c) 2002-2004 Torrey T. Lyons. All Rights Reserved. @@ -30,6 +30,12 @@ used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization from The Open Group. */ +#include "sanitizedCarbon.h" + +#ifdef HAVE_DIX_CONFIG_H +#include +#endif + #define NEED_EVENTS #include #include @@ -41,421 +47,534 @@ in this Software without prior written authorization from The Open Group. #include "mi.h" #include "scrnintstr.h" #include "mipointer.h" +#include "os.h" #include "darwin.h" #include "quartz.h" -#include "darwinKeyboard.h" +#include "quartzKeyboard.h" #include "darwinEvents.h" #include #include #include +#include +#include + #include /* Fake button press/release for scroll wheel move. */ -#define SCROLLWHEELUPFAKE 4 -#define SCROLLWHEELDOWNFAKE 5 +#define SCROLLWHEELUPFAKE 4 +#define SCROLLWHEELDOWNFAKE 5 +#define SCROLLWHEELLEFTFAKE 6 +#define SCROLLWHEELRIGHTFAKE 7 -#define QUEUE_SIZE 256 +#define _APPLEWM_SERVER_ +#include "applewmExt.h" +#include -typedef struct _Event { - xEvent event; - ScreenPtr pScreen; -} EventRec, *EventPtr; +/* FIXME: Abstract this better */ +void QuartzModeEQInit(void); -int input_check_zero, input_check_flag; +int darwin_modifier_flags = 0; // last known modifier state -static int old_flags = 0; // last known modifier state +#define FD_ADD_MAX 128 +static int fd_add[FD_ADD_MAX]; +int fd_add_count = 0; +static pthread_mutex_t fd_add_lock = PTHREAD_MUTEX_INITIALIZER; +static pthread_cond_t fd_add_ready_cond = PTHREAD_COND_INITIALIZER; +static pthread_t fd_add_tid = NULL; -typedef struct _EventQueue { - HWEventQueueType head, tail; /* long for SetInputCheck */ - CARD32 lastEventTime; /* to avoid time running backwards */ - Bool lastMotion; - EventRec events[QUEUE_SIZE]; /* static allocation for signals */ - DevicePtr pKbd, pPtr; /* device pointer, to get funcs */ - ScreenPtr pEnqueueScreen; /* screen events are being delivered to */ - ScreenPtr pDequeueScreen; /* screen events are being dispatched to */ -} EventQueueRec, *EventQueuePtr; +static EventList *darwinEvents = NULL; -static EventQueueRec darwinEventQueue; -xEvent *darwinEvents; +static pthread_mutex_t mieq_lock = PTHREAD_MUTEX_INITIALIZER; +static pthread_cond_t mieq_ready_cond = PTHREAD_COND_INITIALIZER; -/* - * DarwinPressModifierMask - * Press or release the given modifier key, specified by its mask. - */ -static void DarwinPressModifierMask( - int pressed, - int mask) // one of NX_*MASK constants -{ - int key = DarwinModifierNXMaskToNXKey(mask); +/*** Pthread Magics ***/ +static pthread_t create_thread(void *func, void *arg) { + pthread_attr_t attr; + pthread_t tid; - if (key != -1) { - int keycode = DarwinModifierNXKeyToNXKeycode(key, 0); - if (keycode != 0) - DarwinSendKeyboardEvents(pressed, keycode); - } -} - -#ifdef NX_DEVICELCTLKEYMASK -#define CONTROL_MASK(flags) (flags & (NX_DEVICELCTLKEYMASK|NX_DEVICERCTLKEYMASK)) -#else -#define CONTROL_MASK(flags) (NX_CONTROLMASK) -#endif /* NX_DEVICELCTLKEYMASK */ - -#ifdef NX_DEVICELSHIFTKEYMASK -#define SHIFT_MASK(flags) (flags & (NX_DEVICELSHIFTKEYMASK|NX_DEVICERSHIFTKEYMASK)) -#else -#define SHIFT_MASK(flags) (NX_SHIFTMASK) -#endif /* NX_DEVICELSHIFTKEYMASK */ - -#ifdef NX_DEVICELCMDKEYMASK -#define COMMAND_MASK(flags) (flags & (NX_DEVICELCMDKEYMASK|NX_DEVICERCMDKEYMASK)) -#else -#define COMMAND_MASK(flags) (NX_COMMANDMASK) -#endif /* NX_DEVICELCMDKEYMASK */ + 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); -#ifdef NX_DEVICELALTKEYMASK -#define ALTERNATE_MASK(flags) (flags & (NX_DEVICELALTKEYMASK|NX_DEVICERALTKEYMASK)) -#else -#define ALTERNATE_MASK(flags) (NX_ALTERNATEMASK) -#endif /* NX_DEVICELALTKEYMASK */ + return tid; +} -/* - * DarwinUpdateModifiers - * Send events to update the modifier state. - */ -static void DarwinUpdateModifiers( - int pressed, // KeyPress or KeyRelease - int flags ) // modifier flags that have changed -{ - if (flags & NX_ALPHASHIFTMASK) { - DarwinPressModifierMask(pressed, NX_ALPHASHIFTMASK); - } - if (flags & NX_COMMANDMASK) { - DarwinPressModifierMask(pressed, COMMAND_MASK(flags)); - } - if (flags & NX_CONTROLMASK) { - DarwinPressModifierMask(pressed, CONTROL_MASK(flags)); - } - if (flags & NX_ALTERNATEMASK) { - DarwinPressModifierMask(pressed, ALTERNATE_MASK(flags)); - } - if (flags & NX_SHIFTMASK) { - DarwinPressModifierMask(pressed, SHIFT_MASK(flags)); +void darwinEvents_lock(void); +void darwinEvents_lock(void) { + int err; + if((err = pthread_mutex_lock(&mieq_lock))) { + ErrorF("%s:%s:%d: Failed to lock mieq_lock: %d\n", + __FILE__, __FUNCTION__, __LINE__, err); + spewCallStack(); } - if (flags & NX_SECONDARYFNMASK) { - DarwinPressModifierMask(pressed, NX_SECONDARYFNMASK); + if(darwinEvents == NULL) { + pthread_cond_wait(&mieq_ready_cond, &mieq_lock); } } -/* - * DarwinReleaseModifiers - * This hacky function releases all modifier keys. It should be called when X11.app - * is deactivated (kXDarwinDeactivate) to prevent modifiers from getting stuck if they - * are held down during a "context" switch -- otherwise, we would miss the KeyUp. - */ -static void DarwinReleaseModifiers(void) { - DarwinUpdateModifiers(KeyRelease, COMMAND_MASK(-1) | CONTROL_MASK(-1) | ALTERNATE_MASK(-1) | SHIFT_MASK(-1)); +void darwinEvents_unlock(void); +void darwinEvents_unlock(void) { + int err; + if((err = pthread_mutex_unlock(&mieq_lock))) { + ErrorF("%s:%s:%d: Failed to unlock mieq_lock: %d\n", + __FILE__, __FUNCTION__, __LINE__, err); + spewCallStack(); + } } /* - * DarwinSimulateMouseClick - * Send a mouse click to X when multiple mouse buttons are simulated - * with modifier-clicks, such as command-click for button 2. The dix - * layer is told that the previously pressed modifier key(s) are - * released, the simulated click event is sent. After the mouse button - * is released, the modifier keys are reverted to their actual state, - * which may or may not be pressed at that point. This is usually - * closest to what the user wants. Ie. the user typically wants to - * simulate a button 2 press instead of Command-button 2. + * DarwinPressModifierKey + * Press or release the given modifier key (one of NX_MODIFIERKEY_* constants) */ -static void DarwinSimulateMouseClick( - 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 - // for some reason, it's not enough to tell X we released the Command key -- - // it has to be the *left* Command key. - if (modifierMask & NX_COMMANDMASK) modifierMask |=NX_DEVICELCMDKEYMASK ; - DarwinUpdateModifiers(KeyRelease, modifierMask); - - // push the mouse button - DarwinSendPointerEvents(ButtonPress, whichButton, pointer_x, pointer_y); - DarwinSendPointerEvents(ButtonRelease, whichButton, pointer_x, pointer_y); - - // restore old modifiers - DarwinUpdateModifiers(KeyPress, modifierMask); -} +static void DarwinPressModifierKey(int pressed, int key) { + int keycode = DarwinModifierNXKeyToNXKeycode(key, 0); + if (keycode == 0) { + ErrorF("DarwinPressModifierKey bad keycode: key=%d\n", key); + return; + } -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(&input_check_zero, &input_check_flag); - return TRUE; + DarwinSendKeyboardEvents(pressed, keycode); } - /* - * DarwinEQEnqueue - * Must be thread safe with ProcessInputEvents. - * 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 + * DarwinUpdateModifiers + * Send events to update the modifier state. */ -void DarwinEQEnqueue(const xEventPtr e) { - HWEventQueueType oldtail, newtail; - - oldtail = darwinEventQueue.tail; - // mieqEnqueue() collapses successive motion events into one event. - // This is difficult to do in a thread-safe way and rarely useful. - - newtail = oldtail + 1; - if (newtail == QUEUE_SIZE) newtail = 0; - /* Toss events which come in late */ - if (newtail == darwinEventQueue.head) return; +int darwin_modifier_mask_list[] = { +#ifdef NX_DEVICELCMDKEYMASK + NX_DEVICELCTLKEYMASK, NX_DEVICERCTLKEYMASK, + NX_DEVICELSHIFTKEYMASK, NX_DEVICERSHIFTKEYMASK, + NX_DEVICELCMDKEYMASK, NX_DEVICERCMDKEYMASK, + NX_DEVICELALTKEYMASK, NX_DEVICERALTKEYMASK, +#else + NX_CONTROLMASK, NX_SHIFTMASK, NX_COMMANDMASK, NX_ALTERNATEMASK, +#endif + NX_ALPHASHIFTMASK, + 0 +}; - darwinEventQueue.events[oldtail].event = *e; +static void DarwinUpdateModifiers( + int pressed, // KeyPress or KeyRelease + int flags ) // modifier flags that have changed +{ + int *f; + int key; - /* - * Make sure that event times don't go backwards - this - * is "unnecessary", but very useful + /* Capslock is special. This mask is the state of capslock (on/off), + * not the state of the button. Hopefully we can find a better solution. */ - if (e->u.keyButtonPointer.time < darwinEventQueue.lastEventTime && - darwinEventQueue.lastEventTime - e->u.keyButtonPointer.time < 10000) - { - darwinEventQueue.events[oldtail].event.u.keyButtonPointer.time = - darwinEventQueue.lastEventTime; + if(NX_ALPHASHIFTMASK & flags) { + DarwinPressModifierKey(KeyPress, NX_MODIFIERKEY_ALPHALOCK); + DarwinPressModifierKey(KeyRelease, NX_MODIFIERKEY_ALPHALOCK); } - darwinEventQueue.events[oldtail].pScreen = darwinEventQueue.pEnqueueScreen; + + for(f=darwin_modifier_mask_list; *f; f++) + if(*f & flags && *f != NX_ALPHASHIFTMASK) { + key = DarwinModifierNXMaskToNXKey(*f); + if(key == -1) + ErrorF("DarwinUpdateModifiers: Unsupported NXMask: 0x%x\n", *f); + else + DarwinPressModifierKey(pressed, key); + } +} - // Update the tail after the event is prepared - darwinEventQueue.tail = newtail; +/* Generic handler for Xquartz-specifc events. When possible, these should + be moved into their own individual functions and set as handlers using + mieqSetHandler. */ + +static void DarwinEventHandler(int screenNum, xEventPtr xe, DeviceIntPtr dev, int nevents) { + int i; + + TA_SERVER(); + +// DEBUG_LOG("DarwinEventHandler(%d, %p, %p, %d)\n", screenNum, xe, dev, nevents); + for (i=0; iprocessInputProc) - (e, (DeviceIntPtr)darwinEventQueue.pPtr, 1); +void DarwinListenOnOpenFD(int fd) { + ErrorF("DarwinListenOnOpenFD: %d\n", fd); + + pthread_mutex_lock(&fd_add_lock); + if(fd_add_count < FD_ADD_MAX) + fd_add[fd_add_count++] = fd; + else + ErrorF("FD Addition buffer at max. Dropping fd addition request.\n"); + + pthread_cond_broadcast(&fd_add_ready_cond); + pthread_mutex_unlock(&fd_add_lock); } +static void DarwinProcessFDAdditionQueue_thread(void *args) { + pthread_mutex_lock(&fd_add_lock); + while(true) { + while(fd_add_count) { + DarwinSendDDXEvent(kXquartzListenOnOpenFD, 1, fd_add[--fd_add_count]); + } + pthread_cond_wait(&fd_add_ready_cond, &fd_add_lock); + } +} -void DarwinEQSwitchScreen(ScreenPtr pScreen, Bool fromDIX) { - darwinEventQueue.pEnqueueScreen = pScreen; - if (fromDIX) - darwinEventQueue.pDequeueScreen = pScreen; +static void kXquartzListenOnOpenFDHandler(int screenNum, xEventPtr xe, DeviceIntPtr dev, int nevents) { + size_t i; + TA_SERVER(); + + for (i=0; ievent; - - // Shift from global screen coordinates to coordinates relative to - // the origin of the current screen. - xe.u.keyButtonPointer.rootX -= darwinMainScreenX + - 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 - - if (e->pScreen != darwinEventQueue.pDequeueScreen) - { - darwinEventQueue.pDequeueScreen = e->pScreen; - x = xe.u.keyButtonPointer.rootX; - y = xe.u.keyButtonPointer.rootY; - if (darwinEventQueue.head == QUEUE_SIZE - 1) - darwinEventQueue.head = 0; - else - ++darwinEventQueue.head; - NewCurrentScreen (darwinEventQueue.pDequeueScreen, x, y); - } - else - { - if (darwinEventQueue.head == QUEUE_SIZE - 1) - darwinEventQueue.head = 0; - else - ++darwinEventQueue.head; - switch (xe.u.u.type) { - case KeyPress: - case KeyRelease: - ErrorF("Unexpected Keyboard event in DarwinProcessInputEvents\n"); - break; - - case ButtonPress: - ErrorF("Unexpected ButtonPress event in DarwinProcessInputEvents\n"); - break; - - case ButtonRelease: - ErrorF("Unexpected ButtonRelease event in DarwinProcessInputEvents\n"); - break; - - case MotionNotify: - ErrorF("Unexpected ButtonRelease event in DarwinProcessInputEvents\n"); - break; - - case kXDarwinUpdateModifiers: - ErrorF("Unexpected ButtonRelease event in DarwinProcessInputEvents\n"); - break; - - case kXDarwinUpdateButtons: - ErrorF("Unexpected XDarwinScrollWheel event in DarwinProcessInputEvents\n"); - break; - - case kXDarwinScrollWheel: - ErrorF("Unexpected XDarwinScrollWheel event in DarwinProcessInputEvents\n"); - break; - - case kXDarwinDeactivate: - DarwinReleaseModifiers(); - // fall through - default: - // Check for mode specific event - QuartzProcessEvent(&xe); - } - } + while (x == sizeof(xe)) { + x = read(darwinEventReadFD, &xe, sizeof(xe)); } - - // 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); +static void DarwinPokeEQ(void) { + char nullbyte=0; + // 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; +/* Convert from Appkit pointer input values to X input values: + * Note: pointer_x and pointer_y are relative to the upper-left of primary + * display. + */ +static void DarwinPrepareValuators(DeviceIntPtr pDev, int *valuators, ScreenPtr screen, + float pointer_x, float pointer_y, + float pressure, float tilt_x, float tilt_y) { + /* Fix offset between darwin and X screens */ + pointer_x -= darwinMainScreenX + dixScreenOrigins[screen->myNum].x; + pointer_y -= darwinMainScreenY + dixScreenOrigins[screen->myNum].y; + + if(pointer_x < 0.0) + pointer_x = 0.0; + + if(pointer_y < 0.0) + pointer_y = 0.0; + + if(pDev == darwinPointer) { + valuators[0] = pointer_x; + valuators[1] = pointer_y; + valuators[2] = 0; + valuators[3] = 0; + valuators[4] = 0; + } else { + /* Setup our array of values */ + valuators[0] = XQUARTZ_VALUATOR_LIMIT * (pointer_x / (float)screenInfo.screens[0]->width); + valuators[1] = XQUARTZ_VALUATOR_LIMIT * (pointer_y / (float)screenInfo.screens[0]->height); + valuators[2] = XQUARTZ_VALUATOR_LIMIT * pressure; + valuators[3] = XQUARTZ_VALUATOR_LIMIT * tilt_x; + valuators[4] = XQUARTZ_VALUATOR_LIMIT * tilt_y; } - } - 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 0.0f ? SCROLLWHEELLEFTFAKE : SCROLLWHEELRIGHTFAKE; + int sign_y = count_y > 0.0f ? SCROLLWHEELUPFAKE : SCROLLWHEELDOWNFAKE; + count_x = fabs(count_x); + count_y = fabs(count_y); + + while ((count_x > 0.0f) || (count_y > 0.0f)) { + if (count_x > 0.0f) { + DarwinSendPointerEvents(darwinPointer, ButtonPress, sign_x, pointer_x, pointer_y, pressure, tilt_x, tilt_y); + DarwinSendPointerEvents(darwinPointer, ButtonRelease, sign_x, pointer_x, pointer_y, pressure, tilt_x, tilt_y); + count_x = count_x - 1.0f; + } + if (count_y > 0.0f) { + DarwinSendPointerEvents(darwinPointer, ButtonPress, sign_y, pointer_x, pointer_y, pressure, tilt_x, tilt_y); + DarwinSendPointerEvents(darwinPointer, ButtonRelease, sign_y, pointer_x, pointer_y, pressure, tilt_x, tilt_y); + count_y = count_y - 1.0f; + } + } } /* Send the appropriate KeyPress/KeyRelease events to GetKeyboardEvents to reflect changing modifier flags (alt, control, meta, etc) */ void DarwinUpdateModKeys(int flags) { - DarwinUpdateModifiers(KeyRelease, old_flags & ~flags); - DarwinUpdateModifiers(KeyPress, ~old_flags & flags); - old_flags = flags; + DarwinUpdateModifiers(KeyRelease, darwin_modifier_flags & ~flags); + DarwinUpdateModifiers(KeyPress, ~darwin_modifier_flags & flags); + darwin_modifier_flags = flags; +} + +/* + * DarwinSendDDXEvent + * Send the X server thread a message by placing it on the event queue. + */ +void DarwinSendDDXEvent(int type, int argc, ...) { + xEvent xe; + INT32 *argv; + int i, max_args; + va_list args; + + memset(&xe, 0, sizeof(xe)); + xe.u.u.type = type; + xe.u.clientMessage.u.l.type = type; + + argv = &xe.u.clientMessage.u.l.longs0; + max_args = 4; + + if (argc > 0 && argc <= max_args) { + va_start (args, argc); + for (i = 0; i < argc; i++) + argv[i] = (int) va_arg (args, int); + va_end (args); + } + + darwinEvents_lock(); { + mieqEnqueue(darwinPointer, &xe); + DarwinPokeEQ(); + } darwinEvents_unlock(); } diff --git a/xorg-server/hw/xquartz/darwinEvents.h b/xorg-server/hw/xquartz/darwinEvents.h index 82cc26bc0..9ec3bda2f 100644 --- a/xorg-server/hw/xquartz/darwinEvents.h +++ b/xorg-server/hw/xquartz/darwinEvents.h @@ -1,4 +1,5 @@ /* + * Copyright (c) 2008 Apple, Inc. * Copyright (c) 2001-2004 Torrey T. Lyons. All Rights Reserved. * * Permission is hereby granted, free of charge, to any person obtaining a @@ -27,14 +28,57 @@ #ifndef _DARWIN_EVENTS_H #define _DARWIN_EVENTS_H -Bool DarwinEQInit(DevicePtr pKbd, DevicePtr pPtr); +/* For extra precision of our cursor and other valuators */ +#define XQUARTZ_VALUATOR_LIMIT (1 << 16) + +Bool DarwinEQInit(void); void DarwinEQEnqueue(const xEventPtr e); void DarwinEQPointerPost(DeviceIntPtr pDev, xEventPtr 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 DarwinSendPointerEvents(DeviceIntPtr pDev, int ev_type, int ev_button, float pointer_x, float pointer_y, + float pressure, float tilt_x, float tilt_y); +void DarwinSendProximityEvents(int ev_type, float pointer_x, float pointer_y); void DarwinSendKeyboardEvents(int ev_type, int keycode); -void DarwinSendScrollEvents(float count, int pointer_x, int pointer_y); +void DarwinSendScrollEvents(float count_x, float count_y, float pointer_x, float pointer_y, + float pressure, float tilt_x, float tilt_y); void DarwinUpdateModKeys(int flags); +void DarwinListenOnOpenFD(int fd); + +/* + * Special ddx events understood by the X server + */ +enum { + kXquartzReloadKeymap // Reload system keymap + = LASTEvent+1, // (from X.h list of event names) + kXquartzActivate, // restore X drawing and cursor + kXquartzDeactivate, // clip X drawing and switch to Aqua cursor + kXquartzSetRootClip, // enable or disable drawing to the X screen + kXquartzQuit, // kill the X server and release the display + kXquartzReadPasteboard, // copy Mac OS X pasteboard into X cut buffer + kXquartzWritePasteboard, // copy X cut buffer onto Mac OS X pasteboard + kXquartzBringAllToFront, // bring all X windows to front + kXquartzToggleFullscreen, // Enable/Disable fullscreen mode + kXquartzSetRootless, // Set rootless mode + kXquartzSpaceChanged, // Spaces changed + kXquartzListenOnOpenFD, // Listen to the launchd fd (passed as arg) + /* + * AppleWM events + */ + kXquartzControllerNotify, // send an AppleWMControllerNotify event + kXquartzPasteboardNotify, // notify the WM to copy or paste + kXquartzReloadPreferences, // send AppleWMReloadPreferences + /* + * Xplugin notification events + */ + kXquartzDisplayChanged, // display configuration has changed + kXquartzWindowState, // window visibility state has changed + kXquartzWindowMoved, // window has moved on screen +}; + +/* Send one of the above events to the server thread. */ +void DarwinSendDDXEvent(int type, int argc, ...); + +extern int darwin_modifier_mask_list[]; +extern int darwin_modifier_flags; #endif /* _DARWIN_EVENTS_H */ diff --git a/xorg-server/hw/xquartz/darwinKeyboard.c b/xorg-server/hw/xquartz/darwinKeyboard.c deleted file mode 100644 index 8d1ee8ec9..000000000 --- a/xorg-server/hw/xquartz/darwinKeyboard.c +++ /dev/null @@ -1,1009 +0,0 @@ -//============================================================================= -// -// Keyboard support for the Darwin X Server -// -// Copyright (c) 2001-2004 Torrey T. Lyons. All Rights Reserved. -// Copyright (c) 2003 Apple Computer, Inc. All Rights Reserved. -// Copyright 2004 Kaleb S. KEITHLEY. All Rights Reserved. -// -// The code to parse the Darwin keymap is derived from dumpkeymap.c -// by Eric Sunshine, which includes the following copyright: -// -// 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. -// -//============================================================================= - - -/* -=========================================================================== - - An X keyCode must be in the range XkbMinLegalKeyCode (8) to - XkbMaxLegalKeyCode(255). - - The keyCodes we get from the kernel range from 0 to 127, so we need to - offset the range before passing the keyCode to X. - - An X KeySym is an extended ascii code that is device independent. - - The modifier map is accessed by the keyCode, but the normal map is - accessed by keyCode - MIN_KEYCODE. Sigh. - -=========================================================================== -*/ - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -// Define this to get a diagnostic output to stderr which is helpful -// in determining how the X server is interpreting the Darwin keymap. -// #define DUMP_DARWIN_KEYMAP - -#include -#include -#include -#include -#include -#include -#include // For the NXSwap* -#include "darwin.h" -#include "darwinKeyboard.h" -#include "quartzKeyboard.h" -#include "quartzAudio.h" - -#ifdef NDEBUG -#undef NDEBUG -#include -#define NDEBUG 1 -#else -#include -#endif - -#define AltMask Mod1Mask -#define MetaMask Mod2Mask -#define FunctionMask Mod3Mask - -#define UK(a) NoSymbol // unknown symbol - -static KeySym const next_to_x[256] = { - NoSymbol, NoSymbol, NoSymbol, XK_KP_Enter, - NoSymbol, NoSymbol, NoSymbol, NoSymbol, - XK_BackSpace, XK_Tab, XK_Linefeed, NoSymbol, - NoSymbol, XK_Return, NoSymbol, NoSymbol, - NoSymbol, NoSymbol, NoSymbol, NoSymbol, - NoSymbol, NoSymbol, NoSymbol, NoSymbol, - NoSymbol, NoSymbol, NoSymbol, XK_Escape, - NoSymbol, NoSymbol, NoSymbol, NoSymbol, - XK_space, XK_exclam, XK_quotedbl, XK_numbersign, - XK_dollar, XK_percent, XK_ampersand, XK_apostrophe, - XK_parenleft, XK_parenright, XK_asterisk, XK_plus, - XK_comma, XK_minus, XK_period, XK_slash, - XK_0, XK_1, XK_2, XK_3, - XK_4, XK_5, XK_6, XK_7, - XK_8, XK_9, XK_colon, XK_semicolon, - XK_less, XK_equal, XK_greater, XK_question, - XK_at, XK_A, XK_B, XK_C, - XK_D, XK_E, XK_F, XK_G, - XK_H, XK_I, XK_J, XK_K, - XK_L, XK_M, XK_N, XK_O, - XK_P, XK_Q, XK_R, XK_S, - XK_T, XK_U, XK_V, XK_W, - XK_X, XK_Y, XK_Z, XK_bracketleft, - XK_backslash, XK_bracketright,XK_asciicircum, XK_underscore, - XK_grave, XK_a, XK_b, XK_c, - XK_d, XK_e, XK_f, XK_g, - XK_h, XK_i, XK_j, XK_k, - XK_l, XK_m, XK_n, XK_o, - XK_p, XK_q, XK_r, XK_s, - XK_t, XK_u, XK_v, XK_w, - XK_x, XK_y, XK_z, XK_braceleft, - XK_bar, XK_braceright, XK_asciitilde, XK_BackSpace, -// 128 - NoSymbol, XK_Agrave, XK_Aacute, XK_Acircumflex, - XK_Atilde, XK_Adiaeresis, XK_Aring, XK_Ccedilla, - XK_Egrave, XK_Eacute, XK_Ecircumflex, XK_Ediaeresis, - XK_Igrave, XK_Iacute, XK_Icircumflex, XK_Idiaeresis, -// 144 - XK_ETH, XK_Ntilde, XK_Ograve, XK_Oacute, - XK_Ocircumflex, XK_Otilde, XK_Odiaeresis, XK_Ugrave, - XK_Uacute, XK_Ucircumflex, XK_Udiaeresis, XK_Yacute, - XK_THORN, XK_mu, XK_multiply, XK_division, -// 160 - XK_copyright, XK_exclamdown, XK_cent, XK_sterling, - UK(fraction), XK_yen, UK(fhook), XK_section, - XK_currency, XK_rightsinglequotemark, - XK_leftdoublequotemark, - XK_guillemotleft, - XK_leftanglebracket, - XK_rightanglebracket, - UK(filigature), UK(flligature), -// 176 - XK_registered, XK_endash, XK_dagger, XK_doubledagger, - XK_periodcentered,XK_brokenbar, XK_paragraph, UK(bullet), - XK_singlelowquotemark, - XK_doublelowquotemark, - XK_rightdoublequotemark, - XK_guillemotright, - XK_ellipsis, UK(permille), XK_notsign, XK_questiondown, -// 192 - XK_onesuperior, XK_dead_grave, XK_dead_acute, XK_dead_circumflex, - XK_dead_tilde, XK_dead_macron, XK_dead_breve, XK_dead_abovedot, - XK_dead_diaeresis, - XK_twosuperior, XK_dead_abovering, - XK_dead_cedilla, - XK_threesuperior, - XK_dead_doubleacute, - XK_dead_ogonek, XK_dead_caron, -// 208 - XK_emdash, XK_plusminus, XK_onequarter, XK_onehalf, - XK_threequarters, - XK_agrave, XK_aacute, XK_acircumflex, - XK_atilde, XK_adiaeresis, XK_aring, XK_ccedilla, - XK_egrave, XK_eacute, XK_ecircumflex, XK_ediaeresis, -// 224 - XK_igrave, XK_AE, XK_iacute, XK_ordfeminine, - XK_icircumflex, XK_idiaeresis, XK_eth, XK_ntilde, - XK_Lstroke, XK_Ooblique, XK_OE, XK_masculine, - XK_ograve, XK_oacute, XK_ocircumflex, XK_otilde, -// 240 - XK_odiaeresis, XK_ae, XK_ugrave, XK_uacute, - XK_ucircumflex, XK_idotless, XK_udiaeresis, XK_ygrave, - XK_lstroke, XK_ooblique, XK_oe, XK_ssharp, - XK_thorn, XK_ydiaeresis, NoSymbol, NoSymbol, - }; - -#define MIN_SYMBOL 0xAC -static KeySym const symbol_to_x[] = { - XK_Left, XK_Up, XK_Right, XK_Down - }; -static int const NUM_SYMBOL = sizeof(symbol_to_x) / sizeof(symbol_to_x[0]); - -#define MIN_FUNCKEY 0x20 -static KeySym const funckey_to_x[] = { - XK_F1, XK_F2, XK_F3, XK_F4, - XK_F5, XK_F6, XK_F7, XK_F8, - XK_F9, XK_F10, XK_F11, XK_F12, - XK_Insert, XK_Delete, XK_Home, XK_End, - XK_Page_Up, XK_Page_Down, XK_F13, XK_F14, - XK_F15 - }; -static int const NUM_FUNCKEY = sizeof(funckey_to_x) / sizeof(funckey_to_x[0]); - -typedef struct { - KeySym normalSym; - KeySym keypadSym; -} darwinKeyPad_t; - -static darwinKeyPad_t const normal_to_keypad[] = { - { XK_0, XK_KP_0 }, - { XK_1, XK_KP_1 }, - { XK_2, XK_KP_2 }, - { XK_3, XK_KP_3 }, - { XK_4, XK_KP_4 }, - { XK_5, XK_KP_5 }, - { XK_6, XK_KP_6 }, - { XK_7, XK_KP_7 }, - { XK_8, XK_KP_8 }, - { XK_9, XK_KP_9 }, - { XK_equal, XK_KP_Equal }, - { XK_asterisk, XK_KP_Multiply }, - { XK_plus, XK_KP_Add }, - { XK_comma, XK_KP_Separator }, - { XK_minus, XK_KP_Subtract }, - { XK_period, XK_KP_Decimal }, - { XK_slash, XK_KP_Divide } -}; -static int const NUM_KEYPAD = sizeof(normal_to_keypad) / sizeof(normal_to_keypad[0]); - -static void DarwinChangeKeyboardControl( DeviceIntPtr device, KeybdCtrl *ctrl ) -{ - // keyclick, bell volume / pitch, autorepead, LED's -} - -darwinKeyboardInfo keyInfo; -static FILE *fref = NULL; -static char *inBuffer = NULL; - -//----------------------------------------------------------------------------- -// Data Stream Object -// Can be configured to treat embedded "numbers" as being composed of -// either 1, 2, or 4 bytes, apiece. -//----------------------------------------------------------------------------- -typedef struct _DataStream { - unsigned char const *data; - unsigned char const *data_end; - short number_size; // Size in bytes of a "number" in the stream. -} DataStream; - -static DataStream* new_data_stream(unsigned char const* data, int size) { - DataStream* s = (DataStream*)xalloc( sizeof(DataStream) ); - if(s) { - s->data = data; - s->data_end = data + size; - s->number_size = 1; // Default to byte-sized numbers. - } - return s; -} - -static void destroy_data_stream(DataStream* s) { - xfree(s); -} - -static unsigned char get_byte(DataStream* s) { - assert(s->data + 1 <= s->data_end); - return *s->data++; -} - -static short get_word(DataStream* s) { - short hi, lo; - assert(s->data + 2 <= s->data_end); - hi = *s->data++; - lo = *s->data++; - return ((hi << 8) | lo); -} - -static int get_dword(DataStream* s) { - int b1, b2, b3, b4; - assert(s->data + 4 <= s->data_end); - b4 = *s->data++; - b3 = *s->data++; - b2 = *s->data++; - b1 = *s->data++; - return ((b4 << 24) | (b3 << 16) | (b2 << 8) | b1); -} - -static int get_number(DataStream* s) { - switch (s->number_size) { - case 4: return get_dword(s); - case 2: return get_word(s); - default: return get_byte(s); - } -} - -//----------------------------------------------------------------------------- -// Utility functions to help parse Darwin keymap -//----------------------------------------------------------------------------- - -/* - * bits_set - * Calculate number of bits set in the modifier mask. - */ -static short bits_set(short mask) { - short n = 0; - - for ( ; mask != 0; mask >>= 1) - if ((mask & 0x01) != 0) - n++; - return n; -} - -/* - * parse_next_char_code - * Read the next character code from the Darwin keymapping - * and write it to the X keymap. - */ -static void parse_next_char_code(DataStream *s, KeySym *k) { - const short charSet = get_number(s); - const short charCode = get_number(s); - - if (charSet == 0) { // ascii character - if (charCode >= 0 && charCode < 256) - *k = next_to_x[charCode]; - } else if (charSet == 0x01) { // symbol character - if (charCode >= MIN_SYMBOL && - charCode <= MIN_SYMBOL + NUM_SYMBOL) - *k = symbol_to_x[charCode - MIN_SYMBOL]; - } else if (charSet == 0xFE) { // function key - if (charCode >= MIN_FUNCKEY && - charCode <= MIN_FUNCKEY + NUM_FUNCKEY) - *k = funckey_to_x[charCode - MIN_FUNCKEY]; - } -} - - -/* - * DarwinReadKeymapFile - * Read the appropriate keymapping from a keymapping file. - */ -static Bool DarwinReadKeymapFile(NXKeyMapping *keyMap) { - struct stat st; - NXEventSystemDevice info[20]; - int interface = 0, handler_id = 0; - int map_interface, map_handler_id, map_size = 0; - unsigned int i, size; - int *bufferEnd; - union km_tag { - int *intP; - char *charP; - } km; - - fref = fopen( darwinKeymapFile, "rb" ); - if (fref == NULL) { - ErrorF("Unable to open keymapping file '%s' (%s).\n", - darwinKeymapFile, strerror(errno)); - return FALSE; - } - if (fstat(fileno(fref), &st) == -1) { - ErrorF("Could not stat keymapping file '%s' (%s).\n", - darwinKeymapFile, strerror(errno)); - return FALSE; - } - - // check to make sure we don't crash later - if (st.st_size <= 16*sizeof(int)) { - ErrorF("Keymapping file '%s' is invalid (too small).\n", - darwinKeymapFile); - return FALSE; - } - - inBuffer = (char*) xalloc( st.st_size ); - bufferEnd = (int *) (inBuffer + st.st_size); - if (fread(inBuffer, st.st_size, 1, fref) != 1) { - ErrorF("Could not read %qd bytes from keymapping file '%s' (%s).\n", - st.st_size, darwinKeymapFile, strerror(errno)); - return FALSE; - } - - if (strncmp( inBuffer, "KYM1", 4 ) == 0) { - // Magic number OK. - } else if (strncmp( inBuffer, "KYMP", 4 ) == 0) { - ErrorF("Keymapping file '%s' is intended for use with the original NeXT keyboards and cannot be used by XDarwin.\n", darwinKeymapFile); - return FALSE; - } else { - ErrorF("Keymapping file '%s' has a bad magic number and cannot be used by XDarwin.\n", darwinKeymapFile); - return FALSE; - } - - // find the keyboard interface and handler id - size = sizeof( info ) / sizeof( int ); - if (!NXEventSystemInfo( darwinParamConnect, NX_EVS_DEVICE_INFO, - (NXEventSystemInfoType) info, &size )) { - ErrorF("Error reading event status driver info.\n"); - return FALSE; - } - - size = size * sizeof( int ) / sizeof( info[0] ); - for( i = 0; i < size; i++) { - if (info[i].dev_type == NX_EVS_DEVICE_TYPE_KEYBOARD) { - Bool hasInterface = FALSE; - Bool hasMatch = FALSE; - - interface = info[i].interface; - handler_id = info[i].id; - - // Find an appropriate keymapping: - // The first time we try to match both interface and handler_id. - // If we can't match both, we take the first match for interface. - - do { - km.charP = inBuffer; - km.intP++; - while (km.intP+3 < bufferEnd) { - map_interface = NXSwapBigIntToHost(*(km.intP++)); - map_handler_id = NXSwapBigIntToHost(*(km.intP++)); - map_size = NXSwapBigIntToHost(*(km.intP++)); - if (map_interface == interface) { - if (map_handler_id == handler_id || hasInterface) { - hasMatch = TRUE; - break; - } else { - hasInterface = TRUE; - } - } - km.charP += map_size; - } - } while (hasInterface && !hasMatch); - - if (hasMatch) { - // fill in NXKeyMapping structure - keyMap->size = map_size; - keyMap->mapping = (char*) xalloc(map_size); - memcpy(keyMap->mapping, km.charP, map_size); - return TRUE; - } - } // if dev_id == keyboard device - } // foreach info struct - - // The keymapping file didn't match any of the info structs - // returned by NXEventSystemInfo. - ErrorF("Keymapping file '%s' did not contain appropriate keyboard interface.\n", darwinKeymapFile); - return FALSE; -} - - -/* - * DarwinParseNXKeyMapping - */ -static Bool DarwinParseNXKeyMapping(darwinKeyboardInfo *info) { - KeySym *k; - int i; - short numMods, numKeys, numPadKeys = 0; - Bool haveKeymap = FALSE; - NXKeyMapping keyMap; - DataStream *keyMapStream; - unsigned char const *numPadStart = 0; - - if (darwinKeymapFile) { - haveKeymap = DarwinReadKeymapFile(&keyMap); - if (fref) - fclose(fref); - if (inBuffer) - xfree(inBuffer); - if (!haveKeymap) { - ErrorF("Reverting to kernel keymapping.\n"); - } - } - - if (!haveKeymap) { - // get the Darwin keyboard map - keyMap.size = NXKeyMappingLength( darwinParamConnect ); - keyMap.mapping = (char*) xalloc( keyMap.size ); - if (!NXGetKeyMapping( darwinParamConnect, &keyMap )) { - return FALSE; - } - } - - keyMapStream = new_data_stream( (unsigned char const*)keyMap.mapping, - keyMap.size ); - - // check the type of map - if (get_word(keyMapStream)) { - keyMapStream->number_size = 2; - ErrorF("Current 16-bit keymapping may not be interpreted correctly.\n"); - } - - // Insert X modifier KeySyms into the keyboard map. - numMods = get_number(keyMapStream); - while (numMods-- > 0) { - int left = 1; // first keycode is left - short const charCode = get_number(keyMapStream); - short numKeyCodes = get_number(keyMapStream); - - // This is just a marker, not a real modifier. - // Store numeric keypad keys for later. - if (charCode == NX_MODIFIERKEY_NUMERICPAD) { - numPadStart = keyMapStream->data; - numPadKeys = numKeyCodes; - } - - while (numKeyCodes-- > 0) { - const short keyCode = get_number(keyMapStream); - if (charCode != NX_MODIFIERKEY_NUMERICPAD) { - switch (charCode) { - case NX_MODIFIERKEY_ALPHALOCK: - info->keyMap[keyCode * GLYPHS_PER_KEY] = XK_Caps_Lock; - break; - case NX_MODIFIERKEY_SHIFT: - info->keyMap[keyCode * GLYPHS_PER_KEY] = - (left ? XK_Shift_L : XK_Shift_R); - break; - case NX_MODIFIERKEY_CONTROL: - info->keyMap[keyCode * GLYPHS_PER_KEY] = - (left ? XK_Control_L : XK_Control_R); - break; - case NX_MODIFIERKEY_ALTERNATE: - // info->keyMap[keyCode * GLYPHS_PER_KEY] = XK_Mode_switch; - info->keyMap[keyCode * GLYPHS_PER_KEY] = - (left ? XK_Alt_L : XK_Alt_R); - break; - case NX_MODIFIERKEY_COMMAND: - info->keyMap[keyCode * GLYPHS_PER_KEY] = - (left ? XK_Meta_L : XK_Meta_R); - break; - case NX_MODIFIERKEY_SECONDARYFN: - info->keyMap[keyCode * GLYPHS_PER_KEY] = - (left ? XK_Control_L : XK_Control_R); - break; - case NX_MODIFIERKEY_HELP: - // Help is not an X11 modifier; treat as normal key - info->keyMap[keyCode * GLYPHS_PER_KEY] = XK_Help; - break; - } - } - left = 0; - } - } - - // Convert the Darwin keyboard mapping to an X keyboard map. - // A key can have a different character code for each combination of - // modifiers. We currently ignore all modifier combinations except - // those with Shift, AlphaLock, and Alt. - numKeys = get_number(keyMapStream); - for (i = 0, k = info->keyMap; i < numKeys; i++, k += GLYPHS_PER_KEY) { - short const charGenMask = get_number(keyMapStream); - if (charGenMask != 0xFF) { // is key bound? - short numKeyCodes = 1 << bits_set(charGenMask); - - // Record unmodified case - parse_next_char_code( keyMapStream, k ); - numKeyCodes--; - - // If AlphaLock and Shift modifiers produce different codes, - // we record the Shift case since X handles AlphaLock. - if (charGenMask & 0x01) { // AlphaLock - parse_next_char_code( keyMapStream, k+1 ); - numKeyCodes--; - } - - if (charGenMask & 0x02) { // Shift - parse_next_char_code( keyMapStream, k+1 ); - numKeyCodes--; - - if (charGenMask & 0x01) { // Shift-AlphaLock - get_number(keyMapStream); get_number(keyMapStream); - numKeyCodes--; - } - } - - // Skip the Control cases - if (charGenMask & 0x04) { // Control - get_number(keyMapStream); get_number(keyMapStream); - numKeyCodes--; - - if (charGenMask & 0x01) { // Control-AlphaLock - get_number(keyMapStream); get_number(keyMapStream); - numKeyCodes--; - } - - if (charGenMask & 0x02) { // Control-Shift - get_number(keyMapStream); get_number(keyMapStream); - numKeyCodes--; - - if (charGenMask & 0x01) { // Shift-Control-AlphaLock - get_number(keyMapStream); get_number(keyMapStream); - numKeyCodes--; - } - } - } - - // Process Alt cases - if (charGenMask & 0x08) { // Alt - parse_next_char_code( keyMapStream, k+2 ); - numKeyCodes--; - - if (charGenMask & 0x01) { // Alt-AlphaLock - parse_next_char_code( keyMapStream, k+3 ); - numKeyCodes--; - } - - if (charGenMask & 0x02) { // Alt-Shift - parse_next_char_code( keyMapStream, k+3 ); - numKeyCodes--; - - if (charGenMask & 0x01) { // Alt-Shift-AlphaLock - get_number(keyMapStream); get_number(keyMapStream); - numKeyCodes--; - } - } - } - - while (numKeyCodes-- > 0) { - get_number(keyMapStream); get_number(keyMapStream); - } - - if (k[3] == k[2]) k[3] = NoSymbol; - if (k[2] == k[1]) k[2] = NoSymbol; - if (k[1] == k[0]) k[1] = NoSymbol; - if (k[0] == k[2] && k[1] == k[3]) k[2] = k[3] = NoSymbol; - } - } - - // Now we have to go back through the list of keycodes that are on the - // numeric keypad and update the X keymap. - keyMapStream->data = numPadStart; - while(numPadKeys-- > 0) { - const short keyCode = get_number(keyMapStream); - k = &info->keyMap[keyCode * GLYPHS_PER_KEY]; - for (i = 0; i < NUM_KEYPAD; i++) { - if (*k == normal_to_keypad[i].normalSym) { - k[0] = normal_to_keypad[i].keypadSym; - break; - } - } - } - - // free Darwin keyboard map - destroy_data_stream( keyMapStream ); - xfree( keyMap.mapping ); - - return TRUE; -} - -/* - * DarwinBuildModifierMaps - * Use the keyMap field of keyboard info structure to populate - * the modMap and modifierKeycodes fields. - */ -static void DarwinBuildModifierMaps(darwinKeyboardInfo *info) { - int i; - KeySym *k; - - memset(info->modMap, NoSymbol, sizeof(info->modMap)); - memset(info->modifierKeycodes, 0, sizeof(info->modifierKeycodes)); - - for (i = 0; i < NUM_KEYCODES; i++) { - k = info->keyMap + i * GLYPHS_PER_KEY; - - switch (*k) { - case XK_Shift_L: - info->modifierKeycodes[NX_MODIFIERKEY_SHIFT][0] = i; - info->modMap[MIN_KEYCODE + i] = ShiftMask; - break; - - case XK_Shift_R: -#ifdef NX_MODIFIERKEY_RSHIFT - info->modifierKeycodes[NX_MODIFIERKEY_RSHIFT][0] = i; -#else - info->modifierKeycodes[NX_MODIFIERKEY_SHIFT][0] = i; -#endif - info->modMap[MIN_KEYCODE + i] = ShiftMask; - break; - - case XK_Control_L: - info->modifierKeycodes[NX_MODIFIERKEY_CONTROL][0] = i; - info->modMap[MIN_KEYCODE + i] = ControlMask; - break; - - case XK_Control_R: -#ifdef NX_MODIFIERKEY_RCONTROL - info->modifierKeycodes[NX_MODIFIERKEY_RCONTROL][0] = i; -#else - info->modifierKeycodes[NX_MODIFIERKEY_CONTROL][0] = i; -#endif - info->modMap[MIN_KEYCODE + i] = ControlMask; - break; - - case XK_Caps_Lock: - info->modifierKeycodes[NX_MODIFIERKEY_ALPHALOCK][0] = i; - info->modMap[MIN_KEYCODE + i] = LockMask; - break; - - case XK_Alt_L: - info->modifierKeycodes[NX_MODIFIERKEY_ALTERNATE][0] = i; - info->modMap[MIN_KEYCODE + i] = Mod1Mask; - *k = XK_Mode_switch; // Yes, this is ugly. This needs to be cleaned up when we integrate quartzKeyboard with this code and refactor. - break; - - case XK_Alt_R: -#ifdef NX_MODIFIERKEY_RALTERNATE - info->modifierKeycodes[NX_MODIFIERKEY_RALTERNATE][0] = i; -#else - info->modifierKeycodes[NX_MODIFIERKEY_ALTERNATE][0] = i; -#endif - *k = XK_Mode_switch; // Yes, this is ugly. This needs to be cleaned up when we integrate quartzKeyboard with this code and refactor. - info->modMap[MIN_KEYCODE + i] = Mod1Mask; - break; - - case XK_Mode_switch: - info->modMap[MIN_KEYCODE + i] = Mod1Mask; - break; - - case XK_Meta_L: - info->modifierKeycodes[NX_MODIFIERKEY_COMMAND][0] = i; - info->modMap[MIN_KEYCODE + i] = Mod2Mask; - break; - - case XK_Meta_R: -#ifdef NX_MODIFIERKEY_RCOMMAND - info->modifierKeycodes[NX_MODIFIERKEY_RCOMMAND][0] = i; -#else - info->modifierKeycodes[NX_MODIFIERKEY_COMMAND][0] = i; -#endif - info->modMap[MIN_KEYCODE + i] = Mod2Mask; - break; - - case XK_Num_Lock: - info->modMap[MIN_KEYCODE + i] = Mod3Mask; - break; - } - } -} - -/* - * DarwinLoadKeyboardMapping - * Load the keyboard map from a file or system and convert - * it to an equivalent X keyboard map and modifier map. - */ -static void DarwinLoadKeyboardMapping(KeySymsRec *keySyms) { - memset(keyInfo.keyMap, 0, sizeof(keyInfo.keyMap)); - - /* TODO: Clean this up - * QuartzReadSystemKeymap is in quartz/quartzKeyboard.c - * DarwinParseNXKeyMapping is here - */ - if (!DarwinParseNXKeyMapping(&keyInfo)) { - DEBUG_LOG("DarwinParseNXKeyMapping returned 0... running QuartzReadSystemKeymap().\n"); - if (!QuartzReadSystemKeymap(&keyInfo)) { - FatalError("Could not build a valid keymap."); - } - } - - DarwinBuildModifierMaps(&keyInfo); - -#ifdef DUMP_DARWIN_KEYMAP - int i; - KeySym *k; - DEBUG_LOG("Darwin -> X converted keyboard map\n"); - for (i = 0, k = keyInfo.keyMap; i < NX_NUMKEYCODES; - i++, k += GLYPHS_PER_KEY) - { - int j; - for (j = 0; j < GLYPHS_PER_KEY; j++) { - if (k[j] == NoSymbol) { - DEBUG_LOG("0x%02x:\tNoSym\n", i); - } else { - DEBUG_LOG("0x%02x:\t0x%lx\n", i, k[j]); - } - } - } -#endif - - keySyms->map = keyInfo.keyMap; - keySyms->mapWidth = GLYPHS_PER_KEY; - keySyms->minKeyCode = MIN_KEYCODE; - keySyms->maxKeyCode = MAX_KEYCODE; -} - - -/* - * DarwinKeyboardInit - * Get the Darwin keyboard map and compute an equivalent - * X keyboard map and modifier map. Set the new keyboard - * device structure. - */ -void DarwinKeyboardInit(DeviceIntPtr pDev) { - KeySymsRec keySyms; - - // Open a shared connection to the HID System. - // Note that the Event Status Driver is really just a wrapper - // for a kIOHIDParamConnectType connection. - assert( darwinParamConnect = NXOpenEventStatus() ); - - DarwinLoadKeyboardMapping(&keySyms); - // DarwinKeyboardReload(pDev); - /* Initialize the seed, so we don't reload the keymap unnecessarily - (and possibly overwrite xinitrc changes) */ - QuartzSystemKeymapSeed(); - - assert( InitKeyboardDeviceStruct( (DevicePtr)pDev, &keySyms, - keyInfo.modMap, QuartzBell, - DarwinChangeKeyboardControl )); -} - - -/* Borrowed from dix/devices.c */ -static Bool InitModMap(register KeyClassPtr keyc) { - int i, j; - CARD8 keysPerModifier[8]; - CARD8 mask; - - // darwinKeyc = keyc; - if (keyc->modifierKeyMap != NULL) - xfree (keyc->modifierKeyMap); - - keyc->maxKeysPerModifier = 0; - for (i = 0; i < 8; i++) - keysPerModifier[i] = 0; - for (i = 8; i < MAP_LENGTH; i++) - { - for (j = 0, mask = 1; j < 8; j++, mask <<= 1) - { - if (mask & keyc->modifierMap[i]) - { - if (++keysPerModifier[j] > keyc->maxKeysPerModifier) - keyc->maxKeysPerModifier = keysPerModifier[j]; - } - } - } - keyc->modifierKeyMap = (KeyCode *)xalloc(8*keyc->maxKeysPerModifier); - if (!keyc->modifierKeyMap && keyc->maxKeysPerModifier) - return (FALSE); - bzero((char *)keyc->modifierKeyMap, 8*(int)keyc->maxKeysPerModifier); - for (i = 0; i < 8; i++) - keysPerModifier[i] = 0; - for (i = 8; i < MAP_LENGTH; i++) - { - for (j = 0, mask = 1; j < 8; j++, mask <<= 1) - { - if (mask & keyc->modifierMap[i]) - { - keyc->modifierKeyMap[(j*keyc->maxKeysPerModifier) + - keysPerModifier[j]] = i; - keysPerModifier[j]++; - } - } - } - return TRUE; -} - - -void DarwinKeyboardReload(DeviceIntPtr pDev) { - KeySymsRec keySyms; - - DarwinLoadKeyboardMapping(&keySyms); - - if (SetKeySymsMap(&pDev->key->curKeySyms, &keySyms)) { - /* now try to update modifiers. */ - - memmove(pDev->key->modifierMap, keyInfo.modMap, MAP_LENGTH); - InitModMap(pDev->key); - } else DEBUG_LOG("SetKeySymsMap=0\n"); - - SendMappingNotify(MappingKeyboard, MIN_KEYCODE, NUM_KEYCODES, 0); - SendMappingNotify(MappingModifier, 0, 0, 0); -} - - -//----------------------------------------------------------------------------- -// Modifier translation functions -// -// There are three different ways to specify a Mac modifier key: -// keycode - specifies hardware key, read from keymapping -// key - NX_MODIFIERKEY_*, really an index -// mask - NX_*MASK, mask for modifier flags in event record -// Left and right side have different keycodes but the same key and mask. -//----------------------------------------------------------------------------- - -/* - * DarwinModifierNXKeyToNXKeycode - * Return the keycode for an NX_MODIFIERKEY_* modifier. - * side = 0 for left or 1 for right. - * Returns 0 if key+side is not a known modifier. - */ -int DarwinModifierNXKeyToNXKeycode(int key, int side) { - return keyInfo.modifierKeycodes[key][side]; -} - -/* - * DarwinModifierNXKeycodeToNXKey - * Returns -1 if keycode+side is not a modifier key - * outSide may be NULL, else it gets 0 for left and 1 for right. - */ -int DarwinModifierNXKeycodeToNXKey(unsigned char keycode, int *outSide) { - int key, side; - - keycode += MIN_KEYCODE; - // search modifierKeycodes for this keycode+side - for (key = 0; key < NX_NUMMODIFIERS; key++) { - for (side = 0; side <= 1; side++) { - if (keyInfo.modifierKeycodes[key][side] == keycode) break; - } - } - if (key == NX_NUMMODIFIERS) return -1; - if (outSide) *outSide = side; - return key; -} - -/* - * DarwinModifierNXMaskToNXKey - * Returns -1 if mask is not a known modifier mask. - */ -int DarwinModifierNXMaskToNXKey(int mask) { - switch (mask) { - case NX_ALPHASHIFTMASK: return NX_MODIFIERKEY_ALPHALOCK; - case NX_SHIFTMASK: return NX_MODIFIERKEY_SHIFT; -#ifdef NX_DEVICELSHIFTKEYMASK - case NX_DEVICELSHIFTKEYMASK: return NX_MODIFIERKEY_SHIFT; - case NX_DEVICERSHIFTKEYMASK: return NX_MODIFIERKEY_RSHIFT; -#endif - case NX_CONTROLMASK: return NX_MODIFIERKEY_CONTROL; -#ifdef NX_DEVICELCTLKEYMASK - case NX_DEVICELCTLKEYMASK: return NX_MODIFIERKEY_CONTROL; - case NX_DEVICERCTLKEYMASK: return NX_MODIFIERKEY_RCONTROL; -#endif - case NX_ALTERNATEMASK: return NX_MODIFIERKEY_ALTERNATE; -#ifdef NX_DEVICELALTKEYMASK - case NX_DEVICELALTKEYMASK: return NX_MODIFIERKEY_ALTERNATE; - case NX_DEVICERALTKEYMASK: return NX_MODIFIERKEY_RALTERNATE; -#endif - case NX_COMMANDMASK: return NX_MODIFIERKEY_COMMAND; -#ifdef NX_DEVICELCMDKEYMASK - case NX_DEVICELCMDKEYMASK: return NX_MODIFIERKEY_COMMAND; - case NX_DEVICERCMDKEYMASK: return NX_MODIFIERKEY_RCOMMAND; -#endif - case NX_NUMERICPADMASK: return NX_MODIFIERKEY_NUMERICPAD; - case NX_HELPMASK: return NX_MODIFIERKEY_HELP; - case NX_SECONDARYFNMASK: return NX_MODIFIERKEY_SECONDARYFN; - } - return -1; -} - -static const char *DarwinModifierNXMaskTostring(int mask) { - switch (mask) { - case NX_ALPHASHIFTMASK: return "NX_ALPHASHIFTMASK"; - case NX_SHIFTMASK: return "NX_SHIFTMASK"; - case NX_DEVICELSHIFTKEYMASK: return "NX_DEVICELSHIFTKEYMASK"; - case NX_DEVICERSHIFTKEYMASK: return "NX_DEVICERSHIFTKEYMASK"; - case NX_CONTROLMASK: return "NX_CONTROLMASK"; - case NX_DEVICELCTLKEYMASK: return "NX_DEVICELCTLKEYMASK"; - case NX_DEVICERCTLKEYMASK: return "NX_DEVICERCTLKEYMASK"; - case NX_ALTERNATEMASK: return "NX_ALTERNATEMASK"; - case NX_DEVICELALTKEYMASK: return "NX_DEVICELALTKEYMASK"; - case NX_DEVICERALTKEYMASK: return "NX_DEVICERALTKEYMASK"; - case NX_COMMANDMASK: return "NX_COMMANDMASK"; - case NX_DEVICELCMDKEYMASK: return "NX_DEVICELCMDKEYMASK"; - case NX_DEVICERCMDKEYMASK: return "NX_DEVICERCMDKEYMASK"; - case NX_NUMERICPADMASK: return "NX_NUMERICPADMASK"; - case NX_HELPMASK: return "NX_HELPMASK"; - case NX_SECONDARYFNMASK: return "NX_SECONDARYFNMASK"; - } - return "unknown mask"; -} - -/* - * DarwinModifierNXKeyToNXMask - * Returns 0 if key is not a known modifier key. - */ -int DarwinModifierNXKeyToNXMask(int key) { - switch (key) { - case NX_MODIFIERKEY_ALPHALOCK: return NX_ALPHASHIFTMASK; - case NX_MODIFIERKEY_SHIFT: return NX_SHIFTMASK; -#ifdef NX_MODIFIERKEY_RSHIFT - case NX_MODIFIERKEY_RSHIFT: return NX_SHIFTMASK; -#endif - case NX_MODIFIERKEY_CONTROL: return NX_CONTROLMASK; -#ifdef NX_MODIFIERKEY_RCONTROL - case NX_MODIFIERKEY_RCONTROL: return NX_CONTROLMASK; -#endif - case NX_MODIFIERKEY_ALTERNATE: return NX_ALTERNATEMASK; -#ifdef NX_MODIFIERKEY_RALTERNATE - case NX_MODIFIERKEY_RALTERNATE: return NX_ALTERNATEMASK; -#endif - case NX_MODIFIERKEY_COMMAND: return NX_COMMANDMASK; -#ifdef NX_MODIFIERKEY_RCOMMAND - case NX_MODIFIERKEY_RCOMMAND: return NX_COMMANDMASK; -#endif - case NX_MODIFIERKEY_NUMERICPAD: return NX_NUMERICPADMASK; - case NX_MODIFIERKEY_HELP: return NX_HELPMASK; - case NX_MODIFIERKEY_SECONDARYFN: return NX_SECONDARYFNMASK; - } - return 0; -} - -/* - * DarwinModifierStringToNXKey - * Returns -1 if string is not a known modifier. - */ -int DarwinModifierStringToNXKey(const char *str) { - if (!strcasecmp(str, "shift")) return NX_MODIFIERKEY_SHIFT; - else if (!strcasecmp(str, "control")) return NX_MODIFIERKEY_CONTROL; - else if (!strcasecmp(str, "option")) return NX_MODIFIERKEY_ALTERNATE; - else if (!strcasecmp(str, "command")) return NX_MODIFIERKEY_COMMAND; - else if (!strcasecmp(str, "fn")) return NX_MODIFIERKEY_SECONDARYFN; - else return -1; -} - -/* - * LegalModifier - * This allows the ddx layer to prevent some keys from being remapped - * as modifier keys. - */ -Bool LegalModifier(unsigned int key, DeviceIntPtr pDev) -{ - return 1; -} diff --git a/xorg-server/hw/xquartz/darwinKeyboard.h b/xorg-server/hw/xquartz/darwinKeyboard.h deleted file mode 100644 index 5cf64c7d1..000000000 --- a/xorg-server/hw/xquartz/darwinKeyboard.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * 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, 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. - */ - -#ifndef DARWIN_KEYBOARD_H -#define DARWIN_KEYBOARD_H 1 - -#include "quartzKeyboard.h" - -/* Provided for darwinEvents.c */ -extern darwinKeyboardInfo keyInfo; -void DarwinKeyboardReload(DeviceIntPtr pDev); -void DarwinKeyboardInit(DeviceIntPtr pDev); -int DarwinModifierNXKeycodeToNXKey(unsigned char keycode, int *outSide); -int DarwinModifierNXKeyToNXKeycode(int key, int side); -int DarwinModifierNXKeyToNXMask(int key); -int DarwinModifierNXMaskToNXKey(int mask); -int DarwinModifierStringToNXKey(const char *string); - -/* Provided for darwin.c */ -void DarwinKeyboardInit(DeviceIntPtr pDev); - -#endif /* DARWIN_KEYBOARD_H */ diff --git a/xorg-server/hw/xquartz/darwinXinput.c b/xorg-server/hw/xquartz/darwinXinput.c index e62ec0ab6..59bae6fde 100644 --- a/xorg-server/hw/xquartz/darwinXinput.c +++ b/xorg-server/hw/xquartz/darwinXinput.c @@ -1,8 +1,7 @@ - /* - * X server support of the XINPUT extension for Darwin + * X server support of the XINPUT extension for xquartz * - * This is currently a copy of mi/stubs.c, but eventually this + * This is currently a copy of Xi/stubs.c, but eventually this * should include more complete XINPUT support. */ @@ -52,100 +51,18 @@ SOFTWARE. ********************************************************/ +#define NEED_EVENTS #ifdef HAVE_DIX_CONFIG_H #include #endif -#define NEED_EVENTS #include #include #include "inputstr.h" #include #include #include "XIstubs.h" -#include "chgkbd.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; - } +#include "darwin.h" /*********************************************************************** * @@ -161,11 +78,10 @@ ChangePointerDevice ( */ void -CloseInputDevice (d, client) - DeviceIntPtr d; - ClientPtr client; - { - } +CloseInputDevice(DeviceIntPtr d, ClientPtr client) +{ + DEBUG_LOG("CloseInputDevice(%p, %p)\n", d, client); +} /*********************************************************************** * @@ -194,8 +110,8 @@ CloseInputDevice (d, client) */ void -AddOtherInputDevices () - { +AddOtherInputDevices(void) +{ /********************************************************************** for each uninitialized device, do something like: @@ -208,8 +124,8 @@ AddOtherInputDevices () RegisterOtherDevice(dev); dev->inited = ((*dev->deviceProc)(dev, DEVICE_INIT) == Success); ************************************************************************/ - - } + DEBUG_LOG("AddOtherInputDevices\n"); +} /*********************************************************************** * @@ -234,12 +150,10 @@ AddOtherInputDevices () */ void -OpenInputDevice (dev, client, status) - DeviceIntPtr dev; - ClientPtr client; - int *status; - { - } +OpenInputDevice(DeviceIntPtr dev, ClientPtr client, int *status) +{ + DEBUG_LOG("OpenInputDevice(%p, %p, %p)\n", dev, client, status); +} /**************************************************************************** * @@ -254,13 +168,11 @@ OpenInputDevice (dev, client, status) */ int -SetDeviceMode (client, dev, mode) - register ClientPtr client; - DeviceIntPtr dev; - int mode; - { +SetDeviceMode(ClientPtr client, DeviceIntPtr dev, int mode) +{ + DEBUG_LOG("SetDeviceMode(%p, %p, %d)\n", client, dev, mode); return BadMatch; - } +} /**************************************************************************** * @@ -275,15 +187,13 @@ SetDeviceMode (client, dev, mode) */ int -SetDeviceValuators (client, dev, valuators, first_valuator, num_valuators) - register ClientPtr client; - DeviceIntPtr dev; - int *valuators; - int first_valuator; - int num_valuators; - { - return BadMatch; - } +SetDeviceValuators(ClientPtr client, DeviceIntPtr dev, + int *valuators, int first_valuator, int num_valuators) +{ + DEBUG_LOG("SetDeviceValuators(%p, %p, %p, %d, %d)\n", client, + dev, valuators, first_valuator, num_valuators); + return BadMatch; +} /**************************************************************************** * @@ -294,16 +204,48 @@ SetDeviceValuators (client, dev, valuators, first_valuator, num_valuators) */ int -ChangeDeviceControl (client, dev, control) - register ClientPtr client; - DeviceIntPtr dev; - xDeviceCtl *control; - { - switch (control->control) - { - case DEVICE_RESOLUTION: - return (BadMatch); - default: - return (BadMatch); - } +ChangeDeviceControl(ClientPtr client, DeviceIntPtr dev, + xDeviceCtl * control) +{ + + DEBUG_LOG("ChangeDeviceControl(%p, %p, %p)\n", client, dev, 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) +{ + DEBUG_LOG("NewInputDeviceRequest(%p, %p)\n", options, pdev); + return BadValue; +} + +/**************************************************************************** + * + * Caller: configRemoveDevice (and others) + * + * Remove the specified device previously added. + * + */ +void +DeleteInputDeviceRequest(DeviceIntPtr dev) +{ + DEBUG_LOG("DeleteInputDeviceRequest(%p)\n", dev); +} diff --git a/xorg-server/hw/xquartz/doc/Makefile.am b/xorg-server/hw/xquartz/doc/Makefile.am new file mode 100644 index 000000000..b812af1cb --- /dev/null +++ b/xorg-server/hw/xquartz/doc/Makefile.am @@ -0,0 +1,14 @@ +appmandir = $(APP_MAN_DIR) +appman_PRE = Xquartz.man.pre +appman_PROCESSED = $(appman_PRE:man.pre=man) +appman_DATA = $(appman_PRE:man.pre=@APP_MAN_SUFFIX@) + +CLEANFILES = $(appman_PROCESSED) $(appman_DATA) + +include $(top_srcdir)/cpprules.in + +.man.$(APP_MAN_SUFFIX): + cp $< $@ + +EXTRA_DIST = \ + Xquartz.man.pre diff --git a/xorg-server/hw/xquartz/doc/Makefile.in b/xorg-server/hw/xquartz/doc/Makefile.in new file mode 100644 index 000000000..dcdc5f5f1 --- /dev/null +++ b/xorg-server/hw/xquartz/doc/Makefile.in @@ -0,0 +1,587 @@ +# Makefile.in generated by automake 1.10.2 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 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/xquartz/doc +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/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)$(appmandir)" +appmanDATA_INSTALL = $(INSTALL_DATA) +DATA = $(appman_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@ +APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +APPLE_APPLICATION_ID = @APPLE_APPLICATION_ID@ +APPLE_APPLICATION_NAME = @APPLE_APPLICATION_NAME@ +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@ +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@ +DOLT_BASH = @DOLT_BASH@ +DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ +DRI2PROTO_LIBS = @DRI2PROTO_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@ +DSYMUTIL = @DSYMUTIL@ +DTRACE = @DTRACE@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +FILE_MAN_DIR = @FILE_MAN_DIR@ +FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ +GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ +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@ +LD = @LD@ +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@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTCOMPILE = @LTCOMPILE@ +LTCXXCOMPILE = @LTCXXCOMPILE@ +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@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJC = @OBJC@ +OBJCCLD = @OBJCCLD@ +OBJCDEPMODE = @OBJCDEPMODE@ +OBJCFLAGS = @OBJCFLAGS@ +OBJCLINK = @OBJCLINK@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +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@ +PCIACCESS_CFLAGS = @PCIACCESS_CFLAGS@ +PCIACCESS_LIBS = @PCIACCESS_LIBS@ +PCI_TXT_IDS_PATH = @PCI_TXT_IDS_PATH@ +PERL = @PERL@ +PKG_CONFIG = @PKG_CONFIG@ +PROJECTROOT = @PROJECTROOT@ +PS2PDF = @PS2PDF@ +RANLIB = @RANLIB@ +RAWCPP = @RAWCPP@ +RAWCPPFLAGS = @RAWCPPFLAGS@ +SED = sed +SERVER_MISC_CONFIG_PATH = @SERVER_MISC_CONFIG_PATH@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ +SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ +STRIP = @STRIP@ +TSLIB_CFLAGS = @TSLIB_CFLAGS@ +TSLIB_LIBS = @TSLIB_LIBS@ +UTILS_SYS_LIBS = @UTILS_SYS_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_CFLAGS = @XDMX_CFLAGS@ +XDMX_LIBS = @XDMX_LIBS@ +XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ +XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ +XEPHYR_INCS = @XEPHYR_INCS@ +XEPHYR_LIBS = @XEPHYR_LIBS@ +XF86CONFIGFILE = @XF86CONFIGFILE@ +XF86VIDMODE_CFLAGS = @XF86VIDMODE_CFLAGS@ +XF86VIDMODE_LIBS = @XF86VIDMODE_LIBS@ +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@ +XNEST_SYS_LIBS = @XNEST_SYS_LIBS@ +XORG_CFLAGS = @XORG_CFLAGS@ +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@ +XORG_SYS_LIBS = @XORG_SYS_LIBS@ +XPBPROXY_CFLAGS = @XPBPROXY_CFLAGS@ +XPBPROXY_LIBS = @XPBPROXY_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@ +XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ +XTSTEXAMPLES_DEP_LIBS = @XTSTEXAMPLES_DEP_LIBS@ +XVFB_LIBS = @XVFB_LIBS@ +XVFB_SYS_LIBS = @XVFB_SYS_LIBS@ +XWINMODULES_CFLAGS = @XWINMODULES_CFLAGS@ +XWINMODULES_LIBS = @XWINMODULES_LIBS@ +XWIN_LIBS = @XWIN_LIBS@ +XWIN_SERVER_NAME = @XWIN_SERVER_NAME@ +XWIN_SYS_LIBS = @XWIN_SYS_LIBS@ +YACC = @YACC@ +YFLAGS = @YFLAGS@ +__XCONFIGFILE__ = @__XCONFIGFILE__@ +abi_ansic = @abi_ansic@ +abi_extension = @abi_extension@ +abi_font = @abi_font@ +abi_videodrv = @abi_videodrv@ +abi_xinput = @abi_xinput@ +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_DUMPBIN = @ac_ct_DUMPBIN@ +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@ +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@ +lt_ECHO = @lt_ECHO@ +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_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +appmandir = $(APP_MAN_DIR) +appman_PRE = Xquartz.man.pre +appman_PROCESSED = $(appman_PRE:man.pre=man) +appman_DATA = $(appman_PRE:man.pre=@APP_MAN_SUFFIX@) +CLEANFILES = $(appman_PROCESSED) $(appman_DATA) +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) + +EXTRA_DIST = \ + Xquartz.man.pre + +all: all-am + +.SUFFIXES: +.SUFFIXES: .pre .man .man.pre .$(APP_MAN_SUFFIX) +$(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 ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign hw/xquartz/doc/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --foreign hw/xquartz/doc/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-appmanDATA: $(appman_DATA) + @$(NORMAL_INSTALL) + test -z "$(appmandir)" || $(MKDIR_P) "$(DESTDIR)$(appmandir)" + @list='$(appman_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(appmanDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(appmandir)/$$f'"; \ + $(appmanDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(appmandir)/$$f"; \ + done + +uninstall-appmanDATA: + @$(NORMAL_UNINSTALL) + @list='$(appman_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(appmandir)/$$f'"; \ + rm -f "$(DESTDIR)$(appmandir)/$$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)$(appmandir)"; 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-appmanDATA + +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-appmanDATA + +.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-appmanDATA 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-am uninstall-appmanDATA + + +.pre: + $(RAWCPP) $(RAWCPPFLAGS) $(CPP_FILES_FLAGS) < $< | $(CPP_SED_MAGIC) > $@ + +.man.pre.man: + $(RAWCPP) $(RAWCPPFLAGS) $(MANDEFS) $(EXTRAMANDEFS) < $< | $(CPP_SED_MAGIC) > $@ + +.man.$(APP_MAN_SUFFIX): + cp $< $@ +# 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/xorg-server/hw/xquartz/doc/Xquartz.man.pre b/xorg-server/hw/xquartz/doc/Xquartz.man.pre new file mode 100644 index 000000000..04bbee30c --- /dev/null +++ b/xorg-server/hw/xquartz/doc/Xquartz.man.pre @@ -0,0 +1,159 @@ +.TH XQUARTZ 1 __vendorversion__ +.SH NAME +Xquartz \- X window system server for Mac OSX +.SH SYNOPSIS +.B Xquartz +[ options ] ... +.SH DESCRIPTION +.I Xquartz +is the X window server for Mac OS X provided by Apple. +.I Xquartz +runs in parallel with Aqua in rootless mode. In rootless mode, the X +window system and Mac OS X share your display. The root window of the +X11 display is the size of the screen and contains all the other +windows. The X11 root window is not displayed in rootless mode as Mac +OS X handles the desktop background. +.SH CUSTOMIZATION +\fIXquartz\fP can be customized using the defaults(1) command. The available options are: +.TP 8 +.B defaults write org.x.X11 enable_fake_buttons -boolean true +Emulates a 3 button mouse using modifier keys. By default, the Command modifier +is used to emulate button 2 and Option is used for button 3. Thus, clicking the +first mouse button while holding down Command will act like clicking +button 2. Holding down Option will simulate button 3. +.TP 8 +.B defaults write org.x.X11 fake_button2 \fImodifiers\fP +Change the modifier keys used to emulate the second mouse button. By default, +Command is used to emulate the second button. Any combination of the following +modifier names may be used: {l,r,}shift, {l,r,}option, {l,r,}control, {l,r,}command, fn +.TP 8 +.B defaults write org.x.X11 fake_button3 \fImodifiers\fP +Change the modifier keys used to emulate the second mouse button. By default, +Command is used to emulate the second button. Any combination of the following +modifier names may be used: {l,r,}shift, {l,r,}option, {l,r,}control, {l,r,}command, fn +.TP 8 +.B defaults write org.x.X11 fullscreen_hotkeys -boolean true +Enable OSX hotkeys while in fullscreen +.TP 8 +.B defaults write org.x.X11 fullscreen_menu -boolean true +Show the OSX menu while in fullscreen +.TP 8 +.B defaults write org.x.X11 no_quit_alert -boolean true +Disables the alert dialog displayed when attempting to quit X11. +.TP 8 +.B defaults write org.x.X11 no_auth -boolean true +Stops the X server requiring that clients authenticate themselves when +connecting. See Xsecurity(__miscmansuffix__). +.TP 8 +.B defaults write org.x.X11 nolisten_tcp -boolean false +This will tell the server to listen and accept TCP connections. Doing this without enabling +xauth is a possible security concern. See Xsecurity(__miscmansuffix__). +.TP 8 +.B defaults write org.x.X11 enable_system_beep -boolean false +Don't use the standard system beep effect for X11 alerts. +.TP 8 +.B defaults write org.x.X11 enable_key_equivalents -boolean false +Disable menu keyboard equivalents while X11 windows are focused. +.TP 8 +.B defaults write org.x.X11 depth \fIdepth\fP +Specifies the color bit depth to use. Currently only 15, and 24 color +bits per pixel are supported. If not specified, or a value of -1 is specified, +defaults to the depth of the main display. +.TP 8 +.B defaults write org.x.X11 sync_keymap -boolean true +Keep the X11 keymap up to date with the OSX system keymap. +.TP 8 +.B defaults write org.x.X11 sync_pasteboard -boolean true +Enable syncing between the OSX pasteboard and clipboard/primary selection buffers in X11. This option needs to be true for any of the other pasteboard sync options to have an effect. +.TP 8 +.B defaults write org.x.X11 sync_pasteboard_to_clipboard -boolean true +Update the X11 CLIPBOARD when the OSX NSPasteboard is updated. +.TP 8 +.B defaults write org.x.X11 sync_pasteboard_to_primary -boolean true +Update the the X11 PRIMARY buffer when the OSX NSPasteboard is updated. +.TP 8 +.B defaults write org.x.X11 sync_clipboard_to_pasteboard -boolean true +Update the the OSX NSPasteboard when the X11 CLIPBOARD is updated. Note that enabling this option causes the clipboard synchronization to act as a clipboard manager in X11. This makes it impossible to use xclipboard, klipper, or any other such clipboard managers. If you want to use any of these programs, you must disable this option. +.TP 8 +.B defaults write org.x.X11 sync_primary_on_select -boolean true +This option defaults to false and is provided only "for experts." It updates the NSPasteboard whenever a new X11 selection is made (rather than requiring you to hit cmd-c to copy the selection to the NSPasteboard). Since the X11 protocol does not require applications to send notification when they change selection, this might not work in all cases (if you run into this problem, try selecting text in another application first, then selecting the text you want). +.TP 8 +.B defaults write org.x.X11 enable_test_extensions -boolean true +This option defaults to false and is only accessible through the command line. Enable this option to turn on the DEC-XTRAP, RECORD, and XTEST extensions in the server. +.SH OPTIONS +.PP +In addition to the normal server options described in the \fIXserver(1)\fP +manual page, \fIXquartz\fP accepts the following command line switches: +.TP 8 +.B \-fakebuttons +Same as enable_fake_buttons above with value true. +.TP 8 +.B \-nofakebuttons +Same as enable_fake_buttons above with value false. +.TP 8 +.B "\-fakemouse2 \fImodifiers\fP" +Same as fake_button2 above. +.TP 8 +.B "\-fakemouse3 \fImodifiers\fP" +Same as fake_button3 above. +.TP 8 +.B "\-depth \fIdepth\fP" +Same as depth above. +.SH "SEE ALSO" +.PP +X(__miscmansuffix__), Xserver(1), xdm(1), xinit(1) +.PP +http://xquartz.macosforge.org +.PP +.SH AUTHORS / HISTORY +X11 was originally ported to Mac OS X Server by John Carmack. Dave +Zarzycki used this as the basis of his port of XFree86 4.0 to Darwin 1.0. +Torrey T. Lyons improved and integrated this code into the XFree86 +Project's mainline for the 4.0.2 release. +.PP +The following members of the XonX Team contributed to the following +releases (in alphabetical order): +.TP 4 +XFree86 4.1.0: +.br +Rob Braun - Darwin x86 support +.br +Torrey T. Lyons - Project Lead +.br +Andreas Monitzer - Cocoa version of XDarwin front end +.br +Gregory Robert Parker - Original Quartz implementation +.br +Christoph Pfisterer - Dynamic shared X libraries +.br +Toshimitsu Tanaka - Japanese localization +.TP 4 +XFree86 4.2.0: +.br +Rob Braun - Darwin x86 support +.br +Pablo Di Noto - Spanish localization +.br +Paul Edens - Dutch localization +.br +Kyunghwan Kim - Korean localization +.br +Mario Klebsch - Non-US keyboard support +.br +Torrey T. Lyons - Project Lead +.br +Andreas Monitzer - German localization +.br +Patrik Montgomery - Swedish localization +.br +Greg Parker - Rootless support +.br +Toshimitsu Tanaka - Japanese localization +.br +Olivier Verdier - French localization +.PP +Code from Apple's X11.app (which was based on XFree86 4.1) was integrated into X.org's XDarwin DDX by Ben Byer for xorg-server-1.2. +The XDarwin DDX was renamed Xquartz to more accurately reflect its state (the pure-darwin backend was removed). +Jeremy Huddleston took over as project lead and brought the project up to the X.org 1.4 server branch. +.PP +Jeremy Huddleston is the current maintainer. diff --git a/xorg-server/hw/xquartz/mach-startup/Makefile.am b/xorg-server/hw/xquartz/mach-startup/Makefile.am new file mode 100644 index 000000000..b0112949d --- /dev/null +++ b/xorg-server/hw/xquartz/mach-startup/Makefile.am @@ -0,0 +1,74 @@ +AM_CPPFLAGS = \ + -DBUILD_DATE=\"$(BUILD_DATE)\" \ + -DXSERVER_VERSION=\"$(VERSION)\" \ + -DX11BINDIR=\"$(bindir)\" + +x11appdir = $(APPLE_APPLICATIONS_DIR)/X11.app/Contents/MacOS +x11app_PROGRAMS = X11.bin + +dist_X11_bin_SOURCES = \ + bundle-main.c + +nodist_X11_bin_SOURCES = \ + mach_startupServer.c \ + mach_startupUser.c + +X11_bin_LDADD = \ + $(top_builddir)/hw/xquartz/libXquartz.la \ + $(top_builddir)/hw/xquartz/xpr/libXquartzXpr.la \ + $(top_builddir)/dix/dixfonts.lo \ + $(top_builddir)/miext/rootless/librootless.la \ + $(top_builddir)/hw/xquartz/pbproxy/libxpbproxy.la \ + $(DARWIN_LIBS) $(XSERVER_LIBS) $(XSERVER_SYS_LIBS) -lXplugin + +X11_bin_LDFLAGS = \ + -XCClinker -Objc \ + -Wl,-u,_miDCInitialize \ + -Wl,-framework,Carbon \ + -Wl,-framework,Cocoa \ + -Wl,-framework,CoreAudio \ + -Wl,-framework,IOKit + +if GLX +X11_bin_LDADD += \ + $(top_builddir)/hw/xquartz/GL/libCGLCore.la \ + $(top_builddir)/glx/libglx.la + +X11_bin_LDFLAGS += \ + -L/System/Library/Frameworks/OpenGL.framework/Libraries -lGL \ + -Wl,-framework,OpenGL +endif + +if RECORD +X11_bin_LDADD += \ + $(top_builddir)/record/librecord.la +endif + +bin_PROGRAMS = Xquartz + +dist_Xquartz_SOURCES = \ + stub.c \ + launchd_fd.c + +nodist_Xquartz_SOURCES = \ + mach_startupUser.c + +Xquartz_LDFLAGS = \ + -Wl,-framework,CoreServices + +BUILT_SOURCES = \ + mach_startupServer.c \ + mach_startupUser.c \ + mach_startupServer.h \ + mach_startup.h + +CLEANFILES = \ + $(BUILT_SOURCES) + +$(BUILT_SOURCES): $(srcdir)/mach_startup.defs + mig -sheader mach_startupServer.h $(srcdir)/mach_startup.defs + +EXTRA_DIST = \ + launchd_fd.h \ + mach_startup.defs \ + mach_startup_types.h diff --git a/xorg-server/hw/xquartz/mach-startup/Makefile.in b/xorg-server/hw/xquartz/mach-startup/Makefile.in new file mode 100644 index 000000000..fbdedad9b --- /dev/null +++ b/xorg-server/hw/xquartz/mach-startup/Makefile.in @@ -0,0 +1,754 @@ +# Makefile.in generated by automake 1.10.2 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 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@ +x11app_PROGRAMS = X11.bin$(EXEEXT) +@GLX_TRUE@am__append_1 = \ +@GLX_TRUE@ $(top_builddir)/hw/xquartz/GL/libCGLCore.la \ +@GLX_TRUE@ $(top_builddir)/glx/libglx.la + +@GLX_TRUE@am__append_2 = \ +@GLX_TRUE@ -L/System/Library/Frameworks/OpenGL.framework/Libraries -lGL \ +@GLX_TRUE@ -Wl,-framework,OpenGL + +@RECORD_TRUE@am__append_3 = \ +@RECORD_TRUE@ $(top_builddir)/record/librecord.la + +bin_PROGRAMS = Xquartz$(EXEEXT) +subdir = hw/xquartz/mach-startup +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/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)$(x11appdir)" +binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) +x11appPROGRAMS_INSTALL = $(INSTALL_PROGRAM) +PROGRAMS = $(bin_PROGRAMS) $(x11app_PROGRAMS) +dist_X11_bin_OBJECTS = bundle-main.$(OBJEXT) +nodist_X11_bin_OBJECTS = mach_startupServer.$(OBJEXT) \ + mach_startupUser.$(OBJEXT) +X11_bin_OBJECTS = $(dist_X11_bin_OBJECTS) $(nodist_X11_bin_OBJECTS) +am__DEPENDENCIES_1 = +X11_bin_DEPENDENCIES = $(top_builddir)/hw/xquartz/libXquartz.la \ + $(top_builddir)/hw/xquartz/xpr/libXquartzXpr.la \ + $(top_builddir)/dix/dixfonts.lo \ + $(top_builddir)/miext/rootless/librootless.la \ + $(top_builddir)/hw/xquartz/pbproxy/libxpbproxy.la \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__append_1) $(am__append_3) +X11_bin_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(X11_bin_LDFLAGS) \ + $(LDFLAGS) -o $@ +dist_Xquartz_OBJECTS = stub.$(OBJEXT) launchd_fd.$(OBJEXT) +nodist_Xquartz_OBJECTS = mach_startupUser.$(OBJEXT) +Xquartz_OBJECTS = $(dist_Xquartz_OBJECTS) $(nodist_Xquartz_OBJECTS) +Xquartz_LDADD = $(LDADD) +Xquartz_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(Xquartz_LDFLAGS) \ + $(LDFLAGS) -o $@ +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +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 = $(dist_X11_bin_SOURCES) $(nodist_X11_bin_SOURCES) \ + $(dist_Xquartz_SOURCES) $(nodist_Xquartz_SOURCES) +DIST_SOURCES = $(dist_X11_bin_SOURCES) $(dist_Xquartz_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@ +APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +APPLE_APPLICATION_ID = @APPLE_APPLICATION_ID@ +APPLE_APPLICATION_NAME = @APPLE_APPLICATION_NAME@ +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@ +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@ +DOLT_BASH = @DOLT_BASH@ +DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ +DRI2PROTO_LIBS = @DRI2PROTO_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@ +DSYMUTIL = @DSYMUTIL@ +DTRACE = @DTRACE@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +FILE_MAN_DIR = @FILE_MAN_DIR@ +FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ +GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ +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@ +LD = @LD@ +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@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTCOMPILE = @LTCOMPILE@ +LTCXXCOMPILE = @LTCXXCOMPILE@ +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@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJC = @OBJC@ +OBJCCLD = @OBJCCLD@ +OBJCDEPMODE = @OBJCDEPMODE@ +OBJCFLAGS = @OBJCFLAGS@ +OBJCLINK = @OBJCLINK@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +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@ +PCIACCESS_CFLAGS = @PCIACCESS_CFLAGS@ +PCIACCESS_LIBS = @PCIACCESS_LIBS@ +PCI_TXT_IDS_PATH = @PCI_TXT_IDS_PATH@ +PERL = @PERL@ +PKG_CONFIG = @PKG_CONFIG@ +PROJECTROOT = @PROJECTROOT@ +PS2PDF = @PS2PDF@ +RANLIB = @RANLIB@ +RAWCPP = @RAWCPP@ +RAWCPPFLAGS = @RAWCPPFLAGS@ +SED = @SED@ +SERVER_MISC_CONFIG_PATH = @SERVER_MISC_CONFIG_PATH@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ +SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ +STRIP = @STRIP@ +TSLIB_CFLAGS = @TSLIB_CFLAGS@ +TSLIB_LIBS = @TSLIB_LIBS@ +UTILS_SYS_LIBS = @UTILS_SYS_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_CFLAGS = @XDMX_CFLAGS@ +XDMX_LIBS = @XDMX_LIBS@ +XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ +XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ +XEPHYR_INCS = @XEPHYR_INCS@ +XEPHYR_LIBS = @XEPHYR_LIBS@ +XF86CONFIGFILE = @XF86CONFIGFILE@ +XF86VIDMODE_CFLAGS = @XF86VIDMODE_CFLAGS@ +XF86VIDMODE_LIBS = @XF86VIDMODE_LIBS@ +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@ +XNEST_SYS_LIBS = @XNEST_SYS_LIBS@ +XORG_CFLAGS = @XORG_CFLAGS@ +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@ +XORG_SYS_LIBS = @XORG_SYS_LIBS@ +XPBPROXY_CFLAGS = @XPBPROXY_CFLAGS@ +XPBPROXY_LIBS = @XPBPROXY_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@ +XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ +XTSTEXAMPLES_DEP_LIBS = @XTSTEXAMPLES_DEP_LIBS@ +XVFB_LIBS = @XVFB_LIBS@ +XVFB_SYS_LIBS = @XVFB_SYS_LIBS@ +XWINMODULES_CFLAGS = @XWINMODULES_CFLAGS@ +XWINMODULES_LIBS = @XWINMODULES_LIBS@ +XWIN_LIBS = @XWIN_LIBS@ +XWIN_SERVER_NAME = @XWIN_SERVER_NAME@ +XWIN_SYS_LIBS = @XWIN_SYS_LIBS@ +YACC = @YACC@ +YFLAGS = @YFLAGS@ +__XCONFIGFILE__ = @__XCONFIGFILE__@ +abi_ansic = @abi_ansic@ +abi_extension = @abi_extension@ +abi_font = @abi_font@ +abi_videodrv = @abi_videodrv@ +abi_xinput = @abi_xinput@ +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_DUMPBIN = @ac_ct_DUMPBIN@ +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@ +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@ +lt_ECHO = @lt_ECHO@ +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_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +AM_CPPFLAGS = \ + -DBUILD_DATE=\"$(BUILD_DATE)\" \ + -DXSERVER_VERSION=\"$(VERSION)\" \ + -DX11BINDIR=\"$(bindir)\" + +x11appdir = $(APPLE_APPLICATIONS_DIR)/X11.app/Contents/MacOS +dist_X11_bin_SOURCES = \ + bundle-main.c + +nodist_X11_bin_SOURCES = \ + mach_startupServer.c \ + mach_startupUser.c + +X11_bin_LDADD = $(top_builddir)/hw/xquartz/libXquartz.la \ + $(top_builddir)/hw/xquartz/xpr/libXquartzXpr.la \ + $(top_builddir)/dix/dixfonts.lo \ + $(top_builddir)/miext/rootless/librootless.la \ + $(top_builddir)/hw/xquartz/pbproxy/libxpbproxy.la \ + $(DARWIN_LIBS) $(XSERVER_LIBS) $(XSERVER_SYS_LIBS) -lXplugin \ + $(am__append_1) $(am__append_3) +X11_bin_LDFLAGS = -XCClinker -Objc -Wl,-u,_miDCInitialize \ + -Wl,-framework,Carbon -Wl,-framework,Cocoa \ + -Wl,-framework,CoreAudio -Wl,-framework,IOKit $(am__append_2) +dist_Xquartz_SOURCES = \ + stub.c \ + launchd_fd.c + +nodist_Xquartz_SOURCES = \ + mach_startupUser.c + +Xquartz_LDFLAGS = \ + -Wl,-framework,CoreServices + +BUILT_SOURCES = \ + mach_startupServer.c \ + mach_startupUser.c \ + mach_startupServer.h \ + mach_startup.h + +CLEANFILES = \ + $(BUILT_SOURCES) + +EXTRA_DIST = \ + launchd_fd.h \ + mach_startup.defs \ + mach_startup_types.h + +all: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) 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 ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign hw/xquartz/mach-startup/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --foreign hw/xquartz/mach-startup/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) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ + $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --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 +install-x11appPROGRAMS: $(x11app_PROGRAMS) + @$(NORMAL_INSTALL) + test -z "$(x11appdir)" || $(MKDIR_P) "$(DESTDIR)$(x11appdir)" + @list='$(x11app_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) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(x11appPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(x11appdir)/$$f'"; \ + $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(x11appPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(x11appdir)/$$f" || exit 1; \ + else :; fi; \ + done + +uninstall-x11appPROGRAMS: + @$(NORMAL_UNINSTALL) + @list='$(x11app_PROGRAMS)'; for p in $$list; do \ + f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " rm -f '$(DESTDIR)$(x11appdir)/$$f'"; \ + rm -f "$(DESTDIR)$(x11appdir)/$$f"; \ + done + +clean-x11appPROGRAMS: + @list='$(x11app_PROGRAMS)'; for p in $$list; do \ + f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f $$p $$f"; \ + rm -f $$p $$f ; \ + done +X11.bin$(EXEEXT): $(X11_bin_OBJECTS) $(X11_bin_DEPENDENCIES) + @rm -f X11.bin$(EXEEXT) + $(X11_bin_LINK) $(X11_bin_OBJECTS) $(X11_bin_LDADD) $(LIBS) +Xquartz$(EXEEXT): $(Xquartz_OBJECTS) $(Xquartz_DEPENDENCIES) + @rm -f Xquartz$(EXEEXT) + $(Xquartz_LINK) $(Xquartz_OBJECTS) $(Xquartz_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bundle-main.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/launchd_fd.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mach_startupServer.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mach_startupUser.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stub.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; nonempty = 1; } \ + END { if (nonempty) { 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; nonempty = 1; } \ + END { if (nonempty) { 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=; \ + 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; nonempty = 1; } \ + END { if (nonempty) { 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: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) check-am +all-am: Makefile $(PROGRAMS) +installdirs: + for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(x11appdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) 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." + -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) +clean: clean-am + +clean-am: clean-binPROGRAMS clean-generic clean-libtool \ + clean-x11appPROGRAMS 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-x11appPROGRAMS + +install-dvi: install-dvi-am + +install-exec-am: install-binPROGRAMS + +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-binPROGRAMS uninstall-x11appPROGRAMS + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \ + clean-generic clean-libtool clean-x11appPROGRAMS 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-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ + install-x11appPROGRAMS 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-x11appPROGRAMS + + +$(BUILT_SOURCES): $(srcdir)/mach_startup.defs + mig -sheader mach_startupServer.h $(srcdir)/mach_startup.defs +# 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/xorg-server/hw/xquartz/mach-startup/bundle-main.c b/xorg-server/hw/xquartz/mach-startup/bundle-main.c new file mode 100644 index 000000000..fd70f26ed --- /dev/null +++ b/xorg-server/hw/xquartz/mach-startup/bundle-main.c @@ -0,0 +1,581 @@ +/* main.c -- X application launcher + + Copyright (c) 2007 Jeremy Huddleston + Copyright (c) 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 +#include + +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#include + +#include +#include +#include +#include "mach_startup.h" +#include "mach_startupServer.h" + +#include "launchd_fd.h" +/* From darwinEvents.c ... but don't want to pull in all the server cruft */ +void DarwinListenOnOpenFD(int fd); + +extern int noPanoramiXExtension; + +extern int xquartz_resetenv_display; + +#define DEFAULT_CLIENT X11BINDIR "/xterm" +#define DEFAULT_STARTX X11BINDIR "/startx" +#define DEFAULT_SHELL "/bin/sh" + +#ifndef BUILD_DATE +#define BUILD_DATE "" +#endif +#ifndef XSERVER_VERSION +#define XSERVER_VERSION "?" +#endif + +const int __crashreporter_info__len = 4096; +const char *__crashreporter_info__base = "X.Org X Server " XSERVER_VERSION " Build Date: " BUILD_DATE; +char __crashreporter_info__buf[4096]; +char *__crashreporter_info__ = __crashreporter_info__buf; + +static char *server_bootstrap_name = "org.x.X11"; + +#define DEBUG 1 + +/* This is in quartzStartup.c */ +int server_main(int argc, char **argv, char **envp); + +static int execute(const char *command); +static char *command_from_prefs(const char *key, const char *default_value); + +/*** Pthread Magics ***/ +static pthread_t 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 tid; +} + +/*** Mach-O IPC Stuffs ***/ + +union MaxMsgSize { + union __RequestUnion__mach_startup_subsystem req; + union __ReplyUnion__mach_startup_subsystem rep; +}; + +static mach_port_t checkin_or_register(char *bname) { + kern_return_t kr; + mach_port_t mp; + + /* If we're started by launchd or the old mach_init */ + kr = bootstrap_check_in(bootstrap_port, bname, &mp); + if (kr == KERN_SUCCESS) + return mp; + + /* We probably were not started by launchd or the old mach_init */ + kr = mach_port_allocate(mach_task_self(), MACH_PORT_RIGHT_RECEIVE, &mp); + if (kr != KERN_SUCCESS) { + fprintf(stderr, "mach_port_allocate(): %s\n", mach_error_string(kr)); + exit(EXIT_FAILURE); + } + + kr = mach_port_insert_right(mach_task_self(), mp, mp, MACH_MSG_TYPE_MAKE_SEND); + if (kr != KERN_SUCCESS) { + fprintf(stderr, "mach_port_insert_right(): %s\n", mach_error_string(kr)); + exit(EXIT_FAILURE); + } + + kr = bootstrap_register(bootstrap_port, bname, mp); + if (kr != KERN_SUCCESS) { + fprintf(stderr, "bootstrap_register(): %s\n", mach_error_string(kr)); + exit(EXIT_FAILURE); + } + + return mp; +} + +/*** $DISPLAY handoff ***/ +static int accept_fd_handoff(int connected_fd) { + int launchd_fd; + + char databuf[] = "display"; + struct iovec iov[1]; + + iov[0].iov_base = databuf; + iov[0].iov_len = sizeof(databuf); + + union { + struct cmsghdr hdr; + char bytes[CMSG_SPACE(sizeof(int))]; + } buf; + + struct msghdr msg; + msg.msg_iov = iov; + msg.msg_iovlen = 1; + msg.msg_control = buf.bytes; + msg.msg_controllen = sizeof(buf); + msg.msg_name = 0; + msg.msg_namelen = 0; + msg.msg_flags = 0; + + struct cmsghdr *cmsg = CMSG_FIRSTHDR (&msg); + cmsg->cmsg_level = SOL_SOCKET; + cmsg->cmsg_type = SCM_RIGHTS; + cmsg->cmsg_len = CMSG_LEN(sizeof(int)); + + msg.msg_controllen = cmsg->cmsg_len; + + *((int*)CMSG_DATA(cmsg)) = -1; + + if(recvmsg(connected_fd, &msg, 0) < 0) { + fprintf(stderr, "X11.app: Error receiving $DISPLAY file descriptor. recvmsg() error: %s\n", strerror(errno)); + return -1; + } + + launchd_fd = *((int*)CMSG_DATA(cmsg)); + + return launchd_fd; +} + +typedef struct { + int fd; + string_t filename; +} socket_handoff_t; + +/* This thread accepts an incoming connection and hands off the file + * descriptor for the new connection to accept_fd_handoff() + */ +static void socket_handoff_thread(void *arg) { + socket_handoff_t *handoff_data = (socket_handoff_t *)arg; + int launchd_fd = -1; + int connected_fd; + + /* Now actually get the passed file descriptor from this connection + * If we encounter an error, keep listening. + */ + while(launchd_fd == -1) { + connected_fd = accept(handoff_data->fd, NULL, NULL); + if(connected_fd == -1) { + fprintf(stderr, "X11.app: Failed to accept incoming connection on socket (fd=%d): %s\n", handoff_data->fd, strerror(errno)); + sleep(2); + continue; + } + + launchd_fd = accept_fd_handoff(connected_fd); + if(launchd_fd == -1) + fprintf(stderr, "X11.app: Error receiving $DISPLAY file descriptor, no descriptor received? Waiting for another connection.\n"); + + close(connected_fd); + } + + close(handoff_data->fd); + unlink(handoff_data->filename); + free(handoff_data); + + /* TODO: Clean up this race better... giving xinitrc time to run... need to wait for 1.5 branch: + * + * From ajax: + * There's already an internal callback chain for setting selection [in 1.5] + * ownership. See the CallSelectionCallback at the bottom of + * ProcSetSelectionOwner, and xfixes/select.c for an example of how to hook + * into it. + */ + + unsigned remain = 3000000; + fprintf(stderr, "X11.app: Received new $DISPLAY fd: %d ... sleeping to allow xinitrc to catchup.\n", launchd_fd); + while((remain = usleep(remain)) > 0); + + fprintf(stderr, "X11.app Handing off fd to server thread via DarwinListenOnOpenFD(%d)\n", launchd_fd); + DarwinListenOnOpenFD(launchd_fd); +} + +static int create_socket(char *filename_out) { + struct sockaddr_un servaddr_un; + struct sockaddr *servaddr; + socklen_t servaddr_len; + int ret_fd; + size_t try, try_max; + + for(try=0, try_max=5; try < try_max; try++) { + tmpnam(filename_out); + + /* Setup servaddr_un */ + memset (&servaddr_un, 0, sizeof (struct sockaddr_un)); + servaddr_un.sun_family = AF_UNIX; + strlcpy(servaddr_un.sun_path, filename_out, sizeof(servaddr_un.sun_path)); + + servaddr = (struct sockaddr *) &servaddr_un; + servaddr_len = sizeof(struct sockaddr_un) - sizeof(servaddr_un.sun_path) + strlen(filename_out); + + ret_fd = socket(PF_UNIX, SOCK_STREAM, 0); + if(ret_fd == -1) { + fprintf(stderr, "X11.app: Failed to create socket (try %d / %d): %s - %s\n", (int)try+1, (int)try_max, filename_out, strerror(errno)); + continue; + } + + if(bind(ret_fd, servaddr, servaddr_len) != 0) { + fprintf(stderr, "X11.app: Failed to bind socket: %d - %s\n", errno, strerror(errno)); + close(ret_fd); + return 0; + } + + if(listen(ret_fd, 10) != 0) { + fprintf(stderr, "X11.app: Failed to listen to socket: %s - %d - %s\n", filename_out, errno, strerror(errno)); + close(ret_fd); + return 0; + } + +#ifdef DEBUG + fprintf(stderr, "X11.app: Listening on socket for fd handoff: (%d) %s\n", ret_fd, filename_out); +#endif + + return ret_fd; + } + + return 0; +} + +static int launchd_socket_handed_off = 0; + +kern_return_t do_request_fd_handoff_socket(mach_port_t port, string_t filename) { + socket_handoff_t *handoff_data; + + launchd_socket_handed_off = 1; + + handoff_data = (socket_handoff_t *)calloc(1,sizeof(socket_handoff_t)); + if(!handoff_data) { + fprintf(stderr, "X11.app: Error allocating memory for handoff_data\n"); + return KERN_FAILURE; + } + + handoff_data->fd = create_socket(handoff_data->filename); + if(!handoff_data->fd) { + return KERN_FAILURE; + } + + strlcpy(filename, handoff_data->filename, STRING_T_SIZE); + + create_thread(socket_handoff_thread, handoff_data); + +#ifdef DEBUG + fprintf(stderr, "X11.app: Thread created for handoff. Returning success to tell caller to connect and push the fd.\n"); +#endif + + return KERN_SUCCESS; +} + +kern_return_t do_request_pid(mach_port_t port, int *my_pid) { + *my_pid = getpid(); + return KERN_SUCCESS; +} + +/*** Server Startup ***/ +kern_return_t do_start_x11_server(mach_port_t port, string_array_t argv, + mach_msg_type_number_t argvCnt, + string_array_t envp, + mach_msg_type_number_t envpCnt) { + /* And now back to char ** */ + char **_argv = alloca((argvCnt + 1) * sizeof(char *)); + char **_envp = alloca((envpCnt + 1) * sizeof(char *)); + size_t i; + + /* If we didn't get handed a launchd DISPLAY socket, we shoul + * unset DISPLAY or we can run into problems with pbproxy + */ + if(!launchd_socket_handed_off) + unsetenv("DISPLAY"); + + if(!_argv || !_envp) { + return KERN_FAILURE; + } + + fprintf(stderr, "X11.app: do_start_x11_server(): argc=%d\n", argvCnt); + for(i=0; i < argvCnt; i++) { + _argv[i] = argv[i]; + fprintf(stderr, "\targv[%u] = %s\n", (unsigned)i, argv[i]); + } + _argv[argvCnt] = NULL; + + for(i=0; i < envpCnt; i++) { + _envp[i] = envp[i]; + } + _envp[envpCnt] = NULL; + + if(server_main(argvCnt, _argv, _envp) == 0) + return KERN_SUCCESS; + else + return KERN_FAILURE; +} + +int startup_trigger(int argc, char **argv, char **envp) { + Display *display; + const char *s; + + /* Take care of the case where we're called like a normal DDX */ + if(argc > 1 && argv[1][0] == ':') { + size_t i; + kern_return_t kr; + mach_port_t mp; + string_array_t newenvp; + string_array_t newargv; + + /* We need to count envp */ + int envpc; + for(envpc=0; envp[envpc]; envpc++); + + /* We have fixed-size string lengths due to limitations in IPC, + * so we need to copy our argv and envp. + */ + newargv = (string_array_t)alloca(argc * sizeof(string_t)); + newenvp = (string_array_t)alloca(envpc * sizeof(string_t)); + + if(!newargv || !newenvp) { + fprintf(stderr, "Memory allocation failure\n"); + exit(EXIT_FAILURE); + } + + for(i=0; i < argc; i++) { + strlcpy(newargv[i], argv[i], STRING_T_SIZE); + } + for(i=0; i < envpc; i++) { + strlcpy(newenvp[i], envp[i], STRING_T_SIZE); + } + + kr = bootstrap_look_up(bootstrap_port, server_bootstrap_name, &mp); + if (kr != KERN_SUCCESS) { +#if MAC_OS_X_VERSION_MIN_REQUIRED >= 1050 + fprintf(stderr, "bootstrap_look_up(): %s\n", bootstrap_strerror(kr)); +#else + fprintf(stderr, "bootstrap_look_up(): %ul\n", (unsigned long)kr); +#endif + exit(EXIT_FAILURE); + } + + kr = start_x11_server(mp, newargv, argc, newenvp, envpc); + if (kr != KERN_SUCCESS) { + fprintf(stderr, "start_x11_server: %s\n", mach_error_string(kr)); + exit(EXIT_FAILURE); + } + exit(EXIT_SUCCESS); + } + + /* If we have a process serial number and it's our only arg, act as if + * the user double clicked the app bundle: launch app_to_run if possible + */ + if(argc == 1 || (argc == 2 && !strncmp(argv[1], "-psn_", 5))) { + /* Now, try to open a display, if so, run the launcher */ + display = XOpenDisplay(NULL); + if(display) { + /* Could open the display, start the launcher */ + XCloseDisplay(display); + + return execute(command_from_prefs("app_to_run", DEFAULT_CLIENT)); + } + } + + /* Start the server */ + if((s = getenv("DISPLAY"))) { + fprintf(stderr, "X11.app: Could not connect to server (DISPLAY=\"%s\", unsetting). Starting X server.\n", s); + unsetenv("DISPLAY"); + + /* This tells X11Controller to not use the environment's DISPLAY and reset it based on the server's display */ + xquartz_resetenv_display = 1; + } else { + fprintf(stderr, "X11.app: Could not connect to server (DISPLAY is not set). Starting X server.\n"); + } + return execute(command_from_prefs("startx_script", DEFAULT_STARTX)); +} + +/** Setup the environment we want our child processes to inherit */ +static void ensure_path(const char *dir) { + char buf[1024], *temp; + + /* Make sure /usr/X11/bin is in the $PATH */ + temp = getenv("PATH"); + if(temp == NULL || temp[0] == 0) { + snprintf(buf, sizeof(buf), "/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:%s", dir); + setenv("PATH", buf, TRUE); + } else if(strnstr(temp, X11BINDIR, sizeof(temp)) == NULL) { + snprintf(buf, sizeof(buf), "%s:%s", temp, dir); + setenv("PATH", buf, TRUE); + } +} + +static void setup_env() { + char *temp; + const char *pds = NULL; + + /* Pass on our prefs domain to startx and its inheritors (mainly for + * quartz-wm and the Xquartz stub's MachIPC) + */ + CFBundleRef bundle = CFBundleGetMainBundle(); + if(bundle) { + CFStringRef pd = CFBundleGetIdentifier(bundle); + if(pd) { + pds = CFStringGetCStringPtr(pd, 0); + if(pds) { + server_bootstrap_name = malloc(sizeof(char) * (strlen(pds) + 1)); + strcpy(server_bootstrap_name, pds); + setenv("X11_PREFS_DOMAIN", pds, 1); + } + } + } + + /* If we're not org.x.X11, we want to unset DISPLAY, so we don't + * use the launchd DISPLAY socket. + */ + if(pds == NULL || strcmp(pds, "org.x.X11") != 0) + unsetenv("DISPLAY"); + + /* Make sure PATH is right */ + ensure_path(X11BINDIR); + + /* cd $HOME */ + temp = getenv("HOME"); + if(temp != NULL && temp[0] != '\0') + chdir(temp); +} + +/*** Main ***/ +int main(int argc, char **argv, char **envp) { + Bool listenOnly = FALSE; + int i; + mach_msg_size_t mxmsgsz = sizeof(union MaxMsgSize) + MAX_TRAILER_SIZE; + mach_port_t mp; + kern_return_t kr; + + /* Setup our environment for our children */ + setup_env(); + + /* The server must not run the PanoramiX operations. */ + noPanoramiXExtension = TRUE; + + /* Setup the initial crasherporter info */ + strlcpy(__crashreporter_info__, __crashreporter_info__base, __crashreporter_info__len); + + fprintf(stderr, "X11.app: main(): argc=%d\n", argc); + for(i=0; i < argc; i++) { + fprintf(stderr, "\targv[%u] = %s\n", (unsigned)i, argv[i]); + if(!strcmp(argv[i], "--listenonly")) { + listenOnly = TRUE; + } + } + + mp = checkin_or_register(server_bootstrap_name); + if(mp == MACH_PORT_NULL) { + fprintf(stderr, "NULL mach service: %s", server_bootstrap_name); + return EXIT_FAILURE; + } + + /* Check if we need to do something other than listen, and make another + * thread handle it. + */ + if(!listenOnly) { + if(fork() == 0) { + return startup_trigger(argc, argv, envp); + } + } + + /* Main event loop */ + fprintf(stderr, "Waiting for startup parameters via Mach IPC.\n"); + kr = mach_msg_server(mach_startup_server, mxmsgsz, mp, 0); + if (kr != KERN_SUCCESS) { + fprintf(stderr, "org.x.X11(mp): %s\n", mach_error_string(kr)); + return EXIT_FAILURE; + } + + return EXIT_SUCCESS; +} + +static int execute(const char *command) { + const char *newargv[4]; + const char **p; + + newargv[0] = command_from_prefs("login_shell", DEFAULT_SHELL); + newargv[1] = "-c"; + newargv[2] = command; + newargv[3] = NULL; + + fprintf(stderr, "X11.app: Launching %s:\n", command); + for(p=newargv; *p; p++) { + fprintf(stderr, "\targv[%ld] = %s\n", (long int)(p - newargv), *p); + } + + execvp (newargv[0], (char * const *) newargv); + perror ("X11.app: Couldn't exec."); + return(1); +} + +static char *command_from_prefs(const char *key, const char *default_value) { + char *command = NULL; + + CFStringRef cfKey = CFStringCreateWithCString(NULL, key, kCFStringEncodingASCII); + CFPropertyListRef PlistRef = CFPreferencesCopyAppValue(cfKey, kCFPreferencesCurrentApplication); + + if ((PlistRef == NULL) || (CFGetTypeID(PlistRef) != CFStringGetTypeID())) { + CFStringRef cfDefaultValue = CFStringCreateWithCString(NULL, default_value, kCFStringEncodingASCII); + + CFPreferencesSetAppValue(cfKey, cfDefaultValue, kCFPreferencesCurrentApplication); + CFPreferencesAppSynchronize(kCFPreferencesCurrentApplication); + + int len = strlen(default_value) + 1; + command = (char *)malloc(len * sizeof(char)); + if(!command) + return NULL; + strcpy(command, default_value); + } else { + int len = CFStringGetLength((CFStringRef)PlistRef) + 1; + command = (char *)malloc(len * sizeof(char)); + if(!command) + return NULL; + CFStringGetCString((CFStringRef)PlistRef, command, len, kCFStringEncodingASCII); + } + + if (PlistRef) + CFRelease(PlistRef); + + return command; +} diff --git a/xorg-server/hw/xquartz/mach-startup/launchd_fd.c b/xorg-server/hw/xquartz/mach-startup/launchd_fd.c new file mode 100644 index 000000000..44a243a58 --- /dev/null +++ b/xorg-server/hw/xquartz/mach-startup/launchd_fd.c @@ -0,0 +1,82 @@ +/* Copyright (c) 2008 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 +#include +#include + +#include "launchd_fd.h" + +int launchd_display_fd() { + launch_data_t sockets_dict, checkin_request, checkin_response; + launch_data_t listening_fd_array, listening_fd; + + /* Get launchd fd */ + if ((checkin_request = launch_data_new_string(LAUNCH_KEY_CHECKIN)) == NULL) { + fprintf(stderr,"launch_data_new_string(\"" LAUNCH_KEY_CHECKIN "\") Unable to create string.\n"); + return ERROR_FD; + } + + if ((checkin_response = launch_msg(checkin_request)) == NULL) { + fprintf(stderr,"launch_msg(\"" LAUNCH_KEY_CHECKIN "\") IPC failure: %s\n",strerror(errno)); + return ERROR_FD; + } + + if (LAUNCH_DATA_ERRNO == launch_data_get_type(checkin_response)) { + // ignore EACCES, which is common if we weren't started by launchd + if (launch_data_get_errno(checkin_response) != EACCES) + fprintf(stderr,"launchd check-in failed: %s\n", strerror(launch_data_get_errno(checkin_response))); + return ERROR_FD; + } + + sockets_dict = launch_data_dict_lookup(checkin_response, LAUNCH_JOBKEY_SOCKETS); + if (NULL == sockets_dict) { + fprintf(stderr,"launchd check-in: no sockets found to answer requests on!\n"); + return ERROR_FD; + } + + if (launch_data_dict_get_count(sockets_dict) > 1) { + fprintf(stderr,"launchd check-in: some sockets will be ignored!\n"); + return ERROR_FD; + } + + listening_fd_array = launch_data_dict_lookup(sockets_dict, ":0"); + if (NULL == listening_fd_array) { + fprintf(stderr,"launchd check-in: No known sockets found to answer requests on!\n"); + return ERROR_FD; + } + + if (launch_data_array_get_count(listening_fd_array)!=1) { + fprintf(stderr,"launchd check-in: Expected 1 socket from launchd, got %u)\n", + (unsigned)launch_data_array_get_count(listening_fd_array)); + return ERROR_FD; + } + + listening_fd=launch_data_array_get_index(listening_fd_array, 0); + return launch_data_get_fd(listening_fd); +} diff --git a/xorg-server/hw/xquartz/mach-startup/launchd_fd.h b/xorg-server/hw/xquartz/mach-startup/launchd_fd.h new file mode 100644 index 000000000..5083fae21 --- /dev/null +++ b/xorg-server/hw/xquartz/mach-startup/launchd_fd.h @@ -0,0 +1,36 @@ +/* Copyright (c) 2008 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. + */ + +#ifndef _XQUARTZ_LAUNCHD_FD_H_ +#define _XQUARTZ_LAUNCHD_FD_H_ + +#define ERROR_FD -1 + +int launchd_display_fd(void); + +#endif /* _XQUARTZ_LAUNCHD_FD_H_ */ \ No newline at end of file diff --git a/xorg-server/hw/xquartz/mach-startup/mach_startup.defs b/xorg-server/hw/xquartz/mach-startup/mach_startup.defs new file mode 100644 index 000000000..e47f49c3c --- /dev/null +++ b/xorg-server/hw/xquartz/mach-startup/mach_startup.defs @@ -0,0 +1,50 @@ +/* Copyright (c) 2008 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 +#include +import "mach_startup_types.h"; + +subsystem mach_startup 1000; +serverprefix do_; + +type string_t = c_string[1024]; +type string_array_t = array[] of string_t; + +routine start_x11_server( + port : mach_port_t; + argv : string_array_t; + envp : string_array_t); + +routine request_fd_handoff_socket ( + port : mach_port_t; + out socket_filename : string_t); + +routine request_pid ( + port : mach_port_t; + out pid : int); diff --git a/xorg-server/hw/xquartz/mach-startup/mach_startup_types.h b/xorg-server/hw/xquartz/mach-startup/mach_startup_types.h new file mode 100644 index 000000000..459c750db --- /dev/null +++ b/xorg-server/hw/xquartz/mach-startup/mach_startup_types.h @@ -0,0 +1,9 @@ +#ifndef _MACH_STARTUP_TYPES_H_ +#define _MACH_STARTUP_TYPES_H_ + +#define STRING_T_SIZE 1024 + +typedef char string_t[STRING_T_SIZE]; +typedef string_t * string_array_t; + +#endif diff --git a/xorg-server/hw/xquartz/mach-startup/stub.c b/xorg-server/hw/xquartz/mach-startup/stub.c new file mode 100644 index 000000000..893d19c8d --- /dev/null +++ b/xorg-server/hw/xquartz/mach-startup/stub.c @@ -0,0 +1,345 @@ +/* Copyright (c) 2008 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 + +#ifdef HAVE_DIX_CONFIG_H +#include +#endif + +#include +#include +#include +#include + +#include +#include + +static char *server_bootstrap_name = "org.x.X11"; + +/* The launchd startup is only designed for the primary X11.app that is + * org.x.X11... server_bootstrap_name might be differnet if we were triggered to + * start by another X11.app. + */ +#define kX11AppBundleId "org.x.X11" +#define kX11AppBundlePath "/Contents/MacOS/X11" + +#include +#include +#include +#include "mach_startup.h" + +#include + +#include + +#include "launchd_fd.h" + +#ifndef BUILD_DATE +#define BUILD_DATE "?" +#endif +#ifndef XSERVER_VERSION +#define XSERVER_VERSION "?" +#endif + +#define DEBUG 1 + +static char x11_path[PATH_MAX + 1]; + +static pid_t x11app_pid = 0; + +static void set_x11_path() { +#if MAC_OS_X_VERSION_MIN_REQUIRED >= 1050 + + CFURLRef appURL = NULL; + CFBundleRef bundle = NULL; + OSStatus osstatus = LSFindApplicationForInfo(kLSUnknownCreator, CFSTR(kX11AppBundleId), nil, nil, &appURL); + UInt32 ver; + + switch (osstatus) { + case noErr: + if (appURL == NULL) { + fprintf(stderr, "Xquartz: Invalid response from LSFindApplicationForInfo(%s)\n", + kX11AppBundleId); + exit(1); + } + + bundle = CFBundleCreate(NULL, appURL); + if(!bundle) { + fprintf(stderr, "Xquartz: Null value returned from CFBundleCreate().\n"); + exit(2); + } + + if (!CFURLGetFileSystemRepresentation(appURL, true, (unsigned char *)x11_path, sizeof(x11_path))) { + fprintf(stderr, "Xquartz: Error resolving URL for %s\n", kX11AppBundleId); + exit(3); + } + + ver = CFBundleGetVersionNumber(bundle); + if(ver < 0x02308000) { + CFStringRef versionStr = CFBundleGetValueForInfoDictionaryKey(bundle, kCFBundleVersionKey); + const char * versionCStr = "Unknown"; + + if(versionStr) + versionCStr = CFStringGetCStringPtr(versionStr, kCFStringEncodingMacRoman); + + fprintf(stderr, "Xquartz: Could not find a new enough X11.app LSFindApplicationForInfo() returned\n"); + fprintf(stderr, " X11.app = %s\n", x11_path); + fprintf(stderr, " Version = %s (%x), Expected Version > 2.3.0\n", versionCStr, (unsigned)ver); + exit(9); + } + + strlcat(x11_path, kX11AppBundlePath, sizeof(x11_path)); +#ifdef DEBUG + fprintf(stderr, "Xquartz: X11.app = %s\n", x11_path); +#endif + break; + case kLSApplicationNotFoundErr: + fprintf(stderr, "Xquartz: Unable to find application for %s\n", kX11AppBundleId); + exit(10); + default: + fprintf(stderr, "Xquartz: Unable to find application for %s, error code = %d\n", + kX11AppBundleId, (int)osstatus); + exit(11); + } +#else + /* TODO: Make Tiger smarter... but TBH, this should never get called on Tiger... */ + strlcpy(x11_path, "/Applications/Utilities/X11.app/Contents/MacOS/X11", sizeof(x11_path)); +#endif +} + +static int connect_to_socket(const char *filename) { + struct sockaddr_un servaddr_un; + struct sockaddr *servaddr; + socklen_t servaddr_len; + int ret_fd; + + /* Setup servaddr_un */ + memset (&servaddr_un, 0, sizeof (struct sockaddr_un)); + servaddr_un.sun_family = AF_UNIX; + strlcpy(servaddr_un.sun_path, filename, sizeof(servaddr_un.sun_path)); + + servaddr = (struct sockaddr *) &servaddr_un; + servaddr_len = sizeof(struct sockaddr_un) - sizeof(servaddr_un.sun_path) + strlen(filename); + + ret_fd = socket(PF_UNIX, SOCK_STREAM, 0); + if(ret_fd == -1) { + fprintf(stderr, "Xquartz: Failed to create socket: %s - %s\n", filename, strerror(errno)); + return -1; + } + + if(connect(ret_fd, servaddr, servaddr_len) < 0) { + fprintf(stderr, "Xquartz: Failed to connect to socket: %s - %d - %s\n", filename, errno, strerror(errno)); + close(ret_fd); + return -1; + } + + return ret_fd; +} + +static void send_fd_handoff(int connected_fd, int launchd_fd) { + char databuf[] = "display"; + struct iovec iov[1]; + + iov[0].iov_base = databuf; + iov[0].iov_len = sizeof(databuf); + + union { + struct cmsghdr hdr; + char bytes[CMSG_SPACE(sizeof(int))]; + } buf; + + struct msghdr msg; + msg.msg_iov = iov; + msg.msg_iovlen = 1; + msg.msg_control = buf.bytes; + msg.msg_controllen = sizeof(buf); + msg.msg_name = 0; + msg.msg_namelen = 0; + msg.msg_flags = 0; + + struct cmsghdr *cmsg = CMSG_FIRSTHDR (&msg); + cmsg->cmsg_level = SOL_SOCKET; + cmsg->cmsg_type = SCM_RIGHTS; + cmsg->cmsg_len = CMSG_LEN(sizeof(int)); + + msg.msg_controllen = cmsg->cmsg_len; + + *((int*)CMSG_DATA(cmsg)) = launchd_fd; + + if(sendmsg(connected_fd, &msg, 0) < 0) { + fprintf(stderr, "Xquartz: Error sending $DISPLAY file descriptor over fd %d: %d -- %s\n", connected_fd, errno, strerror(errno)); + return; + } + +#ifdef DEBUG + fprintf(stderr, "Xquartz: Message sent. Closing handoff fd.\n"); +#endif + + close(connected_fd); +} + +static void signal_handler(int sig) { + if(x11app_pid) + kill(x11app_pid, sig); + _exit(0); +} + +int main(int argc, char **argv, char **envp) { + int envpc; + kern_return_t kr; + mach_port_t mp; + string_array_t newenvp; + string_array_t newargv; + size_t i; + int launchd_fd; + string_t handoff_socket_filename; + sig_t handler; + + if(argc == 2 && !strcmp(argv[1], "-version")) { + fprintf(stderr, "X.org Release 7.3\n"); + fprintf(stderr, "X.Org X Server %s\n", XSERVER_VERSION); + fprintf(stderr, "Build Date: %s\n", BUILD_DATE); + return EXIT_SUCCESS; + } + + if(getenv("X11_PREFS_DOMAIN")) + server_bootstrap_name = getenv("X11_PREFS_DOMAIN"); + + /* We don't have a mechanism in place to handle this interrupt driven + * server-start notification, so just send the signal now, so xinit doesn't + * time out waiting for it and will just poll for the server. + */ + handler = signal(SIGUSR1, SIG_IGN); + if(handler == SIG_IGN) + kill(getppid(), SIGUSR1); + signal(SIGUSR1, handler); + + /* Pass on SIGs to X11.app */ + signal(SIGINT, signal_handler); + signal(SIGTERM, signal_handler); + + /* Get the $DISPLAY FD */ + launchd_fd = launchd_display_fd(); + + kr = bootstrap_look_up(bootstrap_port, server_bootstrap_name, &mp); + if(kr != KERN_SUCCESS) { + set_x11_path(); + + /* This forking is ugly and will be cleaned up later */ + pid_t child = fork(); + if(child == -1) { + fprintf(stderr, "Xquartz: Could not fork: %s\n", strerror(errno)); + return EXIT_FAILURE; + } + + if(child == 0) { + char *_argv[3]; + _argv[0] = x11_path; + _argv[1] = "--listenonly"; + _argv[2] = NULL; + fprintf(stderr, "Xquartz: Starting X server: %s --listenonly\n", x11_path); + return execvp(x11_path, _argv); + } + + /* Try connecting for 10 seconds */ + for(i=0; i < 80; i++) { + usleep(250000); + kr = bootstrap_look_up(bootstrap_port, server_bootstrap_name, &mp); + if(kr == KERN_SUCCESS) + break; + } + + if(kr != KERN_SUCCESS) { +#if MAC_OS_X_VERSION_MIN_REQUIRED >= 1050 + fprintf(stderr, "Xquartz: bootstrap_look_up(): %s\n", bootstrap_strerror(kr)); +#else + fprintf(stderr, "Xquartz: bootstrap_look_up(): %ul\n", (unsigned long)kr); +#endif + return EXIT_FAILURE; + } + } + + /* Get X11.app's pid */ + request_pid(mp, &x11app_pid); + + /* Handoff the $DISPLAY FD */ + if(launchd_fd != -1) { + size_t try, try_max; + int handoff_fd = -1; + + for(try=0, try_max=5; try < try_max; try++) { + if(request_fd_handoff_socket(mp, handoff_socket_filename) != KERN_SUCCESS) { + fprintf(stderr, "Xquartz: Failed to request a socket from the server to send the $DISPLAY fd over (try %d of %d)\n", (int)try+1, (int)try_max); + continue; + } + + handoff_fd = connect_to_socket(handoff_socket_filename); + if(handoff_fd == -1) { + fprintf(stderr, "Xquartz: Failed to connect to socket (try %d of %d)\n", (int)try+1, (int)try_max); + continue; + } + +#ifdef DEBUG + fprintf(stderr, "Xquartz: Handoff connection established (try %d of %d) on fd %d, \"%s\". Sending message.\n", (int)try+1, (int)try_max, handoff_fd, handoff_socket_filename); +#endif + + send_fd_handoff(handoff_fd, launchd_fd); + close(handoff_fd); + break; + } + } + + /* Count envp */ + for(envpc=0; envp[envpc]; envpc++); + + /* We have fixed-size string lengths due to limitations in IPC, + * so we need to copy our argv and envp. + */ + newargv = (string_array_t)alloca(argc * sizeof(string_t)); + newenvp = (string_array_t)alloca(envpc * sizeof(string_t)); + + if(!newargv || !newenvp) { + fprintf(stderr, "Xquartz: Memory allocation failure\n"); + exit(EXIT_FAILURE); + } + + for(i=0; i < argc; i++) { + strlcpy(newargv[i], argv[i], STRING_T_SIZE); + } + for(i=0; i < envpc; i++) { + strlcpy(newenvp[i], envp[i], STRING_T_SIZE); + } + + kr = start_x11_server(mp, newargv, argc, newenvp, envpc); + if (kr != KERN_SUCCESS) { + fprintf(stderr, "Xquartz: start_x11_server: %s\n", mach_error_string(kr)); + return EXIT_FAILURE; + } + return EXIT_SUCCESS; +} diff --git a/xorg-server/hw/xquartz/pbproxy/Makefile.am b/xorg-server/hw/xquartz/pbproxy/Makefile.am new file mode 100644 index 000000000..e1c537fbb --- /dev/null +++ b/xorg-server/hw/xquartz/pbproxy/Makefile.am @@ -0,0 +1,23 @@ +AM_CPPFLAGS=-F/System/Library/Frameworks/ApplicationServices.framework/Frameworks +AM_CFLAGS=$(XPBPROXY_CFLAGS) + +noinst_LTLIBRARIES = libxpbproxy.la +libxpbproxy_la_SOURCES = \ + trick_autotools.c \ + main.m \ + x-input.m \ + x-selection.m + +libxpbproxy_la_LDFLAGS=$(XPBPROXY_LIBS) + +if STANDALONE_XPBPROXY + +bin_PROGRAMS = xpbproxy +xpbproxy_SOURCES = app-main.m +xpbproxy_LDADD = libxpbproxy.la + +endif + +EXTRA_DIST = \ + pbproxy.h \ + x-selection.h diff --git a/xorg-server/hw/xquartz/pbproxy/Makefile.in b/xorg-server/hw/xquartz/pbproxy/Makefile.in new file mode 100644 index 000000000..b31445e39 --- /dev/null +++ b/xorg-server/hw/xquartz/pbproxy/Makefile.in @@ -0,0 +1,698 @@ +# Makefile.in generated by automake 1.10.2 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 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@ +@STANDALONE_XPBPROXY_TRUE@bin_PROGRAMS = xpbproxy$(EXEEXT) +subdir = hw/xquartz/pbproxy +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/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) +libxpbproxy_la_LIBADD = +am_libxpbproxy_la_OBJECTS = trick_autotools.lo main.lo x-input.lo \ + x-selection.lo +libxpbproxy_la_OBJECTS = $(am_libxpbproxy_la_OBJECTS) +libxpbproxy_la_LINK = $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(OBJCLD) $(AM_OBJCFLAGS) $(OBJCFLAGS) \ + $(libxpbproxy_la_LDFLAGS) $(LDFLAGS) -o $@ +am__installdirs = "$(DESTDIR)$(bindir)" +binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) +PROGRAMS = $(bin_PROGRAMS) +am__xpbproxy_SOURCES_DIST = app-main.m +@STANDALONE_XPBPROXY_TRUE@am_xpbproxy_OBJECTS = app-main.$(OBJEXT) +xpbproxy_OBJECTS = $(am_xpbproxy_OBJECTS) +@STANDALONE_XPBPROXY_TRUE@xpbproxy_DEPENDENCIES = libxpbproxy.la +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +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 = $(libxpbproxy_la_SOURCES) $(xpbproxy_SOURCES) +DIST_SOURCES = $(libxpbproxy_la_SOURCES) $(am__xpbproxy_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@ +APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +APPLE_APPLICATION_ID = @APPLE_APPLICATION_ID@ +APPLE_APPLICATION_NAME = @APPLE_APPLICATION_NAME@ +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@ +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@ +DOLT_BASH = @DOLT_BASH@ +DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ +DRI2PROTO_LIBS = @DRI2PROTO_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@ +DSYMUTIL = @DSYMUTIL@ +DTRACE = @DTRACE@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +FILE_MAN_DIR = @FILE_MAN_DIR@ +FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ +GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ +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@ +LD = @LD@ +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@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTCOMPILE = @LTCOMPILE@ +LTCXXCOMPILE = @LTCXXCOMPILE@ +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@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJC = @OBJC@ +OBJCCLD = @OBJCCLD@ +OBJCDEPMODE = @OBJCDEPMODE@ +OBJCFLAGS = @OBJCFLAGS@ +OBJCLINK = @OBJCLINK@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +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@ +PCIACCESS_CFLAGS = @PCIACCESS_CFLAGS@ +PCIACCESS_LIBS = @PCIACCESS_LIBS@ +PCI_TXT_IDS_PATH = @PCI_TXT_IDS_PATH@ +PERL = @PERL@ +PKG_CONFIG = @PKG_CONFIG@ +PROJECTROOT = @PROJECTROOT@ +PS2PDF = @PS2PDF@ +RANLIB = @RANLIB@ +RAWCPP = @RAWCPP@ +RAWCPPFLAGS = @RAWCPPFLAGS@ +SED = @SED@ +SERVER_MISC_CONFIG_PATH = @SERVER_MISC_CONFIG_PATH@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +SOLARIS_ASM_CFLAGS = @SOLARIS_ASM_CFLAGS@ +SOLARIS_INOUT_ARCH = @SOLARIS_INOUT_ARCH@ +STRIP = @STRIP@ +TSLIB_CFLAGS = @TSLIB_CFLAGS@ +TSLIB_LIBS = @TSLIB_LIBS@ +UTILS_SYS_LIBS = @UTILS_SYS_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_CFLAGS = @XDMX_CFLAGS@ +XDMX_LIBS = @XDMX_LIBS@ +XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ +XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ +XEPHYR_INCS = @XEPHYR_INCS@ +XEPHYR_LIBS = @XEPHYR_LIBS@ +XF86CONFIGFILE = @XF86CONFIGFILE@ +XF86VIDMODE_CFLAGS = @XF86VIDMODE_CFLAGS@ +XF86VIDMODE_LIBS = @XF86VIDMODE_LIBS@ +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@ +XNEST_SYS_LIBS = @XNEST_SYS_LIBS@ +XORG_CFLAGS = @XORG_CFLAGS@ +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@ +XORG_SYS_LIBS = @XORG_SYS_LIBS@ +XPBPROXY_CFLAGS = @XPBPROXY_CFLAGS@ +XPBPROXY_LIBS = @XPBPROXY_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@ +XSERVER_SYS_LIBS = @XSERVER_SYS_LIBS@ +XTSTEXAMPLES_DEP_CFLAGS = @XTSTEXAMPLES_DEP_CFLAGS@ +XTSTEXAMPLES_DEP_LIBS = @XTSTEXAMPLES_DEP_LIBS@ +XVFB_LIBS = @XVFB_LIBS@ +XVFB_SYS_LIBS = @XVFB_SYS_LIBS@ +XWINMODULES_CFLAGS = @XWINMODULES_CFLAGS@ +XWINMODULES_LIBS = @XWINMODULES_LIBS@ +XWIN_LIBS = @XWIN_LIBS@ +XWIN_SERVER_NAME = @XWIN_SERVER_NAME@ +XWIN_SYS_LIBS = @XWIN_SYS_LIBS@ +YACC = @YACC@ +YFLAGS = @YFLAGS@ +__XCONFIGFILE__ = @__XCONFIGFILE__@ +abi_ansic = @abi_ansic@ +abi_extension = @abi_extension@ +abi_font = @abi_font@ +abi_videodrv = @abi_videodrv@ +abi_xinput = @abi_xinput@ +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_DUMPBIN = @ac_ct_DUMPBIN@ +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@ +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@ +lt_ECHO = @lt_ECHO@ +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_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +AM_CPPFLAGS = -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks +AM_CFLAGS = $(XPBPROXY_CFLAGS) +noinst_LTLIBRARIES = libxpbproxy.la +libxpbproxy_la_SOURCES = \ + trick_autotools.c \ + main.m \ + x-input.m \ + x-selection.m + +libxpbproxy_la_LDFLAGS = $(XPBPROXY_LIBS) +@STANDALONE_XPBPROXY_TRUE@xpbproxy_SOURCES = app-main.m +@STANDALONE_XPBPROXY_TRUE@xpbproxy_LDADD = libxpbproxy.la +EXTRA_DIST = \ + pbproxy.h \ + x-selection.h + +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 ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign hw/xquartz/pbproxy/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --foreign hw/xquartz/pbproxy/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 +libxpbproxy.la: $(libxpbproxy_la_OBJECTS) $(libxpbproxy_la_DEPENDENCIES) + $(libxpbproxy_la_LINK) $(libxpbproxy_la_OBJECTS) $(libxpbproxy_la_LIBADD) $(LIBS) +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) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ + $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --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 +xpbproxy$(EXEEXT): $(xpbproxy_OBJECTS) $(xpbproxy_DEPENDENCIES) + @rm -f xpbproxy$(EXEEXT) + $(OBJCLINK) $(xpbproxy_OBJECTS) $(xpbproxy_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/app-main.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/trick_autotools.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/x-input.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/x-selection.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 $@ $< + +.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 + +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; nonempty = 1; } \ + END { if (nonempty) { 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; nonempty = 1; } \ + END { if (nonempty) { 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=; \ + 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; nonempty = 1; } \ + END { if (nonempty) { 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) $(PROGRAMS) +installdirs: + for dir in "$(DESTDIR)$(bindir)"; 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-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-binPROGRAMS + +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-binPROGRAMS + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \ + 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-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-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 + +# 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/xorg-server/hw/xquartz/pbproxy/app-main.m b/xorg-server/hw/xquartz/pbproxy/app-main.m new file mode 100644 index 000000000..cb0fa5744 --- /dev/null +++ b/xorg-server/hw/xquartz/pbproxy/app-main.m @@ -0,0 +1,92 @@ +/* app-main.m + Copyright (c) 2002, 2008 Apple Computer, 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. + */ + +#include "pbproxy.h" +#import "x-selection.h" + +#include +#include /*for getpid*/ +#include + +static const char *app_prefs_domain = "org.x.X11"; +CFStringRef app_prefs_domain_cfstr; + +char *display = NULL; + +static void signal_handler (int sig) { + switch(sig) { + case SIGHUP: + xpbproxy_prefs_reload = YES; + break; + default: + _exit(EXIT_SUCCESS); + } +} + +int main (int argc, const char *argv[]) { +#ifdef DEBUG + printf("pid: %u\n", getpid()); +#endif + + xpbproxy_is_standalone = YES; + + if((s = getenv("X11_PREFS_DOMAIN"))) + app_prefs_domain = s; + + for (i = 1; i < argc; i++) { + if(strcmp (argv[i], "--prefs-domain") == 0 && i+1 < argc) { + app_prefs_domain = argv[++i]; + } else if (strcmp (argv[i], "--help") == 0) { + printf("usage: xpbproxy OPTIONS\n" + "Pasteboard proxying for X11.\n\n" + "--prefs-domain Change the domain used for reading preferences\n" + " (default: org.x.X11)\n"); + return 0; + } else { + fprintf(stderr, "usage: xpbproxy OPTIONS...\n" + "Try 'xpbproxy --help' for more information.\n"); + return 1; + } + } + + app_prefs_domain_cfstr = CFStringCreateWithCString(NULL, app_prefs_domain, kCFStringEncodingUTF8); + + if(!xpbproxy_init()) + return EXIT_FAILURE; + + signal (SIGINT, signal_handler); + signal (SIGTERM, signal_handler); + signal (SIGHUP, signal_handler); + signal (SIGPIPE, SIG_IGN); + + [NSApplication sharedApplication]; + [NSApp run]; + + return EXIT_SUCCESS; +} diff --git a/xorg-server/hw/xquartz/pbproxy/main.m b/xorg-server/hw/xquartz/pbproxy/main.m new file mode 100644 index 000000000..5bc518243 --- /dev/null +++ b/xorg-server/hw/xquartz/pbproxy/main.m @@ -0,0 +1,164 @@ +/* main.m + Copyright (c) 2002, 2008 Apple Computer, 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. + */ + +#include "pbproxy.h" +#import "x-selection.h" + +#include +#include +#include + +Display *xpbproxy_dpy; +int xpbproxy_apple_wm_event_base, xpbproxy_apple_wm_error_base; +int xpbproxy_xfixes_event_base, xpbproxy_xfixes_error_base; +BOOL xpbproxy_have_xfixes; + +extern char *display; + +#ifdef STANDALONE_XPBPROXY +BOOL xpbproxy_is_standalone = NO; +#endif + +x_selection *_selection_object; + +static int x_io_error_handler (Display *dpy) { + /* We lost our connection to the server. */ + + TRACE (); + + /* trigger the thread to restart? + * NO - this would be to a "deeper" problem, and restarts would just + * make things worse... + */ +#ifdef STANDALONE_XPBPROXY + if(xpbproxy_is_standalone) + exit(EXIT_FAILURE); +#endif + + return 0; +} + +static int x_error_handler (Display *dpy, XErrorEvent *errevent) { + return 0; +} + +static inline pthread_t 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 tid; +} + +static void *xpbproxy_x_thread(void *args) { + NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; + size_t i; + + for(i=0, xpbproxy_dpy=NULL; !xpbproxy_dpy && i<5; i++) { + xpbproxy_dpy = XOpenDisplay(NULL); + + if(!xpbproxy_dpy && display) { + char _display[32]; + snprintf(_display, sizeof(_display), ":%s", display); + setenv("DISPLAY", _display, TRUE); + + xpbproxy_dpy=XOpenDisplay(_display); + } + if(!xpbproxy_dpy) + sleep(1); + } + + if (xpbproxy_dpy == NULL) { + fprintf (stderr, "xpbproxy: can't open default display\n"); + [pool release]; + return NULL; + } + + XSetIOErrorHandler (x_io_error_handler); + XSetErrorHandler (x_error_handler); + + if (!XAppleWMQueryExtension (xpbproxy_dpy, &xpbproxy_apple_wm_event_base, + &xpbproxy_apple_wm_error_base)) { + fprintf (stderr, "xpbproxy: can't open AppleWM server extension\n"); + [pool release]; + return NULL; + } + + xpbproxy_have_xfixes = XFixesQueryExtension(xpbproxy_dpy, &xpbproxy_xfixes_event_base, &xpbproxy_xfixes_error_base); + + XAppleWMSelectInput (xpbproxy_dpy, AppleWMActivationNotifyMask | + AppleWMPasteboardNotifyMask); + + _selection_object = [[x_selection alloc] init]; + + if(!xpbproxy_input_register()) { + [pool release]; + return NULL; + } + + [pool release]; + + xpbproxy_input_loop(); + return NULL; +} + +BOOL xpbproxy_init (void) { + create_thread(xpbproxy_x_thread, NULL); + return TRUE; +} + +id xpbproxy_selection_object (void) { + return _selection_object; +} + +Time xpbproxy_current_timestamp (void) { + /* FIXME: may want to fetch a timestamp from the server.. */ + return CurrentTime; +} + +void debug_printf (const char *fmt, ...) { + static int spew = -1; + + if (spew == -1) { + char *x = getenv ("DEBUG"); + spew = (x != NULL && atoi (x) != 0); + } + + if (spew) { + va_list args; + va_start(args, fmt); + vfprintf (stderr, fmt, args); + va_end(args); + } +} diff --git a/xorg-server/hw/xquartz/pbproxy/pbproxy.h b/xorg-server/hw/xquartz/pbproxy/pbproxy.h new file mode 100644 index 000000000..a6798efea --- /dev/null +++ b/xorg-server/hw/xquartz/pbproxy/pbproxy.h @@ -0,0 +1,91 @@ +/* pbproxy.h + Copyright (c) 2002, 2008 Apple Computer, 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. +*/ + +#ifndef PBPROXY_H +#define PBPROXY_H 1 + +#import + +#include +#if MAC_OS_X_VERSION_MIN_REQUIRED < 1050 +#if __LP64__ || NS_BUILD_32_LIKE_64 +typedef long NSInteger; +typedef unsigned long NSUInteger; +#else +typedef int NSInteger; +typedef unsigned int NSUInteger; +#endif +#endif + +#define Cursor X_Cursor +#undef _SHAPE_H_ +#include +#include +#undef Cursor + +#ifdef STANDALONE_XPBPROXY +/* Just used for the standalone to respond to SIGHUP to reload prefs */ +extern BOOL xpbproxy_prefs_reload; + +/* Setting this to YES (for the standalone app) causes us to ignore the + * 'sync_pasteboard' defaults preference since we assume it to be on... this is + * mainly useful for debugging/developing xpbproxy with XQuartz still running. + * Just disable the one in the server with X11's preference pane, then run + * the standalone app. + */ +extern BOOL xpbproxy_is_standalone; +#endif + +/* from main.m */ +extern void xpbproxy_set_is_active (BOOL state); +extern BOOL xpbproxy_get_is_active (void); +extern id xpbproxy_selection_object (void); +extern Time xpbproxy_current_timestamp (void); +extern BOOL xpbproxy_init (void); + +extern Display *xpbproxy_dpy; +extern int xpbproxy_apple_wm_event_base, xpbproxy_apple_wm_error_base; +extern int xpbproxy_xfixes_event_base, xpbproxy_xfixes_error_base; +extern BOOL xpbproxy_have_xfixes; + +/* from x-input.m */ +extern BOOL xpbproxy_input_register (void); +extern void xpbproxy_input_loop(); + +#ifdef DEBUG +/* BEWARE: this can cause a string memory leak, according to the leaks program. */ +# define DB(msg, args...) debug_printf("%s:%s:%d " msg, __FILE__, __FUNCTION__, __LINE__, ##args) +#else +# define DB(msg, args...) do {} while (0) +#endif + +#define TRACE() DB("TRACE\n") +extern void debug_printf (const char *fmt, ...); + +#endif /* PBPROXY_H */ diff --git a/xorg-server/hw/xquartz/pbproxy/trick_autotools.c b/xorg-server/hw/xquartz/pbproxy/trick_autotools.c new file mode 100644 index 000000000..a38f077b1 --- /dev/null +++ b/xorg-server/hw/xquartz/pbproxy/trick_autotools.c @@ -0,0 +1,3 @@ +int this_is_just_here_to_make_automake_work() { + return 0; +} diff --git a/xorg-server/hw/xquartz/pbproxy/x-input.m b/xorg-server/hw/xquartz/pbproxy/x-input.m new file mode 100644 index 000000000..6ba30c610 --- /dev/null +++ b/xorg-server/hw/xquartz/pbproxy/x-input.m @@ -0,0 +1,187 @@ +/* x-input.m -- event handling + Copyright (c) 2002, 2008 Apple Computer, 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. + */ + +#include "pbproxy.h" +#import "x-selection.h" + +#include +#include + +#include +#include +#include + +#include + +#include + +static CFRunLoopSourceRef xpbproxy_dpy_source; + +#ifdef STANDALONE_XPBPROXY +BOOL xpbproxy_prefs_reload = NO; +#endif + +static pthread_mutex_t xpbproxy_dpy_rdy_lock = PTHREAD_MUTEX_INITIALIZER; +static pthread_cond_t xpbproxy_dpy_rdy_cond = PTHREAD_COND_INITIALIZER; + +/* Timestamp when the X server last told us it's active */ +static Time last_activation_time; + +static void x_event_apple_wm_notify(XAppleWMNotifyEvent *e) { + int type = e->type - xpbproxy_apple_wm_event_base; + int kind = e->kind; + + /* We want to reload prefs even if we're not active */ + if(type == AppleWMActivationNotify && + kind == AppleWMReloadPreferences) + [xpbproxy_selection_object() reload_preferences]; + + if(![xpbproxy_selection_object() is_active]) + return; + + switch (type) { + case AppleWMActivationNotify: + switch (kind) { + case AppleWMIsActive: + last_activation_time = e->time; + [xpbproxy_selection_object() x_active:e->time]; + break; + + case AppleWMIsInactive: + [xpbproxy_selection_object() x_inactive:e->time]; + break; + } + break; + + case AppleWMPasteboardNotify: + switch (kind) { + case AppleWMCopyToPasteboard: + [xpbproxy_selection_object() x_copy:e->time]; + } + break; + } +} + +void xpbproxy_input_loop() { + pthread_mutex_lock(&xpbproxy_dpy_rdy_lock); + while(true) { + NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; + + if(pool == nil) { + fprintf(stderr, "unable to allocate/init auto release pool!\n"); + break; + } + + while (XPending(xpbproxy_dpy) != 0) { + XEvent e; + + pthread_mutex_unlock(&xpbproxy_dpy_rdy_lock); + XNextEvent (xpbproxy_dpy, &e); + + switch (e.type) { + case SelectionClear: + if([xpbproxy_selection_object() is_active]) + [xpbproxy_selection_object () clear_event:&e.xselectionclear]; + break; + + case SelectionRequest: + [xpbproxy_selection_object () request_event:&e.xselectionrequest]; + break; + + case SelectionNotify: + [xpbproxy_selection_object () notify_event:&e.xselection]; + break; + + case PropertyNotify: + [xpbproxy_selection_object () property_event:&e.xproperty]; + break; + + default: + if(e.type >= xpbproxy_apple_wm_event_base && + e.type < xpbproxy_apple_wm_event_base + AppleWMNumberEvents) { + x_event_apple_wm_notify((XAppleWMNotifyEvent *) &e); + } else if(e.type == xpbproxy_xfixes_event_base + XFixesSelectionNotify) { + [xpbproxy_selection_object() xfixes_selection_notify:(XFixesSelectionNotifyEvent *)&e]; + } + break; + } + + XFlush(xpbproxy_dpy); + pthread_mutex_lock(&xpbproxy_dpy_rdy_lock); + } + + [pool release]; + + pthread_cond_wait(&xpbproxy_dpy_rdy_cond, &xpbproxy_dpy_rdy_lock); + } +} + +static BOOL add_input_socket (int sock, CFOptionFlags callback_types, + CFSocketCallBack callback, const CFSocketContext *ctx, + CFRunLoopSourceRef *cf_source) { + CFSocketRef cf_sock; + + cf_sock = CFSocketCreateWithNative (kCFAllocatorDefault, sock, + callback_types, callback, ctx); + if (cf_sock == NULL) { + close (sock); + return FALSE; + } + + *cf_source = CFSocketCreateRunLoopSource (kCFAllocatorDefault, + cf_sock, 0); + CFRelease (cf_sock); + + if (*cf_source == NULL) + return FALSE; + + CFRunLoopAddSource (CFRunLoopGetMain (), + *cf_source, kCFRunLoopDefaultMode); + return TRUE; +} + +static void x_input_callback (CFSocketRef sock, CFSocketCallBackType type, + CFDataRef address, const void *data, void *info) { + +#ifdef STANDALONE_XPBPROXY + if(xpbproxy_prefs_reload) { + [xpbproxy_selection_object() reload_preferences]; + xpbproxy_prefs_reload = NO; + } +#endif + + pthread_mutex_lock(&xpbproxy_dpy_rdy_lock); + pthread_cond_broadcast(&xpbproxy_dpy_rdy_cond); + pthread_mutex_unlock(&xpbproxy_dpy_rdy_lock); +} + +BOOL xpbproxy_input_register(void) { + return add_input_socket(ConnectionNumber(xpbproxy_dpy), kCFSocketReadCallBack, + x_input_callback, NULL, &xpbproxy_dpy_source); +} diff --git a/xorg-server/hw/xquartz/pbproxy/x-selection.h b/xorg-server/hw/xquartz/pbproxy/x-selection.h new file mode 100644 index 000000000..d5bfcb5e7 --- /dev/null +++ b/xorg-server/hw/xquartz/pbproxy/x-selection.h @@ -0,0 +1,116 @@ +/* x-selection.h -- proxies between NSPasteboard and X11 selections + + Copyright (c) 2002, 2008 Apple Computer, 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. +*/ + +#ifndef X_SELECTION_H +#define X_SELECTION_H 1 + +#include "pbproxy.h" + +#include + +#include + +/* This stores image data or text. */ +struct propdata { + unsigned char *data; + size_t length; +}; + +struct atom_list { + Atom primary, clipboard, text, utf8_string, string, targets, multiple, + cstring, image_png, image_jpeg, incr, atom, clipboard_manager, + compound_text, atom_pair; +}; + + +@interface x_selection : NSObject +{ +@private + + /* The unmapped window we use for fetching selections. */ + Window _selection_window; + + /* Last time we declared anything on the pasteboard. */ + int _my_last_change; + + /* Name of the selection we're proxying onto the pasteboard. */ + Atom _proxied_selection; + + /* When true, we're expecting a SelectionNotify event. */ + unsigned int _pending_notify :1; + + Atom request_atom; + + struct { + struct propdata propdata; + Window requestor; + Atom selection; + } pending; + + /* + * This is the number of times the user has requested a copy. + * Once the copy is completed, we --pending_copy, and if the + * pending_copy is > 0 we do it again. + */ + int pending_copy; + /* + * This is used for the same purpose as pending_copy, but for the + * CLIPBOARD. It also prevents a race with INCR transfers. + */ + int pending_clipboard; + + struct atom_list atoms[1]; +} + +- (void) x_active:(Time)timestamp; +- (void) x_inactive:(Time)timestamp; + +- (void) x_copy:(Time)timestamp; + +- (void) clear_event:(XSelectionClearEvent *)e; +- (void) request_event:(XSelectionRequestEvent *)e; +- (void) notify_event:(XSelectionEvent *)e; +- (void) property_event:(XPropertyEvent *)e; +- (void) xfixes_selection_notify:(XFixesSelectionNotifyEvent *)e; +- (void) handle_selection:(Atom)selection type:(Atom)type propdata:(struct propdata *)pdata; +- (void) claim_clipboard; +- (BOOL) set_clipboard_manager_status:(BOOL)value; +- (void) own_clipboard; +- (void) copy_completed:(Atom)selection; + +- (void) reload_preferences; +- (BOOL) is_active; +- (void) send_none:(XSelectionRequestEvent *)e; +@end + +/* main.m */ +extern x_selection *_selection_object; + +#endif /* X_SELECTION_H */ diff --git a/xorg-server/hw/xquartz/pbproxy/x-selection.m b/xorg-server/hw/xquartz/pbproxy/x-selection.m new file mode 100644 index 000000000..cd540be98 --- /dev/null +++ b/xorg-server/hw/xquartz/pbproxy/x-selection.m @@ -0,0 +1,1545 @@ +/* x-selection.m -- proxies between NSPasteboard and X11 selections + + Copyright (c) 2002, 2008 Apple Computer, 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. +*/ + +#import "x-selection.h" + +#include +#include +#include +#include +#import +#import +#import + +/* + * The basic design of the pbproxy code is as follows. + * + * When a client selects text, say from an xterm - we only copy it when the + * X11 Edit->Copy menu item is pressed or the shortcut activated. In this + * case we take the PRIMARY selection, and set it as the NSPasteboard data. + * + * When an X11 client copies something to the CLIPBOARD, pbproxy greedily grabs + * the data, sets it as the NSPasteboard data, and finally sets itself as + * owner of the CLIPBOARD. + * + * When an X11 window is activated we check to see if the NSPasteboard has + * changed. If the NSPasteboard has changed, then we set pbproxy as owner + * of the PRIMARY and CLIPBOARD and respond to requests for text and images. + * + * The behavior is now dynamic since the information above was written. + * The behavior is now dependent on the pbproxy_prefs below. + */ + +/* + * TODO: + * 1. handle MULTIPLE - I need to study the ICCCM further, and find a test app. + * 2. Handle NSPasteboard updates immediately, not on active/inactive + * - Open xterm, run 'cat readme.txt | pbcopy' + */ + +static struct { + BOOL active ; + BOOL primary_on_grab; /* This is provided as an option for people who + * want it and has issues that won't ever be + * addressed to make it *always* work. + */ + BOOL clipboard_to_pasteboard; + BOOL pasteboard_to_primary; + BOOL pasteboard_to_clipboard; +} pbproxy_prefs = { YES, NO, YES, YES, YES }; + +@implementation x_selection + +static struct propdata null_propdata = {NULL, 0}; + +#ifdef DEBUG +static void +dump_prefs (FILE *fp) { + fprintf(fp, + "pbproxy preferences:\n" + "\tactive %u\n" + "\tprimary_on_grab %u\n" + "\tclipboard_to_pasteboard %u\n" + "\tpasteboard_to_primary %u\n" + "\tpasteboard_to_clipboard %u\n", + pbproxy_prefs.active, + pbproxy_prefs.primary_on_grab, + pbproxy_prefs.clipboard_to_pasteboard, + pbproxy_prefs.pasteboard_to_primary, + pbproxy_prefs.pasteboard_to_clipboard); +} +#endif + +extern CFStringRef app_prefs_domain_cfstr; + +static BOOL +prefs_get_bool (CFStringRef key, BOOL defaultValue) { + Boolean value, ok; + + value = CFPreferencesGetAppBooleanValue (key, app_prefs_domain_cfstr, &ok); + + return ok ? (BOOL) value : defaultValue; +} + +static void +init_propdata (struct propdata *pdata) +{ + *pdata = null_propdata; +} + +static void +free_propdata (struct propdata *pdata) +{ + free (pdata->data); + *pdata = null_propdata; +} + +/* + * Return True if an error occurs. Return False if pdata has data + * and we finished. + * The property is only deleted when bytesleft is 0 if delete is True. + */ +static Bool +get_property(Window win, Atom property, struct propdata *pdata, Bool delete, Atom *type) +{ + long offset = 0; + unsigned long numitems, bytesleft = 0; +#ifdef TEST + /* This is used to test the growth handling. */ + unsigned long length = 4UL; +#else + unsigned long length = (100000UL + 3) / 4; +#endif + unsigned char *buf = NULL, *chunk = NULL; + size_t buflen = 0, chunkbytesize = 0; + int format; + + TRACE (); + + if(None == property) + return True; + + do + { + unsigned long newbuflen = 0; + unsigned char *newbuf = NULL; + +#ifdef TEST + printf("bytesleft %lu\n", bytesleft); +#endif + + if (Success != XGetWindowProperty (xpbproxy_dpy, win, property, + offset, length, delete, + AnyPropertyType, + type, &format, &numitems, + &bytesleft, &chunk)) + { + DB ("Error while getting window property.\n"); + *pdata = null_propdata; + free (buf); + return True; + } + +#ifdef TEST + printf("format %d numitems %lu bytesleft %lu\n", + format, numitems, bytesleft); + + printf("type %s\n", XGetAtomName (xpbproxy_dpy, *type)); +#endif + + /* Format is the number of bits. */ + chunkbytesize = numitems * (format / 8); + +#ifdef TEST + printf("chunkbytesize %zu\n", chunkbytesize); +#endif + newbuflen = buflen + chunkbytesize; + if (newbuflen > 0) + { + newbuf = realloc (buf, newbuflen); + + if (NULL == newbuf) + { + XFree (chunk); + free (buf); + return True; + } + + memcpy (newbuf + buflen, chunk, chunkbytesize); + XFree (chunk); + buf = newbuf; + buflen = newbuflen; + /* offset is a multiple of 32 bits*/ + offset += chunkbytesize / 4; + } + else + { + if (chunk) + XFree (chunk); + } + +#ifdef TEST + printf("bytesleft %lu\n", bytesleft); +#endif + } while (bytesleft > 0); + + pdata->data = buf; + pdata->length = buflen; + + return /*success*/ False; +} + + +/* Implementation methods */ + +/* This finds the preferred type from a TARGETS list.*/ +- (Atom) find_preferred:(struct propdata *)pdata +{ + Atom a = None; + size_t i; + Bool png = False, jpeg = False, utf8 = False, string = False; + + TRACE (); + + if (pdata->length % sizeof (a)) + { + fprintf(stderr, "Atom list is not a multiple of the size of an atom!\n"); + return None; + } + + for (i = 0; i < pdata->length; i += sizeof (a)) + { + a = None; + memcpy (&a, pdata->data + i, sizeof (a)); + + if (a == atoms->image_png) + { + png = True; + } + else if (a == atoms->image_jpeg) + { + jpeg = True; + } + else if (a == atoms->utf8_string) + { + utf8 = True; + } + else if (a == atoms->string) + { + string = True; + } + else + { + char *type = XGetAtomName(xpbproxy_dpy, a); + if (type) + { + DB("Unhandled X11 mime type: %s", type); + XFree(type); + } + } + } + + /*We prefer PNG over strings, and UTF8 over a Latin-1 string.*/ + if (png) + return atoms->image_png; + + if (jpeg) + return atoms->image_jpeg; + + if (utf8) + return atoms->utf8_string; + + if (string) + return atoms->string; + + /* This is evidently something we don't know how to handle.*/ + return None; +} + +/* Return True if this is an INCR-style transfer. */ +- (Bool) is_incr_type:(XSelectionEvent *)e +{ + Atom seltype; + int format; + unsigned long numitems = 0UL, bytesleft = 0UL; + unsigned char *chunk; + + TRACE (); + + if (Success != XGetWindowProperty (xpbproxy_dpy, e->requestor, e->property, + /*offset*/ 0L, /*length*/ 4UL, + /*Delete*/ False, + AnyPropertyType, &seltype, &format, + &numitems, &bytesleft, &chunk)) + { + return False; + } + + if(chunk) + XFree(chunk); + + return (seltype == atoms->incr) ? True : False; +} + +/* + * This should be called after a selection has been copied, + * or when the selection is unfinished before a transfer completes. + */ +- (void) release_pending +{ + TRACE (); + + free_propdata (&pending.propdata); + pending.requestor = None; + pending.selection = None; +} + +/* Return True if an error occurs during an append.*/ +/* Return False if the append succeeds. */ +- (Bool) append_to_pending:(struct propdata *)pdata requestor:(Window)requestor +{ + unsigned char *newdata; + size_t newlength; + + TRACE (); + + if (requestor != pending.requestor) + { + [self release_pending]; + pending.requestor = requestor; + } + + newlength = pending.propdata.length + pdata->length; + newdata = realloc(pending.propdata.data, newlength); + + if(NULL == newdata) + { + perror("realloc propdata"); + [self release_pending]; + return True; + } + + memcpy(newdata + pending.propdata.length, pdata->data, pdata->length); + pending.propdata.data = newdata; + pending.propdata.length = newlength; + + return False; +} + + + +/* Called when X11 becomes active (i.e. has key focus) */ +- (void) x_active:(Time)timestamp +{ + static NSInteger changeCount; + NSInteger countNow; + NSPasteboard *pb; + + TRACE (); + + pb = [NSPasteboard generalPasteboard]; + + if (nil == pb) + return; + + countNow = [pb changeCount]; + + if (countNow != changeCount) + { + DB ("changed pasteboard!\n"); + changeCount = countNow; + + if (pbproxy_prefs.pasteboard_to_primary) + { + XSetSelectionOwner (xpbproxy_dpy, atoms->primary, _selection_window, CurrentTime); + } + + if (pbproxy_prefs.pasteboard_to_clipboard) { + [self own_clipboard]; + } + } + +#if 0 + /*gstaplin: we should perhaps investigate something like this branch above...*/ + if ([_pasteboard availableTypeFromArray: _known_types] != nil) + { + /* Pasteboard has data we should proxy; I think it makes + sense to put it on both CLIPBOARD and PRIMARY */ + + XSetSelectionOwner (xpbproxy_dpy, atoms->clipboard, + _selection_window, timestamp); + XSetSelectionOwner (xpbproxy_dpy, atoms->primary, + _selection_window, timestamp); + } +#endif +} + +/* Called when X11 loses key focus */ +- (void) x_inactive:(Time)timestamp +{ + TRACE (); +} + +/* This requests the TARGETS list from the PRIMARY selection owner. */ +- (void) x_copy_request_targets +{ + TRACE (); + + request_atom = atoms->targets; + XConvertSelection (xpbproxy_dpy, atoms->primary, atoms->targets, + atoms->primary, _selection_window, CurrentTime); +} + +/* Called when the Edit/Copy item on the main X11 menubar is selected + * and no appkit window claims it. */ +- (void) x_copy:(Time)timestamp +{ + Window w; + + TRACE (); + + w = XGetSelectionOwner (xpbproxy_dpy, atoms->primary); + + if (None != w) + { + ++pending_copy; + + if (1 == pending_copy) { + /* + * There are no other copy operations in progress, so we + * can proceed safely. Otherwise the copy_completed method + * will see that the pending_copy is > 1, and do another copy. + */ + [self x_copy_request_targets]; + } + } + else + { + XBell (xpbproxy_dpy, 0); + } +} + +/* Set pbproxy as owner of the SELECTION_MANAGER selection. + * This prevents tools like xclipboard from causing havoc. + * Returns TRUE on success + */ +- (BOOL) set_clipboard_manager_status:(BOOL)value +{ + TRACE (); + + Window owner = XGetSelectionOwner (xpbproxy_dpy, atoms->clipboard_manager); + + if(value) { + if(owner == _selection_window) + return TRUE; + + if(owner != None) { + fprintf (stderr, "A clipboard manager using window 0x%lx " + "already owns the clipboard selection. " + "pbproxy will not sync clipboard to pasteboard.\n", owner); + return FALSE; + } + + XSetSelectionOwner(xpbproxy_dpy, atoms->clipboard_manager, _selection_window, CurrentTime); + return (_selection_window == XGetSelectionOwner(xpbproxy_dpy, atoms->clipboard_manager)); + } else { + if(owner != _selection_window) + return TRUE; + + XSetSelectionOwner(xpbproxy_dpy, atoms->clipboard_manager, None, CurrentTime); + return(None == XGetSelectionOwner(xpbproxy_dpy, atoms->clipboard_manager)); + } + + return FALSE; +} + +/* + * This occurs when we previously owned a selection, + * and then lost it from another client. + */ +- (void) clear_event:(XSelectionClearEvent *)e +{ + + + TRACE (); + + DB ("e->selection %s\n", XGetAtomName (xpbproxy_dpy, e->selection)); + + if(e->selection == atoms->clipboard) { + /* + * We lost ownership of the CLIPBOARD. + */ + ++pending_clipboard; + + if (1 == pending_clipboard) { + /* Claim the clipboard contents from the new owner. */ + [self claim_clipboard]; + } + } else if(e->selection == atoms->clipboard_manager) { + if(pbproxy_prefs.clipboard_to_pasteboard) { + /* Another CLIPBOARD_MANAGER has set itself as owner. Disable syncing + * to avoid a race. + */ + fprintf(stderr, "Another clipboard manager was started! " + "xpbproxy is disabling syncing with clipboard.\n"); + pbproxy_prefs.clipboard_to_pasteboard = NO; + } + } +} + +/* + * We greedily acquire the clipboard after it changes, and on startup. + */ +- (void) claim_clipboard +{ + Window owner; + + TRACE (); + + if (!pbproxy_prefs.clipboard_to_pasteboard) + return; + + owner = XGetSelectionOwner (xpbproxy_dpy, atoms->clipboard); + if (None == owner) { + /* + * The owner probably died or we are just starting up pbproxy. + * Set pbproxy's _selection_window as the owner, and continue. + */ + DB ("No clipboard owner.\n"); + [self copy_completed:atoms->clipboard]; + return; + } else if (owner == _selection_window) { + [self copy_completed:atoms->clipboard]; + return; + } + + DB ("requesting targets\n"); + + request_atom = atoms->targets; + XConvertSelection (xpbproxy_dpy, atoms->clipboard, atoms->targets, + atoms->clipboard, _selection_window, CurrentTime); + XFlush (xpbproxy_dpy); + /* Now we will get a SelectionNotify event in the future. */ +} + +/* Greedily acquire the clipboard. */ +- (void) own_clipboard +{ + + TRACE (); + + /* We should perhaps have a boundary limit on the number of iterations... */ + do + { + XSetSelectionOwner (xpbproxy_dpy, atoms->clipboard, _selection_window, + CurrentTime); + } while (_selection_window != XGetSelectionOwner (xpbproxy_dpy, + atoms->clipboard)); +} + +- (void) init_reply:(XEvent *)reply request:(XSelectionRequestEvent *)e +{ + reply->xselection.type = SelectionNotify; + reply->xselection.selection = e->selection; + reply->xselection.target = e->target; + reply->xselection.requestor = e->requestor; + reply->xselection.time = e->time; + reply->xselection.property = None; +} + +- (void) send_reply:(XEvent *)reply +{ + /* + * We are supposed to use an empty event mask, and not propagate + * the event, according to the ICCCM. + */ + DB ("reply->xselection.requestor 0x%lx\n", reply->xselection.requestor); + + XSendEvent (xpbproxy_dpy, reply->xselection.requestor, False, 0, reply); + XFlush (xpbproxy_dpy); +} + +/* + * This responds to a TARGETS request. + * The result is a list of a ATOMs that correspond to the types available + * for a selection. + * For instance an application might provide a UTF8_STRING and a STRING + * (in Latin-1 encoding). The requestor can then make the choice based on + * the list. + */ +- (void) send_targets:(XSelectionRequestEvent *)e pasteboard:(NSPasteboard *)pb +{ + XEvent reply; + NSArray *pbtypes; + + [self init_reply:&reply request:e]; + + pbtypes = [pb types]; + if (pbtypes) + { + long list[7]; /* Don't forget to increase this if we handle more types! */ + long count = 0; + + /* + * I'm not sure if this is needed, but some toolkits/clients list + * TARGETS in response to targets. + */ + list[count] = atoms->targets; + ++count; + + if ([pbtypes containsObject:NSStringPboardType]) + { + /* We have a string type that we can convert to UTF8, or Latin-1... */ + DB ("NSStringPboardType\n"); + list[count] = atoms->utf8_string; + ++count; + list[count] = atoms->string; + ++count; + list[count] = atoms->compound_text; + ++count; + } + + /* TODO add the NSPICTPboardType back again, once we have conversion + * functionality in send_image. + */ + + if ([pbtypes containsObject:NSPICTPboardType] + || [pbtypes containsObject:NSTIFFPboardType]) + { + /* We can convert a TIFF to a PNG or JPEG. */ + DB ("NSTIFFPboardType\n"); + list[count] = atoms->image_png; + ++count; + list[count] = atoms->image_jpeg; + ++count; + } + + if (count) + { + /* We have a list of ATOMs to send. */ + XChangeProperty (xpbproxy_dpy, e->requestor, e->property, atoms->atom, 32, + PropModeReplace, (unsigned char *) list, count); + + reply.xselection.property = e->property; + } + } + + [self send_reply:&reply]; +} + + +- (void) send_string:(XSelectionRequestEvent *)e utf8:(BOOL)utf8 pasteboard:(NSPasteboard *)pb +{ + XEvent reply; + NSArray *pbtypes; + NSString *data; + const char *bytes; + NSUInteger length; + + TRACE (); + + [self init_reply:&reply request:e]; + + pbtypes = [pb types]; + + if (![pbtypes containsObject:NSStringPboardType]) + { + [self send_reply:&reply]; + return; + } + + DB ("pbtypes retainCount after containsObject: %u\n", [pbtypes retainCount]); + + data = [pb stringForType:NSStringPboardType]; + + if (nil == data) + { + [self send_reply:&reply]; + return; + } + + if (utf8) + { + bytes = [data UTF8String]; + /* + * We don't want the UTF-8 string length here. + * We want the length in bytes. + */ + length = strlen (bytes); + + if (length < 50) { + DB ("UTF-8: %s\n", bytes); + DB ("UTF-8 length: %u\n", length); + } + } + else + { + DB ("Latin-1\n"); + bytes = [data cStringUsingEncoding:NSISOLatin1StringEncoding]; + /*WARNING: bytes is not NUL-terminated. */ + length = [data lengthOfBytesUsingEncoding:NSISOLatin1StringEncoding]; + } + + DB ("e->target %s\n", XGetAtomName (xpbproxy_dpy, e->target)); + + XChangeProperty (xpbproxy_dpy, e->requestor, e->property, e->target, + 8, PropModeReplace, (unsigned char *) bytes, length); + + reply.xselection.property = e->property; + + [self send_reply:&reply]; +} + +- (void) send_compound_text:(XSelectionRequestEvent *)e pasteboard:(NSPasteboard *)pb +{ + XEvent reply; + NSArray *pbtypes; + + TRACE (); + + [self init_reply:&reply request:e]; + + pbtypes = [pb types]; + + if ([pbtypes containsObject: NSStringPboardType]) + { + NSString *data = [pb stringForType:NSStringPboardType]; + if (nil != data) + { + /* + * Cast to (void *) to avoid a const warning. + * AFAIK Xutf8TextListToTextProperty does not modify the input memory. + */ + void *utf8 = (void *)[data UTF8String]; + char *list[] = { utf8, NULL }; + XTextProperty textprop; + + textprop.value = NULL; + + if (Success == Xutf8TextListToTextProperty (xpbproxy_dpy, list, 1, + XCompoundTextStyle, + &textprop)) + { + + if (8 != textprop.format) + DB ("textprop.format is unexpectedly not 8 - it's %d instead\n", + textprop.format); + + XChangeProperty (xpbproxy_dpy, e->requestor, e->property, + atoms->compound_text, textprop.format, + PropModeReplace, textprop.value, + textprop.nitems); + + reply.xselection.property = e->property; + } + + if (textprop.value) + XFree (textprop.value); + + } + } + + [self send_reply:&reply]; +} + +/* Finding a test application that uses MULTIPLE has proven to be difficult. */ +- (void) send_multiple:(XSelectionRequestEvent *)e +{ + XEvent reply; + + TRACE (); + + [self init_reply:&reply request:e]; + + if (None != e->property) + { + + } + + [self send_reply:&reply]; +} + +/* Return nil if an error occured. */ +/* DO NOT retain the encdata for longer than the length of an event response. + * The autorelease pool will reuse/free it. + */ +- (NSData *) encode_image_data:(NSData *)data type:(NSBitmapImageFileType)enctype +{ + NSBitmapImageRep *bmimage = nil; + NSData *encdata = nil; + NSDictionary *dict = nil; + + bmimage = [[NSBitmapImageRep alloc] initWithData:data]; + + if (nil == bmimage) + return nil; + + dict = [[NSDictionary alloc] init]; + encdata = [bmimage representationUsingType:enctype properties:dict]; + + if (nil == encdata) + { + [dict autorelease]; + [bmimage autorelease]; + return nil; + } + + [dict autorelease]; + [bmimage autorelease]; + + return encdata; +} + +/* Return YES when an error has occured when trying to send the PICT. */ +/* The caller should send a default reponse with a property of None when an error occurs. */ +- (BOOL) send_image_pict_reply:(XSelectionRequestEvent *)e + pasteboard:(NSPasteboard *)pb + type:(NSBitmapImageFileType)imagetype +{ + XEvent reply; + NSImage *img = nil; + NSData *data = nil, *encdata = nil; + NSUInteger length; + const void *bytes = NULL; + + img = [[NSImage alloc] initWithPasteboard:pb]; + + if (nil == img) + { + return YES; + } + + data = [img TIFFRepresentation]; + + if (nil == data) + { + [img autorelease]; + fprintf(stderr, "unable to convert PICT to TIFF!\n"); + return YES; + } + + encdata = [self encode_image_data:data type:imagetype]; + if(nil == encdata) + { + [img autorelease]; + return YES; + } + + [self init_reply:&reply request:e]; + + length = [encdata length]; + bytes = [encdata bytes]; + + XChangeProperty (xpbproxy_dpy, e->requestor, e->property, e->target, + 8, PropModeReplace, bytes, length); + reply.xselection.property = e->property; + + [self send_reply:&reply]; + + [img autorelease]; + + return NO; /*no error*/ +} + +/* Return YES if an error occured. */ +/* The caller should send a reply with a property of None when an error occurs. */ +- (BOOL) send_image_tiff_reply:(XSelectionRequestEvent *)e + pasteboard:(NSPasteboard *)pb + type:(NSBitmapImageFileType)imagetype +{ + XEvent reply; + NSData *data = nil; + NSData *encdata = nil; + NSUInteger length; + const void *bytes = NULL; + + data = [pb dataForType:NSTIFFPboardType]; + + if (nil == data) + return YES; + + encdata = [self encode_image_data:data type:imagetype]; + + if(nil == encdata) + return YES; + + [self init_reply:&reply request:e]; + + length = [encdata length]; + bytes = [encdata bytes]; + + XChangeProperty (xpbproxy_dpy, e->requestor, e->property, e->target, + 8, PropModeReplace, bytes, length); + reply.xselection.property = e->property; + + [self send_reply:&reply]; + + return NO; /*no error*/ +} + +- (void) send_image:(XSelectionRequestEvent *)e pasteboard:(NSPasteboard *)pb +{ + NSArray *pbtypes = nil; + NSBitmapImageFileType imagetype = NSPNGFileType; + + TRACE (); + + if (e->target == atoms->image_png) + imagetype = NSPNGFileType; + else if (e->target == atoms->image_jpeg) + imagetype = NSJPEGFileType; + else + { + fprintf(stderr, "internal failure in xpbproxy! imagetype being sent isn't PNG or JPEG.\n"); + } + + pbtypes = [pb types]; + + if (pbtypes) + { + if ([pbtypes containsObject:NSTIFFPboardType]) + { + if (NO == [self send_image_tiff_reply:e pasteboard:pb type:imagetype]) + return; + } + else if ([pbtypes containsObject:NSPICTPboardType]) + { + if (NO == [self send_image_pict_reply:e pasteboard:pb type:imagetype]) + return; + + /* Fall through intentionally to the send_none: */ + } + } + + [self send_none:e]; +} + +- (void)send_none:(XSelectionRequestEvent *)e +{ + XEvent reply; + + TRACE (); + + [self init_reply:&reply request:e]; + [self send_reply:&reply]; +} + + +/* Another client requested the data or targets of data available from the clipboard. */ +- (void)request_event:(XSelectionRequestEvent *)e +{ + NSPasteboard *pb; + + TRACE (); + + /* TODO We should also keep track of the time of the selection, and + * according to the ICCCM "refuse the request" if the event timestamp + * is before we owned it. + * What should we base the time on? How can we get the current time just + * before an XSetSelectionOwner? Is it the server's time, or the clients? + * According to the XSelectionRequestEvent manual page, the Time value + * may be set to CurrentTime or a time, so that makes it a bit different. + * Perhaps we should just punt and ignore races. + */ + + /*TODO we need a COMPOUND_TEXT test app*/ + /*TODO we need a MULTIPLE test app*/ + + pb = [NSPasteboard generalPasteboard]; + if (nil == pb) + { + [self send_none:e]; + return; + } + + + if (None != e->target) + DB ("e->target %s\n", XGetAtomName (xpbproxy_dpy, e->target)); + + if (e->target == atoms->targets) + { + /* The paste requestor wants to know what TARGETS we support. */ + [self send_targets:e pasteboard:pb]; + } + else if (e->target == atoms->multiple) + { + /* + * This isn't finished, and may never be, unless I can find + * a good test app. + */ + [self send_multiple:e]; + } + else if (e->target == atoms->utf8_string) + { + [self send_string:e utf8:YES pasteboard:pb]; + } + else if (e->target == atoms->string) + { + [self send_string:e utf8:NO pasteboard:pb]; + } + else if (e->target == atoms->compound_text) + { + [self send_compound_text:e pasteboard:pb]; + } + else if (e->target == atoms->multiple) + { + [self send_multiple:e]; + } + else if (e->target == atoms->image_png || e->target == atoms->image_jpeg) + { + [self send_image:e pasteboard:pb]; + } + else + { + [self send_none:e]; + } +} + +/* This handles the events resulting from an XConvertSelection request. */ +- (void) notify_event:(XSelectionEvent *)e +{ + Atom type; + struct propdata pdata; + + TRACE (); + + [self release_pending]; + + if (None == e->property) { + DB ("e->property is None.\n"); + [self copy_completed:e->selection]; + /* Nothing is selected. */ + return; + } + +#if 0 + printf ("e->selection %s\n", XGetAtomName (xpbproxy_dpy, e->selection)); + printf ("e->property %s\n", XGetAtomName (xpbproxy_dpy, e->property)); +#endif + + if ([self is_incr_type:e]) + { + /* + * This is an INCR-style transfer, which means that we + * will get the data after a series of PropertyNotify events. + */ + DB ("is INCR\n"); + + if (get_property (e->requestor, e->property, &pdata, /*Delete*/ True, &type)) + { + /* + * An error occured, so we should invoke the copy_completed:, but + * not handle_selection:type:propdata: + */ + [self copy_completed:e->selection]; + return; + } + + free_propdata (&pdata); + + pending.requestor = e->requestor; + pending.selection = e->selection; + + DB ("set pending.requestor to 0x%lx\n", pending.requestor); + } + else + { + if (get_property (e->requestor, e->property, &pdata, /*Delete*/ True, &type)) + { + [self copy_completed:e->selection]; + return; + } + + /* We have the complete selection data.*/ + [self handle_selection:e->selection type:type propdata:&pdata]; + + DB ("handled selection with the first notify_event\n"); + } +} + +/* This is used for INCR transfers. See the ICCCM for the details. */ +/* This is used to retrieve PRIMARY and CLIPBOARD selections. */ +- (void) property_event:(XPropertyEvent *)e +{ + struct propdata pdata; + Atom type; + + TRACE (); + + if (None != e->atom) + { +#ifdef DEBUG + char *name = XGetAtomName (xpbproxy_dpy, e->atom); + + if (name) + { + DB ("e->atom %s\n", name); + XFree(name); + } +#endif + } + + if (None != pending.requestor && PropertyNewValue == e->state) + { + DB ("pending.requestor 0x%lx\n", pending.requestor); + + if (get_property (e->window, e->atom, &pdata, /*Delete*/ True, &type)) + { + [self copy_completed:pending.selection]; + [self release_pending]; + return; + } + + if (0 == pdata.length) + { + /* + * We completed the transfer. + * handle_selection will call copy_completed: for us. + */ + [self handle_selection:pending.selection type:type propdata:&pending.propdata]; + free_propdata(&pdata); + pending.propdata = null_propdata; + pending.requestor = None; + pending.selection = None; + } + else + { + [self append_to_pending:&pdata requestor:e->window]; + free_propdata (&pdata); + } + } +} + +- (void) xfixes_selection_notify:(XFixesSelectionNotifyEvent *)e { + if(!pbproxy_prefs.active) + return; + + switch(e->subtype) { + case XFixesSetSelectionOwnerNotify: + if(e->selection == atoms->primary && pbproxy_prefs.primary_on_grab) + [self x_copy:e->timestamp]; + break; + + case XFixesSelectionWindowDestroyNotify: + case XFixesSelectionClientCloseNotify: + default: + fprintf(stderr, "Unhandled XFixesSelectionNotifyEvent: subtype=%d\n", e->subtype); + break; + } +} + +- (void) handle_targets: (Atom)selection propdata:(struct propdata *)pdata +{ + /* Find a type we can handle and prefer from the list of ATOMs. */ + Atom preferred; + char *name; + + TRACE (); + + preferred = [self find_preferred:pdata]; + + if (None == preferred) + { + /* + * This isn't required by the ICCCM, but some apps apparently + * don't respond to TARGETS properly. + */ + preferred = atoms->string; + } + + (void)name; /* Avoid a warning with non-debug compiles. */ +#ifdef DEBUG + name = XGetAtomName (xpbproxy_dpy, preferred); + + if (name) + { + DB ("requesting %s\n", name); + } +#endif + request_atom = preferred; + XConvertSelection (xpbproxy_dpy, selection, preferred, selection, + _selection_window, CurrentTime); +} + +/* This handles the image type of selection (typically in CLIPBOARD). */ +/* We convert to a TIFF, so that other applications can paste more easily. */ +- (void) handle_image: (struct propdata *)pdata pasteboard:(NSPasteboard *)pb +{ + NSArray *pbtypes; + NSUInteger length; + NSData *data, *tiff; + NSBitmapImageRep *bmimage; + + TRACE (); + + length = pdata->length; + data = [[NSData alloc] initWithBytes:pdata->data length:length]; + + if (nil == data) + { + DB ("unable to create NSData object!\n"); + return; + } + + DB ("data retainCount before NSBitmapImageRep initWithData: %u\n", + [data retainCount]); + + bmimage = [[NSBitmapImageRep alloc] initWithData:data]; + + if (nil == bmimage) + { + [data autorelease]; + DB ("unable to create NSBitmapImageRep!\n"); + return; + } + + DB ("data retainCount after NSBitmapImageRep initWithData: %u\n", + [data retainCount]); + + @try + { + tiff = [bmimage TIFFRepresentation]; + } + + @catch (NSException *e) + { + DB ("NSTIFFException!\n"); + [data autorelease]; + [bmimage autorelease]; + return; + } + + DB ("bmimage retainCount after TIFFRepresentation %u\n", [bmimage retainCount]); + + pbtypes = [NSArray arrayWithObjects:NSTIFFPboardType, nil]; + + if (nil == pbtypes) + { + [data autorelease]; + [bmimage autorelease]; + return; + } + + [pb declareTypes:pbtypes owner:nil]; + if (YES != [pb setData:tiff forType:NSTIFFPboardType]) + { + DB ("writing pasteboard data failed!\n"); + } + + [data autorelease]; + + DB ("bmimage retainCount before release %u\n", [bmimage retainCount]); + [bmimage autorelease]; +} + +/* This handles the UTF8_STRING type of selection. */ +- (void) handle_utf8_string:(struct propdata *)pdata pasteboard:(NSPasteboard *)pb +{ + NSString *string; + NSArray *pbtypes; + + TRACE (); + + string = [[NSString alloc] initWithBytes:pdata->data length:pdata->length encoding:NSUTF8StringEncoding]; + + if (nil == string) + return; + + pbtypes = [NSArray arrayWithObjects:NSStringPboardType, nil]; + + if (nil == pbtypes) + { + [string autorelease]; + return; + } + + [pb declareTypes:pbtypes owner:nil]; + + if (YES != [pb setString:string forType:NSStringPboardType]) { + fprintf(stderr, "pasteboard setString:forType: failed!\n"); + } + [string autorelease]; + DB ("done handling utf8 string\n"); +} + +/* This handles the STRING type, which should be in Latin-1. */ +- (void) handle_string: (struct propdata *)pdata pasteboard:(NSPasteboard *)pb +{ + NSString *string; + NSArray *pbtypes; + + TRACE (); + + string = [[NSString alloc] initWithBytes:pdata->data length:pdata->length encoding:NSISOLatin1StringEncoding]; + + if (nil == string) + return; + + pbtypes = [NSArray arrayWithObjects:NSStringPboardType, nil]; + + if (nil == pbtypes) + { + [string autorelease]; + return; + } + + [pb declareTypes:pbtypes owner:nil]; + if (YES != [pb setString:string forType:NSStringPboardType]) { + fprintf(stderr, "pasteboard setString:forType failed in handle_string!\n"); + } + [string autorelease]; +} + +/* This is called when the selection is completely retrieved from another client. */ +/* Warning: this frees the propdata. */ +- (void) handle_selection:(Atom)selection type:(Atom)type propdata:(struct propdata *)pdata +{ + NSPasteboard *pb; + + TRACE (); + + pb = [NSPasteboard generalPasteboard]; + + if (nil == pb) + { + [self copy_completed:selection]; + free_propdata (pdata); + return; + } + + /* + * Some apps it seems set the type to TARGETS instead of ATOM, such as Eterm. + * These aren't ICCCM compliant apps, but we need these to work... + */ + if (request_atom == atoms->targets + && (type == atoms->atom || type == atoms->targets)) + { + [self handle_targets:selection propdata:pdata]; + free_propdata(pdata); + return; + } + else if (type == atoms->image_png) + { + [self handle_image:pdata pasteboard:pb]; + } + else if (type == atoms->image_jpeg) + { + [self handle_image:pdata pasteboard:pb]; + } + else if (type == atoms->utf8_string) + { + [self handle_utf8_string:pdata pasteboard:pb]; + } + else if (type == atoms->string) + { + [self handle_string:pdata pasteboard:pb]; + } + + free_propdata(pdata); + + [self copy_completed:selection]; +} + + +- (void) copy_completed:(Atom)selection +{ + TRACE (); + char *name; + + (void)name; /* Avoid warning with non-debug compiles. */ +#ifdef DEBUG + name = XGetAtomName (xpbproxy_dpy, selection); + if (name) + { + DB ("copy_completed: %s\n", name); + XFree (name); + } +#endif + + if (selection == atoms->primary && pending_copy > 0) + { + --pending_copy; + if (pending_copy > 0) + { + /* Copy PRIMARY again. */ + [self x_copy_request_targets]; + return; + } + } + else if (selection == atoms->clipboard && pending_clipboard > 0) + { + --pending_clipboard; + if (pending_clipboard > 0) + { + /* Copy CLIPBOARD. */ + [self claim_clipboard]; + return; + } + else + { + /* We got the final data. Now set pbproxy as the owner. */ + [self own_clipboard]; + return; + } + } + + /* + * We had 1 or more primary in progress, and the clipboard arrived + * while we were busy. + */ + if (pending_clipboard > 0) + { + [self claim_clipboard]; + } +} + +- (void) reload_preferences +{ + /* + * It's uncertain how we could handle the synchronization failing, so cast to void. + * The prefs_get_bool should fall back to defaults if the org.x.X11 plist doesn't exist or is invalid. + */ + (void)CFPreferencesAppSynchronize(app_prefs_domain_cfstr); +#ifdef STANDALONE_XPBPROXY + if(xpbproxy_is_standalone) + pbproxy_prefs.active = YES; + else +#endif + pbproxy_prefs.active = prefs_get_bool(CFSTR("sync_pasteboard"), pbproxy_prefs.active); + pbproxy_prefs.primary_on_grab = prefs_get_bool(CFSTR("sync_primary_on_select"), pbproxy_prefs.primary_on_grab); + pbproxy_prefs.clipboard_to_pasteboard = prefs_get_bool(CFSTR("sync_clipboard_to_pasteboard"), pbproxy_prefs.clipboard_to_pasteboard); + pbproxy_prefs.pasteboard_to_primary = prefs_get_bool(CFSTR("sync_pasteboard_to_primary"), pbproxy_prefs.pasteboard_to_primary); + pbproxy_prefs.pasteboard_to_clipboard = prefs_get_bool(CFSTR("sync_pasteboard_to_clipboard"), pbproxy_prefs.pasteboard_to_clipboard); + + /* This is used for debugging. */ + //dump_prefs(stdout); + + if(pbproxy_prefs.active && pbproxy_prefs.primary_on_grab && !xpbproxy_have_xfixes) { + fprintf(stderr, "Disabling sync_primary_on_select functionality due to missing XFixes extension.\n"); + pbproxy_prefs.primary_on_grab = NO; + } + + /* Claim or release the CLIPBOARD_MANAGER atom */ + if(![self set_clipboard_manager_status:(pbproxy_prefs.active && pbproxy_prefs.clipboard_to_pasteboard)]) + pbproxy_prefs.clipboard_to_pasteboard = NO; + + if(pbproxy_prefs.active && pbproxy_prefs.clipboard_to_pasteboard) + [self claim_clipboard]; +} + +- (BOOL) is_active +{ + return pbproxy_prefs.active; +} + +/* NSPasteboard-required methods */ + +- (void) paste:(id)sender +{ + TRACE (); +} + +- (void) pasteboard:(NSPasteboard *)pb provideDataForType:(NSString *)type +{ + TRACE (); +} + +- (void) pasteboardChangedOwner:(NSPasteboard *)pb +{ + TRACE (); + + /* Right now we don't care with this. */ +} + +/* Allocation */ + +- init +{ + unsigned long pixel; + + self = [super init]; + if (self == nil) + return nil; + + atoms->primary = XInternAtom (xpbproxy_dpy, "PRIMARY", False); + atoms->clipboard = XInternAtom (xpbproxy_dpy, "CLIPBOARD", False); + atoms->text = XInternAtom (xpbproxy_dpy, "TEXT", False); + atoms->utf8_string = XInternAtom (xpbproxy_dpy, "UTF8_STRING", False); + atoms->string = XInternAtom (xpbproxy_dpy, "STRING", False); + atoms->targets = XInternAtom (xpbproxy_dpy, "TARGETS", False); + atoms->multiple = XInternAtom (xpbproxy_dpy, "MULTIPLE", False); + atoms->cstring = XInternAtom (xpbproxy_dpy, "CSTRING", False); + atoms->image_png = XInternAtom (xpbproxy_dpy, "image/png", False); + atoms->image_jpeg = XInternAtom (xpbproxy_dpy, "image/jpeg", False); + atoms->incr = XInternAtom (xpbproxy_dpy, "INCR", False); + atoms->atom = XInternAtom (xpbproxy_dpy, "ATOM", False); + atoms->clipboard_manager = XInternAtom (xpbproxy_dpy, "CLIPBOARD_MANAGER", False); + atoms->compound_text = XInternAtom (xpbproxy_dpy, "COMPOUND_TEXT", False); + atoms->atom_pair = XInternAtom (xpbproxy_dpy, "ATOM_PAIR", False); + + pixel = BlackPixel (xpbproxy_dpy, DefaultScreen (xpbproxy_dpy)); + _selection_window = XCreateSimpleWindow (xpbproxy_dpy, DefaultRootWindow (xpbproxy_dpy), + 0, 0, 1, 1, 0, pixel, pixel); + + /* This is used to get PropertyNotify events when doing INCR transfers. */ + XSelectInput (xpbproxy_dpy, _selection_window, PropertyChangeMask); + + request_atom = None; + + init_propdata (&pending.propdata); + pending.requestor = None; + pending.selection = None; + + pending_copy = 0; + pending_clipboard = 0; + + if(xpbproxy_have_xfixes) + XFixesSelectSelectionInput(xpbproxy_dpy, _selection_window, atoms->primary, + XFixesSetSelectionOwnerNotifyMask); + + [self reload_preferences]; + + return self; +} + +- (void) dealloc +{ + if (None != _selection_window) + { + XDestroyWindow (xpbproxy_dpy, _selection_window); + _selection_window = None; + } + + free_propdata (&pending.propdata); + + [super dealloc]; +} + +@end diff --git a/xorg-server/hw/xquartz/pseudoramiX.c b/xorg-server/hw/xquartz/pseudoramiX.c index 49d5eb6d4..f4ceff32b 100644 --- a/xorg-server/hw/xquartz/pseudoramiX.c +++ b/xorg-server/hw/xquartz/pseudoramiX.c @@ -37,6 +37,7 @@ Equipment Corporation. #include #endif +#include "darwin.h" #include "pseudoramiX.h" #include "extnsionst.h" #include "dixstruct.h" @@ -45,7 +46,6 @@ Equipment Corporation. #include "globals.h" Bool noPseudoramiXExtension = FALSE; -extern int noPanoramiXExtension; extern int ProcPanoramiXQueryVersion (ClientPtr client); @@ -99,6 +99,8 @@ PseudoramiXAddScreen(int x, int y, int w, int h) sizeof(PseudoramiXScreenRec)); } + DEBUG_LOG("x: %d, y: %d, w: %d, h: %d\n", x, y, w, h); + s = &pseudoramiXScreens[pseudoramiXNumScreens++]; s->x = x; s->y = y; @@ -116,6 +118,8 @@ void PseudoramiXExtensionInit(int argc, char *argv[]) if (noPseudoramiXExtension) return; + TRACE(); + /* Even with only one screen we need to enable PseudoramiX to allow dynamic screen configuration changes. */ #if 0 @@ -126,9 +130,6 @@ void PseudoramiXExtensionInit(int argc, char *argv[]) } #endif - // The server must not run the PanoramiX operations. - noPanoramiXExtension = TRUE; - if (pseudoramiXGeneration != serverGeneration) { extEntry = AddExtension(PANORAMIX_PROTOCOL_NAME, 0, 0, ProcPseudoramiXDispatch, @@ -153,12 +154,16 @@ void PseudoramiXExtensionInit(int argc, char *argv[]) void PseudoramiXResetScreens(void) { + TRACE(); + pseudoramiXNumScreens = 0; } static void PseudoramiXResetProc(ExtensionEntry *extEntry) { + TRACE(); + PseudoramiXResetScreens(); } @@ -166,6 +171,8 @@ static void PseudoramiXResetProc(ExtensionEntry *extEntry) // was PanoramiX static int ProcPseudoramiXQueryVersion(ClientPtr client) { + TRACE(); + return ProcPanoramiXQueryVersion(client); } @@ -178,6 +185,8 @@ static int ProcPseudoramiXGetState(ClientPtr client) xPanoramiXGetStateReply rep; register int n, rc; + TRACE(); + REQUEST_SIZE_MATCH(xPanoramiXGetStateReq); rc = dixLookupWindow(&pWin, stuff->window, client, DixGetAttrAccess); if (rc != Success) @@ -205,6 +214,8 @@ static int ProcPseudoramiXGetScreenCount(ClientPtr client) xPanoramiXGetScreenCountReply rep; register int n, rc; + TRACE(); + REQUEST_SIZE_MATCH(xPanoramiXGetScreenCountReq); rc = dixLookupWindow(&pWin, stuff->window, client, DixGetAttrAccess); if (rc != Success) @@ -232,6 +243,8 @@ static int ProcPseudoramiXGetScreenSize(ClientPtr client) xPanoramiXGetScreenSizeReply rep; register int n, rc; + TRACE(); + REQUEST_SIZE_MATCH(xPanoramiXGetScreenSizeReq); rc = dixLookupWindow(&pWin, stuff->window, client, DixGetAttrAccess); if (rc != Success) @@ -262,6 +275,8 @@ static int ProcPseudoramiXIsActive(ClientPtr client) /* REQUEST(xXineramaIsActiveReq); */ xXineramaIsActiveReply rep; + TRACE(); + REQUEST_SIZE_MATCH(xXineramaIsActiveReq); rep.type = X_Reply; @@ -285,6 +300,8 @@ static int ProcPseudoramiXQueryScreens(ClientPtr client) /* REQUEST(xXineramaQueryScreensReq); */ xXineramaQueryScreensReply rep; + DEBUG_LOG("noPseudoramiXExtension=%d, pseudoramiXNumScreens=%d\n", noPseudoramiXExtension, pseudoramiXNumScreens); + REQUEST_SIZE_MATCH(xXineramaQueryScreensReq); rep.type = X_Reply; @@ -327,6 +344,7 @@ static int ProcPseudoramiXQueryScreens(ClientPtr client) // was PanoramiX static int ProcPseudoramiXDispatch (ClientPtr client) { REQUEST(xReq); + TRACE(); switch (stuff->data) { case X_PanoramiXQueryVersion: @@ -353,6 +371,8 @@ SProcPseudoramiXQueryVersion (ClientPtr client) REQUEST(xPanoramiXQueryVersionReq); register int n; + TRACE(); + swaps(&stuff->length,n); REQUEST_SIZE_MATCH (xPanoramiXQueryVersionReq); return ProcPseudoramiXQueryVersion(client); @@ -364,6 +384,8 @@ SProcPseudoramiXGetState(ClientPtr client) REQUEST(xPanoramiXGetStateReq); register int n; + TRACE(); + swaps (&stuff->length, n); REQUEST_SIZE_MATCH(xPanoramiXGetStateReq); return ProcPseudoramiXGetState(client); @@ -375,6 +397,8 @@ SProcPseudoramiXGetScreenCount(ClientPtr client) REQUEST(xPanoramiXGetScreenCountReq); register int n; + TRACE(); + swaps (&stuff->length, n); REQUEST_SIZE_MATCH(xPanoramiXGetScreenCountReq); return ProcPseudoramiXGetScreenCount(client); @@ -386,6 +410,8 @@ SProcPseudoramiXGetScreenSize(ClientPtr client) REQUEST(xPanoramiXGetScreenSizeReq); register int n; + TRACE(); + swaps (&stuff->length, n); REQUEST_SIZE_MATCH(xPanoramiXGetScreenSizeReq); return ProcPseudoramiXGetScreenSize(client); @@ -398,6 +424,8 @@ SProcPseudoramiXIsActive(ClientPtr client) REQUEST(xXineramaIsActiveReq); register int n; + TRACE(); + swaps (&stuff->length, n); REQUEST_SIZE_MATCH(xXineramaIsActiveReq); return ProcPseudoramiXIsActive(client); @@ -410,6 +438,8 @@ SProcPseudoramiXQueryScreens(ClientPtr client) REQUEST(xXineramaQueryScreensReq); register int n; + TRACE(); + swaps (&stuff->length, n); REQUEST_SIZE_MATCH(xXineramaQueryScreensReq); return ProcPseudoramiXQueryScreens(client); @@ -419,6 +449,9 @@ SProcPseudoramiXQueryScreens(ClientPtr client) static int SProcPseudoramiXDispatch (ClientPtr client) { REQUEST(xReq); + + TRACE(); + switch (stuff->data) { case X_PanoramiXQueryVersion: diff --git a/xorg-server/hw/xquartz/quartz.c b/xorg-server/hw/xquartz/quartz.c index 6f42c538f..1f0b0048b 100644 --- a/xorg-server/hw/xquartz/quartz.c +++ b/xorg-server/hw/xquartz/quartz.c @@ -28,15 +28,17 @@ * use or other dealings in this Software without prior written authorization. */ +#include "sanitizedCarbon.h" + #ifdef HAVE_DIX_CONFIG_H #include #endif #include "quartzCommon.h" +#include "inputstr.h" #include "quartz.h" #include "darwin.h" #include "darwinEvents.h" -#include "quartzAudio.h" #include "pseudoramiX.h" #define _APPLEWM_SERVER_ #include "applewmExt.h" @@ -51,7 +53,7 @@ #include "windowstr.h" #include "colormapst.h" #include "globals.h" -#include "rootlessWindow.h" +#include "mi.h" // System headers #include @@ -59,20 +61,24 @@ #include #include +#include +#include + #define FAKE_RANDR 1 // Shared global variables for Quartz modes int quartzEventWriteFD = -1; -int quartzRootless = -1; int quartzUseSysBeep = 0; int quartzUseAGL = 1; int quartzEnableKeyEquivalents = 1; -int quartzServerVisible = TRUE; +int quartzServerVisible = FALSE; int quartzServerQuitting = FALSE; -DevPrivateKey quartzScreenKey = &quartzScreenKey; +static int quartzScreenKeyIndex; +DevPrivateKey quartzScreenKey = &quartzScreenKeyIndex; int aquaMenuBarHeight = 0; QuartzModeProcsPtr quartzProcs = NULL; const char *quartzOpenGLBundle = NULL; +int quartzFullscreenDisableHotkeys = TRUE; #if defined(RANDR) && !defined(FAKE_RANDR) Bool QuartzRandRGetInfo (ScreenPtr pScreen, Rotation *rotations) { @@ -153,10 +159,6 @@ void QuartzInitOutput( int argc, char **argv ) { - if (serverGeneration == 0) { - QuartzAudioInit(); - } - if (!RegisterBlockAndWakeupHandlers(QuartzBlockHandler, QuartzWakeupHandler, NULL)) @@ -186,9 +188,8 @@ void QuartzInitInput( #ifdef FAKE_RANDR -extern char *ConnectionInfo; -static int padlength[4] = {0, 3, 2, 1}; +static const int padlength[4] = {0, 3, 2, 1}; static void RREditConnectionInfo (ScreenPtr pScreen) @@ -230,33 +231,27 @@ RREditConnectionInfo (ScreenPtr pScreen) } #endif -/* - * QuartzUpdateScreens - * Adjust for screen arrangement changes. - */ -static void QuartzUpdateScreens(void) -{ +static void QuartzUpdateScreens(void) { ScreenPtr pScreen; WindowPtr pRoot; int x, y, width, height, sx, sy; xEvent e; - - DEBUG_LOG("QuartzUpdateScreens()\n"); + if (noPseudoramiXExtension || screenInfo.numScreens != 1) { /* FIXME: if not using Xinerama, we have multiple screens, and - to do this properly may need to add or remove screens. Which - isn't possible. So don't do anything. Another reason why - we default to running with Xinerama. */ - + to do this properly may need to add or remove screens. Which + isn't possible. So don't do anything. Another reason why + we default to running with Xinerama. */ + return; } - + pScreen = screenInfo.screens[0]; - + PseudoramiXResetScreens(); quartzProcs->AddPseudoramiXScreens(&x, &y, &width, &height); - + dixScreenOrigins[pScreen->myNum].x = x; dixScreenOrigins[pScreen->myNum].y = y; pScreen->mmWidth = pScreen->mmWidth * ((double) width / pScreen->width); @@ -266,23 +261,25 @@ static void QuartzUpdateScreens(void) #ifndef FAKE_RANDR if(!QuartzRandRInit(pScreen)) - FatalError("Failed to init RandR extension.\n"); + FatalError("Failed to init RandR extension.\n"); #endif - + DarwinAdjustScreenOrigins(&screenInfo); quartzProcs->UpdateScreen(pScreen); - + sx = dixScreenOrigins[pScreen->myNum].x + darwinMainScreenX; sy = dixScreenOrigins[pScreen->myNum].y + darwinMainScreenY; - + /* Adjust the root window. */ pRoot = WindowTable[pScreen->myNum]; AppleWMSetScreenOrigin(pRoot); pScreen->ResizeWindow(pRoot, x - sx, y - sy, width, height, NULL); + //pScreen->PaintWindowBackground (pRoot, &pRoot->borderClip, PW_BACKGROUND); miPaintWindow(pRoot, &pRoot->borderClip, PW_BACKGROUND); -// QuartzIgnoreNextWarpCursor(); DefineInitialRootWindow(pRoot); + DEBUG_LOG("Root Window: %dx%d @ (%d, %d) darwinMainScreen (%d, %d) xy (%d, %d) dixScreenOrigins (%d, %d)\n", width, height, x - sx, y - sy, darwinMainScreenX, darwinMainScreenY, x, y, dixScreenOrigins[pScreen->myNum].x, dixScreenOrigins[pScreen->myNum].y); + /* Send an event for the root reconfigure */ e.u.u.type = ConfigureNotify; e.u.configureNotify.window = pRoot->drawable.id; @@ -294,12 +291,73 @@ static void QuartzUpdateScreens(void) e.u.configureNotify.borderWidth = wBorderWidth(pRoot); e.u.configureNotify.override = pRoot->overrideRedirect; DeliverEvents(pRoot, &e, 1, NullWindow); - + #ifdef FAKE_RANDR RREditConnectionInfo(pScreen); -#endif +#endif +} + +/* + * QuartzDisplayChangeHandler + * Adjust for screen arrangement changes. + */ +void QuartzDisplayChangedHandler(int screenNum, xEventPtr xe, DeviceIntPtr dev, int nevents) { + QuartzUpdateScreens(); } +void QuartzSetFullscreen(Bool state) { + + DEBUG_LOG("QuartzSetFullscreen: state=%d\n", state); + + if(quartzHasRoot == state) + return; + + quartzHasRoot = state; + + xp_disable_update (); + + if (!quartzHasRoot && !quartzEnableRootless) + RootlessHideAllWindows(); + + RootlessUpdateRooted(quartzHasRoot); + + if (quartzHasRoot && !quartzEnableRootless) + RootlessShowAllWindows (); + + if (quartzHasRoot || quartzEnableRootless) { + RootlessRepositionWindows(screenInfo.screens[0]); + } + + /* Somehow the menubar manages to interfere with our event stream + * in fullscreen mode, even though it's not visible. + */ + X11ApplicationShowHideMenubar(!quartzHasRoot); + + xp_reenable_update (); + + if (quartzFullscreenDisableHotkeys) + xp_disable_hot_keys(quartzHasRoot); +} + +void QuartzSetRootless(Bool state) { + if(quartzEnableRootless == state) + return; + + quartzEnableRootless = state; + + xp_disable_update(); + + /* When in rootless, the menubar is not part of the screen, so we need to update our screens on toggle */ + QuartzUpdateScreens(); + + if (!quartzEnableRootless && !quartzHasRoot) { + RootlessHideAllWindows(); + } else if (quartzEnableRootless && !quartzHasRoot) { + RootlessShowAllWindows(); + } + + xp_reenable_update(); +} /* * QuartzShow @@ -307,20 +365,24 @@ static void QuartzUpdateScreens(void) * Calls mode specific screen resume to restore the X clip regions * (if needed) and the X server cursor state. */ -static void QuartzShow( +void QuartzShow( int x, // cursor location int y ) { int i; - if (!quartzServerVisible) { - quartzServerVisible = TRUE; - for (i = 0; i < screenInfo.numScreens; i++) { - if (screenInfo.screens[i]) { - quartzProcs->ResumeScreen(screenInfo.screens[i], x, y); - } + if (quartzServerVisible) + return; + + quartzServerVisible = TRUE; + for (i = 0; i < screenInfo.numScreens; i++) { + if (screenInfo.screens[i]) { + quartzProcs->ResumeScreen(screenInfo.screens[i], x, y); } } + + if (!quartzEnableRootless) + QuartzSetFullscreen(TRUE); } @@ -330,7 +392,7 @@ static void QuartzShow( * hidden. Calls mode specific screen suspend to set X clip regions to * prevent drawing (if needed) and restore the Aqua cursor. */ -static void QuartzHide(void) +void QuartzHide(void) { int i; @@ -341,6 +403,8 @@ static void QuartzHide(void) } } } + + QuartzSetFullscreen(FALSE); quartzServerVisible = FALSE; } @@ -349,7 +413,7 @@ static void QuartzHide(void) * QuartzSetRootClip * Enable or disable rendering to the X screen. */ -static void QuartzSetRootClip( +void QuartzSetRootClip( BOOL enable) { int i; @@ -364,137 +428,11 @@ static void QuartzSetRootClip( } } - -/* - * QuartzMessageServerThread - * Send the X server thread a message by placing it on the event queue. - */ -void -QuartzMessageServerThread( - int type, - int argc, ...) -{ - xEvent xe; - INT32 *argv; - int i, max_args; - va_list args; - - memset(&xe, 0, sizeof(xe)); - xe.u.u.type = type; - xe.u.clientMessage.u.l.type = type; - - argv = &xe.u.clientMessage.u.l.longs0; - max_args = 4; - - if (argc > 0 && argc <= max_args) { - va_start (args, argc); - for (i = 0; i < argc; i++) - argv[i] = (int) va_arg (args, int); - va_end (args); - } - - DarwinEQEnqueue(&xe); -} - - -/* - * QuartzProcessEvent - * Process Quartz specific events. +/* + * QuartzSpaceChanged + * Unmap offscreen windows, map onscreen windows */ -void QuartzProcessEvent(xEvent *xe) { - switch (xe->u.u.type) { - case kXDarwinControllerNotify: - DEBUG_LOG("kXDarwinControllerNotify\n"); - AppleWMSendEvent(AppleWMControllerNotify, - AppleWMControllerNotifyMask, - xe->u.clientMessage.u.l.longs0, - xe->u.clientMessage.u.l.longs1); - break; - - case kXDarwinPasteboardNotify: - DEBUG_LOG("kXDarwinPasteboardNotify\n"); - AppleWMSendEvent(AppleWMPasteboardNotify, - AppleWMPasteboardNotifyMask, - xe->u.clientMessage.u.l.longs0, - xe->u.clientMessage.u.l.longs1); - break; - - case kXDarwinActivate: - DEBUG_LOG("kXDarwinActivate\n"); - QuartzShow(xe->u.keyButtonPointer.rootX, - xe->u.keyButtonPointer.rootY); - AppleWMSendEvent(AppleWMActivationNotify, - AppleWMActivationNotifyMask, - AppleWMIsActive, 0); - break; - - case kXDarwinDeactivate: - DEBUG_LOG("kXDarwinDeactivate\n"); - AppleWMSendEvent(AppleWMActivationNotify, - AppleWMActivationNotifyMask, - AppleWMIsInactive, 0); - QuartzHide(); - break; - - case kXDarwinDisplayChanged: - DEBUG_LOG("kXDarwinDisplayChanged\n"); - QuartzUpdateScreens(); - break; - - case kXDarwinWindowState: - DEBUG_LOG("kXDarwinWindowState\n"); - RootlessNativeWindowStateChanged(xe->u.clientMessage.u.l.longs0, - xe->u.clientMessage.u.l.longs1); - break; - - case kXDarwinWindowMoved: - DEBUG_LOG("kXDarwinWindowMoved\n"); - RootlessNativeWindowMoved ((WindowPtr)xe->u.clientMessage.u.l.longs0); - break; - - case kXDarwinToggleFullscreen: - DEBUG_LOG("kXDarwinToggleFullscreen\n"); -#ifdef DARWIN_DDX_MISSING - if (quartzEnableRootless) QuartzSetFullscreen(!quartzHasRoot); - else if (quartzHasRoot) QuartzHide(); - else QuartzShow(); -#else - // ErrorF("kXDarwinToggleFullscreen not implemented\n"); -#endif - break; - - case kXDarwinSetRootless: - DEBUG_LOG("kXDarwinSetRootless\n"); -#ifdef DARWIN_DDX_MISSING - QuartzSetRootless(xe->u.clientMessage.u.l.longs0); - if (!quartzEnableRootless && !quartzHasRoot) QuartzHide(); -#else - // ErrorF("kXDarwinSetRootless not implemented\n"); -#endif - break; - - case kXDarwinSetRootClip: - QuartzSetRootClip((BOOL)xe->u.clientMessage.u.l.longs0); - break; - - case kXDarwinQuit: - GiveUp(0); - break; - - case kXDarwinReadPasteboard: - QuartzReadPasteboard(); - break; - - case kXDarwinWritePasteboard: - QuartzWritePasteboard(); - break; - - case kXDarwinBringAllToFront: - DEBUG_LOG("kXDarwinBringAllToFront\n"); - RootlessOrderAllWindows(); - break; - - default: - ErrorF("Unknown application defined event type %d.\n", xe->u.u.type); - } +void QuartzSpaceChanged(uint32_t space_id) { + /* Do something special here, so we don't depend on quartz-wm for spaces to work... */ + DEBUG_LOG("Space Changed (%u) ... do something interesting...\n", space_id); } diff --git a/xorg-server/hw/xquartz/quartz.h b/xorg-server/hw/xquartz/quartz.h index fbe308a92..c5da4c510 100644 --- a/xorg-server/hw/xquartz/quartz.h +++ b/xorg-server/hw/xquartz/quartz.h @@ -54,20 +54,16 @@ typedef void (*InitInputProc)(int argc, char **argv); * Cursor functions */ typedef Bool (*InitCursorProc)(ScreenPtr pScreen); -typedef void (*CursorUpdateProc)(void); /* * Suspend and resume X11 activity */ typedef void (*SuspendScreenProc)(ScreenPtr pScreen); typedef void (*ResumeScreenProc)(ScreenPtr pScreen, int x, int y); -typedef void (*CaptureScreensProc)(void); -typedef void (*ReleaseScreensProc)(void); /* * Screen state change support */ -typedef void (*ScreenChangedProc)(void); typedef void (*AddPseudoramiXScreensProc)(int *x, int *y, int *width, int *height); typedef void (*UpdateScreenProc)(ScreenPtr pScreen); @@ -101,14 +97,10 @@ typedef struct _QuartzModeProcs { InitInputProc InitInput; InitCursorProc InitCursor; - CursorUpdateProc CursorUpdate; // Not used if NULL SuspendScreenProc SuspendScreen; ResumeScreenProc ResumeScreen; - CaptureScreensProc CaptureScreens; // Only called in fullscreen - ReleaseScreensProc ReleaseScreens; // Only called in fullscreen - ScreenChangedProc ScreenChanged; AddPseudoramiXScreensProc AddPseudoramiXScreens; UpdateScreenProc UpdateScreen; @@ -128,7 +120,16 @@ Bool QuartzAddScreen(int index, ScreenPtr pScreen); Bool QuartzSetupScreen(int index, ScreenPtr pScreen); void QuartzInitOutput(int argc,char **argv); void QuartzInitInput(int argc, char **argv); +void QuartzInitServer(int argc, char **argv, char **envp); void QuartzGiveUp(void); void QuartzProcessEvent(xEvent *xe); +void QuartzDisplayChangedHandler(int screenNum, xEventPtr xe, DeviceIntPtr dev, int nevents); +void QuartzShow(int x, int y); // (x, y) = cursor loc +void QuartzHide(void); +void QuartzSetRootClip(BOOL enable); +void QuartzSpaceChanged(uint32_t space_id); + +void QuartzSetFullscreen(Bool state); +void QuartzSetRootless(Bool state); #endif diff --git a/xorg-server/hw/xquartz/quartzAudio.c b/xorg-server/hw/xquartz/quartzAudio.c index 5dee32f54..21232665a 100644 --- a/xorg-server/hw/xquartz/quartzAudio.c +++ b/xorg-server/hw/xquartz/quartzAudio.c @@ -36,6 +36,8 @@ * use or other dealings in this Software without prior written authorization. */ +#include "sanitizedCarbon.h" + #ifdef HAVE_DIX_CONFIG_H #include #endif @@ -45,6 +47,7 @@ #include #include +#include #include "inputstr.h" #include @@ -236,7 +239,7 @@ static void QuartzCoreAudioBell( OSStatus status; status = AudioDeviceStart(quartzAudioDevice, QuartzAudioIOProc); if (status) { - ErrorF("QuartzAudioBell: AudioDeviceStart returned %ld\n", status); + ErrorF("QuartzAudioBell: AudioDeviceStart returned %ld\n", (long)status); } else { data.playing = TRUE; } @@ -297,7 +300,7 @@ void QuartzAudioInit(void) &propertySize, &outputDevice); if (status) { ErrorF("QuartzAudioInit: AudioHardwareGetProperty returned %ld\n", - status); + (long)status); return; } if (outputDevice == kAudioDeviceUnknown) { @@ -312,7 +315,7 @@ void QuartzAudioInit(void) &propertySize, &outputStreamDescription); if (status) { ErrorF("QuartzAudioInit: GetProperty(stream format) returned %ld\n", - status); + (long)status); return; } sampleRate = outputStreamDescription.mSampleRate; @@ -335,9 +338,14 @@ void QuartzAudioInit(void) // fixme assert fadeLength= 1050 + AudioDeviceIOProcID sInputIOProcID = NULL; + status = AudioDeviceCreateIOProcID( outputDevice, QuartzAudioIOProc, &data, &sInputIOProcID ); +#else status = AudioDeviceAddIOProc(outputDevice, QuartzAudioIOProc, &data); +#endif if (status) { - ErrorF("QuartzAudioInit: AddIOProc returned %ld\n", status); + ErrorF("QuartzAudioInit: AddIOProc returned %ld\n", (long)status); return; } diff --git a/xorg-server/hw/xquartz/quartzCocoa.m b/xorg-server/hw/xquartz/quartzCocoa.m index 53e3f0897..0ab94936c 100644 --- a/xorg-server/hw/xquartz/quartzCocoa.m +++ b/xorg-server/hw/xquartz/quartzCocoa.m @@ -32,24 +32,17 @@ * use or other dealings in this Software without prior written authorization. */ +#include "sanitizedCocoa.h" + #ifdef HAVE_DIX_CONFIG_H #include #endif #include "quartzCommon.h" +#include "inputstr.h" #include "quartzPasteboard.h" -#define BOOL xBOOL #include "darwin.h" -#undef BOOL - -#include - -#include "pseudoramiX.h" - -extern void FatalError(const char *, ...); -extern char *display; -extern int noPanoramiXExtension; /* * QuartzWriteCocoaPasteboard diff --git a/xorg-server/hw/xquartz/quartzCommon.h b/xorg-server/hw/xquartz/quartzCommon.h index a0d467389..1c0eeba9c 100644 --- a/xorg-server/hw/xquartz/quartzCommon.h +++ b/xorg-server/hw/xquartz/quartzCommon.h @@ -35,17 +35,6 @@ #ifndef _QUARTZCOMMON_H #define _QUARTZCOMMON_H -// QuickDraw in ApplicationServices has the following conflicts with -// the basic X server headers. Use QD_ to use the QuickDraw -// definition of any of these symbols, or the normal name for the -// X11 definition. -#define Cursor QD_Cursor -#define WindowPtr QD_WindowPtr -#define Picture QD_Picture -#include -#undef Cursor -#undef WindowPtr -#undef Picture #include #include "privates.h" @@ -66,10 +55,11 @@ typedef struct { extern int quartzEventWriteFD; // User preferences used by Quartz modes -extern int quartzRootless; extern int quartzUseSysBeep; +extern int focusOnNewWindow; extern int quartzUseAGL; extern int quartzEnableKeyEquivalents; +extern int quartzFullscreenDisableHotkeys; // Other shared data extern int quartzServerVisible; @@ -91,17 +81,4 @@ int QuartzFSUseQDCursor(int depth); void QuartzBlockHandler(pointer blockData, OSTimePtr pTimeout, pointer pReadmask); void QuartzWakeupHandler(pointer blockData, int result, pointer pReadmask); -// Messages that can be sent to the main thread. -enum { - kQuartzServerHidden, - kQuartzServerStarted, - kQuartzServerDied, - kQuartzCursorUpdate, - kQuartzPostEvent, - kQuartzSetWindowMenu, - kQuartzSetWindowMenuCheck, - kQuartzSetFrontProcess, - kQuartzSetCanQuit -}; - #endif /* _QUARTZCOMMON_H */ diff --git a/xorg-server/hw/xquartz/quartzCursor.c b/xorg-server/hw/xquartz/quartzCursor.c deleted file mode 100644 index f82ccd380..000000000 --- a/xorg-server/hw/xquartz/quartzCursor.c +++ /dev/null @@ -1,646 +0,0 @@ -/************************************************************** - * - * Support for using the Quartz Window Manager cursor - * - * Copyright (c) 2001-2003 Torrey T. Lyons and Greg Parker. - * 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. - */ - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#include "quartzCommon.h" -#include "quartzCursor.h" -#include "darwin.h" - -#include - -#include "mi.h" -#include "scrnintstr.h" -#include "cursorstr.h" -#include "mipointrst.h" -#include "globals.h" - -// Size of the QuickDraw cursor -#define CURSORWIDTH 16 -#define CURSORHEIGHT 16 - -typedef struct { - int qdCursorMode; - int qdCursorVisible; - int useQDCursor; - QueryBestSizeProcPtr QueryBestSize; - miPointerSpriteFuncPtr spriteFuncs; -} QuartzCursorScreenRec, *QuartzCursorScreenPtr; - -static DevPrivateKey darwinCursorScreenKey = &darwinCursorScreenKey; -static CursorPtr quartzLatentCursor = NULL; -static QD_Cursor gQDArrow; // QuickDraw arrow cursor - -// Cursor for the main thread to set (NULL = arrow cursor). -static CCrsrHandle currentCursor = NULL; -static pthread_mutex_t cursorMutex; -static pthread_cond_t cursorCondition; - -#define CURSOR_PRIV(pScreen) ((QuartzCursorScreenPtr) \ - dixLookupPrivate(&pScreen->devPrivates, darwinCursorScreenKey)) - -#define HIDE_QD_CURSOR(pScreen, visible) \ - if (visible) { \ - int ix; \ - for (ix = 0; ix < QUARTZ_PRIV(pScreen)->displayCount; ix++) { \ - CGDisplayHideCursor(QUARTZ_PRIV(pScreen)->displayIDs[ix]); \ - } \ - visible = FALSE; \ - } ((void)0) - -#define SHOW_QD_CURSOR(pScreen, visible) \ - { \ - int ix; \ - for (ix = 0; ix < QUARTZ_PRIV(pScreen)->displayCount; ix++) { \ - CGDisplayShowCursor(QUARTZ_PRIV(pScreen)->displayIDs[ix]); \ - } \ - visible = TRUE; \ - } ((void)0) - -#define CHANGE_QD_CURSOR(cursorH) \ - if (!quartzServerQuitting) { \ - /* Acquire lock and tell the main thread to change cursor */ \ - pthread_mutex_lock(&cursorMutex); \ - currentCursor = (CCrsrHandle) (cursorH); \ - QuartzMessageMainThread(kQuartzCursorUpdate, NULL, 0); \ - \ - /* Wait for the main thread to change the cursor */ \ - pthread_cond_wait(&cursorCondition, &cursorMutex); \ - pthread_mutex_unlock(&cursorMutex); \ - } ((void)0) - - -/* - * MakeQDCursor helpers: CTAB_ENTER, interleave - */ - -// Add a color entry to a ctab -#define CTAB_ENTER(ctab, index, r, g, b) \ - ctab->ctTable[index].value = index; \ - ctab->ctTable[index].rgb.red = r; \ - ctab->ctTable[index].rgb.green = g; \ - ctab->ctTable[index].rgb.blue = b - -// Make an unsigned short by interleaving the bits of bytes c1 and c2. -// High bit of c1 is first; low bit of c2 is last. -// Interleave is a built-in INTERCAL operator. -static unsigned short -interleave( - unsigned char c1, - unsigned char c2 ) -{ - return - ((c1 & 0x80) << 8) | ((c2 & 0x80) << 7) | - ((c1 & 0x40) << 7) | ((c2 & 0x40) << 6) | - ((c1 & 0x20) << 6) | ((c2 & 0x20) << 5) | - ((c1 & 0x10) << 5) | ((c2 & 0x10) << 4) | - ((c1 & 0x08) << 4) | ((c2 & 0x08) << 3) | - ((c1 & 0x04) << 3) | ((c2 & 0x04) << 2) | - ((c1 & 0x02) << 2) | ((c2 & 0x02) << 1) | - ((c1 & 0x01) << 1) | ((c2 & 0x01) << 0) ; -} - -/* - * MakeQDCursor - * Make a QuickDraw color cursor from the given X11 cursor. - * Warning: This code is nasty. Color cursors were meant to be read - * from resources; constructing the structures programmatically is messy. - */ -/* - QuickDraw cursor representation: - Our color cursor is a 2 bit per pixel pixmap. - Each pixel's bits are (source<<1 | mask) from the original X cursor pixel. - The cursor's color table maps the colors like this: - (2-bit value | X result | colortable | Mac result) - 00 | transparent | white | transparent (white outside mask) - 01 | back color | back color | back color - 10 | undefined | black | invert background (just for fun) - 11 | fore color | fore color | fore color -*/ -static CCrsrHandle -MakeQDCursor( - CursorPtr pCursor ) -{ - CCrsrHandle result; - CCrsrPtr curs; - int i, w, h; - unsigned short rowMask; - PixMap *pix; - ColorTable *ctab; - unsigned short *image; - - result = (CCrsrHandle) NewHandleClear(sizeof(CCrsr)); - if (!result) return NULL; - HLock((Handle)result); - curs = *result; - - // Initialize CCrsr - curs->crsrType = 0x8001; // 0x8000 = b&w, 0x8001 = color - curs->crsrMap = (PixMapHandle) NewHandleClear(sizeof(PixMap)); - if (!curs->crsrMap) goto pixAllocFailed; - HLock((Handle)curs->crsrMap); - pix = *curs->crsrMap; - curs->crsrData = NULL; // raw cursor image data (set below) - curs->crsrXData = NULL; // QD's processed data - curs->crsrXValid = 0; // zero means QD must re-process cursor data - curs->crsrXHandle = NULL; // reserved - memset(curs->crsr1Data, 0, CURSORWIDTH*CURSORHEIGHT/8); // b&w data - memset(curs->crsrMask, 0, CURSORWIDTH*CURSORHEIGHT/8); // b&w & color mask - curs->crsrHotSpot.h = min(CURSORWIDTH, pCursor->bits->xhot); // hot spot - curs->crsrHotSpot.v = min(CURSORHEIGHT, pCursor->bits->yhot); // hot spot - curs->crsrXTable = 0; // reserved - curs->crsrID = GetCTSeed(); // unique ID from Color Manager - - // Set the b&w data and mask - w = min(pCursor->bits->width, CURSORWIDTH); - h = min(pCursor->bits->height, CURSORHEIGHT); - rowMask = ~((1 << (CURSORWIDTH - w)) - 1); - for (i = 0; i < h; i++) { - curs->crsr1Data[i] = rowMask & - ((pCursor->bits->source[i*4]<<8) | pCursor->bits->source[i*4+1]); - curs->crsrMask[i] = rowMask & - ((pCursor->bits->mask[i*4]<<8) | pCursor->bits->mask[i*4+1]); - } - - // Set the color data and mask - // crsrMap: defines bit depth and size and colortable only - pix->rowBytes = (CURSORWIDTH * 2 / 8) | 0x8000; // last bit on means PixMap - SetRect(&pix->bounds, 0, 0, CURSORWIDTH, CURSORHEIGHT); // see TN 1020 - pix->pixelSize = 2; - pix->cmpCount = 1; - pix->cmpSize = 2; - // pix->pmTable set below - - // crsrData is the pixel data. crsrMap's baseAddr is not used. - curs->crsrData = NewHandleClear(CURSORWIDTH*CURSORHEIGHT * 2 / 8); - if (!curs->crsrData) goto imageAllocFailed; - HLock((Handle)curs->crsrData); - image = (unsigned short *) *curs->crsrData; - // Pixel data is just 1-bit data and mask interleaved (see above) - for (i = 0; i < h; i++) { - unsigned char s, m; - s = pCursor->bits->source[i*4] & (rowMask >> 8); - m = pCursor->bits->mask[i*4] & (rowMask >> 8); - image[2*i] = interleave(s, m); - s = pCursor->bits->source[i*4+1] & (rowMask & 0x00ff); - m = pCursor->bits->mask[i*4+1] & (rowMask & 0x00ff); - image[2*i+1] = interleave(s, m); - } - - // Build the color table (entries described above) - // NewPixMap allocates a color table handle. - pix->pmTable = (CTabHandle) NewHandleClear(sizeof(ColorTable) + 3 - * sizeof(ColorSpec)); - if (!pix->pmTable) goto ctabAllocFailed; - HLock((Handle)pix->pmTable); - ctab = *pix->pmTable; - ctab->ctSeed = GetCTSeed(); - ctab->ctFlags = 0; - ctab->ctSize = 3; // color count - 1 - CTAB_ENTER(ctab, 0, 0xffff, 0xffff, 0xffff); - CTAB_ENTER(ctab, 1, pCursor->backRed, pCursor->backGreen, - pCursor->backBlue); - CTAB_ENTER(ctab, 2, 0x0000, 0x0000, 0x0000); - CTAB_ENTER(ctab, 3, pCursor->foreRed, pCursor->foreGreen, - pCursor->foreBlue); - - HUnlock((Handle)pix->pmTable); // ctab - HUnlock((Handle)curs->crsrData); // image data - HUnlock((Handle)curs->crsrMap); // pix - HUnlock((Handle)result); // cursor - - return result; - - // "What we have here is a failure to allocate" -ctabAllocFailed: - HUnlock((Handle)curs->crsrData); - DisposeHandle((Handle)curs->crsrData); -imageAllocFailed: - HUnlock((Handle)curs->crsrMap); - DisposeHandle((Handle)curs->crsrMap); -pixAllocFailed: - HUnlock((Handle)result); - DisposeHandle((Handle)result); - return NULL; -} - - -/* - * FreeQDCursor - * Destroy a QuickDraw color cursor created with MakeQDCursor(). - * The cursor must not currently be on screen. - */ -static void FreeQDCursor(CCrsrHandle cursHandle) -{ - CCrsrPtr curs; - PixMap *pix; - - HLock((Handle)cursHandle); - curs = *cursHandle; - HLock((Handle)curs->crsrMap); - pix = *curs->crsrMap; - DisposeHandle((Handle)pix->pmTable); - HUnlock((Handle)curs->crsrMap); - DisposeHandle((Handle)curs->crsrMap); - DisposeHandle((Handle)curs->crsrData); - HUnlock((Handle)cursHandle); - DisposeHandle((Handle)cursHandle); -} - - -/* -=========================================================================== - - Pointer sprite functions - -=========================================================================== -*/ - -/* - * QuartzRealizeCursor - * Convert the X cursor representation to QuickDraw format if possible. - */ -Bool -QuartzRealizeCursor( - ScreenPtr pScreen, - CursorPtr pCursor ) -{ - CCrsrHandle qdCursor; - QuartzCursorScreenPtr ScreenPriv = CURSOR_PRIV(pScreen); - - if(!pCursor || !pCursor->bits) - return FALSE; - - // if the cursor is too big we use a software cursor - if ((pCursor->bits->height > CURSORHEIGHT) || - (pCursor->bits->width > CURSORWIDTH) || !ScreenPriv->useQDCursor) - { - if (quartzRootless) { - // rootless can't use a software cursor - return TRUE; - } else { - return (*ScreenPriv->spriteFuncs->RealizeCursor) - (pScreen, pCursor); - } - } - - // make new cursor image - qdCursor = MakeQDCursor(pCursor); - if (!qdCursor) return FALSE; - - // save the result - dixSetPrivate(&pCursor->devPrivates, pScreen, qdCursor); - - return TRUE; -} - - -/* - * QuartzUnrealizeCursor - * Free the storage space associated with a realized cursor. - */ -Bool -QuartzUnrealizeCursor( - ScreenPtr pScreen, - CursorPtr pCursor ) -{ - QuartzCursorScreenPtr ScreenPriv = CURSOR_PRIV(pScreen); - - if ((pCursor->bits->height > CURSORHEIGHT) || - (pCursor->bits->width > CURSORWIDTH) || !ScreenPriv->useQDCursor) - { - if (quartzRootless) { - return TRUE; - } else { - return (*ScreenPriv->spriteFuncs->UnrealizeCursor) - (pScreen, pCursor); - } - } else { - CCrsrHandle oldCursor = dixLookupPrivate(&pCursor->devPrivates, - pScreen); - if (currentCursor != oldCursor) { - // This should only fail when quitting, in which case we just leak. - FreeQDCursor(oldCursor); - } - dixSetPrivate(&pCursor->devPrivates, pScreen, NULL); - return TRUE; - } -} - - -/* - * QuartzSetCursor - * Set the cursor sprite and position. - * Use QuickDraw cursor if possible. - */ -static void -QuartzSetCursor( - ScreenPtr pScreen, - CursorPtr pCursor, - int x, - int y) -{ - QuartzCursorScreenPtr ScreenPriv = CURSOR_PRIV(pScreen); - - quartzLatentCursor = pCursor; - - // Don't touch Mac OS cursor if X is hidden! - if (!quartzServerVisible) - return; - - if (!pCursor) { - // Remove the cursor completely. - HIDE_QD_CURSOR(pScreen, ScreenPriv->qdCursorVisible); - if (! ScreenPriv->qdCursorMode) - (*ScreenPriv->spriteFuncs->SetCursor)(pScreen, 0, x, y); - } - else if ((pCursor->bits->height <= CURSORHEIGHT) && - (pCursor->bits->width <= CURSORWIDTH) && ScreenPriv->useQDCursor) - { - // Cursor is small enough to use QuickDraw directly. - if (! ScreenPriv->qdCursorMode) // remove the X cursor - (*ScreenPriv->spriteFuncs->SetCursor)(pScreen, 0, x, y); - ScreenPriv->qdCursorMode = TRUE; - - CHANGE_QD_CURSOR(dixLookupPrivate(&pCursor->devPrivates, pScreen)); - SHOW_QD_CURSOR(pScreen, ScreenPriv->qdCursorVisible); - } - else if (quartzRootless) { - // Rootless can't use a software cursor, so we just use Mac OS arrow. - CHANGE_QD_CURSOR(NULL); - SHOW_QD_CURSOR(pScreen, ScreenPriv->qdCursorVisible); - } - else { - // Cursor is too big for QuickDraw. Use X software cursor. - HIDE_QD_CURSOR(pScreen, ScreenPriv->qdCursorVisible); - ScreenPriv->qdCursorMode = FALSE; - (*ScreenPriv->spriteFuncs->SetCursor)(pScreen, pCursor, x, y); - } -} - - -/* - * QuartzReallySetCursor - * Set the QuickDraw cursor. Called from the main thread since changing the - * cursor with QuickDraw is not thread safe on dual processor machines. - */ -void -QuartzReallySetCursor() -{ - pthread_mutex_lock(&cursorMutex); - - if (currentCursor) { - SetCCursor(currentCursor); - } else { - SetCursor(&gQDArrow); - } - - pthread_cond_signal(&cursorCondition); - pthread_mutex_unlock(&cursorMutex); -} - - -/* - * QuartzMoveCursor - * Move the cursor. This is a noop for QuickDraw. - */ -static void -QuartzMoveCursor( - ScreenPtr pScreen, - int x, - int y) -{ - QuartzCursorScreenPtr ScreenPriv = CURSOR_PRIV(pScreen); - - // only the X cursor needs to be explicitly moved - if (!ScreenPriv->qdCursorMode) - (*ScreenPriv->spriteFuncs->MoveCursor)(pScreen, x, y); -} - - -static miPointerSpriteFuncRec quartzSpriteFuncsRec = { - QuartzRealizeCursor, - QuartzUnrealizeCursor, - QuartzSetCursor, - QuartzMoveCursor -}; - - -/* -=========================================================================== - - Pointer screen functions - -=========================================================================== -*/ - -/* - * QuartzCursorOffScreen - */ -static Bool QuartzCursorOffScreen(ScreenPtr *pScreen, int *x, int *y) -{ - return FALSE; -} - - -/* - * QuartzCrossScreen - */ -static void QuartzCrossScreen(ScreenPtr pScreen, Bool entering) -{ - return; -} - - -/* - * QuartzWarpCursor - * Change the cursor position without generating an event or motion history. - * The input coordinates (x,y) are in pScreen-local X11 coordinates. - * - */ -static void -QuartzWarpCursor( - ScreenPtr pScreen, - int x, - int y) -{ - static int neverMoved = TRUE; - - if (neverMoved) { - // Don't move the cursor the first time. This is the jump-to-center - // initialization, and it's annoying because we may still be in MacOS. - neverMoved = FALSE; - return; - } - - if (quartzServerVisible) { - CGDisplayErr cgErr; - CGPoint cgPoint; - // Only need to do this for one display. Any display will do. - CGDirectDisplayID cgID = QUARTZ_PRIV(pScreen)->displayIDs[0]; - CGRect cgRect = CGDisplayBounds(cgID); - - // Convert (x,y) to CoreGraphics screen-local CG coordinates. - // This is necessary because the X11 screen and CG screen may not - // coincide. (e.g. X11 screen may be moved to dodge the menu bar) - - // Make point in X11 global coordinates - cgPoint = CGPointMake(x + dixScreenOrigins[pScreen->myNum].x, - y + dixScreenOrigins[pScreen->myNum].y); - // Shift to CoreGraphics global screen coordinates - cgPoint.x += darwinMainScreenX; - cgPoint.y += darwinMainScreenY; - // Shift to CoreGraphics screen-local coordinates - cgPoint.x -= cgRect.origin.x; - cgPoint.y -= cgRect.origin.y; - - cgErr = CGDisplayMoveCursorToPoint(cgID, cgPoint); - if (cgErr != CGDisplayNoErr) { - ErrorF("Could not set cursor position with error code 0x%x.\n", - cgErr); - } - } - - miPointerWarpCursor(pScreen, x, y); - miPointerUpdate(); -} - - -static miPointerScreenFuncRec quartzScreenFuncsRec = { - QuartzCursorOffScreen, - QuartzCrossScreen, - QuartzWarpCursor, - DarwinEQPointerPost, - DarwinEQSwitchScreen -}; - - -/* -=========================================================================== - - Other screen functions - -=========================================================================== -*/ - -/* - * QuartzCursorQueryBestSize - * Handle queries for best cursor size - */ -static void -QuartzCursorQueryBestSize( - int class, - unsigned short *width, - unsigned short *height, - ScreenPtr pScreen) -{ - QuartzCursorScreenPtr ScreenPriv = CURSOR_PRIV(pScreen); - - if (class == CursorShape) { - *width = CURSORWIDTH; - *height = CURSORHEIGHT; - } else { - (*ScreenPriv->QueryBestSize)(class, width, height, pScreen); - } -} - - -/* - * QuartzInitCursor - * Initialize cursor support - */ -Bool -QuartzInitCursor( - ScreenPtr pScreen ) -{ - QuartzCursorScreenPtr ScreenPriv; - miPointerScreenPtr PointPriv; - DarwinFramebufferPtr dfb = SCREEN_PRIV(pScreen); - - // initialize software cursor handling (always needed as backup) - if (!miDCInitialize(pScreen, &quartzScreenFuncsRec)) { - return FALSE; - } - - ScreenPriv = xcalloc( 1, sizeof(QuartzCursorScreenRec) ); - if (!ScreenPriv) return FALSE; - - CURSOR_PRIV(pScreen) = ScreenPriv; - - // override some screen procedures - ScreenPriv->QueryBestSize = pScreen->QueryBestSize; - pScreen->QueryBestSize = QuartzCursorQueryBestSize; - - // initialize QuickDraw cursor handling - GetQDGlobalsArrow(&gQDArrow); - PointPriv = (miPointerScreenPtr) - dixLookupPrivate(&pScreen->devPrivates, miPointerScreenKey); - - ScreenPriv->spriteFuncs = PointPriv->spriteFuncs; - PointPriv->spriteFuncs = &quartzSpriteFuncsRec; - - if (!quartzRootless) - ScreenPriv->useQDCursor = QuartzFSUseQDCursor(dfb->colorBitsPerPixel); - else - ScreenPriv->useQDCursor = TRUE; - ScreenPriv->qdCursorMode = TRUE; - ScreenPriv->qdCursorVisible = TRUE; - - // initialize cursor mutex lock - pthread_mutex_init(&cursorMutex, NULL); - - // initialize condition for waiting - pthread_cond_init(&cursorCondition, NULL); - - return TRUE; -} - - -// X server is hiding. Restore the Aqua cursor. -void QuartzSuspendXCursor( - ScreenPtr pScreen ) -{ - QuartzCursorScreenPtr ScreenPriv = CURSOR_PRIV(pScreen); - - CHANGE_QD_CURSOR(NULL); - SHOW_QD_CURSOR(pScreen, ScreenPriv->qdCursorVisible); -} - - -// X server is showing. Restore the X cursor. -void QuartzResumeXCursor( - ScreenPtr pScreen, - int x, - int y ) -{ - QuartzSetCursor(pScreen, quartzLatentCursor, x, y); -} diff --git a/xorg-server/hw/xquartz/quartzCursor.h b/xorg-server/hw/xquartz/quartzCursor.h deleted file mode 100644 index 56a02098d..000000000 --- a/xorg-server/hw/xquartz/quartzCursor.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * quartzCursor.h - * - * External interface for Quartz hardware cursor - * - * Copyright (c) 2001 Torrey T. Lyons and Greg Parker. - * 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. - */ - -#ifndef QUARTZCURSOR_H -#define QUARTZCURSOR_H - -#include "screenint.h" - -Bool QuartzInitCursor(ScreenPtr pScreen); -void QuartzReallySetCursor(void); -void QuartzSuspendXCursor(ScreenPtr pScreen); -void QuartzResumeXCursor(ScreenPtr pScreen, int x, int y); - -#endif diff --git a/xorg-server/hw/xquartz/quartzForeground.c b/xorg-server/hw/xquartz/quartzForeground.c deleted file mode 100644 index 0e724de76..000000000 --- a/xorg-server/hw/xquartz/quartzForeground.c +++ /dev/null @@ -1,47 +0,0 @@ -/* foreground.c - Push the current process into the foreground. - - This is in a separate file because of Quartz/X type conflicts. - - Copyright (c) 2007 Jeremy Huddleston - - 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 -#include - -#include "quartzForeground.h" - -int QuartzMoveToForeground() { - ProcessSerialNumber psn = { 0, kCurrentProcess }; - OSStatus returnCode = TransformProcessType(& psn, kProcessTransformToForegroundApplication); - if( returnCode == 0) { - fprintf(stderr, "TransformProcessType: Success\n"); - SetFrontProcess(&psn); - } else { - fprintf(stderr, "TransformProcessType: Failure\n"); - } - return (int)returnCode; -} diff --git a/xorg-server/hw/xquartz/quartzForeground.h b/xorg-server/hw/xquartz/quartzForeground.h deleted file mode 100644 index b5422ff9c..000000000 --- a/xorg-server/hw/xquartz/quartzForeground.h +++ /dev/null @@ -1,37 +0,0 @@ -/* foreground.h - Push the current process into the foreground. - - This is in a separate file because of Quartz/X type conflicts. - - Copyright (c) 2007 Jeremy Huddleston - - 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. */ - -#ifndef _QUARTZ_FOREGROUND_H_ -#define _QUARTZ_FOREGROUND_H_ - -int QuartzMoveToForeground(void); - -#endif /* _QUARTZ_FOREGROUND_H_ */ diff --git a/xorg-server/hw/xquartz/quartzKeyboard.c b/xorg-server/hw/xquartz/quartzKeyboard.c index 9b899ca67..72f94b443 100644 --- a/xorg-server/hw/xquartz/quartzKeyboard.c +++ b/xorg-server/hw/xquartz/quartzKeyboard.c @@ -1,52 +1,73 @@ /* - quartzKeyboard.c - - Code to build a keymap using the Carbon Keyboard Layout API. - - Copyright (c) 2003-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. + quartzKeyboard.c: Keyboard support for Xquartz + + Copyright (c) 2003-2008 Apple Inc. + Copyright (c) 2001-2004 Torrey T. Lyons. All Rights Reserved. + Copyright 2004 Kaleb S. KEITHLEY. All Rights Reserved. + + 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. */ +#include "sanitizedCarbon.h" + #ifdef HAVE_DIX_CONFIG_H #include #endif -#include "quartzCommon.h" +#define HACK_MISSING 1 +#define HACK_KEYPAD 1 -#include -#include +#include +#include +#include +#include +#include + +#include "quartzCommon.h" +#include "darwin.h" #include "quartzKeyboard.h" +#include "quartzAudio.h" + +#include "threadSafety.h" + +#ifdef NDEBUG +#undef NDEBUG +#include +#define NDEBUG 1 +#else +#include +#endif +#include + +#include "xkbsrv.h" +#include "exevents.h" #include "X11/keysym.h" #include "keysym2ucs.h" -#define HACK_MISSING 1 -#define HACK_KEYPAD 1 - enum { MOD_COMMAND = 256, MOD_SHIFT = 512, @@ -124,7 +145,9 @@ const static struct { KeySym normal, dead; } dead_keys[] = { {XK_grave, XK_dead_grave}, + {XK_apostrophe, XK_dead_acute}, /* US:"=" on a Czech keyboard */ {XK_acute, XK_dead_acute}, + {UKEYSYM (0x384), XK_dead_acute}, /* US:";" on a Greek keyboard */ {XK_asciicircum, XK_dead_circumflex}, {UKEYSYM (0x2c6), XK_dead_circumflex}, /* MODIFIER LETTER CIRCUMFLEX ACCENT */ {XK_asciitilde, XK_dead_tilde}, @@ -146,16 +169,383 @@ const static struct { {UKEYSYM (0x31b), XK_dead_horn}, /* COMBINING HORN */ }; -unsigned int QuartzSystemKeymapSeed(void) { - static unsigned int seed; - static KeyboardLayoutRef last_key_layout; - KeyboardLayoutRef key_layout; +darwinKeyboardInfo keyInfo; +pthread_mutex_t keyInfo_mutex = PTHREAD_MUTEX_INITIALIZER; + +static void DarwinChangeKeyboardControl(DeviceIntPtr device, KeybdCtrl *ctrl) { + // FIXME: to be implemented + // keyclick, bell volume / pitch, autorepead, LED's +} + +//----------------------------------------------------------------------------- +// Utility functions to help parse Darwin keymap +//----------------------------------------------------------------------------- + +/* + * DarwinBuildModifierMaps + * Use the keyMap field of keyboard info structure to populate + * the modMap and modifierKeycodes fields. + */ +static void DarwinBuildModifierMaps(darwinKeyboardInfo *info) { + int i; + KeySym *k; + + memset(info->modMap, NoSymbol, sizeof(info->modMap)); + memset(info->modifierKeycodes, 0, sizeof(info->modifierKeycodes)); + + for (i = 0; i < NUM_KEYCODES; i++) { + k = info->keyMap + i * GLYPHS_PER_KEY; + + switch (*k) { + case XK_Shift_L: + info->modifierKeycodes[NX_MODIFIERKEY_SHIFT][0] = i; + info->modMap[MIN_KEYCODE + i] = ShiftMask; + break; + + case XK_Shift_R: +#ifdef NX_MODIFIERKEY_RSHIFT + info->modifierKeycodes[NX_MODIFIERKEY_RSHIFT][0] = i; +#else + info->modifierKeycodes[NX_MODIFIERKEY_SHIFT][0] = i; +#endif + info->modMap[MIN_KEYCODE + i] = ShiftMask; + break; + + case XK_Control_L: + info->modifierKeycodes[NX_MODIFIERKEY_CONTROL][0] = i; + info->modMap[MIN_KEYCODE + i] = ControlMask; + break; + + case XK_Control_R: +#ifdef NX_MODIFIERKEY_RCONTROL + info->modifierKeycodes[NX_MODIFIERKEY_RCONTROL][0] = i; +#else + info->modifierKeycodes[NX_MODIFIERKEY_CONTROL][0] = i; +#endif + info->modMap[MIN_KEYCODE + i] = ControlMask; + break; + + case XK_Caps_Lock: + info->modifierKeycodes[NX_MODIFIERKEY_ALPHALOCK][0] = i; + info->modMap[MIN_KEYCODE + i] = LockMask; + break; + + case XK_Alt_L: + info->modifierKeycodes[NX_MODIFIERKEY_ALTERNATE][0] = i; + info->modMap[MIN_KEYCODE + i] = Mod1Mask; + *k = XK_Mode_switch; // Yes, this is ugly. This needs to be cleaned up when we integrate quartzKeyboard with this code and refactor. + break; + + case XK_Alt_R: +#ifdef NX_MODIFIERKEY_RALTERNATE + info->modifierKeycodes[NX_MODIFIERKEY_RALTERNATE][0] = i; +#else + info->modifierKeycodes[NX_MODIFIERKEY_ALTERNATE][0] = i; +#endif + *k = XK_Mode_switch; // Yes, this is ugly. This needs to be cleaned up when we integrate quartzKeyboard with this code and refactor. + info->modMap[MIN_KEYCODE + i] = Mod1Mask; + break; + + case XK_Mode_switch: + info->modMap[MIN_KEYCODE + i] = Mod1Mask; + break; + + case XK_Meta_L: + info->modifierKeycodes[NX_MODIFIERKEY_COMMAND][0] = i; + info->modMap[MIN_KEYCODE + i] = Mod2Mask; + break; + + case XK_Meta_R: +#ifdef NX_MODIFIERKEY_RCOMMAND + info->modifierKeycodes[NX_MODIFIERKEY_RCOMMAND][0] = i; +#else + info->modifierKeycodes[NX_MODIFIERKEY_COMMAND][0] = i; +#endif + info->modMap[MIN_KEYCODE + i] = Mod2Mask; + break; + + case XK_Num_Lock: + info->modMap[MIN_KEYCODE + i] = Mod3Mask; + break; + } + } +} + +/* + * DarwinLoadKeyboardMapping + * Load the keyboard map from a file or system and convert + * it to an equivalent X keyboard map and modifier map. + */ +static void DarwinLoadKeyboardMapping(KeySymsRec *keySyms) { + pthread_mutex_lock(&keyInfo_mutex); + + DarwinBuildModifierMaps(&keyInfo); + + keySyms->map = keyInfo.keyMap; + keySyms->mapWidth = GLYPHS_PER_KEY; + keySyms->minKeyCode = MIN_KEYCODE; + keySyms->maxKeyCode = MAX_KEYCODE; + + pthread_mutex_unlock(&keyInfo_mutex); +} + +/* + * DarwinKeyboardSetDeviceKeyMap + * Load a keymap into the keyboard device + */ +static void DarwinKeyboardSetDeviceKeyMap(KeySymsRec *keySyms) { + DeviceIntPtr pDev; + + /* From ProcSetModifierMapping */ + SendMappingNotify(darwinKeyboard, MappingModifier, 0, 0, serverClient); + for (pDev = inputInfo.devices; pDev; pDev = pDev->next) + if (pDev->key && pDev->coreEvents) + SendDeviceMappingNotify(serverClient, MappingModifier, 0, 0, pDev); + + /* From ProcChangeKeyboardMapping */ + for (pDev = inputInfo.devices; pDev; pDev = pDev->next) + if ((pDev->coreEvents || pDev == inputInfo.keyboard) && pDev->key) + assert(SetKeySymsMap(&pDev->key->curKeySyms, keySyms)); + + SendMappingNotify(darwinKeyboard, MappingKeyboard, keySyms->minKeyCode, + keySyms->maxKeyCode - keySyms->minKeyCode + 1, serverClient); + for (pDev = inputInfo.devices; pDev; pDev = pDev->next) + if (pDev->key && pDev->coreEvents) + SendDeviceMappingNotify(serverClient, MappingKeyboard, keySyms->minKeyCode, + keySyms->maxKeyCode - keySyms->minKeyCode + 1, pDev); +} + +/* + * DarwinKeyboardInit + * Get the Darwin keyboard map and compute an equivalent + * X keyboard map and modifier map. Set the new keyboard + * device structure. + */ +void DarwinKeyboardInit(DeviceIntPtr pDev) { + KeySymsRec keySyms; + XkbComponentNamesRec names; + CFIndex value; + BOOL ok; + + // Open a shared connection to the HID System. + // Note that the Event Status Driver is really just a wrapper + // for a kIOHIDParamConnectType connection. + assert(darwinParamConnect = NXOpenEventStatus()); + + DarwinLoadKeyboardMapping(&keySyms); + + bzero(&names, sizeof(names)); + + /* We need to really have rules... or something... */ + //XkbSetRulesDflts("base", "pc105", "us", NULL, NULL); + + pthread_mutex_lock(&keyInfo_mutex); + assert(XkbInitKeyboardDeviceStruct(pDev, &names, &keySyms, keyInfo.modMap, + QuartzBell, DarwinChangeKeyboardControl)); + pthread_mutex_unlock(&keyInfo_mutex); + + /* Get our key repeat settings from GlobalPreferences */ + (void)CFPreferencesAppSynchronize(CFSTR(".GlobalPreferences")); + value = CFPreferencesGetAppIntegerValue(CFSTR("InitialKeyRepeat"), CFSTR(".GlobalPreferences"), &ok); + if(!ok) + value = 35; + + if(value == 300000) { // off + XkbSetRepeatKeys(pDev, -1, AutoRepeatModeOff); + } else { + pDev->key->xkbInfo->desc->ctrls->repeat_delay = value * 15; + + value = CFPreferencesGetAppIntegerValue(CFSTR("KeyRepeat"), CFSTR(".GlobalPreferences"), &ok); + if(!ok) + value = 6; + pDev->key->xkbInfo->desc->ctrls->repeat_interval = value * 15; + + XkbSetRepeatKeys(pDev, -1, AutoRepeatModeOn); + } + + DarwinKeyboardSetDeviceKeyMap(&keySyms); +} + +void DarwinKeyboardReloadHandler(int screenNum, xEventPtr xe, DeviceIntPtr pDev, int nevents) { + KeySymsRec keySyms; + + DEBUG_LOG("DarwinKeyboardReloadHandler\n"); + + DarwinLoadKeyboardMapping(&keySyms); + DarwinKeyboardSetDeviceKeyMap(&keySyms); +} - KLGetCurrentKeyboardLayout (&key_layout); - if (key_layout != last_key_layout) seed++; - last_key_layout = key_layout; +//----------------------------------------------------------------------------- +// Modifier translation functions +// +// There are three different ways to specify a Mac modifier key: +// keycode - specifies hardware key, read from keymapping +// key - NX_MODIFIERKEY_*, really an index +// mask - NX_*MASK, mask for modifier flags in event record +// Left and right side have different keycodes but the same key and mask. +//----------------------------------------------------------------------------- - return seed; +/* + * DarwinModifierNXKeyToNXKeycode + * Return the keycode for an NX_MODIFIERKEY_* modifier. + * side = 0 for left or 1 for right. + * Returns 0 if key+side is not a known modifier. + */ +int DarwinModifierNXKeyToNXKeycode(int key, int side) { + int retval; + pthread_mutex_lock(&keyInfo_mutex); + retval = keyInfo.modifierKeycodes[key][side]; + pthread_mutex_unlock(&keyInfo_mutex); + + return retval; +} + +/* + * DarwinModifierNXKeycodeToNXKey + * Returns -1 if keycode+side is not a modifier key + * outSide may be NULL, else it gets 0 for left and 1 for right. + */ +int DarwinModifierNXKeycodeToNXKey(unsigned char keycode, int *outSide) { + int key, side; + + pthread_mutex_lock(&keyInfo_mutex); + keycode += MIN_KEYCODE; + // search modifierKeycodes for this keycode+side + for (key = 0; key < NX_NUMMODIFIERS; key++) { + for (side = 0; side <= 1; side++) { + if (keyInfo.modifierKeycodes[key][side] == keycode) break; + } + } + if (key == NX_NUMMODIFIERS) { + pthread_mutex_unlock(&keyInfo_mutex); + return -1; + } + if (outSide) *outSide = side; + + pthread_mutex_unlock(&keyInfo_mutex); + return key; +} + +/* + * DarwinModifierNXMaskToNXKey + * Returns -1 if mask is not a known modifier mask. + */ +int DarwinModifierNXMaskToNXKey(int mask) { + switch (mask) { + case NX_ALPHASHIFTMASK: return NX_MODIFIERKEY_ALPHALOCK; + case NX_SHIFTMASK: return NX_MODIFIERKEY_SHIFT; +#ifdef NX_DEVICELSHIFTKEYMASK + case NX_DEVICELSHIFTKEYMASK: return NX_MODIFIERKEY_SHIFT; + case NX_DEVICERSHIFTKEYMASK: return NX_MODIFIERKEY_RSHIFT; +#endif + case NX_CONTROLMASK: return NX_MODIFIERKEY_CONTROL; +#ifdef NX_DEVICELCTLKEYMASK + case NX_DEVICELCTLKEYMASK: return NX_MODIFIERKEY_CONTROL; + case NX_DEVICERCTLKEYMASK: return NX_MODIFIERKEY_RCONTROL; +#endif + case NX_ALTERNATEMASK: return NX_MODIFIERKEY_ALTERNATE; +#ifdef NX_DEVICELALTKEYMASK + case NX_DEVICELALTKEYMASK: return NX_MODIFIERKEY_ALTERNATE; + case NX_DEVICERALTKEYMASK: return NX_MODIFIERKEY_RALTERNATE; +#endif + case NX_COMMANDMASK: return NX_MODIFIERKEY_COMMAND; +#ifdef NX_DEVICELCMDKEYMASK + case NX_DEVICELCMDKEYMASK: return NX_MODIFIERKEY_COMMAND; + case NX_DEVICERCMDKEYMASK: return NX_MODIFIERKEY_RCOMMAND; +#endif + case NX_NUMERICPADMASK: return NX_MODIFIERKEY_NUMERICPAD; + case NX_HELPMASK: return NX_MODIFIERKEY_HELP; + case NX_SECONDARYFNMASK: return NX_MODIFIERKEY_SECONDARYFN; + } + return -1; +} + +/* + * DarwinModifierNXKeyToNXMask + * Returns 0 if key is not a known modifier key. + */ +int DarwinModifierNXKeyToNXMask(int key) { + switch (key) { + case NX_MODIFIERKEY_ALPHALOCK: return NX_ALPHASHIFTMASK; +#ifdef NX_DEVICELSHIFTKEYMASK + case NX_MODIFIERKEY_SHIFT: return NX_DEVICELSHIFTKEYMASK; + case NX_MODIFIERKEY_RSHIFT: return NX_DEVICERSHIFTKEYMASK; + case NX_MODIFIERKEY_CONTROL: return NX_DEVICELCTLKEYMASK; + case NX_MODIFIERKEY_RCONTROL: return NX_DEVICERCTLKEYMASK; + case NX_MODIFIERKEY_ALTERNATE: return NX_DEVICELALTKEYMASK; + case NX_MODIFIERKEY_RALTERNATE: return NX_DEVICERALTKEYMASK; + case NX_MODIFIERKEY_COMMAND: return NX_DEVICELCMDKEYMASK; + case NX_MODIFIERKEY_RCOMMAND: return NX_DEVICERCMDKEYMASK; +#else + case NX_MODIFIERKEY_SHIFT: return NX_SHIFTMASK; + case NX_MODIFIERKEY_CONTROL: return NX_CONTROLMASK; + case NX_MODIFIERKEY_ALTERNATE: return NX_ALTERNATEMASK; + case NX_MODIFIERKEY_COMMAND: return NX_COMMANDMASK; +#endif + case NX_MODIFIERKEY_NUMERICPAD: return NX_NUMERICPADMASK; + case NX_MODIFIERKEY_HELP: return NX_HELPMASK; + case NX_MODIFIERKEY_SECONDARYFN: return NX_SECONDARYFNMASK; + } + return 0; +} + +/* + * DarwinModifierStringToNXMask + * Returns 0 if string is not a known modifier. + */ +int DarwinModifierStringToNXMask(const char *str, int separatelr) { +#ifdef NX_DEVICELSHIFTKEYMASK + if(separatelr) { + if (!strcasecmp(str, "shift")) return NX_DEVICELSHIFTKEYMASK | NX_DEVICERSHIFTKEYMASK; + if (!strcasecmp(str, "control")) return NX_DEVICELCTLKEYMASK | NX_DEVICERCTLKEYMASK; + if (!strcasecmp(str, "option")) return NX_DEVICELALTKEYMASK | NX_DEVICERALTKEYMASK; + if (!strcasecmp(str, "alt")) return NX_DEVICELALTKEYMASK | NX_DEVICERALTKEYMASK; + if (!strcasecmp(str, "command")) return NX_DEVICELCMDKEYMASK | NX_DEVICERCMDKEYMASK; + if (!strcasecmp(str, "lshift")) return NX_DEVICELSHIFTKEYMASK; + if (!strcasecmp(str, "rshift")) return NX_DEVICERSHIFTKEYMASK; + if (!strcasecmp(str, "lcontrol")) return NX_DEVICELCTLKEYMASK; + if (!strcasecmp(str, "rcontrol")) return NX_DEVICERCTLKEYMASK; + if (!strcasecmp(str, "loption")) return NX_DEVICELALTKEYMASK; + if (!strcasecmp(str, "roption")) return NX_DEVICERALTKEYMASK; + if (!strcasecmp(str, "lalt")) return NX_DEVICELALTKEYMASK; + if (!strcasecmp(str, "ralt")) return NX_DEVICERALTKEYMASK; + if (!strcasecmp(str, "lcommand")) return NX_DEVICELCMDKEYMASK; + if (!strcasecmp(str, "rcommand")) return NX_DEVICERCMDKEYMASK; + } else { +#endif + if (!strcasecmp(str, "shift")) return NX_SHIFTMASK; + if (!strcasecmp(str, "control")) return NX_CONTROLMASK; + if (!strcasecmp(str, "option")) return NX_ALTERNATEMASK; + if (!strcasecmp(str, "alt")) return NX_ALTERNATEMASK; + if (!strcasecmp(str, "command")) return NX_COMMANDMASK; + if (!strcasecmp(str, "lshift")) return NX_SHIFTMASK; + if (!strcasecmp(str, "rshift")) return NX_SHIFTMASK; + if (!strcasecmp(str, "lcontrol")) return NX_CONTROLMASK; + if (!strcasecmp(str, "rcontrol")) return NX_CONTROLMASK; + if (!strcasecmp(str, "loption")) return NX_ALTERNATEMASK; + if (!strcasecmp(str, "roption")) return NX_ALTERNATEMASK; + if (!strcasecmp(str, "lalt")) return NX_ALTERNATEMASK; + if (!strcasecmp(str, "ralt")) return NX_ALTERNATEMASK; + if (!strcasecmp(str, "lcommand")) return NX_COMMANDMASK; + if (!strcasecmp(str, "rcommand")) return NX_COMMANDMASK; +#ifdef NX_DEVICELSHIFTKEYMASK + } +#endif + if (!strcasecmp(str, "lock")) return NX_ALPHASHIFTMASK; + if (!strcasecmp(str, "fn")) return NX_SECONDARYFNMASK; + if (!strcasecmp(str, "help")) return NX_HELPMASK; + if (!strcasecmp(str, "numlock")) return NX_NUMERICPADMASK; + return 0; +} + +/* + * LegalModifier + * This allows the ddx layer to prevent some keys from being remapped + * as modifier keys. + */ +Bool LegalModifier(unsigned int key, DeviceIntPtr pDev) +{ + return 1; } static inline UniChar macroman2ucs(unsigned char c) { @@ -196,41 +586,78 @@ static KeySym make_dead_key(KeySym in) { } Bool QuartzReadSystemKeymap(darwinKeyboardInfo *info) { +#if !defined(__LP64__) || MAC_OS_X_VERSION_MIN_REQUIRED < 1050 KeyboardLayoutRef key_layout; + int is_uchr = 1; +#endif const void *chr_data = NULL; int num_keycodes = NUM_KEYCODES; - UInt32 keyboard_type = 0; - int is_uchr = 1, i, j; + UInt32 keyboard_type = LMGetKbdType(); + int i, j; OSStatus err; KeySym *k; + CFDataRef currentKeyLayoutDataRef = NULL; +#if MAC_OS_X_VERSION_MIN_REQUIRED >= 1050 TISInputSourceRef currentKeyLayoutRef = TISCopyCurrentKeyboardLayoutInputSource(); - keyboard_type = LMGetKbdType (); + if (currentKeyLayoutRef) { - CFDataRef currentKeyLayoutDataRef = (CFDataRef )TISGetInputSourceProperty(currentKeyLayoutRef, kTISPropertyUnicodeKeyLayoutData); - if (currentKeyLayoutDataRef) chr_data = CFDataGetBytePtr(currentKeyLayoutDataRef); + currentKeyLayoutDataRef = (CFDataRef )TISGetInputSourceProperty(currentKeyLayoutRef, kTISPropertyUnicodeKeyLayoutData); + if (currentKeyLayoutDataRef) + chr_data = CFDataGetBytePtr(currentKeyLayoutDataRef); } - +#endif + +#if !defined(__LP64__) || MAC_OS_X_VERSION_MIN_REQUIRED < 1050 if (chr_data == NULL) { - KLGetCurrentKeyboardLayout (&key_layout); - KLGetKeyboardLayoutProperty (key_layout, kKLuchrData, &chr_data); +#if MAC_OS_X_VERSION_MIN_REQUIRED >= 1050 + ErrorF("X11.app: Error detected in determining keyboard layout. If you are using an Apple-provided keyboard layout, please report this error at http://xquartz.macosforge.org and http://bugreport.apple.com\n"); + ErrorF("X11.app: Debug Info: keyboard_type=%u, currentKeyLayoutRef=%p, currentKeyLayoutDataRef=%p, chr_data=%p\n", + (unsigned)keyboard_type, currentKeyLayoutRef, currentKeyLayoutDataRef, chr_data); +#endif + + KLGetCurrentKeyboardLayout (&key_layout); + KLGetKeyboardLayoutProperty (key_layout, kKLuchrData, &chr_data); + +#if MAC_OS_X_VERSION_MIN_REQUIRED >= 1050 + if(chr_data != NULL) { + ErrorF("X11.app: Fallback succeeded, but this is still a bug. Please report the above information.\n"); + } +#endif } - + if (chr_data == NULL) { - KLGetKeyboardLayoutProperty (key_layout, kKLKCHRData, &chr_data); - is_uchr = 0; - num_keycodes = 128; + ErrorF("X11.app: Debug Info: kKLuchrData failed, trying kKLKCHRData.\n"); + ErrorF("If you are using a 3rd party keyboard layout, please see http://xquartz.macosforge.org/trac/ticket/154\n"); + KLGetKeyboardLayoutProperty (key_layout, kKLKCHRData, &chr_data); + is_uchr = 0; + num_keycodes = 128; + +#if MAC_OS_X_VERSION_MIN_REQUIRED >= 1050 + if(chr_data != NULL) { + ErrorF("X11.app: Fallback succeeded, but this is still a bug. Please report the above information.\n"); + } +#endif } +#endif + +#if MAC_OS_X_VERSION_MIN_REQUIRED >= 1050 + if(currentKeyLayoutRef) + CFRelease(currentKeyLayoutRef); +#endif if (chr_data == NULL) { ErrorF ( "Couldn't get uchr or kchr resource\n"); return FALSE; } - + /* Scan the keycode range for the Unicode character that each key produces in the four shift states. Then convert that to an X11 keysym (which may just the bit that says "this is Unicode" if it can't find the real symbol.) */ + + /* KeyTranslate is not available on 64-bit platforms; UCKeyTranslate + must be used instead. */ for (i = 0; i < num_keycodes; i++) { static const int mods[4] = {0, MOD_SHIFT, MOD_OPTION, @@ -239,7 +666,9 @@ Bool QuartzReadSystemKeymap(darwinKeyboardInfo *info) { k = info->keyMap + i * GLYPHS_PER_KEY; for (j = 0; j < 4; j++) { +#if !defined(__LP64__) || MAC_OS_X_VERSION_MIN_REQUIRED < 1050 if (is_uchr) { +#endif UniChar s[8]; UniCharCount len; UInt32 dead_key_state = 0, extra_dead = 0; @@ -263,6 +692,7 @@ Bool QuartzReadSystemKeymap(darwinKeyboardInfo *info) { k[j] = ucs2keysym (s[0]); if (dead_key_state != 0) k[j] = make_dead_key (k[j]); } +#if !defined(__LP64__) || MAC_OS_X_VERSION_MIN_REQUIRED < 1050 } else { // kchr UInt32 c, state = 0, state2 = 0; UInt16 code; @@ -286,6 +716,7 @@ Bool QuartzReadSystemKeymap(darwinKeyboardInfo *info) { if (state != 0) k[j] = make_dead_key (k[j]); } } +#endif } if (k[3] == k[2]) k[3] = NoSymbol; @@ -318,7 +749,6 @@ Bool QuartzReadSystemKeymap(darwinKeyboardInfo *info) { k[0] = known_numeric_keys[i].keypad; } } - if(currentKeyLayoutRef) CFRelease(currentKeyLayoutRef); - + return TRUE; } diff --git a/xorg-server/hw/xquartz/quartzKeyboard.h b/xorg-server/hw/xquartz/quartzKeyboard.h index 0c7e70e48..215a4a9a5 100644 --- a/xorg-server/hw/xquartz/quartzKeyboard.h +++ b/xorg-server/hw/xquartz/quartzKeyboard.h @@ -32,6 +32,8 @@ #include "X11/keysym.h" #include "inputstr.h" +#include + // Each key can generate 4 glyphs. They are, in order: // unshifted, shifted, modeswitch unshifted, modeswitch shifted #define GLYPHS_PER_KEY 4 @@ -45,9 +47,20 @@ typedef struct darwinKeyboardInfo_struct { unsigned char modifierKeycodes[32][2]; } darwinKeyboardInfo; -/* These functions need to be implemented by XQuartz, XDarwin, etc. */ -void DarwinKeyboardReload(DeviceIntPtr pDev); +/* These functions need to be implemented by Xquartz, XDarwin, etc. */ Bool QuartzReadSystemKeymap(darwinKeyboardInfo *info); -unsigned int QuartzSystemKeymapSeed(void); + +/* Provided for darwinEvents.c */ +extern darwinKeyboardInfo keyInfo; +extern pthread_mutex_t keyInfo_mutex; +void DarwinKeyboardReloadHandler(int screenNum, xEventPtr xe, DeviceIntPtr dev, int nevents); +int DarwinModifierNXKeycodeToNXKey(unsigned char keycode, int *outSide); +int DarwinModifierNXKeyToNXKeycode(int key, int side); +int DarwinModifierNXKeyToNXMask(int key); +int DarwinModifierNXMaskToNXKey(int mask); +int DarwinModifierStringToNXMask(const char *string, int separatelr); + +/* Provided for darwin.c */ +void DarwinKeyboardInit(DeviceIntPtr pDev); #endif /* QUARTZ_KEYBOARD_H */ diff --git a/xorg-server/hw/xquartz/quartzPasteboard.c b/xorg-server/hw/xquartz/quartzPasteboard.c index 0bf84f5d5..60bcabe4c 100644 --- a/xorg-server/hw/xquartz/quartzPasteboard.c +++ b/xorg-server/hw/xquartz/quartzPasteboard.c @@ -34,6 +34,8 @@ #include #endif +#include "misc.h" +#include "inputstr.h" #include "quartzPasteboard.h" #include @@ -76,8 +78,8 @@ static char * QuartzReadCutBuffer(void) } // Write X cut buffer to Mac OS X pasteboard -// Called by ProcessInputEvents() in response to request from X server thread. -void QuartzWritePasteboard(void) +// Called by mieqProcessInputEvents() in response to request from X server thread. +void QuartzWritePasteboard(int screenNum, xEventPtr xe, DeviceIntPtr dev, int nevents) { char *text; text = QuartzReadCutBuffer(); @@ -90,8 +92,8 @@ void QuartzWritePasteboard(void) #define strequal(a, b) (0 == strcmp((a), (b))) // Read Mac OS X pasteboard into X cut buffer -// Called by ProcessInputEvents() in response to request from X server thread. -void QuartzReadPasteboard(void) +// Called by mieqProcessInputEvents() in response to request from X server thread. +void QuartzReadPasteboard(int screenNum, xEventPtr xe, DeviceIntPtr dev, int nevents) { char *oldText = QuartzReadCutBuffer(); char *text = QuartzReadCocoaPasteboard(); @@ -129,7 +131,7 @@ void QuartzReadPasteboard(void) event.u.selectionClear.time = GetTimeInMillis(); event.u.selectionClear.window = pSel->window; event.u.selectionClear.atom = pSel->selection; - TryClientEvents(pSel->client, &event, 1, NoEventMask, + TryClientEvents(pSel->client, dev, &event, 1, NoEventMask, NoEventMask /*CantBeFiltered*/, NullGrab); } diff --git a/xorg-server/hw/xquartz/quartzPasteboard.h b/xorg-server/hw/xquartz/quartzPasteboard.h index d6a8ee815..b51cd88e0 100644 --- a/xorg-server/hw/xquartz/quartzPasteboard.h +++ b/xorg-server/hw/xquartz/quartzPasteboard.h @@ -34,11 +34,11 @@ #define _QUARTZPASTEBOARD_H // Aqua->X -void QuartzReadPasteboard(void); +void QuartzReadPasteboard(int, xEventPtr, DeviceIntPtr, int); char * QuartzReadCocoaPasteboard(void); // caller must free string // X->Aqua -void QuartzWritePasteboard(void); +void QuartzWritePasteboard(int, xEventPtr, DeviceIntPtr, int); void QuartzWriteCocoaPasteboard(char *text); #endif /* _QUARTZPASTEBOARD_H */ diff --git a/xorg-server/hw/xquartz/quartzStartup.c b/xorg-server/hw/xquartz/quartzStartup.c index e25e15583..ba92ecef6 100644 --- a/xorg-server/hw/xquartz/quartzStartup.c +++ b/xorg-server/hw/xquartz/quartzStartup.c @@ -27,6 +27,8 @@ * use or other dealings in this Software without prior written authorization. */ +#include "sanitizedCarbon.h" + #ifdef HAVE_DIX_CONFIG_H #include #endif @@ -37,46 +39,69 @@ #include "quartzCommon.h" #include "X11Controller.h" #include "darwin.h" +#include "darwinEvents.h" +#include "quartzAudio.h" #include "quartz.h" #include "opaque.h" #include "micmap.h" -#ifdef NDEBUG -#undef NDEBUG -#include -#define NDEBUG 1 -#else #include -#endif -char **envpGlobal; // argcGlobal and argvGlobal - // are from dix/globals.c +#include + +int dix_main(int argc, char **argv, char **envp); -int main(int argc, char **argv, char **envp); -void _InitHLTB(void); -void DarwinHandleGUI(int argc, char **argv, char **envp); +struct arg { + int argc; + char **argv; + char **envp; +}; static void server_thread (void *arg) { - exit (main (argcGlobal, argvGlobal, envpGlobal)); + struct arg args = *((struct arg *)arg); + free(arg); + exit (dix_main(args.argc, args.argv, args.envp)); } -/* - * DarwinHandleGUI - * This function is called first from main(). The first time - * it is called we start the Mac OS X front end. The front end - * will call main() again from another thread to run the X - * server. On the second call this function loads the user - * preferences set by the Mac OS X front end. - */ -void DarwinHandleGUI(int argc, char **argv, char **envp) { - static Bool been_here = FALSE; +static pthread_t 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 tid; +} + +void QuartzInitServer(int argc, char **argv, char **envp) { + struct arg *args = (struct arg*)malloc(sizeof(struct arg)); + if(!args) + FatalError("Could not allocate memory.\n"); + + args->argc = argc; + args->argv = argv; + args->envp = envp; + + APPKIT_THREAD_ID = pthread_self(); + SERVER_THREAD_ID = create_thread(server_thread, args); + + if (!SERVER_THREAD_ID) { + FatalError("can't create secondary thread\n"); + } +} + +int server_main(int argc, char **argv, char **envp) { int i; int fd[2]; - if (been_here) { - return; - } - been_here = TRUE; + /* Unset CFProcessPath, so our children don't inherit this kludge we need + * to load our nib. If an xterm gets this set, then it fails to + * 'open hi.txt' properly. + */ + unsetenv("CFProcessPath"); // Make a pipe to pass events assert( pipe(fd) == 0 ); @@ -84,11 +109,6 @@ void DarwinHandleGUI(int argc, char **argv, char **envp) { darwinEventWriteFD = fd[1]; fcntl(darwinEventReadFD, F_SETFL, O_NONBLOCK); - // Store command line arguments to pass back to main() - argcGlobal = argc; - argvGlobal = argv; - envpGlobal = envp; - for (i = 1; i < argc; i++) { // Display version info without starting Mac OS X UI if requested if (!strcmp( argv[i], "-showconfig" ) || !strcmp( argv[i], "-version" )) { @@ -97,16 +117,9 @@ void DarwinHandleGUI(int argc, char **argv, char **envp) { } } - /* 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. */ - - _InitHLTB(); - X11ControllerMain(argc, (const char **)argv, server_thread, NULL); + /* Create the audio mutex */ + QuartzAudioInit(); + + X11ControllerMain(argc, argv, envp); exit(0); } diff --git a/xorg-server/hw/xquartz/sanitizedCarbon.h b/xorg-server/hw/xquartz/sanitizedCarbon.h new file mode 100644 index 000000000..cc6ef198d --- /dev/null +++ b/xorg-server/hw/xquartz/sanitizedCarbon.h @@ -0,0 +1,32 @@ +/* + * Don't #include any of the AppKit, etc stuff directly since it will + * pollute the X11 namespace. + */ + +#ifndef _XQ_SANITIZED_CARBON_H_ +#define _XQ_SANITIZED_CARBON_H_ + +// QuickDraw in ApplicationServices has the following conflicts with +// the basic X server headers. Use QD_ to use the QuickDraw +// definition of any of these symbols, or the normal name for the +// X11 definition. +#define Cursor QD_Cursor +#define WindowPtr QD_WindowPtr +#define Picture QD_Picture +#define BOOL OSX_BOOL +#define EventType HIT_EventType + +#include +#include +#include +#include +#include +#include // For the NXSwap* + +#undef Cursor +#undef WindowPtr +#undef Picture +#undef BOOL +#undef EventType + +#endif /* _XQ_SANITIZED_CARBON_H_ */ diff --git a/xorg-server/hw/xquartz/sanitizedCocoa.h b/xorg-server/hw/xquartz/sanitizedCocoa.h new file mode 100644 index 000000000..58de64c1c --- /dev/null +++ b/xorg-server/hw/xquartz/sanitizedCocoa.h @@ -0,0 +1,27 @@ +/* + * Don't #include any of the AppKit, etc stuff directly since it will + * pollute the X11 namespace. + */ + +#ifndef _XQ_SANITIZED_COCOA_H_ +#define _XQ_SANITIZED_COCOA_H_ + +// QuickDraw in ApplicationServices has the following conflicts with +// the basic X server headers. Use QD_ to use the QuickDraw +// definition of any of these symbols, or the normal name for the +// X11 definition. +#define Cursor QD_Cursor +#define WindowPtr QD_WindowPtr +#define Picture QD_Picture +#define BOOL OSX_BOOL +#define EventType HIT_EventType + +#include + +#undef Cursor +#undef WindowPtr +#undef Picture +#undef BOOL +#undef EventType + +#endif /* _XQ_SANITIZED_COCOA_H_ */ diff --git a/xorg-server/hw/xquartz/threadSafety.c b/xorg-server/hw/xquartz/threadSafety.c new file mode 100644 index 000000000..85f85bd0a --- /dev/null +++ b/xorg-server/hw/xquartz/threadSafety.c @@ -0,0 +1,78 @@ +/* + * Copyright (C) 2008 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. + */ + +#ifdef HAVE_DIX_CONFIG_H +#include +#endif + +#include "threadSafety.h" +#include "os.h" + +pthread_t APPKIT_THREAD_ID; +pthread_t SERVER_THREAD_ID; + +#include + +#if MAC_OS_X_VERSION_MIN_REQUIRED >= 1050 +#include + +void spewCallStack(void) { + void* callstack[128]; + int i, frames = backtrace(callstack, 128); + char** strs = backtrace_symbols(callstack, frames); + + for (i = 0; i < frames; ++i) { + ErrorF("%s\n", strs[i]); + } + + free(strs); +} +#else +void spewCallStack(void) { + return; +} +#endif + +void _threadSafetyAssert(pthread_t tid, const char *file, const char *fun, int line) { + if(pthread_equal(pthread_self(), tid)) + return; + + /* NOOOO! */ + ErrorF("Thread Assertion Failed: self=%s, expected=%s\n%s:%s:%d\n", + threadSafetyID(pthread_self()), threadSafetyID(tid), + file, fun, line); + spewCallStack(); +} + +const char *threadSafetyID(pthread_t tid) { + if(pthread_equal(tid, APPKIT_THREAD_ID)) { + return "Appkit Thread"; + } else if(pthread_equal(tid, SERVER_THREAD_ID)) { + return "Xserver Thread"; + } else { + return "Unknown Thread"; + } +} diff --git a/xorg-server/hw/xquartz/threadSafety.h b/xorg-server/hw/xquartz/threadSafety.h new file mode 100644 index 000000000..7b009103a --- /dev/null +++ b/xorg-server/hw/xquartz/threadSafety.h @@ -0,0 +1,56 @@ +/* + * Copyright (C) 2008 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. + */ + +#ifndef _XQ_THREAD_SAFETY_H_ +#define _XQ_THREAD_SAFETY_H_ + +#define DEBUG_THREADS 1 + +#include + +extern pthread_t APPKIT_THREAD_ID; +extern pthread_t SERVER_THREAD_ID; + +/* Dump the call stack */ +void spewCallStack(void); + +/* Print message to ErrorF if we're in the wrong thread */ +void _threadSafetyAssert(pthread_t tid, const char *file, const char *fun, int line); + +/* Get a string that identifies our thread nicely */ +const char *threadSafetyID(pthread_t tid); + +#define threadSafetyAssert(tid) _threadSafetyAssert(tid, __FILE__, __FUNCTION__, __LINE__) + +#ifdef DEBUG_THREADS +#define TA_APPKIT() threadSafetyAssert(APPKIT_THREAD_ID) +#define TA_SERVER() threadSafetyAssert(SERVER_THREAD_ID) +#else +#define TA_SERVER() +#define TA_APPKIT() +#endif + +#endif _XQ_THREAD_SAFETY_H_ diff --git a/xorg-server/hw/xquartz/xpr/Makefile.am b/xorg-server/hw/xquartz/xpr/Makefile.am index ae1b19297..e74580f73 100644 --- a/xorg-server/hw/xquartz/xpr/Makefile.am +++ b/xorg-server/hw/xquartz/xpr/Makefile.am @@ -1,72 +1,23 @@ -bin_PROGRAMS = Xquartz +noinst_LTLIBRARIES = libXquartzXpr.la AM_CFLAGS = $(XSERVER_CFLAGS) $(DIX_CFLAGS) AM_CPPFLAGS = \ -I$(srcdir) -I$(srcdir)/.. \ -I$(top_srcdir)/miext \ - -I$(top_srcdir)/miext/rootless \ - -I$(top_srcdir)/miext/rootless/safeAlpha + -I$(top_srcdir)/miext/rootless -Xquartz_SOURCES = \ +libXquartzXpr_la_SOURCES = \ appledri.c \ dri.c \ xprAppleWM.c \ xprCursor.c \ + xprEvent.c \ xprFrame.c \ xprScreen.c \ x-hash.c \ x-hook.c \ x-list.c -Xquartz_LDADD = \ - $(top_builddir)/hw/xquartz/libXquartz.la \ - $(top_builddir)/dix/dixfonts.lo \ - $(top_builddir)/config/libconfig.a \ - $(top_builddir)/dix/libdix.la \ - $(top_builddir)/os/libos.la \ - $(top_builddir)/dix/libxpstubs.la \ - $(top_builddir)/miext/shadow/libshadow.la \ - $(top_builddir)/fb/libfb.la \ - $(top_builddir)/mi/libmi.la \ - $(top_builddir)/composite/libcomposite.la \ - $(top_builddir)/damageext/libdamageext.la \ - $(top_builddir)/miext/damage/libdamage.la \ - $(top_builddir)/xfixes/libxfixes.la \ - $(top_builddir)/miext/cw/libcw.la \ - $(top_builddir)/Xext/libXext.la \ - $(top_builddir)/xkb/libxkb.la \ - $(top_builddir)/xkb/libxkbstubs.la \ - $(top_builddir)/Xi/libXi.la \ - $(top_builddir)/dbe/libdbe.la \ - $(top_builddir)/record/librecord.la \ - $(top_builddir)/XTrap/libxtrap.la \ - $(top_builddir)/miext/rootless/librootless.la \ - $(top_builddir)/miext/rootless/safeAlpha/libsafeAlpha.la \ - $(top_builddir)/miext/rootless/accel/librlAccel.la \ - $(DARWIN_LIBS) $(XSERVER_LIBS) $(XSERVER_SYS_LIBS) -lXplugin - -Xquartz_LDFLAGS = \ - -XCClinker -Objc \ - -Wl,-u,_miDCInitialize \ - -Wl,-framework,Carbon \ - -L/System/Library/Frameworks/OpenGL.framework/Libraries -lGL \ - -Wl,-framework,OpenGL \ - -Wl,-framework,Cocoa \ - -Wl,-framework,CoreAudio \ - -Wl,-framework,IOKit - -appmandir = $(APP_MAN_DIR) -appman_PRE = Xquartz.man.pre -appman_PROCESSED = $(appman_PRE:man.pre=man) -appman_DATA = $(appman_PRE:man.pre=@APP_MAN_SUFFIX@) - -CLEANFILES = $(appman_PROCESSED) $(appman_DATA) - -include $(top_srcdir)/cpprules.in - -.man.$(APP_MAN_SUFFIX): - cp $< $@ - EXTRA_DIST = \ dri.h \ dristruct.h \ @@ -75,4 +26,5 @@ EXTRA_DIST = \ x-hash.h \ x-hook.h \ x-list.h \ - xpr.h + xpr.h \ + xprEvent.h diff --git a/xorg-server/hw/xquartz/xpr/Makefile.in b/xorg-server/hw/xquartz/xpr/Makefile.in index 6f3dcb75c..11d36bb49 100644 --- a/xorg-server/hw/xquartz/xpr/Makefile.in +++ b/xorg-server/hw/xquartz/xpr/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -14,11 +14,6 @@ @SET_MAKE@ -# -*- Makefile -*- -# Rules for generating files using the C pre-processor -# (Replaces CppFileTarget from Imake) - - VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -37,10 +32,8 @@ PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ -bin_PROGRAMS = Xquartz$(EXEEXT) -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ - $(top_srcdir)/cpprules.in subdir = hw/xquartz/xpr +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 @@ -50,68 +43,28 @@ 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)$(appmandir)" -binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) -PROGRAMS = $(bin_PROGRAMS) -am_Xquartz_OBJECTS = appledri.$(OBJEXT) dri.$(OBJEXT) \ - xprAppleWM.$(OBJEXT) xprCursor.$(OBJEXT) xprFrame.$(OBJEXT) \ - xprScreen.$(OBJEXT) x-hash.$(OBJEXT) x-hook.$(OBJEXT) \ - x-list.$(OBJEXT) -Xquartz_OBJECTS = $(am_Xquartz_OBJECTS) -am__DEPENDENCIES_1 = -Xquartz_DEPENDENCIES = $(top_builddir)/hw/xquartz/libXquartz.la \ - $(top_builddir)/dix/dixfonts.lo \ - $(top_builddir)/config/libconfig.a \ - $(top_builddir)/dix/libdix.la $(top_builddir)/os/libos.la \ - $(top_builddir)/dix/libxpstubs.la \ - $(top_builddir)/miext/shadow/libshadow.la \ - $(top_builddir)/fb/libfb.la $(top_builddir)/mi/libmi.la \ - $(top_builddir)/composite/libcomposite.la \ - $(top_builddir)/damageext/libdamageext.la \ - $(top_builddir)/miext/damage/libdamage.la \ - $(top_builddir)/xfixes/libxfixes.la \ - $(top_builddir)/miext/cw/libcw.la \ - $(top_builddir)/Xext/libXext.la $(top_builddir)/xkb/libxkb.la \ - $(top_builddir)/xkb/libxkbstubs.la $(top_builddir)/Xi/libXi.la \ - $(top_builddir)/dbe/libdbe.la \ - $(top_builddir)/record/librecord.la \ - $(top_builddir)/XTrap/libxtrap.la \ - $(top_builddir)/miext/rootless/librootless.la \ - $(top_builddir)/miext/rootless/safeAlpha/libsafeAlpha.la \ - $(top_builddir)/miext/rootless/accel/librlAccel.la \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) -Xquartz_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(Xquartz_LDFLAGS) \ - $(LDFLAGS) -o $@ +LTLIBRARIES = $(noinst_LTLIBRARIES) +libXquartzXpr_la_LIBADD = +am_libXquartzXpr_la_OBJECTS = appledri.lo dri.lo xprAppleWM.lo \ + xprCursor.lo xprEvent.lo xprFrame.lo xprScreen.lo x-hash.lo \ + x-hook.lo x-list.lo +libXquartzXpr_la_OBJECTS = $(am_libXquartzXpr_la_OBJECTS) DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include 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 = $(Xquartz_SOURCES) -DIST_SOURCES = $(Xquartz_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|^.*/||'`; -appmanDATA_INSTALL = $(INSTALL_DATA) -DATA = $(appman_DATA) +SOURCES = $(libXquartzXpr_la_SOURCES) +DIST_SOURCES = $(libXquartzXpr_la_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) @@ -120,8 +73,9 @@ ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ -APPDEFAULTDIR = @APPDEFAULTDIR@ APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +APPLE_APPLICATION_ID = @APPLE_APPLICATION_ID@ +APPLE_APPLICATION_NAME = @APPLE_APPLICATION_NAME@ APP_MAN_DIR = @APP_MAN_DIR@ APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ AR = @AR@ @@ -142,10 +96,6 @@ 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@ @@ -167,6 +117,7 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOLT_BASH = @DOLT_BASH@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ @@ -176,18 +127,15 @@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ DSYMUTIL = @DSYMUTIL@ DTRACE = @DTRACE@ -ECHO = @ECHO@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ -FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ -FREETYPE_LIBS = @FREETYPE_LIBS@ GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ GLX_DEFINES = @GLX_DEFINES@ GL_CFLAGS = @GL_CFLAGS@ @@ -206,7 +154,7 @@ KDRIVE_LIBS = @KDRIVE_LIBS@ KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ -LAUNCHD = @LAUNCHD@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ LEX = @LEX@ @@ -220,7 +168,10 @@ LIBTOOL = @LIBTOOL@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LINUXDOC = @LINUXDOC@ +LIPO = @LIPO@ LN_S = @LN_S@ +LTCOMPILE = @LTCOMPILE@ +LTCXXCOMPILE = @LTCXXCOMPILE@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ @@ -232,8 +183,7 @@ MESA_SOURCE = @MESA_SOURCE@ MISC_MAN_DIR = @MISC_MAN_DIR@ MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ MKDIR_P = @MKDIR_P@ -MKFONTDIR = @MKFONTDIR@ -MKFONTSCALE = @MKFONTSCALE@ +NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCCLD = @OBJCCLD@ @@ -242,8 +192,8 @@ OBJCFLAGS = @OBJCFLAGS@ OBJCLINK = @OBJCLINK@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ @@ -261,7 +211,7 @@ PS2PDF = @PS2PDF@ RANLIB = @RANLIB@ RAWCPP = @RAWCPP@ RAWCPPFLAGS = @RAWCPPFLAGS@ -SED = sed +SED = @SED@ SERVER_MISC_CONFIG_PATH = @SERVER_MISC_CONFIG_PATH@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ @@ -276,7 +226,6 @@ VENDOR_NAME = @VENDOR_NAME@ VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ VENDOR_RELEASE = @VENDOR_RELEASE@ VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ XDMCP_CFLAGS = @XDMCP_CFLAGS@ @@ -286,27 +235,12 @@ XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@ XDMX_CFLAGS = @XDMX_CFLAGS@ XDMX_LIBS = @XDMX_LIBS@ XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ XEPHYR_INCS = @XEPHYR_INCS@ XEPHYR_LIBS = @XEPHYR_LIBS@ 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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ @@ -317,10 +251,6 @@ XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ XNEST_LIBS = @XNEST_LIBS@ XNEST_SYS_LIBS = @XNEST_SYS_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_INCS = @XORG_INCS@ XORG_LIBS = @XORG_LIBS@ @@ -329,13 +259,8 @@ XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ XORG_OS = @XORG_OS@ XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_LIBS@ +XPBPROXY_CFLAGS = @XPBPROXY_CFLAGS@ +XPBPROXY_LIBS = @XPBPROXY_LIBS@ XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ XSDL_INCS = @XSDL_INCS@ @@ -368,8 +293,7 @@ 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@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -389,7 +313,6 @@ driverdir = @driverdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ extdir = @extdir@ -ft_config = @ft_config@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ @@ -399,12 +322,12 @@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ -launchagentsdir = @launchagentsdir@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ logdir = @logdir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ moduledir = @moduledir@ @@ -422,102 +345,25 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ +noinst_LTLIBRARIES = libXquartzXpr.la AM_CFLAGS = $(XSERVER_CFLAGS) $(DIX_CFLAGS) AM_CPPFLAGS = \ -I$(srcdir) -I$(srcdir)/.. \ -I$(top_srcdir)/miext \ - -I$(top_srcdir)/miext/rootless \ - -I$(top_srcdir)/miext/rootless/safeAlpha + -I$(top_srcdir)/miext/rootless -Xquartz_SOURCES = \ +libXquartzXpr_la_SOURCES = \ appledri.c \ dri.c \ xprAppleWM.c \ xprCursor.c \ + xprEvent.c \ xprFrame.c \ xprScreen.c \ x-hash.c \ x-hook.c \ x-list.c -Xquartz_LDADD = \ - $(top_builddir)/hw/xquartz/libXquartz.la \ - $(top_builddir)/dix/dixfonts.lo \ - $(top_builddir)/config/libconfig.a \ - $(top_builddir)/dix/libdix.la \ - $(top_builddir)/os/libos.la \ - $(top_builddir)/dix/libxpstubs.la \ - $(top_builddir)/miext/shadow/libshadow.la \ - $(top_builddir)/fb/libfb.la \ - $(top_builddir)/mi/libmi.la \ - $(top_builddir)/composite/libcomposite.la \ - $(top_builddir)/damageext/libdamageext.la \ - $(top_builddir)/miext/damage/libdamage.la \ - $(top_builddir)/xfixes/libxfixes.la \ - $(top_builddir)/miext/cw/libcw.la \ - $(top_builddir)/Xext/libXext.la \ - $(top_builddir)/xkb/libxkb.la \ - $(top_builddir)/xkb/libxkbstubs.la \ - $(top_builddir)/Xi/libXi.la \ - $(top_builddir)/dbe/libdbe.la \ - $(top_builddir)/record/librecord.la \ - $(top_builddir)/XTrap/libxtrap.la \ - $(top_builddir)/miext/rootless/librootless.la \ - $(top_builddir)/miext/rootless/safeAlpha/libsafeAlpha.la \ - $(top_builddir)/miext/rootless/accel/librlAccel.la \ - $(DARWIN_LIBS) $(XSERVER_LIBS) $(XSERVER_SYS_LIBS) -lXplugin - -Xquartz_LDFLAGS = \ - -XCClinker -Objc \ - -Wl,-u,_miDCInitialize \ - -Wl,-framework,Carbon \ - -L/System/Library/Frameworks/OpenGL.framework/Libraries -lGL \ - -Wl,-framework,OpenGL \ - -Wl,-framework,Cocoa \ - -Wl,-framework,CoreAudio \ - -Wl,-framework,IOKit - -appmandir = $(APP_MAN_DIR) -appman_PRE = Xquartz.man.pre -appman_PROCESSED = $(appman_PRE:man.pre=man) -appman_DATA = $(appman_PRE:man.pre=@APP_MAN_SUFFIX@) -CLEANFILES = $(appman_PROCESSED) $(appman_DATA) -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) - EXTRA_DIST = \ dri.h \ dristruct.h \ @@ -526,18 +372,19 @@ EXTRA_DIST = \ x-hash.h \ x-hook.h \ x-list.h \ - xpr.h + xpr.h \ + xprEvent.h all: all-am .SUFFIXES: -.SUFFIXES: .pre .man .man.pre .$(APP_MAN_SUFFIX) .c .lo .o .obj -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/cpprules.in $(am__configure_deps) +.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; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ @@ -561,37 +408,17 @@ $(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) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ - $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --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 ; \ +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 -Xquartz$(EXEEXT): $(Xquartz_OBJECTS) $(Xquartz_DEPENDENCIES) - @rm -f Xquartz$(EXEEXT) - $(Xquartz_LINK) $(Xquartz_OBJECTS) $(Xquartz_LDADD) $(LIBS) +libXquartzXpr.la: $(libXquartzXpr_la_OBJECTS) $(libXquartzXpr_la_DEPENDENCIES) + $(LINK) $(libXquartzXpr_la_OBJECTS) $(libXquartzXpr_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) @@ -599,15 +426,16 @@ mostlyclean-compile: distclean-compile: -rm -f *.tab.c -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/appledri.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dri.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/x-hash.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/x-hook.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/x-list.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xprAppleWM.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xprCursor.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xprFrame.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xprScreen.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/appledri.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dri.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/x-hash.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/x-hook.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/x-list.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xprAppleWM.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xprCursor.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xprEvent.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xprFrame.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xprScreen.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @@ -635,30 +463,13 @@ mostlyclean-libtool: clean-libtool: -rm -rf .libs _libs -install-appmanDATA: $(appman_DATA) - @$(NORMAL_INSTALL) - test -z "$(appmandir)" || $(MKDIR_P) "$(DESTDIR)$(appmandir)" - @list='$(appman_DATA)'; for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f=$(am__strip_dir) \ - echo " $(appmanDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(appmandir)/$$f'"; \ - $(appmanDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(appmandir)/$$f"; \ - done - -uninstall-appmanDATA: - @$(NORMAL_UNINSTALL) - @list='$(appman_DATA)'; for p in $$list; do \ - f=$(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(appmandir)/$$f'"; \ - rm -f "$(DESTDIR)$(appmandir)/$$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; nonemtpy = 1; } \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS @@ -728,11 +539,8 @@ distdir: $(DISTFILES) done check-am: all-am check: check-am -all-am: Makefile $(PROGRAMS) $(DATA) +all-am: Makefile $(LTLIBRARIES) installdirs: - for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(appmandir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done install: install-am install-exec: install-exec-am install-data: install-data-am @@ -750,7 +558,6 @@ install-strip: mostlyclean-generic: clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) @@ -760,7 +567,8 @@ maintainer-clean-generic: @echo "it deletes files that may require special tools to rebuild." clean: clean-am -clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am +clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ + mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) @@ -778,11 +586,11 @@ info: info-am info-am: -install-data-am: install-appmanDATA +install-data-am: install-dvi: install-dvi-am -install-exec-am: install-binPROGRAMS +install-exec-am: install-html: install-html-am @@ -814,34 +622,23 @@ ps: ps-am ps-am: -uninstall-am: uninstall-appmanDATA uninstall-binPROGRAMS +uninstall-am: .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-appmanDATA 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-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-appmanDATA \ - uninstall-binPROGRAMS - - -.pre: - $(RAWCPP) $(RAWCPPFLAGS) $(CPP_FILES_FLAGS) < $< | $(CPP_SED_MAGIC) > $@ - -.man.pre.man: - $(RAWCPP) $(RAWCPPFLAGS) $(MANDEFS) $(EXTRAMANDEFS) < $< | $(CPP_SED_MAGIC) > $@ - -.man.$(APP_MAN_SUFFIX): - cp $< $@ +.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/xorg-server/hw/xquartz/xpr/appledri.c b/xorg-server/hw/xquartz/xpr/appledri.c index b4a4725e2..3667c0dea 100644 --- a/xorg-server/hw/xquartz/xpr/appledri.c +++ b/xorg-server/hw/xquartz/xpr/appledri.c @@ -56,6 +56,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #include "dri.h" #include "dristruct.h" #include "xpr.h" +#include "x-hash.h" static int DRIErrorBase = 0; @@ -190,7 +191,7 @@ static void surface_notify( ) { DRISurfaceNotifyArg *arg = _arg; - int client_index = (int) data; + int client_index = (int) x_cvt_vptr_to_uint(data); ClientPtr client; xAppleDRINotifyEvent se; @@ -236,7 +237,8 @@ ProcAppleDRICreateSurface( if (!DRICreateSurface( screenInfo.screens[stuff->screen], (Drawable)stuff->drawable, pDrawable, stuff->client_id, &sid, key, - surface_notify, (void *) client->index)) { + surface_notify, + x_cvt_uint_to_vptr(client->index))) { return BadValue; } diff --git a/xorg-server/hw/xquartz/xpr/dri.c b/xorg-server/hw/xquartz/xpr/dri.c index 3aacb192d..50b478b9c 100644 --- a/xorg-server/hw/xquartz/xpr/dri.c +++ b/xorg-server/hw/xquartz/xpr/dri.c @@ -71,9 +71,12 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #include -static DevPrivateKey DRIScreenPrivKey = &DRIScreenPrivKey; -static DevPrivateKey DRIWindowPrivKey = &DRIWindowPrivKey; -static DevPrivateKey DRIPixmapPrivKey = &DRIPixmapPrivKey; +static int DRIScreenPrivKeyIndex; +static DevPrivateKey DRIScreenPrivKey = &DRIScreenPrivKeyIndex; +static int DRIWindowPrivKeyIndex; +static DevPrivateKey DRIWindowPrivKey = &DRIWindowPrivKeyIndex; +static int DRIPixmapPrivKeyIndex; +static DevPrivateKey DRIPixmapPrivKey = &DRIPixmapPrivKeyIndex; static RESTYPE DRIDrawablePrivResType; @@ -343,6 +346,121 @@ DRIUpdateSurface(DRIDrawablePrivPtr pDRIDrawablePriv, DrawablePtr pDraw) xp_configure_surface(pDRIDrawablePriv->sid, flags, &wc); } +/* Return NULL if an error occurs. */ +static DRIDrawablePrivPtr +CreateSurfaceForWindow(ScreenPtr pScreen, WindowPtr pWin, xp_window_id *widPtr) { + DRIDrawablePrivPtr pDRIDrawablePriv; + xp_window_id wid = 0; + + *widPtr = 0; + + pDRIDrawablePriv = DRI_DRAWABLE_PRIV_FROM_WINDOW(pWin); + + if (pDRIDrawablePriv == NULL) { + xp_error err; + xp_window_changes wc; + + /* allocate a DRI Window Private record */ + if (!(pDRIDrawablePriv = xalloc(sizeof(*pDRIDrawablePriv)))) { + return NULL; + } + + pDRIDrawablePriv->pDraw = (DrawablePtr)pWin; + pDRIDrawablePriv->pScreen = pScreen; + pDRIDrawablePriv->refCount = 0; + pDRIDrawablePriv->drawableIndex = -1; + pDRIDrawablePriv->notifiers = NULL; + + /* find the physical window */ + wid = x_cvt_vptr_to_uint(RootlessFrameForWindow(pWin, TRUE)); + + if (wid == 0) { + xfree(pDRIDrawablePriv); + return NULL; + } + + /* allocate the physical surface */ + err = xp_create_surface(wid, &pDRIDrawablePriv->sid); + + if (err != Success) { + xfree(pDRIDrawablePriv); + return NULL; + } + + /* Make it visible */ + wc.stack_mode = XP_MAPPED_ABOVE; + wc.sibling = 0; + err = xp_configure_surface(pDRIDrawablePriv->sid, XP_STACKING, &wc); + + if (err != Success) { + xp_destroy_surface(pDRIDrawablePriv->sid); + xfree(pDRIDrawablePriv); + return NULL; + } + + /* save private off of preallocated index */ + dixSetPrivate(&pWin->devPrivates, DRIWindowPrivKey, + pDRIDrawablePriv); + } + + *widPtr = wid; + + return pDRIDrawablePriv; +} + +/* Return FALSE if an error occurs. */ +static DRIDrawablePrivPtr +CreateSurfaceForPixmap(ScreenPtr pScreen, PixmapPtr pPix) { + DRIDrawablePrivPtr pDRIDrawablePriv; + + pDRIDrawablePriv = DRI_DRAWABLE_PRIV_FROM_PIXMAP(pPix); + + if (pDRIDrawablePriv == NULL) { + xp_error err; + xp_window_changes wc; + + /* allocate a DRI Window Private record */ + if (!(pDRIDrawablePriv = xcalloc(1, sizeof(*pDRIDrawablePriv)))) { + return NULL; + } + + pDRIDrawablePriv->pDraw = (DrawablePtr)pPix; + pDRIDrawablePriv->pScreen = pScreen; + pDRIDrawablePriv->refCount = 0; + pDRIDrawablePriv->drawableIndex = -1; + pDRIDrawablePriv->notifiers = NULL; + + /* Passing a null window id to Xplugin in 10.3+ asks for + an accelerated offscreen surface. */ + + err = xp_create_surface(0, &pDRIDrawablePriv->sid); + if (err != Success) { + xfree(pDRIDrawablePriv); + return NULL; + } + + wc.x = 0; + wc.y = 0; + wc.width = pPix->drawable.width; + wc.height = pPix->drawable.height; + + err = xp_configure_surface(pDRIDrawablePriv->sid, XP_BOUNDS, &wc); + + if(err != Success) { + xp_destroy_surface(pDRIDrawablePriv->sid); + xfree(pDRIDrawablePriv); + return NULL; + } + + /* save private off of preallocated index */ + dixSetPrivate(&pPix->devPrivates, DRIPixmapPrivKey, + pDRIDrawablePriv); + } + + return pDRIDrawablePriv; +} + + Bool DRICreateSurface(ScreenPtr pScreen, Drawable id, DrawablePtr pDrawable, xp_client_id client_id, @@ -350,107 +468,39 @@ DRICreateSurface(ScreenPtr pScreen, Drawable id, void (*notify) (void *arg, void *data), void *notify_data) { DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen); - DRIDrawablePrivPtr pDRIDrawablePriv; xp_window_id wid = 0; + DRIDrawablePrivPtr pDRIDrawablePriv; if (pDrawable->type == DRAWABLE_WINDOW) { - WindowPtr pWin = (WindowPtr)pDrawable; - - pDRIDrawablePriv = DRI_DRAWABLE_PRIV_FROM_WINDOW(pWin); - if (pDRIDrawablePriv == NULL) { - xp_error err; - xp_window_changes wc; - - /* allocate a DRI Window Private record */ - if (!(pDRIDrawablePriv = xalloc(sizeof(DRIDrawablePrivRec)))) { - return FALSE; - } - - pDRIDrawablePriv->pDraw = pDrawable; - pDRIDrawablePriv->pScreen = pScreen; - pDRIDrawablePriv->refCount = 0; - pDRIDrawablePriv->drawableIndex = -1; - pDRIDrawablePriv->notifiers = NULL; - - /* find the physical window */ - wid = (xp_window_id) RootlessFrameForWindow(pWin, TRUE); - if (wid == 0) { - xfree(pDRIDrawablePriv); - return FALSE; - } - - /* allocate the physical surface */ - err = xp_create_surface(wid, &pDRIDrawablePriv->sid); - if (err != Success) { - xfree(pDRIDrawablePriv); - return FALSE; - } - - /* Make it visible */ - wc.stack_mode = XP_MAPPED_ABOVE; - wc.sibling = 0; - err = xp_configure_surface(pDRIDrawablePriv->sid, XP_STACKING, &wc); - if (err != Success) - { - xp_destroy_surface(pDRIDrawablePriv->sid); - xfree(pDRIDrawablePriv); - return FALSE; - } + pDRIDrawablePriv = CreateSurfaceForWindow(pScreen, + (WindowPtr)pDrawable, &wid); - /* save private off of preallocated index */ - dixSetPrivate(&pWin->devPrivates, DRIWindowPrivKey, - pDRIDrawablePriv); - } + if(NULL == pDRIDrawablePriv) + return FALSE; /*error*/ } - #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030 else if (pDrawable->type == DRAWABLE_PIXMAP) { - PixmapPtr pPix = (PixmapPtr)pDrawable; - - pDRIDrawablePriv = DRI_DRAWABLE_PRIV_FROM_PIXMAP(pPix); - if (pDRIDrawablePriv == NULL) { - xp_error err; + pDRIDrawablePriv = CreateSurfaceForPixmap(pScreen, + (PixmapPtr)pDrawable); - /* allocate a DRI Window Private record */ - if (!(pDRIDrawablePriv = xcalloc(1, sizeof(DRIDrawablePrivRec)))) { - return FALSE; - } - - pDRIDrawablePriv->pDraw = pDrawable; - pDRIDrawablePriv->pScreen = pScreen; - pDRIDrawablePriv->refCount = 0; - pDRIDrawablePriv->drawableIndex = -1; - pDRIDrawablePriv->notifiers = NULL; - - /* Passing a null window id to Xplugin in 10.3+ asks for - an accelerated offscreen surface. */ - - err = xp_create_surface(0, &pDRIDrawablePriv->sid); - if (err != Success) { - xfree(pDRIDrawablePriv); - return FALSE; - } - - /* save private off of preallocated index */ - dixSetPrivate(&pPix->devPrivates, DRIPixmapPrivKey, - pDRIDrawablePriv); - } + if(NULL == pDRIDrawablePriv) + return FALSE; /*error*/ } #endif - else { /* for GLX 1.3, a PBuffer */ /* NOT_DONE */ return FALSE; } + + /* Finish initialization of new surfaces */ if (pDRIDrawablePriv->refCount == 0) { unsigned int key[2] = {0}; xp_error err; /* try to give the client access to the surface */ - if (client_id != 0 && wid != 0) - { + if (client_id != 0 && wid != 0) { err = xp_export_surface(wid, pDRIDrawablePriv->sid, client_id, key); if (err != Success) { @@ -469,7 +519,7 @@ DRICreateSurface(ScreenPtr pScreen, Drawable id, if (surface_hash == NULL) surface_hash = x_hash_table_new(NULL, NULL, NULL, NULL); x_hash_table_insert(surface_hash, - (void *) pDRIDrawablePriv->sid, pDRIDrawablePriv); + x_cvt_uint_to_vptr(pDRIDrawablePriv->sid), pDRIDrawablePriv); /* track this in case this window is destroyed */ AddResource(id, DRIDrawablePrivResType, (pointer)pDrawable); @@ -551,7 +601,7 @@ DRIDrawablePrivDelete(pointer pResource, XID id) if (pDRIDrawablePriv->sid != 0) { xp_destroy_surface(pDRIDrawablePriv->sid); - x_hash_table_remove(surface_hash, (void *) pDRIDrawablePriv->sid); + x_hash_table_remove(surface_hash, x_cvt_uint_to_vptr(pDRIDrawablePriv->sid)); } if (pDRIDrawablePriv->notifiers != NULL) @@ -713,7 +763,7 @@ DRISurfaceNotify(xp_surface_id id, int kind) if (surface_hash != NULL) { pDRIDrawablePriv = x_hash_table_lookup(surface_hash, - (void *) id, NULL); + x_cvt_uint_to_vptr(id), NULL); } if (pDRIDrawablePriv == NULL) @@ -722,7 +772,7 @@ DRISurfaceNotify(xp_surface_id id, int kind) if (kind == AppleDRISurfaceNotifyDestroyed) { pDRIDrawablePriv->sid = 0; - x_hash_table_remove(surface_hash, (void *) id); + x_hash_table_remove(surface_hash, x_cvt_uint_to_vptr(id)); } x_hook_run(pDRIDrawablePriv->notifiers, &arg); diff --git a/xorg-server/hw/xquartz/xpr/dri.h b/xorg-server/hw/xquartz/xpr/dri.h index cf2638a9f..8bb2e9e80 100644 --- a/xorg-server/hw/xquartz/xpr/dri.h +++ b/xorg-server/hw/xquartz/xpr/dri.h @@ -41,7 +41,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #include "scrnintstr.h" #define _APPLEDRI_SERVER_ #include "appledri.h" -#include "Xplugin.h" +#include typedef void (*ClipNotifyPtr)( WindowPtr, int, int ); diff --git a/xorg-server/hw/xquartz/xpr/x-hash.c b/xorg-server/hw/xquartz/xpr/x-hash.c index 55d28bacd..7c6a67bd1 100644 --- a/xorg-server/hw/xquartz/xpr/x-hash.c +++ b/xorg-server/hw/xquartz/xpr/x-hash.c @@ -80,13 +80,13 @@ hash_table_destroy_item (x_hash_table *h, void *k, void *v) (*h->destroy_value) (v); } -static inline unsigned int +static inline size_t hash_table_hash_key (x_hash_table *h, void *k) { if (h->hash_key != 0) return (*h->hash_key) (k); else - return (unsigned int) k; + return (size_t) k; } static inline int @@ -104,7 +104,7 @@ hash_table_split (x_hash_table *h) x_list **new, **old; x_list *node, *item, *next; int new_size, old_size; - unsigned int b; + size_t b; int i; if (h->bucket_index == N_BUCKET_SIZES - 1) @@ -207,7 +207,7 @@ X_PFX (hash_table_size) (x_hash_table *h) static void hash_table_modify (x_hash_table *h, void *k, void *v, int replace) { - unsigned int hash_value; + size_t hash_value; x_list *node, *item; assert (h != NULL); @@ -266,7 +266,7 @@ X_PFX (hash_table_replace) (x_hash_table *h, void *k, void *v) X_EXTERN void X_PFX (hash_table_remove) (x_hash_table *h, void *k) { - unsigned int hash_value; + size_t hash_value; x_list **ptr, *item; assert (h != NULL); @@ -294,7 +294,7 @@ X_PFX (hash_table_remove) (x_hash_table *h, void *k) X_EXTERN void * X_PFX (hash_table_lookup) (x_hash_table *h, void *k, void **k_ret) { - unsigned int hash_value; + size_t hash_value; x_list *node, *item; assert (h != NULL); diff --git a/xorg-server/hw/xquartz/xpr/x-hash.h b/xorg-server/hw/xquartz/xpr/x-hash.h index 3456dbedf..78bc7b317 100644 --- a/xorg-server/hw/xquartz/xpr/x-hash.h +++ b/xorg-server/hw/xquartz/xpr/x-hash.h @@ -30,6 +30,9 @@ #ifndef X_HASH_H #define X_HASH_H 1 +#include +#include + typedef struct x_hash_table_struct x_hash_table; typedef int (x_compare_fun) (const void *a, const void *b); @@ -57,4 +60,32 @@ X_EXTERN void X_PFX (hash_table_foreach) (x_hash_table *h, x_hash_foreach_fun *fun, void *data); +/* Conversion between unsigned int (e.g. xp_resource_id) and void pointer */ + +/* Forward declarations */ +static __inline__ void * +X_PFX (cvt_uint_to_vptr) (unsigned int val) __attribute__((always_inline)); +static __inline__ unsigned int +X_PFX (cvt_vptr_to_uint) (void * val) __attribute__((always_inline)); + +/* Implementations */ +static __inline__ void * +X_PFX (cvt_uint_to_vptr) (unsigned int val) +{ + return (void*)((size_t)(val)); +} + +static __inline__ unsigned int +X_PFX (cvt_vptr_to_uint) (void * val) +{ + size_t sv = (size_t)val; + unsigned int uv = (unsigned int)sv; + + /* If this assert fails, chances are val actually is a pointer, + or there's been memory corruption */ + assert(sv == uv); + + return uv; +} + #endif /* X_HASH_H */ diff --git a/xorg-server/hw/xquartz/xpr/xpr.h b/xorg-server/hw/xquartz/xpr/xpr.h index b8c69df0d..ab79a42cd 100644 --- a/xorg-server/hw/xquartz/xpr/xpr.h +++ b/xorg-server/hw/xquartz/xpr/xpr.h @@ -29,7 +29,9 @@ #ifndef XPR_H #define XPR_H +#include "windowstr.h" #include "screenint.h" +#include Bool QuartzModeBundleInit(void); @@ -37,6 +39,7 @@ void AppleDRIExtensionInit(void); void xprAppleWMInit(void); Bool xprInit(ScreenPtr pScreen); Bool xprIsX11Window(void *nsWindow, int windowNumber); +WindowPtr xprGetXWindow(xp_window_id wid); void xprHideWindows(Bool hide); diff --git a/xorg-server/hw/xquartz/xpr/xprAppleWM.c b/xorg-server/hw/xquartz/xpr/xprAppleWM.c index bd82df03c..fae9a0422 100644 --- a/xorg-server/hw/xquartz/xpr/xprAppleWM.c +++ b/xorg-server/hw/xquartz/xpr/xprAppleWM.c @@ -32,10 +32,26 @@ #endif #include "xpr.h" + +#define _APPLEWM_SERVER_ +#include + #include "applewmExt.h" #include "rootless.h" -#include "Xplugin.h" +#include #include +#include "quartz.h" +#include "x-hash.h" + +/* This lookup table came straight from the Tiger X11 source. I tried to figure + * it out based on CGWindowLevel.h, but I dunno... -JH + */ +static const int normal_window_levels[AppleWMNumWindowLevels+1] = { +0, 3, 4, 5, INT_MIN + 30, INT_MIN + 29, +}; +static const int rooted_window_levels[AppleWMNumWindowLevels+1] = { +202, 203, 204, 205, 201, 200 +}; static int xprSetWindowLevel( WindowPtr pWin, @@ -44,13 +60,18 @@ static int xprSetWindowLevel( xp_window_id wid; xp_window_changes wc; - wid = (xp_window_id) RootlessFrameForWindow (pWin, TRUE); + wid = x_cvt_vptr_to_uint(RootlessFrameForWindow (pWin, TRUE)); if (wid == 0) return BadWindow; RootlessStopDrawing (pWin, FALSE); - wc.window_level = level; + //if (WINREC(WindowTable[pWin->drawable.pScreen->myNum]) == NULL) + if (quartzHasRoot) + wc.window_level = normal_window_levels[level]; + else + wc.window_level = rooted_window_levels[level]; + if (xp_configure_window (wid, XP_WINDOW_LEVEL, &wc) != Success) { return BadValue; } @@ -70,7 +91,7 @@ static int xprFrameDraw( { xp_window_id wid; - wid = (xp_window_id) RootlessFrameForWindow (pWin, FALSE); + wid = x_cvt_vptr_to_uint(RootlessFrameForWindow (pWin, FALSE)); if (wid == 0) return BadWindow; diff --git a/xorg-server/hw/xquartz/xpr/xprCursor.c b/xorg-server/hw/xquartz/xpr/xprCursor.c index e084ef90e..4345beea4 100644 --- a/xorg-server/hw/xquartz/xpr/xprCursor.c +++ b/xorg-server/hw/xquartz/xpr/xprCursor.c @@ -29,6 +29,8 @@ * use or other dealings in this Software without prior written authorization. */ +#include "sanitizedCarbon.h" + #ifdef HAVE_DIX_CONFIG_H #include #endif @@ -37,7 +39,7 @@ #include "xpr.h" #include "darwin.h" #include "darwinEvents.h" -#include "Xplugin.h" +#include #include "mi.h" #include "scrnintstr.h" @@ -47,6 +49,7 @@ #include "globals.h" #include "servermd.h" #include "dixevents.h" +#include "x-hash.h" typedef struct { int cursorVisible; @@ -54,7 +57,8 @@ typedef struct { miPointerSpriteFuncPtr spriteFuncs; } QuartzCursorScreenRec, *QuartzCursorScreenPtr; -static DevPrivateKey darwinCursorScreenKey = &darwinCursorScreenKey; +static int darwinCursorScreenKeyIndex; +static DevPrivateKey darwinCursorScreenKey = &darwinCursorScreenKeyIndex; #define CURSOR_PRIV(pScreen) ((QuartzCursorScreenPtr) \ dixLookupPrivate(&pScreen->devPrivates, darwinCursorScreenKey)) @@ -181,7 +185,7 @@ load_cursor(CursorPtr src, int screen) * Convert the X cursor representation to native format if possible. */ static Bool -QuartzRealizeCursor(ScreenPtr pScreen, CursorPtr pCursor) +QuartzRealizeCursor(DeviceIntPtr pDev, ScreenPtr pScreen, CursorPtr pCursor) { if(pCursor == NULL || pCursor->bits == NULL) return FALSE; @@ -197,7 +201,7 @@ QuartzRealizeCursor(ScreenPtr pScreen, CursorPtr pCursor) * Free the storage space associated with a realized cursor. */ static Bool -QuartzUnrealizeCursor(ScreenPtr pScreen, CursorPtr pCursor) +QuartzUnrealizeCursor(DeviceIntPtr pDev, ScreenPtr pScreen, CursorPtr pCursor) { return TRUE; } @@ -208,7 +212,7 @@ QuartzUnrealizeCursor(ScreenPtr pScreen, CursorPtr pCursor) * Set the cursor sprite and position. */ static void -QuartzSetCursor(ScreenPtr pScreen, CursorPtr pCursor, int x, int y) +QuartzSetCursor(DeviceIntPtr pDev, ScreenPtr pScreen, CursorPtr pCursor, int x, int y) { QuartzCursorScreenPtr ScreenPriv = CURSOR_PRIV(pScreen); @@ -235,25 +239,15 @@ QuartzSetCursor(ScreenPtr pScreen, CursorPtr pCursor, int x, int y) } } - /* * QuartzMoveCursor * Move the cursor. This is a noop for us. */ static void -QuartzMoveCursor(ScreenPtr pScreen, int x, int y) +QuartzMoveCursor(DeviceIntPtr pDev, ScreenPtr pScreen, int x, int y) { } - -static miPointerSpriteFuncRec quartzSpriteFuncsRec = { - QuartzRealizeCursor, - QuartzUnrealizeCursor, - QuartzSetCursor, - QuartzMoveCursor -}; - - /* =========================================================================== @@ -289,18 +283,8 @@ QuartzCrossScreen(ScreenPtr pScreen, Bool entering) * */ static void -QuartzWarpCursor(ScreenPtr pScreen, int x, int y) +QuartzWarpCursor(DeviceIntPtr pDev, ScreenPtr pScreen, int x, int y) { - static Bool neverMoved = TRUE; - - if (neverMoved) - { - /* Don't move the cursor the first time. This is the - jump-to-center initialization, and it's annoying. */ - neverMoved = FALSE; - return; - } - if (quartzServerVisible) { int sx, sy; @@ -311,8 +295,8 @@ QuartzWarpCursor(ScreenPtr pScreen, int x, int y) CGWarpMouseCursorPosition(CGPointMake(sx + x, sy + y)); } - miPointerWarpCursor(pScreen, x, y); - miPointerUpdate(); + miPointerWarpCursor(pDev, pScreen, x, y); + miPointerUpdateSprite(pDev); } @@ -320,8 +304,8 @@ static miPointerScreenFuncRec quartzScreenFuncsRec = { QuartzCursorOffScreen, QuartzCrossScreen, QuartzWarpCursor, - DarwinEQPointerPost, - DarwinEQSwitchScreen + NULL, + NULL }; @@ -383,13 +367,16 @@ QuartzInitCursor(ScreenPtr pScreen) PointPriv = dixLookupPrivate(&pScreen->devPrivates, miPointerScreenKey); ScreenPriv->spriteFuncs = PointPriv->spriteFuncs; - PointPriv->spriteFuncs = &quartzSpriteFuncsRec; + PointPriv->spriteFuncs->RealizeCursor = QuartzRealizeCursor; + PointPriv->spriteFuncs->UnrealizeCursor = QuartzUnrealizeCursor; + PointPriv->spriteFuncs->SetCursor = QuartzSetCursor; + PointPriv->spriteFuncs->MoveCursor = QuartzMoveCursor; + ScreenPriv->cursorVisible = TRUE; return TRUE; } - /* * QuartzSuspendXCursor * X server is hiding. Restore the Aqua cursor. @@ -410,13 +397,15 @@ QuartzResumeXCursor(ScreenPtr pScreen, int x, int y) WindowPtr pWin; CursorPtr pCursor; - pWin = GetSpriteWindow(); + /* TODO: Tablet? */ + + pWin = GetSpriteWindow(darwinPointer); if (pWin->drawable.pScreen != pScreen) return; - pCursor = GetSpriteCursor(); + pCursor = GetSpriteCursor(darwinPointer); if (pCursor == NULL) return; - QuartzSetCursor(pScreen, pCursor, x, y); + QuartzSetCursor(darwinPointer, pScreen, pCursor, x, y); } diff --git a/xorg-server/hw/xquartz/xpr/xprEvent.c b/xorg-server/hw/xquartz/xpr/xprEvent.c new file mode 100644 index 000000000..08581c0e3 --- /dev/null +++ b/xorg-server/hw/xquartz/xpr/xprEvent.c @@ -0,0 +1,91 @@ +/* Copyright (c) 2008 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. + */ + +#ifdef HAVE_DIX_CONFIG_H +#include +#endif + +#include "xpr.h" + +#define NEED_EVENTS +#include +#include +#include +#include "misc.h" +#include "windowstr.h" +#include "pixmapstr.h" +#include "inputstr.h" +#include "mi.h" +#include "scrnintstr.h" +#include "mipointer.h" + +#include "darwin.h" +#include "quartz.h" +#include "quartzKeyboard.h" +#include "darwinEvents.h" + +#include +#include +#include + +#include "rootlessWindow.h" +#include "xprEvent.h" + +static void xprEventHandler(int screenNum, xEventPtr xe, DeviceIntPtr dev, int nevents) { + int i; + + TA_SERVER(); + + DEBUG_LOG("DarwinEventHandler(%d, %p, %p, %d)\n", screenNum, xe, dev, nevents); + for (i=0; i #include "x-hash.h" #include "x-list.h" #include "applewmExt.h" @@ -43,6 +43,8 @@ #include #include "windowstr.h" +#include "threadSafety.h" + #include #define DEFINE_ATOM_HELPER(func,atom_name) \ @@ -62,18 +64,35 @@ DEFINE_ATOM_HELPER(xa_native_window_id, "_NATIVE_WINDOW_ID") static x_hash_table *window_hash; static pthread_mutex_t window_hash_mutex; -static Bool no_configure_window; +/* Prototypes for static functions */ +static Bool xprCreateFrame(RootlessWindowPtr pFrame, ScreenPtr pScreen, + int newX, int newY, RegionPtr pShape); +static void xprDestroyFrame(RootlessFrameID wid); +static void xprMoveFrame(RootlessFrameID wid, ScreenPtr pScreen, int newX, int newY); +static void xprResizeFrame(RootlessFrameID wid, ScreenPtr pScreen, + int newX, int newY, unsigned int newW, unsigned int newH, + unsigned int gravity); +static void xprRestackFrame(RootlessFrameID wid, RootlessFrameID nextWid); +static void xprReshapeFrame(RootlessFrameID wid, RegionPtr pShape); +static void xprUnmapFrame(RootlessFrameID wid); +static void xprStartDrawing(RootlessFrameID wid, char **pixelData, int *bytesPerRow); +static void xprStopDrawing(RootlessFrameID wid, Bool flush); +static void xprUpdateRegion(RootlessFrameID wid, RegionPtr pDamage); +static void xprDamageRects(RootlessFrameID wid, int nrects, const BoxRec *rects, + int shift_x, int shift_y); +static void xprSwitchWindow(RootlessWindowPtr pFrame, WindowPtr oldWin); +static Bool xprDoReorderWindow(RootlessWindowPtr pFrame); +static void xprCopyWindow(RootlessFrameID wid, int dstNrects, const BoxRec *dstRects, + int dx, int dy); static inline xp_error xprConfigureWindow(xp_window_id id, unsigned int mask, const xp_window_changes *values) { - // ErrorF("xprConfigureWindow()\n"); - if (!no_configure_window) - return xp_configure_window(id, mask, values); - else - return XP_Success; + TA_SERVER(); + + return xp_configure_window(id, mask, values); } @@ -84,7 +103,9 @@ xprSetNativeProperty(RootlessWindowPtr pFrame) unsigned int native_id; long data; - err = xp_get_native_window((xp_window_id) pFrame->wid, &native_id); + TA_SERVER(); + + err = xp_get_native_window(x_cvt_vptr_to_uint(pFrame->wid), &native_id); if (err == Success) { /* FIXME: move this to AppleWM extension */ @@ -108,6 +129,8 @@ xprCreateFrame(RootlessWindowPtr pFrame, ScreenPtr pScreen, unsigned int mask = 0; xp_error err; + TA_SERVER(); + wc.x = newX; wc.y = newY; wc.width = pFrame->width; @@ -118,11 +141,9 @@ xprCreateFrame(RootlessWindowPtr pFrame, ScreenPtr pScreen, if (pWin->drawable.depth == 8) { wc.depth = XP_DEPTH_INDEX8; -#if 0 - wc.colormap = xprColormapCallback; + wc.colormap = RootlessColormapCallback; wc.colormap_data = pScreen; mask |= XP_COLORMAP; -#endif } else if (pWin->drawable.depth == 15) wc.depth = XP_DEPTH_RGB555; @@ -169,11 +190,13 @@ xprCreateFrame(RootlessWindowPtr pFrame, ScreenPtr pScreen, void xprDestroyFrame(RootlessFrameID wid) { + TA_SERVER(); + pthread_mutex_lock(&window_hash_mutex); x_hash_table_remove(window_hash, wid); pthread_mutex_unlock(&window_hash_mutex); - xp_destroy_window((xp_window_id) wid); + xp_destroy_window(x_cvt_vptr_to_uint(wid)); } @@ -183,12 +206,14 @@ xprDestroyFrame(RootlessFrameID wid) void xprMoveFrame(RootlessFrameID wid, ScreenPtr pScreen, int newX, int newY) { + TA_SERVER(); + xp_window_changes wc; wc.x = newX; wc.y = newY; // ErrorF("xprMoveFrame(%d, %p, %d, %d)\n", wid, pScreen, newX, newY); - xprConfigureWindow((xp_window_id) wid, XP_ORIGIN, &wc); + xprConfigureWindow(x_cvt_vptr_to_uint(wid), XP_ORIGIN, &wc); } @@ -202,6 +227,8 @@ xprResizeFrame(RootlessFrameID wid, ScreenPtr pScreen, { xp_window_changes wc; + TA_SERVER(); + wc.x = newX; wc.y = newY; wc.width = newW; @@ -211,7 +238,7 @@ xprResizeFrame(RootlessFrameID wid, ScreenPtr pScreen, /* It's unlikely that being async will save us anything here. But it can't hurt. */ - xprConfigureWindow((xp_window_id) wid, XP_BOUNDS, &wc); + xprConfigureWindow(x_cvt_vptr_to_uint(wid), XP_BOUNDS, &wc); } @@ -223,7 +250,9 @@ xprRestackFrame(RootlessFrameID wid, RootlessFrameID nextWid) { xp_window_changes wc; - /* Stack frame below nextWid it if it exists, or raise + TA_SERVER(); + + /* Stack frame below nextWid it if it exists, or raise frame above everything otherwise. */ if (nextWid == NULL) @@ -234,10 +263,10 @@ xprRestackFrame(RootlessFrameID wid, RootlessFrameID nextWid) else { wc.stack_mode = XP_MAPPED_BELOW; - wc.sibling = (xp_window_id) nextWid; + wc.sibling = x_cvt_vptr_to_uint(nextWid); } - xprConfigureWindow((xp_window_id) wid, XP_STACKING, &wc); + xprConfigureWindow(x_cvt_vptr_to_uint(wid), XP_STACKING, &wc); } @@ -249,6 +278,8 @@ xprReshapeFrame(RootlessFrameID wid, RegionPtr pShape) { xp_window_changes wc; + TA_SERVER(); + if (pShape != NULL) { wc.shape_nrects = REGION_NUM_RECTS(pShape); @@ -262,7 +293,7 @@ xprReshapeFrame(RootlessFrameID wid, RegionPtr pShape) wc.shape_tx = wc.shape_ty = 0; - xprConfigureWindow((xp_window_id) wid, XP_SHAPE, &wc); + xprConfigureWindow(x_cvt_vptr_to_uint(wid), XP_SHAPE, &wc); } @@ -274,10 +305,12 @@ xprUnmapFrame(RootlessFrameID wid) { xp_window_changes wc; + TA_SERVER(); + wc.stack_mode = XP_UNMAPPED; wc.sibling = 0; - xprConfigureWindow((xp_window_id) wid, XP_STACKING, &wc); + xprConfigureWindow(x_cvt_vptr_to_uint(wid), XP_STACKING, &wc); } @@ -292,9 +325,11 @@ xprStartDrawing(RootlessFrameID wid, char **pixelData, int *bytesPerRow) unsigned int rowbytes[2]; xp_error err; - err = xp_lock_window((xp_window_id) wid, NULL, NULL, data, rowbytes, NULL); + TA_SERVER(); + + err = xp_lock_window(x_cvt_vptr_to_uint(wid), NULL, NULL, data, rowbytes, NULL); if (err != Success) - FatalError("Could not lock window %i for drawing.", (int) wid); + FatalError("Could not lock window %i for drawing.", (int)x_cvt_vptr_to_uint(wid)); *pixelData = data[0]; *bytesPerRow = rowbytes[0]; @@ -307,7 +342,9 @@ xprStartDrawing(RootlessFrameID wid, char **pixelData, int *bytesPerRow) void xprStopDrawing(RootlessFrameID wid, Bool flush) { - xp_unlock_window((xp_window_id) wid, flush); + TA_SERVER(); + + xp_unlock_window(x_cvt_vptr_to_uint(wid), flush); } @@ -317,7 +354,9 @@ xprStopDrawing(RootlessFrameID wid, Bool flush) void xprUpdateRegion(RootlessFrameID wid, RegionPtr pDamage) { - xp_flush_window((xp_window_id) wid); + TA_SERVER(); + + xp_flush_window(x_cvt_vptr_to_uint(wid)); } @@ -328,7 +367,9 @@ void xprDamageRects(RootlessFrameID wid, int nrects, const BoxRec *rects, int shift_x, int shift_y) { - xp_mark_window((xp_window_id) wid, nrects, rects, shift_x, shift_y); + TA_SERVER(); + + xp_mark_window(x_cvt_vptr_to_uint(wid), nrects, rects, shift_x, shift_y); } @@ -341,6 +382,8 @@ xprSwitchWindow(RootlessWindowPtr pFrame, WindowPtr oldWin) { DeleteProperty(serverClient, oldWin, xa_native_window_id()); + TA_SERVER(); + xprSetNativeProperty(pFrame); } @@ -352,6 +395,8 @@ Bool xprDoReorderWindow(RootlessWindowPtr pFrame) { WindowPtr pWin = pFrame->win; + TA_SERVER(); + return AppleWMDoReorderWindow(pWin); } @@ -364,7 +409,9 @@ void xprCopyWindow(RootlessFrameID wid, int dstNrects, const BoxRec *dstRects, int dx, int dy) { - xp_copy_window((xp_window_id) wid, (xp_window_id) wid, + TA_SERVER(); + + xp_copy_window(x_cvt_vptr_to_uint(wid), x_cvt_vptr_to_uint(wid), dstNrects, dstRects, dx, dy); } @@ -398,13 +445,13 @@ xprInit(ScreenPtr pScreen) { RootlessInit(pScreen, &xprRootlessProcs); + TA_SERVER(); + rootless_CopyBytes_threshold = xp_copy_bytes_threshold; rootless_FillBytes_threshold = xp_fill_bytes_threshold; rootless_CompositePixels_threshold = xp_composite_area_threshold; rootless_CopyWindow_threshold = xp_scroll_area_threshold; - no_configure_window = FALSE; - return TRUE; } @@ -421,7 +468,7 @@ xprGetXWindow(xp_window_id wid) if (window_hash == NULL) return NULL; - winRec = x_hash_table_lookup(window_hash, (void *) wid, NULL); + winRec = x_hash_table_lookup(window_hash, x_cvt_uint_to_vptr(wid), NULL); return winRec != NULL ? winRec->win : NULL; } @@ -452,7 +499,7 @@ xprGetXWindowFromAppKit(int windowNumber) pthread_mutex_unlock(&window_hash_mutex); if (!ret) return NULL; - winRec = x_hash_table_lookup(window_hash, (void *) wid, NULL); + winRec = x_hash_table_lookup(window_hash, x_cvt_uint_to_vptr(wid), NULL); return winRec != NULL ? winRec->win : NULL; } @@ -498,6 +545,8 @@ xprHideWindows(Bool hide) int screen; WindowPtr pRoot, pWin; + TA_SERVER(); + for (screen = 0; screen < screenInfo.numScreens; screen++) { pRoot = WindowTable[screenInfo.screens[screen]->myNum]; RootlessFrameID prevWid = NULL; diff --git a/xorg-server/hw/xquartz/xpr/xprScreen.c b/xorg-server/hw/xquartz/xpr/xprScreen.c index e4e1fda7e..da262f654 100644 --- a/xorg-server/hw/xquartz/xpr/xprScreen.c +++ b/xorg-server/hw/xquartz/xpr/xprScreen.c @@ -27,26 +27,27 @@ * use or other dealings in this Software without prior written authorization. */ +#include "sanitizedCarbon.h" + #ifdef HAVE_DIX_CONFIG_H #include #endif #include "quartzCommon.h" +#include "inputstr.h" #include "quartz.h" #include "xpr.h" +#include "xprEvent.h" #include "pseudoramiX.h" #include "darwin.h" +#include "darwinEvents.h" #include "rootless.h" -#include "safeAlpha/safeAlpha.h" #include "dri.h" #include "globals.h" -#include "Xplugin.h" +#include #include "applewmExt.h" #include "micmap.h" -// From xprFrame.c -WindowPtr xprGetXWindow(xp_window_id wid); - #ifdef DAMAGE # include "damage.h" #endif @@ -64,10 +65,11 @@ static const char *xprOpenGLBundle = "glxCGL.bundle"; */ static void eventHandler(unsigned int type, const void *arg, unsigned int arg_size, void *data) { + switch (type) { case XP_EVENT_DISPLAY_CHANGED: DEBUG_LOG("XP_EVENT_DISPLAY_CHANGED\n"); - QuartzMessageServerThread(kXDarwinDisplayChanged, 0); + DarwinSendDDXEvent(kXquartzDisplayChanged, 0); break; case XP_EVENT_WINDOW_STATE_CHANGED: @@ -75,7 +77,7 @@ static void eventHandler(unsigned int type, const void *arg, const xp_window_state_event *ws_arg = arg; DEBUG_LOG("XP_EVENT_WINDOW_STATE_CHANGED: id=%d, state=%d\n", ws_arg->id, ws_arg->state); - QuartzMessageServerThread(kXDarwinWindowState, 2, + DarwinSendDDXEvent(kXquartzWindowState, 2, ws_arg->id, ws_arg->state); } else { DEBUG_LOG("XP_EVENT_WINDOW_STATE_CHANGED: ignored\n"); @@ -86,8 +88,7 @@ static void eventHandler(unsigned int type, const void *arg, DEBUG_LOG("XP_EVENT_WINDOW_MOVED\n"); if (arg_size == sizeof(xp_window_id)) { xp_window_id id = * (xp_window_id *) arg; - WindowPtr pWin = xprGetXWindow(id); - QuartzMessageServerThread(kXDarwinWindowMoved, 1, pWin); + DarwinSendDDXEvent(kXquartzWindowMoved, 1, id); } break; @@ -106,6 +107,15 @@ static void eventHandler(unsigned int type, const void *arg, DRISurfaceNotify(*(xp_surface_id *) arg, kind); } break; +#ifdef XP_EVENT_SPACE_CHANGED + case XP_EVENT_SPACE_CHANGED: + DEBUG_LOG("XP_EVENT_SPACE_CHANGED\n"); + if(arg_size == sizeof(uint32_t)) { + uint32_t space_id = *(uint32_t *)arg; + DarwinSendDDXEvent(kXquartzSpaceChanged, 1, space_id); + } + break; +#endif default: ErrorF("Unknown XP_EVENT type (%d) in xprScreen:eventHandler\n", type); } @@ -140,14 +150,21 @@ displayScreenBounds(CGDirectDisplayID id) frame = CGDisplayBounds(id); + DEBUG_LOG(" %dx%d @ (%d,%d).\n", + (int)frame.size.width, (int)frame.size.height, + (int)frame.origin.x, (int)frame.origin.y); + /* Remove menubar to help standard X11 window managers. */ - - if (frame.origin.x == 0 && frame.origin.y == 0) - { + if (quartzEnableRootless && + frame.origin.x == 0 && frame.origin.y == 0) { frame.origin.y += aquaMenuBarHeight; frame.size.height -= aquaMenuBarHeight; } + DEBUG_LOG(" %dx%d @ (%d,%d).\n", + (int)frame.size.width, (int)frame.size.height, + (int)frame.origin.x, (int)frame.origin.y); + return frame; } @@ -169,8 +186,7 @@ xprAddPseudoramiXScreens(int *x, int *y, int *width, int *height) CGGetActiveDisplayList(displayCount, displayList, &displayCount); /* Get the union of all screens */ - for (i = 0; i < displayCount; i++) - { + for (i = 0; i < displayCount; i++) { CGDirectDisplayID dpy = displayList[i]; frame = displayScreenBounds(dpy); unionRect = CGRectUnion(unionRect, frame); @@ -182,22 +198,20 @@ xprAddPseudoramiXScreens(int *x, int *y, int *width, int *height) *width = unionRect.size.width; *height = unionRect.size.height; + DEBUG_LOG(" screen union origin: (%d,%d) size: (%d,%d).\n", + *x, *y, *width, *height); + /* Tell PseudoramiX about the real screens. */ for (i = 0; i < displayCount; i++) { CGDirectDisplayID dpy = displayList[i]; frame = displayScreenBounds(dpy); - - /* ErrorF("PseudoramiX screen %d added: %dx%d @ (%d,%d).\n", i, - (int)frame.size.width, (int)frame.size.height, - (int)frame.origin.x, (int)frame.origin.y); */ - frame.origin.x -= unionRect.origin.x; frame.origin.y -= unionRect.origin.y; - /* ErrorF("PseudoramiX screen %d placed at X11 coordinate (%d,%d).\n", - i, (int)frame.origin.x, (int)frame.origin.y); */ + DEBUG_LOG(" placed at X11 coordinate (%d,%d).\n", + (int)frame.origin.x, (int)frame.origin.y); PseudoramiXAddScreen(frame.origin.x, frame.origin.y, frame.size.width, frame.size.height); @@ -215,7 +229,7 @@ xprDisplayInit(void) { CGDisplayCount displayCount; - // ErrorF("Display mode: Rootless Quartz -- Xplugin implementation\n"); + DEBUG_LOG(""); CGGetActiveDisplayList(0, NULL, &displayCount); @@ -233,6 +247,9 @@ xprDisplayInit(void) xp_select_events(XP_EVENT_DISPLAY_CHANGED | XP_EVENT_WINDOW_STATE_CHANGED | XP_EVENT_WINDOW_MOVED +#ifdef XP_EVENT_SPACE_CHANGED + | XP_EVENT_SPACE_CHANGED +#endif | XP_EVENT_SURFACE_CHANGED | XP_EVENT_SURFACE_DESTROYED, eventHandler, NULL); @@ -250,6 +267,8 @@ xprAddScreen(int index, ScreenPtr pScreen) { DarwinFramebufferPtr dfb = SCREEN_PRIV(pScreen); int depth = darwinDesiredDepth; + + DEBUG_LOG("index=%d depth=%d\n", index, depth); if(depth == -1) { depth = CGDisplaySamplesPerPixel(kCGDirectMainDisplay) * CGDisplayBitsPerSample(kCGDirectMainDisplay); @@ -259,18 +278,17 @@ xprAddScreen(int index, ScreenPtr pScreen) } switch(depth) { - case -8: // broken - FatalError("Unsupported color depth %d\n", darwinDesiredDepth); - dfb->visuals = (1 << StaticGray) | (1 << GrayScale); - dfb->preferredCVC = GrayScale; - dfb->depth = 8; - dfb->bitsPerRGB = 8; - dfb->bitsPerPixel = 8; - dfb->redMask = 0; - dfb->greenMask = 0; - dfb->blueMask = 0; - break; - case 8: // broken +// case -8: // broken +// dfb->visuals = (1 << StaticGray) | (1 << GrayScale); +// dfb->preferredCVC = GrayScale; +// dfb->depth = 8; +// dfb->bitsPerRGB = 8; +// dfb->bitsPerPixel = 8; +// dfb->redMask = 0; +// dfb->greenMask = 0; +// dfb->blueMask = 0; +// break; + case 8: // pseudo-working dfb->visuals = PseudoColorMask; dfb->preferredCVC = PseudoColor; dfb->depth = 8; @@ -290,7 +308,10 @@ xprAddScreen(int index, ScreenPtr pScreen) dfb->greenMask = 0x03e0; dfb->blueMask = 0x001f; break; - case 24: +// case 24: + default: + if(depth != 24) + ErrorF("Unsupported color depth requested. Defaulting to 24bit. (depth=%d darwinDesiredDepth=%d CGDisplaySamplesPerPixel=%d CGDisplayBitsPerSample=%d)\n", darwinDesiredDepth, depth, (int)CGDisplaySamplesPerPixel(kCGDirectMainDisplay), (int)CGDisplayBitsPerSample(kCGDirectMainDisplay)); dfb->visuals = LARGE_VISUALS; dfb->preferredCVC = TrueColor; dfb->depth = 24; @@ -300,12 +321,12 @@ xprAddScreen(int index, ScreenPtr pScreen) dfb->greenMask = 0x0000ff00; dfb->blueMask = 0x000000ff; break; - default: - FatalError("Unsupported color depth %d\n", darwinDesiredDepth); } if (noPseudoramiXExtension) { + ErrorF("Warning: noPseudoramiXExtension!\n"); + CGDirectDisplayID dpy; CGRect frame; @@ -341,18 +362,11 @@ xprAddScreen(int index, ScreenPtr pScreen) static Bool xprSetupScreen(int index, ScreenPtr pScreen) { - // Add alpha protecting replacements for fb screen functions - -#ifdef RENDER - { - PictureScreenPtr ps = GetPictureScreen(pScreen); - ps->Composite = SafeAlphaComposite; - } -#endif /* RENDER */ - // Initialize accelerated rootless drawing // Note that this must be done before DamageSetup(). - RootlessAccelInit(pScreen); + + // These are crashing ugly... better to be stable and not crash for now. + //RootlessAccelInit(pScreen); #ifdef DAMAGE // The Damage extension needs to wrap underneath the @@ -409,12 +423,8 @@ static QuartzModeProcsRec xprModeProcs = { xprSetupScreen, xprInitInput, QuartzInitCursor, - NULL, // No need to update cursor QuartzSuspendXCursor, QuartzResumeXCursor, - NULL, // No capture or release in rootless mode - NULL, - NULL, // Xplugin sends screen change events directly xprAddPseudoramiXScreens, xprUpdateScreen, xprIsX11Window, diff --git a/xorg-server/hw/xwin/InitInput.c b/xorg-server/hw/xwin/InitInput.c index 6a850cd44..550c5a04e 100644 --- a/xorg-server/hw/xwin/InitInput.c +++ b/xorg-server/hw/xwin/InitInput.c @@ -30,9 +30,6 @@ #include #endif #include "win.h" -#ifdef XWIN_CLIPBOARD -# include "../../Xext/xf86miscproc.h" -#endif #include "dixstruct.h" diff --git a/xorg-server/hw/xwin/InitOutput.c b/xorg-server/hw/xwin/InitOutput.c index d2159813c..abc35b943 100644 --- a/xorg-server/hw/xwin/InitOutput.c +++ b/xorg-server/hw/xwin/InitOutput.c @@ -920,11 +920,6 @@ ddxUseMsg(void) MB_ICONINFORMATION); } -/* ddxInitGlobals - called by |InitGlobals| from os/util.c */ -void ddxInitGlobals(void) -{ -} - /* See Porting Layer Definition - p. 20 */ /* * Do any global initialization, then initialize each screen. diff --git a/xorg-server/hw/xwin/Makefile.am b/xorg-server/hw/xwin/Makefile.am index 5ffba1274..00d425544 100644 --- a/xorg-server/hw/xwin/Makefile.am +++ b/xorg-server/hw/xwin/Makefile.am @@ -46,7 +46,6 @@ SRCS_NATIVEGDI = \ winnativegdi.c \ winpixmap.c \ winpolyline.c \ - winpushpxl.c \ winrop.c \ winsetsp.c DEFS_NATIVEGDI = -DXWIN_NATIVEGDI @@ -167,7 +166,14 @@ AM_CFLAGS = -DHAVE_XWIN_CONFIG_H $(DIX_CFLAGS) \ dist_man1_MANS = XWin.man XWinrc.man +GLX_EXTRAS = \ + glx/ChangeLog \ + glx/glwindows.h \ + glx/glwrap.c \ + glx/indirect.c + EXTRA_DIST = \ + $(GLX_EXTRAS) \ _usr_X11R6_lib_X11_system.XWinrc \ X-boxed.ico \ X.ico \ diff --git a/xorg-server/hw/xwin/Makefile.in b/xorg-server/hw/xwin/Makefile.in index 6fb30bafc..c168f5453 100644 --- a/xorg-server/hw/xwin/Makefile.in +++ b/xorg-server/hw/xwin/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -46,7 +46,6 @@ 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 \ @@ -75,9 +74,8 @@ am__XWin_SOURCES_DIST = InitInput.c InitOutput.c winallpriv.c \ winmultiwindowwm.c winmultiwindowwndproc.c winwin32rootless.c \ winwin32rootlesswindow.c winwin32rootlesswndproc.c \ winwindowswm.c winclip.c winfillsp.c winfont.c wingc.c \ - wingetsp.c winnativegdi.c winpixmap.c winpolyline.c \ - winpushpxl.c winrop.c winsetsp.c winpfbdd.c winrandr.c \ - winvideo.c + wingetsp.c winnativegdi.c winpixmap.c winpolyline.c winrop.c \ + winsetsp.c winpfbdd.c winrandr.c winvideo.c @XWIN_CLIPBOARD_TRUE@am__objects_1 = winclipboardinit.$(OBJEXT) \ @XWIN_CLIPBOARD_TRUE@ winclipboardtextconv.$(OBJEXT) \ @XWIN_CLIPBOARD_TRUE@ winclipboardthread.$(OBJEXT) \ @@ -100,8 +98,7 @@ am__XWin_SOURCES_DIST = InitInput.c InitOutput.c winallpriv.c \ @XWIN_NATIVEGDI_TRUE@ wingc.$(OBJEXT) wingetsp.$(OBJEXT) \ @XWIN_NATIVEGDI_TRUE@ winnativegdi.$(OBJEXT) \ @XWIN_NATIVEGDI_TRUE@ winpixmap.$(OBJEXT) winpolyline.$(OBJEXT) \ -@XWIN_NATIVEGDI_TRUE@ winpushpxl.$(OBJEXT) winrop.$(OBJEXT) \ -@XWIN_NATIVEGDI_TRUE@ winsetsp.$(OBJEXT) +@XWIN_NATIVEGDI_TRUE@ winrop.$(OBJEXT) winsetsp.$(OBJEXT) @XWIN_PRIMARYFB_TRUE@am__objects_6 = winpfbdd.$(OBJEXT) @XWIN_RANDR_TRUE@am__objects_7 = winrandr.$(OBJEXT) @XWIN_XV_TRUE@am__objects_8 = winvideo.$(OBJEXT) @@ -134,9 +131,6 @@ 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) \ @@ -163,8 +157,9 @@ ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ -APPDEFAULTDIR = @APPDEFAULTDIR@ APPLE_APPLICATIONS_DIR = @APPLE_APPLICATIONS_DIR@ +APPLE_APPLICATION_ID = @APPLE_APPLICATION_ID@ +APPLE_APPLICATION_NAME = @APPLE_APPLICATION_NAME@ APP_MAN_DIR = @APP_MAN_DIR@ APP_MAN_SUFFIX = @APP_MAN_SUFFIX@ AR = @AR@ @@ -185,10 +180,6 @@ 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@ @@ -218,6 +209,7 @@ DMXXIEXAMPLES_DEP_CFLAGS = @DMXXIEXAMPLES_DEP_CFLAGS@ DMXXIEXAMPLES_DEP_LIBS = @DMXXIEXAMPLES_DEP_LIBS@ DMXXMUEXAMPLES_DEP_CFLAGS = @DMXXMUEXAMPLES_DEP_CFLAGS@ DMXXMUEXAMPLES_DEP_LIBS = @DMXXMUEXAMPLES_DEP_LIBS@ +DOLT_BASH = @DOLT_BASH@ DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ DRI2PROTO_LIBS = @DRI2PROTO_LIBS@ DRIPROTO_CFLAGS = @DRIPROTO_CFLAGS@ @@ -227,18 +219,15 @@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@ DRI_DRIVER_PATH = @DRI_DRIVER_PATH@ DSYMUTIL = @DSYMUTIL@ DTRACE = @DTRACE@ -ECHO = @ECHO@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ -FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ -FREETYPE_LIBS = @FREETYPE_LIBS@ GLX_ARCH_DEFINES = @GLX_ARCH_DEFINES@ GLX_DEFINES = @GLX_DEFINES@ GL_CFLAGS = @GL_CFLAGS@ @@ -257,7 +246,7 @@ KDRIVE_LIBS = @KDRIVE_LIBS@ KDRIVE_LOCAL_LIBS = @KDRIVE_LOCAL_LIBS@ KDRIVE_PURE_INCS = @KDRIVE_PURE_INCS@ KDRIVE_PURE_LIBS = @KDRIVE_PURE_LIBS@ -LAUNCHD = @LAUNCHD@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LD_EXPORT_SYMBOLS_FLAG = @LD_EXPORT_SYMBOLS_FLAG@ LEX = @LEX@ @@ -271,7 +260,10 @@ LIBTOOL = @LIBTOOL@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LINUXDOC = @LINUXDOC@ +LIPO = @LIPO@ LN_S = @LN_S@ +LTCOMPILE = @LTCOMPILE@ +LTCXXCOMPILE = @LTCXXCOMPILE@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ @@ -283,8 +275,7 @@ MESA_SOURCE = @MESA_SOURCE@ MISC_MAN_DIR = @MISC_MAN_DIR@ MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@ MKDIR_P = @MKDIR_P@ -MKFONTDIR = @MKFONTDIR@ -MKFONTSCALE = @MKFONTSCALE@ +NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCCLD = @OBJCCLD@ @@ -293,8 +284,8 @@ OBJCFLAGS = @OBJCFLAGS@ OBJCLINK = @OBJCLINK@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OPENSSL_CFLAGS = @OPENSSL_CFLAGS@ -OPENSSL_LIBS = @OPENSSL_LIBS@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ @@ -327,7 +318,6 @@ VENDOR_NAME = @VENDOR_NAME@ VENDOR_NAME_SHORT = @VENDOR_NAME_SHORT@ VENDOR_RELEASE = @VENDOR_RELEASE@ VERSION = @VERSION@ -X11APP_ARCHS = @X11APP_ARCHS@ X11EXAMPLES_DEP_CFLAGS = @X11EXAMPLES_DEP_CFLAGS@ X11EXAMPLES_DEP_LIBS = @X11EXAMPLES_DEP_LIBS@ XDMCP_CFLAGS = @XDMCP_CFLAGS@ @@ -337,27 +327,12 @@ XDMXCONFIG_DEP_LIBS = @XDMXCONFIG_DEP_LIBS@ XDMX_CFLAGS = @XDMX_CFLAGS@ XDMX_LIBS = @XDMX_LIBS@ XDMX_SYS_LIBS = @XDMX_SYS_LIBS@ -XEGLMODULES_CFLAGS = @XEGLMODULES_CFLAGS@ -XEGL_LIBS = @XEGL_LIBS@ -XEGL_SYS_LIBS = @XEGL_SYS_LIBS@ XEPHYR_CFLAGS = @XEPHYR_CFLAGS@ -XEPHYR_DRI_LIBS = @XEPHYR_DRI_LIBS@ XEPHYR_INCS = @XEPHYR_INCS@ XEPHYR_LIBS = @XEPHYR_LIBS@ 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@ -XGLX_SYS_LIBS = @XGLX_SYS_LIBS@ -XGL_LIBS = @XGL_LIBS@ -XGL_MODULE_PATH = @XGL_MODULE_PATH@ -XGL_SYS_LIBS = @XGL_SYS_LIBS@ XKB_BASE_DIRECTORY = @XKB_BASE_DIRECTORY@ XKB_BIN_DIRECTORY = @XKB_BIN_DIRECTORY@ XKB_COMPILED_DIR = @XKB_COMPILED_DIR@ @@ -368,10 +343,6 @@ XNESTMODULES_CFLAGS = @XNESTMODULES_CFLAGS@ XNESTMODULES_LIBS = @XNESTMODULES_LIBS@ XNEST_LIBS = @XNEST_LIBS@ XNEST_SYS_LIBS = @XNEST_SYS_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_INCS = @XORG_INCS@ XORG_LIBS = @XORG_LIBS@ @@ -380,13 +351,8 @@ XORG_MODULES_LIBS = @XORG_MODULES_LIBS@ XORG_OS = @XORG_OS@ XORG_OS_SUBDIR = @XORG_OS_SUBDIR@ XORG_SYS_LIBS = @XORG_SYS_LIBS@ -XPRINTMODULES_CFLAGS = @XPRINTMODULES_CFLAGS@ -XPRINTMODULES_LIBS = @XPRINTMODULES_LIBS@ -XPRINTPROTO_CFLAGS = @XPRINTPROTO_CFLAGS@ -XPRINTPROTO_LIBS = @XPRINTPROTO_LIBS@ -XPRINT_CFLAGS = @XPRINT_CFLAGS@ -XPRINT_LIBS = @XPRINT_LIBS@ -XPRINT_SYS_LIBS = @XPRINT_SYS_LIBS@ +XPBPROXY_CFLAGS = @XPBPROXY_CFLAGS@ +XPBPROXY_LIBS = @XPBPROXY_LIBS@ XRESEXAMPLES_DEP_CFLAGS = @XRESEXAMPLES_DEP_CFLAGS@ XRESEXAMPLES_DEP_LIBS = @XRESEXAMPLES_DEP_LIBS@ XSDL_INCS = @XSDL_INCS@ @@ -422,8 +388,7 @@ 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@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -443,7 +408,6 @@ driverdir = @driverdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ extdir = @extdir@ -ft_config = @ft_config@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ @@ -453,12 +417,12 @@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ -launchagentsdir = @launchagentsdir@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ logdir = @logdir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ moduledir = @moduledir@ @@ -476,8 +440,6 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -xglmoduledir = @xglmoduledir@ -xpconfigdir = @xpconfigdir@ @XWIN_CLIPBOARD_TRUE@SRCS_CLIPBOARD = \ @XWIN_CLIPBOARD_TRUE@ winclipboardinit.c \ @XWIN_CLIPBOARD_TRUE@ winclipboardtextconv.c \ @@ -515,7 +477,6 @@ xpconfigdir = @xpconfigdir@ @XWIN_NATIVEGDI_TRUE@ winnativegdi.c \ @XWIN_NATIVEGDI_TRUE@ winpixmap.c \ @XWIN_NATIVEGDI_TRUE@ winpolyline.c \ -@XWIN_NATIVEGDI_TRUE@ winpushpxl.c \ @XWIN_NATIVEGDI_TRUE@ winrop.c \ @XWIN_NATIVEGDI_TRUE@ winsetsp.c @@ -608,7 +569,14 @@ AM_CFLAGS = -DHAVE_XWIN_CONFIG_H $(DIX_CFLAGS) \ $(XWINMODULES_CFLAGS) dist_man1_MANS = XWin.man XWinrc.man +GLX_EXTRAS = \ + glx/ChangeLog \ + glx/glwindows.h \ + glx/glwrap.c \ + glx/indirect.c + EXTRA_DIST = \ + $(GLX_EXTRAS) \ _usr_X11R6_lib_X11_system.XWinrc \ X-boxed.ico \ X.ico \ @@ -643,8 +611,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ @@ -753,7 +721,6 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/winprefsyacc.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/winpriv.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/winprocarg.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/winpushpxl.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/winrandr.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/winregistry.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/winrop.Po@am__quote@ @@ -844,8 +811,8 @@ install-man1: $(man1_MANS) $(man_MANS) esac; \ done; \ for i in $$list; do \ - if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ - else file=$$i; fi; \ + if test -f $$i; then file=$$i; \ + else file=$(srcdir)/$$i; fi; \ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ case "$$ext" in \ 1*) ;; \ @@ -884,7 +851,7 @@ ID: $(HEADERS) $(SOURCES) $(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; nonemtpy = 1; } \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS diff --git a/xorg-server/hw/xwin/glx/ChangeLog b/xorg-server/hw/xwin/glx/ChangeLog new file mode 100644 index 000000000..43a817d6a --- /dev/null +++ b/xorg-server/hw/xwin/glx/ChangeLog @@ -0,0 +1,64 @@ +2005-09-27 Ian Romanick + + * indirect.c: + Remove __glEvalComputeK. It is no longer used. + + +2005-04-09 Alexander Gottwald + + * indirect.c: + Fix passing of non-RGB visuals. The old code did not initialize the + structure properly which lead to a crash in 8bpp mode + +2005-03-01 Alexander Gottwald + + * indirect.c: + * glwindows.h: + 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 + +2005-02-02 Alexander Gottwald + + * Imakefile: + 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 + +2005-02-02 Alexander Gottwald + + * glwrap.c: + * glwindows.h: + 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 to prevent loading windows.h which + pollutes our namespace with some symbols. + +2005-01-27 Alexander Gottwald + + * glwrap.c: + Functions like glGenTextures and glBindTexture are in OpenGL 1.1 + and can be resolved at linktime. + +2004-11-15 Alexander Gottwald + + * indirect.c: + Bugzilla #1802, http://freedesktop.org/bugzilla/show_bug.cgi?id=1802 + Added mingw (Win32) port + +2004-08-13 Alexander Gottwald + + * Imakefile: Added $(MESASRCDIR)/src/mesa/glapi to INCLUDES. + Removed $(SERVERSRC)/mi from INCLUDES. + Rearranged INCLUDES for better readability. + * glwindows.h: Removed mipointrst.h and miscstruct.h from #include + since they are not used anymore. + +2004-05-27 Alexander Gottwald + + * glwindows.h: write current function and line in debug output + * indirect.c: moved actual setup and creation of windows GL context to + glWinCreateContextReal. + * indirect.c (glWinCreateContext): Deferred context creation to attach. + * indirect.c (glWinMakeCurrent): Check if context is NULL. Fixes segfault. diff --git a/xorg-server/hw/xwin/glx/glwindows.h b/xorg-server/hw/xwin/glx/glwindows.h new file mode 100644 index 000000000..74e81f24f --- /dev/null +++ b/xorg-server/hw/xwin/glx/glwindows.h @@ -0,0 +1,64 @@ +#ifdef HAVE_DIX_CONFIG_H +#include +#endif + +#include +#include +#include + +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +typedef struct { + unsigned enableDebug : 1; + unsigned enableTrace : 1; + unsigned dumpPFD : 1; + unsigned dumpHWND : 1; + unsigned dumpDC : 1; +} glWinDebugSettingsRec, *glWinDebugSettingsPtr; +extern glWinDebugSettingsRec glWinDebugSettings; + +typedef struct { + int num_vis; + __GLcontextModes *modes; + void **priv; + + /* wrapped screen functions */ + RealizeWindowProcPtr RealizeWindow; + UnrealizeWindowProcPtr UnrealizeWindow; + CopyWindowProcPtr CopyWindow; +} glWinScreenRec; + +extern glWinScreenRec glWinScreens[MAXSCREENS]; + +#define glWinGetScreenPriv(pScreen) &glWinScreens[pScreen->myNum] +#define glWinScreenPriv(pScreen) glWinScreenRec *pScreenPriv = glWinGetScreenPriv(pScreen); + +#if 1 +#define GLWIN_TRACE() if (glWinDebugSettings.enableTrace) ErrorF("%s:%d: Trace\n", __FUNCTION__, __LINE__ ) +#define GLWIN_TRACE_MSG(msg, args...) if (glWinDebugSettings.enableTrace) ErrorF("%s:%d: " msg, __FUNCTION__, __LINE__, ##args ) +#define GLWIN_DEBUG_MSG(msg, args...) if (glWinDebugSettings.enableDebug) ErrorF("%s:%d: " msg, __FUNCTION__, __LINE__, ##args ) +#define GLWIN_DEBUG_MSG2(msg, args...) if (glWinDebugSettings.enableDebug) ErrorF(msg, ##args ) +#else +#define GLWIN_TRACE() +#define GLWIN_TRACE_MSG(a, ...) +#define GLWIN_DEBUG_MSG(a, ...) +#define GLWIN_DEBUG_MSG2(a, ...) +#endif + diff --git a/xorg-server/hw/xwin/glx/glwrap.c b/xorg-server/hw/xwin/glx/glwrap.c new file mode 100644 index 000000000..f0b38b228 --- /dev/null +++ b/xorg-server/hw/xwin/glx/glwrap.c @@ -0,0 +1,583 @@ +/* + * GLX implementation that uses Win32's OpenGL + * Wrapper functions for Win32's OpenGL + * + * Authors: Alexander Gottwald + */ + +#ifdef HAVE_DIX_CONFIG_H +#include +#endif + +#include +#include +#include +#include +#include + +#define RESOLVE_RET(procname, symbol, retval) \ + static Bool init = TRUE; \ + static procname proc = NULL; \ + if (init) { \ + proc = (procname)wglGetProcAddress(symbol); \ + init = FALSE; \ + if (proc == NULL) { \ + ErrorF("glwrap: Can't resolve \"%s\"\n", symbol); \ + } else \ + ErrorF("glwrap: resolved \"%s\"\n", symbol); \ + } \ + if (proc == NULL) { \ + __glXErrorCallBack(NULL, 0); \ + return retval; \ + } +#define RESOLVE(procname, symbol) RESOLVE_RET(procname, symbol,) + + +/* + * GL_ARB_imaging + */ + + +GLAPI void GLAPIENTRY glColorTable( GLenum target, GLenum internalformat, + GLsizei width, GLenum format, + GLenum type, const GLvoid *table ) +{ + RESOLVE(PFNGLCOLORTABLEPROC, "glColorTable"); + proc(target, internalformat, width, format, type, table); +} + +GLAPI void GLAPIENTRY glColorSubTable( GLenum target, + GLsizei start, GLsizei count, + GLenum format, GLenum type, + const GLvoid *data ) +{ + RESOLVE(PFNGLCOLORSUBTABLEPROC, "glColorSubTable"); + proc(target, start, count, format, type, data); +} + +GLAPI void GLAPIENTRY glColorTableParameteriv(GLenum target, GLenum pname, + const GLint *params) +{ + RESOLVE(PFNGLCOLORTABLEPARAMETERIVPROC, "glColorTableParameteriv"); + proc(target, pname, params); +} + +GLAPI void GLAPIENTRY glColorTableParameterfv(GLenum target, GLenum pname, + const GLfloat *params) +{ + RESOLVE(PFNGLCOLORTABLEPARAMETERFVPROC, "glColorTableParameterfv"); + proc(target, pname, params); +} + +GLAPI void GLAPIENTRY glCopyColorSubTable( GLenum target, GLsizei start, + GLint x, GLint y, GLsizei width ) +{ + RESOLVE(PFNGLCOPYCOLORSUBTABLEPROC, "glCopyColorSubTable"); + proc(target, start, x, y, width); +} + +GLAPI void GLAPIENTRY glCopyColorTable( GLenum target, GLenum internalformat, + GLint x, GLint y, GLsizei width ) +{ + RESOLVE(PFNGLCOPYCOLORTABLEPROC, "glCopyColorTable"); + proc(target, internalformat, x, y, width); +} + + +GLAPI void GLAPIENTRY glGetColorTable( GLenum target, GLenum format, + GLenum type, GLvoid *table ) +{ + RESOLVE(PFNGLGETCOLORTABLEPROC, "glGetColorTable"); + proc(target, format, type, table); +} + +GLAPI void GLAPIENTRY glGetColorTableParameterfv( GLenum target, GLenum pname, + GLfloat *params ) +{ + RESOLVE(PFNGLGETCOLORTABLEPARAMETERFVPROC, "glGetColorTableParameterfv"); + proc(target, pname, params); +} + +GLAPI void GLAPIENTRY glGetColorTableParameteriv( GLenum target, GLenum pname, + GLint *params ) +{ + RESOLVE(PFNGLGETCOLORTABLEPARAMETERIVPROC, "glGetColorTableParameteriv"); + proc(target, pname, params); +} + +GLAPI void GLAPIENTRY glBlendEquation( GLenum mode ) +{ + RESOLVE(PFNGLBLENDEQUATIONPROC, "glBlendEquation"); + proc(mode); +} + +GLAPI void GLAPIENTRY glBlendColor( GLclampf red, GLclampf green, + GLclampf blue, GLclampf alpha ) +{ + RESOLVE(PFNGLBLENDCOLORPROC, "glBlendColor"); + proc(red, green, blue, alpha); +} + +GLAPI void GLAPIENTRY glHistogram( GLenum target, GLsizei width, + GLenum internalformat, GLboolean sink ) +{ + RESOLVE(PFNGLHISTOGRAMPROC, "glHistogram"); + proc(target, width, internalformat, sink); +} + +GLAPI void GLAPIENTRY glResetHistogram( GLenum target ) +{ + RESOLVE(PFNGLRESETHISTOGRAMPROC, "glResetHistogram"); + proc(target); +} + +GLAPI void GLAPIENTRY glGetHistogram( GLenum target, GLboolean reset, + GLenum format, GLenum type, + GLvoid *values ) +{ + RESOLVE(PFNGLGETHISTOGRAMPROC, "glGetHistogram"); + proc(target, reset, format, type, values); +}; + +GLAPI void GLAPIENTRY glGetHistogramParameterfv( GLenum target, GLenum pname, + GLfloat *params ) +{ + RESOLVE(PFNGLGETHISTOGRAMPARAMETERFVPROC, "glGetHistogramParameterfv"); + proc(target, pname, params); +} + +GLAPI void GLAPIENTRY glGetHistogramParameteriv( GLenum target, GLenum pname, + GLint *params ) +{ + RESOLVE(PFNGLGETHISTOGRAMPARAMETERIVPROC, "glGetHistogramParameteriv"); + proc(target, pname, params); +} + +GLAPI void GLAPIENTRY glMinmax( GLenum target, GLenum internalformat, + GLboolean sink ) +{ + RESOLVE(PFNGLMINMAXPROC, "glMinmax"); + proc(target, internalformat, sink); +} + +GLAPI void GLAPIENTRY glResetMinmax( GLenum target ) +{ + RESOLVE(PFNGLRESETMINMAXPROC, "glResetMinmax"); + proc(target); +} + +GLAPI void GLAPIENTRY glGetMinmax( GLenum target, GLboolean reset, + GLenum format, GLenum types, + GLvoid *values ) +{ + RESOLVE(PFNGLGETMINMAXPROC, "glGetMinmax"); + proc(target, reset, format, types, values); +} + +GLAPI void GLAPIENTRY glGetMinmaxParameterfv( GLenum target, GLenum pname, + GLfloat *params ) +{ + RESOLVE(PFNGLGETMINMAXPARAMETERFVPROC, "glGetMinmaxParameterfv"); + proc(target, pname, params); +} + +GLAPI void GLAPIENTRY glGetMinmaxParameteriv( GLenum target, GLenum pname, + GLint *params ) +{ + RESOLVE(PFNGLGETMINMAXPARAMETERIVPROC, "glGetMinmaxParameteriv"); + proc(target, pname, params); +} + +GLAPI void GLAPIENTRY glConvolutionFilter1D( GLenum target, + GLenum internalformat, GLsizei width, GLenum format, GLenum type, + const GLvoid *image ) +{ + RESOLVE(PFNGLCONVOLUTIONFILTER1DPROC, "glConvolutionFilter1D"); + proc(target, internalformat, width, format, type, image); +} + +GLAPI void GLAPIENTRY glConvolutionFilter2D( GLenum target, + GLenum internalformat, GLsizei width, GLsizei height, GLenum format, + GLenum type, const GLvoid *image ) +{ + RESOLVE(PFNGLCONVOLUTIONFILTER2DPROC, "glConvolutionFilter2D"); + proc(target, internalformat, width, height, format, type, image); +} + +GLAPI void GLAPIENTRY glConvolutionParameterf( GLenum target, GLenum pname, + GLfloat params ) +{ + RESOLVE(PFNGLCONVOLUTIONPARAMETERFPROC, "glConvolutionParameterf"); + proc(target, pname, params); +} + +GLAPI void GLAPIENTRY glConvolutionParameterfv( GLenum target, GLenum pname, + const GLfloat *params ) +{ + RESOLVE(PFNGLCONVOLUTIONPARAMETERFVPROC, "glConvolutionParameterfv"); + proc(target, pname, params); +} + +GLAPI void GLAPIENTRY glConvolutionParameteri( GLenum target, GLenum pname, + GLint params ) +{ + RESOLVE(PFNGLCONVOLUTIONPARAMETERIPROC, "glConvolutionParameteri"); + proc(target, pname, params); +} + +GLAPI void GLAPIENTRY glConvolutionParameteriv( GLenum target, GLenum pname, + const GLint *params ) +{ + RESOLVE(PFNGLCONVOLUTIONPARAMETERIVPROC, "glConvolutionParameteriv"); + proc(target, pname, params); +} + +GLAPI void GLAPIENTRY glCopyConvolutionFilter1D( GLenum target, + GLenum internalformat, GLint x, GLint y, GLsizei width ) +{ + RESOLVE(PFNGLCOPYCONVOLUTIONFILTER1DPROC, "glCopyConvolutionFilter1D"); + proc(target, internalformat, x, y, width); +} + +GLAPI void GLAPIENTRY glCopyConvolutionFilter2D( GLenum target, + GLenum internalformat, GLint x, GLint y, GLsizei width, + GLsizei height) +{ + RESOLVE(PFNGLCOPYCONVOLUTIONFILTER2DPROC, "glCopyConvolutionFilter2D"); + proc(target, internalformat, x, y, width, height); +} + +GLAPI void GLAPIENTRY glGetConvolutionFilter( GLenum target, GLenum format, + GLenum type, GLvoid *image ) +{ + RESOLVE(PFNGLGETCONVOLUTIONFILTERPROC, "glGetConvolutionFilter"); + proc(target, format, type, image); +} + +GLAPI void GLAPIENTRY glGetConvolutionParameterfv( GLenum target, GLenum pname, + GLfloat *params ) +{ + RESOLVE(PFNGLGETCONVOLUTIONPARAMETERFVPROC, "glGetConvolutionParameterfv"); + proc(target, pname, params); +} + +GLAPI void GLAPIENTRY glGetConvolutionParameteriv( GLenum target, GLenum pname, + GLint *params ) +{ + RESOLVE(PFNGLGETCONVOLUTIONPARAMETERIVPROC, "glGetConvolutionParameteriv"); + proc(target, pname, params); +} + +GLAPI void GLAPIENTRY glSeparableFilter2D( GLenum target, + GLenum internalformat, GLsizei width, GLsizei height, GLenum format, + GLenum type, const GLvoid *row, const GLvoid *column ) +{ + RESOLVE(PFNGLSEPARABLEFILTER2DPROC, "glSeparableFilter2D"); + proc(target, internalformat, width, height, format, type, row, column); +} + +GLAPI void GLAPIENTRY glGetSeparableFilter( GLenum target, GLenum format, + GLenum type, GLvoid *row, GLvoid *column, GLvoid *span ) +{ + RESOLVE(PFNGLGETSEPARABLEFILTERPROC, "glGetSeparableFilter"); + proc(target, format, type, row, column, span); +} + +/* + * OpenGL 1.2 + */ + +GLAPI void GLAPIENTRY glTexImage3D( GLenum target, GLint level, + GLint internalFormat, + GLsizei width, GLsizei height, + GLsizei depth, GLint border, + GLenum format, GLenum type, + const GLvoid *pixels ) +{ + RESOLVE(PFNGLTEXIMAGE3DPROC, "glTexImage3D"); + proc(target, level, internalFormat, width, height, depth, border, format, type, pixels); +} + +GLAPI void GLAPIENTRY glTexSubImage3D( GLenum target, GLint level, + GLint xoffset, GLint yoffset, + GLint zoffset, GLsizei width, + GLsizei height, GLsizei depth, + GLenum format, + GLenum type, const GLvoid *pixels) +{ + RESOLVE(PFNGLTEXSUBIMAGE3DPROC, "glTexSubImage3D"); + proc(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); +} + +GLAPI void GLAPIENTRY glCopyTexSubImage3D( GLenum target, GLint level, + GLint xoffset, GLint yoffset, + GLint zoffset, GLint x, + GLint y, GLsizei width, + GLsizei height ) +{ + RESOLVE(PFNGLCOPYTEXSUBIMAGE3DPROC, "glCopyTexSubImage3D"); + proc(target, level, xoffset, yoffset, zoffset, x, y, width, height); +} + + +/* + * 20. GL_EXT_texture_object + */ +GLAPI void GLAPIENTRY glGenTexturesEXT( GLsizei n, GLuint *textures ) +{ + glGenTextures(n, textures); +} + +GLAPI void GLAPIENTRY glDeleteTexturesEXT( GLsizei n, const GLuint *textures) +{ + glDeleteTextures(n, textures); +} + +GLAPI void GLAPIENTRY glBindTextureEXT( GLenum target, GLuint texture ) +{ + glBindTexture(target, target); +} + +GLAPI void GLAPIENTRY glPrioritizeTexturesEXT( GLsizei n, const GLuint *textures, const GLclampf *priorities ) +{ + glPrioritizeTextures(n, textures, priorities); +} + +GLAPI GLboolean GLAPIENTRY glAreTexturesResidentEXT( GLsizei n, const GLuint *textures, GLboolean *residences ) +{ + return glAreTexturesResident(n, textures, residences); +} + +GLAPI GLboolean GLAPIENTRY glIsTextureEXT( GLuint texture ) +{ + return glIsTexture(texture); +} + +/* + * GL_ARB_multitexture (ARB extension 1 and OpenGL 1.2.1) + */ + +GLAPI void GLAPIENTRY glActiveTextureARB(GLenum texture) +{ + RESOLVE(PFNGLACTIVETEXTUREARBPROC, "glActiveTextureARB"); + proc(texture); +} + +GLAPI void GLAPIENTRY glMultiTexCoord1dvARB(GLenum target, const GLdouble *v) +{ + RESOLVE(PFNGLMULTITEXCOORD1DVARBPROC, "glMultiTexCoord1dvARB"); + proc(target, v); +} + +GLAPI void GLAPIENTRY glMultiTexCoord1fvARB(GLenum target, const GLfloat *v) +{ + RESOLVE(PFNGLMULTITEXCOORD1FVARBPROC, "glMultiTexCoord1fvARB"); + proc(target, v); +} + +GLAPI void GLAPIENTRY glMultiTexCoord1ivARB(GLenum target, const GLint *v) +{ + RESOLVE(PFNGLMULTITEXCOORD1IVARBPROC, "glMultiTexCoord1ivARB"); + proc(target, v); +} + +GLAPI void GLAPIENTRY glMultiTexCoord1svARB(GLenum target, const GLshort *v) +{ + RESOLVE(PFNGLMULTITEXCOORD1SVARBPROC, "glMultiTexCoord1svARB"); + proc(target, v); +} +GLAPI void GLAPIENTRY glMultiTexCoord2dvARB(GLenum target, const GLdouble *v) +{ + RESOLVE(PFNGLMULTITEXCOORD2DVARBPROC, "glMultiTexCoord2dvARB"); + proc(target, v); +} +GLAPI void GLAPIENTRY glMultiTexCoord2fvARB(GLenum target, const GLfloat *v) +{ + RESOLVE(PFNGLMULTITEXCOORD2FVARBPROC, "glMultiTexCoord2fvARB"); + proc(target, v); +} +GLAPI void GLAPIENTRY glMultiTexCoord2ivARB(GLenum target, const GLint *v) +{ + RESOLVE(PFNGLMULTITEXCOORD2IVARBPROC, "glMultiTexCoord2ivARB"); + proc(target, v); +} +GLAPI void GLAPIENTRY glMultiTexCoord2svARB(GLenum target, const GLshort *v) +{ + RESOLVE(PFNGLMULTITEXCOORD1SVARBPROC, "glMultiTexCoord1svARB"); + proc(target, v); +} +GLAPI void GLAPIENTRY glMultiTexCoord3dvARB(GLenum target, const GLdouble *v) +{ + RESOLVE(PFNGLMULTITEXCOORD3DVARBPROC, "glMultiTexCoord3dvARB"); + proc(target, v); +} +GLAPI void GLAPIENTRY glMultiTexCoord3fvARB(GLenum target, const GLfloat *v) +{ + RESOLVE(PFNGLMULTITEXCOORD3FVARBPROC, "glMultiTexCoord3fvARB"); + proc(target, v); +} +GLAPI void GLAPIENTRY glMultiTexCoord3ivARB(GLenum target, const GLint *v) +{ + RESOLVE(PFNGLMULTITEXCOORD3IVARBPROC, "glMultiTexCoord3ivARB"); + proc(target, v); +} +GLAPI void GLAPIENTRY glMultiTexCoord3svARB(GLenum target, const GLshort *v) +{ + RESOLVE(PFNGLMULTITEXCOORD1SVARBPROC, "glMultiTexCoord1svARB"); + proc(target, v); +} +GLAPI void GLAPIENTRY glMultiTexCoord4dvARB(GLenum target, const GLdouble *v) +{ + RESOLVE(PFNGLMULTITEXCOORD4DVARBPROC, "glMultiTexCoord4dvARB"); + proc(target, v); +} +GLAPI void GLAPIENTRY glMultiTexCoord4fvARB(GLenum target, const GLfloat *v) +{ + RESOLVE(PFNGLMULTITEXCOORD4FVARBPROC, "glMultiTexCoord4fvARB"); + proc(target, v); +} +GLAPI void GLAPIENTRY glMultiTexCoord4ivARB(GLenum target, const GLint *v) +{ + RESOLVE(PFNGLMULTITEXCOORD4IVARBPROC, "glMultiTexCoord4ivARB"); + proc(target, v); +} +GLAPI void GLAPIENTRY glMultiTexCoord4svARB(GLenum target, const GLshort *v) +{ + RESOLVE(PFNGLMULTITEXCOORD1SVARBPROC, "glMultiTexCoord1svARB"); + proc(target, v); +} + + +GLAPI void GLAPIENTRY glActiveStencilFaceEXT(GLenum face) +{ + RESOLVE(PFNGLACTIVESTENCILFACEEXTPROC, "glActiveStencilFaceEXT"); + proc(face); +} + +GLAPI void APIENTRY glPointParameterfARB(GLenum pname, GLfloat param) +{ + RESOLVE(PFNGLPOINTPARAMETERFARBPROC, "glPointParameterfARB"); + proc(pname, param); +} + +GLAPI void APIENTRY glPointParameterfvARB(GLenum pname, const GLfloat *params) +{ + RESOLVE(PFNGLPOINTPARAMETERFVARBPROC, "glPointParameterfvARB"); + proc(pname, params); +} + + +GLAPI void APIENTRY glWindowPos3fARB(GLfloat x, GLfloat y, GLfloat z) +{ + RESOLVE(PFNGLWINDOWPOS3FARBPROC, "glWindowPos3fARB"); + proc(x, y, z); +} + +GLAPI void APIENTRY glPointParameteri(GLenum pname, GLint param) +{ + RESOLVE(PFNGLPOINTPARAMETERIPROC, "glPointParameteri"); + proc(pname, param); +} + +GLAPI void APIENTRY glPointParameteriv(GLenum pname, const GLint *params) +{ + RESOLVE(PFNGLPOINTPARAMETERIVPROC, "glPointParameteriv"); + proc(pname, params); +} + +GLAPI void APIENTRY glPointParameteriNV(GLenum pname, GLint param) +{ + RESOLVE(PFNGLPOINTPARAMETERINVPROC, "glPointParameteriNV"); + proc(pname, param); +} + +GLAPI void APIENTRY glPointParameterivNV(GLenum pname, const GLint *params) +{ + RESOLVE(PFNGLPOINTPARAMETERIVNVPROC, "glPointParameterivNV"); + proc(pname, params); +} + +GLAPI void APIENTRY glSecondaryColor3bv(const GLbyte *v) +{ + RESOLVE(PFNGLSECONDARYCOLOR3BVPROC, "glSecondaryColor3bv"); + proc(v); +} +GLAPI void APIENTRY glSecondaryColor3dv(const GLdouble *v) +{ + RESOLVE(PFNGLSECONDARYCOLOR3DVPROC, "glSecondaryColor3dv"); + proc(v); +} +GLAPI void APIENTRY glSecondaryColor3fv(const GLfloat *v) +{ + RESOLVE(PFNGLSECONDARYCOLOR3FVPROC, "glSecondaryColor3fv"); + proc(v); +} +GLAPI void APIENTRY glSecondaryColor3iv(const GLint *v) +{ + RESOLVE(PFNGLSECONDARYCOLOR3IVPROC, "glSecondaryColor3iv"); + proc(v); +} +GLAPI void APIENTRY glSecondaryColor3sv(const GLshort *v) +{ + RESOLVE(PFNGLSECONDARYCOLOR3SVPROC, "glSecondaryColor3sv"); + proc(v); +} +GLAPI void APIENTRY glSecondaryColor3ubv(const GLubyte *v) +{ + RESOLVE(PFNGLSECONDARYCOLOR3UBVPROC, "glSecondaryColor3ubv"); + proc(v); +} +GLAPI void APIENTRY glSecondaryColor3uiv(const GLuint *v) +{ + RESOLVE(PFNGLSECONDARYCOLOR3UIVPROC, "glSecondaryColor3uiv"); + proc(v); +} +GLAPI void APIENTRY glSecondaryColor3usv(const GLushort *v) +{ + RESOLVE(PFNGLSECONDARYCOLOR3USVPROC, "glSecondaryColor3usv"); + proc(v); +} +GLAPI void APIENTRY glSecondaryColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) +{ + RESOLVE(PFNGLSECONDARYCOLORPOINTERPROC, "glSecondaryColorPointer"); + proc(size, type, stride, pointer); +} + + +GLAPI void APIENTRY glBlendFuncSeparate(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha) +{ + RESOLVE(PFNGLBLENDFUNCSEPARATEPROC, "glBlendFuncSeparate"); + proc(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha); +} +GLAPI void APIENTRY glFogCoordfv(const GLfloat *coord) +{ + RESOLVE(PFNGLFOGCOORDFVPROC, "glFogCoordfv"); + proc(coord); +} +GLAPI void APIENTRY glFogCoorddv(const GLdouble *coord) +{ + RESOLVE(PFNGLFOGCOORDDVPROC, "glFogCoorddv"); + proc(coord); +} +GLAPI void APIENTRY glFogCoordPointer(GLenum type, GLsizei stride, const GLvoid *pointer) +{ + RESOLVE(PFNGLFOGCOORDPOINTERPROC, "glFogCoordPointer"); + proc(type, stride, pointer); +} + + +GLAPI void APIENTRY glSampleCoverageARB(GLclampf value, GLboolean invert) +{ + RESOLVE(PFNGLSAMPLECOVERAGEARBPROC, "glSampleCoverageARB"); + proc(value, invert); +} +GLAPI void APIENTRY glSampleMaskSGIS(GLclampf value, GLboolean invert) +{ + RESOLVE(PFNGLSAMPLEMASKSGISPROC, "glSampleMaskSGIS"); + proc(value, invert); +} +GLAPI void APIENTRY glSamplePatternSGIS(GLenum pattern) +{ + RESOLVE(PFNGLSAMPLEPATTERNSGISPROC, "glSamplePatternSGIS"); + proc(pattern); +} diff --git a/xorg-server/hw/xwin/glx/indirect.c b/xorg-server/hw/xwin/glx/indirect.c new file mode 100644 index 000000000..5e12022f4 --- /dev/null +++ b/xorg-server/hw/xwin/glx/indirect.c @@ -0,0 +1,1605 @@ +/* + * GLX implementation that uses Windows OpenGL library + * (Indirect rendering path) + * + * Authors: Alexander Gottwald + */ +/* + * Portions of this file are copied from GL/apple/indirect.c, + * which contains the following copyright: + * + * Copyright (c) 2002 Greg Parker. All Rights Reserved. + * Copyright (c) 2002 Apple Computer, Inc. + * + * Portions of this file are copied from xf86glx.c, + * which contains the following copyright: + * + * 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, 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. + */ + + + +#ifdef HAVE_DIX_CONFIG_H +#include +#endif + +#include "glwindows.h" +#include +#include + +#include + +#define GLWIN_DEBUG_HWND(hwnd) \ + if (glWinDebugSettings.dumpHWND) { \ + char buffer[1024]; \ + if (GetWindowText(hwnd, buffer, sizeof(buffer))==0) *buffer=0; \ + GLWIN_DEBUG_MSG("Got HWND %s (%p)\n", buffer, hwnd); \ + } + + +/* ggs: needed to call back to glx with visual configs */ +extern void GlxSetVisualConfigs(int nconfigs, __GLXvisualConfig *configs, void **configprivs); + +glWinDebugSettingsRec glWinDebugSettings = { 1, 0, 0, 0, 0}; + +static void glWinInitDebugSettings(void) +{ + char *envptr; + + envptr = getenv("GLWIN_ENABLE_DEBUG"); + if (envptr != NULL) + glWinDebugSettings.enableDebug = (atoi(envptr) == 1); + + envptr = getenv("GLWIN_ENABLE_TRACE"); + if (envptr != NULL) + glWinDebugSettings.enableTrace = (atoi(envptr) == 1); + + envptr = getenv("GLWIN_DUMP_PFD"); + if (envptr != NULL) + glWinDebugSettings.dumpPFD = (atoi(envptr) == 1); + + envptr = getenv("GLWIN_DUMP_HWND"); + if (envptr != NULL) + glWinDebugSettings.dumpHWND = (atoi(envptr) == 1); + + envptr = getenv("GLWIN_DUMP_DC"); + if (envptr != NULL) + glWinDebugSettings.dumpDC = (atoi(envptr) == 1); +} + +static char errorbuffer[1024]; +const char *glWinErrorMessage(void) +{ + if (!FormatMessage( + FORMAT_MESSAGE_FROM_SYSTEM | + FORMAT_MESSAGE_IGNORE_INSERTS, + NULL, + GetLastError(), + MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), + (LPTSTR) &errorbuffer, + sizeof(errorbuffer), + NULL )) + { + snprintf(errorbuffer, sizeof(errorbuffer), "Unknown error in FormatMessage: %08x!\n", (unsigned)GetLastError()); + } + return errorbuffer; +} + +/* + * GLX implementation that uses Win32's OpenGL + */ + +/* + * Server-side GLX uses these functions which are normally defined + * in the OpenGL SI. + */ + +GLuint __glFloorLog2(GLuint val) +{ + int c = 0; + + while (val > 1) { + c++; + val >>= 1; + } + return c; +} + +/* some prototypes */ +static Bool glWinScreenProbe(int screen); +static Bool glWinInitVisuals(VisualPtr *visualp, DepthPtr *depthp, + int *nvisualp, int *ndepthp, + int *rootDepthp, VisualID *defaultVisp, + unsigned long sizes, int bitsPerRGB); +static void glWinSetVisualConfigs(int nconfigs, __GLXvisualConfig *configs, + void **privates); +static __GLinterface *glWinCreateContext(__GLimports *imports, + __GLcontextModes *mode, + __GLinterface *shareGC); +static void glWinCreateBuffer(__GLXdrawablePrivate *glxPriv); +static void glWinResetExtension(void); + +/* + * This structure is statically allocated in the __glXScreens[] + * structure. This struct is not used anywhere other than in + * __glXScreenInit to initialize each of the active screens + * (__glXActiveScreens[]). Several of the fields must be initialized by + * the screenProbe routine before they are copied to the active screens + * struct. In particular, the contextCreate, pGlxVisual, numVisuals, + * and numUsableVisuals fields must be initialized. + */ +static __GLXscreenInfo __glDDXScreenInfo = { + glWinScreenProbe, /* Must be generic and handle all screens */ + glWinCreateContext, /* Substitute screen's createContext routine */ + glWinCreateBuffer, /* Substitute screen's createBuffer routine */ + NULL, /* Set up pGlxVisual in probe */ + NULL, /* Set up pVisualPriv in probe */ + 0, /* Set up numVisuals in probe */ + 0, /* Set up numUsableVisuals in probe */ + "Vendor String", /* GLXvendor is overwritten by __glXScreenInit */ + "Version String", /* GLXversion is overwritten by __glXScreenInit */ + "Extensions String", /* GLXextensions is overwritten by __glXScreenInit */ + NULL /* WrappedPositionWindow is overwritten */ +}; + +void *__glXglDDXScreenInfo(void) { + return &__glDDXScreenInfo; +} + +static __GLXextensionInfo __glDDXExtensionInfo = { + GL_CORE_WINDOWS, + glWinResetExtension, + glWinInitVisuals, + glWinSetVisualConfigs +}; + +void *__glXglDDXExtensionInfo(void) { + return &__glDDXExtensionInfo; +} + +/* prototypes */ + +static GLboolean glWinDestroyContext(__GLcontext *gc); +static GLboolean glWinLoseCurrent(__GLcontext *gc); +static GLboolean glWinMakeCurrent(__GLcontext *gc); +static GLboolean glWinShareContext(__GLcontext *gc, __GLcontext *gcShare); +static GLboolean glWinCopyContext(__GLcontext *dst, const __GLcontext *src, + GLuint mask); +static GLboolean glWinForceCurrent(__GLcontext *gc); + +/* Drawing surface notification callbacks */ +static GLboolean glWinNotifyResize(__GLcontext *gc); +static void glWinNotifyDestroy(__GLcontext *gc); +static void glWinNotifySwapBuffers(__GLcontext *gc); + +/* Dispatch table override control for external agents like libGLS */ +static struct __GLdispatchStateRec* glWinDispatchExec(__GLcontext *gc); +static void glWinBeginDispatchOverride(__GLcontext *gc); +static void glWinEndDispatchOverride(__GLcontext *gc); + +/* Debug output */ +static void pfdOut(const PIXELFORMATDESCRIPTOR *pfd); + +static __GLexports glWinExports = { + glWinDestroyContext, + glWinLoseCurrent, + glWinMakeCurrent, + glWinShareContext, + glWinCopyContext, + glWinForceCurrent, + + glWinNotifyResize, + glWinNotifyDestroy, + glWinNotifySwapBuffers, + + glWinDispatchExec, + glWinBeginDispatchOverride, + glWinEndDispatchOverride +}; + +glWinScreenRec glWinScreens[MAXSCREENS]; + +/* __GLdrawablePrivate->private */ +typedef struct { + DrawablePtr pDraw; + /* xp_surface_id sid; */ +} GLWinDrawableRec; + +struct __GLcontextRec { + struct __GLinterfaceRec interface; /* required to be first */ + + HGLRC ctx; /* Windows GL Context */ + + HDC dc; /* Windows Device Context */ + winWindowInfoRec winInfo; /* Window info from XWin */ + + PIXELFORMATDESCRIPTOR pfd; /* Pixelformat flags */ + int pixelFormat; /* Pixelformat index */ + + unsigned isAttached :1; /* Flag to track if context is attached */ +}; + +static HDC glWinMakeDC(__GLcontext *gc) +{ + HDC dc; + + /*if (gc->winInfo.hrgn == NULL) + { + GLWIN_DEBUG_MSG("Creating region from RECT(%ld,%ld,%ld,%ld):", + gc->winInfo.rect.left, + gc->winInfo.rect.top, + gc->winInfo.rect.right, + gc->winInfo.rect.bottom); + gc->winInfo.hrgn = CreateRectRgnIndirect(&gc->winInfo.rect); + GLWIN_DEBUG_MSG2("%p\n", gc->winInfo.hrgn); + }*/ + + if (glWinDebugSettings.enableTrace) + GLWIN_DEBUG_HWND(gc->winInfo.hwnd); + + dc = GetDC(gc->winInfo.hwnd); + /*dc = GetDCEx(gc->winInfo.hwnd, gc->winInfo.hrgn, + DCX_WINDOW | DCX_NORESETATTRS ); */ + + if (dc == NULL) + ErrorF("GetDC error: %s\n", glWinErrorMessage()); + return dc; +} + +static void unattach(__GLcontext *gc) +{ + BOOL ret; + GLWIN_DEBUG_MSG("unattach (ctx %p)\n", gc->ctx); + if (!gc->isAttached) + { + ErrorF("called unattach on an unattached context\n"); + return; + } + + if (gc->ctx) + { + ret = wglDeleteContext(gc->ctx); + if (!ret) + ErrorF("wglDeleteContext error: %s\n", glWinErrorMessage()); + gc->ctx = NULL; + } + + if (gc->winInfo.hrgn) + { + ret = DeleteObject(gc->winInfo.hrgn); + if (!ret) + ErrorF("DeleteObject error: %s\n", glWinErrorMessage()); + gc->winInfo.hrgn = NULL; + } + + gc->isAttached = 0; +} + +static BOOL glWinAdjustHWND(__GLcontext *gc, WindowPtr pWin) +{ + HDC dc; + BOOL ret; + HGLRC newctx; + HWND oldhwnd; + + GLWIN_DEBUG_MSG("glWinAdjustHWND (ctx %p, pWin %p)\n", gc->ctx, pWin); + + if (pWin == NULL) + { + GLWIN_DEBUG_MSG("Deferring until window is created\n"); + return FALSE; + } + + oldhwnd = gc->winInfo.hwnd; + winGetWindowInfo(pWin, &gc->winInfo); + + GLWIN_DEBUG_HWND(gc->winInfo.hwnd); + if (gc->winInfo.hwnd == NULL) + { + GLWIN_DEBUG_MSG("Deferring until window is created\n"); + return FALSE; + } + + dc = glWinMakeDC(gc); + + if (glWinDebugSettings.dumpDC) + GLWIN_DEBUG_MSG("Got HDC %p\n", dc); + + gc->pixelFormat = ChoosePixelFormat(dc, &gc->pfd); + if (gc->pixelFormat == 0) + { + ErrorF("ChoosePixelFormat error: %s\n", glWinErrorMessage()); + ReleaseDC(gc->winInfo.hwnd, dc); + return FALSE; + } + + ret = SetPixelFormat(dc, gc->pixelFormat, &gc->pfd); + if (!ret) { + ErrorF("SetPixelFormat error: %s\n", glWinErrorMessage()); + ReleaseDC(gc->winInfo.hwnd, dc); + return FALSE; + } + + newctx = wglCreateContext(dc); + if (newctx == NULL) { + ErrorF("wglCreateContext error: %s\n", glWinErrorMessage()); + ReleaseDC(gc->winInfo.hwnd, dc); + return FALSE; + } + + GLWIN_DEBUG_MSG("wglCreateContext (ctx %p)\n", newctx); + + if (!wglShareLists(gc->ctx, newctx)) + { + ErrorF("wglShareLists error: %s\n", glWinErrorMessage()); + ReleaseDC(gc->winInfo.hwnd, dc); + return FALSE; + } + + if (oldhwnd != gc->winInfo.hwnd) + { + GLWIN_DEBUG_MSG("Trying wglCopyContext\n"); + if (!wglCopyContext(gc->ctx, newctx, GL_ALL_ATTRIB_BITS)) + { + ErrorF("wglCopyContext error: %s\n", glWinErrorMessage()); + ReleaseDC(gc->winInfo.hwnd, dc); + return FALSE; + } + } + + if (!wglDeleteContext(gc->ctx)) + { + ErrorF("wglDeleteContext error: %s\n", glWinErrorMessage()); + } + + gc->ctx = newctx; + + if (!wglMakeCurrent(dc, gc->ctx)) { + ErrorF("glMakeCurrent error: %s\n", glWinErrorMessage()); + ReleaseDC(gc->winInfo.hwnd, dc); + return FALSE; + } + + ReleaseDC(gc->winInfo.hwnd, dc); + + return TRUE; +} + +static BOOL glWinCreateContextReal(__GLcontext *gc, WindowPtr pWin) +{ + HDC dc; + BOOL ret; + + GLWIN_DEBUG_MSG("glWinCreateContextReal (pWin %p)\n", pWin); + + if (pWin == NULL) + { + GLWIN_DEBUG_MSG("Deferring until window is created\n"); + return FALSE; + } + + winGetWindowInfo(pWin, &gc->winInfo); + + GLWIN_DEBUG_HWND(gc->winInfo.hwnd); + if (gc->winInfo.hwnd == NULL) + { + GLWIN_DEBUG_MSG("Deferring until window is created\n"); + return FALSE; + } + + + dc = glWinMakeDC(gc); + + if (glWinDebugSettings.dumpDC) + GLWIN_DEBUG_MSG("Got HDC %p\n", dc); + + gc->pixelFormat = ChoosePixelFormat(dc, &gc->pfd); + if (gc->pixelFormat == 0) + { + ErrorF("ChoosePixelFormat error: %s\n", glWinErrorMessage()); + ReleaseDC(gc->winInfo.hwnd, dc); + return FALSE; + } + + ret = SetPixelFormat(dc, gc->pixelFormat, &gc->pfd); + if (!ret) { + ErrorF("SetPixelFormat error: %s\n", glWinErrorMessage()); + ReleaseDC(gc->winInfo.hwnd, dc); + return FALSE; + } + + gc->ctx = wglCreateContext(dc); + if (gc->ctx == NULL) { + ErrorF("wglCreateContext error: %s\n", glWinErrorMessage()); + ReleaseDC(gc->winInfo.hwnd, dc); + return FALSE; + } + + GLWIN_DEBUG_MSG("glWinCreateContextReal (ctx %p)\n", gc->ctx); + + if (!wglMakeCurrent(dc, gc->ctx)) { + ErrorF("glMakeCurrent error: %s\n", glWinErrorMessage()); + ReleaseDC(gc->winInfo.hwnd, dc); + return FALSE; + } + + ReleaseDC(gc->winInfo.hwnd, dc); + + return TRUE; +} + +static void attach(__GLcontext *gc, __GLdrawablePrivate *glPriv) +{ + __GLXdrawablePrivate *glxPriv = (__GLXdrawablePrivate *)glPriv->other; + + GLWIN_DEBUG_MSG("attach (ctx %p)\n", gc->ctx); + + if (gc->isAttached) + { + ErrorF("called attach on an attached context\n"); + return; + } + + if (glxPriv->type == DRAWABLE_WINDOW) + { + WindowPtr pWin = (WindowPtr) glxPriv->pDraw; + if (pWin == NULL) + { + GLWIN_DEBUG_MSG("Deferring ChoosePixelFormat until window is created\n"); + } else + { + if (glWinCreateContextReal(gc, pWin)) + { + gc->isAttached = TRUE; + GLWIN_DEBUG_MSG("attached\n"); + } + } + } +} + +static GLboolean glWinLoseCurrent(__GLcontext *gc) +{ + GLWIN_TRACE_MSG("glWinLoseCurrent (ctx %p)\n", gc->ctx); + + __glXLastContext = NULL; /* Mesa does this; why? */ + + return GL_TRUE; +} + +/* Context manipulation; return GL_FALSE on failure */ +static GLboolean glWinDestroyContext(__GLcontext *gc) +{ + GLWIN_DEBUG_MSG("glWinDestroyContext (ctx %p)\n", gc->ctx); + + if (gc != NULL) + { + if (gc->isAttached) + unattach(gc); + if (gc->dc != NULL) + DeleteDC(gc->dc); + free(gc); + } + + return GL_TRUE; +} + +static GLboolean glWinMakeCurrent(__GLcontext *gc) +{ + __GLdrawablePrivate *glPriv = gc->interface.imports.getDrawablePrivate(gc); + BOOL ret; + HDC dc; + + GLWIN_TRACE_MSG(" (ctx %p)\n", gc->ctx); + + if (!gc->isAttached) + attach(gc, glPriv); + + if (gc->ctx == NULL) { + ErrorF("Context is NULL\n"); + return GL_FALSE; + } + + dc = glWinMakeDC(gc); + ret = wglMakeCurrent(dc, gc->ctx); + if (!ret) + ErrorF("glMakeCurrent error: %s\n", glWinErrorMessage()); + ReleaseDC(gc->winInfo.hwnd, dc); + + return ret?GL_TRUE:GL_FALSE; +} + +static GLboolean glWinShareContext(__GLcontext *gc, __GLcontext *gcShare) +{ + GLWIN_DEBUG_MSG("glWinShareContext unimplemented\n"); + + return GL_TRUE; +} + +static GLboolean glWinCopyContext(__GLcontext *dst, const __GLcontext *src, + GLuint mask) +{ + BOOL ret; + + GLWIN_DEBUG_MSG("glWinCopyContext\n"); + + ret = wglCopyContext(src->ctx, dst->ctx, mask); + if (!ret) + { + ErrorF("wglCopyContext error: %s\n", glWinErrorMessage()); + return GL_FALSE; + } + + return GL_TRUE; +} + +static GLboolean glWinForceCurrent(__GLcontext *gc) +{ + GLWIN_TRACE_MSG(" (ctx %p)\n", gc->ctx); + + return GL_TRUE; +} + +/* Drawing surface notification callbacks */ + +static GLboolean glWinNotifyResize(__GLcontext *gc) +{ + GLWIN_DEBUG_MSG("unimplemented glWinNotifyResize"); + return GL_TRUE; +} + +static void glWinNotifyDestroy(__GLcontext *gc) +{ + GLWIN_DEBUG_MSG("unimplemented glWinNotifyDestroy"); +} + +static void glWinNotifySwapBuffers(__GLcontext *gc) +{ + GLWIN_DEBUG_MSG("unimplemented glWinNotifySwapBuffers"); +} + +/* Dispatch table override control for external agents like libGLS */ +static struct __GLdispatchStateRec* glWinDispatchExec(__GLcontext *gc) +{ + GLWIN_DEBUG_MSG("unimplemented glWinDispatchExec"); + return NULL; +} + +static void glWinBeginDispatchOverride(__GLcontext *gc) +{ + GLWIN_DEBUG_MSG("unimplemented glWinBeginDispatchOverride"); +} + +static void glWinEndDispatchOverride(__GLcontext *gc) +{ + GLWIN_DEBUG_MSG("unimplemented glWinEndDispatchOverride"); +} + +#define DUMP_PFD_FLAG(flag) \ + if (pfd->dwFlags & flag) { \ + ErrorF("%s%s", pipesym, #flag); \ + pipesym = " | "; \ + } + +static void pfdOut(const PIXELFORMATDESCRIPTOR *pfd) +{ + const char *pipesym = ""; /* will be set after first flag dump */ + ErrorF("PIXELFORMATDESCRIPTOR:\n"); + ErrorF("nSize = %u\n", pfd->nSize); + ErrorF("nVersion = %u\n", pfd->nVersion); + ErrorF("dwFlags = %lu = {", pfd->dwFlags); + DUMP_PFD_FLAG(PFD_MAIN_PLANE); + DUMP_PFD_FLAG(PFD_OVERLAY_PLANE); + DUMP_PFD_FLAG(PFD_UNDERLAY_PLANE); + DUMP_PFD_FLAG(PFD_DOUBLEBUFFER); + DUMP_PFD_FLAG(PFD_STEREO); + DUMP_PFD_FLAG(PFD_DRAW_TO_WINDOW); + DUMP_PFD_FLAG(PFD_DRAW_TO_BITMAP); + DUMP_PFD_FLAG(PFD_SUPPORT_GDI); + DUMP_PFD_FLAG(PFD_SUPPORT_OPENGL); + DUMP_PFD_FLAG(PFD_GENERIC_FORMAT); + DUMP_PFD_FLAG(PFD_NEED_PALETTE); + DUMP_PFD_FLAG(PFD_NEED_SYSTEM_PALETTE); + DUMP_PFD_FLAG(PFD_SWAP_EXCHANGE); + DUMP_PFD_FLAG(PFD_SWAP_COPY); + DUMP_PFD_FLAG(PFD_SWAP_LAYER_BUFFERS); + DUMP_PFD_FLAG(PFD_GENERIC_ACCELERATED); + DUMP_PFD_FLAG(PFD_DEPTH_DONTCARE); + DUMP_PFD_FLAG(PFD_DOUBLEBUFFER_DONTCARE); + DUMP_PFD_FLAG(PFD_STEREO_DONTCARE); + ErrorF("}\n"); + + ErrorF("iPixelType = %hu = %s\n", pfd->iPixelType, + (pfd->iPixelType == PFD_TYPE_RGBA ? "PFD_TYPE_RGBA" : "PFD_TYPE_COLORINDEX")); + ErrorF("cColorBits = %hhu\n", pfd->cColorBits); + ErrorF("cRedBits = %hhu\n", pfd->cRedBits); + ErrorF("cRedShift = %hhu\n", pfd->cRedShift); + ErrorF("cGreenBits = %hhu\n", pfd->cGreenBits); + ErrorF("cGreenShift = %hhu\n", pfd->cGreenShift); + ErrorF("cBlueBits = %hhu\n", pfd->cBlueBits); + ErrorF("cBlueShift = %hhu\n", pfd->cBlueShift); + ErrorF("cAlphaBits = %hhu\n", pfd->cAlphaBits); + ErrorF("cAlphaShift = %hhu\n", pfd->cAlphaShift); + ErrorF("cAccumBits = %hhu\n", pfd->cAccumBits); + ErrorF("cAccumRedBits = %hhu\n", pfd->cAccumRedBits); + ErrorF("cAccumGreenBits = %hhu\n", pfd->cAccumGreenBits); + ErrorF("cAccumBlueBits = %hhu\n", pfd->cAccumBlueBits); + ErrorF("cAccumAlphaBits = %hhu\n", pfd->cAccumAlphaBits); + ErrorF("cDepthBits = %hhu\n", pfd->cDepthBits); + ErrorF("cStencilBits = %hhu\n", pfd->cStencilBits); + ErrorF("cAuxBuffers = %hhu\n", pfd->cAuxBuffers); + ErrorF("iLayerType = %hhu\n", pfd->iLayerType); + ErrorF("bReserved = %hhu\n", pfd->bReserved); + ErrorF("dwLayerMask = %lu\n", pfd->dwLayerMask); + ErrorF("dwVisibleMask = %lu\n", pfd->dwVisibleMask); + ErrorF("dwDamageMask = %lu\n", pfd->dwDamageMask); + ErrorF("\n"); +} + +static int makeFormat(__GLcontextModes *mode, PIXELFORMATDESCRIPTOR *pfdret) +{ + PIXELFORMATDESCRIPTOR pfd = { + sizeof(PIXELFORMATDESCRIPTOR), /* size of this pfd */ + 1, /* version number */ + PFD_DRAW_TO_WINDOW | /* support window */ + PFD_SUPPORT_OPENGL, /* support OpenGL */ + PFD_TYPE_RGBA, /* RGBA type */ + 24, /* 24-bit color depth */ + 0, 0, 0, 0, 0, 0, /* color bits ignored */ + 0, /* no alpha buffer */ + 0, /* shift bit ignored */ + 0, /* no accumulation buffer */ + 0, 0, 0, 0, /* accum bits ignored */ + 0, /* 32-bit z-buffer */ + 0, /* no stencil buffer */ + 0, /* no auxiliary buffer */ + PFD_MAIN_PLANE, /* main layer */ + 0, /* reserved */ + 0, 0, 0 /* layer masks ignored */ + }, *result = &pfd; + + /* disable anything but rgba. must get rgba to work first */ + if (!mode->rgbMode) + return -1; + + if (mode->stereoMode) { + result->dwFlags |= PFD_STEREO; + } + if (mode->doubleBufferMode) { + result->dwFlags |= PFD_DOUBLEBUFFER; + } + + if (mode->colorIndexMode) { + /* ignored, see above */ + result->iPixelType = PFD_TYPE_COLORINDEX; + result->cColorBits = mode->redBits + mode->greenBits + mode->blueBits; + result->cRedBits = mode->redBits; + result->cRedShift = 0; /* FIXME */ + result->cGreenBits = mode->greenBits; + result->cGreenShift = 0; /* FIXME */ + result->cBlueBits = mode->blueBits; + result->cBlueShift = 0; /* FIXME */ + result->cAlphaBits = mode->alphaBits; + result->cAlphaShift = 0; /* FIXME */ + } + + if (mode->rgbMode) { + result->iPixelType = PFD_TYPE_RGBA; + result->cColorBits = mode->redBits + mode->greenBits + mode->blueBits; + result->cRedBits = mode->redBits; + result->cRedShift = 0; /* FIXME */ + result->cGreenBits = mode->greenBits; + result->cGreenShift = 0; /* FIXME */ + result->cBlueBits = mode->blueBits; + result->cBlueShift = 0; /* FIXME */ + result->cAlphaBits = mode->alphaBits; + result->cAlphaShift = 0; /* FIXME */ + } + + if (mode->haveAccumBuffer) { + result->cAccumBits = mode->accumRedBits + mode->accumGreenBits + + mode->accumBlueBits + mode->accumAlphaBits; + result->cAccumRedBits = mode->accumRedBits; + result->cAccumGreenBits = mode->accumGreenBits; + result->cAccumBlueBits = mode->accumBlueBits; + result->cAccumAlphaBits = mode->accumAlphaBits; + } + + if (mode->haveDepthBuffer) { + result->cDepthBits = mode->depthBits; + } + if (mode->haveStencilBuffer) { + result->cStencilBits = mode->stencilBits; + } + + /* result->cAuxBuffers = mode->numAuxBuffers; */ + + /* mode->level ignored */ + + /* mode->pixmapMode ? */ + + *pfdret = pfd; + + return 0; +} + +static __GLinterface *glWinCreateContext(__GLimports *imports, + __GLcontextModes *mode, + __GLinterface *shareGC) +{ + __GLcontext *result; + + GLWIN_DEBUG_MSG("glWinCreateContext\n"); + + result = (__GLcontext *)calloc(1, sizeof(__GLcontext)); + if (!result) + return NULL; + + result->interface.imports = *imports; + result->interface.exports = glWinExports; + + if (makeFormat(mode, &result->pfd)) + { + ErrorF("makeFormat failed\n"); + free(result); + return NULL; + } + + if (glWinDebugSettings.dumpPFD) + pfdOut(&result->pfd); + + GLWIN_DEBUG_MSG("glWinCreateContext done\n"); + return (__GLinterface *)result; +} + +Bool +glWinRealizeWindow(WindowPtr pWin) +{ + /* If this window has GL contexts, tell them to reattach */ + /* reattaching is bad: display lists and parameters get lost */ + Bool result; + ScreenPtr pScreen = pWin->drawable.pScreen; + glWinScreenRec *screenPriv = &glWinScreens[pScreen->myNum]; + __GLXdrawablePrivate *glxPriv; + + GLWIN_DEBUG_MSG("glWinRealizeWindow\n"); + + /* Allow the window to be created (RootlessRealizeWindow is inside our wrap) */ + pScreen->RealizeWindow = screenPriv->RealizeWindow; + result = pScreen->RealizeWindow(pWin); + pScreen->RealizeWindow = glWinRealizeWindow; + + /* Re-attach this window's GL contexts, if any. */ + glxPriv = __glXFindDrawablePrivate(pWin->drawable.id); + if (glxPriv) { + __GLXcontext *gx; + __GLcontext *gc; + __GLdrawablePrivate *glPriv = &glxPriv->glPriv; + GLWIN_DEBUG_MSG("glWinRealizeWindow is GL drawable!\n"); + + /* GL contexts bound to this window for drawing */ + for (gx = glxPriv->drawGlxc; gx != NULL; gx = gx->next) { + gc = (__GLcontext *)gx->gc; + if (gc->isAttached) +#if 1 + { + GLWIN_DEBUG_MSG("context is already bound! Adjusting HWND.\n"); + glWinAdjustHWND(gc, pWin); + continue; + } +#else + unattach(gc); +#endif + attach(gc, glPriv); + } + + /* GL contexts bound to this window for reading */ + for (gx = glxPriv->readGlxc; gx != NULL; gx = gx->next) { + gc = (__GLcontext *)gx->gc; + if (gc->isAttached) +#if 1 + { + GLWIN_DEBUG_MSG("context is already bound! Adjusting HWND.\n"); + glWinAdjustHWND(gc, pWin); + continue; + } +#else + unattach(gc); +#endif + attach(gc, glPriv); + } + } + + return result; +} + + +void +glWinCopyWindow(WindowPtr pWindow, DDXPointRec ptOldOrg, RegionPtr prgnSrc) +{ + ScreenPtr pScreen = pWindow->drawable.pScreen; + glWinScreenRec *screenPriv = &glWinScreens[pScreen->myNum]; + __GLXdrawablePrivate *glxPriv; + + GLWIN_TRACE_MSG(" (pWindow %p)\n", pWindow); + + /* Check if the window is attached and discard any drawing request */ + glxPriv = __glXFindDrawablePrivate(pWindow->drawable.id); + if (glxPriv) { + __GLXcontext *gx; + + /* GL contexts bound to this window for drawing */ + for (gx = glxPriv->drawGlxc; gx != NULL; gx = gx->next) { +/* + GLWIN_DEBUG_MSG("glWinCopyWindow - calling glDrawBuffer\n"); + glDrawBuffer(GL_FRONT); + */ + + return; + } + + /* GL contexts bound to this window for reading */ + for (gx = glxPriv->readGlxc; gx != NULL; gx = gx->next) { + return; + } + } + + GLWIN_DEBUG_MSG("glWinCopyWindow - passing to hw layer\n"); + + pScreen->CopyWindow = screenPriv->CopyWindow; + pScreen->CopyWindow(pWindow, ptOldOrg, prgnSrc); + pScreen->CopyWindow = glWinCopyWindow; +} + +Bool +glWinUnrealizeWindow(WindowPtr pWin) +{ + /* If this window has GL contexts, tell them to unattach */ + Bool result; + ScreenPtr pScreen = pWin->drawable.pScreen; + glWinScreenRec *screenPriv = &glWinScreens[pScreen->myNum]; + __GLXdrawablePrivate *glxPriv; + + GLWIN_DEBUG_MSG("glWinUnrealizeWindow\n"); + + /* The Aqua window may have already been destroyed (windows + * are unrealized from top down) + */ + + /* Unattach this window's GL contexts, if any. */ + glxPriv = __glXFindDrawablePrivate(pWin->drawable.id); + if (glxPriv) { + __GLXcontext *gx; + __GLcontext *gc; + GLWIN_DEBUG_MSG("glWinUnealizeWindow is GL drawable!\n"); + + /* GL contexts bound to this window for drawing */ + for (gx = glxPriv->drawGlxc; gx != NULL; gx = gx->next) { + gc = (__GLcontext *)gx->gc; + unattach(gc); + } + + /* GL contexts bound to this window for reading */ + for (gx = glxPriv->readGlxc; gx != NULL; gx = gx->next) { + gc = (__GLcontext *)gx->gc; + unattach(gc); + } + } + + pScreen->UnrealizeWindow = screenPriv->UnrealizeWindow; + result = pScreen->UnrealizeWindow(pWin); + pScreen->UnrealizeWindow = glWinUnrealizeWindow; + + return result; +} + + +/* + * In the case the driver has no GLX visuals we'll use these. + * [0] = RGB, double buffered + * [1] = RGB, double buffered, stencil, accum + */ +/* Originally copied from Mesa */ + +static int numConfigs = 0; +static __GLXvisualConfig *visualConfigs = NULL; +static void **visualPrivates = NULL; + +#define NUM_FALLBACK_CONFIGS 2 +static __GLXvisualConfig FallbackConfigs[NUM_FALLBACK_CONFIGS] = { + { + -1, /* vid */ + -1, /* class */ + True, /* rgba */ + -1, -1, -1, 0, /* rgba sizes */ + -1, -1, -1, 0, /* rgba masks */ + 0, 0, 0, 0, /* rgba accum sizes */ + True, /* doubleBuffer */ + False, /* stereo */ + -1, /* bufferSize */ + 16, /* depthSize */ + 0, /* stencilSize */ + 0, /* auxBuffers */ + 0, /* level */ + GLX_NONE_EXT, /* visualRating */ + 0, /* transparentPixel */ + 0, 0, 0, 0, /* transparent rgba color (floats scaled to ints) */ + 0 /* transparentIndex */ + }, + { + -1, /* vid */ + -1, /* class */ + True, /* rgba */ + -1, -1, -1, 0, /* rgba sizes */ + -1, -1, -1, 0, /* rgba masks */ + 16, 16, 16, 0, /* rgba accum sizes */ + True, /* doubleBuffer */ + False, /* stereo */ + -1, /* bufferSize */ + 16, /* depthSize */ + 8, /* stencilSize */ + 0, /* auxBuffers */ + 0, /* level */ + GLX_NONE_EXT, /* visualRating */ + 0, /* transparentPixel */ + 0, 0, 0, 0, /* transparent rgba color (floats scaled to ints) */ + 0 /* transparentIndex */ + } +}; + +static __GLXvisualConfig NullConfig = { + -1, /* vid */ + -1, /* class */ + False, /* rgba */ + -1, -1, -1, 0, /* rgba sizes */ + -1, -1, -1, 0, /* rgba masks */ + 0, 0, 0, 0, /* rgba accum sizes */ + False, /* doubleBuffer */ + False, /* stereo */ + -1, /* bufferSize */ + 16, /* depthSize */ + 0, /* stencilSize */ + 0, /* auxBuffers */ + 0, /* level */ + GLX_NONE_EXT, /* visualRating */ + 0, /* transparentPixel */ + 0, 0, 0, 0, /* transparent rgba color (floats scaled to ints) */ + 0 /* transparentIndex */ +}; + +static inline int count_bits(uint32_t x) +{ + x = x - ((x >> 1) & 0x55555555); + x = (x & 0x33333333) + ((x >> 2) & 0x33333333); + x = (x + (x >> 4)) & 0x0f0f0f0f; + x = x + (x >> 8); + x = x + (x >> 16); + return x & 63; +} + +/* Mostly copied from Mesa's xf86glx.c */ +static Bool init_visuals(int *nvisualp, VisualPtr *visualp, + VisualID *defaultVisp, + int ndepth, DepthPtr pdepth, + int rootDepth) +{ + int numRGBconfigs; + int numCIconfigs; + int numVisuals = *nvisualp; + int numNewVisuals; + int numNewConfigs; + VisualPtr pVisual = *visualp; + VisualPtr pVisualNew = NULL; + VisualID *orig_vid = NULL; + __GLcontextModes *modes = NULL; + __GLXvisualConfig *pNewVisualConfigs = NULL; + void **glXVisualPriv; + void **pNewVisualPriv; + int found_default; + int i, j, k; + + GLWIN_DEBUG_MSG("init_visuals\n"); + + if (numConfigs > 0) + numNewConfigs = numConfigs; + else + numNewConfigs = NUM_FALLBACK_CONFIGS; + + /* Alloc space for the list of new GLX visuals */ + pNewVisualConfigs = (__GLXvisualConfig *) + __glXMalloc(numNewConfigs * sizeof(__GLXvisualConfig)); + if (!pNewVisualConfigs) { + return FALSE; + } + + /* Alloc space for the list of new GLX visual privates */ + pNewVisualPriv = (void **) __glXMalloc(numNewConfigs * sizeof(void *)); + if (!pNewVisualPriv) { + __glXFree(pNewVisualConfigs); + return FALSE; + } + + /* + ** If SetVisualConfigs was not called, then use default GLX + ** visual configs. + */ + if (numConfigs == 0) { + memcpy(pNewVisualConfigs, FallbackConfigs, + NUM_FALLBACK_CONFIGS * sizeof(__GLXvisualConfig)); + memset(pNewVisualPriv, 0, NUM_FALLBACK_CONFIGS * sizeof(void *)); + } + else { + /* copy driver's visual config info */ + for (i = 0; i < numConfigs; i++) { + pNewVisualConfigs[i] = visualConfigs[i]; + pNewVisualPriv[i] = visualPrivates[i]; + } + } + + /* Count the number of RGB and CI visual configs */ + numRGBconfigs = 0; + numCIconfigs = 0; + for (i = 0; i < numNewConfigs; i++) { + if (pNewVisualConfigs[i].rgba) + numRGBconfigs++; + else + numCIconfigs++; + } + + /* Count the total number of visuals to compute */ + numNewVisuals = 0; + for (i = 0; i < numVisuals; i++) { + int count; + + count = ((pVisual[i].class == TrueColor + || pVisual[i].class == DirectColor) + ? numRGBconfigs : numCIconfigs); + if (count == 0) + count = 1; /* preserve the existing visual */ + + numNewVisuals += count; + } + + /* Reset variables for use with the next screen/driver's visual configs */ + visualConfigs = NULL; + numConfigs = 0; + + /* Alloc temp space for the list of orig VisualIDs for each new visual */ + orig_vid = (VisualID *)__glXMalloc(numNewVisuals * sizeof(VisualID)); + if (!orig_vid) { + __glXFree(pNewVisualPriv); + __glXFree(pNewVisualConfigs); + return FALSE; + } + + /* Alloc space for the list of glXVisuals */ + modes = _gl_context_modes_create(numNewVisuals, sizeof(__GLcontextModes)); + if (modes == NULL) { + __glXFree(orig_vid); + __glXFree(pNewVisualPriv); + __glXFree(pNewVisualConfigs); + return FALSE; + } + + /* Alloc space for the list of glXVisualPrivates */ + glXVisualPriv = (void **)__glXMalloc(numNewVisuals * sizeof(void *)); + if (!glXVisualPriv) { + _gl_context_modes_destroy( modes ); + __glXFree(orig_vid); + __glXFree(pNewVisualPriv); + __glXFree(pNewVisualConfigs); + return FALSE; + } + + /* Alloc space for the new list of the X server's visuals */ + pVisualNew = (VisualPtr)__glXMalloc(numNewVisuals * sizeof(VisualRec)); + if (!pVisualNew) { + __glXFree(glXVisualPriv); + _gl_context_modes_destroy( modes ); + __glXFree(orig_vid); + __glXFree(pNewVisualPriv); + __glXFree(pNewVisualConfigs); + return FALSE; + } + + /* Initialize the new visuals */ + found_default = FALSE; + glWinScreens[screenInfo.numScreens-1].modes = modes; + for (i = j = 0; i < numVisuals; i++) { + int is_rgb = (pVisual[i].class == TrueColor || + pVisual[i].class == DirectColor); + + if (!is_rgb) + { + /* We don't support non-rgb visuals for GL. But we don't + want to remove them either, so just pass them through + with null glX configs */ + + pVisualNew[j] = pVisual[i]; + pVisualNew[j].vid = FakeClientID(0); + + /* Check for the default visual */ + if (!found_default && pVisual[i].vid == *defaultVisp) { + *defaultVisp = pVisualNew[j].vid; + found_default = TRUE; + } + + /* Save the old VisualID */ + orig_vid[j] = pVisual[i].vid; + + /* Initialize the glXVisual */ + _gl_copy_visual_to_context_mode( modes, & NullConfig ); + modes->visualID = pVisualNew[j].vid; + + j++; + + continue; + } + + for (k = 0; k < numNewConfigs; k++) { + if (pNewVisualConfigs[k].rgba != is_rgb) + continue; + + assert( modes != NULL ); + + /* Initialize the new visual */ + pVisualNew[j] = pVisual[i]; + pVisualNew[j].vid = FakeClientID(0); + + /* Check for the default visual */ + if (!found_default && pVisual[i].vid == *defaultVisp) { + *defaultVisp = pVisualNew[j].vid; + found_default = TRUE; + } + + /* Save the old VisualID */ + orig_vid[j] = pVisual[i].vid; + + /* Initialize the glXVisual */ + _gl_copy_visual_to_context_mode( modes, & pNewVisualConfigs[k] ); + modes->visualID = pVisualNew[j].vid; + + /* + * If the class is -1, then assume the X visual information + * is identical to what GLX needs, and take them from the X + * visual. NOTE: if class != -1, then all other fields MUST + * be initialized. + */ + if (modes->visualType == GLX_NONE) { + modes->visualType = _gl_convert_from_x_visual_type( pVisual[i].class ); + modes->redBits = count_bits(pVisual[i].redMask); + modes->greenBits = count_bits(pVisual[i].greenMask); + modes->blueBits = count_bits(pVisual[i].blueMask); + modes->alphaBits = modes->alphaBits; + modes->redMask = pVisual[i].redMask; + modes->greenMask = pVisual[i].greenMask; + modes->blueMask = pVisual[i].blueMask; + modes->alphaMask = modes->alphaMask; + modes->rgbBits = (is_rgb) + ? (modes->redBits + modes->greenBits + + modes->blueBits + modes->alphaBits) + : rootDepth; + } + + /* Save the device-dependent private for this visual */ + glXVisualPriv[j] = pNewVisualPriv[k]; + + j++; + modes = modes->next; + } + } + + assert(j <= numNewVisuals); + + /* Save the GLX visuals in the screen structure */ + glWinScreens[screenInfo.numScreens-1].num_vis = numNewVisuals; + glWinScreens[screenInfo.numScreens-1].priv = glXVisualPriv; + + /* Set up depth's VisualIDs */ + for (i = 0; i < ndepth; i++) { + int numVids = 0; + VisualID *pVids = NULL; + int k, n = 0; + + /* Count the new number of VisualIDs at this depth */ + for (j = 0; j < pdepth[i].numVids; j++) + for (k = 0; k < numNewVisuals; k++) + if (pdepth[i].vids[j] == orig_vid[k]) + numVids++; + + /* Allocate a new list of VisualIDs for this depth */ + pVids = (VisualID *)__glXMalloc(numVids * sizeof(VisualID)); + + /* Initialize the new list of VisualIDs for this depth */ + for (j = 0; j < pdepth[i].numVids; j++) + for (k = 0; k < numNewVisuals; k++) + if (pdepth[i].vids[j] == orig_vid[k]) + pVids[n++] = pVisualNew[k].vid; + + /* Update this depth's list of VisualIDs */ + __glXFree(pdepth[i].vids); + pdepth[i].vids = pVids; + pdepth[i].numVids = numVids; + } + + /* Update the X server's visuals */ + *nvisualp = numNewVisuals; + *visualp = pVisualNew; + + /* Free the old list of the X server's visuals */ + __glXFree(pVisual); + + /* Clean up temporary allocations */ + __glXFree(orig_vid); + __glXFree(pNewVisualPriv); + __glXFree(pNewVisualConfigs); + + /* Free the private list created by DDX HW driver */ + if (visualPrivates) + xfree(visualPrivates); + visualPrivates = NULL; + + return TRUE; +} + + +static void fixup_visuals(int screen) +{ + ScreenPtr pScreen = screenInfo.screens[screen]; + glWinScreenRec *pScr = &glWinScreens[screen]; + __GLcontextModes *modes; + int j; + + GLWIN_DEBUG_MSG("fixup_visuals\n"); + + for (modes = pScr->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); + VisualPtr pVis = pScreen->visuals; + + /* Find a visual that matches the GLX visual's class and size */ + for (j = 0; j < pScreen->numVisuals; j++) { + if (pVis[j].class == vis_class && + pVis[j].nplanes == nplanes) { + + /* Fixup the masks */ + modes->redMask = pVis[j].redMask; + modes->greenMask = pVis[j].greenMask; + modes->blueMask = pVis[j].blueMask; + + /* Recalc the sizes */ + modes->redBits = count_bits(modes->redMask); + modes->greenBits = count_bits(modes->greenMask); + modes->blueBits = count_bits(modes->blueMask); + } + } + } +} + +static void init_screen_visuals(int screen) +{ + ScreenPtr pScreen = screenInfo.screens[screen]; + __GLcontextModes *modes; + int *used; + int i, j; + + GLWIN_DEBUG_MSG("init_screen_visuals\n"); + + used = (int *)__glXMalloc(pScreen->numVisuals * sizeof(int)); + __glXMemset(used, 0, pScreen->numVisuals * sizeof(int)); + + i = 0; + for ( modes = glWinScreens[screen].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]) { + +#if 0 + /* Create the XMesa visual */ + pXMesaVisual[i] = + XMesaCreateVisual(pScreen, + pVis, + 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); +#endif + + /* 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" ); + } + + i++; + + } + + __glXFree(used); + + /* glWinScreens[screen].xm_vis = pXMesaVisual; */ +} + +static Bool glWinScreenProbe(int screen) +{ + ScreenPtr pScreen; + glWinScreenRec *screenPriv; + + GLWIN_DEBUG_MSG("glWinScreenProbe\n"); + + /* + * Set up the current screen's visuals. + */ + __glDDXScreenInfo.modes = glWinScreens[screen].modes; + __glDDXScreenInfo.pVisualPriv = glWinScreens[screen].priv; + __glDDXScreenInfo.numVisuals = + __glDDXScreenInfo.numUsableVisuals = glWinScreens[screen].num_vis; + + /* + * Set the current screen's createContext routine. This could be + * wrapped by a DDX GLX context creation routine. + */ + __glDDXScreenInfo.createContext = glWinCreateContext; + + /* + * The ordering of the rgb compenents might have been changed by the + * driver after mi initialized them. + */ + fixup_visuals(screen); + + /* + * Find the GLX visuals that are supported by this screen and create + * XMesa's visuals. + */ + init_screen_visuals(screen); + + /* Wrap RealizeWindow and UnrealizeWindow on this screen */ + pScreen = screenInfo.screens[screen]; + screenPriv = &glWinScreens[screen]; + screenPriv->RealizeWindow = pScreen->RealizeWindow; + pScreen->RealizeWindow = glWinRealizeWindow; + screenPriv->UnrealizeWindow = pScreen->UnrealizeWindow; + pScreen->UnrealizeWindow = glWinUnrealizeWindow; + screenPriv->CopyWindow = pScreen->CopyWindow; + pScreen->CopyWindow = glWinCopyWindow; + + return TRUE; +} + +static GLboolean glWinSwapBuffers(__GLXdrawablePrivate *glxPriv) +{ + /* swap buffers on only *one* of the contexts + * (e.g. the last one for drawing) + */ + __GLcontext *gc = (__GLcontext *)glxPriv->drawGlxc->gc; + HDC dc; + BOOL ret; + + GLWIN_TRACE_MSG("glWinSwapBuffers (ctx %p)\n", (gc!=NULL?gc->ctx:NULL)); + + if (gc != NULL && gc->ctx != NULL) + { + dc = glWinMakeDC(gc); + if (dc == NULL) + return GL_FALSE; + + ret = SwapBuffers(dc); + if (!ret) + ErrorF("SwapBuffers failed: %s\n", glWinErrorMessage()); + + ReleaseDC(gc->winInfo.hwnd, dc); + if (!ret) + return GL_FALSE; + } + + return GL_TRUE; +} + +static void glWinDestroyDrawablePrivate(__GLdrawablePrivate *glPriv) +{ + GLWIN_DEBUG_MSG("glWinDestroyDrawablePrivate\n"); + + /* It doesn't work to call DRIDestroySurface here, the drawable's + already gone.. But dri.c notices the window destruction and + frees the surface itself. */ + + free(glPriv->private); + glPriv->private = NULL; +} + + +static void glWinCreateBuffer(__GLXdrawablePrivate *glxPriv) +{ + GLWinDrawableRec *winPriv = malloc(sizeof(GLWinDrawableRec)); + __GLdrawablePrivate *glPriv = &glxPriv->glPriv; + + /*winPriv->sid = 0; */ + winPriv->pDraw = NULL; + + GLWIN_DEBUG_MSG("glWinCreateBuffer\n"); + + /* replace swapBuffers (original is never called) */ + glxPriv->swapBuffers = glWinSwapBuffers; + + /* stash private data */ + glPriv->private = winPriv; + glPriv->freePrivate = glWinDestroyDrawablePrivate; +} + +static void glWinResetExtension(void) +{ + GLWIN_DEBUG_MSG("glWinResetExtension\n"); +} + +/* based on code in apples/indirect.c which is based on i830_dri.c */ +static void +glWinInitVisualConfigs(void) +{ + int lclNumConfigs = 0; + __GLXvisualConfig *lclVisualConfigs = NULL; + void **lclVisualPrivates = NULL; + + int depth, aux, buffers, stencil, accum; + int i = 0; + + GLWIN_DEBUG_MSG("glWinInitVisualConfigs "); + + /* count num configs: + 2 Z buffer (0, 24 bit) + 2 AUX buffer (0, 2) + 2 buffers (single, double) + 2 stencil (0, 8 bit) + 2 accum (0, 64 bit) + = 32 configs */ + + lclNumConfigs = 2 * 2 * 2 * 2 * 2; /* 32 */ + + /* alloc */ + lclVisualConfigs = xcalloc(sizeof(__GLXvisualConfig), lclNumConfigs); + lclVisualPrivates = xcalloc(sizeof(void *), lclNumConfigs); + + /* fill in configs */ + if (NULL != lclVisualConfigs) { + i = 0; /* current buffer */ + for (depth = 0; depth < 2; depth++) { + for (aux = 0; aux < 2; aux++) { + for (buffers = 0; buffers < 2; buffers++) { + for (stencil = 0; stencil < 2; stencil++) { + for (accum = 0; accum < 2; accum++) { + lclVisualConfigs[i].vid = -1; + lclVisualConfigs[i].class = -1; + lclVisualConfigs[i].rgba = TRUE; + lclVisualConfigs[i].redSize = -1; + lclVisualConfigs[i].greenSize = -1; + lclVisualConfigs[i].blueSize = -1; + lclVisualConfigs[i].redMask = -1; + lclVisualConfigs[i].greenMask = -1; + lclVisualConfigs[i].blueMask = -1; + lclVisualConfigs[i].alphaMask = 0; + if (accum) { + lclVisualConfigs[i].accumRedSize = 16; + lclVisualConfigs[i].accumGreenSize = 16; + lclVisualConfigs[i].accumBlueSize = 16; + lclVisualConfigs[i].accumAlphaSize = 16; + } + else { + lclVisualConfigs[i].accumRedSize = 0; + lclVisualConfigs[i].accumGreenSize = 0; + lclVisualConfigs[i].accumBlueSize = 0; + lclVisualConfigs[i].accumAlphaSize = 0; + } + lclVisualConfigs[i].doubleBuffer = buffers ? TRUE : FALSE; + lclVisualConfigs[i].stereo = FALSE; + lclVisualConfigs[i].bufferSize = -1; + + lclVisualConfigs[i].depthSize = depth? 24 : 0; + lclVisualConfigs[i].stencilSize = stencil ? 8 : 0; + lclVisualConfigs[i].auxBuffers = aux ? 2 : 0; + lclVisualConfigs[i].level = 0; + lclVisualConfigs[i].visualRating = GLX_NONE_EXT; + lclVisualConfigs[i].transparentPixel = 0; + lclVisualConfigs[i].transparentRed = 0; + lclVisualConfigs[i].transparentGreen = 0; + lclVisualConfigs[i].transparentBlue = 0; + lclVisualConfigs[i].transparentAlpha = 0; + lclVisualConfigs[i].transparentIndex = 0; + i++; + } + } + } + } + } + } + if (i != lclNumConfigs) + GLWIN_DEBUG_MSG("glWinInitVisualConfigs failed to alloc visual configs"); + + GlxSetVisualConfigs(lclNumConfigs, lclVisualConfigs, lclVisualPrivates); +} + +/* Copied from Mesa */ +static void glWinSetVisualConfigs(int nconfigs, __GLXvisualConfig *configs, + void **privates) +{ + GLWIN_DEBUG_MSG("glWinSetVisualConfigs\n"); + + numConfigs = nconfigs; + visualConfigs = configs; + visualPrivates = privates; +} + +/* Copied from Mesa */ +static Bool glWinInitVisuals(VisualPtr *visualp, DepthPtr *depthp, + int *nvisualp, int *ndepthp, + int *rootDepthp, VisualID *defaultVisp, + unsigned long sizes, int bitsPerRGB) +{ + glWinInitDebugSettings(); + + GLWIN_DEBUG_MSG("glWinInitVisuals\n"); + + if (0 == numConfigs) /* if no configs */ + glWinInitVisualConfigs(); /* ensure the visula configs are setup */ + + /* + * Setup the visuals supported by this particular screen. + */ + return init_visuals(nvisualp, visualp, defaultVisp, + *ndepthp, *depthp, *rootDepthp); +} diff --git a/xorg-server/hw/xwin/win.h b/xorg-server/hw/xwin/win.h index 3ab324931..ea54b997c 100644 --- a/xorg-server/hw/xwin/win.h +++ b/xorg-server/hw/xwin/win.h @@ -586,9 +586,7 @@ typedef struct _winPrivScreenRec ReparentWindowProcPtr ReparentWindow; ResizeWindowProcPtr ResizeWindow; MoveWindowProcPtr MoveWindow; -#ifdef SHAPE SetShapeProcPtr SetShape; -#endif winCursorRec cursor; } winPrivScreenRec; @@ -1196,10 +1194,8 @@ winUnmapWindowRootless (WindowPtr pWindow); Bool winMapWindowRootless (WindowPtr pWindow); -#ifdef SHAPE void winSetShapeRootless (WindowPtr pWindow); -#endif /* @@ -1215,7 +1211,6 @@ winXIconToHICON (WindowPtr pWin, int iconSize); * winmultiwindowshape.c */ -# ifdef SHAPE void winReshapeMultiWindow (WindowPtr pWin); @@ -1224,7 +1219,6 @@ winSetShapeMultiWindow (WindowPtr pWindow); void winUpdateRgnMultiWindow (WindowPtr pWindow); -# endif #endif diff --git a/xorg-server/hw/xwin/wincursor.c b/xorg-server/hw/xwin/wincursor.c index 021b8b82c..92775e404 100644 --- a/xorg-server/hw/xwin/wincursor.c +++ b/xorg-server/hw/xwin/wincursor.c @@ -204,8 +204,7 @@ winLoadCursor (ScreenPtr pScreen, CursorPtr pCursor, int screen) /* Allocate memory for the bitmaps */ pAnd = malloc (nBytes); memset (pAnd, 0xFF, nBytes); - pXor = malloc (nBytes); - memset (pXor, 0x00, nBytes); + pXor = calloc (1, nBytes); /* Convert the X11 bitmap to a win32 bitmap * The first is for an empty mask */ diff --git a/xorg-server/hw/xwin/wingc.c b/xorg-server/hw/xwin/wingc.c index 107d87aef..1f3775263 100644 --- a/xorg-server/hw/xwin/wingc.c +++ b/xorg-server/hw/xwin/wingc.c @@ -119,7 +119,7 @@ const GCOps winGCOps = { miImageGlyphBlt, miPolyGlyphBlt, #endif - winPushPixels + miPushPixels, }; diff --git a/xorg-server/hw/xwin/winglobals.c b/xorg-server/hw/xwin/winglobals.c index fddada39e..3eb6091e6 100644 --- a/xorg-server/hw/xwin/winglobals.c +++ b/xorg-server/hw/xwin/winglobals.c @@ -44,11 +44,16 @@ int g_iLastScreen = -1; #ifdef HAS_DEVWINDOWS int g_fdMessageQueue = WIN_FD_INVALID; #endif -DevPrivateKey g_iScreenPrivateKey = &g_iScreenPrivateKey; -DevPrivateKey g_iCmapPrivateKey = &g_iCmapPrivateKey; -DevPrivateKey g_iGCPrivateKey = &g_iGCPrivateKey; -DevPrivateKey g_iPixmapPrivateKey = &g_iPixmapPrivateKey; -DevPrivateKey g_iWindowPrivateKey = &g_iWindowPrivateKey; +static int g_iScreenPrivateKeyIndex; +DevPrivateKey g_iScreenPrivateKey = &g_iScreenPrivateKeyIndex; +static int g_iCmapPrivateKeyIndex; +DevPrivateKey g_iCmapPrivateKey = &g_iCmapPrivateKeyIndex; +static int g_iGCPrivateKeyIndex; +DevPrivateKey g_iGCPrivateKey = &g_iGCPrivateKeyIndex; +static int g_iPixmapPrivateKeyIndex; +DevPrivateKey g_iPixmapPrivateKey = &g_iPixmapPrivateKeyIndex; +static int g_iWindowPrivateKeyIndex; +DevPrivateKey g_iWindowPrivateKey = &g_iWindowPrivateKeyIndex; unsigned long g_ulServerGeneration = 0; Bool g_fInitializedDefaultScreens = FALSE; DWORD g_dwEnginesSupported = 0; diff --git a/xorg-server/hw/xwin/winmouse.c b/xorg-server/hw/xwin/winmouse.c index 1507dd34f..be2b66a08 100644 --- a/xorg-server/hw/xwin/winmouse.c +++ b/xorg-server/hw/xwin/winmouse.c @@ -36,7 +36,7 @@ #endif #include "win.h" -#if defined(XFree86Server) && defined(XINPUT) +#if defined(XFree86Server) #include "inputstr.h" /* Peek the internal button mapping */ @@ -106,7 +106,7 @@ winMouseProc (DeviceIntPtr pDeviceInt, int iState) 2); free(map); -#if defined(XFree86Server) && defined(XINPUT) +#if defined(XFree86Server) g_winMouseButtonMap = pDeviceInt->button->map; #endif break; @@ -116,7 +116,7 @@ winMouseProc (DeviceIntPtr pDeviceInt, int iState) break; case DEVICE_CLOSE: -#if defined(XFree86Server) && defined(XINPUT) +#if defined(XFree86Server) g_winMouseButtonMap = NULL; #endif case DEVICE_OFF: @@ -225,7 +225,7 @@ winMouseButtonsSendEvent (int iEventType, int iButton) /* Load an xEvent and enqueue the event */ xCurrentEvent.u.u.type = iEventType; -#if defined(XFree86Server) && defined(XINPUT) +#if defined(XFree86Server) if (g_winMouseButtonMap) xCurrentEvent.u.u.detail = g_winMouseButtonMap[iButton]; else diff --git a/xorg-server/hw/xwin/winmultiwindowicons.c b/xorg-server/hw/xwin/winmultiwindowicons.c index 45ed093ec..fbc516cde 100644 --- a/xorg-server/hw/xwin/winmultiwindowicons.c +++ b/xorg-server/hw/xwin/winmultiwindowicons.c @@ -302,12 +302,10 @@ winXIconToHICON (WindowPtr pWin, int iconSize) /* Mask is 1-bit deep */ maskStride = ((iconSize * 1 + 31) & (~31)) / 8; - image = (unsigned char * ) malloc (stride * iconSize); - imageMask = (unsigned char *) malloc (stride * iconSize); - mask = (unsigned char *) malloc (maskStride * iconSize); - + image = malloc (stride * iconSize); + imageMask = malloc (stride * iconSize); /* Default to a completely black mask */ - memset (mask, 0, maskStride * iconSize); + mask = calloc (maskStride, iconSize); winScaleXBitmapToWindows (iconSize, effBPP, iconPtr, image); maskPtr = (PixmapPtr) LookupIDByType (hints.icon_mask, RT_PIXMAP); diff --git a/xorg-server/hw/xwin/winmultiwindowshape.c b/xorg-server/hw/xwin/winmultiwindowshape.c index 33deae337..62cddd0a1 100644 --- a/xorg-server/hw/xwin/winmultiwindowshape.c +++ b/xorg-server/hw/xwin/winmultiwindowshape.c @@ -32,7 +32,6 @@ #ifdef HAVE_XWIN_CONFIG_H #include #endif -#ifdef SHAPE #include "win.h" @@ -208,4 +207,3 @@ winReshapeMultiWindow (WindowPtr pWin) return; } -#endif diff --git a/xorg-server/hw/xwin/winmultiwindowwindow.c b/xorg-server/hw/xwin/winmultiwindowwindow.c index 037c881b4..75bef9786 100644 --- a/xorg-server/hw/xwin/winmultiwindowwindow.c +++ b/xorg-server/hw/xwin/winmultiwindowwindow.c @@ -352,11 +352,9 @@ winMapWindowMultiWindow (WindowPtr pWin) /* Refresh/redisplay the Windows window associated with this X window */ winUpdateWindowsWindow (pWin); -#ifdef SHAPE /* Update the Windows window's shape */ winReshapeMultiWindow (pWin); winUpdateRgnMultiWindow (pWin); -#endif return fResult; } diff --git a/xorg-server/hw/xwin/winprefslex.c b/xorg-server/hw/xwin/winprefslex.c index ff7abc6d0..f75191886 100644 --- a/xorg-server/hw/xwin/winprefslex.c +++ b/xorg-server/hw/xwin/winprefslex.c @@ -53,7 +53,6 @@ typedef int flex_int32_t; typedef unsigned char flex_uint8_t; typedef unsigned short int flex_uint16_t; typedef unsigned int flex_uint32_t; -#endif /* ! C99 */ /* Limits of integral types. */ #ifndef INT8_MIN @@ -84,6 +83,8 @@ typedef unsigned int flex_uint32_t; #define UINT32_MAX (4294967295U) #endif +#endif /* ! C99 */ + #endif /* ! FLEXINT_H */ #ifdef __cplusplus @@ -140,7 +141,15 @@ typedef unsigned int flex_uint32_t; /* Size of default input buffer. */ #ifndef YY_BUF_SIZE +#ifdef __ia64__ +/* On IA-64, the buffer size is 16k, not 8k. + * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case. + * Ditto for the __ia64__ case accordingly. + */ +#define YY_BUF_SIZE 32768 +#else #define YY_BUF_SIZE 16384 +#endif /* __ia64__ */ #endif /* The state buf must be large enough to hold one state per character in the main buffer. @@ -645,7 +654,7 @@ static char *makestr(char *str) return ptr; } -#line 649 "winprefslex.c" +#line 658 "winprefslex.c" #define INITIAL 0 @@ -726,7 +735,12 @@ static int input (void ); /* Amount of stuff to slurp up with each read. */ #ifndef YY_READ_BUF_SIZE +#ifdef __ia64__ +/* On IA-64, the buffer size is 16k, not 8k */ +#define YY_READ_BUF_SIZE 16384 +#else #define YY_READ_BUF_SIZE 8192 +#endif /* __ia64__ */ #endif /* Copy whatever the last rule matched to the standard output. */ @@ -734,7 +748,7 @@ static int input (void ); /* This used to be an fputs(), but since the string might contain NUL's, * we now use fwrite(). */ -#define ECHO fwrite( yytext, yyleng, 1, yyout ) +#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0) #endif /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, @@ -745,7 +759,7 @@ static int input (void ); if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ { \ int c = '*'; \ - int n; \ + size_t n; \ for ( n = 0; n < max_size && \ (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ buf[n] = (char) c; \ @@ -829,7 +843,7 @@ YY_DECL #line 64 "winprefslex.l" -#line 833 "winprefslex.c" +#line 847 "winprefslex.c" if ( !(yy_init) ) { @@ -1053,7 +1067,7 @@ YY_RULE_SETUP #line 92 "winprefslex.l" ECHO; YY_BREAK -#line 1057 "winprefslex.c" +#line 1071 "winprefslex.c" case YY_STATE_EOF(INITIAL): yyterminate(); @@ -1820,8 +1834,8 @@ YY_BUFFER_STATE yy_scan_string (yyconst char * yystr ) /** Setup the input buffer state to scan the given bytes. The next call to yylex() will * scan from a @e copy of @a bytes. - * @param bytes the byte buffer to scan - * @param len the number of bytes in the buffer pointed to by @a bytes. + * @param yybytes the byte buffer to scan + * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes. * * @return the newly allocated buffer state object. */ diff --git a/xorg-server/hw/xwin/winprefsyacc.c b/xorg-server/hw/xwin/winprefsyacc.c index abdc681b6..d92dfdd8b 100644 --- a/xorg-server/hw/xwin/winprefsyacc.c +++ b/xorg-server/hw/xwin/winprefsyacc.c @@ -1,24 +1,23 @@ -/* A Bison parser, made by GNU Bison 2.3. */ -/* Skeleton implementation for Bison's Yacc-like parsers in C +/* A Bison parser, made by GNU Bison 2.4.1. */ - Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 +/* 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. - - This program is free software; you can redistribute it and/or modify + + 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 - the Free Software Foundation; either version 2, or (at your option) - any later version. - + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. - + 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. */ + along with this program. If not, see . */ /* As a special exception, you may create a larger work that contains part or all of the Bison parser skeleton and distribute that work @@ -29,7 +28,7 @@ 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. - + This special exception was added by the Free Software Foundation in version 2.2 of Bison. */ @@ -47,7 +46,7 @@ #define YYBISON 1 /* Bison version. */ -#define YYBISON_VERSION "2.3" +#define YYBISON_VERSION "2.4.1" /* Skeleton name. */ #define YYSKELETON_NAME "yacc.c" @@ -55,65 +54,20 @@ /* Pure parsers. */ #define YYPURE 0 -/* Using locations. */ -#define YYLSP_NEEDED 0 - - +/* Push parsers. */ +#define YYPUSH 0 -/* Tokens. */ -#ifndef YYTOKENTYPE -# define YYTOKENTYPE - /* Put the tokens into the symbol table, so that GDB and other debuggers - know about them. */ - enum yytokentype { - NEWLINE = 258, - MENU = 259, - LB = 260, - RB = 261, - ICONDIRECTORY = 262, - DEFAULTICON = 263, - ICONS = 264, - DEFAULTSYSMENU = 265, - SYSMENU = 266, - ROOTMENU = 267, - SEPARATOR = 268, - ATSTART = 269, - ATEND = 270, - EXEC = 271, - ALWAYSONTOP = 272, - DEBUG = 273, - RELOAD = 274, - TRAYICON = 275, - SILENTEXIT = 276, - STRING = 277 - }; -#endif -/* Tokens. */ -#define NEWLINE 258 -#define MENU 259 -#define LB 260 -#define RB 261 -#define ICONDIRECTORY 262 -#define DEFAULTICON 263 -#define ICONS 264 -#define DEFAULTSYSMENU 265 -#define SYSMENU 266 -#define ROOTMENU 267 -#define SEPARATOR 268 -#define ATSTART 269 -#define ATEND 270 -#define EXEC 271 -#define ALWAYSONTOP 272 -#define DEBUG 273 -#define RELOAD 274 -#define TRAYICON 275 -#define SILENTEXIT 276 -#define STRING 277 +/* Pull parsers. */ +#define YYPULL 1 +/* Using locations. */ +#define YYLSP_NEEDED 0 /* Copy the first part of user declarations. */ + +/* Line 189 of yacc.c */ #line 1 "winprefsyacc.y" /* @@ -193,6 +147,9 @@ extern int yylex(void); +/* Line 189 of yacc.c */ +#line 152 "winprefsyacc.c" + /* Enabling traces. */ #ifndef YYDEBUG # define YYDEBUG 0 @@ -211,28 +168,86 @@ extern int yylex(void); # define YYTOKEN_TABLE 0 #endif + +/* Tokens. */ +#ifndef YYTOKENTYPE +# define YYTOKENTYPE + /* Put the tokens into the symbol table, so that GDB and other debuggers + know about them. */ + enum yytokentype { + NEWLINE = 258, + MENU = 259, + LB = 260, + RB = 261, + ICONDIRECTORY = 262, + DEFAULTICON = 263, + ICONS = 264, + DEFAULTSYSMENU = 265, + SYSMENU = 266, + ROOTMENU = 267, + SEPARATOR = 268, + ATSTART = 269, + ATEND = 270, + EXEC = 271, + ALWAYSONTOP = 272, + DEBUG = 273, + RELOAD = 274, + TRAYICON = 275, + SILENTEXIT = 276, + STRING = 277 + }; +#endif +/* Tokens. */ +#define NEWLINE 258 +#define MENU 259 +#define LB 260 +#define RB 261 +#define ICONDIRECTORY 262 +#define DEFAULTICON 263 +#define ICONS 264 +#define DEFAULTSYSMENU 265 +#define SYSMENU 266 +#define ROOTMENU 267 +#define SEPARATOR 268 +#define ATSTART 269 +#define ATEND 270 +#define EXEC 271 +#define ALWAYSONTOP 272 +#define DEBUG 273 +#define RELOAD 274 +#define TRAYICON 275 +#define SILENTEXIT 276 +#define STRING 277 + + + + #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef union YYSTYPE -#line 79 "winprefsyacc.y" { + +/* Line 214 of yacc.c */ +#line 79 "winprefsyacc.y" + char *sVal; int iVal; -} -/* Line 187 of yacc.c. */ -#line 223 "winprefsyacc.c" - YYSTYPE; + + + +/* Line 214 of yacc.c */ +#line 239 "winprefsyacc.c" +} YYSTYPE; +# define YYSTYPE_IS_TRIVIAL 1 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 -# define YYSTYPE_IS_TRIVIAL 1 #endif - /* Copy the second part of user declarations. */ -/* Line 216 of yacc.c. */ -#line 236 "winprefsyacc.c" +/* Line 264 of yacc.c */ +#line 251 "winprefsyacc.c" #ifdef short # undef short @@ -307,14 +322,14 @@ typedef short int yytype_int16; #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static int -YYID (int i) +YYID (int yyi) #else static int -YYID (i) - int i; +YYID (yyi) + int yyi; #endif { - return i; + return yyi; } #endif @@ -395,9 +410,9 @@ void free (void *); /* INFRINGES ON USER NAME SPACE */ /* A type that is properly aligned for any stack member. */ union yyalloc { - yytype_int16 yyss; - YYSTYPE yyvs; - }; + yytype_int16 yyss_alloc; + YYSTYPE yyvs_alloc; +}; /* The size of the maximum gap between one aligned stack and the next. */ # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) @@ -431,12 +446,12 @@ union yyalloc elements in the stack, and YYPTR gives the new location of the stack. Advance YYPTR to a properly aligned location for the next stack. */ -# define YYSTACK_RELOCATE(Stack) \ +# define YYSTACK_RELOCATE(Stack_alloc, Stack) \ do \ { \ YYSIZE_T yynewbytes; \ - YYCOPY (&yyptr->Stack, Stack, yysize); \ - Stack = &yyptr->Stack; \ + YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \ + Stack = &yyptr->Stack_alloc; \ yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ yyptr += yynewbytes / sizeof (*yyptr); \ } \ @@ -552,8 +567,8 @@ static const char *const yytname[] = "DEBUG", "RELOAD", "TRAYICON", "SILENTEXIT", "STRING", "$accept", "input", "line", "newline_or_nada", "command", "trayicon", "rootmenu", "defaultsysmenu", "defaulticon", "icondirectory", "menuline", "menulist", - "menu", "@1", "iconline", "iconlist", "icons", "@2", "atspot", - "sysmenuline", "sysmenulist", "sysmenu", "@3", "silentexit", "debug", 0 + "menu", "$@1", "iconline", "iconlist", "icons", "$@2", "atspot", + "sysmenuline", "sysmenulist", "sysmenu", "$@3", "silentexit", "debug", 0 }; #endif @@ -863,17 +878,20 @@ yy_symbol_print (yyoutput, yytype, yyvaluep) #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static void -yy_stack_print (yytype_int16 *bottom, yytype_int16 *top) +yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop) #else static void -yy_stack_print (bottom, top) - yytype_int16 *bottom; - yytype_int16 *top; +yy_stack_print (yybottom, yytop) + yytype_int16 *yybottom; + yytype_int16 *yytop; #endif { YYFPRINTF (stderr, "Stack now"); - for (; bottom <= top; ++bottom) - YYFPRINTF (stderr, " %d", *bottom); + for (; yybottom <= yytop; yybottom++) + { + int yybot = *yybottom; + YYFPRINTF (stderr, " %d", yybot); + } YYFPRINTF (stderr, "\n"); } @@ -907,11 +925,11 @@ yy_reduce_print (yyvsp, yyrule) /* The symbols being reduced. */ for (yyi = 0; yyi < yynrhs; yyi++) { - fprintf (stderr, " $%d = ", yyi + 1); + YYFPRINTF (stderr, " $%d = ", yyi + 1); yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi], &(yyvsp[(yyi + 1) - (yynrhs)]) ); - fprintf (stderr, "\n"); + YYFPRINTF (stderr, "\n"); } } @@ -1191,10 +1209,8 @@ yydestruct (yymsg, yytype, yyvaluep) break; } } - /* Prevent warnings from -Wmissing-prototypes. */ - #ifdef YYPARSE_PARAM #if defined __STDC__ || defined __cplusplus int yyparse (void *YYPARSE_PARAM); @@ -1210,11 +1226,10 @@ int yyparse (); #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. */ @@ -1222,9 +1237,9 @@ int yynerrs; -/*----------. -| yyparse. | -`----------*/ +/*-------------------------. +| yyparse or yypush_parse. | +`-------------------------*/ #ifdef YYPARSE_PARAM #if (defined __STDC__ || defined __C99__FUNC__ \ @@ -1248,66 +1263,68 @@ yyparse () #endif #endif { - - int yystate; - 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 - - /* Three stacks and their tools: - `yyss': related to states, - `yyvs': related to semantic values, - `yyls': related to locations. - Refer to the stacks thru separate pointers, to allow yyoverflow - to reallocate them elsewhere. */ - /* The state stack. */ - yytype_int16 yyssa[YYINITDEPTH]; - yytype_int16 *yyss = yyssa; - yytype_int16 *yyssp; + int yystate; + /* Number of tokens to shift before error messages enabled. */ + int yyerrstatus; - /* The semantic value stack. */ - YYSTYPE yyvsa[YYINITDEPTH]; - YYSTYPE *yyvs = yyvsa; - YYSTYPE *yyvsp; + /* The stacks and their tools: + `yyss': related to states. + `yyvs': related to semantic values. + Refer to the stacks thru separate pointers, to allow yyoverflow + to reallocate them elsewhere. */ + /* The state stack. */ + yytype_int16 yyssa[YYINITDEPTH]; + yytype_int16 *yyss; + yytype_int16 *yyssp; -#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) + /* The semantic value stack. */ + YYSTYPE yyvsa[YYINITDEPTH]; + YYSTYPE *yyvs; + YYSTYPE *yyvsp; - YYSIZE_T yystacksize = YYINITDEPTH; + YYSIZE_T yystacksize; + int yyn; + int yyresult; + /* Lookahead token as an internal (translated) token number. */ + int yytoken; /* The variables used to return semantic value and location from the action routines. */ YYSTYPE yyval; +#if YYERROR_VERBOSE + /* Buffer for error messages, and its allocated size. */ + char yymsgbuf[128]; + char *yymsg = yymsgbuf; + YYSIZE_T yymsg_alloc = sizeof yymsgbuf; +#endif + +#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) /* The number of symbols on the RHS of the reduced rule. Keep to zero when no symbol should be popped. */ int yylen = 0; + yytoken = 0; + yyss = yyssa; + yyvs = yyvsa; + yystacksize = YYINITDEPTH; + YYDPRINTF ((stderr, "Starting parse\n")); yystate = 0; yyerrstatus = 0; yynerrs = 0; - yychar = YYEMPTY; /* Cause a token to be read. */ + yychar = YYEMPTY; /* Cause a token to be read. */ /* Initialize stack pointers. Waste one element of value and location stack so that they stay on the same level as the state stack. The wasted elements are never initialized. */ - yyssp = yyss; yyvsp = yyvs; @@ -1337,7 +1354,6 @@ yyparse () YYSTYPE *yyvs1 = yyvs; yytype_int16 *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 @@ -1345,7 +1361,6 @@ yyparse () yyoverflow (YY_("memory exhausted"), &yyss1, yysize * sizeof (*yyssp), &yyvs1, yysize * sizeof (*yyvsp), - &yystacksize); yyss = yyss1; @@ -1368,9 +1383,8 @@ yyparse () (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); if (! yyptr) goto yyexhaustedlab; - YYSTACK_RELOCATE (yyss); - YYSTACK_RELOCATE (yyvs); - + YYSTACK_RELOCATE (yyss_alloc, yyss); + YYSTACK_RELOCATE (yyvs_alloc, yyvs); # undef YYSTACK_RELOCATE if (yyss1 != yyssa) YYSTACK_FREE (yyss1); @@ -1381,7 +1395,6 @@ yyparse () yyssp = yyss + yysize - 1; yyvsp = yyvs + yysize - 1; - YYDPRINTF ((stderr, "Stack size increased to %lu\n", (unsigned long int) yystacksize)); @@ -1391,6 +1404,9 @@ yyparse () YYDPRINTF ((stderr, "Entering state %d\n", yystate)); + if (yystate == YYFINAL) + YYACCEPT; + goto yybackup; /*-----------. @@ -1399,16 +1415,16 @@ yyparse () yybackup: /* Do appropriate processing given the current state. Read a - look-ahead token if we need one and don't already have one. */ + lookahead token if we need one and don't already have one. */ - /* First try to decide what to do without reference to look-ahead token. */ + /* First try to decide what to do without reference to lookahead 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 look-ahead symbol. */ + /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */ if (yychar == YYEMPTY) { YYDPRINTF ((stderr, "Reading a token: ")); @@ -1440,20 +1456,16 @@ yybackup: goto yyreduce; } - if (yyn == YYFINAL) - YYACCEPT; - /* Count tokens shifted since error; after three, turn off error status. */ if (yyerrstatus) yyerrstatus--; - /* Shift the look-ahead token. */ + /* Shift the lookahead token. */ YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); - /* Discard the shifted token unless it is eof. */ - if (yychar != YYEOF) - yychar = YYEMPTY; + /* Discard the shifted token. */ + yychar = YYEMPTY; yystate = yyn; *++yyvsp = yylval; @@ -1493,123 +1505,170 @@ yyreduce: switch (yyn) { case 18: + +/* Line 1455 of yacc.c */ #line 118 "winprefsyacc.y" { SetTrayIcon((yyvsp[(2) - (3)].sVal)); free((yyvsp[(2) - (3)].sVal)); } break; case 19: + +/* Line 1455 of yacc.c */ #line 121 "winprefsyacc.y" { SetRootMenu((yyvsp[(2) - (3)].sVal)); free((yyvsp[(2) - (3)].sVal)); } break; case 20: + +/* Line 1455 of yacc.c */ #line 124 "winprefsyacc.y" { SetDefaultSysMenu((yyvsp[(2) - (4)].sVal), (yyvsp[(3) - (4)].iVal)); free((yyvsp[(2) - (4)].sVal)); } break; case 21: + +/* Line 1455 of yacc.c */ #line 127 "winprefsyacc.y" { SetDefaultIcon((yyvsp[(2) - (3)].sVal)); free((yyvsp[(2) - (3)].sVal)); } break; case 22: + +/* Line 1455 of yacc.c */ #line 130 "winprefsyacc.y" { SetIconDirectory((yyvsp[(2) - (3)].sVal)); free((yyvsp[(2) - (3)].sVal)); } break; case 23: + +/* Line 1455 of yacc.c */ #line 133 "winprefsyacc.y" { AddMenuLine("-", CMD_SEPARATOR, ""); } break; case 24: + +/* Line 1455 of yacc.c */ #line 134 "winprefsyacc.y" { AddMenuLine((yyvsp[(1) - (4)].sVal), CMD_ALWAYSONTOP, ""); free((yyvsp[(1) - (4)].sVal)); } break; case 25: + +/* Line 1455 of yacc.c */ #line 135 "winprefsyacc.y" { AddMenuLine((yyvsp[(1) - (5)].sVal), CMD_EXEC, (yyvsp[(3) - (5)].sVal)); free((yyvsp[(1) - (5)].sVal)); free((yyvsp[(3) - (5)].sVal)); } break; case 26: + +/* Line 1455 of yacc.c */ #line 136 "winprefsyacc.y" { AddMenuLine((yyvsp[(1) - (5)].sVal), CMD_MENU, (yyvsp[(3) - (5)].sVal)); free((yyvsp[(1) - (5)].sVal)); free((yyvsp[(3) - (5)].sVal)); } break; case 27: + +/* Line 1455 of yacc.c */ #line 137 "winprefsyacc.y" { AddMenuLine((yyvsp[(1) - (4)].sVal), CMD_RELOAD, ""); free((yyvsp[(1) - (4)].sVal)); } break; case 30: + +/* Line 1455 of yacc.c */ #line 144 "winprefsyacc.y" { OpenMenu((yyvsp[(2) - (3)].sVal)); free((yyvsp[(2) - (3)].sVal)); } break; case 31: + +/* Line 1455 of yacc.c */ #line 144 "winprefsyacc.y" {CloseMenu();} break; case 32: + +/* Line 1455 of yacc.c */ #line 147 "winprefsyacc.y" { AddIconLine((yyvsp[(1) - (4)].sVal), (yyvsp[(2) - (4)].sVal)); free((yyvsp[(1) - (4)].sVal)); free((yyvsp[(2) - (4)].sVal)); } break; case 35: + +/* Line 1455 of yacc.c */ #line 154 "winprefsyacc.y" {OpenIcons();} break; case 36: + +/* Line 1455 of yacc.c */ #line 154 "winprefsyacc.y" {CloseIcons();} break; case 37: + +/* Line 1455 of yacc.c */ #line 157 "winprefsyacc.y" { (yyval.iVal)=AT_END; } break; case 38: + +/* Line 1455 of yacc.c */ #line 158 "winprefsyacc.y" { (yyval.iVal)=AT_START; } break; case 39: + +/* Line 1455 of yacc.c */ #line 159 "winprefsyacc.y" { (yyval.iVal)=AT_END; } break; case 40: + +/* Line 1455 of yacc.c */ #line 162 "winprefsyacc.y" { AddSysMenuLine((yyvsp[(1) - (5)].sVal), (yyvsp[(2) - (5)].sVal), (yyvsp[(3) - (5)].iVal)); free((yyvsp[(1) - (5)].sVal)); free((yyvsp[(2) - (5)].sVal)); } break; case 43: + +/* Line 1455 of yacc.c */ #line 169 "winprefsyacc.y" {OpenSysMenu();} break; case 44: + +/* Line 1455 of yacc.c */ #line 169 "winprefsyacc.y" {CloseSysMenu();} break; case 45: + +/* Line 1455 of yacc.c */ #line 172 "winprefsyacc.y" { pref.fSilentExit = TRUE; } break; case 46: + +/* Line 1455 of yacc.c */ #line 175 "winprefsyacc.y" { ErrorF("LoadPreferences: %s\n", (yyvsp[(2) - (3)].sVal)); free((yyvsp[(2) - (3)].sVal)); } break; -/* Line 1267 of yacc.c. */ -#line 1613 "winprefsyacc.c" + +/* Line 1455 of yacc.c */ +#line 1672 "winprefsyacc.c" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); @@ -1620,7 +1679,6 @@ yyreduce: *++yyvsp = yyval; - /* Now `shift' the result of the reduction. Determine what state that goes to, based on the state we popped back to and the rule number reduced by. */ @@ -1685,7 +1743,7 @@ yyerrlab: if (yyerrstatus == 3) { - /* If just tried and failed to reuse look-ahead token after an + /* If just tried and failed to reuse lookahead token after an error, discard it. */ if (yychar <= YYEOF) @@ -1702,7 +1760,7 @@ yyerrlab: } } - /* 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; @@ -1759,9 +1817,6 @@ yyerrlab1: YY_STACK_PRINT (yyss, yyssp); } - if (yyn == YYFINAL) - YYACCEPT; - *++yyvsp = yylval; @@ -1786,7 +1841,7 @@ yyabortlab: yyresult = 1; goto yyreturn; -#ifndef yyoverflow +#if !defined(yyoverflow) || YYERROR_VERBOSE /*-------------------------------------------------. | yyexhaustedlab -- memory exhaustion comes here. | `-------------------------------------------------*/ @@ -1797,7 +1852,7 @@ yyexhaustedlab: #endif yyreturn: - if (yychar != YYEOF && yychar != YYEMPTY) + if (yychar != YYEMPTY) yydestruct ("Cleanup: discarding lookahead", yytoken, &yylval); /* Do not reclaim the symbols of the rule which action triggered @@ -1823,6 +1878,8 @@ yyreturn: } + +/* Line 1675 of yacc.c */ #line 179 "winprefsyacc.y" /* diff --git a/xorg-server/hw/xwin/winprefsyacc.h b/xorg-server/hw/xwin/winprefsyacc.h index 60a879a4d..25f6e2ab5 100644 --- a/xorg-server/hw/xwin/winprefsyacc.h +++ b/xorg-server/hw/xwin/winprefsyacc.h @@ -1,24 +1,23 @@ -/* A Bison parser, made by GNU Bison 2.3. */ -/* Skeleton interface for Bison's Yacc-like parsers in C +/* A Bison parser, made by GNU Bison 2.4.1. */ - Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 +/* 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. - - This program is free software; you can redistribute it and/or modify + + 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 - the Free Software Foundation; either version 2, or (at your option) - any later version. - + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. - + 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. */ + along with this program. If not, see . */ /* As a special exception, you may create a larger work that contains part or all of the Bison parser skeleton and distribute that work @@ -29,10 +28,11 @@ 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. - + This special exception was added by the Free Software Foundation in version 2.2 of Bison. */ + /* Tokens. */ #ifndef YYTOKENTYPE # define YYTOKENTYPE @@ -88,18 +88,24 @@ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef union YYSTYPE -#line 79 "winprefsyacc.y" { + +/* Line 1676 of yacc.c */ +#line 79 "winprefsyacc.y" + char *sVal; int iVal; -} -/* Line 1489 of yacc.c. */ -#line 98 "winprefsyacc.h" - YYSTYPE; + + + +/* Line 1676 of yacc.c */ +#line 103 "winprefsyacc.h" +} YYSTYPE; +# define YYSTYPE_IS_TRIVIAL 1 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 -# define YYSTYPE_IS_TRIVIAL 1 #endif extern YYSTYPE yylval; + diff --git a/xorg-server/hw/xwin/winpushpxl.c b/xorg-server/hw/xwin/winpushpxl.c deleted file mode 100644 index 72ef2d559..000000000 --- a/xorg-server/hw/xwin/winpushpxl.c +++ /dev/null @@ -1,225 +0,0 @@ -/*********************************************************** - -Copyright 1987, 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. - - -Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. - - 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. - -******************************************************************/ -#ifdef HAVE_XWIN_CONFIG_H -#include -#endif -#include -#include "gcstruct.h" -#include "scrnintstr.h" -#include "pixmapstr.h" -#include "miscstruct.h" -#include "../mfb/maskbits.h" -#include "mi.h" - -#define NPT 128 - -/* winPushPixels -- squeegees the fill style of pGC through pBitMap - * into pDrawable. pBitMap is a stencil (dx by dy of it is used, it may - * be bigger) which is placed on the drawable at xOrg, yOrg. Where a 1 bit - * is set in the bitmap, the fill style is put onto the drawable using - * the GC's logical function. The drawable is not changed where the bitmap - * has a zero bit or outside the area covered by the stencil. - -WARNING: - this code works if the 1-bit deep pixmap format returned by GetSpans -is the same as the format defined by the mfb code (i.e. 32-bit padding -per scanline, scanline unit = 32 bits; later, this might mean -bitsizeof(int) padding and sacnline unit == bitsizeof(int).) - - */ - -/* - * in order to have both (MSB_FIRST and LSB_FIRST) versions of this - * in the server, we need to rename one of them - */ -void -winPushPixels (GCPtr pGC, PixmapPtr pBitMap, DrawablePtr pDrawable, - int dx, int dy, int xOrg, int yOrg) -{ - int h, dxDivPPW, ibEnd; - MiBits *pwLineStart; - register MiBits *pw, *pwEnd; - register MiBits msk; - register int ib, w; - register int ipt; /* index into above arrays */ - Bool fInBox; - DDXPointRec pt[NPT], ptThisLine; - int width[NPT]; - PixelType startmask; - - - startmask = (MiBits)(-1) ^ - LONG2CHARSDIFFORDER((MiBits)(-1) >> 1); - - pwLineStart = (MiBits *)xalloc(BitmapBytePad(dx)); - if (!pwLineStart) - return; - ipt = 0; - dxDivPPW = dx/PPW; - - for(h = 0, ptThisLine.x = 0, ptThisLine.y = 0; - h < dy; - h++, ptThisLine.y++) - { - - (*pBitMap->drawable.pScreen->GetSpans)((DrawablePtr)pBitMap, dx, - &ptThisLine, &dx, 1, (char *)pwLineStart); - - pw = pwLineStart; - /* Process all words which are fully in the pixmap */ - - fInBox = FALSE; - pwEnd = pwLineStart + dxDivPPW; - while(pw < pwEnd) - { - w = *pw; -#ifdef XFree86Server - msk = startmask; -#else - msk = (MiBits)(-1) ^ SCRRIGHT((MiBits)(-1), 1); -#endif - for(ib = 0; ib < PPW; ib++) - { - if(w & msk) - { - if(!fInBox) - { - pt[ipt].x = ((pw - pwLineStart) << PWSH) + ib + xOrg; - pt[ipt].y = h + yOrg; - /* start new box */ - fInBox = TRUE; - } - } - else - { - if(fInBox) - { - width[ipt] = ((pw - pwLineStart) << PWSH) + - ib + xOrg - pt[ipt].x; - if (++ipt >= NPT) - { - (*pGC->ops->FillSpans)(pDrawable, pGC, - NPT, pt, width, TRUE); - ipt = 0; - } - /* end box */ - fInBox = FALSE; - } - } -#ifdef XFree86Server - /* This is not quite right, but it'll do for now */ - msk = LONG2CHARSDIFFORDER(LONG2CHARSDIFFORDER(msk) >> 1); -#else - msk = SCRRIGHT(msk, 1); -#endif - } - pw++; - } - ibEnd = dx & PIM; - if(ibEnd) - { - /* Process final partial word on line */ - w = *pw; -#ifdef XFree86Server - msk = startmask; -#else - msk = (MiBits)(-1) ^ SCRRIGHT((MiBits)(-1), 1); -#endif - for(ib = 0; ib < ibEnd; ib++) - { - if(w & msk) - { - if(!fInBox) - { - /* start new box */ - pt[ipt].x = ((pw - pwLineStart) << PWSH) + ib + xOrg; - pt[ipt].y = h + yOrg; - fInBox = TRUE; - } - } - else - { - if(fInBox) - { - /* end box */ - width[ipt] = ((pw - pwLineStart) << PWSH) + - ib + xOrg - pt[ipt].x; - if (++ipt >= NPT) - { - (*pGC->ops->FillSpans)(pDrawable, - pGC, NPT, pt, width, TRUE); - ipt = 0; - } - fInBox = FALSE; - } - } -#ifdef XFree86Server - /* This is not quite right, but it'll do for now */ - msk = LONG2CHARSDIFFORDER(LONG2CHARSDIFFORDER(msk) >> 1); -#else - msk = SCRRIGHT(msk, 1); -#endif - } - } - /* If scanline ended with last bit set, end the box */ - if(fInBox) - { - width[ipt] = dx + xOrg - pt[ipt].x; - if (++ipt >= NPT) - { - (*pGC->ops->FillSpans)(pDrawable, pGC, NPT, pt, width, TRUE); - ipt = 0; - } - } - } - xfree(pwLineStart); - /* Flush any remaining spans */ - if (ipt) - { - (*pGC->ops->FillSpans)(pDrawable, pGC, ipt, pt, width, TRUE); - } -} diff --git a/xorg-server/hw/xwin/winscrinit.c b/xorg-server/hw/xwin/winscrinit.c index 9dc4c3da5..512109500 100644 --- a/xorg-server/hw/xwin/winscrinit.c +++ b/xorg-server/hw/xwin/winscrinit.c @@ -478,9 +478,7 @@ winFinishScreenInitFB (int index, WRAP(UnrealizeWindow); WRAP(PositionWindow); WRAP(ChangeWindowAttributes); -#ifdef SHAPE WRAP(SetShape); -#endif /* Assign rootless window procedures to be top level procedures */ pScreen->CreateWindow = winCreateWindowRootless; @@ -489,9 +487,7 @@ winFinishScreenInitFB (int index, /*pScreen->ChangeWindowAttributes = winChangeWindowAttributesRootless;*/ pScreen->RealizeWindow = winMapWindowRootless; pScreen->UnrealizeWindow = winUnmapWindowRootless; -#ifdef SHAPE pScreen->SetShape = winSetShapeRootless; -#endif /* Undefine the WRAP macro, as it is not needed elsewhere */ #undef WRAP @@ -523,9 +519,7 @@ winFinishScreenInitFB (int index, WRAP(ResizeWindow); WRAP(MoveWindow); WRAP(CopyWindow); -#ifdef SHAPE WRAP(SetShape); -#endif /* Assign multi-window window procedures to be top level procedures */ pScreen->CreateWindow = winCreateWindowMultiWindow; @@ -539,9 +533,7 @@ winFinishScreenInitFB (int index, pScreen->ResizeWindow = winResizeWindowMultiWindow; pScreen->MoveWindow = winMoveWindowMultiWindow; pScreen->CopyWindow = winCopyWindowMultiWindow; -#ifdef SHAPE pScreen->SetShape = winSetShapeMultiWindow; -#endif /* Undefine the WRAP macro, as it is not needed elsewhere */ #undef WRAP diff --git a/xorg-server/hw/xwin/winwin32rootlesswndproc.c b/xorg-server/hw/xwin/winwin32rootlesswndproc.c index 859aafd29..32db6621b 100644 --- a/xorg-server/hw/xwin/winwin32rootlesswndproc.c +++ b/xorg-server/hw/xwin/winwin32rootlesswndproc.c @@ -300,7 +300,9 @@ IsRaiseOnClick (WindowPtr pWin) struct _Window *pwin; struct _Property *prop; - WindowPtr pRoot = GetCurrentRootWindow (); + /* XXX We're getting inputInfo.poniter here, but this might be really wrong. + * Which pointer's current window do we want? */ + WindowPtr pRoot = GetCurrentRootWindow (inputInfo.pointer); if (!pWin) { @@ -353,7 +355,9 @@ IsMouseActive (WindowPtr pWin) struct _Window *pwin; struct _Property *prop; - WindowPtr pRoot = GetCurrentRootWindow (); + /* XXX We're getting inputInfo.poniter here, but this might be really wrong. + * Which pointer's current window do we want? */ + WindowPtr pRoot = GetCurrentRootWindow (inputInfo.pointer); if (!pWin) { diff --git a/xorg-server/hw/xwin/winwindow.c b/xorg-server/hw/xwin/winwindow.c index 1600996df..285a344f7 100644 --- a/xorg-server/hw/xwin/winwindow.c +++ b/xorg-server/hw/xwin/winwindow.c @@ -46,11 +46,9 @@ static void winUpdateRgnRootless (WindowPtr pWindow); -#ifdef SHAPE static void winReshapeRootless (WindowPtr pWin); -#endif #ifdef XWIN_NATIVEGDI @@ -447,9 +445,7 @@ winMapWindowRootless (WindowPtr pWin) fResult = (*pScreen->RealizeWindow)(pWin); WIN_WRAP(RealizeWindow, winMapWindowRootless); -#ifdef SHAPE winReshapeRootless (pWin); -#endif winUpdateRgnRootless (pWin); @@ -457,7 +453,6 @@ winMapWindowRootless (WindowPtr pWin) } -#ifdef SHAPE void winSetShapeRootless (WindowPtr pWin) { @@ -478,7 +473,6 @@ winSetShapeRootless (WindowPtr pWin) return; } -#endif /* @@ -569,7 +563,6 @@ winUpdateRgnRootless (WindowPtr pWin) } -#ifdef SHAPE static void winReshapeRootless (WindowPtr pWin) @@ -646,4 +639,3 @@ winReshapeRootless (WindowPtr pWin) return; } -#endif diff --git a/xorg-server/hw/xwin/winwindowswm.c b/xorg-server/hw/xwin/winwindowswm.c index e1994de84..28bcb64c8 100644 --- a/xorg-server/hw/xwin/winwindowswm.c +++ b/xorg-server/hw/xwin/winwindowswm.c @@ -49,8 +49,6 @@ static int WMErrorBase; static DISPATCH_PROC(ProcWindowsWMDispatch); static DISPATCH_PROC(SProcWindowsWMDispatch); -static void WindowsWMResetProc(ExtensionEntry* extEntry); - static unsigned char WMReqCode = 0; static int WMEventBase = 0; @@ -98,7 +96,7 @@ winWindowsWMExtensionInit () WindowsWMNumberErrors, ProcWindowsWMDispatch, SProcWindowsWMDispatch, - WindowsWMResetProc, + NULL, StandardMinorOpcode))) { WMReqCode = (unsigned char)extEntry->base; @@ -108,12 +106,6 @@ winWindowsWMExtensionInit () } } -/*ARGSUSED*/ -static void -WindowsWMResetProc (ExtensionEntry* extEntry) -{ -} - static int ProcWindowsWMQueryVersion(register ClientPtr client) { -- cgit v1.2.3